Динамический опыт пользователя посредством семантически богатых объектов

Изобретение относится к области компьютерных пользовательских интерфейсов. Техническим результатом является расширение функциональных возможностей за счет использования объектов с широкими семантическими возможностями. В компьютеризированном способе обеспечения динамического взаимодействия пользователя с компьютерной программой посредством семантических объектов одно или большее количество действий в процессе представляют с помощью семантических объектов (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 интерактивного жеста «перетащить и оставить». В этом примере, который вовлекает автоматизацию рабочего процесса, набор доступных действий 618 включает в себя «хронологию процесса» (стрелка 620 «вниз» указывает, что дополнительные действия доступны, когда пользователь 106 указывает устройством позиционирования на стрелке 620 «вниз» или пользователь 106 выбирает стрелку 620 «вниз», используя устройство позиционирования). В отображаемой «хронологии процесса» пользователю 106 представляют информацию, относящуюся к «заказу 123», когда система 100 извлекает метаданные из «заказа 123» для определения, может ли информация, которую включает в себя «хронология процесса», быть доступной для пользователя 106.

Например, хронология процесса показывает информацию подтверждения заказа покупки «заказ 123» 4 марта 2005 пользователем 1 в Сиэтле. Следует отметить, что первоначально на фиг.6A пользователь 106 не выбирал действие, такое как «показать хронологию процесса» или «показать подтверждение заказа покупки». Вместо этого пользователь 106 только выполняет действие «перетащить и оставить» объект 606 события на рабочее пространство 604, и система 100 извлекает метаданные из объекта 606 события, представляющего «заказ 123», для предоставления пользователю 106 набора доступных действий в ответ на такой интерактивный жест «перетащить и оставить» на рабочем пространстве 604. Таким образом, варианты осуществления предпочтительно обеспечивают, что многофункциональные SRO расширяют опыт пользователя, не требуя от пользователей запоминания клавиш быстрого набора или опций в меню на основе форм.

В другом варианте осуществления согласно правилу 1 система 100 обеспечивает список действий, доступных после извлечения метаданных из исходных и целевых SRO. Если доступен набор действий по умолчанию, то система 100 может изменять предыдущий список согласно хронологии выполнения, предшествующей взаимодействиям с пользователем, и т.п. Альтернативно система 100 может представлять весь список доступных действий пользователю 106 из SRO-субъекта и SRO-объекта.

В еще одном варианте осуществления согласно правилу 2 система 100 интерпретирует доступные действия согласно набору речевых воздействий. В данном примере предположим, что существует три SRO: SRO, представляющий «пользователя 1», другой SRO, представляющий «пользователя 2» (коллегу), и третий, представляющий бизнес-объект, относящийся к «показателям продаж по западному региону, фильтрованным по подразделениям фирмы». После выбора бизнес-объекта «пользователь 1» перетаскивает SRO типа «бизнес» к SRO, представляющему «пользователя 2», и оставляет SRO типа «бизнес» на SRO, представляющем «пользователя 2». После приема такого визуального интерактивного жеста система 100 извлекает метаданные из метаданных трех SRO и преобразует их в звуковой интерактивный жест, такой как речевые действия, пользователю 106 может предоставляться следующее:

A. Совместно использовать этот бизнес-объект с «пользователем 2»;

B. Пообщаться по поводу данного бизнес-объекта, например задать вопрос «пользователю 2» об обоснованности бизнес-объекта; или

C. Сделать «пользователя 2» хранителем/владельцем бизнес-объекта (или предоставить «пользователю 2» определенные права по доступу к бизнес-объекту).

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

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

Фиг.7 показывает один из примеров универсального вычислительного устройства в форме компьютера 130. В одном из вариантов осуществления изобретения компьютер, такой как компьютер 130, подходит для использования на других показанных и описанных фигурах. Компьютер 130 имеет один или большее количество процессоров или устройств 132 обработки и системную память 134. В показанном варианте осуществления системная шина 136 соединяет различные системные компоненты, включающие в себя системную память 134, с процессорами 132. Шина 136 представляет один или большее количество любых из нескольких типов шинных структур, которые включают в себя шину памяти или контроллер памяти, периферийную шину, ускоренный графический порт и процессор или локальную шину, используя любую из разнообразия шинных архитектур. Для примера, а не в качестве ограничения, такая архитектура включает в себя шину архитектуры, соответствующей промышленному стандарту (ISA), шину микроканальной архитектуры (MCA), шину расширенной ISA (EISA), локальную шину ассоциации по стандартам в области видеоэлектроники (VESA) и шину стандарта соединения периферийных устройств (PCI), также известную как шина расширения.

Компьютер 130 обычно имеет, по меньшей мере, несколько разновидностей машиночитаемых носителей. Машиночитаемый компьютером носитель, который включают в себя и энергозависимые, и энергонезависимые носители, съемные и несъемные носители, может быть любым доступным носителем, к которому может обращаться компьютер 130. Для примера, а не в качестве ограничения, считываемый компьютером носитель содержит компьютерные носители данных и средства связи. Компьютерные носители данных включают в себя энергозависимые и энергонезависимые, съемные и несъемные носители, воплощенные с помощью любого способа или технологии хранения информации, такой как машиночитаемые команды, структуры данных, программные модули или другие данные. Например, компьютерные носители данных включают в себя оперативную память (RAM, ОП), постоянное запоминающее устройство (ROM, ПЗУ), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM, ЭСППЗУ), флеш-память или память другой технологии, компакт-диски (CD-ROM), цифровые универсальные диски (DVD) или другие запоминающие устройства на оптическом диске, магнитные кассеты, магнитную ленту, запоминающие устройства на магнитном диске или другие магнитные запоминающие устройства или любой другой носитель, который может использоваться для хранения необходимой информации и к которому может обращаться компьютер 130. Средства связи обычно воплощают считываемые компьютером команды, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущая или другой механизм транспортировки, и включают в себя любые средства доставки информации. Специалисты в данной области техники знакомы с модулированным сигналом данных, который имеет одну или большее количество из своих характеристик, которые устанавливаются или изменяются таким образом, чтобы кодировать информацию в сигнале. Проводные средства связи, такие как проводные сети или прямое проводное соединение, и беспроводные средства связи, такие как акустические, радиочастотные (РЧ), инфракрасные и другие беспроводные средства связи, являются примерами средств связи. Считываемые компьютером носители также включают в себя комбинации любых из указанных выше носителей.

