Проблема 2000 года

В прошедшем году одной из "горячих" тем компьютерной, да и не только компьютерной, прессы была "Проблема 2000" (П2000), которая, несомненно, была и остается одной из наиболее серьезных проблем вычислительных систем.

Подтверждением этому могут служить сообщения о многочисленных ошибках в работе различных систем, которые произошли в первые дни 2000 года. Вот некоторые из них:

Европа. В Великобритании отказали более 20000 устройств для платежей по кредитным карточкам; в первые дни 2000 года пострадали компьютерные сети British Telecom. Почтовые служащие во Франкфурте 3 января 2000 г. не смогли воспользоваться своими карточками на обслуживание в кафетерии, банк Кельна подвел баланс с ошибками. Второй по величине банк Дании пострадал от неприятностей в информационной и управляющей системе Unitel.

Азия. На Тайване произошли отказы в регистрации пациентов в больницах и отмечены проблемы у аппаратуры мониторинга кровяного давления. В Малайзии пострадало спутниковое телевидение в штате Пенанг, и оборудование для дефибрилляции и мониторинга деятельности сердца в некоторых медицинских центрах. Правительство Японии и энергетические компании этой страны подтвердили, что на японских атомных станциях в первые часы нового 2000 года возникли, как минимум, 3 потенциально опасных ситуации. Министерство почт и телекоммуникаций Японии сообщило о том, что в масштабах всей страны после наступления Нового года возникло в общей сложности 4 проблемы из-за перемены дат.

Ближний Восток. В Израиле небольшие происшествия наблюдались в Министерстве обороны, некоторых правительственных организация, коммерческих компаниях и нескольких банках.

США. Федеральное жилищное управление сообщило, что 3 января возникли проблемы в 3-х компьютерных системах. Комиссия по ядерной регламентации (Nuclear Regulatory Commission) сообщила о том, что на 5 атомных станциях возникли сбои. Эти неполадки касались только вспомогательных систем, не повлияли на производство электроэнергии, и были быстро ликвидированы. В Пентагоне в результате зависания компьютеров "ослепли" 5 американских спутников-шпионов, регулярно фотографирующих "горячие точки" планеты, в т.ч. в инфракрасном диапазоне (ночью), а также получающих изображения с помощью радаров. Только к вечеру 2 января система вернулась к нормальному режиму работы.

Африка. 1 января в Гамбии из-за ошибок, связанных с Проблемой 2000 на некоторое время прекратилось электроснабжение.

По сообщениям представителей Министерства РФ по связи и информатике, центров компетенции по Проблеме 2000 года и различных российских компаний и организаций, в России каких либо серьезных проблем, связанных с Проблемой 2000 года, не наблюдалось, число обращений в специальные центры по поддержке пользователей, организованные ведущими российскими и зарубежными компаниями, в новогоднюю ночь было не больше двадцати.

Отсутствие серьезных последствий Проблемы 2000 в мире объясняется не "раздутостью" самой проблемы, а тем, что практически во всех странах была проведена серьезная подготовительная работа по устранению возможных последствий "Проблемы 2000". Так, например, в США на борьбу с ошибкой 2000 года было потрачено около 8 млрд. долл., в России на эти цели планировалось выделить около 3,25 млрд. руб. (на самом деле было выделено несколько меньше). Для помощи в решении задач, связанных с П2000, были организованы специальные центры компетенции, в числе которых были и компании-партнеры Microsoft, имеющие статус Microsoft Certified Solution Provider.

Несмотря на то, что 2000 год уже наступил, проблема 2000 года по-прежнему остается актуальной. Дело в том, что в информационных системах влияние "Проблемы 2000" будет не одномоментным (т.е. ошибки обнаружатся 1 января или 29 февраля), а кумулятивным, т.е. ошибки, связанные с неправильной обработкой дат будут накапливаться и проявят себя, например, только к концу года.

Давайте вспомним, что же такое "Проблема 2000", чем она вызывается и как с ней можно бороться.

Что такое "Проблема 2000 года"?

