(57)【要約】      （修正有）【課題】ネットワーク上で提供する機能を安定的に稼働させることができる通信システム及び負荷分散処理装置を提供する。【解決手段】複数のサーバ３１〜３４と、負荷分散処理装置２１とを備え、負荷分散処理装置２１は、記憶装置５２と、優先度管理装置５１と、を有し、記憶装置５２は、記憶領域を形成するデータ構造として、キューを形成しており、キューは、供給された順に優先度付きデータを格納し、格納した優先度付きデータのうち、優先度の優先順位の最も高い優先度付きデータから取り出させ、優先度管理装置５１は、取り出し要求をしたとき、複数のサーバ３１〜３４の中から、優先度付きデータの処理を割り当てるサーバを決定し、決定したサーバに優先度付きデータを供給すると共に、決定したサーバに対し、当該決定したサーバの計算機環境に設けられたスレッド数の使用量を増加させるものである。【選択図】図１
2013206041.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上に設けられる複数のサーバと、
処理の優先順位を示す優先度が付加された優先度付きデータが、外部から供給されたとき、前記優先度に基づいて、前記複数のサーバの中から、前記優先度付きデータの処理を割り当てるサーバを決定する負荷分散処理装置と
を備え、
前記負荷分散処理装置は、
前記優先度付きデータが供給されたとき、前記優先度付きデータを一時的に格納する記憶装置と、
前記記憶装置に格納されている前記優先度付きデータを前記優先度に基づいて管理し、前記複数のサーバに前記優先度付きデータの処理を割り当てる優先度管理装置と、
を有し、
前記記憶装置は、
記憶領域を形成するデータ構造として、キューを形成しており、
前記キューは、
供給された順に前記優先度付きデータを格納し、格納した前記優先度付きデータのうち、前記優先度の優先順位の最も高い前記優先度付きデータから取り出させ、
前記優先度管理装置は、
前記優先度付きデータの取り出し要求をするまで、前記記憶装置に、前記優先度付きデータを順番に格納させ、
前記取り出し要求をしたとき、前記複数のサーバの中から、前記優先度付きデータの処理を割り当てるサーバを決定し、決定したサーバに前記キューから取り出した前記優先度付きデータを供給すると共に、前記決定したサーバに対し、当該決定したサーバの計算機環境に設けられたスレッド数の使用量を増加させる
ことを特徴とする通信システム。
【請求項２】
前記優先度管理装置は、
前記取り出し要求を前記記憶装置に行い、
前記サーバの計算機環境の使用状態に基づいて、前記記憶装置の前記キューから取り出した前記優先度付きデータを割り当てるサーバを決定し、決定したサーバに前記優先度付きデータを供給する
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記優先度管理装置は、
前記使用状態として、混雑した状態及び空いた状態の何れか一方が設定され、
前記複数のサーバのうち、前記使用状態が空いた状態のサーバに、前記記憶装置の前記キューから取り出した前記優先度付きデータの処理を割り当てる
ことを特徴とする請求項２に記載の通信システム。
【請求項４】
前記記憶装置は、前記キューを複数設け、
当該キューには、前記優先度付きデータを前記サーバに割り当てる配分が、前記優先度付きデータの処理を実行させる実行比率として、予め設定されており、
前記優先度管理装置は、
前記サーバの計算機環境を利用する処理の分割単位であり、前記計算機環境に設けられた複数のスレッドに、当該複数のスレッドの使用状況と、前記実行比率とに基づいて、前記優先度付きデータの処理を割り当てる
ことを特徴とする請求項１〜３の何れか一項に記載の通信システム。
【請求項５】
前記記憶装置の前記キューは、内部に複数の前記キューを有する入れ子構造で形成される
ことを特徴とする請求項４に記載の通信システム。
【請求項６】
処理の優先順位を示す優先度が付加された優先度付きデータが外部から供給されたとき、前記優先度に基づいて、複数のサーバの中から、前記優先度付きデータを実行するサーバを選択し、選択したサーバに処理を割り当てる負荷分散処理装置において、
前記負荷分散処理装置は、
前記優先度付きデータが供給されたとき、前記優先度付きデータを一時的に格納する記憶装置と、
前記記憶装置に格納されている前記優先度付きデータを前記優先度に基づいて管理し、前記複数のサーバに前記優先度付きデータの処理を割り当てる優先度管理装置と、
を有し、
前記記憶装置は、
記憶領域を形成するデータ構造として、キューを形成しており、
前記キューは、
供給された順に前記優先度付きデータを格納し、格納した前記優先度付きデータのうち、前記優先度の優先順位の最も高い前記優先度付きデータから取り出させ、
前記優先度管理装置は、
前記優先度付きデータの取り出し要求をするまで、前記記憶装置に、前記優先度付きデータを順番に格納させ、
前記取り出し要求をしたとき、前記複数のサーバの中から、前記優先度付きデータの処理を割り当てるサーバを決定し、決定したサーバに前記キューから取り出した前記優先度付きデータを供給すると共に、前記決定したサーバに対し、当該決定したサーバの計算機環境に設けられたスレッド数の使用量を増加させる
ことを特徴とする負荷分散処理装置。
【請求項７】
前記優先度管理装置は、
前記取り出し要求を前記記憶装置に行い、
前記サーバの計算機環境の使用状況に基づいて、前記記憶装置の前記キューから取り出した前記優先度付きデータを割り当てるサーバを決定し、決定したサーバに前記優先度付きデータを供給する
ことを特徴とする請求項６に記載の負荷分散処理装置。
【請求項８】
前記優先度管理装置は、
前記使用状態として、混雑した状態及び空いた状態の何れか一方が設定され、
前記複数のサーバのうち、前記使用状態が空いた状態のサーバに、前記記憶装置の前記キューから取り出した前記優先度付きデータの処理を割り当てる
ことを特徴とする請求項７に記載の負荷分散処理装置。
【請求項９】
前記記憶装置は、前記キューを複数設け、
当該キューには、前記優先度付きデータを前記サーバに割り当てる配分が、前記優先度付きデータの処理を実行させる実行比率として、予め設定されており、
前記優先度管理装置は、
前記サーバの計算機環境を利用する処理の分割単位であり、前記計算機環境に設けられる複数のスレッドに、当該複数のスレッドの使用状況と、前記実行比率とに基づいて、前記優先度付きデータの処理を割り当てる
ことを特徴とする請求項６〜８の何れか一項に記載の負荷分散処理装置。
【請求項１０】
前記記憶装置の前記キューは、内部に複数の前記キューを有する入れ子構造で形成される
ことを特徴とする請求項９に記載の負荷分散処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム及び負荷分散処理装置に関し、特に、優先度に基づいてサーバにデータを割り当て、割り当てられたサーバの計算機環境に設けられたスレッド数の使用量を増加させることにより、ネットワーク上で提供する機能を安定的に稼働させる通信システム及び負荷分散処理装置に関する。
【背景技術】
【０００２】
現在、ネットワーク上のさまざまな処理要求に対し、情報システム内で均等にその処理要求を割り当て、割り当てた処理を効率的に実行する装置として負荷分散処理装置が用いられている（例えば、特許文献１参照）。
このような負荷分散処理装置は、処理要求が届いたとき、ネットワーク上の複数のサーバに、要求された処理を分散し、その要求された処理の転送を実行する。
このときの要求された処理である負荷の分散は、ラウンドロビン方式やサーバの負荷状況に応じた負荷均衡方式等に基づいて実行される。
そして、要求された処理を受理したサーバは、その要求された処理の内容に応じて優先度制御を行い、順次要求された処理を実行している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３９６４８９６号公報（段落［０００３］）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記で説明したように、従来の負荷分散処理装置は優先度制御を実行せず、要求された処理を受理したサーバが優先度制御を実行している。
図５は、従来技術のシステムの概略構成を示す図である。図５に示すように、従来の負荷分散処理装置２０１は、サーバ３０１〜３０３の負荷状況に応じて、要求された処理を転送している。
【０００５】
例えば、負荷分散時の状態１０１において、優先度の高い高優先度の要求された処理３５１と優先度の低い低優先度の要求された処理３５２が順次届いたものとする。サーバ３０１は低負荷状態であるため、次に要求された処理３５１が転送される。また、サーバ３０２は高負荷状態であるがサーバ３０１へ処理３５１が転送された結果、サーバ３０１がより高負荷だと評価されると、その次に要求された処理３５２が転送される。
一方、負荷分散後の状態１０２において、サーバ３０１は負荷上昇中となり、高優先度の要求された処理３５１の実行時間が負荷分散時の状態１０１と比べて多くかかることとなる。また、サーバ３０２は負荷低下中となり、低優先度の要求された処理３５２の実行時間が負荷分散時の状態１０１と比べて少なくかかることとなる。
【０００６】
このように、要求された処理を転送後にサーバ３０１、３０２の負荷状況が変わった結果、サーバ３０１での高優先度の要求された処理３５１の実行の完了が、別のサーバであるサーバ３０２での低優先度の要求された処理３５２の実行後となる場合があった。
このため、システムとして、優先度制御が的確になされているとはいえない状態が発生する虞があった。
【０００７】
したがって、ネットワーク上で提供する機能を安定的に稼働させることができる通信システム及び負荷分散処理装置が望まれていた。
【課題を解決するための手段】
【０００８】
本発明の通信システムは、ネットワーク上に設けられる複数のサーバと、処理の優先順位を示す優先度が付加された優先度付きデータが、外部から供給されたとき、前記優先度に基づいて、前記複数のサーバの中から、前記優先度付きデータの処理を割り当てるサーバを決定する負荷分散処理装置とを備え、前記負荷分散処理装置は、前記優先度付きデータが供給されたとき、前記優先度付きデータを一時的に格納する記憶装置と、前記記憶装置に格納されている前記優先度付きデータを前記優先度に基づいて管理し、前記複数のサーバに前記優先度付きデータの処理を割り当てる優先度管理装置と、を有し、前記記憶装置は、記憶領域を形成するデータ構造として、キューを形成しており、前記キューは、供給された順に前記優先度付きデータを格納し、格納した前記優先度付きデータのうち、前記優先度の優先順位の最も高い前記優先度付きデータから取り出させ、前記優先度管理装置は、前記優先度付きデータの取り出し要求をするまで、前記記憶装置に、前記優先度付きデータを順番に格納させ、前記取り出し要求をしたとき、前記複数のサーバの中から、前記優先度付きデータの処理を割り当てるサーバを決定し、決定したサーバに前記キューから取り出した前記優先度付きデータを供給すると共に、前記決定したサーバに対し、当該決定したサーバの計算機環境に設けられたスレッド数の使用量を増加させるものである。
【０００９】
本発明の通信システムにおいて、前記優先度管理装置は、前記取り出し要求を前記記憶装置に行い、前記サーバの計算機環境の使用状態に基づいて、前記記憶装置の前記キューから取り出した前記優先度付きデータを割り当てるサーバを決定し、決定したサーバに前記優先度付きデータを供給するものである。
【００１０】
本発明の通信システムにおいて、前記優先度管理装置は、前記使用状態として、混雑した状態及び空いた状態の何れか一方が設定され、前記複数のサーバのうち、前記使用状態が空いた状態のサーバに、前記記憶装置の前記キューから取り出した前記優先度付きデータの処理を割り当てるものである。
【００１１】
本発明の通信システムにおいて、前記記憶装置は、前記キューを複数設け、当該キューには、前記優先度付きデータを前記サーバに割り当てる配分が、前記優先度付きデータの処理を実行させる実行比率として、予め設定されており、前記優先度管理装置は、前記サーバの計算機環境を利用する処理の分割単位であり、前記計算機環境に設けられた複数のスレッドに、当該複数のスレッドの使用状況と、前記実行比率とに基づいて、前記優先度付きデータの処理を割り当てるものである。
【００１２】
本発明の通信システムにおいて、前記記憶装置の前記キューは、内部に複数の前記キューを有する入れ子構造で形成されるものである。
【００１３】
本発明の負荷分散処理装置は、処理の優先順位を示す優先度が付加された優先度付きデータが外部から供給されたとき、前記優先度に基づいて、複数のサーバの中から、前記優先度付きデータを実行するサーバを選択し、選択したサーバに処理を割り当てる負荷分散処理装置において、前記負荷分散処理装置は、前記優先度付きデータが供給されたとき、前記優先度付きデータを一時的に格納する記憶装置と、前記記憶装置に格納されている前記優先度付きデータを前記優先度に基づいて管理し、前記複数のサーバに前記優先度付きデータの処理を割り当てる優先度管理装置と、を有し、前記記憶装置は、記憶領域を形成するデータ構造として、キューを形成しており、前記キューは、供給された順に前記優先度付きデータを格納し、格納した前記優先度付きデータのうち、前記優先度の優先順位の最も高い前記優先度付きデータから取り出させ、前記優先度管理装置は、前記優先度付きデータの取り出し要求をするまで、前記記憶装置に、前記優先度付きデータを順番に格納させ、前記取り出し要求をしたとき、前記複数のサーバの中から、前記優先度付きデータの処理を割り当てるサーバを決定し、決定したサーバに前記優先度付きデータを供給すると共に、前記決定したサーバに対し、当該決定したサーバの計算機環境に設けられたスレッド数の使用量を増加させるものである。
【００１４】
本発明の負荷分散処理装置において、前記優先度管理装置は、前記取り出し要求を前記記憶装置に行い、前記サーバの計算機環境の使用状態に基づいて、前記記憶装置の前記キューから取り出した前記優先度付きデータを割り当てるサーバを決定し、決定したサーバに前記優先度付きデータを供給するものである。
【００１５】
本発明の負荷分散処理装置において、前記優先度管理装置は、前記使用状態として、混雑した状態及び空いた状態の何れか一方が設定され、前記複数のサーバのうち、前記使用状態が空いた状態のサーバに、前記記憶装置の前記キューから取り出した前記優先度付きデータの処理を割り当てるものである。
【００１６】
本発明の負荷分散処理装置において、前記記憶装置は、前記キューを複数設け、当該キューには、前記優先度付きデータを前記サーバに割り当てる配分が、前記優先度付きデータの処理を実行させる実行比率として、予め設定されており、前記優先度管理装置は、前記サーバの計算機環境を利用する処理の分割単位であり、前記計算機環境に設けられた複数のスレッドに、当該複数のスレッドの使用状況と、前記実行比率とに基づいて、前記優先度付きデータの処理を割り当てるものである。
【００１７】
本発明の負荷分散処理装置において、前記記憶装置の前記キューは、内部に複数の前記キューを有する入れ子構造で形成されるものである。
【発明の効果】
【００１８】
本発明は、優先度に基づいてサーバにデータを割り当て、割り当てられたサーバの計算機環境に設けられたスレッド数の使用量を増加させることにより、ネットワーク上で提供する機能を安定的に稼働させることができるという効果を有する。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施の形態１における通信システム１１の概略構成を示す図である。
【図２】本発明の実施の形態１における通信システム１１の動作を示すシーケンスである。
【図３】本発明の実施の形態２における通信システム１１の概略構成を示す図である。
【図４】本発明の実施の形態２における通信システム１１の動作を示すシーケンスである。
【図５】従来技術のシステムの概略構成を示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００２１】
実施の形態１．
＜構成の説明＞
図１は、本発明の実施の形態１における通信システム１１の概略構成を示す図である。図１に示すように、通信システム１１は、多数のクライアント３と、ネットワーク１を介して接続されており、多数のクライアント３の処理要求に応答している。
【００２２】
通信システム１１は、多数のクライアント３から要求された処理を後述するサーバ３１〜３４に転送させ、システム全体で負荷を分散させる負荷分散処理装置２１と、負荷分散処理装置２１から転送された処理を実行するサーバ３１〜３４と、サーバ３１〜３４に転送された処理の実行を行う計算機環境４１とを備えている。
【００２３】
計算機環境４１は、サーバ３１〜３４に物理的な計算機資源を提供するものである。
計算機環境４１は、スレッド７１を備えている。
スレッド７１は、複数のスレッドからなるスレッドの集合体を意味するものとする。
スレッド７１にある個々のスレッドは、サーバ３１〜３４が計算機環境４１を利用する処理の分割単位である。
また、計算機環境４１は、スレッド７１の他には、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等を備えている。
【００２４】
次に、サーバ３１〜３４と、計算機環境４１との関係について説明する。
物理的には、サーバ３１〜３４と、計算機環境４１とは、例えば、ラックマウント型サーバに搭載されるものである。
計算機環境４１は、サーバ３１〜３４が共通して利用可能な計算機資源のことである。  例えば、サーバ３１〜３４は、サーバ毎に使用するスレッド数の割り当てが予め決められているものとする。
例えば、システム全体の計算機環境として、合計１０スレッドをサーバ３１〜３４に提供可能な場合、サーバ３１にスレッドが４つ、サーバ３２にスレッド２つ、サーバ３３にスレッドが２つ、サーバ３４にスレッドが２つ割り当てることが可能と想定する。
例えば、上記の想定で、サーバ３１が現在スレッドを２つ使用し、サーバ３１に優先度付きデータを供給したとき、サーバ３１にはさらに２つのスレッドを割り当てることが可能となる。
なお、計算機環境４１は複数のサーバにより構成してもよい。その場合、サーバ３１〜３４のうち、一つ若しくは複数のサーバが使う計算機資源は異なる場合があるが、負荷分散処理装置２１ではスレッド単位で負荷制御を行うため、計算機資源が同じ場合と同様に振舞うことができる。このような構成をとることにより、スケーラビリティや耐障害性の向上という効果が得られる。
【００２５】
サーバ３１〜３４は、クライアント３からの要求、すなわち、リクエストに応じて、何らかのサービス、すなわち、処理を提供する機能的構成である。
例えば、ファイルサーバの場合、保管しているファイル、すなわち、データを提供するものである。
また、プリントサーバの場合、プリンタへ印刷処理を提供するものである。
また、ウェブサーバの場合、ウェブページを構成するＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイルや画像ファイルなどのデータを提供するものである。
また、物理的に一つのコンピュータが、例えば、プリンタサーバやウェブサーバ等の複数のサーバを備えていてもよい。
また、物理的に一つのコンピュータが、例えば、ファイルサーバを一つ備えるようにし、一つのコンピュータに一つのサーバの機能を持たせ、サーバごとにコンピュータを複数台備えるようにしてもよい。
【００２６】
なお、ここではサーバ３１〜３４は、４台のサーバを設けた一例について示したが、これに限定されるものではない。例えば、２台のサーバでもよく、１００台のサーバでもよい。
また、ここでいうサーバ３１〜３４は、例えば、ウェブサーバであるが、これに限定されるものではない。例えば、決済処理を行う業務支援サーバやメールを処理するメールサーバ等であってもよい。また、呼制御を行うＳＩＰサーバであってもよい。
【００２７】
次に、サーバ３１〜３４の詳細について説明する。
サーバ３１〜３４は、クライアント３からの処理要求に対しては、優先度制御を実行しない。
サーバ３１〜３４は、計算機環境４１の使用状態、すなわち、計算機環境４１に設けられているスレッド７１の使用状態を管理するキュー３５〜３８を有する。
【００２８】
キュー３５〜３８は、記憶領域を形成するデータ構造の一つである。
キュー３５〜３８は、データを先入れ先出し（ＦＩＦＯ：Ｆｉｒｓｔ  ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ） のリスト構造で保持するものである。
すなわち、キュー３５〜３８は、待ち行列で形成される。
キュー３５〜３８は、キューからデータが取り出されるときには、先に入れられたデータから順に取り出されるものである。
キュー３５〜３８には、スレッド７１の使用状態が混雑した状態、すなわち、スレッド７１の使用状態がＢｕｓｙとなる状態を識別する閾値Ｎｂが設定されている。
キュー３５〜３８には、スレッド７１の使用状態が空いた状態、すなわち、スレッド７１の使用状態がＡｃｔｉｖｅとなる状態を識別する閾値Ｎａが設定されている。
なお、サーバ３１〜３４と、スレッド７１の使用状態との関係の詳細については後述する。
【００２９】
ここで、キュー３５〜３８の何れかを指すときには、キュー３９と称することとする。
また、キュー３９全体の大きさは、サーバごとに異なるものとする。
例えば、サーバ３１〜３４に計算機環境が提供できるスレッド７１の総スレッド数が１００とする。このとき、サーバ３１には３０スレッド、サーバ３２には２０スレッド、サーバ３３には１０スレッド、サーバ３４には４０スレッドが使用可能なスレッドとして割り当てられていると想定する。
上記の想定では、使用可能なスレッドの大小関係は、サーバ３４＞サーバ３１＞サーバ３２＞サーバ３３である。よって、キュー３９の大小関係は、キュー３８＞キュー３５＞キュー３６＞キュー３７となる。
【００３０】
次に、閾値Ｎｂ及び閾値Ｎａの具体例について説明する。
例えば、クライアント３から要求された処理内容が次々にキュー３９に格納され、キュー３９全体の５０％に達したとする。すなわち、待機中の処理内容が、キュー３９の５０％に達したと想定する。
このとき、閾値Ｎｂがキュー３９の５０％に設定されていれば、スレッド７１の使用状態はＢｕｓｙであるとする。スレッド７１の使用状態がＢｕｓｙのとき、サーバ３９は、負荷分散処理装置２１によるクライアント３の処理要求の転送を受理しないこととする。
また、この後、待機中の処理内容が、キュー３９の３０％に達したと想定する。
このとき、閾値Ｎａがキュー３９の３０％に設定されていれば、スレッド７１の使用状態はＡｃｔｉｖｅであるとする。スレッド７１の使用状態がＡｃｔｉｖｅのとき、サーバ３９は、負荷分散処理装置２１によるクライアント３の処理要求の転送を受理することとする。
このように、キュー３９、閾値Ｎｂ及び閾値Ｎａにより、使用可能なスレッド数に余裕を持たせ、サーバ３１〜３４が高負荷状態となって、次の処理を受け付けるまでのタイムラグが発生するのを防ぐようにする。
【００３１】
次に、負荷分散処理装置２１の機能について説明する。
負荷分散処理装置２１は、処理の優先順位を示す優先度を付加された優先度付きデータが、クライアント３等の外部から供給されたとき、優先度に基づいて、サーバ３１〜３４の中から、優先度付きデータの処理を割り当てるサーバを決定するものである。
【００３２】
次に、負荷分散処理装置２１の構成について説明する。
負荷分散処理装置２１は、クライアント３の処理要求の優先度を管理する優先度管理装置５１と、クライアント３の処理要求を一時的に格納する記憶装置５２とを備えている。
ここで、クライアント３の処理要求には、予め、処理の優先順位を示す優先度を付加された優先度付きデータが含まれているものとする。
そのような優先度を伴うデータとしては、例えば、サーバ３１〜３４がＳＩＰサーバである場合、日本国であれば１１９や１１０等の緊急電話番号データであり、米国であれば９１１の緊急電話データであり、イングランドであれば９９９の緊急電話データである。
また、例えば、優先度を伴うデータは、サーバ３１〜３４が会社等の業務支援サーバである場合、決済処理に必要な稟議書等のデータである。
また、例えば、サーバ３１〜３４がメールサーバである場合、優先度を伴うデータは、メールに付加された緊急度の度合い等を示すフラグ等である。
【００３３】
そのような緊急性を要するようなデータの識別には、例えば、処理要求データに含まれるアプリケ−ションデータを解読してもよい。
また、新たに緊急性を要するデータを識別するフラグをユーザデータの最上位ビットに設け、そのユーザデータにアプリケ−ションヘッダーを設けてアプリケーションデータとし、そのアプリケ−ションデータを解読してもよい。
要するに、優先度の高低は、要求内容、要求元、要求に付記されたラベル等を指標とするものである。
いずれにしても、優先度を付加する実装形態は特に限定されるものではない。
【００３４】
記憶装置５２は、優先度付きデータが供給されたとき、優先度付きデータを一時的に格納するものである。
【００３５】
次に、記憶装置５２の詳細について説明する。
記憶装置５２は、記憶領域を形成するデータ構造として、キュー６１を形成している。
キュー６１は、データを先入れ先出し（ＦＩＦＯ：Ｆｉｒｓｔ  ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ） のリスト構造で保持するものである。
すなわち、キュー６１は、待ち行列で形成される。
キュー６１は、キューからデータが取り出されるときには、先に入れられたデータから順に取り出されるものである。
キュー６１は、供給された順に優先度付きデータを格納し、格納した優先度付きデータのうち、優先度の優先順位の最も高い優先度付きデータから取り出させるものである。
【００３６】
優先度管理装置５１は、優先度付きデータが供給されたとき、優先度付きデータを一時的に格納した記憶装置５２に格納されている優先度付きデータを優先度に基づいて管理し、サーバ３１〜３４に優先度付きデータの処理を割り当てるものである。
【００３７】
次に、優先度管理装置５１の詳細について説明する。
優先度管理装置５１は、優先度付きデータの取り出し要求をするまで、記憶装置５２に、優先度付きデータを順番に格納させるものである。
優先度管理装置５１は、記憶装置５２に、優先度付きデータの取り出し要求をしたとき、サーバ３１〜３４の中から、優先度付きデータの処理を割り当てるサーバを決定し、決定したサーバに優先度付きデータを供給する。
優先度管理装置５１は、決定したサーバに優先度付きデータを供給するとき、そのサーバに対し、そのサーバの計算機環境に設けられたスレッド７１の使用量を増加させる。
【００３８】
具体的には、優先度管理装置５１は、サーバ３１〜３４の中で、各サーバの計算機環境の使用状態、例えば、スレッド７１の利用数に基づいて、キュー６１から取り出した優先度付きデータを割り当てるサーバを決定し、決定したサーバに優先度付きデータを供給する。
【００３９】
より具体的には、優先度管理装置５１は、サーバ３１〜３４の中で、各サーバの計算機環境の使用状態、例えば、混雑した状態であるスレッド７１を使用するサーバがあるとき、サーバ３１〜３４の中で、スレッド７１の空きがあるサーバに、キュー６１から取り出した優先度付きデータの処理を割り当てる。
すなわち、優先度管理装置５１は、サーバ３１〜３４の中で、スレッド７１の利用可能数にまだ空きがあるサーバに、キュー６１から取り出した優先度付きデータの処理を割り当てる。
換言すれば、閾値Ｎｂによってスレッド７１の使用状態がＢｕｓｙを示すとき、優先度管理装置５１は、その状態となっているサーバには優先度付きデータの処理を割り当てないようにする。
一方、閾値Ｎａによってスレッド７１の使用状態がＡｃｔｉｖｅを示すとき、優先度管理装置５１は、その状態となっているサーバに優先度付きデータの処理を割り当てるようにする。
【００４０】
次に、サーバ３１〜３４と、スレッド７１の使用状態との関係について説明する。
上記で説明したように、サーバ毎にスレッドの割り当ては決まっている。また、サーバ毎のスレッドの使用状況は、サーバ３１ではキュー３５の閾値Ｎｂと閾値Ｎａ、サーバ３２ではキュー３６の閾値Ｎｂと閾値Ｎａ、サーバ３３ではキュー３７の閾値Ｎｂと閾値Ｎａ、サーバ３４ではキュー３８の閾値Ｎｂと閾値Ｎａの各値に置き換えて判断させている。
そのため、ここでいうスレッド７１の使用状態のＢｕｓｙやＡｃｔｉｖｅは、計算機環境４１がサーバ３１〜３４に提供できる全スレッド数がＢｕｓｙやＡｃｔｉｖｅであることを意味するものではない。
ここでいうスレッド７１の使用状態のＢｕｓｙは、例えば、キュー３５の閾値Ｎｂが４０％に設定されている場合にキュー３５の閾値Ｎｂが４０％に到達したときを意味するものとする。キュー３５は、サーバ３１が管理しているため、このときには、優先度管理装置５１は、サーバ３１に優先度付きデータの処理を割り当てないようにするということである。
また、ここでいうスレッド７１の使用状態のＡｃｉｔｖｅは、例えば、キュー３６の閾値Ｎａが１５％に設定されている場合にキュー３６の閾値Ｎａが１５％になったときを意味するものとする。キュー３６は、サーバ３２が管理しているため、このときには、優先度管理装置５１は、サーバ３２に優先度付きデータの処理を割り当てるようにするということである。
【００４１】
＜動作の説明＞
図２は、本発明の実施の形態１における通信システム１１の動作を示すシーケンスである。
クライアント３からの実行要求が負荷分散処理装置２１に届くと、実行要求は、キュー６１に格納される。
キュー６１に格納された実行要求は、優先度管理装置５１によって取り出され、実行可能なサーバに転送される。
具体的には、優先度管理装置５１は、キュー６１が形成されている記憶装置５２に、実行要求である優先度付きデータの取り出し要求を行い、取り出し要求返信として、優先度付きデータを取得する。
【００４２】
次に、優先度管理装置５１は、サーバ３１〜３４に、計算機環境４１の使用状態を要求し、計算機環境４１の使用状態要求の返信として、閾値Ｎｂ及び閾値Ｎａを取得する。
このとき、例えば、サーバ３２のキュー３６の閾値ＮａがＡｃｔｉｖｅであり、サーバ３１のキュー３５の閾値Ｎｂ、サーバ３３のキュー３７の閾値Ｎｂ、及びサーバ３４のキュー３８の閾値ＮｂがＢｕｓｙであったとする。
なお、サーバ３１〜３４の使用状況の確認は予め負荷分散処理装置２１からの問い合わせやサーバ３１〜３４からの自己申告により負荷分散処理装置２１上に状況を保持しておき、それを確認するという方法であってもよい。
【００４３】
この場合には、サーバ３２の計算機環境４１の使用状態が空いており、サーバ３１、サーバ３３、及びサーバ３４の計算機環境４１の使用状態が混雑している。
そのため、優先度管理装置５１は、サーバ３２に優先度付きデータの処理の割り当てを指示する。
【００４４】
また、優先度管理装置５１は、サーバ３２に優先度付きデータの処理の割り当てを実行するときに、サーバ３２に割り当てられているスレッド数の使用可能な範囲でスレッド数を増加させる。例えば、優先度管理装置５１は、サーバ３２に割り当てられた使用可能な範囲のスレッド数が１３０であり、現在使用中のスレッド数が３０のとき、残りのスレッド数１００のうち、５０のスレッドに処理を割り当てさせるようにする。
このようにして、優先度管理装置５１は、スレッド数の使用量を増加させる。
【００４５】
また、優先度管理装置５１は、サーバ３２に優先度付きデータの処理の割り当てを実行した後、まだサーバ３２の計算機環境４１の使用状態が空いていたとしても、サーバ３２へのさらなる処理の要求は必要最小限にとどめることとしてもよい。例えば、サーバ当たりの転送数を１に絞るようにすれば、多重実行できない業務であったとしても、応答品質を均等化できるようになる。
【００４６】
また、優先度管理装置５１は、サーバ３１〜３４のうち、計算機環境４１の使用状態がＡｃｔｉｖｅになったものが早期に発生した場合、キュー６１の中から優先度が高いものから優先度付きデータを順に取り出し、Ａｃｔｉｖｅになってサーバへ転送する。
【００４７】
＜効果の説明＞
上記で説明したように、負荷分散を行う前に、優先度制御を行うことにより、従来技術で発生していたシステムとしての処理の優先度の逆転の発生を防ぐことができる。
すなわち、優先度に基づいてサーバにデータを割り当て、割り当てられたサーバの計算機環境に設けられたスレッド数の使用量を増加させることにより、ネットワーク上で提供する機能を安定的に稼働させることができる。
換言すれば、システムとしてのＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）の品質を向上させることができる。
【００４８】
＜利用形態の説明＞
なお、上記の構成を、ＨＴＴＰリクエストに適用すれば、ＶＩＰ利用者の優先処理やＤＢ（ｄａｔａｂａｓｅ）の更新処理をシステム全体として優先的に処理させることが可能となる。
また、上記の構成を、ＳＩＰリクエストに適用すれば、緊急連絡先を優先して接続させることができる。
【００４９】
以上のように、本実施の形態１では、ネットワーク上に設けられる複数のサーバ３１〜３４と、処理の優先順位を示す優先度が付加された優先度付きデータが、外部から供給されたとき、優先度に基づいて、複数のサーバ３１〜３４の中から、優先度付きデータの処理を割り当てるサーバを決定する負荷分散処理装置２１とを備え、負荷分散処理装置２１は、優先度付きデータが供給されたとき、優先度付きデータを一時的に格納する記憶装置５２と、記憶装置５２に格納されている優先度付きデータを優先度に基づいて管理し、複数のサーバ３１〜３４に優先度付きデータの処理を割り当てる優先度管理装置５１と、を有し、記憶装置５２は、記憶領域を形成するデータ構造として、キュー６１を形成しており、キュー６１は、供給された順に優先度付きデータを格納し、格納した優先度付きデータのうち、優先度の優先順位の最も高い優先度付きデータから取り出させ、優先度管理装置５１は、優先度付きデータの取り出し要求をするまで、記憶装置５２に、優先度付きデータを順番に格納させ、取り出し要求をしたとき、複数のサーバ３１〜３４の中から、優先度付きデータの処理を割り当てるサーバを決定し、決定したサーバにキュー６１から取り出した優先度付きデータを供給すると共に、決定したサーバに対し、当該決定したサーバの計算機環境に設けられたスレッド数の使用量を増加させることにより、ネットワーク上で提供する機能を安定的に稼働させることができる。
【００５０】
実施の形態２．
実施の形態１との相違点は記憶装置５２に複数のキュー６１、６２が実装され、キュー６１、６２の設定内容が格納された環境設定ファイル６３がある点である。
なお、本実施の形態２において、特に記述しない項目については実施の形態１と同様とし、同一の機能や構成については同一の符号を用いて述べることとする。
また、実施の形態１と同一の機能、構成、及び動作については、その説明を省略する。
【００５１】
＜構成の説明＞
図３は、本発明の実施の形態２における通信システム１１の概略構成を示す図である。
図３に示すように、優先度管理装置５１は、記憶装置５２に、キュー６１及びキュー６２を備えている。
なお、ここでは、２つのキュー６１、６２が実装される一例について説明するが、キューの実装数はこれに限定されるものではない。
また、キュー６１の中に、さらに複数のキューがある入れ子構造であってもよい。
また、キュー６２の中に、さらに複数のキューがある入れ子構造であってもよい。
【００５２】
優先度管理装置５１は、記憶装置５２に、環境設定ファイル６３を備えている。
環境設定ファイル６３は、いわゆるｃｏｎｆｉｇデータのことであり、通信システム１１の管理者や通信システム１１のユーザ等が設定したさまざまな情報が格納されている。
【００５３】
例えば、キュー６１及びキュー６２には、それぞれ異なる割合で、サーバに処理を割り当てる配分が設定されており、そのような設定内容が環境設定ファイル６３に格納される。
具体的には、キュー６１及びキュー６２には、サーバ３１〜３４に優先度付きデータを割り当てる配分が、優先度付きデータの処理を実行させる実行比率として、予め設定され、設定内容は環境設定ファイル６３に格納される。
例えば、キュー６１：キュー６２が、３：１として設定された場合、サーバ３１〜３４には、キュー６１に格納された処理とキュー６２に格納された処理との実行比率が、３：１となる。すなわち、この場合、キュー６１の内容が優先的に割り当てられるようになる。
よって、実行比率を決めることにより、サーバ３１〜３４への処理の割り当て度合いを制御できるようになる。
【００５４】
すなわち、優先度管理装置５１は、スレッドの使用状況と、実行比率とに基づいて、優先度付きデータの処理を、サーバ３１〜３４へ割り当てる。
具体的には、キュー６１に格納される処理内容が、緊急性を要する決済処理であり、キュー６２に格納される処理内容が、緊急性を要しない月末処理であるとする。
この場合には、キュー６１とキュー６２との実行比率が、例えば、９：１と設定されることにより、両方の処理が安定的に実行されることになる。
より具体的には、優先度管理装置５１は、キュー６１に格納された処理をキュー６２に格納された処理よりも優先的にサーバ３１〜３４に割り当て、さらに、キュー６１そのものの中で優先度の高い処理を優先的にサーバ３１〜３４に割り当てる。
同時に、優先度管理装置５１は、キュー６２に格納された処理に対しても、一定の割合でサーバ３１〜３４に処理を割り当てるようにしている。
これにより、サーバ３１〜３４は、決済処理も、月末処理も両方滞ることなく処理できるようになる。
つまり、優先度管理装置５１が、複数のキューを管理することにより、要求の属性に応じて処理量を制御することができるようになる。
【００５５】
＜動作の説明＞
図４は、本発明の実施の形態２における通信システム１１の動作を示すシーケンスである。
優先度管理装置５１は、記憶装置５２に対し、優先度付きデータの取り出し要求をし、環境設定ファイルの情報も要求する。
なお、図２を用いて説明した実施の形態１における通信システム１１と同様に、サーバ３１〜３４の使用状況の確認は予め負荷分散処理装置２１からの問い合わせやサーバ３１〜３４からの自己申告により負荷分散処理装置２１上に状況を保持しておき、それを確認するという方法であってもよい。
【００５６】
次に、優先度管理装置５１は、環境設定ファイルからキュー６１とキュー６２の実行比率を取得する。このとき、キュー６１とキュー６２との実行比率は、２：１と想定する。
その後、優先度管理装置５１は、サーバ３２がＡｃｔｉｖｅであると判断し、キュー６１の優先度付きデータをサーバ３２に送信する。
また、その後、優先度管理装置５１は、早期にＡｃｔｉｖｅとなったサーバに対し、キュー６１とキュー６２との実行比率は維持した状態で、処理を割り当てていく。
【００５７】
＜効果の説明＞
上記で説明したように、負荷分散を行う前に、優先度制御を行うことにより、従来技術で発生していたシステムとしての処理の優先度の逆転の発生を防ぐことができる。
すなわち、ネットワーク上で提供する機能を安定的に稼働させることができる。
また、負荷分散処理装置２１に複数のキューを設けることにより、要求の属性に応じた処理量の制御が可能となる。
換言すれば、システムとしてのＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）の品質を向上させることができる。
【００５８】
＜利用形態の説明＞
上記の構成により、複数の業務を混在させ、特定の業務の繁忙期には全ての業務サーバを割り当てつつ、必要に応じてその他の業務も影響を受けることなく実行することが可能となる。
【００５９】
以上のように、本実施の形態２では、記憶装置５２は、キューを複数設け、当該キューには、優先度付きデータをサーバ３１〜３４に割り当てる配分が、優先度付きデータの処理を実行させる実行比率として、予め設定されており、優先度管理装置５１は、サーバ３１〜３４の計算機環境４１を利用する処理の分割単位であり、計算機環境４１に設けられた複数のスレッドに、当該複数のスレッドの使用状況と、実行比率とに基づいて、優先度付きデータの処理を割り当てることにより、ネットワーク上で提供する機能を安定的に稼働させることができる。
【符号の説明】
【００６０】
１  ネットワーク、３  クライアント、１１  通信システム、２１  負荷分散処理装置、３１、３２、３３、３４  サーバ、４１  計算機環境、５１  優先度管理装置、５２  記憶装置、３５、３６、３７、３８、３９、６１、６２  キュー、６３  環境設定ファイル、７１  スレッド、１０１  負荷分散時の状態、１０２  負荷分散後の状態、２０１  従来の負荷分散処理装置、３０１、３０２、３０３  サーバ、３１１、３１２、３１３  キュー、３５１  高優先度の要求された処理、３５２  低優先度の要求された処理。
【図１】
2013206041.tif 000003
【図２】
2013206041.tif 000004
【図３】
2013206041.tif 000005
【図４】
2013206041.tif 000006
【図５】
2013206041.tif 000007