Системная память 134 включает в себя компьютерные носители данных в форме съемной и/или несъемной, энергозависимой и/или энергонезависимой памяти. В показанном варианте осуществления системная память 134 включает в себя постоянное запоминающее устройство (ПЗУ) 138 и оперативную память (ОП) 140. Базовая система 142 ввода-вывода (BIOS) содержит основные подпрограммы, которые помогают переносить информацию между элементами в пределах компьютера 130, например, во время запуска, обычно хранятся в ПЗУ 138. ОП 140 обычно содержит данные и/или программные модули, которые мгновенно доступны для обработки и/или в данный момент обрабатываются процессором 132. Для примера, а не в качестве ограничения, фиг.7 показывает операционную систему 144, прикладные программы 146, другие программные модули 148 и данные 150 программ.

Компьютер 130 может также включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители данных. Например, фиг.7 показывает накопитель 154 на жестком диске, который считывает с или записывает информацию на несъемный энергонезависимый магнитный носитель. Фиг.7 также показывает накопитель 156 на магнитном диске, который считывает с или записывает на съемный энергонезависимый магнитный диск 158, и привод 160 оптического диска, который считывает с или записывает на съемный энергонезависимый оптический диск 162, такой как CD-ROM или другой оптический носитель. Другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители данных, которые могут использоваться в примерной конфигурации, включают в себя кассеты магнитной ленты, платы флеш-памяти, цифровые универсальные диски, цифровую видеоленту, полупроводниковую ОП, полупроводниковое ПЗУ и т.п., но не ограничены этим. Накопитель 154 на жестком диске и накопитель 156 на магнитном диске и привод 160 оптического диска обычно подключаются к системной шине 136 через интерфейс энергонезависимых запоминающих устройств, такой как интерфейс 166.

Накопители (приводы) или другие запоминающие устройства большой емкости и соответствующие им компьютерные носители данных, которые обсуждаются выше и показаны на фиг.7, обеспечивают хранение считываемых компьютером команд, структур данных, программных модулей и других данных для компьютера 130. На фиг.7, например, накопитель 154 на жестком диске показан как хранящий операционную систему 170, прикладные программы 172, другие программные модули 174 и данные 176 программ. Следует отметить, что эти компоненты могут быть или теми же самыми, или отличаться от операционной системы 144, прикладных программ 146, других программных модулей 148 и данных 150 программ. Операционной системе 170, прикладным программам 172, другим программным модулям 174 и данным 176 программ даны другие ссылочные позиции для того, чтобы показать, что они как минимум являются разными копиями.

Пользователь может вводить команды и информацию в компьютер 130 через устройства ввода данных или устройства выбора пользовательского интерфейса, такие как клавиатура 180 и устройство 182 позиционирования (например, мышь, шаровой манипулятор (трекбол), перо или сенсорная панель). Другие устройства ввода данных (не показаны) могут включать в себя микрофон, джойстик, игровую клавиатуру, спутниковую антенну, сканер или подобное устройство. Эти и другие устройства ввода данных связаны с процессором 132 через входной пользовательский интерфейс 184, который связан с системной шиной 136, но может быть связан с помощью другого интерфейса и шинных структур, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB). Монитор 188 или другой вид устройства отображения также связан с системной шиной 136 через интерфейс, такой как видеоинтерфейс 190. В дополнение к монитору 188 компьютеры часто включают в себя другие периферийные устройства вывода (не показаны), такие как принтер и динамики, которые могут быть связаны через интерфейс периферийных устройств вывода (не показан).

Компьютер 130 может работать в сетевом окружении, используя логические подключения к одному или большему количеству удаленных компьютеров, таких как удаленный компьютер 194. Удаленный компьютер 194 может быть персональным компьютером, сервером, маршрутизатором, сетевым ПК, одноранговым устройством или другим общим сетевым узлом и обычно включает в себя многие или все элементы, описанные выше относительно компьютера 130. Логические подключения, показанные на фиг.7, включают в себя локальную сеть (LAN, ЛС) 196 и глобальную сеть (WAN, ГС) 198, но могут также включать в себя другие сети. ЛС 136 и/или ГС 138 могут быть проводной сетью, беспроводной сетью, их комбинацией и т.д. Такие сетевые среды обычно используют в офисах, компьютерных сетях в масштабах предприятия, корпоративных сетях (интранет) и глобальных компьютерных сетях (например, Интернет).

При использовании в сетевой среде локальных сетей компьютер 130 подсоединяется к ЛС 196 через сетевой интерфейс или адаптер 186. При использовании в сетевой среде глобальной сети компьютер 130 обычно включает в себя модем 178 или другие средства для установления связи по ГС 198, такой как Интернет. Модем 178, который может быть внутренним или внешним, соединен с системной шиной 136 через входной пользовательский интерфейс 184 или другой соответствующий механизм. В сетевом окружении программные модули, показанные относительно компьютера 130 или его частей, могут храниться в удаленном запоминающем устройстве (не показано). Для примера, а не в качестве ограничения, фиг.7 показывает удаленные прикладные программы 192 как находящиеся в запоминающем устройстве. Показанные сетевые соединения являются примерными, и могут использоваться другие средства установления линии связи между компьютерами.

В общем, процессоры данных компьютера 130 программируют посредством команд, хранящихся в разное время на разных машиночитаемых носителях данных компьютера. Программы и операционные системы обычно распространяются, например, на гибких дисках или CD-ROM. Оттуда их устанавливают или загружают во вторичную память компьютера. При выполнении их загружают, по меньшей мере, частично в первичную электронную память компьютера. Описанное изобретение включает в себя эти и другие различные типы машиночитаемых носителей данных, когда такие носители содержат команды или программы для осуществления описанных ниже этапов в соединении с микропроцессором или другим процессором. Изобретение также включает в себя сам компьютер, который запрограммирован согласно описанным способам и технологиям.

В целях иллюстрации программы и другие исполняемые программные компоненты, такие как операционная система, показаны здесь как отдельные блоки. Следует понимать, однако, что такие программы и компоненты в различное время находятся в различных компонентах памяти компьютера и выполняются с помощью процессора(ов) обработки данных компьютера.

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

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

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

Интерфейс может быть сильносвязанным синхронным воплощением, таким как, например, платформа разработки корпоративных приложений на языке Java2 (J2EE), COM или распределенная COM (DCOM). Альтернативно или дополнительно интерфейс может быть слабосвязанным асинхронным воплощением, таким как в веб-службе (например, используя простой протокол доступа к объектам). В общем случае интерфейс включает в себя любую комбинацию следующих характеристик: сильносвязанных, слабосвязанных, синхронных и асинхронных. Дополнительно интерфейс может соответствовать стандартному протоколу, проприетарному протоколу или любой комбинации стандартных и проприетарных протоколов.

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

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

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

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

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

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

ПРИЛОЖЕНИЕ A

Примеры речевых воздействий

