JP2008547128A - Dynamic user experience with semantic rich objects - Google Patents

Dynamic user experience with semantic rich objects Download PDF

Info

Publication number
JP2008547128A
JP2008547128A JP2008519301A JP2008519301A JP2008547128A JP 2008547128 A JP2008547128 A JP 2008547128A JP 2008519301 A JP2008519301 A JP 2008519301A JP 2008519301 A JP2008519301 A JP 2008519301A JP 2008547128 A JP2008547128 A JP 2008547128A
Authority
JP
Japan
Prior art keywords
user
metadata
sro
sros
actions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008519301A
Other languages
Japanese (ja)
Other versions
JP5249755B2 (en
JP2008547128A5 (en
Inventor
ミタル ビジャイ
ストヤノヴィッチ アレクサンダー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2008547128A publication Critical patent/JP2008547128A/en
Publication of JP2008547128A5 publication Critical patent/JP2008547128A5/ja
Application granted granted Critical
Publication of JP5249755B2 publication Critical patent/JP5249755B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Quality & Reliability (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

動的なユーザエクスペリエンスのためのセマンティックリッチオブジェクト。プロセス内の1つまたは複数のアクションが、当該プロセスの機能を公開するためのセマンティックリッチオブジェクト(SRO)によって表される。SROはそれぞれ、アクションと当該アクションの実行環境とに関連付けられたメタデータを含む。プロセス内で所望のアクションを行うためにSROの少なくとも1つを選択するユーザからの対話的ジェスチャに応答して、選択されたSROからメタデータが抽出されて、所望のアクションが当該プロセスの実行環境で利用可能であるかどうかを判定する。  Semantic rich object for dynamic user experience. One or more actions in a process are represented by a semantic rich object (SRO) for exposing the functionality of the process. Each SRO includes metadata associated with the action and the execution environment of the action. In response to an interactive gesture from a user selecting at least one of the SROs to perform a desired action in the process, metadata is extracted from the selected SRO and the desired action is executed in the process's execution environment. To determine if it is available.

Description

ユーザは、しばしば、フォーム方式の一連の動作やアクションを通じてコンピュータアプリケーションプログラムと情報のやりとりを行って、当該アプリケーションプログラムの機能にアクセスする。例えば、マウスなどの入力装置を使用してコンピュータディスプレイ上でアイコンオブジェクトを選択すると、ユーザにオプションのメニューが提示される場合がある。そして、ユーザは、そのオプションの1つを選択して、アプリケーションプログラムの機能を使用して、選択したアイコンオブジェクトと情報のやりとりを行う(例えばハイライト表示されたテキストの「コピー」や、選択した文書を電子メール受信者に「送信」するなど)。このため、メニューのセットは、アプリケーションプログラムへのユーザエクスペリエンスの入口点となる。通例、アプリケーションはユーザに提示されない他の機能を備えるため、現在利用できるユーザインタフェース設計は、ユーザを表示されたオプションだけに制限するという欠点がある。結果として、現在のユーザインタフェース設計では、ユーザは、フォームの設計者/開発者がコーディングまたは提示しなかったものは見ることができない。アプリケーションの持つ機能のすべてあるいは大半を表示するには、ユーザインタフェースの設計者あるいは開発者は、現在のところそれらの機能をハードコーディングする必要がある。   Users often exchange information with computer application programs through a series of forms-based operations and actions to access the functions of the application programs. For example, selecting an icon object on a computer display using an input device such as a mouse may present a menu of options to the user. Then, the user selects one of the options and uses the function of the application program to exchange information with the selected icon object (for example, “copy” of the highlighted text or selected For example, "sending" a document to an email recipient). For this reason, the set of menus is the entry point of the user experience to the application program. Typically, currently available user interface designs have the disadvantage of limiting the user to only the displayed options, as applications typically have other functions that are not presented to the user. As a result, with current user interface designs, the user cannot see what the form designer / developer has not coded or presented. To display all or most of the functions of an application, user interface designers or developers currently need to hard code those functions.

例えば、ビジネスアプリケーションは、フォーム、ナビゲーション、照会インタフェース、およびその他の特殊なユーザインタフェース(UI)アーチファクトを使用して、要求されるユーザエクスペリエンスを作り出す。UIアーチファクトの設計が、アプリケーションの状態と振る舞いへのユーザの入口点を決定する。しかし、UIアーチファクトの設計は、そうした入口点をも制限する。この例を続けると、ワークフローアプリケーションは、通例、特定のタスクインスタンスに専用のフォーム(例えば、「この注文を承認する」タスク用のフォーム)でユーザにタスクを公開する。そのため、ユーザは、特定のタスクについて知りたいことを充分に知ることができない場合があり(例えば「このタスクを抜かした場合はどうなるのか?このタスクに関連する未処理のタスクが他にあるか?」等)、その結果連携と情報の共有が難しくなる。   For example, business applications use forms, navigation, query interfaces, and other specialized user interface (UI) artifacts to create the required user experience. The UI artifact design determines the user's entry point into the application state and behavior. However, UI artifact design also limits such entry points. Continuing with this example, the workflow application typically exposes the task to the user in a form dedicated to a particular task instance (eg, a form for a task “Approve this order”). As a result, the user may not be able to fully know what he / she wants to know about a particular task (eg, “What happens if I skip this task? Are there other unprocessed tasks associated with this task? As a result, it becomes difficult to link and share information.

既存のシステムの中には、ユーザがさらにアプリケーションプログラムと情報のやりとりを行うことができるようにショートカットキーやヒントの一覧を提供することにより、標準あるいはデフォルトのオプションメニューの増強を図るものもある。しかし、そうした増強されたオプションは、通常は別個のリストとして提示され、デフォルトのオプションを静的に拡張したに過ぎず、一方でユーザが使い勝手の優れないショートカットキーをより多く覚えることを強いる。   Some existing systems enhance the standard or default option menu by providing a list of shortcut keys and hints that allow the user to further interact with the application program. However, such augmented options are usually presented as a separate list, which is only a static extension of the default option, while forcing the user to remember more shortcut keys that are not easy to use.

現在市販されるワークフローアプリケーションは、各自の専用のタスクUIで限られたデフォルトオプションを提供する。他の特定用途向けのシステムおよびUIの中には、カスタムコードあるいはカスタマイズを通じてアプリケーションの他の機能へのアクセスを提供するものがある。ワークフローの例で、専用のタスクUIのために追加的な情報をカスタムコーディングすることは可能であるが、UI設計者が、専用タスクUIに関連してユーザが検討を望む可能性のあるあらゆる可能な組合せまたは方向を予想することはまず不可能である。そのため、こうしたカスタムコードやカスタマイズは、時に過度に煩瑣であるのに加えて、通常はすべての利用可能な機能を対象とはせず、本質的に静的であるため、カスタマイズの使用法が限定的で制限されている。   Currently marketed workflow applications provide limited default options with their own dedicated task UI. Some other application specific systems and UIs provide access to other functions of the application through custom code or customization. In the workflow example, it is possible to custom code additional information for a dedicated task UI, but any possibility that the UI designer may want to consider in connection with the dedicated task UI It is first impossible to predict the correct combination or direction. Therefore, in addition to being overwhelming at times, these custom codes and customizations typically do not cover all available features and are inherently static, limiting the use of customizations And limited.

ユーザに十分な機能を提示することは、従来の「詳細(verbose)」フォーム(ヘッダとフレームが比較的多量の空間情報およびテキスト情報を含んでいるフォーム)に対応することが難しい小さなフォームファクタのモバイル機器などの機器で特に問題となる。詳細フォームは、例えば、ボタン、ナビゲーションバー、親子テーブル(子テーブルが親テーブル内の選択に合わせて移動する)等を含む。このため、ユーザがやりとりしている情報の性質と、その情報に関連して基礎となるビジネスアプリケーションから利用することができる振る舞いの両方をユーザに通知することが難しい。音声コマンドを用いてこの情報を扱う能力の重要性が増しつつある。   Presenting sufficient functionality to the user is a small form factor that is difficult to accommodate the traditional "verbose" form (a form in which the header and frame contain a relatively large amount of spatial and textual information). This is particularly a problem with devices such as mobile devices. The detail form includes, for example, a button, a navigation bar, a parent / child table (the child table moves according to the selection in the parent table), and the like. For this reason, it is difficult to notify the user of both the nature of the information exchanged by the user and the behavior that can be used from the underlying business application in relation to the information. The importance of the ability to handle this information using voice commands is increasing.

音声コマンドを用いると、ユーザは従来の視覚的フォームよりも多くの数の可能性(すなわち文章)を扱うことができる。音声認識システムなどの音声インタフェースシステムは、基本的な機能のセットを提供するが、ユーザには、どのような機能が利用可能であるかが必ずしも分からない。例えば、従来の自動化された顧客サービスシステムでは、ユーザは、あらかじめ録音された人間の声のセットを介してオプションのセットを受け取る場合がある。ユーザは、利用したい顧客サービスの種類を受話器に話すことを求められる。実例として、ユーザが請求書に関して顧客担当者と話をしたいとする。ユーザは、初めに、自動化された音声システムにより、「請求」、「サービスの追加」、「技術サポート」、または「その他」のサービスのうちどのサービス分野に関して電話をかけたのかを選択するように促される。この例では、ユーザは、希望するサービスを述べることにより音声プロンプトに応答することができる。この最初の選択の後、ユーザは、人間の顧客担当者と直接話をするように指示される前にユーザに提示されるさらなるオプション、またはカスケード形式のオプションのセットを受け取る。多くの事例では、既存の音声インタフェースシステムは、ユーザが、「代理人」、「担当者」、あるいは「代理人と話す」と言うことにより提示されたオプションを飛ばして、人間の顧客サービスにつながることを許可する。しかし、この「隠された」ショートカットは、音声インタフェースシステムがそのようなアクションを行う機能を備えていても、通例はユーザには見つけることができない。   With voice commands, the user can handle a greater number of possibilities (i.e. sentences) than traditional visual forms. A voice interface system, such as a voice recognition system, provides a basic set of functions, but the user does not necessarily know what functions are available. For example, in a conventional automated customer service system, a user may receive a set of options via a pre-recorded set of human voices. The user is required to speak to the handset the type of customer service that they want to use. As an illustration, suppose a user wants to talk to a customer representative about an invoice. First, the user selects which service area to call from among “Billing”, “Add service”, “Technical support”, or “Other” service by the automated voice system. Prompted. In this example, the user can respond to the voice prompt by describing the desired service. After this initial selection, the user receives a further option or a cascaded set of options that are presented to the user before being instructed to speak directly with a human customer representative. In many cases, existing voice interface systems lead to human customer service, skipping the options presented by the user saying “agent”, “person”, or “speak to agent” Allow that. However, this “hidden” shortcut is typically not found by the user, even if the voice interface system has the capability to perform such actions.

本発明の実施形態は、セマンティックリッチオブジェクト(SRO)を通じてメタデータを使用して、基礎となるデータソースおよびアプリケーションからユーザが利用可能な機能を公開することにより、従来のシステムの欠点を克服する。1つのSROを通じてユーザが利用できることに加えて、メタデータは、同じまたは異なるアプリケーションおよびデータソースによって公開されるSROの種々の組合せを介してユーザが利用できることを判定できるようにする情報を含む。代替実施形態は、さらに、SROを組み合わせてどのように使用するかをユーザが判断できるようにする。公開されるアクションの機能は、当該アプリケーションプログラムのアクションと機能をさらに公開する利便な方式でユーザによって組み合わせられ、使用されることができる。本発明の一態様によれば、個別の単一のアクション(例えばコピー、貼り付け等)に加えて、セマンティックルールに従ってユーザにアクションが提示されることができるように(例えば「この文書をJohnと共有し、2005年7月1日の午前10時にその文書をJohnの予定表に入れる」等)、SRO中のメタデータを抽出し、別のSROのメタデータと組み合わせることができる。   Embodiments of the present invention overcome the shortcomings of conventional systems by using metadata through Semantic Rich Objects (SRO) to expose user-available functions from underlying data sources and applications. In addition to being available to the user through one SRO, the metadata includes information that allows the user to determine that it is available through various combinations of SROs exposed by the same or different applications and data sources. Alternative embodiments also allow the user to determine how to use the SRO in combination. The publicly available action functions can be combined and used by the user in a convenient manner that further exposes the actions and functions of the application program. According to one aspect of the present invention, in addition to individual single actions (eg, copy, paste, etc.), actions can be presented to the user according to semantic rules (eg, “This document is called John Share it and put the document into John's schedule at 10:00 am on July 1, 2005 "), etc.) to extract the metadata in the SRO and combine it with the metadata of another SRO.

好都合な点として、公開されるSROのメタデータを通じて、本発明の実施形態は、アプリケーションプログラム内のプロセスがユーザに対して透過になるように、平易な文章でアプリケーションプログラムのアクションをユーザに提供する。本発明の実施形態は、アプリケーションプログラムが標準的または静的なユーザインタフェース(UI)構成に依拠せずに、適切で利用可能なアクションを判定できるように、メタデータを有するSROのインスタンスも公開する。   Advantageously, through published SRO metadata, embodiments of the present invention provide the user with application program actions in plain text so that processes within the application program are transparent to the user. . Embodiments of the present invention also expose instances of SROs with metadata so that application programs can determine appropriate and available actions without relying on standard or static user interface (UI) configurations. .

すなわち、本発明の態様は、ビジネスアプリケーション等から利用することができる豊富な振る舞いと識見を完全に利用するためのユーザの能力を決定し、制限するUIにおけるカスタムロジックの問題を完全に解決する。また、本発明の態様は、基礎となるアプリケーションおよびデータソースによって提示されるアクションの意味的な豊富さを増大することにより、従来のフォーム方式のUI設計で必要とされるコードの量を減らす。   That is, aspects of the present invention completely solve the problem of custom logic in the UI that determines and limits the user's ability to fully utilize the rich behavior and insights that can be utilized from business applications and the like. Aspects of the present invention also reduce the amount of code required in traditional form-based UI designs by increasing the semantic richness of actions presented by the underlying application and data source.

あるいは、本発明は、各種の他の方法および装置を備えることもできる。   Alternatively, the present invention can include various other methods and devices.

他の特徴は、一部は自ずと明らかになり、一部は以下で指摘する。   Other features are partly obvious and some are pointed out below.

この概要は、下記の「発明を実施するための最良の形態」でさらに説明されるいくつかの概念を簡略化した形で紹介するために提供される。この概要は、特許権を請求される主題の主要な特徴あるいは必須の特徴を明らかにするものではなく、特許権を請求される主題の範囲を定める助けとして使用すべきものでもない。   This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary does not identify key or essential features of the claimed subject matter, nor should it be used as an aid in determining the scope of the claimed subject matter.

対応する参照符号は、すべての図面を通じて対応する部分を示す。   Corresponding reference characters indicate corresponding parts throughout the drawings.

初めに図1を参照すると、本発明の一実施形態に係るセマンティックリッチオブジェクト(SRO)を使用してプロセス中で動的なユーザエクスペリエンスを提供するシステム100をブロック図で示す。システム100は、例えば、図7のコンピュータ130などのコンピューティングシステム、コンピューティングデバイス、コンピュータサーバ、複数のコンピュータサーバ、またはコンピュータ実行可能命令、アプリケーション、アプリケーションソフトウェア、アプリケーションプログラム112、コンピュータ実行可能ルーチンまたはコードを実行することが可能な他のコンピューティングデバイスとすることができる。別の実施形態では、システム100は、イントラネット、インターネット等の共通の通信ネットワークで複数のコンピューティングデバイスが接続された分散システム内のコンピューティングデバイスを含む。   Referring initially to FIG. 1, a block diagram illustrates a system 100 that uses a semantic rich object (SRO) to provide a dynamic user experience in the process according to one embodiment of the invention. The system 100 can be, for example, a computing system such as the computer 130 of FIG. 7, a computing device, a computer server, a plurality of computer servers, or computer-executable instructions, applications, application software, application programs 112, computer-executable routines or code. Can be other computing devices capable of executing In another embodiment, the system 100 includes computing devices in a distributed system in which multiple computing devices are connected by a common communication network such as an intranet, the Internet, or the like.

引き続き図1を参照すると、システム100は、インタフェース104に関連付けられたプロセッサ102を含む。プロセッサ102は、インタフェース104を介したユーザ106からの命令またはコマンドを処理し、コンピュータ実行可能命令、ルーチン、アプリケーション、アプリケーションプログラムなどを実行する。インタフェース104は、ユーザ106から対話的ジェスチャを受け取る。インタフェース104は、例えば、図7に示すディスプレイなどのディスプレイであり、ユーザ106は、マウス182やキーボード180などの入力装置を使用して、ディスプレイに表示された1つまたは複数のオブジェクトを選択することができる。別の実施形態では、インタフェース104は、音声認識システムに結合された音声機器であり、ユーザ106が音声で音声プロンプトに応答できるようにユーザ106に対話型の音声ダイアログを提供する。   With continued reference to FIG. 1, system 100 includes a processor 102 associated with an interface 104. The processor 102 processes instructions or commands from the user 106 via the interface 104 and executes computer-executable instructions, routines, applications, application programs, and the like. The interface 104 receives interactive gestures from the user 106. The interface 104 is a display such as the display shown in FIG. 7, for example, and the user 106 selects one or more objects displayed on the display using an input device such as a mouse 182 or a keyboard 180. Can do. In another embodiment, the interface 104 is a voice device coupled to a voice recognition system and provides the user 106 with an interactive voice dialog so that the user 106 can respond to voice prompts with voice.

システム100は、メモリ108も含み、メモリ108は、揮発性、不揮発性、図7のシステムメモリ134または不揮発性メモリインタフェース166、またはインターネット、イントラネット、あるいは他のタイプの通信ネットワークなどの共通の通信ネットワークを介して送信される可能性のあるデータを記憶する他のコンピュータ可読媒体とすることができる。   The system 100 also includes a memory 108 that is volatile, non-volatile, a common communication network such as the system memory 134 or non-volatile memory interface 166 of FIG. 7, or the Internet, an intranet, or other type of communication network. Other computer-readable media for storing data that may be transmitted over the Internet.

一実施形態では、メモリ108は、アプリケーションプログラム112におけるアクションおよびデータ状態を提示するメタデータを含む複数のセマンティックリッチオブジェクト(SRO)110を記憶する。例えば、アプリケーションプログラム112は、タスクを行う、またはイベントを処理するためのアクション、機能、動作等を含むことができ、また、タスクの内容に関するデータ(図2を参照した下記の説明を参照)(例えばあるタスクがある顧客の特定の注文の処理に関する等)も保持することができる。実例として、ワークフロー管理アプリケーションプログラムは、タスクの割り当てやタスクの委託等を伴うワークフロープロセスを扱う。通信ソフトウェアは、2者間の通信を容易にする(例えば電子メールの送信、関係者間の文書共有など)、あるいはメッセージングサービスを提供する、等のアクションを含むことができる。別の実例として、マルチメディアソフトウェアは、メディアオブジェクト(例えば音声ファイル、静止画ファイル、動画ファイル等)を整理する、別の人物との間でメディアオブジェクトをやり取りする、等のアクションを含むことができる。   In one embodiment, the memory 108 stores a plurality of semantic rich objects (SROs) 110 that include metadata that presents actions and data states in the application program 112. For example, the application program 112 can include actions, functions, operations, etc. for performing a task or processing an event, and data relating to the content of the task (see the description below with reference to FIG. 2) ( For example, a certain task related to the processing of a specific order of a customer may also be held. By way of illustration, a workflow management application program handles workflow processes that involve task assignment, task delegation, and the like. The communication software may include actions such as facilitating communication between the two parties (eg, sending an email, sharing documents between parties, etc.) or providing a messaging service. As another example, multimedia software may include actions such as organizing media objects (eg, audio files, still image files, video files, etc.), exchanging media objects with another person, etc. .

現在、静的なフォーム方式のユーザインタフェースのセットは、こうしたアプリケーションプログラムまたはプロセスの中でユーザにアクションを提示する。例えば、多くの周知のUIは、ユーザが選択するための「ファイル、編集、ツール、ヘルプ」等の上位レベルのメニューオプションの標準的なセットを備える。これら上位レベルのメニューオプションはそれぞれ、さらに追加的なオプションを提供する。この例を続けると、上位レベルのメニューオプション「ファイル」は、「開く、保存、終了、印刷」あるいはその他の下位オプションを含むことができる。概して、ユーザは、アプリケーションプログラム112あるいはプロセスに慣れる、あるいは情報のやりとりを行うためには、そうした種々の個別のメニューオプションを覚える必要がある。この学習体験は、新しい言語を習得することに似る。すなわち、アプリケーションプログラム112と情報のやりとりを行う前に、語彙と文法規則または論理規則(例えば「開く」のオプションは「編集」ではなく「ファイル」の下位メニューである等)を覚えなければならない。   Currently, a set of static form-based user interfaces presents actions to the user in such application programs or processes. For example, many well-known UIs include a standard set of high-level menu options such as “File, Edit, Tool, Help” for the user to select. Each of these higher level menu options provides additional options. Continuing with this example, the higher level menu option “File” may include “Open, Save, Exit, Print” or other lower options. In general, the user needs to learn such various individual menu options in order to become familiar with or interact with the application program 112 or process. This learning experience is similar to learning a new language. That is, before exchanging information with the application program 112, vocabulary and grammatical rules or logical rules (for example, the “Open” option is a submenu of “File” instead of “Edit”) must be learned.

有利な点として、本発明の実施形態は、利用可能あるいは適切なアクションのセットを、ユーザの選択に応じて、かつ平易な文章あるいは意味形式でユーザに提示できるように、アプリケーションプログラム112またはプロセス内のアクションを表すメタデータを用いる。代替実施形態では、利用可能あるいは適切なアクションのセットは、アプリケーションプログラム112のコンテクストまたは実行環境に基づいて選択的にユーザに提供または提示される。再度図1を参照すると、SROは、システム100などの実行環境内で直接操作する、検証する、または共有するためにユーザに提供される項目またはオブジェクトである。あるいは、SROは、そのSROから利用できる振る舞いを制約または拡充することが可能なフォームなどの媒体を通じてユーザに提供されてもよい。一実施形態では、SROは、ユーザ106が直接制御しているコンテクストまたは実行環境に固有とすることができる。例えば、コンピュータネットワークシステムの管理者には、コンピュータネットワークを管理するために、利用可能な機能の完全なセットを提示することができる。一方、ワークステーションのユーザAには、ワークステーションユーザというワークステーションユーザAの役割のために、小さなオプションのセットのみが提示されるようにすることができる。   Advantageously, embodiments of the present invention provide within application program 112 or process so that a set of available or appropriate actions can be presented to the user in response to the user's choice and in plain text or semantic form. Use metadata that represents the action. In alternative embodiments, a set of available or appropriate actions is selectively provided or presented to the user based on the context or execution environment of the application program 112. Referring again to FIG. 1, an SRO is an item or object that is provided to a user to operate, verify, or share directly within an execution environment such as system 100. Alternatively, the SRO may be provided to the user through a medium such as a form that can constrain or enhance the behavior available from that SRO. In one embodiment, the SRO may be specific to the context or execution environment that the user 106 is in direct control. For example, a computer network system administrator can be presented with a complete set of available functions to manage the computer network. On the other hand, workstation user A may be presented with only a small set of options for the role of workstation user A, workstation user.

SROと併せて、またはSROに加えて、フォーム方式のUI設計を使用してよいことを理解されたい。例えば、UI開発者は、SRO中の豊富な情報を受け取る、ユーザに対するオプションを有するフォームを提供することができる、その結果UI開発者は、そのフォームで提示されるオプションのすべてまたは一部をコーディングする必要がない。あるいは、SROを用いる本発明の実施形態は、UI開発者が機能をユーザに提示し、機能を使用可能にするために従来提供しているフォーム中の論理コーディングの量を減らす。   It should be understood that a form based UI design may be used in conjunction with or in addition to the SRO. For example, a UI developer can provide a form with options for the user that receives a wealth of information in the SRO so that the UI developer can code all or part of the options presented in that form There is no need to do. Alternatively, embodiments of the present invention using SRO reduce the amount of logical coding in forms that UI developers have traditionally provided to present functions to users and enable the functions.

代替実施形態では、システム100は、アプリケーションプログラム112のプロセスの実行の遂行履歴、プロセス実行とユーザの過去における情報のやりとり、およびメモリ108内のプロセス実行モデルに関連するデータを含むデータを記憶し、システム100が、SRO110からメタデータを抽出する際に、習慣的なアクションや頻繁に使用されるアクションのセットをユーザ106に提示できるようにする。   In an alternative embodiment, the system 100 stores data including performance history of execution of the process of the application program 112, exchange of information between the process execution and the user's past, and data related to the process execution model in the memory 108; As system 100 extracts metadata from SRO 110, it allows users 106 to be presented with habitual or frequently used sets of actions.

次いで図2を参照すると、本発明の一実施形態に係るメタデータを含むデータ構造202をブロック図で示す。第1のデータフィールド204は、プロセスに関連付けられたアクションを表すメタデータを含む。例えば、第1のデータフィールド204は、利用可能アクションコードに関連するメタデータ206、アクション実行コードに関連するメタデータ208、ジェスチャプロセス識別番号(PIN)に関連するメタデータ210、拡張性メソッドに関連するメタデータ212、およびオブジェクトモデルに関連するメタデータ214を含むことができる。   Referring now to FIG. 2, a data structure 202 including metadata according to one embodiment of the present invention is shown in a block diagram. The first data field 204 includes metadata that represents an action associated with the process. For example, the first data field 204 includes metadata 206 related to the available action code, metadata 208 related to the action execution code, metadata 210 related to the gesture process identification number (PIN), and related to the extensibility method. Metadata 212 associated with the object model and metadata 214 associated with the object model.

データ構造202は、プロセスの実行環境を表すメタデータを含む第2のデータフィールド216も含み、第1のデータフィールドは、第2のデータフィールドに関連付けられて、そのプロセスの実行環境で行われる利用可能なアクションのセットを定義する。第2のデータフィールド216は、例えば、アプリケーションコンテクストに関連するメタデータ218と、周辺サービス定義に関連するメタデータ220を含むことができる。周辺サービス定義220は、例えば、対話的ジェスチャを、プロセスまたはアプリケーションプログラム112のアクションの実施に一致させるデータに関連するメタデータを含む。例えば、アプリケーションプログラム112またはあるSROのコンテクストが、アセンブリプログラミング言語のコンピュータ実行可能命令を実行するウェブアプリケーションサービスであるとする。この例では、周辺サービス定義220は、所与の対話的ジェスチャと、それに対応する、ウェブアプリケーションサービスによって実行されるアセンブリ言語とに関連するメタデータを提供することができる。   The data structure 202 also includes a second data field 216 that includes metadata representing the execution environment of the process, the first data field being associated with the second data field and used in the execution environment of the process. Define a set of possible actions. The second data field 216 can include, for example, metadata 218 associated with the application context and metadata 220 associated with the peripheral service definition. Peripheral service definition 220 includes metadata associated with data that, for example, matches an interactive gesture to the execution of a process or application program 112 action. For example, assume that the context of an application program 112 or some SRO is a web application service that executes computer-executable instructions in assembly programming language. In this example, the peripheral service definition 220 can provide metadata associated with a given interactive gesture and corresponding assembly language executed by the web application service.

別の実施形態では、アプリケーションコンテクスト218は、SROがそのアクションを提示することを試みるアプリケーションプログラムのコンテクストまたは実行環境に関連するデータも含む。例えば、アプリケーションコンテクスト218に含まれるデータは、ユーザ名、ユーザタイプ、ユーザの実行環境(コンピュータの識別、オペレーティングシステムのバージョン等)、または、ユーザの1つまたは複数のオプションの利用可能性に関する制約や制限を含むことができる。   In another embodiment, the application context 218 also includes data related to the context or execution environment of the application program that the SRO attempts to present its action. For example, the data contained in the application context 218 may include constraints on user name, user type, user execution environment (computer identification, operating system version, etc.), or availability of one or more options for the user. Restrictions can be included.

一実施形態では、データ構造202はさらに、セマンティックルールのセットを表すメタデータを含む第3のデータフィールド222を含み、セマンティックルールは、第1のデータフィールドのメタデータおよび第2のデータフィールドのメタデータに関連付けられた1つまたは複数の対話的ジェスチャを定義する。例えば、第3のデータフィールド222は、ジェスチャマップに関連するメタデータ224、発話行為マップに関連するメタデータ226、およびコンテクスト規則のセットに関連するメタデータ228を含むことができる。実例として、ユーザ106は、対話的ジェスチャを介してシステム100のSRO110と情報のやりとりを行うことができ、対話的ジェスチャには、マウスを使用してコンピュータデスクトップ上でアイコンを選択およびドラッグすること、音声プロンプトに音声で応答すること、あるいはその他のこと(例えば電話機のキーパッドやキーボードでキーを押下すること)が含まれる。このような対話的ジェスチャにより、システム100は、選択されたSROから抽出されたメタデータを、ワークフロー等のプロセスと情報のやりとりを行うためにユーザが利用できるアクションのセットに対応付けることができる。   In one embodiment, the data structure 202 further includes a third data field 222 that includes metadata representing a set of semantic rules, where the semantic rules include the metadata of the first data field and the metadata of the second data field. Define one or more interactive gestures associated with the data. For example, the third data field 222 can include metadata 224 associated with the gesture map, metadata 226 associated with the speech act map, and metadata 228 associated with the set of context rules. Illustratively, the user 106 can interact with the SRO 110 of the system 100 via interactive gestures, such as selecting and dragging icons on the computer desktop using a mouse; This includes responding to voice prompts with voice, or other things (eg, pressing a key on a telephone keypad or keyboard). Such interactive gestures allow the system 100 to associate metadata extracted from the selected SRO with a set of actions that can be used by the user to interact with processes such as workflows.

一実施形態では、セマンティックルールのセットは、アプリケーションコンテクスト218に含まれる、アプリケーションプログラムの実行環境またはコンテクストに関連するメタデータおよびデータに基づいて解釈または評価される。例えば、アプリケーション/プロセス/データソースからSROが提示された時、そのSROは、いくらかの初期データをコンテストとして含んでいる。UI環境(SROに含まれた状態でSROを公開するUI、またはSROに加えてフォームなどの追加的なレイヤを提供するUI)は、コンテクストの中にデータをアサートまたはリトラクトすることができる。例えば、セマンティックルールのセットは、セマンティックルールのセットを適用する前にユーザ名/ユーザタイプのデータを評価し、UIにそのデータをアサートしてユーザの対話的ジェスチャを解釈して、選択されたSROからユーザが利用可能なアクションのセットを抽出することができる。別の例では、セマンティックルールのセットがアクションを評価し、そのアクションは一度しか使用できないことを判定する場合がある。そのため、UIは、そのアクションをユーザに提供しない。   In one embodiment, the set of semantic rules is interpreted or evaluated based on metadata and data associated with the execution environment or context of the application program that is included in the application context 218. For example, when an SRO is presented from an application / process / data source, the SRO includes some initial data as a contest. A UI environment (a UI that exposes an SRO while included in the SRO, or a UI that provides an additional layer such as a form in addition to the SRO) can assert or retract data into the context. For example, the set of semantic rules evaluates the username / user type data before applying the set of semantic rules, asserts that data into the UI, interprets the user's interactive gestures, and selects the selected SRO. A set of actions available to the user can be extracted from. In another example, a set of semantic rules may evaluate an action and determine that the action can only be used once. Therefore, the UI does not provide that action to the user.

データ構造202は、ここに例示されるタイプのメタデータを有するデータフィールドを含むが、本発明の範囲から逸脱することなく、他のメタデータタイプ、またはアプリケーションプログラム112内のプロセスの実行やプロセスの実行環境に関連する情報を有するデータを含めてよい。また、本発明の実施形態では例示的なデータタイプとしてメタデータを用いるが、本発明の範囲から逸脱することなく、実行の前にデータの再コンパイルが必要とされないように、管理されるあらゆる要素および/またはデータの実行時に実行されるあらゆる要素を記述する他のデータ構成あるいはデータ編成を使用してよい。   The data structure 202 includes data fields having the types of metadata illustrated here, but other metadata types or process executions or processes within the application program 112 without departing from the scope of the present invention. Data having information related to the execution environment may be included. Also, although embodiments of the present invention use metadata as an exemplary data type, any element managed so that recompilation of data is not required prior to execution without departing from the scope of the present invention. And / or other data structures or data organizations that describe any element that is executed when the data is executed may be used.

SROをさらに説明するために、図3は、本発明の一実施形態に係る、SROのメタデータで表される機能を説明するブロック図である。ここに例示される実施形態では、例えば、集約アプリケーション302、ウェブサービスアプリケーション304、タスクフローアプリケーション306、コンテクスト空間アプリケーション308、および文書アプリケーション310などのプロセスは、1つまたは複数のアクションを含む。また、これらアプリケーションプログラムの特徴やアクションが公開されるように、1つまたは複数のSRO312、314、316、318、および320が使用される。有利な点として、本発明の態様は、SROの使用を通じて各種アプリケーション間で機能を公開する。例えば、タスクフローアプリケーション306は、矢印322を介してSRO318にタスクイベントを送信することができ、これは、ユーザがタスクを作成することで表されることができる。ユーザがSRO318でタスクイベントを作成し、そのタスクをある個人に割り当ててそのタスクを実行すると、SRO318は、矢印324を介してSRO320に対してロールイベントを生成し、SRO320は、矢印326を介してSRO312に対してアクションイベントを生成する。このように、本発明の態様によれば、各SROが多機能であり、種々のイベントやアクションに応答するために各種の異なるアプリケーションプログラムによって使用されることができる。   To further describe the SRO, FIG. 3 is a block diagram illustrating functions represented by SRO metadata, according to an embodiment of the present invention. In the illustrated embodiment, for example, processes such as aggregation application 302, web service application 304, taskflow application 306, context space application 308, and document application 310 include one or more actions. Also, one or more SROs 312, 314, 316, 318, and 320 are used so that the features and actions of these application programs are exposed. Advantageously, aspects of the present invention expose functionality between various applications through the use of SRO. For example, the task flow application 306 can send a task event to the SRO 318 via arrow 322, which can be represented by the user creating a task. When a user creates a task event in SRO 318, assigns the task to an individual and executes the task, SRO 318 generates a roll event for SRO 320 via arrow 324, and SRO 320 passes via arrow 326. An action event is generated for the SRO 312. Thus, according to aspects of the present invention, each SRO is multifunctional and can be used by a variety of different application programs to respond to various events and actions.

引き続き図3を参照すると、図3に示すアプリケーションおよびSRO間の矢印は、SROおよびアプリケーション間の例示的な意味的関係を表している。例えば、ウェブサービスアプリケーション304からSRO312への矢印328は、ウェブサービスアプリケーション304がSRO312を通じてユーザ(例えばユーザ106)にアクションまたはイベントを公開することを表すことができる。別の例では、SRO318からSRO320への矢印324は、ある店舗の地域担当者にタスクが割り当てられたことを表すことができる。このように、SROのタイプを通じてプロセス内の1つまたは複数のアクションを表してアプリケーションプログラムのプロセスの機能を公開することにより、システム100は、ユーザ106に動的なユーザエクスペリエンスを提供する。   With continued reference to FIG. 3, the arrows between the application and the SRO shown in FIG. 3 represent an exemplary semantic relationship between the SRO and the application. For example, an arrow 328 from the web service application 304 to the SRO 312 can represent that the web service application 304 exposes an action or event to the user (eg, the user 106) through the SRO 312. In another example, an arrow 324 from SRO 318 to SRO 320 can indicate that a task has been assigned to a regional representative at a store. Thus, by exposing one or more actions in the process through the type of SRO to expose the functionality of the application program process, the system 100 provides the user 106 with a dynamic user experience.

比較的単純な動的ユーザエクスペリエンスを例示すると、図4は、本発明の一実施形態に係るSROからのメタデータの抽出を説明するブロック図である。例えば、図4に示すように、地図タイプSRO402は、場所に関するメタデータを含んでいる。この例では、地図タイプSRO402は、シアトルの地図を表す。引き続き図4を参照すると、天候タイプSRO404は、時間に関連するメタデータを含む。図示するように、天候タイプSRO404は、2005年6月3日午前10時のシアトルの天候が曇りで、気温が華氏67度であることを示している。   Illustrating a relatively simple dynamic user experience, FIG. 4 is a block diagram illustrating extraction of metadata from an SRO according to one embodiment of the present invention. For example, as shown in FIG. 4, the map type SRO 402 includes metadata regarding a place. In this example, the map type SRO 402 represents a map of Seattle. With continued reference to FIG. 4, the weather type SRO 404 includes time related metadata. As shown, the weather type SRO 404 indicates that the weather in Seattle on June 3, 2005 at 10:00 am is cloudy and the temperature is 67 degrees Fahrenheit.

ユーザ106が、シアトルの人気のある観光地であるSpace Needleの写真を選択あるいは入手すると、そのSpace Needleの写真が、写真の品質、時間、および場所に関連するメタデータを含む写真タイプSRO406によって表される。このように、メタデータを使用して写真タイプSRO406を表し、写真タイプSRO406、地図タイプSRO402、および天候タイプSRO404からメタデータを抽出することにより、シアトルからのSpace Needleの位置、GPS(全地球測位衛星)によるシアトルからのSpace Needleの位置が示された地図、Space Needle周辺の現在の気象状況、および/またはSpace Needle周辺の気象状況の予報を含んだボックスまたはウィンドウ408をユーザ106に提示することができる。代替実施形態では、SROの使用により、ユーザは、旅行に関する詳細事項を要求する、あるいはSpace Needleの地図を購入するといった、Space Needleに関する追加的なアクションを行うことができる。   When user 106 selects or obtains a photo of Space Needle, a popular tourist destination in Seattle, the Photo of Space Needle is represented by photo type SRO406, which includes metadata related to photo quality, time, and location. Is done. Thus, the metadata is used to represent the photo type SRO406, and by extracting the metadata from the photo type SRO406, the map type SRO402, and the weather type SRO404, the location of Space Needle from Seattle, GPS (Global Positioning) Presenting the user 106 with a box or window 408 containing a map of Space Needle from Seattle by satellite, current weather conditions around Space Needle, and / or a forecast of weather conditions around Space Needle. Can do. In an alternative embodiment, the use of SRO allows the user to take additional actions related to Space Needle, such as requesting travel details or purchasing a Space Needle map.

次いで図5を参照すると、本発明の一実施形態に係る、SRO(セマンティックリッチオブジェクト)を使用してプロセス中で動的なユーザエクスペリエンスを提供する方法をフローチャートで示す。詳細には、図5は、キーボードを用いたユーザによる対話的ジェスチャの一例を例示する。初めに502で、ノートタイプSRO506が、アクションとそれらアクションの実行環境に関連付けられたメタデータを含んで、プロセス内の1つまたは複数のアクションを表す。504で、インタフェース104は、プロセス内で所望のアクションを行うためにSROの少なくとも1つを選択する対話的ジェスチャをユーザ106から受け取る。ここに例示する例では、ユーザ106は、ノートタイプSRO506に関して「Jennifer「Finding Neverland」」というテキストをキーボードから入力する。ユーザ106が要求するアクションは、Jenniferと一緒に「Finding Neverland」を見ることかもしれない。508で、システム100は、受け取った対話的ジェスチャに応答して、ノートタイプSRO506からメタデータを抽出して、要求されるアクションがそのプロセスの実行環境で利用可能であるかどうかを判定する。   Referring now to FIG. 5, a flowchart illustrates a method for providing a dynamic user experience in the process using SRO (Semantic Rich Objects) according to one embodiment of the present invention. Specifically, FIG. 5 illustrates an example of an interactive gesture by a user using a keyboard. Initially at 502, a note type SRO 506 represents one or more actions in the process, including metadata associated with the actions and the execution environment of those actions. At 504, the interface 104 receives an interactive gesture from the user 106 that selects at least one of the SROs to perform a desired action in the process. In the example illustrated here, the user 106 inputs the text “Jennifer“ Finding Novel ”” from the keyboard for the note type SRO506. The action requested by the user 106 may be to see “Finding Neverland” with Jennifer. At 508, the system 100 extracts metadata from the note type SRO 506 in response to the received interactive gesture to determine if the requested action is available in the execution environment of the process.

この判定において、プロセッサ102は、まず510でセマンティックルールのセットを定義して、対話的ジェスチャ「Jennifer「Finding Neverland」」を評価または解釈することができる。上記で述べたように、各SROは、セマンティックルールのセットを評価するために使用されるいくらかのデータを持っている(第2データフィールド216のアプリケーションコンテクスト218などに)。一例では、アプリケーションコンテクスト218のデータの一部は、アプリケーションプログラムによって提示されることができ、一部は、UI環境によって(例えばSROをホストするフォームで)アサート/リトラクトされることができる。定義されたセマンティックルールは、「Jennifer」がロールタイプSROを指すと判断することができ、一方「Finding Neverland」は、場所タイプSROを指す可能性がある。「Finding Neverland」が場所を指すのではないと判定すると、定義されたセマンティックルールはさらに、「Finding Neverland」が、文書などのオブジェクトの名前、ファイルのタイトル等であると判断することができる。このように、システム100は、メモリ108に記憶された利用可能なファイルを検索する、またはアプリケーションプログラムからのデータにアクセスして、「Finding Neverland」の語義的意味がテキストまたはメディアオブジェクトタイプのSROであると判定することができる。システム100は、引き続き514でセマンティックルールを使用して「Jennifer」と「Finding Neverland」を解明するのに伴い、516で、要求されるアクションを行うために利用可能なアクションのセットを提供する。一実施形態では、SROは、利用可能アクションコード206、アクション実行コード208等のコード、ルーチン、あるいはコンピュータ実行可能命令を、第1のデータフィールド204に含んでいる。例えば、これらのコードを使用してアクションを実行させることができる。別の例では、このコードは複雑なコードとすることができ、当該アクションがウェブサービスによって提供される場合には、アクション実行コードは、そのウェブサービスと通信する方法を知る必要がある場合がある。   In this determination, the processor 102 may first define a set of semantic rules at 510 to evaluate or interpret the interactive gesture “Jennifer“ Finding Neverland ””. As mentioned above, each SRO has some data (such as in the application context 218 in the second data field 216) that is used to evaluate a set of semantic rules. In one example, some of the data in the application context 218 can be presented by the application program, and some can be asserted / retracted by the UI environment (eg, in a form hosting the SRO). The defined semantic rule may determine that “Jennifer” refers to a role type SRO, while “Finding Nerland” may refer to a location type SRO. If it is determined that “Finding Nerland” does not refer to a place, the defined semantic rule can further determine that “Finding Nerland” is the name of an object such as a document, the title of a file, and the like. In this way, the system 100 searches for available files stored in the memory 108 or accesses data from an application program, and the semantic meaning of “Finding Novel” is a text or media object type SRO. It can be determined that there is. The system 100 provides a set of actions available at 516 to perform the required action as it continues to resolve the “Jennifer” and “Finding Neverland” using semantic rules at 514. In one embodiment, the SRO includes code such as available action code 206, action execution code 208, routines, or computer-executable instructions in the first data field 204. For example, these codes can be used to perform actions. In another example, this code can be complex code, and if the action is provided by a web service, the action execution code may need to know how to communicate with the web service .

この例では、システム100は、Jenniferは、ユーザの個人連絡先リスト(アドレス帳、電子メールの連絡先リスト、あるいはその他の通信連絡先リスト)にあるロールタイプSROのインスタンスであり、「Finding Neverland」は映画の題名であると判定する。そのため、518で、システム100は、「342−403−3323に電話をかけてJenniferに連絡をとり、ビデオレンタル店から映画「Finding Neverland」を借りる」、あるいは「A劇場の「Finding Neverland」の映画の券を購入し、ユーザの予定表とA劇場の上映時間によるとユーザは土曜と日曜の午後4時から10時が都合がよい」等の利用可能なアクションのセットを提供する。すなわち、ユーザ106に、ユーザの電話帳からJenniferを選択してその電話番号を調べさせる、あるいはインターネットを閲覧して「Finding Neverland」の題名が提供されているか判断させる、あるいはA劇場の場所を調べて都合のよい上映時間を決めさせる代わりに、システム100が、動的で、状況に即し、面白いユーザエクスペリエンスをユーザ106に提供する。したがって、ユーザ106は、アプリケーションプログラムから提供される標準的なアクション、さらにはカスタムコーディングされたアクションに制限されない。代わりに、SROは、メタデータを使用してアプリケーションプログラム内でプロセスの機能とアクションを公開し、単純で平易な言葉でユーザ106にアクションを提供する。   In this example, the system 100 indicates that Jennifer is an instance of a role type SRO in the user's personal contact list (address book, email contact list, or other communication contact list), and “Finding Nerland” Is determined to be the title of a movie. Therefore, at 518, the system 100 calls "342-403-3323 to contact Jennifer and rents the movie" Finding Neverland "from the video rental store" or "Movie A Theater" Finding Newland "movie. And according to the user's schedule and the screening times of Theater A, the user will have a set of available actions, such as “Saturday and Sunday are convenient from 4 to 10 pm”. That is, let the user 106 select Jennifer from the user's phone book and check the phone number, or browse the Internet to determine if the title “Finding Neverland” is provided, or check the location of the A theater Instead of having a convenient viewing time determined, the system 100 provides the user 106 with a dynamic, contextual and interesting user experience. Thus, the user 106 is not limited to standard actions provided from application programs, or even custom-coded actions. Instead, the SRO uses metadata to expose process functions and actions within the application program, and provides actions to the user 106 in simple and plain language.

一実施形態では、発話行為(さらに詳しくは付録Aを参照のこと)を含むユーザの対話的ジェスチャがSROのメタデータに対応付けられ、システム100は、視覚および音声による対話的ジェスチャの組合せに応答して、選択されたSROからメタデータを抽出して、要求されるアクションを判定することができる。   In one embodiment, the user's interactive gestures including speech activity (see Appendix A for more details) are mapped to SRO metadata and the system 100 responds to a combination of visual and audio interactive gestures. The metadata can then be extracted from the selected SRO to determine the required action.

別の代替実施形態では、ユーザは、マウスのクリック、ディスプレイ上のマウスの移動などの対話的ジェスチャを介して1つまたは複数のイベントを生成する。システム100は、ユーザからのイベントを受け取る、またはインターセプトし、セマンティックルールのセットに従って、そのイベントを、SROのメタデータを通じて公開されるアクションに対応付ける。システム100によってメタデータがSROから抽出されると、対話的ジェスチャに応答して利用可能なアクションのセットがユーザに提示される。場合によっては、システム100が、利用可能なアクションを実行あるいは実施してもよい。   In another alternative embodiment, the user generates one or more events via interactive gestures such as mouse clicks, mouse movements on the display. The system 100 receives or intercepts an event from the user and maps the event to an action exposed through SRO metadata according to a set of semantic rules. When the metadata is extracted from the SRO by the system 100, the user is presented with a set of available actions in response to the interactive gesture. In some cases, the system 100 may perform or perform available actions.

図6Aから図6Cは、本発明の一実施形態に係る、ポインティングデバイス(例えばマウス)を使用したユーザからの対話的ジェスチャに応答して利用可能なアクションのセットを提供することをさらに説明するブロック図である。この例では、ポインティングデバイスを通じた対話的ジェスチャには、次が含まれることができる。   FIGS. 6A-6C further illustrate providing a set of actions available in response to an interactive gesture from a user using a pointing device (eg, a mouse), according to one embodiment of the invention. FIG. In this example, the interactive gestures through the pointing device can include:

・何かを起動するためのクリック
・1つのオブジェクトを別のオブジェクトの上にドラッグ/ドロップして何らかの動作を行う
・何かについてさらに多くのことを知る、またはより多くのオプションを得るための右クリック
・複数のオブジェクトをまとめる、あるいはそのオブジェクトすべてに共通の操作を行うための「枠囲い」
・非階層的な暗喩を介した何かの検索と、その結果をスクロールし、可能性としてはその結果への移動。
• Click to launch something • Drag / drop one object onto another to do something • Right to know more about something or get more options Click “Frame enclosure” to combine multiple objects or perform common operations on all of them
Search for something through a non-hierarchical metaphor and scroll through the results, possibly moving to the results.

図6Aに、利用可能なアクションのセットをユーザ106に提供するための表示領域602および動作スペース604を示す。アイコンあるいはイベントオブジェクト606は、SROを表す。この例では、イベントオブジェクト606は「注文123」を表す。表示領域602は、ユーザ106が「検索」ボタン612を押すと照会が実行されることが可能な検索入力欄608および610も含む。   FIG. 6A shows a display area 602 and an operational space 604 for providing the user 106 with a set of available actions. An icon or event object 606 represents an SRO. In this example, the event object 606 represents “order 123”. The display area 602 also includes search input fields 608 and 610 that can be queried when the user 106 presses the “Search” button 612.

次いで図6Bを参照すると、ユーザ106は、まずポインティングデバイスを使用してイベントオブジェクト606を選択し、イベントオブジェクト606をドラッグし(点線のイベントオブジェクト614は、ユーザ106によるドラッグの動きを表す)、動作スペース604の中にイベントオブジェクト616としてイベントオブジェクト606をドロップする。一実施形態では、このようなドラッグアンドドロップの対話的ジェスチャは、次のルールに従ってSROのメタデータに対応付けることができる。   Referring now to FIG. 6B, the user 106 first selects the event object 606 using a pointing device and drags the event object 606 (the dotted event object 614 represents the drag movement by the user 106). An event object 606 is dropped as an event object 616 in the space 604. In one embodiment, such drag-and-drop interactive gestures can be associated with SRO metadata according to the following rules:

ルール1:<行為者、UIジェスチャ、対象物、環境、デフォルトのアクションセット>
このルールの下、対話的ジェスチャ(例えば「ドラッグ/ドロップ」)が、実行環境(例えば動作スペース604)内で行為者SRO(例えば営業報告書)および対象物SRO(例えば同僚)に結び付けられる。
Rule 1: <actor, UI gesture, object, environment, default action set>
Under this rule, interactive gestures (eg, “drag / drop”) are tied to an actor SRO (eg, a business report) and an object SRO (eg, a colleague) within an execution environment (eg, the action space 604).

あるいは、ユーザ106のドラッグアンドドロップの対話的ジェスチャは、次のルールに従ってSROのメタデータに対応付けてもよい。   Alternatively, the user 106 drag and drop interactive gesture may be associated with SRO metadata according to the following rules:

ルール2:<行為者、行為、発話行為>
この例では、行為者SROに対して利用可能なアクションは、要求、通知、命令等のSpeechActに対応付けられる。
Rule 2: <Actor, Act, Speech Act>
In this example, the actions available to the actor SRO are associated with a speech act such as a request, notification, or command.

別の代替実施形態では、ユーザ106は、ドラッグアンドドロップのマウスアクションなどの対話的ジェスチャを使用してあるSROを1つまたは複数の他のSROに関連付けて、その1つのSROと1つまたは複数の他のSROで表されるアクションまたは振る舞いを含んだ意味文章として、利用可能なアクションのセットを作成することができる。例えば、ユーザ106は、メタデータで公開されるアクションまたは振る舞いが、「ユーザBにタスクAを割り当て、ユーザBによってそのタスクが完了したらユーザBの直属の上司に通知を送信する」等の文章として作成されることができるように、ユーザ106の対話的ジェスチャに応答した形などでSRO Xを選択することができる。   In another alternative embodiment, the user 106 associates a SRO with one or more other SROs using interactive gestures such as drag and drop mouse actions, and the one SRO and one or more. A set of available actions can be created as semantic text containing actions or behaviors represented by other SROs. For example, the action or behavior disclosed in the metadata of the user 106 is, for example, “Assigning task A to user B, and sending the notification to the immediate supervisor of user B when the task is completed by user B”. SRO X can be selected, such as in response to user 106 interactive gestures, so that it can be created.

図6Cでは、ユーザ106からのドラッグアンドドロップの対話的ジェスチャを受け取った後に、利用可能なアクションのセット618がユーザ106に対して表示あるいは提供される。ワークフローが関連するこの例では、利用可能なアクションのセット618は「プロセスの履歴」を含む(下向きの矢印620は、ユーザ106が下向きの矢印620にポインティングデバイスを合わせた時、またはポインティングデバイスを使用して下向きの矢印620を選択した時に追加的なアクションを利用できることを表す)。システム100が「注文123」からメタデータを抽出して、「プロセスの履歴」に含まれる情報がユーザ106によって利用できる可能性があるかどうかを判定すると、表示された「プロセスの履歴」内で、「注文123」に関連する情報のセットがユーザ106に提示される。   In FIG. 6C, after receiving a drag and drop interactive gesture from user 106, a set of available actions 618 is displayed or provided to user 106. In this example where the workflow is relevant, the set of available actions 618 includes a “process history” (down arrow 620 indicates when the user 106 moves the pointing device over the down arrow 620 or uses the pointing device. Indicating that additional actions are available when the down arrow 620 is selected). When the system 100 extracts metadata from the “order 123” and determines whether the information contained in the “process history” is likely to be available to the user 106, within the displayed “process history” , A set of information related to “Order 123” is presented to the user 106.

例えば、プロセスの履歴は、2005年3月4日シアトルにおけるユーザ1の「注文123」の発注書確認の情報を示している。ユーザ106は、初めに図6Aで「プロセスの履歴を表示する」や「発注書の確認を表示する」などのアクションを選択しなかったことに留意されたい。代わりに、ユーザ106は、単にイベントオブジェクト606を動作スペース604上にドラッグアンドドロップし、システム100は、そのような動作スペース604に対するドラッグアンドドロップの対話的ジェスチャに応答して、「注文123」を表すイベントオブジェクト606からメタデータを抽出して、利用可能なアクションのセットをユーザ106に提供する。このように、実施形態は、ユーザがフォーム方式のメニューにあるショートカットまたはオプションを記憶することを必要とせずに、多機能のSROで強化されたユーザエクスペリエンスを好都合に提供する。   For example, the process history shows the purchase order confirmation information of “Order 123” of user 1 in Seattle on March 4, 2005. Note that user 106 did not initially select an action such as “display process history” or “display purchase order confirmation” in FIG. 6A. Instead, the user 106 simply drags and drops the event object 606 onto the action space 604 and the system 100 responds to the drag-and-drop interactive gesture for such action space 604 and places “Order 123”. Metadata is extracted from the representing event object 606 to provide the user 106 with a set of available actions. Thus, embodiments advantageously provide a multi-functional SRO enhanced user experience without requiring the user to memorize shortcuts or options that are in form-based menus.

別の実施形態では、システム100は、ルール1に従って、ソースSROおよびターゲットSROからメタデータを抽出した後に、利用可能なアクションのリストを提供する。デフォルトのアクションセットを利用できる場合、システム100は、遂行履歴、過去のユーザによる情報のやりとり等に従って以前のリストを変更する。あるいは、システム100は、行為者SROおよび対象物SROから利用できるアクションの全リストをユーザ106に提示してもよい。   In another embodiment, system 100 provides a list of available actions after extracting metadata from source SRO and target SRO according to Rule 1. If a default action set is available, the system 100 changes the previous list according to performance history, past user exchanges, and so on. Alternatively, the system 100 may present the user 106 with a complete list of actions available from the actor SRO and the object SRO.

ルール2によるさらに別の実施形態では、システム100は、SpeechActのセットに従って利用可能なアクションを解釈する。この例では、「ユーザ1」を表すSRO、「ユーザ2」(同僚)を表す別のSRO、および「事業単位でフィルタリングされた西部地域の売上台数」に関連するビジネスオブジェクトを表す第3のオブジェクト、の3つのSROがあるとする。ユーザ1は、ビジネスオブジェクトを選択した後、ビジネスタイプSROを、ユーザ2を表すSROの上にドラッグし、ビジネスタイプSROを、ユーザ2を表すSROの上にドロップする。このような視覚的な対話的ジェスチャを受け取ると、システム100は、3つのSROからのメタデータからメタデータを抽出し、発話行為等の音声による対話的ジェスチャに対応付け、ユーザ106は、以下を提供されることができる。   In yet another embodiment according to Rule 2, the system 100 interprets available actions according to a set of SpeechActs. In this example, a SRO representing “user 1”, another SRO representing “user 2” (colleague), and a third object representing a business object related to “sales volume in the western region filtered by business unit”. , There are three SROs. After selecting the business object, the user 1 drags the business type SRO onto the SRO representing the user 2 and drops the business type SRO onto the SRO representing the user 2. Upon receiving such a visual interactive gesture, the system 100 extracts metadata from the metadata from the three SROs and maps it to a voice interactive gesture such as speech activity, and the user 106: Can be offered.

A.そのビジネスオブジェクトをユーザ2と共有する。   A. The business object is shared with the user 2.

B.ユーザ2にビジネスオブジェクトの有効性について質問をするなど、ビジネスオブジェクトに関連して通信する。または
C.ユーザ2をそのビジネスオブジェクトの管理者/所有者にする(またはユーザ2に、ビジネスオブジェクトにアクセスする一定の権利を与える)。
B. Communicate in relation to the business object, such as asking the user 2 about the validity of the business object. Or C.I. Make user 2 an administrator / owner of the business object (or give user 2 certain rights to access the business object).

一実施形態では、ユーザ106は、検索入力欄608および610に検索語を入力することにより、ドラッグアンドドロップの対話的ジェスチャとテキストのクエリを組み合わせることもできる。例えば、ユーザ106が特定の行為者/対象物の対の特定のインスタンスに対して特定の発話行為を頻繁に使用する場合、システム100は、その行為者/対象物の対のすべてのインスタンスに対して利用可能な新しい発話行為として、それらの組合せを提案することができる。このように、過去のユーザによる情報のやりとりの習慣または履歴に基づいて、発話行為に関連するメタデータを新しい発話行為で更新することができる。その結果、本発明の実施形態は、ユーザのためにカスタマイズされたコード、またはカスタマイズされたアクションの連続を設計する必要をなくす。   In one embodiment, user 106 may also combine drag and drop interactive gestures and text queries by entering search terms in search input fields 608 and 610. For example, if the user 106 frequently uses a particular utterance action for a particular instance of a particular actor / object pair, the system 100 may provide for all instances of that actor / object pair. A combination of these can be proposed as new speech actions that can be used. As described above, the metadata related to the utterance action can be updated with the new utterance action based on the past or the history of information exchange by the user. As a result, embodiments of the present invention eliminate the need to design customized code or customized action sequences for the user.

さらなる代替実施形態では、プロセス実行とユーザの過去における情報のやりとり、プロセスの実行の遂行履歴、およびプロセス実行モデルが、アプリケーションプログラムにおけるそれらプロセスのアクションに関連するメタデータを持つSROとして表されることができる。このため、過去のユーザにより行われた情報のやりとりであるSROに合わせて検索などのアクションを利用できる場合があり、ユーザ106が利用可能なアクションのセットの管理、照会、および拡張縮小が可能になる。   In a further alternative embodiment, process execution and user interaction in the past, process execution performance history, and process execution model are represented as SROs with metadata relating to the actions of those processes in the application program. Can do. For this reason, there are cases where actions such as search can be used in accordance with SRO which is information exchange performed by the past user, and the set of actions available to the user 106 can be managed, inquired, and expanded / reduced. Become.

図7は、コンピュータ130の形態の汎用コンピューティングデバイスの一例を示す。本発明の一実施形態では、コンピュータ130などのコンピュータが、本明細書で図示され、説明される他の図で使用するのに適する。コンピュータ130は、1つまたは複数のプロセッサあるいは処理装置132とシステムメモリ134を有する。図の実施形態では、システムバス136が、システムメモリ134を含む各種のシステム構成要素をプロセッサ132と結合する。バス136は、各種のバスアーキテクチャのいずれかを使用した、メモリバスまたはメモリコントローラ、ペリフェラルバス、アクセラレーテッドグラフィックポート、およびプロセッサバスまたはローカルバスを含む数種のバス構造の1つまたは複数を表す。限定ではなく例として、そのようなアーキテクチャには、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、およびメザニンバスとも称されるPCI(Peripheral Component Interconnect)バスがある。   FIG. 7 illustrates an example of a general purpose computing device in the form of a computer 130. In one embodiment of the invention, a computer, such as computer 130, is suitable for use in the other figures shown and described herein. The computer 130 has one or more processors or processing units 132 and a system memory 134. In the illustrated embodiment, system bus 136 couples various system components, including system memory 134, with processor 132. Bus 136 represents one or more of several bus structures including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor bus or a local bus using any of a variety of bus architectures. . By way of example and not limitation, such architectures include an ISA (Industry Standard Architecture) bus, an MCA (Micro Channel Architecture) bus, an EISA (Enhanced ISA) bus, a VESA (Video Electronics Standards bus, and a Video Electronics Standards bus). There is a PCI (Peripheral Component Interconnect) bus.

コンピュータ130は通例、少なくとも何らかの形態のコンピュータ可読媒体を有する。コンピュータ可読媒体は、揮発性および不揮発性の媒体、取り外し可能および取り外し不能の媒体の両方を含み、コンピュータ130からアクセス可能な任意の利用可能な媒体でよい。限定ではなく例として、コンピュータ可読媒体は、コンピュータ記憶媒体と通信媒体からなる。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を記憶するための方法または技術で実装された、揮発性および不揮発性、取り外し可能および取り外し不能の媒体が含まれる。例えば、コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリまたはその他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)またはその他の光学記憶、磁気カセット、磁気テープ、磁気ディスク記憶またはその他の磁気記憶装置、または所望の情報の記憶に使用することができ、コンピュータ130によるアクセスが可能な任意の他の媒体が含まれる。通信媒体は、通例、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを搬送波や他の移送機構などの変調データ信号として実施し、任意の情報伝達媒体を含む。当業者は、信号中に情報を符号化するような形で特性の1つまたは複数を設定または変化させた変調データ信号に精通している。有線ネットワークや直接配線接続などの有線媒体、および音響、RF、赤外線、その他の無線媒体などの無線媒体は、通信媒体の例である。上記の媒体の組合せもコンピュータ可読媒体の範囲に含まれる。   Computer 130 typically has at least some form of computer readable media. Computer readable media can be any available media that can be accessed by computer 130 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media comprises computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in methods or techniques for storing information such as computer readable instructions, data structures, program modules, or other data. included. For example, computer storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disc (DVD) or other optical storage, magnetic cassette, magnetic tape, magnetic disk storage or others Or any other medium that can be used to store desired information and that can be accessed by computer 130. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. Those skilled in the art are familiar with the modulated data signal, which has one or more of its characteristics set or changed in such a manner as to encode information in the signal. Wired media such as wired networks and direct wire connections, and wireless media such as acoustic, RF, infrared, and other wireless media are examples of communication media. Combinations of the above media are also included within the scope of computer-readable media.

システムメモリ134は、取り外し可能および/または取り外し不能、揮発性および/または不揮発メモリの形態のコンピュータ記憶媒体を含む。図の実施形態では、システムメモリ134は、読み取り専用メモリ(ROM)138およびランダムアクセスメモリ(RAM)140を含む。起動時などにコンピュータ130内の要素間の情報転送を助ける基本ルーチンを含んだ基本入出力システム142(BIOS)は、通例ROM138に記憶される。RAM140は通例、処理装置132から即座にアクセス可能な、かつ/または処理装置132によって現在操作されているデータおよび/またはプログラムモジュールを保持する。限定ではなく例として、図7には、オペレーティングシステム144、アプリケーションプログラム146、他のプログラムモジュール148、およびプログラムデータ150を示す。   The system memory 134 includes computer storage media in the form of removable and / or non-removable, volatile and / or nonvolatile memory. In the illustrated embodiment, system memory 134 includes read only memory (ROM) 138 and random access memory (RAM) 140. A basic input / output system 142 (BIOS) that includes basic routines that assist in transferring information between elements within the computer 130, such as during startup, is typically stored in the ROM 138. RAM 140 typically holds data and / or program modules that are immediately accessible from and / or currently being manipulated by processing unit 132. By way of example and not limitation, FIG. 7 illustrates an operating system 144, application programs 146, other program modules 148, and program data 150.

コンピュータ130は、この他の取り外し可能/取り外し不能、揮発性/不揮発性のコンピュータ記憶媒体も含むことができる。例えば、図7には、取り外し不能、不揮発性の磁気媒体への読み書きを行うハードディスクドライブ154を示す。図7には、取り外し可能、不揮発性の磁気ディスク158の読み書きを行う磁気ディスクドライブ156と、CD−ROMや他の光学媒体などの取り外し可能、不揮発性の光ディスク162の読み書きを行う光ディスクドライブ160も示す。例示的動作環境で使用することが可能なこの他の取り外し可能/取り外し不能、揮発性/不揮発性のコンピュータ記憶媒体には、これらに限定しないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体素子RAM、固体素子ROM等がある。ハードディスクドライブ154、磁気ディスクドライブ156、および光ディスクドライブ160は、通例、インタフェース166などの不揮発性メモリインタフェースでシステムバス136に接続される。   The computer 130 may also include other removable / non-removable, volatile / nonvolatile computer storage media. For example, FIG. 7 shows a hard disk drive 154 that reads from and writes to a non-removable, non-volatile magnetic medium. FIG. 7 also shows a removable magnetic disk drive 156 that reads from and writes to a non-volatile magnetic disk 158 and an optical disk drive 160 that reads from and writes to a removable non-volatile optical disk 162 such as a CD-ROM or other optical media. Show. Other removable / non-removable, volatile / nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, and digital versatile discs. Digital video tape, solid-state element RAM, solid-state element ROM, and the like. The hard disk drive 154, magnetic disk drive 156, and optical disk drive 160 are typically connected to the system bus 136 by a non-volatile memory interface such as an interface 166.

上記で解説し、図7に図示するドライブまたは他の大容量記憶装置とそれに関連するコンピュータ記憶媒体は、コンピュータ130のコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの記憶を提供する。図7では、例えば、ハードディスク154に、オペレーティングシステム170、アプリケーションプログラム172、他のプログラムモジュール174、およびプログラムデータ176が記憶されている。これらの構成要素は、オペレーティングシステム144、アプリケーションプログラム146、他のプログラムモジュール148、およびプログラムデータ150と同じである場合も異なる場合もあることに留意されたい。ここでは、オペレーティングシステム170、アプリケーションプログラム172、他のプログラムモジュール174、およびプログラムデータ176には、それらが少なくとも異なるコピーであることを表すために異なる参照符号を付している。   The drive or other mass storage device and associated computer storage medium described above and illustrated in FIG. 7 provides storage of computer readable instructions, data structures, program modules, and other data for computer 130. In FIG. 7, for example, the hard disk 154 stores an operating system 170, application programs 172, other program modules 174, and program data 176. Note that these components can either be the same as or different from operating system 144, application programs 146, other program modules 148, and program data 150. Here, the operating system 170, the application program 172, the other program module 174, and the program data 176 are given different reference numerals to indicate that they are at least different copies.

ユーザは、キーボード180やポインティングデバイス182(マウス、トラックボール、ペン、タッチパッドなど)等の入力装置またはユーザインタフェース選択装置を通じてコンピュータ130にコマンドおよび情報を入力することができる。他の入力装置(図示せず)には、マイクロフォン、ジョイスティック、ゲームパッド、衛星受信アンテナ、スキャナ等がある。上記および他の入力装置は、システムバス136に結合されたユーザ入力インタフェース184を通じて処理装置132に接続されるが、パラレルポート、ゲームポート、USB(Universal Serial Bus)などの他のインタフェースおよびバス構造で接続してもよい。モニタ188または他のタイプの表示装置も、ビデオインタフェース190などのインタフェースを介してシステムバス136に接続される。モニタ188に加えて、コンピュータは、多くの場合プリンタやスピーカなどの他の周辺出力装置(図示せず)を含み、それらの出力装置は、出力周辺インタフェース(図示せず)を通じて接続することができる。   A user may enter commands and information into the computer 130 through input devices such as a keyboard 180 and a pointing device 182 (such as a mouse, trackball, pen, touch pad) or a user interface selection device. Other input devices (not shown) include a microphone, joystick, game pad, satellite dish, scanner, and the like. These and other input devices are connected to the processing unit 132 through a user input interface 184 coupled to the system bus 136, but with other interfaces and bus structures such as parallel ports, game ports, USB (Universal Serial Bus), etc. You may connect. A monitor 188 or other type of display device is also connected to the system bus 136 via an interface, such as a video interface 190. In addition to the monitor 188, the computer often includes other peripheral output devices (not shown) such as printers and speakers, which can be connected through an output peripheral interface (not shown). .

コンピュータ130は、リモートコンピュータ194などの1つまたは複数のリモートコンピュータとの論理接続を使用するネットワーク環境で動作することができる。リモートコンピュータ194は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の一般的なネットワークノードであり、通例は、コンピュータ130に関連して上述した要素の多くまたはすべてを含む。図7に示す論理接続は、ローカルエリアネットワーク(LAN)196およびワイドエリアネットワーク(WAN)198を含むが、この他のネットワークを含んでもよい。LAN136および/またはWAN138は、有線ネットワーク、無線ネットワーク、それらの組合せ等である。このようなネットワーク環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、および世界規模のコンピュータネットワーク(例えばインターネット)に一般的である。   Computer 130 may operate in a network environment that uses logical connections with one or more remote computers, such as remote computer 194. Remote computer 194 is a personal computer, server, router, network PC, peer device, or other common network node, and typically includes many or all of the elements described above in connection with computer 130. The logical connections shown in FIG. 7 include a local area network (LAN) 196 and a wide area network (WAN) 198, but may include other networks. LAN 136 and / or WAN 138 is a wired network, a wireless network, a combination thereof, or the like. Such network environments are common in offices, enterprise-wide computer networks, intranets, and global computer networks (eg, the Internet).

ローカルエリアネットワークの環境で使用される場合、コンピュータ130は、ネットワークインタフェースまたはアダプタ186を通じてLAN196に接続される。ワイドエリアネットワーク環境で使用される場合、コンピュータ130は通例、インターネットなどのWAN198を通じて通信を確立するためのモデム178または他の手段を含む。モデム178は、内蔵型でも外付け型でもよく、ユーザ入力インタフェース184または他の適切な機構を介してシステムバス136に接続される。ネットワーク環境では、コンピュータ130に関連して図示したプログラムモジュール、またはその一部は、遠隔のメモリ記憶装置(図示せず)に記憶してよい。限定ではなく例として、図7では、リモートアプリケーションプログラム192がメモリ装置に常駐する。図のネットワーク接続は例示的なものであり、コンピュータ間に通信リンクを確立する他の手段を使用してよい。   When used in a local area network environment, the computer 130 is connected to the LAN 196 through a network interface or adapter 186. When used in a wide area network environment, the computer 130 typically includes a modem 178 or other means for establishing communications over the WAN 198 such as the Internet. The modem 178 may be internal or external and is connected to the system bus 136 via a user input interface 184 or other suitable mechanism. In a network environment, the program modules illustrated in connection with computer 130, or portions thereof, may be stored in a remote memory storage device (not shown). By way of example and not limitation, in FIG. 7, the remote application program 192 resides in a memory device. The network connections shown are exemplary and other means of establishing a communications link between the computers may be used.

一般に、コンピュータ130のデータプロセッサは、コンピュータの各種のコンピュータ可読記憶媒体に異なる時に記憶される命令によってプログラムされる。プログラムおよびオペレーティングシステムは、通例、例えばフロッピー(登録商標)ディスクやCD−ROMで配布される。そこから、コンピュータの補助メモリにインストールまたはロードされる。実行時には、少なくとも一部がコンピュータの主要電子メモリにロードされる。本明細書に記載される発明は、そのような媒体が、マイクロプロセッサまたは他のデータプロセッサとともに下記で説明するステップを実施するための命令またはプログラムを保持する場合は、上記および他の各種のコンピュータ可読記憶媒体を含む。本発明は、本明細書に記載される方法および技術に従ってプログラムされた場合にはコンピュータ自体も含む。   In general, the data processor of computer 130 is programmed with instructions stored at different times on the various computer-readable storage media of the computer. The program and the operating system are usually distributed, for example, on a floppy (registered trademark) disk or a CD-ROM. From there, it is installed or loaded into the auxiliary memory of the computer. At runtime, at least a portion is loaded into the main electronic memory of the computer. The invention described herein is directed to such and various other computers where such media retains instructions or programs for carrying out the steps described below in conjunction with a microprocessor or other data processor. Includes a readable storage medium. The invention also includes the computer itself when programmed according to the methods and techniques described herein.

説明のために、プログラムと、オペレーティングシステムなどの他の実行可能プログラム構成要素は、ここでは別個のブロックとして図示する。しかし、そのようなプログラムおよび構成要素は、コンピュータの種々の記憶構成要素に異なる時に存在し、コンピュータのデータプロセッサによって実行されることが認識される。   For purposes of explanation, the program and other executable program components such as an operating system are illustrated here as separate blocks. However, it will be appreciated that such programs and components exist at different times in the various storage components of the computer and are executed by the computer's data processor.

本発明は、コンピュータ130を含む例示的なコンピューティングシステム環境との関係で説明するが、多数の他の汎用または特殊目的のコンピューティングシステム環境または構成で動作する。このコンピューティングシステム環境は、本発明の使用または機能性の範囲について限定を示唆するものではない。さらに、このコンピューティングシステム環境は、例示的動作環境に示される構成要素の1つまたは組合せに関連する依存性または必要性を有するものと解釈すべきでない。本発明に使用するのに適する可能性のある周知のコンピューティングシステム、環境、および/または構成の例には、これらに限定しないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサを利用したシステム、セットトップボックス、プログラム可能な消費者家電製品、携帯電話、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたは装置を含む分散コンピューティング環境等がある。   Although described in connection with an exemplary computing system environment, including computer 130, the invention is operational with numerous other general purpose or special purpose computing system environments or configurations. This computing system environment is not intended to suggest any limitation as to the scope of use or functionality of the invention. In addition, this computing system environment should not be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment. Examples of well-known computing systems, environments, and / or configurations that may be suitable for use with the present invention include, but are not limited to, personal computers, server computers, handheld or laptop devices, multiprocessor systems. And microprocessor based systems, set-top boxes, programmable consumer electronics, mobile phones, network PCs, minicomputers, mainframe computers, distributed computing environments including the above systems or devices, and the like.

本発明は、1つまたは複数のコンピュータまたは他の装置によって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的文脈で説明することができる。一般に、プログラムモジュールには、これらに限定しないが、特定のタスクを行うか、特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、およびデータ構造が含まれる。本発明は、通信ネットワークを通じて接続された遠隔の処理装置によってタスクが行われる分散コンピューティング環境で実施することもできる。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含む、ローカルおよびリモート両方のコンピュータ記憶媒体に置くことができる。   The invention may be described in the general context of computer-executable instructions, such as program modules, being executed by one or more computers or other devices. Generally, program modules include, but are not limited to, routines, programs, objects, components, and data structures that perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote computer storage media including memory storage devices.

ソフトウェアアーキテクチャの文脈におけるインタフェースには、ソフトウェアモジュール、コンポーネント、コード部分、または他のコンピュータ実行可能命令の連続が含まれる。インタフェースは、例えば、第2のモジュールにアクセスして第1のモジュールのためにコンピューティングタスクを行う第1のモジュールを含む。第1および第2のモジュールには、一例では、オペレーティングシステムによって提供されるアプリケーションプログラミングインタフェース(API)、コンポーネントオブジェクトモデル(COM)インタフェース(例えばピアツーピアのアプリケーション通信用)、および、拡張可能マークアップ言語メタデータ相互交換形式(XMI)インタフェース(例えばウェブサービス間の通信用)が含まれる。   An interface in the context of a software architecture includes a sequence of software modules, components, code portions, or other computer-executable instructions. The interface includes, for example, a first module that accesses a second module and performs computing tasks for the first module. The first and second modules include, by way of example, an application programming interface (API) provided by the operating system, a component object model (COM) interface (eg, for peer-to-peer application communication), and an extensible markup language meta A data interchange format (XMI) interface (eg, for communication between web services) is included.

このインタフェースは、J2EE(Java(登録商標)2 Platform Enterprise Edition)、COM、または分散COM(DCOM)の例におけるように、密結合、同期の実装とすることができる。これに代えて、またはこれに加えて、インタフェースは、ウェブサービス(例えばシンプルオブジェクトアクセスプロトコルを使用する)などのように疎結合、非同期の実装であってもよい。一般に、インタフェースは、密結合、疎結合、同期、および非同期、の特性の任意の組合せを含む。さらに、インタフェースは、標準プロトコル、独自プロトコル、または標準プロトコルと独自プロトコルの組合せに準拠することができる。   This interface can be a tightly coupled, synchronous implementation, as in the example of J2EE (Java® 2 Platform Enterprise Edition), COM, or Distributed COM (DCOM). Alternatively or in addition, the interface may be a loosely coupled, asynchronous implementation such as a web service (eg, using a simple object access protocol). In general, an interface includes any combination of the characteristics of tightly coupled, loosely coupled, synchronous, and asynchronous. Further, the interface can conform to a standard protocol, a proprietary protocol, or a combination of standard and proprietary protocols.

本明細書に記載されるインタフェースは、すべて単一のインタフェースの一部とするか、または、別個のインタフェースまたはそれらの組合せとして実施することができる。インタフェースは、ローカルまたはリモートに実行されて機能性を提供することができる。さらに、インタフェースは、本明細書に例示または説明される機能よりも多くの機能を含んでも、少ない機能を含んでもよい。   The interfaces described herein can all be part of a single interface, or can be implemented as separate interfaces or combinations thereof. The interface can be executed locally or remotely to provide functionality. Further, an interface may include more or less functions than those illustrated or described herein.

動作の際、コンピュータ130は、図4に示されるようなコンピュータ実行可能命令を実行する。例えば、コンピュータ130は、プロセスの機能を公開するために、セマンティックリッチオブジェクト(SRO)によりプロセス内で1つまたは複数のアクションを表す。各SROは、アクションとそのアクションのための実行環境とに関連付けられたメタデータを含む。コンピュータ130は、また、プロセス中で所望のアクションを行うためにSROの少なくとも1つを選択するための対話的ジェスチャをユーザから受け取る。コンピュータ130はさらに、選択されたSROからメタデータを抽出して、所望されるアクションがそのプロセスの実行環境で利用可能かどうかを判断する。   In operation, computer 130 executes computer-executable instructions as shown in FIG. For example, the computer 130 represents one or more actions in the process with a semantic rich object (SRO) to expose the functionality of the process. Each SRO includes metadata associated with the action and the execution environment for that action. The computer 130 also receives an interactive gesture from the user for selecting at least one of the SROs to perform a desired action in the process. Computer 130 further extracts metadata from the selected SRO to determine whether the desired action is available in the execution environment of the process.

本明細書に例示および記載される方法を実行または実施する順序は、特に断らない限り重要ではない。すなわち、それら方法の要素は、特に指定がない限りどのような順序で行われてもよく、方法は、ここに開示されるより多くの要素を含んでも少ない要素を含んでもよい。例えば、特定の要素を、別の要素の前、同時に、または後に実行または実施することは、本発明の範囲内にあることが企図される。   The order in which the methods illustrated and described herein are performed or performed is not critical unless otherwise specified. That is, the elements of the methods may be performed in any order unless otherwise specified, and the method may include more or fewer elements than disclosed herein. For example, it is contemplated that executing or performing a particular element before, contemporaneously with, or after another element is within the scope of the invention.

本発明の要素またはその実施形態について述べる際、冠詞「a」、「an」、「the」、「said」は、当該要素が1つまたは複数あることを意味するものとする。用語「〜を備える」、「〜を含む」、および「〜を有する」は、包含的な意味とし、列挙される要素以外に追加的な要素があってよいことを意味する。   In describing an element of the invention or an embodiment thereof, the articles “a”, “an”, “the”, “said” shall mean that there is one or more of the element. The terms “comprising”, “including”, and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements.

上記の説明から、本発明のいくつかの目的が達成され、その他の有利な結果が得られることが理解されよう。   From the foregoing description, it will be appreciated that the several objects of the invention are achieved and other advantageous results are obtained.

本発明の範囲から逸脱せずに上記のシステムおよび方法に各種の変更を加えることが可能であることから、上記の説明に含まれ、添付図面に図示されるすべての内容は、限定的な意味ではなく、例示的なものと解釈すべきである。   Since various modifications can be made to the system and method described above without departing from the scope of the invention, all content contained in the above description and illustrated in the accompanying drawings is in a limiting sense. Rather, it should be construed as exemplary.

付録Aは、本発明の一実施形態に係る発話行為の例を記載する。   Appendix A lists examples of speech acts according to one embodiment of the present invention.

付録A
発話行為の例
発話行為は、いくつかの特性と特徴を有する。正式には、発話行為は、話者、聴者、および両者間の伝達行為を伴う。例えば、J.L.AustinとJohn R.Searleは、発話行為理論(SAT)を説明するためのかなり厳密な専門語彙を開発した。これは、次のように発話行為の3つの相を区別することを伴う(例えばSearle, John R., Speech Acts, An Essay in the Philosophy of Language, Cambridge: Cambridge University Press, 1969。
Appendix A
Examples of utterance actions An utterance action has several characteristics and features. Formally speaking, the act of speaking involves the act of communicating between the speaker, the listener, and both. For example, J. et al. L. Austin and John R. Seale has developed a fairly rigorous specialized vocabulary for explaining speech act theory (SAT). This entails distinguishing the three phases of speech act as follows (e.g., Seale, John R., Speech Acts, An Essay in the Philosophy of Language, Cambridge University, 19:19).

A.発語行為(文字通りに言われたこと)
B.発語内行為(例えば要求など、行われた行為)
C.発語媒介行為(その行為を行うことによって遂行されたこと。社会的影響)
セマンティックルールとジェスチャによる代数演算子を使用して、人物Aは、人物Bを表すSROをクリックし、下記のような、より有意味であるが一般的な発話行為の一覧を与えられることができる。
A. Speech act (what was literally said)
B. Acts within speech (eg actions taken, such as requests)
C. Spoken mediation (acted by performing the act; social impact)
Using semantic rules and gesture algebra operators, person A can click on the SRO representing person B and be given a list of more meaningful but general utterances, such as: .

A.人物Bに何かをするように要求する
B.人物Bに質問をする
C.何かをする約束/誓約を人物Bに対してする
D.何かについて人物Bに通知する。または
E.リソース/オブジェクトを人物Bと共有する
A. Request person B to do something. Ask person B a question. Make a promise / pledge to person B against person B. Notify person B about something. Or E. Share resources / objects with person B

本発明の一実施形態に係るセマンティックリッチオブジェクト(SRO)を使用してプロセス内で動的なユーザエクスペリエンスを提供するシステムを説明する例示的図である。1 is an exemplary diagram illustrating a system for providing a dynamic user experience in a process using semantic rich objects (SRO) according to one embodiment of the present invention. FIG. 本発明の一実施形態に係るメタデータを含んだSROを説明するデータ構造を示す例示的ブロック図である。FIG. 5 is an exemplary block diagram illustrating a data structure describing an SRO including metadata according to an embodiment of the present invention. 本発明の一実施形態に係るSROのメタデータで表された機能を示す例示的ブロック図である。FIG. 6 is an exemplary block diagram illustrating functions represented by SRO metadata according to an exemplary embodiment of the present invention. 本発明の一実施形態に係るSROからメタデータを抽出することによる動的なユーザエクスペリエンスを示す例示的ブロック図である。FIG. 6 is an exemplary block diagram illustrating a dynamic user experience by extracting metadata from an SRO according to an embodiment of the present invention. 本発明の一実施形態に係るセマンティックリッチオブジェクト(SRO)を使用してプロセス内で動的なユーザエクスペリエンスを提供する方法を説明する例示的流れ図である。6 is an exemplary flow diagram illustrating a method for providing a dynamic user experience in a process using a semantic rich object (SRO) according to an embodiment of the present invention. 本発明の一実施形態に係るポインティングデバイス(例えばマウス)を使用してユーザからの対話的ジェスチャに応答して利用可能なアクションのセットを提供することを説明するブロック図である。FIG. 6 is a block diagram illustrating providing a set of available actions in response to an interactive gesture from a user using a pointing device (eg, a mouse) according to one embodiment of the present invention. 本発明の一実施形態に係るポインティングデバイス(例えばマウス)を使用してユーザからの対話的ジェスチャに応答して利用可能なアクションのセットを提供することを説明するブロック図である。FIG. 6 is a block diagram illustrating providing a set of available actions in response to an interactive gesture from a user using a pointing device (eg, a mouse) according to one embodiment of the present invention. 本発明の一実施形態に係るポインティングデバイス(例えばマウス)を使用してユーザからの対話的ジェスチャに応答して利用可能なアクションのセットを提供することを説明するブロック図である。FIG. 6 is a block diagram illustrating providing a set of available actions in response to an interactive gesture from a user using a pointing device (eg, a mouse) according to one embodiment of the present invention. 本発明が実施されることが可能な適切なコンピューティングシステム環境の一例を示すブロック図である。FIG. 7 is a block diagram illustrating an example of a suitable computing system environment in which the present invention may be implemented.

Claims (20)

プロセス内で動的なユーザエクスペリエンスを提供するコンピュータ化された方法であって、
前記プロセスの機能を公開するために、セマンティックリッチオブジェクト(SRO)により前記プロセス内の1つまたは複数のアクションを表すステップであって、前記SROはそれぞれ、アクションに関連付けられたメタデータと、当該アクションのための実行環境に関連したデータとを含むステップと、
前記プロセス内で所望のアクションを行うために前記SROの少なくとも1つを選択するための対話的ジェスチャをユーザから受け取るステップと、
前記受け取られた対話的ジェスチャに応答して、前記所望のアクションが、前記プロセスの実行環境で利用することが可能であるかどうかを判定するために、前記選択されたSROから前記メタデータを抽出するステップとを備えることを特徴とする方法。
A computerized method for providing a dynamic user experience within a process,
Representing one or more actions in the process by means of a semantic rich object (SRO) to expose the functionality of the process, each SRO comprising metadata associated with the action and the action Including data related to the execution environment for
Receiving from the user an interactive gesture for selecting at least one of the SROs to perform a desired action within the process;
In response to the received interactive gesture, extract the metadata from the selected SRO to determine whether the desired action is available in the execution environment of the process Comprising the step of:
前記SROはそれぞれ、前記アクションを実行するためのコードをさらに含み、前記メタデータを抽出するステップは、前記受け取られたジェスチャに応答して、前記所望のアクションが前記プロセスの実行環境で利用可能であるかどうかを判定するために、前記含まれるコードを実行するステップを含むことを特徴とする請求項1に記載のコンピュータ化された方法。   Each of the SROs further includes code for performing the action, and extracting the metadata is responsive to the received gesture and the desired action is available in the execution environment of the process. The computerized method of claim 1, comprising executing the included code to determine whether it is present. 前記受け取られた対話的ジェスチャに応答して、前記抽出されたメタデータに基づいて、前記ユーザが前記プロセスと情報のやりとりを行うために利用することが可能なアクションのセットを提供するステップをさらに備えることを特徴とする請求項1に記載のコンピュータ化された方法。   Providing a set of actions that can be utilized by the user to interact with the process based on the extracted metadata in response to the received interactive gesture; The computerized method of claim 1, comprising: 前記利用可能なアクションのセットを提供するステップは、前記SROを通じて公開される前記利用可能なアクションのセットを、フォーム方式のユーザインタフェースで表示するステップ、および、前記ユーザが前記プロセスと情報のやりとりを行うための前記利用可能なアクションのセットを選択的に表示するユーザインタフェースを生成するステップのうち少なくとも1つを備え、前記プロセスは、アプリケーションプログラム、アプリケーションソフトウェア、およびワークフロー処理アプリケーション、の1つまたは複数を含むことを特徴とする請求項3に記載のコンピュータ化された方法。   Providing the set of available actions includes displaying the set of available actions exposed through the SRO in a form-based user interface, and allowing the user to interact with the process. At least one of generating a user interface that selectively displays the set of available actions to perform, the process comprising one or more of an application program, application software, and a workflow processing application The computerized method of claim 3, comprising: 前記抽出されたメタデータおよび前記受け取られた対話的ジェスチャに基づいて前記所望のアクションを行うステップをさらに備え、前記ユーザからの前記受け取られた対話的ジェスチャを解釈するためのセマンティックルールのセットを定義するステップをさらに備えることを特徴とする請求項1に記載のコンピュータ化された方法。   Performing the desired action based on the extracted metadata and the received interactive gesture further comprising defining a set of semantic rules for interpreting the received interactive gesture from the user The computerized method of claim 1, further comprising the step of: ユーザからの照会に応答して複数のSROを提供するステップをさらに備え、前記抽出されたメタデータを、前記プロセスの実行の遂行履歴、前記プロセスの実行とユーザの過去における情報のやりとり、およびプロセス実行モデル、の1つまたは複数と互いに関連付けるステップをさらに備えることを特徴とする請求項1に記載のコンピュータ化された方法。   Providing a plurality of SROs in response to a query from a user, and extracting the extracted metadata from the execution history of the process, exchanging information between the execution of the process and the user's past, and a process The computerized method of claim 1, further comprising associating with one or more of the execution models. 前記対話的ジェスチャを前記SROそれぞれの前記メタデータに対応付けるステップをさらに備え、前記選択されたSROおよび前記1つまたは複数の他のSROで表されるアクションを含んだ意味文章として、利用可能なアクションのセットを作成するために、前記選択されたSROの前記抽出されたメタデータを1つまたは複数の他のSROのメタデータに関連付けるステップをさらに備えることを特徴とする請求項1に記載のコンピュータ化された方法。   Associating the interactive gesture with the metadata of each of the SROs, further comprising an action available as a semantic sentence including the action represented by the selected SRO and the one or more other SROs The computer of claim 1, further comprising associating the extracted metadata of the selected SRO with metadata of one or more other SROs to create a set of data. Method. 1つまたは複数のコンピュータ可読媒体は、請求項1に記載のコンピュータ化された方法を行うコンピュータ実行可能命令を含むことを特徴とする請求項1に記載のコンピュータ化された方法。   The computerized method of claim 1, wherein the one or more computer readable media includes computer executable instructions for performing the computerized method of claim 1. ユーザがプロセスと情報のやりとりを行うための振る舞いを能動的に生成するシステムであって、
1つまたは複数のセマンティックリッチオブジェクト(SRO)を記憶するメモリであって、前記SROはそれぞれ、振る舞いと当該振る舞いの実行環境とに対応するメタデータを含み、前記SROはそれぞれ、前記振る舞いの実行に関連するデータも含むメモリと、
前記ユーザから1つまたは複数のSROの選択を受け取るインタフェースと、
前記インタフェースからの前記受け取られた選択を、前記選択されたSRO中の記憶されたメタデータに関連付けることにより、前記ユーザが利用可能な振る舞いのセットを生成するコンピュータ実行可能命令を実行するプロセッサとを備え、
前記インタフェースは、前記実行環境で前記プロセスと情報のやりとりを行うために、前記生成された振る舞いのセットを前記ユーザに提供することを特徴とするシステム。
A system that actively generates behavior for users to interact with processes,
A memory that stores one or more semantic rich objects (SROs), each of the SROs including metadata corresponding to a behavior and an execution environment of the behavior, each of the SROs executing the behavior Memory that also contains relevant data,
An interface for receiving a selection of one or more SROs from the user;
A processor executing computer-executable instructions for generating a set of behaviors available to the user by associating the received selection from the interface with stored metadata in the selected SRO. Prepared,
The system, wherein the interface provides the user with the set of generated behaviors for interacting with the process in the execution environment.
前記ユーザから前記1つまたは複数のSROの選択を受け取るためのユーザ選択装置を有するユーザインタフェースをさらに備えることを特徴とする請求項9に記載のシステム。   The system of claim 9, further comprising a user interface having a user selection device for receiving a selection of the one or more SROs from the user. 前記プロセッサはさらに、前記インタフェースからの前記受け取られた選択を、前記SROそれぞれの前記記憶されたメタデータに対応付けるように構成されることを特徴とする請求項9に記載のシステム。   The system of claim 9, wherein the processor is further configured to associate the received selection from the interface with the stored metadata of each of the SROs. 発話行為のセットを、前記SROそれぞれの前記記憶されたメタデータに対応付けるデータベースをさらに備えることを特徴とする請求項11に記載のシステム。   The system of claim 11, further comprising a database associating a set of speech actions with the stored metadata of each of the SROs. 前記インタフェースは、前記ユーザから1つのSROの選択を受け取って、1つまたは複数の他のSROに関連付け、前記プロセッサは、前記受け取られた選択と、前記1つのSROと前記1つまたは複数の他のSROの前記記憶されたメタデータとに基づいて、前記ユーザが利用可能な振る舞いのセットを生成して、前記1つのSROを前記1つまたは複数の他のSROに関連付けるように構成されることを特徴とする請求項9に記載のシステム。   The interface receives a selection of one SRO from the user and associates it with one or more other SROs, and the processor selects the received selection, the one SRO and the one or more other Configured to generate a set of behaviors available to the user based on the stored metadata of the SRO and associate the one SRO with the one or more other SROs The system according to claim 9. 前記プロセッサはさらに、前記記憶されたメタデータおよび前記インタフェースからの前記受け取られた選択に基づいて、前記振る舞いの実行に関連する前記記憶されたデータを実行して前記振る舞いのセットを生成するように構成されることを特徴とする請求項9に記載のシステム。   The processor is further configured to execute the stored data associated with execution of the behavior to generate the set of behaviors based on the stored metadata and the received selection from the interface. The system of claim 9, wherein the system is configured. 前記インタフェースは、前記ユーザからの照会に応答して1つまたは複数のSROを提供し、前記プロセスの実行環境に基づいて、前記SROの前記生成された振る舞いのセットを選択的に提供し、フォーム方式のユーザインタフェースを介して前記ユーザから1つまたは複数のSROの選択を受け取るように構成され、
前記プロセッサはさらに、前記記憶されたメタデータを、前記プロセスの実行の遂行履歴、前記プロセスの実行とユーザの過去における情報のやりとり、およびプロセス実行モデル、の1つまたは複数と互いに関連付けるように構成されることを特徴とする請求項9に記載のシステム。
The interface provides one or more SROs in response to a query from the user, selectively provides the set of generated behaviors of the SRO based on the execution environment of the process, and forms Configured to receive a selection of one or more SROs from the user via a user interface of the scheme;
The processor is further configured to correlate the stored metadata with one or more of an execution history of the process, an execution history of the process and an exchange of information in the user's past, and a process execution model. The system of claim 9, wherein:
前記プロセッサはさらに、前記インタフェースを介した前記ユーザからの前記受け取られた選択を解釈するためのセマンティックルールのセットを定義するように構成され、前記プロセッサは、前記定義されたセマンティックルールのセットに基づいて、前記所望の振る舞いのセットが、前記プロセスの実行環境で利用可能であるかどうかを判定することにより、前記利用可能な振る舞いのセットを生成することを特徴とする請求項9に記載のシステム。   The processor is further configured to define a set of semantic rules for interpreting the received selection from the user via the interface, the processor based on the defined set of semantic rules. 10. The system of claim 9, wherein the set of available behaviors is generated by determining whether the desired behavior set is available in an execution environment of the process. . セマンティックリッチオブジェクトのデータ構造が記憶されたコンピュータ可読媒体であって、
プロセスに関連付けられた1つまたは複数のアクションを表すメタデータを含む第1のデータフィールドと、
前記プロセスの実行環境を表すメタデータを含む第2のデータフィールドであって、前記第1のデータフィールドは、前記第2のデータフィールドに関連付けられて、前記プロセスの実行環境で行われる利用可能なアクションのセットを定義する第2のデータフィールドとを備えることを特徴とするコンピュータ可読媒体。
A computer-readable medium storing a data structure of a semantic rich object,
A first data field that includes metadata representing one or more actions associated with the process;
A second data field containing metadata representing an execution environment of the process, the first data field being associated with the second data field and available in the execution environment of the process A computer-readable medium comprising: a second data field defining a set of actions.
セマンティックルールのセットを表すメタデータを含む第3のデータフィールドをさらに備え、前記セマンティックルールは、前記第1のデータフィールドの前記メタデータおよび前記第2のデータフィールドの前記メタデータに関連付けられた1つまたは複数の対話的ジェスチャを定義することを特徴とする請求項17に記載のコンピュータ可読媒体。   The method further comprises a third data field including metadata representing a set of semantic rules, the semantic rule being associated with the metadata of the first data field and the metadata of the second data field. The computer-readable medium of claim 17, wherein one or more interactive gestures are defined. 前記第3のデータフィールドのメタデータは、対話的ジェスチャのセットおよび発話行為のセットを表すメタデータを含み、前記対話的ジェスチャのセットおよび前記発話行為のセットは、前記第1のデータフィールドの前記メタデータおよび前記第2のデータフィールドの前記メタデータに対応付けられていることを特徴とする請求項18に記載のコンピュータ可読媒体。   The metadata of the third data field includes metadata representing a set of interactive gestures and a set of speech actions, wherein the set of interactive gestures and the set of speech actions are the said data set of the first data field. The computer-readable medium of claim 18, wherein the computer-readable medium is associated with metadata and the metadata of the second data field. プロセスの周辺サービス定義のセット、対話的ジェスチャPIN、プロセス拡張可能性メソッド、プロセスオブジェクトモデル、前記プロセスの実行の遂行履歴、前記プロセスの実行とユーザの過去における情報のやりとり、前記振る舞いの実行、およびプロセス実行モデル、の1つまたは複数に関連付けられたメタデータを含む1つまたは複数のデータフィールドをさらに備えることを特徴とする請求項17に記載のコンピュータ可読媒体。   A set of process peripheral service definitions, an interactive gesture PIN, a process extensibility method, a process object model, an execution history of the process execution, an exchange of information between the execution of the process and the user's past, execution of the behavior, and The computer-readable medium of claim 17, further comprising one or more data fields that include metadata associated with one or more of the process execution models.
JP2008519301A 2005-06-28 2006-05-16 Dynamic user experience with semantic rich objects Expired - Fee Related JP5249755B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/168,913 2005-06-28
US11/168,913 US7774713B2 (en) 2005-06-28 2005-06-28 Dynamic user experience with semantic rich objects
PCT/US2006/018930 WO2007001668A2 (en) 2005-06-28 2006-05-16 Dynamic user experience with semantic rich objects

Publications (3)

Publication Number Publication Date
JP2008547128A true JP2008547128A (en) 2008-12-25
JP2008547128A5 JP2008547128A5 (en) 2009-07-02
JP5249755B2 JP5249755B2 (en) 2013-07-31

Family

ID=37569105

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008519301A Expired - Fee Related JP5249755B2 (en) 2005-06-28 2006-05-16 Dynamic user experience with semantic rich objects

Country Status (9)

Country Link
US (1) US7774713B2 (en)
EP (1) EP1896942A4 (en)
JP (1) JP5249755B2 (en)
KR (1) KR20080017414A (en)
CN (1) CN101495965B (en)
BR (1) BRPI0612139A2 (en)
MX (1) MX2007015894A (en)
RU (1) RU2417408C2 (en)
WO (1) WO2007001668A2 (en)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1789928A4 (en) 2004-07-30 2011-03-16 Extreme Reality Ltd A system and method for 3d space-dimension based image processing
US8681100B2 (en) 2004-07-30 2014-03-25 Extreme Realty Ltd. Apparatus system and method for human-machine-interface
US8872899B2 (en) * 2004-07-30 2014-10-28 Extreme Reality Ltd. Method circuit and system for human to machine interfacing by hand gestures
US7818350B2 (en) 2005-02-28 2010-10-19 Yahoo! Inc. System and method for creating a collaborative playlist
US7844820B2 (en) * 2005-10-10 2010-11-30 Yahoo! Inc. Set of metadata for association with a composite media item and tool for creating such set of metadata
US20070285554A1 (en) 2005-10-31 2007-12-13 Dor Givon Apparatus method and system for imaging
US9046962B2 (en) 2005-10-31 2015-06-02 Extreme Reality Ltd. Methods, systems, apparatuses, circuits and associated computer executable code for detecting motion, position and/or orientation of objects within a defined spatial region
US8095565B2 (en) * 2005-12-05 2012-01-10 Microsoft Corporation Metadata driven user interface
US8341597B2 (en) 2007-01-17 2012-12-25 International Business Machines Corporation Editing source code
US20090187531A1 (en) * 2008-01-21 2009-07-23 Microsoft Corporation User experience for viewing business data via personal information application
US8549475B1 (en) * 2008-07-08 2013-10-01 Adobe Systems Incorporated System and method for simplifying object-oriented programming
KR100980683B1 (en) * 2008-09-01 2010-09-08 삼성전자주식회사 Apparatus and method for providing user interface to generate menu list of potable terminal
KR101511819B1 (en) * 2008-09-04 2015-04-13 익스트림 리얼리티 엘티디. Method system and software for providing image sensor based human machine interfacing
US8914397B2 (en) * 2008-12-04 2014-12-16 Microsoft Corporation Rich-context tagging of resources
US8878779B2 (en) 2009-09-21 2014-11-04 Extreme Reality Ltd. Methods circuits device systems and associated computer executable code for facilitating interfacing with a computing platform display screen
EP2480951A4 (en) 2009-09-21 2014-04-30 Extreme Reality Ltd Methods circuits apparatus and systems for human machine interfacing with an electronic appliance
US8700592B2 (en) 2010-04-09 2014-04-15 Microsoft Corporation Shopping search engines
US9785987B2 (en) 2010-04-22 2017-10-10 Microsoft Technology Licensing, Llc User interface for information presentation system
US9043296B2 (en) 2010-07-30 2015-05-26 Microsoft Technology Licensing, Llc System of providing suggestions based on accessible and contextual information
US8793706B2 (en) 2010-12-16 2014-07-29 Microsoft Corporation Metadata-based eventing supporting operations on data
EP2628303A1 (en) 2011-01-23 2013-08-21 Extreme Reality Ltd. Methods, systems, devices and associated processing logic for generating stereoscopic images and video
US20130106894A1 (en) 2011-10-31 2013-05-02 Elwha LLC, a limited liability company of the State of Delaware Context-sensitive query enrichment
US8738391B2 (en) 2011-11-22 2014-05-27 International Business Machines Corporation Using non-textual notation for describing service related human experience based on a hierarchal model of human needs
US8954330B2 (en) 2011-11-28 2015-02-10 Microsoft Corporation Context-aware interaction system using a semantic model
US8994755B2 (en) 2011-12-20 2015-03-31 Alcatel Lucent Servers, display devices, scrolling methods and methods of generating heatmaps
US8898634B2 (en) 2012-11-06 2014-11-25 Rockwell Automation Technologies, Inc. Customized object design for industrial automation application
US9031975B2 (en) 2012-11-06 2015-05-12 Rockwell Automation Technologies, Inc. Content management
US9135000B2 (en) * 2012-11-06 2015-09-15 Rockwell Automation Technologies, Inc. Runtime process diagnostics
US9355193B2 (en) 2012-11-06 2016-05-31 Rockwell Automation Technologies, Inc. Object design data model
US9563861B2 (en) 2012-11-06 2017-02-07 Rockwell Automation Technologies, Inc. Integration of workflow and library modules
KR101351561B1 (en) * 2013-05-08 2014-01-15 주식회사 아몬드 소프트 Big data extracting system and method
US9431008B2 (en) * 2013-05-29 2016-08-30 Nuance Communications, Inc. Multiple parallel dialogs in smart phone applications
US9984086B2 (en) 2014-08-05 2018-05-29 International Business Machines Corporation Performing actions on objects as a result of applying tags to the objects
US9813305B2 (en) * 2014-08-05 2017-11-07 International Business Machines Corporation Enabling a tag to show status
KR102371099B1 (en) 2016-11-17 2022-03-04 인텔 코포레이션 Spherical rotation for encoding wide view video
US11056105B2 (en) * 2017-05-18 2021-07-06 Aiqudo, Inc Talk back from actions in applications
US11043206B2 (en) 2017-05-18 2021-06-22 Aiqudo, Inc. Systems and methods for crowdsourced actions and commands
US10838746B2 (en) 2017-05-18 2020-11-17 Aiqudo, Inc. Identifying parameter values and determining features for boosting rankings of relevant distributable digital assistant operations
US11340925B2 (en) 2017-05-18 2022-05-24 Peloton Interactive Inc. Action recipes for a crowdsourced digital assistant system
WO2018213788A1 (en) 2017-05-18 2018-11-22 Aiqudo, Inc. Systems and methods for crowdsourced actions and commands
US10768954B2 (en) 2018-01-30 2020-09-08 Aiqudo, Inc. Personalized digital assistant device and related methods

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324339A (en) * 1992-05-20 1993-12-07 Pfu Ltd Linkage processing control system
JPH0749765A (en) * 1992-12-08 1995-02-21 Internatl Business Mach Corp <Ibm> Method for integrating plurality of application program into integrated graphical user environment
JPH07114464A (en) * 1993-10-20 1995-05-02 Fujitsu Ltd Object-oriented data processing system
JPH07239775A (en) * 1991-01-17 1995-09-12 Internatl Business Mach Corp <Ibm> Method and equipment for process control
JPH07319698A (en) * 1994-05-24 1995-12-08 Fuji Xerox Co Ltd Program execution device
JPH11316641A (en) * 1998-01-12 1999-11-16 Xerox Corp Domain object having calculatable attribute value to be used for free form graphics system
JP2000155646A (en) * 1998-09-14 2000-06-06 Matsushita Electric Ind Co Ltd Flat type input device
JP2000227828A (en) * 1999-02-08 2000-08-15 Sharp Corp Information processing system provided with graphical user interface
JP2002205440A (en) * 2001-01-10 2002-07-23 Sharp Corp Input display and its controlling method
JP2003141174A (en) * 2001-07-16 2003-05-16 Microsoft Corp Application program interface for semantically labeling string and realizing operation on basis of semantically labeled string
JP2003528362A (en) * 1999-07-21 2003-09-24 センター・インコーポレイテッド Knowledge management system for dynamic distributed problem solving

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2696574B1 (en) 1992-10-06 1994-11-18 Sextant Avionique Method and device for analyzing a message supplied by means of interaction with a human-machine dialogue system.
US5831606A (en) * 1994-12-13 1998-11-03 Microsoft Corporation Shell extensions for an operating system
US6072494A (en) 1997-10-15 2000-06-06 Electric Planet, Inc. Method and apparatus for real-time gesture recognition
US6115646A (en) * 1997-12-18 2000-09-05 Nortel Networks Limited Dynamic and generic process automation system
WO2000014618A2 (en) * 1998-08-24 2000-03-16 Fujitsu Limited Workflow system and method
US6513006B2 (en) * 1999-08-26 2003-01-28 Matsushita Electronic Industrial Co., Ltd. Automatic control of household activity using speech recognition and natural language
WO2001027801A2 (en) 1999-10-13 2001-04-19 Troba, Inc. Electronic shopping management: user interface
US20030131338A1 (en) 2000-03-31 2003-07-10 Nektarios Georgalas Resource modelling
US7421645B2 (en) * 2000-06-06 2008-09-02 Microsoft Corporation Method and system for providing electronic commerce actions based on semantically labeled strings
US7546602B2 (en) * 2001-07-10 2009-06-09 Microsoft Corporation Application program interface for network software platform
US20030132944A1 (en) 2001-10-03 2003-07-17 Sun Microsystems, Inc. User control of generalized semantic zooming
US20030093551A1 (en) 2001-10-17 2003-05-15 Graham Taylor Adaptive software interface
US7089287B2 (en) * 2002-01-16 2006-08-08 Xerox Corporation Message-based system having embedded information management capabilities
US7644006B2 (en) 2002-06-21 2010-01-05 Hewlett-Packard Development Company, L.P. Semantically investigating business processes
US7249019B2 (en) * 2002-08-06 2007-07-24 Sri International Method and apparatus for providing an integrated speech recognition and natural language understanding for a dialog system
US20040083199A1 (en) * 2002-08-07 2004-04-29 Govindugari Diwakar R. Method and architecture for data transformation, normalization, profiling, cleansing and validation
US20040078105A1 (en) * 2002-09-03 2004-04-22 Charles Moon System and method for workflow process management
US7660820B2 (en) 2002-11-12 2010-02-09 E.Piphany, Inc. Context-based heterogeneous information integration system
US7640267B2 (en) * 2002-11-20 2009-12-29 Radar Networks, Inc. Methods and systems for managing entities in a computing device using semantic objects
US20040207659A1 (en) * 2003-04-02 2004-10-21 International Business Machines Corporation Program creation by combining web services using graphic user interface controls
US20040249824A1 (en) * 2003-06-05 2004-12-09 International Business Machines Corporation Semantics-bases indexing in a distributed data processing system
US7685568B2 (en) 2003-07-22 2010-03-23 Sap Ag Service management of a service oriented business framework
US7890964B2 (en) * 2005-04-22 2011-02-15 Sap Ag Methods and apparatus for contextual awareness in a groupware client

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07239775A (en) * 1991-01-17 1995-09-12 Internatl Business Mach Corp <Ibm> Method and equipment for process control
JPH05324339A (en) * 1992-05-20 1993-12-07 Pfu Ltd Linkage processing control system
JPH0749765A (en) * 1992-12-08 1995-02-21 Internatl Business Mach Corp <Ibm> Method for integrating plurality of application program into integrated graphical user environment
JPH07114464A (en) * 1993-10-20 1995-05-02 Fujitsu Ltd Object-oriented data processing system
JPH07319698A (en) * 1994-05-24 1995-12-08 Fuji Xerox Co Ltd Program execution device
JPH11316641A (en) * 1998-01-12 1999-11-16 Xerox Corp Domain object having calculatable attribute value to be used for free form graphics system
JP2000155646A (en) * 1998-09-14 2000-06-06 Matsushita Electric Ind Co Ltd Flat type input device
JP2000227828A (en) * 1999-02-08 2000-08-15 Sharp Corp Information processing system provided with graphical user interface
JP2003528362A (en) * 1999-07-21 2003-09-24 センター・インコーポレイテッド Knowledge management system for dynamic distributed problem solving
JP2002205440A (en) * 2001-01-10 2002-07-23 Sharp Corp Input display and its controlling method
JP2003141174A (en) * 2001-07-16 2003-05-16 Microsoft Corp Application program interface for semantically labeling string and realizing operation on basis of semantically labeled string

Also Published As

Publication number Publication date
EP1896942A4 (en) 2009-10-14
US7774713B2 (en) 2010-08-10
KR20080017414A (en) 2008-02-26
US20060294509A1 (en) 2006-12-28
RU2007149562A (en) 2009-07-10
JP5249755B2 (en) 2013-07-31
EP1896942A2 (en) 2008-03-12
CN101495965A (en) 2009-07-29
CN101495965B (en) 2013-06-19
WO2007001668A2 (en) 2007-01-04
WO2007001668A3 (en) 2009-04-16
MX2007015894A (en) 2008-03-04
RU2417408C2 (en) 2011-04-27
BRPI0612139A2 (en) 2010-10-19

Similar Documents

Publication Publication Date Title
JP5249755B2 (en) Dynamic user experience with semantic rich objects
CN112136124B (en) Dependency graph conversation modeling for human-machine conversation sessions with computer-implemented automated assistants
JP6928046B2 (en) Incorporating selectable application links into conversations with personal assistant modules
US20220245529A1 (en) Distributing a user interface for accessing files
US20070220035A1 (en) Generating user interface using metadata
JP2014112420A (en) Service initiation techniques
US20060117267A1 (en) System and method for property-based focus navigation in a user interface
KR102351587B1 (en) Initiating conversations with automated agents via selectable graphical elements
US20200312299A1 (en) Method and system for semantic intelligent task learning and adaptive execution
JP6817500B1 (en) Using a distributed state machine for human-computer dialogs with an automated assistant to protect private data
Sarmah et al. Geno: A Developer Tool for Authoring Multimodal Interaction on Existing Web Applications
Machiraju et al. Developing Bots with Microsoft Bots Framework
Cardoso et al. PuReWidgets: a programming toolkit for interactive public display applications
CN109891410B (en) Data collection for new session dialog systems
Bellal et al. Integrating Mobile Multimodal Interactions based on Programming By Demonstration​
Ruiz Mastering Android Application Development
Caminero et al. The SERENOA Project: Multidimensional Context-Aware Adaptation of Service Front-Ends.
US20240184604A1 (en) Constraining generation of automated assistant suggestions based on application running in foreground
Gaddam Building Bots with Microsoft Bot Framework
Zaplata et al. Service-based interactive workflows for mobile environments
Santoro et al. of Document: Logical User Interface Descriptions
Cardoso et al. The PuReWidgets toolkit for interactive public display applications
Jackson et al. Android Intents and Events: Adding Interactivity
Paterno 39. User Interface Design Adaptation

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090515

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090515

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120824

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130412

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160419

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees