説明

制御プログラム、中継サーバ装置及び中継制御方法

【課題】アプリケーションの配信を要求する移動端末の正確な位置情報を短時間で取得する。
【解決手段】中継サーバ装置は、移動端末にアプリケーションを提供する配信サーバ装置への配信要求を移動端末から受信した場合に、前記移動端末の位置情報を保持する位置管理サーバに接続される代表装置から移動端末の位置情報を取得する。また、中継サーバ装置は、代表装置へ前記移動端末の位置情報を問い合わせる通信を中継するリレー装置に、位置情報取得部によって代表装置から取得された移動端末の位置情報を送信する。そして、中継サーバ装置は、移動端末の位置情報をリレー装置から受信した場合には、代表装置から取得した位置情報をリレー装置から受信した位置情報で更新し、更新した位置情報に基づいて特定される配信サーバ装置に、受信された配信要求を転送する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御プログラム、中継サーバ装置及び中継制御方法に関する。
【背景技術】
【0002】
従来、移動端末の利用者が配信サーバに格納されたアプリケーションなどを利用する場合、移動端末は、中継システムを利用して、自装置に一番近い配信サーバへアプリケーション等の配信を要求する。
【0003】
かかる中継システムは、移動端末と、配信サーバと、位置管理サーバと、中継ノードとがインターネットなどを介して相互に接続される。移動端末は、例えば携帯電話であり、アプリケーションを配信サーバから取得して実行する。配信サーバは、例えばアプリケーションを格納しており、移動端末からの配信要求に応じて、格納しているアプリケーションを移動端末に配信する。位置管理サーバは、例えば基地局を介して端末の位置情報を取得する。中継ノードは、移動端末から受信した配信要求メッセージを受信し、移動端末に近い位置に存在する配信サーバへ配信要求メッセージを転送する。
【0004】
このようなシステムにおいて、移動端末が配信サーバからアプリケーションを取得する流れを説明する。中継ノードは、移動端末から、移動端末に対して個別に割り当てられたユーザIDが格納された配信要求メッセージを受信する。続いて、中継ノードは、受信した配信要求メッセージに格納されたユーザIDを位置管理サーバへ送信して移動端末の位置情報を取得し、取得した位置情報に基づいて移動端末に一番近い配信サーバへ配信要求メッセージを転送する。
【0005】
配信サーバは、中継ノードを介して受信した配信要求メッセージに応答して、移動端末にアプリケーションを配信する。したがって、このような中継システムを利用することによって、移動端末は、自装置に一番近い配信サーバへアプリケーションの配信を要求し、要求したアプリケーションを取得することができる。
【0006】
ところで、このようにして配信要求メッセージを中継する中継ノードにおいて、複数の中継ノードが同時に位置管理サーバへ移動端末の位置情報の取得を要求した場合、位置管理サーバへの負荷が増大する。この結果、利用者へのアプリケーション配信に時間がかかったり、正しい配信サーバへ配信要求メッセージが転送されなくなる。
【0007】
かかる場合に生じる位置管理サーバへの負荷の増大に対して、中継ノードは、位置管理サーバとの間に中継制御ノードを設けることで位置管理サーバへの負荷を軽減させてきた。図45に示す具体例を用いて説明する。
【0008】
図45は、中継制御ノードを設けることで位置管理サーバへの負荷を軽減させる中継システムの一例を示す図である。図45に示すように、中継システムは、移動端末A〜Cと中継ノードと中継制御ノードと位置管理サーバとを有する。このうち、移動端末A〜Cと位置管理サーバは、上述した移動端末と位置管理サーバと同様の機能を有する。そして、中継制御ノードは、代表ノードとリレーノードとを有し、これらをツリー状に構成する。代表ノードは、位置管理サーバに移動端末の位置情報を問い合わせることができる。リレーノードは、中継ノードから移動端末の位置情報の問い合わせを受付けた場合、代表ノードへ移動端末の位置情報を問い合わせる。
【0009】
例えば、中継ノードAが位置管理サーバへ位置情報を問い合わせる場合、リレーノードA、リレーノードB、代表ノードAの順に位置情報を問い合わせる。また、中継ノードBが位置管理サーバへ位置情報を問い合わせる場合、リレーノードC、代表ノードAの順に位置情報を問い合わせる。また、中継ノードCが位置管理サーバへ位置情報を問い合わせる場合、リレーノードD、代表ノードBの順に位置情報を問い合わせる。すなわち、中継システムは、位置管理サーバへのアクセスを代表ノードA及び代表ノードBに限定することで、位置管理サーバの負荷を軽減することができる。
【0010】
また、中継システムは、リレーノードに位置情報のキャッシュを持たせ、下流ノードからの問い合わせを受付けた場合、該当する移動端末の情報があれば応答することで、位置管理サーバの負荷を軽減することも行われている。図46に示す具体例を用いて説明する。
【0011】
図46は、リレーノードに位置情報のキャッシュを持たせることで位置管理サーバへの負荷を軽減させる一例を示す図である。図46に示すように、リレーノードは、キャッシュを有し、位置情報を記憶しておくことができる。例えば、リレーノードAは、中継ノードAから移動端末の位置情報の問い合わせを受付けた場合、キャッシュに移動端末の位置情報があれば、キャッシュから位置情報を取得して中継ノードAへ通知する。また、リレーノードAは、キャッシュに移動端末の位置情報がなければ、リレーノードBへ移動端末の位置情報を問い合わせる。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2006−196008号公報
【特許文献2】国際公開第2002/031441号
【発明の概要】
【発明が解決しようとする課題】
【0013】
しかしながら、上述した従来の技術では、アプリケーションの配信を要求する移動端末の正確な位置情報を短時間で取得をすることができないという課題があった。具体的には、中継システムは、代表ノードとリレーノードとをツリー状に構成した場合、ノード数の増加に従って、経由するルートが増えるので、移動端末の位置情報を問い合わせる時間が長くなる。
【0014】
同様に、中継システムは、リレーノードに端末の位置情報をキャッシュさせた場合、いずれのリレーノードのキャッシュにも端末の位置情報が存在しなければ、位置管理サーバから端末の位置情報を取得しなければならない。この場合、端末の位置情報を取得するまでの待ち時間は、キャッシュを設けなかった場合とかわらない。
【0015】
また、このような中継システムでは、移動端末の位置情報を取得してから、取得した移動端末の位置情報によって特定された配信サーバへ配信要求メッセージを転送するまでの間に、移動端末が移動する場合がある。この場合、中継システムは、移動した後の移動端末の位置情報によって特定された配信サーバではなく、移動する前の移動端末の位置情報によって特定された配信サーバへ配信要求メッセージを転送する。すなわち、移動前の位置情報に基づいて特定される配信サーバと、移動後の位置情報に基づいて特定される配信サーバとは異なる場合には、転送するべき配信サーバへ配信要求メッセージを転送することができない。この結果、移動端末にアプリケーションが配信されない等の異常状況が発生する。
【0016】
1つの側面では、本発明は、アプリケーションの配信を要求する移動端末の正確な位置情報を短時間で取得をすることができる制御プログラム、中継サーバ装置及び中継制御方法を提供することを目的とする。
【課題を解決するための手段】
【0017】
第1の案では、制御プログラムは、移動端末にアプリケーションを提供する配信サーバ装置への配信要求を移動端末から受信する処理を中継サーバ装置に実行させる。制御プログラムは、配信要求を移動端末からした場合に、移動端末の位置情報を保持する位置管理サーバに接続される代表装置から移動端末の位置情報を取得させる処理を中継サーバ装置に実行させる。制御プログラムは、代表装置へ前記移動端末の位置情報を問い合わせる通信を中継するリレー装置に、代表装置から取得された移動端末の位置情報を送信する処理を中継サーバ装置に実行させる。制御プログラムは、移動端末の位置情報をリレー装置から受信した場合には、代表装置から取得した位置情報をリレー装置から受信した位置情報で更新させる処理を中継サーバ装置に実行させる。制御プログラムは、更新した位置情報に基づいて特定される配信サーバ装置に、受信された配信要求を転送する処理を中継サーバ装置に実行させる。
【0018】
第2の案では、制御プログラムは、移動端末の位置情報を保持する位置管理サーバに接続される代表装置から移動端末の位置情報を受信する処理をリレー装置に実行させる。制御プログラムは、アプリケーションを提供する配信サーバ装置への配信要求を移動端末から受信する中継サーバ装置から、移動端末の位置情報を受信する処理をリレー装置に実行させる。制御プログラムは、代表装置から受信した位置情報と前記中継サーバ装置から受信した位置情報とを比較する処理をリレー装置に実行させる。制御プログラムは、比較した結果、代表装置から受信した位置情報の方が新しい情報であると判定された場合に、代表装置から受信した位置情報を中継サーバ装置に送信し、移動端末の位置情報の更新を指示する処理をリレー装置に実行させる。
【発明の効果】
【0019】
制御プログラム、中継サーバ装置及び中継制御方法の一つの態様によれば、アプリケーションの配信を要求する移動端末の正確な位置情報を短時間で取得をすることができる。
【図面の簡単な説明】
【0020】
【図1】図1は、実施例1に係る中継システムの構成を示す図である。
【図2】図2は、実施例1に係る位置管理サーバの構成を示すブロック図である。
【図3】図3は、実施例1に係る中継ノードの構成を示すブロック図である。
【図4】図4は、実施例1に係る位置情報キャッシュテーブルとして格納される情報の一例を示す図である。
【図5】図5は、実施例1に係る上位ノード記憶テーブルとして格納される情報の一例を示す図である。
【図6】図6は、実施例1に係る振り分け先サーバ記憶テーブルとして格納される情報の一例を示す図である。
【図7】図7は、実施例1に係る配信要求メッセージ受信部が携帯端末から受信する配信要求メッセージの一例を示す図である。
【図8】図8は、実施例1に係る代表ノードの構成を示すブロック図である。
【図9】図9は、実施例1に係る問い合わせ元記憶テーブルとして格納される情報の一例を示す図である。
【図10】図10は、実施例1に係る位置情報キャッシュテーブルとして格納される情報の一例を示す図である。
【図11】図11は、実施例1に係る上位ノード記憶テーブルとして格納される情報の一例を示す図である。
【図12】図12は、実施例1に係る中継ノードによる位置問い合わせ処理の処理手順を説明するフローチャートである。
【図13】図13は、実施例1に係る代表ノードによる位置問い合わせ処理の処理手順を説明するフローチャートである。
【図14】図14は、実施例2に係る中継システムの構成を示す図である。
【図15】図15は、実施例2に係る中継ノードの構成を示すブロック図である。
【図16】図16は、実施例2に係る代表ノードの構成を示すブロック図である。
【図17】図17は、実施例2に係る中継ノードによる位置問い合わせ処理の処理手順を説明するフローチャートである。
【図18】図18は、実施例2に係る代表ノードによる位置問い合わせ処理の処理手順を説明するフローチャートである。
【図19】図19は、実施例2に係る代表ノードによる位置情報更新要求処理の処理手順を説明するフローチャートである。
【図20】図20は、実施例2に係る代表ノードによる位置情報更新通知受信処理の処理手順を説明するフローチャートである。
【図21】図21は、実施例2に係る中継ノードによる位置情報更新通知受信処理の処理手順を説明するフローチャートである。
【図22】図22は、実施例3に係る中継システムの構成を示す図である。
【図23】図23は、実施例3に係る中継ノードの構成を示すブロック図である。
【図24】図24は、実施例3に係る代表ノードの構成を示すブロック図である。
【図25】図25は、実施例3に係る中継ノードによるリレーノード変更処理の処理手順を説明するフローチャートである。
【図26】図26は、実施例3に係る代表ノードによる位置更新通知停止メッセージ受信処理の処理手順を説明するフローチャートである。
【図27】図27は、実施例4に係る中継システムの構成を示す図である。
【図28】図28は、実施例4に係る中継ノードの構成を示すブロック図である。
【図29】図29は、実施例4に係る位置情報キャッシュテーブルとして格納される情報の一例を示す図である。
【図30】図30は、実施例4に係る動作設定記憶テーブルとして格納される情報の一例を示す図である。
【図31】図31は、実施例4に係る中継ノードによる配信要求メッセージ転送処理の処理手順を説明するフローチャートである。
【図32】図32は、実施例4に係る中継ノードによる位置情報廃棄判定処理の処理手順を説明するフローチャートである。
【図33】図33は、実施例5に係る中継システムの構成を示す図である。
【図34】図34は、実施例5に係る中継ノードの構成を示すブロック図である。
【図35】図35は、実施例5に係る上位ノード記憶テーブルとして格納される情報の一例を示す図である。
【図36】図36は、実施例5に係る代表ノードの構成を示すブロック図である。
【図37】図37は、実施例5に係る中継ノードによる配信要求メッセージ転送処理の処理手順を説明するフローチャートである。
【図38】図38は、実施例6に係る中継システムの構成を示す図である。
【図39】図39は、実施例6に係る中継ノードの構成を示すブロック図である。
【図40】図40は、実施例6に係る代表ノードの構成を示すブロック図である。
【図41】図41は、実施例6に係る代表ノードによる携帯端末情報削除処理の処理手順を説明するフローチャートである。
【図42】図42は、実施例6に係る中継ノードによる携帯端末情報削除処理の処理手順を説明するフローチャートである。
【図43】図43は、中継サーバ制御プログラムを実行するコンピュータシステムを示す図である。
【図44】図44は、リレーノード制御プログラムを実行するコンピュータシステムを示す図である。
【図45】図45は、中継制御ノードを設けることで位置管理サーバへの負荷を軽減させる一例を示す図である。
【図46】図46は、リレーノードに位置情報のキャッシュを持たせることで位置管理サーバへの負荷を軽減させる一例を示す図である。
【発明を実施するための形態】
【0021】
以下に、本願の開示する制御プログラム、中継サーバ装置及び中継制御方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例1】
【0022】
[実施例1に係るシステムの構成]
まず、実施例1に係る中継装置を含んだ中継システム1のシステム構成を説明する。図1は、実施例1に係る中継装置を含んだ中継システム1のシステム構成を示す図である。図1に示すように、中継システム1は、携帯端末10と配信サーバ20と位置管理サーバ30と中継制御サーバ群40とをネットワークを介して接続する。
【0023】
携帯端末10は、利用者からアプリケーションの実行を受付けた場合、中継制御サーバ群40を介して配信サーバ20へ配信要求メッセージを送信する端末である。この携帯端末10は、例えば、スマートフォン、パーソナルコンピュータ、PDA(Personal Digital Assistant)、PHS(Personal Handy-phone System)あるいは携帯電話の如き移動体通信端末である。
【0024】
配信サーバ20は、アプリケーション等を格納するサーバ装置であり、通信事業者から割り当てられた公開アドレスを入手した利用者が利用する端末からのアクセスを受付けて、要求されるアプリケーションを当該端末に配信する。
【0025】
位置管理サーバ30は、例えば、無線ネットワークにおける基地局や、有線ネットワークにおけるADSL(Asymmetric Digital Subscriber Line)モデム等のネットワーク設備の位置情報を記憶する。この位置管理サーバ30は、ネットワーク設備に接続された携帯端末10のアドレス及びユーザ名の通知をネットワーク設備から受付ける。そして、位置管理サーバ30は、ネットワーク設備の位置情報によって携帯端末10の位置、言い換えると、携帯端末10が利用している基地局の位置を特定し、携帯端末10のアドレス及びユーザ名と位置情報とを対応付けて記憶する。
【0026】
この位置管理サーバ30は、中継制御サーバ群40からユーザIDをキーとして携帯端末10の位置情報の問い合わせを受付けると、ユーザIDに対応付けて記憶している位置情報を中継制御サーバ群40へ通知する。また、位置管理サーバ30は、中継制御サーバ群40からユーザIDをキーとして携帯端末10の位置が変更したことを通知する要求を送信するように受付けると、該当するユーザIDに位置情報が変わる毎に中継制御サーバ群40に位置更新通知を送信する。
【0027】
中継制御サーバ群40は、携帯端末10がアプリケーションの取得を要求する際に送信する配信要求メッセージを受信し、受信したメッセージからユーザIDを特定する。そして、中継制御サーバ群40は、特定したユーザIDを用いて位置管理サーバ30から携帯端末10の位置情報を取得し、取得した携帯端末10の位置に近い配信サーバ20へ配信要求メッセージを転送する。
【0028】
[実施例1に係る位置管理サーバの構成]
次に、実施例1に係る位置管理サーバ30の構成を説明する。図2は、実施例1に係る位置管理サーバの構成を示すブロック図である。図2に示すように、位置管理サーバ30は、インターフェース部31と記憶部32と制御部33とを有する。
【0029】
インターフェース部31は、ネットワークを介して中継制御サーバ群40との通信を制御するインターフェースである。インターフェース部31は、例えば、中継制御サーバ群40から携帯端末10の位置情報の問い合わせを受付け、受付けた携帯端末10の位置情報を中継制御サーバ群40に通知する。
【0030】
記憶部32は、例えば、半導体メモリ素子、又はハードディスクなどの記憶装置であり、位置情報キャッシュテーブル32aと問い合わせ元記憶テーブル32bとを有する。位置情報キャッシュテーブル32aは、携帯端末10のユーザIDと、携帯端末10が接続されたネットワーク設備の位置とを対応付けて記憶する。また、問い合わせ元記憶テーブル32bは、携帯端末名と携帯端末10の位置情報を問い合わせた中継装置のアドレスとを対応付けて記憶する。
【0031】
制御部33は、受信部33aと位置情報更新部33bと位置情報検索部33cと送信部33dとを有する。受信部33aは、基地局などのネットワーク設備から携帯端末10の位置が更新されたことを示す通知を受付け、受付けた通知からユーザIDと位置情報を抽出する。また、受信部33aは、代表ノード200aから携帯端末10の位置情報の問い合わせメッセージを受付け、受付けた問い合わせメッセージに格納されたユーザIDを抽出する。
【0032】
位置情報更新部33bは、受信部33aによって抽出されたユーザIDと位置情報とを受付けた場合、これらを位置情報キャッシュテーブル32aに格納して携帯端末10の位置情報を更新する。また、位置情報更新部33bは、携帯端末10の位置情報を更新した場合、ユーザIDをキーとして問い合わせ元記憶テーブル32bを検索し、問い合わせ元アドレスを取得する。そして、位置情報更新部33bは、取得したアドレスを宛先にして、位置情報を格納した位置情報更新通知を生成する。
【0033】
位置情報検索部33cは、代表ノード200aから問い合わせを受付けた場合、ユーザIDをキーにして位置情報キャッシュテーブル32aを検索し、携帯端末10の位置情報を取得する。そして、位置情報検索部33cは、取得した携帯端末10の位置情報を格納した位置情報応答通知を生成する。送信部33dは、位置情報更新部33bが生成した位置情報更新通知又は位置情報検索部33cが生成した位置情報応答通知を中継ノード100a又は中継ノード100bへ送信する。
【0034】
[実施例1に係る中継制御サーバ群の構成]
次に、図1に示した中継制御サーバ群40の構成を説明する。中継制御サーバ群40は、図1に示すように、サーバロードバランサー41と中継ノード100aと中継ノード100bと代表ノード200aとリレーノード200bとリレーノード200cとを有する。なお、ここでは、中継制御サーバ群40を構成する各ノードについて簡単に説明した後、各ノードの具体的な構成について説明する。
【0035】
サーバロードバランサー41は、携帯端末10から受信した配信要求メッセージを、中継ノードの負荷状況に応じて振り分ける。例えば、サーバロードバランサー41は、携帯端末10の配信要求メッセージを受信した場合に、中継ノード100aと中継ノード100bとの負荷状況を取得し、負荷が少ない中継ノードに振り分ける。
【0036】
中継ノード100aと中継ノード100bは、サーバロードバランサー41を介して、携帯端末10から配信要求メッセージを受信し、受信した配信要求メッセージから携帯端末10の位置情報が登録されているかを判定するサーバである。中継ノード100aと中継ノード100bは、携帯端末10の位置情報が登録されている場合、携帯端末10の位置に近い配信サーバ20へ配信要求メッセージを転送する。また、中継ノード100aと中継ノード100bは、携帯端末10の位置情報が登録されていない場合には、代表ノード200aに位置情報を問い合わせて取得した携帯端末10の位置に近い配信サーバ20へ配信要求メッセージを転送する。
【0037】
代表ノード200aは、中継ノード100aによる携帯端末10の位置情報の問い合わせを受付けると、携帯端末10の位置情報が登録されているかを判定するサーバである。ここで、代表ノード200aは、携帯端末10の位置情報が登録されている場合、中継ノード100aへ位置情報を送信する。また、代表ノード200aは、携帯端末10の位置情報が登録されていない場合には、位置管理サーバ30に位置情報を問い合わせて取得した携帯端末10の位置情報を中継ノード100aに送信する。同様に、代表ノード200aは、中継ノード100bによる携帯端末10の位置情報の問い合わせを受付ける。
【0038】
リレーノード200bは、中継ノード100aと代表ノード200aとの通信を制御する。また、リレーノード200cは、中継ノード100bと代表ノード200aとの通信を制御する。ここで、代表ノード200aは、リレーノード200b及びリレーノード200cの上位ノードであり、位置管理サーバ30の下位ノードである。また、リレーノード200b及びリレーノード200cは、それぞれ中継ノード100a及び中継ノード100bの経路制御ノードであり、代表ノード200aの下位ノードである。
【0039】
なお、中継制御サーバ群40が有する代表ノード、リレーノード及び中継ノードは、図1に示したものに限定されない。例えば、中継制御サーバ群40は、代表ノードを複数有していてもよく、また、リレーノードを介さずに中継ノードと代表ノードとを接続してもよい。
【0040】
(実施例1に係る中継ノードの構成)
次に、図3を用いて、実施例1に係る中継ノードの構成を示す。なお、中継ノード100aと中継ノード100bとは同様の構成を有するので、ここでは中継ノード100aについてのみ説明する。図3は、実施例1に係る中継ノード100aの構成を示すブロック図である。図3に示すように、中継ノード100aは、インターフェース部110と、記憶部120と、制御部130とを有する。なお、これらの機能以外にも、キーボードやマウスなどの入力部や、モニタやスピーカーなどの出力部を有していてもよい。
【0041】
インターフェース部110は、ネットワークを介して携帯端末10と配信サーバ20と代表ノード200a及びリレーノード200bとの間の各通信を制御する。例えば、インターフェース部110は、携帯端末10から受信した配信要求メッセージを配信要求メッセージ受信部131へ転送する。また、インターフェース部110は、代表ノード問い合わせ部133が生成した位置情報問い合わせメッセージを代表ノード200aに送信する。
【0042】
記憶部120は、例えば、半導体メモリ素子、又はハードディスクなどの記憶装置であり、位置情報キャッシュテーブル121と上位ノード記憶テーブル122と振り分け先サーバ記憶テーブル123とを有する。
【0043】
位置情報キャッシュテーブル121には、携帯端末10の位置情報が格納される。図4は、位置情報キャッシュテーブル121として格納される情報の一例を示す図である。例えば、図4に示すように、位置情報キャッシュテーブル121には、「ユーザID」と「位置」とを対応付けた情報が格納される。「ユーザID」は、携帯端末10を一意に識別する識別子である。また、「位置」は、携帯端末10がどのネットワーク設備と接続されているかを示す。すなわち、「位置」は、携帯端末10の位置情報を示す。
【0044】
具体的には、図4の場合、ユーザIDが「Alice」である携帯端末10は、「AreaA」に位置することを示す。また、ユーザIDが「Bob」である携帯端末10は、「AreaB」に位置することを示す。
【0045】
上位ノード記憶テーブル122は、中継ノード100aと接続された上位のノード情報が格納される。図5は、上位ノード記憶テーブル122として格納される情報の一例を示す図である。例えば、図5に示すように、上位ノード記憶テーブル122には、「ユーザID」と「ノード種別」と「アドレス」とを対応付けた情報が格納される。「ユーザID」は、携帯端末10を一意に識別する識別子である。「ノード種別」は、中継ノード100aと接続された上位ノードの種別が代表ノードであるか、リレーノードであるかを示す。「アドレス」は中継ノード100aと接続された上位ノードのアドレスを示す。
【0046】
具体的には、図5の場合、ユーザIDが「Alice」及び「Tom」である携帯端末10の代表ノード200aのアドレスが「10.10」であることを示す情報が格納される。また、ユーザIDが「Alice」及び「Tom」である携帯端末10のリレーノード200bのアドレスが「10.11」であることを示す情報が格納される。
【0047】
振り分け先サーバ記憶テーブル123には、携帯端末10の位置情報に対応した配信サーバ20のアドレスが格納される。図6は、振り分け先サーバ記憶テーブル123として格納される情報の一例を示す図である。例えば、図6に示すように、振り分け先サーバ記憶テーブル123には、「メッセージの宛先」と「位置」と「配信サーバアドレス」とを対応付けた情報が格納される。「メッセージの宛先」は、配信サーバ名を示す。「位置」は、携帯端末10の位置情報を示す。「配信サーバアドレス」は、携帯端末10の位置情報に応じたメッセージの宛先のアドレスを示す。
【0048】
具体的には、図6の場合、携帯端末10が「AreaA」に位置する場合、配信サーバ「cs.fj.jp」に、配信サーバアドレス「host1.fj.com」宛てに配信要求メッセージを送信することを示す。また、携帯端末10が「AreaB」に位置する場合、配信サーバ「cs.fj.jp」に、配信サーバアドレス「host22.fj.com」宛てに配信要求メッセージを送信することを示す。
【0049】
制御部130は、制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有する。制御部130は、配信要求メッセージ受信部131と位置情報検索部132と代表ノード問い合わせ部133と配信要求メッセージ転送部134とを有する。例えば、制御部130は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路、又は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。
【0050】
配信要求メッセージ受信部131は、携帯端末10から配信要求メッセージを受信する。例えば、配信要求メッセージ受信部131は、携帯端末10から配信要求メッセージを受信した場合、配信要求メッセージに格納されたユーザIDと宛先サーバ名を抽出する。
【0051】
具体例として、配信要求メッセージ受信部131が図7に示す配信要求メッセージを受信した場合を用いて説明する。図7は、配信要求メッセージ受信部131が携帯端末10から受信する配信要求メッセージの一例を示す図である。図7に示すように、配信要求メッセージは、リクエスト行71とヘッダ部72とを有する。
【0052】
リクエスト行71は、メソッドを有する。図7に示す例では、メソッドは、サーバに対してページの取得を要求することを示す「GET」である。ヘッダ部72は、ヘッダ名とヘッダ値とを有する。「ユーザID」を示すヘッダ名「Cookie:userid」に対応するヘッダ値は「Tom」である。また、「メッセージの宛先」を示すヘッダ名「Host」に対応するヘッダ値は「cs.fj.jp」である。例えば、図7に示す配信要求メッセージを受信した場合、配信要求メッセージ受信部131は、ユーザID「Tom」とメッセージの宛先「cs.fj.jp」を抽出する。なお、配信要求メッセージ受信部131は、請求項4における配信要求受信部に対応する。
【0053】
位置情報検索部132は、配信要求メッセージ受信部131から通知を受付けた場合、配信要求メッセージを受信した携帯端末10の位置情報が位置情報キャッシュテーブル121に格納されているか否かを判定する。例えば、位置情報検索部132は、配信要求メッセージ受信部131が抽出したユーザIDをキーにして位置情報キャッシュテーブル121を検索し、端末の位置情報が位置情報キャッシュテーブル121に格納されているか否かを判定する。
【0054】
そして、位置情報検索部132は、端末の位置情報が位置情報キャッシュテーブル121に格納されていると判定した場合、配信要求メッセージ転送部134へ通知する。一方、位置情報検索部132は、端末の位置情報が位置情報キャッシュテーブル121に格納されていないと判定した場合、代表ノード問い合わせ部133へ通知する。
【0055】
例えば、図7に示した配信要求メッセージを受信した場合、位置情報検索部132は、抽出したユーザID「Tom」をキーにして位置情報キャッシュテーブル121を検索し、ユーザID「Tom」に対応する位置情報が格納されていないと判定する。そして、位置情報検索部132は、代表ノード問い合わせ部133へ通知する。なお、位置情報検索部132は、請求項4における位置情報取得部に対応する。
【0056】
代表ノード問い合わせ部133は、位置情報検索部132が携帯端末10の位置情報が位置情報キャッシュテーブル121に格納されていないと判定した場合、代表ノード200aに携帯端末10の位置情報を問い合わせる。
【0057】
例えば、代表ノード問い合わせ部133は、ユーザID「Tom」をキーとして図5に示した上位ノード記憶テーブル122を検索し、代表ノード200aのアドレスが「10.10」であると判定する。そして、代表ノード問い合わせ部133は、ユーザID「Tom」を格納した位置情報問い合わせメッセージを生成し、生成した位置情報問い合わせメッセージをアドレス「10.10」宛てに送信する。
【0058】
また、代表ノード問い合わせ部133は、代表ノード200aから位置情報問い合わせメッセージの応答を受信した場合、応答メッセージに格納された位置情報を抽出し、抽出した位置情報を位置情報キャッシュテーブル121に格納する。代表ノード問い合わせ部133は、抽出した位置情報を位置情報キャッシュテーブル121に格納した後、配信要求メッセージ転送部134に通知する。
【0059】
例えば、代表ノード問い合わせ部133は、応答メッセージに「AreaA」が格納されていた場合、位置情報キャッシュテーブル121の「ユーザID」に「Tom」、「位置」に「AreaA」を格納する。なお、代表ノード問い合わせ部133は、請求項4における位置情報取得部に対応する。
【0060】
配信要求メッセージ転送部134は、携帯端末10の位置情報から最も近い配信サーバ20を検索し、携帯端末10から受信した配信要求メッセージを配信サーバ20へ転送する。例えば、配信要求メッセージ転送部134は、「メッセージの宛先」として「cs.fj.jp」、「位置」として「AreaA」をキーに、図6に示した振り分け先サーバ記憶テーブル123を検索する。そして、配信要求メッセージ転送部134は、配信サーバアドレス「host1.fj.com」を取得し、取得したアドレスの配信サーバ20へ配信要求メッセージを転送する。なお、配信要求メッセージ転送部134は、請求項4における配信要求転送部に対応する。
【0061】
(実施例1に係る代表ノードの構成)
次に、図8を用いて、実施例1に係る代表ノード200aの構成を示す。なお、代表ノード200aとリレーノード200b及び200cとは同様の構成を有するので、ここでは代表ノード200aについてのみ説明する。図8は、実施例1に係る代表ノード200aの構成を示すブロック図である。実施例1にかかる代表ノード200aは、インターフェース部210と、記憶部220と、制御部230とを有する。なお、これらの機能以外にも、キーボードやマウスなどの入力部や、モニタやスピーカーなどの出力部を有していてもよい。
【0062】
インターフェース部210は、ネットワークを介して下位ノード又は上位ノードとの通信を制御するインターフェースである。例えば、インターフェース部210は、中継ノードから位置情報問い合わせメッセージを受信した場合、受信した位置情報問い合わせメッセージを下位ノードメッセージ受信部231へ転送する。また、例えば、インターフェース部210は、位置管理サーバ30から携帯端末10の位置情報を取得した場合、取得した位置情報を位置情報処理部234に転送する。
【0063】
記憶部220は、例えば、半導体メモリ素子、又はハードディスクなどの記憶装置であり、問い合わせ元記憶テーブル221と位置情報キャッシュテーブル222と上位ノード記憶テーブル223とを有する。
【0064】
問い合わせ元記憶テーブル221には、位置情報問い合わせメッセージを送信した中継ノード100が有するアドレスである「問い合わせ元アドレス」と位置情報を問い合わせた携帯端末10の「ユーザID」とを対応付けた情報が格納される。図9は、問い合わせ元記憶テーブル221として格納される情報の一例を示す図である。
【0065】
例えば、問い合わせ元記憶テーブル221には、図9に示すように、「ユーザID」と「問い合わせ元アドレス」とを対応付けた情報が格納される。「ユーザID」は、携帯端末10を一意に識別する識別子を示す。「問い合わせ元アドレス」は、携帯端末10の位置情報を問い合わせた下位ノードのアドレスを示す。具体的には、図9に示す問い合わせ元記憶テーブル221には、ユーザIDが「Alice」で識別される携帯端末10の位置情報を問い合わせた下位ノードのアドレスが「10.2」であることを示す情報が格納される。
【0066】
位置情報キャッシュテーブル222には、携帯端末の位置情報が格納される。図10は、位置情報キャッシュテーブル222として格納される情報の一例を示す図である。例えば、位置情報キャッシュテーブル222には、図10に示すように、「ユーザID」と「位置」とを対応付けた情報が格納される。「ユーザID」は、携帯端末10を一意に識別する識別子を示す。「位置」は、携帯端末10の位置情報を示す。具体的には、図10の場合、ユーザIDが「Alice」である携帯端末10は、「AreaA」に位置することを示す。
【0067】
上位ノード記憶テーブル223には、代表ノード200aと接続された上位ノード情報が格納される。図11は、上位ノード記憶テーブル223として格納される情報の一例を示す図である。例えば、上位ノード記憶テーブル223には、図11に示すように、「ユーザID」と「ノード種別」と「アドレス」とを対応付けた情報が格納される。「ユーザID」は、携帯端末10を一意に識別する識別子を示す。「ノード種別」は、代表ノード200aと接続された上位ノードの種別を示す。「アドレス」は代表ノード200aと接続された上位ノードのアドレスを示す。
【0068】
具体的には、図11に示す上位ノード記憶テーブル223には、ユーザが「Alice」及び「Tom」である携帯端末10の位置管理サーバのアドレスが「11.10」であることを示す情報が格納される。また、上位ノード記憶テーブル223には、ユーザが「Bob」である携帯端末10のリレーノードのアドレスが「10.12」であることを示す情報が格納される。
【0069】
制御部230は、制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有する。制御部230は、下位ノードメッセージ受信部231と位置情報検索部232と位置情報要求部233と位置情報処理部234と下位ノードメッセージ送信部235とを有する。例えば、制御部230は、ASICやFPGAなどの集積回路、又は、CPUやMPUなどの電子回路である。
【0070】
下位ノードメッセージ受信部231は、下位ノードからメッセージを受信した場合、受信したメッセージを解析する。例えば、下位ノードメッセージ受信部231は、中継ノード100aから位置情報問い合わせメッセージを受信した場合、位置情報問い合わせメッセージに格納された送信元アドレスとユーザIDとを抽出する。そして、下位ノードメッセージ受信部231は、抽出した送信元アドレスとユーザIDとを問い合わせ元記憶テーブル221に格納する。
【0071】
下位ノードメッセージ受信部231は、アドレスが「10.2」の中継ノード100aからユーザIDが「Alice」で識別される携帯端末10の位置情報問い合わせメッセージを受信した場合、問い合わせ元記憶テーブル221に図9に示した情報を格納する。
【0072】
位置情報検索部232は、下位ノードメッセージ受信部231から通知を受付けた場合、位置情報問い合わせメッセージに格納された携帯端末10の位置情報が位置情報キャッシュテーブル222に格納されているか否かを判定する。例えば、位置情報検索部232は、下位ノードメッセージ受信部231が抽出したユーザIDをキーにして位置情報キャッシュテーブル222を検索し、携帯端末10の位置情報が位置情報キャッシュテーブル222に格納されているか否かを判定する。
【0073】
そして、位置情報検索部232は、携帯端末10の位置情報が位置情報キャッシュテーブル222に格納されていると判定した場合、下位ノードメッセージ送信部235へ通知する。一方、位置情報検索部232は、携帯端末10の位置情報が位置情報キャッシュテーブル222に格納されていないと判定した場合、位置情報要求部233へ通知する。
【0074】
具体的には、位置情報検索部232は、位置情報問い合わせメッセージを受信した場合、抽出したユーザID「Tom」をキーにして図10に示した位置情報キャッシュテーブル222を検索する。そして、位置情報検索部232は、ユーザID「Tom」に対応する位置情報が格納されていないと判定し、位置情報要求部233へ通知する。
【0075】
位置情報要求部233は、位置情報検索部232から通知を受付けた場合、上位ノードへ位置情報を問い合わせる。例えば、位置情報要求部233は、位置情報検索部232が携帯端末10の位置情報が位置情報キャッシュテーブル222に格納されていないと判定した場合、ユーザIDをキーにして、上位ノード記憶テーブル223を検索する。そして、位置情報要求部233は、ノード種別とアドレスとを取得し、取得したアドレスに位置情報問い合わせメッセージを送信する。具体的には、位置情報要求部233は、位置管理サーバ30へ位置情報を要求する。
【0076】
位置情報処理部234は、上位ノードから応答メッセージを受信し、応答メッセージに格納された携帯端末10の位置情報を抽出する。そして、位置情報処理部234は、抽出した位置情報を位置情報キャッシュテーブル222に格納する。また、位置情報処理部234は、下位ノードメッセージ送信部235へ応答メッセージから抽出した位置情報を通知する。
【0077】
具体的には、位置情報処理部234は、応答メッセージからユーザIDが「Alice」である携帯端末10の位置情報として「AreaA」を抽出した場合、図10に示すような情報を位置情報キャッシュテーブル222に格納する。
【0078】
下位ノードメッセージ送信部235は、下位ノードに位置情報を送信する。例えば、下位ノードメッセージ送信部235は、ユーザIDをキーにし、問い合わせ元記憶テーブル221を検索して、問い合わせ元のアドレスを取得する。そして、下位ノードメッセージ送信部235は、取得した下位ノードのアドレスへ携帯端末10の位置情報を格納した応答メッセージを送信する。
【0079】
具体的には、下位ノードメッセージ送信部235は、図9に示した問い合わせ元記憶テーブル221を検索した場合、取得した中継ノード100aのアドレス「10.2」へ携帯端末10の位置情報を送信する。
【0080】
[実施例1にかかる中継システムによる処理の処理手順]
(実施例1にかかる中継ノードによる位置問い合わせ処理の処理手順)
次に、図12を用いて、実施例1にかかる中継ノード100aによる位置問い合わせ処理の処理手順を説明する。図12は、実施例1にかかる中継ノード100aによる位置問い合わせ処理の処理手順を説明するフローチャートである。
【0081】
配信要求メッセージ受信部131は、携帯端末10から配信要求メッセージを受信した場合(ステップS101、Yes)、配信要求メッセージからユーザIDを抽出する(ステップS102)。続いて、位置情報検索部132は、配信要求メッセージ受信部131が抽出したユーザIDをキーに位置情報キャッシュテーブル121を検索し、携帯端末10の位置情報が登録されているか否かを判定する(ステップS103)。
【0082】
位置情報検索部132によって携帯端末10の位置情報が登録されていないと判定された場合(ステップS103、No)、代表ノード問い合わせ部133は、代表ノード200aに携帯端末10の位置情報を問い合わせ、取得した位置情報を登録する(ステップS104)。続いて、配信要求メッセージ転送部134は、配信サーバ20のアドレスを検索し、配信要求メッセージを転送し(ステップS105)処理を終了する。
【0083】
位置情報検索部132によって携帯端末10の位置情報が登録されていると判定された場合(ステップS103、Yes)、配信要求メッセージ転送部134は、配信サーバ20のアドレスを検索し、配信要求メッセージを転送し(ステップS105)処理を終了する。
【0084】
(実施例1にかかる代表ノードによる位置問い合わせ処理の処理手順)
次に、図13を用いて、実施例1にかかる代表ノード200aによる位置問い合わせ処理の処理手順を説明する。図13は、実施例1にかかる代表ノード200aによる位置問い合わせ処理の処理手順を説明するフローチャートである。
【0085】
下位ノードメッセージ受信部231は、中継ノード100aから問い合わせメッセージを受信した場合(ステップS201、Yes)、ステップS202の処理を実行する。すなわち、下位ノードメッセージ受信部231は、問い合わせメッセージからユーザIDと中継ノードのアドレスを抽出し、抽出したユーザIDと中継ノードのアドレスを問い合わせ元記憶テーブル221に格納する(ステップS202)。続いて、位置情報検索部232は、携帯端末10の位置情報が登録されているか否かを判定する(ステップS203)。
【0086】
位置情報検索部232によって携帯端末10の位置情報が登録されていないと判定された場合(ステップS203、No)、位置情報要求部233は、ステップS204の処理を実行する。すなわち、位置情報要求部233は、位置管理サーバ30に携帯端末10の位置情報を問い合わせ、取得した位置情報を登録する(ステップS204)。続いて、下位ノードメッセージ送信部235は、携帯端末10の位置を中継ノード100aに送信し(ステップS205)処理を終了する。
【0087】
位置情報検索部232によって携帯端末10の位置情報が登録されていると判定された場合(ステップS203、Yes)、下位ノードメッセージ送信部235は、携帯端末10の位置を中継ノード100aに送信し(ステップS205)処理を終了する。
【0088】
[実施例1の効果]
上述してきたように、本実施例1では、中継ノード100aは、代表ノード200aへ直接携帯端末10の位置情報を問い合わせる。したがって、アプリケーションの配信を要求する携帯端末10の位置情報を短時間で取得することができる。
【実施例2】
【0089】
実施例1では、中継ノード100aが代表ノード200aに携帯端末10の位置情報を問い合わせる例について説明した。ところが、中継システムにおいて、中継ノードが位置情報を取得した後に、携帯端末が移動する場合がある。そこで、実施例2では、携帯端末が移動した場合に、中継ノードが上位ノードから携帯端末の位置情報の通知を受ける例について説明する。
【0090】
[実施例2に係る中継システムの構成]
まず、実施例2に係る中継システム2のシステム構成を説明する。図14は、実施例2に係る中継システム2のシステム構成を示す図である。図14に示すように、中継システム2は、携帯端末10と配信サーバ20と位置管理サーバ30と中継制御サーバ群50とをネットワークを介して接続する。
【0091】
[実施例2に係る中継制御サーバ群の構成]
次に、実施例2に係る中継制御サーバ群50の構成を説明する。中継制御サーバ群50は、図14に示すように、サーバロードバランサー41と中継ノード300aと中継ノード300bと代表ノード400aとリレーノード400bとリレーノード400cとを有する。
【0092】
(実施例2に係る中継ノードの構成)
次に、実施例2にかかる中継ノードの構成を説明する。なお、中継ノード300aと中継ノード300bとは同様の構成を有するので、ここでは中継ノード300aについてのみ説明する。図15は、実施例2にかかる中継ノード300aの構成を示すブロック図である。実施例2にかかる中継装置の中継ノード300aは、インターフェース部110と記憶部120と制御部330とを有する。なお、これらの機能以外にも、キーボードやマウスなどの入力部や、モニタやスピーカーなどの出力部を有していてもよい。また、ここでは、図3に示した各部と同様の役割を果たす機能部については、同一符号を付すことにしてその詳細な説明を省略する。
【0093】
制御部330は、制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有する。制御部330は、配信要求メッセージ受信部131と位置情報検索部132と代表ノード問い合わせ部133と配信要求メッセージ転送部134と更新通知要求部335と位置情報処理部336とを有する。例えば、制御部330は、ASICやFPGAなどの集積回路、又は、CPUやMPUなどの電子回路である。
【0094】
更新通知要求部335は、携帯端末10の位置情報が変化した場合に、位置更新時の通知を受付ける要求をする。例えば、更新通知要求部335は、代表ノード問い合わせ部133が携帯端末10の位置情報を取得した場合、ユーザIDをキーにし、上位ノード記憶テーブル122を検索してリレーノードのアドレスを取得する。そして、更新通知要求部335は、取得したアドレスの上位ノードに、ユーザIDと位置情報とを格納した更新通知要求を送信する。
【0095】
具体的には、更新通知要求部335は、ユーザID「Tom」をキーにして上位ノード記憶テーブル122を検索し、リレーノードのアドレス「10.11」を取得する。そして、更新通知要求部335は、取得したアドレス「10.11」に、ユーザID「Tom」と位置情報「AreaA」とを格納した更新通知要求を送信する。なお、更新通知要求部335は、請求項4における位置情報送信部に対応する。
【0096】
位置情報処理部336は、リレーノードから更新通知要求部335が要求した更新通知要求に対する応答を受信し、受信した応答種別を判定する。例えば、位置情報処理部336は、リレーノードから「update」を示す応答を受信した場合、受信した応答に格納された位置情報を位置情報キャッシュテーブル121へ格納する。続いて、位置情報処理部336は、配信要求メッセージ転送部134に通知する。一方、位置情報処理部336は、リレーノードから「OK」を示す応答を受信した場合、配信要求メッセージ転送部134に通知する。
【0097】
また、位置情報処理部336は、リレーノードから位置更新通知を受信し、受信した位置更新通知に格納されたユーザIDと位置情報を抽出して、抽出した位置情報を位置情報キャッシュテーブル121へ格納する。
【0098】
(実施例2に係る代表ノードの構成)
次に、図16を用いて、実施例2にかかる代表ノード400aの構成を説明する。なお、代表ノード400aとリレーノード400b及び400cとは同様の構成を有するので、ここでは代表ノード400aについてのみ説明する。図16は、実施例2にかかる代表ノード400aの構成を示すブロック図である。実施例2に係る代表ノード400aは、インターフェース部210と記憶部220と制御部430とを有する。なお、これらの機能以外にも、キーボードやマウスなどの入力部や、モニタやスピーカーなどの出力部を有していてもよい。なお、ここでは、図8に示した各部と同様の役割を果たす機能部については、同一符号を付すことにしてその詳細な説明を省略する。
【0099】
制御部430は、制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有する。制御部430は、下位ノードメッセージ受信部231と位置情報検索部232と位置情報要求部433と位置情報処理部434と下位ノードメッセージ送信部235とを有する。例えば、制御部430は、ASICやFPGAなどの集積回路、又は、CPUやMPUなどの電子回路である。
【0100】
位置情報要求部433は、実施例1で説明した位置情報要求部233が有する機能に加えて以下の機能をさらに有する。位置情報要求部433は、携帯端末10の位置情報が更新された場合に上位ノードから通知を受付ける要求を上位ノードに送信する。例えば、位置情報要求部433は、ユーザIDをキーにして上位ノード記憶テーブル223を検索し、位置管理サーバ又はリレーノードのアドレスを取得する。そして、位置情報要求部433は、アドレスを取得した位置管理サーバ30又は上位ノードへユーザIDと位置情報とを格納した更新通知要求を送信する。
【0101】
位置情報処理部434は、実施例1で説明した位置情報処理部234が有する機能に加えて以下の機能をさらに有する。位置情報処理部434は、上位ノードから位置情報の問い合わせに対する応答を受信し、受信した応答種別を判定する。例えば、位置情報処理部434は、位置情報要求部433が送信した位置情報問い合わせ要求に対する応答を位置管理サーバ30から受信し、受信した応答種別を判定する。
【0102】
例えば、位置情報処理部434は、携帯端末10の位置情報が更新されたことを示す「update」応答を位置管理サーバ30から受信した場合、受信した応答に格納された位置情報を位置情報キャッシュテーブル222へ格納する。続いて、位置情報処理部434は、下位ノードメッセージ送信部235に通知する。一方、位置情報処理部434は、携帯端末10の位置情報が更新されていないことを示す「OK」応答を位置管理サーバ30から受信した場合、下位ノードメッセージ送信部235に通知する。
【0103】
また、位置情報処理部434は、下位ノードから位置情報の更新通知要求メッセージを受信し、受信した位置情報と位置情報キャッシュテーブル222の格納された位置情報とを比較する。例えば、位置情報処理部434は、リレーノード400bの位置情報要求部433が送信した更新通知要求メッセージからユーザIDと位置情報とを抽出する。そして、位置情報処理部434は、抽出した携帯端末10の位置情報が位置情報キャッシュテーブル222に格納されているか否かを判定する。
【0104】
ここで、位置情報処理部434は、抽出した携帯端末10の位置情報が位置情報キャッシュテーブル222に格納されていないと判定した場合、位置情報要求部433に更新通知要求メッセージを送信させる。一方、位置情報処理部434は、抽出した携帯端末10の位置情報が位置情報キャッシュテーブル222に格納されていると判定した場合、以下の処理を実行する。すなわち、位置情報処理部434は、抽出した携帯端末10の位置情報と位置情報キャッシュテーブル222に格納されている位置情報が一致するか否かを判定する。
【0105】
位置情報処理部434は、位置情報が一致すると判定した場合には、下位ノードメッセージ送信部235に通知し「OK」応答を下位ノードへ送信させる。位置情報処理部434は、位置情報が一致しないと判定した場合には、受信した応答に格納された位置情報を位置情報キャッシュテーブル222へ格納する。続いて、位置情報処理部434は、下位ノードメッセージ送信部235に通知し「update」応答を下位ノードへ送信させる。
【0106】
また、位置情報処理部434は、上位ノードから位置更新通知を受信した場合、位置更新通知に格納された位置情報を位置情報キャッシュテーブル222に格納し、下位ノードメッセージ送信部235に通知する。
【0107】
例えば、位置情報処理部434は、位置管理サーバ30から位置更新通知を受信した場合、位置更新通知に格納されたユーザIDと位置情報とを抽出し、抽出した位置情報を位置情報キャッシュテーブル222に格納する。そして、位置情報処理部434は、問い合わせ元記憶テーブル221からリレーノード400bのアドレスを検索する。ここでアドレスが登録されていた場合、位置情報処理部434は、下位ノードメッセージ送信部235に通知し、検索したアドレスに位置情報更新通知を送信させる。一方、アドレスが登録されていなかった場合、位置情報処理部434は、エラーログを生成する。
【0108】
[実施例2にかかる中継システムによる処理の処理手順]
(実施例2にかかる中継ノードによる位置問い合わせ処理の処理手順)
次に、図17を用いて、実施例2にかかる中継ノード300aによる位置問い合わせ処理の処理手順を説明する。図17は、実施例2にかかる中継ノード300aによる位置問い合わせ処理の処理手順を説明するフローチャートである。
【0109】
配信要求メッセージ受信部131は、携帯端末10から配信要求メッセージを受信した場合(ステップS301、Yes)、配信要求メッセージからユーザIDを抽出する(ステップS302)。続いて、位置情報検索部132は、配信要求メッセージ受信部131が抽出したユーザIDをキーに位置情報キャッシュテーブル121を検索し、携帯端末10の位置情報が登録されているか否かを判定する(ステップS303)。
【0110】
位置情報検索部132によって携帯端末10の位置情報が登録されていないと判定された場合(ステップS303、No)、代表ノード問い合わせ部133は、代表ノードに携帯端末10の位置情報を問い合わせ、取得した位置情報を登録する(ステップS304)。続いて、更新通知要求部335は、リレーノードに位置情報更新通知を登録する(ステップS305)。そして、位置情報処理部336は、リレーノードから応答を受信し、受信した応答が「OK」であるか否かを判定する(ステップS306)。
【0111】
位置情報処理部336は、受信した応答が「OK」ではないと判定した場合(ステップS306、No)、「update」応答に格納されている位置情報を登録する(ステップS307)。続いて、配信要求メッセージ転送部134は、配信サーバ20のアドレスを検索し、配信要求メッセージを転送し(ステップS308)処理を終了する。
【0112】
位置情報処理部336によって受信した応答が「OK」であると判定された場合(ステップS306、Yes)、配信要求メッセージ転送部134は、配信サーバ20のアドレスを検索し、配信要求メッセージを転送し(ステップS308)処理を終了する。
【0113】
位置情報検索部132によって携帯端末10の位置情報が登録されていると判定された場合(ステップS303、Yes)、配信要求メッセージ転送部134は、配信サーバ20のアドレスを検索し、配信要求メッセージを転送し(ステップS308)処理を終了する。
【0114】
(実施例2にかかる代表ノードによる位置問い合わせ処理の処理手順)
次に、図18を用いて、実施例2にかかる代表ノード400aによる位置問い合わせ処理の処理手順を説明する。図18は、実施例2にかかる代表ノード400aによる位置問い合わせ処理の処理手順を説明するフローチャートである。
【0115】
下位ノードメッセージ受信部231は、中継ノード300aから問い合わせメッセージを受信した場合(ステップS401、Yes)、ステップS402の処理を実行する。すなわち、下位ノードメッセージ受信部231は、問い合わせメッセージからユーザIDと中継ノードのアドレスを抽出し、抽出したユーザIDと中継ノードのアドレスを問い合わせ元記憶テーブル221に格納する(ステップS402)。続いて、位置情報検索部232は、携帯端末10の位置情報が登録されているか否かを判定する(ステップS403)。
【0116】
位置情報検索部232によって携帯端末10の位置情報が登録されていないと判定された場合(ステップS403、No)、位置情報要求部433は、ステップS404の処理を実行する。すなわち、位置情報要求部433は、位置管理サーバ30に携帯端末10の位置情報を問い合わせ、取得した位置情報を登録する(ステップS404)。続いて、位置情報要求部433は、上位ノードに位置情報更新通知を登録する(ステップS405)。そして、位置情報処理部434は、上位ノードから応答を受信し、受信した応答が「OK」であるか否かを判定する(ステップS406)。
【0117】
位置情報処理部434は、受信した応答が「OK」ではないと判定した場合(ステップS406、No)、「update」応答に格納されている位置情報を登録する(ステップS407)。続いて、下位ノードメッセージ送信部235は、携帯端末10の位置を問い合わせ元に送信し(ステップS408)処理を終了する。
【0118】
位置情報処理部434によって受信した応答が「OK」であると判定された場合(ステップS406、Yes)、下位ノードメッセージ送信部235は、携帯端末10の位置を問い合わせ元に送信し(ステップS408)処理を終了する。
【0119】
位置情報検索部232によって携帯端末10の位置情報が登録されていると判定された場合(ステップS403、Yes)、下位ノードメッセージ送信部235は、携帯端末10の位置を問い合わせ元に送信し(ステップS408)処理を終了する。
【0120】
(実施例2にかかる代表ノードによる位置情報更新要求処理の処理手順)
次に、図19を用いて、実施例2にかかる代表ノード400aによる位置情報更新要求処理の処理手順を説明する。図19は、実施例2にかかる代表ノード400aによる位置情報更新要求処理の処理手順を説明するフローチャートである。
【0121】
下位ノードメッセージ受信部231は、中継ノード300a又は下位のリレーノードから更新通知要求を受信した場合(ステップS501、Yes)、ステップS502の処理を実行する。すなわち、下位ノードメッセージ受信部231は、更新通知要求メッセージからユーザIDと下位ノードのアドレスと位置情報を抽出し、抽出したユーザIDと下位ノードのアドレスを問い合わせ元記憶テーブル221に格納する(ステップS502)。続いて、位置情報検索部232は、携帯端末10の位置情報が登録されているか否かを判定する(ステップS503)。
【0122】
位置情報検索部232は、携帯端末10の位置情報が登録されていると判定した場合(ステップS503、Yes)、位置情報が一致するか否かを判定する(ステップS504)。位置情報検索部232によって位置情報が一致すると判定された場合(ステップS504、Yes)、下位ノードメッセージ送信部235は、「OK」を応答し(ステップS505)、処理を終了する。一方、位置情報検索部232によって位置情報が一致しないと判定された場合(ステップS504、No)、下位ノードメッセージ送信部235は、「update」を応答し(ステップS506)、処理を終了する。
【0123】
位置情報検索部232によって携帯端末10の位置情報が登録されていないと判定された場合(ステップS503、No)、位置情報要求部433は、上位ノードに更新通知要求メッセージを送信する(ステップS507)。続いて、位置情報処理部434は、上位ノードから応答を受信し、受信した応答が「OK」であるか否かを判定する(ステップS508)。
【0124】
位置情報処理部434は、受信した応答が「OK」であると判定した場合(ステップS508、Yes)、位置情報を登録し(ステップS509)、ステップS505の処理へ移行する。一方、位置情報処理部434は、受信した応答が「OK」ではないと判定した場合(ステップS508、No)、「update」応答に格納されている位置情報を登録し(ステップS510)、ステップS506の処理へ移行する。
【0125】
(実施例2にかかる代表ノードによる位置情報更新通知受信処理の処理手順)
次に、図20を用いて、実施例2にかかる代表ノード400aによる位置情報更新通知受信処理の処理手順を説明する。図20は、実施例2にかかる代表ノード400aによる位置情報更新通知受信処理の処理手順を説明するフローチャートである。
【0126】
位置情報処理部434は、位置管理サーバ30又は上位ノードから位置更新通知を受信した場合(ステップS601、Yes)、位置更新通知からユーザIDと位置情報とを抽出する(ステップS602)。続いて、位置情報処理部434は、抽出した位置情報を登録する(ステップS603)。
【0127】
そして、位置情報処理部434は、問い合わせ元記憶テーブル221を検索し、問い合わせ元のアドレスを取得し(ステップS604)、アドレスが登録されているか否かを判定する(ステップS605)。ここで、位置情報処理部434によってアドレスが登録されていると判定された場合(ステップS605、Yes)、下位ノードメッセージ送信部235は、取得したアドレスに位置情報更新通知を送信する(ステップS606)。一方、位置情報処理部434によってアドレスが登録されていないと判定された場合(ステップS605、No)、下位ノードメッセージ送信部235は、エラーログを生成し、出力する(ステップS607)。
【0128】
(実施例2にかかる中継ノードによる位置情報更新通知受信処理の処理手順)
次に、図21を用いて、実施例2にかかる中継ノード300aによる位置情報更新通知受信処理の処理手順を説明する。図21は、実施例2にかかる中継ノード300aによる位置情報更新通知受信処理の処理手順を説明するフローチャートである。
【0129】
位置情報処理部336は、上位ノードから位置更新通知を受信した場合(ステップS701、Yes)、位置更新通知からユーザIDと位置情報とを抽出する(ステップS702)。続いて、位置情報処理部336は、抽出した位置情報を登録する(ステップS703)。
【0130】
[実施例2の効果]
上述してきたように、本実施例2では、中継ノード300aが取得した位置情報と上位ノードが記憶する位置情報とを比較することで、携帯端末10の位置情報を取得後に携帯端末10の位置が変更しても正確な位置情報を取得することができる。
【実施例3】
【0131】
実施例2では、中継システムが位置情報を取得し、取得した位置情報に変更があれば、更新通知を受付ける例について説明した。ところが、中継システムにおいて、上位ノードに変更がある場合がある。そこで、実施例3では、中継システムにおいて、上位ノードに変更がある場合に、中継ノードがリレーノードに配信停止要求と配信要求を送信する例について説明する。
【0132】
[実施例3にかかる中継システムの構成]
次に、実施例3にかかる中継システム3の構成を説明する。図22は、実施例3にかかる中継システムの構成を示す図である。実施例3にかかる中継システム3は、携帯端末10と配信サーバ20と位置管理サーバ30と監視システム39と中継制御サーバ群60とを有する。なお、ここでは、図2に示した各部と同様の役割を果たす機能部については、同一符号を付すことにしてその詳細な説明を省略する。
【0133】
監視システム39は、中継システム3を監視するサーバである。例えば、監視システム39は、複数のリレーノードが存在するにもかかわらず、特定のリレーノードだけに中継ノードが接続されているか否かを判定することで、中継システム3の負荷状況を監視する。また、監視システム39は、監視者から中継システム3における中継ノードとリレーノードの接続関係を変更する通知を受け付けた場合、中継ノード500a及び500bにリレーノード変更メッセージを送信する。
【0134】
[実施例3に係る中継制御サーバ群の構成]
実施例3にかかる中継制御サーバ群60は、サーバロードバランサー41と中継ノード500aと中継ノード500bと代表ノード600aとリレーノード600bとリレーノード600cとを有する。
【0135】
(実施例3に係る中継ノードの構成)
次に、実施例3にかかる中継ノードの構成を説明する。なお、中継ノード500aと中継ノード500bとは同様の構成を有するので、ここでは中継ノード500aについてのみ説明する。図23は、実施例3にかかる中継ノード500aの構成を示すブロック図である。実施例3にかかる中継ノード500aは、インターフェース部110と記憶部120と制御部530とを有する。なお、これらの機能以外にも、キーボードやマウスなどの入力部や、モニタやスピーカーなどの出力部を有していてもよい。なお、ここでは、図3及び図15に示した各部と同様の役割を果たす機能部については、同一符号を付すことにしてその詳細な説明を省略する。
【0136】
制御部530は、制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有する。制御部530は、配信要求メッセージ受信部531と位置情報検索部132と代表ノード問い合わせ部133と配信要求メッセージ転送部134と更新通知要求部535と位置情報処理部336とを有する。例えば、制御部530は、ASICやFPGAなどの集積回路、又は、CPUやMPUなどの電子回路である。
【0137】
配信要求メッセージ受信部531は、実施例1で説明した配信要求メッセージ受信部131が有する機能に加えて以下の機能をさらに有する。例えば、配信要求メッセージ受信部531は、監視システム39からリレーノード変更メッセージを受信し、受信したリレーノード変更メッセージからユーザIDとリレーノードアドレスとを抽出する。
【0138】
更新通知要求部535は、実施例2で説明した更新通知要求部335が有する機能に加えて以下の機能をさらに有する。例えば、更新通知要求部535は、ユーザIDと位置情報とを格納した位置更新通知要求メッセージを生成し、生成した位置更新通知要求メッセージを変更後のアドレスへ送信する。
【0139】
(実施例3に係る代表ノードの構成)
次に、図24を用いて、実施例3にかかる代表ノード600aの構成を説明する。なお、代表ノード600aとリレーノード600bとリレーノード600cとは同様の構成を有するので、ここでは代表ノード600aについてのみ説明する。図24は、実施例3にかかる代表ノード600aの構成を示すブロック図である。実施例3に係る代表ノード600aは、インターフェース部210と記憶部220と制御部630とを有する。なお、これらの機能以外にも、キーボードやマウスなどの入力部や、モニタやスピーカーなどの出力部を有していてもよい。なお、ここでは、図8及び図16に示した各部と同様の役割を果たす機能部については、同一符号を付すことにしてその詳細な説明を省略する。
【0140】
制御部630は、制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有する。制御部630は、下位ノードメッセージ受信部631と位置情報検索部232と位置情報要求部633と位置情報処理部434と下位ノードメッセージ送信部235とを有する。例えば、制御部630は、ASICやFPGAなどの集積回路、又は、CPUやMPUなどの電子回路である。
【0141】
下位ノードメッセージ受信部631は、実施例1で説明した下位ノードメッセージ受信部231が有する機能に加えて以下の機能をさらに有する。下位ノードメッセージ受信部631は、位置更新要求を下位ノードから受信し、受信した位置更新要求からユーザIDを抽出する。そして、下位ノードメッセージ受信部631は、問い合わせ元記憶テーブル221からユーザIDとアドレスとが一致するエントリを検索し、ユーザIDとアドレスとが一致するエントリを問い合わせ元記憶テーブル221から削除する。
【0142】
位置情報要求部633は、実施例2で説明した位置情報要求部433が有する機能に加えて以下の機能をさらに有する。位置情報要求部633は、ユーザIDをキーとして上位ノード記憶テーブル223を検索して上位ノードのアドレスを取得する。位置情報要求部633は、アドレスを取得した上位ノードに更新通知停止メッセージを送信する。
【0143】
[実施例3に係る中継システムによる処理の処理手順]
(実施例3に係る中継ノードによるリレーノード変更処理の処理手順)
図25を用いて、実施例3に係る中継ノードによるリレーノード変更処理の処理手順を説明する。図25は、実施例3に係る中継ノードによるリレーノード変更処理の処理手順を説明するフローチャートである。
【0144】
配信要求メッセージ受信部531は、監視システム39からリレーノード変更メッセージを受信した場合(ステップS801、Yes)、受信したリレーノード変更メッセージからユーザIDとアドレスを抽出する(ステップS802)。続いて、位置情報検索部132は、携帯端末10の位置情報が登録されているか否かを判定する(ステップS803)。
【0145】
この結果、位置情報検索部132によって位置情報が登録されていると判定された場合(ステップS803、Yes)、更新通知要求部535は、変更後のアドレスに配信要求メッセージを送信する(ステップS804)。続いて、位置情報処理部336は、応答を受信し、受信した応答が「OK」であるか否かを判定する(ステップS805)。
【0146】
位置情報処理部336は、応答が「OK」ではないと判定した場合(ステップS805、No)、「update」応答に格納されている位置情報を登録し(ステップS806)、変更前のリレーノードのアドレスを取得する(ステップS807)。一方、位置情報処理部336は、応答が「OK」であると判定した場合(ステップS805、Yes)、変更前のリレーノードのアドレスを取得する(ステップS807)。
【0147】
続いて、更新通知要求部535は、変更前のリレーノードに位置更新通知停止メッセージを送信し(ステップS808)、上位ノード記憶テーブル122のユーザかつリレーノードに対応するアドレスを変更して(ステップS809)、処理を終了する。
【0148】
一方、位置情報検索部132によって位置情報が登録されていないと判定された場合(ステップS803、No)、更新通知要求部535は、上位ノード記憶テーブル122のユーザかつリレーノードに対応するアドレスを変更して(ステップS809)、処理を終了する。
【0149】
(実施例3に係る代表ノードによる位置更新通知停止メッセージ受信処理の処理手順)
図26を用いて、実施例3に係る代表ノード600aによる位置更新通知停止メッセージ受信処理の処理手順を説明する。図26は、実施例3に係る代表ノード600aによる位置更新通知停止メッセージ受信処理の処理手順を説明するフローチャートである。
【0150】
下位ノードメッセージ受信部631は、中継ノード500a又は下位ノードから更新通知停止メッセージを受信した場合(ステップS901、Yes)、更新通知停止メッセージからユーザIDを抽出する(ステップS902)。続いて、下位ノードメッセージ受信部631は、問い合わせ元記憶テーブル221を検索し、アドレスを削除する(ステップS903)。そして、下位ノードメッセージ受信部631は、問い合わせ元記憶テーブル221にユーザIDが一致するエントリが存在するか否かを判定する(ステップS904)。
【0151】
下位ノードメッセージ受信部631によって問い合わせ元記憶テーブル221にユーザIDが一致するエントリが存在しないと判定された場合(ステップS904、No)、位置情報要求部633は、ステップS905の処理を実行する。すなわち、位置情報要求部633は、上位ノードに更新通知停止メッセージを送信する(ステップS905)。続いて、下位ノードメッセージ送信部235は、中継ノード500a又は下位ノードに「OK」を応答して(ステップS906)、処理を終了する。
【0152】
下位ノードメッセージ受信部631によって問い合わせ元記憶テーブル221にユーザIDが一致するエントリが存在すると判定された場合(ステップS904、Yes)、下位ノードメッセージ送信部235は、ステップS906の処理を実行する。すなわち、下位ノードメッセージ送信部235は、中継ノード500a又は下位ノードに「OK」を応答して(ステップS906)、処理を終了する。
【0153】
[実施例3の効果]
上述してきたように、本実施例3では、複数のリレーノードが存在するにもかかわらず、特定のリレーノードだけに中継ノードが接続されている場合に、監視システム39は、中継ノード500a及び500bにリレーノード変更メッセージを送信する。したがって、本実施例3では、リレーノード600b及び600cを有効に使用することが出来る。
【実施例4】
【0154】
ところで、中継システムにおいて、ある携帯端末から一定時間以上配信リクエストがない場合がある。かかる場合、中継システムは、携帯端末の位置情報を無駄に記憶することになる。そこで、実施例4では、中継システムにおいて、一定時間以上配信リクエストがない携帯端末が存在する場合に、この携帯端末の位置情報を削除し、上位のリレーノードに配信停止要求を送信する例について説明する。
【0155】
[実施例4にかかる中継システムの構成]
次に、実施例4にかかる中継システム4の構成を説明する。図27は、実施例4にかかる中継システム4の構成を示す図である。実施例4にかかる中継システム4は、携帯端末10と配信サーバ20と位置管理サーバ30と中継制御サーバ群70とを有する。なお、ここでは、図1に示した各部と同様の役割を果たす機能部については、同一符号を付すことにしてその詳細な説明を省略する。
【0156】
[実施例4に係る中継制御サーバ群の構成]
実施例4にかかる中継制御サーバ群70は、サーバロードバランサー41と中継ノード700aと中継ノード700bと代表ノード400aとリレーノード400bとリレーノード400cとを有する。
【0157】
(実施例4にかかる中継ノードの構成)
次に、実施例4にかかる中継ノードの構成を説明する。なお、中継ノード700aと中継ノード700bとは同様の構成を有するので、ここでは中継ノード700aについてのみ説明する。図28は、実施例4にかかる中継ノード700aの構成を示すブロック図である。実施例4にかかる中継ノード700aは、インターフェース部110と、記憶部720と、制御部730とを有する。なお、これらの機能以外にも、キーボードやマウスなどの入力部や、モニタやスピーカーなどの出力部を有していてもよい。なお、ここでは、図3及び図15に示した各部と同様の役割を果たす機能部については、同一符号を付すことにしてその詳細な説明を省略する。
【0158】
記憶部720は、位置情報キャッシュテーブル721と上位ノード記憶テーブル122と振り分け先サーバ記憶テーブル123と動作設定記憶テーブル724とを有する。
【0159】
位置情報キャッシュテーブル721には、携帯端末10の位置情報が格納される。図29は、位置情報キャッシュテーブル721として格納される情報の一例を示す図である。例えば、位置情報キャッシュテーブル721には、図29に示すように、「ユーザID」と「位置」と「参照時間」とを対応付けた情報が格納される。「ユーザID」は、携帯端末10を一意に識別する識別子を示す。「位置」は、携帯端末10の位置情報を示す。「参照時間」は、位置情報を参照した時刻を示す。具体的には、図29の場合、ユーザIDが「Alice」である携帯端末10は、「AreaA」に位置することを「13:10:11」に参照したことを示す。また、図29の場合、ユーザIDが「Bob」である携帯端末10は、「AreaB」に位置することを「13:31:23」に参照したことを示す。
【0160】
動作設定記憶テーブル724には、位置情報キャッシュテーブル721に格納された情報を廃棄するか否かを判定する所定の設定時間が格納される。図30は、例えば、動作設定記憶テーブル724には、図30に示すように、「パラメータ」と「値」とが対応付けられて格納される。「パラメータ」は、予め設定された動作を示す。また、「値」は、所定の時間を示す。具体的には、図30の場合、「1時間」以上配信要求がない携帯端末10に対しては、キャッシュ廃棄時間を超えたと判定し、携帯端末10の位置情報を位置情報キャッシュテーブル721から削除することを示す。
【0161】
制御部730は、制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有する。制御部730は、配信要求メッセージ受信部131と位置情報検索部732と代表ノード問い合わせ部133と配信要求メッセージ転送部134と更新通知要求部735と位置情報処理部336とを有する。また、制御部730は、所定の時間を経過した場合には、位置情報検索部732に通知する機能を持たせてもよい。例えば、制御部730は、ASICやFPGAなどの集積回路、又は、CPUやMPUなどの電子回路である。
【0162】
位置情報検索部732は、実施例1で説明した位置情報検索部132が有する機能に加えて以下の機能をさらに有する。位置情報検索部732は、予め設定された所定の時間を経過したことの通知を受けた場合に、位置情報キャッシュテーブル721を検索し、キャッシュ廃棄時間「1時間」を超えて配信要求メッセージを送信していない携帯端末10が存在するか否かを判定する。
【0163】
位置情報検索部732が図29及び図30を「14:20:34」に参照した場合を例に用いて説明する。位置情報検索部732は、ユーザID「Alice」が前回の参照時刻から1時間以上経過していると判定する。すなわち、位置情報検索部732は、ユーザID「Alice」がキャッシュ廃棄時間「1時間」を超えたと判定する。一方、位置情報検索部732は、ユーザID「Bob」が前回の参照時刻から1時間以上経過していないと判定する。すなわち、位置情報検索部732は、ユーザID「Bob」がキャッシュ廃棄時間を超えていないと判定する。
【0164】
また、位置情報検索部732は、キャッシュ廃棄時間を超えた携帯端末10のエントリを削除する。例えば、位置情報検索部732は、図29に示したユーザID「Alice」のエントリを位置情報キャッシュテーブル721から削除する。位置情報検索部732は、位置情報キャッシュテーブル721からキャッシュ廃棄時間を超えた携帯端末10のエントリ削除終了後に、更新通知要求部735へ通知する。
【0165】
更新通知要求部735は、実施例2で説明した更新通知要求部335が有する機能に加えて以下の機能をさらに有する。更新通知要求部735は、携帯端末10がキャッシュ廃棄時間を超えた場合、この携帯端末10の位置情報を通知する上位ノードに対して更新通知停止メッセージを送信する。
【0166】
例えば、更新通知要求部735は、位置情報検索部732から携帯端末10がキャッシュ廃棄時間を超えたと通知を受付けると、ユーザIDをキーとして上位ノード記憶テーブル122を検索し、上位ノードのアドレスを取得する。そして、更新通知要求部735は、取得したアドレスの上位ノードにユーザIDを格納した更新通知停止メッセージを送信する。
【0167】
具体的には、更新通知要求部735は、位置情報検索部732からユーザID「Alice」がキャッシュ廃棄時間を超えたと通知を受付けると、図5に示した上位ノード記憶テーブル122を検索する。そして、更新通知要求部735は、ユーザID「Alice」を格納した更新通知停止メッセージを検索したアドレス「10.11」へ送信する。
【0168】
[実施例4にかかる中継システムによる処理の処理手順]
(実施例4にかかる中継ノードによる配信要求メッセージ転送処理の処理手順)
次に、図31を用いて、実施例4にかかる中継ノード700aによる配信要求メッセージ転送処理の処理手順を説明する。図31は、実施例4にかかる中継ノード700aによる配信要求メッセージ転送処理の処理手順を説明するフローチャートである。
【0169】
配信要求メッセージ受信部131は、携帯端末10から配信要求メッセージを受信した場合(ステップS1001、Yes)、配信要求メッセージからユーザIDを抽出する(ステップS1002)。続いて、位置情報検索部732は、配信要求メッセージ受信部131が抽出したユーザIDをキーに位置情報キャッシュテーブル721を検索し、携帯端末10の位置情報が登録されているか否かを判定する(ステップS1003)。
【0170】
位置情報検索部732によって携帯端末10の位置情報が登録されていないと判定された場合(ステップS1003、No)、代表ノード問い合わせ部133は、代表ノード400aに携帯端末10の位置情報を問い合わせ、取得した位置情報を登録する(ステップS1004)。続いて、更新通知要求部735は、リレーノードに位置情報更新通知を登録する(ステップS1005)。そして、位置情報処理部336は、リレーノードから応答を受信し、受信した応答が「OK」であるか否かを判定する(ステップS1006)。
【0171】
位置情報処理部336は、受信した応答が「OK」ではないと判定した場合(ステップS1006、No)、「update」応答に格納されている位置情報を登録する(ステップS1007)。続いて、配信要求メッセージ転送部134は、配信サーバ20のアドレスを検索し、配信要求メッセージを転送する(ステップS1008)。
【0172】
位置情報処理部336によって受信した応答が「OK」であると判定された場合(ステップS1006、Yes)、配信要求メッセージ転送部134は、配信サーバ20のアドレスを検索し、配信要求メッセージを転送する(ステップS1008)。
【0173】
位置情報検索部732によって携帯端末10の位置情報が登録されていると判定された場合(ステップS1003、Yes)、配信要求メッセージ転送部134は、配信サーバ20のアドレスを検索し、配信要求メッセージを転送する(ステップS1008)。
【0174】
配信要求メッセージ転送部134が配信要求メッセージを送信した後に、位置情報検索部732は、位置情報キャッシュテーブル721の参照時刻を現在の時刻に更新し(ステップS1009)、処理を終了する。
【0175】
(実施例4にかかる中継ノードによる位置情報廃棄判定処理の処理手順)
次に、図32を用いて、実施例4にかかる中継ノード700aによる位置情報廃棄判定処理の処理手順を説明する。図32は、実施例4にかかる中継ノード700aによる位置情報廃棄判定処理の処理手順を説明するフローチャートである。
【0176】
位置情報廃棄判定時間に達した場合(ステップS1101、Yes)、位置情報検索部732は、キャッシュ廃棄時間を超えた携帯端末10が存在するか否かを判定する(ステップS1102)。位置情報検索部732は、キャッシュ廃棄時間を超えた携帯端末10が存在すると判定した場合(ステップS1102、Yes)、キャッシュ廃棄時間を超えた携帯端末10のエントリを削除する(ステップS1103)。
【0177】
続いて更新通知要求部735は、更新通知停止メッセージを送信して(ステップS1104)、処理を終了する。一方、位置情報検索部732は、キャッシュ廃棄時間を超えた携帯端末10が存在しないと判定した場合(ステップS1102、No)、処理を終了する。
【0178】
[実施例4の効果]
上述してきたように、本実施例4では、配信要求メッセージ転送部134が配信要求メッセージを送信した後に、位置情報検索部732は、位置情報キャッシュテーブル721の参照時刻を現在の時刻に更新する。また、本実施例4では、所定の時間ごとに、所定の時間以上配信要求メッセージを送信していない携帯端末10の位置情報を位置情報キャッシュテーブル721から検索する。そして、本実施例4では、所定の時間以上配信要求メッセージを送信していない携帯端末10の位置情報を位置情報キャッシュテーブル721から廃棄することでメモリを有効に使用することができる。
【実施例5】
【0179】
中継システムにおいて、リレーノードに障害が生じる場合がある。かかる場合、中継システムは、携帯端末からの配信要求を配信サーバへ転送することができない。そこで、中継システムにおいて、メインのリレーノードとサブのリレーノードとを設定し、メインのリレーノードで障害が生じた場合に、サブのリレーノードに切り替える例について説明する。
【0180】
[実施例5にかかる中継システムの構成]
次に、実施例5にかかる中継システム5の構成を説明する。図33は、実施例5にかかる中継システム5の構成を示す図である。実施例5にかかる中継システム5は、携帯端末10と配信サーバ20と位置管理サーバ30と中継制御サーバ群80とを有する。なお、ここでは、図1に示した各部と同様の役割を果たす機能部については、同一符号を付すことにしてその詳細な説明を省略する。
【0181】
[実施例5に係る中継制御サーバ群の構成]
実施例5にかかる中継制御サーバ群80は、サーバロードバランサー41と中継ノード900aと中継ノード900bと代表ノード1000aとリレーノード1000bとリレーノード1000cとを有する。
【0182】
(実施例5に係る中継ノードの構成)
まず、実施例5に係る中継ノードの構成を説明する。なお、中継ノード900aと中継ノード900bとは同様の構成を有するので、ここでは中継ノード900aについてのみ説明する。図34は、実施例5にかかる中継ノード900aの構成を示すブロック図である。実施例5にかかる中継ノード900aは、インターフェース部110と、記憶部920と、制御部930とを有する。なお、これらの機能以外にも、キーボードやマウスなどの入力部や、モニタやスピーカーなどの出力部を有していてもよい。なお、ここでは、図3及び図15に示した各部と同様の役割を果たす機能部については、同一符号を付すことにしてその詳細な説明を省略する。
【0183】
記憶部920は、例えば、半導体メモリ素子、又はハードディスクなどの記憶装置であり、位置情報キャッシュテーブル121と上位ノード記憶テーブル922と振り分け先サーバ記憶テーブル123とを有する。
【0184】
上位ノード記憶テーブル922には、中継ノード900aと接続された上位のノード情報が格納される。図35は、上位ノード記憶テーブル922として格納される情報の一例を示す図である。例えば、図35に示すように、上位ノード記憶テーブル922には、「ユーザID」と「ノード種別」と「系」と「アドレス」とを対応付けた情報が格納される。「ユーザID」は、携帯端末10を一意に識別する識別子である。「ノード種別」は、中継ノード900aと接続された上位ノードの種別が代表ノードであるか、リレーノードであるかを示す。「系」は、中継ノード900aと接続されたリレーノードがメインであるかサブであるかを示す。「アドレス」は中継ノード900aと接続された上位ノードのアドレスを示す。
【0185】
具体的には、図35の場合、ユーザIDが「Alice」及び「Tom」である携帯端末10の代表ノード1000aのアドレスが「10.10」であることを示す情報が格納される。また、ユーザIDが「Alice」及び「Tom」である携帯端末10のメインのリレーノード1000bのアドレスが「10.11」であることを示す情報が格納される。また、ユーザIDが「Alice」及び「Tom」である携帯端末10のサブのリレーノード1000cのアドレスが「10.40」であることを示す情報が格納される。
【0186】
制御部930は、制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有する。制御部930は、配信要求メッセージ受信部131と位置情報検索部132と代表ノード問い合わせ部133と配信要求メッセージ転送部134と更新通知要求部935と位置情報処理部336とを有する。例えば、制御部930は、ASICやFPGAなどの集積回路、又は、CPUやMPUなどの電子回路である。
【0187】
更新通知要求部935は、実施例2で説明した更新通知要求部335が有する機能に加えて以下の機能をさらに有する。更新通知要求部935は、配信要求メッセージ転送部134が配信要求メッセージを転送した後に、サブのリレーノード1000cに位置情報更新通知の登録を要求する。
【0188】
(実施例5に係る代表ノードの構成)
次に、実施例5に係る代表ノード1000aの構成を説明する。なお、代表ノード1000aとリレーノード1000b及び1000cとは同様の構成を有するので、ここでは代表ノード1000aについてのみ説明する。図36は、実施例5にかかる代表ノード1000aの構成を示すブロック図である。実施例5にかかる代表ノード1000aは、インターフェース部210と、記憶部220と、制御部1030とを有する。また、なお、これらの機能以外にも、キーボードやマウスなどの入力部や、モニタやスピーカーなどの出力部を有していてもよい。なお、ここでは、図8及び図16に示した各部と同様の役割を果たす機能部については、同一符号を付すことにしてその詳細な説明を省略する。
【0189】
制御部1030は、制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有する。制御部1030は、下位ノードメッセージ受信部631と位置情報検索部232と位置情報要求部1033と位置情報処理部434と下位ノードメッセージ送信部235とを有する。例えば、制御部1030は、ASICやFPGAなどの集積回路、又は、CPUやMPUなどの電子回路である。
【0190】
位置情報要求部1033は、実施例2で説明した位置情報要求部433が有する機能に加えて以下の機能をさらに有する。位置情報要求部1033は、携帯端末10の位置情報が更新された場合に上位ノードから通知を受付ける要求をサブのリレーノードに送信する。例えば、位置情報要求部1033は、ユーザIDをキーにして上位ノード記憶テーブル223を検索し、サブのリレーノードのアドレスを取得する。そして、位置情報要求部1033は、アドレスを取得したサブのリレーノードへユーザIDと位置情報とを格納した更新通知要求を送信する。
【0191】
[実施例5に係る中継システムによる処理の処理手順]
(実施例5に係る中継ノードによる配信要求メッセージ転送処理の処理手順)
次に、図37を用いて、実施例5に係る中継ノード900aによる配信要求メッセージ転送処理の処理手順を説明する。図37は、実施例5に係る中継ノード900aによる配信要求メッセージ転送処理の処理手順を説明するフローチャートである。
【0192】
配信要求メッセージ受信部131は、携帯端末10から配信要求メッセージを受信した場合(ステップS1201、Yes)、配信要求メッセージからユーザIDを抽出する(ステップS1202)。続いて、位置情報検索部132は、配信要求メッセージ受信部131が抽出したユーザIDをキーに位置情報キャッシュテーブル121を検索し、携帯端末10の位置情報が登録されているか否かを判定する(ステップS1203)。
【0193】
位置情報検索部132によって携帯端末10の位置情報が登録されていないと判定された場合(ステップS1203、No)、代表ノード問い合わせ部133は、代表ノードに携帯端末10の位置情報を問い合わせ、取得した位置情報を登録する(ステップS1204)。続いて、更新通知要求部935は、メインのリレーノードに位置情報更新通知を登録する(ステップS1205)。そして、位置情報処理部336は、メインのリレーノードから応答を受信し、受信した応答が「OK」であるか否かを判定する(ステップS1206)。
【0194】
位置情報処理部336は、受信した応答が「OK」ではないと判定した場合(ステップS1206、No)、「update」応答に格納されている位置情報を登録する(ステップS1207)。続いて、配信要求メッセージ転送部134は、配信サーバ20のアドレスを検索し、配信要求メッセージを転送する(ステップS1208)。
【0195】
位置情報処理部336によって受信した応答が「OK」であると判定された場合(ステップS1206、Yes)、配信要求メッセージ転送部134は、配信サーバ20のアドレスを検索し、配信要求メッセージを転送する(ステップS1208)。
【0196】
位置情報検索部132によって携帯端末10の位置情報が登録されていると判定された場合(ステップS1203、Yes)、配信要求メッセージ転送部134は、配信サーバ20のアドレスを検索し、配信要求メッセージを転送する(ステップS1208)。
【0197】
更新通知要求部935は、サブのリレーノードに位置情報更新通知を登録し(ステップS1209)、処理を終了する。
【0198】
[実施例5の効果]
上述してきたように、本実施例5では、リレーノード1000b及び1000cを冗長化することで、リレーノード1000b又は1000cのいずれかに障害が生じても、中継ノード900a及び900bは、短時間で位置情報を取得することができる。
【実施例6】
【0199】
中継システムにおいて、配信サーバは、例えば、特定サービスの契約者である携帯端末に、アプリケーションを配信する。しかし、携帯端末の利用者が契約を解除した場合、中継システムは、携帯端末へアプリケーションを配信しないように、携帯端末の位置情報を削除した方がよい。そこで、中継装置において、管理者からの指示により、位置管理サーバから代表ノードへ携帯端末の位置情報を位置情報キャッシュテーブルから削除する通知である「ユーザ削除メッセージ」を送信する例について説明する。
【0200】
[実施例6にかかる中継システムの構成]
次に、実施例6にかかる中継システム6の構成を説明する。図38は、実施例6にかかる中継システム6の構成を示す図である。実施例6にかかる中継システム6は、携帯端末10と配信サーバ20と位置管理サーバ30と中継制御サーバ群90とを有する。なお、ここでは、図1に示した各部と同様の役割を果たす機能部については、同一符号を付すことにしてその詳細な説明を省略する。
【0201】
[実施例6に係る中継制御サーバ群の構成]
実施例6にかかる中継制御サーバ群90は、サーバロードバランサー41と中継ノード1100aと中継ノード1100bと代表ノード1200aとリレーノード1200bとリレーノード1200cとを有する。
【0202】
(実施例6に係る中継ノードの構成)
まず、実施例6に係る中継ノードの構成を説明する。なお、中継ノード1100aと中継ノード1100bとは同様の構成を有するので、ここでは中継ノード1100aについてのみ説明する。図39は、実施例6にかかる中継ノード1100aの構成を示すブロック図である。実施例6にかかる中継ノード1100aは、インターフェース部110と、記憶部120と、制御部1130とを有する。なお、これらの機能以外にも、キーボードやマウスなどの入力部や、モニタやスピーカーなどの出力部を有していてもよい。なお、ここでは、図3及び図15に示した各部と同様の役割を果たす機能部については、同一符号を付すことにしてその詳細な説明を省略する。
【0203】
制御部1130は、制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有する。制御部1130は、配信要求メッセージ受信部131と位置情報検索部132と代表ノード問い合わせ部133と配信要求メッセージ転送部134と更新通知要求部335と位置情報処理部1136とを有する。例えば、制御部1130は、ASICやFPGAなどの集積回路、又は、CPUやMPUなどの電子回路である。
【0204】
位置情報処理部1136は、経路制御ノードであるリレーノード1200bからユーザ削除メッセージを受信した場合、ユーザ削除メッセージからユーザIDを抽出する。そして、位置情報処理部1136は、位置情報キャッシュテーブル121、上位ノード記憶テーブル122からユーザのエントリを削除し、処理を終了する。
【0205】
(実施例6に係る代表ノードの構成)
次に、実施例6に係る代表ノード1200aの構成を説明する。なお、代表ノード1200aとリレーノード1200b及び1200cとは同様の構成を有するので、ここでは代表ノード1200aについてのみ説明する。図40は、実施例6にかかる代表ノード1200aの構成を示すブロック図である。実施例6にかかる代表ノード1200aは、インターフェース部210と、記憶部220と、制御部1230とを有する。なお、これらの機能以外にも、キーボードやマウスなどの入力部や、モニタやスピーカーなどの出力部を有していてもよい。なお、ここでは、図8に示した各部と同様の役割を果たす機能部については、同一符号を付すことにしてその詳細な説明を省略する。
【0206】
制御部1230は、制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有する。制御部1230は、下位ノードメッセージ受信部631と位置情報検索部232と位置情報要求部1233と位置情報処理部1234と下位ノードメッセージ送信部1235とを有する。例えば、制御部1230は、ASICやFPGAなどの集積回路、又は、CPUやMPUなどの電子回路である。
【0207】
位置情報要求部1233は、実施例2で説明した位置情報要求部433が有する機能に加えて以下の機能をさらに有する。位置情報要求部1233は、位置情報処理部1234が位置管理サーバ30からユーザ削除メッセージを受信した場合、更新通知停止メッセージを位置管理サーバ30に送信する。
【0208】
位置情報処理部1234は、実施例2で説明した位置情報処理部434が有する機能に加えて以下の機能をさらに有する。位置情報処理部1234は、位置管理サーバ30からユーザ削除メッセージを受信した場合、ユーザ削除メッセージからユーザIDを抽出する。例えば、位置情報処理部1234は、ユーザIDが一致するエントリが存在すると判定した場合には、下位ノードメッセージ送信部1235に通知する。また、位置情報処理部1234は、位置情報キャッシュテーブル222、問い合わせ元記憶テーブル221、上位ノード記憶テーブル223から該当する携帯端末のエントリを削除する。また、位置情報処理部1234は、位置管理サーバ30からユーザ削除メッセージを受信した場合、位置情報要求部1233に通知する。
【0209】
下位ノードメッセージ送信部1235は、実施例1で説明した下位ノードメッセージ送信部235が有する機能に加えて以下の機能をさらに有する。下位ノードメッセージ送信部1235は、位置情報処理部1234から通知を受付けた場合、問い合わせ元ノードにユーザ削除メッセージを送信する。
【0210】
[実施例6に係る代表ノードによる携帯端末情報削除処理の処理手順]
次に、図41を用いて、実施例6に係る代表ノード1200aによる携帯端末情報削除処理の処理手順を説明する。図41は、実施例6に係る代表ノード1200aによる携帯端末情報削除処理の処理手順を説明するフローチャートである。
【0211】
位置情報処理部1234は、上位ノードからユーザ削除メッセージを受信した場合(ステップS1301、Yes)、ユーザ削除メッセージからユーザIDを抽出する(ステップS1302)。続いて、位置情報要求部1233は、上位ノードが位置管理サーバ30であった場合、更新通知停止メッセージを送信する(ステップS1303)。
【0212】
位置情報処理部1234は、問い合わせ元記憶テーブル221にユーザIDが一致するエントリが登録されているか否かを判定する(ステップS1304)。この結果、位置情報処理部1234によって問い合わせ元記憶テーブル221にユーザIDが一致するエントリが登録されていると判定された場合(ステップS1304、Yes)、下位ノードメッセージ送信部1235は、ステップS1305の処理を実行する。すなわち、下位ノードメッセージ送信部1235は、問い合わせ元ノードにユーザ削除メッセージを送信する(ステップS1305)。続いて、位置情報処理部1234は、位置情報キャッシュテーブル222、問い合わせ元記憶テーブル221、上位ノード記憶テーブル223からユーザのエントリを削除し(ステップS1306)、処理を終了する。
【0213】
一方、位置情報処理部1234は、問い合わせ元記憶テーブル221にユーザIDが一致するエントリが登録されていないと判定した場合(ステップS1304、No)、ステップS1306の処理を実行する。すなわち、位置情報処理部1234は、位置情報キャッシュテーブル222、問い合わせ元記憶テーブル221、上位ノード記憶テーブル223からユーザのエントリを削除し(ステップS1306)、処理を終了する。
【0214】
[実施例6に係る中継ノードによる携帯端末情報削除処理の処理手順]
次に、図42を用いて、実施例6に係る中継ノード1100aによる携帯端末情報削除処理の処理手順を説明する。図42は、実施例6に係る中継ノード1100aによる携帯端末情報削除処理の処理手順を説明するフローチャートである。
【0215】
位置情報処理部1136は、経路制御ノードからユーザ削除メッセージを受信した場合(ステップS1401、Yes)、ユーザ削除メッセージからユーザIDを抽出する(ステップS1402)。そして、位置情報処理部1136は、位置情報キャッシュテーブル121、上位ノード記憶テーブル122からユーザのエントリを削除し(ステップS1403)、処理を終了する。
【0216】
[実施例6の効果]
上述してきたように、本実施例6では、サービス提供者からの通知を受付けた位置管理サーバ30が、サービスを解約した携帯端末の位置情報を速やかに消去するように通知するので、位置情報キャッシュテーブルを有効に使用することができる。
【実施例7】
【0217】
ところで、本願の開示する中継システムは、上述した実施例以外にも、種々の異なる形態にて実施されてよい。そこで、実施例7では、本願の開示する中継システムの他の実施例について説明する。
【0218】
(システム構成等)
本実施例において説明した各処理のうち自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文章中や図面中で示した処理手順、制御手順、具体的名称については、特記する場合を除いて任意に変更することができる。また、図示した記憶部が格納する情報は一例に過ぎず、必ずしも図示のごとく情報が格納される必要はない。
【0219】
また、図示した各構成部は、機能概念的なものであり、必ずしも物理的に図示のごとく構成されていることを要しない。例えば、中継ノード300aにおいては、更新通知要求部335と位置情報処理部336とは統合されてもよい。また、実施例6では、位置管理サーバ30が代表ノード1200aへ「ユーザ削除メッセージ」を送信するものとして説明したがこれに限定されるものではない。例えば、監視システム39が代表ノード1200aへ「ユーザ削除メッセージ」を送信してもよい。
【0220】
さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0221】
(プログラム)
ところで、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。
【0222】
図43は、中継サーバ制御プログラムを実行するコンピュータシステム2000を示す図である。図43に示すように、コンピュータシステム2000は、RAM2010と、CPU2020とROM2030と、入力装置2040と出力装置2050と媒体読取装置2060とネットワークインターフェース2070とを有する。ここで、ROM2030には、上記実施例と同様の機能を発揮するプログラムを予め記憶されている。つまり、図43に示すように、ROM2030には、配信要求受信プログラム2031と代表ノード情報取得プログラム2032と位置情報取得プログラム2033と配信要求転送プログラム2034とが予め記憶されている。
【0223】
そして、CPU2020は、配信要求受信プログラム2031と代表ノード情報取得プログラム2032と位置情報取得プログラム2033と配信要求転送プログラム2034とを読み出してRAM2010に展開する。そして、CPU2020は、これらのプログラム2031〜2034を読み出して実行することで、図43に示すように、各プロセスとなる。つまり、プログラム2031〜2034は、配信要求受信プロセス2021、代表ノード情報取得プロセス2022、位置情報取得プロセス2023、配信要求転送プロセス2024となる。なお、配信要求受信プロセス2021は、図15に示した配信要求メッセージ受信部131に対応し、代表ノード情報取得プロセス2022は、位置情報検索部132に対応する。同様に、位置情報取得プロセス2023は、代表ノード問い合わせ部133に対応し、配信要求転送プロセス2024は、配信要求メッセージ転送部134に対応する。
【0224】
図44は、リレーノード制御プログラムを実行するコンピュータシステム3000を示す図である。図44に示すように、コンピュータシステム3000は、RAM3010と、CPU3020とROM3030と、入力装置3040と出力装置3050と媒体読取装置3060とネットワークインターフェース3070とを有する。ここで、ROM3030には、上記実施例と同様の機能を発揮するプログラムを予め記憶されている。つまり、図44に示すように、ROM3030には、第一取得プログラム3031と第二取得プログラム3032と情報比較プログラム3033と更新指示プログラム3034とが予め記憶されている。
【0225】
そして、CPU3020は、第一取得プログラム3031と第二取得プログラム3032と情報比較プログラム3033と更新指示プログラム3034とを読み出してRAM3010に展開する。そして、CPU3020は、これらのプログラム3031〜3034を読み出して実行することで、図44に示すように、各プロセスとなる。つまり、プログラム3031〜3034は、第一取得プロセス3021、第二取得プロセス3022、情報比較プロセス3023、更新指示プロセス3024となる。なお、第一取得プロセス3021と第二取得プロセス3022と情報比較プロセス3023とは、図16に示した位置情報処理部434に対応し、更新指示プロセス3024は、下位ノードメッセージ送信部235に対応する。
【0226】
ところで、上記したプログラム2031〜2034は、必ずしもROM2030に記憶させておく必要はない。また、上記したプログラム3031〜3034も、必ずしもROM3030に記憶させておく必要はない。例えば、コンピュータシステム2000又は3000に挿入されるフレキシブルディスク(FD)、CD−ROM、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に記憶させておくようにしてもよい。また、コンピュータシステム2000の内外に備えられるハードディスクドライブ(HDD)などの「固定用の物理媒体」に記憶させておいてもよい。さらに、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などを介してコンピュータシステム2000又は3000に接続される「他のコンピュータシステム」に記憶させておいてもよい。そして、コンピュータシステム2000又は3000がこれらからプログラムを読み出して実行するようにしてもよい。
【0227】
すなわち、このプログラムは、上記した「可搬用の物理媒体」、「固定用の物理媒体」、「通信媒体」などの記録媒体に、コンピュータ読み取り可能に記憶されるものである。そして、コンピュータシステム2000又は3000は、このような記録媒体からプログラムを読み出して実行することで上記した実施例と同様の機能を実現する。なお、この他の実施例でいうプログラムは、コンピュータシステム2000又は3000によって実行されることに限定されるものではない。例えば、他のコンピュータシステムまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【0228】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0229】
(付記1)移動端末にアプリケーションを提供する配信サーバ装置への配信要求を前記移動端末から受信し、
前記配信要求が受信された場合に、前記移動端末の位置情報を保持する位置管理サーバに接続される代表装置から前記移動端末の位置情報を取得し、
前記代表装置へ前記移動端末の位置情報を問い合わせる通信を中継するリレー装置に、前記代表装置から取得された前記移動端末の位置情報を送信し、
前記移動端末の位置情報を前記リレー装置から受信した場合には、前記代表装置から取得した位置情報を前記リレー装置から受信した位置情報で更新し、更新した位置情報に基づいて特定される配信サーバ装置に、前記受信された配信要求を転送する、
処理を中継サーバ装置に実行させることを特徴とする制御プログラム。
【0230】
(付記2)過去に取得した移動端末の位置情報を記憶部に格納し、
前記配信要求が受信された場合に、前記配信要求を送信した移動端末の位置情報が前記記憶部に記憶されているか否かを判定することを情報処理装置に実行させ、
前記移動端末の位置情報を取得する処理は、前記配信要求を送信した移動端末の位置情報が前記記憶部に記憶されていないと判定された場合に、前記代表装置に問い合わせる処理を中継サーバ装置に実行させることを特徴とする付記1に記載の制御プログラム。
【0231】
(付記3)前記記憶部に位置情報が格納される移動端末から、前記配信要求を所定期間受信しなかった場合には、当該移動端末の位置情報を前記記憶部から削除する処理を中継サーバ装置に実行させることを特徴とする付記2に記載の制御プログラム。
【0232】
(付記4)前記リレー装置が他のリレー装置に変更された場合には、変更前のリレー装置に対して前記移動端末の位置情報の配信停止を指示し、変更後のリレー装置に対して前記移動端末の位置情報の配信を要求する処理を中継サーバ装置に実行させることを特徴とする付記1〜3のいずれか1つに記載の制御プログラム。
【0233】
(付記5)移動端末の位置情報を保持する位置管理サーバに接続される代表装置から前記移動端末の位置情報を受信し、
アプリケーションを提供する配信サーバ装置への配信要求を前記移動端末から受信する中継サーバ装置から、前記移動端末の位置情報を受信し、
前記代表装置から受信した位置情報と前記中継サーバ装置から受信した位置情報とを比較し、
比較した結果、前記代表装置から受信した位置情報の方が新しい情報である場合に、前記代表装置から受信した位置情報を前記中継サーバ装置に送信し、前記移動端末の位置情報の更新を指示する
処理をリレー装置に実行させることを特徴とする制御プログラム。
【0234】
(付記6)移動端末にアプリケーションを提供する配信サーバ装置への配信要求を前記移動端末から受信する配信要求受信部と、
前記配信要求受信部によって前記配信要求が受信された場合に、前記移動端末の位置情報を保持する位置管理サーバに接続される代表装置から前記移動端末の位置情報を取得する位置情報取得部と、
前記代表装置へ前記移動端末の位置情報を問い合わせる通信を中継するリレー装置に、前記位置情報取得部によって代表装置から取得された前記移動端末の位置情報を送信する位置情報送信部と、
前記位置情報送信部によって、前記移動端末の位置情報を前記リレー装置から受信した場合には、前記代表装置から取得した位置情報を前記リレー装置から受信した位置情報で更新し、更新した位置情報に基づいて特定される配信サーバ装置に、前記受信された配信要求を転送する配信要求転送部と
を有することを特徴とする中継サーバ装置。
【0235】
(付記7)過去に取得した移動端末の位置情報を記憶する記憶部と、
前記配信要求受信部によって前記配信要求が受信された場合に、前記配信要求を送信した移動端末の位置情報が前記記憶部に記憶されているか否かを判定する判定部とを有し、
前記位置情報取得部は、前記判定部によって前記配信要求を送信した移動端末の位置情報が前記記憶部に記憶されていないと判定された場合に、前記代表装置に問い合わせることを特徴とする付記6に記載の中継サーバ装置。
【0236】
(付記8)前記判定部は、前記記憶部に位置情報が記憶される移動端末から、前記配信要求を所定期間受信しなかった場合には、当該移動端末の位置情報を前記記憶部から削除することを特徴とする付記7に記載の中継サーバ装置。
【0237】
(付記9)前記位置情報送信部は、自装置と接続されるリレー装置が他のリレー装置に変更された場合には、変更前のリレー装置に対して前記移動端末の位置情報の配信停止を指示し、
前記配信要求転送部は、変更後のリレー装置に対して前記移動端末の位置情報の配信を要求することを特徴とする付記6〜8のいずれか1つに記載の中継サーバ装置。
【0238】
(付記10)移動端末の位置情報を保持する位置管理サーバに接続される代表装置から送信された、前記移動端末の位置情報を受信する第1受信部と、
アプリケーションを提供する配信サーバ装置への配信要求を前記移動端末から受信する中継サーバ装置から、前記移動端末の位置情報を受信する第2受信部と、
前記第1受信部によって受信した位置情報と前記第2受信部によって受信した位置情報とを比較する情報比較部と、
前記情報比較部によって前記第1受信部によって受信した位置情報の方が新しい情報と判定された場合に、前記第1受信部によって受信した位置情報を前記中継サーバ装置に送信し、前記移動端末の位置情報の更新を指示する更新指示部と
を有することを特徴とするリレー装置。
【0239】
(付記11)移動端末の位置情報を保持する位置管理サーバに接続される代表装置と、前記移動端末と接続される中継サーバ装置と、前記中継サーバ装置と前記代表装置との間に位置するリレー装置とを有するシステムに適した中継制御方法であって、
前記中継サーバ装置が、
前記移動端末にアプリケーションを提供する配信サーバ装置への配信要求を前記移動端末から受信するステップと、
前記配信要求が受信された場合に、前記移動端末の位置情報を保持する位置管理サーバに接続される代表装置から前記移動端末の位置情報を取得するステップと、
前記リレー装置に、取得された前記移動端末の位置情報を送信するステップと、
前記移動端末の位置情報を前記リレー装置から受信した場合には、前記代表装置から取得した位置情報を前記リレー装置から受信した位置情報で更新し、更新した位置情報に基づいて特定される配信サーバ装置に、前記受信された配信要求を転送するステップとを含み、
前記リレー装置が、
前記代表装置から前記移動端末の位置情報を受信するステップと、
前記中継サーバ装置から、前記移動端末の位置情報を受信するステップと、
前記代表装置から受信した位置情報と前記中継サーバ装置から受信した位置情報とを比較するステップと、
比較した結果、前記代表装置から受信した位置情報の方が新しい情報である場合に、前記代表装置から受信した位置情報を前記中継サーバ装置に送信し、前記移動端末の位置情報の更新を指示するステップと
を含んだことを特徴とする中継制御方法。
【符号の説明】
【0240】
1〜6 中継システム
10 携帯端末
20 配信サーバ
30 位置管理サーバ
31 インターフェース部
32 記憶部
32a 位置情報キャッシュテーブル
32b 問い合わせ元記憶テーブル
33 制御部
33a 受信部
33b 位置情報更新部
33c 位置情報検索部
33d 送信部
39 監視システム
40、50、60、70、80、90 中継制御サーバ群
41 サーバロードバランサー
100a、100b 中継ノード
110 インターフェース部
120 記憶部
121 位置情報キャッシュテーブル
122 上位ノード記憶テーブル
123 振り分け先サーバ記憶テーブル
130 制御部
131 配信要求メッセージ受信部
132 位置情報検索部
133 代表ノード問い合わせ部
134 配信要求メッセージ転送部
200a 代表ノード
200b、200c リレーノード
210 インターフェース部
220 記憶部
221 問い合わせ元記憶テーブル
222 位置情報キャッシュテーブル
223 上位ノード記憶テーブル
230 制御部
231 下位ノードメッセージ受信部
232 位置情報検索部
233 位置情報要求部
234 位置情報処理部
235 下位ノードメッセージ送信部
300a、300b 中継ノード
330 制御部
335 更新通知要求部
336 位置情報処理部
400a 代表ノード
400b、400c リレーノード
430 制御部
433 位置情報要求部
434 位置情報処理部
500a、500b 中継ノード
530 制御部
531 配信要求メッセージ受信部
535 更新通知要求部
600a 代表ノード
600b、600c リレーノード
630 制御部
631 下位ノードメッセージ受信部
633 位置情報要求部
700a、700b 中継ノード
720 記憶部
721 位置情報キャッシュテーブル
724 動作設定記憶テーブル
730 制御部
732 位置情報検索部
735 更新通知要求部
900a、900b 中継ノード
920 記憶部
922 上位ノード記憶テーブル
930 制御部
935 更新通知要求部
1000a 代表ノード
1000b、1000c リレーノード
1030 制御部
1033 位置情報要求部
1100a、1100b 中継ノード
1130 制御部
1136 位置情報処理部
1200a 代表ノード
1200b、1200c リレーノード
1230 制御部
1233 位置情報要求部
1234 位置情報処理部
1235 下位ノードメッセージ送信部
2000 コンピュータシステム
2010 RAM
2020 CPU
2021 配信要求プロセス
2022 代表ノード情報取得プロセス
2023 位置情報取得プロセス
2024 配信要求転送プロセス
2030 ROM
2031 配信要求プログラム
2032 代表ノード情報取得プログラム
2033 位置情報取得プログラム
2034 配信要求転送プログラム
2040 入力装置
2050 出力装置
2060 媒体読取装置
2070 ネットワークインターフェース
3000 コンピュータシステム
3010 RAM
3020 CPU
3021 第一取得プロセス
3022 第二取得プロセス
3023 情報比較プロセス
3024 更新指示プロセス
3030 ROM
3031 第一取得プログラム
3032 第二取得プログラム
3033 情報比較プログラム
3034 更新指示プログラム
3040 入力装置
3050 出力装置
3060 媒体読取装置
3070 ネットワークインターフェース

