(57)【要約】  【課題】  データ管理及びデータ・レンダリング用ユーザ・インターフェースを動的に作成する方法、システム、及び製品を提供する。  【解決手段】  前記方法、システム、及び製品は、データ・ソースの識別を受信するステップと、識別された前記データ・ソースからデータを取得するステップと、取得された前記データに従って識別された前記データ・ソースにアクセスするユーザ・インターフェース・オブジェクトを動的に作成するステップと、を含む。識別された前記データ・ソースはサーバ上のウェブ・ページである可能性もあり、その場合には、識別された前記データ・ソースからデータを取得する前記ステップは、前記ウェブ・ページのＨＴＴＰ要求をサーバに送信するステップと、前記サーバから前記ウェブ・ページのコンテンツを含むＨＴＴＰ応答を受信するステップと、を更に含むことができる。データ管理及びデータ・レンダリング用ユーザ・インターフェースを動的に作成する前記ステップは、識別された前記データ・ソースをチャネルに割り当てるステップを更に含むことができる。識別された前記データ・ソースをチャネルに割り当てる前記ステップは、識別された前記データ・ソースをチャネル内の他の合成コンテンツに従って前記チャネルに割り当てるステップを更に含むことができる。  【選択図】  図１
2009515244.tif 000002
【特許請求の範囲】
【請求項１】
データ管理及びデータ・レンダリング用ユーザ・インターフェースを作成するコンピュータ実装方法であって、
データ・ソースの識別を受信するステップと、
識別された前記データ・ソースからデータを取得するステップと、
取得された前記データに従って識別された前記データ・ソースにアクセスするように動作可能なユーザ・インターフェース・オブジェクトを作成するステップと、
を含む方法。
【請求項２】
識別された前記データ・ソースはウェブ・ページであり、
識別された前記データ・ソースからデータを取得する前記ステップは、
前記ウェブ・ページのＨＴＴＰ要求をサーバに送信するステップと、
前記サーバから前記ウェブ・ページのコンテンツを含むＨＴＴＰ応答を受信するステップと、
を更に含む、
請求項１に記載の方法。
【請求項３】
前記作成するステップは、ソース情報の記述に関連する表示テキストを作成するステップを更に含む、
請求項１に記載の方法。
【請求項４】
前記作成するステップは、前記ユーザ・インターフェース・オブジェクトを音声イネーブルするように動作可能な文法を作成するステップを更に含む、
請求項１に記載の方法。
【請求項５】
識別された前記データ・ソースをチャネルに割り当てるステップ
を更に含む請求項１に記載の方法。
【請求項６】
識別された前記データ・ソースは、チャネル内の他の合成コンテンツに従って前記チャネルに割り当てられる、請求項５に記載の方法。
【請求項７】
データ管理及びデータ・レンダリング用ユーザ・インターフェースを作成するシステムであって、
コンピュータ・プロセッサと、
前記コンピュータ・プロセッサと動作可能に結合されたコンピュータ・メモリと、を備え、
前記コンピュータ・メモリの内部には、
データ・ソースの識別を受信し、
識別された前記データ・ソースからデータを取得し、
取得された前記データに従って識別された前記データ・ソースにアクセスするように動作可能なユーザ・インターフェース・オブジェクトを作成する
ことが可能なコンピュータ・プログラム命令が配置されている、
システム。
【請求項８】
識別された前記データ・ソースはウェブ・ページであり、前記コンピュータ・メモリの内部には、
前記ウェブ・ページのＨＴＴＰ要求をサーバに送信し、
前記サーバから前記ウェブ・ページのコンテンツを含むＨＴＴＰ応答を受信する
ことが可能なコンピュータ・プログラム命令も配置されている、
請求項７に記載のシステム。
【請求項９】
前記コンピュータ・メモリの内部には、
取得された前記データに従って識別された前記データ・ソースにアクセスするユーザ・インターフェース・オブジェクトを作成し、
ソース情報の記述に関連する表示テキストを作成する
ことが可能なコンピュータ・プログラム命令も配置されている、
請求項７に記載のシステム。
【請求項１０】
前記コンピュータ・メモリの内部には、
取得された前記データに従って識別された前記データ・ソースにアクセスするユーザ・インターフェース・オブジェクトを作成し、
前記ユーザ・インターフェース・オブジェクトを音声イネーブルするように動作可能な文法を作成する
ことが可能なコンピュータ・プログラム命令も配置されている、
請求項７に記載のシステム。
【請求項１１】
前記コンピュータ・メモリの内部には、識別された前記データ・ソースをチャネルに割り当てることが可能なコンピュータ・プログラム命令も配置されている、請求項７に記載のシステム。
【請求項１２】
前記コンピュータ・メモリの内部には、識別された前記データ・ソースをチャネル内の他の合成コンテンツに従って前記チャネルに割り当てることが可能なコンピュータ・プログラム命令も配置されている、請求項１１に記載のシステム。
【請求項１３】
それ自体がコンピュータ上で実行されたときに、請求項１乃至６のいずれかに記載される全てのステップを実行するように適合されたプログラム・コード手段を備えるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理の分野に関するものであり、より具体的には、データ管理及びデータ・レンダリング用ユーザ・インターフェースを動的に作成する方法、システム、及び製品に関するものである。
【背景技術】
【０００２】
近年、データにアクセスする機会は益々増え、そのようなデータを利用するデバイスの種類も増加しているが、ユーザは時間に制約されることが多い。そのような時間の制約が生じる理由の１つとして、ユーザは典型的にはデータ型特有のアプリケーションを使用して、データ型特有のデバイス上に所在する異種データ・ソース（ｄｉｓｐａｒａｔｅ  ｄａｔａ  ｓｏｕｒｃｅ）に由来する異種データ型（ｄｉｓｐａｒａｔｅ  ｄａｔａ  ｔｙｐｅ）のデータにアクセスしなければならない点が挙げられる。そのような１つ又は複数のデータ型特有のデバイスは、様々な外部環境の影響により特定の時間に使用する場合は問題が生じる可能性がある。データ型特有のデバイスの使用に支障をきたす恐れがある外部環境としては、例えば混雑した場所、電車や車等の窮屈な場所、歩行等のユーザ活動、運転等視覚を集中的に使用する活動、及び当業者によって想到される他の活動が挙げられる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
したがって、異種データ・ソースに由来するコンテンツに対して統一データ型アクセス（ｕｎｉｆｏｒｍ  ｄａｔａ  ｔｙｐｅ  ａｃｃｅｓｓ）を行うことが可能となる、異種データ型を対象とするデータ管理及びデータ・レンダリングの必要性が高まっている。
【課題を解決するための手段】
【０００４】
データ管理及びデータ・レンダリング用ユーザ・インターフェースを動的に作成する方法、システム、及び製品が開示される。前記方法、システム、及び製品は、データ・ソースの識別を受信するステップと、識別された前記データ・ソースからデータを取得するステップと、取得された前記データに従って識別された前記データ・ソースにアクセスするユーザ・インターフェース・オブジェクトを動的に作成するステップと、を含む。識別された前記データ・ソースはサーバ上のウェブ・ページである可能性もあり、その場合には、識別された前記データ・ソースからデータを取得する前記ステップは、前記ウェブ・ページのＨＴＴＰ要求をサーバに送信するステップと、前記サーバから前記ウェブ・ページのコンテンツを含むＨＴＴＰ応答を受信するステップと、を更に含むことができる。データ管理及びデータ・レンダリング用ユーザ・インターフェースを動的に作成する前記ステップは、識別された前記データ・ソースをチャネルに割り当てるステップを更に含むことができる。識別された前記データ・ソースをチャネルに割り当てる前記ステップは、識別された前記データ・ソースをチャネル内の他の合成コンテンツに従って前記チャネルに割り当てるステップを更に含むことができる。
【０００５】
取得された前記データに従って識別された前記データ・ソースにアクセスするユーザ・インターフェース・オブジェクトを動的に作成する前記ステップは、ソース情報を記述する表示テキストを作成するステップを含むことができる。取得された前記データに従って識別された前記データ・ソースにアクセスするユーザ・インターフェース・オブジェクトを動的に作成する前記ステップは、前記ユーザ・インターフェース・オブジェクトを音声イネーブルする（ｖｏｉｃｅ  ｅｎａｂｌｅ）文法を作成するステップを更に含むことができる。
【０００６】
本発明に関する上記及び他の特徴ならびに利点は、添付図面に示される本発明の例示的な諸実施形態に関する以下のより詳細な説明を読めば明らかとなるだろう。添付図面の全体を通じて、本発明の例示的な諸実施形態の同様の部分は同様の参照番号で表されている。
【発明を実施するための最良の形態】
【０００７】
ここで図１から順に添付図面を参照しながら、異種データ・ソースに由来する本発明の諸実施形態に係る異種データ型を対象とするデータ管理及びデータ・レンダリングを行う例示的な方法、システム、及び製品について説明する。図１は、本発明の諸実施形態に係る異種データ型を対象とするデータ管理及びデータ・レンダリングを行う例示的なシステムを示すネットワーク図である。図１のシステムは一般に、本発明の諸実施形態に従って異種データ・ソースに由来する異種データ型のデータを集約（ａｇｇｒｅｇａｔｅ）し、当該集約された異種データ型のデータを統一データ型（ｕｎｉｆｏｒｍ  ｄａｔａ  ｔｙｐｅ）のデータに合成し、当該合成データに従ってアクションを識別し、当該識別されたアクションを実行することによって、異種データ型を対象とするデータ管理及びデータ・レンダリングを行うように動作する。
【０００８】
異種データ型（ｄｉｓｐａｒａｔｅ  ｄａｔａ  ｔｙｐｅ）とは、互いに種類及び形式が異なるデータを指す。即ち、異種データ型とは、種類が異なるデータを指す。異種データ型を定義するデータの区別手法としては、データ構造、ファイル形式、及びデータ伝送プロトコルの違い、ならびに当業者によって想到される他の区別手法を挙げることができる。異種データ型の例としては、ＭＰＥＧ‐１  Ａｕｄｉｏ  Ｌａｙｅｒ  ３（「ＭＰ３」）ファイル、拡張マークアップ言語（ＸＭＬ）ドキュメント、電子メール・ドキュメント、及び当業者によって想到される他のデータ型が挙げられる。異種データ型は、典型的にはデータ型特有のデバイス上でレンダリングしなければならない。例えば、ＭＰＥＧ‐１  Ａｕｄｉｏ  Ｌａｙｅｒ  ３（「ＭＰ３」）ファイルは典型的にはＭＰ３プレイヤーで再生され、ワイヤレス・マークアップ言語（「ＷＭＬ」）ファイルは典型的には無線デバイスで利用される。
【０００９】
異種データ・ソース（ｄｉｓｐａｒａｔｅ  ｄａｔａ  ｓｏｕｒｃｅ）という用語は、異種データ型のデータの出所を指す。そのようなデータ・ソースは、異種データ型のデータへのアクセスを提供することが可能な任意のデバイスあるいはネットワーク・ロケーションとすることができる。異種データ・ソースの例としては、ファイルを供給するサーバ、ウェブ・サイト、携帯電話、ＰＤＡ、ＭＰ３プレイヤー、及び当業者によって想到される他のデバイスが挙げられる。
【００１０】
図１のシステムは、ネットワーク内でデータ通信を行うように互いに接続された、異種データ・ソースとして動作するいくつかのデバイスを含む。図１のデータ処理システムは、広域ネットワーク（「ＷＡＮ」）（１１０）及びローカル・エリア・ネットワーク（「ＬＡＮ」）（１２０）を含む。「ＬＡＮ」は「Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ローカル・エリア・ネットワーク）」の略語である。ＬＡＮは、比較的小さい領域に及ぶコンピュータ・ネットワークである。多くのＬＡＮは、単一のビル又は一群のビルに範囲が制限される。しかしながら、１つのＬＡＮと任意の距離だけ離れた他のＬＡＮとを、電話回線及び無線を介して接続することもできる。このように接続された複数のＬＡＮから成るシステムを広域ネットワーク（ＷＡＮ）と呼ぶ。インターネットはＷＡＮの一例である。
【００１１】
図１の例において、サーバ（１２２）は、ＬＡＮ（１２０）とＷＡＮ（１１０）の間のゲートウェイとして動作する。図１のアーキテクチャにおけるネットワーク接続態様は説明上のものであり、限定的なものではない。実際、本発明の諸実施形態に係る異種データ型を対象とするデータ管理及びデータ・レンダリングを行うシステムは、ＬＡＮ、ＷＡＮ、イントラネット、相互ネット、インターネット、ウェブ、ワールド・ワイド・ウェブ自体、あるいは当業者によって想到される他の接続に接続することができる。そのようなネットワークは、全体のデータ処理システム内で相互接続された様々なデバイスとコンピュータとの間のデータ通信接続を提供するのに使用され得る媒体である。
【００１２】
図１の例において、ＬＡＮ及びＷＡＮにはそれぞれ複数のデバイスが接続されており、各デバイスにはデータ・ソースが実装され、特定のデータ型のデータが記憶されている。図１の例において、サーバ（１０８）は、有線接続（１２６）を介してＷＡＮに接続されている。図１のサーバ（１０８）は、ＲＳＳフィードのデータ・ソースであり、ＲＳＳフィードはサーバ（１０８）からＸＭＬファイルの形で配信される。ＲＳＳは、ニュース・ウェブサイト及びウェブログで使用されるウェブ・シンジケーション用ＸＭＬファイル・フォーマット・ファミリーである。ＲＳＳという略語を使用する場合は、以下の規格、即ち、リッチ・サイト・サマリ（ＲＳＳ  ０．９１）、ＲＤＦサイト・サマリ（ＲＳＳ  ０．９、１．０、及び１．１）、及びリアリー・シンプル・シンジケーション（ＲＳＳ  ２．０）を指す。ＲＳＳフォーマットは、ウェブ・コンテンツを提供し、又はウェブ・コンテンツのサマリを当該コンテンツのフル・バージョンへのリンク及び他のメタデータと共に提供する。この情報は、ＲＳＳフィード、ウェブフィード、ＲＳＳストリーム、又はＲＳＳチャネルと呼ばれるＸＭＬファイルとして配信される。
【００１３】
図１の例において、ＷＡＮには有線接続（１３２）を介して別のサーバ（１０６）も接続されている。図１のサーバ（１０６）は、Ｌｏｔｕｓ  ＮＯＴＥＳ（Ｒ）ファイルとして記憶されるデータのデータ・ソースである。図１の例において、携帯情報端末（「ＰＤＡ」）（１０２）は、無線接続（１３０）を介してＷＡＮに接続される。ＰＤＡ（１０２）は、ＸＨＴＭＬモバイル・プロファイル（「ＸＨＴＭＬ  ＭＰ」）ドキュメントの形で記憶されるデータのデータ・ソースである。
【００１４】
図１の例において、携帯電話（１０４）は、無線接続（１２８）を介してＷＡＮに接続される。携帯電話（１０４）は、ワイヤレス・マークアップ言語（「ＷＭＬ」）ファイルとして記憶されるデータのデータ・ソースである。図１の例において、タブレット・コンピュータ（１１２）は、無線接続（１３４）を介してＷＡＮに接続される。タブレット・コンピュータ（１１２）は、ＸＨＴＭＬ  ＭＰドキュメントの形で記憶されるデータのデータ・ソースである。
【００１５】
図１のシステムは、デジタル・オーディオ・プレイヤー（「ＤＡＰ」）（１１６）も含む。ＤＡＰ（１１６）は、有線接続（１９２）を介してＬＡＮに接続されている。図１のデジタル・オーディオ・プレイヤー（「ＤＡＰ」）（１１６）は、ＭＰ３ファイルとして記憶されるデータのデータ・ソースである。図１のシステムは、ラップトップ・コンピュータ（１２４）も含む。ラップトップ・コンピュータ（１２４）は、有線接続（１９０）を介してＬＡＮに接続されている。図１のラップトップ・コンピュータ（１２４）は、画像交換フォーマット（「ＧＩＦ」）ファイルとして記憶されるデータのデータ・ソースである。図１のラップトップ・コンピュータ（１２４）は、拡張ハイパーテキスト・マークアップ言語（「ＸＨＴＭＬ」）ドキュメントの形をとるデータのデータ・ソースでもある。
【００１６】
図１のシステムは、異種データ・ソースから利用可能な異種データ型のデータに対する統一アクセスを実現するデータ管理及びレンダリング・モジュールがそれぞれ実装された、ラップトップ・コンピュータ（１１４）及びスマート・フォン（１１８）を含む。図１の例示的なラップトップ・コンピュータ（１１４）は、無線接続（１８８）を介してＬＡＮに接続される。また、図１の例示的なスマート・フォン（１１８）は、無線接続（１８６）を介してＬＡＮに接続される。図１のラップトップ・コンピュータ（１１４）及びスマート・フォン（１１８）には一般に、異種データ・ソースに由来する異種データ型のデータを集約し、当該集約された異種データ型のデータを統一データ型のデータに合成し、当該合成データに従ってアクションを識別し、当該識別されたアクションを実行することによって、異種データ型を対象とするデータ管理及びデータ・レンダリングを行うことが可能なソフトウェアが実装されており、各デバイス上で当該ソフトウェアが実行される。
【００１７】
ここで集約データ（ａｇｇｒｅｇａｔｅｄ  ｄａｔａ）とは、単一の場所に蓄積された異なる型のデータを指す。そのような集約データの蓄積場所は、例えば集約データが格納される単一のコンピュータ上といった物理的な場所であっても、例えば集約データへのアクセスを提供する単一のインターフェース上といった論理的な場所であってもよい。
【００１８】
ここで合成データ（ｓｙｎｔｈｅｓｉｚｅｄ  ｄａｔａ）とは、統一データ型のデータに合成された集約データを指す。統一データ型は、集約データから翻訳されたテキスト・コンテンツ及びマークアップとして実装することができる。合成データは、テキスト・コンテンツに挿入される追加的な音声マークアップを含むこともでき、それによって追加的な音声機能が付加されることになる。
【００１９】
別法として、図１でソースとして説明されている任意のデバイスが本発明に係るデータ管理及びレンダリング・モジュールをサポートすることもできる。例えば、上述のサーバ（１０８）は、異種データ・ソースから利用可能な異種データ型のデータに対する統一アクセスを実現する、データ管理及びレンダリング・モジュールをサポートすることができる。上述のように、図１に示されるデバイス、例えばＰＤＡ、タブレット・コンピュータ、携帯電話、当業者によって想到される他の任意のデバイスは、いずれも本発明に係るデータ管理及びレンダリング・モジュールをサポートすることができる。
【００２０】
図１に示される例示的なシステムを構成するサーバ及び他のデバイスの配置は例示的なものであって限定的なものではない。当業者によって想到されるように、本発明の様々な実施形態に従って活用されるデータ処理システムは、図１に示されていない追加的なサーバ、ルータ、他のデバイス、及びピア・ツー・ピア・アーキテクチャを含むこともできる。このようなデータ処理システムにおけるネットワークは、例えばＴＣＰ（伝送制御プロトコル）、ＩＰ（インターネット・プロトコル）、ＨＴＴＰ（ハイパーテキスト転送プロトコル）、ＷＡＰ（無線アクセス・プロトコル）、ＨＤＴＰ（ハンドヘルド・デバイス・トランスポート・プロトコル）、及び当業者によって想到される他のプロトコルを含めた多数のデータ通信プロトコルをサポートすることができる。本発明の様々な実施形態は、図１に示されるハードウェア・プラットフォームだけでなく様々なハードウェア・プラットフォーム上に実装することができる。
【００２１】
本発明に係る異種データ型を対象とするデータ管理及びデータ・レンダリングを行う方法は一般に、コンピュータ即ち自動コンピューティング・マシンを用いて実装される。図１のシステムにおいて、例えば全てのノード、サーバ、及び通信デバイスは、少なくとも部分的にはコンピュータとして実装される。したがって、更なる説明として、図２には、本発明の諸実施形態に係る異種データ型を対象とするデータ管理及びデータ・レンダリングに利用される例示的なコンピュータ（１５２）を備えた自動コンピューティング・マシンのブロック図が示されている。図２のコンピュータ（１５２）は、少なくとも１つのコンピュータ・プロセッサ（１５６）又は「ＣＰＵ」と、ランダム・アクセス・メモリ（１６８）（「ＲＡＭ」）とを含んでおり、ＲＡＭ（１６８）は、システム・バス（１６０）を介してプロセッサ（１５６）及びコンピュータ（１５２）の他のコンポーネントに接続されている。
【００２２】
ＲＡＭ（１６８）にはデータ管理及びデータ・レンダリング・モジュール（１４０）が記憶されている。データ管理及びデータ・レンダリング・モジュール（１４０）は、一般に、異種データ・ソースに由来する異種データ型のデータを集約し、当該集約された異種データ型のデータを統一データ型のデータに合成し、当該合成データに従ってアクションを識別し、当該識別されたアクションを実行することが可能な、異種データ型を対象とするデータ管理及びデータ・レンダリングを行うコンピュータ・プログラム命令である。有利なことに、異種データ型を対象とするデータ管理及びデータ・レンダリングは、異種データ型特有のリソースから収集されたデータに効率的にアクセスして操作する能力をユーザに提供する。異種データ型を対象とするデータ管理及びデータ・レンダリングは、ユーザが単一のデバイス上に所在する異種データ型特有のリソースから収集されたデータにアクセスすることが可能となるような、統一データ型も提供する。
【００２３】
ＲＡＭ（１６８）には集約モジュール（ａｇｇｒｅｇａｔｉｏｎ  ｍｏｄｕｌｅ）（１４４）も記憶されている。集約モジュール（１４４）は、一般に、集約プロセスからデータ要求を受信し、当該データ要求に応答して２つ以上の異種データ・ソースのうちの１つをデータ・ソースとして識別し、当該識別されたデータ・ソースから要求データ（ｒｅｑｕｅｓｔｅｄ  ｄａｔａ）を取得（ｒｅｔｒｉｅｖｉｎｇ）し、当該要求データを集約プロセスに返すことが可能な、異種データ・ソースに由来する異種データ型のデータを集約するコンピュータ・プログラム命令である。有利なことに、異種データ・ソースに由来する異種データ型のデータを集約することによって、複数のソースに由来するデータを合成のために収集することが可能となる。
【００２４】
ＲＡＭ（１６８）には合成エンジン（１４５）も記憶されている。合成エンジン（１４５）は、一般に、集約された異種データ型のデータを受信し、当該集約された異種データ型のデータをそれぞれテキスト・コンテンツ及び当該テキスト・コンテンツに関連するマークアップから構成される翻訳データ（ｔｒａｎｓｌａｔｅｄ  ｄａｔａ）に翻訳することが可能な、集約された異種データ型のデータを統一データ型のデータに合成するコンピュータ・プログラム命令である。有利なことに、集約された異種データ型のデータを統一データ型のデータに合成することによって、単一のデバイスからアクセス及び操作を行うことが可能な統一データ型の合成データが提供されることになる。
【００２５】
ＲＡＭ（１６８）にはアクション・ジェネレータ・モジュール（１５９）も記憶されている。アクション・ジェネレータ・モジュール（１５９）は、合成データ及び多くの場合ユーザ命令に従ってアクションを識別する、１組のコンピュータ・プログラム命令である。有利なことに、合成データに従ってアクションを識別することによって、合成データとのインタラクション及び合成データの管理を行うことが可能となる。
【００２６】
ＲＡＭ（１６８）にはアクション・エージェント（１５８）も記憶されている。アクション・エージェント（１５８）は、１つ又は複数の識別されたアクションの実行を管理する１組のコンピュータ・プログラム命令である。当業者には想到されるように、上記の実行は識別直後に行うことも、識別後周期的に行うことも、識別後のスケジュールに従って行うこともできる。
【００２７】
ＲＡＭ（１６８）にはディスパッチャ（１４６）も記憶されている。ディスパッチャ（１４６）は、集約プロセスからデータ要求を受信し、当該データ要求に応答して複数の異種データ・ソースのうちの１つをデータ・ソースとして識別し、当該識別されたデータ・ソースから要求データを取得し、当該要求データを集約プロセスに返すコンピュータ・プログラム命令である。有利なことに、集約プロセスからデータ要求を受信し、当該データ要求に応答して複数の異種データ・ソースのうちの１つをデータ・ソースとして識別し、当該識別されたデータ・ソースから要求データを取得し、当該要求データを集約プロセスに返すことによって、集約及び合成対象となる異種データ・ソースにアクセスすることができるようになる。
【００２８】
図２のディスパッチャ（１４６）は、複数のプラグイン・モジュール（１４８、１５０）も含んでおり、各プラグイン・モジュールはそれぞれに関連するデータ・ソースから集約プロセスで使用される要求データを取得するコンピュータ・プログラム命令に相当する。このようなプラグインは、ディスパッチャの一般的なアクションと、特定の型のデータを取得するのに必要な要件とを分離する。
【００２９】
ＲＡＭ（１６８）にはブラウザ（１４２）も記憶されている。ブラウザ（１４２）は、ユーザと合成データとの間のインターフェースを提供するコンピュータ・プログラム命令である。有利なことに、ユーザと合成データとの間のインターフェースを提供することによって、ユーザがデータ・ソース特有のデバイスを使用する必要なしに、異種データ・ソースから取得されたデータ・コンテンツにアクセスすることができるようになる。図２のブラウザ（１４２）は、マルチモーダル入力の受信及びマルチモーダル出力を介したユーザとのインタラクションが可能なマルチモーダル・インタラクションを行うことができる。このようなマルチモーダル・ブラウザは、典型的には音声駆動可能な階層メニューを介してマルチモーダル・インタラクションを実現するマルチモーダル・ウェブ・ページをサポートする。
【００３０】
ＲＡＭ（１６８）にはユーザ・インターフェース作成モジュール（１５１）も記憶されている。ユーザ・インターフェース作成モジュール（１５１）は、一般に、データ・ソースの識別を受信し、当該識別されたデータ・ソースからデータを取得し、当該取得されたデータに応じて識別されたデータ・ソースにアクセスするユーザ・インターフェース・オブジェクトを動的に作成することが可能なコンピュータ・プログラム命令である。
【００３１】
ＲＡＭ（１６８）には、Ｊａｖａ仮想マシン（「ＪＶＭ」）（１５５）上で実行されるＯＳＧｉサービス・フレームワーク（１５７）も記憶されている（「Ｊａｖａ」及びＪａｖａに基づく全ての商標は、サンマイクロ・システムズの米国その他の国、又はその両方における商標である）。「ＯＳＧｉ」とは、サービス・ゲートウェイを介して対応データ通信及びサービスを提供するサービス・バンドル、ソフトウェア、ミドルウェアの配信仕様を開発する業界団体である、オープン・サービス・ゲートウェイ・イニシアチブを指す。ＯＳＧｉ仕様は、中立的なアプリケーション、デバイス・レイヤＡＰＩ及び各種機能をサービス・プロバイダ、ネットワーク・オペレータ、デバイス・メーカー、及び機器製造業者に提供する、Ｊａｖａベースのアプリケーション・レイヤ・フレームワークである。ＯＳＧｉは、イーサネット（Ｒ）、Ｂｌｕｅｔｏｏｔｈ（Ｒ）、ホーム・オーディオ・ビデオ・インターオペラビリティ（ＨＡＶｉ）規格、ＩＥＥＥ  １３９４、ユニバーサル・シリアル・バス（ＵＳＢ）、ＷＡＰ、Ｘ‐１０、ＬｏｎＷｏｒｋｓ（Ｒ）、ＨｏｍｕＰｌｕｇ（Ｒ）、及び他の様々なネットワーク技術等、多種多様なネットワーク技術と連動する仕様である。ＯＳＧｉ仕様は、ＯＳＧｉのウェブ・サイト（www.osgi.org）から無料でダウンロードすることができる。
【００３２】
ＯＳＧｉサービス・フレームワーク（１５７）はＪａｖａで書かれるため、典型的にはＪａｖａ仮想マシン（「ＪＶＭ」）（１５５）上で実行される。ＯＳＧｉにおいて、サービス・フレームワーク（１５７）は、「各種サービス」を実行するホスティング・プラットフォームである。本明細書で使用される「サービス（ｓｅｒｖｉｃｅ）」又は「各種サービス（ｓｅｒｖｉｃｅｓ）」という用語は、文脈にもよるが一般にはＯＳＧｉ対応サービスを指す。
【００３３】
各種サービスは、ＯＳＧｉに従ってアプリケーションを作成するための主要なビルディング・ブロックである。サービスはＪａｖａクラス群であり、一定の機能を実装するインターフェースである。ＯＳＧｉ仕様は、いくつかの標準的なサービスを提供する。例えば、ＯＳＧｉは、ＨＴＴＰクライアントからの要求に応答することが可能なウェブ・サーバを作成する標準的なＨＴＴＰサービスを提供する。
【００３４】
ＯＳＧｉは、デバイス・アクセス仕様（Ｄｅｖｉｃｅ  Ａｃｃｅｓｓ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）と呼ばれる１組の標準的なサービスも提供する。デバイス・アクセス仕様（「ＤＡＳ」）は、サービス・ゲートウェイに接続されているデバイスを識別し、当該デバイスのドライバを検索し、当該デバイスのドライバをインストールするサービスを提供する。
【００３５】
ＯＳＧｉの各種サービスは、各サービスが実行時に必要とする他のファイル、画像、及びリソースを伴う「バンドル」の形でパッケージングされる。バンドルは、１つ又は複数のサービス実装、アクティベータ・クラス、及びマニフェスト・ファイルを含むＪａｖａアーカイブ・ファイル、即ち「ＪＡＲ」ファイルである。アクティベータ・クラスは、サービス・フレームワーク（１５７）によるバンドルの開始及び終了に使用されるＪａｖａクラスである。マニフェスト・ファイルは、バンドルのコンテンツを記述する標準的なテキスト・ファイルである。
【００３６】
ＯＳＧｉのサービス・フレームワーク（１５７）は、サービス・レジストリも含む。サービス・レジストリは、サービス名を含むサービス・レジストレーションと、フレームワーク上にインストールされ当該サービス・レジストリに登録された各バンドル毎にサービスを実装するクラスのインスタンスと、を含む。バンドルは、当該バンドルに含まれていないがフレームワーク・サービス・レジストリに登録されているサービスを要求することができる。バンドルは、サービスを発見するためにフレームワークのサービス・レジストリに対して照会を行う。
【００３７】
本発明の諸実施形態に係るデータ管理及びデータ・レンダリングは有益なことに、１つ又は複数のＯＳＧｉサービスを呼び出すことができる。ＯＳＧｉは説明上本明細書に含まれるものであり、限定的なものではない。実際、本発明の諸実施形態に係るデータ管理及びデータ・レンダリングは有益なことに、多種多様な技術を効果的に採用することができ、そのような技術は全て本発明の範囲に含まれる。
【００３８】
ＲＡＭ（１６８）にはオペレーティング・システム（１５４）も記憶されている。本発明の諸実施形態に係るコンピュータで利用されるオペレーティング・システムとしては、ＵＮＩＸ、Ｌｉｎｕｘ、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  ＮＴ、ＡＩＸ、ＩＢＭのｉ５／ＯＳ、及び当業者によって想到される他のオペレーティング・システムが挙げられる（「ＵＮＩＸ」はＯｐｅｎ  Ｇｒｏｕｐの米国及び他の国、又はその両方における登録商標、「Ｌｉｎｕｘ」はＬｉｎｕｓ  Ｔｏｒｖａｌｄｓ氏の米国その他の国、又はその両方における登録商標、「Ｍｉｃｒｏｓｏｆｔ」、「Ｗｉｎｄｏｗｓ」、「Ｗｉｎｄｏｗｓ  ＮＴ」、及びＷｉｎｄｏｗｓのロゴマークはマイクロソフト・コーポレーションの米国その他の国、又はその両方における商標、「ＡＩＸ」、「ＩＢＭ」、及び「ｉ５／ＯＳ」はインターナショナル・ビジネス・マシーンズ・コーポレーションの登録商標である）。図２の例ではオペレーティング・システム（１５４）及びデータ管理及びデータ・レンダリング・モジュール（１４０）がＲＡＭ（１６８）内に示されているが、そのようなソフトウェアの多くのコンポーネントは、典型的には不揮発性メモリ（１６６）にも記憶される。
【００３９】
図２のコンピュータ（１５２）は、システム・バス（１６０）を介してプロセッサ（１５６）及びコンピュータ（１５２）の他のコンポーネントと結合された不揮発性メモリ（１６６）を含む。不揮発性メモリ（１６６）は、ハード・ディスク・ドライブ（１７０）、光ディスク・ドライブ（１７２）、電気的消去再書込可能読み取り専用メモリ空間（いわゆる「ＥＥＰＲＯＭ」又は「フラッシュ」メモリ）（１７４）、ＲＡＭドライブ（図示せず）、あるいは当業者によって想到される他の任意の種類のコンピュータ・メモリとして実装することができる。
【００４０】
図２の例示的なコンピュータは、１つ又は複数の入出力インターフェース・アダプタ（１７８）を含む。コンピュータ内の入出力インターフェース・アダプタは、例えばコンピュータ表示画面のような表示デバイス（１８０）への出力と、キーボードやマウスのようなユーザ入力デバイス（１８１）からのユーザ入力とを制御する、ソフトウェア・ドライバ及びコンピュータ・ハードウェアを介して、ユーザ指向の入出力を実行する。
【００４１】
図２の例示的なコンピュータ（１５２）は、他のコンピュータ（１８２）との間のデータ通信（１８４）を実行する通信アダプタ（１６７）を含む。このようなデータ通信は、ＲＳ‐２３２接続、ＵＳＢのような外部バス、ＩＰネットワークのようなデータ通信ネットワーク、及び当業者によって想到される他の手法を介して順次実行することが可能である。通信アダプタは、あるコンピュータが直接又はネットワークを介して別のコンピュータにデータ通信を送信するハードウェア・レベルのデータ通信を実行する。本発明の諸実施形態に係る異種データ・ソースに由来する異種データ型を対象とするデータ管理及びデータ・レンダリングに利用される通信アダプタの例としては、有線ダイヤルアップ通信用のモデム、有線ネットワーク通信用のイーサネット（ＩＥＥＥ  ８０２．３）アダプタ、及び無線ネットワーク通信用の８０２．１１ｂアダプタが挙げられる。
【００４２】
更なる説明として、図３には、本発明の諸実施形態に係る異種データ型を対象とするデータ管理及びデータ・レンダリングを行うシステムのブロック図が示されている。図３のシステムは、集約モジュール（１４４）を含む。集約モジュール（１４４）は、一般に、集約プロセスからデータ要求を受信し、当該データ要求に応答して２つ以上の異種データ・ソースのうちの１つをデータ・ソースとして識別し、当該識別されたデータ・ソースから要求データを取得し、当該要求データを集約プロセスに返すことが可能な、異種データ・ソースに由来する異種データ型のデータを集約するコンピュータ・プログラム命令である。
【００４３】
図３のシステムは、合成エンジン（１４５）を含む。合成エンジン（１４５）は、一般に、集約された異種データ型のデータを受信し、当該集約された異種データ型のデータをそれぞれテキスト・コンテンツ及び当該テキスト・コンテンツに関連するマークアップから構成される翻訳データに翻訳することが可能な、集約された異種データ型のデータを統一データ型のデータに合成するコンピュータ・プログラム命令である。
【００４４】
合成エンジン（１４５）は、集約された異種データ型のデータをそれぞれテキスト・コンテンツ及び当該テキスト・コンテンツに関連するマークアップに翻訳するコンピュータ・プログラム命令であるＶＸＭＬビルダー（２２２）モジュールを含む。合成エンジン（１４５）は、文法ビルダー（ｇｒａｍｍａｒ  ｂｕｉｌｄｅｒ）（２２４）モジュールも含む。文法ビルダー（２２４）モジュールは、テキスト・コンテンツに関連する音声マークアップの文法を生成するコンピュータ・プログラム命令である。
【００４５】
図３のシステムは、合成エンジン（１４５）によって作成された合成データをＸ＋Ｖフォーマットで記憶するためのデータ・ストレージである合成データ・レポジトリ（２２６）を含む。図３のシステムは、Ｘ＋Ｖブラウザ（１４２）を含む。Ｘ＋Ｖブラウザ（１４２）は、一般に、合成データ・レポジトリ（２２６）の合成データをユーザに提示することが可能なコンピュータ・プログラム命令である。合成データの提示手法は、合成データのグラフィック表示と合成データのオーディオ表現の両方を含むことができる。図４を参照して後述するように、合成データをユーザに提示する１つの手法は、１つ又は複数のチャネルを介して合成データを提示することによって実施することができる。
【００４６】
図３のシステムは、ディスパッチャ（１４６）モジュールを含む。ディスパッチャ（１４６）モジュールは、集約プロセスからデータ要求を受信し、当該データ要求に応答して複数の異種データ・ソースのうちの１つをデータ・ソースとして識別し、当該識別されたデータ・ソースから要求データを取得し、当該要求データを集約プロセスに返すコンピュータ・プログラム命令である。ディスパッチャ（１４６）モジュールは、集約モジュール（１４４）、合成エンジン（１４５）、及びアクション・エージェント（１５８）に関する異種データ・ソースに由来する異種データ型のデータにアクセスする。図３のシステムは、後述するようにディスパッチャ（１４６）がデータにアクセスする際に使用するデータ・ソース特有のプラグイン（１４８〜１５０、２３４〜２３６）を含む。
【００４７】
図３のシステムにおいて、データ・ソースは、ローカル・データ（２１６）及びコンテンツ・サーバ（２０２）を含む。ローカル・データ（２１６）は、自動コンピューティング・マシンのメモリ又はレジスタに格納されているデータである。図３のシステムにおいて、データ・ソースはコンテンツ・サーバ（２０２）も含む。コンテンツ・サーバ（２０２）は、ネットワーク（５０１）を介してディスパッチャ（１４６）モジュールに接続される。図３のＲＳＳサーバ（１０８）は、ＲＳＳフィードのデータ・ソースであり、ＲＳＳフィードはサーバ（１０８）からＸＭＬファイルの形で配信される。ＲＳＳは、ニュース・ウェブサイト及びウェブログで使用されるウェブ・シンジケーション用ＸＭＬファイル・フォーマット・ファミリーである。ＲＳＳという略語を使用する場合は、以下の規格、即ち、リッチ・サイト・サマリ（ＲＳＳ  ０．９１）、ＲＤＦサイト・サマリ（ＲＳＳ  ０．９、１．０、及び１．１）、及びリアリー・シンプル・シンジケーション（ＲＳＳ  ２．０）を指す。ＲＳＳフォーマットは、ウェブ・コンテンツを提供し、又はウェブ・コンテンツのサマリを当該コンテンツのフル・バージョンへのリンク及び他のメタデータと共に提供する。この情報は、ＲＳＳフィード、ウェブフィード、ＲＳＳストリーム、又はＲＳＳチャネルと呼ばれるＸＭＬファイルとして配信される。
【００４８】
図３のシステムにおいて、電子メール・サーバ（１０６）は、電子メールのデータ・ソースである。電子メール・サーバ（１０６）は、そのような電子メールをＬｏｔｕｓ  ＮＯＴＥＳファイルの形で配信する（「Ｌｏｔｕｓ  ＮＯＴＥＳ」はインターナショナル・ビジネス・マシーンズ・コーポレーションの登録商標である）。図３のシステムにおいて、カレンダー・サーバ（１０７）は、カレンダー情報のデータ・ソースである。カレンダー情報は、カレンダー・イベント及び他の関連情報を含む。カレンダー・サーバ（１０７）は、そのようなカレンダー情報をＬｏｔｕｓ  ＮＯＴＥＳファイルの形で配信する。
【００４９】
図３のシステムにおいて、ＩＢＭオンデマンド・ワークステーション（２０４）は、オン・デマンド・ワークプレイス（Ｒ）（「ＯＤＷ」）のサポートを提供するサーバであり、ＯＤＷは、生産性ツールと、他者とアイデア及び専門知識を共有し、共同作業し、情報を発見するための仮想空間とを提供する。
【００５０】
図３のシステムは、データ・ソース特有のプラグイン（１４８〜１５０、２３４〜２３６）を含む。ディスパッチャ（１４６）は、先に列挙した各データ・ソース特有のプラグインを使用してデータにアクセスする。
【００５１】
図３のシステムは、ＲＳＳアプリケーションを実行するＲＳＳサーバ（１０８）に関連するＲＳＳプラグイン（１４８）を含む。図３のＲＳＳプラグイン（１４８）は、ＲＳＳサーバ（１０８）からユーザ用のＲＳＳフィードを取得し、当該ＲＳＳフィードをＸＭＬファイルの形で集約モジュール（１４４）に提供する。
【００５２】
図３のシステムは、カレンダー・アプリケーションを実行するカレンダー・サーバ（１０７）に関連するカレンダー・プラグイン（１５０）を含む。図３のカレンダー・プラグイン（１５０）は、カレンダー・サーバ（１０７）からユーザに関するカレンダー・イベントを取得し、当該カレンダー・イベントを集約モジュール（１４４）に提供する。
【００５３】
図３のシステムは、電子メール・アプリケーションを実行する電子メール・サーバ（１０６）に関連する電子メール・プラグイン（２３４）を含む。図３の電子メール・プラグイン（２３４）は、電子メール・サーバ（１０６）からユーザに関する電子メールを取得し、当該電子メールを集約モジュール（１４４）に提供する。
【００５４】
図３のシステムは、オンデマンド・ワークステーション（「ＯＤＷ」）アプリケーションを実行するＯＤＷサーバ（２０４）に関連するＯＤＷプラグイン（２３６）を含む。図３のＯＤＷプラグイン（２３６）は、ＯＤＷサーバ（２０４）からユーザに関するＯＤＷデータを取得し、当該ＯＤＷデータを集約モジュール（１４４）に提供する。
【００５５】
図３のシステムは、アクション・ジェネレータ・モジュール（１５９）も含む。アクション・ジェネレータ・モジュール（１５９）は、一般に、ユーザ命令を受信し、当該ユーザ命令に応答して合成データを選択し、当該ユーザ命令及び選択されたデータに従ってアクションを選択することが可能な、合成データに従ってアクション・レポジトリ（２４０）からアクションを識別するコンピュータ・プログラム命令である。
【００５６】
アクション・ジェネレータ・モジュール（１５９）は、組み込みサーバ（２４４）を含む。組み込みサーバ（２４４）は、Ｘ＋Ｖブラウザ（１４２）を介してユーザ命令を受信する。アクション・レポジトリ（２４０）からアクションが識別されると、アクション・ジェネレータ・モジュール（１５９）は、アクション・エージェント（１５８）を利用して当該アクションを実行する。図３のシステムは、アクション・エージェント（１５８）を含む。アクション・エージェント（１５８）は、一般に、アクションを実行することが可能なアクション実行用のコンピュータ・プログラム命令である。
【００５７】
更なる説明として、図４には、本発明の諸実施形態に係る異種データ型を対象とするデータ管理及びデータ・レンダリングを行う例示的な方法のフローチャートが示されている。図４の方法は、異種データ・ソース（４０４、４１０）に由来する異種データ型（４０２、４０８）のデータを集約するステップ（４０６）を含む。上述のように、異種データ型の集約データとは、単一の場所に蓄積された異なる型のデータを指す。そのような集約データの蓄積場所は、例えば集約データが格納される単一のコンピュータ上といった物理的な場所であっても、例えば集約データへのアクセスを提供する単一のインターフェース上といった論理的な場所であってもよい。
【００５８】
図４の方法に係る異種データ・ソース（４０４、４１０）に由来する異種データ型（４０２、４０８）のデータを集約するステップ（４０６）は、図５を参照して以下でより詳細に論じるように、集約プロセスからデータ要求を受信し、当該データ要求に応答して２つ以上の異種データ・ソースのうちの１つをデータ・ソースとして識別し、当該識別されたデータ・ソースから要求データを取得し、当該要求データを集約プロセスに返すことによって実施することができる。
【００５９】
図４の方法は、異種データ型の集約データ（４１２）を統一データ型のデータに合成するステップ（４１４）も含む。統一データ型のデータとは、所定のタイプのフォーマットで作成されたデータ又は当該フォーマットに翻訳されたデータを指す。即ち、統一データ型とは、当該統一データ型のデータをレンダリングすることが可能なデバイス上でレンダリングされ得る単一の種類のデータを指す。有利なことに、異種データ型の集約データ（４１２）を統一データ型のデータに合成するステップ（４１４）によって、異種データ・ソースから取得された異種データの集約コンテンツに対する単一ポイント・アクセスが実現される。
【００６０】
異種データ型の集約データ（４１２）を統一データ型のデータに合成するステップ（４１４）で利用される統一データ型の一例は、「ＸＨＴＭＬ  ｐｌｕｓ  Ｖｏｉｃｅ」である。「ＸＨＴＭＬ  ｐｌｕｓ  Ｖｏｉｃｅ」（「Ｘ＋Ｖ」）は、音声マークアップを用いてプレゼンテーション層における音声を有効化することによってマルチモーダル・アプリケーションを開発するためのウェブ・マークアップ言語である。Ｘ＋Ｖは、音声要素と視覚要素の両方を使用して小型モバイル・デバイスにおける音声ベースのインタラクションを実現するものである。Ｘ＋Ｖは、ＸＨＴＭＬ、ＶｏｉｃｅＸＭＬ、及びＸＭＬ Ｅｖｅｎｔｓという３つの主な規格から構成される。ウェブ・アプリケーション環境がイベント駆動である場合には、ＸＭＬ Ｅｖｅｎｔｓ規格で使用されるドキュメント・オブジェクト・モデル（ＤＯＭ）イベント・フレームワークがＸ＋Ｖに組み込まれることになる。このフレームワークを使用して、Ｘ＋Ｖは、視覚マークアップと音声マークアップとの間の対応関係を作成するために一般的なＨＴＭＬに由来するイベント型を定義する。
【００６１】
異種データ型の集約データ（４１２）を統一データ型のデータに合成するステップ（４１４）は、図９を参照して以下でより詳細に論じるように、集約された異種データ型のデータを受信し、当該集約された異種データ型のデータをそれぞれテキスト・コンテンツ及び当該テキスト・コンテンツに関連するマークアップに翻訳することによって実施することができる。図４の方法において、異種データ型の集約データ（４１２）を統一データ型のデータに合成するステップは、集約データをＸ＋Ｖあるいは当業者によって想到される他の任意のマークアップ言語に翻訳することによって実施することができる。
【００６２】
図４に示されるデータ管理及びデータ・レンダリングを行う方法は、合成データ（４１６）に従ってアクションを識別するステップ（４１８）も含む。アクションとは、実行時に事前定義タスクを実施する１組のコンピュータ命令を指す。アクションは合成データに従って直ちに実行することも、後の所定のタイミングで実行することもできる。合成データ（４１６）に従ってアクションを識別するステップ（４１８）は、ユーザ命令を受信し、当該ユーザ命令に応答して合成データを選択し、当該ユーザ命令及び選択されたデータに従ってアクションを選択することによって実施することができる。
【００６３】
ユーザ命令とは、ユーザ行動に応じて受信されるイベントを指す。例示的なユーザ命令としては、ユーザがキーボード又はキーパッドを使用してキーストロークの組合せを入力した結果発生するイベントを受信すること、ユーザから音声を受信すること、マウスを使用して視覚ディスプレイ上のアイコンをクリックした結果発生するイベントを受信すること、ユーザがタッチパッド上のアイコンを押下した結果発生するイベントを受信すること、あるいは当業者によって想到される他のユーザ命令を受信することが挙げられる。ユーザ命令の受信は、ユーザから音声を受信し、当該音声をテキストに変換し、当該テキスト及び文法に従ってユーザ命令を判定することによって実施することができる。別法として、ユーザ命令の受信は、ユーザから音声を受信し、当該音声及び文法に従ってユーザ命令を判定することによって実行することもできる。
【００６４】
図４の方法は、識別されたアクション（４２０）を実行するステップ（４２４）も含む。識別されたアクション（４２０）を実行するステップ（４２４）は、合成データに従って識別されたアクション・オブジェクト内のメンバ・メソッドを呼び出し、当該識別されたアクションを実施するコンピュータ・プログラム命令を実行することによって実施することができ、また、当業者によって想到される識別されたアクションを実行する他の手法によって実施することもできる。識別されたアクション（４２０）を実行するステップ（４２４）は更に、アクションを実施する上で必要となる通信ネットワークの使用可能性を判定するステップと、通信ネットワークが使用可能である場合にだけアクションを実行するステップと、通信ネットワーク接続が使用可能でない場合にアクションの実行を延期するステップと、を含むこともできる。通信ネットワーク接続が使用可能でない場合にアクションの実行を延期するステップは、識別されたアクションをアクション・キューに入れるステップと、通信ネットワークが使用可能になるまでアクションを記憶するステップと、その後、識別されたアクションを実行するステップと、を含むことができる。識別されたアクション（４２０）の実行を待機させる別の手法は、アクションを描写する入力をコンテナに挿入し、その後当該コンテナを処理することによって実施することができる。コンテナは、アクションを描写する入力、例えばＸＭＬファイル等を記憶するのに適した任意のデータ構造とすることができる。
【００６５】
識別されたアクション（４２０）を実行するステップ（４２４）は、異種データ・ソースのうちの１つに関するデータ・コンテンツを修正するステップを含むことができる。例えば、deleteOldEmail()と呼ばれるアクションは、実行時に電子メールから翻訳された合成データを削除するだけでなく、本発明に従って動作するデータ管理及びデータ・レンダリング・モジュールとデータ通信を行うように結合された電子メール・サーバ上に記憶されている原本にあたる電子メール（ｏｒｉｇｉｎａｌ  ｓｏｕｒｃｅ  ｅｍａｉｌ）も削除することになる。
【００６６】
図４の方法は、合成データ（４１６）をチャネル化するステップ（４２２）も含む。チャネルとは、ユーザに提示するために論理的に集約されたデータ・コンテンツを指す。合成データ（４１６）をチャネル化するステップ（４２２）は、合成データの属性を識別し、合成データの属性を特徴付け、特徴付けられた属性及びチャネル割り当て規則に従ってデータを所定のチャネルに割り当てることによって実施することができる。有利なことに、合成データ（４１６）をチャネル化するステップによって、関連コンテンツをユーザに提示する手段（ｖｅｈｉｃｌｅ）が提供される。このようにチャネル化されるデータの例としては、仕事に関するコンテンツのチャネルを提供する「仕事チャネル（ｗｏｒｋ  ｃｈａｎｎｅｌ）」、娯楽コンテンツのチャネルを提供する「娯楽チャネル（ｅｎｔｅｒｔａｉｎｍｅｎｔ  ｃｈａｎｎｅｌ）」、及び当業者によって想到される他のチャネルが挙げられる。
【００６７】
図４の方法は、合成データ（４１６）を１つ又は複数のチャネルを介してユーザに提示するステップ（４２６）を含むこともできる。合成データ（４１６）を１つ又は複数のチャネルを介してユーザに提示するステップ（４２６）の１つの手法は、使用可能なチャネルのサマリ又は見出しを提示することによって実施することができる。各チャネルを介して提示されるコンテンツには、合成データ（４１６）にアクセスするために提示される上記のサマリ又は見出しを介してアクセスすることができる。合成データ（４１６）を１つ又は複数のチャネルを介してユーザに提示するステップ（４２６）の別の手法は、当該チャネルに含まれる合成データ（４１６）を表示又は再生することによって実施することができる。テキストは、視覚的に表示することも模擬音声に翻訳してユーザに再生することもできる。
【００６８】
更なる説明として、図５には、本発明の諸実施形態に係る異種データ・ソースに由来する異種データ型のデータを集約する例示的な方法のフローチャートが示されている。図５の方法において、異種データ・ソース（４０４、５２２）に由来する異種データ型（４０２、４０８）のデータを集約するステップ（４０６）は、集約プロセス（５０２）からデータ要求（５０８）を受信するステップ（５０６）を含む。データ要求は、集約プロセスからディスパッチャに対して要求データの取得を開始するよう指示し当該要求データを集約プロセスに返すよう指示するメッセージとして実施することができる。
【００６９】
図５の方法において、異種データ・ソース（４０４、５２２）に由来する異種データ型（４０２、４０８）のデータを集約するステップ（４０６）は、データ要求（５０８）に応答して複数の異種データ・ソース（４０４、５２２）のうちの１つをデータ・ソースとして識別するステップ（５１０）も含む。データ要求（５０８）に応答して複数の異種データ・ソース（４０４、５２２）のうちの１つをデータ・ソースとして識別するステップ（５１０）は、いくつかの手法で実施することができる。複数の異種データ・ソース（４０４、５２２）のうちの１つをデータ・ソースとして識別するステップ（５１０）の１つの手法は、図７を参照して以下でより詳細に論じるように、異種データ・ソースの識別をユーザから受信し、当該識別に従って集約プロセスに対して異種データ・ソースを識別することによって実施することができる。
【００７０】
集約プロセス（５０２）に対して異種データ・ソース異種データ・ソースを識別するステップ（５１０）の別の手法は、図８を参照して以下でより詳細に論じるように、データ要求からデータ型情報を識別し、データ型に対応するデータの出所をデータ・ソース・テーブルから識別することによって実施される。複数のデータ・ソースのうちの１つを識別する更に別の手法は、データ要求からデータ型情報を識別し、当該データ型情報に従ってデータ・ソースを検索し、データ・ソース検索で返された検索結果からデータ型に対応するデータの出所を識別することによって実施される。
【００７１】
本明細書に記載される複数のデータ・ソースのうちの１つを識別する３つの方法は説明上のものであり、限定的なものではない。実際には複数のデータ・ソースのうちの１つを識別する様々な手法が存在し、そのような手法は全て本発明の範囲に含まれる。
【００７２】
図５のデータを集約（４０６）する方法は、識別されたデータ・ソース（５２２）から要求データ（５１４）を取得するステップ（５１２）を含む。識別されたデータ・ソース（５２２）から要求データ（５１４）を取得するステップ（５１２）は、図６を参照して以下でより詳細に論じるように、識別されたデータ・ソースが要求データを取得するためのデータ・アクセス情報を必要とするかどうかを判定するステップと、識別されたデータ・ソースが要求データを取得するためのデータ・アクセス情報を必要とする場合に、当該データ・アクセス情報をデータ要求に含まれるデータ要素に従って取得するステップと、当該データ・アクセス情報を識別されたデータ・ソースに提示するステップと、を含む。図５の方法に従って要求データを取得するステップ（５１２）は、当該データをローカルのメモリから取得し、当該データをネットワーク・ロケーションからダウンロードすることによって実施することができ、また、当業者によって想到される要求データを取得する他の任意の手法によって実施することもできる。上述のように、識別されたデータ・ソース（５２２）から要求データ（５１４）を取得するステップ（５１２）は、特定のデータ・ソース又は特定のタイプのデータ・ソースからデータを取得するように設計されたデータ・ソース特有のプラグインによって実施することができる。
【００７３】
図５の方法において、異種データ・ソース（４０４、５２２）に由来する異種データ型（４０２、４０８）のデータを集約するステップ（４０６）は、要求データ（５１４）を集約プロセス（５０２）に返すステップ（５１６）も含む。要求データ（５１４）を集約プロセス（５０２）に返すステップ（５１６）は、要求データをメッセージの形で集約プロセスに返し、当該データをローカルに記憶し、当該記憶されたデータの場所を指すポインタを集約プロセスに返すことによって実施することができ、また、当業者によって想到される要求データを返す他の任意の手法によって実施することもできる。
【００７４】
図５を参照して上述したように、図５のデータを集約するステップ（４０６）は、識別されたデータ・ソースから要求データを取得するステップを含む。したがって、更なる説明として、図６には、本発明の諸実施形態に係る識別されたデータ・ソース（５２２）から要求データ（５１４）を取得（５１２）する例示的な方法のフローチャートが示されている。図６の方法において、識別されたデータ・ソース（５２２）から要求データ（５１４）を取得するステップ（５１２）は、識別されたデータ・ソース（５２２）が要求データ（５１４）を取得するためのデータ・アクセス情報（９１４）を必要とするかどうかを判定するステップ（９０４）を含む。図５を参照して上述したように、データ・アクセス情報とは、複数の異種データ・ソースのうちのいくつかに由来する複数のタイプのデータにアクセスする上で必要となる情報を指す。例示的なデータ・アクセス情報としては、アカウント名、アカウント番号、パスワード、又は当業者によって想到される他の任意のデータ・アクセス情報が挙げられる。
【００７５】
識別されたデータ・ソース（５２２）が要求データ（５１４）を取得するためのデータ・アクセス情報（９１４）を必要とするかどうかを判定するステップ（９０４）は、識別されたデータ・ソースからデータを取得するよう試み、当該データを取得するのに必要なデータ・アクセス情報に関するプロンプトをデータ・ソースから受信することによって実施することができる。別法として、識別されたデータ・ソース（５２２）が要求データ（５１４）を取得するためのデータ・アクセス情報（９１４）を必要とするかどうかを判定するステップ（９０４）は、データ・ソースからデータを取得する度にプロンプトを受信するのではなく、データ要求が行われた場合に必要とされるデータ・アクセス情報をプロンプトを出さずにデータ・ソースに提供することができるような形でユーザによって実施され、その後、処理をディスパッチャに引き継ぐ形をとることも可能である。そのようなデータ・アクセス情報は、例えば識別されたデータ・ソースからデータにアクセスする上で必要となるデータ・アクセス情報に対応する任意のデータを識別するデータ・ソース・テーブルに格納することができる。
【００７６】
図６の方法において、識別されたデータ・ソース（５２２）から要求データ（５１４）を取得するステップ（５１２）は、識別されたデータ・ソースが要求データを取得するためのデータ・アクセス情報（９１４）を必要とする場合（９０８）に、当該データ・アクセス情報をデータ要求（５０８）に含まれるデータ要素（９１０）に従って取得するステップ（９１２）も含む。データ要求（５０８）に含まれるデータ要素（９１０）は、典型的にはデータ要求（５０８）の属性に関する値である。そのような値としては、アクセス対象データの型を識別する値、要求データに関する異種データ・ソースの場所を識別する値、あるいはデータ要求の属性に関する他の任意の値を挙げることができる。
【００７７】
データ要求（５０８）に含まれるそのようなデータ要素（９１０）は、異種データ・ソースからデータを取得する上で必要となるデータ・アクセス情報を取得する際に役立つ。ユーザがデータ・ソースにアクセスする上で必要となるデータ・アクセス情報は有益なことに、データ・ソースから送られる全てのデータ要求で発見されるデータ要素によって索引付けした上で、ユーザに関連するレコードに格納することができる。したがって、図６に係るデータ・アクセス情報（９１４）をデータ要求（５０８）に含まれるデータ要素（９１０）に従って取得するステップ（９１２）は、要求内の１つ又は複数のデータ要素に従ってデータ・アクセス情報を含むレコードをデータベースから取得し、当該レコードからデータ・アクセス情報を抽出することによって実施することができる。そのようなデータ・アクセス情報をデータ・ソースに提供することにより、データを取得することが可能となる。
【００７８】
識別されたデータ・ソースが要求データ（５１４）を取得するためのデータ・アクセス情報（９１４）を必要とする場合（９０８）に、データ・アクセス情報（９１４）をデータ要求（５０８）に含まれるデータ要素（９１０）に従って取得するステップ（９１２）は、データ要求（５０８）に含まれるデータ要素（９１０）を識別し、当該データ要素の構文解析を行って要求データ（５１４）を取得するのに必要なデータ・アクセス情報（９１４）を識別し、データ・アクセス・テーブル内の正しいデータ・アクセス情報を識別し、データ・アクセス情報（９１４）を取得することによって実施することができる。
【００７９】
識別されたデータ・ソース（５２２）から要求データ（５１４）を取得（５１２）する図６の例示的な方法は、データ・アクセス情報（９１４）を識別されたデータ・ソース（５２２）に提示するステップ（９１６）も含む。図６の方法に係るデータ・アクセス情報（９１４）を識別されたデータ・ソース（５２２）に提示するステップ（９１６）は、データ・アクセス情報をデータ要求に対するパラメータとしてデータ要求に含めることによって、あるいはデータ・ソースから出されるデータ・アクセス情報に関するプロンプトに応答してデータ・アクセス情報を提供することによって実施することができる。即ち、データ・アクセス情報（９１４）を識別されたデータ・ソース（５２２）に提示するステップ（９１６）は、そのようなデータ・アクセス情報に関するプロンプトに応答して識別されたデータ・ソース（５２２）に関するデータ・アクセス情報（９１４）を提供する、選択されたデータ・ソース特有のディスパッチャ・プラグインによって実施することができる。別法として、データ・アクセス情報（９１４）を識別されたデータ・ソース（５２２）に提示するステップ（９１６）は、識別されたデータ・ソース（５２２）に関して要求されたデータ・アクセス情報（９１４）を、プロンプトを出さずにパラメータとして引き渡す処理を行う、選択されたデータ・ソース特有のディスパッチャ・プラグインによって実施することもできる。
【００８０】
上述のように、本発明の諸実施形態に係る異種データ・ソースに由来する異種データ型のデータを集約するステップは、典型的には集約プロセスに対して異種データ・ソースを識別するステップを含む。即ち、典型的には特定のデータ・ソースにデータを要求する前に、集約プロセスに対してデータ・ソースが識別される。したがって、更なる説明として、図７には、本発明に係る異種データ・ソース（４０４、５２２）に由来する異種データ型（４０２、４０８）のデータを集約する例示的な方法のフローチャートが示されている。図７の方法は、集約プロセス（５０２）に対して異種データ・ソース（１００８）を識別するステップ（１００６）を含む。図７の方法において、集約プロセス（５０２）に対して異種データ・ソース（１００８）を識別するステップ（１００６）は、ユーザから異種データ・ソースの選択（１００４）を受信するステップ（１００２）を含む。ユーザは、典型的には本発明に係るデータ管理及びデータ・レンダリング・システムを使用して異種データ・ソース（１００８）に由来する異種データ型（４０２、４０８）のデータを管理し、レンダリングする人物である。ユーザから異種データ・ソースの選択（１００４）を受信するステップ（１００２）は、データ管理及びデータ・レンダリング・アプリケーションのユーザ・インターフェースを介して、異種データ・ソースの選択を含むユーザ命令をユーザから受信するステップと、当該選択（１００４）に従って集約プロセス（５０２）に対して異種データ・ソース（４０４、５２２）を識別するステップ（１００９）と、によって実施することができる。ユーザ命令とは、ユーザがキーボード又はキーパッドを使用してキーストロークの組合せを入力した結果発生するイベント、ユーザから音声を受信するイベント、マウスを使用した視覚ディスプレイ上のアイコンのクリック操作を受信するイベント、タッチパッド上のアイコンを押下するイベント、当業者によって想到される他のユーザ行動等、ユーザ行動に応じて受信されるイベントを指す。データ管理及びデータ・レンダリング・アプリケーションにおけるユーザ・インターフェースは有益なことに、特定のデータ・ソースのユーザ選択を受信する手段を提供することができる。
【００８１】
図７の例において、集約プロセスに対して異種データ・ソースを識別するステップはユーザによって実施される。異種データ・ソースを識別するステップは、ユーザの介入を殆ど必要としない又は全く必要としないプロセスによって実施することもできる。更なる説明として、図８には、ユーザ・アクションを殆ど必要とせずに又は全く必要とせずに、異種データ・ソースに由来する異種データ型のデータを集約する例示的な方法のフローチャートが示されている。図８の方法は、集約プロセス（５０２）に対して異種データ・ソース（１００８）を識別するステップ（１００６）を含み、当該ステップは、データ要求（５０８）からデータ型情報（１１０６）を識別するステップ（１１０２）を含む。異種データ型は、互いに種類及び形式が異なるデータを識別する。即ち、異種データ型とは、種類が異なるデータを指す。異種データ型を定義するデータの区別手法としては、データ構造、ファイル形式、及びデータ伝送プロトコルの違い、ならびに当業者によって想到される他の区別手法を挙げることができる。データ型情報（１１０６）とは、異種データ型を定義するデータの区別手法を表現する情報を指す。
【００８２】
図８の方法に係るデータ要求（５０８）からデータ型情報（１１０６）を識別するステップ（１１０２）は、データ要求からデータ型コードを抽出することによって実施することができる。別法として、データ要求（５０８）からデータ型情報（１１０６）を識別するステップ（１１０２）は、例えばデータ要求（５０８）からデータ要素を抽出し、それらのデータ要素から要求データのデータ型を推論する等、データ要求（５０８）自体によって要求されているデータのデータ型を推論することによって実施することができ、また、当業者によって想到される他の手法によって実施することもできる。
【００８３】
図８の集約方法において、集約プロセス（５０２）に対して異種データ・ソースを識別するステップ（１００６）は、データ・ソース・テーブル（１１０４）からデータ型に対応するデータ・ソース（１１１６）を識別するステップ（１１１０）も含む。データ・ソース・テーブルとは、異種データ・ソースから取得されたデータのデータ型によって索引付けされた異種データ・ソースの識別を含むテーブルを指す。データ・ソース・テーブル（１１０４）からデータ型に対応するデータ・ソース（１１１６）を識別するステップ（１１１０）は、識別されたデータ型に従ってデータ・ソース・テーブル上の照合を実行することによって実施することができる。
【００８４】
場合によっては、データ型に関するデータ・ソースが発見されないことも、異種データ・ソースを識別するデータ・ソース・テーブルが使用できないこともある。したがって、図８の方法には、データ型情報（１１０６）に従ってデータ・ソースを検索するステップ（１１０８）と、データ・ソース検索で返された検索結果（１１１２）からデータ型（１１１６）に対応するデータの出所を識別するステップ（１１１４）と、を含む、集約プロセス（５０２）に対して異種データ・ソースを識別（１００６）する別の方法も含まれる。データ型情報（１１０６）に従ってデータ・ソースを検索するステップ（１１０８）は、データ型情報に従って検索エンジン・クエリを作成し、作成されたクエリを用いて検索エンジンを照会することによって実施することができる。検索エンジンの照会は、例えばＨＴＴＰ  ＧＥＴ又はＨＴＴＰ  ＰＯＳＴ関数を介して検索エンジンに引き渡される、ＵＲＬ符号化データ（ＵＲＬ  ｅｎｃｏｄｅｄ  ｄａｔａ）を使用して実施することができる。ＵＲＬ符号化データとは、データ通信、この例では検索エンジンにクエリを引き渡すデータ通信を行うためにＵＲＬの形でパッケージングされるデータを指す。ＨＴＴＰ通信の場合では、しばしばＨＴＴＰ  ＧＥＴ及びＰＯＳＴ関数を使用してＵＲＬ符号化データの送信が行われる。この文脈では、ＵＲＬがファイル転送要求だけに使用されるわけではないことを思い出していただきたい。ＵＲＬにはサーバ上のリソースを識別する役割も有する。そのようなリソースとしてはファイル名を有するファイルが挙げられるが、ＵＲＬで識別されるリソースには、例えばデータベース照会等も含まれる。そのような照会の結果は必ずしもファイル内に所在するわけではなく、ＵＲＬで識別され検索エンジンで識別されるデータ・リソース、及びそのようなリソースを生成するクエリ・データである場合もある。以下にＵＲＬ符号化データの一例を示す。
http://www.example.com/search?field1=value1&field2=value2
【００８５】
上記のＵＲＬ符号化データの一例は、ウェブを介して検索エンジンに送信されるクエリの代表例である。より具体的には、上記の例は、検索エンジンに対する「field1=value1&field2=value2」という文字列のクエリを表現する符号化データを含むＵＲＬである。例示的な符号化方法としては、フィールド名及びフィールド値を「&」及び「=」で区切って文字列化し、当該文字列を、ＵＲＬに「search」を含めることによってクエリとして符号化するよう指定する方法がある。上記の例示的なＵＲＬ符号化検索クエリは説明上のものであり、限定的なものではない。実際、クエリをデータ符号化ＵＲＬの形で表現する際は検索エンジンによって使用される構文規則が異なる可能性があり、したがって、データ符号化の特定の構文規則は照会対象となる特定の検索エンジンに応じて異なる可能性がある。
【００８６】
データ・ソース検索で返された検索結果（１１１２）からデータ型（１１１６）に対応するデータ・ソースを識別するステップ（１１１４）は、検索エンジンから返された検索結果ページ内のハイパーリンクからデータ・ソースのＵＲＬを取得することによって実施することができる。
【００８７】
上述のように、異種データ型を対象とするデータ管理及びデータ・レンダリングは、異種データ型の集約データを統一データ型のデータに合成するステップを含む。更なる説明として、図９には、異種データ型の集約データ（４１２）を統一データ型のデータに合成（４１４）する方法のフローチャートが示されている。上述のように、異種データ型の集約データ（４１２）とは、単一の場所に蓄積された異なる型のデータを指す。そのような集約データの蓄積場所は、例えば集約データが格納される単一のコンピュータ上といった物理的な場所であっても、例えば集約データへのアクセスを提供する単一のインターフェース上といった論理的な場所であってもよい。上述のように、異種データ型とは、互いに種類及び形式が異なるデータを指す。即ち、異種データ型とは、種類が異なるデータを指す。統一データ型のデータとは、所定のタイプのフォーマットで作成されたデータ又は当該フォーマットに翻訳されたデータを指す。即ち、統一データ型とは、当該統一データ型のデータをレンダリングすることが可能なデバイス上でレンダリングされ得る単一の種類のデータを指す。有利なことに、異種データ型の集約データ（４１２）を統一データ型のデータに合成するステップ（４１４）によって、異種データのコンテンツを単一のデバイス上にレンダリングすることが可能となる。
【００８８】
図９の方法において、異種データ型の集約データ（４１２）を統一データ型のデータに合成するステップ（４１４）は、異種データ型の集約データを受信するステップ（６１２）を含む。異種データ型の集約データ（４１２）を受信するステップ（６１２）は、統一データ型に合成される異種ソースに由来する異種データ型のデータを、異種データが蓄積されている集約プロセスから受信することによって実施することができる。
【００８９】
図９の合成方法において、異種データ型（６１０）の集約データ（４０６）を統一データ型のデータに合成するステップ（４１４）は、異種データ型の集約データ（６１０）をそれぞれテキスト（６１７）コンテンツ及び当該テキスト・コンテンツに関連するマークアップ（６１９）に翻訳するステップ（６１４）も含む。図９の方法に係る異種データ型の集約データ（６１０）をそれぞれテキスト（６１７）コンテンツ及び当該テキスト・コンテンツに関連するマークアップ（６１９）に翻訳するステップ（６１４）は、テキスト及びマークアップをレンダリングすることが可能なブラウザが、集約データに含まれるコンテンツの合成処理を行う前に、翻訳データに基づいて当該コンテンツと同一のコンテンツをレンダリングすることができるように、集約データのコンテンツをテキスト及びマークアップの形で表現するステップを含む。
【００９０】
図９の方法において、異種データ型の集約データ（６１０）をそれぞれテキスト（６１７）コンテンツ及びマークアップ（６１９）に翻訳するステップ（６１４）は、図１０を参照して以下でより詳細に論じるように、テキスト、マークアップ、文法等を含む集約データのＸ＋Ｖドキュメントを作成することによって実施することができる。Ｘ＋Ｖは説明上使用するものであって、限定的なものではない。実際、本発明に係る異種データ型（６１０）の集約データ（４０６）を統一データ型のデータに合成するステップ（４１４）を実施する際は、ＸＭＬ、ＶＸＭＬ、あるいは当業者によって想到される他の任意のマークアップ言語等、他のマークアップ言語を利用することもできる。
【００９１】
テキスト及びマークアップをレンダリングすることが可能なブラウザが、集約データに含まれるコンテンツの合成処理を行う前に、翻訳データに基づいて当該コンテンツと同一のコンテンツをレンダリングすることができるように、異種データ型の集約データ（６１０）をそれぞれテキスト（６１７）コンテンツ及びマークアップ（６１９）に翻訳するステップ（６１４）は、コンテンツを翻訳時に何らかの手法で増補（ａｕｇｍｅｎｔ）するステップを含むことができる。即ち、集約データの型をテキスト及びマークアップに翻訳することにより、データ・コンテンツに何らかの修正が施されることもあり、また、正しく翻訳することができない何らかのコンテンツが削除されることもある。そのような修正及び削除の程度は、翻訳されるデータの型ならびに当業者によって相当される他の要因に応じて異なる。異種データ型の集約データ（６１０）をそれぞれテキスト（６１７）コンテンツ及び当該テキスト・コンテンツに関連するマークアップ（６１９）に翻訳するステップ（６１４）は、集約データをテキスト及びマークアップに翻訳し、翻訳されたコンテンツをデータ型に従って構文解析することによって実施することができる。翻訳されたコンテンツをデータ型に従って構文解析することは、即ち、翻訳されたコンテンツの構造を識別し、コンテンツ自体の各側面を識別し、識別された構造及びコンテンツを表現するマークアップ（６１９）を作成することを指す。
【００９２】
更なる説明として、「president（大統領）」について記述するオーディオ・クリップの断片を示す以下のマークアップ言語について検討する。
<head> original file type= ‘MP3’ keyword = ‘president’number = ‘50’, keyword = ‘air force’ number = ‘1’ keyword = ‘white house’number =’2’ >
</head>
<content>
大統領に関するコンテンツ
</content>
【００９３】
上記の例では、ＭＰ３オーディオ・ファイルがテキスト及びマークアップに翻訳されている。上記の例のヘッダーは、ＭＰ３オーディオ・ファイルから翻訳された翻訳データを識別する。上記の例のヘッダーは更に、翻訳ドキュメント（ｔｒａｎｓｌａｔｅｄ  ｄｏｃｕｍｅｎｔ）のコンテンツに含まれるキーワード及びそれらのキーワードの出現頻度を含む。上記の例の翻訳データは、「大統領に関するコンテンツ」として識別されるコンテンツも含む。
【００９４】
上述のように、合成データに役立つ統一データ型の１つは、「ＸＨＴＭＬ  ｐｌｕｓ  Ｖｏｉｃｅ」である。「ＸＨＴＭＬ  ｐｌｕｓ  Ｖｏｉｃｅ」（「Ｘ＋Ｖ」）は、音声マークアップを用いて音声を有効化することによってマルチモーダル・アプリケーションを開発するためのウェブ・マークアップ言語である。Ｘ＋Ｖは、音声要素と視覚要素の両方を使用して各種デバイスにおける音声ベースのインタラクションを実現するものである。本発明の諸実施形態に係るデータ管理及びデータ・レンダリングに関する音声による合成データの有効化は、典型的には合成データのテキスト・コンテンツ用の文法セットを作成することによって実施される。文法とは、発話可能な１組の単語、それらの単語の発話可能パターン、又は音声認識エンジンによって認識される音声を定義する他の言語要素を指す。そのような音声認識エンジンは、データ管理及びレンダリング・エンジンが合成データの音声ナビゲーション及び音声インタラクションをユーザに提供する際に役立つ。
【００９５】
したがって、更なる説明として、図１０には、異種データ型の集約データ（４１２）を統一データ型のデータに合成（４１４）する方法のフローチャートが示されている。図１０の方法は、ユーザとの音声インタラクションを提供する、合成データのテキスト・コンテンツ用の文法セットを動的に作成するステップを含む。図１０の方法に係る異種データ型の集約データ（４１２）を統一データ型のデータに合成するステップ（４１４）は、異種データ型の集約データ（４１２）を受信するステップ（６１２）を含む。上述のように、異種データ型の集約データ（４１２）を受信するステップ（６１２）は、統一データ型に合成される異種ソースに由来する異種データ型のデータを、異種データが蓄積されている集約プロセスから受信することによって実施することができる。
【００９６】
図１０の方法に係る異種データ型の集約データ（４１２）を統一データ型のデータに合成するステップ（４１４）は、異種データ型の集約データ（４１２）をそれぞれテキスト・コンテンツ及び当該テキスト・コンテンツに関連するマークアップを含む翻訳データ（１２０４）に翻訳するステップ（６１４）も含む。上述のように、異種データ型の集約データ（４１２）をそれぞれテキスト・コンテンツ及び当該テキスト・コンテンツに関連するマークアップに翻訳するステップ（６１４）は、テキスト及びマークアップをレンダリングすることが可能なブラウザが、集約データに含まれるコンテンツの合成処理を行う前に、翻訳データに基づいて当該コンテンツと同一のコンテンツをレンダリングすることができるように、集約データのコンテンツをテキスト及びマークアップの形で表現するステップを含む。テキスト及びマークアップをレンダリングすることが可能なブラウザが、集約データに含まれるコンテンツの合成処理を行う前に、翻訳データに基づいて当該コンテンツと同一のコンテンツをレンダリングすることができるように、異種データ型の集約データ（４１２）をテキスト・コンテンツ及びマークアップに翻訳するステップ（６１４）は、場合によっては、当業者によって想到されるように、翻訳されるコンテンツの一部を増補又は削除するステップを含むこともできる。
【００９７】
図１０の方法において、異種データ型の集約データ（４１２）をそれぞれテキスト・コンテンツ及びマークアップを含む翻訳データ（１２０４）に翻訳するステップ（１２０２）は、以下でより詳細に論じるように、テキスト、マークアップ、文法等を含む合成データのＸ＋Ｖドキュメントを作成することによって実施することができる。Ｘ＋Ｖは説明上使用するものであって、限定的なものではない。実際、異種データ型の集約データ（４１２）をそれぞれテキスト・コンテンツ及び当該テキスト・コンテンツに関連するマークアップを含む翻訳データ（１２０４）に翻訳（１２０４）する際は、当業者によって想到される他のマークアップ言語を利用することもできる。
【００９８】
異種データ型の集約データ（４１２）を統一データ型のデータに合成（４１４）する図１０の方法は、テキスト・コンテンツ用の文法セット（１２１６）を動的に作成するステップ（１２０６）を含むことができる。上述のように、文法とは、発話可能な１組の単語、それらの単語の発話可能パターン、又は音声認識エンジンによって認識される音声を定義する他の言語要素を指す。
【００９９】
図１０の方法において、テキスト・コンテンツ用の文法セット（１２１６）を動的に作成するステップ（１２０６）は更に、コンテンツ又は論理構造を決定する翻訳データ（１２０４）内のキーワード（１２１０）を識別するステップ（１２０８）と、当該識別されたキーワードを翻訳データに関連する文法に含めるステップと、を含む。コンテンツを決定するキーワードとは、データ・コンテンツのトピックを定義する単語又はフレーズ、及びデータ・コンテンツを提示する情報を指す。論理構造を決定するキーワードとは、データ・コンテンツ情報の提示形式を示すキーワードを指す。論理構造の例としては、植字構造、階層構造、関係構造、及び当業者によって想到される他の論理構造が挙げられる。
【０１００】
コンテンツを決定する翻訳データ（１２０４）内のキーワード（１２１０）を識別するステップ（１２０８）は、テキスト内の登場頻度が何らかの事前定義閾値を上回る単語を翻訳テキスト（ｔｒａｎｓｌａｔｅｄ  ｔｅｘｔ）内で検索することによって実施することができる。所定の閾値は偶然に発生し得ない使用頻度として確立されるので、単語頻度が閾値を上回る場合には、その単語が翻訳テキストのコンテンツに関係することを意味する。別法として、閾値は、静的な値ではなく関数として確立することもできる。そのような場合には、翻訳テキスト内の単語頻度と、それよりも遥かに大きなコーパスから統計的に導出される予測頻度とを比較する統計的検定を利用して、翻訳テキスト内の単語頻度に関する閾値の値を動的に確立することができる。このような大きなコーパスは一般的な言語使用の参照として利用される。
【０１０１】
論理構造を決定する翻訳データ（１２０４）内のキーワード（１２１０）を識別するステップ（１２０８）は、構造を決定する事前定義単語を翻訳データ内で検索することによって実施することができる。そのような論理構造を決定する単語の例としては、「序文（ｉｎｔｒｏｄｕｃｔｉｏｎ）」、「目次（ｔａｂｌｅ  ｏｆ  ｃｏｎｔｅｎｔｓ）」、「章（ｃｈａｐｔｅｒ）」、「節（ｓｔａｎｚａ）」、「索引（ｉｎｄｅｘ）」、及び当業者によって想到される他の様々な単語が挙げられる。
【０１０２】
図１０の方法において、テキスト・コンテンツ用の文法セット（１２１６）を動的に作成するステップ（１２０６）は、識別されたキーワード（１２１０）及び文法作成規則（１２１２）に従って文法を作成するステップ（１２１４）も含む。文法作成規則とは、文法生成のために事前定義された命令セット及び文法形式を指す。識別されたキーワード（１２１０）及び文法作成規則（１２１２）に従って文法を作成するステップ（１２１４）は、ＪａｖａＳｅｒｖｅｒ Ｐａｇｅｓ、Ａｃｔｉｖｅ  Ｓｅｒｖｅｒ  Ｐａｇｅｓ、ＰＨＰ、Ｐｅｒｌ、ＸＭＬ等、翻訳データのスクリプト・フレームワークを利用して実施することができる。このように動的に作成された文法を外部的に記憶し、例えば外部文法を参照するのに使用されるＸ＋Ｖの<grammarsrc=""/>タグで参照することができる。
【０１０３】
異種データ型の集約データ（４１２）を統一データ型のデータに合成（４１４）する図１０の方法は、文法セット（１２１６）をテキスト・コンテンツと関連付けるステップ（１２２０）を含む。文法セット（１２１６）をテキスト・コンテンツと関連付けるステップ（１２２０）は、作成された文法を定義するマークアップ（１２２４）を翻訳データ（１２０４）に挿入するステップ（１２１８）を含む。マークアップ（１２２４）を翻訳データ（１２０４）に挿入するステップ（１２１８）は、作成されたマークアップを翻訳ドキュメントに挿入するように動的に作成される文法の定義を行うマークアップを作成することによって実施することができる。
【０１０４】
図１０の方法は、アクション（４２０）を文法と関連付けるステップ（１２２２）も含む。上述のように、アクションとは、実行時に事前定義タスクを実施する１組のコンピュータ命令を指す。アクション（４２０）を文法と関連付けるステップ（１２２２）を実施することにより、当該文法の１つ又は複数の単語又はフレーズが認識されたことに応答して関連するアクションが呼び出されることになる、音声によるアクション始動が可能となる。
【０１０５】
上述のように、異種データ型を対象とするデータ管理及びデータ・レンダリングは、合成データに従ってアクションを識別するステップを含む。更なる説明として、図１１には、合成データ（４１６）に従ってアクションを識別する例示的な方法のフローチャートが示されている。図１１の方法は、ユーザ命令（６２０）を受信するステップ（６１６）と、合成データ（４１６）及びユーザ命令（６２０）に従ってアクションを識別するステップと、を含む。図１１の方法において、アクションを識別するステップは、アクション・リストからアクションＩＤを取得することによって実施することができる。図１１の方法において、アクション・リストからアクションＩＤを取得するステップは、ユーザ命令及び合成データに従って実行されるアクションの識別（「アクションＩＤ」）をリストから取得するステップを含む。アクション・リストは、例えばＪａｖａリスト・コンテナとして実装することも、ランダム・アクセス・メモリ内のテーブルとして実装することも、ハード・ドライブ又はＣＤ‐ＲＯＭ上のストレージを伴うＳＱＬデータベース・テーブルとして実装することもでき、また、当業者によって想到される他の手法で実装することもできる。上述のように、各アクションはそれぞれソフトウェアを含むため、例えばコンパイル時にデータ管理及びデータ・レンダリング・モジュールにインポートされるＪａｖａパッケージの形で体現され、したがって実行時に常時使用可能な状態となる、具体的なアクション・クラスとして実装することができる。
【０１０６】
図１１の方法において、ユーザ命令（６２０）を受信するステップ（６１６）は、ユーザから音声（１５０２）を受信するステップ（１５０４）と、音声（１５０２）をテキスト（１５０８）に変換するステップ（１５０６）と、テキスト（１５０８）及び文法（１５１０）に従ってユーザ命令（６２０）を判定するステップ（１５１２）と、テキスト（１５０８）及び文法（１５１０）に従ってユーザ命令（６２０）のパラメータ（１６０４）を判定するステップ（１６０２）と、を含む。図４を参照して上述したように、ユーザ命令とは、ユーザ行動に応じて受信されるイベントを指す。ユーザ命令のパラメータとは、命令を詳しく定義する追加的なデータを指す。例えば、「ｄｅｌｅｔｅ  ｅｍａｉｌ（電子メールを削除する）」というユーザ命令は、２００５年８月１１日付けの電子メールがユーザ命令によって呼び出されたアクションを実行すべき合成データに該当する旨を定義する、「２００５年８月１１日」というパラメータを含むことができる。ユーザから音声（１５０２）を受信するステップ（１５０４）と、音声（１５０２）をテキスト（１５０８）に変換するステップ（１５０６）と、テキスト（１５０８）及び文法（１５１０）に従ってユーザ命令（６２０）を判定するステップ（１５１２）と、テキスト（１５０８）及び文法（１５１０）に従ってユーザ命令（６２０）のパラメータ（１６０４）を判定するステップ（１６０２）とは、本発明に係るデータ管理及びデータ・レンダリング・モジュールに組み込まれた音声認識エンジンによって実施することができる。
【０１０７】
図１１の方法に係る合成データ（４１６）に従ってアクションを識別するステップは、ユーザ命令（６２０）に応答して合成データ（４１６）を選択するステップ（６１８）も含む。ユーザ命令（６２０）に応答して合成データ（４１６）を選択するステップ（６１８）は、ユーザ命令（６２０）によって識別された合成データを選択することによって実施することができる。合成データ（４１６）を選択するステップ（６１８）は、ユーザ命令（６２０）のパラメータ（１６０４）に従って合成データ（４１６）を選択することによって実施することもできる。
【０１０８】
ユーザ命令（６２０）に応答して合成データ（４１６）を選択するステップ（６１８）は、合成データの文脈情報（１８０２）を選択することによって実施することができる。文脈情報とは、例えば現在表示されている合成データの状態情報、時刻、曜日、システム構成、合成データの特性、当業者によって想到される他の文脈情報等、ユーザ命令が受信される文脈を記述するデータを指す。文脈情報は有益なことに、音声内で識別されるユーザ命令のパラメータの代わりに使用することも、当該パラメータと共に使用することもできる。例えば、現在表示されているものが電子メール・ドキュメントから翻訳された合成データである旨を示す文脈情報を使用すれば、「電子メールを削除する」という音声ユーザ命令を補完することにより、電子メールを削除するアクションをどの合成データに対して実行すべきかを識別することが可能となる。
【０１０９】
図１１の方法に係る合成データ（４１６）に従ってアクションを識別するステップは、ユーザ命令（６２０）及び選択データ（ｓｅｌｅｃｔｅｄ  ｄａｔａ）（６２２）に従ってアクション（４２０）を選択するステップ（６２４）も含む。ユーザ命令（６２０）及び選択データ（６２２）に従ってアクション（４２０）を選択するステップ（６２４）は、ユーザ命令（６２０）によって識別されるアクションを選択することによって実施することができる。アクション（４２０）を選択するステップ（６２４）は、ユーザ命令（６２０）のパラメータ（１６０４）に従ってアクション（４２０）を選択することによって実施することも、文脈情報（１８０２）に従ってアクション（４２０）を選択することによって実施することもできる。図１１の例において、アクション（４２０）を選択するステップ（６２４）は、１つ又は複数のユーザ命令、パラメータ、又は文脈情報に従ってアクションをアクション・データベース（１１０５）から取得することによって実施される。
【０１１０】
識別されたアクションの実行は、データ管理及びデータ・レンダリング・モジュールのアクション・エージェントにおいてswitch()ステートメントを利用して実施することができる。このようなswitch()ステートメントは、アクションＩＤに従って操作することができ、例えば以下の疑似コード・セグメントで示されるように実装することができる。
switch (actionID) {
Case 1:actionNumber1.take_action();break;
Case 2:actionNumber2.take_action();break;
Case 3:actionNumber3.take_action();break;
Case 4:actionNumber4.take_action();break;
Case 5:actionNumber5.take_action();break;
//以下同様
} //  switch()終了
【０１１１】
上記の例示的なswitchステートメントは、アクションＩＤに応じて実行される合成データに対して実施すべきアクションを選択する。本例においてswitch()によって管理されるタスクは、それぞれ「take_action()」と呼ばれる実行可能なメンバ・メソッドを有するactionNumber1やactionNumber2といった具体的なアクション・クラスとなる。「take_action()」は、各アクション・クラスによって実装される実際の作業を実施するメンバ・メソッドである。
【０１１２】
アクションの実行は、データ管理及びデータ・レンダリング・モジュールのアクション・エージェントにおいてハッシュ・テーブルを利用する諸実施形態で実施することができる。このようなハッシュ・テーブルには、以下の疑似コード例に示されるように、アクションＩＤをキーワードとするアクション・オブジェクトの参照を格納することができる。本例は、アクション・サービスがユーザ命令に関連する具体的なアクション・クラスのオブジェクトの参照であるアクション・ハッシュ・テーブルを作成することから開始する。多くの実施形態において、そのようなハッシュ・テーブルを作成し、当該ハッシュ・テーブルに特定のユーザ命令に関連するアクション・オブジェクトの参照を入力し、当該ハッシュ・テーブルの参照を呼び出し元のアクション・エージェントに返す処理は、アクション・サービスによって行われる。
Hashtable ActionHashTable = new Hashtable();
ActionHashTable.put("1", new Action1());
ActionHashTable.put("2", new Action2());
ActionHashTable.put("3", new Action3());
【０１１３】
また、特定のアクションの実行は、以下の疑似コードに従って実施することもできる。
Action anAction = (Action) ActionHashTable.get("2");
if (anAction != null) anAction.take_action();
【０１１４】
アクションの実行はリストを利用して実施することもできる。リストはしばしばハッシュ・テーブルと同様の働きをする。特定のアクションの実行は、例えば以下の疑似コードに従って実施することもできる。
List ActionList = new List();
ActionList.add(1, new Action1());
ActionList.add(2, new Action2());
ActionList.add(3, new Action3());
【０１１５】
また、特定のアクションの実行は、以下の疑似コードに従って実施することもできる。
Action anAction = (Action) ActionList.get(2);
if (anAction != null) anAction.take_action();
【０１１６】
上記の３つの例では、本発明の諸実施形態に係るアクションの実行手法を説明するために、switchステートメント、ハッシュ・テーブル、及びリスト・オブジェクトが使用されている。これらの３つの例におけるswitchステートメント、ハッシュ・テーブル、及びリスト・オブジェクトは説明上のものであり、限定的なものではない。実際、当業者によって想到されるように、本発明の諸実施形態に係るアクションの実行手法には様々なものが存在し、そのような手法は全て本発明の範囲に含まれる。
【０１１７】
合成データに従ってアクションを識別するステップを詳しく説明するために、アクションと、当該アクションのパラメータと、当該アクションを実行すべき合成データと、を識別する以下の例示的なユーザ命令について検討する。ユーザは現在、電子メールから翻訳された合成データを閲覧しており、以下の音声命令、即ち「２００５年８月１５日付けの電子メールを削除する」という音声命令を発行する。本例において、合成データに従ってアクションを識別するステップは、ユーザ命令に従って削除アクション及び合成データを選択し、１通の電子メールだけを削除すべき旨を示す電子メール削除アクション（ｄｅｌｅｔｅ  ｅｍａｉｌ  ａｃｔｉｏｎ）のパラメータを識別し、ユーザ命令に応答して２００５年８月１５日付けの電子メールから翻訳された合成データを選択することによって実施される。
【０１１８】
合成データに従ってアクションを識別するステップを詳しく説明するために、アクションを実行すべき合成データが具体的に識別されない以下の例示的なユーザ命令について検討する。ユーザは現在、一連の電子メールから翻訳された合成データを閲覧しており、以下の音声命令、即ち「現在の電子メールを削除する」という音声命令を発行する。本例において、合成データに従ってアクションを識別するステップは、ユーザ命令に従って合成データを削除するアクションを選択することによって実施される。ただし、本例におけるアクションを実施すべき合成データを選択するステップは、文脈情報を利用する以下のデータ選択規則に従って実施される。
If synthesized data = displayed;
Then synthesized data = ‘current’.
If synthesized includes = email type code;
Then synthesized data = email.
【０１１９】
上記の例示的なデータ選択規則は、「synthesized data（合成データ）」が「displayed（表示中）」である場合には、その表示中の合成データが「current（最新）」であることを示し、「synthesized（合成データ）」が「email type code（電子メール・タイプ・コード）」を含む場合には、その合成データが「email（電子メール）」であることを示している。文脈情報を使用して、現在表示されている合成データが電子メールから翻訳されたものであり、電子メール・タイプ・コードを含んでいることが示される。したがって、「現在の電子メールを削除する」という例示的なユーザ命令に上記のデータ選択規則を適用すると、現在表示されている電子メール・タイプ・コードを有する合成データが削除される。
【０１２０】
上述のように、異種データ型を対象とするデータ管理及びデータ・レンダリングは多くの場合、合成データをチャネル化するステップを含む。有利なことに、合成データ（４１６）をチャネル化することにより、合成データが複数の論理チャネルに分離されることになる。論理的に蓄積される合成データとして実装されるチャネルは、同様の特性を有する共通の属性を共有する。そのようなチャネルの例には、娯楽に関する合成データを対象とする「娯楽チャネル」、仕事に関する合成データを対象とする「仕事チャネル」、ユーザの家族に関する合成データを対象とする「家族チャネル（ｆａｍｉｌｙ  ｃｈａｎｎｅｌ）」等がある。
【０１２１】
したがって、更なる説明として、図１２には、本発明の諸実施形態に係る合成データ（４１６）をチャネル化（４２２）する例示的な方法のフローチャートが示されている。図１２の方法は、合成データ（８０４）の属性を識別するステップ（８０２）を含む。合成データ（８０４）の各属性は、合成データ（４１６）を特徴付けるのに使用され得るデータの各側面である。例示的な属性（８０４）としては、データの型、データ内のメタデータ、データの論理構造、データ・コンテンツ内の特定のキーワードの存在、データ・ソース、データ作成元のアプリケーション、ソースのＵＲＬ、作成者、件名、作成日等が挙げられる。合成データ（８０４）の属性を識別するステップ（８０２）は、合成データ（８０４）のコンテンツと事前定義属性のリストとを比較することによって実施することができる。合成データ（８０４）の属性を識別（８０２）する別の手法は、合成データ（８０４）に関連するメタデータと事前定義属性のリストとを比較することによって実施することができる。
【０１２２】
合成データ（８０４）をチャネル化（４２２）する図１２の方法は、合成データ（８０４）の属性を特徴付けるステップ（８０８）も含む。合成データ（８０４）の属性を特徴付けるステップ（８０８）は、識別された合成データの属性を評価することによって実施することができる。識別された合成データの属性評価は、特徴付け規則（ｃｈａｒａｃｔｅｒｉｚａｔｉｏｎ  ｒｕｌｅ）（８０６）を識別された属性に適用することを含むことができる。更なる説明として、以下の特徴付け規則について検討する。
If synthesized data = email; AND
If email to = “Joe”; AND
If email from = “Bob”;
Then email = ‘work email.’
【０１２３】
上記の例の特徴付け規則は、「synthesized data（合成データ）」が「email（電子メール）」であり、かつ当該電子メールが「Joe」に送信されたものであり、かつ当該電子メールが「Bob」から送信されたものである場合には、上記の例示的な電子メールが「work email（仕事上の電子メール）」として特徴付けられることを規定している。
【０１２４】
合成データ（８０４）の属性を特徴付けるステップ（８０８）は更に、識別された属性の特徴を表現する特徴タグ（ｃｈａｒａｃｔｅｒｉｓｔｉｃ  ｔａｇ）を識別された属性毎に作成することによって実施することができる。更なる説明として、それ自体の内部に特徴タグが挿入された電子メールから翻訳される以下の合成データ例について検討する。
<head >
original message type = ‘email’ to = ‘joe’ from = ‘bob’ re = ‘Iwill be late tomorrow’</head>
<characteristic>
characteristic = ‘work’
<characteristic>
<body>
本文コンテンツ
</body>
【０１２５】
上記の例の合成データは、「Bob」から「Joe」に送信された電子メールから翻訳されるものであり、件名には「I will be latetomorrow（明日遅れます）」というテキストが含まれている。上記の例では、電子メールを仕事関係の電子メールとして特徴付ける「work」の値を有する特徴フィールドが、<characteristic>タグによって識別されている。特徴タグは、データをチャネル化する際に役立つデータの特徴を識別することによって、合成データのチャネル化を支援するものである。
【０１２６】
合成データ（４１６）をチャネル化（４２２）する図１２の方法は、特徴付けられた属性（８１０）及びチャネル割り当て規則（８１２）に従ってデータを所定のチャネル（８１６）に割り当てるステップ（８１４）も含む。チャネル割り当て規則（８１２）とは、特徴付けられた属性（８１０）に従って合成データ（４１６）をチャネルに割り当てる所定の命令を指す。更なる説明として、以下のチャネル割り当て規則について検討する。
If synthesized data = ‘email’; and
If Characterization = ‘work related email’
Then channel = ‘work channel.’
【０１２７】
上記の例では、「synthesized data（合成データ）」が「email（電子メール）」から翻訳されたものであり、かつ当該電子メールが「work related email（仕事関係の電子メール）」として「Characterization（特徴付け）」されている場合には、当該合成データは「work channel（仕事チャネル）」に割り当てられることになる。
【０１２８】
データを所定のチャネル（８１６）に割り当てるステップ（８１４）は、ユーザ・プリファレンス及び当業者によって想到される他の要因に従って実施することもできる。ユーザ・プリファレンスとは、多くの場合ビジネス・ロジックから切り離されたデータ構造の形で保持される、構成に関する一連のユーザ選択を指す。ユーザ・プリファレンスは、本発明に従って合成データをチャネル化する際の細分性を高めることが可能である。
【０１２９】
いくつかのチャネル割り当て規則（８１２）では、合成データ（４１６）を２つ以上のチャネル（８１６）に割り当てることが可能となる。即ち、実際には同一の合成データを２つ以上のチャネルに適用することができる。したがって、データを所定のチャネル（８１６）に割り当てるステップ（８１４）は、合成データの１つの部分について２回以上実施することが可能である。
【０１３０】
合成データ（４１６）をチャネル化（４２２）する図１２の方法は、合成データ（４１６）を１つ又は複数のチャネル（８１６）を介してユーザに提示するステップ（４２６）を含むこともできる。合成データ（４１６）を１つ又は複数のチャネル（８１６）を介してユーザに提示するステップ（４２６）の１つの手法は、それらのチャネルのコンテンツへのユーザ・アクセスを可能にするユーザ・インターフェース内に、使用可能なチャネルのサマリ又は見出しを提示することによって実施することができる。上記の各チャネルには、合成データ（４１６）にアクセスするために提示される上記のサマリ又は見出しを介してアクセスすることができる。チャネルに含まれる合成データ（４１６）を表示又は再生することにより、選択されたチャネルを介して追加的な合成データがユーザに提示される。
【０１３１】
上述のように、異種データ型を対象とするデータ管理及びデータ・レンダリングは多くの場合、データを集約すべきデータ・ソースを識別するステップを含む。集約対象として識別されたデータ・ソースに由来するデータにアクセスするステップは多くの場合、データ・ソースに関する情報及びユーザ・インターフェースを使用可能にする文法音声（ｇｒａｍｍａｒｓ  ｓｐｅｅｃｈ）に関する情報を記述する表示テキストを含むデータ・ソースに関して、ユーザ・インターフェースを動的に作成することによって改善することができる。
【０１３２】
したがって、更なる説明として、図１３には、本発明の諸実施形態に係るデータ管理及びデータ・レンダリング用ユーザ・インターフェースを動的に作成する例示的な方法のフローチャートが示されている。「ユーザ・インターフェース」という語句は、ユーザからコンピュータ・ソフトウェア・アプリケーションに対する入力、及びコンピュータ・ソフトウェア・アプリケーションからユーザに対する出力が可能となるように、ユーザとコンピュータ・ソフトウェア・アプリケーションとの間で通信を行うためのコンピュータ・ソフトウェア・コンポーネントを指すために使用される。ユーザ・インターフェースは多くの場合、データ・ソースからのデータ取得等のアクションを呼び出すユーザ命令を受信するように設計されたソフトウェア・コンポーネントである１つ又は複数のユーザ・インターフェース・オブジェクトとして実装される。ユーザ・インターフェース・オブジェクトは多くの場合、データ・ソースからデータにアクセスする際に使用される。ユーザ・インターフェース・オブジェクトは、集約及び合成のプリファレンス及び優先度の管理等、データ管理及びデータ・レンダリングの各側面に関するデータ・ソースを表現する際に使用されることもある。このようなユーザ・インターフェース・オブジェクトは、テキスト・ボックス、ウィンドウ、メニュー、ラジオ・ボタン、チェック・ボックス、アイコン等、ユーザからの直接操作で呼び出されるＧＵＩオブジェクトとして実装することができる。ユーザ・インターフェース・オブジェクトは、ユーザ音声によって呼び出される関連文法を有する音声認識オブジェクトであっても、当業者によって想到される他のユーザ・インターフェース・オブジェクトであってもよい。
【０１３３】
図１３の方法は、データ・ソース（３０４）の識別を受信するステップ（３０２）を含む。上述のように、データ・ソースは、多数の異種データ・ソースのうちの１つとすることができる。そのようなデータ・ソースは、データ・アクセスを行うことが可能な任意のデバイス又はネットワーク・ロケーションである可能性がある。データ・ソースの例としては、ファイルを供給するサーバ、ウェブ・サイト、携帯電話、ＰＤＡ、ＭＰ３プレイヤー、及び当業者によって想到される他のデバイスが挙げられる。データ・ソース（３０４）の識別としては、例えばデータ・ソースを識別するＵＲＩ、ファイル名、ファイル・パス、メモリ内の場所を指すポインタ、あるいは当業者によって想到されるデータ・ソースの他の任意の識別を挙げることができる。
【０１３４】
図１３の方法に係るデータ・ソース（３０４）の識別を受信するステップ（３０２）は、データ・ソースの識別を、例えばそのようなデータ・ソースの識別をユーザから受信するように設計されたユーザ・インターフェースを介してユーザから受信することによって実施することができる。そのようなデータ・ソースの識別をユーザから受信するように設計されたユーザ・インターフェースは多くの場合、当該ユーザ・インターフェース内のテキスト・ボックスを介してユーザ識別を受け入れることが可能である。ユーザは、ブラウザ内のアドレス・ウィンドウからデータ・ソースを指すＵＲＬをコピーして、当該ＵＲＬをテキスト・ボックスに貼り付けることによってテキスト・ボックスに入力することができる。いくつかのブラウザ及びユーザ・インターフェースは、テキスト・ボックスの入力を容易にするドラッグ・アンド・ドロップ機能をサポートしている。そのようなドラッグ・アンド・ドロップ機能を用いると、ユーザは、ブラウザに表示されているページからハイパーリンクをドラッグして、又はブラウザ内のアドレス・ウィンドウからデータ・ソースを指すＵＲＬをドラッグして、当該ハイパーリンク又はＵＲＬをテキスト・ボックスにドロップすることによってテキスト・ボックスに入力することが可能となる。
【０１３５】
多くのＧＵＩソフトウェア・ツールキットは、ドラッグ・アンド・ドロップ機能を使用してデータ・ソース（３０４）の識別をユーザから受信（３０２）することが可能なユーザ・インターフェースの開発を支援する。このようなＧＵＩソフトウェア・ツールキットの例としては、例えばＡｂｓｔｒａｃｔ  Ｗｉｎｄｏｗｉｎｇ  Ｔｏｏｌｋｉｔ（ＡＷＴ）、Ｓｗｉｎｇ、及びＪａｖａ２Ｄを含むＪａｖａ  Ｆｏｕｎｄａｔｉｏｎ  Ｃｌａｓｓｅｓ（「ＪＦＣ」）ツールキットが挙げられる。また、ＪＦＣツールキットは、基盤となるユーザ・インターフェース・システムに関わらず、Ｊａｖａプログラム対応のユーザ・インターフェースを提供する。Ｓｗｉｎｇは、例えばデータ・ソースとテキスト・ボックスの両方の識別に関するTransferHandlerオブジェクト・クラスのメンバをインスタンス化することによって、データ・ソースの識別をユーザ・インターフェース内のテキスト・ボックスにドラッグ・アンド・ドロップする機能をサポートする。データ・ソースの識別に関するTransferHandlerは、当該データ・ソースの識別を含むTransferableオブジェクトを作成することによって、当該データ・ソースの識別をテキスト・ボックスに転送する処理を管理する。次に、テキスト・ボックスに関するTransferHandlerは、Transferableオブジェクトからデータ・ソースの識別を抽出する。
【０１３６】
データ管理及びデータ・レンダリング用ユーザ・インターフェースを動的に作成する図１３の方法は、識別されたデータ・ソース（３１４）からデータを取得するステップ（３０８）も含む。図１３に示されるように、多くの場合、識別されたデータ・ソースから取得されるデータはサーバ（３１６）上でホストされるウェブ・ページ（３０６）である。図１３の方法において、識別されたデータ・ソース（３１４）からデータを取得するステップ（３０８）は、ウェブ・ページ（３０６）のＨＴＴＰ要求（３１３）をサーバ（３１６）に送信するステップ（３１２）と、サーバ（３１６）からウェブ・ページ（３０６）のコンテンツを含むＨＴＴＰ応答（３１５）を受信するステップ（３１０）と、を含む。
【０１３７】
図１３の例において、識別されたデータ・ソースから取得されるデータはサーバ（３１６）上でホストされるウェブ・ページ（３０６）である。これは説明上のものであって限定的なものではない。実際、識別されたデータ・ソースから取得されるデータは様々なデータ型を有する可能性があり、そのようなデータ型は全て本発明の範囲に含まれるものである。
【０１３８】
図１３の方法は、取得されたデータ（３０９）に従って識別されたデータ・ソース（３１４）にアクセスするユーザ・インターフェース・オブジェクト（３２４）を動的に作成するステップ（３１８）も含む。上述のように、ユーザ・インターフェース・オブジェクトは、データ・ソースからのデータ取得等のアクションを呼び出すユーザ命令を受信するように設計されたソフトウェア・コンポーネントである。このようなユーザ・インターフェース・オブジェクトは、テキスト・ボックス、ウィンドウ、メニュー、ラジオ・ボタン、チェック・ボックス、アイコン等、ユーザからの直接操作で呼び出されるＧＵＩオブジェクトとして実装することができる。ユーザ・インターフェース・オブジェクトは、ユーザ音声によって呼び出される関連文法を有する音声認識オブジェクトであっても、当業者によって想到される他のユーザ・インターフェース・オブジェクトであってもよい。
【０１３９】
図１３の方法において、取得されたデータ（３０９）に従って識別されたデータ・ソース（３１４）にアクセスするユーザ・インターフェース・オブジェクト（３２４）を動的に作成するステップ（３１８）は、ソース情報を記述する表示テキスト（３３４）を作成するステップ（３２０）を含む。ソース情報とは、データ・ソース、当該データ・ソースから利用可能なコンテンツ、及び当業者によって想到されるデータ・ソースに関する他の情報を記述する情報を指す。ソース情報の例としては、ウェブ・ページのタイトル、データ・ソースのドメイン・ネーム、データ・ソースで使用可能なファイルの作成者、データ・ソースから利用可能なデータ・コンテンツから導出されるキーワード又はサマリ、及び当業者によって想到される他のソース情報が挙げられる。
【０１４０】
ソース情報を記述する表示テキスト（３３４）とは、例えば音声エンジンによって音声がレンダリングされる際に、ブラウザ等を介して又は当業者によって想到される他の手法でユーザに視覚的に提示され得るテキストを指す。ソース情報を記述する表示テキスト（３３４）を作成するステップは、取得されたデータ（３０９）を解析してソース情報を抽出し、当該抽出されたソース情報を記述する表示テキスト（３３４）を作成することによって実施することができる。取得されたデータ（３０９）を解析してソース情報を抽出するステップは、取得されたデータ内のキーワードを識別し、取得されたデータからウェブ・ページ内のヘッダー情報等のメタデータを抽出し、取得されたデータのタイトルを識別し、取得されたデータの要約又はサマリを識別することによって実施することができ、また、当業者によって想到される他の手法で実施することもできる。
【０１４１】
更なる説明として、以下では、図１３の方法に係るデータ管理及びデータ・レンダリング用ユーザ・インターフェースを動的に作成する方法に従って識別されたデータ・ソース（３１４）から取得される、ＸＭＬで書かれたウェブ・ページ例について検討する。取得されるＸＭＬウェブ・ページは、以下のテキスト及びマークアップを含む。
<head >
<title>somemenu.com</title>
<description>somemenu.comにはあなたのコミュニティに関する情報があります。</description>
</head>.
【０１４２】
上記のＸＭＬページには、ウェブ・サイトに関する情報と、当該サイトから利用可能なデータ・コンテンツに関する情報とを含むテキスト及びマークアップが含まれている。上記の例示的なＸＭＬページには、例えばデータ・ソースから提供されるデータの型に関する情報を提供するヘッダーが含まれている。上記の例示的なＸＭＬページのヘッダーには「<title>」タグ及び「</title>」タグが含まれ、データ・ソースのタイトルが「somemenu.com」として識別されている。上記の例示的なＸＭＬページのヘッダーには「<description>」タグ及び「</description>」タグが含まれ、「somemenu.comにはあなたのコミュニティに関する情報があります。」というテキストが識別されており、これによって識別されたデータ・ソース（３１４）のコンテンツの記述が提供されている。図１３の方法に係る例示的なＸＭＬウェブ・ページにアクセスするユーザ・インターフェース・オブジェクト（３２４）に関する表示テキスト（３３４）を作成するステップ（３２０）は、「somemenu.comにはあなたのコミュニティに関する情報があります。」という記述が記載された表示テキストを作成する等、ＸＭＬヘッダー情報に含まれる情報を使用して表示テキストを作成することによって実施することができる。
【０１４３】
図１３の方法において、取得されたデータ（３０９）に従って識別されたデータ・ソース（３１４）にアクセスするユーザ・インターフェース・オブジェクト（３２４）を動的に作成するステップ（３１８）は、ユーザ・インターフェース・オブジェクト（３２４）を音声イネーブルする文法（３３６）を作成するステップ（３２２）も含む。上述のように、文法（３３６）とは、発話可能な１組の単語、それらの単語の発話可能パターン、又は音声認識エンジンによって認識される音声を定義する他の言語要素を指す。ユーザ・インターフェース・オブジェクト（３２４）を音声イネーブルする文法（３３６）は、ユーザ・インターフェース・オブジェクト（３２４）によって表現される識別されたデータ・ソース（３１４）を選択し、識別されたデータ・ソース（３１４）からデータを取得する音声によって呼び出すことができる。
【０１４４】
ユーザ・インターフェース・オブジェクト（３２４）を音声イネーブルする文法（３３６）を作成するステップ（３２２）は、取得されたデータ（３０９）を解析して文法に含めるための単語及びフレーズを抽出することによって実施することができる。文法に含めるために抽出される単語及びフレーズは、多くの場合、文法作成規則を利用して識別される。文法作成規則とは、文法生成用に事前定義される１組の命令及び文法形式を指す。このような文法を作成するステップは、ＪａｖａＳｅｒｖｅｒ  Ｐａｇｅｓ、Ａｃｔｉｖｅ  Ｓｅｒｖｅｒ  Ｐａｇｅｓ、ＰＨＰ、Ｐｅｒｌ等のスクリプト・フレームワークを使用して実施することができる。
【０１４５】
更なる説明として、以下では、図１３の方法に係るデータ管理及びデータ・レンダリング用ユーザ・インターフェースを動的に作成する方法に従って識別されたデータ・ソース（３１４）から取得される、ＸＭＬで書かれた上記と同一のウェブ・ページ例について検討する。取得されるＸＭＬウェブ・ページは、以下のテキスト及びマークアップを含む。
<head >
<title>somemenu.com</title>
<description>somemenu.comにはあなたのコミュニティに関する情報があります。</description>
</head>.
【０１４６】
上記のＸＭＬページには、ウェブ・サイトに関する情報と、当該サイトから利用可能なデータ・コンテンツに関する情報とを含むテキスト及びマークアップが含まれている。上記の例示的なＸＭＬページには、例えばデータ・ソースから提供されるデータの型に関する情報を提供するヘッダーが含まれている。上記の例示的なＸＭＬページのヘッダーには「<title>」タグ及び「</title>」タグが含まれ、データ・ソースのタイトルが「somemenu.com」として識別されている。上記の例示的なＸＭＬページのヘッダーには「<description>」タグ及び「</description>」タグが含まれ、「somemenu.comにはあなたのコミュニティに関する情報があります。」というテキストが識別されており、これによって識別されたデータ・ソース（３１４）のコンテンツの記述が提供されている。図１３の方法に係る例示的なＸＭＬウェブ・ページにアクセスするユーザ・インターフェース・オブジェクト（３２４）を音声イネーブルする文法（３３６）を作成するステップ（３２２）は、ＸＭＬヘッダー情報に含まれる単語、例えば「コミュニティ」や「somemenu.com」といったキーワードを抽出し、当該抽出された単語を文法に含めることによって実施することができる。
【０１４７】
図１３の方法は、識別されたデータ・ソース（３１４）をチャネル（３３２）に割り当てるステップ（３２８）も含む。識別されたデータ・ソース（３１４）をチャネル（３３２）に割り当てるステップ（３２８）は、識別されたデータ・ソース（３１４）から取得されたデータ（３０９）の属性を識別するステップを含むことができる。識別されたデータ・ソース（３１４）から取得されたデータ（３０９）の属性とは、識別されたデータ・ソース（３１４）の特徴付けに使用することが可能な取得されたデータ（３０９）の各側面を指す。例示的な属性としては、データ・ソースで使用可能なデータの型、データ内に所在するメタデータ、データの論理構造、データ・コンテンツ内の特定のキーワードの存在、データ作成元のアプリケーション、作成者、件名、作成日等が挙げられる。取得されたデータ（３０９）の属性を取得するステップは、取得されたデータ（３０９）と事前定義属性のリストとを比較することによって実施することができる。
【０１４８】
図１３の方法において、識別されたデータ・ソース（３１４）をチャネル（３３２）に割り当てるステップ（３２８）は、取得されたデータ（３０９）に関して識別された各属性を特徴付けるステップを含むこともできる。取得されたデータに関して識別された各属性を特徴付けるステップは、特徴付け規則を識別された属性に適用することによって実施することができる。更なる説明として、以下の特徴付け規則について検討する。
If title contains the word ‘patent’; AND
If content contains the words ‘federal circuit’
Then source = ‘work source’ AND
Channel = ‘work channel.’
【０１４９】
上記の例の特徴付け規則は、識別されたデータ・ソース（３１４）から取得されたデータ（３０９）の「title（タイトル）」を示すマークアップに「patent（特許）」という単語が含まれ、かつソースの「content（コンテンツ）」に「federal circuit（連邦巡回）」という単語が含まれる場合には、この例の識別されたデータ・ソース（３１４）がユーザの仕事に役立つデータ・ソースである「work source（仕事ソース）」として特徴付けられることを規定している。このデータ・ソースは「work channel（仕事チャネル）」に割り当てられることになる。
【０１５０】
いくつかのチャネル割り当て規則では、識別されたデータ・ソース（３１４）を２つ以上のチャネル（３３２）に割り当てることが可能となる。即ち、実際には同一の識別されたデータ・ソース（３１４）を２つ以上のチャネルに割り当てることができる。したがって、識別されたデータ・ソース（３１４）をチャネル（３３２）に割り当てるステップ（３２６）は、単一の識別されたデータ・ソース（３１４）について２回以上実施することが可能である。
【０１５１】
識別されたデータ・ソース（３１４）をチャネル（３３２）に割り当てる（３２８）図１３の方法は、識別されたデータ・ソース（３１４）を１つ又は複数のチャネル（３３２）を介してユーザに提示するステップを含むこともできる。識別されたデータ・ソース（３１４）を１つ又は複数のチャネル（３３２）を介してユーザに提示するステップの１つの手法は、識別されたデータ・ソース（３１４）に関連するユーザ・インターフェース・オブジェクト（３２４）と、同一チャネル内で識別された他のデータ・ソースを表現する他のユーザ・インターフェース・オブジェクトとをユーザ・インターフェース内に提示することによって実施することができる。
【０１５２】
識別されたデータ・ソース（３１４）をチャネル（３３２）に割り当てる（３２８）図１３の方法は、チャネル内の他の合成コンテンツ（３３０）に従って識別されたデータ・ソース（３１４）をチャネル（３３２）に割り当てるステップ（３２６）を含むこともできる。チャネル内の他の合成コンテンツ（３３０）に従って識別されたデータ・ソース（３１４）をチャネル（３３２）に割り当てるステップ（３２６）は、既にチャネルに割り当てられている他のソースに由来する合成コンテンツと、チャネルへの割り当てが提案されている識別されたデータ・ソース（３１４）に由来するコンテンツとを比較し、識別されたデータ・ソース（３１４）に由来するコンテンツが既にチャネルに割り当てられている他のソースに由来する合成コンテンツと十分類似するものかどうかを判定することによって実施することができる。識別されたデータ・ソース（３１４）に由来するコンテンツが既にチャネルに割り当てられている他のソースに由来する合成コンテンツと十分類似するものである場合には、識別されたデータ・ソース（３１４）のチャネルへの割り当てが行われる。識別されたデータ・ソース（３１４）に由来するコンテンツが既にチャネルに割り当てられている他のソースに由来する合成コンテンツと十分類似するものではない場合には、識別されたデータ・ソース（３１４）のチャネルへの割り当ては行われない。
【０１５３】
更なる説明として、図１４には、本発明に従ってデータ・ソースの識別を受信し、識別されたデータ・ソースのソース情報を記述する表示テキストを提示するように設計された、使用可能なデータ・ソースを表示する例示的なウェブ・ページ及び構成ページの線図が示されている。図１４の例において、ウェブ・ブラウザは、一般にフットボールに関するコンテンツを含む「Football CentralWebsite」（３３９）というタイトルのウェブ・ページ（３３８）を表示している。ウェブ・ページ（３３８）は、「Great Games」（３４４）という見出しや「How to Throw aFootball」（３４６）という見出し等、フットボールに関する具体的な主題を含む見出しも含んでいる。ウェブ・ページ（３３８）は、それ自体を供給するデータ・ソースの識別に相当する「www.someurl.com」というＵＲＬ（３４０）から取得される。
【０１５４】
図１４の例示的な構成ページ（３４２）は一般に、本発明に従ってデータ・ソースの識別を受信することが可能なユーザ・インターフェースである。例示的な構成ページ（３４２）は、ユーザから識別されたデータ・ソースを受信するテキスト・ボックス入力ウィジェット（３５６、３４８）を有する。テキスト・ボックス入力ウィジェットとは、データ・ソースの識別をＵＲＬ等のテキスト形式で受け入れる入力ウィジェットを指す。図１４の例示的な構成ページ（３４２）において、ユーザは、例えば図１４のブラウザ内に表示されているウェブ・ページ（３３８）のような別のグラフィカル・ユーザ・インターフェース（ＧＵＩ）からドラッグ・アンド・ドロップ又はカット・アンド・ペーストを行うことによって、識別されたデータ・ソースを入力することができる。別法として、ユーザは、データ・ソースの識別をテキスト・ボックス入力ウィジェットにタイピングすることによって、識別されたデータ・ソースを入力することもできる。
【０１５５】
ユーザは、識別されたデータ・ソースを入力した後にマウスを使用して「submit」ボタン（３５０）をクリックすることにより、識別されたデータ・ソースを送信することができる。識別されたデータ・ソースが送信された後、本発明に係るデータ管理及びデータ・レンダリング用ユーザ・インターフェースを動的に作成することにより、表示テキスト及び文法を含む識別されたデータ・ソースに関するユーザ・インターフェース・オブジェクトが作成されることになる。図１４の例に示される表示テキストは、テキスト・ボックス・ウィジェット（３５４、３５３）内に視覚的に表示される。この表示テキストは新しい表示テキスト内にタイピングすることによって変更することができ、その結果ユーザ・インターフェース・オブジェクトに関連するテキストが変更されることになる。
【０１５６】
図１４の例では、ユーザが「www.someurl.com」というウェブ・ページ（３３８）のＵＲＬ（３４０）を含むテキストをブラウザのアドレス・バー（３４１）から切り取り、当該テキストを構成ページ（３４２）内のテキスト・ボックス入力ウィジェット（３５６）に貼り付けることによって、ウェブ・ページ（３３８）のソースがデータ・ソースとして識別されている。データ・ソースの識別が受信されたことに応答して、識別されたデータ・ソース「www.someurl.com」からウェブ・ページ（３３８）が取得され、ソース情報を記述する表示テキストと、ユーザ・インターフェース・オブジェクトを音声イネーブルする文法とを作成することにより、識別されたデータ・ソースにアクセスするユーザ・インターフェース・オブジェクトが作成される。図１４の例において、ソース情報を記述する表示テキストには「Football Central - Great Games」と記載され、当該表示テキストは、データ・ソースの識別（図１４の例では「www.someurl.com」というＵＲＬ（３４０））を含むテキスト・ボックス入力ウィジェット（３５６）の下にあるテキスト・ボックス・ウィジェット（３５４）内に表示されている。
【０１５７】
本発明の例示的な諸実施形態は、主にデータ管理及びデータ・レンダリング用ユーザ・インターフェースを動的に作成する完全機能型コンピュータ・システムの文脈で説明されている。しかしながら、本発明は、任意の適切なデータ処理システムと共に使用される信号担持媒体上に配置されたコンピュータ・プログラムの形で実施することもできることが当業者には理解されるだろう。そのような信号担持媒体は、磁気媒体、光媒体、又は他の適切な媒体を含めた機械読み取り可能な情報に関する伝送媒体あるいは書き込み可能媒体であってよい。書き込み可能媒体の例としては、ハード・ドライブ又はディスケット内の磁気ディスク、光ドライブ用のコンパクト・ディスク、磁気テープ、及び当業者によって想到される他の媒体が挙げられる。伝送媒体の例としては、例えばイーサネット（Ｒ）等の音声通信及びデジタル・データ通信用の電話ネットワーク、ならびにインターネット・プロトコル及びワールド・ワイド・ウェブと通信するネットワークが挙げられる。当業者なら、適切なプログラミング手段を有する任意のコンピュータ・システムが、プログラムの形で実施される本発明の方法に係る各ステップを実行することが可能であることを容易に理解するだろう。本明細書に記載される例示的な実施形態の中にはコンピュータ・ハードウェア上にインストールされそこで実行されるソフトウェアを対象とするものもあるが、当業者なら、ファームウェア又はハードウェアとして実施される代替実施形態が本発明の範囲に含まれることを容易に理解するだろう。
【０１５８】
以上の説明から、本発明の範囲から逸脱することがなければ、本発明の様々な実施形態に修正及び変更を施すことができることが理解されるだろう。本明細書の記載は例示的なものにすぎず、限定的な意味で解釈されるべきものではない。本発明の範囲は添付の特許請求範囲の文言によってのみ限定されるものである。
【図面の簡単な説明】
【０１５９】
【図１】本発明の諸実施形態に係る異種データ型を対象とするデータ管理及びデータ・レンダリングを行う例示的なシステムを示すネットワーク図である。
【図２】本発明の諸実施形態に係る異種データ型を対象とするデータ管理及びデータ・レンダリングに利用される例示的なコンピュータを備えた自動コンピューティング・マシンのブロック図である。
【図３】本発明の諸実施形態に係る異種データ型を対象とするデータ管理及びデータ・レンダリングを行うシステムのブロック図である。
【図４】本発明の諸実施形態に係る異種データ型を対象とするデータ管理及びデータ・レンダリングを行う例示的な方法のフローチャートである。
【図５】本発明の諸実施形態に係る異種データ・ソースに由来する異種データ型のデータを集約する例示的な方法のフローチャートである。
【図６】本発明の諸実施形態に係る識別されたデータ・ソースから要求データを取得する例示的な方法のフローチャートである。
【図７】本発明に係る異種データ・ソースに由来する異種データ型のデータを集約する例示的な方法のフローチャートである。
【図８】本発明に係る異種データ・ソースに由来する異種データ型のデータを集約する例示的な方法のフローチャートである。
【図９】本発明に係る異種データ型の集約データを統一データ型のデータに合成する例示的な方法のフローチャートである。
【図１０】本発明に係る異種データ型の集約データを統一データ型のデータに合成する例示的な方法のフローチャートである。
【図１１】本発明に係る合成データに従ってアクションを識別する例示的な方法のフローチャートである。
【図１２】本発明の諸実施形態に係る合成データをチャネル化する例示的な方法のフローチャートである。
【図１３】本発明の諸実施形態に係るデータ管理及びデータ・レンダリング用ユーザ・インターフェースを動的に作成する例示的な方法のフローチャートである。
【図１４】本発明に従ってデータ・ソースの識別を受信し、識別されたデータ・ソースのソース情報を記述する表示テキストを提示するように設計された、使用可能なデータ・ソースを表示する例示的なウェブ・ページ及び構成ページの線図である。
【図１】
2009515244.tif 000003
【図２】
2009515244.tif 000004
【図３】
2009515244.tif 000005
【図４】
2009515244.tif 000006
【図５】
2009515244.tif 000007
【図６】
2009515244.tif 000008
【図７】
2009515244.tif 000009
【図８】
2009515244.tif 000010
【図９】
2009515244.tif 000011
【図１０】
2009515244.tif 000012
【図１１】
2009515244.tif 000013
【図１２】
2009515244.tif 000014
【図１３】
2009515244.tif 000015
【図１４】
2009515244.tif 000016
【手続補正書】
【提出日】平成21年2月19日(2009.2.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ管理及びデータ・レンダリング用ユーザ・インターフェースを作成するコンピュータ実装方法であって、
データ・ソースの識別を受信するステップと、
識別された前記データ・ソースからデータを取得するステップと、
取得された前記データに従って識別された前記データ・ソースにアクセスするように動作可能なユーザ・インターフェース・オブジェクトを作成するステップと、
を含む方法。
【請求項２】
識別された前記データ・ソースはウェブ・ページであり、
識別された前記データ・ソースからデータを取得する前記ステップは、
前記ウェブ・ページのＨＴＴＰ要求をサーバに送信するステップと、
前記サーバから前記ウェブ・ページのコンテンツを含むＨＴＴＰ応答を受信するステップと、
を更に含む、
請求項１に記載の方法。
【請求項３】
前記作成するステップは、ソース情報の記述に関連する表示テキストを作成するステップを更に含む、
請求項１に記載の方法。
【請求項４】
前記作成するステップは、前記ユーザ・インターフェース・オブジェクトを音声イネーブルするように動作可能な文法を作成するステップを更に含む、
請求項１に記載の方法。
【請求項５】
識別された前記データ・ソースをチャネルに割り当てるステップ
を更に含む請求項１に記載の方法。
【請求項６】
識別された前記データ・ソースは、チャネル内の他の合成コンテンツに従って前記チャネルに割り当てられる、請求項５に記載の方法。
【請求項７】
データ管理及びデータ・レンダリング用ユーザ・インターフェースを作成するシステムであって、
コンピュータ・プロセッサと、
前記コンピュータ・プロセッサと動作可能に結合されたコンピュータ・メモリと、を備え、
前記コンピュータ・メモリの内部には、
データ・ソースの識別を受信し、
識別された前記データ・ソースからデータを取得し、
取得された前記データに従って識別された前記データ・ソースにアクセスするように動作可能なユーザ・インターフェース・オブジェクトを作成する
ことが可能なコンピュータ・プログラム命令が配置されている、
システム。
【請求項８】
識別された前記データ・ソースはウェブ・ページであり、前記コンピュータ・メモリの内部には、
前記ウェブ・ページのＨＴＴＰ要求をサーバに送信し、
前記サーバから前記ウェブ・ページのコンテンツを含むＨＴＴＰ応答を受信する
ことが可能なコンピュータ・プログラム命令も配置されている、
請求項７に記載のシステム。
【請求項９】
前記コンピュータ・メモリの内部には、
取得された前記データに従って識別された前記データ・ソースにアクセスするユーザ・インターフェース・オブジェクトを作成し、
ソース情報の記述に関連する表示テキストを作成する
ことが可能なコンピュータ・プログラム命令も配置されている、
請求項７に記載のシステム。
【請求項１０】
前記コンピュータ・メモリの内部には、
取得された前記データに従って識別された前記データ・ソースにアクセスするユーザ・インターフェース・オブジェクトを作成し、
前記ユーザ・インターフェース・オブジェクトを音声イネーブルするように動作可能な文法を作成する
ことが可能なコンピュータ・プログラム命令も配置されている、
請求項７に記載のシステム。
【請求項１１】
前記コンピュータ・メモリの内部には、識別された前記データ・ソースをチャネルに割り当てることが可能なコンピュータ・プログラム命令も配置されている、請求項７に記載のシステム。
【請求項１２】
前記コンピュータ・メモリの内部には、識別された前記データ・ソースをチャネル内の他の合成コンテンツに従って前記チャネルに割り当てることが可能なコンピュータ・プログラム命令も配置されている、請求項１１に記載のシステム。
【請求項１３】
請求項１乃至６のいずれか１つに記載の方法の各ステップをコンピュータに実行させる、コンピュータ・プログラム。
【国際調査報告】
2009515244.tif 000017
2009515244.tif 000018
2009515244.tif 000019