Само название "проблема 2000 года", "Проблема 2000" (Year 2000 Problem, Y2K), "ошибка тысячелетия" (millennium bug) и другие. недостаточно полно отражают суть вопроса, хотя большая часть ошибок программного обеспечения, характерных для проблемы 2000 года, действительно начала проявляться в 2000 году. Наиболее адекватным определением "Проблемы 2000" является следующее:

под "проблемой 2000 года" понимается комплекс проблем аппаратного и программного обеспечения, связанных с неправильной обработкой и интерпретацией дат.

Итак, проблема 2000 года включает в себя целый комплекс проблем, связанных с хранением и обработкой дат в вычислительных системах. Основными причинами возникновения ошибок при обработке дат являются следующие:

·         хранение и обработка двузначных дат

·         неверное определение високосного года

·         использование специальных значении дат

Попробуйте ответить на вопрос: "Какому году соответствует дата 01/01/01?". Правильным ответом будет: …, 1901, 2001, 2101-й и т. д. Мы привыкли использовать двузначные даты и при этом практически никогда не ошибаются, восстанавливая оставшиеся две цифры года, исходя из контекста, в котором употребляется та или иная дата.

В приложениях с двузначным представлением дат предполагается, что все даты относятся исключительно к текущему столетию. Поэтому в таких приложениях дата 01/01/01 интерпретируется как 01/01/1901, даже если пользователь трактует ее как 01/01/2001. Очевидно, что при выполнении операций над датами, относящимися к следующему столетию, в таких приложениях возникают ошибки. Например, 2000 - 1999 = 1, а 00 - 99 = -99 (или 99, если отрицательные числа в приложении считаются недопустимыми).

Следующей проблемой является неверное определение високосного года. Алгоритм определения високосного года предельно прост (год является високосным, если он делится на четыре без остатка), но имеет два исключительных случая (если год делится на 100, то год не является високосным, если же он делится на 400, то год високосный). К сожалению, в некоторых вычислительных системах 2000 год не распознается как високосный, а следовательно, дата 29 февраля 2000 года является недопустимой. Неверное определение високосного года может быть вызвано как ошибочной (неполной) реализацией приведенного алгоритма, так и использованием двузначных дат (в последнем случае проверить делимость года на 400 просто не представляется возможным).

Многие устаревшие приложения используют в полях дат специальные значения (чаще всего это 9/9/99 или 10/10/00), указывающие на то, что данные требуют специальной обработки. Например, специальное значение даты может означать, что данные следует "хранить вечно" или что их необходимо автоматически удалить через определенный срок. Такой подход применялся с целью повышения эффективности выполнения приложений, а также для экономии памяти. При этом предполагалось, что данные, не требующие специальной обработки, никогда не будут иметь в поле даты специальное значение. В результате, компании могут столкнуться с тем, что приложения, использующие специальные значения дат, могут вызвать ошибки при обработке информации.

Истоки проблемы

По своей сути проблема 2000 года не нова. Примерно такая же проблема существовала в конце 60-х годов, когда многие приложения в целях экономии памяти использовали для хранения даты только одну цифру года (тогда проблема была решена довольно легко, поскольку применялось не так много приложений, к тому же они являлись, скорее, вспомогательными инструментами, чем основными).

В настоящее время такая забота о минимизации используемой памяти может показаться неоправданной. Однако на заре развития вычислительных систем оперативная память и устройства хранения данных были очень дорогостоящими, и использование двузначного формата и специальных значений для дат считалось вполне приемлемым решением. Никто не предполагал, что приложения и алгоритмы, созданные в 70-х, будут использоваться через 30 лет. В результате неверный расчет жизненного цикла программного обеспечения привел к возникновению столь острой проблемы.

Эту проблему, заложенную еще в начале 70-х годов, можно было начать решать уже давно. Для этого были созданы все предпосылки, поскольку стоимость устройств хранения информации быстро падала, а приложения претерпевали неизбежную модификацию (с целью переноса на более современные платформы, устранения найденных ошибок и т.п.). Однако большая часть изменений, вносимых в унаследованные системы, оставалась косметической. Этому есть две причины:

·         во-первых, все больше возрастала роль вычислительных систем в производственном процессе (а это означает, что они должны были модифицироваться как можно реже);

·         во-вторых, работал распространенный среди ряда программистов принцип: "Если это работает, то лучше не трогай".

