СИСТЕМА И СПОСОБ ВОССТАНОВЛЕНИЯ В АВАРИЙНЫХ СИТУАЦИЯХ И УПРАВЛЕНИЯ ДЛЯ СИСТЕМЫ ЭЛЕКТРОННОЙ ПОЧТЫ
SYSTEM AND METHOD OF RECOVERY IN EMERGENCY SITUATIONS AND CONTROL FOR E-MAIL SYSTEM

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение в целом относится к системам электронной почты и более конкретно к системе и способу, которые обнаруживают отказы в системе электронной почты и предпринимают корректирующие меры, включая обеспечение дополнительной почтовой службы, с тем, чтобы для клиента поддерживалась возможность посылки и приема электронной почты, пока повторно не запущена первоначальная служба.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
Предприятия все в большей степени основываются на электронной почте в качестве основного инструментального средства коммуникации для связи с деловыми партнерами, партнерами, заказчиками, потребителями и т.п. В большинстве компаний служащие посылают и принимают больше сообщений электронной почты, чем телефонных звонков. Электронная почта является средством коммуникации для осуществления обмена данными, контрактами, заказами, юридическими документами и другими критически важными передачами информации. Исходя из использования электронной почты для поддержки и усовершенствования производственной деятельности инфраструктура электронной почты компании должна предлагать самый высокий уровень безопасности и надежности. Обеспечение бесперебойной работоспособности такой инфраструктуры является большой задачей, которая представляет реально существующую проблему для многих организаций, использующих информационные технологии.
Следовательно, было бы желательным обеспечить систему и способ восстановления в аварийных ситуациях и управления, предназначенные для почтовой системы, которые бы гарантировали, что предприятие будет способным продолжать посылку и прием сообщений электронной почты, даже если являются недоступными серверы электронной почты предприятия.
КРАТКОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
Настоящее изобретение обеспечивает усовершенствованные систему и способ восстановления в аварийных ситуациях и управления для почтовой системы. Система и способ обнаруживают, когда происходит отказ в системе электронной почты клиента, и для ставших неработоспособными доменов автоматически создают учетные записи почтовых ящиков, в отношении которых формируется очередь входящей электронной почты, пока устраняется отказ. Система может дополнительно включать в себя интерфейс web-почты, который позволяет клиенту поддерживать функциональные возможности электронной почты, пока не устранен отказ. Система и способ могут дополнительно включать в себя средство коммутации (коммутатор) сообщений, которое фильтрует всю электронную почту в отношении правил политики и содержимого, спама (принудительной рассылки) и вирусов прежде передачи электронной почты на клиент.
Изобретение может быть осуществлено с использованием высоконадежной распределенной сети, включающей в себя множество центров обработки данных, которые обеспечивают постоянное и устойчивое средство передачи входящей электронной почты для клиентов. Система может использовать средство мониторинга (монитор) отсрочек для выявления того, когда серверы электронной почты клиента или соединение Интернет являются неработающими. Соответствующая процедура может исследовать отсрочки и создавать учетные записи почтовых ящиков по мере необходимости. Входящая электронная почта будет ставиться в очередь в учетных записях почтовых ящиков пользователя, пока серверы электронной почты клиента не будут восстановлены и не будут доступны для трафика входящих сообщений электронной почты. Это гарантирует, что электронная почта не будет возвращена отправителю по причине недоступности почтовых серверов. Как только серверы электронной почты повторно подсоединены, может быть активирован процесс переноса, который предписывает учетным записям почтовых ящиков "высвобождать" или пересылать поставленную в очередь электронную почту на клиент способом "управляемого потока данных", пока не будет доставлена вся электронная почта.
Одно преимущество изобретения состоит в том, что оно гарантирует, что сообщения электронной почты, направляемые на клиент, не будут возвращены или потеряны, даже если серверы электронной почты клиента являются недоступными.
Другое преимущество изобретения состоит в том, что оно предоставляет систему и способ, предназначенные для восстановления в аварийных ситуациях системы электронной почты, которые прозрачным образом формируют очередь всей входящей электронной почты, пока устраняется отказ, без какого-либо действия, требуемого клиентом. Система может включать в себя интерфейс web-почты для предоставления пользователям возможности осуществлять доступ к поставленной в очередь электронной почте и предоставления возможности клиенту поддерживать функциональность электронной почты, пока не будет устранен отказ.
Следующее преимущество изобретения состоит в том, что оно предусматривает для электронной почты фильтрацию в отношении политики, содержимого, спама и вирусов с использованием предпочтительных параметров настройки клиентов, даже в случае отказа клиентской системы электронной почты.
Согласно одному аспекту настоящего изобретения обеспечивается система восстановления в аварийных ситуациях клиентской системы электронной почты, имеющей одну или несколько учетных записей пользователей. Система включает в себя один или несколько серверов, которые принимают и передают электронную почту для клиентской системы электронной почты; монитор отсрочек, который обнаруживает отказ клиентской системы электронной почты; и процедуру создания почтовых ящиков, которая в ответ на отказ автоматически создает один или несколько почтовых ящиков электронной почты, соответствующих упомянутым одной или нескольким учетным записям пользователей, причем электронная почта, направляемая на клиентскую систему электронной почты, маршрутизируется на упомянутые один или несколько почтовых ящиков электронной почты.
Согласно другому аспекту настоящего изобретения обеспечивается система восстановления в аварийных ситуациях и управления для клиентской системы электронной почты, имеющей множество учетных записей пользователей. Система включает в себя множество распределенных серверов, которые принимают и обрабатывают сообщения электронной почты, передаваемые на клиентскую систему электронной почты, причем эти серверы включают в себя одну или несколько очередей для временного хранения электронной почты прежде передачи этой электронной почты на клиентскую систему электронной почты; монитор отсрочек, который обнаруживает отказ клиентской системы электронной почты путем определения того, когда при формировании очередей электронной почты в серверах имеет место превышение порогового значения; и процедуру создания почтовых ящиков, которая в ответ на отказ автоматически создает множество почтовых ящиков электронной почты, соответствующих упомянутому множеству учетных записей пользователей, причем электронная почта, направляемая на клиентскую систему электронной почты, маршрутизируется на упомянутое множество почтовых ящиков электронной почты.
Согласно следующему аспекту настоящего изобретения обеспечивается способ восстановления в аварийных ситуациях и управления для клиентской системы электронной почты, имеющей множество учетных записей пользователей. Способ включает в себя этапы маршрутизации сообщений электронной почты на один или несколько серверов, которые принимают, обрабатывают и передают сообщения электронной почты, направляемые на клиентскую систему электронной почты; обнаружения отказа клиентской системы электронной почты; автоматического создания множества почтовых ящиков электронной почты, соответствующих упомянутому множеству учетных записей пользователей, в ответ на обнаружение отказа в клиентской системе электронной почты; и маршрутизации направляемых на клиентскую систему электронной почты сообщений электронной почты на упомянутые один или несколько почтовых ящиков электронной почты, пока не будет устранен отказ.
Эти и другие признаки и преимущества изобретения будут очевидными при обращении к нижеследующему описанию со ссылкой на нижеследующие чертежи.
ПЕРЕЧЕНЬ ФИГУР ЧЕРТЕЖЕЙ
Фиг. 1 - схематическое представление, иллюстрирующее реализованную поверх распределенной сети систему восстановления в аварийных ситуациях и управления, предназначенную для системы электронной почты, согласно настоящему изобретению.
Фиг. 2 - блок-схема, иллюстрирующая в соответствии с настоящим изобретением общие функциональные возможности системы, предназначенной для восстановления в аварийных ситуациях и управления в системе электронной почты.
Фиг. 3 - блок-схема последовательности действий, иллюстрирующая в соответствии с настоящим изобретением работу системы восстановления в аварийных ситуациях и управления для системы электронной почты.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
Настоящее изобретение теперь будет описано подробно со ссылкой на чертежи, которые представлены в качестве иллюстративных примеров изобретения с тем, чтобы дать возможность специалистам в данной области техники осуществлять изобретение на практике. То есть реализация некоторых элементов настоящего изобретения может быть осуществлена с использованием программного обеспечения, аппаратных средств, встроенных программно-аппаратных средств или любой их комбинации, как должно быть очевидно специалистам в данной области техники, и приведенные ниже фигуры чертежей и примеры не предназначены для ограничения объема настоящего изобретения. Кроме того, в тех случаях, когда некоторые элементы настоящего изобретения могут быть частично или полностью реализованы с использованием известных компонентов, будут описаны только те части таких известных компонентов, которые являются необходимыми для понимания настоящего изобретения, а подробные описания других частей таких известных компонентов будут опущены с тем, чтобы не затруднять понимание изобретения. Предпочтительные варианты осуществления настоящего изобретения иллюстрируются на фигурах чертежей, на которых одинаковые числовые позиции используются для ссылок на одинаковые и соответственные части различных чертежей.
В одном варианте осуществления система 100 может быть реализована поверх распределенной сети. На Фиг. 1 иллюстрируется система 100, реализованная поверх распределенной сети 102. Распределенная сеть 102 включает в себя ряд обычных серверов 104, которые соединены между собой с возможностью осуществления связи. Серверы 104 размещены в нескольких удаленных и защищенных центрах 116 обработки данных. Центры 116 обработки данных физически конструируются так, чтобы выдерживать существенные метеорологические и геологические события, и включают в себя соответствующие современному уровню техники меры безопасности, систему контроля внешней среды, встроенное резервирование и резервные генераторы, чтобы обеспечивать высокую работоспособность и надежность. Центры 116 обработки данных предпочтительно рассредоточены в удаленных местоположениях по всей географической зоне обслуживания. Оператор системы может управлять работой системы 100 и регистрировать многих удаленно расположенных потребителей или "клиентов" 114, которые могут быть получателями электронной почты. Клиенты 114 могут быть расположенными удаленно друг от друга и несвязанными. Каждый отличающийся от других потребитель или клиент 114 может представлять одну или несколько вычислительных систем или систему предприятия, включающих в себя множество серверов. Любая электронная почта, направляемая на клиенты 114 или от клиентов 114, будет проходить через систему 100. Чтобы маршрутизировать всю электронную почту через систему 100, каждый клиент 114 изменяет запись, соответствующую своему центру обмена почтой, или "MX"-запись, чтобы отразить IP-адрес традиционного DNS-сервера 112 (сервера доменных имен), предназначенного для системы. Таким образом, вся электронная почта, направляемая на клиенты 114, будет доходить до DNS-сервера 112, предназначенного для системы 100, и будет пропускаться через систему 100 прежде, чем дойти до клиентов 114. Эта процедура лучше показана посредством описания этапов (1)-(6), изображенных на Фиг. 1.
Когда отправитель 106 передает сообщение электронной почты, адресованное клиенту 114, электронная почта проходит через систему 100 следующим образом. На этапе (1) сообщение проходит на предназначенный для отправителя обычный сервер 108, использующий простой протокол пересылки электронной почты (SMTP-сервер). На этапе (2) SMTP-сервер 108 взаимодействует с обычным DNS-сервером 110 отправителя 106, чтобы запросить MX-запись, относящуюся к клиенту 114. На этапе (3) DNS-сервер 110 отправителя выполняет запрос записи относительно MX-записи клиента, которая теперь ассоциирована с DNS-сервером 112 системы. Этот запрос, таким образом, пропускается на DNS-сервер 112 системы. DNS-сервер 112 системы затем выбирает наиболее подходящий центр 116 обработки данных, чтобы обслужить электронную почту. DNS-сервер 112 системы будет выбирать наиболее подходящий центр 116 обработки данных на основании одного или нескольких из нижеследующих критериев: (i) "состояния исправности" серверов 104 в пределах центра 116 обработки данных (например, функционируют ли серверы надлежащим образом); (ii) объема загрузки серверов 104 в пределах центра 116 обработки данных (например, работают ли серверы 104 выше или ниже порогового объема); (iii) планируемого времени прохождения сообщения в прямом и обратном направлениях между удаленным центром обработки данных и намеченным клиентом 114; и (iv) географического расстояния между отправителем 106 и/или DNS-серверами 110 отправителей и центром 116 обработки данных. Различным критериям могут быть назначены различные веса на основании того, что было бы подходящим или желательным для оператора системы при заданном наборе условий.
На этапе (4) DNS-сервер 112 системы отвечает SMTP-серверу 108 отправителя IP-адресом, соответствующим серверу 104 в выбранном центре 116 обработки данных. На этапе (5) SMTP-сервер 108 доставляет сообщение на сервер 104. В одном варианте осуществления сервер 104 включает в себя процессор сообщений или "коммутатор" и пропускает сообщение через "коммутатор", то есть программу, предназначенную для фильтрации в отношении политики, содержимого, спама и/или вирусов. Экземпляр коммутатора сообщений может располагаться и действовать в пределах каждого сервера 104. Если коммутатор сообщений определяет, что сообщение нарушает правила содержимого, политики или спама либо может содержать вирус (как используется в настоящей заявке, термины "вирус" и "фильтр вирусов" следует рассматривать в широком толковании, чтобы охватывать любой злоумышленный или нежелательный код, такой как вирусы типа «Троянский конь», саморазмножающиеся вирусы («черви») и им подобные), он может блокировать, отвергать или изолировать сообщение. Если коммутатор сообщений не отвергает или не подвергает изоляции сообщение, то сервер 104 впоследствии передает сообщение на клиент 114, как показано на этапе (6).
Настоящая система также предусматривает восстановление в аварийных ситуациях и управление в случае отказа в клиентской системе электронной почты или сайте 114. Если в системе электронной почты клиента обнаружен отказ, который предотвратил бы доставку сообщений электронной почты на клиент, система обеспечивает для системы электронной почты клиента восстановление в аварийных ситуациях и управление. Конкретно, система может формировать очередь входящей электронной почты и обеспечивать доступ к этой электронной почте, пока не будет восстановлена клиентская система электронной почты. Как только клиентская система электронной почты восстановлена, система будет передавать на клиент поставленные в очередь сообщения способом управляемого потока данных. Нижеследующее обсуждение описывает эти функции восстановления в аварийных ситуациях и управления.
На Фиг. 2 показана блок-схема, иллюстрирующая общую работу системы 100. Тогда как настоящее изобретение будет прежде всего описано в отношении системы 100, должно быть оценено, что каждая часть или этап из частей или этапов, проиллюстрированных на Фиг. 2 (а также части или этапы, проиллюстрированные на других фигурах), может представлять логические этапы или процедуры и/или аппаратные средства, и/или программное обеспечение, используемое для выполнения логических этапов или процедур. Должно быть дополнительно оценено, что любая одна или несколько из показанных частей или этапов могут быть реализованы на машиночитаемом носителе в виде части системы. Дополнительно, каждый этап или процедура из показанных на Фиг. 2 может включать в себя множество процедур, которые распределены и/или постоянно находятся на множестве серверов 104 в пределах распределенной вычислительной системы 102. Как показано на Фиг. 2, система 100 может включать в себя процедуру 200 фильтрации, монитор 300 отсрочек, процедуру 310 создания почтовых ящиков и хранилище 400.
Процедура 200 фильтрации может включать в себя процессор сообщений или "коммутатор", то есть программу для фильтрации в отношении политики, содержимого, спама и/или вирусов. Экземпляр коммутатора сообщений может предпочтительно располагаться и использоваться в пределах каждого сервера 104. Коммутатор сообщений может включать в себя одну или несколько программ (например, программы фильтрации в отношении политики, содержимого, спама и/или вирусов). В одном варианте осуществления коммутатор сообщений по существу аналогичен коммутатору сообщений, описанному в заявке на патент США с порядковым номером 10/849090, права по которой переуступлены правообладателю настоящего изобретения и которая включена в настоящее описание посредством ссылки. Если коммутатор сообщений определяет, что сообщение нарушает правила содержимого, политики или спама либо может содержать вирус, он может блокировать, отвергать или изолировать сообщение. Если коммутатор сообщений не отвергает или не изолирует сообщение и не обнаружены какие-либо отказы в клиентской системе 114, сообщение проходит к намеченному получателю в клиентской системе 114. Однако если монитор 300 отсрочек обнаружил отказ в клиентской системе 114, монитор 300 отсрочек запускает последовательность операций восстановления в аварийных ситуациях, а сообщение подается в хранилище 400, как описано ниже.
Монитор 300 отсрочек может включать в себя одну или несколько процедур, которые исполняются на каждом почтовом сервере в системе (например, почтовых серверах 104). Монитор 300 отсрочек исследует очереди отсрочек на почтовых серверах 104 системы на предмет наличия отсрочек, превышающих допустимые. При наличии отсрочек, превышающих допустимые, монитор 300 отсрочек будет запускать процедуру 310 создания почтовых ящиков, которая вызовет повторное создание неработоспособных учетных записей электронной почты клиента в хранилище 400. Почту клиента затем маршрутизируют на эти почтовые ящики электронной почты в хранилище 400. Пороговое значение для отсрочки, которое монитор 300 отсрочек будет рассматривать "превышающим допустимое", может изменяться от клиента к клиенту. Например, каждый клиент может устанавливать пороговое значение, такое как максимальное количество отсрочек, максимальная длительность времени, в течение которого отсрочки могут иметь место, или пороговое значение частоты (например, максимальное количество отсрочек за промежуток времени), превышение которого будет побуждать монитор 300 отсрочек запустить процедуру 310 создания почтовых ящиков. В одном варианте осуществления клиент может динамически устанавливать и регулировать это пороговое значение. В качестве альтернативы, администратор системы 100 может устанавливать и изменять пороговое значение (например, посредством обычного административного интерфейса). Причина отсрочек также может быть исследована, чтобы определить, является ли клиентская система электронной почты неработающей совсем или только временно.
Хранилище 400 может включать в себя один или несколько обычных серверов-хранилищ, процедур и устройств с наличием избыточности. Хранилище 400 хранит почту в пользовательских почтовых ящиках, которые имитируют неработоспособные домены клиента. Как только клиентская система электронной почты восстановлена, активируется процедура переноса, которая переносит сохраненные сообщения электронной почты из хранилища 400 на соответствующие почтовые ящики электронной почты в клиентской системе. В одном варианте осуществления хранилище 400 настроено так, что пользователи не могут удалять почту из своих учетных записей почтовых ящиков пользователей. Таким образом, как только восстановлена клиентская система электронной почты, может быть восстановлен корректный и полный образ системы электронной почты клиента.
Работа системы 100 теперь будет описана со ссылкой на Фиг. 3, на которой иллюстрируется один вариант осуществления способа 500, который может выполняться для системы электронной почты для восстановления в аварийных ситуациях и управления. Способ 500 начинается на этапе 510, где на сайте клиента происходит аварийная ситуация или отказ, что является причиной того, что почтовые серверы клиента будут недоступными и/или недействующими в течение некоторого периода времени. В результате недоступности клиентской системы электронной почты сообщения, которые были адресованы пользователям в клиентской системе, начинают накапливаться в очередях ретрансляции агентов пересылки сообщений (MTA) системы 100. На этапе 520 монитор 300 отсрочек выявляет, когда отсрочки превышают заранее установленное пороговое значение (например, частоту, длительность времени или количество). Как пояснено выше, упомянутое заранее установленное пороговое значение может изменяться от клиента к клиенту и может динамически устанавливаться и изменяться каждым клиентом. Как только монитор 300 отсрочек определил, что пороговое значение было превышено, монитор 300 может уведомлять клиента и систему 100 о том, что произошел потенциальный отказ или аварийная ситуация. Монитор 300 отсрочек может также выявлять отказ согласно посылке клиентом сообщения на систему 100, уведомляющего систему или администратора системы об отказе.
На этапе 530 монитор 300 отсрочек запускает процедуру 310 создания учетных записей почтовых ящиков, которая автоматически создает учетные записи пользователя для ставших неработоспособными клиентских доменов. В одном варианте осуществления процедура 310 создания учетных записей почтовых ящиков исполняется на сервере центральной базы данных, который обменивается информацией с поддерживаемой системой 100 клиентской информационной базой 590 данных. Клиентская база 590 данных может включать в себя информацию, описывающую и идентифицирующую каждую из учетных записей пользователей, попавшую под воздействие аварийной ситуации или отказа в клиентской системе электронной почты. Клиентская база 590 данных может также включать в себя другую информацию для обработки почты для клиентов, такую как специфические для конкретного клиента правила и параметры настройки, подлежащие применению в течение процедуры 200 фильтрации, и специфические для конкретного клиента пороговые значения. На основании информации учетных записей, содержащейся в базе данных, процедура 310 создания учетных записей почтовых ящиков создает временные учетные записи почтового ящика в хранилище 400, соответствующие каждой из неработоспособных клиентских учетных записей пользователей. В одном варианте осуществления клиент при обнаружении отказа системы может предоставлять неработоспособные учетные записи пользователей. Например, после того, как клиент уведомлен об аварийной ситуации или отказе его системы электронной почты (например, через уведомление посредством системы 100), он может передать всю свою информацию учетных записей пользователей непосредственно в клиентскую базу 590 данных. Альтернативно, клиент может поставлять информацию администратору системы для ввода в базу 590 данных или для ручного создания или подготовки учетных записей почтовых ящиков.
На этапе 540 система переключает адрес пункта назначения доставки сообщения от клиентского шлюза на временные учетные записи почтовых ящиков в хранилище 400. Таким образом, вся поставленная в очередь почта и новая почта, адресованная клиенту, доставляется на соответствующие учетные записи почтовых ящиков в хранилище 400, а не на отказавшую систему электронной почты клиента. На этапе 550 система активирует приложение web-почты, которое дает возможность пользователям осуществлять доступ к учетным записям почтовых ящиков через обычный web-интерфейс. Приложение web-почты может быть обычным основывающимся на web приложением электронной почты. В одном варианте осуществления приложение web-почты сконфигурировано так, что пользователям не предоставляется возможность удалять сообщения, содержащиеся в хранилище 400. Приложение web-почты может дополнительно быть сконфигурировано с возможностью сохранения всех исходящих сообщений, посланных пользователями. Таким образом, как только восстановлена клиентская система электронной почты, может быть восстановлен корректный и полный образ клиентской системы электронной почты.
На этапе 560 восстанавливаются клиентские почтовые серверы. Как только восстановлена клиентская система электронной почты, посылается уведомление в систему 100 (например, посредством клиентской системы или администратора). В качестве альтернативы, монитор 300 отсрочек может периодически исследовать клиентскую систему электронной почты на предмет обнаружения того, когда она является в достаточной степени восстановленной. Это может выполняться посредством периодической посылки сообщения на клиентскую систему электронной почты для определения того, осуществляется ли клиентской системой электронной почты принятие сообщений. На этапе 570, как только система 100 определяет, что клиентская система электронной почты является восстановленной, процедура переключает активный домен от временных учетных записей почтовых ящиков обратно на клиентский шлюз. Процедура завершается на этапе 580, где процедура переноса повторно доставляет хранимую в хранилище 400 почту на клиентскую систему электронной почты. В одном варианте осуществления все хранимые сообщения, которые были посланы через приложение web-почты, также доставляются на клиентскую систему электронной почты для обращения. В одном варианте осуществления сообщения электронной почты передаются на клиент способом управляемого потока данных. Скорость, с которой доставляются сообщения, может быть установлена и настроена на поклиентной основе и сохранена в клиентской базе 590.
Таким образом, система 100 предусматривает управление и восстановление для клиентской системы электронной почты. Система прозрачным образом формирует очередь всей входящей почты, пока устраняется отказ, без требования какого-либо действия клиентом. Система также может включать в себя интерфейс, который дает возможность клиенту поддерживать функциональные возможности электронной почты (например, и посылку, и прием электронной почты), пока не будет устранен отказ. Архитектура и функция системы 100 также гарантируют, что специфические для конкретного клиента процедуры фильтрации в отношении политики, содержимого, спама и/или вирусов будут продолжаться непрерываемыми и неповрежденными, даже в случае отказа клиентской системы электронной почты.
Тогда как изобретение было конкретно показано и описано по отношению к иллюстративным и предпочтительным вариантам его осуществления, специалистам в данной области техники будет понятно, что в них могут быть сделаны вышеизложенные и другие изменения в форме и деталях без выхода за рамки существа и объема изобретения, который определяется прилагаемой формулой изобретения.