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

Иллюстрации

Показать все

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

Реферат

Уровень техники

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

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

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

Сущность изобретения

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

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

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

Краткое описание чертежей

Фиг.1 иллюстрирует вариант осуществления операционной среды.

Фиг.2 иллюстрирует вариант осуществления вычислительного устройства.

Фиг.3 иллюстрирует вариант осуществления приложения согласования.

Фиг.4 иллюстрирует вариант осуществления диаграммы.

Фиг.5 иллюстрирует вариант осуществления потока сообщений.

Фиг.6 иллюстрирует вариант осуществления логического потока.

Фиг.7 иллюстрирует вариант осуществления изделия.

Подробное описание

Различные варианты осуществления включают в себя физические или логические структуры, разработанные с возможностью выполнения определенных операций, функций или служб. Структуры могут содержать физические структуры, логические структуры или их комбинацию. Физические или логические структуры реализуются с использованием элементов аппаратных средств, элементов программных средств или их комбинации. Однако описания вариантов осуществления со ссылкой на конкретные элементы аппаратных или программных средств предназначаются в качестве примеров, а не ограничений. Решения об использовании элементов аппаратных или программных средств для фактического осуществления на практике варианта осуществления зависит от ряда внешних факторов, таких как желательная вычислительная скорость, уровни мощности, параметры теплоустойчивости, ресурсы цикла обработки, скорости ввода данных, скорости вывода данных, ресурсы памяти, скорости шины данных и других ограничений расчетных параметров или характеристик. Помимо всего прочего, физические или логические структуры могут иметь соответствующие физические или логические соединения для передачи информации между структурами в форме электронных сигналов или сообщений. Соединения могут содержать проводные и/или беспроводные соединения, как предназначается для информации или конкретной структуры. Следует отметить, что любая ссылка на «один вариант осуществления» или «вариант осуществления» означает, что конкретная функция, структура или параметр, описанные в связи с вариантом осуществления, включены, по меньшей мере, в один вариант осуществления. Упоминания фразы «в одном варианте осуществления» в различных местах описания не ссылаются в обязательном порядке на один и тот же вариант осуществления.

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

Фиг.1 иллюстрирует блок-схему для операционной среды 100, подходящую для осуществления на практике различных вариантов осуществления. Операционная среда 100 может содержать элементы, разработанные для варианта реализации среды одного объекта или среды множества распределенных объектов. Каждый элемент может быть реализован в качестве элемента аппаратных средств, элемента программных средств или любой их комбинации, как является желательным для заданного набора ограничений расчетных параметров или характеристик. Примеры элементов аппаратных средств могут включать в себя устройства, компоненты, процессоры, микропроцессоры, схемы, элементы схемы (например, транзисторы, резисторы, конденсаторы, индукторы и т.д.), интегральные схемы, специализированные интегральные схемы (ASIC), программируемые логические устройства (PLD), цифровые сигнальные процессоры (DSP), логическую матрицу с эксплуатационным программированием (FPGA), блоки памяти, логические вентили, регистры, полупроводниковое устройство, кристаллы, микрокристаллы, комплекты кристаллов и т.д. Примеры элементов программных средств могут включать в себя любые программные компоненты, программы, приложения, компьютерные программы, прикладные программы, системные программы, машинные программы, программные средства операционной системы, промежуточные программные средства, программно-аппаратные средства, программные модули, подпрограммы, функции, способы, интерфейсы, интерфейсы на основе программных средств, прикладные программные интерфейсы (API), наборы команд, вычислительный код, машинный код, сегменты кода, сегменты машинного кода, слова, значения, символы или любую их комбинацию.

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