Безусловно, изложенные выше причины возникновения проблемы 2000 года не являются единственными, ведь даже некоторые современные приложения некорректно оперируют датами, относящимися к 2000 и последующим годам. В большинстве случаев это вызвано ошибками, внесенными на этапе разработки приложения. Высокая сложность современных приложений не позволяет в краткие сроки провести полномасштабное тестирование, которое бы могло выявить все ошибки. Поэтому некоторые скрытые ошибки выявляются уже на этапе эксплуатации приложения.

Наконец, последней причиной проблемы 2000 года, о которой следует упомянуть, является то, что пользователи привыкли работать с двузначными датами. Они более естественны, их быстрее вводить и т.д. В принципе разрешить ввод двузначных сокращений для дат несложно, нужно только определить, каким образом приложение будет преобразовывать их в четырехзначные (то есть как приложение будет определять, к какому веку относится та или иная двузначная дата). Однако поскольку критерии, которыми руководствуются разные приложения, могут отличаться друг от друга, этот метод может стать источником ошибок при обмене данными между приложениями.

Опасность недооценки проблемы 2000 года

Следует обратить внимание на некоторые опасные заблуждения, которым зачастую подвержены некоторые специалисты в области информационных технологий:

·         Современные приложения не содержат ошибок, связанных с обработкой дат.

·         Уязвимыми являются только старые приложения, написанные на языке COBOL, а также мэйнфреймы.

·         Проблема 2000 года ко мне не относится.

·         Проблема 2000 года проста для понимания, значит, решить ее тоже просто.

Проблема 2000 года затрагивает все вычислительные системы без исключения. Безусловно, мэйнфреймы и устаревшие приложения являются наиболее уязвимыми, но это не означает, что современные рабочие станции, операционные системы и приложения свободны от ошибок, связанных с обработкой дат. Вот лишь несколько доводов в пользу этого утверждения:

·         Приложения, операционные системы, аппаратные средства и другие компоненты вычислительной системы создаются людьми, а значит, в них потенциально могут присутствовать ошибки.

·         Тестирование не может дать стопроцентной гарантии отсутствия ошибок.

·         При разработке приложений все еще находят свое применение устаревшие стандарты на типы данных и операции для дат.

·         Процесс обработки данных в организации редко бывает автономным, данные, поступающие из других организаций, могут стать причиной возникновения ошибок.

Что касается сложности решения проблемы 2000 года, необходимо принимать во внимание следующее:

·         Во-первых, в настоящее время бесперебойная работа вычислительных систем является важнейшим моментом в деятельности многих организаций. Недопустимой считается не только остановка, но и кратковременная пауза в работе вычислительной системы, поскольку это может привести к огромным убыткам. Поэтому решение проблемы 2000 года в таких организациях требует использования специальных, а иногда даже и уникальных подходов.

·         Во-вторых, современные вычислительные системы состоят из множества компонентов, которые должны работать в тесной взаимосвязи, поэтому только на полное тестирование может уйти несколько месяцев, а ведь в случае выявления ошибок их нужно еще и исправить.

Проблема 2000 года и ПК

Уязвимые компоненты

В настоящее время большинство организаций используют ПК в качестве основной платформы для бизнес-приложений. В той же степени, в которой проблема 2000 года относится к различным программно-аппаратным платформам, эта проблема относится и к различным компонентам конкретной вычислительной платформы. Поскольку все эти компоненты работают в тесной взаимосвязи, для решения проблемы 2000 года требуется прежде всего корректная работа каждого компонента в отдельности, а уже потом их правильное взаимодействие. В противном случае слой, являющийся источником ошибок, может свести на нет все затраты на тестирование и исправление ошибок вычислительной системы.

Для платформы ПК выделяют 6 основных компонент, чувствительных к проблеме 2000 года:

·         Аппаратное обеспечение (BIOS). Большинство версий BIOS, выпущенных до 1995 года, использует двузначное представление дат и, следовательно, неправильно обрабатывает даты, относящиеся к 2000 и последующим годам.

·         Операционная система. Операционные системы чаще всего используют собственные часы для отсчета времени, предоставляя приложениям системные библиотеки и службы для доступа к информации о дате и времени.

