(57)【特許請求の範囲】
【請求項１】
第１の通信装置からの接続先決定要求を受け付ける要求受付部と、
前記接続先決定要求に応じて、前記第１の通信装置の接続先となるサーバを複数のサーバの中から決定する決定部と、を備え、
前記複数のサーバのうち少なくとも１つの第１サーバは、第１の時刻に稼働停止予定であり、
前記決定部は、前記複数のサーバへそれぞれ接続されている通信装置の接続数に応じて、前記第１の通信装置の前記複数のサーバへの接続時間の履歴情報、または前記第１サーバへの通信装置の接続時間の履歴情報に基づき、前記第１時刻が到来する前に前記第１サーバに接続されている通信装置の接続数を抑制するように、前記第１の通信装置の接続先を決定する
接続制御装置。
【請求項２】
前記決定部は、前記第１時刻になるまでの時間が規定時間以上あるときは、前記複数のサーバがそれぞれ予め定めた頻度で選択されるように、前記第１の通信装置の接続先を決定する
請求項１に記載の接続制御装置。
【請求項３】
前記決定部は、前記第１時刻になるまでの時間が規定時間未満のときは、前記第１サーバを選択する頻度を低下させる
請求項１または２に記載の接続制御装置。
【請求項４】
前記決定部は、前記第１時刻になるまでの時間が規定時間未満のときは、前記第１サーバ以外のサーバを選択する
請求項３に記載の接続制御装置。
【請求項５】
前記決定部は、前記第１の通信装置の接続終了時刻を推定し、前記接続終了時刻と前記第１の時刻との差に基づいて、前記第１の通信装置の接続先を決定する
請求項１ないし４のいずれか一項に記載の接続制御装置。
【請求項６】
前記決定部は、前記接続終了時刻と前記第１の時刻との差が閾値以下のときは、前記第１サーバを選択し、前記閾値より大きいときは、前記第１サーバを選択する頻度を低下させる
請求項５に記載の接続制御装置。
【請求項７】
前記決定部は、前記接続終了時刻と前記第１の時刻との差が前記閾値より大きいときは、前記第１サーバ以外のサーバを選択する
請求項６に記載の接続制御装置。
【請求項８】
前記決定部は、前記第１サーバにおける接続発生頻度と平均接続時間と接続数とに関する情報に基づき、前記第１サーバに通信装置を以降一切接続させないと仮定した場合に、前記第１サーバへの接続数が所定の許容値になるまでの時間を算出し、前記第１時刻までの時間と、前記所定の許容値になるまでの時間とに基づいて、前記第１の通信装置の接続先を決定する
請求項１に記載の接続制御装置。
【請求項９】
前記決定部は、前記第１時刻までの時間と、前記所定の許容値になるまでの時間との差が閾値より大きいときは、前記第１サーバを選択する頻度を低下させる
請求項８に記載の接続制御装置。
【請求項１０】
前記決定部は、前記第１時刻までの時間と、前記所定の許容値になるまでの時間との差が閾値より大きいときは、前記第１サーバ以外のサーバを選択する
請求項９に記載の接続制御装置。
【請求項１１】
前記決定部は、前記第１時刻までの時間と、前記所定の許容値になるまでの時間との差が閾値以下のときは、前記複数のサーバがそれぞれ予め定めた頻度で選択されるように、前記第１の通信装置の接続先を決定する
請求項８ないし１０のいずれか一項に記載の接続制御装置。
【請求項１２】
前記決定部は、前記サーバごとの前記サーバへ接続された通信装置の種類毎の接続時間の履歴情報と、前記第１の通信装置の種類に基づき、前記第１時刻が到来する前までに前記第１サーバに接続されている通信装置の接続数を抑制するように、前記第１の通信装置の接続先を決定する
請求項１ないし１１のいずれか一項に記載の接続制御装置。
【請求項１３】
前記決定部は、前記通信装置の接続数が閾値以下のサーバの中から前記第１の通信装置の接続先を決定する
請求項１ないし１２のいずれか一項に記載の接続制御装置。
【請求項１４】
前記要求受付部は、前記通信装置を遠隔制御する制御装置からの接続先決定要求を受け付け、
前記制御装置からの接続先決定要求は、制御対象とする前記通信装置の指定を含み、
前記決定部は、前記制御装置が指定する通信装置が接続されているサーバを前記制御装置の接続先に決定する
請求項１ないし１３のいずれか一項に記載の接続制御装置。
【請求項１５】
前記決定部は、前記通信装置および前記制御装置の合計接続数が閾値以下のサーバの中から前記第１の通信装置の接続先を決定する
請求項１４に記載の接続制御装置。
【請求項１６】
第１の通信装置からの接続先決定要求を受け付ける要求受付ステップと、
前記接続先決定要求に応じて、前記第１の通信装置の接続先となるサーバを複数のサーバの中から決定する決定ステップとを、コンピュータが実行し、
前記複数のサーバのうち少なくとも１つの第１サーバは、第１の時刻に稼働停止予定であり、
前記決定ステップは、前記複数のサーバへそれぞれ接続されている通信装置の接続数に応じて、前記第１の通信装置の前記複数のサーバへの接続時間の履歴情報、または前記サーバごとの通信装置の接続時間の履歴情報に基づき、前記第１時刻が到来する前に前記第１サーバに接続されている通信装置の接続数を抑制するように前記第１の通信装置の接続先を決定する
接続制御方法。
【請求項１７】
第１の通信装置からの接続先決定要求を受け付ける要求受付ステップと、
前記接続先決定要求に応じて、前記第１の通信装置の接続先となるサーバを複数のサーバの中から決定する決定ステップとを、コンピュータに実行させ、
前記複数のサーバのうち少なくとも１つの第１サーバは、第１の時刻に稼働停止予定であり、
前記決定ステップは、前記複数のサーバへそれぞれ接続されている通信装置の接続数に応じて、前記第１の通信装置の前記複数のサーバへの接続時間の履歴情報、または前記第１サーバへの通信装置の接続時間の履歴情報に基づき、前記第１時刻が到来する前に前記第１サーバに接続されている通信装置の接続数を抑制するように、前記第１の通信装置の接続先を決定する
コンピュータプログラム。
【請求項１８】
第１の通信装置と、前記第１の通信装置を遠隔制御する制御装置と、接続制御装置とを備えた接続制御システムであって、
前記第１の通信装置は、前記接続制御装置に接続先決定要求を送信する接続先決定要求部を備え、
前記接続制御装置は、前記第１の通信装置から前記接続先決定要求を受け付ける要求受付部と、
前記接続先決定要求に応じて、前記第１の通信装置の接続先となるサーバを複数のサーバの中から決定する決定部と、を備え、
前記複数のサーバのうち少なくとも１つの第１サーバは、第１の時刻に稼働停止予定であり、
前記決定部は、前記複数のサーバへそれぞれ接続されている通信装置の接続数に応じて、前記第１の通信装置の前記複数のサーバへの接続時間の履歴情報、または前記第１サーバへの通信装置の接続時間の履歴情報に基づき、前記第１時刻が到来する前に前記第１サーバに接続されている通信装置の接続数を抑制するように、前記第１の通信装置の接続先を決定し、
前記要求受付部は、前記決定部で決定したサーバを指定する情報を前記第１の通信装置に通知し、
前記第１の通信装置は、前記接続制御装置から通知された情報に基づき前記サーバに接続する接続部を備え、
前記制御装置は、前記第１の通信装置を特定する情報を含む接続先決定要求を前記接続制御装置に送信する接続先決定要求部を備え、
前記決定部は、前記制御装置に対して前記第１の通信装置と同じサーバを決定し、
前記要求受付部は、前記決定部で決定したサーバを指定する情報を前記制御装置に通知し、
前記制御装置は、前記接続制御装置から通知された情報に基づき前記サーバに接続する接続部を備える
接続制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、接続制御装置、接続制御方法、接続制御システムおよびコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、スマートフォンやノートＰＣなどのクライアント端末から、テレビや照明などの家電や他のクライアント端末を遠隔制御する要望が高まっている。しかし、異なる通信ネットワークからの接続を制限している場合など、クライアント端末同士が直接通信することができない場合も多々ある。このような場合、通信プロトコルの一つであるＷｅｂＳｏｃｋｅｔに対応したサーバを、中継サーバとして用いることで、クライアント端末同士の双方向通信を実現する方法がある。
【０００３】
一方、近年、インターネットを経由してサービスを提供するクラウドサービスが普及している。クラウドサービスの一つに、ＩａａＳ（Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）がある。ＩａａＳとは、仮想化技術により、仮想サーバなど（インスタンス）を作成し、システムを構成するインフラリソースとして提供するサービスである。ＩａａＳを利用するＷｅｂサービス提供業者などは、Ｗｅｂサーバの負荷状況によって、仮想サーバを追加し、システムを拡大する（スケールアウト）といった運用を柔軟に行うことができる。また、昼間帯と夜間帯とで、接続数に差異がある場合は、接続数の多い昼間帯には、スケールアウトしておき、夜間帯には、元に戻すといった運用も可能である。これにより、Ｗｅｂサービス提供業者は、接続数の増減に対応しつつ、接続数が減少する時間帯における不要なインスタンス使用料を削減することができる。
【０００４】
ところで、上記の遠隔制御の接続も、昼間帯と夜間帯とで、接続数に差異があることが分かっている。よって、中継サーバとして用いるＷｅｂＳｏｃｋｅｔサーバを、Ｉａａｓを利用して構築するメリットは大きい。しかし、仮想サーバは、利用時間の経過後は、接続の有無に関わらず、停止させなければならない。強制的に接続が切断された場合、接続が切断されたユーザの多数は、即座にサービスへの再接続を試みるがために、残りのサーバに多数の接続要求が集中する。これにより、一時的に、サーバの負荷が急上昇するといった問題が生じる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−８０１７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の実施形態は、停止予定のサーバへの接続を制御することにより、当該サーバの停止時における他のサーバへの再接続の集中を回避することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一実施形態に係る接続制御装置は、要求受付部と決定部とを備える。前記要求受付部は、第１の通信装置からの接続先決定要求を受け付ける。前記決定部は、前記接続先決定要求に応じて、前記第１の通信装置の接続先となるサーバを複数のサーバの中から決定する。前記複数のサーバのうち少なくとも１つの第１サーバは、第１の時刻に稼働停止予定である。前記決定部は、前記複数のサーバへそれぞれ接続されている通信装置の接続数に応じて、前記第１の通信装置の前記複数のサーバへの接続時間の履歴情報、または前記第１サーバへの通信装置の接続時間の履歴情報に基づき、前記第１時刻が到来する前に前記第１サーバに接続されている通信装置の接続数を抑制するように、前記第１の通信装置の接続先を決定する。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係る通信環境の例を示す図。
【図２】本実施形態に係る接続制御システムのブロック図。
【図３】本実施形態に係る状態取得部が取得する状態情報の例を示す図。
【図４】本実施形態に係る状態記憶部が格納する状態情報の例を示す図。
【図５】本実施形態に係る、被制御端末ごとの接続時間履歴の例を示す図。
【図６】本実施形態に係る、サーバごとの接続統計情報の例を示す図。
【図７】本実施形態に係る、被制御端末からの接続処理のフローチャート。
【図８】本実施形態に係る、制御端末からの接続処理のフローチャート。
【図９】本実施形態に係る切断処理のフローチャート。
【図１０】本実施形態に係る、状態情報の更新処理のフローチャート。
【図１１】本実施形態に係る、接続時間履歴に基づく振分先決定処理のフローチャート。
【図１２】本実施形態に係る、接続統計情報に基づく振分先決定処理のフローチャート。
【図１３】本実施形態に係る、接続するサーバを同確率で振り分けた場合での、サーバ接続数の推移図。
【図１４】本実施形態に係る、振分先決定処理を実施した場合での、時間帯とサーバ接続数の推移図。
【図１５】本発明の一実施形態のハードウェア構成例を示す図。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら、本発明の実施形態について説明する。
【００１０】
（実施形態）
図１は、本実施形態に係る通信環境の例を示す図である。
【００１１】
制御端末（制御装置）１０１は、被制御端末（通信装置）１０２を遠隔制御するスマートフォンやノートＰＣなどのクライアント端末である。被制御端末１０２は、制御端末１０１により、遠隔制御される家電やＰＣなどのクライアント端末である。制御端末１０１と、被制御端末１０２は異なる通信ネットワーク上に存在し、制御端末１０１と、被制御端末１０２との通信は、ＷｅｂＳｏｃｋｅｔサーバなどの中継サーバ２０１を介して行われる。
【００１２】
中継サーバ２０１は、制御端末１０１および被制御端末１０２とＷｅｂＳｏｃｋｅｔにて接続されている場合に、制御端末１０１または被制御端末１０２から受け取ったデータを、もう一方のＷｅｂＳｏｃｋｅｔ接続へ転送する。制御端末１０１および被制御端末１０２の両ＷｅｂＳｏｃｋｅｔ接続を保持していることにより、中継サーバとしての役割を果たす。
【００１３】
ＷｅｂＳｏｃｋｅｔとは、ＲＦＣ６４５５規格で定められた通信プロトコルであり、通信元と通信先で、永続的な接続を構築することができる。被制御端末１０２が遠隔制御されるためには、被制御端末１０２は、制御端末１０１からの命令を受信するまで、中継サーバ２０１との接続を維持し続ける必要がある。ゆえに、一定時間経過しても接続が切断されないＷｅｂＳｏｃｋｅｔが適している。ただし、データの中継をすることができる接続ならば、ＷｅｂＳｏｃｋｅｔ以外でもよい。
【００１４】
接続制御サーバ３０１は、制御端末１０１と被制御端末１０２間の接続制御装置として機能する。接続制御サーバ３０１は、制御端末１０１と被制御端末１０２との通信を接続する中継サーバ２０１を決定する。中継サーバ２０１が複数台存在する場合、制御端末１０１と被制御端末１０２は同じ中継サーバ２０１に接続しなければならない。そこで、制御端末１０１と被制御端末１０２は、中継サーバ２０１に接続する前に、接続制御サーバ３０１と通信し、接続すべき中継サーバに関する指示を受ける必要がある。
【００１５】
本実施形態は、このような通信環境下において、制御端末１０１と被制御端末１０２の通信を実現する。
【００１６】
図２は、本実施形態に係る接続制御システムのブロック図である。本実施形態に係る接続制御システムは、制御端末１０１、被制御端末１０２、中継サーバ２０１、接続制御サーバ３０１、情報記憶部４０１、サーバ制御部５０１を備える。
【００１７】
制御端末１０１および被制御端末１０２は、複数台存在し、どちらも接続制御サーバ３０１が決定した中継サーバ２０１に接続する。制御端末１０１および被制御端末１０２は、振分要求部（接続先決定要求部）１０４、接続要求部１０５、切要求部１０６を備え、接続制御サーバ３０１に対し、接続先の中継サーバ２０１の振分要求を行う。また接続制御サーバ３０１により決定された中継サーバ２０１に対し、接続の要求、および接続の切断要求を行う。
【００１８】
振分要求部１０４は、接続制御サーバ３０１に対し、接続する中継サーバ２０１の振分要求を送信し、接続制御サーバ３０１で決定された中継サーバ２０１のサーバＩＤを含む情報を応答として受信する。
【００１９】
接続要求部１０５は、接続制御サーバ３０１から取得したサーバＩＤに基づき、当該サーバＩＤをもつ中継サーバ２０１に対し、ＷｅｂＳｏｃｋｅｔ接続要求を送信する。
【００２０】
切断要求部１０６は、接続中の中継サーバ２０１に対し、ＷｅｂＳｏｃｋｅｔ切断要求を送信する。
【００２１】
中継サーバ２０１は、多数の制御端末１０１および被制御端末１０２からのＷｅｂＳｏｃｋｅｔ接続を分散させるために、Ｎ台（Ｎは２以上の整数）存在する。ただし、一時的に１つまたは複数の中継サーバが稼働を停止することにより、稼働している中継サーバの台数が１台となることを許容してもよい。複数台の中継サーバ２０１は、各々固有の識別子（サーバＩＤ）をもつ。中継サーバ２０１は、状態取得部２０２、接続受付部２０３、切断受付部２０４を備える。
【００２２】
状態取得部２０２は、中継サーバ２０１の使用状況、接続中の制御端末１０１および被制御端末１０２の数またはＷｅｂＳｏｃｋｅｔ接続の数、スケジュールなどの状態情報を取得する。図３は、状態取得部２０２が取得する状態情報の例を示す図である。図３の状態情報の場合、このサーバは、１００００のＷｅｂＳｏｃｋｅｔ接続を保持している。また、停止予定時刻と起動予定時刻が指定されている。このように、停止が予定されているサーバを臨時サーバと呼ぶ。停止せずに稼働し続けるサーバを通常サーバと呼ぶ。ＷｅｂＳｏｃｋｅｔ接続の数は、被制御端末１０２とのＷｅｂＳｏｃｋｅｔ接続数でもよいし、制御端末１０１と非制御端末１０２のＷｅｂｓｏｃｋｅｔ接続数の合計でもよい。本実施形態では後者の場合を想定して説明を以降行うが、前者の場合と解釈しても問題ない。
【００２３】
接続受付部２０３は、制御端末１０１および被制御端末１０２からのＷｅｂＳｏｃｋｅｔ接続要求を受け付け、ＲＦＣ６４５５で定められた手順に従い、ＷｅｂＳｏｃｋｅｔによる接続を確立する。また、ＷｅｂＳｏｃｋｅｔ接続を確立した時刻を情報記憶部４０１に記録する。記録は、ＷｅｂＳｏｃｋｅｔ接続確立時でもよいし、一定時間経過後でもよい。
【００２４】
切断受付部１０３は、制御端末１０１および被制御端末１０２からのＷｅｂＳｏｃｋｅｔ切断要求を受け付け、ＲＦＣ６４５５で定められた手順に従い、ＷｅｂＳｏｃｋｅｔ接続を切断する。また、ＷｅｂＳｏｃｋｅｔ接続を切断した時刻を、情報記憶部４０１に記録する。記録は、ＷｅｂＳｏｃｋｅｔ接続切断時でもよいし、一定時間経過後でもよい。
【００２５】
接続制御サーバ３０１は、１台構成でも複数台構成でもよい。複数台構成の場合は、制御端末１０１または被制御端末１０２が、異なる接続制御サーバに振分要求を送信した場合、もう一方の接続に関する情報を保持していないため、適切な中継サーバ２０１を決定できない可能性があるが、接続制御サーバが共有するデータベースや情報記憶部４０１など、接続の情報を全サーバが参照できるようにすればよい。接続制御サーバ３０１は、ＨＴＴＰサーバなど、制御端末１０１および被制御端末１０２からの振分要求に応答できるサーバであればよい。接続制御サーバ３０１は、振分要求受付部（要求受付部）３０２、振分先決定部（決定部）３０３、状態要求部３０４、状態記憶部３０５を備える。
【００２６】
振分要求受付部３０２は、制御端末１０１および被制御端末１０２からの振分要求に応じて、振分先決定部３０３に対し、接続先とするサーバの決定要求を行う。そして、振分先決定部３０３から送られてきたサーバＩＤを、制御端末１０１および被制御端末１０２に通知する。
【００２７】
振分先決定部３０３は、Ｎ台の中継サーバ２０１から、接続先とする中継サーバ２０１を決定し、当該サーバのサーバＩＤを振分要求受付部３０２に送る。制御端末１０１からの要求であって、被制御端末１０２が、すでに中継サーバ２０１と接続している場合は、その中継サーバ２０１を接続先として決定する。被制御端末１０２からの要求である場合は、臨時サーバの停止時における通常サーバへの再接続要求の集中を回避するための通信制御ルールにしたがって、接続先を決定する。例えば、臨時サーバが停止する時刻付近である場合は、臨時サーバには新たな接続を振り分けないといったルールが考えられる。なお、制御端末１０１からの要求であって、被制御端末１０２がどの中継サーバにも接続されていない場合は、制御端末１０１にエラー通知を返しても良い。
【００２８】
状態要求部３０４は、中継サーバ２０１の状態取得部２０２に対し、状態情報の取得要求を送信する。また、要求を受け付けた状態取得部２０２から送信された状態情報を、状態記憶部３０５に記録する。
【００２９】
状態記憶部３０５は、中継サーバ２０１から取得した状態情報を格納する。図４は、状態記憶部３０５が格納する状態情報の例を示す図である。図４の状態情報の場合、サーバＩＤ０１のサーバは、停止および起動予定時刻がないことから通常サーバであり、サーバＩＤ０２のサーバは、停止および起動予定時刻があることから臨時サーバである。この場合、サーバＩＤ０２のサーバが停止時刻で停止した後は、サーバＩＤ０１のサーバ１台のみが稼働する。起動予定時刻後は、同サーバが復帰し、２台が稼働する。図４の状態情報にはサーバＩＤやＩＰアドレスなどサーバの静的な情報が含まれる。これら、図３の状態情報に含まれていないサーバの静的な情報は、状態取得部２０２が別途入手しておき、図３の状態情報を入手した際または送信する際に、対応付けて送信してもよい。または、状態記憶部３０５が、図３の状態情報に含まれていないサーバの静的な情報を予め保持し、受信した図３の状態情報と対応付けて格納してもよい。
【００３０】
情報記憶部４０１は、被制御端末１０２と中継サーバ２０１との接続時間や接続頻度に関する情報を格納する部分である。例えば、被制御端末１０２ごとの接続時間の履歴（接続時間履歴）がある。また、サーバごとの被制御端末１０２の接続時間または接続頻度に基づく履歴情報、例えば平均接続時間や接続発生頻度などの情報（以下、接続統計情報）がある。情報記憶部４０１は、制御端末１０１についても同様の情報を格納してもよい。
【００３１】
接続時間とは、被制御端末１０２と中継サーバ２０１とのＷｅｂＳｏｃｋｅｔ接続が、確立してから切断が完了するまでの時間のことである。接続確立から切断完了まで接続状態が継続（維持）されている。図５は、情報記憶部４０１が格納する被制御端末１０２ごとの接続時間履歴の例を示す図である。情報記憶部４０１は、被制御端末１０２の端末ＩＤごとに、直近５回分の接続時間の履歴を格納する。例えば、被制御端末１０２の主電源が、手動もしくはタイマーなどの設定により、ＯＮにされ、その後同様にしてＯＦＦされた場合、図５のような履歴が残ることとなる。また、連日して１日２４時間稼働し続けるような被制御端末１０２では、接続時間は丸一日の１４４０分を記録するようにしてもよい。本実施形態では履歴の保持数を５回としているが、５回より小さくとも、大きくてもよい。また、一定時間より短い時間の接続時間はイレギュラーとして除き、一定条件を満たす直近の５回分のみを記録してもよい。
【００３２】
図６は、情報記憶部４０１が格納する、サーバごとの接続統計情報の例を示す図である。単位時間当たりに、中継サーバ２０１が受け付けた接続要求の発生頻度や、各々の接続の持続時間の平均値である平均接続時間などの情報が、サーバＩＤごとに格納されている。また、接続統計情報は、昼間帯、夜間帯、全日帯などの時間帯ごとに、分類されていてもよい。図６の情報も、被制御端末１０２のみを対象にしてもよいし、被制御端末１０２と制御端末１０１の両方を対象にしてもよい。
【００３３】
接続統計情報の算出は、接続確立時間および接続切断時間を受け取った情報記憶部４０１が算出してもよいし、接続受付部２０３および切断受付部１０３が、情報を算出してから送信してもよい。また、接続発生頻度、平均接続時間などの値は、全ての被制御端末１０２の平均値だけでなく、被制御端末１０２ごとに分けてもよい。また、属性や種類によって、被制御端末１０２をさら詳細に分類し、その分類した種類ごとに情報記憶部４０１に保存してもよい。例えば、家電機器、設備機器、照明機器、空調機器、映像機器といった種類や、存在する通信ネットワーク、あるいは、接続した時間帯や年月日などによって、分類することができる。接続時間は、被制御端末の種類や稼働状況によって、取る値の特徴が異なり得るため、詳細化された種類や状況ごとの値を用いることにより、後述する振分先決定処理にて用いる条件式や、算出する推定接続終了時刻などの精度を向上することが可能になる。
【００３４】
サーバ制御部５０１は、中継サーバ２０１の稼働台数の増減を行う。稼働台数の増減とは、臨時サーバの停止や起動、また新たな臨時サーバの追加などである。稼働台数の増減のタイミングは、あらかじめ指定された時刻（前述した起動予定時刻、停止予定時刻）に行ってもよいし、中継サーバ２０１を監視しておき、中継サーバ２０１の接続数の総数、接続要求発生率、負荷状況などの条件によって制御してもよい。
【００３５】
次に、本実施形態に係る接続制御システムにより行われる処理について説明する。本実施形態に係る接続制御システムは、制御端末１０１または被制御端末１０２と中継サーバ２０１との接続および切断処理、状態情報の更新処理、振分先決定処理を有する。
【００３６】
始めに、被制御端末１０２からの接続処理について説明する。図７は、被制御端末１０２からの接続処理のフローチャートである。
【００３７】
被制御端末１０２は、機器の電源投入時や、ＷｅｂＳｏｃｋｅｔ接続が切断されてから一定時間経過後などのタイミングで、ＷｅｂＳｏｃｋｅｔ接続の確立のための処理を開始する。被制御端末１０２は、接続制御サーバ３０１に対し、接続先のサーバの振分要求を行う（Ｓ１０１）。この取得要求は、一例としてＨＴＴＰリクエストなどでよい。振分要求には、被制御端末１０２の端末ＩＤが含まれる。
【００３８】
振分要求受付部３０２は、取得要求を受信すると、振分先決定部３０３に対し、被制御端末１０２が接続を行うべき中継サーバ２０１を決定するよう命令する（Ｓ１０２）。
【００３９】
振分先決定部３０３は、中継サーバ２０１の決定の命令を受けて、状態記憶部３０５に格納された状態情報と、情報記憶部４０１に格納された接続時間情報を読み出す（Ｓ１０３）。振分先決定部３０３は、読み出した状態情報および接続時間情報に基づき、被制御端末１０２が、ＷｅｂＳｏｃｋｅｔ接続を行うべき中継サーバ２０１を決定する（Ｓ１０４）。この処理の詳細は、振分先決定処理として後述する。
【００４０】
振分先決定部３０３は、決定した中継サーバ２０１のサーバＩＤおよびＩＰアドレスを、振分要求受付部３０１に送る（Ｓ１０５）。ＩＰアドレスは、サーバＩＤと対応づけられて状態記憶部３０５に格納されていてもよいし、振分先決定部３０３が保持していてもよい。振分先決定部３０３は、被制御端末１０２の端末ＩＤとサーバＩＤの対を対応データとして記録しておく。この記録先は、振分先決定部３０３でもよいし、状態記憶部３０４でも、その他でもよい。
【００４１】
振分要求受付部３０２は、接続先中継サーバ２０１のＩＰアドレスおよび被制御端末１０２の端末ＩＤからＵＲＬを生成し、被制御端末１０２に送信する（Ｓ１０６）。具体的には、振分要求受付部３０２は、生成したＵＲＬを含んだＨＴＴＰレスポンスとして送信する。ＵＲＬは、接続先の中継サーバ２０１のＩＰアドレスが、「１９２．１６８．０．１」、被制御端末１０２ＩＤが「００２」の場合、ＵＲＬは、「ｗｓ：／／１９２．１６８．０．１／ｃｏｎｎｅｃｔ？ｓｒｃ＝００２」のように生成される。ＵＲＬを受信した被制御端末１０２は、指定されたＵＲＬに対し、ＷｅｂＳｏｃｋｅｔ接続要求を送信する（Ｓ１０７）。
【００４２】
中継サーバ２０１の接続受付部２０３は、被制御端末１０２からＷｅｂＳｏｃｋｅｔ接続要求を受信し、接続を確立させ、接続確立の時刻を記録する（Ｓ１０８）。この接続確立時刻は、接続受付部２０３が保持してもよいし、情報記憶部４０１に記録してもよい。
【００４３】
以上で、被制御端末１０２からの接続処理は終了する。接続確立完了後、被制御端末１０２は、中継サーバ２０１との間で接続を維持させておく。
【００４４】
次に、制御端末１０１からの接続処理について説明する。図８は、制御端末１０１からの接続処理のフローチャートである。なお、本フローチャートの説明において、被制御端末１０２が中継サーバ２０１と事前に接続されていると前提にしている。制御端末１０１が制御対象として指定する被制御端末１０２が中継サーバ２０１と接続されていない場合は、後述の振分先決定処理にて、エラー通知を返すようにしてもよい。あるいは、制御端末１０１に再度の接続処理を行うよう要求してもよいし、接続先の中継サーバ２０１を任意の方法（本実施形態の振分先決定処理と同じ方法を用いても良い）で一に決定してもよい。
【００４５】
制御端末１０１は、ユーザのユーザインターフェースの操作などにより、任意のタイミングで、遠隔制御のための処理を開始する。まず、制御端末１０１は、接続制御サーバ３０１に対し、接続先サーバの振分要求を行う（Ｓ２０１）。この振分要求は、ＨＴＴＰリクエストなどでよい。このリクエストには、被制御端末１０２の端末ＩＤ（００２）が含まれている。具体的には、ＵＲＬの後部に記述される「？」以降の部分であるクエリストリングに、「００２」が含まれることとなる。
【００４６】
接続制御サーバ３０１の振分要求受付部３０２は、振分要求を受信すると、振分先決定部３０３に対し、リクエストなどに含まれている被制御端末１０２の端末ＩＤを送り、制御端末１０１が接続を行うべき中継サーバ２０１を決定するよう命令する（Ｓ２０２）。
【００４７】
振分先決定部３０３は、中継サーバ２０１の決定の命令を受けて、被制御端末の端末ＩＤとサーバＩＤとの対応データに基づき、制御端末１０１がＷｅｂＳｏｃｋｅｔ接続を行うべき中継サーバ２０１を決定する（Ｓ２０３）。
【００４８】
振分先決定部３０３は、被制御端末１０２の接続処理と同様、決定した中継サーバ２０１のサーバＩＤおよびＩＰアドレスを、振分要求受付部２０１に送る（Ｓ２０４）。ＩＰアドレスは、サーバＩＤと対応づけられて状態記憶部３０５に格納されていてもよいし、振分先決定部３０３が保持していてもよい。振分先決定部３０３は、制御端末１０１の端末ＩＤとサーバＩＤの対を対応データとして記録しておく。この記録先は、振分先決定部３０３でもよいし、状態記憶部３０４でも、その他でもよい。
【００４９】
振分要求受付部３０２は、接続先の中継サーバ２０１のＩＰアドレス、制御端末１０１の端末ＩＤ、被制御端末１０２の端末ＩＤからＵＲＬを生成し、制御端末１０１に送信する（Ｓ２０５）。具体的には、振分要求受付部３０２は、生成したＵＲＬを含んだＨＴＴＰレスポンスとして送信する。接続先の中継サーバ２０１のＩＰアドレスが、「１９２．１６８．０．１」、被制御端末１０２の端末ＩＤが「００２」、制御端末１０１の端末ＩＤが「００１」の場合、ＵＲＬは「ｗｓ：／／１９２．１６８．０．１／ｃｏｎｎｅｃｔ？ｓｒｃ＝００１＆ｄｓｔ＝００２」のように生成される。ｓｒｃは制御端末を、ｄｓｔは被制御端末を表す。ＵＲＬを受信した制御端末１０１は、指定されたＵＲＬに対し、ＷｅｂＳｏｃｋｅｔ接続要求を送信する（Ｓ２０６）。
【００５０】
中継サーバ２０１の接続受付部２０３は、ＷｅｂＳｏｃｋｅｔ接続要求を受信し、接続を確立させ、接続確立の時刻を記録する（Ｓ２０７）。この接続確立時刻は、接続受付部２０３が保持してもよいし、情報記憶部４０１に記録してもよい。そして、接続受付部２０３は、ＵＲＬに含まれる被制御端末１０２の端末ＩＤから、被制御端末１０２との接続確立時に記録した被制御端末１０２の端末ＩＤを照合し、この端末ＩＤを記録した時の接続が受信したデータの転送先と認識し、その転送関係を記録する（Ｓ２０８）。この記録先は、接続受付部２０３でも、情報記憶部４０１でも、その他でもよい。
【００５１】
以上で、制御端末１０１からの接続処理は終了する。以後、中継サーバ２０１は、被制御端末と制御端末との転送関係を把握しているため、制御端末１０１または被制御端末１０２から、ＷｅｂＳｏｃｋｅｔ接続を通じて伝送された情報を、もう一方のＷｅｂＳｏｃｋｅｔ接続へ転送することにより、両者間の通信は可能となる。すなわち、制御端末１０１から被制御端末１０２の遠隔制御が可能となる。
【００５２】
次に、切断処理について説明する。図９は、切断処理のフローチャートである。まず、制御端末１０１または被制御端末１０２は、中継制御サーバ２０１に対し、接続の切断要求を送信する（Ｓ３０１）。
【００５３】
切断受付部２０４は、接続の切断要求を受け付け、接続を切断する（Ｓ３０２）。また、接続受付部２０３から接続確立の時刻を取得し、切断の完了時刻との差により、接続時間を算出し、被制御端末１０２の端末ＩＤをキーとしたエントリとして、情報記憶部４０１に記録する（Ｓ３０３）。制御端末１０１についても同様にして接続時間を算出し、記録してもよい。なお、切断受付部２０４は、切断の完了時刻を情報記憶部４０１に記録し、情報記憶部４０１が接続時間を算出してもよい。本実施形態では、情報記憶部４０１は、少なくとも被制御端末１０２について、端末ＩＤごとに直近５回分の接続時間の履歴を格納するとしているため、新たな接続時間の履歴を受信した場合は、最古の履歴を削除し、最新の履歴を格納する。また、最古の履歴ではなく、今までの履歴と今回の値の中から、最も外れた値を削除してもよい。
【００５４】
以上で、切断処理は終了する。本実施形態の切断処理によれば、接続処理終了時と切断処理終了時に、時刻を記録することにより、接続時間を把握することができる。
【００５５】
次に、状態記憶部３０５に格納する状態情報の更新処理について説明する。図１０は、状態情報の更新処理のフローチャートである。
【００５６】
状態要求部３０４は、中継サーバ２０１の状態取得部２０２に対し、状態情報の取得要求を行う（Ｓ４０１）。中継サーバ２０１は複数あるが、全てのサーバに対し同時に要求しても、個別に要求してもよい。要求するタイミングは任意でよい。取得要求は、ＨＴＴＰリクエストやＳＮＭＰコマンドを送信する方法などが考えられるが、図４に示した状態情報が取得可能であればよい。また、この例では、状態要求部が能動的に要求を行うが、状態取得部２０２が、自発的に状態情報を取得し、状態要求部３０４に送信してもよい。この際の取得および送信のタイミングは任意でよい。
【００５７】
状態取得部２０２は状態情報の取得要求を受信すると、中継サーバ２０１に現に接続されているＷｅｂＳｏｃｋｅｔ接続の数を取得し、状態要求部３０４に送信する（Ｓ４０２）。ＷｅｂＳｏｃｋｅｔ接続数の取得は、ＷｅｂＳｏｃｋｅｔの機能によって取得する方法や、サーバのＯＳに対し、コマンドを送信する方法が考えられる。
【００５８】
状態要求部３０４は、受け取った状態情報を、状態記憶部３０５に記録する（Ｓ４０３）。記録する情報は、状態取得部２０２が加工、編集してもよい。あるいは、加工、編集は、状態記憶部３０５が行ってもよい。
【００５９】
以上の手順により、接続制御サーバ３０１は、各中継サーバ２０１の状態情報を収集する。振分先決定部３０３は、各中継サーバ２０１の状態情報と、情報記憶部４０１内の情報を用いて、被制御端末がＷｅｂＳｏｃｋｅｔ接続を行うべき中継サーバ２０１のサーバＩＤを決定する。
【００６０】
次に、振分先決定処理について説明する。振分先決定処理の例として、接続時間履歴を用いる場合と、サーバごとの接続統計情報を用いる場合を説明する。図１１は、接続時間履歴に基づく振分先決定処理のフローチャートである。
【００６１】
接続制御サーバ３０１の振分先決定部３０３は、受信した振分要求が、制御端末１０１と被制御端末１０２のいずれかからの要求であるかを判断する（Ｓ５０１）。この判断は、例えば、ＨＴＴＰリクエストのヘッダから制御端末か被制御端末のいずれかを判断できるようにしてもよい。あるいは、被制御を示す識別子と端末ＩＤとのペアが含まれており、制御を示す識別子と端末ＩＤとのペアが含まれていない場合に、被制御端末１０２からの要求であると判断し、両ペアが含まれる場合に制御端末１０１からの要求であると判断してもよい。あるいは、制御端末１０１および被制御端末１０２の端末ＩＤのリストを事前に保持しておき、振分要求に単一の端末ＩＤが含まれる場合に、当該端末ＩＤとそのリストから判断してもよい。
【００６２】
制御端末１０１からの要求である場合（Ｓ５０１のＹＥＳ）、要求に含まれる被制御端末１０２の端末ＩＤに基づいて、接続時に記録したデータ（被制御端末の端末ＩＤとサーバＩＤの対応データ）から、接続先の中継サーバ２０１のサーバＩＤを検索する（Ｓ５０２）。そして、特定したサーバＩＤのサーバを接続先の中継サーバ２０１として決定する（Ｓ５０３）。なお、被制御端末１０２が接続していないなど、サーバＩＤを特定できなかった場合は、制御端末１０１にエラーを返してもよいし、一定時間後に再接続処理を行うよう要求してもよいし、後述する被制御端末１０２の要求の処理(Ｓ５０１のＮＯ)と同じフローにて、接続先の中継サーバ２０１を決定してもよい。
【００６３】
一方、受信した振分要求が被制御端末１０２からの要求である場合（Ｓ５０１のＮＯ）、通信制御ルールにしたがって接続先を決定する。例えば、臨時サーバが停止する時刻に近づくほど、新たに振り分ける接続を臨時サーバに振り分ける頻度を減少させるといったルールが考えられる。また、中継サーバ２０１の接続数やＣＰＵ使用率などの負荷を分散するようなルールを加えてもよい。本フローチャートでは、臨時サーバが停止する時刻が、規定時間内であれば、臨時サーバの接続数が減少するように、規定時間よりも先であれば、負荷を分散するように接続先を決定する。
【００６４】
臨時サーバの停止予定時刻までの時間が規定時間を越えているかを判定する（Ｓ５０４）。停止予定時刻までの時間が規定時間を越えているならば（Ｓ５０４のＹＥＳ）、臨時サーバへの接続の制限を開始する必要性は低いため、振分先決定部３０３は、通常サーバと臨時サーバを同じ頻度（例えば同じ確率）で選択し、選択したサーバを接続サーバとして決定する（Ｓ５０５）。この規定時間は、予め定められた一定時間でもよいし、現在の接続状況から決定してもよい。例えば、現在の接続数や接続発生頻度が予め定められた閾値を越えた場合は、臨時サーバへの接続の制限を早く開始するために、規定時間をより短くすることが考えられる。また、選択する確率は、変動させてもよい。例えばサーバの能力（最大接続可能数等）に応じて、能力が高いほど確率を高くしてもよい。
【００６５】
一方、臨時サーバの停止予定時刻までの時間が規定時間以内であれば（Ｓ５０４のＮＯ）、振分先決定部３０３は、情報記憶部４０１に格納された接続時間情報から、接続時間の履歴を取得し、接続が終了する時刻（推定接続終了時刻）を推定する（Ｓ５０６）。この推定方法は、接続開始時刻から、前回の接続時間と同じ時間経過後としてもよいし、接続履歴の平均値の時間の経過後としてもよいし、同じ時間帯の他の被制御端末１０２（または制御端末１０１）の接続時間の平均の時間の経過後などでもよい。または臨時サーバの平均接続時間を利用してもよい。
【００６６】
振分先決定部３０３は、推定接続終了時刻と、停止予定時刻を比較する。停止予定時刻が推定接続終了時刻より前の場合（Ｓ５０７のＮＯ）、すなわち、推定接続終了時刻と停止予定時刻との差が０より大きい場合、振分先決定部３０３は、通常サーバを選択する（Ｓ５０８）。停止予定時刻が推定接続終了時刻より後の場合は（Ｓ５０７のＹＥＳ）、すなわち、推定接続終了時刻と停止予定時刻との差が０より小さい場合、臨時サーバとの接続を指示する（Ｓ５０９）。より一般的に、推定接続終了時刻と停止予定時刻との差が閾値より大きい場合、臨時サーバの選択頻度を低下させ（例えば固定的に通常サーバを選択し）、閾値以下の場合に、臨時サーバを選択すると言うこともできる。
【００６７】
以上、本実施形態によれば、接続時間履歴に基づく振分先決定処理により、中継サーバの稼働停止予定および稼働開始予定に応じて、被制御端末の接続先を適切に決定することができる。例えば、臨時サーバの停止予定時刻よりも接続が持続する可能性が高い被制御端末については、通常サーバを選択することで、臨時サーバの停止予定時刻における臨時サーバの接続数を減らすことができる。一方、停止予定時刻よりも先に当該接続が切断される可能性が高い被制御端末については、臨時サーバに接続させることにより、通常サーバへの接続数の集中を避けることができる。
【００６８】
次に、サーバごとの接続統計情報に基づいて振分先決定処理を説明する。本例は、臨時サーバの停止時に、強制切断する接続数を許容数以内に収めることを目的として、接続先を決定する方法である。
【００６９】
図１２は、接続統計情報に基づく振分先決定処理のフローチャートである。振分先決定部３０３が受信した振分要求が制御端末１０１および被制御端末１０２のいずれからのものかの判断は、接続時間履歴を用いる場合の処理と同様である。
【００７０】
振分先決定部３０３は、被制御端末１０２からの要求と判断した場合（Ｓ５０１のＮＯ）、状態情報から通常サーバの接続数Ｃ０１が、予め定められた閾値を超えているかを判定し（Ｓ６０１）、超えている場合は（Ｓ６０１のＹＥＳ）、臨時サーバを接続サーバとして選択する（Ｓ６０２）。この閾値は、サーバの能力と負荷を考慮して定めることを想定しているが、それ以外の基準で閾値を定めてもよい。
【００７１】
閾値を超えていない場合は（Ｓ６０１のＮＯ）、振分先決定部３０３は、なるべく均等に接続数を分散させながらも、臨時サーバが、強制切断時に、許容数以上の接続数を保持していないように接続先を決定する。例えば、接続要求の到着率がポアソン分布、接続時間が指数分布に従うと近似した上で、現在以降、一切、臨時サーバに振り分けないとした場合に、現在の臨時サーバの接続数ＣＯ２が、許容数Ｒに等しくなるまでの推定所要時間Ｔを、平均接続時間をλとし、次式にて算出する（Ｓ６０３）。
【数１】
0006378057.tif 000002
例えば、平均接続時間λ＝１２０（分）、現接続数Ｃ０２＝４３０００、切断許容数Ｒ＝８０００であれば、推定所要時間Ｔ＝１２０×ｌｎ（４３０００／８０００）≒２０２（分）となる。許容数Ｒは、予め振分先決定部３０３が保持してもよいし、情報記憶部４０１が保持し、接続統計情報を取得する際に取得してもよい。
【００７２】
振分先決定部３０３は、停止予定時刻までの時間と、推定所要時間Ｔを比較し、推定所要時間Ｔの方が大きい場合は（Ｓ６０４のＮＯ）、臨時サーバへの接続の制限を開始する必要性は低いため、通常サーバと臨時サーバを同確率で選択する（Ｓ６０５）。なお、選択する確率は、前述と同様に、変動させてもよい。推定所要時間の方が小さい場合は（Ｓ６０４のＹＥＳ）、通常サーバを選択する（Ｓ６０６）。より一般的に、停止予定時刻までの時間と、推定所要時間Ｔとの差が閾値以下の場合、通常サーバと臨時サーバをそれぞれ予め定めた頻度（例えば同確率）で選択し、閾値より大きい場合、臨時サーバの選択頻度を低下させる（例えば固定的に通常サーバを選択する）と言うことができる。
【００７３】
以上、本実施形態によれば、接続統計情報に基づく振分先決定処理により、近似式による予測を用いることにより、停止時刻における臨時サーバの接続数が許容数Ｒを越えないように、接続先を振り分けることができる。ゆえに、許容数Ｒを変化させることで、臨時サーバの停止に伴う再接続の発生数を、所望の値にまで制御することが可能となる。また、停止予定時刻までの時間が推定所要時間Ｔよりも長い場合は、同確率で両サーバへの振り分けを行うことで、通常サーバの接続数が過大になることを回避することができる。
【００７４】
図１３は、２台の中継サーバ２０１に対し、被制御端末１０２の接続を同確率で振り分けた場合での、サーバ接続数の推移図である。また、図１４は、２台の中継サーバ２０１に対し、本振分先決定処理を実施した場合での、サーバ接続数の推移図である。図１３および図１４（ａ）は、通常サーバの接続数ＣＯ１と、臨時サーバの接続数ＣＯ２の総和であり、２台のサーバに接続されている総数の推移図である。図１３および図１４（ｂ）は、通常サーバの接続数ＣＯ１の、図１３および図１４（ｃ）は臨時サーバの接続数ＣＯ２の推移図である。これらの接続数には、制御端末１０１と被制御端末１０２の両方の接続が含まれる。被制御端末１０２の接続数のみで評価してもよく、この場合も同様の傾向が得られると考えられる。図中の接続数が減少傾向にある「ｔ０＜時刻≦ｔ１」の時間帯は深夜帯であり、増加傾向にある「ｔ１＜時刻≦ｔ２」の時間帯は昼間帯である。このように接続数には日周的なパターンがある。昼間帯は通常サーバ１台と臨時サーバ１台が稼働し、深夜帯では、通常サーバ１台が稼働する。臨時サーバは、ｔ０およびｔ２の時点で停止し、ｔ１の時点で起動する。
【００７５】
深夜帯は、新たな接続数が減少し、切断する接続数が多くなるため、サーバの接続数は減少する。図１３では、新規接続を同確率で振り分けるため、接続数の減少度合いは、通常サーバと臨時サーバで同じとなる。一方、図１４では、臨時サーバに振られる新規接続がなくなるため、減少度合いは大きくなる。これにより、図１４のほうが、臨時サーバ停止時点での、臨時サーバの接続数が少ないことが見て取れる。ゆえに、臨時サーバ停止後の再接続要求数も少なくなる。
【００７６】
以上のように、本実施形態によれば、臨時サーバ停止時に生じるＷｅｂｓｃｏｋｅｔ接続の強制切断の数を削減することができ、通常サーバへの再接続に伴う処理負荷の急増を回避することができる。
【００７７】
なお、この本振分先決定処理の例では、臨時サーバの接続数が、許容数Ｒに等しくなるまでの所要時間を推定したが、時間によって、許容数Ｒの値を変動させてもよい。また、許容数Ｒは、臨時サーバ停止時における許容数としたが、臨時サーバ停止時に限定したわけではない。現在時刻からｔ（ｔは任意の数）時間経過したときの臨時サーバの接続数を任意の手段で推定し、ｔ時間経過時の接続数が、その時間の許容数Ｒｔを超えているか否かによって、処理を切り替える形態であってもよい。
【００７８】
また、この本振分先決定処理の例では、Ｔの値を近似式に基づき推定していたが、必ずしもこれに限らなくともよい。シミュレーションなど任意の方法で算出したＴの値を、あらかじめ振分先決定部３０３が保持してもよい。また、停止予定時刻までの時間がＴの値よりも小さい場合（Ｓ６０４のＮＯ）は、１００％の確率で通常サーバを選択したが、この確率を変えてもよい。
【００７９】
許容数Ｒを用いる以外の例として、臨時サーバに接続している被制御端末１０２のうち、その推定接続終了時刻が、現在時刻からｔ時間経過した時刻よりも後となっているものの個数を数え、その個数を接続数の推定値とした上で、この値が規定の閾値を超えているか否かによって、動作を切り換えてもよい。すなわち、閾値を超えている場合は、前述した停止予定時刻までの時間が推定所要時間Ｔの値よりも小さい場合と同様の処理を行い、閾値以下の場合は、停止予定時刻までの時間が、推定所要時間Ｔより大きい場合と同様の処理を行えばよい。なお、この場合の前提として、情報記憶部４０１は、図６で示した情報（接続発生頻度と平均接続時間）に加えて、図５で示した、被制御端末の端末ＩＤごとの直近５回分の接続時間の履歴（接続時間履歴）を記憶しているものとする。さらに、この履歴を用いて算出された被制御端末の端末ＩＤごとの推定接続終了時刻を記憶しているものとする。
【００８０】
なお、本実施形態は、振分先決定処理によって、臨時サーバの停止時に、強制切断する接続数を許容数以内に収めることを実現させたが、別の実現方法と組み合わせてもよい。例えば、停止予定時刻の前から、臨時サーバが、再接続が集中しない程度の頻度で、臨時サーバ上の接続を順次切断していく方法と組み合わせてもよい。これにより、停止時刻での臨時サーバの接続数をさらに抑制でき、強制切断に伴う多数の再接続による処理負荷の急増を回避できる。
【００８１】
また、制御端末１０１と被制御端末１０２は、ＷｅｂＳｏｃｋｅｔ接続の切断後、即時再接続をせずに、ランダムな待ち時間を経てから、再接続処理を実行するようにしてもよい。
【００８２】
なお、上記に説明した実施形態における各処理は、ソフトウェア（プログラム）によって実現することが可能である。よって、上記に説明した実施形態における接続制御システムの一部は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用い、コンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することが可能である。
【００８３】
図１５は、本実施形態に係る接続制御サーバを実現したハードウェア構成例を示す。なお、中継サーバ２０１、制御端末１０１、被制御端末１０２も図１５のようなハードウェア構成で実現することができる。
【００８４】
接続制御装置は、プロセッサ６０１、主記憶装置６０２、補助記憶装置６０３、ネットワークインタフェース６０４、デバイスインタフェース６０５を備え、これらがバス６０６を介して接続された、コンピュータ装置として実現できる。
【００８５】
プロセッサ６０１が、補助記憶装置６０３からプログラムを読み出して、主記憶装置６０２に展開して、実行することで、振分要求受付部３０２、振分先決定部３０３、状態要求部３０４、状態記憶部３０５の機能を実現することができる。
【００８６】
本実施形態の接続制御装置は、当該接続制御装置上で実行されるプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、プログラムをＣＤ−ＲＯＭなどの記憶媒体に記憶して、あるいは通信ネットワークを介して配布して、コンピュータ装置に適宜インストールすることで実現してもよい。
【００８７】
ネットワークインタフェース６０４は、通信ネットワークに接続するためのインタフェースである。制御端末１０１、被制御端末１０２、中継サーバ２０１、情報記憶部４０１、サーバ制御部５０１などとの通信は、このネットワークインタフェース６０４にて実現してもよい。ここではネットワークインタフェースを１つのみ示しているが、複数のネットワークインタフェースが搭載されていてもよい。
【００８８】
デバイスインタフェース６０５は、外部記憶媒体６０７などの機器と接続するインタフェースである。外部記憶媒体５１０は、ＨＤＤ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＡＭ、  ＤＶＤ−Ｒ、ＳＡＮ（Ｓｔｏｒａｇｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）等の任意の記録媒体でよい。情報記憶部４０１には、このデバイスインタフェース６０５で接続されてもよい。また外部に、ディスプレイやキーボードがといった表示装置、入力装置がある場合は、これらに接続してもよい。
【００８９】
主記憶装置６０２は、プロセッサ６０１が実行する命令、および各種データ等を一時的に記憶するメモリ装置であり、ＤＲＡＭ等の揮発性メモリでも、ＭＲＡＭ等の不揮発性メモリでもよい。補助記憶装置６０３は、プログラムやデータ等を永続的に記憶する記憶装置であり、例えば、ＨＤＤまたはＳＳＤ等がある。記憶部２０４の機能は、主記憶装置６０２、補助記憶装置６０３または外部記憶媒体６０７で実現できる。
【００９０】
上記に、本発明の一実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９１】
１０１  制御端末
１０２  被制御端末
２０１  中継サーバ
２０２  状態取得部
２０３  接続受付部
２０４  切断受付部
３０１  接続制御サーバ
３０２  振分要求受付部
３０３  振分先決定部
３０４  状態要求部
３０５  状態記憶部
４０１  情報記憶部
５０１  サーバ制御部
６０１  プロセッサ
６０２  主記憶装置
６０３  補助記憶装置
６０４  ネットワークインタフェース
６０５  デバイスインタフェース
６０６  バス
６０７  外部記憶媒体
【図１】
0006378057.tif 000003
【図２】
0006378057.tif 000004
【図３】
0006378057.tif 000005
【図４】
0006378057.tif 000006
【図５】
0006378057.tif 000007
【図６】
0006378057.tif 000008
【図７】
0006378057.tif 000009
【図８】
0006378057.tif 000010
【図９】
0006378057.tif 000011
【図１０】
0006378057.tif 000012
【図１１】
0006378057.tif 000013
【図１２】
0006378057.tif 000014
【図１３】
0006378057.tif 000015
【図１４】
0006378057.tif 000016
【図１５】
0006378057.tif 000017