"接続先装置との間でセッションを確立する確立部と、前記確立部によって確立済みのセッションであって、接続元装置によって発行されたコマンドに対して空きセッションがあるか否かを判定する判定部と、前記接続元装置から前記コマンドを検出した際に、前記判定部によって空きセッションがあると判定された場合には、当該空きセッションを用いて前記接続先装置との間で当該検出されたコマンドを通信すると共に、確立済みのセッションを継続して維持できる、前記接続先装置が有する所定時間内に、継続メッセージを前記接続先装置に当該セッションを用いて送信する通信部とを有することを特徴とする通信装置。前記通信部は、前記接続元装置から前記コマンドを検出した際に、前記判定部によって空きセッションがないと判定された場合には、前記確立部によって新たに確立されたセッションを用いて前記接続先装置との間で当該検出されたコマンドを通信することを特徴とする請求項1に記載の通信装置。前記接続先装置とセッション確立可能なセッション上限数と、当該接続先装置とセッション確立可能に接続した装置の接続台数とを収集し、収集された前記セッション上限数及び前記接続台数に基づき、当該通信装置自体がセッション確立を許可できるセッション許可数を算出する算出部をさらに有し、前記確立部は、前記算出部にて算出された前記セッション許可数の範囲内で前記セッションを確立することを特徴とする請求項1又は2に記載の通信装置。前記接続先装置と接続するセッション確立可能な他の通信装置からの貸与要求を検出すると、前記算出部にて算出された当該通信装置自体の前記セッション許可数の範囲内で未確立のセッションがある場合、当該未確立のセッションを、前記貸与要求を発行した前記他の通信装置に貸与する貸与部と、他の通信装置から前記未確立のセッションの貸与を検出すると、貸与された未確立のセッション数に応じて当該通信装置自体の前記セッション許可数を決定する決定部とをさらに有することを特徴とする請求項3に記載の通信装置。前記接続先装置から前記コマンドのデータ送信に対する応答結果を受信すると、当該コマンドのデータ送信の内容に対応付けて前記応答結果を記憶する記憶部と、前記コマンドを発行する接続元装置から前記コマンドのデータ送信を受信すると、当該コマンドのデータ送信の内容に対応した前記応答結果が前記記憶部内にある場合に、当該コマンドのデータ送信の内容に対応した前記応答結果を前記記憶部から読み出して前記接続元装置に返信する返信部とをさらに有することを特徴とする請求項1~4の何れか一つに記載の通信装置。接続先装置に対するコマンドを当該接続先装置との間で通信する通信装置の通信方法であって、前記通信装置は、前記接続先装置との間でセッションを確立し、前記接続先装置との間で確立済みのセッションであって、接続元装置によって発行された前記コマンドに対して空きセッションがあるか否かを判定し、前記接続元装置から前記コマンドを検出した際に、前記空きセッションがあると判定された場合には、当該空きセッションを用いて前記接続先装置との間で当該検出されたコマンドを通信すると共に、確立済みのセッションを継続して維持できる、前記接続先装置が有する所定時間内に、継続メッセージを前記接続先装置に当該セッションを用いて送信することを特徴とする通信方法。接続先装置に対するコマンドを当該接続先装置との間で通信するコンピュータの通信プログラムであって、前記接続先装置との間でセッションを確立し、前記接続先装置との間で確立済みのセッションであって、接続元装置によって発行された前記コマンドに対して空きセッションがあるか否かを判定し、前記接続元装置から前記コマンドを検出した際に、前記空きセッションがあると判定された場合には、当該空きセッションを用いて前記接続先装置との間で当該検出されたコマンドを通信すると共に、確立済みのセッションを継続して維持できる、前記接続先装置が有する所定時間内に、継続メッセージを前記接続先装置に当該セッションを用いて送信する各処理をコンピュータに実行させることを特徴とする通信プログラム。接続元装置と、当該接続元装置のアプリによって発行されたコマンドを実行する接続先装置と、前記接続元装置と前記接続先装置との間で前記コマンドを通信する中継装置と有する通信システムであって、前記接続元装置は、前記アプリからの前記コマンドを発行すると、当該コマンドの宛先に基づき、前記中継装置との間で確立済みのセッションであって、他のアプリからのコマンドに対して空きセッションがあるか否かを判定する判定部と、前記中継装置との間で前記空きセッションがあると判定された場合に、当該空きセッションを用いて前記中継装置との間で前記発行されたコマンドを通信すると共に、確立済みのセッションを継続して維持できる、前記接続先装置が有する所定時間内に、継続メッセージを当該中継装置に当該セッションを用いて送信する通信部とを有し、前記中継装置は、前記接続元装置との間で確立済みのセッションを使用してコマンドを検出すると、当該コマンドの宛先に基づき、前記接続先装置との間で確立済みのセッションであって、他のアプリからのコマンドに対して空きセッションがあるか否かを判定する判定部と、前記接続先装置との間で前記空きセッションがあると判定された場合に、当該空きセッションを用いて前記接続先装置との間で前記検出されたコマンドを通信すると共に、確立済みのセッションを継続して維持できる、前記所定時間内に、継続メッセージを当該接続先装置に当該セッションを用いて送信する通信部とを有することを特徴とする通信システム。しかしながら、上記技術では、新規セッションの確立のために、既に確立されたセッションを切断した後、新たなセッションを確立させるため、セッションの切断及び確立に関して機器の処理負担が大きく、新規セッション確立までに時間を要する場合がある。一つの側面では、新規セッションを確立する処理を省略できることを目的とする。開示の装置は、一つの態様において、接続先装置との間でセッションを確立する確立部を有する。更に、開示の装置は、前記確立部によって確立済みのセッションであって、接続元装置によって発行されたコマンドに対して空きセッションがあるか否かを判定する判定部を有する。更に、開示の装置は、前記接続元装置から前記コマンドを検出した際に、前記判定部によって空きセッションがあると判定された場合には、当該空きセッションを用いて前記接続先装置との間で当該検出されたコマンドを通信すると共に、確立済みのセッションを継続して維持できる、前記接続先装置が有する所定時間内に、継続メッセージを前記接続先装置に当該セッションを用いて送信する通信部を有する。一つの側面では、新規セッションを確立する処理を省略できる。以下、図面に基づいて、本願の開示する通信装置、通信方法、通信プログラム及び通信システムの実施例を詳細に説明する。尚、本実施例により、開示技術が限定されるものではない。図1は、実施例1の中継システムの構成の一例を示すブロック図である。図1に示す中継システム1は、複数の接続元端末10と、複数の中継サーバ20と、複数のルータ30とを有する。複数の接続元端末10、複数の中継サーバ20及び複数のルータ30は、ネットワーク5を介して接続される。接続元端末10は、接続元装置であって、通信インタフェース11と、メモリ12と、CPUCentralProcessingUnit13とを有する。通信インタフェース11は、接続元端末10が中継サーバ20と行う通信を制御するインタフェースである。メモリ12には、各種プログラム等の各種情報が記憶されている。CPU13は、接続元端末10全体を制御すると共に、例えば、メモリ12に記憶されている各種プログラムに基づき各種制御を実行する。CPU13は、ソフトウェア機能として、telnet実行部14及びエージェント15を含む。telnet実行部14は、例えば、telnetプロトコルに関わるアプリのコマンドを実行する。エージェント15は、例えば、telnet実行部14と中継サーバ20との間の通信を監視する。中継サーバ20は、通信インタフェース21と、メモリ22と、CPU23とを有する通信装置である。通信インタフェース21は、中継サーバ20が、接続元端末10と行う通信を制御すると共に、ルータ30と行う通信を制御するインタフェースである。メモリ22には、各種プログラム等の各種情報が記憶されている。CPU23は、中継サーバ20全体を制御すると共に、例えば、メモリ22に記憶されている各種プログラムに基づき各種制御を実行する。CPU23は、ソフトウェア機能として、接続元端末10と中継サーバ20との間、中継サーバ20とルータ30との間の通信を監視するマネージャ25を含む。ルータ30は、接続先装置である。尚、説明の便宜上、中継システム1の各接続元端末10はエージェント15を有し、例えば、接続元端末10Aはエージェント15A、接続元端末10Bはエージェント15B、接続元端末10Cはエージェント15Cを有する。また、中継システム1の各中継サーバ20はマネージャ25を有し、例えば、中継サーバ20Aはマネージャ25A、中継サーバ20Bはマネージャ25B、中継サーバ20Cはマネージャ25Cを有する。更に、中継システム1は、各ルータ3030A、30B、30C、を有する。図2は、接続元端末10が有するエージェント15の機能の一例を示すブロック図である。図2に示すエージェント15は、検出部51と、分析部52と、判定部53と、通信部54と、継続部55と、制御部56とを有する。検出部51は、telnet実行部14にて実行されたtelnetアプリのコマンドを検出する。分析部52は、検出部51にて検出されたコマンドを送信する宛先の機器のアドレスを分析する。分析部52は、分析結果に基づき、当該接続元端末10と、コマンドの宛先の機器ルータ30とのセッションを、接続元端末10と中継サーバ20との間のセッションと、中継サーバ20とルータ30との間のセッションとに分解する。判定部53は、後述するマネージャ25内の管理テーブルの内容を参照し、分析部52により分解された中継サーバ20との間のセッションの使用状態を分析する。判定部53は、例えば、中継サーバ20と確立済みのセッションの内、使用状態が空きであるセッションが存在するか否かを判定する。尚、使用状態が空きとは、確立済みのセッションの内、コマンドのデータ送信応答が完了した、すなわちコマンドに応答済みの状態である。通信部54は、判定部53にて中継サーバ20と確立済みのセッションの内、使用状態が空きであるセッションが存在しないと判定された場合、中継サーバ20と新規セッションを確立する。一方、通信部54は、判定部53にて中継サーバ20と確立済みのセッションの内、使用状態が空きであるセッションが存在すると判定された場合、新規セッションを確立することなく、この空きであるセッションを使用する。そして、通信部54は、使用状態が空きであるセッションが存在すると判定された場合に、この確立済みのセッションを使用して中継先で中継サーバ20とルータ30との間のセッションを示す確立情報を中継サーバ20に送信する。そして、通信部54は、中継サーバ20からセッション確立OKの応答を受信した場合、この確立されたセッションを使用してコマンド通信、すなわちデータ送信及びデータ送信応答を実行する。尚、セッション確立OKの応答は、接続元端末10と接続先装置であるルータ30との間のセッション、すなわち接続元端末10と中継サーバ20との間のセッション、及び中継サーバ20とルータ30との間のセッションが確立していることを示すメッセージである。また、継続部55は、中継サーバ20に対してハートビートメッセージを送信することで、中継サーバ20と確立済みのセッションを継続する。尚、ハートビートメッセージの送信タイミングは、ハートビートメッセージを受信するルータ30側で確立済みのセッションを自動的に切断するタイムアウト時間よりも短い間隔に設定するのが良い。ハートビートメッセージは、例えば、半角空白文字のブランクメッセージとし、接続先装置であるルータ30側でのメッセージ処理の負荷を軽減する。接続先装置であるルータ30は、タイムアウト時間前に中継サーバ20からハートビートメッセージを受信することで、例えば、タイムアウト時間カウントするカウンタの値をクリアする。その結果、ルータ30は、ハートビートメッセージを受信する都度、タイムアウトを計測するカウンタがクリアされることになるため、中継サーバ20を経由した接続元端末10との間の確立済みのセッションを維持できる。また、通信部54は、中継サーバ20内のマネージャ25とのセッションが確立された後、この確立済みのセッションを使用して1回のデータ送信を実行する際の送信間隔を、例えば2秒間隔に設定する。このようにして、接続先であるルータ30側のデータ送信に対する応答負荷を軽減することが可能となる。なお、制御部56は、エージェント15全体を制御する。図3は、中継サーバ20が有するマネージャ25の機能の一例を示すブロック図である。図3に示すマネージャ25は、通信部61と、中継部62と、分析部63と、判定部64と、管理テーブル65と、登録部66と、決定部67と、貸与部68と、制御部69とを有する。通信部61は、例えば、接続先装置となりうるルータ30、ルータ30と接続する他の中継サーバ20、接続元端末10との通信を制御する。中継部62は、接続元端末10とルータ30との間の通信を中継する。分析部63は、接続元端末10からのコマンド及びセッションの確立情報を分析する。そして、分析部63は、分析結果に基づき、接続元端末10と中継サーバ20との間のセッション、及び中継サーバ20とルータ30との間のセッションを識別する。中継部62は、確立部62Aを有する。確立部62Aは、分析部63により識別された接続元端末10と接続先装置であるルータ30との間のセッション、すなわち接続元端末10と中継サーバ20との間のセッション、及び中継サーバ20とルータ30との間のセッションを確立させる。そして、中継部62は、セッション確立OKの応答を接続元端末10のエージェント15に通知する。管理テーブル65は、接続元端末10とルータ30との間の確立済みセッションの使用状態を管理するために使用される。図4は、管理テーブル65のデータの一例を示す説明図である。図4に示す管理テーブル65には、当該管理テーブル65を備えた中継サーバ20が中継する各セッションの使用状態等が記憶されている。管理テーブル65には、セッションID65Aと、セッション区間始点/終点65Bと、使用状態65Cと、シーケンス番号65Dと、ACK番号65Eと、更新時刻65Fとが対応付けられて記憶されている。セッションID65Aは、接続元端末10とルータ30との間の確立済みのセッションを識別するIDを示す。セッション区間65Bは、接続元端末10とルータ30との間に関わる、接続元端末10と中継サーバ20との間の確立済みのセッションの始点及び終点と、中継サーバ20とルータ30との間の確立済みのセッションの始点及び終点とを示す。使用状態65Cは、該当セッション区間の確立済みのセッションの使用状態、例えば、使用中や空きを示す。シーケンス番号65Dは、該当セッション区間の通信で使用した直近のシーケンス番号を示す。ACK番号65Eは、該当セッション区間のセッションで相手先から受信すべき開始のシーケンス番号を示す。更新時刻65Fは、該当セッション区間のセッションで更新した時刻を示す。尚、マネージャ25は、管理テーブル65を参照して、セッションID65A、セッション区間65B、使用状態65C、シーケンス番号65D、ACK番号65E及び更新時刻65Fを認識できる。例えば、マネージャ25は、図4のセッションID65Aの02に着目して、例えば、セッション区間15B/25Aのセッション及び、セッション区間25A/30Aのセッションを認識する。尚、セッション区間15B/25Aは、接続元端末10B内のエージェント15Bと、当該中継サーバ20A内のマネージャ25Aとの間の確立済みのセッション区間を示している。また、セッション区間25A/30Aのセッションとは、当該中継サーバ20A内のマネージャ25Aとルータ30Aとの間の確立済みのセッション区間を示している。マネージャ25は、セッション区間15B/25Aに着目すると、使用状態65Cが使用中、シーケンス番号65Dが20031、ACK番号65Eが291、更新時刻65Fが2011/03/1410:02:01001と認識する。マネージャ25は、セッション区間25A/30Aに着目すると、使用状態65Cが使用中、シーケンス番号65Dが20001、ACK番号65Eが201、更新時刻65Fが2011/03/1410:03:01001と認識する。また、エージェント15は、マネージャ25内の管理テーブル65を参照して、同様に、各セッションのセッションID65A、セッション区間65B、使用状態65C、シーケンス番号65D、ACK番号65E及び更新時刻65Fを認識できる。判定部64は、分析部63によるコマンド宛先の確立情報の分析結果に基づき、管理テーブル65のテーブル内容を参照し、中継サーバ20内のマネージャ15とルータ30との間で確立済みのセッションの使用状態を分析する。また、中継部62は、確立済みのセッションを使用してエージェント15からのハートビートメッセージをルータ30に中継する。その結果、中継部62は、エージェント15とマネージャ25との間のセッションは勿論のこと、マネージャ25とルータ30との間のセッションの確立を継続するものである。また、登録部66は、エージェント15とマネージャ25との間のセッションが確立すると共に、マネージャ25とルータ30との間のセッションが確立した後、これら確立済みのセッションを識別するセッションID65Aを付与する。登録部66は、付与されたセッションID65Aに対応付けて、エージェント15との間で確立済みのセッション区間を示すセッション区間65Bと、ルータ30との間で確立済みのセッション区間を示すセッション区間65Bとを管理テーブル65内に登録する。更に、登録部66は、セッション区間65Bに対応した確立済みのセッションの使用状態、例えば、判定部64の判定結果を使用状態65Cとして管理テーブル65内に登録する。更に、登録部66は、確立済みのセッションを使用してコマンドに対応する応答結果、例えば、データ送信応答をルータ30から受信する。更に、登録部66は、ルータ30から受信したデータ送信応答を接続元端末10に中継するタイミングで、当該確立済みセッションの使用状態65Cを空きとして管理テーブル65内に登録する。決定部67は、通信部61を使用して、接続するルータ30と通信し、ルータ30側でセッションを確立できるセッション上限数を取得する。尚、決定部67は、通信部61を使用してルータ30にコマンドを送信することで、例えば、ShowrunningconfigからLinevty0に基づきセッション上限数を取得する。更に、決定部67は、通信部61を使用して、当該ルータ30と接続する各中継サーバ20等にブロードキャスト通信する。更に、決定部67は、ブロードキャスト通信に対する返信応答で、ルータ30と接続する接続台数を認識する。決定部67は、取得されたセッション上限数及び接続台数に基づき、セッション上限数÷接続台数の式を用いて、中継サーバ20自体で確立可能なセッション許可数を決定する。貸与部68は、通信部61を使用してルータ30と接続する各中継サーバ20に対してセッションの貸与要求をブロードキャスト送信する。尚、セッションの貸与要求は、他の中継サーバ20に対して未確立の空きセッションの貸与を要求するものである。また、貸与部68は、他の中継サーバ20からの貸与要求を検出すると、自装置で自律的に決定したセッション許可数の範囲内で未確立のセッションを、貸与要求を発行した中継サーバ20に貸与する。決定部67は、他の中継サーバ20から未確立のセッションの貸与を検出すると、未確立のセッションの貸与数に応じて、自装置のセッション許可数を更新する。例えば、未確立のセッションが貸与された決定部67は、現在のセッション許可数が5、貸与数が1の場合、現在のセッション許可数に貸与数を加算して、51に応じてセッション許可数を6に更新する。また、未確立のセッションを貸与する中継サーバ20側の決定部67は、現在のセッション許可数が5、自分が貸与した未確立のセッションの数が1の場合、現在のセッション許可数に貸与数を減算して、5-1に応じてセッション許可数を4に更新する。制御部69は、マネージャ25全体を制御すると共に、セッション許可数の範囲内で新規セッションの確立を制御する。また、管理テーブル65内のシーケンス番号65DとACK番号65Eとの関係について説明する。図5は、シーケンス番号65D及びACK番号65Eの関係の一例を示す説明図である。例えば、エージェント15は、確立synをマネージャ25に送信するSQ1。この際、確立synには、シーケンス番号1としてランダム値と、次にマネージャ25から受信すべき、開始シーケンス番号であるACK番号1としてランダム値とを含む。従って、マネージャ25は、ACK番号1に基づき、エージェント15に送信すべき、開始シーケンス番号を事前に認識できる。更に、マネージャ25は、確立synを受信すると、確立応答synackをエージェント15に送信するSQ2。この際、確立応答synackには、シーケンス番号2としてランダム値と、次にエージェント15から受信すべき、開始シーケンス番号であるACK番号2としてシーケンス番号11とを含む。従って、エージェント15は、ACK番号2に基づき、マネージャ25に送信すべき、開始シーケンス番号を事前に認識できる。更に、エージェント15は、確立応答synackを受信すると、確立ackをマネージャ25に送信するSQ3。この際、確立ackには、シーケンス番号3としてACK番号2と、次にマネージャ25から受信すべき、開始シーケンス番号であるACK番号3としてシーケンス番号21とを含む。従って、マネージャ25は、ACK番号3に基づき、エージェント15に送信すべき、開始シーケンス番号を事前に認識できる。更に、エージェント15は、確立ackを受信した後、データ送信pushをマネージャ25に送信するSQ4。この際、データ送信pushには、シーケンス番号4としてシーケンス番号3と、次にマネージャ25から受信すべき、開始シーケンス番号であるACK番号4としてACK番号3とを含む。従って、マネージャ25は、ACK番号4に基づき、エージェント15に送信すべき、開始シーケンス番号を事前に認識できる。更に、マネージャ25は、データ送信pushを受信した後、データ送信応答pushackをエージェント15に送信するSQ5。この際、データ送信pushackには、シーケンス番号5としてACK番号4と、次にエージェント15から受信すべき、開始シーケンス番号であるACK番号5としてシーケンス番号4当該データバイト数とを含む。従って、エージェント15は、ACK番号5に基づき、マネージャ25に送信すべき、開始シーケンス番号を事前に認識できる。更に、エージェント15は、データ送信pushをマネージャ25に送信するSQ6。この際、データ送信pushには、シーケンス番号6としてシーケンス番号5と、次にマネージャ25から受信すべき、開始シーケンス番号であるACK番号6としてACK番号5とを含む。従って、マネージャ25は、ACK番号6に基づき、同じ確立済みのセッションを使用して、エージェント15に送信すべき、開始シーケンス番号を事前に認識できる。更に、マネージャ25は、データ送信pushを受信した後、データ送信応答pushackをエージェント15に送信するSQ7。この際、データ送信pushackには、シーケンス番号7としてACK番号6と、次にエージェント15から受信すべき、開始シーケンス番号であるACK番号7としてシーケンス番号6当該データバイト数とを含む。従って、エージェント15は、ACK番号6に基づき、同じ確立済みのセッションを使用して、マネージャ25に送信すべき、開始シーケンス番号を事前に認識できる。登録部66は、エージェント15とマネージャ25との間のセッション区間毎のシーケンスに関してシーケンス番号65D及びACK番号65Eを管理テーブル65内に登録する。従って、マネージャ25及びエージェント15は、管理テーブル65内のシーケンス番号65D及びACK番号65Eを参照して、当該確立済みのセッションに関わる開始シーケンス番号を事前に認識できる。その結果、マネージャ25及びエージェント15は、確立済みの空きセッションを使い回しても、円滑なコマンド通信、すなわちデータ送信及びデータ送信応答を実行できる。尚、図5の例では、エージェント15とマネージャ25との間の確立済みのセッション毎のシーケンスに関してシーケンス番号65D及びACK番号65Eを管理した。しかし、マネージャ25とルータ30との間の確立済みのセッション毎のシーケンスに関してシーケンス番号65D及びACK番号65Eも管理する。つまり、マネージャ25及びルータ30は、管理テーブル65内のシーケンス番号65D及びACK番号65Eを参照して、確立済みのセッションの開始シーケンス番号を事前に認識できる。その結果、マネージャ25及びルータ30は、確立済みの空きセッションを使い回しても、円滑なデータ送信及びデータ送信応答を実行できる。次に、実施例1の中継システム1の動作について説明する。図6は、コマンド通信に関わる中継システム1の動作の一例を示すシーケンス図である。図6に示す中継システム1では、エージェント15A/マネージャ25A間及び、マネージャ25A/ルータ30A間で確立済みの該当セッションがなく、新規セッションが確立できる状況下にあるものとする。尚、新規セッションが確立できる状況下とは、ルータ30Aのセッション上限数の範囲内、かつ中継サーバ20Aのセッション許可数の範囲内で新規セッションが確立可能な状況下である。すなわち、エージェント15A/マネージャ25A間、マネージャ25A/ルータ30A間で新規のセッションが確立可能な状況下である。図6に示す接続元端末10Aのエージェント15Aの検出部51は、telnet実行部14から確立要求コマンドtelnetopen15A30Aを検出するステップS11。エージェント15Aの分析部52は、確立要求コマンドを検出すると、確立要求コマンドを分析するステップS12。分析部52は、確立要求コマンドの分析結果に基づき、確立要求コマンドtelnetopen15A30Aをtelnetopen15A25Atelnetopen25A30Aに分解する。すなわち、分析部52は、エージェント15Aとルータ30Aとの間のセッションを、エージェント15Aとマネージャ25Aとの間のセッションと、マネージャ25Aとルータ30Aとの間のセッションとに分解する。エージェント15Aの判定部53は、マネージャ25A内の管理テーブル65を参照して、コマンド宛先に対応するエージェント15Aとマネージャ25Aとの間の確立済みのセッションを分析する。判定部53は、分析結果に基づき、コマンド宛先に対応する確立済みのセッション15A/25Aがないと判定するステップS13。更に、判定部53は、確立済みのセッション15A/25Aがないと判定されると、新規セッションが確立可能な状況下にあるか否かを判定する。通信部54は、新規セッションが確立可能な状況下にあると判定されるとステップS14、telnetopen15A25Aに基づき、新規セッションを確立すべく、マネージャ25Aに対して確立synを送信するステップS15。更に、マネージャ25Aの中継部62は、エージェント15Aから確立synを受信すると、エージェント15Aに対して確立応答synackを送信するステップS16。更に、エージェント15Aの通信部54は、マネージャ25Aから確立応答synackを受信すると、マネージャ25Aに対して確立ackを送信するステップS17。その結果、エージェント15Aとマネージャ25Aとの間の新規セッションが確立したことになる。従って、マネージャ25Aの登録部66は、エージェント15Aとマネージャ25Aとの間の確立済みのセッション15A/25Aの使用状態65Cを使用中として管理テーブル65内に登録する。更に、エージェント15Aの通信部54は、ステップS12にて分解したtelnetopen25A30Aのコマンド宛先の確立情報をマネージャ25Aに通知するステップS18。マネージャ25Aの分析部63は、コマンド宛先の確立情報を分析するステップS19。マネージャ25Aの判定部64は、管理テーブル65を参照して、コマンド宛先に対応したマネージャ25Aとルータ30Aとの間の確立済みのセッションを分析する。そして、判定部64は、コマンド宛先に対応した確立済みのセッション25A/30Aがないと判定されるとステップS20、新規セッションが確立可能な状況下にあるか否かを判定する。中継部62は、新規セッションが確立可能な状況下にあると判定されるとステップS21、telnetopen25A30Aに基づき、新規セッションを確立すべく、ルータ30Aに対して確立synを送信するステップS22。ルータ30Aは、マネージャ25Aから確立synを受信すると、マネージャ25Aに対して確立応答synackを送信するステップS23。更に、マネージャ25Aの中継部62は、ルータ30Aから確立応答synackを受信すると、ルータ30Aに対して確立ackを送信するステップS24。その結果、マネージャ25Aとルータ30Aとの間の新規セッションが確立したことになる。つまり、マネージャ25Aを経由してエージェント15Aとルータ30Aとの間のセッションが確立したことになる。従って、マネージャ25Aの登録部66は、マネージャ25Aとルータ30Aとの間の確立済みのセッション25A/30Aの使用状態65Cを使用中として管理テーブル65内に登録する。そして、中継部62は、ルータ30Aに対して確立ackを送信すると、エージェント15Aとマネージャ25Aとの間、及びマネージャ25Aとルータ30Aとの間の確立完了を示す確立OKをエージェント15Aに送信するステップS25。更に、エージェント15Aの通信部54は、確立OKを受信した場合、確立済みの新規セッション15A/25Aを使用して、コマンドに対応したデータ送信pushをマネージャ25Aに送信するステップS26。更に、マネージャ25Aの中継部62は、確立済みの新規セッション25A/30Aを使用して、エージェント15Aからのデータ送信pushをルータ30Aに中継するステップS27。その結果、ルータ30Aは、データ送信pushを受信すると、データ送信pushに対応したコマンド内容を実行し、そのコマンド応答結果を取得する。ルータ30Aは、確立済みのセッション25A/30Aを使用して、コマンドに対応する応答結果であるデータ送信応答pushackをマネージャ25Aに送信するステップS28。マネージャ25Aの中継部62は、データ送信応答pushackを受信すると、データ送信応答pushackをエージェント15Aに中継するステップS29。その結果、エージェント15Aは、新規セッションを使用してマネージャ25A経由でルータ30Aを遠隔操作したことになる。マネージャ25Aの制御部69は、ルータ30Aからのデータ送信応答pushackをエージェント15Aに中継すると、確立済みの新規セッション15A/25A,25A/30Aの使用状態を空きと判定するステップS30。そして、マネージャ25Aの登録部66は、確立済みの新規セッションの使用状態65Cを空きとして管理テーブル65に更新するステップS31。通信部61は、管理テーブル65のテーブル更新をエージェント15Aに送信するステップS32。その結果、エージェント15Aは、確立済みのセッションの使用状態が空きに更新されたことを認識できる。図6の例では、確立済みの該当セッションがなく、新規セッションが確立可能な状況下では、エージェント15Aとマネージャ25Aとの間、マネージャ25Aとルータ30Aとの間で新規セッションを確立する。確立した新規セッションを使用して、エージェント15Aとルータ30Aとの間のコマンドに関わるデータ送信及びデータ送信応答を実行できる。図7は、コマンド通信に関わる中継システム1の動作の一例を示すシーケンス図である。図7に示す中継システム1では、エージェント15Aとマネージャ25Aとの間、マネージャ25Aとルータ30Aとの間で確立済みのセッションの使用状態が空きの状況下にあるものとする。図7に示すエージェント15Aの通信部54は、確立済みのセッション15A/25Aを使用して、コマンドに対応するデータ送信pushをマネージャ25Aに送信するステップS41。更に、マネージャ25Aの中継部62は、エージェント15Aからのデータ送信pushを受信すると、確立済みのセッション25A/30Aを使用して、データ送信pushをルータ30Aに中継するステップS42。その結果、ルータ30Aは、データ送信pushを受信すると、データ送信に対応したコマンド内容を実行することでコマンド応答結果を取得する。更に、ルータ30Aは、確立済みのセッション25A/30Aを使用して、コマンドに対応する応答結果であるデータ送信応答pushackをマネージャ25Aに送信するステップS43。マネージャ25Aの中継部62は、データ送信応答pushackを受信すると、確立済みのセッション25A/15Aを使用して、データ送信応答pushackをエージェント15Aに中継するステップS44。その結果、エージェント15Aは、確立済みのセッション15A/25A、25A/30Aを使用してマネージャ25A経由でルータ30Aを遠隔操作することになる。マネージャ25Aの制御部69は、ルータ30Aからのデータ送信応答pushackをエージェント15Aに中継すると、確立済みのセッション15A/25A,25A/30Aの使用状態を空きと判定するステップS45。そして、マネージャ25Aの登録部66は、確立済みのセッション15A/25A,25A/30Aの使用状態65Cを空きとして管理テーブル65に更新するステップS46。マネージャ25Aの通信部61は、テーブル更新をエージェント15Aに送信するステップS47。その結果、エージェント15Aは、確立済みのセッション15A/25A,25A/30Aの使用状態65Cを空きに更新されたことを認識できる。更に、エージェント15Aの継続部55は、ルータ30A側の確立済みのセッションを継続できる時間の範囲内で定期的にハートビートメッセージをマネージャ25Aに送信するステップS48。従って、マネージャ25Aは、エージェント15Aとの間で確立済みのセッションを維持できる。更に、マネージャ25Aの中継部62は、エージェント15Aからのハートビートメッセージをルータ30Aに中継するステップS49。ルータ30Aは、マネージャ25Aとの間で確立済みのセッションを維持できる。その結果、ルータ30Aは、中継サーバ20A経由で接続元端末10との間で確立済みのセッション15A/25A、25A/30Aを維持できる。エージェント15Aの検出部51は、telnet実行部14から、他のアプリの新規の確立要求コマンドtelnetopen15A30Aを検出するステップS50。分析部52は、確立要求コマンドを分析し、確立要求コマンドtelnetopen15A30Aをtelnetopen15A25Atelnetopen25A30Aに分解するステップS51。すなわち、分析部52は、エージェント15Aとルータ30Aとの間のセッション区間を、エージェント15Aとマネージャ25Aとの間のセッションと、マネージャ25Aとルータ30Aとの間のセッションとに分解する。エージェント15Aの判定部53は、マネージャ25Aの管理テーブル65を参照して、コマンド宛先に対応したエージェント15Aとマネージャ25Aとの間の確立済みのセッションを分析する。判定部53は、コマンド宛先に対応した確立済みの空きのセッションがあると判定するステップS52。この際、マネージャ25Aの登録部66は、エージェント15Aとマネージャ25Aとの間に確立済みのセッションの使用状態65Cを使用中として管理テーブル65内に登録する。そして、通信部54は、コマンド宛先に対応した確立済みの空きのセッションを使用して、ステップS51にて分解したtelnetopen25A30Aの確立情報をマネージャ25Aに送信するステップS53。マネージャ25Aの分析部63は、コマンド宛先の確立情報を分析するステップS54。マネージャ25Aの判定部64は、管理テーブル65を参照して、コマンド宛先に対応したマネージャ25Aとルータ30Aとの間の確立済みのセッションを分析する。判定部64は、コマンド宛先に対応した確立済みの空きのセッションがあると判定するステップS55。中継部62は、コマンド宛先に対応した確立済みの空きのセッションを使用する。この際、マネージャ25Aの登録部66は、マネージャ25Aとルータ30Aとの間に確立済みのセッションの使用状態65Cを使用中として管理テーブル65内に登録する。そして、中継部62は、確立済みの空きのセッションがあると判定されると、エージェント15Aとマネージャ25Aとの間及び、マネージャ25Aとルータ30Aとの間の確立完了を示す確立OKをエージェント15Aに送信するステップS56。更に、エージェント15Aの通信部54は、確立OKを受信した場合、確立済みの新規セッション15A/25Aを使用して、コマンドに対応するデータ送信pushをマネージャ25Aに送信するステップS57。更に、マネージャ25Aの中継部62は、確立済みの空きのセッション25A/30Aを使用して、エージェント15Aからのデータ送信pushをルータ30Aに中継するステップS58。その結果、ルータ30Aは、データ送信pushを受信すると、データ送信pushに対応したコマンド内容を実行し、そのコマンド応答結果を取得する。更に、ルータ30Aは、確立済みの空きのセッション25A/30Aを使用して、コマンドに対応する応答結果であるデータ送信応答pushackをマネージャ25Aに送信するステップS59。マネージャ25Aの中継部62は、データ送信応答pushackを受信すると、データ送信応答pushackをエージェント15Aに中継するステップS60。その結果、エージェント15Aは、確立済みの空きのセッションを使用してマネージャ25A経由でルータ30Aを遠隔操作したことになる。マネージャ25Aの制御部69は、ルータ30Aからのデータ送信応答pushackをエージェント15Aに中継すると、確立済みのセッション15A/25A,25A/30Aの使用状態を空きと判定するステップS61。そして、マネージャ25A内の登録部66は、確立済みのセッションの使用状態65Cを空きとして管理テーブル65に更新するステップS62。通信部61は、テーブル更新をエージェント15Aに送信するステップS63。その結果、エージェント15Aは、確立済みのセッションの使用状態が空きに更新されたことを認識できる。図7の例では、エージェント15Aとマネージャ25Aとの間、マネージャ25Aとルータ30Aとの間で確立済みのセッションが空きの状況下にある。この状況下で、中継システム1は、当該確立済みの空きのセッションを使用して、エージェント15Aとルータ30Aとの間で他のアプリのコマンドに関わるデータ送信及び送信応答を実行できる。図8は、コマンド通信に関わる中継システム1の動作の一例を示すシーケンス図である。図8に示す中継システム1では、エージェント15Aとルータ30Aとの間で確立済みのセッションの使用状態が使用中で、更なる新規セッションが確立できる状況下にあるものとする。図8に示すエージェント15Aの検出部51は、telnet実行部14から、他のアプリからの新規の確立要求コマンドtelnetopen15A30Aを検出するステップS71。エージェント15Aの分析部52は、確立要求コマンドを分析し、確立要求コマンドtelnetopen15A30Aをtelnetopen15A25Atelnetopen25A30Aに分解するステップS72。すなわち、分析部52は、エージェント15Aとルータ30Aとの間のセッション区間を、エージェント15Aとマネージャ25Aとの間のセッションと、マネージャ25Aとルータ30Aとの間のセッションとに分解する。エージェント15Aの判定部53は、マネージャ25Aの管理テーブル65を参照してコマンド宛先に対応したエージェント15Aとマネージャ25Aとの間の確立済みの空きのセッションを分析する。判定部53は、コマンド宛先に対応した確立済みの空きのセッション15A/25Aがない、すなわち確立済みのセッションが使用中と判定するとステップS73、新規セッションが確立可能な状況下にあるか否かを判定する。エージェント15Aの通信部54は、新規セッションが確立可能な状況下にあると判定されるとステップS74、telnetopen15A25Aに基づき、新規セッションを確立すべく、マネージャ25Aに対して確立synを送信するステップS75。更に、マネージャ25Aの中継部62は、エージェント15Aから確立synを受信すると、エージェント15Aに対して確立応答synackを送信するステップS76。更に、エージェント15Aの通信部54は、マネージャ25Aから確立応答synackを受信すると、マネージャ25Aに対して確立ackを送信するステップS77。その結果、エージェント15Aとマネージャ25Aとの間の新規セッションが確立したことになる。従って、マネージャ25Aの登録部66は、エージェント15Aとマネージャ25Aとの間の確立済みのセッション15A/25Aの使用状態を使用中として管理テーブル65内に登録する。更に、エージェント15Aの通信部54は、ステップS72にて分解したtelnetopen25A30Aのコマンド宛先の確立情報をマネージャ25Aに送信するステップS78。マネージャ25Aの分析部63は、コマンド宛先の確立情報を分析するステップS79。マネージャ25Aの判定部64は、管理テーブル65を参照して、コマンド宛先に対応したマネージャ25Aとルータ30Aとの間の確立済みの空きのセッションを分析する。判定部64は、コマンド宛先に対応した確立済みの空きのセッション25A/30Aがない、すなわち使用中と判定するとステップS80、新規セッションが確立可能な状況下にあるか否かを判定する。中継部62は、新規セッションが確立可能な状況下にあると判定されるとステップS81、telnetopen25A30Aに基づき、新規セッションを確立すべく、ルータ30Aに対して確立synを送信するステップS82。ルータ30Aは、マネージャ25Aから確立synを受信すると、マネージャ25Aに対して確立応答synackを送信するステップS83。更に、マネージャ25Aの中継部62は、ルータ30Aから確立応答synackを受信すると、ルータ30Aに対して確立ackを送信するステップS84。その結果、マネージャ25Aとルータ30Aとの間の新規セッションが確立する。つまり、マネージャ25Aを経由してエージェント15Aとルータ30Aとの間のセッションが確立したことになる。従って、マネージャ25Aの登録部66は、マネージャ25Aとルータ30Aとの間の確立済みのセッション25A/30Aの使用状態65Cを使用中として管理テーブル65内に登録する。そして、中継部62は、確立ackを送信すると、確立完了を示す確立OKをエージェント15Aに送信するステップS85。更に、エージェント15Aの通信部54は、確立OKを受信した場合、確立済みの新規セッション15A/25Aを使用して、コマンドに対応するデータ送信pushをマネージャ25Aに送信するステップS86。更に、マネージャ25Aの中継部62は、確立済みの新規セッション25A/30Aを使用して、エージェント15Aからのデータ送信pushをルータ30Aに中継するステップS87。その結果、ルータ30Aは、データ送信pushを受信すると、データ送信pushに対応したコマンド内容を実行し、そのコマンド応答結果を取得する。更に、ルータ30Aは、確立済みのセッション25A/30Aを使用して、コマンドに対応する応答結果であるデータ送信応答pushackをマネージャ25Aに送信するステップS88。マネージャ25Aの中継部62は、データ送信応答pushackを受信すると、データ送信応答pushackをエージェント15Aに送信するステップS89。その結果、エージェント15Aは、確立済みの新規セッションを使用してマネージャ25A経由でルータ30Aを遠隔操作したことになる。マネージャ25Aの制御部69は、ルータ30Aからのデータ送信応答pushackをエージェント15Aに中継すると、確立済みの新規セッション15A/25A,25A/30Aの使用状態を空きと判定するステップS90。そして、マネージャ25Aの登録部66は、確立済みの新規セッションの使用状態65Cを空きとして管理テーブル65に更新するステップS91。通信部61は、テーブル更新をエージェント15Aに送信するステップS92。その結果、エージェント15Aは、確立済みのセッションの使用状態が空きに更新されたことを認識できる。図8の例では、エージェント15Aとマネージャ25Aとの間、マネージャ25Aとルータ30Aとの間で確立済みのセッションが使用中で、新規セッションが確立可能な状況下である。この状況下で、中継システム1は、新規セッションを使用して、エージェント15Aとルータ30Aとの間で、他のアプリのコマンドに関わるデータ送信及び送信応答を実行できる。図9は、コマンド通信に関わる中継システム1の動作の一例を示すシーケンス図である。図9に示す中継システム1では、エージェント15Aとマネージャ25Aとの間で確立済みのセッションが使用中、マネージャ25Aとルータ30Aとの間で確立済みのセッションが空きで、新規セッションが確立可能な状況下にあるものとする。図9に示すエージェント15Aの検出部51は、telnet実行部14から他のアプリの確立要求コマンドtelnetopen15A30Aを検出するステップS101。分析部52は、確立要求コマンドを分析すると、確立要求コマンドtelnetopen15A30Aをtelnetopen15A25Atelnetopen25A30Aに分解するステップS102。すなわち、分析部52は、エージェント15Aとルータ30Aとの間のセッション区間を、エージェント15Aとマネージャ25Aとの間のセッションと、マネージャ25Aとルータ30Aとの間のセッションとに分解する。エージェント15Aの判定部53は、マネージャ25A内の管理テーブル65を参照して、コマンド宛先に対応したエージェント15Aとマネージャ25Aとの間の確立済みのセッション15A/25Aを分析する。判定部53は、確立済みの空きのセッションがないと判定するとステップS103、新規セッションが確立可能な状況下にあるか否かを判定する。通信部54は、新規セッションが確立可能な状況下にあると判定されるとステップS104、telnetopen15A25Aに基づき、新規セッションを確立すべく、マネージャ25Aに対して確立synを送信するステップS105。マネージャ25Aの中継部62は、エージェント15Aから確立synを受信すると、エージェント15Aに対して確立応答synackを送信するステップS106。更に、エージェント15Aの通信部54は、マネージャ25Aから確立応答synackを受信すると、マネージャ25Aに対して確立ackを送信するステップS107。その結果、エージェント15Aとマネージャ25Aとの間のセッションが確立したことになる。従って、マネージャ25Aの登録部66は、エージェント15Aとマネージャ25Aとの間の確立済みのセッション15A/25Aの使用状態65Cを使用中として管理テーブル65内に登録する。更に、エージェント15Aの通信部54は、ステップS102にて分解したtelnetopen25A30Aの確立情報をマネージャ25Aに送信するステップS108。マネージャ25Aの分析部63は、コマンド宛先に対応する確立情報を分析するステップS109。マネージャ25Aの判定部64は、管理テーブル65を参照して、コマンド宛先に対応したエージェント15Aとルータ30Aとの間の確立済みのセッションを分析する。判定部64は、コマンド宛先の確立済みの空きのセッションがあると判定するステップS110。中継部62は、マネージャ25Aとルータ30Aとの間の確立済みのセッションを使用する。そして、マネージャ25Aを経由してエージェント15Aとルータ30Aとの間のセッションが確立したことになる。従って、マネージャ25Aの登録部66は、マネージャ25Aとルータ30Aとの間の確立済みのセッション25A/30Aの使用状態65Cを使用中として管理テーブル65内に登録する。そして、中継部62は、確立済みの空きのセッションがあると判定されると、確立完了を示す確立OKをエージェント15Aに送信するステップS111。更に、エージェント15Aの通信部54は、確立OKを受信した場合、確立済みの新規セッション15A/25Aを使用して、コマンドに対応するデータ送信pushをマネージャ25Aに送信するステップS112。更に、マネージャ25Aの中継部62は、確立済みのセッション25A/30Aを使用して、エージェント15Aからのデータ送信pushを受信すると、データ送信pushをルータ30Aに中継するステップS113。その結果、ルータ30Aは、データ送信pushを受信すると、データ送信pushに対応したコマンド内容を実行し、そのコマンド応答結果を取得する。ルータ30Aは、確立済みのセッション25A/30Aを使用して、コマンドに対応する応答結果であるデータ送信応答pushackをマネージャ25Aに送信するステップS114。マネージャ25Aの中継部62は、データ送信応答pushackを受信すると、データ送信応答pushackをエージェント15Aに送信するステップS115。その結果、エージェント15Aは、確立済みの空きのセッションを使用してマネージャ25A経由でルータ30Aを遠隔操作したことになる。マネージャ25A内の制御部69は、ルータ30Aからのデータ送信応答をエージェント15Aに中継すると、確立済みのセッション15A/25A,25A/30Aの使用状態を空きと判定するステップS116。そして、マネージャ25A内の登録部66は、確立済みのセッションの使用状態65Cを空きとして管理テーブル65に更新するステップS117。通信部61は、管理テーブル65のテーブル更新をエージェント15Aに送信するステップS118。その結果、エージェント15Aは、確立済みのセッションの使用状態が空きに更新されたことを認識することができる。図9の例では、エージェント15Aとマネージャ25Aとの間で確立済みのセッションが使用中、マネージャ25Aとルータ30Aとの間で確立済みのセッションが空きで、新規セッションが確立可能な状況下である。この状況下で、中継システム1は、新規セッション及び空きのセッションを使用して他のアプリのコマンドに関わるデータ送信及び送信応答を実行できる。図10は、コマンド通信に関わる中継システム1の動作の一例を示すシーケンス図である。図10に示す中継システム1では、エージェント15Aとルータ30Aとの間で確立済みのセッションの使用状態が空きの状態でエージェント15Aからルータ30Bに新規の確立要求コマンドを送信する状況下にあるものとする。図10に示すエージェント15Aの検出部51は、telnet実行部14から、他のアプリからの確立要求コマンドtelnetopen15A30Bを検出するステップS121。分析部52は、確立要求コマンドを分析し、確立要求コマンドtelnetopen15A30Bをtelnetopen15A25Atelnetopen25A30Bに分解するステップS122。すなわち、分析部52は、エージェント15Aとルータ30Bとの間のセッション区間を、エージェント15Aとマネージャ25Aとの間のセッションと、マネージャ25Aとルータ30Bとの間のセッションとに分解する。エージェント15Aの判定部53は、マネージャ25Aの管理テーブル65を参照して、コマンド宛先に対応するエージェント15Aとマネージャ25Aとの間の確立済みのセッションを分析する。判定部53は、確立済みの使用状態が空きのセッションがあると判定するステップS123。通信部54は、確立済みの空きのセッションを使用して、ステップS122にて分解したtelnetopen25A30Bのコマンド宛先の確立情報をマネージャ25Aに送信するステップS124。分析部63は、コマンド宛先の確立情報を分析するステップS125。判定部64は、管理テーブル65を参照して、コマンド宛先のエージェント15Aとルータ30Bとの間の確立済みのセッションを分析する。判定部64は、確立済みの該当セッション25A/30Bなしと判定するとステップS126、新規セッションが確立可能な状況下にあるか否かを判定する。中継部62は、新規セッションが確立可能な状況下にあると判定されるとステップS127、telnetopen25A30Bに基づき、新規セッションを確立すべく、ルータ30Bに対して確立synを送信するステップS128。更に、ルータ30Bは、マネージャ25Aから確立synを受信すると、マネージャ25Aに対して確立応答synackを送信するステップS129。更に、マネージャ25Aの中継部62は、ルータ30Bから確立応答synackを受信すると、ルータ30Bに対して確立ackを送信するステップS130。その結果、マネージャ25Aとルータ30Bとの間の新規セッションが確立したことになる。つまり、マネージャ25Aを経由してエージェント15Aとルータ30Bとの間のセッションが確立したことになる。従って、マネージャ25Aの登録部66は、マネージャ25Aとルータ30Bとの間の確立済みのセッション25A/30Bの使用状態を使用中として管理テーブル65内に登録する。そして、中継部62は、ルータ30Bに対して確立ackを送信すると、確立完了を示す確立OKをエージェント15Aに送信するステップS131。更に、エージェント15Aの通信部54は、確立OKを受信した場合、確立済みの新規セッション15A/25Aを使用して、コマンドに対応するデータ送信pushをマネージャ25Aに送信するステップS132。更に、マネージャ25Aの中継部62は、確立済みの新規セッション25A/30Bを使用して、エージェント15Aからのデータ送信pushを受信すると、データ送信pushをルータ30Bに送信するステップS133。その結果、ルータ30Bは、データ送信pushを受信すると、データ送信pushに対応したコマンド内容を実行し、そのコマンド応答結果を取得する。ルータ30Bは、確立済みのセッション25A/30Bを使用して、コマンドに対応する応答結果であるデータ送信応答pushackをマネージャ25Aに送信するステップS134。マネージャ25Aの中継部62は、データ送信応答pushackを受信すると、データ送信応答pushackをエージェント15Aに中継するステップS135。その結果、エージェント15Aは、確立済みの空きのセッションを使用してマネージャ25A経由でルータ30Bを遠隔操作したことになる。マネージャ25A内の制御部69は、ルータ30Bからのデータ送信応答pushackをエージェント15Aに中継すると、使い回す前の確立済みのセッション15A/25A,25A/30Aの使用状態を空きと判定するステップS136。そして、マネージャ25A内の登録部66は、使い回す前の確立済みのセッションの使用状態65Cを空きとして管理テーブル65に更新するステップS137。通信部61は、管理テーブル65のテーブル更新をエージェント15Aに送信するステップS138。その結果、エージェント15Aは、確立済みのセッションの使用状態が空きに更新されたことを認識できる。尚、登録部66は、ステップS137にて使い回す前の確立済みのセッションの使用状態を更新するのではなく、使用後の確立済みのセッション15A/25A,25A/30Bの使用状態を更新しても良い。図10の例では、エージェント15Aとマネージャ25Aとの間の確立済みの空きのセッション、マネージャ25Aとルータ30Bとの間の新規セッションを使用して、他のアプリのコマンドに関わるデータ送信及び送信応答を実行できる。図11は、コマンド通信に関わる中継システム1の動作の一例を示すシーケンス図である。図11に示す中継システム1では、エージェント15Aとルータ30Aとの間で確立済みのセッションの使用状態が空きの状態でエージェント15Bからルータ30Aに新規の確立要求コマンドを送信する状況下にあるものとする。図11に示すエージェント15Bの検出部51は、telnet実行部14から、他のクライアントの新規の確立要求コマンドtelnetopen15B30Aを検出するステップS141。分析部52は、確立要求コマンドを分析すると、確立要求コマンドtelnetopen15B30Aをtelnetopen15B25Atelnetopen25A30Aに分解するステップS142。すなわち、分析部52は、エージェント15Aとルータ30Aとの間のセッション区間を、エージェント15Bとマネージャ25Aとの間のセッションと、マネージャ25Aとルータ30Aとの間のセッションとに分解する。エージェント15Bの判定部53は、マネージャ25A内の管理テーブル65を参照して、コマンド宛先に対応したエージェント15Bとマネージャ25Aとの間の確立済みのセッションを分析する。判定部53は、コマンド宛先に対応する確立済みの空きのセッション15B/25Aがないと判定するとステップS143、新規セッションが確立可能な状況下にあるか否かを判定する。通信部54は、新規セッションが確立可能な状況下にあると判定されるとステップS144、telnetopen15B25Aに基づき、新規セッションを確立すべく、マネージャ25Aに対して確立synを送信するステップS145。更に、マネージャ25Aの中継部62は、エージェント15Bから確立synを受信すると、エージェント15Bに対して確立応答synackを送信するステップS146。更に、エージェント15Bの通信部54は、マネージャ25Aから確立応答synackを受信すると、マネージャ25Aに対して確立ackを送信するステップS147。その結果、エージェント15Bとマネージャ25Aとの間のセッションが確立したことになる。従って、マネージャ25Aの登録部66は、エージェント15Bとマネージャ25Aとの間の確立済みのセッション15B/25Aの使用状態65Cを使用中として管理テーブル65内に登録する。更に、エージェント15Bの通信部54は、ステップS142にて分解したtelnetopen25A30Aのコマンド宛先の確立情報をマネージャ25Aに送信するステップS148。マネージャ25Aの分析部63は、コマンド宛先に対応した確立情報を分析するステップS149。判定部64は、管理テーブル65を参照して、コマンド宛先に対応したマネージャ25Aとルータ30Aとの間の確立済みのセッションを分析する。判定部64は、コマンド宛先に対応した確立済みの使用状態が空きのセッションがあると判定するステップS150。そして、マネージャ25Aを経由してエージェント15Bとルータ30Aとの間のセッションが確立する。従って、マネージャ25Aの登録部66は、マネージャ25Aとルータ30Aとの間の確立済みのセッション25A/30Aの使用状態65Cを使用中として管理テーブル65内に登録する。そして、中継部62は、確立済みの空きのセッションがあると判定されると、エージェント15Bとルータ30Aとの間の確立完了を示す確立OKをエージェント15Bに送信するステップS151。更に、エージェント15Bの通信部54は、確立OKを受信した場合、確立済みの新規セッション15B/25Aを使用して、コマンドに対応するデータ送信pushをマネージャ25Aに送信するステップS152。更に、マネージャ25Aの中継部62は、確立済みの空きのセッション25A/30Aを使用して、エージェント15Bからのデータ送信pushをルータ30Aに中継するステップS153。その結果、ルータ30Aは、データ送信pushを受信すると、データ送信pushに対応したコマンド内容を実行し、そのコマンド応答結果を取得する。そして、ルータ30Aは、確立済みのセッションを使用して、コマンド内容に対応する応答結果であるデータ送信応答pushackをマネージャ25Aに送信するステップS154。マネージャ25Aの中継部62は、データ送信応答pushackをエージェント15Bに中継するステップS155。その結果、エージェント15Bは、確立済みのセッションを使用してマネージャ25A経由でルータ30Aを遠隔操作したことになる。マネージャ25A内の制御部69は、ルータ30Aからのデータ送信応答pushackをエージェント15Bに中継すると、使い回す前の確立済みのセッション15A/25A,25A/30Aの使用状態を空きと判定するステップS156。そして、マネージャ25A内の登録部66は、使い回す前の確立済みのセッションの使用状態65Cを空きとして管理テーブル65内に更新するステップS157。通信部61は、管理テーブル65のテーブル更新をエージェント15A及びエージェント15Bに送信するステップS158。その結果、エージェント15A及び15Bは、確立済みのセッションの使用状態が空きに更新されたことを認識できる。尚、登録部66は、ステップS157にて使い回す前の確立済みのセッションの使用状態を更新するのではなく、使用後の確立済みのセッション15B/25A,25A/30Aの使用状態を更新しても良い。図11の例では、エージェント15Bとマネージャ25Aとの間の新規セッション、マネージャ25Aとルータ30Aとの間の確立済みの空きのセッションを使用して、他のクライアントのコマンドに関わるデータ送信及び送信応答を実行できる。図12は、セッション監視処理に関わるマネージャ25の処理動作の一例を示すフローチャートである。図12に示すセッション監視処理では、エージェント15とマネージャ25との間、及びマネージャ25とルータ30との間で確立済みのセッションの使用状態を監視し、確立済みのセッション毎に使用状態を管理テーブル65に更新する処理である。図12においてマネージャ25の中継部62は、ルータ30から信号を受信したか否かを判定するステップS201。制御部69は、ルータ30から信号を受信した場合にステップS201肯定、ルータ30からデータ送信応答pushackを受信したか否かを判定するステップS202。制御部69は、ルータ30からデータ送信応答pushackを受信した場合にステップS202肯定、データ送信応答pushackの受信に使用したセッションのセッションIDを識別するステップS203。中継部62は、セッションIDを識別すると、ルータ30から受信したデータ送信応答pushackをエージェント15に送信するステップS204。制御部69は、データ送信応答pushackの送信に使用したセッションが確立済みの空きのセッションを使用したか否かを判定するステップS205。登録部66は、確立済みの空きのセッションを使用した場合ステップS205肯定、該当セッションの使用状態65Cを空きとして管理テーブル65内に更新するステップS206。更に、制御部69は、当該マネージャ25に接続するエージェント15に管理テーブル65内のテーブル更新を通知しステップS207、図12に示す処理動作を終了する。また、制御部69は、確立済みの空きのセッションを使用しなかった場合にステップS205否定、データ送信応答pushackに使用した確立済みのセッションを空きと判定するステップS208。更に、登録部66は、確立済みのセッションの使用状態65Cを空きとして管理テーブル65内に更新しステップS209、テーブル更新を通知すべく、ステップS207に移行する。また、中継部62は、ルータ30から信号を受信しなかった場合ステップS201否定、この処理動作を終了する。また、制御部69は、ルータ30からデータ送信応答pushackを受信しなかった場合ステップS202否定、この確立済みのセッションのセッションIDを識別するステップS210。制御部69は、確立済みのセッションのセッションIDを識別すると、このセッションIDに対応したセッションの使用状態を使用中と判定するステップS211。更に、登録部66は、セッションID65Aの使用状態65Cを使用中として管理テーブル65内に更新することでステップS212、テーブル更新を通知すべく、ステップS207に移行する。図12に示すセッション監視処理では、ルータ30からコマンドに対応するデータ送信応答pushackを受信し、データ送信応答pushackをコマンド発信先のエージェント15に中継する。更に、セッション監視処理では、確立済みの空きのセッションを使用してコマンドを中継した場合、当該セッションの使用状態65Cを空きとして管理テーブル65内に更新する。その結果、管理テーブル65は、確立済みの空きのセッションを管理できる。セッション監視処理では、ルータ30からコマンドに対応するデータ送信応答pushackを受信し、データ送信応答pushackをコマンド発信先のエージェント15に中継する。更に、セッション監視処理では、新規セッションを使用してコマンドのデータ送信及びデータ送信応答を中継した場合、当該セッションの使用状態65Cを空きとして管理テーブル65内に更新する。その結果、管理テーブル65は、確立済みの空きのセッションを管理できる。また、セッション監視処理では、確立済みのセッションを使用してデータ送信応答以外の信号を受信した場合、確立済みのセッションの使用状態65Cを使用中として管理テーブル65内に更新する。その結果、管理テーブル65は、確立済みの使用中のセッションを管理できる。図13は、エージェント側コマンド送信処理に関わるエージェント15の処理動作の一例を示すフローチャートである。図13に示すエージェント側コマンド送信処理では、telnet実行部14で発行したルータ30宛のコマンドのデータ送信pushをエージェント15からマネージャ25へと送信する処理である。図13においてエージェント15の検出部51は、telnet実行部14で発行したコマンドを検出したか否かを判定するステップS221。分析部52は、コマンドを検出した場合ステップS221肯定、コマンド内容を分析するステップS222。判定部53は、コマンドの分析結果と管理テーブル65のテーブル内容とを比較しステップS223、コマンド宛先に対応した確立済みのセッションが管理テーブル65内にあるか否かを判定するステップS224。判定部53は、コマンド宛先に対応した確立済みのセッションが管理テーブル65内にある場合ステップS224肯定、管理テーブル65を参照して、確立済みセッションの使用状態が空きであるか否かを判定するステップS225。通信部54は、確立済みのセッションの使用状態が空きである場合にステップS225肯定、確立済みの空きのセッションを使用してコマンド宛先の確立情報をマネージャ15に送信するステップS226。更に、通信部54は、マネージャ25から確立OKを受信したか否かを判定するステップS227。通信部54は、確立OKを受信した場合ステップS227肯定、確立済みの空きのセッションを使用してコマンドに対応したデータ送信pushを実行しステップS228、図13に示す処理動作を終了する。また、判定部53は、確立済みのセッションの使用状態が空きでない場合ステップS225否定、新規セッションが確立可能な状況下にあるか否かを判定するステップS229。通信部54は、新規セッションが確立可能な状況下にある場合ステップS229肯定、新規セッションを確立する新規セッション確立処理を実行するステップS230。更に、通信部54は、新規セッション確立処理を実行すると、新規セッションを使用してコマンド宛先の確立情報をマネージャ25に送信するステップS231。更に、通信部54は、マネージャ25から確立OKを受信したか否かを判定するステップS232。通信部54は、確立OKを受信した場合ステップS232肯定、確立済みの新規セッションを使用してコマンドに対応したデータ送信pushを実行しステップS233、図13に示す処理動作を終了する。また、検出部51は、コマンドを検出しなかった場合ステップS221否定、図13に示す処理動作を終了する。また、判定部53は、コマンド宛先に対応した確立済みセッションがない場合ステップS224否定、新規セッションが確立可能な状況下であるか否かを判定すべく、ステップS229に移行する。また、通信部54は、新規セッションが確立可能な状況下でない場合ステップS229否定、待機してステップS234、確立済みの該当セッションがあるか否かを判定すべく、ステップS224に移行する。また、通信部54は、確立OKを受信しなかった場合ステップS227否定、確立OKを受信したか否かを監視すべく、ステップS227に移行する。また、通信部54は、確立OKを受信しなかった場合ステップS232否定、確立OKを受信したか否かを監視すべく、ステップS232に移行する。図13に示すエージェント側コマンド送信処理では、コマンドを検出すると、コマンド宛先に対応した確立済みの空きのセッションがあるか否かを判定する。更に、エージェント側コマンド送信処理では、コマンド宛先に対応した確立済みの空きのセッションがある場合、確立済みの空きのセッションを使用してコマンドのデータ送信pushをマネージャ25に中継する。その結果、エージェント15は、新規セッションを確立しなくても、確立済みの空きのセッションを使用してコマンドのデータ送信pushをマネージャ25に中継できる。エージェント側コマンド送信処理では、コマンド宛先に対応した確立済みの空きのセッションがなく、新規セッションが確立可能な状況下である場合、新規セッションを確立する。そして、エージェント側コマンド送信処理では、確立済みの新規セッションを使用してコマンドのデータ送信pushをマネージャ25に中継する。その結果、エージェント15は、確立済みの空きのセッションがなくても、新規セッションが確立可能な状況下であれば、新規セッションを確立すると共に、この新規セッションを使用してコマンドのデータ送信pushをマネージャ25に中継できる。エージェント側コマンド送信処理では、コマンド宛先に対応した確立済みの空きのセッションがなく、新規セッションが確立可能な状況下でない場合、コマンドのデータ送信pushに使用するセッションが空くまで待機する。図14は、マネージャ側コマンド送信処理に関わるマネージャ25の処理動作の一例を示すフローチャートである。図14に示すマネージャ側コマンド送信処理では、エージェント15から受信したコマンドをルータ30に中継する処理である。図14においてマネージャ25の分析部63は、エージェント15から確立情報を受信したか否かを判定するステップS241。分析部63は、確立情報を受信した場合ステップS241肯定、確立情報を分析するステップS242。判定部64は、確立情報の分析結果と管理テーブル65のテーブル内容とを比較しステップS243、コマンド宛先の確立情報に対応した確立済みのセッションが管理テーブル65内にあるか否かを判定するステップS244。判定部64は、確立情報に対応した確立済みのセッションが管理テーブル65内にある場合ステップS244肯定、管理テーブル65を参照して、当該確立済みのセッションの使用状態が空きであるか否かを判定するステップS245。中継部62は、確立済みのセッションの使用状態が空きである場合にステップS245肯定、確立済みの空きのセッションを使用して確立OKをエージェント15に送信したか否かを判定するステップS246。中継部62は、確立OKをエージェント15に送信した場合ステップS246肯定、当該確立済みの空きのセッションを使用してコマンドのデータ送信を実行しステップS247、図14に示す処理動作を終了する。また、判定部64は、確立済みのセッションの使用状態が空きでない場合ステップS245否定、新規セッションが確立可能な状況下にあるか否かを判定するステップS248。中継部62は、新規セッションが確立可能な状況下にある場合ステップS248肯定、新規セッションを確立する新規セッション確立処理を実行するステップS249。更に、中継部62は、新規セッション確立処理を実行すると、確立OKをエージェント15に送信したか否かを判定するステップS250。更に、中継部62は、確立OKをエージェント15に送信した場合ステップS250肯定、新規セッションを使用してコマンドのデータ送信pushを実行しステップS251、図14に示す処理動作を終了する。また、分析部63は、エージェント15から確立情報を受信しなかった場合ステップS241否定、図14に示す処理動作を終了する。また、判定部64は、コマンド宛先の確立情報に対応した確立済みセッションがない場合ステップS244否定、新規セッションが確立可能な状況下であるか否かを判定すべく、ステップS248に移行する。また、中継部62は、新規セッションが確立可能な状況下でない場合ステップS248否定、待機してステップS252、確立済みの該当セッションがあるか否かを判定すべく、ステップS244に移行する。また、中継部62は、確立OKを送信しなかった場合ステップS246否定、確立OKを送信したか否かを監視すべく、ステップS246に移行する。また、中継部62は、確立OKを送信しなかった場合ステップS250否定、確立OKを送信したか否かを監視すべく、ステップS250に移行する。図14に示すマネージャ側コマンド送信処理では、確立情報を検出すると、コマンド宛先に対応した確立済みの空きのセッションがあるか否かを判定する。更に、マネージャ側コマンド送信処理では、コマンド宛先に対応した確立済みの空きのセッションがある場合に、確立済みの空きのセッションを使用してコマンドのデータ送信pushをルータ30に中継する。その結果、マネージャ25は、新規セッションを確立しなくても、確立済みの空きのセッションを使用してコマンドのデータ送信pushをルータ30に中継できる。マネージャ側コマンド送信処理では、コマンド宛先に対応した確立済みの空きのセッションがなく、新規セッションが確立可能な状況下にある場合、新規セッションを確立してコマンドのデータ送信pushをルータ30に中継する。その結果、マネージャ25は、確立済みの空きのセッションがなくても、新規セッションが確立可能な状況下であれば、新規セッションを確立してコマンドのデータ送信をルータ30に中継できる。マネージャ側コマンド送信処理では、コマンド宛先に対応した確立済みの空きのセッションがなく、新規セッションが確立可能な状況下でない場合、データ送信pushに使用するセッションが空くまで待機する。図15は、セッション許可数決定処理に関わるマネージャ25の処理動作の一例を示すフローチャートである。図15に示すセッション許可数決定処理では、マネージャ25自体が確立できるセッション許可数を自立的に決定する処理である。図15においてマネージャ25の通信部61は、ルータ30と通信して当該ルータ30自体が確立できるセッション上限数を取得するステップS261。通信部61は、ルータ30に接続する中継サーバ20や接続元端末10にブロードキャスト送信する。通信部61は、ブロードキャスト送信に対する返信数に基づき、ルータ30の接続台数を取得するステップS262。決定部67は、取得されたセッション上限数及び接続台数に基づき、セッション上限数/接続台数の式でセッション許可数を算出するステップS263。決定部67は、算出したセッション許可数を自己のセッション上限として決定しステップS264、図15に示す処理動作を終了する。図15に示すセッション許可数決定処理では、ルータ30のセッション上限数及び接続台数を収集し、これら収集されたセッション上限数/接続台数に基づき、セッション許可数を自立的に決定する。その結果、各中継サーバ20は、自分のセッション許可数を自立的に決定できる。図16は、セッション許可数調整処理に関わるマネージャ25の処理動作を示すフローチャートである。図16に示すセッション許可数調整処理では、中継サーバ20のマネージャ25同士の通信に応じて自己のセッション許可数を決定する処理である。図16においてマネージャ25の貸与部68は、現在確立済みのセッション数がセッション許可数を超えるか否かを判定するステップS271。貸与部68は、現在確立済みのセッション数がセッション許可数を超える場合ステップS271肯定、ルータ30に直接接続する各中継サーバ20に対して貸与要求をブロードキャスト送信するステップS272。尚、各中継サーバ20のマネージャ25内の貸与部68は、貸与要求に応じてセッション許可数の範囲内で貸与可能な未確立のセッションがある場合、貸与数を貸与要求発行元の中継サーバ20に返信する。貸与部68は、貸与要求のブロードキャスト送信後、応答タイマを起動するステップS273。貸与部68は、応答タイマがタイムアップしたか否かを判定するステップS274。貸与部68は、応答タイマがタイムアップした場合ステップS274肯定、貸与要求に対する貸与数を受信したか否かを判定するステップS275。決定部67は、貸与要求に対する貸与数を受信した場合ステップS275肯定、受信した貸与数に応じて現在のセッション許可数を更新しステップS276、図16に示す処理動作を終了する。決定部67は、例えば、セッション許可数が5本で、貸与数が2本の場合、自分のセッション許可数は7本となる。その結果、この中継サーバ20は、確立済みのセッション数がセッション許可数5本を超えたとしても、他の中継サーバ20から未確立の空きセッションを貸借できる。また、貸与部68は、貸与要求に対する貸与数を受信しなかった場合ステップS275否定、図16に示す処理動作を終了する。貸与部68は、現在確立済みのセッション数がセッション許可数を超えない場合ステップS271否定、他の中継サーバ20から貸与要求を受信したか否かを判定するステップS277。貸与部68は、他の中継サーバ20から貸与要求を受信した場合ステップS277肯定、現在の状態がセッション貸与可能な状況下であるか否かを判定するステップS278。貸与部68は、現在の状態がセッション貸与可能な状況下である場合ステップS278肯定、貸与要求に対して貸与数を貸与要求発行元の中継サーバ20に送信するステップS279。決定部67は、貸与数を貸与要求発行元の中継サーバ20に送信すると、その貸与数に応じて現在のセッション許可数を更新しステップS280、図16に示す処理動作を終了する。すなわち、決定部67は、セッション許可数が5本で、他の中継サーバ20に貸与する貸与数が1本の場合、自分のセッション許可数は4本となる。図16に示すセッション許可数調整処理では、各マネージャ25同士で相互通信して各マネージャ25のセッション許可数を相互に貸借することで、各マネージャ25で設定されたセッション許可数を調整できる。実施例1の中継システム1では、エージェント15とマネージャ25との間で確立済みの空きセッションがある場合、空きセッションを使用してエージェント15とマネージャ25との間で他のアプリのコマンドのデータ送信及びデータ送信応答を実行する。更に、中継システム1では、マネージャ25とルータ30との間で確立済みの空きセッションがある場合、空きセッションを使用してマネージャ25とルータ30との間で他のアプリのコマンドのデータ送信及びデータ送信応答を実行する。その結果、接続元端末10、中継サーバ20及びルータ30は、確立済みの空きセッションを他のアプリからのコマンドのデータ送信及びデータ送信応答に使い回すことで、新規セッション確立の処理を省略して、その処理負担を軽減できる。実施例1の中継システム1では、エージェント15からマネージャ25経由でルータ30に対してハートビートメッセージを所定タイミングで送信するため、エージェント15とルータ30との間の確立済みのセッションを継続して維持できる。すなわち、エージェント15とマネージャ25との間、マネージャ25とルータ30との間で確立済みのセッションを継続して維持できる。実施例1のマネージャ25は、確立済みのセッションを使用してコマンドのデータ送信応答を受信し、当該データ送信応答をエージェント15に中継した場合、当該確立済みのセッションの使用状態65Cを空きとして管理テーブル65に登録する。その結果、エージェント15及びマネージャ25は、管理テーブル65のテーブル内容を参照して、確立済みのセッションの使用状態を認識できる。実施例1の中継サーバ20では、ルータ30側でセッション確立可能なセッション上限数と、当該ルータ30側とセッション確立可能に接続した中継サーバ20の接続台数とを収集する。更に、中継サーバ20は、セッション上限数及び接続台数に基づき、中継サーバ20自体がセッション確立を許可できるセッション許可数を算出する。その結果、中継サーバ20は、セッション許可数を自立的に算出し、このセッション許可数の範囲内でセッションを許可できる。実施例1の中継サーバ20は、ルータ30側と接続するセッション確立可能な他の中継サーバ20からの貸与要求を検出すると、中継サーバ20自体のセッション許可数の範囲内で未確立のセッションがあるか否かを判定する。中継サーバ20は、未確立のセッションがある場合、未確立のセッションを他の中継サーバ20に貸与する。更に、中継サーバ20は、他の中継サーバ20から未確立のセッションの貸与を検出すると、貸与されたセッション数に応じて当該中継サーバ20自体のセッション許可数を決定する。その結果、中継サーバ20は、他の中継サーバ20との間で未確立のセッションを貸借することでセッション許可数を調整できる。尚、上記実施例1の中継サーバ20では、確立済みのセッションを使用して接続元端末10とルータ30との間でコマンドのデータ送信及び応答結果を中継した。しかしながら、以下に説明するようにしても良く、この場合の実施の形態につき、実施例2として説明する。図17は、実施例2の中継システムに関わるマネージャの機能一例を示す説明図である。尚、実施例1の中継システム1と同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。図17に示すマネージャ251は、通信部61、中継部62、確立部62A、分析部63、判定部64、管理テーブル65、登録部66、決定部67、貸与部68及び制御部69を有する。更に、マネージャ251は、キャッシュ71、キャッシュ登録部72及び返信部73を有する。キャッシュ登録部72は、中継部62を通じてコマンドのデータ送信に対応した応答結果を受信すると、コマンドのデータ送信の内容及び、このデータ送信の内容に対応した応答結果をキャッシュ71に登録する。また、キャッシュ登録部72は、コマンドのデータ送信の内容及び応答結果をキャッシュ71に登録すると、例えば、そのキャッシュ登録から1分後に登録されたコマンドのデータ送信の内容及び応答結果をキャッシュ71から消去する。尚、キャッシュ71に登録されるデータ送信の内容及び応答結果は、例えば、1分以内で応答結果が変更される可能性のないデータ送信の内容及び応答結果に限定するものである。また、返信部73は、確立済みのセッションを使用してエージェント15からコマンドのデータ送信を検出すると、当該データ送信の内容がキャッシュ71内に登録済みであるか否かを判定する。返信部73は、当該データ送信の内容がキャッシュ71内に登録済みの場合、当該データ送信の内容に対応した応答結果をキャッシュ71から読み出す。返信部73は、データ送信の内容がキャッシュ71内に登録済みの場合、当該データ送信をルータ30に中継せず、キャッシュ71に登録済みのデータ送信の内容に対応した応答結果をエージェント15に返信する。次に実施例2の中継システム1の動作について説明する。図18は、重複コマンド返信処理に関わるマネージャ251の処理動作の一例を示すフローチャートである。図18に示す重複コマンド返信処理では、コマンドのデータ送信に対応する応答結果をルータ30から取得すると、このデータ送信の内容及び応答結果を対応付けてキャッシュ71に登録する。更に、重複コマンド返信処理では、再度、同一のデータ送信を検出すると、ルータ30にデータ送信を中継することなく、データ送信に対応する応答結果をキャッシュ71から読み出し、この読み出した応答結果をエージェント15に返信する処理である。図18においてマネージャ251の返信部73は、エージェント15からコマンドのデータ送信を受信したか否かを判定するステップS291。返信部73は、エージェント15からデータ送信を受信した場合ステップS291肯定、データ送信の内容に対応した応答結果がキャッシュ71内に登録済みであるか否かを判定するステップS292。返信部73は、応答結果がキャッシュ71内に登録済みである場合ステップS292肯定、コマンドのデータ送信をルータ30に中継せず、コマンドのデータ送信に対応した応答結果をエージェント15に返信するステップS293。そして、マネージャ251は、図18に示す処理動作を終了する。返信部73は、エージェント15からコマンドのデータ送信を受信しなかった場合ステップS291否定、図18に示す処理動作を終了する。また、返信部73は、コマンドのデータ送信の内容に対応した応答結果がキャッシュ71内にない場合ステップS292否定、当該コマンドのデータ送信をルータ30に中継するステップS294。更に、キャッシュ登録部72は、中継部62を通じてコマンドのデータ送信に対応する応答結果を受信するとステップS295、コマンドのデータ送信の内容及び応答結果を対応付けてキャッシュ71に登録するステップS296。更に、中継部62は、コマンドのデータ送信の内容に対応する応答結果をエージェント15に送信すべく、ステップS293に移行する。尚、キャッシュ登録部72は、コマンドのデータ送信の内容及び応答結果を対応付けてキャッシュ71に登録すると、例えば、1分間のタイマを開始する。更に、キャッシュ登録部72は、1分間タイマがタイムアウトすると、当該登録済みのコマンドのデータ送信の内容及び応答結果をキャッシュ71から消去する。図18に示す重複コマンド返信処理では、コマンドのデータ送信に対応する応答結果をルータ30から受信すると、コマンドのデータ送信の内容及び応答結果を対応付けてキャッシュ71に登録する。更に、重複コマンド返信処理では、エージェント15からコマンドのデータ送信を検出すると、当該データ送信の内容、すなわちコマンドの内容がキャッシュ71内に登録済みの場合、当該データ送信の内容に対応した応答結果をキャッシュ71から読み出してエージェント15に返信する。その結果、エージェント15は、重複コマンド、すなわち同一のデータ送信の内容に対する応答結果の待ち時間を大幅に短縮化できる。そして、接続先装置であるルータ30へのアクセス回数が減り、接続先装置の負荷軽減を図ることができる。実施例2のマネージャ251は、コマンドのデータ送信に対応する応答結果をルータ30から受信した場合、データ送信の内容及び応答結果を対応付けてキャッシュ71に登録する。更に、マネージャ251は、データ送信を受信すると、当該データ送信の内容に対応する応答結果がキャッシュ71に登録済みの場合、データ送信をルータ30に中継することなく、当該キャッシュ71に登録済みの応答結果をエージェント15に返信する。その結果、エージェント15は、重複コマンド、すなわち同一のデータ送信の内容に対する応答結果の待ち時間を大幅に短縮化できる。尚、上記実施例では、コマンドの対象としてルータ30を例示したが、ルータに限定されるものではなく、レイヤ2スイッチ等のネットワーク機器等の通信機器に適用しても良い。また、上記実施例のtelnet実行部14が実行するコマンドはtelnetコマンドに限定されるものではない。telnet実行部14が実行するコマンドは、ネットワーク5上の他のコンピュータ等と通信を行うアプリケーションプログラム、例えば、rshremoteshell、rlogonremotelogin、SSHSecureSHell等のコマンドであっても良い。また、ネットワーク5上の他のコンピュータ等と通信を行うアプリケーションプログラムは、列挙のものに限らず、セッション確立を要するアプリケーションプログラムであれば、何れでも良い。また、上記実施例では、管理テーブル65をマネージャ25内に配置するようにしたが、中継サーバ20と外部接続するメモリ装置で管理するようにしても良い。また、同様に、管理テーブル65をマネージャ25だけでなく、接続元端末10内に持たせるようにしても良い。また、上記実施例では、エージェント15をソフトウェア機能として接続元端末10内のCPU13で実行すると共に、マネージャ25をソフトウェア機能として中継サーバ20内のCPU23で実行した。しかしながら、各機能を実行するハードウェアとして機能部を設けるようにしても良い。また、上記実施例では、エージェント15が、マネージャ25とルータ30との間のセッションを確立してマネージャ25から確立OKを受信すると、コマンドのデータ送信pushを確立済みのセッションを使用してマネージャ25に送信した。しかしながら、エージェント15は、マネージャ25との間のセッションが確立した後、当該確立済みのセッションを使用してコマンドのデータ送信pushをマネージャ25に送信する。そして、マネージャ25は、エージェント15からデータ送信pushを受信すると、データ送信pushを一時的に保管する。そして、マネージャ25は、ルータ30とのセッション確立を検出すると、当該確立済みのセッションを使用して一時的に保管されたデータ送信pushをルータ30に送信しても良い。また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散統合して構成することができる。更に、各装置で行われる各種処理機能は、CPUCentralProcessingUnit又はMPUMicroProcessingUnit、MCUMicroControllerUnit等のマイクロコンピュータ上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、CPU又はMPU、MCU等のマイクロコンピュータで解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。ところで、本実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図19を用いて、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図19は、通信プログラムを実行するコンピュータを示す説明図である。図19に示すコンピュータ400は、各種演算処理を実行するCPU401と、ユーザからのデータの入力を受け付ける入力装置402と、各種情報を表示出力するモニタ403とを有する。更に、コンピュータ400は、記憶媒体からプログラム等を読取る媒体読取装置404と、ネットワークを介して他のコンピュータとの間でデータの授受を行うネットワークインタフェース装置405とを有する。更に、コンピュータ400は、各種情報を一時記憶するRAM406と、ハードディスク装置407とを有する。各装置401~407は、バス408に接続される。そして、ハードディスク装置407には、上記の実施例と同様の機能を発揮する通信プログラムが予め記憶されている。通信プログラムとしては、図19に示すように、確立プログラム411、判定プログラム412及び通信プログラム413である。尚、プログラム411~413については、図3に示すマネージャ25の各構成要素と同様、適宜統合又は分散してもよい。更に、ハードディスク装置407は、確立済みセッションの使用状態を記憶する。CPU401は、確立プログラム411、判定プログラム412及び通信プログラム413をハードディスク装置407から読み出してRAM406に展開することにより、当該プログラムを実行する。その結果、図19に示すように、各プログラム411~413は、確立プロセス421、判定プロセス422及び通信プロセス423として機能するようになる。尚、各プログラム411~413は、必ずしもハードディスク装置407に格納されている必要はなく、CD-ROM等の記憶媒体に記憶されたプログラムを、コンピュータ400が読み出して実行しても良い。また、公衆回線、インターネット、LANLocalAreaNetwork、WANWideAreaNetwork等で接続した他のコンピュータに各プログラム411~413を記憶しておき、コンピュータ400が各プログラム411~413を読み出して実行しても良い。CPU401は、接続先装置との間でセッションを確立する。更に、CPU401は、確立済みのセッションであって、接続元装置によって発行されたコマンドに対して空きセッションがあるか否かを判定する。CPU401は、接続元装置からコマンドを検出した際に、空きセッションがあると判定された場合には、当該空きセッションを用いて接続先装置との間で当該検出されたコマンドを通信する。更に、CPU401は、確立済みのセッションを継続して維持できる、接続先装置が有する所定時間内に、継続メッセージを接続先装置に当該セッションを用いて送信する。その結果、CPU401は、接続先装置との間で確立済みの空きセッションを他のアプリからのコマンドのデータ送信及びデータ送信応答に使い回すことで、新規セッション確立の処理を省略して、その処理負担を軽減できる。以上、本実施例を含む実施の形態に関し、更に以下の付記を開示する。付記1接続先装置との間でセッションを確立する確立部と、前記確立部によって確立済みのセッションであって、接続元装置によって発行されたコマンドに対して空きセッションがあるか否かを判定する判定部と、前記接続元装置から前記コマンドを検出した際に、前記判定部によって空きセッションがあると判定された場合には、当該空きセッションを用いて前記接続先装置との間で当該検出されたコマンドを通信すると共に、確立済みのセッションを継続して維持できる、前記接続先装置が有する所定時間内に、継続メッセージを前記接続先装置に当該セッションを用いて送信する通信部とを有することを特徴とする通信装置。付記2前記通信部は、前記接続元装置から前記コマンドを検出した際に、前記判定部によって空きセッションがないと判定された場合には、前記確立部によって新たに確立されたセッションを用いて前記接続先装置との間で当該検出されたコマンドを通信することを特徴とする付記1に記載の通信装置。付記3前記接続先装置から前記コマンドに対して応答済みのデータ送信応答を検出すると、当該データ送信応答の通信に使用した当該確立済みのセッションの使用状態を空き状態として、当該確立済みのセッションの使用状態を管理する管理部に登録する登録部をさらに有し、前記判定部は、前記管理部に登録された前記確立済みのセッションの使用状態に基づき、前記空きセッションがあるか否かを判定することを特徴とする付記1又は2に記載の通信装置。付記4前記接続先装置とセッション確立可能なセッション上限数と、当該接続先装置とセッション確立可能に接続した装置の接続台数とを収集し、収集された前記セッション上限数及び前記接続台数に基づき、当該通信装置自体がセッション確立を許可できるセッション許可数を算出する算出部をさらに有し、前記確立部は、前記算出部にて算出された前記セッション許可数の範囲内で前記セッションを確立することを特徴とする付記1~3の何れか一つに記載の通信装置。付記5前記接続先装置と接続するセッション確立可能な他の通信装置からの貸与要求を検出すると、前記算出部にて算出された当該通信装置自体の前記セッション許可数の範囲内で未確立のセッションがある場合、当該未確立のセッションを、前記貸与要求を発行した前記他の通信装置に貸与する貸与部と、他の通信装置から前記未確立のセッションの貸与を検出すると、貸与された未確立のセッション数に応じて当該通信装置自体の前記セッション許可数を決定する決定部とをさらに有することを特徴とする付記4に記載の通信装置。付記6前記接続先装置から前記コマンドのデータ送信に対する応答結果を受信すると、当該コマンドのデータ送信の内容に対応付けて前記応答結果を記憶する記憶部と、前記コマンドを発行する接続元装置から前記コマンドのデータ送信を受信すると、当該コマンドのデータ送信の内容に対応した前記応答結果が前記記憶部内にある場合に、当該コマンドのデータ送信の内容に対応した前記応答結果を前記記憶部から読み出して前記接続元装置に返信する返信部とをさらに有することを特徴とする付記1~5の何れか一つに記載の通信装置。付記7接続先装置に対するコマンドを当該接続先装置との間で通信する通信装置の通信方法であって、前記通信装置は、前記接続先装置との間でセッションを確立し、前記接続先装置との間で確立済みのセッションであって、接続元装置によって発行された前記コマンドに対して空きセッションがあるか否かを判定し、前記接続元装置から前記コマンドを検出した際に、前記空きセッションがあると判定された場合には、当該空きセッションを用いて前記接続先装置との間で当該検出されたコマンドを通信すると共に、確立済みのセッションを継続して維持できる、前記接続先装置が有する所定時間内に、継続メッセージを前記接続先装置に当該セッションを用いて送信することを特徴とする通信方法。付記8接続先装置に対するコマンドを当該接続先装置との間で通信するコンピュータの通信プログラムであって、前記接続先装置との間でセッションを確立し、前記接続先装置との間で確立済みのセッションであって、接続元装置によって発行された前記コマンドに対して空きセッションがあるか否かを判定し、前記接続元装置から前記コマンドを検出した際に、前記空きセッションがあると判定された場合には、当該空きセッションを用いて前記接続先装置との間で当該検出されたコマンドを通信すると共に、確立済みのセッションを継続して維持できる、前記接続先装置が有する所定時間内に、継続メッセージを前記接続先装置に当該セッションを用いて送信する各処理をコンピュータに実行させることを特徴とする通信プログラム。付記9接続元装置と、当該接続元装置のアプリによって発行されたコマンドを実行する接続先装置と、前記接続元装置と前記接続先装置との間で前記コマンドを通信する中継装置と有する通信システムであって、前記接続元装置は、前記アプリからの前記コマンドを発行すると、当該コマンドの宛先に基づき、前記中継装置との間で確立済みのセッションであって、他のアプリからのコマンドに対して空きセッションがあるか否かを判定する判定部と、前記中継装置との間で前記空きセッションがあると判定された場合に、当該空きセッションを用いて前記中継装置との間で前記発行されたコマンドを通信すると共に、確立済みのセッションを継続して維持できる、前記接続先装置が有する所定時間内に、継続メッセージを当該中継装置に当該セッションを用いて送信する通信部とを有し、前記中継装置は、前記接続元装置との間で確立済みのセッションを使用してコマンドを検出すると、当該コマンドの宛先に基づき、前記接続先装置との間で確立済みのセッションであって、他のアプリからのコマンドに対して空きセッションがあるか否かを判定する判定部と、前記接続先装置との間で前記空きセッションがあると判定された場合に、当該空きセッションを用いて前記接続先装置との間で前記検出されたコマンドを通信すると共に、確立済みのセッションを継続して維持できる、前記所定時間内に、継続メッセージを当該接続先装置に当該セッションを用いて送信する通信部とを有することを特徴とする通信システム。"