(57)【特許請求の範囲】
【請求項１】
位置キャッシング・サーバによって行われる、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法であって、
ネットワーク位置情報サーバから、パラメータＭＳＩＳＤＮ、Ｐｒｅｃｉｓｉｏｎ、ＴｉｍｅＳｔａｍｐ、及びＳｅｒｖｉｃｅＴｙｐｅを含む、位置情報サービスについての位置要求を受信するステップであって、ＭＳＩＳＤＮが、前記位置要求を前記位置情報サーバに送信した移動体デバイスについての識別子であり、Ｐｒｅｃｉｓｉｏｎが、前記移動体デバイスから要求された精度レベルであり、ＴｉｍｅＳｔａｍｐが、前記ネットワーク位置情報サーバが前記位置要求を受信した第１の時間値であり、ＳｅｒｖｉｃｅＴｙｐｅが、前記位置情報サービスに割り当てられたサービス精度レベルであり、ＳｅｒｖｉｃｅＴｙｐｅは、それぞれのデフォルト・キャッシュ期間であるＣａｃｈｅＰｅｒｉｏｄに対応する、ステップと、
前記移動体デバイスの現在位置データを取得する必要があることを判定するステップと、
前記ネットワーク位置情報サーバから、該ネットワーク位置情報サーバへの実位置照会の送信に応答して、前記現在位置データを取得するステップと、
ＳｅｒｖｉｃｅＴｙｐｅに対応するＣａｃｈｅＰｅｒｉｏｄを、前記第１の時間値であるＴｉｍｅＳｔａｍｐと前記ネットワーク位置情報サーバが前記実位置照会を受信した第２の時間値との間の時間経過の間に前記移動体デバイスが移動した距離に基づいて、調整するステップと、
新たな位置キャッシュ・エントリを位置キャッシュに対して設定するステップであって、前記新たな位置キャッシュ・エントリが、パラメータＭＳＩＳＤＮ、ＮｅｗＳｅｒｖｉｃｅＴｙｐｅ、ＮｅｗＣａｃｈｅＰｅｒｉｏｄ、ＰｒｉｏｒＬｏｃａｔｉｏｎ、及びＰｒｉｏｒＴｉｍｅＳｔａｍｐを含み、ＮｅｗＳｅｒｖｉｃｅＴｙｐｅは、ＳｅｒｖｉｃｅＴｙｐｅ及びＰｒｅｃｉｓｉｏｎから成る群から選択され、ＮｅｗＣａｃｈｅＰｅｒｉｏｄは、前記調整されたＣａｃｈｅＰｅｒｉｏｄであり、ＰｒｉｏｒＬｏｃａｔｉｏｎは、前記取得された現在位置データであり、ＰｒｉｏｒＴｉｍｅＳｔａｍｐは、前記第２の時間値である、ステップと、
を含む、方法。
【請求項２】
前記調整するステップが、
事前定義された距離調整規則を識別するステップであって、前記事前定義された距離調整規則は、少なくとも１つの距離範囲と、前記少なくとも１つの距離範囲にそれぞれ関連付けられた比率とを含み、前記比率は、前記少なくとも１つの距離範囲でカバーされる距離に反比例しており、そのため、前記移動体デバイスがより速く移動するほど該移動体デバイスはより短いキャッシュ期間を達成するようになっている、ステップと、
前記距離が前記少なくとも１つの距離範囲のうちの第１の距離範囲内に入ることを見出すステップと、
前記第１の距離範囲に関連付けられた前記比率をＣａｃｈｅＰｅｒｉｏｄに乗じた結果得られる値をＣａｃｈｅＰｅｒｉｏｄに再割り当てするステップと、
を含む、請求項１に記載の方法。
【請求項３】
前記設定するステップが、
パラメータＤｅｆａｕｌｔＳｅｒｖｉｃｅＴｙｐｅ及びＤｅｆａｕｌｔＣａｃｈｅＰｅｒｉｏｄを含むサービス・キャッシュ・エントリＣａｃｈｅＤｅｆａｕｌｔを検索するステップであって、ＤｅｆａｕｌｔＳｅｒｖｉｃｅＴｙｐｅが、前記位置情報サービスに対して割り当てられた前記サービス精度レベルである、ステップと、
前記サービス・キャッシュ・エントリのＤｅｆａｕｌｔＳｅｒｖｉｃｅＴｙｐｅが、前記位置要求のＰｒｅｃｉｓｉｏｎと同一ではないことを判定するステップと、
ＤｅｆａｕｌｔＳｅｒｖｉｃｅＴｙｐｅとＰｒｅｃｉｓｉｏｎとの間で高い方の精度レベルを、前記位置キャッシュ・エントリの新たなサービス・タイプであるＮｅｗＳｅｒｖｉｃｅＴｙｐｅとして選択するステップと、
前記位置キャッシュ・エントリを前記新たなサービス・タイプであるＮｅｗＳｅｒｖｉｃｅＴｙｐｅで更新するステップと、
を含む、請求項１又は請求項２に記載の方法。
【請求項４】
前記判定するステップが、
前記位置キャッシュ内に位置キャッシュ・エントリが格納されていることを発見するステップであって、前記位置キャッシュ・エントリは、パラメータＭＳＩＳＤＮ、ＳｅｒｖｉｃｅＴｙｐｅ、ＣａｃｈｅＰｅｒｉｏｄ、ＰｒｉｏｒＬｏｃａｔｉｏｎ、及びＰｒｉｏｒＴｉｍｅＳｔａｍｐを含み、ＰｒｉｏｒＬｏｃａｔｉｏｎは、最新の位置データであり、ＰｒｉｏｒＴｉｍｅＳｔａｍｐは、前記ネットワーク位置情報サーバに前記最新の位置データが要求された第３の時間値である、ステップと、
事前定義されたキャッシュ期間計算規則に従い、前記位置要求の精度レベルであるＰｒｅｃｉｓｉｏｎと、前記発見された位置キャッシュ・エントリのサービス精度レベルであるＳｅｒｖｉｃｅＴｙｐｅとからキャッシュ期間を計算するステップと、
前記計算されたキャッシュ期間、前記位置要求のＴｉｍｅＳｔａｍｐ、及び前記発見された位置キャッシュのＰｒｉｏｒＴｉｍｅＳｔａｍｐから、前記計算されたキャッシュ期間が期限切れしていることを判定することにより、前記発見された位置キャッシュ・エントリのＰｒｉｏｒＬｏｃａｔｉｏｎが前記移動体デバイスからの前記位置要求にサービス提供することができないことを判定するステップと、
を含む、請求項１乃至請求項３のいずれか１項に記載の方法。
【請求項５】
前記計算するステップが、
ＰｒｅｃｉｓｉｏｎとＳｅｒｖｉｃｅＴｙｐｅとが同一ではないことを判定するステップであって、前記事前定義されたキャッシュ期間計算規則は、Ｐｒｅｃｉｓｉｏｎのために使用可能な全ての値と、前記Ｐｒｅｃｉｓｉｏｎの全ての値にそれぞれが関連付けられた係数とを含み、前記係数は、Ｐｒｅｃｉｓｉｏｎの値に反比例しており、そのため、前記移動体デバイスが前記位置要求においてより高い精度レベルを要求した場合には前記キャッシュ期間が短縮され、前記移動体デバイスが前記位置要求においてより低い精度レベルを要求した場合には前記キャッシュ期間が延長されるようになっている、ステップと、
Ｐｒｅｃｉｓｉｏｎに関連付けられた前記係数をＣａｃｈｅＰｅｒｉｏｄに乗じた結果得られる値をＣａｃｈｅＰｅｒｉｏｄに再割り当てするステップと、
を含む、請求項４に記載の方法。
【請求項６】
プロセッサと、前記プロセッサに結合されたコンピュータ可読メモリ・ユニットとを含むコンピュータ・システムであって、前記コンピュータ可読メモリ・ユニットは、前記プロセッサにより実行されたときに位置キャッシング・サーバにより行われるネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間の最適化のための方法を実施する命令を含み、前記システムは、
ネットワーク位置情報サーバから、パラメータＭＳＩＳＤＮ、Ｐｒｅｃｉｓｉｏｎ、ＴｉｍｅＳｔａｍｐ、及びＳｅｒｖｉｃｅＴｙｐｅを含む、位置情報サービスについての位置要求を受信するための手段であって、ＭＳＩＳＤＮが、前記位置要求を前記位置情報サーバに送信した移動体デバイスについての識別子であり、Ｐｒｅｃｉｓｉｏｎが、前記移動体デバイスから要求された精度レベルであり、ＴｉｍｅＳｔａｍｐが、前記ネットワーク位置情報サーバが前記位置要求を受信した第１の時間値であり、ＳｅｒｖｉｃｅＴｙｐｅあり、前記位置情報サービスに割り当てられたサービス精度レベルであり、前記ＳｅｒｖｉｃｅＴｙｐｅは、それぞれのデフォルト・キャッシュ期間であるＣａｃｈｅＰｅｒｉｏｄに対応する、手段と、
前記移動体デバイスの現在位置データを取得する必要があることを判定するための手段と、
前記ネットワーク位置情報サーバから、該ネットワーク位置情報サーバへの実位置照会の送信に応答して、前記現在位置データを取得するための手段と、
ＳｅｒｖｉｃｅＴｙｐｅに対応するＣａｃｈｅＰｅｒｉｏｄを、前記第１の時間値であるＴｉｍｅＳｔａｍｐと前記ネットワーク位置情報サーバが前記実位置照会を受信した第２の時間値との間の時間経過の間に前記移動体デバイスが移動した距離に基づいて調整するための、コンピュータのプロセッサと、
新たな位置キャッシュ・エントリを位置キャッシュに対して設定するための手段であって、前記新たな位置キャッシュ・エントリが、パラメータＭＳＩＳＤＮ、ＮｅｗＳｅｒｖｉｃｅＴｙｐｅ、ＮｅｗＣａｃｈｅＰｅｒｉｏｄ、ＰｒｉｏｒＬｏｃａｔｉｏｎ、及びＰｒｉｏｒＴｉｍｅＳｔａｍｐを含み、ＮｅｗＳｅｒｖｉｃｅＴｙｐｅは、ＳｅｒｖｉｃｅＴｙｐｅ及びＰｒｅｃｉｓｉｏｎから成る群から選択され、ＮｅｗＣａｃｈｅＰｅｒｉｏｄは、前記調整されたＣａｃｈｅＰｅｒｉｏｄであり、ＰｒｉｏｒＬｏｃａｔｉｏｎは、前記取得された現在位置データであり、ＰｒｉｏｒＴｉｍｅＳｔａｍｐは、前記第２の時間値である、手段と、
を含む、コンピュータ・システム。
【請求項７】
前記調整するための手段が、
事前定義された距離調整規則を識別するための手段であって、前記事前定義された距離調整規則は、少なくとも１つの距離範囲と、前記少なくとも１つの距離範囲にそれぞれ関連付けられた比率とを含み、前記比率は、前記少なくとも１つの距離範囲でカバーされる距離に反比例しており、そのため、前記移動体デバイスがより速く移動するほど該移動体デバイスはより短いキャッシュ期間を達成するようになっている、手段と、
前記距離が前記少なくとも１つの距離範囲のうちの第１の距離範囲内に入ることを見出すための手段と、
前記第１の距離範囲に関連付けられた前記比率をＣａｃｈｅＰｅｒｉｏｄに乗じた結果得られる値をＣａｃｈｅＰｅｒｉｏｄに再割り当てするための手段と、
をさらに含む、請求項６に記載のコンピュータ・システム。
【請求項８】
前記設定するための手段が、
パラメータＤｅｆａｕｌｔＳｅｒｖｉｃｅＴｙｐｅ及びＤｅｆａｕｌｔＣａｃｈｅＰｅｒｉｏｄを含むサービス・キャッシュ・エントリＣａｃｈｅＤｅｆａｕｌｔを検索するための手段であって、ＤｅｆａｕｌｔＳｅｒｖｉｃｅＴｙｐｅが、前記位置情報サービスに対して割り当てられた前記サービス精度レベルである、手段と、
前記サービス・キャッシュ・エントリのＤｅｆａｕｌｔＳｅｒｖｉｃｅＴｙｐｅが前記位置要求のＰｒｅｃｉｓｉｏｎと同一ではないことを判定するための手段と、
ＤｅｆａｕｌｔＳｅｒｖｉｃｅＴｙｐｅとＰｒｅｃｉｓｉｏｎとの間で高い方の精度レベルを、前記位置キャッシュ・エントリの新たなサービス・タイプであるＮｅｗＳｅｒｖｉｃｅＴｙｐｅとして選択するための手段と、
前記位置キャッシュ・エントリを前記新たなサービス・タイプであるＮｅｗＳｅｒｖｉｃｅＴｙｐｅで更新するための手段と、
をさらに含む、請求項６又は請求項７に記載のコンピュータ・システム。
【請求項９】
前記判定するための手段が、
前記位置キャッシュ内に位置キャッシュ・エントリが格納されていることを発見するための手段であって、前記位置キャッシュ・エントリは、パラメータＭＳＩＳＤＮ、ＳｅｒｖｉｃｅＴｙｐｅ、ＣａｃｈｅＰｅｒｉｏｄ、ＰｒｉｏｒＬｏｃａｔｉｏｎ、及びＰｒｉｏｒＴｉｍｅＳｔａｍｐを含み、ＰｒｉｏｒＬｏｃａｔｉｏｎは、最新の位置データであり、ＰｒｉｏｒＴｉｍｅＳｔａｍｐは、前記ネットワーク位置情報サーバに前記最新の位置データが要求された第３の時間値である、手段と、
事前定義されたキャッシュ期間計算規則に従い、前記位置要求の精度レベルであるＰｒｅｃｉｓｉｏｎと、前記発見された位置キャッシュ・エントリのサービス精度レベルであるＳｅｒｖｉｃｅＴｙｐｅとからキャッシュ期間を計算するための手段と、
前記計算されたキャッシュ期間、前記位置要求のＴｉｍｅＳｔａｍｐ、及び前記発見された位置キャッシュのＰｒｉｏｒＴｉｍｅＳｔａｍｐから、前記計算されたキャッシュ期間が期限切れしていることを判定することにより、前記発見された位置キャッシュ・エントリのＰｒｉｏｒＬｏｃａｔｉｏｎが前記移動体デバイスからの前記位置要求にサービス提供することができないことを判定するための手段と、
をさらに含む、請求項６乃至請求項８のいずれか１項に記載のコンピュータ・システム。
【請求項１０】
前記計算するための手段が、
ＰｒｅｃｉｓｉｏｎとＳｅｒｖｉｃｅＴｙｐｅとが同一ではないことを判定するための手段であって、前記事前定義されたキャッシュ期間計算規則は、Ｐｒｅｃｉｓｉｏｎのために使用可能な全ての値と、前記Ｐｒｅｃｉｓｉｏｎの全ての値にそれぞれが関連付けられた係数とを含み、前記係数は、Ｐｒｅｃｉｓｉｏｎの値に反比例しており、そのため、前記移動体デバイスが前記位置要求においてより高い精度レベルを要求した場合には前記キャッシュ期間が短縮され、前記移動体デバイスが前記位置要求においてより低い精度レベルを要求した場合には前記キャッシュ期間が延長されるようになっている、手段と、
Ｐｒｅｃｉｓｉｏｎに関連付けられた前記係数をＣａｃｈｅＰｅｒｉｏｄに乗じた結果得られる値をＣａｃｈｅＰｅｒｉｏｄに再割り当てするための手段と、
をさらに含む、請求項９に記載のコンピュータ・システム。
【請求項１１】
請求項１乃至請求項５のいずれか１項に記載の方法の各ステップをコンピュータ上で実行させる、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を自動的に最適化するためのシステム及び関連する方法を開示する。
【背景技術】
【０００２】
従来のネットワーク・ベース型位置情報サービス方法は、位置要求を処理するための待ち時間から生じる位置データの不正確さを克服するため、及びネットワーク位置情報サーバごとにより多くのトランザクションをサポートするために、位置データをキャッシュする。従来のネットワーク・ベース型位置情報サービス方法は、種々のタイプのサービスについて、流動的な状況の変化を考慮に入れることなく統計学的にキャッシュ期間を決定しており、そのことがサービス提供される位置データの精度を低下させる。
【０００３】
故に、当該技術分野において、前述の問題に対処する必要性が存在する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するためのシステム及び関連の方法を提供することである。
【課題を解決するための手段】
【０００５】
本発明の１つの好ましい実施形態によれば、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法は、ネットワーク位置情報サーバから、パラメータＭＳＩＳＤＮ、Ｐｒｅｃｉｓｉｏｎ、ＴｉｍｅＳｔａｍｐ、及びＳｅｒｖｉｃｅＴｙｐｅを含む、位置情報サービスについての位置要求を受信するステップであって、ＭＳＩＳＤＮが、位置要求を位置情報サーバに送信した移動体デバイスについての識別子であり、Ｐｒｅｃｉｓｉｏｎが、移動体デバイスから要求された精度レベルであり、ＴｉｍｅＳｔａｍｐが、ネットワーク位置情報サーバが位置要求を受信した第１の時間値であり、ＳｅｒｖｉｃｅＴｙｐｅが、位置情報サービスに割り当てられがサービス精度レベルであり、ＳｅｒｖｉｃｅＴｙｐｅは、それぞれのデフォルト・キャッシュ期間であるＣａｃｈｅＰｅｒｉｏｄに対応する、ステップと、移動体デバイスの現在位置データを取得する必要があることを判定するステップと、ネットワーク位置情報サーバから、ネットワーク位置情報サーバへの実位置照会の送信に応答して、現在位置データを取得するステップと、コンピュータのプロセッサが、ＳｅｒｖｉｃｅＴｙｐｅに対応するＣａｃｈｅＰｅｒｉｏｄを、第１の時間値であるＴｉｍｅＳｔａｍｐと、ネットワーク位置情報サーバが実位置照会を受信した第２の時間値との間の時間経過の間に移動体デバイスが移動した距離に基づいて調整するステップと、新たな位置キャッシュ・エントリを位置キャッシュに対して設定するステップであって、新たな位置キャッシュ・エントリが、パラメータＭＳＩＳＤＮ、ＮｅｗＳｅｒｖｉｃｅＴｙｐｅ、ＮｅｗＣａｃｈｅＰｅｒｉｏｄ、ＰｒｉｏｒＬｏｃａｔｉｏｎ、及びＰｒｉｏｒＴｉｍｅＳｔａｍｐを含み、ＮｅｗＳｅｒｖｉｃｅＴｙｐｅは、ＳｅｒｖｉｃｅＴｙｐｅ及びＰｒｅｃｉｓｉｏｎから成る群から選択され、ＮｅｗＣａｃｈｅＰｅｒｉｏｄは、調整されたＣａｃｈｅＰｅｒｉｏｄであり、ＰｒｉｏｒＬｏｃａｔｉｏｎは、取得された現在位置データであり、ＰｒｉｏｒＴｉｍｅＳｔａｍｐは、第２の時間値である、ステップと、を含む。
【０００６】
本発明の１つの好ましい実施形態によれば、コンピュータ・プログラム製品はコンピュータ可読プログラム・コードを具体化するコンピュータ可読メモリ・ユニットを含む。コンピュータ可読プログラム・コードは、コンピュータ・システムのプロセッサにより実行されたときに、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法を実施する命令を含む。
【０００７】
本発明の１つの好ましい実施形態によれば、コンピュータ・システムは、プロセッサと、プロセッサに結合されたコンピュータ可読メモリ・ユニットとを含み、コンピュータ可読メモリ・ユニットは、プロセッサにより実行されたときに、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法を実施する命令を含む。
【０００８】
本発明の１つの好ましい実施形態によれば、コンピュータ・インフラストラクチャをサポートするためのプロセスは、コンピュータ・システムにおいてコンピュータ可読コードの作成、統合、ホスティング、保守、及び配備のうちの少なくとも１つを行うための少なくとも１つのサポート・サービスを提供することを含み、このコンピュータ・システムと組み合わされたコードは、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法を行うことができる。
【０００９】
更なる一態様の観点から見ると、本発明は、位置キャッシング・サーバにより行われるネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間の最適化のためのコンピュータ・プログラム製品を提供し、このコンピュータ・プログラム製品は、処理回路により読み出し可能である、本発明のステップを行う方法を行うために処理回路によって実行される命令を格納した、コンピュータ可読ストレージ媒体を含む。
【００１０】
更なる一態様の観点から見ると、本発明は、コンピュータ可読媒体上に格納され、デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、プログラムがコンピュータ上で実行されたときに本発明のステップを行うためのソフトウェア・コード部分を含む、コンピュータ・プログラムを提供する。
【００１１】
本発明を、以下、例示のみの目的で、添付の図面に示される好ましい実施形態を参照して説明する。
【図面の簡単な説明】
【００１２】
【図１】本発明の好ましい実施形態による、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するためのシステムを図示する。
【図２】本発明の好ましい実施形態による、図１のシステムのネットワーク位置情報サーバにより行われる、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法を示すフローチャートである。
【図３】本発明の好ましい実施形態による、図１のシステムの位置キャッシング・プロセスにより行われる、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法を示すフローチャートである。
【図４】本発明の好ましい実施形態による、図１のシステムの位置キャッシング・プロセスにより行われる、位置データのキャッシュ期間を最適化するようにキャッシング間隔を計算するための方法を示すフローチャートである。
【図５】本発明の好ましい実施形態による、図１のシステムの位置キャッシング・プロセスにより行われる、位置データのキャッシュ期間を最適化するように位置キャッシュ・エントリを設定するための方法を示すフローチャートである。
【図６】本発明の好ましい実施形態による、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための制御パラメータの集合を示す。
【図７】本発明の好ましい実施形態による、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための制御パラメータの集合を示す。
【図８】本発明の好ましい実施形態による、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための制御パラメータの集合を示す。
【図９】本発明の好ましい実施形態による、位置要求、及び図３のネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法から得られる最適化されたキャッシュ期間の例を示す。
【図１０】本発明の好ましい実施形態による、位置要求、及び図３のネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法から得られる最適化されたキャッシュ期間の例を示す。
【図１１】本発明の好ましい実施形態による、位置要求、及び図３のネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法から得られる最適化されたキャッシュ期間の例を示す。
【図１２】本発明の好ましい実施形態による、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するために用いられるコンピュータ・システムを示す。
【発明を実施するための形態】
【００１３】
図１は、本発明の好ましい実施形態による、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するためのシステム１０を示す。
【００１４】
システム１０は、キャリアと第三者とを含む。キャリアはサービス提供者とも呼ばれ、キャリア・データ・ネットワーク１０３と、ネットワーク位置情報サーバ１０４と、サービス・デリバリ・プラットフォーム（ＳＤＰ）１０５と、位置キャッシング・サーバ１０６とを含む。第三者は、仮想私設ネットワーク（ＶＰＮ）１２０と、第三者アプリケーション・サーバ１２１とを含む。
【００１５】
キャリア・データ・ネットワーク１０３は、ロケーション・ベースド・サーバ１０２、少なくとも１つの基地局及び少なくとも１つのベース移動体デバイスを、ネットワーク位置情報サーバ１０４と相互接続する。キャリア・データ・ネットワーク１０３は、上記の少なくとも１つの移動体デバイスに、データ・サービスを提供する。キャリア・データ・ネットワーク１０３は、無線ネットワーク、インターネット・プロトコル（ＩＰ）ベースのネットワーク、又はその組み合わせとすることができる。
【００１６】
上記の少なくとも１つのベース移動体デバイスの移動体デバイス１０１は、測位機能を有するセルラー式端末デバイスである。移動体デバイスは、より正確なネットワーク・ベースの位置測位をサポートするために、内蔵の支援型全地球測位システム（ＧＰＳ）プロセッサを利用することができる。
【００１７】
上記の少なくとも１つの基地局の基地局１００は、ロケーション・ベースド・サーバ１０２を介して、移動体デバイス１０１をキャリア・データ・ネットワーク１０３に接続する。基地局１００は一般にセル・タワーと呼ばれ、これは、セルと呼ばれる有効範囲内における複数の移動体デバイスの無線データ通信及び音声通信をサポートするものである。
【００１８】
ロケーション・ベースド・サーバ１０２は、事前定義された測位技術の使用により、移動体デバイス１０１に関連付けられた位置座標を判定する。測位技術の例は、特に、セル・タワー識別、複数の基地局にまたがる三角測量であり得る。セル・タワー識別は、低レベル精度の測位に利用される。三角測量は、高レベル精度の測位に用いられる。
【００１９】
ネットワーク位置情報サーバ１０４は、ネットワーク・ベース型位置情報サービスを提供するサーバ・プラットフォームである。ネットワーク位置情報サーバ１０４は、種々の測位技術の使用による位置の判定、移動体デバイスからの位置要求の処理、スロットリング、課金（ビリング）等といった種々のサービス・デリバリ・プラットフォーム機能を行う構成要素を含む。ネットワーク位置情報サーバ１０４は、異なる測位技術を利用し得る種々のロケーション・ベースド・サーバ１０２からの複数の位置情報を集約する。ネットワーク位置情報サーバ１０４は、Ｐａｒｌａｙ  Ｘ、ＯｐｅｎＬＳ、及びＬＩＦ／ＭＬＰといった種々の公開アプリケーション・プログラミング・インターフェース（ＡＰＩ）を用いて、集約された位置情報及び座標をサービス・デリバリ・プラットフォーム（ＳＤＰ）１０５に伝達する。ネットワーク位置情報サーバ１０４により行われるステップについては、下記の図２の説明を参照のこと。
【００２０】
サービス・デリバリ・プラットフォーム（ＳＤＰ）１０５は、キャリアにより提供される位置情報サービスを第三者アプリケーション・サーバ１２１に配信する。ＳＤＰ１０５は、ネットワーク位置情報サーバ１０４及び位置キャッシング・サーバ１０６と対話し、移動体デバイス１０１についての現在の座標又は位置キャッシュ・エントリとして位置情報を取得する。位置情報サービスの例は、特に、ある地理領域内の移動体デバイスのグループについての位置情報を提供するグループ位置情報サービス、ある移動体デバイスの特定の位置座標、デバイスの位置についての地理空間的（ｇｅｏｓｐａｔｉａｌ）マッピング情報、位置認識アプリケーションの実行などであり得る。
【００２１】
位置キャッシング・サーバ１０６は、キャリアに対して位置情報及び座標のキャッシング・サービスを提供する。位置キャッシング・サーバ１０６は、位置キャッシング・プロセス１０７と、サービス・キャッシュ１０８と、位置キャッシュ１０９とを含む。サービス・キャッシュ１０８は、少なくとも１つのサービス・キャッシュ・エントリであるＣａｃｈｅＤｅｆａｕｌｔ（ＳｅｒｖｉｃｅＴｙｐｅ、ＣａｃｈｅＰｅｒｉｏｄ）を含み、ＳｅｒｖｉｃｅＴｙｐｅは、キャリアによって提供されるサービス精度レベルを示し、ＣａｃｈｅＰｅｒｉｏｄは、サービス精度レベルＳｅｒｖｉｃｅＴｙｐｅに関連付けられたデフォルト・キャッシュ期間を示す。デフォルト・キャッシュ期間ＣａｃｈｅＰｅｒｉｏｄは、位置キャッシング・プロセス１０７によって動的に最適化される。位置キャッシュ１０９は、少なくとも１つの位置キャッシュ・エントリをタプル（ＭＳＩＳＤＮ、ＣａｃｈｅＤｅｆａｕｌｔ、ＰｒｉｏｒＬｏｃａｔｉｏｎ、ＰｒｉｏｒＴｉｍｅＳｔａｍｐ）として含む。位置キャッシング・プロセス１０７によって行われるステップ、及び位置キャッシュ・エントリの属性の詳細については、下記の図３の説明を参照のこと。
【００２２】
仮想私設ネットワーク（ＶＰＮ）１２０は、第三者アプリケーション・サーバ１２１をキャリアにより提供される位置情報サービスのためのサービス・デリバリ・プラットフォーム（ＳＤＰ）１０５に接続する、セキュアなインターネット・プロトコル（ＩＰ）ベース・ネットワークである。第三者アプリケーション・サーバ１２１は、位置情報を要求し、消費する。第三者アプリケーションの例は、特に、企業のセールス・フォース・オートメーション・システム、グーグル・マップ（Ｇｏｏｇｌｅ  Ｍａｐ）のようなアプリケーション・システム・プロバイダのアプリケーション等であり得る。
【００２３】
システム１０は、ネットワーク位置情報サーバ１０４によって提供される位置情報の精度を位置キャッシング・サーバ１０６の使用により改善する。移動体デバイス１０１のそばにいる又は第三者アプリケーション・サーバ１２１に接続しているエンド・ユーザは、エンド・ユーザによって要求される精度レベルに比例して位置情報サーバの精度が高くなることに気付く。位置キャッシング・プロセス１０７は、位置キャッシュ１０９に格納されているキャッシュされた位置データを使用すべき場合なのか又は移動体デバイス１０１に実位置情報を照会すべき場合なのかを、サービス精度レベルごとのデフォルト・キャッシュ期間、移動体デバイス１０１により要求された精度、及び移動体デバイス１０１が移動した距離に従い、動的かつ自動的に判断する。
【００２４】
本発明の好ましい実施形態は、サービス加入者の数、位置情報の処理量、待ち時間の要件等といった、キャッシング機能と無関係の非機能的要件に関する位置キャッシング・サーバ１０６の具体的な詳細によって、異なり得る。位置キャッシング・サーバ１０６は、アルゴリズム、プロセス及びキャッシュをこれらの非機能的要件を満たすようにスケール変更するための支援として、アプリケーション・サーバ・ソフトウェアを用いることができる。アプリケーション・サーバ・ソフトウェアの例は、特に、ＩＢＭ（登録商標）ＷｅｂＳｐｈｅｒｅ（登録商標）Ａｐｐｌｉｃａｔｉｏｎ  Ｓｅｒｖｅｒ、Ｏｒａｃｌｅ（登録商標）ＷｅｂＬｏｇｉｃ等であり得る。（ＩＢＭ及びＷｅｂＳｐｈｅｒｅは米国におけるＩｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ  Ｃｏｒｐｏｒａｔｉｏｎの登録商標である。Ｏｒａｃｌｅは米国におけるＯｒａｃｌｅ  Ｃｏｒｐｏｒａｔｉｏｎ及び／又はその関連会社の登録商標である。）ネットワーク位置情報サーバ１０４とサービス・デリバリ・プラットフォーム１０５とを、共通のアプリケーション・プログラム・インターフェース（ＡＰＩ）又はカスタムな統合を通じて統合することができる。共通ＡＰＩの例は、特に、ウェブ・サービス、ＯｐｅｎＬＳ、ＬＩＦ／ＭＬＰ等であり得る。カスタムな統合に用いられる技術の例は、特に、Ｅｎｔｅｒｐｒｉｓｅ  ＪａｖａＢｅａｎｓ（ＥＪＢ）、Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ（ＳＯＡＰ）又はＷｅｂ  Ｓｅｒｖｉｃｅインターフェースであり得る。大量の位置キャッシュ・エントリが必要とされる好ましい実施形態においては、サービス・キャッシュ１０８と位置キャッシュ１０９とが、ＴｉｍｅｓＴｅｎ又はＳｏｌｉｄＤＢのような別個のインメモリ・データベースとして実装される。
【００２５】
図２は、本発明の好ましい実施形態による、上記の図１のシステムのネットワーク位置情報サーバにより行われる、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法を示すフローチャートである。
【００２６】
ステップ２０５において、ネットワーク位置情報サーバは、移動体デバイスから、その移動体デバイスの２次元（ＸＹ）座標とも呼ばれる位置データを要求する位置要求（ＭＳＩＳＤＮ、Ｐｒｅｃｉｓｉｏｎ）を受信する。位置要求の第１のパラメータであるＭＳＩＳＤＮは、位置要求の発信元である移動体デバイスの一意の識別子を示す。ＭＳＩＳＤＮという用語は、Ｍｏｂｉｌｅ  Ｓｔａｔｉｏｎ  Ｉｎｔｅｇｒａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｄｉｇｉｔａｌ  Ｎｅｔｗｏｒｋの頭字語であり、一般に移動局（Ｍｏｂｉｌｅ  Ｓｔａｔｉｏｎ）ＩＳＤＮ番号、又は無線通信の場合は携帯電話番号と呼ばれる。位置要求の第２のパラメータであるＰｒｅｃｉｓｉｏｎは、移動体デバイスにより要求された精度レベルを示す。位置要求は、そのシステムで使用される業界標準定義に準拠してフォーマット化される。業界標準定義の例は、特に、Ｐａｒｌａｙ／Ｘ、ＬＩＦ  ＭＬＰ、ＯｐｅｎＬＳ等であり得る。本発明の１つの好ましい実施形態において、位置要求の第２のパラメータであるＰｒｅｃｉｓｉｏｎは、Ｐａｒｌａｙ／Ｘ標準定義の精度レベルに従う集合｛ＨＩＧＨ、ＭＥＤＩＵＭ、ＬＯＷ｝から選択される精度レベルを有する。次いで、ネットワーク位置情報サーバは、ステップ２１０に進む。
【００２７】
ステップ２１０において、ネットワーク位置情報サーバは、第３のパラメータであるＴｉｍｅＳｔａｍｐと、第４のパラメータであるＳｅｒｖｉｃｅＴｙｐｅとを判定し、受信した位置要求にパラメータＴｉｍｅＳｔａｍｐ及びＳｅｒｖｉｃｅＴｙｐｅを付加する。第３のパラメータＴｉｍｅＳｔａｍｐは、ネットワーク位置情報サーバが位置要求を受信した時点のログを記録するタイムスタンプである。第４のパラメータＳｅｒｖｉｃｅＴｙｐｅは、ネットワーク位置情報サーバのサービス精度レベルであり、受信した位置要求に応答してサービス提供される位置データの精度を示す。第４のパラメータＳｅｒｖｉｃｅＴｙｐｅのサービス精度レベルは、要求されたサービスのタイプにより判定されるが、移動体デバイスが位置要求において要求した精度レベルＰｒｅｃｉｓｉｏｎからは独立している。ネットワーク位置情報サーバは、ドメイン及びサブドメイン名、バインディング又はカップリング技術を用いることにより、第４のパラメータＳｅｒｖｉｃｅＴｙｐｅを判定する。次いで、ネットワーク位置情報サーバは、ステップ２１５に進む。
【００２８】
本発明の１つの好ましい実施形態において、第４のパラメータＳｅｒｖｉｃｅＴｙｐｅは、第２のパラメータＰＲＥＣＩＳＩＯＮと矛盾しない動作については、集合｛ＵＮＫＮＯＷＮ、ＨＩＧＨ、ＭＥＤＩＵＭ、ＬＯＷ｝から選択される。サービス精度レベルがＨＩＧＨである場合、ネットワーク位置情報サーバは、受信した位置要求に応答して精度の高い位置データを提供する。よって、サービス精度レベルＳｅｒｖｉｃｅＴｙｐｅ＝ＨＩＧＨに関連付けられるキャッシュ期間は、他のサービス精度レベルよりも短い。ＨＩＧＨサービス精度レベルに関連付けられるサービスの例は、特に、ナビゲーション・サービス、緊急呼び出しサービス、配車（ｄｉｓｐａｔｃｈｉｎｇ）サービス等であり得る。サービス精度レベルがＭＥＤＩＵＭである場合、ネットワーク位置情報サーバは、受信した位置要求に応答して中程度の精度の位置データを提供する。ＭＥＤＩＵＭサービス精度レベルに関連付けられるサービスの例は、特に、友人探し、デート・サービス、地域の店舗検索、電話帳検索等のような位置情報サービスであり得る。サービス精度レベルがＬＯＷである場合、ネットワーク位置情報サーバは、受信した位置要求に応答して最小限の精度の位置データを提供する。よって、サービス精度レベルＳｅｒｖｉｃｅＴｙｐｅ＝ＬＯＷに関連付けられるキャッシュ期間は、全てのサービス精度レベルの中で最も長い。ＬＯＷサービス精度レベルに関連付けられるサービスの例は、特に、気象情報サービス、交通情報サービス、地域ニュース、地域スポーツ・チームの順位レポート、アウトドア活動状況レポート等であり得る。サービス精度レベルＵＮＫＮＯＷＮは、あらゆるサービス精度レベルについてのデフォルト値であり、受信した位置要求に応答して、中程度から高い精度までの位置データを戻す。それぞれのサービス精度レベルのキャッシュ期間の例については、図６を参照のこと。
【００２９】
ステップ２１５において、ネットワーク位置情報サーバは、４つのパラメータ（ＭＳＩＳＤＮ、Ｐｒｅｃｉｓｉｏｎ、ＴｉｍｅＳｔａｍｐ、ＳｅｒｖｉｃｅＴｙｐｅ）を含む位置要求を位置キャッシング・プロセスに送信する。ステップ２１５に応答して位置キャッシング・プロセスにより行われるステップについては、下記の図３のステップ３００の説明を参照のこと。次いで、ネットワーク位置情報サーバはステップ２２０に進む。
【００３０】
ステップ２２０において、ネットワーク位置情報サーバは、ステップ２１５において送信された位置要求の応答を位置キャッシング・プロセスから受信し、位置キャッシング・プロセスがネットワーク位置情報サーバに、位置キャッシュ・エントリ又は実位置照会のどちらを送信したのか判定する。ネットワーク位置情報サーバが、下記の図３のステップ３４０に応答して、位置キャッシング・プロセスから実位置照会を受信した場合には、ネットワーク位置情報サーバはステップ２２５に進み、受信した実位置照会を処理する。ネットワーク位置情報サーバが、下記の図３のステップ３３５に応答して、位置キャッシング・プロセスから位置キャッシュ・エントリを受信した場合には、ネットワーク位置情報サーバはステップ２３５に進み、受信した位置キャッシュ・エントリを処理する。
【００３１】
ステップ２２５において、ネットワーク位置情報サーバは、キャリア・データ・ネットワークを介して実位置照会を行うことにより、移動体デバイスの新たな位置データを取得する。次いで、ネットワーク位置情報サーバはステップ２３０に進む。
【００３２】
ステップ２３０において、ネットワーク位置情報サーバは、新たな位置データを、位置要求に関連付けられる位置キャッシュ・エントリの更新のために位置キャッシング・プロセスに送信し、かつ、位置要求に対する応答として移動体デバイスに送信する。次いで、ネットワーク位置情報サーバは位置要求の処理を終了する。
【００３３】
ステップ２３５において、ネットワーク位置情報サーバは、受信した位置キャッシュ・エントリを位置要求に対する応答として移動体デバイスに転送する。ステップ２３０及び２３５において、ネットワーク位置情報サーバは、移動体デバイスに提供されたサービスに基づく課金及び使用量の情報を取得する。次いで、ネットワーク位置情報サーバは位置要求の処理を終了する。
【００３４】
図３は、本発明の好ましい実施形態による、上記の図１のシステムの位置キャッシング・プロセスにより行われる、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法を示すフローチャートである。
【００３５】
ステップ３００において、位置キャッシング・プロセスは、上記の図２のステップ２１５に応答して、ネットワーク位置情報サーバから、位置要求（ＭＳＩＳＤＮ、Ｐｒｅｃｉｓｉｏｎ、ＴｉｍｅＳｔａｍｐ、ＳｅｒｖｉｃｅＴｙｐｅ）を受信する。位置キャッシング・プロセスはその後、受信した位置要求の第１のパラメータＭＳＩＳＤＮに対応する位置キャッシュ・エントリを、位置キャッシュをＭＳＩＳＤＮで検索することにより取り出す。位置キャッシュ・エントリは、（ＭＳＩＳＤＮ、ＣａｃｈｅＤｅｆａｕｌｔ、ＰｒｉｏｒＬｏｃａｔｉｏｎ、ＰｒｉｏｒＴｉｍｅＳｔａｍｐ）を含む。第１の属性であるＭＳＩＳＤＮは、位置キャッシュ・エントリの一意の識別子を示し、これは、位置要求の第１のパラメータであるＭＳＩＳＤＮと一致する。第２の属性であるＣａｃｈｅＤｅｆａｕｌｔは、サービス精度レベルとそのサービス精度レベルに関連付けられたキャッシュ期間とを含むそれぞれのサービス・キャッシュ・エントリに格納された、キャッシュ・デフォルト情報を示す（ＳｅｒｖｉｃｅＴｙｐｅ、ＣａｃｈｅＰｅｒｉｏｄ）。サービス精度レベルに関連付けられたキャッシュ期間であるＣａｃｈｅＰｅｒｉｏｄが、再設定の対象である。第３の属性であるＰｒｉｏｒＬｏｃａｔｉｏｎは、直近の位置要求においてサンプリングされた位置データを示す。第４の属性であるＰｒｉｏｒＴｉｍｅＳｔａｍｐは、直近の位置要求が為された時点のタイムスタンプを示す。次いで、位置キャッシング・プロセスは、ステップ３０５に進む。
【００３６】
ステップ３０５において、位置キャッシング・プロセスは、受信した位置要求に対応する位置キャッシュ・エントリが入手可能であるかどうかを、第１のパラメータＭＳＩＳＤＮで位置キャッシュを検索することにより判定する。位置キャッシング・プロセスが、受信した位置要求に対応する位置キャッシュ・エントリが入手可能であると判定した場合は、位置キャッシング・プロセスは、ステップ３１０に進む。位置キャッシング・プロセスが、受信した位置要求に対応する位置キャッシュ・エントリが入手可能ではないと判定した場合は、位置キャッシング・プロセスは、ステップ３４０に進む。
【００３７】
ステップ３１０において、位置キャッシング・プロセスは、取り出した位置キャッシュ・エントリのキャッシュ期間を計算する。ステップ３１０の詳細なステップについては、下記の図４の説明を参照のこと。次いで、位置キャッシング・プロセスは、ステップ３３０に進む。
【００３８】
ステップ３３０において、位置キャッシング・プロセスは、キャッシュ期間が既に期限切れしていないかどうかを、キャッシュ・デフォルトのキャッシュ期間であるＣａｃｈｅＰｅｒｉｏｄをＰｒｉｏｒＴｉｍｅＳｔａｍｐの時間値に加算し、その後、加算した結果をＴｉｍｅＳｔａｍｐの時間値と比較することにより判定する。加算した結果がＴｉｍｅＳｔａｍｐの時間値より小さい場合は、キャッシュ期間は、最終キャッシングのときから期限切れしている。加算した結果がＴｉｍｅＳｔａｍｐの時間値より大きい又はこれと等しい場合は、キャッシュ期間はまだ期限切れしておらず、従って位置キャッシュ・エントリはまだ有効である。位置キャッシング・プロセスが、キャッシュ期間が既に期限切れしていると判定した場合は、位置キャッシング・プロセスはステップ３４０に進む。位置キャッシング・プロセスが、キャッシュ期間がまだ期限切れしていないと判定した場合は、位置キャッシング・プロセスはステップ３３５に進む。
【００３９】
ステップ３３５において、位置キャッシング・プロセスは、ステップ３０５からの位置キャッシュ・エントリをネットワーク位置情報サーバに戻す。次いで、位置キャッシング・プロセスは終了する。
【００４０】
ステップ３４０において、位置キャッシング・プロセスは位置要求に対する期限切れしていない位置キャッシュ・エントリを有していないので、位置キャッシング・プロセスは、ネットワーク位置情報サーバに実位置照会を送信する。実位置照会に応答して、ネットワーク位置情報サーバにより行われるステップについては、上記の図２のステップ２２０の説明を参照のこと。次いで、位置キャッシング・プロセスは、ステップ３４５に進む。
【００４１】
ステップ３４５において、位置キャッシング・プロセスは、上記の図２のステップ２３０に応答して、ネットワーク位置情報サーバから実位置照会の結果を受信する。実位置照会の結果は、（ＭＳＩＳＤＮ、ＣａｃｈｅＤｅｆａｕｌｔ、ＰｒｉｏｒＬｏｃａｔｉｏｎ、ＰｒｉｏｒＴｉｍｅＳｔａｍｐ）を含み、ここでＣａｃｈｅＤｅｆａｕｌｔは（ＳｅｒｖｉｃｅＴｙｐｅ、ＣａｃｈｅＰｅｒｉｏｄ）を含む。次いで、位置キャッシング・プロセスは、ステップ３５０に進む。
【００４２】
ステップ３５０において、位置キャッシング・プロセスは、移動体デバイスが直近の位置要求以降に移動した距離を調べることにより、キャッシュ期間を調整する。次いで、位置キャッシング・プロセスは、ステップ３５５に進む。
【００４３】
本発明の１つの好ましい実施形態において、調整されたキャッシュ期間は、移動体デバイスが移動した種々の距離範囲に従って計算される。キャッシュ期間に対する距離範囲の例については、下記の図８の説明を参照のこと。
【００４４】
ステップ３５５において、位置キャッシング・プロセスは、位置要求に対応する位置キャッシュ・エントリを、ステップ３４５からの新たな位置情報によって更新する。ステップ３５５の詳細なステップについては、下記の図５の説明を参照のこと。
【００４５】
図４は、本発明の好ましい実施形態による、上記の図１のシステムの位置キャッシング・プロセスにより行われる、位置データのキャッシュ期間を最適化するようにキャッシング間隔を計算するための方法を示すフローチャートである。
【００４６】
ステップ３１５において、位置キャッシング・プロセスは、取り出された位置キャッシュ・エントリのサービス精度レベルであるＳｅｒｖｉｃｅＴｙｐｅが、位置要求が要求した精度レベルであるＰｒｅｃｉｓｉｏｎと等しいかどうかを判定する。位置キャッシング・プロセスが、位置キャッシュ・エントリのサービス精度レベルＳｅｒｖｉｃｅＴｙｐｅが、位置要求が要求した精度レベルＰｒｅｃｉｓｉｏｎと等しくないと判定した場合には、位置キャッシング・プロセスは、ステップ３２０に進む。位置キャッシング・プロセスが、位置キャッシュ・エントリのサービス精度レベルＳｅｒｖｉｃｅＴｙｐｅが、位置要求が要求した精度レベルＰｒｅｃｉｓｉｏｎと等しいと判定した場合には、位置キャッシング・プロセスは、ステップ３２５に進む。
【００４７】
ステップ３２０において、位置キャッシング・プロセスは、キャッシュ期間計算規則に従って、キャッシュ・デフォルト情報ＣａｃｈｅＤｅｆａｕｌｔ（ＳｅｒｖｉｃｅＴｙｐｅ、ＣａｃｈｅＰｅｒｉｏｄ）と位置要求が要求した精度レベルＰｒｅｃｉｓｉｏｎとを用いることにより、キャッシュ期間を計算する。キャッシュ期間計算規則は、ネットワーク位置情報サーバにより提供されるサービス精度レベルＳｅｒｖｉｃｅＴｙｐｅと、位置要求において指定された精度レベルＰｒｅｃｉｓｉｏｎとの間のキャッシュ期間の不一致を解決するように工夫されている。次いで、位置キャッシング・プロセスは、上記の図３のステップ３３０に進む。
【００４８】
本発明の１つの好ましい実施形態において、キャッシュ期間計算規則は、位置要求の精度レベルであるＰｒｅｃｉｓｉｏｎに従って定められる。キャッシュ期間計算規則の一例については、下記の図７の説明を参照のこと。
【００４９】
ステップ３２５において、位置キャッシング・プロセスは、キャッシュ期間をＳｅｒｖｉｃｅＴｙｐｅのためのデフォルト・キャッシュ期間であるＣａｃｈｅＰｅｒｉｏｄで設定する。次いで、位置キャッシング・プロセスは、上記の図３のステップ３３０に進む。
【００５０】
図５は、本発明の好ましい実施形態による、上記の図１のシステムの位置キャッシング・プロセスにより行われる、位置データのキャッシュ期間を最適化するように位置キャッシュ・エントリを設定するための方法を示すフローチャートである。
【００５１】
ステップ３６０において、位置キャッシング・プロセスは、サービス・キャッシュ・エントリから、サービス精度レベルごとのデフォルト・キャッシュ期間を判定する。サービス・キャッシュ・エントリは、位置キャッシュ・エントリの第２の属性であるＣａｃｈｅＤｅｆａｕｌｔと同一であり、サービス精度レベルとサービス精度レベルに関連付けられたキャッシュ期間とを含むキャッシュ・デフォルト情報を示す（ＳｅｒｖｉｃｅＴｙｐｅ、ＣａｃｈｅＰｅｒｉｏｄ）。
【００５２】
ステップ３６５において、位置キャッシング・プロセスは、位置要求の精度レベルであるＰｒｅｃｉｓｉｏｎが、サービス・キャッシュ・エントリのサービス精度レベルであるＳｅｒｖｉｃｅＴｙｐｅと等しいかどうかを判定する。位置キャッシング・プロセスが、位置要求の精度レベルＰｒｅｃｉｓｉｏｎがサービス・キャッシュ・エントリのサービス精度レベルＳｅｒｖｉｃｅＴｙｐｅと等しくないと判定した場合には、位置キャッシング・プロセスは、ステップ３７０に進む。位置キャッシング・プロセスが、位置要求の精度レベルＰｒｅｃｉｓｉｏｎが、サービス・キャッシュ・エントリのサービス精度レベルＳｅｒｖｉｃｅＴｙｐｅと等しいと判定した場合には、位置キャッシング・プロセスは、ステップ３８０に進む。
【００５３】
ステップ３７０において、位置キャッシング・プロセスは、要求された精度レベルＰｒｅｃｉｓｉｏｎとサービス精度レベルＳｅｒｖｉｃｅＴｙｐｅの間で高い方の精度レベルを、位置キャッシュ・エントリのサービス精度レベルＳｅｒｖｉｃｅＴｙｐｅとして選択する。高い方の精度レベルを選択することで、一意の識別子ＭＳＩＳＤＮを有する移動体デバイスが様々な要求精度の複数の位置情報サービスを同時に実行することが可能になる。次いで、位置キャッシング・プロセスは、ステップ３７５に進む。
【００５４】
ステップ３７５において、位置キャッシング・プロセスは、位置キャッシュ・エントリを更新して、サービス精度レベルＳｅｒｖｉｃｅＴｙｐｅをステップ３７０で選択されたサービス精度レベルに設定し、位置データＰｒｉｏｒＬｏｃａｔｉｏｎを上記の図３のステップ３４５で受信された位置データに設定し、タイムスタンプＰｒｉｏｒＴｉｍｅＳｔａｍｐを上記の図３のステップ３４５で受信されたタイムスタンプに設定し、キャッシュ期間ＣａｃｈｅＰｅｒｉｏｄを上記の図３のステップ３５０において調整されたキャッシュ期間に設定する。次いで、位置キャッシング・プロセスは、位置要求の処理を終了する。
【００５５】
ステップ３８０において、位置キャッシング・プロセスは、上記の図３のステップ３４５において実位置照会から受信した結果を用いて、新たな位置キャッシュ・エントリ（ＭＳＩＳＤＮ、ＣａｃｈｅＤｅｆａｕｌｔ、ＰｒｉｏｒＬｏｃａｔｉｏｎ、ＰｒｉｏｒＴｉｍｅＳｔａｍｐ）を位置キャッシュに追加し、ここでＣａｃｈｅＤｅｆａｕｌｔは（ＳｅｒｖｉｃｅＴｙｐｅ、ＣａｃｈｅＰｅｒｉｏｄ）を含む。位置データＰｒｉｏｒＬｏｃａｔｉｏｎは、実位置照会に応答して受信された最新の実位置である。ＭＳＩＳＤＮに関する新たな位置キャッシュ・エントリは、上記の図３のステップ３０５で位置キャッシュ・エントリが入手可能ではないと判定された場合にのみ作成される。次いで、位置キャッシング・プロセスは、位置要求の処理を終了する。
【００５６】
図６、図７及び図８は、本発明の好ましい実施形態による、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するためのデフォルト値及び規則の例を示す。
【００５７】
図６は、サービス・キャッシュに格納されたキャッシュ・デフォルトＣａｃｈｅＤｅｆａｕｌｔ（ＳｅｒｖｉｃｅＴｙｐｅ、ＣａｃｈｅＰｅｒｉｏｄ）の初期値の例を示し、これは、それぞれのサービス精度レベルＳｅｒｖｉｃｅＴｙｐｅと、それぞれのサービス精度レベルに関連付けられたそれぞれのキャッシュ期間ＣａｃｈｅＰｅｒｉｏｄとを表す。図６は、キャッシュ・デフォルトの集合を表し、ここで、サービス精度レベルＵＮＫＮＯＷＮに関連付けられた第１のキャッシュ期間は２０秒であり、サービス精度レベルＨＩＧＨに関連付けられた第２のキャッシュ期間は１０秒であり、サービス精度レベルＭＥＤＩＵＭに関連付けられた第３のキャッシュ期間は３０秒であり、サービス精度レベルＬＯＷに関連付けられた第４のキャッシュ期間は６０秒である。
【００５８】
図７は、移動体デバイスにより要求された精度レベルＰｒｅｃｉｓｉｏｎと、ネットワーク位置情報サーバにより提供されるサービス精度レベルＳｅｒｖｉｃｅＴｙｐｅとに基づくキャッシュ期間計算規則の一例を示す。図７のキャッシュ期間計算規則によれば、Ｐｒｅｃｉｓｉｏｎが不明である場合、キャッシュ期間は、ＳｅｒｖｉｃｅＴｙｐｅのためのデフォルト・キャッシュ期間ＣａｃｈｅＰｅｒｉｏｄに等しい。精度がＨＩＧＨである場合、キャッシュ期間は、ＳｅｒｖｉｃｅＴｙｐｅのためのデフォルト・キャッシュ期間ＣａｃｈｅＰｅｒｉｏｄの５０パーセント（５０％）短縮され、即ち、（ｐ’＝０．５×ＣａｃｈｅＰｅｒｉｏｄ）である。精度がＭＥＤＩＵＭである場合、キャッシュ期間は、ＳｅｒｖｉｃｅＴｙｐｅのためのデフォルト・キャッシュ期間ＣａｃｈｅＰｅｒｉｏｄに等しく、即ち、（ｐ’＝ＣａｃｈｅＰｅｒｉｏｄ）である。精度がＬＯＷである場合、キャッシュ期間は、ＳｅｒｖｉｃｅＴｙｐｅのためのデフォルト・キャッシュ期間ＣａｃｈｅＰｅｒｉｏｄから５０パーセント（５０％）延長され、即ち、（ｐ’＝１．５×ＣａｃｈｅＰｅｒｉｏｄ）である。
【００５９】
図８は、それぞれのサービス精度レベルＳｅｒｖｉｃｅＴｙｐｅのためのキャッシュ期間ＣａｃｈｅＰｅｒｉｏｄを、移動体デバイスが以前の位置要求と今回の位置要求との間の時間経過の間に移動した距離に基づいて調整するための規則の一例を示す。移動距離によるキャッシュ期間の調整は、今回の位置要求に対してサービス提供するためにネットワーク位置情報サーバに対する実位置照会が行われた場合にのみ適用可能である。位置キャッシング・プロセスが、今回の位置要求にサービス提供するために位置キャッシュ・エントリを用いた場合には、移動距離はキャッシュ期間の調整において考慮に入れられない。図８によれば、距離（Ｄ）がゼロ（０）である場合は、キャッシュ期間は調整されず、即ち、（ｐ”＝ｐ’）であり、ここでｐ’は、キャッシュ期間計算規則に従って計算されたキャッシュ期間のインスタンスである。距離（Ｄ）が１０メートル未満の場合、即ち０＜Ｄ＜１０の場合は、キャッシュ期間は２０パーセント（２０％）短縮され、その結果、調整されたキャッシュ期間（ｐ”＝０．８×ｐ’）が得られる。距離（Ｄ）が５０メートル未満である場合、即ち１０≦Ｄ＜５０の場合は、キャッシュ期間は３５パーセント（３５％）短縮され、その結果、調整されたキャッシュ期間（ｐ”＝０．６５×ｐ’）が得られる。距離（Ｄ）が５０メートル以上の場合、即ち５０≦Ｄの場合は、キャッシュ期間は５０パーセント（５０％）短縮され、その結果、調整されたキャッシュ期間（ｐ”＝０．５×ｐ’）が得られる。
【００６０】
図９、図１０、及び図１１は、本発明の好ましい実施形態による、位置要求、及び上記の図３のネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法から得られる最適化されたキャッシュ期間の例を示す。
【００６１】
位置要求及び最適化されたキャッシュ期間の例は、上記の図６、図７、及び図８のデフォルト値及び規則を利用する。上記の図８の説明において記されたように、位置データは、実位置照会に応答して、ネットワーク位置情報サーバにより提供された。要求された精度Ｐｒｅｃｉｓｉｏｎにより計算されたキャッシュ期間、即ち、Ｐ’は、今回の位置要求にサービス提供するために実位置照会を実行すべきか否かを判定するためにのみ用いられ、位置キャッシュ・エントリには影響しない。位置要求の精度レベルＰｒｅｃｉｓｉｏｎは、移動体デバイスの要求に従って設定され、位置要求ごとに変わる。位置キャッシュ・エントリは、移動体デバイスがどれだけ遠くまで移動したか、及びその位置要求にサービス提供するためにはどの精度レベルが適正であるかということに基づいて設定される。個々の位置要求において要求された精度レベルＰｒｅｃｉｓｉｏｎには関わりなく、位置キャッシング・プロセスは、その位置要求に適正にサービス提供するために必要なサービス精度レベルＳｅｒｖｉｃｅＴｙｐｅに従って位置キャッシュ・エントリ内のキャッシュ期間を最適化する。
【００６２】
図９は、ＭＳＩＳＤＮ＝Ｘの移動体デバイスからの、高精度レベルのサービス、即ち、ＳｅｒｖｉｃｅＴｙｐｅ＝ＨＩＧＨを求める３つの位置要求の第１の系列を示す。上記の図６のＳｅｒｖｉｃｅＴｙｐｅ＝ＨＩＧＨの場合の初期キャッシュ・デフォルト値によれば、デフォルト・キャッシュ期間は１０秒、即ち、ＣａｃｈｅＰｅｒｉｏｄ＝１０である。
【００６３】
列１の第１の位置要求の場合、要求された精度レベルは高、即ち、Ｐｒｅｃｉｓｉｏｎ＝ＨＩＧＨである。上記の図３のステップ３１０において、キャッシュ期間は、上記の図７のキャッシュ期間計算規則に従い、５（ｐ’＝１０×０．５＝５）秒と計算される。第１の位置要求の時間経過は６秒であり、これは計算されたキャッシュ期間である５秒より長いので、上記の図３のステップ３３０において、ＭＳＩＳＤＮ＝Ｘの移動体デバイスの位置キャッシュ・エントリは期限切れと判定されることを示す。従って、位置キャッシング・プロセスは、上記の図３のステップ３４０において、ネットワーク位置情報サーバに実位置照会を送信し、上記の図３のステップ３４５において、図９の位置ソースの行に表されるように、ネットワーク位置情報サーバから新たな位置データを受信する。ステップ３５０において、位置キャッシング・プロセスは、ＭＳＩＳＤＮ＝Ｘの移動体デバイスの移動距離が０メートルであるとチェックする。ＭＳＩＳＤＮ＝Ｘの移動体デバイスは移動していなかったので、上記の図８により、位置キャッシング・プロセスは、キャッシュ期間を調整しない。位置キャッシング・プロセスは、サービス・キャッシュ・エントリに関して、ＳｅｒｖｉｃｅＴｙｐｅ＝ＨＩＧＨのサービスのためのデフォルト・キャッシュ期間であるＣａｃｈｅＰｅｒｉｏｄ＝１０を維持する。位置キャッシング・プロセスは引き続き、ＭＳＩＳＤＮ＝Ｘの移動体デバイスについての位置キャッシュ・エントリを、このキャッシュ期間、新たな位置データ、及び実位置照会が実行されたときの新たなタイムスタンプで更新する。
【００６４】
列２の第２の位置要求の場合、要求された精度レベルは低、即ち、Ｐｒｅｃｉｓｉｏｎ＝ＬＯＷである。上記の図３のステップ３１０において、キャッシュ期間は、上記の図７のキャッシュ期間計算規則に従い、１５（ｐ’＝１０×１．５＝５）秒と計算される。第２の位置要求の時間経過は３秒であり、これは計算されたキャッシュ期間である１５秒より短いので、上記の図３のステップ３３０において、ＭＳＩＳＤＮ＝Ｘの移動体デバイスの位置キャッシュ・エントリはまだ有効であると判定されることを示す。位置キャッシング・プロセスは、上記の図３のステップ３３５において、位置キャッシュ・エントリの位置データをＭＳＩＳＤＮ＝Ｘの移動体デバイスに戻す。ＭＳＩＳＤＮ＝Ｘの移動体デバイスの位置キャッシュ・エントリは有効であったので、位置キャッシング・プロセスは、位置キャッシュ・エントリを更新せず、移動距離もチェックしない。
【００６５】
列３の第３の位置要求の場合、要求された精度レベルは高、即ち、Ｐｒｅｃｉｓｉｏｎ＝ＨＩＧＨである。上記の図３のステップ３１０において、キャッシュ期間は、上記の図７のキャッシュ期間計算規則に従い、５（ｐ’＝１０×０．５＝５）秒と計算される。第３の位置要求の時間経過は６秒であり、これは計算されたキャッシュ期間である５秒より長いので、上記の図３のステップ３３０において、ＭＳＩＳＤＮ＝Ｘの移動体デバイスの位置キャッシュ・エントリは期限切れと判定されることを示す。従って、位置キャッシング・プロセスは、上記の図３のステップ３４０において、ネットワーク位置情報サーバに実位置照会を送信し、上記の図３のステップ３４５において、図９の位置ソースの行に表されるように、ネットワーク位置情報サーバから新たな位置データを受信する。ステップ３５０において、位置キャッシング・プロセスは、ＭＳＩＳＤＮ＝Ｘの移動体デバイスの移動距離が６０メートルであるとチェックする。上記の図８により、位置キャッシング・プロセスは、キャッシュ期間を５０パーセント（５０％）短縮し、即ち２．５秒（ｐ’’＝５×０．５＝２．５）にすることによって、キャッシュ期間を調整する。位置キャッシング・プロセスは、サービス・キャッシュ・エントリに関して、ＳｅｒｖｉｃｅＴｙｐｅ＝ＨＩＧＨのサービスのためのデフォルト・キャッシュ期間をＣａｃｈｅＰｅｒｉｏｄ＝２．５に再設定する。位置キャッシング・プロセスは引き続き、ＭＳＩＳＤＮ＝Ｘの移動体デバイスについての位置キャッシュ・エントリを、このキャッシュ期間、新たな位置データ、及び実位置照会が実行されたときの新たなタイムスタンプで更新する。
【００６６】
図１０は、ＭＳＩＳＤＮ＝Ｙの移動体デバイスからの、中程度の精度レベルのサービス、即ち、ＳｅｒｖｉｃｅＴｙｐｅ＝ＭＥＤＩＵＭを求める３つの位置要求の第２の系列を示す。上記の図６のＳｅｒｖｉｃｅＴｙｐｅ＝ＭＥＤＩＵＭの場合の初期キャッシュ・デフォルト値によれば、デフォルト・キャッシュ期間は３０秒、即ち、ＣａｃｈｅＰｅｒｉｏｄ＝３０である。
【００６７】
列４の第４の位置要求の場合、要求された精度レベルは中、即ち、Ｐｒｅｃｉｓｉｏｎ＝ＭＥＤＩＵＭである。上記の図３のステップ３１０において、キャッシュ期間は、上記の図７のキャッシュ期間計算規則に従い、３０（ｐ’＝ｐ＝３０）秒と計算される。第４の位置要求の時間経過は４０秒であり、これは計算されたキャッシュ期間である３０秒より長いので、上記の図３のステップ３３０において、ＭＳＩＳＤＮ＝Ｙの移動体デバイスの位置キャッシュ・エントリは期限切れと判定されることを示す。従って、位置キャッシング・プロセスは、上記の図３のステップ３４０において、ネットワーク位置情報サーバに実位置照会を送信し、上記の図３のステップ３４５において、図１０の位置ソースの行に表されるように、ネットワーク位置情報サーバから新たな位置データを受信する。ステップ３５０において、位置キャッシング・プロセスは、ＭＳＩＳＤＮ＝Ｙの移動体デバイスの移動距離が５５メートルであるとチェックする。上記の図８により、位置キャッシング・プロセスは、キャッシュ期間を５０パーセント（５０％）短縮し、即ち１５秒（ｐ’’＝３０×０．５＝１５）にすることによって、キャッシュ期間を調整する。位置キャッシング・プロセスは、サービス・キャッシュ・エントリに関して、ＳｅｒｖｉｃｅＴｙｐｅ＝ＭＥＤＩＵＭのサービスのためのデフォルト・キャッシュ期間をＣａｃｈｅＰｅｒｉｏｄ＝１５に再設定する。位置キャッシング・プロセスは引き続き、ＭＳＩＳＤＮ＝Ｙの移動体デバイスについての位置キャッシュ・エントリを、このキャッシュ期間、新たな位置データ、及び実位置照会が実行されたときの新たなタイムスタンプで更新する。
【００６８】
列５の第５の位置要求の場合、要求された精度レベルは低、即ち、Ｐｒｅｃｉｓｉｏｎ＝ＬＯＷである。上記の図３のステップ３１０において、キャッシュ期間は、上記の図７のキャッシュ期間計算規則に従い、２２．５（ｐ’＝ｐ×１．５＝２２．５）秒と計算される。第４の位置要求の結果のサービス・キャッシュ・エントリの更新の後、サービス精度レベルが中のデフォルト・キャッシュ期間は１５秒であり、即ち、ＣａｃｈｅＤｅｆａｕｌｔ（ＳｅｒｖｉｃｅＴｙｐｅ、ＣａｃｈｅＰｅｒｉｏｄ）＝（ＭＥＤＩＵＭ、１５）である。第５の位置要求の時間経過は１７秒であり、これは計算されたキャッシュ期間である２２．５秒より短いので、上記の図３のステップ３３０において、ＭＳＩＳＤＮ＝Ｙの移動体デバイスの位置キャッシュ・エントリはまだ有効であると判定されることを示す。位置キャッシング・プロセスは、上記の図３のステップ３３５において、位置キャッシュ・エントリの位置データをＭＳＩＳＤＮ＝Ｙの移動体デバイスに戻す。ＭＳＩＳＤＮ＝Ｙの移動体デバイスの位置キャッシュ・エントリは有効であったので、位置キャッシング・プロセスは、位置キャッシュ・エントリを更新せず、移動距離もチェックしない。
【００６９】
列６の第６の位置要求の場合、要求された精度レベルは低、即ち、Ｐｒｅｃｉｓｉｏｎ＝ＬＯＷである。上記の図３のステップ３１０において、キャッシュ期間は、上記の図７のキャッシュ期間計算規則に従い、２２．５（ｐ’＝ｐ×１．５＝２２．５）秒と計算される。第５の位置要求の結果としてサービス・キャッシュ・エントリは更新されなかったので、第４の位置要求の結果のサービス・キャッシュ・エントリの更新の後、サービス精度レベルが中のデフォルト・キャッシュ期間は１５秒であり、即ち、ＣａｃｈｅＤｅｆａｕｌｔ（ＳｅｒｖｉｃｅＴｙｐｅ、ＣａｃｈｅＰｅｒｉｏｄ）＝（ＭＥＤＩＵＭ、１５）である。第６の位置要求の時間経過は２５秒であり、これは計算されたキャッシュ期間である２２．５秒より長いので、上記の図３のステップ３３０において、ＭＳＩＳＤＮ＝Ｙの移動体デバイスの位置キャッシュ・エントリは期限切れと判定されることを示す。従って、位置キャッシング・プロセスは、上記の図３のステップ３４０においてネットワーク位置情報サーバに実位置照会を送信し、上記の図３のステップ３４５において、図１０の位置ソースの行に表されるように、ネットワーク位置情報サーバから新たな位置データを受信する。ステップ３５０において、位置キャッシング・プロセスは、ＭＳＩＳＤＮ＝Ｙの移動体デバイスの移動距離が０メートルであるとチェックする。ＭＳＩＳＤＮ＝Ｙの移動体デバイスは移動していなかったので、上記の図８により、位置キャッシング・プロセスは、キャッシュ期間を調整しない。位置キャッシング・プロセスは、サービス・キャッシュ・エントリに関して、ＳｅｒｖｉｃｅＴｙｐｅ＝ＭＥＤＩＵＭのサービスのためのデフォルト・キャッシュ期間であるＣａｃｈｅＰｅｒｉｏｄ＝３０を復元する。位置キャッシング・プロセスは引き続き、ＭＳＩＳＤＮ＝Ｙの移動体デバイスについての位置キャッシュ・エントリを、このキャッシュ期間、新たな位置データ、及び実位置照会が実行されたときの新たなタイムスタンプで更新する。
【００７０】
図１１は、ＭＳＩＳＤＮ＝Ｚの移動体デバイスからの、低い精度レベルのサービス、即ち、ＳｅｒｖｉｃｅＴｙｐｅ＝ＬＯＷを求める３つの位置要求の第３の系列を示す。上記の図６のＳｅｒｖｉｃｅＴｙｐｅ＝ＬＯＷに関する初期キャッシュ・デフォルト値によれば、デフォルト・キャッシュ期間は６０秒、即ち、ＣａｃｈｅＰｅｒｉｏｄ＝６０である。
【００７１】
列７の第７の位置要求の場合、要求された精度レベルは高、即ち、Ｐｒｅｃｉｓｉｏｎ＝ＨＩＧＨである。上記の図３のステップ３１０において、キャッシュ期間は、上記の図７のキャッシュ期間計算規則に従い、３０（ｐ’＝６０×０．５＝３０）秒と計算される。第７の位置要求の時間経過は２５秒であり、これは計算されたキャッシュ期間である３０秒より短いので、上記の図３のステップ３３０において、ＭＳＩＳＤＮ＝Ｚの移動体デバイスの位置キャッシュ・エントリはまだ有効であると判定されることを示す。位置キャッシング・プロセスは、上記の図３のステップ３３５において、位置キャッシュ・エントリの位置データをＭＳＩＳＤＮ＝Ｚの移動体デバイスに戻す。ＭＳＩＳＤＮ＝Ｚの移動体デバイスの位置キャッシュ・エントリは有効であったので、位置キャッシング・プロセスは、位置キャッシュ・エントリを更新せず、移動距離もチェックしない。
【００７２】
列８の第８の位置要求の場合、要求された精度レベルは高、即ち、Ｐｒｅｃｉｓｉｏｎ＝ＨＩＧＨである。上記の図３のステップ３１０において、キャッシュ期間は、上記の図７のキャッシュ期間計算規則に従い、３０（ｐ’＝６０×０．５＝３０）秒と計算される。第８の位置要求の時間経過は３３秒であり、これは計算されたキャッシュ期間である３０秒より長いので、上記の図３のステップ３３０において、ＭＳＩＳＤＮ＝Ｚの移動体デバイスの位置キャッシュ・エントリは期限切れと判定されることを示す。従って、位置キャッシング・プロセスは、上記の図３のステップ３４０において、ネットワーク位置情報サーバに実位置照会を送信し、上記の図３のステップ３４５において、図１１の位置ソースの行に表されるように、ネットワーク位置情報サーバから新たな位置データを受信する。ステップ３５０において、位置キャッシング・プロセスは、ＭＳＩＳＤＮ＝Ｚの移動体デバイスの移動距離が８メートルであるとチェックする。上記の図８により、位置キャッシング・プロセスは、キャッシュ期間を２０パーセント（２０％）短縮し、即ち４８秒（ｐ’’＝６０×０．８＝４８）にすることによって、キャッシュ期間を調整する。位置キャッシング・プロセスは、サービス・キャッシュ・エントリに関して、ＳｅｒｖｉｃｅＴｙｐｅ＝ＬＯＷのサービスのためのデフォルト・キャッシュ期間をＣａｃｈｅＰｅｒｉｏｄ＝４８に再設定する。位置キャッシング・プロセスは引き続き、ＭＳＩＳＤＮ＝Ｚの移動体デバイスについての位置キャッシュ・エントリを、このキャッシュ期間、新たな位置データ、及び実位置照会が実行されたときの新たなタイムスタンプで更新する。
【００７３】
列９の第９の位置要求の場合、要求された精度レベルは高、即ち、Ｐｒｅｃｉｓｉｏｎ＝ＨＩＧＨである。上記の図３のステップ３１０において、キャッシュ期間は、上記の図７のキャッシュ期間計算規則に従い、２４（ｐ’＝４８×０．５＝２４）秒と計算される。第８の位置要求の結果のサービス・キャッシュ・エントリの更新の後、サービス精度レベルが低のデフォルト・キャッシュ期間は４８秒であり、即ち、ＣａｃｈｅＤｅｆａｕｌｔ（ＳｅｒｖｉｃｅＴｙｐｅ、ＣａｃｈｅＰｅｒｉｏｄ）＝（ＬＯＷ、４８）である。第９の位置要求の時間経過は２５秒であり、これは計算されたキャッシュ期間である２４秒より長いので、上記の図３のステップ３３０において、ＭＳＩＳＤＮ＝Ｚの移動体デバイスの位置キャッシュ・エントリは期限切れと判定されることを示す。従って、位置キャッシング・プロセスは、上記の図３のステップ３４０において、ネットワーク位置情報サーバに実位置照会を送信し、上記の図３のステップ３４５において、図１１の位置ソースの行に表されるように、ネットワーク位置情報サーバから新たな位置データを受信する。ステップ３５０において、位置キャッシング・プロセスは、ＭＳＩＳＤＮ＝Ｚの移動体デバイスの移動距離が０メートルであるとチェックする。ＭＳＩＳＤＮ＝Ｚの移動体デバイスは移動していなかったので、上記の図８により、位置キャッシング・プロセスは、キャッシュ期間を調整しない。位置キャッシング・プロセスは、サービス・キャッシュ・エントリに関して、ＳｅｒｖｉｃｅＴｙｐｅ＝ＬＯＷのサービスのためのデフォルト・キャッシュ期間であるＣａｃｈｅＰｅｒｉｏｄ＝６０を復元する。位置キャッシング・プロセスは引き続き、ＭＳＩＳＤＮ＝Ｚの移動体デバイスについての位置キャッシュ・エントリを、このキャッシュ期間、新たな位置データ、及び実位置照会が実行されたときの新たなタイムスタンプで更新する。
【００７４】
図１２は、本発明の好ましい実施形態による、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するために用いられるコンピュータ・システムを図示する。
【００７５】
コンピュータ・システム９０は、プロセッサ９１と、プロセッサ９１に結合された入力デバイス９２と、プロセッサ９１に結合された出力デバイス９３と、各々がプロセッサ９１に結合されたメモリ・デバイス９４及び９５を含むコンピュータ可読メモリ・ユニットとを含む。入力デバイス９２は、特に、キーボード、マウス、キーパッド、タッチ・スクリーン、音声認識デバイス、センサ、ネットワーク・インターフェース・カード（ＮＩＣ）、インターネット・プロトコル上での音声／映像通信（Ｖｏｉｃｅ／ｖｉｄｅｏ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ：ＶＯＩＰ）アダプタ、無線アダプタ、電話アダプタ、専用回線アダプタ等とすることができる。出力デバイス９３は、特に、プリンタ、プロッタ、コンピュータ・スクリーン、磁気テープ、取り外し可能ハード・ディスク、フロッピィディスク、ＮＩＣ、ＶＯＩＰアダプタ、無線アダプタ、電話アダプタ、専用回線アダプタ、音響及び／又は視覚信号生成器、発光ダイオード（ＬＥＤ）等とすることができる。メモリ・デバイス９４及び９５は、特に、キャッシュ、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、ハード・ディスク、フロッピィディスク、磁気テープ、コンパクト・ディスク（ＣＤ）又はデジタル・ビデオ・ディスク（ＤＶＤ）などの光ストレージ等とすることができる。メモリ・デバイス９５は、コンピュータ実行可能命令を含むコンピュータ・プログラム・コードであるコンピュータ・コード９７を含む。コンピュータ・コード９７は、特に、本発明によるネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間の最適化のために用いられるアルゴリズムを含む。プロセッサ９１は、コンピュータ・コード９７を実行する。メモリ・デバイス９４は、入力データ９６を含む。入力データ９６は、コンピュータ・コード９７により必要とされる入力を含む。出力デバイス９３は、コンピュータ・コード９７からの出力を表示する。メモリ・デバイス９４及び９５の一方又は両方（又は図１２に図示されていない１つ又は複数の付加的なメモリ・デバイス）を、コンピュータ可読プログラム・コードがその中で具体化された及び／又は他のデータが格納されたコンピュータ可読ストレージ媒体（又はコンピュータ使用可能ストレージ媒体若しくはプログラムストレージ・デバイス）として用いることができ、その場合、コンピュータ可読プログラム・コードはコンピュータ・コード９７を含む。一般に、コンピュータ・システム９０のコンピュータ・プログラム製品（又は、代替的に、製造物品）は、上記のコンピュータ可読ストレージ媒体（又は上記のプログラム・ストレージ媒体）を含むことができる。
【００７６】
本発明のデータ収集規則に従ってウェブ・インターフェースを動的に構築するためのプロセスに関するコンピュータ・インフラストラクチャを配備又は統合することを提供するサービス提供者によって、本発明のいずれかの構成要素の配備、管理、サービス提供等を行うことができる。よって、本発明は、コンピュータ可読コードをコンピュータ・システム（例えばコンピュータ・システム９０）内に統合し、ホスティングし、保守し、配備することを含む、コンピュータ・インフラストラクチャをサポートするためのプロセスを開示し、コンピュータ・システムと組み合わされたコードは、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法を実行することができる。
【００７７】
別の好ましい実施形態において、本発明は、本発明のプロセス・ステップを、加入、広告、及び／又は料金に基づいて実行するビジネス方法を提供する。即ち、ソリューション・インテグレータのようなサービス提供者は、本発明のネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するためのプロセスの作成、保守、サポート等を提供することができる。この場合、サービス提供者は、１又は複数の顧客のために、本発明のプロセス・ステップを実行するコンピュータ・インフラストラクチャの作成、保守、サポート等を行うことができる。見返りに、サービス提供者は、加入した及び／又は料金契約した顧客から支払いを受けることができ、及び／又はサービス提供者は、１又は複数の第三者に対する広告コンテンツの販売からの支払いを受けることができる。
【００７８】
図１２は、ハードウェア及びソフトウェアの特定の構成としてコンピュータ・システム９０を示すが、図１２の特定のコンピュータ・システム９０に関連して上述した目的のために、当業者には公知のように、どのようなハードウェア及びソフトウェアの構成を利用することもできる。例えば、メモリ・デバイス９４及び９５は、別個のメモリ・デバイスではなく単一のメモリ・デバイスの一部とすることができる。
【００７９】
当業者には理解されるように、本発明は、システム、方法、又はコンピュータ・プログラム製品として具体化することができる。従って、本発明は、完全にハードウェアの好ましい実施形態、完全にソフトウェアの好ましい実施形態（ファームウェア、常駐ソフトウェア、マイクロコード等を含む）、又はソフトウェアの態様とハードウェアの態様とを組み合わせた好ましい実施形態の形態をとることができ、これらは全て、本明細書において一般的に「回路」、「モジュール」又は「システム」と呼ぶことができる。さらに、本発明は、媒体内に具体化されたコンピュータ使用可能プログラム・コードを有する、いずれかの有形の表現媒体内に具体化されたコンピュータ・プログラム製品の形態をとることができる。
【００８０】
１つ又は複数のコンピュータ使用可能又はコンピュータ可読媒体９４、９５のいかなる組み合わせを用いることもできる。コンピュータ使用可能媒体又はコンピュータ可読媒体という用語は、コンピュータ使用可能／可読ストレージ媒体９４、９５を総称的に指す。コンピュータ使用可能又はコンピュータ可読媒体９４、９５は、例えば、電子的、磁気的、光学的、電磁気的、赤外線又は半導体のシステム、装置、デバイス、又は上記のもののいずれかの適切な組み合わせとすることができるが、これらに限定されるものではない。コンピュータ可読媒体９４、９５のより具体的な例（非網羅的なリスト）として、以下のもの、即ち、１つ又は複数の配線を有する電気的接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）、光ファイバ、ポータブル・コンパクト・ディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、光記憶装置、磁気記憶装置、又は上記のもののいずれかの適切な組み合わせが挙げられる。プログラムが印刷された紙又は他の適切な媒体も、そのプログラムを例えば、その紙又は他の媒体の光学スキャンによって電子的にキャプチャし、次いで、必要に応じて、コンパイルし、解釈し、又はそれ以外の適切な手法で処理し、その後、コンピュータ・メモリ内に格納することができるので、コンピュータ使用可能又はコンピュータ可読媒体９４、９５はプログラムが印刷された紙又は別の適切な媒体とすることさえできることに留意されたい。本明細書の文脈内において、コンピュータ使用可能又はコンピュータ可読媒体９４、９５は、命令を実行するシステム、装置、又はデバイスによって使用するため、又はこれらと関連して使用するために、プログラムを収納又は保存することができるあらゆる媒体とすることができる。
【００８１】
本発明の動作を実行するためのコンピュータ・コード９７は、Ｊａｖａ、ＳｍａｌｌＴａｌｋ、Ｃ＋＋などのようなオブジェクト指向プログラミング言語、及び「Ｃ」プログラミング言語又は同様のプログラミング言語のような従来の手続き型プログラミング言語を含む、１つ又は複数のプログラミング言語のいずれかの組み合わせで記述することができる。コンピュータ・コード９７は、全体をユーザのコンピュータ上で実行することもでき、スタンドアロン型のソフトウェア・パッケージとして一部をユーザのコンピュータ上で実行することもでき、一部をユーザのコンピュータ上で実行し、一部をリモート・コンピュータ上で実行することもでき、又は、全体をリモート・コンピュータ若しくはサーバ上で実行することもできる。後者のシナリオの場合、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）又は広域ネットワーク（ＷＡＮ）を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は（例えば、インターネット・サービス・プロバイダを用いたインターネットを通じて）外部のコンピュータへの接続がなされる場合もある。
【００８２】
本発明は、本発明の好ましい実施形態による方法、装置（システム）及びコンピュータ・プログラム製品のフローチャート図及び／又はブロック図を参照して説明されている。フローチャート図及び／又はブロック図の各ブロック、並びにフローチャート図及び／又はブロック図内のブロックの組み合わせは、コンピュータ・プログラム命令によって実施することができることが理解されるであろう。本明細書において、「コンピュータ・プログラム命令」という用語は、「コンピュータ・コード９７」と交換可能である。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えて機械を製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実装するための手段を作り出すようにすることができる。
【００８３】
これらのコンピュータ・プログラム命令を、コンピュータ又は他のプログラム可能データ処理装置に特定の方式で機能するように指示することができるコンピュータ可読媒体９４、９５に格納して、それにより、そのコンピュータ可読媒体に格納された命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実装する命令手段を含む製品を製造するようにさせることもできる。
【００８４】
コンピュータ・プログラム命令を、コンピュータ又は他のプログラム可能データ処理装置にロードして、コンピュータ又は他のプログラム可能データ処理装置上で一連の動作ステップを実施させてコンピュータ実装プロセスを生成し、それにより、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実装するためのプロセスを提供するようにさせることもできる。
【００８５】
図面内のフローチャート及びブロック図は、本発明の種々の好ましい実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実装するための１つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に記された機能は、図中に記された順序とは異なる順序で生じることがあることにも留意されたい。例えば、連続して図示された２つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図及び／又はフローチャート図内の各ブロック、並びにブロック図及び／又はフローチャート図内のブロックの組み合わせは、指定された機能又は動作を実行する専用ハードウェア・ベースのシステム、又は専用のハードウェアとコンピュータ命令との組み合わせによって実装することができることにも留意されたい。
【００８６】
特許請求の範囲における全ての「手段又はステップと機能との組合せ（ミーンズ又はステップ・プラス・ファンクション）」要素の対応する構造、材料、動作及び均等物は、その機能を、明確に請求されている他の特許請求された要素との組み合わせで実施するための、あらゆる構造、材料、又は動作を含むことが意図される。本発明の説明は、例示及び説明を目的として提示されたものであるが、網羅的であることを意図するものでもなく、開示された形態の発明に限定することを意図するものでもない。本発明の範囲及び趣旨から逸脱することなく、多くの変更及び変形が当業者には明らかであろう。好ましい実施形態は、本発明の原理及び実際の用途を最も良く説明するため、及び、当業者が、企図される特定の使用に適した種々の変更を伴う種々の好ましい実施形態について本発明を理解することができるように、選択され、説明された。
【００８７】
疑念を避けるために、明細書及び特許請求の範囲の全体を通じて用いられる「含む」という用語は、「〜のみから成る」という意味として解釈されるべきではない。
【符号の説明】
【００８８】
１０：システム
９０：コンピュータ・システム
１００：基地局
１０１：移動体デバイス
１０２：ロケーション・ベースド・サーバ
１２１：第三者アプリケーション・サーバ
【図１】
0005536898.tif 000002
【図２】
0005536898.tif 000003
【図３】
0005536898.tif 000004
【図４】
0005536898.tif 000005
【図５】
0005536898.tif 000006
【図６】
0005536898.tif 000007
【図７】
0005536898.tif 000008
【図８】
0005536898.tif 000009
【図９】
0005536898.tif 000010
【図１０】
0005536898.tif 000011
【図１１】
0005536898.tif 000012
【図１２】
0005536898.tif 000013