Способ и устройство для реализации распределенных мультимодальных приложений

Иллюстрации

Показать все

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

Реферат

Область техники, к которой относится изобретение

Обладающий признаками изобретения объект в общем относится к распределенным приложениям, и, более конкретно, к распределенным мультимодальным приложениям, реализуемым в системной среде "клиент - сервер".

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

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

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

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

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

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

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

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

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

фиг. 1 - упрощенная схема системы, адаптированной для реализации распределенных мультимодальных приложений, в соответствии с примерным вариантом осуществления;

фиг. 2 - блок-схема способа инициирования и проведения сеанса связи мультимодального приложения, в соответствии с примерным вариантом осуществления;

фиг. 3 - блок-схема способа выполнения инициирования сеанса связи мультимодального приложения, в соответствии с примерным вариантом осуществления;

фиг. 4 - пример визуальной разметки, воспроизводимой на клиентском устройстве, в соответствии с примерным вариантом осуществления;

фиг. 5 - блок-схема способа выполнения процесса манипулирования генерируемым голосовым сервером событием, в соответствии с примерным вариантом осуществления; и

фиг. 6 - блок-схема способа выполнения процесса манипулирования генерируемым клиентом событием, в соответствии с примерным вариантом осуществления.

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

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

Как используется в данном описании, термин "мультимодальный" означает "адаптированный для реализации множества модальностей пользовательского интерфейса". Термины "распределенное мультимодальное приложение", "мультимодальное приложение" и "распределенное приложение" могут использоваться взаимозаменяемым образом, чтобы обозначать программное приложение, которое обеспечивает мультимодальный пользовательский интерфейс в клиентском устройстве (например, в клиентском устройстве 102, фиг. 1), и которое включает в себя отдельные компоненты, выполняемые в отдельных оперативных средствах на различных платформах (например, клиентское устройство 102, сервер 104 приложений и/или голосовой сервер 106, фиг. 1), где различные платформы взаимосвязаны через сеть (например, через сеть 108, фиг. 1).

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

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

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

Как используется в данном описании, термин "интерпретировать" означает "интерпретировать" и/или "выполнять", как эти термины понимаются специалистами в данной области техники. Термин "машинный код", как используется в данном описании, означает разметку (например, разметку, производимую на стандартном обобщенном языке разметки (SGML), расширяемом языке разметки (XML), языке гипертекстовой разметки (HTML), расширяемом HTML (XHTML), динамическом HTML (DHTML), VoiceXML, языке тегов речевых приложений (SALT), масштабируемой векторной графике (SVG) и/или различных других языках разметок), сценарии (например, код JavaScript), оттранслированную программу (например, откомпилированную C/C++, Java, Lisp, Fortran, Pascal и так далее), и/или другую информацию, которая может быть без труда выполнена или интерпретирована компьютерным процессором (например, клиентским устройством 102, сервером 104 приложений и/или голосовым сервером 106, фиг. 1).

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

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

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

Фиг. 1 представляет упрощенную схему системы 100, адаптированной для реализации распределенных мультимодальных приложений, в соответствии с примерным вариантом осуществления. Система 100 включает в себя множество системных объектов, которые включают в себя, в варианте осуществления, по меньшей мере одно клиентское устройство 102, сервер 104 приложений (AS) и голосовой сервер 106 (VS). Как будет подробно объясняться ниже, между этими системными объектами устанавливаются различные тракты данных и управления, и системные объекты соблюдают различные коммуникационные протоколы, чтобы поддерживать реализацию сеанса связи распределенного мультимодального приложения в пределах системы 100. Как используется в данном описании, термин "сеанс связи мультимодального приложения" может быть определен как образец распределенного мультимодального приложения. В варианте осуществления сеанс связи мультимодального приложения включает в себя интерпретирование (например, выполнение и/или интерпретирование) машинного кода (например, машинного кода, связанного с компонентом 114 приложения на стороне клиента и/или с группой из одной или более связанных мультимодальных страниц 115) клиентским устройством 102 в связи с интерпретированием группы из одного или более соответствующих речевых диалогов голосовым сервером 106.

Хотя иллюстрируется только одно клиентское устройство 102, система 100 может включать в себя множество подобных или различных типов клиентских устройств. Например, клиентское устройство 102 может формировать часть электронного устройства, выбираемого из группы устройств, которые включают в себя, но не ограничиваясь этим, телефон для сотовой связи, радиоприемник, пейджер, персонального цифрового секретаря (PDA), персональное навигационное устройство (PND), портативную компьютерную систему (например, автомобильную или самолетную компьютерную систему), компьютер (например, дорожный компьютер, портативный компьютер или настольный компьютер) и телефон передачи голоса по межсетевому протоколу (VoIP), реализованный в компьютере, где указаны только несколько.

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

