説明

サーバ装置およびその通信方法

【課題】サーバにおいて、端末から要求された処理の受付拒否を低減する。
【解決手段】サーバ装置2は、端末4をユーザ別に収容するノードがリンクにより他のノードに接続された通信システム1において、ノードをルータと共に構成し、ユーザ毎に、当該サーバ装置2のサーバ処理能力に対する、当該ユーザに割り当てた単位時間当たりのサーバ処理量を示すCPU使用率を継続的に計測する割当CPU使用率監視部14と、ユーザが利用する端末4から他の端末4とのセッションの生成を要求する要求信号を受け付ける処理受付部11と、計測されたCPU使用率が当該ユーザとの契約で予め定めた契約CPU使用率を超えた場合、受け付けた要求信号を処理するための制御信号を所定の遅延時間だけ遅延させる遅延挿入部12と、遅延させた制御信号または遅延させていない制御信号に応じて当該受け付けた要求信号で要求された処理を実行する処理実行部13とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信ネットワークに係り、特に、通信ネットワークのノードをルータと共に構成するサーバ装置およびその通信方法に関する。
【背景技術】
【0002】
従来、ユーザが通信に利用する音声端末等のユーザ端末と、その相手先のユーザが利用するユーザ端末との間の通信ネットワークを構成する伝送路(リンク)の交点には、通信ノードとして交換機が配置されている。各ユーザは、通信サービスを享受するために、例えば、専用回線または常時接続の契約の場合、回線速度(帯域)によって、通信事業者と回線の契約を行っている。なお、通信サービスが通常の通話の場合、距離と通話時間にて課金しているため、契約の方法は、この限りではない。
【0003】
また、通信ネットワークとして、例えば、IP(Internet Protocol)を使用したネットワークでは、通信ノードは、サーバとルータとの組で構成される。通信ノードに配置されるこれらの装置や従来の交換機は、予め必要な場所に必要な規模の装置が設置されており、固定的に運用されている。ゆえに、予め場所毎に予想される必要最大規模を設置しておく必要があり、全国的に見ると使用効率が低いノードが各地に多数存在することになるため、非効率的である。また、予想を超えた突発的なトラヒックが発生した場合は、ノードの処理能力オーバーによりノードが正常に機能しなくなることを防止するため、該当ノードへ接続要求を受け付けない仕様になっている。
【0004】
例えばIPを使用したネットワークの1つであるNGN(Next Generation Network)を支えるネットワーク基盤技術において、通信に必要なネットワーク帯域の割り付け方法として検討されている動的割り付け方式では、一時的な混雑などの状況により、通信の開始時に必要なネットワーク帯域が割り付けられない場合は呼損となる。この動的割り付け方式のネットワークの設計では、サービスにおいて呼損率の品質目標を考慮しながらリソース設計を行うことが考えられている(例えば、非特許文献1参照)。
【0005】
非特許文献1には、NGNにおける品質制御の動作例が、端末間で情報交換を行うためのプロトコルであるSIP(Session Initiation Protocol)を活用して紹介されている。SIPは、アプリケーション層で2つ以上の相手に対して、音声や映像、テキストメッセージの交換などを行うために必要なセッションの生成・変更・切断を行うプロトコルであり、IP電話、テレビ電話、ビデオチャット、テレビ会議、インスタントメッセンジャーなど様々なリアルタイム性が要求されるアプリケーションで採用が進んでいる。SIPは、端末(User Agent:UA)間でセッションの生成、変更、切断を行うのみのプロトコルであり、セッション上で交換されるデータそのものについては定めていない。したがって、アプリケーションが、SIPによって制御されたセッション上で、音声のやりとりを行えばIP電話、音声と映像ならばテレビ電話、テキストメッセージならばインスタントメッセンジャーというように幅広い応用が可能となる。なお、SIPの詳細な規定はRFC3261に記載されている。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】笠原英樹、錦戸淳、織田一弘、大西邦宏、梶山義夫:“次世代ネットワークを支えるネットワーク基盤技術”、NTT技術ジャーナル、2007、Vol.19、No.4、p.38‐73
【発明の概要】
【発明が解決しようとする課題】
【0007】
従来の通信ネットワーク(例えば、NGNなどのIP等を使用したネットワーク)、あるいは、将来の通信ネットワークで想定している仕様では、ユーザ端末が、そのユーザ端末を収容する通信ノードのサーバに対して、当該ユーザの契約している、サーバの契約処理能力を超える処理の要求を行うと、サーバの処理能力が規定以上になり、サーバは、新たなセッションの生成要求を受け付けずに、処理の受付を拒否する。したがって、通話の場合は呼損となってしまう。
【0008】
ところで、従来の通信ネットワーク、あるいは将来の通信ネットワークにおいて、ユーザと事業者との従来の通常の契約形態ではなく、現在は未だ存在しないが、将来、ユーザが使用可能な単位時間当たりのサーバの処理能力による契約形態が導入される可能性が考えられる。ただし、この新規な契約形態については、検討されている段階であって未だ評価が定まっておらず、このような契約形態を導入しても、サーバの契約処理能力を超える処理の要求があったっときに、処理の受付を拒否することに変わりはない。そのため、従来の通信ネットワーク、あるいは将来の通信ネットワークにおいて、このような新規な契約形態を前提とした場合に、例えば呼損を低減して呼の完了率を高める技術が要望されている。
そこで、本発明では、前記した事情に鑑みて成されたものであり、通信ネットワークのノードを構成するサーバ装置において端末から要求された処理の受付拒否を低減することのできるサーバ装置および通信方法を提供することを課題とする。
【課題を解決するための手段】
【0009】
本発明は、従来の通信ネットワーク、あるいは将来の通信ネットワークにおいて、ユーザが単位時間当たりのサーバの処理能力で契約する形態を前提とする。その上で、前記課題を解決するために、本発明に係るサーバ装置は、契約ユーザが利用する1以上の通信端末を前記契約ユーザ別に収容する通信ノードがリンクにより他の通信ノードに接続された通信システムにおいて、前記通信ノードをルータと共に構成するサーバ装置であって、前記契約ユーザ毎に、当該サーバ装置のサーバ処理能力に対する、当該契約ユーザに割り当てた単位時間当たりのサーバ処理量を示すCPU使用率を予め定められたタイミングで継続的に計測する割当CPU使用率監視手段と、前記契約ユーザが利用する通信端末から、他の通信端末とのセッションの生成または切断を要求する要求信号を受け付ける処理受付手段と、前記受け付けた要求信号がセッションの生成を要求するものであって、かつ、前記計測されたCPU使用率が当該契約ユーザとの契約で予め定めた契約CPU使用率を超えた場合、前記受け付けた要求信号を処理するための制御信号を所定の遅延時間だけ遅延させる遅延挿入手段と、遅延させた前記制御信号に応じて当該受け付けた要求信号で要求されたセッションを生成する処理を実行し、遅延させていない前記制御信号に応じて当該受け付けた要求信号で要求されたセッションを生成する処理または切断処理を実行する処理実行手段と、を備えることを特徴とする。
【0010】
かかる構成によれば、サーバ装置は、収容する通信端末から、当該通信端末を利用する契約ユーザに対する単位時間当たりの契約処理能力を超える処理の要求を受けると、当該契約ユーザに対して備える遅延挿入手段によって、受け付けた要求信号を処理するための制御信号を所定の遅延時間だけ遅延させ、その後、処理実行手段によって、要求されたセッションを生成する処理を実行する。ここで、契約処理能力は、サーバ装置が契約ユーザに対して割り当てている、単位時間当たりのサーバ処理能力を示す。また、かかる構成によれば、サーバ装置は、遅延を挿入することで負荷が軽減され、契約ユーザに対して割り当てた単位時間当たりの処理能力を、当該契約ユーザの契約処理能力内に収めることができる。そのため、サーバ装置は、通信端末から要求された処理の受付拒否を低減することができる。その結果、ユーザは、本来なら契約処理能力を超えて受け付けられないはずだったセッション確立要求を受け付けてもらえるようになる。
【0011】
また、本発明に係るサーバ装置は、前記遅延挿入手段が、前記処理受付手段で受け付けた要求信号がセッションの生成と切断のいずれを要求するものであるかを判別するセッション要求判別手段と、前記受け付けた要求信号がセッションの生成を要求するものである場合、前記割当CPU使用率監視手段で計測されたCPU使用率が前記契約CPU使用率を超えたか否かを判別する処理負荷判別手段と、前記計測されたCPU使用率が前記契約CPU使用率を超えた場合、前記制御信号を遅延させる遅延時間を予め定められた規則にしたがって設定する遅延設定処理手段と、前記制御信号を前記設定された遅延時間だけ遅延させる遅延手段と、前記受け付けた要求信号がセッションの生成を要求するものである場合、その旨を前記遅延時間だけ遅延させた前記制御信号または遅延させていない前記制御信号により前記処理実行手段に通知し、前記受け付けた要求信号がセッションの切断を要求するものである場合、その旨を遅延させていない前記制御信号により前記処理実行手段に通知するセッション要求通知手段と、を備えることが好ましい。
【0012】
かかる構成によれば、サーバ装置は、処理負荷判別手段による判別結果に応じて遅延時間を設定する遅延設定処理手段を備えるので、計測されたCPU使用率が契約CPU使用率を超えた場合、遅延時間を予め定められた規則にしたがって設定することができる。ここで、処理負荷判別手段による判別において基準とする契約CPU使用率との比較に用いる比較値である、計測されたCPU使用率は、割当CPU使用率監視手段によって、予め定められたタイミングで継続的に計測されるものである。したがって、処理負荷判別手段は、当該タイミングで割当CPU使用率監視手段から通知される割込信号で通知されるCPU使用率で比較値を更新する。これにより、サーバ装置は、計測された最新のCPU使用率を判定に用いることができるので、通信端末から要求された処理の受付拒否を効率よく低減することができる。
【0013】
また、本発明に係るサーバ装置は、前記遅延設定処理手段が、前記割当CPU使用率監視手段にて計測されているCPU使用率が前記契約CPU使用率以下となった場合、前記遅延時間が設定されているか否かを判別する遅延有無判別手段と、前記計測されているCPU使用率が前記契約CPU使用率を超えた場合、前記遅延時間を現状よりも増加させて設定し、前記遅延有無判別手段において前記遅延時間が設定されていると判別された場合、当該遅延時間を現状よりも減少させて設定する遅延時間設定手段と、前記現状よりも増加させて設定された遅延時間が通信品質を保つために予め定められた限界時間を超えたか否かを判別する遅延限界判別手段とを有し、前記セッション要求通知手段が、前記設定された遅延時間が前記限界時間を超えたと判別された場合、前記通信端末から前記要求信号を受け付けた旨を前記処理実行手段に通知しないことが好ましい。
【0014】
かかる構成によれば、サーバ装置は、遅延時間設定手段を備えるので、遅延を挿入することで契約ユーザに対して割り当てた単位時間当たりの処理能力が契約処理能力内に復帰したら遅延挿入を止めることができる。また、かかる構成によれば、サーバ装置は、挿入した遅延が限界時間を超えた場合、通信端末から要求された処理の受付を拒否するので、通信品質を保つことができる。
【0015】
また、前記課題を解決するために、本発明に係る通信方法は、契約ユーザが利用する1以上の通信端末を前記契約ユーザ別に収容する通信ノードがリンクにより他の通信ノードに接続された通信システムにおいて、前記通信ノードをルータと共に構成するサーバ装置による通信方法であって、前記サーバ装置が、前記契約ユーザ毎に、割当CPU使用率監視手段と、処理受付手段と、遅延挿入手段と、処理実行手段と、を備え、前記割当CPU使用率監視手段によって、当該サーバ装置のサーバ処理能力に対する、単位時間当たりに当該契約ユーザに割り当てたサーバ処理量を示すCPU使用率を予め定められたタイミングで継続的に計測するステップと、前記処理受付手段によって、前記契約ユーザが利用する通信端末から、他の通信端末とのセッションの生成または切断を要求する要求信号を受け付けるステップと、前記遅延挿入手段によって、前記受け付けた要求信号がセッションの生成を要求するものであって、かつ、前記計測されたCPU使用率が当該契約ユーザとの契約で予め定めた契約CPU使用率を超えた場合、前記受け付けた要求信号を処理するための制御信号を所定の遅延時間だけ遅延させるステップと、前記処理実行手段によって、遅延させた前記制御信号に応じて当該受け付けた要求信号で要求されたセッションを生成する処理を実行し、遅延させていない前記制御信号に応じて当該受け付けた要求信号で要求されたセッションを生成する処理または切断処理を実行するステップと、を含んで実行することを特徴とする。
【0016】
かかる手順によれば、通信方法では、サーバ装置が、収容する通信端末から、当該通信端末を利用する契約ユーザに対する単位時間当たりの契約処理能力を超える処理の要求を受けると、当該契約ユーザに対して備える遅延挿入手段によって、受け付けた要求信号を処理するための制御信号を所定の遅延時間だけ遅延させ、その後、処理実行手段によって、要求されたセッションを生成する処理を実行する。したがって、通信方法によれば、遅延を挿入することでサーバ装置の負荷が軽減され、契約ユーザに対して割り当てた単位時間当たりの処理能力を、当該契約ユーザの契約処理能力内に収めることができる。そのため、サーバ装置は、通信端末から要求された処理の受付拒否を低減することができる。その結果、ユーザは、本来なら契約処理能力を超えて受け付けられないはずだったセッション確立要求を受け付けてもらえるようになる。
【0017】
また、本発明に係る通信方法は、前記遅延挿入手段によって前記制御信号を所定の遅延時間だけ遅延させるステップが、前記処理受付手段によって受け付けた要求信号がセッションの生成と切断のいずれを要求するものであるかを判別するセッション要求判別ステップと、前記受け付けた要求信号がセッションの生成を要求するものである場合、前記割当CPU使用率監視手段によって計測されたCPU使用率が前記契約CPU使用率を超えたか否かを判別する処理負荷判別ステップと、前記計測されたCPU使用率が前記契約CPU使用率を超えた場合、前記制御信号を遅延させる遅延時間を予め定められた規則にしたがって設定する遅延設定処理ステップと、前記制御信号を前記設定された遅延時間だけ遅延させる遅延ステップと、前記受け付けた要求信号がセッションの生成を要求するものである場合、その旨を前記遅延時間だけ遅延させた前記制御信号または遅延させていない前記制御信号により前記処理実行手段に通知し、前記受け付けた要求信号がセッションの切断を要求するものである場合、その旨を遅延させていない前記制御信号により前記処理実行手段に通知するセッション要求通知ステップと、を含むことが好ましい。
【0018】
かかる手順によれば、通信方法は、処理負荷判別ステップによる判別結果に応じて遅延時間を設定する遅延設定処理ステップを含むので、計測されたCPU使用率が契約CPU使用率を超えた場合、遅延時間を予め定められた規則にしたがって設定することができる。ここで、処理負荷判別ステップによる判別において用いる比較値である、計測されたCPU使用率は、割当CPU使用率監視手段によって、予め定められたタイミングで継続的に計測される。したがって、処理負荷判別ステップは、当該タイミングで割当CPU使用率監視手段から通知される割込信号で通知されるCPU使用率で比較値を更新する。これにより、サーバ装置は、計測された最新のCPU使用率を判定に用いることができるので、通信端末から要求された処理の受付拒否を効率よく低減することができる。
【0019】
また、本発明に係る通信方法は、前記遅延設定処理ステップが、前記割当CPU使用率監視手段にて計測されているCPU使用率が前記契約CPU使用率を超えた場合、前記遅延時間を現状よりも増加させて設定するステップと、前記計測されているCPU使用率が前記契約CPU使用率以下となった場合、前記遅延時間が設定されているか否かを判別する遅延有無判別ステップと、前記遅延有無判別ステップにおいて前記遅延時間が設定されていると判別された場合、当該遅延時間を現状よりも減少させて設定するステップと、前記現状よりも増加させて設定された遅延時間が通信品質を保つために予め定められた限界時間を超えたか否かを判別する遅延限界判別ステップと、を有し、前記セッション要求通知ステップが、前記設定された遅延時間が前記限界時間を超えたと判別された場合、前記通信端末から前記要求信号を受け付けた旨を前記処理実行手段に通知しないことが好ましい。
【0020】
かかる手順によれば、通信方法は、遅延時間を現状よりも減少させて設定するステップを含むので、遅延を挿入することで契約ユーザに対して割り当てた単位時間当たりの処理能力が契約処理能力内に復帰したら遅延挿入を止めることができる。また、かかる手順によれば、通信方法は、セッション要求通知ステップにて、挿入した遅延が限界時間を超えた場合、通信端末から要求された処理の受付を拒否するので、通信品質を保つことができる。
【発明の効果】
【0021】
本発明によれば、サーバ装置は、通信端末から要求された処理の受付拒否を低減することができる。その結果、呼損を低減し、呼の完了率を高めることができる。また、ユーザは、本来なら契約処理能力を超えて受け付けられないはずだったセッション確立要求を受け付けてもらえるようになる。
また、本発明によれば、サーバ装置は、通信端末からセッションの切断を要求された場合、遅延を挿入する処理を行わないため、切断が遅れることによる輻輳の冗長や余分な課金を招くことはない。
【図面の簡単な説明】
【0022】
【図1】本発明の実施形態に係るサーバ装置を含む通信システムの一例を模式的に示す構成図である。
【図2】本発明の実施形態に係るサーバ装置の一例を示すブロック図である。
【図3】本発明の実施形態に係るサーバ装置で構成するノードが収容する端末間の通信処理の流れの一例を模式的に示すシーケンス図である。
【図4】本発明の実施形態に係るサーバ装置を含む通信システムの一例を模式的に示す構成図である。
【図5】本発明の実施形態に係るサーバ装置で構成するノードが収容する端末間の通信処理の流れの一例を模式的に示すシーケンス図である。
【図6】本発明の実施形態に係るサーバ装置の遅延挿入部を示すブロック図である。
【図7】本発明の実施形態に係るサーバ装置の遅延挿入部による処理の流れを示すフローチャートである。
【図8】本発明の実施形態に係るサーバ装置の遅延挿入部による処理の具体例(その1)を示す図である。
【図9】本発明の実施形態に係るサーバ装置の遅延挿入部による処理の具体例(その2)を示す図である。
【発明を実施するための形態】
【0023】
以下、図面を参照して本発明を実施するための形態(以下「実施形態」という)について詳細に説明する。
【0024】
本発明の実施形態に係るサーバ装置を含む通信システムは、例えばNGNのようにIPパケットによってデータを転送するか、またはIP以外のパケットによってデータを転送しており、サーバ(及びルータ)によって転送制御を行っている通信ネットワークを対象としている。
【0025】
以下では、説明の都合上、第1章にて、1つの通信端末を利用する2ユーザを収容する通信ノードの形態について図1〜図3を用いて説明し、次いで、第2章にて、複数の通信端末を利用する1ユーザを収容する通信ノードの形態について図4および図5を用いて説明する。このような説明の分離は便宜的なものであって、本発明の実施形態は、両者を合わせた形態である。その後、第3章および第4章にて、通信ノードを構成するサーバ装置の特徴部である遅延挿入部の構成、その動作、および処理の具体例について詳述する。なお、以下では、一例としてSIPプロトコルを用いて説明するが、本発明はSIPに限定されるものではない。
【0026】
(1. 1つの通信端末を利用する2ユーザを収容する通信ノードの形態)
[1−1.通信システムの構成]
まず、本発明の実施形態に係るサーバ装置を含む通信システムの構成について図1を参照して説明する。図1は、本発明の実施形態に係るサーバ装置を含む通信システムの一例として、1つの通信端末を利用する2ユーザを収容する通信ノードの形態を模式的に示す構成図である。図1に示す通信システム1において、通信ノード(以下、単にノードという)Nは、通信ネットワークを構成する伝送路(リンクL)の交点に位置するリンクL以外の装置のことであり、具体的には、例えばNGNなどのIP等を使用したネットワークでは、サーバ装置2とルータ3との組が該当する。
【0027】
図1に示す例では、通信システム1は、リンクLにより互いに接続されたノードN、Nを備える。各ノードN、Nは、契約ユーザU(以下、単にユーザという)が利用する通信端末(以下、端末という)4をユーザ別に収容している。なお、図1において図示を省略したが、ノードNとノードNとの間に、端末を収容しない中継専用ノードが存在していてもよい。
端末4は、例えば、音声通話端末(IP電話)、テレビ電話機、パーソナルコンピュータ、情報携帯端末等である。この例では、端末4として、音声通話端末を図示した。
【0028】
また、ノードNは、ユーザUが利用する端末4aと、ユーザUが利用する端末4bとを収容している。同様に、ノードNは、ユーザUが利用する端末4cと、ユーザUが利用する端末4dとを収容している。逆に言えば、ユーザU、UはノードNのサーバ装置2の処理能力で回線の契約を行っており、ユーザU、UはノードNのサーバ装置2の処理能力で回線の契約を行っている。なお、これは、クラウドのPaaS(パース:Platform as a Service)が計算機リソースを切り売りすることに近い発想のサービスと言えるが、このサービスは未だ存在していない。
【0029】
この例では、例えば、ノードNのサーバ装置2は、全処理能力の一部を、2人のユーザU、Uに対して仮想的に割り当てている。ここで、仮想的な割り当てとは、例えば、次の2つの運用を含んでいる。第1の運用では、物理的に1台のサーバ装置の処理能力を例えば10とすると、その内の例えば1をユーザUの契約処理能力として割り当て、例えば2をユーザUの契約処理能力として割り当てる、ということを意味する。また、第2の運用では、物理的に1台のサーバ装置2を分割して使用する方式としてハイパーバイザを用いて仮想的に複数台に見せかけるという仮想化を意味する。この場合、あたかも1人のユーザに対して仮想的に分割した内の1つのサーバを使用させているような運用も可能となる。以下では、サーバ装置2が複数ユーザを収容する場合、一例として、ハイパーバイザを用いて仮想的に複数台のサーバに見せかけるという仮想化を行うものとする。この場合の機能ブロックの構成例を図2に示す。
【0030】
[1−2.サーバ装置の構成]
次に、サーバ装置の構成について図2を参照して説明する。図2は、本発明の実施形態に係るサーバ装置の一例を示すブロック図である。
サーバ装置2は、ユーザ毎に仮想化した複数台(図では2台)のサーバ10を備えている。サーバ10は、処理受付部11と、遅延挿入部12と、処理実行部13と、割当CPU使用率監視部14と、を備える。ここでは、物理的な1台をサーバ装置2と表記し、仮想化した論理的な2台をサーバ10と表記することとした。なお、サーバ装置2は、例えば、CPU(Central Processing Unit)と、RAM(Random Access Memory)と、ROM(Read Only Memory)と、HDD(Hard Disk Drive)と、通信を行うためのNIC(Network Interface Card)等を備える。
【0031】
処理受付部(処理受付手段)11は、ユーザが利用する端末4から、他の端末4とのセッションの生成または切断を要求する要求信号を受け付けるものである。この処理受付部11は、例えばSIPのINVITE等の処理を受け付けると、処理を遅延挿入部12に渡す。
【0032】
遅延挿入部(遅延挿入手段)12は、受け付けた要求信号がセッションの生成を要求するものであって、かつ、計測されたCPU使用率が当該ユーザとの契約で予め定めた契約CPU使用率を超えた場合、受け付けた要求信号を処理するための制御信号を所定の遅延時間Dだけ遅延させるものである。ここで、CPU使用率とは、端末4を収容するノードのサーバ装置2のCPU使用率を表す。また、契約CPU使用率とは、当該サーバ装置2のサーバ処理能力に対する、当該ユーザに割り当てた単位時間当たりのサーバ処理量を示す。
この遅延挿入部12は、後記するアルゴリズムにより、必要に応じて遅延を挿入し、処理を処理実行部13に渡す。ただし、遅延挿入部12は、遅延が規定量を超えて処理の受付を拒否する場合、処理を処理実行部13に渡さない。このように処理が放置されることにより、処理を受け付けなかったことになる。
【0033】
処理実行部(処理実行手段)13は、遅延させた制御信号に応じて当該受け付けた要求信号で要求されたセッションを生成する処理を実行し、遅延させていない制御信号に応じて当該受け付けた要求信号で要求されたセッションを生成する処理または切断処理を実行するものである。この処理実行部13は、例えばSIPの規定の処理として、INVITEを受け付けた場合、相手先の端末4を収容するノードNのサーバ装置2にINVITEを送出してから、端末4にTryingを返す。
【0034】
割当CPU使用率監視部(割当CPU使用率監視手段)14は、当該サーバ装置2のサーバ処理能力に対する、当該ユーザに割り当てた単位時間当たりのサーバ処理量を示すCPU使用率を予め定められたタイミングで継続的に計測するものである。この割当CPU使用率監視部14は、仮想的にユーザに割り当てたCPU使用率を、例えば1秒といった一定時間毎に遅延挿入部12に通知する。
ここで、サーバ10の処理能力は、ノードNが収容する端末4を利用するユーザU別に、当該ノードNのサーバ装置2の処理能力を割り当てた処理能力を意味する。また、割当CPU使用率とは、サーバ装置2において当該ユーザUに割り当てたCPU使用率を示し、サーバ10単位のCPU使用率を示す。この割当CPU使用率には、ユーザとの契約で予め定めたCPU使用率(固定値)と、割当CPU使用率監視部14で測定されたCPU使用率(変動する値)とがある。したがって、これらを区別するために、以下では、測定された値を、測定CPU使用率、測定CPU使用率P、あるいはCPU使用率Pと表記する(図6参照)。また、固定値の方を、契約CPU使用率、契約CPU使用率Q、あるいはCPU使用率Qと表記する(図6参照)。
【0035】
[1−3.サーバの処理の概要]
次に、サーバの処理の概要について図3を参照(適宜図1および図2参照)して説明する。図3は、図1に示す端末4aと端末4cとが各ノードN、Nを介して通信をしているシーケンスを示している。ここでは、まず、通常の処理の流れを説明し、次いで、サーバが契約処理能力を超える処理の要求を受けた場合の処理について説明する。
【0036】
<1−3−1.サーバが契約処理能力を超える処理の要求を受けていない通常の場合>
まず、ユーザUが利用する端末4aは、セッションの開始を示すINVITEをノードNに送出する(F1)。そして、ノードNのサーバ装置2において、ユーザUに割り当てられたサーバ10がINVITEを受け付けると、INVITEに記載された接続相手先である端末4cを収容するノードNに対してINVITEを送出し(F2)、続いて、端末4aにTrying(100 Trying)を返す(F3)。
【0037】
ノードNのサーバ装置2において、ユーザUに割り当てられたサーバ10は、INVITEを受け付けると、収容している端末4cに対してINVITEを送出し(F4)、続いて、ノードNにTrying(100 Trying)を返す(F5)。
ユーザUが利用する端末4cは、呼び出しを行うと、呼び出しを行っていることを示すRinging(180 Ringing)を接続時の経路を逆にたどって返信する。すなわち、端末4cは、Ringing(180 Ringing)をノードNへ返信し(F6)、ノードNは、Ringing(180 Ringing)をノードNへ返信し(F7)、ノードNはRinging(180 Ringing)を端末4aへ返信する(F8)。
【0038】
そして、相手先のユーザUが端末4cにて正常に応答すると、端末4cは、その旨を示す200 OKメッセージをノードNに送出する(F9)。そして、同様に、接続時の経路を逆にたどって、ノードN、ノードNは200 OKメッセージを送出する(F10,F11)。そして、ユーザUが利用する端末4aは、セッション確立を示すACKをノードNに送出する(F12)。そして、同様に、接続時の経路を順にたどって、ノードN、ノードNはACKを送出する(F13,F14)。これにより、端末4aと端末4cとの間で例えば音声通話が開始される。このとき、ノードN、Nは、音声通話に関与しない。なお、基本的な通話ではなく、通話中に通話相手を変えるハンドオーバ等を行う場合は、ノードN、Nのサーバが介在する。
【0039】
相手先の端末4cは、通話を終了すると、セッション終了を示すBYEを、ノードNに送出する(F15)。そして、同様に、接続時の経路を逆にたどって、ノードN、ノードNはBYEを送出する(F16,F17)。そして、端末4aにて正常に切断すると、端末4aは、その旨を示す200 OKメッセージをノードNに送出する(F18)。そして、同様に、接続時の経路を順にたどって、ノードN、ノードNは200 OKメッセージを送出する(F19,F20)。
【0040】
<1−3−2.サーバが契約処理能力を超える処理の要求を受けた場合>
ユーザUが利用する端末4aが、ノードNに対して、契約処理能力を超える処理の要求を行った場合、ノードNのサーバ装置2において、ユーザUに割り当てられたサーバ10は、処理の受付を即座に拒否するのではなく、受付済みの処理も含め、各処理の間に他の処理を行うための遅延を挿入する。
【0041】
具体例として、図3のシーケンス図のようにSIPによる音声通話の場合では、ノードNのサーバ装置2において、ユーザUに割り当てられたサーバ10は、ユーザUが利用する端末4aのために発行するコマンドをすぐに実行するのではなく、その直前に遅延を挿入する。遅延を挿入するタイミングの候補は、INVITE(F2)の前、100 Trying(F3)の前、180 Ringing(F8)の前、200 OKメッセージ(F11)の前、ACK(F13,F14)の前の少なくとも1つである。複数の遅延を挿入する場合、その遅延時間の長さは、等しくする必要はない。なお、BYE(F17)や200 OKメッセージ(F19)といった切断に関するコマンドは遅延させない。
【0042】
また、遅延の間に、ノードNのサーバ装置2において、ユーザUとは別のユーザUに割り当てられたサーバ10が、別のユーザUが利用する端末4bに関する他の通信処理を行う。
【0043】
以下では、一例として、サーバ10によって遅延を挿入するタイミングがINVITE(F2)の前であるものとして説明する。この場合、ノードNのサーバ装置2において、ユーザUに割り当てられたサーバ10から出るコマンドが遅くなるため、端末4a及びノードNのサーバ装置2への応答が遅くなり、結果として端末4aから端末4cへの接続が遅くなる。しかしながら、ノードNのサーバ装置2において、ユーザUに割り当てられたサーバ10は、ユーザUに対して遅延処理を行うため、ユーザUに割り当てられたサーバ処理に要する単位時間当たりの負荷は削減され、結果として、ノードNのサーバ装置2が収容するユーザ全体(ユーザU、U)の処理を許容内に収めることが可能となる。
【0044】
また、ユーザUに割り当てられたサーバ10は、遅延挿入部12によって、遅延を挿入することにより、ノードNのサーバ装置2においてユーザUに実際に割り当てた単位時間当たりの処理能力を、ユーザUの契約処理能力内に収めることができる。
【0045】
また、ユーザUに割り当てられたサーバ10は、割当CPU使用率監視部14によって遅延挿入部12によって、ユーザUに割り当てたCPU使用率を一定時間毎に遅延挿入部12に通知しており、遅延挿入部12によって、処理能力が契約処理能力内に復帰したと判定した場合、遅延挿入を止めることができる。
このように、本実施形態のサーバ装置2は、サーバの処理能力が規定以上になると、遅延を挿入することを条件に新たなセッション生成要求を受け付ける点が従来技術と異なる。
【0046】
(2. 複数の通信端末を利用する1ユーザを収容する通信ノードの形態)
[2−1.通信システムの構成]
次に、本発明の実施形態に係るサーバ装置を含む通信システムの構成について図4を参照して説明する。図4は、本発明の実施形態に係るサーバ装置を含む通信システムの一例として、複数の通信端末を利用する1ユーザを収容する通信ノードの形態を模式的に示す構成図である。図4に示す通信システム1において、図1に示す構成と同じ構成には同じ符号を付して説明を適宜省略する。
【0047】
図4に示す例では、通信システム1は、1つのノードNと、このノードNから各リンクLによりそれぞれ接続された例えば25個のノードN〜Nとを備える。なお、図4では、25個のうち代表として2個のノードだけを図示している。
ノードNは、法人のユーザUが利用する複数の端末4をまとめて収容している。つまり、法人のユーザUは、複数の端末4の通信サービスを享受できるように、ノードNのサーバ装置2の処理能力で回線の契約を行っている。なお、ノードNは、個人のユーザUαが利用する1台の端末4も収容しており、ノードNのサーバ装置2は、全処理能力の一部を、2人のユーザU、Uαに対して仮想的に割り当てている。これらを図2に示したようにサーバ10と表記する。
各ノードN〜Nは、25人のユーザU〜Uがそれぞれ利用する1台の端末4をユーザ別に収容している。つまり、ユーザU〜Uは、1台の端末4の通信サービスを享受できるように、ノードN〜Nのサーバ装置2の処理能力で回線の契約を行っている。なお、各ユーザU〜Uに割り当てたサーバ装置2も便宜的にサーバ10と表記する。
【0048】
[2−2.サーバの処理の概要]
次に、サーバ装置2の構成については図2に示す構成と同様なので説明を省略し、サーバ10の処理の概要について図5を参照(適宜図2および図4参照)して説明する。
ここでは、一例として図4に示す法人のユーザUに属する複数の端末4が、一斉に、ユーザU〜Uが利用する各端末4にSIPで接続しようとした場合を想定する。このとき、法人のユーザUに属する複数の端末4とノードNとの間、および、ノードNとノードN〜Nのいずれかとの間のシーケンスを図5に示す。ただし、図5は、シーケンスイメージを模式的に示しており、ノードNのサーバ10が送受するINVITEと、ノードNのサーバ10がユーザUに属する複数の端末4に返すTrying以外は簡略化のため省略してある。
【0049】
図5に示すように、法人のユーザUに属する複数の端末4が、一斉に、発呼した場合、ノードNのサーバ10に対して連続的にINVITEが送出される。
また、ノードNのサーバ10はINVITEを受け付けた場合、相手先の端末4を収容するノードN〜Nのいずれかのサーバ10にINVITEを送出してから、法人のユーザUに属する端末4にTryingを返す。
【0050】
図5に示す例において、ノードNのサーバ10が、法人のユーザUに属する端末4からm個目のINVITE(INVITE m)を受け付けたときに、法人のユーザUの契約処理能力をオーバーした場合、続けて、法人のユーザUに属する端末4がINVITE(INVITE m+1)を送って来ても、すぐには、他のノードN〜Nのサーバ10へのINVITE(INVITE m+1)と、端末4へのTrying(Trying m+1)とを送出せず、他のサーバ10へのINVITE(INVITE m+1)の直前に遅延時間Dを挿入する。そして、この遅延の間に、法人のユーザU以外の他の処理として、例えば、個人のユーザUαが利用する1台の端末4に関する通信処理を行う。
【0051】
ここで、挿入する遅延時間Dは一定である必要はなく、遅延を挿入開始後に、法人のユーザUから大量なINVITEが送出されて来る場合は、法人のユーザUのために利用する単位時間当たりの処理能力が、法人のユーザUの契約処理能力を超えないようにするため、挿入する遅延時間Dを長くする。図5に示す例では、端末4から受けた(m+1)個目のINVITE(INVITE m+1)の直前に挿入した遅延時間Dよりも、端末4から受けたn個目のINVITE(INVITE n)の直前に挿入した遅延時間Dの方が長く設定されているものとする。これら遅延時間Dや遅延時間Dの間に別の処理を行う(遅延量可変)。
ただし、遅延挿入が続いた結果、遅延時間Dが通話品質を満たさないレベルとなった場合は、端末4から受けたINVITEを無視(=拒否)する。
【0052】
また、逆に、ノードNのサーバ10において、法人のユーザUのために要する単位時間当たりの処理量が減少した場合は、挿入する遅延時間Dを短くしていき、契約処理能力以下の処理量に復帰した時点で遅延挿入を中止する。図5に示す例では、端末4から受けたn個目のINVITE(INVITE n)の直前に遅延を挿入したが、次に端末4から受けた(n+1)個目のINVITE(INVITE n+1)に対しては、遅延は挿入されていない(遅延挿入なし)。
【0053】
この例では、法人のユーザUに属する多数の端末4がSIPで一斉に発呼した場合を想定して説明したが、使用法または通信の種類によって、1台の端末4であっても同時に複数のセッションを設定する場合はこれと同様のシーケンスとなる。
【0054】
図5に示す例に関する記述は、あくまでもSIPでの通信例であり、本発明の実施形態に係るサーバ装置2は、SIPを用いたセッション制御の開始時だけでなく、同種の通信システムの起呼信号を対象にすることも可能である。
【0055】
(3. サーバ装置の遅延挿入部)
[3−1.遅延挿入部の構成例]
次に、サーバ装置2の遅延挿入部12の構成例について図6を参照して説明する。図6は、本発明の実施形態に係るサーバ装置の遅延挿入部を示すブロック図である。なお、遅延挿入部12は、サーバ装置2においてユーザ別に設けられており、例えば各サーバ10(図2参照)が備えている。
【0056】
遅延挿入部12は、図6に示すように、メモリMと、セッション要求判別手段121と、セッション要求通知手段122と、処理負荷判別手段123と、遅延設定処理手段124と、遅延手段125と、割込判別手段126と、測定値更新手段127と、を備えることとした。
【0057】
メモリMは、あるユーザの遅延挿入部12の処理のために利用される必要なデータや予め定められた規則等の情報を記憶する手段であり、例えば必要なデータとして、図示しない操作部および通信部からオペレータによって予め入力された契約CPU使用率Qおよび限界時間Tmaxや、遅延挿入部12の処理結果として一時的に記憶された測定CPU使用率Pおよび遅延時間D等を記憶する。
【0058】
契約CPU使用率Qは、当該サーバ装置2のサーバ処理能力に対する、当該ユーザに割り当てた単位時間当たりのサーバ処理量を示し、処理負荷判別手段123において、判別処理の基準値として用いられる。契約CPU使用率Qの値は、特に限定されないが、以下では、一例として80%であるものとして説明する。
【0059】
測定CPU使用率Pは、契約CPU使用率Qと同様であるが、割当CPU使用率監視部14にて測定された値を示し、処理負荷判別手段123において、判別処理の比較値として用いられる。
【0060】
遅延時間Dは、遅延設定処理手段124において更新可能に設定される遅延時間を示す。遅延時間Dの値は、特に限定されないが、例えば、遅延時間Dの間に、他のユーザのための通信処理を行うことができる程度の時間であることが好ましい。また、遅延時間Dの値は、割当CPU使用率監視部14の測定間隔の1/100〜1/10程度とすることができる。この場合、割当CPU使用率監視部14の測定間隔が例えば1秒であれば、遅延時間Dの値は、10ms以上100ms以下であることが好ましく、50ms以下であることが特に好ましい。これは、遅延を挿入するために待ち行列ができたとしても、遅延の条件が100ms程度という短い時間であれば、キューのあふれ等は無視でき、キューの制御を考慮しなくてもよいからである。
【0061】
限界時間Tmaxは、通信品質を保つために予め定められた値であり、所望の通信品質に応じて適宜設定される。割当CPU使用率監視部14の測定間隔が例えば1秒であれば、限界時間Tmaxの値は、100ms程度であることが好ましく、50ms程度であることが特に好ましい。
【0062】
セッション要求判別手段121は、処理受付部11で受け付けた要求信号がセッションの生成と切断のいずれを要求するものであるかを判別するものである。
セッション要求判別手段121は、要求信号がセッションの生成を要求するものであると判別した場合、その旨を処理負荷判別手段123に通知する。
セッション要求判別手段121は、要求信号がセッションの切断を要求するものであると判別した場合、その旨をセッション要求通知手段122に通知する。
【0063】
セッション要求通知手段122は、受け付けた要求信号がセッションの生成を要求するものである場合、その旨を設定された遅延時間Dだけ遅延させた制御信号または遅延させていない制御信号により処理実行部13に通知するものである。このセッション要求通知手段122は、受け付けた要求信号がセッションの切断を要求するものである場合、その旨を遅延させていない制御信号により処理実行部13に通知する。
本実施形態では、セッション要求通知手段122は、遅延手段125から、遅延させた制御信号を受けたときに、セッションの生成を要求する旨を処理実行部13に通知する。
セッション要求通知手段122は、遅延設定処理手段124または処理負荷判別手段123から、遅延させていない制御信号を受けたときに、セッションの生成を要求する旨を処理実行部13に通知する。
セッション要求通知手段122は、セッション要求判別手段121から、遅延させていない制御信号を受けたときに、セッションの切断を要求する旨を処理実行部13に通知する。
【0064】
処理負荷判別手段123は、受け付けた要求信号がセッションの生成を要求するものである場合、割当CPU使用率監視部14で計測された測定CPU使用率Pが契約CPU使用率Qを超えたか否かを判別するものである。
本実施形態では、処理負荷判別手段123は、セッション要求判別手段121から、要求信号がセッションの生成を要求するものである旨を通知された場合、メモリMから、測定CPU使用率Pおよび契約CPU使用率Qを読み出して比較する。
処理負荷判別手段123は、比較の結果、測定CPU使用率Pが契約CPU使用率Qを超えたと判別した場合、その旨を遅延設定処理手段124に通知する。
処理負荷判別手段123は、測定CPU使用率Pが契約CPU使用率Qを超えた後の比較において、測定CPU使用率Pが契約CPU使用率Qを超えていないと判別した場合、その旨を遅延設定処理手段124に通知する。
処理負荷判別手段123は、比較の結果、測定CPU使用率Pが契約CPU使用率Qを超えていないと判別した場合であって、まだ一度も契約CPU使用率Qを超えていない場合、その旨をセッション要求判別手段121に返信する。なお、この場合、セッション要求判別手段121は、遅延させていない制御信号をセッション要求通知手段122に通知する。
【0065】
遅延設定処理手段124は、測定CPU使用率Pが契約CPU使用率Qを超えた場合、制御信号を遅延させる遅延時間Dを予め定められた規則にしたがって設定するものである。遅延設定処理手段124は、図6に示すように、遅延時間設定手段124aと、遅延有無判別手段124bと、遅延限界判別手段124cとを備えることとした。
【0066】
遅延時間設定手段124aは、測定CPU使用率Pが契約CPU使用率Qを超えた場合、遅延時間Dを現状よりも増加させてメモリMに設定するものである。この遅延時間設定手段124aは、遅延時間Dを現状よりも増加させてメモリMに設定した場合、その旨を遅延限界判別手段124cに通知する。遅延時間設定手段124aは、予め定められた規則にしたがって、測定CPU使用率Pが契約CPU使用率Qを超えたと判別される度に、遅延時間Dを所定の割合で増加させる。以下では、遅延時間Dの増加幅を一例として10msとして説明する。
【0067】
また、遅延時間設定手段124aは、遅延有無判別手段124bにおいて遅延時間Dが設定されていると判別された場合、当該遅延時間Dを現状よりも減少させてメモリMに設定する。ここで、メモリMに遅延時間Dが設定されているとは、メモリMに記憶された遅延時間Dの値が例えば0msよりも大きいことを意味する。この遅延時間設定手段124aは、遅延時間Dを現状よりも減少させてメモリMに設定した場合、その旨を遅延手段125に通知する。遅延時間設定手段124aは、予め定められた規則にしたがって、遅延時間Dが設定されていると判別される度に、遅延時間Dを所定の割合で減少させる。以下では、遅延時間Dの減少幅を一例として10msとして説明する。
【0068】
遅延有無判別手段124bは、予め定められた規則にしたがって、割当CPU使用率監視部14にて計測されているCPU使用率Pが契約CPU使用率Q以下となった場合、メモリMに遅延時間Dが設定されているか否かを判別する。
遅延有無判別手段124bは、メモリMに遅延時間Dが設定されていると判別した場合、その旨を遅延時間設定手段124aに通知する。
遅延有無判別手段124bは、メモリMに遅延時間Dが設定されていないと判別した場合、その旨をセッション要求通知手段122に通知する。なお、この場合、セッション要求通知手段122は、遅延設定処理手段124から、遅延させていない制御信号を受けることなる。
【0069】
遅延限界判別手段124cは、予め定められた規則にしたがって、現状よりも増加させて設定された遅延時間Dが限界時間Tmaxを超えたか否かを判別するものである。本実施形態では、遅延限界判別手段124cは、遅延時間設定手段124aから、遅延時間Dを現状よりも増加させてメモリMに設定した旨を通知された場合、設定更新された遅延時間Dと、メモリMに予め記憶された限界時間Tmaxとの比較を行う。以下では、遅延時間Dを一例として50msとして説明する。
遅延限界判別手段124cは、遅延時間Dが限界時間Tmaxを超えていないと判別した場合、その旨を遅延手段125に通知する。
遅延限界判別手段124cは、遅延時間Dが限界時間Tmaxを超えたと判別した場合、その旨をセッション要求通知手段122に通知する。この場合、特例として、セッション要求通知手段122は、端末4から要求信号を受け付けた旨を処理実行部13に通知しない。これにより、端末4から、セッション生成のための要求信号を受け付けなかったこととなる。
【0070】
遅延手段125は、制御信号を設定された遅延時間Dだけ遅延させるものである。本実施形態では、遅延手段125は、遅延限界判別手段124cから、遅延時間Dが限界時間Tmaxを超えていない旨を通知された場合、メモリMに設定された遅延時間Dだけ制御信号を遅延させて、セッション要求通知手段122に通知する。
【0071】
割込判別手段126は、割当CPU使用率監視部14が測定したCPU使用率を通知する割込信号が入力されたか否かを判別するものである。割当CPU使用率監視部14の測定間隔が例えば1秒であれば、割込判別手段126は、1秒毎に割込信号が入力されたことを検出し、測定されたCPU使用率を測定値更新手段127に通知する。
【0072】
測定値更新手段127は、割込判別手段126から、測定されたCPU使用率を通知された場合、メモリMに記憶されている測定CPU使用率Pを、通知された値で更新するものである。
【0073】
[3−2.遅延挿入部の処理例]
次に、サーバ装置2の遅延挿入部12の処理例について図7を参照(適宜図6参照)して説明する。図7は、本発明の実施形態に係るサーバ装置の遅延挿入部による遅延挿入処理の流れを示すフローチャートである。遅延挿入部12において、制御信号を所定の遅延時間Dだけ遅延させるステップは、次の通りである。ここでは、例えば1秒毎に割当CPU使用率を監視しているものとする。
【0074】
セッション要求判別手段121は、処理受付部11によって受け付けた要求信号がセッションの生成と切断のいずれを要求するものであるかを判別する(ステップS1:セッション要求判別ステップ)。受け付けた要求信号がセッションの生成を要求するものである場合(ステップS1:Yes)、遅延時間設定手段124aは、遅延時間Dの値を例えば0に設定する初期化を行う(ステップS2)。そして、割込判別手段126は、割込信号が入力されたか否かを判別する(ステップS3)。割込信号が入力された場合(ステップS3:Yes)、測定値更新手段127は、メモリMに記憶されている測定CPU使用率Pを、この割込信号で通知されたCPU使用率で更新し(ステップS4)、ステップS5に進む。一方、割込信号が入力されなかった場合(ステップS3:No)、遅延挿入部12は、ステップS4をスキップして、ステップS5に進む。
【0075】
ステップS5では、処理負荷判別手段123は、割当CPU使用率監視部14によって計測されたCPU使用率Pが契約CPU使用率Qを超えたか否かを判別する(ステップS5:処理負荷判別ステップ)。ここでは、CPU使用率が80%を超えたか否かを判別することとした。計測されたCPU使用率Pが80%を超えた場合(ステップS5:Yes)、遅延設定処理手段124は、以下のステップS6,S7,S10およびS11(総称して遅延設定処理ステップという)の各処理を適宜実行することで、制御信号を遅延させる遅延時間Dを予め定められた規則にしたがって設定する。このうち、CPU使用率Pが80%を超えた場合(ステップS5:Yes)、遅延時間設定手段124aは、遅延時間Dの現在値に10msを加算した値を、新たな遅延時間Dとして設定する(D=D+10ms:ステップS6)。
【0076】
続いて、遅延限界判別手段124cは、現状よりも増加させて設定された遅延時間Dが限界時間Tmaxを超えたか否かを判別する(ステップS7:遅延限界判別ステップS7)。ここでは、遅延限界判別手段124cは、現在の遅延時間Dが50msを超えたか否かを判別する。設定された遅延時間Dが50msを超えた場合(ステップS7:Yes)、セッション要求通知手段122は、端末4から要求信号を受け付けた旨を処理実行部13に通知することなく(ステップS8:受付拒否)、遅延挿入部12は、ステップS9に進む。
【0077】
ステップS9では、セッション要求判別手段121は、当該サーバ装置2にて収容する複数の端末4からの次の要求があるか否かを判別し、次の要求がある場合(ステップS9:Yes)、ステップS3に戻り、次の要求がない場合(ステップS9:No)、遅延挿入部12による処理を終了する。
【0078】
一方、前記したステップS7にて、設定された遅延時間Dが50msを超えていない場合(ステップS7:No)、遅延手段125は、設定された遅延時間Dだけ制御信号を遅延させ(ステップS12:遅延ステップ)、ステップS13に進む。
ステップS13(セッション要求通知ステップ)では、セッション要求通知手段122は、処理受付部11によって受け付けた要求を制御信号により処理実行部13に通知する。そして、ステップS13に続いて、遅延挿入部12は、ステップS9に進む。ここで、ステップS13をステップS12に続いて行う場合、セッション要求通知手段122は、受け付けた要求信号がセッションの生成を要求するものである旨を、設定された遅延時間Dだけ遅延させた制御信号により処理実行部13に通知する。
【0079】
一方、ステップS5において、計測されているCPU使用率Pが80%以下となった場合(ステップS5:No)、遅延有無判別手段124bは、現在の遅延時間Dが0msを超えているか否かを判別する(ステップS10:遅延有無判別ステップ)。
現在の遅延時間Dが0msを超えている場合、すなわち遅延時間Dが設定されている場合(ステップS10:Yes)、遅延時間設定手段124aは、遅延時間Dの現在値から10msを減算した値を、新たな遅延時間Dとして設定し(D=D−10ms:ステップS11)、ステップS12に進む。
【0080】
一方、ステップS10において現在の遅延時間Dが0msを超えていない場合、すなわち遅延時間Dが設定されていない場合(ステップS10:No)、遅延挿入部12は、ステップS13に進む。ここで、ステップS13をステップS10に続いて行う場合、遅延時間Dが設定されていないので、セッション要求通知手段122は、受け付けた要求信号がセッションの生成を要求するものである旨を、遅延させていない制御信号により処理実行部13に通知する。
つまり、ステップS1にて、受け付けた要求信号がセッションの生成を要求するものである場合(ステップS1:Yes)、その旨を、設定された遅延時間Dだけ遅延させた制御信号(ステップS12,S13)、または、遅延させていない制御信号(ステップS10,S13)により処理実行部13に通知することとなる。
【0081】
また、ステップS1にて、受け付けた要求信号がセッションの切断を要求するものである場合(ステップS1:No)、遅延時間Dが設定されていないので、セッション要求通知手段122は、その旨を、遅延させていない制御信号により処理実行部13に通知する(ステップS13)。つまり、サーバ装置2のサーバ10が、ユーザが利用する端末4からセッションの切断を要求された場合、遅延挿入部12は、遅延を挿入する処理を行わないため、切断が遅れることによる輻輳の冗長や余分な課金を招くことはない。
【0082】
(4. 遅延挿入部による処理の具体例)
[4−1.具体例その1]
次に、サーバ装置2の遅延挿入部12の処理の具体例(その1)について図7および図8を参照(適宜図6参照)して説明する。図8は、本発明の実施形態に係るサーバ装置の遅延挿入部による処理の具体例(その1)を示す図である。
処理の具体例(その1)は、遅延挿入部12があるタイミングで遅延を挿入し、その後、遅延挿入を中止して復帰し、その後、突発的なトラヒック増加に対応するために遅延を挿入し、やがて収束して遅延挿入を中止して復帰するという例を表す。
【0083】
図8では、遅延挿入部12が図7のフローチャート通りの動作をしていることを前提にして、割当CPU使用率監視部14によって例えば1秒ごとに計測されたCPU使用率の具体的な数値を時刻tと共に例示した。
また、図8において、表形式の説明図の1列目は、時刻t[秒]を示す。
2列目は、時刻t[秒]において、メモリMに記憶されている測定CPU使用率P[%]を示す。
3列目は、時刻t[秒]において、処理負荷判別手段123によるステップS5の判別処理の結果を示す。
4列目は、時刻t[秒]において、遅延時間設定手段124aによるステップS6またはステップS11の処理の結果を示す。なお、矢印の左側には処理前の遅延時間の値を記載し、矢印の右側には処理後(増加後または減少後)の遅延時間の値を記載した。
5列目は、時刻t[秒]において、遅延限界判別手段124cによるステップS7の判別処理の結果を示す。
6列目は、時刻t[秒]において、遅延有無判別手段124bによるステップS10の判別処理の結果を示す。
【0084】
図8に示すように、CPU使用率Pが時刻tの値に応じて、例えば0(初期値),10,20,…,のように増加していき、t=8のときに、計測されたCPU使用率(CPU使用率P)が80になったときまでは、遅延挿入部12は遅延挿入処理を行わない。
続いて、t=9のときに、CPU使用率Pが90になった場合、遅延挿入部12は、遅延時間Dを初期値0から増加させて10msに設定する。
そして、t=10のときに、CPU使用率Pが85に下がった場合、CPU使用率Pは以前よりも減少したが、まだ80%を超えているので、遅延挿入部12は、遅延時間Dを増加させて20msに設定する。
そして、t=11のときに、CPU使用率Pが80に下がった場合、CPU使用率Pは80%以下なので、遅延挿入部12は、遅延時間Dを減少して10msに設定する。
そして、t=12のときに、CPU使用率Pが75に下がった場合、CPU使用率Pは80%以下なので、遅延挿入部12は、遅延時間Dをさらに減少して0msに設定する(遅延なし)。これにより、遅延挿入が中止されて、復帰したことになる。
そして、t=13のときに、例えば突発的なトラフィック増加により負荷が大きくなって、CPU使用率Pが81になった場合、CPU使用率Pは80%を越えるので、遅延挿入部12は、遅延時間Dを増加させて10msに設定する。
そして、t=14のときに、CPU使用率Pが79に下がった場合、CPU使用率Pは80%以下になるので、遅延挿入部12は、遅延時間Dを再び0msに設定する(遅延なし)。そして、t=15のときに、CPU使用率Pが78に下がった場合、CPU使用率Pは80%以下なので、遅延挿入部12は、遅延を設定することなく、遅延時間Dが0msのままである。
【0085】
[4−2.具体例その2]
次に、サーバ装置2の遅延挿入部12の処理の具体例(その2)について図7および図9を参照(適宜図6および図8参照)して説明する。図9は、本発明の実施形態に係るサーバ装置の遅延挿入部による処理の具体例(その2)を示す図である。
処理の具体例(その2)は、遅延挿入部12があるタイミングで遅延を挿入し、残念ながら、遅延が限界を超えてしまう例を表す。
【0086】
図9は、図8と同様にして作成されているので、詳細な説明は省略する。
図9に示すように、時刻tの値が9のときにCPU使用率Pが90になった場合、遅延挿入部12が、遅延時間Dを初期値0から増加させて10msに設定する動作を行うまで、図8と同様である。そして、t=10のときにはCPU使用率Pが89に下がり、以降、t=14のときまで、1秒ごとにCPU使用率Pが例えば1%ずつ下がっていくものとする。これに応じて、遅延挿入部12は、遅延時間Dを10msずつ増加していき、t=14のときには、遅延時間Dを60msに設定する。すると、限界時間Tmax(50ms)を超えてしまうので、遅延挿入部12において、セッション要求通知手段122は、端末4から要求信号を受け付けた旨を処理実行部13に通知しない。これにより、端末4から、セッション生成のための要求信号を受け付けなかったこととなる。ただし、サーバ装置2は、t=9のときに、端末4から契約処理能力を超える処理の要求を受けたとしても、すぐに処理の受付を拒否するのではなく、t=13のときまでは、所望の通信品質を保った上で、端末4からの処理の要求を受け付けることが可能となる。例えば、図5を参照して説明したように、法人のユーザUに属する複数の端末4が、一斉に発呼し、m個目のINVITEを受けたときに契約処理能力をオーバーしたとしても、(m+1)個目以降のINVITEを遅延させることで、要求された処理を実行することができる。
【0087】
以上、説明したように、本実施形態のサーバ装置2およびその通信方法によれば、サーバ10が、ユーザと契約した契約処理能力を超えるサービスの要求を、ユーザが利用する端末4から受けた場合、処理を拒否(通話の場合は呼損)するのではなく、多少の遅延が生じたとしてもサービスを提供することが可能となる。
【0088】
また、本実施形態のサーバ装置2およびその通信方法によれば、ユーザに提供するサービスにおいて、メインとする通常のサービスでは契約処理能力を超えた要求は、受け付けないものとし、かつ、次のようなオプションサービスを用意することができる。すなわち、オプションサービスは、予め定められた所定の範囲内で一時的に契約処理能力を超えた要求も受け付けるというものである。このようにすることで、ユーザ側からのメリットとして、オプションメニューが追加される点が挙げられる。また、通信事業者のメリットとして、オプション追加に伴う設備追加の負担を低減することができるという点が挙げられる。つまり、通信事業者は、サーバを増やすことなくオプションサービスを設けることが可能となる。
なお、前提として、ネットワークが例えばNGNのようにIPパケット、またはIP以外のパケットによってデータを転送しており、サーバ(及びルータ)によって転送制御を行っているものを対象とし、かつ、ユーザ端末を収容するノードのサーバの処理能力でユーザと回線の契約をする通信サービスを対象とする。
【0089】
また、本実施形態のサーバ装置2およびその通信方法によれば、図8を参照して説明したように突発的なトラヒック増の一時的対処が可能となる。そのため、通信事業者は、ネットワークの設備設計時に見積もる余裕分を削減することが可能となる。つまり、通信事業者のメリットとして、突発的なトラヒック増の対処に伴う設備追加の負担を低減して設備数を削減することができるという点が挙げられる。
なお、オプションサービスにおいて一時的に契約処理能力を超えた要求も受け付けることと、突発的なトラヒック増に一時的に対処することとは、あくまでも一時的な対処法として用いることが好ましい。これは、長期間に渡って処理能力を超える状態が続くと、挿入する遅延時間も増加を続け、通信品質の規定を外れる恐れがあるからである。
【0090】
また、本実施形態のサーバ装置2およびその通信方法によれば、端末4から要求される処理のうち、切断に関しては遅延処理を行わないため、切断が遅れることによる輻輳の冗長や余分な課金を招くことはない。
【0091】
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、その趣旨を変えない範囲で実施することができる。例えば、図6および図7に示す例において、遅延挿入部12は、タイマ割り込み時以外のときに遅延挿入することとしたが、タイマ割り込み時のときにだけ遅延挿入することとしてもよい。これにより、CPU使用率を計測する処理や遅延挿入処理をするために必要なサーバの負荷を低減することができる。したがって、処理の受付拒否をいっそう低減できる。
【0092】
また、図9に示す例において、設定された遅延時間Dが限界時間Tmax(例えば50ms)を超えた後(t=15以降)に、図7のステップS9にて新たな要求があると判別された場合、遅延挿入部12は、メモリMに記憶された遅延時間Dをリセットして、再び遅延挿入処理を行うようにしてもよい。このようにすることで、図5を参照して説明した法人のユーザUに属する複数の端末4から一斉に発呼し、限界時間Tmaxを超えたときに拒否されたINVITEの後に、続いて受けるINVITEを遅延させることで、再び、要求された処理を実行することもできる。なお、リセットに際して、遅延時間Dを初期値0にリセットしてもよいし、処理を即座に中止できるように30や40といった限界時間Tmaxに比較的近い値になるようにリセットしてもよい。
【0093】
また、本実施形態では、IP網にて使用される信号としてSIP信号の場合について説明したが、SIPに関わらず、その信号において伝達する必要がある情報を含めることのできるIP上の信号すべてを適用可能である。つまり、SIPにおける他の信号や、SIP以外のプロトコルでも適応可能である。また、本実施形態では、一例としてIP網で説明したが、本発明は、通信ノードとしてサーバを使用するネットワークであればよく、IP網に限定されるものではない。また、本発明は、通話以外のマルチメディア通信にも適用することができる。
【符号の説明】
【0094】
1 通信システム
2 サーバ装置
3 ルータ
4(4a,4b,4c,4d) 端末
10 サーバ
11 処理受付部(処理受付手段)
12 遅延挿入部(遅延挿入手段)
121 セッション要求判別手段
122 セッション要求通知手段
123 処理負荷判別手段
124 遅延設定処理手段
124a 遅延時間設定手段
124b 遅延有無判別手段
124c 遅延限界判別手段
125 遅延手段
126 割込判別手段
127 測定値更新手段
13 処理実行部(処理実行手段)
14 割当CPU使用率監視部(割当CPU使用率監視手段)
N(N,N,N,N〜N) ノード
,U,U,U,U,U,U ユーザ
D 遅延時間
Tmax 限界時間
P 測定CPU使用率
Q 契約CPU使用率

