説明

中継装置、無線通信機器、制御方法および通信システム

【課題】一時的な通信不能によってサーバとクライアントの間の接続が切断されることを抑止すること。
【解決手段】中継装置200は、無線通信により通信を行う第1の電子機器と、前記第1の電子機器へリクエストを送信する第2の電子機器と間の通信を中継する。中継装置200は、第2の電子機器が第1の電子機器との通信が可能であることを確認するために送信する接続確認メッセージを受信する通信部201と、通信部201によって接続確認メッセージが受信された場合に、第1の電子機器に代わって、第1の電子機器との通信が可能である旨の応答を第2の電子機器へ送信する制御部204とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、中継装置、無線通信機器、制御方法および通信システムに関する。
【背景技術】
【0002】
無線通信が行われる無線通信区間を含む通信システムでは、電波状況の変化等により、無線通信区間で一時的に通信が不能になる場合がある。一時的に通信が不能になった場合、通信システムに含まれるサーバとクライアントの間の接続が切断され、それまでにやりとりされた情報が無駄になるおそれがある。
【0003】
特許文献1では、サーバとクライアントの間に複数の通信経路を予め用意しておき、利用中の通信経路での通信が不能になった場合に、他の通信経路を利用することでサーバとクライアントの間の接続を維持する技術が提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2000−122947号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の従来技術のように、通信不能時に他の通信経路を利用することとしても、通信不能の検出や通信経路の切り替えに時間がかかった場合には、タイムアウトが発生し、サーバとクライアント間の接続が切断されるおそれがある。
【0006】
本発明は、上記に鑑みてなされたものであって、一時的な通信不能によってサーバとクライアントの間の接続が切断されることを抑止できる中継装置、無線通信機器、制御方法および通信システムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決し、目的を達成するために、本発明は、第1の電子機器と、前記第1の電子機器へリクエストを送信する第2の電子機器と間の通信を中継する中継装置であって、前記第2の電子機器が前記第1の電子機器との通信が可能であることを確認するために送信する接続確認メッセージを受信する受信手段と、前記受信手段によって前記接続確認メッセージが受信された場合に、前記第1の電子機器に代わって、前記第1の電子機器との通信が可能である旨の応答を前記第2の電子機器へ送信する中継制御手段とを備えることを特徴とする。
【0008】
ここで、前記第1の電子機器との通信の可否を判定する通信状態確認手段をさらに備え、前記中継制御手段は、前記通信状態確認手段によって前記第1の電子機器との通信が不能であると判定されている間は、前記第2の電子機器から前記第1の電子機器へのリクエストを記憶部に記憶させ、前記通信状態確認手段によって前記第1の電子機器との通信が可能になったと判定された後に、前記記憶部に記憶されているリクエストを前記第1の電子機器へ送信することが好ましい。
【0009】
また、前記第2の電子機器から送信されるリクエストは、当該第2の電子機器において行われるユーザ操作であってもよい。
【0010】
また、前記中継制御手段は、前記通信状態確認手段によって前記第1の電子機器との通信が不能であると判定されている間に、前記第2の電子機器から前記第1の電子機器へのリクエストが受信された場合に、前記第2の電子機器に対して、リクエストの送信を休止することを求めるメッセージを送信することが好ましい。
【0011】
また、前記中継制御手段は、前記通信状態確認手段によって前記第1の電子機器との通信が可能になったと判定された後に、前記第2の電子機器に対して、リクエストの送信を再開することを求めるメッセージを送信することが好ましい。
【0012】
また、前記中継制御手段は、前記通信状態確認手段によって前記第1の電子機器との通信が不能であると判定された場合に、前記第2の電子機器に対して、リクエストの送信を休止することを求めるメッセージを送信することとしてもよい。
【0013】
また、上述した課題を解決し、目的を達成するために、本発明は、第1の電子機器と、前記第1の電子機器へリクエストを送信する第2の電子機器と、前記第1の電子機器と前記第2の電子機器と間の通信を中継し、前記第2の電子機器が前記第1の電子機器との通信が可能であることを確認するために送信する接続確認メッセージが受信された場合に、前記第1の電子機器に代わって、前記第1の電子機器との通信が可能である旨の応答を前記第2の電子機器へ送信する中継装置とを含む通信システムにおいて、前記第1の電子機器として用いられる無線通信機器であることを特徴とする。
【0014】
また、上述した課題を解決し、目的を達成するために、本発明は、第1の電子機器と、前記第1の電子機器へリクエストを送信する第2の電子機器と間の通信を中継する中継装置における制御方法であって、前記中継装置が、前記第2の電子機器が前記第1の電子機器との通信が可能であることを確認するために送信する接続確認メッセージを受信するステップと、前記接続確認メッセージが受信された場合に、前記中継装置が、前記第1の電子機器に代わって、前記第1の電子機器との通信が可能である旨の応答を前記第2の電子機器へ送信するステップとを含むことを特徴とする。
【0015】
また、上述した課題を解決し、目的を達成するために、本発明は、第1の電子機器と、前記第1の電子機器へリクエストを送信する第2の電子機器と、前記第1の電子機器と前記第2の電子機器との間の通信を中継する中継装置とを有する通信システムであって、前記中継装置は、前記第2の電子機器が前記第1の電子機器との通信が可能であることを確認するために送信する接続確認メッセージを受信する受信手段と、前記受信手段によって前記接続確認メッセージが受信された場合に、前記第1の電子機器に代わって、前記第1の電子機器との通信が可能である旨の応答を前記第2の電子機器へ送信する中継制御手段とを備えることを特徴とする。
【発明の効果】
【0016】
本発明に係る中継装置、無線通信機器、制御方法および通信システムは、一時的な通信不能によってサーバとクライアントの間の接続が切断されることを抑止できるという効果を奏する。
【図面の簡単な説明】
【0017】
【図1】図1は、通信システムの概要構成を示す図である。
【図2】図2は、接続確認メッセージの受信時の制御の一例を示す図である。
【図3】図3は、通信が一時的に不能になった場合の制御の一例を示す図である。
【図4】図4は、携帯電話端末の機能的な構成を示すブロック図である。
【図5】図5は、中継装置の機能的な構成を示すブロック図である。
【図6】図6は、サーバ管理データの一例を示す図である。
【図7】図7は、通信状態確認部の処理手順を示すフロー図である。
【図8】図8は、中継制御部の処理手順を示すフロー図である。
【発明を実施するための形態】
【0018】
以下、本発明につき図面を参照しつつ詳細に説明する。なお、以下の説明により本発明が限定されるものではない。また、以下の説明における構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。以下においては、無線通信機器として携帯電話端末を例として説明するが、無線通信機器に関する本発明の適用対象は携帯電話端末に限定されるものではなく、例えば、PHS(Personal Handyphone System)、PDA、ポータブルナビゲーション装置、パーソナルコンピュータ、ゲーム機等に対しても本発明は適用できる。
【0019】
(実施形態)
まず、図1を参照しながら、本実施形態に係る通信システム100について説明する。図1は、通信システム100の概要構成を示す図である。図1に示すように通信システム100は、携帯電話端末1と、中継装置200と、電子機器300と、基地局400とを含む。
【0020】
携帯電話端末1は、基地局400との間に無線信号回線を確立し、基地局400との間で電話通信および情報通信を行う。本実施形態において、携帯電話端末1は、クライアントにサービスを提供するサーバとして機能する。ここでいうサービスとは、例えば、VNC(Virtual Network Computing)等のリモートデスクトップサービスである。携帯電話端末1がリモートデスクトップサービスを提供することにより、携帯電話会社のサポート担当者等が、クライアントを介して携帯電話端末1を遠隔操作することが可能になる。
【0021】
基地局400は、携帯電話端末1との間に確立された無線信号回線を通じて携帯電話端末1から受信したメッセージを中継装置200側へ転送するとともに、中継装置200側から受信した携帯電話端末1のメッセージを携帯電話端末1へ転送する。
【0022】
電子機器300は、携帯電話端末1へリクエストを送信して携帯電話端末1からサービスの提供を受けるクライアントとして機能する。電子機器300は、クライアントとして通信を行うことができる装置であればどのような装置でもよく、例えば、通信機能を有するパソコンを電子機器300として用いることができる。
【0023】
中継装置200は、基地局400および電子機器300と有線回線で接続され、携帯電話端末1と電子機器300との間でやりとりされるメッセージを中継する。中継装置200は、電波状況の変化等により携帯電話端末1と基地局400との間の無線通信が一時的に不能になった場合にも携帯電話端末1と電子機器300との接続が切断されないように、各種の制御を実行する。
【0024】
なお、中継装置200は、HTTP(HyperText Transfer Protocol)プロキシ装置のように、メッセージを中継させるためにクライアントが明示的に中継装置200のアドレスを指定する必要がある装置であってもよい。また、中継装置200は、ルータ装置やゲートウェイ装置のように、メッセージを中継させるためにクライアントが明示的に中継装置200のアドレスを指定する必要のない装置であってもよい。
【0025】
また、図1では携帯電話端末1、中継装置200、電子機器300および基地局400が1台ずつ存在する例を示したが、これらの装置は、複数存在してよい。例えば、中継装置200が、複数の携帯電話端末1と複数の電子機器300との間でメッセージを中継することとしてもよい。
【0026】
次に、図2および図3を参照しながら、携帯電話端末1と電子機器300との接続を維持するために中継装置200が実行する制御について説明する。なお、以下では、説明を簡単にするために、基地局400に関する説明を省略する。
【0027】
図2は、接続確認メッセージの受信時の制御の一例を示す図である。図2に示すように、電子機器300が、ステップS11として、サーバである携帯電話端末1へ向けて接続要求メッセージを送信すると、中継装置200が、ステップS12として、接続要求メッセージを携帯電話端末1へ転送する。そして、接続要求メッセージを受信した携帯電話端末1は、ステップS13として、接続を確立するための処理を行い、接続応答メッセージを中継装置200へ応答する。中継装置200は、ステップS14として、接続応答メッセージを電子機器300へ転送する。
【0028】
このように、中継装置200を介して、電子機器300と携帯電話端末1とが、接続要求メッセージおよび接続応答メッセージを送受信することにより、電子機器300と携帯電話端末1との間で接続が確立される。
【0029】
接続の確立後、電子機器300は、ステップS15として、携帯電話端末1へ向けて接続確認メッセージを送信する。接続確認メッセージは、生存確認(keep alive)メッセージとも呼ばれ、接続先との通信が可能な状態にあるかを確認するために定期的に送信される。接続確認メッセージの送信先の装置は、接続確認メッセージを受信すると、通信が可能な状態にあることを示すために、接続確認応答メッセージを送信元へ応答する。接続確認メッセージに対する応答がない場合、送信元の装置は、接続先との通信が不能になっていると判定する。
【0030】
中継装置200は、電子機器300から携帯電話端末1へ向けて送信された接続確認メッセージを受信すると、接続確認メッセージを携帯電話端末1へ転送することなく、ステップS16として、接続確認応答メッセージを電子機器300へ応答する。この結果、電子機器300は、携帯電話端末1との通信が可能な状態にあると判定する。
【0031】
また、中継装置200は、接続の確立後、接続確認メッセージをサーバである携帯電話端末1へ定期的に送信し、携帯電話端末1との通信が可能な状態にあるかを確認する。中継装置200が、ステップS17として、接続確認メッセージを携帯電話端末1へ送信すると、携帯電話端末1は、ステップS18として、接続確認応答メッセージを中継装置200へ応答する。この結果、中継装置200は、携帯電話端末1との通信が可能な状態にあると判定する。
【0032】
ここで、何らかの理由により、携帯電話端末1の無線通信が一時的に不能になったものとする。このように、無線通信が一時的に不能になっているときに、中継装置200が、ステップS19として、接続確認メッセージを携帯電話端末1へ送信すると、携帯電話端末1からは接続確認応答メッセージが応答されない。この結果、中継装置200は、携帯電話端末1との通信が一時的に不能な状態にあると判定する。
【0033】
このとき、電子機器300が、ステップS20として、携帯電話端末1へ向けて接続確認メッセージを送信すると、中継装置200は、接続確認メッセージを携帯電話端末1へ転送することなく、ステップS21として、接続確認応答メッセージを電子機器300へ応答する。この結果、電子機器300は、携帯電話端末1との通信が可能な状態が継続していると判定し、携帯電話端末1との接続を維持する。
【0034】
そして、一時的な通信不能の解消後、中継装置200が、ステップS22として、接続確認メッセージを携帯電話端末1へ送信すると、携帯電話端末1は、ステップS23として、接続確認応答メッセージを中継装置200へ応答する。この結果、中継装置200は、携帯電話端末1との通信が復旧したと判定する。
【0035】
その後、サービスの提供が完了すると、電子機器300は、携帯電話端末1との接続を切断するために、ステップS24として、携帯電話端末1へ向けて切断要求メッセージを送信する。中継装置200は、ステップS25として、切断要求メッセージを携帯電話端末1へ転送する。そして、切断要求メッセージを受信した携帯電話端末1は、ステップS26として、接続を切断するための処理を行い、切断応答メッセージを中継装置200へ応答する。中継装置200は、ステップS27として、切断応答メッセージを電子機器300へ転送する。
【0036】
接続の切断後、電子機器300および中継装置200による接続確認メッセージの定期的な送信は中止される。
【0037】
このように、中継装置200は、クライアントである電子機器300からサーバである携帯電話端末1へ向けて接続確認メッセージが送信されると、接続確認メッセージを携帯電話端末1へ転送することなく、接続確認応答メッセージを電子機器300へ応答する。このため、携帯電話端末1の無線通信が一時的に不能になった場合でも、電子機器300は、携帯電話端末1との通信が可能な状態が継続していると判定し、電子機器300と携帯電話端末1との接続が維持される。
【0038】
なお、中継装置200は、接続確認メッセージを携帯電話端末1へ定期的に送信して携帯電話端末1との通信状態を確認し、携帯電話端末1と通信が不能な状態が所定の時間よりも長く続いた場合は、電子機器300への接続確認応答メッセージの応答を中止する。この結果、電子機器300は、接続が切断された場合に必要な処理を実行することができる。
【0039】
図3は、携帯電話端末1の無線通信が一時的に不能になった場合の制御の一例を示す図である。図2では図示を省略しているが、電子機器300と携帯電話端末1との接続が確立されている間に、電子機器300は、サービスの提供を受けるために、ステップS41として、サーバである携帯電話端末1へ向けてサービス要求メッセージを送信する。中継装置200は、ステップS42として、サービス要求メッセージを携帯電話端末1へ転送する。
【0040】
携帯電話端末1は、サービス要求メッセージを受信すると、ステップS43として、サービスの提供のための処理を実行し、実行結果をサービス応答メッセージとして中継装置200へ送信する。中継装置200は、ステップS44として、サービス応答メッセージを電子機器300へ転送する。
【0041】
このように、中継装置200を介して、電子機器300と携帯電話端末1とが、サービス要求メッセージおよびサービス応答メッセージを送受信することにより、携帯電話端末1から電子機器300へサービスが提供される。
【0042】
ここで、何らかの理由により、携帯電話端末1の無線通信が一時的に不能になったものとする。無線通信が一時的に不能になっているときに、中継装置200が、ステップS45として、接続確認メッセージを携帯電話端末1へ送信すると、携帯電話端末1からは接続確認応答メッセージが応答されない。この結果、中継装置200は、携帯電話端末1との通信が一時的に不能な状態にあると判定する。
【0043】
このとき、電子機器300が、ステップS46として、携帯電話端末1へ向けてサービス要求メッセージ(リクエスト)を送信すると、中継装置200は、サービス要求メッセージを携帯電話端末1へ転送せずに、ステップS47として、サービス要求メッセージを記憶する。そして、中継装置200は、ステップS48として、BUSYメッセージを電子機器300へ送信する。
【0044】
ここで、BUSYメッセージは、フロー制御に用いられるメッセージであり、受信側の処理が追いつかずにメッセージの取りこぼし等が生じるおそれがあるため、メッセージの送信を休止するように送信側に依頼するために用いられる。電子機器300は、BUSYメッセージを受信すると、携帯電話端末1が高負荷な状態にあると判定し、携帯電話端末1との接続を維持したままで、新たなサービス要求メッセージの送信を休止する。
【0045】
その後、中継装置200は、ステップS49〜S51として、接続確認メッセージを携帯電話端末1へ定期的に送信して、携帯電話端末1との通信の状況を確認する。そして、携帯電話端末1の無線通信が復旧し、携帯電話端末1が、ステップS52として、接続確認応答メッセージを応答すると、中継装置200は、携帯電話端末1の無線通信が復旧したと判定する。
【0046】
携帯電話端末1の無線通信が復旧したと判定すると、中継装置200は、ステップS53として、記憶していたサービス要求メッセージを携帯電話端末1へ送信する。また、中継装置200は、ステップS54として、復旧通知メッセージを電子機器300へ送信する。
【0047】
ここで、復旧通知メッセージは、フロー制御に用いられるメッセージであり、受信側の処理が追いつかずにメッセージの取りこぼし等が生じるおそれがなくなったため、メッセージの送信を再開するように送信側に依頼するために用いられる。電子機器300は、復旧通知メッセージを受信すると、新たなサービス要求メッセージを送信するようになる。
【0048】
携帯電話端末1は、中継装置200に記憶されていたサービス要求メッセージを受信すると、ステップS55として、サービスの提供のための処理を実行し、実行結果をサービス応答メッセージとして中継装置200へ送信する。中継装置200は、ステップS56として、サービス応答メッセージを電子機器300へ転送する。
【0049】
このように、中継装置200は、携帯電話端末1の無線通信が一時的に不能になっている間に電子機器300から携帯電話端末1へ向けてサービス要求メッセージが送信されると、BUSYメッセージを電子機器300へ送信してメッセージの送信を休止させる。このため、携帯電話端末1の無線通信が一時的に不能になった場合に、電子機器300と携帯電話端末1との接続を維持させつつ、新たなメッセージが電子機器300から携帯電話端末1へ向けて送信されて通信エラーが発生することを抑止できる。
【0050】
また、中継装置200は、携帯電話端末1の無線通信が一時的に不能になっている間に電子機器300から送信されたメッセージを記憶しておき、無線通信の復旧後に携帯電話端末1へ転送する。このため、携帯電話端末1の無線通信が一時的に不能になっている間に送信されたメッセージが失われることを抑止できる。
【0051】
ここで、ステップS47において中継装置200が記憶するサービス要求メッセージの一例を示す。例えば、サービス要求メッセージは、携帯電話端端末1から送信されたデータに基づくグラフィカルユーザインターフェース(GUI)に対して、電子機器300のユーザが行う操作を示すスクリプトを含む。つまり、中継装置200は、電子機器300のユーザが行った操作を、ステップS47で記憶する。そして、携帯電話端末1と中継装置200との間の通信が可能になると、中継装置200は、前述したスクリプトを含むサービス要求メッセージを携帯電話端末1へ送信する(ステップS53)。そして、携帯電話端末1は、当該スクリプトに対する応答データを、中継装置200を介して電子機器300へ送信する(ステップS55、S56)。
【0052】
このような構成によると、電子機器300のユーザは、携帯電話端末1との通信が一時的に不能であったことを意識することなく、携帯電話端末1が提供したGUIに対する操作を行うことが可能となる。
【0053】
次に、図4を参照しながら、図1に示した携帯電話端末1の機能的な構成について説明する。図4は、携帯電話端末1の機能的な構成を示すブロック図である。図4に示すように、携帯電話端末1は、制御部22と、記憶部24と、通信部26と、操作部13と、音声処理部30と、表示部2とを有する。
【0054】
記憶部24は、各種情報を記憶する記憶装置である。記憶部24は、携帯電話端末1内に固定的に設けられたフラッシュメモリ等の半導体に情報を記憶させるものであってもよいし、メモリカード等の取り出し可能な記憶媒体と、記憶媒体の読み書き装置との組み合わせとして構成されていてもよい。
【0055】
記憶部24には、制御部22での処理に利用されるデータやプログラムが記憶される。記憶部24に記憶されるデータやプログラムには、通信制御プログラム24aと、サービスプログラム24bとが含まれる。通信制御プログラム24aは、メッセージの送受信に関する各種制御を実現するためのプログラムである。サービスプログラム24bは、携帯電話端末1がサーバとして提供するサービスを実現するためのプログラムである。
【0056】
通信部26は、送信部および受信部として機能する。通信部26は、アンテナ26aを有し、基地局400によって割り当てられるチャネルを介し、基地局400との間でCDMA方式などによる無線信号回線を確立し、基地局400との間で電話通信および情報通信を行う。操作部13は、操作キー、方向キー、決定ボタン等を含み、これらのキーやボタンが利用者によって操作されると、その操作内容に対応する信号を発生させる。そして、発生した信号は、利用者の指示として制御部22へ入力される。
【0057】
音声処理部30は、マイク15に入力される音声信号やレシーバ16から出力される音声信号の処理を実行する。表示部2は、液晶ディスプレイ(LCD、Liquid Crystal Display)や、有機EL(Organic Electro-Luminescence)パネルなどで構成された表示パネルを備え、制御部22の制御に基づいて待受画面や各種の機能画面等を表示パネルに表示させる。
【0058】
制御部22は、携帯電話端末1の全体的な動作を統括的に制御する。すなわち、制御部22は、携帯電話端末1の各種の処理が、操作部13の操作や携帯電話端末1の記憶部24に記憶されるソフトウェアに応じて適切な手順で実行されるように、通信部26や、音声処理部30や、表示部2等の動作を制御する。
【0059】
制御部22は、記憶部24に記憶されているコンピュータプログラム(例えば、オペレーティングシステムプログラム、アプリケーションプログラム等)に基づいて処理を実行する。制御部22は、例えば、マイクロプロセッサユニット(MPU:Micro Processing Unit)で構成され、コンピュータプログラムに定義された手順にしたがって携帯電話端末1の各種の処理を実行する。すなわち、制御部22は、記憶部24に記憶されるコンピュータプログラムから命令列を順次読み込んで処理を実行する。なお、制御部22は、記憶部24に記憶されているコンピュータプログラムだけでなく、他の装置に記憶されているコンピュータプログラムをダウンロードして実行することもできる。
【0060】
制御部22は、携帯電話端末1の制御の一部として、通信制御プログラム24aに含まれる命令列を順次読み込み、読み込んだ命令列を実行することにより、メッセージの送受信に関する処理を実行する。また、制御部22は、サービスプログラム24bに含まれる命令列を順次読み込み、読み込んだ命令列を実行することにより、携帯電話端末1がサーバとして提供するサービスを実現する。
【0061】
次に、図5を参照しながら、図1に示した中継装置200の機能的な構成について説明する。図5は、中継装置200の機能的な構成を示すブロック図である。図5に示すように、中継装置200は、通信部201と、通信部202と、記憶部203と、制御部204とを有する。
【0062】
通信部201は、電子機器300等のクライアントとメッセージをやりとりするための送信部および受信部として機能する。通信部202は、携帯電話端末1等のサーバとメッセージをやりとりするための送信部および受信部として機能する。なお、通信部201および通信部202は、例えば、イーサネット(登録商標)等のネットワークに接続するためのインターフェース装置であってもよいし、公衆回線を通じて通信を行うためのモデムであってもよい。
【0063】
記憶部203は、各種情報を記憶する記憶装置であり、例えば、磁気記憶装置や半導体記憶装置である。記憶部203には、制御部204での処理に利用されるデータやプログラムが記憶される。記憶部203に記憶されるデータやプログラムには、中継プログラム203aと、サーバ管理データ203bとが含まれる。また、記憶部203には、メッセージを一時的に記憶する領域であるメッセージバッファ203cが設けられる。
【0064】
中継プログラム203aは、上述したようなメッセージの中継に関する機能を実現するためのプログラムである。サーバ管理データ203bは、メッセージの転送先となっているサーバの状態を管理するためのデータである。なお、サーバ管理データ203bへのデータの追加とサーバ管理データ203bからのデータの削除は、接続の確立状況に応じて、制御部204によって実行されるものとする。
【0065】
ここで、サーバ管理データ203bの一例を図6に示す。図6に示すように、サーバ管理データ203bは、アドレス、接続確認時刻、状態といった項目を有し、サーバごとにデータが格納される。アドレスの項目には、サーバのアドレスが格納される。接続確認時刻の項目には、サーバから接続応答メッセージを最後に受信した日時が格納される。
【0066】
状態の項目には、サーバとの通信状態を示す値として、「接続中」、「一時切断中」または「切断中」のいずれかの値が格納される。「接続中」は、サーバとの通信が可能であることを示す。「一時切断中」は、サーバとの通信が一時的に切断されていることを示す。「切断中」は、サーバとの通信が一定時間以上切断されていることを示す。
【0067】
制御部204は、中継装置200の全体的な動作を統括的に制御する。すなわち、制御部204は、中継装置200の各種の処理が、記憶部203に記憶されるソフトウェアに応じて適切な手順で実行されるように、通信部201、通信部202等の動作を制御する。
【0068】
制御部204は、記憶部203に記憶されているコンピュータプログラム(例えば、オペレーティングシステムプログラム、アプリケーションプログラム等)に基づいて処理を実行する。制御部204は、例えば、マイクロプロセッサユニット(MPU:Micro Processing Unit)で構成され、コンピュータプログラムに定義された手順にしたがって携帯電話端末1の各種の処理を実行する。すなわち、制御部204は、記憶部203に記憶されるコンピュータプログラムから命令列を順次読み込んで処理を実行する。
【0069】
なお、制御部204は、記憶部203に記憶されているコンピュータプログラムだけでなく、他の装置に記憶されているコンピュータプログラムをダウンロードして実行することもできる。また、制御部204は、図示しない媒体読み取り装置が読み取り可能なCD−ROM等の記憶媒体に記憶されているコンピュータプログラムを読み出して実行することもできる。
【0070】
制御部204が、中継プログラム203aに含まれる命令列を順次読み込み、読み込んだ命令列を実行することにより、通信状態確認部204aと、中継制御部204bとが実現される。通信状態確認部204aは、転送先のサーバとの通信状態を定期的に確認する。中継制御部204bは、サーバの無線通信が一時的に不能になってもサーバとクライアントの間の接続が切断されることがないように、各種メッセージの中継を制御する。
【0071】
次に、図7および図8を参照しながら、中継プログラム203aに基づいて制御部204が実行する処理の処理手順について説明する。
【0072】
図7は、制御部204が中継プログラム203aを実行することによって実現される通信状態確認部204aの処理手順を示すフロー図である。図7に示す処理手順は、定期的に実行される。
【0073】
通信状態確認部204aは、ステップS101として、サーバ管理データ203bから未取得のデータを1件取得する。未取得のデータを取得できた場合(ステップS102,No)、通信状態確認部204aは、ステップS103として、取得したデータに設定されているアドレス宛に接続確認メッセージを送信し、応答を待つ。
【0074】
所定の時間内に応答が受信された場合(ステップS104,No)、通信状態確認部204aは、ステップS105として、取得したデータの状態の項目に「接続中」を設定する。そして、通信状態確認部204aは、ステップS106として、取得したデータの接続確認時刻の項目に、応答を受信した日時を設定する。その後、通信状態確認部204aは、ステップS101以降を再実行する。
【0075】
所定の時間内に応答が受信されずにタイムアウトが発生した場合(ステップS104,Yes)、通信状態確認部204aは、ステップS107として、取得したデータの接続確認時刻の項目に設定されている日時からの経過時間を算出する。
【0076】
そして、経過時間が閾値以内であれば(ステップS108,No)、通信状態確認部204aは、ステップS109として、取得したデータの状態の項目に「一時切断中」を設定する。一方、経過時間が閾値を超過していれば(ステップS108,Yes)、通信状態確認部204aは、ステップS110として、取得したデータの状態の項目に「切断中」を設定する。その後、通信状態確認部204aは、ステップS101以降を再実行する。
【0077】
そして、ステップS101において未取得のデータを取得できなかった場合、すなわち、全てのデータを取得済みの場合(ステップS102,Yes)、通信状態確認部204aは、処理を終了する。
【0078】
図8は、制御部204が中継プログラム203aを実行することによって実現される中継制御部204bの処理手順を示すフロー図である。図8に示す処理手順は、通信部201によってメッセージが受信されるたびに実行される。
【0079】
ステップS201として、通信部201によってメッセージが受信されると、中継制御部204bは、ステップS202として、受信されたメッセージが接続確認メッセージであるかを判定する。受信されたメッセージが接続確認メッセージである場合(ステップS202,Yes)、中継制御部204bは、ステップS203として、サーバ管理データ203bから、接続確認メッセージの送信先となっているサーバの状態を取得する。
【0080】
取得した状態が「切断中」でない場合、すなわち、取得した状態が「接続中」または「一時切断中」である場合(ステップS204,No)、中継制御部204bは、ステップS205として、接続確認応答メッセージを送信元であるクライアントへ送信させる。
【0081】
一方、取得した状態が「切断中」である場合(ステップS204,Yes)、中継制御部204bは、接続確認応答メッセージを送信させない。なお、接続確認応答メッセージの送信元に対して、送信先との通信が不能である旨を他の装置が通知することがプロトコル上で認められている場合、通信不能である旨をクライアントへ通知してもよい。
【0082】
受信されたメッセージが接続確認メッセージでない場合(ステップS202,No)、中継制御部204bは、ステップS206として、サーバ管理データ203bから、メッセージの送信先となっているサーバの状態を取得する。なお、受信されたメッセージが接続確認メッセージでない場合とは、受信されたメッセージが、例えば、接続要求メッセージ、サービス要求メッセージ、切断要求メッセージである場合を意味する。
【0083】
取得した状態が「接続中」の場合(ステップS207,Yes)、中継制御部204bは、ステップS215以降を実行する。取得した状態が「接続中」でない場合、すなわち、取得した状態が「切断中」または「一時切断中」である場合(ステップS207,No)、中継制御部204bは、ステップS208として、BUSYメッセージを送信元であるクライアントへ送信させる。そして、中継制御部204bは、ステップS209として、受信されたメッセージをメッセージバッファ203cに格納する。
【0084】
続いて、中継制御部204bは、ステップS210として、サーバ管理データ203bから、メッセージの送信先となっているサーバの状態を取得する。そして、取得した状態が「接続中」に変わってない場合(ステップS211,No)、中継制御部204bは、ステップS212として、タイムアウトが発生したかを判定する。ここでのタイムアウトは、メッセージが受信されてから所定の時間が経過した場合に発生する。
【0085】
タイムアウトが発生していない場合(ステップS212,No)、中継制御部204bは、ステップS210以降を再実行し、サーバの状態を再判定する。タイムアウトが発生した場合(ステップS212,Yes)、中継制御部204bは、ステップS213として、メッセージバッファ203cに格納したメッセージを削除する。なお、メッセージの送信元に対して、送信先との通信が不能である旨を他の装置が通知することがプロトコル上で認められている場合、タイムアウトの発生時に、通信不能である旨をクライアントへ通知してもよい。
【0086】
ステップS210で取得した状態が「接続中」に変わっていた場合(ステップS211,Yes)、中継制御部204bは、ステップS214として、メッセージバッファ203cに格納していたメッセージを取得する。このとき、メッセージは、メッセージバッファ203cから削除される。続いて、中継制御部204bは、ステップS215以降を実行する。
【0087】
なお、サーバの通信が復旧した後に、中継制御部204bが、サーバとクライアントとの接続を回復させる処理を実行することとしてもよい。通信不能が長く続いて、サーバがクライアントとの接続を切断してしまっている場合に対処するためである。この場合、クライアント側では接続が維持されているので、サーバ側で接続を回復させるだけでよい。
【0088】
接続の回復は、例えば、中継制御部204bが、クライアントを送信元として設定した接続要求メッセージをサーバへ送信させることで実現できる。接続要求メッセージに対する応答がサーバから送信されても、応答のクライアントへの転送は不要である。また、切断前の状態を復元できるように、接続が確立されて以降にクライアントから送信されたメッセージを中継装置200内に記憶しておき、接続の回復後に、記憶しておいたメッセージを受信した順にサーバへ送信してもよい。
【0089】
ステップS215として、中継制御部204bは、メッセージを、メッセージの送信先となっているサーバへ転送させる。そして、中継制御部204bは、ステップS216として、サーバからの応答が受信されたかを判定する。応答が受信されていない場合(ステップS216,No)、中継制御部204bは、ステップS217として、タイムアウトが発生したかを判定する。ここでのタイムアウトは、メッセージを転送させてから所定の時間が経過した場合に発生する。
【0090】
タイムアウトが発生していない場合(ステップS217,No)、中継制御部204bは、ステップS216以降を再実行し、応答の有無を再判定する。タイムアウトが発生した場合(ステップS217,Yes)、中継制御部204bは、特に何も行わない。なお、メッセージの送信元に対して、送信先との通信が不能である旨を他の装置が通知することがプロトコル上で認められている場合、タイムアウトの発生時に、通信不能である旨を中継制御部204bがクライアントへ送信させてもよい。
【0091】
応答が受信された場合(ステップS216,Yes)、中継制御部204bは、ステップS218として、受信された応答をクライアントへ送信させる。
【0092】
上述してきたように、本実施形態では、クライアントがサーバとの通信状態を確認するために送信した接続確認メッセージに対して、中継装置200が応答を送信することとしたので、サーバが一時的に通信不能となっていてもクライアントに接続を維持させることができる。また、本実施形態では、サーバが一時的に通信不能となっているときにクライアントがサーバへリクエストを送信した場合に、中継装置200がクライアントへBUSYメッセージを送信することとしたので、接続を維持したままでクライアントを待機させることができる。
【0093】
なお、上記の各実施形態で示した本発明の態様は、本発明の要旨を逸脱しない範囲で任意に変更することができる。例えば、中継プログラム203a等のプログラムは、複数のモジュールに分割されていてもよいし、他のプログラムと統合されていてもよい。また、携帯電話端末1や中継装置200は、通信回線を通じて中継プログラム203a等のプログラムを他の装置からダウンロードして実行してもよい。また、携帯電話端末1や中継装置200は、CD−ROM等の可搬の記憶媒体に記憶された中継プログラム203a等のプログラムを読み出して実行してもよい。
【0094】
また、上記の実施形態では、サーバと中継装置200の通信経路上に無線通信が行われる区間があることとしたが、サーバと中継装置200の通信経路上に無線通信が行われる区間はなくてもよい。すなわち、本発明は、無線通信が行われる無線通信区間を含まない通信システムにも適用することができる。
【0095】
また、上記の実施形態では、サーバが一時的に通信不能となっているときにクライアントからのリクエストが受信された場合に、フロー制御の仕組みを使って、接続を維持したままでクライアントを待機させることとしたが、同様の効果を得られる他の仕組みを用いてもよい。すなわち、サーバが一時的に通信不能となっているときにクライアントから送信されたリクエストに対して、中継装置200がBUSYメッセージ以外のメッセージを送信してクライアントにメッセージの送信を休止させてもよい。
【0096】
また、上記の実施形態では、クライアントからのリクエストの受信時にクライアントにBUSYメッセージを送信することとしたが、サーバが通信不能となっていることを検出した後、速やかに、クライアントにBUSYメッセージを送信することとしてもよい。この場合、接続要求メッセージや切断要求メッセージ等に基づいて、どのサーバとどのクライアントが接続中であるかを把握しておき、通信不能となったサーバと接続中のクライアントへBUSYメッセージを送信すればよい。このように構成することにより、サーバが通信不能となっている間はクライアントからリクエストが送信されなくなり、メッセージバッファ203cを設けなくてもよくなる。
【産業上の利用可能性】
【0097】
以上のように、本発明に係る中継装置、無線通信機器、制御方法および通信システムは、一時的な通信不能によってサーバとクライアントの間の接続が切断されることを抑止する場合に適している。
【符号の説明】
【0098】
1 携帯電話端末
2 表示部
13 操作部
15 マイク
16 レシーバ
22 制御部
24 記憶部
24a 通信制御プログラム
24b サービスプログラム
26 通信部
30 音声処理部
100 通信システム
200 中継装置
201 通信部
202 通信部
203 記憶部
203a 中継プログラム
203b サーバ管理データ
203c メッセージバッファ
204 制御部
204a 通信状態確認部
204b 中継制御部
300 電子機器
400 基地局