【特許請求の範囲】
【請求項1】
移動端末にアプリケーションを提供する配信サーバ装置への配信要求を前記移動端末から受信し、
前記配信要求が受信された場合に、前記移動端末の位置情報を保持する位置管理サーバに接続される代表装置から前記移動端末の位置情報を取得し、
前記代表装置へ前記移動端末の位置情報を問い合わせる通信を中継するリレー装置に、前記代表装置から取得された前記移動端末の位置情報を送信し、
前記移動端末の位置情報を前記リレー装置から受信した場合には、前記代表装置から取得した位置情報を前記リレー装置から受信した位置情報で更新し、更新した位置情報に基づいて特定される配信サーバ装置に、前記受信された配信要求を転送する、
処理を中継サーバ装置に実行させることを特徴とする制御プログラム。
【請求項2】
過去に取得した移動端末の位置情報を記憶部に格納し、
前記配信要求が受信された場合に、前記配信要求を送信した移動端末の位置情報が前記記憶部に記憶されているか否かを判定することを情報処理装置に実行させ、
前記移動端末の位置情報を取得する処理は、前記配信要求を送信した移動端末の位置情報が前記記憶部に記憶されていないと判定された場合に、前記代表装置に問い合わせる処理を中継サーバ装置に実行させることを特徴とする請求項1に記載の制御プログラム。
【請求項3】
移動端末の位置情報を保持する位置管理サーバに接続される代表装置から前記移動端末の位置情報を受信し、
アプリケーションを提供する配信サーバ装置への配信要求を前記移動端末から受信する中継サーバ装置から、前記移動端末の位置情報を受信し、
前記代表装置から受信した位置情報と前記中継サーバ装置から受信した位置情報とを比較し、
比較した結果、前記代表装置から受信した位置情報の方が新しい情報である場合に、前記代表装置から受信した位置情報を前記中継サーバ装置に送信し、前記移動端末の位置情報の更新を指示する
処理をリレー装置に実行させることを特徴とする制御プログラム。
【請求項4】
移動端末にアプリケーションを提供する配信サーバ装置への配信要求を前記移動端末から受信する配信要求受信部と、
前記配信要求受信部によって前記配信要求が受信された場合に、前記移動端末の位置情報を保持する位置管理サーバに接続される代表装置から前記移動端末の位置情報を取得する位置情報取得部と、
前記代表装置へ前記移動端末の位置情報を問い合わせる通信を中継するリレー装置に、前記位置情報取得部によって代表装置から取得された前記移動端末の位置情報を送信する位置情報送信部と、
前記位置情報送信部によって、前記移動端末の位置情報を前記リレー装置から受信した場合には、前記代表装置から取得した位置情報を前記リレー装置から受信した位置情報で更新し、更新した位置情報に基づいて特定される配信サーバ装置に、前記受信された配信要求を転送する配信要求転送部と
を有することを特徴とする中継サーバ装置。
【請求項5】
移動端末の位置情報を保持する位置管理サーバに接続される代表装置と、前記移動端末と接続される中継サーバ装置と、前記中継サーバ装置と前記代表装置との間に位置するリレー装置とを有するシステムに適した中継制御方法であって、
前記中継サーバ装置が、
前記移動端末にアプリケーションを提供する配信サーバ装置への配信要求を前記移動端末から受信するステップと、
前記配信要求が受信された場合に、前記移動端末の位置情報を保持する位置管理サーバに接続される代表装置から前記移動端末の位置情報を取得するステップと、
前記リレー装置に、取得された前記移動端末の位置情報を送信するステップと、
前記移動端末の位置情報を前記リレー装置から受信した場合には、前記代表装置から取得した位置情報を前記リレー装置から受信した位置情報で更新し、更新した位置情報に基づいて特定される配信サーバ装置に、前記受信された配信要求を転送するステップとを含み、
前記リレー装置が、
前記代表装置から前記移動端末の位置情報を受信するステップと、
前記中継サーバ装置から、前記移動端末の位置情報を受信するステップと、
前記代表装置から受信した位置情報と前記中継サーバ装置から受信した位置情報とを比較するステップと、
比較した結果、前記代表装置から受信した位置情報の方が新しい情報である場合に、前記代表装置から受信した位置情報を前記中継サーバ装置に送信し、前記移動端末の位置情報の更新を指示するステップと
を含んだことを特徴とする中継制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate


【公開番号】特開2012−39318(P2012−39318A)
【公開日】平成24年2月23日(2012.2.23)
【国際特許分類】
【出願番号】特願2010−176668(P2010−176668)
【出願日】平成22年8月5日(2010.8.5)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】