(57)【要約】      （修正有）【課題】経験上のエキスパートを判断する並びに質問及び回答をルーティングするためのシステム及び方法を提供する。【解決手段】各ユーザについての位置追跡データを収集し、マップ上の特定のスケールでの特定の場所／イベント又は特定の地理的領域に関する特定のユーザが有するエキスパータイズのレベルを経験的に判断するために位置追跡データを分析する。システムは、マップ上の特定のスケールでの特定の地理的領域における特定の場所／イベント又は場所／イベントのカテゴリについての質問を受信し、これらの質問を１人以上のエキスパートにリアルタイムで送信し、そのうちの少なくとも１人から質問への応答を受信し、応答を返す。システムはまた、マップの複数のスケールでの表示されたマップ上の特定の地理的領域内の複数の場所／イベント及び／又はユーザの位置を効率よく表す。【選択図】図４
2019061698.tif 000002
【特許請求の範囲】
【請求項１】
モバイルデバイスの情報のルーティング及びオンラインコンピュータシステム上で実行される表示のための方法であって、
場所のプロフィールを生成することであって、前記プロフィールが場所の固有の識別子、および前記場所のマップスケールを決定するための地理的セルの識別子を含む、生成すること；
前記場所のプロフィールをデータストレージ領域に記憶すること；
固有の場所の識別子を前記第１のユーザの固有のユーザ識別子と関連付けたデータストレージ領域のデータに基づいて、第１のユーザが前記場所に訪問したことを検証すること；
前記場所についての質問を、前記固有の場所の識別子、および前記地理的セルの識別子を前記第１のユーザのモバイルデバイスへと送信し、それによって前記第１のユーザのモバイルデバイスが、前記モバイルデバイスのユーザインターフェース上に、前記質問、および前記地理的セルの識別子によって決定されるマップスケールにおけるマップを表示するようにすること；
前記モバイルデバイスから、前記固有の場所の識別子、および前記場所についての質問に対する応答を受信すること；ならびに
前記モバイルデバイスからの、前記固有の場所の識別子、および前記場所についての質問に対する前記応答の受信に対する応答において、前記サーバによって、前記質問に対する前記応答に基づいて、前記データストレージ領域に記憶された前記場所のプロフィールを更新すること、
を含む、方法。
【請求項２】
前記場所についての質問、前記固有の場所の識別子、および前記地理的セルの識別子を第２のユーザのモバイルデバイスへと送信し、それによって前記第２のユーザのモバイルデバイスが、前記質問、および前記固有のセルの識別子によって決定されるマップスケールにおける第２のマップを表示するようにすること；
前記第２のモバイルデバイスからの、前記固有の場所の識別子、および前記場所についての質問に対する第２の応答の受信に対する応答において、前記質問に対する前記第２のユーザの応答に基づいて、前記固有の場所の識別子と関連付けた前記場所のプロフィールを更新すること、をさらに含む、請求項１に記載の方法。
【請求項３】
前記場所を含む地理的領域に関する質問を決定すること；および
前記決定された地理的領域に基づいて複数の地理的セルの識別子から前記地理的セルの識別子を選択すること、をさらに含む、請求項１に記載の方法。
【請求項４】
前記複数の地理的セルの識別子の各々の地理的セルの識別子が、異なるマップスケールレベルに対応する、請求項３に記載の方法。
【請求項５】
前記場所に関する質問を場所の情報の第三者プロバイダへと送信すること、
前記第三者プロバイダから質問の応答を受信すること、および
前記質問の応答に基づいて場所のプロフィールを更新すること、をさらに含む、請求項１に記載の方法。
【請求項６】
前記第１のユーザが現在前記場所にいることを検証することを含む、請求項１に記載の方法。
【請求項７】
前記第１のユーザが一定の期間内に前記場所に訪問したことを検証することを含む、請求項１に記載の方法。
【請求項８】
前記第１のユーザが前記場所を訪問した日および時間の少なくとも１つを検証することを含む、請求項１に記載の方法。
【請求項９】
前記第１のユーザが前記場所に訪問した持続時間を検証することを含む、請求項１に記載の方法。
【請求項１０】
前記応答に関連する１つ以上のカテゴリを決定するために前記応答を分析することをさらに含む、請求項１に記載の方法。
【請求項１１】
前記応答に関連する１つ以上の地理的領域を決定するために前記応答を分析することをさらに含む、請求項１に記載の方法。
【請求項１２】
一時的でないコンピュータ可読記憶媒体であって、
場所のプロフィールを生成することであって、前記プロフィールが場所の固有の識別子、および前記場所のマップスケールを決定するための地理的セルの識別子を含む、生成すること；
前記場所のプロフィールをデータストレージ領域に記憶すること；
固有の場所の識別子を前記第１のユーザの固有のユーザ識別子と関連付けたデータストレージ領域のデータに基づいて、第１のユーザが前記場所に訪問したことを検証すること；
前記場所についての質問を、前記固有の場所の識別子、および前記地理的セルの識別子を前記第１のユーザのモバイルデバイスへと送信し、それによって前記第１のユーザのモバイルデバイスが、前記モバイルデバイスのユーザインターフェース上に、前記質問、および前記地理的セルの識別子によって決定されるマップスケールにおけるマップを表示するようにすること；
前記モバイルデバイスから、前記固有の場所の識別子、および前記場所についての質問に対する応答を受信すること；ならびに
前記モバイルデバイスからの、前記固有の場所の識別子、および前記場所についての質問に対する前記応答の受信に対する応答において、前記質問に対する前記応答に基づいて、前記データストレージ領域に記憶された前記場所のプロフィールを更新すること、
を含む演算を実行するような、プロセッサにより実行可能なコンピュータプログラムの命令を記憶する、コンピュータ可読記憶媒体。
【請求項１３】
前記演算が、
前記場所についての質問、前記固有の場所の識別子、および前記地理的セルの識別子を第２のユーザのモバイルデバイスへと送信し、それによって前記第２のユーザのモバイルデバイスが、前記質問、および前記固有のセルの識別子によって決定されるマップスケールにおける第２のマップを表示するようにすること；
前記第２のモバイルデバイスからの、前記固有の場所の識別子、および前記場所についての質問に対する第２の応答の受信に対する応答において、前記質問に対する前記第２のユーザの応答に基づいて、前記固有の場所の識別子と関連付けた前記場所のプロフィールを更新すること、
をさらに含む、請求項１２に記載のコンピュータ可読記憶媒体。
【請求項１４】
前記演算が、
前記場所を含む地理的領域に関する質問を決定すること；および
前記決定された地理的領域に基づいて複数の地理的セルの識別子から前記地理的セルの識別子を選択すること、
をさらに含む、請求項１２に記載のコンピュータ可読記憶媒体。
【請求項１５】
前記複数の地理的セルの識別子の各々の地理的セルの識別子が、異なるマップスケールレベルに対応する、請求項１４に記載のコンピュータ可読記憶媒体。
【請求項１６】
前記演算が、
前記場所に関する質問を場所の情報の第三者プロバイダへと送信すること、
前記第三者プロバイダから質問の応答を受信すること、および
前記質問の応答に基づいて場所のプロフィールを更新すること、
をさらに含む、請求項１２に記載のコンピュータ可読記憶媒体。
【請求項１７】
前記演算が、前記第１のユーザが現在前記場所にいることを検証することをさらに含む、請求項１２に記載のコンピュータ可読記憶媒体。
【請求項１８】
前記演算が、前記第１のユーザが一定の期間内に前記場所に訪問したことを検証することをさらに含む、請求項１２に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記演算が、前記第１のユーザが前記場所を訪問した日および前記第１のユーザが前記場所を訪問した時間の少なくとも１つ、ならびに前記第１のユーザが前記場所に訪問した持続時間を検証することをさらに含む、請求項１２に記載のコンピュータ可読記憶媒体。
【請求項２０】
前記演算が、前記応答に関連する少なくとも１つのカテゴリと前記応答に関連する地理的領域を決定するために前記応答を分析することをさらに含む、請求項１２に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は、参照によりその開示全体が本明細書に組み込まれる、２０１２年２月２９日に出願された米国特許仮出願第６１／６０５，１２６号の優先権の利益を主張するものである。
【０００２】
本発明は、一般に、ソーシャルメディア及び位置ベースのサービスに関し、より詳細には、特定の場所／イベントについての１人以上のエキスパートを客観的に判断するためのシステム及び方法に関する。本発明はまた、特に、マップ上の特定のスケールでの特定の地理的領域内の場所／イベントの特定のカテゴリについての１人以上のエキスパートを客観的に判断するためのシステム及び方法に関する。本発明はまた、特に、特定のスケールでの特定の地理的領域内の場所／イベント又は場所／イベントのカテゴリについての質問及び回答をエキスパートとの間でルーティングするためのシステム及び方法に関する。本発明はまた、特に、マップの複数のスケールでの表示されたマップ上の特定の地理的領域内の複数の場所／イベント及び／又はユーザの位置を効率よく表すためのシステム及び方法に関する。
【背景技術】
【０００３】
従来のオンラインシステムでは、誰が特定の場所／イベント又は場所／イベントのカテゴリについてのエキスパートであるかの判断は、歴史的に非常に主観的であり、問題がある。これらの従来のオンラインシステムは、通常は、熟知している場所／イベント及び／又は場所／イベントのカテゴリに関する入力を提供する潜在的なエキスパートを必要とする。しかしながら、従来のオンラインシステムは、誰が特定の場所／イベント及び／又は場所／イベントのカテゴリについてのエキスパートであるかを判断するのに用いられる情報の自叙伝的性質（ａｕｔｏｂｉｏｇｒａｐｈｉｃａｌ  ｎａｔｕｒｅ）に悩まされる。従来のオンラインシステムは、潜在的なエキスパートからの自叙伝的入力を確認することができず、したがって従来のオンラインシステムは、エキスパートは誰であるかを正しく判断することができない。
【０００４】
従来のオンラインシステムの圧倒的多数は、エキスパートを識別しようともせず、代わりに、ユーザが特定の場所／イベント及び／又は場所／イベントのカテゴリ及び／又は地理的領域についての要求を投稿することだけを可能にし、真のエキスパートが投稿された要求を受信し、投稿された要求に折よく応答することを望むものである。このソリューションは、質問しているユーザが、投稿された要求を受信し、応答することを選ぶ可能性があるあらゆる潜在的なエキスパートの経験を検証しようがないために、同様に悩まされる。したがって、応答する潜在的なエキスパートの主張されたエキスパータイズは、要求の主題についての潜在的なエキスパートの知識の自覚のみに基づく。他の従来のソリューションは、真のエキスパートのピアユーザが要求に応答し、情報を持った回答を提供することを望んで、要求を多数のピアユーザに単純に送信する。このソリューションは、単一のユーザのソーシャルネットワークの規模が本質的に限られていることに加えて、上述の同じ問題に同様に悩まされる。
【０００５】
従来のシステムのさらなる制限は、それらが、複数の場所／イベント及び／又はユーザの位置を表すグラフィカル要素を、表示されたマップ上に効率よく提示する能力を欠いていることである。特に、より大きい地理的エリアを示すためにマップのスケールが変更され、且つマップが表示されるウィンドウ／画面のサイズが対応して変更されないときに、この問題は増幅する。従来のソリューションは、各グラフィカル要素がユーザインターフェースの或る固有の部分を占領し、したがって例えばグラフィカル要素によって占領される固有の部分の上にマウスポインタをホバリングすることによってユーザが選択できるように、グラフィカル要素を互いの上に僅かに重ね合わせることを試みた。これらの従来のソリューションは、個々のグラフィカル要素を選択しようとするユーザにとって面倒であり、非能率的であり、大きな難題をもたらす。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
したがって、必要とされるのは、上述のように従来のシステムで見受けられるこれらの大きな問題を克服するシステム及び方法である。
【課題を解決するための手段】
【０００７】
したがって、上述のように従来のオンラインシステムで見受けられる上述の問題を解決するために、本明細書で説明されるのは、特定の場所／イベントへのユーザ訪問の頻度及び持続時間を判断するために位置追跡データを収集し、位置追跡データの分析に基づいて、マップ上の特定のスケールでの特定の地理的領域内の特定の場所／イベント及び場所／イベントのカテゴリに関する特定のユーザのエキスパータイズのレベルを経験的に判断するシステム及び方法である。
【０００８】
特定の場所／イベントへのユーザによる各訪問に関して収集される位置追跡データは、訪問した特定の場所／イベント、場所／イベントの位置、訪問日、訪問時刻、及び訪問持続時間、並びに他の情報を含む。収集した位置追跡データの分析は、特定の場所／イベント及び地理的領域に関係した１つ以上のカテゴリ、特定のユーザ及び特定の場所／イベント及び地理的領域に関する経時的訪問頻度、特定のユーザに関する（場所／イベントの関連するカテゴリを伴わない又は場所／イベントの関連するカテゴリを伴う）特定の地理的エリアにおける経時的訪問頻度、訪問中に該場所で遭遇する１つ以上のイベント（例えば、サービスタイム）、時間及び地理的エリアにわたるユーザが訪問した場所／イベントのカテゴリの多様性、及び時間及び地理的エリアにわたるユーザが訪問した特定のカテゴリの場所／イベントの多様性、カテゴリに関連なくユーザが場所／イベント（例えば、都市、地域、ブロックなど）に訪問する地理的エリア、ユーザが回答したシステムからの質問の数、及びユーザによって提供された回答についてのピアフィードバックの判断を含む。他の情報も分析に含まれてもよい。
【０００９】
収集した位置追跡データの分析に基づいて、システムは、どのような特定のスケールでの特定の場所／イベント及び場所／イベントのカテゴリ及び地理的領域を各ユーザが熟知しているかを最初に判断する（及び時間で洗練する）。これらの判断、及び特定のユーザのピアユーザとのエキスパータイズレベルの比較に基づいて、システムは、どんなユーザが特定の地理的領域及びスケールでの特定の場所／イベント及び場所／イベントのカテゴリについてのエキスパートであるかを経験的に判断することができる。場所／イベントは、企業、レストラン、公園、サービスタイム、スポーツイベント、バス路線、通勤、ライブバンド、ダンス、カラオケ、ポエトリーリーディングなどを含んでもよい（しかしこれらに限定されない）。カテゴリの範囲は、広くから狭くにわたり、食べ物、夜遊び、エクササイズ、寿司、バーガー、朝食、コーヒー、ベジタリアンなどを含んでもよい（しかしこれらに限定されない）。スケールは、大きい地理的領域から小さい地理的領域にわたることができ、都市、地域、ブロックなどを含んでもよく（しかしこれらに限定されない）、且つまた、様々なサイズの任意に画定された地理的領域（以下、「セル」と呼ばれる）を含んでもよい。
【００１０】
有利には、システムは、種々のモバイルデバイスアプリケーションからの能動的チェックイン情報を用いて位置追跡データを収集してもよい。例えば、Ｆｏｕｒｓｑｕａｒｅ、Ｆａｃｅｂｏｏｋ、Ｇｏｏｇｌｅ  Ｌａｔｉｔｕｄｅ、Ｔｗｉｔｔｅｒなどのアプリケーションは、ユーザが現在存在する場所／イベントを該ユーザが識別することを可能にする。システムはまた、ユーザに関連付けられるモバイルデバイスの全地球測位システム（「ＧＰＳ」）又は他の座標に基づく追跡を定期的に又は継続的に用いて位置追跡データを収集してもよい。例えば、モバイルデバイスの三角測量追跡が採用されてもよい。加えて、場所／イベントの位置（例えば、マップ座標、ＧＰＳ座標など）を１つ以上の特定の場所／イベント又はカテゴリと相互に関連付けることによって、場所／イベントのカテゴリ（例えば、寿司レストラン、公園、コーヒー店）をシステムによって識別することができる。位置とカテゴリとの相互の関連付けは、システムにアクセス可能なデータストレージ領域に記憶することができ、且つまた、ネットワーク通信を介してアクセス可能なＦｏｕｒｓｑｕａｒｅ、Ｆａｃｅｂｏｏｋ、及び他のソースなどの外部ソースから得ることができる。
【００１１】
システムが十分な位置追跡データを収集及び分析すると、システムは、位置追跡データに基づいて、誰が特定の場所／イベントについてのエキスパートであるか及び誰が特定のスケールでの地理的領域の特定のカテゴリについてのエキスパートであるかを定期的に又は継続的に判断することができる。経験的に判断されたエキスパートステータスを用いて、システムは、特定のスケールでの場所／イベントについての及び／又はカテゴリについてのピアユーザから受信した質問の、１人以上のエキスパートへのリアルタイムルーティングを提供する。こうした質問へのエキスパートからの応答が、システムによって受信され、質問しているピアユーザに同じくリアルタイムで提供される。
【００１２】
加えて、システムは、縮尺されたマップ上に１人以上のユーザ又は場所／イベントを表すグラフィカル要素（「アノテーション」）が重ね合わされた状態のユーザインターフェースを提供する。表示されているマップのスケールが変化する際に、操作性を高め、サーバの作業負荷とクライアントの作業負荷との両方を減らすために、アノテーションがグラフィカルに結合又は分離される。本発明の他の特徴及び利点は、以下の詳細な説明及び添付図をよく見れば当業者にはより容易にわかるであろう。
【００１３】
本発明の構造及び動作は、以下の詳細な説明と、同様の参照番号が同様の部分を指す添付図をよく見ることで理解されるであろう。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係る経験上のエキスパートを判断する及び質問をルーティングするための例示的なシステムを示すネットワーク図である。
【図２】本発明の一実施形態に係る例示的な通信デバイスを示すブロック図である。
【図３】本発明の一実施形態に係る例示的なサーバデバイスを示すブロック図である。
【図４】本発明の一実施形態に係る質問を受信する及びエキスパート応答を提供するための例示的なプロセスを示す流れ図である。
【図５】本発明の一実施形態に係るユーザに関する位置ベースの情報を追跡するための例示的なプロセスを示す流れ図である。
【図６】本発明の一実施形態に係るエキスパート判断を容易にするために位置ベースの情報を分析するための例示的なプロセスを示す流れ図である。
【図７】本発明の一実施形態に係る質問へのエキスパートの応答に従ってエキスパートプロフィールを更新するための例示的なプロセスを示す流れ図である。
【図８】本発明の一実施形態に係るテンポラリエキスパートに質問をルーティングするための例示的なプロセスを示す流れ図である。
【図９】本発明の一実施形態に係るエキスパートを識別するための例示的なプロセスを示す流れ図である。
【図１０】本発明の一実施形態に係る場所データを提供するための例示的なプロセスを示す流れ図である。
【図１１】本発明の一実施形態に係る変化マップの状態及び遷移の例示的な組を示す状態図である。
【図１２Ａ】本発明の一実施形態に係るマップにアノテーションを追加するための例示的なプロセスを示す流れ図である。
【図１２Ｂ】本発明の一実施形態に係るマップにアノテーションを追加するための例示的なプロセスを示す流れ図である。
【図１２Ｃ】本発明の一実施形態に係るマップにアノテーションを追加するための例示的なプロセスを示す流れ図である。
【図１３Ａ】本発明の一実施形態に係るマップからアノテーションを除去するための例示的なプロセスを示す流れ図である。
【図１３Ｂ】本発明の一実施形態に係るマップからアノテーションを除去するための例示的なプロセスを示す流れ図である。
【図１３Ｃ】本発明の一実施形態に係るマップからアノテーションを除去するための例示的なプロセスを示す流れ図である。
【図１４】本発明の一実施形態に係るクラスタを形成するための例示的なプロセスを示す流れ図である。
【図１５】本発明の一実施形態に係るクラスタを分解するための例示的なプロセスを示す流れ図である。
【図１６】本発明の一実施形態に係る例示的なマップスケール及びマップセルを示すブロック図である。
【図１７】本発明の一実施形態に係る複数のスケールでのマップセルによって画定される例示的な領域を示すブロック図である。
【図１８】本発明の一実施形態に係るクラスタを伴う例示的なマップを示すユーザインターフェースの図である。
【図１９】本明細書に記載の種々の実施形態と組み合わせて用いられ得る例示的な有線又は無線プロセッサによりイネーブルにされるデバイスを示すブロック図である。
【発明を実施するための形態】
【００１５】
本明細書で開示される或る実施形態は、ユーザ位置データに基づいてエキスパータイズを経験的に判断し、場所／イベント及び場所／イベントのカテゴリについての質問を場所／イベントについての識別されたエキスパートにルーティングするシステムを提供する。例えば、本明細書で開示される１つの方法は、システムがマップをユーザインターフェース上に特定のスケールで提示し、お勧めの良い寿司レストランを探しているユーザから質問を受信し、該マップのスケールでの寿司レストランの１人以上のエキスパートを識別し、識別されたエキスパートに質問をルーティングし、エキスパートのうちの１人以上から応答を受信し、問い合わせしているユーザに回答を提供することを可能にする。この説明を読めば、種々の代替的な実施形態及び代替的な用途において本発明をどのようにして実施するかが当業者にはわかるであろう。しかしながら、本発明の種々の実施形態が本明細書で説明されるが、これらの実施形態は、単なる例として提示され、限定するものではないことが理解される。したがって、種々の代替的な実施形態のこの詳細な説明は、付属の請求項に記載の本発明の範囲又は広さを制限するように解釈されるべきではない。
【００１６】
この説明では、場所／イベントという用語は、場所及びイベントという用語と交換可能に用いられることに留意されたい。この説明によれば、場所／イベントは、特定の目的を有する特定の位置又はルートであり、また特定の持続時間を有することがある。例えば、場所／イベントは、レストラン、バス路線、及びプロフェッショナルフットボールゲームとすることができる。場所／イベントの別の例は、単一の位置を有するが複数のタイプのイベントを催す複合スポーツ施設（ｍｕｌｔｉｓｐｏｒｔ  ｃｏｍｐｌｅｘ）である。したがって、この例では、第１の場所／イベントは複合スポーツ施設での野球ゲームとすることができ、第２の場所／イベントは同じ複合スポーツ施設でのフットボールゲームとすることができる。
【００１７】
場所／イベントの種々のカテゴリは、特定の場所／イベントが、すなわち例えば寿司レストランが、食べ物、シーフード、ローフード、ペスカタリアンフード、アジアンフードなどのいくつかの関係したカテゴリ及び／又は階層カテゴリに属することができるように、階層構造又は関係構造を有することができることにも留意されたい。
【００１８】
この説明は、マップ上のスケールを言及し、これらのスケールは、親セル及び子セルへの地表面の階層分割に属する地理的セルと関係付けることができることにも留意されたい。これらのスケールはまた、通信デバイスのディスプレイ上に提示される任意の地理的領域又は地域及びブロックなどの所定の領域などと関係付けることができる。また、いくつかの場合には、ユーザは、マップ上の特定のスケールでの地理的領域におけるエキスパートとすることができ、こうしたエキスパータイズは、１つ以上のカテゴリに関連していてもよく、又はエキスパータイズは、どのような関連するカテゴリも有さなくてもよく、又は別の言い方をすれば、こうしたエキスパータイズは、すべてのカテゴリに関するものであってもよい。
【００１９】
動作時に、システムは、入力として位置データを受信する。位置データは、個別のユニットにおいて受信されてもよく、例えば、位置データは、ユーザが場所にチェックインする又は既知の位置からステータス更新をパブリックに投稿するたびに受信されてもよい。位置データはまた、例えば、ＧＰＳ又は他の座標ベースの位置特定ユーティリティを用いるリアルタイムの位置追跡により継続的に受信してもよい。システムは、特定のスケールでの特定の場所／イベント及び場所／イベントのカテゴリに関する各ユーザのエキスパータイズのレベルを判断するためにユーザごとに位置データを定期的に又は継続的に分析する。システムが特定のスケールでの特定の場所／イベント又は場所／イベントのカテゴリについての質問を受信するときに、システムは、特定の質問に対応する１人以上のエキスパートを識別し、１人以上のエキスパートに質問をルーティングする。１人以上のエキスパートからの１つ以上の回答が、質問者に戻るようにルーティングされ、且つまた、特定の質問及び特定のスケールでの特定の場所／イベント又は場所／イベントのカテゴリと関連付けて、又は質問がなされた或る他の態様と関連付けて、データストレージ領域に記憶されてもよい。
【００２０】
システムは、各ユーザについての豊富なプロフィールを作成するために種々の情報を受信及び分析する。例えば、情報は、以下を含んでもよいがこれらに限定されない。
【００２１】
１．種々のソースから集められる位置追跡データ。
【００２２】
２．能動的チェックインに基づく又はユーザアカウントに関連する通信デバイスの位置追跡（例えば、ＧＰＳ、三角測量など）からのユーザが訪問した特定の場所／イベント（例えばスターバックス、ダウンタウン）。
【００２３】
３．ユーザが特定の場所／イベントに訪れた回数。
【００２４】
４．特定の場所／イベントへの訪問日、訪問時刻、及び訪問持続時間。
【００２５】
５．場所／イベントを１つ以上のカテゴリ（Ｆｏｕｒｓｑｕａｒｅ、Ｆａｃｅｂｏｏｋなどの外部のネットワーク化されたソースから集められる）と相互に関連付けることによって得ることができる、特定の場所／イベントのカテゴリ（例えば、寿司レストラン、公園、コーヒー店）。
【００２６】
６．ユーザが訪問する様々な場所／イベント及び場所／イベントのカテゴリ。
【００２７】
７．ユーザが時を過ごす領域及びマップスケール（例えばサンフランシスコ）。
【００２８】
８．ユーザが回答した特定の場所／イベント及び場所／イベントのカテゴリについての質問。
【００２９】
システムは、データを分析し、様々な情報を判断しなければならない。例えば、システムは、データのコレクション（一実施形態ではデータベース）を維持し、これは、特定の場所／イベント及び場所／イベントのカテゴリを、該特定の場所／イベント及び場所／イベントのカテゴリに関するエキスパートと経験的に判断されるユーザにマッピングする。例えば、特定の場所／イベント（例えば、セカンド／マーケットのスターバックス）を考えると、システムは、収集及び分析した位置データに基づいて特定の場所／イベントを熟知しているユーザのリストを作成し、絶えず更新する。システムはまた、例えば特定の緯度／経度位置及び半径によって判断される特定のマップスケールを熟知しているユーザのリストを作成し、絶えず更新する。システムはまた、複数のマップスケールが重複する地理的領域をカバーする状態で、場所／イベントの特定のカテゴリを熟知しているユーザのリストを作成し、絶えず更新する。これらのリストは、特定のスケールでの特定の場所／イベント及び場所／イベントのカテゴリについての質問をルーティングすることができるエキスパートをシステムが識別することを可能にする。
【００３０】
加えて、システムは、特定のユーザに関する各位置データ入力を分析し、位置データ入力及び分析は共同して合計スコアに寄与し、合計スコアは、特定のスケールでの特定のユーザ及び特定の場所／イベント及び場所／イベントのカテゴリ及び地理的領域に関するエキスパータイズレベルに翻訳される。具体的には、場所／イベントへの各訪問に対して、ユーザは、該場所／イベント及び該特定の場所／イベントに関連する１つ以上のカテゴリに関するポイントを受け取る。一実施形態では、特定の場所／イベントへの訪問は、該特定の場所／イベント、該特定の場所／イベントに関連する１つ以上のカテゴリ、及び該特定の場所／イベントに関連する地域、都市、及び／又は他の潜在的に（必ずしもそうである必要はないが）重複する地理的領域に関するポイントを含んでもよい。これはまた、訪問時に該場所で遭遇した特定のイベント及び／又はイベントのカテゴリ（例えば、サービスタイム、ＤＪ、ポエトリーリーディング、スポーツイベントなど）に関するポイントを含んでもよい。
【００３１】
一実施形態では、システムは、各ユーザによって回答された質問、及び各質問に対する特定の場所／イベントについてのユーザの回答、該特定の場所／イベント及び場所／イベントのあらゆる関連するカテゴリに関するユーザ累積エキスパータイズポイントを追跡する。これは、該特定の場所／イベント、場所／イベントの関連カテゴリ、及び対応する地理的領域に関するポイントを含む。
【００３２】
システムは、収集及び外挿した（例えば、システムは、ＧＰＳ位置データから特定の場所／イベントを外挿してもよい）情報を、特定のスケールでの特定の場所／イベント及び場所／イベントのカテゴリ及び関連する地理的領域に関する各ユーザの関連ポイント及びスコアと組み合わせて継続的に分析し、累積合計ポイントが或る閾値を上回る場合にユーザをそれぞれのこうしたトピックに関するエキスパートと判断する。閾値は、静的なものであってもよく、又は可変であってもよく、且つまた、システムにおける他のユーザに関連して確立されてもよい。
【００３３】
さらに、システムはまた、ユーザを、特定の場所／イベント又は地理的領域に関するテンポラリエキスパートとして識別してもよい。例えば、特定の場所／イベントに現在いる又は該場所／イベントに最近（例えば、ここ１時間以内に又はここ２時間以内に）訪れているユーザが、テンポラリエキスパートと考えられてもよい。したがって、システムは、位置についてのリアルタイムの又は最新の知識を必要とする或るタイプの質問をテンポラリエキスパートにルーティングしてもよい。例えば、ユーザが休暇中で、馴染みのない都市の馴染みのないレストランにいる場合、ユーザは依然としてテンポラリエキスパートと判断されてもよく、レストランがどれくらい混んでいるか又はいつサービスタイムが終了するかなどの質問をテンポラリエキスパートに適切にルーティングすることができる。
【００３４】
一実施形態では、ユーザに割り当てられるポイントは時間が経つにつれて消滅することがあるので、ユーザはエキスパータイズレベルを維持するために或るポイント閾値（又はユーザのピアに対する或るポイント数）を維持しなければならない。さらに、特定の場所／イベントに関して与えられるポイントの数は、それらがより一層大きいマップスケール又はより一層広いカテゴリに割り当てられるのに伴い減少してもよい。例えば、特定の場所／イベントでのチェックインは、特定の場所／イベントにＸポイント、場所／イベントが存在する極小の地理的セル（例えば、システムによって用いられる最小の地理的領域）にＹポイント、及び場所／イベントに関連する最も具体的なカテゴリにＺポイントを割り当てる。しかしながら、システムはまた、次のより大きい地理的セルにＹ−Ａポイント、及び次のさらにより大きい地理的セルにＹ−Ｂポイントを割り当ててもよい。同様に、システムはまた、カテゴリの次のレベルにＺ−Ａポイント、及びカテゴリのさらに広がったレベルにＺ−Ｂを割り当ててもよい。
【００３５】
例えば、場所／イベントがサンディエゴのＳｕｓｈｉ  Ｏｔａである場合、ユーザは、Ｓｕｓｈｉ  Ｏｔａレストランが存在するマップスケールレベル８（最小の地理的セル）での地理的セルに関してＹポイントを受け取り、Ｓｕｓｈｉ  Ｏｔａレストランが存在するレベル８セルを含むマップスケールレベル７での地理的セルに関してＹ−Ａポイントを受け取ってもよく、マップスケールレベルが減少するのに伴いポイント値がさらに減少する（この場合、マップスケールレベル１が最大の地理的セルを有する）。同様に、ユーザは、寿司レストランに関してＺポイント、シーフードレストランに関してＺ−Ａポイント、レストランに関してＺ−Ｂポイント、食品に関してＺ−Ｃポイントなどを受け取ってもよい。減少がすべてのユーザに同じくあてはめられる限り、システムは、場所／イベントの特定のカテゴリに関するユーザエキスパータイズに基づいて特定の場所／イベントに関するそのユーザのエキスパータイズを概算するように有利に構成される。より一層有利には、システムは、カテゴリのエキスパータイズレベルと地理的位置との相互相関に基づいて１人以上のエキスパートを識別することができる。
【００３６】
一実施形態では、与えられるポイントは、複数のカテゴリ又は地理的領域間で分割されてもよい。例えば、エキスパートユーザが２つの地域（又は複数の地理的セル）を含む大きい地理的領域についての一般質問に回答する場合、これらの地域（又はセル）のそれぞれに、割り当てられる合計ポイントの一部が割り当てられてもよい。各地域（又はセル）に割り当てられる一部は、等しくても又は等しくなくてもよく、各地域（又はセル）に割り当てられるポイントの累計は、より大きい領域（親セル）に割り当てられる合計ポイントよりもさらに少なくても又は多くてもよい。
【００３７】
一実施形態では、エキスパートポイント閾値は、システムにおける現在のユーザ群の合計エキスパータイズレベルに基づいて動的であってもよい。例えば、特定の位置／場所に関するエキスパートが過多に存在する場合、エキスパートとして判断されるのに必要とされるポイントの閾値レベルが、該特定の位置／場所に関するエキスパートとして識別されるためのボーダーラインを上げるように自動的に増加してもよい。
【００３８】
図１６及び図１７を最初に参照すると、マップスケール及び対応する地理的セルの説明が提供される。図１６は、本発明の一実施形態に係る例示的なマップスケール及び地理的セルを示すブロック図であり、図１７は、本発明の一実施形態に係る複数のスケールでの地理的セルによって画定される例示的な地理的領域を示すブロック図である。例えば、図１７の地理的領域は、該エリアに住んでいる地元住民によって理解される場合の地域境界に厳密に対応してもよい。
【００３９】
最初に、当業者によって理解されるように、地球は、より一層小さい等しいサイズに設定された地理的領域に論理的に分割されてもよい。説明を簡単にするために、これらの等しいサイズに設定された領域を地理的セルと呼ぶことにする。最大セルは、マップスケールレベル１での地球自体であり、このセルは、マップレベル２に対応する２つの半球形セルに等分割することができ、以下同様である。位置ベースのサービスの目的では、こうした大きい地理的セルは実際的ではなく、したがって、一実施形態では、地球は、マップレベル１で１６個の地理的セルに分割され、次いで、これらのセルのそれぞれがマップレベル２でまた１６個の地理的セルに分割され、最小の地理的セルが位置ベースのサービスに関する妥当にサイズ設定された地理的領域となるまで以下同様である。一実施形態では、最小の地理的セルは約１平方メートルである。
【００４０】
図１６に示すように、マップスケールレベルＮは、最高マップスケールであり、１６個の等しいサイズに設定された地理的セルを含む。各地理的セルは、１６個の等しいサイズに設定された地理的セルに細分割することができ、図示された実施形態では、マップスケールＮでの地理的セル１５００は、そのように分割され、引き伸ばされ、マップスケールレベルＮ−１として示される。同様に、マップスケールＮ−１での地理的セル１５１０も、分割され、引き伸ばされ、マップスケールレベルＮ−２として示される。マップスケールＮ−１での地理的セル１５２０も、分割され、引き伸ばされ、マップスケールレベルＮ−３として示され、これは、所望のレベルの粒度が得られるまで同様に分割することができる地理的セル１５３０を含む。有利には、この地理的セルへの論理的分割は、ＧＰＳ座標又は緯度及び経度座標又はまた別の類似のシステムを用いて達成することができる。
【００４１】
人々が居住する地理的領域はこうした論理境界を採用しないので、図１７は、どのようにして複数のマップスケールからの地理的セルを用いて既存の地域を依然として画定することができるかを示す。一実施形態（図示されない）では、地域は、地域境界内の極小の地理的セル（最小の地理的セル）のすべての集合体として地理的に説明することができる。これに対する改善が図１７に示され、この場合、地域は、地域境界内に入る各マップ層からの最大セルのすべての集合体である最小数の地理的セルを用いて地理的に説明される。
【００４２】
ここで戻ると、図１は、経験上のエキスパートを判断する並びに質問及び回答をルーティングするための例示的なシステム１０を示すネットワーク図である。図示された実施形態では、システム１０は、１つ以上のサーバ４０と複数のユーザ通信デバイス２０及び３０を含む。システム１０のこれらのコンポーネントのそれぞれは、それぞれデータストレージ領域２５、３５、及び４５と共に構成される。システム１０の種々のコンポーネントは、有線又は無線ネットワーク５０を介して通信し、当業者によって理解されるように種々のプロトコル及びアプリケーションを実行してもよい。有利には、サーバ４０と通信デバイス２０及び３０は、ネットワーク５０にわたる通信のためにアクセス可能である。通信デバイス２０及び３０とサーバ４０は、いくつかの例を挙げるとパーソナルコンピュータ、ラップトップ、スマートフォン、及びハンドヘルドデバイスを含むがこれらに限定されないプロセッサによりイネーブルにされるデバイスとして実装されてもよい。例示的なプロセッサによりイネーブルにされるデバイスは、図１９に関して後で説明する。
【００４３】
図２は、本発明の一実施形態に係る例示的な通信デバイス２０を示すブロック図である。図示された実施形態では、デバイス２０は、位置特定モジュール１００、問い合わせモジュール１１０、回答モジュール１２０、入力モジュール１３０、及びクラスタモジュール１４０を含む。通信デバイスは、データストレージ領域２５と共に構成される。
【００４４】
位置特定モジュール１００は、通信デバイス２０（対応してユーザ）の位置を判断するように構成される。一実施形態では、位置特定モジュール１００は、デバイス２０のハードウェアに内蔵されたＧＰＳモジュールと通信する。位置特定モジュール１００は、デバイス２０上の他のモジュールによってアクセス可能であり、応答して、質問しているモジュールにデバイス２０（対応してユーザ）の現在位置を提供してもよい。ユーザの位置についてのこうした情報は、サーバ４０に有利に通信されてもよい。位置特定モジュール１００は、マップ上にユーザの位置を示すとき、質問を送信するとき、質問に回答するとき、及び他の場合にアクセスすることができる。マップは、ネイティブマップモジュール（図示せず）を用いてロードされる。一実施形態では、ネイティブマップモジュールは、通信デバイス２０のオペレーティングシステムによって提供される。
【００４５】
問い合わせモジュール１１０は、ユーザと対話し、ユーザ質問を受け、該質問を１つ以上のサーバ４０に通信するように構成される。一実施形態では、質問は、質問文字列、ユーザの現在位置、質問エリアの位置（すなわち、マップスケール）、随意的な半径、場所ｉｄの随意的な組、及びプレイスの随意的なカテゴリを含む。問い合わせモジュール１１０は、ユーザから入力を受け、１つ以上のサーバ４０に問い合わせデータを通信する。別の実施形態では、ユーザは、質問を口頭で述べ、メッセージが通信デバイス２０上のテキストに書き起こされ、又はネットワーク接続を介してアクセス可能なサーバ上のテキストモジュールに音声によって遠隔的に書き起こされる。一実施形態では、ユーザは、マップ上の関心あるエリアを選択して、関心あるエリアが画面上に示されるまでパンニング及び拡大する。この選択は、緯度／経度及び半径に翻訳され、これはマップスケールと判断され、マップスケールが１つ以上のサーバ４０に通信される。別の実施形態では、マップスケールは、エリア名、交差点、又は都市名を表すユーザからのテキスト入力を受けることによって判断される。別の実施形態では、領域の名前を探す質問文字列を構文解析することによってマップスケールが判断され、この場合、１つ以上のサーバ４０が、問い合わせを受信した後でマップスケールを判断する。
【００４６】
回答モジュール１２０は、該ユーザに送信されている質問にエキスパートとして回答するエキスパートユーザから入力を受信するように構成される。一実施形態では、回答モジュール１２０は、質問、特定の場所／イベント、場所／イベントのカテゴリ、質問に関連するマップスケール、質問の位置（緯度／経度／半径）、質問を送信しているユーザ（随意的に）、質問が送信された時刻、及び既に受信した質問へのあらゆる回答を通信デバイス２０のディスプレイ上でユーザに提示する。一実施形態では、回答モジュール１２０は、回答文字列、随意的に１つ以上の場所／イベント識別子、１つ以上の写真、マップスケール識別子、１つ以上の位置（緯度／経度／半径）、１つ以上の地理的領域識別子（例えば、地域）、匿名フラグ、及びソーシャルネットワークと共有フラグ、を入力として受信する。回答文字列が受信されると、回答モジュール１２０は、回答文字列を１つ以上のサーバ４０に送信し、エキスパートユーザに確認メッセージ又はエラーメッセージを表示する。確認メッセージにおいて、回答モジュール１２０は、質問に回答することに関してエキスパートユーザが稼いだ合計ポイントをエキスパートユーザに示してもよい。
【００４７】
入力モジュール１３０は、質問しているユーザ又はエキスパートユーザからの入力を通信デバイス２０上で受信するように構成される。入力モジュール２０は、問い合わせモジュール１１０及び回答モジュール１２０と協働する。一実施形態では、入力モジュール２０は、ソーシャルネットワークとの共有を可能にする又は任意のユーザによる匿名参加を可能にするために、テキスト文字列、１つ以上の位置（緯度／経度／半径）、１つ以上の場所識別子、場所／イベントの１つ以上のカテゴリ、１つ以上のマップスケール、１つ以上の写真、１つ以上のフラグ、のうちの１つ以上を受信する。
【００４８】
代替的実施形態では、入力モジュール１３０は、ユーザが特定の場所／イベントについての情報を１つ以上のサーバ４０に提供することを可能にする。例えば、特定の場所でのユーザは、デバイス２０を用いて１つ以上のサーバ４０にアクセスし、特定の場所／イベントについての人口統計及び／又は現在情報を提供するのに入力モジュール１３０を用いてもよい。例えば、ユーザは、１つ以上のサーバ４０上のデータストレージ領域から抜けている特定の場所／イベントに関するプロフィールの抜けている情報を補充してもよい。これは、場所／イベントの営業時間、場所／イベントがバスルーム、又はアルコール提供を含むかどうかなどを含んでもよい。有利には、１つ以上のサーバ４０は、複数の場所／イベントに関するプロフィールを作成及び維持してもよく、プロフィール情報は、ユーザに関連する通信デバイス２０の特定の位置が特定の場所／イベントの既知の位置で確認されるときに、編集のためにユーザが利用できるようになってもよい。
【００４９】
クラスタモジュール１４０は、ユーザ通信デバイス２０のユーザインターフェース上に表示される個々のアノテーションをいつ統合又は分解するかを判断するように構成される。例えば、ユーザ通信デバイス２０のユーザインターフェース上にマップが第１のスケールで表示されるときに、比較的小さい地理的エリアを表わすことがある第１のスケールでのマップ上に常駐する、ほんのいくつかのユーザ及び場所／イベントが存在することがある。しかしながら、表示されたマップが比較的大きい地理的エリアを表すようにマップのスケールが増大されるときに、ユーザインターフェース上に表示される数十又は数百のユーザ及び場所／イベントが存在することがある。クラスタモジュール１４０は、アノテーションをクラスタにいつ結合するか及びクラスタを個々のアノテーションに、別個のクラスタに、又はアノテーションとクラスタの或る組合せにいつ分解するかを判断するように構成される。
【００５０】
一実施形態では、クラスタモジュール１４０は、マップ上に表示されるべきアノテーション及び各アノテーションの特定の座標を分析するように構成される。第１のアノテーションの座標及び第２のアノテーションの座標が、表示される第１のアノテーション及び第２のアノテーションが所定のパーセンテージだけ互いに重なるようなものである場合、クラスタモジュール１４０は、第１のアノテーションと第２のアノテーションを第１のクラスタに結合し、第１のクラスタを、表示されるユーザインターフェースのマップ上に単一のアノテーションとして提示するように構成される。同様に、第２のクラスタに現在結合される第３のアノテーションの座標及び第４のアノテーションの座標が、表示される第３のアノテーション及び第４のアノテーションが或るパーセンテージだけ互いに重ならないようなものである場合、クラスタモジュール１４０は、第２のクラスタを分解し、第３のアノテーションと第４のアノテーションを、表示されるユーザインターフェースのマップ上に別個のアノテーションとして個々に提示するように構成される。
【００５１】
当業者によって理解されるように、こうした技術は、アノテーションをクラスタに結合する、クラスタをクラスタに結合する、及びアノテーションとクラスタをクラスタに結合するために、ユーザインターフェースがレンダリングされるたびに適用することができる。同様に、この技術はまた、クラスタを複数のアノテーション及びクラスタ又はアノテーション及びクラスタの或る組み合わせに分解するために、ユーザインターフェースがレンダリングされるたびに採用することができる。
【００５２】
図３は、本発明の一実施形態に係るコアサーバ４０モジュールの例示的な組を示すブロック図である。図示された実施形態では、サーバ４０は、トラッカモジュール１５０、スコア付けモジュール１６０、ルータモジュール１７０、及び場所モジュール１８０を含む。トラッカモジュール１５０は、ユーザの過去の位置及び現在位置を追跡する。位置は、緯度及び経度、タイムスタンプ、固有ｉｄを含んでもよく、且つまた、半径、精度の尺度、場所／イベント名、マップスケールレベル、地理的セル識別子、地域名、都市名、この場所／イベントを記述するカテゴリのリスト、及びこの情報のソースの記述を含んでもよい。本発明の一実施形態では、位置の精度は、１つ以上のサーバ４０に通信される通信デバイス上のＧＰＳモジュールの精度によって測られる。
【００５３】
トラッカモジュール１５０は、すべてのユーザの位置履歴をデータストレージ領域４５に記憶し、情報を検索するために問い合わせすることができる。例えば、トラッカモジュール１５０は、ユーザの最終位置、及びユーザが特定の場所／イベントに訪れている最終時刻、及びユーザが特定の場所／イベントに訪れている回数を提供するために問い合わせすることができる。システムへの問い合わせは、時刻、マップスケール、場所／イベントのカテゴリ、ユーザ、及び場所を含む多数のフィルタによって制限することができる。問い合わせは、時刻、或る地点からの距離、場所／イベント名、及びユーザ名を含む多数の属性によってソートすることができる。
【００５４】
トラッカモジュール１５０は、ユーザがどこにいるか及びどこに訪れているかについての定期更新を受信するために位置特定モジュール１００と協働する。トラッカモジュール１５０はまた、これらの第三者アプリケーション及びサービスのユーザによって訪問される場所／イベントを提供する第三者アプリケーションから入力を受信してもよい。これらの第三者アプリケーション及びサービスのいくつかの例は、Ｆｏｕｒｓｑｕａｒｅ、Ｆａｃｅｂｏｏｋ、Ｙｅｌｐ、及びＧｏｏｇｌｅ  Ｌａｔｉｔｕｄｅを含む。
【００５５】
スコア付けモジュール１６０は、システムにわたってポイント及びエキスパータイズを追跡し、所与の場所／イベント及び場所／イベントのカテゴリに関するエキスパートユーザを判断するように構成される。スコアは、該ユーザの固有ｉｄによって特定のユーザに関連付けられるデータストレージ領域４５に記憶され、スコアは、システムが該ユーザについての新しい情報を受信するときに更新される。本発明の一実施形態では、各ユーザは、特定の場所／イベント（例えば、Ｓｕｓｈｉ  Ｏｔａ）、場所／イベントのカテゴリ（例えば、レストラン）、及び地理的領域（例えば、地理的セル、緯度／経度／半径、又は地域）に関するポイントを貯める。後で図７においてこのプロセスをより詳細に説明する。図３に戻ると、データストレージ領域４５は、ユーザの固有ｉｄを場所／イベント、マップスケール、及び場所／イベントに対応する１つ以上のカテゴリと関連付けることによって合計ポイントを記憶する。例えば、一実施形態では、特定の場所／イベントに関するエキスパータイズを追跡するときに、システムは、１人以上のユーザ、特定の場所／イベント、及び該場所／イベントに関する各ユーザによって貯められたポイントの総数を関連付けるデータベース列を記憶し、更新する。システムはまた、この列が更新された最終時刻、この合計ポイントがエキスパータイズの所定の又は動的に決定される閾値を超えたかどうか、及びシステムがこのエキスパータイズを無効にするユーザによる要求を受信したかどうかを記憶してもよい。
【００５６】
さらなる例は、特定のマップスケールに関するエキスパータイズの記憶を説明する。マップスケールは、世界の州、都市、地域、ブロック、及びあらゆる特定の緯度／経度／半径を含むことができる。エキスパータイズポイントは、ユーザとマップスケールを双方向に関連付けることによって記憶される。最初は、スケール、例えば、地域、都市、州などの１つ以上の名前を判断することによる。この場合、システムは、地域、都市などのユーザエキスパータイズにポイントを割り当てる。この実施形態では、システムは、この情報を、ユーザ（ユーザｉｄを用いる）と名前のついた領域とを関連付けるデータベースの列として記憶する。
【００５７】
特定のマップスケールに関するユーザエキスパータイズを追跡するための第２の方法は、上述のように世界を異なる粒度レベルでのグリッドに分割することによる。一実施形態では、これは、ジオハッシュを用いて達成することができる。したがって、システムは、ユーザ（ユーザｉｄを用いる）と地理的セル（例えば、「８ｅｆｆａ９３」）とを関連付ける各粒度レベルでのユーザのエキスパータイズポイントを追跡する。
【００５８】
スコア付けモジュール１６０は、エキスパータイズのタイプごとに貯めたポイントの数を分析することによって、エキスパータイズの各タイプ（例えば、場所／イベント、カテゴリ、スケール）におけるエキスパータイズのレベルを判定する。ユーザが或る閾値（例えば、１００ポイント）に達すると、該ユーザは、特定の場所／イベント、カテゴリ、スケールなどに関するエキスパート（例えば、コーヒー店のエキスパート、寿司のエキスパート、ダウンタウンのエキスパート、地理的セル「８ｅｆｆａ９３」のエキスパート）と判断される。一実施形態では、複数のエキスパートレベルを決定する複数の閾値が存在する。例えば、１００ポイントはレベル１を表してもよく、２００ポイントはレベル２を表してもよく、以下同様である。これらの閾値は、システムにおけるユーザ群のサイズ及びポイントの分布に基づいて入手可能であり、手動で設定することができ、又は動的に生成することができる。
【００５９】
スコア付けモジュール１６０はまた、１つ以上のカテゴリでの所与のマップスケール／地理的領域における１人以上のエキスパートを識別するように構成される。一実施形態では、スコア付けモジュール１６０は、スケール（又は地理的エリア）、１つ以上のカテゴリ、及び必要なエキスパートの数を入力として受信する。スケール（又は地理的エリア）は、１つ以上の地理的セルの識別を受け入れることによって又は緯度／経度／半径タプルを受け入れることによって判断することができ、これは、図１７に関してすでに説明したように１つ以上のグリッドセルに翻訳することができる。
【００６０】
本発明の一実施形態では、地理的セルは、「ジオハッシュコード」によってインデックスを付けられる。「ジオセルハッシュコード」は、二次元地理空間矩形（例えば「８ｅｆｆａ９３ａ」）を一意に識別する一連の１６進文字である。コードが１６ウェイツリーと同様に４×４グリッドによる世界の繰返し細分割によって階層的に割り当てられるので、各１６進文字がグリッド上の固有セルを識別する。より長いハッシュコードは、ツリーのより深いレベルでのより微細な細分割を表す。ハッシュコードをデコードするために、システムは、世界を４×４グリッドに分割することで始まる。ハッシュの各１６進文字は、グリッドから矩形セルを順次に選択するのに用いられ、これは次に、新しい４×４グリッドの範囲（ｅｘｔｅｎｔ）となる。プロセスは、ハッシュコードの最後の文字に到達した後に終わる。
【００６１】
データストレージ領域４５は、所与のカテゴリでのエキスパートに関するポイント閾値を超える合計ポイントを有するエリアにおけるユーザを識別するために問い合わせされる。本発明の一実施形態では、問い合わせは、最も粒状のレベルのマップスケールで始まり、所望の数のエキスパートが識別されるまで、より一層粗いスケール又はより一層低い合計ポイントを調べ続ける。この実施形態では、ポイントの総数は、指定されたスケールの粗さが増加するのに伴ってポイントに粗さレベルが乗算されるように正規化されてもよい。例えば、レベル８（例えば、ハッシュコード中に８文字「８ｅｆｆａ９３ａ」）では、エキスパートとなるのに必要なポイント閾値は１０であるが、レベル７（例えば、ハッシュコード中に７文字「８ｅｆｆａ９３」）では、エキスパートとなるのに必要なポイント閾値は１００である。本発明の一実施形態では、結果は、ユーザのすべての組にわたる正規化されたポイント数によって最終的にソートされる。
【００６２】
場所モジュール１８０は、場所／イベントに関する情報を管理及び記憶するように構成される。この情報は、データストレージ領域４５に記憶される。一実施形態では、情報は、場所／イベント名、マップスケールを判断するために緯度及び経度及び半径、マップスケールを判断するために地理的セル識別子、場所／イベントアドレス、場所／イベントカテゴリ（例えば、ナイトクラブ、インディアンフードなど）、第三者サービスにおける該場所／イベントへの参照（例えば、Ｆｏｕｒｓｑｕａｒｅ場所ｉｄ）、場所／イベントのｔｗｉｔｔｅｒハンドル、この場所／イベントへの最終更新のタイムスタンプ、及び他の情報を含んでもよい。場所／イベント情報はまた、営業時間、場所／イベントがアルコールを提供するかどうか、公衆トイレがあるかどうかなどの場所／イベントに関する種々の属性を含んでもよい。このデータは、種々のソース（例えば、Ｆｏｕｒｓｑｕａｒｅ、特定の場所／イベントに関するウェブサイト）から検索されてもよく、若しくはエキスパート又はテンポラリエキスパート（例えば、現在該位置にいるユーザはテンポラリエキスパートであり得る）として識別されるユーザから受信されてもよく、この情報は、データストレージ領域４５に有利に記憶される。この情報は、これらの外部ソースに変化を問い合わせすること及び／又はユーザから付加的な入力を受信することによって規則的に更新される。このデータはまた、システム管理者によって又は場所／イベントのオーナー／マネージャによって手動で更新されてもよい。有利には、各場所は、システムの種々の他のモジュール（例えばスコア付けモジュール１６０）で用いることができるデータストレージ領域における一意識別子を有する。
【００６３】
図４は、本発明の一実施形態に係る質問を受信する及びエキスパート応答を提供するための例示的なプロセスを示す流れ図である。プロセスは、図１〜図３に関してすでに説明したシステムなどのシステムにおいて実施することができる。図示された実施形態では、プロセスは、ステップ２００でソースから問い合わせを受信することで始まる。一実施形態では、ソースは、通信デバイスのユーザである。この問い合わせは、問い合わせモジュール１１０又は問い合わせモジュールの第三者実装（例えば、１つ以上のサーバ４０と通信するためにアプリケーションプログラミングインターフェースと共に第三者モジュールを用いる）から来ることができる。この受信した問い合わせは、システムが質問をルーティングすることを可能にするパラメータを識別するために分析される。本発明の一実施形態では、システムは、最初にあらゆる不適切な言語を識別するために質問を分析する。本発明の別の実施形態では、システムは、該エリアにおいて既に尋ねられた以前の質問とのあらゆるマッチを見出すために質問を分析する。マッチが見出される場合、システムは、以前に提供された回答を返してもよい。
【００６４】
問い合わせを受信した後で、ステップ２１０で、システムは、質問に関連するマップスケールを識別する。マップスケールは、質問を上げたユーザの通信デバイス上に表示されたマップのスケールに基づいて決定することができる。次に、ステップ２２０で、システムは、質問に関連する場所／イベントを識別する。いくつかの状況では、例えば質問が場所／イベントの名前を探している場合、すなわち「この辺りの良い寿司レストランをおしえてください」である場合、質問に関連するどのような場所／イベントも存在しないことがある。スケール及び／又は場所／イベントが識別されると、ステップ２３０で、システムは、質問に回答できる１人以上のエキスパートを識別する。上述のように、エキスパートは、マップスケール及び／又は特定の場所／イベントに関するエキスパートの計算されたエキスパータイズに基づいて識別される。問い合わせは、次いで、ステップ２４０で１人以上の識別されたエキスパートに送信され、システムは、ステップ２５０で１人以上のエキスパートから１つ以上の応答を受信する。次いで、ステップ２６０で１つ以上の応答（又はそれらのサブセット）がソースに送信され、ステップ２７０で質問及び回答セッションへの各エキスパートの参加を反映するためにエキスパートプロフィールが更新される。特に、エキスパートによる参加は、どのようにエキスパートが参加したかに基づいてエキスパートの合計ポイント値を増加又は減少させることがある。一実施形態では、ステップ２３０及び２４０は、所望の数のエキスパートが質問の意図された受信者として識別され、該エキスパートのグループに質問が送信されるように、図８のステップ６２０〜６５０に関して後で説明するプロセスと類似したプロセスを用いて実装することができる。
【００６５】
マップスケール及び場所／イベントを識別するときに、システムは、トラッカモジュール１５０及び／又は場所モジュール１８０と通信してもよい。エキスパートを識別するときに、システムはスコア付けモジュール１６０と通信してもよく、エキスパートに問い合わせを送信するときに、システムは、ルータモジュール１７０と通信してもよい。一実施形態では、システムは、質問、選択されたエキスパート、及び受信した回答をデータストレージ領域４５に記憶する。例えば、システムは、問い合わせにおいて提供されるパラメータ、選択されたエキスパートユーザ（ユーザｉｄ）のリスト、及び各エキスパートによって提供された回答のすべてを記憶してもよい。
【００６６】
また、エキスパートに問い合わせを送信するときに、システムは、回答モジュールがエキスパートユーザに質問を提示するように、各識別されたエキスパートの通信デバイス上の回答モジュール１２０と通信してもよい。一実施形態では、受信した回答が質問をしているユーザに遅延なく送信され、代替的な実施形態では、応答は、最初に不適切な言語又は他の所定の基準を探すシステムを通過する。
【００６７】
図５は、本発明の一実施形態に係るユーザの位置ベースの情報を追跡するための例示的なプロセスを示す流れ図である。図示されたプロセスは、図１〜図３で既に説明したシステムによって実施することができる。図示された実施形態では、ステップ３００でシステムはユーザに対応する位置データを受信する。位置データは、ユーザの通信デバイス上に常駐する位置特定モジュール１００から受信されてもよい。一実施形態では、位置データは、Ｆｏｕｒｓｑｕａｒｅ及びＦａｃｅｂｏｏｋなどのチェックインサービスから生じてもよく、且つまた、チェックインサービス以外の通信デバイス２０に関係するＧＰＳ情報及びソーシャルメディア情報などの他の情報から導出されてもよい。例えば、位置データは、Ｔｗｉｔｔｅｒ又は別の第三者サービス上のユーザのソーシャルメディア対話の内容から導出されてもよい。位置データは、緯度、経度、半径、精度の尺度、ユーザｉｄ、第三者サービスからのユーザｉｄ（例えばＦｏｕｒｓｑｕａｒｅユーザｉｄ）、位置更新時刻のタイムスタンプ、位置が既知の場所である場合に場所ｉｄ、及び地理的セルを含んでもよい。位置データは他の情報を同様に含んでもよい。この位置データ情報は、ステップ３１０で特定のユーザと関連付けられ、ステップ３２０でユーザデータが付加的な位置データ情報を反映するために更新される。一実施形態では、ユーザデータの更新はまた、１つ以上の場所／イベント、場所／イベントのカテゴリ、マップスケール、地理的領域などに関するユーザのエキスパートスコアの修正を含んでもよい。
【００６８】
図６は、本発明の一実施形態に係るエキスパート判断を容易にするために位置ベースの情報を分析するための例示的なプロセスを示す流れ図である。一実施形態では、プロセスは、図１〜図３に関してすでに説明したシステムによって実施することができる。図示されたプロセスでは、ステップ３５０でユーザデータが得られる。例えば、ユーザデータはデータストレージ領域４５から得られてもよい。次に、ステップ３６０でユーザが訪れている特定の場所／イベントを識別するためにユーザデータが分析され、ステップ３６５で各場所／イベントへの訪問回数及び訪問頻度に基づいてユーザに場所／イベントポイントが割り当てられる。同様に、ステップ３７０で１つ以上の場所／イベントへのユーザ訪問に対応するマップスケールを識別するためにユーザデータが分析される。例えば、ユーザが特定の地理的セルにおける種々の場所にたくさん訪問した場合、該特定のセルに対応するマップスケールに対してポイントが与えられてもよい。したがって、ステップ３７５で、識別されたスケール及び得られたユーザデータの分析に基づいてスケールポイントがユーザに割り当てられる。次に、ステップ３８０で場所／イベントへのユーザ訪問に対応する１つ以上のカテゴリを識別するためにユーザデータ及び他のユーザ位置追跡データが分析され、ステップ３８５でカテゴリポイントが割り当てられる。同様に、ステップ３９０でユーザが時間を過ごした及び場所／イベントを訪問した領域を識別するために位置データが分析され、ステップ３９５でユーザに領域ポイントが割り当てられる。
【００６９】
一実施形態では、割り当てられるポイントの数は、所望の割り当てに応じて変化してもよく、割り当てられるポイントが特定の場所に関するユーザの累計に追加され、ステップ３６０でユーザが訪れている特定の場所／イベントを識別するためにユーザデータが分析され、ステップ３６５で各場所／イベントへの訪問回数及び訪問頻度、場所／イベントのカテゴリなどに基づいてユーザに場所／イベントポイントが割り当てられる。一実施形態では、場所は、例えば位置情報に含まれる場所識別子によって又は場所モジュール１８０と通信することによって識別することができる。カテゴリはまた、場所モジュール１８０と通信することによって識別することができる。一実施形態では、マップスケールは、既に上述したように所与の緯度、経度、及び半径を、領域（例えば、地域、都市）及び／又は地理の組に変換することによって識別することができる。
【００７０】
図７は、本発明の一実施形態に係る質問へのエキスパートの応答に従ってエキスパートプロフィールを更新するための例示的なプロセスを示す流れ図である。図示されたプロセスは、図１〜図３に関してすでに説明したシステムによって実施することができる。最初に、ステップ４５０でエキスパートからの回答がシステムによって受信される。ステップ４６０で回答に対応する場所を識別するために回答（潜在的には対応する質問も）が分析される。いくつかの場合には、例えば、質問がカテゴリに関係するときに回答に関連する場所が存在しないことがある。関連する場所が存在する場合、ステップ４６５で、システムは、エキスパートユーザのプロフィールに場所ポイントを割り当てる。次に、ステップ４７０で回答に関連する１つ以上のマップスケールを識別するために回答（潜在的には質問）が分析され、ステップ４７５で１つ以上のマップスケールに関するスケールポイントがエキスパートユーザに割り当てられる。同様に、ステップ４８０で回答に関連する１つ以上のカテゴリを識別するために回答（潜在的には質問）が分析され、ステップ４８５でエキスパートユーザに１つ以上のカテゴリに関するカテゴリポイントが割り当てられる。最後に、ステップ４９０で、回答に関連する１つ以上の地理的領域を識別するために回答（潜在的には質問）が分析され、ステップ４９５で、エキスパートユーザに１つ以上の地理的領域に関する領域ポイントが割り当てられる。
【００７１】
図８は、本発明の一実施形態に係るテンポラリエキスパートに質問をルーティングするための例示的なプロセスを示す流れ図である。図示されたプロセスは、図１〜図３に関してすでに説明したシステムによって実施することができる。最初に、ステップ６００で、システムは、例えば問い合わせモジュール１１０又は問い合わせモジュールの第三者実装を介してユーザから質問を受信する。次に、ステップ６１０で、質問に関連する特定の場所／イベントを判断するために質問が分析される。システムは、次に、ステップ６２０に示すように、識別された場所／イベントに関するテンポラリエキスパートを識別するために、識別された場所／イベントに関係するデータストレージ領域４５におけるデータを分析する。例えば、一実施形態では、テンポラリエキスパートは、特定の場所／イベントに関する人物のエキスパートポイントレベルに関係なく、該場所／イベントに現在存在する人物とすることができる。一実施形態では、スコア付けモジュール１６０が、識別された場所に関する対応可能なテンポラリエキスパートを識別してもよい。次に、ステップ６３０で、システムは、質問の意図された受信者のリストに識別されたテンポラリエキスパートを含むかどうか、例えば質問がルーティングされるエキスパートのリストにテンポラリエキスパートを追加するかどうかを判断する。ステップ６４０で判断される際に十分な数のテンポラリエキスパートが識別される（例えば、所定の閾値数を上回る）場合、システムは、ステップ６５０で識別されたエキスパートに質問を送信するであろう。しかしながら、十分なエキスパートがまだ識別されていない場合、システムは、付加的なテンポラリエキスパートを識別するためにステップ６２０にループバックする。システムは、質問をルーティングするべき十分な数の（例えば、１人又は複数の）エキスパートが選択されるまでこのようにループを続行し、潜在的なテンポラリエキスパートを分析する。一実施形態では、他の方法ではテンポラリエキスパートとして識別される或るエキスパートは選択されない。例えば、ユーザがシステムとの通信を不可にし、ユーザが「応答不可（ｄｏ  ｎｏｔ  ｄｉｓｔｕｒｂ）」フラグをアクティブ化した場合、ユーザは或るトピック／エリアなどから脱退される。
【００７２】
図９は、本発明の一実施形態に係るエキスパートを識別するための例示的なプロセスを示す流れ図である。図示されたプロセスは、図１〜図３に関してすでに説明したシステムによって実施することができる。最初に、ステップ７００で、システムは、特定の場所／イベントに関するエキスパートポイント閾値を超えたユーザを識別するためにデータストレージ領域４５におけるユーザプロフィールデータを分析する。この分析に基づいて、ステップ７０５で、システムは、ユーザが該場所／イベントに関するエキスパートとして既に識別されない場合に、これらのユーザに関する場所ステータスを更新する。同様に、ステップ７１０で、システムは、１つ以上のマップスケールに関するエキスパートポイント閾値を超えたユーザを識別するためにデータストレージ領域４５におけるユーザプロフィールデータを分析する。この分析に基づいて、ステップ７１５で、システムは、ユーザが１つ以上のマップスケールに関するエキスパートとして既に識別されない場合に、これらのユーザに関するマップスケールステータスを更新する。また、ステップ７２０で、システムは、１つ以上のカテゴリに関するエキスパートポイント閾値を超えたユーザを識別するためにデータストレージ領域４５におけるユーザプロフィールデータを分析する。この分析に基づいて、ステップ７２５で、システムは、ユーザが１つ以上のカテゴリに関するエキスパートとして既に識別されない場合に、これらのユーザに関するカテゴリステータスを更新する。同様に、ステップ７３０で、システムは、１つ以上の地理的領域に関するエキスパートポイント閾値を超えたユーザを識別するためにデータストレージ領域４５におけるユーザプロフィールデータを分析する。この分析に基づいて、ステップ７３５で、システムは、ユーザが１つ以上の地理的領域に関するエキスパートとして既に識別されない場合に、これらのユーザに関する領域ステータスを更新する。
【００７３】
図１０は、本発明の一実施形態に係る場所／イベントデータを提供するための例示的なプロセスを示す流れ図である。図示されたプロセスは、図１〜図３に関してすでに説明したシステムによって実施することができる。一実施形態では、場所／イベントデータがデータストレージ領域４５に記憶される。最初に、ステップ９００で、場所／イベントデータに関する要求が受信される。次に、システムは、ステップ９１０で該当する場所／イベントデータがシステムに存在するかどうかを判断するためにその場所／イベントデータを分析する。場所／イベントデータが存在しない場合、ステップ９２０で、システムは、場所／イベントデータを得るために場所／イベントデータソースに問い合わせする。一実施形態では、場所／イベントデータソースは、種々の場所／イベントについての情報の第三者プロバイダであってもよく、システムに場所／イベント情報を提供する１つ以上のデータソースが存在してもよい。場所／イベント情報は、次いで、ステップ９３０でシステムによって受信され、ステップ９４０で要求に応答して提供される。有利には、データソースから場所／イベントデータが受信される場合、場所／イベントデータは、その後、データストレージ領域４５に記憶される。しかしながら、ステップ９１０で判断される際に場所が既に存在する場合、ステップ９１５で、システムは、場所／イベント情報が古い、及びリフレッシュされる必要があるかどうか（例えば、データが更新された最終時刻が或る閾値を超えるかどうか）を判断する。場所／イベント情報がリフレッシュされる必要がある場合、システムはステップ９２０に進み、場所データソースに更新された情報を問い合わせし、前述のように続行する。ステップ９１５で判断される際に場所／イベント情報が古くない場合、ステップ９４０で、システムは、要求に応答して要求された場所／イベントデータを提供する。
【００７４】
図１〜図３に関してすでに説明したように、通信デバイス２０は、エキスパートユーザ及び問い合わせしているユーザが対話するユーザインターフェースを有する。一実施形態では、ユーザ又は場所／イベントの位置は、このユーザインターフェース上に表示されたマップ上にオーバーレイされる。位置は、どこにユーザが現在存在するか、どこに最近訪れているか、又はユーザがそれについてのエキスパートである場所／イベント、を表してもよい。位置は、通信デバイスのユーザインターフェース上に表示されたマップ上のアノテーションによって表される。マップスケールが増加する（すなわち、より広いランドエリアが同じユーザインターフェースディスプレイ領域によって表される）及びアノテーションの数が増加する際にこれらのアノテーションをマップ上に効率よく表示するために、システムは、アノテーションを有利にクラスタ化する。クラスタは、ユーザインターフェース上に単一のアノテーションとして表される、所与のエリアにおける２つ以上のアノテーションを表す。クラスタはまた、例えば、クラスタに結合されるアノテーションの数を表す数字を含んでもよい。例えば、クラスタは、ユーザインターフェース上に表示されているマップ上の所与の半径内の１０個の個別のアノテーションを表わしてもよい。
【００７５】
図１１は、本発明の一実施形態に係る変化マップ（ｍｕｔａｔｉｏｎ  ｍａｐ）の状態及び遷移の例示的な組を示す状態図である。一実施形態では、変化マップは、アノテーションを関連する累積変化状態にマッピングするインメモリハッシュテーブルである。表中の各アノテーションの状態は、次の状態マシン遷移によって更新される。変化マップは、したがって、システムが一連の個々の変化を追跡し、各アノテーションに対する動作の累積効果を集計することを可能にする、トランザクションキューとして用いることができる。
【００７６】
変化マップにおいて、可能性のある累積変化状態は、追加済み、除去済み、更新済み、及び変化なしである。マッピングがまだ存在しない場合、要素の変化状態は変化なしである。変化マップにおいて、可能性のある状態マシン遷移は、追加済みをマーク、除去済みをマーク、及び更新済みをマークである。以下の説明では、アノテーションをマークすることは、関連する状態マシン遷移に従うことを意味すると理解される（すなわち、アノテーションを追加済みとしてマークすることは追加済みをマーク遷移に従う）。
【００７７】
図示された実施形態では、図１１は、変化マップに起こり得る、可能性のある変化、及びこうした変化の最終結果を表す。例えば、アノテーションを変化マップにおいて「追加済み」としてマークし、その現在の状態が「変化なし」又は「更新済み」である場合、マーキングの結果は、アノテーションの状態を「追加済み」に設定することである。アノテーションを変化マップにおいて「追加済み」としてマークし、その現在の状態が「除去済み」である場合、マーキングの結果は、アノテーションの状態を「変化なし」に設定することである。同様に、アノテーションを変化マップにおいて「除去済み」としてマークし、その状態が「変化なし」又は「更新済み」である場合、マーキングの結果は、アノテーションの状態を「除去済み」に設定することである。アノテーションを変化マップにおいて「除去済み」としてマークし、その現在の状態が「追加済み」である場合、マーキングの結果は、アノテーションの状態を「変化なし」に設定することである。アノテーションを変化マップにおいて「更新済み」としてマークし、その状態が「変化なし」である場合、マーキングの結果は、アノテーションの状態を「更新済み」に設定することである。
【００７８】
一実施形態では、クラスタ化の条件は、２つのケース、すなわち、１）地理的セルに関連するアノテーションのカウントがクラスタ化に関する閾値を超えるケース（例えば、４つよりも多いアノテーション）、又は２）クラスタ化を強いる地理的セルに関連する少なくとも１つのアノテーションが存在し、セルに関連するアノテーションのカウントが少なくとも２であるケース、のいずれかで満足される述語である。
【００７９】
一実施形態では、通信デバイスのディスプレイ画面は、ユーザインターフェースの一部としてユーザにマップを提示する。マップは特定のスケールで提示され、マップは地球の一部を含む。地球の一部のマップを表すユーザインターフェースコンテナは、ビューポートと呼ばれる。
【００８０】
一実施形態では、クラスタ化の目的で、地球は、各地理的セルの幅及び高さがビューポートのスケールによって決定されるように四角形の地理的セルの二次元直線格子（ｔｗｏ−ｄｉｍｅｎｓｉｏｎａｌ  ｒｅｃｔｉｌｉｎｅａｒ  ｇｒｉｄ）に分割される。地理的セルは、北西セルに関してゼロで始まり、東及び南にラスタ順に増加する番号を付される。
【００８１】
一実施形態では、システムは、アノテーションをそれらが関連付けられる及びそれらが表示される地理的セルにマッピングするハッシュマップを維持する。アノテーションが地理的セルに追加されるときに、アノテーションから地理的セルへのマッピングが追加される。アノテーションが除去されるときにマッピングも除去される。これは、メルカトル図法を計算する計算負担（ｃｏｍｐｕｔａｔｉｏｎａｌ  ｅｘｐｅｎｓｅ）に起因する最適化である。
【００８２】
図１２Ａ〜図１２Ｃは、本発明の一実施形態に係るマップにアノテーションを追加するための例示的なプロセスを示す流れ図である。図示されたプロセスは、図１〜図３に関してすでに説明したシステムによって実施することができる。最初に、図１２Ａに関して、ステップ１２００で、アノテーションが変化マップにおいて「追加済み」としてマークされる。次に、ステップ１２０５でアノテーションに関連する地理的セルが識別され、ステップ１２１０で地理的セルに関連するアノテーションのリストにアノテーションが追加される。一実施形態では、アノテーションは属性の組を有することができ、アノテーションがクラスタ化を強いる属性を含む場合、クラスタ化を強いるアノテーションの数を追跡するカウンタが増える。地理的セルがクラスタを有する場合、クラスタ化の条件（以前の更新における）が満たされており、アノテーションがクラスタに追加され、クラスタが更新済みとしてマークされ（例えば、変化マップにおける「更新済みをマーク」遷移に従うことによって）、アノテーション自体が除去される（例えば、変化マップにおける「除去済みをマーク」遷移に従うことによって）。最後に、ステップ１２１５で、セルのクラスタ化が更新される。クラスタ化条件が満たされている場合、クラスタが形成される（図１４に関して後で説明する）。クラスタ化条件が満たされていない場合、クラスタが分解される（図１５に関して後で説明する）。
【００８３】
図１２Ｂは、地理的セルにアノテーションを追加するためのプロセスを示す。図１２Ｂに示されるように、システムは、最初に、ステップ１２３０で地理的セルに関するアノテーションのリストにアノテーションを追加し、ステップ１２３５で地理的セルに関するアノテーションカウントを増やす。ステップ１２４０で判断される際に地理的セルが既にクラスタを有していない場合はプロセスが終了するが、地理的セルがクラスタを有する場合は、システムは、ステップ１２４５でクラスタに関するアノテーションのリストにアノテーションを追加し、ステップ１２５０でクラスタを更新済みとしてマークする（例えば、変化マップにおける「更新済みをマーク」遷移に従うことによって）。最後に、ステップ１２５５でアノテーションが除去される（例えば変化マップにおける「除去済みをマーク」遷移に従うことによって）。
【００８４】
図１２Ｃは、アノテーションが追加された後の地理的セルのクラスタ化を更新するためのプロセスを示す。図１２Ｃに示されるように、システムは、ステップ１２７０で地理的セルがアノテーションをクラスタ化するための条件を満たしたかどうかを最初に判断する。クラスタ化の要件／条件が満たされていない場合、ステップ１２７５に示すように該地理的セルにおけるあらゆる既存のクラスタが分解される。同様に、地理的セルに既存のクラスタが存在せず、地理的セルにおけるクラスタ化の要件／条件が満たされている場合、ステップ１２８０に示すようにあらゆる既存のアノテーションが新しいクラスタにされる。
【００８５】
図１３Ａ〜図１３Ｃは、本発明の一実施形態に係るマップからアノテーションを除去するための例示的なプロセスを示す流れ図である。図示されたプロセスは、図１〜図３に関してすでに説明したシステムによって実施することができる。図１３Ａで始めると、ステップ１３００で、システムは、除去されるべきアノテーションを含む地理的セルを見つける。次に、ステップ１３０５で地理的セルに関連するアノテーションのリストからアノテーションが除去される。次のステップ１３１０で、地理的セルのクラスタ化が更新され（例えば、変化マップにおける「更新済みをマーク」遷移に従うことによって）、アノテーションが除去される（例えば、変化マップにおける「除去済みをマーク」遷移に従うことによって）。
【００８６】
図１３Ｂは、地理的セルからアノテーションを除去するためのプロセスを示す。図１３Ｂに示されるように、システムは、最初に、ステップ１３３０で地理的セルに関するアノテーションのリストからアノテーションを除去し、ステップ１３３５で地理的セルに関するアノテーションカウントを減らす。ステップ１３４０で判断される際に地理的セルが既にクラスタを有していない場合はプロセスが終了するが、地理的セルがクラスタを有する場合、システムは、ステップ１３４５でクラスタの中のアノテーションのリストからアノテーションを除去し、ステップ１３５０でクラスタを更新済みとしてマークする（例えば、変化マップにおける「更新済みをマーク」遷移に従うことによって）。最後に、ステップ１２５５でアノテーションが追加される（例えば、アノテーションマップにおける「除去済みをマーク」遷移に従うことによって）。
【００８７】
図１３Ｃは、アノテーションが除去された後の地理的セルのクラスタ化を更新するためのプロセスを示す。図１３Ｃに示されるように、システムは、ステップ１３７０で地理的セルがアノテーションをクラスタ化するための条件を満たしたかどうかを最初に判断する。クラスタ化の要件／条件が満たされていない場合、ステップ１３７５に示すように該地理的セルにおけるあらゆる既存のクラスタが分解される。同様に、地理的セルに既存のクラスタが既に存在せず、地理的セルにおけるクラスタ化の要件／条件が満たされている場合、ステップ１３８０に示すようにあらゆる既存のアノテーションが新しいクラスタにされる。
【００８８】
図１４は、本発明の一実施形態に係るクラスタを形成するための例示的なプロセスを示す流れ図である。一実施形態では、図示されたプロセスは、図１〜図３に関してすでに説明したシステムによって実施することができる。最初に、ステップ１４００でクラスタが形成され、地理的セルと関連付けられる。上述のように、各地理的セルは、マップスケールと関連付けられ、したがって、各クラスタはまた、地理的セルと関連付けることによってマップスケールと関連付けられる。クラスタを形成するときに、地理的セル又は個々のアノテーションは、いつクラスタ化をトリガするかを示す属性を有してもよい。例えば、ユーザインターフェースのディスプレイ上に提示されるときに属性が５０％以上カバーされている場合、クラスタ化がトリガされてもよい。同様に、単一の地理的セル内の属性の総数が或る閾値を超える場合、クラスタ化がトリガされてもよい。有利には、こうした属性は、通信デバイスとサーバとの両方での最大限の融通性とプロセッサリソースの最小限の需要を可能にするために変化してもよい。
【００８９】
ステップ１４００でクラスタが形成された後で、次に、クラスタが追加済みとしてマークされる（例えば、変化マップにおける「追加済みをマーク」遷移に従うことによって）。地理的セルは、その後、少なくとも１つのクラスタを有するものとして識別される。あらゆる時点で、単一の地理的セルは、０、１、又は複数のクラスタを有することができ、これらのクラスタは、クラスタ化されない０、１、又は複数の個々のアノテーションと組み合わせて存在してもよい。クラスタが形成され、地理的セルと関連付けられ、２つ以上の個々のアノテーションがクラスタと関連付けられると、地理的セルから２つ以上の関連するアノテーションが除去される（例えば、変化マップにおける「除去済みをマーク」遷移に従うことによって）。地理的セルからのアノテーションの除去は、ユーザインターフェースにおいて個々のアノテーションがもはや提示されないようにし、同様に地理的セルへのクラスタの追加は、クラスタがユーザインターフェースにおいて提示されるようにする。一実施形態では、クラスタに存在しているアノテーションの数は、ユーザインターフェースにおけるクラスタと関連付けて表示されてもよい。
【００９０】
図１５は、本発明の一実施形態に係るクラスタを分解するための例示的なプロセスを示す流れ図である。一実施形態では、図示されたプロセスは、図１〜図３に関してすでに説明したシステムによって実施することができる。最初に、ステップ１４５０でクラスタが地理的セルから除去される（例えば、変化マップにおける「除去済みをマーク」遷移に従うことによって）。クラスタの除去は、クラスタがその後ユーザインターフェースにおいてもはや提示されないようにする。クラスタが除去された後で、ステップ１４６０で、該クラスタに以前に関連付けられていたアノテーションのそれぞれが地理的セルへの追加済みとしてマークされる（例えば、変化マップにおける「追加済みをマーク」遷移に従うことによって）。これは、個々のアノテーションがその後ユーザインターフェースにおいて提示されるようにする。クラスタが除去済みとしてマークされ、個々のアノテーションが追加済みとしてマークされると、ステップ１４７０に示すようにクラスタが地理的セルから関連付け解除される。
【００９１】
図１４及び図１５に関して、一実施形態では、最後のクラスタ化ソリューションを計算するために、システムは以下のことを行う。（１）変化マップがすべての状態をクリアされる、（２）システムが、表示されるユーザインターフェースに追加又は除去されるべきアノテーションの形態の入力を受信し、アノテーションを変化マップに追加及び変化マップから除去する、（３）変化マップが追加動作及び除去動作の累積効果を判断する、（４）追加済みとしてマークされる変化マップにおけるすべての要素がユーザインターフェース上に提示され、除去済みとしてマークされるすべての要素がユーザインターフェース上に提示されず、更新済みとしてマークされるすべての要素がユーザインターフェース上に再描画されるように、変化マップの状態がユーザインターフェースに適用される。これに関連して、要素は、個々のアノテーション又はクラスタとすることができる。
【００９２】
さらに、クラスタの追加及び除去に関して、いつクラスタを追加するか及びいつクラスタを除去するかを判断するために種々のトリガを採用することができる。一実施形態では、ユーザインターフェースにおいて提示されるマップのスケールは、クラスタ化をトリガすることができる。例えば、３つの個々のアノテーションが１０：１のスケールでのマップ上に提示される場合（例えば、マップ上の１０キロメートルが通信デバイスのディスプレイ上の１センチメートル）、スケールを２０：１に縮小することは、３つの個別のアノテーションのクラスタ化を必要とすることがある。一実施形態では、ユーザインターフェースにおいて提示される際の第１のアノテーションと第２のアノテーションとの重なりパーセンテージでクラスタ化をトリガすることができる。同様に、スケールが５：１に拡大される場合、システムはまた、クラスタを完全に分解できること、又はクラスタにおける１つ以上の個々のアノテーションをクラスタから分離し、ユーザインターフェースにおいて個々に提示できることを判断してもよい。
【００９３】
図１８は、本発明の一実施形態に係るクラスタを伴う例示的なマップを示すユーザインターフェースの図である。図示された実施形態では、マップが特定のスケールで表示され、複数の個々のアノテーション１５８０が複数のクラスタ１５９０と共にユーザインターフェースにおいて提示される。図に示すように、クラスタ１５９０は、クラスタを構成する個々のアノテーションの数を示すカウントと関連付けて提示される。
【００９４】
図１９は、本明細書に記載の種々の実施形態と組み合わせて用いられ得る例示的な有線又は無線プロセッサによりイネーブルにされるデバイスを示すブロック図である。例えば、デバイス５５０は、図１〜図３に関してすでに説明した通信デバイス又はサーバと併せて用いられてもよい。当業者には明らかなように、代替的なプロセッサによりイネーブルにされるシステム及び／又はアーキテクチャが用いられてもよい。
【００９５】
プロセッサによりイネーブルにされるデバイス５５０は、好ましくは、プロセッサ５６０などの１つ以上のプロセッサを含む。入力／出力を管理するために補助プロセッサ、浮動小数点数学的演算を行うために補助プロセッサ、信号処理アルゴリズムの高速実行に適したアーキテクチャを有する特殊用途マイクロプロセッサ（例えば、デジタル信号プロセッサ）、メイン処理システムに従属するスレーブプロセッサ（例えば、バックエンドプロセッサ）、デュアル又はマルチプルプロセッサシステムのための付加的なマイクロプロセッサ又はコントローラ、又はコプロセッサなどの付加的なプロセッサが提供されてもよい。こうした補助プロセッサは、個別のプロセッサであってもよく、又はプロセッサ５６０と一体化されてもよい。
【００９６】
プロセッサ５６０は、好ましくは通信バス５５５に接続される。通信バス５５５は、プロセッサによりイネーブルにされるデバイス５５０の記憶装置と他の周辺コンポーネントとの間の情報伝達を容易にするためのデータチャネルを含んでもよい。データバス、アドレスバス、及び制御バス（図示せず）を含む通信バス５５５は、プロセッサ５６０との通信に用いられる信号の組をさらに提供してもよい。通信バス５５５は、例えば、業界標準アーキテクチャ（「ＩＳＡ」）、拡張業界標準アーキテクチャ（「ＥＩＳＡ」）、マイクロチャネルアーキテクチャ（「ＭＣＡ」）、ペリフェラルコンポーネントインターコネクト（「ＰＣＩ」）ローカルバス、又はＩＥＥＥ４８８汎用インターフェースバス（「ＧＰＩＢ」）、ＩＥＥＥ６９６／Ｓ−１００などを含む米国電気電子学会（「ＩＥＥＥ」）によって普及される標準に準拠するバスアーキテクチャなどのあらゆる標準又は非標準バスアーキテクチャを備えてもよい。
【００９７】
プロセッサによりイネーブルにされるデバイス５５０は、好ましくはメインメモリ５６５を含み、且つまた二次メモリ５７０を含んでもよい。メインメモリ５６５は、プロセッサ５６０上で実行するプログラムのための命令及びデータの記憶装置を提供する。メインメモリ５６５は、通常はダイナミックランダムアクセスメモリ（「ＤＲＡＭ」）及び／又はスタティックランダムアクセスメモリ（「ＳＲＡＭ」）などの半導体に基づくメモリである。他の半導体に基づくメモリのタイプは、例えば、シンクロナスダイナミックランダムアクセスメモリ（「ＳＤＲＡＭ」）、ランバスダイナミックランダムアクセスメモリ（「ＲＤＲＡＭ」）、読出し専用メモリ（「ＲＯＭ」）を含む強誘電体ランダムアクセスメモリ（「ＦＲＡＭ（登録商標）」）などを含む。
【００９８】
二次メモリ５７０は、随意的に、内部メモリ５７５及び／又はリムーバブルメディア５８０、例えば、フロッピー（登録商標）ディスクドライブ、磁気テープドライブ、コンパクトディスク（「ＣＤ」）ドライブ、デジタルバーサタイルディスク（「ＤＶＤ」）ドライブなどを含んでもよい。リムーバブルメディア５８０は、周知の様態で読み出される及び／又は書き込まれる。リムーバブル記憶メディア５８０は、例えば、フロッピー（登録商標）ディスク、磁気テープ、ＣＤ、ＤＶＤ、ＳＤカードなどであってもよい。
【００９９】
リムーバブル記憶メディア５８０は、コンピュータ実行可能コード（すなわち、ソフトウェア）及び／又はデータを記憶する一時的でないコンピュータ可読媒体である。リムーバブル記憶メディア５８０上に記憶されるコンピュータソフトウェア又はデータは、プロセッサ５６０による実行のためにプロセッサによりイネーブルにされるデバイス５５０に読み込まれる。
【０１００】
代替的な実施形態では、二次メモリ５７０は、コンピュータプログラム又は他のデータ又は命令がプロセッサによりイネーブルにされるデバイス５５０にロードされることを可能にするための他の類似の手段を含んでもよい。こうした手段は、例えば、外部記憶メディア５９５及びインターフェース５７０を含んでもよい。外部記憶メディア５９５の例は、外部ハードディスクドライブ又は外部光学ドライブ、又は及び外部光磁気ドライブを含んでもよい。
【０１０１】
二次メモリ５７０の他の例は、プログラム可能読出し専用メモリ（「ＰＲＯＭ」）、消去可能プログラム可能読出し専用メモリ（「ＥＰＲＯＭ」）、電気的消去可能読出し専用メモリ（「ＥＥＰＲＯＭ」）、又はフラッシュメモリ（ＥＥＰＲＯＭと類似したブロック指向メモリ）などの半導体に基づくメモリを含んでもよい。同じく含まれるのは、あらゆる他のリムーバブル記憶メディア５８０及び通信インターフェース５９０であり、これは、ソフトウェア及びデータが外部メディア５９５からプロセッサによりイネーブルにされるデバイス５５０に伝送されることを可能にする。
【０１０２】
プロセッサによりイネーブルにされるデバイス５５０はまた、通信インターフェース５９０を含んでもよい。通信インターフェース５９０は、プロセッサによりイネーブルにされるデバイス５５０と外部デバイス（例えばプリンタ）、ネットワーク、又は情報源との間でソフトウェア及びデータが伝送されることを可能にする。例えば、コンピュータソフトウェア又は実行可能コードは、ネットワークサーバから通信インターフェース５９０を介してプロセッサによりイネーブルにされるデバイス５５０に伝送されてもよい。通信インターフェース５９０の例は、いくつかの例を挙げるとモデム、ネットワークインターフェースカード（「ＮＩＣ」）、無線データカード、通信ポート、ＰＣＭＣＩＡスロット及びカード、赤外線インターフェース、及びＩＥＥＥ１３９４ファイヤワイヤを含む。
【０１０３】
通信インターフェース５９０は、好ましくは、イーサネット（登録商標）ＩＥＥＥ８０２規格、ファイバチャネル、デジタル加入者線（「ＤＳＬ」）、非同期デジタル加入者線（「ＡＤＳＬ」）、フレームリレー、非同期伝達モード（「ＡＴＭ」）、サービス総合ディジタル網（「ＩＳＤＮ」）、パーソナル通信サービス（「ＰＣＳ」）、伝送制御プロトコル／インターネットプロトコル（「ＴＣＰ／ＩＰ」）、シリアルラインインターネットプロトコル／ポイント・ツー・ポイントプロトコル（「ＳＬＩＰ／ＰＰＰ」）などの業界により普及されたプロトコル規格を実装するが、カスタマイズされた又は非標準インターフェースプロトコルも同様に実装してもよい。
【０１０４】
通信インターフェース５９０を介して伝送されるソフトウェア及びデータは、一般に、電気通信信号６０５の形態である。これらの信号６０５は、好ましくは、通信チャネル６００を介して通信インターフェース５９０に提供される。一実施形態では、通信チャネル６００は、有線又は無線ネットワーク又はあらゆる種々の他の通信リンクであってもよい。通信チャネル６００は、信号６０５を搬送し、いくつかの例を挙げると、ワイヤ又はケーブル、光ファイバ、従来の電話線、携帯電話リンク、無線データ通信リンク、無線周波数（「ＲＦ」）リンク、又は赤外線リンクを含む種々の有線又は無線通信手段を用いて実装することができる。
【０１０５】
コンピュータ実行可能コード（すなわち、コンピュータプログラム又はソフトウェア）は、メインメモリ５６５及び／又は二次メモリ５７０に記憶される。コンピュータプログラムはまた、通信インターフェース５９０を介して受信し、メインメモリ５６５及び／又は二次メモリ５７０に記憶することができる。こうしたコンピュータプログラムは、実行されるときに、プロセッサによりイネーブルにされるデバイス５５０が前述の本発明の種々の機能を行うことを可能にする。
【０１０６】
この説明では、「コンピュータ可読媒体」という用語は、プロセッサによりイネーブルにされるデバイス５５０にコンピュータ実行可能コード（例えば、ソフトウェア及びコンピュータプログラム）を提供するのに用いられるあらゆる一時的でないコンピュータ可読記憶媒体を指すのに用いられる。これらの媒体の例は、メインメモリ５６５、二次メモリ５７０（内部メモリ５７５、リムーバブルメディア５８０、及び外部記憶メディア５９５を含む）、及び通信インターフェース５９０（ネットワーク情報サーバ又は他のネットワークデバイスを含む）と通信可能に結合されるあらゆる周辺装置を含む。これらの一時的でないコンピュータ可読媒体は、プロセッサによりイネーブルにされるデバイス５５０に実行可能コード、プログラミング命令、及びソフトウェアを提供するための手段である。
【０１０７】
ソフトウェアを用いて実施される実施形態では、ソフトウェアは、コンピュータ可読媒体上に記憶され、リムーバブルメディア５８０、Ｉ／Ｏインターフェース５８５、又は通信インターフェース５９０を通じて、プロセッサによりイネーブルにされるデバイス５５０にロードされてもよい。こうした実施形態では、ソフトウェアは、プロセッサによりイネーブルにされるデバイス５５０に電気通信信号６０５の形態でロードされる。ソフトウェアは、プロセッサ５６０によって実行されるときに、好ましくはプロセッサ５６０に本明細書で既に説明された発明的な特徴及び機能を行わせる。
【０１０８】
システム５５０はまた、音声での又はデータネットワークでの無線通信を容易にする随意的な無線通信コンポーネントを含む。無線通信コンポーネントは、アンテナシステム６２０、無線システム６１５、及びベースバンドシステム６１０を含む。通信デバイス５５０において、無線周波数（「ＲＦ」）信号が無線システム６１５の管理の下でアンテナシステム６２０によって空気で伝送及び受信される。
【０１０９】
一実施形態では、アンテナシステム６１０は、アンテナシステム６２０に伝送信号経路及び受信信号経路を提供するために、１つ以上のアンテナ及びスイッチング機能を行う１つ以上のマルチプレクサ（図示せず）を備えてもよい。受信経路において、受信したＲＦ信号をマルチプレクサから低雑音増幅器（図示せず）に結合することができ、低雑音増幅器は、受信したＲＦ信号を増幅し、増幅した信号を無線システム６１５に送信する。
【０１１０】
代替的な実施形態では、無線システム６１５は、種々の周波数で通信するように構成される１つ以上の無線を備えてもよい。一実施形態では、無線システム６１５は、１つの集積回路（「ＩＣ」）に復調器（図示せず）と変調器（図示せず）を組み合わせてもよい。復調器と変調器はまた別個の構成部品とすることができる。入経路において、復調器は、ＲＦキャリア信号を除去してベースバンド受信音声信号を残し、これは無線システム６１５からベースバンドシステム６１０に送信される。
【０１１１】
受信した信号が音声情報を含む場合、ベースバンドシステム６１０は、信号をデコードし、これをアナログ信号に変換する。次いで、信号が増幅され、スピーカに送信される。ベースバンドシステム６１０はまた、マイクロフォンからアナログ音声信号を受信する。これらのアナログ音声信号は、デジタル信号に変換され、ベースバンドシステム６１０によってエンコードされる。ベースバンドシステム６２０はまた、伝送のためにデジタル信号をコード化し、無線システム６１５の変調器部分にルーティングされるベースバンド伝送音声信号を生成する。変調器は、ベースバンド伝送音声信号をＲＦキャリア信号と混合してＲＦ伝送信号を生成し、これはアンテナシステムにルーティングされ、電力増幅器（図示せず）を通過してもよい。電力増幅器は、ＲＦ伝送信号を増幅し、これをアンテナシステム６２０にルーティングし、そこで信号が伝送のためにアンテナポートに切り換えられる。
【０１１２】
ベースバンドシステム６１０はまた、プロセッサ５６０と通信可能に結合される。中央処理装置５６０は、データストレージ領域５６５及び５７０へのアクセスを有する。中央処理装置５６０は、好ましくは、メモリ５６５又は二次メモリ５７０に記憶することができる命令（すなわち、コンピュータプログラム又はソフトウェア）を実行するように構成される。コンピュータプログラムはまた、ベースバンドプロセッサ６１０から受信し、データストレージ領域５６５に又は二次メモリ５７０に記憶し、又は受信時に実行することができる。こうしたコンピュータプログラムは、実行されるときに、通信デバイス５５０が前述の本発明の種々の機能を行うことを可能にする。例えば、データストレージ領域５６５は、図２〜図３に関して既に説明した種々のソフトウェアモジュール（図示せず）を含んでもよい。
【０１１３】
種々の実施形態はまた、例えば、特定用途向け集積回路（「ＡＳＩＣ」）又はフィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）などのコンポーネントを用いて主としてハードウェアに実装されてもよい。本明細書に記載の機能を行うことができるハードウェア状態マシンの実装も当業者には分かるであろう。種々の実施形態はまた、ハードウェアとソフトウェアとの組合せを用いて実装されてもよい。
【０１１４】
さらに、上記で説明された図及び本明細書で開示された実施形態と組み合わせて説明された種々の例証となる論理ブロック、モジュール、回路、及び方法ステップは、しばしば、電子ハードウェア、コンピュータソフトウェア、又はこの両方の組合せとして実装できることが当業者には分かるであろう。このハードウェアとソフトウェアの互換性を明瞭に示すために、種々の例証となるコンポーネント、ブロック、モジュール、回路、及びステップが概してそれらの機能性の点で上記で説明されている。こうした機能性がハードウェア又はソフトウェアのいずれとして実装されるかは、特定の用途及びシステム全体に課される設計上の制約に依存する。当業者は、説明された機能性を各特定の用途のために様々な方法で実装できるが、こうした実装の決定は、本発明の範囲からの逸脱を引き起こすものとして解釈されるべきではない。加えて、モジュール、ブロック、回路、又はステップ内の機能のグループ分けは、説明を簡単にするためのものである。特定の機能又はステップを、本発明から逸脱することなく１つのモジュール、ブロック、又は回路から別のものに移動することができる。
【０１１５】
さらに、本明細書で開示される実施形態と組み合わせて説明された種々の例証となる論理ブロック、モジュール、及び方法は、本明細書に記載の機能を行うように設計される汎用プロセッサ、デジタル信号プロセッサ（「ＤＳＰ」）、ＡＳＩＣ、ＦＰＧＡ又は他のプログラム可能論理デバイス、ディスクリートゲート又はトランジスタ論理、ディスクリートハードウェアコンポーネント、又はその任意の組合せと共に実装する又は行うことができる。汎用プロセッサはマイクロプロセッサとすることができるが、代替的に、プロセッサは、あらゆるプロセッサ、コントローラ、マイクロコントローラ、又は状態マシンとすることができる。プロセッサはまた、コンピューティングデバイスの組合せ、例えば、ＤＳＰとマイクロプロセッサ、複数のマイクロプロセッサとの組合せ、ＤＳＰコアと組み合わされた１つ以上のマイクロプロセッサ、又はあらゆる他のこうした構成として実装することができる。
【０１１６】
加えて、本明細書で開示される実施形態と組み合わせて説明された方法又はアルゴリズムのステップは、ハードウェアに、プロセッサによって実行されるソフトウェアモジュールに、又は２つの組合せにおいて直接具体化することができる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、又はネットワーク型記憶媒体を含むあらゆる他の形態の記憶媒体に常駐することができる。例示的な記憶媒体は、プロセッサに結合することができ、こうしたプロセッサは、記憶媒体から情報を読み出し、記憶媒体に情報を書き込むことができる。代替的に、記憶媒体は、プロセッサに集積することができる。プロセッサと記憶媒体はまた、ＡＳＩＣに常駐することができる。
【０１１７】
開示された実施形態の上記の説明は、当業者が本発明を作製又は使用できるようにするために提供される。これらの実施形態への種々の修正が当業者にはすぐにわかるであろうし、本明細書に記載の一般原理は、本発明の精神又は範囲から逸脱することなく他の実施形態に適用することができる。したがって、本明細書で提示される説明及び図面は、本発明の現在好ましい実施形態、したがって本発明によって広く考慮される主題の代表例を表すことが理解される。本発明の範囲が当業者には明白となり得る他の実施形態を十分に包含すること及び本発明の範囲がしたがって制限されないことがさらに理解される。
【図１】
2019061698.tif 000003
【図２】
2019061698.tif 000004
【図３】
2019061698.tif 000005
【図４】
2019061698.tif 000006
【図５】
2019061698.tif 000007
【図６】
2019061698.tif 000008
【図７】
2019061698.tif 000009
【図８】
2019061698.tif 000010
【図９】
2019061698.tif 000011
【図１０】
2019061698.tif 000012
【図１１】
2019061698.tif 000013
【図１２Ａ】
2019061698.tif 000014
【図１２Ｂ】
2019061698.tif 000015
【図１２Ｃ】
2019061698.tif 000016
【図１３Ａ】
2019061698.tif 000017
【図１３Ｂ】
2019061698.tif 000018
【図１３Ｃ】
2019061698.tif 000019
【図１４】
2019061698.tif 000020
【図１５】
2019061698.tif 000021
【図１６】
2019061698.tif 000022
【図１７】
2019061698.tif 000023
【図１８】
2019061698.tif 000024
【図１９】
2019061698.tif 000025