·         Системные библиотеки. Практически все функции по обработке дат и времени в системных библиотеках хорошо проверены и стандартизованы, однако это не означает, что ошибки на этом слое полностью исключены.

·         Приложения. В коммерческих приложениях источником проблемы 2000 года могут быть как ошибки, заложенные в приложение на этапе разработки, так и вызванные неправильной работой остальных слоев вычислительной платформы.

·         Модули, создаваемые и подключаемые пользователем. Практически все современные приложения имеют возможность подключения надстроек и дополнительных компонентов, разрабатываемых организацией для собственных нужд. Пользовательские модули представляют наибольший риск с точки зрения проблемы 2000 года, поскольку в них для хранения и обработки дат зачастую используются неправильные типы данных и алгоритмы.

·         Интерфейсы обмена данными. Вычислительная система практически никогда не является изолированной – обмен данными между приложениями, получение информации из унаследованных систем, а также от клиентов или партнеров является неотъемлемой частью процесса обработки информации. Поэтому неправильно отформатированная или просто неверная информация, полученная извне, может оказаться одним из самых серьезных источников ошибок.

Далее более подробно анализируются причины возникновения проблемы 2000 года для перечисленных выше компонентов. Этот анализ поможет выработать программу действий, призванных свести к минимуму возможные последствия проблемы 2000 года.

Ошибки BIOS

В системах резервного копирования данных, автоматической рассылки корреспонденции, планирования собраний и т.п. особенно важна правильная работа системных часов. В персональных компьютерах для отсчета системного времени используется три вида часов:

·         Часы CMOS. Часы CMOS питаются от аккумулятора и обеспечивают отсчет времени при отключенном питании компьютера.

·         Часы BIOS. Эти часы используются для отслеживания времени в процессе работы компьютера. В момент включения компьютера часы BIOS получают текущие показания часов CMOS.

·         Часы операционной системы. Операционная система обычно использует собственные часы, которые инициализируются показаниями часов BIOS. Именно эти часы используются приложениями для определения текущего времени и даты.

Одной из самых распространенных проблем часов CMOS является то, что они неправильно обрабатывают смену столетия при включенном компьютере. Однако это не является серьезной проблемой, поскольку операционная система не использует показания часов CMOS. Хуже, если часы CMOS некорректно обрабатывают смену столетия при выключенном компьютере. Исправление такой ошибки возлагается на BIOS. Средства, позволяющие правильно интерпретировать показания часов CMOS, реализованы в современных версиях BIOS ведущих производителей (Award, AMIBIOS, Phoenix и др.).

Помимо того что в BIOS могут отсутствовать средства, исправляющие показания часов CMOS, практически все версии BIOS, выпущенные до 1995 года (это относится также к BIOS сомнительных производителей, выпускаемых в настоящее время), являются потенциальным источником проблемы 2000 года. В частности, такие реализации BIOS неправильно обрабатывают смену столетия при включенном компьютере, устанавливая текущую дату на 1900 год вместо 2000-го. В этом случае при загрузке операционные системы Microsoft устанавливают текущую дату на 1980 год, поскольку считают текущее значение часов BIOS ошибочным.

В последних версиях операционных систем Microsoft содержатся средства, позволяющие скорректировать ошибку BIOS, связанную со сбросом текущей даты на 1900 год, однако эти средства могут оказаться бездейственными, если BIOS содержит дополнительные ошибки (например, сбрасывает текущую дату на 1900 год при каждой перезагрузке компьютера).

Системные библиотеки

Практически все современные приложения в своей работе используют системные библиотеки – без их использования создание полнофункционального приложения в разумные сроки было бы невозможным. Кроме того, системные библиотеки упрощают задачу переноса приложений на другие платформы и обеспечивают унифицированный, стандартизованный интерфейс между приложениями.

Казалось бы, на уровне библиотечных функций не должно возникать ошибок, поскольку эти функции уже хорошо проверены и стандартизованы. Однако библиотеки являются воплощением не всегда совершенных стандартов.