В варианте осуществления клиентское устройство 102 адаптировано так, чтобы выполнять один или более экземпляров клиентского промежуточного программного обеспечения 110, клиентского браузера 112 и/или компонента 114 приложения на стороне клиента. Как используется в данном описании, термин "промежуточное программное обеспечение" означает программное обеспечение для компьютеров, которое обеспечивает сопряжение между программными компонентами и/или приложениями, выполняемыми на отдельных объектах обработки данных (например, на клиентах, серверах или других объектах обработки данных). В варианте осуществления клиентское промежуточное программное обеспечение 110 адаптировано так, чтобы обеспечивать сопряжение между клиентским браузером 112 и/или компонентом 114 приложения на стороне клиента и одним или более серверами (например, сервером 104 приложений и голосовым сервером 106) через сеть 108.

Клиентский браузер 112 адаптирован так, чтобы обращаться к машинному коду (например, к мультимодальной странице 115) в клиентском устройстве 102 в связи с компонентом 114 приложения на стороне клиента и дополнительно интерпретировать машинный код. В конкретном варианте осуществления клиентский браузер 112 адаптирован так, чтобы обращаться, по меньшей мере, к одной мультимодальной странице 115 и интерпретировать машинный код (например, разметку, сценарии и другую информацию) в пределах мультимодальной страницы 115. Как используется в данном описании, термин "мультимодальная страница" означает информационный набор, представляющий по меньшей мере один взаимодействующий с пользователем элемент отображения, который может быть визуально представлен на клиентском устройстве 102 и для которого пользователь может вводить информацию и/или указывать выбранный элемент через любую из множества модальностей (например, голосовую модальность и визуальную модальность). Мультимодальная страница 115 может включать в себя, в качестве примера, но не посредством ограничения, web-страницу, документ, файл, форму, перечень или другой тип информационного набора. При ее интерпретировании, мультимодальная страница 115 может заставлять клиентское устройство 102 воспроизводить один или более взаимодействующих с пользователем элементов отображения. Как используется в данном описании, "взаимодействующий с пользователем элемент отображения" может включать в себя, в качестве примера, но не посредством ограничения, помимо всего прочего, поле ввода текста, выбираемый элемент (например, кнопку или экранную кнопку) и/или интерактивный текст. Наряду с одним или более взаимодействующими с пользователем элементами отображения, мультимодальная страница также может включать в себя другую информацию и/или элементы, например, такие как текстовая информация, изображения (например, статические или динамические изображения), звуковые данные, видеоизображение, гипертекстовые связи, метаданные и сценарии.

В варианте осуществления мультимодальная страница 115 включает в себя разметку, которая может заставлять клиентский браузер 112 и/или компонент 114 приложения на стороне клиента (или другое программное обеспечение синтаксического анализа) выполнять один или более внедренных или указанных ссылкой сценариев (например, код JavaScript). Сценарий может быть внедрен в мультимодальную страницу 115, или сценарий может упоминаться в мультимодальной странице 115, и клиентский браузер 112 и/или компонент 114 приложения на стороне клиента может обращаться к сценарию из внешнего источника (например, из сервера) или из локального запоминающего устройства (например, из кэш-памяти в клиентском устройстве 102). В альтернативном варианте осуществления сценарий может быть внедрен или может упоминаться скорее в компоненте 114 приложения на стороне клиента, чем на мультимодальной странице 115. В варианте осуществления сценарий может быть адаптирован так, чтобы заставлять клиентское устройство 102 выдавать асинхронный запрос на сервер 104 приложений для ряда целей, как будет подробно описано ниже в связи с фиг. 2-6. В представленном ниже описании, когда клиентское устройство 102, как говорят, посылает управляющее сообщение на сервер 104 приложений, во многих случаях это можно интерпретировать как клиентское устройство 102, выдающее асинхронный запрос на сервер 104 приложений. Точно так же, когда сервер 104 приложений, как говорят, посылает управляющее сообщение на клиентское устройство 102, это можно интерпретировать как сервер 104 приложений, выдающий ответ на асинхронный запрос, предварительно посланный клиентским устройством 102. В варианте осуществления асинхронные запросы посылаются как асинхронные запросы протокола передачи гипертекста (HTTP), а ответы представляют собой ответы HTTP.

Компонент 114 приложения на стороне клиента и/или мультимодальная страница 115 могут быть разработаны с использованием методик AJAX (Асинхронного JavaScript и расширяемого языка разметки (XML)), и, в варианте осуществления, соответственно, могут включать в себя разметку XML и JavaScript, адаптированные так, чтобы посылать асинхронные запросы (например, асинхронные запросы HTTP) и обрабатывать ответы (например, ответы HTTP) на эти запросы. В других вариантах осуществления компонент 114 приложения на стороне клиента и/или мультимодальная страница 115 могут быть разработаны с использованием других типов программирования, создания сценариев и/или языков разметок.

Как используется в данном описании, термин "язык разметки" означает определенный набор правил синтаксиса для информации (например, разметку или другой машинный код), который можно вкладывать в информационный набор (например, в мультимодальную страницу 115 или другой машинный код), и который указывает, для программного обеспечения синтаксического анализа (например, для клиентского браузера 112 и/или компонента 114 приложения на стороне клиента), структуру, размещение и/или другие характеристики элементов отображения (например, текста или другого содержимого), когда элементы воспроизводятся на электронном устройстве, помимо всего прочего. В качестве примера, но не посредством ограничения, разметка, связанная с языком разметки, может включать в себя разметку представления, процедурную разметку и/или описательную разметку (также упоминаемую как "семантическая" разметка). Языки разметок, которые могут использоваться в различных вариантах осуществления, включают в себя, но не ограничиваясь этим, SGML, XML, HTML, XHTML, DHTML, VoiceXML, SALT, SVG и различные другие языки разметок.

