JP4726846B2 - 通信サーバシステムにおける収容制御方法および通信サーバシステム - Google Patents

通信サーバシステムにおける収容制御方法および通信サーバシステム Download PDF

Info

Publication number
JP4726846B2
JP4726846B2 JP2007094064A JP2007094064A JP4726846B2 JP 4726846 B2 JP4726846 B2 JP 4726846B2 JP 2007094064 A JP2007094064 A JP 2007094064A JP 2007094064 A JP2007094064 A JP 2007094064A JP 4726846 B2 JP4726846 B2 JP 4726846B2
Authority
JP
Japan
Prior art keywords
communication
server
accommodation
communication terminal
servers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007094064A
Other languages
English (en)
Other versions
JP2008250862A (ja
Inventor
勝彦 山科
浩一 立石
英夫 白井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007094064A priority Critical patent/JP4726846B2/ja
Publication of JP2008250862A publication Critical patent/JP2008250862A/ja
Application granted granted Critical
Publication of JP4726846B2 publication Critical patent/JP4726846B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Description

本発明は、複数の通信端末間の通信を管理する通信サーバシステムおよび通信管理のための収容制御方法に関する。
インターネットを介してコンピュータや携帯電話といった通信端末のユーザ同士が短いメッセージを素早くやり取りすることのできるインスタントメッセージサービスが広く利用されている。このサービスでは、ログインしたユーザAは、予め登録しておいた他のユーザB,C,D,…が通信可能な状態であるか否かを画面に表示されるリストによって知ることができる。また、ユーザAがログインしたことや例えばユーザKと通信を始めたり終えたりしたことを他のユーザB,C,…が知ることもできる。つまり、ユーザの操作する通信端末の状態変化が逐次に所定の他のユーザに通知される。
多数のユーザが利用するインスタントメッセージサービスでは、相応の処理能力を確保するために複数のサーバがネットワーク上に設置される。一般に、各ユーザに対して1つのサーバが固定的に割り当てられ、各ユーザの通信端末を収容するサーバが決められている。すなわち、サーバからみた負荷である多数の通信端末を複数のサーバが分担して収容するが、収容の振分けは固定である。この場合、各サーバはユーザ割り当て数に応じた十分な処理能力をもつ必要がある。
複数のサーバにおける収容の分担を動的に変更する手法は知られている。特許文献1には、SIP(Session Initiation Protocol)によって呼制御が行われるIP電話システムにおいて、SIP端末からのセッションを低負荷のSIPサーバに転送する負荷分散装置を設け、それによって呼損率を低減することが開示されている。この負荷分散装置は、SIPサーバの負荷率としてCPU使用率を検出する。
特開2007−4361号公報
従来の負荷分散装置(ロードバランサ)によるサーバに対する通信端末の動的な振分けは、振り分ける時点におけるサーバの負荷状態に応じて行い、かつ複数の通信端末を一律に一定の負荷として扱うものであった。これには、頻繁に状態が変化したり大きな負荷となる処理を要求したりする通信端末が1つのサーバに集中し、そのために当該サーバの負荷が処理能力を超えてしまうおそれがあるという問題があった。
本発明は、このような事情に鑑み、複数のサーバの一部のみが過負荷状態になるのを防ぎ、サーバシステムの信頼性を高めることを目的としている。
上記目的を達成する収容制御方法は、複数の通信端末を分担して収容する複数のサーバを備えた通信サーバシステムにおいて、前記複数のサーバのそれぞれの処理能力情報および前記複数の通信端末のそれぞれの通信実績情報を取得し、収容を要求した通信端末の通信実績情報に基づいて当該通信端末に関わる処理量の予測値として単位時間あたりの処理数を算出し、前記処理能力情報が示す各サーバの最大処理数と各サーバが既に収容している通信端末に対して算出した予測値の合計との差が、収容しようとする通信端末に対して算出した予測値よりも大きいサーバの中から収容要求をした通信端末を収容するサーバを選択する
通信端末は予測値に応じた大きさの負荷として扱われる。そして、各サーバにはこのような負荷の合計が処理能力を超えないように収容すべき通信端末が振り分けられる。すなわち、通信端末を一律に一定の負荷として扱うのと違って、通信端末の収容後の動作に依存する負荷変動を見込んだ振分けが行なわれる。
予測値の算出は、通信端末からの収容要求に呼応して行なってもよいし、収容要求の以前に予め行なって結果をメモリに記憶させておいてもよい。予測値の算出に用いる通信実績情報は、通信サーバシステムが提供する通信サービスに応じた情報である。例えば、インスタントメッセージサービスであれば、1時間や1日といった単位時間あたりの平均メッセージ送受信回数が、IP電話サービスであれば、同様の単位時間あたりの平均通話数が、ファイル転送サービスであれば、平均ファイルデータ量が通信実績情報の例となる。各通信端末(サービスのユーザ)ごとの所定の期間にわたる実績の収集と集計により、通信実績情報が得られる。ユーザのサービス利用パターン(時間帯、曜日、季節など)を分析して通信実績情報の有用性を高めることもできる。
上記目的を達成する通信サーバシステムは、複数の通信端末を分担して収容する複数のサーバと、通信端末からの収容要求に応答して当該通信端末を収容するサーバを選択する収容振分け部と、前記複数のサーバのそれぞれの処理能力情報および前記複数の通信端末のそれぞれの通信実績情報を記憶する情報管理部とを備えている。当該通信サーバシステムにおける前記収容振分け部は、収容を要求した通信端末の通信実績情報に基づいて当該通信端末に関わる処理量の予測値として単位時間あたりの処理数を算出し、前記処理能力情報が示す各サーバの最大処理数と各サーバが既に収容している通信端末に対して算出した予測値の合計との差が、収容しようとする通信端末に対して算出した予測値よりも大きいサーバの中から収容要求をした通信端末を収容するサーバを選択する。
好ましい態様において、通信サーバシステムに備わる複数のサーバは、それぞれが収容する通信端末の状態変化に呼応して予め定められた処理を実行する。状態変化に呼応する処理は負荷の大きさに関係するので、予測値に応じて通信端末の収容を振り分けるのがより有効である。
本発明によれば、複数のサーバの一部のみが過負荷状態になるのを防ぎ、サーバシステムの信頼性を高めることができる。
図1は本発明の実施形態に係る通信サーバシステムの構成を示す。
図示の通信サーバシステム1は、ネットワーク3を用いたインスタントメッセージサービスを提供する。ネットワーク3にはメッセージを交換する多数の通信端末31,32,33,34,35,36が接続されている。通信端末31〜36は、パーソナルコンピュータ、携帯電話、PDA(Personal Digital Assistant)などのインスタントメッセージを実行する機能をもった機器である。ここでいう接続は、有線または無線の回線が確保されること、および通信端末31〜36からの発呼により回線が確保され得ることを含む。図では6台の通信端末31〜36が描かれているが、実際には数百〜数万またはそれ以上の通信端末の接続が想定される。
通信サーバシステム1は、複数の収容サーバ11,12,13,14,15と、収容振分け部である振分け装置21と、情報管理部であるデータサーバ22とを備える。図では5台の収容サーバ11〜15が描かれているが、サーバ数は2以上であればよい。実際には通信端末数(サービス加入者数)とサーバ性能に依存するが、数台から数十台程度が想定される。
収容サーバ11〜15は通信端末31〜36を分担して収容する。収容とは、通信端末31〜36に関わる呼制御や通知などの処理を受け持つことを意味する。収容サーバ11〜15は共通の制御プログラムを実行するが、必ずしもこれら収容サーバ11〜15の間で処理速度が共通である必要はなく、例えばCPUクロック周波数の異なるコンピュータを併用してもよい。
振分け装置21は、通信端末31〜36のいずれかからの収容要求に応答して当該通信端末を収容する1台のサーバとして収容サーバ11〜15のいずれかを選択する。ただし、収容サーバ11〜15のどれもが新たに収容できない高負荷状態であれば、収容を拒否する。収容サーバ11〜15の選択に際して、振分け装置21は収容を要求した通信端末に関わる処理量の予測値を算出し、収容サーバ11〜15の処理の余力と予測値とを比較する。詳細は後述する。
データサーバ22は、収容サーバ11〜15と振分け装置21とに適時に所定の情報を提供する。データサーバ22が管理するデータベース22Bは、ウォッチャーリストと呼ばれる状態通知リストT1、通信端末31〜36の通信実績情報を含むユーザ管理テーブルTDU、および収容サーバ11〜15の処理能力情報であるサーバ管理テーブルTDSを有する。
通信サーバシステム1における通信端末31〜36の収容は次の手順で行われる。
[1]例えば通信端末33が通信サーバシステム1に収容要求に相当するログイン手続を実行すると、振分け装置21が要求を受け付ける。[2]振分け装置21は、データサーバ22から通信端末33に関わるユーザ管理情報DUと、各収容サーバ11〜15の処理能力を示すサーバ管理情報DSとを取得する。[3]さらに、振分け装置21は、通信端末33に関わる処理量の予測値を算出し、予測値の処理が可能な1台の収容サーバ(図示では収容サーバ12)を選択する。[4]選択された収容サーバ12に対して、データサーバ22が通信端末33に関わる状態通知リストT1をダウンロードする。[5]収容サーバ12は、通信端末33を収容し、状態通知リストT1に登録された通知先の通信端末に通信端末33がログインしたことを通知する。その後、通信端末33が他の通信端末との通信を要求すると、収容サーバ12は通信端末間の直接のメッセージ交換を可能にする呼制御を行うとともに、状態通知リストT1に登録された通知先の通信端末に通信端末33の状態変化を通知する。このような通知は通信端末33の状態変化が起こるごとに行われる。
図2はユーザ管理テーブルTDUの構成を示す。
ユーザ管理テーブルTDUでは、各ユーザ(通信端末)に、状態通知リストT1に登録された“状態通知先の数”と、通信実績情報としての“変化頻度”とが対応付けられている。通知先の数が多いほど、通信端末の状態変化ごとに収容サーバが行う通知処理の負担が大きい。変化頻度は過去の通信記録から算定された1時間あたりの状態変化の回数である。変化頻度が大きいほど収容サーバは通知処理を頻繁に行わなければならない。つまり、状態通知先の数と変化頻度の両方が大きいユーザは収容サーバからみて最も大きな負荷である。収容サーバからみた負荷の大きさは状態通知先の数と変化頻度とに依存する。本実施形態では、状態通知先の数と変化頻度との積が予測値として算出される。
図3はサーバ管理テーブルTDSの構成を示す。
サーバ管理テーブルTDSでは、各サーバに、許容時間内に処理の可能な処理量(処理容量)を示す“最大処理値”と、主に処理速度の基準に設定された“性能重み値”とが対応付けられている。基本的には最大処理値が大きいほど、より多くの通信端末を収容することができる。本例では、性能重み値は、最も性能の高い収容サーバを1とする相対値である。
図4は振分け装置21の動作を示すフローチャートである。振分け装置21は、ログイン要求に応答して、要求した通信端末のユーザ管理情報DUをデータサーバ22から取得する(#10、#11)。ユーザ管理情報DUは図2のように状態通知先の数と変化頻度とで構成される。ユーザ管理情報DUに基づいて、状態通知先の数と変化頻度の積である単位時間あたりの処理数を予測値として計算する(#12)。次に、振分け装置21は稼動中の収容サーバ11〜15のサーバ管理情報DSをデータサーバ22から取得する(#13)。サーバ管理情報DSは最大処理値と性能重み値とで構成される。振分け装置21は自己が記憶する各収容サーバ11〜15の現状処理値とサーバ管理情報DSとに基づいて追加可能処理値を計算する(#14)。現状処理値は現時点の振り分け済み処理量(既に収容された通信端末の予測値の合計)である。追加可能処理値は、最大処理値から現状処理値を減算した差に性能重み値を乗じた積である。追加可能処理値が予測値よりも大きければ、その収容サーバに負荷を追加することができる。振分け装置21は、追加可能な収容サーバの中からログイン要求をした通信端末を収容する1台の収容サーバを選択する(#15、#16)。追加可能処理値が予測値よりも大きい収容サーバが無ければ、ログイン不可を通信端末に通知する(#15、#17)。
複数の収容サーバが追加可能である場合の選択の仕方は任意である。例えば、収容サーバ11〜15に均等に負荷を配分する形態、配列順に1個が追加不可になるまで詰め込んで、追加不可になったら次に詰める形態(この場合、順序を定期的に変えるローテーションの適用が望ましい)、緊急時以外は一部の収容サーバを選択対象外とし、残りの収容サーバに均等にまたは順に詰め込むように配分する形態がある。
図5は予測値の計算例を示す。
図5(A)において、ユーザAの状態通知先の数は10で、変化頻度は60である。したがって、予測値は600(=10×60)である。図5(B)においてユーザBの状態通知先の数は200で、変化頻度は5である。したがって、予測値は1000である。
図6は各収容サーバの追加可能処理値の計算例を示す。代表として3台のサーバA,B,Cについての例が示されている。
サーバAの最大処理値は5000で、現状処理値は4100で、性能重み値は1である。したがって、追加可能処理値は900(=(5000−4100)×1)である。サーバBの最大処理値は5000で、現状処理値は1000で、性能重み値は1である。したがって、追加可能処理値は4000である。サーバCの最大処理値は3000で、現状処理値は2000で、性能重み値は0.56である。したがって、追加可能処理値は560である。
図7は収容サーバに対するユーザの振分けの例を示す。図中の数値は図5および図6の例に対応する。
図7(A)において、予測値が600の通信端末を収容することが可能なサーバは収容サーバ11(サーバA)または収容サーバ12(サーバB)である。収容サーバ11が収容するとサーバの負荷状態は図7(B)のようになり、収容サーバ12が収容すると図7()のようになる。
図7(D)において、予測値が1000の通信端末を収容することが可能なサーバは収容サーバ121(サーバB)のみである。収容サーバ12が収容するとサーバの負荷状態は図7(E)のようになる。
以上の実施形態では、インスタントメッセージサービスを提供するシステムを例に挙げたが、SIPサーバシステムや他のシステムにも本発明を適用することができる。SIPサーバシステムでは、所定期間の通信実績情報に基づいて、例えば単位時間あたりの平均通話回数を予測値として適時に算出すればよい。また、IMサービスとSIPサービスの両方を提供するシステムに適用する場合は、各サービスに対して重み付けを行い、ログイン時にユーザが指定するサービスに応じて予測値の算出式を変更することができる。この場合、ある収容サーバにおいて、SIPサービスならば収容可能だがIMサービスでは収容不可であったり、またはその逆であったりする状況が起こり得る。
通信端末31〜36は自動的に状態変化を通知する機器でもよい。例えば、複数の部屋を有した建物の各部屋に設置される入退室センサを通信端末とし、複数の人に部屋の利用状況を逐次に通知するシステムに本発明を適用することができる。
以上の実施形態において、収容サーバ11〜15の数を含めて通信サーバシステム1のの構成は例示に限定されず、本発明に沿う範囲内で適宜変更が可能である。例えば、振分け装置21とデータサーバ22とを1台のコンピュータに集約してもよいし、2台のコンピュータで構成してもよい。収容サーバ11〜15を個別の筐体に収めてもよいし、ラックマウントなどに一括に収めてもよい。収容サーバ11〜15を複数個所に分散配置してもよい。さらに、予測値と追加可能処理値との比較の結果と、CPU使用率などの現時点の負荷の測定結果とを総合して収容サーバを選択してもよい。
本発明の実施形態に係る通信サーバシステムの構成を示す図である。 ユーザ管理テーブルの構成を示す図である。 サーバ管理テーブルの構成を示す図である。 振分け装置の動作を示すフローチャートである。 予測値の計算例を示す図である。 各収容サーバの追加可能処理値の計算例を示す図である。 収容サーバに対するユーザの振分けの例を示す図である。
符号の説明
1 通信サーバシステム
11,12,13,14,15 収容サーバ
31,32,33,34,35,36 通信端末
22B データベース(メモリ)
21 振分け装置(収容振分け部)
22 データサーバ(情報管理部)

Claims (3)

  1. 複数の通信端末を分担して収容する複数のサーバを備えた通信サーバシステムにおける収容制御方法であって、
    前記複数のサーバのそれぞれの処理能力情報および前記複数の通信端末のそれぞれの通信実績情報を取得し、
    収容を要求した通信端末の通信実績情報に基づいて当該通信端末に関わる処理量の予測値として単位時間あたりの処理数を算出し、前記処理能力情報が示す各サーバの最大処理数と各サーバが既に収容している通信端末に対して算出した予測値の合計との差が、収容しようとする通信端末に対して算出した予測値よりも大きいサーバの中から収容要求をした通信端末を収容するサーバを選択する
    ことを特徴とする通信サーバシステムにおける収容制御方法。
  2. 複数の通信端末を分担して収容する複数のサーバを備えた通信サーバシステムであって、
    通信端末からの収容要求に応答して当該通信端末を収容するサーバを選択する収容振分け部と
    前記複数のサーバのそれぞれの処理能力情報および前記複数の通信端末のそれぞれの通信実績情報を記憶する情報管理部とを備えており、
    前記収容振分け部は、収容を要求した通信端末の通信実績情報に基づいて当該通信端末に関わる処理量の予測値として単位時間あたりの処理数を算出し、前記処理能力情報が示す各サーバの最大処理数と各サーバが既に収容している通信端末に対して算出した予測値の合計との差が、収容しようとする通信端末に対して算出した予測値よりも大きいサーバの中から収容要求をした通信端末を収容するサーバを選択する
    ことを特徴とする通信サーバシステム。
  3. 前記複数のサーバは、それぞれが収容する通信端末の状態変化に呼応して予め定められた処理を実行する
    請求項2に記載の通信サーバシステム。
JP2007094064A 2007-03-30 2007-03-30 通信サーバシステムにおける収容制御方法および通信サーバシステム Expired - Fee Related JP4726846B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007094064A JP4726846B2 (ja) 2007-03-30 2007-03-30 通信サーバシステムにおける収容制御方法および通信サーバシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007094064A JP4726846B2 (ja) 2007-03-30 2007-03-30 通信サーバシステムにおける収容制御方法および通信サーバシステム

Publications (2)

Publication Number Publication Date
JP2008250862A JP2008250862A (ja) 2008-10-16
JP4726846B2 true JP4726846B2 (ja) 2011-07-20

Family

ID=39975692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007094064A Expired - Fee Related JP4726846B2 (ja) 2007-03-30 2007-03-30 通信サーバシステムにおける収容制御方法および通信サーバシステム

Country Status (1)

Country Link
JP (1) JP4726846B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6015381B2 (ja) * 2012-11-26 2016-10-26 日本電気株式会社 通信システム
JP6287307B2 (ja) * 2014-02-17 2018-03-07 富士通株式会社 メッセージ処理方法、情報処理装置及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002091936A (ja) * 2000-09-11 2002-03-29 Hitachi Ltd 負荷分散装置及び負荷見積もり方法
JP2003296289A (ja) * 2002-04-02 2003-10-17 Nec Corp 負荷分散方式、負荷分散システム、負荷分散方法および負荷分散用プログラム
JP2004005249A (ja) * 2002-05-31 2004-01-08 Fujitsu Ltd 負荷分散型マルチプロセッサに対する信号振分装置
JP2007060210A (ja) * 2005-08-24 2007-03-08 Nec Corp 負荷分散装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002091936A (ja) * 2000-09-11 2002-03-29 Hitachi Ltd 負荷分散装置及び負荷見積もり方法
JP2003296289A (ja) * 2002-04-02 2003-10-17 Nec Corp 負荷分散方式、負荷分散システム、負荷分散方法および負荷分散用プログラム
JP2004005249A (ja) * 2002-05-31 2004-01-08 Fujitsu Ltd 負荷分散型マルチプロセッサに対する信号振分装置
JP2007060210A (ja) * 2005-08-24 2007-03-08 Nec Corp 負荷分散装置

Also Published As

Publication number Publication date
JP2008250862A (ja) 2008-10-16

Similar Documents

Publication Publication Date Title
US10028098B2 (en) Categorized location identification based on historical locations of a user device
US9015227B2 (en) Distributed data processing system
JP5671484B2 (ja) マルチテナント電話ネットワークのための方法およびシステム
Abdelzaher et al. Performance guarantees for web server end-systems: A control-theoretical approach
JP5632074B2 (ja) データロードバランシングのためのデバイスおよび方法
US7761876B2 (en) Method and system for balancing the load on media processors based upon CPU utilization information
JP4984169B2 (ja) 負荷分散プログラム、負荷分散方法、負荷分散装置およびそれを含むシステム
CN101156407B (zh) 通过通信网络提供内容的方法
CN108965884B (zh) 一种转码任务的分配方法及调度设备、转码设备
CN106790636A (zh) 一种云计算服务器集群的均衡负载系统及方法
EP1891781A1 (en) Communications device and method
CN112866394B (zh) 一种负载均衡方法、装置、系统、计算机设备和存储介质
WO2007076542A2 (en) Methods and apparatuses for managing resources within a collaboration system
CN111447272A (zh) 负载均衡方法及装置
JP4726846B2 (ja) 通信サーバシステムにおける収容制御方法および通信サーバシステム
Petrovska et al. Features of the distribution of computing resources in cloud systems
US9501321B1 (en) Weighted service requests throttling
CN110995802A (zh) 任务的处理方法和装置、存储介质及电子装置
JP2005182702A (ja) Ipネットワークにおけるアクセス制御方式
CN115002117B (zh) 内容分发网络动态调度方法、系统、设备及存储介质
EP3675461B1 (en) Electronic communication node load balancing system and method
US20080009284A1 (en) Load balancing based on free space of visitor location register
JP2014229970A (ja) トラヒック制御装置、トラヒック制御方法、及びトラヒック制御プログラム
CN111092890A (zh) 一种监控点播信息负载分担方法、装置、电子设备及介质
CN117640721A (zh) 一种集群通信管理方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110314

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110412

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110412

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees