(57)【要約】      （修正有）【課題】地理的位置を階層名に符号化することによって、階層的地理的命名を容易にするための方法及びコンピュータ可読記憶媒体を提供する。【解決手段】位置管理システムは、要求側デバイスに関連付けられた位置情報を含むサービス要求を受信し、位置情報に対応する階層名を判定する。階層名は、複数の名前セグメントを含む。複数の名前セグメントのそれぞれの名前セグメントは、地理的グリッド参照の再帰的に細分化されたグリッドに対応する。位置管理システムは、サービス要求によって要求されたサービスの階層名を使用して、再帰的検索を実行する。【選択図】図６Ｂ
2020061134.tif 000002
【特許請求の範囲】
【請求項１】
階層的地理的命名を容易にするための方法であって、
要求側デバイスに関連付けられた位置情報を含むサービス要求を受信することと、
前記位置情報に対応する階層名を判定することであって、前記階層名が、複数の名前セグメントを含み、前記複数の名前セグメントのそれぞれの名前セグメントが、地理的グリッド参照の再帰的に細分化されたグリッドに対応する、判定することと、
前記サービス要求によって要求されたサービスに対する前記階層名を使用して、再帰的検索を実行することと、を含む、方法。
【請求項２】
前記地理的グリッド参照を前記階層名にビット又はバイト指向の文字列として符号化することを更に含む、請求項１に記載の方法。
【請求項３】
算術符号化、Ｈｕｆｆｍａｎ符号化、及び確率分布のうちの１つを使用して、前記文字列を圧縮することを更に含む、請求項２に記載の方法。
【請求項４】
前記地理的グリッド参照が、軍事グリッド参照システム（ＭＧＲＳ）及びユニバーサル横メルカトル図法（ＵＴＭ）のうちの１つに基づいている、請求項１に記載の方法。
【請求項５】
前記サービスを提供するサービスプロバイダに向かってパケットを転送するために、前記階層名に基づいて最長プレフィックスマッチを実行することを更に含む、請求項１に記載の方法。
【請求項６】
地理的ルーティングのための名前解析サービス（ＮＲＳ）を維持することと、
前記ＮＲＳから前記サービスプロバイダに関連付けられた情報を取得することと、を更に含む、請求項５に記載の方法。
【請求項７】
前記再帰的検索が、
前記階層名を使用して実行される逆ドメイン名システム（ＤＮＳ）ルックアップ、及び
前記階層名を使用して実行されるデータベースルックアップ、のうちの１つである、請求項１に記載の方法。
【請求項８】
前記再帰的検索を実行することが、
前記要求されたサービスが、前記階層名によって示される前記最小グリッド内で利用可能かどうかを検索することと、
前記要求されたサービスが、前記最小グリッド内で利用可能ではないと判定することに応答して、前記最小グリッドに対応する前記名前セグメントを除去し、前記更新された階層名に基づいて前記検索を実行することと、を含む、請求項１に記載の方法。
【請求項９】
前記要求されたサービスが、前記最小グリッド内で利用可能であると判定することに応答して、前記方法が、
前記要求されたサービスに関連付けられたサービス情報を取り出すことと、
前記サービス情報を含む応答を前記要求側デバイスに送信することと、を更に含む、請求項８に記載の方法。
【請求項１０】
前記要求されたサービスを示すサービスタグ、
高レベルドメイン、及び
前記階層名を前記地理的グリッド参照に関連付けられた識別子から区別するビットパターン、のうちの１つ以上を前記階層名に組み込むことを更に含む、請求項１に記載の方法。
【請求項１１】
コンピュータによって実行されると、前記コンピュータに階層的な地理的命名を容易にするための方法を実行させる命令を記憶する非一時的なコンピュータ可読記憶媒体であって、前記方法が、
要求側デバイスに関連付けられた位置情報を含むサービス要求を受信することと、
前記位置情報に対応する階層名を判定することであって、前記階層名が、複数の名前セグメントを含み、前記複数の名前セグメントのそれぞれの名前セグメントが、地理的グリッド参照の再帰的に細分化されたグリッドに対応する、判定することと、
前記サービス要求によって要求されたサービスの前記階層名を使用して、再帰的検索を実行することと、を含む、コンピュータ可読記憶媒体。
【請求項１２】
前記方法が、前記地理的グリッド参照を前記階層名にビット指向又はバイト指向の文字列として符号化することを更に含む、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１３】
前記方法が、算術符号化、Ｈｕｆｆｍａｎ符号化、及び確率分布のうちの１つを使用して、前記文字列を圧縮することを更に含む、請求項１２に記載のコンピュータ可読記憶媒体。
【請求項１４】
前記地理的グリッド参照が、軍事グリッド参照システム（ＭＧＲＳ）及びユニバーサル横メルカトル図法（ＵＴＭ）のうちの１つに基づいている、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１５】
前記方法が、前記サービスを提供するサービスプロバイダに向かってパケットを転送するために、前記階層名に基づいて最長プレフィックスマッチを実行することを更に含む、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１６】
前記方法が、
地理的ルーティングのための名前解析サービス（ＮＲＳ）を維持することと、
前記ＮＲＳから前記サービスプロバイダに関連付けられた情報を取得することと、を更に含む、請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１７】
前記再帰的検索が、
前記階層名を使用して実行される逆ドメイン名システム（ＤＮＳ）ルックアップ、及び
前記階層名を使用して実行されるデータベースルックアップ、のうちの１つである、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１８】
前記再帰的検索を実行することが、
前記要求されたサービスが、前記階層名によって示される前記最小グリッド内で利用可能であるかどうかを検索することと、
前記要求されたサービスが、前記最小グリッド内で利用可能ではないと判定することに応答して、前記最小グリッドに対応する前記名前セグメントを除去し、前記更新された階層名に基づいて前記検索を実行することと、を含む、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記要求されたサービスが、前記最小グリッド内で利用可能であると判定したことに応答して、前記方法が、
前記要求されたサービスに関連付けられたサービス情報を取り出すことと、
前記サービス情報を含む応答を前記要求側デバイスに送信することと、を更に含む、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項２０】
前記方法が、
前記要求されたサービスを示すサービスタグ、
高レベルドメイン、及び
前記階層名を前記地理的グリッド参照に関連付けられた識別子から区別するビットパターン、のうちの１つ以上を前記階層名に組み込むことを更に含む、請求項１１に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、位置ベースのサービス管理の分野に関する。より具体的には、本開示は、地理的位置を階層名に符号化することによってサービス位置を容易にするためのシステム及び方法に関する。
【０００２】
インターネット及び電子商取引の増殖は、効率的なサービスアクセスの必要性を推進し続ける。事業体又は大型企業は、複数のサイトにわたるサービスを容易にし得る。そのような分散型サービス構造では、ユーザデバイスは、対象点（例えば、ユーザの現在位置）付近のサービス位置を判定することを望む場合がある。従来のアプローチは、典型的には、緯度及び経度を使用してサービスサイトを位置特定する。しかしながら、緯度及び経度は、階層的位置情報を提供しない。結果として、特定の位置に近い特定のサービスを見つけることは、対象点とサービスサイトの位置との間の距離の明示的な列挙を必要とする。
【０００３】
地理的グリッド参照は、複数の位置レベルにわたる再帰的地理的探索を容易にする階層的グリッド基準システムを提供することができる。軍事グリッド参照システム（Ｍｉｌｉｔａｒｙ  Ｇｒｉｄ  Ｒｅｆｅｒｅｎｃｅ  Ｓｙｓｔｅｍ、ＭＧＲＳ）は、いくつかの階層的グリッド基準システムのうちの１つであり、地球上のいずれかの位置を表すために使用することができる。ＭＧＲＳでは、Ｇｒｉｄ  Ｚｏｎｅ  Ｄｅｓｉｇｎａｔｉｏｎ（ＧＺＤ）は、約８°×６°のゾーンを表し、固有の表記を担持する。世界で１，１９７のＧＺＤが存在する。各ＧＺＤは、１００ｋｍのグリッド正方形によって１００キロメートル（ｋｍ）の中に配置される。各ＧＺＤは、対応する識別子によって識別することができる。次いで、ＧＺＤは、１０ｋｍ、１ｋｍ、１００メートル（ｍ）、１０ｍ、及び１ｍグリッド（又は正方形）に再帰的に細分化される。これらの正方形は、ＧＺＤ内の位置レベルを示し、ＧＺＤ内の数値位置として表される。ＭＧＲＳは、これらの慣例を使用して位置を符号化する。
【０００４】
ＭＧＲＳは、位置ベースのサービスへの多くの望ましい特徴をもたらすが、一部の問題は、サービスを再帰的に検索するために使用することができる階層名に地理的位置を効率的に符号化することが未解決のままである。
【０００５】
本明細書に記載される実施形態は、階層的地理的命名を容易にするためのシステムを提供する。動作中、システムは、要求側デバイスに関連付けられた位置情報を含むサービス要求を受信し、位置情報に対応する階層名を判定する。階層名は、複数の名前セグメントを含むことができる。複数の名前セグメントのそれぞれの名前セグメントは、地理的グリッド参照の再帰的に細分化されたグリッドに対応することができる。次いで、システムは、サービス要求によって要求されたサービスの階層名を使用して、再帰的検索を実行する。
【０００６】
この実施形態の変形例では、システムは、階層名を参照する地理的グリッド参照をビット指向又はバイト指向の文字列として符号化する。
【０００７】
更なる変形例では、システムは、算術符号化、Ｈｕｆｆｍａｎ符号化、及び確率分布のうちの１つを使用して文字列を圧縮する。
【０００８】
この実施形態の変形例では、地理的グリッド参照は、軍事グリッド参照システム（ＭＧＲＳ）及びユニバーサル横メルカトル図法（Ｕｎｉｖｅｒｓａｌ  Ｔｒａｎｓｖｅｒｓｅ  Ｍｅｒｃａｔｏｒ、ＵＴＭ）のうちの１つに基づいている。
【０００９】
この実施形態の変形例では、システムは、サービスを提供するサービスプロバイダに向かってパケットを転送するために階層名に基づいて最長プレフィックスマッチを実行する。
【００１０】
更なる変形例では、システムは、地理的ルーティングのための名前解析サービス（ｎａｍｅ  ｒｅｓｏｌｕｔｉｏｎ  ｓｅｒｖｉｃｅ、ＮＲＳ）を維持し、ＮＲＳからサービスプロバイダに関連付けられた情報を取得する。
【００１１】
この実施形態の変形例では、再帰的検索は、（ｉ）階層名を使用して実行される逆ドメイン名システム（ｄｏｍａｉｎ  ｎａｍｅ  ｓｙｓｔｅｍ、ＤＮＳ）ルックアップ、及び（ｉｉ）階層名を使用して実行されるデータベースルックアップ、のうちの１つである。
【００１２】
この実施形態の変形例では、システムは、要求されたサービスが階層名によって示される最小グリッド内で利用可能かどうかを検索することによって、再帰的検索を実行する。要求されたサービスが最小グリッド内に見つからない場合、システムは、最小グリッドに対応する名前セグメントを除去し、更新された階層名に基づいて検索を実行する。
【００１３】
更なる変形例では、要求されたサービスが最小グリッド内に見つかった場合、システムは、要求されたサービスに関連付けられたサービス情報を取り出し、サービス情報を含む応答を要求側デバイスに送信する。
【００１４】
この実施形態の変形例では、システムは、要求されたサービスを示すサービスタグ、高レベルドメイン、及び階層的グリッド参照に関連付けられた識別子から階層名を識別するビットパターンのうちの１つ以上を階層名に組み込む。
【図面の簡単な説明】
【００１５】
【図１Ａ】本出願の一実施形態による、地理的グリッド参照に基づく例示的な階層的命名を示す。
【図１Ｂ】本出願の一実施形態による、階層名の例示的な符号化を示す。
【図２】本出願の一実施形態による、サービスタグを階層名に組み込む例示的な階層サービス名を示す。
【図３Ａ】本出願の一実施形態による、階層名に基づく例示的な地理的ルーティングを示す。
【図３Ｂ】本出願の一実施形態による、階層名の異なる位置レベルにサービスをマッピングする例示的なサービステーブルを示す。
【図３Ｃ】本出願の一実施形態による、階層名に対応する例示的な名前解析エントリを示す。
【図４Ａ】本出願の一実施形態による、地理的グリッド参照に基づいて階層名を生成する方法を示すフローチャートを提示する。
【図４Ｂ】本出願の一実施形態による、地理的グリッド内に提供されるサービスの情報を階層名に組み込む方法を示すフローチャートを提示する。
【図５】本出願の一実施形態による、階層名に基づく地理的ルーティングを容易にする方法を示すフローチャートを提示する。
【図６Ａ】本出願の一実施形態による、階層名に基づいてサービスを再帰的に検索する方法を示すフローチャートを提示する。
【図６Ｂ】本出願の一実施形態による、階層名に基づく名前解析の方法を示すフローチャートを提示する。
【図７】本出願の一実施形態による、階層名を使用して位置ベースのサービス管理を容易にする例示的なコンピュータシステムを示す。
【図８】本出願の一実施形態による、階層名を使用して位置ベースのサービス管理を容易にする例示的な装置を示す。
【００１６】
図面において、同様の参照番号は、同様の図要素を指す。
【発明を実施するための形態】
【００１７】
本明細書に記載される実施形態は、（ｉ）地理的グリッド参照に関連付けられた階層的位置情報を組み込む階層名を生成することと、（ｉｉ）対象地点付近のサービスを検索するための階層名を使用することと、により、サービスに対する位置ベースのクエリを効率的に解析する問題を解決する。この階層的命名システムは、階層的命名がゾーン情報を組み込むことができるため、地理的座標に基づく大規模ルーティング及びサービスルックアップを容易にすることができる。
【００１８】
既存の技術では、いくつかの命名方式は、地理的情報を組み込むために緯度及び経度を使用する。しかしながら、緯度及び経度は、特定の位置を示し、平坦構造を有する。結果として、緯度及び経度は、階層構造を有さず、したがって、再帰的検索を提供しない場合がある。例えば、緯度及び経度は、ドメイン名システム（ＤＮＳ）レコードに含めることができる。しかしながら、そのような位置情報は、位置によるレコードをルックアップするために使用されなくてもよい。位置ベースの情報を提供するために、全ての実行可能な名前がルックアップされ、対象点（例えば、現在の位置）とルックアップ位置レコードとの間のそれぞれの距離が計算される。これは、位置ベースの探索を提供するための広範な計算及び非効率的なレコードルックアップをもたらす。
【００１９】
これらの問題を解決するために、本明細書に記載される実施形態は、地理的グリッド参照に関連付けられた階層的位置情報を階層名に組み込む位置管理システムを提供する。システムは、サービスデータベース又はＤＮＳサーバの地理的グリッド参照に関連付けられたグリッド位置を含むことができる。システムは、階層名を使用して、地理的グリッド参照の階層的位置レベルに関連付けられた位置情報を取り出すことができる。例えば、地理的グリッド参照は、１００ｋｍ、１０ｋｍ、１ｋｍ、１００ｍ、１０ｍ、及び１ｍグリッドなどの、異なるレベルのグリッドを提供する。各グリッドは、対応するサイズの正方形であり得る。例えば、１０ｋｍのグリッドは、１０ｋｍの正方形とすることができる。これらのグリッドは、階層的であり、より大きいグリッドは、より小さいグリッドに再帰的に細分化される。
【００２０】
階層名は、複数の名前セグメントを含むことができ、これらの各々は、地理的グリッド参照の特定のグリッドレベルに対応する。結果として、システムは、階層名を横断することによって、より大きいグリッドからより小さいグリッドへ、又はより小さいグリッドからより大きいグリッドへの再帰的検索を実行することができる。例えば、ユーザが近くの特定のサービス（例えば、レストラン）を見つけることを望む場合、システムは、ユーザが位置するグリッドに関連付けられた階層名を取得することができる。次いで、システムは、サービスデータベース又は階層名に基づいてサービスに関連付けられたＤＮＳレコードを検索することができる。システムが１つを見つけない場合、システムは、最小グリッド（例えば、１ｍグリッド）に対応する名前セグメントを除去し、次のグリッドレベル（例えば、１０ｍグリッド内）の更新された名前を有する再帰的検索を実行することができる。システムは、サービスを見つけるために再帰的検索を継続することができ、それにより、効率的な方法でサービスを発見する効率的な方法を提供することができる。
【００２１】
いくつかの実施形態では、システムは、地理的グリッド参照のためのＭＧＲＳを使用する。ＭＧＲＳでは、各ＧＺＤは、１００ｋｍグリッドに配置され、次いで、１０ｋｍ、１ｋｍ、１００ｍ、１０ｍ、及び１ｍグリッドに再帰的に細分化される。ＭＧＲＳは、これらの慣例を使用して位置を符号化する。極性領域のＧＺＤは、４つの文字：Ａ、Ｂ、Ｙ、及びＺで表される。極性領域の外側では、ＧＺＤは、１〜６０の数、続いてＣとＸとの間の文字（Ｉ及びＯを除く）を使用して表される。したがって、２０×６０＋４＝１，２０４個の可能なＧＺＤが存在する。各ＧＺＤは、列文字（Ａ〜Ｚ、Ｉ及びＯ省略）及び行文字（Ａ〜Ｖ、Ｉ及びＯ省略）によって表される１０ｋｍの正方格子を含む。そのため、ＧＺＤ中には最大で２４×２０＝４８０個の可能な正方形グリッドが存在する。
【００２２】
正方形グリッド内の数値位置は、ｎ＋ｎ対の数字によって識別される。第１の数は、（正方形グリッドの左端からの）Ｘ座標を表し、第２の数は、（正方形グリッドの底部からの）Ｙ座標を表す。例えば、５＋５の数値表現は、正方形グリッド内に１ｍグリッドを配置することができる。同様に、４＋４数値表現は、正方形グリッド内に１０ｍグリッドを位置させることができる。例えば、Ｓａｎ  Ｆｒａｎｃｉｓｃｏ  Ｃｉｔｙ  Ｈａｌｌは、ＭＧＲＳ座標における１０Ｓ  ＥＧ  ５１１５０  ８１４７４の等価座標である３７．７７９１９°Ｎ、−１２２．４１９１４°Ｗに位置する。ここで、「１０Ｓ」は、ＧＺＤを表し、「ＥＧ」は、ＧＺＤ内の正方形グリッドを表し、「５１１５０」は、Ｘ座標を表し、「８１４７４」は、Ｙ座標を表す。システムはまた、同様の民間グリッドシステム、ユニバーサル横メルカトル図法（ＵＴＭ）を使用することもできる。ＵＴＭにおけるＳａｎ  Ｆｒａｎｃｉｓｃｏ  Ｃｉｔｙ  Ｈａｌｌの座標は、１０Ｎ  ５５１１５１  ４１８１４７５である。
【００２３】
図１Ａは、本出願の一実施形態による、地理的グリッド参照に基づく例示的な階層的命名を示す。この実施例では、位置管理システム１００は、位置に基づくサービスルックアップ及び地理的ルーティングなどの位置ベースのサービスを容易にすることができる。システム１００は、物理又は仮想デバイスであり得るサーバ１０２上で稼働することができる。既存の技術では、システム１００は、地理的情報を組み込むために緯度及び経度を使用することができる。しかしながら、緯度及び経度は、特定の位置を示し、平坦構造を有する。緯度及び経度は階層構造を有さないため、システム１００は、それらを使用して、位置ベースのサービスを容易にするために再帰探索を実行することができない。
【００２４】
例えば、システム１００は、ＤＮＳレコードに緯度及び経度を組み込んでもよい。しかしながら、システム１００は、そのような位置情報を使用して、位置によるレコードをルックアップすることはできない。位置ベースの情報を提供するために、システム１００は、全ての実行可能な名前をルックアップする。次いで、システム１００は、対象点（例えば、１つの現在位置）とルックアップ位置レコードとの間のそれぞれの距離を計算する。これは、位置ベースのサービスを提供するための広範な計算及び非効率的なレコードルックアップをもたらす。したがって、システム１００は、緯度及び経度を使用して効率的に実行することができない場合がある。
【００２５】
これらの問題を解決するために、本明細書に記載される実施形態は、システム１００が、地理的グリッド参照環境１５０に関連付けられた階層的位置情報を階層名に組み込むことを可能にする。次いで、システム１００は、位置ベースのサービスを容易にするために階層名を使用する。グリッド参照環境１５０の例としては、ＭＧＲＳ及びＵＴＭが挙げられる。環境１５０がＭＧＲＳに基づく場合、環境１５０は、地球全体を覆うことができる。一方、環境１５０がＵＴＭに基づく場合、環境１５０は、地球の極性領域を排除することができる。この実施例では、環境１５０は、ＭＧＲＳに基づくものであり、ＧＺＤ１１１及び１１２などの多くのＧＺＤを含む。
【００２６】
システム１００は、ＤＮＳサーバ１０４上のＤＮＳレコード又はデータベースサーバ１０６上のサービスデータベース内の環境１５０に関連付けられたグリッド位置を含むことができる。システム１００は、名前１２０などの階層名を使用して、環境１５０内の地理的グリッド参照の階層的位置レベルに関連付けられた位置情報を取り出すことができる。例えば、地理的グリッド参照は、環境１５０内で、１００ｋｍ、１０ｋｍ、１ｋｍ、１００ｍ、１０ｍ、及び１ｍグリッドなどの、異なるレベルのグリッドを提供する。これらのグリッドは、階層的であり、より大きいグリッドは、より小さいグリッドに再帰的に細分化される。例えば、ＧＺＤ１１２は、環境１５０内の１００ｋｍグリッド（又は１００ｋｍ正方形）を示すことができる。ＧＺＤ１１２内で、グリッド正方形１１４は、１０ｋｍのグリッドを示す。したがって、ＧＺＤ１１２は、１００のグリッド正方形を含むことができる。本開示の図面に示されるグリッドは、縮尺どおりではないことに留意されたい。
【００２７】
名前１２０は、いくつかの名前セグメント１２２、１２４、及び１２６を含み得る。これらの名前セグメントの各々は、環境１５０内の地理的グリッド参照の特定のグリッドレベルに対応する。この実施例では、名前セグメント１２２、１２４、及び１２６は、ＧＺＤ１１２、グリッド正方形１１４、及びグリッド正方形１１４内の数値位置１１６にそれぞれ対応することができる。結果として、システム１００は、名前１２０の名前セグメントを横断することによって、環境１５０内のより大きいグリッドからより小さいグリッドへ、又はより小さいグリッドからより大きいグリッドへの再帰的検索を実行することができる。再帰的検索を実行するために、システム１００は、連続する名前セグメントのサブセットを鎖状連結することができ、再帰的検索を実行することができる。
【００２８】
ユーザが、位置１１６付近に位置すると仮定する。ユーザが近くの特定のサービス（例えば、レストラン）を見つけることを望む場合、システム１００は、ユーザが位置するグリッドに関連付けられた名前１２０を取得することができる。次いで、システム１００は、データベースサーバ１０６内のサービスデータベース又はサービスのためのＤＮＳサーバ１０４内のＤＮＳレコードを名前１２０に基づいて検索することができる。システム１００がサービスを見つけない場合、システム１００は、名前セグメント１２６を除去し、名前セグメント１２２及び１２４を有する更新された名前によって再帰的検索を実行することができる。この実施例では、再帰的検索のこの繰り返しは、グリッド正方形１１４内で検索動作を実行する。システム１００は、サービスが見つかるまで再帰的検索を継続することができる。このようにして、地理的グリッド参照に基づく階層的命名は、環境１５０内のサービスを発見する効率的な方法を提供する。
【００２９】
図１Ｂは、本出願の一実施形態による、階層名の例示的な符号化を示す。システム１００は、名前符号化１７０に基づいてＭＧＲＳ座標を符号化して、階層名１２０を生成することができる。地理的グリッド参照は、Ｘ座標１３２及びＹ座標１３４に基づいて、ＧＺＤ１１２のグリッド正方形１１４内の位置１１６を示すことができる。名前符号化１７０では、第１の名前セグメント１２２は、ＧＺＤ１１２に対応することができ、次の名前セグメント１２４は、グリッド正方形１１４に対応することができ、次の名前セグメント１２６は、Ｘ座標１３２及びＹ座標１３４に対応することができる。名前セグメント１２６は、いくつかのセグメントを含むことができ、数値位置の各解析に対する１つは、Ｘ座標１３２の数値インジケータと、鎖状連結されたＹ座標１３４の数字インジケータと、を有する。
【００３０】
ｅ＿ｉが、ｉ桁のＸ座標の１３２であり、ｎ＿ｉが、ｉ桁のＹ座標１３４であると仮定する。次に、名前セグメント１２６は、／ｅ＿１｜｜ｎ＿１／ｅ＿２｜｜ｎ＿２／．．．／ｅ＿５｜｜ｎ＿５であり得る。例えば、Ｘ座標の桁１３２が、１４１、１４２、１４３、１４４、及び１４５であり、Ｙ座標１３４の桁が、１５１、１５２、１５３、１５４、及び１５５である場合、名前セグメント１２６は、／１４１．１５１／１４２．１５２／１４３．１５３／１４４．１５４／１４５．１５５／であり得る。ここで、「．」は、鎖状連結を表す。名前符号化１７０に基づいて、ＭＧＲＳ座標１０Ｓ  ＥＧ  ５１１５０  ８１４７４を、１０Ｓ／ＥＧ／５８／１１／１４／５７／０４のような階層名として符号化することができる。この名前符号化１７０はまた、タイプ長さ値（ｔｙｐｅ−ｌｅｎｇｔｈ−ｖａｌｕｅ、ＴＬＶ）で区切られた文字列（例えば、「；」を使用して区切られた）に適用可能であり得る。
【００３１】
名前符号化１７０は、名前セグメント１２２に、２バイト、名前セグメント１２４正方形に、２バイト、名前セグメント１２６のＸ座標／Ｙ座標の各解析に、１バイトを使用できる固定長のバイト指向の文字列に基づくことができる。例えば、名前符号化１７０は、１４１．１５１、１４２．１５２、１４３．１５３、１４４．１５４、及び１４５．１５５の各々に１バイトを使用することができる。各々５桁を有するＸ座標／Ｙ座標の場合、符号化は、９バイトの文字列をもたらす。換言すれば、階層名１２０は、９バイト文字列で符号化することができる。システム１００は、文字のＡＳＣＩＩ値を返す関数ｏｒｄ（）（例えば、プログラミング言語ライブラリで入手可能なように）を使用して、ＧＺＤ識別子を名前セグメント１２２に符号化することができる。ＧＺＤに対応する名前セグメント１２２が、（Ｎ−１）×２６＋（ｏｒｄ（Ｌ）−ｏｒｄ（‘Ａ’））によって符号化することができると仮定する。ここで、Ｎは、６１という数であり得、Ｌは、極性領域の文字Ａ、Ｂ、Ｘ、又はＹであり得る。そうでなければ、Ｎは、１〜６０の数であり得、Ｌは、ＧＺＤ識別子内の文字Ｃ−Ｘ（Ｉ及びＯを除く）であり得る。文字Ｉ及びＯに対応する符号化が空のままであり、Ａ、Ｂ、Ｘ、及びＹに関連付けられた符号化は、６１という数に対してのみ存在し得ることに留意されたい。
【００３２】
グリッド正方形は、列文字（Ａ〜Ｚ（Ｉ及びＯを除く）及び行文字（Ａ〜Ｖ、ただしＩ及びＯを除く）によって表される。グリッド正方形（すなわち、１００ｋｍグリッド）に対応する名前セグメント１２４は、‘Ｕ’を‘Ｉ’に、‘Ｖ’を‘Ｏ’に、‘Ｙ’を‘Ｕ’に、及び‘Ｚ’を‘Ｖ’に移動させることによって、コンパクト表現で符号化することができる。これにより、名前符号化１７０は、可能な行文字の２０個の値及び列文字の２４値を使用して名前セグメント１２４を表すことができる。列文字がＣＬであり、行文字がＲＬである場合、名前セグメント１２４は、ｘｆｒｍ（ＣＬ）×２４＋ｘｆｒｍ（ＲＬ）として符号化することができる。ここで、ｘｆｒｍ（）は、列及び行表現をコンパクト化する名前符号化１７０の符号化関数であり得る。ＣがＣＬ又はＲＬを表す場合、ｘｆｒｍ（Ｃ）は、以下のように定義することができる：
Ｃ＝‘Ｕ；’である場合、ｏｒｄ（‘Ｉ’）−ｏｒｄ（‘Ａ’）であり、
Ｃ＝‘Ｖ；’である場合、ｏｒｄ（‘Ｏ’）−ｏｒｄ（‘Ａ’）であり、
Ｃ＝‘Ｙ；’である場合、ｏｒｄ（‘Ｕ’）−ｏｒｄ（‘Ａ’）であり、
Ｃ＝‘Ｚ；’である場合、ｏｒｄ（‘Ｖ’）−ｏｒｄ（‘Ａ’）であり、
そうでない場合には、ｏｒｄ（Ｃ）−ｏｒｄ（‘Ａ’）である。
【００３３】
更に、数値位置１１６は、ベース１０数のＹ座標１３４と鎖状連結されたベース１０数のＸ座標１３２によって表される。したがって、得られた数は、００〜９９であり得る。各このような要素は、１バイトの数として符号化される。数値位置１１６の５＋５表現の場合、名前セグメント１２６は、各々が小数点数として５バイトで符号化することができる。したがって、階層名１２０が／１０Ｓ／ＥＧ／５８／１１／１４／５７／０４である場合、システム１００は、名前符号化１７０を使用して、階層名１２０を００ＦＣ：００６６：３Ａ：０Ｂ：０Ｅ：３９：０４として符号化することができる。
【００３４】
固定長さ、ビット指向文字列を生成するために、名前符号化１７０は、名前セグメント１２２に１１ビット、名前セグメント１２４に９ビット、名前セグメント１２６のＸ座標／Ｙ座標解析に７ビットを使用することができる。この符号化は、固定長さ、バイト指向エンコードと同じ数値を使用する。しかしながら、この符号化は、各名前セグメントに必要な最小ビット数のみを使用することができる。名前符号化１７０は、いくつかの特定のＧＺＤを符号化するためにより少ないビットを使用することができるが、名前符号化１７０は、効率的なハードウェアルックアップを確実にするために、固定長ビットフィールドを選好することができる。したがって、階層名１２０が／１０Ｓ／ＥＧ／５８／１１／１４／５７／０４である場合、システム１００は、名前符号化１７０を使用して、階層名１２０を０００１１１１１１００：００１１００１１０：０１１１０１０：０００１０１１：０００１１１０：０１１１００１：００００１００として符号化することができる。
【００３５】
名前符号化１７０の別の選択肢は、単一フィールドとして全ての５７４、５６０ＧＺＤの組み合わせを表すものである。このような表現は、２０ビットを使用するであろうし、ビット指向表現はまた、２０ビットを使用するので、節約はない。バイト指向表現では、名前符号化１７０は、単一のバイトを節約することができる。したがって、名前符号化１７０は、そのような小さい節約の階層表現を変更しない場合がある。ビット指向表現では、名前符号化１７０もまた、算術又はＨｕｆｆｍａｎ符号化などの圧縮技術、及び人口密度又は携帯電話密度などの確率分布を使用してもよい。このような符号化は辞書のためのグローバル座標を必要とするため、名前符号化１７０は、使用される辞書バージョンを識別するプレフィックスを含んでもよい。
【００３６】
図２は、本出願の一実施形態による、サービスタグを階層名に組み込む例示的な階層サービス名を示す。位置ベースのサービスを配信するための１つの方法では、システム１００は、サービスタグ２３０を階層名１２０にプレフィックスとして取り付けることができる。例えば、サービスタグ２３０は、レストラン位置サービス用の０ｘ２３４５６７８とすることができる。システム１００はまた、ビット文字列０Ｂ１１００をサービスタグ２３０にプリペンドして、それを他の符号化から区別することができる。このようにして、システム１００は、階層名１２０にサービスタグ２３０をタグ付けすることによって階層サービス名２００を生成する。したがって、階層名１２０が／１０Ｓ／ＥＧ／５８／１１／１４／５７／０４である場合、階層サービス名２００は、Ｃ２３４５６７：００ＦＣ：００６６：３Ａ：０Ｂ：０Ｅ：３９：０４であり得る。
【００３７】
この実施例では、数値位置１１６は、位置レベル２０２、２０４、２０６、２０８、及び２１０に対応し得る名前セグメント１２６によって表される。名前セグメント１２６が／１４１．１５１／１４２．１５２／１４３．１５３／１４４．１５４／１４５．１５５／である場合、位置レベル２０２、２０４、２０６、２０８及び２１０は、それぞれ、Ｘ座標／Ｙ座標値１４１．１５１、１４２．１５２、１４３．１５３、１４４．１５４及び１４５．１５５によって表される。例えば、位置レベル２０２は、Ｘ座標／Ｙ座標値１４１．１５１によって表すことができる。ここで、Ｘ座標値１４１は、Ｘ座標２５２に対応することができ、Ｙ座標値１５１は、Ｙ座標値２５４に対応することができる。同様に、位置レベル２０４は、Ｘ座標／Ｙ座標値１４２．１５２によって表すことができる。ここで、Ｘ座標値１４２は、Ｘ座標２５６に対応することができ、Ｙ座標値１５２は、Ｙ座標２５８に対応することができる。
【００３８】
サービスタグ２３０がレストランに対応する場合、階層サービス名２００は、最も近いレストランサービスプロバイダを見つけるために使用することができる階層名１２０を含むことができる。ユーザが位置レベル２１０に位置し、階層サービス名２００に基づいて検索を発行すると仮定する。システム１００は、名前セグメント１２６内の１４５．１５５によって表される位置レベル２１０を最初に検索する。検索がレストランサービスプロバイダを見つけない場合、システム１００は、名前セグメント１２６から１４５．１５５を除去する。次いで、システム１００は、名前セグメント１２６内の１４４．１５４によって表される位置レベル２０８を再帰的に検索する。検索がサービスタグ２３０に対応するレストランサービスプロバイダ２２０を見つけると、システム１００は、その情報をユーザに返すことができる。
【００３９】
図３Ａは、本出願の一実施形態による、階層名に基づく例示的な地理的ルーティングを示す。サービスプロバイダ３０６が、サービスタグ３１０に対応する特定のサービスを提供すると仮定する。サービスプロバイダ３０６が、ＧＺＤ１１２の正方形グリッド１１４内の数値位置１１６に存在する場合、サービスプロバイダ３０６は、その位置及びサービスを広告することができ、それは、階層サービス名３００を広告することによって提供する。階層サービス名３００は、提供されたサービス及びサービスの位置を示す階層名１２０を示すサービスタグ３１０を含むことができる。この広告は、ＧＺＤ１１１内のデバイス３０４（例えば、ネットワークスイッチ又はルータ）を転送することによって得ることができる。転送デバイス３０４は、このサービスに対する任意の要求をサービスプロバイダ３０６に転送することができる。
【００４０】
ＧＺＤ３２８内の要求側デバイス３０２がサービスタグ３１０に関連付けられたサービスにアクセスすることを意図する場合、要求側デバイス３０２は、サービスタグ３１０と、要求側デバイス３０２の位置に対応する階層名３２２と、を含み得る、階層サービス名３２４に基づいて、パケット３２０を送信することができる。パケット３２０を受信すると、転送デバイス３０４は、パケット３２０がサービスタグ３１０に基づいてサービスプロバイダ３０６によって提供されるサービスを要求していると判定することができる。転送デバイス３０４は、階層名１２０を使用した最長プレフィックスマッチを使用して、サービスタグ３１０に関連付けられたサービスを提供する最も近いサービスプロバイダを見つけることができる。次いで、転送デバイス３０４は、階層名１２０に基づいて、パケット３２０をサービスプロバイダ３０６に転送することができる。同様に、パケット３２０に対する任意の応答は、階層名３２２に基づいて要求側デバイス３０２に転送される。
【００４１】
サービスの数が大きい場合があり、転送デバイス３０４内の利用可能な高速メモリは限定され得るため、名前解析サービス（ＮＲＳ）を地理的ルーティングのために配備することができる。例えば、ＮＲＳが存在し得る。対応するＮＲＳサービスは、サービスタグ（例えば、０ｘ０００００００１のタグ）と関連付けることができる。これは、地理的ルーティングを容易にするために広告される唯一のサービスであり得る。サービスタグ３１０に関連付けられたサービスなどの他のサービスは、ＮＲＳをホスティングする最も近いサーバ内でルックアップされ得る。例えば、サービスプロバイダ３０６は、サービスタグ３１０に関連付けられたサービスを、ＮＲＳをホスティングする近隣のサーバで登録することができ、そのサービスは、地理的位置階層の登録を広げる。登録（及び対応する登録解除）は、動的ＤＮＳサービスと同様に動作することができる。
【００４２】
図３Ｂは、本出願の一実施形態による、階層名の異なる位置レベルにサービスをマッピングする例示的なサービステーブルを示す。この実施例では、システム１００は、サービステーブル３３２を含むことができるサービスデータベース３３０を維持することができる。このテーブル３３２は、特定のサービス位置に提供されたそれぞれのサービスインスタンスを維持することができる。この実施例では、テーブル３３２は、サービス３１２、３１４、３１６、及び３１８に関するレコードを含む。Ｘ座標／Ｙ座標１４５．１５５に対応する位置レベルは、サービスインスタンス３１２−１を含み得る。例えば、サービス３１２がレストランチェーンを示す場合、サービスインスタンス３１２−１は、そのレストランの特定の支店であり得る。
【００４３】
同様に、Ｘ座標／Ｙ座標値１４４．１５４に対応する位置レベルは、サービスインスタンス３１２−２及び３１４−１を含み得る。Ｘ座標／Ｙ座標値１４４．１５４によって示されるグリッドは、Ｘ座標／Ｙ座標値１４５．１５５によって示されるグリッドを含むので、テーブル３３２は、サービスインスタンス３１２−１もまた、Ｘ座標／Ｙ座標値１４４．１５４に対応する位置レベル（矢印で示される）で利用可能であることを示すことができる。Ｘ座標／Ｙ座標値１４３．１５３に対応する位置レベルは、サービスインスタンス３１６−１、３１４−２及び３１８−１を含み得る。Ｘ座標／Ｙ座標１４２．１５２に対応する位置レベルは、サービスインスタンス３１２−３を含み得る。Ｘ座標／Ｙ座標値１４１．１５１に対応する位置レベルは、サービスインスタンス３１２−４及び３１６−２を含み得る。
【００４４】
図３Ｃは、本出願の一実施形態による、階層名に対応する例示的な名前解析エントリを示す。システム１００は、階層名を使用してドメイン名をルックアップすることができるように、ＤＮＳレコードに階層名を組み込むことができる。これは、逆インターネットプロトコル（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ、ＩＰ）アドレスルックアップ作業の仕方と同様に動作することができる。階層名を使用する逆位置ルックアップは、トップレベルドメイン（ｔｏｐ−ｌｅｖｅｌ  ｄｏｍａｉｎ、ＴＬＤ）（例えば、ｍｇｒｓ．ｌｏｃ）の下で動作することができる。システム１００は、逆方向にＴＬＤ（例えば、階層名−ドメイン名マッピング）で位置情報及びサービスタグを符号化することができる。各グリッド正方形に対する座標エージェントは、そのグリッド正方形の下で更新を処理することができることに留意されたい。
【００４５】
図３Ａの実施例におけるサービスプロバイダ３０６などの単一のサービスプロバイダは、ＧＺＤ１１２に対応するＤＮＳサーバにおいて、このシステムを使用することができる。サービスプロバイダ３０６がトップレベルドメイン３６０に関連付けられている場合、ＤＮＳサーバは、トップレベルドメイン３６０及び階層名１２０によって示されるその位置情報を対応するドメイン名３５４にマッピングする、ＤＮＳレコード３５０を維持することができる。ドメイン３６０と階層名１２０との組み合わせは、階層ドメイン名３７０と称され得る。ＤＮＳレコード３５０はまた、レコードタイプ３５２を含むことができる。例えば、ｃｏｍ．ｅｘａｍｐｌｅドメインを使用して、システム１００は、サービス位置１０Ｓ．ＥＧ．７４．７０．７４．９０．５１を対応するドメイン名ｘｙｚ．ｎｅｔに符号化することができる。ＤＮＳレコード３５０は、
ｃｏｍ．ｅｘａｍｐｌｅ．１０Ｓ．ＥＧ．７４．７０．７４．９０．５１  ＴＸＴ  ｚｙｚ．ｎｅｔであり得る。
【００４６】
ここで、「ｃｏｍ．ｅｘａｍｐｌｅ．１０Ｓ．ＥＧ．７４．７０．７４．９０．５１」は、階層ドメイン名３７０であり得る。ＤＮＳレコード３５０は、ＤＮＳクライアントがその現在位置についてクエリすることを可能にし、次いで、段階的に、ＤＮＳツリーをウォーキングすることにより、その位置付近のサービスを解析することができる。
【００４７】
図４Ａは、本出願の一実施形態による、地理的グリッド参照に基づいて階層名を生成する方法を示すフローチャート４００を提示する。動作中、位置管理システムは、位置に関連付けられた地理的グリッド参照座標を取得する（動作４０２）。システムは、取得された座標からＧＺＤ及び正方形のグリッド情報を判定し、情報を階層名に符号化する（動作４０４）。システムはまた、１つのレベルのＸ座標桁及び対応するＹ座標桁を取得し（動作４０６）、得られた桁を組み合わせ、組み合わせた桁を階層名に符号化する（動作４０８）。次いで、システムは、地理的グリッド参照の次のレベル位置が存在するかどうかをチェックする（動作４１０）。次のレベルがある場合、システムは、１つのレベルのＸ座標桁及び対応するＹ座標桁を取得し続ける（動作４０６）。そうでなければ、システムは、階層名を地域エージェント（例えば、地域ＤＮＳサーバ）に提供する（動作４１２）。
【００４８】
図４Ｂは、本出願の一実施形態による、地理的グリッド内に提供されるサービスの情報を階層名に組み込む方法を示すフローチャート４５０を提示する。動作中、位置管理システムは、位置に関連付けられた階層名を取得し（動作４５２）、サービスタグ（及びビット文字列）を取得し、サービスタグ（及びビット文字列）を階層名にプリペンドして、階層サービス名を生成する（動作４５４）。システムは、階層サービス名を対応するエンティティ／サービスプロバイダに提供することができる（動作４５６）。次いで、このシステムは、位置に全てのサービスが含まれているかどうかをチェックする（動作４５８）。そうでない場合、システムは、別のサービスタグ（及びビット文字列）を取得し、サービスタグ（及びビット文字列）を階層名にプリペンドして、別の階層サービス名を生成する（動作４５４）。そうでなければ、システムは、サービスデータベースに階層サービス名及び対応するサービス情報を投入する（動作４６０）。
【００４９】
図５は、本出願の一実施形態による、階層名に基づく地理的ルーティングを容易にする方法を示すフローチャート５００を提示する。動作中、転送デバイスは、階層名を有するパケットを受信し（動作５０２）、サービスタグをチェックする（動作５０４）。サービスタグを検出すると、デバイスは、サービスタグに関連付けられたサービス情報を判定する（動作５０６）。サービスタグが存在しないか（動作５０４）、又はサービス情報が取得された場合（動作５０６）、デバイスは、階層名の最長プレフィックスマッチに基づいて、地理的ルーティングのためのパケットの次のホップを判定する（動作５０８）。次いで、デバイスは、次のホップに対応する出力ポートを判定し、出力ポートを介してパケットを送信する（動作５１０）。
【００５０】
図６Ａは、本出願の一実施形態に係る、階層名に基づいてサービスを再帰的に検索する方法を示すフローチャート６００を提示する。動作中、位置管理システムは、階層サービス名に基づいて、要求側デバイスからクエリを受信する（動作６０２）。システムは、階層名からＧＺＤ及びグリッド正方形を判定し（動作６０４）、グリッド正方形内の階層サービス名によって示される最小グリッドを判定する（動作６０６）。次いで、システムは、階層サービス名のサービスタグによって示されるサービスプロバイダのグリッドを検索する（動作６０８）。次いで、システムは、サービスプロバイダが見つかったかどうかをチェックする（動作６１０）。
【００５１】
サービスプロバイダが見つからない場合、システムはまた、階層サービス名の全体の階層名部分が横断されているかどうかをチェックすることができる（動作６１２）。全体の階層名が横断されていない場合、システムは、階層サービス名から最小グリッドを示す名前セグメントを除去し（動作６１４）、グリッド正方形内の更新された階層サービス名によって示される最小グリッドを判定する（動作６０６）。サービスプロバイダが見つかった場合（動作６１０）、システムは、識別されたサービスプロバイダ（複数可）を含むクエリ応答を生成し、要求側デバイスにクエリ応答を提供する（動作６１６）。一方、サービスプロバイダが見つからず、かつ名前全体が横断されている場合（動作６１０及び６１２）、システムは、サービスプロバイダが見つかったことを示すクエリ応答を生成し、クエリ応答を要求側デバイスに提供する（動作６１８）。
【００５２】
図６Ｂは、本出願の一実施形態による、階層名に基づく名前解析の方法を示すフローチャート６５０を提示する。動作中、位置管理システムは、その現在位置に基づいて、要求側デバイスからサービス要求を受信する（動作６５２）。システムは、要求されたサービス及び位置に関連付けられた階層ドメイン名を判定し（動作６５４）、再帰的ルックアップが有効化されたかどうかをチェックする（動作６５６）。再帰的ルックアップが有効化されない場合、システムは、サービスの階層ドメイン名を使用して逆名前ルックアップを実行し、関連付けられたサービス情報を取得することができる（動作６５８）。
【００５３】
一方、再帰的ルックアップが有効化される場合、システムは、逆名前ルックアップに基づいて階層ドメイン名によって示されるサービスを提供するグリッド位置のセットを判定することができ（動作６６０）、グリッド位置のセットを要求側デバイスに提示する（動作６６２）。次いで、システムは、要求側デバイスからグリッド位置のセットから位置選択を受信し、選択された位置に関連付けられたサービス情報を取得する（動作６６４）。サービス情報を取得する（動作６５８又は６６４）と、システムは、取得されたサービス情報を要求側デバイスに提供する（動作６６６）。
【００５４】
図７は、本出願の一実施形態による、階層名を使用して位置ベースのサービス管理を容易にする例示的なコンピュータシステムを示す。コンピュータシステム７００は、プロセッサ７０２、メモリデバイス７０４、及び記憶デバイス７０８を含む。メモリデバイス７０４は、揮発性メモリデバイス（例えば、デュアルインラインメモリモジュール（ｄｕａｌ  ｉｎ−ｌｉｎｅ  ｍｅｍｏｒｙ  ｍｏｄｕｌｅ、ＤＩＭＭ））を含むことができる。更に、コンピュータシステム７００は、ディスプレイデバイス７１０、キーボード７１２、及びポインティングデバイス７１４に連結することができる。記憶デバイス７０８は、オペレーティングシステム７１６、位置管理システム７１８、及びデータ７３６を記憶することができる。位置管理システム７１８は、位置管理システム１００、ＤＮＳサーバ１０４、及びデータベースサーバ１０６のうちの１つ以上の動作を容易にすることができる。したがって、コンピュータシステム７００は、サーバ１０２、ＤＮＳサーバ１０４、及びデータベースサーバ１０６のいずれかとして動作してもよい。
【００５５】
位置管理システム７１８は、コンピュータシステム７００によって実行されると、コンピュータシステム７００に本開示に記載されている方法及び／又はプロセスを実行させることができる命令を含むことができる。具体的には、位置管理システム７１８は、地理的グリッド参照システム（命名モジュール７２０）の再帰的に細分化されたグリッドインジケータに基づいて階層名を判定するための命令を含むことができる。位置管理システム７１８はまた、ＧＺＤ識別子、グリッド正方形情報、及びＸ座標／Ｙ座標桁などのグリッド情報を符号化するための命令を含むことができ、バイト又はビット指向文字列（符号化モジュール７２２）内の階層名を表すことができる。
【００５６】
更に、位置管理システム７１８はまた、階層サービス及び／又はドメイン名をそれぞれ生成するために、サービスタグ及び／又は階層名を有するドメインを組み込むための命令を含むことができる（タグ付けモジュール７２４）。更に、位置管理システム７１８は、サービスデータベース及び／又はＤＮＳサーバにサービス情報をそれぞれ階層サービス及び／又はドメイン名に関連付けて記憶するための命令を含む（サービスモジュール７２６）。位置管理システム７１８はまた、階層名に基づいて（例えば、サービス情報を取得するために）再帰的検索を実行するための命令を含むことができる（検索モジュール７２８）。
【００５７】
位置管理システム７１８は、メッセージを送信及び受信するための命令（通信モジュール７３０）を更に含んでもよい。データ７３６は、位置管理システム７１８の動作を容易にすることができる任意のデータを含むことができる。データ７３６は、情報を参照する地理的グリッド、符号化階層名、サービスデータベース、及びＤＮＳレコードのうちの１つ以上を含み得る。
【００５８】
図８は、本出願の一実施形態による、階層名を使用して位置ベースのサービス管理を容易にする例示的な装置を示す。位置管理装置８００は、有線、無線、量子光、又は電気通信チャネルを介して互いに通信し得る複数のユニット又は装置を備えることができる。装置８００は、１つ以上の集積回路を使用して実現することができ、図８に示されるものよりも少ない又はより多いユニット又は装置を含んでもよい。更に、装置８００は、コンピュータシステムに統合されてもよく、又は他のコンピュータシステム及び／若しくはデバイスと通信することができる別個のデバイスとして実現されてもよい。具体的には、装置８００は、図７のコンピュータシステム７００のモジュール７２０〜７３０と同様の機能又は動作を実行するユニット８０２〜８１２を備えることができ、命名ユニット８０２と、符号化ユニット８０４と、タグ付けユニット８０６と、サービスユニット８０８と、検索ユニット８１０と、通信ユニット８１２と、を含む。
【００５９】
本詳細な説明において説明されるデータ構造及びコードは、典型的には、コンピュータシステムによって使用されるコード及び／又はデータを記憶することができる任意のデバイス又は媒体であり得るコンピュータ可読記憶媒体上に記憶される。コンピュータ可読記憶媒体としては、揮発性メモリ、不揮発性メモリ、ディスク、磁気テープ、ＣＤ（ｃｏｍｐａｃｔ  ｄｉｓｃ：コンパクトディスク）、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｃ：デジタル多用途ディスク又はｄｉｇｉｔａｌ  ｖｉｄｅｏ  ｄｉｓｃ：デジタルビデオディスク）などの磁気及び光学ストレージデバイス、又は現在知られている又は今後開発されるコンピュータ可読メディア媒体を記憶できるその他の媒体が挙げられるが、これらに限定されない。
【００６０】
詳細な説明の項において説明される方法及びプロセスは、上記のようにコンピュータ可読記憶媒体に記憶され得るコード及び／又はデータとして具体化することができる。コンピュータシステムが、コンピュータ可読記憶媒体上に記憶されたコード及び／又はデータを読み取り、実行する場合、コンピュータシステムは、データ構造及びコードとして具体化され、コンピュータ可読記憶媒体内に記憶された方法及びプロセスを実行する。
【００６１】
更に、上述の方法及びプロセスは、ハードウェアモジュールに含めることができる。例えば、ハードウェアモジュールとしては、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ、ＡＳＩＣ）チップ、フィールドプログラマブルゲートアレイ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ、ＦＰＧＡ）、及び現在知られている又は今後開発される他のプログラム可能論理デバイスを含むことができるが、これらに限定されない。ハードウェアモジュールが起動されると、ハードウェアモジュールは、ハードウェアモジュール内に含まれる方法及びプロセスを実行する。
【図１Ａ】
2020061134.tif 000003
【図１Ｂ】
2020061134.tif 000004
【図２】
2020061134.tif 000005
【図３Ａ】
2020061134.tif 000006
【図３Ｂ】
2020061134.tif 000007
【図３Ｃ】
2020061134.tif 000008
【図４Ａ】
2020061134.tif 000009
【図４Ｂ】
2020061134.tif 000010
【図５】
2020061134.tif 000011
【図６Ａ】
2020061134.tif 000012
【図６Ｂ】
2020061134.tif 000013
【図７】
2020061134.tif 000014
【図８】
2020061134.tif 000015