Так, например, тип данных time_t, а также функции, предназначенные для обработки времени и дат, закрепленные стандартом ANSI, правильно работают для дат в диапазоне от 1 января 1970 года до 18 января 2038 года. Более того, поскольку класс CTime из библиотеки Microsoft Foundation Classes (MFC) также использует в качестве внутреннего представления даты и времени тип данных time_t, проблемы с обработкой дат могут возникнуть и в приложениях, использующих MFC.

Конечно, до 2038 года еще далеко. Однако, как уже упоминалось, в 70-х годах разработчики вносили в свои приложения потенциальные ошибки, руководствуясь тем же самым принципом.

Пользовательские модули

Поскольку бизнес-процессы плохо поддаются унификации, возможностей стандартных приложений часто оказывается недостаточно. Многие организации адаптируют стандартные приложения (например, входящие в Microsoft Office), подключая дополнительные программные модули, которые реализуют новые функциональные возможности. Примерами пользовательских модулей являются:

·         модули VBA в приложениях Microsoft Office

·         приложения, созданные при помощи Visual Basic, FoxPro, C++, J++ и т.п.

·         различные надстройки к приложениям.

Пользовательские модули могут разрабатываться как самой организацией, так и путем привлечения сторонних разработчиков программного обеспечения. Пользовательские модули безусловно являются самыми распространенными источниками ошибок, в том числе связанными с обработкой дат. Это вызвано следующими причинами:

·         Использование собственных процедур обработки дат. Во многих пользовательских модулях вместо стандартизованных функций применяются собственные алгоритмы для обработки дат.

·         Хранение дат в текстовых строках. Наиболее распространенной ошибкой непрофессиональных разработчиков приложений является использование неверных типов данных.

·         Использование библиотек, вызывающих ошибки при обработке дат. Помимо уже рассмотренных системных библиотек в пользовательских модулях нередко используются вызовы нестандартных библиотек.

·         Неполное тестирование. При создании пользовательских модулей вопросам тестирования не уделяется должного внимания.

Устранение возможных ошибок в пользовательских модулях значительно осложняется, если принять во внимание, что:

·         сотрудники, занимавшиеся разработкой, могут уже не работать в организации

·         исходный код зачастую плохо документирован или безвозвратно утерян

·         пользовательские модули столь же тесно вплетены в процесс обработки данных, как и коммерческие приложения.

Сопряжение ПК с другими платформами

Зачастую ПК является не единственной используемой платформой. Даже если платформа ПК считается в организации основной, практически невозможно оградить ее от данных, поступающих извне (из других организаций, от вовлеченных в процесс обработки информации приложений, которые работают на других платформах и т.п.). Данные, получаемые из внешних источников, являются потенциальным источником ошибок. Ошибки, возникающие на данном уровне, устранить чрезвычайно сложно, поскольку для определения источника возникновения ошибки необходимо исследовать всю информационную инфраструктуру организации: все этапы обработки информации, интерфейсы между приложениями, корректность данных, поступающих от клиентов и партнеров, и т.д.

Проблема 2000 года и технологии Microsoft

Приложения и операционные системы корпорации Microsoft используются в информационных системах во многих организациях, очень часто в организациях на основе технологий Microsoft разрабатываются критически важные приложения и системы. Поэтому компании, использующие продукты Microsoft в своей работе, особенно нуждаются в информации о готовности этих продуктов к 2000 году.

Позиция корпорации Microsoft

Корпорация Microsoft уже давно придерживается политики разработки приложений и операционных систем, рассчитанных на работу с четырехзначными датами. Это не означает, что продукты Microsoft не содержат ошибок, связанных с обработкой дат, но в основном такие ошибки не являются критичными и носят чисто косметический характер (например, неправильное представление даты на экране).

Microsoft осознает, насколько важны процессы, в которых задействованы продукты, выпускаемые корпорацией. В связи с этим Microsoft проводит ряд мер, основной целью которых является обеспечение клиентов, пользующихся приложениями и операционными системами Microsoft, информацией, которая необходима для сведения к минимуму возможных последствий проблемы 2000 года. Эта кампания включает в себя:

·         тестирование существующих и разрабатываемых продуктов Microsoft на соответствие требованиям 2000 года;

·         четкую классификацию продуктов в соответствии с результатами тестирования;

