(57)【要約】【課題】ユーザの使用状況に応じて、接続要求が送信される前にあらかじめ確立するコネクションの数を調整する。【解決手段】計算機と端末との間の通信を制御するネットワーク装置であって、接続要求が送信される前にネットワーク装置と計算機との間に確立するコネクションを制御するコネクション制御部を有し、コネクションの使用状態を管理するコネクション管理情報を保持し、コネクション制御部は、コネクション管理情報に基づいて、前記コネクションの数を調整するためのパラメータを算出し、パラメータに基づいてコネクションの数を調整する。【選択図】図２
2017220040.tif 000002
【特許請求の範囲】
【請求項１】
サービスを提供する計算機と前記サービスを利用する端末との間の通信を制御するネットワーク装置であって、
前記ネットワーク装置は、
プロセッサ、前記プロセッサに接続される記憶装置、及び前記プロセッサに接続されるネットワークインタフェースを有し、
前記ネットワーク装置と通信するための接続要求が前記計算機から送信される前に、前記ネットワーク装置と前記計算機との間に確立するコネクションを制御するコネクション制御部を有し、
前記コネクションの使用状態を管理するコネクション管理情報を保持し、
前記コネクション制御部は、
前記端末から前記接続要求を受け付けた場合、複数の前記コネクションの中から前記端末に割り当てるコネクションを選択して、前記端末に前記選択されたコネクションを割り当て、
前記端末から前記計算機との通信を切断するための切断要求を受け付けた場合、前記端末に割り当てられたコネクションの割り当てを解除し、
前記コネクションの使用状態を監視し、前記監視の結果に基づいて前記コネクション管理情報を更新し、
前記コネクション管理情報に基づいて、前記コネクションの数を調整するためのパラメータを算出し、
前記パラメータに基づいて、前記コネクションの数を調整することを特徴とするネットワーク装置。
【請求項２】
請求項１に記載のネットワーク装置であって、
前記コネクション管理情報は、前記ネットワーク装置と前記計算機との間に新規のコネクションが確立された時から現在までの経過時間を含み、
前記コネクション制御部は、
前記コネクションを維持する時間である第１時間を設定し、
前記コネクション管理情報に基づいて、前記コネクションを確立する周期を示す第２時間を前記パラメータとして算出し、
未使用時間が前記第１時間より大きい前記コネクションを切断し、
前記経過時間が前記第２時間より大きい場合、前記ネットワーク装置と前記計算機との間に前記新規のコネクションを確立し、
前記経過時間を初期化した後、前記経過時間の計測を開始することを特徴とするネットワーク装置。
【請求項３】
請求項２に記載のネットワーク装置であって、
前記コネクション管理情報は、前記複数のコネクションの各々の前記未使用時間を含み、
前記コネクション制御部は、
前記複数のコネクションの各々の未使用時間の平均値を前記第２時間として算出し、
前記端末への前記コネクションの割り当てが解除された場合、当該コネクションの前記未使用時間の計測を開始することを特徴とするネットワーク装置。
【請求項４】
請求項３に記載のネットワーク装置であって、
前記コネクション制御部は、前記端末に割り当てる前記コネクションを選択する場合、前記未使用時間が最も大きい前記コネクションを選択することを特徴とするネットワーク装置。
【請求項５】
請求項１に記載のネットワーク装置であって、
前記コネクション管理情報は、前記端末に過去に割り当てられる前記コネクションの数である第１割当数、及び前記端末に現在割り当てられる前記コネクションの数である第２割当数を含み、
前記コネクション制御部は、
前記第１割当数及び前記第２割当数に基づいて、前記コネクションの数の変化量を算出し、
前記変化量に基づいて、前記コネクションの数の予測値を前記パラメータとして算出し、
現在の前記ネットワーク装置と前記計算機との間に確立された前記コネクションの数が前記予測値に一致するように前記コネクションの数を調整することを特徴とするネットワーク装置。
【請求項６】
請求項５に記載のネットワーク装置であって、
前記コネクション管理情報は、前記端末に対する割り当てが解除された前記コネクションの数を示す第３割当数、及び算出された前記予測値を含み、
前記コネクション制御部は、
新たに予測値を算出する場合に、前記コネクション管理情報に格納される前記予測値と、前記第２割当数との差を誤差として算出し、
前記変化量、前記誤差、及び前記第３割当数を用いて前記予測値を算出し、
前記算出された予測値を前記コネクション管理情報に登録することを特徴とするネットワーク装置。
【請求項７】
サービスを提供する計算機と前記サービスを利用する端末との間の通信を制御するネットワーク装置のコネクション制御方法であって、
前記ネットワーク装置は、
プロセッサ、前記プロセッサに接続される記憶装置、及び前記プロセッサに接続されるネットワークインタフェースを有し、
前記ネットワーク装置と通信するための接続要求が前記計算機から送信される前に、前記ネットワーク装置と前記計算機との間に確立するコネクションを制御するコネクション制御部を有し、
前記コネクションの使用状態を管理するコネクション管理情報を保持し、
前記コネクション制御方法は、
前記コネクション制御部が、前記端末から前記接続要求を受け付けた場合、複数の前記コネクションの中から前記端末に割り当てるコネクションを選択して、前記端末に前記選択されたコネクションを割り当てる第１のステップと、
前記コネクション制御部が、前記端末から前記計算機との通信を切断するための切断要求を受け付けた場合、前記端末に割り当てられたコネクションの割り当てを解除する第２のステップと、
前記コネクション制御部が、前記コネクションの使用状態を監視し、前記監視の結果に基づいて前記コネクション管理情報を更新する第３のステップと、
前記コネクション制御部が、前記コネクション管理情報に基づいて、前記コネクションの数を調整するためのパラメータを算出する第４のステップと、
前記コネクション制御部が、前記パラメータに基づいて、前記コネクションの数を調整する第５のステップと、を含むことを特徴とするコネクション制御方法。
【請求項８】
請求項７に記載のコネクション制御方法であって、
前記コネクション管理情報は、前記ネットワーク装置と前記計算機との間に新規のコネクションが確立された時から現在までの経過時間を含み、
前記第４のステップは、
前記コネクション制御部が、前記コネクションを維持する時間である第１時間を設定する第６のステップと、
前記コネクション制御部が、前記コネクション管理情報に基づいて、前記コネクションを確立する周期を示す第２時間を前記パラメータとして算出する第７のステップと、を含み、
前記第５のステップは、
前記コネクション制御部が、未使用時間が前記第１時間より大きい前記コネクションを切断するステップと、
前記コネクション制御部が、前記経過時間が前記第２時間より大きい場合、前記ネットワーク装置と前記計算機との間に前記新規のコネクションを確立するステップと、
前記コネクション制御部が、前記経過時間を初期化した後、前記経過時間の計測を開始するステップと、を含むことを特徴とするコネクション制御方法。
【請求項９】
請求項８に記載のコネクション制御方法であって、
前記コネクション管理情報は、前記複数のコネクションの各々の前記未使用時間を含み、
前記第７のステップは、前記コネクション制御部が、前記複数のコネクションの各々の未使用時間の平均値を前記第２時間として算出するステップを含み、
前記第２のステップは、前記コネクション制御部が、前記端末への前記コネクションの割り当てが解除された場合、当該コネクションの前記未使用時間の計測を開始するステップを含むことを特徴とするコネクション制御方法。
【請求項１０】
請求項９に記載のコネクション制御方法であって、
前記第１のステップは、前記コネクション制御部が、前記未使用時間が最も大きい前記コネクションを選択するステップを含むことを特徴とするコネクション制御方法。
【請求項１１】
請求項７に記載のコネクション制御方法であって、
前記コネクション管理情報は、前記端末に過去に割り当てられる前記コネクションの数である第１割当数、及び前記端末に現在割り当てられる前記コネクションの数である第２割当数を含み、
前記コネクション制御方法は、
前記コネクション制御部が、前記第１割当数及び前記第２割当数に基づいて、前記コネクションの数の変化量を算出する第８のステップと、
前記コネクション制御部が、前記変化量に基づいて、前記コネクションの数の予測値を前記パラメータとして算出する第９のステップと、
前記コネクション制御部が、現在の前記ネットワーク装置との間に確立された前記コネクションの数が前記予測値に一致するように前記コネクションの数を調整する第１０のステップと、を含むことを特徴とするコネクション制御方法。
【請求項１２】
請求項１１に記載のコネクション制御方法であって、
前記コネクション管理情報は、前記端末に対する割り当てが解除された前記コネクションの数を示す第３割当数、及び算出された前記予測値を含み、
前記第８のステップは、前記コネクション制御部が、新たに予測値を算出する前に、前記コネクション管理情報に格納される前記予測値及び前記第２割当数の差を誤差として算出するステップを含み、
前記第９のステップは、
前記コネクション制御部が、前記変化量、前記誤差、及び前記第３割当数を用いて前記予測値を算出するステップと、
前記算出された予測値を前記コネクション管理情報に登録するステップと、を含むことを特徴とするコネクション制御方法。
【請求項１３】
サービスを提供する計算機、前記サービスを利用する端末、前記計算機と前記端末との間の通信を制御するネットワーク装置を有する計算機システムであって、
前記ネットワーク装置と通信するための接続要求が前記計算機から送信される前に、前記ネットワーク装置と前記計算機との間に確立するコネクションを制御するコネクション制御部を有し、
前記コネクションの使用状態を管理するコネクション管理情報を保持し、
前記コネクション制御部は、
前記端末から前記接続要求を受け付けた場合、複数のコネクションの中から前記端末に割り当てるコネクションを選択して、前記端末に前記選択されたコネクションを割り当て、
前記端末から前記計算機との通信を切断するための切断要求を受け付けた場合、前記端末に割り当てられたコネクションの割り当てを解除し、
前記コネクションの使用状態を監視し、前記監視の結果に基づいて前記コネクション管理情報を更新し、
前記コネクション管理情報に基づいて、前記コネクションの数を調整するためのパラメータを算出し、
前記パラメータに基づいて、前記コネクションの数を調整することを特徴とする計算機システム。
【請求項１４】
請求項１３に記載の計算機システムであって、
前記コネクション管理情報は、前記ネットワーク装置と前記計算機との間に新規のコネクションが確立された時から現在までの経過時間、及び前記複数のコネクションの各々の未使用時間を含み、
前記コネクション制御部は、
前記コネクションを維持する時間である第１時間を設定し、
前記端末への前記コネクションの割り当てが解除された場合、当該コネクションの前記未使用時間の計測を開始し、
前記複数のコネクションの各々の未使用時間の平均値である第２時間を前記パラメータとして算出し、
前記端末に割り当てられていない時間が前記第１時間より大きい前記コネクションを切断し、
前記経過時間が前記第２時間より大きい場合、前記ネットワーク装置と前記計算機との間に前記新規のコネクションを確立し、
前記経過時間を初期化した後、前記経過時間の計測を開始することを特徴とする計算機システム。
【請求項１５】
請求項１３に記載の計算機システムであって、
前記コネクション管理情報は、前記端末に過去に割り当てられる前記コネクションの数である第１割当数、及び前記端末に現在割り当てられる前記コネクションの数である第２割当数を含み、
前記コネクション制御部は、
前記第１割当数及び前記第２割当数に基づいて、前記コネクションの数の変化量を算出し、
前記変化量に基づいて、前記コネクションの数の予測値を前記パラメータとして算出し、
現在の前記ネットワーク装置と前記計算機との間に確立された前記コネクションの数が前記予測値に一致するように前記コネクションの数を調整することを特徴とする計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信に使用するコネクションを制御する通信装置、コネクションの管理方法、及びシステムに関する。
【背景技術】
【０００２】
ネットワーク装置が、ユーザが操作する端末から送信された接続要求を高速に処理するため、端末が接続要求を送信する前にサーバとネットワーク装置との間にあらかじめコネクションを確立し、確立されたコネクションをユーザに割り当てる方法が知られている。
【０００３】
あらかじめ確立するコネクションの数が多い場合、サーバのメモリやＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のリソースの消費量が多くなるという問題がある。一方、あらかじめ確立するコネクションの数が少ない場合、コネクションを確立した後に当該コネクションをユーザに割り当てる必要があるため、接続要求を高速に処理できないという問題がある。
【０００４】
前述した課題を解決する技術として、あらかじめ確立するコネクションの数を調整する技術が知られている（例えば、特許文献１参照）。特許文献１には、「所定の期間を複数の時間帯に分割し、所定の期間を単位周期として繰り返したときの各周期における時間帯毎の過去の常設コネクションの使用状況を示す履歴情報を蓄積する（ステップＳ１）。次に、蓄積された前記履歴情報に基づいて前記時間帯毎の最良常設コネクション数を決定する（ステップＳ２）。そして、前記時間帯それぞれにおいて、時間帯に対して決定された最良常設コネクション数の常設コネクションを、サーバとの間で確立する（ステップＳ３）。」ことが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−１９２２３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の技術は、時間帯毎の履歴情報に基づいて、負荷分散装置とサーバとの間にあらかじめ確立するコネクションの数を変更することによって、コネクションの数の過不足を回避するための技術である。したがって、社会的話題に起因してユーザからの接続数が変化するサービス及びシステムでは、履歴情報に基づくコネクションの数の予測が困難であるため、最適な数のコネクションを確立できない。
【０００７】
本発明は、ユーザからの接続要求の増減に応じて、あらかじめ確立するコネクションの数を調整するネットワーク装置、コネクションの制御方法、及びシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、サービスを提供する計算機と前記サービスを利用する端末との間の通信を制御するネットワーク装置であって、前記ネットワーク装置は、プロセッサ、前記プロセッサに接続される記憶装置、及び前記プロセッサに接続されるネットワークインタフェースを有し、前記ネットワーク装置と通信するための接続要求が前記計算機から送信される前に、前記ネットワーク装置と前記計算機との間に確立するコネクションを制御するコネクション制御部を有し、前記コネクションの使用状態を管理するコネクション管理情報を保持し、前記コネクション制御部は、前記端末から前記接続要求を受け付けた場合、複数の前記コネクションの中から前記端末に割り当てるコネクションを選択して、前記端末に前記選択されたコネクションを割り当て、前記端末から前記計算機との通信を切断するための切断要求を受け付けた場合、前記端末に割り当てられたコネクションの割り当てを解除し、前記コネクションの使用状態を監視し、前記監視の結果に基づいて前記コネクション管理情報を更新し、前記コネクション管理情報に基づいて、前記コネクションの数を調整するためのパラメータを算出し、前記パラメータに基づいて、前記コネクションの数を調整することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、コネクションの使用状態に応じて、あらかじめ確立するコネクションの数を調整することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
【図面の簡単な説明】
【００１０】
【図１】実施例１の計算機システムの構成の一例を示す図である。
【図２】実施例１のネットワーク装置の構成の一例を示す図である。
【図３】実施例１の使用コネクション管理情報の一例を示す図である。
【図４】実施例１の予備コネクション管理情報の一例を示す図である。
【図５】実施例１のネットワーク装置が実行する処理の概要を説明するフローチャートである。
【図６】実施例１のネットワーク装置が実行する追加間隔算出処理の一例を説明するフローチャートである。
【図７】実施例１のネットワーク装置が実行するコネクション要求処理の一例を説明するフローチャートである。
【図８】実施例１のネットワーク装置が実行するコネクション削除処理の一例を説明するフローチャートである。
【図９】実施例１のネットワーク装置が実行するコネクション追加処理の一例を説明するフローチャートである。
【図１０】実施例２の予備コネクション管理情報の一例を示す図である。
【図１１】実施例２のネットワーク装置が実行する処理の概要を説明するフローチャートである。
【図１２】実施例２のネットワーク装置が実行する予測値算出処理の一例を説明するフローチャートである。
【図１３】実施例２のネットワーク装置が実行する予備コネクション調整処理の一例を説明するフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面を用いて具体的に説明する。
【実施例１】
【００１２】
図１は、実施例１の計算機システムの構成の一例を示す図である。
【００１３】
実施例１の計算機システムは、七つの端末１０１−１、１０１−２、１０１−３、１０１−４、１０１−５、１０１−６、１０１−７、ネットワーク装置１０２、及び三つのサーバ１０３−１、１０３−２、１０３−３を含む。以下の説明では、端末１０１−１、１０１−２、１０１−３、１０１−４、１０１−５、１０１−６、１０１−７を区別しない場合、端末１０１と記載し、サーバ１０３−１、１０３−２、１０３−３を区別しない場合、サーバ１０３と記載する。
【００１４】
なお、本実施例は、計算機システムに含まれる端末１０１、ネットワーク装置１０２、及びサーバ１０３の数に限定されない。
【００１５】
ネットワーク装置１０２は、複数の端末１０１及び複数のサーバ１０３に接続する。なお、ネットワーク装置１０２は、端末１０１と直接接続されてもよいし、また、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）及びＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワークを介して接続されてもよい。また、ネットワーク装置１０２は、サーバ１０３と直接接続されてもよいし、また、ＬＡＮ及びＷＡＮ等のネットワークを介して接続されてもよい。
【００１６】
端末１０１は、ユーザが操作する計算機である。端末１０１は、図示しないＣＰＵ、メモリ、及びネットワークインタフェースを有する。端末１０１は、ネットワーク装置１０２に対して様々な要求１１０を送信する。サーバ１０３は、所定のサービスを提供する計算機である。サーバ１０３は、図示しないＣＰＵ、メモリ、及びネットワークインタフェースを有する。
【００１７】
ネットワーク装置１０２は、端末１０１とサーバ１０３との間の通信を制御する。本実施例では、ネットワーク装置１０２は、端末１０１から送信される要求１１０（接続要求）の増減に応じて、ネットワーク装置１０２と各サーバ１０３との間にあらかじめ確立するコネクションの数を調整する。これによって、ユーザの使用状況に合わせ、計算機システム内のコネクションの数を適切に設定できる。
【００１８】
ネットワーク装置１０２は、あらかじめ、ネットワーク装置１０２とサーバ１０３との間に所定の数のコネクションを確立する。図１では、ネットワーク装置１０２とサーバ１０３−１との間には、四つのコネクション１２０−１、１２０−２、１２０−３、１２０−４が確立され、ネットワーク装置１０２とサーバ１０３−２との間には、四つのコネクション１２０−５、１２０−６、１２０−７、１２０−８が確立され、また、ネットワーク装置１０２とサーバ１０３−３との間には、三つのコネクション１２０−９、１２０−１０、１２０−１１が確立される。
【００１９】
以下の説明では、コネクション１２０−１、１２０−２、１２０−３、１２０−４、１２０−５、１２０−６、１２０−７、１２０−８、１２０−９、１２０−１０、１２０−１１を区別しない場合、コネクション１２０と記載する。
【００２０】
ネットワーク装置１０２は、使用コネクション管理情報２３１及び予備コネクション管理情報２３２を保持する。ネットワーク装置１０２は、使用コネクション管理情報２３１及び予備コネクション管理情報２３２に基づいて、ユーザに割り当てられた状態のコネクション１２０、及びユーザに割り当てられていない状態のコネクション１２０を管理する。
【００２１】
以下の説明では、ユーザに割り当てられていない状態のコネクション１２０を予備コネクション１２０と記載し、ユーザに割り当てられた状態のコネクション１２０を使用コネクション１２０と記載する。予備コネクション１２０及び使用コネクション１２０の区別をしない場合、コネクション１２０と記載する。
【００２２】
ネットワーク装置１０２は、端末１０１からサーバ１０３へ接続するための要求１１０（接続要求）を受け付けた場合、予備コネクション管理情報２３２を参照して、一つの予備コネクション１２０を端末１０１に割り当てる。
【００２３】
このとき、ネットワーク装置１０２は、予備コネクション管理情報２３２から端末１０１に割り当てられた予備コネクション１２０の情報を削除し、当該予備コネクション１２０の情報を使用コネクション１２０の情報として使用コネクション管理情報２３１に登録する。
【００２４】
ネットワーク装置１０２は、端末１０１からサーバ１０３との接続を切断するための要求１１０（切断要求）を受け付けた場合、端末１０１に対する使用コネクション１２０の割り当てを解除する。
【００２５】
このとき、ネットワーク装置１０２は、使用コネクション管理情報２３１から割り当てが解除された使用コネクション１２０の情報を削除し、当該使用コネクション１２０の情報を予備コネクション１２０の情報として予備コネクション管理情報２３２に登録する。
【００２６】
ここで、ネットワーク装置１０２の具体的な構成について説明する。図２は、実施例１のネットワーク装置１０２の構成の一例を示す図である。
【００２７】
ネットワーク装置１０２は、ＣＰＵ２０１及びメモリ２０２を有する。また、ネットワーク装置１０２は、ポート２０３−１からポート２０３−ｎまでｎ個のポートを有する。以下の説明では、ｎ個のポートを区別しない場合、ポート２０３と記載する。
【００２８】
なお、本実施例は、ポート２０３の数に限定されない。また、ネットワーク装置１０２は、図示しないハードウェア構成を有してもよい。例えば、ネットワーク装置１０２は、記憶装置、Ｉ／Ｏデバイス等を含んでもよい。
【００２９】
ＣＰＵ２０１は、メモリ２０２に格納されるプログラムを実行する。ＣＰＵ２０１がプログラムを実行することによって、ネットワーク装置１０２が有する機能が実現される。以下の説明では、機能部を主語に処理を説明する場合、ＣＰＵ２０１が当該機能部を実現するプログラムを実行していることを示す。メモリ２０２は、ＣＰＵ２０１が実行するプログラム及び情報を格納する。また、メモリ２０２は、プログラムが一時的に使用するワークエリアを含む。ポート２０３は、外部の装置と接続するためのインタフェースである。
【００３０】
実施例１のメモリ２０２は、コネクション制御部２１１、入出力管理部２１２、使用コネクション管理部２１３、予備コネクション管理部２１４、及びタイマ管理部２１５を実現するプログラムを格納する。また、実施例１のメモリ２０２は、使用コネクション管理情報２３１及び予備コネクション管理情報２３２を格納する。
【００３１】
コネクション制御部２１１は、コネクション１２０の確立及び切断を制御する。入出力管理部２１２は、外部装置に対するデータの入力及び出力を制御する。入出力管理部２１２は、要求処理部２２１及びコネクション割当管理部２２２を含む。
【００３２】
要求処理部２２１は、外部装置から送信された要求の種別を判別する。及びコネクション割当管理部２２２は、コネクション制御部２１１の指示にしたがって、端末１０１にコネクション１２０を割り当て、また、端末１０１に対するコネクション１２０の割り当てを解除する。
【００３３】
使用コネクション管理部２１３は、使用コネクション１２０を管理する。使用コネクション管理部２１３は、使用コネクション管理情報２３１を保持する。予備コネクション管理部２１４は、予備コネクション１２０を管理する。予備コネクション管理部２１４は、予備コネクション調整部２２３を含み、予備コネクション管理情報２３２を保持する。予備コネクション調整部２２３は、コネクション１２０の数を調整するためのパラメータを算出する。また、予備コネクション調整部２２３は、予備コネクション１２０の追加及び削除を要求する。
【００３４】
タイマ管理部２１５は、処理の開始トリガとなるタイマを管理する。
【００３５】
ここで、ネットワーク装置１０２における要求１１０の処理の流れについて説明する。
【００３６】
端末１０１が送信した要求１１０は、ポート２０３を介して入出力管理部２１２に入力される。なお、要求１１０には、要求の種別、及び接続先のサーバ１０３の識別情報等が含まれる。
【００３７】
要求処理部２２１は、要求１１０が接続要求及び切断要求のいずれであるかを判定する。要求処理部２２１は、判定結果をコネクション制御部２１１に出力する。
【００３８】
要求１１０が接続要求である場合、コネクション制御部２１１は、予備コネクション管理部２１４を介して予備コネクション管理情報２３２を参照し、端末１０１に割り当てる予備コネクション１２０を決定する。コネクション制御部２１１は、決定した予備コネクション１２０の割り当てをコネクション割当管理部２２２に指示する。
【００３９】
これによって、端末１０１と接続するポート２０３から接続先のサーバ１０３に接続するポート２０３へのコネクションが使用可能となり、端末１０１は、サーバ１０３と通信することができる。
【００４０】
要求１１０が切断要求である場合、コネクション制御部２１１は、端末１０１に割り当てられた使用コネクション１２０の割り当ての解除をコネクション割当管理部２２２に指示する。
【００４１】
なお、図２に示す各機能部は、複数の機能部を一つの機能部に集約してもよいし、また、一つの機能部を複数の機能部に分割してもよい。例えば、使用コネクション管理部２１３、予備コネクション管理部２１４、及び入出力管理部２１２を、コネクション制御部２１１に集約してもよい。
【００４２】
図３は、実施例１の使用コネクション管理情報２３１の一例を示す図である。
【００４３】
使用コネクション管理情報２３１は、接続先３０１、使用ユーザ３０２、及び使用中フラグ３０３を含むエントリを複数含む。一つのエントリは、一つの使用コネクション１２０に対応する。なお、エントリは、使用コネクション１２０を識別するための識別情報を格納するカラムを含んでもよい。
【００４４】
接続先３０１は、使用コネクション１２０を介して接続されるサーバ１０３の識別情報を格納するカラムである。接続先３０１には、サーバ１０３のＩＰアドレス、及びホスト名等が格納される。
【００４５】
使用ユーザ３０２は、使用コネクション１２０を介してサーバ１０３と接続する端末１０１を使用するユーザの識別情報を格納するカラムである。使用ユーザ３０２には、ユーザ名、端末１０１のＩＰアドレス、及び端末１０１のＭＡＣアドレス等が格納される。
【００４６】
使用中フラグ３０３は、コネクション１２０の使用状態を示すフラグを格納するカラムである。使用中フラグ３０３には、使用コネクション１２０が使用されている状態を示す「使用中」又は使用コネクション１２０が使用されていない状態を示す「なし」のいずれかが格納される。
【００４７】
使用中フラグ３０３が「なし」である使用コネクション１２０は、割り当てが解除される予定の使用コネクション１２０であることを示す。後述するように、ネットワーク装置１０２は、使用コネクション管理情報２３１から使用中フラグ３０３が「なし」であるエントリ（使用コネクション１２０の情報）を削除し、当該使用コネクション１２０の情報を予備コネクション管理情報２３２に登録する。
【００４８】
図４は、実施例１の予備コネクション管理情報２３２の一例を示す図である。
【００４９】
予備コネクション管理情報２３２は、予備コネクション状態情報４０１及び予備コネクション追加間隔情報４０２を含む。
【００５０】
予備コネクション状態情報４０１は、複数の予備コネクション１２０の各々の状態を管理するための情報である。予備コネクション状態情報４０１は、接続先４１１、未使用時間４１２、タイムアウト値４１３、及び削除フラグ４１４を含むエントリを複数含む。一つのエントリは、一つの予備コネクション１２０に対応する。なお、エントリは、予備コネクション１２０を識別するための識別情報を格納するカラムを含んでもよい。
【００５１】
接続先４１１は、予備コネクション１２０を確立したサーバ１０３の識別情報を格納するカラムである。接続先４１１には、接続先３０１と同様の値が格納される。
【００５２】
未使用時間４１２は、端末１０１に割り当てられていない時間を格納するカラムである。なお、未使用時間４１２に設定される時間は、新たに予備コネクション１２０が確立された時、又は、使用コネクション１２０の割り当てが解除された時から計測が開始される。
【００５３】
予備コネクション管理部２１４は、所定の周期で未使用時間４１２の値を更新する。例えば、予備コネクション管理部２１４は、１秒ごとに、全エントリの未使用時間４１２の値に「１」を加算する。
【００５４】
タイムアウト値４１３は、予備コネクション１２０を維持する時間を格納するカラムである。
【００５５】
削除フラグ４１４は、予備コネクション１２０を削除するか否かを示すフラグを格納するカラムである。削除フラグ４１４には、削除する予備コネクション１２０であることを示す「削除対象」又は維持する予備コネクション１２０であることを示す「なし」のいずれかが格納される。
【００５６】
ネットワーク装置１０２の予備コネクション管理部２１４は、周期的に、各予備コネクション１２０の未使用時間４１２を参照する。未使用時間４１２がタイムアウト値４１３より大きい場合、予備コネクション管理部２１４は、削除フラグ４１４の値を「なし」から「削除対象」に更新する。また、ネットワーク装置１０２は、予備コネクション削除処理において、削除フラグ４１４に「削除対象」が格納されるエントリに対応する予備コネクション１２０を切断し、予備コネクション状態情報４０１から削除フラグ４１４に「削除対象」が格納されるエントリ（予備コネクション１２０の情報）を削除する。
【００５７】
予備コネクション追加間隔情報４０２は、予備コネクション１２０の追加間隔を管理するための情報である。予備コネクション追加間隔情報４０２は、接続先４１５、追加間隔４１６、及び経過時間４１７を含むエントリを複数含む。一つのエントリは、一つのサーバ１０３に対応する。
【００５８】
接続先４１５は、予備コネクション１２０を確立するサーバ１０３の識別情報を格納するカラムである。接続先４１５には、接続先３０１と同様の値が格納される。
【００５９】
追加間隔４１６は、予備コネクション１２０を追加する間隔を示す時間を格納するカラムである。追加間隔４１６は、予備コネクション１２０の数を調整するためのパラメータとして用いられる。
【００６０】
経過時間４１７は、最後に予備コネクション１２０が追加された時から現在までの経過時間を格納するカラムである。なお、経過時間４１７に設定される時間は、新規の予備コネクション１２０が確立された時から計測が開始される。
【００６１】
予備コネクション管理部２１４は、所定の周期で経過時間４１７の値を更新する。例えば、予備コネクション管理部２１４は、１秒ごとに、全エントリの経過時間４１７の値に「１」を加算する。
【００６２】
なお、ネットワーク装置１０２は、使用コネクション１２０及び予備コネクション１２０を一つにまとめたコネクション管理情報を保持してもよい。この場合、前述したカラム以外に、コネクション１２０の種別を示すカラムをエントリに含めればよい。当該カラムには「予備」及び「使用」等の値が格納される。また、使用コネクション管理部２１３及び予備コネクション管理部２１４は、互いにコネクション管理情報にアクセスできるように設定すればよい。
【００６３】
次に、ネットワーク装置１０２が実行する処理について説明する。図５は、実施例１のネットワーク装置１０２が実行する処理の概要を説明するフローチャートである。
【００６４】
ネットワーク装置１０２は、タイムアウト値を設定する（ステップＳ５０１）。
【００６５】
具体的には、コネクション制御部２１１が、使用コネクション管理部２１３に管理者等によって入力されたタイムアウト値の設定を指示する。使用コネクション管理部２１３は、予備コネクション状態情報４０１の各エントリのタイムアウト値４１３に、入力されたタイムアウト値を設定する。
【００６６】
なお、ネットワーク装置１０２毎に異なるタイムアウト値を設定してもよいし、また、サーバ１０３毎に異なるタイムアウト値を設定してもよい。また、タイムアウト値は、適宜更新することができる。
【００６７】
次に、ネットワーク装置１０２は、更新用タイマを初期化する（ステップＳ５０２）。更新用タイマは、追加間隔算出処理の実行周期を管理するためのタイマである。
【００６８】
具体的には、コネクション制御部２１１がタイマ管理部２１５に更新用タイマの初期化を指示する。タイマ管理部２１５は、更新用タイマの値を初期化し、更新用タイマのカウントを開始する。
【００６９】
次に、ネットワーク装置１０２は、追加間隔算出処理を実行する（ステップＳ５０３）。
【００７０】
具体的には、コネクション制御部２１１が、追加間隔算出処理の実行を予備コネクション管理部２１４に指示する。追加間隔算出処理の詳細は図６を用いて説明する。
【００７１】
次に、ネットワーク装置１０２は、コネクション制御処理を実行する（ステップＳ５０４）。
【００７２】
コネクション制御処理では、コネクション要求処理、予備コネクション削除処理、及び予備コネクション追加処理が並列して実行される。コネクション要求処理の詳細は図７を用いて説明し、予備コネクション削除処理の詳細は図８を用いて説明し、予備コネクション追加処理の詳細は図９を用いて説明する。
【００７３】
ネットワーク装置１０２は、コネクション制御処理と並列して、更新用タイマの値が所定の閾値以上であるか否かを判定する（ステップＳ５０５）。
【００７４】
具体的には、タイマ管理部２１５が、更新用タイマの値が所定の閾値以上であるか否かを判定する。更新用タイマの値が所定の閾値より小さい場合、タイマ管理部２１５は、コネクション制御部２１１に追加間隔算出処理の実行指示を出力する。
【００７５】
更新用タイマの値が所定の閾値より小さい場合、ネットワーク装置１０２は、ステップＳ５０４に戻り、コネクション制御処理を継続する。更新用タイマの値が所定の閾値以上である場合、ネットワーク装置１０２は、ステップＳ５０２に戻り、更新用タイマを初期化した後（ステップＳ５０２）、追加間隔算出処理を実行する（ステップＳ５０３）。
【００７６】
図６は、実施例１のネットワーク装置１０２が実行する追加間隔算出処理の一例を説明するフローチャートである。
【００７７】
予備コネクション管理部２１４の予備コネクション調整部２２３は、コネクション制御部２１１から追加間隔算出処理の開始指示を受け付けた場合、以下の処理を開始する。
【００７８】
予備コネクション調整部２２３は、全てのサーバ１０３について処理が完了したか否かを判定する（ステップＳ６０１）。
【００７９】
具体的には、予備コネクション調整部２２３は、予備コネクション追加間隔情報４０２に含まれる全てのエントリについて処理が実行されたか否かを判定する。
【００８０】
全てのサーバ１０３について処理が完了していると判定された場合、予備コネクション調整部２２３は、追加間隔算出処理を終了する。
【００８１】
全てのサーバ１０３について処理が完了していないと判定された場合、予備コネクション調整部２２３は、対象のサーバ１０３を選択する（ステップＳ６０２）。
【００８２】
具体的には、予備コネクション調整部２２３は、予備コネクション追加間隔情報４０２のエントリを一つ選択する。例えば、予備コネクション調整部２２３は、予備コネクション追加間隔情報４０２の上から順にエントリを選択する。
【００８３】
次に、予備コネクション調整部２２３は、予備コネクション管理情報２３２を参照して、対象のサーバ１０３に関連する予備コネクション１２０の未使用時間を取得する（ステップＳ６０３）。
【００８４】
具体的には、予備コネクション調整部２２３は、予備コネクション状態情報４０１の接続先４１１を参照して、対象のサーバ１０３の識別情報が設定されたエントリを検索する。予備コネクション調整部２２３は、検索されたエントリの未使用時間４１２から値を取得する。
【００８５】
次に、予備コネクション調整部２２３は、検索されたエントリの未使用時間４１２から取得された値を用いて、対象のサーバ１０３に関連する予備コネクション１２０の未使用時間の平均値を算出する（ステップＳ６０４）。
【００８６】
次に、予備コネクション調整部２２３は、予備コネクション管理情報２３２を更新する（ステップＳ６０５）。その後、予備コネクション調整部２２３は、ステップＳ６０１に戻り、同様の処理を実行する。
【００８７】
具体的には、予備コネクション調整部２２３は、予備コネクション追加間隔情報４０２の接続先４１５を参照し、対象のサーバ１０３の識別情報が格納されるエントリを検索する。予備コネクション管理部２１４は、検索されたエントリの追加間隔４１６に、算出された予備コネクション１２０の未使用時間の平均値を設定する。
【００８８】
図７は、実施例１のネットワーク装置１０２が実行するコネクション要求処理の一例を説明するフローチャートである。
【００８９】
ネットワーク装置１０２は、端末１０１から要求１１０を受信した場合、以下で説明するコネクション要求処理を開始する。
【００９０】
ネットワーク装置１０２は、要求１１０が接続要求であるか否かを判定する（ステップＳ７０１）。
【００９１】
具体的には、要求処理部２２１が、要求１１０が接続要求であるか否かを判定する。要求処理部２２１は、判定結果をコネクション制御部２１１に出力する。
【００９２】
要求１１０が接続要求であると判定された場合、ネットワーク装置１０２は、接続先のサーバ１０３とネットワーク装置１０２との間に確立された予備コネクション１２０が存在するか否かを判定する（ステップＳ７０２）。具体的には、以下のような処理が実行される。
【００９３】
コネクション制御部２１１は、要求１１０が接続要求であることを示す判定結果を要求処理部２２１から受信した場合、当該要求１１０から接続先のサーバ１０３の識別情報を取得する。コネクション制御部２１１は、サーバ１０３の識別情報を含む予備コネクション１２０の検索指示を予備コネクション管理部２１４に出力する。
【００９４】
予備コネクション管理部２１４は、予備コネクション状態情報４０１を参照し、接続先４１１に接続先のサーバ１０３の識別情報が格納されるエントリを検索する。予備コネクション管理部２１４は、前述の条件を満たすエントリが存在するか否かを示す情報を含む応答をコネクション制御部２１１に出力する。
【００９５】
前述の条件を満たすエントリが存在しない場合、コネクション制御部２１１は、予備コネクション１２０が存在しないと判定する。一方、前述の条件を満たすエントリが存在する場合、コネクション制御部２１１は、予備コネクション１２０が存在すると判定する。以上が、ステップＳ７０２の処理の説明である。
【００９６】
予備コネクション１２０が存在しないと判定された場合、ネットワーク装置１０２は、接続先のサーバ１０３とネットワーク装置１０２との間に、予備コネクション１２０を確立する（ステップＳ７０３）。具体的には、以下のような処理が実行される。
【００９７】
コネクション制御部２１１は、接続先のサーバ１０３とネットワーク装置１０２との間に新規の予備コネクション１２０を確立する。コネクションの確立方法は、公知のものであるため説明を省略する。
【００９８】
コネクション制御部２１１は、予備コネクション状態情報４０１の更新指示を予備コネクション管理部２１４に出力する。当該更新要求には、エントリの追加を指示する命令、及び接続先のサーバ１０３の識別情報が含まれる。
【００９９】
予備コネクション管理部２１４は、予備コネクション状態情報４０１にエントリを追加する。予備コネクション管理部２１４は、追加されたエントリの接続先４１１に接続先のサーバ１０３の識別情報を設定する。予備コネクション管理部２１４は、追加されたエントリの未使用時間４１２に「０」を設定し、タイムアウト値４１３に追加間隔算出処理において設定されたタイムアウト値を設定する。また、予備コネクション管理部２１４は、追加されたエントリの削除フラグ４１４に「なし」を設定する。
【０１００】
予備コネクション管理部２１４は、予備コネクション状態情報４０１を更新した後、コネクション制御部２１１に処理の完了を通知する。また、予備コネクション管理部２１４は、新規の予備コネクション１２０の未使用時間のカウントを開始する。
【０１０１】
なお、設定するタイムアウト値の取得方法は、以下のような方法が考えられる。一つは、予備コネクション管理部２１４が、接続先４１１に接続先のサーバ１０３の識別情報が設定されたエントリのタイムアウト値４１３を取得する方法である。もう一つの方法は、メモリ２０２にあらかじめ格納される値を取得する方法である。以上がステップＳ７０３の処理の説明である。
【０１０２】
次に、ネットワーク装置１０２は、端末１０１に新規の予備コネクション１２０を割り当てる（ステップＳ７０４）。その後、ネットワーク装置１０２は、コネクション要求処理を終了する。具体的には、以下のような処理が実行される。
【０１０３】
コネクション制御部２１１は、予備コネクション管理部２１４に予備コネクション１２０の選択指示を出力する。
【０１０４】
予備コネクション管理部２１４は、ステップＳ７０３において追加されたエントリを選択する。予備コネクション管理部２１４は、予備コネクション状態情報４０１から選択されたエントリを削除し、コネクション制御部２１１に処理の完了を通知する。
【０１０５】
コネクション制御部２１１は、コネクション割当管理部２２２に予備コネクション１２０の割当指示を出力する。
【０１０６】
コネクション割当管理部２２２は、接続要求を送信した端末１０１に予備コネクション１２０を割り当て、コネクション制御部２１１に処理の完了を通知する。
【０１０７】
コネクション制御部２１１は、使用コネクション管理部２１３に、使用コネクション管理情報２３１の更新指示を出力する。当該更新指示には、エントリの追加を指示する命令、並びに、接続先のサーバ１０３の識別情報及び端末１０１の識別情報が含まれる。
【０１０８】
使用コネクション管理部２１３は、使用コネクション管理情報２３１にエントリを追加する。使用コネクション管理部２１３は、追加されたエントリの接続先３０１に接続先のサーバ１０３の識別情報を設定し、使用ユーザ３０２に端末１０１の識別情報を設定する。また、使用コネクション管理部２１３は、追加されたエントリの使用中フラグ３０３に「使用中」を設定する。使用コネクション管理部２１３は、コネクション制御部２１１に処理の完了を通知する。以上がステップＳ７０４の処理の説明である。
【０１０９】
ステップＳ７０２において予備コネクション１２０が存在すると判定された場合、ネットワーク装置１０２は、接続要求を送信した端末１０１に予備コネクション１２０を割り当てる（ステップＳ７０５）。その後、ネットワーク装置１０２は、コネクション要求処理を終了する。具体的には、以下のような処理が実行される。
【０１１０】
コネクション制御部２１１は、予備コネクション管理部２１４に予備コネクション１２０の選択指示を出力する。
【０１１１】
予備コネクション管理部２１４は、ステップＳ７０２において検索されたエントリの中から一つのエントリを選択する。本実施例では、予備コネクション管理部２１４は、未使用時間４１２の値が最も大きいエントリを選択する。なお、削除フラグ４１４に「削除対象」が格納されるエントリは、選択対象から除外してもよい。予備コネクション管理部２１４は、予備コネクション状態情報４０１から選択されたエントリを削除し、コネクション制御部２１１に処理の完了を通知する。
【０１１２】
コネクション制御部２１１は、コネクション割当管理部２２２に予備コネクション１２０の割当指示を出力する。
【０１１３】
コネクション割当管理部２２２は、接続要求を送信した端末１０１に予備コネクション１２０を割り当て、コネクション制御部２１１に処理の完了を通知する。
【０１１４】
コネクション制御部２１１は、使用コネクション管理部２１３に、使用コネクション管理情報２３１の更新指示を出力する。当該更新指示には、エントリの追加を指示する命令、並びに、接続先のサーバ１０３の識別情報及び端末１０１の識別情報が含まれる。
【０１１５】
使用コネクション管理部２１３は、使用コネクション管理情報２３１にエントリを追加する。使用コネクション管理部２１３は、追加されたエントリの接続先３０１に接続先のサーバ１０３の識別情報を設定し、使用ユーザ３０２に端末１０１の識別情報を設定する。また、使用コネクション管理部２１３は、追加されたエントリの使用中フラグ３０３に「使用中」を設定する。使用コネクション管理部２１３は、コネクション制御部２１１に処理の完了を通知する。以上がステップＳ７０５の処理の説明である。
【０１１６】
ステップＳ７０１において、要求１１０が接続要求でないと判定された場合、すなわち、要求１１０が切断要求であると判定された場合、ネットワーク装置１０２は、使用コネクション１２０の割り当てを解除する（ステップＳ７０６）。その後、ネットワーク装置１０２は、コネクション要求処理を終了する。具体的には、以下のような処理が実行される。
【０１１７】
コネクション制御部２１１は、コネクション割当管理部２２２に、使用コネクション１２０の割当解除指示を出力する。当該割当解除指示には、解除対象の使用コネクション１２０を特定する情報として、接続先のサーバ１０３の識別情報及び端末１０１の識別情報が含まれる。
【０１１８】
コネクション割当管理部２２２は、端末１０１に対する使用コネクション１２０の割り当てを解除する。コネクション割当管理部２２２は、コネクション制御部２１１に処理の完了を通知する。
【０１１９】
コネクション制御部２１１は、使用コネクション管理部２１３に、使用コネクション管理情報２３１の更新指示を出力する。当該更新指示には、エントリの削除を指示する命令、並びに、接続先のサーバ１０３の識別情報及び端末１０１の識別情報が含まれる。
【０１２０】
使用コネクション管理部２１３は、使用コネクション管理情報２３１を参照し、接続先３０１に接続先のサーバ１０３の識別情報が格納され、かつ、使用ユーザ３０２に端末１０１の識別情報が格納されるエントリを検索する。
【０１２１】
使用コネクション管理部２１３は、使用コネクション管理情報２３１から検索されたエントリを削除し、コネクション制御部２１１に処理の完了を通知する。
【０１２２】
コネクション制御部２１１は、予備コネクション管理部２１４に、予備コネクション状態情報４０１の更新指示を出力する。当該更新指示には、エントリの追加を指示する命令、及び接続先のサーバ１０３の識別情報が含まれる。
【０１２３】
予備コネクション管理部２１４は、予備コネクション状態情報４０１にエントリを追加する。予備コネクション管理部２１４は、追加されたエントリの接続先４１１に接続先のサーバ１０３の識別情報を設定する。予備コネクション管理部２１４は、追加されたエントリの未使用時間４１２に「０」を設定し、タイムアウト値４１３に追加間隔算出処理において設定されたタイムアウト値を設定する。また、予備コネクション管理部２１４は、追加されたエントリの削除フラグ４１４に「なし」を設定する。
【０１２４】
予備コネクション管理部２１４は、予備コネクション状態情報４０１を更新した後、コネクション制御部２１１に、処理の完了を通知する。また、予備コネクション管理部２１４は、新たに登録された予備コネクション１２０の未使用時間のカウントを開始する。
【０１２５】
以上がステップＳ７０６の処理の説明である。
【０１２６】
図８は、実施例１のネットワーク装置１０２が実行するコネクション削除処理の一例を説明するフローチャートである。
【０１２７】
予備コネクション管理部２１４は、周期的に、又は、外部から実行指示を受け付けた場合、以下で説明するコネクション削除処理を開始する。
【０１２８】
予備コネクション管理部２１４は、全ての予備コネクション１２０について処理が完了したか否かを判定する（ステップＳ８０１）。
【０１２９】
具体的には、予備コネクション管理部２１４は、予備コネクション状態情報４０１に含まれる全てのエントリについて処理が実行されたか否かを判定する。
【０１３０】
全ての予備コネクション１２０について処理が完了したと判定された場合、予備コネクション管理部２１４は、コネクション削除処理を終了する。
【０１３１】
全ての予備コネクション１２０について処理が完了していないと判定された場合、予備コネクション管理部２１４は、対象の予備コネクション１２０を選択する（ステップＳ８０２）。
【０１３２】
具体的には、予備コネクション管理部２１４は、予備コネクション状態情報４０１のエントリを一つ選択する。例えば、予備コネクション管理部２１４は、予備コネクション状態情報４０１の上から順にエントリを選択する。
【０１３３】
次に、予備コネクション管理部２１４は、対象の予備コネクション１２０が削除対象であるか否かを判定する（ステップＳ８０３）。
【０１３４】
具体的には、予備コネクション管理部２１４は、対象の予備コネクション１２０に対応するエントリの削除フラグ４１４に「削除対象」が設定されているか否かを判定する。削除フラグ４１４に「削除対象」が設定されている場合、予備コネクション管理部２１４は、対象の予備コネクション１２０が削除対象であると判定する。
【０１３５】
対象の予備コネクション１２０が削除対象ではないと判定された場合、予備コネクション管理部２１４は、ステップＳ８０１に戻り、同様の処理を実行する。
【０１３６】
対象の予備コネクション１２０が削除対象であると判定された場合、予備コネクション管理部２１４は、予備コネクション１２０を切断する（ステップＳ８０４）。その後、予備コネクション管理部２１４は、ステップＳ８０１に戻り、同様の処理を実行する。具体的には、以下のような処理が実行される。
【０１３７】
予備コネクション管理部２１４は、コネクション制御部２１１に対象の予備コネクション１２０の切断要求を出力する。当該切断要求には、接続先のサーバ１０３の識別情報が含まれる。また、予備コネクション管理部２１４は、予備コネクション状態情報４０１から、対象の予備コネクション１２０に対応するエントリを削除する。
【０１３８】
コネクション制御部２１１は、接続先のサーバ１０３とネットワーク装置１０２との間に確立された予備コネクション１２０を一つ切断する。なお、削除対象の予備コネクション１２０を特定できる場合、コネクション制御部２１１は、削除対象の予備コネクション１２０を切断する。なお、コネクションの切断方法は、公知のものであるため説明を省略する。以上が、ステップＳ８０４の処理の説明である。
【０１３９】
図９は、実施例１のネットワーク装置１０２が実行するコネクション追加処理の一例を説明するフローチャートである。
【０１４０】
予備コネクション管理部２１４は、周期的に、又は、外部から実行指示を受け付けた場合、以下で説明するコネクション追加処理を開始する。
【０１４１】
予備コネクション管理部２１４は、全てのサーバ１０３について処理が完了したか否かを判定する（ステップＳ９０１）。
【０１４２】
具体的には、予備コネクション管理部２１４は、予備コネクション追加間隔情報４０２に含まれる全てのエントリについて処理が実行されたか否かを判定する。
【０１４３】
全てのサーバ１０３について処理が完了していると判定された場合、予備コネクション管理部２１４は、コネクション追加処理を終了する。
【０１４４】
全てのサーバ１０３について処理が完了していないと判定された場合、予備コネクション管理部２１４は、対象のサーバ１０３を選択する（ステップＳ９０２）。
【０１４５】
具体的には、予備コネクション管理部２１４は、予備コネクション追加間隔情報４０２のエントリを一つ選択する。例えば、予備コネクション管理部２１４は、予備コネクション追加間隔情報４０２の上から順にエントリを選択する。
【０１４６】
予備コネクション管理部２１４は、ネットワーク装置１０２と対象のサーバ１０３との間に予備コネクション１２０を確立する必要があるか否かを判定する（ステップＳ９０３）。
【０１４７】
具体的には、予備コネクション管理部２１４は、対象のサーバ１０３に対応するエントリの経過時間４１７の値が追加間隔４１６の値より大きいか否かを判定する。経過時間４１７の値が追加間隔４１６の値より大きい場合、予備コネクション管理部２１４は、ネットワーク装置１０２と対象のサーバ１０３との間に予備コネクション１２０を確立する必要があると判定する。
【０１４８】
ネットワーク装置１０２と対象のサーバ１０３との間に予備コネクション１２０を確立する必要がないと判定された場合、予備コネクション管理部２１４は、ステップＳ９０１に戻り、同様の処理を実行する。
【０１４９】
ネットワーク装置１０２と対象のサーバ１０３との間に予備コネクション１２０を確立する必要があると判定された場合、予備コネクション管理部２１４は、ネットワーク装置１０２と対象のサーバ１０３との間に予備コネクション１２０を確立する（ステップＳ９０４）。その後、予備コネクション管理部２１４は、ステップＳ９０１に戻り、同様の処理を実行する。具体的には、以下のような処理が実行される。
【０１５０】
予備コネクション管理部２１４は、コネクション制御部２１１に予備コネクション１２０の確立要求を出力する。当該確立要求には、対象のサーバ１０３の識別情報が含まれる。
【０１５１】
コネクション制御部２１１は、対象のサーバ１０３とネットワーク装置１０２との間に予備コネクション１２０を確立し、処理の完了を予備コネクション管理部２１４に通知する。
【０１５２】
予備コネクション管理部２１４は、予備コネクション状態情報４０１にエントリを追加する。予備コネクション管理部２１４は、追加されたエントリの接続先４１１に接続先のサーバ１０３の識別情報を設定する。予備コネクション管理部２１４は、追加されたエントリの未使用時間４１２に「０」を設定し、タイムアウト値４１３に追加間隔算出処理において設定されたタイムアウト値を設定する。また、予備コネクション管理部２１４は、追加されたエントリの削除フラグ４１４に「なし」を設定する。
【０１５３】
また、予備コネクション管理部２１４は、新たに登録された予備コネクション１２０の未使用時間のカウントを開始する。以上が、ステップＳ９０４の処理の説明である。
【０１５４】
実施例１では、ネットワーク装置１０２は、予備コネクション１２０の未使用時間に基づいて追加間隔を算出する。また、ネットワーク装置１０２は、追加間隔及びタイムアウト値に基づいて、動的に、コネクション１２０の数を調整する。
【０１５５】
タイムアウト値４１３の値が追加間隔４１６の値より小さい場合、ネットワーク装置１０２とサーバ１０３との間に確立される予備コネクション１２０の数は時間の経過に伴って減少する。
【０１５６】
タイムアウト値４１３の値が追加間隔４１６の値より大きい場合、ネットワーク装置１０２とサーバ１０３との間に確立されるコネクション１２０の数は時間の経過に伴って増加する。
【０１５７】
タイムアウト値４１３の値が追加間隔４１６の値と同一である場合、ネットワーク装置１０２とサーバ１０３との間に確立されるコネクション１２０の数は一定となる。
【０１５８】
以上で説明したように、実施例１のネットワーク装置１０２は、コネクション１２０の使用状態に合わせて、確立する予備コネクション１２０の数を動的に変更することができる。
【実施例２】
【０１５９】
実施例２では、ネットワーク装置１０２が、現在のコネクション１２０の使用状態に基づいて、予備コネクション１２０の数の予測値を算出し、当該予測値に基づいて予備コネクション１２０の数を調整する。以下、実施例１との差異を中心に実施例２について説明する。
【０１６０】
実施例２の計算機システムの構成、及びネットワーク装置１０２に構成は、実施例１と同一の構成であるため説明を省略する。実施例２の使用コネクション管理情報２３１は、実施例１の情報と同一であるため説明を省略する。
【０１６１】
実施例２の予備コネクション管理情報２３２は、実施例１の予備コネクション管理情報２３２と異なる。図１０は、実施例２の予備コネクション管理情報２３２の一例を示す図である。
【０１６２】
予備コネクション管理情報２３２は、使用コネクション数情報１００１及び予備コネクション数情報１００２を含む。
【０１６３】
使用コネクション数情報１００１は、サーバ１０３毎の使用コネクション１２０の数を管理するための情報である。使用コネクション数情報１００１は、接続先１０１１、前回使用コネクション数１０１２、使用コネクション数１０１３、誤差１０１４、及び予測値１０１５を含む複数のエントリを含む。一つのエントリは、一つのサーバ１０３に対応する。
【０１６４】
接続先１０１１は、使用コネクション１２０を介して接続されるサーバ１０３の識別情報を格納するカラムである。接続先１０１１には、接続先３０１と同様の値が格納される。
【０１６５】
前回使用コネクション数１０１２は、前回の予測値算出処理の開始時の使用コネクション１２０の数を格納するカラムである。
【０１６６】
使用コネクション数１０１３は、現在、ユーザに割り当てられる使用コネクション１２０の数を格納するカラムである。
【０１６７】
誤差１０１４は、前回の予備コネクション調整処理において算出された予測値と、予測値算出処理の開始時に割り当てられる使用コネクション１２０の数との差を格納するカラムである。誤差１０１４に格納される値は、予測値算出処理の開始時の使用コネクション数１０１３の値から予測値１０１５の値を減算することによって算出される。
【０１６８】
誤差１０１４の値が正の値である場合、予備コネクション１２０が不足していたことを示す。一方、誤差１０１４の値が負の値である場合、予備コネクション１２０が過剰であったことを示す。
【０１６９】
予測値１０１５は、予測値算出処理において算出された予備コネクション１２０の数の予測値を格納するカラムである。
【０１７０】
予備コネクション数情報１００２は、サーバ１０３毎の現在の予備コネクション１２０の数を管理するための情報である。予備コネクション数情報１００２は、接続先１０１６、予備コネクション数１０１７、割当予備コネクション数１０１８、及び総コネクション数１０１９を含むエントリを複数含む。一つのエントリは、一つのサーバ１０３に対応する。
【０１７１】
接続先１０１６は、予備コネクション１２０を介して接続されるサーバ１０３の識別情報を格納するカラムである。接続先１０１６には、接続先３０１と同様の値が格納される。
【０１７２】
予備コネクション数１０１７は、端末１０１に一度も割り当てられなかった予備コネクション１２０の数を格納するカラムである。
【０１７３】
割当予備コネクション数１０１８は、端末１０１に対する割り当てが解除された予備コネクション１２０の数を格納するカラムである。
【０１７４】
総コネクション数１０１９は、予備コネクション１２０の総数を格納するカラムである。総コネクション数１０１９に格納される値は、予備コネクション数１０１７及び割当予備コネクション数１０１８を合計することによって算出される。
【０１７５】
実施例２のネットワーク装置１０２が実行する処理は、実施例１のネットワーク装置１０２が実行する処理と異なる。図１１は、実施例２のネットワーク装置１０２が実行する処理の概要を説明するフローチャートである。
【０１７６】
ネットワーク装置１０２は、更新用タイマを初期化する（ステップＳ１１０１）。更新用タイマは、予測値算出処理の実行周期を管理するためのタイマである。
【０１７７】
具体的には、コネクション制御部２１１がタイマ管理部２１５に更新用タイマの初期化を指示する。タイマ管理部２１５が更新用タイマの値を初期化し、更新用タイマのカウントを開始する。
【０１７８】
次に、ネットワーク装置１０２は、予測値算出処理を実行し（ステップＳ１１０２）、予測値算出処理の結果に基づいて予備コネクション調整処理を実行する（ステップＳ１００３）。
【０１７９】
具体的には、コネクション制御部２１１が、予測値算出処理及び予備コネクション調整処理の実行を予備コネクション管理部２１４に指示する。予測値算出処理の詳細は図１２を用いて説明し、予備コネクション調整処理の詳細は図１３を用いて説明する。
【０１８０】
次に、ネットワーク装置１０２は、コネクション要求処理を実行する（ステップＳ１１０４）。
【０１８１】
ネットワーク装置１０２は、コネクション要求処理と並列して、更新用タイマの値が所定の閾値以上であるか否かを判定する（ステップＳ１１０５）。
【０１８２】
具体的には、タイマ管理部２１５が、更新用タイマの値が所定の閾値以上であるか否かを判定する。更新用タイマの値が所定の閾値以上である場合、タイマ管理部２１５は、コネクション制御部２１１に予測値算出処理の実行指示を出力する。
【０１８３】
更新用タイマの値が所定の閾値より小さい場合、ネットワーク装置１０２は、ステップＳ１１０４に戻り、コネクション要求処理を継続する。更新用タイマの値が所定の閾値以上である場合、ネットワーク装置１０２は、ステップＳ１１０１に戻り、更新用タイマを初期化した後（ステップＳ１１０１）、予測値算出処理及び予備コネクション調整処理を実行する（ステップＳ１１０２、ステップＳ１１０３）。
【０１８４】
図１２は、実施例２のネットワーク装置１０２が実行する予測値算出処理の一例を説明するフローチャートである。
【０１８５】
予備コネクション管理部２１４の予備コネクション調整部２２３は、コネクション制御部２１１から予測値算出処理の開始指示を受け付けた場合、以下で説明する処理を開始する。
【０１８６】
予備コネクション調整部２２３は、全てのサーバ１０３について処理が完了したか否かを判定する（ステップＳ１２０１）。
【０１８７】
具体的には、予備コネクション調整部２２３は、使用コネクション数情報１００１に含まれる全てのエントリについて処理が実行されたか否かを判定する。
【０１８８】
全てのサーバ１０３について処理が完了していると判定された場合、予備コネクション調整部２２３は、予測値算出処理を終了する。
【０１８９】
全てのサーバ１０３について処理が完了していないと判定された場合、予備コネクション調整部２２３は、対象のサーバ１０３を選択する（ステップＳ１２０２）。
【０１９０】
具体的には、予備コネクション調整部２２３は、使用コネクション数情報１００１のエントリを一つ選択する。例えば、予備コネクション調整部２２３は、使用コネクション数情報１００１の上から順にエントリを選択する。
【０１９１】
次に、予備コネクション調整部２２３は、対象のサーバ１０３の予備コネクション１２０の数の変化量を算出する（ステップＳ１２０３）。具体的には、以下のような処理が実行される。
【０１９２】
予備コネクション調整部２２３は、対象のサーバ１０３に対応するエントリの前回使用コネクション数１０１２及び使用コネクション数１０１３の値を用いて、対象のサーバ１０３の予備コネクション１２０の数の変化量を算出する。
【０１９３】
例えば、前回使用コネクション数１０１２の値をＹ（ｔｎ−１）とし、使用コネクション数１０１３の値をＹ（ｔｎ）とした場合、下式（１）を用いて対象のサーバ１０３の予備コネクション１２０の数の変化量が算出される。なお、ｔｎは、現在実行されている予測値算出処理の開始時刻を示し、ｔｎ−１は前回の予測値算出処理の開始時刻を示す。
【０１９４】
【数１】
2017220040.tif 000003
【０１９５】
予備コネクション調整部２２３は、変化量を算出した後、使用コネクション数１０１３の値を前回使用コネクション数１０１２に設定する。また、予備コネクション調整部２２３は、使用コネクション数１０１３の値から予測値１０１５を減算し、当該値を誤差１０１４に設定する。なお、この時点の予測値１０１５に格納される値は、前回の予測値算出処理において算出された予測値である。以上がステップＳ１２０３の処理の説明である。
【０１９６】
次に、予備コネクション調整部２２３は、対象のサーバ１０３に対応するエントリの誤差１０１４の値を取得する（ステップＳ１２０４）。また、予備コネクション調整部２２３は、予備コネクション数情報１００２の対象のサーバ１０３に対応するエントリの割当予備コネクション数１０１８の値を取得する（ステップＳ１２０５）。
【０１９７】
次に、予備コネクション調整部２２３は、対象のサーバ１０３の予備コネクション１２０の数の予測値を算出する（ステップＳ１２０６）。
【０１９８】
予測値の算出方法は様々考えられる。本実施例では、一例として、下式（２）又は下式（３）を用いて予備コネクション１２０の数の予測値を算出するものとする。誤差１０１４の値が０より大きい場合、予備コネクション調整部２２３は、式（２）を用いて予備コネクション１２０の数の予測値を算出する。誤差１０１４の値が０以下の場合、予備コネクション調整部２２３は、式（３）を用いて予備コネクション１２０の数の予測値を算出する。
【０１９９】
【数２】
2017220040.tif 000004
【０２００】
【数３】
2017220040.tif 000005
【０２０１】
予測値算出処理の実行間隔は一定であるため、式（２）及び式（３）は、式（４）及び式（５）のように変形できる。
【０２０２】
【数４】
2017220040.tif 000006
【０２０３】
【数５】
2017220040.tif 000007
【０２０４】
ここで、Ｙ（ｔｎ＋１）は予測値を示す。αは誤差１０１４の値である。βは割当予備コネクション数１０１８の値である。式（４）及び式（５）に示すように、予備コネクション１２０の数が不足する確率を減らすためにα及びβを加算している。なお、前述の数式は一例であって、本発明はこれに限定されない。
【０２０５】
次に、予備コネクション調整部２２３は、算出された予測値が０以下であるか否かを判定する（ステップＳ１２０７）。
【０２０６】
算出された予測値が０より大きいと判定された場合、予備コネクション調整部２２３は、使用コネクション数情報１００１の対象のサーバ１０３に対応するエントリの予測値１０１５に算出された予測値を設定する（ステップＳ１２０８）。その後、予備コネクション調整部２２３は、ステップＳ１２０１に戻り、同様の処理を実行する。
【０２０７】
具体的には、予備コネクション調整部２２３は、対象のサーバ１０３に対応するエントリの予測値１０１５に算出された予測値を設定する。
【０２０８】
算出された予測値が０以下であると判定された場合、予備コネクション調整部２２３は、使用コネクション数情報１００１の対象のサーバ１０３に対応するエントリの予測値１０１５に「０」を設定する（ステップＳ１２０９）。その後、予備コネクション調整部２２３は、ステップＳ１２０１に戻り、同様の処理を実行する。
【０２０９】
具体的には、予備コネクション調整部２２３は、対象のサーバ１０３に対応するエントリの予測値１０１５に「０」を設定する。
【０２１０】
図１３は、実施例２のネットワーク装置１０２が実行する予備コネクション調整処理の一例を説明するフローチャートである。
【０２１１】
予備コネクション調整部２２３は、予測値算出処理が終了した後、以下で説明する予備コネクション調整処理を開始する。
【０２１２】
予備コネクション調整部２２３は、全てのサーバ１０３について処理が完了したか否かを判定する（ステップＳ１３０１）。
【０２１３】
具体的には、予備コネクション管理部２１４は、使用コネクション数情報１００１に含まれる全てのエントリについて処理が実行されたか否かを判定する。
【０２１４】
全てのサーバ１０３について処理が完了していると判定された場合、予備コネクション管理部２１４は、予備コネクション調整処理を終了する。
【０２１５】
全てのサーバ１０３について処理が完了していないと判定された場合、予備コネクション管理部２１４は、対象のサーバ１０３を選択する（ステップＳ１３０２）。
【０２１６】
具体的には、予備コネクション管理部２１４は、使用コネクション数情報１００１のエントリを一つ選択する。例えば、予備コネクション管理部２１４は、使用コネクション数情報１００１の上から順にエントリを選択する。
【０２１７】
このとき、予備コネクション調整部２２３は、使用コネクション数情報１００１の対象のサーバ１０３に対応するエントリを参照し、当該エントリの予測値１０１５の値を取得する。また、予備コネクション調整部２２３は、予備コネクション数情報１００２の対象のサーバ１０３に対応するエントリを参照し、当該エントリの総コネクション数１０１９の値を取得する。
【０２１８】
次に、予備コネクション調整部２２３は、現在の予備コネクション１２０の総数が予測値に一致するか否かを判定する（ステップＳ１３０３）。
【０２１９】
具体的には、予備コネクション調整部２２３は、総コネクション数１０１９の値が予測値１０１５の値と同一であるか否かを判定する。
【０２２０】
現在の予備コネクション１２０の総数が予測値に一致すると判定された場合、予備コネクション調整部２２３は、ステップＳ１３０１に戻り、同様の処理を実行する。
【０２２１】
現在の予備コネクション１２０の総数が予測値に一致しないと判定された場合、予備コネクション調整部２２３は、現在の予備コネクション１２０の総数が予測値以下であるか否かを判定する（ステップＳ１３０４）。
【０２２２】
具体的には、予備コネクション調整部２２３は、総コネクション数１０１９の値が予測値１０１５の値以下であるか否かを判定する。
【０２２３】
現在の予備コネクション１２０の総数が予測値以下であると判定された場合、予備コネクション調整部２２３は、ネットワーク装置１０２と対象のサーバ１０３との間にコネクション１２０を一つ確立する（ステップＳ１３０５）。具体的には、以下のような処理が実行される。
【０２２４】
予備コネクション調整部２２３は、コネクション制御部２１１に予備コネクション１２０の確立要求を出力する。当該確立要求には、対象のサーバ１０３の識別情報が含まれる。
【０２２５】
コネクション制御部２１１は、対象のサーバ１０３とネットワーク装置１０２との間にコネクション１２０を確立し、処理の完了を予備コネクション管理部２１４に通知する。
【０２２６】
予備コネクション調整部２２３は、予備コネクション数情報１００２の対象のサーバ１０３に対応するエントリの予備コネクション数１０１７の値に「１」を加算し、また、当該エントリの総コネクション数１０１９の値に「１」を加算する。以上が、ステップＳ１３０４の処理の説明である。
【０２２７】
次に、予備コネクション調整部２２３は、現在の予備コネクション１２０の総数が予測値に一致するか否かを判定する（ステップＳ１３０６）。当該判定処理では、更新された総コネクション数１０１９の値が用いられる。
【０２２８】
現在の予備コネクション１２０の総数が予測値に一致しないと判定された場合、予備コネクション調整部２２３は、ステップＳ１３０５に戻り、同様の処理を実行する。一方、現在の予備コネクション１２０の総数が予測値に一致すると判定された場合、予備コネクション調整部２２３は、ステップＳ１３０１に戻り、同様の処理を実行する。
【０２２９】
ステップＳ１３０４において、現在の予備コネクション１２０の総数が予測値より大きいと判定された場合、予備コネクション調整部２２３は、予備コネクション１２０を一つ切断する（ステップＳ１３０７）。具体的には、以下のような処理が実行される。
【０２３０】
予備コネクション調整部２２３は、コネクション制御部２１１に対象の予備コネクション１２０の切断要求を出力する。当該切断要求には、接続先のサーバ１０３の識別情報が含まれる。
【０２３１】
コネクション制御部２１１は、接続先のサーバ１０３との間に確立された予備コネクション１２０を一つ切断し、処理の完了を予備コネクション管理部２１４に通知する。
【０２３２】
予備コネクション調整部２２３は、予備コネクション数情報１００２の対象のサーバ１０３に対応するエントリの予備コネクション数１０１７の値を「１」だけ減算し、また、当該エントリの総コネクション数１０１９の値を「１」だけ減算する。以上が、ステップＳ１３０７の処理の説明である。
【０２３３】
次に、予備コネクション調整部２２３は、現在の予備コネクション１２０の総数が予測値に一致するか否かを判定する（ステップＳ１３０８）。当該判定処理では、更新された総コネクション数１０１９の値が用いられる。
【０２３４】
現在の予備コネクション１２０の総数が予測値に一致しないと判定された場合、予備コネクション調整部２２３は、ステップＳ１３０７に戻り、同様の処理を実行する。一方、現在の予備コネクション１２０の総数が予測値に一致すると判定された場合、予備コネクション調整部２２３は、ステップＳ１３０１に戻り、同様の処理を実行する。
【０２３５】
実施例２のコネクション要求処理の流れは、実施例１と同一である。ただし、一部ステップの処理内容が異なる。
【０２３６】
ステップＳ７０３において、予備コネクション管理部２１４は、予備コネクション数情報１００２から接続先のサーバ１０３に対応するエントリを検索し、検索されたエントリの予備コネクション数１０１７の値に「１」を加算し、当該エントリの総コネクション数１０１９の値に「１」を加算する。
【０２３７】
ステップＳ７０４において、予備コネクション管理部２１４は、使用コネクション数情報１００１から接続先のサーバ１０３に対応するエントリを検索し、検索されたエントリの使用コネクション数１０１３の値に「１」を加算する。予備コネクション管理部２１４は、予備コネクション数情報１００２から接続先のサーバ１０３に対応するエントリを検索し、検索されたエントリの予備コネクション数１０１７の値を「１」だけ減算し、また、当該エントリの総コネクション数１０１９の値を「１」だけ減算する。
【０２３８】
ステップＳ７０５において、予備コネクション管理部２１４は、使用コネクション数情報１００１から接続先のサーバ１０３に対応するエントリを検索し、検索されたエントリの使用コネクション数１０１３の値に「１」を加算する。予備コネクション管理部２１４は、予備コネクション数情報１００２から接続先のサーバ１０３に対応するエントリを検索し、検索されたエントリの予備コネクション数１０１７の値を「１」だけ減算し、また、当該エントリの総コネクション数１０１９の値を「１」だけ減算する。
【０２３９】
ステップＳ７０６において、予備コネクション管理部２１４は、使用コネクション数情報１００１から接続先のサーバ１０３に対応するエントリを検索し、検索されたエントリの使用コネクション数１０１３の値を「１」だけ減算する。予備コネクション管理部２１４は、予備コネクション数情報１００２から接続先のサーバ１０３に対応するエントリを検索し、検索されたエントリの割当予備コネクション数１０１８の値に「１」を加算し、また、当該エントリの総コネクション数１０１９の値に「１」を加算する。
【０２４０】
以上で説明したように、実施例２のネットワーク装置１０２は、コネクション１２０の使用状態に合わせて、確立するコネクション１２０の数を動的に変更することができる。
【０２４１】
実施例１及び実施例２では、ネットワーク装置１０２が予備コネクション１２０の数を調整していたがこれに限定されない。例えば、ネットワーク装置１０２を監視する装置、又は、端末１０１とネットワーク装置１０２との間に設置されたゲートウェイ若しくは負荷分散装置等が、使用コネクション管理部２１３及び予備コネクション管理部２１４を集約した予備コネクション管理部を有してもよい。この場合、予備コネクション管理部が、パラメータを算出し、ネットワーク装置１０２と連携して、予備コネクションの数を調整する。
【０２４２】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【０２４３】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【０２４４】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）等の広範囲のプログラム又はスクリプト言語で実装できる。
【０２４５】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【０２４６】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【０２４７】
１０１  端末
１０２  ネットワーク装置
１０３  サーバ
１１０  要求
１２０  コネクション
２０１  ＣＰＵ
２０２  メモリ
２０３  ポート
２１１  コネクション制御部
２１２  入出力管理部
２１３  使用コネクション管理部
２１４  予備コネクション管理部
２１５  タイマ管理部
２２１  要求処理部
２２２  コネクション割当管理部
２２３  予備コネクション調整部
２３１  使用コネクション管理情報
２３２  予備コネクション管理情報
４０１  予備コネクション状態情報
４０２  予備コネクション追加間隔情報
１００１  使用コネクション数情報
１００２  予備コネクション数情報
【図１】
2017220040.tif 000008
【図２】
2017220040.tif 000009
【図３】
2017220040.tif 000010
【図４】
2017220040.tif 000011
【図５】
2017220040.tif 000012
【図６】
2017220040.tif 000013
【図７】
2017220040.tif 000014
【図８】
2017220040.tif 000015
【図９】
2017220040.tif 000016
【図１０】
2017220040.tif 000017
【図１１】
2017220040.tif 000018
【図１２】
2017220040.tif 000019
【図１３】
2017220040.tif 000020