Технологии автоматического диалога

Иллюстрации

Показать все

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

Реферат

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Фиг. 9 иллюстрирует вариант осуществления логической последовательности операций.

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

Подробное описание изобретения

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

Различные варианты осуществления могут быть направлены на технологии автоматического ведения диалога для приложения обмена сообщениями. Технологии автоматического ведения диалога могут быть реализованы для любого приложения обмена сообщениями. Примеры приложений обмена сообщениями могут включать в себя, но не только, приложение обмена почтовыми сообщениями, программу обмена текстовыми сообщениями, программу обмена сообщениями по протоколу службы коротких сообщений (SMS), программу обмена сообщениями по протоколу службы мультимедийных сообщений (MMS), программу обмена речевыми сообщениями, программу обмена видеосообщениями и т.д. В одном варианте осуществления, технологии автоматического ведения диалога могут описываться в отношении почтового приложения в качестве примера, а не ограничения. Конкретные реализации могут реализовывать технологии автоматического ведения диалога с другими приложениями обмена сообщениями и, тем не менее, по-прежнему находиться в рамках объема по вариантам осуществления.

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

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

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

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

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

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

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

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

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

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

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

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

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

В проиллюстрированном варианте осуществления, показанном на фиг. 1, операционное окружение 100 может содержать, помимо других элементов, клиентское вычислительное устройство 110 и серверное вычислительное устройство 130. Вычислительные устройства 110, 130 могут быть реализованы с использованием любого подходящего электронного устройства, имеющего вычислительные возможности и возможность связи. Примеры для вычислительных устройств 110, 130 могут включать в себя, но не только, мобильное устройство, персональное цифровое устройство, мобильное вычислительное устройство, смартфон, сотовый телефон, переносной телефон, одностороннее устройство поискового вызова, двухстороннее устройство поискового вызова, устройство обмена сообщениями, компьютер, персональный компьютер (PC), настольный компьютер, портативный компьютер, ноутбук, карманный компьютер, сервер, массив серверов или ферма серверов, веб-сервер, сетевой сервер, Интернет-сервер, рабочую станцию, миникомпьютер, мэйнфрейм, суперкомпьютер, сетевое устройство, устройство для доступа на основе веб-технологий, распределенную вычислительную систему, многопроцессорные системы, процессорные системы, бытовую электронную аппаратуру, программируемую бытовую электронную аппаратуру, телевизионный приемник, цифровой телевизионный приемник, абонентскую приставку, точку беспроводного доступа, базовую станцию, абонентскую станцию, мобильный абонентский центр, контроллер радиосети, маршрутизатор, концентратор, шлюз, мост, коммутатор, машину или комбинацию вышеозначенного. Хотя операционное окружение 100, как показано на фиг. 1, имеет ограниченное число узлов в определенной топологии, можно принимать во внимание, что операционное окружение 100 может включать в себя большее или меньшее число узлов в альтернативных топологиях требуемым образом для данной реализации.

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

Вычислительные устройства 110, 130 могут реализовывать соответствующие вычислительные системы 120, 120a. Вычислительные системы 120, 120a могут включать в себя различные вычислительные элементы, такие как один или более процессоров, сопроцессоров, запоминающих устройств, наборов микросхем, контроллеров, периферийных устройств, интерфейсов, генераторов, синхронизирующих устройств, видеокарт, звуковых карт, мультимедийных компонентов ввода-вывода и т.д. Вычислительные системы 120, 120a могут реализовывать, помимо других элементов, соответствующие клиентские прикладные программы 122 и серверные прикладные программы 132. В примере, проиллюстрированном на фиг. 1, клиентские прикладные программы 122 могут содержать клиентское почтовое приложение 124 и другие приложения 126, а серверные прикладные программы 132 могут содержать серверное почтовое приложение 134 и другие приложения 136. В различных реализациях, клиентское почтовое приложение 124 и/или серверное почтовое приложение 134 может выполнять одну или более технологий агрегирования и отображения элементов в соответствии с описанными вариантами осуществления.

Приложения 126 могут содержать один или более типов прикладных программ, поддерживающих работу клиентского вычислительного устройства 110. Примерные прикладные программы могут включать в себя, без ограничения, приложение веб-обозревателя, телефонное приложение (к примеру, сотовое, VoIP, PTT), сетевое приложение, приложение обмена сообщениями (к примеру, IM, SMS, MMS), приложение для работы с календарем, приложение для управления контактами, приложение для управления задачами, приложение обработки текстов, приложение электронных таблиц, приложение управления базами данных, мультимедийное приложение (к примеру, видеопроигрыватель, аудиопроигрыватель, мультимедийный проигрыватель, цифровую камеру, видеокамеру, управление мультимедиа), приложение предоставления услуг на основе информации о местоположении (LBS), игровое приложение и т.д.

Приложения 136 могут содержать один или более типов прикладных программ, поддерживающих работу серверного вычислительного устройства 130. В различных реализациях, приложения 136 могут включать в себя серверные прикладные программы, поддерживающие работу серверного вычислительного устройства 130 как почтового сервера, веб-сервера и/или файлового сервера в соответствии с описанными вариантами осуществления. В некоторых случаях, одно или более приложений 136 может содержать сеть, сервер или версию на основе веб-технологий одного или более приложений 126. В таких случаях, приложения 126, 136 могут работать отдельно, например, когда клиентское вычислительное устройство 110 находится оффлайн, или могут взаимодействовать, когда клиентское вычислительное устройство 110 находится онлайн и подключено к серверному вычислительному устройству 130 через сеть 118.

Вычислительные системы 120, 120a также могут содержать соответствующие операционные системы 128, 138, подходящие для управления работой клиентского вычислительного устройства 110 и серверного вычислительного устройства 130. В некоторых вариантах осуществления, операционные системы 128, 138 могут содержать соответствующие клиентские и серверные версии операционной системы, такой как операционная система MICROSOFT WINDOWS® от Корпорации Microsoft, Редмонд, Вашингтон. Можно принимать во внимание, что другие подходящие операционные системы могут использоваться для клиентского вычислительного устройства 110 и/или серверного вычислительного устройства 130.

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

В дополнение к соответствующим вычислительным системам 120, 120a, вычислительные устройства 110, 130 могут реализовывать соответствующую систему 150, 150a связи. Системы 150, 150a связи могут включать в себя различные элементы обмена данными, такие как передающее устройство, приемное устройство, приемо-передающее устройство, радиостанция, сетевой интерфейс, процессор полосы модулирующих частот, антенна, усилители, фильтры и т.д. В одном варианте осуществления, например, вычислительные устройства 110, 130 могут быть реализованы с использованием вычислительной архитектуры и архитектуры связи, как описано со ссылкой на фиг. 2.

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

Вычислительное устройство 200 дополнительно включает в себя устройство 214 хранения данных большой емкости для сохранения операционной системы, такой как операционная система 128, а также других программных модулей 216 и программных данных 218. Устройство 214 хранения данных большой емкости также может сохранять различные прикладные программы, как подробнее описано ниже.

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

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

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

Как упомянуто выше, определенное число программных модулей и файлов данных может сохраняться в устройстве 214 хранения данных большой емкости и RAM 208 вычислительного устройства 200. В примере, проиллюстрированном на фиг. 2, устройство 214 хранения данных большой емкости и RAM 208 могут сохранять операционную систему 128, а также одну или более клиентских прикладных программ 122, включающих в себя клиентское почтовое приложение 124 и другие приложения 126. Можно принимать во внимание, что в некоторых реализациях, устройство 214 хранения данных большой емкости и RAM 208 могут сохранять операционную систему 138, а также одну или более серверных прикладных программ 132, включающих в себя серверное почтовое приложение 134 и другие приложения 136.

Согласно различным вариантам осуществления, клиентское почтовое приложение 124 и/или серверное почтовое приложение 134 может реализовывать одну или более технологий автоматического ведения диалога. В одном варианте осуществления, например, клиентское почтовое приложение 124 и/или серверное почтовое приложение 134 может быть реализовано так, как описано со ссылкой на фиг. 3.

Фиг. 3 иллюстрирует один вариант осуществления почтового приложения 300, подходящего для осуществления на практике различных вариантов осуществления. Со ссылкой на фиг. 1 и 2, в некоторых реализациях, почтовое приложение 300 может работать в качестве клиентского почтового приложения 124 как одна из клиентских прикладных программ 122, которые постоянно размещаются на вычислительном устройстве 110. Альтернативно или дополнительно, почтовое приложение 300 может работать в качестве серверного почтового приложения 134 как одна из серверных прикладных программ 132, которые постоянно размещаются на вычислительном устройстве 130. Дополнительно, одна или более частей почтового приложения 300 могут быть распределены между клиентским почтовым приложением 124 и серверным почтовым приложением 134. Одна или более частей почтового приложения 300 также могут быть реализованы посредством прикладных программ в RAM 208 вычислительного устройства 200, на другом удаленном компьютере или в любом другом варианте, как должно быть очевидным специалистам в области техники компьютерного программного обеспечения.

Как