·         предоставление клиентам исчерпывающей информации о проблеме 2000 года; проблемах обработки дат, свойственных продуктам Microsoft; о методике подготовки вычислительных систем к работе в следующем тысячелетии; средствах тестирования, разработанных третьими фирмами.

Критерии тестирования

На сегодняшний день существует множество критериев, по которым определяется готовность программных продуктов к 2000 году. При тестировании своих продуктов Microsoft определяет следующие критерии, которым должен удовлетворять продукт, соответствующий требованиям 2000 года:

·        продукт использует четырехзначное представление для хранения и обработки дат в их допустимом диапазоне. Для получения дополнительной информации о допустимом диапазоне дат следует обратиться к руководству по 2000 году (Year 2000 Product Guide) для конкретного продукта;

·        если продукт допускает использование двузначных дат, то он преобразует дату в четырехзначный формат по заранее определенному алгоритму. (Преобразование дат в четырехзначный формат - так называемый логический диапазон дат - описывается ниже.)

·        продукт правильно определяет високосный год;

·        продукт не использует специальных значений дат в их допустимом диапазоне;

·        продукт не будет вызывать ошибок, связанных с обработкой дат до конца 2035 года;

Уровни соответствия

По уровню соответствия требованиям 2000 года продукты Microsoft попадают в одну из  двух категорий:

·        СоответствуетПродукт отвечает критериям соответствия корпорации Microsoft, что обозначается следующими символами в соответствии с описанием уровня соответствия.

*

Продукт соответствует требованиям при выполнении пользователем некоторых рекомендаций, которые могут включать загрузку обновления программного обеспечения или выполнение рекомендаций, описанных в Руководстве корпорации Microsoft по продуктам и их соответствию требованиям 2000 года.

#

Продукт соответствует требованиям в пределах допустимых отклонений от критериев соответствия корпорации Microsoft. Допустимые отклонения не влияют на базовую функциональность, целостность данных, устойчивость или надежность продукта.

+

Продукт соответствует требованиям с обновлениями, выпуск которых в настоящее время ожидается. Рекомендации по выполнению дополнительных действий появятся в ближайшее время.

 

·        Не соответствуетПродукт не отвечает установленным компанией Microsoft требованиям в каком-либо существенном отношении.

Логические диапазоны дат

Наиболее характерной проблемой, связанной с обработкой дат, при работе с продуктами Microsoft является преобразование дат из двузначного представления в четырехзначное. Как уже отмечалось, все продукты Microsoft, соответствующие требованиям 2000 года, оперируют датами в четырехразрядном представлении. Пользователи привыкли работать с двузначными датами, поскольку такой формат применяется в большинстве документов и обеспечивает более быстрый ввод даты. Поэтому во многих приложениях Microsoft обеспечивается возможность работы с двузначными датами. Двузначные даты преобразуются продуктами Microsoft в четырехзначные в соответствии с логическим диапазоном (окном) дат. Благодаря этому приложение может однозначно определить, к какому веку относится введенная двузначная дата. Логический диапазон дат представляет собой временной интервал длительностью в 100 лет. Например, с 1920 года по 2019-й. При этом, если пользователь вводит дату в диапазоне от 20 до 99 года, то дата считается принадлежащей XX веку (то есть дополняется цифрами 19); если же введена дата от 00 до 19, то она считается принадлежащей XXI веку (дополняется цифрами 20). Проблема заключается в том, что логические диапазоны дат не закреплены и поэтому могут отличаться в разных приложениях. Например, в Excel 95 даты 00-19 соответствуют датам 2000-2019, а даты 20-99 - датам 1920-1999. В то же время в Excel 97 даты 00-29 отвечают датам 2000-2029, а даты 30-99 - датам 1930-1999. Информацию об используемом продуктом логическом диапазоне дат можно получить в руководстве по проблеме 2000 года (Year 2000 Product Guide).

Несоответствие логических диапазонов дат в различных продуктах Microsoft может вызвать ошибки при вводе дат и при обмене данными между приложениями. Эту проблему можно избежать, если вводить даты в четырехзначном представлении. Поэтому в критических для организации системах рекомендуется полностью перейти на использование четырехразрядных дат.

Руководство по проблеме 2000 года

