(57)【要約】【課題】  同一機能の複数台のコンテンツサーバのいずれかに負荷が集中しない形で動作する負荷分散ネットワークシステムであって、同一機能のコンテンツサーバの台数が多くても特に問題が生ずることがない負荷分散ネットワークシステムを、提供する。【解決手段】  負荷分散ネットワークシステムを、同一機能の複数台のコンテンツサーバと、各コンテンツサーバの負荷状態を考慮して決定した優先順位と各コンテンツサーバのＩＰアドレスとを含むリスト情報を送信可能な管理サーバと、管理サーバから得たリスト情報を共有するクライアントＰＣ群（ステップＳ２０４、Ｓ２０６参照）を含むシステムとして構成しておく。【選択図】  図６
2006106933.tif 000002
【特許請求の範囲】
【請求項１】
同一のコンテンツを提供する複数のコンテンツサーバと、複数のクライアント端末をまとめた複数のクライアント端末グループとを含む負荷分散ネットワークシステムであって、
前記コンテンツサーバは、自コンテンツサーバの負荷状態を示す負荷状態情報を管理サーバに送信する負荷状態情報送信機能を有し、
前記クライアント端末は、
自クライアント端末と同一のクライアント端末グループに含まれる他の各クライアント端末の装置識別情報を管理する他端末識別管理機能と、
他クライアント端末から取得したコンテンツサーバ毎のアクセス先の優先順位のリスト情報を管理するリスト情報管理機能と、
他クライアント端末から優先順位リスト情報要求を受信したときに、前記端末内リスト情報管理機能のリスト情報がある場合には、前記リスト情報要求の送信元端末に，当該優先順位リスト情報を返送するリスト情報返送機能と、
前記コンテンツサーバへアクセスする際、前記端末内リスト情報管理機能でリスト情報が管理されている場合は該リスト情報に基づきコンテンツサーバにアクセスし、リスト情報が管理されていない場合はリスト情報要求を送信し、他クライアント端末から取得した該リスト情報に基づきコンテンツサーバにアクセスするサーバアクセス機能とを、有する
ことを、特徴とする負荷分散ネットワークシステム。
【請求項２】
前記リスト情報には、自情報の有効期限を指定する有効期限指定情報が含まれ、
前記複数のクライアント端末のそれぞれが有する前記リスト情報返送機能は更に、前記リスト情報管理機能によって、前記リスト情報に含まれる前記有効期限指定情報が有効期限内であるリスト情報の場合に、当該リスト情報を返送する機能である
ことを、特徴とする請求項１記載の負荷分散ネットワークシステム。
【請求項３】
前記クライアント端末は、
所定形式のブロードキャスト要求であるアドレス要求を受信したときに、そのアドレス要求を送信した機器に自装置の装置識別情報を返送する装置識別情報返送機能を、さらに、有し、
前記複数のクライアント端末のそれぞれが有する前記他端末識別管理機能が、
同一セグメント内の各機器に受信されることになるブロードブロードキャスト要求を，前記アドレス要求として送信することにより同一セグメントに存在する他のクライアント端末の装置識別情報を収集し、収集した各装置識別情報を同一のクライアント端末グループに含まれる他の各クライアント端末の装置識別情報として管理する機能である
ことを、特徴とする請求項１又は請求項２記載の負荷分散ネットワークシステム。
【請求項４】
同一のコンテンツを提供する複数のコンテンツサーバをまとめた複数のサーバグループと、それぞれ、複数のクライアント端末をまとめた複数のクライアント端末グループとを含む負荷分散ネットワークシステムであって、
前記複数のサーバグループのそれぞれに含まれる各コンテンツサーバが、
自装置の負荷状態を示す負荷状態情報を管理サーバに送信する負荷状態情報送信機能を、有し、
前記複数のクライアント端末のそれぞれが、
自クライアント端末と同一のクライアント端末グループに含まれる他の各クライアント端末の装置識別情報を管理する他端末識別管理機能と、
他クライアント端末から取得したリスト情報をサーバグループ別に管理する端末内リスト情報管理機能と、
前記グループ指定情報を含むリスト情報要求を受信したときに、前記端末内リスト情報管理機能のリスト情報がある場合には、前記リスト情報要求の送信元機器に，当該リスト情報を返送する端末内リスト情報返送機能と、
或るサーバグループのコンテンツサーバへアクセスする際、前記端末内リスト情報管理棟能によって、当該サーバグループの前記リスト情報が管理されていた場合には、当該リスト情報の優先順位に基づき前記サーバグループ内のコンテンツサーバにアクセスし、前記端末内リスト情報管理機能によって当該サーバグループについてのリスト情報が管理されていない場合には、当該サーバグループを指定するための前記グループ指定情報を含めた前記リスト情報要求を他のクライアント端末に送信することにより，装置識別情報が前記他端末識別管理機能によって管理されている他のいずれかのクライアント端末の前記端末内リスト情報管理機能が管理している，当該サーバグループのリスト情報の取得し、該リスト情報に基づき前記コンテンツサーバにアクセスするサーバアクセス機能とを、有する
ことを、特徴とする負荷分散ネットワークシステム。
【請求項５】
同一のコンテンツを提供可能な複数台のコンテンツサーバとクライアント端末とからなるネットワークシステム内のクライアント端末がコンテンツサーバにアクセスする際の負荷分散用プログラムであって、
前記クライアント端末であるコンピュータを、
負荷分散用プログラムがインストールされている他のクライアント端末の装置識別情報を管理する他端末識別情報管理手段と、
他のクライアント端末から取得したリスト情報を管理するリスト情報管理手段と、
他のクライアント端末からリスト情報要求を受信したときに、前記リスト情報管理手段によってリスト情報が管理されていた場合には、当該リスト情報を返送する端末内リスト情報返送手段と、
前記複数台のコンテンツサーバのいずれかへアクセスする必要がある処理の実行が指示されたときに、前記端末内リスト情報管理手段によって前記リスト情報が管理されていた場合には、当該リスト情報の優先順位に基づき前記複数台のコンテンツサーバのいずれかにアクセスし、前記端末内リスト情報管理手段によってリスト情報が管理されていなかった場合には、前記リスト情報要求を送信することにより，その装置識別情報が前記他端末識別情報管理手段によって管理されている他のクライアント端末のリスト情報管理手段が管理しているリスト情報を取得し、該取得したリスト情報の優先順位に基づき前記複数台のコンテンツサーバのいずれかにアクセスするサーバアクセス手段とを、
有する装置として動作させる
ことを特徴とする負荷分散用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同一のコンテンツを保持した複数台のコンテンツサーバを含む負荷分散ネットワークシステムと、同一のコンテンツを保持した複数台のコンテンツサーバが存在するネットワークから、当該コンテンツを取得するコンピュータにインストールされる負荷分散用プログラムとに、関する。
【背景技術】
【０００２】
近年の，アクセス数が多いＷｅｂサイトには、通常、図１１に模式的に示したような構成のシステム、すなわち、同機能の，複数台のサーバと負荷分散装置とが組み合わされたシステムが用いられている。ここで、負荷分散装置とは、ＰＣから送信されていたアクセス要求を各サーバに振り分ける装置のことである。なお、この負荷分散装置としては、ラウンドロビン形式でアクセス要求を振り分ける装置や、各サーバのコネクション数を監視して，コネクション数が最も少ないサーバにアクセス要求を振り分ける装置が存在している。
【０００３】
また、アクセス数が極めて多いＷｅｂサイトには、ミラーサイトが作られている。そして、そのような場合（同一内容のＷｅｂサイトが複数個存在する場合）には、いずれかのＷｅｂサイトにアクセス要求が集中することを防ぐために、各Ｗｅｂサイトを、図１２に模式的に示したように、拡張ＤＮＳ装置（ＰＣからのＤＮＳリクエストに対し、当該ＰＣの最寄りサイトのＩＰアドレスを回答する装置）を備えたものとすることが、行われている。
【０００４】
また、図１３に模式的に示したように、同機能の２つのサーバ（メインサーバとミラーサーバ）の負荷を監視し、ＰＣからのアクセス要求を受信した際には、負荷が少ない方のサーバのＩＰアドレスを返送するディスパッチサーバ（拡張ＤＮＳ装置と同様の処理を、各サーバの負荷状態に応じた行うサーバ；特許文献１参照。）も、開発されている。
【０００５】
上記したシステムは、いずれも、同機能の複数台のサーバの中の，特定のサーバに負荷が集中しないようにすることが出来るものとなっている。ただし、負荷分散装置を用いる構成のシステム（図１１，１２）は、負荷分散装置が比較的に高価な装置であるため、その実現（システムの構築）に、結構、コストがかかるものとなっている。また、当該システムは、拡張性が悪いシステムともなっている。何故ならば、負荷分散装置は、接続可能なサーバの数が決まっている装置であるため、負荷分散装置を用いる構成のシステムでは、サーバを追加できる数が、システム構築時に用意した負荷分散装置の仕様によって定まってしまうことになるからである。
【０００６】
また、図１３に示した構成は、多数のサーバを含むシステムを構築することが困難なものとなっている。何故ならば、図１３に示した構成のシステムは、大量のアクセス要求（複数台のサーバに振り分けられるアクセス要求）が、一旦、ディスパッチサーバに対して出されるシステムであるため、この構成のシステムでは、ディスパッチサーバの性能によって、サーバの台数が制限されてしまうことになるからである。
【特許文献１】特開平１０−３０７７８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
そこで、本発明の課題は、同一機能の複数台のコンテンツサーバのいずれかに負荷が集中しない形で動作する負荷分散ネットワークシステムであって、同一機能のコンテンツサーバの台数が多くても特に問題が生ずることがない負荷分散ネットワークシステムを、提供することにある。
【０００８】
また、本発明の他の課題は、コンピュータを、本発明の負荷分散ネットワークシステムの構成要素であるクライアント端末相当の装置として動作させることが出来る負荷分散用プログラムを、提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明の第１の態様では、負荷分散ネットワークシステムを、同一のコンテンツを提供する複数のコンテンツサーバと、複数のクライアント端末をまとめた複数のクライアント端末グループとを含むシステムであって、前記コンテンツサーバは、自コンテンツサーバの負荷状態を示す負荷状態情報を管理サーバに送信する負荷状態情報送信機能を有し、前記クライアント端末は、自クライアント端末と同一のクライアント端末グループに含まれる他の各クライアント端末の装置識別情報を管理する他端末識別管理機能と、他クライアント端末から取得したコンテンツサーバ毎のアクセス先の優先順位のリスト情報を管理するリスト情報管理機能と、他クライアント端末から優先順位リスト情報要求を受信したときに、前記端末内リスト情報管理機能のリスト情報がある場合には、前記リスト情報要求の送信元端末に，当該優先順位リスト情報を返送するリスト情報返送機能と、前記コンテンツサーバへアクセスする際、前記端末内リスト情報管理機能でリスト情報が管理されている場合は該リスト情報に基づきコンテンツサーバにアクセスし、リスト情報が管理されていない場合はリスト情報要求を送信し、他クライアント端末から取得した該リスト情報に基づきコンテンツサーバにアクセスするサーバアクセス機能とを、有するシステムとして構成しておく。
【００１０】
また、本発明の第２の態様では、負荷分散ネットワークシステムを、同一のコンテンツを提供する複数のコンテンツサーバをまとめた複数のサーバグループと、それぞれ、複数のクライアント端末をまとめた複数のクライアント端末グループとを含むシステムであって、前記複数のサーバグループのそれぞれに含まれる各コンテンツサーバが、自装置の負荷状態を示す負荷状態情報を前記管理サーバに送信する負荷状態情報送信機能を、有し、前記複数のクライアント端末のそれぞれが、自クライアント端末と同一のクライアント端末グループに含まれる他の各クライアント端末の装置識別情報を管理する他端末識別管理機能と、他クライアント端末から取得したリスト情報をサーバグループ別に管理する端末内リスト情報管理機能と、前記グループ指定情報を含むリスト情報要求を受信したときに、前記端末内リスト情報管理機能のリスト情報がある場合には、前記リスト情報要求の送信元機器に，当該リスト情報を返送する端末内リスト情報返送機能と、或るサーバグループのコンテンツサーバへアクセスする際、前記端末内リスト情報管理棟能によって、当該サーバグループの前記リスト情報が管理されていた場合には、当該リスト情報の優先順位に基づき前記サーバグループ内のコンテンツサーバにアクセスし、前記端末内リスト情報管理機能によって当該サーバグループについてのリスト情報が管理されていない場合には、当該サーバグループを指定するための前記グループ指定情報を含めた前記リスト情報要求を他のクライアント端末に送信することにより，装置識別情報が前記他端末識別管理機能によって管理されている他のいずれかのクライアント端末の前記端末内リスト情報管理機能が管理している，当該サーバグループのリスト情報の取得し、該リスト情報に基づき前記コンテンツサーバにアクセスするサーバアクセス機能とを、有するシステムとして構成しておく。
【００１１】
すなわち、本発明の第１、第２の態様の負荷分散ネットワークシステムは、リスト情報を、同一クライアント端末グループ内の複数台のクライアント端末が共有する構成を有する。従って、本発明の第１、第２の態様の負荷分散ネットワークシステムは、リスト情報の管理サーバ等からの授受が行われる頻度が少なくて済むシステム、つまり、同一機能のコンテンツサーバの台数が多くても、特に問題が生ずることがないシステムとして動作することになる。
【００１２】
本発明の第１の態様の負荷分散ネットワークシステムを実現（構築）するに際しては、各クライアントＰＣ内のリスト情報を、より，現状に即したものに更新できるようにするために、リスト情報を、自情報の有効期限を指定する有効期限指定情報を含む情報としておくと共に、リスト情報返送機能を、リスト情報管理機能によって、リスト情報に含まれる有効期限指定情報が有効期限内であるリスト情報の場合に、当該リスト情報を返送する機能としておくことが出来る。
【００１３】
また、クライアント端末を、所定形式のブロードキャスト要求であるアドレス要求を受信したときに、そのアドレス要求を送信した機器に自装置の装置識別情報を返送する装置識別情報返送機能を、さらに、有し、他端末識別管理機能が、同一セグメント内の各機器に受信されることになるブロードブロードキャスト要求を，前記アドレス要求として送信することにより同一セグメントに存在する他のクライアント端末の装置識別情報を収集し、収集した各装置識別情報を同一のクライアント端末グループに含まれる他の各クライアント端末の装置識別情報として管理する機能である端末としておくことも出来る。
【００１４】
そして、本発明の負荷分散用プログラムは、コンピュータを、本発明の負荷分散ネットワークシステムの構成要素であるクライアント端末として動作させることが出来るものとなっている。従って、本発明の負荷分散用プログラムを用いれば、同一機能の複数台のコンテンツサーバのいずれかに負荷が集中することがなく、かつ、同一機能のコンテンツサーバの台数が多くても、特に問題が生ずることがないシステムを、簡単に（特殊なハードウェアを用意することなく）実現できることになる。
【発明の効果】
【００１５】
本発明によれば、同一機能の複数台のコンテンツサーバのいずれかに負荷が集中することがなく、かつ、同一機能のコンテンツサーバの台数が多くても、特に問題が生ずることがないシステム（負荷分散ネットワークシステム、負荷分散用プログラムが用いられたネットワークシステム）を、実現することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明を実施するための最良の形態を、図面を参照して詳細に説明する。
【００１７】
《第１実施形態》
まず、図１及び図２を用いて、本発明の第１実施形態に係る負荷分散ネットワークシステムの概要を、説明する。
【００１８】
図１に示してあるように、第１実施形態に係る負荷分散ネットワークシステムは、管理サーバ１０と複数台のコンテンツサーバ２０と複数台のクライアントＰＣ３０とが、インターネットを介して接続されたシステムである。
【００１９】
この負荷分散ネットワークシステムに含まれるコンテンツサーバ２０は、何らかのコンテンツ（電子的データ）をインターネットを介して提供する機能を有するサーバに、負荷状態通知プログラム２１をインストールした装置である。クライアントＰＣ３０（本発明におけるクライアント端末に相当）は、いずれかのコンテンツサーバ２０内のコンテンツを得るために，ユーザが使用するコンピュータに、負荷分散用プログラム３１をインストールした装置である。管理サーバ１０は、負荷分散用プログラム３１のダウンロード要求に応答可能なサーバに、管理プログラム１１をインストールした装置である。
【００２０】
管理サーバ１０にインストールされている管理プログラム１１は、図２（Ａ）に模式的に示してあるように、自身がインストールされたコンピュータ（つまり、管理サーバ１０）を、サーバ状況情報管理処理及びサーバ情報要求応答処理（詳細は後述）を実行可能な装置として動作させることが出来るプログラムである。また、各コンテンツサーバ２０にインストールされている負荷状態通知プログラム２１は、図２（Ｂ）に模式的に示してあるように、自身がインストールされたコンピュータ（つまり、コンテンツサーバ２０）を、負荷状態管理処理及び負荷状態通知処理（詳細は後述）を実行可能な装置として動作させることが出来るプログラムである。
【００２１】
各クライアントＰＣ３０にインストールされている負荷分散用プログラム３１は、図２（Ｃ）に模式的に示してあるように、自身がインストールされたコンピュータ（つまり、クライアントＰＣ３０）を、ＩＰアドレス返送処理，他ＰＣアドレス管理処理，サーバ情報提供処理及びアクセス先選択処理（詳細は後述）を実行可能な装置として動作させるためのプログラムである。なお、アクセス先選択処理は、コンテンツサーバ２０からコンテンツを取得するためのアプリケーションプログラム（本実施形態では、Ｗｅｂブラウザ）が、コンテンツを取得する際に行う処理（或るコンテンツサーバ２０にアクセスして当該コンテンツサーバ２０にコンテンツを送信させる処理）の代わりに実行される処理となっている。また、他の各処理は、当該アプリケーションプログラムとは無関係に実行される処理となっている。
【００２２】
そして、本実施形態に係る負荷分散ネットワークシステムは、いずれのコンテンツサーバ２０についても、同じ機能を有するコンテンツサーバ２０（ＩＰアドレスのみを変えれば，同じアクセス結果が得られるコンテンツサーバ２０）が何台か存在し、さまざまなイントラネット内のＰＣがクライアントＰＣ３０として機能するように、構成されたシステムとなっている。
【００２３】
以上のことを前提に、以下、本実施形態に係る負荷分散ネットワークシステムの動作を、説明する。
【００２４】
まず、負荷分散ネットワークシステムを構成している各装置の動作（各装置が実行する各処理の内容）を、説明する。
【００２５】
《コンテンツサーバ２０》
コンテンツサーバ２０にインストールされている負荷状態通知プログラム２１は、管理サーバ１０のＩＰアドレスと、負荷状態通知情報（詳細は後述）の送信周期と、コンテンツサーバ２０の性能を示す性能情報（本実施形態では、コンテンツを並行的に送信可能な最大ＰＣ数）を、設定可能なプログラムとして作成されている。
【００２６】
そして、負荷状態通知プログラム２１に基づき，コンテンツサーバ２０が実行する負荷状態管理処理は、コンテンツ要求の受信頻度を管理する（把握して記憶する）処理となっている。
【００２７】
また、負荷状態通知プログラム２１に基づき，コンテンツサーバ２０が実行する負荷状態通知処理は、負荷状態管理処理にて管理されている受信頻度と，設定されている性能情報とから、現状における負荷のレベルを示す負荷レベル値（本実施形態では、１〜１０；１０が、負荷が最も高い状態）を求め、求めた負荷レベル値と自装置のＩＰアドレスとを含む負荷状態通知情報を、設定されている送信周期で（例えば、１時間毎に）、管理サーバ１０に送信する処理となっている。
【００２８】
《管理サーバ１０》
管理サーバ１０にインストールされている管理プログラム１１は、オペレータが、各コンテンツサーバ２０のＩＰアドレス及びドメイン名を設定することや、有効期限の算出に使用される時間情報である有効期限指定情報（詳細は後述）を設定することが出来るプログラムとして作成されている。以下、設定された各コンテンツサーバ２０のＩＰアドレス及びドメイン名が記憶されるテーブル（実際にはファイル）のことを、サーバ管理テーブルと表記する。
【００２９】
さらに、管理プログラム１１は、サーバ状況情報テーブルを利用するプログラムとして作成されている。ここで、サーバ状況情報テーブルとは、図３に模式的に示したような構成のテーブルのことである。すなわち、サーバ状況情報テーブルは、ドメイン名，ＩＰアドレス，優先順位，有効期限，負荷レベル値とからなる情報（以下、サーバ状況情報と表記する）を複数個記憶可能な構成のテーブルとなっている。そして、管理プログラム１１（管理サーバ１０）は、このサーバ状況情報テーブルに、サーバ状況情報が１個も記憶されていない状態で、その運用が開始されるプログラム（装置）となっている。
【００３０】
管理プログラム１１に基づき、管理サーバ１０が実行するサーバ状況情報管理処理は、図４に示した手順の処理である。なお、このサーバ状況情報管理処理は、既に説明した負荷状態通知情報がコンテンツサーバ２０から送信されてくる度に開始される処理となっている。
【００３１】
すなわち、負荷状態通知情報の受信によりサーバ状況情報管理処理が開始された管理サーバ１０では、まず、受信した負荷状態通知情報に含まれているＩＰアドレス（以下、処理対象アドレスと表記する）に対応付けられているドメイン名を、サーバ管理テーブルから読み出す処理(ステップＳ１０１)が行われる。
【００３２】
次いで、サーバ管理テーブルから読み出したドメイン名（以下、処理対象ドメイン名と表記する），処理対象ＩＰアドレスと、それぞれ、ドメイン名，ＩＰアドレスが等しいサーバ状況情報（以下、対応サーバ状況情報と表記する）が、サーバ状況情報テーブル（図３参照）内に記憶されているか否かが判断される(ステップＳ１０２)。
【００３３】
そして、対応サーバ状況情報がサーバ状況情報テーブル内に記憶されていなかった場合(ステップＳ１０３；ＮＯ)には、ドメイン名，ＩＰアドレス，負荷レベル値として、それぞれ、処理対象ドメイン名、処理対象ＩＰアドレス，受信した負荷状態通知情報中の負荷レベル値（以下、処理対象負荷レベル値と表記する）を設定したサーバ状況情報（優先順位と有効期限を“null”としたサーバ状況情報）を、サーバ状況情報テーブルに追加する処理(ステップＳ１０３)が、行われる。
【００３４】
一方、対応サーバ情報がサーバ状況情報テーブル内に記憶されていた場合(ステップＳ１０３；ＹＥＳ)には、当該対応サーバ状況情報中の負荷レベル値を、処理対象負荷レベル値に変更（書き換える）処理(ステップＳ１０４)が行われる。
【００３５】
ステップＳ１０３又はＳ１０４の処理の終了後には、その時点においてサーバ状況情報テーブル内に記憶されている，処理対象ドメイン名と同じドメイン名を含むサーバ状況情報（以下、同一サイトサーバ状況情報と表記する）の数が“１”であるか“２”以上であるかが判断される(ステップＳ１０５)。
【００３６】
そして、同一サイトサーバ状況情報の数が、“１”であった場合(ステップＳ１０５；＝１)には、サーバ状況情報テーブル内に記憶されている当該同一サイトサーバ状況情報（＝対応サーバ状況情報）の優先順位，有効期限を、それぞれ、“１”，現在日時に有効期限指定情報にて指定されている時間を加えた日時を表す情報に書き換える処理(ステップＳ１０６)が行われる。なお、既に説明した処理手順から明らかなように、ステップＳ１０６の処理は、優先順位の値が変わらない（それまで記憶されていたものと同じ優先順位がサーバ状況情報テーブル内に記憶される）場合がある処理となっている。
【００３７】
一方、同一サイトサーバ状況情報の数が、“２”以上であった場合(ステップＳ１０５；≧２)には、負荷レベル値がより低いコンテンツサーバ２０に関する同一サイトサーバ状況情報についての優先順位の方がより小さくなるように、各同一サイトサーバ状況情報についての優先順位を再決定し、サーバ状況情報テーブルに記憶されている各同一サイトサーバ状況情報の優先順位を決定した優先順位に書き換える処理(ステップＳ１０７)が行われる。なお、このステップＳ１０７の処理は、ステップＳ１０６の処理と同様に、各同一サイトサーバ状況情報の優先順位の値が変わらない場合がある処理となっている。
【００３８】
さらに、ステップＳ１０７では、サーバ状況情報テーブルに記憶されている各同一サイトサーバ状況情報の有効期限を、現在日時に有効期限指定情報にて指定されている時間を加えた日時を表す情報に書き換える処理も行われる。
【００３９】
そして、ステップＳ１０６或いはＳ１０７の処理が終了したときに、サーバ状況情報管理処理が、終了される。
【００４０】
管理プログラム１１に基づき、管理サーバ１０が実行するサーバ情報要求応答処理は、ドメイン名を含む所定形式の要求であるサーバ情報要求が送信されてきたときに開始される以下の内容の処理である。
【００４１】
サーバ情報要求応答処理が開始されると、まず、送信されてきたサーバ情報要求に含まれるドメイン名と同じドメイン名が含まれるサーバ状況情報が、サーバ状況情報テーブル（図３参照）から読み出される。次いで、サーバ状況情報テーブルから読み出された各サーバ情報中のドメイン名，ＩＰアドレス，優先順位及び有効期限からなる情報（サーバ状況情報から、負荷レベル値を除いた情報；以下、サーバ情報と表記する）を含めたサーバ情報リスト（本発明におけるリスト情報に相当）が生成される。そして、生成されたサーバ情報リストが、サーバ情報要求の送信元に対して送信されてから、サーバ情報要求応答処理が終了される。
【００４２】
《クライアントＰＣ３０》
クライアントＰＣ３０にインストールされる負荷分散用プログラム３１は、管理サーバ１０のＩＰアドレスと、ＩＰアドレス要求（詳細は後述）の送信周期とを、設定可能なプログラムとして作成されている。
【００４３】
また、負荷分散用プログラム３１は、クライアントＰＣアドレステーブル及びサーバ情報テーブル（いずれのテーブルも、実際には、ファイル）を利用するプログラムとなっている。ここで、クライアントＰＣアドレステーブルとは、同一セグメント内に存在する他の各クライアントＰＣ３０のＩＰアドレスを記憶しておくためのテーブルのことである。また、サーバ情報テーブルとは、図５に示してあるように、複数のサーバ情報を記憶しておくことが可能な構成を有するテーブルのことである。
【００４４】
そして、負荷分散用プログラム３１に基づき、クライアントＰＣ３０が実行するＩＰアドレス返送処理は、ＩＰアドレス要求（詳細は後述）を送信した機器に対して、自装置のＩＰアドレスを返送する処理となっている。
【００４５】
また、負荷分散用プログラム３１に基づき、クライアントＰＣ３０が実行する他ＰＣアドレス管理処理は、上記したＩＰアドレス要求として、同一セグメント内のクライアントＰＣ３０のみが受信することになる所定形式のブロードキャスト要求を送信することにより、同一セグメント内に存在する他の各クライアントＰＣ３０（起動されているもの）のＩＰアドレスを収集してクライアントＰＣアドレステーブルに記憶する処理を、クライアントＰＣ３０の起動時に一回実行した後、設定されている送信周期で繰り返す処理となっている。
【００４６】
また、負荷分散用プログラム３１に基づき、クライアントＰＣ３０が実行するサーバ情報提供処理は、ドメイン名を含む所定形式のサーバ情報要求（本実施形態では、既に説明した，管理サーバ１０が受信するサーバ情報要求と宛先アドレスのみが異なるもの）が送信されてきたときに開始される以下の内容の処理である。
【００４７】
このサーバ情報提供処理が開始されたクライアントＰＣ３０では、まず、送信されてきたサーバ情報要求に含まれるドメイン名と同じドメイン名が含まれるサーバ情報をサーバ情報テーブル（図５参照）から検索する処理が行われる。
【００４８】
そして、そのようなサーバ情報がサーバ状況情報テーブルから検索できた場合には、検索した各サーバ情報中の有効期限が、過去の日時を示すものであるか否かが判断され、有効期限が、過去の日時を示すものでなかった場合には、サーバ情報テーブルから検索された各サーバ情報を含むサーバ情報リストが生成される。
【００４９】
一方、検索した各サーバ情報中の有効期限が過去の日時を示すものであった場合には、サーバ情報が含まれないサーバ情報リスト（サーバ情報リストであることが分かる形式の情報であるが、サーバ情報を１つも含まない情報）が生成される。また、送信されてきたサーバ情報要求に含まれるドメイン名と同じドメイン名が含まれるサーバ情報の検索に失敗した場合にも、サーバ情報が含まれないサーバ情報リストが生成される。
【００５０】
そして、生成されたサーバ情報リストがサーバ情報要求の送信元に送信されてから、サーバ情報提供処理が終了される。
【００５１】
負荷分散用プログラム３１に基づき、クライアントＰＣ３０が実行するアクセス先選択処理は、既に説明したように、コンテンツサーバ２０からコンテンツを取得するためのアプリケーションプログラム（本実施形態では、Ｗｅｂブラウザ）が、コンテンツを取得する際に行う処理（或るコンテンツサーバ２０にアクセスして当該コンテンツサーバ２０にコンテンツを送信させる処理）の代わりに実行される処理である。
【００５２】
要するに、このアクセス先選択処理は、ドメイン名を含むＵＲＬをＷｅｂブラウザに入力する操作等が行われたときに開始される処理となっている。
【００５３】
そして、本負荷分散ネットワークシステムを構成する各クライアントＰＣ３０が実行するアクセス先選択処理は、図６に示した手順の処理となっている。
【００５４】
すなわち、アクセス先選択処理が開始されたクライアントＰＣ３０では、まず、入力されたＵＲＬに含まれるドメイン名（以下、指定ドメイン名と表記する）と同じドメイン名が含まれる全てのサーバ情報をサーバ情報テーブル（図５参照）から検索する処理(ステップＳ２０１)が行われる。
【００５５】
そして、そのようなサーバ情報が検索できた場合(ステップＳ２０２；ＹＥＳ)には、検索された各サーバ情報中の有効期限が、過去の日時を示すものであるか否かが判断(ステップＳ２０３)され、有効期限が、過去の日時を示すものでなかった場合(ステップＳ２０３；ＯＫ)には、サーバ情報テーブルから検索された各ＩＰアドレスを，優先順位が高い順（優先順位の値が小さい順に用いて、コンテンツサーバ２０にアクセスする処理(ステップＳ２０９)が行われる。なお、詳細は後述するが、このステップＳ１０９の処理時には、通常、サーバ情報テーブルから検索された優先順位が最も高いＩＰアドレスを利用したアクセスを行った段階で、コンテンツサーバ２０へのアクセスに成功することになる。
【００５６】
また、指定ドメイン名と同じドメイン名を含むサーバ情報の検索に失敗した場合(ステップＳ２０２；ＮＯ)には、クライアントＰＣテーブルの内容（幾つかのクライアントＰＣのＩＰアドレス）が読み出される(ステップＳ２０４)。サーバ情報テーブルから検索されたサーバ情報の有効期限が、過去の日時を表すものであった場合(ステップＳ２０３；ＮＧ)にも、このステップＳ２０４の処理が行われる。
【００５７】
そして、クライアントＰＣテーブルから，幾つかのクライアントＰＣアドレスを読み出せた場合(ステップＳ２０５；ＹＥＳ)には、他クライアントＰＣ内サーバ情報取得処理(ステップＳ２０６)が行われる。
【００５８】
このステップＳ２０６で行われる他クライアントＰＣ内サーバ情報取得処理は、クライアントＰＣテーブルから読み出した各クライアントＰＣアドレスを宛先アドレスとしたサーバ情報要求を送信することによって、同一セグメント上に存在する他のクライアントＰＣ３０のサーバ情報テーブル内に記憶されている，指定ドメイン名と同じドメイン名を含むサーバ情報（サーバ情報を含むサーバ情報リスト）の取得を試み、そのようなサーバ情報を取得できた場合（サーバ情報を含むサーバ情報リストを受信できた場合）には、自装置内のサーバ情報テーブルに、取得したサーバ情報を記憶する処理である。なお、この他クライアントＰＣ内サーバ情報取得処理は、サーバ情報要求の送信を順次行い、サーバ情報を含むサーバ情報リストが受信できたとき（及び、サーバ情報要求の送信先が無くなったとき）に終了する処理となっている。
【００５９】
そして、他クライアントＰＣ内サーバ情報取得処理にてサーバ情報を取得できた場合(ステップＳ２０７；ＹＥＳ)には、他のクライアントＰＣ３０から取得した各サーバ情報中のＩＰアドレスを，優先順位が高い順に用いて、コンテンツサーバ２０にアクセスする処理(ステップＳ２０９)が行われる。
【００６０】
一方、他クライアントＰＣ内サーバ情報取得処理にてサーバ情報を取得できなかった場合(ステップＳ２０７；ＮＯ)には、指定ドメイン名を含めたサーバ情報要求を管理サーバ１０に対して送信することにより、管理サーバ１０からサーバ情報リストを取得して、サーバ情報テーブルに記憶する処理(ステップＳ２０８)が行われる。また、クライアントＰＣテーブルからクライアントＰＣアドレスが読み出せなかった場合(ステップＳ２０５；ＮＯ)にも、このステップＳ２０８の処理が行われる。
【００６１】
そして、ステップＳ２０８の処理が行われた場合には、ステップＳ２０９にて、管理サーバ１０から取得した各サーバ情報中のＩＰアドレスを，優先順位が高い順に用いて、コンテンツサーバ２０にアクセスする処理が、行われる。
【００６２】
次に、第１実施形態に係る負荷分散ネットワークシステムの全体的な動作を、説明する。
【００６３】
例えば、管理サーバ１０内のサーバ状況情報テーブルの内容が、図３に示したものとなっている状況下、或るセグメント内の３台のクライアントＰＣ３０（以下、クライアントＰＣ３０Ａ，３０Ｂ，３０Ｃと表記する）に、負荷分散用プログラム３１がインストールされた後、クライアントＰＣ３０Ａに対して，ユーザにより"www.site_a.com"へのアクセスを指示する操作がなされた場合を、考える。なお、各クライアントＰＣ３０Ａ，３０Ｂ，３０ＣのクライアントＰＣテーブルには、他の２台のクライアントＰＣ３０のＩＰアドレスが既に記憶されているものとする。また、当該操作がなされた日時は、2004/10/01 09:22:00よりも前の日時であるとする。
【００６４】
この場合、クライアントＰＣ３０Ａにおけるアクセス先選択処理（図６）では、クライアントＰＣ３０Ａのサーバ情報テーブルにサーバ情報が記憶されておらず（ステップＳ２０２；ＮＯ）、クライアントＰＣ３０Ｂ，３０Ｃのサーバ情報テーブルにもサーバ情報が記憶されていない（ステップＳ２０７；ＮＯ）ので、ステップＳ２０８の処理が実行された後にステップＳ２０９の処理が実行されることになる。
【００６５】
すなわち、この場合、図７に模式的に示したように、管理サーバ１０からクライアントＰＣ３０にサーバ情報リストが渡されてから、図８に模式的に示したように、当該サーバ情報リストに含まれていた，最も高い優先順位を含むサーバ情報中のＩＰアドレスを有するコンテンツサーバ２０1へのアクセスが、行われることになる。なお、図７，図８，及び後述する図９に示してある各サーバ情報テーブルは、有効期限欄を省略したものとなっている。
【００６６】
そして、管理サーバ１０が送信するサーバ情報リストに含まれるサーバ情報中の優先順位は、各コンテンツサーバ２０の実際の負荷状況に応じて定められているものであるので、このアクセス先選択処理によるコンテンツサーバ２０1へのアクセスは、問題なく成功することになる。
【００６７】
また、クライアントＰＣ３０Ａ内のサーバ情報テーブルの内容が、図８に示してあるものとなった後に、クライアントＰＣ３０Ｂに対して，ユーザにより"www.site_a.com"へのアクセスを指示する操作がなされた場合には、クライアントＰＣ３０Ａから，サーバ情報を含むサーバ情報リストを得ることが出来る（ステップＳ２０６、ステップＳ２０７；ＹＥＳ）ことになるので、ステップＳ２０８の処理が実行されることなく、ステップＳ２０９の処理が実行されることになる。
【００６８】
すなわち、この場合、図９に模式的に示したように、クライアントＰＣ３０ＢがクライアントＰＣ３０Ａからサーバ情報リストを受け取った後に、当該サーバ情報リストに含まれていた，最も高い優先順位を含むサーバ情報中のＩＰアドレスを有するコンテンツサーバ２０1へのアクセスが、行われることになる。
【００６９】
また、クライアントＰＣ３０Ｂ，３０Ｃ内のサーバ情報テーブルの内容が、図９に示してあるものとなった後に、クライアントＰＣ３０Ｃに対して，ユーザにより"www.site_a.com"へのアクセスを指示する操作がなされた場合には、クライアントＰＣ３０ＣがクライアントＰＣ３０Ａ或いは３０Ｂからサーバ情報リストを受け取った後に、当該サーバ情報リストに含まれていた，最も高い優先順位を含むサーバ情報中のＩＰアドレスを有するコンテンツサーバ２０1へのアクセスが、行われることになる。
【００７０】
要するに、本負荷分散ネットワークシステムは、同一クライアントＰＣグループに属する１台のクライアントＰＣ３０が、管理サーバ１０からリスト情報を取得し、他の各クライアントＰＣ３０は、当該リスト情報を管理サーバから取得しない（他のクライアントＰＣ３０から取得する）システムとなっている。そして、システムを構成している各クライアントＰＣグループ内の或るクライアントＰＣ３０が管理サーバ１０からリスト情報を取得するタイミングは異なっている（各クライアントＰＣグループへは、異なる内容のリスト情報が配信される）ので、この第１実施形態に係る負荷分散ネットワークシステムは、同一機能の複数台のコンテンツサーバのいずれかに負荷が集中することがなく、かつ、同一機能のコンテンツサーバの台数が多くても、特に問題が生ずることがないシステムとなっていると言うことが出来る。
【００７１】
《第２実施形態》
本発明の第２実施形態に係る負荷分散ネットワークシステムは、第１実施形態に係る負荷分散ネットワークシステムと類似した部分が多いもの（第１実施形態に係る負荷分散ネットワークシステムを若干変形したもの）である。このため、以下では、第１実施形態に係る負荷分散ネットワークシステムの説明時に用いたものと同じ符号を用いて、第１実施形態に係る負荷分散ネットワークシステムと異なる部分を中心に、第２実施形態に係る負荷分散ネットワークシステムの構成、動作を説明することにする。
【００７２】
第２実施形態に係るコンテンツサーバ２０は、第１実施形態に係る各コンテンツサーバ２０と同じものである。
【００７３】
一方、第２実施形態に係る管理サーバ１０（管理プログラム１１）は、サーバ情報要求応答処理の代わりに、サーバアドレス要求応答処理を実行するように、第１実施形態に係る管理サーバ１０（管理プログラム１１）を変形したものとなっている。
【００７４】
ここで、サーバアドレス要求応答処理とは、ドメイン名を含む所定形式の要求であるサーバアドレス要求が送信されてきたときに、サーバ状況情報テーブル（図３参照）に記憶されている，当該ドメイン名と同じドメイン名を含む，優先順位が“１”となっているサーバ状況情報中のＩＰアドレスを、サーバアドレス要求の送信元に対して送信する処理のことである。
【００７５】
そして、第２実施形態に係るクライアントＰＣ３０（管理プログラム３１）は、サーバ情報テーブル（図５参照）の代わりに、ドメイン名毎に１個のＩＰアドレス（サーバアドレス）を記憶可能な構成のサーバアドレステーブルが用いられ、サーバ情報提供処理の代わりに、サーバアドレス提供処理が実行され、図６に示したものとは異なる内容のアクセス先選択処理が実行されるように、第１実施形態に係るクライアントＰＣ３０（負荷分散用プログラム３１）を変形したものとなっている。
【００７６】
そして、第２実施形態に係るクライアントＰＣ３０（負荷分散用プログラム３１）が実行するサーバアドレス提供処理は、ドメイン名を含む所定形式の要求であるサーバアドレス要求が送信されてきたときに、サーバアドレステーブルに記憶されている，当該ドメイン名と同じドメイン名に対応づけられているサーバアドレスを、サーバアドレス要求の送信元（同一セグメント内の他のクライアントＰＣ３０）に対して送信する処理となっている。なお、このサーバアドレス提供処理は、サーバアドレス要求が送信されてきたときに、当該サーバアドレス要求に含まれるドメイン名と同じドメイン名に対応づけられているサーバアドレスがサーバアドレステーブルに記憶されていなかった場合には、その旨を示す情報を、サーバアドレス要求の送信元（同一セグメント内の他のクライアントＰＣ３０）に対して返送する処理ともなっている。
【００７７】
また、第２実施形態に係るクライアントＰＣ３０（負荷分散用プログラム３１）が実行するアクセス先選択処理は、図１０に示した内容のものとなっている。
【００７８】
すなわち、アクセス先選択処理が開始された，第２実施形態に係るクライアントＰＣ３０では、まず、入力されたＵＲＬに含まれるドメイン名（以下、指定ドメイン名と表記する）と同じドメイン名に対応づけられているサーバアドレスをサーバアドレステーブルから検索する処理(ステップＳ３０１)が行われる。
【００７９】
そして、サーバアドレスが検索できなかった場合(ステップＳ３０２；ＮＯ)には、クライアントＰＣテーブルの内容（幾つかのクライアントＰＣのＩＰアドレス）を読み出す処理(ステップＳ３０３)が行われ、クライアントＰＣテーブルからクライアントＰＣアドレスが読み出せた場合(ステップＳ３０４；ＹＥＳ)には、他クライアントＰＣ内サーバアドレス取得処理(ステップＳ３０５)が行われる。
【００８０】
このステップＳ３０５で行われる他クライアントＰＣ内サーバアドレス取得処理は、クライアントＰＣテーブルから読み出した各クライアントＰＣアドレスを宛先アドレスとしたサーバアドレス要求を送信することによって、同一セグメント上に存在する他のクライアントＰＣ３０のサーバアドレステーブル内に記憶されている，指定ドメイン名に対応づけられているサーバアドレスの取得を試み、サーバアドレスを取得できた場合には、自装置内のサーバアドレステーブルに、取得したサーバアドレスを、指定ドメイン名に対応づけた形で記憶する処理である。なお、この他クライアントＰＣ内サーバアドレス取得処理は、他クライアントＰＣ内サーバ情報取得処理と同様に、サーバアドレス要求の送信を順次行い、サーバアドレスが受信できたとき（及び、サーバアドレス要求の送信先が無くなったとき）に終了する処理となっている。
【００８１】
そして、他クライアントＰＣ内サーバアドレス取得処理にてサーバアドレスを取得できなかった場合(ステップＳ３０６；ＮＯ)には、指定ドメイン名を含めたサーバアドレス要求を管理サーバ１０に対して送信することにより、管理サーバ１０からサーバアドレスを取得し、取得したサーバアドレスを指定ドメイン名に対応づけた形でサーバアドレステーブルに記憶する処理(ステップＳ３０７)が行われた後に、管理サーバ１０から取得したサーバアドレスを用いてコンテンツサーバ２０にアクセスする処理(ステップＳ３０８)が行われる。
【００８２】
また、他クライアントＰＣ内サーバアドレス取得処理にてサーバアドレスを取得できた場合(ステップＳ３０６；ＹＥＳ)には、当該サーバアドレスを用いてコンテンツサーバ２０にアクセスする処理(ステップＳ３０９)が行われる。また、サーバアドレステーブルから，指定ドメイン名に対応づけられているサーバアドレスを検索できた場合(ステップＳ３０２；ＹＥＳ)にも、このステップＳ３０９の処理が行われる。
【００８３】
そして、第２実施形態に係るクライアントＰＣ３０が実行するアクセス先選択処理は、ステップＳ３０９の処理時に、コンテンツサーバ２０へのアクセスに失敗した場合、ステップＳ３０７からの処理が開始されるものとなっている。
【００８４】
以上の説明から明らかなように、本発明の第２実施形態に係る負荷分散ネットワークシステムは、原則的には、或るクライアントＰＣグループに属する１台のクライアントＰＣ３０が、管理サーバ１０からサーバアドレスを取得し、当該クライアントＰＣグループに属する他の各クライアントＰＣ３０は、サーバアドレスを管理サーバから取得しない（他のクライアントＰＣ３０から取得する）状態で動作するシステムとなっている。そして、システムを構成している各クライアントＰＣグループ内の或るクライアントＰＣ３０が管理サーバ１０からサーバアドレスを取得するタイミングは異なっている（各クライアントＰＣグループへは、異なるサーバアドレスが配信される）ので、この第２実施形態に係る負荷分散ネットワークシステムも、同一機能の複数台のコンテンツサーバのいずれかに負荷が集中することがなく、かつ、同一機能のコンテンツサーバの台数が多くても、特に問題が生ずることがないシステムとなっていると言うことが出来る。
【００８５】
《変形形態》
第１、第２実施形態に係る負荷分散ネットワークシステムは、各種の変形を行うことが出来る。例えば、各実施形態に係る負荷分散ネットワークシステムを、１つのサイトに関するコンテンツサーバ２０（或るドメイン名でアクセス可能な複数台のコンテンツサーバ２０）のみを含むものに変形することが出来る。また、各実施形態に係る負荷分散ネットワークシステムを、ドメイン名の代わりにＩＰアドレスが含まれることがあるサーバ情報要求／サーバアドレス要求が授受されるシステム（Ｗｅｂブラウザ等にＩＰアドレスを含むＵＲＬを入力した場合でも、ＩＰアドレスが必要である場合には変更された後にアクセスが行われるシステム）に変形することも出来る。
【００８６】
また、各実施形態に係る負荷分散ネットワークシステムは、同一セグメント内の各クライアントＰＣ３０が、同一の情報（サーバ情報／サーバアドレス）に基づき動作する装置としてグループ化されたシステムであったが、クライアントＰＣ３０のグループ化は、これ以外の方法によっても行うことが出来る。例えば、各クライアントＰＣ３０内のクライアントＰＣテーブルへのＩＰアドレスの設定をユーザが行えるようにしておけば、同一セグメント内のクライアントＰＣ３０群を２つのグループに分類することや、２つのセグメント内のクライアントＰＣ３０群を１つのグループに分類することが、可能となる。
【００８７】
また、第１実施形態に係る負荷分散ネットワークシステムを、有効期限が含まれないサーバ情報が授受されるものに変形しておくことも出来る。ただし、各クライアントＰＣ３０内に保持されるサーバ情報は、コンテンツサーバ２０の現状に即したものであった方が良いので、サーバ情報中に有効期限を含めておくことが望ましい。
【図面の簡単な説明】
【００８８】
【図１】本発明の第１実施形態に係る負荷分散ネットワークシステムの構成図。
【図２】第１実施形態に係る負荷分散ネットワークシステムを構成する各装置が実行する処理の説明図。
【図３】第１実施形態に係る負荷分散ネットワークシステムを構成する管理サーバが保持するサーバ状況情報テーブルの説明図。
【図４】第１実施形態に係る管理サーバにて実行されるサーバ状況情報管理処理の流れ図。
【図５】第１実施形態に係る負荷分散ネットワークシステムを構成する各クライアントＰＣが保持するサーバ情報テーブルの説明図。
【図６】第１実施形態に係るクライアントＰＣにて実行されるアクセス先選択処理の流れ図。
【図７】第１実施形態に係る負荷分散ネットワークシステムの動作を説明するための図。
【図８】第１実施形態に係る負荷分散ネットワークシステムの動作を説明するための図。
【図９】第１実施形態に係る負荷分散ネットワークシステムの動作を説明するための図。
【図１０】第２実施形態に係るクライアントＰＣにて実行されるアクセス先選択処理の流れ図。
【図１１】従来の負荷分散技術の説明図。
【図１２】従来の負荷分散技術の説明図。
【図１３】従来の負荷分散技術の説明図。
【符号の説明】
【００８９】
１０  管理サーバ
１１  管理プログラム
２０  コンテンツサーバ
２１  負荷状態通知プログラム
３０  クライアントＰＣ
３１  負荷分散用プログラム
【図１】
2006106933.tif 000003
【図２】
2006106933.tif 000004
【図３】
2006106933.tif 000005
【図４】
2006106933.tif 000006
【図５】
2006106933.tif 000007
【図６】
2006106933.tif 000008
【図７】
2006106933.tif 000009
【図８】
2006106933.tif 000010
【図９】
2006106933.tif 000011
【図１０】
2006106933.tif 000012
【図１１】
2006106933.tif 000013
【図１２】
2006106933.tif 000014
【図１３】
2006106933.tif 000015