(57)【要約】  対象がターゲットジオフェンスに属するか否かを決定するためのシステム及び方法を提供する。方法は、対象の地理的位置に対応する地理的座標を取得することと、地理的座標に対応するグリッドの情報を決定することと、グリッドの情報に基づいて第１のグリッドデータベースにおいてグリッドをインデックス付けすることとを含んでよい。インデックス付けされたグリッドが第１のグリッドデータベースにない場合、対象はターゲットジオフェンスに属さないとしてよい。方法は、インデックス付けされたグリッドが第１のグリッドデータベースにある場合に、グリッドの情報に基づいて第２のグリッドデータベースにおいてグリッドをインデックス付けすることをさらに含んでよい。インデックス付けされたグリッドが第２のグリッドデータベースにない場合、対象はターゲットジオフェンスに属するとしてよい。方法は、インデックス付けされたグリッドが第２のグリッドデータベースにある場合に、対象とローカルジオフェンスとの関係に基づいて対象がターゲットジオフェンスに属するか否かを決定することをさらに含んでよい。
2021510882.tif 000002
【特許請求の範囲】
【請求項１】
対象がターゲットジオフェンスに属するか否かを決定するシステムであって、
１つ以上の命令セットを含む少なくとも１つの記憶装置と、
前記少なくとも１つの記憶装置と通信する少なくとも１つのプロセッサと
を備え、
前記少なくとも１つのプロセッサは、前記１つ以上の命令セットを実行すると、
前記対象の地理的位置に対応する地理的座標を取得することと、
前記地理的座標に対応するグリッドの情報を決定することと、
前記グリッドの前記情報に基づいて第１のグリッドデータベースにおいて前記グリッドをインデックス付けすることと、
前記インデックス付けされたグリッドが前記第１のグリッドデータベースにないという第１の否定的な結果に応じて、
前記対象が前記ターゲットジオフェンスに属さないと決定することと、
前記インデックス付けされたグリッドが前記第１のグリッドデータベースにあるという第１の肯定的な結果に応じて、
前記グリッドの前記情報に基づいて第２のグリッドデータベースにおいて前記グリッドをインデックス付けすることと、
前記インデックス付けされたグリッドが前記第２のグリッドデータベースにないという第２の否定的な結果に応じて、前記対象が前記ターゲットジオフェンスに属すると決定することと、
前記インデックス付けされたグリッドが前記第２のグリッドデータベースにあるという第２の肯定的な結果に応じて、前記対象とローカルジオフェンスとの関係に基づいて前記対象が前記ターゲットジオフェンスに属するか否かを決定することと
を行うように指示される、システム。
【請求項２】
前記少なくとも１つのプロセッサは、前記第１のグリッドデータベースを確立するようにさらに指示され、
前記第１のグリッドデータベースを確立するために、前記少なくとも１つのプロセッサは、
前記ターゲットジオフェンスを取得することと、
前記ターゲットジオフェンスに対応する複数のグリッドを取得することであって、前記複数のグリッドのそれぞれは、複数の頂点を有するポリゴンを含む、ことと、
前記複数のグリッドに対応するデータを第１のデータ構造に符号化することであって、前記第１のデータ構造は、前記複数のグリッドの識別子及び前記複数の頂点の座標を含む、ことと、
前記符号化されたデータを少なくとも１つの非一時的記憶媒体に書き込むことと
を行うようにさらに指示される、請求項１に記載のシステム。
【請求項３】
前記少なくとも１つのプロセッサは、前記第２のグリッドデータベースを確立するようにさらに指示され、
前記第２のグリッドデータベースを確立するために、前記少なくとも１つのプロセッサは、
前記複数のグリッドから１つ以上の境界グリッドを取得することと、
前記１つ以上の境界グリッド及び前記ターゲットジオフェンスに基づいて１つ以上のローカルジオフェンスを決定することと、
前記１つ以上の境界グリッド及び前記１つ以上のローカルジオフェンスに対応するデータを第２のデータ構造に符号化することであって、前記第２のデータ構造は、前記１つ以上の境界グリッドの識別子、前記１つ以上のローカルジオフェンスの識別子、前記１つ以上の境界グリッドのそれぞれの頂点の座標、及び前記１つ以上のローカルジオフェンスのそれぞれの頂点の座標を含み、前記１つ以上のローカルジオフェンスのそれぞれの前記頂点は、前記境界グリッドと前記ローカルジオフェンスとの１つ以上の交点を含む、ことと、
前記符号化されたデータを前記少なくとも１つの非一時的記憶媒体に書き込むことと
を行うようにさらに指示される、請求項２に記載のシステム。
【請求項４】
前記１つ以上の境界グリッド及び前記ターゲットジオフェンスに基づいて１つ以上のローカルジオフェンスを決定するために、前記少なくとも１つのプロセッサは、
前記１つ以上の境界グリッドのそれぞれについて、
前記境界グリッドに対応する第１のリンクリストと前記ターゲットジオフェンスに対応する第２のリンクリストとをそれぞれ決定することであって、前記第１のリンクリスト又は前記第２のリンクリストのいずれか一方の各ノードは、前記境界グリッドの前記頂点のうちの１つの頂点又は前記ターゲットジオフェンスの前記頂点のうちの１つの頂点にそれぞれ対応する、ことと、
前記境界グリッドと前記ターゲットジオフェンスとの前記１つ以上の交点を決定することと、
前記１つ以上の交点に基づいて前記第１のリンクリスト及び前記第２のリンクリストを更新することと、
前記更新された第１のリンクリスト及び前記更新された第２のリンクリストに基づいて前記１つ以上のローカルジオフェンスを決定することと
を行うように指示される、請求項３に記載のシステム。
【請求項５】
前記更新された第１のリンクリスト及び前記更新された第２のリンクリストに基づいて前記１つ以上のローカルジオフェンスを決定するために、前記少なくとも１つのプロセッサは、
前記１つ以上のローカルジオフェンスのそれぞれを決定するために、
所定のトラバースルールに基づいて、前記更新された第１のリンクリスト及び前記更新された第２のリンクリストをトラバースすることと、
前記境界グリッドと前記ターゲットジオフェンスの交点セットを決定することであって、前記交点セットは、前記境界グリッドと前記ターゲットジオフェンスとの前記１つ以上の交点を含む、ことと、
前記交点セットに基づいて前記ローカルジオフェンスを決定することと
を行うように指示される、請求項４に記載のシステム。
【請求項６】
前記所定のトラバースルールは、トラバースの開始点、及びトラバースシーケンス又はトラバース切り替え順序に関連付けられ、
前記トラバースの開始点は、前記ターゲットジオフェンスの外側にある前記境界グリッドの前記頂点又は前記境界グリッドの外側にある前記ターゲットジオフェンスの前記頂点を含み、
前記トラバースシーケンスは、時計回り又は反時計回りを含み、
前記トラバース切り替え順序は、遭遇した第１の交点を除き、交点に遭遇するたびに、前記更新された第１のリンクリスト及び前記更新された第２のリンクリストをトラバースすることを交替することを含む、請求項５に記載のシステム。
【請求項７】
前記第１のリンクリスト及び前記第２のリンクリストは、循環二重リンクリストである、請求項４から６のいずれか一項に記載のシステム。
【請求項８】
前記対象とローカルジオフェンスとの関係に基づいて前記対象が前記ターゲットジオフェンスに属するか否かを決定するために、前記少なくとも１つのプロセッサは、
前記対象を端点とするレイが前記ローカルジオフェンスの奇数の境界を横切る場合に、前記対象が前記ローカルジオフェンスに属すると決定することと、
前記対象を端点とする前記レイが前記ローカルジオフェンスの偶数の境界を横切る場合に、前記対象が前記ローカルジオフェンスに属さないと決定することと
を行うようにさらに指示される、請求項１に記載のシステム。
【請求項９】
前記対象とローカルジオフェンスとの関係に基づいて前記対象が前記ターゲットジオフェンスに属するか否かを決定するために、前記少なくとも１つのプロセッサは、
前記対象及び前記ローカルジオフェンスに関連付けられた回転数を決定することと、
前記回転数がゼロに等しくない場合に、前記対象が前記ローカルジオフェンスに属すると決定することと、
前記回転数がゼロに等しい場合に、前記対象が前記ローカルジオフェンスに属さないと決定することと
を行うようにさらに指示される、請求項１に記載のシステム。
【請求項１０】
前記グリッドが正六角形の形状を有する、請求項１から９のいずれか一項に記載のシステム。
【請求項１１】
少なくとも１つのプロセッサと少なくとも１つのコンピュータ可読記憶媒体とを備えるコンピューティング装置で実施される、対象がターゲットジオフェンスに属するか否かを決定する方法であって、
前記対象の地理的位置に対応する地理的座標を取得することと、
前記地理的座標に対応するグリッドの情報を決定することと、
前記グリッドの前記情報に基づいて第１のグリッドデータベースにおいて前記グリッドをインデックス付けすることと、
前記インデックス付けされたグリッドが前記第１のグリッドデータベースにないという第１の否定的な結果に応じて、
前記対象が前記ターゲットジオフェンスに属さないと決定することと、
前記インデックス付けされたグリッドが前記第１のグリッドデータベースにあるという第１の肯定的な結果に応じて、
前記グリッドの前記情報に基づいて第２のグリッドデータベースにおいて前記グリッドをインデックス付けすることと、
前記インデックス付けされたグリッドが前記第２のグリッドデータベースにないという第２の否定的な結果に応じて、前記対象が前記ターゲットジオフェンスに属すると決定することと、
前記インデックス付けされたグリッドが前記第２のグリッドデータベースにあるという第２の肯定的な結果に応じて、前記対象とローカルジオフェンスとの関係に基づいて前記対象が前記ターゲットジオフェンスに属するか否かを決定することと
を含む方法。
【請求項１２】
前記第１のグリッドデータベースを確立することをさらに含み、
前記第１のグリッドデータベースを確立することは、
前記ターゲットジオフェンスを取得することと、
前記ターゲットジオフェンスに対応する複数のグリッドを取得することであって、前記複数のグリッドのそれぞれは、複数の頂点を有するポリゴンを含む、ことと、
前記複数のグリッドに対応するデータを第１のデータ構造に符号化することであって、前記第１のデータ構造は、前記複数のグリッドの識別子及び前記複数の頂点の座標を含む、ことと、
前記符号化されたデータを少なくとも１つの非一時的記憶媒体に書き込むことと
をさらに含む、請求項１１に記載の方法。
【請求項１３】
前記第２のグリッドデータベースを確立することをさらに含み、
前記第２のグリッドデータベースを確立することは、
前記複数のグリッドから１つ以上の境界グリッドを取得することと、
前記１つ以上の境界グリッド及び前記ターゲットジオフェンスに基づいて１つ以上のローカルジオフェンスを決定することと、
前記１つ以上の境界グリッド及び前記１つ以上のローカルジオフェンスに対応するデータを第２のデータ構造に符号化することであって、前記第２のデータ構造は、前記１つ以上の境界グリッドの識別子、前記１つ以上のローカルジオフェンスの識別子、前記１つ以上の境界グリッドのそれぞれの頂点の座標、及び前記１つ以上のローカルジオフェンスのそれぞれの頂点の座標を含み、前記１つ以上のローカルジオフェンスのそれぞれの前記頂点は、前記境界グリッドと前記ローカルジオフェンスとの１つ以上の交点を含む、ことと、
前記符号化されたデータを前記少なくとも１つの非一時的記憶媒体に書き込むことと
をさらに含む、請求項１２に記載の方法。
【請求項１４】
前記１つ以上の境界グリッド及び前記ターゲットジオフェンスに基づいて１つ以上のローカルジオフェンスを決定することは、
前記１つ以上の境界グリッドのそれぞれについて、
前記境界グリッドに対応する第１のリンクリストと前記ターゲットジオフェンスに対応する第２のリンクリストとをそれぞれ決定することであって、前記第１のリンクリスト又は前記第２のリンクリストのいずれか一方の各ノードは、前記境界グリッドの前記頂点のうちの１つの頂点又は前記ターゲットジオフェンスの前記頂点のうちの１つの頂点にそれぞれ対応する、ことと、
前記境界グリッドと前記ターゲットジオフェンスとの前記１つ以上の交点を決定することと、
前記１つ以上の交点に基づいて前記第１のリンクリスト及び前記第２のリンクリストを更新することと、
前記更新された第１のリンクリスト及び前記更新された第２のリンクリストに基づいて前記１つ以上のローカルジオフェンスを決定することと
を含む、請求項１３に記載の方法。
【請求項１５】
前記更新された第１のリンクリスト及び前記更新された第２のリンクリストに基づいて前記１つ以上のローカルジオフェンスを決定することは、
前記１つ以上のローカルジオフェンスのそれぞれを決定するために、
所定のトラバースルールに基づいて、前記更新された第１のリンクリスト及び前記更新された第２のリンクリストをトラバースすることと、
前記境界グリッド及び前記ターゲットジオフェンスの交点セットを決定することであって、前記交点セットは、前記境界グリッドと前記ターゲットジオフェンスとの前記１つ以上の交点を含む、ことと、
前記交点セットに基づいて前記ローカルジオフェンスを決定することと
を含む、請求項１４に記載の方法。
【請求項１６】
前記所定のトラバースルールは、トラバースの開始点、及びトラバースシーケンス又はトラバース切り替え順序に関連付けられ、
前記トラバースの開始点は、前記ターゲットジオフェンスの外側にある前記境界グリッドの前記頂点又は前記境界グリッドの外側にある前記ターゲットジオフェンスの前記頂点を含み、
前記トラバースシーケンスは、時計回り又は反時計回りを含み、
前記トラバース切り替え順序は、遭遇した第１の交点を除き、交点に遭遇するたびに、前記更新された第１のリンクリスト及び前記更新された第２のリンクリストをトラバースすることを交替することを含む、請求項１５に記載の方法。
【請求項１７】
前記第１のリンクリスト及び前記第２のリンクリストは、循環二重リンクリストである、請求項１４から１６のいずれか一項に記載の方法。
【請求項１８】
前記対象とローカルジオフェンスとの関係に基づいて前記対象が前記ターゲットジオフェンスに属するか否かを決定することは、
前記対象を端点とするレイが前記ローカルジオフェンスの奇数の境界を横切る場合に、前記対象が前記ローカルジオフェンスに属すると決定することと、
前記対象を端点とする前記レイが前記ローカルジオフェンスの偶数の境界を横切る場合に、前記対象が前記ローカルジオフェンスに属さないと決定することと
をさらに含む、請求項１１に記載の方法。
【請求項１９】
前記対象とローカルジオフェンスとの関係に基づいて前記対象が前記ターゲットジオフェンスに属するか否かを決定することは、
前記対象及び前記ローカルジオフェンスに関連付けられた回転数を決定することと、
前記回転数がゼロに等しくない場合に、前記対象が前記ローカルジオフェンスに属すると決定することと、
前記回転数がゼロに等しい場合に、前記対象が前記ローカルジオフェンスに属さないと決定することと
をさらに含む、請求項１１に記載の方法。
【請求項２０】
前記グリッドが正六角形の形状を有する、請求項１１から１９のいずれか一項に記載の方法。
【請求項２１】
対象がターゲットジオフェンスに属するか否かを決定するための少なくとも１つの命令セットを記憶した非一時的コンピュータ可読記憶媒体であって、
前記少なくとも１つの命令セットは、コンピューティング装置の少なくとも１つのプロセッサによって実行されると、
前記対象の地理的位置に対応する地理的座標を取得することと、
前記地理的座標に対応するグリッドの情報を決定することと、
前記グリッドの前記情報に基づいて第１のグリッドデータベースにおいて前記グリッドをインデックス付けすることと、
前記インデックス付けされたグリッドが前記第１のグリッドデータベースにないという第１の否定的な結果に応じて、
前記対象が前記ターゲットジオフェンスに属さないと決定することと、
前記インデックス付けされたグリッドが前記第１のグリッドデータベースにあるという第１の肯定的な結果に応じて、
前記グリッドの前記情報に基づいて第２のグリッドデータベースにおいて前記グリッドをインデックス付けすることと、
前記インデックス付けされたグリッドが前記第２のグリッドデータベースにないという第２の否定的な結果に応じて、前記対象が前記ターゲットジオフェンスに属すると決定することと、
前記インデックス付けされたグリッドが前記第２のグリッドデータベースにあるという第２の肯定的な結果に応じて、前記対象とローカルジオフェンスとの関係に基づいて前記対象が前記ターゲットジオフェンスに属するか否かを決定することであって、前記ローカルジオフェンスは、境界グリッドが前記ターゲットジオフェンスと重なる領域である、ことと
を含む方法を前記コンピューティング装置に実行させる、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１８年１１月２８日に出願された中国特許出願第２０１８１１４３５００８．５号の優先権を主張し、そのすべての内容は、参照により本明細書に組み込まれるものとする。
【０００２】
本開示は、概して、オンデマンドサービスに関し、特に、対象がターゲットジオフェンスに属するか否かを決定するシステム及び方法に関する。
【背景技術】
【０００３】
インターネット技術の発展に伴い、オンラインタクシーヘイリングサービス及び配送サービスなどのオンデマンドサービスが人々の日常生活において重要な役割を果たし始めている。オンデマンドサービスプラットフォームの洗練された管理は、企業収益を向上させ得る。例えば、異なるサービスエリアについて、オンデマンドサービスプラットフォームは、オンデマンドサービスプラットフォームに登録されたサービスプロバイダ及び／又はサービス要求者のために対応するマーケティングポリシーを作成することができる。別の例として、異なるサービスエリアについて、オンデマンドサービスプラットフォームは、サービス容量要件を満たすために対応するスケジューリングポリシーを作成することができる。オンデマンドサービスのこのような洗練された管理は、ユーザの位置情報の正確な取得、例えばユーザが属するジオフェンスの取得に依存する。したがって、対象がターゲットジオフェンスに属するか否かを正確に決定するための効果的なシステム及び方法を開発することが望ましい。
【発明の概要】
【課題を解決するための手段】
【０００４】
本開示の一態様によれば、対象がターゲットジオフェンスに属するか否かを決定するシステムを提供する。システムは、１つ以上の命令セットを含む少なくとも１つの記憶装置と、少なくとも１つの記憶装置と通信する少なくとも１つのプロセッサとを含んでもよい。命令セットを実行すると、少なくとも１つのプロセッサは、対象の地理的位置に対応する地理的座標を取得してもよい。少なくとも１つのプロセッサは、地理的座標に対応するグリッドの情報を決定してもよい。少なくとも１つのプロセッサは、グリッドの情報に基づいて第１のグリッドデータベースにおいてグリッドをインデックス付けしてもよい。インデックス付けされたグリッドが第１のグリッドデータベースにないという第１の否定的な結果に応じて、少なくとも１つのプロセッサは、対象がターゲットジオフェンスに属さないと決定してもよい。インデックス付けされたグリッドが第１のグリッドデータベースにあるという第１の肯定的な結果に応じて、少なくとも１つのプロセッサは、グリッドの情報に基づいて第２のグリッドデータベースにおいてグリッドをインデックス付けしてもよい。インデックス付けされたグリッドが第２のグリッドデータベースにないという第２の否定的な結果に応じて、少なくとも１つのプロセッサは、対象がターゲットジオフェンスに属すると決定してもよい。インデックス付けされたグリッドがグリッドデータベースにあるという第２の肯定的な結果に応じて、少なくとも１つのプロセッサは、対象とローカルジオフェンスとの関係に基づいて対象がターゲットジオフェンスに属するか否かを決定してもよい。ローカルジオフェンスは、境界グリッドがターゲットジオフェンスと重なる領域であってもよい。
【０００５】
いくつかの実施形態では、少なくとも１つのプロセッサは、第１のグリッドデータベースを確立してもよい。少なくとも１つのプロセッサは、ターゲットジオフェンスを取得してもよい。少なくとも１つのプロセッサは、ターゲットジオフェンスに対応する複数のグリッドを取得してもよい。複数のグリッドのそれぞれは、複数の頂点を有する多角形を含んでもよい。少なくとも１つのプロセッサは、複数のグリッドに対応するデータを第１のデータ構造に符号化してもよい。第１のデータ構造は、複数のグリッドの識別子及び複数の頂点の座標を含んでもよい。少なくとも１つのプロセッサは、符号化されたデータを少なくとも１つの非一時的記憶媒体に書き込んでもよい。
【０００６】
いくつかの実施形態では、少なくとも１つのプロセッサは、第２のグリッドデータベースを確立してもよい。少なくとも１つのプロセッサは、複数のグリッドから１つ以上の境界グリッドを取得してもよい。少なくとも１つのプロセッサは、１つ以上の境界グリッド及びターゲットジオフェンスに基づいて１つ以上のローカルジオフェンスを決定してもよい。少なくとも１つのプロセッサは、１つ以上の境界グリッド及び１つ以上のローカルジオフェンスに対応するデータを第２のデータ構造に符号化してもよい。第２のデータ構造は、１つ以上の境界グリッドの識別子、１つ以上のローカルジオフェンスの識別子、１つ以上の境界グリッドのそれぞれの頂点の座標、及び１つ以上のローカルジオフェンスのそれぞれの頂点の座標を含んでもよく、１つ以上のローカルジオフェンスのそれぞれの頂点は、境界グリッドとローカルジオフェンスとの１つ以上の交点を含む。少なくとも１つのプロセッサは、符号化されたデータを少なくとも１つの非一時的記憶媒体に書き込んでもよい。
【０００７】
いくつかの実施形態では、１つ以上の境界グリッドのそれぞれについて、少なくとも１つのプロセッサは、境界グリッドに対応する第１のリンクリストとターゲットジオフェンスに対応する第２のリンクリストとをそれぞれ決定してもよい。第１のリンクリスト又は第２のリンクリストのいずれか一方の各ノードは、境界グリッドの頂点のうちの１つの頂点又はターゲットジオフェンスの頂点のうちの１つの頂点にそれぞれ対応してもよい。少なくとも１つのプロセッサは、境界グリッドとターゲットジオフェンスとの１つ以上の交点を決定してもよい。少なくとも１つのプロセッサは、１つ以上の交点に基づいて第１のリンクリスト及び第２のリンクリストを更新してもよい。少なくとも１つのプロセッサは、更新された第１のリンクリスト及び更新された第２のリンクリストに基づいて１つ以上のローカルジオフェンスを決定してもよい。
【０００８】
いくつかの実施形態では、１つ以上のローカルジオフェンスのそれぞれを決定するために、少なくとも１つのプロセッサは、所定のトラバースルールに基づいて、更新された第１のリンクリスト及び更新された第２のリンクリストをトラバースしてもよい。少なくとも１つのプロセッサは、境界グリッドとターゲットジオフェンスの交点セットを決定してもよい。交点セットは、境界グリッドとターゲットジオフェンスとの１つ以上の交点を含んでもよい。少なくとも１つのプロセッサは、交点セットに基づいてローカルジオフェンスを決定してもよい。
【０００９】
いくつかの実施形態では、所定のトラバースルールは、トラバースの開始点、及びトラバースシーケンス又はトラバース切り替え順序に関連付けてもよい。トラバースの開始点は、ターゲットジオフェンスの外側にある境界グリッドの頂点又は境界グリッドの外側にあるターゲットジオフェンスの頂点を含んでもよい。トラバースシーケンスは、時計回り又は反時計回りを含んでもよい。トラバース切り替え順序は、遭遇した第１の交点を除き、交点に遭遇するたびに、更新された第１のリンクリスト及び更新された第２のリンクリストをトラバースすることを交替することを含んでもよい。
【００１０】
いくつかの実施形態では、第１のリンクリスト及び第２のリンクリストは、循環二重リンクリストであってもよい。
【００１１】
いくつかの実施形態では、少なくとも１つのプロセッサは、対象を端点とするレイがローカルジオフェンスの奇数の境界を横切る場合に、対象がローカルジオフェンスに属すると決定してもよい。少なくとも１つのプロセッサは、対象を端点とするレイがローカルジオフェンスの偶数の境界を横切る場合に、対象がローカルジオフェンスに属さないと決定してもよい。
【００１２】
いくつかの実施形態では、少なくとも１つのプロセッサは、対象及びローカルジオフェンスに関連付けられた回転数を決定してもよい。少なくとも１つのプロセッサは、回転数がゼロに等しくない場合に、対象がローカルジオフェンスに属すると決定してもよい。少なくとも１つのプロセッサは、回転数がゼロに等しい場合に、対象がローカルジオフェンスに属さないと決定してもよい。
【００１３】
いくつかの実施形態では、グリッドは、正六角形の形状を有してもよい。
【００１４】
本開示の一態様によれば、対象がターゲットジオフェンスに属するか否かを決定する方法が提供される。方法は、少なくとも１つのプロセッサと少なくとも１つのコンピュータ可読記憶媒体とを備えるコンピューティング装置で実施されてもよい。少なくとも１つのプロセッサは、対象の地理的位置に対応する地理的座標を取得してもよい。少なくとも１つのプロセッサは、地理的座標に対応するグリッドの情報を決定してもよい。少なくとも１つのプロセッサは、グリッドの情報に基づいて第１のグリッドデータベースにおいてグリッドをインデックス付けしてもよい。インデックス付けされたグリッドが第１のグリッドデータベースにないという第１の否定的な結果に応じて、少なくとも１つのプロセッサは、対象がターゲットジオフェンスに属さないと決定してもよい。インデックス付けされたグリッドが第１のグリッドデータベースにあるという第１の肯定的な結果に応じて、少なくとも１つのプロセッサは、グリッドの情報に基づいて第２のグリッドデータベースにおいてグリッドをインデックス付けしてもよい。インデックス付けされたグリッドが第２のグリッドデータベースにないという第２の否定的な結果に応じて、少なくとも１つのプロセッサは、対象がターゲットジオフェンスに属すると決定してもよい。インデックス付けされたグリッドがグリッドデータベースにあるという第２の肯定的な結果に応じて、少なくとも１つのプロセッサは、対象とローカルジオフェンスとの関係に基づいて対象がターゲットジオフェンスに属するか否かを決定してもよい。ローカルジオフェンスは、境界グリッドがターゲットジオフェンスと重なる領域であってもよい。
【００１５】
本開示の別の態様によれば、非一時的コンピュータ可読記憶媒体が提供される。非一時的コンピュータ可読記憶媒体は、対象がターゲットジオフェンスに属するか否かを決定するための少なくとも１つの命令セットを含んでもよい。命令セットを実行すると、少なくとも１つのプロセッサは、対象の地理的位置に対応する地理的座標を取得してもよい。少なくとも１つのプロセッサは、地理的座標に対応するグリッドの情報を決定してもよい。少なくとも１つのプロセッサは、グリッドの情報に基づいて第１のグリッドデータベースにおいてグリッドをインデックス付けしてもよい。インデックス付けされたグリッドが第１のグリッドデータベースにないという第１の否定的な結果に応じて、少なくとも１つのプロセッサは、対象がターゲットジオフェンスに属さないと決定してもよい。インデックス付けされたグリッドが第１のグリッドデータベースにあるという第１の肯定的な結果に応じて、少なくとも１つのプロセッサは、グリッドの情報に基づいて第２のグリッドデータベースにおいてグリッドをインデックス付けしてもよい。インデックス付けされたグリッドが第２のグリッドデータベースにないという第２の否定的な結果に応じて、少なくとも１つのプロセッサは、対象がターゲットジオフェンスに属すると決定してもよい。インデックス付けされたグリッドがグリッドデータベースにあるという第２の肯定的な結果に応じて、少なくとも１つのプロセッサは、対象とローカルジオフェンスとの関係に基づいて対象がターゲットジオフェンスに属するか否かを決定してもよい。ローカルジオフェンスは、境界グリッドがターゲットジオフェンスと重なる領域であってもよい。
【００１６】
さらなる特徴は、以下の説明に部分的に記載され、以下の図面及び添付の図面を検討することにより部分的に当業者には明らかになるか、又は実施例の製作又は動作によって学習することができる。本開示の特徴は、以下に説明する詳細な実施例に示される方法論、手段及び組み合わせの様々な態様を実施するか又は使用することによって実現及び達成することができる。
【００１７】
例示的な実施形態によって本開示をさらに説明する。これらの例示的な実施形態を、図面を参照して詳細に説明する。これらの実施形態は非限定的かつ例示的な実施形態であり、図面の各図に渡って同様の参照番号が類似の構造を表す。
【図面の簡単な説明】
【００１８】
【図１】本開示のいくつかの実施形態に係る例示的なオンデマンドサービスシステムを示す概略図である。
【図２】本開示で開示される特定のシステムを実装するように構成された例示的なモバイル装置を示すブロック図である。
【図３】本開示のいくつかの実施形態に係る例示的なコンピューティング装置を示すブロック図である。
【図４】本開示のいくつかの実施形態に係る例示的な処理エンジンを示すブロック図である。
【図５】本開示のいくつかの実施形態に係る例示的な第１のグリッドデータベース決定モジュールを示すブロック図である。
【図６】本開示のいくつかの実施形態に係る例示的な第２のグリッドデータベース決定モジュールを示すブロック図である。
【図７】本開示のいくつかの実施形態に係る、対象がターゲットジオフェンスに属するか否かを決定するための例示的なプロセスを示すフローチャートである。
【図８】本開示のいくつかの実施形態に係る、第１のグリッドデータベースを確立するための例示的なプロセスを示すフローチャートである。
【図９】本開示のいくつかの実施形態に係る、ターゲットジオフェンスと１つ以上のグリッドとの関係を示す概略図である。
【図１０】本開示のいくつかの実施形態に係る、第２のグリッドデータベースを確立するための例示的なプロセスを示すフローチャートである。
【図１１】本開示のいくつかの実施形態に係る、１つ以上のローカルジオフェンスを決定するための例示的なプロセスを示すフローチャートである。
【図１２】本開示のいくつかの実施形態に係る、ローカルフェンスを決定するための例示的な動作を示す概略図である。
【図１３】本開示のいくつかの実施形態に係る、例示的なリンクリストを示す概略図である。
【図１４】本開示のいくつかの実施形態に係る、ローカルフェンスを決定するための例示的な動作を示す概略図である。
【図１５】本開示のいくつかの実施形態に係る、対象がローカルジオフェンスに属さないという例示的な関係を示す概略図である。
【図１６】本開示のいくつかの実施形態に係る、対象がローカルジオフェンスに属するという例示的な関係を示す概略図である。
【発明を実施するための形態】
【００１９】
以下の説明は、当業者が本開示を作成し、使用することを可能にするために、特定の用途及びその要件下で提供するものである。開示される実施形態に対する様々な修正は、当業者には容易に自明であり、本明細書で定義された一般的な原理は、本開示の精神及び範囲から逸脱することなく、他の実施形態及び用途に適用してもよい。したがって、本開示は、示された実施形態に限定されるものではなく、特許請求の範囲と一致する最も広い範囲が与えられるものである。
【００２０】
本明細書で用いられる用語は、具体的な例示的な実施形態を記述することのみを目的とするものであり、限定を意図するものではない。本明細書において、「ａ」、「ａｎ」の単数形及び「ｔｈｅ」は、文脈上明確に別途示されない限り、複数形も包含することを意図するものとする。「ｃｏｍｐｒｉｓｅｓ（備える）」、「ｃｏｍｐｒｉｓｉｎｇ」、「ｉｎｃｌｕｄｅｓ（含む）」、及び／又は「ｉｎｃｌｕｄｉｎｇ」という用語は、本開示において用いられる場合、記述された特徴、整数、ステップ、動作、要素、及び／又はコンポーネントの存在を指定するが、１つ以上の他の特徴、整数、ステップ、動作、要素、コンポーネント、及び／又はそれらの群の存在又は追加を排除するものではないことがさらに理解できるであろう。
【００２１】
本明細書で用いられる「システム」、「モジュール」、及び／又は「ブロック」という用語は、異なるレベルの異なるコンポーネント、要素、部品、セクション又はアセンブリを昇順で区別する１つの方法であることが理解できるであろう。しかし、それらの用語は、同じ目的を達成すれば、別の表現に書き換えてよい。
【００２２】
本明細書において、「モジュール」又は「ブロック」という用語は、ハードウェア又はファームウェアに組み込まれた論理、又はソフトウェア命令の集合を指す。本明細書に記載されたモジュール又はブロックは、ソフトウェア及び／又はハードウェアとして実装してもよく、任意のタイプの非一時的コンピュータ可読媒体又は別の記憶装置に記憶してもよい。いくつかの実施形態では、ソフトウェアモジュール／ユニット／ブロックは、コンパイルされ、実行可能なプログラムにリンクされてもよい。ソフトウェアモジュールは、他のモジュール／ユニット／ブロックから、又はそれら自体から呼び出してもよく、及び／又は検出されたイベント又は割り込みに応じて呼び出してもよいことを理解されたい。コンピューティング装置（例えば、図３に示すようなプロセッサ３２０）上で実行するように構成されるソフトウェアモジュール／ユニット／ブロックは、コンパクトディスク、デジタルビデオディスク、フラッシュドライブ、磁気ディスク、又は任意の他の有形の媒体などのコンピュータ可読媒体上に提供されるか、又は、デジタルダウンロードとされてもよい（元々、実行前にインストール、解凍、又は復号を必要とする圧縮済み又はインストール可能なフォーマットで記憶してもよい）。そのようなソフトウェアコードは、コンピューティング装置による実行のために、実行中のコンピューティング装置の記憶装置に部分的に又は完全に記憶されてもよい。ソフトウェア命令は、電気的プログラマブル読取り専用メモリ（ＥＰＲＯＭ）などのファームウェアに組み込まれてもよい。ハードウェアモジュール／ユニット／ブロックは、ゲート及びフリップフロップなどの接続された論理コンポーネントに含まれてもよく、及び／又はプログラマブルゲートアレイ又はプロセッサなどのプログラマブルユニットに含まれてもよいことがさらに理解されたい。本明細書に記載されたモジュール／ユニット／ブロック又はコンピューティング装置機能は、ソフトウェアモジュール／ユニット／ブロックとして実装できるが、ハードウェア又はファームウェアにおいて表されてもよい。一般的に、本明細書に記載されたモジュール／ユニット／ブロックは、それらの物理的編成又は保存にもかかわらず、他のモジュール／ユニット／ブロックと組み合わせられてもよいか又はサブモジュール／サブユニット／サブブロックに分割されてもよい論理モジュール／ユニット／ブロックを指す。説明は、システム、エンジン、又はそれらの一部に適用してもよい。
【００２３】
モジュール又はブロックが別のモジュール又はブロックに「接続されている」か又は「結合されている」ものとして言及される場合、文脈上明確に別途示されない限り、他のモジュール又はブロックと直接的に接続又は結合されているか、又は通信する可能性があるが、介在するユニット、エンジン、モジュール又はブロックが存在してもよいことが理解できるであろう。本明細書において、「及び／又は」という用語は、関連する列挙された項目の１つ以上のいずれかの及び全ての組み合わせを含む。
【００２４】
本開示のこれらの及び他の特徴及び特性、動作方法、構造の関連要素の機能、部品の組み合わせ、及び製造の経済性は、全体が本明細書の一部を構成する添付の図面を参照しながら以下の説明を検討することによって、より明らかになる。しかしながら、図面は、例示及び説明のみを目的とするものであり、本開示の範囲を限定するものではないことは、明確に理解されるべきである。図面は縮尺通りではないことが理解される。
【００２５】
本開示で用いられるフローチャートは、本開示のいくつかの実施形態に従ってシステムが実装する動作を示す。フローチャートの動作は、順番に実装されなくてもよいことが明確に理解されるべきである。逆に、動作は、逆の順序で又は同時に実装されてもよい。また、１つ以上の他の動作をフローチャートに追加してもよい。１つ以上の動作をフローチャートから除去してもよい。
【００２６】
さらに、本開示のシステム又は方法は、任意の他の種類のオンラインオンデマンドサービスに適用してもよい。例えば、本開示のシステム又は方法は、陸地、海、航空宇宙など、又はそれらの任意の組み合わせを含む異なる輸送システムに適用してもよい。輸送システムの車両は、タクシー、自家用車、ヒッチ、バス、電車、超特急列車、高速鉄道、地下鉄、船舶、航空機、宇宙船、熱気球、無人車両、自転車、三輪車、自動二輪車など、又はそれらの任意の組み合わせを含んでもよい。本開示のシステム又は方法は、タクシーヘイリング、運転代行サービス、配送サービス、カープール、バスサービス、テイクアウトサービス、運転者雇用、車両賃借、自転車シェアリングサービス、列車サービス、地下鉄サービス、シャトルサービス、位置情報サービスなどに適用してもよい。別の例として、本開示のシステム又は方法は、ショッピングサービス、学習サービス、フィットネスサービス、金融サービス、ソーシャルサービスなどに適用してもよい。本開示のシステム又は方法の適用シナリオは、ウェブページ、ブラウザのプラグイン、クライアント端末、カスタムシステム、内部分析システム、人工知能ロボットなど、又はそれらの任意の組み合わせを含んでもよい。
【００２７】
オンデマンドサービスの対象は、任意の製品であってもよい。いくつかの実施形態では、製品は、有形の製品又は無形の製品であってよい。有形の製品は、食品、医薬品、商品、化学製品、電気器具、衣類、自動車、住宅、高級品など、又はそれらの任意の組み合わせを含んでもよい。無形の製品は、サービス製品、金融製品、知識製品、インターネット製品など、又はそれらの任意の組み合わせを含んでもよい。インターネット製品は、個人ホスト製品、ウェブ製品、モバイルインターネット製品、商業ホスト製品、組み込み製品など、又はそれらの任意の組み合わせを含んでもよい。モバイルインターネット製品は、モバイル端末のソフトウェア、プログラム、システムなど、又はそれらの任意の組み合わせで使用されてもよい。モバイル端末は、タブレットコンピュータ、ラップトップコンピュータ、携帯電話、携帯情報端末（ＰＤＡ）、スマートウォッチ、販売時点管理（ＰＯＳ）装置、車載コンピュータ、車載テレビ、ウェアラブル装置など、又はそれらの任意の組み合わせを含んでもよい。例えば、製品は、コンピュータ又は携帯電話で使用される任意のソフトウェア及び／又はアプリケーションであってもよい。ソフトウェア及び／又はアプリケーションは、社交、ショッピング、輸送、娯楽、学習、投資など、又はそれらの任意の組み合わせに関連してもよい。いくつかの実施形態では、輸送に関連するソフトウェア及び／又はアプリケーションは、走行ソフトウェア及び／又はアプリケーション、車両スケジューリングソフトウェア及び／又はアプリケーション、地図ソフトウェア及び／又はアプリケーションなどを含んでもよい。車両スケジューリングソフトウェア及び／又はアプリケーションでは、車両は、馬、馬車、人力車（例えば、手押し一輪車、自転車、三輪車など）、自動車（例えば、タクシー、バス、自家用車など）、電車、地下鉄、船舶、航空機（例えば、飛行機、ヘリコプタ、スペースシャトル、ロケット、熱気球など）など、又はそれらの任意の組み合わせを含んでもよい。
【００２８】
本開示における「ユーザ」という用語は、サービスを要求する、サービスを注文する、サービスを提供するか、又はサービスの提供を促進することができる個人、エンティティ又はツールを指してもよい。本開示では、「ユーザ」及び「ユーザ端末」という用語は互換的に使用されてもよい。
【００２９】
一態様では、本開示は、対象がターゲットジオフェンスに属するか否かを効率的に決定するシステム及び方法に関する。例えば、システムは、地球の表面をモデリングするための離散グローバルグリッドシステム（ＤＧＧＳ）を構築してもよい。ＤＧＧＳで、地球の表面は、複数のグリッドに分割してもよい。システムは、対象の地理的座標に対応するグリッドの識別子（本明細書ではグリッドＩＤとも呼ばれる）を決定してもよい。いくつかの実施形態では、システムは、第１のグリッドデータベースにおいてグリッドＩＤをインデックス付けしてもよい。グリッドＩＤが第１のグリッドデータベースにおいてインデックス付けされない場合、対象はターゲットジオフェンスに属さないとし得る。グリッドＩＤが第１のグリッドデータベースにおいてインデックス付けされる場合、システムは、第２のグリッドデータベースにおいてグリッドＩＤをさらにインデックス付けしてもよい。グリッドＩＤが第２のグリッドデータベースにおいてインデックス付けされない場合、対象はターゲットジオフェンスに属するとしてもよい。グリッドＩＤが第２のグリッドデータベースにおいてインデックス付けされる場合、システムはさらに、対象とローカルジオフェンスとの関係に基づいて対象がターゲットジオフェンスに属するか否かを決定する必要があり得る。例えば、システムは、レイキャスティングアルゴリズムに基づいて対象とローカルジオフェンスとの関係を決定してもよい。本開示は、対象がターゲットジオフェンスに属するか否かを決定するときに、計算量を削減することにより、従来の計算、例えばレイキャスティングアルゴリズムの効率を向上させる。例えば、ターゲットジオフェンスは、１つ以上の内部グリッドと１つ以上の境界グリッドに分割される。ターゲットジオフェンスは、ｎ多角形の形状を有し、かつｍ個の境界グリッドを含むと仮定する。いくつかの実施形態では、対象が１つの内部グリッド内にある場合、計算複雑性は、ο（１）に等しくてもよい。いくつかの実施形態では、対象が１つの境界グリッド内にある場合、計算複雑性は、ο（ｎ／ｍ）に等しくてもよい。いくつかの実施形態では、対象がターゲットジオフェンスになく、すなわち、対象が内部グリッドにも境界グリッドにもない場合、計算複雑性は、ο（１）に等しくてもよい。いくつかの実施形態では、従来のレイキャスティングアルゴリズムの計算複雑性は、ο（ｎ）に等しくてもよい。
【００３０】
オンデマンド輸送サービス（例えば、自動車ヘイリングサービス）を例とすると、システムは、ある瞬間にサービス要求者及び／又はサービスプロバイダの属するジオフェンスを決定するために使用してもよい。いくつかの実施形態では、システムは、ジオフェンスに対応するマーケティングポリシーを作成してもよい。いくつかの実施形態では、システムは、ジオフェンスに対応するセキュリティポリシーを作成してもよい。いくつかの実施形態では、システムは、ジオフェンスのサービス容量を決定し、かつサービス容量に基づいてスケジューリングポリシーを作成してもよい。
【００３１】
図１は、いくつかの実施形態に係る例示的なオンデマンドサービスシステムを示す概略図である。例えば、オンデマンドサービスシステム１００は、輸送サービス（例えば、タクシーヘイリング、運転代行サービス、配送サービス、カープール、バスサービス、テイクアウトサービス、運転者雇用、車両賃借、列車サービス、地下鉄サービス、シャトルサービス）、ショッピングサービス、フィットネスサービス、学習サービス、金融サービスなどのためのオンラインオンデマンドサービスシステムであってもよい。
【００３２】
オンデマンドサービスシステム１００は、サーバ１１０、ネットワーク１２０、１つ以上のユーザ端末（例えば、１つ以上の乗客端末１３０、運転者端末１４０）、及び記憶装置１５０を含んでもよい。
【００３３】
サーバ１１０は、処理エンジン１１２を含んでもよい。なお、図１に示されるオンデマンドサービスシステム１００は、単なる例であり、限定することを意図するものではない。いくつかの実施形態では、オンデマンドサービスシステム１００は、乗客端末１３０又は運転者端末１４０を含んでもよい。いくつかの実施形態では、オンデマンドサービスシステム１００は、対象（例えば、乗客端末１３０に関連付けられた乗客、運転者端末１４０に関連付けられた運転者、車両、関心地点（ＰＯＩ）など）の位置を取得し、かつ対象の位置に基づいて対象がターゲットジオフェンスに属するか否かを決定してもよい。いくつかの実施形態では、オンデマンドサービスシステム１００は、対象のターゲットジオフェンスに対応するマーケティングポリシー（例えば、価格設定ポリシー、優遇ポリシー）を決定してもよい。いくつかの実施形態では、輸送サービスについて、オンデマンドサービスシステム１００は、異なるジオフェンスに対するセキュリティポリシーを決定してもよく、例えば、オンデマンドサービスシステム１００は、車両が所定のターゲットジオフェンスを超えたときに乗客に警告してもよい。
【００３４】
いくつかの実施形態では、サーバ１１０は、単一のサーバ又はサーバグループであってもよい。サーバグループは、集中型又は分散型であってもよい（例えば、サーバ１１０は分散型システムであってもよい）。いくつかの実施形態では、サーバ１１０はローカル又はリモートであってもよい。例えば、サーバ１１０は、ネットワーク１２０を介して、１つ以上のユーザ端末（例えば、１つ以上の乗客端末１３０、運転者端末１４０）及び／又は記憶装置１５０に記憶された情報及び／又はデータにアクセスしてもよい。別の例として、サーバ１１０は、１つ以上のユーザ端末（例えば、１つ以上の乗客端末１３０、運転者端末１４０）及び／又は記憶装置１５０に直接的に接続されて、記憶された情報及び／又はデータにアクセスしてもよい。いくつかの実施形態では、サーバ１１０は、クラウドプラットフォーム上に実装してもよい。単に例として、クラウドプラットフォームは、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散型クラウド、インタークラウド、マルチクラウドなど、又はそれらの任意の組み合わせを含んでもよい。いくつかの実施形態では、サーバ１１０は、本開示の図３に示される１つ以上のコンポーネントを有するコンピューティング装置３００上に実装してもよい。
【００３５】
いくつかの実施形態では、サーバ１１０は、処理エンジン１１２を含んでもよい。処理エンジン１１２は、１つ以上の対象に関連する情報及び／又はデータを処理してもよい。いくつかの実施形態では、処理エンジン１１２は、対象（例えば、乗客端末１３０に関連付けられた乗客、運転者端末１４０に関連付けられた運転者、車両、関心地点（ＰＯＩ）など）の位置を取得し、かつ対象の位置に基づいて対象がターゲットジオフェンスに属するか否かを決定してもよい。いくつかの実施形態では、処理エンジン１１２は、対象のターゲットジオフェンスに対応するマーケティングポリシー（例えば、価格設定ポリシー、優遇ポリシー）を決定してもよい。いくつかの実施形態では、輸送サービスについて、処理エンジン１１２は、異なるジオフェンスに対するセキュリティポリシーを決定してもよく、例えば、処理エンジン１１２は、車両が所定のターゲットジオフェンスを超えたときに乗客に警告してもよい。いくつかの実施形態では、処理エンジン１１２は、１つ以上の処理エンジン（例えば、シングルコア処理エンジン又はマルチコアプロセッサ）を含んでもよい。単に例として、処理エンジン１１２は、中央処理ユニット（ＣＰＵ）、特定用途向け集積回路（ＡＳＩＣ）、特定用途向け命令セットプロセッサ（ＡＳＩＰ）、グラフィックス処理ユニット（ＧＰＵ）、物理処理ユニット（ＰＰＵ）、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラマブル論理装置（ＰＬＤ）、コントローラ、マイクロコントローラユニット、縮小命令セットコンピュータ（ＲＩＳＣ）、マイクロプロセッサなど、又はそれらの任意の組み合わせを含んでもよい。
【００３６】
ネットワーク１２０は、情報及び／又はデータの変換を容易にすることができる。いくつかの実施形態では、オンデマンドサービスシステム１００における１つ以上のコンポーネント（例えば、サーバ１１０、１つ以上の乗客端末１３０、１つ以上の運転者端末１４０、又は記憶装置１５０）は、情報及び／又はデータをネットワーク１２０を介してオンデマンドサービスシステム１００における他のコンポーネントに送信してもよい。例えば、サーバ１１０は、ネットワーク１２０を介して乗客端末１３０からサービス要求を取得してもよい。別の例として、サーバ１１０は、直接的に又はネットワーク１２０を介してストレージ１５０から１つ以上の対象に関連する情報を受信してもよい。さらなる例として、サーバ１１０は、ネットワーク１２０を介して乗客端末１３０及び／又は運転者端末１４０から１つ以上の対象に関連する情報を受信してもよい。いくつかの実施形態では、ネットワーク１２０は、任意のタイプの有線又は無線ネットワーク、又はそれらの任意の組み合わせであってもよい。単に例として、ネットワーク１２０は、ケーブルネットワーク、有線ネットワーク、光ファイバネットワーク、電気通信ネットワーク、イントラネット、インターネット、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、無線ローカルエリアネットワーク（ＷＬＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、公衆電話交換網（ＰＴＳＮ）、ブルートゥース（登録商標）ネットワーク、ＺｉｇＢｅｅネットワーク、近距離無線通信（ＮＦＣ）ネットワークなど、又はそれらの任意の組み合わせを含んでもよい。いくつかの実施形態では、ネットワーク１２０は、１つ以上のネットワークアクセスポイントを含んでもよい。例えば、ネットワーク１２０は、オンデマンドサービスシステム１００の１つ以上のコンポーネントがネットワーク１２０に接続してデータ及び／又は情報を交換するための基地局及び／又はインターネット交換ポイント１２０−１、１２０−２、…などの有線又は無線ネットワークアクセスポイントを含んでもよい。
【００３７】
いくつかの実施形態では、乗客端末１３０は、モバイル装置１３０−１、タブレットコンピュータ１３０−２、ラップトップコンピュータ１３０−３、自動車両における組み込み装置１３０−４など、又はそれらの任意の組み合わせを含んでもよい。いくつかの実施形態では、モバイル装置１３０−１は、スマートホーム装置、ウェアラブル装置、スマートモバイル装置、仮想現実装置、拡張現実装置など、又はそれらの任意の組み合わせを含んでもよい。いくつかの実施形態では、スマートホーム装置は、スマート照明装置、インテリジェント電気機器の制御装置、スマートモニタリング装置、スマートテレビ、スマートビデオカメラ、インターフォンなど、又はそれらの組み合わせを含んでもよい。いくつかの実施形態では、ウェアラブル装置は、スマートブレスレット、スマートフットギア、スマートグラス、スマートヘルメット、スマートウォッチ、スマート衣類、スマートバックパック、スマートアクセサリなど、又はそれらの任意の組み合わせを含んでもよい。いくつかの実施形態では、スマートモバイル装置は、スマートフォン、携帯情報端末（ＰＤＡ）、ゲーム装置、ナビゲーション装置、販売時点管理（ＰＯＳ）装置など、又は任意の組み合わせを含んでもよい。いくつかの実施形態では、仮想現実装置及び／又は拡張現実装置は、仮想現実ヘルメット、仮想現実グラス、仮想現実パッチ、拡張現実ヘルメット、拡張現実グラス、拡張現実パッチなど、又はそれらの任意の組み合わせを含んでもよい。例えば、仮想現実装置及び／又は拡張現実装置は、Ｇｏｏｇｌｅ  Ｇｌａｓｓ、Ｏｃｕｌｕｓ  Ｒｉｆｔ、Ｈｏｌｏｌｅｎｓ、Ｇｅａｒ  ＶＲなどを含んでもよい。いくつかの実施形態では、自動車両における組み込み装置１３０−４は、車載コンピュータ、車載テレビなどを含んでもよい。いくつかの実施形態では、乗客端末１３０は、サービス要求者及び／又は乗客端末１３０の位置を突き止めるための測位技術を有する装置であってもよい。
【００３８】
いくつかの実施形態では、運転者端末１４０は、乗客端末１３０と類似するか又は同じ装置であってもよい。いくつかの実施形態では、運転者端末１４０は、運転者及び／又は運転者端末１４０の位置を突き止めるための測位技術を有する装置であってもよい。いくつかの実施形態では、乗客端末１３０及び／又は運転者端末１４０は、他の測位装置と通信して、サービス要求者、乗客端末１３０、運転者、及び／又は運転者端末１４０の位置を決定してもよい。いくつかの実施形態では、乗客端末１３０及び／又は運転者端末１４０は、測位情報をサーバ１１０に送信してもよい。
【００３９】
記憶装置１５０は、データ及び／又は命令を記憶してもよい。例えば、データは、対象の測位情報、１つ以上のジオフェンス、地球を１つ以上のグリッドに分割するためのモデル、サービス順序など、又はそれらの組み合わせに関連してもよい。いくつかの実施形態では、記憶装置１５０は、１つ以上のユーザ端末（例えば、１つ以上の乗客端末１３０、運転者端末１４０）から取得されたデータを記憶してもよい。いくつかの実施形態では、記憶装置１５０は、サーバ１１０が実行又は使用して、本開示に記載される例示的な方法を実施することができるデータ及び／又は命令を記憶してもよい。いくつかの実施形態では、記憶装置１５０は、マスストレージ、リムーバブルストレージ、揮発性読み書きメモリ、読取り専用メモリ（ＲＯＭ）など、又はそれらの任意の組み合わせを含んでもよい。例示的なマスストレージは、磁気ディスク、光ディスク、ソリッドステートドライブなどを含んでもよい。例示的なリムーバブルストレージは、フラッシュドライブ、フロッピー（登録商標）ディスク、光ディスク、メモリカード、Ｚｉｐディスク、磁気テープなどを含んでもよい。例示的な揮発性読み書きメモリは、ランダムアクセスメモリ（ＲＡＭ）を含んでもよい。例示的なＲＡＭは、ダイナミックＲＡＭ（ＤＲＡＭ）、ダブルデータレート同期ダイナミックＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、サイリスタＲＡＭ（Ｔ−ＲＡＭ）、ゼロキャパシタＲＡＭ（Ｚ−ＲＡＭ）などを含んでもよい。例示的なＲＯＭは、マスクＲＯＭ（ＭＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、コンパクトディスクＲＯＭ（ＣＤ−ＲＯＭ）、及びデジタルバーサタイルディスクＲＯＭなどを含んでもよい。いくつかの実施形態では、記憶装置１５０は、クラウドプラットフォーム上に実装してもよい。単に例として、クラウドプラットフォームは、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散型クラウド、インタークラウド、マルチクラウドなど、又はそれらの任意の組み合わせを含んでもよい。
【００４０】
いくつかの実施形態では、記憶装置１５０は、オンデマンドサービスシステム１００の１つ以上のコンポーネント（例えば、サーバ１１０、１つ以上のユーザ端末など）と通信するためにネットワーク１２０に接続してもよい。オンデマンドサービスシステム１００の１つ以上のコンポーネントは、ネットワーク１２０を介して、記憶装置１５０に記憶されたデータ及び／又は命令にアクセスしてもよい。いくつかの実施形態では、記憶装置１５０は、オンデマンドサービスシステム１００の１つ以上のコンポーネント（例えば、サーバ１１０、１つ以上のユーザ端末など）と直接的に接続又は通信してもよい。いくつかの実施形態では、記憶装置１５０は、サーバ１１０の一部であってもよい。
【００４１】
いくつかの実施形態では、オンデマンドサービスシステム１００の１つ以上のコンポーネント（例えば、サーバ１１０、１つ以上のユーザ端末など）は、記憶装置１５０にアクセスする許可を有してもよい。いくつかの実施形態では、オンデマンドサービスシステム１００の１つ以上のコンポーネントは、１つ以上の条件が満たされたときに、サービス要求者、運転者、及び／又は公衆に関する情報を読み取り及び／又は変更してもよい。例えば、サーバ１１０は、サービス後に１人以上のユーザの情報を読み取り及び／又は変更してもよい。なお、オンデマンドサービスシステム１００は、対象がターゲットジオフェンスに属するか否かを決定し、マーケティングポリシーを決定し、及び／又はセキュリティポリシーを決定するための処理エンジン１１２の適用を例示するための例にすぎない。処理エンジン１１２は、１つ以上の他のシステム（例えば、地理情報システム（ＡｒｃＧＩＳ）、輸送管理システム、対象追跡システムなど）上に実装してもよい。処理エンジン１１２及びオンデマンドサービスシステム１００についての上記説明は、例示のために提供されるものであり、本開示の範囲を限定することを意図するものではない。
【００４２】
図２は、本開示で開示される特定のシステムを実装するように構成された例示的なモバイル装置のブロック図である。いくつかの実施形態では、位置に関連する情報を表示し通信するように構成されたユーザ端末装置は、モバイル装置２００であってもよい。モバイル装置２００は、スマートフォン、タブレットコンピュータ、音楽プレーヤ、携帯ゲーム機、ＧＰＳ受信機、ウェアラブル計算装置（例えば、グラス、ウォッチなど）などを含んでもよいが、これらに限定されない。モバイル装置２００は、１つ以上の中央処理ユニット（ＣＰＵ）２４０、１つ以上のグラフィックス処理ユニット（ＧＰＵ）２３０、ディスプレイ２２０、メモリ２６０、通信ユニット２１０、記憶ユニット２９０、及び１つ以上の入出力（Ｉ／Ｏ）装置２５０を含んでもよい。さらに、モバイル装置２００は、システムバス又はコントローラ（図２には図示せず）を含むがこれらに限定されない任意の他の適切なコンポーネントであってもよい。図２に示すように、モバイルオペレーティングシステム２７０（例えば、ＩＯＳ、Ａｎｄｒｏｉｄ、Ｗｉｎｄｏｗｓ  Ｐｈｏｎｅなど）及び１つ以上のアプリケーション２８０は、記憶ユニット２９０からメモリ２６０にロードされ、ＣＰＵ２４０によって実装してもよい。アプリケーション２８０は、モバイル装置２００においてユーザによって入力されたクエリ（例えば、位置の名称）に関連する情報を受信及び処理するように構成されるブラウザ又は他のモバイルアプリケーションを含んでもよい。乗客／運転者は、システムＩ／Ｏ装置２５０を介して１つ以上の検索結果に関連する情報を取得し、情報をオンデマンドサービスシステム１００のサーバ１１０及び／又は他のモジュール又はユニット（例えば、ネットワーク１２０）に提供してもよい。
【００４３】
上記様々なモジュール、ユニット、及びそれらの機能を実装するために、コンピュータハードウェアプラットフォームは、１つ以上の要素（例えば、図１〜１６に記載されたオンデマンドサービスシステム１００のサーバ１１０及び／又は他の部分）のハードウェアプラットフォームとして使用してもよい。これらのハードウェア要素、オペレーティングシステム、及びプログラム言語は一般的なものであり、当業者は、これらの技術に精通し、かつ本開示に記載された技術に従ってオンデマンドサービスに必要な情報を提供できると想定することができる。ユーザインタフェースを有するコンピュータは、パーソナルコンピュータ（ＰＣ）、又は他のタイプのワークステーション又は端末装置として使用してもよい。適切にプログラムされた後、ユーザインタフェースを有するコンピュータは、サーバとして使用してもよい。当業者がこのタイプのコンピュータ装置のそのような構造、プログラム又は一般的な動作にも精通していると考えられる。したがって、図面についての追加の説明は記載しない。
【００４４】
図３は、本開示のいくつかの実施形態に係る、サーバ１１０、１つ以上のユーザ端末（例えば、１つ以上の乗客端末１３０、運転者端末１４０）が実装できるコンピューティング装置の例示的なハードウェア及びソフトウェアコンポーネントを示すブロック図である。コンピューティング装置３００は、本開示で開示されるサーバ１１０、乗客端末１３０、及び運転者端末１４０の１つ以上の機能を実行するように構成してもよい。例えば、処理エンジン１１２は、コンピューティング装置３００上に実装され、かつ本開示で開示される処理エンジン１１２の機能を実行するように構成してもよい。
【００４５】
コンピューティング装置３００は、汎用コンピュータであっても、専用コンピュータであってもよく、両方とも本開示のためのオンデマンドサービスシステム１００を実装するために使用してもよい。コンピューティング装置３００は、本明細書に記載されたオンデマンドサービスシステム１００の任意のコンポーネントを実装するために使用してもよい。例えば、処理エンジン１１２は、コンピューティング装置３００上にそのハードウェア、ソフトウェアプログラム、ファームウェア又はそれらの組み合わせにより実装してもよい。便宜上、１つのみのこのようなコンピュータを示すが、本明細書に記載される検索サービスに関連するコンピュータ機能は、処理負荷を分散させるために、多くの類似するプラットフォーム上に分散して実装してもよい。
【００４６】
コンピューティング装置３００は、例えば、データ通信を容易にするために、それに接続されたネットワークとの間に接続されたＣＯＭポート３５０を含んでもよい。コンピューティング装置３００はまた、プログラム命令を実行するための、１つ以上のプロセッサの形態のプロセッサ３２０を含んでもよい。例示的なコンピュータプラットフォームは、コンピュータによって処理及び／又は送信される様々なデータファイルのための内部通信バス３１０、ならびにディスク３７０、読取り専用メモリ（ＲＯＭ）３３０又はランダムアクセスメモリ（ＲＡＭ）３４０などの異なる形態のプログラムストレージ及びデータストレージを含んでもよい。例示的なコンピュータプラットフォームはまた、プロセッサ３２０によって実行される、ＲＯＭ３３０、ＲＡＭ３４０、及び／又は他のタイプの非一時的記憶媒体に記憶されたプログラム命令を含んでもよい。本開示の方法及び／又はプロセスは、プログラム命令として実装してもよい。コンピューティング装置３００はまた、コンピュータとその内の他のコンポーネントとの間の入出力をサポートするＩ／Ｏコンポーネント３６０を含んでもよい。コンピューティング装置３００はまた、ネットワーク通信を介してプログラミング及びデータを受信してもよい。
【００４７】
コンピューティング装置３００はまた、ハードディスクと通信するハードディスクコントローラ、キーパッド／キーボードと通信するキーパッド／キーボードコントローラ、シリアル周辺機器と通信するシリアルインタフェースコントローラ、パラレル周辺機器と通信するパラレルインタフェースコントローラ、ディスプレイと通信するディスプレイコントローラなど、又はそれらの任意の組み合わせを含んでもよい。
【００４８】
単なる例として、コンピューティング装置３００内の１つのみのＣＰＵ及び／又はプロセッサが記載されている。しかし、なお、本開示におけるコンピューティング装置３００はまた、複数のＣＰＵ及び／又はプロセッサを含んでもよいため、本開示に記載されるような１つのＣＰＵ及び／又はプロセッサによって実行される動作及び／又は方法ステップも、複数のＣＰＵ及び／又はプロセッサによって共同で又は別々に実行してもよい。例えば、本開示において、コンピューティング装置３００のＣＰＵ及び／又はプロセッサが動作Ａと動作Ｂの両方を実行する場合、動作Ａ及び動作Ｂはまた、コンピューティング装置３００において２つの異なるＣＰＵ及び／又はプロセッサによって共同で又は別々に実行されてもよい（例えば、第１のプロセッサが動作Ａを実行し、第２のプロセッサが動作Ｂを実行するか、又は第１及び第２のプロセッサが共同で動作Ａ及びＢを実行する）ことが理解できるであろう。
【００４９】
図４は、本開示のいくつかの実施形態に係る、例示的な処理エンジン１１２を示すブロック図である。いくつかの実施形態では、処理エンジン１１２は、コンピュータ可読ストレージ（例えば、記憶装置１５０、ユーザ端末（例えば、乗客端末１３０、運転者端末１４０など））と通信してもよく、かつコンピュータ可読記憶媒体に記憶された命令を実行してもよい。処理エンジン１１２は、取得モジュール４０２、グリッド情報決定モジュール４０４、インデックスモジュール４０６、結果決定モジュール４０８、第１のグリッド決定モジュール４１０、及び第２のグリッド決定モジュール４１２を含んでもよい。
【００５０】
取得モジュール４０２は、対象の地理的位置に対応する地理的座標を取得してもよい。対象は、生命を有するか又は有しない、地球上に存在する有機及び／又は無機物の任意の組成物であってもよい。例えば、対象は、オンデマンドサービスシステム１００を使用するサービスプロバイダ（例えば、運転者）又はサービス要求者（例えば、乗客）であってもよい。別の例として、対象は、オンデマンドサービスシステム１００を使用することによって輸送サービスを提供するためのツール（例えば、車両、共有自転車）であってもよい。さらに別の例として、対象は建物であってもよい。いくつかの実施形態では、対象の地理的位置に対応する地理的座標は、対象が位置する位置の経度及び緯度座標を含んでもよい。
【００５１】
いくつかの実施形態では、取得モジュール４０２は、オンデマンドサービスシステム１００の１つ以上のコンポーネントから対象の地理的座標を取得してもよい。いくつかの実施形態では、対象は、測位機能を有する装置に関連付けてもよく、取得モジュール４０２は、装置から地理的座標を取得してもよい。例えば、取得モジュール４０２は、対象に関連付けられた携帯装置（例えば、乗客端末１３０、運転者端末１４０など）に取り付けられたＧＰＳ受信機を介して地理的座標を取得してもよい。取得モジュール４０２は、装置から対象の地理的座標を連続的に又は周期的に取得してもよい。
【００５２】
グリッド情報決定モジュール４０４は、地理的座標に対応するグリッドの情報を決定してもよい。いくつかの実施形態では、グリッド情報決定モジュール４０２は、離散グローバルグリッドシステム（ＤＧＧＳ）を使用することによって、地理的座標に対応するグリッドの情報を決定してもよい。グリッドは、ＤＧＧＳにおける離散グローバルグリッドを指してもよい。グリッドの情報は、グリッドの一意の識別子、グリッドによって表される領域に関連する地理的データなどを含んでもよい。いくつかの実施形態では、グリッド情報決定モジュール４０４は、ＤＧＧＳを構成し、ＤＧＧＳをストレージ（例えば、記憶装置１５０、又はストレージ２９０）に記憶してもよい。ＤＧＧＳに基づいて、グリッド情報決定モジュール４０４は、対象の地理的座標に対応するグリッドＩＤを決定してもよい。
【００５３】
インデックスモジュール４０６は、グリッドの情報に基づいて第１のグリッドデータベースにおいてグリッドをインデックス付けしてもよい。より具体的には、インデックスモジュール４０６は、グリッドＩＤに基づいて第１のグリッドデータベースにおいてグリッドをインデックス付けしてもよい。第１のグリッドデータベースは、第１のグリッドデータベース決定モジュール４１０が確立してもよい。第１のグリッドデータベースは、複数のグリッドに対応するデータを示す第１のデータ構造を含んでもよい。第１のグリッドデータベースでは、複数のグリッドは、ターゲットジオフェンスに関連付けられてもよい。
【００５４】
いくつかの実施形態では、インデックスモジュール４０６は、第１のグリッドデータベースがインデックス付けされたグリッドＩＤを含むか否かを決定してもよい。例えば、インデックスモジュール４０６は、インデックス付けされたグリッドが第１のグリッドデータベースにないことを示す第１の否定的な結果を生成してもよい。別の例として、インデックスモジュール４０６は、インデックス付けされたグリッドが第１のグリッドデータベースにあることを示す第１の肯定的な結果を生成してもよい。インデックス付けされたグリッドが第１のグリッドデータベースにないという第１の否定的な結果に応じて、インデックスモジュール４０６は、第１の否定的な結果を結果決定モジュール４０８に送信してもよい。結果決定モジュール４０８は、対象がターゲットジオフェンスに属さないと決定してもよい。インデックス付けされたグリッドが第１のグリッドデータベースにあるという第１の肯定的な結果に応じて、インデックスモジュール４０６は、グリッドの情報に基づいて第２のグリッドデータベースにおいてグリッドをさらにインデックス付けしてもよい。第２のグリッドデータベースは、第２のグリッドデータベース決定モジュール４１２が確立してもよい。第２のグリッドデータベースは、ターゲットジオフェンスを分割する複数のグリッドのうちの１つ以上の境界グリッドに対応するデータを示す第２のデータ構造を含んでもよい。第２のグリッドデータベースは、境界グリッドＩＤのような、境界グリッドに関連する情報、ローカルジオフェンスＩＤなどを記録する。第２のグリッドデータベースの確立についてのより詳細な説明は、本開示の他の箇所（例えば、図１０及びその説明）に見られる。
【００５５】
インデックスモジュール４０６は、グリッドＩＤに基づいて第２のグリッドデータベースにおいてグリッドをインデックス付けしてもよい。インデックスモジュール４０６は、第２のグリッドデータベースがインデックス付けされたグリッドＩＤを含むか否かを決定してもよい。例えば、インデックスモジュール４０６は、インデックス付けされたグリッドが第２のグリッドデータベースにないことを示す第２の否定的な結果を生成してもよい。別の例として、インデックスモジュール４０６は、インデックス付けされたグリッドが第２のグリッドデータベースにあることを示す第２の肯定的な結果を生成してもよい。インデックスモジュール４０６は、第２の否定的な結果及び／又は第２の肯定的な結果を結果決定モジュール４０８に送信してもよい。インデックス付けされたグリッドが第２のグリッドデータベースにないという第２の否定的な結果に応じて、結果決定モジュール４０８は、対象がターゲットジオフェンスに属すると決定してもよい。インデックス付けされたグリッドが第２のグリッドデータベースにあるという第２の肯定的な結果に応じて、結果決定モジュール４０８は、対象とローカルジオフェンスとの関係に基づいて対象がターゲットジオフェンスに属するか否かを決定してもよい。ローカルジオフェンスは、境界グリッドがターゲットジオフェンスと重なる領域であってもよい。
【００５６】
いくつかの実施形態では、結果決定モジュール４０８は、レイキャスティングアルゴリズムに基づいて対象とローカルジオフェンスとの関係を決定してもよい。例えば、結果決定モジュール４０８は、対象を端点とするレイを決定してもよい。結果決定モジュール４０８は、レイがローカルジオフェンスの奇数の境界を横切る場合に、対象がローカルジオフェンスに属すると決定してもよい。結果決定モジュール４０８は、レイがローカルジオフェンスの偶数の境界を横切る場合に、対象がローカルジオフェンスに属さないと決定してもよい。
【００５７】
いくつかの実施形態では、結果決定モジュール４０８は、回転数アルゴリズムに基づいて対象とローカルジオフェンスとの関係を決定してもよい。結果決定モジュール４０８は、対象及びローカルジオフェンスに関連付けられた回転数を決定してもよい。回転数がゼロに等しくない（又は非ゼロである）場合に、結果決定モジュール４０８は、対象がローカルジオフェンスに属すると決定してもよい。回転数がゼロに等しい場合に、結果決定モジュール４０８は、対象がローカルジオフェンスに属さないと決定してもよい。
【００５８】
第１のグリッドデータベース決定モジュール４１０は、第１のグリッドデータベースを確立してもよい。いくつかの実施形態では、図５に示すように、第１のグリッドデータベース決定モジュール４１０は、ターゲットジオフェンス取得ユニット５０２、グリッド取得ユニット５０４、第１の符号化ユニット５０６、及び第１の書き込みユニット５０８をさらに含んでもよい。ターゲットジオフェンス取得ユニット５０２は、ターゲットジオフェンスを取得してもよい。ターゲットジオフェンスは、都市、地区、郡、コミュニティなどのような関心領域（ＲＯＩ）を示してもよい。グリッド取得ユニット５０４は、ターゲットジオフェンスに対応する複数のグリッドを取得してもよい。例えば、ターゲットジオフェンスは、ＤＧＧＳによって複数のグリッドに分割されてもよい。グリッド取得ユニット５０４は、ＤＧＧＳから複数のグリッドを取得してもよい。複数のグリッドは、１つ以上の内部グリッド及び１つ以上の境界グリッドを含んでもよい。例えば、図９に示す境界グリッド９０４及び内部グリッド９０６のように、内部グリッドは完全にターゲットジオフェンス内にあるのに対し、境界グリッドは完全ではなく部分的にターゲットジオフェンス内にある。第１の符号化ユニット５０６は、複数のグリッドに対応するデータを第１のデータ構造に符号化してもよい。第１のデータ構造は、複数のグリッドの識別子、グリッドの複数の頂点の座標など、又はそれらの任意の組み合わせを含んでもよい。第１のデータ構造は、Ｂ−ツリー構造、Ｂ＋ツリー構造、ハッシュテーブル、リンクリストなどのような様々なものであってもよい。第１の書き込みユニット５０８は、第１のグリッドデータベースを確立するために、符号化されたデータを少なくとも１つの非一時的記憶媒体に書き込んでもよい。例えば、少なくとも１つの非一時的記憶媒体は、オンデマンドサービスシステム１００の記憶装置１５０及び／又はストレージ２９０を含んでもよい。別の例として、少なくとも１つの非一時的記憶媒体は、オンデマンドサービスシステム１００とは別個の外部記憶装置を含んでもよい。第１のグリッドデータベースの確立についてのより詳細な説明は、本開示の他の箇所（例えば、図８及びその説明）に見られる。
【００５９】
第２のグリッドデータベース決定モジュール４１２は、第２のグリッドデータベースを確立してもよい。いくつかの実施形態では、図６に示されるように、第２のグリッドデータベース決定モジュール４１２は、境界グリッド取得ユニット６０２、ローカルジオフェンス決定ユニット６０４、第２の符号化ユニット６０６、及び第２の書き込みユニット６０８をさらに含んでもよい。境界グリッド取得ユニット６０２は、ターゲットジオフェンスに対応する複数のグリッドから１つ以上の境界グリッドを取得してもよい。例えば、グリッド取得ユニット５０４は、ターゲットジオフェンスに対応する複数のグリッドを取得してもよい。複数のグリッドは、１つ以上の内部グリッド及び１つ以上の境界グリッドを含んでもよい。境界グリッド取得ユニット６０２は、さらにグリッド取得ユニット５０４から１つ以上の境界グリッドを取得してもよい。ローカルジオフェンス決定ユニット６０４は、１つ以上の境界グリッド及びターゲットジオフェンスに基づいて１つ以上のローカルジオフェンスを決定してもよい。例えば、１つ以上の境界グリッドのそれぞれについて、ローカルジオフェンス決定ユニット６０４は、境界グリッドに対応する第１のリンクリスト、例えば境界グリッド１２０２（図１２に示す）に対応する第１のリンクリスト１３０２（図１３に示す）を決定してもよい。ローカルジオフェンス決定ユニット６０４は、ターゲットジオフェンス１２０４（図１２に示す）に対応する第２のリンクリスト１３０４（図１３に示す）を決定してもよい。第１のリンクリスト又は第２のリンクリストのいずれかは、複数のノードを含んでもよい。ノードは、少なくとも１つのデータ要素、例えば、境界グリッド又はターゲットジオフェンスの、番号付けされた頂点を含んでもよい。いくつかの実施形態では、第１のリンクリスト及び第２のリンクリストは、循環二重リンクリストであってもよい。ローカルジオフェンス決定ユニット６０４は、境界グリッドとターゲットジオフェンスとの１つ以上の交点を決定してもよい。ローカルジオフェンス決定ユニット６０４は、１つ以上の交点に基づいて第１のリンクリスト及び第２のリンクリストを更新してもよい。ローカルジオフェンス決定ユニット６０４は、更新された第１のリンクリスト及び更新された第２のリンクリストに基づいて１つ以上のローカルジオフェンスを決定してもよい。１つ以上のローカルジオフェンスの決定についてのより詳細な説明は、本開示の他の箇所（例えば、図１１及びその説明）に見られる。
【００６０】
第２の符号化ユニット６０６は、１つ以上の境界グリッド及び１つ以上のローカルジオフェンスに対応するデータを第２のデータ構造に符号化してもよい。第２のデータ構造は、１つ以上の境界グリッドの識別子、１つ以上のローカルジオフェンスの識別子、１つ以上の境界グリッドのそれぞれの頂点の座標、１つ以上のローカルジオフェンスのそれぞれの頂点の座標など、又はそれらの任意の組み合わせを含んでもよい。第２のデータ構造は、Ｂ−ツリー構造、Ｂ＋ツリー構造、ハッシュテーブル、リンクリストなどのような様々なものであってもよい。
【００６１】
第２の書き込みユニット６０８は、第２のグリッドデータベースを確立するために、符号化されたデータを少なくとも１つの非一時的記憶媒体に書き込んでもよい。例えば、少なくとも１つの非一時的記憶媒体は、オンデマンドサービスシステム１００の記憶装置１５０及び／又はストレージ２９０を含んでもよい。別の例として、少なくとも１つの非一時的記憶媒体は、オンデマンドサービスシステム１００とは別個の外部記憶装置を含んでもよい。
【００６２】
なお、処理エンジン１１２についての上記説明は、例示の目的のために提供されるものであり、本開示の範囲を限定することを意図するものではない。当業者であれば、本開示の教示下で複数の変形及び修正を行うことができる。しかしながら、これらの変形及び修正は、本開示の範囲から逸脱するものではない。いくつかの実施形態では、処理エンジン１１２は、１つ以上の他のモジュールを含んでもよい。例えば、処理エンジン１１２は、処理エンジン１１２内のモジュールによって生成されたデータを記憶するための記憶モジュールを含んでもよい。いくつかの実施形態では、モジュールのうちのいずれか２つは単一のモジュールとして組み合わせられてもよく、モジュールのうちのいずれか１つは２つ以上のユニットに分割されてもよい。
【００６３】
図７は、本開示のいくつかの実施形態に係る、対象がターゲットジオフェンスに属するか否かを決定するための例示的なプロセスのフローチャートである。いくつかの実施形態では、対象がターゲットジオフェンスに属するか否かを決定するためのプロセス７００は、図１に示されるようなオンデマンドサービスシステム１００において実装してもよい。例えば、プロセス７００は、ユーザ端末（例えば、乗客端末１３０、運転者端末１４０）及び／又はサーバ１１０において実装してもよい。プロセス７００はまた、記憶装置１５０に記憶され、かつ処理エンジン１１２によって呼び出され及び／又は実行される１つ以上の命令として実装されてもよい。以下に提示される図示のプロセスの動作は、例示を意図するものである。いくつかの実施形態では、プロセス７００は、説明されていない１つ以上の追加の動作を用いて、及び／又は論じられている動作のうちの１つ以上を除いて、達成することができる。さらに、図７に示される以下で説明されるプロセス７００の動作の順序は、限定を意図するものではない。
【００６４】
７０２において、プロセッサ（例えば、処理エンジン１１２の取得モジュール４０２）は、対象の地理的位置に対応する地理的座標を取得してもよい。対象は、生命を有するか又は有しない、地球上に存在する有機及び／又は無機物の任意の組成物であってもよい。例えば、対象は、オンデマンドサービスシステム１００を使用するサービスプロバイダ（例えば、運転者）又はサービス要求者（例えば、乗客）であってもよい。別の例として、対象は、オンデマンドサービスシステム１００を使用することによって輸送サービスを提供するためのツール（例えば、車両、共有自転車）であってもよい。さらに別の例として、対象は建物であってもよい。いくつかの実施形態では、対象の地理的位置に対応する地理的座標は、対象が位置する位置の経度及び緯度座標を含んでもよい。
【００６５】
いくつかの実施形態では、プロセッサは、オンデマンドサービスシステム１００の１つ以上のコンポーネントから対象の地理的座標を取得してもよい。いくつかの実施形態では、対象は、測位機能を有する装置に関連付けてもよく、プロセッサは、装置から地理的座標を取得してもよい。例えば、取得モジュール４０２は、対象に関連付けられた携帯装置（例えば、乗客端末１３０、運転者端末１４０など）に取り付けられたＧＰＳ受信機を介して地理的座標を取得してもよい。プロセッサは、装置から対象の地理的座標を連続的に又は周期的に取得してもよい。追加又は代替として、測位機能を有する装置は、対象の地理的座標を、ネットワーク１２０を介して連続的に又は周期的にストレージ（例えば、記憶装置１５０、ストレージ２９０）に送信してもよい。プロセッサは、ストレージにアクセスし、かつ対象の１つ以上の地理的座標を異なる時点で検索してもよい。
【００６６】
７０４において、プロセッサ（例えば、処理エンジン１１２のグリッド情報決定モジュール４０４）は、地理的座標に対応するグリッドの情報を決定してもよい。
【００６７】
いくつかの実施形態では、プロセッサは、離散グローバルグリッドシステム（ＤＧＧＳ）を使用することによって、地理的座標に対応するグリッドの情報を決定してもよい。いくつかの実施形態では、グリッドは、ＤＧＧＳにおける離散グローバルグリッドを指してもよい。グリッドの情報は、グリッドの一意の識別子、グリッドによって表される領域に関連する地理的データなどを含んでもよい。ＤＧＧＳは、地球の表面をモデリングするために使用してもよい。当業者にとって、ＤＧＧＳは一連の離散グローバルグリッドを含む。各離散グローバルグリッドは、地球の表面のパーティション／領域を表してもよい。離散グローバルグリッドは、地理空間データ構造を構築するための幾何学的基礎として使用してもよい。ＤＧＧＳでは、離散グローバルグリッドに一意の識別子（ＩＤ）を割り当ててもよい。離散グローバルグリッドＩＤは、グリッドによって表される領域に関連する地理的データを示してもよい。
【００６８】
いくつかの実施形態では、プロセッサは、ＤＧＧＳを構築し、かつＤＧＧＳをストレージ（例えば、記憶装置１５０、又はストレージ２９０）に記憶してもよい。例えば、プロセッサは、地球を多面体としてモデリングしてもよい。地球を表す多面体は、四面体、立方体、八面体、二十面体、十二面体などのような任意の形状を有してもよい。いくつかの実施形態では、地球を表す多面体は、実質的に同じサイズ及び形状を有する８つの面を有する八面体であってよい。八面体は、６つの頂点を有する。地理的座標系における６つの頂点の経度及び緯度座標は、（０，９０）、（０，−９０）、（０，０）、（９０，０）、（−９０，０）、及び（１８０，０）であってよい。八面体は、地球の表面の８つの等しい部分に対応する８つの面を有する。８つの面のそれぞれは、地球の表面の８つの等しい部分のうち１つを表してもよい。いくつかの実施形態では、プロセッサは、多面体の各面を複数のグリッド（又はセル）に分割してもよい。各グリッドは、六角形、菱形、正方形、長方形、三角形などのような形状を有する。いくつかの実施形態では、複数のグリッドは、同じサイズ及び形状で構成されてよい。いくつかの実施形態では、複数のグリッドは、異なるサイズ及び形状で構成されてもよい。好ましい実施形態では、複数のグリッドのうち、各グリッドは同じ正六角形の形状を有してもよい。
【００６９】
いくつかの実施形態では、プロセッサは、複数のグリッドのためのリファインメント動作を実行してもよい。リファインメント動作は、比較的高い解像度を有する複数のグリッドを提供するために、多面体（例えば、八面体）の１つ以上の面をリファインするために使用してもよい。プロセッサは、複数のグリッドのそれぞれに一意の識別子を割り当ててもよい。ＤＧＧＳは、グローバルに一意のグリッド／セルインデックスを含んでもよい。ＤＧＧＳに基づいて、プロセッサは、対象の地理的座標に対応するグリッドＩＤを決定してもよい。
【００７０】
いくつかの実施形態では、プロセッサは、地理的座標に基づいて多面体の対応する面上の対象の地理的位置の第１の投影座標を決定してもよい。例えば、プロセッサは、地理的座標を球面座標に変換してもよい。プロセッサは、球面座標をデカルト座標に変換してもよい。プロセッサは、デカルト座標を第１の投影座標に変換してもよい。いくつかの実施形態では、プロセッサは、対象の地理的位置の第１の投影座標に最も近い対象中心点を決定してもよい。プロセッサは、多面体の対応する面上の対象中心点の投影座標に基づいて、対象に関連付けられたグリッドＩＤを決定してもよい。グリッドＩＤは、ＯＬ２Ｆ０ｉ１２３４ｊ５６７８のような文字列として形成してもよい。グリッドＩＤは、ＤＧＧＳにおける対象に関連する情報を示してもよい。グリッドＩＤ「ＯＬ２Ｆ０ｉ１２３４ｊ５６７８」を例とすると、「Ｏ」は多面体が八面体であることを指し、「Ｌ２」はリファインメントレベルが２であることを指し、「Ｆ０」は八面体の対応する面の識別子が０であることを指し、「ｉ１２３４ｊ５６７８」は対象中心点の投影座標が（１２．３４，５６．７８）であることを指す。ＤＧＧＳの構築及び／又はＤＧＧＳにおける対象に関連するグリッドＩＤの決定に関する実施形態についてのより詳細な説明は、例えば、その内容が参照により本明細書に組み込まれる国際出願ＰＣＴ／ＣＮ２０１８／０９００３４に見られる。
【００７１】
いくつかの実施形態では、プロセッサは、ＰＹＸＩＳ  ＤＩＧＩＴＡＬ  ＥＡＲＴＨ  ＤＧＧＳのような商業ＤＧＧＳを使用することによってグリッドＩＤを決定してもよい。例えば、グリッド情報決定モジュール４０４は、オンデマンドサービスシステム１００及びＤＧＧＳに接続されたアプリケーションプログラムインタフェース（ＡＰＩ）によってＤＧＧＳを呼び出してもよい。地理的座標は、ＤＧＧＳに入力され、グリッド情報決定モジュール４０４は、地理的座標に対応するグリッドＩＤを取得してもよい。
【００７２】
７０６において、プロセッサ（例えば、処理エンジン１１２のインデックスモジュール４０６）は、グリッドの情報に基づいて第１のグリッドデータベースにおいてグリッドをインデックス付けしてもよい。より具体的には、プロセッサは、グリッドＩＤに基づいて第１のグリッドデータベースにおいてグリッドをインデックス付けしてもよい。プロセッサは、第１のグリッドデータベースがインデックス付けされたグリッドＩＤを含むか否かを決定してもよい。例えば、インデックスモジュール４０６は、インデックス付けされたグリッドが第１のグリッドデータベースにないことを示す第１の否定的な結果を生成してもよい。別の例として、インデックスモジュール４０６は、インデックス付けされたグリッドが第１のグリッドデータベースにあることを示す第１の肯定的な結果を生成してもよい。
【００７３】
いくつかの実施形態では、第１のグリッドデータベースは、オンデマンドサービスシステム１００のストレージ（例えば、記憶装置１５０、又はストレージ２９０）に記憶してもよい。いくつかの実施形態では、第１のグリッドデータベースは、オンデマンドサービスシステム１００とは別個の外部ストレージに記憶してもよい。インデックスモジュール４０６は、第１のグリッドデータベースにアクセスして、グリッドをインデックス付けしてもよい。
【００７４】
第１のグリッドデータベースは、複数のグリッドに対応するデータを示す第１のデータ構造を含んでもよい。第１のグリッドデータベースでは、複数のグリッドは、ターゲットジオフェンスに関連付けてもよい。当業者にとって、ジオフェンスは、実世界の地理的エリアについての仮想境界であってもよい。ジオフェンスは、特定の地理的エリアに対応してもよい。ジオフェンスは、動的に生成してもよい。例えば、ジオフェンスは、点位置を中心とする半径内にある領域である。別の例として、ジオフェンスは、（スクールゾーン又は近隣境界などの）予め定義された境界の集合である。いくつかの実施形態では、ターゲットジオフェンスは、都市、地区、郡、コミュニティなどのような関心領域（ＲＯＩ）を示してもよい。ＤＧＧＳでは、ターゲットジオフェンスは、複数の正六角形グリッドに分割してもよい。複数の正六角形グリッドは、１つ以上の内部グリッド及び１つ以上の境界グリッドを含んでもよい。内部グリッドは完全にターゲットジオフェンス内にあるのに対し、境界グリッドは完全ではなく部分的にターゲットジオフェンス内にある。図９に示すように、多角形領域をターゲットジオフェンス９０２とすると、ターゲットジオフェンス９０２は、１つの内部グリッド９０６及び複数の境界グリッド９０４を含む複数のグリッドに分割してもよい。第１のグリッドデータベースの確立についてのより詳細な説明は、本開示の他の箇所（例えば、図８及びその説明）に見られる。
【００７５】
インデックス付けされたグリッドが第１のグリッドデータベースにないという第１の否定的な結果に応じて、プロセッサは、動作７１２に進んでもよい。プロセッサ（例えば、処理エンジン１１２の結果決定モジュール４０８）は、対象がターゲットジオフェンスに属さないと決定してもよい。
【００７６】
インデックス付けされたグリッドが第１のグリッドデータベースにあるという第１の肯定的な結果に応じて、プロセッサは、動作７０８に進んでもよい。７０８において、プロセッサ（例えば、処理エンジン１１２のインデックスモジュール４０６）は、グリッドの情報に基づいて第２のグリッドデータベースにおいてグリッドをインデックス付けしてもよい。より具体的には、プロセッサは、グリッドＩＤに基づいて第２のグリッドデータベースにおいてグリッドをインデックス付けしてもよい。プロセッサは、第２のグリッドデータベースがインデックス付けされたグリッドＩＤを含むか否かを決定してもよい。例えば、インデックスモジュール４０６は、インデックス付けされたグリッドが第２のグリッドデータベースにないことを示す第２の否定的な結果を生成してもよい。別の例として、インデックスモジュール４０６は、インデックス付けされたグリッドが第２のグリッドデータベースにあることを示す第２の肯定的な結果を生成してもよい。
【００７７】
いくつかの実施形態では、第２のグリッドデータベースは、オンデマンドサービスシステム１００のストレージ（例えば、記憶装置１５０、又はストレージ２９０）に記憶してもよい。いくつかの実施形態では、第２のグリッドデータベースは、オンデマンドサービスシステム１００とは別個の外部ストレージに記憶してもよい。インデックスモジュール４０６は、第２のグリッドデータベースにアクセスして、グリッドをインデックス付けしてもよい。
【００７８】
第２のグリッドデータベースは、ターゲットジオフェンスを分割する複数のグリッドのうちの１つ以上の境界グリッドに対応するデータを示す第２のデータ構造を含んでもよい。図９に示すように、ターゲットジオフェンス９０２は、１つの内部グリッド９０６及び複数の境界グリッド９０４を含む複数のグリッドに分割してもよい。第２のグリッドデータベースは、境界グリッドＩＤのような、境界グリッドに関連する情報、ローカルジオフェンスＩＤなどを記録する。第２のグリッドデータベースの確立についてのより詳細な説明は、本開示の他の箇所（例えば、図１０及びその説明）に見られる。
【００７９】
インデックス付けされたグリッドが第２のグリッドデータベースにないという第２の否定的な結果に応じて、プロセッサは、動作７１４に進んでもよい。プロセッサ（例えば、処理エンジン１１２の結果決定モジュール４０８）は、対象がターゲットジオフェンスに属すると決定してもよい。言い換えると、対象は、ターゲットジオフェンスの１つの内部グリッドに対応する領域にあるとしてもよい。
【００８０】
インデックス付けされたグリッドが第２のグリッドデータベースにあるという第２の肯定的な結果に応じて、プロセッサは、動作７１０に進んでもよい。７１０において、プロセッサ（例えば、処理エンジン１１２の結果決定モジュール４０８）は、対象とローカルジオフェンスとの関係に基づいて対象がターゲットジオフェンスに属するか否かを決定してもよい。ローカルジオフェンスは、境界グリッドがターゲットジオフェンスと重なる領域を指してもよい。例えば、図１２に示すように、三角形ＡＢＣを境界グリッド１２０２とし、正方形１２３４をターゲットジオフェンス１２０４とすると、多角形領域ＮＡＢＭは、境界グリッド１２０２がターゲットジオフェンス１２０４と重なるローカルジオフェンスとして指定してもよい。別の例として、図１４に示すように、境界グリッド１４０２がターゲットジオフェンス１４０４と重なって、ローカルジオフェンス１４０６及び１４０８（すなわち、図１４のｃに示される暗いエリア）を形成する。
【００８１】
対象は、特定の境界グリッド内、例えば、第２のグリッドデータベースにおける対象に対応するグリッドＩＤにあるが、対象は必ずしも該特定の境界グリッドを含むターゲットジオフェンスに属するとは限らない。境界グリッドの少なくとも一部分はターゲットジオフェンス内にあるのに対し、境界グリッドの他の部分はターゲットジオフェンス内にないことが理解できるであろう。ターゲットジオフェンス内にある境界グリッドの少なくとも一部分は、少なくとも１つのローカルジオフェンスとして指定される。対象がローカルジオフェンス内にある場合、対象はターゲットジオフェンスに属するとしてもよい。そうではなく、対象がローカルジオフェンス内にない場合、対象はターゲットジオフェンスに属さないとしてもよい。したがって、対象がターゲットジオフェンスに属するか否かを決定するために、プロセッサは、対象とローカルジオフェンスとの関係を決定する必要がある場合がある。
【００８２】
いくつかの実施形態では、第２のグリッドデータベースは、ローカルジオフェンスＩＤ、ローカルジオフェンスの頂点の座標などのような、１つ以上のローカルジオフェンスに関連する情報を含んでもよい。プロセッサは、第２のグリッドデータベースを検索することにより、対象に関連付けられた境界グリッドに含まれる１つ以上のローカルジオフェンスを決定してもよい。プロセッサは、対象と、１つ以上のローカルジオフェンスのそれぞれとの関係を決定してもよい。例えば、対象が境界グリッドＡ内にあると仮定すると、結果決定モジュール４０８は、第２のグリッドデータベースに基づいて、境界グリッドＡが２つのローカルジオフェンスＬ１、Ｌ２を含むと決定してもよい。２つのローカルジオフェンスのそれぞれについて、プロセッサは、対象とローカルジオフェンスとの関係を決定してもよい。
【００８３】
いくつかの実施形態では、プロセッサは、レイキャスティングアルゴリズムに基づいて対象とローカルジオフェンスとの関係を決定してもよい。より具体的には、対象を所与の点に抽象化してもよい。結果決定モジュール４０８は、対象を端点とするレイを決定してもよい。レイの方向は、多角形の形状を有するローカルジオフェンスの境界を指し示してもよい。例えば、レイの方向は、多角形ローカルジオフェンスの境界（例えば、レイの端点から最も近い境界）に垂直であってもよい。いくつかの実施形態では、プロセッサは、レイがローカルジオフェンスの３、５、７などのような奇数の境界を横切る場合に、対象がローカルジオフェンスに属すると決定してもよい。プロセッサは、レイがローカルジオフェンスの２、４、６などのような偶数の境界を横切る場合に、対象がローカルジオフェンスに属さないと決定してもよい。
【００８４】
単なる例として、図１５は、対象がローカルジオフェンスに属さないという関係を示す概略図であり、図１６は、対象がローカルジオフェンスに属するという関係を示す概略図である。図１５に示すように、多角形領域１５０２はローカルジオフェンスを表し、点１５０４は対象を表し、レイ１５０６は点１５０４を端点とするレイである。対象は、ローカルジオフェンスの領域の外側にある。この場合、レイ１５０６は、ローカルジオフェンス１５０２の４つの境界を横切り、それに応じて、交点１５０８のような、レイ１５０６と境界との４つの交点が生成される。対象を端点とするレイがローカルジオフェンスの偶数の境界を横切る場合に対象がローカルジオフェンスに属さないことが示される。図１６に示すように、多角形領域１６０２はローカルジオフェンスを表し、点１６０４は対象を表し、レイ１６０６は点１６０４を端点とするレイである。対象は、ローカルジオフェンスの領域内にある。この場合、レイ１６０６は、ローカルジオフェンス１６０２の５つの境界を横切り、それに応じて、交点１６０８のような、レイ１６０６と境界との５つの交点が生成される。対象を端点とするレイがローカルジオフェンスの奇数の境界を横切る場合に対象がローカルジオフェンスに属することが示される。いくつかの実施形態では、対象を端点とするレイがローカルジオフェンスの１つの境界を横切る場合、対象はローカルジオフェンスの境界にあり、すなわち、対象がローカルジオフェンスに属する場合がある。
【００８５】
いくつかの実施形態では、プロセッサは、回転数アルゴリズムに基づいて対象とローカルジオフェンスとの関係を決定してもよい。多角形では、回転数とは、多角形境界が所与の点の周りを周った回数を指す。回転数は、多角形境界が所与の点を周る方向に依存する。例えば、方向が反時計回りである場合、回転数は正である。方向が時計回りである場合、回転数は負である。回転数アルゴリズムに基づいて、プロセッサは、対象及びローカルジオフェンスに関連付けられた回転数を決定してもよい。例えば、対象は所与の点に抽象化され、ローカルジオフェンスは多角形であり、結果決定モジュール４０８は、連続する多角形の頂点と所与の点とで形成される全ての角度を決定し、多角形の各境界（又はエッジ）によって定められる全ての角度を合計することによって回転数を決定してもよい。回転数がゼロに等しくない（又は非ゼロである）場合に、プロセッサは、対象がローカルジオフェンスに属すると決定してもよい。回転数がゼロに等しい場合に、プロセッサは、対象がローカルジオフェンスに属さないと決定してもよい。
【００８６】
いくつかの実施形態では、対象がターゲットジオフェンスに属するという決定に応じて、プロセッサは、対象（例えば、サービス要求者又はサービスプロバイダ）のためにマーケティングポリシーをカスタマイズしてもよい。例えば、プロセッサはサービスプロバイダ及び／又はサービス要求者がＤＧＧＳによって予め定義されたターゲットジオフェンス内にいることが監視され、例えば予め定義されたターゲットジオフェンスは北京市の海淀区に対応する場合、プロセッサは、サービス要求者端末及び／又はサービスプロバイダ端末上に広告情報を表示するための命令を送信してもよい。広告情報は、メッセージ、画像、ビデオ、又はオーディオなどの様々な形態で表示してもよい。いくつかの実施形態では、広告情報は、オンデマンドサービスに関連付けられた価格設定ポリシー及び／又は優遇ポリシーを含んでもよい。例えば、ターゲットジオフェンスに対応する領域に大量のサービス要求がある場合、オンデマンドサービスのためのサービス賞がより高く調整し、より多くのサービスプロバイダにオンデマンドサービスを提供するように促すことができる。プロセッサは、サービス賞を含む広告情報をターゲットジオフェンス内のサービスプロバイダに送信してもよい。別の例として、サードパーティビジネスは特定の領域内のサービス要求者又はサービスプロバイダに対象広告を送信することを望んでいると仮定すると、特定の領域をターゲットジオフェンスとして予め定義してもよく、プロセッサは、ターゲットジオフェンスの領域内のサービス要求者又はサービスプロバイダを監視してもよい。ターゲットジオフェンスの領域内にサービス要求者又はサービスプロバイダが出現すると、プロセッサは、サードパーティビジネスの広告情報をサービス要求者又はサービスプロバイダに送信してもよい。
【００８７】
いくつかの実施形態では、対象がターゲットジオフェンスに属するという決定に応じて、プロセッサは、対象（例えば、サービス要求者又はサービスプロバイダ）のためにセキュリティポリシーをカスタマイズしてもよい。自動車ヘイリングサービスなどの輸送サービスの場合、乗車位置及び降車位置がオンデマンドサービスシステム１００によって取得してもよく、降車位置を含むターゲットジオフェンスを予め定義してもよい。到着予定時刻（ＥＴＡ）の後に、プロセッサはサービスプロバイダがターゲットジオフェンスの領域内にいないか又はターゲットジオフェンスの領域から離れることを監視する場合、プロセッサは、サービス要求者にセキュリティ警告を送信してもよい。
【００８８】
いくつかの実施形態では、プロセッサは、プロセス７００に関連してオンデマンドサービスプラットフォームのサービス容量を決定してもよい。単なる例として、プロセッサは、複数のサービスプロバイダの地理的座標を取得してもよい。プロセッサは、ＤＧＧＳを使用することにより、地理的座標に対応するグリッドの情報（例えば、グリッドＩＤ）を決定してもよい。グリッドＩＤのそれぞれについて、プロセッサは、第１のグリッドデータベースにおいてグリッドＩＤをインデックス付けしてもよい。第１のデータベースは、ターゲットジオフェンスを分割する全てのグリッドを記録してもよい。プロセッサは、第１のグリッドデータベースに含まれる第１のグリッドＩＤを識別してもよい。プロセッサは、第２のグリッドデータベースにおいて各第１のグリッドＩＤをインデックス付けしてもよい。第２のグリッドデータベースは、ターゲットジオフェンスを分割する全てのグリッドの１つ以上の境界グリッドを記録してもよい。プロセッサは、第２のグリッドデータベースに含まれない第２のグリッドＩＤを決定してもよい。第２のグリッドＩＤに対応するサービスプロバイダの数を計数してもよい。プロセッサは、第２のグリッドデータベースに含まれる第３のグリッドＩＤを決定してもよい。第３のグリッドＩＤのそれぞれに関連付けられた少なくとも１つのローカルジオフェンスに対して、プロセッサは、少なくとも１つのローカルジオフェンスに属するサービスプロバイダを決定してもよい。プロセッサは、第２のグリッドＩＤに対応するサービスプロバイダの数と少なくとも１つのローカルジオフェンスに属するサービスプロバイダの数に基づいてターゲットジオフェンスの領域内のサービスプロバイダの総数を決定してもよい。プロセッサは、決定された総数に基づいて、ターゲットジオフェンスの領域におけるサービス容量をさらに決定してもよい。いくつかの実施形態では、プロセッサは、サービス容量を地図上に表示してもよい。いくつかの実施形態では、プロセッサは、サービス容量に基づいてスケジューリングポリシーを決定してもよい。例えば、サービス容量がターゲットジオフェンスの領域における閾値よりも低い場合、プロセッサは、ターゲットジオフェンスの領域へより多くのサービスプロバイダをスケジュールしてもよい。
【００８９】
なお、上記説明は、例示の目的のために提供されるものに過ぎず、本開示の範囲を限定することを意図するものではない。当業者であれば、本開示の教示下で複数の変形及び修正を行うことができる。例えば、第１のグリッドデータベースと第２のグリッドデータベースは、それぞれ異なるストレージに記憶してもよい。別の例として、第１のグリッドデータベースと第２のグリッドデータベースは、同じストレージ（例えば、記憶装置１５０又はストレージ２９０）に記憶されてもよい。しかしながら、これらの変形及び修正は、本開示の範囲から逸脱するものではない。
【００９０】
図８は、本開示のいくつかの実施形態に係る、第１のグリッドデータベースを確立するための例示的なプロセスのフローチャートである。いくつかの実施形態では、第１のグリッドデータベースを決定するためのプロセス８００は、図１に示されるようなオンデマンドサービスシステム１００において実装してもよい。例えば、プロセス８００は、ユーザ端末（例えば、乗客端末１３０、運転者端末１４０）及び／又はサーバ１１０において実装してもよい。プロセス８００はまた、記憶装置１５０に記憶され、かつ処理エンジン１１２によって呼び出され及び／又は実行される１つ以上の命令として実装されてもよい。以下に提示される図示のプロセスの動作は、例示を意図するものである。いくつかの実施形態では、プロセス８００は、説明されていない１つ以上の追加の動作を用いて、及び／又は論じられている動作のうちの１つ以上を除いて、達成してもよい。さらに、図８に示され、以下で説明されるプロセス８００の動作の順序は、限定を意図するものではない。
【００９１】
８０２において、プロセッサ（例えば、第１のグリッド決定モジュール４１０のターゲットジオフェンス取得ユニット５０２）は、ターゲットジオフェンスを取得してもよい。ターゲットジオフェンスは、都市、地区、郡、コミュニティなどのような関心領域（ＲＯＩ）を示してもよい。
【００９２】
いくつかの実施形態では、ターゲットジオフェンスは、オンデマンドサービスシステム１００により構築してもよい。例えば、オンデマンドサービスシステム１００のユーザは、特定の地理的エリア（例えば、北京市の海淀区）をＲＯＩとして指定し、かつＲＯＩに対応するターゲットジオフェンスを構築してもよい。一般的に、地理的エリアは多角形などの不規則な形状を有するため、ターゲットジオフェンスはそれに応じて不規則な形状を有してもよい。なお、ターゲットジオフェンスの形状は、対応するＲＯＩの形状に応じて、不規則な形状又は規則的な形状などの様々なものであってもよい。
【００９３】
８０４において、プロセッサ（例えば、第１のグリッド決定モジュール４１０のグリッド取得ユニット５０４）は、ターゲットジオフェンスに対応する複数のグリッドを取得してもよい。例えば、グリッド取得ユニット５０４は、オンデマンドサービスプラットフォーム上に実装されたＤＧＧＳから複数のグリッドを取得してもよい。
【００９４】
いくつかの実施形態では、ターゲットジオフェンスは、ＤＧＧＳによって複数のグリッドに分割されてもよい。複数のグリッドのそれぞれは、離散グローバルグリッド（又はセル）であってもよい。複数のグリッドのそれぞれは、複数の頂点を有する多角形を含んでもよい。本明細書において、図９に示されるグリッド９０４及び９０６又は図１４に示されるグリッド１４０２のように、各グリッドは、正六角形の同じ形状を有してもよい。しかしながら、いくつかの実施形態では、グリッドの形状は、三角形、正方形、長方形などのような様々なものであってよい。複数のグリッドは、同じサイズ及び形状で構成してもよい。複数のグリッドはまた、異なるサイズ及び形状で構成されてもよい。
【００９５】
いくつかの実施形態では、複数のグリッドは、１つ以上の内部グリッド及び１つ以上の境界グリッドを含んでもよい。図９に示される内部グリッド９０６のように、内部グリッドの全体がターゲットジオフェンスに含まれてもよい。図９に示される境界グリッド９０４のように、境界グリッドの少なくとも一部分がターゲットジオフェンスに含まれてもよい。本明細書において、ターゲットジオフェンスに含まれる境界グリッドの少なくとも一部分は、ローカルジオフェンスを構成するために使用してもよい。
【００９６】
単なる例として、図９は、本開示のいくつかの実施形態に係る、ターゲットジオフェンスと１つ以上のグリッドとの関係を示す概略図である。図９に示すように、プロセッサは、ＲＯＩ（すなわち、太線多角形）をターゲットジオフェンス９０２として指定してもよい。ＤＧＧＳによれば、ターゲットジオフェンス９０２は、７つの境界グリッド及び１つの内部グリッド９０６を含む８つの六角形グリッドに分割される。境界グリッド９０４は、７つの境界グリッドのうちの１つを表す。
【００９７】
８０６において、プロセッサ（例えば、第１のグリッド決定モジュール４１０の第１の符号化ユニット５０６）は、複数のグリッドに対応するデータを第１のデータ構造に符号化してもよい。第１のデータ構造は、複数のグリッドの識別子、複数の頂点の座標など、又はそれらの任意の組み合わせを含んでもよい。いくつかの実施形態では、第１のデータ構造は、キー値の形であってよい。キーは、グリッドＩＤを示してもよい。キーは１つ以上の値を指し示してもよい。値は、グリッドＩＤに対応するグリッドの頂点の座標を示してもよい。いくつかの実施形態では、座標は、複数の頂点のそれぞれの緯度及び経度座標を示してもよい。単なる例として、第１の符号化ユニット５０６は、ＭＤ５メッセージダイジェストアルゴリズムに基づいて、複数のグリッドのそれぞれについて一意の識別子（又はＩＤ）を生成してもよい。グリッドＩＤは、グリッドＩＤに対応するグリッドの座標を指し示してもよい。第１のデータ構造は、Ｂ−ツリー構造、Ｂ＋ツリー構造、ハッシュテーブル、リンクリストなどのような様々なものであってもよいことが理解できるであろう。そのような変形は、本開示の範囲内にあり得る。
【００９８】
８０８において、プロセッサ（例えば、第１のグリッド決定モジュール４１０の第１の書き込みユニット５０８）は、第１のグリッドデータベースを確立するために、符号化されたデータを少なくとも１つの非一時的記憶媒体に書き込んでもよい。例えば、少なくとも１つの非一時的記憶媒体は、オンデマンドサービスシステム１００の記憶装置１５０及び／又はストレージ２９０を含んでもよい。別の例として、少なくとも１つの非一時的記憶媒体は、オンデマンドサービスシステム１００とは別個の外部記憶装置を含んでもよい。
【００９９】
なお、上記説明は、例示の目的のために提供されるものに過ぎず、本開示の範囲を限定することを意図するものではない。当業者であれば、本開示の教示下で複数の変形及び修正を行うことができる。例えば、第１のグリッドデータベースは、さらに、オンデマンドサービスシステム１００とは別個の外部記憶媒体に記憶されてもよい。別の例として、第１のグリッドデータベースは、異なるＤＧＧＳにおけるターゲットジオフェンスに従って更新してもよい。しかしながら、これらの変形及び修正は、本開示の範囲から逸脱するものではない。
【０１００】
図１０は、本開示のいくつかの実施形態に係る、第２のグリッドデータベースを確立するための例示的なプロセスのフローチャートである。いくつかの実施形態では、第２のグリッドデータベースを決定するためのプロセス１０００は、図１に示されるようなオンデマンドサービスシステム１００において実装してもよい。例えば、プロセス１０００は、ユーザ端末（例えば、乗客端末１３０、運転者端末１４０）及び／又はサーバ１１０において実装してもよい。プロセス１０００はまた、記憶装置１５０に記憶され、かつ処理エンジン１１２によって呼び出され及び／又は実行される１つ以上の命令として実装されてもよい。以下に提示される図示のプロセスの動作は、例示を意図するものである。いくつかの実施形態では、プロセス１０００は、説明されていない１つ以上の追加の動作を用いて、及び／又は論じられている動作のうちの１つ以上を除いて、達成することができる。さらに、図１０に示され、以下で説明されるプロセス１０００の動作の順序は、限定を意図するものではない。
【０１０１】
１００２において、プロセッサ（例えば、第２のグリッド決定モジュール４１２の境界グリッド取得ユニット６０２）は、ターゲットジオフェンスに対応する複数のグリッドから１つ以上の境界グリッドを取得してもよい。いくつかの実施形態では、グリッド取得ユニット５０４は、図８における８０４に示されるように、ターゲットジオフェンスに対応する複数のグリッドを取得してもよい。複数のグリッドは、１つ以上の内部グリッド及び１つ以上の境界グリッドを含んでもよい。境界グリッド取得ユニット６０２は、グリッド取得ユニット５０４から１つ以上の境界グリッドを取得してもよい。
【０１０２】
１００４において、プロセッサ（例えば、第２のグリッド決定モジュール４１２のローカルジオフェンス決定ユニット６０４）は、１つ以上の境界グリッド及びターゲットジオフェンスに基づいて１つ以上のローカルジオフェンスを決定してもよい。ローカルジオフェンスは、境界グリッドがターゲットジオフェンスと重なる領域であってもよい。
【０１０３】
いくつかの実施形態では、１つ以上の境界グリッドのそれぞれについて、プロセッサは、境界グリッドに対応する第１のリンクリスト、例えば境界グリッド１２０２（図１２に示す）に対応する第１のリンクリスト１３０２（図１３に示す）を決定してもよい。プロセッサは、ターゲットジオフェンス１２０４（図１２に示す）に対応する第２のリンクリスト１３０４（図１３に示す）を決定してもよい。第１のリンクリストでは、図１３に示される長方形ボックスによって表される各ノードは、境界グリッドの１つの頂点に対応してもよい。第１のリンクリストと同様に、第２のリンクリストでは、各ノードはまたターゲットジオフェンスの１つの頂点に対応してもよい。プロセッサは、図１２に示すような点Ａ（１）、点Ｂ、点Ｍ及び点Ｎのような、境界グリッドとターゲットジオフェンスとの１つ以上の交点を決定してもよい。プロセッサは、例えば図１３に示すような更新された第１のリンクリスト１３０６及び更新された第２のリンクリスト１３０８を得るために１つ以上の交点に基づいて第１のリンクリスト及び第２のリンクリストを更新してもよい。プロセッサは、更新された第１のリンクリスト及び更新された第２のリンクリストに基づいて１つ以上のローカルジオフェンスを決定してもよい。１つ以上のローカルジオフェンスの決定についてのより詳細な説明は、本開示の他の箇所（例えば、図１１〜１４及びそれらの説明）に見られる。
【０１０４】
１００６において、プロセッサ（例えば、第２のグリッド決定モジュール４１２の第２の符号化ユニット６０６）は、１つ以上の境界グリッド及び１つ以上のローカルジオフェンスに対応するデータを第２のデータ構造に符号化してもよい。第２のデータ構造は、１つ以上の境界グリッドの識別子、１つ以上のローカルジオフェンスの識別子、１つ以上の境界グリッドのそれぞれの頂点の座標、１つ以上のローカルジオフェンスのそれぞれの頂点の座標など、又はそれらの任意の組み合わせを含んでもよい。いくつかの実施形態では、第２のデータ構造は、キー値の形であってよい。キーは１つ以上の値を指し示してもよい。例えば、キーは境界グリッドＩＤを示し、キーは、境界グリッドＩＤに対応する境界グリッドの頂点の座標及び１つ以上のローカルジオフェンスの頂点の座標などの複数の値を示してもよい。いくつかの実施形態では、座標は、頂点の緯度及び経度座標を示してもよい。
【０１０５】
いくつかの実施形態では、第２の符号化ユニット６０６は、第１の符号化ユニット５０６から１つ以上の境界グリッドの識別子を取得してもよい。１つ以上の境界グリッドの識別子は、第１のグリッドデータベースのものと一致してよい。例えば、境界グリッドＡの識別子が第１のグリッドデータベースにおいて「ＯＬ２Ｆ０ｉ１２３４ｊ５６７８」であると仮定すると、境界グリッドＡの識別子が第２のグリッドデータベースにおいても「ＯＬ２Ｆ０ｉ１２３４ｊ５６７８」であってよい。いくつかの実施形態では、第２の符号化ユニット６０６は、ＭＤ５メッセージダイジェストアルゴリズムに基づいて１つ以上のローカルジオフェンスのそれぞれについて一意の識別子を生成してもよい。境界グリッドＩＤは、対応する境界グリッドの頂点の座標を指し示してもよい。ローカルジオフェンスＩＤは、対応するローカルジオフェンスの頂点の座標を指し示してもよい。第１のデータ構造と同様に、第２のデータ構造は、Ｂ−ツリー構造、Ｂ＋ツリー構造、ハッシュテーブル、リンクリストなどのような様々なものであってもよい。そのような変形は、本開示の範囲内にあり得る。
【０１０６】
１００８において、プロセッサ（例えば、第２のグリッド決定モジュール４１２の第２の書き込みユニット６０８）は、第２のグリッドデータベースを確立するために、符号化されたデータを少なくとも１つの非一時的記憶媒体に書き込んでもよい。例えば、少なくとも１つの非一時的記憶媒体は、オンデマンドサービスシステム１００の記憶装置１５０及び／又はストレージ２９０を含んでもよい。別の例として、少なくとも１つの非一時的記憶媒体は、オンデマンドサービスシステム１００とは別個の外部記憶装置を含んでもよい。いくつかの実施形態では、第１のグリッドデータベース及び第２のグリッドデータベースは、単一の非一時的記憶媒体（例えば、記憶装置１５０）に統合してもよい。
【０１０７】
なお、上記説明は、例示の目的のために提供されるものに過ぎず、本開示の範囲を限定することを意図するものではない。当業者であれば、本開示の教示下で複数の変形及び修正を行うことができる。例えば、第２のグリッドデータベースは、さらにオンデマンドサービスシステム１００とは別個の外部記憶媒体に記憶されてもよい。別の例として、第２のグリッドデータベースは、異なるＤＧＧＳにおけるターゲットジオフェンスに従って更新してもよい。しかしながら、これらの変形及び修正は、本開示の範囲から逸脱するものではない。
【０１０８】
図１１は、本開示のいくつかの実施形態に係る、１つ以上のローカルジオフェンスを決定するための例示的なプロセスのフローチャートである。いくつかの実施形態では、１つ以上のローカルジオフェンスを決定するためのプロセス１１００は、図１に示されるようなオンデマンドサービスシステム１００において実装してもよい。例えば、プロセス１１００は、ユーザ端末（例えば、乗客端末１３０、運転者端末１４０）及び／又はサーバ１１０において実装してもよい。プロセス１１００はまた、記憶装置１５０に記憶され、かつ処理エンジン１１２によって呼び出され及び／又は実行される１つ以上の命令として実装されてもよい。以下に提示される図示のプロセスの動作は、例示を意図するものである。いくつかの実施形態では、プロセス１１００は、説明されていない１つ以上の追加の動作を用いて、及び／又は論じられている動作のうちの１つ以上を除いて、達成してもよい。さらに、図１１に示され、以下で説明されるプロセス１１００の動作の順序は、限定を意図するものではない。
【０１０９】
１１０２において、プロセッサ（例えば、第２のグリッド決定モジュール４１２のローカルジオフェンス決定ユニット６０４）は、境界グリッドに対応する第１のリンクリストとターゲットジオフェンスに対応する第２のリンクリストをそれぞれ決定してもよい。第１のリンクリスト又は第２のリンクリストのいずれかは、複数のノードを含んでもよい。ノードは、少なくとも１つのデータ要素、例えば、境界グリッド又はターゲットジオフェンスの、番号付けされた頂点を含んでもよい。要素は次のノードを指し示してもよい。単なる例として、図１２及び図１３に示すように、三角形領域が境界グリッド１２０２を示すと仮定すると、正方形領域はターゲットジオフェンス１２０４を示す。境界グリッド１２０２の各頂点は、Ａ、Ｂ、Ｃなどの一意の文字と番号付けしてもよい。ターゲットジオフェンス１２０４の各頂点は、１、２、３及び４などの一意の文字と番号付けしてもよい。番号付けされた１とＡは同じ頂点である。ローカルジオフェンス決定ユニット６０４は、境界グリッド１２０２に対応する第１のリンクリスト１３０２とターゲットジオフェンス１２０４に対応する第２のリンクリスト１３０４を決定してもよい。ノードは、長方形ボックスで表してもよく、かつ１つの頂点に対応してもよい。第１のリンクリスト１３０２及び第２のリンクリスト１３０４において、ノードのシーケンスは同じであってもよい。例えば、第１のリンクリスト１３０２又は第２のリンクリスト１３０４のいずれか一方のノードは、反時計回りにソートされる。いくつかの実施形態では、対応する頂点の座標は、ノードをインデックス付けすることによって取得してもよい。
【０１１０】
いくつかの実施形態では、第１のリンクリスト又は第２のリンクリストのタイプは、単一リンクリスト、二重リンクリスト、循環リンクリスト、循環二重リンクリストなど、又はそれらの任意の組み合わせを含んでもよい。本明細書において、第１のリンクリスト及び第２のリンクリストは、循環二重リンクリストである。循環二重リンクリスト内の各ノードは、リスト内の次のノード及び前のノードを指し示してもよい。循環二重リンクリストでは、プロセッサは、リストの始まり又は終わり、さらにリストの真ん中でノードを容易に追加又は削除してもよい。
【０１１１】
１１０４において、プロセッサ（例えば、第２のグリッド決定モジュール４１２のローカルジオフェンス決定ユニット６０４）は、境界グリッドとターゲットジオフェンスとの１つ以上の交点を決定してもよい。
【０１１２】
いくつかの実施形態では、プロセッサは、境界グリッドとターゲットジオフェンスの各境界（又はエッジ）をそれぞれトラバースしてもよい。数学的には、各境界は、複数の離散データ点によって表されてもよいことが理解できるであろう。各データ点は、境界内の地点の座標を示してもよい。境界グリッドとターゲットジオフェンスの境界に同じデータ点がある場合、プロセッサは、該同じデータ点を交点として指定してもよい。図１２に示すように、点Ａ（又は１）、点Ｍ及び点Ｎは、境界グリッド１２０２とターゲットジオフェンス１２０４との交点である。同様に、プロセッサは、境界グリッドとターゲットジオフェンスの全ての境界の１つ以上の交点を決定してもよい。
【０１１３】
１１０６において、プロセッサ（例えば、第２のグリッド決定モジュール４１２のローカルジオフェンス決定ユニット６０４）は、１つ以上の交点に基づいて第１のリンクリスト及び第２のリンクリストを更新してもよい。
【０１１４】
いくつかの実施形態では、第１のリンクリスト１３０２及び第２のリンクリスト１３０４は循環二重リンクリストであるため、プロセッサは、更新のために元のリストに１つ以上の交点を容易に追加してもよい。例えば、ローカルジオフェンス決定ユニット６０４は、更新された第１のリンクリスト１３０６と更新された第２のリンクリスト１３０８を決定してもよい。
【０１１５】
単なる例として、表１は、第１のリンクリスト及び第２のリンクリストを更新するための例示的な動作を示す。
【０１１６】
【表１】
2021510882.tif 000003
【０１１７】
表１から分かるように、境界グリッド１２０２とターゲットジオフェンス１２０４の境界の交点は、元のリンクリスト（例えば、第１のリンクリスト１３０２及び第２のリンクリスト１３０４）に追加してもよい。例えば、表１における番号２について、境界ＡＢと境界１２とは、点Ｂ、点Ａ及び点１である３つの交点がある。実際に、点Ａと点１は、同じ点であり、１（Ａ）又はＡ（１）で示してもよい。交点は、第１のリンクリスト１３０２、すなわち、Ａ−＞Ｂ−＞Ｂ−＞Ｃ−＞１（Ａ）に追加してもよい。交点は、第２のリンクリスト１３０４、すなわち、１−＞Ｂ−＞２−＞３−＞４−＞１（Ａ）に追加してもよい。表１における番号２について、境界ＡＢと４１との交点は、以前に更新された第１のリンクリストと以前に更新されたリンクリストに追加してもよい。このように類推すると、プロセッサは、境界グリッド及びターゲットジオフェンスに関連付けられた交差した各境界をトラバースし、かつ対応するリンクリストに交点を追加してもよい。ターゲット第１のリンクリスト及びターゲット第２のリンクリスト、例えば、更新された第１のリンクリスト１３０２及び更新されたリンクリスト１３０４を決定してもよい。いくつかの実施形態では、頂点とは異なるように使用される、第１のリンクリスト又は第２のリンクリストに追加された交点を、ラベル付けてもよい。例えば、リンクリストＡ−＞Ｂ−＞Ｂ−＞Ｃ−＞１（Ａ）について、１番目のＢは交点であり、２番目のＢは頂点である。プロセッサは、リンクリストの交点を自動的に識別してもよい。
【０１１８】
１１０８において、プロセッサ（例えば、第２のグリッド決定モジュール４１２のローカルジオフェンス決定ユニット６０４）は、更新された第１のリンクリスト及び更新された第２のリンクリストに基づいて１つ以上のローカルジオフェンスを決定してもよい。
【０１１９】
いくつかの実施形態では、１つ以上のローカルジオフェンスのそれぞれを決定するために、プロセッサは、所定のトラバースルールに基づいて、更新された第１のリンクリスト及び更新された第２のリンクリストをトラバースしてもよい。プロセッサは、境界グリッドとターゲットジオフェンスの交点セットを決定してもよい。交点セットは、境界グリッドとターゲットジオフェンスとの１つ以上の交点を含んでもよい。プロセッサは、交点セットに基づいてローカルジオフェンスを決定してもよい。
【０１２０】
いくつかの実施形態では、所定のトラバースルールは、トラバースの開始点、トラバースシーケンス又はトラバース切り替え順序に関連付けてもよい。トラバースの開始点は、ターゲットジオフェンスの外側にある境界グリッドの頂点又は境界グリッドの外側にあるターゲットジオフェンスの頂点を含んでもよい。例えば、図１２に示すように、境界グリッド１２０２の頂点Ｃがターゲットジオフェンス１２０４の外側にあるため、頂点Ｃは、トラバースの開始点として指定してもよい。別の例として、図１２に示すように、ターゲットジオフェンス１２０４のこれらの頂点が境界グリッド１２０２の外側にあるため、頂点２、３又は４を、トラバースの開始点として指定してもよい。トラバースシーケンスは、時計回り又は反時計回りを含んでもよい。トラバース切り替え順序は、遭遇した第１の交点以外に交点に遭遇するたびに、更新された第１のリンクリストと更新された第２のリンクリストをトラバースすることを交替することを含んでもよい。
【０１２１】
単なる例として、ローカルジオフェンス決定ユニット６０４は、所定のトラバースルールに基づいて、更新された第１のリンクリスト１３０２及び更新された第２のリンクリスト１３０４をトラバースする。頂点Ｃをトラバースの開始点とする。まず、ローカルジオフェンス決定ユニット６０４は、リンクリスト１３０２を反時計回りにトラバースする。ローカルジオフェンス決定ユニット６０４は、第１の交点Ｎに遭遇し、それを交点セットに入れてもよい。ローカルジオフェンス決定ユニット６０４は、更新された第１のリンクリスト１３０２を反時計回りにトラバースし続け、第２の交点１（Ａ）に遭遇する。第２の交点１（Ａ）を交点セットに入れてもよい。次に、スキップしてリンクリスト１３０４を反時計回りにトラバースすると、ローカルジオフェンス決定ユニット６０４は、第３の交点１（Ａ）に遭遇してもよい。第３の交点は第２の交点と同じであるため、第３の交点１（Ａ）は、繰り返して交点セットに入れなくてもよい。スキップしてリンクリスト１３０２を反時計回りにトラバースすると、ローカルジオフェンス決定ユニット６０４は、第４の交点１（Ａ）に遭遇してもよい。第４の交点は第２の交点と同じであるため、第４の交点１（Ａ）は、繰り返して交点セットに入れなくてもよい。キップしてリンクリスト１３０４を反時計回りにトラバースすると、ローカルジオフェンス決定ユニット６０４は、第５の交点１（Ａ）に遭遇してもよい。第５の交点は第２の交点と同じであるため、第５の交点１（Ａ）は、繰り返して交点セットに入れなくてもよい。スキップして、更新された第１のリンクリスト１３０２を反時計回りにトラバースすると、ローカルジオフェンス決定ユニット６０４は、第６の点、すなわち、頂点Ａに遭遇してもよい。第６の点は交点ではないため、ローカルジオフェンス決定ユニット６０４は、リンクリスト１３０２をトラバースし続けてもよい。ローカルジオフェンス決定ユニット６０４は、第７の交点Ｂに遭遇してもよい。第７の交点Ｂを交点セットに入れてもよい。スキップしてリンクリスト１３０４をトラバースすると、ローカルジオフェンス決定ユニット６０４は、第８の交点Ｂに遭遇してもよい。第８の交点Ｂは第７の交点Ｂと同じであるため、第８の交点Ｂは繰り返して交点セットに入れなくてもよい。スキップしてリンクリスト１３０２をトラバースすると、ローカルジオフェンス決定ユニット６０４は、第９の点、すなわち頂点Ｂに遭遇してもよい。第９の点は交点ではないため、ローカルジオフェンス決定ユニット６０４は、リンクリスト１３０２をトラバースし続けてもよい。ローカルジオフェンス決定ユニット６０４は、第１０の交点Ｍに遭遇し、かつ第１０の交点を交点セットに入れてもよい。スキップしてリンクリスト１３０４をトラバースすると、ローカルジオフェンス決定ユニット６０４は、第１１の交点Ｎに遭遇してもよい。第１１の交点はトラバースの開始点（すなわち、第１の交点Ｎ）と同じであるため、ローカルジオフェンス決定ユニット６０４は、トラバースを終了してもよい。なお、トラバースのプロセスにおいて、ローカルジオフェンス決定ユニット６０４がトラバースの開始点に遭遇すると、トラバースを終了してもよい。最後に、交点セットを決定してもよい。交点セットは、交点Ｎ、１Ａ、Ｂ及びＭ、すなわち、｛Ｎ、１Ａ、Ｂ、Ｍ｝を含んでもよい。境界グリッド１３０２とターゲットジオフェンス１３０４との多角形ローカルジオフェンスＮＡＢＭは、交点セットに基づいて構築してもよい。
【０１２２】
単なる例として、図１４は、本開示のいくつかの実施形態に係る、ローカルフェンスを決定するための例示的な動作を示す概略図である。ローカルジオフェンス決定ユニット６０４は、図１４のａに示すように、境界グリッド１４０２とターゲットジオフェンス１４０４の頂点をそれぞれ番号付けしてもよい。ローカルジオフェンス決定ユニット６０４は、境界グリッド１４０２の頂点を含む第１のリンクリストを決定し、かつターゲットジオフェンス１４０４の頂点を含む第２のリンクリストを決定してもよい。図１４のｂに示すように、ローカルジオフェンス決定ユニット６０４は、ターゲットジオフェンス１４０２と境界グリッド１４０４との交点を決定し、かつ交点を番号付けしてもよい。ローカルジオフェンス決定ユニット６０４は、番号付けされた交点に基づいて第１のリンクリスト及び第２のリンクリストを更新してもよい。上記トラバースプロセスを参照すると、図１４のｃに示すように、ローカルジオフェンス決定ユニット６０４は、ターゲットジオフェンス１４０２と境界グリッド１４０４とのローカルジオフェンス、すなわちローカルジオフェンス１４０６及び１４０８を決定してもよい。
【０１２３】
以上のように基本概念を説明してきたが、この詳細な開示を読んだ当業者には、上記の詳細な開示が単なる例として提示されているに過ぎず、限定的ではないことは明らかである。本明細書には明示的に述べられていないが、様々な変更、改良、及び修正が想起され、それらは当業者に意図される。これらの変更、改良及び修正は、本開示によって示唆されることが意図されており、本開示の例示的な実施形態の精神及び範囲内にある。
【０１２４】
さらに、所定の用語が、本開示の実施形態を説明するために使用されている。例えば、「一実施形態」、「実施形態」及び／又は「いくつかの実施形態」という用語は、この実施形態に関連して説明される特定の特徴、構造又は特性が本開示の少なくとも１つの実施形態に含まれることを意味する。したがって、本明細書の様々な部分における「実施形態」又は「一実施形態」又は「代替実施形態」の２つ以上の言及は、必ずしも全てが同一の実施形態を指しているわけではないことを強調し、それを理解するものとする。さらに、特定の特徴、構造又は特性は、本開示の１つ以上の実施形態において適切に組み合わせることができる。
【０１２５】
さらに、当業者には理解されるように、本開示の態様は、本明細書において、任意の新規で有用なプロセス、機械、製造、又は組成物、又はそれらの新規で有用な改良を含む、多くの特許性のある種類又は文脈のいずれかで例示及び説明することができる。したがって、本開示の態様は、完全にハードウェア、完全にソフトウェア（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、又はソフトウェアとハードウェアとの組み合わせによる実装により実施されてもよく、実装は、本明細書では、一般的に、「ユニット」、「モジュール」、又は「システム」と総称することができる。さらに、本開示の態様は、具現化されたコンピュータ可読プログラムコードを有する１つ以上のコンピュータ可読媒体に具現化されたコンピュータプログラム製品の形態をとることができる。
【０１２６】
コンピュータ可読信号媒体は、例えば、ベースバンドに、又は搬送波の一部として、コンピュータ可読プログラムコードを具現化した伝搬データ信号を含んでもよい。このような伝搬信号は、電磁気、光学など、又はそれらの任意の適切な組み合わせを含む様々な形態のいずれかを用いることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではないが、命令実行システム、機器若しくは装置によって使用されるか又はそれらと関連して使用されるためのプログラムを通信、伝搬又は伝送できる任意のコンピュータ可読媒体であってもよい。コンピュータ可読信号媒体に具現化されたプログラムコードは、無線、有線、光ファイバケーブル、ＲＦなど、又はこれらの任意の適切な組み合わせを含む任意の適切な媒体を使用して送信することができる。
【０１２７】
本開示の態様の動作を実行するコンピュータプログラムコードは、Ｊａｖａ、Ｓｃａｌａ、Ｓｍａｌｌｔａｌｋ、Ｅｉｆｆｅｌ、ＪＡＤＥ、Ｅｍｅｒａｌｄ、Ｃ＋＋、Ｃ＃、ＶＢ、ＮＥＴ、Ｐｙｔｈｏｎなどのオブジェクト指向プログラミング言語、「Ｃ」プログラミング言語、Ｖｉｓｕａｌ  Ｂａｓｉｃ、Ｆｏｒｔｒａｎ  ２００３、Ｐｅｒｌ、ＣＯＢＯＬ  ２００２、ＰＨＰ、ＡＢＡＰなどの従来の手続き型プログラミング言語、Ｐｙｔｈｏｎ、Ｒｕｂｙ及びＧｒｏｏｖｙなどの動的プログラミング言語、又は他のプログラミング言語を含む、１つ以上のプログラミング言語の任意の組み合わせで書き込んでもよい。プログラムコードは、完全にユーザのコンピュータ上で、部分的にはユーザのコンピュータ上で、スタンドアロンのソフトウェアパッケージとして、部分的にユーザのコンピュータ上で、部分的にリモートコンピュータ上で、又は完全にリモートコンピュータ若しくはサーバ上で実行してもよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク（ＬＡＮ）又はワイドエリアネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、又は接続は、外部コンピュータ（例えば、インターネットサービスプロバイダを使用してインターネットを介して）若しくはクラウドコンピューティング環境で行われるか、又はサービスとしてのソフトウェア（ＳａａＳ）などのサービスとして提供することができる。
【０１２８】
さらに、処理要素若しくはシーケンス、又はそれに対する数、文字、若しくは他の名称の使用の、列挙された順序は、特許請求の範囲に特定されてもよいものを除き、特許請求されたプロセス及び方法を任意の順序に限定することを意図するものではない。上記開示は、本開示の様々な有用な実施形態であると現在考えられる様々な実施例を通して論じているが、そのような詳細は説明を目的としてなされていることに過ぎず、添付の特許請求の範囲は、開示される実施形態に限定されず、むしろ、開示される実施形態の精神及び範囲内にある修正及び等価な構成を包含するように意図されることが理解できるであろう。例えば、上記様々なコンポーントの実装は、ハードウェア装置で具現化されてもよいが、ソフトウェアのみの解決策として、例えば、既存のサーバ又はモバイル装置上にインストールとして実装することができる。
【０１２９】
同様に、本開示の実施形態の前述の説明では、様々な実施形態の１つ以上の理解に役立つ開示を簡素化する目的で、様々な特徴が一緒に単一の実施形態、図、又はその説明にまとめられることがあることが理解されるべきである。しかしながら、この開示方法は、特許請求された主題が、各請求項に明示的に記載されたものよりも多くの特徴を必要とするという意図を反映するものと解釈されるべきではない。むしろ、特許請求された主題は、上記開示された単一の実施形態の全ての特徴よりも少ない特徴に依拠することができる。
【符号の説明】
【０１３０】
１１０  サーバ
１１２  処理エンジン
１２０  ネットワーク
１２０−１，１２０−２  基地局、インターネット交換ポイント
１３０  乗客端末
１３０−１  モバイル装置
１３０−２  タブレットコンピュータ
１３０−３  ラップトップコンピュータ
１３０−４  自動車量における組み込み装置
１４０  運転者端末
１４０−１  モバイル装置
１４０−２  タブレットコンピュータ
１４０−３  ラップトップコンピュータ
１４０−４  自動車量における組み込み装置
１５０  記憶装置
２００  モバイル装置
２１０  通信ユニット
２２０  ディスプレイ
２３０  グラフィックス処理ユニット（ＧＰＵ）
２４０  中央処理ユニット（ＣＰＵ）
２５０  入出力（Ｉ／Ｏ）
２６０  メモリ
２７０  オペレーティングシステム（ＯＳ）
２８０  （複数の）アプリケーション
２９０  記憶ユニット
３００  コンピューティング装置
３１０  内部通信バス
３２０  プロセッサ
３３０  読取り専用メモリ（ＲＯＭ）
３４０  ランダムアクセスメモリ（ＲＡＭ）
３５０  ＣＯＭポート
３６０  Ｉ／Ｏコンポーネント
３７０  ディスク
４０２  取得モジュール
４０４  グリッド情報決定モジュール
４０６  インデックスモジュール
４０８  結果決定モジュール
４１０  第１のグリッドデータベース決定モジュール
４１２  第２のグリッドデータベース決定モジュール
５０２  ターゲットジオフェンス取得ユニット
５０４  グリッド取得ユニット
５０６  第１の符号化ユニット
５０８  第１の書き込みユニット
６０２  境界グリッド取得ユニット
６０４  ローカルジオフェンス決定ユニット
６０６  第２の符号化ユニット
６０８  第２の書き込みユニット
【図１】
2021510882.tif 000004
【図２】
2021510882.tif 000005
【図３】
2021510882.tif 000006
【図４】
2021510882.tif 000007
【図５】
2021510882.tif 000008
【図６】
2021510882.tif 000009
【図７】
2021510882.tif 000010
【図８】
2021510882.tif 000011
【図９】
2021510882.tif 000012
【図１０】
2021510882.tif 000013
【図１１】
2021510882.tif 000014
【図１２】
2021510882.tif 000015
【図１３】
2021510882.tif 000016
【図１４】
2021510882.tif 000017
【図１５】
2021510882.tif 000018
【図１６】
2021510882.tif 000019
【手続補正書】
【提出日】令和2年7月21日(2020.7.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
対象がターゲットジオフェンスに属するか否かを決定するシステムであって、
１つ以上の命令セットを含む少なくとも１つの記憶装置と、
前記少なくとも１つの記憶装置と通信する少なくとも１つのプロセッサと
を備え、
前記少なくとも１つのプロセッサは、前記１つ以上の命令セットを実行すると、
前記対象の地理的位置に対応する地理的座標を取得することと、
前記地理的座標に対応するグリッドの情報を決定することと、
前記グリッドの前記情報に基づいて第１のグリッドデータベースにおいて前記グリッドをインデックス付けすることと、
前記インデックス付けされたグリッドが前記第１のグリッドデータベースにないという第１の否定的な結果に応じて、
前記対象が前記ターゲットジオフェンスに属さないと決定することと、
前記インデックス付けされたグリッドが前記第１のグリッドデータベースにあるという第１の肯定的な結果に応じて、
前記グリッドの前記情報に基づいて第２のグリッドデータベースにおいて前記グリッドをインデックス付けすることと、
前記インデックス付けされたグリッドが前記第２のグリッドデータベースにないという第２の否定的な結果に応じて、前記対象が前記ターゲットジオフェンスに属すると決定することと、
前記インデックス付けされたグリッドが前記第２のグリッドデータベースにあるという第２の肯定的な結果に応じて、前記対象とローカルジオフェンスとの関係に基づいて前記対象が前記ターゲットジオフェンスに属するか否かを決定することと
を行うように指示される、システム。
【請求項２】
前記少なくとも１つのプロセッサは、前記第１のグリッドデータベースを確立するようにさらに指示され、
前記第１のグリッドデータベースを確立するために、前記少なくとも１つのプロセッサは、
前記ターゲットジオフェンスを取得することと、
前記ターゲットジオフェンスに対応する複数のグリッドを取得することであって、前記複数のグリッドのそれぞれは、複数の頂点を有するポリゴンを含む、ことと、
前記複数のグリッドに対応するデータを第１のデータ構造に符号化することであって、前記第１のデータ構造は、前記複数のグリッドの識別子及び前記複数の頂点の座標を含む、ことと、
前記符号化されたデータを少なくとも１つの非一時的記憶媒体に書き込むことと
を行うようにさらに指示される、請求項１に記載のシステム。
【請求項３】
前記少なくとも１つのプロセッサは、前記第２のグリッドデータベースを確立するようにさらに指示され、
前記第２のグリッドデータベースを確立するために、前記少なくとも１つのプロセッサは、
前記複数のグリッドから１つ以上の境界グリッドを取得することと、
前記１つ以上の境界グリッド及び前記ターゲットジオフェンスに基づいて１つ以上のローカルジオフェンスを決定することと、
前記１つ以上の境界グリッド及び前記１つ以上のローカルジオフェンスに対応するデータを第２のデータ構造に符号化することであって、前記第２のデータ構造は、前記１つ以上の境界グリッドの識別子、前記１つ以上のローカルジオフェンスの識別子、前記１つ以上の境界グリッドのそれぞれの頂点の座標、及び前記１つ以上のローカルジオフェンスのそれぞれの頂点の座標を含み、前記１つ以上のローカルジオフェンスのそれぞれの前記頂点は、前記境界グリッドと前記ローカルジオフェンスとの１つ以上の交点を含む、ことと、
前記符号化されたデータを前記少なくとも１つの非一時的記憶媒体に書き込むことと
を行うようにさらに指示される、請求項２に記載のシステム。
【請求項４】
前記１つ以上の境界グリッド及び前記ターゲットジオフェンスに基づいて１つ以上のローカルジオフェンスを決定するために、前記少なくとも１つのプロセッサは、
前記１つ以上の境界グリッドのそれぞれについて、
前記境界グリッドに対応する第１のリンクリストと前記ターゲットジオフェンスに対応する第２のリンクリストとをそれぞれ決定することであって、前記第１のリンクリスト又は前記第２のリンクリストのいずれか一方の各ノードは、前記境界グリッドの前記頂点のうちの１つの頂点又は前記ターゲットジオフェンスの前記頂点のうちの１つの頂点にそれぞれ対応する、ことと、
前記境界グリッドと前記ターゲットジオフェンスとの前記１つ以上の交点を決定することと、
前記１つ以上の交点に基づいて前記第１のリンクリスト及び前記第２のリンクリストを更新することと、
前記更新された第１のリンクリスト及び前記更新された第２のリンクリストに基づいて前記１つ以上のローカルジオフェンスを決定することと
を行うように指示される、請求項３に記載のシステム。
【請求項５】
前記更新された第１のリンクリスト及び前記更新された第２のリンクリストに基づいて前記１つ以上のローカルジオフェンスを決定するために、前記少なくとも１つのプロセッサは、
前記１つ以上のローカルジオフェンスのそれぞれを決定するために、
所定のトラバースルールに基づいて、前記更新された第１のリンクリスト及び前記更新された第２のリンクリストをトラバースすることと、
前記境界グリッドと前記ターゲットジオフェンスの交点セットを決定することであって、前記交点セットは、前記境界グリッドと前記ターゲットジオフェンスとの前記１つ以上の交点を含む、ことと、
前記交点セットに基づいて前記ローカルジオフェンスを決定することと
を行うように指示される、請求項４に記載のシステム。
【請求項６】
前記所定のトラバースルールは、トラバースの開始点、及びトラバースシーケンス又はトラバース切り替え順序に関連付けられ、
前記トラバースの開始点は、前記ターゲットジオフェンスの外側にある前記境界グリッドの前記頂点又は前記境界グリッドの外側にある前記ターゲットジオフェンスの前記頂点を含み、
前記トラバースシーケンスは、時計回り又は反時計回りを含み、
前記トラバース切り替え順序は、遭遇した第１の交点を除き、交点に遭遇するたびに、前記更新された第１のリンクリスト及び前記更新された第２のリンクリストをトラバースすることを交替することを含む、請求項５に記載のシステム。
【請求項７】
前記第１のリンクリスト及び前記第２のリンクリストは、循環二重リンクリストである、請求項４から６のいずれか一項に記載のシステム。
【請求項８】
前記対象とローカルジオフェンスとの関係に基づいて前記対象が前記ターゲットジオフェンスに属するか否かを決定するために、前記少なくとも１つのプロセッサは、
前記対象を端点とするレイが前記ローカルジオフェンスの奇数の境界を横切る場合に、前記対象が前記ローカルジオフェンスに属すると決定することと、
前記対象を端点とする前記レイが前記ローカルジオフェンスの偶数の境界を横切る場合に、前記対象が前記ローカルジオフェンスに属さないと決定することと
を行うようにさらに指示される、請求項１から７のいずれか一項に記載のシステム。
【請求項９】
前記対象とローカルジオフェンスとの関係に基づいて前記対象が前記ターゲットジオフェンスに属するか否かを決定するために、前記少なくとも１つのプロセッサは、
前記対象及び前記ローカルジオフェンスに関連付けられた回転数を決定することと、
前記回転数がゼロに等しくない場合に、前記対象が前記ローカルジオフェンスに属すると決定することと、
前記回転数がゼロに等しい場合に、前記対象が前記ローカルジオフェンスに属さないと決定することと
を行うようにさらに指示される、請求項１から８のいずれか一項に記載のシステム。
【請求項１０】
前記グリッドが正六角形の形状を有する、請求項１から９のいずれか一項に記載のシステム。
【請求項１１】
少なくとも１つのプロセッサと少なくとも１つのコンピュータ可読記憶媒体とを備えるコンピューティング装置で実施される、対象がターゲットジオフェンスに属するか否かを決定する方法であって、
前記対象の地理的位置に対応する地理的座標を取得することと、
前記地理的座標に対応するグリッドの情報を決定することと、
前記グリッドの前記情報に基づいて第１のグリッドデータベースにおいて前記グリッドをインデックス付けすることと、
前記インデックス付けされたグリッドが前記第１のグリッドデータベースにないという第１の否定的な結果に応じて、
前記対象が前記ターゲットジオフェンスに属さないと決定することと、
前記インデックス付けされたグリッドが前記第１のグリッドデータベースにあるという第１の肯定的な結果に応じて、
前記グリッドの前記情報に基づいて第２のグリッドデータベースにおいて前記グリッドをインデックス付けすることと、
前記インデックス付けされたグリッドが前記第２のグリッドデータベースにないという第２の否定的な結果に応じて、前記対象が前記ターゲットジオフェンスに属すると決定することと、
前記インデックス付けされたグリッドが前記第２のグリッドデータベースにあるという第２の肯定的な結果に応じて、前記対象とローカルジオフェンスとの関係に基づいて前記対象が前記ターゲットジオフェンスに属するか否かを決定することと
を含む方法。
【請求項１２】
前記第１のグリッドデータベースを確立することをさらに含み、
前記第１のグリッドデータベースを確立することは、
前記ターゲットジオフェンスを取得することと、
前記ターゲットジオフェンスに対応する複数のグリッドを取得することであって、前記複数のグリッドのそれぞれは、複数の頂点を有するポリゴンを含む、ことと、
前記複数のグリッドに対応するデータを第１のデータ構造に符号化することであって、前記第１のデータ構造は、前記複数のグリッドの識別子及び前記複数の頂点の座標を含む、ことと、
前記符号化されたデータを少なくとも１つの非一時的記憶媒体に書き込むことと
をさらに含む、請求項１１に記載の方法。
【請求項１３】
前記第２のグリッドデータベースを確立することをさらに含み、
前記第２のグリッドデータベースを確立することは、
前記複数のグリッドから１つ以上の境界グリッドを取得することと、
前記１つ以上の境界グリッド及び前記ターゲットジオフェンスに基づいて１つ以上のローカルジオフェンスを決定することと、
前記１つ以上の境界グリッド及び前記１つ以上のローカルジオフェンスに対応するデータを第２のデータ構造に符号化することであって、前記第２のデータ構造は、前記１つ以上の境界グリッドの識別子、前記１つ以上のローカルジオフェンスの識別子、前記１つ以上の境界グリッドのそれぞれの頂点の座標、及び前記１つ以上のローカルジオフェンスのそれぞれの頂点の座標を含み、前記１つ以上のローカルジオフェンスのそれぞれの前記頂点は、前記境界グリッドと前記ローカルジオフェンスとの１つ以上の交点を含む、ことと、
前記符号化されたデータを前記少なくとも１つの非一時的記憶媒体に書き込むことと
をさらに含む、請求項１２に記載の方法。
【請求項１４】
前記１つ以上の境界グリッド及び前記ターゲットジオフェンスに基づいて１つ以上のローカルジオフェンスを決定することは、
前記１つ以上の境界グリッドのそれぞれについて、
前記境界グリッドに対応する第１のリンクリストと前記ターゲットジオフェンスに対応する第２のリンクリストとをそれぞれ決定することであって、前記第１のリンクリスト又は前記第２のリンクリストのいずれか一方の各ノードは、前記境界グリッドの前記頂点のうちの１つの頂点又は前記ターゲットジオフェンスの前記頂点のうちの１つの頂点にそれぞれ対応する、ことと、
前記境界グリッドと前記ターゲットジオフェンスとの前記１つ以上の交点を決定することと、
前記１つ以上の交点に基づいて前記第１のリンクリスト及び前記第２のリンクリストを更新することと、
前記更新された第１のリンクリスト及び前記更新された第２のリンクリストに基づいて前記１つ以上のローカルジオフェンスを決定することと
を含む、請求項１３に記載の方法。
【請求項１５】
対象がターゲットジオフェンスに属するか否かを決定するための少なくとも１つの命令セットを記憶した非一時的コンピュータ可読記憶媒体であって、
前記少なくとも１つの命令セットは、コンピューティング装置の少なくとも１つのプロセッサによって実行されると、
前記対象の地理的位置に対応する地理的座標を取得することと、
前記地理的座標に対応するグリッドの情報を決定することと、
前記グリッドの前記情報に基づいて第１のグリッドデータベースにおいて前記グリッドをインデックス付けすることと、
前記インデックス付けされたグリッドが前記第１のグリッドデータベースにないという第１の否定的な結果に応じて、
前記対象が前記ターゲットジオフェンスに属さないと決定することと、
前記インデックス付けされたグリッドが前記第１のグリッドデータベースにあるという第１の肯定的な結果に応じて、
前記グリッドの前記情報に基づいて第２のグリッドデータベースにおいて前記グリッドをインデックス付けすることと、
前記インデックス付けされたグリッドが前記第２のグリッドデータベースにないという第２の否定的な結果に応じて、前記対象が前記ターゲットジオフェンスに属すると決定することと、
前記インデックス付けされたグリッドが前記第２のグリッドデータベースにあるという第２の肯定的な結果に応じて、前記対象とローカルジオフェンスとの関係に基づいて前記対象が前記ターゲットジオフェンスに属するか否かを決定することであって、前記ローカルジオフェンスは、境界グリッドが前記ターゲットジオフェンスと重なる領域である、ことと
を含む方法を前記コンピューティング装置に実行させる、非一時的コンピュータ可読記憶媒体。
【国際調査報告】
2021510882.tif 000020
2021510882.tif 000021