(57)【特許請求の範囲】
【請求項１】
コンピュータにより実施される方法であって、
少なくとも１つのプロセッサが、クライアント・アプリケーションから、地理的領域および検索語を含むロケーション・ベースの要求を受信する工程と、
前記少なくとも１つのプロセッサが、受信したロケーション・ベースの要求をロケーション・タイプのカテゴリにマッピングする工程と、
前記少なくとも１つのプロセッサが、マッピングしたロケーション・タイプのカテゴリに従って該地理的領域をカバーする複数のタイルを決定する工程であって、該複数のタイルの各タイルは、ロケーション・タイプのカテゴリに固有であり、該地理的領域の一部分をカバーし、一組のロケーションを含む、前記複数のタイルを決定する工程と、
前記少なくとも１つのプロセッサが、前記一組のロケーションのうちの第１の部分のロケーションに、前記検索語に関連しているとしてフラグを付け、前記一組のロケーションのうちの第２の部分のロケーションに、前記検索語に関連してないとしてフラグを付ける工程と、
前記少なくとも１つのプロセッサが、前記第１の部分のロケーションおよび前記第２の部分のロケーションを含む該複数のタイルを該クライアント・アプリケーションに送信する工程と、を備える方法。
【請求項２】
前記ロケーション・ベースの要求は、モバイル・デバイス上の前記クライアント・アプリケーションから受信され、
前記地理的領域は、該モバイル・デバイスの現在のロケーションを含み、
送信された前記複数のタイルは、
受信した複数組のロケーションに対する該モバイル・デバイスの現在のロケーションの表示を含むマップ上のオーバレイとして該モバイル・デバイス上に表示される、請求項１に記載の方法。
【請求項３】
前記ロケーション・ベースの要求は、ズーム・レベルを指定し、
前記複数のタイルの各タイルは、ズーム・レベルの範囲に関連付けられ、
前記方法は、
指定されたズーム・レベルを、前記複数のタイルの各々に関連付けられたズーム・レベルの範囲にマッチングすることによって前記複数のタイルを決定する工程を更に備える、請求項１に記載の方法。
【請求項４】
前記複数のタイルは、第１のタイルを含み、
該第１のタイルは、第１の地理的領域をカバーし、
該第１のタイルは、該第１の地理的領域内の第１の組のロケーションを含み、
該第１の組のロケーションは、ロケーションの組全体の中の選択される第１の組のロケーションの相対的重要度に従って、該ロケーションの組全体から選択される、請求項１に記載の方法。
【請求項５】
前記複数のタイルは、第１のタイルおよび第２のタイルを含み、
該第１のタイルは、第１の地理的領域をカバーし、
該第２のタイルは、該第１の地理的領域と別個の第２の地理的領域をカバーし、
該第１の地理的領域は、該第２の地理的領域よりも大きい、請求項１に記載の方法。
【請求項６】
前記第１の地理的領域がより低い密度の関連ロケーションを含むという判断に応答して、前記第１の地理的領域は、前記第２の地理的領域よりも大きいものとして構築される、請求項５に記載の方法。
【請求項７】
前記少なくとも１つのプロセッサが、互いに別個の隣接する地理的領域をカバーするかまたは互いに異なるズーム・レベルで前記地理的領域の少なくとも一部分をカバーする、前記ロケーション・ベースの要求に関係する第２の複数のタイルを決定する工程と、
前記少なくとも１つのプロセッサが、該第２の複数のタイルを要求するように前記クライアント・アプリケーションに命令する工程と、
前記少なくとも１つのプロセッサが、該第２の複数のタイルの要求を前記クライアント・アプリケーションから受信する工程と、
前記少なくとも１つのプロセッサが、該第２の複数のタイルを前記クライアント・アプリケーションに送信する工程と、を備える請求項１に記載の方法。
【請求項８】
前記少なくとも１つのプロセッサが、前記クライアント・アプリケーションから第２のロケーション・ベースの要求を受信する工程であって、該第２のロケーション・ベースの要求は、第２の地理的領域を含み、該第２のロケーション・ベースの要求は、以前のロケーション・ベースの要求としてタグ付けされた前記ロケーション・ベースの要求および地理的領域を含み、該第２の地理的領域は、該以前のロケーション・ベースの要求からの該地理的領域と重複する、前記第２のロケーション・ベースの要求を受信する工程と、
前記少なくとも１つのプロセッサが、残りの領域をカバーするとともに該以前のロケーション・ベースの要求からの該地理的領域をカバーするのに用いられるタイルが除かれている第２の複数のタイルを決定する工程と、
前記少なくとも１つのプロセッサが、該第２の複数のタイルを前記クライアント・アプリケーションに送信する工程と、を備える請求項１に記載の方法。
【請求項９】
装置であって、
デバイス上のプロセッサ回路と、
該プロセッサ回路上で、クライアント・アプリケーションから、地理的領域および検索語を含むロケーション・ベースの要求を受信し、複数のタイルを該クライアント・アプリケーションに送信するように動作可能な通信コンポーネントと、
タイル・コンポーネントであって、
受信したロケーション・ベースの要求をロケーション・タイプのカテゴリにマッピングすること、
マッピングしたロケーション・タイプのカテゴリに従って該複数のタイルを、該地理的領域をカバーする一組のタイルとして決定することであって、該複数のタイルの各タイルはロケーション・タイプのカテゴリに固有であり、該地理的領域の一部をカバーし、一組のロケーションを含む、前記決定すること、
前記一組のロケーションのうちの第１の部分のロケーションに、前記検索語に関連しているとしてフラグを付け、前記一組のロケーションのうちの第２の部分のロケーションに、前記検索語に関連してないとしてフラグを付けること、を前記プロセッサ回路上で動作可能である前記タイル・コンポーネントと、を備え、
送信される前記複数のタイルは、前記第１の部分のロケーションおよび前記第２の部分のロケーションを含む、装置。
【請求項１０】
前記ロケーション・ベースの要求は、ズーム・レベルを指定し、
前記複数のタイルの各タイルは、ズーム・レベルの範囲に関連付けられ、
前記タイル・コンポーネントは、指定されたズーム・レベルを、前記複数のタイルの各々に関連付けられたズーム・レベルの範囲にマッチングすることによって前記複数のタイルを決定するように動作可能である、請求項９に記載の装置。
【請求項１１】
前記複数のタイルは、第１のタイルを含み、
該第１のタイルは、第１の地理的領域をカバーし、
該第１のタイルは、該第１の地理的領域内の第１の組のロケーションを含み、
該第１の組のロケーションは、ロケーションの組全体の中の選択される第１の組のロケーションの相対的重要度に従って、該ロケーションの組全体から選択される、請求項９に記載の装置。
【請求項１２】
前記複数のタイルは、第１のタイルおよび第２のタイルを含み、
該第１のタイルは、第１の地理的領域をカバーし、
該第２のタイルは、該第１の地理的領域と別個の第２の地理的領域をカバーし、
該第１の地理的領域は、該第２の地理的領域よりも大きい、請求項９に記載の装置。
【請求項１３】
互いに別個の隣接する地理的領域をカバーするかまたは互いに異なるズーム・レベルで前記地理的領域の少なくとも一部分をカバーする、前記ロケーション・ベースの要求に関係する第２の複数のタイルを決定するように動作可能な前記タイル・コンポーネントと、
該第２の複数のタイルを要求するように前記クライアント・アプリケーションに命令し、該第２の複数のタイルの要求を前記クライアント・アプリケーションから受信し、該第２の複数のタイルを前記クライアント・アプリケーションに送信するように動作可能な前記通信コンポーネントと、を備える請求項９に記載の装置。
【請求項１４】
前記クライアント・アプリケーションから第２のロケーション・ベースの要求を受信し、第２の複数のタイルを前記クライアント・アプリケーションに送信するように動作可能な前記通信コンポーネントであって、前記第２のロケーション・ベースの要求は、第２の地理的領域を含み、前記第２のロケーション・ベースの要求は、以前のロケーション・ベースの要求としてタグ付けされた前記ロケーション・ベースの要求および地理的領域を含み、該第２の地理的領域は、該以前のロケーション・ベースの要求からの該地理的領域と重複する、前記通信コンポーネントと、
残りの領域をカバーするとともに該以前のロケーション・ベースの要求からの該地理的領域をカバーするのに用いられるタイルが除かれている該第２の複数のタイルを決定するように動作可能な第２のタイル・コンポーネントと、を備える請求項９に記載の装置。
【請求項１５】
命令を含む少なくとも１つの非一時的なコンピュータ可読記録媒体であって、
該命令は、実行されると、システムに、
クライアント・アプリケーションから、地理的領域、検索語およびズーム・レベルを含むロケーション・ベースの要求を受信すること、
受信したロケーション・ベースの要求をロケーション・タイプのカテゴリにマッピングすること、
マッピングしたロケーション・タイプのカテゴリに従って該地理的領域をカバーする複数のタイルを決定することであって、該複数のタイルの各タイルは、ロケーション・タイプのカテゴリに固有であり、該地理的領域の一部分をカバーし、該ズーム・レベルを含むズーム・レベル範囲に関連付けられ、一組のロケーションを含む、前記決定すること、
前記一組のロケーションのうちの第１の部分のロケーションに、前記検索語に関連しているとしてフラグを付け、前記一組のロケーションのうちの第２の部分のロケーションに、前記検索語に関連してないとしてフラグを付けること、
前記第１の部分のロケーションおよび前記第２の部分のロケーションを含む該複数のタイルを該クライアント・アプリケーションに送信すること、を実行させる、少なくとも１つの非一時的なコンピュータ可読記録媒体。
【請求項１６】
前記複数のタイルは、第１のタイルを含み、
該第１のタイルは、第１の地理的領域をカバーし、
該第１のタイルは、該第１の地理的領域内の第１の組のロケーションを含み、
該第１の組のロケーションは、ロケーションの組全体の中の選択される第１の組のロケーションの相対的重要度に従って、該ロケーションの組全体から選択される、請求項１５に記載の少なくとも１つの非一時的なコンピュータ可読記録媒体。
【請求項１７】
前記複数のタイルは、第１のタイルおよび第２のタイルを含み、
該第１のタイルは、第１の地理的領域をカバーし、
該第２のタイルは、該第１の地理的領域と別個の第２の地理的領域をカバーし、
該第１の地理的領域は、該第２の地理的領域よりも大きい、請求項１５に記載の少なくとも１つの非一時的なコンピュータ可読記録媒体。
【請求項１８】
前記コンピュータ可読記録媒体は、更なる命令を含み、
該命令は、実行されると、システムに、
互いに別個の隣接する地理的領域をカバーするかまたは互いに異なるズーム・レベルで前記地理的領域の少なくとも一部分をカバーする、前記ロケーション・ベースの要求に関係する第２の複数のタイルを決定すること、
該第２の複数のタイルを要求するように前記クライアント・アプリケーションに命令すること、
該第２の複数のタイルの要求を前記クライアント・アプリケーションから受信すること、
該第２の複数のタイルを前記クライアント・アプリケーションに送信すること、を実行させる、請求項１５に記載の少なくとも１つの非一時的なコンピュータ可読記録媒体。
【請求項１９】
前記コンピュータ可読記録媒体は、更なる命令を含み、
該命令は、実行されると、システムに、
前記クライアント・アプリケーションから第２のロケーション・ベースの要求を受信することであって、該第２のロケーション・ベースの要求は、第２の地理的領域および前記ズーム・レベルを含み、該第２のロケーション・ベースの要求は、以前のロケーション・ベースの要求としてタグ付けされた前記ロケーション・ベースの要求、地理的領域およびズーム・レベルを含み、該第２の地理的領域は、該以前のロケーション・ベースの要求からの該地理的領域と重複する、前記受信すること、
前記ズーム・レベルにおいて、残りの領域をカバーするとともに該以前のロケーション・ベースの要求からの該地理的領域をカバーするのに用いられるタイルが除かれている第２の複数のタイルを決定すること、
該第２の複数のタイルを前記クライアント・アプリケーションに送信すること、を実行させる、請求項１５に記載の少なくとも１つの非一時的なコンピュータ可読記録媒体。
【発明の詳細な説明】
【発明の概要】
【課題を解決するための手段】
【０００１】
以下は、本明細書に記載されるいくつかの新規の実施形態の基本的な理解を提供するために、簡単な概要を提示する。この概要は、包括的な概観ではなく、本発明の主要／重要要素を特定することも、本発明の範囲を画定することも意図していない。この概要の唯一の目的は、後に提示されるより詳細な説明への前置きとして、いくつかの概念を簡単な形態で提示することである。
【０００２】
様々な実施形態は、包括的には、ロケーション・ベースの情報をサーバ制御によりタイリングするための技法を対象とする。いくつかの実施形態は、ロケーション・ベースの検索要求に応答して送達されるロケーション・ベースの情報をサーバ制御によりタイリングする技法を特に対象とする。１つの実施形態では、例えば、装置は通信コンポーネントおよびタイル・コンポーネントを備え得る。通信コンポーネントは、クライアント・アプリケーションから、地理的領域を含むロケーション・ベースの検索要求を受信し、複数のタイルをクライアント・アプリケーションに送信するように動作可能であり得る。タイル・コンポーネントは、複数のタイルを、地理的領域をカバーする一組のタイルとして決定するように動作可能であり得る。複数のタイルの各タイルは地理的領域の一部分をカバーし、一組のロケーションを含む。他の実施形態も記載され、特許請求される。
【０００３】
上記を達成するために、および関連する目的のために、ある特定の例示的な態様が、以下の説明および添付の図面に関連して本明細書において記載される。これらの態様は、本明細書において開示される原理を実行することができる様々な方法を示し、全ての態様およびその均等物が、特許請求される主題の範囲内にあることが意図される。他の利点および新規の特徴は、以下の詳細な説明を図面と併せて検討することにより明らかとなるであろう。
【図面の簡単な説明】
【０００４】
【図１】ロケーション・ベースの情報をサーバ制御によりタイリングするためのシステムの１実施形態を示す図。
【図２】図１のシステムのための動作環境の１実施形態を示す図。
【図３】図１のシステムから受信したタイルを表示するデバイスの１実施形態を示す図。
【図４】図１のシステムから受信した変更されたタイルを表示するデバイスの１実施形態を示す図。
【図５】図１のシステムの、より高いズーム・レベルにおけるタイルの１実施形態を示す図。
【図６】図１のシステムの検索領域に重ねるためのタイルの１実施形態を示す図。
【図７】図１のシステムのための集中型システムの１実施形態を示す図。
【図８】図１のシステムのための分散システムの１実施形態を示す図。
【図９】図１のシステムのための論理フローの１実施形態を示す図。
【図１０】コンピューティング・アーキテクチャの１実施形態を示す図。
【図１１】通信アーキテクチャの１実施形態を示す図。
【発明を実施するための形態】
【０００５】
（特定の実施形態の概要）
本発明による実施形態は、特に、方法、記録媒体およびシステムを対象とする添付の特許請求の範囲において開示される。１つの特許カテゴリ、例えば方法において言及される任意の特徴は、別の特許カテゴリ、例えばシステムにおいても特許請求され得る。添付の特許請求の範囲における従属関係または参照は形式的理由のみで選択される。しかしながら、（特に多重従属において）任意の先行する請求項を注意深く参照した結果得られる任意の主題も同様に特許請求され得る。したがって、添付の特許請求の範囲において選択される従属関係にかかわらず、請求項およびその特徴部の任意の組合せが開示され、特許請求され得る。
【０００６】
本発明による１実施形態において、コンピュータにより実施される方法が、
クライアント・アプリケーションから、地理的領域と、オプションで、地理的領域を検索することに関係する追加データとを含む、ロケーション・ベースの要求を受信する工程と、
好ましくは地理的領域を検索することに関係する追加データを用いることによって、地理的領域をカバーする複数のタイルを決定する工程であって、複数のタイルの各タイルは地理的領域の一部分をカバーし、一組のロケーションを含む、工程と、
複数のタイルをクライアント・アプリケーションに送信する工程と、
からなる。
【０００７】
同様に特許請求され得る本発明による更なる実施形態では、コンピュータにより実施される方法は、
クライアント・アプリケーションから、地理的領域を含むロケーション・ベースの要求を受信する工程と、
地理的領域をカバーする複数のタイルを決定する工程であって、複数のタイルの各タイルは地理的領域の一部分をカバーし、一組のロケーションを含む、工程と、
複数のタイルをクライアント・アプリケーションに送信する工程と、
からなる。
【０００８】
ロケーション・ベースの要求はモバイル・デバイス上のクライアント・アプリケーションから受信することができ、地理的領域はモバイル・デバイスの現在のロケーションを含むことができ、マップ上のオーバレイとしてモバイル・デバイス上に表示するための、送信された複数のタイルは、受信した一組のロケーションに対するモバイル・デバイスの現在のロケーションの表示を含むことができる。
【０００９】
複数のタイルの各々は、ロケーション・タイプのカテゴリに固有とすることができ、
受信したロケーション・ベースの要求をロケーション・タイプのカテゴリにマッピングする工程と、
マッピングされたロケーション・タイプのカテゴリに従って複数のタイルを決定する工程と、を更に含むことができ、好ましくは、追加データは検索データを含み、受信したロケーション・ベースの要求をロケーション・タイプのカテゴリにマッピングする工程は、検索データをロケーション・タイプのカテゴリにマッピングする工程を含む。
【００１０】
同様に特許請求され得る本発明による更なる実施形態では、ロケーション・タイプのカテゴリに固有である複数のタイルの各々は、
受信したロケーション・ベースの要求をロケーション・タイプのカテゴリにマッピングする工程と、
マッピングされたロケーション・タイプのカテゴリに従って複数のタイルを決定する工程と、
を更に含むことができる。
【００１１】
ロケーション・ベースの要求、特に追加データはズーム・レベルを指定し、複数のタイルの各タイルはズーム・レベルの範囲に関連付けられ、
指定されたズーム・レベルを、複数のタイルの各々に関連付けられたズーム・レベルの範囲にマッチングすることによって複数のタイルを決定する工程
を更に含むことができる。
【００１２】
同様に特許請求され得る本発明による更なる実施形態では、ロケーション・ベースの要求はズーム・レベルを指定し、複数のタイルの各タイルはズーム・レベルの範囲に関連付けられ、
指定されたズーム・レベルを、複数のタイルの各々に関連付けられたズーム・レベルの範囲にマッチングすることによって複数のタイルを決定する工程
を更に含むことができる。
【００１３】
複数のタイルは第１のタイルを含むことができ、第１のタイルは第１の地理的領域をカバーすることができ、第１のタイルは、第１の地理的領域内の一組の第１のロケーションを含むことができ、一組の第１のロケーションは、一組のロケーション全体の中の選択される一組の第１のロケーションの相対的重要度に従って、一組のロケーション全体から選択することができる。
【００１４】
複数のタイルは、第１のタイルおよび第２のタイルを含むことができ、第１のタイルは第１の地理的領域をカバーすることができ、第２のタイルは、第１の地理的領域と別個の第２の地理的領域をカバーすることができ、第１の地理的領域は第２の地理的領域よりも大きくすることができる。
【００１５】
第１の地理的領域がより低い密度の関連ロケーションを含むという判断に応答して、第１の地理的領域は第２の地理的領域よりも大きいものとして構築される場合がある。
本発明による更なる実施形態では、本方法は、
別個の隣接する地理的領域をカバーするかまたは異なるズーム・レベルで地理的領域の少なくとも一部分をカバーする、ロケーション・ベースの要求に関係する第２の複数のタイルを決定する工程と、
第２の複数のタイルを要求するようにクライアント・アプリケーションに命令する工程と、
第２の複数のタイルの要求をクライアント・アプリケーションから受信する工程と、
第２の複数のタイルをクライアント・アプリケーションに送信する工程と、
からなることができる。
【００１６】
本発明による更なる実施形態では、本方法は、
クライアント・アプリケーションから第２のロケーション・ベースの要求を受信する工程であって、第２のロケーション・ベースの要求は、第２の地理的領域と、オプションで、第２の地理的領域を検索することに関係する第２の追加データとを含み、第２のロケーション・ベースの要求は、以前のロケーション・ベースの要求としてタグ付けされたロケーション・ベースの要求および地理的領域を含み、第２の地理的領域は、以前のロケーション・ベースの要求からの地理的領域と重複する、工程と、
好ましくは、第２の地理的領域を検索することに関係する第２の追加データを用いることによって、第２の複数のタイルを決定する工程であって、第２の複数のタイルは残りの領域をカバーし、以前のロケーション・ベースの要求からの地理的領域をカバーするのに用いられるタイルを除外する、工程と、
第２の複数のタイルをクライアント・アプリケーションに送信する工程と、
からなることができる。
【００１７】
同様に特許請求され得る本発明による更なる実施形態では、本方法は、
クライアント・アプリケーションから第２のロケーション・ベースの要求を受信する工程であって、第２のロケーション・ベースの要求は第２の地理的領域を含み、第２のロケーション・ベースの要求は、以前のロケーション・ベースの要求としてタグ付けされたロケーション・ベースの要求および地理的領域を含み、第２の地理的領域は、以前のロケーション・ベースの要求からの地理的領域と重複する、工程と、
残りの領域をカバーし、以前のロケーション・ベースの要求からの地理的領域をカバーするのに用いられるタイルを除外する第２の複数のタイルを決定する工程と、
第２の複数のタイルをクライアント・アプリケーションに送信する工程と、
からなることができる。
【００１８】
本発明による更なる実施形態では、本方法は、
ロケーション・ベースの情報の要求に応答して、検索範囲を決定または受信する工程と、
用いる一組のタイルを決定する工程と、次に、
要求された地理的領域をカバーする、その組内のタイルの集合を決定する工程と、
からなることができる。
【００１９】
検索要求は、地理的領域、検索語、ズーム・レベル、または、ユーザ識別子、クライアント・デバイス識別子、クライアント・アプリケーション識別子、セッション識別子、もしくは検索に潜在的に関係する任意の他のメタデータ等の１つもしくは複数の追加のデータ、のうちの１つまたは複数を含むことができる。
【００２０】
タイルは、タイル・コンポーネントによってタイル・ストアから取り出すことができ、タイル・ストアは、ローカル、リモートまたは分散データベースを含むことができ、タイル・ストア内のタイルは好ましくはカテゴリ、タイプまたは検索トピックによって分割される。
【００２１】
本発明の更なる実施形態では、１つまたは複数のコンピュータ可読非一時的記録媒体が、実行されると、本発明または上述した実施形態のうちの任意のものによる方法を実行するように動作可能なソフトウェアを具現化する。
【００２２】
本発明の更なる実施形態では、システムが、１つまたは複数のプロセッサと、１つまたは複数のプロセッサによって実行可能な命令を含む、１つまたは複数のプロセッサに結合されたメモリからなり、１つまたは複数のプロセッサは、命令を実行するとき、本発明または上述した実施形態のうちの任意のものによる方法を実行するように動作可能である。
【００２３】
本方法は、コンピューティング・デバイス間の特定の地理的ロケーションに結び付けられたロケーション・ベースの情報の交換のために適合することができ、
クライアント・アプリケーションから、地理的領域および地理的領域内のロケーションのリストを受信する要求を含むロケーション・ベースの要求を受信する工程と、
地理的領域をカバーする複数のタイルを決定する工程であって、複数のタイルの各タイルは、地理的領域の一部分をカバーし、上記一組のロケーションを含む、工程と、
複数のタイルをクライアント・アプリケーションに送信する工程と、
からなることができる。
【００２４】
同様に特許請求され得る本発明による更なる実施形態では、装置が、
デバイス上のプロセッサ回路と、
プロセッサ回路上で、クライアント・アプリケーションから、地理的領域を含むロケーション・ベースの要求を受信し、複数のタイルをクライアント・アプリケーションに送信するように動作可能な通信コンポーネントと、
プロセッサ回路上で、複数のタイルを、地理的領域をカバーする一組のタイルとして決定するように動作可能なタイル・コンポーネントであって、複数のタイルの各タイルは地理的領域の一部をカバーし、一組のロケーションを含む、タイル・コンポーネントと、
からなる。
【００２５】
ロケーション・ベースの要求はズーム・レベルを指定することができ、複数のタイルの各タイルはズーム・レベルの範囲に関連付けることができ、タイル・コンポーネントは、指定されたズーム・レベルを、複数のタイルの各々に関連付けられたズーム・レベルの範囲にマッチングすることによって複数のタイルを決定するように動作可能であり得る。
【００２６】
同様に特許請求され得る本発明による更なる実施形態では、装置が、
別個の隣接する地理的領域をカバーするかまたは異なるズーム・レベルで地理的領域の少なくとも一部分をカバーする、ロケーション・ベースの要求に関係する第２の複数のタイルを決定するように動作可能なタイル・コンポーネントと、
第２の複数のタイルを要求するようにクライアント・アプリケーションに命令し、第２の複数のタイルの要求をクライアント・アプリケーションから受信し、第２の複数のタイルをクライアント・アプリケーションに送信するように動作可能な通信コンポーネントと、
からなる。
【００２７】
同様に特許請求され得る本発明による更なる実施形態では、装置が、
クライアント・アプリケーションから第２のロケーション・ベースの要求を受信するように動作可能な通信コンポーネントであって、第２のロケーション・ベースの要求は第２の地理的領域を含み、第２のロケーション・ベースの要求は、以前のロケーション・ベースの要求としてタグ付けされたロケーション・ベースの要求および地理的領域を含み、第２の地理的領域は、以前のロケーション・ベースの要求からの地理的領域と重複し、また当該通信コンポーネントは第２の複数のタイルをクライアント・アプリケーションに送信するように動作可能である、通信コンポーネントと、
残りの領域をカバーし、以前のロケーション・ベースの要求からの地理的領域をカバーするのに用いられるタイルを除外する第２の複数のタイルを決定するように動作可能な第２のタイル・コンポーネントと、
からなる。
【００２８】
同様に特許請求され得る本発明による更なる実施形態では、少なくとも１つのコンピュータ可読記録媒体は命令を含み、命令は、実行されると、システムに、
クライアント・アプリケーションから、地理的領域およびズーム・レベルを含むロケーション・ベースの要求を受信させ、
地理的領域をカバーする複数のタイルを決定させ、複数のタイルの各タイルは地理的領域の一部分をカバーし、上記ズーム・レベルを含むズーム・レベル範囲に関連付けられ、一組のロケーションを含み、
複数のタイルをクライアント・アプリケーションに送信させる。
【００２９】
同様に特許請求され得る本発明による更なる実施形態では、少なくとも１つのコンピュータ可読記録媒体は命令を含み、命令は、実行されると、システムに、
別個の隣接する地理的領域をカバーするかまたは異なるズーム・レベルで地理的領域の少なくとも一部分をカバーする、ロケーション・ベースの要求に関係する第２の複数のタイルを決定させ、
第２の複数のタイルを要求するようにクライアント・アプリケーションに命令させ、
第２の複数のタイルの要求をクライアント・アプリケーションから受信させ、
第２の複数のタイルをクライアント・アプリケーションに送信させる。
【００３０】
同様に特許請求され得る本発明による更なる実施形態では、少なくとも１つのコンピュータ可読記録媒体は命令を含み、命令は、実行されると、システムに、
クライアント・アプリケーションから第２のロケーション・ベースの要求を受信させ、第２のロケーション・ベースの要求は第２の地理的領域およびズーム・レベルを含み、第２のロケーション・ベースの要求は、以前のロケーション・ベースの要求としてタグ付けされたロケーション・ベースの要求、地理的領域およびズーム・レベルを含み、第２の地理的領域は、以前のロケーション・ベースの要求からの地理的領域と重複し、
上記ズーム・レベルにおいて、残りの領域をカバーし、以前のロケーション・ベースの要求からの地理的領域をカバーするのに用いられるタイルを除外する第２の複数のタイルを決定させ、
第２の複数のタイルをクライアント・アプリケーションに送信させる。
【００３１】
様々な実施形態が、ロケーション・ベースの情報（location-based information）を、サーバ制御によりタイリングする（tiling）ための技法を対象とする。コンピューティング・デバイスは、ロケーション・ベースの情報、すなわち、特定の地理的ロケーションに結び付けられているかまたは特定の地理的ロケーションに固有の情報を交換することができる。１つのコンピューティング・デバイスは、別のコンピューティング・デバイスに対し、特定の地理的領域内のロケーションのリストを受信することの要求を作成することができる。これは、地理的領域内の送信者に既知の全てのロケーションのリストを受信することの一般的な要求であってもよく、または、ある特定のトピック、検索に関連のあるもの、指定されたカテゴリに限定されるか、もしくは他の形で制限されてもよい。この要求は、マップ表示を生成するためにウェブ・サーバによってバックエンド・サーバに対し作成されてもよく、地理的情報を含むウェブページを受信するために、ウェブ・ブラウザによってウェブ・サーバに対し作成されてもよく、クライアント・デバイス上で表示するためのロケーション・ベースの情報を受信するためにクライアント・デバイスによってサーバに対し作成されてもよく、またはコンピューティング・デバイスの任意の対間で作成されてもよい。
【００３２】
ロケーション・ベースの情報を求める要求は、定義された地理的領域を通じて指定することができる。要求は、長方形の地理的領域に固有とすることができ、長方形の地理的領域は、コンピューティング・デバイスによって表示されているかまたは表示の準備をされている地理的領域に対応することができる。例えば、モバイル・デバイスは、ユーザから、地元のレストランを表示することの要求を受信して、モバイル・デバイスのユーザ・インターフェースの一部分等に、そのデバイスの周囲の地域をその地域内のレストランのオーバレイ（overlay）と共に表示する準備をすることができる。この領域の大きさ、範囲および境界は、ロケーション・ベースの情報について初期表示領域を推定する様々な技法に従って、モバイル・デバイスによって画定することができる。次に、モバイル・デバイスは、緯度および経度の２つの対によって画定され得るような長方形を、その領域内に含まれるレストランのリストをそれらのレストランの詳細なロケーションと共に受信することのサーバへの要求に含めることができる。マップ領域のこの画定は、ウェブ・ブラウザ、ウェブ・サーバ、またはロケーションのオーバレイと共に表示するマップを準備する任意の他のデバイス内で実行されるプロシージャ（procedure）によって同様に実行することができることが理解されよう。
【００３３】
検索システムのいくつかの実施形態において、指定された地理的領域内のロケーションを特定するために二次元の全範囲検索を行うことができる。一方、ロケーション・ベースの情報を受信するクライアント・デバイスおよびロケーション・ベースの情報を送信するサーバ・デバイスのいずれかまたは双方において検索結果を予め求めるかまたはキャッシュすることが有利である場合がある。したがって、ロケーション・ベースの情報はタイルに従って編成することができる。ここで、タイルは、長方形等の定義された地理的領域についての予め計算された一組のロケーション・ベースの情報を具現化したものである。例えば、サンフランシスコを複数の別々の地理的領域に分解することが可能であり、各地理的領域内の複数のロケーションをまとめて１つのタイルにすることが可能である。したがって、サンフランシスコの一部分についてのロケーション・ベースの情報を求める要求は、組み合わされた領域が都市のその特定の部分をカバーする一組のタイルを生成することによって応答され得る。タイルの境界は検索領域の境界と厳密に合致する可能性が低いため、検索領域の外側の追加のロケーションが応答に含まれる場合があるが、これらの外部ロケーションを送信するのに用いられる帯域幅、およびこれらに対し用いられる処理は、タイルを事前に計算する利点によって埋め合わせされるものよりも多くなる場合がある。タイルは、ピーク時間中の負荷を低減するためにオフピーク時間中に事前計算されることが可能であり、応答時間は、オンデマンド（on-demand）で行われる作業量を低減することによって改善されることが可能である。
【００３４】
いくつかの実施形態では、用いられるタイリング・スキーマは、全ての領域にわたって普遍的に予め決定され、タイルを受信するクライアント・デバイスによって事前に知られることが可能である。例えば、ワールド全体の平坦化されたマップは、等しい大きさの正方形に分解されることが可能であり、正方形はそれぞれ、識別コードを割り当てられ、ロケーション・ベースの情報を所望するクライアント・デバイスが、タイリング・スキーマに従って、対象の地理的領域をカバーするタイルを単に要求しさえすればよいようにすることができる。一方、別の手法には利点がある。クライアント・デバイスがタイリング・スキーマに依存しない場合、マッピングされた領域の変化に従って、インフラストラクチャ、ソフトウェア設計またはプロバイダ優先度の変化に従って、および、ロケーション・ベースの情報を提供することの実証的経験により、現在のタイリング・スキーマの問題、制限または欠点が明らかとなるとき、異なるカテゴリの結果について、異なるロケーションにおいてタイリング・スキーマを変動させることができる。
【００３５】
例えば、タイルを送信する帯域幅コストは、内部に含まれるロケーション数と共に増減する。これにより、地理的検索領域の境界をまたぐ境界タイルを用いて送信される余分なロケーションの数を制限するために、多数のロケーションを有するタイルをより小さなタイルに分解することが促される。一方、タイルは、ヘッダ情報、メタデータ、およびタイルを送信するのに用いられる帯域幅に加わる他のタイル単位のデータを含む場合があり、それによって、低人口の多数のタイルを送信することにより、より大きなタイルでは用いられない帯域幅が無駄になる場合がある。更に、一組のタイルを決定するのに用いられる計算時間は、タイル数に従って増減する場合がある。タイル内の要求に関連するロケーション数は、ロケーション（都市は農村領域よりも密度が高い場合がある）、カテゴリ（カリフォルニア州ハリウッドはテキサス州ヒューストンよりも「映画撮影所」について多くの結果を有する）、時間（都市の人口が増減するとき）等に応じて変動する場合があるため、タイルの大きさを変動させることが有益であり得る。クライアント・アプリケーションがタイリング・スキーマに依存しない場合、そのような変更はサーバ側で行われることが可能であり、それによって、クライアント・アプリケーションは、新たなタイリング・スキーマを用いる前にタイリング・スキーマについての理解を更新する必要はない。
【００３６】
いくつかの実施形態では、異なるズーム・レベルまたは検索範囲において異なるタイリング・スキーマおよび異なるタイルが用いられる場合がある。全ての検索範囲において全ての結果が等しく有用であるわけではない場合がある。例えば、自宅から５ブロック以内のピザ屋を検索しているユーザは、その距離内の全てのピザ屋を見て、それらの中から選択することを可能にされることによって利益を受けることができる。一方、ニューヨーク市への旅行を計画し、ニューヨーク市内の全てのピザ屋にわたって検索を行っているユーザは、市内の最高のピザ屋のみを見ることによって利益を受けることができる。イタリア旅行を計画しているユーザは、この更に広い範囲において、国内の最高のピザ屋のみを見ることにより利益を得る場合がある。したがって、いくつかの実施形態において、複数組のタイルが用いられる場合があり、ここで、各組のタイルは、特定の距離範囲またはズーム・レベルに固有である。したがって、ロケーション・ベースの情報を求める要求に対する応答は、検索範囲を決定または受信すること、いずれの組のタイルを用いるか決定すること、そして要求された地理的領域をカバーする組内のタイルの集合を決定することを含むことができる。
【００３７】
したがって、ユーザは、クライアント・デバイスが依存しない動的タイリング・スキーマを用いる、ロケーション・ベースの情報を提供するシステムによって利益を得ることができる。サーバが可変のサイズおよび寸法のタイルに応じてロケーションを通信することを可能にすることによって、デバイスの帯域幅を効果的に用いられることができ、返される結果の品質を改善することができ、試験システムまたはライブ・システムから収集された性能情報を、クライアント・システムに対する変更なしで、提供される結果に組み込むことができる。結果として、実施形態は、入手可能性、適応性、モジュール性、拡張性、ならびに地理的検索システムのオペレータおよびユーザの相互運用性を改善することができる。
【００３８】
次に図面を参照する。図面において、類似の参照符号は全体を通じて類似の要素を指すのに用いられる。以下の記載において、説明の目的で、本発明の完全な理解を提供するために多数の具体的な詳細が記載される。しかしながら、新規の実施形態はこれらの具体的な詳細なしで実施され得ることは明らかであろう。他の事例では、よく知られた構造およびデバイスは記載を容易にするためにブロック図の形態で示される。特許請求される主題に一致する全ての変更形態、均等物および代替形態を包含することが意図される。
【００３９】
図１は、検索システム１００のためのブロック図を示す。１つの実施形態において、検索システム１００は１つまたは複数のコンポーネントを備えることができる。図１に示す検索システム１００は、ある特定のトポロジにおける限られた数の要素を有するが、検索システム１００は、代替的なトポロジにおいて、所与の実施態様に望ましいとおりの、より多くのまたはより少ない要素を備えることができることが理解されよう。
【００４０】
本明細書において用いられる「ａ」および「ｂ」および「ｃ」ならびに同様の指示子は、任意の正の整数を表す変数であることが意図されることは特筆に値する。このため、例えば、１実施態様が、ａ＝５について値を設定する場合、コンポーネント１２２−ａの完全な組は、コンポーネント１２２−１、１２２−２、１２２−３、１２２−４および１２２−５を含むことができる。実施形態はこの文脈に限定されない。
【００４１】
検索システム１００は、通信コンポーネント１２０およびタイル・コンポーネント１５０を備えることができる。検索システム１００は、受信した要求に応答して用いるための所定のタイルを記憶するタイル・ストア１６０を用いることができる。検索システム１００は、クライアント・デバイス１８０におけるクライアント・アプリケーション１９０等の複数のクライアント・アプリケーションと対話して、ロケーション・ベースの要求を受信し、複数組のタイルで応答することができる。
【００４２】
通信コンポーネント１２０は、地理的領域を含むロケーション・ベースの要求１３０をクライアント・アプリケーション１９０から受信し、複数のタイル１７０をクライアント・アプリケーションに送信するように動作可能であり得る。クライアント・アプリケーション１９０は、クライアント・デバイス１８０上で実行されるか、クライアント・デバイス１８０のコンポーネントであるか、またはそうでない場合、クライアント・デバイス１８０によってサポートされることが可能である。いくつかの実施形態では、クライアント・デバイス１８０はモバイル・デバイスまたは他のエンド・ユーザ・デバイスであり得るが、他の実施形態では、検索システム１００に対するクライアントとしてふるまうサーバ・デバイスであり得る。クライアント・デバイス１８０は、検索システム１００の外部の関係者によって所有されるかもしくはこの所有者に属することが可能であるか、または検索システム１００と共同で所有および管理されることが可能である。
【００４３】
ロケーション・ベースの要求１３０は、確立されたプロトコル、カスタム・プロトコル、汎用プロトコルに従って、または任意の他の通信技法に従って受信され得る。ロケーション・ベースの要求１３０は、インターネットを介して、セルラ・データ・システムを介して、または任意の他の通信媒体を用いて受信され得る。ロケーション・ベースの要求１３０は、地理的領域、検索語、ズーム・レベル、および、ユーザ識別子、クライアント・デバイス識別子、クライアント・アプリケーション識別子、セッション識別子、または検索に潜在的に関連する任意の他のメタデータ等の１つまたは複数の追加のデータを含む検索要求であり得る。通信コンポーネント１２０は、ロケーション・ベースの要求１３０をタイル・コンポーネント１５０に転送することができる。
【００４４】
タイル・コンポーネント１５０は、地理的領域をカバーする一組のタイルとして複数のタイル１７０を決定するように動作可能であり得る。複数のタイル１７０の各タイルは地理的領域の一部をカバーし、一組のロケーションを含む。タイル１７０は、タイル・ストア１６０から取り出すことができる。タイル・ストア１６０は、ローカル・データベース、リモート・データベースまたは分散データベース等のデータベースを備えることができる。タイル・コンポーネント１５０は、タイル・ストア１６０における地理的ルックアップを実行して、複数のタイル１７０を決定するように動作可能であり得る。直交領域探索のための既知の技法のうちの任意のもの等、地理的ルックアップを実行するための既知の技法のうちの任意のものが実行され得る。
【００４５】
いくつかの実施形態では、タイル・ストア１６０内のタイルは、カテゴリ、タイプ、検索トピックまたは他の分類によって分割され得る。特定のカテゴリ内で、タイルの各々が、重複または共有領域なしで地理的領域を排他的にそれぞれカバーすることができる。いくつかの実施形態では、タイル・ストア１６０内のタイルは、範囲またはズーム・レベルによって分割され得る。特定の範囲内で、タイルの各々は、重複または共有領域なしで地理的領域を排他的にそれぞれカバーすることができる。いくつかの実施形態では、タイル・ストア１６０内のタイルは、範囲および分類の双方によって分割されることが可能であり、特定の範囲および分類内のタイルは、重複または共有領域なしで地理的領域を排他的にカバーすることができる。したがって、タイル・ストア１６０内に記憶される各ロケーションは、所与の範囲および／または分類について最大で（at most once）１回記憶され得る。タイル・コンポーネント１５０は、分類および／または範囲に応じてタイル・ストア１６０内の地理的ルックアップの標的を絞り、その分類および／または範囲内の複数のタイル１７０を厳密に取り出すように動作可能であり得る。複数のタイル１７０の組み合わされたそれぞれの地理的領域は、ロケーション・ベースの検索要求１３０の一部として含まれる地理的領域の全体をカバーする。
【００４６】
範囲またはズーム・レベルは、様々な実施形態における多岐にわたる技法に従って指定することができる。例えば、ズーム・レベルは、領域の閲覧範囲と、実世界におけるその実際の範囲との間の比に応じて指定されることが可能である。代替的に、ズーム・レベルは、検索システム１００内に含まれる詳細の最大量である最大ズームを１つの極限として用い、他のズーム・レベルは詳細度の反復的な低減を表す、抽象スケールに応じて指定されることが可能である。タイル・ストア１６０内のタイルの各々は、タイルが用いられることになるズーム・レベルの範囲を関連付けることができる。所与の地理的領域（および、いくつかの実施形態では、分類）について、各タイルを、特定の排他的範囲に関連付けることができる。
【００４７】
タイル・ストア１６０および検索システム１００は、特定のタイルの分類に関連し、その特定のタイルによってカバーされる地理的領域内にあり、依然としてタイル内に記憶されていないロケーションの知識を記憶するかまたは他の形で有することができる。例えば、大きな地理的領域（したがって、大きな範囲および低いズーム・レベル）のためのタイルは、最も重要であるか、関連度が高いか、または他の形で価値のある結果のみを自身の地理的領域に含めることができ、より重要でないか、関連度が低いか、または他の形で価値のない結果は除外する。例えば、州全体の範囲を見ているときに用いるタイルは、複数の都市を含む、州の１０分の１をカバーし、その領域、これらの複数の都市、およびこれらの都市の周辺における、分類内の最も重要なまたは注目に値するロケーションのみを含むことができる。１つの都市全体を見るときに用いる範囲等の、より狭い範囲における同じ分類内で用いるタイルは、州と比較して、都市の状況において相対的重要度が増大したことに起因して、より広い範囲のタイルには存在していない追加のロケーションを含むことができる。
【００４８】
いくつかの実施形態では、範囲またはズーム・レベルは、ロケーション・ベースの要求１３０の一部として含まれることが可能である。他の実施形態では、範囲またはズーム・レベルは、指定された地理的領域に基づいて暗黙的に決定されることが可能である。例えば、州の大きさの地理的領域は、多くのロケーションが間引きされた大きな範囲（低いズーム・レベル）を暗黙的に提案することができるのに対し、都市ブロックの大きさの地理的領域は、ほとんどまたは全てのロケーションが含まれる小さな範囲（高いズーム・レベル）を暗黙的に提案することができる。
【００４９】
いくつかの実施形態では、ロケーション・ベースの要求１３０は、指定された検索を含むことができる。いくつかの場合、これは、カテゴリ、タイプまたは他の分類にマッピングされることが可能であり、指定された地理的領域および画定された範囲における分類内の全ての結果が、複数のタイル１７０によりクライアント・アプリケーション１９０に送信され、ユーザに表示される。一方、他の場合、検索を用いて、いずれのロケーションが送信されるか、もしくはタイルのカテゴリ内に表示されるか、またはどこでタイルが分類によって分割されないかを精緻化することができる。例えば、タイル・ストア１６０内のロケーションの各々は、ロケーションを検索するときに用いるための、ロケーションを記述する１つまたは複数のデータを関連付けられることが可能である。タイル・コンポーネント１５０は、検索を、取り出された複数のタイル１７０内のロケーションについてのデータと比較して、複数のタイル１７０内の各ロケーションが検索に合致するか否かを判断するように動作可能であり得る。タイル・コンポーネント１５０は、受信した検索に関連していない複数のタイル１７０内のロケーションを、クライアント・アプリケーション１９０に送信する前に除去するように動作可能であり得る。
【００５０】
いくつかの実施形態では、タイル・コンポーネント１５０は、クライアント・アプリケーション１９０に送信される複数のタイル１７０内のロケーションに、検索に関連している、または検索に関連していないとしてフラグを付けるように動作可能であり得る。それによって、クライアント・アプリケーション１９０は、関連しているとしてフラグを付けられたロケーション、または関連していないとしてフラグを付けられていないロケーションのみをユーザに表示する。例えば、「ピザ屋」の検索は、「レストラン」カテゴリに分類され、地理的領域およびズーム・レベルに固有のタイル・ストア１６０からレストランタイプのタイルを取り出すことを開始することができる。この複数のタイル１７０は、「ピザ屋」検索に合致するロケーションおよび「ピザ屋」検索に合致しないロケーションを含むことができる。合致するものおよび合致しないもの双方のこれらの全てのロケーションが、いずれのロケーションが関係しているかおよびいずれが関係していないかを示すフラグと共にクライアント・アプリケーション１９０に送信されることが可能である。代替的に、タイル・コンポーネント１５０ではなく、クライアント・アプリケーション１９０が、複数のタイル１７０内のいずれのロケーションが検索に関係しているかを判断することができる。
【００５１】
いずれの場合においても、クライアント・アプリケーション１９０は、関連しているロケーションおよび関連していないロケーションの双方を含む複数のタイル１７０を受信し、関連しているロケーションのみをデバイスのユーザに表示することができる。関連していないロケーションをクライアント・アプリケーション１９０に送信することは、特に、クライアント・アプリケーション１９０がフィルタリングを実行して、いずれのロケーションが検索に関係しているかを判断する場合、キャッシング等を通じたタイルの再利用を可能にすることができる。例えば、ユーザは、「ピザ屋」を検索し、全ての「レストラン」の結果を含む所与の地理的領域についての所与の範囲における複数のタイル１７０を受信し、クライアント・アプリケーション１９０が検索「ピザ屋」に合致すると判断するロケーションのみを示されることが可能である。ユーザは、自身が食事する領域内に満足のいくピザ屋がないと判定するか、または所望の食べ物について意見を変えると、次に、「鮨」の検索を実行する場合がある。受信した複数のタイル１７０は、全てのレストランのロケーションを含んでいたため、クライアント・アプリケーション１９０は、ロケーションを再フィルタリングして、新たなタイルを受信するために検索システム１００を往復することなく鮨の検索に合致するものを生成することができる。
【００５２】
クライアント・アプリケーション１９０は通常、受信したタイルをキャッシングし、関係しているタイルを再利用するように動作可能であり得る。いくつかの実施形態では、タイルは、有効期間（ＴＴＬ：ｔｉｍｅ−ｔｏ−ｌｉｖｅ）値と共に送信され得る。ＴＴＬ値はある期間を示し、この期間の後、タイルはキャッシュから除去されるべきであるか、またはそうでない場合、検索結果のために用いられるべきでない。いくつかの実施形態では、満了したＴＴＬを有するキャッシングされたタイルは、ユーザからの検索要求の受信時に用いられ、ロケーション結果を表示するのに用いられることが可能であるが、これに並行して、クライアント・アプリケーション１９０はロケーション・ベースの要求１３０を実行して、アップデートされたタイルを受信する。これらのタイルは、受信されると、満了したタイルからの表示と置き換えるのに用いられる。
【００５３】
図２は、検索システム１００のための動作環境２００の１実施形態を示す。図２に示すように、ユーザ２１０は、クライアント・デバイス１８０を用いて、グローバル・ポジショニング・システム２２０、検索システム１００およびマップ・システム２５０と対話することができる。
【００５４】
いくつかの状況において、クライアント・デバイス１８０は、ユーザ２１０によって検索される地理的領域内で用いられるモバイル・デバイスであり得る。クライアント・デバイス１８０は、ＧＰＳを介してロケーションを特定するための既知の技法を用いて、グローバル・ポジショニング・システム（ＧＰＳ）２２０により自身の現在のロケーション２２５を特定するように動作可能であり得る。クライアント・デバイス１８０は、自身の現在のロケーション２２５に基づいて、ロケーション・ベースの要求１３０の一部として用いられる地理的領域を自動的に決定するように動作可能であり得る。例えば、地理的領域は、現在のロケーション２２５を中心にするか、またはそうでない場合、クライアント・デバイス１８０の現在のロケーション２２５を含むことができる。
【００５５】
検索システム１００から受信される複数のタイル１７０を、マップ２７０上のオーバレイとしてクライアント・デバイス１８０上に表示することができる。マップ２７０上の表示は、受信した一組のロケーションに対するクライアント・デバイス１８０の現在のロケーション２２５の表示を含むことができる。
【００５６】
マップ２７０をマップ・システム２５０から取り出すことができる。クライアント・デバイス１８０は、マップ要求２３０をマップ・システム２５０に送信し、地理的領域、一組のマップタイル、またはマップ・システム２５０に対し要求を作成するための任意の他の技法を指定することができる。クライアント・デバイス１８０は、マップ２７０を画像として、一組のマップタイル、またはマップ２７０を送受信するための任意の他の技法として受信することができる。
【００５７】
マップ・システム２５０は、検索システム１００と同じエンティティまたは別のエンティティによって維持されることが可能である。例えば、クライアント・デバイス１８０がモバイル・デバイスである場合、マップ・システム２５０は、クライアント・デバイス１８０の製造者、またはクライアント・デバイス１８０のためのオペレーティング・システムのプロバイダに関連付けられることが可能である。代替的に、マップ・システム２５０は、クライアント・アプリケーション１９０によって選択されてもよい。いくつかの実施形態では、複数のタイル１７０は、複数の利用可能なマップ・システムのうちのいずれのマップ・システム２５０がマップ２７０を受信するのに用いられるかに依存しないことが可能である。例えば、第１のタイプのクライアント・デバイスにおいて、第１のマップ・システムが用いられることが可能であり、第２のタイプのクライアント・デバイスにおいて、第２のマップ・システムが用いられることが可能であり、検索システム１００は、選ばれるマップ・システムと無関係であり、複数のタイル１７０は、いずれのマップ・システムが用いられようと同じである。
【００５８】
図３は、検索システム１００のためのクライアント・デバイス１８０上に表示されるマップ３１０の１実施形態を示す。図３に示すように、マップ３１０は、現在のロケーション３３０の表示を、マップ３１０上の星印として含む。
【００５９】
図３の図において、マップ３１０内の様々な実線は様々な道路を表すことができる。様々な明るい領域および暗い領域は、様々な地形特徴を表すことができる。これらの実線および領域は、マップ・システム２５０から受信され、複数のタイル１７０の表示のための背景として用いられることが可能である。
【００６０】
図３の図において、３７５−１等の様々なドットは、複数のタイル１７０の一部として受信されるロケーションを表すことができる。点線は、異なるタイル間の分割領域を表すことができる。４つの点線から形成される各排他的長方形は、タイルの排他的領域を表す。示されるように、マップ３１０上に表示されるロケーションは、１０個のタイル３７０−ａとして受信された。例えば、タイル３７０−５はロケーション３１５−ｂを含む。
【００６１】
図３に示すように、各タイルは５つのロケーションを含み、いくつかのタイルは、自身のロケーションの一部分のみが表示される、表示のエッジの境界をなし、表示される地理的領域の境界の外側にある残りのロケーションを表す場合がある。これらの５つのロケーションは、各タイル内の５つの最も関連度の高いロケーションであり得る。５つのロケーションの制限は説明の都合上用いられるものであり、タイルに含まれ得るロケーション数に対する特定の制限を表すものではないことが理解されよう。
【００６２】
示されるように、様々なタイルは変動する大きさおよび寸法を有する。例えば、タイル３７０−４は、タイル３７０−１０の可視領域よりも著しく小さい。これは、例えば、タイル３７０−４が、タイル３７０−１０よりも関連ロケーションの密度が高い領域のためのものであることを表す場合がある。タイル３７０−１０のための地理的領域は、タイル３７０−１０のための地理的領域が、タイル３７０−４のための地理的領域よりも低い密度の関連ロケーションを含むという判断に応答して、タイル３７０−４のための地理的領域よりも大きいものとして構築された場合もある。
【００６３】
図４は、検索システム１００のためのクライアント・デバイス１８０上に表示されるマップ４１０の１実施形態を示す。図４に示すように、マップ４１０は、現在のロケーション４３０の表示をマップ４１０上の星印として含む。
【００６４】
マップ４１０は、示されるように、図３を参照するマップ３１０と同じ地理的領域を示す。しかしながら、タイリングはタイル３７０−ａから４７０−ｃに変化している。例えば、ロケーション４７５がマップ４１０に追加されており、これは、マップ３１０には存在していなかったものである。ロケーション４７５は、タイル４７０−ｃに含めるための十分な関連度を有する新たな実世界ロケーションを示すことができるか、またはタイル３７０−ａの時点において存在していたが、これを含めることを動機付けるための重要度を増大させるように再評価もしくは変更されたロケーションであり得る。この例では、各タイルが最大で５つのロケーションを含むので、この結果、ロケーション４７５を含むタイル４７０−５が作成される新たなタイリングが得られた場合がある。
【００６５】
代替的に、タイル４７０−ｃによって表される新たなタイリングは、マップ４１０の地理的領域内の変動する密度の再評価によって動機付けられた場合がある。タイル４７０−５内の地理的領域は、タイル３７０−ａの作成時点とタイル４７０−ｃの作成時点との間で、関連ロケーションの密度が増大した場合がある。この結果、検索システム１００がタイル４７０−５内の領域のためにより小さなタイルを用いて新たなタイリングを作成した場合がある。いずれの場合であっても、タイル・コンポーネント１５０は、第１のロケーション・ベースの要求のために第１の複数のタイル３７０−ａを決定し、第２のロケーション・ベースの要求のために第２の複数のタイル４７０−ｃを決定するように動作可能であり得る。ここで、第１の複数のタイル３７０−ａおよび第２の複数のタイル４７０−ｃは、地理的領域の再タイリングに応答した、同じ範囲の、同じ地理的領域のためのものであり、第１の複数のタイル３７０−ａのうちの少なくとも第１のタイルが、第２の複数のタイル４７０−ｃの第２のタイルと別個の大きさ、形状またはロケーションを有するが、第２のタイルは第１のタイルと重複している。
【００６６】
図５は、図３を参照するタイル３７０−５の地理的領域内のタイルのグループの１実施形態を示す。
図５に示すのは、より高いズーム・レベル（減少した範囲）におけるタイル３７０−５内に含まれる地理的領域である。この地理的領域は、タイル５７０−ｄによってカバーされ、タイル５７０−３内のロケーション５７５−１および５７５−２等、タイル３７０−５内に含まれない追加のロケーションを含む。これらは、タイルの特定のカテゴリに関連するが、そのより大きい範囲においてタイル３７０−５に含まれるロケーションよりも重要度が低い、特定のカテゴリのタイルに関連するロケーションであり得る。
【００６７】
いくつかの実施形態において、タイル５７０−ｄはタイル３７０−５の地理的領域に集合的に含まれることが可能であり、それによって、タイルまたはある特定のカテゴリ内のタイルが階層的に編成される。代替的に、より大きい範囲において、タイル５７０−ｄは必ずしもタイル３７０−５等のタイルと境界を共有しない場合がある。例えば、タイル５７０−５は、示される領域から左かつ下方（東南）に延在する場合がある。
【００６８】
図６は、図１のシステムのための重複する検索領域のためのタイルの１実施形態を示す。
図６に示すのは、第１の検索領域６１０、第２の検索領域６２０、および、様々なロケーションを含む複数のタイル６７０−ｅである。タイル６７０−ｅは全て同じ範囲の、同じカテゴリのためのものであり、このため地理的に別個であり、重複していない。検索システム１００は、第１の要求に応答して、タイル６７０−２、６７０−６、６７０−７、６７０−８、６７０−９、６７０−１０および６７０−１１を、検索領域６１０をカバーしていると特定することができる。検索システム１００は、第２の要求に応答して、タイル６７０−２、６７０−３、６７０−４、６７０−５、６７０−７、６７０−８、６７０−１０、６７０−１１、６７０−１２および６７０−１３を、検索領域６２０をカバーしていると特定することができる。見てとることができるように、タイル６７０−７、６７０−８、６７０−１０および６７０−１１は、検索領域６１０および検索領域６２０の双方がカバーするのに用いられる。
【００６９】
検索領域６２０が同じクライアント・アプリケーション１９０からの検索領域６１０の後にすぐに連続して受信される場合、まだ処理されていないか、または検索領域６１０についての要求を処理する際に送信されることになる検索領域６２０をカバーするのに用いられるタイル：６７０−２、６７０−３、６７０−４、６７０−５、６７０−１２および６７０−１３のみを送信することによって、検索領域６２０についての要求に応答することが有利である場合がある。クライアント・アプリケーション１９０が共通タイル６７０−７、６７０−８、６７０−１０および６７０−１１を、第１の要求に対する応答の一部として受信する場合、検索領域６２０の全体についてロケーションを表示するために、クライアント・アプリケーション１９０は単に、これらを、第２の要求に対する応答の一部として受信されたタイルと組み合わせて再利用することができる。これによって、要求の対に対し応答するのに用いられる帯域幅を低減することができる。
【００７０】
したがって、通常、通信コンポーネントは、クライアント・アプリケーション１９０から、第２のロケーション・ベースの要求を受信するように動作可能であり得、第２のロケーション・ベースの要求１９０は、検索領域６２０等の第２の地理的領域を含み、第２のロケーション・ベースの要求は、以前のロケーション・ベースの要求としてタグ付けされたロケーション・ベースの要求１３０および検索領域６１０等の地理的領域を含み、第２の地理的領域は、以前のロケーション・ベースの要求からの地理的領域と重複し、また、通信コンポーネントは、第２の複数のタイルをクライアント・アプリケーション１９０に送信するように動作可能であり得る。タイル・コンポーネント１５０は、残りの領域をカバーし、以前のロケーション・ベースの要求からの地理的領域をカバーするのに用いられるタイルを除外する第２の複数のタイルを決定するように動作可能であり得る。いくつかの実施形態では、分散システム、マルチスレッド・システム、マルチプロセッサ・システム、または複数の類似したもしくは同一のコンポーネントを用いて要求を並列に処理する他のシステム等の、異なるタイル・コンポーネントが用いられ得る。
【００７１】
いくつかの実施形態では、検索システム１００は、後続のロケーション・ベースの要求において用いられ得るタイルをプリフェッチする（pre-fetch）ようクライアント・アプリケーション１９０に指示するように動作可能であり得る。例えば、より高いズーム・レベルにおけるタイルは、ユーザがそれらの地域をクライアント・アプリケーション１９０のデフォルト範囲よりも綿密に調べることを決めた場合に、それらのそれぞれのロケーションを利用可能にするために、プリフェッチされることが可能である。同様に、より低いズーム・レベルにおけるタイルは、ユーザがそれらの周辺の領域をデフォルト範囲よりも広く調べることを決めた場合に、それらのそれぞれのロケーションを利用可能にするために、プリフェッチされることが可能である。同じズーム・レベルにおける周囲のタイルは、ユーザが表示されたマップをスクロールすることを決めた場合に、それらのそれぞれのロケーションを利用可能にするために、プリフェッチされることが可能である。これらの追加のタイルを第２の後続の送信において送信させることは、帯域幅および処理能力について、目下要求されているロケーションの送信および表示と競合しないようにするために有意義であり得る。
【００７２】
したがって、タイル・コンポーネント１５０は、別個の隣接する地理的領域をカバーするかまたは異なるズーム・レベルにおいて地理的領域の少なくとも一部分をカバーする、ロケーション・ベースの要求１３０に関係する第２の複数のタイルを決定するように動作可能であり得る。通信コンポーネント１２０は、クライアント・アプリケーション１９０に、第２の複数のタイルを要求するように命令し、クライアント・アプリケーション１９０から第２の複数のタイルを求める要求を受信し、これに応答して第２の複数のタイルをクライアント・アプリケーション１９０に送信するように動作可能であり得る。クライアント・アプリケーション１９０は、複数のタイル１７０の転送が完了したことに応答して、要求を第２の複数のタイルに提出するように動作可能であり得る。
【００７３】
例えば、クライアント・アプリケーション１９０は、ロケーション・ベースの要求１３０を検索システム１００に提出し、これに応答して、複数のタイル１７０およびプリフェッチ命令を受信することができる。クライアント・アプリケーション１９０は、複数のタイル１７０の受信が完了するまで待機し、次に、プリフェッチ命令を用いて追加の関係するタイルのダウンロードを開始することができる。１つの実施形態では、プリフェッチ命令は、単一の識別子、構造、または、ロケーション・ベースの要求１３０を参照するかもしくは含み、検索システム１００が追加のタイルを提供することを要求するのに十分である他のもの（ｓｉｇｎｉｆｉｅｒ）を含むことができる。代替的に、プリフェッチ命令は、クライアント・アプリケーション１９０が明示的に要求することができる、プリフェッチされるべきタイルのリストを含むことができる。
【００７４】
図７は、集中型システム７００のブロック図を示す。集中型システム７００は、単一デバイス７２０内のエンティティ等の、単一の計算エンティティ内の検索システム１００のための構造および／または動作のうちのいくつかまたは全てを実施することができる。
【００７５】
デバイス７２０は、検索システム１００のための情報を受信、処理および送信することが可能な任意の電子デバイスを含むことができる。電子デバイスの例は、限定ではないが、ウルトラ・モバイル・デバイス、モバイル・デバイス、携帯情報端末（ＰＤＡ）、モバイル・コンピューティング・デバイス、スマートフォン、電話、デジタル電話、携帯電話、電子書籍リーダ、ハンドセット、ワンウエイページャ（ｏｎｅ−ｗａｙ  ｐａｇｅｒ）、ツーウエイページャ、メッセージング・デバイス、コンピュータ、パーソナル・コンピュータ（ＰＣ）、デスクトップ・コンピュータ、ラップトップ・コンピュータ、ノートブック・コンピュータ、ネットブック・コンピュータ、ハンドヘルド・コンピュータ、タブレット・コンピュータ、サーバ、サーバ・アレイもしくはサーバ・ファーム、ウェブ・サーバ、ネットワーク・サーバ、インターネット・サーバ、ワークステーション、ミニコンピュータ、メインフレーム・コンピュータ、スーパーコンピュータ、ネットワーク機器、ウェブ機器、分散コンピューティング・システム、マルチプロセッサ・システム、プロセッサベースのシステム、家庭用電子機器、プログラム可能な家庭用電子機器、ゲーム・デバイス、テレビ、デジタル・テレビ、セット・トップ・ボックス、無線アクセス・ポイント、基地局、加入者局、モバイル加入者センター、無線ネットワーク・コントローラ、ルータ、ハブ、ゲートウェイ、ブリッジ、スイッチ、マシン、またはそれらの組合せを含むことができる。実施形態はこの文脈に限定されない。
【００７６】
デバイス７２０は、処理コンポーネント７３０を用いて検索システム１００のための処理動作またはロジックを実行することができる。処理コンポーネント７３０は、様々なハードウェア要素、ソフトウェア要素、または双方の組合せを含むことができる。ハードウェア要素の例は、デバイス、論理デバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、プロセッサ回路、回路素子（例えば、トランジスタ、レジスタ、キャパシタ、インダクタ等）、集積回路、特定用途向け集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔｓ）、プログラマブル・ロジック・デバイス（ＰＬＤ：ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｄｅｖｉｃｅｓ）、デジタル・シグナル・プロセッサ（ＤＳＰ：ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒｓ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ：ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、メモリ・ユニット、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップ・セット等を含むことができる。ソフトウェア要素の例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータ・プログラム、アプリケーション・プログラム、システム・プログラム、ソフトウェア開発プログラム、マシン・プログラム、オペレーティング・システム・ソフトウェア、ミドルウェア、ファームウェア、ソフトウェア・モジュール、ルーチン、サブルーチン、機能、方法、プロシージャ、ソフトウェア・インターフェース、アプリケーション・プログラム・インターフェース（ＡＰＩ）、命令セット、コンピューティング・コード、コンピュータ・コード、コード・セグメント、コンピュータ・コード・セグメント、単語、値、シンボル、またはそれらの任意の組合せを含むことができる。実施形態がハードウェア要素を用いて実施されるか、かつ／またはソフトウェア要素を用いて実施されるかを判断することは、所望の計算速度、パワー・レベル、耐熱性、処理サイクル・バジェット、入力データ・レート、出力データ・レート、メモリ・リソース、データ・バス速度および他の設計または性能の制約等の任意の数の要因に従って、所与の実施態様にとって望ましいとおりに変動することができる。
【００７７】
デバイス７２０は、通信コンポーネント７４０を用いて検索システム１００の通信動作またはロジックを実行することができる。通信コンポーネント７４０は、パケット交換ネットワーク（例えば、インターネット等の公衆ネットワーク、社内イントラネット等のプライベート・ネットワーク等）、回路交換網（例えば、公衆交換電話網）、またはパケット交換ネットワークおよび回路交換網の（適切なゲートウェイおよびトランスレータを用いた）組合せ等と共に用いるのに適した技法等の、任意のよく知られた通信技法およびプロトコルを実施することができる。通信コンポーネント７４０は、１つまたは複数の通信インターフェース、ネットワーク・インターフェース、ネットワーク・インターフェース・カード（ＮＩＣ：ｎｅｔｗｏｒｋ  ｉｎｔｅｒｆａｃｅ  ｃａｒｄｓ）、無線通信装置、ワイヤレストランスミッタ／ワイヤレスレシーバ（トランシーバ）、有線および／または無線通信媒体、物理的コネクタ等の様々なタイプの標準的な通信要素を含むことができる。限定ではないが、例として、通信媒体７１２、７４２は、有線通信媒体および無線通信媒体を含む。有線通信媒体の例は、有線、ケーブル、金属導線、プリント回路基盤（ＰＣＢ：ｐｒｉｎｔｅｄ  ｃｉｒｃｕｉｔ  ｂｏａｒｄｓ）、バックプレーン、スイッチ・ファブリック、半導体材料、ツイスト・ペア線、同軸ケーブル、光ファイバ、伝搬信号等を含むことができる。無線通信媒体の例は、音響、無線周波数（ＲＦ）スペクトル、赤外線および他の無線媒体を含むことができる。
【００７８】
デバイス７２０は、それぞれ通信信号７１４、７４４を用いて、通信コンポーネント７４０を介して、それぞれ通信媒体７１２、７４２により他のデバイス７１０、７５０と通信することができる。デバイス７１０、７５０は、所与の実施態様にとって望ましいとおりに、デバイス７２０の内部または外部とすることができる。例えば、デバイス７１０はクライアント・デバイス１８０を含むことができ、それによって、媒体７１２により送信される信号７１４が、検索システム１００へのロケーション・ベースの要求１３０の送信および検索システム１００からデバイス７１０への複数のタイル１７０の送信を含む。デバイス７５０は、異なるユーザによって用いられる第２のクライアント・デバイスを含むことができ、第２のクライアント・デバイスは、検索システム１００と対話して、デバイス７１０よりも早く、遅く、またはデバイス７１０と並列に、タイルを要求し、タイルを受け取る。
【００７９】
図８は、分散システム８００のブロック図を示す。分散システム８００は、複数のコンピューティング・エンティティにわたって検索システム１００の構造および／または動作の部分を分散させることができる。分散システム８００の例は、限定ではないが、クライアント−サーバアーキテクチャ、３層アーキテクチャ、Ｎ層アーキテクチャ、密結合（tightly-coupled）またはクラスタ化アーキテクチャ、ピア・ツー・ピアアーキテクチャ、マスタ−スレーブアーキテクチャ、共有データベースアーキテクチャ、および他のタイプの分散システムを含むことができる。実施形態はこの文脈に限定されない。
【００８０】
分散システム８００は、クライアント・デバイス１８０と、ロード・バランサ８１０と、複数のサーバ・デバイス８２０−ｆとを備えることができる。通常、クライアント・デバイス１８０、ロード・バランサ８１０および複数のサーバ・デバイス８２０−ｆは、図７を参照して説明されたようなクライアント・デバイス７２０と同じであるかまたは同様であり得る。例えば、クライアント・デバイス１８０、ロード・バランサ８１０およびサーバシステム８２０−ｆはそれぞれ、処理コンポーネント８３０および通信コンポーネント８４０を備えることができる。これらはそれぞれ、図７を参照して説明されたような処理コンポーネント７３０および通信コンポーネント７４０と同じであるかまたは同様である。別の例では、デバイス１８０、８１０および８２０は、通信コンポーネント８４０を介して通信信号８１４および８４４を用いて通信媒体８１２および８４２により通信することができる。
【００８１】
クライアント・デバイス１８０は、記載の実施形態に従って様々な方法を実行するように動作する１つまたは複数のクライアント・プログラムを含むかまたは用いることができる。１つの実施形態では、例えば、クライアント・デバイス８１０はクライアント・アプリケーション１９０を実施することができる。
【００８２】
ロード・バランサ８１０は、クライアント・デバイス１８０上で実行することができるような様々なクライアント・アプリケーションと、様々なタイル・コンポーネント８５０−ｇとの間を仲介するように動作可能であり得る。ロード・バランサ８１０は、クライアント・デバイス１８０からロケーション・ベースの要求１３０を受信し、分散コンピューティング環境において並列サーバ間でタスクを分散するための任意の既知の技法のうちの１つに基づいて、このロケーション・ベースの要求を複数のタイル・コンポーネント８５０−ｇのうちの１つのタイル・コンポーネント１５０に配信することができる。
【００８３】
サーバ・デバイス８２０−ｆは、記載の実施形態に従って様々な方法を実行するように動作する１つまたは複数のサーバ・プログラムを含むかまたは用いることができる。１つの実施形態では、例えば、サーバ・デバイス８２０−ｆは複数のタイル・コンポーネント８５０−ｇを実装することができる。複数のタイル・コンポーネント８５０−ｇのそれぞれは、ロケーション・ベースの情報のための要求を受信し、要求側のクライアント・デバイスに返送するための応答用の複数組のタイルを決定するように動作可能であり得る。
【００８４】
開示されるアーキテクチャの新規の態様を実行するための例示的な方法を表す１組のフローチャートが本明細書に含まれる。説明を簡単にするために、例えば、フローチャートまたはフロー図の形態で本明細書に示されている１つまたは複数の方法が、一連の動作として示され、説明されているが、いくつかの動作は、それらの動作に応じて、本明細書に示され説明されるものと異なる順序でおよび／または他の動作と同時に行われる場合があるので、本方法は動作の順序によって限定されないことを理解および認識されたい。例えば、当業者であれば、方法は、代替的に、状態図等において一連の相関する状態またはイベントとして表され得ることを理解および認識するであろう。更に、方法において例示される全ての動作が新規の実施態様に必要であるわけではない場合がある。
【００８５】
図９は、論理フロー９００の１つの実施形態を示す。論理フロー９００は、本明細書に記載の１つまたは複数の実施形態によって実行される動作のうちのいくつかまたは全てを表すことができる。
【００８６】
図９に示す例示される実施形態では、論理フロー９００は、ブロック９０２において、クライアント・アプリケーション１９０から、地理的領域を含むロケーション・ベースの要求１３０を受信することができる。例えば、モバイル・デバイスにおけるクライアント・アプリケーション１９０から受信されるロケーション・ベースの要求１３０であり、地理的領域は、モバイル・デバイスの現在のロケーション２２５を含む。いくつかの実施形態では、ロケーション・ベースの要求１３０はズーム・レベルを指定することができる。
【００８７】
論理フロー９００は、クライアント・アプリケーション１９０から、第２のロケーション・ベースの要求を受信することができる。第２のロケーション・ベースの要求は第２の地理的領域を含み、第２のロケーション・ベースの要求は、以前のロケーション・ベースの要求としてタグ付けされたロケーション・ベースの要求１３０および地理的領域を含み、第２の地理的領域は、以前のロケーション・ベースの要求からの地理的領域と重複している。
【００８８】
論理フロー９００は、地理的領域をカバーする複数のタイル１７０を決定することができる。ブロック９０４において、複数のタイル１７０の各タイルが、地理的領域の一部分をカバーし、１組のロケーションを含む。
【００８９】
例えば、複数のタイル１７０の各々は、ロケーション・タイプのカテゴリに固有であり得る。複数のタイル１７０を決定することは、受信したロケーション・ベースの要求１３０をロケーション・タイプのカテゴリにマッピングし、ロケーション・タイプのマッピングされたカテゴリに従って複数のタイル１７０を決定することを含むことができる。複数のタイル１７０は第１のタイルを含むことができ、第１のタイルは第１の地理的領域をカバーし、第１のタイルは、第１の地理的領域内の第１の組のロケーションを含み、第１の組のロケーションは、ロケーションの組全体における、選択される第１の組のロケーションの相対的重要度に従ってロケーションの組全体から選択される。複数のタイル１７０の各々がロケーション・タイプのカテゴリに固有である場合、第１のタイルは、ロケーション・タイプのカテゴリに固有の一組のロケーション全体における、選択される第１の組のロケーションの相対的重要度に従って、ロケーション・タイプのそのカテゴリのロケーション組全体から選択される第１の組のロケーションを含むことができる。
【００９０】
ロケーション・ベースの要求１３０がズーム・レベルを指定する場合、複数のタイル１７０を決定することは、指定されたズーム・レベルを、複数のタイル１７０の各々に関連付けられたズーム・レベルの範囲にマッチングすることを含むことができる。
【００９１】
複数のタイル１７０は第１のタイルおよび第２のタイルを含むことができ、第１のタイルは第１の地理的領域をカバーし、第２のタイルは第１の地理的領域と別個の第２の地理的領域をカバーし、第１の地理的領域は第２の地理的領域よりも大きい。いくつかの実施形態では、第１の地理的領域は、第１の地理的領域がより低い密度の関連ロケーションを含むという判断に応答して、第２の地理的領域よりも大きいものとして構築される場合がある。
【００９２】
論理フロー９００は、別個の隣接する地理的領域をカバーするか、または異なるズーム・レベルで地理的領域の少なくとも一部分をカバーする、ロケーション・ベースの要求１３０に関係する第２の複数のタイルを決定し、クライアント・アプリケーション１９０に、第２の複数のタイルを要求するように命令し、クライアント・アプリケーション１９０から、第２の複数のタイルを求める要求を受信し、第２の複数のタイルをクライアント・アプリケーション１９０に送信することを更に含むことができる。
【００９３】
第２のロケーション・ベースの要求がクライアント・アプリケーション１９０から受信された場合、論理フロー９００は、残りの領域をカバーし、以前のロケーション・ベースの要求からの地理的領域をカバーするのに用いられるタイルを除外する第２の複数のタイルを決定することができる。
【００９４】
論理フロー９００は、ブロック９０６において、複数のタイル１７０をクライアント・アプリケーション１９０に送信することができる。例えば、送信される複数のタイル１７０は、モバイル・デバイスにおいてマップ上にオーバレイとして表示するためのものとすることができ、受信した一組のロケーションに対するモバイル・デバイスの現在のロケーション２２５の表示を含む。
【００９５】
第２の複数のタイルが決定された場合、論理フロー９００は、第２の複数のタイルをクライアント・アプリケーション１９０に送信することができる。
実施形態はこの例に限定されない。
【００９６】
図１０は、上記に記載の様々な実施形態を実施するのに適した例示的なコンピューティング・アーキテクチャ１０００の１実施形態を示す。１つの実施形態では、コンピューティング・アーキテクチャ１０００は、電子デバイスを備えるか、電子デバイスの一部として実施されることが可能である。電子デバイスの例は、中でも、図７および図８を参照して説明したものを含むことができる。実施形態はこの文脈に限定されない。
【００９７】
本出願において用いられるとき、「システム」および「コンポーネント」という語は、ハードウェア、ハードウェアおよびソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアのいずれかである、コンピュータに関係したエンティティを指すことを意図され、それらの例が、例示的なコンピューティング・アーキテクチャ１０００によって提供される。例えば、コンポーネントは、限定ではないが、プロセッサにおいて実行されるプロセス、プロセッサ、ハードディスク・ドライブ、（光学および／または磁気記録媒体の）マルチ記録・ドライブ、オブジェクト、実行ファイル、実行スレッド、プログラムおよび／またはコンピュータであり得る。例示のために、サーバ上で実行されるアプリケーションおよびサーバの双方がコンポーネントであり得る。１つまたは複数のコンポーネントがプロセスおよび／または実行スレッド内に常駐することができ、コンポーネントは、１つのコンピュータ上に局在することができ、および／または２つ以上のコンピュータ間で分散され得る。更に、コンポーネントは、動作を協調させるように、様々なタイプの通信媒体によって互いに通信可能に結合され得る。協調は、情報の一方向または双方向の交換を含むことができる。例えば、コンポーネントは、通信媒体により通信される信号の形態で情報を通信することができる。情報は、様々な信号線に割り当てられる信号として実施され得る。そのような割り当てにおいて、各メッセージは信号である。一方、更なる実施形態は、代替的にデータ・メッセージを用いることができる。そのようなデータ・メッセージは、様々な接続にわたって送信され得る。例示的な接続は、パラレル・インターフェース、シリアル・インターフェースおよびバス・インターフェースを含む。
【００９８】
コンピューティング・アーキテクチャ１０００は、１つまたは複数のプロセッサ、マルチコア・プロセッサ、コプロセッサ、メモリ・ユニット、チップ・セット、コントローラ、周辺機器、インターフェース、オシレータ、タイミング・デバイス、ビデオ・カード、オーディオ・カード、マルチメディア入出力（Ｉ／Ｏ）コンポーネント、電源等の様々な一般的なコンピューティング要素を含む。しかしながら、実施形態は、コンピューティング・アーキテクチャ１０００による実施に限定されない。
【００９９】
図１０に示すように、コンピューティング・アーキテクチャ１０００は、処理ユニット１００４、システム・メモリ１００６およびシステム・バス１００８を備える。処理ユニット１００５４、限定ではないが、ＡＭＤ（登録商標）プロセッサ、Ａｔｈｌｏｎ（登録商標）プロセッサ、Ｄｕｒｏｎ（登録商標）プロセッサおよびＯｐｔｅｒｏｎ（登録商標）プロセッサ；ＡＲＭ（登録商標）のアプリケーションプロセッサ、組込み型プロセッサおよびセキュアプロセッサ；ＩＢＭ（登録商標）およびＭｏｔｏｒｏｌａ（登録商標）のＤｒａｇｏｎＢａｌｌ（登録商標）プロセッサおよびＰｏｗｅｒＰＣ（登録商標）プロセッサ；ＩＢＭおよびＳｏｎｙ（登録商標）のセル・プロセッサ；Ｉｎｔｅｌ（登録商標）のＣｅｌｅｒｏｎ（登録商標）プロセッサ、Ｃｏｒｅ（２）Ｄｕｏ（登録商標）プロセッサ、Ｉｔａｎｉｕｍ（登録商標）プロセッサ、Ｐｅｎｔｉｕｍ（登録商標）プロセッサ、Ｘｅｏｎ（登録商標）プロセッサおよびＸＳｃａｌｅ（登録商標）プロセッサ；ならびに同様なプロセッサを含む様々な市販のプロセッサのうちの任意のものであり得る。デュアル・マイクロプロセッサ、マルチコア・プロセッサおよび他のマルチプロセッサアーキテクチャも処理ユニット１００４として用いられることが可能である。
【０１００】
システム・バス１００８は、限定ではないがシステム・メモリ１００６を含むシステム・コンポーネントのためのインターフェースを処理ユニット１００４に提供する。システム・バス１００８は、多岐にわたる市販のバス・アーキテクチャのうちの任意のものを用いてメモリ・バス（メモリ・コントローラを有するかまたは有しない）、周辺バスおよびローカルバスに更に相互接続することができるいくつかのタイプのバス構造のうちの任意のものとすることができる。インターフェース・アダプタは、スロット・アーキテクチャを介してシステム・バス１００８に接続することができる。例示的なスロット・アーキテクチャは、限定ではないが、アクセラレーテッド・グラフィックス・ポート（ＡＧＰ：Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）、カード・バス、（拡張）業界標準アーキテクチャ（（Ｅ）ＩＳＡ：（Ｅｘｔｅｎｄｅｄ）Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、マイクロ・チャネル・アーキテクチャ（ＭＣＡ：Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、ＮｕＢｕｓ、周辺コンポーネント相互接続（拡張）（ＰＣＩ（Ｘ）：Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（Ｅｘｔｅｎｄｅｄ））、ＰＣＩエクスプレス、パーソナル・コンピュータ・メモリ・カード国際組織（ＰＣＭＣＩＡ：Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）等を含むことができる。
【０１０１】
コンピューティング・アーキテクチャ１０００は、様々な製造品を含むかまたは実装することができる。製造品は、ロジックを記憶するためのコンピュータ可読記録媒体を含むことができる。コンピュータ可読記録媒体の例は、揮発性メモリまたは不揮発性メモリ、取外し可能または非取外し可能メモリ、消去可能または非消去可能メモリ、書き込み可能または書き換え可能メモリ等を含む、電子データを記憶することが可能な任意の有形媒体を含むことができる。ロジックの例は、ソース・コード、コンパイルされたコード、解釈実行されたコード、実行可能コード、スタティック・コード、ダイナミック・コード、オブジェクト指向コード、視覚コード等の任意の適切なタイプのコードを用いて実施される実行可能なコンピュータ・プログラム命令を含むことができる。実施形態はまた、１つまたは複数のプロセッサによって読出しおよび実行されて、本明細書に記載の動作の実行を可能にすることができる、非一時的コンピュータ可読媒体に含まれるかまたは非一時的コンピュータ可読媒体上にある命令として少なくとも部分的に実施されることが可能である。
【０１０２】
システム・メモリ１００６は、読出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、ダブル・データ・レートＤＲＡＭ（ＤＤＲＡＭ：Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ  ＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ：ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ：ｓｔａｔｉｃ  ＲＡＭ）、プログラマブルＲＯＭ（ＰＲＯＭ：ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、消去可能なプログラマブルＲＯＭ（ＥＰＲＯＭ：ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、電気的に消去可能なプログラマブルＲＯＭ（ＥＥＰＲＯＭ：ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、フラッシュ・メモリ、強誘電性ポリマ・メモリ等のポリマ・メモリ、オーボニック・メモリ（ｏｖｏｎｉｃ  ｍｅｍｏｒｙ）、相変化または強誘電性メモリ、シリコン−酸化物−窒化物−酸化物−シリコン（ＳＯＮＯＳ：ｓｉｌｉｃｏｎ−ｏｘｉｄｅ−ｎｉｔｒｉｄｅ−ｏｘｉｄｅ−ｓｉｌｉｃｏｎ）メモリ、磁気カードまたは光カード、独立ディスクの冗長アレイ（ＲＡＩＤ：Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）ドライブ等のデバイスのアレイ、ソリッド・ステート・メモリ・デバイス（例えば、ＵＳＢメモリ、ソリッド・ステート・ドライブ（ＳＳＤ：ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ）および情報を記憶するのに適した任意の他のタイプの記録媒体等の１つまたは複数の高速メモリ・ユニットの形態の様々なタイプのコンピュータ可読記録媒体を含むことができる。図１０に示す例示される実施形態では、システム・メモリ１００６は、不揮発性メモリ１０１０および／または揮発性メモリ１０１２を含むことができる。基本入出力システム（ＢＩＯＳ：ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）を不揮発性メモリ１０１０に記憶することができる。
【０１０３】
コンピュータ１００２は、内部（または外部）ハードディスク・ドライブ（ＨＤＤ）１０１４、取外し可能な磁気ディスク１０１８に対し読出しまたは書き込みを行うための磁気フロッピー・ディスク・ドライブ（ＦＤＤ）１０１６、および取外し可能な光ディスク１０２２（例えば、ＣＤ−ＲＯＭまたはＤＶＤ）に対し読出しまたは書き込みを行うための光ディスク・ドライブ１０２０を含む１つまたは複数の低速メモリ・ユニットの形態で様々なタイプのコンピュータ可読記録媒体を備えることができる。ＨＤＤ１０１４、ＦＤＤ１０１６および光ディスク・ドライブ１０２０は、それぞれＨＤＤインターフェース１０２４、ＦＤＤインターフェース１０２６、および光ドライブ・インターフェース１０２８によってシステム・バス１００８に接続されることが可能である。外部ドライブ実装のためのＨＤＤインターフェース１０２４は、ユニバーサル・シリアル・バス（ＵＳＢ）およびＩＥＥＥ１３９４インターフェース技術の少なくとも一方または双方を含むことができる。
【０１０４】
ドライブおよび関連するコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能命令等の揮発性記録および／または不揮発性記録を提供する。例えば、オペレーティング・システム１０３０、１つまたは複数のアプリケーション・プログラム１０３２、他のプログラム・モジュール１０３４およびプログラム・データ１０３６を含む複数のプログラム・モジュールがドライブおよびメモリ・ユニット１０１０、１０１２に記憶され得る。１つの実施形態では、１つまたは複数のアプリケーション・プログラム１０３２、他のプログラム・モジュール１０３４およびプログラム・データ１０３６は、例えば、検索システム１００の様々なアプリケーションおよび／またはコンポーネントを含むことができる。
【０１０５】
ユーザは、１つまたは複数の有線／無線入力デバイス、例えば、キーボード１０３８、およびマウス１０４０等のポインティング・デバイスを通じてコンピュータ１００２にコマンドおよび情報を入力することができる。他の入力デバイスは、マイクロフォン、赤外線（ＩＲ）リモート・コントロール、無線周波数（ＲＦ）リモート・コントロール、ゲーム・パッド、スタイラス・ペン、カード・リーダ、ドングル、指紋リーダ、グローブ、グラフィック・タブレット、ジョイスティック、キーボード、網膜リーダ、タッチ・スクリーン（例えば、容量型、抵抗型等）、トラックボール、トラックパッド、センサ、スタイラス等を含むことができる。これらのおよび他の入力デバイスは、多くの場合に、システム・バス１００８に結合された入力デバイス・インターフェース１０４２を通じて処理ユニット１００４に接続されるが、パラレル・ポート、ＩＥＥＥ１３９４シリアル・ポート、ゲーム・ポート、ＵＳＢポート、ＩＲインターフェース等の他のインターフェースによって接続されてもよい。
【０１０６】
モニタ１０４４または他のタイプの表示デバイスも、ビデオ・アダプタ１０４６等のインターフェースを介してシステム・バス１００８に接続される。モニタ１０４４は、コンピュータ１００２に対し内部または外部にあり得る。モニタ１０４４に加えて、コンピュータは通常、スピーカ、プリンタ等の他の周辺出力デバイスを備える。
【０１０７】
コンピュータ１００２は、リモート・コンピュータ１０４８等の１つまたは複数のリモート・コンピュータへの有線および／または無線通信を介して論理接続を用いてネットワーク化された環境において動作することができる。リモート・コンピュータ１０４８は、ワークステーション、サーバ・コンピュータ、ルータ、パーソナル・コンピュータ、ポータブル・コンピュータ、マイクロプロセッサに基づく娯楽機器、ピア・デバイス、または他の共通ネットワーク・ノードであり得、通常、コンピュータ１００２について記載した要素のうちの多くまたは全てを備えるが、簡潔にするために、メモリ／記録・デバイス１０５０のみが示されている。描かれる論理接続は、ローカル・エリア・ネットワーク（ＬＡＮ）１０５２および／またはより大きなネットワーク、例えば広域ネットワーク（ＷＡＮ）１０５４への有線／無線接続を含む。そのようなＬＡＮおよびＷＡＮネットワーキング環境は、事務所および会社において一般的であり、イントラネット等の、企業規模のコンピュータ・ネットワークを容易にする。これらは全て、グローバル通信ネットワーク、例えばインターネットに接続することができる。
【０１０８】
ＬＡＮネットワーキング環境において用いられるとき、コンピュータ１００２は、有線および／または無線通信ネットワーク・インターフェースまたはアダプタ１０５６を通じてＬＡＮ１０５２に接続される。アダプタ１０５６は、ＬＡＮ１０５２への有線および／または無線通信を容易にすることができる。ＬＡＮ１０５２も、アダプタ１０５６の無線機能と通信するために配置された無線アクセス・ポイントを含むことができる。
【０１０９】
ＷＡＮネットワーキング環境において用いられるとき、コンピュータ１００２は、モデム１０５８を含むことができるか、またはＷＡＮ１０５４の通信サーバに接続されるか、またはインターネット等によってＷＡＮ１０５４を介して、通信を確立する他の手段を有する。内部または外部の、有線および／または無線デバイスであり得るモデム１０５８は、入力デバイス・インターフェース１０４２を介してシステム・バス１００８に接続する。ネットワーク化された環境では、コンピュータ１００２について述べられたプログラム・モジュールまたはその一部分をリモート・メモリ／記録・デバイス１０５０に記憶することができる。示されるネットワーク接続は例示であり、コンピュータ間で通信リンクを確立する他の手段が用いられてもよいことが理解されよう。
【０１１０】
コンピュータ１００２は、ＩＥＥＥ８０２系規格を用いて、無線通信（例えば、ＩＥＥＥ８０２．１０オーバー・ザ・エアー変調技法）において動作可能に配置される無線デバイス等の、有線および無線デバイスまたはエンティティと通信するように動作可能である。これは、少なくとも、中でも、Ｗｉ−Ｆｉ（または無線フィデリティ）、ＷｉＭａｘおよびＢｌｕｅｔｏｏｔｈ（商標）の無線通信技術を含む。このため、この通信は従来のネットワークと同じように予め定義された通信構造であり得るか、または、単に少なくとも２つの装置の間におけるアドホック通信であり得る。Ｗｉ−Ｆｉネットワークは、安全で信頼性が高く高速なワイヤレス接続を提供するＩＥＥＥ８０２．１０ｘ（ａ、ｂ、ｇ、ｎ等）と称される無線技術を用いる。Ｗｉ−Ｆｉネットワークはコンピュータを互いに、インターネットに、および有線ネットワーク（ＩＥＥＥ８０２．３関連の媒体および機能を用いる）に接続するのに用いられ得る。
【０１１１】
図１１は上記の様々な実施形態を実施するのに適した例示的な通信アーキテクチャ１１００のブロック図を示す。この通信アーキテクチャ１１００は、トランスミッタ、レシーバ、トランシーバ、無線通信装置、ネットワーク・インターフェース、ベースバンド・プロセッサ、アンテナ、増幅器、フィルタ、電源等の様々な一般的な通信要素を含む。しかしながら、本発明の実施形態は通信アーキテクチャ１１００による実施に限定されない。
【０１１２】
図１１に示されるように、通信アーキテクチャ１１００は１つまたは複数のクライアント１１０２およびサーバ１１０４を含む。クライアント１１０２はクライアント・デバイス９１０を実装することができる。サーバ１１０４はサーバ・デバイス９５０を実装することができる。クライアント１１０２およびサーバ１１０４は、１つまたは複数のそれぞれのクライアント・データ・ストア１１０８およびサーバ・データ・ストア１１１０に動作可能に接続されている。これらは、クッキーおよび／または関連付けられた文脈情報等のそれぞれのクライアント１１０２およびサーバ１１０４にローカルな情報を記憶するために利用されることが可能である。
【０１１３】
クライアント１１０２およびサーバ１１０４は通信フレームワーク１１０６を用いて互いの間で情報を通信することができる。通信フレームワーク１１０６は任意の既知の通信技法およびプロトコルを実装することができる。通信フレームワーク１１０６は、パケット交換網（例えば、インターネット等の公衆ネットワーク、社内イントラネット等のプライベート・ネットワーク等）、回線交換網（例えば、公衆交換電話網）、またはパケット交換網と回線交換網との組合せ（適切なゲートウェイおよびトランスレータを備える）として実装されることが可能である。
【０１１４】
通信フレームワーク１１０６は、通信ネットワークを受け入れ、通信ネットワークと通信し、通信ネットワークに接続するように構成される様々なネットワーク・インターフェースを実施することができる。ネットワーク・インターフェースは、特殊な形態の入出力インターフェースと見なされ得る。ネットワーク・インターフェースは、限定ではないが、直接接続、イーサネット（例えば、シック、シン、ツイスト・ペア１０／１００／１０００ＢａｓｅＴ等）、トークン・リング、無線ネットワーク・インターフェース、セルラ・ネットワーク・インターフェース、ＩＥＥＥ８０２．１１ａ−ｘネットワーク・インターフェース、ＩＥＥＥ８０２．１６ネットワーク・インターフェース、ＩＥＥＥ８０２．２０ネットワーク・インターフェース等を含む接続プロトコルを用いることができる。更に、様々な通信ネットワークタイプと関わるために複数のネットワーク・インターフェースが用いられ得る。例えば、ブロードキャスト、マルチキャストおよびユニキャスト・ネットワークによる通信を可能にするために、複数のネットワーク・インターフェースが用いられることが可能である。処理要件がより高い速度およびより多くの容量を指示する場合、クライアント１１０２およびサーバ１１０４によって必要とされる通信帯域幅をプールし、負荷分散し、他の形で増大させるために、分散ネットワーク・コントローラ・アーキテクチャが同様に利用されることが可能である。通信ネットワークは、限定ではないが、直接相互接続、セキュア化されたカスタム接続、プライベート・ネットワーク（例えば、社内イントラネット）、公衆ネットワーク（例えば、インターネット）、パーソナル・エリア・ネットワーク（ＰＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、インターネット上のノードとして動作しているミッション（ＯＭＮＩ：Ｏｐｅｒａｔｉｎｇ  Ｍｉｓｓｉｏｎｓ  ａｓ  Ｎｏｄｅｓ  ｏｎ  ｔｈｅ  Ｉｎｔｅｒｎｅｔ）、広域ネットワーク（ＷＡＮ）、無線ネットワーク、セルラ・ネットワークおよび他の通信ネットワークを含む有線および／または無線ネットワークのうちの任意の１つまたはそれらの組合せであり得る。
【０１１５】
いくつかの実施形態は、「１つの実施形態」または「実施形態」という表現と、それらの派生語とを用いて説明され得る。これらの用語は、実施形態に関して説明される特定の特徴、構造または特性が少なくとも１つの実施形態に含まれることを意味している。本明細書の様々な箇所に現れる「１つの実施形態において」というフレーズは、必ずしも全てが同じ実施形態を指しているわけではない。更に、いくつかの実施形態は、「結合された」および「接続された」という表現と、それらの派生語とを用いて説明され得る。これらの表現は必ずしも互いの同義語として意図されているわけではない。例えば、いくつかの実施形態は、「接続された」および／または「結合された」という表現を用いることにより、２つ以上の要素が直接物理的にまたは電気的に相互接触していることを示すように説明され得る。一方、「結合された」という用語は、２つ以上の要素が互いに直接接触していないが、それでも互いに協働またはインタラクトしていることを意味する場合もある。
【０１１６】
本明細書において用いられる表記および専門用語を全体的に参照すると、本明細書における詳細な説明は、コンピュータまたはコンピュータのネットワーク上で実行されるプログラム・プロシージャの観点で表され得る。これらの手続き的（ｐｒｏｃｅｄｕｒａｌ）記載および表現は、当業者によって、当該技術分野における他の当業者に自身の研究の本質を最も効果的に伝えるために用いられている。
【０１１７】
プロシージャとは、ここでは、また一般的に、所望の結果をもたらすオペレーションの首尾一貫したシーケンスであると考えられる。これらのオペレーションは、物理的量の物理的操作を必要とするものである。必須ではないが通例、これらの量は、記憶、転送、組合せ、比較および他の形で操作されることが可能な電気信号、磁気信号または光信号の形態をとる。場合によっては、主に一般的用法の理由から、これらの信号を、ビット、値、要素、シンボル、文字、語、数等と呼ぶことが好都合であることがわかっている。しかしながら、これらの用語および同様の用語は全て適切な物理的量に関連付けられ、これらの量に適用される好都合なラベルにすぎないことに留意されたい。
【０１１８】
更に、実行される操作は、多くの場合、人間のオペレータによって実行される知的オペレーションに一般的に関連付けられる、追加または比較等の用語で参照される。１つまたは複数の実施形態の一部を形成する、本明細書に説明されるオペレーションのいずれにおいても、人間のオペレータのそのような能力は必要でないか、ほとんどの場合に望ましくない。むしろ、オペレーションは機械オペレーションである。様々な実施形態のオペレーションを実行するための有用な機械は、汎用デジタル・コンピュータまたは同様のデバイスを含む。
【０１１９】
様々な実施形態は、これらのオペレーションを実行するための装置またはシステムにも関する。この装置は、必要とされる目的のために特に構築されることが可能であるか、またはコンピュータに記憶されるコンピュータ・プログラムによって選択的にアクティベートまたは再構成される汎用コンピュータを含むことができる。本明細書において提示されるプロシージャは、特定のコンピュータまたは他の装置に本質的に関係しない。様々な汎用機械は、本明細書における教示に関連して書かれたプログラムと共に用いられ得るか、または、必要とされる方法ステップを実行する、より特殊な装置を構築することが好都合であるとわかる場合がある。様々なこれらの機械のために必要とされる構造は、与えられる説明から明らかとなるであろう。
【０１２０】
本開示の要約書は、読み手が技術的開示の本質を迅速に理解できるようにするために提供されていることを強調しておく。要約書は、特許請求の範囲の範囲または意味を解釈または限定することに用いられないという理解のもとに提出されている。更に、上記した「発明を実施するための形態」においては、開示を効率化するために様々な特徴がまとめて単一の実施形態にされていることを見てとることができる。このような開示方法は、特許請求される実施形態が各請求項に明示的に記された特徴以外のものを必要とする意図を表していると解釈されるべきではない。むしろ、以下の特許請求の範囲が表しているように、本発明の主題は、開示されている単一の実施形態の全特徴よりも少ない特徴にある。このため、以下の特許請求の範囲は本明細書において「発明を実施するための形態」に組み込まれ、各請求項は独立した１つの実施形態に基づく。添付の特許請求の範囲において「ｉｎｃｌｕｄｉｎｇ（含む、備える）」および「ｉｎ  ｗｈｉｃｈ」という表現はそれぞれ、平易な英語に相当する表現である「ｃｏｍｐｒｉｓｉｎｇ（含む、備える）」および「ｗｈｅｒｅｉｎ」として用いられている。また、「第１の」、「第２の」、「第３の」等の用語は単にラベルとして用いられており、それらの対象物に数的限定を課すことを意図したものではない。
【０１２１】
上記で説明したものは、開示されているアーキテクチャの例を含む。当然ながら、コンポーネントおよび／または方法の全ての考え得る組合せを記載することは不可能であるが、当業者であれば、多くの更なる組合せおよび置き換えが可能であることを認識することができる。したがって、新規のアーキテクチャは、添付の特許請求の範囲の趣旨および範囲内にある全ての変化、変更および変形を包含することが意図される。
【図１】
0006515102.tif 000002
【図２】
0006515102.tif 000003
【図３】
0006515102.tif 000004
【図４】
0006515102.tif 000005
【図５】
0006515102.tif 000006
【図６】
0006515102.tif 000007
【図７】
0006515102.tif 000008
【図８】
0006515102.tif 000009
【図９】
0006515102.tif 000010
【図１０】
0006515102.tif 000011
【図１１】
0006515102.tif 000012