Речевые воздействия имеют множество характеристик и признаков. Формально, они вовлекают говорящего, слушателя в коммуникативное действие между ними. Например, J. L. Austin и John R. Searle развивают довольно строгий технический словарь для описания теории речевых воздействий (SAT), который касается отделения трех аспектов речевого действия (например, Searle, John R., Speech Acts, An Essay in the Philosophy of Language, Cambridge: Cambridge University Press, 1969):

A. Локутивное воздействие (что буквально было сказано);

B. Иллокутивное воздействие (какое действие было выполнено - например, запрос); и

C. Перлокутивное воздействие (что достигнуто посредством его выполнения - социальный эффект).

Используя семантические правила и относящиеся к действию пользователя алгебраические операторы, человек А может щелкнуть мышью на SRO, представляющем человека B, и ему может быть дан список более значимых, но общих речевых воздействий:

A. Попросить человека B сделать что-то...;

B. Задать вопрос человеку B;

C. Сделать обещание/обязательство человеку B сделать что-то;

D. Сообщить человеку B о чем-то...; или

E. Совместно использовать ресурс/объект с человеком B.

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

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

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

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

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

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

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

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

9. Система для активной генерации вариантов поведения для пользователя для взаимодействия в пределах процесса взаимодействия пользователя с компьютерными программами посредством семантических объектов, указанная система содержит:
память для хранения одного или большего количества семантических объектов (SO), причем каждый из указанных SO включает в себя тип и метаданные в нем, соответствующие варианту поведения и среде для выполнения, каждый из указанных SO также включает в себя данные, относящиеся к выполнению варианта поведения, причем вариант поведения и среда выполнения функционирует внешним образом относительно сохраненного одного или более SO;
интерфейс для представления одного или более SO пользователю, причем интерфейс дополнительно сконфигурирован для приема выбора одного или более SO от пользователя причем интерфейс принимает выбор пользователя для связывания одного типа SO с другим типом SO от пользователя,
процессор для выполнения машиноисполнимых команд для:
оценки данных от одного типа SO и данных от другого типа SO в принятом от пользователя выборе на основе набора семантических правил;
извлекают метаданные из, одного типа SO и метаданных из другого типа SO в ответ на оценку;
генерации набора доступных вариантов поведения пользователю в ответ на извлечение с помощью выбора, по меньшей мере, части из вариантов поведения из одного типа SO и, по меньшей мере, части из вариантов поведения из другого типа SO в соответствии с извлеченными метаданными из одного типа SO и извлеченными метаданными из другого типа SO, и
причем интерфейс предоставляет сгенерированный набор вариантов поведения пользователю для взаимодействия с данными в одном типе SO и данными в другом типе SO из выбора пользователя и процессом в среде выполнения.

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

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

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

13. Система по п.9, в которой процессор конфигурируют для связывания набора доступных действий в качестве семантического предложения, которое включает в себя действия представленные двумя различными типами SO.

14. Система по п.9, в которой процессор дополнительно конфигурируют для выполнения сохраненных данных, относящихся к выполнению варианта поведения, для генерации набора вариантов поведения, основываясь на сохраненных метаданных и принятом выборе от интерфейса.

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

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

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

18. Машиночитаемый носитель по п.16, дополнительно содержащий одно или большее количество полей данных, включающих в себя метаданные, связанные с одним или большим количеством из следующего: набором определения внешних услуг процесса, PINS интерактивных действий, способами расширения процесса, объектной моделью процесса, хронологией выполнения процесса, предшествующими взаимодействиями пользователя с выполнением процесса, выполнением варианта поведения и моделью выполнения процесса.



 

Похожие патенты:

Изобретение относится к области обработки цифровых данных. .

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

Изобретение относится к области компьютерной виртуализации. .

Изобретение относится к области одновременного совместного исполнения приложений. .

Изобретение относится к системе и способу поддержки множества языков для приложения. .

Изобретение относится к области двигателестроения и может быть использовано для защиты программного обеспечения (ПО) блока управления двигателем внутреннего сгорания транспортного средства (далее - БУ ДВС ТС) от несанкционированного изменения.

Изобретение относится к средствам обработки изображения. .

Изобретение относится к системам программной транзакционной памяти

Изобретение относится к средствам компиляции программного кода

Изобретение относится к вычислительным системам, информационным технологиям

Изобретение относится к области обеспечения безопасности функционирования систем, когда работа этих систем зависит от исполнения последовательностей логических команд в вычислительном устройстве

