サーバ負荷分散システム及び方法
【課題】 複数のサーバの負荷を分散させながら処理を継続する。
【解決手段】 本発明は、セッション制御サーバの負荷を分散させるために、サーバ選択装置において、クライアントの端末から登録要求を取得すると、記憶装置にアクセスすることによりサーバ情報リストを取得し、サーバ情報リスト記憶手段に格納し、所定の基準に基づいてクライアントを登録するセッション制御サーバを選択し、選択されたセッション制御サーバに登録要求を送信し、セッション制御サーバから登録を拒否された場合、または、タイムアウトとなった場合には、サーバ情報リスト記憶手段から別のサーバを選択して、該別のセッション制御サーバに対して登録要求を送信する。
【解決手段】 本発明は、セッション制御サーバの負荷を分散させるために、サーバ選択装置において、クライアントの端末から登録要求を取得すると、記憶装置にアクセスすることによりサーバ情報リストを取得し、サーバ情報リスト記憶手段に格納し、所定の基準に基づいてクライアントを登録するセッション制御サーバを選択し、選択されたセッション制御サーバに登録要求を送信し、セッション制御サーバから登録を拒否された場合、または、タイムアウトとなった場合には、サーバ情報リスト記憶手段から別のサーバを選択して、該別のセッション制御サーバに対して登録要求を送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバ負荷分散システム及び方法に係り、特に、IMS(IP (Internet Protocol) Multimedia Subsystem)(3GPP TS 23.228 v10.1.0 "IP Multimedia subsystem," June. 2010)において、クライアントを登録するサーバを選択するためのサーバ負荷分散システム及び方法に関する。
【0002】
詳しくは、サーバ選択機能及びサーバ情報DBを用いて複数のサーバの負荷を分散することを目的に、サーバ選択機能がサーバの状況(能力情報のほか、負荷情報やメンテナンス予定、減設など)を保持する方法、および、サーバが一定の基準 (例えば負荷状況・障害・メンテナンス予定・減設予定など)によりクライアントの登録要求を拒否した場合、もしくはサーバが応答せずタイムアウトになった場合にサーバ選択機能が代替サーバを再選択し、処理を継続するサーバ負荷分散システム及び方法に関する。
【背景技術】
【0003】
従来のサーバ負荷を分散させるための方法として以下のような方法がある。
【0004】
(ア)サーバ選択機能によるサーバ選択方式(例えば、非特許文献1参照):
図1に従来のサーバ選択機能によるサーバ選択方式の機能図を示す。また、端末登録の際のシーケンスを図2に示す。また、下記記載の、能力情報を含むサーバのリストの例を図3に示す。図1に示すIMSアーキテクチャは、クライアント(UE)100、プロキシサーバ(P-CSCF)200、サーバ選択機能(I-CSCF)300、サーバ (S-CSCF)400、サーバ情報DB(HSS)500から構成される。
【0005】
クライアント100がサーバに対して登録を行う場合、クライアント(UE)からの登録要求をプロキシサーバ(P-CSCF)200及びサーバ選択機能(I-CSCF)300が受け付ける(ステップ11,12)。サーバ選択機能300はサーバ情報DB(HSS)500に対して、図3に示すような能力情報を含むサーバのリスト(例えばサーバのURI、IPアドレスの他、サーバのサービス種別、サーバの処理速度、課金管理能力の有無など)を要求し(ステップ13)、取得する(ステップ14)。サーバ選択機能(I-CSCF) 300は、この能力情報と、サービスに必要な能力を比較し、クライアント(UE)にとって適切なサーバを選択し、登録要求を送信する(ステップ15)。
【0006】
この時、過負荷等が原因で選択したサーバが応答しなかった場合、サーバ選択機能(I-CSCF) 300は別のサーバを選択する方法を持たないため登録が完了せず、登録が失敗する。
【0007】
(イ)LDF(Load Detection Function:負荷情報収集・通知機能)を用いた過負荷サーバによるリダイレクト先選択方式(例えば、非特許文献2参照):
図4にLDFを用いた過負荷サーバによるリダイレクト選択方式の機能図を示す。また、端末登録の際のシーケンスを図5に示す。
【0008】
図4における負荷情報収集機能(LDF)600は、各サーバ400から、各サーバ400の負荷情報の通知を定期的に受け、負荷情報を記憶手段に蓄積し、複数のサーバ400に通知し保持させる。各サーバ400は自らだけでなく、他のサーバ400の負荷情報も共有している。
【0009】
クライアント100がサーバに対して登録を行う場合、クライアント100からの登録要求をプロキシサーバ(P-CSCF)200及びサーバ選択機能(I-CSCF) 300が受け付ける(ステップ41,42)。サーバ選択機能(I-CSCF)300はサーバ情報DB500に対して、能力情報を含むサーバのリストを要求し(ステップ43)、取得する(ステップ44)。サーバ選択機能(I-CSCF)300は、この能力情報を用いてクライアント100にとって適切なサーバを選択し、登録要求を送信する(ステップ45)。登録要求を受信したサーバ(例えば、S-CSCF4001)が過負荷であった場合には、サーバS-CSCF4001は、共有している負荷情報をもとに、低負荷なサーバ(例えば、S-CSCF4002)へのリダイレクトをサーバ選択機能300に通知する(ステップ46)。これを受けて、サーバ選択機能(I-CSCF)300は代替サーバ(S-CSCF4002)に再度登録要求を送信する(ステップ47)。
【先行技術文献】
【非特許文献】
【0010】
【非特許文献1】3GPP TS 24.229 v10.0.0 "IP multimedia call control protocol based on Session Initiation Protocol (SIP) and Session Description Protocol (SDP); Stage 3," June. 2010.
【非特許文献2】[3]3GPP TR 23.812 v1.1.0 "Feasibility Study on IMS Evolution," June.2010
【発明の概要】
【発明が解決しようとする課題】
【0011】
従来技術(イ)の LDFのような追加機能を用いる場合、追加機能実現のための設備が必要となり、コストの増加につながる。このため、追加機能無しに、過負荷状態のサーバ(S-CSCF)にはそれ以上登録を行わず、低負荷な状態のサーバ(S-CSCF)に登録を行うことが求められる。また、登録先サーバ(S-CSCF)をサーバ選択機能(I-CSCF)が選ぶ際には、サーバ(S-CSCF)の能力情報を反映することが求められる。
【0012】
従来技術(ア)では、一度I-CSCFが選択しメッセージを送信したS-CSCFがメッセージを拒否した場合、もしくはタイムアウトとなった場合、I-CSCFが別のS-CSCFを選択する方法がない。このため、一部のS-CSCFに負荷が偏っている状態で、他のS-CSCFが利用可能な状態でも、そのS-CSCFを使用することができない。
【0013】
従来技術(イ)では、一度I-CSCFが選択しメッセージを送信したS-CSCFがメッセージを拒否した場合、もしくはタイムアウトとなった場合、負荷情報をもとにS-CSCFが代替S-CSCFを指定するという方法であるが、この方法では負荷情報収集・通知機能(LDF)が必要である。また、代替S-CSCF指定の際、S-CSCFの能力情報を選択基準に使う方法が規定されていないため、S-CSCF の能力情報を代替S-CSCF選択基準に使わない場合は、I-CSCFがS-CSCFに指定された代替S-CSCFを用いた場合にUEが求める能力に合致せず処理が行えない可能性がある。
【0014】
本発明は、上記の点に鑑みなされたもので、上記の特定のサーバが処理を行えない場合に、
(a)他の使用可能なサーバを利用することができない、
(b)サーバの負荷情報に基づいてサーバが代替サーバの決定を行うため、負荷情報収集機能という追加機能が必要である、
(c)代替サーバの決定にサーバの能力情報が用いられていない、
という点を解決し、複数のサーバの負荷を分散させながら処理を継続することが可能なサーバ負荷分散システム及び方法を提供することを目的とする。
【課題を解決するための手段】
【0015】
本発明は、上記の課題を解決するために、本発明(請求項1)は、IMSアーキテクチャにおいてクライアントを登録するサーバを選択するシステムにおけるサーバ負荷分散方法であって、
少なくとも、
ユーザが使用するクライアントの端末と、
クライアントのユーザ情報及びセッション制御サーバの能力情報を含む当該セッション制御サーバの状況に関するサーバ情報を保持する記憶装置と、
呼制御を行うセッション制御サーバと、
クライアントから登録要求を受け付け、負荷の少ないセッション制御サーバを選択するサーバ選択装置と、
を有するシステムにおいて、
前記サーバ選択装置が、
前記クライアントの端末から登録要求を取得すると、前記記憶装置にアクセスすることにより前記サーバ情報リストを取得し、サーバ情報リスト記憶手段に格納し、前記クライアントを登録するセッション制御サーバを選択するサーバ選択ステップと、
前記サーバ選択ステップで選択されたセッション制御サーバに前記登録要求を送信する登録要求ステップと、
前記セッション制御サーバから登録を拒否された場合、または、タイムアウトとなった場合には、前記サーバ情報リスト記憶手段から別のサーバを選択して、該別のセッション制御サーバに対して前記登録要求を送信する代替サーバ選択ステップと、を行う。
【0016】
また、本発明(請求項2)は、前記サーバ選択ステップにおいて、
前記サーバ情報リスト記憶手段に格納されている前記サーバ情報リストから、必須条件を満たさないセッション制御サーバを削除し、各セッション制御サーバの能力情報及び負荷状況に応じて前記登録要求を送信するセッション制御サーバを選択する。
【0017】
また、本発明(請求項3)は、前記代替サーバ選択ステップにおいて、
前記セッション制御サーバから登録を拒否された場合には、前記サーバ情報リスト記憶手段に拒否回数を記録し、
前記前記サーバ情報リスト記憶手段に格納されている前記セッション制御サーバの能力情報、該セッション制御サーバの拒否率または拒否回数に基づいて重み付けし、該重みに基づいてセッション制御サーバを選択する。
【0018】
また、本発明(請求項4)は、前記サーバ選択ステップ、または、前記代替サーバ選択ステップにおいて、
前記サーバ情報リスト記憶手段の前記セッション制御サーバの能力情報を参照し、前記クライアントが求める能力に合致する割合の高い順に前記セッション制御サーバを選択する。
【0019】
また、本発明(請求項5)は、IMSアーキテクチャにおいてクライアントを登録するサーバを選択するサーバ負荷分散システムであって、
少なくとも、
ユーザが使用するクライアントの端末と、
クライアントのユーザ情報及びセッション制御サーバの能力情報を含む当該セッション制御サーバの状況に関するサーバ情報を保持する記憶装置と、
呼制御を行うセッション制御サーバと、
クライアントから登録要求を受け付け、負荷の少ないセッション制御サーバを選択するサーバ選択装置と、
を有し、
前記サーバ選択装置は、
前記クライアントの端末から登録要求を取得すると、前記記憶装置にアクセスすることにより前記サーバ情報リストを取得し、サーバ情報リスト記憶手段に格納し、前記クライアントを登録するセッション制御サーバを選択するサーバ選択手段と、
前記サーバ選択手段により選択されたセッション制御サーバに前記登録要求を送信する登録要求手段と、
前記セッション制御サーバから登録を拒否された場合、または、タイムアウトとなった場合には、前記サーバ情報リスト記憶手段から別のサーバを選択して、該別のセッション制御サーバに対して前記登録要求を送信する代替サーバ選択手段と、を有する。
【0020】
また、本発明(請求項6)は、前記サーバ選択手段に、
前記サーバ情報リスト記憶手段に格納されているサーバ情報リストから必須条件を満たさないセッション制御サーバを削除し、各セッション制御サーバの能力情報及び負荷状況に応じて前記登録要求を送信するセッション制御サーバを選択する[0]手段を含む。
【0021】
また、本発明(請求項7)は、前記サーバ選択手段、または、前記代替サーバ選択手段に、
前記セッション制御サーバから登録を拒否された場合には、前記サーバ情報リスト記憶手段に拒否回数を記録する手段と、
前記前記サーバ情報リスト記憶手段に格納されている前記セッション制御サーバの能力情報、該セッション制御サーバの拒否率または拒否回数に基づいて重み付けし、該重みに基づいてセッション制御サーバを選択する手段を含む。
【0022】
また、本発明(請求項8)は、前記サーバ選択手段、または、前記代替サーバ選択手段に、
前記サーバ情報リスト記憶手段の前記セッション制御サーバの能力情報を参照し、前記クライアントが求める能力に合致する割合の高い順に前記セッション制御サーバを選択する手段を含む。
【0023】
また、本発明(請求項9)は、少なくとも、
ユーザが使用するクライアントの端末と、
クライアントのユーザ情報及びセッション制御サーバの能力情報を含む当該セッション制御サーバの状況に関するサーバ情報を保持する記憶装置と、
呼制御を行うセッション制御サーバと、
クライアントから登録要求を受け付け、負荷の少ないセッション制御サーバを選択するサーバ選択装置と、
を有し、IMSアーキテクチャにおいてクライアントを登録するサーバを選択するサーバ負荷分散システムにおける、サーバ選択装置であって、
前記クライアントの端末から登録要求を取得すると、前記記憶装置にアクセスすることにより前記サーバ情報リストを取得し、サーバ情報リスト記憶手段に格納し、前記クライアントを登録するセッション制御サーバを選択するサーバ選択手段と、
前記サーバ選択手段により選択されたセッション制御サーバに前記登録要求を送信する登録要求手段と、
前記セッション制御サーバから登録を拒否された場合、または、タイムアウトとなった場合には、前記サーバ情報リスト記憶手段から別のサーバを選択して、該別のセッション制御サーバに対して前記登録要求を送信する代替サーバ選択手段と、を有し、
前記サーバ選択手段は、
前記サーバ情報リスト記憶手段に格納されている前記サーバ情報リストから、必須条件を満たさないセッション制御サーバを削除し、各セッション制御サーバの能力情報及び負荷状況に応じて前記登録要求を送信するセッション制御サーバを選択する[0]手段、
または、
前記サーバ情報リスト記憶手段の前記セッション制御サーバの能力情報を参照し、前記クライアントが求める能力に合致する割合の高い順に前記セッション制御サーバを選択する手段、
または、
前記サーバ情報リスト記憶手段に拒否回数を記録し、該サーバ情報リスト記憶手段に格納されている前記セッション制御サーバの能力情報、該セッション制御サーバの拒否率または拒否回数に基づいて重み付けし、該重みに基づいてセッション制御サーバを選択する手段
の少なくとも1つを含み、
前記代替サーバ選択手段は、
前記セッション制御サーバから登録を拒否された場合には、前記サーバ情報リスト記憶手段に拒否回数を記録し、該サーバ情報リスト記憶手段に格納されている前記セッション制御サーバの能力情報、該セッション制御サーバの拒否率または拒否回数に基づいて重み付けし、該重みに基づいてセッション制御サーバを選択する手段、
または、
前記サーバ情報リスト記憶手段の前記セッション制御サーバの能力情報を参照し、前記クライアントが求める能力に合致する割合の高い順に前記セッション制御サーバを選択する手段
の少なくともいずれかを含む。
【0024】
また、本発明(請求項10)は、請求項9に記載のサーバ選択装置を構成する各手段としてコンピュータを機能させるためのサーバ負荷分散プログラムである。
【発明の効果】
【0025】
(1)サーバ選択機能がサーバを選ぶ際に、サーバの能力(例えばサービスの種別、サーバの処理速度、課金管理能力の有無など)だけでなく、サーバの状況(例えば負荷状況、メンテナンス予定、障害情報、減設予定など)を反映することができる。
【0026】
(2)また、特定のサーバに負荷が偏った場合に、負荷が一定以上になったサーバにそれ以上登録を行わないで、負荷が一定以下になっている他のサーバに登録することで、負荷分散が可能となる。また、この実現には負荷情報収集機能を用いていないため、このような追加機能が不要である。また、代替サーバ選択の際に、サーバ選択機能が持つ能力情報を含むサーバのリストを用いて、適した能力のサーバを選択することができる。
【0027】
なお、上記の(1)の効果により、複数のサーバの処理能力が異なる場合でも、各サーバの負荷率を一定する技術に適用することが可能となる。
【図面の簡単な説明】
【0028】
【図1】IMSアーキテクチャにおけるUE,CSCF,HSSからなるシステム構成図である。
【図2】IMSアーキテクチャにおける端末登録シーケンスである。
【図3】能力情報を含むサーバのリストの例である。
【図4】LDFを用いたサーバリダイレクト方式の機能図である。
【図5】LDFを用いたサーバリダイレクト方式のシーケンス(代替S-CSCFにRegisterが届くまで)である。
【図6】本発明の一実施の形態におけるI-CSCFの構成図である。
【図7】本発明の一実施の形態におけるHSSが保持している情報の例である。
【図8】本発明の一実施の形態におけるI-CSCFがHSSから取得する能力情報を含むS-CSCFのリストの例である。
【図9】本発明の一実施の形態におけるHSSの保持するS-CSCF情報の例(その1)である。
【図10】本発明の一実施の形態におけるI-CSCFがHSSから取得する能力情報を含むS-CSCFのリストの例(その1)である。
【図11】本発明の一実施の形態におけるHSSの保持するS-CSCF情報の例(その2)である。
【図12】本発明の一実施の形態におけるI-CSCFがHSSから取得する能力情報を含むS-CSCFのリストの例(その2)である。
【図13】本発明の一実施の形態におけるI-CSCFが保持するS-CSCFの重み、成功率などのテーブルの例である。
【図14】本発明の一実施の形態におけるI-CSCFが保持するS-CSCFの重みのテーブルの例である。
【図15】本発明の一実施の形態におけるI-CSCFが保持するS-CSCFからの拒否に関する記録の例である。
【図16】本発明の一実施の形態におけるS-CSCFaからの拒否に関する記録の例である。
【図17】本発明の第2の実施の形態におけるシーケンスである。
【図18】本発明の第3の実施の形態におけるサーバリダレクト方式シーケンス(能力情報保持を用いるパターン/代替S-CSCFにRegisterが届くまで)である。
【図19】本発明の第3の実施の形態におけるLDFを用いたサーバリダレクト方式シーケンス(複数のリダイレクト先を指定する方法/代替S-CSCFにRegisterが届くまで)である。
【発明を実施するための形態】
【0029】
以下図面と共に、本発明の実施の形態を説明する。
【0030】
最初に本発明の概要を示す。
【0031】
本発明は、IMSアーキテクチャにおいて、サーバ選択機能(I-CSCF)が端末が送信した登録要求を受け付けるサーバ(S-CSCF)を選択するものである。
【0032】
本発明では、S-CSCFがメッセージを拒否した場合にI-CSCFが代替S-CSCFを選択することにより、S-CSCFの負荷を分散させるものである。また、代替S-CSCF選択の際に負荷情報収集機能を不要とし、S-CSCFの能力情報、また代替S-CSCF選択の際にS-CSCFの負荷状況などを用いることを可能とするものである。
【0033】
本発明の処理は、大きく2つに分かれる。1つ目は、I-CSCFが代替S-CSCFを選択するためのS-CSCF リストの作成・取得の方法である。2つ目は、そのリストからI-CSCFが代替S-CSCFを選択する方法である。
【0034】
これらの方法を説明する前に、まず、本発明で用いられるIMS(IP Multimedia Subsystem)アーキテクチャ、及び端末の登録方法について説明する。
【0035】
IMSアーキテクチャにおいては、図1に示すように、ユーザ端末(UE)100、セッション制御サーバ(P-CSCF200、I-CSCF300、S-CSCF400)、加入者情報データベース(HSS)500等が存在する。これらの構成要素は次のような機能を有する。
【0036】
・UE (User Equipment)100:
ユーザが使用する端末である。セッション制御サーバ(P-CSCF200、I-CSCF300、S-CSCF400)に対して、自らの情報を登録したり、発信要求を送信したりする。また、セッション制御サーバから他UEからの着信を受信する機能を持つ。
【0037】
・P-CSCF (Proxy-Call Session Control Function)200:
UE100が最初にコンタクトするサーバである。メッセージを受け付け、I-CSCF300に転送する機能を持つほか、IP-sec等のセキュリティ機能も持つ。
【0038】
・I-CSCF (Interrogating-Call Session Control Function)300:
I-CSCF300は、図6に示すように、端末・ユーザ情報取得部301、メッセージ転送先選択部302、メッセージ転送部303を有する。端末・ユーザ情報取得部301は、P-CSCF200からREGISTERメッセージを受信すると、登録先S-CSCF400を選択するために、S-CSCF400の能力情報、S-CSCFのリストをHSS500に問い合わせる。メッセージ転送先選択部302は、端末・ユーザ情報取得部301で取得したS-CSCF400の情報(S-CSCFのリスト)の中から求める能力に合致したS-CSCF400を選択する。メッセージ転送部303は、P-CSCF200からのメッセージを適切なS-CSCF400に転送する。
【0039】
・S-CSCF (Serving-Call Session Control Function)400:
S-CSCF400は、SIPサーバとして中心的な役割を担うサーバであり、IMSのメッセージは全てS-CSCF400を通過する。また、HSS500からダウンロードしたユーザ情報を管理する。S-CSCF400には、種類により能力が違う場合がある。
【0040】
・HSS (Home Subscriber Server)500:
HSS500は加入者情報データベースであり、加入者の基本情報(例えば加入しているサービスの種別、認証用ユーザID、公開用ユーザID(SIP URIやTEL URIなど)、認証ベクトルなど)や、加入者がどのS-CSCF400に割り当てられているかの情報を管理する。また、S-CSCF400の能力情報も保持しており、I-CSCF300の問い合わせに応じて提供する。HSS500が管理している情報を図7に示す。同図に示すHSS500の情報は、認証用ID、公開用ID(SIP URI)、サービス種別、認証ベクトル、S-CSCF割当から構成される。
【0041】
なお、上記のUE100、I-CSCF300、S-CSCF400には受信したデータやテーブル、計算結果等を保持するためのメモリ等の記憶手段を有するものとする。
【0042】
上記の構成における動作を以下に説明する。
【0043】
[1] IMSアーキテクチャにおける端末登録:
端末間での通話を行うためには、まずP-CSCF200への端末の登録を行う必要がある。端末の登録はREGISTERメッセージにより行われる。端末100が発するREGISTERメッセージには、P-CSCF200の情報(例えばIPアドレスやFQDN(Fully Qualified Domain Name)など)、ユーザ識別情報(例えばSIP URIやTEL URIなど)、UE100の情報(IPアドレスや認証に用いるUSIM(Universal Subscriber Identity Module) 内のIMSI(International Mobile Subscriber Identity)情報など)などが含まれる。このシーケンスは前述の図2に示すとおりである。
【0044】
P-CSCF200がUE100から最初のREGISTERメッセージを受信すると(ステップ11)、P-CSCF200は任意のI-CSCF300にREGISTERメッセージを送信する(ステップ12)。
【0045】
REGISTERメッセージを受信したI-CSCF300は、登録先S-CSCF400を選択するために、能力情報(能力情報を含むサーバのリストの例を図3に示す)を含むS-CSCFのリストをHSS500に問い合わせる(ステップ13)。I-CSCF300は、HSS500から取得したS-CSCFのリストをメモリ(図示せず)に格納し、当該リストから所定の必須条件や能力情報に基づいてS-CSCF400を選択し、REGISTERメッセージを送信する(ステップ15)。
【0046】
なお、能力には必須のものとそうでないものが存在する(例えば、課金管理の有無は必須の条件であり、処理速度は必須の条件とならない、等が考えられる)ため、まずI-CSCF300はサーバのリスト中のS-CSCF400のうち必須条件を満たさないものを排除し、その後、必須ではない能力情報を参照しS-CSCF400を選択する。この選択は、例えばUE100の求める能力(例えば課金管理の必要性やS-CSCF400に求める処理速度など)に合致する程度(例えば課金管理等ではその処理能力の有無、もしくは処理速度ではある一定の閾値など)により行われる。
【0047】
S-CSCF400はHSS500から認証に必要な情報(認証ベクトルなど)を取得すると共に、I-CSCF300により自らが選択されたことを示すため、ユーザ情報(SIP URIなど)とS-CSCFの関係をHSS500に通知する(ステップ16,17)。S-CSCF400はチャレンジを生成し、I-CSCF300、P-CSCF200を介してUE100に通知する(ステップ18,19)。
【0048】
このチャレンジを受信したUE100は、チャレンジを引数として認証キー(レスポンス)を生成し、レスポンスを含んだ二度目のREGISTERを再度送信する(ステップ21)。これを受信したP-CSCFは200任意のI-CSCF300にREGISTERメッセージを送信する(ステップ22)。なお、このI-CSCF300は、一度目のREGISTERを受信したI-CSCFと異なるI-CSCFでもよい。
【0049】
REGISTERメッセージを受信したI-CSCF300は、HSS500に問い合わせを行い登録先S-CSCFの情報を得る(ステップ23,24)。この情報に基づいてI-CSCF300はS-CSCF400にREGISTERメッセージを送信する(ステップ25)。
【0050】
これを受信したS-CSCF400は、UE100から送信されたレスポンスとHSS500から取得している認証ベクトルを照合し、一致すればUE100はS-CSCF400に認証されたとして登録を完了し、不一致であれば認証に失敗した旨をUE100に通知する(ステップ28,29,30)。
【0051】
[2]端末登録時のS-CSCFの選択:
当該処理は、S-CSCF400の負荷を分散するために、上記の[1]における端末登録の際に、I-CSCF300がS-CSCF400を選択するものである。
【0052】
S-CSCF400の負荷を分散するために、
・I-CSCF300がS-CSCFを選択するためのS-CSCF リストの作成・取得;
・そのリストからI-CSCF300がS-CSCFを選択する;
の2つの処理を行う。これらの処理を第1の実施の形態で説明し、さらに、I-CSCFにより選択されたS-CSCFが登録を拒否した場合もしくは登録がタイムアウト場合の対応方法を第2の実施の形態で説明する。
【0053】
[第1の実施の形態]
本実施の形態では、端末登録時のI-CSCFによるS-CSCFリストの作成・取得方法(A)、及び、ICSCFがS-CSCFリストからS-CSCFを選択する方法(B)について説明する。
【0054】
(A)I-CSCFがS-CSCFを選択するためのS-CSCFリストの作成・取得方法:
当該方法は、UE100及びP-CSCF200からREGISTERメッセージを受信したI-CSCF300が、HSS500から能力情報を含むS-CSCFのリストを取得する方法である。
【0055】
I-CSCF300によるS-CSCF400の選択及び代替S-CSCF400の選択を行うため、I-CSCF300は、HSS500にアクセスし、能力情報を含むS-CSCFのリストを取得する。このとき、S-CSCF のリストに、能力情報の他、例えば負荷情報、メンテナンス情報、障害情報、減設情報など、もしくはS-CSCFの使用可否を含めることができる。これらの情報をI-CSCF300が用いることで、一定の基準により(例えば負荷が一定以上である、メンテナンスの予定がある、当該S-CSCFに減設の予定がある、メンテナンス中である、障害発生中であるなど)特定のS-CSCFが選ばれないようにすることができる。
【0056】
特定のS-CSCFが選ばれないようにする方法には、以下の3つの方法がある。
【0057】
(a) S-CSCF400からHSS500へ、当該S-CSCF400の状態に関する情報を通知しない方法:
この方法は、前述の[1]のIMSアーキテクチャにおける端末登録で述べたものと同様の方法である。S-CSCF400はHSS500に当該S-CSCF400の状態に関する情報を通知しない。I-CSCF300は、UE100からの1度目のREGISTERメッセージを受信すると、HSS500に能力情報を含むS-CSCFのリストを要求し、HSS500は能力情報を含むS-CSCFのリスト(図8に、I-CSCF300がHSS500から取得する能力情報を含むS-CSCFのリストの例を示す)を応答する(手順1)。これを受信したI-CSCF300は、S-CSCF400の選択を行う(詳細は(B)I-CSCFがS-CSCFリストからS-CSCFを選択する方法で後述する)。つまり、選択されては不都合なS-CSCF400は、HSS500に自装置の情報を登録しないことにより、当該S-CSCFはS-CSCFのリストには含まれないことになる。
【0058】
(b)S-CSCF400からHSS500へ、自身の使用可否を通知する方法、またはオペレータがHSSへS-CSCFの使用の可否を設定する方法:
当該方法は、S-CSCF400が自らの状況(例えば負荷情報、メンテナンス予定、障害情報、減設予定など)を用いて一定の基準(例えば負荷が一定以上である、24時間以内にメンテナンスが予定されている、障害が発生している、1週間以内に減設が予定されているなど)により、自らがこれ以上のUE100の登録を受け付けられるかを判断する。その判断結果に基づいて、S-CSCF400は、HSS500に対して定期的(例えば10分ごと、など)に自らの使用可否を通知する。HSS500は、各S-CSCF400について、使用の可否の情報を保持する。もしくは、オペレータ等が直接HSS500にS-CSCF400の使用可否を設定することもできる。
【0059】
HSS500の管理するS-CSCFのテーブルの例を図9に示す。当該HSS500は、図9に示すように、データベース内のテーブルにS-CSCFのSIP URI、IPアドレス、処理性能、課金管理機能、使用の可否等を格納している。
【0060】
I-CSCF300 は、UE100からの1度目のREGISTERメッセージを受信すると、HSS500に能力情報を含むS-CSCFのリストを要求し、HSS500は能力情報及び使用可否を含むS-CSCF400のリスト(図10に例を示す)を応答する(手順1)。
【0061】
これを受信したI-CSCF300は、受信したS-CSCFのリストを内部のメモリ(図示せず)に格納し、使用不可となっているS-CSCFを当該リストから排除した後に、S-CSCFの選択を行う(詳細は(B)のI-CSCFがS-CSCFリストからS-CSCFを選択する方法で記述)。
【0062】
(c)S-CSCFからHSSへ自身の状況を通知する方法:
S-CSCF400は、自らの状況(例えば負荷情報、メンテナンス予定、障害情報、減設予定など)を定期的(例えば10分ごと、など)にHSS500に通知し保持させる。もしくは、オペレータ等が直接HSS500にS-CSCF400の状況を設定することもできる。HSS500の管理するS-CSCFのテーブルの例を図11に示す。I-CSCF300は、UE100からの1度目のREGISTERメッセージを受信すると、HSS500に能力情報を含むS-CSCFのリストを要求し、HSS500は能力情報及び状況を含むS-CSCFのリスト(図12に例を示す)を応答する(手順1)。
【0063】
これを受信したI-CSCF300は、当該S-CSCFのリストをメモリ(図示せず)に格納し、各S-CSCF400の状況(例えば負荷情報、メンテナンス予定、障害情報、減設予定など)を含んでいる場合、I-CSCF300はこれを用いて一定の基準(例えば負荷が一定以上である、24時間以内にメンテナンスが予定されている、障害が発生している、1週間以内に減設が予定されているなど)により、そのS-CSCF400を使用するか否かを決定する。I-CSCF300は、使用しないS-CSCFをリストから排除した後に、S-CSCFの選択を行う(詳細は(B)I-CSCFがS-CSCFリストからS-CSCFを選択する方法で後述する)。
【0064】
なお、HSS500がI-CSCF300に能力情報を含むS-CSCFのリストを通知する際に、このリスト中の順番を順次組み替える(例えば、I-CSCFへの通知毎に、先頭にあるS-CSCF400のエントリを末尾に移動する、など)ことも可能である。
【0065】
(B)S-CSCFのリストからI-CSCFがS-CSCFを選択する方法:
本実施の形態では、HSS500から能力情報を含むS-CSCF400のリストを取得し、メモリ(図示せず)に一旦格納し、場合によってはそのリストから使用しないS-CSCF400のエントリを排除したI-CSCF300が、このリストを用いてS-CSCF400を選択する方法に関する。
【0066】
S-CSCF400の選択方法として、以下の5つが考えられる。
【0067】
(1)先頭にあるものを選択する:
S-CSCF400のリストの先頭にあるものを選択する。
【0068】
前述の(A)で述べたように、HSS500 がI-CSCF300に能力情報を含むS-CSCFのリストを通知するごとに、このリスト中の順番を順次組み替える(例えば、I-CSCF300への通知毎に、先頭にあるS-CSCFのエントリを末尾に移動する、など)こととしていれば、ラウンドロビンによりS-CSCF400を選択することができる。
【0069】
(2)ランダムに選択する:
S-CSCF400のリストからランダムにS-CSCF400を選択する。ランダムでS-CSCF400の選択を行う場合には、能力情報やS-CSCF400からの拒否率もしくは拒否回数により重みを付ける方法も考えられる。
【0070】
例えば、S-CSCF400の処理能力をs, 拒否率をp, 任意の定数をNとした場合に、重み関数w(s,p)を式(1)のように定義し、あるS-CSCF(番号i)を選択する確率qiを式(2)のように定義する方法が考えられる。
【0071】
【数1】
【0072】
【数2】
なお、この時Kは、I-CSCF300が持つ能力情報を含むS-CSCFのリストに含まれるS-CSCF400のうち、必須能力を満たすものの集合である。
【0073】
重みを決定する方法の例として、以下のものが考えられる。重みの初期値を一定値(例えば、1)としておき、各S-CSCFが拒否をした際に重みを変動させる方法である。これには、以下の(a),(b)の2通りの方法がある。
【0074】
(a)一定周期毎の拒否率を元に、重みを減算していく方法:
I-CSCF300は、現時点までにREGISTERを送信したことのあるS-CSCF400について、重みw、登録成功回数s、拒否回数f,拒否率p(=f/(s+f))をメモリ(図示せず)に保持している。新しいS-CSCFについては、重みは初期値、拒否率は0とする。この例を図13に示す。I-CSCFがS-CSCFにREGISTERを送信した際には、登録の成否の回数をI-CSCFは記録し、拒否率を保持する。
【0075】
一定周期(例えば、1時間など)毎に、この拒否率を元に各S-CSCFの重みを更新する。この更新には、例えば勾配法を用いることができ、この場合は、例えば、以下の式(3)のように重みが計算される。
【0076】
【数3】
なお、ここで、iはS-CSCFの番号、pは前述の一定周期(例えば、1時間)毎に計測される拒否率、Δは定数である。
【0077】
なお、一定周期毎に、これらの減算されたS-CSCFの重みの正規化(重みの合計を1にするなど)を行ってもよい。また、一定周期毎に、この拒否率pをリセット(即ち登録成功回数sと登録失敗回数fを0にリセットする)してもよい。
【0078】
b)S-CSCF400が拒否を行う度に、重みを減算していく方法:
I-CSCF300が選択したS-CSCF400が登録を拒否した際に、重みを変動させる方法もある。
【0079】
I-CSCF300は、現時点までにREGISTERを送信したことのあるS-CSCF400について、重みwを保持している。新しいS-CSCFについては、重みは初期値とする。この例を図14に示す。I-CSCF300がS-CSCF400にREGISTERを送信した際、登録が失敗した場合には、この重みを例えば式(4)などにより減算する。なお、ここでΔは定数である。
【0080】
【数4】
なお、一定周期毎に、これらの減算されたS-CSCF400の重みの正規化(重みの合計を1にするなど)を行ってもよい。
【0081】
これらのアルゴリズムを用いた場合、負荷が一定以上に達しているS-CSCFにそれ以上のメッセージを送信しない、ということが可能になる。
【0082】
(3)S-CSCFの能力情報を参照し、UEの求める能力の合致する割合の高い順に選択する:
IMS標準規定(非特許文献1)では、I-CSCF300は端末の登録の際にUE100が求めるS-CSCFの能力に合致したS-CSCF400を選択することとしている。代替S-CSCFを選択する際にも、I-CSCF300がHSS500から取得した能力情報を含むS-CSC400Fのリストを参照することで、最初に選んだS-CSCF400aの次に適切なS-CSCF400bを選択する。この選択は、前述の[1]に記述したものと同様、例えばUE100の求める能力(例えば課金管理の必要性やS-CSCF400に求める処理速度など)に合致する程度(例えば課金管理等ではその処理能力の有無、もしくは処理速度ではある一定の閾値など)により行われる。
【0083】
(4)過去のS-CSCFの拒否の割合を参照し、なるべく拒否の割合の少ないS-CSCFを選択する:
I-CSCF300は、過去に選択したS-CSCF400から、どのくらいの割合で登録拒否を受信したかを記録することができる。例えば、対象S-CSCF400毎に選択の試行回数と拒否された回数をメモリ(図示せず)に記録し、拒否率(p=f/(s+f))(但し、s=登録成功回数、f=拒否回数))を算出する。なお、試行回数が一定数(例えば10回など)以下の場合は、拒否率を特別に0とする。この例を図15に示す。また、各試行について時間と成否を当該I-CSCF300のメモリ(図示せず)に記録していき(この例を図16に示す)、一定時間もしくは一定回数(例えば1時間もしくは100回など)以上経過したデータについては削除し、削除した際には拒否率を再計算する。
【0084】
この情報をもとに、例えば一定以上の拒否率を持つS-CSCFは一定時間選択しない、などの方法が考えられる。例えば、拒否率が一定以上になった時刻を各S-CSCF400毎に記録しておき、S-CSCF選択時点の時刻との差が一定時間(例えば30分、48時間など)以内であった場合は当該S-CSCFを選択の対象から外す方法がある。
【0085】
これにより、例えばS-CSCF400が負荷状況を基準に拒否を行っている場合には、負荷が高くメッセージの受付が不可能なS-CSCFにメッセージが送信され続けることを防ぎ、S-CSCFをサーバダウンから保護することができる。
【0086】
(5)上記の組み合わせ:
上記の(1)〜(4)の方法を組み合わせることにより、例えばUE100の求める能力に合致するS-CSCFを選択することを原則とするが、負荷が高いと思われる S-CSCFの選択を避ける、等の方法が考えられる。
【0087】
[第2の実施の形態]
本実施の形態では、上記の第1の実施の形態においてI-CSCF300からS-CSCF400にREGISTERメッセージを送信を送信した際に、S-CSCF400が登録を拒否もしくは登録がタイムアウトした場合の対応について説明する。
【0088】
図17は、本発明の第2の実施の形態におけるシーケンスを示す。
【0089】
図17(a)に示すように、I-CSCF300がS-CSCF400にREGISTERメッセージの送信を行った際、S-CSCF400はある基準により(例えば、負荷が一定以上である場合、などオペレータ等が初期設定もしくは再設定により指定する方法が考えられる。) これを拒否することができる。メッセージが拒否されなかった場合には、S-CSCF400はHSS500からの認証ベクトルの取得及びチャレンジの生成を行う(これは、前述の実施の形態と同様である)。
【0090】
一方、図17(b)に示すように、メッセージが拒否された場合、あるいはS-CSCF400aへのREGISTERメッセージの送信がタイムアウトとなった場合、I-CSCF300は、HSS500にS-CSCF情報を問い合わせた際に取得したリストの中から、異なるS-CSCF400bを代替S-CSCFとして選択し、再度REGISTERメッセージを送信する(手順2)。なお、このときの代替S-CSCFの選択にも、第1の実施の形態における(B)で述べたような選択の仕方をすることによりS-CSCF400の使用可否もしくは状況を反映することができる。I-CSCF300からの再度のREGISTERを受信したS-CSCF400bは、HSS500からの認証ベクトルの取得及びチャレンジの生成を行う。なお、2度目に選択されたS-CSCF400bからも拒否された場合には、前述の手順1または手順2から再度行う。3度目以降に拒否された場合も同様である。このように代替S-CSCFの選択を繰り返すが、オペレータの設定などにより、ある時点で(例えば合計10のS-CSCFから拒否された場合もしくはタイムアウトした場合)S-CSCFの選択処理を停止し、エラーを返すことも可能である。
【0091】
なお、上記の処理において、第1の実施の形態に関連するが、REGISTERメッセージが拒否された場合は、メモリ(図示せず)に拒否された回数を記録するものとする。
【0092】
[第3の実施の形態]
本実施の形態では、従来技術(イ)における代替S-CSCF選択時の能力情報を利用する例を説明する。
【0093】
従来技術(イ)を改良することによっても、能力情報を反映した代替S-CSCF選択が可能である。機能図は図4に示したものと同様である。
【0094】
(1)LDFがS-CSCFの負荷情報だけでなく能力情報も収集する方法:
シーケンスを図18に示す。LDF600600はS-CSCF400から負荷情報だけでなく能力情報の定期的な通知を受け、LDFは各S-CSCF400の負荷情報および能力情報を蓄積し、複数のS-CSCFに通知し保持させる。各S-CSCFは自らだけでなく、他のS-CSCFの負荷情報および能力情報も共有している。
【0095】
UE100がS-CSCF400に対して登録を行う場合、UE100からの登録要求をP-CSCF300及びI-CSCF300が受け付ける(ステップ301,302)。I-CSCF300はHSS500に対して、能力情報を含むS-CSCF400のリストを要求し(ステップ303)、取得する(ステップ304)。I-CSCF300は、この能力情報を用いてUE100にとって適切なS-CSCF400を選択し、登録要求を送信する(ステップ305)。登録要求を受信したS-CSCF400aが過負荷であった場合には、S-CSCF400aは、共有している負荷情報及び能力情報をもとに、低負荷なS-CSCF400bへのリダイレクトをI-CSCF300に通知する(ステップ306)。これを受けて、I-CSCF300は代替S-CSCF400bに再度登録要求を送信する(ステップ307)。
【0096】
(2)S-CSCFがリダイレクト先を指定する際に、複数の代替S-CSCFをI-CSCFに通知する方法:
シーケンスを図19に示す。LDF600はS-CSCF400から負荷情報の定期的な通知を受け、LDF600は各S-CSCF400の負荷情報を内部の記憶手段(例えば、メモリ)に蓄積し、複数のS-CSCF400に通知し保持させる。各S-CSCF400は自らだけでなく、他のS-CSCFの負荷情報も共有している。
【0097】
UE100がS-CSCF400に対して登録を行う場合、UE100からの登録要求をP-CSCF300及びI-CSCF300が受け付ける(ステップ401,402)。I-CSCF300はHSS500に対して、能力情報を含むS-CSCFのリストを要求し(ステップ403)、取得する(ステップ404)。I-CSCF300は、この能力情報を用いてUE100にとって適切なS-CSCF400(400a)を選択し、登録要求を送信する(ステップ405)。登録要求を受信したS-CSCF400aが過負荷であった場合には、S-CSCF400aは、共有している負荷情報をもとに、低負荷なS-CSCFを複数個、I-CSCF300に通知する(ステップ406)。これを受けて、I-CSCF300は複数のS-CSCFのうちどれを代替S-CSCFとして用いるか、能力情報をもとに判断し、適切なS-CSCF400bを代替S-CSCFと決定し、この代替S-CSCF再度登録要求を送信する(ステップ407)。
【0098】
なお、I-CSCF300の動作をプログラムとして構築し、I-CSCF(サーバ選択装置)として利用されるコンピュータにインストールする、または、ネットワークを介して流通させることが可能である。
【0099】
また、構築されたプログラムをハードディスク、フレキシブルディスク、CD-ROM等の可搬記憶媒体に格納して、コンピュータにインストールする、または、ネットワークを介して流通させることが可能である。
【0100】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【0101】
100 クライアント(UE)
200 プロキシサーバ(P-CSCF)
300 サーバ選択機能(I-CSCF)
301 端末・ユーザ情報取得部
302 メッセージ転送先選択部
303 メッセージ転送部
400 サーバ(S-CSCF)
500 サーバ情報DB(HSS)
600 負荷情報収集機能(LDF)
【技術分野】
【0001】
本発明は、サーバ負荷分散システム及び方法に係り、特に、IMS(IP (Internet Protocol) Multimedia Subsystem)(3GPP TS 23.228 v10.1.0 "IP Multimedia subsystem," June. 2010)において、クライアントを登録するサーバを選択するためのサーバ負荷分散システム及び方法に関する。
【0002】
詳しくは、サーバ選択機能及びサーバ情報DBを用いて複数のサーバの負荷を分散することを目的に、サーバ選択機能がサーバの状況(能力情報のほか、負荷情報やメンテナンス予定、減設など)を保持する方法、および、サーバが一定の基準 (例えば負荷状況・障害・メンテナンス予定・減設予定など)によりクライアントの登録要求を拒否した場合、もしくはサーバが応答せずタイムアウトになった場合にサーバ選択機能が代替サーバを再選択し、処理を継続するサーバ負荷分散システム及び方法に関する。
【背景技術】
【0003】
従来のサーバ負荷を分散させるための方法として以下のような方法がある。
【0004】
(ア)サーバ選択機能によるサーバ選択方式(例えば、非特許文献1参照):
図1に従来のサーバ選択機能によるサーバ選択方式の機能図を示す。また、端末登録の際のシーケンスを図2に示す。また、下記記載の、能力情報を含むサーバのリストの例を図3に示す。図1に示すIMSアーキテクチャは、クライアント(UE)100、プロキシサーバ(P-CSCF)200、サーバ選択機能(I-CSCF)300、サーバ (S-CSCF)400、サーバ情報DB(HSS)500から構成される。
【0005】
クライアント100がサーバに対して登録を行う場合、クライアント(UE)からの登録要求をプロキシサーバ(P-CSCF)200及びサーバ選択機能(I-CSCF)300が受け付ける(ステップ11,12)。サーバ選択機能300はサーバ情報DB(HSS)500に対して、図3に示すような能力情報を含むサーバのリスト(例えばサーバのURI、IPアドレスの他、サーバのサービス種別、サーバの処理速度、課金管理能力の有無など)を要求し(ステップ13)、取得する(ステップ14)。サーバ選択機能(I-CSCF) 300は、この能力情報と、サービスに必要な能力を比較し、クライアント(UE)にとって適切なサーバを選択し、登録要求を送信する(ステップ15)。
【0006】
この時、過負荷等が原因で選択したサーバが応答しなかった場合、サーバ選択機能(I-CSCF) 300は別のサーバを選択する方法を持たないため登録が完了せず、登録が失敗する。
【0007】
(イ)LDF(Load Detection Function:負荷情報収集・通知機能)を用いた過負荷サーバによるリダイレクト先選択方式(例えば、非特許文献2参照):
図4にLDFを用いた過負荷サーバによるリダイレクト選択方式の機能図を示す。また、端末登録の際のシーケンスを図5に示す。
【0008】
図4における負荷情報収集機能(LDF)600は、各サーバ400から、各サーバ400の負荷情報の通知を定期的に受け、負荷情報を記憶手段に蓄積し、複数のサーバ400に通知し保持させる。各サーバ400は自らだけでなく、他のサーバ400の負荷情報も共有している。
【0009】
クライアント100がサーバに対して登録を行う場合、クライアント100からの登録要求をプロキシサーバ(P-CSCF)200及びサーバ選択機能(I-CSCF) 300が受け付ける(ステップ41,42)。サーバ選択機能(I-CSCF)300はサーバ情報DB500に対して、能力情報を含むサーバのリストを要求し(ステップ43)、取得する(ステップ44)。サーバ選択機能(I-CSCF)300は、この能力情報を用いてクライアント100にとって適切なサーバを選択し、登録要求を送信する(ステップ45)。登録要求を受信したサーバ(例えば、S-CSCF4001)が過負荷であった場合には、サーバS-CSCF4001は、共有している負荷情報をもとに、低負荷なサーバ(例えば、S-CSCF4002)へのリダイレクトをサーバ選択機能300に通知する(ステップ46)。これを受けて、サーバ選択機能(I-CSCF)300は代替サーバ(S-CSCF4002)に再度登録要求を送信する(ステップ47)。
【先行技術文献】
【非特許文献】
【0010】
【非特許文献1】3GPP TS 24.229 v10.0.0 "IP multimedia call control protocol based on Session Initiation Protocol (SIP) and Session Description Protocol (SDP); Stage 3," June. 2010.
【非特許文献2】[3]3GPP TR 23.812 v1.1.0 "Feasibility Study on IMS Evolution," June.2010
【発明の概要】
【発明が解決しようとする課題】
【0011】
従来技術(イ)の LDFのような追加機能を用いる場合、追加機能実現のための設備が必要となり、コストの増加につながる。このため、追加機能無しに、過負荷状態のサーバ(S-CSCF)にはそれ以上登録を行わず、低負荷な状態のサーバ(S-CSCF)に登録を行うことが求められる。また、登録先サーバ(S-CSCF)をサーバ選択機能(I-CSCF)が選ぶ際には、サーバ(S-CSCF)の能力情報を反映することが求められる。
【0012】
従来技術(ア)では、一度I-CSCFが選択しメッセージを送信したS-CSCFがメッセージを拒否した場合、もしくはタイムアウトとなった場合、I-CSCFが別のS-CSCFを選択する方法がない。このため、一部のS-CSCFに負荷が偏っている状態で、他のS-CSCFが利用可能な状態でも、そのS-CSCFを使用することができない。
【0013】
従来技術(イ)では、一度I-CSCFが選択しメッセージを送信したS-CSCFがメッセージを拒否した場合、もしくはタイムアウトとなった場合、負荷情報をもとにS-CSCFが代替S-CSCFを指定するという方法であるが、この方法では負荷情報収集・通知機能(LDF)が必要である。また、代替S-CSCF指定の際、S-CSCFの能力情報を選択基準に使う方法が規定されていないため、S-CSCF の能力情報を代替S-CSCF選択基準に使わない場合は、I-CSCFがS-CSCFに指定された代替S-CSCFを用いた場合にUEが求める能力に合致せず処理が行えない可能性がある。
【0014】
本発明は、上記の点に鑑みなされたもので、上記の特定のサーバが処理を行えない場合に、
(a)他の使用可能なサーバを利用することができない、
(b)サーバの負荷情報に基づいてサーバが代替サーバの決定を行うため、負荷情報収集機能という追加機能が必要である、
(c)代替サーバの決定にサーバの能力情報が用いられていない、
という点を解決し、複数のサーバの負荷を分散させながら処理を継続することが可能なサーバ負荷分散システム及び方法を提供することを目的とする。
【課題を解決するための手段】
【0015】
本発明は、上記の課題を解決するために、本発明(請求項1)は、IMSアーキテクチャにおいてクライアントを登録するサーバを選択するシステムにおけるサーバ負荷分散方法であって、
少なくとも、
ユーザが使用するクライアントの端末と、
クライアントのユーザ情報及びセッション制御サーバの能力情報を含む当該セッション制御サーバの状況に関するサーバ情報を保持する記憶装置と、
呼制御を行うセッション制御サーバと、
クライアントから登録要求を受け付け、負荷の少ないセッション制御サーバを選択するサーバ選択装置と、
を有するシステムにおいて、
前記サーバ選択装置が、
前記クライアントの端末から登録要求を取得すると、前記記憶装置にアクセスすることにより前記サーバ情報リストを取得し、サーバ情報リスト記憶手段に格納し、前記クライアントを登録するセッション制御サーバを選択するサーバ選択ステップと、
前記サーバ選択ステップで選択されたセッション制御サーバに前記登録要求を送信する登録要求ステップと、
前記セッション制御サーバから登録を拒否された場合、または、タイムアウトとなった場合には、前記サーバ情報リスト記憶手段から別のサーバを選択して、該別のセッション制御サーバに対して前記登録要求を送信する代替サーバ選択ステップと、を行う。
【0016】
また、本発明(請求項2)は、前記サーバ選択ステップにおいて、
前記サーバ情報リスト記憶手段に格納されている前記サーバ情報リストから、必須条件を満たさないセッション制御サーバを削除し、各セッション制御サーバの能力情報及び負荷状況に応じて前記登録要求を送信するセッション制御サーバを選択する。
【0017】
また、本発明(請求項3)は、前記代替サーバ選択ステップにおいて、
前記セッション制御サーバから登録を拒否された場合には、前記サーバ情報リスト記憶手段に拒否回数を記録し、
前記前記サーバ情報リスト記憶手段に格納されている前記セッション制御サーバの能力情報、該セッション制御サーバの拒否率または拒否回数に基づいて重み付けし、該重みに基づいてセッション制御サーバを選択する。
【0018】
また、本発明(請求項4)は、前記サーバ選択ステップ、または、前記代替サーバ選択ステップにおいて、
前記サーバ情報リスト記憶手段の前記セッション制御サーバの能力情報を参照し、前記クライアントが求める能力に合致する割合の高い順に前記セッション制御サーバを選択する。
【0019】
また、本発明(請求項5)は、IMSアーキテクチャにおいてクライアントを登録するサーバを選択するサーバ負荷分散システムであって、
少なくとも、
ユーザが使用するクライアントの端末と、
クライアントのユーザ情報及びセッション制御サーバの能力情報を含む当該セッション制御サーバの状況に関するサーバ情報を保持する記憶装置と、
呼制御を行うセッション制御サーバと、
クライアントから登録要求を受け付け、負荷の少ないセッション制御サーバを選択するサーバ選択装置と、
を有し、
前記サーバ選択装置は、
前記クライアントの端末から登録要求を取得すると、前記記憶装置にアクセスすることにより前記サーバ情報リストを取得し、サーバ情報リスト記憶手段に格納し、前記クライアントを登録するセッション制御サーバを選択するサーバ選択手段と、
前記サーバ選択手段により選択されたセッション制御サーバに前記登録要求を送信する登録要求手段と、
前記セッション制御サーバから登録を拒否された場合、または、タイムアウトとなった場合には、前記サーバ情報リスト記憶手段から別のサーバを選択して、該別のセッション制御サーバに対して前記登録要求を送信する代替サーバ選択手段と、を有する。
【0020】
また、本発明(請求項6)は、前記サーバ選択手段に、
前記サーバ情報リスト記憶手段に格納されているサーバ情報リストから必須条件を満たさないセッション制御サーバを削除し、各セッション制御サーバの能力情報及び負荷状況に応じて前記登録要求を送信するセッション制御サーバを選択する[0]手段を含む。
【0021】
また、本発明(請求項7)は、前記サーバ選択手段、または、前記代替サーバ選択手段に、
前記セッション制御サーバから登録を拒否された場合には、前記サーバ情報リスト記憶手段に拒否回数を記録する手段と、
前記前記サーバ情報リスト記憶手段に格納されている前記セッション制御サーバの能力情報、該セッション制御サーバの拒否率または拒否回数に基づいて重み付けし、該重みに基づいてセッション制御サーバを選択する手段を含む。
【0022】
また、本発明(請求項8)は、前記サーバ選択手段、または、前記代替サーバ選択手段に、
前記サーバ情報リスト記憶手段の前記セッション制御サーバの能力情報を参照し、前記クライアントが求める能力に合致する割合の高い順に前記セッション制御サーバを選択する手段を含む。
【0023】
また、本発明(請求項9)は、少なくとも、
ユーザが使用するクライアントの端末と、
クライアントのユーザ情報及びセッション制御サーバの能力情報を含む当該セッション制御サーバの状況に関するサーバ情報を保持する記憶装置と、
呼制御を行うセッション制御サーバと、
クライアントから登録要求を受け付け、負荷の少ないセッション制御サーバを選択するサーバ選択装置と、
を有し、IMSアーキテクチャにおいてクライアントを登録するサーバを選択するサーバ負荷分散システムにおける、サーバ選択装置であって、
前記クライアントの端末から登録要求を取得すると、前記記憶装置にアクセスすることにより前記サーバ情報リストを取得し、サーバ情報リスト記憶手段に格納し、前記クライアントを登録するセッション制御サーバを選択するサーバ選択手段と、
前記サーバ選択手段により選択されたセッション制御サーバに前記登録要求を送信する登録要求手段と、
前記セッション制御サーバから登録を拒否された場合、または、タイムアウトとなった場合には、前記サーバ情報リスト記憶手段から別のサーバを選択して、該別のセッション制御サーバに対して前記登録要求を送信する代替サーバ選択手段と、を有し、
前記サーバ選択手段は、
前記サーバ情報リスト記憶手段に格納されている前記サーバ情報リストから、必須条件を満たさないセッション制御サーバを削除し、各セッション制御サーバの能力情報及び負荷状況に応じて前記登録要求を送信するセッション制御サーバを選択する[0]手段、
または、
前記サーバ情報リスト記憶手段の前記セッション制御サーバの能力情報を参照し、前記クライアントが求める能力に合致する割合の高い順に前記セッション制御サーバを選択する手段、
または、
前記サーバ情報リスト記憶手段に拒否回数を記録し、該サーバ情報リスト記憶手段に格納されている前記セッション制御サーバの能力情報、該セッション制御サーバの拒否率または拒否回数に基づいて重み付けし、該重みに基づいてセッション制御サーバを選択する手段
の少なくとも1つを含み、
前記代替サーバ選択手段は、
前記セッション制御サーバから登録を拒否された場合には、前記サーバ情報リスト記憶手段に拒否回数を記録し、該サーバ情報リスト記憶手段に格納されている前記セッション制御サーバの能力情報、該セッション制御サーバの拒否率または拒否回数に基づいて重み付けし、該重みに基づいてセッション制御サーバを選択する手段、
または、
前記サーバ情報リスト記憶手段の前記セッション制御サーバの能力情報を参照し、前記クライアントが求める能力に合致する割合の高い順に前記セッション制御サーバを選択する手段
の少なくともいずれかを含む。
【0024】
また、本発明(請求項10)は、請求項9に記載のサーバ選択装置を構成する各手段としてコンピュータを機能させるためのサーバ負荷分散プログラムである。
【発明の効果】
【0025】
(1)サーバ選択機能がサーバを選ぶ際に、サーバの能力(例えばサービスの種別、サーバの処理速度、課金管理能力の有無など)だけでなく、サーバの状況(例えば負荷状況、メンテナンス予定、障害情報、減設予定など)を反映することができる。
【0026】
(2)また、特定のサーバに負荷が偏った場合に、負荷が一定以上になったサーバにそれ以上登録を行わないで、負荷が一定以下になっている他のサーバに登録することで、負荷分散が可能となる。また、この実現には負荷情報収集機能を用いていないため、このような追加機能が不要である。また、代替サーバ選択の際に、サーバ選択機能が持つ能力情報を含むサーバのリストを用いて、適した能力のサーバを選択することができる。
【0027】
なお、上記の(1)の効果により、複数のサーバの処理能力が異なる場合でも、各サーバの負荷率を一定する技術に適用することが可能となる。
【図面の簡単な説明】
【0028】
【図1】IMSアーキテクチャにおけるUE,CSCF,HSSからなるシステム構成図である。
【図2】IMSアーキテクチャにおける端末登録シーケンスである。
【図3】能力情報を含むサーバのリストの例である。
【図4】LDFを用いたサーバリダイレクト方式の機能図である。
【図5】LDFを用いたサーバリダイレクト方式のシーケンス(代替S-CSCFにRegisterが届くまで)である。
【図6】本発明の一実施の形態におけるI-CSCFの構成図である。
【図7】本発明の一実施の形態におけるHSSが保持している情報の例である。
【図8】本発明の一実施の形態におけるI-CSCFがHSSから取得する能力情報を含むS-CSCFのリストの例である。
【図9】本発明の一実施の形態におけるHSSの保持するS-CSCF情報の例(その1)である。
【図10】本発明の一実施の形態におけるI-CSCFがHSSから取得する能力情報を含むS-CSCFのリストの例(その1)である。
【図11】本発明の一実施の形態におけるHSSの保持するS-CSCF情報の例(その2)である。
【図12】本発明の一実施の形態におけるI-CSCFがHSSから取得する能力情報を含むS-CSCFのリストの例(その2)である。
【図13】本発明の一実施の形態におけるI-CSCFが保持するS-CSCFの重み、成功率などのテーブルの例である。
【図14】本発明の一実施の形態におけるI-CSCFが保持するS-CSCFの重みのテーブルの例である。
【図15】本発明の一実施の形態におけるI-CSCFが保持するS-CSCFからの拒否に関する記録の例である。
【図16】本発明の一実施の形態におけるS-CSCFaからの拒否に関する記録の例である。
【図17】本発明の第2の実施の形態におけるシーケンスである。
【図18】本発明の第3の実施の形態におけるサーバリダレクト方式シーケンス(能力情報保持を用いるパターン/代替S-CSCFにRegisterが届くまで)である。
【図19】本発明の第3の実施の形態におけるLDFを用いたサーバリダレクト方式シーケンス(複数のリダイレクト先を指定する方法/代替S-CSCFにRegisterが届くまで)である。
【発明を実施するための形態】
【0029】
以下図面と共に、本発明の実施の形態を説明する。
【0030】
最初に本発明の概要を示す。
【0031】
本発明は、IMSアーキテクチャにおいて、サーバ選択機能(I-CSCF)が端末が送信した登録要求を受け付けるサーバ(S-CSCF)を選択するものである。
【0032】
本発明では、S-CSCFがメッセージを拒否した場合にI-CSCFが代替S-CSCFを選択することにより、S-CSCFの負荷を分散させるものである。また、代替S-CSCF選択の際に負荷情報収集機能を不要とし、S-CSCFの能力情報、また代替S-CSCF選択の際にS-CSCFの負荷状況などを用いることを可能とするものである。
【0033】
本発明の処理は、大きく2つに分かれる。1つ目は、I-CSCFが代替S-CSCFを選択するためのS-CSCF リストの作成・取得の方法である。2つ目は、そのリストからI-CSCFが代替S-CSCFを選択する方法である。
【0034】
これらの方法を説明する前に、まず、本発明で用いられるIMS(IP Multimedia Subsystem)アーキテクチャ、及び端末の登録方法について説明する。
【0035】
IMSアーキテクチャにおいては、図1に示すように、ユーザ端末(UE)100、セッション制御サーバ(P-CSCF200、I-CSCF300、S-CSCF400)、加入者情報データベース(HSS)500等が存在する。これらの構成要素は次のような機能を有する。
【0036】
・UE (User Equipment)100:
ユーザが使用する端末である。セッション制御サーバ(P-CSCF200、I-CSCF300、S-CSCF400)に対して、自らの情報を登録したり、発信要求を送信したりする。また、セッション制御サーバから他UEからの着信を受信する機能を持つ。
【0037】
・P-CSCF (Proxy-Call Session Control Function)200:
UE100が最初にコンタクトするサーバである。メッセージを受け付け、I-CSCF300に転送する機能を持つほか、IP-sec等のセキュリティ機能も持つ。
【0038】
・I-CSCF (Interrogating-Call Session Control Function)300:
I-CSCF300は、図6に示すように、端末・ユーザ情報取得部301、メッセージ転送先選択部302、メッセージ転送部303を有する。端末・ユーザ情報取得部301は、P-CSCF200からREGISTERメッセージを受信すると、登録先S-CSCF400を選択するために、S-CSCF400の能力情報、S-CSCFのリストをHSS500に問い合わせる。メッセージ転送先選択部302は、端末・ユーザ情報取得部301で取得したS-CSCF400の情報(S-CSCFのリスト)の中から求める能力に合致したS-CSCF400を選択する。メッセージ転送部303は、P-CSCF200からのメッセージを適切なS-CSCF400に転送する。
【0039】
・S-CSCF (Serving-Call Session Control Function)400:
S-CSCF400は、SIPサーバとして中心的な役割を担うサーバであり、IMSのメッセージは全てS-CSCF400を通過する。また、HSS500からダウンロードしたユーザ情報を管理する。S-CSCF400には、種類により能力が違う場合がある。
【0040】
・HSS (Home Subscriber Server)500:
HSS500は加入者情報データベースであり、加入者の基本情報(例えば加入しているサービスの種別、認証用ユーザID、公開用ユーザID(SIP URIやTEL URIなど)、認証ベクトルなど)や、加入者がどのS-CSCF400に割り当てられているかの情報を管理する。また、S-CSCF400の能力情報も保持しており、I-CSCF300の問い合わせに応じて提供する。HSS500が管理している情報を図7に示す。同図に示すHSS500の情報は、認証用ID、公開用ID(SIP URI)、サービス種別、認証ベクトル、S-CSCF割当から構成される。
【0041】
なお、上記のUE100、I-CSCF300、S-CSCF400には受信したデータやテーブル、計算結果等を保持するためのメモリ等の記憶手段を有するものとする。
【0042】
上記の構成における動作を以下に説明する。
【0043】
[1] IMSアーキテクチャにおける端末登録:
端末間での通話を行うためには、まずP-CSCF200への端末の登録を行う必要がある。端末の登録はREGISTERメッセージにより行われる。端末100が発するREGISTERメッセージには、P-CSCF200の情報(例えばIPアドレスやFQDN(Fully Qualified Domain Name)など)、ユーザ識別情報(例えばSIP URIやTEL URIなど)、UE100の情報(IPアドレスや認証に用いるUSIM(Universal Subscriber Identity Module) 内のIMSI(International Mobile Subscriber Identity)情報など)などが含まれる。このシーケンスは前述の図2に示すとおりである。
【0044】
P-CSCF200がUE100から最初のREGISTERメッセージを受信すると(ステップ11)、P-CSCF200は任意のI-CSCF300にREGISTERメッセージを送信する(ステップ12)。
【0045】
REGISTERメッセージを受信したI-CSCF300は、登録先S-CSCF400を選択するために、能力情報(能力情報を含むサーバのリストの例を図3に示す)を含むS-CSCFのリストをHSS500に問い合わせる(ステップ13)。I-CSCF300は、HSS500から取得したS-CSCFのリストをメモリ(図示せず)に格納し、当該リストから所定の必須条件や能力情報に基づいてS-CSCF400を選択し、REGISTERメッセージを送信する(ステップ15)。
【0046】
なお、能力には必須のものとそうでないものが存在する(例えば、課金管理の有無は必須の条件であり、処理速度は必須の条件とならない、等が考えられる)ため、まずI-CSCF300はサーバのリスト中のS-CSCF400のうち必須条件を満たさないものを排除し、その後、必須ではない能力情報を参照しS-CSCF400を選択する。この選択は、例えばUE100の求める能力(例えば課金管理の必要性やS-CSCF400に求める処理速度など)に合致する程度(例えば課金管理等ではその処理能力の有無、もしくは処理速度ではある一定の閾値など)により行われる。
【0047】
S-CSCF400はHSS500から認証に必要な情報(認証ベクトルなど)を取得すると共に、I-CSCF300により自らが選択されたことを示すため、ユーザ情報(SIP URIなど)とS-CSCFの関係をHSS500に通知する(ステップ16,17)。S-CSCF400はチャレンジを生成し、I-CSCF300、P-CSCF200を介してUE100に通知する(ステップ18,19)。
【0048】
このチャレンジを受信したUE100は、チャレンジを引数として認証キー(レスポンス)を生成し、レスポンスを含んだ二度目のREGISTERを再度送信する(ステップ21)。これを受信したP-CSCFは200任意のI-CSCF300にREGISTERメッセージを送信する(ステップ22)。なお、このI-CSCF300は、一度目のREGISTERを受信したI-CSCFと異なるI-CSCFでもよい。
【0049】
REGISTERメッセージを受信したI-CSCF300は、HSS500に問い合わせを行い登録先S-CSCFの情報を得る(ステップ23,24)。この情報に基づいてI-CSCF300はS-CSCF400にREGISTERメッセージを送信する(ステップ25)。
【0050】
これを受信したS-CSCF400は、UE100から送信されたレスポンスとHSS500から取得している認証ベクトルを照合し、一致すればUE100はS-CSCF400に認証されたとして登録を完了し、不一致であれば認証に失敗した旨をUE100に通知する(ステップ28,29,30)。
【0051】
[2]端末登録時のS-CSCFの選択:
当該処理は、S-CSCF400の負荷を分散するために、上記の[1]における端末登録の際に、I-CSCF300がS-CSCF400を選択するものである。
【0052】
S-CSCF400の負荷を分散するために、
・I-CSCF300がS-CSCFを選択するためのS-CSCF リストの作成・取得;
・そのリストからI-CSCF300がS-CSCFを選択する;
の2つの処理を行う。これらの処理を第1の実施の形態で説明し、さらに、I-CSCFにより選択されたS-CSCFが登録を拒否した場合もしくは登録がタイムアウト場合の対応方法を第2の実施の形態で説明する。
【0053】
[第1の実施の形態]
本実施の形態では、端末登録時のI-CSCFによるS-CSCFリストの作成・取得方法(A)、及び、ICSCFがS-CSCFリストからS-CSCFを選択する方法(B)について説明する。
【0054】
(A)I-CSCFがS-CSCFを選択するためのS-CSCFリストの作成・取得方法:
当該方法は、UE100及びP-CSCF200からREGISTERメッセージを受信したI-CSCF300が、HSS500から能力情報を含むS-CSCFのリストを取得する方法である。
【0055】
I-CSCF300によるS-CSCF400の選択及び代替S-CSCF400の選択を行うため、I-CSCF300は、HSS500にアクセスし、能力情報を含むS-CSCFのリストを取得する。このとき、S-CSCF のリストに、能力情報の他、例えば負荷情報、メンテナンス情報、障害情報、減設情報など、もしくはS-CSCFの使用可否を含めることができる。これらの情報をI-CSCF300が用いることで、一定の基準により(例えば負荷が一定以上である、メンテナンスの予定がある、当該S-CSCFに減設の予定がある、メンテナンス中である、障害発生中であるなど)特定のS-CSCFが選ばれないようにすることができる。
【0056】
特定のS-CSCFが選ばれないようにする方法には、以下の3つの方法がある。
【0057】
(a) S-CSCF400からHSS500へ、当該S-CSCF400の状態に関する情報を通知しない方法:
この方法は、前述の[1]のIMSアーキテクチャにおける端末登録で述べたものと同様の方法である。S-CSCF400はHSS500に当該S-CSCF400の状態に関する情報を通知しない。I-CSCF300は、UE100からの1度目のREGISTERメッセージを受信すると、HSS500に能力情報を含むS-CSCFのリストを要求し、HSS500は能力情報を含むS-CSCFのリスト(図8に、I-CSCF300がHSS500から取得する能力情報を含むS-CSCFのリストの例を示す)を応答する(手順1)。これを受信したI-CSCF300は、S-CSCF400の選択を行う(詳細は(B)I-CSCFがS-CSCFリストからS-CSCFを選択する方法で後述する)。つまり、選択されては不都合なS-CSCF400は、HSS500に自装置の情報を登録しないことにより、当該S-CSCFはS-CSCFのリストには含まれないことになる。
【0058】
(b)S-CSCF400からHSS500へ、自身の使用可否を通知する方法、またはオペレータがHSSへS-CSCFの使用の可否を設定する方法:
当該方法は、S-CSCF400が自らの状況(例えば負荷情報、メンテナンス予定、障害情報、減設予定など)を用いて一定の基準(例えば負荷が一定以上である、24時間以内にメンテナンスが予定されている、障害が発生している、1週間以内に減設が予定されているなど)により、自らがこれ以上のUE100の登録を受け付けられるかを判断する。その判断結果に基づいて、S-CSCF400は、HSS500に対して定期的(例えば10分ごと、など)に自らの使用可否を通知する。HSS500は、各S-CSCF400について、使用の可否の情報を保持する。もしくは、オペレータ等が直接HSS500にS-CSCF400の使用可否を設定することもできる。
【0059】
HSS500の管理するS-CSCFのテーブルの例を図9に示す。当該HSS500は、図9に示すように、データベース内のテーブルにS-CSCFのSIP URI、IPアドレス、処理性能、課金管理機能、使用の可否等を格納している。
【0060】
I-CSCF300 は、UE100からの1度目のREGISTERメッセージを受信すると、HSS500に能力情報を含むS-CSCFのリストを要求し、HSS500は能力情報及び使用可否を含むS-CSCF400のリスト(図10に例を示す)を応答する(手順1)。
【0061】
これを受信したI-CSCF300は、受信したS-CSCFのリストを内部のメモリ(図示せず)に格納し、使用不可となっているS-CSCFを当該リストから排除した後に、S-CSCFの選択を行う(詳細は(B)のI-CSCFがS-CSCFリストからS-CSCFを選択する方法で記述)。
【0062】
(c)S-CSCFからHSSへ自身の状況を通知する方法:
S-CSCF400は、自らの状況(例えば負荷情報、メンテナンス予定、障害情報、減設予定など)を定期的(例えば10分ごと、など)にHSS500に通知し保持させる。もしくは、オペレータ等が直接HSS500にS-CSCF400の状況を設定することもできる。HSS500の管理するS-CSCFのテーブルの例を図11に示す。I-CSCF300は、UE100からの1度目のREGISTERメッセージを受信すると、HSS500に能力情報を含むS-CSCFのリストを要求し、HSS500は能力情報及び状況を含むS-CSCFのリスト(図12に例を示す)を応答する(手順1)。
【0063】
これを受信したI-CSCF300は、当該S-CSCFのリストをメモリ(図示せず)に格納し、各S-CSCF400の状況(例えば負荷情報、メンテナンス予定、障害情報、減設予定など)を含んでいる場合、I-CSCF300はこれを用いて一定の基準(例えば負荷が一定以上である、24時間以内にメンテナンスが予定されている、障害が発生している、1週間以内に減設が予定されているなど)により、そのS-CSCF400を使用するか否かを決定する。I-CSCF300は、使用しないS-CSCFをリストから排除した後に、S-CSCFの選択を行う(詳細は(B)I-CSCFがS-CSCFリストからS-CSCFを選択する方法で後述する)。
【0064】
なお、HSS500がI-CSCF300に能力情報を含むS-CSCFのリストを通知する際に、このリスト中の順番を順次組み替える(例えば、I-CSCFへの通知毎に、先頭にあるS-CSCF400のエントリを末尾に移動する、など)ことも可能である。
【0065】
(B)S-CSCFのリストからI-CSCFがS-CSCFを選択する方法:
本実施の形態では、HSS500から能力情報を含むS-CSCF400のリストを取得し、メモリ(図示せず)に一旦格納し、場合によってはそのリストから使用しないS-CSCF400のエントリを排除したI-CSCF300が、このリストを用いてS-CSCF400を選択する方法に関する。
【0066】
S-CSCF400の選択方法として、以下の5つが考えられる。
【0067】
(1)先頭にあるものを選択する:
S-CSCF400のリストの先頭にあるものを選択する。
【0068】
前述の(A)で述べたように、HSS500 がI-CSCF300に能力情報を含むS-CSCFのリストを通知するごとに、このリスト中の順番を順次組み替える(例えば、I-CSCF300への通知毎に、先頭にあるS-CSCFのエントリを末尾に移動する、など)こととしていれば、ラウンドロビンによりS-CSCF400を選択することができる。
【0069】
(2)ランダムに選択する:
S-CSCF400のリストからランダムにS-CSCF400を選択する。ランダムでS-CSCF400の選択を行う場合には、能力情報やS-CSCF400からの拒否率もしくは拒否回数により重みを付ける方法も考えられる。
【0070】
例えば、S-CSCF400の処理能力をs, 拒否率をp, 任意の定数をNとした場合に、重み関数w(s,p)を式(1)のように定義し、あるS-CSCF(番号i)を選択する確率qiを式(2)のように定義する方法が考えられる。
【0071】
【数1】
【0072】
【数2】
なお、この時Kは、I-CSCF300が持つ能力情報を含むS-CSCFのリストに含まれるS-CSCF400のうち、必須能力を満たすものの集合である。
【0073】
重みを決定する方法の例として、以下のものが考えられる。重みの初期値を一定値(例えば、1)としておき、各S-CSCFが拒否をした際に重みを変動させる方法である。これには、以下の(a),(b)の2通りの方法がある。
【0074】
(a)一定周期毎の拒否率を元に、重みを減算していく方法:
I-CSCF300は、現時点までにREGISTERを送信したことのあるS-CSCF400について、重みw、登録成功回数s、拒否回数f,拒否率p(=f/(s+f))をメモリ(図示せず)に保持している。新しいS-CSCFについては、重みは初期値、拒否率は0とする。この例を図13に示す。I-CSCFがS-CSCFにREGISTERを送信した際には、登録の成否の回数をI-CSCFは記録し、拒否率を保持する。
【0075】
一定周期(例えば、1時間など)毎に、この拒否率を元に各S-CSCFの重みを更新する。この更新には、例えば勾配法を用いることができ、この場合は、例えば、以下の式(3)のように重みが計算される。
【0076】
【数3】
なお、ここで、iはS-CSCFの番号、pは前述の一定周期(例えば、1時間)毎に計測される拒否率、Δは定数である。
【0077】
なお、一定周期毎に、これらの減算されたS-CSCFの重みの正規化(重みの合計を1にするなど)を行ってもよい。また、一定周期毎に、この拒否率pをリセット(即ち登録成功回数sと登録失敗回数fを0にリセットする)してもよい。
【0078】
b)S-CSCF400が拒否を行う度に、重みを減算していく方法:
I-CSCF300が選択したS-CSCF400が登録を拒否した際に、重みを変動させる方法もある。
【0079】
I-CSCF300は、現時点までにREGISTERを送信したことのあるS-CSCF400について、重みwを保持している。新しいS-CSCFについては、重みは初期値とする。この例を図14に示す。I-CSCF300がS-CSCF400にREGISTERを送信した際、登録が失敗した場合には、この重みを例えば式(4)などにより減算する。なお、ここでΔは定数である。
【0080】
【数4】
なお、一定周期毎に、これらの減算されたS-CSCF400の重みの正規化(重みの合計を1にするなど)を行ってもよい。
【0081】
これらのアルゴリズムを用いた場合、負荷が一定以上に達しているS-CSCFにそれ以上のメッセージを送信しない、ということが可能になる。
【0082】
(3)S-CSCFの能力情報を参照し、UEの求める能力の合致する割合の高い順に選択する:
IMS標準規定(非特許文献1)では、I-CSCF300は端末の登録の際にUE100が求めるS-CSCFの能力に合致したS-CSCF400を選択することとしている。代替S-CSCFを選択する際にも、I-CSCF300がHSS500から取得した能力情報を含むS-CSC400Fのリストを参照することで、最初に選んだS-CSCF400aの次に適切なS-CSCF400bを選択する。この選択は、前述の[1]に記述したものと同様、例えばUE100の求める能力(例えば課金管理の必要性やS-CSCF400に求める処理速度など)に合致する程度(例えば課金管理等ではその処理能力の有無、もしくは処理速度ではある一定の閾値など)により行われる。
【0083】
(4)過去のS-CSCFの拒否の割合を参照し、なるべく拒否の割合の少ないS-CSCFを選択する:
I-CSCF300は、過去に選択したS-CSCF400から、どのくらいの割合で登録拒否を受信したかを記録することができる。例えば、対象S-CSCF400毎に選択の試行回数と拒否された回数をメモリ(図示せず)に記録し、拒否率(p=f/(s+f))(但し、s=登録成功回数、f=拒否回数))を算出する。なお、試行回数が一定数(例えば10回など)以下の場合は、拒否率を特別に0とする。この例を図15に示す。また、各試行について時間と成否を当該I-CSCF300のメモリ(図示せず)に記録していき(この例を図16に示す)、一定時間もしくは一定回数(例えば1時間もしくは100回など)以上経過したデータについては削除し、削除した際には拒否率を再計算する。
【0084】
この情報をもとに、例えば一定以上の拒否率を持つS-CSCFは一定時間選択しない、などの方法が考えられる。例えば、拒否率が一定以上になった時刻を各S-CSCF400毎に記録しておき、S-CSCF選択時点の時刻との差が一定時間(例えば30分、48時間など)以内であった場合は当該S-CSCFを選択の対象から外す方法がある。
【0085】
これにより、例えばS-CSCF400が負荷状況を基準に拒否を行っている場合には、負荷が高くメッセージの受付が不可能なS-CSCFにメッセージが送信され続けることを防ぎ、S-CSCFをサーバダウンから保護することができる。
【0086】
(5)上記の組み合わせ:
上記の(1)〜(4)の方法を組み合わせることにより、例えばUE100の求める能力に合致するS-CSCFを選択することを原則とするが、負荷が高いと思われる S-CSCFの選択を避ける、等の方法が考えられる。
【0087】
[第2の実施の形態]
本実施の形態では、上記の第1の実施の形態においてI-CSCF300からS-CSCF400にREGISTERメッセージを送信を送信した際に、S-CSCF400が登録を拒否もしくは登録がタイムアウトした場合の対応について説明する。
【0088】
図17は、本発明の第2の実施の形態におけるシーケンスを示す。
【0089】
図17(a)に示すように、I-CSCF300がS-CSCF400にREGISTERメッセージの送信を行った際、S-CSCF400はある基準により(例えば、負荷が一定以上である場合、などオペレータ等が初期設定もしくは再設定により指定する方法が考えられる。) これを拒否することができる。メッセージが拒否されなかった場合には、S-CSCF400はHSS500からの認証ベクトルの取得及びチャレンジの生成を行う(これは、前述の実施の形態と同様である)。
【0090】
一方、図17(b)に示すように、メッセージが拒否された場合、あるいはS-CSCF400aへのREGISTERメッセージの送信がタイムアウトとなった場合、I-CSCF300は、HSS500にS-CSCF情報を問い合わせた際に取得したリストの中から、異なるS-CSCF400bを代替S-CSCFとして選択し、再度REGISTERメッセージを送信する(手順2)。なお、このときの代替S-CSCFの選択にも、第1の実施の形態における(B)で述べたような選択の仕方をすることによりS-CSCF400の使用可否もしくは状況を反映することができる。I-CSCF300からの再度のREGISTERを受信したS-CSCF400bは、HSS500からの認証ベクトルの取得及びチャレンジの生成を行う。なお、2度目に選択されたS-CSCF400bからも拒否された場合には、前述の手順1または手順2から再度行う。3度目以降に拒否された場合も同様である。このように代替S-CSCFの選択を繰り返すが、オペレータの設定などにより、ある時点で(例えば合計10のS-CSCFから拒否された場合もしくはタイムアウトした場合)S-CSCFの選択処理を停止し、エラーを返すことも可能である。
【0091】
なお、上記の処理において、第1の実施の形態に関連するが、REGISTERメッセージが拒否された場合は、メモリ(図示せず)に拒否された回数を記録するものとする。
【0092】
[第3の実施の形態]
本実施の形態では、従来技術(イ)における代替S-CSCF選択時の能力情報を利用する例を説明する。
【0093】
従来技術(イ)を改良することによっても、能力情報を反映した代替S-CSCF選択が可能である。機能図は図4に示したものと同様である。
【0094】
(1)LDFがS-CSCFの負荷情報だけでなく能力情報も収集する方法:
シーケンスを図18に示す。LDF600600はS-CSCF400から負荷情報だけでなく能力情報の定期的な通知を受け、LDFは各S-CSCF400の負荷情報および能力情報を蓄積し、複数のS-CSCFに通知し保持させる。各S-CSCFは自らだけでなく、他のS-CSCFの負荷情報および能力情報も共有している。
【0095】
UE100がS-CSCF400に対して登録を行う場合、UE100からの登録要求をP-CSCF300及びI-CSCF300が受け付ける(ステップ301,302)。I-CSCF300はHSS500に対して、能力情報を含むS-CSCF400のリストを要求し(ステップ303)、取得する(ステップ304)。I-CSCF300は、この能力情報を用いてUE100にとって適切なS-CSCF400を選択し、登録要求を送信する(ステップ305)。登録要求を受信したS-CSCF400aが過負荷であった場合には、S-CSCF400aは、共有している負荷情報及び能力情報をもとに、低負荷なS-CSCF400bへのリダイレクトをI-CSCF300に通知する(ステップ306)。これを受けて、I-CSCF300は代替S-CSCF400bに再度登録要求を送信する(ステップ307)。
【0096】
(2)S-CSCFがリダイレクト先を指定する際に、複数の代替S-CSCFをI-CSCFに通知する方法:
シーケンスを図19に示す。LDF600はS-CSCF400から負荷情報の定期的な通知を受け、LDF600は各S-CSCF400の負荷情報を内部の記憶手段(例えば、メモリ)に蓄積し、複数のS-CSCF400に通知し保持させる。各S-CSCF400は自らだけでなく、他のS-CSCFの負荷情報も共有している。
【0097】
UE100がS-CSCF400に対して登録を行う場合、UE100からの登録要求をP-CSCF300及びI-CSCF300が受け付ける(ステップ401,402)。I-CSCF300はHSS500に対して、能力情報を含むS-CSCFのリストを要求し(ステップ403)、取得する(ステップ404)。I-CSCF300は、この能力情報を用いてUE100にとって適切なS-CSCF400(400a)を選択し、登録要求を送信する(ステップ405)。登録要求を受信したS-CSCF400aが過負荷であった場合には、S-CSCF400aは、共有している負荷情報をもとに、低負荷なS-CSCFを複数個、I-CSCF300に通知する(ステップ406)。これを受けて、I-CSCF300は複数のS-CSCFのうちどれを代替S-CSCFとして用いるか、能力情報をもとに判断し、適切なS-CSCF400bを代替S-CSCFと決定し、この代替S-CSCF再度登録要求を送信する(ステップ407)。
【0098】
なお、I-CSCF300の動作をプログラムとして構築し、I-CSCF(サーバ選択装置)として利用されるコンピュータにインストールする、または、ネットワークを介して流通させることが可能である。
【0099】
また、構築されたプログラムをハードディスク、フレキシブルディスク、CD-ROM等の可搬記憶媒体に格納して、コンピュータにインストールする、または、ネットワークを介して流通させることが可能である。
【0100】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【0101】
100 クライアント(UE)
200 プロキシサーバ(P-CSCF)
300 サーバ選択機能(I-CSCF)
301 端末・ユーザ情報取得部
302 メッセージ転送先選択部
303 メッセージ転送部
400 サーバ(S-CSCF)
500 サーバ情報DB(HSS)
600 負荷情報収集機能(LDF)
【特許請求の範囲】
【請求項1】
IMS(Internet protocol Multimedia Subsystem)アーキテクチャにおいてクライアントを登録するサーバを選択するシステムにおけるサーバ負荷分散方法であって、
少なくとも、
ユーザが使用するクライアントの端末と、
クライアントのユーザ情報及びセッション制御サーバの能力情報を含む当該セッション制御サーバの状況に関するサーバ情報を保持する記憶装置と、
呼制御を行うセッション制御サーバと、
クライアントから登録要求を受け付け、負荷の少ないセッション制御サーバを選択するサーバ選択装置と、
を有するシステムにおいて、
前記サーバ選択装置が、
前記クライアントの端末から登録要求を取得すると、前記記憶装置にアクセスすることにより前記サーバ情報リストを取得し、サーバ情報リスト記憶手段に格納し、前記クライアントを登録するセッション制御サーバを選択するサーバ選択ステップと、
前記サーバ選択ステップで選択されたセッション制御サーバに前記登録要求を送信する登録要求ステップと、
前記セッション制御サーバから登録を拒否された場合、または、タイムアウトとなった場合には、前記サーバ情報リスト記憶手段から別のサーバを選択して、該別のセッション制御サーバに対して前記登録要求を送信する代替サーバ選択ステップと、
を行うことを特徴とするサーバ負荷分散方法。
【請求項2】
前記サーバ選択ステップにおいて、
前記サーバ情報リスト記憶手段に格納されている前記サーバ情報リストから、必須条件を満たさないセッション制御サーバを削除し、各セッション制御サーバの能力情報及び負荷状況に応じて前記登録要求を送信するセッション制御サーバを選択する
請求項1記載のサーバ負荷分散方法。
【請求項3】
前記代替サーバ選択ステップにおいて、
前記セッション制御サーバから登録を拒否された場合には、前記サーバ情報リスト記憶手段に拒否回数を記録し、
前記前記サーバ情報リスト記憶手段に格納されている前記セッション制御サーバの能力情報、該セッション制御サーバの拒否率または拒否回数に基づいて重み付けし、該重みに基づいてセッション制御サーバを選択する
請求項1記載のサーバ負荷分散方法。
【請求項4】
前記サーバ選択ステップ、または、前記代替サーバ選択ステップにおいて、
前記サーバ情報リスト記憶手段の前記セッション制御サーバの能力情報を参照し、前記クライアントが求める能力に合致する割合の高い順に前記セッション制御サーバを選択する
請求項1乃至3のいずれか1項に記載のサーバ負荷分散方法。
【請求項5】
IMS(Internet protocol Multimedia Subsystem)アーキテクチャにおいてクライアントを登録するサーバを選択するサーバ負荷分散システムであって、
少なくとも、
ユーザが使用するクライアントの端末と、
クライアントのユーザ情報及びセッション制御サーバの能力情報を含む当該セッション制御サーバの状況に関するサーバ情報を保持する記憶装置と、
呼制御を行うセッション制御サーバと、
クライアントから登録要求を受け付け、負荷の少ないセッション制御サーバを選択するサーバ選択装置と、
を有し、
前記サーバ選択装置は、
前記クライアントの端末から登録要求を取得すると、前記記憶装置にアクセスすることにより前記サーバ情報リストを取得し、サーバ情報リスト記憶手段に格納し、前記クライアントを登録するセッション制御サーバを選択するサーバ選択手段と、
前記サーバ選択手段により選択されたセッション制御サーバに前記登録要求を送信する登録要求手段と、
前記セッション制御サーバから登録を拒否された場合、または、タイムアウトとなった場合には、前記サーバ情報リスト記憶手段から別のサーバを選択して、該別のセッション制御サーバに対して前記登録要求を送信する代替サーバ選択手段と、
を有することを特徴とするサーバ負荷分散システム。
【請求項6】
前記サーバ選択手段は、
前記サーバ情報リスト記憶手段に格納されているサーバ情報リストから必須条件を満たさないセッション制御サーバを削除し、各セッション制御サーバの能力情報及び負荷状況に応じて前記登録要求を送信するセッション制御サーバを選択する[0]手段を含む
請求項5記載のサーバ負荷分散システム。
【請求項7】
前記サーバ選択手段、または、前記代替サーバ選択手段は、
前記セッション制御サーバから登録を拒否された場合には、前記サーバ情報リスト記憶手段に拒否回数を記録する手段と、
前記前記サーバ情報リスト記憶手段に格納されている前記セッション制御サーバの能力情報、該セッション制御サーバの拒否率または拒否回数に基づいて重み付けし、該重みに基づいてセッション制御サーバを選択する手段を含む
請求項5記載のサーバ負荷分散システム。
【請求項8】
前記サーバ選択手段、または、前記代替サーバ選択手段は、
前記サーバ情報リスト記憶手段の前記セッション制御サーバの能力情報を参照し、前記クライアントが求める能力に合致する割合の高い順に前記セッション制御サーバを選択する手段を含む
請求項5乃至7のいずれか1項に記載のサーバ負荷分散システム。
【請求項9】
少なくとも、
ユーザが使用するクライアントの端末と、
クライアントのユーザ情報及びセッション制御サーバの能力情報を含む当該セッション制御サーバの状況に関するサーバ情報を保持する記憶装置と、
呼制御を行うセッション制御サーバと、
クライアントから登録要求を受け付け、負荷の少ないセッション制御サーバを選択するサーバ選択装置と、
を有し、IMS(Internet protocol Multimedia Subsystem)アーキテクチャにおいてクライアントを登録するサーバを選択するサーバ負荷分散システムにおける、サーバ選択装置であって、
前記クライアントの端末から登録要求を取得すると、前記記憶装置にアクセスすることにより前記サーバ情報リストを取得し、サーバ情報リスト記憶手段に格納し、前記クライアントを登録するセッション制御サーバを選択するサーバ選択手段と、
前記サーバ選択手段により選択されたセッション制御サーバに前記登録要求を送信する登録要求手段と、
前記セッション制御サーバから登録を拒否された場合、または、タイムアウトとなった場合には、前記サーバ情報リスト記憶手段から別のサーバを選択して、該別のセッション制御サーバに対して前記登録要求を送信する代替サーバ選択手段と、を有し、
前記サーバ選択手段は、
前記サーバ情報リスト記憶手段に格納されている前記サーバ情報リストから、必須条件を満たさないセッション制御サーバを削除し、各セッション制御サーバの能力情報及び負荷状況に応じて前記登録要求を送信するセッション制御サーバを選択する[0]手段、
または、
前記サーバ情報リスト記憶手段の前記セッション制御サーバの能力情報を参照し、前記クライアントが求める能力に合致する割合の高い順に前記セッション制御サーバを選択する手段、
または、
前記サーバ情報リスト記憶手段に拒否回数を記録し、該サーバ情報リスト記憶手段に格納されている前記セッション制御サーバの能力情報、該セッション制御サーバの拒否率または拒否回数に基づいて重み付けし、該重みに基づいてセッション制御サーバを選択する手段
の少なくとも1つを含み、
前記代替サーバ選択手段は、
前記セッション制御サーバから登録を拒否された場合には、前記サーバ情報リスト記憶手段に拒否回数を記録し、該サーバ情報リスト記憶手段に格納されている前記セッション制御サーバの能力情報、該セッション制御サーバの拒否率または拒否回数に基づいて重み付けし、該重みに基づいてセッション制御サーバを選択する手段、
または、
前記サーバ情報リスト記憶手段の前記セッション制御サーバの能力情報を参照し、前記クライアントが求める能力に合致する割合の高い順に前記セッション制御サーバを選択する手段
の少なくともいずれかを含む、
ことを特徴とするサーバ選択装置。
【請求項10】
請求項9に記載のサーバ選択装置を構成する各手段としてコンピュータを機能させるためのサーバ負荷分散プログラム。
【請求項1】
IMS(Internet protocol Multimedia Subsystem)アーキテクチャにおいてクライアントを登録するサーバを選択するシステムにおけるサーバ負荷分散方法であって、
少なくとも、
ユーザが使用するクライアントの端末と、
クライアントのユーザ情報及びセッション制御サーバの能力情報を含む当該セッション制御サーバの状況に関するサーバ情報を保持する記憶装置と、
呼制御を行うセッション制御サーバと、
クライアントから登録要求を受け付け、負荷の少ないセッション制御サーバを選択するサーバ選択装置と、
を有するシステムにおいて、
前記サーバ選択装置が、
前記クライアントの端末から登録要求を取得すると、前記記憶装置にアクセスすることにより前記サーバ情報リストを取得し、サーバ情報リスト記憶手段に格納し、前記クライアントを登録するセッション制御サーバを選択するサーバ選択ステップと、
前記サーバ選択ステップで選択されたセッション制御サーバに前記登録要求を送信する登録要求ステップと、
前記セッション制御サーバから登録を拒否された場合、または、タイムアウトとなった場合には、前記サーバ情報リスト記憶手段から別のサーバを選択して、該別のセッション制御サーバに対して前記登録要求を送信する代替サーバ選択ステップと、
を行うことを特徴とするサーバ負荷分散方法。
【請求項2】
前記サーバ選択ステップにおいて、
前記サーバ情報リスト記憶手段に格納されている前記サーバ情報リストから、必須条件を満たさないセッション制御サーバを削除し、各セッション制御サーバの能力情報及び負荷状況に応じて前記登録要求を送信するセッション制御サーバを選択する
請求項1記載のサーバ負荷分散方法。
【請求項3】
前記代替サーバ選択ステップにおいて、
前記セッション制御サーバから登録を拒否された場合には、前記サーバ情報リスト記憶手段に拒否回数を記録し、
前記前記サーバ情報リスト記憶手段に格納されている前記セッション制御サーバの能力情報、該セッション制御サーバの拒否率または拒否回数に基づいて重み付けし、該重みに基づいてセッション制御サーバを選択する
請求項1記載のサーバ負荷分散方法。
【請求項4】
前記サーバ選択ステップ、または、前記代替サーバ選択ステップにおいて、
前記サーバ情報リスト記憶手段の前記セッション制御サーバの能力情報を参照し、前記クライアントが求める能力に合致する割合の高い順に前記セッション制御サーバを選択する
請求項1乃至3のいずれか1項に記載のサーバ負荷分散方法。
【請求項5】
IMS(Internet protocol Multimedia Subsystem)アーキテクチャにおいてクライアントを登録するサーバを選択するサーバ負荷分散システムであって、
少なくとも、
ユーザが使用するクライアントの端末と、
クライアントのユーザ情報及びセッション制御サーバの能力情報を含む当該セッション制御サーバの状況に関するサーバ情報を保持する記憶装置と、
呼制御を行うセッション制御サーバと、
クライアントから登録要求を受け付け、負荷の少ないセッション制御サーバを選択するサーバ選択装置と、
を有し、
前記サーバ選択装置は、
前記クライアントの端末から登録要求を取得すると、前記記憶装置にアクセスすることにより前記サーバ情報リストを取得し、サーバ情報リスト記憶手段に格納し、前記クライアントを登録するセッション制御サーバを選択するサーバ選択手段と、
前記サーバ選択手段により選択されたセッション制御サーバに前記登録要求を送信する登録要求手段と、
前記セッション制御サーバから登録を拒否された場合、または、タイムアウトとなった場合には、前記サーバ情報リスト記憶手段から別のサーバを選択して、該別のセッション制御サーバに対して前記登録要求を送信する代替サーバ選択手段と、
を有することを特徴とするサーバ負荷分散システム。
【請求項6】
前記サーバ選択手段は、
前記サーバ情報リスト記憶手段に格納されているサーバ情報リストから必須条件を満たさないセッション制御サーバを削除し、各セッション制御サーバの能力情報及び負荷状況に応じて前記登録要求を送信するセッション制御サーバを選択する[0]手段を含む
請求項5記載のサーバ負荷分散システム。
【請求項7】
前記サーバ選択手段、または、前記代替サーバ選択手段は、
前記セッション制御サーバから登録を拒否された場合には、前記サーバ情報リスト記憶手段に拒否回数を記録する手段と、
前記前記サーバ情報リスト記憶手段に格納されている前記セッション制御サーバの能力情報、該セッション制御サーバの拒否率または拒否回数に基づいて重み付けし、該重みに基づいてセッション制御サーバを選択する手段を含む
請求項5記載のサーバ負荷分散システム。
【請求項8】
前記サーバ選択手段、または、前記代替サーバ選択手段は、
前記サーバ情報リスト記憶手段の前記セッション制御サーバの能力情報を参照し、前記クライアントが求める能力に合致する割合の高い順に前記セッション制御サーバを選択する手段を含む
請求項5乃至7のいずれか1項に記載のサーバ負荷分散システム。
【請求項9】
少なくとも、
ユーザが使用するクライアントの端末と、
クライアントのユーザ情報及びセッション制御サーバの能力情報を含む当該セッション制御サーバの状況に関するサーバ情報を保持する記憶装置と、
呼制御を行うセッション制御サーバと、
クライアントから登録要求を受け付け、負荷の少ないセッション制御サーバを選択するサーバ選択装置と、
を有し、IMS(Internet protocol Multimedia Subsystem)アーキテクチャにおいてクライアントを登録するサーバを選択するサーバ負荷分散システムにおける、サーバ選択装置であって、
前記クライアントの端末から登録要求を取得すると、前記記憶装置にアクセスすることにより前記サーバ情報リストを取得し、サーバ情報リスト記憶手段に格納し、前記クライアントを登録するセッション制御サーバを選択するサーバ選択手段と、
前記サーバ選択手段により選択されたセッション制御サーバに前記登録要求を送信する登録要求手段と、
前記セッション制御サーバから登録を拒否された場合、または、タイムアウトとなった場合には、前記サーバ情報リスト記憶手段から別のサーバを選択して、該別のセッション制御サーバに対して前記登録要求を送信する代替サーバ選択手段と、を有し、
前記サーバ選択手段は、
前記サーバ情報リスト記憶手段に格納されている前記サーバ情報リストから、必須条件を満たさないセッション制御サーバを削除し、各セッション制御サーバの能力情報及び負荷状況に応じて前記登録要求を送信するセッション制御サーバを選択する[0]手段、
または、
前記サーバ情報リスト記憶手段の前記セッション制御サーバの能力情報を参照し、前記クライアントが求める能力に合致する割合の高い順に前記セッション制御サーバを選択する手段、
または、
前記サーバ情報リスト記憶手段に拒否回数を記録し、該サーバ情報リスト記憶手段に格納されている前記セッション制御サーバの能力情報、該セッション制御サーバの拒否率または拒否回数に基づいて重み付けし、該重みに基づいてセッション制御サーバを選択する手段
の少なくとも1つを含み、
前記代替サーバ選択手段は、
前記セッション制御サーバから登録を拒否された場合には、前記サーバ情報リスト記憶手段に拒否回数を記録し、該サーバ情報リスト記憶手段に格納されている前記セッション制御サーバの能力情報、該セッション制御サーバの拒否率または拒否回数に基づいて重み付けし、該重みに基づいてセッション制御サーバを選択する手段、
または、
前記サーバ情報リスト記憶手段の前記セッション制御サーバの能力情報を参照し、前記クライアントが求める能力に合致する割合の高い順に前記セッション制御サーバを選択する手段
の少なくともいずれかを含む、
ことを特徴とするサーバ選択装置。
【請求項10】
請求項9に記載のサーバ選択装置を構成する各手段としてコンピュータを機能させるためのサーバ負荷分散プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2012−44623(P2012−44623A)
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願番号】特願2010−186632(P2010−186632)
【出願日】平成22年8月23日(2010.8.23)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願日】平成22年8月23日(2010.8.23)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]