(57)【要約】  データ入力部及び検索識別部の双方を含むシステムレベル検索ユーザインタフェースが表示される。検索語としてのユーザによるデータ入力がデータ入力部内に表示され、検索語を使用して検索することができるコンピューティングデバイス上の１つ又は複数の範囲の各々の識別子が検索識別部内に表示される。選択された範囲に基づく検索結果が、システムレベル検索ユーザインタフェースの検索結果部内に表示される。キーボードショートカットのセットによって、ユーザは、いずれかの範囲を使用して素早く検索し、各範囲が返す結果の数のプレビューを見ることが可能になる。加えて、システムレベル検索ユーザインタフェースによって、ユーザは、複数の異なる検索結果エントリを容易にフォーカスし、検索の範囲を効率的に変更することが可能になる。
2014530400.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングデバイスにおいて、該コンピューティングデバイスの現在アクティブなアプリケーション又は構成要素が文字入力をサポートしていないときに、文字入力を受信するステップと、
前記文字入力に応答して、前記文字を検索語として表示するデータ入力部を含むシステムレベル検索ユーザインタフェースを表示するステップと
を含む、方法。
【請求項２】
前記システムレベル検索ユーザインタフェースは、ユーザがアプリケーションを選択することを可能にし、前記アプリケーションのユーザ選択に応答して、前記検索語に基づいて前記選択されたアプリケーションについての検索結果を表示する、請求項１に記載の方法。
【請求項３】
前記表示するステップは、
前記システムレベル検索ユーザインタフェースの検索結果部内に、前記検索語に基づく検索結果を、該検索結果の複数のエントリのうちの最初のエントリをフォーカスして、表示するすステップと、
前記選択結果部のユーザ選択を必要とせずに、前記最初のエントリのユーザ選択に応答して前記最初のエントリに基づいて適切なアクションをとるステップと
をさらに含む、請求項１に記載の方法。
【請求項４】
前記表示するステップは、
前記システムレベル検索ユーザインタフェースの検索結果部内に、前記検索語に基づく検索結果を、該検索結果の複数のエントリのうちの最初のエントリをフォーカスして、表示するステップと、
前記選択結果部のユーザ選択を必要とせずに、１つ又は複数のキーボード矢印キーのユーザ選択に応答して前記複数のエントリのうちフォーカスされるエントリを変更するステップと
をさらに含む、請求項１に記載の方法。
【請求項５】
１つ又は複数のプロセッサと、
前記１つ又は複数のプロセッサによって実行されると、前記１つ又は複数のプロセッサに処理を実行させる命令を記憶した１つ又は複数のコンピュータ読取可能媒体と
を備えたコンピューティングデバイスであって、前記処理は、
前記コンピューティングデバイスにおいて、キーボードショートカットであるユーザ入力を受信することと、
前記ユーザ入力に応答して、検索語が表示される第１の部分と、前記検索語を使用して検索することができる１つ又は複数の範囲の識別子が表示される第２の部分とを有するシステムレベル検索ユーザインタフェースを表示することであって、前記１つ又は複数の範囲は前記検索語を使用して検索することができる１つ又は複数のアプリケーションを含むことと
を含む、コンピューティングデバイス。
【請求項６】
前記システムレベル検索ユーザインタフェースは、前記検索語を含む、前記コンピューティングデバイス上の１つ又は複数のアプリケーションを識別する検索結果を表示するアプリケーション範囲検索ユーザインタフェースを含む、請求項５に記載のコンピューティングデバイス。
【請求項７】
前記システムレベル検索ユーザインタフェースは、前記検索語を含む、前記コンピューティングデバイス上の１つ又は複数の構成設定制御要素を識別する検索結果を表示する設定範囲検索ユーザインタフェースを含む、請求項５に記載のコンピューティングデバイス。
【請求項８】
前記システムレベル検索ユーザインタフェースは、前記検索語を含む、前記コンピューティングデバイス上の１つ又は複数のファイルを識別する検索結果を表示するファイル範囲検索ユーザインタフェースを含む、請求項５に記載のコンピューティングデバイス。
【請求項９】
前記システムレベル検索ユーザインタフェースは、検索結果が表示される第３の部分をさらに含み、前記検索結果は、前記検索語と、前記第２の部分内の前記１つ又は複数の範囲の前記識別子のいずれがフォーカスされているかと基づく、請求項５に記載のコンピューティングデバイス。
【請求項１０】
前記システムレベル検索ユーザインタフェースは、前記１つ又は複数の範囲の前記識別子の各々について、前記検索語に基づく前記範囲についての前記検索結果内のエントリ数の指示をさらに含む、請求項５に記載のコンピューティングデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムレベル検索ユーザインタフェースを用いた対話の促進に関する。
【背景技術】
【０００２】
コンピュータがますます一般的になってくるにつれて、ユーザにとって利用可能になった電子データの量は途方もなく増大してきている。そのような大量の電子データへのアクセスを有することは、ユーザにとって有益であり得るが、そのことに問題がないわけではない。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
１つのそのような問題は、ユーザが、探している特定の電子データを見つけることが困難なままであるということである。例えば、ユーザは、自身が探している特定の電子データを見つけるために、複数の異なるアプリケーションにアクセスしているという状況に遭遇する可能性がある。これは典型的に、ユーザが、複数の異なるアプリケーションが実行されることを要求すること、複数の異なるアプリケーションの検索インタフェースに進むこと、及び複数の異なるアプリケーションの各々に同じ検索語を入力することを含む。この結果として、ユーザが面倒で苛立たしい経験をすることになる可能性がある。
【０００４】
本概要の記載は、詳細な説明において下記にさらに説明する選択された概念を、簡略化した形で紹介するために提供される。本概要の記載は、特許請求される主題の重要な特徴及び基本的な特徴を特定するように意図されておらず、特許請求される主題の範囲を限定するようにも意図されていない。
【課題を解決するための手段】
【０００５】
１つ又は複数の態様によると、コンピューティングデバイスの現在アクティブなアプリケーション又は構成要素が文字入力をサポートしていないときに、コンピューティングデバイスにおいて文字入力が受信される。この文字入力に応答して、この文字を検索語として表示するデータ入力部を含むシステムレベル検索ユーザインタフェースが表示される。
【０００６】
１つ又は複数の態様によると、キーボードショートカットであるユーザ入力がコンピューティングデバイスにおいて受信される。このユーザ入力に応答して、第１の部分及び第２の部分を有するシステムレベル検索ユーザインタフェースが表示される。第１の部分において検索語が表示され、第２の部分において検索語を使用して検索することができる１つ又は複数の範囲の識別子が表示される。
【０００７】
図面全体を通じて、同じ参照符号を使用して同様の特徴を参照する。
【図面の簡単な説明】
【０００８】
【図１】１つ又は複数の実施形態によるシステムレベル検索ユーザインタフェースを用いた対話の促進を実施する一例のシステムを示す図である。
【図２】１つ又は複数の実施形態によるシステムレベル検索ユーザインタフェースを含む一例の画面表示を示す図である。
【図３】１つ又は複数の実施形態によるシステムレベル検索ユーザインタフェースを含む一例の画面表示を示す図である。
【図４】１つ又は複数の実施形態によるシステムレベル検索ユーザインタフェースを含む一例の画面表示を示す図である。
【図５】１つ又は複数の実施形態によるシステムレベル検索ユーザインタフェースを含む一例の画面表示を示す図である。
【図６】１つ又は複数の実施形態によるシステムレベル検索ユーザインタフェースを含む一例の画面表示を示す図である。
【図７】１つ又は複数の実施形態による一例のシステムレベル検索モジュールを示すブロック図である。
【図８】１つ又は複数の実施形態による、アプリケーションをシステムレベル検索モジュールに登録するための一例の登録プロセスを示すフローチャートである。
【図９】１つ又は複数の実施形態による、システムレベル検索ユーザインタフェースを使用するための一例のプロセスを示すフローチャートである。
【図１０】１つ又は複数の実施形態による、システムレベル検索ユーザインタフェースの検索識別部内にアプリケーション識別子を表示するための一例のプロセスを示すフローチャートである。
【図１１】１つ又は複数の実施形態による、システムレベル検索ユーザインタフェースを用いた対話を促進するための一例のプロセスを示すフローチャートである。
【図１２】１つ又は複数の実施形態による、システムレベル検索ユーザインタフェースを用いた対話を促進するための別の例のプロセスを示すフローチャートである。
【図１３】１つ又は複数の実施形態によるシステムレベル検索ユーザインタフェースを実装するように構成することができる一例のコンピューティングデバイスを示す図である。
【発明を実施するための形態】
【０００９】
本明細書において、システムレベル検索ユーザインタフェースを用いた対話の促進を説明する。システムレベル検索ユーザインタフェース（ＵＩ）は、ユーザが検索語を入力して、複数の異なるアプリケーションを含む複数の異なる範囲内でその検索語を検索することを可能にする集中型ＵＩを提供する。システムレベル検索ＵＩを使用してユーザが検索することができる特定のアプリケーションは、システムレベル検索ＵＩに登録して、アプリケーションに関する様々な情報を提供する。システムレベル検索ＵＩはこの登録情報を使用して、これらの異なるアプリケーションがユーザに対してどのように識別されるべきか、アプリケーションをどのように立ち上げるべきかなどを決定する。キーボードショートカットのセットにより、ユーザは、いずれかの範囲を使用して素早く検索し、その各範囲により返される結果のプレビュー（例えばカウント）を素早く見ることが可能になる。加えて、システムレベル検索ＵＩにより、ユーザは、複数の異なる検索結果エントリに容易にフォーカスし、検索の範囲を効率的に変更することが可能になる。
【００１０】
図１は、１つ又は複数の実施形態によるシステムレベル検索ユーザインタフェースを用いた対話の促進を実装する例示のシステム１００を図示する。システム１００は、ネットワーク１０６を介して１つ又は複数（ｘ）の他のデバイス１０４（１）〜１０４（ｍ）と任意選択的に通信することができるコンピューティングデバイス１０２を含む。ネットワーク１０６は、インターネット、ローカル・エリア・ネットワーク（ＬＡＮ）、パーソナル・エリア・ネットワーク（ＰＡＮ）、ストレージ・エリア・ネットワーク（ＳＡＮ）、公衆電話網又は他の電話網、イントラネット、他の公衆及び／又は私有ネットワーク、並びにこれらの組合せなどを含む、様々な異なるネットワークとすることができる。
【００１１】
コンピューティングデバイス１０２は、物理デバイス又は仮想デバイスのような、様々な異なるタイプのデバイスとすることができる。例えば通信デバイス１０２は、デスクトップコンピュータ、ノートパッド又はタブレットコンピュータ、ネットブック又はラップトップコンピュータ、サーバコンピュータ、移動局、娯楽電化製品、ディスプレイデバイスに通信可能に結合されるセット・トップ・ボックス、テレビジョン又は他のディスプレイデバイス、セルラ又は他の無線電話、ゲームコンソール、自動車用コンピュータなどのような、物理デバイスとすることができる。コンピューティングデバイス１０２は、物理デバイス上で実行する仮想マシンのような、仮想デバイスとすることもできる。仮想マシンは、様々な異なるタイプの物理デバイスのうちのいずれか（例えば、上記に列挙した様々なタイプのうちのいずれか）の上で実行することができる。加えて、単一のデバイス１０２として図示されているが、コンピューティングデバイス１０２の構成要素又はモジュールを、該構成要素又はモジュールがシステム内の複数の異なるデバイスにわたって分散される、複数のデバイスのシステムとして実装することもできることに留意されたい。
【００１２】
デバイス１０４は、コンピューティングデバイス１０２と通信することが可能な様々な異なるコンピューティングデバイスとすることができる。コンピューティングデバイス１０２は、下記により詳細に説明するように、任意選択的にデバイス１０４の１つ又は複数にアクセスして様々な情報を取得することができる。コンピューティングデバイス１０２の説明と同様に、デバイス１０４は、様々な異なるタイプのデバイスとすることができる。デバイス１０４は、コンピューティングデバイス１０２と異なる同じタイプのデバイスとすることもでき、あるいは異なるタイプのデバイスとすることもできる。システム１００において、コンピューティングデバイス１０２は、ネットワーク１０６を介してデバイス１０４と通信するように図示されている。代替的に、コンピューティングデバイス１０２は、様々な有線及び／又は無線接続（例えばユニバーサル・シリアル・バス（ＵＳＢ）接続、無線ＵＳＢ接続、Ｂｌｕｅｔｏｏｔｈ（登録商標）接続、ＩＥＥＥ  １３９４接続など）のような、他のタイプの通信機構又は接続を介してデバイス１０４と通信することができる。
【００１３】
コンピューティングデバイス１０２は、オペレーティングシステム１１０と、１つ又は複数のアプリケーション１１２とを含む。オペレーティングシステム１１０は、コンピューティングデバイス１０２上でのアプリケーション１１２の起動及び実行を管理する。アプリケーション１１２の各々は、生産性アプリケーション（例えば電子メールアプリケーション、文書処理アプリケーション、表計算アプリケーション、データベースアプリケーション等）、娯楽アプリケーション（例えばゲームアプリケーション、オーディオ及び／又はビデオ再生アプリケーション等）、ソーシャル・ネットワーキング・アプリケーションなどのような、様々な異なるタイプのアプリケーションとすることができる。アプリケーション１１２はローカルにデータにアクセスする、すなわち、ネットワーク１０６を介してデバイス１０４上のデータにアクセスするのではなく、コンピューティングデバイス１０２上の（又はコンピューティングデバイス１０２に結合された記憶デバイス上の）データにアクセスすることができる。例えばアプリケーション１１２は、ローカルにデータにアクセスする文書処理アプリケーションとすることができる。ローカルにデータにアクセスすることに加えて又はこれに代えて、アプリケーションは、ネットワーク１０６を介して１つ又は複数のデバイス１０４上のデータにアクセスすることができる。例えばアプリケーション１１２は、コンピューティングデバイス１０２のユーザがそのアプリケーション１１２を介してデバイス１０４からの映画にアクセスすることを可能にする、映画サービスを提供するデバイス１０４に対するインタフェースアプリケーションとすることができる。
【００１４】
オペレーティングシステム１１０は、入力モジュール１１４と、ディスプレイモジュール１１６と、システムレベル検索モジュール１１８とを含む。オペレーティングシステム１１０は典型的にソフトウェア及び／又はファームウェアで実装されるが、代替的に、オペレーティングシステム１１０の少なくとも一部分をハードウェアで実装することもできる。
【００１５】
入力モジュール１１４は、ユーザ入力をコンピューティングデバイス１０２のユーザから受信する。ユーザ入力は、デバイス１０２のキーパッド又はキーボードの１つ若しくは複数のキーを押すこと、デバイス１０２のコントローラ（例えばリモートコントロールデバイス、マウス、トラックパッド等）の１つ若しくは複数のキーを押すこと、デバイス１０２のタッチパッド若しくはタッチ画面の特定の部分を押すこと、デバイス１０２のタッチパッド若しくはタッチ画面上で特定のジェスチャを行うこと、及び／又はデバイス１０２のコントローラ（例えばリモートコントロールデバイス、マウス、トラックパッド等）上で特定のジェスチャを行うことによるなど、様々な異なる様式で提供することができる。ユーザ入力を、デバイス１０２の任意の部分をタップすること、デバイス１０２の動き検出構成要素によって認識することができるアクション（デバイス１０２を振ること、デバイス１０２を回転させることなど）などの、デバイス１０２に対する他の物理的なフィードバック入力により提供することもできる。ユーザ入力を、マイクロフォンに対する可聴入力によるもの、あるいは画像キャプチャデバイスによって観測される手又は他の身体部分の動きによるものなど、他の様式で提供することもできる。これらのユーザ入力により、ユーザは、特定の文字又は記号を入力すること、特定のボタン又はメニュー選択肢を選択すること、様々な記述又は画像及びドラッグ及びドロップすることなどによって、コンピューティングデバイス１０２と対話することが可能になる。
【００１６】
ディスプレイモジュール１１６は、コンピューティングデバイス１０２の画面用に表示を生成、管理及び／又は出力する。この表示は、アプリケーション１１２によって提供される情報、システムレベル検索モジュール１１８又はオペレーティングシステム１１０の他のモジュールによって提供される情報などのような、様々な情報を含むことができる。ユーザに対して表示される情報を、入力モジュール１１４によって受信されたユーザ入力を含むことができる。ディスプレイモジュール１１６が情報を表示する画面は、液晶ディスプレイ（ＬＣＤ）技術、プラズマ画面技術、画像投影技術などを使用することなど、様々な異なる様式で実装することができる。画面をコンピューティングデバイス１０２の一部として含むことができ、あるいは代替的に、ディスプレイモジュール１１６は、１つ又は複数の画面を含む１つ又は複数の他のディスプレイデバイスに出力される１つ又は複数の信号を生成することができる。本明細書における説明は１つ又は複数の画面上に情報を表示することに言及するが、代替的に、情報をディスプレイモジュール１１６によって可聴式のような他の様式でユーザに提示することができることが認識されよう。
【００１７】
システムレベル検索モジュール１１８はシステムレベル検索ＵＩを提供する。システムレベル検索ＵＩは、コンピューティングデバイス１０２のユーザが検索語を入力して、その検索語を複数の異なる範囲内で検索することを可能にする集中型ＵＩである。範囲とは、あるタイプのコンテンツ又はコンテンツソースを指し、ある範囲内で検索語を検索することは、特定のタイプのコンテンツ又はコンテンツソース内で検索語を検索することを指す。１つ又は複数の実施形態において、システムレベル検索モジュール１１８は、ファイル、設定、アプリケーション及びアプリケーション特有の範囲をサポートする。しかしながら、ファイル範囲、設定範囲、アプリケーション範囲及びアプリケーション特有の範囲は範囲の例であり、システムレベル検索モジュール１１８は、任意の数の範囲をサポートすることができることに留意されたい。例えばモジュール１１８は、代替的に、ファイル、設定、アプリケーション及びアプリケーション特有の範囲のサブセットのみをサポートしてもよい。別の例として、モジュール１１８は、ファイル範囲、設定範囲、アプリケーション範囲及びアプリケーション特有の範囲の１つ又は複数の代わりに、及び／又はこれに加えて、１つ又は複数の追加の範囲をサポートしてもよい。
【００１８】
ファイル範囲とは、コンピューティングデバイス１０２によって使用される記憶デバイス上に記憶されるファイルを指す。そのような記憶デバイスを、コンピューティングデバイス１０２の一部として含むことができ（例えば内部ハードディスク又はフラッシュ・メモリ・デバイス）、コンピューティングデバイス１０２に取外し可能に結合することができ（例えば取外し可能フラッシュ・メモリ・デバイス又は光ディスク）、ネットワーク（例えばネットワーク１０６）を介してアクセスすることができる。ファイル範囲内で検索語を検索することは、その検索語を含む、コンピューティングデバイス１０２上に記憶されているファイルを検索することを指し（例えば検索語は、ファイルの名前、ファイルのメタデータ、ファイル自体のコンテンツ内等にある）、それらのファイルを識別する検索結果を返すことができる。ファイル範囲内で検索語を検索することは、コンピューティングデバイス１０２によって使用されるすべての記憶デバイス上のすべてのフォルダを検索すること、あるいは代替的に、コンピューティングデバイス１０２によって使用される、選択されたフォルダ及び／又は記憶デバイスのみを検索することを指すことができる。
【００１９】
設定範囲とは、コンピューティングデバイス１０２の構成設定、１つ又は複数のアプリケーション１１２の構成設定、他のデバイス（例えば、１つ又は複数のデバイス１０４、あるいはコンピューティングデバイス１０２に結合される他のデバイス）の構成設定などのような、様々な構成設定のための制御要素を指す。設定範囲内で検索語を検索することは、検索語を含む、構成設定の制御要素（例えば構成要素、プログラム等）を検索することを指し（例えば検索語は制御要素の名前、制御要素のメタデータ内等にある）、それらの構成設定の制御要素を識別する検索結果を返すことができる。
【００２０】
アプリケーション範囲とは、アプリケーション１１２を指す。アプリケーション範囲内で検索語を検索することは、検索語を含むアプリケーション１１２を検索することを指し（例えば検索語はアプリケーション１１２の名前、アプリケーション１１２のメタデータ内等にある）、それらのアプリケーション１１２を識別する検索結果を返すことができる。
【００２１】
アプリケーション特有の範囲とは、検索結果を生成することができる特定のアプリケーション１１２を指す。アプリケーション特有の範囲内で検索語を検索することは、特定のアプリケーション１１２が（特定のアプリケーション１１２がどのような様式を所望するかにかかわらず）検索語を検索し、（特定のアプリケーション１１２がどのような様式を所望するかにかかわらず）検索結果を提供することを指す。アプリケーション１１２のうち、検索結果を生成することができる特定のアプリケーションは、下記により詳細に説明されるように、システムレベル検索モジュール１１８に登録されているアプリケーション１１８である。
【００２２】
検索語は、１つ又は複数の単語、ある単語の一部などのような、アルファベット文字、文字、記号などの任意の組合せとすることができる。システムレベル検索ＵＩは、ユーザが検索語を入力することができるデータ入力部と、複数の異なる範囲を識別することができる検索識別部とを含む。
【００２３】
システムレベル検索モジュール１１８によって提供されるシステムレベル検索ＵＩにより、コンピューティングデバイス１０２のユーザは、自身が所望する検索語を集中型ＵＩに一度入力すると、その検索語を検索するための１つ又は複数の異なる範囲を選択することが可能になる。システムレベル検索ＵＩを介して範囲が選択されたことに応答して、選択範囲がその検索語について検索され（必要に応じて検索を実行するために検索語をモジュール又はアプリケーションに提供する）、その検索語に基づく検索結果が（ディスプレイモジュール１１６を介して）表示される。ユーザは、単純にシステムレベル検索ＵＩを介して範囲を選択することによって、異なる複数の範囲が、その同じ検索語について検索されるようにすることができる。したがって、例えばユーザがオペレーティングシステム１１０と対話して複数の異なるアプリケーション１１２の実行を要求し、それらの異なるアプリケーション１１２の各々の検索インタフェースに進んで、それらの異なるアプリケーションの各々に同じ検索語を入力するのではなく、ユーザは、システムレベル検索ＵＩに検索語を一回だけ入力すればよい。その後、ユーザは、アプリケーションのうちの１つ又は複数を（例えばキーストローク、タッチ画面上のアプリケーション識別子をタップすることや、ポインタ又は他のカーソルがアプリケーション識別子の上にあるときにアプリケーション識別子をクリックすることなどの単一のユーザ入力によって）選択することができ、これらのアプリケーション１１２が選択されると、オペレーティングシステム１１０に依拠してそれらの選択されたアプリケーション１１２を自動的に実行し、システムレベル検索モジュール１１８に依拠して検索語を選択されたアプリケーション１１２に提供することができる。
【００２４】
ユーザによって入力される検索語を、異なる時点で検索することができる。１つ又は複数の実施形態において、検索語を受信したことに応答して、システムレベル検索モジュール１１８（又は代替的に、オペレーティングシステム１１０の別のモジュール）は、その検索語について複数の異なる範囲を検索し、検索結果を生成する。モジュール１１８は、特定の検索結果がユーザによって選択されるのを、検索語に基づいてその範囲の検索結果を生成する前に待つ必要はない。モジュール１１８は、検索語が受信されたことに応答して、任意選択的に検索語をアプリケーション１１２に提供することもできる。したがって、アプリケーション１１２は、検索語に基づいて検索結果が生成される前に、特定のアプリケーション１１２が選択されるのを待つ必要もない。範囲についての検索結果は、検索語を受信したことに応答して生成され得るが、これらの検索結果を表示しなくてもよい（例えばアプリケーション１１２又は他の範囲からの検索結果がユーザによって要求されない場合、そのアプリケーション１１２又は他の範囲について生成された検索結果は、典型的に表示されないことになる）。
【００２５】
あるいは、検索語は、該検索語についての検索を求めるユーザ要求（例えば「検索（ｓｅａｒｃｈ）」ボタンのユーザ選択、範囲のユーザ選択等）を受信するまで検索されなくてもよい。したがって、そのような状況においては、システムレベル検索モジュール１１８は、検索語をその範囲内で検索するというユーザ要求を受信するまで、アプリケーション１１２に検索語を提供せず、あるいはそうでなくとも検索語について範囲を検索しない。これらの組合せを使用することもできる。例えばシステムレベル検索モジュール１１８（又は代替的に、オペレーティングシステム１１０の別のモジュール）は、検索語を受信したことに応答して、検索語について特定の範囲を検索し、検索結果を生成することができるが、特定のアプリケーション１１２に対して、ユーザがその特定のアプリケーション１１２を検索することを（例えば下記により詳細に説明するようにシステムレベル検索ＵＩにおいてその特定のアプリケーション１１２の識別子を選択することによって）要求するまで検索語を提供しない。
【００２６】
システムレベル検索ＵＩを、異なる時点でアクティブ化することができる。システムレベル検索ＵＩがアクティブ化されると、システムレベル検索ＵＩがディスプレイモジュール１１６によって表示される。システムレベル検索モジュール１１８は、システムレベル検索ＵＩがアクティブ化されて常に表示された状態にすることができる。あるいは、システムレベル検索モジュール１１８は、特定の要求（例えば特定のキーボードショートカットのユーザ入力、検索を実行するためのユーザ要求、検索を実行するためのアプリケーション１１２からの要求等）に応答してシステムレベル検索ＵＩをアクティブ化することができ、アクティブ化されるまではシステムレベル検索ＵＩを隠したままにすることができる。アプリケーション１１２は、システムレベル検索モジュール１１８を呼び出すか、又はシステムレベル検索モジュール１１８によってすでに表示されているシステムレベル検索ＵＩにユーザを誘導して、システムレベル検索ＵＩを利用することができる。アプリケーション１１２はシステムレベル検索ＵＩに依存することができるため、それ自体の検索ユーザインタフェースを提供する必要はない。
【００２７】
したがって、システムレベル検索ＵＩを異なる様式で使用することができることに留意されたい。ユーザは、システムレベル検索ＵＩ内に検索語を入力し、その後、１つ又は複数のシステムレベル検索ＵＩを介して、その検索語を検索するための１つ又は複数の範囲を選択することができる。あるいは、ユーザは、アプリケーション１１２又は他のモジュールを介して、検索語を入力するための範囲を検索する要求を入力することができる。それに応答して、システムレベル検索ＵＩを表示すること（又はユーザを、すでに表示されているシステムレベル検索ＵＩに誘導すること）ができ、このシステムレベル検索ＵＩを介して、ユーザは、自身の検索語を入力してそのアプリケーション１１２を検索することができる。あるいは、ユーザは、検索語を入力することなく１つ又は複数のアプリケーション１１２を選択することができ、それに応答して、選択されたアプリケーションに対してユーザ選択を通知し、選択されたアプリケーションはその検索結果をディスプレイビューに表示する。ユーザがまだ検索語を入力し終わっていないために、検索結果が選択されたアプリケーションによって表示されない場合がある。しかしながら、検索語の入力後、選択されたアプリケーションはその検索結果を表示することになる。
【００２８】
図２は、１つ又は複数の実施形態によるシステムレベル検索ユーザインタフェースを含む例示の画面表示２０２を示す。システムレベル検索ＵＩは、３つの部分、すなわち、データ入力部２０４と、検索識別部２０６と、検索結果部２０８とを含むものとして図示されている。ユーザは、様々な単語、アルファベット文字、記号、文字等を検索語として（例えば上述したような図１の入力モジュール１１４を介して）入力することができる。このユーザ入力はデータ入力部２０４内に表示される。図示されている例では、ユーザはデータ入力部２０４内に何ら文字を入力していない。したがって、検索結果部２０８は検索結果を何も表示しておらず、ユーザに対して検索するクエリを入力するよう指示を提供する。
【００２９】
検索識別部２０６は範囲識別子２１２を含む。範囲識別子２１２は、データ入力部２０４内に入力された検索語を検索するためにユーザが選択することができる様々な範囲の識別子を含む。図示されている例では、範囲識別子２１２は、アプリケーション範囲、設定範囲、ファイル範囲、及び２つのアプリケーション特有の範囲（「アプリケーション１  名前（Ａｐｐｌｉｃａｔｉｏｎ  １  Ｎａｍｅ）」及び「アプリケーション２  名前（Ａｐｐｌｉｃａｔｉｏｎ  ２  Ｎａｍｅ）」として識別されるアプリケーションに対するもの）を含む。これらのアプリケーション特有範囲の識別子はアプリケーション識別子としても参照され、アプリケーション特有範囲の識別子を表示することによって、検索識別部２０６は、それらの識別子によって識別されるアプリケーションを表示するものとしても参照される。ユーザは、範囲識別子２１２のうちの１つを、スタイラス又は指で範囲識別子に触れること、ポインタを範囲識別子上に動かしてカーソル制御デバイス（例えばマウス）のボタンを押すこと、キーボードの矢印キーを使用してフォーカスする範囲識別子を変更して所望の範囲識別子がフォーカスされているときにエンターを押すことなど、様々な異なる様式で（例えば図１の入力モジュール１１４を介して）選択することができる。
【００３０】
画面表示２０２は、範囲識別子２１２をテキスト識別子（例えば名前）として示しているが、識別子２１２は異なる形態をとることができる。例えば識別子２１２は、範囲及び／又はアプリケーションテキスト識別子に加えて（又はこれに代えて）、範囲及び／又はアプリケーションを表すアイコン又は記号を含むことができる。これらのアイコン又は記号は、上述したテキスト識別子の選択と同様にユーザにより選択されることが可能である。
【００３１】
図面に示されたシステムレベル検索ＵＩのデータ入力部２０４、検索識別部２０６、及び検索結果部２０８の位置は例であり、システムレベル検索ＵＩを、画面表示２０２のいずれの場所にも表示することができることに留意されたい。例えばデータ入力部２０４及び検索識別部２０６を、画面表示２０２の上部又は下部に、画面表示２０２の左側に沿って、画面表示２０２の中央に、メニューバー又はウィンドウの一部として、あるいはアイコンバー又はドックの一部として表示することができる。別の例として、検索結果部２０８を、画面表示２０２の上部又は下部に、画面表示２０２の右側に沿って、画面表示２０２の中央に、メニューバー又はウィンドウの一部として、あるいはアイコンバー又はドックの一部として表示することができる。
【００３２】
図２の例では、範囲は選択されていない。したがって、画面表示２０２を、単純に検索ＵＩ又はユニバーサル検索ＵＩとして参照することもできる。範囲が選択されているとき、アプリケーション範囲検索ＵＩ（図３を参照して下記に説明される）、設定範囲検索ＵＩ（図４を参照して下記に説明される）、ファイル範囲検索ＵＩ（図５を参照して下記に説明される）及びアプリケーション特有範囲検索ＵＩ（図６を参照して下記に説明される）などの他の画面表示を表示することができる。
【００３３】
あるいは、検索結果部２０８内に検索結果がない画面表示２０２を表示するのではなく、デフォルトの範囲についての検索結果を検索結果部２０８内に表示することができる。デフォルトの範囲は、現在アクティブなアプリケーション（現在アクティブなアプリケーションについては下記により詳細に説明する）、又は代替的に任意の他の範囲とすることができる。
【００３４】
図３は、１つ又は複数の実施形態によるシステムレベル検索ユーザインタフェースを含む別の例の画面表示３０２を示す。画面表示３０２は図２の画面表示２０２と同様である。しかしながら、画面表示３０２は、（例えば「アプリケーション」範囲識別子２１２のユーザ選択により、下記に説明するようなキーボードショートカットのユーザ入力等により）アプリケーション範囲が選択されているシステムレベル検索ユーザインタフェースを図示している。加えて、画面表示３０２は、データ入力部２０４内に入力されている検索語「ｐ」を図示している。画面表示３０２が示す時点においては「ｐ」が検索語であるが、ユーザはさらに文字を入力し続け、結果として異なる検索語となる可能性があることに留意されたい。
【００３５】
アプリケーション範囲が選択されたことに応答して、データ入力部２０４内のアプリケーション範囲についての検索語の検索結果が、検索結果部２０８内に表示される。図３の図示される例では、コンピューティングデバイス上の２つのアプリケーション、すなわち、「Ｐａｉｎｔ」という名前のアプリケーションと「Ｐｈｏｎｅ」という名前のアプリケーションとが上記検索語を含み、これらのアプリケーションの識別子が検索結果部２０８内に表示されている。図示されるように、検索結果部２０８は、範囲が「アプリケーション」であることの指示及び検索語の指示も含むことができ、範囲が「アプリケーション」であることの指示を、データ入力部２０４に近接して（例えばその上に）提供することができる。
【００３６】
検索結果が、検索結果部２０８内に一度に表示することができるエントリよりも多くのエントリを含む状況が生じる可能性があることに留意されたい。そのような状況では、ユーザは、スクロールバーのバー、スクローラ、ボタン等を動かすこと、画面上を指でドラッグするか又は別のジェスチャを行うことなどの、様々な異なるユーザ入力のいずれかを使用してエントリを通じてスクロールすることができる。
【００３７】
加えて、検索語を受信したことに応答して異なる範囲について検索結果を生成する状況において、画面表示３０２は、検索結果が、その異なる範囲についてどの位多くのエントリを含むかの指示を含むことができる。各エントリの性質は範囲に基づいて変化し得る。異なる範囲についての結果のプレビュー（例えばその範囲についての検索結果内に含まれるエントリ数のカウント）も表示することができる。図３の示されている例において、アプリケーション範囲識別子２１２に隣接する指示「（２）」は、アプリケーション範囲についての検索結果が２つのエントリ（例えば２つのアプリケーション）を含むことを示すのに用いられている。同様に、設定範囲識別子２１２に隣接する指示「（５）」は、設定範囲についての検索結果が５つのエントリ（例えば５つの構成設定制御要素）を含むことを示すのに用いられ、ファイル範囲識別子２１２に隣接する指示「（１４）」は、ファイル範囲についての検索結果が１４個のエントリ（例えば１４個のファイル）を含むことを示すのに用いられている。加えて、アプリケーション範囲が選択されているため、アプリケーション範囲についての検索結果が２つのエントリ（例えば２つのアプリケーション）を含むことを示すように、（検索識別部２０６内の指示「（２）」に加えて、又はその代わりに）指示「（２）」が検索結果部２０８内に表示される。図示されていないが、アプリケーション特有範囲についての検索結果の数の指示を、任意選択的に、アプリケーション特有範囲識別子２１２に隣接して含めることもできる。
【００３８】
検索結果部２０８はアプリケーション範囲についての検索結果を表示しているが、ユーザは他の範囲識別子２１２のいずれかを選択することができる。他の範囲識別子２１２のいずれかが選択されたことに応答して、選択された識別されている範囲についての検索結果が検索結果部２０８内に表示される。ユーザは、範囲識別子２１２のうちの１つを、スタイラス又は指で範囲識別子に触れること、ポインタを範囲識別子の上に動かしてカーソル制御デバイス（例えばマウス）のボタンを押すこと、キーボードの矢印キーを使用してフォーカスする範囲識別子を変更して所望の範囲識別子がフォーカスされているときにエンターを押すことなどによって、様々な異なる様式で（例えば図１の入力モジュール１１４を介して）を選択することができる。
【００３９】
１つ又は複数の実施形態において、画面表示３０２はまた、検索結果部２０８内の特定のエントリ（例えば最初のエントリ）にフォーカスする。エントリをボックスで囲むこと、エントリをハイライトすること、エントリのフォント又は色を変えることによるものなど、複数の異なる様式でフォーカスを行うことができる。同様に、他の識別子（例えば範囲識別子２１２）も複数の異なる様式でフォーカスすることができる。ユーザは、キーボードの矢印キーを押すことによって検索結果部２０８内のフォーカスするエントリを変更し、キーボードのエンターキーを押すことによって特定のエントリを選択することができる。エントリが選択されたことに応答して様々なアクションをとることができ、それらのアクションは、少なくとも部分的に、検索結果が生成された範囲に基づいている。例えば、エントリが選択されたことに応答して、エントリによって識別されたアプリケーション又は制御部を実行することができ、エントリによって識別されたファイルを開くことができ、エントリによって識別された追加の情報を表示することができる、などである。
【００４０】
検索結果部２０８内の特定のエントリは、画面表示３０２のシステムレベル検索ＵＩが表示され、検索語が入力されたことに応答して自動的にフォーカスされることに留意されたい。ユーザは、特定のエントリがフォーカスされるように追加のアクションをとる必要はない（例えばユーザは検索結果部２０８の選択を行う必要はない）。あるいは、検索結果部２０８内の特定のエントリを自動的にフォーカスするのではなく、他の場所（例えば特定の範囲識別子２１２）に自動的にフォーカスを置くことができる。
【００４１】
概して、選択された範囲について検索結果が含まれている場合、デフォルトのキーボードの矢印キー選択を使用して、検索結果部内のいずれのエントリをフォーカスするか制御し、文字（例えば英数字、記号等）のキー選択を使用して、データ入力部内に表示されている検索語の少なくとも一部を入力する。ユーザは、キーボードタブキーを使用して、例えば検索結果部と検索識別部との間を切り替えて、キーボードの矢印キー選択が制御する部分を切り替えることができる。検索識別部を制御するとき、キーボードの矢印キーの選択は、範囲識別子のうちのいずれの識別子がフォーカスされるかを制御する。しかしながら、選択された範囲について検索結果が含まれていない場合、デフォルトのキーボード矢印キーの選択を使用して、検索識別部内のいずれの識別子がフォーカスされるかを制御し、文字（例えば英数字、記号等）キー選択を使用して、データ入力部２０４内に表示されている検索語の少なくとも一部を入力する。したがって、選択された範囲について検索結果が含まれていない場合、矢印キーを自動的に使用して検索識別部内の識別子に対するフォーカスを変更し、ユーザは、矢印キーを、検索識別部内の識別子に対するフォーカスを変更するのに使用されるようにするために、検索識別部にタブ移動するか又は他の様態で検索識別部を選択するのに追加の動作をとる必要はない。
【００４２】
例えば、ユーザはキーボードの下矢印キーを押して、フォーカスされるエントリを、検索結果部２０８内の現在フォーカスされているエントリの下にある次のエントリに変更することができ、キーボードの上矢印キーを押して、フォーカスされるエントリを、検索結果部２０８内の現在フォーカスされているエントリの上にある次のエントリに変更することができ、キーボードの右矢印キーを押して、フォーカスされるエントリを、検索結果部２０８内の現在フォーカスされているエントリの右にある次のエントリに変更することができ、キーボードの左矢印キーを押して、フォーカスされるエントリを、検索結果部２０８内の現在フォーカスされているエントリの左にある次のエントリに変更することができる。ユーザは、キーボード上のタブキーを押して、キーボードの上、下、左、及び／又は右矢印キーを使用するのと同様に、いずれの識別子２１２にフォーカスするかを変更することもできる。
【００４３】
したがって、ユーザは素早く簡単に検索結果の中を動かして、自身が望むエントリを選択することができる。例えばアプリケーション範囲を検索することを選択して検索語「ｐ」を入力すると、最初のアプリケーション「Ｐａｉｎｔ」が検索結果部２０８内で自動的にフォーカスされる。ユーザは、単純にキーボード上のエンターキーを押すことによって容易に「Ｐａｉｎｔ」アプリケーションを実行することができ、したがって、ユーザは、「Ｐａｉｎｔ」アプリケーションがフォーカスされるようにするために、検索結果部２０８にタブ移動するか又は他の様態で検索結果部を選択するための追加のアクションをとる必要はない。あるいは、ユーザは、キーボードの矢印キーを使用することにより、別のエントリがフォーカスされるようにし、エンターキーを押すことにより、その他のエントリによって識別されるアプリケーションが実行されるようにすることによって、別のエントリを容易に選択することができる。検索結果に対するフォーカスを変更するためにデフォルトで矢印キーが自動的に使用され、ユーザは、矢印キーを、検索結果部２０８内のエントリに対するフォーカスを変更するのに使用されるようにするために、検索結果部にタブ移動するか又は他の様態で検索結果部を選択するのに追加のアクションをとる必要はない。ユーザが、検索語について異なる範囲又はアプリケーションを選択することを望む場合、ユーザは、単純にタブキーを押して検索識別部に切り替え、次いで、キーボードの矢印キーを使用して、異なる範囲識別子がフォーカスされるようにすることができる。
【００４４】
あるいは、検索結果部内のいずれのエントリがフォーカスされるかを制御するのに使用されるキーボードのキーは、範囲識別子のうちのいずれの識別子がフォーカスされるかを制御するのに使用されるキーボードのキーとは異なるものとすることができる。例えば矢印キーを使用して、検索結果部内のいずれのエントリがフォーカスされるかを制御することができ、数字キーを使用して、範囲識別子のうちのいずれの識別子がフォーカスされるかを制御することができる。
【００４５】
１つ又は複数の実施形態において、異なる範囲識別子２１２がフォーカスされると、識別子２１２に対するフォーカスは識別子の選択として扱われる。したがって、フォーカスされている識別子についての検索結果が検索結果部２０８内に表示される。あるいは、フォーカスされている識別子が選択されているものとして扱われるために追加のアクションをとってもよく、この追加のアクションがなければ、識別子にフォーカスすることは、選択されている識別子として扱われない。例えば、識別子がフォーカスされているときにユーザがエンターキー（又は代替的に別のキー若しくはユーザ入力）を押すことによって識別子を選択することができる。
【００４６】
図３は、ユーザが検索語「ｐ」を入力した例を図示していることに留意されたい。ユーザによって入力される各１つ又は複数の文字又は記号が検索語として扱われ、そのため、ユーザが次にアルファベット文字「ａ」を入力したとすると、検索語は「ｐａ」になり、検索結果部２０８は検索語「ｐａ」についての検索結果を含むことになる。ユーザが文字又は記号を入力するか、文字又は記号を消去するたびに新たな検索語が作成される。あるいは、検索語は、ユーザが、自身が検索語の入力を完了したことを示すまで入力されなくてもよい。例えばユーザは、複数の文字又は記号を入力する可能性があるが、それらの文字は、ユーザが「検索」ボタンを入れるか、又は自身が検索語の入力を完了したという他の指示を入力するまでは検索語として扱われない。
【００４７】
図４は、１つ又は複数の実施形態によるシステムレベル検索ユーザインタフェースを含む別の例の画面表示４０２を示す。画面表示４０２は図３の画面表示３０２と同様である。しかしながら、画面表示４０２は、（例えば「設定」範囲の識別子２１２のユーザ選択によって、下記に説明するようなキーボードショートカットのユーザ入力等によって）設定範囲が選択されているシステムレベル検索ユーザインタフェースを図示している。
【００４８】
設定範囲が選択されたことに応答して、データ入力部２０４内の設定範囲についての検索語の検索結果が、検索結果部２０８内に表示される。図４の図示される例では、コンピューティングデバイス上の５つの構成設定制御要素が検索語を含んでおり、これらの制御要素の識別子が、検索結果部２０８内に「Ｐａｒｅｎｔａｌ  Ｃｏｎｔｒｏｌｓ」、「Ｐｅｒｆｏｒｍａｎｃｅ  Ｔｏｏｌｓ」、「Ｐｅｒｓｏｎａｌｉｚａｔｉｏｎ」、「Ｐｈｏｎｅ  ａｎｄ  Ｍｏｄｅｍ」及び「Ｐｏｗｅｒ  Ｏｐｔｉｏｎｓ」として表示されている。図示されるように、検索結果部２０８は、範囲が「設定」であることの指示及び検索語の指示も含むことができ、範囲が「設定」であることの指示を、データ入力部２０４に近接して（例えばその上に）提供することができる。
【００４９】
ユーザは、図２及び図３を参照して上述したように、図４に示されるシステムレベル検索ユーザインタフェースと対話することができる。例えば検索結果部２０８内の最初のエントリ（「Ｐａｒｅｎｔａｌ  Ｃｏｎｔｒｏｌｓ」）が自動的にフォーカスされ、ユーザがキーボードのエンターキーを押すことによって、該エントリを選択することができ、ユーザは、検索結果部２０８を選択するのに何ら追加のアクションをとる必要なく、キーボードの矢印キーを使用して検索結果部２０８内のいずれのエントリがフォーカスされるかを変更し、異なる範囲識別子２１２を選択することができる。
【００５０】
図５は、１つ又は複数の実施形態によるシステムレベル検索ユーザインタフェースを含む別の例の画面表示５０２を示す。画面表示５０２は図３の画面表示３０２と同様である。しかしながら、画面表示５０２は、（例えば「ファイル」範囲の識別子２１２のユーザ選択によって、下記に説明するようなキーボードショートカットのユーザ入力等によって）ファイル範囲が選択されているシステムレベル検索ユーザインタフェースを図示している。
【００５１】
ファイル範囲が選択されたことに応答して、データ入力部２０４内のファイル範囲についての検索語の検索結果が、検索結果部２０８内に表示される。図５の図示される例では、コンピューティングデバイス上の１４個のファイルが検索語を含んでおり、これらのファイルの識別子が、検索結果部２０８内に「Ｐａｃｉｆｉｃ  Ｃｏａｓｔ  Ｓｃｅｎｅｓ」、「ＰＣ  Ｒｅｖｉｅｗｓ」、「Ｐｅａｒｌ  Ｈａｒｂｏｒ  Ｍｅｍｏｒｉｅｓ」などとして表示される。図示されるように、検索結果部２０８は、範囲が「ファイル」であることの指示及び検索語の指示も含むことができ、範囲が「ファイル」であることの指示を、データ入力部２０４に近接して（例えばその上に）提供することができる。
【００５２】
ユーザは、図２及び図３を参照して上述したように、図５に示すシステムレベル検索ユーザインタフェースと対話することができる。例えば検索結果部２０８内の最初のエントリ（「Ｐａｃｉｆｉｃ  Ｃｏａｓｔ  Ｓｃｅｎｅｓ」）が自動的にフォーカスされ、ユーザはキーボードのエンターキーを押すことによって、該エントリを選択することができ、ユーザは、検索結果部２０８を選択するのに何ら追加のアクションをとる必要なく、キーボードの矢印キーを使用して検索結果部２０８内のいずれのエントリがフォーカスされるかを変更し、異なる範囲識別子２１２を選択することができる。
【００５３】
図６は、１つ又は複数の実施形態によるシステムレベル検索ユーザインタフェースを含む別の例の画面表示６０２を示す。画面表示６０２は図３の画面表示３０２と同様である。しかしながら、画面表示６０２は、（例えば「アプリケーション１  名前」範囲識別子２１２のユーザ選択によって、下記に説明するようなキーボードショートカットのユーザ入力等によって）アプリケーション特有範囲識別子２１２が選択されているシステムレベル検索ユーザインタフェースを図示している。図６の図示される例において、選択されたアプリケーションは映画アプリケーションである。
【００５４】
アプリケーション特有範囲識別子が選択されたことに応答して、データ入力部２０４内の、選択された識別されているアプリケーションについての検索語の検索結果が、検索結果部２０８内に表示される。選択されたアプリケーションは、どの項目が検索語を含むかを決定し、検索結果部２０８のための検索結果及び表示を生成する。図６の図示される例では、映画アプリケーションの３本の映画が検索語を含んでおり、これらの映画の識別子が、検索結果部２０８内に「Ｔｈｅ  Ｐａｔｒｉｏｔ」、「Ｐｌａｎｅｔ  ｏｆ  ｔｈｅ  Ａｐｅｓ」及び「Ｐｓｙｃｈｏ」として表示される。図示されるように、検索結果部２０８は、（例えば「映画アプリケーション（Ｍｏｖｉｅ  Ａｐｐｌｉｃａｔｉｏｎ）」のようなアプリケーションの名前、アプリケーションを表すアイコン又は記号等を表示することによって）選択されたアプリケーションの指示を含むこともでき、選択されたアプリケーションの指示を、データ入力部２０４に近接して（例えばその上に）提供することができる。図示されていないが、任意選択的に、選択されたアプリケーションの検索結果の数の指示（例えば「（３）」）を検索結果部２０８内に、及び／又は選択されたアプリケーションのアプリケーション特有範囲指示子２１２に隣接して含むこともできる。
【００５５】
ユーザは、図２及び図３を参照して上述したように、図６に示すシステムレベル検索ユーザインタフェースと対話することができる。例えば検索結果部２０８内の最初のエントリ（「Ｔｈｅ  Ｐａｔｒｉｏｔ」）が自動的にフォーカスされ、ユーザはキーボードのエンターキーを押すことによって、該エントリを選択することができ、ユーザは、検索結果部２０８を選択するのに何ら追加のアクションをとる必要なく、キーボードの矢印キーを使用して検索結果部２０８内のいずれのエントリがフォーカスされるかを変更し、異なる範囲識別子２１２を選択することができる。
【００５６】
表示される特定の情報及びユーザのシステムレベル検索ユーザインタフェースとの対話について図２〜図６において上述したが、様々な他の情報を表示することができ、及び／又は他のユーザ対話をサポートすることができることに留意されたい。例えばシステムレベル検索モジュールは、タイプ先行結果（例えばデータ入力部２０４内に入力された検索語に基づいて提案される１つ又は複数の追加の検索結果）を取得することによって、１つ又は複数の追加の言語のための文字を（例えば入力方法エディタを使用して）取得すること等によって、追加の検索語を取得して表示することができる。これらの追加の検索語を、検索語及び／又は他のユーザ入力に基づいて生成することができ、システムレベル検索モジュールによって、オペレーティングシステムの別の構成要素又はモジュールによって、アプリケーション特有範囲識別子２１２によって識別されるアプリケーション等によって生成することができる。検索識別部を制御するとき、キーボード矢印キー選択が、これらの追加の検索語のうちのいずれがフォーカスされるかを制御することができる。ユーザが（例えば最後の追加の検索語がフォーカスされているときに下矢印キーを押すことによって、又は最初の追加の検索語がフォーカスされているときに上矢印キーを押すことによって）追加の検索語の外にナビゲートする場合、キーボードの矢印キーの選択は、検索識別部内のいずれの識別子がフォーカスされるかを制御する。
【００５７】
検索語に対する様々な修正を任意選択で行うこともできる。ユーザは、上述のように新たな文字を入力して新たな検索語にすることができる。加えて、検索語は、様々なクエリ構文（高度クエリ構文（ＡＱＳ：Ａｄｖａｎｃｅｄ  Ｑｕｅｒｙ  Ｓｙｎｔａｘ）等）に基づく様々な他の語又は記号（例えば異なる演算子、フィルタ、ワイルドカード値等）を含むことができる。これらの語又は記号を、データ入力部２０４又は他の場所（例えば追加のウィンドウ又はデータ入力部内、検索結果部２０８内等）に入力して表示することができる。例えばアプリケーション特有範囲識別子２１２がユーザによって選択されたことに応答して、（例えばシステムレベル検索モジュールによって、又は、選択されたアプリケーション特有範囲識別子２１２によって識別されるアプリケーションによって）追加のウィンドウ又はデータ入力部を表示することができ、これによりユーザがそのような他の語又は記号を入力することが可能になる。別の例として、ユーザによるアプリケーション特有範囲識別子２１２の選択に応答して、検索結果の特定のエントリではなく、上記の様々な他の語又は記号の入力を可能にするクエリ修飾子を、検索結果部２０８上でフォーカスすることができる。
【００５８】
図１に戻ると、１つ又は複数の実施形態において、システムレベル検索モジュール１１８は、様々なキーボードショートカットをサポートしており、これにより、ユーザによって任意の数のキーの特定のキーシーケンス又はグループが押されることで、特定のシステムレベル検索ＵＩが表示されるようになる。これらのキーボードショートカットを、事前定義、ユーザ定義、アプリケーション定義などのような種々の様式で定義することができる。異なるキーボードショートカットを複数の異なる範囲と関連付けることができる。例えば、１つのキーボード・ショートカット・キー（例えばオペレーティングシステム・キーとＱキーとの組合せ）をユニバーサル検索ＵＩと関連付けることができ、別のキーボード・ショートカット・キー（例えばオペレーティングシステム・キー単独）をアプリケーション範囲検索ＵＩと関連付けることができ、キーボード・ショートカット・キー（例えばオペレーティングシステム・キーとＷキーとの組合せ）を設定範囲検索ＵＩと関連付けることができ、別のキーボード・ショートカット・キー（例えばオペレーティングシステム・キーとＦキーとの組合せ）をファイル範囲検索と関連付けることができる。具体的なキーボード・ショートカット・キーを説明しているが、様々な他のキーボード・ショートカット・キーのうちの任意のものを使用することができることに留意されたい。
【００５９】
追加のキーボード・ショートカット・キーを任意選択的に追加することもできる。例えば特定のアプリケーション（例えば図２〜図６のアプリケーション特有範囲識別子２１２によって識別されるアプリケーション）のためのキーボード・ショートカット・キーを、システムレベル検索モジュール１１８によってサポートすることができる。そのような追加のキーボード・ショートカット・キーを、種々の様式で、例えばコンピューティングデバイスのユーザによって、（システムレベル検索ＵＩへの登録の一部として）アプリケーション１１２によって指定することができる。
【００６０】
特定のキーボード・ショートカット・キーが入力されていることに応答して、システムレベル検索モジュール１１８は関連する検索ＵＩを表示する。ユーザがファイル範囲検索ＵＩと関連付けられるキーボードショートカットを入力した場合、次いでファイル範囲検索ＵＩ（例えば図５の画面表示５０２）が表示される。ユーザは、キーボード・ショートカット・キーを入力した後すぐに、コンピューティングデバイス１０２上のファイルについて検索するための検索語について、自身が望む文字を入力し始めることができる。
【００６１】
１つ又は複数の実施形態において、ユーザがユニバーサル検索ＵＩと関連付けられるキーボード・ショートカット・キーを入力したのに応答して、システムレベル検索モジュール１１８は、ユーザ入力を、特定のアプリケーションが選択されている検索ＵＩを表示するための要求として扱う。したがって、モジュール１１８は、特定のアプリケーションが選択されているかのようにシステムレベル検索ユーザインタフェースを表示する（例えば、図６の画面表示６０２）。この特定のアプリケーションを種々の様式で識別することができる。例えば現在アクティブなアプリケーション（例えば現在フォアグランドで実行しており、ユーザが対話することができるアプリケーション）がシステムレベル検索ＵＩに登録されている場合、特定のアプリケーションはその現在アクティブなアプリケーションである。しかしながら、現在アクティブなアプリケーションがシステムレベル検索ＵＩに登録されていない場合、特定のアプリケーションは、システムレベル検索ＵＩに登録されている最も頻繁に使用されるアプリケーション、システムレベル検索ＵＩに登録されている最も最近に使用されたアプリケーションなど、他の様式で識別される。
【００６２】
加えて、１つ又は複数の実施形態において、オペレーティングシステム１１０は、現在アクティブなアプリケーション又は構成要素（例えば現在フォアグランドで実行しており、ユーザが対話することができるアプリケーション又は構成要素）である、特定のアプリケーション１１２又はオペレーティングシステム１１０の構成要素を認識する。典型的に、任意の所与の時点において単一のアプリケーション又は構成要素が現在アクティブなアプリケーション又は構成要素であるが、現在アクティブなアプリケーション又は構成要素は経時的に変化する可能性がある。オペレーティングシステム１１０は、現在アクティブなアプリケーション又は構成要素が文字（例えば英数文字又は他の記号）入力をサポートするか否かもわかる。例えばオペレーティングシステム・メニューは、矢印及び／又は他のナビゲーションキーを入力としてサポートするが、アルファベット文字（文字）キーはサポートしないことがある。オペレーティングシステム１１０は、構成要素がオペレーティングシステム１１０の一部であることに起因して、アプリケーション１１２がシステムレベル検索ＵＩに登録したときにアプリケーション１１２によって指示が提供されることなどに起因して、様々な様式で、現在アクティブなアプリケーション又は構成要素が文字入力をサポートするか否かを認識することができる。
【００６３】
現在アクティブなアプリケーション又は構成要素が文字入力をサポートしていないときに文字入力を受信した場合、システムレベル検索モジュール１１８はシステムレベル検索ＵＩを表示する。１つ又は複数の実施形態において、モジュール１１８は、現在アクティブなアプリケーション又は構成要素が文字入力をサポートしていないときに受信された文字入力を、ユニバーサル検索ＵＩと関連付けられる、ユーザが選択したキーボード・ショートカット・キーと同様に、ユニバーサル検索ＵＩを表示するための要求として（上述のように特定のアプリケーションが選択されている検索ＵＩを表示するための要求として）扱う。
【００６４】
あるいは、ユニバーサル検索ＵＩではなく、モジュール１１８は、現在アクティブなアプリケーション又は構成要素が文字入力をサポートしていないときに受信された文字入力を、異なる範囲についての検索結果を表示するための要求として扱うことができる。検索結果が表示されることになる範囲を、複数の異なる範囲についての検索結果内に含まれるエントリ数のカウント（例えばその検索結果内に最大数のエントリを有する範囲についての検索結果を表示する）又は他の関連情報に基づくなど、種々の様式で決定することができる。検索結果が表示されることになる範囲は、コンテンツのタイプに基づくこともできる（例えば現在アクティブなアプリケーションがビデオ再生アプリケーションである場合、ビデオコンテンツに対する範囲であると定義されている範囲についての検索結果を、検索結果を表示するための範囲とすることができる）。
【００６５】
図７は、１つ又は複数の実施形態による例示的なシステムレベル検索モジュール７００を示すブロック図である。システムレベル検索モジュール７００は、例えば図１のシステムレベル検索モジュール１１８とすることができる。システムレベル検索モジュール７００は、ユーザ・インタフェース・モジュール７０２と、アプリケーションランク付けモジュール７０４と、アプリケーション登録モジュール７０６と、アプリケーション登録ストア７０８とを含む。
【００６６】
アプリケーション登録モジュール７０６は、アプリケーションのシステムレベル検索モジュール７００への登録を管理し、登録されたアプリケーションがアプリケーション特有範囲としてシステムレベル検索ＵＩの検索識別部内に表示されることを可能にする。この登録は、登録されたアプリケーションがシステムレベル検索ＵＩを使用することを可能にすることとしても参照される。登録されたアプリケーションに関する情報がアプリケーション登録ストア７０８内に保持される。アプリケーションランク付けモジュール７０４は、登録されたアプリケーションに対するランク付けを決定し、登録されたアプリケーションは、それらのランク付けに従ってシステムレベル検索ＵＩの検索識別部内に表示される。ユーザ・インタフェース・モジュール７０２は、システムレベル検索ＵＩとして表示される情報を生成し、この情報を、システムレベル検索モジュール７００が位置するコンピューティングデバイスのディスプレイモジュール（例えば図１のディスプレイモジュール１１６）に提供する。ＵＩモジュール７０２は、ユーザ選択されたアプリケーションを起動すること、検索語をアプリケーションに通信すること、及びアプリケーションから、システムレベル検索ＵＩの一部として表示されるべき情報を受信することを含め、アプリケーション（例えば図１のアプリケーション１１２）とも対話する。
【００６７】
システムレベル検索ＵＩの検索識別部内に表示するために、アプリケーションはシステムレベル検索モジュール７００に登録する。アプリケーション登録モジュール７０６は、システムレベル検索モジュール７００の登録プロセスを管理し、アプリケーションと通信して、適切な登録情報をアプリケーション登録ストア７０８内に保存する。アプリケーションを、アプリケーションがシステムレベル検索モジュール７００と同じコンピューティングデバイス上にインストールされるとき、システムレベル検索モジュール７０７がインストールされているのと同じコンピューティングデバイス上のアプリケーションにアップグレードするとき、システムレベル検索モジュール７００に登録するためのユーザからの要求に応答して、システムレベル検索モジュール７００に登録することを求める別のモジュール又はデバイスからの要求に応答してなど、種々の時点においてシステムレベル検索モジュール７００に登録することができる。
【００６８】
加えて、アプリケーション自体が、それ自体をシステムレベル検索モジュール７００に登録するための登録プロセスを実行することができ、あるいは別のアプリケーション又はモジュールが、アプリケーションをシステムレベル検索モジュール７００に登録するための登録プロセスを実行することができる。例えばインストーラアプリケーション又はモジュールは、システムレベル検索モジュール７００を含むコンピューティングデバイス上にアプリケーションをインストールするときに、該アプリケーションをシステムレベル検索モジュール７００に登録する登録プロセスを実行することができる。
【００６９】
登録プロセスの一部として、アプリケーションが登録されるための登録情報がアプリケーション登録モジュール７０６に提供される。様々な異なる登録情報をアプリケーション登録モジュール７０６に提供することができる。１つ又は複数の実施形態において、登録情報は、登録されているアプリケーションがＵＩモジュール７０２によってどのように起動されるべきか、及び検索語がアプリケーションにどのように提供されるべきかの指示を含む。アプリケーションがＵＩモジュール７０２によってどのように起動されるかという指示は、アプリケーションによって変化する可能性があり、例えば、実行されるべき実行可能ファイルの指示、ファイルの実行を開始するときに使用されるか、又は実行し始めた後にアプリケーションに渡されるべき１つ又は複数のパラメータの指示、アプリケーションに１つ又は複数のパラメータを渡すために呼び出すアプリケーションの１つ又は複数のアプリケーション・プログラミング・インタフェース（ＡＰＩ）の指示などを含むことができる。同様に、検索語がモジュール７０２によってアプリケーションにどのように提供されるべきかという指示は、アプリケーションによって変化する可能性があり、例えばアプリケーションの実行を開始するときに検索語（及び任意選択的に他のコンテキスト情報）がアプリケーションにどのように提供されるべきかという指示、アプリケーションに検索語（及び任意選択的に他のコンテキスト情報）を渡すために呼び出すアプリケーションの１つ又は複数のＡＰＩの指示などを含むことができる。
【００７０】
様々な他の情報が登録情報内に含まれ得る。例えば登録情報は、アプリケーションが分類される特定のアプリケーションカテゴリ（例えばゲーム、音楽、映画、出版物、ショッピング、生産性、ソーシャルネットワーキング等）、アプリケーションがサービスする特定のタイプのコンテンツ（例えば映画、電子書籍、ゲーム、音楽等）、アプリケーションによって使用されるウェブドメイン（例えばネットワークを介してアクセスされるデバイス又はサービスのウェブドメイン）などのような、アプリケーションを記述するメタデータを含むことができる。別の例として、登録情報は、システムレベル検索ＵＩの検索識別部内でアプリケーションがどのように識別されるべきかを示す情報（例えば使用すべき１つ又は複数のアイコン、使用すべき１つ又は複数の名前、使用すべき１つ又は複数の色又はフォント、表示すべき１つ又は複数のアニメーション等）を含むことができる。また別の例として、登録情報は、アプリケーションの要件（例えばアプリケーションが、インターネット、又は別のデバイス若しくはサービスに対する他のネットワークアクセスに依存するか否か）を記述する情報を含むことができる。
【００７１】
登録情報は、検索に関するアプリケーションの挙動を記述する情報を含むことができる。例えば登録情報は、アプリケーションが、ワードホイーリング（検索語の各文字が入力されるそばから検索結果を表示していく）をサポートするか、検索語の検索をするユーザ要求を受信した後（例えば「検索」ボタンのユーザ選択又はアプリケーションのアプリケーション特有範囲識別子の選択が受信された後）にのみ検索する単なる検索をサポートするかという指示を含むことができる。別の例として、登録情報は、アプリケーションがタイプ先行結果及び／又は入力方法エディタを提供するかどうかという指示を含むことができる。また別の例として、登録情報は、検索ＵＩを、表示されているアプリケーションに関連付けるために使用されるキーボード・ショートカット・キーを含むことができる。さらに別の例として、登録情報は、アプリケーションが、アプリケーションに対する検索結果に含まれるエントリ数のカウントを提供し、それによって、そのアプリケーション特有範囲についての結果のプレビューを表示することができるか否かという指示を含むことができる。
【００７２】
登録情報は、登録されているアプリケーションによって、あるいは別のデバイス、構成要素又はモジュールによって提供されることも可能であることにも留意されたい。例えば登録情報の少なくとも一部が、アプリケーションの販売者又は製造者によって提供されることが可能である。別の例として、アプリケーションは、登録情報を含む関連マニフェスト又は他のメタデータを有してもよく、アプリケーションをインストールしているインストーラアプリケーション又はモジュールが、アプリケーションの代わりに登録情報を提供することができる。
【００７３】
アプリケーション登録モジュール７０６は、アプリケーションに対する登録プロセスの一部として受信した登録情報をアプリケーション登録ストア７０８内に記憶する。登録情報は、対応するアプリケーション識別子とともに登録情報を記憶することなどによって、アプリケーションに関連付けられるか、又は対応付けて記憶される。アプリケーション識別子は様々な異なる形態をとることができ、例えばアプリケーションの名前と製造者との組合せ、アプリケーション製造者又はシステムレベル検索モジュール７００によってアプリケーションに割り当てられた識別子などとすることができる。アプリケーション登録ストア７０８は、異なるアプリケーションについて登録情報を記憶するデータベース、リスト又は他のデータ構造とすることができる。アプリケーション登録ストア７０８は、その後ユーザ・インタフェース・モジュール７０２によってアクセスされて、システムレベル検索モジュールＵＩの検索識別部の一部として表示されることになるアプリケーションを識別することができる。
【００７４】
アプリケーションランク付けモジュール７０４は、アプリケーション登録ストア内に登録されている各アプリケーションにランクを割り当てる。ランク付けを使用して、システムレベル検索ＵＩの検索識別部内で（例えばアプリケーション特有範囲識別子として）アプリケーションが表示される順序を決定する。さらに、システムレベル検索モジュール７００に登録されたアプリケーションが、システムレベル検索ＵＩが表示することができるアプリケーションよりも多く存在するという状況が生じる可能性がある。そのような状況では、ランク付けを使用して、いずれのアプリケーションがシステムレベル検索ＵＩによって表示されるべきかを決定する。あるいは、アプリケーションが表示される順序及び／又はいずれのアプリケーションが表示されるかを、アプリケーションの名前のアルファベット順に、ランダムに、他の規則又は基準に従うなどにより、異なる様式で決定することができる。
【００７５】
アプリケーションランク付けモジュール７０４は、ランク付けアプリケーションにおいて、アプリケーションを記述する（及びアプリケーションの登録情報として含まれる）メタデータ及びアプリケーションの使用データなど、様々な異なる基準を使用することができる。アプリケーションランク付けモジュール７０４は、システムレベル検索ＵＩがアクティブ化されること、検索語がユーザによって入力されることなど、種々のイベントに応答してランク付けを決定することができる。あるいは、アプリケーションランク付けモジュール７０４は、アプリケーションのランクを事前に決定し、システムレベル検索ＵＩの検索識別部が表示されているときに事前決定されたランクを使用することができる。事前決定されるランクを、定期的又は不定期の間隔で（例えばほぼ毎日又は毎週、新たなアプリケーションがアプリケーション登録モジュール７０６に登録するとき等）生成することができる。これらの事前決定されるランクを、アプリケーション登録ストア７０８内に保持することができ（例えばアプリケーションのランクを登録情報とともに記憶することができ）、あるいは他の場所に記憶することができる。
【００７６】
アプリケーションランク付けモジュール７０４によって決定されるランクは、特定のスコア（例えば１〜１００の範囲の値）とすることができ、あるいは最高ランクから最低ランクまでのアプリケーションの順序付けとすることができ、これにより、特定のアプリケーションが任意の他のアプリケーションよりも高くランク付けされているか、又は低くランク付けされているかについて容易に判断を行うことができる。より高いスコア又はより高いランクを有するアプリケーションは、典型的に、より低いスコア又はより低いランク付けを有するアプリケーションよりも、ユーザによって入力される検索語に関連するとみなされるが、代替的に、より低いスコア又はより低いランク付けを有するアプリケーションが、より高いスコア又はより高いランク付けを有するアプリケーションよりもユーザによって入力される検索語に関連するとみなされることができる。
【００７７】
１つ又は複数の実施形態において、特定のアプリケーションのランクを決定するために、ランク付けモジュール７０４は、特定のアプリケーションの特性を識別する。特定のアプリケーションの様々な特性を使用して、特定のアプリケーションのランク付けを決定することができる。複数の特性を使用して特定のアプリケーションのランク付けを決定することができ、あるいは代替的に、単一の特性を使用して特定のアプリケーションのランク付けを決定することができる。ランク付けを決定するのに使用されるこれらの特性の各々に対して特定の関連スコアが生成され、これらの関連スコアが１つ又は複数のランク付けアルゴリズムに入力される。１つ又は複数のランク付けアルゴリズムは、入力関連スコアを（例えばスコアを加算することによって、関連スコアの各々に重みを割り当てて加重関連スコアを加算すること等によって）組み合わせて、アプリケーションのランク付けを生成する。アプリケーションの関連スコアの組合せを、アプリケーションのランク付けとすることができる。あるいは、登録されたアプリケーションのすべてに対して、組合せ関連スコアを生成することができ、登録されたアプリケーションを、それらの組合せ関連スコア（例えば最高の組合せ関連スコアから最低の組合せ関連スコアまでの）に基づいて順序付けることができ、この順序付けをアプリケーションのランク付けとすることができる。
【００７８】
アプリケーションのランク付けを決定するのに使用することができる１つの特性は、アプリケーションを記述するメタデータである。アプリケーションを記述するメタデータは、上述のようにアプリケーションの登録情報として提供される。アプリケーションランク付けモジュール７０４は、現在アクティブなアプリケーションのアプリケーションカテゴリを識別する（例えば現在アクティブなアプリケーションの識別子をオペレーティングシステムから取得して、アプリケーション登録ストア７０８内のルックアップとして使用して、そのアプリケーションの登録情報を決定することができる）。アプリケーションが現在アクティブなアプリケーションと同じカテゴリ内にある場合、アプリケーションにはより高い関連スコア（例えば１の値）が割り当てられ、アプリケーションが現在アクティブなアプリケーションと同じカテゴリ内にない場合、アプリケーションにはより低い関連スコア（例えば０の値）が割り当てられる。
【００７９】
アプリケーションのランク付けを決定するのに使用することができる別の特性は、アプリケーションの使用状況データである。アプリケーションの使用状況に関する情報を、システムレベル検索モジュール７００によってモニタリングして保持することができる。ユーザが、システムレベル検索モジュール７００を使用して検索されるべきアプリケーション及び検索語を選択すると、いずれのアプリケーションが検索されるために選択されたか、及び検索のために入力された検索語に関する情報を、システムレベル検索モジュール７００によって容易に識別し、そのレコードを保持することができる。アプリケーションの使用状況に関する情報は、例えばアプリケーションがシステムレベル検索ＵＩを介して検索されるべきアプリケーションとして選択される頻度、アプリケーションがどのくらい最近にシステムレベル検索ＵＩを介して検索されるべきアプリケーションとして選択されたか、アプリケーションがシステムレベル検索ＵＩを介して現在の検索語について検索されるべきアプリケーションとして選択される頻度、アプリケーションがどのくらい最近にシステムレベル検索ＵＩを介して現在の検索語について検索されるべきアプリケーションとして選択されたか、などとすることができる。加えて、アプリケーションが、システムレベル検索ＵＩとは別個に検索することができる検索ユーザインタフェースをサポートする場合、それらのアプリケーションが同様に、使用状況データをモニタリングし、そのような使用状況データをアプリケーションランク付けモジュール７０４に提供することができる。
【００８０】
使用状況情報を使用して、アプリケーションの関連スコアである数値を生成することができる。例えばアプリケーションが、システムレベル検索ＵＩを介して選択されるべきアプリケーションとして選択された頻度の数値を、そのアプリケーションが選択された回数を（例えば前週、前月などの何らかの期間にわたる）アプリケーション選択の総数で除算することによって生成することができる。別の例として、アプリケーションがどのくらい最近、システムレベル検索ＵＩを介して現在の検索語について検索されるべきアプリケーションとして選択されたかに関する数値を、アプリケーションがシステムレベル検索ＵＩを介して現在の検索語について検索されるべきアプリケーションとして最後に選択されたのがどのくらい前か（例えば分、時間、日などの単位で）を識別することによって生成することができる。
【００８１】
アプリケーションのランク付けを決定するのに使用することができる別の特性は、アプリケーションのウェブドメインである。アプリケーションのウェブドメインは、上述のようにアプリケーションの登録情報として提供される。アプリケーションランク付けモジュール７０４は、ユーザによって入力された現在の検索語をインターネット検索エンジンに転送し、インターネット検索エンジンによって返される結果を分析し、インターネット検索エンジンによって返された結果の中でウェブドメインが現れた場所に基づいて、アプリケーションに関連スコアを割り当てることができる。アプリケーションのウェブドメインに基づくアプリケーションの関連スコアの数値を、例えばウェブドメインがインターネット検索エンジンによって返される結果の中でどのくらい高い又は早いかを識別することによって生成することができる。例えばインターネット検索エンジンによって返される結果が、アプリケーションのウェブドメインを最初の結果としてリストする場合、アプリケーションの関連スコアは１（あるいは、特定の値マイナス（−）１）である。別の例として、インターネット検索エンジンによって返される結果が、アプリケーションのウェブドメインを上から又は最初の結果から５番目の結果としてリストする場合、アプリケーションの関連スコアは５（あるいは、特定の値マイナス（−）５）である。あるいは、インターネット検索エンジンによって返される結果がウェブドメインを含む利用可能な結果がないことを示す場合、アプリケーションを、システムレベル検索ＵＩの検索識別部内に表示されるアプリケーションから除外することができる。例えばアプリケーションランク付けモジュール７０４は、アプリケーションが除外されるべきであることをユーザ・インタフェース・モジュール７０２に示すことができ、それに応答して、ユーザ・インタフェース・モジュール７０２は、そのアプリケーションの識別子をシステムレベル検索ＵＩの検索識別部内に含まない。あるいは、アプリケーションランク付けモジュール７０４は、そのアプリケーションのウェブドメインを、アプリケーションの関連スコアを返すウェブサービスに転送することができる。ウェブサービスが関連スコアを決定する様式は変化する可能性があり、ウェブサービスによって決まる。
代替の実施形態において、アプリケーションランク付けモジュール７０４は、ユーザによって指定される（及びユーザによって様々な異なる様式で入力することができる）アプリケーションのランク付けを保持する。したがって、ユーザは、アプリケーションのランク付けを、所望に応じてカスタマイズすることが可能である。アプリケーションランク付けモジュール７０４は、アプリケーションのランク付けを決定するためにいずれの他の基準も使用する必要はなく、単にユーザ指定されたランク付けを、アプリケーションランク付けモジュール７０４によって生成又は決定されるランク付けとして使用することができる。アプリケーションに対するこれらのユーザ指定されたランク付けは、登録されたアプリケーションに関する他の情報とともにアプリケーション登録ストア７０８内に保持することができ、あるいは他の場所に保持することができる。
【００８２】
ユーザ・インタフェース・モジュール７０２は、アプリケーション登録ストア７０８内の情報、及びアプリケーションランク付けモジュール７０４によって生成されたランク付けを使用して、システムレベル検索ＵＩの検索識別部内に含めるためのアプリケーション及び／又はシステムレベル検索ＵＩの検索識別部内に含まれるアプリケーションの順序付けを決定する。１つ又は複数の実施形態において、システムレベル検索ＵＩの検索識別部は、閾値数までのアプリケーションのみを表示することができる。閾値数を超えるアプリケーションがシステムレベル検索モジュール７００に登録されている場合、ユーザ・インタフェース・モジュール７０２は、システムレベル検索モジュール７００に登録されているアプリケーションであって、最高のランク付け（あるいは最低のランク付け）を有する閾値数のアプリケーションを選択する。例えばシステムレベル検索ＵＩの検索識別部が、５つのアプリケーション識別子しか表示することができない場合、ユーザ・インタフェース・モジュール７０２は５つの最高ランクのアプリケーション（例えば５つの最大の組合せ関連スコアを有するアプリケーション、それらの組合せ関連スコアに基づいてアプリケーションの順序付けの始まり又は終わりにある５つのアプリケーション等）を選択して、それらの５つの最高ランクのアプリケーションをシステムレベル検索ＵＩの検索識別部内に含める。閾値数のアプリケーションを、システムレベル検索モジュール７００のユーザ又は管理者によって任意選択的に構成することができる。
【００８３】
ユーザ・インタフェース・モジュール７０２は、アプリケーション登録ストア７０８内の情報を使用して、システムレベル検索ＵＩの検索識別部内に含めるアプリケーションを決定することもできる。１つ又は複数の実施形態において、アプリケーションによって提供される登録情報は、上述したようなアプリケーションの要件を含む。ユーザ・インタフェース・モジュール７０２は、これらの要件が満たされるか否かをチェックし、要件が満たされない場合はシステムレベル検索ＵＩの検索識別部内にアプリケーションを含めない。
【００８４】
ユーザ・インタフェース・モジュール７０２が、アプリケーションの要件が満たされるか否かを判定する様式は、特定の要件に基づいて変わる。例えば登録情報は、（例えば図１のコンピューティングデバイス１０４のようなリモートコンピューティングデバイス上のデータストアにアクセスするために）インターネット接続が必要であることを示す可能性がある。ユーザ・インタフェース・モジュール７０２は、（例えばシステムレベル検索モジュール７００と同じコンピューティングデバイス上のオペレーティングシステムの）構成要素又はモジュールに問い合わせて、コンピューティングデバイスが現在インターネット接続を有するか否かを判定する。コンピューティングデバイスが現在インターネット接続を有する場合、要件が満たされ、アプリケーションをシステムレベル検索ＵＩの検索識別部内に含めることができる。しかしながら、コンピューティングデバイスが現在インターネット接続を有しない場合、要件は満たされず、アプリケーションはシステムレベル検索ＵＩの検索識別部内に含まれない。あるいは、コンピューティングデバイスが現在インターネット接続を有しない場合、アプリケーションは、検索識別部内に表示することができるが、異なる外観（例えばアプリケーションが検索語について検索することできないことを示すために影付きにされる）で、又はテキスト、アイコン若しくはアプリケーションが検索語について検索することが可能でないものであり得るという何らかの他の指示を用いて表示されることができる。
【００８５】
加えて、１つ又は複数の実施形態において、ユーザ・インタフェース・モジュール７０２は、ランク付けに基づいてシステムレベル検索ＵＩの検索識別部内に含まれるアプリケーションの順序付けを決定する。アプリケーション識別子は、システムレベル検索ＵＩの検索識別部内に、アプリケーションのランク付けに従った順序で表示される。アプリケーション識別子がそれらのランク付けに従って表示される様式は、実施態様によって変わる可能性がある。例えばアプリケーション識別子を、最高ランクから最低ランクへの順序で、システムレベル検索ＵＩの検索識別部内に上から下へと表示されることができる。例えば図２を参照すると、「アプリケーション１  名前」によって識別されるアプリケーションは、「アプリケーション２  名前」によって識別されるアプリケーションよりも高いランク付けを有することになる。別の例として、アプリケーション識別子は、最高ランクから最低ランクへの順序で、システムレベル検索ＵＩの検索識別部内に左から右へと表示されることができる。
【００８６】
ユーザ・インタフェース・モジュール７０２は、ランク付けに基づいてアプリケーション識別子に様々な他の修正を行うこともできる。例えば、より高くランク付けされたアプリケーション（例えば１つ又は複数の最高ランクのアプリケーション、閾値を超えるランク付けを有するアプリケーション等）のアプリケーション識別子を、異なるフォントで、異なる色で、アニメーションにより、より大きいサイズなどで表示することができる。別の例として、よりランクの高いアプリケーションのアプリケーション識別子が、よりランクの低いアプリケーションのアプリケーション識別子よりも大きいアイコン、記号、フォトサイズ等を有するように、アプリケーション識別子を異なるサイズで表示することができる。
【００８７】
したがって、ユーザ・インタフェース・モジュール７０２は、アプリケーションのランク付けに基づいて、システムレベル検索ＵＩの検索識別部内にアプリケーションを表示する。ユーザ・インタフェース・モジュール７０２によって表示されるアプリケーション識別子は、アプリケーション登録ストア７０８から（アプリケーションの登録プロセス中に提供されるように）取得される。ユーザが特定のアプリケーション識別子を選択するとき（又は特定のアプリケーションが検索されるべきとき）、ユーザ・インタフェース・モジュール７０２は、アプリケーション登録ストア７０８にアクセスして、アプリケーションをどのように起動するかを識別する。ユーザ・インタフェース・モジュール７０２はアプリケーション登録ストア７０８からこの情報を取り出して、この情報をオペレーティングシステムに提供し、オペレーティングシステムがこのアプリケーションを起動する。加えて、ユーザ・インタフェース・モジュール７０２は、ユーザによってシステムレベル検索ＵＩのデータ入力部内に入力された検索語を、選択されたアプリケーションに提供する。その後、選択されたアプリケーションが検索語について検索し、適切な結果を生成する（また、選択された場合には表示する）。検索語は、選択されたアプリケーションに、該選択されたアプリケーションによって以前に提供された登録情報において、該選択されたアプリケーションによって指示された様式で提供される。
【００８８】
ユーザ・インタフェース・モジュール７０２は、様々な追加のコンテキスト情報を、検索を実行しているアプリケーションに提供することもできる。コンテキスト情報とは、コンピューティングデバイスのユーザ及び／又は要求されている検索に関する情報を指す（検索語自体がその検索に関するコンテキスト情報と称されることもある）。コンテキスト情報は、例えばコンピューティングデバイスのユーザの識別子（例えばオペレーティングシステムの別の構成要素又はモジュールから取得される）、ユーザがコンピューティングデバイスにログインしているという指示（例えばアプリケーション自体がユーザを識別することを可能にする）、現在アクティブなアプリケーションの指示、現在アクティブなアプリケーションのカテゴリの指示、検索語について検索されるようユーザが以前に選択した１つ又は複数のアプリケーションの指示、検索語について検索されるようユーザが以前に選択した１つ又は複数のアプリケーションの各々のカテゴリの指示等を含むことができる。
【００８９】
検索のためのコンテキスト情報を受信するアプリケーションは、アプリケーションが所望する任意の様式でコンテキストを使用することができ、コンテキスト情報のすべて又はコンテキスト情報の一部のみを使用することができる。例えばアプリケーションは、検索語を使用して検索結果を生成するが、検索のため任意の他のコンテキスト情報を無視してもよい。別の例として、アプリケーションは、検索語を使用して検索結果を生成し、また、検索語について検索されるようユーザが以前に選択したアプリケーションのカテゴリも使用して、同じカテゴリのデータ（例えばユーザが以前に検索したアプリケーションのカテゴリが映画だった場合には映画ファイル）を含む検索結果を生成してもよい。
【００９０】
図８は、１つ又は複数の実施形態による、アプリケーションをシステムレベル検索モジュールに登録するための例示の登録プロセス８００を示すフローチャートである。プロセス８００を、ソフトウェア、ファームウェア、ハードウェア、又はそれらの組合せで実施することができる。図８の左手側に示すプロセス８００の動作は、図７のシステムレベル検索モジュール７００のようなシステムレベル検索モジュールによって実行される。図８の右手側に示すプロセス８００の動作は、図１のアプリケーション１１２のようなアプリケーションによって、及び／又はアプリケーションを代行して実行される。右手側に示すプロセス８００の動作を、アプリケーション自体によって、又はアプリケーションの代わりに別の構成要素若しくはモジュールによって（例えばアプリケーションインストーラによって、アプリケーションの販売者若しくは製造者などによって）実行することができる。プロセス８００は、動作のセットとして図示されており、様々な動作のオペレーションの実行のための図示されている順序には限定されない。プロセス８００は、アプリケーションをシステムレベル検索モジュールに登録するための一例のプロセスであり、アプリケーションのシステムレベル検索モジュールへの登録の追加の説明は、種々の図面を参照して本明細書内に含まれている。
【００９１】
プロセス８００において、アプリケーションのシステムレベル検索ＵＩの登録情報が識別される（動作８０２）。システムレベル検索ＵＩの登録情報は、アプリケーションがシステムレベル検索モジュールによってどのように起動されるべきかの指示を含む。上述のように様々な追加の情報をシステムレベル検索ＵＩ登録情報として識別することもできる。
【００９２】
識別されたシステムレベル検索ＵＩの登録情報を、システムレベル検索モジュールに通信される（動作８０４）。この登録情報を、上述のようにシステムレベル検索モジュールのアプリケーション登録モジュールに通信することができる。
【００９３】
システムレベル検索モジュールは、システムレベル検索ＵＩの登録情報をアプリケーションから受信し（動作８０６）、受信したシステムレベル検索ＵＩの登録情報を登録ストアに追加する（動作８０８）。
【００９４】
アプリケーションが、システムレベル検索ＵＩを使用して検索するために選択することができるアプリケーションとして含まれる（動作８１０）。（アプリケーションによって提供されるシステムレベル検索ＵＩ登録情報内に含めることができる）アプリケーションの識別子を、ユーザに表示することができ、これにより上述のようにユーザが１つ又は複数の検索語について検索するためのアプリケーションを選択することが可能になる。
【００９５】
図７に戻ると、上述のように、ユーザ・インタフェース・モジュール７０２は、システムレベル検索ＵＩとして表示されるべき情報を生成し、またアプリケーションと対話する。これは、ユーザ選択されたアプリケーションを起動することを含むことができる。ユーザ・インタフェース・モジュール７０２はさらに、現在アクティブなアプリケーションに情報を提供し、現在アクティブなアプリケーションから情報を受信するなど、現在アクティブなアプリケーションとの対話を有することもできる。現在アクティブなアプリケーションは、上述のように、現在フォアグランドで実行しているアプリケーション（例えば図１のアプリケーション１１２のうちの１つ）を指し、ユーザが対話することができるアプリケーションである。現在アクティブなアプリケーションの指示は、オペレーティングシステムのモジュールによって保持され、この指示をユーザ・インタフェース・モジュール７０２によってオペレーティングシステムのこのモジュールから取得することができる。
【００９６】
現在アクティブなアプリケーションは、ユーザ入力及び／又はコンピューティングデバイス上で実行している別のアプリケーション若しくはモジュールからの要求に応答して経時的に変化する可能性があることに留意されたい。例えばユーザは、システムレベル検索ＵＩの検索識別部からアプリケーション識別子を選択することができ、これに応答して、選択されたアプリケーション識別子に対応するアプリケーションが現在アクティブなアプリケーションになる。別の例として、システムレベル検索ＵＩとは別個に、ユーザは、アプリケーションを起動することを選択するか、又は対話するためのアプリケーションを選択することができ、これに応答して、選択されたアプリケーションが現在アクティブなアプリケーションになる。
【００９７】
１つ又は複数の実施形態において、ユーザ・インタフェース・モジュール７０２が、ユーザ入力を受信されたものとして現在アクティブなアプリケーションに提供する。ユーザによって入力された各文字又は他の記号は、該文字又は記号が入力されるのに応答して現在アクティブなアプリケーションに提供される。ユーザ入力に応答して、現在アクティブなアプリケーションは、その入力に基づいてゼロ以上の提案される検索語を生成することができる。現在アクティブなアプリケーションは、ユーザによって入力された以前のデータに基づくこと、又はアプリケーションによって保持される検索可能データ又は辞書に基づくなど、様々な異なる様式で、ゼロ以上の提案される検索語を生成することができる。ゼロ以上の提案される検索語は、ユーザ・インタフェース・モジュール７０２に返され、ユーザ・インタフェース・モジュールは、提案される検索語をシステムレベル検索ＵＩの一部として表示する。提案される検索語を、システムレベル検索ＵＩのデータ入力部に隣接するメニュー項目のリスト内のような、種々の位置に表示することができる。ユーザは、提案された検索語のうちの１つを選択することができ、これに応答して、ユーザ・インタフェース・モジュール７０２は、この提案された検索語をシステムレベル検索ＵＩのデータ入力部内に表示する。
【００９８】
例えば、ユーザが検索語を入力しており、ユーザによって入力された最初文字がアルファベット文字「Ｈ」である場合、ユーザ・インタフェース・モジュール７０２は、アルファベット文字「Ｈ」がユーザによって入力されたという指示を現在アクティブなアプリケーションに送る。現在アクティブなアプリケーションは、ゼロ以上の提案される検索語（例えばＨｏｍｅ、Ｈｏｕｓｅ、Ｈｙｄｒｏｇｅｎ、Ｈｅｌｌｏ等）を生成して、それらの提案される検索語をユーザ・インタフェース・モジュール７０２に返す。ユーザ・インタフェース・モジュール７０２は、それらの提案される検索語をシステムレベル検索ＵＩの一部として表示する。その後、ユーザは、提案される検索語にスタイラス又は指で触れること、ポインタを提案される検索語の上に動かしてカーソル制御デバイス（例えばマウス）のボタンを押すことなど、様々な異なる様式で（例えば図１の入力モジュール１１４を介して）、それらの提案される検索語のうちの１つを、ユーザの望む検索語の少なくとも一部として選択する。提案される検索語をユーザが選択したことに応答して、ユーザ・インタフェース・モジュール７０２は、選択された提案される検索語をシステムレベル検索ＵＩのデータ入力部内に表示する。
【００９９】
この例を続けると、ユーザが提案される検索語のうちの１つを選択せず、代わりにアルファベット文字「ｅ」を入力し、それによってユーザの入力がこれまでのところ「Ｈｅ」である場合、ユーザ・インタフェース・モジュール７０２は、アルファベット文字「Ｈｅ」がユーザによって入力されたという指示を、現在アクティブなアプリケーションに送る。現在アクティブなアプリケーションは、ゼロ以上の提案される検索語（例えばＨｅｌｐ、Ｈｅｌｌｏ、Ｈｅｎｒｙ等）を生成して、それらの提案される検索語をユーザ・インタフェース・モジュール７０２に返す。ユーザ・インタフェース・モジュール７０２は、これらの新たに提案された検索語をシステムレベル検索ＵＩの一部として表示する。このプロセスは、ユーザが、自身が入力した検索語についての検索のためのアプリケーションを選択するまで継続することができる。
【０１００】
提案される検索語は、本明細書においてテキストの検索語であるとして説明されているが、様々な他のコンテンツ及び／又はコンテンツのタイプがユーザ・インタフェース・モジュール７０２に返されることができる。このような他のコンテンツ及び／又はコンテンツのタイプは、返された提案される検索語に加えて又はその代わりに、ユーザ・インタフェース・モジュール７０２によって表示又は他の様態で提示されることが可能である。例えば１つ又は複数の提案される検索語に関連する１つ又は複数の画像が返されて表示されることができ、１つ又は複数の提案される検索語に関連する追加の説明テキストが返されて表示されることができ、１つ又は複数の提案される検索語に関連するオーディオコンテンツが返されて再生されることができる。
【０１０１】
図９は、１つ又は複数の実施形態による、システムレベル検索ユーザインタフェースを使用するための一例のプロセス９００を示すフローチャートである。プロセス９００は、図７のシステムレベル検索モジュール７００のようなシステムレベル検索モジュールによって実行され、ソフトウェア、ファームウェア、ハードウェア又はそれらの組合せにおいて実施することができる。プロセス９００は、動作のセットとして図示されており、様々な動作のオペレーションの実行のための図示されている順序には限定されない。プロセス９００は、システムレベル検索ユーザインタフェースを使用するための一例のプロセスであり、システムレベル検索ユーザインタフェースの使用の追加の説明は、種々の図面を参照して本明細書内に含まれている。
【０１０２】
プロセス９００において、データ入力部及び検索識別部の双方を含むシステムレベル検索ＵＩが表示される（動作９０２）。システムレベル検索ＵＩを、上述したように画面表示上の様々な異なる位置に表示することができる。
【０１０３】
ユーザによって入力されたデータが、システムレベル検索ＵＩのデータ入力部内に表示される（動作９０４）。データは、上述したようにユーザによって様々な異なる様式で入力されることができる。
【０１０４】
ユーザによって入力されたデータを使用して検索することができる１つ又は複数のアプリケーションの識別子が、検索識別部内に表示される（動作９０６）。これらの識別子は、上述のように、名前、アイコン、アニメーション等の様々な異なる形態をとることができる。動作９０６において表示される識別子は、システムレベル検索ＵＩによる使用のために登録された１つ又は複数のアプリケーションの識別子であり、上述したように種々の様式で選択されることができる。
【０１０５】
ユーザによって入力されたデータは、システムレベル検索ＵＩを実装しているデバイス上の複数のアプリケーションのうちの１つに提供される（動作９０８）。上述のように、データ入力を（例えば上述のように検索ボタンを選択することによって）現在アクティブなアプリケーションに提供し、又は検索識別部内に表示されてユーザによって選択されるアプリケーション識別子に対応するアプリケーションに提供することができる。
【０１０６】
システムレベル検索ＵＩの表示は、ユーザによって入力されたデータが提供されるアプリケーションが、ユーザによって入力されたデータに基づいて検索結果を取得して表示している間、維持される（動作９１０）。アプリケーションは、上述のように（例えばアプリケーションのウィンドウ内の）検索結果の表示を管理し、一方でシステムレベル検索ＵＩは表示されたままである。
【０１０７】
図１０は、１つ又は複数の実施形態による、システムレベル検索ユーザインタフェースの検索識別部内にアプリケーション識別子を表示するための一例のプロセス１０００を示すフローチャートである。プロセス１０００は、図７のシステムレベル検索モジュール７００のようなシステムレベル検索モジュールによって実行され、ソフトウェア、ファームウェア、ハードウェア又はそれらの組合せにおいて実施することができる。プロセス１０００は、動作のセットとして図示されており、様々な動作のオペレーションの実行のための図示されている順序には限定されない。プロセス１０００は、システムレベル検索ユーザインタフェースの検索識別部内にアプリケーション識別子を表示するための一例のプロセスであり、システムレベル検索ユーザインタフェースの検索識別部内でのアプリケーション識別子の表示の追加の説明は、種々の図面を参照して本明細書内に含まれている。
【０１０８】
プロセス１０００において、システムレベル検索ＵＩを使用して検索することができる複数のアプリケーションが識別される（動作１００２）。これらの複数のアプリケーションは、上述のようにシステムレベル検索ＵＩを使用するように登録されたアプリケーションである。
【０１０９】
複数のアプリケーションの各々に対するランク付けが生成される（動作１００４）。これらのランク付けを、上述のような、任意選択的にユーザ指定のランク付けを使用することを含む、様々な異なる様式で生成することができる。これらのランク付けは、例えば、上述のように最高から最低までのアプリケーションの特定の範囲又は順序付けとすることができる。
【０１１０】
システムレベル検索ＵＩにおいて識別される複数のアプリケーションのうちの１つ又は複数が、少なくとも部分的にランク付けに基づいて選択される（動作１００６）。システムレベル検索ＵＩにおいて識別することができるアプリケーションよりも多くのアプリケーションが存在する場合、アプリケーションのうちの１つ又は複数が、上述のようにそのランク付けに基づいて選択される。
【０１１１】
選択された１つ又は複数のアプリケーションの識別子は、システムレベル検索ＵＩの一部としてランク付けに従って表示される（動作１００８）。アプリケーション識別子がそれらのランク付けに従って表示される様式は、アプリケーション識別子を上から下へ最高ランク（上）から最低ランク（下）への順序で表示すること、左から右へ最高ランク（左）から最低ランク（右）への順序で表示することなどのように、上述のように実施態様によって変化させることができる。
【０１１２】
他のユーザの連絡先情報、映画、ゲーム、書籍又は他の出版物などのような、様々な異なるタイプの情報のいずれかがユーザによって検索されることができることに留意されたい。
【０１１３】
本明細書における説明では、ユーザ選択のアプリケーションを起動すること、及び選択されたアプリケーションが検索語について検索することについて言及されている。選択されたアプリケーションが（例えばバックグラウンドで）すでに実行中であり、したがって起動する必要がない状況が生じる可能性があることに留意されたい。そのような状況では、システムレベル検索モジュール（例えば図７のモジュール７００）は、検索語について検索するための要求を、選択されたアプリケーションに通信する。これに応答して、選択されたアプリケーションが検索語について検索し、その検索結果を生成する（及び選択された場合には表示する）。１つ又は複数の実施形態において、アプリケーションは、システムレベル検索モジュールに提供する登録情報の一部として、アプリケーションが検索語について検索することをシステムレベル検索モジュールがどのように要求すべきかの指示を含む。例えば登録情報は、アプリケーションに検索語（及び任意選択的に他のコンテキスト情報）を渡すために呼び出すアプリケーションの１つ又は複数のＡＰＩの指示を含むことができる。あるいは他の技法を使用することができ、例えばアプリケーションが実行し始めるときに、アプリケーションはシステムレベル検索モジュールに対して、該アプリケーションが検索語について検索することをシステムレベル検索モジュールがどのように要求することができるかを通知することができ、システムレベル検索モジュールは、事前に確立されている通信チャネルを介して、又はアプリケーションとシステムレベル検索モジュールとの双方に公知のプロトコルに従って要求を通信することができる。
【０１１４】
本明細書において説明するシステムレベル検索ＵＩは、ユーザが、１度検索語を入力して、上述のように種々のアプリケーションを選択してその検索語について検索することを可能にする。各個々のアプリケーションは、それ自体の検索を実行し、ユーザによって検索のために選択され得る他のアプリケーションを知っている必要はない（典型的には知らない）。アプリケーションがその検索を実行する様式、及びその検索を実行する際にアプリケーションによってアクセスされるデータストアは、アプリケーションによって変化する可能性がある。アプリケーションは、ローカル・データストア（システムレベル検索ＵＩを実装するコンピューティングデバイスと同じコンピューティングデバイス上に配置されるデータストア）及び／又はリモート・データストア（例えば図１のデバイス１０４のような別のコンピューティングデバイス上に配置されるデータストア）を検索することができる。
【０１１５】
アプリケーションによって生成された検索結果は、それらの検索結果を生成しているアプリケーションによって検索結果部（例えば図２〜図６の検索結果部２０８）内に表示される。したがって、各アプリケーションは、その検索結果の表示を、所望する任意の様式でカスタマイズすることが可能である。しかしながら、検索結果のこれらの種々の表示にかかわらず、システムレベル検索ＵＩのデータ入力部及び検索識別部は同じままである。システムレベル検索ＵＩは同じ位置内に保持され、外観は、検索結果に基づいて変化しない（ただし、データ入力キュー及び提案される検索語は、上述のように現在アクティブなアプリケーションに基づいて変化してもよい）。
【０１１６】
図１１は、１つ又は複数の実施形態による、システムレベル検索ユーザインタフェースを用いた対話を促進するための一例のプロセス１１００を示すフローチャートである。プロセス１１００は、図７のシステムレベル検索モジュール７００のようなシステムレベル検索モジュールによって実行され、ソフトウェア、ファームウェア、ハードウェア又はそれらの組合せにおいて実施することができる。プロセス１１００は、動作のセットとして図示されており、様々な動作のオペレーションの実行のための図示されている順序には限定されない。プロセス１１００は、システムレベル検索ユーザインタフェースを用いた対話の促進のための一例のプロセスであり、システムレベル検索ユーザインタフェースを用いた対話の促進の追加の説明は、種々の図面を参照して本明細書内に含まれている。
【０１１７】
プロセス１１００において、現在アクティブなアプリケーション又はオペレーティングシステム構成要素が文字入力をサポートしていないときに、文字入力が受信される（動作１１０２）。文字入力は、上述のような英数文字の入力とすることができる。
【０１１８】
文字入力を受信したことに応答して、文字を検索語として表示するデータ入力部を含むシステムレベル検索ユーザインタフェースが表示される（動作１１０４）。システムレベル検索ユーザインタフェースは、上述のような現在アクティブなアプリケーション又は最も頻繁に使用されるアプリケーションなど、特定のアプリケーションによって検索語に基づいて生成される検索結果を表示する、検索結果部も含む。あるいは、他の範囲についての検索結果を表示することができ、その検索結果を表示する範囲を、上述のように種々の様式で決定することができる。
【０１１９】
図１２は、１つ又は複数の実施形態による、システムレベル検索ユーザインタフェースを用いた対話を促進するための別の例のプロセス１２００を示すフローチャートである。プロセス１２００は、図７のシステムレベル検索モジュール７００のようなシステムレベル検索モジュールによって実行され、ソフトウェア、ファームウェア、ハードウェア、又はそれらの組合せにおいて実施することができる。プロセス１２００は、動作のセットとして図示されており、様々な動作のオペレーションの実行のための図示されている順序には限定されない。プロセス１２００は、システムレベル検索ユーザインタフェースを用いた対話の促進のための一例のプロセスであり、システムレベル検索ユーザインタフェースを用いた対話の促進の追加の説明は、種々の図面を参照して本明細書内に含まれている。
【０１２０】
プロセス１２００において、キーボードショートカットがユーザ入力として受信される（動作１２０２）。上述のように、種々の範囲に関連付けられた様々な異なるキーボードショートカットを受信することができる。
【０１２１】
システムレベル検索ユーザインタフェースが、ユーザ入力に応答して表示される（動作１２０４）。特定のキーボードショートカットに基づいて、アプリケーション範囲検索ユーザインタフェース、設定範囲検索ユーザインタフェース、ファイル範囲検索ユーザインタフェース又はアプリケーション特有範囲検索ユーザインタフェースなど、様々な異なる検索ユーザインタフェースを表示することができる。
【０１２２】
検索語である追加のユーザ入力も受信され（動作１２０６）、検索語に基づいて検索結果が表示される（動作１２０８）。表示される検索結果は、上述のように、受信したキーボードショートカットと関連付けられた範囲について生成された検索結果である。
【０１２３】
図１３は、１つ又は複数の実施形態によるシステムレベル検索ユーザインタフェースを実装するように構成することができる一例のコンピューティングデバイス１３００を示す。コンピューティングデバイス１３００は、例えば図１のコンピューティングデバイス１０２又は１０４とすることができる。
【０１２４】
コンピューティングデバイス１３００は、１つ又は複数のプロセッサ又は処理装置１３０２と、１つ又は複数のメモリ及び／又は記憶構成要素１３０６を含むことができる１つ又は複数のコンピュータ読取可能媒体１３０４と、１つ又は複数の入出力（Ｉ／Ｏ）デバイス１３０８と、様々な構成要素及びデバイスが互いに通信することを可能にするバス１３１０とを含む。コンピュータ読取可能媒体１３０４及び／又は１つ若しくは複数のＩ／Ｏデバイス１３０８は、コンピューティングデバイス１３００の一部として含まれることができ、あるいはコンピューティングデバイス１３００に結合されてもよい。プロセッサ１３０２、コンピュータ読取可能媒体１３０４、デバイス１３０８のうちの１つ若しくは複数、及び／又はバス１３１０を、任意選択で単一の構成要素又はチップ（例えばシステム・オン・チップ）として実装することができる。バス１３１０は、様々な異なるバスアーキテクチャを使用する、メモリバス又はメモリコントローラ、周辺機器用バス、アクセラレイテッド・グラフィックス・ポート（ＡＧＰ）、及びプロセッサ若しくはローカルバスなどを含む、いくつかのタイプのバス構造のうちの１つ又は複数を表す。バス１３１０は、有線及び／又は無線バスを含むことができる。
【０１２５】
メモリ／記憶構成要素１３０６は、１つ又は複数のコンピュータ記憶媒体を表す。構成要素１３０６は、揮発性媒体（ランダム・アクセス・メモリ（ＲＡＭ）等）及び／又は不揮発性媒体（読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、光ディスク、磁気ディスク等）を含むことができる。構成要素１３０６は、固定媒体（例えばＲＡＭ、ＲＯＭ、固定ハードドライブなど）及び取外し可能媒体（例えばフラッシュ・メモリ・ドライブ、取外し可能ハードドライブ、光ディスク等）を含むことができる。
【０１２６】
本明細書に説明した技法を、１つ又は複数の処理装置１３０２によって実行される命令を有するソフトウェアで実施することができる。種々の命令を、処理装置１３０２内、処理装置１３０２の様々なキャッシュメモリ内、デバイス１３００の他のキャッシュメモリ（図示せず）内、他のコンピュータ読取可能媒体内などのような、コンピューティングデバイス１３００の種々の構成要素内に記憶することができることが認識されよう。加えて、コンピューティングデバイス１３００内において命令が記憶される位置は経時的に変化する可能性があることが認識されよう。
【０１２７】
１つ又は複数の入出力デバイス１３０８は、ユーザが、コンピューティングデバイス１３００に対するコマンド及び情報を入力することを可能にし、情報がユーザ及び／又はデバイスの他の構成要素に提示されることも可能にする。入力デバイスの例は、キーボード、カーソル制御デバイス（例えばマウス）、マイクロフォン、スキャナ等を含む。出力デバイスの例は、ディスプレイデバイス（例えばモニタ又はプロジェクタ）、スピーカ、プリンタ、ネットワークカード等を含む。
【０１２８】
本明細書において様々な技法が、ソフトウェア又はプログラムモジュールの一般的なコンテキストで説明されていることがある。一般的に、ソフトウェアは、特定のタスクを実行するか又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。これらのモジュール及び技法の実装は、任意の形態のコンピュータ読取可能媒体上に記憶されるか、又は当該媒体にわたって送信され得る。コンピュータ読取可能媒体は、コンピューティングデバイスによってアクセス可能な任意の利用可能な１つ又は複数の媒体とすることができる。限定ではなく例として、コンピュータ読取可能媒体は「コンピュータ記憶媒体」及び「通信媒体」を含んでもよい。
【０１２９】
「コンピュータ記憶媒体」は、コンピュータ読取可能命令、データ構造、プログラムモジュール、又は他のデータのような情報の記憶のための任意の方法又は技術で実装される揮発性及び不揮発性、取外し可能及び取外し不可能の媒体を含むことができる。コンピュータ記憶媒体は、限定ではないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ若しくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）若しくは他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ若しくは他の磁気記憶デバイス、又は所望の情報を記憶するのに使用することができ、コンピュータによってアクセスすることができる任意の他の媒体を含む。コンピュータ記憶媒体は、単なる信号伝送、搬送波又は信号自体とは対照的に、情報の記憶のための媒体を指す。したがって、コンピュータ記憶媒体は、非信号保持媒体を指し、通信媒体ではない。
【０１３０】
「通信媒体」は、典型的に、コンピュータ読取可能命令、データ構造、プログラムモジュール、又は、搬送波若しくは他の伝送機構のような、変調データ信号内の他のデータを具現化する。通信媒体は、任意の情報送達媒体も含む。「変調データ信号」という用語は、その特性のうちの１つ又は複数が、当該信号内に情報を符号化するように設定又は変更された信号を意味する。限定ではなく例として、通信媒体は、有線ネットワーク又は直接有線接続のような有線媒体、ならびに音響、ＲＦ、マイクロ波、赤外線（ＩＲ）及び他の無線媒体のような無線媒体を含む。上記の任意の組合せもコンピュータ読取可能媒体の範囲内に含まれる。
【０１３１】
一般的に、本明細書に記載の機能又は技法の任意のものを、ソフトウェア、ファームウェア、ハードウェア（例えば固定論理回路）、手動処理又はこれらの実装の組合せを使用して実装することができる。本明細書において使用されているとき、「モジュール」及び「構成要素」という用語は一般的に、ソフトウェア、ファームウェア、ハードウェア又はそれらの組合せを表す。ソフトウェア実装の場合、モジュール又は構成要素は、プロセッサ（例えば１つ又は複数のＣＰＵ）上で実行されると指定のタスクを実行するプログラムコードを表す。プログラムコードを、１つ又は複数のコンピュータ読取可能メモリデバイス内に記憶することができ、そのさらなる説明は図１３を参照して与えられる。ハードウェア実装の場合、モジュール又は構成要素は、指定のタスクを実行する機能ブロック又は他のハードウェアを表す。例えばハードウェア実装において、モジュール又は構成要素は、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、結合プログラム可能論理回路（ＣＰＬＤ）などとすることができる。本明細書に記載されるシステムレベル検索ユーザインタフェース技法の特徴は、プラットフォーム独立であり、これは、本技法を、様々なプロセッサを有する様々な商用コンピューティングプラットフォーム上で実施することができることを意味している。
【０１３２】
本主題を、構造的特徴及び／又は方法的動作に特有の文言で説明したが、添付の特許請求の範囲において定義される本主題は必ずしも、上述の具体的な特徴に限定されないことを理解されたい。むしろ、上述の具体的な特徴及び動作は、特許請求の範囲の実装の例示的な形態として開示されている。
【図１】
2014530400.tif 000003
【図２】
2014530400.tif 000004
【図３】
2014530400.tif 000005
【図４】
2014530400.tif 000006
【図５】
2014530400.tif 000007
【図６】
2014530400.tif 000008
【図７】
2014530400.tif 000009
【図８】
2014530400.tif 000010
【図９】
2014530400.tif 000011
【図１０】
2014530400.tif 000012
【図１１】
2014530400.tif 000013
【図１２】
2014530400.tif 000014
【図１３】
2014530400.tif 000015
【国際調査報告】
2014530400.tif 000016
2014530400.tif 000017