Клиентский браузер 112 включает в себя программу программного обеспечения, которая адаптирована так, чтобы выполнять синтаксический анализ машинного кода (например, разметки) в пределах мультимодальной страницы (например, мультимодальной страницы 115) и/или обеспечивать сопряжение с компонентом 114 приложения на стороне клиента способом, который дает возможность клиентскому устройству 102 воспроизводить текст, изображения, видеоизображения, музыку и/или другую информацию, представленную или упомянутую в машинном коде и/или компоненте 114 приложения на стороне клиента. В различных вариантах осуществления клиентский браузер 112 может включать в себя, но не ограничиваясь этим, браузер HTML/XHTML, браузер протокола приложений для беспроводной связи (WAP), заказное приложение и/или коммерчески доступный браузер (например, Internet Explorer (Интернет-эксплорер), Mozilla Firefox, Safari, Opera и Netscape, где указаны только несколько). В конкретном варианте осуществления клиентский браузер 112 представляет собой браузер XHTML, который поддерживает выполнение JavaScript и сетевую передачу информации HTTP, и который также имеет возможности манипулирования звуком. Клиентский браузер 112 является "мультимодально активизируемым", в варианте осуществления, и это означает, что клиентский браузер 112 адаптирован так, чтобы интерпретировать машинный код, связанный с мультимодальными приложениями.

Компонент 114 приложения на стороне клиента включает в себя приложение программного обеспечения для компьютеров. В варианте осуществления компонент приложения на стороне клиента закодирован на поддерживаемом браузером языке (например, на SGML, XML, HTML, XHTML, DHTML или других языках разметки) и полагается на клиентский браузер 112, чтобы воспроизводить выполняемый компонент приложения. В других вариантах осуществления компонент 114 приложения на стороне клиента может не полагаться на клиентский браузер 112, чтобы воспроизводить выполняемый компонент приложения. Может быть разработано множество различных типов компонентов 114 приложения на стороне клиента, включая, например, компоненты приложения, связанные с приложениями картографирования, навигационными приложениями и поисковыми приложениями, где указаны только несколько.

Клиентское устройство 102 может устанавливать связь с сервером 104 приложений и голосовым сервером 106 через одну или более сетей 108. Сеть 108 может включать в себя, например, сеть с коммутацией пакетов и/или сеть с коммутацией каналов, и, более конкретно, может включать в себя одну или более из Интернета, персональной сети (PAN), локальной сети (LAN), глобальной сети (WAN), широкополосной LAN (WLAN), телефонной сети сотовой связи, радиосети, сети спутниковой связи, коммутируемой телефонной сети общего пользования (PSTN) и/или любой из ряда других типов сетей, адаптированных так, чтобы допускать обмен информацией между различными системными объектами. Сеть 108 может быть адаптирована для обмена информацией между системными объектами, использующими любой из ряда протоколов проводной или беспроводной связи.

Сервер 104 приложений (AS) адаптирован так, чтобы выполнять различные услуги для клиентского устройства 102. В варианте осуществления сервер 104 приложений адаптирован так, чтобы выполнять один или более экземпляров из промежуточного программного обеспечения 116 AS и услуг 118 AS, как будет более подробно описано ниже. В варианте осуществления промежуточное программное обеспечение 116 AS адаптировано так, чтобы обеспечивать сопряжение с голосовым сервером 106 и клиентским устройством 102 через подключение 140 сервера к серверу и сеть 108, соответственно.

В варианте осуществления, услуги 118 AS включают в себя программное обеспечение установления сеанса связи, которое адаптировано так, чтобы инициировать установление различных трактов 120, 122, 124 передачи данных и управления между клиентским устройством 102, сервером 104 приложений и голосовым сервером 106, в связи с сеансом связи мультимодального приложения. Тракты передачи данных и управления, связанные с сеансом связи мультимодального приложения, могут включать в себя, например, тракт 120 управления AS/клиента, тракт 122 управления AS/VS и тракт 124 звуковых данных VS/клиента. В варианте осуществления клиентское устройство 102 и сервер 104 приложений могут обмениваться информацией по тракту 120 управления AS/клиента, а клиентское устройство 102 и голосовой сервер 106 могут обмениваться информацией по тракту 124 звуковых данных VS/клиента, где по меньшей мере части тракта 120 управления AS/клиента и тракта 124 звуковых данных VS/клиента установлены через одну или более сетей 108. Сервер 104 приложений и голосовой сервер 106 могут обмениваться информацией по тракту 122 управления AS/VS, по меньшей мере часть которого установлена через подключение 140 сервера к серверу, которое может включать в себя прямые, аппаратные линии связи или которое может быть воплощено через одну или более проводных или беспроводных сетей или других промежуточных объектов.

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