【特許請求の範囲】
【請求項1】
契約ユーザが利用する1以上の通信端末を前記契約ユーザ別に収容する通信ノードがリンクにより他の通信ノードに接続された通信システムにおいて、前記通信ノードをルータと共に構成するサーバ装置であって、
前記契約ユーザ毎に、
当該サーバ装置のサーバ処理能力に対する、当該契約ユーザに割り当てた単位時間当たりのサーバ処理量を示すCPU使用率を予め定められたタイミングで継続的に計測する割当CPU使用率監視手段と、
前記契約ユーザが利用する通信端末から、他の通信端末とのセッションの生成または切断を要求する要求信号を受け付ける処理受付手段と、
前記受け付けた要求信号がセッションの生成を要求するものであって、かつ、前記計測されたCPU使用率が当該契約ユーザとの契約で予め定めた契約CPU使用率を超えた場合、前記受け付けた要求信号を処理するための制御信号を所定の遅延時間だけ遅延させる遅延挿入手段と、
遅延させた前記制御信号に応じて当該受け付けた要求信号で要求されたセッションを生成する処理を実行し、遅延させていない前記制御信号に応じて当該受け付けた要求信号で要求されたセッションを生成する処理または切断処理を実行する処理実行手段と、
を備えることを特徴とするサーバ装置。
【請求項2】
前記遅延挿入手段は、
前記処理受付手段で受け付けた要求信号がセッションの生成と切断のいずれを要求するものであるかを判別するセッション要求判別手段と、
前記受け付けた要求信号がセッションの生成を要求するものである場合、前記割当CPU使用率監視手段で計測されたCPU使用率が前記契約CPU使用率を超えたか否かを判別する処理負荷判別手段と、
前記計測されたCPU使用率が前記契約CPU使用率を超えた場合、前記制御信号を遅延させる遅延時間を予め定められた規則にしたがって設定する遅延設定処理手段と、
前記制御信号を前記設定された遅延時間だけ遅延させる遅延手段と、
前記受け付けた要求信号がセッションの生成を要求するものである場合、その旨を前記遅延時間だけ遅延させた前記制御信号または遅延させていない前記制御信号により前記処理実行手段に通知し、前記受け付けた要求信号がセッションの切断を要求するものである場合、その旨を遅延させていない前記制御信号により前記処理実行手段に通知するセッション要求通知手段と、
を備えることを特徴とする請求項1に記載のサーバ装置。
【請求項3】
前記遅延設定処理手段は、
前記割当CPU使用率監視手段にて計測されているCPU使用率が前記契約CPU使用率以下となった場合、前記遅延時間が設定されているか否かを判別する遅延有無判別手段と、
前記計測されているCPU使用率が前記契約CPU使用率を超えた場合、前記遅延時間を現状よりも増加させて設定し、前記遅延有無判別手段において前記遅延時間が設定されていると判別された場合、当該遅延時間を現状よりも減少させて設定する遅延時間設定手段と、
前記現状よりも増加させて設定された遅延時間が通信品質を保つために予め定められた限界時間を超えたか否かを判別する遅延限界判別手段とを有し、
前記セッション要求通知手段は、前記設定された遅延時間が前記限界時間を超えたかと判別された場合、前記通信端末から前記要求信号を受け付けた旨を前記処理実行手段に通知しないことを特徴とする請求項2に記載のサーバ装置。
【請求項4】
契約ユーザが利用する1以上の通信端末を前記契約ユーザ別に収容する通信ノードがリンクにより他の通信ノードに接続された通信システムにおいて、前記通信ノードをルータと共に構成するサーバ装置による通信方法であって、
前記サーバ装置は、前記契約ユーザ毎に、割当CPU使用率監視手段と、処理受付手段と、遅延挿入手段と、処理実行手段と、を備え、
前記割当CPU使用率監視手段によって、当該サーバ装置のサーバ処理能力に対する、単位時間当たりに当該契約ユーザに割り当てたサーバ処理量を示すCPU使用率を予め定められたタイミングで継続的に計測するステップと、
前記処理受付手段によって、前記契約ユーザが利用する通信端末から、他の通信端末とのセッションの生成または切断を要求する要求信号を受け付けるステップと、
前記遅延挿入手段によって、前記受け付けた要求信号がセッションの生成を要求するものであって、かつ、前記計測されたCPU使用率が当該契約ユーザとの契約で予め定めた契約CPU使用率を超えた場合、前記受け付けた要求信号を処理するための制御信号を所定の遅延時間だけ遅延させるステップと、
前記処理実行手段によって、遅延させた前記制御信号に応じて当該受け付けた要求信号で要求されたセッションを生成する処理を実行し、遅延させていない前記制御信号に応じて当該受け付けた要求信号で要求されたセッションを生成する処理または切断処理を実行するステップと、
を含んで実行することを特徴とする通信方法。
【請求項5】
前記遅延挿入手段によって前記制御信号を所定の遅延時間だけ遅延させるステップは、
前記処理受付手段によって受け付けた要求信号がセッションの生成と切断のいずれを要求するものであるかを判別するセッション要求判別ステップと、
前記受け付けた要求信号がセッションの生成を要求するものである場合、前記割当CPU使用率監視手段によって計測されたCPU使用率が前記契約CPU使用率を超えたか否かを判別する処理負荷判別ステップと、
前記計測されたCPU使用率が前記契約CPU使用率を超えた場合、前記制御信号を遅延させる遅延時間を予め定められた規則にしたがって設定する遅延設定処理ステップと、
前記制御信号を前記設定された遅延時間だけ遅延させる遅延ステップと、
前記受け付けた要求信号がセッションの生成を要求するものである場合、その旨を前記遅延時間だけ遅延させた前記制御信号または遅延させていない前記制御信号により前記処理実行手段に通知し、前記受け付けた要求信号がセッションの切断を要求するものである場合、その旨を遅延させていない前記制御信号により前記処理実行手段に通知するセッション要求通知ステップと、
を含むことを特徴とする請求項4に記載の通信方法。
【請求項6】
前記遅延設定処理ステップは、
前記割当CPU使用率監視手段にて計測されているCPU使用率が前記契約CPU使用率を超えた場合、前記遅延時間を現状よりも増加させて設定するステップと、
前記計測されているCPU使用率が前記契約CPU使用率以下となった場合、前記遅延時間が設定されているか否かを判別する遅延有無判別ステップと、
前記遅延有無判別ステップにおいて前記遅延時間が設定されていると判別された場合、当該遅延時間を現状よりも減少させて設定するステップと、
前記現状よりも増加させて設定された遅延時間が通信品質を保つために予め定められた限界時間を超えたか否かを判別する遅延限界判別ステップと、を有し、
前記セッション要求通知ステップは、前記設定された遅延時間が前記限界時間を超えたと判別された場合、前記通信端末から前記要求信号を受け付けた旨を前記処理実行手段に通知しないことを特徴とする請求項5に記載の通信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−156800(P2012−156800A)
【公開日】平成24年8月16日(2012.8.16)
【国際特許分類】
【出願番号】特願2011−14213(P2011−14213)
【出願日】平成23年1月26日(2011.1.26)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】