(57)【要約】  動的なユーザエクスペリエンスのためのセマンティックリッチオブジェクト。プロセス内の１つまたは複数のアクションが、当該プロセスの機能を公開するためのセマンティックリッチオブジェクト（ＳＲＯ）によって表される。ＳＲＯはそれぞれ、アクションと当該アクションの実行環境とに関連付けられたメタデータを含む。プロセス内で所望のアクションを行うためにＳＲＯの少なくとも１つを選択するユーザからの対話的ジェスチャに応答して、選択されたＳＲＯからメタデータが抽出されて、所望のアクションが当該プロセスの実行環境で利用可能であるかどうかを判定する。
2008547128.tif 000002
【特許請求の範囲】
【請求項１】
プロセス内で動的なユーザエクスペリエンスを提供するコンピュータ化された方法であって、
前記プロセスの機能を公開するために、セマンティックリッチオブジェクト（ＳＲＯ）により前記プロセス内の１つまたは複数のアクションを表すステップであって、前記ＳＲＯはそれぞれ、アクションに関連付けられたメタデータと、当該アクションのための実行環境に関連したデータとを含むステップと、
前記プロセス内で所望のアクションを行うために前記ＳＲＯの少なくとも１つを選択するための対話的ジェスチャをユーザから受け取るステップと、
前記受け取られた対話的ジェスチャに応答して、前記所望のアクションが、前記プロセスの実行環境で利用することが可能であるかどうかを判定するために、前記選択されたＳＲＯから前記メタデータを抽出するステップとを備えることを特徴とする方法。
【請求項２】
前記ＳＲＯはそれぞれ、前記アクションを実行するためのコードをさらに含み、前記メタデータを抽出するステップは、前記受け取られたジェスチャに応答して、前記所望のアクションが前記プロセスの実行環境で利用可能であるかどうかを判定するために、前記含まれるコードを実行するステップを含むことを特徴とする請求項１に記載のコンピュータ化された方法。
【請求項３】
前記受け取られた対話的ジェスチャに応答して、前記抽出されたメタデータに基づいて、前記ユーザが前記プロセスと情報のやりとりを行うために利用することが可能なアクションのセットを提供するステップをさらに備えることを特徴とする請求項１に記載のコンピュータ化された方法。
【請求項４】
前記利用可能なアクションのセットを提供するステップは、前記ＳＲＯを通じて公開される前記利用可能なアクションのセットを、フォーム方式のユーザインタフェースで表示するステップ、および、前記ユーザが前記プロセスと情報のやりとりを行うための前記利用可能なアクションのセットを選択的に表示するユーザインタフェースを生成するステップのうち少なくとも１つを備え、前記プロセスは、アプリケーションプログラム、アプリケーションソフトウェア、およびワークフロー処理アプリケーション、の１つまたは複数を含むことを特徴とする請求項３に記載のコンピュータ化された方法。
【請求項５】
前記抽出されたメタデータおよび前記受け取られた対話的ジェスチャに基づいて前記所望のアクションを行うステップをさらに備え、前記ユーザからの前記受け取られた対話的ジェスチャを解釈するためのセマンティックルールのセットを定義するステップをさらに備えることを特徴とする請求項１に記載のコンピュータ化された方法。
【請求項６】
ユーザからの照会に応答して複数のＳＲＯを提供するステップをさらに備え、前記抽出されたメタデータを、前記プロセスの実行の遂行履歴、前記プロセスの実行とユーザの過去における情報のやりとり、およびプロセス実行モデル、の１つまたは複数と互いに関連付けるステップをさらに備えることを特徴とする請求項１に記載のコンピュータ化された方法。
【請求項７】
前記対話的ジェスチャを前記ＳＲＯそれぞれの前記メタデータに対応付けるステップをさらに備え、前記選択されたＳＲＯおよび前記１つまたは複数の他のＳＲＯで表されるアクションを含んだ意味文章として、利用可能なアクションのセットを作成するために、前記選択されたＳＲＯの前記抽出されたメタデータを１つまたは複数の他のＳＲＯのメタデータに関連付けるステップをさらに備えることを特徴とする請求項１に記載のコンピュータ化された方法。
【請求項８】
１つまたは複数のコンピュータ可読媒体は、請求項１に記載のコンピュータ化された方法を行うコンピュータ実行可能命令を含むことを特徴とする請求項１に記載のコンピュータ化された方法。
【請求項９】
ユーザがプロセスと情報のやりとりを行うための振る舞いを能動的に生成するシステムであって、
１つまたは複数のセマンティックリッチオブジェクト（ＳＲＯ）を記憶するメモリであって、前記ＳＲＯはそれぞれ、振る舞いと当該振る舞いの実行環境とに対応するメタデータを含み、前記ＳＲＯはそれぞれ、前記振る舞いの実行に関連するデータも含むメモリと、
前記ユーザから１つまたは複数のＳＲＯの選択を受け取るインタフェースと、
前記インタフェースからの前記受け取られた選択を、前記選択されたＳＲＯ中の記憶されたメタデータに関連付けることにより、前記ユーザが利用可能な振る舞いのセットを生成するコンピュータ実行可能命令を実行するプロセッサとを備え、
前記インタフェースは、前記実行環境で前記プロセスと情報のやりとりを行うために、前記生成された振る舞いのセットを前記ユーザに提供することを特徴とするシステム。
【請求項１０】
前記ユーザから前記１つまたは複数のＳＲＯの選択を受け取るためのユーザ選択装置を有するユーザインタフェースをさらに備えることを特徴とする請求項９に記載のシステム。
【請求項１１】
前記プロセッサはさらに、前記インタフェースからの前記受け取られた選択を、前記ＳＲＯそれぞれの前記記憶されたメタデータに対応付けるように構成されることを特徴とする請求項９に記載のシステム。
【請求項１２】
発話行為のセットを、前記ＳＲＯそれぞれの前記記憶されたメタデータに対応付けるデータベースをさらに備えることを特徴とする請求項１１に記載のシステム。
【請求項１３】
前記インタフェースは、前記ユーザから１つのＳＲＯの選択を受け取って、１つまたは複数の他のＳＲＯに関連付け、前記プロセッサは、前記受け取られた選択と、前記１つのＳＲＯと前記１つまたは複数の他のＳＲＯの前記記憶されたメタデータとに基づいて、前記ユーザが利用可能な振る舞いのセットを生成して、前記１つのＳＲＯを前記１つまたは複数の他のＳＲＯに関連付けるように構成されることを特徴とする請求項９に記載のシステム。
【請求項１４】
前記プロセッサはさらに、前記記憶されたメタデータおよび前記インタフェースからの前記受け取られた選択に基づいて、前記振る舞いの実行に関連する前記記憶されたデータを実行して前記振る舞いのセットを生成するように構成されることを特徴とする請求項９に記載のシステム。
【請求項１５】
前記インタフェースは、前記ユーザからの照会に応答して１つまたは複数のＳＲＯを提供し、前記プロセスの実行環境に基づいて、前記ＳＲＯの前記生成された振る舞いのセットを選択的に提供し、フォーム方式のユーザインタフェースを介して前記ユーザから１つまたは複数のＳＲＯの選択を受け取るように構成され、
前記プロセッサはさらに、前記記憶されたメタデータを、前記プロセスの実行の遂行履歴、前記プロセスの実行とユーザの過去における情報のやりとり、およびプロセス実行モデル、の１つまたは複数と互いに関連付けるように構成されることを特徴とする請求項９に記載のシステム。
【請求項１６】
前記プロセッサはさらに、前記インタフェースを介した前記ユーザからの前記受け取られた選択を解釈するためのセマンティックルールのセットを定義するように構成され、前記プロセッサは、前記定義されたセマンティックルールのセットに基づいて、前記所望の振る舞いのセットが、前記プロセスの実行環境で利用可能であるかどうかを判定することにより、前記利用可能な振る舞いのセットを生成することを特徴とする請求項９に記載のシステム。
【請求項１７】
セマンティックリッチオブジェクトのデータ構造が記憶されたコンピュータ可読媒体であって、
プロセスに関連付けられた１つまたは複数のアクションを表すメタデータを含む第１のデータフィールドと、
前記プロセスの実行環境を表すメタデータを含む第２のデータフィールドであって、前記第１のデータフィールドは、前記第２のデータフィールドに関連付けられて、前記プロセスの実行環境で行われる利用可能なアクションのセットを定義する第２のデータフィールドとを備えることを特徴とするコンピュータ可読媒体。
【請求項１８】
セマンティックルールのセットを表すメタデータを含む第３のデータフィールドをさらに備え、前記セマンティックルールは、前記第１のデータフィールドの前記メタデータおよび前記第２のデータフィールドの前記メタデータに関連付けられた１つまたは複数の対話的ジェスチャを定義することを特徴とする請求項１７に記載のコンピュータ可読媒体。
【請求項１９】
前記第３のデータフィールドのメタデータは、対話的ジェスチャのセットおよび発話行為のセットを表すメタデータを含み、前記対話的ジェスチャのセットおよび前記発話行為のセットは、前記第１のデータフィールドの前記メタデータおよび前記第２のデータフィールドの前記メタデータに対応付けられていることを特徴とする請求項１８に記載のコンピュータ可読媒体。
【請求項２０】
プロセスの周辺サービス定義のセット、対話的ジェスチャＰＩＮ、プロセス拡張可能性メソッド、プロセスオブジェクトモデル、前記プロセスの実行の遂行履歴、前記プロセスの実行とユーザの過去における情報のやりとり、前記振る舞いの実行、およびプロセス実行モデル、の１つまたは複数に関連付けられたメタデータを含む１つまたは複数のデータフィールドをさらに備えることを特徴とする請求項１７に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
ユーザは、しばしば、フォーム方式の一連の動作やアクションを通じてコンピュータアプリケーションプログラムと情報のやりとりを行って、当該アプリケーションプログラムの機能にアクセスする。例えば、マウスなどの入力装置を使用してコンピュータディスプレイ上でアイコンオブジェクトを選択すると、ユーザにオプションのメニューが提示される場合がある。そして、ユーザは、そのオプションの１つを選択して、アプリケーションプログラムの機能を使用して、選択したアイコンオブジェクトと情報のやりとりを行う（例えばハイライト表示されたテキストの「コピー」や、選択した文書を電子メール受信者に「送信」するなど）。このため、メニューのセットは、アプリケーションプログラムへのユーザエクスペリエンスの入口点となる。通例、アプリケーションはユーザに提示されない他の機能を備えるため、現在利用できるユーザインタフェース設計は、ユーザを表示されたオプションだけに制限するという欠点がある。結果として、現在のユーザインタフェース設計では、ユーザは、フォームの設計者／開発者がコーディングまたは提示しなかったものは見ることができない。アプリケーションの持つ機能のすべてあるいは大半を表示するには、ユーザインタフェースの設計者あるいは開発者は、現在のところそれらの機能をハードコーディングする必要がある。
【背景技術】
【０００２】
例えば、ビジネスアプリケーションは、フォーム、ナビゲーション、照会インタフェース、およびその他の特殊なユーザインタフェース（ＵＩ）アーチファクトを使用して、要求されるユーザエクスペリエンスを作り出す。ＵＩアーチファクトの設計が、アプリケーションの状態と振る舞いへのユーザの入口点を決定する。しかし、ＵＩアーチファクトの設計は、そうした入口点をも制限する。この例を続けると、ワークフローアプリケーションは、通例、特定のタスクインスタンスに専用のフォーム（例えば、「この注文を承認する」タスク用のフォーム）でユーザにタスクを公開する。そのため、ユーザは、特定のタスクについて知りたいことを充分に知ることができない場合があり（例えば「このタスクを抜かした場合はどうなるのか？このタスクに関連する未処理のタスクが他にあるか？」等）、その結果連携と情報の共有が難しくなる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
既存のシステムの中には、ユーザがさらにアプリケーションプログラムと情報のやりとりを行うことができるようにショートカットキーやヒントの一覧を提供することにより、標準あるいはデフォルトのオプションメニューの増強を図るものもある。しかし、そうした増強されたオプションは、通常は別個のリストとして提示され、デフォルトのオプションを静的に拡張したに過ぎず、一方でユーザが使い勝手の優れないショートカットキーをより多く覚えることを強いる。
【０００４】
現在市販されるワークフローアプリケーションは、各自の専用のタスクＵＩで限られたデフォルトオプションを提供する。他の特定用途向けのシステムおよびＵＩの中には、カスタムコードあるいはカスタマイズを通じてアプリケーションの他の機能へのアクセスを提供するものがある。ワークフローの例で、専用のタスクＵＩのために追加的な情報をカスタムコーディングすることは可能であるが、ＵＩ設計者が、専用タスクＵＩに関連してユーザが検討を望む可能性のあるあらゆる可能な組合せまたは方向を予想することはまず不可能である。そのため、こうしたカスタムコードやカスタマイズは、時に過度に煩瑣であるのに加えて、通常はすべての利用可能な機能を対象とはせず、本質的に静的であるため、カスタマイズの使用法が限定的で制限されている。
【０００５】
ユーザに十分な機能を提示することは、従来の「詳細（ｖｅｒｂｏｓｅ）」フォーム（ヘッダとフレームが比較的多量の空間情報およびテキスト情報を含んでいるフォーム）に対応することが難しい小さなフォームファクタのモバイル機器などの機器で特に問題となる。詳細フォームは、例えば、ボタン、ナビゲーションバー、親子テーブル（子テーブルが親テーブル内の選択に合わせて移動する）等を含む。このため、ユーザがやりとりしている情報の性質と、その情報に関連して基礎となるビジネスアプリケーションから利用することができる振る舞いの両方をユーザに通知することが難しい。音声コマンドを用いてこの情報を扱う能力の重要性が増しつつある。
【０００６】
音声コマンドを用いると、ユーザは従来の視覚的フォームよりも多くの数の可能性（すなわち文章）を扱うことができる。音声認識システムなどの音声インタフェースシステムは、基本的な機能のセットを提供するが、ユーザには、どのような機能が利用可能であるかが必ずしも分からない。例えば、従来の自動化された顧客サービスシステムでは、ユーザは、あらかじめ録音された人間の声のセットを介してオプションのセットを受け取る場合がある。ユーザは、利用したい顧客サービスの種類を受話器に話すことを求められる。実例として、ユーザが請求書に関して顧客担当者と話をしたいとする。ユーザは、初めに、自動化された音声システムにより、「請求」、「サービスの追加」、「技術サポート」、または「その他」のサービスのうちどのサービス分野に関して電話をかけたのかを選択するように促される。この例では、ユーザは、希望するサービスを述べることにより音声プロンプトに応答することができる。この最初の選択の後、ユーザは、人間の顧客担当者と直接話をするように指示される前にユーザに提示されるさらなるオプション、またはカスケード形式のオプションのセットを受け取る。多くの事例では、既存の音声インタフェースシステムは、ユーザが、「代理人」、「担当者」、あるいは「代理人と話す」と言うことにより提示されたオプションを飛ばして、人間の顧客サービスにつながることを許可する。しかし、この「隠された」ショートカットは、音声インタフェースシステムがそのようなアクションを行う機能を備えていても、通例はユーザには見つけることができない。
【課題を解決するための手段】
【０００７】
本発明の実施形態は、セマンティックリッチオブジェクト（ＳＲＯ）を通じてメタデータを使用して、基礎となるデータソースおよびアプリケーションからユーザが利用可能な機能を公開することにより、従来のシステムの欠点を克服する。１つのＳＲＯを通じてユーザが利用できることに加えて、メタデータは、同じまたは異なるアプリケーションおよびデータソースによって公開されるＳＲＯの種々の組合せを介してユーザが利用できることを判定できるようにする情報を含む。代替実施形態は、さらに、ＳＲＯを組み合わせてどのように使用するかをユーザが判断できるようにする。公開されるアクションの機能は、当該アプリケーションプログラムのアクションと機能をさらに公開する利便な方式でユーザによって組み合わせられ、使用されることができる。本発明の一態様によれば、個別の単一のアクション（例えばコピー、貼り付け等）に加えて、セマンティックルールに従ってユーザにアクションが提示されることができるように（例えば「この文書をＪｏｈｎと共有し、２００５年７月１日の午前１０時にその文書をＪｏｈｎの予定表に入れる」等）、ＳＲＯ中のメタデータを抽出し、別のＳＲＯのメタデータと組み合わせることができる。
【０００８】
好都合な点として、公開されるＳＲＯのメタデータを通じて、本発明の実施形態は、アプリケーションプログラム内のプロセスがユーザに対して透過になるように、平易な文章でアプリケーションプログラムのアクションをユーザに提供する。本発明の実施形態は、アプリケーションプログラムが標準的または静的なユーザインタフェース（ＵＩ）構成に依拠せずに、適切で利用可能なアクションを判定できるように、メタデータを有するＳＲＯのインスタンスも公開する。
【０００９】
すなわち、本発明の態様は、ビジネスアプリケーション等から利用することができる豊富な振る舞いと識見を完全に利用するためのユーザの能力を決定し、制限するＵＩにおけるカスタムロジックの問題を完全に解決する。また、本発明の態様は、基礎となるアプリケーションおよびデータソースによって提示されるアクションの意味的な豊富さを増大することにより、従来のフォーム方式のＵＩ設計で必要とされるコードの量を減らす。
【００１０】
あるいは、本発明は、各種の他の方法および装置を備えることもできる。
【００１１】
他の特徴は、一部は自ずと明らかになり、一部は以下で指摘する。
【００１２】
この概要は、下記の「発明を実施するための最良の形態」でさらに説明されるいくつかの概念を簡略化した形で紹介するために提供される。この概要は、特許権を請求される主題の主要な特徴あるいは必須の特徴を明らかにするものではなく、特許権を請求される主題の範囲を定める助けとして使用すべきものでもない。
【００１３】
対応する参照符号は、すべての図面を通じて対応する部分を示す。
【発明を実施するための最良の形態】
【００１４】
初めに図１を参照すると、本発明の一実施形態に係るセマンティックリッチオブジェクト（ＳＲＯ）を使用してプロセス中で動的なユーザエクスペリエンスを提供するシステム１００をブロック図で示す。システム１００は、例えば、図７のコンピュータ１３０などのコンピューティングシステム、コンピューティングデバイス、コンピュータサーバ、複数のコンピュータサーバ、またはコンピュータ実行可能命令、アプリケーション、アプリケーションソフトウェア、アプリケーションプログラム１１２、コンピュータ実行可能ルーチンまたはコードを実行することが可能な他のコンピューティングデバイスとすることができる。別の実施形態では、システム１００は、イントラネット、インターネット等の共通の通信ネットワークで複数のコンピューティングデバイスが接続された分散システム内のコンピューティングデバイスを含む。
【００１５】
引き続き図１を参照すると、システム１００は、インタフェース１０４に関連付けられたプロセッサ１０２を含む。プロセッサ１０２は、インタフェース１０４を介したユーザ１０６からの命令またはコマンドを処理し、コンピュータ実行可能命令、ルーチン、アプリケーション、アプリケーションプログラムなどを実行する。インタフェース１０４は、ユーザ１０６から対話的ジェスチャを受け取る。インタフェース１０４は、例えば、図７に示すディスプレイなどのディスプレイであり、ユーザ１０６は、マウス１８２やキーボード１８０などの入力装置を使用して、ディスプレイに表示された１つまたは複数のオブジェクトを選択することができる。別の実施形態では、インタフェース１０４は、音声認識システムに結合された音声機器であり、ユーザ１０６が音声で音声プロンプトに応答できるようにユーザ１０６に対話型の音声ダイアログを提供する。
【００１６】
システム１００は、メモリ１０８も含み、メモリ１０８は、揮発性、不揮発性、図７のシステムメモリ１３４または不揮発性メモリインタフェース１６６、またはインターネット、イントラネット、あるいは他のタイプの通信ネットワークなどの共通の通信ネットワークを介して送信される可能性のあるデータを記憶する他のコンピュータ可読媒体とすることができる。
【００１７】
一実施形態では、メモリ１０８は、アプリケーションプログラム１１２におけるアクションおよびデータ状態を提示するメタデータを含む複数のセマンティックリッチオブジェクト（ＳＲＯ）１１０を記憶する。例えば、アプリケーションプログラム１１２は、タスクを行う、またはイベントを処理するためのアクション、機能、動作等を含むことができ、また、タスクの内容に関するデータ（図２を参照した下記の説明を参照）（例えばあるタスクがある顧客の特定の注文の処理に関する等）も保持することができる。実例として、ワークフロー管理アプリケーションプログラムは、タスクの割り当てやタスクの委託等を伴うワークフロープロセスを扱う。通信ソフトウェアは、２者間の通信を容易にする（例えば電子メールの送信、関係者間の文書共有など）、あるいはメッセージングサービスを提供する、等のアクションを含むことができる。別の実例として、マルチメディアソフトウェアは、メディアオブジェクト（例えば音声ファイル、静止画ファイル、動画ファイル等）を整理する、別の人物との間でメディアオブジェクトをやり取りする、等のアクションを含むことができる。
【００１８】
現在、静的なフォーム方式のユーザインタフェースのセットは、こうしたアプリケーションプログラムまたはプロセスの中でユーザにアクションを提示する。例えば、多くの周知のＵＩは、ユーザが選択するための「ファイル、編集、ツール、ヘルプ」等の上位レベルのメニューオプションの標準的なセットを備える。これら上位レベルのメニューオプションはそれぞれ、さらに追加的なオプションを提供する。この例を続けると、上位レベルのメニューオプション「ファイル」は、「開く、保存、終了、印刷」あるいはその他の下位オプションを含むことができる。概して、ユーザは、アプリケーションプログラム１１２あるいはプロセスに慣れる、あるいは情報のやりとりを行うためには、そうした種々の個別のメニューオプションを覚える必要がある。この学習体験は、新しい言語を習得することに似る。すなわち、アプリケーションプログラム１１２と情報のやりとりを行う前に、語彙と文法規則または論理規則（例えば「開く」のオプションは「編集」ではなく「ファイル」の下位メニューである等）を覚えなければならない。
【００１９】
有利な点として、本発明の実施形態は、利用可能あるいは適切なアクションのセットを、ユーザの選択に応じて、かつ平易な文章あるいは意味形式でユーザに提示できるように、アプリケーションプログラム１１２またはプロセス内のアクションを表すメタデータを用いる。代替実施形態では、利用可能あるいは適切なアクションのセットは、アプリケーションプログラム１１２のコンテクストまたは実行環境に基づいて選択的にユーザに提供または提示される。再度図１を参照すると、ＳＲＯは、システム１００などの実行環境内で直接操作する、検証する、または共有するためにユーザに提供される項目またはオブジェクトである。あるいは、ＳＲＯは、そのＳＲＯから利用できる振る舞いを制約または拡充することが可能なフォームなどの媒体を通じてユーザに提供されてもよい。一実施形態では、ＳＲＯは、ユーザ１０６が直接制御しているコンテクストまたは実行環境に固有とすることができる。例えば、コンピュータネットワークシステムの管理者には、コンピュータネットワークを管理するために、利用可能な機能の完全なセットを提示することができる。一方、ワークステーションのユーザＡには、ワークステーションユーザというワークステーションユーザＡの役割のために、小さなオプションのセットのみが提示されるようにすることができる。
【００２０】
ＳＲＯと併せて、またはＳＲＯに加えて、フォーム方式のＵＩ設計を使用してよいことを理解されたい。例えば、ＵＩ開発者は、ＳＲＯ中の豊富な情報を受け取る、ユーザに対するオプションを有するフォームを提供することができる、その結果ＵＩ開発者は、そのフォームで提示されるオプションのすべてまたは一部をコーディングする必要がない。あるいは、ＳＲＯを用いる本発明の実施形態は、ＵＩ開発者が機能をユーザに提示し、機能を使用可能にするために従来提供しているフォーム中の論理コーディングの量を減らす。
【００２１】
代替実施形態では、システム１００は、アプリケーションプログラム１１２のプロセスの実行の遂行履歴、プロセス実行とユーザの過去における情報のやりとり、およびメモリ１０８内のプロセス実行モデルに関連するデータを含むデータを記憶し、システム１００が、ＳＲＯ１１０からメタデータを抽出する際に、習慣的なアクションや頻繁に使用されるアクションのセットをユーザ１０６に提示できるようにする。
【００２２】
次いで図２を参照すると、本発明の一実施形態に係るメタデータを含むデータ構造２０２をブロック図で示す。第１のデータフィールド２０４は、プロセスに関連付けられたアクションを表すメタデータを含む。例えば、第１のデータフィールド２０４は、利用可能アクションコードに関連するメタデータ２０６、アクション実行コードに関連するメタデータ２０８、ジェスチャプロセス識別番号（ＰＩＮ）に関連するメタデータ２１０、拡張性メソッドに関連するメタデータ２１２、およびオブジェクトモデルに関連するメタデータ２１４を含むことができる。
【００２３】
データ構造２０２は、プロセスの実行環境を表すメタデータを含む第２のデータフィールド２１６も含み、第１のデータフィールドは、第２のデータフィールドに関連付けられて、そのプロセスの実行環境で行われる利用可能なアクションのセットを定義する。第２のデータフィールド２１６は、例えば、アプリケーションコンテクストに関連するメタデータ２１８と、周辺サービス定義に関連するメタデータ２２０を含むことができる。周辺サービス定義２２０は、例えば、対話的ジェスチャを、プロセスまたはアプリケーションプログラム１１２のアクションの実施に一致させるデータに関連するメタデータを含む。例えば、アプリケーションプログラム１１２またはあるＳＲＯのコンテクストが、アセンブリプログラミング言語のコンピュータ実行可能命令を実行するウェブアプリケーションサービスであるとする。この例では、周辺サービス定義２２０は、所与の対話的ジェスチャと、それに対応する、ウェブアプリケーションサービスによって実行されるアセンブリ言語とに関連するメタデータを提供することができる。
【００２４】
別の実施形態では、アプリケーションコンテクスト２１８は、ＳＲＯがそのアクションを提示することを試みるアプリケーションプログラムのコンテクストまたは実行環境に関連するデータも含む。例えば、アプリケーションコンテクスト２１８に含まれるデータは、ユーザ名、ユーザタイプ、ユーザの実行環境（コンピュータの識別、オペレーティングシステムのバージョン等）、または、ユーザの１つまたは複数のオプションの利用可能性に関する制約や制限を含むことができる。
【００２５】
一実施形態では、データ構造２０２はさらに、セマンティックルールのセットを表すメタデータを含む第３のデータフィールド２２２を含み、セマンティックルールは、第１のデータフィールドのメタデータおよび第２のデータフィールドのメタデータに関連付けられた１つまたは複数の対話的ジェスチャを定義する。例えば、第３のデータフィールド２２２は、ジェスチャマップに関連するメタデータ２２４、発話行為マップに関連するメタデータ２２６、およびコンテクスト規則のセットに関連するメタデータ２２８を含むことができる。実例として、ユーザ１０６は、対話的ジェスチャを介してシステム１００のＳＲＯ１１０と情報のやりとりを行うことができ、対話的ジェスチャには、マウスを使用してコンピュータデスクトップ上でアイコンを選択およびドラッグすること、音声プロンプトに音声で応答すること、あるいはその他のこと（例えば電話機のキーパッドやキーボードでキーを押下すること）が含まれる。このような対話的ジェスチャにより、システム１００は、選択されたＳＲＯから抽出されたメタデータを、ワークフロー等のプロセスと情報のやりとりを行うためにユーザが利用できるアクションのセットに対応付けることができる。
【００２６】
一実施形態では、セマンティックルールのセットは、アプリケーションコンテクスト２１８に含まれる、アプリケーションプログラムの実行環境またはコンテクストに関連するメタデータおよびデータに基づいて解釈または評価される。例えば、アプリケーション／プロセス／データソースからＳＲＯが提示された時、そのＳＲＯは、いくらかの初期データをコンテストとして含んでいる。ＵＩ環境（ＳＲＯに含まれた状態でＳＲＯを公開するＵＩ、またはＳＲＯに加えてフォームなどの追加的なレイヤを提供するＵＩ）は、コンテクストの中にデータをアサートまたはリトラクトすることができる。例えば、セマンティックルールのセットは、セマンティックルールのセットを適用する前にユーザ名／ユーザタイプのデータを評価し、ＵＩにそのデータをアサートしてユーザの対話的ジェスチャを解釈して、選択されたＳＲＯからユーザが利用可能なアクションのセットを抽出することができる。別の例では、セマンティックルールのセットがアクションを評価し、そのアクションは一度しか使用できないことを判定する場合がある。そのため、ＵＩは、そのアクションをユーザに提供しない。
【００２７】
データ構造２０２は、ここに例示されるタイプのメタデータを有するデータフィールドを含むが、本発明の範囲から逸脱することなく、他のメタデータタイプ、またはアプリケーションプログラム１１２内のプロセスの実行やプロセスの実行環境に関連する情報を有するデータを含めてよい。また、本発明の実施形態では例示的なデータタイプとしてメタデータを用いるが、本発明の範囲から逸脱することなく、実行の前にデータの再コンパイルが必要とされないように、管理されるあらゆる要素および／またはデータの実行時に実行されるあらゆる要素を記述する他のデータ構成あるいはデータ編成を使用してよい。
【００２８】
ＳＲＯをさらに説明するために、図３は、本発明の一実施形態に係る、ＳＲＯのメタデータで表される機能を説明するブロック図である。ここに例示される実施形態では、例えば、集約アプリケーション３０２、ウェブサービスアプリケーション３０４、タスクフローアプリケーション３０６、コンテクスト空間アプリケーション３０８、および文書アプリケーション３１０などのプロセスは、１つまたは複数のアクションを含む。また、これらアプリケーションプログラムの特徴やアクションが公開されるように、１つまたは複数のＳＲＯ３１２、３１４、３１６、３１８、および３２０が使用される。有利な点として、本発明の態様は、ＳＲＯの使用を通じて各種アプリケーション間で機能を公開する。例えば、タスクフローアプリケーション３０６は、矢印３２２を介してＳＲＯ３１８にタスクイベントを送信することができ、これは、ユーザがタスクを作成することで表されることができる。ユーザがＳＲＯ３１８でタスクイベントを作成し、そのタスクをある個人に割り当ててそのタスクを実行すると、ＳＲＯ３１８は、矢印３２４を介してＳＲＯ３２０に対してロールイベントを生成し、ＳＲＯ３２０は、矢印３２６を介してＳＲＯ３１２に対してアクションイベントを生成する。このように、本発明の態様によれば、各ＳＲＯが多機能であり、種々のイベントやアクションに応答するために各種の異なるアプリケーションプログラムによって使用されることができる。
【００２９】
引き続き図３を参照すると、図３に示すアプリケーションおよびＳＲＯ間の矢印は、ＳＲＯおよびアプリケーション間の例示的な意味的関係を表している。例えば、ウェブサービスアプリケーション３０４からＳＲＯ３１２への矢印３２８は、ウェブサービスアプリケーション３０４がＳＲＯ３１２を通じてユーザ（例えばユーザ１０６）にアクションまたはイベントを公開することを表すことができる。別の例では、ＳＲＯ３１８からＳＲＯ３２０への矢印３２４は、ある店舗の地域担当者にタスクが割り当てられたことを表すことができる。このように、ＳＲＯのタイプを通じてプロセス内の１つまたは複数のアクションを表してアプリケーションプログラムのプロセスの機能を公開することにより、システム１００は、ユーザ１０６に動的なユーザエクスペリエンスを提供する。
【００３０】
比較的単純な動的ユーザエクスペリエンスを例示すると、図４は、本発明の一実施形態に係るＳＲＯからのメタデータの抽出を説明するブロック図である。例えば、図４に示すように、地図タイプＳＲＯ４０２は、場所に関するメタデータを含んでいる。この例では、地図タイプＳＲＯ４０２は、シアトルの地図を表す。引き続き図４を参照すると、天候タイプＳＲＯ４０４は、時間に関連するメタデータを含む。図示するように、天候タイプＳＲＯ４０４は、２００５年６月３日午前１０時のシアトルの天候が曇りで、気温が華氏６７度であることを示している。
【００３１】
ユーザ１０６が、シアトルの人気のある観光地であるＳｐａｃｅ  Ｎｅｅｄｌｅの写真を選択あるいは入手すると、そのＳｐａｃｅ Ｎｅｅｄｌｅの写真が、写真の品質、時間、および場所に関連するメタデータを含む写真タイプＳＲＯ４０６によって表される。このように、メタデータを使用して写真タイプＳＲＯ４０６を表し、写真タイプＳＲＯ４０６、地図タイプＳＲＯ４０２、および天候タイプＳＲＯ４０４からメタデータを抽出することにより、シアトルからのＳｐａｃｅ  Ｎｅｅｄｌｅの位置、ＧＰＳ（全地球測位衛星）によるシアトルからのＳｐａｃｅ  Ｎｅｅｄｌｅの位置が示された地図、Ｓｐａｃｅ  Ｎｅｅｄｌｅ周辺の現在の気象状況、および／またはＳｐａｃｅ  Ｎｅｅｄｌｅ周辺の気象状況の予報を含んだボックスまたはウィンドウ４０８をユーザ１０６に提示することができる。代替実施形態では、ＳＲＯの使用により、ユーザは、旅行に関する詳細事項を要求する、あるいはＳｐａｃｅ  Ｎｅｅｄｌｅの地図を購入するといった、Ｓｐａｃｅ  Ｎｅｅｄｌｅに関する追加的なアクションを行うことができる。
【００３２】
次いで図５を参照すると、本発明の一実施形態に係る、ＳＲＯ（セマンティックリッチオブジェクト）を使用してプロセス中で動的なユーザエクスペリエンスを提供する方法をフローチャートで示す。詳細には、図５は、キーボードを用いたユーザによる対話的ジェスチャの一例を例示する。初めに５０２で、ノートタイプＳＲＯ５０６が、アクションとそれらアクションの実行環境に関連付けられたメタデータを含んで、プロセス内の１つまたは複数のアクションを表す。５０４で、インタフェース１０４は、プロセス内で所望のアクションを行うためにＳＲＯの少なくとも１つを選択する対話的ジェスチャをユーザ１０６から受け取る。ここに例示する例では、ユーザ１０６は、ノートタイプＳＲＯ５０６に関して「Ｊｅｎｎｉｆｅｒ「Ｆｉｎｄｉｎｇ  Ｎｅｖｅｒｌａｎｄ」」というテキストをキーボードから入力する。ユーザ１０６が要求するアクションは、Ｊｅｎｎｉｆｅｒと一緒に「Ｆｉｎｄｉｎｇ  Ｎｅｖｅｒｌａｎｄ」を見ることかもしれない。５０８で、システム１００は、受け取った対話的ジェスチャに応答して、ノートタイプＳＲＯ５０６からメタデータを抽出して、要求されるアクションがそのプロセスの実行環境で利用可能であるかどうかを判定する。
【００３３】
この判定において、プロセッサ１０２は、まず５１０でセマンティックルールのセットを定義して、対話的ジェスチャ「Ｊｅｎｎｉｆｅｒ「Ｆｉｎｄｉｎｇ  Ｎｅｖｅｒｌａｎｄ」」を評価または解釈することができる。上記で述べたように、各ＳＲＯは、セマンティックルールのセットを評価するために使用されるいくらかのデータを持っている（第２データフィールド２１６のアプリケーションコンテクスト２１８などに）。一例では、アプリケーションコンテクスト２１８のデータの一部は、アプリケーションプログラムによって提示されることができ、一部は、ＵＩ環境によって（例えばＳＲＯをホストするフォームで）アサート／リトラクトされることができる。定義されたセマンティックルールは、「Ｊｅｎｎｉｆｅｒ」がロールタイプＳＲＯを指すと判断することができ、一方「Ｆｉｎｄｉｎｇ  Ｎｅｖｅｒｌａｎｄ」は、場所タイプＳＲＯを指す可能性がある。「Ｆｉｎｄｉｎｇ  Ｎｅｖｅｒｌａｎｄ」が場所を指すのではないと判定すると、定義されたセマンティックルールはさらに、「Ｆｉｎｄｉｎｇ  Ｎｅｖｅｒｌａｎｄ」が、文書などのオブジェクトの名前、ファイルのタイトル等であると判断することができる。このように、システム１００は、メモリ１０８に記憶された利用可能なファイルを検索する、またはアプリケーションプログラムからのデータにアクセスして、「Ｆｉｎｄｉｎｇ  Ｎｅｖｅｒｌａｎｄ」の語義的意味がテキストまたはメディアオブジェクトタイプのＳＲＯであると判定することができる。システム１００は、引き続き５１４でセマンティックルールを使用して「Ｊｅｎｎｉｆｅｒ」と「Ｆｉｎｄｉｎｇ  Ｎｅｖｅｒｌａｎｄ」を解明するのに伴い、５１６で、要求されるアクションを行うために利用可能なアクションのセットを提供する。一実施形態では、ＳＲＯは、利用可能アクションコード２０６、アクション実行コード２０８等のコード、ルーチン、あるいはコンピュータ実行可能命令を、第１のデータフィールド２０４に含んでいる。例えば、これらのコードを使用してアクションを実行させることができる。別の例では、このコードは複雑なコードとすることができ、当該アクションがウェブサービスによって提供される場合には、アクション実行コードは、そのウェブサービスと通信する方法を知る必要がある場合がある。
【００３４】
この例では、システム１００は、Ｊｅｎｎｉｆｅｒは、ユーザの個人連絡先リスト（アドレス帳、電子メールの連絡先リスト、あるいはその他の通信連絡先リスト）にあるロールタイプＳＲＯのインスタンスであり、「Ｆｉｎｄｉｎｇ  Ｎｅｖｅｒｌａｎｄ」は映画の題名であると判定する。そのため、５１８で、システム１００は、「３４２−４０３−３３２３に電話をかけてＪｅｎｎｉｆｅｒに連絡をとり、ビデオレンタル店から映画「Ｆｉｎｄｉｎｇ  Ｎｅｖｅｒｌａｎｄ」を借りる」、あるいは「Ａ劇場の「Ｆｉｎｄｉｎｇ  Ｎｅｖｅｒｌａｎｄ」の映画の券を購入し、ユーザの予定表とＡ劇場の上映時間によるとユーザは土曜と日曜の午後４時から１０時が都合がよい」等の利用可能なアクションのセットを提供する。すなわち、ユーザ１０６に、ユーザの電話帳からＪｅｎｎｉｆｅｒを選択してその電話番号を調べさせる、あるいはインターネットを閲覧して「Ｆｉｎｄｉｎｇ  Ｎｅｖｅｒｌａｎｄ」の題名が提供されているか判断させる、あるいはＡ劇場の場所を調べて都合のよい上映時間を決めさせる代わりに、システム１００が、動的で、状況に即し、面白いユーザエクスペリエンスをユーザ１０６に提供する。したがって、ユーザ１０６は、アプリケーションプログラムから提供される標準的なアクション、さらにはカスタムコーディングされたアクションに制限されない。代わりに、ＳＲＯは、メタデータを使用してアプリケーションプログラム内でプロセスの機能とアクションを公開し、単純で平易な言葉でユーザ１０６にアクションを提供する。
【００３５】
一実施形態では、発話行為（さらに詳しくは付録Ａを参照のこと）を含むユーザの対話的ジェスチャがＳＲＯのメタデータに対応付けられ、システム１００は、視覚および音声による対話的ジェスチャの組合せに応答して、選択されたＳＲＯからメタデータを抽出して、要求されるアクションを判定することができる。
【００３６】
別の代替実施形態では、ユーザは、マウスのクリック、ディスプレイ上のマウスの移動などの対話的ジェスチャを介して１つまたは複数のイベントを生成する。システム１００は、ユーザからのイベントを受け取る、またはインターセプトし、セマンティックルールのセットに従って、そのイベントを、ＳＲＯのメタデータを通じて公開されるアクションに対応付ける。システム１００によってメタデータがＳＲＯから抽出されると、対話的ジェスチャに応答して利用可能なアクションのセットがユーザに提示される。場合によっては、システム１００が、利用可能なアクションを実行あるいは実施してもよい。
【００３７】
図６Ａから図６Ｃは、本発明の一実施形態に係る、ポインティングデバイス（例えばマウス）を使用したユーザからの対話的ジェスチャに応答して利用可能なアクションのセットを提供することをさらに説明するブロック図である。この例では、ポインティングデバイスを通じた対話的ジェスチャには、次が含まれることができる。
【００３８】
・何かを起動するためのクリック
・１つのオブジェクトを別のオブジェクトの上にドラッグ／ドロップして何らかの動作を行う
・何かについてさらに多くのことを知る、またはより多くのオプションを得るための右クリック
・複数のオブジェクトをまとめる、あるいはそのオブジェクトすべてに共通の操作を行うための「枠囲い」
・非階層的な暗喩を介した何かの検索と、その結果をスクロールし、可能性としてはその結果への移動。
【００３９】
図６Ａに、利用可能なアクションのセットをユーザ１０６に提供するための表示領域６０２および動作スペース６０４を示す。アイコンあるいはイベントオブジェクト６０６は、ＳＲＯを表す。この例では、イベントオブジェクト６０６は「注文１２３」を表す。表示領域６０２は、ユーザ１０６が「検索」ボタン６１２を押すと照会が実行されることが可能な検索入力欄６０８および６１０も含む。
【００４０】
次いで図６Ｂを参照すると、ユーザ１０６は、まずポインティングデバイスを使用してイベントオブジェクト６０６を選択し、イベントオブジェクト６０６をドラッグし（点線のイベントオブジェクト６１４は、ユーザ１０６によるドラッグの動きを表す）、動作スペース６０４の中にイベントオブジェクト６１６としてイベントオブジェクト６０６をドロップする。一実施形態では、このようなドラッグアンドドロップの対話的ジェスチャは、次のルールに従ってＳＲＯのメタデータに対応付けることができる。
【００４１】
ルール１：＜行為者、ＵＩジェスチャ、対象物、環境、デフォルトのアクションセット＞
このルールの下、対話的ジェスチャ（例えば「ドラッグ／ドロップ」）が、実行環境（例えば動作スペース６０４）内で行為者ＳＲＯ（例えば営業報告書）および対象物ＳＲＯ（例えば同僚）に結び付けられる。
【００４２】
あるいは、ユーザ１０６のドラッグアンドドロップの対話的ジェスチャは、次のルールに従ってＳＲＯのメタデータに対応付けてもよい。
【００４３】
ルール２：＜行為者、行為、発話行為＞
この例では、行為者ＳＲＯに対して利用可能なアクションは、要求、通知、命令等のＳｐｅｅｃｈＡｃｔに対応付けられる。
【００４４】
別の代替実施形態では、ユーザ１０６は、ドラッグアンドドロップのマウスアクションなどの対話的ジェスチャを使用してあるＳＲＯを１つまたは複数の他のＳＲＯに関連付けて、その１つのＳＲＯと１つまたは複数の他のＳＲＯで表されるアクションまたは振る舞いを含んだ意味文章として、利用可能なアクションのセットを作成することができる。例えば、ユーザ１０６は、メタデータで公開されるアクションまたは振る舞いが、「ユーザＢにタスクＡを割り当て、ユーザＢによってそのタスクが完了したらユーザＢの直属の上司に通知を送信する」等の文章として作成されることができるように、ユーザ１０６の対話的ジェスチャに応答した形などでＳＲＯ  Ｘを選択することができる。
【００４５】
図６Ｃでは、ユーザ１０６からのドラッグアンドドロップの対話的ジェスチャを受け取った後に、利用可能なアクションのセット６１８がユーザ１０６に対して表示あるいは提供される。ワークフローが関連するこの例では、利用可能なアクションのセット６１８は「プロセスの履歴」を含む（下向きの矢印６２０は、ユーザ１０６が下向きの矢印６２０にポインティングデバイスを合わせた時、またはポインティングデバイスを使用して下向きの矢印６２０を選択した時に追加的なアクションを利用できることを表す）。システム１００が「注文１２３」からメタデータを抽出して、「プロセスの履歴」に含まれる情報がユーザ１０６によって利用できる可能性があるかどうかを判定すると、表示された「プロセスの履歴」内で、「注文１２３」に関連する情報のセットがユーザ１０６に提示される。
【００４６】
例えば、プロセスの履歴は、２００５年３月４日シアトルにおけるユーザ１の「注文１２３」の発注書確認の情報を示している。ユーザ１０６は、初めに図６Ａで「プロセスの履歴を表示する」や「発注書の確認を表示する」などのアクションを選択しなかったことに留意されたい。代わりに、ユーザ１０６は、単にイベントオブジェクト６０６を動作スペース６０４上にドラッグアンドドロップし、システム１００は、そのような動作スペース６０４に対するドラッグアンドドロップの対話的ジェスチャに応答して、「注文１２３」を表すイベントオブジェクト６０６からメタデータを抽出して、利用可能なアクションのセットをユーザ１０６に提供する。このように、実施形態は、ユーザがフォーム方式のメニューにあるショートカットまたはオプションを記憶することを必要とせずに、多機能のＳＲＯで強化されたユーザエクスペリエンスを好都合に提供する。
【００４７】
別の実施形態では、システム１００は、ルール１に従って、ソースＳＲＯおよびターゲットＳＲＯからメタデータを抽出した後に、利用可能なアクションのリストを提供する。デフォルトのアクションセットを利用できる場合、システム１００は、遂行履歴、過去のユーザによる情報のやりとり等に従って以前のリストを変更する。あるいは、システム１００は、行為者ＳＲＯおよび対象物ＳＲＯから利用できるアクションの全リストをユーザ１０６に提示してもよい。
【００４８】
ルール２によるさらに別の実施形態では、システム１００は、ＳｐｅｅｃｈＡｃｔのセットに従って利用可能なアクションを解釈する。この例では、「ユーザ１」を表すＳＲＯ、「ユーザ２」（同僚）を表す別のＳＲＯ、および「事業単位でフィルタリングされた西部地域の売上台数」に関連するビジネスオブジェクトを表す第３のオブジェクト、の３つのＳＲＯがあるとする。ユーザ１は、ビジネスオブジェクトを選択した後、ビジネスタイプＳＲＯを、ユーザ２を表すＳＲＯの上にドラッグし、ビジネスタイプＳＲＯを、ユーザ２を表すＳＲＯの上にドロップする。このような視覚的な対話的ジェスチャを受け取ると、システム１００は、３つのＳＲＯからのメタデータからメタデータを抽出し、発話行為等の音声による対話的ジェスチャに対応付け、ユーザ１０６は、以下を提供されることができる。
【００４９】
Ａ．そのビジネスオブジェクトをユーザ２と共有する。
【００５０】
Ｂ．ユーザ２にビジネスオブジェクトの有効性について質問をするなど、ビジネスオブジェクトに関連して通信する。または
Ｃ．ユーザ２をそのビジネスオブジェクトの管理者／所有者にする（またはユーザ２に、ビジネスオブジェクトにアクセスする一定の権利を与える）。
【００５１】
一実施形態では、ユーザ１０６は、検索入力欄６０８および６１０に検索語を入力することにより、ドラッグアンドドロップの対話的ジェスチャとテキストのクエリを組み合わせることもできる。例えば、ユーザ１０６が特定の行為者／対象物の対の特定のインスタンスに対して特定の発話行為を頻繁に使用する場合、システム１００は、その行為者／対象物の対のすべてのインスタンスに対して利用可能な新しい発話行為として、それらの組合せを提案することができる。このように、過去のユーザによる情報のやりとりの習慣または履歴に基づいて、発話行為に関連するメタデータを新しい発話行為で更新することができる。その結果、本発明の実施形態は、ユーザのためにカスタマイズされたコード、またはカスタマイズされたアクションの連続を設計する必要をなくす。
【００５２】
さらなる代替実施形態では、プロセス実行とユーザの過去における情報のやりとり、プロセスの実行の遂行履歴、およびプロセス実行モデルが、アプリケーションプログラムにおけるそれらプロセスのアクションに関連するメタデータを持つＳＲＯとして表されることができる。このため、過去のユーザにより行われた情報のやりとりであるＳＲＯに合わせて検索などのアクションを利用できる場合があり、ユーザ１０６が利用可能なアクションのセットの管理、照会、および拡張縮小が可能になる。
【００５３】
図７は、コンピュータ１３０の形態の汎用コンピューティングデバイスの一例を示す。本発明の一実施形態では、コンピュータ１３０などのコンピュータが、本明細書で図示され、説明される他の図で使用するのに適する。コンピュータ１３０は、１つまたは複数のプロセッサあるいは処理装置１３２とシステムメモリ１３４を有する。図の実施形態では、システムバス１３６が、システムメモリ１３４を含む各種のシステム構成要素をプロセッサ１３２と結合する。バス１３６は、各種のバスアーキテクチャのいずれかを使用した、メモリバスまたはメモリコントローラ、ペリフェラルバス、アクセラレーテッドグラフィックポート、およびプロセッサバスまたはローカルバスを含む数種のバス構造の１つまたは複数を表す。限定ではなく例として、そのようなアーキテクチャには、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、およびメザニンバスとも称されるＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスがある。
【００５４】
コンピュータ１３０は通例、少なくとも何らかの形態のコンピュータ可読媒体を有する。コンピュータ可読媒体は、揮発性および不揮発性の媒体、取り外し可能および取り外し不能の媒体の両方を含み、コンピュータ１３０からアクセス可能な任意の利用可能な媒体でよい。限定ではなく例として、コンピュータ可読媒体は、コンピュータ記憶媒体と通信媒体からなる。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を記憶するための方法または技術で実装された、揮発性および不揮発性、取り外し可能および取り外し不能の媒体が含まれる。例えば、コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）またはその他の光学記憶、磁気カセット、磁気テープ、磁気ディスク記憶またはその他の磁気記憶装置、または所望の情報の記憶に使用することができ、コンピュータ１３０によるアクセスが可能な任意の他の媒体が含まれる。通信媒体は、通例、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを搬送波や他の移送機構などの変調データ信号として実施し、任意の情報伝達媒体を含む。当業者は、信号中に情報を符号化するような形で特性の１つまたは複数を設定または変化させた変調データ信号に精通している。有線ネットワークや直接配線接続などの有線媒体、および音響、ＲＦ、赤外線、その他の無線媒体などの無線媒体は、通信媒体の例である。上記の媒体の組合せもコンピュータ可読媒体の範囲に含まれる。
【００５５】
システムメモリ１３４は、取り外し可能および／または取り外し不能、揮発性および／または不揮発メモリの形態のコンピュータ記憶媒体を含む。図の実施形態では、システムメモリ１３４は、読み取り専用メモリ（ＲＯＭ）１３８およびランダムアクセスメモリ（ＲＡＭ）１４０を含む。起動時などにコンピュータ１３０内の要素間の情報転送を助ける基本ルーチンを含んだ基本入出力システム１４２（ＢＩＯＳ）は、通例ＲＯＭ１３８に記憶される。ＲＡＭ１４０は通例、処理装置１３２から即座にアクセス可能な、かつ／または処理装置１３２によって現在操作されているデータおよび／またはプログラムモジュールを保持する。限定ではなく例として、図７には、オペレーティングシステム１４４、アプリケーションプログラム１４６、他のプログラムモジュール１４８、およびプログラムデータ１５０を示す。
【００５６】
コンピュータ１３０は、この他の取り外し可能／取り外し不能、揮発性／不揮発性のコンピュータ記憶媒体も含むことができる。例えば、図７には、取り外し不能、不揮発性の磁気媒体への読み書きを行うハードディスクドライブ１５４を示す。図７には、取り外し可能、不揮発性の磁気ディスク１５８の読み書きを行う磁気ディスクドライブ１５６と、ＣＤ−ＲＯＭや他の光学媒体などの取り外し可能、不揮発性の光ディスク１６２の読み書きを行う光ディスクドライブ１６０も示す。例示的動作環境で使用することが可能なこの他の取り外し可能／取り外し不能、揮発性／不揮発性のコンピュータ記憶媒体には、これらに限定しないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体素子ＲＡＭ、固体素子ＲＯＭ等がある。ハードディスクドライブ１５４、磁気ディスクドライブ１５６、および光ディスクドライブ１６０は、通例、インタフェース１６６などの不揮発性メモリインタフェースでシステムバス１３６に接続される。
【００５７】
上記で解説し、図７に図示するドライブまたは他の大容量記憶装置とそれに関連するコンピュータ記憶媒体は、コンピュータ１３０のコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの記憶を提供する。図７では、例えば、ハードディスク１５４に、オペレーティングシステム１７０、アプリケーションプログラム１７２、他のプログラムモジュール１７４、およびプログラムデータ１７６が記憶されている。これらの構成要素は、オペレーティングシステム１４４、アプリケーションプログラム１４６、他のプログラムモジュール１４８、およびプログラムデータ１５０と同じである場合も異なる場合もあることに留意されたい。ここでは、オペレーティングシステム１７０、アプリケーションプログラム１７２、他のプログラムモジュール１７４、およびプログラムデータ１７６には、それらが少なくとも異なるコピーであることを表すために異なる参照符号を付している。
【００５８】
ユーザは、キーボード１８０やポインティングデバイス１８２（マウス、トラックボール、ペン、タッチパッドなど）等の入力装置またはユーザインタフェース選択装置を通じてコンピュータ１３０にコマンドおよび情報を入力することができる。他の入力装置（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、衛星受信アンテナ、スキャナ等がある。上記および他の入力装置は、システムバス１３６に結合されたユーザ入力インタフェース１８４を通じて処理装置１３２に接続されるが、パラレルポート、ゲームポート、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などの他のインタフェースおよびバス構造で接続してもよい。モニタ１８８または他のタイプの表示装置も、ビデオインタフェース１９０などのインタフェースを介してシステムバス１３６に接続される。モニタ１８８に加えて、コンピュータは、多くの場合プリンタやスピーカなどの他の周辺出力装置（図示せず）を含み、それらの出力装置は、出力周辺インタフェース（図示せず）を通じて接続することができる。
【００５９】
コンピュータ１３０は、リモートコンピュータ１９４などの１つまたは複数のリモートコンピュータとの論理接続を使用するネットワーク環境で動作することができる。リモートコンピュータ１９４は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般的なネットワークノードであり、通例は、コンピュータ１３０に関連して上述した要素の多くまたはすべてを含む。図７に示す論理接続は、ローカルエリアネットワーク（ＬＡＮ）１９６およびワイドエリアネットワーク（ＷＡＮ）１９８を含むが、この他のネットワークを含んでもよい。ＬＡＮ１３６および／またはＷＡＮ１３８は、有線ネットワーク、無線ネットワーク、それらの組合せ等である。このようなネットワーク環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、および世界規模のコンピュータネットワーク（例えばインターネット）に一般的である。
【００６０】
ローカルエリアネットワークの環境で使用される場合、コンピュータ１３０は、ネットワークインタフェースまたはアダプタ１８６を通じてＬＡＮ１９６に接続される。ワイドエリアネットワーク環境で使用される場合、コンピュータ１３０は通例、インターネットなどのＷＡＮ１９８を通じて通信を確立するためのモデム１７８または他の手段を含む。モデム１７８は、内蔵型でも外付け型でもよく、ユーザ入力インタフェース１８４または他の適切な機構を介してシステムバス１３６に接続される。ネットワーク環境では、コンピュータ１３０に関連して図示したプログラムモジュール、またはその一部は、遠隔のメモリ記憶装置（図示せず）に記憶してよい。限定ではなく例として、図７では、リモートアプリケーションプログラム１９２がメモリ装置に常駐する。図のネットワーク接続は例示的なものであり、コンピュータ間に通信リンクを確立する他の手段を使用してよい。
【００６１】
一般に、コンピュータ１３０のデータプロセッサは、コンピュータの各種のコンピュータ可読記憶媒体に異なる時に記憶される命令によってプログラムされる。プログラムおよびオペレーティングシステムは、通例、例えばフロッピー（登録商標）ディスクやＣＤ−ＲＯＭで配布される。そこから、コンピュータの補助メモリにインストールまたはロードされる。実行時には、少なくとも一部がコンピュータの主要電子メモリにロードされる。本明細書に記載される発明は、そのような媒体が、マイクロプロセッサまたは他のデータプロセッサとともに下記で説明するステップを実施するための命令またはプログラムを保持する場合は、上記および他の各種のコンピュータ可読記憶媒体を含む。本発明は、本明細書に記載される方法および技術に従ってプログラムされた場合にはコンピュータ自体も含む。
【００６２】
説明のために、プログラムと、オペレーティングシステムなどの他の実行可能プログラム構成要素は、ここでは別個のブロックとして図示する。しかし、そのようなプログラムおよび構成要素は、コンピュータの種々の記憶構成要素に異なる時に存在し、コンピュータのデータプロセッサによって実行されることが認識される。
【００６３】
本発明は、コンピュータ１３０を含む例示的なコンピューティングシステム環境との関係で説明するが、多数の他の汎用または特殊目的のコンピューティングシステム環境または構成で動作する。このコンピューティングシステム環境は、本発明の使用または機能性の範囲について限定を示唆するものではない。さらに、このコンピューティングシステム環境は、例示的動作環境に示される構成要素の１つまたは組合せに関連する依存性または必要性を有するものと解釈すべきでない。本発明に使用するのに適する可能性のある周知のコンピューティングシステム、環境、および／または構成の例には、これらに限定しないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサを利用したシステム、セットトップボックス、プログラム可能な消費者家電製品、携帯電話、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたは装置を含む分散コンピューティング環境等がある。
【００６４】
本発明は、１つまたは複数のコンピュータまたは他の装置によって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的文脈で説明することができる。一般に、プログラムモジュールには、これらに限定しないが、特定のタスクを行うか、特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、およびデータ構造が含まれる。本発明は、通信ネットワークを通じて接続された遠隔の処理装置によってタスクが行われる分散コンピューティング環境で実施することもできる。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含む、ローカルおよびリモート両方のコンピュータ記憶媒体に置くことができる。
【００６５】
ソフトウェアアーキテクチャの文脈におけるインタフェースには、ソフトウェアモジュール、コンポーネント、コード部分、または他のコンピュータ実行可能命令の連続が含まれる。インタフェースは、例えば、第２のモジュールにアクセスして第１のモジュールのためにコンピューティングタスクを行う第１のモジュールを含む。第１および第２のモジュールには、一例では、オペレーティングシステムによって提供されるアプリケーションプログラミングインタフェース（ＡＰＩ）、コンポーネントオブジェクトモデル（ＣＯＭ）インタフェース（例えばピアツーピアのアプリケーション通信用）、および、拡張可能マークアップ言語メタデータ相互交換形式（ＸＭＩ）インタフェース（例えばウェブサービス間の通信用）が含まれる。
【００６６】
このインタフェースは、Ｊ２ＥＥ（Ｊａｖａ（登録商標）２  Ｐｌａｔｆｏｒｍ  Ｅｎｔｅｒｐｒｉｓｅ  Ｅｄｉｔｉｏｎ）、ＣＯＭ、または分散ＣＯＭ（ＤＣＯＭ）の例におけるように、密結合、同期の実装とすることができる。これに代えて、またはこれに加えて、インタフェースは、ウェブサービス（例えばシンプルオブジェクトアクセスプロトコルを使用する）などのように疎結合、非同期の実装であってもよい。一般に、インタフェースは、密結合、疎結合、同期、および非同期、の特性の任意の組合せを含む。さらに、インタフェースは、標準プロトコル、独自プロトコル、または標準プロトコルと独自プロトコルの組合せに準拠することができる。
【００６７】
本明細書に記載されるインタフェースは、すべて単一のインタフェースの一部とするか、または、別個のインタフェースまたはそれらの組合せとして実施することができる。インタフェースは、ローカルまたはリモートに実行されて機能性を提供することができる。さらに、インタフェースは、本明細書に例示または説明される機能よりも多くの機能を含んでも、少ない機能を含んでもよい。
【００６８】
動作の際、コンピュータ１３０は、図４に示されるようなコンピュータ実行可能命令を実行する。例えば、コンピュータ１３０は、プロセスの機能を公開するために、セマンティックリッチオブジェクト（ＳＲＯ）によりプロセス内で１つまたは複数のアクションを表す。各ＳＲＯは、アクションとそのアクションのための実行環境とに関連付けられたメタデータを含む。コンピュータ１３０は、また、プロセス中で所望のアクションを行うためにＳＲＯの少なくとも１つを選択するための対話的ジェスチャをユーザから受け取る。コンピュータ１３０はさらに、選択されたＳＲＯからメタデータを抽出して、所望されるアクションがそのプロセスの実行環境で利用可能かどうかを判断する。
【００６９】
本明細書に例示および記載される方法を実行または実施する順序は、特に断らない限り重要ではない。すなわち、それら方法の要素は、特に指定がない限りどのような順序で行われてもよく、方法は、ここに開示されるより多くの要素を含んでも少ない要素を含んでもよい。例えば、特定の要素を、別の要素の前、同時に、または後に実行または実施することは、本発明の範囲内にあることが企図される。
【００７０】
本発明の要素またはその実施形態について述べる際、冠詞「ａ」、「ａｎ」、「ｔｈｅ」、「ｓａｉｄ」は、当該要素が１つまたは複数あることを意味するものとする。用語「〜を備える」、「〜を含む」、および「〜を有する」は、包含的な意味とし、列挙される要素以外に追加的な要素があってよいことを意味する。
【００７１】
上記の説明から、本発明のいくつかの目的が達成され、その他の有利な結果が得られることが理解されよう。
【００７２】
本発明の範囲から逸脱せずに上記のシステムおよび方法に各種の変更を加えることが可能であることから、上記の説明に含まれ、添付図面に図示されるすべての内容は、限定的な意味ではなく、例示的なものと解釈すべきである。
【００７３】
付録Ａは、本発明の一実施形態に係る発話行為の例を記載する。
【００７４】
付録Ａ
発話行為の例
発話行為は、いくつかの特性と特徴を有する。正式には、発話行為は、話者、聴者、および両者間の伝達行為を伴う。例えば、Ｊ．Ｌ．ＡｕｓｔｉｎとＪｏｈｎ  Ｒ．Ｓｅａｒｌｅは、発話行為理論（ＳＡＴ）を説明するためのかなり厳密な専門語彙を開発した。これは、次のように発話行為の３つの相を区別することを伴う（例えばＳｅａｒｌｅ，  Ｊｏｈｎ  Ｒ．，  Ｓｐｅｅｃｈ  Ａｃｔｓ，  Ａｎ  Ｅｓｓａｙ  ｉｎ  ｔｈｅ  Ｐｈｉｌｏｓｏｐｈｙ  ｏｆ  Ｌａｎｇｕａｇｅ，  Ｃａｍｂｒｉｄｇｅ：  Ｃａｍｂｒｉｄｇｅ  Ｕｎｉｖｅｒｓｉｔｙ  Ｐｒｅｓｓ，  １９６９。
【００７５】
Ａ．発語行為（文字通りに言われたこと）
Ｂ．発語内行為（例えば要求など、行われた行為）
Ｃ．発語媒介行為（その行為を行うことによって遂行されたこと。社会的影響）
セマンティックルールとジェスチャによる代数演算子を使用して、人物Ａは、人物Ｂを表すＳＲＯをクリックし、下記のような、より有意味であるが一般的な発話行為の一覧を与えられることができる。
【００７６】
Ａ．人物Ｂに何かをするように要求する
Ｂ．人物Ｂに質問をする
Ｃ．何かをする約束／誓約を人物Ｂに対してする
Ｄ．何かについて人物Ｂに通知する。または
Ｅ．リソース／オブジェクトを人物Ｂと共有する
【図面の簡単な説明】
【００７７】
【図１】本発明の一実施形態に係るセマンティックリッチオブジェクト（ＳＲＯ）を使用してプロセス内で動的なユーザエクスペリエンスを提供するシステムを説明する例示的図である。
【図２】本発明の一実施形態に係るメタデータを含んだＳＲＯを説明するデータ構造を示す例示的ブロック図である。
【図３】本発明の一実施形態に係るＳＲＯのメタデータで表された機能を示す例示的ブロック図である。
【図４】本発明の一実施形態に係るＳＲＯからメタデータを抽出することによる動的なユーザエクスペリエンスを示す例示的ブロック図である。
【図５】本発明の一実施形態に係るセマンティックリッチオブジェクト（ＳＲＯ）を使用してプロセス内で動的なユーザエクスペリエンスを提供する方法を説明する例示的流れ図である。
【図６Ａ】本発明の一実施形態に係るポインティングデバイス（例えばマウス）を使用してユーザからの対話的ジェスチャに応答して利用可能なアクションのセットを提供することを説明するブロック図である。
【図６Ｂ】本発明の一実施形態に係るポインティングデバイス（例えばマウス）を使用してユーザからの対話的ジェスチャに応答して利用可能なアクションのセットを提供することを説明するブロック図である。
【図６Ｃ】本発明の一実施形態に係るポインティングデバイス（例えばマウス）を使用してユーザからの対話的ジェスチャに応答して利用可能なアクションのセットを提供することを説明するブロック図である。
【図７】本発明が実施されることが可能な適切なコンピューティングシステム環境の一例を示すブロック図である。
【図１】
2008547128.tif 000003
【図２】
2008547128.tif 000004
【図３】
2008547128.tif 000005
【図４】
2008547128.tif 000006
【図５】
2008547128.tif 000007
【図６Ａ】
2008547128.tif 000008
【図６Ｂ】
2008547128.tif 000009
【図６Ｃ】
2008547128.tif 000010
【図７】
2008547128.tif 000011