【特許請求の範囲】
【請求項1】
第1の電子機器と、前記第1の電子機器へリクエストを送信する第2の電子機器と間の通信を中継する中継装置であって、
前記第2の電子機器が前記第1の電子機器との通信が可能であることを確認するために送信する接続確認メッセージを受信する受信手段と、
前記受信手段によって前記接続確認メッセージが受信された場合に、前記第1の電子機器に代わって、前記第1の電子機器との通信が可能である旨の応答を前記第2の電子機器へ送信する中継制御手段と
を備えることを特徴とする中継装置。
【請求項2】
前記第1の電子機器との通信の可否を判定する通信状態確認手段をさらに備え、
前記中継制御手段は、前記通信状態確認手段によって前記第1の電子機器との通信が不能であると判定されている間は、前記第2の電子機器から前記第1の電子機器へのリクエストを記憶部に記憶させ、前記通信状態確認手段によって前記第1の電子機器との通信が可能になったと判定された後に、前記記憶部に記憶されているリクエストを前記第1の電子機器へ送信することを特徴とする請求項1に記載の中継装置。
【請求項3】
前記第2の電子機器から送信されるリクエストは、当該第2の電子機器において行われるユーザ操作であることを特徴とする請求項2に記載の中継装置。
【請求項4】
前記中継制御手段は、前記通信状態確認手段によって前記第1の電子機器との通信が不能であると判定されている間に、前記第2の電子機器から前記第1の電子機器へのリクエストが受信された場合に、前記第2の電子機器に対して、リクエストの送信を休止することを求めるメッセージを送信することを特徴とする請求項2に記載の中継装置。
【請求項5】
前記中継制御手段は、前記通信状態確認手段によって前記第1の電子機器との通信が可能になったと判定された後に、前記第2の電子機器に対して、リクエストの送信を再開することを求めるメッセージを送信することを特徴とする請求項4に記載の中継装置。
【請求項6】
前記中継制御手段は、前記通信状態確認手段によって前記第1の電子機器との通信が不能であると判定された場合に、前記第2の電子機器に対して、リクエストの送信を休止することを求めるメッセージを送信することを特徴とする請求項2に記載の中継装置。
【請求項7】
第1の電子機器と、前記第1の電子機器へリクエストを送信する第2の電子機器と、前記第1の電子機器と前記第2の電子機器と間の通信を中継し、前記第2の電子機器が前記第1の電子機器との通信が可能であることを確認するために送信する接続確認メッセージが受信された場合に、前記第1の電子機器に代わって、前記第1の電子機器との通信が可能である旨の応答を前記第2の電子機器へ送信する中継装置とを含む通信システムにおいて、前記第1の電子機器として用いられる無線通信機器。
【請求項8】
第1の電子機器と、前記第1の電子機器へリクエストを送信する第2の電子機器と間の通信を中継する中継装置における制御方法であって、
前記中継装置が、前記第2の電子機器が前記第1の電子機器との通信が可能であることを確認するために送信する接続確認メッセージを受信するステップと、
前記接続確認メッセージが受信された場合に、前記中継装置が、前記第1の電子機器に代わって、前記第1の電子機器との通信が可能である旨の応答を前記第2の電子機器へ送信するステップと
を含むことを特徴とする制御方法。
【請求項9】
第1の電子機器と、
前記第1の電子機器へリクエストを送信する第2の電子機器と、
前記第1の電子機器と前記第2の電子機器との間の通信を中継する中継装置とを有する通信システムであって、
前記中継装置は、
前記第2の電子機器が前記第1の電子機器との通信が可能であることを確認するために送信する接続確認メッセージを受信する受信手段と、
前記受信手段によって前記接続確認メッセージが受信された場合に、前記第1の電子機器に代わって、前記第1の電子機器との通信が可能である旨の応答を前記第2の電子機器へ送信する中継制御手段と
を備えることを特徴とする通信システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−95159(P2012−95159A)
【公開日】平成24年5月17日(2012.5.17)
【国際特許分類】
【出願番号】特願2010−241547(P2010−241547)
【出願日】平成22年10月27日(2010.10.27)
【出願人】(000006633)京セラ株式会社 (13,660)
【Fターム(参考)】