Динамический опыт пользователя посредством семантически богатых объектов
Иллюстрации
Показать всеИзобретение относится к области компьютерных пользовательских интерфейсов. Техническим результатом является расширение функциональных возможностей за счет использования объектов с широкими семантическими возможностями. В компьютеризированном способе обеспечения динамического взаимодействия пользователя с компьютерной программой посредством семантических объектов одно или большее количество действий в процессе представляют с помощью семантических объектов (SO) для представления функциональных возможностей процесса. Каждый из SO включает в себя метаданные, связанные с действием и средой его выполнения. В ответ на интерактивное действие от пользователя выбирают, по меньшей мере, один из SO для выполнения требуемого действия в процессе, метаданные извлекают из выбранных SO для определения, доступно ли требуемое действие в среде выполнения процесса. 3 н. и 15 з.п. ф-лы, 9 ил.
Реферат
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
Пользователи часто взаимодействуют с компьютерными прикладными программами через последовательность операций на основе форм или действий для доступа к функциональным возможностям прикладных программ. Например, при выборе объекта пиктограммы на компьютерном дисплее с использованием устройства ввода данных, такого как мышь, пользователю может быть представлено меню опций. Пользователь может затем выбрать одну из опций для взаимодействия с выбранным объектом пиктограммы, используя функциональные возможности прикладных программ (например, «скопировать» выделенный текст или «послать» выбранный документ получателю электронной почты). Таким образом, набор меню становится точкой входа для опыта пользователя с прикладными программами. В настоящее время доступные схемы пользовательского интерфейса невыгодно ограничивают пользователя только этими отображаемыми опциями, потому что приложения обычно включают в себя другие функциональные возможности, которые не представлены пользователю. Следовательно, пользователь не может видеть то, что проектировщик/разработчик формы не запрограммировал или не представил в существующей схеме пользовательского интерфейса. Чтобы показать все или большинство функциональных возможностей приложения, проектировщики или разработчики пользовательского интерфейса в настоящее время должны жестко программировать данные функциональные возможности.
Например, бизнес-приложения используют формы, способы «навигации», интерфейсы запросов и другие специальные элементы пользовательского интерфейса (UI, ПИ) для создания у пользователя необходимого впечатления от взаимодействия. Разработка элементов ПИ определяет точки входа пользователей в состояние и поведение приложения. К сожалению, разработка элементов ПИ также ограничивает эти точки входа. Кроме того, например, приложения автоматизации рабочего процесса обычно представляют задания пользователю в форме, специализированной к требованиям конкретного задания (например, форме для задания «санкционировать данный заказ»). Таким образом, пользователи могут не знать о конкретном задании столько, сколько они хотели бы (например, «Что случится, если задание будет пропущено? Существуют ли другие невыполненные задания, относящиеся к данному заданию?»), что усложняет совместную работу и совместное использование информации.
Некоторые существующие системы пытаются расширять стандартные или устанавливаемые по умолчанию меню опций посредством предоставления списка клавиш быстрого выбора команд или подсказок для предоставления пользователю возможности дополнительно взаимодействовать с прикладными программами. Однако эти расширенные опции обычно представляются в отдельном списке и только статически расширяют опции по умолчанию, вынуждая пользователей помнить большое количество неудобных для пользователя клавиш быстрого выбора команд.
Доступные в настоящее время приложения автоматизации рабочего процесса обеспечивают ограниченные опции по умолчанию в своих специализированных ПИ. Некоторые другие специализированные системы и интерфейсы ПИ обеспечивают доступ к другим функциональным возможностям приложений через заказные программы или настройки по требованию заказчика. В примере автоматизации рабочего процесса программирование дополнительной информации может заказываться пользователем для специализированного ПИ, но проектировщик ПИ не всегда может предвидеть каждую возможную комбинацию или направление, которые пользователь может захотеть исследовать в связи со специализированным ПИ. Поэтому в дополнение к тому, что они требуют очень много времени, создание заказных программ или настройка по требованию заказчика обычно не охватывают все доступные функциональные возможности и являются статическими по характеру, так что настройка по требованию заказчика имеет конкретное и ограниченное использование.
Предоставление пользователю адекватных функциональных возможностей особенно проблематично в таких устройствах, как мобильные устройства небольшого форм-фактора, в которых трудно поддерживать традиционные «подробные» формы (т.е. формы, в которых заголовки и кадры содержат относительно большое количество пространственной и текстовой информации). Подробные формы включают в себя, например, кнопки, навигационные панели, родительско-дочерние таблицы, в которых дочерняя таблица перемещается синхронно с выбором в родительской таблице, и т.д. Также трудно уведомлять пользователей и о характере информации, с которой они взаимодействуют, и о вариантах работы лежащих в основе бизнес-приложений с информацией. Возможность обращаться к информации посредством речевых команд становится все более важной.
Речевые команды позволяют пользователям обращаться к большему количеству возможностей (т.е. предложений), чем это делают традиционные визуальные формы. Хотя системы со звуковым интерфейсом, такие как системы распознавания речи, обеспечивают наборы основных функций, пользователи необязательно знают, какие функции им доступны. Например, в обычной автоматизированной системе обслуживания клиента пользователь может принимать набор опций через набор созданных заранее записей человеческого голоса. Пользователя можно попросить сказать в телефонную гарнитуру, к какому виду пользовательских услуг он или она хочет получить доступ. В качестве иллюстрации предположим, что пользователь хочет поговорить с сотрудником по связям с клиентами относительно своего счета. Сначала автоматизированная система с голосовым управлением может запросить пользователя выбрать, по поводу каких областей услуг она звонит: «оплата услуг», «добавление услуг», «техническая поддержка» или «другие» услуги. В этом случае пользователь может отвечать на голосовой запрос посредством указания требуемых услуг. После этого начального выбора пользователь принимает дополнительный или многоуровневый набор опций, представляемых пользователю, перед тем, как ее могут направить разговаривать непосредственно с живым сотрудником по связям с клиентом. Во многих случаях существующая система звукового интерфейса позволяет пользователю обходить представленные опции и связываться с живым сотрудником службы по работе с клиентами, говоря «агент», «сотрудник» или «говорить с агентом». Однако этот «скрытый» быстрый вызов обычно не очевиден пользователю даже притом, что системы звукового интерфейса имеют возможность выполнения такого действия.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Варианты осуществления настоящего изобретения преодолевают недостатки предшествующих систем, представляя возможности, доступные пользователю из лежащих в основе источников данных и приложений, используя метаданные, через семантически богатые объекты (объекты с широкими семантическими возможностями) (СБО, SRO). В дополнение к тому, что доступно пользователю через один SRO, метаданные включают в себя информацию, которая позволяет определение того, что доступно пользователю через различные комбинации объектов SRO, представленных теми же самыми или разными приложениями и источниками данных. Альтернативные варианты осуществления дополнительно предоставляют пользователю возможность определять, как использовать объекты SRO в комбинации. Представленные функциональные возможности действий пользователь может комбинировать и использовать удобным способом для дополнительного представления действий и функциональных возможностей прикладной программы. Согласно одному из аспектов изобретения метаданные в SRO можно извлекать и комбинировать с метаданными из другого SRO, так что пользователю можно представлять действия согласно семантическим правилам (например, «Совместно использовать этот документ с Джоном и поместить его в его календарь на 1 июля 2005 в 10:00 утра») в дополнение к отдельным одиночным действиям (например, копировать, вставить или подобное).
Предпочтительно, через представленные метаданные в объектах SRO, варианты осуществления изобретения обеспечивают пользователям действия прикладных программ в простых предложениях, так что процессы в прикладных программах прозрачны пользователю. Варианты осуществления изобретения также представляют отдельные экземпляры объектов SRO, имеющие метаданные, так что программы приложений могут определять соответствующие и доступные действия, не придерживаясь стандартной или статической конфигурации пользовательского интерфейса (ПИ).
Другими словами, аспекты изобретения обеспечивают полное решение проблемы специализированной логики в интерфейсах ПИ, которая определяет и ограничивает возможности пользователей получать полный доступ к изобилию вариантов поведения и возможностей видеть внутреннюю сторону, доступных от бизнес-приложений и т.п. Аспекты изобретения также уменьшают объем кода, необходимого при разработке обычных ПИ на основе форм, посредством увеличения семантического богатства действий, спроектированных лежащими в основе приложениями и источниками данных.
Альтернативно изобретение может содержать различные другие способы и устройства.
Другие признаки будут частично очевидны, а частично указаны в дальнейшем.
Это краткое изложение предоставлено, чтобы в упрощенной форме представить выбор концепций, которые дополнительно описаны ниже в подробном описании. Это краткое изложение не предназначено для идентификации ключевых признаков или существенных признаков заявленной сущности изобретения и также не предназначено для использования в качестве помощи в определении объема заявленной сущности изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 - примерная схема, иллюстрирующая систему для обеспечения динамического опыта пользователя в процессе, используя семантически богатые объекты (SRO), согласно одному из вариантов осуществления изобретения.
Фиг.2 - примерная структурная схема, показывающая структуру данных, иллюстрирующую SRO, который включает в себя метаданные, согласно одному из вариантов осуществления изобретения.
Фиг.3 - примерная структурная схема, иллюстрирующая функциональные возможности, представленные метаданными объектов SRO, согласно одному из вариантов осуществления изобретения.
Фиг.4 - примерная структурная схема, иллюстрирующая динамический опыт пользователя посредством извлечения метаданных из SRO, согласно одному из вариантов осуществления изобретения.
Фиг.5 - примерная последовательность операций, иллюстрирующая способ обеспечения динамического опыта пользователя в пределах процесса, используя семантически богатые объекты (SRO), согласно одному из вариантов осуществления изобретения.
Фиг.6A-6C - структурные схемы, иллюстрирующие представление набора доступных действий в ответ на интерактивный жест пользователя, использующего устройство позиционирования (например, мышь), согласно одному из вариантов осуществления изобретения.
Фиг.7 - структурная схема, иллюстрирующая один из примеров подходящей среды вычислительной системы, в которой можно воплощать данное изобретение.
Приложение A описывает примеры речевых воздействий согласно одному из вариантов осуществления изобретения.
Соответствующие ссылочные позиции указывают соответствующие части по всем чертежам.
ПОДРОБНОЕ ОПИСАНИЕ
Обращаясь сначала к фиг.1, структурная схема иллюстрирует систему 100 для обеспечения динамического опыта пользователя в пределах процесса, использующего семантически богатые объекты (SRO), согласно одному из вариантов осуществления изобретения. Например, система 100 может быть вычислительной системой, такой как компьютер 130 на фиг.7, вычислительное устройство, сервер-компьютер, множество серверов-компьютеров или другое вычислительное устройство, которое способно выполнять машинно-исполнимые команды, приложения, прикладное программное обеспечение, прикладные программы 112, машинно-исполнимые подпрограммы или коды. В другом варианте осуществления система 100 включает в себя вычислительные устройства в распределенной системе, в которой вычислительные устройства связаны с помощью обычной сети связи, такой как корпоративная сеть (интранет), Интернет или подобное.
Все еще обращаясь к фиг.1, система 100 включает в себя процессор 102, связанный с интерфейсом 104. Процессор 102 обрабатывает инструкции или команды от пользователя 106 через интерфейс 104 и выполняет машинно-исполнимые команды, подпрограммы, приложения, прикладные программы и т.п. Интерфейс 104 принимает от пользователя 106 интерактивный жест. Например, интерфейс 104 может быть дисплеем, таким как дисплей, показанный на фиг.7, и пользователь 106 может использовать устройство ввода данных, такое как мышь 182 или клавиатура 180, для выбора одного или большего количества объектов, отображаемых на дисплее. В другом варианте осуществления интерфейсом 104 может быть звуковое устройство, связанное с системой распознавания речи, для обеспечения интерактивного звукового диалога с пользователем 106, так что пользователь 106 может голосом отвечать на звуковые запросы.
Система 100 также включает в себя память 108, которая может быть энергозависимой, энергонезависимой, системной памятью 134 или интерфейсом 166 энергонезависимых запоминающих устройств из фиг.7 или другим машиночитаемым носителем для хранения данных, которые можно передавать по обычной сети связи, такой как Интернет, интранет или другим типам сетей связи.
В одном из вариантов осуществления память 108 хранит множество семантически богатых объектов (SRO) 110, включающих в себя метаданные, которые являются отображениями действий и состояния данных в пределах прикладных программ 112. Например, прикладные программы 112 могут включать в себя действия, функции, операции и т.д. для выполнения задания или для обработки события и могут также содержать данные (см. дальнейшее обсуждение относительно фиг.2) относительно сущности задания (например, заданием является обработка конкретного заказа для определенного клиента). В качестве иллюстрации, прикладная программа автоматизации рабочего процесса обрабатывает рабочие процессы, которые включают в себя назначение заданий, передачу заданий и т.д. Программное обеспечение связи может включать в себя действия, такие как облегчение осуществления связи между двумя сторонами (например, передача сообщений электронной почты, совместное использование документов участниками и т.д.) или обеспечение услуг по передаче сообщений. В качестве другой иллюстрации, мультимедийное программное обеспечение может включать в себя такие действия, как организация мультимедийных объектов (например, звуковых файлов, файлов неподвижных изображений или файлов кинофильмов) или обмен мультимедийными объектами с другим человеком.
В настоящее время набор статических пользовательских интерфейсов на основе форм представляет пользователям действия в пределах этих прикладных программ или процессов. Например, многие известные ПИ имеют для выбора пользователями стандартные наборы пунктов меню высокого уровня, такие как «файл», «правка», «сервис» или «справка». Каждый из этих пунктов меню высокого уровня дополнительно предоставляет дополнительные пункты меню. В дополнение к примеру пункт меню высокого уровня «файл» может включать в себя «открыть», «сохранить», «выйти», «печатать» или другие подпункты. В целом, от пользователя требуется изучить эти различные отдельные пункты меню, чтобы знать или уметь взаимодействовать с прикладными программами 112 или процессами. Этот опыт изучения подобен изучению нового языка; изучению словарей и грамматических или логических правил (например, пункт «открыть» находится в подменю «файл», а не «правка», и т.д.) до взаимодействия с прикладными программами 112.
Преимущественно варианты осуществления изобретения используют метаданные, представляющие действия в пределах прикладных программ 112 или процессов, так что набор доступных или подходящих действий может быть представлен пользователю в зависимости от выбора пользователя и в простом в форме предложения или семантическом формате. В альтернативном варианте осуществления набор доступных или подходящих действий выборочно предоставляют или представляют пользователю, основываясь на контексте или среде выполнения прикладных программ 112. Снова обращаясь к фиг.1, SRO является элементом или объектом, предоставляемым пользователю для прямой манипуляции, изучения или совместного использования в среде выполнения, такой как система 100. Альтернативно SRO может предоставляться пользователю через средство, такое как форма, которая может ограничивать или обогащать варианты поведения, доступные от SRO. В одном из вариантов осуществления SRO может зависеть от контекста или среды выполнения, которой непосредственно управляет пользователь 106. Например, администратору компьютерной сетевой системы может представляться полный набор доступных функций для управления компьютерной сетью. С другой стороны, пользователю А рабочей станции может быть представлен только небольшой набор опций из-за того, что пользователь А рабочей станции имеет роль как «пользователь рабочей станции».
Следует понимать, что схемы ПИ на основе форм могут использоваться вместе или поверх SRO. Например, разработчик ПИ может предоставлять форму с опциями для пользователей, принимая обширную информацию в SRO, так чтобы от разработчика ПИ не требовалось программировать все или некоторые из опций, представленных в форме. Альтернативно варианты осуществления изобретения, использующие SRO, уменьшают объем логического программирования в форме, которую разработчик ПИ обычно обеспечивает для предоставления и обеспечения пользователям функциональных возможностей.
В альтернативном варианте осуществления система 100 хранит в памяти 108 данные, включающие в себя данные, относящиеся к хронологии выполнения процесса прикладных программ 112 до взаимодействия пользователя с выполнением процесса, и модель выполнения процесса, так что система 100 может представлять пользователю 106 набор обычных или часто используемых действий, при извлечении метаданных из объектов SRO 110.
Обращаясь теперь к фиг.2, структурная схема показывает структуру 202 данных, включающую в себя метаданные, согласно одному из вариантов осуществления изобретения. Первое поле 204 данных включает в себя метаданные, представляющие действия, связанные с процессом. Например, первое поле 204 данных может включать в себя метаданные, относящиеся к доступным кодам 206 действий, метаданные, относящиеся к кодам 208 выполнения действий, метаданные, относящиеся к идентификационным номерам обработки жеста (PINS) 210, метаданные, относящиеся к способам 212 расширяемости, и метаданные, относящиеся к объектным моделям 214.
Структура 202 данных также включает в себя второе поле 216 данных, включающее в себя метаданные, представляющие среду выполнения процесса, где первое поле данных связано с указанным вторым полем данных для определения набора доступных действий, которые должны выполняться в среде выполнения процесса. Например, второе поле 216 данных может включать в себя метаданные, относящиеся к контексту 218 приложения, и метаданные, относящиеся к определениям 220 внешних услуг. Например, определения 220 внешних услуг включают в себя метаданные, относящиеся к данным, устанавливающим соответствие интерактивного жеста с осуществлением действия процесса или прикладных программ 112. Например, предположим, что прикладная программа 112 или контекст объекта SRO является услугой интернет-приложения, которое выполняет машинно-исполнимые команды на языке программирования ассемблера. В этом примере определения 220 внешней услуги могут предоставлять метаданные, относящиеся к заданному интерактивному жесту и его соответствующему языку ассемблера, которые должны выполняться услугой интернет-приложения.
В другом варианте осуществления контекст 218 приложения также включает в себя данные, относящиеся к контексту или среде выполнения прикладной программы, действия которой SRO пытаются отобразить. Например, данные, включенные в контекст 218 приложения, могут включать в себя имя пользователя, тип пользователя, среду выполнения пользователя (например, идентификатор компьютера, версию операционной системы или т.д.) или ограничения или пределы, относящиеся к возможности доступа пользователя к одной или большему количеству опций.
В одном варианте осуществления структура 202 данных дополнительно включает в себя третье поле 222 данных, включающее в себя метаданные, представляющие набор семантических правил, причем семантические правила определяют один или большее количество интерактивных жестов, связанных с метаданными в первом поле данных и метаданными во втором поле данных. Например, третье поле 222 данных может включать в себя метаданные, относящиеся к отображению 224 жестов, метаданные, относящиеся к отображению 226 речевых действий, и метаданные, относящиеся к набору контекстных правил 228. В качестве иллюстрации, пользователь 106 может взаимодействовать с объектами SRO 110 в системе 100 через интерактивные жесты, которые могут включать в себя использование мыши, для выбора и перетаскивания пиктограммы на компьютерном рабочем столе, отвечая голосом на звуковой запрос или иным образом (например, нажимая клавиши на телефонной клавиатуре или на клавиатуре). Такие интерактивные жесты дают возможность системе 100 отображать метаданные, извлеченные из выбранных SRO, в набор доступных пользователю действий для взаимодействия с процессами, которые включают в себя рабочие процессы.
В одном из вариантов осуществления набор семантических правил интерпретируют или оценивают, основываясь на метаданных и данных, относящихся к среде выполнения или к контексту прикладной программы, которые включает в себя контекст 218 приложения. Например, когда SRO отображают из приложения/процесса/источника данных, он содержит некоторые начальные данные, как контекст. Среда ПИ (или ПИ, который представляет объекты SRO как содержащиеся в объектах SRO или обеспечивает дополнительный уровень поверх объектов SRO, такой как форма) может добавлять данные в контекст или удалять данные из контекста. Например, набор семантических правил может вычислять имя пользователя/данные типа и добавлять такие данные в ПИ до применения набора семантических правил для интерпретации интерактивных жестов пользователя для извлечения набора доступных пользователю действий из выбранного SRO. В другом примере набор семантических правил может оценивать действие и определять, что такое действие может использоваться только один раз. Таким образом, ПИ не предоставляет действие пользователю.
В то время как структура 202 данных включает в себя поля данных, содержащие метаданные показанных типов, там могут содержаться другие типы метаданных или данные, имеющие информацию, относящуюся к выполнению процессов в пределах прикладных программ 112 или к среде выполнения процессов, без отхода от объема изобретения. Кроме того, в то время как варианты осуществления изобретения используют метаданные в качестве примерного типа данных, может использоваться другая конфигурация или организация данных, которая описывает каждый элемент, управляемый и/или выполняемый во время исполнения данных, так что нет никакой потребности в перекомпиляции данных перед выполнением, без отхода от объема изобретения.
Для дополнительной иллюстрации объектов SRO, фиг.3 является структурной схемой, описывающей функциональные возможности, представленные метаданными объектов SRO, согласно одному из вариантов осуществления изобретения. В показанном варианте осуществления, например, процессы, такие как приложение 302 агрегирования, приложение 304 веб-службы, приложение 306 потока заданий, контекстное пространственное приложение 308 и приложение 310 документа, включают в себя одно или большее количество действий. Кроме того, один или большее количество SRO 312, 314, 316, 318 и 320 используются так, что представляются аспекты или действия прикладных программ. Предпочтительно аспекты изобретения представляют функциональные возможности среди разных приложений через использование объектов SRO. Например, приложение 306 потока заданий может передавать событие задания к SRO 318 через стрелку 322, которая может быть представлена пользователем, создающим задание. Когда пользователь создает событие задания в SRO 318 и назначает упомянутое задание человеку для выполнения, SRO 318 генерирует событие «роль» для SRO 320 через стрелку 324, что затем, в свою очередь, генерирует событие «действие» к SRO 312 через стрелку 326. Также согласно аспектам изобретения каждый SRO универсален и может использоваться различными и разными прикладными программами в ответ на различные события или действия.
Все еще обращаясь к фиг.3, стрелки между приложениями и объектами SRO, показанные на фиг.3, представляют примерные семантические отношения между объектами SRO и приложениями. Например, стрелка 328 от приложения 304 веб-службы к SRO 312 может указывать, что приложение 304 веб-службы представляет действие или события через SRO 312 пользователю (например, пользователю 106). В другом примере стрелка 324 от SRO 318 к SRO 320 может указывать, что задание назначено региональному менеджеру магазина. Таким образом, с помощью представления одного или большего количества действий в процессе через типы объектов SRO для представления функциональных возможностей процесса прикладной программы, система 100 обеспечивает пользователю 106 динамический опыт пользователя.
Для иллюстрации относительно простого динамического опыта пользователя, фиг.4 является структурной схемой, иллюстрирующей извлечение метаданных из объектов SRO согласно одному из вариантов осуществления изобретения. Например, как показано на фиг.4, SRO 402 типа «карта» включает в себя метаданные, относящиеся к местоположению. В этом показанном примере SRO 402 типа «карта» представляет карту Сиэтла. Все еще обращаясь к фиг.4, SRO 404 типа «погода» включает в себя метаданные, относящиеся ко времени. Как показано, SRO 404 типа «погода» указывает, что погодные условия в Сиэтле в 10:00 утра 3 июня 2005 - облачно с температурой 67° по Фаренгейту.
Когда пользователь 106 выбирает или получает фотографию «Космической иглы» (Space Needle), популярного туристического места в Сиэтле, фотографию «Космической иглы» представляют с помощью SRO 406 типа «фотография», который включает в себя метаданные, относящиеся к качеству фотографии, времени и расположению. Также, представляя SRO 406 типа «фотография», используя метаданные и извлекая метаданные из SRO 406 типа «фотография», SRO 402 типа «карта» и SRO 404 категории «погода», пользователю 106 может быть представлено поле или окно 408, которое включает в себя карту Сиэтла с расположением «Космической иглы», местоположение «Космической иглы» в Сиэтле по глобальной системе навигации и определения положения (GPS), текущие погодные условия в районе «Космической иглы» и/или прогноз погодных условий в районе «Космической иглы». В альтернативном варианте осуществления использование объектов SRO дает возможность пользователю предпринимать дополнительные действия по отношению к «Космической игле», например запросить подробную информацию о путешествии или купить карту «Космической иглы».
Обращаясь теперь к фиг.5, последовательность операций иллюстрирует способ обеспечения динамического опыта пользователя в процессе, используя семантически богатые объекты (SRO), согласно одному из вариантов осуществления изобретения. В частности, фиг.5 показывает один из примеров интерактивных жестов пользователя с использованием клавиатуры. Сначала на этапе 502 SRO 506 типа «запись», включающий в себя метаданные, связанные с действиями и средой их выполнения, представляет одно или большее количество действий процесса. На этапе 504 интерфейс 104 принимает от пользователя 106 интерактивный жест для выбора, по меньшей мере, одного из SRO для выполнения требуемого действия в процессе. В показанном примере пользователь 106 вводит через клавиатуру текст: «Дженнифер «Найти Волшебную страну» относительно SRO 506 типа «запись». Требуемым действием пользователя 106 может быть посмотреть фильм «Найти Волшебную страну» с Дженнифер. На этапе 508 система 100 извлекает метаданные из SRO 506 типа «запись» для определения, доступно ли требуемое действие в среде выполнения процесса в ответ на принятый интерактивный жест.
В этом определении процессор 102 может сначала на этапе 510 определять набор семантических правил для оценки или интерпретации интерактивного жеста «Дженнифер «Найти Волшебную страну». Как описано выше, каждый SRO содержит в себе некоторые данные (например, в контексте 218 приложения во втором поле 216 данных), которые используются для оценки набора семантических правил. В одном примере некоторые из данных в контексте 218 приложения могут отображаться прикладной программой, а некоторые могут добавляться/удаляться средой ПИ (например, с помощью формы, которая содержит объекты SRO). Определенные семантические правила могут идентифицировать запись «Дженнифер» как относящуюся к SRO типа «роль», в то время как «Найти Волшебную страну» может относиться к SRO типа «расположение». После определения того, что «Найти Волшебную страну» не относится к расположению, определенные семантические правила могут дополнительно идентифицировать «Найти Волшебную страну» как название объекта, такого как документ, заголовок файла или подобное. Как таковая, система 100 может осуществлять поиск через доступные файлы, хранящиеся в памяти 108, или обращаться к данным из прикладных программ для определения семантического значения «Найти Волшебную страну» как SRO типа «текст» или «медиаобъект». Пока на этапе 514 система 100 продолжает определять «Дженнифер» и «Найти Волшебную страну», используя семантические правила, на этапе 516 система 100 предоставляет набор доступных действий для выполнения требуемого действия. В одном из вариантов осуществления SRO включает в себя коды, подпрограммы или машинно-исполнимые команды в первом поле 204 данных, такие как доступные коды 206 действий, коды 208 выполнения действий или подобные. Например, коды могут использоваться для побуждения выполнения действия. В другом примере код может быть сложным кодом, например, если действие обеспечивают с помощью веб-службы, в таком случае код выполнения действия, возможно, должен знать, как осуществлять связь с данной веб-службой.
В этом примере система 100 определяет, что Дженнифер является экземпляром SRO типа «роль» в списке личных контактов пользователя (например, адресной книге, списке контактов электронной почты или списке контактов другого вида связи) и «Найти Волшебную страну» является названием кинофильма. Также на этапе 518 система 100 обеспечивает набор доступных действий, таких как «Связаться с Дженнифер по телефону 342-403-3323 и взять напрокат фильм «Найти Волшебную страну» в магазине «Прокат видеофильмов» или «Купить билеты на фильм «Найти Волшебную страну» в кинотеатр A, и пользователь свободен в субботу и в воскресенье с 4:00 до 10:00 вечера согласно календарю пользователя и времени работы кинотеатра А». Другими словами, вместо того чтобы заставлять пользователя 106 выбирать Дженнифер из телефонной книги пользователя, чтобы найти ее номер телефона, выполнять поиск в Интернете для определения, идет ли где-нибудь фильм «Найти Волшебную страну», или искать расположение кинотеатра A и определять время его работы, система 100 обеспечивает пользователя 106 динамическим, контекстным и интересным опытом пользователя. Поэтому пользователь 106 не ограничен стандартными или даже запрограммированными по заказу пользователя действиями, обеспечиваемыми прикладными программами. Вместо этого SRO используют метаданные для представления функциональных возможностей и действий процессов в прикладных программах и предоставляют пользователю 106 действия на простом и ясном языке.
В одном из вариантов осуществления интерактивные жесты пользователя, которые включают в себя речевые воздействия (см. приложение A для дополнительной информации), отображаются на метаданные объектов SRO, так что система 100 может извлекать метаданные из выбранных SRO для определения требуемого действия в ответ на комбинацию визуальных и звуковых интерактивных жестов.
В другом альтернативном варианте осуществления пользователь генерирует одно или большее количество событий с помощью интерактивных жестов, таких как щелчки мыши, движение указателя мыши по дисплею или подобное. Система 100 принимает или перехватывает события от пользователя и преобразует эти события в действия, представленные через метаданные объектов SRO, согласно набору семантических правил. Когда метаданные извлекаются из объектов SRO системой 100, набор доступных действий представляют пользователю в ответ на интерактивные жесты. Система 100, по выбору, может выполнять или исполнять данные доступные действия.
Фиг.6A-6C - структурные схемы, дополнительно иллюстрирующие предоставление набора доступных действий в ответ на интерактивный жест от пользователя, использующего устройство позиционирования (например, мышь) согласно одному из вариантов осуществления изобретения. В этом примере интерактивные жесты через устройство позиционирования могут включать в себя:
щелчок для активизации чего-то;
операцию «перетащить и оставить» один объект на другой для выполнения некоторой операции;
щелчок правой кнопкой «мыши» для того, чтобы узнать больше о чем-то или получить больше опций;
объединение для группирования объектов или для выполнения общей для них всех операции; или
поиск чего-то через неиерархическую метафору, просмотр результатов и, возможно, перемещение по ним.
Фиг.6A иллюстрирует область 602 отображения и рабочее пространство 604 для обеспечения набора доступных действий пользователю 106. Пиктограмма или объект 606 события представляет SRO. В данном примере объект 606 события представляет «заказ 123». Область 602 отображения также включает в себя поля 608 и 610 ввода данных для поиска, где может выполняться запрос, когда пользователь 106 нажимает кнопку 612 «найти».
Обращаясь теперь к фиг.6B, пользователь 106 использует устройство позиционирования сначала для выбора объекта 606 события, перетаскивания объекта 606 события (фантомный объект 614 события показывает передвижение при перетаскивании пользователем 106) и оставления объекта 606 события на рабочем пространстве 604 в качестве объекта 616 события. В одном из вариантов осуществления такой интерактивный жест «перетащить и оставить» может преобразовываться в метаданные объектов SRO согласно следующему правилу:
Правило 1: <субъект, жест ПИ, объект, среда, набор действий по умолчанию>
По этому правилу интерактивный жест (например, «перетащить и оставить») связывают с субъектом SRO (например, отчет о продажах) и объектом SRO (например, коллега по работе) в пределах среды выполнения (например, рабочего пространства 604).
Альтернативно интерактивный жест пользователя 106 «перетащить и оставить» можно преобразовывать в метаданные объектов SRO согласно следующему правилу:
Правило 2: <субъект, действие, речевое воздействие>
В этом примере действия, доступные для субъекта SRO, отображают на речевое воздействие, такое как запрос, информирование или команда.
В другом альтернативном варианте осуществления пользователь 106 может использовать интерактивный жест, такой как действие с помощью мыши «перетащить и оставить», чтобы связать один SRO с одним или большим количеством других SRO, чтобы составить набор доступных действий как семантическое предложение, которое включает в себя действия или варианты поведения, представленные одним SRO и одним или большим количеством других SRO. Например, пользователь 106 может выбирать SRO X, который может отвечать на интерактивный жест пользователя 106, так что действия или варианты поведения, представленные метаданными, могут быть составлены в предложение, такое как «назначить задание А пользователю Б и послать напоминание непосредственному руководителю пользователя Б после завершения задания пользователем Б».
На фиг.6C набор доступных действий 618 отображают или обеспечивают пользователю 106 после приема от пользователя 106 интерак