JP2017523485A - ロケーション・ベースの情報をサーバ制御によりタイリングするための技法 - Google Patents

ロケーション・ベースの情報をサーバ制御によりタイリングするための技法 Download PDF

Info

Publication number
JP2017523485A
JP2017523485A JP2016540877A JP2016540877A JP2017523485A JP 2017523485 A JP2017523485 A JP 2017523485A JP 2016540877 A JP2016540877 A JP 2016540877A JP 2016540877 A JP2016540877 A JP 2016540877A JP 2017523485 A JP2017523485 A JP 2017523485A
Authority
JP
Japan
Prior art keywords
tiles
location
tile
client application
geographic
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.)
Granted
Application number
JP2016540877A
Other languages
English (en)
Other versions
JP6515102B2 (ja
Inventor
ジャバロフ、ゲオルギ
ホイ、ダニエル
ウィリアムズ、ジョシュア
Original Assignee
フェイスブック,インク.
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 フェイスブック,インク. filed Critical フェイスブック,インク.
Publication of JP2017523485A publication Critical patent/JP2017523485A/ja
Application granted granted Critical
Publication of JP6515102B2 publication Critical patent/JP6515102B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)
  • Instructional Devices (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Navigation (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

ロケーション・ベースの情報をサーバ制御によりタイリングする技法が記載される。装置は、通信コンポーネントとタイル・コンポーネントとを備えることができる。通信コンポーネントは、クライアント・アプリケーションから、地理的領域を含むロケーション・ベースの検索要求を受信し、複数のタイルをクライアント・アプリケーションに送信するように動作可能であり得る。タイル・コンポーネントは、地理的領域をカバーする一組のタイルとして複数のタイルを決定するように動作可能であり得る。これらの複数のタイルの各タイルは地理的領域の一部分をカバーし、一組のロケーションを含む。他の実施形態も記載され、特許請求される。

Description

以下は、本明細書に記載されるいくつかの新規の実施形態の基本的な理解を提供するために、簡単な概要を提示する。この概要は、包括的な概観ではなく、本発明の主要/重要要素を特定することも、本発明の範囲を画定することも意図していない。この概要の唯一の目的は、後に提示されるより詳細な説明への前置きとして、いくつかの概念を簡単な形態で提示することである。
様々な実施形態は、包括的には、ロケーション・ベースの情報をサーバ制御によりタイリングするための技法を対象とする。いくつかの実施形態は、ロケーション・ベースの検索要求に応答して送達されるロケーション・ベースの情報をサーバ制御によりタイリングする技法を特に対象とする。1つの実施形態では、例えば、装置は通信コンポーネントおよびタイル・コンポーネントを備え得る。通信コンポーネントは、クライアント・アプリケーションから、地理的領域を含むロケーション・ベースの検索要求を受信し、複数のタイルをクライアント・アプリケーションに送信するように動作可能であり得る。タイル・コンポーネントは、複数のタイルを、地理的領域をカバーする一組のタイルとして決定するように動作可能であり得る。複数のタイルの各タイルは地理的領域の一部分をカバーし、一組のロケーションを含む。他の実施形態も記載され、特許請求される。
上記を達成するために、および関連する目的のために、ある特定の例示的な態様が、以下の説明および添付の図面に関連して本明細書において記載される。これらの態様は、本明細書において開示される原理を実行することができる様々な方法を示し、全ての態様およびその均等物が、特許請求される主題の範囲内にあることが意図される。他の利点および新規の特徴は、以下の詳細な説明を図面と併せて検討することにより明らかとなるであろう。
ロケーション・ベースの情報をサーバ制御によりタイリングするためのシステムの1実施形態を示す図。 図1のシステムのための動作環境の1実施形態を示す図。 図1のシステムから受信したタイルを表示するデバイスの1実施形態を示す図。 図1のシステムから受信した変更されたタイルを表示するデバイスの1実施形態を示す図。 図1のシステムの、より高いズーム・レベルにおけるタイルの1実施形態を示す図。 図1のシステムの検索領域に重ねるためのタイルの1実施形態を示す図。 図1のシステムのための集中型システムの1実施形態を示す図。 図1のシステムのための分散システムの1実施形態を示す図。 図1のシステムのための論理フローの1実施形態を示す図。 コンピューティング・アーキテクチャの1実施形態を示す図。 通信アーキテクチャの1実施形態を示す図。
(特定の実施形態の概要)
本発明による実施形態は、特に、方法、記録媒体およびシステムを対象とする添付の特許請求の範囲において開示される。1つの特許カテゴリ、例えば方法において言及される任意の特徴は、別の特許カテゴリ、例えばシステムにおいても特許請求され得る。添付の特許請求の範囲における従属関係または参照は形式的理由のみで選択される。しかしながら、(特に多重従属において)任意の先行する請求項を注意深く参照した結果得られる任意の主題も同様に特許請求され得る。したがって、添付の特許請求の範囲において選択される従属関係にかかわらず、請求項およびその特徴部の任意の組合せが開示され、特許請求され得る。
本発明による1実施形態において、コンピュータにより実施される方法が、
クライアント・アプリケーションから、地理的領域と、オプションで、地理的領域を検索することに関係する追加データとを含む、ロケーション・ベースの要求を受信する工程と、
好ましくは地理的領域を検索することに関係する追加データを用いることによって、地理的領域をカバーする複数のタイルを決定する工程であって、複数のタイルの各タイルは地理的領域の一部分をカバーし、一組のロケーションを含む、工程と、
複数のタイルをクライアント・アプリケーションに送信する工程と、
からなる。
同様に特許請求され得る本発明による更なる実施形態では、コンピュータにより実施される方法は、
クライアント・アプリケーションから、地理的領域を含むロケーション・ベースの要求を受信する工程と、
地理的領域をカバーする複数のタイルを決定する工程であって、複数のタイルの各タイルは地理的領域の一部分をカバーし、一組のロケーションを含む、工程と、
複数のタイルをクライアント・アプリケーションに送信する工程と、
からなる。
ロケーション・ベースの要求はモバイル・デバイス上のクライアント・アプリケーションから受信することができ、地理的領域はモバイル・デバイスの現在のロケーションを含むことができ、マップ上のオーバレイとしてモバイル・デバイス上に表示するための、送信された複数のタイルは、受信した一組のロケーションに対するモバイル・デバイスの現在のロケーションの表示を含むことができる。
複数のタイルの各々は、ロケーション・タイプのカテゴリに固有とすることができ、
受信したロケーション・ベースの要求をロケーション・タイプのカテゴリにマッピングする工程と、
マッピングされたロケーション・タイプのカテゴリに従って複数のタイルを決定する工程と、を更に含むことができ、好ましくは、追加データは検索データを含み、受信したロケーション・ベースの要求をロケーション・タイプのカテゴリにマッピングする工程は、検索データをロケーション・タイプのカテゴリにマッピングする工程を含む。
同様に特許請求され得る本発明による更なる実施形態では、ロケーション・タイプのカテゴリに固有である複数のタイルの各々は、
受信したロケーション・ベースの要求をロケーション・タイプのカテゴリにマッピングする工程と、
マッピングされたロケーション・タイプのカテゴリに従って複数のタイルを決定する工程と、
を更に含むことができる。
ロケーション・ベースの要求、特に追加データはズーム・レベルを指定し、複数のタイルの各タイルはズーム・レベルの範囲に関連付けられ、
指定されたズーム・レベルを、複数のタイルの各々に関連付けられたズーム・レベルの範囲にマッチングすることによって複数のタイルを決定する工程
を更に含むことができる。
同様に特許請求され得る本発明による更なる実施形態では、ロケーション・ベースの要求はズーム・レベルを指定し、複数のタイルの各タイルはズーム・レベルの範囲に関連付けられ、
指定されたズーム・レベルを、複数のタイルの各々に関連付けられたズーム・レベルの範囲にマッチングすることによって複数のタイルを決定する工程
を更に含むことができる。
複数のタイルは第1のタイルを含むことができ、第1のタイルは第1の地理的領域をカバーすることができ、第1のタイルは、第1の地理的領域内の一組の第1のロケーションを含むことができ、一組の第1のロケーションは、一組のロケーション全体の中の選択される一組の第1のロケーションの相対的重要度に従って、一組のロケーション全体から選択することができる。
複数のタイルは、第1のタイルおよび第2のタイルを含むことができ、第1のタイルは第1の地理的領域をカバーすることができ、第2のタイルは、第1の地理的領域と別個の第2の地理的領域をカバーすることができ、第1の地理的領域は第2の地理的領域よりも大きくすることができる。
第1の地理的領域がより低い密度の関連ロケーションを含むという判断に応答して、第1の地理的領域は第2の地理的領域よりも大きいものとして構築される場合がある。
本発明による更なる実施形態では、本方法は、
別個の隣接する地理的領域をカバーするかまたは異なるズーム・レベルで地理的領域の少なくとも一部分をカバーする、ロケーション・ベースの要求に関係する第2の複数のタイルを決定する工程と、
第2の複数のタイルを要求するようにクライアント・アプリケーションに命令する工程と、
第2の複数のタイルの要求をクライアント・アプリケーションから受信する工程と、
第2の複数のタイルをクライアント・アプリケーションに送信する工程と、
からなることができる。
本発明による更なる実施形態では、本方法は、
クライアント・アプリケーションから第2のロケーション・ベースの要求を受信する工程であって、第2のロケーション・ベースの要求は、第2の地理的領域と、オプションで、第2の地理的領域を検索することに関係する第2の追加データとを含み、第2のロケーション・ベースの要求は、以前のロケーション・ベースの要求としてタグ付けされたロケーション・ベースの要求および地理的領域を含み、第2の地理的領域は、以前のロケーション・ベースの要求からの地理的領域と重複する、工程と、
好ましくは、第2の地理的領域を検索することに関係する第2の追加データを用いることによって、第2の複数のタイルを決定する工程であって、第2の複数のタイルは残りの領域をカバーし、以前のロケーション・ベースの要求からの地理的領域をカバーするのに用いられるタイルを除外する、工程と、
第2の複数のタイルをクライアント・アプリケーションに送信する工程と、
からなることができる。
同様に特許請求され得る本発明による更なる実施形態では、本方法は、
クライアント・アプリケーションから第2のロケーション・ベースの要求を受信する工程であって、第2のロケーション・ベースの要求は第2の地理的領域を含み、第2のロケーション・ベースの要求は、以前のロケーション・ベースの要求としてタグ付けされたロケーション・ベースの要求および地理的領域を含み、第2の地理的領域は、以前のロケーション・ベースの要求からの地理的領域と重複する、工程と、
残りの領域をカバーし、以前のロケーション・ベースの要求からの地理的領域をカバーするのに用いられるタイルを除外する第2の複数のタイルを決定する工程と、
第2の複数のタイルをクライアント・アプリケーションに送信する工程と、
からなることができる。
本発明による更なる実施形態では、本方法は、
ロケーション・ベースの情報の要求に応答して、検索範囲を決定または受信する工程と、
用いる一組のタイルを決定する工程と、次に、
要求された地理的領域をカバーする、その組内のタイルの集合を決定する工程と、
からなることができる。
検索要求は、地理的領域、検索語、ズーム・レベル、または、ユーザ識別子、クライアント・デバイス識別子、クライアント・アプリケーション識別子、セッション識別子、もしくは検索に潜在的に関係する任意の他のメタデータ等の1つもしくは複数の追加のデータ、のうちの1つまたは複数を含むことができる。
タイルは、タイル・コンポーネントによってタイル・ストアから取り出すことができ、タイル・ストアは、ローカル、リモートまたは分散データベースを含むことができ、タイル・ストア内のタイルは好ましくはカテゴリ、タイプまたは検索トピックによって分割される。
本発明の更なる実施形態では、1つまたは複数のコンピュータ可読非一時的記録媒体が、実行されると、本発明または上述した実施形態のうちの任意のものによる方法を実行するように動作可能なソフトウェアを具現化する。
本発明の更なる実施形態では、システムが、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行可能な命令を含む、1つまたは複数のプロセッサに結合されたメモリからなり、1つまたは複数のプロセッサは、命令を実行するとき、本発明または上述した実施形態のうちの任意のものによる方法を実行するように動作可能である。
本方法は、コンピューティング・デバイス間の特定の地理的ロケーションに結び付けられたロケーション・ベースの情報の交換のために適合することができ、
クライアント・アプリケーションから、地理的領域および地理的領域内のロケーションのリストを受信する要求を含むロケーション・ベースの要求を受信する工程と、
地理的領域をカバーする複数のタイルを決定する工程であって、複数のタイルの各タイルは、地理的領域の一部分をカバーし、上記一組のロケーションを含む、工程と、
複数のタイルをクライアント・アプリケーションに送信する工程と、
からなることができる。
同様に特許請求され得る本発明による更なる実施形態では、装置が、
デバイス上のプロセッサ回路と、
プロセッサ回路上で、クライアント・アプリケーションから、地理的領域を含むロケーション・ベースの要求を受信し、複数のタイルをクライアント・アプリケーションに送信するように動作可能な通信コンポーネントと、
プロセッサ回路上で、複数のタイルを、地理的領域をカバーする一組のタイルとして決定するように動作可能なタイル・コンポーネントであって、複数のタイルの各タイルは地理的領域の一部をカバーし、一組のロケーションを含む、タイル・コンポーネントと、
からなる。
ロケーション・ベースの要求はズーム・レベルを指定することができ、複数のタイルの各タイルはズーム・レベルの範囲に関連付けることができ、タイル・コンポーネントは、指定されたズーム・レベルを、複数のタイルの各々に関連付けられたズーム・レベルの範囲にマッチングすることによって複数のタイルを決定するように動作可能であり得る。
同様に特許請求され得る本発明による更なる実施形態では、装置が、
別個の隣接する地理的領域をカバーするかまたは異なるズーム・レベルで地理的領域の少なくとも一部分をカバーする、ロケーション・ベースの要求に関係する第2の複数のタイルを決定するように動作可能なタイル・コンポーネントと、
第2の複数のタイルを要求するようにクライアント・アプリケーションに命令し、第2の複数のタイルの要求をクライアント・アプリケーションから受信し、第2の複数のタイルをクライアント・アプリケーションに送信するように動作可能な通信コンポーネントと、
からなる。
同様に特許請求され得る本発明による更なる実施形態では、装置が、
クライアント・アプリケーションから第2のロケーション・ベースの要求を受信するように動作可能な通信コンポーネントであって、第2のロケーション・ベースの要求は第2の地理的領域を含み、第2のロケーション・ベースの要求は、以前のロケーション・ベースの要求としてタグ付けされたロケーション・ベースの要求および地理的領域を含み、第2の地理的領域は、以前のロケーション・ベースの要求からの地理的領域と重複し、また当該通信コンポーネントは第2の複数のタイルをクライアント・アプリケーションに送信するように動作可能である、通信コンポーネントと、
残りの領域をカバーし、以前のロケーション・ベースの要求からの地理的領域をカバーするのに用いられるタイルを除外する第2の複数のタイルを決定するように動作可能な第2のタイル・コンポーネントと、
からなる。
同様に特許請求され得る本発明による更なる実施形態では、少なくとも1つのコンピュータ可読記録媒体は命令を含み、命令は、実行されると、システムに、
クライアント・アプリケーションから、地理的領域およびズーム・レベルを含むロケーション・ベースの要求を受信させ、
地理的領域をカバーする複数のタイルを決定させ、複数のタイルの各タイルは地理的領域の一部分をカバーし、上記ズーム・レベルを含むズーム・レベル範囲に関連付けられ、一組のロケーションを含み、
複数のタイルをクライアント・アプリケーションに送信させる。
同様に特許請求され得る本発明による更なる実施形態では、少なくとも1つのコンピュータ可読記録媒体は命令を含み、命令は、実行されると、システムに、
別個の隣接する地理的領域をカバーするかまたは異なるズーム・レベルで地理的領域の少なくとも一部分をカバーする、ロケーション・ベースの要求に関係する第2の複数のタイルを決定させ、
第2の複数のタイルを要求するようにクライアント・アプリケーションに命令させ、
第2の複数のタイルの要求をクライアント・アプリケーションから受信させ、
第2の複数のタイルをクライアント・アプリケーションに送信させる。
同様に特許請求され得る本発明による更なる実施形態では、少なくとも1つのコンピュータ可読記録媒体は命令を含み、命令は、実行されると、システムに、
クライアント・アプリケーションから第2のロケーション・ベースの要求を受信させ、第2のロケーション・ベースの要求は第2の地理的領域およびズーム・レベルを含み、第2のロケーション・ベースの要求は、以前のロケーション・ベースの要求としてタグ付けされたロケーション・ベースの要求、地理的領域およびズーム・レベルを含み、第2の地理的領域は、以前のロケーション・ベースの要求からの地理的領域と重複し、
上記ズーム・レベルにおいて、残りの領域をカバーし、以前のロケーション・ベースの要求からの地理的領域をカバーするのに用いられるタイルを除外する第2の複数のタイルを決定させ、
第2の複数のタイルをクライアント・アプリケーションに送信させる。
様々な実施形態が、ロケーション・ベースの情報(location-based information)を、サーバ制御によりタイリングする(tiling)ための技法を対象とする。コンピューティング・デバイスは、ロケーション・ベースの情報、すなわち、特定の地理的ロケーションに結び付けられているかまたは特定の地理的ロケーションに固有の情報を交換することができる。1つのコンピューティング・デバイスは、別のコンピューティング・デバイスに対し、特定の地理的領域内のロケーションのリストを受信することの要求を作成することができる。これは、地理的領域内の送信者に既知の全てのロケーションのリストを受信することの一般的な要求であってもよく、または、ある特定のトピック、検索に関連のあるもの、指定されたカテゴリに限定されるか、もしくは他の形で制限されてもよい。この要求は、マップ表示を生成するためにウェブ・サーバによってバックエンド・サーバに対し作成されてもよく、地理的情報を含むウェブページを受信するために、ウェブ・ブラウザによってウェブ・サーバに対し作成されてもよく、クライアント・デバイス上で表示するためのロケーション・ベースの情報を受信するためにクライアント・デバイスによってサーバに対し作成されてもよく、またはコンピューティング・デバイスの任意の対間で作成されてもよい。
ロケーション・ベースの情報を求める要求は、定義された地理的領域を通じて指定することができる。要求は、長方形の地理的領域に固有とすることができ、長方形の地理的領域は、コンピューティング・デバイスによって表示されているかまたは表示の準備をされている地理的領域に対応することができる。例えば、モバイル・デバイスは、ユーザから、地元のレストランを表示することの要求を受信して、モバイル・デバイスのユーザ・インターフェースの一部分等に、そのデバイスの周囲の地域をその地域内のレストランのオーバレイ(overlay)と共に表示する準備をすることができる。この領域の大きさ、範囲および境界は、ロケーション・ベースの情報について初期表示領域を推定する様々な技法に従って、モバイル・デバイスによって画定することができる。次に、モバイル・デバイスは、緯度および経度の2つの対によって画定され得るような長方形を、その領域内に含まれるレストランのリストをそれらのレストランの詳細なロケーションと共に受信することのサーバへの要求に含めることができる。マップ領域のこの画定は、ウェブ・ブラウザ、ウェブ・サーバ、またはロケーションのオーバレイと共に表示するマップを準備する任意の他のデバイス内で実行されるプロシージャ(procedure)によって同様に実行することができることが理解されよう。
検索システムのいくつかの実施形態において、指定された地理的領域内のロケーションを特定するために二次元の全範囲検索を行うことができる。一方、ロケーション・ベースの情報を受信するクライアント・デバイスおよびロケーション・ベースの情報を送信するサーバ・デバイスのいずれかまたは双方において検索結果を予め求めるかまたはキャッシュすることが有利である場合がある。したがって、ロケーション・ベースの情報はタイルに従って編成することができる。ここで、タイルは、長方形等の定義された地理的領域についての予め計算された一組のロケーション・ベースの情報を具現化したものである。例えば、サンフランシスコを複数の別々の地理的領域に分解することが可能であり、各地理的領域内の複数のロケーションをまとめて1つのタイルにすることが可能である。したがって、サンフランシスコの一部分についてのロケーション・ベースの情報を求める要求は、組み合わされた領域が都市のその特定の部分をカバーする一組のタイルを生成することによって応答され得る。タイルの境界は検索領域の境界と厳密に合致する可能性が低いため、検索領域の外側の追加のロケーションが応答に含まれる場合があるが、これらの外部ロケーションを送信するのに用いられる帯域幅、およびこれらに対し用いられる処理は、タイルを事前に計算する利点によって埋め合わせされるものよりも多くなる場合がある。タイルは、ピーク時間中の負荷を低減するためにオフピーク時間中に事前計算されることが可能であり、応答時間は、オンデマンド(on-demand)で行われる作業量を低減することによって改善されることが可能である。
いくつかの実施形態では、用いられるタイリング・スキーマは、全ての領域にわたって普遍的に予め決定され、タイルを受信するクライアント・デバイスによって事前に知られることが可能である。例えば、ワールド全体の平坦化されたマップは、等しい大きさの正方形に分解されることが可能であり、正方形はそれぞれ、識別コードを割り当てられ、ロケーション・ベースの情報を所望するクライアント・デバイスが、タイリング・スキーマに従って、対象の地理的領域をカバーするタイルを単に要求しさえすればよいようにすることができる。一方、別の手法には利点がある。クライアント・デバイスがタイリング・スキーマに依存しない場合、マッピングされた領域の変化に従って、インフラストラクチャ、ソフトウェア設計またはプロバイダ優先度の変化に従って、および、ロケーション・ベースの情報を提供することの実証的経験により、現在のタイリング・スキーマの問題、制限または欠点が明らかとなるとき、異なるカテゴリの結果について、異なるロケーションにおいてタイリング・スキーマを変動させることができる。
例えば、タイルを送信する帯域幅コストは、内部に含まれるロケーション数と共に増減する。これにより、地理的検索領域の境界をまたぐ境界タイルを用いて送信される余分なロケーションの数を制限するために、多数のロケーションを有するタイルをより小さなタイルに分解することが促される。一方、タイルは、ヘッダ情報、メタデータ、およびタイルを送信するのに用いられる帯域幅に加わる他のタイル単位のデータを含む場合があり、それによって、低人口の多数のタイルを送信することにより、より大きなタイルでは用いられない帯域幅が無駄になる場合がある。更に、一組のタイルを決定するのに用いられる計算時間は、タイル数に従って増減する場合がある。タイル内の要求に関連するロケーション数は、ロケーション(都市は農村領域よりも密度が高い場合がある)、カテゴリ(カリフォルニア州ハリウッドはテキサス州ヒューストンよりも「映画撮影所」について多くの結果を有する)、時間(都市の人口が増減するとき)等に応じて変動する場合があるため、タイルの大きさを変動させることが有益であり得る。クライアント・アプリケーションがタイリング・スキーマに依存しない場合、そのような変更はサーバ側で行われることが可能であり、それによって、クライアント・アプリケーションは、新たなタイリング・スキーマを用いる前にタイリング・スキーマについての理解を更新する必要はない。
いくつかの実施形態では、異なるズーム・レベルまたは検索範囲において異なるタイリング・スキーマおよび異なるタイルが用いられる場合がある。全ての検索範囲において全ての結果が等しく有用であるわけではない場合がある。例えば、自宅から5ブロック以内のピザ屋を検索しているユーザは、その距離内の全てのピザ屋を見て、それらの中から選択することを可能にされることによって利益を受けることができる。一方、ニューヨーク市への旅行を計画し、ニューヨーク市内の全てのピザ屋にわたって検索を行っているユーザは、市内の最高のピザ屋のみを見ることによって利益を受けることができる。イタリア旅行を計画しているユーザは、この更に広い範囲において、国内の最高のピザ屋のみを見ることにより利益を得る場合がある。したがって、いくつかの実施形態において、複数組のタイルが用いられる場合があり、ここで、各組のタイルは、特定の距離範囲またはズーム・レベルに固有である。したがって、ロケーション・ベースの情報を求める要求に対する応答は、検索範囲を決定または受信すること、いずれの組のタイルを用いるか決定すること、そして要求された地理的領域をカバーする組内のタイルの集合を決定することを含むことができる。
したがって、ユーザは、クライアント・デバイスが依存しない動的タイリング・スキーマを用いる、ロケーション・ベースの情報を提供するシステムによって利益を得ることができる。サーバが可変のサイズおよび寸法のタイルに応じてロケーションを通信することを可能にすることによって、デバイスの帯域幅を効果的に用いられることができ、返される結果の品質を改善することができ、試験システムまたはライブ・システムから収集された性能情報を、クライアント・システムに対する変更なしで、提供される結果に組み込むことができる。結果として、実施形態は、入手可能性、適応性、モジュール性、拡張性、ならびに地理的検索システムのオペレータおよびユーザの相互運用性を改善することができる。
次に図面を参照する。図面において、類似の参照符号は全体を通じて類似の要素を指すのに用いられる。以下の記載において、説明の目的で、本発明の完全な理解を提供するために多数の具体的な詳細が記載される。しかしながら、新規の実施形態はこれらの具体的な詳細なしで実施され得ることは明らかであろう。他の事例では、よく知られた構造およびデバイスは記載を容易にするためにブロック図の形態で示される。特許請求される主題に一致する全ての変更形態、均等物および代替形態を包含することが意図される。
図1は、検索システム100のためのブロック図を示す。1つの実施形態において、検索システム100は1つまたは複数のコンポーネントを備えることができる。図1に示す検索システム100は、ある特定のトポロジにおける限られた数の要素を有するが、検索システム100は、代替的なトポロジにおいて、所与の実施態様に望ましいとおりの、より多くのまたはより少ない要素を備えることができることが理解されよう。
本明細書において用いられる「a」および「b」および「c」ならびに同様の指示子は、任意の正の整数を表す変数であることが意図されることは特筆に値する。このため、例えば、1実施態様が、a=5について値を設定する場合、コンポーネント122−aの完全な組は、コンポーネント122−1、122−2、122−3、122−4および122−5を含むことができる。実施形態はこの文脈に限定されない。
検索システム100は、通信コンポーネント120およびタイル・コンポーネント150を備えることができる。検索システム100は、受信した要求に応答して用いるための所定のタイルを記憶するタイル・ストア160を用いることができる。検索システム100は、クライアント・デバイス180におけるクライアント・アプリケーション190等の複数のクライアント・アプリケーションと対話して、ロケーション・ベースの要求を受信し、複数組のタイルで応答することができる。
通信コンポーネント120は、地理的領域を含むロケーション・ベースの要求130をクライアント・アプリケーション190から受信し、複数のタイル170をクライアント・アプリケーションに送信するように動作可能であり得る。クライアント・アプリケーション190は、クライアント・デバイス180上で実行されるか、クライアント・デバイス180のコンポーネントであるか、またはそうでない場合、クライアント・デバイス180によってサポートされることが可能である。いくつかの実施形態では、クライアント・デバイス180はモバイル・デバイスまたは他のエンド・ユーザ・デバイスであり得るが、他の実施形態では、検索システム100に対するクライアントとしてふるまうサーバ・デバイスであり得る。クライアント・デバイス180は、検索システム100の外部の関係者によって所有されるかもしくはこの所有者に属することが可能であるか、または検索システム100と共同で所有および管理されることが可能である。
ロケーション・ベースの要求130は、確立されたプロトコル、カスタム・プロトコル、汎用プロトコルに従って、または任意の他の通信技法に従って受信され得る。ロケーション・ベースの要求130は、インターネットを介して、セルラ・データ・システムを介して、または任意の他の通信媒体を用いて受信され得る。ロケーション・ベースの要求130は、地理的領域、検索語、ズーム・レベル、および、ユーザ識別子、クライアント・デバイス識別子、クライアント・アプリケーション識別子、セッション識別子、または検索に潜在的に関連する任意の他のメタデータ等の1つまたは複数の追加のデータを含む検索要求であり得る。通信コンポーネント120は、ロケーション・ベースの要求130をタイル・コンポーネント150に転送することができる。
タイル・コンポーネント150は、地理的領域をカバーする一組のタイルとして複数のタイル170を決定するように動作可能であり得る。複数のタイル170の各タイルは地理的領域の一部をカバーし、一組のロケーションを含む。タイル170は、タイル・ストア160から取り出すことができる。タイル・ストア160は、ローカル・データベース、リモート・データベースまたは分散データベース等のデータベースを備えることができる。タイル・コンポーネント150は、タイル・ストア160における地理的ルックアップを実行して、複数のタイル170を決定するように動作可能であり得る。直交領域探索のための既知の技法のうちの任意のもの等、地理的ルックアップを実行するための既知の技法のうちの任意のものが実行され得る。
いくつかの実施形態では、タイル・ストア160内のタイルは、カテゴリ、タイプ、検索トピックまたは他の分類によって分割され得る。特定のカテゴリ内で、タイルの各々が、重複または共有領域なしで地理的領域を排他的にそれぞれカバーすることができる。いくつかの実施形態では、タイル・ストア160内のタイルは、範囲またはズーム・レベルによって分割され得る。特定の範囲内で、タイルの各々は、重複または共有領域なしで地理的領域を排他的にそれぞれカバーすることができる。いくつかの実施形態では、タイル・ストア160内のタイルは、範囲および分類の双方によって分割されることが可能であり、特定の範囲および分類内のタイルは、重複または共有領域なしで地理的領域を排他的にカバーすることができる。したがって、タイル・ストア160内に記憶される各ロケーションは、所与の範囲および/または分類について最大で(at most once)1回記憶され得る。タイル・コンポーネント150は、分類および/または範囲に応じてタイル・ストア160内の地理的ルックアップの標的を絞り、その分類および/または範囲内の複数のタイル170を厳密に取り出すように動作可能であり得る。複数のタイル170の組み合わされたそれぞれの地理的領域は、ロケーション・ベースの検索要求130の一部として含まれる地理的領域の全体をカバーする。
範囲またはズーム・レベルは、様々な実施形態における多岐にわたる技法に従って指定することができる。例えば、ズーム・レベルは、領域の閲覧範囲と、実世界におけるその実際の範囲との間の比に応じて指定されることが可能である。代替的に、ズーム・レベルは、検索システム100内に含まれる詳細の最大量である最大ズームを1つの極限として用い、他のズーム・レベルは詳細度の反復的な低減を表す、抽象スケールに応じて指定されることが可能である。タイル・ストア160内のタイルの各々は、タイルが用いられることになるズーム・レベルの範囲を関連付けることができる。所与の地理的領域(および、いくつかの実施形態では、分類)について、各タイルを、特定の排他的範囲に関連付けることができる。
タイル・ストア160および検索システム100は、特定のタイルの分類に関連し、その特定のタイルによってカバーされる地理的領域内にあり、依然としてタイル内に記憶されていないロケーションの知識を記憶するかまたは他の形で有することができる。例えば、大きな地理的領域(したがって、大きな範囲および低いズーム・レベル)のためのタイルは、最も重要であるか、関連度が高いか、または他の形で価値のある結果のみを自身の地理的領域に含めることができ、より重要でないか、関連度が低いか、または他の形で価値のない結果は除外する。例えば、州全体の範囲を見ているときに用いるタイルは、複数の都市を含む、州の10分の1をカバーし、その領域、これらの複数の都市、およびこれらの都市の周辺における、分類内の最も重要なまたは注目に値するロケーションのみを含むことができる。1つの都市全体を見るときに用いる範囲等の、より狭い範囲における同じ分類内で用いるタイルは、州と比較して、都市の状況において相対的重要度が増大したことに起因して、より広い範囲のタイルには存在していない追加のロケーションを含むことができる。
いくつかの実施形態では、範囲またはズーム・レベルは、ロケーション・ベースの要求130の一部として含まれることが可能である。他の実施形態では、範囲またはズーム・レベルは、指定された地理的領域に基づいて暗黙的に決定されることが可能である。例えば、州の大きさの地理的領域は、多くのロケーションが間引きされた大きな範囲(低いズーム・レベル)を暗黙的に提案することができるのに対し、都市ブロックの大きさの地理的領域は、ほとんどまたは全てのロケーションが含まれる小さな範囲(高いズーム・レベル)を暗黙的に提案することができる。
いくつかの実施形態では、ロケーション・ベースの要求130は、指定された検索を含むことができる。いくつかの場合、これは、カテゴリ、タイプまたは他の分類にマッピングされることが可能であり、指定された地理的領域および画定された範囲における分類内の全ての結果が、複数のタイル170によりクライアント・アプリケーション190に送信され、ユーザに表示される。一方、他の場合、検索を用いて、いずれのロケーションが送信されるか、もしくはタイルのカテゴリ内に表示されるか、またはどこでタイルが分類によって分割されないかを精緻化することができる。例えば、タイル・ストア160内のロケーションの各々は、ロケーションを検索するときに用いるための、ロケーションを記述する1つまたは複数のデータを関連付けられることが可能である。タイル・コンポーネント150は、検索を、取り出された複数のタイル170内のロケーションについてのデータと比較して、複数のタイル170内の各ロケーションが検索に合致するか否かを判断するように動作可能であり得る。タイル・コンポーネント150は、受信した検索に関連していない複数のタイル170内のロケーションを、クライアント・アプリケーション190に送信する前に除去するように動作可能であり得る。
いくつかの実施形態では、タイル・コンポーネント150は、クライアント・アプリケーション190に送信される複数のタイル170内のロケーションに、検索に関連している、または検索に関連していないとしてフラグを付けるように動作可能であり得る。それによって、クライアント・アプリケーション190は、関連しているとしてフラグを付けられたロケーション、または関連していないとしてフラグを付けられていないロケーションのみをユーザに表示する。例えば、「ピザ屋」の検索は、「レストラン」カテゴリに分類され、地理的領域およびズーム・レベルに固有のタイル・ストア160からレストランタイプのタイルを取り出すことを開始することができる。この複数のタイル170は、「ピザ屋」検索に合致するロケーションおよび「ピザ屋」検索に合致しないロケーションを含むことができる。合致するものおよび合致しないもの双方のこれらの全てのロケーションが、いずれのロケーションが関係しているかおよびいずれが関係していないかを示すフラグと共にクライアント・アプリケーション190に送信されることが可能である。代替的に、タイル・コンポーネント150ではなく、クライアント・アプリケーション190が、複数のタイル170内のいずれのロケーションが検索に関係しているかを判断することができる。
いずれの場合においても、クライアント・アプリケーション190は、関連しているロケーションおよび関連していないロケーションの双方を含む複数のタイル170を受信し、関連しているロケーションのみをデバイスのユーザに表示することができる。関連していないロケーションをクライアント・アプリケーション190に送信することは、特に、クライアント・アプリケーション190がフィルタリングを実行して、いずれのロケーションが検索に関係しているかを判断する場合、キャッシング等を通じたタイルの再利用を可能にすることができる。例えば、ユーザは、「ピザ屋」を検索し、全ての「レストラン」の結果を含む所与の地理的領域についての所与の範囲における複数のタイル170を受信し、クライアント・アプリケーション190が検索「ピザ屋」に合致すると判断するロケーションのみを示されることが可能である。ユーザは、自身が食事する領域内に満足のいくピザ屋がないと判定するか、または所望の食べ物について意見を変えると、次に、「鮨」の検索を実行する場合がある。受信した複数のタイル170は、全てのレストランのロケーションを含んでいたため、クライアント・アプリケーション190は、ロケーションを再フィルタリングして、新たなタイルを受信するために検索システム100を往復することなく鮨の検索に合致するものを生成することができる。
クライアント・アプリケーション190は通常、受信したタイルをキャッシングし、関係しているタイルを再利用するように動作可能であり得る。いくつかの実施形態では、タイルは、有効期間(TTL:time−to−live)値と共に送信され得る。TTL値はある期間を示し、この期間の後、タイルはキャッシュから除去されるべきであるか、またはそうでない場合、検索結果のために用いられるべきでない。いくつかの実施形態では、満了したTTLを有するキャッシングされたタイルは、ユーザからの検索要求の受信時に用いられ、ロケーション結果を表示するのに用いられることが可能であるが、これに並行して、クライアント・アプリケーション190はロケーション・ベースの要求130を実行して、アップデートされたタイルを受信する。これらのタイルは、受信されると、満了したタイルからの表示と置き換えるのに用いられる。
図2は、検索システム100のための動作環境200の1実施形態を示す。図2に示すように、ユーザ210は、クライアント・デバイス180を用いて、グローバル・ポジショニング・システム220、検索システム100およびマップ・システム250と対話することができる。
いくつかの状況において、クライアント・デバイス180は、ユーザ210によって検索される地理的領域内で用いられるモバイル・デバイスであり得る。クライアント・デバイス180は、GPSを介してロケーションを特定するための既知の技法を用いて、グローバル・ポジショニング・システム(GPS)220により自身の現在のロケーション225を特定するように動作可能であり得る。クライアント・デバイス180は、自身の現在のロケーション225に基づいて、ロケーション・ベースの要求130の一部として用いられる地理的領域を自動的に決定するように動作可能であり得る。例えば、地理的領域は、現在のロケーション225を中心にするか、またはそうでない場合、クライアント・デバイス180の現在のロケーション225を含むことができる。
検索システム100から受信される複数のタイル170を、マップ270上のオーバレイとしてクライアント・デバイス180上に表示することができる。マップ270上の表示は、受信した一組のロケーションに対するクライアント・デバイス180の現在のロケーション225の表示を含むことができる。
マップ270をマップ・システム250から取り出すことができる。クライアント・デバイス180は、マップ要求230をマップ・システム250に送信し、地理的領域、一組のマップタイル、またはマップ・システム250に対し要求を作成するための任意の他の技法を指定することができる。クライアント・デバイス180は、マップ270を画像として、一組のマップタイル、またはマップ270を送受信するための任意の他の技法として受信することができる。
マップ・システム250は、検索システム100と同じエンティティまたは別のエンティティによって維持されることが可能である。例えば、クライアント・デバイス180がモバイル・デバイスである場合、マップ・システム250は、クライアント・デバイス180の製造者、またはクライアント・デバイス180のためのオペレーティング・システムのプロバイダに関連付けられることが可能である。代替的に、マップ・システム250は、クライアント・アプリケーション190によって選択されてもよい。いくつかの実施形態では、複数のタイル170は、複数の利用可能なマップ・システムのうちのいずれのマップ・システム250がマップ270を受信するのに用いられるかに依存しないことが可能である。例えば、第1のタイプのクライアント・デバイスにおいて、第1のマップ・システムが用いられることが可能であり、第2のタイプのクライアント・デバイスにおいて、第2のマップ・システムが用いられることが可能であり、検索システム100は、選ばれるマップ・システムと無関係であり、複数のタイル170は、いずれのマップ・システムが用いられようと同じである。
図3は、検索システム100のためのクライアント・デバイス180上に表示されるマップ310の1実施形態を示す。図3に示すように、マップ310は、現在のロケーション330の表示を、マップ310上の星印として含む。
図3の図において、マップ310内の様々な実線は様々な道路を表すことができる。様々な明るい領域および暗い領域は、様々な地形特徴を表すことができる。これらの実線および領域は、マップ・システム250から受信され、複数のタイル170の表示のための背景として用いられることが可能である。
図3の図において、375−1等の様々なドットは、複数のタイル170の一部として受信されるロケーションを表すことができる。点線は、異なるタイル間の分割領域を表すことができる。4つの点線から形成される各排他的長方形は、タイルの排他的領域を表す。示されるように、マップ310上に表示されるロケーションは、10個のタイル370−aとして受信された。例えば、タイル370−5はロケーション315−bを含む。
図3に示すように、各タイルは5つのロケーションを含み、いくつかのタイルは、自身のロケーションの一部分のみが表示される、表示のエッジの境界をなし、表示される地理的領域の境界の外側にある残りのロケーションを表す場合がある。これらの5つのロケーションは、各タイル内の5つの最も関連度の高いロケーションであり得る。5つのロケーションの制限は説明の都合上用いられるものであり、タイルに含まれ得るロケーション数に対する特定の制限を表すものではないことが理解されよう。
示されるように、様々なタイルは変動する大きさおよび寸法を有する。例えば、タイル370−4は、タイル370−10の可視領域よりも著しく小さい。これは、例えば、タイル370−4が、タイル370−10よりも関連ロケーションの密度が高い領域のためのものであることを表す場合がある。タイル370−10のための地理的領域は、タイル370−10のための地理的領域が、タイル370−4のための地理的領域よりも低い密度の関連ロケーションを含むという判断に応答して、タイル370−4のための地理的領域よりも大きいものとして構築された場合もある。
図4は、検索システム100のためのクライアント・デバイス180上に表示されるマップ410の1実施形態を示す。図4に示すように、マップ410は、現在のロケーション430の表示をマップ410上の星印として含む。
マップ410は、示されるように、図3を参照するマップ310と同じ地理的領域を示す。しかしながら、タイリングはタイル370−aから470−cに変化している。例えば、ロケーション475がマップ410に追加されており、これは、マップ310には存在していなかったものである。ロケーション475は、タイル470−cに含めるための十分な関連度を有する新たな実世界ロケーションを示すことができるか、またはタイル370−aの時点において存在していたが、これを含めることを動機付けるための重要度を増大させるように再評価もしくは変更されたロケーションであり得る。この例では、各タイルが最大で5つのロケーションを含むので、この結果、ロケーション475を含むタイル470−5が作成される新たなタイリングが得られた場合がある。
代替的に、タイル470−cによって表される新たなタイリングは、マップ410の地理的領域内の変動する密度の再評価によって動機付けられた場合がある。タイル470−5内の地理的領域は、タイル370−aの作成時点とタイル470−cの作成時点との間で、関連ロケーションの密度が増大した場合がある。この結果、検索システム100がタイル470−5内の領域のためにより小さなタイルを用いて新たなタイリングを作成した場合がある。いずれの場合であっても、タイル・コンポーネント150は、第1のロケーション・ベースの要求のために第1の複数のタイル370−aを決定し、第2のロケーション・ベースの要求のために第2の複数のタイル470−cを決定するように動作可能であり得る。ここで、第1の複数のタイル370−aおよび第2の複数のタイル470−cは、地理的領域の再タイリングに応答した、同じ範囲の、同じ地理的領域のためのものであり、第1の複数のタイル370−aのうちの少なくとも第1のタイルが、第2の複数のタイル470−cの第2のタイルと別個の大きさ、形状またはロケーションを有するが、第2のタイルは第1のタイルと重複している。
図5は、図3を参照するタイル370−5の地理的領域内のタイルのグループの1実施形態を示す。
図5に示すのは、より高いズーム・レベル(減少した範囲)におけるタイル370−5内に含まれる地理的領域である。この地理的領域は、タイル570−dによってカバーされ、タイル570−3内のロケーション575−1および575−2等、タイル370−5内に含まれない追加のロケーションを含む。これらは、タイルの特定のカテゴリに関連するが、そのより大きい範囲においてタイル370−5に含まれるロケーションよりも重要度が低い、特定のカテゴリのタイルに関連するロケーションであり得る。
いくつかの実施形態において、タイル570−dはタイル370−5の地理的領域に集合的に含まれることが可能であり、それによって、タイルまたはある特定のカテゴリ内のタイルが階層的に編成される。代替的に、より大きい範囲において、タイル570−dは必ずしもタイル370−5等のタイルと境界を共有しない場合がある。例えば、タイル570−5は、示される領域から左かつ下方(東南)に延在する場合がある。
図6は、図1のシステムのための重複する検索領域のためのタイルの1実施形態を示す。
図6に示すのは、第1の検索領域610、第2の検索領域620、および、様々なロケーションを含む複数のタイル670−eである。タイル670−eは全て同じ範囲の、同じカテゴリのためのものであり、このため地理的に別個であり、重複していない。検索システム100は、第1の要求に応答して、タイル670−2、670−6、670−7、670−8、670−9、670−10および670−11を、検索領域610をカバーしていると特定することができる。検索システム100は、第2の要求に応答して、タイル670−2、670−3、670−4、670−5、670−7、670−8、670−10、670−11、670−12および670−13を、検索領域620をカバーしていると特定することができる。見てとることができるように、タイル670−7、670−8、670−10および670−11は、検索領域610および検索領域620の双方がカバーするのに用いられる。
検索領域620が同じクライアント・アプリケーション190からの検索領域610の後にすぐに連続して受信される場合、まだ処理されていないか、または検索領域610についての要求を処理する際に送信されることになる検索領域620をカバーするのに用いられるタイル:670−2、670−3、670−4、670−5、670−12および670−13のみを送信することによって、検索領域620についての要求に応答することが有利である場合がある。クライアント・アプリケーション190が共通タイル670−7、670−8、670−10および670−11を、第1の要求に対する応答の一部として受信する場合、検索領域620の全体についてロケーションを表示するために、クライアント・アプリケーション190は単に、これらを、第2の要求に対する応答の一部として受信されたタイルと組み合わせて再利用することができる。これによって、要求の対に対し応答するのに用いられる帯域幅を低減することができる。
したがって、通常、通信コンポーネントは、クライアント・アプリケーション190から、第2のロケーション・ベースの要求を受信するように動作可能であり得、第2のロケーション・ベースの要求190は、検索領域620等の第2の地理的領域を含み、第2のロケーション・ベースの要求は、以前のロケーション・ベースの要求としてタグ付けされたロケーション・ベースの要求130および検索領域610等の地理的領域を含み、第2の地理的領域は、以前のロケーション・ベースの要求からの地理的領域と重複し、また、通信コンポーネントは、第2の複数のタイルをクライアント・アプリケーション190に送信するように動作可能であり得る。タイル・コンポーネント150は、残りの領域をカバーし、以前のロケーション・ベースの要求からの地理的領域をカバーするのに用いられるタイルを除外する第2の複数のタイルを決定するように動作可能であり得る。いくつかの実施形態では、分散システム、マルチスレッド・システム、マルチプロセッサ・システム、または複数の類似したもしくは同一のコンポーネントを用いて要求を並列に処理する他のシステム等の、異なるタイル・コンポーネントが用いられ得る。
いくつかの実施形態では、検索システム100は、後続のロケーション・ベースの要求において用いられ得るタイルをプリフェッチする(pre-fetch)ようクライアント・アプリケーション190に指示するように動作可能であり得る。例えば、より高いズーム・レベルにおけるタイルは、ユーザがそれらの地域をクライアント・アプリケーション190のデフォルト範囲よりも綿密に調べることを決めた場合に、それらのそれぞれのロケーションを利用可能にするために、プリフェッチされることが可能である。同様に、より低いズーム・レベルにおけるタイルは、ユーザがそれらの周辺の領域をデフォルト範囲よりも広く調べることを決めた場合に、それらのそれぞれのロケーションを利用可能にするために、プリフェッチされることが可能である。同じズーム・レベルにおける周囲のタイルは、ユーザが表示されたマップをスクロールすることを決めた場合に、それらのそれぞれのロケーションを利用可能にするために、プリフェッチされることが可能である。これらの追加のタイルを第2の後続の送信において送信させることは、帯域幅および処理能力について、目下要求されているロケーションの送信および表示と競合しないようにするために有意義であり得る。
したがって、タイル・コンポーネント150は、別個の隣接する地理的領域をカバーするかまたは異なるズーム・レベルにおいて地理的領域の少なくとも一部分をカバーする、ロケーション・ベースの要求130に関係する第2の複数のタイルを決定するように動作可能であり得る。通信コンポーネント120は、クライアント・アプリケーション190に、第2の複数のタイルを要求するように命令し、クライアント・アプリケーション190から第2の複数のタイルを求める要求を受信し、これに応答して第2の複数のタイルをクライアント・アプリケーション190に送信するように動作可能であり得る。クライアント・アプリケーション190は、複数のタイル170の転送が完了したことに応答して、要求を第2の複数のタイルに提出するように動作可能であり得る。
例えば、クライアント・アプリケーション190は、ロケーション・ベースの要求130を検索システム100に提出し、これに応答して、複数のタイル170およびプリフェッチ命令を受信することができる。クライアント・アプリケーション190は、複数のタイル170の受信が完了するまで待機し、次に、プリフェッチ命令を用いて追加の関係するタイルのダウンロードを開始することができる。1つの実施形態では、プリフェッチ命令は、単一の識別子、構造、または、ロケーション・ベースの要求130を参照するかもしくは含み、検索システム100が追加のタイルを提供することを要求するのに十分である他のもの(signifier)を含むことができる。代替的に、プリフェッチ命令は、クライアント・アプリケーション190が明示的に要求することができる、プリフェッチされるべきタイルのリストを含むことができる。
図7は、集中型システム700のブロック図を示す。集中型システム700は、単一デバイス720内のエンティティ等の、単一の計算エンティティ内の検索システム100のための構造および/または動作のうちのいくつかまたは全てを実施することができる。
デバイス720は、検索システム100のための情報を受信、処理および送信することが可能な任意の電子デバイスを含むことができる。電子デバイスの例は、限定ではないが、ウルトラ・モバイル・デバイス、モバイル・デバイス、携帯情報端末(PDA)、モバイル・コンピューティング・デバイス、スマートフォン、電話、デジタル電話、携帯電話、電子書籍リーダ、ハンドセット、ワンウエイページャ(one−way pager)、ツーウエイページャ、メッセージング・デバイス、コンピュータ、パーソナル・コンピュータ(PC)、デスクトップ・コンピュータ、ラップトップ・コンピュータ、ノートブック・コンピュータ、ネットブック・コンピュータ、ハンドヘルド・コンピュータ、タブレット・コンピュータ、サーバ、サーバ・アレイもしくはサーバ・ファーム、ウェブ・サーバ、ネットワーク・サーバ、インターネット・サーバ、ワークステーション、ミニコンピュータ、メインフレーム・コンピュータ、スーパーコンピュータ、ネットワーク機器、ウェブ機器、分散コンピューティング・システム、マルチプロセッサ・システム、プロセッサベースのシステム、家庭用電子機器、プログラム可能な家庭用電子機器、ゲーム・デバイス、テレビ、デジタル・テレビ、セット・トップ・ボックス、無線アクセス・ポイント、基地局、加入者局、モバイル加入者センター、無線ネットワーク・コントローラ、ルータ、ハブ、ゲートウェイ、ブリッジ、スイッチ、マシン、またはそれらの組合せを含むことができる。実施形態はこの文脈に限定されない。
デバイス720は、処理コンポーネント730を用いて検索システム100のための処理動作またはロジックを実行することができる。処理コンポーネント730は、様々なハードウェア要素、ソフトウェア要素、または双方の組合せを含むことができる。ハードウェア要素の例は、デバイス、論理デバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、プロセッサ回路、回路素子(例えば、トランジスタ、レジスタ、キャパシタ、インダクタ等)、集積回路、特定用途向け集積回路(ASIC:application specific integrated circuits)、プログラマブル・ロジック・デバイス(PLD:programmable logic devices)、デジタル・シグナル・プロセッサ(DSP:digital signal processors)、フィールド・プログラマブル・ゲート・アレイ(FPGA:field programmable gate array)、メモリ・ユニット、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップ・セット等を含むことができる。ソフトウェア要素の例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータ・プログラム、アプリケーション・プログラム、システム・プログラム、ソフトウェア開発プログラム、マシン・プログラム、オペレーティング・システム・ソフトウェア、ミドルウェア、ファームウェア、ソフトウェア・モジュール、ルーチン、サブルーチン、機能、方法、プロシージャ、ソフトウェア・インターフェース、アプリケーション・プログラム・インターフェース(API)、命令セット、コンピューティング・コード、コンピュータ・コード、コード・セグメント、コンピュータ・コード・セグメント、単語、値、シンボル、またはそれらの任意の組合せを含むことができる。実施形態がハードウェア要素を用いて実施されるか、かつ/またはソフトウェア要素を用いて実施されるかを判断することは、所望の計算速度、パワー・レベル、耐熱性、処理サイクル・バジェット、入力データ・レート、出力データ・レート、メモリ・リソース、データ・バス速度および他の設計または性能の制約等の任意の数の要因に従って、所与の実施態様にとって望ましいとおりに変動することができる。
デバイス720は、通信コンポーネント740を用いて検索システム100の通信動作またはロジックを実行することができる。通信コンポーネント740は、パケット交換ネットワーク(例えば、インターネット等の公衆ネットワーク、社内イントラネット等のプライベート・ネットワーク等)、回路交換網(例えば、公衆交換電話網)、またはパケット交換ネットワークおよび回路交換網の(適切なゲートウェイおよびトランスレータを用いた)組合せ等と共に用いるのに適した技法等の、任意のよく知られた通信技法およびプロトコルを実施することができる。通信コンポーネント740は、1つまたは複数の通信インターフェース、ネットワーク・インターフェース、ネットワーク・インターフェース・カード(NIC:network interface cards)、無線通信装置、ワイヤレストランスミッタ/ワイヤレスレシーバ(トランシーバ)、有線および/または無線通信媒体、物理的コネクタ等の様々なタイプの標準的な通信要素を含むことができる。限定ではないが、例として、通信媒体712、742は、有線通信媒体および無線通信媒体を含む。有線通信媒体の例は、有線、ケーブル、金属導線、プリント回路基盤(PCB:printed circuit boards)、バックプレーン、スイッチ・ファブリック、半導体材料、ツイスト・ペア線、同軸ケーブル、光ファイバ、伝搬信号等を含むことができる。無線通信媒体の例は、音響、無線周波数(RF)スペクトル、赤外線および他の無線媒体を含むことができる。
デバイス720は、それぞれ通信信号714、744を用いて、通信コンポーネント740を介して、それぞれ通信媒体712、742により他のデバイス710、750と通信することができる。デバイス710、750は、所与の実施態様にとって望ましいとおりに、デバイス720の内部または外部とすることができる。例えば、デバイス710はクライアント・デバイス180を含むことができ、それによって、媒体712により送信される信号714が、検索システム100へのロケーション・ベースの要求130の送信および検索システム100からデバイス710への複数のタイル170の送信を含む。デバイス750は、異なるユーザによって用いられる第2のクライアント・デバイスを含むことができ、第2のクライアント・デバイスは、検索システム100と対話して、デバイス710よりも早く、遅く、またはデバイス710と並列に、タイルを要求し、タイルを受け取る。
図8は、分散システム800のブロック図を示す。分散システム800は、複数のコンピューティング・エンティティにわたって検索システム100の構造および/または動作の部分を分散させることができる。分散システム800の例は、限定ではないが、クライアント−サーバアーキテクチャ、3層アーキテクチャ、N層アーキテクチャ、密結合(tightly-coupled)またはクラスタ化アーキテクチャ、ピア・ツー・ピアアーキテクチャ、マスタ−スレーブアーキテクチャ、共有データベースアーキテクチャ、および他のタイプの分散システムを含むことができる。実施形態はこの文脈に限定されない。
分散システム800は、クライアント・デバイス180と、ロード・バランサ810と、複数のサーバ・デバイス820−fとを備えることができる。通常、クライアント・デバイス180、ロード・バランサ810および複数のサーバ・デバイス820−fは、図7を参照して説明されたようなクライアント・デバイス720と同じであるかまたは同様であり得る。例えば、クライアント・デバイス180、ロード・バランサ810およびサーバシステム820−fはそれぞれ、処理コンポーネント830および通信コンポーネント840を備えることができる。これらはそれぞれ、図7を参照して説明されたような処理コンポーネント730および通信コンポーネント740と同じであるかまたは同様である。別の例では、デバイス180、810および820は、通信コンポーネント840を介して通信信号814および844を用いて通信媒体812および842により通信することができる。
クライアント・デバイス180は、記載の実施形態に従って様々な方法を実行するように動作する1つまたは複数のクライアント・プログラムを含むかまたは用いることができる。1つの実施形態では、例えば、クライアント・デバイス810はクライアント・アプリケーション190を実施することができる。
ロード・バランサ810は、クライアント・デバイス180上で実行することができるような様々なクライアント・アプリケーションと、様々なタイル・コンポーネント850−gとの間を仲介するように動作可能であり得る。ロード・バランサ810は、クライアント・デバイス180からロケーション・ベースの要求130を受信し、分散コンピューティング環境において並列サーバ間でタスクを分散するための任意の既知の技法のうちの1つに基づいて、このロケーション・ベースの要求を複数のタイル・コンポーネント850−gのうちの1つのタイル・コンポーネント150に配信することができる。
サーバ・デバイス820−fは、記載の実施形態に従って様々な方法を実行するように動作する1つまたは複数のサーバ・プログラムを含むかまたは用いることができる。1つの実施形態では、例えば、サーバ・デバイス820−fは複数のタイル・コンポーネント850−gを実装することができる。複数のタイル・コンポーネント850−gのそれぞれは、ロケーション・ベースの情報のための要求を受信し、要求側のクライアント・デバイスに返送するための応答用の複数組のタイルを決定するように動作可能であり得る。
開示されるアーキテクチャの新規の態様を実行するための例示的な方法を表す1組のフローチャートが本明細書に含まれる。説明を簡単にするために、例えば、フローチャートまたはフロー図の形態で本明細書に示されている1つまたは複数の方法が、一連の動作として示され、説明されているが、いくつかの動作は、それらの動作に応じて、本明細書に示され説明されるものと異なる順序でおよび/または他の動作と同時に行われる場合があるので、本方法は動作の順序によって限定されないことを理解および認識されたい。例えば、当業者であれば、方法は、代替的に、状態図等において一連の相関する状態またはイベントとして表され得ることを理解および認識するであろう。更に、方法において例示される全ての動作が新規の実施態様に必要であるわけではない場合がある。
図9は、論理フロー900の1つの実施形態を示す。論理フロー900は、本明細書に記載の1つまたは複数の実施形態によって実行される動作のうちのいくつかまたは全てを表すことができる。
図9に示す例示される実施形態では、論理フロー900は、ブロック902において、クライアント・アプリケーション190から、地理的領域を含むロケーション・ベースの要求130を受信することができる。例えば、モバイル・デバイスにおけるクライアント・アプリケーション190から受信されるロケーション・ベースの要求130であり、地理的領域は、モバイル・デバイスの現在のロケーション225を含む。いくつかの実施形態では、ロケーション・ベースの要求130はズーム・レベルを指定することができる。
論理フロー900は、クライアント・アプリケーション190から、第2のロケーション・ベースの要求を受信することができる。第2のロケーション・ベースの要求は第2の地理的領域を含み、第2のロケーション・ベースの要求は、以前のロケーション・ベースの要求としてタグ付けされたロケーション・ベースの要求130および地理的領域を含み、第2の地理的領域は、以前のロケーション・ベースの要求からの地理的領域と重複している。
論理フロー900は、地理的領域をカバーする複数のタイル170を決定することができる。ブロック904において、複数のタイル170の各タイルが、地理的領域の一部分をカバーし、1組のロケーションを含む。
例えば、複数のタイル170の各々は、ロケーション・タイプのカテゴリに固有であり得る。複数のタイル170を決定することは、受信したロケーション・ベースの要求130をロケーション・タイプのカテゴリにマッピングし、ロケーション・タイプのマッピングされたカテゴリに従って複数のタイル170を決定することを含むことができる。複数のタイル170は第1のタイルを含むことができ、第1のタイルは第1の地理的領域をカバーし、第1のタイルは、第1の地理的領域内の第1の組のロケーションを含み、第1の組のロケーションは、ロケーションの組全体における、選択される第1の組のロケーションの相対的重要度に従ってロケーションの組全体から選択される。複数のタイル170の各々がロケーション・タイプのカテゴリに固有である場合、第1のタイルは、ロケーション・タイプのカテゴリに固有の一組のロケーション全体における、選択される第1の組のロケーションの相対的重要度に従って、ロケーション・タイプのそのカテゴリのロケーション組全体から選択される第1の組のロケーションを含むことができる。
ロケーション・ベースの要求130がズーム・レベルを指定する場合、複数のタイル170を決定することは、指定されたズーム・レベルを、複数のタイル170の各々に関連付けられたズーム・レベルの範囲にマッチングすることを含むことができる。
複数のタイル170は第1のタイルおよび第2のタイルを含むことができ、第1のタイルは第1の地理的領域をカバーし、第2のタイルは第1の地理的領域と別個の第2の地理的領域をカバーし、第1の地理的領域は第2の地理的領域よりも大きい。いくつかの実施形態では、第1の地理的領域は、第1の地理的領域がより低い密度の関連ロケーションを含むという判断に応答して、第2の地理的領域よりも大きいものとして構築される場合がある。
論理フロー900は、別個の隣接する地理的領域をカバーするか、または異なるズーム・レベルで地理的領域の少なくとも一部分をカバーする、ロケーション・ベースの要求130に関係する第2の複数のタイルを決定し、クライアント・アプリケーション190に、第2の複数のタイルを要求するように命令し、クライアント・アプリケーション190から、第2の複数のタイルを求める要求を受信し、第2の複数のタイルをクライアント・アプリケーション190に送信することを更に含むことができる。
第2のロケーション・ベースの要求がクライアント・アプリケーション190から受信された場合、論理フロー900は、残りの領域をカバーし、以前のロケーション・ベースの要求からの地理的領域をカバーするのに用いられるタイルを除外する第2の複数のタイルを決定することができる。
論理フロー900は、ブロック906において、複数のタイル170をクライアント・アプリケーション190に送信することができる。例えば、送信される複数のタイル170は、モバイル・デバイスにおいてマップ上にオーバレイとして表示するためのものとすることができ、受信した一組のロケーションに対するモバイル・デバイスの現在のロケーション225の表示を含む。
第2の複数のタイルが決定された場合、論理フロー900は、第2の複数のタイルをクライアント・アプリケーション190に送信することができる。
実施形態はこの例に限定されない。
図10は、上記に記載の様々な実施形態を実施するのに適した例示的なコンピューティング・アーキテクチャ1000の1実施形態を示す。1つの実施形態では、コンピューティング・アーキテクチャ1000は、電子デバイスを備えるか、電子デバイスの一部として実施されることが可能である。電子デバイスの例は、中でも、図7および図8を参照して説明したものを含むことができる。実施形態はこの文脈に限定されない。
本出願において用いられるとき、「システム」および「コンポーネント」という語は、ハードウェア、ハードウェアおよびソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアのいずれかである、コンピュータに関係したエンティティを指すことを意図され、それらの例が、例示的なコンピューティング・アーキテクチャ1000によって提供される。例えば、コンポーネントは、限定ではないが、プロセッサにおいて実行されるプロセス、プロセッサ、ハードディスク・ドライブ、(光学および/または磁気記録媒体の)マルチ記録・ドライブ、オブジェクト、実行ファイル、実行スレッド、プログラムおよび/またはコンピュータであり得る。例示のために、サーバ上で実行されるアプリケーションおよびサーバの双方がコンポーネントであり得る。1つまたは複数のコンポーネントがプロセスおよび/または実行スレッド内に常駐することができ、コンポーネントは、1つのコンピュータ上に局在することができ、および/または2つ以上のコンピュータ間で分散され得る。更に、コンポーネントは、動作を協調させるように、様々なタイプの通信媒体によって互いに通信可能に結合され得る。協調は、情報の一方向または双方向の交換を含むことができる。例えば、コンポーネントは、通信媒体により通信される信号の形態で情報を通信することができる。情報は、様々な信号線に割り当てられる信号として実施され得る。そのような割り当てにおいて、各メッセージは信号である。一方、更なる実施形態は、代替的にデータ・メッセージを用いることができる。そのようなデータ・メッセージは、様々な接続にわたって送信され得る。例示的な接続は、パラレル・インターフェース、シリアル・インターフェースおよびバス・インターフェースを含む。
コンピューティング・アーキテクチャ1000は、1つまたは複数のプロセッサ、マルチコア・プロセッサ、コプロセッサ、メモリ・ユニット、チップ・セット、コントローラ、周辺機器、インターフェース、オシレータ、タイミング・デバイス、ビデオ・カード、オーディオ・カード、マルチメディア入出力(I/O)コンポーネント、電源等の様々な一般的なコンピューティング要素を含む。しかしながら、実施形態は、コンピューティング・アーキテクチャ1000による実施に限定されない。
図10に示すように、コンピューティング・アーキテクチャ1000は、処理ユニット1004、システム・メモリ1006およびシステム・バス1008を備える。処理ユニット10054、限定ではないが、AMD(登録商標)プロセッサ、Athlon(登録商標)プロセッサ、Duron(登録商標)プロセッサおよびOpteron(登録商標)プロセッサ;ARM(登録商標)のアプリケーションプロセッサ、組込み型プロセッサおよびセキュアプロセッサ;IBM(登録商標)およびMotorola(登録商標)のDragonBall(登録商標)プロセッサおよびPowerPC(登録商標)プロセッサ;IBMおよびSony(登録商標)のセル・プロセッサ;Intel(登録商標)のCeleron(登録商標)プロセッサ、Core(2)Duo(登録商標)プロセッサ、Itanium(登録商標)プロセッサ、Pentium(登録商標)プロセッサ、Xeon(登録商標)プロセッサおよびXScale(登録商標)プロセッサ;ならびに同様なプロセッサを含む様々な市販のプロセッサのうちの任意のものであり得る。デュアル・マイクロプロセッサ、マルチコア・プロセッサおよび他のマルチプロセッサアーキテクチャも処理ユニット1004として用いられることが可能である。
システム・バス1008は、限定ではないがシステム・メモリ1006を含むシステム・コンポーネントのためのインターフェースを処理ユニット1004に提供する。システム・バス1008は、多岐にわたる市販のバス・アーキテクチャのうちの任意のものを用いてメモリ・バス(メモリ・コントローラを有するかまたは有しない)、周辺バスおよびローカルバスに更に相互接続することができるいくつかのタイプのバス構造のうちの任意のものとすることができる。インターフェース・アダプタは、スロット・アーキテクチャを介してシステム・バス1008に接続することができる。例示的なスロット・アーキテクチャは、限定ではないが、アクセラレーテッド・グラフィックス・ポート(AGP:Accelerated Graphics Port)、カード・バス、(拡張)業界標準アーキテクチャ((E)ISA:(Extended)Industry Standard Architecture)、マイクロ・チャネル・アーキテクチャ(MCA:Micro Channel Architecture)、NuBus、周辺コンポーネント相互接続(拡張)(PCI(X):Peripheral Component Interconnect(Extended))、PCIエクスプレス、パーソナル・コンピュータ・メモリ・カード国際組織(PCMCIA:Personal Computer Memory Card International Association)等を含むことができる。
コンピューティング・アーキテクチャ1000は、様々な製造品を含むかまたは実装することができる。製造品は、ロジックを記憶するためのコンピュータ可読記録媒体を含むことができる。コンピュータ可読記録媒体の例は、揮発性メモリまたは不揮発性メモリ、取外し可能または非取外し可能メモリ、消去可能または非消去可能メモリ、書き込み可能または書き換え可能メモリ等を含む、電子データを記憶することが可能な任意の有形媒体を含むことができる。ロジックの例は、ソース・コード、コンパイルされたコード、解釈実行されたコード、実行可能コード、スタティック・コード、ダイナミック・コード、オブジェクト指向コード、視覚コード等の任意の適切なタイプのコードを用いて実施される実行可能なコンピュータ・プログラム命令を含むことができる。実施形態はまた、1つまたは複数のプロセッサによって読出しおよび実行されて、本明細書に記載の動作の実行を可能にすることができる、非一時的コンピュータ可読媒体に含まれるかまたは非一時的コンピュータ可読媒体上にある命令として少なくとも部分的に実施されることが可能である。
システム・メモリ1006は、読出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、ダブル・データ・レートDRAM(DDRAM:Double−Data−Rate DRAM)、同期DRAM(SDRAM:synchronous DRAM)、スタティックRAM(SRAM:static RAM)、プログラマブルROM(PROM:programmable ROM)、消去可能なプログラマブルROM(EPROM:erasable programmable ROM)、電気的に消去可能なプログラマブルROM(EEPROM:electrically erasable programmable ROM)、フラッシュ・メモリ、強誘電性ポリマ・メモリ等のポリマ・メモリ、オーボニック・メモリ(ovonic memory)、相変化または強誘電性メモリ、シリコン−酸化物−窒化物−酸化物−シリコン(SONOS:silicon−oxide−nitride−oxide−silicon)メモリ、磁気カードまたは光カード、独立ディスクの冗長アレイ(RAID:Redundant Array of Independent Disks)ドライブ等のデバイスのアレイ、ソリッド・ステート・メモリ・デバイス(例えば、USBメモリ、ソリッド・ステート・ドライブ(SSD:solid state drive)および情報を記憶するのに適した任意の他のタイプの記録媒体等の1つまたは複数の高速メモリ・ユニットの形態の様々なタイプのコンピュータ可読記録媒体を含むことができる。図10に示す例示される実施形態では、システム・メモリ1006は、不揮発性メモリ1010および/または揮発性メモリ1012を含むことができる。基本入出力システム(BIOS:basic input/output system)を不揮発性メモリ1010に記憶することができる。
コンピュータ1002は、内部(または外部)ハードディスク・ドライブ(HDD)1014、取外し可能な磁気ディスク1018に対し読出しまたは書き込みを行うための磁気フロッピー・ディスク・ドライブ(FDD)1016、および取外し可能な光ディスク1022(例えば、CD−ROMまたはDVD)に対し読出しまたは書き込みを行うための光ディスク・ドライブ1020を含む1つまたは複数の低速メモリ・ユニットの形態で様々なタイプのコンピュータ可読記録媒体を備えることができる。HDD1014、FDD1016および光ディスク・ドライブ1020は、それぞれHDDインターフェース1024、FDDインターフェース1026、および光ドライブ・インターフェース1028によってシステム・バス1008に接続されることが可能である。外部ドライブ実装のためのHDDインターフェース1024は、ユニバーサル・シリアル・バス(USB)およびIEEE1394インターフェース技術の少なくとも一方または双方を含むことができる。
ドライブおよび関連するコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能命令等の揮発性記録および/または不揮発性記録を提供する。例えば、オペレーティング・システム1030、1つまたは複数のアプリケーション・プログラム1032、他のプログラム・モジュール1034およびプログラム・データ1036を含む複数のプログラム・モジュールがドライブおよびメモリ・ユニット1010、1012に記憶され得る。1つの実施形態では、1つまたは複数のアプリケーション・プログラム1032、他のプログラム・モジュール1034およびプログラム・データ1036は、例えば、検索システム100の様々なアプリケーションおよび/またはコンポーネントを含むことができる。
ユーザは、1つまたは複数の有線/無線入力デバイス、例えば、キーボード1038、およびマウス1040等のポインティング・デバイスを通じてコンピュータ1002にコマンドおよび情報を入力することができる。他の入力デバイスは、マイクロフォン、赤外線(IR)リモート・コントロール、無線周波数(RF)リモート・コントロール、ゲーム・パッド、スタイラス・ペン、カード・リーダ、ドングル、指紋リーダ、グローブ、グラフィック・タブレット、ジョイスティック、キーボード、網膜リーダ、タッチ・スクリーン(例えば、容量型、抵抗型等)、トラックボール、トラックパッド、センサ、スタイラス等を含むことができる。これらのおよび他の入力デバイスは、多くの場合に、システム・バス1008に結合された入力デバイス・インターフェース1042を通じて処理ユニット1004に接続されるが、パラレル・ポート、IEEE1394シリアル・ポート、ゲーム・ポート、USBポート、IRインターフェース等の他のインターフェースによって接続されてもよい。
モニタ1044または他のタイプの表示デバイスも、ビデオ・アダプタ1046等のインターフェースを介してシステム・バス1008に接続される。モニタ1044は、コンピュータ1002に対し内部または外部にあり得る。モニタ1044に加えて、コンピュータは通常、スピーカ、プリンタ等の他の周辺出力デバイスを備える。
コンピュータ1002は、リモート・コンピュータ1048等の1つまたは複数のリモート・コンピュータへの有線および/または無線通信を介して論理接続を用いてネットワーク化された環境において動作することができる。リモート・コンピュータ1048は、ワークステーション、サーバ・コンピュータ、ルータ、パーソナル・コンピュータ、ポータブル・コンピュータ、マイクロプロセッサに基づく娯楽機器、ピア・デバイス、または他の共通ネットワーク・ノードであり得、通常、コンピュータ1002について記載した要素のうちの多くまたは全てを備えるが、簡潔にするために、メモリ/記録・デバイス1050のみが示されている。描かれる論理接続は、ローカル・エリア・ネットワーク(LAN)1052および/またはより大きなネットワーク、例えば広域ネットワーク(WAN)1054への有線/無線接続を含む。そのようなLANおよびWANネットワーキング環境は、事務所および会社において一般的であり、イントラネット等の、企業規模のコンピュータ・ネットワークを容易にする。これらは全て、グローバル通信ネットワーク、例えばインターネットに接続することができる。
LANネットワーキング環境において用いられるとき、コンピュータ1002は、有線および/または無線通信ネットワーク・インターフェースまたはアダプタ1056を通じてLAN1052に接続される。アダプタ1056は、LAN1052への有線および/または無線通信を容易にすることができる。LAN1052も、アダプタ1056の無線機能と通信するために配置された無線アクセス・ポイントを含むことができる。
WANネットワーキング環境において用いられるとき、コンピュータ1002は、モデム1058を含むことができるか、またはWAN1054の通信サーバに接続されるか、またはインターネット等によってWAN1054を介して、通信を確立する他の手段を有する。内部または外部の、有線および/または無線デバイスであり得るモデム1058は、入力デバイス・インターフェース1042を介してシステム・バス1008に接続する。ネットワーク化された環境では、コンピュータ1002について述べられたプログラム・モジュールまたはその一部分をリモート・メモリ/記録・デバイス1050に記憶することができる。示されるネットワーク接続は例示であり、コンピュータ間で通信リンクを確立する他の手段が用いられてもよいことが理解されよう。
コンピュータ1002は、IEEE802系規格を用いて、無線通信(例えば、IEEE802.10オーバー・ザ・エアー変調技法)において動作可能に配置される無線デバイス等の、有線および無線デバイスまたはエンティティと通信するように動作可能である。これは、少なくとも、中でも、Wi−Fi(または無線フィデリティ)、WiMaxおよびBluetooth(商標)の無線通信技術を含む。このため、この通信は従来のネットワークと同じように予め定義された通信構造であり得るか、または、単に少なくとも2つの装置の間におけるアドホック通信であり得る。Wi−Fiネットワークは、安全で信頼性が高く高速なワイヤレス接続を提供するIEEE802.10x(a、b、g、n等)と称される無線技術を用いる。Wi−Fiネットワークはコンピュータを互いに、インターネットに、および有線ネットワーク(IEEE802.3関連の媒体および機能を用いる)に接続するのに用いられ得る。
図11は上記の様々な実施形態を実施するのに適した例示的な通信アーキテクチャ1100のブロック図を示す。この通信アーキテクチャ1100は、トランスミッタ、レシーバ、トランシーバ、無線通信装置、ネットワーク・インターフェース、ベースバンド・プロセッサ、アンテナ、増幅器、フィルタ、電源等の様々な一般的な通信要素を含む。しかしながら、本発明の実施形態は通信アーキテクチャ1100による実施に限定されない。
図11に示されるように、通信アーキテクチャ1100は1つまたは複数のクライアント1102およびサーバ1104を含む。クライアント1102はクライアント・デバイス910を実装することができる。サーバ1104はサーバ・デバイス950を実装することができる。クライアント1102およびサーバ1104は、1つまたは複数のそれぞれのクライアント・データ・ストア1108およびサーバ・データ・ストア1110に動作可能に接続されている。これらは、クッキーおよび/または関連付けられた文脈情報等のそれぞれのクライアント1102およびサーバ1104にローカルな情報を記憶するために利用されることが可能である。
クライアント1102およびサーバ1104は通信フレームワーク1106を用いて互いの間で情報を通信することができる。通信フレームワーク1106は任意の既知の通信技法およびプロトコルを実装することができる。通信フレームワーク1106は、パケット交換網(例えば、インターネット等の公衆ネットワーク、社内イントラネット等のプライベート・ネットワーク等)、回線交換網(例えば、公衆交換電話網)、またはパケット交換網と回線交換網との組合せ(適切なゲートウェイおよびトランスレータを備える)として実装されることが可能である。
通信フレームワーク1106は、通信ネットワークを受け入れ、通信ネットワークと通信し、通信ネットワークに接続するように構成される様々なネットワーク・インターフェースを実施することができる。ネットワーク・インターフェースは、特殊な形態の入出力インターフェースと見なされ得る。ネットワーク・インターフェースは、限定ではないが、直接接続、イーサネット(例えば、シック、シン、ツイスト・ペア10/100/1000BaseT等)、トークン・リング、無線ネットワーク・インターフェース、セルラ・ネットワーク・インターフェース、IEEE802.11a−xネットワーク・インターフェース、IEEE802.16ネットワーク・インターフェース、IEEE802.20ネットワーク・インターフェース等を含む接続プロトコルを用いることができる。更に、様々な通信ネットワークタイプと関わるために複数のネットワーク・インターフェースが用いられ得る。例えば、ブロードキャスト、マルチキャストおよびユニキャスト・ネットワークによる通信を可能にするために、複数のネットワーク・インターフェースが用いられることが可能である。処理要件がより高い速度およびより多くの容量を指示する場合、クライアント1102およびサーバ1104によって必要とされる通信帯域幅をプールし、負荷分散し、他の形で増大させるために、分散ネットワーク・コントローラ・アーキテクチャが同様に利用されることが可能である。通信ネットワークは、限定ではないが、直接相互接続、セキュア化されたカスタム接続、プライベート・ネットワーク(例えば、社内イントラネット)、公衆ネットワーク(例えば、インターネット)、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネット上のノードとして動作しているミッション(OMNI:Operating Missions as Nodes on the Internet)、広域ネットワーク(WAN)、無線ネットワーク、セルラ・ネットワークおよび他の通信ネットワークを含む有線および/または無線ネットワークのうちの任意の1つまたはそれらの組合せであり得る。
いくつかの実施形態は、「1つの実施形態」または「実施形態」という表現と、それらの派生語とを用いて説明され得る。これらの用語は、実施形態に関して説明される特定の特徴、構造または特性が少なくとも1つの実施形態に含まれることを意味している。本明細書の様々な箇所に現れる「1つの実施形態において」というフレーズは、必ずしも全てが同じ実施形態を指しているわけではない。更に、いくつかの実施形態は、「結合された」および「接続された」という表現と、それらの派生語とを用いて説明され得る。これらの表現は必ずしも互いの同義語として意図されているわけではない。例えば、いくつかの実施形態は、「接続された」および/または「結合された」という表現を用いることにより、2つ以上の要素が直接物理的にまたは電気的に相互接触していることを示すように説明され得る。一方、「結合された」という用語は、2つ以上の要素が互いに直接接触していないが、それでも互いに協働またはインタラクトしていることを意味する場合もある。
本明細書において用いられる表記および専門用語を全体的に参照すると、本明細書における詳細な説明は、コンピュータまたはコンピュータのネットワーク上で実行されるプログラム・プロシージャの観点で表され得る。これらの手続き的(procedural)記載および表現は、当業者によって、当該技術分野における他の当業者に自身の研究の本質を最も効果的に伝えるために用いられている。
プロシージャとは、ここでは、また一般的に、所望の結果をもたらすオペレーションの首尾一貫したシーケンスであると考えられる。これらのオペレーションは、物理的量の物理的操作を必要とするものである。必須ではないが通例、これらの量は、記憶、転送、組合せ、比較および他の形で操作されることが可能な電気信号、磁気信号または光信号の形態をとる。場合によっては、主に一般的用法の理由から、これらの信号を、ビット、値、要素、シンボル、文字、語、数等と呼ぶことが好都合であることがわかっている。しかしながら、これらの用語および同様の用語は全て適切な物理的量に関連付けられ、これらの量に適用される好都合なラベルにすぎないことに留意されたい。
更に、実行される操作は、多くの場合、人間のオペレータによって実行される知的オペレーションに一般的に関連付けられる、追加または比較等の用語で参照される。1つまたは複数の実施形態の一部を形成する、本明細書に説明されるオペレーションのいずれにおいても、人間のオペレータのそのような能力は必要でないか、ほとんどの場合に望ましくない。むしろ、オペレーションは機械オペレーションである。様々な実施形態のオペレーションを実行するための有用な機械は、汎用デジタル・コンピュータまたは同様のデバイスを含む。
様々な実施形態は、これらのオペレーションを実行するための装置またはシステムにも関する。この装置は、必要とされる目的のために特に構築されることが可能であるか、またはコンピュータに記憶されるコンピュータ・プログラムによって選択的にアクティベートまたは再構成される汎用コンピュータを含むことができる。本明細書において提示されるプロシージャは、特定のコンピュータまたは他の装置に本質的に関係しない。様々な汎用機械は、本明細書における教示に関連して書かれたプログラムと共に用いられ得るか、または、必要とされる方法ステップを実行する、より特殊な装置を構築することが好都合であるとわかる場合がある。様々なこれらの機械のために必要とされる構造は、与えられる説明から明らかとなるであろう。
本開示の要約書は、読み手が技術的開示の本質を迅速に理解できるようにするために提供されていることを強調しておく。要約書は、特許請求の範囲の範囲または意味を解釈または限定することに用いられないという理解のもとに提出されている。更に、上記した「発明を実施するための形態」においては、開示を効率化するために様々な特徴がまとめて単一の実施形態にされていることを見てとることができる。このような開示方法は、特許請求される実施形態が各請求項に明示的に記された特徴以外のものを必要とする意図を表していると解釈されるべきではない。むしろ、以下の特許請求の範囲が表しているように、本発明の主題は、開示されている単一の実施形態の全特徴よりも少ない特徴にある。このため、以下の特許請求の範囲は本明細書において「発明を実施するための形態」に組み込まれ、各請求項は独立した1つの実施形態に基づく。添付の特許請求の範囲において「including(含む、備える)」および「in which」という表現はそれぞれ、平易な英語に相当する表現である「comprising(含む、備える)」および「wherein」として用いられている。また、「第1の」、「第2の」、「第3の」等の用語は単にラベルとして用いられており、それらの対象物に数的限定を課すことを意図したものではない。
上記で説明したものは、開示されているアーキテクチャの例を含む。当然ながら、コンポーネントおよび/または方法の全ての考え得る組合せを記載することは不可能であるが、当業者であれば、多くの更なる組合せおよび置き換えが可能であることを認識することができる。したがって、新規のアーキテクチャは、添付の特許請求の範囲の趣旨および範囲内にある全ての変化、変更および変形を包含することが意図される。

Claims (35)

  1. コンピュータにより実施される方法であって、
    クライアント・アプリケーションから、地理的領域と、オプションで、該地理的領域を検索することに関係する追加データとを含むロケーション・ベースの要求を受信する工程と、
    好ましくは、該地理的領域を検索することに関係する該追加データを用いることによって、該地理的領域をカバーする複数のタイルを決定する工程であって、該複数のタイルの各タイルは、該地理的領域の一部分をカバーし、一組のロケーションを含む、前記複数のタイルを決定する工程と、
    該複数のタイルを該クライアント・アプリケーションに送信する工程と、を備えるコンピュータにより実施される方法。
  2. 前記ロケーション・ベースの要求は、モバイル・デバイス上の前記クライアント・アプリケーションから受信され、
    前記地理的領域は、該モバイル・デバイスの現在のロケーションを含み、
    マップ上のオーバレイとして該モバイル・デバイス上に表示するための送信された複数のタイルは、
    受信した一組のロケーションに対する該モバイル・デバイスの現在のロケーションの表示を含む、請求項1に記載の方法。
  3. 前記複数のタイルの各々は、ロケーション・タイプのカテゴリに固有であり、
    前記方法は、
    受信したロケーション・ベースの要求を該ロケーション・タイプのカテゴリにマッピングする工程と、
    マッピングされたロケーション・タイプのカテゴリに従って前記複数のタイルを決定する工程と、を更に備え、
    好ましくは、前記追加データは、検索データを含み、
    受信したロケーション・ベースの要求を該ロケーション・タイプのカテゴリにマッピングする工程は、
    該検索データを該ロケーション・タイプのカテゴリにマッピングすることを含む、請求項1または2に記載の方法。
  4. 前記ロケーション・ベースの要求、特に前記追加データは、ズーム・レベルを指定し、
    前記複数のタイルの各タイルは、ズーム・レベルの範囲に関連付けられ、
    前記方法は、
    指定されたズーム・レベルを、前記複数のタイルの各々に関連付けられたズーム・レベルの範囲にマッチングすることによって前記複数のタイルを決定する工程を更に備える、請求項1〜3のいずれか1項に記載の方法。
  5. 前記複数のタイルは、第1のタイルを含み、
    該第1のタイルは、第1の地理的領域をカバーし、
    該第1のタイルは、前記第1の地理的領域内の第1の組のロケーションを含み、
    該第1の組のロケーションは、ロケーションの組全体の中の選択される第1の組のロケーションの相対的重要度に従って、該ロケーションの組全体から選択される、請求項1〜4のいずれか1項に記載の方法。
  6. 前記複数のタイルは、第1のタイルおよび第2のタイルを含み、
    該第1のタイルは、第1の地理的領域をカバーし、
    該第2のタイルは、該第1の地理的領域と別個の第2の地理的領域をカバーし、
    該第1の地理的領域は、該第2の地理的領域よりも大きい、請求項1〜5のいずれか1項に記載の方法。
  7. 前記第1の地理的領域がより低い密度の関連ロケーションを含むという判断に応答して、前記第1の地理的領域は、前記第2の地理的領域よりも大きいものとして構築される、請求項6に記載の方法。
  8. 別個の隣接する地理的領域をカバーするかまたは異なるズーム・レベルで前記地理的領域の少なくとも一部分をカバーする、前記ロケーション・ベースの要求に関係する第2の複数のタイルを決定する工程と、
    該第2の複数のタイルを要求するように前記クライアント・アプリケーションに命令する工程と、
    該第2の複数のタイルの要求を前記クライアント・アプリケーションから受信する工程と、
    該第2の複数のタイルを前記クライアント・アプリケーションに送信する工程と、を備える請求項1〜7のいずれか1項に記載の方法。
  9. 前記クライアント・アプリケーションから第2のロケーション・ベースの要求を受信する工程であって、該第2のロケーション・ベースの要求は、第2の地理的領域と、オプションで、該第2の地理的領域を検索することに関係する第2の追加データとを含み、該第2のロケーション・ベースの要求は、以前のロケーション・ベースの要求としてタグ付けされた前記ロケーション・ベースの要求および地理的領域を含み、該第2の地理的領域は、該以前のロケーション・ベースの要求からの該地理的領域と重複する、前記第2のロケーション・ベースの要求を受信する工程と、
    好ましくは、該第2の地理的領域を検索することに関係する該第2の追加データを用いることによって、第2の複数のタイルを決定する工程であって、該第2の複数のタイルは、残りの領域をカバーし、該以前のロケーション・ベースの要求からの該地理的領域をカバーするのに用いられるタイルを除外する、前記第2の複数のタイルを決定する工程と、
    該第2の複数のタイルを前記クライアント・アプリケーションに送信する工程と、を備える請求項1〜8のいずれか1項に記載の方法。
  10. 前記ロケーション・ベースの情報の要求に応答して、検索範囲を決定または受信する工程と、
    用いる一組のタイルを決定する工程と、
    要求された地理的領域をカバーする該組内のタイルの集合を決定する工程と、を備える請求項1〜9のいずれか1項に記載の方法。
  11. 前記検索の要求は、
    地理的領域、検索語、ズーム・レベル、または、ユーザ識別子、クライアント・デバイス識別子、クライアント・アプリケーション識別子、セッション識別子、もしくは検索に潜在的に関係する任意の他のメタデータ等の1つもしくは複数の追加のデータ、のうちの1つまたは複数を含む、請求項1〜10のいずれか1項に記載の方法。
  12. 前記タイルは、
    タイル・コンポーネントによってタイル・ストアから読み出され、
    該タイル・ストアは、ローカル、リモートまたは分散データベースを含むことができ、
    該タイル・ストア内のタイルは、好ましくはカテゴリ、タイプまたは検索トピックによって分割される、請求項1〜11のいずれか1項に記載の方法。
  13. 実行されると、請求項1〜12のいずれか1項に記載の方法を実行するように動作可能なソフトウェアを実装する1つまたは複数のコンピュータ可読非一時的記録媒体。
  14. システムであって、
    1つまたは複数のプロセッサと、
    該1つまたは複数のプロセッサに結合され、該1つまたは複数のプロセッサによって実行可能な命令を含むメモリと、を備え、
    該1つまたは複数のプロセッサは、該命令を実行するとき、請求項1〜12のいずれか1項に記載の方法を実行するように動作可能である、システム。
  15. 前記方法は、コンピューティング・デバイス間の特定の地理的ロケーションに結び付けられたロケーション・ベースの情報の交換のために適合され、
    前記方法は、
    クライアント・アプリケーションから、地理的領域および該地理的領域内のロケーションのリストを受信する要求を含むロケーション・ベースの要求を受信する工程と、
    該地理的領域をカバーする複数のタイルを決定する工程であって、該複数のタイルの各タイルは、該地理的領域の一部分をカバーし、一組のロケーションを含む、前記複数のタイルを決定する工程と、
    該複数のタイルを該クライアント・アプリケーションに送信する工程と、を備える請求項14に記載のシステム。
  16. コンピュータにより実施される方法であって、
    クライアント・アプリケーションから、地理的領域を含むロケーション・ベースの要求を受信する工程と、
    該地理的領域をカバーする複数のタイルを決定する工程であって、該複数のタイルの各タイルは、該地理的領域の一部分をカバーし、一組のロケーションを含む、前記複数のタイルを決定する工程と、
    該複数のタイルを該クライアント・アプリケーションに送信する工程と、を備える方法。
  17. 前記ロケーション・ベースの要求は、モバイル・デバイス上の前記クライアント・アプリケーションから受信され、
    前記地理的領域は、該モバイル・デバイスの現在のロケーションを含み、
    マップ上のオーバレイとして該モバイル・デバイス上に表示するための送信された複数のタイルは、
    受信した複数組のロケーションに対する該モバイル・デバイスの現在のロケーションの表示を含む、請求項16に記載の方法。
  18. 前記複数のタイルの各々は、ロケーション・タイプのカテゴリに固有であり、
    前記方法は、
    受信したロケーション・ベースの要求を該ロケーション・タイプのカテゴリにマッピングする工程と、
    マッピングされたロケーション・タイプのカテゴリに従って前記複数のタイルを決定する工程と、を更に備える、請求項16に記載の方法。
  19. 前記ロケーション・ベースの要求は、ズーム・レベルを指定し、
    前記複数のタイルの各タイルは、ズーム・レベルの範囲に関連付けられ、
    前記方法は、
    指定されたズーム・レベルを、前記複数のタイルの各々に関連付けられたズーム・レベルの範囲にマッチングすることによって前記複数のタイルを決定する工程を更に備える、請求項16に記載の方法。
  20. 前記複数のタイルは、第1のタイルを含み、
    該第1のタイルは、第1の地理的領域をカバーし、
    該第1のタイルは、該第1の地理的領域内の第1の組のロケーションを含み、
    該第1の組のロケーションは、ロケーションの組全体の中の選択される第1の組のロケーションの相対的重要度に従って、該ロケーションの組全体から選択される、請求項16に記載の方法。
  21. 前記複数のタイルは、第1のタイルおよび第2のタイルを含み、
    該第1のタイルは、第1の地理的領域をカバーし、
    該第2のタイルは、該第1の地理的領域と別個の第2の地理的領域をカバーし、
    該第1の地理的領域は、該第2の地理的領域よりも大きい、請求項16に記載の方法。
  22. 前記第1の地理的領域がより低い密度の関連ロケーションを含むという判断に応答して、前記第1の地理的領域は、前記第2の地理的領域よりも大きいものとして構築される、請求項21に記載の方法。
  23. 別個の隣接する地理的領域をカバーするかまたは異なるズーム・レベルで前記地理的領域の少なくとも一部分をカバーする、前記ロケーション・ベースの要求に関係する第2の複数のタイルを決定する工程と、
    該第2の複数のタイルを要求するように前記クライアント・アプリケーションに命令する工程と、
    該第2の複数のタイルの要求を前記クライアント・アプリケーションから受信する工程と、
    該第2の複数のタイルを前記クライアント・アプリケーションに送信する工程と、を備える請求項16に記載の方法。
  24. 前記クライアント・アプリケーションから第2のロケーション・ベースの要求を受信する工程であって、該第2のロケーション・ベースの要求は、第2の地理的領域を含み、該第2のロケーション・ベースの要求は、以前のロケーション・ベースの要求としてタグ付けされた前記ロケーション・ベースの要求および地理的領域を含み、該第2の地理的領域は、該以前のロケーション・ベースの要求からの該地理的領域と重複する、前記第2のロケーション・ベースの要求を受信する工程と、
    残りの領域をカバーし、該以前のロケーション・ベースの要求からの該地理的領域をカバーするのに用いられるタイルを除外する第2の複数のタイルを決定する工程と、
    該第2の複数のタイルを前記クライアント・アプリケーションに送信する工程と、を備える請求項16に記載の方法。
  25. デバイス上のプロセッサ回路と、
    該プロセッサ回路上で、クライアント・アプリケーションから、地理的領域を含むロケーション・ベースの要求を受信し、複数のタイルを該クライアント・アプリケーションに送信するように動作可能な通信コンポーネントと、
    該プロセッサ回路上で、該複数のタイルを、該地理的領域をカバーする一組のタイルとして決定するように動作可能なタイル・コンポーネントであって、該複数のタイルの各タイルは該地理的領域の一部をカバーし、一組のロケーションを含む、前記タイル・コンポーネントと、を備える装置。
  26. 前記ロケーション・ベースの要求は、ズーム・レベルを指定し、
    前記複数のタイルの各タイルは、ズーム・レベルの範囲に関連付けられ、
    前記タイル・コンポーネントは、指定されたズーム・レベルを、前記複数のタイルの各々に関連付けられたズーム・レベルの範囲にマッチングすることによって前記複数のタイルを決定するように動作可能である、請求項25に記載の装置。
  27. 前記複数のタイルは、第1のタイルを含み、
    該第1のタイルは、第1の地理的領域をカバーし、
    該第1のタイルは、該第1の地理的領域内の第1の組のロケーションを含み、
    該第1の組のロケーションは、ロケーションの組全体の中の選択される第1の組のロケーションの相対的重要度に従って、該ロケーションの組全体から選択される、請求項25に記載の装置。
  28. 前記複数のタイルは、第1のタイルおよび第2のタイルを含み、
    該第1のタイルは、第1の地理的領域をカバーし、
    該第2のタイルは、該第1の地理的領域と別個の第2の地理的領域をカバーし、
    該第1の地理的領域は、該第2の地理的領域よりも大きい、請求項25に記載の装置。
  29. 別個の隣接する地理的領域をカバーするかまたは異なるズーム・レベルで前記地理的領域の少なくとも一部分をカバーする、前記ロケーション・ベースの要求に関係する第2の複数のタイルを決定するように動作可能な前記タイル・コンポーネントと、
    該第2の複数のタイルを要求するように前記クライアント・アプリケーションに命令し、該第2の複数のタイルの要求を前記クライアント・アプリケーションから受信し、該第2の複数のタイルを前記クライアント・アプリケーションに送信するように動作可能な前記通信コンポーネントと、を備える請求項25に記載の装置。
  30. 前記クライアント・アプリケーションから第2のロケーション・ベースの要求を受信し、第2の複数のタイルを前記クライアント・アプリケーションに送信するように動作可能な前記通信コンポーネントであって、前記第2のロケーション・ベースの要求は、第2の地理的領域を含み、前記第2のロケーション・ベースの要求は、以前のロケーション・ベースの要求としてタグ付けされた前記ロケーション・ベースの要求および地理的領域を含み、該第2の地理的領域は、該以前のロケーション・ベースの要求からの該地理的領域と重複する、前記通信コンポーネントと、
    残りの領域をカバーし、該以前のロケーション・ベースの要求からの該地理的領域をカバーするのに用いられるタイルを除外する該第2の複数のタイルを決定するように動作可能な第2のタイル・コンポーネントと、を備える請求項25に記載の装置。
  31. 命令を含む少なくとも1つのコンピュータ可読記録媒体であって、該命令は、実行されると、システムに、
    クライアント・アプリケーションから、地理的領域およびズーム・レベルを含むロケーション・ベースの要求を受信すること、
    該地理的領域をカバーする複数のタイルを決定すること、該複数のタイルの各タイルは、該地理的領域の一部分をカバーし、該ズーム・レベルを含むズーム・レベル範囲に関連付けられ、一組のロケーションを含む、前記決定すること、
    該複数のタイルを該クライアント・アプリケーションに送信することを実行させる、コンピュータ可読記録媒体。
  32. 前記複数のタイルは、第1のタイルを含み、
    該第1のタイルは、第1の地理的領域をカバーし、
    該第1のタイルは、該第1の地理的領域内の第1の組のロケーションを含み、
    該第1の組のロケーションは、ロケーションの組全体の中の選択される第1の組のロケーションの相対的重要度に従って、該ロケーションの組全体から選択される、請求項31に記載のコンピュータ可読記録媒体。
  33. 前記複数のタイルは、第1のタイルおよび第2のタイルを含み、
    該第1のタイルは、第1の地理的領域をカバーし、
    該第2のタイルは、該第1の地理的領域と別個の第2の地理的領域をカバーし、
    該第1の地理的領域は、該第2の地理的領域よりも大きい、請求項31に記載のコンピュータ可読記録媒体。
  34. 前記コンピュータ可読記録媒体は、更なる命令を含み、
    該命令は、実行されると、システムに、
    別個の隣接する地理的領域をカバーするかまたは異なるズーム・レベルで前記地理的領域の少なくとも一部分をカバーする、前記ロケーション・ベースの要求に関係する第2の複数のタイルを決定すること、
    該第2の複数のタイルを要求するように前記クライアント・アプリケーションに命令すること、
    該第2の複数のタイルの要求を前記クライアント・アプリケーションから受信すること、
    該第2の複数のタイルを前記クライアント・アプリケーションに送信すること、を実行させる、請求項31に記載のコンピュータ可読記録媒体。
  35. 前記コンピュータ可読記録媒体は、更なる命令を含み、
    該命令は、実行されると、システムに、
    前記クライアント・アプリケーションから第2のロケーション・ベースの要求を受信することであって、該第2のロケーション・ベースの要求は、第2の地理的領域および前記ズーム・レベルを含み、該第2のロケーション・ベースの要求は、以前のロケーション・ベースの要求としてタグ付けされた前記ロケーション・ベースの要求、地理的領域およびズーム・レベルを含み、該第2の地理的領域は、該以前のロケーション・ベースの要求からの該地理的領域と重複する、前記受信すること、
    前記ズーム・レベルにおいて、残りの領域をカバーし、該以前のロケーション・ベースの要求からの該地理的領域をカバーするのに用いられるタイルを除外する第2の複数のタイルを決定すること、
    該第2の複数のタイルを前記クライアント・アプリケーションに送信すること、を実行させる、請求項31に記載のコンピュータ可読記録媒体。
JP2016540877A 2013-09-05 2014-07-09 ロケーション・ベースの情報をサーバ制御によりタイリングするための技法 Active JP6515102B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/018,908 2013-09-05
US14/018,908 US9241240B2 (en) 2013-09-05 2013-09-05 Techniques for server-controlled tiling of location-based information
PCT/US2014/045859 WO2015034578A1 (en) 2013-09-05 2014-07-09 Techniques for server-controlled tiling of location-based information

Publications (2)

Publication Number Publication Date
JP2017523485A true JP2017523485A (ja) 2017-08-17
JP6515102B2 JP6515102B2 (ja) 2019-05-15

Family

ID=52584774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016540877A Active JP6515102B2 (ja) 2013-09-05 2014-07-09 ロケーション・ベースの情報をサーバ制御によりタイリングするための技法

Country Status (9)

Country Link
US (1) US9241240B2 (ja)
JP (1) JP6515102B2 (ja)
KR (1) KR102027892B1 (ja)
CN (1) CN106471488B (ja)
AU (1) AU2014315668B2 (ja)
CA (1) CA2918213A1 (ja)
IL (1) IL243882B (ja)
MX (1) MX359118B (ja)
WO (1) WO2015034578A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5547860B1 (ja) * 2013-08-05 2014-07-16 ソノー電機工業株式会社 ユーザの現在位置と現在方位角を用いて目的の地理的情報を検索してユーザに提供するユーザ携帯端末
US20150163721A1 (en) * 2013-12-11 2015-06-11 Jdsu Uk Limited Method and apparatus for processing data
US20150290535A1 (en) * 2014-04-15 2015-10-15 King.Com Limited Device, game and methods therefor
US10171939B2 (en) 2014-07-15 2019-01-01 Belkin International, Inc. Control based on geo-dependent conditions
US10200330B2 (en) 2015-12-10 2019-02-05 Facebook, Inc. Techniques for ephemeral messaging with a message queue
US9906480B2 (en) * 2015-12-10 2018-02-27 Facebook, Inc. Techniques for ephemeral messaging with legacy clients
US11704344B2 (en) 2016-10-25 2023-07-18 Here Global B.V. Method and apparatus for determining weather-related information on a tile basis
CN115599879A (zh) * 2017-09-30 2023-01-13 北京嘀嘀无限科技发展有限公司(Cn) 用于站点显示的系统以及方法
KR102181345B1 (ko) * 2018-02-20 2020-11-20 한국전자통신연구원 이미지 타일 가시화 정보의 계층적 표현을 이용한 이미지 표현 방법, 이를 이용하는 디바이스 및 시스템
CN110704057B (zh) * 2019-10-09 2021-04-27 腾讯科技(深圳)有限公司 一种基于地图业务的业务处理方法及相关装置
CN114061599B (zh) * 2020-07-31 2024-09-17 华为技术有限公司 导航定位方法、电子设备以及导航定位系统
CN112380302B (zh) * 2020-10-23 2023-07-21 北京建筑大学 基于轨迹数据的热力图生成方法、装置、电子设备以及存储介质
CN112612779A (zh) * 2020-12-29 2021-04-06 清华大学 瓦片数据的迁移方法、装置、设备及存储介质
CN112800470B (zh) * 2021-02-20 2024-09-20 和芯星通科技(北京)有限公司 一种差分数据的管理方法和系统以及服务器和客户端
WO2023077436A1 (en) * 2021-11-05 2023-05-11 Nvidia Corporation Thread specialization for collaborative data transfer and computation
US20230160713A1 (en) * 2021-11-19 2023-05-25 Here Global B.V. Method, apparatus and computer program product for identifying work zones within a map
US11887364B2 (en) * 2022-04-07 2024-01-30 Anthony M. Brunetti Systems and methods for mapping project sites using ground and aerial imagery

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001060262A (ja) * 1999-08-20 2001-03-06 Shashin Kagaku Co Ltd 大規模画像のディジタル画像情報データベースシステム
JP2005291892A (ja) * 2004-03-31 2005-10-20 Aisin Aw Co Ltd ナビゲーション装置及び記憶媒体
US20080109159A1 (en) * 2006-11-02 2008-05-08 Yahoo! Inc. Method of client side map rendering with tiled vector data
JP2010257286A (ja) * 2009-04-27 2010-11-11 Yahoo Japan Corp 広告表示システム及び広告表示方法
US20110055290A1 (en) * 2008-05-16 2011-03-03 Qing-Hu Li Provisioning a geographical image for retrieval
JP2012515994A (ja) * 2009-01-26 2012-07-12 グーグル インコーポレイテッド 密度に基づいて検索結果を表示するシステム及び方法
JP2013037416A (ja) * 2011-08-04 2013-02-21 Kokusai Kogyo Co Ltd メッシュデータ検索システム
WO2013089837A1 (en) * 2011-12-12 2013-06-20 Google Inc. Pre-fetching map tile data along a route

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6577714B1 (en) 1996-03-11 2003-06-10 At&T Corp. Map-based directory system
CN103398719B (zh) * 2004-03-23 2017-04-12 咕果公司 数字地图描绘系统
US7551182B2 (en) 2005-01-18 2009-06-23 Oculus Info Inc. System and method for processing map data
CA2628995C (en) 2005-11-07 2015-06-23 Google Inc. Local search and mapping for mobile devices
US20080172632A1 (en) 2006-09-29 2008-07-17 Stambaugh Thomas M Distributed web-based processing, spatial organization and display of information
US8749585B2 (en) 2007-03-29 2014-06-10 Microsoft Corporation Adding custom content to mapping applications
US8872846B2 (en) 2007-12-04 2014-10-28 The Weather Channel, Llc Interactive virtual weather map
US20090303251A1 (en) 2008-06-10 2009-12-10 Andras Balogh Displaying, processing and storing geo-located information
US20100138294A1 (en) * 2008-12-03 2010-06-03 Microsoft Corporation Provision of location-based advertising
US8037166B2 (en) * 2009-01-26 2011-10-11 Google Inc. System and method of displaying search results based on density
US20100321399A1 (en) 2009-06-18 2010-12-23 Patrik Ellren Maps from Sparse Geospatial Data Tiles
US8175794B1 (en) * 2009-10-06 2012-05-08 Google Inc. Switching between best views of a place
US8386715B2 (en) * 2009-11-30 2013-02-26 Nokia Corporation Method and apparatus for tile mapping techniques
US8514968B2 (en) * 2010-09-03 2013-08-20 Qualcomm Incorporated Methods and apparatus for encoding and transmitting mobile device location information
US20120221363A1 (en) 2011-02-25 2012-08-30 Hipmunk, Inc. System and method for displaying hotel information
US20130073374A1 (en) * 2011-09-15 2013-03-21 Stephan HEATH System and method for providing combined coupon/geospatial mapping/ company-local & socially conscious information and social networking (c-gm-c/l&sc/i-sn)
US20130124563A1 (en) * 2011-11-16 2013-05-16 Google Inc. Controlling pre-fetching of map data tiles based on selectable parameters
US9305107B2 (en) * 2011-12-08 2016-04-05 Google Inc. Method and apparatus for pre-fetching place page data for subsequent display on a mobile computing device
US8954860B1 (en) * 2012-08-27 2015-02-10 Google Inc. Method and apparatus for generating and displaying tourist maps
US8849308B2 (en) * 2012-11-21 2014-09-30 Apple Inc. Tiling of map data
US9292189B2 (en) * 2013-09-11 2016-03-22 Facebook, Inc. Techniques to display location-based information

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001060262A (ja) * 1999-08-20 2001-03-06 Shashin Kagaku Co Ltd 大規模画像のディジタル画像情報データベースシステム
JP2005291892A (ja) * 2004-03-31 2005-10-20 Aisin Aw Co Ltd ナビゲーション装置及び記憶媒体
US20080109159A1 (en) * 2006-11-02 2008-05-08 Yahoo! Inc. Method of client side map rendering with tiled vector data
US20110055290A1 (en) * 2008-05-16 2011-03-03 Qing-Hu Li Provisioning a geographical image for retrieval
JP2012515994A (ja) * 2009-01-26 2012-07-12 グーグル インコーポレイテッド 密度に基づいて検索結果を表示するシステム及び方法
JP2010257286A (ja) * 2009-04-27 2010-11-11 Yahoo Japan Corp 広告表示システム及び広告表示方法
JP2013037416A (ja) * 2011-08-04 2013-02-21 Kokusai Kogyo Co Ltd メッシュデータ検索システム
WO2013089837A1 (en) * 2011-12-12 2013-06-20 Google Inc. Pre-fetching map tile data along a route

Also Published As

Publication number Publication date
MX2016002843A (es) 2017-01-11
JP6515102B2 (ja) 2019-05-15
IL243882B (en) 2019-08-29
KR102027892B1 (ko) 2019-10-04
CN106471488A (zh) 2017-03-01
WO2015034578A1 (en) 2015-03-12
MX359118B (es) 2018-09-14
IL243882A0 (en) 2016-04-21
AU2014315668B2 (en) 2019-09-19
AU2014315668A1 (en) 2016-03-03
CN106471488B (zh) 2020-03-03
CA2918213A1 (en) 2015-03-12
US9241240B2 (en) 2016-01-19
US20150067032A1 (en) 2015-03-05
KR20170047189A (ko) 2017-05-04

Similar Documents

Publication Publication Date Title
JP2017523485A (ja) ロケーション・ベースの情報をサーバ制御によりタイリングするための技法
US20180143998A1 (en) Electronic map interfaces
US7634465B2 (en) Indexing and caching strategy for local queries
EP2820616B1 (en) Empirical expert determination and question routing system and method
JP6450013B2 (ja) グラフベースの自然言語処理のための技術
US20210157873A1 (en) Providing notifications based on geofencing search results
TWI490523B (zh) 資訊處理方法、伺服器設備及移動終端機
GB2500936A (en) Identifying the physical location of internet service providers using geo-location data provided by devices requesting data
CN108009205B (zh) 基于位置的搜索结果缓存方法、搜索方法、客户端及系统
US9501509B2 (en) Throwaway spatial index structure for dynamic point data
US9948476B2 (en) Techniques to associate user data with a mobile device
EP3905091A1 (en) Enhanced online privacy
CN108268504A (zh) 一种划分兴趣点的搜索区域的方法及设备
JP6336065B2 (ja) 仮想私設ネットワークを用いてデータ使用をレート調整する方法
CN107924415A (zh) 从位置不可感知设备向搜索查询提供位置信息以提高用户交互性能
US20150227583A1 (en) Managing search results
WO2019003182A1 (en) SYSTEM AND METHOD FOR CORRESPONDING A SERVICE PROVIDER TO A SERVICE REQUESTOR
EP3024199B1 (en) Method, storage media, system and program product for associating user data with a mobile device
EP2846277B1 (en) Techniques for server-controlled tiling of location-based information
WO2018145610A1 (zh) 数据处理方法、服务器以及存储介质
KR20040055901A (ko) 점진적인 공간 데이터 서비스 시스템 및 방법
US20230394991A1 (en) Progressive display in multi-zoom digital map
Hassani et al. A context aware framework for mobile crowd-sensing
EP4290801A2 (en) Distributed private location verification and enhancement
CN116955790A (zh) 一种粗排处理的方法、装置、设备、存储介质及程序产品

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170628

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20170628

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170630

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180605

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181029

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: 20190319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190415

R150 Certificate of patent or registration of utility model

Ref document number: 6515102

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250