हादसों, धमाकों का 2,147,483,647 से नाता

बुधवार, 23 दिसंबर 2015 (14:40 IST)
- क्रिस बरन्यूक (बीबीसी अर्थ)
 
चार जून, 1996 यूरोपियन अंतरिक्ष एजेंसी के काले दिन के तौर पर याद किया जाता है। इस दिन मानव रहित एरियन 5 रॉकेट, चार महंगे सेटेलाइट को लेकर अंतरिक्ष की ओर रवाना हुआ था।
लेकिन केवल 39 सेकेंड के बाद ही रॉकेट में धमाका हुआ और वो आग के गोले में तब्दील हो गया। इस विस्फोट के कारण करीब 37 करोड़ डॉलर का नुकसान हुआ। ये नुकसान क्यों हुआ? न तो कोई मिकेनिकल नाकामी हुई थी, ना ही कोई साजिश हुई थी।
 
यह मिशन कंप्यूटर सॉफ्टवेयर के हिसाब ठीक से न कर पाने या ये कहें कि गणित गड़बड़ाने की वजह से हुआ। आम लोग तो कंप्यूटर को बहुत समर्थ मानते हैं। तो क्या ऐसा संभव है कि कंप्यूटर ही नंबरों का हिसाब न कर पाए?
 
एरियन का धमाका अकेला उदाहरण नहीं है जब ऐसा हुआ। 1991 में खाड़ी युद्ध के दौरान अमेरिकी सैनिकों की बैरक की ओर बढ़ रही इराकी स्कड मिसाइल को आसमान में ही ध्वस्त करने के मकसद से पेट्रियट मिसाइल सही समय पर दागी गई। लेकिन वो उसके 500 मीटर परे से ही निकल गई और 28 सैनिक मारे गए। कारण वही था- कंप्यूटर सॉफ्टवेयर में गणित की गड़बड़।
 
इसी तरह से वीडियो गेम सिविलाइजेशन में एक पात्र 'गांधी' अत्यंत आक्रामक बन गया और बात-बात पर लोगों को परमाणु अस्त्र से डराने लगा। वीडियो गेम के निर्माता भी हैरान थे क्योंकि उस पात्र का बर्ताव ऐसा तो नहीं रखा गया था। कारण फिर वही था - कंप्यूटर सॉफ्टवेयर में गणित की गड़बड़।
और, गंगनम स्टाइल याद है आपको? जी वही, यूट्यब के इतिहास में सबसे लोकप्रिय वीडियो का रिकॉर्ड तोड़ने वाला गंगनम स्टाइल, जिसने यूट्यब का 'व्यू कांउंटर' ही तोड़ दिया। इसका कारण भी वही था- गणित की गड़बड़।
 
यकीनन कई पाठक अब भी Y2K (वाईटूके) बग को तो नहीं भूले होंगे जब 1 जनवरी 2000 को कई वेबसाइटों ने तारीख दिखाई 1 जनवरी, 19100. कारण वही था- कंप्यूटर में गणित की गड़बड़ी।
 
वैज्ञानिकों ने पाया कि इस पूरी गड़बड़ में अहम नंबर था 2,147,483,647. लेकिन इसमें ऐसा क्या खास है?
 
कल्पना कीजिए यदि आपके स्पीडोमीटर को एक नंबर 1,05,350 मील दिखाना हो, जबकि उसकी मापना की अधिकतम क्षमता 99,999 हो, तो क्या होगा? या तो स्पीडोमीटर 00,000 दिखाएगा या फिर 5,350 दिखाएगा जो उसकी सीमा से शेष है।
 
1996 में एरियन 5 रॉकेट के साथ यही हुआ था। तकनीकी तौर पर कहें तो इसका कारण है नंबर ओवरफ्लो- यानी इतनी बड़ी संख्या कि वह कंप्यूटर सिस्टम में स्टोर ही नहीं कर पाता और उसका काम गड़बड़ा जाता है। इसे इंटीजर ओवरफ़्लो भी कहते हैं।
 
