JP5903107B2 - システムレベル検索ユーザーインターフェース - Google Patents

システムレベル検索ユーザーインターフェース Download PDF

Info

Publication number
JP5903107B2
JP5903107B2 JP2013539885A JP2013539885A JP5903107B2 JP 5903107 B2 JP5903107 B2 JP 5903107B2 JP 2013539885 A JP2013539885 A JP 2013539885A JP 2013539885 A JP2013539885 A JP 2013539885A JP 5903107 B2 JP5903107 B2 JP 5903107B2
Authority
JP
Japan
Prior art keywords
application
search
applications
user
system level
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013539885A
Other languages
English (en)
Other versions
JP2013543196A (ja
JP2013543196A5 (ja
Inventor
バイジャネイサン,プリヤ
モンク,ステファニー・エム
パドック,ブランドン・エイチ
ホワイト,リチャード・ジェイコブ
アベレット,エドワード・ボイル
イベリング,ロルフ・エイ
ギルモア,マイケル・ジェイ
ミシュラ,マナヴ
サターフィールド,ジェシー・クレイ
ウォーティアー,マーク
サルカール,ドナ
エリオット,ブレンダン・ディー
ルーン,クォン・ケイ
グルネイサン,アルン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2013543196A publication Critical patent/JP2013543196A/ja
Publication of JP2013543196A5 publication Critical patent/JP2013543196A5/ja
Application granted granted Critical
Publication of JP5903107B2 publication Critical patent/JP5903107B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Description

本発明は、システムレベル検索ユーザーインターフェースに関する。
[0001]コンピューターがますます一般化するにつれ、ユーザーが利用できるようになった電子データの量は、途方もなく増大している。そのような大量の電子データへのアクセスを有することは、ユーザーに非常に有益であり得るが、そのことに問題がないわけではない。1つのそのような問題は、ユーザーは、自分が探している特定の電子データを見つけ出すのが依然として困難なままであることである。例えば、ユーザーは、自分が探している特定の電子データを見つけ出すために、異なる複数のアプリケーションに自らがアクセスしている状況に遭遇し得る。このことは、ユーザーが、それらの異なるアプリケーションが実行されることを要求すること、それらの異なるアプリケーションの検索インターフェースに移動すること、およびそれらの異なるアプリケーションのそれぞれに同一の検索語を入力することを、通常、含む。このことが、ユーザーには面倒で、もどかしい体験をもたらし得る。
システムレベル検索ユーザーインターフェースを提供する。
[0002]この「発明の概要」は、「発明を実施するための形態」において後段でさらに説明される選定された概念を、簡略化された形態で概説するように与えられる。この「発明の概要」は、特許請求される主題の重要な特徴、または不可欠な特徴を特定することは意図しておらず、特許請求される主題の範囲を限定するように使用されることも意図していない。
[0003]1つまたは複数の態様によれば、データエントリー部分とアプリケーション識別部分の両方を含むシステムレベル検索ユーザーインターフェースが表示される。検索語としてのユーザーデータ入力が、データエントリー部分において表示され、その検索語を使用して検索され得るコンピューティングデバイス上の複数のアプリケーションのうちの1つまたは複数のアプリケーションのそれぞれの識別子が、アプリケーション識別部分において表示される。検索語は、複数のアプリケーションのうちの1つのアプリケーションに、その1つのアプリケーションが、その検索語に基づく検索結果を生成し表示するように与えられる。
[0004]1つまたは複数の態様によれば、検索ユーザーインターフェースが表示される。この検索ユーザーインターフェースは、検索語としてのユーザーデータ入力が表示される第1の部分と、その検索語を使用して検索され得るコンピューティングデバイス上の1つまたは複数のアプリケーションの識別子が表示される第2の部分とを含む。検索語は、コンピューティングデバイス上の複数のアプリケーションのうちの1つに、そのアプリケーションが、少なくともその検索語に基づく検索結果を表示するように与えられ、少なくとも第1の部分を含む検索ユーザーインターフェースの表示が、そのアプリケーションがそれらの検索結果を表示する間、現在の表示位置に維持される。
[0005]図面全体にわたって同様の特徴を参照するのに同一の参照符号が使用される。
[0006]1つまたは複数の実施形態によるシステムレベル検索ユーザーインターフェースを実施する例示的なシステムを示す図である。 [0007]1つまたは複数の実施形態によるシステムレベル検索ユーザーインターフェースを含む例示的な画面表示を示す図である。 [0007]1つまたは複数の実施形態によるシステムレベル検索ユーザーインターフェースを含む例示的な画面表示を示す図である。 [0007]1つまたは複数の実施形態によるシステムレベル検索ユーザーインターフェースを含む例示的な画面表示を示す図である。 [0007]1つまたは複数の実施形態によるシステムレベル検索ユーザーインターフェースを含む例示的な画面表示を示す図である。 [0007]1つまたは複数の実施形態によるシステムレベル検索ユーザーインターフェースを含む例示的な画面表示を示す図である。 [0008]1つまたは複数の実施形態による例示的なシステムレベル検索モジュールを示すブロック図である。 [0009]1つまたは複数の実施形態によるシステムレベル検索モジュールにアプリケーションを登録するための例示的な登録プロセスを示す流れ図である。 [0010]1つまたは複数の実施形態によるシステムレベル検索ユーザーインターフェースを含む別の例示的な画面表示を示す図である。 [0011]1つまたは複数の実施形態による候補表示される検索語に関する言語的代替案(linguistic alternatives)をサポートする例示的なシステムを示すブロック図である。 [0012]1つまたは複数の実施形態のよるシステムレベル検索ユーザーインターフェースを使用するための例示的なプロセスを示す流れ図である。 [0013]1つまたは複数の実施形態によるシステムレベル検索ユーザーインターフェースのアプリケーション識別部分においてアプリケーション識別子を表示するための例示的なプロセスを示す流れ図である。 [0014]1つまたは複数の実施形態によるシステムレベル検索ユーザーインターフェースを実施するように構成され得る例示的なコンピューティングデバイスを示す図である。
[0015]システムレベル検索ユーザーインターフェースが、本明細書で説明される。このシステムレベル検索ユーザーインターフェース(UI)は、ユーザーが、検索語を入力し、異なる複数のアプリケーションにおいてその検索語を検索することを可能にする一元化されたUIをもたらす。ユーザーがシステムレベル検索UIを使用して検索することができる特定のアプリケーションは、システムレベル検索UIに登録して、それらのアプリケーションに関する様々な情報を供給する。システムレベル検索UIは、この登録情報を使用して、これらの異なるアプリケーションがユーザーに対してどのように特定されるべきか、これらのアプリケーションがどのように、これらのアプリケーションの検索結果表示ビューを示すように起動されるべきかなどを決定する。システムレベル検索UIは、様々な基準に基づいて、これらの異なるアプリケーションの格付けを決定し、この格付けに応じて、これらのアプリケーションの識別子を表示する。次に、ユーザーが、検索語の検索が行われるべき、これらの異なるアプリケーションの1つまたは複数を選択することができ、これに応答して、システムレベル検索UIが、選択されたアプリケーションに検索語を与え、次に、選択されたアプリケーションが、そのアプリケーションの検索結果を表示する。
[0016]図1は、1つまたは複数の実施形態によるシステムレベル検索ユーザーインターフェースを実施する例示的なシステム100を示す。システム100は、オプションとして、ネットワーク106を介して他の1つまたは複数の(x個)デバイス104(1)、…、104(m)と通信することができるコンピューティングデバイス102を含む。ネットワーク106は、インターネット、ローカルエリアネットワーク(LAN)、公衆交換電話網もしくは他の電話網、イントラネット、他の公共ネットワークおよび/または専用ネットワーク、ならびに以上の組合せなどを含む、様々な異なるネットワークであり得る。コンピューティングデバイス102は、様々な異なるタイプのデバイスであり得る。例えば、コンピューティングデバイス102は、デスクトップコンピューター、ノートパッドコンピューターもしくはタブレットコンピューター、ネットブックコンピューターもしくはラップトップコンピューター、サーバコンピューター、移動局、エンターテイメント機器、ディスプレイデバイスと通信状態に結合されたセットトップボックス、テレビ、セルラー電話機もしくは他のワイヤレス電話機、ゲームコンソール、自動車用コンピューターなどであり得る。さらに、単一のデバイス102として示されるものの、コンピューティングデバイス102の構成要素またはモジュールは、構成要素またはモジュールがシステム内の様々なデバイスにわたって分散配置された、複数のデバイスのシステムとして実施され得ることに留意されたい。
[0017]デバイス104は、コンピューティングデバイス102と通信することができる様々な異なるコンピューティングデバイスであり得る。コンピューティングデバイス102は、後段でより詳細に説明されるとおり、オプションとして、デバイス104のうちの1つまたは複数にアクセスして、様々な情報を得ることができる。コンピューティングデバイス102の説明と同様に、デバイス104は、様々な異なるタイプのデバイスであり得る。デバイス104は、コンピューティングデバイス102と同一のタイプのデバイスであることも、代替として、異なるタイプのデバイスであることも可能である。システム100において、コンピューティングデバイス102は、ネットワーク106を介してデバイス104と通信しているものとして例示される。代替として、コンピューティングデバイス102は、様々な有線接続および/またはワイヤレス接続(例えば、ユニバーサルシリアルバス(USB)接続、ワイヤレスUSB接続、Bluetooth(登録商標)接続、IEEE1394接続など)などの他のタイプの通信機構または通信接続を介してデバイス104と通信し得る。
[0018]コンピューティングデバイス102は、オペレーティングシステム110と、1つまたは複数のアプリケーション112とを含む。オペレーティングシステム110は、コンピューティングデバイス102上のアプリケーション112の起動および実行を管理する。アプリケーション112のそれぞれは、生産性アプリケーション(例えば、電子メールアプリケーション、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、データベースアプリケーションなど)、エンターテイメントアプリケーション(例えば、ゲームアプリケーション、オーディオ再生アプリケーションおよび/またはビデオ再生アプリケーションなど)、ソーシャルネットワーキングアプリケーションなどの、様々な異なるタイプのアプリケーションであり得る。アプリケーション112は、ネットワーク106を介してデバイス104上のデータにアクセスするのではなく、コンピューティングデバイス102上(またはコンピューティングデバイス102に結合されたストレージデバイス上)のデータにアクセスして、データにローカルでアクセスすることが可能である。例えば、アプリケーション112は、データにローカルでアクセスするワードプロセッシングアプリケーションであり得る。データにローカルでアクセスすることに加えて、またはそうする代わりに、アプリケーションは、ネットワーク106を介して1つまたは複数のデバイス104上のデータにアクセスすることができる。例えば、アプリケーション112は、コンピューティングデバイス102のユーザーが、そのアプリケーション112を介してデバイス104からの映画にアクセスすることを可能にして、映画サービスを提供するデバイス104のためのインターフェースアプリケーションであり得る。
[0019]オペレーティングシステム110は、入力モジュール114と、ディスプレイモジュール116と、システムレベル検索モジュール118とを含む。オペレーティングシステム110は、通常、ソフトウェアおよび/またはファームウェアとして実施されるが、オペレーティングシステム110の少なくともいくつかの部分は、代替として、ハードウェアとして実施され得る。
[0020]入力モジュール114が、コンピューティングデバイス102のユーザーかユーザー入力を受け取る。ユーザー入力は、デバイス102のキーパッドもしくはキーボードの1つまたは複数のキーを押すこと、デバイス102のコントローラー(例えば、遠隔制御デバイス、マウス、トラックパッドなど)の1つまたは複数のキーを押すこと、デバイス102のタッチパッドもしくはタッチスクリーンの特定の部分を押すこと、デバイス102のタッチパッドもしくはタッチスクリーンの上で特定のジェスチャを行うこと、および/またはデバイス102のコントローラー(例えば、遠隔制御デバイス、マウス、トラックパッドなど)上で特定のジェスチャを行うことによるなど、様々な異なる方法で与えられ得る。また、ユーザー入力は、デバイス102の任意の部分を軽く叩くこと、(デバイス102を振ること、デバイス102を回転させることなどの)デバイス102の動き検出構成要素によって認識され得るアクションなどの他の物理的なフィードバック入力を介してデバイス102に与えられてもよい。また、ユーザー入力は、マイクロフォンに対する可聴の入力を介して、画像キャプチャデバイスによって観察される手または他の身体部分の動きを介してなど、他の方法で与えられてもよい。これらのユーザー入力は、特定の文字もしくはシンボルを入力すること、特定のボタンもしくはメニューオプションを選択すること、様々な記述もしくは画像をドラッグアンドドロップすることなどによって、ユーザーがコンピューティングデバイス102と対話することを可能にする。
[0021]表示モジュール116が、コンピューティングデバイス102の画面のための表示を生成し、管理し、かつ/または出力する。この表示は、アプリケーション112によって供給される情報、システムレベル検索モジュール、もしくはオペレーティングシステム110の他のモジュールによって供給される情報などの様々な情報を含み得る。ユーザーに表示される情報は、入力モジュール114によって受け取られ得るユーザー情報を含み得る。表示モジュール116が情報を表示する画面は、液晶ディスプレイ(LCD)技術、プラズマ画面技術、画像映写技術などの様々な異なる方法で実施され得る。画面は、コンピューティングデバイス102の一部として含められ得、または代替として、表示モジュール116が、1つまたは複数の画面を含む他の1つまたは複数のディスプレイデバイスに出力される1つまたは複数の信号を生成することが可能である。本明細書の説明は、1つまたは複数の画面上に情報を表示することについて述べるものの、情報は、代替として、可聴なようになど、他の方法で表示モジュール116によってユーザーに提示され得ることを認識されたい。
[0022]システムレベル検索モジュール118が、コンピューティングデバイス102のユーザーが、検索語を入力し、異なるアプリケーション112においてその検索語を検索することを可能にする一元化されたUIであるシステムレベル検索UIをもたらす。検索語は、1つまたは複数の語、語の一部分などの、活字、文字、シンボルの任意の組合せであり得る。システムレベル検索UIは、ユーザーが検索語を入力することができるデータエントリー部分と、アプリケーション112のうちの様々なアプリケーションが識別され得るアプリケーション識別部分とを含む。アプリケーション識別部分において識別されるアプリケーション112のうちの特定のアプリケーションは、後段でより詳細に説明されるとおり、システムレベル検索モジュール118に登録しているアプリケーション112である。
[0023]システムレベル検索モジュール118によってもたらされるシステムレベル検索UIは、コンピューティングデバイス102のユーザーが、一元化されたUIに所望される検索語を1回、入力し、その後、その検索語を検索するように異なる1つまたは複数のアプリケーション112を選択することを可能にする。システムレベル検索UIを介してアプリケーション112を選択することに応答して、選択されたアプリケーション112にその検索語が与えられ、次に、このアプリケーションが、その検索語に基づいて検索結果を決定し、表示する(表示モジュール116を介して)。ユーザーは、単にシステムレベル検索UIを介してアプリケーションを選択することによって、異なるアプリケーション112にその同一の検索語を検索させることができる。このため、ユーザーがオペレーティングシステム110と対話して、異なるアプリケーション112の実行を要求し、それらの異なるアプリケーション112の各アプリケーションの検索インターフェースに移動し、それらの異なるアプリケーションの各アプリケーションに同一の検索語を入力するのではなく、ユーザーは、検索語をただ1回、システムレベル検索UIに入力することができる。次に、ユーザーは、アプリケーション112のうちの1つまたは複数のを選択して(例えば、キーストローク、タッチスクリーン上でアプリケーション識別子に触れること、アプリケーション識別子を、ポインタまたは他のカーソルがそのアプリケーション識別子上にある際にクリックすることなど単一のユーザー入力を介して)、オペレーティングシステム110が、1つまたは複数のアプリケーション112を、選択された際、自動的に実行することに依拠し、システムレベル検索モジュール118が、選択されたアプリケーション112に検索語を与えることに依拠することができる。
[0024]システムレベル検索UIは、異なる時点でアクティブにされ得る。システムレベル検索UIがアクティブにされると、システムレベル検索UIは、表示モジュール116によって表示される。システムレベル検索モジュール118は、システムレベル検索UIがアクティブにされたままにし、常に表示されたままにすることができる。代替として、システムレベル検索モジュール118は、特定の要求(例えば、検索を実行するユーザー要求、検索を実行するアプリケーション112からの要求など)に応答してシステムレベル検索UIをアクティブにして、システムレベル検索UIを、アクティブにされるまで隠されたままにすることができる。アプリケーション112は、システムレベル検索モジュール118を呼び出して、またはモジュール118によって既に表示されているシステムレベル検索UIにユーザーを誘導して、システムレベル検索UIを活用することができる。アプリケーション112は、システムレベル検索UIに頼ることができるので、アプリケーション独自の検索ユーザーインターフェースを提供しなくてもよい。
[0025]このため、システムレベル検索UIは、様々な様態で使用され得ることに留意されたい。ユーザーが、システムレベル検索UIに或る検索語を入力し、その後、システムレベル検索UIを介して、その検索語を検索すべき1つまたは複数のアプリケーション112を選択することができる。代替として、ユーザーが、アプリケーション112を介して検索語を入力する要求を入力することができる。これに応答して、システムレベル検索UIが表示され得(またはユーザーが、既に表示されているシステムレベル検索UIに誘導され得)、システムレベル検索UIを介してユーザーが、そのアプリケーション112を検索するユーザーの検索語を入力することができる。代替として、ユーザーが、検索語を入力することなしに1つまたは複数のアプリケーション112を選択することができ、これに応答して、選択されたアプリケーションが、このユーザー選択を通知され、選択されたアプリケーションが、そのアプリケーションの検索結果表示ビューを表示する。検索結果は、ユーザーが検索語をまだ入力していないため、選択されたアプリケーションによって表示されない可能性がある。しかし、検索語のエントリーの後、選択されたアプリケーションは、そのアプリケーションの検索結果を表示する。
[0026]図2は、1つまたは複数の実施形態によるシステムレベル検索ユーザーインターフェースを含む例示的な画面表示202を示す。画面表示202は、ツールバー(またはタスクバー)204を含む。ツールバー204は、現在時刻(午前10時10分として例示される)などの様々な異なる情報を含み得る。
[0027]2つの部分、すなわち、データエントリー部分206と、アプリケーション識別部分208とを含むシステムレベル検索UIが例示される。ユーザーは、様々な語、字、シンボル、文字などを検索語として入力することができる(例えば、前述のように、図1の入力モジュール114を介して)。このユーザー入力は、データエントリー部分206において表示される。図示される例において、ユーザーは、「Ha」という文字を入力している。画面表示202が例示する時点で、「Ha」が検索語である。しかし、ユーザーは、引き続きさらなる文字を入力して、異なる検索語をもたらすことができることに留意されたい。
[0028]アプリケーション識別部分208は、様々なアプリケーションの識別子を含む。これらの識別子が、例示的な表示202に「アプリケーション1名前」、「アプリケーション2名前」、「アプリケーション3名前」、「アプリケーション4名前」、および「アプリケーション5名前」として示される。アプリケーション識別部分208におけるこれらの識別子のそれぞれは、ユーザーが検索語の検索をデータエントリー部分206において表示させるように選択することができるアプリケーションである。ユーザーは、スタイラスまたは指でアプリケーションの識別子に触れること、アプリケーションの識別子の上でポインタを操作し、カーソル制御デバイス(例えば、マウス)のボタンを押すことなどの、様々な異なる方法でアプリケーション識別部分208において識別されたアプリケーションのうちの1つを選択することができる(例えば、図1の入力モジュール114を介して)。
[0029]アプリケーション識別部分208は、ユーザーがデータエントリー部分206にデータを入力している際、自動的に表示されることも、または代替として、アプリケーション識別部分208を表示するユーザー要求に応答して表示されることもある。例えば、ユーザーが、スタイラスまたは指でメニューアイコン210に触れることによって、メニューアイコン210上でポインタを操作し、カーソル制御デバイス(例えば、マウス)のボタンを押すことによって、キーボードの特定のキーを押すことによってなど、様々な異なる方法でメニューアイコン210を選択することができる(例えば、図1の入力モジュールを介して)。メニューアイコン210のユーザー選択に応答して、アプリケーション識別部分208が表示される。
[0030]さらに、システムレベル検索UIは、メニューアイコン210の選択に類似した、様々な異なる方法で選択され得る(例えば、図1の入力モジュール114を介して)検索ボタン212を含み得る。検索ボタン212のユーザー選択に応答して、データエントリー部分206において現在入力されている検索語が、検索のためにアプリケーションに送られる。検索語が送られるアプリケーションは、現在アクティブなアプリケーションであること、アプリケーション識別部分208において、現在強調表示されているアプリケーション、アプリケーション識別部分208の先頭にリストアップされているアプリケーションなどの、様々な方法で決定され得る。現在アクティブなアプリケーションとは、現在前景で実行されているアプリケーション(例えば、図1のアプリケーション112のうちの1つ(オペレーティングシステム以外のアプリケーション))を指し、ユーザーが対話することができるアプリケーションである。複数のアプリケーションが、コンピューティングデバイス上で同時に実行されていることが可能であるものの、1つだけが、現在アクティブなアプリケーションである。アプリケーション識別部分208は、通常、現在アクティブなアプリケーションを含まないが、代替として、現在アクティブなアプリケーションを含み得る。
[0031]図に例示されるシステムレベル検索UIのデータエントリー部分206およびアプリケーション識別部分208の位置は、例であること、およびシステムレベル検索UIは、画面表示202上のどこにでも表示され得ることに留意されたい。例えば、データエントリー部分206およびアプリケーション識別部分208は、画面表示202の最上部に、画面表示202の左側もしくは右側に沿って、画面表示202の中央に、メニューバーの一部として、またはアイコンバーもしくはアイコンドックの一部としてなど、表示され得る。
[0032]図3は、1つまたは複数の実施形態によるシステムレベル検索ユーザーインターフェースを含む別の例示的な画面表示302を示す。画面表示302は、図2の画面表示202に類似する。しかし、画面表示302は、アプリケーション識別部分304を、図2のアプリケーション識別部分208において例示されるアプリケーション名ではなく、アプリケーションを表すアイコンまたはシンボルを含むものとして示す。これらのアイコンまたはシンボルは、アプリケーション識別部分208を参照して前述したアプリケーション名の選択と同様にユーザーによって選択され得る。
[0033]図4は、1つまたは複数の実施形態によるシステムレベル検索ユーザーインターフェースを含む別の例示的な画面表示402を示す。画面表示402は、図2の画面表示202に類似する。しかし、画面表示402は、「映画アプリケーション」と名付けられた、現在アクティブなアプリケーションのためのウインドウ404も表示する。ウインドウ404は、テキスト(ウインドウ404内に水平の線として表示される)や画像(ウインドウ404内にボックスとして表示される)などの様々な異なる情報のいずれを表示することも可能である。
[0034]1つまたは複数の実施形態において、アプリケーション識別部分208において識別されたアプリケーションは、ウインドウ404内に表示された、現在アクティブなアプリケーションを含まない。代替として、アプリケーション識別部分208において識別されたアプリケーションは、ウインドウ404内に表示された、現在アクティブなアプリケーションを含み得る。
[0035]1つまたは複数の実施形態において、検索ボタン212のユーザー選択に応答して、データエントリー部分206において現在入力されている検索語(図示される例では、「Ha」)が、現在アクティブなアプリケーションに送られる。ユーザーが検索ボタンを選択するとした場合、これに応答して、データエントリー部分206において現在入力されている検索語が、ウインドウ404内に表示されたアプリケーションに送られる。ユーザーが、検索ボタン212ではなく、アプリケーション識別部分208において識別されたアプリケーションのうちの1つを選択するとした場合、これに応答して、データエントリー部分206において現在入力されている検索語が、その選択されたアプリケーションに送られる。
[0036]図5は、1つまたは複数の実施形態によるシステムレベル検索ユーザーインターフェースを含む別の例示的な画面表示502を示す。画面表示502は、図2の画面表示402に類似しており、「映画アプリケーション」と名付けられた現在アクティブなアプリケーションのためのウインドウ404を表示している。しかし、画面表示502は、検索語が、現在アクティブなアプリケーションに送られた後のウインドウ404を示す。ウインドウ404は、テキスト(ウインドウ404内に水平の線として表示される)や画像などの様々な異なる情報のいずれをも検索結果として表示することも可能である。
[0037]例示的な画面表示502において見て取ることができるとおり、検索結果が、検索語を検索するように選択されたアプリケーションによって表示される。さらに、データエントリー部分206およびアプリケーション識別部分208が、画面表示502上に表示されたままである。
[0038]図6は、1つまたは複数の実施形態によるシステムレベル検索ユーザーインターフェースを含む別の例示的な画面表示602を示す。画面表示602は、図2の画面表示402に類似しており、「映画アプリケーション」と名付けられたアプリケーションのためのウインドウ404を表示している。しかし、画面表示602は、ウインドウ404内に表示されたアプリケーション以外のアプリケーションからの検索結果を含むウインドウ604も示す。ウインドウ604は、アプリケーション識別部分208において識別されたアプリケーションが選択された後に表示される。例えば、「アプリケーション3名前」が、電子書籍(Eブック)リーダーアプリケーションを識別するものと想定されたい。「アプリケーション3名前」のユーザー選択に応答して、データエントリー部分206において現在入力されている検索語(図示される例では、「Ha」)が、その選択されたアプリケーションに送られる。その選択されたアプリケーションが、起動され(既に実行されているのではない場合)、検索語「Ha」を検索し、検索結果としてウインドウ604内に表示されるべき情報を生成する。ウインドウ604は、テキスト(ウインドウ404内に水平の線として表示される)や画像などの様々な異なる情報のいずれを検索結果として表示することも可能である。
[0039]例示的な画面表示602において、ウインドウ604内で表示するための情報を生成するアプリケーションは、現在アクティブなアプリケーションである。以前に、現在アクティブなアプリケーションであったアプリケーションに関する情報を表示するウインドウ404は、表示されたままである。代替として、部分208における「アプリケーション3名前」のユーザー選択に応答して、または選択されたアプリケーションの起動に応答して、ウインドウ404は、閉じられる(例えば、さらに、ウインドウ404内で情報を表示するアプリケーションがシャットダウンされる)こと、または外観を変更される(例えば、もはや表示されず、縮小されて、タスクバーまたはツールバーの中のアイコンにされる)こともあり得る。
[0040]図7は、1つまたは複数の実施形態による例示的なシステムレベル検索モジュール700を示すブロック図である。システムレベル検索モジュール700は、例えば、図1のシステムレベル検索モジュール118であり得る。システムレベル検索モジュール700は、ユーザーインターフェースモジュール702と、アプリケーション格付けモジュール704と、アプリケーション登録モジュール706と、アプリケーション登録ストア708とを含む。
[0041]アプリケーション登録モジュール706は、システムレベル検索モジュール700に対するアプリケーションの登録を管理して、登録されたアプリケーションが、システムレベル検索UIのアプリケーション識別部分において表示されることを可能にする。また、この登録は、登録されたアプリケーションがシステムレベル検索UIを使用することを可能にすることとしても述べられる。登録されたアプリケーションに関する情報は、アプリケーション登録ストア708の中に保持される。アプリケーション格付けモジュール704は、登録されたアプリケーションの格付けを決定し、登録されたアプリケーションは、それらのアプリケーションの格付けに応じてシステムレベル検索UIのアプリケーション識別部分において表示される。ユーザーインターフェースモジュール702は、システムレベル検索UIとして表示されるべき情報を生成し、システムレベル検索モジュール700が配置されているコンピューティングデバイスの表示モジュールに(例えば、図1の表示モジュール116に)その情報を供給する。また、UIモジュール702は、ユーザー選択のアプリケーションを起動すること、検索語をアプリケーションに通信すること、およびシステムレベル検索UIの一部として表示されるべき情報をアプリケーションから受け取ることを含め、アプリケーション(例えば、図1のアプリケーション112)と対話する。
[0042]システムレベル検索UIのアプリケーション識別部分において表示されるように、アプリケーションは、システムレベル検索モジュール700に登録する。アプリケーション登録モジュール706が、アプリケーションと通信し、適切な登録情報をアプリケーション登録ストア708の中に保存して、システムレベル検索モジュール700に関する登録プロセスを管理する。アプリケーションは、アプリケーションが、システムレベル検索モジュール700と同一のコンピューティングデバイス上にインストールされた際、システムレベル検索モジュール707と同一のコンピューティングデバイス上のアプリケーションのアップグレードがインストールされた際、システムレベル検索モジュール700に登録するユーザーからの要求に応答して、システムレベル検索モジュール700に登録する別のモジュールまたはデバイスからの要求に応答してなど、様々な時点でシステムレベル検索モジュール700に登録され得る。
[0043]さらに、アプリケーション自体が、システムレベル検索モジュール700に自らを登録する登録プロセスを実行することが可能であり、または代替として、別のアプリケーションもしくは別のモジュールが、システムレベル検索モジュール700にそのアプリケーションを登録する登録プロセスを実行することが可能である。例えば、インストーラーアプリケーションもしくはインストーラーモジュールが、システムレベル検索モジュール700を含むコンピューティングデバイスにアプリケーションをインストールする際、システムレベル検索モジュール700にアプリケーションを登録する登録プロセスを実行することが可能である。
[0044]登録プロセスの一環として、登録が行われているアプリケーションに関する登録情報が、アプリケーション登録モジュール706に供給される。様々な異なる登録情報が、アプリケーション登録モジュール706に供給され得る。1つまたは複数の実施形態において、登録情報は、登録が行われているアプリケーションがUIモジュール702によってどのように起動されるべきか、および検索語がアプリケーションにどのように供給されるべきかの指示を含む。アプリケーションがUIモジュール702によってどのように起動されるべきかのこの指示は、アプリケーションごとに異なる可能性があり、例えば、実行されるべき実行可能ファイルの指示、そのファイルを実行することを開始する際に使用されるべき、もしくはアプリケーションが実行されるようになった後にアプリケーションに送られるべき1つまたは複数のパラメータの指示、アプリケーションに1つまたは複数のパラメータを送るために呼び出すべきアプリケーションの1つまたは複数のアプリケーションプログラミングインターフェース(API)の指示などを含み得る。同様に、モジュール702によってアプリケーションにどのように検索語が供給されるべきかの指示は、アプリケーションごとに異なる可能性があり、例えば、アプリケーションを実行することを開始する際にアプリケーションにどのように検索語(および、オプションとして、他のコンテキスト情報)が供給されるべきかの指示、アプリケーションに検索語(および、オプションとして、他のコンテキスト情報)を送るために呼び出すべきアプリケーションの1つまたは複数のAPIの指示などを含み得る。
[0045]他の様々な情報が、登録情報に含められ得る。例えば、登録情報は、アプリケーションが分類される特定のアプリケーションカテゴリー(例えば、ゲーム、音楽、映画、出版物、買い物、生産性、およびソーシャルネットワーキングなど)、アプリケーションがサービスを提供する特定のタイプのコンテンツ(例えば映画、電子書籍、ゲーム、音楽など)、ならびにアプリケーションによって使用されるウェブドメイン(例えば、ネットワークを介してアクセスされるデバイスまたはサービスのウェブドメイン)などの、アプリケーションを記述するメタデータを含み得る。別の例として、登録情報は、アプリケーションが、システムレベル検索UIのアプリケーション識別部分においてどのように識別されるべきかを示す情報(例えば、使用すべき1つまたは複数のアイコン、使用すべき1つまたは複数の名前、使用すべき1つまたは複数の色もしくはフォント、表示すべき1つまたは複数のアニメーションなど)を含み得る。さらに別の例として、登録情報は、アプリケーションの要件を記述する情報(例えば、アプリケーションが、別のデバイスまたは別のサービスに対するインターネットアクセスまたは他のネットワークアクセスに依拠するかどうか)を含み得る。
[0046]また、登録情報は、登録が行われているアプリケーションによって、または代替として、別のデバイス、構成要素、もしくはモジュールによって供給され得ることにも留意されたい。例えば、登録情報の少なくともいくらかが、アプリケーションの販売業者または製造業者によって供給され得る。別の例として、アプリケーションは、登録情報を含む、関連するマニフェストまたは他のメタデータを有することが可能であり、そのアプリケーションのインストールを行っているインストーラーアプリケーションまたはインストーラーモジュールが、そのアプリケーションに代行して登録情報を供給することが可能である。
[0047]アプリケーション登録モジュール706は、アプリケーションに関する登録プロセスの一環として受け取られた登録情報をアプリケーション登録ストア708の中に格納する。登録情報は、登録情報を、対応するアプリケーション識別子と一緒に格納することなどによって、アプリケーションに関連付けられたものとして、またはアプリケーションに対応するものとして格納される。アプリケーション識別子は、アプリケーション名と製造業者の組合せ、アプリケーション製造業者によって、もしくはシステムレベル検索モジュール700によってアプリケーションに割り当てられた識別子などの様々な異なる形態をとり得る。アプリケーション登録ストア708は、様々なアプリケーションに関する登録情報を格納するデータベース、リスト、または他のデータ構造であり得る。アプリケーション登録ストア708は、ユーザーインターフェースモジュール702によって、システムレベル検索UIのアプリケーション識別部分の一部として表示されるべきアプリケーションを識別するのに、後にアクセスされ得る。
[0048]アプリケーション格付けモジュール704は、アプリケーション登録ストア708の中に登録された各アプリケーションに格付けを割り当てる。この格付けは、システムレベル検索UIのアプリケーション識別部分においてアプリケーションが表示される順序を決定するのに使用される。さらに、システムレベル検索UIによって表示され得るより多くのアプリケーションがシステムレベル検索モジュール700に登録している状況が生じ得る。そのような状況において、この格付けは、いずれのアプリケーションがシステムレベル検索UIによって表示されるべきかを決定するのに使用される。代替として、アプリケーションが表示される順序、および/またはいずれのアプリケーションが表示されるかは、アプリケーション名のアルファベット順に、ランダムに、他の規則もしくは基準に従ってなど、様々な方法で決定され得る。
[0049]アプリケーション格付けモジュール704は、アプリケーションを記述する(かつアプリケーションの登録情報として含められる)メタデータ、およびアプリケーションに関する利用状況データ(usage data)などの様々な異なる基準を、アプリケーションを格付けする際に使用することができる。アプリケーション格付けモジュール704は、システムレベル検索UIがアクティブにされたこと、システムレベル検索UIのアプリケーション識別部分を表示するユーザー要求(例えば、図2のメニューアイコン210を選択することによる)、検索語がユーザーによって入力されることなどの、様々なイベントに応答して格付けを決定することが可能である。代替として、アプリケーション格付けモジュール704は、アプリケーションの格付けを事前決定し、システムレベル検索UIのアプリケーション識別部分が表示される際、これらの事前決定された格付けを使用することが可能である。これらの事前決定された格付けは、規則的な間隔で生成されることも、不規則な間隔で生成されることも可能である(例えば、ほぼ毎日もしくは毎週、新たなアプリケーションがアプリケーション登録モジュール706に登録した際など)。これらの事前決定された格付けは、アプリケーション登録ストア708の中に保持され得(例えば、アプリケーション格付けは、登録情報と一緒に格納され得る)、または代替として、別の場所に格納され得る。
[0050]アプリケーション格付けモジュール704によって決定される格付けは、特定のスコア(例えば、1から100までの範囲内の値)であることが可能であり、または代替として、特定のアプリケーションが、他の任意のアプリケーションと比べて、より高く格付けされるか、またはより低く格付けされるかの判定が、容易に行われ得るように、最高の格付けから最低の格付けまでのアプリケーションの順序付けであることが可能である。より高いスコア、またはより高い格付けを有するアプリケーションが、より低いスコア、またはより低い格付けを有するアプリケーションと比べて、ユーザーによって入力された検索語により関係があると通常、考えられ、ただし、より低いスコア、またはより低い格付けを有するアプリケーションが、より高いスコア、またはより高い格付けを有するアプリケーションと比べて、ユーザーによって入力された検索語により関係があると考えられることも可能である。
[0051]1つまたは複数の実施形態において、特定のアプリケーションの格付けを決定するのに、格付けモジュール704は、その特定のアプリケーションの特性を識別する。その特定のアプリケーションの様々な特性が、特定のアプリケーションの格付けを決定するのに使用され得る。複数の特性が、特定のアプリケーションの格付けを決定するのに使用されることも、または代替として、単一の特性が、特定のアプリケーションの格付けを決定するのに使用されることもある。格付けを決定するのに使用されているこれらの特性のそれぞれに関して特定の関連度スコアが生成され、これらの関連度スコアが、1つまたは複数の格付けアルゴリズムに入力される。この1つまたは複数の格付けアルゴリズムが、入力された関連度スコアを組み合わせて(例えば、スコアを足すことによって、関連度スコアのそれぞれに重みを割り当て、重み付けされた関連度スコアを足すことによってなど)、アプリケーションの格付けを生成する。アプリケーションの関連度スコアの組合せが、アプリケーションの格付けであり得る。代替として、登録されたアプリケーションのすべてのアプリケーションの総合関連度スコアが生成され得、それらの登録されたアプリケーションが、それらのアプリケーションの総合関連度スコアに基づいて順序付けされ得(例えば、最高の総合関連度スコアから最低の総合関連度スコアまで)、この順序付けが、アプリケーションの格付けであり得る。
[0052]アプリケーションの格付けを決定するのに使用され得る1つの特性が、アプリケーションを記述するメタデータである。アプリケーションを記述するメタデータは、前述のように、アプリケーションに関する登録情報として供給される。アプリケーション格付けモジュール704が、現在アクティブなアプリケーションのアプリケーションカテゴリーを識別する(例えば、現在アクティブなアプリケーションの識別子は、オペレーティングシステムから獲得され、アプリケーション登録ストア708の中で、そのアプリケーションに関する登録情報を特定するルックアップとして使用され得る)。アプリケーションが、現在アクティブなアプリケーションと同一のカテゴリーに入っている場合、そのアプリケーションには、より高い関連度スコア(例えば、1という値)が割り当てられ、アプリケーションが、アクティブなアプリケーションと同一のカテゴリーに入っていない場合、そのアプリケーションには、より低い関連度(例えば、0という値)が割り当てられる。
[0053]アプリケーションの格付けを決定するのに使用され得る別の特性が、アプリケーションに関する利用状況データである。アプリケーションの利用状況に関する情報は、システムレベル検索モジュール700によって監視され、保持され得る。ユーザーが、システムレベル検索モジュール700を使用して、検索が行われるべきアプリケーション、および検索語を選択すると、システムレベル検索モジュール700によって、いずれのアプリケーションが、検索が行われるように選択されたかに関する情報、および検索するために入力された検索語が、容易に識別され得、そのようなレコードが、保持され得る。アプリケーションの利用状況に関する情報は、例えば、アプリケーションが、システムレベル検索UIを介して、検索が行われるべきアプリケーションとしてどれだけ頻繁に選択されたか、アプリケーションが、システムレベル検索UIを介して、検索が行われるべきアプリケーションとして選択されたのは、どれだけ現時点から近いか、アプリケーションが、システムレベル検索UIを介して、現在の検索語の検索が行われるべきアプリケーションとしてどれだけ頻繁に選択されたか、アプリケーションが、システムレベル検索UIを介して、現在の検索語の検索が行われるべきアプリケーションとして選択されたのは、どれだけ現時点から近いかなどであり得る。さらに、いくつかのアプリケーションが、システムレベル検索UIとは別に検索が行われ得る検索ユーザーインターフェースをサポートする場合、それらのアプリケーションが、利用状況データを監視し、そのような利用状況データをアプリケーション格付けモジュール704にも供給することも可能である。
[0054]利用状況情報は、アプリケーションの関連度スコアである数値を生成するのに使用され得る。例えば、アプリケーションが、システムレベル検索UIを介して、検索が行われるべきアプリケーションとして選択される頻度の数値が、(例えば、前の週、前の月などの何らかの期間にわたって)そのアプリケーションが選択された回数を、アプリケーション選択の合計回数で割ることによって生成され得る。別の例として、アプリケーションが、システムレベル検索UIを介して、現在の検索語の検索が行われるべきアプリケーションとして選択されたのは、どれだけ現時点から近いかの数値が、そのアプリケーションが、システムレベル検索UIを介して、現在の検索語の検索が行われるべきアプリケーションとして前回に選択されたのがどれだけ以前に遡るか(例えば、分単位、時間単位、または日数単位などで)を識別することによって生成され得る。
[0055]アプリケーションの格付けを決定するのに使用され得る別の特性が、アプリケーションのウェブドメインである。アプリケーションのウェブドメインは、前述のように、アプリケーションに関する登録情報として供給される。アプリケーション格付けモジュール704が、ユーザーによって入力された現在の検索語をインターネット検索エンジンに転送し、インターネット検索エンジンによって戻された結果を解析し、インターネット検索エンジンによって戻された結果の中でウェブドメインがどこに現れたかに基づいて、アプリケーションに関連度スコアを割り当てることが可能である。アプリケーションのウェブドメインに基づくアプリケーションの関連度スコアである数値は、例えば、インターネット検索エンジンによって戻された結果の中でそのウェブドメインがどれだけ高いか、または早いかを識別することによって、生成され得る。例えば、インターネット検索エンジンによって戻された結果が、そのアプリケーションのウェブドメインを最初の結果としてリストアップする場合、そのアプリケーションの関連度スコアは、1(または代替として、或る特定の値から1を引いた値)である。別の例として、インターネット検索エンジンによって戻された結果が、そのアプリケーションのウェブドメインを一番上から、つまり、最初の検索結果から5番目の結果としてリストアップする場合、そのアプリケーションの関連度スコアは、5(または代替として、或る特定の値から5を引いた値)である。代替として、インターネット検索エンジンによって戻された結果が、そのウェブドメインを含む結果が全く利用できないことを示す場合、そのアプリケーションは、システムレベル検索UIのアプリケーション識別部分において表示されるアプリケーションから除外され得る。例えば、アプリケーション格付けモジュール704が、そのアプリケーションが除外されるべきことをユーザーインターフェースモジュール702に示すことが可能であり、これに応答して、ユーザーインターフェースモジュール702が、システムレベル検索UIのアプリケーション識別部分にそのアプリケーションの識別子を含めない。代替として、アプリケーション格付けモジュール704が、そのアプリケーションのウェブドメインを、そのアプリケーションの関連度スコアを戻すウェブサービスに転送することが可能である。このウェブサービスが関連度スコアを決定する方法は、様々であることが可能であり、このウェブサービスによって決定される。
[0056]代替の実施形態において、アプリケーション格付けモジュール704が、ユーザーによって指定された(かつ様々な異なる方法で入力され得る)アプリケーションの格付けを保持する。このため、ユーザーは、ユーザーが所望するとおりにアプリケーションの格付けをカスタマイズすることができる。アプリケーション格付けモジュール704は、アプリケーションの格付けを決定するのに他のいずれの基準を使用する必要もなく、単に、ユーザーによって指定された格付けを、アプリケーション格付けモジュール704によって生成された、または決定された格付けとして使用することができる。アプリケーションの、これらのユーザーによって指定された格付けは、登録されたアプリケーションに関するその他の情報と一緒にアプリケーション登録ストア708の中に保持されても、または代替として、別の場所に保持されてもよい。
[0057]ユーザーインターフェースモジュール702が、アプリケーション登録ストア708の中の情報、およびアプリケーション格付けモジュール704によって生成された格付けを使用して、システムレベル検索UIのアプリケーション識別部分に含めるべきアプリケーション、および/またはシステムレベル検索UIのアプリケーション識別部分に含められるアプリケーションの順序付けを決定する。1つまたは複数の実施形態において、システムレベル検索UIのアプリケーション識別部分が、しきい値数を超えないアプリケーションしか表示しないことが可能である。しきい値数を超えるアプリケーションがシステムレベル検索モジュール700に登録された場合、ユーザーインターフェースモジュール702は、システムレベル検索モジュール700に登録されており、上位の格付け(または代替として、下位の格付け)を有するしきい値数のアプリケーションを選択する。例えば、システムレベル検索UIのアプリケーション識別部分が、5つだけのアプリケーション識別子しか表示できない場合、ユーザーインターフェースモジュール702は、格付けが上位の方から5つのアプリケーション(例えば、大きい方から5つの総合関連度スコアを有するアプリケーション、アプリケーションの総合関連度スコアに基づくアプリケーションの順序付けの最初の5つのアプリケーションまたは終わりの5つのアプリケーションなど)を選択し、それらの格付けが上位の方から5つのアプリケーション識別子を、システムレベル検索UIのアプリケーション識別部分に含める。アプリケーションのしきい値数は、オプションとして、システムレベル検索モジュール700のユーザーまたは管理者によって構成され得る。
[0058]また、ユーザーインターフェースモジュール702は、アプリケーション登録ストア708の中の情報を使用して、システムレベル検索UIのアプリケーション識別部分に含めるべきアプリケーションを決定することもできる。1つまたは複数の実施形態において、アプリケーションによって供給される登録情報は、前述のように、アプリケーションの要件を含む。ユーザーインターフェースモジュール702は、これらの要件が満たされているかどうかを確認し、これらの要件が満たされていない場合、システムレベル検索UIのアプリケーション識別部分にそのアプリケーションを含めない。
[0059]ユーザーインターフェースモジュール702が、アプリケーションの要件が満たされているかどうかを判定する方法は、特定の要件に基づいて異なる。例えば、登録情報は、インターネット接続が要求される(例えば、図1のコンピューティングデバイスなどの、遠隔コンピューティングデバイス上のデータストアにアクセスするのに)ことを示し得る。ユーザーインターフェースモジュール702は、或る構成要素、または或るモジュール(例えば、システムレベル検索モジュール700と同一のコンピューティングデバイス上のオペレーティングシステムの)にクエリを行って、そのコンピューティングデバイスが、現在インターネット接続を有するかどうかを判定する。コンピューティングデバイスが、現在インターネット接続を有する場合、その要件は満たされ、そのアプリケーションが、システムレベル検索UIのアプリケーション識別部分に含められ得る。しかし、コンピューティングデバイスが、現在インターネット接続を有さない場合、その要件は満たされず、そのアプリケーションは、システムレベル検索UIのアプリケーション識別部分に含められない。代替として、コンピューティングデバイスが、現在インターネット接続を有さない場合、そのアプリケーションは、アプリケーション識別部分において表示され得るが、異なる外観で(例えば、そのアプリケーションが検索語を検索することができない可能性があることを示すように陰影で覆われて)、またはそのアプリケーションが検索語を検索することができない可能性があるというテキスト、アイコン、または他の何らかの指示を伴って表示される。
[0060]さらに、1つまたは複数の実施形態において、ユーザーインターフェースモジュール702は、格付けに基づいて、システムレベル検索UIのアプリケーション識別部分に含められるアプリケーションの順序付けを決定する。アプリケーション識別子は、アプリケーションの格付けによる順序でシステムレベル検索UIのアプリケーション識別部分において表示される。アプリケーション識別子が、アプリケーションの格付けに応じて表示される方法は、実施形態により異なり得る。例えば、アプリケーション識別子は、最高の格付けから最低の格付けの順でシステムレベル検索UIのアプリケーション識別部分において上から下に表示され得る。例えば、図2を参照すると、「アプリケーション3名前」によって識別されるアプリケーションが、「アプリケーション1名前」によって識別されるアプリケーションより高い格付けを有する。別の例として、アプリケーション識別子は、最高の格付けから最低の格付けの順でシステムレベル検索UIのアプリケーション識別部分において左から右に表示され得る。例えば、図3を参照すると、封筒で識別されるアプリケーションが、コーヒーカップで識別されるアプリケーションと比べて、より高い格付けを有するとともに、「M」という文字で識別されるアプリケーションと比べて、より低い格付けを有する。
[0061]また、ユーザーインターフェースモジュール702は、格付けに基づいて、アプリケーション識別子に他の様々な変更を行うことも可能である。例えば、格付けのより高いアプリケーション(例えば、格付けが最上位方から1つまたは複数のアプリケーション、或るしきい値を超えた格付けを有するアプリケーション)のアプリケーション識別子が、異なるフォントで、異なる色で、アニメーションを用いて、より大きいサイズおよびその他で表示され得る。別の例として、アプリケーション識別子は、格付けが上位のアプリケーションのアプリケーション識別子が、格付けが下位のアプリケーションのアプリケーション識別子と比べて、より大きいアイコン、シンボル、フォントサイズなどであるようにして、様々なサイズで表示され得る。
[0062]このように、ユーザーインターフェースモジュール702は、アプリケーションの格付けに基づいて、システムレベル検索UIのアプリケーション識別部分においてアプリケーション識別子を表示する。ユーザーインターフェースモジュール702によって表示されるアプリケーション識別子は、アプリケーション登録ストア708から獲得される(そのアプリケーションに関する登録プロセス中に供給されたとおり)。ユーザーが、特定のアプリケーション識別子を選択すると、ユーザーインターフェースモジュール702が、アプリケーション登録ストア708にアクセスして、そのアプリケーションをどのように起動すべきかを識別する。ユーザーインターフェースモジュール702は、この情報をアプリケーション登録ストア708から取り出し、この情報をオペレーティングシステムに供給し、次に、オペレーティングシステムが、選択されたアプリケーションを起動する。さらに、ユーザーインターフェースモジュール702が、システムレベル検索UIのデータエントリー部分においてユーザーによって入力された検索語を、選択されたアプリケーションに供給する。次に、選択されたアプリケーションが、その検索語を検索し、適切な結果を表示する。検索語は、選択されたアプリケーションによって前もって供給された登録情報の中でその選択されたアプリケーションによって示された方法で、その選択されたアプリケーションに与えられる。
[0063]また、ユーザーインターフェースモジュール702は、検索を実行しているアプリケーション(前述のように、選択されたアプリケーション、または現在アクティブなアプリケーションであり得る)に様々なさらなるコンテキスト情報を供給することも可能である。コンテキスト情報とは、コンピューティングデバイスのユーザー、および/または要求されている検索に関する情報を指す(検索語自体、検索に関するコンテキスト情報と呼ばれ得る)。コンテキスト情報は、例えば、コンピューティングデバイスのユーザーの識別子(例えば、オペレーティングシステムの別の構成要素またはモジュールから獲得された)、ユーザーがコンピューティングデバイスにログインしているという指示(例えば、アプリケーション自体がユーザーを識別することを可能にする)、現在アクティブなアプリケーションの指示、現在アクティブなアプリケーションのカテゴリーの指示、検索語が検索されるようにユーザーが以前に選択した1つまたは複数のアプリケーションの指示、検索語が検索されるようにユーザーが以前に選択した1つまたは複数のアプリケーションの各アプリケーションのカテゴリーの指示などを含み得る。
[0064]検索に関するコンテキスト情報を受け取るアプリケーションは、そのコンテキストを、アプリケーションが所望する任意の方法で使用することが可能であり、そのコンテキスト情報のすべて、またはそのコンテキスト情報のいくらかだけを使用することが可能である。例えば、アプリケーションは、検索語を使用して検索結果を生成するが、検索に関する他のいずれのコンテキスト情報も無視することが可能である。別の例として、アプリケーションは、検索語を使用して検索結果を生成し、検索語が検索されるようにユーザーが以前に選択したアプリケーションのカテゴリーも使用して、同一のカテゴリー(例えば、ユーザーによって以前に検索されたアプリケーションのカテゴリーが映画である場合、映画ファイル)のデータを含む検索結果を生成することが可能である。
[0065]図8は、1つまたは複数の実施形態によるシステムレベル検索モジュールにアプリケーションを登録するための例示的な登録プロセス800を示す流れ図である。プロセス800は、ソフトウェアで、ファームウェアで、ハードウェアで、または以上の組合せで実施され得る。図8の左側に示されるプロセス800の動作は、図7のシステムレベル検索モジュール700などのシステムレベル検索モジュールによって実行される。図8の右側に示されるプロセス800の動作は、図1のアプリケーション112などのアプリケーションによって、および/またはそのようなアプリケーションに代わって実行される。右側に示されるプロセス800の動作は、アプリケーション自体によって実行されること、またはアプリケーションに代わって別の構成要素もしくはモジュールによって(例えば、アプリケーションインストーラーによって、アプリケーションの販売業者または製造業者によってなど)実行され得る。プロセス800は、動作のセットとして示され、様々な動作の作用を実行するために示される順序に限定されない。プロセス800は、システムレベル検索モジュールにアプリケーションを登録するための例示的なプロセスであり、システムレベル検索モジュールにアプリケーションを登録することのさらなる説明が、様々な図を参照して本明細書に含められる。
[0066]プロセス800で、アプリケーションに関するシステムレベル検索UI登録情報が識別される(動作802)。システムレベル検索UI登録情報は、アプリケーションがシステムレベル検索モジュールによってどのように起動されるべきかの指示を含む。また、様々なさらなる情報が、前述のように、システムレベル検索UI登録情報として識別されることも可能である。
[0067]識別されたシステムレベル検索UI登録情報は、システムレベル検索モジュールに通信される(動作804)。この登録情報は、前述のように、システムレベル検索モジュールのアプリケーション登録モジュールに通信され得る。
[0068]システムレベル検索モジュールは、アプリケーションからシステムレベル検索UI登録情報を受け取り(動作806)、受け取られたシステムレベル検索UI登録情報を登録ストアに追加する(動作808)。
[0069]アプリケーションは、システムレベル検索UIを使用して、検索のために選択され得るアプリケーションとして含められる(動作810)。アプリケーションの識別子(アプリケーションによって供給されるシステムレベル検索UI登録情報の中に含められ得る)が、ユーザーに表示されて、前述のように、1つまたは複数の検索語を検索すべきアプリケーションをユーザーが選択することができるようにすることが可能である。
[0070]図7に戻ると、前述のように、ユーザーインターフェースモジュール702が、システムレベル検索UIとして表示されるべき情報を生成し、アプリケーションと対話することも行い、このことは、ユーザー選択のアプリケーションを起動することを含み得る。また、ユーザーインターフェースモジュール702は、現在アクティブなアプリケーションを相手にさらなる対話を行って、現在アクティブなアプリケーションに情報を供給するとともに、そのアプリケーションから情報を受け取ることも可能である。現在アクティブなアプリケーションとは、前述のように、前景で現在実行されているアプリケーション(例えば、図1のアプリケーション112のうちの1つ)を指し、ユーザーが対話することができるアプリケーションである。現在アクティブなアプリケーションの指示は、オペレーティングシステムのモジュールによって維持され、この指示は、オペレーティングシステムのこのモジュールからユーザーインターフェースモジュール702によって獲得され得る。
[0071]現在アクティブなアプリケーションは、ユーザー入力、および/またはコンピューティングデバイス上で実行されている別のアプリケーションもしくはモジュールからの要求に応答して、時とともに変わり得ることに留意されたい。例えば、ユーザーが、システムレベル検索UIのアプリケーション識別部分から或るアプリケーション識別子を選択することが可能であり、これに応答して、選択されたアプリケーション識別子に対応するアプリケーションが、現在アクティブなアプリケーションになる。別の例として、システムレベル検索UIとは別に、ユーザーが、或るアプリケーションを起動することを選択する、または対話するアプリケーションを選択することが可能であり、これに応答して、選択されたアプリケーションが、現在アクティブなアプリケーションとなる。
[0072]1つまたは複数の実施形態において、ユーザーインターフェースモジュール702が、ユーザー入力を、受け取られるにつれ、現在アクティブなアプリケーションに供給する。ユーザーによって入力された各文字、または他のシンボルが、その文字またはシンボルが入力されることに応答して、現在アクティブなアプリケーションに供給される。そのユーザー入力に応答して、現在アクティブなアプリケーションは、その入力に基づく1つ以上の候補表示される(suggested)検索語を生成すること、または全く生成しないことが可能である。現在アクティブなアプリケーションは、ユーザーによって入力された以前のデータに基づいて、アプリケーションによって保持される検索可能なデータもしくは辞書に基づいてなど、様々な異なる方法で候補表示される1つ以上の検索語を生成すること、または全く生成しないことが可能である。ユーザーインターフェースモジュール702に候補表示される1つ以上の検索語が戻され、または全く戻されず、モジュール702は、候補表示される検索語をシステムレベル検索UIの一部として表示する。候補表示される検索語は、システムレベル検索UIのデータ入力部分に隣接するメニュー項目のリストの中などの、様々な場所で表示され得る。ユーザーは、候補表示される検索語のうちの1つを選択することが可能であり、これに応答して、ユーザーインターフェースモジュール702が、その候補表示される検索語を、システムレベル検索UIのデータ入力部分において表示する。
[0073]例えば、ユーザーが、或る検索語を入力しており、ユーザーによって入力された最初の文字が、「H」という活字である場合、ユーザーインターフェースモジュール702は、現在アクティブなアプリケーションに、ユーザーによって「H」という活字が入力されたという指示を送る。現在アクティブなアプリケーションは、候補表示される検索語(例えば、Home、House、Hydrogen、Helloなど)を全く生成しないか、または1つ以上の候補表示される検索語を生成し、それらの候補表示される検索語をユーザーインターフェースモジュール702に戻す。ユーザーインターフェースモジュール702は、それらの候補表示される検索語を、システムレベル検索UIの一部として表示する。次に、ユーザーが、それらの候補表示される検索語のうちの1つを、その候補表示される検索語にスタイラスもしくは指で触れること、その候補表示される検索語の上でポインタを操作し、カーソル制御デバイス(例えば、マウス)のボタンを押すことなどの様々な異なる操作で(例えば、図1の入力モジュール114を介して)、ユーザーによって所望される検索語の少なくとも一部として選択することができる。候補表示される検索語のユーザー選択に応答して、ユーザーインターフェースモジュール702が、システムレベル検索UIのデータエントリー部分において、選択された候補表示される検索語を表示する。
[0074]この例を続けると、ユーザーが、候補表示される検索語のうちの1つを選択せず、代わりに、「e」という活字を入力して、現時点までのユーザーの入力が「He」であるようにする場合、ユーザーインターフェースモジュール702は、ユーザーによって「He」という活字が入力されたという指示を現在アクティブなアプリケーションに送る。現在アクティブなアプリケーションは、候補表示される1つ以上の検索語(例えば、Help、Hello、Henryなど)を全く生成しないか、または候補表示される1つ以上の検索語を生成し、それらの候補表示される検索語をユーザーインターフェースモジュール702に戻す。ユーザーインターフェースモジュール702は、これらの新たに候補表示される検索語を、システムレベル検索UIの一部として表示する。このプロセスは、ユーザーが入力した検索語を検索すべきアプリケーションをユーザーが選択するまで続くことが可能である。
[0075]候補表示される検索語は、テキスト検索語であるものとして本明細書で説明されるものの、様々な他のコンテンツ、および/または様々な他のタイプのコンテンツが、ユーザーインターフェースモジュール702に戻され得る。この他のコンテンツ、および/またはこれらの他のタイプのコンテンツは、戻される、候補表示される検索語に加えて、または代替として、そのような検索語の代わりに、ユーザーインターフェースモジュール702によって表示される、またはそれ以外で提示されることもある。例えば、候補表示される1つまたは複数の検索語と関係する1つまたは複数の画像が戻され、表示され得、候補表示される1つまたは複数の検索語と関係するさらなる説明的なテキストが戻され、表示され得、候補表示される1つまたは複数の検索語と関係するオーディオコンテンツが戻され、さらに再生され得るといった具合である。
[0076]図9は、1つまたは複数の実施形態によるシステムレベル検索ユーザーインターフェースを含む別の例示的な画面表示902を示す。画面表示902は、図4の画面表示402に類似する。しかし、画面表示902はまた、候補表示される複数の検索語を候補表示リスト904としても表示する。図示される例において、ユーザーが、「Ha」という文字を入力しており、現在アクティブなアプリケーションが、Handle、Harry、Hasty、およびHalibutという候補表示される検索語を与えている。候補表示リスト904が、データ入力部分206の上に隣接して例示される。しかし、候補表示リスト904は、画面表示202上のどこにでも(ただし、通常、データ入力部分206、アプリケーション識別部分208、検索ボタン212、またはメニューアイコン210を覆わないように)表示され得ることを認識されたい。例えば、候補表示リスト904は、画面表示902の最上部に、画面表示902の左側または右側に沿って、画面表示902の中央に、データ入力部分206に隣接しない位置になど、表示され得る。
[0077]図7に戻ると、1つまたは複数の実施形態において、ユーザーインターフェースモジュール702は、アプリケーション識別部分において識別された1つまたは複数のアプリケーションのそれぞれに関して、1つまたは複数の検索結果を表示することも可能である。ユーザーインターフェースモジュール702は、ユーザーによって入力され、検索するためにアプリケーションに送られた検索語を(例えば、図2〜図6、および図9の検索ボタン212などの検索ボタンのユーザー選択、またはアプリケーション識別部分における別のアプリケーションの選択に応答して)、アプリケーション識別部分において識別された1つまたは複数のアプリケーションのそれぞれに供給することが可能であり、それらの1つまたは複数のアプリケーションがそれぞれ、その検索語に基づく1つまたは複数の検索結果をモジュール702に戻すことが可能である。次に、ユーザーインターフェースモジュール702が、アプリケーション識別部分においてそれらの1つまたは複数の検索結果を、それらの検索結果を戻したアプリケーションに関連するものとして(例えば、そのアプリケーションの識別子の下に隣接して、そのアプリケーションの識別子の上に隣接して、そのアプリケーションを識別するアイコンまたはテキストと一緒になど)表示することが可能である。このため、ユーザーには、ユーザーがもしそのプリケーションを選択したとする場合、アプリケーション識別部分におけるアプリケーションが戻すことになる結果のプレビューが与えられ得る。
[0078]代替として、ユーザーインターフェースモジュール702は、アプリケーション識別部分において識別された1つまたは複数のアプリケーションのそれぞれに、ユーザーによって入力され、検索するためにアプリケーションに送られた検索語を供給することに加えて、またはそうする代わりに、ユーザー入力を、受け取られるにつれ、アプリケーション識別部分において識別された1つまたは複数のアプリケーションのそれぞれに供給することが可能である。それらの1つまたは複数のアプリケーションのそれぞれが、受け取られたユーザー入力に基づいて、1つまたは複数の検索結果を戻すことが可能であり、それぞれが、その検索語に基づく1つまたは複数の検索結果をモジュール702に戻すことが可能である。次に、ユーザーインターフェースモジュール702が、前述のように、アプリケーション識別部分においてそれらの1つまたは複数の検索結果を、それらの検索結果を戻したアプリケーションに関連するものとして表示することが可能である。
[0079]さらに、1つまたは複数の実施形態において、ユーザーインターフェースモジュール702が、候補表示される検索語を、いくつかの言語に関する言語的代替案(linguistic alternatives)と一緒に表示することをサポートする。東アジアの言語(例えば、日本語、中国語、および朝鮮語)などのいくつかの言語は、キーボードの個々のキーに対応しない多数の文字から成る。ロシア語などの他の言語は、異なる複数のアルファベット(例えば、ロシア語の事例では、ローマ字またはキリル文字)を使用して表され得る。ユーザーインターフェースモジュール702は、そのような言語に関して言語的代替案を用いて検索語を表示することをサポートする。
[0080]図10は、1つまたは複数の実施形態による候補表示される検索語に関する言語的代替案をサポートする例示的なシステム1000を示すブロック図である。システム1000は、ユーザーインターフェースモジュール1002と、アプリケーション1004と、言語的代替案生成モジュール1006とを含む。ユーザーインターフェースモジュール1002は、例えば、図7のユーザーインターフェースモジュール702であり得る。アプリケーション1004は、例えば、図1のアプリケーション112であり得る。
[0081]ユーザーインターフェースモジュール1002がユーザー入力を受け取るにつれ、モジュール1002は、そのユーザー入力を、受け取られるにつれ、言語的代替案生成モジュール1006に供給する。言語的代替案生成モジュール1006は、様々な異なる方法でユーザー入力に関する言語的代替案を識別することが可能であり、それらの言語的代替案をユーザーインターフェースモジュール1002に戻す。言語的代替案生成モジュール1006は、通常、ユーザー入力に関する1つまたは複数の言語的代替案を識別し、それらの1つまたは複数の言語的代替案をユーザーインターフェースモジュール1002に戻す。しかし、言語的代替案生成モジュール1006は、通常、言語的代替案を戻すことを要求されない(しかし、代替として、要求され得る)ことに留意されたい。したがって、言語的代替案生成モジュール1006が、特定のユーザー入力に関して全く言語的代替案を識別せず、戻さない状況が生じ得る。
[0082]1つまたは複数の実施形態において、言語的代替案生成モジュール1006は、ユーザー入力を1つの文字体系から別の文字体系に変換することによって、ユーザー入力に関する言語的代替案を識別する。例えば、ロシア語の事例において、ユーザー入力がローマ字である場合、言語的代替案生成モジュール1006は、それらのローマ字をキリル文字に変換する。言語的代替案生成モジュール1006は、ユーザー入力の変換(キリル文字の)を、1つまたは複数の言語的代替案として戻す。
[0083]さらに、1つまたは複数の実施形態において、言語的代替案生成モジュール1006は、音声的音節によって表され得る1つまたは複数の文字を識別する。一部の東アジアの言語などの一部の状況において、特定の文字を入力するために、ユーザーは、音声的音節を複数のローマ字として入力する。例えば、ユーザーは、異なる複数の漢字に対応し得る、「bei」というローマ字を使用して或る音声的音節を入力することが可能である。言語的代替案生成モジュール1006は、特定のユーザー入力に対応する、文字を全く識別しないか、または1つ以上の異なる文字を識別し、それらの識別された文字を言語的代替案としてユーザーインターフェースモジュール1002に戻す。例えば、ユーザー入力が「bei」であった場合、言語的代替案生成モジュール1006は、「bei」によって表され得る様々な漢字を識別し、それらの漢字を言語的代替案としてユーザーインターフェースモジュール1002に戻す。別の例として、ユーザー入力が「h」であった場合、言語的代替案生成モジュール1006は、「h」によって表され得る様々な漢字(「h」で始まる異なる複数の音声的音節を含む)を識別し、それらの漢字を言語的代替案としてユーザーインターフェースモジュール1002に戻す。
[0084]言語的代替案生成モジュール1006は、特定の言語のために、または代替として、複数の言語のために構成され得る。例えば、言語的代替案生成モジュール1006が代替をもたらす言語を識別する構成設定が、システム1000を含むコンピューティングデバイスのユーザーによって、アプリケーション1004によって、ユーザーインターフェースモジュール1002によってなど、与えられ得る。別の例として、異なる言語ごとに、異なる言語的代替案生成モジュール1006がシステム100に含められ得る(例えば、ロシア語のために1つのモジュール1006、中国語のために別のモジュール1006、日本語のために別のモジュール1006といった具合に)。ユーザーインターフェースモジュール1002は、言語的代替案が所望される言語に依存して(例えば、システム1000を含むコンピューティングデバイスのユーザー、アプリケーション1004、ユーザーインターフェースモジュール1002などによって示されるとおり)、これらの異なるモジュール1006のうちの1つまたは複数にユーザー入力を供給することが可能である。
[0085]ユーザーインターフェースモジュール1002が、言語的代替案生成モジュール1006から言語的代替案を受け取り、ユーザー入力と言語的代替案の両方をアプリケーション1004に供給する。言語的代替案が、言語的代替案生成モジュール1006から全く受け取られない場合、ユーザーインターフェースモジュール1002は、ユーザー入力だけをアプリケーション1004に供給する。次に、アプリケーション1004は、ユーザー入力または言語的代替案に基づいて、あるいはユーザー入力と言語的代替案またはその両方に基づいて候補表示される1つ以上の検索語を決定すること、または全く決定しないことが可能である。アプリケーション1004自体が、候補表示される検索語の決定が基づけられるユーザー入力と言語的代替案の特定の組合せを決定する。候補表示される検索語は、ユーザーインターフェースモジュール1002に戻され、モジュール1002が、候補表示される検索語を、システムレベル検索UIの一部として表示する。候補表示される検索語は、言語的代替案に基づき得るので、候補表示される検索語は、様々な異なる文字体系および/または言語のものであり得る。例えば、候補表示される検索語には、「bei」で始まる英語の語、および「bei」によって表される漢字が含まれ得る。
[0086]図7に戻ると、候補表示される検索語をもたらすことに加えて、または代替的に候補表示される検索語をもたらすことの代替として、現在アクティブなアプリケーションは、ユーザーによって各文字または他のシンボルが入力されるにつれ、検索結果をもたらし得る。現在アクティブなアプリケーションは、ユーザーによって入力された文字または他のシンボルに基づいて検索結果を生成し、それらの文字またはシンボルを検索語として使用する(ユーザーは、ユーザーが検索語として所望する語をまだ完全には入力していない可能性があるものの)。これらの検索結果が、現在アクティブなアプリケーションによって表示され(例えば、図5のウインドウ404内に)、ユーザーによってさらなる文字またはシンボルが入力されるたびに、現在アクティブなアプリケーションによって更新され得る。
[0087]さらに、1つまたは複数の実施形態において、現在アクティブなアプリケーションが、オプションとして、データ入力キューをユーザーインターフェースモジュール702に与える。このデータ入力キューは、ユーザーを支援するヘルパテキスト、画像、アニメーションなどであり得る。例えば、データ入力キューは、「ここに検索語を入力してください」または「ここに映画の題名を入力してください」というテキストであり得る。現在アクティブなアプリケーションによって与えられる場合、データ入力キューは、ユーザーが検索語をどこに入力することがでるかを特定する際にユーザーを支援するようにユーザーインターフェースモジュール702によって表示される。データ入力キューは、システムレベル検索UIのデータ入力部分において表示され得(例えば、さらにデータ入力キューの表示は、ユーザーが最初の文字またはシンボルを入力すると、終わることが可能である)、または代替として、システムレベル検索UIのデータ入力部分に隣接してなど、別の位置に表示され得る。
[0088]現在アクティブなアプリケーションとユーザーインターフェースモジュール702の間の通信は、様々な異なる方法で実施され得る。1つまたは複数の実施形態において、各アプリケーションが、そのアプリケーションとユーザーインターフェースモジュール702の間の通信を円滑にするクラスオブジェクトを作成する。アプリケーションによって作成されたクラスオブジェクトは、そのアプリケーションが、ユーザーインターフェースモジュール702から通信(例えば、ユーザー入力)を受け取ること、およびユーザーインターフェースモジュール702にデータ(例えば、データ入力キュー、候補表示される検索語)を供給することができるようにする。ユーザーインターフェースモジュール702は、現在アクティブなアプリケーションのクラスオブジェクトだけにデータを通信し、現在アクティブなアプリケーションのクラスオブジェクトだけからの通信を受け入れる。代替として、現在アクティブなアプリケーションとユーザーインターフェースモジュール702の間の通信は、ユーザーインターフェースモジュール702とアプリケーションの間にインターフェースを実施すること、ユーザーインターフェースモジュール702が、アプリケーションによって呼び出され得るAPIを公開することなどの、そのようなクラスオブジェクトを使用すること以外の、他の従来の方法で実施され得る。
[0089]図11は、1つまたは複数の実施形態によるシステムレベル検索ユーザーインターフェースを使用するための例示的なプロセス1100を示す流れ図である。プロセス1100は、図7のシステムレベル検索モジュール700のようなシステムレベル検索モジュールによって実行され、ソフトウェアで、ファームウェアで、ハードウェアで、または以上の組合せで実施され得る。プロセス1100は、動作のセットとして示され、様々な動作の作用を実行するために示される順序に限定されない。プロセス1100は、システムレベル検索ユーザーインターフェースを使用するための例示的なプロセスであり、システムレベル検索ユーザーインターフェースを使用することのさらなる説明は、様々な図を参照して本明細書に含められる。
[0090]プロセス1100において、データエントリー部分とアプリケーション識別部分の両方を含むシステムレベル検索UIが表示される(動作1102)。システムレベル検索UIは、前述のように、画面表示上の様々な異なる位置に表示され得る。
[0091]ユーザーによって入力されたデータが、システムレベル検索UIのデータエントリー部分において表示される(動作1104)。データは、前述のように、様々な異なる方法でユーザーによって入力され得る。
[0092]ユーザーによって入力されたデータを使用して検索され得る1つまたは複数のアプリケーションの識別子が、アプリケーション識別部分において表示される(動作1106)。これらの識別子は、前述のように、名前、アイコン、アニメーションなどの様々な異なる形態をとり得る。動作1106において表示される識別子は、システムレベル検索UIで使用されるように登録した1つまたは複数のアプリケーションの識別子であり、前述のように、様々な方法で選択され得る。
[0093]ユーザーによって入力されたデータは、システムレベル検索UIを実施するデバイス上の複数のアプリケーションのうちの1つに供給される(動作1108)。前述のように、データ入力は、現在アクティブなアプリケーションに供給され得(例えば、前述のように、検索ボタンの選択によって)、またはアプリケーション識別部分において表示され、ユーザー選択のアプリケーション識別子に対応するアプリケーションに供給され得る。
[0094]システムレベル検索UI表示は、ユーザーによって入力されたデータが供給されるアプリケーションが、ユーザーによって入力されたデータに基づく検索結果を獲得し、表示する間、保持される(動作1110)。アプリケーションが、前述のように、検索結果の表示(例えば、アプリケーションのウインドウ内の)を管理する一方で、システムレベル検索UIは、表示されたままである。
[0095]図12は、1つまたは複数の実施形態によるシステムレベル検索ユーザーインターフェースのアプリケーション識別部分においてアプリケーション識別子を表示するための例示的なプロセス1200を示す流れ図である。プロセス1200は、図7のシステムレベル検索モジュール700のようなシステムレベル検索モジュールによって実行され、ソフトウェアで、ファームウェアで、ハードウェアで、または以上の組合せで実施され得る。プロセス1200は、動作のセットとして示され、様々な動作の作用を実行するために示される順序に限定されない。プロセス1200は、システムレベル検索ユーザーインターフェースのアプリケーション識別部分においてアプリケーション識別子を表示するための例示的なプロセスであり、システムレベル検索ユーザーインターフェースのアプリケーション識別部分においてアプリケーション識別子を表示することのさらなる説明が、様々な図を参照して本明細書に含められる。
[0096]プロセス1200で、システムレベル検索UIを使用して検索され得る複数のアプリケーションが識別される(動作1202)。これらの複数のアプリケーションは、前述のように、システムレベル検索UIを使用するように登録しているアプリケーションである。
[0097]複数のアプリケーションのそれぞれに関する格付けが生成される(動作1204)。これらの格付けは、オプションとして、ユーザーによって指定された格付けを使用することを含め、前述のように、様々な異なる方法で生成され得る。これらの格付けは、例えば、前述のように、最高から最低までのアプリケーションの特定のスコアまたは順序付けであり得る。
[0098]システムレベル検索UIにおいて識別されるべき複数のアプリケーションのうちの1つまたは複数が、少なくとも部分的に格付けに基づいて選択される(動作1206)。システムレベル検索UIにおいて識別され得るより多くのアプリケーションが存在する場合、それらのアプリケーションのうちの1つまたは複数が、前述のように、それらのアプリケーションの格付けに基づいて選択される。
[0099]選択された1つまたは複数のアプリケーションの識別子が、システムレベル検索UIの一部として格付けに応じて表示される(動作1208)。アプリケーション識別子がアプリケーションの格付けに応じて表示される方法は、最高の格付け(一番上の)から最低の格付け(一番下の)まで上から下に順にアプリケーション識別子を表示すること、最高の格付け(左の)から最低の格付け(右の)まで左から右に順にアプリケーション識別子を表示することなど、前述のように、実施形態により異なり得る。
[00100]他のユーザーらに関する連絡先情報、映画、ゲーム、書籍、または他の刊行物などの様々な異なるタイプの情報のいずれも、ユーザーによって検索され得ることに留意されたい。さらに、1つまたは複数の実施形態において、システムレベル検索UIに登録するアプリケーションのうちの1つは、コンピューティングデバイス上のアプリケーションにインデックスを付けるアプリケーションまたはモジュールである。例えば、図1のアプリケーション112のうちの1つが、コンピューティングデバイス102上の他のアプリケーション112を検索することが可能なアプリケーションであり得る。このため、ユーザーは、他のアプリケーション112、ならびにそれらのアプリケーション112を介して保持される、またはそれ以外でアクセス可能であるコンテンツを検索することができる。
[00101]本明細書の説明において、ユーザー選択のアプリケーションを起動すること、および選択されたアプリケーションが検索語を検索することについて述べた。選択されたアプリケーションが既に実行されており(例えば、背景で)、このため、起動を必要としない状況が生じ得ることに留意されたい。そのような状況において、システムレベル検索モジュール(例えば、図7のモジュール700)が、検索語を検索する要求を、選択されたアプリケーションに通信する。これに応答して、選択されたアプリケーションが、検索語を検索し、そのアプリケーションの検索結果を表示する。1つまたは複数の実施形態において、アプリケーションは、アプリケーションがシステムレベル検索モジュールに供給する登録情報の一部として、システムレベル検索モジュールが、検索語を検索するようアプリケーションにどのように要求すべきかの指示を含める。例えば、登録情報は、アプリケーションに検索語(および、オプションとして、他のコンテキスト情報)を渡すために呼び出すべきアプリケーションの1つまたは複数のAPIの指示を含み得る。代替として、アプリケーションが実行しはじめる際に、システムレベル検索モジュールが、検索語を検索するようアプリケーションにどのように要求することができるかについて、アプリケーションがシステムレベル検索モジュールに通知することが可能である、システムレベル検索モジュールが、事前確立された通信チャネルを介して、またはアプリケーションとシステムレベル検索モジュールの両方に知られているプロトコルに従って要求を通信することができるなど、他の技術が使用され得る。
[00102]本明細書で説明されるシステムレベル検索UIは、前述のように、ユーザーが、検索語を1回、入力し、その検索語が検索されるべき様々なアプリケーションを選択することを可能にする。個別の各アプリケーションが、そのアプリケーション独自の検索を実行し、検索するためにユーザーによって選択される可能性がある他のアプリケーションについて全く知識を有さなくてもよい(通常、全く知識を有さない)。アプリケーションが検索を実行する方法、および検索を実行する際にアプリケーションによってアクセスされるデータストアは、アプリケーションごとに異なり得る。アプリケーションは、ローカルデータストア(システムレベル検索UIを実施するのと同一のコンピューティングデバイス上に配置されたデータストア)、および/または遠隔データストア(例えば、図1のデバイス104のような別のコンピューティングデバイス上に配置されたデータストア)を検索することができる。
[00103]アプリケーションによって生成された検索結果は、それらの検索結果を生成するアプリケーションによって表示される。それらの検索結果は、通常、図5のウインドウ404、または図6のウインドウ604のような別個のウインドウ内で表示される(しかし、そうでなくてもよい)。このため、各アプリケーションは、そのアプリケーションの検索結果の表示を、そのアプリケーションが所望する任意の様態でカスタマイズすることができる。しかし、検索結果に関するこれらの様々な表示および/または様々なウインドウにもかかわらず、システムレベル検索UIのデータエントリー部分およびアプリケーション識別部分は、同一のままである。システムレベル検索UIは、同一の位置に維持され、外観が検索結果に基づいて変わることはない(ただし、前述のように、データ入力キューおよび候補表示される検索語は、現在アクティブなアプリケーションに基づいて変わり得る)。
[00104]図13は、1つまたは複数の実施形態によるシステムレベル検索ユーザーインターフェースを実施するように構成され得る例示的なコンピューティングデバイス1300を示す。コンピューティングデバイス1300は、例えば、図1のコンピューティングデバイス102または104であり得る。
[00105]コンピューティングデバイス1300は、1つまたは複数のプロセッサーもしくは処理ユニット1302と、1つまたは複数のメモリおよび/またはストレージ構成要素1306を含み得る1つまたは複数のコンピューター可読媒体1304と、1つまたは複数の入出力(I/O)デバイス1308と、様々な構成要素およびデバイスが互いに通信することを可能にするバス1310とを含む。コンピューター可読媒体1304および/あるいは1つまたは複数のI/Oデバイス1308は、コンピューティングデバイス1300の一部として含められることが可能であり、または代替として、コンピューティングデバイス1300に結合されてもよい。バス1310は、様々な異なるバスアーキテクチャを使用する、メモリバスもしくはメモリコントローラー、周辺バス、アクセラレーテッドグラフィックスポート、プロセッサーバスもしくはローカルバスなどを含む、いくつかのタイプのバス構造のうちの1つまたは複数を表す。バス1310は有線バスおよび/ワイヤレスバスを含むことができる。
[00106]メモリ/ストレージ構成要素1306は、1つまたは複数のコンピューター記憶媒体を表す。構成要素1306には、揮発性媒体(ランダムアクセスメモリ(RAM)などの)、および/または不揮発性媒体(読取り専用メモリ(ROM)、フラッシュメモリ、光ディスク、磁気ディスクなどの)が含まれ得る。構成要素1306には、固定媒体(例えば、RAM、ROM、固定ハードドライブなど)、およびリムーバブルメディア(例えば、フラッシュメモリドライブ、リムーバブルハードドライブ、および光ディスクなど)が含まれ得る。
[00107]本明細書で説明される技法は、命令が1つまたは複数の処理ユニット1302によって実行されて、ソフトウェアで実施され得る。様々な命令が、処理ユニット1302の中、処理ユニット1302の様々なキャッシュメモリの中、デバイス1300の他のキャッシュメモリ(図示せず)の中、他のコンピューター可読媒体上などの、コンピューティングデバイス1300の様々な構成要素の中に格納され得ることを認識されたい。さらに、命令がコンピューティングデバイス1300の中で格納されるロケーションは、時とともに変わり得ることを認識されたい。
[00108]1つまたは複数の入出力デバイス1308は、ユーザーがコンピューティングデバイス1300にコマンドおよび情報を入力することを可能にし、情報がユーザーおよび/または他の構成要素もしくはデバイスに提示されることも可能にする。入力デバイスの例には、キーボード、カーソル制御デバイス(例えば、マウス)、マイクロフォン、スキャナなどが含まれる。出力デバイスの例には、ディスプレイデバイス(例えば、モニタまたは映写機)、スピーカー、プリンター、およびネットワークカードなどが含まれる。
[00109]様々な技法が、ソフトウェアモジュールまたはプログラムモジュールの一般的な脈絡において本明細書で説明され得る。概して、ソフトウェアには、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などが含まれる。これらのモジュールおよび技法の実施形態は、何らかの形態のコンピューター可読媒体上に格納可能、またはそのようなコンピューター可読媒体を介して伝送可能である。コンピューター可読媒体は、コンピューティングデバイスによってアクセスされ得る任意の1つまたは複数の利用可能な媒体であり得る。例として、限定としてではなく、コンピューター可読媒体は、「コンピューター記憶媒体」と、「通信媒体」とを備え得る。
[00110]「コンピューター記憶媒体」には、コンピューター可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するために任意の方法または技術で実装される揮発性媒体および不揮発性媒体、リムーバブルメディアおよび非リムーバブルメディアが含まれる。コンピューター記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタルバーサタイルディスク(DVD)もしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または所望される情報を格納するのに使用され得るとともに、コンピューターによってアクセスされ得る他の任意の媒体が含まれるが、以上には限定されない。
[00111]「通信媒体」は、通常、コンピューター可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波などの変調されたデータ信号、または他のトランスポート機構として実現する。また、通信媒体には、任意の情報配信媒体も含まれる。「変調されたデータ信号」という用語は、特性のうちの1つまたは複数が、信号内に情報を符号化するように設定された、または変更された信号を意味する。例として、限定としてではなく、通信媒体には、有線ネットワークまたは直接配線ネットワークなどの有線媒体、ならびに音響媒体、RF媒体、赤外線媒体、およびその他のワイヤレス媒体などのワイヤレス媒体が含まれる。また、以上の媒体のうちの任意の媒体の組合せも、コンピューター可読媒体の範囲に含められる。
[00112]一般に、本明細書で説明される機能または技法のいずれも、ソフトウェア、ファームウェア、ハードウェア(例えば、固定論理回路)、手動の処理、またはこれらの実施形態の組合せを使用して実施され得る。本明細書で使用される「モジュール」および「構成要素」という用語は、一般に、ソフトウェア、ファームウェア、ハードウェア、または以上の組合せを表す。ソフトウェア実施形態の場合、モジュールまたは構成要素は、プロセッサー(例えば、1つまたは複数のCPU)上で実行されると、指定されたタスクを実行するプログラムコードを表す。プログラムコードは、さらなる説明を、図13に関連して見ることができる、1つまたは複数のコンピューター可読メモリデバイスの中に格納され得る。本明細書で説明されるシステムレベル検索ユーザーインターフェース技法の特徴は、プラットフォーム独立であり、つまり、これらの技法は、様々なプロセッサーを有する様々な市販のコンピューティングプラットフォーム上で実施され得ることを意味する。
[00113]主題は、構造上の特徴および/または方法論的な動作に特有の言い回しで説明されてきたが、添付の特許請求の範囲において規定される主題は、前述した特定の特徴にも、そのような動作にも必ずしも限定されないことを理解されたい。むしろ、前述した特定の特徴および動作は、特許請求の範囲を実施する例示的な形態として開示される。

Claims (10)

  1. コンピューティングデバイスが以下の各ステップを実行することによって実施される方法であって、
    データエントリー部分およびアプリケーション識別部分の両方を含むシステムレベル検索ユーザーインターフェースを表示するステップと、
    前記データエントリー部分において、ユーザーデータ入力を検索語として表示するステップと、
    前記アプリケーション識別部分において、前記検索語を使用して検索され得る前記コンピューティングデバイス上の複数のアプリケーションのうちの1つまたは複数のアプリケーションの各アプリケーションの識別子を表示するステップと、
    前記検索語を前記複数のアプリケーションのうちの1つのアプリケーションに、前記1つのアプリケーションが前記検索語に基づいて検索結果を生成し表示するように、供給するステップと
    を含む方法において、
    ユーザーデータ入力が受け取られるまで前記データ入力エントリー部分において、前記複数のアプリケーションのうちの現在アクティブなアプリケーションから受け取られたデータ入力キューを表示するステップをさらに含む、
    方法
  2. コンピューティングデバイスが以下の各ステップを実行することによって実施される方法であって、
    データエントリー部分およびアプリケーション識別部分の両方を含むシステムレベル検索ユーザーインターフェースを表示するステップと、
    前記データエントリー部分において、ユーザーデータ入力を検索語として表示するステップと、
    前記アプリケーション識別部分において、前記検索語を使用して検索され得る前記コンピューティングデバイス上の複数のアプリケーションのうちの1つまたは複数のアプリケーションの各アプリケーションの識別子を表示するステップと、
    前記検索語を前記複数のアプリケーションのうちの1つのアプリケーションに、前記1つのアプリケーションが前記検索語に基づいて検索結果を生成し表示するように、供給するステップと
    を含む方法において、
    前記ユーザーデータ入力の文字を、各文字が受け取られるにつれて、言語的代替案生成モジュールに供給するステップと、
    前記文字に関する1つまたは複数の言語的代替案を受け取るステップと、
    前記ユーザーデータ入力の前記文字および前記1つまたは複数の言語的代替案の両方を、各文字が受け取られるにつれて、前記複数のアプリケーションのうちの現在アクティブなアプリケーションに供給するステップと、
    前記現在アクティブなアプリケーションから、前記ユーザーデータ入力および前記1つまたは複数の言語的代替案に基づいて、1つまたは複数の候補表示される検索語を受け取るステップと、
    前記1つまたは複数の候補表示される検索語を表示するステップとをさらに含む、
    方法。
  3. 前記アプリケーション識別部分において前記1つまたは複数の識別子のうちの1つの識別子のユーザー選択を受け取るステップをさらに含み、
    前記供給するステップは、前記ユーザー選択に応答して、前記検索語を、前記ユーザー選択の識別子によって識別されるアプリケーションに供給するステップを含み、
    前記1つのアプリケーションは、前記ユーザー選択の識別子によって識別されるアプリケーションを含む、
    請求項1又は2に記載の方法。
  4. 前記アプリケーション識別部分において前記1つまたは複数の識別子のうちの第2の識別子のユーザー選択を受け取るステップと、
    前記1つまたは複数の識別子のうちの前記第2の識別子の前記ユーザー選択に応答して、前記検索語を前記1つまたは複数の識別子のうちの前記第2の識別子によって識別されるアプリケーションに、前記1つまたは複数の識別子のうちの前記第2の識別子によって識別されるアプリケーションが前記検索語に基づいて検索結果を生成し表示するように、供給するステップと
    をさらに含む請求項に記載の方法。
  5. 前記ユーザーデータ入力の文字を、各文字が受け取られるにつれて、前記複数のアプリケーションのうちの現在アクティブなアプリケーションに、前記現在アクティブなアプリケーションが、受け取られた前記ユーザーデータ入力の前記文字に基づいて検索結果を生成し表示するように、供給するステップをさらに含む
    請求項1〜4のいずれか一項に記載の方法。
  6. 請求項1〜のいずれか一項に記載の方法を実行するためのプログラム。
  7. 請求項1〜のいずれか一項に記載の方法を実行するためのプログラムを記録した記録媒体。
  8. コンピューティングデバイスであって、
    1つまたは複数のプロセッサーと、
    前記1つまたは複数のプロセッサーによって実行されると、前記1つまたは複数のプロセッサーに、
    ユーザーデータ入力が検索語として表示される第1の部分と、前記検索語を使用して検索され得る前記コンピューティングデバイス上の1つまたは複数のアプリケーションの識別子が表示される第2の部分とを含む検索ユーザーインターフェースを表示させ、
    前記検索語を、前記コンピューティングデバイス上の複数のアプリケーションのうちの1つに、前記アプリケーションが、少なくとも前記検索語に基づいて検索結果を表示するように、供給させ、
    前記アプリケーションが前記検索結果を表示する間、少なくとも前記第1の部分を含む前記検索ユーザーインターフェースの表示を、現在の表示位置に維持させる
    複数の命令を格納している1つまたは複数のコンピューター可読媒体と
    を備えるコンピューティングデバイスにおいて、
    前記複数のアプリケーションのうちの前記1つのアプリケーションは、前記第2の部分において識別される前記1つまたは複数のアプリケーションのうちのユーザー選択のアプリケーションであり、前記複数の命令はさらに、前記1つまたは複数のプロセッサーに、
    前記ユーザーデータ入力の文字を、各文字が受け取られるにつれて、前記複数のアプリケーションのうちの現在アクティブなアプリケーションに供給させ、
    前記現在アクティブなアプリケーションから、1つまたは複数の候補表示される検索語を受け取らせ、
    前記1つまたは複数の候補表示される検索語を、前記第2の部分において前記1つまたは複数のアプリケーションの前記識別子の前記表示と一緒に表示させる、
    コンピューティングデバイス。
  9. コンピューティングデバイスであって、
    1つまたは複数のプロセッサーと、
    前記1つまたは複数のプロセッサーによって実行されると、前記1つまたは複数のプロセッサーに、
    ユーザーデータ入力が検索語として表示される第1の部分と、前記検索語を使用して検索され得る前記コンピューティングデバイス上の1つまたは複数のアプリケーションの識別子が表示される第2の部分とを含む検索ユーザーインターフェースを表示させ、
    前記検索語を、前記コンピューティングデバイス上の複数のアプリケーションのうちの1つに、前記アプリケーションが、少なくとも前記検索語に基づいて検索結果を表示するように、供給させ、
    前記アプリケーションが前記検索結果を表示する間、少なくとも前記第1の部分を含む前記検索ユーザーインターフェースの表示を、現在の表示位置に維持させる
    複数の命令を格納している1つまたは複数のコンピューター可読媒体と
    を備えるコンピューティングデバイスにおいて、
    前記複数のアプリケーションのうちの前記1つのアプリケーションは、前記第2の部分において識別される前記1つまたは複数のアプリケーションのうちのユーザー選択のアプリケーションであり、前記複数の命令はさらに、前記1つまたは複数のプロセッサーに、
    前記ユーザーデータ入力の文字を、各文字が受け取られるにつれて、言語的代替案生成モジュールに供給させ、
    前記文字に関する1つまたは複数の言語的代替案を受け取らせ、
    前記ユーザーデータ入力の前記文字および前記1つまたは複数の言語的代替案の両方を、各文字が受け取られるにつれて、前記複数のアプリケーションのうちの現在アクティブなアプリケーションに供給させ、
    前記現在アクティブなアプリケーションから、前記ユーザーデータ入力および前記1つまたは複数の言語的代替案に基づいて、1つまたは複数の候補表示される検索語を受け取らせ、さらに
    前記1つまたは複数の候補表示される検索語を表示させる
    ンピューティングデバイス。
  10. 前記1つまたは複数のアプリケーションの各アプリケーションに関して、前記アプリケーションの前記識別子は、前記アプリケーションの名前と前記アプリケーションを表すアイコンのうちの一方か、または両方を含む請求項8又は9に記載のコンピューティングデバイス。
JP2013539885A 2010-11-16 2011-11-07 システムレベル検索ユーザーインターフェース Active JP5903107B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/947,292 2010-11-16
US12/947,292 US20120124072A1 (en) 2010-11-16 2010-11-16 System level search user interface
PCT/US2011/059516 WO2012067869A1 (en) 2010-11-16 2011-11-07 System level search user interface

Publications (3)

Publication Number Publication Date
JP2013543196A JP2013543196A (ja) 2013-11-28
JP2013543196A5 JP2013543196A5 (ja) 2014-11-20
JP5903107B2 true JP5903107B2 (ja) 2016-04-13

Family

ID=45960501

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013539885A Active JP5903107B2 (ja) 2010-11-16 2011-11-07 システムレベル検索ユーザーインターフェース

Country Status (9)

Country Link
US (2) US20120124072A1 (ja)
EP (1) EP2641194A4 (ja)
JP (1) JP5903107B2 (ja)
KR (1) KR20130132810A (ja)
CN (1) CN102426511A (ja)
AU (1) AU2011329317A1 (ja)
CA (1) CA2816307A1 (ja)
TW (1) TW201229873A (ja)
WO (1) WO2012067869A1 (ja)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10073927B2 (en) 2010-11-16 2018-09-11 Microsoft Technology Licensing, Llc Registration for system level search user interface
US10346479B2 (en) 2010-11-16 2019-07-09 Microsoft Technology Licensing, Llc Facilitating interaction with system level search user interface
US20120124072A1 (en) 2010-11-16 2012-05-17 Microsoft Corporation System level search user interface
US8515984B2 (en) 2010-11-16 2013-08-20 Microsoft Corporation Extensible search term suggestion engine
JP5237353B2 (ja) * 2010-12-09 2013-07-17 楽天株式会社 検索装置、検索システム、検索方法、検索プログラム、及び検索プログラムを記憶するコンピュータ読取可能な記録媒体
US20130060754A1 (en) * 2011-09-01 2013-03-07 International Business Machines Corporation Feature Search Request Management
EP2584771A1 (en) * 2011-10-17 2013-04-24 Research In Motion Limited Methods and apparatus for searching a message store
CN102722315A (zh) * 2012-05-10 2012-10-10 奇智软件(北京)有限公司 一种用于移动终端的提示框展示方法和装置
CN102857629A (zh) * 2012-07-12 2013-01-02 广东欧珀移动通信有限公司 一种手机桌面搜索框的呼出方法
US20140189572A1 (en) * 2012-12-31 2014-07-03 Motorola Mobility Llc Ranking and Display of Results from Applications and Services with Integrated Feedback
KR102052651B1 (ko) * 2013-04-30 2019-12-05 삼성전자주식회사 데이터 접근 제어 방법 및 그 전자 장치
US11263221B2 (en) * 2013-05-29 2022-03-01 Microsoft Technology Licensing, Llc Search result contexts for application launch
US10430418B2 (en) 2013-05-29 2019-10-01 Microsoft Technology Licensing, Llc Context-based actions from a source application
CN104424244B (zh) * 2013-08-27 2019-09-27 卓易畅想(北京)科技有限公司 一种获取搜索结果的方法、装置与设备
CN103648047A (zh) * 2013-12-23 2014-03-19 乐视网信息技术(北京)股份有限公司 智能电视资源搜索方法及系统
CN105095231A (zh) * 2014-04-29 2015-11-25 阿里巴巴集团控股有限公司 一种呈现搜索结果的方法和装置
JP6353269B2 (ja) * 2014-05-12 2018-07-04 株式会社 ミックウェア 情報処理装置、情報処理方法、およびプログラム
CN104182521B (zh) * 2014-08-25 2018-05-04 北京奇虎科技有限公司 信息搜索方法、装置及电子设备
US20160092045A1 (en) 2014-09-30 2016-03-31 Splunk, Inc. Event View Selector
US10235460B2 (en) 2014-09-30 2019-03-19 Splunk Inc. Sharing configuration information for searches in data intake and query systems
US9922099B2 (en) 2014-09-30 2018-03-20 Splunk Inc. Event limited field picker
US9990423B2 (en) 2014-09-30 2018-06-05 Splunk Inc. Hybrid cluster-based data intake and query
US20160098463A1 (en) 2014-10-05 2016-04-07 Splunk Inc. Event Segment Search Drill Down
US11231840B1 (en) 2014-10-05 2022-01-25 Splunk Inc. Statistics chart row mode drill down
US11544248B2 (en) 2015-01-30 2023-01-03 Splunk Inc. Selective query loading across query interfaces
US10915583B2 (en) 2015-01-30 2021-02-09 Splunk Inc. Suggested field extraction
US9977803B2 (en) 2015-01-30 2018-05-22 Splunk Inc. Column-based table manipulation of event data
US9916346B2 (en) 2015-01-30 2018-03-13 Splunk Inc. Interactive command entry list
US11615073B2 (en) 2015-01-30 2023-03-28 Splunk Inc. Supplementing events displayed in a table format
US9922082B2 (en) 2015-01-30 2018-03-20 Splunk Inc. Enforcing dependency between pipelines
US9842160B2 (en) 2015-01-30 2017-12-12 Splunk, Inc. Defining fields from particular occurences of field labels in events
US10061824B2 (en) 2015-01-30 2018-08-28 Splunk Inc. Cell-based table manipulation of event data
US11442924B2 (en) 2015-01-30 2022-09-13 Splunk Inc. Selective filtered summary graph
US9922084B2 (en) 2015-01-30 2018-03-20 Splunk Inc. Events sets in a visually distinct display format
US10013454B2 (en) 2015-01-30 2018-07-03 Splunk Inc. Text-based table manipulation of event data
US10726037B2 (en) 2015-01-30 2020-07-28 Splunk Inc. Automatic field extraction from filed values
US10572449B2 (en) 2015-03-02 2020-02-25 Walmart Apollo, Llc Systems, devices, and methods for software discovery using application ID tags
EP3283976A1 (en) 2015-04-16 2018-02-21 Google LLC Native application search result adjustment based on user specific affinity
CN104951183B (zh) * 2015-06-05 2019-01-15 努比亚技术有限公司 功能定位方法及电子设备
US9854030B2 (en) * 2015-06-11 2017-12-26 Airwatch Llc Searching content associated with multiple applications
CN106445955B (zh) * 2015-08-10 2020-03-17 中兴通讯股份有限公司 信息查询方法、装置及终端
US10104051B2 (en) 2015-10-27 2018-10-16 Airwatch Llc Searching content associated with multiple applications
CN105488112B (zh) 2015-11-20 2019-09-17 小米科技有限责任公司 信息推送方法及装置
US11829428B2 (en) * 2016-07-06 2023-11-28 Vimio Co. Ltd App name search method and system
US10699064B2 (en) 2017-04-27 2020-06-30 Microsoft Technology Licensing, Llc Text input cockpit
CN107729160B (zh) * 2017-09-29 2021-08-03 努比亚技术有限公司 应用控制方法、移动终端和计算机可读存储介质
CN109308338B (zh) * 2018-08-09 2021-06-18 上海连尚网络科技有限公司 一种搜索应用程序内信息、显示的方法及设备
CN111367440A (zh) * 2018-12-26 2020-07-03 北京奇虎科技有限公司 任务栏搜索方法及装置
CN109656448A (zh) * 2018-12-28 2019-04-19 北京金山安全软件有限公司 第三方软件管理方法及装置
CN110083737A (zh) * 2019-03-20 2019-08-02 维沃移动通信有限公司 一种搜索方法及终端设备
CN110908754A (zh) * 2019-11-06 2020-03-24 维沃移动通信有限公司 一种图像显示方法及电子设备
WO2022066692A1 (en) * 2020-09-22 2022-03-31 VIDAA USA, Inc. Display apparatus

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01152527A (ja) * 1987-12-10 1989-06-15 Oki Electric Ind Co Ltd データ検索装置の検索データ入力方法
AU757550B2 (en) * 1998-03-03 2003-02-27 Amazon.Com, Inc. Identifying the items most relevant to a current query based on items selected in connection with similar queries
US6847959B1 (en) 2000-01-05 2005-01-25 Apple Computer, Inc. Universal interface for retrieval of information in a computer system
TW495716B (en) 2000-01-21 2002-07-21 Dream Technologies Corp Control device and method for starting computer application software and multi-monitor computer, client-server system, and memory media thereof
US6708162B1 (en) 2000-05-08 2004-03-16 Microsoft Corporation Method and system for unifying search strategy and sharing search output data across multiple program modules
KR20010106590A (ko) * 2000-05-22 2001-12-07 함광선 통신상의 웹사이트 통합 검색방법 및 이 방법을수행하도록 프로그램된 소프트웨어가 저장된 매체
US7451136B2 (en) 2000-10-11 2008-11-11 Microsoft Corporation System and method for searching multiple disparate search engines
US7379965B2 (en) 2001-03-02 2008-05-27 Oracle International Corporation System and method for searching data partially displayed on a user interface
US7119794B2 (en) * 2003-04-30 2006-10-10 Microsoft Corporation Character and text unit input correction system
US20050149496A1 (en) 2003-12-22 2005-07-07 Verity, Inc. System and method for dynamic context-sensitive federated search of multiple information repositories
US20050160107A1 (en) 2003-12-29 2005-07-21 Ping Liang Advanced search, file system, and intelligent assistant agent
US7890526B1 (en) 2003-12-30 2011-02-15 Microsoft Corporation Incremental query refinement
KR100621194B1 (ko) * 2004-02-19 2006-09-13 (주)케이티에프테크놀로지스 사용자 단말기내의 저장 정보 검색 방법 및 그 방법을이용하는 사용자 단말기
US7272601B1 (en) * 2004-03-31 2007-09-18 Google Inc. Systems and methods for associating a keyword with a user interface area
US20060200827A1 (en) 2005-02-18 2006-09-07 Sidlosky Jeffrey A J Methods and systems providing desktop search capability to software application
US7428529B2 (en) 2004-04-15 2008-09-23 Microsoft Corporation Term suggestion for multi-sense query
US7428530B2 (en) * 2004-07-01 2008-09-23 Microsoft Corporation Dispersing search engine results by using page category information
US8078602B2 (en) 2004-12-17 2011-12-13 Claria Innovations, Llc Search engine for a computer network
US8677274B2 (en) * 2004-11-10 2014-03-18 Apple Inc. Highlighting items for search results
US7499940B1 (en) 2004-11-11 2009-03-03 Google Inc. Method and system for URL autocompletion using ranked results
US20060136389A1 (en) 2004-12-22 2006-06-22 Cover Clay H System and method for invocation of streaming application
US7461059B2 (en) 2005-02-23 2008-12-02 Microsoft Corporation Dynamically updated search results based upon continuously-evolving search query that is based at least in part upon phrase suggestion, search engine uses previous result sets performing additional search tasks
US7340686B2 (en) 2005-03-22 2008-03-04 Microsoft Corporation Operating system program launch menu search
US7840589B1 (en) 2005-05-09 2010-11-23 Surfwax, Inc. Systems and methods for using lexically-related query elements within a dynamic object for semantic search refinement and navigation
US8060487B2 (en) 2005-08-01 2011-11-15 Sap Ag Searching for and launching data files not associated with an application
US7440948B2 (en) * 2005-09-20 2008-10-21 Novell, Inc. System and method of associating objects in search results
US7752220B2 (en) 2005-08-10 2010-07-06 Yahoo! Inc. Alternative search query processing in a term bidding system
US7672932B2 (en) 2005-08-24 2010-03-02 Yahoo! Inc. Speculative search result based on a not-yet-submitted search query
US8627222B2 (en) 2005-09-12 2014-01-07 Microsoft Corporation Expanded search and find user interface
KR20070034313A (ko) 2005-09-23 2007-03-28 주식회사 엘지텔레콤 모바일 검색 서버 및 상기 검색 서버의 동작 방법
KR100643801B1 (ko) 2005-10-26 2006-11-10 엔에이치엔(주) 복수의 언어를 연동하는 자동완성 추천어 제공 시스템 및방법
KR100737521B1 (ko) 2005-11-24 2007-07-10 한국전자통신연구원 어플리케이션 상태 정보 수집 및 복원 방법 및 시스템
US7680763B2 (en) * 2005-12-21 2010-03-16 International Business Machines Corporation Administration of resources in system-wide search systems
US8010523B2 (en) 2005-12-30 2011-08-30 Google Inc. Dynamic search box for web browser
JP2007200243A (ja) * 2006-01-30 2007-08-09 Kyocera Corp 携帯端末装置、携帯端末装置の制御方法及びプログラム
US20070219954A1 (en) * 2006-03-15 2007-09-20 Microsoft Corporation Refined Search User Interface
US20070244862A1 (en) 2006-04-13 2007-10-18 Randy Adams Systems and methods for ranking vertical domains
KR100785755B1 (ko) * 2006-05-17 2007-12-18 엔에이치엔(주) 초성 자동완성 및 그에 따른 검색 결과 제공 방법 및시스템
US20120130814A1 (en) * 2007-11-14 2012-05-24 Paul Vincent Hayes System and method for search engine result ranking
US9298721B2 (en) * 2007-02-28 2016-03-29 Qualcomm Incorporated Prioritized search results based on monitored data
US8352881B2 (en) 2007-03-08 2013-01-08 International Business Machines Corporation Method, apparatus and program storage device for providing customizable, immediate and radiating menus for accessing applications and actions
US8290986B2 (en) * 2007-06-27 2012-10-16 Yahoo! Inc. Determining quality measures for web objects based on searcher behavior
US8027964B2 (en) 2007-07-13 2011-09-27 Medio Systems, Inc. Personalized query completion suggestion
US20090043741A1 (en) * 2007-08-09 2009-02-12 Dohyung Kim Autocompletion and Automatic Input Method Correction for Partially Entered Search Query
JP5184008B2 (ja) * 2007-09-03 2013-04-17 ソニーモバイルコミュニケーションズ, エービー 情報処理装置および携帯電話端末
US8595252B2 (en) 2007-09-14 2013-11-26 Google Inc. Suggesting alternative queries in query results
US20090089396A1 (en) 2007-09-27 2009-04-02 Yuxi Sun Integrated Method of Enabling a Script-Embedded Web Browser to Interact with Drive-Based Contents
US8583670B2 (en) 2007-10-04 2013-11-12 Microsoft Corporation Query suggestions for no result web searches
US8176068B2 (en) 2007-10-31 2012-05-08 Samsung Electronics Co., Ltd. Method and system for suggesting search queries on electronic devices
US7984004B2 (en) 2008-01-17 2011-07-19 Microsoft Corporation Query suggestion generation
US8219572B2 (en) 2008-08-29 2012-07-10 Oracle International Corporation System and method for searching enterprise application data
KR101570116B1 (ko) * 2008-09-09 2015-11-19 삼성전자주식회사 터치스크린을 이용한 컨텐츠 탐색 및 실행방법과 이를 이용한 장치
US20100082649A1 (en) 2008-09-22 2010-04-01 Microsoft Corporation Automatic search suggestions from server-side user history
US9015616B2 (en) * 2008-10-22 2015-04-21 Google Inc. Search initiation
KR101023911B1 (ko) * 2008-11-12 2011-03-22 엔에이치엔(주) 추천 질의어 제공 방법 및 시스템
US8126885B2 (en) * 2008-12-19 2012-02-28 Hewlett-Packard Development Company, L.P. History based search service operable with multiple applications and services
US20100185644A1 (en) 2009-01-21 2010-07-22 Microsoft Corporatoin Automatic search suggestions from client-side, browser, history cache
US8589374B2 (en) 2009-03-16 2013-11-19 Apple Inc. Multifunction device with integrated search and application selection
CN101539836A (zh) 2009-04-30 2009-09-23 广东国笔科技股份有限公司 一种人机界面交互系统和方法
CN101782833B (zh) 2009-04-30 2012-05-23 广东国笔科技股份有限公司 一种智能操作系统及方法
US20100306191A1 (en) * 2009-05-27 2010-12-02 Lebeau Michael J Computer Application Data In Search Results
US8103667B2 (en) * 2009-05-28 2012-01-24 Microsoft Corporation Ranking results of multiple intent queries
US9129012B2 (en) 2010-02-03 2015-09-08 Google Inc. Information search system with real-time feedback
US8515979B2 (en) 2010-06-18 2013-08-20 Verizon Patent And Licensing, Inc. Cross application execution service
CN102298582B (zh) 2010-06-23 2016-09-21 商业对象软件有限公司 数据搜索和匹配方法和系统
CN101984395A (zh) 2010-10-20 2011-03-09 广东国笔科技股份有限公司 一种基于pc的智能操作系统及方法
BR112013009616B1 (pt) * 2010-10-21 2020-12-15 Qualcomm Incorporated. Método implementado por computador para iniciar uma ação em um dispositivo de computação móvel responsivo a receber dados de texto de pesquisa e meio de armazenagem lido por computador
US8515984B2 (en) 2010-11-16 2013-08-20 Microsoft Corporation Extensible search term suggestion engine
US10073927B2 (en) 2010-11-16 2018-09-11 Microsoft Technology Licensing, Llc Registration for system level search user interface
US20120124072A1 (en) 2010-11-16 2012-05-17 Microsoft Corporation System level search user interface
US10346479B2 (en) 2010-11-16 2019-07-09 Microsoft Technology Licensing, Llc Facilitating interaction with system level search user interface

Also Published As

Publication number Publication date
US20130198220A1 (en) 2013-08-01
TW201229873A (en) 2012-07-16
CA2816307A1 (en) 2012-05-24
CN102426511A (zh) 2012-04-25
EP2641194A4 (en) 2015-06-24
EP2641194A1 (en) 2013-09-25
JP2013543196A (ja) 2013-11-28
AU2011329317A1 (en) 2013-05-23
WO2012067869A1 (en) 2012-05-24
US20120124072A1 (en) 2012-05-17
KR20130132810A (ko) 2013-12-05
US9037565B2 (en) 2015-05-19

Similar Documents

Publication Publication Date Title
JP5903107B2 (ja) システムレベル検索ユーザーインターフェース
US11921788B2 (en) Registration for system level search user interface
JP6141280B2 (ja) システムレベル検索ユーザインタフェースを用いた対話の促進
US10529326B2 (en) Suggesting intent frame(s) for user request(s)
US8515984B2 (en) Extensible search term suggestion engine

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141003

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141003

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150525

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160122

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160311

R150 Certificate of patent or registration of utility model

Ref document number: 5903107

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250