(58)【調査した分野】(Int.Cl.,DB名)
前記複数のコンポーネントは、更に、前記1組の検索データーを受け取ることに応答して、前記メタデーターの一致部分集合と相関付けられた構成機能を前記コンピューター・アプリケーションによる表示のために戻すように構成された出力コンポーネントを含む、請求項1に記載のシステム。
前記出力コンポーネントは、更に、実行可能リンクを戻すように構成され、前記実行可能リンクは、当該実行可能リンクの選択に応答して、前記コンピューター・アプリケーション内の前記構成機能を初期化するように構成される、請求項2に記載のシステム。
前記検索コンポーネントは、更に、前記コンピューター・アプリケーションによって表示されて前記検索データーの入力を受け取るように構成された検索フィールドを含み、前記検索フィールドは、前記コンピューター・アプリケーションのツールバー・メニュー内に表示されるように構成されるか、またはキーボード入力に応答してポップアップ検索ウィンドウとして表示されるように構成される、請求項1に記載のシステム。
前記コンピューター・アプリケーションと第2コンピューター・アプリケーションについての構成機能および関連するメタデーターを格納するように構成されたマルチアプリケーション構成データーベースを更に備え、
前記マルチアプリケーション構成データーベースは、更に、前記コンピューター・アプリケーションの構成機能と、類似性機能によって定義された条件を満たすメタデーターの各部分集合を有する前記第2コンピューター・アプリケーションの構成機能とを相互に相関付けるように構成される、
請求項1に記載のシステム。
前記検索コンポーネントが前記1組の検索データーを受け取ることに応答して前記マルチアプリケーション構成データーベースにアクセスし、前記1組の検索データーに関連するメタデーターを有する前記第2コンピューター・アプリケーションの構成機能を前記検索コンポーネントに戻すように構成された互換性コンポーネントを更に含む、請求項5に記載のシステム。
前記複数のコンポーネントは、更に、前記検索フィールドに現在入力されているテキストに応答して提案検索結果を戻すように構成され、前記現在入力されているテキストに対するテキスト変更を受けて前記提案検索結果を更新するように構成された予測テキスト・コンポーネントを含み、前記提案検索結果は、検索データーの以前の組からコンパイルされたデーターから、または、ユーザー添付メタデーターもしくは前記1組のメタデーターに関する相関条件を満たす前記現在入力されているテキストから戻される、請求項1に記載のシステム。
前記予測テキスト・コンポーネントは、前記提案検索結果を画像コンテンツ、オーディオ・コンテンツ、ビデオ・コンテンツ、またはマルチメディア・コンテンツの形態で戻す、請求項8に記載のシステム。
前記アプリケーション内におけるユーザー活動を追跡するステップを更に含み、前記構成機能の検索クエリーを前記1組のユーザー別カテゴリーのうちの前記少なくとも1つと照合する前記ステップは、前記ユーザー活動を前記1組のユーザー別カテゴリーと相関付けるステップと、活動照合機能によって定義された条件を満たすユーザー別カテゴリーを特定するステップと、を含む、請求項11に記載の方法。
ユーザー選択構成機能の使用について記述する、または、前記ユーザー選択構成機能を実行することに連携した前記アプリケーションのユーザー・インターフェース内における前記ユーザー選択構成機能のユーザー・アクティブ化について詳述する、画像、ビデオ、オーディオ、もしくはマルチメディア・コンテンツを実行するチュートリアル機能をアクティブ化するステップを更に含む、請求項11に記載の方法。
【発明を実施するための形態】
【0015】
全体像
[0026] 背景の章で端的に述べたように、コンピューター・アプリケーションの構成機能性の編成は、ソフトウェア開発技術者にとって難しい作業となり得る。特に、大きな市場に受け入れられるアプリケーションを達成するためには広範囲のアプリケーション・ユーザーに対する相容れない目標を満たさなければならない。このため、例えば、ユーザー・インターフェースは、生産性があるだけでなく、美的感覚に優れていなければならず、アプリケーション内部においてタスクを実行するときに補助となる機能にユーザーが素早くアクセスできるようにしなければならない。更に、ユーザーがアプリケーション機構の動作、外観、または実行を制御するためにパラメーターを入力することができるユーザー選択肢、ユーザーの好み等を含む、ユーザーがカスタム化可能な設定値は、ユーザー・インターフェースを混乱させることなく、容易にアクセス可能でなければならない。これらのユーザー・カスタム化可能設定値をここでは、構成機能(configuration function)と呼ぶ。
【0016】
[0027] 成功するコンピューター・アプリケーションは、多くの場合、機能性(functionality)および構成機能(configuration functions)に伴う表示の乱雑を最小限に抑えつつ、高度なユーザー構成と結び付けられた多様な機能性を含む。表示の乱雑を最小限に抑えるために、機能性および構成機能に関係するユーザー・インターフェース制御手段(例えば、ダイアログ・ボックス)は、ユーザー・インターフェースを通じてアクセスされるまでは、表示内部に隠されていることが多い。一方、アクセス・メカニズムは、トップ−ダウン・メニュー、隠すことができる/移動可能なツールバー、またはショートカット・キー/キーの組み合わせ等の後ろに隠すことができる。アクセス・メカニズムに馴染みがあると、強力なアプリケーション機能に素早くアクセスして実施することができる。強力なアプリケーション機能は、俗語の「パワー・ユーザー」という名称に関連付けられることがある。典型的なパワー・ユーザーは、彼らがアプリケーションの既存バージョンにおいて既に培った高い水準の生産性を失うことを恐れて、同じアプリケーションの新バージョンであっても、彼らに馴染みがない他のアプリケーションに切り替えることを嫌うことが多い。したがって、機能性および美的外観を最大限高めつつ学習時間を短縮することは、ソフトウェア・アプリケーション開発における共通の課題である。
【0017】
[0028] これらおよび関係する問題に取り組むために、本主題の開示は、コンピューター・アプリケーションの構成機能にアクセスすることと合わせた検索を提供する(provide for)。この検索を容易にするために、メタデーターを構成機能に添付することができる。アプリケーションは、構成機能に対して検索データーを入力するための検索フィールドを含むことができる。この検索フィールド内に入力された検索データーは、構成機能に添付されたメタデーターに関して分析することができ、メタデーターの部分集合が、識別された検索データーに関係すると判定される。この識別されたメタデーターに関連付けられた1つ以上の構成機能を、検索に応答して戻すことができる。開示する態様の中には、検索が、選択された構成機能へのアクセスを付与するリンクのリストを、このような選択に応答して戻すことができる場合もある。他の態様では、構成機能の選択がチュートリアル・コンテンツ(tutorial content)を開始することができる。チュートリアル・コンテンツは、コンピューター・アプリケーションのユーザー・インターフェースを通じて構成機能にどのようにアクセスするかについて、ユーザーに指導する。1つ以上の追加の態様によれば、ユーザー関係メタデーターを構成機能と合体させることによって、ユーザーまたはアプリケーションのユーザーの使用に合わせて、構成機能検索をカスタム化することができる。少なくとも1つの態様では、検索は、ユーザーの好みおよび使用の堅牢で精巧な分析を行うために機械学習によって拡張し(enhance)、コンピューター・アプリケーションの構成機能に関係する検索および検索結果を最適化することができる。
【0018】
[0029] これより図面を参照すると、
図1は、本主題の開示の1つ以上の態様にしたがって、コンピューター・アプリケーションの構成機能を特定するまたは構成機能にアクセスすることに合わせてキーワード・ベースの検索を行うように構成されたシステム例100のブロック図を示す。キーワード・ベースの検索は、種々の検索アルゴリズムを含むことができ、データーを受け、受けたデーターを1組の格納されたデーターと比較し、1組の格納データーの部分集合と、受けたデーターとの間における類似性を導き出し、この類似性から検索結果が編集され、応答して出力される。種々の検索メカニズムが、「検索」という用語の意味の中に含まれ、ネットワークまたはウェブ検索エンジン(例えば、Microsoft Corporationによって提供されるbing(登録商標)検索エンジン等のような、インターネット検索エンジン)、アプリケーション・ベースの検索エンジン(例えば、特定のアプリケーション内に内蔵された検索ユーティリティ)等が含まれ、本明細書において説明するように、これらのエンジンは、検索機能性(searching functionality)を設けるために改造することができる。
【0019】
[0030] 図示のように、システム100は、データーを格納するためにデーターベース112と通信可能に接続された構成検索システム102を備えることができる。構成検索システム102は、ユーザー入力情報を受けるように構成され、更に出力媒体(例えば、グラフィカル・ディスプレイ、オーディオ・スピーカー、触覚インターフェース等)にユーザー情報を出力するように構成されたユーザー・インターフェース・コンポーネント104を備えることができる。特に、ユーザー・インターフェース・コンポーネント104は、検索データーを含むユーザー入力106を得るように構成することができる。ユーザー入力は、テキスト・データー(例えば、構成機能検索に関係するテキスト・フィールドに入力される。以下の
図4を参照のこと)、テキスト・データーに変換される音声データー(例えば、音声−テキスト・アプリケーションによる処理に応答して)、ユーザー・インターフェース選択(例えば、キーボード入力、マウス選択、タッチパッドまたはタッチ・スクリーン選択によって選択される)、または他の適したユーザー入力メカニズムを含むことができる。
【0020】
[0031] ユーザー入力106は、ユーザー・インターフェース・コンポーネント104において受け取られる。相応しい場合には、ユーザー・インターフェース・コンポーネント104は、ユーザー入力106に収容された検索データーを異なるデーター形式でレンダリングするように構成することができる。例えば、特定の言語のテキスト・データーをASCIIデーター、機械コード、または他の何らかの適したデーター・フォーマットに変換して、検索データーの分析および処理をやりやすくすることができる。
【0021】
[0032] 構成検索システム104は、更に、検索エンジン108も備えることができる。検索エンジン108は、ユーザー入力104から受けた検索データーを利用して、コンピューター・アプリケーションの構成機能の内、この検索データーに関係する1つ以上を特定するように構成される。検索および特定を容易にするために、検索エンジン108は、データーベースのメタデーター・ファイル114に格納された1組のメタデーターにアクセスするように構成された参照コンポーネント110を備えることができる。メタデーター・ファイル114に格納された1組のメタデーターは、データーベース112によって、構成機能ファイル116に格納されたコンピューター・アプリケーションの構成機能に添付することができる。例えば、メタデーターの部分集合を個々の構成機能、または構成機能のグループと、これらの構成機能または構成機能のグループのカテゴリー、名称、記述、使用、使用のコンテキスト等、またはその組み合わせに基づいて相関付けることができる。メタデーターと構成機能との間におけるこの関係にしたがって、インデックス化コンポーネント118は、1組のメタデーターの内、構成機能のそれぞれ、または構成機能のそれぞれのグループと関連付けられたそれぞれの部分集合を区別するように構成することができる。これは、メタデーター・ファイル114に格納されたメタデーターの内、個々の構成機能または構成機能のグループ、あるいはその組み合わせと相関付けられたそれぞれの部分集合における差を利用することによって行うことができる。格納されたメタデーターの部分集合を参照コンポーネント110から受け取ることによって、インデックス化コンポーネント118は、次に、構成機能ファイル116からの構成機能にアクセスし、特定のコンピューター・アプリケーションに対する構成機能およびメタデーターのマトリクスをコンパイルすることができる。本主題の開示の態様の中には、インデックス化コンポーネント118が、更に、ユーザーの好みまたはユーザー使用活動と合わせて、1つのコンピューター・アプリケーションまたは多数のコンピューター・アプリケーション、あるいはその適した組み合わせに対して参照される、構成機能およびメタデーターのマトリクスをコンパイルすることもできる。
【0022】
[0033] 以上のことに加えて、検索エンジン108は検索コンポーネント120も備えることができる。検索コンポーネント120は、1組の検索データーを参照コンポーネント110から受け取り、この1組の検索データーを、インデックス化コンポーネント118によってコンパイルされた1組のメタデーターの部分集合と比較するように構成される。更に、検索コンポーネント120は、機能によって定められる検索データーに関連する条件を満たすメタデーターの一致部分集合を特定するように構成することができる。例えば、この条件は、その機能によって確定された1組の関連性判断基準を満たすことを含むことができるが、1組の検索データーに関する検索に関係する他の適した条件も、加えてまたは代わりに、利用することができる。次いで、検索コンポーネント120は、条件を満たすメタデーターの部分集合と相関付けられた1つ以上の構成機能を特定するように構成することができる。これら1つ以上の構成機能は、検索に応答して戻すことができる。
【0023】
[0034] 本主題の開示の少なくとも1つの態様では、検索エンジン108は、ユーザーが構成機能検索を開始したことに少なくとも部分的に基づいて、検索を行うように構成することができる。例えば、検索データーを入力するエンド・ユーザーは、エンド・ユーザーの分類に基づいて1組の構成機能結果を受けることができ、一方アプリケーション開発者は検索データーを入力し、開発者分類等に基づいて、第2組の構成機能結果を受けることができる。このような結果は、例えば、メタデーター・ファイル114に格納された1組のメタデーターが、コンピューター・アプリケーション・ユーザー(エンド・ユーザー・カテゴリーおよび開発者カテゴリーを含む)の異なる分類毎に類別されるときに得ることができる。このような場合、検索コンポーネント120は、1組の検索データーと合わせてユーザーのカテゴリーを受けるように構成することができ、ユーザーのカテゴリーに矛盾する(inconsistent)メタデーターを比較から除外する。代案として、検索コンポーネントが、ユーザーのカテゴリーにしたがって、機能によって定められる条件を変更して、第1組のメタデーターにはエンド・ユーザーに対する条件を満たさせるが開発者に対する条件は満たさないようにさせることができ、第2組のメタデーターには開発者に対する条件を満たさせるがユーザーに対する条件は満たさせないようにすることができる等となる。当技術分野において知られている他の実施態様、または本明細書において示されたコンテキストによって当業者が知ることになる他の実施態様も、本主題の開示の範囲内にあると見なす。
【0024】
[0035]
図2は、本主題の開示の追加の態様にしたがって、コンピューター・アプリケーション構成機能と合わせて、検索機能性を設けるように構成されたシステム例200のブロック図を示す。具体的には、システム200は、構成機能検索に応答して検索結果を出力するように構成することができる。検索結果は、更に、検索に応答して戻される構成機能に対する選択およびアクセスを容易にするように構成することができる。少なくとも1つの態様では、システム200は、関連するコンピューター・アプリケーションのユーザー・インターフェースを通じて、1つ以上の構成検索機能にアクセスするときにユーザーやさしく指導して、ユーザーのコンピューター・アプリケーションの知識および熟達を向上させることができる。
【0025】
[0036] システム200は、構成検索システム202を備えることができる。構成検索システム202は、構成機能の検索を実行し、この検索に応答して1つ以上の構成機能を戻すことができる。ユーザー・インターフェース・コンポーネント204は、ユーザーのデーター入力から検索データーを得るように構成することができ、このデーターを検索エンジン206に供給することができる。検索エンジン206は、本主題の開示のある態様によれば、
図1の検索エンジン108と実質的に同様にすることができ、他の態様では、検索エンジン206は、検索エンジン108の機構の一部または全部を含むことができ、または全く含まないことも可能である。種々の態様によれば、検索エンジン206は、検索データーを用いて、この検索データーに関係する1つ以上の構成機能を引き出すことができる。構成機能は、検索結果として出力コンポーネント208に供給することができる。
【0026】
[0037] 出力コンポーネント208は、検索エンジン206によって特定されたメタデーターの一致部分集合と相関付けられた1つ以上の構成機能を、ユーザー・インターフェース・コンポーネント204、および構成検索システム202(例えば、以下の
図10を参照)と関連付けられた計算デバイスの出力メディア・デバイスに戻すように構成することができる。一例として、構成機能をアプリケーション・コンテンツ・メッセージ212に含ませることができる。アプリケーション・コンテンツ・メッセージ212は、ディスプレイ・デバイス216に送られる視覚コンテンツ214、またはオーディオ・デバイス220(例えば、スピーカー)に送られるオーディオ・コンテンツ218、または他のメディア・デバイスに送られる他のメディア・コンテンツ(例えば、触覚ユーザー・インターフェース・デバイスに送られる触覚情報)を含む。加えて、本主題の開示の少なくとも一部の態様では、出力コンポーネント208は、更に、検索データーに応答して1つ以上の構成機能を表す1つ以上の実行可能リンクを戻すように構成することもできる。実行可能リンクは、例えば、実行可能リンクの選択に応答して、コンピューター・アプリケーション内部において構成機能を初期化するように構成することができる。
【0027】
[0038] 本主題の開示の1つ以上の代わりの態様または追加の態様によれば、構成検索システム202はチュートリアル・コンポーネント210を備えることができる。チュートリアル・コンポーネント210は、1つ以上の構成機能に関連する構成機能の利用について記述するように構成されるオーディオ、ビデオ、画像、またはマルチメディア・コンテンツを実行するように構成することができる。具体的には、このコンテンツは、コンピューター・アプリケーションのユーザー・インターフェースを通じて構成機能(1つまたは複数)にどのようにアクセスするかについて記述することができる。一例では、ユーザーがコンテンツを再生させたいか否か要求するユーザー・インターフェース・クエリーがコンテンツに先行することができ、ユーザー・インターフェース・クエリーに応答して、ユーザーによる受け入れを条件に、コンテンツの実行を行うことができる。他の例では、コンテンツの実行は、コンピューター・アプリケーションのユーザーの好み(例えば、構成機能)において設定することができる。このようなコンテンツの例には、構成機能にアクセスすることができるメニューまたはツールバーまでのマウス・ポインタの移動を表示するビデオ、コンピューター・アプリケーションのユーザー・インターフェースにおいて構成機能にアクセスすることを描画する1組の写真(picture)等を含むことができる。
【0028】
[0039]
図3は、本主題の開示の更に他の態様にしたがって、多数のコンピューター・アプリケーションに跨がって構成機能の検索を行うことに備えるシステム例300のブロック図を示す。加えて、システム300は、多数のアプリケーション間において同様の構成機能を識別し、第2アプリケーションに関係する検索データーに基づいて、第1アプリケーションの1つ以上の構成機能を出力するように構成することができる。したがって、システム300は少なくとも部分的に、第1アプリケーションの体験および知識に基づいて、第2アプリケーションにおけるユーザーの使いやすさ(facility)および洞察力(acumen)を得やすくすることができる。
【0029】
[0040] システム300は、マルチアプリケーション構成データーベース304と通信可能に接続された構成検索システム302を備えることができる。構成検索システム302は、ユーザー・インターフェース・コンポーネント306を備えることができる。ユーザー・インターフェース・コンポーネント306は、第1アプリケーション内においてこの第1アプリケーションに関連するユーザー検索データーを受け、この検索データーを検索エンジン308に供給するように構成される。検索エンジン308は、互換性コンポーネント(compatibility component)310を採用することができる。互換性コンポーネント310は、検索エンジン308が1組の検索データーを受けたことに応答してマルチアプリケーション構成データーベース304にアクセスし、少なくとも1組の検索データーに関係するメタデーターを有する第2コンピューター・アプリケーションの少なくとも1つの構成機能を検索エンジン308に戻すように構成される。
【0030】
[0041] アプリケーション相互構成検索(cross-application configuration searching)を容易にするために、マルチアプリケーション構成データーベース304は、多数のコンピューター・アプリケーションの構成機能に添付されたメタデーターを含み、マルチアプリケーション・メタデーター・ファイル312にメタデーターを格納することができる(アプリケーション
1−X、ここでxは1よりも大きい適した整数である)。多数のアプリケーションに対する構成機能は、アプリケーション構成機能ファイル314に格納することができる。加えて、マルチアプリケーション構成データーベース304は、多数のアプリケーションに共通する構成機能、あるいはメタデーター類似性関数(metadata similarity function)によって定められる多数のアプリケーションに対して同様の構成機能または関係する構成機能を、アプリケーション相互構成機能ファイル316に格納することもできる。メタデーターと構成機能との間の多数のアプリケーションに跨がる関係を格納することによって、マルチアプリケーション構成データーベース304は、更に、類似性関数によって定められる条件を満たすメタデーターのそれぞれの部分集合を有する多数のコンピューター・アプリケーションの構成機能を相互相関付けるように構成することができる。このように、マルチアプリケーション・メタデーター・ファイル312に格納されたマルチアプリケーション・メタデーターによって検索データーを参照することによって、マルチアプリケーション構成データーベース304によって格納された多数のアプリケーションの構成機能を、検索に応答して戻し、検索エンジン308およびユーザー・インターフェース・コンポーネント306に供給し、この検索に応答してユーザーに戻すことができる。
【0031】
[0042]
図4は、本明細書において開示する態様による、構成機能検索のユーザー・インターフェースの実施態様例を示す。固定検索実施態様400Aが
図4の上側に図示されている。固定検索実施態様400Aは、表示ウィンドウ402Aを備える。表示ウィンドウ402Aは、本主題の開示の一態様ではコンピューター・アプリケーション用のビュー・ウィンドウとすることができるが、他の態様では、表示ウィンドウ402Aは、コンピューター・アプリケーション内部において生成された(spawn)ウィンドウとすることができ、またはコンピューターのオペレーティング・システムによってコンピューター・アプリケーションの外部で生成されたウィンドウとすることもできる。図示のように、表示ウィンドウ402Aは固定検索フィールド404Aを含むことができる。固定検索フィールド404Aは、図示のように、メニュー・バーに隣接して配置することができ、または表示ウィンドウ402A内部の他の固定位置にあることもできる。他の位置は、表示ウィンドウ402Aの底辺における境界線(図示せず)、または表示ウィンドウ402Aの1つの辺上の境界線を含むことができる。更に、固定検索フィールド404Aは、入力フィールド406Aを備えることができ、この入力フィールド406Aにユーザーがテキストを入力することができる。入力フィールド406Aに入力されたテキストは、例えば、本明細書において説明するように、コンピューター・アプリケーション(1つまたは複数)の構成機能を検索するためのキーワードとして採用することができる。検索を行うとき、検索と一致する構成機能結果が、結果ウィンドウ408Aに戻される。結果ウィンドウ408Aは、ドロップ−ダウン・ウィンドウとして実現することができ、構成機能結果の部分集合を見るためにスクローリング技法または他のナビゲーション技法を組み込む。少なくとも1つの態様では、構成機能結果はリンクを含むことができ、これらのリンクは、選択されたリンクに関連する構成機能を実行するように構成される。
【0032】
[0043]
図4の下部には、可動検索実施態様400Bが示されている。可動検索実施態様400Bは、表示ウィンドウ402Bを備えており、これは先に説明した表示ウィンドウ402Aと実質的に同様にすることができる。表示ウィンドウ402Bの内部に可動検索フィールド404Bがある。可動検索フィールド404Bは、表示ウィンドウ402B全域において位置付けることができる。位置付けのし直しは、マウス入力デバイスによって可動検索フィールド404Bをクリックしてドラッグすることによって、表示ウィンドウ402B内における垂直および水平位置を指定することによって等で、行うことができる。可動検索フィールド404Bは、本主題の開示の一部の態様では、キーボード入力、マウス入力、メニュー選択、ツールバー選択、またはその適した組み合わせによって、隠すことまたは露出することができる。露出されているとき、入力フィールド406Aに関して先に説明したのと同様に、ユーザー・テキストを入力フィールド406Bに入力することができる。構成機能検索結果は、結果ウィンドウ408Bに出力することができ、結果ウィンドウ408Bは、ある態様では構成機能を実行するように構成されたリンクを含むことができる。
【0033】
[0044]
図5は、コンピューター・アプリケーションの構成機能検索能力のユーザー・カスタム化に備えるように構成されたシステム例500のブロック図を示す。加えて、システム500は、特定のユーザーの好みまたは使用履歴に合わせて個別製作される検索結果を供給するために、機械学習機能性を組み込むことができる。このように、システム500は、ユーザーの要望および好みに合わせて適合するように構成された構成機能検索をやりやすくして、一層堅牢なユーザー体験を提供することができる。
【0034】
[0045] システム500は、メタデーター・データーベース508に通信可能に接続された構成検索システム502を備えることができる。構成検索システム502に関連する処理デバイス、コンピューター・デバイス、電子デバイス等のユーザー・インターフェースに関連付けられたユーザー・インターフェース・コンポーネント504を利用して、キーワード、テキスト、またはその他の検索データーを受けることができる。キーワード、テキスト、またはその他の検索データーは、検索エンジン506によってユーザー検索データーとして採用することができる。検索エンジン506は、データー照合機能によって定められる条件を満たす関連メタデーターを有するコンピューター・アプリケーション(1つまたは複数)の構成機能を識別する。識別された構成機能は、出力コンポーネント510およびユーザー・インターフェース・コンポーネント504による検索に応答して戻すことができる。
【0035】
[0046] 構成検索システムは、更に、アプリケーションの1人以上のユーザーに合わせて構成機能検索を改造するように構成されたメタデーター/検索カスタム化コンポーネント510を備えることができる。例えば、ユーザー・ライブラリー・コンポーネント512を採用することができる。これは、メタデーター・ファイル516内部のメタデーター・データーベースに格納された1組のメタデーターに、ユーザー・インターフェースでの入力に応答して受け取られたユーザー・メタデーターを添付するように構成される。このユーザー・メタデーターは、ユーザーによって能動的に入力されたメタデーターとすることができ、構成機能ファイル514に格納された1つ以上のコンピューター・アプリケーションの1つ以上の構成機能に向けて導くことができる。ユーザー・メタデーターは、一態様では、メタデーター・ファイル516に添付することができ、ユーザー・メタデーターがユーザー入力によって導かれる1つ以上の構成機能に関係付けることができる。このように、ユーザー・ライブラリー・コンポーネント512は、ユーザーが特定の構成機能に対するメタデーターを入力することを可能にする。ユーザー・メタデーターおよび関係する構成機能の連携(association)は、コンピューター・ユーザーによって行われるやり方で構成機能検索の結果に作用し、構成機能検索のユーザー誘導カスタム化を容易にすることができる。
【0036】
[0047] 以上のことに加えて、メタデーター/検索カスタム化コンポーネント510は、1つ以上のコンピューター・アプリケーションに関係するユーザー活動を監視および分析し、この分析を採用して、構成機能検索結果をアプリケーション・ユーザーの推定される使用または好みと照合する予測判定を行うように構成することができる。メタデーター/検索カスタム化コンポーネント510によって予測判定から得られるユーザー特定メタデーターは、選択された構成機能に添付されてユーザー・メタデーター・ファイル518に格納することができ、更に任意に、先に論じたように、ユーザー・ライブラリー・コンポーネント512によって添付されたユーザー供給ユーザー・メタデーターから区別することができる。加えて、機械学習コンポーネント522は、予測判定を行うために1組のアルゴリズムの内1つ以上を採用し、ユーザー特定メタデーターを得て、アプリケーション・ユーザーの推定される使用または好みと一致する構成機能検索結果を変更することができる。
【0037】
[0048] 構成機能検索結果を最適化するために、機械学習コンポーネント522は、ユーザーの使用および好みに合わせて構成されるユーザー供給検索データーに1組の構成機能を戻すことに関係付けて、1組のモデル(例えば、メタデーター・モデル、構成機能モデル、ユーザー使用モデル、データー相関モデル、ユーザー選好モデル、以上に基づく統計モデル等)を利用することができる。これらのモデルは複数の情報(例えば、メタデーター・ファイル516に格納されたメタデーター、ユーザー・メタデーター・ファイル518に格納されたユーザー・メタデーター、メタデーターまたはユーザー・メタデーターと構成機能ファイル514に格納された構成機能との間の連携、検索履歴ファイル526に格納された以前の構成機能検索の格納された検索結果等)に基づくことができる。機械学習コンポーネント522に関連付けられた最適化ルーチンは、以前に収集されたデーターから訓練されるモデル(1つまたは複数)、モデル混合またはデーター混合方法論(methodology)によって新たなデーターで更新された以前のモデル(1つまたは複数)に基づくモデル(1つまたは複数)、あるいはシード・データーによって訓練され、その後誤り訂正実例の結果として修正されるパラメーターに基づく実際のフィールド・データーによる訓練によってリアル・タイムで調整(tune)されるモデル(1つまたは複数)を設ける(harness)ことができる。
【0038】
[0049] 加えて、機械学習コンポーネント522は、最適化判断に関して判定または推論を行うことと合わせて、ユーザー供給添付メタデーターおよび予測ユーザー関係メタデーターをアプリケーション使用履歴または構成機能検索履歴と相関付けるというように、最適化および機械推論技法を採用することができる。これらは、単独でも、あるいはユーザー入力またはユーザー使用およびユーザー選好分析の1回以上の以前の繰り返し等と合わせてでも可能である。例えば、機械学習コンポーネント522は、確率に基づくまたは統計に基づく手法を、格納されたメタデーターをユーザー検索データーと照合することと合わせて採用することができる。推論は、部分的に、分類器(classifier)(1つまたは複数)(図示せず)の明示的な訓練、またはデーター・フィードバック・ループ(図示せず)に基づく暗示的訓練等に基づくことができる。
【0039】
[0050] また、機械学習コンポーネント522は、本明細書において説明する種々の態様を実現することにしたがって、データーから学習しそのように組み立てられたモデル(例えば、隠れマルコフ・モデル(HMM)および関係する原型依存モデル(prototypical dependency model)、例えば、ベイズ・モデル・スコアまたは近似を用いて構造検索によって作成されるベイズ・ネットワークのような更に一般的な確率グラフィカル・モデル、サポート・ベクトル・マシン(SVM)のような線形分類器、非線形分類器(例えば、「ニューラル・ネットワーク」方法論、ファジー論理方法論、およびデーター融合(data fusion)を行う他の手法等と呼ばれる方法)から推論を引き出す多数の方法論の内1つを採用することもできる。機械学習コンポーネント522によって採用される方法論は、定理証明器(theorem prover)または経験的規則ベース・エキスパート・システムというような、論理関係取り込みメカニズム(mechanism for the capture of logical relationships)を含むこともできる。このような学習されたモデルまたは手作業で組み立てられたモデルから導き出される推論は、予期される検索結果よび供給される検索結果の逸脱を最少にすることに関係する誤りの確率を最大化することを探求する線形および非線形プログラミングというような、他の最適化技法においても採用することができる。例えば、予期される検索結果および供給される検索結果の総合的な精度を最大に高めることは、このような最適化技法によって達成することができる。
【0040】
[0051] 本主題の開示の特定的な態様によれば、メタデーター/検索カスタム化コンポーネント510は、以下のように、以上で説明した最適化および機械学習技法を実現するように構成することができる。ユーザー履歴コンポーネント520は、1つ以上のコンピューター・アプリケーションのユーザー使用に関係するユーザー構成機能活動を追跡し、ユーザー構成機能活動を少なくとも時間およびコンピューター・アプリケーションの関数として記録するように構成することができる。加えて、機械学習コンポーネント522は、記録されたユーザー構成機能活動を分析し、構成機能または条件およびデーター照合機能に対して最適化重みを採用するように構成することができる。条件およびデーター照合機能は、ユーザー検索データーをメタデーター・ファイル516に格納されたメタデーターの部分集合またはメタデーター・ファイル518に格納されたユーザー・メタデーターの部分集合と照合するために用いられる。重み付けは、1つ以上のデーター・モデルの結果であり、分析に応答することができ、時間およびコンピューター・アプリケーションの関数とすることができる。他の態様では、メタデーター/検索カスタム化コンポーネント510は予測テキスト・コンポーネント524を備えることができる。予測テキスト・コンポーネント524は、検索フィールド(例えば、以下の
図4の検索フィールド406Aまたは406B)に入力されたテキストに応答して、提案された検索結果で検索入力フィールドを自動的に埋めるように構成される。予測テキスト・コンポーネント524は、更に、現在入力されているテキストに対するテキスト変更時に、提案された検索結果を更新するように構成することもできる。更にまた、提案された検索結果は、以前の複数組の検索データーからコンパイルされたデーターから戻すことができ、あるいは添付されたメタデーター、ユーザーが添付したメタデーター、またはユーザーのアプリケーション(1つまたは複数)使用から導き出されるメタデーターに関する相関条件を満たす現入力データーから、あるいはその適した組み合わせから戻すことができる。少なくとも1つの開示される態様では、予測テキスト・コンポーネント524は、提案された検索結果を、画像コンテンツ、オーディオ・コンテンツ、ビデオ・コンテンツ、またはマルチメディア・コンテンツの形態で戻すように構成することができ、コンテンツは、データーが検索フィールドに入力されるに連れて、再生/表示、または更新することができる。
【0041】
[0052] 以上で述べた図においては、様々なシステム、装置、コンポーネント、電子回路、または光電子デバイス間における相互作用に関して説明した。尚、このような図は、本明細書において指定されるコンポーネントまたはシステム、指定されるコンポーネントの一部、あるいは追加のコンポーネントを含むことができることは認められてしかるべきである。例えば、あるシステムが、検索エンジン506、参照コンポーネント110、インデックス化コンポーネント118、および検索コンポーネント120を含む構成検索システム500を、マルチアプリケーション構成データーベース304と合わせて含むこともできる。また、サブコンポーネントも、親コンポーネント内に含まれるもの以外のサブコンポーネントに接続されたサブコンポとして実現することもできる。加えて、2つ以上のコンポーネントを組み合わせて、集成機能性を設ける1つのコンポーネントにすることもできることも注記してしかるべきである。例えば、参照コンポーネント202は、格納されたメタデーターおよび格納された構成機能、ならびにそれらの間の関係にアクセスし易くするため、そして1つのコンポーネントによって、メタデーターの関係する部分集合によってそれぞれの構成機能または構成機能のグループを区別し易くするために、インデックス化コンポーネント214を含むことができる。また、開示するシステムおよび装置のコンポーネントは、本明細書では具体的に記載されないが当業者には周知の1つ以上の他のコンポーネント、あるいは本明細書において提示されるコンテキストによって当業者に知られることになる1つ以上の他のコンポーネントと相互作用することもできる。
【0042】
[0053] 以上で説明した図の例に関して、開示した主題にしたがって実現することができるプロセス方法は、
図6から
図9のフローチャートを参照することによって、一層よく認識されよう。説明を簡単にする目的のために、方法は一連のブロックとして示され記載されるが、開示する主題はこれらのブロックの順序によって限定されるのではないことは言うまでもないことであり認められてしかるべきである。何故なら、一部のブロックは、本明細書において図示および記載されるものとは異なる順序で出てくるのでも、および/または他のブロックと同時に出てくるのでもよいからである。更に、図示されるブロックの全てが、以下で説明する方法を実現するために必要とされないこともある。加えて、以下で開示する方法は、そしてこの明細書全体にわたって、このような方法を電子デバイスに伝達および転送し易くするために、製造品目上に格納できることも、更に認められてしかるべきである。製造品目という用語は、ここで用いる場合、あらゆるコンピューター読み取り可能デバイス、搬送波と協働するデバイス、または記憶媒体からアクセス可能なコンピューター・プログラムを包含する(encompass)ことを意図している。
【0043】
[0054]
図6は、本主題の開示の追加の態様にしたがって、コンピューター・アプリケーションの構成機能を発見しこれにアクセスすることに合わせて、検索能力を設けるサンプル方法600のフローチャートを示す。602において、方法600は、それぞれの組のメタデーターを、それぞれの構成機能のそれぞれの名称、使用、または用途を記述する、コンピューター・アプリケーションのそれぞれの構成機能に割り当てるステップを含むことができる。更に、604において、方法600は、構成機能および割り当てられたそれぞれの組のメタデーターをインデックス化するステップを含むことができる。インデックス化は、例えば、メタデーターおよび関係する構成機能のマトリクスを生成することを含むことができ、任意に関連性(relatedness)の定性的または定量的度合いを含む。606において、方法600は、構成機能検索クエリーを受けるステップを含むことができる。構成機能検索クエリーは、構成機能検索機能性と合わせてユーザー・インターフェースに入力されたデーターを含むことができる。608において、方法800は、それぞれの組のメタデーターで検索クエリーを参照し、検索クエリーに関係するデーター照合機能によって定められる条件を満たす1つ以上のそれぞれの組のメタデーターを特定するステップを含むことができる。610において、方法600は、条件を満たすそれぞれの組のメタデーターに割り当てられた1つ以上の構成機能を戻すステップを含むことができる。
【0044】
[0055]
図7は、本主題の開示の特定的な態様による方法例700のブロック図を示す。702において、方法700はコンピューター・アプリケーションの構成機能をリストに纏めるステップを含むことができる。704において、方法700は、それぞれの組のメタデーターをそれぞれの機能に割り当てるステップを含むことができる。メタデーターは、デフォルトのメタデーター、利用する機能の名称データー、機能記述データー、機能使用データー、機能に関連する関係ヘルプ・ファイル・データー、ユーザーが供給するデーター、またはコンピューター・アプリケーションのユーザー使用から導かれるデーター等、あるいはその適した組み合わせとすることができる。706において、方法700は、検索のために複数の組のメタデーターおよび構成機能をインデックス化するステップを含むことができる。708において、方法700は、構成機能を求める検索クエリーを受けるステップを含むことができる。710において、方法700は、複数の組のメタデーターを、検索クエリー内に含まれるデーターと比較するステップを含むことができる。712において、方法700は、データー照合機能によって定められる条件を満たすメタデーターの部分集合を特定するステップを含むことができる。714において、方法700は、条件を満たすメタデーターのそれぞれの部分集合に対して、構成機能を引き出すステップを含むことができる。716において、方法700は、検索クエリーを受けたことに応答して、引き出された構成機能のリストを戻すステップを含むことができる。718において、方法700は、リストにおける1つの構成機能の選択を受けるステップを含むことができる。720において、方法700は、選択された構成機能にアクセスすることに関連するコンテンツを実行するステップを含むことができる。
【0045】
[0056]
図8は、本主題の開示の1つ以上の追加の態様による方法例800のフローチャートを示す。具体的には、方法800は、構成機能検索能力に対するユーザー・カスタム化を設けることができる。802において、方法800は、1組のコンピューター・アプリケーションの構成機能のリストを編集するステップを含むことができる。804において、方法800は、それぞれの組のメタデーターをそれぞれの構成機能に割り当てるステップを含むことができる。少なくとも1つの態様では、1組のコンピューター・アプリケーションのそれぞれのコンピューター・アプリケーション間における機能の類似性に少なくとも部分的に基づいて、それぞれの組のメタデーターを割り当てることができる。806において、方法800は、メタデーター・マトリクス内における検索のために、複数の組のメタデーターおよび構成機能をインデックス化するステップを含むことができる。808において、方法800は、1つ以上の構成機能に対してユーザー関係データーを受けるステップを含むことができる。810において、方法800は、割り当てられたメタデーターにユーザー関係メタデーターを添付するステップを含むことができる。少なくとも1つの開示する態様では、ユーザー関係メタデーターは、コンピューター・アプリケーション(1つまたは複数)のユーザーによって直接供給することができる。他の態様では、ユーザー関係メタデーターは、ユーザー・アプリケーション活動、以前の構成機能検索データーまたは検索結果、あるいはその適した組み合わせから導き出すことができる。
【0046】
[0057] ユーザー使用から導かれたメタデーターを提供するために、812において、方法800は、1組のコンピューター・アプリケーションの構成機能に関係するユーザー活動を監視するステップを含むことができる。814において、方法800は構成機能の使用に作用するユーザー・パターンを特定するステップを含むことができる。816において、方法800はユーザー使用パターンから追加のメタデーターを導くことができる。818において、方法800は追加のメタデーターを、関係する構成機能に添付するステップを含むことができる。少なくとも1つの態様では、ユーザー関係メタデーターは、ユーザー毎に添付され、ユーザー識別子、ユーザー・ログイン、ユーザー・ステータス、ユーザー・タイプ(例えば、エンド・ユーザー、開発者等)と合わせて別個に格納および検索することができる。
【0047】
[0058]
図9は、本主題の開示の更に他の態様にしたがって、構成機能検索能力にインテリジェント予測アルゴリズムを設けるサンプル方法900のフローチャートを示す。902において、方法900は、コンピューター・アプリケーションの使用に関係するユーザー構成機能活動を追跡するステップを含むことができる。904において、方法900は、少なくとも時間およびコンピューター・アプリケーションの関数として、ユーザー構成機能活動を記録するステップを含むことができる。906において、方法900は、記録された活動を分析し、ユーザーの素性(identity)およびユーザー活動にしたがって構成機能に重み付けするステップを含むことができる。908において、方法900は記録されたユーザー活動の分析に基づいて、構成機能検索結果の成果に作用するために、重み付けした構成機能から少なくとも部分的に検索条件およびデーター照合機能を修正するステップを含むことができる。
ネットワーク接続および分散型環境の例
[0059] 本明細書において説明した検索拡張メニューおよび構成機能についての種々の実施形態は、いずれのコンピューターあるいは他のクライアントまたはサーバー・デバイスと合わせても実現できることを、当業者は認めることができよう。実施形態は、コンピューター・ネットワークの一部としてまたは分散型計算環境において展開することができ、いずれの種類のデーター・ストアにも接続することができる。これに関して、本明細書において説明した種々の実施形態は、いずれの数のメモリーまたは記憶ユニット、ならびにいずれの数の記憶ユニットに跨がって存在するいずれの数のアプリケーションおよびプロセスを有するいずれのコンピューター・システムまたは環境においても実現することができる。これは、リモート・ストレージまたはローカル・ストレージを有し、ネットワーク環境または分散型計算環境において展開されるサーバー・コンピューターおよびクライアント・コンピューターを有する環境を含むが、これに限定されるのではない。
【0048】
[0060] 分散型計算は、計算デバイスおよびシステム間における通信交換によって、コンピューター・リソースおよびサービスの共有に備える。これらのリソースおよびサービスは、情報の交換、ファイルのようなオブジェクトのキャッシュ・ストレージ、およびディスク・ストレージを含む。また、これらのリソースおよびサービスは、負荷均衡化、リソースの拡張、処理の特殊化等のために、多数の処理ユニットに跨がって処理パワーを共有することも含む。分散型計算は、ネットワーク接続を利用し、クライアントが彼らの集合的パワーを利用して企業全体に利益をもたらすことを可能にする。これに関して、種々のデバイスが、本主題の開示の種々の実施形態について説明した検索拡張メニューおよび構成機能のためのメカニズムに関与するアプリケーション、オブジェクト、またはリソースを有することができる。
【0049】
[0061]
図10は、ネットワーク接続または分散型計算環境の一例の模式図を示す。この分散型計算環境は、計算オブジェクト1010、1012等、および計算オブジェクトまたはデバイス1020、1022、1024、1026、1028等を備える。これらは、アプリケーション1030、1032、1034、1036、1038およびデーター・ストア(1つまたは複数)1040によって表されるような、プログラム、方法、データー・ストア、プログラマブル・ロジック等を含むことができる。尚、計算オブジェクト1010、1012等、および計算オブジェクトまたはデバイス1020、1022、1024、1026、1028等が、パーソナル・ディジタル・アシスタント(PDA)、オーディオ/ビデオ・デバイス、移動電話機、MP3プレーヤー、パーソナル・コンピューター、ラップトップ等のような、異なるデバイスを備えてもよいことは認めることができよう。
【0050】
[0062] 各計算オブジェクト1010、1012等、および計算オブジェクトまたはデバイス1020、1022、1024、1026、1028等は、1つ以上の他の計算オブジェクト1010、1012等、および計算オブジェクトまたはデバイス1020、1022、1024、1026、1028等と、通信ネットワーク1042を通じて直接または間接的に通信することができる。
図10では1つのエレメントとして示されるが、通信ネットワーク1042は
図10のシステムにサービスを提供する他の計算オブジェクトおよび計算デバイスを備えることもでき、および/または図示されない、多数の相互接続されたネットワークを表すこともできる。また、各計算オブジェクト1010、1012等、あるいは計算オブジェクトまたはデバイス1020、1022、1024、1026、1028等は、アプリケーション1030、1032、1034、1036、1038のようなアプリケーションを収容することもできる。このアプリケーションは、本主題の開示の種々の実施形態にしたがって提供される検索拡張メニューおよび構成機能のための技法との通信、またはその実現に適した、API、あるいは他のオブジェクト、ソフトウェア、ファームウェア、および/またはハードウェアを利用することもできる。
【0051】
[0063] 分散型計算環境をサポートする種々のシステム、コンポーネント、およびネットワーク構成がある。例えば、有線またはワイヤレス・システムによって、ローカル・ネットワークによって、あるいは広く分散されたネットワークによって、計算システムを互いに接続することができる。現在、多くのネットワークがインターネットに結合され、インターネットは広く分散された計算にインフラストラクチャーを提供し、多くの異なるネットワークを包含するが、種々の実施形態において説明した検索拡張メニューおよび構成機能のためのシステムに付随する通信例にはいずれのネットワーク・インフラストラクチャーでも用いることができる。
【0052】
[0064] つまり、クライアント/サーバー、ピア・ツー・ピア、または混成アーキテクチャーというような、ネットワーク・トポロジーおよびネットワーク・インフラストラクチャーのホストを利用することができる。「クライアント」とは、それが関係しない他のクラスまたはグループのサービスを使用するクラスまたはグループの構成物である。クライアントは、プロセスである、即ち、大まかに他のプログラムまたはプロセスによって提供されるサービスを要求する1組の命令またはタスクであることができる。クライアント・プロセスは、他のプログラムまたはサービス自体についての作業詳細を全く「知る」必要なく、要求したサービスを利用する。
【0053】
[0065] クライアント/サーバー・アーキテクチャーでは、特にネットワーク型システムでは、クライアントは、通常、他のコンピューター、例えば、サーバーによって提供される共有ネットワーク・リソースにアクセスするコンピューターである。
図10の例示では、非限定的な例として、計算オブジェクトまたはデバイス1020、1022、1024、1026、1028等は、クライアントと見なすことができ、オブジェクト1010、1012等は、サーバーと見なすことができる。ここで、サーバー等は、クライアント計算オブジェクトまたはデバイス1020、1022、1024、1026、1028等からデーターを受信する、データーを格納する、データーを処理する、データーをクライアント計算オブジェクトまたはデバイス1020、1022、1024、1026、1028等に送るというようなデーター・サービスを提供するが、状況によっては、いずれのコンピューターでもクライアント、サーバー、または双方と見なすことができる。
【0054】
[0066] サーバーとは、通例、インターネットまたはワイヤレス・ネットワーク・インフラストラクチャーのような、リモートまたはローカル・ネットワークによってアクセス可能なリモート・コンピューター・システムである。クライアント・プロセスは、第1コンピューター・システムにおいてアクティブであることができ、サーバー・プロセスは第2コンピューター・システムにおいてアクティブであることができ、通信媒体を介して互いに通信し、こうして分散機能を設けて、複数のクライアントがサーバーの情報収集能力を利用することを可能にする。本明細書において説明した技法にしたがって利用されるソフトウェア・オブジェクトはいずれも、単独で提供することができ、あるいは複数の計算デバイスまたはオブジェクト間に跨がって分散させることもできる。
【0055】
[0067] 通信ネットワーク1042またはバスがインターネットであるネットワーク環境では、例えば、計算オブジェクト1010、1012等がウェブ・サーバーであることができ、他の計算オブジェクトまたはデバイス1020、1022、1024、1026、1028等は、ハイパーテキスト・トランスファー・プロトコル(HTTP)のような、多数の既知のプロトコルのいずれかによって、ウェブ・サーバーと通信する。また、サーバーとして役割を果たす計算オブジェクト1010、1012等は、クライアントとして、例えば、計算オブジェクトまたはデバイス1020、1022、1024、1026、1028等として役割を果たすこともできる。これは、分散型計算環境の特性であると言えよう。
計算デバイス例
[0068] 前述のように、本明細書において記載した技法は、計算システムにおいて、拡張メニューおよび構成機能を検索することが望ましいいずれのデバイスにでも適用できるという利点がある。したがって、種々の実施形態と共に使用するために、即ち、デバイスが、デバイスのリソース使用が最適化されることが望ましいと考えられる場合にはいつでも、ハンドヘルド、携帯用、ならびに他のあらゆる種類の他の計算デバイスおよび計算オブジェクトが想起されることは理解することができよう。したがって、
図11において以下で説明する汎用リモート・コンピューターは、計算デバイスの一例に過ぎない。
【0056】
[0069] 必須ではないが、実施形態は、デバイスまたはオブジェクトのためのサービスの開発者による使用のために、オペレーティング・システムによって実現することができ、および/または本明細書において説明した種々の実施形態の1つ以上の機能的態様を実行するために動作するアプリケーション・ソフトウェア内に含ませることができる。ソフトウェアは、クライアント・ワークステーション、サーバー、または他のデバイスというような1つ以上のコンピューターによって実行される、プログラム・モジュールのような、コンピューター実行可能命令という一般的なコンテキストで説明することができる。コンピューター・システムは、データーを伝達するために用いることができる種々の構成およびプロトコルを有し、したがって、特定の構成またはプロトコルが限定とは見なされないことは、当業者には認められよう。
【0057】
[0070]
図11は、本明細書において説明した実施形態の1つまたは複数の態様を実現することができる、適した計算システム環境1100の一例を示すが、先に明確にしたように、計算システム環境1100は、適した計算環境の一例に過ぎず、使用範囲や機能について何ら限定を示唆することは意図していない。また、計算システム環境例1100の中に示されるコンポーネントのいずれに関してもまたはその組み合わせに関して、計算システム環境1100が何らかの依存性や要件も有するように解釈してはならない。
【0058】
[0071] 前述のように、種々の計算デバイスおよびネットワーク・アーキテクチャーと関係付けて実施形態例について説明したが、基礎となる概念は、あらゆるネットワーク・システムおよびあらゆる計算デバイスまたはシステムにも適用することができる。
【0059】
[0072] 加えて、同じ機能性または同様の機能性を実現するためには、多数の方法があり、例えば、しかるべきAPI、ツール・キット、ドライバー・コード、オペレーティング・システム、制御手段、単体(standalone)またはダウンロード可能なソフトウェア・オブジェクト等があり、アプリケーションおよびサービスが本明細書において提供した技法を利用することを可能にする。つまり、本明細書における実施形態は、記載された実施形態の1つ以上を実現するソフトウェアまたはハードウェア・オブジェクトから考えることができるだけでなく、API(または他のソフトウェア・オブジェクト)の視点からも考えることもできる。つまり、本明細書において説明した種々の実施形態は、全体的にハードウェア、部分的にハードウェアそして部分的にソフトウェア、更にはソフトアウェアの態様を有することができる。
【0060】
[0073] 「一例の」(exemplary)という用語は、本明細書において用いられる場合、例(example)、実例(instance)、または例示(illustration)として役割を果たすことを意味する。疑問回避のために、本明細書において開示される主題はこのような例によって限定されないこととする。加えて、本明細書において「例示」(exemplary)として記載される態様または設計(design)はいずれも、他の態様または設計よりも好ましいまたは有利であるとは必ずしも解釈されず、当業者には知られている等価の構造および技法例を除外することを意味するのでもない。更に、「含む」(include)、「有する」(has)、「収容する」(contain)という用語、およびその他の同様の単語が使用されている限りでは、このような用語は、疑問回避のために、いずれの追加のまたは他のエレメントも除外しない、開いた移行語(open transition word)としての「備える」(comprising)という用語と同様に、包含的であることを意図している。
【0061】
[0074] 前述のように、本明細書において記載した種々の技法は、ハードウェアまたはソフトウェア、あるいはしかるべきときには、双方の組み合わせによって実現することができる。本明細書において使用する場合、「コンポーネント」、「システム」等の用語は、同様に、ハードウェア、ハードウェアおよびソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかである、コンピューター関係エンティティに言及することを意図している。例えば、コンポーネントは、プロセッサーにおいて実行するプロセス、プロセッサー、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、および/またはコンピューターであってもよいが、これらに限定されるのではない。例示として、コンピューターにおいて実行するアプリケーション、およびこのコンピューターがコンポーネントであることができる。1つ以上のコンポーネントが1つのプロセスおよび/または実行のスレッド内に存在することができ、コンポーネントは、1つのコンピューターに局在すること、および/または2つ以上のコンピューター間で分散されることも可能である。
【0062】
[0075] 本明細書において説明した種々の実施形態に加えて、他の同様の実施形態も用いることができ、あるいは対応する実施形態(1つまたは複数)の同じまたは同等の機能を実行するために、本発明から逸脱することなく、説明した実施形態(1つまたは複数)に対して変更および追加を行うことができることは言うまでもない。更にまた、多数の処理チップまたは多数のデバイスが、本明細書において説明した1つ以上の機能の実行を共有することもでき、同様に、複数のデバイスに跨がって格納を行うことができる。したがって、種々の実施形態は、いずれの1つの実施形態にも限定されず、逆に、添付する特許請求の範囲にしたがって、その広さ、主旨、および範囲が解釈されてしかるべきである。