एरियन मामले की विस्तृत जांच में ये पता चला था कि एरियन 5 के सॉफ्‍टवेयर में मौजूद पुराने रॉकेट एरियन 4 के एक सिस्टम ने अचानक से एरियन 5 रॉकेट की गति को पढ़ना शुरू कर दिया। अब एरियन 5 तो एरियन 4 से कहीं ज्यादा तेज था और उस सॉफ्‍टवेयर सिस्टम में इस स्पीड को आंकने की क्षमता ही नहीं थी। इसी कारण से सॉफ़्टवेयर ने 'सेल्फ डेस्ट्रक्ट' यानी, 'खुद को खत्म करो' की एक कमांड को एक्टिवेट किया और कुछ ही पलों में रॉकेट इतिहास बन गया था। और यही वजह थी कि नासा ने डीप इंपैक्ट स्पेस प्रोब की जानकारियों को भी 2013 में गंवा दिया था।
 
अप्रैल के अंत में ही रिपोर्ट आई कि बोइंग 787 एयरक्राफ्ट भी ऐसे गणित की गड़बड़ से ग्रस्त हो सकता है। दरअसल जानकारी मिली है कि यदि इंजन को पावर सप्लाई करने वाले यूनिट को 248 दिनों तक लगातार चालू रखा जाए तो वो एक झटके में ही विमान के इंजन को बंद कर देता है।
 
इंजन के साथ ऐसा उड़ान के बीचोंबीच भी हो सकता है। कुछ विश्लेषकों ने बताया है अगर 248 दिनों को (सेकेंड के 100वें हिस्से) में गिना जाए तो जो संख्या सामने आती है वो वही 2,147,483, 647 है।
 
हालांकि इस मसले पर फेडरल एविएशन एडमिनिस्ट्रेशन और बोईंग ने कोई प्रतिक्रिया नहीं दी है। अब 2,147,483,647 वह अधिकतम संख्या है जो 32 बिट स्पेस में किसी कंप्यूटर में स्टोर हो सकती है।
ये बात ठीक है कि संख्याएं असीमित होती हैं लेकिन कंप्यूटरों में सीमित स्टोरेज क्षमता रखी जाती है, क्योंकि ज्यादा स्टोरेज क्षमता के लिए कंप्यूटर पर होने वाला खर्च बढ़ता जाता है। स्टोरेज क्षमता सीमित रहने पर कंप्यूटर सॉफ्टवेयर ज्यादा सहजता से काम करते हैं।
 
मिनिसोटा यूनिवर्सिटी के गणितज्ञ डगलस अर्नोल्ड ने 1991 के उस हादसे का जिक्र किया है जिसमें खाड़ी युद्ध के दौरान अमेरिकी सेना की मिसाइल अपने टारगेट स्कड मिसाइल से करीब 500 मीटर परे रहते हुए निकल गई। इसके चलते 28 सैनिकों की मौत हो गई थी और 98 लोग घायल हुए थे।
 
हुआ ये कि अमेरिकी सेना के मिसाइल डिफेस सिस्टम ने 'इंटीजर ओवरफ्लो' गड़बड़ के कारण 1.7 किलोमीटर प्रति सेकेंड की रफ़्तार से बढ़ रही स्कड मिसाइल के ट्रैक को सही तरीके से नहीं पहचाना। इस समस्या को वैज्ञानिक कंप्यूटर बग भी कहते हैं। चाहे हर परिस्थिति में ये खतरनाक नहीं होता, लेकिन उसके नतीजे अप्रत्याशित होते हैं।
 
उदाहरण के लिए वीडियो गेम सिविलाइजेशन में ऐसे एक बग के चलते शांति की राह पर चलने वाला चरित्र 'गांधी' अचानक से शत्रुता भरा व्यवहार करना लगता है। गंगनम स्टाइल के वीडियो ने यूट्यूब पर ऑल टाइम पापुलर रिकॉर्ड बनाया। इस वीडियो पर आने वालों की गिनती इतनी हुई कि वेबसाइट का व्यू काउंटर ही टूट गया।
 
वेबसाइट के व्यू काउंटर में अधिकतम संख्या एक बार फिर 2,147,483,647 थी। यूट्यूब के लिए तो ये बेहतरीन पब्लिक रिलेश्नस बन गया। हालांकि अब ये अधिकतम संख्या 9 क्विंटिलियन (9 पर 18 शून्य) कर दी गई है।
 
कारनेगी मैलन यूनिवर्सिटी के सॉफ्टवेयर एक्सपर्ट बिल शेरलिस बताते हैं, 'यूट्यूब सॉफ्टवेयर को जब पहली बार विकसित किया गया था तब किसी डिवेलपर और डिजाइनर ने शायद ही सोचा होगा कि ये संख्या ओवरफ्लो करने लगेगी।'
 