В примере, иллюстрированном на фиг.1, операционная среда 100, в числе других элементов, может содержать сервер 110 электронной почты и архив 140. Несмотря на то что операционная среда 100, как иллюстрировано на фиг.1, имеет ограниченное количество узлов в определенной топологии, следует понимать, что операционная среда 100 может включать в себя большее или меньшее количество узлов в альтернативных топологиях, как является желательным для заданного варианта реализации. В различных вариантах осуществления сервер 110 электронной почты может быть реализован в пределах системы передачи сообщений электронной почты для отправки и приема сообщения по электронным системам связи. Архив 140 может быть реализован в качестве системы локального или дистанционного архивирования или хранилища данных для архивирования сообщений, принятых по электронным системам связи от системы передачи сообщений электронной почты. Как иллюстрировано, сервер 110 электронной почты и архив 140 могут быть соединены с возможностью передачи информации по сети 118, а также использовать подходящую среду беспроводной или проводной передачи данных. Сервер 110 электронной почты и архив 140 могут передавать информацию по сети 118 и координировать операции друг с другом, что может вовлечь однонаправленный или двунаправленный обмен информацией. Сеть 118 может содержать сеть с коммутацией пакетов, сеть с коммутацией каналов или их комбинацию. Информация, передаваемая по сети 118, может быть реализована в качестве информационных сообщений, отправляемых по различным сетевым интерфейсам. Иллюстративные сетевые интерфейсы включают в себя параллельные интерфейсы, последовательные интерфейсы и интерфейсы шины.

Сервер 110 электронной почты может функционировать для взаимодействия с клиентами передачи сообщений различных типов. В некоторых вариантах реализации сервер 110 электронной почты может обеспечить интерфейс для взаимодействия с клиентской системной программой, такой как прикладная программа MICROSOFT OFFICE OUTLOOK® от корпорации Microsoft, Рэдмонд, Вашингтон. Сервер 110 электронной почты также может обеспечить интерфейс для взаимодействия с другими клиентами электронной почты различных типов, в числе прочего включающими в свой состав клиентов упрощенного протокола электронной почты (SMTP), клиентов протокола передачи гипертекста (HTTP), клиентов интерфейса программирования приложений электронной почты (MAPI), клиентов почтового протокола третьей версии (POP3), клиентов протокола интерактивного доступа к электронной почте (IMAP или IMAP4), клиентов сетевого протокола передачи новостей (NNTP), клиентов веб-почты и т.д.

Сервер 110 электронной почты может функционировать для предоставления доступа к сети, мобильного доступа, а также функциональных возможностей синхронизации, приложений информационных служб сети Интернет (IIS) и интерфейса программирования серверных приложений (ISAPI), обеспечивающих службы SMTP, NNTP, IMAP4 и POP3, для предоставления возможности передачи информации по множеству протоколов доступа в сеть Интернет и протоколов на основе HTTP, включающих в себя удаленный вызов процедур (RPC) по протоколу HTTP. В некоторых вариантах реализации сервер 110 электронной почты может передавать данные, отформатированные в качестве сжатых данных в компактном представлении двоичного XML (WbXML), для эффективного использования полосы пропускания для мобильных клиентов. В дополнение к стандартным протоколам сети Интернет, сервер 110 электронной почты также может поддерживать передачу информации по специализированным или нестандартным протоколам, в случае использования компанией или другой организацией.

В различных вариантах реализации сервер 110 электронной почты и/или архив 140 может выполнить одну или несколько технологий согласования и промежуточной обработки, в соответствии с описанными вариантами осуществления. В некоторых вариантах осуществления сервер 110 электронной почты может содержать серверное вычислительное устройство, выполняющее серверную системную программу электронной почты. Соответственно, в некоторых вариантах осуществления одна или несколько технологий согласования и промежуточной обработки могут быть реализованы в качестве функций в пределах серверной системной программы, такой как MICROSOFT EXCHANGE SERVER® от корпорации Microsoft, Рэдмонд, Вашингтон. Следует понимать, что варианты осуществления не ограничиваются данным контекстом, и сервер 110 электронной почты может выполнить другие типы приложений, программ или служб, включающие в себя веб-приложения электронной почты, предоставляющие доступ к службам электронной почты через веб-обозреватель.

В некоторых вариантах осуществления архив 140 может содержать серверное вычислительное устройство, выполняющее одно или несколько серверных приложений и/или веб-служб. Архив 140 может реализовать различные веб-службы с использованием форматов, не зависящих от платформы и языка, разработанных для передачи информации по вычислительным сетям, таким как сеть Интернет, с использованием протоколов связи, таких как протокол передачи гипертекста (HTTP), протокол передачи гипертекста по протоколу безопасных соединений (HTTPS), упрощенный протокол электронной почты (SMTP), протокол передачи файлов (FTP) и т.д. Соответственно, в некоторых вариантах осуществления одна или несколько технологий согласования и промежуточной обработки могут быть реализованы в качестве функций в пределах серверного приложения и/или веб-службы. Следует понимать, что варианты осуществления не ограничиваются данным контекстом, и архив 140 может быть реализован посредством систем локального или дистанционного архивирования и/или хранилищ данных других типов.