Изобретение относится к использованию дескрипторов типа с замороженными объектами. Технический результат заключается в повышении быстродействия выполнения операций объектом с указателями дескриптора типа. Замороженный объект может в действительности включать в себя несколько дескрипторов типа: первичный дескриптор типа, который является каноническим в соответствии с набором правил канонизации, и дополнительный дескриптор типа, который не идентичен первичному дескриптору типа. Дополнительный дескриптор типа может использоваться для доступа к каноническому дескриптору типа. При выполнении операции, если дополнительный дескриптор типа может использоваться для выполнения операции, тогда используется этот дополнительный дескриптор типа. Если для выполнения операции должен использоваться канонический дескриптор типа, то дополнительный дескриптор типа используется для получения доступа к каноническому первичному дескриптору типа. Затем первичный дескриптор типа используется для выполнения операции. 3 н. и 13 з.п.ф-лы, 5 ил.

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

Изобретение относится к области динамической двоичной трансляции. Техническим результатом является обеспечение эффективной технологии для выполнения динамической двоичной трансляции из архитектуры системы команд ("ISA") с большим количеством регистров в ISA с меньшим количеством регистров. В общем, настоящее раскрытие обеспечивает систему и способ для отображения регистров из системы с большим количеством регистров на систему с меньшим количеством регистров. Могут быть сформированы области, которые включают в себя один или больше блоков кода с относительно частым доступом к регистру. Регистры источника с наиболее частым доступом могут быть отображены на целевые регистры. Каждый блок в области может быть соединен с помощью вводной части и, по меньшей мере, одной заключительной частью. Вводная часть может быть выполнена с возможностью выполнения отображения регистра, и заключительная часть (части) может быть выполнена с возможностью управления потоком программной обработки из блока в данной области в другой блок в этой области или в блок, не находящийся в этой области. 3 н. и 19 з.п. ф-лы, 8 ил., 1 табл.

Группа изобретений относится к средствам оптимизации кода. Технический результат заключается в обеспечении оптимизации кода, приводящей к увеличению производительности компьютерной системы. Для этого предложено устройство оптимизации кода, содержащее машиночитаемый носитель для хранения данных, содержащий команды, которые, когда выполняются, позволяют компьютерной системе: получать статистическую информацию в отношении исполнения кода на процессоре компьютерной системы, в котором статистическая информация хранится в статистическом хранилище компьютерной системы; разделять в компиляторе, который выполняется на процессоре, данные, с которыми работает код, на множество групп, причем данные в каждой из групп имеют один и тот же порядок байтов для соответствующего исполнения кода; определять в компиляторе, видим ли программисту порядок байтов данных группы для каждой из множества групп; для каждой группы, в которой порядок байтов не видим, определять в компиляторе, может ли изменение порядка байтов обеспечить выигрыш в производительности; для каждой группы, в которой изменение порядка байтов может обеспечить выигрыш в производительности, изменять порядок байтов в соответствующей группе, чтобы получить модифицированную группу; и сохранять каждую из модифицированных групп на носителе для хранения данных компьютерной системы. 2 н. и 9 з.п. ф-лы, 4 ил., 2 табл.
Изобретение относится к способам синтаксического анализа языков программирования высокого уровня и может найти применение для создания компиляторов и/или интерпретаторов языков программирования с изменяемой (расширяемой) грамматикой, предназначенных для создания проблемно-ориентированных языков. Техническим результатом является обеспечение возможности динамической модификации таблиц компиляции, положенных в основу синтаксического анализатора, путем расширения грамматики языка программирования. Способ синтаксического анализа языка программирования основан на табличном LR синтаксическом анализе. При этом канонические таблицы LR синтаксического анализатора динамически перестраиваются во время компиляции с помощью заданных отдельно для каждого уровня иерархии вложенности грамматических правил языка программирования директив расширения грамматики, предназначенных для введения новых грамматических конструкций. После чего компилятор продолжает анализ программы с использованием перестроенных LR таблиц. 4 з.п. ф-лы.

Изобретение относится к технологии обновления сетевого устройства в области коммутаций. Технический результат - автоматическое обновление сетевого устройства без использования третьего устройства. Способ обновления сетевого устройства, включающий установление сервером управления сетью соединения протокола управления передачей (Transmission Control Protocol, TCP) с сетевым устройством (101); в ходе процесса обновления передачу сервером управления сетью протокола конфиденциального обмена, созданного на TCP, сетевому устройству для уведомления сетевого устройства об обновлении, последующее выполнение сетевым устройством соответствующей операции обновления после получения уведомления и возврата результата обновления на сервер управления сетью по протоколу конфиденциального обмена, созданному на TCP (102). 2 н. и 4 з.п. ф-лы, 3 ил., 1 табл.
Наверх