वैसे इतिहास में सबसे ज्यादा ओवरफ्लो बग की चर्चा तब हुई जब 1999 से 2000 में हम प्रवेश कर रहे थे और चारों और चर्चा थी मिलेनियम बग की। हालांकि यह बग उतना नुकसानदायक साबित नहीं हुआ जितनी चिंता जताई जा रही थी।
 
105 साल पर प्री स्कूल आमंत्रण : 
मिलेनियम बग आखिर था क्या? दरअसल 1900 और 2000 के आखिरी दो अंक समान हैं। यदि अखिरी दो अंकों से ही तिथि की पहचान हो रही हो तो कंप्यूटर सिस्टम में कंफ्यूजन की स्थिति पैदा हो जाती है। इसके कारण दुनिया भर के प्रोग्रामरों के लिए पहली जनवरी, 2000 से सिस्टम को अपडेट करने के लिए कई तरह की सलाहों की बाढ़ आ गई। लेकिन ऐसा कुछ नहीं हुआ। हालांकि कुछ असर जरूर हुआ था।
जापान में एक रेडिएशन डिटेक्शन इक्यूपमेंट पहली जनवरी, 2000 को मध्य रात्रि में क्रैश हो गया था। डेलावायर रेसिंग ट्रैक पर 150 स्लॉट मशीनों ने काम करना बंद दिया था। इसके अलावा कई वेबसाइटों में नया दिन एक जनवरी, 19100 पढ़ा जाने लगा।
 
बारह साल बाद, एक ऐसा ही मामला सामने आया। जब 105 साल की एक स्वीडिश महिला एना इरिक्सन को एक प्री स्कूल में नामांकन लेने के लिए आमंत्रण मिला। दरअसल आमंत्रण 2007 में जन्मे बच्चों को भेजा जा रहा था। एरिक्सन का जन्म 1907 में हुआ था।
 
इसी तरह से 2010 में नए साल के दिन लाखों जर्मन क्रेडिट और डेबिट कार्ड इस्तेमाल के लायक नहीं रहे क्योंकि उनकी पहचान ठीक से नहीं हो पा रही थी। 15 साल पहले कंप्यूटर प्रोग्रामर विलियम पोरकेट ने ऐसे ही एक महत्वपूर्ण दिन का ध्यान दिलाया था। 19 जनवरी, 2038 को ग्रीनिच मान समय के मुताबिक सुबह 3 बजकर 14 मिनट और 7 सेकेंड।
 
उनका अनुमान है कि एक जनवरी, 1970 के बाद से सेकेंड की संख्या कंप्यूटरों के अंदर स्टोर एक अहम अधिकतम संख्या को पार करेगी। ऊपर दिए गए उदाहरणों से स्पष्ट है कि फिर अप्रत्याशित ढंग से कई कंप्यूटर कई तरह की गड़बड़ियों के शिकार हो सकते हैं।
 
पोरकेट कहते हैं, '1999 में मैंने पहली बार ये लिखा था। मैंने 2038 डॉट ओआरजी डोमेन नाम पंजीकृत कराया। लेकिन तब लोगों ने इसे मजाक के तौर पर समझा और ज्यादातर लोगों ने कहा कि इसे 2037 में फिक्स करेंगें। लेकिन मैंने महसूस किया ये गंभीर समस्या हो सकती है।'
 
क्या पहली जनवरी, 2038 को दुनिया भर के कंप्यूटर क्रैश हो जाएंगे?
हालांकि आज काम आने वाले कंप्यूटर 23 साल बाद कितने काम में रहेंगे, इसको लेकर भी संदेह है। लेकिन पोरकेट कहते हैं, "काफी ज्यादा कंप्यूटर सिस्टम काम करते रहेंगे। बड़ी संख्या में कंप्यूटर काम करना बंद भी कर देंगे।'
 
वैसे कैंब्रिज यूनिवर्सिटी के कंप्यूटर वैज्ञानिक मार्कस कोहन कहते हैं कि समय से संबंधित बग में लोगों की दिलचस्पी इसलिए होती है कि उसके असर के बारे में कोई अनुमान नहीं लगाया जा सकता है।

वेबदुनिया पर पढ़ें