В целом, как сервер 110 электронной почты, так и архив 140 может содержать или быть реализован посредством любого подходящего типа вычислительного устройства, имеющего вычислительные возможности, а также возможности передачи информации, в соответствии с описанными вариантами осуществления. Для реализации таких возможностей сервер 110 электронной почты и архив 140 могут содержать соответствующие вычислительные системы 120, 120a и системы 130, 130a связи. Вычислительные системы 120, 120a могут включать в себя различные вычислительные элементы, такие как один или несколько процессоров, сопроцессоры, блоки памяти, наборы микросхем, контроллеры, периферийные интегральные схемы, интерфейсы, задающие генераторы (гетеродины), устройства синхронизации, видеокарты, аудиокарты, компоненты ввода/вывода (I/O) мультимедийных данных и т.д. Системы 130, 130a связи могут включать в себя различные элементы связи, такие как передатчик, приемник, приемопередатчик, средство радиосвязи, сетевой интерфейс, процессор основной полосы частот, антенну, усилители, фильтры и т.д.

Вычислительные системы 120, 120a, в числе других элементов, могут выполнить соответствующие серверные программы 122, 142. Серверные программы 122, 142 и входящие в их состав элементы могут содержать или быть выполнены посредством прикладных программ одного или нескольких типов, программных компонентов, программных модулей и/или данных программы, поддерживающей операцию серверной программы 110 электронной почты и архива 140, в соответствии с описанными вариантами осуществления. В некоторых вариантах реализации серверные программы 122 могут быть выполнены на одном физическом серверном вычислительном устройстве. Поочередно, различные серверные программы 122 могут быть выполнены на нескольких серверах, потенциально расположенных в различных доменах и узлах для удовлетворения требованиям географического развертывания и/или обеспечения эффективности и отказоустойчивости, при поддержке большого количества пользователей.

В примере, иллюстрированном на фиг.1, серверные программы 122 могут реализовать одну или несколько серверных ролей, включающих в себя, например, роль 124 транспортного сервера-концентратора и роль 126 сервера почтовых ящиков, функционирующих для предоставления серверу 110 электронной почты определенных служб и функций. Роль 124 транспортного сервера-концентратора может функционировать для обработки входящих и исходящих сообщений, а роль 162 сервера почтовых ящиков может функционировать для размещения почтового ящика и общей папки с данными. Как иллюстрировано, роль 124 транспортного сервера-концентратора может содержать агент 125 ведения журнала, а роль 126 сервера почтовых ящиков может содержать агент 127 согласования. В соответствии с различными вариантами осуществления агент 125 ведения журнала и агент 127 согласования могут выполнить одну или несколько технологий согласования и промежуточной обработки, как более подробно описано ниже. Серверные программы 122 также могут содержать другие серверные программы 128, такие как другие серверные роли и/или серверные приложения других типов, в соответствии с описанными вариантами осуществления.

В примере, иллюстрированном на фиг.1, серверные программы 142 могут реализовать одно или несколько серверных приложений, включающих в себя, например, приложение 144 ведения журнала и приложение 146 согласования, функционирующих для предоставления архиву 140 определенных служб и функций. В соответствии с различными вариантами осуществления приложение 146 ведения журнала и приложение 146 согласования могут взаимодействовать с агентом 125 ведения журнала и агентом 127 согласования для выполнения одной или нескольких технологий согласования и промежуточной обработки, как более подробно описано ниже. Серверные программы 142 также могут содержать другие серверные программы 148, такие как серверные приложения и/или веб-службы других типов, в соответствии с описанными вариантами осуществления.

