Наступление 2000 года обошлось без глобальных потрясений, но опасность еще не миновала. Полученные уроки должны помочь нам подготовиться к аналогичным ситуациям в будущем.
Как прошел Новый год? В беззаботном праздновании наступления нового тысячелетия или на рабочем месте за компьютером в ожидании надвигающейся катастрофы? Как бы то ни было, мы можем вздохнуть с облегчением — жизнь продолжается. Однако все же необходимо разобраться — деньги и время были потрачены впустую или же катастрофы удалось избежать благодаря предпринятым усилиям?
По оценкам министерства торговли США, корпоративная Америка потратила свыше 100 млрд долларов на тестирование и решение Y2K, тогда как Россия — менее 10 млн долларов. И при этом Россия не столкнулась с какими-либо серьезными проблемами. Отчасти это связано с тем, что в России гораздо меньше компьютеров, но все же это не объясняет такую диспропорцию. Так были ли миллиарды долларов потрачены напрасно?
Нет, отвечает Джерри Бреди из Internet Security Systems (ISS), один из многих профессионалов в области ИТ, встретивших Новый год за своим рабочим столом. «Это аналогично утверждению о том, что деньги на страховку автомобиля потрачены напрасно, если вам не пришлось ею воспользоваться!» Бреди говорит, что полученные в результате долгосрочные преимущества оправдывают затраты. «Я уверен, что деньги были потрачены не зря».
Да, верно, некоторые проблемы — и даже аварии — после наступления нового года имели место: кубинские авиалинии в течение недели потеряли два самолета, а крушение поезда в Скандинавии было вызвано, как полагают, отказом сотового телефона. Японцы даже сообщили о небольших неполадках на атомной электростанции, хотя реальной угрозы безопасности при этом не возникало. Однако компьютерные инциденты случаются каждый день, и ни одно из перечисленных происшествий не было отнесено на счет пресловутой проблемы Y2K.
Наиболее серьезным проявлением проблемы Y2K в Соединенных Штатах стала потеря связи со спутником-шпионом, тем не менее военным удалось восстановить ее через пять часов. В Лас-Вегасе неисправные игровые автоматы вынудили игроков отказаться от игры. Телефонные пользователи по всей стране страдали от постоянных сигналов «занято», да и то только потому, что сети оказались перегружены, когда множество людей бросились проверять свои линии.
Возможно, наиболее заметным проявлением проблемы Y2K стал дефицит бутилированной питьевой воды, вызванный ажиотажным спросом.
А что же компьютерная отрасль? СМИ сообщали только об одном инциденте в Великобритании, где во время рождественских распродаж покупатели не смогли воспользоваться своими кредитными картами для покупок. Это вряд ли тянет на апокалипсис, тем не менее Racal Computer и Hong Kong & Changhai Banking, производителю и оператору неисправных считывающих терминалов, до сих пор приходится оправдываться.
«Мы связываем эту ошибку не со сменой тысячелетия, а со сменой столетия», — говорится в официальном пресс-релизе Racal. Это оправдание содержит тем не менее зерно истины: словосочетание «ошибка тысячелетия» в принципе неверно (и дело здесь вовсе не в том, что в действительности новое тысячелетие наступает только в 2001 г.). Суть в том, что двузначное представление года создало бы проблемы при смене любого столетия. Само название ошибки немало способствовало раздуванию вокруг нее шумихи в СМИ, возвеличивая ее как событие, случающееся раз в тысячу лет.
ЧТО В «ЧЕРНОМ ЯЩИКЕ»?
Так каковы же последствия Y2K? При отсутствии серьезных проблем в компьютерной области основными результатами оказались, по-видимому, социальные и экономические, а не технологические. Потрачены миллиарды долларов, тысячи профессионалов по ИТ были вынуждены работать во время праздников. Другие проекты, такие, как переход Европы на единую валюту (см. врезку «Прекрасный старый мир»), отошли на второй план или были заморожены. Переход американского фондового рынка на десятичную систему планировался на 1999 г., но был отложен до лета 2000 г., дабы не усугублять проблему Y2K.
Однако не все так плохо. Как выразился один (анонимный) респондент проводимого журналом Network Magazine интерактивного опроса, в результате «у нас появилось новое, лучшее, мощное аппаратное обеспечение».
В июньском опросе Data Communications за 1998 г. приводились аналогичные мнения. Архитекторы сети часто использовали выделенные на Y2K бюджеты как повод для перехода на новейшие технологии, вне зависимости от наличия проблем в имеющихся системах.
Получаемые преимущества не ограничивались приобретением новых дорогостоящих игрушек для юных компьютерных дарований. Как считает Митчелл Джоэлсон, ведущий инженер в консалтинговой компании, даже одно тестирование на готовность к смене дат дало значительный положительный «побочный эффект». «Оно позволило объединить различные части организации, — объясняет он. — Различные, плохо взаимодействующие друг с другом отделы были вынуждены работать вместе. Кроме того, некоторые компании наконец-то собрались составить план восстановления деятельности после аварий».
Важнее же всего то, что организации наконец-то стали заглядывать внутрь «черных ящиков», на которые они ранее не обращали внимания, слабо понимая или вообще не представляя, как они работают.
«Люди не знали, что делают их системы, — говорит Джоэлсон. — Большинство компаний оказалось в итоге с лучше документированными и понимаемыми системами».
Бизнес-процессы также подверглись тщательному анализу. При проверке готовности своих поставщиков и заказчиков к встрече тысячелетия компаниям пришлось тщательно исследовать всю цепочку поставок, и в результате они получили подробные схемы проведения операций.
ИГРА В ДАТЫ
Вопрос о том, стоят ли такие преимущества 100 млрд потраченных долларов, будет, наверно, обсуждаться еще очень долго. По крайней мере, полученные уроки должны дать полезный опыт на будущее, тем более что подобные проблемы на Y2K не кончаются (см. врезку «Компьютерный календарь»).
Наиболее опасная из потенциальных проблем касается представления времени в UNIX и известна, как Y2.038K. Она затронет и компьютеры под управлением других ОС, потому что данная схема отсчета времени также принята в таких популярных языках программирования, как C и C++.
В UNIX время хранится в виде 32-разрядного целого числа со знаком, т. е. в виде 31-разрядного двоичного числа плюс один бит для знака «плюс» или «минус». Отсчет ведется от 1970 г., и с каждым тиканьем часов время увеличивается на секунду.
Отсчет начнется сначала, когда количество секунд станет равным 2147 483 647, т. е. достигнет наибольшего числа, представляемого с помощью 32-разрядной целой переменной со знаком. Обнуление произойдет 19 января 2038 г. в 7 часов 46 мин. 40 с по Гринвичскому времени или, возможно, несколькими секундами ранее, так как иногда к году прибавляется несколько дополнительных секунд для учета замедления вращения Земли.
Многие профессионалы в области ИТ предпочитают игнорировать эту и другие проблемы обнуления: они наступят нескоро, так что ж голову ломать? «Евангелисты» Y2K указывают на то, что именно такое отношение привело к «ошибке столетия». Кроме того, они утверждают, что сейчас самое подходящее время заняться и другими связанными с представлением дат вопросами.
Пока их призыв находит слабый отклик. Как говорит Кейперс Джонс, председатель консалтингового агентства Software Productivity Research: «Если отношение к проблеме с UNIX будет таким же, как в свое время к Y2K, то о ней начнут задумываться не раньше 2033 г., а основные приготовления начнутся не раньше 2036 г.».
Часы UNIX и C/C++ представляют более насущную угрозу. Они будут показывать время 999 999 999 в сентябре 2001 г. Это может вызвать переполнение некоторых баз данных, если время хранится в них в десятичном виде и под него выделено только 9 разрядов. Кроме того, некоторые высказывают опасения, что строка девяток может быть ошибочно интерпретирована как конец файла, но скептики указывают на то, что те же самые опасения высказывались относительно даты 9 сентября 1999 г., но тогда никаких серьезных проблем не возникло.
Помимо UNIX другая связанная с датами проблема вызвана различиями в записи дня, месяца и года в разных странах. Например, принятая по умолчанию в DOS дата 4 января 1980 г. в американской системе отображается как 01/04/80, между тем как европейцы указывают вначале день, поэтому она интерпретируется ими как 1 апреля 1980 г.
Это разночтение уже сказывается на экспортируемых США версиях многих программных пакетов, где выполняются вычисления с датами. Например, Microsoft Excel можно настроить на использование как американского, так и европейского формата дат, указав его в качестве формата по умолчанию в параметрах Windows. Однако справочные файлы и другая документация ориентированы на американских пользователей, поэтому приводимые там примеры не применимы в Европе.
До сих пор неоднозначность касалась только дней и месяцев, потому что со времени изобретения компьютера все года в двухзначном представлении находились вне диапазона от 1 до 31. Однако с наступлением 2001 г. неоднозначность утроится. Если дата конца двадцатого столетия может означать только два различных момента времени, то дата 01/02/03 может означать любой из шести.
Единственное решение состоит в принятии общего логичного стандарта. На самом деле, ISO даже определило формат «год-месяц-день», но лишь немногие организации внедрили этот стандарт.
Переполнение и обнуление не ограничиваются датами. Некоторые финансовые организации вынуждены были произвести модернизацию, дабы избавиться от своих опасений краха фондовой биржи при превышении индексом Доу-Джонса величины 9999 пунктов. Вместе с тем американское правительство считает, что имеющуюся девятиразрядную систему нумерации страховых полисов не понадобится менять на протяжении еще по крайней мере 50 лет.
Потребность в дополнительных разрядах наиболее насущна в области телекоммуникаций: выдача IP-адресов жестко ограничена, а 10-разрядные телефонные номера в Соединенных Штатах должны закончиться через 20 лет. Многие европейские страны уже вынуждены проводить перенумерацию вследствие роста популярности мобильных телефонов и пейджеров. В одном Лондоне количество разрядов в телефонном номере увеличивалось трижды за последние двадцать лет, причем каждое из изменений суммарно обходилось компаниям и потребителям в миллиарды долларов.
ТРЮК 2000
До наступления 2000 г. юристы предупреждали об ответственности поставщиков несовместимых систем за прогнозируемые катастрофы. Когда ничего не случилось, некоторые стали говорить о судебном преследовании дававших тревожные прогнозы консультантов. Однако самые неприятные тяжбы — со стороны американских держателей патентов — ожидают тех, кто исправил ошибку.
Патенты касаются двух популярных исправлений: метода икапсуляции и метода окон. Первое известно также как «правило 28 лет», потому что оно использует повторяемость календаря с 28-летним циклом, по крайней мере, в период с 1901 по 2099 гг. Поэтому если система не совместима с Y2K, то, приняв, что сейчас 1972 г., вы получаете отсрочку в 28 лет. Такой подход не работает, когда необходимо производить вычисления с датами, но он вполне годится в качестве чрезвычайной меры для поддержания работоспособности системы до окончательного решения проблемы.
Подход с определением окна еще более примитивен — он применяется практически во всех пользовательских интерфейсах и состоит в задании 100-летнего интервала для двухзначных представлений лет. Например, двухзначные даты, вводимые в Excel 97, охватывают период с 1930 по 2029 гг. включительно. Граница окна называется «поворотной датой» и выбирается в зависимости от контекста (например, даты рождения сотрудников находятся всегда в прошлом, а даты их ухода на пенсию — в будущем).
Картотеки персонала хранятся на компьютерах с тех самых пор, как они появились, так что отделам кадров давно приходится иметь дело с датами ухода на пенсию, относящимися к XXI веку, и в картотеках окна применяются еще с 60-х гг. Тем не менее Соединенные Штаты выдали в 1998 г. патенты на оба этих метода, в результате их «изобретатели» получили законное право на лицензионные отчисления за их использование.
Брюс Диккенс, держатель патента на метод окон, создал компанию Dickens2000 для сбора лицензионных отчислений. Он собирается получить сумму в размере 50 тыс. долларов с каждой компании, где используется его метод, плюс еще около 1 тыс. долларов за каждый последующий месяц. Однако, по жалобе Американской ассоциации информационных технологий (Information Technology Association of America, ITAA), его патент пересматривается и может быть отменен.
ЖИЗНЬ ЖУКОВ
Y2K — не единственная проблема, с которой, согласно прогнозам, мы должны были столкнуться с наступлением нового года. С приближением конца 1999 г. все больше организаций заявляли о решении проблемы Y2K, и все больше появлялось предостережений, что тысячи хакеров выбрали смену тысячелетия как дату активизации своей выпущенной на волю армии вирусов, в ответ на обращение президента США Билла Клинтона с просьбой не делать этого.
Прислушались ли хакеры к его предостережениям или же угроза нашествия вирусов оказалась преувеличена? Эксперты в области защиты расходятся во мнениях на этот счет. Computer Associates опубликовала семь предупреждений о вирусах в последние 48 часов 1999 г., чем вызвала обвинения своего конкурента Sophos «в нагнетании истерии вокруг Y2K».
Бреди из ISS полагает, что угроза была реальной, но не со стороны вирусов. «Где-то в сентябре 1999 г. появилось множество новых инструментов хакинга», — объясняет он. Это привело к росту страхов в связи с возможностью атаки в тот момент, когда компьютеры будут наиболее уязвимы. «Однако, возможно, угрозы были отведены за счет принятых дополнительных мер безопасности», — говорит Бреди.
Настоящий удар был нанесен полтора месяца спустя и вывел из строя шесть ведущих узлов Web в тот момент, когда их администраторы только собрались расслабиться по поводу счастливого преодоления рубежа Y2K.
Скептики указывают на то, что баги, хакеры и вирусы относятся к многочисленной категории так и не реализовавшихся прогнозов о том, что нас ждет в следующем тысячелетии. В дни, предшествующие Новому году, астрологи кочевали с одного телевизионного канала на другой. Они облекали свои фантазии в псевдонаучные разговоры о перигелии и солнечных бурях, заявляя, что вспышки на солнце приведут к падению спутников связи. Стоит ли говорить, что ничего подобного не случилось.
Как считает исследователь и публицист Аарон Линч, настоящий жучок Y2K — в человеческих умах. Компьютеры вполне в состоянии справиться с приходом нового тысячелетия, а вот люди — нет. Некоторые из нас все еще ждут конца света, в результате сбоя компьютеров или других причин. Как в случае пресловутого предостережения о вирусе Good Times, верящие в конец света рассылают по всем известным им адресам сообщения с предостережениями. В результате вирус все же распространяется, но не через компьютеры, а в человеческих головах.
Так чему же нас научил проект Y2K? Мы так никогда и не узнаем, какие меры были в действительности достаточными, но мы получили весьма ценный урок. «Отрасль наконец-то научилась тому, как планировать крупные проекты и укладываться в сроки, — говорит Бреди. — Полученные же в результате преимущества достаточно сложно оценить количественно». Когда настанет черед Y2.038K или другой аналогичной ошибки, мы будем к ним готовы. Кроме того, мы будем готовы и к рекламной шумихе.
Энди Дорнан — помощник редактора Network Magazine. С ним можно связаться по адресу: andy@dornan.co.uk.
Прекрасный старый мир
Подготовка к Y2K отодвинула на второй план множество других проектов, но все же одному она так и не сумела воспрепятствовать, а именно переходу Европейского Сообщества на единую валюту. Известная как «евро» — первоначально «экю» (сокращение от European Currency Unit, ECU, т. е. «европейская денежная единица»), но это название вызвало возражение со стороны немцев, так как, по их мнению, оно звучало чересчур «по-французски» — она была принята в 11 из 15 входящих в ЕС стран. Полный же переход на новую валюту в этих странах должен завершиться в ближайшие два года.
Многие рыцари Y2K предостерегали, что попытка ввести евро в канун нового тысячелетия может привести к чрезмерному распылению усилий, особенно при отладке, и обвиняли политиков в наивности и невежестве. «Момент перехода на евро выбран как нельзя некстати, и решение об этом является одним из худших политических решений в истории человечества», — писал Кейперс Джонс, председатель консалтингового агентства Software Productivity Research, в 1998 г. Он предупреждал, что европейские страны не смогут одновременно достичь двух целей и что в результате их экономика серьезно пострадает от этого.
Как и всему остальному миру, Европе удалось избежать значительных потрясений в связи с Y2K, но эффект перехода на евро пока не вполне ясен. Наиболее очевидной мерой было включение символа евро в шрифты — символ с номером 128 в стандартом коде ASCII, но в некоторых случаях даже этого не было сделано.
Джоунс предсказывал, что многие финансовые приложения не смогут выполнять долгосрочных вычислений с требуемой точностью, пока они не будут полностью адаптированы для евро, а этот процесс мог начаться не раньше наступления Y2K. Расчеты журнала Economist, доказывавшие, что переход на евро приведет к созданию сильной валюты и станет провозвестником экономического бума, оказались ошибочны, и европейская экономика отстает от темпов развития Соединенных Штатов, но возлагать вину за это на компьютерных программистов, занятых проблемой Y2K, было бы слишком наивно. Большинство экономических прогнозов не оправдывается, какое бы мощное программное обеспечение для этого ни использовалось.
В конечном итоге евро должна значительно упростить жизнь: вместо 12 отдельных валют людям придется иметь дело только с одной. Однако, в отличие от Y2K, переход на евро — не одномоментное событие.
Половина из трехлетнего переходного периода, в течение которого евро будет сосуществовать параллельно с национальными валютами, уже прошла. По его завершении евро должна поглотить еще ряд европейских валют. Прежде всего, это затронет некоторые восточно-европейские страны, где евро или доллар уже используются, правда, неофициально, в качестве второй валюты. Однако к их числу относятся и такие важные финансовые центры, как Великобритания и Швейцария.
Официальный график:
- 1 января 1999 г.: евро вводится в обращение в рамках компьютерных систем;
- 1 января 2002 г.: ввод в обращение евробанкнот и евромонет;
- 1 июля 2002 г.: завершение обращения отдельных европейских валют.
Предположительные сроки:
- 2003—2005 гг.: принятие евро Великобританией, Швецией и Норвегией;
- 2003—2008 гг.: вхождение восточно-европейских стран в ЕС и принятие ими евро;
- 2006—2010 гг.: вхождение в ЕС стран, образовавшихся после распада СССР, и принятие ими евро.
Ресурсы Internet
Наиболее трезвомыслящий и уважаемый гуру по проблеме Y2K, Питер де Джагер, имеет свою страницу Web, где опубликованы многочисленные статьи, как его собственные, так и других авторов, на данную тему. Имя домена выставлено на аукцион на eBay, но пока все зашкаливающие ставки на поверку оказались липовыми, поэтому узел по-прежнему находится на http://www.year2000.com.
Гэри Норт давал весьма мрачные прогнозы относительно Y2K, он называл ее «величайшей проблемой, с которой когда-либо сталкивался мир» и предсказывал поголовный отказ компьютеров в полночь. Однако его сервер содержит также подробный архив сообщений СМИ относительно зафиксированных инцидентов. Архив можно найти на http://www.garynorth.com.
«Для юристов Y2K слаще сигарет из асбеста», — говорит Питер де Джагер. Адвокатская контора Bricker & Eckler создала узел, где публикуется информация о ходе и результатах связанных с Y2K разбирательств в американском суде. См. http://www.bricker.com/y2k/y2k.htm.
Со всеми европейскими и американскими патентами, в том числе относящимися к Y2K, можно бесплатно ознакомиться на узле IBM. «Метод окна» получил патент США за 5 806 063 долларов, а «правило 28 лет» — 5 852 824 долларов. По иронии судьбы, IBM стала первой использовать метод окна, но, видимо, она сочла его не заслуживающим патента. См. http://www.patents.ibm.com.
Опасаетесь вирусов? Эксперт в области компьютерных мифов Роб Розенбергер в подробностях объясняет, как и почему компании, политики, пресса и даже ФБР поддались рекламной шумихе вокруг вирусов Y2K. См. http://www.kumite.com/myths.
Исследователь Аарон Линч выдвигает собственную теорию о том, что ошибка Y2K — и синдром смены тысячелетия вообще — заразный род сумасшествия, на http://www.thoughtcontagion.com/tmc.htm.
Компьютерный календарь
Ничего не случилось? Не обольщайтесь: угроза Y2K или аналогичных ошибок еще не миновала. Ниже мы приводим некоторые из наиболее вероятных дат, когда возможны проблемы.
10 октября 2000 г. Первая восьмизначная дата с использованием четырехзначного представления года (2000/10/10).
28 октября 2000 г. Возможный ошибочный переход на стандартное время в соответствии с календарем 1900 г.
31 декабря 2000 г. 366-й день, 54 неделя, чего не было в 1900 г.
1 января 2001 г. Первая дата, когда двузначное представление года можно спутать с днем или месяцем (01/01/01).
9 сентября 2001 г. Функция времени в UNIX достигнет значения 999999999.
1 января 2030 г. «Поворотная дата» для Microsoft Office 97 и Windows 98.
1 января 2036 г. Дата обнуления времени для Network Time Protocol (NTP).
19 января 2038 г. Дата обнуления времени для функции времени UNIX, также используемой C и C++.
6 февраля 2040 г. Дата обнуления времени для часов Apple Macintosh.
1 марта 2100 г. Может быть неверно интерпретировано как 29 февраля.
31 декабря 9999 г. Y10K. Начать готовиться никогда не рано!