(57)【要約】  本明細書では、コンピューター・アプリケーションの構成機能の発見またはこれへのアクセスを容易にするための検索の提供について記載する。一例として、コンピューター・アプリケーションの構成機能にメタデーターを添付することができる。メタデーターの部分集合を関係する構成機能と相関付けるマトリクスが、メタデーターの部分集合に基づいて、それぞれの構成機能、または関係する構成機能のグループを区別し易くすることができる。ユーザー検索データーを、メタデーターの部分集合に対して参照することができる。データー照合関数によって定められる条件を満たすメタデーターのそれぞれの部分集合を、一致として戻すことができ、一致するメタデーターに関連付けられた構成機能を、検索データーに応答して出力することができる。一部の態様では、構成機能検索のユーザー・カスタム化のために、ユーザーが添付するメタデーターを供給し、他の態様では、使用活動および検索履歴からユーザーの好みを導き出し、予測したユーザーの好みに合わせて検索結果を個別に作成するために、機械学習を採用することができる。【選択図】図１
2014533415.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、
コンピューター・アプリケーションの構成機能と相関付けられた１組のメタデーターにアクセスするように構成された参照コンポーネントと、
前記構成機能のそれぞれと関連付けられた前記１組のメタデーターのそれぞれの部分集合を区別するように構成されたインデックス化コンポーネントと、
１組の検索データーを受け、前記１組の検索データーを前記１組のメタデーターの部分集合と比較し、機能によって定められ前記検索データーに関連する条件を満たすメタデーターの一致部分集合を特定するように構成された検索コンポーネントと、
を含む、システム。
【請求項２】
請求項１記載のシステムであって、更に、コンピューター・アプリケーションによる表示のために、前記１組の検索データーを受けたことに応答して、前記メタデーターの一致部分集合と相関付けられた構成機能を戻すように構成された出力コンポーネントを含む、システム。
【請求項３】
請求項２記載のシステムにおいて、前記出力コンポーネントが、更に、実行可能リンクの選択に応答して、前記コンピューター・アプリケーション内部において前記構成機能を初期化するように構成された前記実行可能リンクを戻すように構成される、システム。
【請求項４】
請求項１記載のシステムにおいて、前記検索コンポーネントが、更に、前記コンピューター・アプリケーションによって表示され、前記検索データーの入力を受けるように構成された検索フィールドを含み、前記検索フィールドが、前記コンピューター・アプリケーションのツールバー・メニュー内に表示されるように構成されるか、またはキーボード入力に応答してポップアップ検索ウィンドウとして表示されるように構成される、システム。
【請求項５】
請求項１記載のシステムであって、更に、マルチアプリケーション構成データーベース３０４を含み、このマルチアプリケーション構成データーベースが、
前記コンピューター・アプリケーションについておよび第２コンピューター・アプリケーションについて、構成機能および関係するメタデーターを格納し、
類似性機能によって定められる条件を満たすメタデーターのそれぞれの部分集合を有する、前記コンピューター・アプリケーションの構成機能および前記第２コンピューター・アプリケーションの構成機能を相関付ける、
ように構成される、システム。
【請求項６】
請求項５記載のシステムであって、更に、前記検索コンポーネントが前記１組の検索データーを受けたことに応答して前記マルチアプリケーション構成データーベースにアクセスし、前記検索コンポーネントに、前記１組の検索データーに関係するメタデーターを有する前記第２コンピューター・アプリケーションの構成機能を戻すように構成された互換性コンポーネントを含む、システム。
【請求項７】
請求項１記載のシステムであって、更に、
前記メタデーターの一致部分集合と関連付けられた構成機能の利用を記述するように構成されたオーディオ、ビデオ、画像、またはマルチメディア・コンテンツを実行するように構成されたチュートリアル・コンポーネントと、
ユーザー・インターフェースの入力に応答して、前記１組のメタデーターまたは前記１組のメタデーターのそれぞれの部分集合の内１つ以上にユーザー・メタデーターを添付するように構成されたユーザー・ライブラリー・コンポーネントと、
を含む、システム。
【請求項８】
請求項１記載のシステムにおいて、前記１組のメタデーターが、エンド・ユーザー・カテゴリーおよび開発者カテゴリーを含む、コンピューター・アプリケーション・ユーザーの異なる分類毎に類別され、更に、前記検索コンポーネントが、前記１組の検索データーと併せてユーザーのカテゴリーを受け、前記比較から、前記ユーザーのカテゴリーと一致しないメタデーターを除外するように構成される、システム。
【請求項９】
請求項１記載のシステムであって、更に、前記検索フィールドに現在入力されているテキストに応答して、提案検索結果を戻すように構成され、更に前記現在入力されているテキストに対するテキスト変更時に、前記提案検索結果を更新するように構成された予測テキスト・コンポーネントを含み、前記提案検索結果が、以前の複数の組の検索データーからコンパイルされたデーターから、あるいはユーザー添付メタデーターに関してまたは前記１組のメタデーターに関して相関条件を満たす、前記現在入力されているテキストから戻される、システム。
【請求項１０】
請求項９記載のシステムにおいて、前記予測テキスト・コンポーネントが、画像コンテンツ、オーディオ・コンテンツ、ビデオ・コンテンツ、またはマルチメディア・コンテンツの形態で、前記提案検索結果を戻す、システム。
【請求項１１】
請求項１記載のシステムであって、更に、
前記コンピューター・アプリケーションのユーザー使用に関するユーザー構成機能活動を追跡し、少なくとも時間およびコンピューター・アプリケーションの関数として、ユーザー構成機能活動を記録するように構成されたユーザー履歴コンポーネントと、
記録されたユーザー構成機能活動を分析し、前記分析に応答して前記構成機能に重み付けし、前記重みによって前記条件または時間およびコンピューター・アプリケーションの関数を修正するように構成された機械学習コンポーネントと、
を含む、システム。
【請求項１２】
アプリケーションの構成機能へのアクセスを付与する方法であって、
それぞれの構成機能のそれぞれの名称、使用、または用途を記述する、前記アプリケーションのそれぞれの構成機能に、それぞれの組のメタデーターを割り当てるステップと、
前記構成機能および前記割り当てられたそれぞれの組のメタデーターをインデックス化するステップと、
構成機能検索クエリーを受けるステップと、
それぞれの組のメタデーターによって、前記検索クエリーを参照し、前記検索クエリーに関係するデーター照合機能によって定められる条件を満たす１つ以上のそれぞれの組のメタデーターを特定するステップと、
前記条件を満たすそれぞれの組のメタデーターに割り当てられた１つ以上の構成機能を戻すステップと、
を含む、方法。
【請求項１３】
請求項１２記載の方法であって、更に、前記それぞれの構成機能を１組のユーザー別カテゴリーに分類し、前記構成機能検索クエリーを前記１組のユーザー別カテゴリーの内少なくとも１つと照合し、相関関数によって定められた、前記１組のユーザー別カテゴリーの内少なくとも１つとの相関を含むように、前記条件を修正するステップを含む、方法。
【請求項１４】
請求項１３記載の方法であって、更に、前記アプリケーション内におけるユーザー活動を追跡するステップを含み、前記構成機能検索クエリーを前記１組のユーザー別カテゴリーの内少なくとも１つと照合するステップが、前記ユーザー活動を前記１組のユーザー別カテゴリーと相関付け、活動照合関数によって定められる条件を満たすユーザー別カテゴリーを特定するステップを含む、方法。
【請求項１５】
請求項１２記載の方法であって、更に、ユーザー選択構成機能の実行と合わせて、ユーザー選択構成機能の使用について記述する、あるいは前記アプリケーションのユーザー・インターフェース内部における前記ユーザー選択構成機能のユーザー・アクティブ化について詳述する、画像、ビデオ、オーディオ、またはマルチメディア・コンテンツを実行するチュートリアル機能をアクティブ化するステップを含む、方法。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  ソフトウェア・アプリケーションは、アプリケーションのユーザー体験を提供し拡張するために種々のメカニズムを有する。アプリケーションの中には、アプリケーションの表示の境界線、陰影、およびその他の視覚的側面を変更することをユーザーに可能にするように構成されたものもある。アプリケーションの中には、アプリケーションの音、音楽、呼び出し音(ringtone)、およびその他の音響的特徴を変更することをユーザーに可能にするように構成されたものもある。更に他のアプリケーションには、ユーザーが出力情報を受ける、または入力情報をコンピューターおよびコンピューター・アプリケーションに提供する触覚インターフェース（例えば、タッチパッド・スクリーン）を変更する選択肢を設けるものもある。一般的に言うと、ユーザー・インターフェースのカスタム化は、情報をコンピューター・アプリケーションのユーザーから受け取るまたはユーザーに出力することができる種々の方法と同程度に豊富でしかも多様にすることができる。
【０００２】
[0002]  アプリケーションが複雑になるに連れて、コンピューター・アプリケーションの機能および機能性(functions and functionality)の数が著しく増加する可能性がある。例えば、文書処理アプリケーションを取り上げる。このようなアプリケーションは、手紙、はがき、文書、プレゼンテーション資料、バナー、署名(sign)等の生成を容易にするための機能をおそらく有するであろう。アプリケーションは、これら異なるタイプの文書毎に、異なる１組のデフォルト・パラメーターを収容することができる。このようなパラメーターは、文書境界(boundary)の寸法、境界線(border)および余白の寸法、視覚的アートワーク、予め構成されたテキスト・フィールド等も含むことができる。加えて、これらのパラメーターの多くは、ユーザーがカスタム化することができ、その場合、アプリケーションはユーザーのパラメーター値を受けるために制御インターフェース（例えば、境界線および余白のための制御ダイアログ・ボックス等）を含む。一般に、異なるアプリケーション機能性および機構(feature)は、これらの機能性および機構に関連付けられたパラメーターのユーザー・カスタム化のために、関連するユーザー選択肢または選好設定値を有する。これらのユーザー選択肢および選好設定値も、構成機能と呼ばれる。
【０００３】
[0003]  コンピューター・アプリケーションの構成機能を編成するために採用される方法には、メニュー、リボン、ダイアログ・ボックス、ツールバー等を作成することを含むものもあり、これらは構成機能を種々のカテゴリーに編成する。例えば、１組のメニューが、とりわけ、ファイル・メニュー、編集メニュー、および視聴メニュー(viewing menu)を含むのでもよく、これらのカテゴリーに関係する構成機能にアクセスすることができる。他のアプリケーションは、ツールバーまたはポップアップ・ボックスにおいて関係する構成機能を編成することができ、一方、アプリケーションの中には、構成機能を編成するために、これらまたは同様のメカニズムの組み合わせを採用するものもある。このように、アプリケーションの中にはいくつかの構成機能を多数の方法で構成できるものがある。例えば、編集メニュー上でアクセス可能な機能性は、編集ツールバー上でも利用可能である等という場合もある。
【０００４】
[0004]  メニュー、ツールバー、およびダイアログ・ボックスはコンピューター・アプリケーションにおいて構成機能を編成するための精巧な方法を提供するが、このような機能の多さに、ユーザーは、特に、アプリケーションに精通していないユーザー、または異なる編成を有する以前のバージョンのアプリケーションに精通するユーザーは、未だに閉口させられることもある。例えば、ソフトウェア開発における１つの問題は、新たなアプリケーション機能性を提供することであり、そしてナビゲートするのが容易なインターフェースによって、広い底面のユーザーに受けるようなやり方でユーザーの心配事を解決することである。新たなバージョンのコンピューター・アプリケーションに移るとき妨害になるのは、ユーザー・インターフェースとの馴染みがないことから生産性を失うことの虞である。コンピューター・アプリケーションを提供するソフトウェア開発に対する課題は、愉快なユーザー体験を提供しつつ、ユーザーの生産性に影響を及ぼすことなく、新たな機能を含ませ、動作不能な機能性または効果的でない機能性を修正することである。
【発明の概要】
【０００５】
[0005]  ここでは、更に詳細な説明および添付図面において出てくる非限定的な実施形態例の種々の態様の基本的または総合的な理解を可能にするのに役立つために、簡略化した摘要を示す。この摘要は、しかしながら、広範なまたは網羅的な全体像であることは意図していない。実際、この摘要の唯一の目的は、以下に続く種々の実施形態の更に詳細な説明に対する序文として、非限定的な実施形態例に関する概念の一部を簡略化した形態で紹介することである。
【０００６】
[0006]  特定の態様において、システムを開示する。このシステムは、コンピューター・アプリケーションの構成機能と相関付けられた１組のメタデーターにアクセスするように構成された参照コンポーネントと、構成機能のそれぞれと関連付けられた１組のメタデーターのそれぞれの部分集合を区別するように構成されたインデックス化コンポーネントと、１組の検索データーを受け、１組の検索データーを１組のメタデーターの部分集合と比較し、機能によって定められる、検索データーに関連する条件を満たすメタデーターの一致部分集合を特定するように構成された検索コンポーネントとを含む。
【０００７】
[0007]  他の態様では、アプリケーションの構成機能へのアクセスを付与する方法を開示する。この方法は、それぞれの構成機能のそれぞれの名称、使用、または用途を記述する、アプリケーションのそれぞれの構成機能に、それぞれの組のメタデーターを割り当てるステップと、構成機能および割り当てられたそれぞれの組のメタデーターをインデックス化するステップと、構成機能検索クエリーを受けるステップと、それぞれの組のメタデーターによって、検索クエリーを参照し、検索クエリーに関係するデーター照合機能によって定められる条件を満たす１つ以上のそれぞれの組のメタデーターを特定するステップと、条件を満たすそれぞれの組のメタデーターに割り当てられた１つ以上の構成機能を戻すステップとを含む。
【０００８】
[0008]  更に他の態様において、本主題の開示は、命令を含むコンピューター読み取り可能媒体を提供する。この命令は、プロセッサーによって実行されると、アプリケーションの構成機能へのユーザー・アクセスを容易にする。この命令は、区別(distinguishing)メタデーターをアプリケーションのそれぞれの構成機能に割り当てる命令と、構成機能および区別メタデーターをインデックス化する命令と、アプリケーションの構成機能に関連する検索クエリーを受ける命令と、検索クエリーと相関付けられた区別メタデーターから、相関関数によって定められる条件を十分に満たす部分集合を特定するために区別メタデーターを検索する命令と、検索クエリーに応答して、区別メタデーターの部分集合に関連付けられた構成機能を戻す命令とを含む。
【０００９】
[0009]  本主題の開示の種々の態様によれば、本明細書では、コンピューター・アプリケーションの構成機能にアクセスすることと結びついた、ユーザーが実施可能な検索(user-enabled search)を提供する。特定の態様では、コンピューター・アプリケーションの構成機能にメタデーターを添付することができる。次いで、それぞれの組のメタデーターは、それぞれの構成機能、または関係する構成機能のグループを区別するために用いることができる。ユーザーは、検索データーを入力することができ、この検索データーは、メタデーターの組に対する参照であることができる。それぞれの組のメタデーターの内、データー照合機能によって定められる条件を満たすものを、一致として返すことができ、一致メタデーターに関連付けられた構成機能を、検索データーに応答して出力することができる。
【００１０】
[0010]    本主題の開示の非限定的な態様では、オーディオ、ビジュアル、またはマルチメディア・コンテンツを、構成機能の検索に合わせて供給することができる。このコンテンツは、ユーザー・インターフェースを通じてどのように構成機能にアクセスするか、ユーザーに指導するように構成することができる。更に、このコンテンツは、検索に応答して出力される構成機能のリストの中から、特定の構成機能が選択されたときにトリガーすることができる。このように、構成機能を検索し選択することによって、ユーザーはユーザー・インターフェースを通じて構成機能にアクセスすることに馴染みがないことを示す。オーディオ／ビジュアル／マルチメディア・コンテンツは、コンピューター・アプリケーションのユーザー・インターフェースのユーザーの熟達を補足することができる。
【００１１】
[0011]  本主題の開示の更に他の態様では、構成機能検索結果を、リンクのリストとして戻すことができる。リンクを選択すると、選択された構成機能をコールすることができ、これによって、ダイアログ・ボックス、ドロップ−ダウン・メニューを開き、ツールバー機能等をアクティブ化し、構成機能へのユーザー・アクセスを与える。このように、検索は、所望の構成機能への迅速なアクセスを容易にすることができ、コンピューター・アプリケーション内におけるユーザー生産性を高める。
【００１２】
[0012]  １つ以上の追加の態様では、アプリケーション構成機能に添付されるメタデーターは、ユーザーの活動またはユーザーの好みに基づいてカスタム化することができる。このような態様の１つでは、ユーザーは、添付すべきユーザー・メタデーターを特定の構成機能に添付することができ、これによって、このユーザー・メタデーターに関係する検索データーの入力に応答して、その構成機能が戻される確率を変更することができる。他の態様では、コンピューター・アプリケーション内におけるユーザー活動を監視および分析して、コンピューター・アプリケーションの特定のユーザーの使用に関係する追加のメタデーターを生成することができる。このメタデーターは、ユーザーがどのようにユーザー・インターフェースの種々の態様と対話処理するか、どの選択肢または好みをユーザーが選択するか等について記述することができる。このメタデーターは、ユーザー活動に基づいて今後の検索結果を改良するために、適した構成機能に添付することができる。少なくとも１つの追加の態様では、メタデーターを導き出すためまたは検索を行うために機械学習を採用することができ、コンピューター・アプリケーションの構成機能性をコンピューター・アプリケーションの特定のユーザーに合わせて改造するための、精巧な１組のアルゴリズムを提供する。
【００１３】
[0013]  他の実施形態、ならびに種々の非限定的な例、シナリオ、および実施態様についても以下で更に詳しく説明する。
【図面の簡単な説明】
【００１４】
[0014]  種々の非限定的な実施形態について、添付図面を参照しながら更に説明する。
【図１】図１は、本明細書において開示される態様にしたがって、アプリケーションの構成機能を求める検索を設けるシステム例のブロック図を示す。
【図２】図２は、構成機能に対するマルチメディア出力およびインタラクティブ命令を供給するサンプル・システムのブロック図を示す。
【図３】図３は、態様にしたがって構成機能検索に対するマルチアプリケーション・サポートを提供するシステム例のブロック図を示す。
【図４】図４は、他の態様による、構成機能検索の実施態様例のブロック図を示す。
【図５】図５は、構成機能検索のためにユーザー・カスタム化および機械学習を設けるシステム例のブロック図を示す。
【図６】図６は、他の態様にしたがって、コンピューター・アプリケーション構成機能を求めるユーザー検索を設ける方法例のフローチャートを示す。
【図７】図７は、ある態様においてユーザー検索データーを受け、関係する構成機能を特定し戻すサンプル方法のフローチャートを示す。
【図８】図は、他の態様にしたがって、構成機能に関係するユーザー・カスタム化可能な検索を設ける方法例のフローチャートを示す。
【図９】図９は、コンピューター・アプリケーションの特定のユーザーの使用に合わせて改造した検索を設けるサンプル方法のフローチャートを示す。
【図１０】図１０は、本明細書における種々の態様を実現することができる非限定的なネットワーク接続環境例のブロック図を示す。
【図１１】図１１は、１つ以上の態様を実現することができる非限定的な計算システム例を表すブロック図を示す。
【発明を実施するための形態】
【００１５】
全体像
[0026]  背景の章で端的に述べたように、コンピューター・アプリケーションの構成機能性の編成は、ソフトウェア開発技術者にとって難しい作業となり得る。特に、大きな市場に受け入れられるアプリケーションを達成するためには広範囲のアプリケーション・ユーザーに対する相容れない目標を満たさなければならない。このため、例えば、ユーザー・インターフェースは、生産性があるだけでなく、美的感覚に優れていなければならず、アプリケーション内部においてタスクを実行するときに補助となる機能にユーザーが素早くアクセスできるようにしなければならない。更に、ユーザーがアプリケーション機構の動作、外観、または実行を制御するためにパラメーターを入力することができるユーザー選択肢、ユーザーの好み等を含む、ユーザーがカスタム化可能な設定値は、ユーザー・インターフェースを混乱させることなく、容易にアクセス可能でなければならない。これらのユーザー・カスタム化可能設定値をここでは、構成機能(configuration function)と呼ぶ。
【００１６】
[0027]  成功するコンピューター・アプリケーションは、多くの場合、機能性(functionality)および構成機能(configuration functions)に伴う表示の乱雑を最小限に抑えつつ、高度なユーザー構成と結び付けられた多様な機能性を含む。表示の乱雑を最小限に抑えるために、機能性および構成機能に関係するユーザー・インターフェース制御手段（例えば、ダイアログ・ボックス）は、ユーザー・インターフェースを通じてアクセスされるまでは、表示内部に隠されていることが多い。一方、アクセス・メカニズムは、トップ−ダウン・メニュー、隠すことができる／移動可能なツールバー、またはショートカット・キー／キーの組み合わせ等の後ろに隠すことができる。アクセス・メカニズムに馴染みがあると、強力なアプリケーション機能に素早くアクセスして実施することができる。強力なアプリケーション機能は、俗語の「パワー・ユーザー」という名称に関連付けられることがある。典型的なパワー・ユーザーは、彼らがアプリケーションの既存バージョンにおいて既に培った高い水準の生産性を失うことを恐れて、同じアプリケーションの新バージョンであっても、彼らに馴染みがない他のアプリケーションに切り替えることを嫌うことが多い。したがって、機能性および美的外観を最大限高めつつ学習時間を短縮することは、ソフトウェア・アプリケーション開発における共通の課題である。
【００１７】
[0028]  これらおよび関係する問題に取り組むために、本主題の開示は、コンピューター・アプリケーションの構成機能にアクセスすることと合わせた検索を提供する(provide for)。この検索を容易にするために、メタデーターを構成機能に添付することができる。アプリケーションは、構成機能に対して検索データーを入力するための検索フィールドを含むことができる。この検索フィールド内に入力された検索データーは、構成機能に添付されたメタデーターに関して分析することができ、メタデーターの部分集合が、識別された検索データーに関係すると判定される。この識別されたメタデーターに関連付けられた１つ以上の構成機能を、検索に応答して戻すことができる。開示する態様の中には、検索が、選択された構成機能へのアクセスを付与するリンクのリストを、このような選択に応答して戻すことができる場合もある。他の態様では、構成機能の選択がチュートリアル・コンテンツ(tutorial content)を開始することができる。チュートリアル・コンテンツは、コンピューター・アプリケーションのユーザー・インターフェースを通じて構成機能にどのようにアクセスするかについて、ユーザーに指導する。１つ以上の追加の態様によれば、ユーザー関係メタデーターを構成機能と合体させることによって、ユーザーまたはアプリケーションのユーザーの使用に合わせて、構成機能検索をカスタム化することができる。少なくとも１つの態様では、検索は、ユーザーの好みおよび使用の堅牢で精巧な分析を行うために機械学習によって拡張し(enhance)、コンピューター・アプリケーションの構成機能に関係する検索および検索結果を最適化することができる。
【００１８】
[0029]  これより図面を参照すると、図１は、本主題の開示の１つ以上の態様にしたがって、コンピューター・アプリケーションの構成機能を特定するまたは構成機能にアクセスすることに合わせてキーワード・ベースの検索を行うように構成されたシステム例１００のブロック図を示す。キーワード・ベースの検索は、種々の検索アルゴリズムを含むことができ、データーを受け、受けたデーターを１組の格納されたデーターと比較し、１組の格納データーの部分集合と、受けたデーターとの間における類似性を導き出し、この類似性から検索結果が編集され、応答して出力される。種々の検索メカニズムが、「検索」という用語の意味の中に含まれ、ネットワークまたはウェブ検索エンジン（例えば、Microsoft Corporationによって提供されるbing（登録商標）検索エンジン等のような、インターネット検索エンジン）、アプリケーション・ベースの検索エンジン（例えば、特定のアプリケーション内に内蔵された検索ユーティリティ）等が含まれ、本明細書において説明するように、これらのエンジンは、検索機能性(searching functionality)を設けるために改造することができる。
【００１９】
[0030]  図示のように、システム１００は、データーを格納するためにデーターベース１１２と通信可能に接続された構成検索システム１０２を備えることができる。構成検索システム１０２は、ユーザー入力情報を受けるように構成され、更に出力媒体（例えば、グラフィカル・ディスプレイ、オーディオ・スピーカー、触覚インターフェース等）にユーザー情報を出力するように構成されたユーザー・インターフェース・コンポーネント１０４を備えることができる。特に、ユーザー・インターフェース・コンポーネント１０４は、検索データーを含むユーザー入力１０６を得るように構成することができる。ユーザー入力は、テキスト・データー（例えば、構成機能検索に関係するテキスト・フィールドに入力される。以下の図４を参照のこと）、テキスト・データーに変換される音声データー（例えば、音声−テキスト・アプリケーションによる処理に応答して）、ユーザー・インターフェース選択（例えば、キーボード入力、マウス選択、タッチパッドまたはタッチ・スクリーン選択によって選択される）、または他の適したユーザー入力メカニズムを含むことができる。
【００２０】
[0031]  ユーザー入力１０６は、ユーザー・インターフェース・コンポーネント１０４において受け取られる。相応しい場合には、ユーザー・インターフェース・コンポーネント１０４は、ユーザー入力１０６に収容された検索データーを異なるデーター形式でレンダリングするように構成することができる。例えば、特定の言語のテキスト・データーをＡＳＣＩＩデーター、機械コード、または他の何らかの適したデーター・フォーマットに変換して、検索データーの分析および処理をやりやすくすることができる。
【００２１】
[0032]  構成検索システム１０４は、更に、検索エンジン１０８も備えることができる。検索エンジン１０８は、ユーザー入力１０４から受けた検索データーを利用して、コンピューター・アプリケーションの構成機能の内、この検索データーに関係する１つ以上を特定するように構成される。検索および特定を容易にするために、検索エンジン１０８は、データーベースのメタデーター・ファイル１１４に格納された１組のメタデーターにアクセスするように構成された参照コンポーネント１１０を備えることができる。メタデーター・ファイル１１４に格納された１組のメタデーターは、データーベース１１２によって、構成機能ファイル１１６に格納されたコンピューター・アプリケーションの構成機能に添付することができる。例えば、メタデーターの部分集合を個々の構成機能、または構成機能のグループと、これらの構成機能または構成機能のグループのカテゴリー、名称、記述、使用、使用のコンテキスト等、またはその組み合わせに基づいて相関付けることができる。メタデーターと構成機能との間におけるこの関係にしたがって、インデックス化コンポーネント１１８は、１組のメタデーターの内、構成機能のそれぞれ、または構成機能のそれぞれのグループと関連付けられたそれぞれの部分集合を区別するように構成することができる。これは、メタデーター・ファイル１１４に格納されたメタデーターの内、個々の構成機能または構成機能のグループ、あるいはその組み合わせと相関付けられたそれぞれの部分集合における差を利用することによって行うことができる。格納されたメタデーターの部分集合を参照コンポーネント１１０から受け取ることによって、インデックス化コンポーネント１１８は、次に、構成機能ファイル１１６からの構成機能にアクセスし、特定のコンピューター・アプリケーションに対する構成機能およびメタデーターのマトリクスをコンパイルすることができる。本主題の開示の態様の中には、インデックス化コンポーネント１１８が、更に、ユーザーの好みまたはユーザー使用活動と合わせて、１つのコンピューター・アプリケーションまたは多数のコンピューター・アプリケーション、あるいはその適した組み合わせに対して参照される、構成機能およびメタデーターのマトリクスをコンパイルすることもできる。
【００２２】
[0033]  以上のことに加えて、検索エンジン１０８は検索コンポーネント１２０も備えることができる。検索コンポーネント１２０は、１組の検索データーを参照コンポーネント１１０から受け取り、この１組の検索データーを、インデックス化コンポーネント１１８によってコンパイルされた１組のメタデーターの部分集合と比較するように構成される。更に、検索コンポーネント１２０は、機能によって定められる検索データーに関連する条件を満たすメタデーターの一致部分集合を特定するように構成することができる。例えば、この条件は、その機能によって確定された１組の関連性判断基準を満たすことを含むことができるが、１組の検索データーに関する検索に関係する他の適した条件も、加えてまたは代わりに、利用することができる。次いで、検索コンポーネント１２０は、条件を満たすメタデーターの部分集合と相関付けられた１つ以上の構成機能を特定するように構成することができる。これら１つ以上の構成機能は、検索に応答して戻すことができる。
【００２３】
[0034]  本主題の開示の少なくとも１つの態様では、検索エンジン１０８は、ユーザーが構成機能検索を開始したことに少なくとも部分的に基づいて、検索を行うように構成することができる。例えば、検索データーを入力するエンド・ユーザーは、エンド・ユーザーの分類に基づいて１組の構成機能結果を受けることができ、一方アプリケーション開発者は検索データーを入力し、開発者分類等に基づいて、第２組の構成機能結果を受けることができる。このような結果は、例えば、メタデーター・ファイル１１４に格納された１組のメタデーターが、コンピューター・アプリケーション・ユーザー（エンド・ユーザー・カテゴリーおよび開発者カテゴリーを含む）の異なる分類毎に類別されるときに得ることができる。このような場合、検索コンポーネント１２０は、１組の検索データーと合わせてユーザーのカテゴリーを受けるように構成することができ、ユーザーのカテゴリーに矛盾する(inconsistent)メタデーターを比較から除外する。代案として、検索コンポーネントが、ユーザーのカテゴリーにしたがって、機能によって定められる条件を変更して、第１組のメタデーターにはエンド・ユーザーに対する条件を満たさせるが開発者に対する条件は満たさないようにさせることができ、第２組のメタデーターには開発者に対する条件を満たさせるがユーザーに対する条件は満たさせないようにすることができる等となる。当技術分野において知られている他の実施態様、または本明細書において示されたコンテキストによって当業者が知ることになる他の実施態様も、本主題の開示の範囲内にあると見なす。
【００２４】
[0035]  図２は、本主題の開示の追加の態様にしたがって、コンピューター・アプリケーション構成機能と合わせて、検索機能性を設けるように構成されたシステム例２００のブロック図を示す。具体的には、システム２００は、構成機能検索に応答して検索結果を出力するように構成することができる。検索結果は、更に、検索に応答して戻される構成機能に対する選択およびアクセスを容易にするように構成することができる。少なくとも１つの態様では、システム２００は、関連するコンピューター・アプリケーションのユーザー・インターフェースを通じて、１つ以上の構成検索機能にアクセスするときにユーザーやさしく指導して、ユーザーのコンピューター・アプリケーションの知識および熟達を向上させることができる。
【００２５】
[0036]  システム２００は、構成検索システム２０２を備えることができる。構成検索システム２０２は、構成機能の検索を実行し、この検索に応答して１つ以上の構成機能を戻すことができる。ユーザー・インターフェース・コンポーネント２０４は、ユーザーのデーター入力から検索データーを得るように構成することができ、このデーターを検索エンジン２０６に供給することができる。検索エンジン２０６は、本主題の開示のある態様によれば、図１の検索エンジン１０８と実質的に同様にすることができ、他の態様では、検索エンジン２０６は、検索エンジン１０８の機構の一部または全部を含むことができ、または全く含まないことも可能である。種々の態様によれば、検索エンジン２０６は、検索データーを用いて、この検索データーに関係する１つ以上の構成機能を引き出すことができる。構成機能は、検索結果として出力コンポーネント２０８に供給することができる。
【００２６】
[0037]  出力コンポーネント２０８は、検索エンジン２０６によって特定されたメタデーターの一致部分集合と相関付けられた１つ以上の構成機能を、ユーザー・インターフェース・コンポーネント２０４、および構成検索システム２０２（例えば、以下の図１０を参照）と関連付けられた計算デバイスの出力メディア・デバイスに戻すように構成することができる。一例として、構成機能をアプリケーション・コンテンツ・メッセージ２１２に含ませることができる。アプリケーション・コンテンツ・メッセージ２１２は、ディスプレイ・デバイス２１６に送られる視覚コンテンツ２１４、またはオーディオ・デバイス２２０（例えば、スピーカー）に送られるオーディオ・コンテンツ２１８、または他のメディア・デバイスに送られる他のメディア・コンテンツ（例えば、触覚ユーザー・インターフェース・デバイスに送られる触覚情報）を含む。加えて、本主題の開示の少なくとも一部の態様では、出力コンポーネント２０８は、更に、検索データーに応答して１つ以上の構成機能を表す１つ以上の実行可能リンクを戻すように構成することもできる。実行可能リンクは、例えば、実行可能リンクの選択に応答して、コンピューター・アプリケーション内部において構成機能を初期化するように構成することができる。
【００２７】
[0038]  本主題の開示の１つ以上の代わりの態様または追加の態様によれば、構成検索システム２０２はチュートリアル・コンポーネント２１０を備えることができる。チュートリアル・コンポーネント２１０は、１つ以上の構成機能に関連する構成機能の利用について記述するように構成されるオーディオ、ビデオ、画像、またはマルチメディア・コンテンツを実行するように構成することができる。具体的には、このコンテンツは、コンピューター・アプリケーションのユーザー・インターフェースを通じて構成機能（１つまたは複数）にどのようにアクセスするかについて記述することができる。一例では、ユーザーがコンテンツを再生させたいか否か要求するユーザー・インターフェース・クエリーがコンテンツに先行することができ、ユーザー・インターフェース・クエリーに応答して、ユーザーによる受け入れを条件に、コンテンツの実行を行うことができる。他の例では、コンテンツの実行は、コンピューター・アプリケーションのユーザーの好み（例えば、構成機能）において設定することができる。このようなコンテンツの例には、構成機能にアクセスすることができるメニューまたはツールバーまでのマウス・ポインタの移動を表示するビデオ、コンピューター・アプリケーションのユーザー・インターフェースにおいて構成機能にアクセスすることを描画する１組の写真(picture)等を含むことができる。
【００２８】
[0039]  図３は、本主題の開示の更に他の態様にしたがって、多数のコンピューター・アプリケーションに跨がって構成機能の検索を行うことに備えるシステム例３００のブロック図を示す。加えて、システム３００は、多数のアプリケーション間において同様の構成機能を識別し、第２アプリケーションに関係する検索データーに基づいて、第１アプリケーションの１つ以上の構成機能を出力するように構成することができる。したがって、システム３００は少なくとも部分的に、第１アプリケーションの体験および知識に基づいて、第２アプリケーションにおけるユーザーの使いやすさ(facility)および洞察力(acumen)を得やすくすることができる。
【００２９】
[0040]  システム３００は、マルチアプリケーション構成データーベース３０４と通信可能に接続された構成検索システム３０２を備えることができる。構成検索システム３０２は、ユーザー・インターフェース・コンポーネント３０６を備えることができる。ユーザー・インターフェース・コンポーネント３０６は、第１アプリケーション内においてこの第１アプリケーションに関連するユーザー検索データーを受け、この検索データーを検索エンジン３０８に供給するように構成される。検索エンジン３０８は、互換性コンポーネント(compatibility component)３１０を採用することができる。互換性コンポーネント３１０は、検索エンジン３０８が１組の検索データーを受けたことに応答してマルチアプリケーション構成データーベース３０４にアクセスし、少なくとも１組の検索データーに関係するメタデーターを有する第２コンピューター・アプリケーションの少なくとも１つの構成機能を検索エンジン３０８に戻すように構成される。
【００３０】
[0041]  アプリケーション相互構成検索(cross-application configuration searching)を容易にするために、マルチアプリケーション構成データーベース３０４は、多数のコンピューター・アプリケーションの構成機能に添付されたメタデーターを含み、マルチアプリケーション・メタデーター・ファイル３１２にメタデーターを格納することができる（アプリケーション１−Ｘ、ここでｘは１よりも大きい適した整数である）。多数のアプリケーションに対する構成機能は、アプリケーション構成機能ファイル３１４に格納することができる。加えて、マルチアプリケーション構成データーベース３０４は、多数のアプリケーションに共通する構成機能、あるいはメタデーター類似性関数(metadata similarity function)によって定められる多数のアプリケーションに対して同様の構成機能または関係する構成機能を、アプリケーション相互構成機能ファイル３１６に格納することもできる。メタデーターと構成機能との間の多数のアプリケーションに跨がる関係を格納することによって、マルチアプリケーション構成データーベース３０４は、更に、類似性関数によって定められる条件を満たすメタデーターのそれぞれの部分集合を有する多数のコンピューター・アプリケーションの構成機能を相互相関付けるように構成することができる。このように、マルチアプリケーション・メタデーター・ファイル３１２に格納されたマルチアプリケーション・メタデーターによって検索データーを参照することによって、マルチアプリケーション構成データーベース３０４によって格納された多数のアプリケーションの構成機能を、検索に応答して戻し、検索エンジン３０８およびユーザー・インターフェース・コンポーネント３０６に供給し、この検索に応答してユーザーに戻すことができる。
【００３１】
[0042]  図４は、本明細書において開示する態様による、構成機能検索のユーザー・インターフェースの実施態様例を示す。固定検索実施態様４００Ａが図４の上側に図示されている。固定検索実施態様４００Ａは、表示ウィンドウ４０２Ａを備える。表示ウィンドウ４０２Ａは、本主題の開示の一態様ではコンピューター・アプリケーション用のビュー・ウィンドウとすることができるが、他の態様では、表示ウィンドウ４０２Ａは、コンピューター・アプリケーション内部において生成された(spawn)ウィンドウとすることができ、またはコンピューターのオペレーティング・システムによってコンピューター・アプリケーションの外部で生成されたウィンドウとすることもできる。図示のように、表示ウィンドウ４０２Ａは固定検索フィールド４０４Ａを含むことができる。固定検索フィールド４０４Ａは、図示のように、メニュー・バーに隣接して配置することができ、または表示ウィンドウ４０２Ａ内部の他の固定位置にあることもできる。他の位置は、表示ウィンドウ４０２Ａの底辺における境界線（図示せず）、または表示ウィンドウ４０２Ａの１つの辺上の境界線を含むことができる。更に、固定検索フィールド４０４Ａは、入力フィールド４０６Ａを備えることができ、この入力フィールド４０６Ａにユーザーがテキストを入力することができる。入力フィールド４０６Ａに入力されたテキストは、例えば、本明細書において説明するように、コンピューター・アプリケーション（１つまたは複数）の構成機能を検索するためのキーワードとして採用することができる。検索を行うとき、検索と一致する構成機能結果が、結果ウィンドウ４０８Ａに戻される。結果ウィンドウ４０８Ａは、ドロップ−ダウン・ウィンドウとして実現することができ、構成機能結果の部分集合を見るためにスクローリング技法または他のナビゲーション技法を組み込む。少なくとも１つの態様では、構成機能結果はリンクを含むことができ、これらのリンクは、選択されたリンクに関連する構成機能を実行するように構成される。
【００３２】
[0043]  図４の下部には、可動検索実施態様４００Ｂが示されている。可動検索実施態様４００Ｂは、表示ウィンドウ４０２Ｂを備えており、これは先に説明した表示ウィンドウ４０２Ａと実質的に同様にすることができる。表示ウィンドウ４０２Ｂの内部に可動検索フィールド４０４Ｂがある。可動検索フィールド４０４Ｂは、表示ウィンドウ４０２Ｂ全域において位置付けることができる。位置付けのし直しは、マウス入力デバイスによって可動検索フィールド４０４Ｂをクリックしてドラッグすることによって、表示ウィンドウ４０２Ｂ内における垂直および水平位置を指定することによって等で、行うことができる。可動検索フィールド４０４Ｂは、本主題の開示の一部の態様では、キーボード入力、マウス入力、メニュー選択、ツールバー選択、またはその適した組み合わせによって、隠すことまたは露出することができる。露出されているとき、入力フィールド４０６Ａに関して先に説明したのと同様に、ユーザー・テキストを入力フィールド４０６Ｂに入力することができる。構成機能検索結果は、結果ウィンドウ４０８Ｂに出力することができ、結果ウィンドウ４０８Ｂは、ある態様では構成機能を実行するように構成されたリンクを含むことができる。
【００３３】
[0044]  図５は、コンピューター・アプリケーションの構成機能検索能力のユーザー・カスタム化に備えるように構成されたシステム例５００のブロック図を示す。加えて、システム５００は、特定のユーザーの好みまたは使用履歴に合わせて個別製作される検索結果を供給するために、機械学習機能性を組み込むことができる。このように、システム５００は、ユーザーの要望および好みに合わせて適合するように構成された構成機能検索をやりやすくして、一層堅牢なユーザー体験を提供することができる。
【００３４】
[0045]  システム５００は、メタデーター・データーベース５０８に通信可能に接続された構成検索システム５０２を備えることができる。構成検索システム５０２に関連する処理デバイス、コンピューター・デバイス、電子デバイス等のユーザー・インターフェースに関連付けられたユーザー・インターフェース・コンポーネント５０４を利用して、キーワード、テキスト、またはその他の検索データーを受けることができる。キーワード、テキスト、またはその他の検索データーは、検索エンジン５０６によってユーザー検索データーとして採用することができる。検索エンジン５０６は、データー照合機能によって定められる条件を満たす関連メタデーターを有するコンピューター・アプリケーション（１つまたは複数）の構成機能を識別する。識別された構成機能は、出力コンポーネント５１０およびユーザー・インターフェース・コンポーネント５０４による検索に応答して戻すことができる。
【００３５】
[0046]  構成検索システムは、更に、アプリケーションの１人以上のユーザーに合わせて構成機能検索を改造するように構成されたメタデーター／検索カスタム化コンポーネント５１０を備えることができる。例えば、ユーザー・ライブラリー・コンポーネント５１２を採用することができる。これは、メタデーター・ファイル５１６内部のメタデーター・データーベースに格納された１組のメタデーターに、ユーザー・インターフェースでの入力に応答して受け取られたユーザー・メタデーターを添付するように構成される。このユーザー・メタデーターは、ユーザーによって能動的に入力されたメタデーターとすることができ、構成機能ファイル５１４に格納された１つ以上のコンピューター・アプリケーションの１つ以上の構成機能に向けて導くことができる。ユーザー・メタデーターは、一態様では、メタデーター・ファイル５１６に添付することができ、ユーザー・メタデーターがユーザー入力によって導かれる１つ以上の構成機能に関係付けることができる。このように、ユーザー・ライブラリー・コンポーネント５１２は、ユーザーが特定の構成機能に対するメタデーターを入力することを可能にする。ユーザー・メタデーターおよび関係する構成機能の連携(association)は、コンピューター・ユーザーによって行われるやり方で構成機能検索の結果に作用し、構成機能検索のユーザー誘導カスタム化を容易にすることができる。
【００３６】
[0047]  以上のことに加えて、メタデーター／検索カスタム化コンポーネント５１０は、１つ以上のコンピューター・アプリケーションに関係するユーザー活動を監視および分析し、この分析を採用して、構成機能検索結果をアプリケーション・ユーザーの推定される使用または好みと照合する予測判定を行うように構成することができる。メタデーター／検索カスタム化コンポーネント５１０によって予測判定から得られるユーザー特定メタデーターは、選択された構成機能に添付されてユーザー・メタデーター・ファイル５１８に格納することができ、更に任意に、先に論じたように、ユーザー・ライブラリー・コンポーネント５１２によって添付されたユーザー供給ユーザー・メタデーターから区別することができる。加えて、機械学習コンポーネント５２２は、予測判定を行うために１組のアルゴリズムの内１つ以上を採用し、ユーザー特定メタデーターを得て、アプリケーション・ユーザーの推定される使用または好みと一致する構成機能検索結果を変更することができる。
【００３７】
[0048]  構成機能検索結果を最適化するために、機械学習コンポーネント５２２は、ユーザーの使用および好みに合わせて構成されるユーザー供給検索データーに１組の構成機能を戻すことに関係付けて、１組のモデル（例えば、メタデーター・モデル、構成機能モデル、ユーザー使用モデル、データー相関モデル、ユーザー選好モデル、以上に基づく統計モデル等）を利用することができる。これらのモデルは複数の情報（例えば、メタデーター・ファイル５１６に格納されたメタデーター、ユーザー・メタデーター・ファイル５１８に格納されたユーザー・メタデーター、メタデーターまたはユーザー・メタデーターと構成機能ファイル５１４に格納された構成機能との間の連携、検索履歴ファイル５２６に格納された以前の構成機能検索の格納された検索結果等）に基づくことができる。機械学習コンポーネント５２２に関連付けられた最適化ルーチンは、以前に収集されたデーターから訓練されるモデル（１つまたは複数）、モデル混合またはデーター混合方法論(methodology)によって新たなデーターで更新された以前のモデル（１つまたは複数）に基づくモデル（１つまたは複数）、あるいはシード・データーによって訓練され、その後誤り訂正実例の結果として修正されるパラメーターに基づく実際のフィールド・データーによる訓練によってリアル・タイムで調整(tune)されるモデル（１つまたは複数）を設ける(harness)ことができる。
【００３８】
[0049]  加えて、機械学習コンポーネント５２２は、最適化判断に関して判定または推論を行うことと合わせて、ユーザー供給添付メタデーターおよび予測ユーザー関係メタデーターをアプリケーション使用履歴または構成機能検索履歴と相関付けるというように、最適化および機械推論技法を採用することができる。これらは、単独でも、あるいはユーザー入力またはユーザー使用およびユーザー選好分析の１回以上の以前の繰り返し等と合わせてでも可能である。例えば、機械学習コンポーネント５２２は、確率に基づくまたは統計に基づく手法を、格納されたメタデーターをユーザー検索データーと照合することと合わせて採用することができる。推論は、部分的に、分類器(classifier)（１つまたは複数）（図示せず）の明示的な訓練、またはデーター・フィードバック・ループ（図示せず）に基づく暗示的訓練等に基づくことができる。
【００３９】
[0050]  また、機械学習コンポーネント５２２は、本明細書において説明する種々の態様を実現することにしたがって、データーから学習しそのように組み立てられたモデル（例えば、隠れマルコフ・モデル（ＨＭＭ）および関係する原型依存モデル(prototypical dependency model)、例えば、ベイズ・モデル・スコアまたは近似を用いて構造検索によって作成されるベイズ・ネットワークのような更に一般的な確率グラフィカル・モデル、サポート・ベクトル・マシン（ＳＶＭ）のような線形分類器、非線形分類器（例えば、「ニューラル・ネットワーク」方法論、ファジー論理方法論、およびデーター融合(data fusion)を行う他の手法等と呼ばれる方法）から推論を引き出す多数の方法論の内１つを採用することもできる。機械学習コンポーネント５２２によって採用される方法論は、定理証明器(theorem prover)または経験的規則ベース・エキスパート・システムというような、論理関係取り込みメカニズム(mechanism for the capture of logical relationships)を含むこともできる。このような学習されたモデルまたは手作業で組み立てられたモデルから導き出される推論は、予期される検索結果よび供給される検索結果の逸脱を最少にすることに関係する誤りの確率を最大化することを探求する線形および非線形プログラミングというような、他の最適化技法においても採用することができる。例えば、予期される検索結果および供給される検索結果の総合的な精度を最大に高めることは、このような最適化技法によって達成することができる。
【００４０】
[0051]  本主題の開示の特定的な態様によれば、メタデーター／検索カスタム化コンポーネント５１０は、以下のように、以上で説明した最適化および機械学習技法を実現するように構成することができる。ユーザー履歴コンポーネント５２０は、１つ以上のコンピューター・アプリケーションのユーザー使用に関係するユーザー構成機能活動を追跡し、ユーザー構成機能活動を少なくとも時間およびコンピューター・アプリケーションの関数として記録するように構成することができる。加えて、機械学習コンポーネント５２２は、記録されたユーザー構成機能活動を分析し、構成機能または条件およびデーター照合機能に対して最適化重みを採用するように構成することができる。条件およびデーター照合機能は、ユーザー検索データーをメタデーター・ファイル５１６に格納されたメタデーターの部分集合またはメタデーター・ファイル５１８に格納されたユーザー・メタデーターの部分集合と照合するために用いられる。重み付けは、１つ以上のデーター・モデルの結果であり、分析に応答することができ、時間およびコンピューター・アプリケーションの関数とすることができる。他の態様では、メタデーター／検索カスタム化コンポーネント５１０は予測テキスト・コンポーネント５２４を備えることができる。予測テキスト・コンポーネント５２４は、検索フィールド（例えば、以下の図４の検索フィールド４０６Ａまたは４０６Ｂ）に入力されたテキストに応答して、提案された検索結果で検索入力フィールドを自動的に埋めるように構成される。予測テキスト・コンポーネント５２４は、更に、現在入力されているテキストに対するテキスト変更時に、提案された検索結果を更新するように構成することもできる。更にまた、提案された検索結果は、以前の複数組の検索データーからコンパイルされたデーターから戻すことができ、あるいは添付されたメタデーター、ユーザーが添付したメタデーター、またはユーザーのアプリケーション（１つまたは複数）使用から導き出されるメタデーターに関する相関条件を満たす現入力データーから、あるいはその適した組み合わせから戻すことができる。少なくとも１つの開示される態様では、予測テキスト・コンポーネント５２４は、提案された検索結果を、画像コンテンツ、オーディオ・コンテンツ、ビデオ・コンテンツ、またはマルチメディア・コンテンツの形態で戻すように構成することができ、コンテンツは、データーが検索フィールドに入力されるに連れて、再生／表示、または更新することができる。
【００４１】
[0052]  以上で述べた図においては、様々なシステム、装置、コンポーネント、電子回路、または光電子デバイス間における相互作用に関して説明した。尚、このような図は、本明細書において指定されるコンポーネントまたはシステム、指定されるコンポーネントの一部、あるいは追加のコンポーネントを含むことができることは認められてしかるべきである。例えば、あるシステムが、検索エンジン５０６、参照コンポーネント１１０、インデックス化コンポーネント１１８、および検索コンポーネント１２０を含む構成検索システム５００を、マルチアプリケーション構成データーベース３０４と合わせて含むこともできる。また、サブコンポーネントも、親コンポーネント内に含まれるもの以外のサブコンポーネントに接続されたサブコンポとして実現することもできる。加えて、２つ以上のコンポーネントを組み合わせて、集成機能性を設ける１つのコンポーネントにすることもできることも注記してしかるべきである。例えば、参照コンポーネント２０２は、格納されたメタデーターおよび格納された構成機能、ならびにそれらの間の関係にアクセスし易くするため、そして１つのコンポーネントによって、メタデーターの関係する部分集合によってそれぞれの構成機能または構成機能のグループを区別し易くするために、インデックス化コンポーネント２１４を含むことができる。また、開示するシステムおよび装置のコンポーネントは、本明細書では具体的に記載されないが当業者には周知の１つ以上の他のコンポーネント、あるいは本明細書において提示されるコンテキストによって当業者に知られることになる１つ以上の他のコンポーネントと相互作用することもできる。
【００４２】
[0053]  以上で説明した図の例に関して、開示した主題にしたがって実現することができるプロセス方法は、図６から図９のフローチャートを参照することによって、一層よく認識されよう。説明を簡単にする目的のために、方法は一連のブロックとして示され記載されるが、開示する主題はこれらのブロックの順序によって限定されるのではないことは言うまでもないことであり認められてしかるべきである。何故なら、一部のブロックは、本明細書において図示および記載されるものとは異なる順序で出てくるのでも、および／または他のブロックと同時に出てくるのでもよいからである。更に、図示されるブロックの全てが、以下で説明する方法を実現するために必要とされないこともある。加えて、以下で開示する方法は、そしてこの明細書全体にわたって、このような方法を電子デバイスに伝達および転送し易くするために、製造品目上に格納できることも、更に認められてしかるべきである。製造品目という用語は、ここで用いる場合、あらゆるコンピューター読み取り可能デバイス、搬送波と協働するデバイス、または記憶媒体からアクセス可能なコンピューター・プログラムを包含する(encompass)ことを意図している。
【００４３】
[0054]  図６は、本主題の開示の追加の態様にしたがって、コンピューター・アプリケーションの構成機能を発見しこれにアクセスすることに合わせて、検索能力を設けるサンプル方法６００のフローチャートを示す。６０２において、方法６００は、それぞれの組のメタデーターを、それぞれの構成機能のそれぞれの名称、使用、または用途を記述する、コンピューター・アプリケーションのそれぞれの構成機能に割り当てるステップを含むことができる。更に、６０４において、方法６００は、構成機能および割り当てられたそれぞれの組のメタデーターをインデックス化するステップを含むことができる。インデックス化は、例えば、メタデーターおよび関係する構成機能のマトリクスを生成することを含むことができ、任意に関連性(relatedness)の定性的または定量的度合いを含む。６０６において、方法６００は、構成機能検索クエリーを受けるステップを含むことができる。構成機能検索クエリーは、構成機能検索機能性と合わせてユーザー・インターフェースに入力されたデーターを含むことができる。６０８において、方法８００は、それぞれの組のメタデーターで検索クエリーを参照し、検索クエリーに関係するデーター照合機能によって定められる条件を満たす１つ以上のそれぞれの組のメタデーターを特定するステップを含むことができる。６１０において、方法６００は、条件を満たすそれぞれの組のメタデーターに割り当てられた１つ以上の構成機能を戻すステップを含むことができる。
【００４４】
[0055]  図７は、本主題の開示の特定的な態様による方法例７００のブロック図を示す。７０２において、方法７００はコンピューター・アプリケーションの構成機能をリストに纏めるステップを含むことができる。７０４において、方法７００は、それぞれの組のメタデーターをそれぞれの機能に割り当てるステップを含むことができる。メタデーターは、デフォルトのメタデーター、利用する機能の名称データー、機能記述データー、機能使用データー、機能に関連する関係ヘルプ・ファイル・データー、ユーザーが供給するデーター、またはコンピューター・アプリケーションのユーザー使用から導かれるデーター等、あるいはその適した組み合わせとすることができる。７０６において、方法７００は、検索のために複数の組のメタデーターおよび構成機能をインデックス化するステップを含むことができる。７０８において、方法７００は、構成機能を求める検索クエリーを受けるステップを含むことができる。７１０において、方法７００は、複数の組のメタデーターを、検索クエリー内に含まれるデーターと比較するステップを含むことができる。７１２において、方法７００は、データー照合機能によって定められる条件を満たすメタデーターの部分集合を特定するステップを含むことができる。７１４において、方法７００は、条件を満たすメタデーターのそれぞれの部分集合に対して、構成機能を引き出すステップを含むことができる。７１６において、方法７００は、検索クエリーを受けたことに応答して、引き出された構成機能のリストを戻すステップを含むことができる。７１８において、方法７００は、リストにおける１つの構成機能の選択を受けるステップを含むことができる。７２０において、方法７００は、選択された構成機能にアクセスすることに関連するコンテンツを実行するステップを含むことができる。
【００４５】
[0056]  図８は、本主題の開示の１つ以上の追加の態様による方法例８００のフローチャートを示す。具体的には、方法８００は、構成機能検索能力に対するユーザー・カスタム化を設けることができる。８０２において、方法８００は、１組のコンピューター・アプリケーションの構成機能のリストを編集するステップを含むことができる。８０４において、方法８００は、それぞれの組のメタデーターをそれぞれの構成機能に割り当てるステップを含むことができる。少なくとも１つの態様では、１組のコンピューター・アプリケーションのそれぞれのコンピューター・アプリケーション間における機能の類似性に少なくとも部分的に基づいて、それぞれの組のメタデーターを割り当てることができる。８０６において、方法８００は、メタデーター・マトリクス内における検索のために、複数の組のメタデーターおよび構成機能をインデックス化するステップを含むことができる。８０８において、方法８００は、１つ以上の構成機能に対してユーザー関係データーを受けるステップを含むことができる。８１０において、方法８００は、割り当てられたメタデーターにユーザー関係メタデーターを添付するステップを含むことができる。少なくとも１つの開示する態様では、ユーザー関係メタデーターは、コンピューター・アプリケーション（１つまたは複数）のユーザーによって直接供給することができる。他の態様では、ユーザー関係メタデーターは、ユーザー・アプリケーション活動、以前の構成機能検索データーまたは検索結果、あるいはその適した組み合わせから導き出すことができる。
【００４６】
[0057]  ユーザー使用から導かれたメタデーターを提供するために、８１２において、方法８００は、１組のコンピューター・アプリケーションの構成機能に関係するユーザー活動を監視するステップを含むことができる。８１４において、方法８００は構成機能の使用に作用するユーザー・パターンを特定するステップを含むことができる。８１６において、方法８００はユーザー使用パターンから追加のメタデーターを導くことができる。８１８において、方法８００は追加のメタデーターを、関係する構成機能に添付するステップを含むことができる。少なくとも１つの態様では、ユーザー関係メタデーターは、ユーザー毎に添付され、ユーザー識別子、ユーザー・ログイン、ユーザー・ステータス、ユーザー・タイプ（例えば、エンド・ユーザー、開発者等）と合わせて別個に格納および検索することができる。
【００４７】
[0058]  図９は、本主題の開示の更に他の態様にしたがって、構成機能検索能力にインテリジェント予測アルゴリズムを設けるサンプル方法９００のフローチャートを示す。９０２において、方法９００は、コンピューター・アプリケーションの使用に関係するユーザー構成機能活動を追跡するステップを含むことができる。９０４において、方法９００は、少なくとも時間およびコンピューター・アプリケーションの関数として、ユーザー構成機能活動を記録するステップを含むことができる。９０６において、方法９００は、記録された活動を分析し、ユーザーの素性(identity)およびユーザー活動にしたがって構成機能に重み付けするステップを含むことができる。９０８において、方法９００は記録されたユーザー活動の分析に基づいて、構成機能検索結果の成果に作用するために、重み付けした構成機能から少なくとも部分的に検索条件およびデーター照合機能を修正するステップを含むことができる。
ネットワーク接続および分散型環境の例
[0059]  本明細書において説明した検索拡張メニューおよび構成機能についての種々の実施形態は、いずれのコンピューターあるいは他のクライアントまたはサーバー・デバイスと合わせても実現できることを、当業者は認めることができよう。実施形態は、コンピューター・ネットワークの一部としてまたは分散型計算環境において展開することができ、いずれの種類のデーター・ストアにも接続することができる。これに関して、本明細書において説明した種々の実施形態は、いずれの数のメモリーまたは記憶ユニット、ならびにいずれの数の記憶ユニットに跨がって存在するいずれの数のアプリケーションおよびプロセスを有するいずれのコンピューター・システムまたは環境においても実現することができる。これは、リモート・ストレージまたはローカル・ストレージを有し、ネットワーク環境または分散型計算環境において展開されるサーバー・コンピューターおよびクライアント・コンピューターを有する環境を含むが、これに限定されるのではない。
【００４８】
[0060]  分散型計算は、計算デバイスおよびシステム間における通信交換によって、コンピューター・リソースおよびサービスの共有に備える。これらのリソースおよびサービスは、情報の交換、ファイルのようなオブジェクトのキャッシュ・ストレージ、およびディスク・ストレージを含む。また、これらのリソースおよびサービスは、負荷均衡化、リソースの拡張、処理の特殊化等のために、多数の処理ユニットに跨がって処理パワーを共有することも含む。分散型計算は、ネットワーク接続を利用し、クライアントが彼らの集合的パワーを利用して企業全体に利益をもたらすことを可能にする。これに関して、種々のデバイスが、本主題の開示の種々の実施形態について説明した検索拡張メニューおよび構成機能のためのメカニズムに関与するアプリケーション、オブジェクト、またはリソースを有することができる。
【００４９】
[0061]  図１０は、ネットワーク接続または分散型計算環境の一例の模式図を示す。この分散型計算環境は、計算オブジェクト１０１０、１０１２等、および計算オブジェクトまたはデバイス１０２０、１０２２、１０２４、１０２６、１０２８等を備える。これらは、アプリケーション１０３０、１０３２、１０３４、１０３６、１０３８およびデーター・ストア（１つまたは複数）１０４０によって表されるような、プログラム、方法、データー・ストア、プログラマブル・ロジック等を含むことができる。尚、計算オブジェクト１０１０、１０１２等、および計算オブジェクトまたはデバイス１０２０、１０２２、１０２４、１０２６、１０２８等が、パーソナル・ディジタル・アシスタント（ＰＤＡ）、オーディオ／ビデオ・デバイス、移動電話機、ＭＰ３プレーヤー、パーソナル・コンピューター、ラップトップ等のような、異なるデバイスを備えてもよいことは認めることができよう。
【００５０】
[0062]  各計算オブジェクト１０１０、１０１２等、および計算オブジェクトまたはデバイス１０２０、１０２２、１０２４、１０２６、１０２８等は、１つ以上の他の計算オブジェクト１０１０、１０１２等、および計算オブジェクトまたはデバイス１０２０、１０２２、１０２４、１０２６、１０２８等と、通信ネットワーク１０４２を通じて直接または間接的に通信することができる。図１０では１つのエレメントとして示されるが、通信ネットワーク１０４２は図１０のシステムにサービスを提供する他の計算オブジェクトおよび計算デバイスを備えることもでき、および／または図示されない、多数の相互接続されたネットワークを表すこともできる。また、各計算オブジェクト１０１０、１０１２等、あるいは計算オブジェクトまたはデバイス１０２０、１０２２、１０２４、１０２６、１０２８等は、アプリケーション１０３０、１０３２、１０３４、１０３６、１０３８のようなアプリケーションを収容することもできる。このアプリケーションは、本主題の開示の種々の実施形態にしたがって提供される検索拡張メニューおよび構成機能のための技法との通信、またはその実現に適した、ＡＰＩ、あるいは他のオブジェクト、ソフトウェア、ファームウェア、および／またはハードウェアを利用することもできる。
【００５１】
[0063]  分散型計算環境をサポートする種々のシステム、コンポーネント、およびネットワーク構成がある。例えば、有線またはワイヤレス・システムによって、ローカル・ネットワークによって、あるいは広く分散されたネットワークによって、計算システムを互いに接続することができる。現在、多くのネットワークがインターネットに結合され、インターネットは広く分散された計算にインフラストラクチャーを提供し、多くの異なるネットワークを包含するが、種々の実施形態において説明した検索拡張メニューおよび構成機能のためのシステムに付随する通信例にはいずれのネットワーク・インフラストラクチャーでも用いることができる。
【００５２】
[0064]  つまり、クライアント／サーバー、ピア・ツー・ピア、または混成アーキテクチャーというような、ネットワーク・トポロジーおよびネットワーク・インフラストラクチャーのホストを利用することができる。「クライアント」とは、それが関係しない他のクラスまたはグループのサービスを使用するクラスまたはグループの構成物である。クライアントは、プロセスである、即ち、大まかに他のプログラムまたはプロセスによって提供されるサービスを要求する１組の命令またはタスクであることができる。クライアント・プロセスは、他のプログラムまたはサービス自体についての作業詳細を全く「知る」必要なく、要求したサービスを利用する。
【００５３】
[0065]  クライアント／サーバー・アーキテクチャーでは、特にネットワーク型システムでは、クライアントは、通常、他のコンピューター、例えば、サーバーによって提供される共有ネットワーク・リソースにアクセスするコンピューターである。図１０の例示では、非限定的な例として、計算オブジェクトまたはデバイス１０２０、１０２２、１０２４、１０２６、１０２８等は、クライアントと見なすことができ、オブジェクト１０１０、１０１２等は、サーバーと見なすことができる。ここで、サーバー等は、クライアント計算オブジェクトまたはデバイス１０２０、１０２２、１０２４、１０２６、１０２８等からデーターを受信する、データーを格納する、データーを処理する、データーをクライアント計算オブジェクトまたはデバイス１０２０、１０２２、１０２４、１０２６、１０２８等に送るというようなデーター・サービスを提供するが、状況によっては、いずれのコンピューターでもクライアント、サーバー、または双方と見なすことができる。
【００５４】
[0066]  サーバーとは、通例、インターネットまたはワイヤレス・ネットワーク・インフラストラクチャーのような、リモートまたはローカル・ネットワークによってアクセス可能なリモート・コンピューター・システムである。クライアント・プロセスは、第１コンピューター・システムにおいてアクティブであることができ、サーバー・プロセスは第２コンピューター・システムにおいてアクティブであることができ、通信媒体を介して互いに通信し、こうして分散機能を設けて、複数のクライアントがサーバーの情報収集能力を利用することを可能にする。本明細書において説明した技法にしたがって利用されるソフトウェア・オブジェクトはいずれも、単独で提供することができ、あるいは複数の計算デバイスまたはオブジェクト間に跨がって分散させることもできる。
【００５５】
[0067]  通信ネットワーク１０４２またはバスがインターネットであるネットワーク環境では、例えば、計算オブジェクト１０１０、１０１２等がウェブ・サーバーであることができ、他の計算オブジェクトまたはデバイス１０２０、１０２２、１０２４、１０２６、１０２８等は、ハイパーテキスト・トランスファー・プロトコル（ＨＴＴＰ）のような、多数の既知のプロトコルのいずれかによって、ウェブ・サーバーと通信する。また、サーバーとして役割を果たす計算オブジェクト１０１０、１０１２等は、クライアントとして、例えば、計算オブジェクトまたはデバイス１０２０、１０２２、１０２４、１０２６、１０２８等として役割を果たすこともできる。これは、分散型計算環境の特性であると言えよう。
計算デバイス例
[0068]  前述のように、本明細書において記載した技法は、計算システムにおいて、拡張メニューおよび構成機能を検索することが望ましいいずれのデバイスにでも適用できるという利点がある。したがって、種々の実施形態と共に使用するために、即ち、デバイスが、デバイスのリソース使用が最適化されることが望ましいと考えられる場合にはいつでも、ハンドヘルド、携帯用、ならびに他のあらゆる種類の他の計算デバイスおよび計算オブジェクトが想起されることは理解することができよう。したがって、図１１において以下で説明する汎用リモート・コンピューターは、計算デバイスの一例に過ぎない。
【００５６】
[0069]  必須ではないが、実施形態は、デバイスまたはオブジェクトのためのサービスの開発者による使用のために、オペレーティング・システムによって実現することができ、および／または本明細書において説明した種々の実施形態の１つ以上の機能的態様を実行するために動作するアプリケーション・ソフトウェア内に含ませることができる。ソフトウェアは、クライアント・ワークステーション、サーバー、または他のデバイスというような１つ以上のコンピューターによって実行される、プログラム・モジュールのような、コンピューター実行可能命令という一般的なコンテキストで説明することができる。コンピューター・システムは、データーを伝達するために用いることができる種々の構成およびプロトコルを有し、したがって、特定の構成またはプロトコルが限定とは見なされないことは、当業者には認められよう。
【００５７】
[0070]  図１１は、本明細書において説明した実施形態の１つまたは複数の態様を実現することができる、適した計算システム環境１１００の一例を示すが、先に明確にしたように、計算システム環境１１００は、適した計算環境の一例に過ぎず、使用範囲や機能について何ら限定を示唆することは意図していない。また、計算システム環境例１１００の中に示されるコンポーネントのいずれに関してもまたはその組み合わせに関して、計算システム環境１１００が何らかの依存性や要件も有するように解釈してはならない。
【００５８】
[0071]  前述のように、種々の計算デバイスおよびネットワーク・アーキテクチャーと関係付けて実施形態例について説明したが、基礎となる概念は、あらゆるネットワーク・システムおよびあらゆる計算デバイスまたはシステムにも適用することができる。
【００５９】
[0072]  加えて、同じ機能性または同様の機能性を実現するためには、多数の方法があり、例えば、しかるべきＡＰＩ、ツール・キット、ドライバー・コード、オペレーティング・システム、制御手段、単体(standalone)またはダウンロード可能なソフトウェア・オブジェクト等があり、アプリケーションおよびサービスが本明細書において提供した技法を利用することを可能にする。つまり、本明細書における実施形態は、記載された実施形態の１つ以上を実現するソフトウェアまたはハードウェア・オブジェクトから考えることができるだけでなく、ＡＰＩ（または他のソフトウェア・オブジェクト）の視点からも考えることもできる。つまり、本明細書において説明した種々の実施形態は、全体的にハードウェア、部分的にハードウェアそして部分的にソフトウェア、更にはソフトアウェアの態様を有することができる。
【００６０】
[0073]  「一例の」(exemplary)という用語は、本明細書において用いられる場合、例(example)、実例(instance)、または例示(illustration)として役割を果たすことを意味する。疑問回避のために、本明細書において開示される主題はこのような例によって限定されないこととする。加えて、本明細書において「例示」(exemplary)として記載される態様または設計(design)はいずれも、他の態様または設計よりも好ましいまたは有利であるとは必ずしも解釈されず、当業者には知られている等価の構造および技法例を除外することを意味するのでもない。更に、「含む」(include)、「有する」(has)、「収容する」(contain)という用語、およびその他の同様の単語が使用されている限りでは、このような用語は、疑問回避のために、いずれの追加のまたは他のエレメントも除外しない、開いた移行語(open transition word)としての「備える」(comprising)という用語と同様に、包含的であることを意図している。
【００６１】
[0074]  前述のように、本明細書において記載した種々の技法は、ハードウェアまたはソフトウェア、あるいはしかるべきときには、双方の組み合わせによって実現することができる。本明細書において使用する場合、「コンポーネント」、「システム」等の用語は、同様に、ハードウェア、ハードウェアおよびソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかである、コンピューター関係エンティティに言及することを意図している。例えば、コンポーネントは、プロセッサーにおいて実行するプロセス、プロセッサー、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、および／またはコンピューターであってもよいが、これらに限定されるのではない。例示として、コンピューターにおいて実行するアプリケーション、およびこのコンピューターがコンポーネントであることができる。１つ以上のコンポーネントが１つのプロセスおよび／または実行のスレッド内に存在することができ、コンポーネントは、１つのコンピューターに局在すること、および／または２つ以上のコンピューター間で分散されることも可能である。
【００６２】
[0075]  本明細書において説明した種々の実施形態に加えて、他の同様の実施形態も用いることができ、あるいは対応する実施形態（１つまたは複数）の同じまたは同等の機能を実行するために、本発明から逸脱することなく、説明した実施形態（１つまたは複数）に対して変更および追加を行うことができることは言うまでもない。更にまた、多数の処理チップまたは多数のデバイスが、本明細書において説明した１つ以上の機能の実行を共有することもでき、同様に、複数のデバイスに跨がって格納を行うことができる。したがって、種々の実施形態は、いずれの１つの実施形態にも限定されず、逆に、添付する特許請求の範囲にしたがって、その広さ、主旨、および範囲が解釈されてしかるべきである。
【図１】
2014533415.tif 000003
【図２】
2014533415.tif 000004
【図３】
2014533415.tif 000005
【図４】
2014533415.tif 000006
【図５】
2014533415.tif 000007
【図６】
2014533415.tif 000008
【図７】
2014533415.tif 000009
【図８】
2014533415.tif 000010
【図９】
2014533415.tif 000011
【図１０】
2014533415.tif 000012
【図１１】
2014533415.tif 000013
【国際調査報告】
2014533415.tif 000014
2014533415.tif 000015