Сервер 110 электронной почты и архив 140 могут содержать или взаимодействовать с соответствующими хранилищами данных для сохранения элементов, таких как сообщения электронной почты и другие данные, в почтовых ящиках и папках, в соответствии с описанными вариантами осуществления. На основании фиг.1, хранилище данных для сервера 110 электронной почты может быть реализовано посредством базы 150 данных сервера электронной почты, а хранилище данных для архива 140 может быть реализовано посредством базы 160 данных архива. Несмотря на то что в иллюстративных целях изображены отдельные элементы, следует понимать, что в некоторых вариантах осуществления база 150 данных сервера электронной почты может являться частью сервера 110 электронной почты, и/или база 160 данных архива может являться частью архива 140. Также следует понимать, что соответствующие хранилища данных для сервера 110 электронной почты и архива 140 могут располагаться на сервере 110 электронной почты и архиве 140 или в других удаленных устройствах.

Фиг.2 представляет иллюстративную архитектуру для вычислительного устройства 200, подходящего для осуществления на практике различных вариантов осуществления. Например, вычислительное устройство 200 может являться образцом для сервера 110 электронной почты. Как изображено, вычислительное устройство 200 иллюстрирует обычную вычислительную архитектуру для персонального или серверного компьютера, включающую в себя систему обработки, содержащую процессор 202 и системную память 204. Системная память 204 может включать в себя, в числе других типов памяти, оперативную память 206 (RAM) и постоянную память 208 (ROM). Система ввода/вывода (I/O), такая как основная система ввода/вывода (BIOS), может выполнять программы для содействия в передаче информации между элементами в пределах вычислительного устройства 200, как например, при операции запуска с использованием логики, сохраненной в памяти 208 ROM. Системная шина 210 соединяется с возможностью передачи информации со всеми элементами вычислительного устройства 200 для упрощения операций по передаче информации и обработке данных.

Вычислительное устройство 200 дополнительно включает в себя запоминающее устройство 212 большой емкости для сохранения операционной системы 214, такой как операционная система MICROSOFT WINDOWS® от корпорации Microsoft, Рэдмонд, Вашингтон, или другой подходящей операционной системы. Запоминающее устройство 212 большой емкости также может сохранять различные прикладные программы, как более подробно описано ниже, а также другие программные модули 216 и данные 218 программы.

Запоминающее устройство 212 большой емкости соединяется с процессором 202 через контроллер запоминающего устройства большой емкости (не изображен), соединенный с системной шиной 210. Запоминающее устройство 212 большой емкости, а также связанный с ним машиночитаемый носитель обеспечивают энергонезависимое сохранение для вычислительного устройства 200. Несмотря на то что содержащееся в настоящем документе описание машиночитаемого носителя ссылается на запоминающее устройство большой емкости, такое как накопитель на жестком магнитном диске или накопитель на лазерном диске, специалистам в данной области техники должно быть понятно, что машиночитаемый носитель может являться любым доступным носителем, к которому можно получить доступ посредством вычислительного устройства 200. В качестве примера, а не ограничения, машиночитаемый носитель может содержать компьютерный носитель хранения и среду связи. Компьютерный носитель хранения включает в себя энергозависимые и энергонезависимые, сменные и несменные носители, реализованные при помощи любого способа или технологии для сохранения информации, такой как машиночитаемые команды, структуры данных, программные модули или другие данные. Компьютерный носитель хранения, в числе прочего, включает в себя RAM, ROM, EPROM, EEPROM, флэш-память или твердотельную память другой технологии, CD-ROM, DVD, или другую оптическую память, магнитные кассеты, магнитную ленту, накопитель на магнитных дисках или другие магнитные запоминающие устройства, или любой другой носитель, который может быть использован для сохранения желательной информации, а также к которому можно получить доступ посредством компьютера.

В соответствии с различными вариантами осуществления вычислительное устройство 200 может работать в сетевой среде с использованием логических соединений с удаленными компьютерами по сети 118, которая в некоторых вариантах реализации может являться сетью, использующей протокол управления передачей (TCP) и протокол сети Интернет (IP), такой как сеть Интернет. Вычислительное устройство 200 может соединиться с сетью 118 по сетевому интерфейсу 220 (например, по проводному или беспроводному сетевому интерфейсу), соединенному с системной шиной 210. Следует понимать, что сеть 118 может содержать сеть любого типа, в соответствии с описанными вариантами осуществления, включающего в себя, в числе прочего, глобальную сеть (WAN), локальную сеть (LAN) и/или сотовую телефонную сеть, а также, что сетевой интерфейс 220 может поддерживать различные транспортные уровни, такие как GPRS, CDMA 1xRTT, IEEE 802.11, Bluetooth® (PAN) и другие, для соединения с множеством сетей и/или удаленных компьютерных систем.

Вычислительное устройство 200 может включать в себя контроллер 222 ввода/вывода для приема и обработки входных данных от нескольких устройств 224 ввода. Пользователь может ввести в команды и информацию в вычислительное устройство 200 через различные устройства 224 ввода, такие как клавиатура и указательное устройство, такое как мышь, трекбол или сенсорная панель. Другие примеры устройств 224 ввода могут включать в себя микрофон, джойстик, игровую панель, спутниковую антенну, сканер или подобное. Устройства 224 ввода могут быть соединены с процессором 202 через контроллер 222 ввода/вывода, который соединен с системной шиной 210, а также могут быть соединены посредством других интерфейсов и шинных структур, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB). Контроллер 222 ввода/вывода также может предоставить выходные данные различным устройствам 224 вывода, таким как монитор или устройство отображения другого типа, которое соединено через контроллер 222 ввода/вывода с системной шиной 210, принтер, спикеры и другие периферийные устройства.

Как было упомянуто выше, многие программные модули и файлы данных могут быть сохранены в запоминающем устройстве 212 большой емкости и памяти 206 RAM вычислительного устройства 200. В примере, иллюстрированном на фиг.2, запоминающее устройство 212 большой емкости и память 206 RAM могут сохранять операционную систему 214, а также одну или несколько серверных программ 122, включающих в себя роль 124 транспортного сервера-концентратора, содержащую агент 125 ведения журнала, и роль 126 сервера почтовых ящиков, содержащую агент 127 согласования. В соответствии с различными вариантами осуществления агент 127 согласования может функционировать для выполнения одной или нескольких технологий согласования и промежуточной обработки. Например, в одном варианте осуществления агент 127 согласования может быть реализован так, как описано со ссылкой на фиг.3.

Фиг.3 иллюстрирует один вариант осуществления приложения 300 согласования, подходящего для осуществления на практике различных вариантов осуществления. На основании фиг.1 и 2 в некоторых вариантах реализации приложение 300 согласования может функционировать в качестве агента 127 согласования, в качестве одной из серверных программ 122, которая располагается на сервере 110 электронной почты. Одна или несколько частей приложения 300 электронной почты также могут быть реализованы посредством прикладных программ в памяти 206 RAM вычислительного устройства 200 или в любом другом варианте, известном из уровня техники программных средств.

Как иллюстрировано, приложение 300 электронной почты может включать в себя хранилище 310 сообщений. Несмотря на то что в иллюстративных целях, а не в качестве ограничения, хранилище 310 сообщений было изображено в качестве части приложения 300 согласования, следует понимать, что хранилище 310 сообщений может располагаться в различных местоположениях, в соответствии с описанными вариантами осуществления. Например, хранилище 310 сообщений может располагаться на сервере 110 электронной почты и/или в базе 150 данных сервера электронной почты. В качестве одного неограничивающего примера хранилище 310 сообщений приложения 300 согласования может располагаться в пределах данных 218 программы вычислительного устройства 200 либо в базе данных и/либо в одном или нескольких файлах. В качестве другого неограничивающего примера хранилище 310 сообщений может полностью или частично располагаться в каталоге, определенном посредством пользователя в файловой системе операционной системы, такой как операционная система 214.

В примере, иллюстрированном на фиг.3, хранилище 310 сообщений включает в себя одно или несколько сообщений, ожидающих согласования, которые могут быть классифицированы в качестве сообщения 312 генерации-0 (Gen-0), сообщения 314 генерации-1 (Gen-1), сообщения 316 генерации-2 (Gen-2) и сообщения 318 генерации-3 (Gen-3). В различных вариантах осуществления в соответствии с классификацией сообщений могут быть выданы запросы. Например, запросы могут быть выданы на основе генераций согласования для оптимизации эффективности процесса согласования, а также для минимизации количества запросов архива 140.

В некоторых вариантах осуществления сообщения, ожидающие согласования, могут быть классифицированы в качестве сообщений 312 Gen-0 на основе задержки, связанной с архивом 140. Сообщения, принятые посредством приложения 300 согласования и классифицированные в качестве сообщений 312 Gen-0, могут соответствовать сообщениям, которые недавно были отправлены в архив 140. В соответствии с различными вариантами осуществления запросы не выдаются для ожидающих сообщений 312 Gen-0, а также откладываются до тех пор, пока не истечет задержка, связанная с архивом 140.

