(57)【要約】【課題】一時的な通信不能によってサーバとクライアントの間の接続が切断されることを抑止すること。【解決手段】中継装置２００は、無線通信により通信を行う第１の電子機器と、前記第１の電子機器へリクエストを送信する第２の電子機器と間の通信を中継する。中継装置２００は、第２の電子機器が第１の電子機器との通信が可能であることを確認するために送信する接続確認メッセージを受信する通信部２０１と、通信部２０１によって接続確認メッセージが受信された場合に、第１の電子機器に代わって、第１の電子機器との通信が可能である旨の応答を第２の電子機器へ送信する制御部２０４とを備える。【選択図】図５
2012095159.tif 000002
【特許請求の範囲】
【請求項１】
第１の電子機器と、前記第１の電子機器へリクエストを送信する第２の電子機器と間の通信を中継する中継装置であって、
前記第２の電子機器が前記第１の電子機器との通信が可能であることを確認するために送信する接続確認メッセージを受信する受信手段と、
前記受信手段によって前記接続確認メッセージが受信された場合に、前記第１の電子機器に代わって、前記第１の電子機器との通信が可能である旨の応答を前記第２の電子機器へ送信する中継制御手段と
を備えることを特徴とする中継装置。
【請求項２】
前記第１の電子機器との通信の可否を判定する通信状態確認手段をさらに備え、
前記中継制御手段は、前記通信状態確認手段によって前記第１の電子機器との通信が不能であると判定されている間は、前記第２の電子機器から前記第１の電子機器へのリクエストを記憶部に記憶させ、前記通信状態確認手段によって前記第１の電子機器との通信が可能になったと判定された後に、前記記憶部に記憶されているリクエストを前記第１の電子機器へ送信することを特徴とする請求項１に記載の中継装置。
【請求項３】
前記第２の電子機器から送信されるリクエストは、当該第２の電子機器において行われるユーザ操作であることを特徴とする請求項２に記載の中継装置。
【請求項４】
前記中継制御手段は、前記通信状態確認手段によって前記第１の電子機器との通信が不能であると判定されている間に、前記第２の電子機器から前記第１の電子機器へのリクエストが受信された場合に、前記第２の電子機器に対して、リクエストの送信を休止することを求めるメッセージを送信することを特徴とする請求項２に記載の中継装置。
【請求項５】
前記中継制御手段は、前記通信状態確認手段によって前記第１の電子機器との通信が可能になったと判定された後に、前記第２の電子機器に対して、リクエストの送信を再開することを求めるメッセージを送信することを特徴とする請求項４に記載の中継装置。
【請求項６】
前記中継制御手段は、前記通信状態確認手段によって前記第１の電子機器との通信が不能であると判定された場合に、前記第２の電子機器に対して、リクエストの送信を休止することを求めるメッセージを送信することを特徴とする請求項２に記載の中継装置。
【請求項７】
第１の電子機器と、前記第１の電子機器へリクエストを送信する第２の電子機器と、前記第１の電子機器と前記第２の電子機器と間の通信を中継し、前記第２の電子機器が前記第１の電子機器との通信が可能であることを確認するために送信する接続確認メッセージが受信された場合に、前記第１の電子機器に代わって、前記第１の電子機器との通信が可能である旨の応答を前記第２の電子機器へ送信する中継装置とを含む通信システムにおいて、前記第１の電子機器として用いられる無線通信機器。
【請求項８】
第１の電子機器と、前記第１の電子機器へリクエストを送信する第２の電子機器と間の通信を中継する中継装置における制御方法であって、
前記中継装置が、前記第２の電子機器が前記第１の電子機器との通信が可能であることを確認するために送信する接続確認メッセージを受信するステップと、
前記接続確認メッセージが受信された場合に、前記中継装置が、前記第１の電子機器に代わって、前記第１の電子機器との通信が可能である旨の応答を前記第２の電子機器へ送信するステップと
を含むことを特徴とする制御方法。
【請求項９】
第１の電子機器と、
前記第１の電子機器へリクエストを送信する第２の電子機器と、
前記第１の電子機器と前記第２の電子機器との間の通信を中継する中継装置とを有する通信システムであって、
前記中継装置は、
前記第２の電子機器が前記第１の電子機器との通信が可能であることを確認するために送信する接続確認メッセージを受信する受信手段と、
前記受信手段によって前記接続確認メッセージが受信された場合に、前記第１の電子機器に代わって、前記第１の電子機器との通信が可能である旨の応答を前記第２の電子機器へ送信する中継制御手段と
を備えることを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置、無線通信機器、制御方法および通信システムに関する。
【背景技術】
【０００２】
無線通信が行われる無線通信区間を含む通信システムでは、電波状況の変化等により、無線通信区間で一時的に通信が不能になる場合がある。一時的に通信が不能になった場合、通信システムに含まれるサーバとクライアントの間の接続が切断され、それまでにやりとりされた情報が無駄になるおそれがある。
【０００３】
特許文献１では、サーバとクライアントの間に複数の通信経路を予め用意しておき、利用中の通信経路での通信が不能になった場合に、他の通信経路を利用することでサーバとクライアントの間の接続を維持する技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−１２２９４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術のように、通信不能時に他の通信経路を利用することとしても、通信不能の検出や通信経路の切り替えに時間がかかった場合には、タイムアウトが発生し、サーバとクライアント間の接続が切断されるおそれがある。
【０００６】
本発明は、上記に鑑みてなされたものであって、一時的な通信不能によってサーバとクライアントの間の接続が切断されることを抑止できる中継装置、無線通信機器、制御方法および通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、第１の電子機器と、前記第１の電子機器へリクエストを送信する第２の電子機器と間の通信を中継する中継装置であって、前記第２の電子機器が前記第１の電子機器との通信が可能であることを確認するために送信する接続確認メッセージを受信する受信手段と、前記受信手段によって前記接続確認メッセージが受信された場合に、前記第１の電子機器に代わって、前記第１の電子機器との通信が可能である旨の応答を前記第２の電子機器へ送信する中継制御手段とを備えることを特徴とする。
【０００８】
ここで、前記第１の電子機器との通信の可否を判定する通信状態確認手段をさらに備え、前記中継制御手段は、前記通信状態確認手段によって前記第１の電子機器との通信が不能であると判定されている間は、前記第２の電子機器から前記第１の電子機器へのリクエストを記憶部に記憶させ、前記通信状態確認手段によって前記第１の電子機器との通信が可能になったと判定された後に、前記記憶部に記憶されているリクエストを前記第１の電子機器へ送信することが好ましい。
【０００９】
また、前記第２の電子機器から送信されるリクエストは、当該第２の電子機器において行われるユーザ操作であってもよい。
【００１０】
また、前記中継制御手段は、前記通信状態確認手段によって前記第１の電子機器との通信が不能であると判定されている間に、前記第２の電子機器から前記第１の電子機器へのリクエストが受信された場合に、前記第２の電子機器に対して、リクエストの送信を休止することを求めるメッセージを送信することが好ましい。
【００１１】
また、前記中継制御手段は、前記通信状態確認手段によって前記第１の電子機器との通信が可能になったと判定された後に、前記第２の電子機器に対して、リクエストの送信を再開することを求めるメッセージを送信することが好ましい。
【００１２】
また、前記中継制御手段は、前記通信状態確認手段によって前記第１の電子機器との通信が不能であると判定された場合に、前記第２の電子機器に対して、リクエストの送信を休止することを求めるメッセージを送信することとしてもよい。
【００１３】
また、上述した課題を解決し、目的を達成するために、本発明は、第１の電子機器と、前記第１の電子機器へリクエストを送信する第２の電子機器と、前記第１の電子機器と前記第２の電子機器と間の通信を中継し、前記第２の電子機器が前記第１の電子機器との通信が可能であることを確認するために送信する接続確認メッセージが受信された場合に、前記第１の電子機器に代わって、前記第１の電子機器との通信が可能である旨の応答を前記第２の電子機器へ送信する中継装置とを含む通信システムにおいて、前記第１の電子機器として用いられる無線通信機器であることを特徴とする。
【００１４】
また、上述した課題を解決し、目的を達成するために、本発明は、第１の電子機器と、前記第１の電子機器へリクエストを送信する第２の電子機器と間の通信を中継する中継装置における制御方法であって、前記中継装置が、前記第２の電子機器が前記第１の電子機器との通信が可能であることを確認するために送信する接続確認メッセージを受信するステップと、前記接続確認メッセージが受信された場合に、前記中継装置が、前記第１の電子機器に代わって、前記第１の電子機器との通信が可能である旨の応答を前記第２の電子機器へ送信するステップとを含むことを特徴とする。
【００１５】
また、上述した課題を解決し、目的を達成するために、本発明は、第１の電子機器と、前記第１の電子機器へリクエストを送信する第２の電子機器と、前記第１の電子機器と前記第２の電子機器との間の通信を中継する中継装置とを有する通信システムであって、前記中継装置は、前記第２の電子機器が前記第１の電子機器との通信が可能であることを確認するために送信する接続確認メッセージを受信する受信手段と、前記受信手段によって前記接続確認メッセージが受信された場合に、前記第１の電子機器に代わって、前記第１の電子機器との通信が可能である旨の応答を前記第２の電子機器へ送信する中継制御手段とを備えることを特徴とする。
【発明の効果】
【００１６】
本発明に係る中継装置、無線通信機器、制御方法および通信システムは、一時的な通信不能によってサーバとクライアントの間の接続が切断されることを抑止できるという効果を奏する。
【図面の簡単な説明】
【００１７】
【図１】図１は、通信システムの概要構成を示す図である。
【図２】図２は、接続確認メッセージの受信時の制御の一例を示す図である。
【図３】図３は、通信が一時的に不能になった場合の制御の一例を示す図である。
【図４】図４は、携帯電話端末の機能的な構成を示すブロック図である。
【図５】図５は、中継装置の機能的な構成を示すブロック図である。
【図６】図６は、サーバ管理データの一例を示す図である。
【図７】図７は、通信状態確認部の処理手順を示すフロー図である。
【図８】図８は、中継制御部の処理手順を示すフロー図である。
【発明を実施するための形態】
【００１８】
以下、本発明につき図面を参照しつつ詳細に説明する。なお、以下の説明により本発明が限定されるものではない。また、以下の説明における構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。以下においては、無線通信機器として携帯電話端末を例として説明するが、無線通信機器に関する本発明の適用対象は携帯電話端末に限定されるものではなく、例えば、ＰＨＳ（Personal  Handyphone  System）、ＰＤＡ、ポータブルナビゲーション装置、パーソナルコンピュータ、ゲーム機等に対しても本発明は適用できる。
【００１９】
（実施形態）
まず、図１を参照しながら、本実施形態に係る通信システム１００について説明する。図１は、通信システム１００の概要構成を示す図である。図１に示すように通信システム１００は、携帯電話端末１と、中継装置２００と、電子機器３００と、基地局４００とを含む。
【００２０】
携帯電話端末１は、基地局４００との間に無線信号回線を確立し、基地局４００との間で電話通信および情報通信を行う。本実施形態において、携帯電話端末１は、クライアントにサービスを提供するサーバとして機能する。ここでいうサービスとは、例えば、ＶＮＣ（Virtual Network Computing）等のリモートデスクトップサービスである。携帯電話端末１がリモートデスクトップサービスを提供することにより、携帯電話会社のサポート担当者等が、クライアントを介して携帯電話端末１を遠隔操作することが可能になる。
【００２１】
基地局４００は、携帯電話端末１との間に確立された無線信号回線を通じて携帯電話端末１から受信したメッセージを中継装置２００側へ転送するとともに、中継装置２００側から受信した携帯電話端末１のメッセージを携帯電話端末１へ転送する。
【００２２】
電子機器３００は、携帯電話端末１へリクエストを送信して携帯電話端末１からサービスの提供を受けるクライアントとして機能する。電子機器３００は、クライアントとして通信を行うことができる装置であればどのような装置でもよく、例えば、通信機能を有するパソコンを電子機器３００として用いることができる。
【００２３】
中継装置２００は、基地局４００および電子機器３００と有線回線で接続され、携帯電話端末１と電子機器３００との間でやりとりされるメッセージを中継する。中継装置２００は、電波状況の変化等により携帯電話端末１と基地局４００との間の無線通信が一時的に不能になった場合にも携帯電話端末１と電子機器３００との接続が切断されないように、各種の制御を実行する。
【００２４】
なお、中継装置２００は、ＨＴＴＰ（HyperText Transfer Protocol）プロキシ装置のように、メッセージを中継させるためにクライアントが明示的に中継装置２００のアドレスを指定する必要がある装置であってもよい。また、中継装置２００は、ルータ装置やゲートウェイ装置のように、メッセージを中継させるためにクライアントが明示的に中継装置２００のアドレスを指定する必要のない装置であってもよい。
【００２５】
また、図１では携帯電話端末１、中継装置２００、電子機器３００および基地局４００が１台ずつ存在する例を示したが、これらの装置は、複数存在してよい。例えば、中継装置２００が、複数の携帯電話端末１と複数の電子機器３００との間でメッセージを中継することとしてもよい。
【００２６】
次に、図２および図３を参照しながら、携帯電話端末１と電子機器３００との接続を維持するために中継装置２００が実行する制御について説明する。なお、以下では、説明を簡単にするために、基地局４００に関する説明を省略する。
【００２７】
図２は、接続確認メッセージの受信時の制御の一例を示す図である。図２に示すように、電子機器３００が、ステップＳ１１として、サーバである携帯電話端末１へ向けて接続要求メッセージを送信すると、中継装置２００が、ステップＳ１２として、接続要求メッセージを携帯電話端末１へ転送する。そして、接続要求メッセージを受信した携帯電話端末１は、ステップＳ１３として、接続を確立するための処理を行い、接続応答メッセージを中継装置２００へ応答する。中継装置２００は、ステップＳ１４として、接続応答メッセージを電子機器３００へ転送する。
【００２８】
このように、中継装置２００を介して、電子機器３００と携帯電話端末１とが、接続要求メッセージおよび接続応答メッセージを送受信することにより、電子機器３００と携帯電話端末１との間で接続が確立される。
【００２９】
接続の確立後、電子機器３００は、ステップＳ１５として、携帯電話端末１へ向けて接続確認メッセージを送信する。接続確認メッセージは、生存確認（keep alive）メッセージとも呼ばれ、接続先との通信が可能な状態にあるかを確認するために定期的に送信される。接続確認メッセージの送信先の装置は、接続確認メッセージを受信すると、通信が可能な状態にあることを示すために、接続確認応答メッセージを送信元へ応答する。接続確認メッセージに対する応答がない場合、送信元の装置は、接続先との通信が不能になっていると判定する。
【００３０】
中継装置２００は、電子機器３００から携帯電話端末１へ向けて送信された接続確認メッセージを受信すると、接続確認メッセージを携帯電話端末１へ転送することなく、ステップＳ１６として、接続確認応答メッセージを電子機器３００へ応答する。この結果、電子機器３００は、携帯電話端末１との通信が可能な状態にあると判定する。
【００３１】
また、中継装置２００は、接続の確立後、接続確認メッセージをサーバである携帯電話端末１へ定期的に送信し、携帯電話端末１との通信が可能な状態にあるかを確認する。中継装置２００が、ステップＳ１７として、接続確認メッセージを携帯電話端末１へ送信すると、携帯電話端末１は、ステップＳ１８として、接続確認応答メッセージを中継装置２００へ応答する。この結果、中継装置２００は、携帯電話端末１との通信が可能な状態にあると判定する。
【００３２】
ここで、何らかの理由により、携帯電話端末１の無線通信が一時的に不能になったものとする。このように、無線通信が一時的に不能になっているときに、中継装置２００が、ステップＳ１９として、接続確認メッセージを携帯電話端末１へ送信すると、携帯電話端末１からは接続確認応答メッセージが応答されない。この結果、中継装置２００は、携帯電話端末１との通信が一時的に不能な状態にあると判定する。
【００３３】
このとき、電子機器３００が、ステップＳ２０として、携帯電話端末１へ向けて接続確認メッセージを送信すると、中継装置２００は、接続確認メッセージを携帯電話端末１へ転送することなく、ステップＳ２１として、接続確認応答メッセージを電子機器３００へ応答する。この結果、電子機器３００は、携帯電話端末１との通信が可能な状態が継続していると判定し、携帯電話端末１との接続を維持する。
【００３４】
そして、一時的な通信不能の解消後、中継装置２００が、ステップＳ２２として、接続確認メッセージを携帯電話端末１へ送信すると、携帯電話端末１は、ステップＳ２３として、接続確認応答メッセージを中継装置２００へ応答する。この結果、中継装置２００は、携帯電話端末１との通信が復旧したと判定する。
【００３５】
その後、サービスの提供が完了すると、電子機器３００は、携帯電話端末１との接続を切断するために、ステップＳ２４として、携帯電話端末１へ向けて切断要求メッセージを送信する。中継装置２００は、ステップＳ２５として、切断要求メッセージを携帯電話端末１へ転送する。そして、切断要求メッセージを受信した携帯電話端末１は、ステップＳ２６として、接続を切断するための処理を行い、切断応答メッセージを中継装置２００へ応答する。中継装置２００は、ステップＳ２７として、切断応答メッセージを電子機器３００へ転送する。
【００３６】
接続の切断後、電子機器３００および中継装置２００による接続確認メッセージの定期的な送信は中止される。
【００３７】
このように、中継装置２００は、クライアントである電子機器３００からサーバである携帯電話端末１へ向けて接続確認メッセージが送信されると、接続確認メッセージを携帯電話端末１へ転送することなく、接続確認応答メッセージを電子機器３００へ応答する。このため、携帯電話端末１の無線通信が一時的に不能になった場合でも、電子機器３００は、携帯電話端末１との通信が可能な状態が継続していると判定し、電子機器３００と携帯電話端末１との接続が維持される。
【００３８】
なお、中継装置２００は、接続確認メッセージを携帯電話端末１へ定期的に送信して携帯電話端末１との通信状態を確認し、携帯電話端末１と通信が不能な状態が所定の時間よりも長く続いた場合は、電子機器３００への接続確認応答メッセージの応答を中止する。この結果、電子機器３００は、接続が切断された場合に必要な処理を実行することができる。
【００３９】
図３は、携帯電話端末１の無線通信が一時的に不能になった場合の制御の一例を示す図である。図２では図示を省略しているが、電子機器３００と携帯電話端末１との接続が確立されている間に、電子機器３００は、サービスの提供を受けるために、ステップＳ４１として、サーバである携帯電話端末１へ向けてサービス要求メッセージを送信する。中継装置２００は、ステップＳ４２として、サービス要求メッセージを携帯電話端末１へ転送する。
【００４０】
携帯電話端末１は、サービス要求メッセージを受信すると、ステップＳ４３として、サービスの提供のための処理を実行し、実行結果をサービス応答メッセージとして中継装置２００へ送信する。中継装置２００は、ステップＳ４４として、サービス応答メッセージを電子機器３００へ転送する。
【００４１】
このように、中継装置２００を介して、電子機器３００と携帯電話端末１とが、サービス要求メッセージおよびサービス応答メッセージを送受信することにより、携帯電話端末１から電子機器３００へサービスが提供される。
【００４２】
ここで、何らかの理由により、携帯電話端末１の無線通信が一時的に不能になったものとする。無線通信が一時的に不能になっているときに、中継装置２００が、ステップＳ４５として、接続確認メッセージを携帯電話端末１へ送信すると、携帯電話端末１からは接続確認応答メッセージが応答されない。この結果、中継装置２００は、携帯電話端末１との通信が一時的に不能な状態にあると判定する。
【００４３】
このとき、電子機器３００が、ステップＳ４６として、携帯電話端末１へ向けてサービス要求メッセージ（リクエスト）を送信すると、中継装置２００は、サービス要求メッセージを携帯電話端末１へ転送せずに、ステップＳ４７として、サービス要求メッセージを記憶する。そして、中継装置２００は、ステップＳ４８として、ＢＵＳＹメッセージを電子機器３００へ送信する。
【００４４】
ここで、ＢＵＳＹメッセージは、フロー制御に用いられるメッセージであり、受信側の処理が追いつかずにメッセージの取りこぼし等が生じるおそれがあるため、メッセージの送信を休止するように送信側に依頼するために用いられる。電子機器３００は、ＢＵＳＹメッセージを受信すると、携帯電話端末１が高負荷な状態にあると判定し、携帯電話端末１との接続を維持したままで、新たなサービス要求メッセージの送信を休止する。
【００４５】
その後、中継装置２００は、ステップＳ４９〜Ｓ５１として、接続確認メッセージを携帯電話端末１へ定期的に送信して、携帯電話端末１との通信の状況を確認する。そして、携帯電話端末１の無線通信が復旧し、携帯電話端末１が、ステップＳ５２として、接続確認応答メッセージを応答すると、中継装置２００は、携帯電話端末１の無線通信が復旧したと判定する。
【００４６】
携帯電話端末１の無線通信が復旧したと判定すると、中継装置２００は、ステップＳ５３として、記憶していたサービス要求メッセージを携帯電話端末１へ送信する。また、中継装置２００は、ステップＳ５４として、復旧通知メッセージを電子機器３００へ送信する。
【００４７】
ここで、復旧通知メッセージは、フロー制御に用いられるメッセージであり、受信側の処理が追いつかずにメッセージの取りこぼし等が生じるおそれがなくなったため、メッセージの送信を再開するように送信側に依頼するために用いられる。電子機器３００は、復旧通知メッセージを受信すると、新たなサービス要求メッセージを送信するようになる。
【００４８】
携帯電話端末１は、中継装置２００に記憶されていたサービス要求メッセージを受信すると、ステップＳ５５として、サービスの提供のための処理を実行し、実行結果をサービス応答メッセージとして中継装置２００へ送信する。中継装置２００は、ステップＳ５６として、サービス応答メッセージを電子機器３００へ転送する。
【００４９】
このように、中継装置２００は、携帯電話端末１の無線通信が一時的に不能になっている間に電子機器３００から携帯電話端末１へ向けてサービス要求メッセージが送信されると、ＢＵＳＹメッセージを電子機器３００へ送信してメッセージの送信を休止させる。このため、携帯電話端末１の無線通信が一時的に不能になった場合に、電子機器３００と携帯電話端末１との接続を維持させつつ、新たなメッセージが電子機器３００から携帯電話端末１へ向けて送信されて通信エラーが発生することを抑止できる。
【００５０】
また、中継装置２００は、携帯電話端末１の無線通信が一時的に不能になっている間に電子機器３００から送信されたメッセージを記憶しておき、無線通信の復旧後に携帯電話端末１へ転送する。このため、携帯電話端末１の無線通信が一時的に不能になっている間に送信されたメッセージが失われることを抑止できる。
【００５１】
ここで、ステップＳ４７において中継装置２００が記憶するサービス要求メッセージの一例を示す。例えば、サービス要求メッセージは、携帯電話端端末１から送信されたデータに基づくグラフィカルユーザインターフェース（ＧＵＩ）に対して、電子機器３００のユーザが行う操作を示すスクリプトを含む。つまり、中継装置２００は、電子機器３００のユーザが行った操作を、ステップＳ４７で記憶する。そして、携帯電話端末１と中継装置２００との間の通信が可能になると、中継装置２００は、前述したスクリプトを含むサービス要求メッセージを携帯電話端末１へ送信する（ステップＳ５３）。そして、携帯電話端末１は、当該スクリプトに対する応答データを、中継装置２００を介して電子機器３００へ送信する（ステップＳ５５、Ｓ５６）。
【００５２】
このような構成によると、電子機器３００のユーザは、携帯電話端末１との通信が一時的に不能であったことを意識することなく、携帯電話端末１が提供したＧＵＩに対する操作を行うことが可能となる。
【００５３】
次に、図４を参照しながら、図１に示した携帯電話端末１の機能的な構成について説明する。図４は、携帯電話端末１の機能的な構成を示すブロック図である。図４に示すように、携帯電話端末１は、制御部２２と、記憶部２４と、通信部２６と、操作部１３と、音声処理部３０と、表示部２とを有する。
【００５４】
記憶部２４は、各種情報を記憶する記憶装置である。記憶部２４は、携帯電話端末１内に固定的に設けられたフラッシュメモリ等の半導体に情報を記憶させるものであってもよいし、メモリカード等の取り出し可能な記憶媒体と、記憶媒体の読み書き装置との組み合わせとして構成されていてもよい。
【００５５】
記憶部２４には、制御部２２での処理に利用されるデータやプログラムが記憶される。記憶部２４に記憶されるデータやプログラムには、通信制御プログラム２４ａと、サービスプログラム２４ｂとが含まれる。通信制御プログラム２４ａは、メッセージの送受信に関する各種制御を実現するためのプログラムである。サービスプログラム２４ｂは、携帯電話端末１がサーバとして提供するサービスを実現するためのプログラムである。
【００５６】
通信部２６は、送信部および受信部として機能する。通信部２６は、アンテナ２６ａを有し、基地局４００によって割り当てられるチャネルを介し、基地局４００との間でＣＤＭＡ方式などによる無線信号回線を確立し、基地局４００との間で電話通信および情報通信を行う。操作部１３は、操作キー、方向キー、決定ボタン等を含み、これらのキーやボタンが利用者によって操作されると、その操作内容に対応する信号を発生させる。そして、発生した信号は、利用者の指示として制御部２２へ入力される。
【００５７】
音声処理部３０は、マイク１５に入力される音声信号やレシーバ１６から出力される音声信号の処理を実行する。表示部２は、液晶ディスプレイ（ＬＣＤ、Liquid Crystal Display）や、有機ＥＬ（Organic Electro-Luminescence）パネルなどで構成された表示パネルを備え、制御部２２の制御に基づいて待受画面や各種の機能画面等を表示パネルに表示させる。
【００５８】
制御部２２は、携帯電話端末１の全体的な動作を統括的に制御する。すなわち、制御部２２は、携帯電話端末１の各種の処理が、操作部１３の操作や携帯電話端末１の記憶部２４に記憶されるソフトウェアに応じて適切な手順で実行されるように、通信部２６や、音声処理部３０や、表示部２等の動作を制御する。
【００５９】
制御部２２は、記憶部２４に記憶されているコンピュータプログラム（例えば、オペレーティングシステムプログラム、アプリケーションプログラム等）に基づいて処理を実行する。制御部２２は、例えば、マイクロプロセッサユニット（ＭＰＵ：Micro  Processing  Unit）で構成され、コンピュータプログラムに定義された手順にしたがって携帯電話端末１の各種の処理を実行する。すなわち、制御部２２は、記憶部２４に記憶されるコンピュータプログラムから命令列を順次読み込んで処理を実行する。なお、制御部２２は、記憶部２４に記憶されているコンピュータプログラムだけでなく、他の装置に記憶されているコンピュータプログラムをダウンロードして実行することもできる。
【００６０】
制御部２２は、携帯電話端末１の制御の一部として、通信制御プログラム２４ａに含まれる命令列を順次読み込み、読み込んだ命令列を実行することにより、メッセージの送受信に関する処理を実行する。また、制御部２２は、サービスプログラム２４ｂに含まれる命令列を順次読み込み、読み込んだ命令列を実行することにより、携帯電話端末１がサーバとして提供するサービスを実現する。
【００６１】
次に、図５を参照しながら、図１に示した中継装置２００の機能的な構成について説明する。図５は、中継装置２００の機能的な構成を示すブロック図である。図５に示すように、中継装置２００は、通信部２０１と、通信部２０２と、記憶部２０３と、制御部２０４とを有する。
【００６２】
通信部２０１は、電子機器３００等のクライアントとメッセージをやりとりするための送信部および受信部として機能する。通信部２０２は、携帯電話端末１等のサーバとメッセージをやりとりするための送信部および受信部として機能する。なお、通信部２０１および通信部２０２は、例えば、イーサネット（登録商標）等のネットワークに接続するためのインターフェース装置であってもよいし、公衆回線を通じて通信を行うためのモデムであってもよい。
【００６３】
記憶部２０３は、各種情報を記憶する記憶装置であり、例えば、磁気記憶装置や半導体記憶装置である。記憶部２０３には、制御部２０４での処理に利用されるデータやプログラムが記憶される。記憶部２０３に記憶されるデータやプログラムには、中継プログラム２０３ａと、サーバ管理データ２０３ｂとが含まれる。また、記憶部２０３には、メッセージを一時的に記憶する領域であるメッセージバッファ２０３ｃが設けられる。
【００６４】
中継プログラム２０３ａは、上述したようなメッセージの中継に関する機能を実現するためのプログラムである。サーバ管理データ２０３ｂは、メッセージの転送先となっているサーバの状態を管理するためのデータである。なお、サーバ管理データ２０３ｂへのデータの追加とサーバ管理データ２０３ｂからのデータの削除は、接続の確立状況に応じて、制御部２０４によって実行されるものとする。
【００６５】
ここで、サーバ管理データ２０３ｂの一例を図６に示す。図６に示すように、サーバ管理データ２０３ｂは、アドレス、接続確認時刻、状態といった項目を有し、サーバごとにデータが格納される。アドレスの項目には、サーバのアドレスが格納される。接続確認時刻の項目には、サーバから接続応答メッセージを最後に受信した日時が格納される。
【００６６】
状態の項目には、サーバとの通信状態を示す値として、「接続中」、「一時切断中」または「切断中」のいずれかの値が格納される。「接続中」は、サーバとの通信が可能であることを示す。「一時切断中」は、サーバとの通信が一時的に切断されていることを示す。「切断中」は、サーバとの通信が一定時間以上切断されていることを示す。
【００６７】
制御部２０４は、中継装置２００の全体的な動作を統括的に制御する。すなわち、制御部２０４は、中継装置２００の各種の処理が、記憶部２０３に記憶されるソフトウェアに応じて適切な手順で実行されるように、通信部２０１、通信部２０２等の動作を制御する。
【００６８】
制御部２０４は、記憶部２０３に記憶されているコンピュータプログラム（例えば、オペレーティングシステムプログラム、アプリケーションプログラム等）に基づいて処理を実行する。制御部２０４は、例えば、マイクロプロセッサユニット（ＭＰＵ：Micro  Processing  Unit）で構成され、コンピュータプログラムに定義された手順にしたがって携帯電話端末１の各種の処理を実行する。すなわち、制御部２０４は、記憶部２０３に記憶されるコンピュータプログラムから命令列を順次読み込んで処理を実行する。
【００６９】
なお、制御部２０４は、記憶部２０３に記憶されているコンピュータプログラムだけでなく、他の装置に記憶されているコンピュータプログラムをダウンロードして実行することもできる。また、制御部２０４は、図示しない媒体読み取り装置が読み取り可能なＣＤ−ＲＯＭ等の記憶媒体に記憶されているコンピュータプログラムを読み出して実行することもできる。
【００７０】
制御部２０４が、中継プログラム２０３ａに含まれる命令列を順次読み込み、読み込んだ命令列を実行することにより、通信状態確認部２０４ａと、中継制御部２０４ｂとが実現される。通信状態確認部２０４ａは、転送先のサーバとの通信状態を定期的に確認する。中継制御部２０４ｂは、サーバの無線通信が一時的に不能になってもサーバとクライアントの間の接続が切断されることがないように、各種メッセージの中継を制御する。
【００７１】
次に、図７および図８を参照しながら、中継プログラム２０３ａに基づいて制御部２０４が実行する処理の処理手順について説明する。
【００７２】
図７は、制御部２０４が中継プログラム２０３ａを実行することによって実現される通信状態確認部２０４ａの処理手順を示すフロー図である。図７に示す処理手順は、定期的に実行される。
【００７３】
通信状態確認部２０４ａは、ステップＳ１０１として、サーバ管理データ２０３ｂから未取得のデータを１件取得する。未取得のデータを取得できた場合（ステップＳ１０２，Ｎｏ）、通信状態確認部２０４ａは、ステップＳ１０３として、取得したデータに設定されているアドレス宛に接続確認メッセージを送信し、応答を待つ。
【００７４】
所定の時間内に応答が受信された場合（ステップＳ１０４，Ｎｏ）、通信状態確認部２０４ａは、ステップＳ１０５として、取得したデータの状態の項目に「接続中」を設定する。そして、通信状態確認部２０４ａは、ステップＳ１０６として、取得したデータの接続確認時刻の項目に、応答を受信した日時を設定する。その後、通信状態確認部２０４ａは、ステップＳ１０１以降を再実行する。
【００７５】
所定の時間内に応答が受信されずにタイムアウトが発生した場合（ステップＳ１０４，Ｙｅｓ）、通信状態確認部２０４ａは、ステップＳ１０７として、取得したデータの接続確認時刻の項目に設定されている日時からの経過時間を算出する。
【００７６】
そして、経過時間が閾値以内であれば（ステップＳ１０８，Ｎｏ）、通信状態確認部２０４ａは、ステップＳ１０９として、取得したデータの状態の項目に「一時切断中」を設定する。一方、経過時間が閾値を超過していれば（ステップＳ１０８，Ｙｅｓ）、通信状態確認部２０４ａは、ステップＳ１１０として、取得したデータの状態の項目に「切断中」を設定する。その後、通信状態確認部２０４ａは、ステップＳ１０１以降を再実行する。
【００７７】
そして、ステップＳ１０１において未取得のデータを取得できなかった場合、すなわち、全てのデータを取得済みの場合（ステップＳ１０２，Ｙｅｓ）、通信状態確認部２０４ａは、処理を終了する。
【００７８】
図８は、制御部２０４が中継プログラム２０３ａを実行することによって実現される中継制御部２０４ｂの処理手順を示すフロー図である。図８に示す処理手順は、通信部２０１によってメッセージが受信されるたびに実行される。
【００７９】
ステップＳ２０１として、通信部２０１によってメッセージが受信されると、中継制御部２０４ｂは、ステップＳ２０２として、受信されたメッセージが接続確認メッセージであるかを判定する。受信されたメッセージが接続確認メッセージである場合（ステップＳ２０２，Ｙｅｓ）、中継制御部２０４ｂは、ステップＳ２０３として、サーバ管理データ２０３ｂから、接続確認メッセージの送信先となっているサーバの状態を取得する。
【００８０】
取得した状態が「切断中」でない場合、すなわち、取得した状態が「接続中」または「一時切断中」である場合（ステップＳ２０４，Ｎｏ）、中継制御部２０４ｂは、ステップＳ２０５として、接続確認応答メッセージを送信元であるクライアントへ送信させる。
【００８１】
一方、取得した状態が「切断中」である場合（ステップＳ２０４，Ｙｅｓ）、中継制御部２０４ｂは、接続確認応答メッセージを送信させない。なお、接続確認応答メッセージの送信元に対して、送信先との通信が不能である旨を他の装置が通知することがプロトコル上で認められている場合、通信不能である旨をクライアントへ通知してもよい。
【００８２】
受信されたメッセージが接続確認メッセージでない場合（ステップＳ２０２，Ｎｏ）、中継制御部２０４ｂは、ステップＳ２０６として、サーバ管理データ２０３ｂから、メッセージの送信先となっているサーバの状態を取得する。なお、受信されたメッセージが接続確認メッセージでない場合とは、受信されたメッセージが、例えば、接続要求メッセージ、サービス要求メッセージ、切断要求メッセージである場合を意味する。
【００８３】
取得した状態が「接続中」の場合（ステップＳ２０７，Ｙｅｓ）、中継制御部２０４ｂは、ステップＳ２１５以降を実行する。取得した状態が「接続中」でない場合、すなわち、取得した状態が「切断中」または「一時切断中」である場合（ステップＳ２０７，Ｎｏ）、中継制御部２０４ｂは、ステップＳ２０８として、ＢＵＳＹメッセージを送信元であるクライアントへ送信させる。そして、中継制御部２０４ｂは、ステップＳ２０９として、受信されたメッセージをメッセージバッファ２０３ｃに格納する。
【００８４】
続いて、中継制御部２０４ｂは、ステップＳ２１０として、サーバ管理データ２０３ｂから、メッセージの送信先となっているサーバの状態を取得する。そして、取得した状態が「接続中」に変わってない場合（ステップＳ２１１，Ｎｏ）、中継制御部２０４ｂは、ステップＳ２１２として、タイムアウトが発生したかを判定する。ここでのタイムアウトは、メッセージが受信されてから所定の時間が経過した場合に発生する。
【００８５】
タイムアウトが発生していない場合（ステップＳ２１２，Ｎｏ）、中継制御部２０４ｂは、ステップＳ２１０以降を再実行し、サーバの状態を再判定する。タイムアウトが発生した場合（ステップＳ２１２，Ｙｅｓ）、中継制御部２０４ｂは、ステップＳ２１３として、メッセージバッファ２０３ｃに格納したメッセージを削除する。なお、メッセージの送信元に対して、送信先との通信が不能である旨を他の装置が通知することがプロトコル上で認められている場合、タイムアウトの発生時に、通信不能である旨をクライアントへ通知してもよい。
【００８６】
ステップＳ２１０で取得した状態が「接続中」に変わっていた場合（ステップＳ２１１，Ｙｅｓ）、中継制御部２０４ｂは、ステップＳ２１４として、メッセージバッファ２０３ｃに格納していたメッセージを取得する。このとき、メッセージは、メッセージバッファ２０３ｃから削除される。続いて、中継制御部２０４ｂは、ステップＳ２１５以降を実行する。
【００８７】
なお、サーバの通信が復旧した後に、中継制御部２０４ｂが、サーバとクライアントとの接続を回復させる処理を実行することとしてもよい。通信不能が長く続いて、サーバがクライアントとの接続を切断してしまっている場合に対処するためである。この場合、クライアント側では接続が維持されているので、サーバ側で接続を回復させるだけでよい。
【００８８】
接続の回復は、例えば、中継制御部２０４ｂが、クライアントを送信元として設定した接続要求メッセージをサーバへ送信させることで実現できる。接続要求メッセージに対する応答がサーバから送信されても、応答のクライアントへの転送は不要である。また、切断前の状態を復元できるように、接続が確立されて以降にクライアントから送信されたメッセージを中継装置２００内に記憶しておき、接続の回復後に、記憶しておいたメッセージを受信した順にサーバへ送信してもよい。
【００８９】
ステップＳ２１５として、中継制御部２０４ｂは、メッセージを、メッセージの送信先となっているサーバへ転送させる。そして、中継制御部２０４ｂは、ステップＳ２１６として、サーバからの応答が受信されたかを判定する。応答が受信されていない場合（ステップＳ２１６，Ｎｏ）、中継制御部２０４ｂは、ステップＳ２１７として、タイムアウトが発生したかを判定する。ここでのタイムアウトは、メッセージを転送させてから所定の時間が経過した場合に発生する。
【００９０】
タイムアウトが発生していない場合（ステップＳ２１７，Ｎｏ）、中継制御部２０４ｂは、ステップＳ２１６以降を再実行し、応答の有無を再判定する。タイムアウトが発生した場合（ステップＳ２１７，Ｙｅｓ）、中継制御部２０４ｂは、特に何も行わない。なお、メッセージの送信元に対して、送信先との通信が不能である旨を他の装置が通知することがプロトコル上で認められている場合、タイムアウトの発生時に、通信不能である旨を中継制御部２０４ｂがクライアントへ送信させてもよい。
【００９１】
応答が受信された場合（ステップＳ２１６，Ｙｅｓ）、中継制御部２０４ｂは、ステップＳ２１８として、受信された応答をクライアントへ送信させる。
【００９２】
上述してきたように、本実施形態では、クライアントがサーバとの通信状態を確認するために送信した接続確認メッセージに対して、中継装置２００が応答を送信することとしたので、サーバが一時的に通信不能となっていてもクライアントに接続を維持させることができる。また、本実施形態では、サーバが一時的に通信不能となっているときにクライアントがサーバへリクエストを送信した場合に、中継装置２００がクライアントへＢＵＳＹメッセージを送信することとしたので、接続を維持したままでクライアントを待機させることができる。
【００９３】
なお、上記の各実施形態で示した本発明の態様は、本発明の要旨を逸脱しない範囲で任意に変更することができる。例えば、中継プログラム２０３ａ等のプログラムは、複数のモジュールに分割されていてもよいし、他のプログラムと統合されていてもよい。また、携帯電話端末１や中継装置２００は、通信回線を通じて中継プログラム２０３ａ等のプログラムを他の装置からダウンロードして実行してもよい。また、携帯電話端末１や中継装置２００は、ＣＤ−ＲＯＭ等の可搬の記憶媒体に記憶された中継プログラム２０３ａ等のプログラムを読み出して実行してもよい。
【００９４】
また、上記の実施形態では、サーバと中継装置２００の通信経路上に無線通信が行われる区間があることとしたが、サーバと中継装置２００の通信経路上に無線通信が行われる区間はなくてもよい。すなわち、本発明は、無線通信が行われる無線通信区間を含まない通信システムにも適用することができる。
【００９５】
また、上記の実施形態では、サーバが一時的に通信不能となっているときにクライアントからのリクエストが受信された場合に、フロー制御の仕組みを使って、接続を維持したままでクライアントを待機させることとしたが、同様の効果を得られる他の仕組みを用いてもよい。すなわち、サーバが一時的に通信不能となっているときにクライアントから送信されたリクエストに対して、中継装置２００がＢＵＳＹメッセージ以外のメッセージを送信してクライアントにメッセージの送信を休止させてもよい。
【００９６】
また、上記の実施形態では、クライアントからのリクエストの受信時にクライアントにＢＵＳＹメッセージを送信することとしたが、サーバが通信不能となっていることを検出した後、速やかに、クライアントにＢＵＳＹメッセージを送信することとしてもよい。この場合、接続要求メッセージや切断要求メッセージ等に基づいて、どのサーバとどのクライアントが接続中であるかを把握しておき、通信不能となったサーバと接続中のクライアントへＢＵＳＹメッセージを送信すればよい。このように構成することにより、サーバが通信不能となっている間はクライアントからリクエストが送信されなくなり、メッセージバッファ２０３ｃを設けなくてもよくなる。
【産業上の利用可能性】
【００９７】
以上のように、本発明に係る中継装置、無線通信機器、制御方法および通信システムは、一時的な通信不能によってサーバとクライアントの間の接続が切断されることを抑止する場合に適している。
【符号の説明】
【００９８】
１  携帯電話端末
２  表示部
１３  操作部
１５  マイク
１６  レシーバ
２２  制御部
２４  記憶部
２４ａ  通信制御プログラム
２４ｂ  サービスプログラム
２６  通信部
３０  音声処理部
１００  通信システム
２００  中継装置 
２０１  通信部
２０２  通信部
２０３  記憶部
２０３ａ  中継プログラム
２０３ｂ  サーバ管理データ
２０３ｃ  メッセージバッファ
２０４  制御部
２０４ａ  通信状態確認部
２０４ｂ  中継制御部
３００  電子機器
４００  基地局
【図１】
2012095159.tif 000003
【図２】
2012095159.tif 000004
【図３】
2012095159.tif 000005
【図４】
2012095159.tif 000006
【図５】
2012095159.tif 000007
【図６】
2012095159.tif 000008
【図７】
2012095159.tif 000009
【図８】
2012095159.tif 000010