Y2K, a 2000. év bombája, avagy közeleg a világvége
Balogh Zsolt Szeged
Háttér A szoftverfejlesztés kezdete óta szokás különféle megoldásokat, "trükköket" használni az adatbevitel, a memóriaigény, a szükséges tárolókapacitás és a feldolgozási idő csökkentése érdekében. Hajdanában az évszám első két számjegyének tárolását hagyományosan pazarlásnak tekintették, hiszen az mindig "19" volt. Sajnos, ez a "hagyomány" megőrződött akkor is, amikor már bőségesen rendelkezésre állt memória, tárolókapacitás és alaposan megnőtt a feldolgozási sebesség. Sokszor felhasználták vagy továbbfejlesztették a már meglévő, két számjegyes évet kezelő kódot az újabb rendszerekben, és rengeteg régi, két számjegyes évet tartalmazó adatot vittek át az új rendszerekbe. Senki nem gondolta volna, hogy ezek a programok az ezredfordulóig működni fognak. Az, hogy mégis a mai napig üzemben állnak, egyfelől ugyan a hajdani programtervezőket dicséri, de jelzi azt is, hogy mennyire nehézkes és költséges dolog a lecserélésük modernebb technológiákra. Sajnálatosan a régi rossz szokások idáig elkísérnek bennünket.
A "2000. év" probléma kihatásai Mi történik, ha ezek az öröklött rendszerek 2000-ben és utána tovább működnek? A 2000. év "00"-ként tárolódik, amit viszont ezek a rendszerek 1900-nak értelmeznek. Ez jobb esetben a program teljes leállását, rosszabb esetben hibás működést fog eredményezni. A dátum félreértelmezése elsősorban a számításokat, az összehasonlításokat és a sorrendezéseket érinti, de mindenütt problémát okozhat, ahol csak a két számjegyes évszámok előfordulnak. Sokat olvashattunk arról, hogy milyen gondok várhatók az életkor, a lejárati és határidők, és egyáltalán, minden olyan érték kezelésénél, amelyet két dátumérték különbségeként kapunk. 2000-ben például egy 1960-ban született személyt 40 helyett –60 évesnek fog hinni a gép. Sokkal kevesebbet tudunk azonban megjósolni a kifinomultabb rendszerek – radarirányító, kommunikációs, vagy éppen műholdas rendszerek – működésével kapcsolatban. Külön nehezíti a problémát, hogy a 2000. év szökőév. Erre megint csak lehet, hogy nincsenek felkészülve a dátumkezelő rutinok, hiszen a "00"-ra végződő évek közül csak a 400-zal oszthatóak szökőévek. Azaz előfordulhat, hogy bár a dátumkezelő rutinok négy számjegyen tárolják a dátumokat, mégsincsenek felkészítve arra, hogy a 2000. évet szökőévnek tekintsék. A 2000. év a chipeket alkalmazó rendszereknél meghozhatja a világvégét. Leállhat a közüzemi ellátás, liftek, irodagépek mondhatnak csődöt a dátumváltáskor. Ekkor ugyanis minden olyan rendszer leállhat, melyben multiprocesszorok, chipek irányítják a vezérlést. Bajba kerülhet a víz, az energia és az áramszolgáltatás, de a lifteken is 5 évente kell biztonsági felülvizsgálatot végezni, s ha a dátummutatót négy helyett két számra állították (például 1998 helyett csak 98–ra és általában ez a gyakorlat), akkor a 00–ra ugrást a masina nem tudja értelmezni.
A kérdéskör vizsgálata Az informatikai szakmában közismert, hogy a számítógépek és programok — az ISO vonatkozó előírásait megszegve — a memóriatakarékosság miatt a szükséges 8 helyi érték helyett (DD-MM-YYYY) 6 helyi értéken (DD-MM-YY) tárolták a dátum adatokat. A valóságban a számítógépes alkalmazói program módosítása csak a „jéghegy csúcsa”, mert a teljes információrendszert kell újra integrálni és tesztelni. Miután az alkalmazások
2
megváltoztatása már megtörtént, az év adatot tartalmazó adatmezőket is konvertálni kell négy helyi értékesre. Ez sem könnyű feladat, különösen ha: • nincsenek adatdefiníciók; • az adatdefiníciók ellentmondásosak; • a „00”-t más speciális célra (pl. „header record” jelzésére) használják; • a 31/12/99 utáni dátumokat már két helyi értéken tárolták, és ezért újra interpretálandók. Végül pedig arra is kell gondolni, hogy a saját rendszerek megfelelő korrekciója nem mindig oldja meg a problémát, hisz ha az adatokat olyan együttműködő partnerektől kapjuk pl. Online kommunikációs kapcsolaton keresztül, amelyek még nem végezték el a módosításokat, a közös rendszer hibásan fog működni.
Ha előre gondolkoztunk volna Ez technikailag nem túl bonyolult feladat: hat byte-on is sok adat elfér, ha valamiért nem megoldható a négy számjegyű évszámok letárolása. Ha két számjegyen tároljuk az évszámokat, akkor száz évet különböztethetünk meg. Ezek közül az első nemcsak 1900 lehet, hanem bármi más, ami megfelel (ez a fix ablak módszere). Választhatjuk azt is, hogy a mai nap előtt 20 évet, utána 80-at különböztetünk meg (mozgó ablak). Ha ez nem elég, vagy nem megfelelő, akkor nem decimálisan kell tárolnunk az adatokat, csakhogy ekkor konvertálni kell, ami nagyobb terhelést jelent. Sok módszer áll rendelkezésre, például tárolhatjuk a hónapokat hexadecimálisan, ekkor felszabadul egy számjegy, amin lehet évszázadokat tárolni. Például 1600 lehet a logikai 0. év, ekkor 2599-ig tudjuk eltárolni az éveket. Hasonló tartományt tudunk átfogni, ha a hónapokat egyáltalán nem tároljuk, csak azt, hogy hányadik napja van az évnek - erre is elég három számjegy. A legszélesebb időtartományt engedélyező megoldás: 48 bites számként tároljuk a napok számát, ekkor csekély 770 milliárd évet tudunk megkülönböztetni. Ugye milyen sok megoldás létezik.
Legalább most gondoljuk át a problémát kétszer, hátha nem is kell csinálnunk semmit! A legutóbbi megoldást (a 48 bites nap számolást) a kevéssé ismert Data Integrity nevű cég szállította. Szerintük (és nemcsak szerintük) a probléma elsősorban ott jelentkezik, ahol a dátumokkal matematikai műveleteket hajtanak végre. Ezért itt lehet hatékonyan beavatkozni. Az ötlet az, hogy adjunk hozzá ötvenet, majd megint ötvenet. Ez rejtélyesen hangzik, de egyszerű. Például nézzük meg, hány éves egy 1902-ben született ember 2001-ben, de úgy, hogy csak két számjegyen tudunk számolni: például 01-bôl vonjunk ki 02-t, ez -1, adjunk hozzá 50-et, ez 49, még egyszer 50-et, ez már 99 - ami a jó eredmény. A legtöbb elemző szerint ez jó megoldás, amely akár egy nagyságrenddel is csökkentheti a szükséges munkát.
Következmények A „millenniumi bomba” egy egyszerű probléma katasztrofális következményekkel. Mivel a 2000. év beköszöntése az első olyan évszázadváltás, amelyre automatizált társadalomban kerül sor, a számítógépeket használó intézmények időzített bombán ülnek. A „millenniumi bomba” a valódiaktól eltérően nem okoz „látványos” katasztrófákat, „csupán” a számítógépes rendszerek működésének összeomlását (a rendszer nem indul, tranzakciók elutasítódnak, hibásan számított adatok, jobok nem kerülnek feldolgozásra stb.), a kulcsfontosságú üzleti 3
rendszerek működésének teljes csődjét (megrendelések és számlák nem kerülnek feldolgozásra, kamatok és más kifizetések hibás értékekkel stb.) s az intézmények működésének romba dőlését eredményezheti. Nem szükséges különösebben bizonyítani, hogy azok az intézmények, amelyek egy számítógépes katasztrófa miatt hosszabb ideig nem tudják működtetni legfontosabb üzleti alkalmazásaikat, és nincs a birtokukban megfelelő „helyreállítási” terv, lehúzhatják a rolót. A fejlett számítógépes kultúrával felfegyverzett országokban már ma sem ritka olyan alkalmazások működési zavara a 2000-es váltás miatt, amelyek hosszabb távra (pl. öt évre) előre terveznek (erre példa az Egyesült Államokban a Union Pacific vasúttársaság, amelynek néhány alkalmazásában már 1995-ben „felütötte fejét a kór”). A Gartner Group becslése szerint 1996-ban az alkalmazások 20%-a volt veszélyeztetett, de 1999-ig a hibák kiküszöbölésének elmaradása esetén ez a mutató elérheti a 90%-ot is.
Vészhelyzet A 2YK problémakör gazdasági vetületeit vizsgálja Edward Yardeni, a Deutsche Morgan Grenfell vezető közgazdásza és ügyvezető igazgatója, aki szerint nagyméretű hanyatlást okozhatnak a 2000. év számítógép-hibákból származó problémák, s nemcsak azért mert valószínűleg elmaradnak jelentős üzletkötések is, hanem azért is, mert a kormányszervek képtelenek lesznek a költségvetési stabilitáshoz nélkülözhetetlen alapszolgáltatások – mint például adóbegyűjtés, szociális kifizetések, légi irányítás – nyújtására. „A hanyatlás hasonló mértékű lehet, mint az 1973-74-es évek recessziója, amelyet elsősorban az olajellátásban keletkezett zavarok okoztak. A számítógépek által tárolt és kezelt információk ugyanis legalább annyira nélkülözhetetlenek a modern gazdaság működtetéséhez, mint az olaj. Ha az információkat a számítógépes rendszerek időleges használhatatlansága miatt nehéz lesz megszerezni, akkor a piac képtelen lesz megtalálni és hatékonyan használni a pénzforrásokat. Így a piac résztvevői arra kényszerülnek, hogy több időt és pénzt fordítsanak az olyan információk megszerzésére, amelyek korábban ingyen, vagy egészen kis költséggel elérhetők voltak.” A vezető közgazdász szerint a 2000-es hanyatlás következtében az USA a névleges GDP 1 billió dolláros csökkenésével számolhat, és ugyanennyi veszteség halmozódhat fel a tőzsdéken.
Hogyan látják a problémát a politikusok Az amerikai kormány becslései szerint majdnem négymilliárd dollárt kell áldozni az ezredvégi katasztrófa elkerülésére, illetve a hibás rendszerek kicserélésére. A probléma olyan jelentősnek tűnik, hogy Washingtonban egy infocentert és új honlapot hoztak létre, amely a probléma elhárításában adhat segítséget a kisvállalkozásoknak. Itt Európában a leghangosabban a brit kormány veri félre a harangot: Tony Blair miniszterelnök egy múlt heti szakmai konferencián világméretű fenyegetésnek nevezte az y2k-t és közölte, hogy egymillió-hatszázezer dollárról huszonhétmillió dollárra emelik a probléma elhárításáért kampányoló Action 2000 csoport támogatását. További száztizenkétmillió dollárt költenek egy olyan 20 ezer fős programozói gárda toborzására és kiképzésére, amelynek feladata lesz a káosz megelőzése. Blair utasítást adott, hogy Nagy-Britannia fontosabb közüzemei és szolgáltatói párhuzamos tartalékrendszereket építsenek ki. "Nem engedhetjük meg, hogy a gáz-, víz-, elektromos, vagy 4
közlekedési hálózat összeomoljon" – mondta a miniszterelnök, aki korábban már bírálta európai partnereit, amiért azok úgymond nem veszik elég komolyan a kérdést. Egyes elemzők szerint a közös európai valuta jövőre tervezett bevezetése és az ezredfordulón fenyegető "lefagyásveszély" együttvéve hatalmas terhet ró majd a számítógépes hálózatok üzemeltetőire. A szakma megkönnyebbüléssel fogadta Blair szavait, de sokan figyelmeztettek, hogy már csak nagyon kevés idő maradt a bajok elhárítására. Arra is felhívták a figyelmet, hogy a világ tovább szakadhat a gazdagok és szegények klubjaira. Azok a kelet-európai bankok, amelyek például nem rendelkeznek elég kapacitással az y2k elhárítására, könnyen elszigeteltségbe kerülhetnek, mert gazdagabb, nyugati partnereik "elzárkózhatnak" tőlük – figyelmeztetett egy banki elemző egy vitafórumon.
Milyen költségekkel kell számolnunk Nagyon változó értékek kerültek napvilágra, hogy mennyi lesz a végső számla az majd csak évek múlva fog kiderülni. A Gartner Group sokat idézett felmérése szerint a világnak 600 milliárd, míg csupán az Egyesült Államok kormányzatának 30 milliárd dollárjába fog kerülni a számítógépes rendszerek megfelelő átalakítása.
Előttünk a recesszió A változtatásokat bármik is legyenek azok el kell végezni, és le kell őket tesztelni, hogy működnek-e, ami meglehetősen erőforrás-igényes feladat – elegendő szakembert, időt és pénzt igényel. Ez év második felében ez annyi erőforrást fog lekötni, hogy a Deutsche Bank értékpapírokkal foglalkozó cégének elnöke, Edward Yardeni recessziót jósol az év második felére. Szerinte a Fortune 500-beli cégek összesen várhatóan mintegy 11 milliárd dollárt költenek az Y2K-ra, a privát szektor pedig durván 50 milliárdot. E hatalmas pénz a kifizetőknek gyakorlatilag kidobott pénz „csak” azt érik el vele, hogy tovább működhetnek. Ezek a kiadások az év második felében és 2000-ben várhatóan komoly recessziót okoznak majd. Ráadásul aki nem dobja ki ezt a pénzt, az azt veheti észre, hogy „kizárják” az üzleti életből. A nagy cégek kínosan fognak ügyelni arra, hogy 2000. január elsején a fő beszállítóik képesek legyenek szállítani (pl. a Mercedes 2 napos raktárkészlettel dolgozik!). És viszont: hiába készül fel egy cég, ha a legnagyobb vevője egyszerűen nem képes árút átvenni. Némi szerencse a szerencsétlenségbe, hogy az ominózus nap szombaton lesz.
Kit fog érinteni a probléma? A „Negroponte-skálán” a cégeket két csoportba osztják. Az egyik típus az ipari forradalom klasszikusa, amely acéllal, olajjal vagy hasonlóval foglalkozik, a másik pedig a modern, adatokkal foglalkozó cég. Az utóbbi esetben nyilvánvaló, ismert a probléma. Az első típusról viszont úgy gondolhatnánk, hogy immunis a 2000. év röviden a Y2K problémájára. Csakhogy ezek a cégek rengeteg beágyazott chipet használnak. Egyes becslések szerint mintegy 40 milliárd beágyazott chip működik világszerte, míg John Koskinen, Clinton elnök tanácsadó csoportjának elnöke szerint „mindössze” 5 milliárd. E chipek alig néhány (2-5) százaléka
5
fogja felmondani a szolgálatot – de ez az óvatosabb becslés szerint is százmillió chipet jelent! Azon kórházi berendezéseknek, amelyeket chip vezérel, mindössze két százaléka nem fog működni – de ez azt jelenti, hogy ötven gépre kapcsolt páciensből egynek problémái lehetnek. A beágyazott rendszereket másutt is használják – például katonai megfigyelő rendszerekben. Ez William Cohen, az USA védelmi minisztere szerint komoly határfeszültségekhez vezethet. Cohen ezért segítséget ajánlott orosz kollégájának a korai figyelmeztető rendszerek felkészítésében. Ki gondolta volna, hogy egykor, hogy az amerikaiak segítik az oroszokat, hogy azok megfigyelhessék őket? Ez még mindig jobb, mint a lehetséges legrosszabb forgatókönyv, amit eddig legfeljebb egy rossz hidegháborús regényben olvashattunk: az orosz képernyők elsötétülnek, a tábornokok amerikai szabotázsra gyanakodnak, és … Nem kell tartanunk a az atomhasadás másik alkalmazásától, az atomerőművektől sem, mert a biztonságért közvetlenül nem IC-k felelnek. Hogy adnak-e majd áramot ezek az erőművek, az már más kérdés. De hogy földönjáróbb példát nézzünk egy modernebb lift vezérlőrendszere eltárolja, hogy mikor volt karbantartva. Ha például nem előjelesen számol, akkor könnyen arra az eredményre juthat az ominózus napon, hogy közel száz éve nem volt karbantartás, és megállítja a liftet. Egy beléptetőrendszer megtagadhatja a belépést az irodaházba… Ilyen rendszereket használnak olajfinomítók, futószalagok és sok minden más vezérlésére is. Több légitársaság bejelentette már előre, hogy 2000-ben 10-14 napig egyáltalán nem fog indítani repülőjáratot (mekkora káosz lesz a közlekedésben). És egy pár hazai példa: ez egyik budapesti kórházban (pontosan nem emlékszem, hogy melyikben) a vérelemző gépről derült ki, hogy „megtagadja” a munkát január elsején. Így a vérelemzés a vezető főorvos szerint a 70-es évek elejéhez fog hasonlítani (mert persze nincs pénz újra és nincs még idáig ember, aki vállalja a javítását), ami a sürgősségi osztályon eléggé kellemetlen. Ennél lényegesen kisebb baj, hogy számtalan „okosabb” nyugati autós fogja visszasírni régen kidobott Trabantját, mert a szuper autója vagy nem fog elindulni vagy egyből szervizbe fogja kényszeríteni. És gondoljunk csak bele, hogy otthon a lakásba mire is számíthatunk: jelentkezhet hiba komolyabb mosógépben, videomagnóban, videokamerában, karórában, üzenetrögzítőben, TVben, … és persze otthoni kis kedvenc számítógépünkben.
Mit tegyünk otthon a számítógépünkkel Mit tehet vajon az egyéni felhasználó ebben a helyzetben? Először is nem kell pánikba esnie, mert ha csak szövegszerkesztésre, vagy játékra használja gépét, akkor édes mindegy, hogy a komputer szerint 1900-ban, vagy 2000-ben ír levelet, vagy lövi halomra a Quake II-ben rá leselkedő szörnyeket. Ráadásul nagy esélye van arra is, hogy gépe már Y2K-biztos. A nagyobb cégek 1998 ősze óta csak ilyen gépeket árulnak, és általában garanciát ígérnek arra, hogy ha mégis előfordul hiba, akkor azért vállalják a felelősséget. A Compaq például közzétette 2000-biztos gépeinek listáját honlapjain. Ha a felhasználó nem bízik a gyártók szép szavaiban (és miért bízzon?), akkor tesztelheti saját gépét, az internetről pár perc alatt ingyenesen letölthető programok sokaságával. Az tesztprogramunk először azt vizsgálja meg, hogy a számítógép belső órája kompatíbilis-e az MC146818 chippel. Ezt követően teszteli, hogy valós időben lép-e át a gép órája 1999-ből 2000-be, majd azt is megnézi, hogy mit lép a gép, amikor az új évezred szökőéveivel kerül szembe.
6
Én is hatalmas megkönnyebbüléssel fogadtam, hogy gépem gond nélkül lép majd át az új évezredbe. Persze akadémikus kérdésről van szó: hiszen mire lesz jó egy kiszolgált P133-s egy év múlva? ;-)
Mi lesz a számítástechnikai cégekkel? Az előbb említett recesszió egyfajta furcsa bosszúként a számítástechnikai ipar legnagyobb részét különösen keményen fogja sújtani. Gondoljunk csak bele: a legtöbb cég informatikai költségvetésében az Y2K-val kapcsolatos készülődés hatalmas tételt jelent, az újabb informatikai beszerzéseket tehát visszafogják. Nyilván a cserére szoruló rendszerek helyett vesznek újakat, de ez nem ellensúlyozza ezt a jelenséget. A másik ok, amiért nem állítanak fel majd új rendszereket '99 második felében, a bizonytalansági tényező. Mindenki elismeri, hogy valószínűleg megfeledkezik valami apróságról, és lesznek problémái 2000. január elsején. A fő cél az, hogy ne álljon le a cég. Ha erre számítunk, akkor nyilván nem fogunk beépíteni a rendszerbe egy újabb bizonytalansági tényezőt jelentő új rendszerkomponenst. Ráadásul csak remélhetjük, hogy tényleg csak recesszió lesz. Másféle, sokkal baljóslatúbb hangok is hallatszanak. Kommunikációs problémákról kell beszélnünk, méghozzá a sajtóról. Roppant nagy a felelőségük, különösen a még nagyobb közönséghez elérő napisajtónak és televíziónak. Az amerikai CIO magazin nemrégiben "lement az utcára", és megkérdezte az amerikai polgárokat a problémáról. 38%-uk még csak nem is tudta, hogy miről van szó. Közel 50% szerint a szakemberek megoldják még a válság előtt. Az ijesztő az, hogy egy másik kérdésre a megkérdezettek 52%-a azt válaszolta, hogy ha a probléma mégsem oldódna meg, akkor egyszerűen elmozdítják a megtakarításaikat. A válaszadók mintegy negyede azt nyilatkozta, hogy pénzét elteszi a matracba, amíg lezajlik a vihar. Gary J. Beach, a CIO kiadója szerint - egyet kell értsünk vele - ennek következményeihez képest a '29-es világválság semmiség. A már többször emlegetett konferencián viszont elhangzott, hogy az amerikai szövetségi jegybank komolyan számol azzal, hogy '99 második felében az emberek lerohanják a bankokat, és komoly készpénztartalékokat különített el erre. Az Állami Pénz- és Tőkepiac Felügyelet illetékese elmondta, hogy a magyar bankok készen fognak állni a 2000. évre, de arra nem igazán tudott válaszolni, mi lesz, ha az emberek itthon is lerohanják a bankokat. Mi itt és most kimondjuk, és nagyon reméljük, hogy hivatalosabb helyeken is még sokszor el fogják mondani: lesznek problémák, de nem lesz katasztrófa, és teljesen felesleges megrohanni a bankokat. A média azonban könnyen hisztériába kergetheti a tömegeket. Mindenesetre fogadjuk meg Robert Bennettnek, az USA szenátusában a 2000. év problémájának megoldására létrehozott speciális bizottság elnökének tanácsait: "nem kell kiköltözni a hegyekbe, de a fontos információkat írjuk fel papírra, és némi készletet tegyünk el a pincébe, mert lehet, hogy a szupermarket nem nyit ki néhány napig." A Meryll Lynch befektetési óriásbank még ennél is optimistább. Idézzünk nemrégiben megjelent 450 oldalas jelentésükből, amit a problémáról készítettek, miután 3000 céget meginterjúvoltak világszerte: "A legtöbb cég már két és fél éve dolgozik az Y2K projektjén, és van még hátra egy év. A Microsoft, Latin-Amerika és a kommunizmus ennél sokkal rövidebb idő alatt radikálisan megváltozott."
7
Mi lesz az első akadályok után? Amikor elmúlt a 2000. év első hajnala, akkor még nem leszünk túl mindenen. Ekkor derül majd ki, hogy mi nem működik. Igazi kapkodás kezdődik, ami köztudomásúan igen-igen drága. És elkezdődnek majd a precedens nélküli, rendkívül bonyolult perek. Ki lesz a felelős a keletkezett károkért? A vállalatok felső vezetőitől az informatikai menedzsereken át a szoftver-beszállítókig sokan fogják az idejüket a bíróságokon tölteni. A biztosítótársaságok már most elhatárolják magukat mindenféle Y2K által okozott kár teljesítése alól. Mivel az időzített bombánk egyre-egyre gyorsabban közeleg a ezredfordulóhoz így rövidesen megtudhatjuk, hogy a sok ezer fős szakember gárdának, hogyan sikerül helytállania. Talán ez az idő az, amikor az emberiség először tud felkészülni a saját maga állított csapdára. Most lesz rá igazán szükség, hogy összefogjanak a szakemberek nemzetiségtől függetlenül, hisz be kell látnunk, hogy aki azt mondja, hogy ez a probléma őt nem érinti az vak.
8
Felhasznált források: • • • • • •
Chip számítógép magazin Új Dunántúli Napló Computer Technika VGA-monitor Internet TV, rádió
9