(57)【要約】【課題】接続先サーバにかかる負荷を好適に分散することを課題とする。【解決手段】情報処理装置は、ログ情報管理部と、負荷状況検出部と、接続先決定部と、通信部とを有する。ログ情報管理部は、同一ホスト名が付与された複数の接続先サーバの何れかへの接続が行なわれた場合に、接続に関する接続ログ情報を生成する。負荷状況検出部は、接続ログ情報に基づいて、複数の接続先サーバの負荷状況を検出する。接続先決定部は、検出された負荷状況に応じて、接続を行なう接続先サーバを決定する。通信部は、決定された接続先サーバに接続する。【選択図】図３
2015173363.tif 000002
【特許請求の範囲】
【請求項１】
同一ホスト名が付与された複数の接続先サーバの何れかへの接続が行なわれた場合に、接続に関する接続ログ情報を生成するログ情報管理部と、
前記接続ログ情報に基づいて、複数の前記接続先サーバの負荷状況を検出する負荷状況検出部と、
検出された前記負荷状況に応じて、接続を行なう接続先サーバを決定する接続先決定部と、
決定された前記接続先サーバに接続する通信部と
を有することを特徴とする情報処理装置。
【請求項２】
前記通信部によって前記接続先サーバへの接続が試行された結果、接続できなかった接続先サーバの接続先サーバ情報を、接続できなかった接続先サーバのリストを表す接続不可リストに追加する接続不可リスト管理部をさらに有し、
前記負荷状況検出部は、前記接続不可リストに含まれない前記接続先サーバの負荷状況を検出することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記接続不可リスト管理部は、前記接続不可リストに含まれた接続先サーバ情報に対応する接続先サーバへの疎通確認を前記通信部に実行させ、疎通確認の結果、接続できた接続先サーバの接続先サーバ情報を、前記接続不可リストから除外することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
他の情報処理装置に対応する接続ログ情報を取得するログ情報取得部をさらに有し、
前記負荷状況検出部は、取得された前記接続ログ情報に基づいて、前記負荷状況を検出することを特徴とする請求項１〜３の何れか一つに記載の情報処理装置。
【請求項５】
前記負荷状況検出部は、複数の前記接続先サーバそれぞれへの接続回数を前記負荷状況として検出し、
前記接続先決定部は、前記接続回数がより少ない接続先サーバを、接続を行なう接続先サーバとして決定することを特徴とする請求項１〜４の何れか一つに記載の情報処理装置。
【請求項６】
前記接続先決定部は、前記接続回数がより少ない接続先サーバが複数存在する場合に、複数存在する接続先サーバのうち、予め決定された接続順序がより高い接続先サーバを、接続を行なう接続先サーバとして決定することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記ログ情報管理部は、前記接続先サーバへの接続が試行されてから、接続できるまでの時間を表す接続試行時間を含む前記接続ログ情報を生成し、
前記負荷状況検出部は、複数の前記接続先サーバそれぞれへの前記接続試行時間を前記負荷状況として検出し、
前記接続先決定部は、前記接続試行時間がより短い接続先サーバを、接続を行なう接続先サーバとして決定することを特徴とする請求項１〜４の何れか一つに記載の情報処理装置。
【請求項８】
前記接続先決定部は、前記接続試行時間がより短い接続先サーバが複数存在する場合に、複数存在する接続先サーバのうち、予め決定された接続順序がより高い接続先サーバを、接続を行なう接続先サーバとして決定することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記ログ情報管理部は、前記通信部に全ての前記接続先サーバへの接続を行なわせ、接続先サーバからの応答時間を含む前記接続ログ情報を生成し、
前記負荷状況検出部は、前記応答時間を前記負荷状況として検出し、
前記接続先決定部は、前記応答時間がより短い接続先サーバを、接続を行なう接続先サーバとして決定することを特徴とする請求項１〜３の何れか一つに記載の情報処理装置。
【請求項１０】
前記接続先決定部は、前記応答時間がより短い接続先サーバが複数存在する場合に、複数存在する接続先サーバのうち、予め決定された接続順序がより高い接続先サーバを、接続を行なう接続先サーバとして決定することを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
同一ホスト名が付与された複数の接続先サーバの何れかへの接続が行なわれた場合に、接続に関する接続ログ情報を生成するステップと、
前記接続ログ情報に基づいて、複数の前記接続先サーバの負荷状況を検出するステップと、
検出された前記負荷状況に応じて、接続を行なう接続先サーバを決定するステップと
をコンピュータに実行させるための接続先決定プログラム。
【請求項１２】
第１情報処理装置と第２情報処理装置とを有する情報処理システムであって、
前記第１情報処理装置は、
同一ホスト名が付与された複数の接続先サーバへの接続で利用する接続情報を記憶する記憶部と、
前記第１情報処理装置からの要求に応じて、前記接続情報を前記第１情報処理装置に対して送信する送信部と、を有し、
前記第２情報処理装置は、
複数の前記接続先サーバの何れかへの接続が行なわれた場合に、接続に関する接続ログ情報を生成するログ情報管理部と、
前記接続ログ情報に基づいて、複数の前記接続先サーバの負荷状況を検出する負荷状況検出部と、
検出された前記負荷状況に応じて、接続を行なう接続先サーバを決定する接続先決定部と、
前記接続情報を用いて、決定された前記接続先サーバに接続する通信部と
を有することを特徴とする情報処理システム。
【請求項１３】
第１情報処理装置と第２情報処理装置とを有する情報処理システムにおける情報処理方法であって、
前記第１情報処理装置が、
前記第１情報処理装置からの要求に応じて、同一ホスト名が付与された複数の接続先サーバへの接続で利用する接続情報を前記第１情報処理装置に対して送信するステップを含み、
前記第２情報処理装置が、
複数の前記接続先サーバの何れかへの接続が行なわれた場合に、接続に関する接続ログ情報を生成するステップと、
前記接続ログ情報に基づいて、複数の前記接続先サーバの負荷状況を検出するステップと、
検出された前記負荷状況に応じて、接続を行なう接続先サーバを決定するステップと、
前記接続情報を用いて、決定された前記接続先サーバに接続するステップと
を含むことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、接続先決定プログラム、情報処理システム及び情報処理方法に関する。
【背景技術】
【０００２】
従来、同一ホスト名が付与された複数のサーバの何れかに接続し、リソースを取得する技術が知られている。かかる技術は、同一ホスト名が付与された複数のサーバには同一のリソースが保持されているため、接続先のサーバにかかる負荷の分散や、システムの冗長化のために利用される。例えば、上記技術の一つとしては、ＤＮＳラウンドロビンがある。そして、最近では、接続先サーバの決定において、実際に接続できなかったサーバを、接続先サーバのリストから除外することにより、接続できなかったサーバへの接続を試みないようにする技術がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述した従来技術は、接続先サーバにかかる負荷を好適に分散することが困難であるという問題がある。具体的には、従来技術では、実際に接続できなかったサーバを接続先サーバのリストから除外しているものの、接続可能な接続先サーバにかかる負荷までは考慮しておらず、ある接続先サーバに対する接続が集中する可能性がある。この結果、従来技術は、接続先サーバにかかる負荷を好適に分散することができているとは言い難い。
【０００４】
本発明は、上記に鑑みてなされたものであって、接続先サーバにかかる負荷を好適に分散することを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決し、目的を達成するため、本発明に係る情報処理装置は、同一ホスト名が付与された複数の接続先サーバの何れかへの接続が行なわれた場合に、接続に関する接続ログ情報を生成するログ情報管理部と、前記接続ログ情報に基づいて、複数の前記接続先サーバの負荷状況を検出する負荷状況検出部と、検出された前記負荷状況に応じて、接続を行なう接続先サーバを決定する接続先決定部と、決定された前記接続先サーバに接続する通信部とを有する。
【発明の効果】
【０００６】
本発明の一つの様態によれば、接続先サーバにかかる負荷を好適に分散することができるという効果を奏する。
【図面の簡単な説明】
【０００７】
【図１】図１は、実施の形態１に係る情報処理システムのシステム構成例を示す図である。
【図２】図２は、実施の形態１に係る情報処理装置のハードウェア構成例を示すブロック図である。
【図３】図３は、実施の形態１に係る情報処理装置の機能構成例を示すブロック図である。
【図４】図４は、実施の形態１に係る接続ログ情報の例を示す図である。
【図５】図５は、実施の形態１に係る接続不可リストの例を示す図である。
【図６】図６は、実施の形態１に係る接続先決定処理の流れの例を示すフローチャートである。
【図７】図７は、実施の形態２に係る情報処理装置の機能構成例を示すブロック図である。
【図８】図８は、実施の形態２に係る接続先決定処理の流れの例を示すフローチャートである。
【図９】図９は、実施の形態３に係る情報処理装置の機能構成例を示すブロック図である。
【図１０】図１０は、実施の形態３に係る接続ログ情報の例を示す図である。
【図１１】図１１は、実施の形態３に係る接続先決定処理の流れの例を示すフローチャートである。
【図１２】図１２は、実施の形態４に係る接続ログ情報の例を示す図である。
【図１３】図１３は、実施の形態４に係る接続先決定処理の流れの例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、本発明に係る情報処理装置、接続先決定プログラム、情報処理システム及び情報処理方法の実施の形態を説明する。なお、以下の実施の形態により本発明が限定されるものではない。また、各実施の形態は、内容を矛盾させない範囲で適宜組み合わせることができる。
【０００９】
（実施の形態１）
［システム構成］
図１を用いて、実施の形態１に係る情報処理システムのシステム構成を説明する。図１は、実施の形態１に係る情報処理システムのシステム構成例を示す図である。
【００１０】
図１に示すように、情報処理システム１は、ＤＮＳ（Domain  Name  System）サーバ２０と、接続先サーバ３０と、情報処理装置１００とを有する。各装置は、ＬＡＮ（Local  Area  Network）やインターネット等のネットワーク１０に接続される。かかるネットワーク１０は、無線又は有線により実現される。なお、情報処理装置１００や接続先サーバ３０は複数配置されていても良い。図１では、複数の接続先サーバを接続先サーバ３０ａや接続先サーバ３０ｂ、複数の情報処理装置を情報処理装置１００ａや情報処理装置１００ｂとして表している。
【００１１】
上述した構成において、情報処理装置１００は、接続先となる接続先サーバ３０のＩＰアドレスをＤＮＳサーバ２０に対して要求する。例えば、情報処理装置１００は、ＰＣ（Personal  Computer）やタブレット端末等の情報機器、又はプリンタ、ＦＡＸ装置、複写機、プロジェクタ、テレビ会議装置等の画像処理機器である。ＤＮＳサーバ２０は、ＩＰアドレスの要求を情報処理装置１００から受け付けると、接続先サーバ３０のＩＰアドレスを要求元の情報処理装置１００に対して送信する。例えば、ＤＮＳサーバ２０は、予め決定された接続順序等に従い、該当する接続先サーバ３０のＩＰアドレスを情報処理装置１００に対して送信する。これにより、情報処理装置１００は、ＤＮＳサーバ２０によって送信されたＩＰアドレスに対応する接続先サーバ３０に接続し、接続した接続先サーバ３０からリソースを取得する。例えば、接続先サーバ３０は、ブラウジングのための情報を保持するＷｅｂサーバや、認証のための情報を保持する認証サーバ等である。各接続先サーバ３０には、同一のホスト名が付与されており、また、互いに異なるＩＰアドレスが割り当てられている。同一のホスト名が付与された各接続先サーバ３０には同一のリソースが保持されているため、各接続先サーバ３０にかかる負荷を分散することが可能となる。
【００１２】
ここで、ＤＮＳサーバ２０は、複数の接続先サーバ３０に対応する複数のＩＰアドレスを情報処理装置１００に対して送信する場合がある。かかる場合に、情報処理装置１００は、複数のＩＰアドレスに対応する複数の接続先サーバ３０のうち、何れの接続先サーバ３０に接続するかを決定することになる。本実施の形態において、情報処理装置１００は、各接続先サーバ３０への接続時に生成した接続ログ情報に基づいて、各接続先サーバ３０の負荷状況を検出し、検出された負荷状況に応じて、接続を行なう接続先サーバ３０を決定する。ＤＮＳサーバ２０は、ＩＰアドレス等接続先の装置を特定する情報である接続情報を提供する情報処理装置の一例である。また、接続先サーバは、情報処理装置１００からの接続先となる情報処理装置の一例である。なお、情報処理装置１００との混同を避ける場合には、それぞれを「第１情報処理装置」や「第２情報処理装置」といったように記載して区別する。
【００１３】
つまり、本実施の形態では、接続先サーバ３０への接続時に生成された接続ログ情報をもとに検出した接続先サーバ３０の負荷状況に応じて、接続する接続先サーバ３０を決定するので、複数の接続先サーバ３０にかかる負荷を好適に分散することができる。換言すると、本実施の形態では、接続先サーバ３０の負荷状況に応じて接続する接続先サーバ３０を決定するので、接続先サーバ３０の負荷を考慮しない従来技術と比較して、接続先サーバ３０にかかる負荷を好適に分散することができる。
【００１４】
［ハードウェア構成］
次に、図２を用いて、実施の形態１に係る情報処理装置１００のハードウェア構成を説明する。図２は、実施の形態１に係る情報処理装置１００のハードウェア構成例を示すブロック図である。
【００１５】
図２に示すように、情報処理装置１００は、バス１０１に接続された、ＣＰＵ（Central  Processing  Unit）１０２と、ＲＡＭ（Random  Access  Memory）１０３と、ＲＯＭ（Read  Only  Memory）１０４とを有する。加えて、情報処理装置１００は、バス１０１に接続された、操作部１０５と、表示部１０６と、通信Ｉ／Ｆ１０７とを有する。
【００１６】
ＣＰＵ１０２は、情報処理装置１００の動作を統括的に制御する。ＣＰＵ１０２は、ＲＡＭ１０３をワークエリア（作業領域）として、ＲＯＭ１０４等に格納されたプログラムを実行することで、情報処理装置１００全体の動作を制御する。操作部１０５は、ユーザ操作に応じた各種の入力を受け付ける、キーボードやマウス等の入力装置である。表示部１０６は、操作部１０５におけるユーザ操作に応じて、各種の情報を表示するモニタ等の出力装置である。なお、情報処理装置１００がタブレット端末である場合、操作部１０５及び表示部１０６は、操作表示部として、ユーザ操作に応じた各種の入力を受け付けるとともに、各種の情報を表示する。例えば、操作表示部は、タッチパネル機能を搭載した液晶表示装置（LCD：Liquid  Crystal  Display）や有機ＥＬ（Electro  Luminescence）表示装置等である。通信Ｉ／Ｆ１０７は、各外部装置と通信するためのインタフェースである。
【００１７】
［実施の形態１に係る機能構成］
次に、図３を用いて、実施の形態１に係る情報処理装置１００の機能構成を説明する。図３は、実施の形態１に係る情報処理装置１００の機能構成例を示すブロック図である。
【００１８】
図３に示すように、ＤＮＳサーバ２０は、記憶部２１と、送信部２２とを有する。記憶部２１は、各接続先サーバ３０への接続で利用する各ＩＰアドレスを記憶する。送信部２２は、情報処理装置１００からの要求に応じて、該当するＩＰアドレスを情報処理装置１００に対して送信する。送信部２２は、複数のＩＰアドレスを送信する場合があり、かかる場合には、複数のＩＰアドレスに対応する接続順序の情報についても送信する。
【００１９】
また、情報処理装置１００は、ログ情報管理部１１０と、ログ情報記憶部１１５と、接続不可リスト管理部１２０と、接続不可リスト記憶部１２５と、通信部１３０と、負荷状況検出部１４０と、接続先決定部１５０とを有する。なお、上記各部については、これらの一部又は全てがソフトウェア（プログラム）で実現されても良いし、ハードウェア回路で実現されても良い。
【００２０】
ログ情報管理部１１０は、接続ログ情報を生成する。より具体的には、ログ情報管理部１１０は、同一ホスト名が付与された複数の接続先サーバ３０の何れかへの接続が通信部１３０を介して行なわれた場合に、該接続に関する接続ログ情報を生成する。そして、ログ情報管理部１１０は、生成した接続ログ情報をログ情報記憶部１１５に格納する。ログ情報記憶部１１５は、接続ログ情報を記憶する。
【００２１】
図４は、実施の形態１に係る接続ログ情報の例を示す図である。図４に示すように、接続ログ情報には、各接続ログ情報を一意に識別するための「ログ番号」と、接続先サーバ３０のＩＰアドレスを表す「接続先」と、接続が行なわれたときの時刻を表す「時刻」とが対応付けて保持される。例を挙げると、接続ログ情報には、ログ番号「１」と、接続先「１０．２０．３０．１」と、時刻「２０１３／０８／２７  １５：１５：０１」とが対応付けて保持される。
【００２２】
接続不可リスト管理部１２０は、接続できなかった接続先サーバ３０の接続先サーバ情報を接続不可リストに追加する。より具体的には、接続不可リスト管理部１２０は、通信部１３０によって接続先サーバ３０への接続が試行された結果、接続できなかった接続先サーバ３０のＩＰアドレスを、接続できなかった接続先サーバ３０のリストを表す接続不可リストに追加する。また、接続不可リスト管理部１２０は、接続不可リストに含まれたＩＰアドレスに対応する接続先サーバ３０への疎通確認を通信部１３０に実行させ、疎通確認の結果、接続できた接続先サーバ３０のＩＰアドレスを、接続不可リストから除外する。例えば、疎通確認は、Ｐｉｎｇコマンドを適宜実行することにより実現すれば良い。接続不可リスト記憶部１２５は、接続不可リストを記憶する。
【００２３】
図５は、実施の形態１に係る接続不可リストの例を示す図である。図５に示すように、接続不可リストには、各リストを一意に識別するための「リスト番号」と、接続先サーバ３０のＩＰアドレスを表す「接続先」とが対応付けて保持される。例を挙げると、接続不可リストには、リスト番号「１」と、接続先「１０．２０．３０．１」とが対応付けて保持される。上述したように、接続先「１０．２０．３０．１」に対応する接続先サーバ３０への疎通確認により疎通が確認できた場合には、リスト番号「１」である接続先「１０．２０．３０．１」の情報は接続不可リストから除外される。
【００２４】
通信部１３０は、ＤＮＳサーバ２０や各接続先サーバ３０等と通信を行なう。より具体的には、通信部１３０は、ＤＮＳサーバ２０によって送信される接続先サーバ３０のＩＰアドレスを受信するための通信を行なう。上述したように、接続先サーバ３０のＩＰアドレスは、接続先サーバ３０がブラウジングのための情報を保持するＷｅｂサーバであれば、ユーザによるブラウザへの操作が行なわれたタイミングで要求に応じて受信される。また、接続先サーバ３０のＩＰアドレスは、接続先サーバ３０が認証のための情報を保持する認証サーバであれば、ユーザによる認証情報の入力及び認証実行の操作が行なわれたタイミングで要求に応じて受信される。
【００２５】
また、通信部１３０は、接続先サーバ３０に接続し、該接続先サーバ３０からリソースを取得する。何れの接続先サーバ３０に接続するかについては、後述する接続先決定部１５０等によって指定される。また、通信部１３０は、接続不可リスト管理部１２０による疎通確認の要求がなされたときに、指定されたＩＰアドレスに対応する接続先サーバ３０へ接続を試みて、疎通確認を行なう。
【００２６】
負荷状況検出部１４０は、接続ログ情報に基づいて、複数の接続先サーバ３０の負荷状況を検出する。より具体的には、負荷状況検出部１４０は、ログ情報記憶部１１５に記憶された接続ログ情報を参照し、複数の接続先サーバ３０それぞれへの接続回数を、各接続先サーバ３０に対する負荷状況として検出する。例えば、負荷状況検出部１４０は、接続ログ情報（図４参照）の「時刻」をもとに一定期間内における、同一の「接続先」（ＩＰアドレス）の数を、各接続先サーバ３０への接続回数として導出する。このとき、負荷状況検出部１４０は、接続不可リスト記憶部１２５に記憶された接続不可リストを参照し、接続不可リストに含まれない接続先サーバ３０の接続回数を導出する。すなわち、接続不可リストに「接続先」（ＩＰアドレス）が含まれている接続先サーバ３０に接続することは好ましくないため、接続する接続先サーバ３０を決定するために行なう接続回数の導出対象から除外する。但し、接続不可リストは利用されなくても良い。
【００２７】
なお、接続回数を導出するために予め設定されている一定期間内の時間についての情報は適宜変更可能であっても良い。但し、接続先サーバ３０の負荷状況を検出することを目的とした設定時間であることから、接続先サーバ３０において処理を実行するときに要する時間に関連して設定するのが好適である。例えば、接続先サーバ３０が認証を実行する認証サーバであった場合、１回の認証処理に要する平均時間を一定期間内の時間として設定しても良い。また例えば、所定回数分の処理に要する時間（１回の平均時間に回数を掛けた時間）を設定しても良い。またさらに、設定する一定期間内の時間を情報処理装置１００が動的に設定、変更しても良い。例えば、既に設定されている一定期間内の時間における接続ログ情報から接続回数を導出し、接続先サーバ３０が１回の接続に応じて実行する処理に要する平均時間に導出した接続回数を掛けた時間（一定期間内に接続先サーバ３０が稼働していると推定される推定稼働時間）を次回以降の一定期間内の時間として設定しても良いし、複数回導出した推定稼働時間の平均を設定しても良い。つまり、接続回数と、接続先サーバ３０において実行される処理に要する時間に関する情報（処理時間情報）とから、情報処理装置１００において定期的に一定期間内の時間を設定するようにしても良い。この場合、情報処理装置１００は、接続先サーバ３０のそれぞれに対応する（又は、認証、ブラウジングといった機能毎にグルーピングされていれば、機能毎に対応する）処理時間情報を保持しておくことで実現できる。
【００２８】
接続先決定部１５０は、接続を行なう接続先サーバ３０を決定する。より具体的には、接続先決定部１５０は、負荷状況検出部１４０によって導出された接続回数がより少ない接続先サーバ３０を、接続を行なう接続先サーバ３０として決定する。このとき、接続先決定部１５０は、接続回数がより少ない接続先サーバ３０が複数存在する場合に、複数存在する接続先サーバ３０のうち、予め決定された接続順序がより高い接続先サーバを、接続を行なう接続先サーバとして決定する。上述したように、接続順序は、ＤＮＳサーバ２０において予め決定されているものである。これらにより、通信部１３０は、決定された接続先サーバ３０に接続し、リソースを取得する。
【００２９】
［実施の形態１に係る接続先決定処理フロー］
次に、図６を用いて、実施の形態１に係る接続先決定処理の流れを説明する。図６は、実施の形態１に係る接続先決定処理の流れの例を示すフローチャートである。
【００３０】
図６に示すように、情報処理装置１００は、ＤＮＳサーバ２０から接続先サーバ３０のＩＰアドレスを取得する（ステップＳ１０１）。そして、情報処理装置１００は、取得したＩＰアドレスが複数存在するか否かを判定する（ステップＳ１０２）。このとき、負荷状況検出部１４０は、ＩＰアドレスが複数存在すると判定された場合に（ステップＳ１０２：Ｙｅｓ）、接続不可リスト記憶部１２５に記憶された接続不可リストを参照し、接続不可リストに含まれたＩＰアドレスに対応する接続先サーバ３０を、接続対象から除外する（ステップＳ１０３）。
【００３１】
そして、負荷状況検出部１４０は、ログ情報記憶部１１５に記憶された接続ログ情報を参照し、接続対象の「接続先」（ＩＰアドレス）への一定期間における接続回数を検出（導出）する（ステップＳ１０４）。ここで、接続先決定部１５０は、負荷状況検出部１４０によって導出された接続回数がより少ない接続先サーバ３０が複数存在するか否かを判定する（ステップＳ１０５）。
【００３２】
このとき、接続先決定部１５０は、接続回数がより少ない接続先サーバ３０が複数存在しないと判定した場合に（ステップＳ１０５：Ｎｏ）、接続回数がより少ない接続先サーバ３０を、接続を行なう接続先サーバ３０として決定する（ステップＳ１０６）。一方、接続先決定部１５０は、接続回数がより少ない接続先サーバ３０が複数存在すると判定した場合に（ステップＳ１０５：Ｙｅｓ）、複数存在する接続先サーバ３０のうち、予め決定された接続順序がより高い接続先サーバ３０を、接続を行なう接続先サーバ３０として決定する（ステップＳ１０７）。
【００３３】
これらにより、通信部１３０は、接続先決定部１５０によって決定された接続先サーバ３０に接続し、リソースを取得する（ステップＳ１０８）。また、ＩＰアドレスが複数存在しないと判定された場合に（ステップＳ１０２：Ｎｏ）、通信部１３０は、該当するＩＰアドレスに対応する接続先サーバ３０に接続し、リソースを取得する（ステップＳ１０８）。
【００３４】
［実施の形態１による効果］
情報処理装置１００は、接続先サーバ３０に接続したときに生成された接続ログ情報に基づいて、各接続先サーバ３０の負荷状況を検出し、検出した負荷状況に応じて接続を行なう接続先サーバ３０を決定する。この結果、情報処理装置１００は、各接続先サーバ３０にかかる負荷を好適に分散することができる。
【００３５】
また、情報処理装置１００は、接続ログ情報をもとに、接続回数がより少ない接続先サーバ３０を、接続を行なう接続先サーバ３０として決定するので、各接続先サーバ３０にかかる負荷を好適に分散することができる。また、情報処理装置１００は、接続できない接続先サーバ３０を除外したうえで、接続回数がより少ない接続先サーバ３０を、接続を行なう接続先サーバ３０として決定するので、より迅速に接続を行なう接続先サーバ３０を決定することができる。また、情報処理装置１００は、接続できない接続先サーバ３０に対して疎通確認を適宜行ない、接続不可リストを更新するので、接続を行なう接続先サーバ３０を好適に決定することができる。また、情報処理装置１００は、接続回数がより少ない接続先サーバ３０が複数存在する場合に、複数存在する接続先サーバ３０のうち、予め決定された接続順序がより高い接続先サーバ３０を、接続を行なう接続先サーバ３０として決定するので、接続を行なう接続先サーバ３０を好適に決定することができる。
【００３６】
（実施の形態２）
上記実施の形態１では、情報処理装置１００によって保持されている接続ログ情報をもとに、接続先サーバ３０の負荷状況を検出する場合を説明した。かかる負荷状況の検出については、他の情報処理装置１００によって保持されている接続ログ情報もさらに利用しても良い。そこで、実施の形態２では、他の情報処理装置１００によって保持されている接続ログ情報をさらに利用して、接続先サーバ３０の負荷状況を検出する場合を説明する。なお、実施の形態２に係る情報処理システム１のシステム構成は、実施の形態１と同様である。
【００３７】
［実施の形態２に係る機能構成］
図７を用いて、実施の形態２に係る情報処理装置の機能構成を説明する。図７は、実施の形態２に係る情報処理装置の機能構成例を示すブロック図である。実施の形態２では、実施の形態１と同様の構成については同一の符号を付し、同様の構成については詳細な説明を省略する場合がある。具体的には、以下に示す負荷状況検出部２４０、ログ情報取得部２６０以外の機能及び構成、処理は実施の形態１と同様である。
【００３８】
図７に示すように、情報処理装置２００は、ログ情報管理部１１０と、ログ情報記憶部１１５と、接続不可リスト管理部１２０と、接続不可リスト記憶部１２５と、通信部１３０と、負荷状況検出部２４０と、接続先決定部１５０と、ログ情報取得部２６０とを有する。なお、上記各部については、これらの一部又は全てがソフトウェア（プログラム）で実現されても良いし、ハードウェア回路で実現されても良い。
【００３９】
ログ情報取得部２６０は、他の情報処理装置１００に対応する接続ログ情報を取得する。より具体的には、ログ情報取得部２６０は、通信部１３０を介して、他の情報処理装置１００に対応する接続ログ情報を取得し、ログ情報記憶部１１５に格納する。他の情報処理装置１００に対応する接続ログ情報を取得するトリガは、負荷状況検出部２４０によって負荷状況が検出されるとき、すなわちユーザ操作に応じて何れかの接続先サーバ３０に接続しようとするときである。この他、他の情報処理装置１００に対応する接続ログ情報の取得は、定期的に行なっても良い。
【００４０】
また、他の情報処理装置１００に対応する接続ログ情報は、他の情報処理装置１００と通信を行なうことで取得するようにしても良い。この他、他の情報処理装置１００に対応する接続ログ情報は、各情報処理装置１００の接続ログ情報を収集及び管理するログサーバ等から取得するようにしても良い。ログサーバ等を利用する場合には、何らかの理由により他の情報処理装置１００との通信が行なえない状況であっても、より確実に接続ログ情報を取得することができる。また、ログ情報記憶部１１５に接続ログ情報を格納する場合には、自身の接続ログ情報とは異なるテーブルそれぞれに、他の情報処理装置１００に対応する接続ログ情報それぞれを格納しても良い。この他、ログ情報記憶部１１５に接続ログ情報を格納する場合には、自身の接続ログ情報とマージしても良く、マージする場合は「時刻」に応じてログ番号を振り直せば良い。
【００４１】
負荷状況検出部２４０は、接続ログ情報に基づいて、複数の接続先サーバ３０の負荷状況を検出する。より具体的には、負荷状況検出部２４０は、ログ情報記憶部１１５に記憶された、他の情報処理装置１００に対応する情報を含む接続ログ情報を参照し、複数の接続先サーバ３０それぞれへの接続回数を、各接続先サーバ３０に対する負荷状況として検出する。なお、接続回数の導出については、実施の形態１と同様である。
【００４２】
［実施の形態２に係る接続先決定処理フロー］
次に、図８を用いて、実施の形態２に係る接続先決定処理の流れを説明する。図８は、実施の形態２に係る接続先決定処理の流れの例を示すフローチャートである。なお、実施の形態１に係る接続先決定処理の流れと同様の処理については、詳細な説明を省略する。具体的には、ステップＳ２０１〜ステップＳ２０３は、ステップＳ１０１〜ステップＳ１０３における処理と同様である。また、ステップＳ２０５〜ステップＳ２０９は、ステップＳ１０４〜ステップＳ１０８における処理と同様である。
【００４３】
図８に示すように、ログ情報取得部２６０は、通信部１３０を介して、他の情報処理装置１００に対応する接続ログ情報を取得し、ログ情報記憶部１１５に格納する（ステップＳ２０４）。例えば、ログ情報取得部２６０は、他の情報処理装置１００、又は、各情報処理装置１００の接続ログ情報を収集及び管理するログサーバ等から、他の情報処理装置１００に対応する接続ログ情報を取得する。負荷状況検出部２４０は、ログ情報記憶部１１５に記憶された接続ログ情報を参照し、接続対象の「接続先」（ＩＰアドレス）への一定期間における接続回数を検出（導出）する（ステップＳ２０５）。
【００４４】
［実施の形態２による効果］
情報処理装置２００は、他の情報処理装置２００の接続ログ情報を取得し、全ての接続ログ情報に基づいて、各接続先サーバ３０の負荷状況を検出し、検出した負荷状況に応じて接続を行なう接続先サーバ３０を決定する。この結果、情報処理装置２００は、各接続先サーバ３０にかかる負荷をより好適に分散することができる。
【００４５】
（実施の形態３）
上記実施の形態１では、情報処理装置１００によって保持されている接続ログ情報をもとに、各接続先サーバ３０への接続回数を負荷状況として検出し、接続回数がより少ない接続先サーバ３０に接続を行なうことを決定する場合を説明した。かかる負荷状況の検出については、全ての接続先サーバ３０へ接続したときの応答時間を採用しても良い。そこで、実施の形態３では、全ての接続先サーバ３０へ接続したときの応答時間を負荷状況として検出する場合を説明する。なお、実施の形態３に係る情報処理システム１のシステム構成は、実施の形態１と同様である。
【００４６】
［実施の形態３に係る機能構成］
図９を用いて、実施の形態３に係る情報処理装置の機能構成を説明する。図９は、実施の形態３に係る情報処理装置の機能構成例を示すブロック図である。実施の形態３では、実施の形態１と同様の構成については同一の符号を付し、同様の構成については詳細な説明を省略する場合がある。具体的には、以下に示すログ情報管理部３１０、ログ情報記憶部３１５、負荷状況検出部３４０、接続先決定部３５０以外の機能及び構成、処理は実施の形態１と同様である。
【００４７】
図９に示すように、情報処理装置３００は、ログ情報管理部３１０と、ログ情報記憶部３１５と、接続不可リスト管理部１２０と、接続不可リスト記憶部１２５と、通信部１３０と、負荷状況検出部３４０と、接続先決定部３５０とを有する。
【００４８】
ログ情報管理部３１０は、接続先サーバ３０からの応答時間を含む接続ログ情報を生成する。より具体的には、ログ情報管理部３１０は、全ての接続先サーバ３０への接続を通信部１３０に指示し、接続先サーバ３０からの応答時間を含む接続ログ情報を生成する。応答時間を含む接続ログ情報を生成するトリガは、負荷状況検出部３４０によって負荷状況が検出されるとき、すなわちユーザ操作に応じて何れかの接続先サーバ３０に接続しようとするときである。そして、ログ情報管理部３１０は、生成した接続ログ情報をログ情報記憶部３１５に格納する。ログ情報記憶部３１５は、応答時間を含む接続ログ情報を記憶する。
【００４９】
図１０は、実施の形態３に係る接続ログ情報の例を示す図である。図１０に示すように、接続ログ情報には、各接続ログ情報を一意に識別するための「ログ番号」と、接続先サーバ３０のＩＰアドレスを表す「接続先」と、接続が行なわれたときの時刻を表す「時刻」と、接続先サーバ３０に対して接続を試みてから応答を受け付けるまでの時間を表す「応答時間」とが対応付けて保持される。例を挙げると、接続ログ情報には、ログ番号「１」と、接続先「１０．２０．３０．１」と、時刻「２０１３／０８／２７  １５：１５：０１」と、応答時間「１０（秒）」とが対応付けて保持される。また、接続ログ情報には、ログ番号「３」と、接続先「１０．２０．３０．３」と、時刻「２０１３／０８／２７  １５：１７：０３」と、応答時間「応答なし」とが対応付けて保持される。図１０に示した「応答なし」とは、ＩＰアドレスが「１０．２０．３０．３」である接続先サーバ３０に接続を試みたところ、応答がないままタイムアウトになってしまったことを表している。
【００５０】
負荷状況検出部３４０は、接続ログ情報に基づいて、複数の接続先サーバ３０の負荷状況を検出する。より具体的には、負荷状況検出部３４０は、ログ情報記憶部３１５に記憶された接続ログ情報を参照し、複数の接続先サーバ３０それぞれからの応答時間を、各接続先サーバ３０に対する負荷状況として検出する。例えば、負荷状況検出部３４０は、接続ログ情報（図１０参照）の「応答時間」を、接続先サーバ３０に対する負荷状況として検出する。
【００５１】
接続先決定部３５０は、接続を行なう接続先サーバ３０を決定する。より具体的には、接続先決定部３５０は、負荷状況検出部３４０によって検出された応答時間がより短い接続先サーバ３０を、接続を行なう接続先サーバ３０として決定する。このとき、接続先決定部３５０は、応答時間がより短い接続先サーバ３０が複数存在する場合に、複数存在する接続先サーバ３０のうち、予め決定された接続順序がより高い接続先サーバを、接続を行なう接続先サーバとして決定する。図１０に示した接続ログ情報の例で説明すると、接続先決定部３５０は、応答時間がより短い「１０（秒）」である接続先が複数存在するため、予め決定された接続順序がより高い接続先サーバを、接続を行なう接続先サーバとして決定する。例えば、接続先「１０．２０．３０．１」よりも接続先「１０．２０．３０．２」の方がより高い接続順序であれば、接続先「１０．２０．３０．２」に対応する接続先サーバ３０が接続先として決定される。
【００５２】
これらにより、通信部１３０は、決定された接続先サーバ３０に接続し、リソースを取得する。なお、負荷状況検出部３４０は、全ての接続先サーバ３０からの応答が完了するまで待たなくても良い。つまり、何れかの接続先サーバ３０から応答があった時点で、より短い応答時間となった接続先サーバ３０へ接続することが決定されれば良い。
【００５３】
［実施の形態３に係る接続先決定処理フロー］
次に、図１１を用いて、実施の形態３に係る接続先決定処理の流れを説明する。図１１は、実施の形態３に係る接続先決定処理の流れの例を示すフローチャートである。なお、実施の形態１に係る接続先決定処理の流れと同様の処理については、詳細な説明を省略する。具体的には、ステップＳ３０１〜ステップＳ３０３は、ステップＳ１０１〜ステップＳ１０３における処理と同様である。また、ステップＳ３０９は、ステップＳ１０８における処理と同様である。
【００５４】
図１１に示すように、ログ情報管理部３１０は、全ての接続先サーバ３０への接続を通信部１３０に指示し、接続先サーバ３０からの応答時間を含む接続ログ情報を生成し、生成した接続ログ情報をログ情報記憶部３１５に格納する（ステップＳ３０４）。また、負荷状況検出部３４０は、ログ情報記憶部３１５に記憶された接続ログ情報を参照し、応答時間を検出する（ステップＳ３０５）。ここで、接続先決定部３５０は、負荷状況検出部３４０によって検出された応答時間がより短い接続先サーバ３０が複数存在するか否かを判定する（ステップＳ３０６）。
【００５５】
このとき、接続先決定部３５０は、応答時間がより短い接続先サーバ３０が複数存在しないと判定した場合に（ステップＳ３０６：Ｎｏ）、応答時間がより短い接続先サーバ３０を、接続を行なう接続先サーバ３０として決定する（ステップＳ３０７）。一方、接続先決定部３５０は、応答時間がより短い接続先サーバ３０が複数存在すると判定した場合に（ステップＳ３０６：Ｙｅｓ）、複数存在する接続先サーバ３０のうち、予め決定された接続順序がより高い接続先サーバ３０を、接続を行なう接続先サーバ３０として決定する（ステップＳ３０８）。
【００５６】
［実施の形態３による効果］
情報処理装置３００は、接続を行なう接続先サーバ３０の決定に関し、全ての接続先サーバ３０へ接続したときの応答時間がより短い接続先サーバ３０を、接続を行なう接続先サーバ３０として決定する。この結果、情報処理装置３００は、各接続先サーバ３０にかかる負荷を好適に分散することができる。
【００５７】
（実施の形態４）
さて、これまで本発明に係る制御システムの実施の形態について説明したが、上述した実施の形態以外にも種々の異なる形態にて実施されて良いものである。そこで、（１）接続試行時間、（２）構成、（３）プログラム、について異なる実施の形態を説明する。
【００５８】
（１）接続試行時間
上記実施の形態では、接続先サーバ３０への接続回数や、接続先サーバ３０からの応答時間を、接続先サーバ３０に対する負荷状況として検出する場合を説明した。負荷状況については、接続先サーバ３０への接続試行時間を利用しても良い。接続試行時間とは、接続先サーバ３０への接続を試みてから、実際に接続ができるまでの時間を表す。また、接続試行時間は、応答時間を利用するときのように、一旦、全ての接続先サーバ３０への接続を試みるわけではなく、接続先サーバ３０への通常の接続に応じてログ情報管理部１１０によって生成されるものである。すなわち、接続試行時間は、応答時間を利用するときのように、負荷状況検出部３４０によって負荷状況が検出されるときに生成されるものではない。
【００５９】
図１２は、実施の形態４に係る接続ログ情報の例を示す図である。図１２に示すように、接続ログ情報には、各接続ログ情報を一意に識別するための「ログ番号」と、接続先サーバ３０のＩＰアドレスを表す「接続先」と、接続が行なわれたときの時刻を表す「時刻」と、接続先サーバ３０に対して接続を試みてから実際に接続ができるまでの時間を表す「接続試行時間」とが対応付けて保持される。例を挙げると、接続ログ情報には、ログ番号「１」と、接続先「１０．２０．３０．１」と、時刻「２０１３／０８／２７  １５：１５：０１」と、接続試行時間「１０（秒）」とが対応付けて保持される。
【００６０】
負荷状況検出部１４０は、接続ログ情報に基づいて、複数の接続先サーバ３０の負荷状況を検出する。より具体的には、負荷状況検出部１４０は、ログ情報記憶部１１５に記憶された接続ログ情報を参照し、複数の接続先サーバ３０それぞれの接続試行時間の合計値を、各接続先サーバ３０に対する負荷状況として検出する。例えば、負荷状況検出部１４０は、接続ログ情報（図１２参照）の同一の「接続先」それぞれに対する一定期間における「接続試行時間」を合計し、各接続先サーバ３０に対応する「接続試行時間」の合計値を導出する。このとき、負荷状況検出部１４０は、接続不可リスト記憶部１２５に記憶された接続不可リストを参照し、接続不可リストに含まれない接続先サーバ３０の接続試行時間の合計値を導出する。
【００６１】
また、「応答なし」である接続試行時間については、３０秒等の所定の接続試行時間として合計しないことが好ましい。これは、あるときに「応答なし」となっていたとしても、現在は接続できる可能性があるためである。また、接続できない接続先サーバ３０については、上述した接続不可リストに含まれているため、接続試行時間の合計値が導出されることはない。図１２に示した接続ログ情報を例に挙げると、負荷状況検出部１４０は、接続先が「１０．２０．３０．１」である接続先サーバ３０の接続試行時間の合計値「１０（秒）」を導出する。同様に、負荷状況検出部１４０は、接続先が「１０．２０．３０．２」である接続先サーバ３０の接続試行時間の合計値「５０（秒）」を導出する。つまり、接続先が「１０．２０．３０．１」である接続先サーバ３０は、あるときに接続できない状態になっていたものの、直近には接続可能な状態となっており、さらに、接続先が「１０．２０．３０．２」である接続先サーバ３０よりも負荷が小さいことがわかる。
【００６２】
接続先決定部１５０は、接続を行なう接続先サーバ３０を決定する。より具体的には、接続先決定部１５０は、負荷状況検出部１４０によって導出された接続試行時間の合計値がより小さい接続先サーバ３０を、接続を行なう接続先サーバ３０として決定する。このとき、接続先決定部１５０は、接続試行時間の合計値がより小さい接続先サーバ３０が複数存在する場合に、複数存在する接続先サーバ３０のうち、予め決定された接続順序がより高い接続先サーバを、接続を行なう接続先サーバとして決定する。
【００６３】
また、接続試行時間の合計値ではなく、平均値を求めても良い。より具体的には、負荷状況検出部１４０は、ログ情報記憶部１１５に記憶された接続ログ情報を参照し、複数の接続先サーバ３０それぞれの接続試行時間の平均値を、各接続先サーバ３０に対する負荷状況として検出する。例えば、負荷状況検出部１４０は、接続ログ情報（図１２参照）の同一の「接続先」それぞれに対する一定期間における「接続試行時間」の平均値を算出することで、各接続先サーバ３０に対応する「接続試行時間」の平均値を導出する。このとき、負荷状況検出部１４０は、接続不可リスト記憶部１２５に記憶された接続不可リストを参照し、接続不可リストに含まれない接続先サーバ３０の接続試行時間の平均値を導出する。なお、接続試行時間の合計値を利用する実施形態と同様に、「応答なし」である接続試行時間については、平均値の導出に利用しないことが好ましい。
【００６４】
接続先決定部１５０は、接続を行なう接続先サーバ３０を決定する。より具体的には、接続先決定部１５０は、負荷状況検出部１４０によって導出された接続試行時間の平均値がより小さい接続先サーバ３０を、接続を行なう接続先サーバ３０として決定する。このとき、接続先決定部１５０は、接続試行時間の平均値がより小さい接続先サーバ３０が複数存在する場合に、複数存在する接続先サーバ３０のうち、予め決定された接続順序がより高い接続先サーバを、接続を行なう接続先サーバとして決定する。
【００６５】
次に、図１３を用いて、実施の形態４に係る接続先決定処理の流れを説明する。図１３は、実施の形態４に係る接続先決定処理の流れの例を示すフローチャートである。なお、実施の形態１に係る接続先決定処理の流れと同様の処理については、詳細な説明を省略する。具体的には、ステップＳ４０１〜ステップＳ４０３は、ステップＳ１０１〜ステップＳ１０３における処理と同様である。また、ステップＳ４０８は、ステップＳ１０８における処理と同様である。また、図１３では、接続試行時間の合計値を導出する場合を例に挙げる。
【００６６】
図１３に示すように、負荷状況検出部１４０は、ログ情報記憶部１１５に記憶された接続ログ情報を参照し、「接続先」ごとに、一定期間内における「接続試行時間」の合計値を検出（導出）する（ステップＳ４０４）。ここで、接続先決定部１５０は、接続試行時間の合計値がより小さい接続先サーバ３０が複数存在するか否かを判定する（ステップＳ４０５）。
【００６７】
このとき、接続先決定部１５０は、接続試行時間の合計値がより小さい接続先サーバ３０が複数存在しないと判定した場合に（ステップＳ４０５：Ｎｏ）、接続試行時間の合計値がより小さい接続先サーバ３０を、接続を行なう接続先サーバ３０として決定する（ステップＳ４０６）。一方、接続先決定部１５０は、接続試行時間の合計値がより小さい接続先サーバ３０が複数存在すると判定した場合に（ステップＳ４０５：Ｙｅｓ）、複数存在する接続先サーバ３０のうち、予め決定された接続順序がより高い接続先サーバ３０を、接続を行なう接続先サーバ３０として決定する（ステップＳ４０７）。
【００６８】
これらにより、情報処理装置１００は、過去に接続したときの接続試行時間の合計値がより小さい接続先サーバ３０を、接続を行なう接続先サーバ３０として決定するので、各接続先サーバ３０にかかる負荷を好適に分散することができる。
【００６９】
（２）構成
また、上記文書中や図面中等で示した処理手順、制御手順、具体的名称、各種のデータやパラメタ等を含む情報は、特記する場合を除いて任意に変更することができる。また、図示した装置の各構成要素は、機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散又は統合の具体的形態は、図示のものに限られず、その全部又は一部を各種の負担や使用状況等に応じて、任意の単位で機能的又は物理的に、分散又は統合することができる。例えば、負荷状況検出部１４０と接続先決定部１５０とを、接続ログ情報をもとに負荷状況を検出し、検出した負荷状況に応じて接続を行なう接続先サーバ３０を決定する「決定部」として統合しても良い。
【００７０】
（３）プログラム
また、情報処理装置１００で実行されるプログラムは、一つの様態として、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。また、情報処理装置１００で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしても良い。また、情報処理装置１００で実行されるプログラムをインターネット等のネットワーク経由で提供又は配布するように構成しても良い。また、情報処理装置１００で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するように構成しても良い。
【００７１】
情報処理装置１００で実行されるプログラムは、上述した各部（ログ情報管理部１１０、負荷状況検出部１４０、接続先決定部１５０）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が記憶媒体から上記プログラムを読み出して実行することにより、上記各部が主記憶装置上にロードされ、ログ情報管理部１１０、負荷状況検出部１４０、接続先決定部１５０が主記憶装置上に生成されるようになっている。
【符号の説明】
【００７２】
１  情報処理システム
２０  ＤＮＳサーバ
２１  記憶部
２２  送信部
３０  接続先サーバ
１００  情報処理装置
１１０  ログ情報管理部
１１５  ログ情報記憶部
１２０  接続不可リスト管理部
１２５  接続不可リスト記憶部
１３０  通信部
１４０  負荷状況検出部
１５０  接続先決定部
【先行技術文献】
【特許文献】
【００７３】
【特許文献１】特開２００８−０１０９１９号公報
【特許文献２】特開２００５−０８４９８１号公報
【図１】
2015173363.tif 000003
【図２】
2015173363.tif 000004
【図３】
2015173363.tif 000005
【図４】
2015173363.tif 000006
【図５】
2015173363.tif 000007
【図６】
2015173363.tif 000008
【図７】
2015173363.tif 000009
【図８】
2015173363.tif 000010
【図９】
2015173363.tif 000011
【図１０】
2015173363.tif 000012
【図１１】
2015173363.tif 000013
【図１２】
2015173363.tif 000014
【図１３】
2015173363.tif 000015