В течение короткого интервала времени, после приема конкретного сообщения посредством приложения 300 согласования, копия конкретного сообщения может быть локально сохранена в кэш-памяти 320, кроме того, к ней может быть предоставлен доступ. В некоторых вариантах осуществления сообщения, ожидающие согласования, могут быть классифицированы в качестве сообщений 314 Gen-1 на основе интервала времени, в течение которого к копии конкретного сообщения в кэш-памяти 320 может быть предоставлен локальный доступ. Сообщения, принятые посредством приложения 300 согласования и классифицированные в качестве сообщений 314 Gen-1, могут соответствовать сообщениям, доставку и/или обработку которых ожидает архив 140. Кроме того, во время, когда копия сообщения является доступной в кэш-памяти 320, могут быть реализованы сохранения I/O. В различных вариантах реализации для сообщений 314 Gen-1 отправляются запросы подтверждения доставки, а также осуществляется попытка обработки почти всех сообщений в течение срока сохранения кэш-памяти 320.

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

В некоторых вариантах осуществления сообщения, ожидающие согласования, могут быть классифицированы на основе отказа подтверждения архивирования таких сообщений. После приема отрицательных ответов для конкретных сообщений приложение 300 согласования может классифицировать сообщения в качестве сообщений 316 Gen-2. Сообщения могут оставаться классифицированными в качестве сообщений 316 Gen-2 на основе времени, требуемого для устранения задержек сообщений. Ожидающие сообщения, классифицированные в качестве сообщений 316 Gen-2 посредством приложения 300 согласования, могут соответствовать неподтвержденным сообщениям, испытывающим проблемы задержки. В соответствии с различными вариантами осуществления запросы не выдаются для сообщений 316 Gen-2, а также отсрочиваются для предоставления возможности устранения задержек почты.

Ожидающие сообщения, классифицированные в качестве сообщений 318 Gen-3 посредством приложения 300 согласования, могут соответствовать неподтвержденным сообщениям, испытывающим проблемы задержки, которые теперь могут быть устранены. Приложение 300 согласования может выдать повторные запросы для одного или нескольких сообщений 318 Gen-3. После приема положительного ответа для конкретного сообщения приложение 300 согласования может подтвердить, что ранее неподтвержденное сообщение было помещено в архив, а также может удалить сообщение из хранилища 310 сообщений. Если принят отрицательный ответ для повторного запроса, то неподтвержденное сообщение остается в хранилище 310 сообщений для предоставления гарантии его доступности до тех пор, пока не будет подтверждено, что сообщение было помещено в архив.

Если одно или несколько сообщений 318 не могут быть подтверждены, то агент 127 согласования может выполнить промежуточную обработку посредством повторного представления сообщений 318 Gen-3 в архив 140. До подтверждения того, что конкретное сообщение было помещено в архив, неподтвержденное сообщение остается в хранилище 310 сообщений для предоставления гарантии его доступности. Приложение 300 согласования может повторно представить неподтвержденные сообщения 318 Gen-3 в архив 140, а также может сохранять копию каждого неподтвержденного сообщения в хранилище 310 сообщений. После повторного представления конкретного неподтвержденного сообщения в архив 140 процесс согласования может начинаться вновь до тех пор, пока не будет подтверждено, что конкретное сообщение было помещено в архив. Следует понимать, что даже в случае, когда конкретное сообщение не может быть согласовано, сообщение сохраняется в хранилище 310 сообщений для предоставления гарантии его доступности.

Как иллюстрировано, приложение 300 электронной почты может включать в себя логику 330 согласования и промежуточной обработки, которая может являться ответственной за выполнение некоторых или всех технологий согласования и промежуточной обработки, описанных в настоящем документе. В примере, иллюстрированном на фиг.3, логика 330 согласования и промежуточной обработки включает в себя логику 322 для приема сообщений, предназначенных для согласования, логику 334 для классификации сообщений, ожидающих согласования, логику 336 для выдачи запросов архива, логику 338 для подтверждения архивирования сообщений, логику 340 для удаления подтвержденных сообщений и логику 342 для промежуточной обработки неподтвержденных сообщений.

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

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