Руководство корпорации Microsoft по продуктам и их соответствию требованиям 2000 года (www.microsoft.com/rus/year2000/prodguide/product.asp) содержит подробную информацию по проблеме 2000 года, относящуюся к продуктам, выпускаемым корпорации. Продукты, представленные в руководстве, составляют неполный список продуктов корпорации, и Microsoft будет постоянно обновлять этот список, добавляя в него самую свежую информацию о результатах тестирования своих продуктов на соответствие требованиям 2000 года.

Это руководство (Microsoft Year 2000 Product Guide) является источником самой полной и свежей информации о продуктах Microsoft в связи с проблемой 2000 года. В частности, из него можно узнать:

·         уровень соответствия продукта требованиям 2000 года;

·         дополнительную информацию (имеющиеся и планирующиеся пакеты исправлений и т.п.).

Информация по продукту включает номер версии, языковую версию, диапазон используемых дат, дату выпуска продукта и прочие необходимые условия соответствия. Для каждого продукта перечислены его зависимости от других продуктов и зависимость от работы системных часов. По мере появления новой информации о продукте, Microsoft обновляет сведения в Руководстве по проблеме 2000 года, чтобы клиенты имели постоянный доступ к самой достоверной и актуальной информации.

Следует учитывать, что бета-версии продуктов корпорации Microsoft  проходят проверку на соответствие требованиям 2000 года с использованием критериев тестирования корпорации, однако Microsoft не публикует информации о их соответствии требованиям 2000 года до выхода официальных версий.

Проблема 2000 года и продукты Microsoft

Большинство продуктов Microsoft попадает в категории соответствующих требованиям 2000 года и соответствующих с незначительными проблемами. Microsoft постоянно обновляет Руководство по проблеме 2000 года (Year 2000 Product Guide), поэтому самую последнюю информации о соответствии продуктов Microsoft требованиям 2000 года можно найти по адресу www.microsoft.com/rus/year2000/prodguide/product.asp

Microsoft производит тестирование как английских, так и всех языковых версий продуктов, в том числе и русских версий. Однако, если в списке продуктов, которые соответствуют требованиям 2000 года, имеется английская версия какого-либо продукта, то ни при каких условиях нельзя делать вывод, что версия этого продукта на другом языке, в частности, на русском, также соответствует требованиям 2000 года. Следует также помнить, что если какой либо англоязычный продукт относится к категории "соответствует с незначительными проблемами", то, скорее всего, локализованная версия продукта уже не сможет попасть в категорию "соответствует". Если же для англоязычной версии продукта выпускается пакет исправлений для того, чтобы продукт попадал в категорию "соответствует ", то, скорее всего, аналогичное исправление будет выпущено и для локализованной версии, однако последнее утверждение не может рассматриваться как явная или подразумеваемая гарантия или как взятое на себя обязательство со стороны Microsoft.

Методика решения проблемы 2000 года

Как уже упоминалось выше, универсального подхода к решению проблемы 2000 года не существует. Однако можно выделить направления, которые рекомендуется включить в программу работ по решению этой проблемы:

·         Инвентаризация и анализ. В первую очередь необходимо произвести полную инвентаризацию и глубокий анализ всех аппаратных и программных средств, вовлеченных в процесс обработки информации. На этом этапе должны быть выявлены источники возможных ошибок и выбран метод их исправления (модификация, замена или снятие с эксплуатации).

·         Исправление бизнес-приложений, для которых имеется исходный код. Этот метод является эффективным только в том случае, если у организации имеется доступ к исходному коду приложения, код хорошо документирован и есть сотрудники, разбирающиеся в нем.

Рекомендации Microsoft по решению проблемы 2000 года

Компания Microsoft предлагает дополнительные методы решения проблемы 2000 года для организаций, в основе систем информационного обмена которых используются технологии Microsoft. Эти рекомендации включают следующие шаги:

·         Переход на платформу Microsoft. Перенос всех бизнес-процессов на платформу Microsoft имеет очевидные достоинства, основным из которых является то, что для большинства продуктов Microsoft уже определена степень готовности к 2000 году и выявлены многие ошибки. Кроме того, технологии Microsoft позволяют провести миграцию приложений с другой платформы в предельно краткие сроки.