ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間の最適化
【課題】 ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するためのシステム及び関連の方法を提供すること。
【解決手段】 ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するためのシステム及び関連の方法。位置キャッシング・サーバが、移動体デバイスから位置要求を受信する。位置キャッシング・サーバは、事前定義された計算規則に従い、その移動体デバイスについての位置キャッシュ・エントリのキャッシュ期間を、移動体デバイスにより要求された精度レベルと、位置要求が為された位置情報サービスのタイプに対して割り当てられたサービス精度レベルとに基づいて、計算する。位置キャッシング・サーバは、計算されたキャッシュ期間が期限切れしている移動体デバイスの実位置データを取得する。位置キャッシング・サーバはその後、事前定義された調整規則に従い、移動体デバイスが移動した距離に基づいてキャッシュ期間を調整し、位置キャッシュ・エントリを更新する。
【解決手段】 ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するためのシステム及び関連の方法。位置キャッシング・サーバが、移動体デバイスから位置要求を受信する。位置キャッシング・サーバは、事前定義された計算規則に従い、その移動体デバイスについての位置キャッシュ・エントリのキャッシュ期間を、移動体デバイスにより要求された精度レベルと、位置要求が為された位置情報サービスのタイプに対して割り当てられたサービス精度レベルとに基づいて、計算する。位置キャッシング・サーバは、計算されたキャッシュ期間が期限切れしている移動体デバイスの実位置データを取得する。位置キャッシング・サーバはその後、事前定義された調整規則に従い、移動体デバイスが移動した距離に基づいてキャッシュ期間を調整し、位置キャッシュ・エントリを更新する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を自動的に最適化するためのシステム及び関連する方法を開示する。
【背景技術】
【0002】
従来のネットワーク・ベース型位置情報サービス方法は、位置要求を処理するための待ち時間から生じる位置データの不正確さを克服するため、及びネットワーク位置情報サーバごとにより多くのトランザクションをサポートするために、位置データをキャッシュする。従来のネットワーク・ベース型位置情報サービス方法は、種々のタイプのサービスについて、流動的な状況の変化を考慮に入れることなく統計学的にキャッシュ期間を決定しており、そのことがサービス提供される位置データの精度を低下させる。
【0003】
故に、当該技術分野において、前述の問題に対処する必要性が存在する。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の目的は、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するためのシステム及び関連の方法を提供することである。
【課題を解決するための手段】
【0005】
本発明の1つの好ましい実施形態によれば、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法は、ネットワーク位置情報サーバから、パラメータMSISDN、Precision、TimeStamp、及びServiceTypeを含む、位置情報サービスについての位置要求を受信するステップであって、MSISDNが、位置要求を位置情報サーバに送信した移動体デバイスについての識別子であり、Precisionが、移動体デバイスから要求された精度レベルであり、TimeStampが、ネットワーク位置情報サーバが位置要求を受信した第1の時間値であり、ServiceTypeが、位置情報サービスに割り当てられがサービス精度レベルであり、ServiceTypeは、それぞれのデフォルト・キャッシュ期間であるCachePeriodに対応する、ステップと、移動体デバイスの現在位置データを取得する必要があることを判定するステップと、ネットワーク位置情報サーバから、ネットワーク位置情報サーバへの実位置照会の送信に応答して、現在位置データを取得するステップと、コンピュータのプロセッサが、ServiceTypeに対応するCachePeriodを、第1の時間値であるTimeStampと、ネットワーク位置情報サーバが実位置照会を受信した第2の時間値との間の時間経過の間に移動体デバイスが移動した距離に基づいて調整するステップと、新たな位置キャッシュ・エントリを位置キャッシュに対して設定するステップであって、新たな位置キャッシュ・エントリが、パラメータMSISDN、NewServiceType、NewCachePeriod、PriorLocation、及びPriorTimeStampを含み、NewServiceTypeは、ServiceType及びPrecisionから成る群から選択され、NewCachePeriodは、調整されたCachePeriodであり、PriorLocationは、取得された現在位置データであり、PriorTimeStampは、第2の時間値である、ステップと、を含む。
【0006】
本発明の1つの好ましい実施形態によれば、コンピュータ・プログラム製品はコンピュータ可読プログラム・コードを具体化するコンピュータ可読メモリ・ユニットを含む。コンピュータ可読プログラム・コードは、コンピュータ・システムのプロセッサにより実行されたときに、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法を実施する命令を含む。
【0007】
本発明の1つの好ましい実施形態によれば、コンピュータ・システムは、プロセッサと、プロセッサに結合されたコンピュータ可読メモリ・ユニットとを含み、コンピュータ可読メモリ・ユニットは、プロセッサにより実行されたときに、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法を実施する命令を含む。
【0008】
本発明の1つの好ましい実施形態によれば、コンピュータ・インフラストラクチャをサポートするためのプロセスは、コンピュータ・システムにおいてコンピュータ可読コードの作成、統合、ホスティング、保守、及び配備のうちの少なくとも1つを行うための少なくとも1つのサポート・サービスを提供することを含み、このコンピュータ・システムと組み合わされたコードは、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法を行うことができる。
【0009】
更なる一態様の観点から見ると、本発明は、位置キャッシング・サーバにより行われるネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間の最適化のためのコンピュータ・プログラム製品を提供し、このコンピュータ・プログラム製品は、処理回路により読み出し可能である、本発明のステップを行う方法を行うために処理回路によって実行される命令を格納した、コンピュータ可読ストレージ媒体を含む。
【0010】
更なる一態様の観点から見ると、本発明は、コンピュータ可読媒体上に格納され、デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、プログラムがコンピュータ上で実行されたときに本発明のステップを行うためのソフトウェア・コード部分を含む、コンピュータ・プログラムを提供する。
【0011】
本発明を、以下、例示のみの目的で、添付の図面に示される好ましい実施形態を参照して説明する。
【図面の簡単な説明】
【0012】
【図1】本発明の好ましい実施形態による、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するためのシステムを図示する。
【図2】本発明の好ましい実施形態による、図1のシステムのネットワーク位置情報サーバにより行われる、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法を示すフローチャートである。
【図3】本発明の好ましい実施形態による、図1のシステムの位置キャッシング・プロセスにより行われる、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法を示すフローチャートである。
【図4】本発明の好ましい実施形態による、図1のシステムの位置キャッシング・プロセスにより行われる、位置データのキャッシュ期間を最適化するようにキャッシング間隔を計算するための方法を示すフローチャートである。
【図5】本発明の好ましい実施形態による、図1のシステムの位置キャッシング・プロセスにより行われる、位置データのキャッシュ期間を最適化するように位置キャッシュ・エントリを設定するための方法を示すフローチャートである。
【図6】本発明の好ましい実施形態による、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための制御パラメータの集合を示す。
【図7】本発明の好ましい実施形態による、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための制御パラメータの集合を示す。
【図8】本発明の好ましい実施形態による、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための制御パラメータの集合を示す。
【図9】本発明の好ましい実施形態による、位置要求、及び図3のネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法から得られる最適化されたキャッシュ期間の例を示す。
【図10】本発明の好ましい実施形態による、位置要求、及び図3のネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法から得られる最適化されたキャッシュ期間の例を示す。
【図11】本発明の好ましい実施形態による、位置要求、及び図3のネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法から得られる最適化されたキャッシュ期間の例を示す。
【図12】本発明の好ましい実施形態による、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するために用いられるコンピュータ・システムを示す。
【発明を実施するための形態】
【0013】
図1は、本発明の好ましい実施形態による、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するためのシステム10を示す。
【0014】
システム10は、キャリアと第三者とを含む。キャリアはサービス提供者とも呼ばれ、キャリア・データ・ネットワーク103と、ネットワーク位置情報サーバ104と、サービス・デリバリ・プラットフォーム(SDP)105と、位置キャッシング・サーバ106とを含む。第三者は、仮想私設ネットワーク(VPN)120と、第三者アプリケーション・サーバ121とを含む。
【0015】
キャリア・データ・ネットワーク103は、ロケーション・ベースド・サーバ102、少なくとも1つの基地局及び少なくとも1つのベース移動体デバイスを、ネットワーク位置情報サーバ104と相互接続する。キャリア・データ・ネットワーク103は、上記の少なくとも1つの移動体デバイスに、データ・サービスを提供する。キャリア・データ・ネットワーク103は、無線ネットワーク、インターネット・プロトコル(IP)ベースのネットワーク、又はその組み合わせとすることができる。
【0016】
上記の少なくとも1つのベース移動体デバイスの移動体デバイス101は、測位機能を有するセルラー式端末デバイスである。移動体デバイスは、より正確なネットワーク・ベースの位置測位をサポートするために、内蔵の支援型全地球測位システム(GPS)プロセッサを利用することができる。
【0017】
上記の少なくとも1つの基地局の基地局100は、ロケーション・ベースド・サーバ102を介して、移動体デバイス101をキャリア・データ・ネットワーク103に接続する。基地局100は一般にセル・タワーと呼ばれ、これは、セルと呼ばれる有効範囲内における複数の移動体デバイスの無線データ通信及び音声通信をサポートするものである。
【0018】
ロケーション・ベースド・サーバ102は、事前定義された測位技術の使用により、移動体デバイス101に関連付けられた位置座標を判定する。測位技術の例は、特に、セル・タワー識別、複数の基地局にまたがる三角測量であり得る。セル・タワー識別は、低レベル精度の測位に利用される。三角測量は、高レベル精度の測位に用いられる。
【0019】
ネットワーク位置情報サーバ104は、ネットワーク・ベース型位置情報サービスを提供するサーバ・プラットフォームである。ネットワーク位置情報サーバ104は、種々の測位技術の使用による位置の判定、移動体デバイスからの位置要求の処理、スロットリング、課金(ビリング)等といった種々のサービス・デリバリ・プラットフォーム機能を行う構成要素を含む。ネットワーク位置情報サーバ104は、異なる測位技術を利用し得る種々のロケーション・ベースド・サーバ102からの複数の位置情報を集約する。ネットワーク位置情報サーバ104は、Parlay X、OpenLS、及びLIF/MLPといった種々の公開アプリケーション・プログラミング・インターフェース(API)を用いて、集約された位置情報及び座標をサービス・デリバリ・プラットフォーム(SDP)105に伝達する。ネットワーク位置情報サーバ104により行われるステップについては、下記の図2の説明を参照のこと。
【0020】
サービス・デリバリ・プラットフォーム(SDP)105は、キャリアにより提供される位置情報サービスを第三者アプリケーション・サーバ121に配信する。SDP105は、ネットワーク位置情報サーバ104及び位置キャッシング・サーバ106と対話し、移動体デバイス101についての現在の座標又は位置キャッシュ・エントリとして位置情報を取得する。位置情報サービスの例は、特に、ある地理領域内の移動体デバイスのグループについての位置情報を提供するグループ位置情報サービス、ある移動体デバイスの特定の位置座標、デバイスの位置についての地理空間的(geospatial)マッピング情報、位置認識アプリケーションの実行などであり得る。
【0021】
位置キャッシング・サーバ106は、キャリアに対して位置情報及び座標のキャッシング・サービスを提供する。位置キャッシング・サーバ106は、位置キャッシング・プロセス107と、サービス・キャッシュ108と、位置キャッシュ109とを含む。サービス・キャッシュ108は、少なくとも1つのサービス・キャッシュ・エントリであるCacheDefault(ServiceType、CachePeriod)を含み、ServiceTypeは、キャリアによって提供されるサービス精度レベルを示し、CachePeriodは、サービス精度レベルServiceTypeに関連付けられたデフォルト・キャッシュ期間を示す。デフォルト・キャッシュ期間CachePeriodは、位置キャッシング・プロセス107によって動的に最適化される。位置キャッシュ109は、少なくとも1つの位置キャッシュ・エントリをタプル(MSISDN、CacheDefault、PriorLocation、PriorTimeStamp)として含む。位置キャッシング・プロセス107によって行われるステップ、及び位置キャッシュ・エントリの属性の詳細については、下記の図3の説明を参照のこと。
【0022】
仮想私設ネットワーク(VPN)120は、第三者アプリケーション・サーバ121をキャリアにより提供される位置情報サービスのためのサービス・デリバリ・プラットフォーム(SDP)105に接続する、セキュアなインターネット・プロトコル(IP)ベース・ネットワークである。第三者アプリケーション・サーバ121は、位置情報を要求し、消費する。第三者アプリケーションの例は、特に、企業のセールス・フォース・オートメーション・システム、グーグル・マップ(Google Map)のようなアプリケーション・システム・プロバイダのアプリケーション等であり得る。
【0023】
システム10は、ネットワーク位置情報サーバ104によって提供される位置情報の精度を位置キャッシング・サーバ106の使用により改善する。移動体デバイス101のそばにいる又は第三者アプリケーション・サーバ121に接続しているエンド・ユーザは、エンド・ユーザによって要求される精度レベルに比例して位置情報サーバの精度が高くなることに気付く。位置キャッシング・プロセス107は、位置キャッシュ109に格納されているキャッシュされた位置データを使用すべき場合なのか又は移動体デバイス101に実位置情報を照会すべき場合なのかを、サービス精度レベルごとのデフォルト・キャッシュ期間、移動体デバイス101により要求された精度、及び移動体デバイス101が移動した距離に従い、動的かつ自動的に判断する。
【0024】
本発明の好ましい実施形態は、サービス加入者の数、位置情報の処理量、待ち時間の要件等といった、キャッシング機能と無関係の非機能的要件に関する位置キャッシング・サーバ106の具体的な詳細によって、異なり得る。位置キャッシング・サーバ106は、アルゴリズム、プロセス及びキャッシュをこれらの非機能的要件を満たすようにスケール変更するための支援として、アプリケーション・サーバ・ソフトウェアを用いることができる。アプリケーション・サーバ・ソフトウェアの例は、特に、IBM(登録商標)WebSphere(登録商標)Application Server、Oracle(登録商標)WebLogic等であり得る。(IBM及びWebSphereは米国におけるInternational Business Machines Corporationの登録商標である。Oracleは米国におけるOracle Corporation及び/又はその関連会社の登録商標である。)ネットワーク位置情報サーバ104とサービス・デリバリ・プラットフォーム105とを、共通のアプリケーション・プログラム・インターフェース(API)又はカスタムな統合を通じて統合することができる。共通APIの例は、特に、ウェブ・サービス、OpenLS、LIF/MLP等であり得る。カスタムな統合に用いられる技術の例は、特に、Enterprise JavaBeans(EJB)、Simple Object Access Protocol(SOAP)又はWeb Serviceインターフェースであり得る。大量の位置キャッシュ・エントリが必要とされる好ましい実施形態においては、サービス・キャッシュ108と位置キャッシュ109とが、TimesTen又はSolidDBのような別個のインメモリ・データベースとして実装される。
【0025】
図2は、本発明の好ましい実施形態による、上記の図1のシステムのネットワーク位置情報サーバにより行われる、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法を示すフローチャートである。
【0026】
ステップ205において、ネットワーク位置情報サーバは、移動体デバイスから、その移動体デバイスの2次元(XY)座標とも呼ばれる位置データを要求する位置要求(MSISDN、Precision)を受信する。位置要求の第1のパラメータであるMSISDNは、位置要求の発信元である移動体デバイスの一意の識別子を示す。MSISDNという用語は、Mobile Station Integrated Services Digital Networkの頭字語であり、一般に移動局(Mobile Station)ISDN番号、又は無線通信の場合は携帯電話番号と呼ばれる。位置要求の第2のパラメータであるPrecisionは、移動体デバイスにより要求された精度レベルを示す。位置要求は、そのシステムで使用される業界標準定義に準拠してフォーマット化される。業界標準定義の例は、特に、Parlay/X、LIF MLP、OpenLS等であり得る。本発明の1つの好ましい実施形態において、位置要求の第2のパラメータであるPrecisionは、Parlay/X標準定義の精度レベルに従う集合{HIGH、MEDIUM、LOW}から選択される精度レベルを有する。次いで、ネットワーク位置情報サーバは、ステップ210に進む。
【0027】
ステップ210において、ネットワーク位置情報サーバは、第3のパラメータであるTimeStampと、第4のパラメータであるServiceTypeとを判定し、受信した位置要求にパラメータTimeStamp及びServiceTypeを付加する。第3のパラメータTimeStampは、ネットワーク位置情報サーバが位置要求を受信した時点のログを記録するタイムスタンプである。第4のパラメータServiceTypeは、ネットワーク位置情報サーバのサービス精度レベルであり、受信した位置要求に応答してサービス提供される位置データの精度を示す。第4のパラメータServiceTypeのサービス精度レベルは、要求されたサービスのタイプにより判定されるが、移動体デバイスが位置要求において要求した精度レベルPrecisionからは独立している。ネットワーク位置情報サーバは、ドメイン及びサブドメイン名、バインディング又はカップリング技術を用いることにより、第4のパラメータServiceTypeを判定する。次いで、ネットワーク位置情報サーバは、ステップ215に進む。
【0028】
本発明の1つの好ましい実施形態において、第4のパラメータServiceTypeは、第2のパラメータPRECISIONと矛盾しない動作については、集合{UNKNOWN、HIGH、MEDIUM、LOW}から選択される。サービス精度レベルがHIGHである場合、ネットワーク位置情報サーバは、受信した位置要求に応答して精度の高い位置データを提供する。よって、サービス精度レベルServiceType=HIGHに関連付けられるキャッシュ期間は、他のサービス精度レベルよりも短い。HIGHサービス精度レベルに関連付けられるサービスの例は、特に、ナビゲーション・サービス、緊急呼び出しサービス、配車(dispatching)サービス等であり得る。サービス精度レベルがMEDIUMである場合、ネットワーク位置情報サーバは、受信した位置要求に応答して中程度の精度の位置データを提供する。MEDIUMサービス精度レベルに関連付けられるサービスの例は、特に、友人探し、デート・サービス、地域の店舗検索、電話帳検索等のような位置情報サービスであり得る。サービス精度レベルがLOWである場合、ネットワーク位置情報サーバは、受信した位置要求に応答して最小限の精度の位置データを提供する。よって、サービス精度レベルServiceType=LOWに関連付けられるキャッシュ期間は、全てのサービス精度レベルの中で最も長い。LOWサービス精度レベルに関連付けられるサービスの例は、特に、気象情報サービス、交通情報サービス、地域ニュース、地域スポーツ・チームの順位レポート、アウトドア活動状況レポート等であり得る。サービス精度レベルUNKNOWNは、あらゆるサービス精度レベルについてのデフォルト値であり、受信した位置要求に応答して、中程度から高い精度までの位置データを戻す。それぞれのサービス精度レベルのキャッシュ期間の例については、図6を参照のこと。
【0029】
ステップ215において、ネットワーク位置情報サーバは、4つのパラメータ(MSISDN、Precision、TimeStamp、ServiceType)を含む位置要求を位置キャッシング・プロセスに送信する。ステップ215に応答して位置キャッシング・プロセスにより行われるステップについては、下記の図3のステップ300の説明を参照のこと。次いで、ネットワーク位置情報サーバはステップ220に進む。
【0030】
ステップ220において、ネットワーク位置情報サーバは、ステップ215において送信された位置要求の応答を位置キャッシング・プロセスから受信し、位置キャッシング・プロセスがネットワーク位置情報サーバに、位置キャッシュ・エントリ又は実位置照会のどちらを送信したのか判定する。ネットワーク位置情報サーバが、下記の図3のステップ340に応答して、位置キャッシング・プロセスから実位置照会を受信した場合には、ネットワーク位置情報サーバはステップ225に進み、受信した実位置照会を処理する。ネットワーク位置情報サーバが、下記の図3のステップ335に応答して、位置キャッシング・プロセスから位置キャッシュ・エントリを受信した場合には、ネットワーク位置情報サーバはステップ235に進み、受信した位置キャッシュ・エントリを処理する。
【0031】
ステップ225において、ネットワーク位置情報サーバは、キャリア・データ・ネットワークを介して実位置照会を行うことにより、移動体デバイスの新たな位置データを取得する。次いで、ネットワーク位置情報サーバはステップ230に進む。
【0032】
ステップ230において、ネットワーク位置情報サーバは、新たな位置データを、位置要求に関連付けられる位置キャッシュ・エントリの更新のために位置キャッシング・プロセスに送信し、かつ、位置要求に対する応答として移動体デバイスに送信する。次いで、ネットワーク位置情報サーバは位置要求の処理を終了する。
【0033】
ステップ235において、ネットワーク位置情報サーバは、受信した位置キャッシュ・エントリを位置要求に対する応答として移動体デバイスに転送する。ステップ230及び235において、ネットワーク位置情報サーバは、移動体デバイスに提供されたサービスに基づく課金及び使用量の情報を取得する。次いで、ネットワーク位置情報サーバは位置要求の処理を終了する。
【0034】
図3は、本発明の好ましい実施形態による、上記の図1のシステムの位置キャッシング・プロセスにより行われる、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法を示すフローチャートである。
【0035】
ステップ300において、位置キャッシング・プロセスは、上記の図2のステップ215に応答して、ネットワーク位置情報サーバから、位置要求(MSISDN、Precision、TimeStamp、ServiceType)を受信する。位置キャッシング・プロセスはその後、受信した位置要求の第1のパラメータMSISDNに対応する位置キャッシュ・エントリを、位置キャッシュをMSISDNで検索することにより取り出す。位置キャッシュ・エントリは、(MSISDN、CacheDefault、PriorLocation、PriorTimeStamp)を含む。第1の属性であるMSISDNは、位置キャッシュ・エントリの一意の識別子を示し、これは、位置要求の第1のパラメータであるMSISDNと一致する。第2の属性であるCacheDefaultは、サービス精度レベルとそのサービス精度レベルに関連付けられたキャッシュ期間とを含むそれぞれのサービス・キャッシュ・エントリに格納された、キャッシュ・デフォルト情報を示す(ServiceType、CachePeriod)。サービス精度レベルに関連付けられたキャッシュ期間であるCachePeriodが、再設定の対象である。第3の属性であるPriorLocationは、直近の位置要求においてサンプリングされた位置データを示す。第4の属性であるPriorTimeStampは、直近の位置要求が為された時点のタイムスタンプを示す。次いで、位置キャッシング・プロセスは、ステップ305に進む。
【0036】
ステップ305において、位置キャッシング・プロセスは、受信した位置要求に対応する位置キャッシュ・エントリが入手可能であるかどうかを、第1のパラメータMSISDNで位置キャッシュを検索することにより判定する。位置キャッシング・プロセスが、受信した位置要求に対応する位置キャッシュ・エントリが入手可能であると判定した場合は、位置キャッシング・プロセスは、ステップ310に進む。位置キャッシング・プロセスが、受信した位置要求に対応する位置キャッシュ・エントリが入手可能ではないと判定した場合は、位置キャッシング・プロセスは、ステップ340に進む。
【0037】
ステップ310において、位置キャッシング・プロセスは、取り出した位置キャッシュ・エントリのキャッシュ期間を計算する。ステップ310の詳細なステップについては、下記の図4の説明を参照のこと。次いで、位置キャッシング・プロセスは、ステップ330に進む。
【0038】
ステップ330において、位置キャッシング・プロセスは、キャッシュ期間が既に期限切れしていないかどうかを、キャッシュ・デフォルトのキャッシュ期間であるCachePeriodをPriorTimeStampの時間値に加算し、その後、加算した結果をTimeStampの時間値と比較することにより判定する。加算した結果がTimeStampの時間値より小さい場合は、キャッシュ期間は、最終キャッシングのときから期限切れしている。加算した結果がTimeStampの時間値より大きい又はこれと等しい場合は、キャッシュ期間はまだ期限切れしておらず、従って位置キャッシュ・エントリはまだ有効である。位置キャッシング・プロセスが、キャッシュ期間が既に期限切れしていると判定した場合は、位置キャッシング・プロセスはステップ340に進む。位置キャッシング・プロセスが、キャッシュ期間がまだ期限切れしていないと判定した場合は、位置キャッシング・プロセスはステップ335に進む。
【0039】
ステップ335において、位置キャッシング・プロセスは、ステップ305からの位置キャッシュ・エントリをネットワーク位置情報サーバに戻す。次いで、位置キャッシング・プロセスは終了する。
【0040】
ステップ340において、位置キャッシング・プロセスは位置要求に対する期限切れしていない位置キャッシュ・エントリを有していないので、位置キャッシング・プロセスは、ネットワーク位置情報サーバに実位置照会を送信する。実位置照会に応答して、ネットワーク位置情報サーバにより行われるステップについては、上記の図2のステップ220の説明を参照のこと。次いで、位置キャッシング・プロセスは、ステップ345に進む。
【0041】
ステップ345において、位置キャッシング・プロセスは、上記の図2のステップ230に応答して、ネットワーク位置情報サーバから実位置照会の結果を受信する。実位置照会の結果は、(MSISDN、CacheDefault、PriorLocation、PriorTimeStamp)を含み、ここでCacheDefaultは(ServiceType、CachePeriod)を含む。次いで、位置キャッシング・プロセスは、ステップ350に進む。
【0042】
ステップ350において、位置キャッシング・プロセスは、移動体デバイスが直近の位置要求以降に移動した距離を調べることにより、キャッシュ期間を調整する。次いで、位置キャッシング・プロセスは、ステップ355に進む。
【0043】
本発明の1つの好ましい実施形態において、調整されたキャッシュ期間は、移動体デバイスが移動した種々の距離範囲に従って計算される。キャッシュ期間に対する距離範囲の例については、下記の図8の説明を参照のこと。
【0044】
ステップ355において、位置キャッシング・プロセスは、位置要求に対応する位置キャッシュ・エントリを、ステップ345からの新たな位置情報によって更新する。ステップ355の詳細なステップについては、下記の図5の説明を参照のこと。
【0045】
図4は、本発明の好ましい実施形態による、上記の図1のシステムの位置キャッシング・プロセスにより行われる、位置データのキャッシュ期間を最適化するようにキャッシング間隔を計算するための方法を示すフローチャートである。
【0046】
ステップ315において、位置キャッシング・プロセスは、取り出された位置キャッシュ・エントリのサービス精度レベルであるServiceTypeが、位置要求が要求した精度レベルであるPrecisionと等しいかどうかを判定する。位置キャッシング・プロセスが、位置キャッシュ・エントリのサービス精度レベルServiceTypeが、位置要求が要求した精度レベルPrecisionと等しくないと判定した場合には、位置キャッシング・プロセスは、ステップ320に進む。位置キャッシング・プロセスが、位置キャッシュ・エントリのサービス精度レベルServiceTypeが、位置要求が要求した精度レベルPrecisionと等しいと判定した場合には、位置キャッシング・プロセスは、ステップ325に進む。
【0047】
ステップ320において、位置キャッシング・プロセスは、キャッシュ期間計算規則に従って、キャッシュ・デフォルト情報CacheDefault(ServiceType、CachePeriod)と位置要求が要求した精度レベルPrecisionとを用いることにより、キャッシュ期間を計算する。キャッシュ期間計算規則は、ネットワーク位置情報サーバにより提供されるサービス精度レベルServiceTypeと、位置要求において指定された精度レベルPrecisionとの間のキャッシュ期間の不一致を解決するように工夫されている。次いで、位置キャッシング・プロセスは、上記の図3のステップ330に進む。
【0048】
本発明の1つの好ましい実施形態において、キャッシュ期間計算規則は、位置要求の精度レベルであるPrecisionに従って定められる。キャッシュ期間計算規則の一例については、下記の図7の説明を参照のこと。
【0049】
ステップ325において、位置キャッシング・プロセスは、キャッシュ期間をServiceTypeのためのデフォルト・キャッシュ期間であるCachePeriodで設定する。次いで、位置キャッシング・プロセスは、上記の図3のステップ330に進む。
【0050】
図5は、本発明の好ましい実施形態による、上記の図1のシステムの位置キャッシング・プロセスにより行われる、位置データのキャッシュ期間を最適化するように位置キャッシュ・エントリを設定するための方法を示すフローチャートである。
【0051】
ステップ360において、位置キャッシング・プロセスは、サービス・キャッシュ・エントリから、サービス精度レベルごとのデフォルト・キャッシュ期間を判定する。サービス・キャッシュ・エントリは、位置キャッシュ・エントリの第2の属性であるCacheDefaultと同一であり、サービス精度レベルとサービス精度レベルに関連付けられたキャッシュ期間とを含むキャッシュ・デフォルト情報を示す(ServiceType、CachePeriod)。
【0052】
ステップ365において、位置キャッシング・プロセスは、位置要求の精度レベルであるPrecisionが、サービス・キャッシュ・エントリのサービス精度レベルであるServiceTypeと等しいかどうかを判定する。位置キャッシング・プロセスが、位置要求の精度レベルPrecisionがサービス・キャッシュ・エントリのサービス精度レベルServiceTypeと等しくないと判定した場合には、位置キャッシング・プロセスは、ステップ370に進む。位置キャッシング・プロセスが、位置要求の精度レベルPrecisionが、サービス・キャッシュ・エントリのサービス精度レベルServiceTypeと等しいと判定した場合には、位置キャッシング・プロセスは、ステップ380に進む。
【0053】
ステップ370において、位置キャッシング・プロセスは、要求された精度レベルPrecisionとサービス精度レベルServiceTypeの間で高い方の精度レベルを、位置キャッシュ・エントリのサービス精度レベルServiceTypeとして選択する。高い方の精度レベルを選択することで、一意の識別子MSISDNを有する移動体デバイスが様々な要求精度の複数の位置情報サービスを同時に実行することが可能になる。次いで、位置キャッシング・プロセスは、ステップ375に進む。
【0054】
ステップ375において、位置キャッシング・プロセスは、位置キャッシュ・エントリを更新して、サービス精度レベルServiceTypeをステップ370で選択されたサービス精度レベルに設定し、位置データPriorLocationを上記の図3のステップ345で受信された位置データに設定し、タイムスタンプPriorTimeStampを上記の図3のステップ345で受信されたタイムスタンプに設定し、キャッシュ期間CachePeriodを上記の図3のステップ350において調整されたキャッシュ期間に設定する。次いで、位置キャッシング・プロセスは、位置要求の処理を終了する。
【0055】
ステップ380において、位置キャッシング・プロセスは、上記の図3のステップ345において実位置照会から受信した結果を用いて、新たな位置キャッシュ・エントリ(MSISDN、CacheDefault、PriorLocation、PriorTimeStamp)を位置キャッシュに追加し、ここでCacheDefaultは(ServiceType、CachePeriod)を含む。位置データPriorLocationは、実位置照会に応答して受信された最新の実位置である。MSISDNに関する新たな位置キャッシュ・エントリは、上記の図3のステップ305で位置キャッシュ・エントリが入手可能ではないと判定された場合にのみ作成される。次いで、位置キャッシング・プロセスは、位置要求の処理を終了する。
【0056】
図6、図7及び図8は、本発明の好ましい実施形態による、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するためのデフォルト値及び規則の例を示す。
【0057】
図6は、サービス・キャッシュに格納されたキャッシュ・デフォルトCacheDefault(ServiceType、CachePeriod)の初期値の例を示し、これは、それぞれのサービス精度レベルServiceTypeと、それぞれのサービス精度レベルに関連付けられたそれぞれのキャッシュ期間CachePeriodとを表す。図6は、キャッシュ・デフォルトの集合を表し、ここで、サービス精度レベルUNKNOWNに関連付けられた第1のキャッシュ期間は20秒であり、サービス精度レベルHIGHに関連付けられた第2のキャッシュ期間は10秒であり、サービス精度レベルMEDIUMに関連付けられた第3のキャッシュ期間は30秒であり、サービス精度レベルLOWに関連付けられた第4のキャッシュ期間は60秒である。
【0058】
図7は、移動体デバイスにより要求された精度レベルPrecisionと、ネットワーク位置情報サーバにより提供されるサービス精度レベルServiceTypeとに基づくキャッシュ期間計算規則の一例を示す。図7のキャッシュ期間計算規則によれば、Precisionが不明である場合、キャッシュ期間は、ServiceTypeのためのデフォルト・キャッシュ期間CachePeriodに等しい。精度がHIGHである場合、キャッシュ期間は、ServiceTypeのためのデフォルト・キャッシュ期間CachePeriodの50パーセント(50%)短縮され、即ち、(p’=0.5×CachePeriod)である。精度がMEDIUMである場合、キャッシュ期間は、ServiceTypeのためのデフォルト・キャッシュ期間CachePeriodに等しく、即ち、(p’=CachePeriod)である。精度がLOWである場合、キャッシュ期間は、ServiceTypeのためのデフォルト・キャッシュ期間CachePeriodから50パーセント(50%)延長され、即ち、(p’=1.5×CachePeriod)である。
【0059】
図8は、それぞれのサービス精度レベルServiceTypeのためのキャッシュ期間CachePeriodを、移動体デバイスが以前の位置要求と今回の位置要求との間の時間経過の間に移動した距離に基づいて調整するための規則の一例を示す。移動距離によるキャッシュ期間の調整は、今回の位置要求に対してサービス提供するためにネットワーク位置情報サーバに対する実位置照会が行われた場合にのみ適用可能である。位置キャッシング・プロセスが、今回の位置要求にサービス提供するために位置キャッシュ・エントリを用いた場合には、移動距離はキャッシュ期間の調整において考慮に入れられない。図8によれば、距離(D)がゼロ(0)である場合は、キャッシュ期間は調整されず、即ち、(p”=p’)であり、ここでp’は、キャッシュ期間計算規則に従って計算されたキャッシュ期間のインスタンスである。距離(D)が10メートル未満の場合、即ち0<D<10の場合は、キャッシュ期間は20パーセント(20%)短縮され、その結果、調整されたキャッシュ期間(p”=0.8×p’)が得られる。距離(D)が50メートル未満である場合、即ち10≦D<50の場合は、キャッシュ期間は35パーセント(35%)短縮され、その結果、調整されたキャッシュ期間(p”=0.65×p’)が得られる。距離(D)が50メートル以上の場合、即ち50≦Dの場合は、キャッシュ期間は50パーセント(50%)短縮され、その結果、調整されたキャッシュ期間(p”=0.5×p’)が得られる。
【0060】
図9、図10、及び図11は、本発明の好ましい実施形態による、位置要求、及び上記の図3のネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法から得られる最適化されたキャッシュ期間の例を示す。
【0061】
位置要求及び最適化されたキャッシュ期間の例は、上記の図6、図7、及び図8のデフォルト値及び規則を利用する。上記の図8の説明において記されたように、位置データは、実位置照会に応答して、ネットワーク位置情報サーバにより提供された。要求された精度Precisionにより計算されたキャッシュ期間、即ち、P’は、今回の位置要求にサービス提供するために実位置照会を実行すべきか否かを判定するためにのみ用いられ、位置キャッシュ・エントリには影響しない。位置要求の精度レベルPrecisionは、移動体デバイスの要求に従って設定され、位置要求ごとに変わる。位置キャッシュ・エントリは、移動体デバイスがどれだけ遠くまで移動したか、及びその位置要求にサービス提供するためにはどの精度レベルが適正であるかということに基づいて設定される。個々の位置要求において要求された精度レベルPrecisionには関わりなく、位置キャッシング・プロセスは、その位置要求に適正にサービス提供するために必要なサービス精度レベルServiceTypeに従って位置キャッシュ・エントリ内のキャッシュ期間を最適化する。
【0062】
図9は、MSISDN=Xの移動体デバイスからの、高精度レベルのサービス、即ち、ServiceType=HIGHを求める3つの位置要求の第1の系列を示す。上記の図6のServiceType=HIGHの場合の初期キャッシュ・デフォルト値によれば、デフォルト・キャッシュ期間は10秒、即ち、CachePeriod=10である。
【0063】
列1の第1の位置要求の場合、要求された精度レベルは高、即ち、Precision=HIGHである。上記の図3のステップ310において、キャッシュ期間は、上記の図7のキャッシュ期間計算規則に従い、5(p’=10×0.5=5)秒と計算される。第1の位置要求の時間経過は6秒であり、これは計算されたキャッシュ期間である5秒より長いので、上記の図3のステップ330において、MSISDN=Xの移動体デバイスの位置キャッシュ・エントリは期限切れと判定されることを示す。従って、位置キャッシング・プロセスは、上記の図3のステップ340において、ネットワーク位置情報サーバに実位置照会を送信し、上記の図3のステップ345において、図9の位置ソースの行に表されるように、ネットワーク位置情報サーバから新たな位置データを受信する。ステップ350において、位置キャッシング・プロセスは、MSISDN=Xの移動体デバイスの移動距離が0メートルであるとチェックする。MSISDN=Xの移動体デバイスは移動していなかったので、上記の図8により、位置キャッシング・プロセスは、キャッシュ期間を調整しない。位置キャッシング・プロセスは、サービス・キャッシュ・エントリに関して、ServiceType=HIGHのサービスのためのデフォルト・キャッシュ期間であるCachePeriod=10を維持する。位置キャッシング・プロセスは引き続き、MSISDN=Xの移動体デバイスについての位置キャッシュ・エントリを、このキャッシュ期間、新たな位置データ、及び実位置照会が実行されたときの新たなタイムスタンプで更新する。
【0064】
列2の第2の位置要求の場合、要求された精度レベルは低、即ち、Precision=LOWである。上記の図3のステップ310において、キャッシュ期間は、上記の図7のキャッシュ期間計算規則に従い、15(p’=10×1.5=5)秒と計算される。第2の位置要求の時間経過は3秒であり、これは計算されたキャッシュ期間である15秒より短いので、上記の図3のステップ330において、MSISDN=Xの移動体デバイスの位置キャッシュ・エントリはまだ有効であると判定されることを示す。位置キャッシング・プロセスは、上記の図3のステップ335において、位置キャッシュ・エントリの位置データをMSISDN=Xの移動体デバイスに戻す。MSISDN=Xの移動体デバイスの位置キャッシュ・エントリは有効であったので、位置キャッシング・プロセスは、位置キャッシュ・エントリを更新せず、移動距離もチェックしない。
【0065】
列3の第3の位置要求の場合、要求された精度レベルは高、即ち、Precision=HIGHである。上記の図3のステップ310において、キャッシュ期間は、上記の図7のキャッシュ期間計算規則に従い、5(p’=10×0.5=5)秒と計算される。第3の位置要求の時間経過は6秒であり、これは計算されたキャッシュ期間である5秒より長いので、上記の図3のステップ330において、MSISDN=Xの移動体デバイスの位置キャッシュ・エントリは期限切れと判定されることを示す。従って、位置キャッシング・プロセスは、上記の図3のステップ340において、ネットワーク位置情報サーバに実位置照会を送信し、上記の図3のステップ345において、図9の位置ソースの行に表されるように、ネットワーク位置情報サーバから新たな位置データを受信する。ステップ350において、位置キャッシング・プロセスは、MSISDN=Xの移動体デバイスの移動距離が60メートルであるとチェックする。上記の図8により、位置キャッシング・プロセスは、キャッシュ期間を50パーセント(50%)短縮し、即ち2.5秒(p’’=5×0.5=2.5)にすることによって、キャッシュ期間を調整する。位置キャッシング・プロセスは、サービス・キャッシュ・エントリに関して、ServiceType=HIGHのサービスのためのデフォルト・キャッシュ期間をCachePeriod=2.5に再設定する。位置キャッシング・プロセスは引き続き、MSISDN=Xの移動体デバイスについての位置キャッシュ・エントリを、このキャッシュ期間、新たな位置データ、及び実位置照会が実行されたときの新たなタイムスタンプで更新する。
【0066】
図10は、MSISDN=Yの移動体デバイスからの、中程度の精度レベルのサービス、即ち、ServiceType=MEDIUMを求める3つの位置要求の第2の系列を示す。上記の図6のServiceType=MEDIUMの場合の初期キャッシュ・デフォルト値によれば、デフォルト・キャッシュ期間は30秒、即ち、CachePeriod=30である。
【0067】
列4の第4の位置要求の場合、要求された精度レベルは中、即ち、Precision=MEDIUMである。上記の図3のステップ310において、キャッシュ期間は、上記の図7のキャッシュ期間計算規則に従い、30(p’=p=30)秒と計算される。第4の位置要求の時間経過は40秒であり、これは計算されたキャッシュ期間である30秒より長いので、上記の図3のステップ330において、MSISDN=Yの移動体デバイスの位置キャッシュ・エントリは期限切れと判定されることを示す。従って、位置キャッシング・プロセスは、上記の図3のステップ340において、ネットワーク位置情報サーバに実位置照会を送信し、上記の図3のステップ345において、図10の位置ソースの行に表されるように、ネットワーク位置情報サーバから新たな位置データを受信する。ステップ350において、位置キャッシング・プロセスは、MSISDN=Yの移動体デバイスの移動距離が55メートルであるとチェックする。上記の図8により、位置キャッシング・プロセスは、キャッシュ期間を50パーセント(50%)短縮し、即ち15秒(p’’=30×0.5=15)にすることによって、キャッシュ期間を調整する。位置キャッシング・プロセスは、サービス・キャッシュ・エントリに関して、ServiceType=MEDIUMのサービスのためのデフォルト・キャッシュ期間をCachePeriod=15に再設定する。位置キャッシング・プロセスは引き続き、MSISDN=Yの移動体デバイスについての位置キャッシュ・エントリを、このキャッシュ期間、新たな位置データ、及び実位置照会が実行されたときの新たなタイムスタンプで更新する。
【0068】
列5の第5の位置要求の場合、要求された精度レベルは低、即ち、Precision=LOWである。上記の図3のステップ310において、キャッシュ期間は、上記の図7のキャッシュ期間計算規則に従い、22.5(p’=p×1.5=22.5)秒と計算される。第4の位置要求の結果のサービス・キャッシュ・エントリの更新の後、サービス精度レベルが中のデフォルト・キャッシュ期間は15秒であり、即ち、CacheDefault(ServiceType、CachePeriod)=(MEDIUM、15)である。第5の位置要求の時間経過は17秒であり、これは計算されたキャッシュ期間である22.5秒より短いので、上記の図3のステップ330において、MSISDN=Yの移動体デバイスの位置キャッシュ・エントリはまだ有効であると判定されることを示す。位置キャッシング・プロセスは、上記の図3のステップ335において、位置キャッシュ・エントリの位置データをMSISDN=Yの移動体デバイスに戻す。MSISDN=Yの移動体デバイスの位置キャッシュ・エントリは有効であったので、位置キャッシング・プロセスは、位置キャッシュ・エントリを更新せず、移動距離もチェックしない。
【0069】
列6の第6の位置要求の場合、要求された精度レベルは低、即ち、Precision=LOWである。上記の図3のステップ310において、キャッシュ期間は、上記の図7のキャッシュ期間計算規則に従い、22.5(p’=p×1.5=22.5)秒と計算される。第5の位置要求の結果としてサービス・キャッシュ・エントリは更新されなかったので、第4の位置要求の結果のサービス・キャッシュ・エントリの更新の後、サービス精度レベルが中のデフォルト・キャッシュ期間は15秒であり、即ち、CacheDefault(ServiceType、CachePeriod)=(MEDIUM、15)である。第6の位置要求の時間経過は25秒であり、これは計算されたキャッシュ期間である22.5秒より長いので、上記の図3のステップ330において、MSISDN=Yの移動体デバイスの位置キャッシュ・エントリは期限切れと判定されることを示す。従って、位置キャッシング・プロセスは、上記の図3のステップ340においてネットワーク位置情報サーバに実位置照会を送信し、上記の図3のステップ345において、図10の位置ソースの行に表されるように、ネットワーク位置情報サーバから新たな位置データを受信する。ステップ350において、位置キャッシング・プロセスは、MSISDN=Yの移動体デバイスの移動距離が0メートルであるとチェックする。MSISDN=Yの移動体デバイスは移動していなかったので、上記の図8により、位置キャッシング・プロセスは、キャッシュ期間を調整しない。位置キャッシング・プロセスは、サービス・キャッシュ・エントリに関して、ServiceType=MEDIUMのサービスのためのデフォルト・キャッシュ期間であるCachePeriod=30を復元する。位置キャッシング・プロセスは引き続き、MSISDN=Yの移動体デバイスについての位置キャッシュ・エントリを、このキャッシュ期間、新たな位置データ、及び実位置照会が実行されたときの新たなタイムスタンプで更新する。
【0070】
図11は、MSISDN=Zの移動体デバイスからの、低い精度レベルのサービス、即ち、ServiceType=LOWを求める3つの位置要求の第3の系列を示す。上記の図6のServiceType=LOWに関する初期キャッシュ・デフォルト値によれば、デフォルト・キャッシュ期間は60秒、即ち、CachePeriod=60である。
【0071】
列7の第7の位置要求の場合、要求された精度レベルは高、即ち、Precision=HIGHである。上記の図3のステップ310において、キャッシュ期間は、上記の図7のキャッシュ期間計算規則に従い、30(p’=60×0.5=30)秒と計算される。第7の位置要求の時間経過は25秒であり、これは計算されたキャッシュ期間である30秒より短いので、上記の図3のステップ330において、MSISDN=Zの移動体デバイスの位置キャッシュ・エントリはまだ有効であると判定されることを示す。位置キャッシング・プロセスは、上記の図3のステップ335において、位置キャッシュ・エントリの位置データをMSISDN=Zの移動体デバイスに戻す。MSISDN=Zの移動体デバイスの位置キャッシュ・エントリは有効であったので、位置キャッシング・プロセスは、位置キャッシュ・エントリを更新せず、移動距離もチェックしない。
【0072】
列8の第8の位置要求の場合、要求された精度レベルは高、即ち、Precision=HIGHである。上記の図3のステップ310において、キャッシュ期間は、上記の図7のキャッシュ期間計算規則に従い、30(p’=60×0.5=30)秒と計算される。第8の位置要求の時間経過は33秒であり、これは計算されたキャッシュ期間である30秒より長いので、上記の図3のステップ330において、MSISDN=Zの移動体デバイスの位置キャッシュ・エントリは期限切れと判定されることを示す。従って、位置キャッシング・プロセスは、上記の図3のステップ340において、ネットワーク位置情報サーバに実位置照会を送信し、上記の図3のステップ345において、図11の位置ソースの行に表されるように、ネットワーク位置情報サーバから新たな位置データを受信する。ステップ350において、位置キャッシング・プロセスは、MSISDN=Zの移動体デバイスの移動距離が8メートルであるとチェックする。上記の図8により、位置キャッシング・プロセスは、キャッシュ期間を20パーセント(20%)短縮し、即ち48秒(p’’=60×0.8=48)にすることによって、キャッシュ期間を調整する。位置キャッシング・プロセスは、サービス・キャッシュ・エントリに関して、ServiceType=LOWのサービスのためのデフォルト・キャッシュ期間をCachePeriod=48に再設定する。位置キャッシング・プロセスは引き続き、MSISDN=Zの移動体デバイスについての位置キャッシュ・エントリを、このキャッシュ期間、新たな位置データ、及び実位置照会が実行されたときの新たなタイムスタンプで更新する。
【0073】
列9の第9の位置要求の場合、要求された精度レベルは高、即ち、Precision=HIGHである。上記の図3のステップ310において、キャッシュ期間は、上記の図7のキャッシュ期間計算規則に従い、24(p’=48×0.5=24)秒と計算される。第8の位置要求の結果のサービス・キャッシュ・エントリの更新の後、サービス精度レベルが低のデフォルト・キャッシュ期間は48秒であり、即ち、CacheDefault(ServiceType、CachePeriod)=(LOW、48)である。第9の位置要求の時間経過は25秒であり、これは計算されたキャッシュ期間である24秒より長いので、上記の図3のステップ330において、MSISDN=Zの移動体デバイスの位置キャッシュ・エントリは期限切れと判定されることを示す。従って、位置キャッシング・プロセスは、上記の図3のステップ340において、ネットワーク位置情報サーバに実位置照会を送信し、上記の図3のステップ345において、図11の位置ソースの行に表されるように、ネットワーク位置情報サーバから新たな位置データを受信する。ステップ350において、位置キャッシング・プロセスは、MSISDN=Zの移動体デバイスの移動距離が0メートルであるとチェックする。MSISDN=Zの移動体デバイスは移動していなかったので、上記の図8により、位置キャッシング・プロセスは、キャッシュ期間を調整しない。位置キャッシング・プロセスは、サービス・キャッシュ・エントリに関して、ServiceType=LOWのサービスのためのデフォルト・キャッシュ期間であるCachePeriod=60を復元する。位置キャッシング・プロセスは引き続き、MSISDN=Zの移動体デバイスについての位置キャッシュ・エントリを、このキャッシュ期間、新たな位置データ、及び実位置照会が実行されたときの新たなタイムスタンプで更新する。
【0074】
図12は、本発明の好ましい実施形態による、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するために用いられるコンピュータ・システムを図示する。
【0075】
コンピュータ・システム90は、プロセッサ91と、プロセッサ91に結合された入力デバイス92と、プロセッサ91に結合された出力デバイス93と、各々がプロセッサ91に結合されたメモリ・デバイス94及び95を含むコンピュータ可読メモリ・ユニットとを含む。入力デバイス92は、特に、キーボード、マウス、キーパッド、タッチ・スクリーン、音声認識デバイス、センサ、ネットワーク・インターフェース・カード(NIC)、インターネット・プロトコル上での音声/映像通信(Voice/video over Internet Protocol:VOIP)アダプタ、無線アダプタ、電話アダプタ、専用回線アダプタ等とすることができる。出力デバイス93は、特に、プリンタ、プロッタ、コンピュータ・スクリーン、磁気テープ、取り外し可能ハード・ディスク、フロッピィディスク、NIC、VOIPアダプタ、無線アダプタ、電話アダプタ、専用回線アダプタ、音響及び/又は視覚信号生成器、発光ダイオード(LED)等とすることができる。メモリ・デバイス94及び95は、特に、キャッシュ、ダイナミック・ランダム・アクセス・メモリ(DRAM)、読み出し専用メモリ(ROM)、ハード・ディスク、フロッピィディスク、磁気テープ、コンパクト・ディスク(CD)又はデジタル・ビデオ・ディスク(DVD)などの光ストレージ等とすることができる。メモリ・デバイス95は、コンピュータ実行可能命令を含むコンピュータ・プログラム・コードであるコンピュータ・コード97を含む。コンピュータ・コード97は、特に、本発明によるネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間の最適化のために用いられるアルゴリズムを含む。プロセッサ91は、コンピュータ・コード97を実行する。メモリ・デバイス94は、入力データ96を含む。入力データ96は、コンピュータ・コード97により必要とされる入力を含む。出力デバイス93は、コンピュータ・コード97からの出力を表示する。メモリ・デバイス94及び95の一方又は両方(又は図12に図示されていない1つ又は複数の付加的なメモリ・デバイス)を、コンピュータ可読プログラム・コードがその中で具体化された及び/又は他のデータが格納されたコンピュータ可読ストレージ媒体(又はコンピュータ使用可能ストレージ媒体若しくはプログラムストレージ・デバイス)として用いることができ、その場合、コンピュータ可読プログラム・コードはコンピュータ・コード97を含む。一般に、コンピュータ・システム90のコンピュータ・プログラム製品(又は、代替的に、製造物品)は、上記のコンピュータ可読ストレージ媒体(又は上記のプログラム・ストレージ媒体)を含むことができる。
【0076】
本発明のデータ収集規則に従ってウェブ・インターフェースを動的に構築するためのプロセスに関するコンピュータ・インフラストラクチャを配備又は統合することを提供するサービス提供者によって、本発明のいずれかの構成要素の配備、管理、サービス提供等を行うことができる。よって、本発明は、コンピュータ可読コードをコンピュータ・システム(例えばコンピュータ・システム90)内に統合し、ホスティングし、保守し、配備することを含む、コンピュータ・インフラストラクチャをサポートするためのプロセスを開示し、コンピュータ・システムと組み合わされたコードは、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法を実行することができる。
【0077】
別の好ましい実施形態において、本発明は、本発明のプロセス・ステップを、加入、広告、及び/又は料金に基づいて実行するビジネス方法を提供する。即ち、ソリューション・インテグレータのようなサービス提供者は、本発明のネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するためのプロセスの作成、保守、サポート等を提供することができる。この場合、サービス提供者は、1又は複数の顧客のために、本発明のプロセス・ステップを実行するコンピュータ・インフラストラクチャの作成、保守、サポート等を行うことができる。見返りに、サービス提供者は、加入した及び/又は料金契約した顧客から支払いを受けることができ、及び/又はサービス提供者は、1又は複数の第三者に対する広告コンテンツの販売からの支払いを受けることができる。
【0078】
図12は、ハードウェア及びソフトウェアの特定の構成としてコンピュータ・システム90を示すが、図12の特定のコンピュータ・システム90に関連して上述した目的のために、当業者には公知のように、どのようなハードウェア及びソフトウェアの構成を利用することもできる。例えば、メモリ・デバイス94及び95は、別個のメモリ・デバイスではなく単一のメモリ・デバイスの一部とすることができる。
【0079】
当業者には理解されるように、本発明は、システム、方法、又はコンピュータ・プログラム製品として具体化することができる。従って、本発明は、完全にハードウェアの好ましい実施形態、完全にソフトウェアの好ましい実施形態(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)、又はソフトウェアの態様とハードウェアの態様とを組み合わせた好ましい実施形態の形態をとることができ、これらは全て、本明細書において一般的に「回路」、「モジュール」又は「システム」と呼ぶことができる。さらに、本発明は、媒体内に具体化されたコンピュータ使用可能プログラム・コードを有する、いずれかの有形の表現媒体内に具体化されたコンピュータ・プログラム製品の形態をとることができる。
【0080】
1つ又は複数のコンピュータ使用可能又はコンピュータ可読媒体94、95のいかなる組み合わせを用いることもできる。コンピュータ使用可能媒体又はコンピュータ可読媒体という用語は、コンピュータ使用可能/可読ストレージ媒体94、95を総称的に指す。コンピュータ使用可能又はコンピュータ可読媒体94、95は、例えば、電子的、磁気的、光学的、電磁気的、赤外線又は半導体のシステム、装置、デバイス、又は上記のもののいずれかの適切な組み合わせとすることができるが、これらに限定されるものではない。コンピュータ可読媒体94、95のより具体的な例(非網羅的なリスト)として、以下のもの、即ち、1つ又は複数の配線を有する電気的接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD−ROM)、光記憶装置、磁気記憶装置、又は上記のもののいずれかの適切な組み合わせが挙げられる。プログラムが印刷された紙又は他の適切な媒体も、そのプログラムを例えば、その紙又は他の媒体の光学スキャンによって電子的にキャプチャし、次いで、必要に応じて、コンパイルし、解釈し、又はそれ以外の適切な手法で処理し、その後、コンピュータ・メモリ内に格納することができるので、コンピュータ使用可能又はコンピュータ可読媒体94、95はプログラムが印刷された紙又は別の適切な媒体とすることさえできることに留意されたい。本明細書の文脈内において、コンピュータ使用可能又はコンピュータ可読媒体94、95は、命令を実行するシステム、装置、又はデバイスによって使用するため、又はこれらと関連して使用するために、プログラムを収納又は保存することができるあらゆる媒体とすることができる。
【0081】
本発明の動作を実行するためのコンピュータ・コード97は、Java、SmallTalk、C++などのようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続き型プログラミング言語を含む、1つ又は複数のプログラミング言語のいずれかの組み合わせで記述することができる。コンピュータ・コード97は、全体をユーザのコンピュータ上で実行することもでき、スタンドアロン型のソフトウェア・パッケージとして一部をユーザのコンピュータ上で実行することもでき、一部をユーザのコンピュータ上で実行し、一部をリモート・コンピュータ上で実行することもでき、又は、全体をリモート・コンピュータ若しくはサーバ上で実行することもできる。後者のシナリオの場合、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)又は広域ネットワーク(WAN)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は(例えば、インターネット・サービス・プロバイダを用いたインターネットを通じて)外部のコンピュータへの接続がなされる場合もある。
【0082】
本発明は、本発明の好ましい実施形態による方法、装置(システム)及びコンピュータ・プログラム製品のフローチャート図及び/又はブロック図を参照して説明されている。フローチャート図及び/又はブロック図の各ブロック、並びにフローチャート図及び/又はブロック図内のブロックの組み合わせは、コンピュータ・プログラム命令によって実施することができることが理解されるであろう。本明細書において、「コンピュータ・プログラム命令」という用語は、「コンピュータ・コード97」と交換可能である。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えて機械を製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実装するための手段を作り出すようにすることができる。
【0083】
これらのコンピュータ・プログラム命令を、コンピュータ又は他のプログラム可能データ処理装置に特定の方式で機能するように指示することができるコンピュータ可読媒体94、95に格納して、それにより、そのコンピュータ可読媒体に格納された命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実装する命令手段を含む製品を製造するようにさせることもできる。
【0084】
コンピュータ・プログラム命令を、コンピュータ又は他のプログラム可能データ処理装置にロードして、コンピュータ又は他のプログラム可能データ処理装置上で一連の動作ステップを実施させてコンピュータ実装プロセスを生成し、それにより、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実装するためのプロセスを提供するようにさせることもできる。
【0085】
図面内のフローチャート及びブロック図は、本発明の種々の好ましい実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実装するための1つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に記された機能は、図中に記された順序とは異なる順序で生じることがあることにも留意されたい。例えば、連続して図示された2つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図及び/又はフローチャート図内の各ブロック、並びにブロック図及び/又はフローチャート図内のブロックの組み合わせは、指定された機能又は動作を実行する専用ハードウェア・ベースのシステム、又は専用のハードウェアとコンピュータ命令との組み合わせによって実装することができることにも留意されたい。
【0086】
特許請求の範囲における全ての「手段又はステップと機能との組合せ(ミーンズ又はステップ・プラス・ファンクション)」要素の対応する構造、材料、動作及び均等物は、その機能を、明確に請求されている他の特許請求された要素との組み合わせで実施するための、あらゆる構造、材料、又は動作を含むことが意図される。本発明の説明は、例示及び説明を目的として提示されたものであるが、網羅的であることを意図するものでもなく、開示された形態の発明に限定することを意図するものでもない。本発明の範囲及び趣旨から逸脱することなく、多くの変更及び変形が当業者には明らかであろう。好ましい実施形態は、本発明の原理及び実際の用途を最も良く説明するため、及び、当業者が、企図される特定の使用に適した種々の変更を伴う種々の好ましい実施形態について本発明を理解することができるように、選択され、説明された。
【0087】
疑念を避けるために、明細書及び特許請求の範囲の全体を通じて用いられる「含む」という用語は、「〜のみから成る」という意味として解釈されるべきではない。
【符号の説明】
【0088】
10:システム
90:コンピュータ・システム
100:基地局
101:移動体デバイス
102:ロケーション・ベースド・サーバ
121:第三者アプリケーション・サーバ
【技術分野】
【0001】
本発明は、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を自動的に最適化するためのシステム及び関連する方法を開示する。
【背景技術】
【0002】
従来のネットワーク・ベース型位置情報サービス方法は、位置要求を処理するための待ち時間から生じる位置データの不正確さを克服するため、及びネットワーク位置情報サーバごとにより多くのトランザクションをサポートするために、位置データをキャッシュする。従来のネットワーク・ベース型位置情報サービス方法は、種々のタイプのサービスについて、流動的な状況の変化を考慮に入れることなく統計学的にキャッシュ期間を決定しており、そのことがサービス提供される位置データの精度を低下させる。
【0003】
故に、当該技術分野において、前述の問題に対処する必要性が存在する。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の目的は、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するためのシステム及び関連の方法を提供することである。
【課題を解決するための手段】
【0005】
本発明の1つの好ましい実施形態によれば、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法は、ネットワーク位置情報サーバから、パラメータMSISDN、Precision、TimeStamp、及びServiceTypeを含む、位置情報サービスについての位置要求を受信するステップであって、MSISDNが、位置要求を位置情報サーバに送信した移動体デバイスについての識別子であり、Precisionが、移動体デバイスから要求された精度レベルであり、TimeStampが、ネットワーク位置情報サーバが位置要求を受信した第1の時間値であり、ServiceTypeが、位置情報サービスに割り当てられがサービス精度レベルであり、ServiceTypeは、それぞれのデフォルト・キャッシュ期間であるCachePeriodに対応する、ステップと、移動体デバイスの現在位置データを取得する必要があることを判定するステップと、ネットワーク位置情報サーバから、ネットワーク位置情報サーバへの実位置照会の送信に応答して、現在位置データを取得するステップと、コンピュータのプロセッサが、ServiceTypeに対応するCachePeriodを、第1の時間値であるTimeStampと、ネットワーク位置情報サーバが実位置照会を受信した第2の時間値との間の時間経過の間に移動体デバイスが移動した距離に基づいて調整するステップと、新たな位置キャッシュ・エントリを位置キャッシュに対して設定するステップであって、新たな位置キャッシュ・エントリが、パラメータMSISDN、NewServiceType、NewCachePeriod、PriorLocation、及びPriorTimeStampを含み、NewServiceTypeは、ServiceType及びPrecisionから成る群から選択され、NewCachePeriodは、調整されたCachePeriodであり、PriorLocationは、取得された現在位置データであり、PriorTimeStampは、第2の時間値である、ステップと、を含む。
【0006】
本発明の1つの好ましい実施形態によれば、コンピュータ・プログラム製品はコンピュータ可読プログラム・コードを具体化するコンピュータ可読メモリ・ユニットを含む。コンピュータ可読プログラム・コードは、コンピュータ・システムのプロセッサにより実行されたときに、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法を実施する命令を含む。
【0007】
本発明の1つの好ましい実施形態によれば、コンピュータ・システムは、プロセッサと、プロセッサに結合されたコンピュータ可読メモリ・ユニットとを含み、コンピュータ可読メモリ・ユニットは、プロセッサにより実行されたときに、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法を実施する命令を含む。
【0008】
本発明の1つの好ましい実施形態によれば、コンピュータ・インフラストラクチャをサポートするためのプロセスは、コンピュータ・システムにおいてコンピュータ可読コードの作成、統合、ホスティング、保守、及び配備のうちの少なくとも1つを行うための少なくとも1つのサポート・サービスを提供することを含み、このコンピュータ・システムと組み合わされたコードは、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法を行うことができる。
【0009】
更なる一態様の観点から見ると、本発明は、位置キャッシング・サーバにより行われるネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間の最適化のためのコンピュータ・プログラム製品を提供し、このコンピュータ・プログラム製品は、処理回路により読み出し可能である、本発明のステップを行う方法を行うために処理回路によって実行される命令を格納した、コンピュータ可読ストレージ媒体を含む。
【0010】
更なる一態様の観点から見ると、本発明は、コンピュータ可読媒体上に格納され、デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、プログラムがコンピュータ上で実行されたときに本発明のステップを行うためのソフトウェア・コード部分を含む、コンピュータ・プログラムを提供する。
【0011】
本発明を、以下、例示のみの目的で、添付の図面に示される好ましい実施形態を参照して説明する。
【図面の簡単な説明】
【0012】
【図1】本発明の好ましい実施形態による、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するためのシステムを図示する。
【図2】本発明の好ましい実施形態による、図1のシステムのネットワーク位置情報サーバにより行われる、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法を示すフローチャートである。
【図3】本発明の好ましい実施形態による、図1のシステムの位置キャッシング・プロセスにより行われる、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法を示すフローチャートである。
【図4】本発明の好ましい実施形態による、図1のシステムの位置キャッシング・プロセスにより行われる、位置データのキャッシュ期間を最適化するようにキャッシング間隔を計算するための方法を示すフローチャートである。
【図5】本発明の好ましい実施形態による、図1のシステムの位置キャッシング・プロセスにより行われる、位置データのキャッシュ期間を最適化するように位置キャッシュ・エントリを設定するための方法を示すフローチャートである。
【図6】本発明の好ましい実施形態による、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための制御パラメータの集合を示す。
【図7】本発明の好ましい実施形態による、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための制御パラメータの集合を示す。
【図8】本発明の好ましい実施形態による、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための制御パラメータの集合を示す。
【図9】本発明の好ましい実施形態による、位置要求、及び図3のネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法から得られる最適化されたキャッシュ期間の例を示す。
【図10】本発明の好ましい実施形態による、位置要求、及び図3のネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法から得られる最適化されたキャッシュ期間の例を示す。
【図11】本発明の好ましい実施形態による、位置要求、及び図3のネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法から得られる最適化されたキャッシュ期間の例を示す。
【図12】本発明の好ましい実施形態による、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するために用いられるコンピュータ・システムを示す。
【発明を実施するための形態】
【0013】
図1は、本発明の好ましい実施形態による、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するためのシステム10を示す。
【0014】
システム10は、キャリアと第三者とを含む。キャリアはサービス提供者とも呼ばれ、キャリア・データ・ネットワーク103と、ネットワーク位置情報サーバ104と、サービス・デリバリ・プラットフォーム(SDP)105と、位置キャッシング・サーバ106とを含む。第三者は、仮想私設ネットワーク(VPN)120と、第三者アプリケーション・サーバ121とを含む。
【0015】
キャリア・データ・ネットワーク103は、ロケーション・ベースド・サーバ102、少なくとも1つの基地局及び少なくとも1つのベース移動体デバイスを、ネットワーク位置情報サーバ104と相互接続する。キャリア・データ・ネットワーク103は、上記の少なくとも1つの移動体デバイスに、データ・サービスを提供する。キャリア・データ・ネットワーク103は、無線ネットワーク、インターネット・プロトコル(IP)ベースのネットワーク、又はその組み合わせとすることができる。
【0016】
上記の少なくとも1つのベース移動体デバイスの移動体デバイス101は、測位機能を有するセルラー式端末デバイスである。移動体デバイスは、より正確なネットワーク・ベースの位置測位をサポートするために、内蔵の支援型全地球測位システム(GPS)プロセッサを利用することができる。
【0017】
上記の少なくとも1つの基地局の基地局100は、ロケーション・ベースド・サーバ102を介して、移動体デバイス101をキャリア・データ・ネットワーク103に接続する。基地局100は一般にセル・タワーと呼ばれ、これは、セルと呼ばれる有効範囲内における複数の移動体デバイスの無線データ通信及び音声通信をサポートするものである。
【0018】
ロケーション・ベースド・サーバ102は、事前定義された測位技術の使用により、移動体デバイス101に関連付けられた位置座標を判定する。測位技術の例は、特に、セル・タワー識別、複数の基地局にまたがる三角測量であり得る。セル・タワー識別は、低レベル精度の測位に利用される。三角測量は、高レベル精度の測位に用いられる。
【0019】
ネットワーク位置情報サーバ104は、ネットワーク・ベース型位置情報サービスを提供するサーバ・プラットフォームである。ネットワーク位置情報サーバ104は、種々の測位技術の使用による位置の判定、移動体デバイスからの位置要求の処理、スロットリング、課金(ビリング)等といった種々のサービス・デリバリ・プラットフォーム機能を行う構成要素を含む。ネットワーク位置情報サーバ104は、異なる測位技術を利用し得る種々のロケーション・ベースド・サーバ102からの複数の位置情報を集約する。ネットワーク位置情報サーバ104は、Parlay X、OpenLS、及びLIF/MLPといった種々の公開アプリケーション・プログラミング・インターフェース(API)を用いて、集約された位置情報及び座標をサービス・デリバリ・プラットフォーム(SDP)105に伝達する。ネットワーク位置情報サーバ104により行われるステップについては、下記の図2の説明を参照のこと。
【0020】
サービス・デリバリ・プラットフォーム(SDP)105は、キャリアにより提供される位置情報サービスを第三者アプリケーション・サーバ121に配信する。SDP105は、ネットワーク位置情報サーバ104及び位置キャッシング・サーバ106と対話し、移動体デバイス101についての現在の座標又は位置キャッシュ・エントリとして位置情報を取得する。位置情報サービスの例は、特に、ある地理領域内の移動体デバイスのグループについての位置情報を提供するグループ位置情報サービス、ある移動体デバイスの特定の位置座標、デバイスの位置についての地理空間的(geospatial)マッピング情報、位置認識アプリケーションの実行などであり得る。
【0021】
位置キャッシング・サーバ106は、キャリアに対して位置情報及び座標のキャッシング・サービスを提供する。位置キャッシング・サーバ106は、位置キャッシング・プロセス107と、サービス・キャッシュ108と、位置キャッシュ109とを含む。サービス・キャッシュ108は、少なくとも1つのサービス・キャッシュ・エントリであるCacheDefault(ServiceType、CachePeriod)を含み、ServiceTypeは、キャリアによって提供されるサービス精度レベルを示し、CachePeriodは、サービス精度レベルServiceTypeに関連付けられたデフォルト・キャッシュ期間を示す。デフォルト・キャッシュ期間CachePeriodは、位置キャッシング・プロセス107によって動的に最適化される。位置キャッシュ109は、少なくとも1つの位置キャッシュ・エントリをタプル(MSISDN、CacheDefault、PriorLocation、PriorTimeStamp)として含む。位置キャッシング・プロセス107によって行われるステップ、及び位置キャッシュ・エントリの属性の詳細については、下記の図3の説明を参照のこと。
【0022】
仮想私設ネットワーク(VPN)120は、第三者アプリケーション・サーバ121をキャリアにより提供される位置情報サービスのためのサービス・デリバリ・プラットフォーム(SDP)105に接続する、セキュアなインターネット・プロトコル(IP)ベース・ネットワークである。第三者アプリケーション・サーバ121は、位置情報を要求し、消費する。第三者アプリケーションの例は、特に、企業のセールス・フォース・オートメーション・システム、グーグル・マップ(Google Map)のようなアプリケーション・システム・プロバイダのアプリケーション等であり得る。
【0023】
システム10は、ネットワーク位置情報サーバ104によって提供される位置情報の精度を位置キャッシング・サーバ106の使用により改善する。移動体デバイス101のそばにいる又は第三者アプリケーション・サーバ121に接続しているエンド・ユーザは、エンド・ユーザによって要求される精度レベルに比例して位置情報サーバの精度が高くなることに気付く。位置キャッシング・プロセス107は、位置キャッシュ109に格納されているキャッシュされた位置データを使用すべき場合なのか又は移動体デバイス101に実位置情報を照会すべき場合なのかを、サービス精度レベルごとのデフォルト・キャッシュ期間、移動体デバイス101により要求された精度、及び移動体デバイス101が移動した距離に従い、動的かつ自動的に判断する。
【0024】
本発明の好ましい実施形態は、サービス加入者の数、位置情報の処理量、待ち時間の要件等といった、キャッシング機能と無関係の非機能的要件に関する位置キャッシング・サーバ106の具体的な詳細によって、異なり得る。位置キャッシング・サーバ106は、アルゴリズム、プロセス及びキャッシュをこれらの非機能的要件を満たすようにスケール変更するための支援として、アプリケーション・サーバ・ソフトウェアを用いることができる。アプリケーション・サーバ・ソフトウェアの例は、特に、IBM(登録商標)WebSphere(登録商標)Application Server、Oracle(登録商標)WebLogic等であり得る。(IBM及びWebSphereは米国におけるInternational Business Machines Corporationの登録商標である。Oracleは米国におけるOracle Corporation及び/又はその関連会社の登録商標である。)ネットワーク位置情報サーバ104とサービス・デリバリ・プラットフォーム105とを、共通のアプリケーション・プログラム・インターフェース(API)又はカスタムな統合を通じて統合することができる。共通APIの例は、特に、ウェブ・サービス、OpenLS、LIF/MLP等であり得る。カスタムな統合に用いられる技術の例は、特に、Enterprise JavaBeans(EJB)、Simple Object Access Protocol(SOAP)又はWeb Serviceインターフェースであり得る。大量の位置キャッシュ・エントリが必要とされる好ましい実施形態においては、サービス・キャッシュ108と位置キャッシュ109とが、TimesTen又はSolidDBのような別個のインメモリ・データベースとして実装される。
【0025】
図2は、本発明の好ましい実施形態による、上記の図1のシステムのネットワーク位置情報サーバにより行われる、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法を示すフローチャートである。
【0026】
ステップ205において、ネットワーク位置情報サーバは、移動体デバイスから、その移動体デバイスの2次元(XY)座標とも呼ばれる位置データを要求する位置要求(MSISDN、Precision)を受信する。位置要求の第1のパラメータであるMSISDNは、位置要求の発信元である移動体デバイスの一意の識別子を示す。MSISDNという用語は、Mobile Station Integrated Services Digital Networkの頭字語であり、一般に移動局(Mobile Station)ISDN番号、又は無線通信の場合は携帯電話番号と呼ばれる。位置要求の第2のパラメータであるPrecisionは、移動体デバイスにより要求された精度レベルを示す。位置要求は、そのシステムで使用される業界標準定義に準拠してフォーマット化される。業界標準定義の例は、特に、Parlay/X、LIF MLP、OpenLS等であり得る。本発明の1つの好ましい実施形態において、位置要求の第2のパラメータであるPrecisionは、Parlay/X標準定義の精度レベルに従う集合{HIGH、MEDIUM、LOW}から選択される精度レベルを有する。次いで、ネットワーク位置情報サーバは、ステップ210に進む。
【0027】
ステップ210において、ネットワーク位置情報サーバは、第3のパラメータであるTimeStampと、第4のパラメータであるServiceTypeとを判定し、受信した位置要求にパラメータTimeStamp及びServiceTypeを付加する。第3のパラメータTimeStampは、ネットワーク位置情報サーバが位置要求を受信した時点のログを記録するタイムスタンプである。第4のパラメータServiceTypeは、ネットワーク位置情報サーバのサービス精度レベルであり、受信した位置要求に応答してサービス提供される位置データの精度を示す。第4のパラメータServiceTypeのサービス精度レベルは、要求されたサービスのタイプにより判定されるが、移動体デバイスが位置要求において要求した精度レベルPrecisionからは独立している。ネットワーク位置情報サーバは、ドメイン及びサブドメイン名、バインディング又はカップリング技術を用いることにより、第4のパラメータServiceTypeを判定する。次いで、ネットワーク位置情報サーバは、ステップ215に進む。
【0028】
本発明の1つの好ましい実施形態において、第4のパラメータServiceTypeは、第2のパラメータPRECISIONと矛盾しない動作については、集合{UNKNOWN、HIGH、MEDIUM、LOW}から選択される。サービス精度レベルがHIGHである場合、ネットワーク位置情報サーバは、受信した位置要求に応答して精度の高い位置データを提供する。よって、サービス精度レベルServiceType=HIGHに関連付けられるキャッシュ期間は、他のサービス精度レベルよりも短い。HIGHサービス精度レベルに関連付けられるサービスの例は、特に、ナビゲーション・サービス、緊急呼び出しサービス、配車(dispatching)サービス等であり得る。サービス精度レベルがMEDIUMである場合、ネットワーク位置情報サーバは、受信した位置要求に応答して中程度の精度の位置データを提供する。MEDIUMサービス精度レベルに関連付けられるサービスの例は、特に、友人探し、デート・サービス、地域の店舗検索、電話帳検索等のような位置情報サービスであり得る。サービス精度レベルがLOWである場合、ネットワーク位置情報サーバは、受信した位置要求に応答して最小限の精度の位置データを提供する。よって、サービス精度レベルServiceType=LOWに関連付けられるキャッシュ期間は、全てのサービス精度レベルの中で最も長い。LOWサービス精度レベルに関連付けられるサービスの例は、特に、気象情報サービス、交通情報サービス、地域ニュース、地域スポーツ・チームの順位レポート、アウトドア活動状況レポート等であり得る。サービス精度レベルUNKNOWNは、あらゆるサービス精度レベルについてのデフォルト値であり、受信した位置要求に応答して、中程度から高い精度までの位置データを戻す。それぞれのサービス精度レベルのキャッシュ期間の例については、図6を参照のこと。
【0029】
ステップ215において、ネットワーク位置情報サーバは、4つのパラメータ(MSISDN、Precision、TimeStamp、ServiceType)を含む位置要求を位置キャッシング・プロセスに送信する。ステップ215に応答して位置キャッシング・プロセスにより行われるステップについては、下記の図3のステップ300の説明を参照のこと。次いで、ネットワーク位置情報サーバはステップ220に進む。
【0030】
ステップ220において、ネットワーク位置情報サーバは、ステップ215において送信された位置要求の応答を位置キャッシング・プロセスから受信し、位置キャッシング・プロセスがネットワーク位置情報サーバに、位置キャッシュ・エントリ又は実位置照会のどちらを送信したのか判定する。ネットワーク位置情報サーバが、下記の図3のステップ340に応答して、位置キャッシング・プロセスから実位置照会を受信した場合には、ネットワーク位置情報サーバはステップ225に進み、受信した実位置照会を処理する。ネットワーク位置情報サーバが、下記の図3のステップ335に応答して、位置キャッシング・プロセスから位置キャッシュ・エントリを受信した場合には、ネットワーク位置情報サーバはステップ235に進み、受信した位置キャッシュ・エントリを処理する。
【0031】
ステップ225において、ネットワーク位置情報サーバは、キャリア・データ・ネットワークを介して実位置照会を行うことにより、移動体デバイスの新たな位置データを取得する。次いで、ネットワーク位置情報サーバはステップ230に進む。
【0032】
ステップ230において、ネットワーク位置情報サーバは、新たな位置データを、位置要求に関連付けられる位置キャッシュ・エントリの更新のために位置キャッシング・プロセスに送信し、かつ、位置要求に対する応答として移動体デバイスに送信する。次いで、ネットワーク位置情報サーバは位置要求の処理を終了する。
【0033】
ステップ235において、ネットワーク位置情報サーバは、受信した位置キャッシュ・エントリを位置要求に対する応答として移動体デバイスに転送する。ステップ230及び235において、ネットワーク位置情報サーバは、移動体デバイスに提供されたサービスに基づく課金及び使用量の情報を取得する。次いで、ネットワーク位置情報サーバは位置要求の処理を終了する。
【0034】
図3は、本発明の好ましい実施形態による、上記の図1のシステムの位置キャッシング・プロセスにより行われる、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法を示すフローチャートである。
【0035】
ステップ300において、位置キャッシング・プロセスは、上記の図2のステップ215に応答して、ネットワーク位置情報サーバから、位置要求(MSISDN、Precision、TimeStamp、ServiceType)を受信する。位置キャッシング・プロセスはその後、受信した位置要求の第1のパラメータMSISDNに対応する位置キャッシュ・エントリを、位置キャッシュをMSISDNで検索することにより取り出す。位置キャッシュ・エントリは、(MSISDN、CacheDefault、PriorLocation、PriorTimeStamp)を含む。第1の属性であるMSISDNは、位置キャッシュ・エントリの一意の識別子を示し、これは、位置要求の第1のパラメータであるMSISDNと一致する。第2の属性であるCacheDefaultは、サービス精度レベルとそのサービス精度レベルに関連付けられたキャッシュ期間とを含むそれぞれのサービス・キャッシュ・エントリに格納された、キャッシュ・デフォルト情報を示す(ServiceType、CachePeriod)。サービス精度レベルに関連付けられたキャッシュ期間であるCachePeriodが、再設定の対象である。第3の属性であるPriorLocationは、直近の位置要求においてサンプリングされた位置データを示す。第4の属性であるPriorTimeStampは、直近の位置要求が為された時点のタイムスタンプを示す。次いで、位置キャッシング・プロセスは、ステップ305に進む。
【0036】
ステップ305において、位置キャッシング・プロセスは、受信した位置要求に対応する位置キャッシュ・エントリが入手可能であるかどうかを、第1のパラメータMSISDNで位置キャッシュを検索することにより判定する。位置キャッシング・プロセスが、受信した位置要求に対応する位置キャッシュ・エントリが入手可能であると判定した場合は、位置キャッシング・プロセスは、ステップ310に進む。位置キャッシング・プロセスが、受信した位置要求に対応する位置キャッシュ・エントリが入手可能ではないと判定した場合は、位置キャッシング・プロセスは、ステップ340に進む。
【0037】
ステップ310において、位置キャッシング・プロセスは、取り出した位置キャッシュ・エントリのキャッシュ期間を計算する。ステップ310の詳細なステップについては、下記の図4の説明を参照のこと。次いで、位置キャッシング・プロセスは、ステップ330に進む。
【0038】
ステップ330において、位置キャッシング・プロセスは、キャッシュ期間が既に期限切れしていないかどうかを、キャッシュ・デフォルトのキャッシュ期間であるCachePeriodをPriorTimeStampの時間値に加算し、その後、加算した結果をTimeStampの時間値と比較することにより判定する。加算した結果がTimeStampの時間値より小さい場合は、キャッシュ期間は、最終キャッシングのときから期限切れしている。加算した結果がTimeStampの時間値より大きい又はこれと等しい場合は、キャッシュ期間はまだ期限切れしておらず、従って位置キャッシュ・エントリはまだ有効である。位置キャッシング・プロセスが、キャッシュ期間が既に期限切れしていると判定した場合は、位置キャッシング・プロセスはステップ340に進む。位置キャッシング・プロセスが、キャッシュ期間がまだ期限切れしていないと判定した場合は、位置キャッシング・プロセスはステップ335に進む。
【0039】
ステップ335において、位置キャッシング・プロセスは、ステップ305からの位置キャッシュ・エントリをネットワーク位置情報サーバに戻す。次いで、位置キャッシング・プロセスは終了する。
【0040】
ステップ340において、位置キャッシング・プロセスは位置要求に対する期限切れしていない位置キャッシュ・エントリを有していないので、位置キャッシング・プロセスは、ネットワーク位置情報サーバに実位置照会を送信する。実位置照会に応答して、ネットワーク位置情報サーバにより行われるステップについては、上記の図2のステップ220の説明を参照のこと。次いで、位置キャッシング・プロセスは、ステップ345に進む。
【0041】
ステップ345において、位置キャッシング・プロセスは、上記の図2のステップ230に応答して、ネットワーク位置情報サーバから実位置照会の結果を受信する。実位置照会の結果は、(MSISDN、CacheDefault、PriorLocation、PriorTimeStamp)を含み、ここでCacheDefaultは(ServiceType、CachePeriod)を含む。次いで、位置キャッシング・プロセスは、ステップ350に進む。
【0042】
ステップ350において、位置キャッシング・プロセスは、移動体デバイスが直近の位置要求以降に移動した距離を調べることにより、キャッシュ期間を調整する。次いで、位置キャッシング・プロセスは、ステップ355に進む。
【0043】
本発明の1つの好ましい実施形態において、調整されたキャッシュ期間は、移動体デバイスが移動した種々の距離範囲に従って計算される。キャッシュ期間に対する距離範囲の例については、下記の図8の説明を参照のこと。
【0044】
ステップ355において、位置キャッシング・プロセスは、位置要求に対応する位置キャッシュ・エントリを、ステップ345からの新たな位置情報によって更新する。ステップ355の詳細なステップについては、下記の図5の説明を参照のこと。
【0045】
図4は、本発明の好ましい実施形態による、上記の図1のシステムの位置キャッシング・プロセスにより行われる、位置データのキャッシュ期間を最適化するようにキャッシング間隔を計算するための方法を示すフローチャートである。
【0046】
ステップ315において、位置キャッシング・プロセスは、取り出された位置キャッシュ・エントリのサービス精度レベルであるServiceTypeが、位置要求が要求した精度レベルであるPrecisionと等しいかどうかを判定する。位置キャッシング・プロセスが、位置キャッシュ・エントリのサービス精度レベルServiceTypeが、位置要求が要求した精度レベルPrecisionと等しくないと判定した場合には、位置キャッシング・プロセスは、ステップ320に進む。位置キャッシング・プロセスが、位置キャッシュ・エントリのサービス精度レベルServiceTypeが、位置要求が要求した精度レベルPrecisionと等しいと判定した場合には、位置キャッシング・プロセスは、ステップ325に進む。
【0047】
ステップ320において、位置キャッシング・プロセスは、キャッシュ期間計算規則に従って、キャッシュ・デフォルト情報CacheDefault(ServiceType、CachePeriod)と位置要求が要求した精度レベルPrecisionとを用いることにより、キャッシュ期間を計算する。キャッシュ期間計算規則は、ネットワーク位置情報サーバにより提供されるサービス精度レベルServiceTypeと、位置要求において指定された精度レベルPrecisionとの間のキャッシュ期間の不一致を解決するように工夫されている。次いで、位置キャッシング・プロセスは、上記の図3のステップ330に進む。
【0048】
本発明の1つの好ましい実施形態において、キャッシュ期間計算規則は、位置要求の精度レベルであるPrecisionに従って定められる。キャッシュ期間計算規則の一例については、下記の図7の説明を参照のこと。
【0049】
ステップ325において、位置キャッシング・プロセスは、キャッシュ期間をServiceTypeのためのデフォルト・キャッシュ期間であるCachePeriodで設定する。次いで、位置キャッシング・プロセスは、上記の図3のステップ330に進む。
【0050】
図5は、本発明の好ましい実施形態による、上記の図1のシステムの位置キャッシング・プロセスにより行われる、位置データのキャッシュ期間を最適化するように位置キャッシュ・エントリを設定するための方法を示すフローチャートである。
【0051】
ステップ360において、位置キャッシング・プロセスは、サービス・キャッシュ・エントリから、サービス精度レベルごとのデフォルト・キャッシュ期間を判定する。サービス・キャッシュ・エントリは、位置キャッシュ・エントリの第2の属性であるCacheDefaultと同一であり、サービス精度レベルとサービス精度レベルに関連付けられたキャッシュ期間とを含むキャッシュ・デフォルト情報を示す(ServiceType、CachePeriod)。
【0052】
ステップ365において、位置キャッシング・プロセスは、位置要求の精度レベルであるPrecisionが、サービス・キャッシュ・エントリのサービス精度レベルであるServiceTypeと等しいかどうかを判定する。位置キャッシング・プロセスが、位置要求の精度レベルPrecisionがサービス・キャッシュ・エントリのサービス精度レベルServiceTypeと等しくないと判定した場合には、位置キャッシング・プロセスは、ステップ370に進む。位置キャッシング・プロセスが、位置要求の精度レベルPrecisionが、サービス・キャッシュ・エントリのサービス精度レベルServiceTypeと等しいと判定した場合には、位置キャッシング・プロセスは、ステップ380に進む。
【0053】
ステップ370において、位置キャッシング・プロセスは、要求された精度レベルPrecisionとサービス精度レベルServiceTypeの間で高い方の精度レベルを、位置キャッシュ・エントリのサービス精度レベルServiceTypeとして選択する。高い方の精度レベルを選択することで、一意の識別子MSISDNを有する移動体デバイスが様々な要求精度の複数の位置情報サービスを同時に実行することが可能になる。次いで、位置キャッシング・プロセスは、ステップ375に進む。
【0054】
ステップ375において、位置キャッシング・プロセスは、位置キャッシュ・エントリを更新して、サービス精度レベルServiceTypeをステップ370で選択されたサービス精度レベルに設定し、位置データPriorLocationを上記の図3のステップ345で受信された位置データに設定し、タイムスタンプPriorTimeStampを上記の図3のステップ345で受信されたタイムスタンプに設定し、キャッシュ期間CachePeriodを上記の図3のステップ350において調整されたキャッシュ期間に設定する。次いで、位置キャッシング・プロセスは、位置要求の処理を終了する。
【0055】
ステップ380において、位置キャッシング・プロセスは、上記の図3のステップ345において実位置照会から受信した結果を用いて、新たな位置キャッシュ・エントリ(MSISDN、CacheDefault、PriorLocation、PriorTimeStamp)を位置キャッシュに追加し、ここでCacheDefaultは(ServiceType、CachePeriod)を含む。位置データPriorLocationは、実位置照会に応答して受信された最新の実位置である。MSISDNに関する新たな位置キャッシュ・エントリは、上記の図3のステップ305で位置キャッシュ・エントリが入手可能ではないと判定された場合にのみ作成される。次いで、位置キャッシング・プロセスは、位置要求の処理を終了する。
【0056】
図6、図7及び図8は、本発明の好ましい実施形態による、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するためのデフォルト値及び規則の例を示す。
【0057】
図6は、サービス・キャッシュに格納されたキャッシュ・デフォルトCacheDefault(ServiceType、CachePeriod)の初期値の例を示し、これは、それぞれのサービス精度レベルServiceTypeと、それぞれのサービス精度レベルに関連付けられたそれぞれのキャッシュ期間CachePeriodとを表す。図6は、キャッシュ・デフォルトの集合を表し、ここで、サービス精度レベルUNKNOWNに関連付けられた第1のキャッシュ期間は20秒であり、サービス精度レベルHIGHに関連付けられた第2のキャッシュ期間は10秒であり、サービス精度レベルMEDIUMに関連付けられた第3のキャッシュ期間は30秒であり、サービス精度レベルLOWに関連付けられた第4のキャッシュ期間は60秒である。
【0058】
図7は、移動体デバイスにより要求された精度レベルPrecisionと、ネットワーク位置情報サーバにより提供されるサービス精度レベルServiceTypeとに基づくキャッシュ期間計算規則の一例を示す。図7のキャッシュ期間計算規則によれば、Precisionが不明である場合、キャッシュ期間は、ServiceTypeのためのデフォルト・キャッシュ期間CachePeriodに等しい。精度がHIGHである場合、キャッシュ期間は、ServiceTypeのためのデフォルト・キャッシュ期間CachePeriodの50パーセント(50%)短縮され、即ち、(p’=0.5×CachePeriod)である。精度がMEDIUMである場合、キャッシュ期間は、ServiceTypeのためのデフォルト・キャッシュ期間CachePeriodに等しく、即ち、(p’=CachePeriod)である。精度がLOWである場合、キャッシュ期間は、ServiceTypeのためのデフォルト・キャッシュ期間CachePeriodから50パーセント(50%)延長され、即ち、(p’=1.5×CachePeriod)である。
【0059】
図8は、それぞれのサービス精度レベルServiceTypeのためのキャッシュ期間CachePeriodを、移動体デバイスが以前の位置要求と今回の位置要求との間の時間経過の間に移動した距離に基づいて調整するための規則の一例を示す。移動距離によるキャッシュ期間の調整は、今回の位置要求に対してサービス提供するためにネットワーク位置情報サーバに対する実位置照会が行われた場合にのみ適用可能である。位置キャッシング・プロセスが、今回の位置要求にサービス提供するために位置キャッシュ・エントリを用いた場合には、移動距離はキャッシュ期間の調整において考慮に入れられない。図8によれば、距離(D)がゼロ(0)である場合は、キャッシュ期間は調整されず、即ち、(p”=p’)であり、ここでp’は、キャッシュ期間計算規則に従って計算されたキャッシュ期間のインスタンスである。距離(D)が10メートル未満の場合、即ち0<D<10の場合は、キャッシュ期間は20パーセント(20%)短縮され、その結果、調整されたキャッシュ期間(p”=0.8×p’)が得られる。距離(D)が50メートル未満である場合、即ち10≦D<50の場合は、キャッシュ期間は35パーセント(35%)短縮され、その結果、調整されたキャッシュ期間(p”=0.65×p’)が得られる。距離(D)が50メートル以上の場合、即ち50≦Dの場合は、キャッシュ期間は50パーセント(50%)短縮され、その結果、調整されたキャッシュ期間(p”=0.5×p’)が得られる。
【0060】
図9、図10、及び図11は、本発明の好ましい実施形態による、位置要求、及び上記の図3のネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法から得られる最適化されたキャッシュ期間の例を示す。
【0061】
位置要求及び最適化されたキャッシュ期間の例は、上記の図6、図7、及び図8のデフォルト値及び規則を利用する。上記の図8の説明において記されたように、位置データは、実位置照会に応答して、ネットワーク位置情報サーバにより提供された。要求された精度Precisionにより計算されたキャッシュ期間、即ち、P’は、今回の位置要求にサービス提供するために実位置照会を実行すべきか否かを判定するためにのみ用いられ、位置キャッシュ・エントリには影響しない。位置要求の精度レベルPrecisionは、移動体デバイスの要求に従って設定され、位置要求ごとに変わる。位置キャッシュ・エントリは、移動体デバイスがどれだけ遠くまで移動したか、及びその位置要求にサービス提供するためにはどの精度レベルが適正であるかということに基づいて設定される。個々の位置要求において要求された精度レベルPrecisionには関わりなく、位置キャッシング・プロセスは、その位置要求に適正にサービス提供するために必要なサービス精度レベルServiceTypeに従って位置キャッシュ・エントリ内のキャッシュ期間を最適化する。
【0062】
図9は、MSISDN=Xの移動体デバイスからの、高精度レベルのサービス、即ち、ServiceType=HIGHを求める3つの位置要求の第1の系列を示す。上記の図6のServiceType=HIGHの場合の初期キャッシュ・デフォルト値によれば、デフォルト・キャッシュ期間は10秒、即ち、CachePeriod=10である。
【0063】
列1の第1の位置要求の場合、要求された精度レベルは高、即ち、Precision=HIGHである。上記の図3のステップ310において、キャッシュ期間は、上記の図7のキャッシュ期間計算規則に従い、5(p’=10×0.5=5)秒と計算される。第1の位置要求の時間経過は6秒であり、これは計算されたキャッシュ期間である5秒より長いので、上記の図3のステップ330において、MSISDN=Xの移動体デバイスの位置キャッシュ・エントリは期限切れと判定されることを示す。従って、位置キャッシング・プロセスは、上記の図3のステップ340において、ネットワーク位置情報サーバに実位置照会を送信し、上記の図3のステップ345において、図9の位置ソースの行に表されるように、ネットワーク位置情報サーバから新たな位置データを受信する。ステップ350において、位置キャッシング・プロセスは、MSISDN=Xの移動体デバイスの移動距離が0メートルであるとチェックする。MSISDN=Xの移動体デバイスは移動していなかったので、上記の図8により、位置キャッシング・プロセスは、キャッシュ期間を調整しない。位置キャッシング・プロセスは、サービス・キャッシュ・エントリに関して、ServiceType=HIGHのサービスのためのデフォルト・キャッシュ期間であるCachePeriod=10を維持する。位置キャッシング・プロセスは引き続き、MSISDN=Xの移動体デバイスについての位置キャッシュ・エントリを、このキャッシュ期間、新たな位置データ、及び実位置照会が実行されたときの新たなタイムスタンプで更新する。
【0064】
列2の第2の位置要求の場合、要求された精度レベルは低、即ち、Precision=LOWである。上記の図3のステップ310において、キャッシュ期間は、上記の図7のキャッシュ期間計算規則に従い、15(p’=10×1.5=5)秒と計算される。第2の位置要求の時間経過は3秒であり、これは計算されたキャッシュ期間である15秒より短いので、上記の図3のステップ330において、MSISDN=Xの移動体デバイスの位置キャッシュ・エントリはまだ有効であると判定されることを示す。位置キャッシング・プロセスは、上記の図3のステップ335において、位置キャッシュ・エントリの位置データをMSISDN=Xの移動体デバイスに戻す。MSISDN=Xの移動体デバイスの位置キャッシュ・エントリは有効であったので、位置キャッシング・プロセスは、位置キャッシュ・エントリを更新せず、移動距離もチェックしない。
【0065】
列3の第3の位置要求の場合、要求された精度レベルは高、即ち、Precision=HIGHである。上記の図3のステップ310において、キャッシュ期間は、上記の図7のキャッシュ期間計算規則に従い、5(p’=10×0.5=5)秒と計算される。第3の位置要求の時間経過は6秒であり、これは計算されたキャッシュ期間である5秒より長いので、上記の図3のステップ330において、MSISDN=Xの移動体デバイスの位置キャッシュ・エントリは期限切れと判定されることを示す。従って、位置キャッシング・プロセスは、上記の図3のステップ340において、ネットワーク位置情報サーバに実位置照会を送信し、上記の図3のステップ345において、図9の位置ソースの行に表されるように、ネットワーク位置情報サーバから新たな位置データを受信する。ステップ350において、位置キャッシング・プロセスは、MSISDN=Xの移動体デバイスの移動距離が60メートルであるとチェックする。上記の図8により、位置キャッシング・プロセスは、キャッシュ期間を50パーセント(50%)短縮し、即ち2.5秒(p’’=5×0.5=2.5)にすることによって、キャッシュ期間を調整する。位置キャッシング・プロセスは、サービス・キャッシュ・エントリに関して、ServiceType=HIGHのサービスのためのデフォルト・キャッシュ期間をCachePeriod=2.5に再設定する。位置キャッシング・プロセスは引き続き、MSISDN=Xの移動体デバイスについての位置キャッシュ・エントリを、このキャッシュ期間、新たな位置データ、及び実位置照会が実行されたときの新たなタイムスタンプで更新する。
【0066】
図10は、MSISDN=Yの移動体デバイスからの、中程度の精度レベルのサービス、即ち、ServiceType=MEDIUMを求める3つの位置要求の第2の系列を示す。上記の図6のServiceType=MEDIUMの場合の初期キャッシュ・デフォルト値によれば、デフォルト・キャッシュ期間は30秒、即ち、CachePeriod=30である。
【0067】
列4の第4の位置要求の場合、要求された精度レベルは中、即ち、Precision=MEDIUMである。上記の図3のステップ310において、キャッシュ期間は、上記の図7のキャッシュ期間計算規則に従い、30(p’=p=30)秒と計算される。第4の位置要求の時間経過は40秒であり、これは計算されたキャッシュ期間である30秒より長いので、上記の図3のステップ330において、MSISDN=Yの移動体デバイスの位置キャッシュ・エントリは期限切れと判定されることを示す。従って、位置キャッシング・プロセスは、上記の図3のステップ340において、ネットワーク位置情報サーバに実位置照会を送信し、上記の図3のステップ345において、図10の位置ソースの行に表されるように、ネットワーク位置情報サーバから新たな位置データを受信する。ステップ350において、位置キャッシング・プロセスは、MSISDN=Yの移動体デバイスの移動距離が55メートルであるとチェックする。上記の図8により、位置キャッシング・プロセスは、キャッシュ期間を50パーセント(50%)短縮し、即ち15秒(p’’=30×0.5=15)にすることによって、キャッシュ期間を調整する。位置キャッシング・プロセスは、サービス・キャッシュ・エントリに関して、ServiceType=MEDIUMのサービスのためのデフォルト・キャッシュ期間をCachePeriod=15に再設定する。位置キャッシング・プロセスは引き続き、MSISDN=Yの移動体デバイスについての位置キャッシュ・エントリを、このキャッシュ期間、新たな位置データ、及び実位置照会が実行されたときの新たなタイムスタンプで更新する。
【0068】
列5の第5の位置要求の場合、要求された精度レベルは低、即ち、Precision=LOWである。上記の図3のステップ310において、キャッシュ期間は、上記の図7のキャッシュ期間計算規則に従い、22.5(p’=p×1.5=22.5)秒と計算される。第4の位置要求の結果のサービス・キャッシュ・エントリの更新の後、サービス精度レベルが中のデフォルト・キャッシュ期間は15秒であり、即ち、CacheDefault(ServiceType、CachePeriod)=(MEDIUM、15)である。第5の位置要求の時間経過は17秒であり、これは計算されたキャッシュ期間である22.5秒より短いので、上記の図3のステップ330において、MSISDN=Yの移動体デバイスの位置キャッシュ・エントリはまだ有効であると判定されることを示す。位置キャッシング・プロセスは、上記の図3のステップ335において、位置キャッシュ・エントリの位置データをMSISDN=Yの移動体デバイスに戻す。MSISDN=Yの移動体デバイスの位置キャッシュ・エントリは有効であったので、位置キャッシング・プロセスは、位置キャッシュ・エントリを更新せず、移動距離もチェックしない。
【0069】
列6の第6の位置要求の場合、要求された精度レベルは低、即ち、Precision=LOWである。上記の図3のステップ310において、キャッシュ期間は、上記の図7のキャッシュ期間計算規則に従い、22.5(p’=p×1.5=22.5)秒と計算される。第5の位置要求の結果としてサービス・キャッシュ・エントリは更新されなかったので、第4の位置要求の結果のサービス・キャッシュ・エントリの更新の後、サービス精度レベルが中のデフォルト・キャッシュ期間は15秒であり、即ち、CacheDefault(ServiceType、CachePeriod)=(MEDIUM、15)である。第6の位置要求の時間経過は25秒であり、これは計算されたキャッシュ期間である22.5秒より長いので、上記の図3のステップ330において、MSISDN=Yの移動体デバイスの位置キャッシュ・エントリは期限切れと判定されることを示す。従って、位置キャッシング・プロセスは、上記の図3のステップ340においてネットワーク位置情報サーバに実位置照会を送信し、上記の図3のステップ345において、図10の位置ソースの行に表されるように、ネットワーク位置情報サーバから新たな位置データを受信する。ステップ350において、位置キャッシング・プロセスは、MSISDN=Yの移動体デバイスの移動距離が0メートルであるとチェックする。MSISDN=Yの移動体デバイスは移動していなかったので、上記の図8により、位置キャッシング・プロセスは、キャッシュ期間を調整しない。位置キャッシング・プロセスは、サービス・キャッシュ・エントリに関して、ServiceType=MEDIUMのサービスのためのデフォルト・キャッシュ期間であるCachePeriod=30を復元する。位置キャッシング・プロセスは引き続き、MSISDN=Yの移動体デバイスについての位置キャッシュ・エントリを、このキャッシュ期間、新たな位置データ、及び実位置照会が実行されたときの新たなタイムスタンプで更新する。
【0070】
図11は、MSISDN=Zの移動体デバイスからの、低い精度レベルのサービス、即ち、ServiceType=LOWを求める3つの位置要求の第3の系列を示す。上記の図6のServiceType=LOWに関する初期キャッシュ・デフォルト値によれば、デフォルト・キャッシュ期間は60秒、即ち、CachePeriod=60である。
【0071】
列7の第7の位置要求の場合、要求された精度レベルは高、即ち、Precision=HIGHである。上記の図3のステップ310において、キャッシュ期間は、上記の図7のキャッシュ期間計算規則に従い、30(p’=60×0.5=30)秒と計算される。第7の位置要求の時間経過は25秒であり、これは計算されたキャッシュ期間である30秒より短いので、上記の図3のステップ330において、MSISDN=Zの移動体デバイスの位置キャッシュ・エントリはまだ有効であると判定されることを示す。位置キャッシング・プロセスは、上記の図3のステップ335において、位置キャッシュ・エントリの位置データをMSISDN=Zの移動体デバイスに戻す。MSISDN=Zの移動体デバイスの位置キャッシュ・エントリは有効であったので、位置キャッシング・プロセスは、位置キャッシュ・エントリを更新せず、移動距離もチェックしない。
【0072】
列8の第8の位置要求の場合、要求された精度レベルは高、即ち、Precision=HIGHである。上記の図3のステップ310において、キャッシュ期間は、上記の図7のキャッシュ期間計算規則に従い、30(p’=60×0.5=30)秒と計算される。第8の位置要求の時間経過は33秒であり、これは計算されたキャッシュ期間である30秒より長いので、上記の図3のステップ330において、MSISDN=Zの移動体デバイスの位置キャッシュ・エントリは期限切れと判定されることを示す。従って、位置キャッシング・プロセスは、上記の図3のステップ340において、ネットワーク位置情報サーバに実位置照会を送信し、上記の図3のステップ345において、図11の位置ソースの行に表されるように、ネットワーク位置情報サーバから新たな位置データを受信する。ステップ350において、位置キャッシング・プロセスは、MSISDN=Zの移動体デバイスの移動距離が8メートルであるとチェックする。上記の図8により、位置キャッシング・プロセスは、キャッシュ期間を20パーセント(20%)短縮し、即ち48秒(p’’=60×0.8=48)にすることによって、キャッシュ期間を調整する。位置キャッシング・プロセスは、サービス・キャッシュ・エントリに関して、ServiceType=LOWのサービスのためのデフォルト・キャッシュ期間をCachePeriod=48に再設定する。位置キャッシング・プロセスは引き続き、MSISDN=Zの移動体デバイスについての位置キャッシュ・エントリを、このキャッシュ期間、新たな位置データ、及び実位置照会が実行されたときの新たなタイムスタンプで更新する。
【0073】
列9の第9の位置要求の場合、要求された精度レベルは高、即ち、Precision=HIGHである。上記の図3のステップ310において、キャッシュ期間は、上記の図7のキャッシュ期間計算規則に従い、24(p’=48×0.5=24)秒と計算される。第8の位置要求の結果のサービス・キャッシュ・エントリの更新の後、サービス精度レベルが低のデフォルト・キャッシュ期間は48秒であり、即ち、CacheDefault(ServiceType、CachePeriod)=(LOW、48)である。第9の位置要求の時間経過は25秒であり、これは計算されたキャッシュ期間である24秒より長いので、上記の図3のステップ330において、MSISDN=Zの移動体デバイスの位置キャッシュ・エントリは期限切れと判定されることを示す。従って、位置キャッシング・プロセスは、上記の図3のステップ340において、ネットワーク位置情報サーバに実位置照会を送信し、上記の図3のステップ345において、図11の位置ソースの行に表されるように、ネットワーク位置情報サーバから新たな位置データを受信する。ステップ350において、位置キャッシング・プロセスは、MSISDN=Zの移動体デバイスの移動距離が0メートルであるとチェックする。MSISDN=Zの移動体デバイスは移動していなかったので、上記の図8により、位置キャッシング・プロセスは、キャッシュ期間を調整しない。位置キャッシング・プロセスは、サービス・キャッシュ・エントリに関して、ServiceType=LOWのサービスのためのデフォルト・キャッシュ期間であるCachePeriod=60を復元する。位置キャッシング・プロセスは引き続き、MSISDN=Zの移動体デバイスについての位置キャッシュ・エントリを、このキャッシュ期間、新たな位置データ、及び実位置照会が実行されたときの新たなタイムスタンプで更新する。
【0074】
図12は、本発明の好ましい実施形態による、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するために用いられるコンピュータ・システムを図示する。
【0075】
コンピュータ・システム90は、プロセッサ91と、プロセッサ91に結合された入力デバイス92と、プロセッサ91に結合された出力デバイス93と、各々がプロセッサ91に結合されたメモリ・デバイス94及び95を含むコンピュータ可読メモリ・ユニットとを含む。入力デバイス92は、特に、キーボード、マウス、キーパッド、タッチ・スクリーン、音声認識デバイス、センサ、ネットワーク・インターフェース・カード(NIC)、インターネット・プロトコル上での音声/映像通信(Voice/video over Internet Protocol:VOIP)アダプタ、無線アダプタ、電話アダプタ、専用回線アダプタ等とすることができる。出力デバイス93は、特に、プリンタ、プロッタ、コンピュータ・スクリーン、磁気テープ、取り外し可能ハード・ディスク、フロッピィディスク、NIC、VOIPアダプタ、無線アダプタ、電話アダプタ、専用回線アダプタ、音響及び/又は視覚信号生成器、発光ダイオード(LED)等とすることができる。メモリ・デバイス94及び95は、特に、キャッシュ、ダイナミック・ランダム・アクセス・メモリ(DRAM)、読み出し専用メモリ(ROM)、ハード・ディスク、フロッピィディスク、磁気テープ、コンパクト・ディスク(CD)又はデジタル・ビデオ・ディスク(DVD)などの光ストレージ等とすることができる。メモリ・デバイス95は、コンピュータ実行可能命令を含むコンピュータ・プログラム・コードであるコンピュータ・コード97を含む。コンピュータ・コード97は、特に、本発明によるネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間の最適化のために用いられるアルゴリズムを含む。プロセッサ91は、コンピュータ・コード97を実行する。メモリ・デバイス94は、入力データ96を含む。入力データ96は、コンピュータ・コード97により必要とされる入力を含む。出力デバイス93は、コンピュータ・コード97からの出力を表示する。メモリ・デバイス94及び95の一方又は両方(又は図12に図示されていない1つ又は複数の付加的なメモリ・デバイス)を、コンピュータ可読プログラム・コードがその中で具体化された及び/又は他のデータが格納されたコンピュータ可読ストレージ媒体(又はコンピュータ使用可能ストレージ媒体若しくはプログラムストレージ・デバイス)として用いることができ、その場合、コンピュータ可読プログラム・コードはコンピュータ・コード97を含む。一般に、コンピュータ・システム90のコンピュータ・プログラム製品(又は、代替的に、製造物品)は、上記のコンピュータ可読ストレージ媒体(又は上記のプログラム・ストレージ媒体)を含むことができる。
【0076】
本発明のデータ収集規則に従ってウェブ・インターフェースを動的に構築するためのプロセスに関するコンピュータ・インフラストラクチャを配備又は統合することを提供するサービス提供者によって、本発明のいずれかの構成要素の配備、管理、サービス提供等を行うことができる。よって、本発明は、コンピュータ可読コードをコンピュータ・システム(例えばコンピュータ・システム90)内に統合し、ホスティングし、保守し、配備することを含む、コンピュータ・インフラストラクチャをサポートするためのプロセスを開示し、コンピュータ・システムと組み合わされたコードは、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法を実行することができる。
【0077】
別の好ましい実施形態において、本発明は、本発明のプロセス・ステップを、加入、広告、及び/又は料金に基づいて実行するビジネス方法を提供する。即ち、ソリューション・インテグレータのようなサービス提供者は、本発明のネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するためのプロセスの作成、保守、サポート等を提供することができる。この場合、サービス提供者は、1又は複数の顧客のために、本発明のプロセス・ステップを実行するコンピュータ・インフラストラクチャの作成、保守、サポート等を行うことができる。見返りに、サービス提供者は、加入した及び/又は料金契約した顧客から支払いを受けることができ、及び/又はサービス提供者は、1又は複数の第三者に対する広告コンテンツの販売からの支払いを受けることができる。
【0078】
図12は、ハードウェア及びソフトウェアの特定の構成としてコンピュータ・システム90を示すが、図12の特定のコンピュータ・システム90に関連して上述した目的のために、当業者には公知のように、どのようなハードウェア及びソフトウェアの構成を利用することもできる。例えば、メモリ・デバイス94及び95は、別個のメモリ・デバイスではなく単一のメモリ・デバイスの一部とすることができる。
【0079】
当業者には理解されるように、本発明は、システム、方法、又はコンピュータ・プログラム製品として具体化することができる。従って、本発明は、完全にハードウェアの好ましい実施形態、完全にソフトウェアの好ましい実施形態(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)、又はソフトウェアの態様とハードウェアの態様とを組み合わせた好ましい実施形態の形態をとることができ、これらは全て、本明細書において一般的に「回路」、「モジュール」又は「システム」と呼ぶことができる。さらに、本発明は、媒体内に具体化されたコンピュータ使用可能プログラム・コードを有する、いずれかの有形の表現媒体内に具体化されたコンピュータ・プログラム製品の形態をとることができる。
【0080】
1つ又は複数のコンピュータ使用可能又はコンピュータ可読媒体94、95のいかなる組み合わせを用いることもできる。コンピュータ使用可能媒体又はコンピュータ可読媒体という用語は、コンピュータ使用可能/可読ストレージ媒体94、95を総称的に指す。コンピュータ使用可能又はコンピュータ可読媒体94、95は、例えば、電子的、磁気的、光学的、電磁気的、赤外線又は半導体のシステム、装置、デバイス、又は上記のもののいずれかの適切な組み合わせとすることができるが、これらに限定されるものではない。コンピュータ可読媒体94、95のより具体的な例(非網羅的なリスト)として、以下のもの、即ち、1つ又は複数の配線を有する電気的接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD−ROM)、光記憶装置、磁気記憶装置、又は上記のもののいずれかの適切な組み合わせが挙げられる。プログラムが印刷された紙又は他の適切な媒体も、そのプログラムを例えば、その紙又は他の媒体の光学スキャンによって電子的にキャプチャし、次いで、必要に応じて、コンパイルし、解釈し、又はそれ以外の適切な手法で処理し、その後、コンピュータ・メモリ内に格納することができるので、コンピュータ使用可能又はコンピュータ可読媒体94、95はプログラムが印刷された紙又は別の適切な媒体とすることさえできることに留意されたい。本明細書の文脈内において、コンピュータ使用可能又はコンピュータ可読媒体94、95は、命令を実行するシステム、装置、又はデバイスによって使用するため、又はこれらと関連して使用するために、プログラムを収納又は保存することができるあらゆる媒体とすることができる。
【0081】
本発明の動作を実行するためのコンピュータ・コード97は、Java、SmallTalk、C++などのようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続き型プログラミング言語を含む、1つ又は複数のプログラミング言語のいずれかの組み合わせで記述することができる。コンピュータ・コード97は、全体をユーザのコンピュータ上で実行することもでき、スタンドアロン型のソフトウェア・パッケージとして一部をユーザのコンピュータ上で実行することもでき、一部をユーザのコンピュータ上で実行し、一部をリモート・コンピュータ上で実行することもでき、又は、全体をリモート・コンピュータ若しくはサーバ上で実行することもできる。後者のシナリオの場合、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)又は広域ネットワーク(WAN)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は(例えば、インターネット・サービス・プロバイダを用いたインターネットを通じて)外部のコンピュータへの接続がなされる場合もある。
【0082】
本発明は、本発明の好ましい実施形態による方法、装置(システム)及びコンピュータ・プログラム製品のフローチャート図及び/又はブロック図を参照して説明されている。フローチャート図及び/又はブロック図の各ブロック、並びにフローチャート図及び/又はブロック図内のブロックの組み合わせは、コンピュータ・プログラム命令によって実施することができることが理解されるであろう。本明細書において、「コンピュータ・プログラム命令」という用語は、「コンピュータ・コード97」と交換可能である。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えて機械を製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実装するための手段を作り出すようにすることができる。
【0083】
これらのコンピュータ・プログラム命令を、コンピュータ又は他のプログラム可能データ処理装置に特定の方式で機能するように指示することができるコンピュータ可読媒体94、95に格納して、それにより、そのコンピュータ可読媒体に格納された命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実装する命令手段を含む製品を製造するようにさせることもできる。
【0084】
コンピュータ・プログラム命令を、コンピュータ又は他のプログラム可能データ処理装置にロードして、コンピュータ又は他のプログラム可能データ処理装置上で一連の動作ステップを実施させてコンピュータ実装プロセスを生成し、それにより、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実装するためのプロセスを提供するようにさせることもできる。
【0085】
図面内のフローチャート及びブロック図は、本発明の種々の好ましい実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実装するための1つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に記された機能は、図中に記された順序とは異なる順序で生じることがあることにも留意されたい。例えば、連続して図示された2つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図及び/又はフローチャート図内の各ブロック、並びにブロック図及び/又はフローチャート図内のブロックの組み合わせは、指定された機能又は動作を実行する専用ハードウェア・ベースのシステム、又は専用のハードウェアとコンピュータ命令との組み合わせによって実装することができることにも留意されたい。
【0086】
特許請求の範囲における全ての「手段又はステップと機能との組合せ(ミーンズ又はステップ・プラス・ファンクション)」要素の対応する構造、材料、動作及び均等物は、その機能を、明確に請求されている他の特許請求された要素との組み合わせで実施するための、あらゆる構造、材料、又は動作を含むことが意図される。本発明の説明は、例示及び説明を目的として提示されたものであるが、網羅的であることを意図するものでもなく、開示された形態の発明に限定することを意図するものでもない。本発明の範囲及び趣旨から逸脱することなく、多くの変更及び変形が当業者には明らかであろう。好ましい実施形態は、本発明の原理及び実際の用途を最も良く説明するため、及び、当業者が、企図される特定の使用に適した種々の変更を伴う種々の好ましい実施形態について本発明を理解することができるように、選択され、説明された。
【0087】
疑念を避けるために、明細書及び特許請求の範囲の全体を通じて用いられる「含む」という用語は、「〜のみから成る」という意味として解釈されるべきではない。
【符号の説明】
【0088】
10:システム
90:コンピュータ・システム
100:基地局
101:移動体デバイス
102:ロケーション・ベースド・サーバ
121:第三者アプリケーション・サーバ
【特許請求の範囲】
【請求項1】
位置キャッシング・サーバによって行われる、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法であって、
ネットワーク位置情報サーバから、パラメータMSISDN、Precision、TimeStamp、及びServiceTypeを含む、位置情報サービスについての位置要求を受信するステップであって、MSISDNが、前記位置要求を前記位置情報サーバに送信した移動体デバイスについての識別子であり、Precisionが、前記移動体デバイスから要求された精度レベルであり、TimeStampが、前記ネットワーク位置情報サーバが前記位置要求を受信した第1の時間値であり、ServiceTypeが、前記位置情報サービスに割り当てられたサービス精度レベルであり、ServiceTypeは、それぞれのデフォルト・キャッシュ期間であるCachePeriodに対応する、ステップと、
前記移動体デバイスの現在位置データを取得する必要があることを判定するステップと、
前記ネットワーク位置情報サーバから、該ネットワーク位置情報サーバへの実位置照会の送信に応答して、前記現在位置データを取得するステップと、
ServiceTypeに対応するCachePeriodを、前記第1の時間値であるTimeStampと前記ネットワーク位置情報サーバが前記実位置照会を受信した第2の時間値との間の時間経過の間に前記移動体デバイスが移動した距離に基づいて、調整するステップと、
新たな位置キャッシュ・エントリを位置キャッシュに対して設定するステップであって、前記新たな位置キャッシュ・エントリが、パラメータMSISDN、NewServiceType、NewCachePeriod、PriorLocation、及びPriorTimeStampを含み、NewServiceTypeは、ServiceType及びPrecisionから成る群から選択され、NewCachePeriodは、前記調整されたCachePeriodであり、PriorLocationは、前記取得された現在位置データであり、PriorTimeStampは、前記第2の時間値である、ステップと、
を含む、方法。
【請求項2】
前記調整するステップが、
事前定義された距離調整規則を識別するステップであって、前記事前定義された距離調整規則は、少なくとも1つの距離範囲と、前記少なくとも1つの距離範囲にそれぞれ関連付けられた比率とを含み、前記比率は、前記少なくとも1つの距離範囲でカバーされる距離に反比例しており、そのため、前記移動体デバイスがより速く移動するほど該移動体デバイスはより短いキャッシュ期間を達成するようになっている、ステップと、
前記距離が前記少なくとも1つの距離範囲のうちの第1の距離範囲内に入ることを見出すステップと、
前記第1の距離範囲に関連付けられた前記比率をCachePeriodに乗じた結果得られる値をCachePeriodに再割り当てするステップと、
を含む、請求項1に記載の方法。
【請求項3】
前記設定するステップが、
パラメータDefaultServiceType及びDefaultCachePeriodを含むサービス・キャッシュ・エントリCacheDefaultを検索するステップであって、DefaultServiceTypeが、前記位置情報サービスに対して割り当てられた前記サービス精度レベルである、ステップと、
前記サービス・キャッシュ・エントリのDefaultServiceTypeが、前記位置要求のPrecisionと同一ではないことを判定するステップと、
DefaultServiceTypeとPrecisionとの間で高い方の精度レベルを、前記位置キャッシュ・エントリの新たなサービス・タイプであるNewServiceTypeとして選択するステップと、
前記位置キャッシュ・エントリを前記新たなサービス・タイプであるNewServiceTypeで更新するステップと、
を含む、請求項1又は請求項2に記載の方法。
【請求項4】
前記判定するステップが、
前記位置キャッシュ内に位置キャッシュ・エントリが格納されていることを発見するステップであって、前記位置キャッシュ・エントリは、パラメータMSISDN、ServiceType、CachePeriod、PriorLocation、及びPriorTimeStampを含み、PriorLocationは、最新の位置データであり、PriorTimeStampは、前記ネットワーク位置情報サーバに前記最新の位置データが要求された第3の時間値である、ステップと、
事前定義されたキャッシュ期間計算規則に従い、前記位置要求の精度レベルであるPrecisionと、前記発見された位置キャッシュ・エントリのサービス精度レベルであるServiceTypeとからキャッシュ期間を計算するステップと、
前記計算されたキャッシュ期間、前記位置要求のTimeStamp、及び前記発見された位置キャッシュのPriorTimeStampから、前記計算されたキャッシュ期間が期限切れしていることを判定することにより、前記発見された位置キャッシュ・エントリのPriorLocationが前記移動体デバイスからの前記位置要求にサービス提供することができないことを判定するステップと、
を含む、請求項1乃至請求項3のいずれか1項に記載の方法。
【請求項5】
前記計算するステップが、
PrecisionとServiceTypeとが同一ではないことを判定するステップであって、前記事前定義されたキャッシュ期間計算規則は、Precisionのために使用可能な全ての値と、前記Precisionの全ての値にそれぞれが関連付けられた係数とを含み、前記係数は、Precisionの値に反比例しており、そのため、前記移動体デバイスが前記位置要求においてより高い精度レベルを要求した場合には前記キャッシュ期間が短縮され、前記移動体デバイスが前記位置要求においてより低い精度レベルを要求した場合には前記キャッシュ期間が延長されるようになっている、ステップと、
Precisionに関連付けられた前記係数をCachePeriodに乗じた結果得られる値をCachePeriodに再割り当てするステップと、
を含む、請求項4に記載の方法。
【請求項6】
プロセッサと、前記プロセッサに結合されたコンピュータ可読メモリ・ユニットとを含むコンピュータ・システムであって、前記コンピュータ可読メモリ・ユニットは、前記プロセッサにより実行されたときに位置キャッシング・サーバにより行われるネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間の最適化のための方法を実施する命令を含み、前記システムは、
ネットワーク位置情報サーバから、パラメータMSISDN、Precision、TimeStamp、及びServiceTypeを含む、位置情報サービスについての位置要求を受信するための手段であって、MSISDNが、前記位置要求を前記位置情報サーバに送信した移動体デバイスについての識別子であり、Precisionが、前記移動体デバイスから要求された精度レベルであり、TimeStampが、前記ネットワーク位置情報サーバが前記位置要求を受信した第1の時間値であり、ServiceTypeあり、前記位置情報サービスに割り当てられたサービス精度レベルであり、前記ServiceTypeは、それぞれのデフォルト・キャッシュ期間であるCachePeriodに対応する、手段と、
前記移動体デバイスの現在位置データを取得する必要があることを判定するための手段と、
前記ネットワーク位置情報サーバから、該ネットワーク位置情報サーバへの実位置照会の送信に応答して、前記現在位置データを取得するための手段と、
ServiceTypeに対応するCachePeriodを、前記第1の時間値であるTimeStampと前記ネットワーク位置情報サーバが前記実位置照会を受信した第2の時間値との間の時間経過の間に前記移動体デバイスが移動した距離に基づいて調整するための、コンピュータのプロセッサと、
新たな位置キャッシュ・エントリを位置キャッシュに対して設定するための手段であって、前記新たな位置キャッシュ・エントリが、パラメータMSISDN、NewServiceType、NewCachePeriod、PriorLocation、及びPriorTimeStampを含み、NewServiceTypeは、ServiceType及びPrecisionから成る群から選択され、NewCachePeriodは、前記調整されたCachePeriodであり、PriorLocationは、前記取得された現在位置データであり、PriorTimeStampは、前記第2の時間値である、手段と、
を含む、コンピュータ・システム。
【請求項7】
前記調整するための手段が、
事前定義された距離調整規則を識別するための手段であって、前記事前定義された距離調整規則は、少なくとも1つの距離範囲と、前記少なくとも1つの距離範囲にそれぞれ関連付けられた比率とを含み、前記比率は、前記少なくとも1つの距離範囲でカバーされる距離に反比例しており、そのため、前記移動体デバイスがより速く移動するほど該移動体デバイスはより短いキャッシュ期間を達成するようになっている、手段と、
前記距離が前記少なくとも1つの距離範囲のうちの第1の距離範囲内に入ることを見出すための手段と、
前記第1の距離範囲に関連付けられた前記比率をCachePeriodに乗じた結果得られる値をCachePeriodに再割り当てするための手段と、
をさらに含む、請求項6に記載のコンピュータ・システム。
【請求項8】
前記設定するための手段が、
パラメータDefaultServiceType及びDefaultCachePeriodを含むサービス・キャッシュ・エントリCacheDefaultを検索するための手段であって、DefaultServiceTypeが、前記位置情報サービスに対して割り当てられた前記サービス精度レベルである、手段と、
前記サービス・キャッシュ・エントリのDefaultServiceTypeが前記位置要求のPrecisionと同一ではないことを判定するための手段と、
DefaultServiceTypeとPrecisionとの間で高い方の精度レベルを、前記位置キャッシュ・エントリの新たなサービス・タイプであるNewServiceTypeとして選択するための手段と、
前記位置キャッシュ・エントリを前記新たなサービス・タイプであるNewServiceTypeで更新するための手段と、
をさらに含む、請求項6又は請求項7に記載のコンピュータ・システム。
【請求項9】
前記判定するための手段が、
前記位置キャッシュ内に位置キャッシュ・エントリが格納されていることを発見するための手段であって、前記位置キャッシュ・エントリは、パラメータMSISDN、ServiceType、CachePeriod、PriorLocation、及びPriorTimeStampを含み、PriorLocationは、最新の位置データであり、PriorTimeStampは、前記ネットワーク位置情報サーバに前記最新の位置データが要求された第3の時間値である、手段と、
事前定義されたキャッシュ期間計算規則に従い、前記位置要求の精度レベルであるPrecisionと、前記発見された位置キャッシュ・エントリのサービス精度レベルであるServiceTypeとからキャッシュ期間を計算するための手段と、
前記計算されたキャッシュ期間、前記位置要求のTimeStamp、及び前記発見された位置キャッシュのPriorTimeStampから、前記計算されたキャッシュ期間が期限切れしていることを判定することにより、前記発見された位置キャッシュ・エントリのPriorLocationが前記移動体デバイスからの前記位置要求にサービス提供することができないことを判定するための手段と、
をさらに含む、請求項6乃至請求項8のいずれか1項に記載のコンピュータ・システム。
【請求項10】
前記計算するための手段が、
PrecisionとServiceTypeとが同一ではないことを判定するための手段であって、前記事前定義されたキャッシュ期間計算規則は、Precisionのために使用可能な全ての値と、前記Precisionの全ての値にそれぞれが関連付けられた係数とを含み、前記係数は、Precisionの値に反比例しており、そのため、前記移動体デバイスが前記位置要求においてより高い精度レベルを要求した場合には前記キャッシュ期間が短縮され、前記移動体デバイスが前記位置要求においてより低い精度レベルを要求した場合には前記キャッシュ期間が延長されるようになっている、手段と、
Precisionに関連付けられた前記係数をCachePeriodに乗じた結果得られる値をCachePeriodに再割り当てするための手段と、
をさらに含む、請求項9に記載のコンピュータ・システム。
【請求項11】
位置キャッシング・サーバにより行われるネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間の最適化のためのコンピュータ・プログラム製品であって、
処理回路により読み出し可能な、請求項1乃至請求項5のいずれか1項に記載の方法を行うために前記処理回路によって実行される命令を格納したコンピュータ可読ストレージ媒体を含む、コンピュータ・プログラム製品。
【請求項12】
コンピュータ可読媒体上に格納された、デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行されたときに請求項1乃至請求項5のいずれか1項に記載の方法を行うためのソフトウェア・コード部分を含む、コンピュータ・プログラム。
【請求項1】
位置キャッシング・サーバによって行われる、ネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間を最適化するための方法であって、
ネットワーク位置情報サーバから、パラメータMSISDN、Precision、TimeStamp、及びServiceTypeを含む、位置情報サービスについての位置要求を受信するステップであって、MSISDNが、前記位置要求を前記位置情報サーバに送信した移動体デバイスについての識別子であり、Precisionが、前記移動体デバイスから要求された精度レベルであり、TimeStampが、前記ネットワーク位置情報サーバが前記位置要求を受信した第1の時間値であり、ServiceTypeが、前記位置情報サービスに割り当てられたサービス精度レベルであり、ServiceTypeは、それぞれのデフォルト・キャッシュ期間であるCachePeriodに対応する、ステップと、
前記移動体デバイスの現在位置データを取得する必要があることを判定するステップと、
前記ネットワーク位置情報サーバから、該ネットワーク位置情報サーバへの実位置照会の送信に応答して、前記現在位置データを取得するステップと、
ServiceTypeに対応するCachePeriodを、前記第1の時間値であるTimeStampと前記ネットワーク位置情報サーバが前記実位置照会を受信した第2の時間値との間の時間経過の間に前記移動体デバイスが移動した距離に基づいて、調整するステップと、
新たな位置キャッシュ・エントリを位置キャッシュに対して設定するステップであって、前記新たな位置キャッシュ・エントリが、パラメータMSISDN、NewServiceType、NewCachePeriod、PriorLocation、及びPriorTimeStampを含み、NewServiceTypeは、ServiceType及びPrecisionから成る群から選択され、NewCachePeriodは、前記調整されたCachePeriodであり、PriorLocationは、前記取得された現在位置データであり、PriorTimeStampは、前記第2の時間値である、ステップと、
を含む、方法。
【請求項2】
前記調整するステップが、
事前定義された距離調整規則を識別するステップであって、前記事前定義された距離調整規則は、少なくとも1つの距離範囲と、前記少なくとも1つの距離範囲にそれぞれ関連付けられた比率とを含み、前記比率は、前記少なくとも1つの距離範囲でカバーされる距離に反比例しており、そのため、前記移動体デバイスがより速く移動するほど該移動体デバイスはより短いキャッシュ期間を達成するようになっている、ステップと、
前記距離が前記少なくとも1つの距離範囲のうちの第1の距離範囲内に入ることを見出すステップと、
前記第1の距離範囲に関連付けられた前記比率をCachePeriodに乗じた結果得られる値をCachePeriodに再割り当てするステップと、
を含む、請求項1に記載の方法。
【請求項3】
前記設定するステップが、
パラメータDefaultServiceType及びDefaultCachePeriodを含むサービス・キャッシュ・エントリCacheDefaultを検索するステップであって、DefaultServiceTypeが、前記位置情報サービスに対して割り当てられた前記サービス精度レベルである、ステップと、
前記サービス・キャッシュ・エントリのDefaultServiceTypeが、前記位置要求のPrecisionと同一ではないことを判定するステップと、
DefaultServiceTypeとPrecisionとの間で高い方の精度レベルを、前記位置キャッシュ・エントリの新たなサービス・タイプであるNewServiceTypeとして選択するステップと、
前記位置キャッシュ・エントリを前記新たなサービス・タイプであるNewServiceTypeで更新するステップと、
を含む、請求項1又は請求項2に記載の方法。
【請求項4】
前記判定するステップが、
前記位置キャッシュ内に位置キャッシュ・エントリが格納されていることを発見するステップであって、前記位置キャッシュ・エントリは、パラメータMSISDN、ServiceType、CachePeriod、PriorLocation、及びPriorTimeStampを含み、PriorLocationは、最新の位置データであり、PriorTimeStampは、前記ネットワーク位置情報サーバに前記最新の位置データが要求された第3の時間値である、ステップと、
事前定義されたキャッシュ期間計算規則に従い、前記位置要求の精度レベルであるPrecisionと、前記発見された位置キャッシュ・エントリのサービス精度レベルであるServiceTypeとからキャッシュ期間を計算するステップと、
前記計算されたキャッシュ期間、前記位置要求のTimeStamp、及び前記発見された位置キャッシュのPriorTimeStampから、前記計算されたキャッシュ期間が期限切れしていることを判定することにより、前記発見された位置キャッシュ・エントリのPriorLocationが前記移動体デバイスからの前記位置要求にサービス提供することができないことを判定するステップと、
を含む、請求項1乃至請求項3のいずれか1項に記載の方法。
【請求項5】
前記計算するステップが、
PrecisionとServiceTypeとが同一ではないことを判定するステップであって、前記事前定義されたキャッシュ期間計算規則は、Precisionのために使用可能な全ての値と、前記Precisionの全ての値にそれぞれが関連付けられた係数とを含み、前記係数は、Precisionの値に反比例しており、そのため、前記移動体デバイスが前記位置要求においてより高い精度レベルを要求した場合には前記キャッシュ期間が短縮され、前記移動体デバイスが前記位置要求においてより低い精度レベルを要求した場合には前記キャッシュ期間が延長されるようになっている、ステップと、
Precisionに関連付けられた前記係数をCachePeriodに乗じた結果得られる値をCachePeriodに再割り当てするステップと、
を含む、請求項4に記載の方法。
【請求項6】
プロセッサと、前記プロセッサに結合されたコンピュータ可読メモリ・ユニットとを含むコンピュータ・システムであって、前記コンピュータ可読メモリ・ユニットは、前記プロセッサにより実行されたときに位置キャッシング・サーバにより行われるネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間の最適化のための方法を実施する命令を含み、前記システムは、
ネットワーク位置情報サーバから、パラメータMSISDN、Precision、TimeStamp、及びServiceTypeを含む、位置情報サービスについての位置要求を受信するための手段であって、MSISDNが、前記位置要求を前記位置情報サーバに送信した移動体デバイスについての識別子であり、Precisionが、前記移動体デバイスから要求された精度レベルであり、TimeStampが、前記ネットワーク位置情報サーバが前記位置要求を受信した第1の時間値であり、ServiceTypeあり、前記位置情報サービスに割り当てられたサービス精度レベルであり、前記ServiceTypeは、それぞれのデフォルト・キャッシュ期間であるCachePeriodに対応する、手段と、
前記移動体デバイスの現在位置データを取得する必要があることを判定するための手段と、
前記ネットワーク位置情報サーバから、該ネットワーク位置情報サーバへの実位置照会の送信に応答して、前記現在位置データを取得するための手段と、
ServiceTypeに対応するCachePeriodを、前記第1の時間値であるTimeStampと前記ネットワーク位置情報サーバが前記実位置照会を受信した第2の時間値との間の時間経過の間に前記移動体デバイスが移動した距離に基づいて調整するための、コンピュータのプロセッサと、
新たな位置キャッシュ・エントリを位置キャッシュに対して設定するための手段であって、前記新たな位置キャッシュ・エントリが、パラメータMSISDN、NewServiceType、NewCachePeriod、PriorLocation、及びPriorTimeStampを含み、NewServiceTypeは、ServiceType及びPrecisionから成る群から選択され、NewCachePeriodは、前記調整されたCachePeriodであり、PriorLocationは、前記取得された現在位置データであり、PriorTimeStampは、前記第2の時間値である、手段と、
を含む、コンピュータ・システム。
【請求項7】
前記調整するための手段が、
事前定義された距離調整規則を識別するための手段であって、前記事前定義された距離調整規則は、少なくとも1つの距離範囲と、前記少なくとも1つの距離範囲にそれぞれ関連付けられた比率とを含み、前記比率は、前記少なくとも1つの距離範囲でカバーされる距離に反比例しており、そのため、前記移動体デバイスがより速く移動するほど該移動体デバイスはより短いキャッシュ期間を達成するようになっている、手段と、
前記距離が前記少なくとも1つの距離範囲のうちの第1の距離範囲内に入ることを見出すための手段と、
前記第1の距離範囲に関連付けられた前記比率をCachePeriodに乗じた結果得られる値をCachePeriodに再割り当てするための手段と、
をさらに含む、請求項6に記載のコンピュータ・システム。
【請求項8】
前記設定するための手段が、
パラメータDefaultServiceType及びDefaultCachePeriodを含むサービス・キャッシュ・エントリCacheDefaultを検索するための手段であって、DefaultServiceTypeが、前記位置情報サービスに対して割り当てられた前記サービス精度レベルである、手段と、
前記サービス・キャッシュ・エントリのDefaultServiceTypeが前記位置要求のPrecisionと同一ではないことを判定するための手段と、
DefaultServiceTypeとPrecisionとの間で高い方の精度レベルを、前記位置キャッシュ・エントリの新たなサービス・タイプであるNewServiceTypeとして選択するための手段と、
前記位置キャッシュ・エントリを前記新たなサービス・タイプであるNewServiceTypeで更新するための手段と、
をさらに含む、請求項6又は請求項7に記載のコンピュータ・システム。
【請求項9】
前記判定するための手段が、
前記位置キャッシュ内に位置キャッシュ・エントリが格納されていることを発見するための手段であって、前記位置キャッシュ・エントリは、パラメータMSISDN、ServiceType、CachePeriod、PriorLocation、及びPriorTimeStampを含み、PriorLocationは、最新の位置データであり、PriorTimeStampは、前記ネットワーク位置情報サーバに前記最新の位置データが要求された第3の時間値である、手段と、
事前定義されたキャッシュ期間計算規則に従い、前記位置要求の精度レベルであるPrecisionと、前記発見された位置キャッシュ・エントリのサービス精度レベルであるServiceTypeとからキャッシュ期間を計算するための手段と、
前記計算されたキャッシュ期間、前記位置要求のTimeStamp、及び前記発見された位置キャッシュのPriorTimeStampから、前記計算されたキャッシュ期間が期限切れしていることを判定することにより、前記発見された位置キャッシュ・エントリのPriorLocationが前記移動体デバイスからの前記位置要求にサービス提供することができないことを判定するための手段と、
をさらに含む、請求項6乃至請求項8のいずれか1項に記載のコンピュータ・システム。
【請求項10】
前記計算するための手段が、
PrecisionとServiceTypeとが同一ではないことを判定するための手段であって、前記事前定義されたキャッシュ期間計算規則は、Precisionのために使用可能な全ての値と、前記Precisionの全ての値にそれぞれが関連付けられた係数とを含み、前記係数は、Precisionの値に反比例しており、そのため、前記移動体デバイスが前記位置要求においてより高い精度レベルを要求した場合には前記キャッシュ期間が短縮され、前記移動体デバイスが前記位置要求においてより低い精度レベルを要求した場合には前記キャッシュ期間が延長されるようになっている、手段と、
Precisionに関連付けられた前記係数をCachePeriodに乗じた結果得られる値をCachePeriodに再割り当てするための手段と、
をさらに含む、請求項9に記載のコンピュータ・システム。
【請求項11】
位置キャッシング・サーバにより行われるネットワーク・ベース型位置情報サービスのための位置データのキャッシュ期間の最適化のためのコンピュータ・プログラム製品であって、
処理回路により読み出し可能な、請求項1乃至請求項5のいずれか1項に記載の方法を行うために前記処理回路によって実行される命令を格納したコンピュータ可読ストレージ媒体を含む、コンピュータ・プログラム製品。
【請求項12】
コンピュータ可読媒体上に格納された、デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行されたときに請求項1乃至請求項5のいずれか1項に記載の方法を行うためのソフトウェア・コード部分を含む、コンピュータ・プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公表番号】特表2013−513267(P2013−513267A)
【公表日】平成25年4月18日(2013.4.18)
【国際特許分類】
【出願番号】特願2012−541383(P2012−541383)
【出願日】平成22年11月9日(2010.11.9)
【国際出願番号】PCT/EP2010/067102
【国際公開番号】WO2011/067075
【国際公開日】平成23年6月9日(2011.6.9)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【Fターム(参考)】
【公表日】平成25年4月18日(2013.4.18)
【国際特許分類】
【出願日】平成22年11月9日(2010.11.9)
【国際出願番号】PCT/EP2010/067102
【国際公開番号】WO2011/067075
【国際公開日】平成23年6月9日(2011.6.9)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【Fターム(参考)】
[ Back to top ]