【発明の詳細な説明】
ネットワーク・サーバの過負荷を防止するための装置および方法
発明の背景
本発明は電気通信ネットワークに関し、さらに詳しくはサーバ過負荷を防止す
るためにネットワーク・サーバのメッセージ・フローを制御するためのシステム
およびその方法に関する。
電気通信サービスはますますリアルタイム・ネットワーク・サーバに依存する
ようになってきた。伝統的な電話産業で、サービス制御ポイント(SCPs)は
従前から「無料電話」番号(米国では800番通話)を実際の電話番号に変換し
てきた。SCPsは近い将来、音声ダイアル、ローカル電話番号ポータビリティ
、発呼名通知やその他のスクリーニング機能、自動電話ポーリング、パーソナル
通信サービス等の広範囲にわたるインテリジェント型ネットワーク・サービスを
サポートするようになる。これらのサービスはSCPs に対する要求を増加し、
トランザクション当たりのメッセージ数やその実時間コストが大幅に変化するト
ランザクションをSCPs が処理しなければならない。ビデオ・ダイアルトーン
・サービスでのSCPの類似物がレベル1ゲートウェイ(Level 1 Gateway)
である。ビデオ・ダイアルトーン・ネットワークにおいてレベル1ゲートウェイ
はビデオ・セッション要求をスクリーニングして他のネットワーク要素に接続を
セットアップするように指示する。レベル1ゲートウェイは、インタラクティブ
TVのセッション要求やペイパービュー・イベント等多数のトランザクション種
別も処理する。
サービス・デマンドの揮発性(volatility)は当該ネットワーク・サーバが提
供するサービスの完全性を脅かしている。急速なサービス導入の環境で、通常の
トラフィック・エンジニアリングではネットワーク・サーバにかかる負荷の増加
や変動に追従できない。サーバは時おり、また場合によっては頻繁に過負荷に見
舞われる。つまり過負荷制御によりエンジニアリングの実践を補佐する必要があ
る。
従来技術のコントローラは、検索の試行錯誤を行なってコントローラで計った
測定値をサーバ作業負荷容量に関連づける適正な制御値を設定している。このよ
うな測定値の例としては、サーバに流入するメッセージ数、応答時間が長すぎる
メッセージ数、およびプロセッサ稼働率が挙げられる。
従来技術の検索アルゴリズムには2つの大きな制約があった。第1に、検索ア
ルゴリズムはトランザクション到着に比べて非常に長い時間的スケーるで制御パ
ラメータを更新する(数ミリ秒に対して秒単位で)。 その結果、所望の値への総
トランザクション・レートの変換は遅くなることがある。
第2に、サーバが制御をトリガするために用いている測定値の幾つか、たとえ
ば到着メッセージ数や非常に長い遅延の見られるメッセージ数等がサーバ作業負
荷容量に関連させ難い。たとえば、サーバがメッセージを処理するのに必要な時
間量は大幅に変化するので、到着メッセージ数単独ではサーバにかかる負荷を表
わすことができない。同様に、メッセージが非常に長い遅延を被る場合、特にト
ランザクションが多数の測定間隔にまたがる場合には、このようなメッセージの
カウントを使ってどのように制御動作を行なうかは明らかにならない。
サーバが過負荷状態になっていると判定した場合、トラフィックソースに対し
てサーバへの新規トランザクション数を減少するように指示しなければならない
。ソースはトランザクションの論理的グループであり、一つのソースは単一の過
負荷制御要求に対する最少の変換ストリームである。現在のSCPs におけるコ
ントローラはトラフィックを減少させるための技術にトラフィック減少量をサー
バで指定する方法を緊密に結合させている。
SCPs は図1に図示した自動コード・ギャッピング("ACG")で到着呼を
阻止する。ACGにおいて、ソースはギャップ区間3の間に発生する全ての新規
トランザクション1を阻止する。ギャップ区間が終了すると、次に到着する新規
トランザクション5,6,または7は受け入れられる。新規トランザクション受
け入れにすぐ続けて、次のギャップ区間が始まる。つまり、ソースに対するAC
G要求はgをギャップ区間として「g」秒当たりに最大で一つの新規トランザク
ションを開始するように伝える。
従来のギャップ技術はソースにギャップ区間の所定のテーブルを格納する。コ
ンジェスチョン(congestion)に応答して、サーバはソースに対して「過負荷レ
ベル」つまりテーブルへのインデックスを送信する。ソースは過負荷レベルに対
応するギャップを適用する。
この種のコントローラでの制限は、固定された値のリストが任意のサーバ過負
荷条件を解決するのに必要とされる適正な制御値を含まないことがある点にある
。固定されたリストから制御値を選択するだけに制限されているコントローラは
、サーバが大きすぎる過負荷レベルと小さすぎる過負荷レベルを交互に選択する
と、トランザクションのスループットに特徴的な発振(oscillations)を起こす
。固定リストの値と過負荷を制御するのに実際に必要とされる値の間の不適合が
大きい程、スループットの振幅が大きくなる。発振の頻度は測定区間の長さによ
って管理されるが、これはコントローラが区間当たり1回リストから新しい値を
取り出すためである。
従来のギャッピング技術は、トラフィックをオンにしてからオフにするまでが
長すぎる傾向にあるため最適スループット以下しか実現できない傾向にある。さ
らに、従来のギャッピングを適用するとサーバは任意のサービス種別のソース全
部に対して同一のインデックスを送信するため、大きく高いトラフィック・ソー
スは低トラフィック・ソースより厳しく絞り込まれる傾向にある。
したがって、サーバ過負荷を防止して従来の技術の制限を克服するメッセージ
・フローを制御する方法が必要とされる。たとえば、ネットワーク・サーバ過負
荷コントローラは快適にサーバが処理できる最大レベルまでサーバに到着する負
荷を減少するべきである。マルチサービス環境において、コントローラはネット
ワーク・サーバによって提供される個別のサービスへのデマンドも阻止するべき
である。
発明の説明
本発明によれば、ネットワーク・サーバのトランザクションを開始させるソー
スから受信したメッセージによってネットワーク・サーバの過負荷を防止するた
めの方法を実現することにより、従来の技術の制限を克服する。本発明の方法は
プロセッサによって実行され、測定区間当たりの目標到着トランザクション作業
負荷を設定するステップと、測定区間の間に得られた測定値からソースによって
提供されるトランザクション作業負荷を推定するステップと、提供されたトラン
ザクション作業負荷が閾値を超える場合に目標作業負荷に到着トランザクション
作業負荷を一致させるように新規トランザクションがソースによって開始される
レートを減少するステップとを含む。
本発明はまた、ネットワーク・サーバのトランザクションを開始させるソース
から受信したメッセージによってネットワーク・サーバの過負荷を防止するため
の装置も含む。本発明装置は、測定区間当たりの目標到着トランザクション作業
負荷を設定するための構造と、測定区間の間に得られた測定値からソースによっ
て提供されるトランザクション作業負荷を推定するための構造と、提供されたト
ランザクション作業負荷が閾値を超える場合に目標作業負荷に到着トランザクシ
ョン作業負荷を一致させるように新規トランザクションがソースによって開始さ
れるレートを減少するための構造とを含む。
前述の一般的説明と後述の詳細な説明の両方とも例示および説明を目的とした
ものであって請求される本発明のさらなる説明を提供することを意図したもので
ある。
図面の簡単な説明
添付の図面は本発明のさらなる理解を提供する。図面は本発明の実施形態を図
示しており、説明と併せて本発明の原理を解説するものである。
図1はトランザクションとギャップ区間の略図である。
図2はビデオ・デジタるトーン・ネットワークのブロック図である。
図3はサービス制御ポイントを用いるネットワーク・アプリケーションのブロ
ック図である。
図4は本発明の一実施形態によるネットワーク・サーバの過負荷を防止するた
めの装置のブロック図である。
図5は本発明の一実施形態によるネットワーク・サーバの過負荷を防止するた
めの装置のブロック図である。
図6はサーバ過負荷を制御するための方法のフロー図である。
図7は本発明の一実施形態による「検索型」過負荷制御法のフロー図である。
図8は本発明の一実施形態による「ドロップ型」過負荷制御法のフロー図であ
る。
図9は本発明の一実施形態による「利用頻度」過負荷制御法のフロー図である
。
図10は本発明の一実施形態による「正当なシェア」過負荷制御法のフロー図
である。
図11は本発明の一実施形態によるオペレーティング・システムのコンフリク
トを減少するための過負荷制御法のフロー図である。
発明を実施するための最良の態様
本発明は、たとえばビデオ・ダイアルトーン・ネットワークを含む各種の電気
通信ネットワークで実現することができる。図2はこうしたビデオ・ダイアルト
ーン・ネットワークのブロック図である。図示したように、ビデオ・ダイアルト
ーン・ネットワークはレベル1ゲートウェイ200、ビデオ情報プロバイダ(”
VIPs")202a〜c、ATM網204、およびアクセス・システムとローカ
ル分散施設206a〜bを含むのが代表的である。ユーザ208a〜gはアクセ
ス・システムとローカル分散施設206a〜b経由でネットワークへ接続する。
図2において、実線はATM接続を表わし、破線は制御信号接続を表わす。
レベル1ゲートウェイ200はビデオ・ダイアルトーン・ネットワークにおけ
るネットワーク・サーバの役割を演じる。レベル1ゲートウェイはネットワーク
セッションを管理し、任意のビデオ情報ユーザ208a〜gがビデオ情報プロバ
イダ202a〜cへ、またはその逆に接続できるかどうかを調べる。このような
セッションの一例としてビデオ・オンデマンド・ビューイングまたはペイパービ
ュー・イベントがある。ユーザが所望の接続を行なうべく認証されると、レベル
1ゲートウェイ200はユーザ208aおよびプロバイダ202aに対してセッ
ションを開始することに同意するか確認する。レベル1ゲートウェイ200はA
TM網204への命令を発行してその接続のための論理パスおよびバンド幅を割
り当てる。セッションのセットアップの各ステージにおいて、レベル1ゲートウ
ェイ200はネットワークおよびネットワーク接続によって提供されるビデオ・
サービスの状態を記録する。
つまり、ビデオ・セッション・セットアップを有効にするため、セットアップ
・ボックス、ビデオ情報プロバイダ、ATMスイッチを含むネットワーク要素の
間で、幾つかのメッセージを通信しなければならない。ATM網204およびア
クセス・システムとローカル分散施設206a〜b経由で、レベル1ゲートウェ
イ200はこのメッセージ交換を仲介する。セッション・セットアップに関係す
るメッセージのどれかが宛先に到達できない場合、セッションは設定されない。
本発明に係るコントローラの実施形態は、レベル1ゲートウェイ200等のネ
ットワーク・サーバがビデオ・ダイアルトーン・ネットワーク・サービスを処理
するために送信されたメッセージに起因する過負荷を起さないようにする。コン
トローラはビデオ・サービス要求を開始したユーザに起因する総トランザクショ
ン・ストリームの目標レートを検索してアクセス・システムとローカル分散施設
206a〜b等のソースが処理のために承認すべき新規トランザクションの一部
分を指定する承認ファクターを計算する。
本発明はアドバンスト・インテリジェント・ネットワーク(AIN)等のイン
テリジェント型ネットワークで実現することもできる。図3はインテリジェント
型ネットワークのブロック図である。図3のインテリジェント型ネットワークは
SCPs300aおよび300b(信頼性向上のために一対にしてある)、シグナ
リング転送ポイント("STPs")302aおよび302b(これも信頼性向上の
ために一対にしてある)、ならびにコモン・チャンネル交換が可能なサービス交
換ポイント("SSPs")304a〜304nを含む。SCPs はネットワーク
・サーバとして機能する。SCPs をネットワーク・サーバとして用いる一つの
共通用途には"800"電話番号の変換が挙げられる。この変換では、SSP30
4a〜nがダイアルされた"800"番号を受け取りSTP302aまたは302
b経由でSCP300aまたは300bにコモン・チャンネル・シグナリン
グ・クイアリを放出する。SCP300aまたは300bがこのクイアリを処理
し、受信した"800"電話番号を変換し、発信元SSPへ変換した電話番号を返
す。
本発明によるコントローラの実施形態が図4のブロック図に図示してある。コ
ントローラ400は大容量記憶装置402、主メモリ404、中央演算処理ユニ
ット(CPU)406、入出力(I/O)デバイス408を含む。主メモリ40
4は本発明の過負荷防止方法を実現する過負荷制御プログラム410を含む。主
メモリ404は指定された間隔で過負荷制御に関連したトラフィック測定値41
2を計算するコンピュータ・プログラム・コードも含む。CPU406は主メモ
リ404に記憶されたコンピュータ・プログラム負荷を実行する。入出力デバイ
ス408は大容量記憶装置402へのコントローラのアクセスを処理し、ネット
ワーク・トラフィック資源へのゲートウェイとして機能する。
コントローラ400のコンピュータ・プログラム・コードによって実行される
機能のうちの1つ以上が、マイクロプロセッサや集積回路等のコンピュータ・ハ
ードウェアに実装できることを、当業者は理解されよう。図5のブロック図に図
示してあるコントローラのこのような別の実施形態の一つにおいて、コントロー
ラ500は目標設定回路502、到着トランザクション作業負荷推定回路504
、レート・リデューサ506を含む。コントローラ500はネットワーク・サー
バの大容量記憶装置508に接続される。目標設定回路502は各測定間隔で到
着するサーバ・メッセージを測定して、目標到着トランザクション作業負荷を計
算する。目標設定回路502の測定値から、到着トランザクション作業負荷推定
回路504はソースから提供された到着トランザクション作業負荷を推定する。
レート・リデューサ506は、提供されたトランザクション作業負荷が閾値を超
える場合に新規トランザクションがソースによって開始されたレートを減少させ
て、到着トランザクション負荷と一致するようにさせる。
本発明によれば、ネットワーク・サーバに配置されるかネットワーク・サーバ
に取り付けられた過負荷コントローラは、図6のフロー図に図示したような幾つ
かのタスクを実行する。望ましくは、過負荷コントローラは測定間隔当たりの目
標到着作業負荷を設定して過負荷の間に用いる(ステップ602)。過負荷コン
トローラは次に到着メッセージの測定値からソースの提供した負荷を計算する(
ステップ604)。最後に、提供された作業負荷が閾値より大きい場合、各々の
ソースからの新規トランザクション・レートを減少させて到着作業負荷目標に一
致させる(ステップ606)。本発明では、ステップ602とステップ604は逆
にしても良い。
一実施形態において、目標到着作業負荷は過去のネットワーク・トラフィック
統計に基づいて確定し、意外に早く固定することができる。別の実施形態におい
て、コントローラは動的に目標を生成することができる。たとえば、目標到着作
業負荷の値はサーバがトランザクション処理に割くことのできる所望の最大の時
間配分(すなわちサーバ容量)を提供するレベルに固定することができる。別の
例では、コントローラは応答時間が閾値を超えたメッセージをカウントし、この
カウントから適当な目標到着作業負荷を動的に計算する。目標到着作業負荷は秒
当たりメッセージとして表現され、トランザクション・ミックスが大幅に変化し
ない場合には作業負荷目標を表わす。
本発明によれば、サーバ過負荷コントローラの出力は、来るべき測定間隔の間
にサーバにソースから送信できる新規トランザクション要求の一部を表わす計算
値("承認ファクター")である。サーバはソースからの新規トランザクションに
応答してソースへ承認ファクターを通信する。応答メッセージがソースに到達し
てソースが承認ファクターを更新するのには或る程度の時間がかかる。ソースが
トランザクションの最初のメッセージを送信するのをコントローラが認める場合
、いずれかのネットワーク・ノードがこのトランザクションに対応する後続メッ
セージを送信することも認める。
本発明の一実施形態において、コントローラは測定間隔の終りで承認ファクタ
ーを更新して次の測定区間の間にソースにこれを適用することにより、ネットワ
ーク・サーバへ送信されるトランザクション数を制御する。過負荷の前には、承
認ファクターは1に等しい(過負荷条件を検出するために他の値を用いても良い)
。コントローラは過負荷を検出し、次に、過負荷条件が検出されている間または
承認ファクターが1より小さくなるまでの後続の測定間隔の間に承認ファクター
を変更する。
下記の標記は本発明のコントローラの動作を説明するために用いられる。以下
で識別される各々の値は測定区間(「現在の区間present interval」)の終了時に
測定されるもので、現在の区間の間に得られた測定値は次の区間で承認ファクタ
ーの値を更新するために用いられる。
・A′は現在の区間においてサーバに到着したメッセージ個数を表わす。
・Dは現在の区間でドロップされたメッセージ個数を表わす。
・Fは現在の区間で終了したサービスのメッセージ個数を表わす。
・ρは現在の区間でのトランザクション関連のプロセッサ稼働率を表わす。
・Cは現在の区間で用いられる承認ファクターで、0<C<1である。検索型コントローラ
本発明の一実施形態において、過負荷コントローラは「検索型」コントローラ
であり、すなわちこのコントローラは連続的に検索して測定区間でのサーバに承
認すべきメッセージの最大個数を確定(determine)する。図7のフロー図に図
示してあるコントローラの本実施形態では、メッセージある間隔の間にドロップ
されたか、またはされなかったかによって倍数ファクターだけ(ステップ700
で選択される)Cを上下する二進フィードバック方式を用いる。
コントローラは測定区間の終り毎に承認ファクターCを更新する。現在の区間
での承認ファクターは、現在の区間の間にドロップされたメッセージDの個数に
よって2種類の方法のどちらか一方で更新される。(ステップ702で確定され
る)現在の測定区間の間にサーバがメッセージをドロップしている場合、次の測
定区間での承認ファクターは現在の区間での承認ファクターに定数bを乗算する
ことで計算され、この定数としては0と1の間の数が望ましい(ステップ704
)。現在の測定間隔の間にドロップされたメッセージがない場合、次の区間での
承認ファクターは現在の区間での承認ファクターをbまたは1で除算したどちら
か小さい方となる(ステップ706)。計算した承認ファクターは、ソースによっ
てトランザクションが開始されたレートを制御するために用いられる(ステップ
708)。次の測定区間についての承認ファクターのこの計算は、以下のコ
ンピュータ・プログラム・コード・セグメントで表現される。
割り当て演算子(矢印←)はCの値が右辺の表現で上書きされることを表わす
ものである。Cが大きくなりすぎる場合、作業が早く到着しすぎてサーバがメッ
セージをドロップする程応答時間が大きくなるまで作業負荷が増大する。また、
Cが小さくなるとサーバは残務を済ませ、サイクルを繰り返す。ドロップ型コントローラ
サーバが過負荷かどうかを表わすフィードバックがメッセージの時間間隔に対
して希少な場合、検索型コントローラを用いると過負荷を防止する値に対する承
認ファクターの収束が低速になることがある。低速フィードバックを補償するた
めに本発明の別の実施形態では、ドロップされたメッセージを用いて一つのステ
ップで承認ファクターを更新する。
ドロップ型コントローラの実施形態は図8のフロー図に図示してあるステップ
にしたがう。図8に図示したステップは各測定区間の終りに実行される。コント
ローラは測定区間当たりの目標到着作業負荷についての代理(surrogate)を調
査する(ステップ802)。代理はA′maxであり、測定区間においてサーバが受
信すべきメッセージの最大数である。過負荷の新規エピソードはメッセージのド
ロップにより信号で通信される。サーバがメッセージのドロップを開始すると、
測定区間の間に受け入れるメッセージ数とドロップするメッセージ数の間の差が
メッセージの最大受け入れ可能な作業負荷を表わす。つまり、A′maxは初めに
この値にセットされる。
コントローラは、次の区間に提供されるであろうメッセージ数がA=A′/C
であると推定する(ステップ804)。現在の区間の終りに、コントローラは以下
のように承認ファクターを更新する(ステップ806)。サーバがメッセージをド
ロップしたか、または承認ファクターが1より小さい場合、現在の区間について
A′maxとA′の比で乗算した現在の区間についての承認ファクターと1とのど
ちらか小さい方と等しい値に、承認ファクターはセットされる。現在の区間の間
にメッセージがドロップされた場合、次の区間でのA′maxは現在の区間の間に
サーバに到着したメッセージ数と、この区間の間にドロップされたメッセージ数
との差である。ドロップされたメッセージはないが承認ファクターが未だ1より
小さい場合、A′maxは変更されない。以下のコンピュータ・プログラム・コー
ド・セグメントはこれらのステップを示すものである。
ドロップが行なわれない場合にA′maxの古い値を保持することで、過負荷が
鎮静化した場合に承認ファクターを1.0に戻すことができるようになる。A′max
が到着メッセージの現在の個数と等しい場合、Cに乗算するファクターA′m ax
/A′は常に多くとも1.0になり承認ファクターは1.0に戻ることはない
。このコントローラは分母がゼロにならないことのチェックも含む。履歴ありのドロップ型コントローラ
ドロップ型コントローラにおいて、推定値A′max=A′−Dは少なくとも2
つの理由から不正確になり得る。第1に、サーバはメッセージをバッファできる
ことによる。サーバが最初にメッセージをドロップする区間で、到着メッセージ
とドロップされたメッセージの差は、到着メッセージの幾つかがドロップされる
のではなくバッファされることから、承認すべき正しい数を過大評価することが
ある。第2に、一つの区間でドロップされたメッセージが別の区間に到着してい
た可能性がある。これは有意なファクターであり、到着メッセージとドロップし
たメッセージの差が承認すべき正確なメッセージ数を過小評価する原因となる。
ドロップ型コントローラでもっと微妙な制限は、サーバがメッセージのドロッ
プを停止するとA′maxの値が固定されたままになることである。残念なことに
、サーバのメッセージ容量は固定されることがない。たとえば、メッセージ当た
りの平均実時間コストが低下すると、A′maxの古い値は不必要に低くなること
がある。
サーバのメッセージ・ドロップ履歴を考慮した本発明の実施形態は、A′max
の値の履歴をH個の要素からなる環状配列に保持することで、A′maxの値をう
まく選択できない問題を解決している。測定区間の終りで、サーバはA′−Dで
配列の最も古い構成要素を上書きする。D>0の場合、サーバは配列の値の平均
に等しくなるようにA′maxをセットする。それ以外の場合、A′maxは変更され
ない。新規の承認ファクターはドロップ型コントローラの場合と同様に正確にセ
ットされる。サーバがメッセージをドロップする場合に幾つかの測定にまたがる
平均としてA′maxを定義することで、単一測定での変動性に対処する。成長ありのドロップ履歴コントローラ
本発明のさらに別の実施形態において、サーバ制御はドロップしたメッセージ
数と時間間隔の間にサーバ処理のために到着する目標メッセージ最大数を増加、
または「成長」する可能性に基づいている。サーバ・コントローラの本実施形態
はドロップ履歴コントローラと同一であるが、D=0の場合にA′max←max(A
′max,A′)にしたがってA′maxを更新する点で異なっている。サーバがメッ
セージをドロップしないが承認ファクターが未だ1.0より小さい区間では、こ
の規則はサーバに到着するメッセージ数のランダムな変動を用いてA′maxより
区間当たりで多くのメッセージを実際に受け付けられるかどうかを発見する。こ
のようにすると限界A′maxはサーバが再びメッセージをドロップするまで増
加され、ドロップした時点で増加を止めることができる。利用頻度コントローラ(Usage Controller)
本発明の別の実施形態において、コントローラはドロップされたメッセージで
はなくサーバのプロセッサ稼働率をモニタする。幾つかの用途で、利用頻度コン
トローラはサーバの処理能力を単位時間当たりメッセージに変換する必要がない
ため、ドロップ型コントローラに対する利点を提供する。本実施形態は図9のフ
ロー図に図示してあるステップにしたがう。
コントローラは過負荷中のトランザクション処理の目標稼働レベルTを選択す
る(ステップ902)。たとえば、サーバのオペレータはトランザクション関連の
プロセッサ利用率が92%を超えて欲しくない場合がある。オペレータはまた、
安全マージンを設定し、0.92より小さい最大値、たとえば0.90を表わす
Tをセットしたい場合がある。測定区間当たりの最大到着トランザクション作業
負荷は、Iを測定間隔の持続時間としてTIで与えられる。
利用頻度コントローラは、下記のように現在の区間から次の区間へ承認ファク
ターを更新する。最初にコントローラは、下記のように次の区間で提供されるト
ランザクション負荷を推論する。現在の区間でのメッセージ当たり平均処理時間
はρI/Fである。つまり、当該区間での到着作業負荷はA′ρI/Fとして推
定できる(ステップ904)。この量は大まかに提供された作業負荷のC倍を表わ
しているので、提供された作業負荷の推定は式W=A′ρI/(FC)により計
算される。コントローラは、次の区間で提供される作業負荷が現在の区間で提供
された作業負荷と等しくなるものと予想する(ステップ906)。よって、Wは次
の区間で提供される作業負荷の予測である。
現在の測定区間の終りで、コントローラは次式にしたがって更新承認ファクタ
ーを計算する(ステップ908)。
過負荷の前に、Cは1.0に等しいのが代表的であるから、テストρ>Tでは
過負荷を検出する。承認ファクターが適用されると、同じテストは失敗するのが
代表的なので、2番目のテストC<1.0で制御が急に解除されるのを防止し、
過負荷が鎮静化した場合に段階的にCを1.0へ上昇させるようにする。計算し
た承認ファクターは、トランザクション・レートを制御するためにコントローラ
で用いられる(ステップ910)。フェア・シェア・コントローラ
単一のネットワーク・サーバが多数のサービスを提供しているような環境では
、コントローラはサーバに到来する負荷を過負荷の間に処理できる最大レベルま
で減少させるだけではなく、サービスに対する過剰なデマンドもまた個別に阻止
する必要がある。たとえば、一つのサービスに対するデマンドの急激な増加がサ
ーバを過負荷に陥れる(過負荷の集中が発生した)場合、ネットワークのオペレ
ータは過負荷の原因となるサービスに向けられたトラフィックを制限したいが、
他のサービスのトラフィックは制限したくないことがある。その一方で、一般的
な過負荷(全サービスの負荷が増加する)では、コントローラはデマンドに比例
して全トラフィックを制限することがある。
一般に、マルチサービス環境のコントローラは、競合サービスに対してサーバ
容量の正当なシェア(fair shares)を割り当てる必要がある。フェア・シェア
・コントローラ(fair share controller)の実施形態では、各測定区間の終り
に以下のアルゴリズムを実行する。
アルゴリズムの幾つかの態様はさらに評価するに値する。第1に、最初の if
文により制御をアクティブにしたり解除したりする。サーバが最初に過負荷にな
っていないと仮定すると、サーバが過負荷になった時点で過負荷制御をアクティ
ブにする。制御がアクティブになると、過負荷を検出した測定値はもはやサーバ
が過負荷になっていないことを表わす(制御が効果的にトラフィックを減少して
いれば当然にそうなる)。しかし、デマンドはまだ高すぎることがある。アルゴ
リズムは制御がアクティブな間デマンドを予測し続ける。さもなくば制御が急に
解除されて、過負荷が発生し消滅する発振が発生する。
配列 fair_share は、どの程度の処理能力をサーバが次の測定区間で各サービ
スに割り当てるかを指定する。正当なシェアは、必ずしもサービスが消費する処
理の最大量ではない。サービスのデマンドが利用可能容量より小さければ、サー
バの処理能力は別のサービスに割り当てられる。正当なシェアの総和は、その総
和が一般に用いると予想されるサービスであるため、サーバ容量より小さくなけ
ればならない。
各サービスについてサーバ処理能力のシェア(share)を動的に計算する制御
は、一度に全サービスについての情報を必要とする。収入に基づく(revenue-ba
sed)制御は、優先順位が絶対でない場合に同じ属性を有している(すなわち、も
っと優先順位が高いサービスを縮小する前に一つのサービスを完全に遮断するこ
とはない)。
一般に、優先順位が静的な場合、またはもっと動的な割り当てアルゴリズムの
下での測定値の比較の場合に、正当なシェアの計算はテーブル参照を必要とする
。割り当てられる資源は処理能力であるから、正当なシェアは最終的に単位時間
、またはプロセッサ利用率に変換される必要がある。
量デマンドはソースが提供する作業負荷を表わす。この提供された負荷の幾つ
かはコントローラによってソースで阻止されることがあるので、サーバは内部測
定値および先行する承認ファクターから提供された負荷を推定する。
利用頻度およびドロップ型コントローラの両者を修正して、多数サービスを提
供するサーバ用にフェア・シェア・コントローラを作成することができる。サー
バが多数サービスを提供しているような場合、コントローラ動作を説明する記述
を次のように変更する必要がある。
・A′(s)は現在の区間でサーバに到着したサービスsのメッセージ数を表
わす。A′=ΣA′(s)は全サービスからのメッセージ数である。測定値から
引数を除くと全サービスに対する和を表わす。
・C(s)は現在の方法でサービスsについての承認ファクター(すなわち、
サービスsに属する全てのソースが用いる承認ファクター)である。0≦C(s
)≦1。
・D(s)は現在の区間でサーバがドロップしたメッセージ数を表わす。
・A′max(s)は次の測定区間においてサービスsからサーバが受け入れる
べきメッセージの最大数である。
・F(s)は現在の区間でサービスを終了したサービスsのメッセージ数を表
わす。
・ρ(s)は現在の区間でサービスsの作業処理によるプロセッサ利用率を表
わす。
・T(s)は次の区間においてサービスsのための目標トランザクション関連
利用率レベルを表わす。
正当共有ドロップ型コントローラはドロップしたメッセージと到着メッセージ
のカウントを用いて過負荷を検出し、履歴および増加の変更を含むデマンドを推
定する。コンピュータのプロセス・スケジューラによって提供される異なったサ
ービスに対する正当なシェア(faire share)を実施するドロップ型コントロー
ラ法の実施形態は以下のアルゴリズムのステップを含む。
添字iは測定区間をインデックスしており、0は現在の区間で数が大きくなる
ほど過去の区間を表わす。
アルゴリズムの"if"文の内側はメッセージをドロップする処理の正当なシェア
を計算する。else 文により、サービスがサーバの過負荷を停止するとシェアを
増加させる。利用頻度コントローラと同様に、min 関数はサービスのデマンドと
サービスの正当なシェアの小さい方を受け入れるように機能する。
過負荷の間、正当シェア利用頻度コントローラはサーバ利用率が全体的目標T
になるまで到着トラフィックを減少させる。さらに正当シェア利用頻度コントロ
ーラは、サービスのデマンドが最近の利用頻度をどの程度超えたかに比例して各
々のサービスからトラフィックを減少させるように設計されている。たとえば、
一つのサービスが過負荷を引き起しているだけの場合、フェア・シェア・コント
ローラはその一つのサービスに向けられたトラフィックだけを引き下げ、他のサ
ービスには影響を与えない。フェア・シェア・コントローラの実施形態は、過負
荷が発生した時点で図10のフロー図に図示してあるステップにしたがう。コン
トローラは過負荷前に提供した負荷に比例して、サーバでのサービスについて目
標Tを「正当なシェア(fair shares)」に分割する(ステップ1002)。次に、
各サービスの承認ファクターをセットして(ステップ1004)、サービスの正当
なシェアまでサービスの作業負荷を減少させる(ステップ1006)。
サービスsの正当なシェアまたは目標は、次のように定義される。U(s)が
過負荷前のサービスsの利用率の推定値で、かつU=ΣU(s)とすれば、
U(s)は、H個の過去の測定間隔にわたるサービス利用率測定値を平均化す
ることで計算される。つまり、ρi(s)、ここでi=0,..., H−1がサービス
sの利用率の最後のH個の測定値なら、
各測定区間の終りに、フェア・シェア・コントローラは各サービスの利用率履
歴の環状配列を更新する。次に、各サービスについて承認ファクターを更新する
。
利用頻度型コントローラは、プロセッサ利用率を安全な目標レベルに保ちなが
ら最大トランザクション・スループットを維持する。正当シェア利用頻度コント
ローラはこれらの目的を実現し、過負荷を発生させるサービスからトラフィック
を切り下げ、他のサービスが提供するほとんど全てのトラフィックを継続処理で
きるようにする。フェア・シェア・コントローラでは、たとえば重みで正当なシ
ェアT(s)を乗算することにより、サービスに優先順位を付与する自由度があ
る。本発明の一実施形態において、これらの重みはサービス収入要件に相当する
。サーバ・プロセス・スケジューリングを補償する過負荷コントローラ
本発明の別の実施形態はサーバが複数のサービスを提供し、サービスのデマン
ドは揮発し易いものであって、どの時点にでもサービスの一つへのデマンドがサ
ーバで処理できる負荷を超えて総負荷を増加させ、押し上げることがあるような
環境に適している。このようなイベントでは、サーバは受け入れるトラフィック
の量を減少しなければならない。サーバ・コントローラは、どのトラフィックを
受け入れ、どのトラフィックを破棄するかを選択しなければならない。サーバ・
コントローラは、総デマンドがサーバ容量を超える場合にどの程度のサーバ処理
能力を競合するサービスに割り当て、これらのサービスの到着デマンドを割り当
て量に制限するかを確定(determine)する。
上記のような割り当ての問題は、オペレーティング・システムのプロセス・ス
ケジューラの領域にも含まれる。異なるプロセスが異なるサービスを処理する場
合、プロセス・スケジューラは各々のプロセスがいつどの位の時間にわたって動
作するかを確定するため、競合するサービスに優先順位を割り振る。過負荷コン
トローラは各々の種類のどの程度の作業がサーバに容認されるかを管理している
ため、サービスの優先順位も割り当てる。本実施形態にしたがって設計された過
負荷コントローラは、これらの重複する優先順位割り当てを認識して取り扱う。
本発明にしたがって設計されたコントローラは、サーバ過負荷制御とプロセス
・スケジューリングの相互作用を補償する。サーバがUNIXオペレーティング
・システムに実装されたスケジューラを有しているような環境では、UNIXス
ケジューラはラウンドロビン方式で時間スライスを異なるプロセスに与える。
プロセスはこの時間スライスの一部または全部を用い、このスライスによりプ
ロセス当たりの処理能力の補償されたシェア(share)に大まかに変換する。他
のプロセスは、実際には任意のプロセスが必要としない時間スライスの部分を用
いるので、実時間の補償されたシェアよりも多くを取り込む。
代表的には、サーバは単一のマルチタスク・プロセッサを有している。しかし
、本発明はマルチプロセッサ環境での用途も有している。代表的には、オペレー
ティング・システムによって制御されるプロセスは2種類に分けられる。トラン
ザクション・ハンドリング・プロセスとオーバヘッド・プロセスである。トラン
ザクション・ハンドリング・プロセスとサービスの間には1対1の対応が成り立
つ。オーバヘッド・プロセスは、オペレーティング・システムの雑用、保守、測
定、および過負荷制御自身を含めてサーバ・プロセッサが実行しなければならな
い他のタスク全部を表わす。
正当シェア利用頻度コントローラの好適実施形態を修正して、サーバ・プロセ
ス・スケジューリングとの相互作用を取り扱うことができる。利用頻度コントロ
ーラは、一つのサービス・デマンドが急激に増加し、同時に他のサービスのデマ
ンドがほとんど一定の場合にサービス間にファイア・ウォールを作成するように
設計される。利用頻度コントローラは、大まかに最近の利用レベルに比例してサ
ーバの処理能力をサービスに割り当てる。これは、過負荷に関係しないサービス
に対しては最近用いたできるだけ多くのサービス処理能力を与えて、有害なサー
ビスからはトラフィックを切り詰めることを意図している。
トランザクション以外のプロセスを処理するには、本実施形態では、測定した
総利用率ρがρmax′を超える場合に、ここでρmax′は所定の総利用率閾値とす
ると、サーバ制御がアクティブとされる。記号ρovhdは現在の区間でのオーバヘ
ッド・プロセスに起因するプロセッサ利用率を表わすもので、すなわちρovhd=
ρ−Σρ(s)である。
オペレーティング・システムのコンフリクトを低減するサーバ過負荷コントロ
ーラの一実施形態は、図11のフロー図に図示したステップを含む。過負荷コン
トローラは各サービスの最近のプロセッサ利用率を推定する(ステップ1102)
。過負荷コントローラは次に、プロセッサ利用率の値と閾値とを比較し(ステッ
プ1104)、C(s)を調べて1.0より小さいかどうか判断する(ステップ1
106)。コントローラはさらに、オーバヘッド処理に一定量のプロセッサ容量
を割り当て(ステップ1108)、以下に示す式を用いてサービスに対するフェア
・シェア・プロセッサ利用率レベルを計算し(ステップ1110)、計算した承認
ファクターをフェア・シェア・プロセッサ利用率レベルを用いて計算した新規計
算の承認ファクターで置き換える(ステップ1112)。新規に計算した承認ファ
クターは、ネットワーク・サーバで処理されるメッセージ数を制御するために用
いられる(ステップ1114)。
ここでは、T(s)で表わす或るサービスの正当なシェアを定義するには、i
=0,...,H−1としてρi(s)がサービスsの利用率の最後のH個の測定値と
し(0は現在の区間をインデックスし、添字は経過にしたがって増加する)、次の
ように定義すると、
U(s)は過負荷前のサービスsの利用率を推定する。U=ΣU(s)と設定す
る。各測定区間の終りで以下のアルゴリズムより前に、サーバは各U(s)を更
新する。サーバはその後、以下のアルゴリズムを実行する。
正当なシェア割り当てにおいて差(ρmax−ρovhd)を用いると、現在の区間で
用いられているのと同じ量のプロセッサ容量を次の区間で効率的にオーバヘッド
割り当てすることができる。
サービスsの正当なシェアT(s)は、和Uによる全サービスに依存し、また
(ρmax−ρovhd)によるオーバヘッド・プロセスにも依存する。したがって、全
サービスの正当なシェアは一緒に計算される。min 関数はプロセッサがサービス
sに割くことのできる時間の量T(s)Iよりデマンドが少ないと予測される場
合に、サービスsのデマンドの全部を受け入れるように新規の承認ファクターを
セットする。さもなくば承認ファクターをセットして、その正当なシェアとされ
ているサービスsからのT(s)I秒の作業だけを受け入れるようにする。適応型ギャッピング
上述の議論ではソースがどのように承認ファクターを実現すべきかを指定しな
かったが、これは承認ファクターを確定(determine)することと実現すること
が別々の独立した演算であることによる。承認ファクターの一つの考えられる実
現方法はパーセント・ブロッキングによるもので、ソースが承認のために新規ト
ランザクションの指定した小部分をランダムに選択する。テーブル駆動コード・
ギャップ方式は承認ファクターを実現する別の方法である。
本発明によれば、好ましくは自動コード・ギャッピングを用いて新規トランザ
クション要求を承認する。ギャップ区間は、承認ファクターに基づいて、SCP
がソースに対しそのコンジェスチョン・レベルが変化したことを伝える度に適応
的に再計算される。
承認ファクターCだけサーバへ送信される新規トランザクション個数を減少す
るようにとのサーバからの要求に応答して、ソースは入力トランザクション・レ
ートλを測定し、新規のギャップ区間gnewを次のように計算する。
gnew=(Cλ)-1-λ-1.
同様に、承認ファクターCだけサーバへ送信される新規トランザクション個数
を増加するようにとのサーバから要求に応答して、ソースは入力トランザクショ
ン・レートλを測定し、これと同じ式を用いて新規のギャップ区間を計算する。
前述の計算はソースで行なわれたが、この適応型ギャップ技術はそれに代わっ
てサーバ・レベルで実行することができる。新規ギャップ区間gnewをソースで
はなくサーバで計算することの主な相違点は、サーバがλを知らず、直接λを測
定できない点にある。しかし本発明によれば、サーバは、ソースの出力トランザ
クション・レートλoutに基づいてλを推定する。さらに詳しくは、サーバはλo ut
を測定してλを次のように推定する。
λ-1=(λout)-1-gold,
ここでgoldは現在のギャップ区間である。λを推定したら、サーバはソース
と同じ方法を用いてgnewを計算する。最後に、サーバは新規ギャップ区間をソ
ースに送信する。
適応型コード・ギャッピング・アルゴリズムは前述の承認ファクター・アルゴ
リズムと組み合わせて、または承認ファクターをセットするためにサーバで用い
る何らかのアルゴリズムと組み合わせて、ソースで用いることもできることに注
意されたい。同様に、サーバが前述の承認ファクター・アルゴリズムの一つを用
いる場合、ソースはソースが選択する何らかのブロッキング・トランザクション
の阻止方法を用いて承認ファクターによって指定されたトランザクションの小部
分をサーバに送信することができる。
現時点で本発明の好適実施形態およびその方法と考えられるものを図示し説明
したが、本発明の真の範囲を逸脱することなく様々な変化および修正をなすこと
ができ、また構成要素を等価物で代替できることは当業者には理解されるであろ
う。
さらに、本発明の中心的範囲から逸脱することなく特定の要素、技術または実
装を本発明の挟持に適応させるために多くの修正を行なうことができる。したが
って本発明は本明細書に開示した特定の実施形態および方法に制限されるもので
はなく、本発明は添付の請求の範囲内に納まる全ての実施形態を含むものである
ことを意図している。DETAILED DESCRIPTION OF THE INVENTION
Apparatus and method for preventing network server overload
Background of the Invention
The present invention relates to telecommunications networks, and more particularly to preventing server overload.
For controlling the network server message flow in order to
And its method.
Telecommunication services increasingly rely on real-time network servers
It has become. In the traditional telephone industry, service control points (SCPs)
Traditionally, "free phone" numbers (800 calls in the United States) are converted to actual phone numbers
Have been. SCPs will have voice dialing, local phone number portability in the near future
, Call name notification and other screening functions, automatic telephone polling, personal
A wide range of intelligent network services such as communication services
Will support. These services increase the demand for SCPs,
The number of messages per transaction and their real-time costs can vary significantly.
Transactions must be handled by SCPs. Video dial tone
・ Similar to SCP in service is Level 1 Gateway
It is. Level 1 gateway in video dial tone network
Screens video session requests and connects to other network elements
Instruct them to set up. Level 1 gateway is interactive
Numerous transaction types such as TV session requests and pay-per-view events
Process another.
The volatility of the service demand is provided by the network server.
It threatens the integrity of the services provided. In an environment of rapid service introduction,
Traffic Engineering Increases Load on Network Servers
And cannot follow fluctuations. Servers are sometimes and often frequently overloaded.
Be danced. In other words, it is necessary to assist engineering practice by overload control.
You.
Prior art controllers use search and trial and error
Appropriate control values are set that relate the measured values to the server workload capacity. This
Examples of such measurements are the number of messages flowing into the server and the response time is too long
The number of messages, and the processor utilization rate.
Prior art search algorithms have two major limitations. First, the search
The algorithm has a very long time scale compared to the transaction arrival and the control
Update parameters (in seconds versus a few milliseconds). As a result, the total
Transaction rate conversion can be slow.
Second, some of the measurements that the server is using to trigger control, such as
If the number of arriving messages or the number of messages with very long delays
Difficult to relate to load capacity. For example, when the server needs to process a message
Since the amount of time varies greatly, the number of messages received alone indicates the load on the server.
I can't forget. Similarly, if the message experiences a very long delay,
If the transaction spans a number of measurement intervals, the message
It is not clear how to perform the control operation using the count.
If you determine that the server is overloaded,
To instruct the server to reduce the number of new transactions
. A source is a logical grouping of transactions, one source for a single transaction.
This is the minimum conversion stream for load control requests. The current SCPs
Controllers provide traffic reduction techniques to technology to reduce traffic.
The method of specifying a bar is tightly coupled.
SCPs use the automatic code gapping ("ACG") illustrated in FIG.
Block. In the ACG, the sources are all new
Block transaction 1. When the gap section ends, the next new arrival
Transactions 5, 6, or 7 are accepted. Receive new transaction
Immediately following the burst, the next gap section begins. That is, AC for the source
The G request is a maximum of one new transaction per “g” seconds with g as the gap interval.
Tell them to start the session.
The conventional gap technique stores a predetermined table of gap sections in a source. Ko
In response to the congestion, the server responds to the source with an "overload
Send a "bell", an index into the table. The source can handle overload levels.
Apply the corresponding gap.
A limitation with this type of controller is that a fixed list of values can cause any server
May not include the proper control values required to solve the load condition
. Controllers that are limited to selecting control values from a fixed list
The server alternates between overload levels that are too high and overload levels that are too low
Causes oscillations characteristic of transaction throughput
. A mismatch between the values in the fixed list and the values actually needed to control overload
The larger the amplitude, the larger the amplitude of the throughput. The frequency of oscillation depends on the length of the measurement section.
This means that the controller will get a new value from the list once per interval.
To take it out.
Traditional gapping technology is used to turn traffic on and off.
Since it tends to be too long, there is a tendency that only less than the optimum throughput can be realized. Sa
In addition, if conventional gapping is applied, the server will be able to access all sources of any service type.
To send the same index to
Resources tend to be more rigorous than low traffic sources.
Therefore, a message that prevents server overload and overcomes the limitations of the prior art
A method of controlling the flow is needed. For example, network server
The load controller will reach the server to the maximum level that the server can comfortably handle.
The load should be reduced. In a multi-service environment, the controller is
Should also block demand for individual services provided by work servers
It is.
Description of the invention
According to the present invention, a source for initiating a network server transaction is provided.
To prevent network servers from being overloaded by messages received from
By implementing the method, the limitations of the prior art are overcome. The method of the present invention
Target arriving transaction work per measurement interval, performed by the processor
By setting the load and by the source from the measurements taken during the measurement interval
Estimating the provided transaction workload and providing the provided transaction
Transaction arriving at target workload when transaction workload exceeds threshold
New transaction initiated by source to match workload
Reducing the rate.
The invention also provides a source for initiating a network server transaction.
To prevent network servers from being overloaded by messages received from
Also includes the device of. The apparatus of the present invention is used for the target arrival transaction work per measurement section.
Depending on the source, the structure for setting the load and the measurements taken during the measurement interval
Structure for estimating the transaction workload provided by
If the transaction workload exceeds the threshold, the transaction
A new transaction is started by the source to match the application workload.
And a structure for reducing the rate.
Both the foregoing general description and the following detailed description are for purposes of illustration and description.
And is intended to provide a further description of the invention as claimed.
is there.
BRIEF DESCRIPTION OF THE FIGURES
The accompanying drawings provide a further understanding of the present invention. The drawings illustrate embodiments of the invention.
It illustrates and illustrates the principles of the invention in conjunction with the description.
FIG. 1 is a schematic diagram of a transaction and a gap section.
FIG. 2 is a block diagram of a video digital tone network.
FIG. 3 is a block diagram of a network application using a service control point.
FIG.
FIG. 4 illustrates a method for preventing network server overload according to an embodiment of the present invention.
FIG. 2 is a block diagram of an apparatus for performing the above.
FIG. 5 illustrates a method for preventing network server overload according to an embodiment of the present invention.
FIG. 2 is a block diagram of an apparatus for performing the above.
FIG. 6 is a flow diagram of a method for controlling server overload.
FIG. 7 is a flowchart of a "search-type" overload control method according to an embodiment of the present invention.
FIG. 8 is a flowchart of a “drop type” overload control method according to an embodiment of the present invention.
You.
FIG. 9 is a flow chart of the “usage frequency” overload control method according to an embodiment of the present invention.
.
FIG. 10 is a flow diagram of a “legitimate share” overload control method according to one embodiment of the present invention.
It is.
FIG. 11 illustrates an operating system conflict according to one embodiment of the present invention.
FIG. 4 is a flowchart of an overload control method for reducing load.
BEST MODE FOR CARRYING OUT THE INVENTION
The present invention is directed to various electrical appliances, including, for example, video dial tone networks.
It can be realized by a communication network. Figure 2 shows such a video dialt
FIG. 2 is a block diagram of an open network. As shown, video dialing
Network is a Level 1 gateway 200, a video information provider (""
VIPs ") 202a-c, ATM network 204, and access system and local
Typically, it includes distribution facilities 206a-b. Users 208a-g
Connection to the network via the network system and local distributed facilities 206a-b.
In FIG. 2, a solid line represents an ATM connection, and a broken line represents a control signal connection.
Level 1 gateway 200 is used in video dial tone networks
Plays the role of a network server. Level 1 gateway is network
Manages the session and allows any video information user 208a-g to
A check is made to see if connection to the Idas 202a-c or vice versa is possible. like this
Video-on-demand viewing or pay-per-view as an example of a session
Event. Once the user is authenticated to make the desired connection, the level
1 gateway 200 is set for user 208a and provider 202a.
Confirm that you agree to start the session. Level 1 gateway 200 is A
Issue a command to the TM network 204 to allocate logical paths and bandwidth for the connection.
Guess. Level 1 gateways at each stage of the session setup
The way 200 is provided by the video and video provided by the network and network connection.
Record the status of the service.
That is, to enable the video session setup,
Of network elements, including boxes, video information providers, ATM switches
Some messages must be communicated between them. ATM network 204 and
Access system and local decentralized facilities 206a-b,
A 200 mediates this message exchange. Related to session setup
If any of the messages cannot reach the destination, no session is established.
An embodiment of the controller according to the present invention is a network such as a level 1 gateway 200.
Network server handles video dial tone network services
To avoid overloads caused by messages sent to Con
Troller reports the total number of transactions originating from the user who initiated the video service request.
Access stream and local decentralized facility
Some of the new transactions that the source, such as 206a-b, should approve for processing
Calculate an approval factor that specifies the minutes.
The present invention relates to an advanced intelligent network (AIN) or the like.
It can also be realized by a territory type network. Figure 3 is intelligent
It is a block diagram of a type | mold network. The intelligent network in Figure 3
SCPs 300a and 300b (paired for reliability), Signa
Ring transfer points ("STPs") 302a and 302b (also for improved reliability)
Service exchanges that allow for common channel exchange.
Exchange points ("SSPs") 304a-304n. SCPs are network
-Function as a server. One way to use SCPs as network servers
Common uses include "800" telephone number translation. In this conversion, SSP30
4a-n receive the dialed "800" number and STP 302a or 302
b to SCP 300a or 300b to Common Channel Signalin
Releases Guy Quarry. SCP 300a or 300b processes this query
And converts the received "800" telephone number and returns the converted telephone number to the originating SSP.
You.
An embodiment of the controller according to the invention is illustrated in the block diagram of FIG. Ko
The controller 400 includes a mass storage device 402, a main memory 404, and a central processing unit.
And an input / output (I / O) device 408. Main memory 40
4 includes an overload control program 410 for implementing the overload prevention method of the present invention. main
The memory 404 stores traffic measurements 41 related to overload control at specified intervals.
2 is also included. CPU 406 is the main memo
Execute the computer program load stored in the library 404. I / O device
The network 408 handles controller access to the mass storage device 402 and
Acts as a gateway to work traffic resources.
Executed by computer program code of controller 400
One or more of the functions is performed by a computer hardware such as a microprocessor or integrated circuit.
One skilled in the art will appreciate that the implementation can be implemented in hardware. Figure in the block diagram of Figure 5
In one such alternative embodiment of the controller shown, the controller
LA 500 is a target setting circuit 502, an arriving transaction workload estimating circuit 504.
, And a rate reducer 506. Controller 500 is a network service.
Connected to the mass storage device 508 of the device. The target setting circuit 502 arrives at each measurement interval.
Measure incoming server messages to measure target arrival transaction workload
Calculate. Estimate the incoming transaction workload from the measurements of the goal setting circuit 502
Circuit 504 estimates the incoming transaction workload provided by the source.
The rate reducer 506 indicates that the provided transaction workload exceeds the threshold.
New transactions reduce the rate initiated by the source if
To match the incoming transaction load.
According to the present invention, a network server is located on a network server.
The overload controller attached to the
Perform one or more tasks. Preferably, the overload controller is
A target arrival workload is set and used during overload (step 602). Overload control
The troller then calculates the source-supplied load from the arriving message measurements (
Step 604). Finally, if the offered workload is greater than the threshold,
Reduce the rate of new transactions from the source to meet the arrival workload goal
(Step 606). In the present invention, step 602 and step 604 are reversed.
You may do it.
In one embodiment, the target arrival workload is past network traffic.
It is fixed based on statistics and can be fixed unexpectedly quickly. In another embodiment
Thus, the controller can dynamically generate targets. For example, target arrival
The workload value is the desired maximum time the server can devote to transaction processing
The inter-allocation (ie server capacity) can be fixed at a level that provides. another
In the example, the controller counts messages whose response time exceeds the threshold,
An appropriate target arrival workload is dynamically calculated from the count. Target arrival workload is seconds
As a per-message, and the transaction mix changes dramatically
If not, it represents the workload target.
According to the present invention, the output of the server overload controller is output during the upcoming measurement interval.
That represent a portion of the new transaction request that can be sent from the source to the server in the future
Value ("Approval factor"). Server accepts new transactions from source
In response, communicate the approval factor to the source. The response message reaches the source
It takes some time for the source to update the approval factor. Source is
The controller allows the first message of the transaction to be sent
One of the network nodes responds to this transaction with a subsequent message.
Sending messages is also allowed.
In one embodiment of the invention, the controller uses the authorization factor at the end of the measurement interval.
Network by updating it and applying it to the source during the next measurement interval
Control the number of transactions sent to the work server. Before overload,
Recognition factor equals 1 (other values may be used to detect overload conditions)
. The controller detects the overload and then either while the overload condition is detected or
During the subsequent measurement interval until the approval factor is less than 1, the approval factor
To change.
The following notations are used to describe the operation of the controller of the present invention. Less than
At the end of the measurement interval ("present interval present interval")
What is measured and the measurements obtained during the current interval are approved factors in the next interval.
Used to update the value of the key.
A 'represents the number of messages arriving at the server in the current section.
D represents the number of messages dropped in the current section.
F represents the number of service messages completed in the current section.
Ρ represents the transaction-related processor operation rate in the current section.
C is the approval factor used in the current leg, 0<C<It is one.Search type controller
In one embodiment of the invention, the overload controller is a "search" controller
That is, the controller searches continuously and sends it to the server in the measurement section.
Determine the maximum number of messages to be acknowledged. Figure in the flowchart of Figure 7
In this embodiment of the controller shown, the message is dropped during an interval.
Only a multiple factor depending on whether it was done or not (step 700
A binary feedback scheme that raises and lowers C is used.
The controller updates the approval factor C at the end of each measurement interval. Current section
The approval factor in is based on the number of messages D dropped during the current leg.
Therefore, it is updated by one of the two methods. (Determined in step 702
If the server is dropping messages during the current measurement interval, the next measurement
Approval factor in fixed section multiplies approval factor in current section by constant b
The constant is preferably a number between 0 and 1 (step 704).
). If no messages were dropped during the current measurement interval,
The approval factor is either the approval factor for the current leg divided by b or 1.
Or the smaller one (step 706). The calculated approval factor depends on the source.
Used to control the rate at which transactions were initiated (step
708). This calculation of the approval factor for the next measurement interval
It is represented by a computer program code segment.
The assignment operator (arrow ←) indicates that the value of C is overwritten by the expression on the right-hand side
Things. If C gets too large, the work arrives too early and the server
The more the drops, the more the workload increases until the response time increases. Also,
When C becomes smaller, the server finishes the job and repeats the cycle.Drop controller
Feedback indicating whether the server is overloaded corresponds to the time interval of the message.
Use a search-type controller to avoid overload.
The convergence of the recognition factor may be slow. To compensate for slow feedback
In another embodiment of the invention, one step is performed using dropped messages.
Update the approval factor in the step.
An embodiment of the drop controller is illustrated in the flow diagram of FIG.
According to The steps illustrated in FIG. 8 are performed at the end of each measurement interval. Conte
Laura will provide a surrogate for the target arrival workload per measurement section.
(Step 802). Delegate is A 'maxIs received by the server during the measurement section.
The maximum number of messages to be sent. New episodes of overload are messages
It is communicated by a signal by a rop. When the server starts dropping messages,
The difference between the number of messages accepted and the number of messages dropped during the measurement interval is
Represents the maximum acceptable workload for messages. That is, A 'maxFirst
Set to this value.
The controller determines that the number of messages that will be provided in the next interval is A = A '/ C
Is estimated (step 804). At the end of the current leg, the controller
(Step 806). The server sends the message
If dropped or the approval factor is less than 1, for the current leg
A 'maxApproval factor for the current interval multiplied by the ratio of
The approval factor is set to a value equal to the lesser of them. During the current leg
If the message is dropped in the next section, A 'maxIs during the current interval
Number of messages arriving at the server and number of messages dropped during this interval
And the difference. No messages dropped, but approval factor is still greater than 1
If small, A 'maxIs not changed. The following computer program code
The de segment indicates these steps.
A 'if no drop occursmaxBy keeping the old value of
If sedated, the approval factor can be returned to 1.0. A 'max
Is equal to the current number of arriving messages, a factor A 'that multiplies Cm ax
/ A 'is always at most 1.0 and the approval factor never returns to 1.0
. The controller also includes a check that the denominator does not go to zero.Drop type controller with history
In the drop controller, the estimated value A 'max= A'-D is at least 2
Can be incorrect for two reasons. First, the server can buffer the message
It depends. In the section where the server drops the message first, the arrival message
The difference between the dropped message and the dropped message is that some of the incoming messages are dropped
It is possible to overestimate the correct number to approve because it is buffered rather than
is there. Second, messages dropped in one leg arrive at another leg.
Could be. This is a significant factor, as arriving messages and drop
The difference between the received messages underestimates the exact number of messages to be approved.
A more subtle limitation with drop controllers is that the server drops messages.
A 'maxIs to remain fixed. Unfortunately
The message capacity of the server is not fixed. For example, the message
When the average real-time cost decreases, A 'maxOld values of may be unnecessarily low
There is.
An embodiment of the present invention that considers the message drop history of the servermax
Is stored in a circular array composed of H elements, so that A ′maxThe value of
Solving the problem that you can not choose. At the end of the measurement interval, the server uses A'-D
Overwrite the oldest element of the array. If D> 0, the server averages the array values
A 'so thatmaxIs set. Otherwise, A 'maxIs changed
Absent. The new approval factor is exactly as secure as the drop controller.
Is set. Span several measurements when server drops message
A 'on averagemaxAddress the variability in a single measurement.Growing drop history controller
In yet another embodiment of the present invention, the server control includes the dropped message
Increase the maximum number of target messages arriving for server processing during the number and time interval,
Or based on the possibility of "growing". This embodiment of the server controller
Is the same as the drop history controller, but when D = 0, A 'max← max (A
′max, A ') and A'maxIs different in that it is updated. The server is
For sections where the message is not dropped but the approval factor is still less than 1.0,
Uses the random variation in the number of messages arriving at the server to A 'maxThan
Find out if you can actually accept many messages per section. This
Then the limit A 'maxIncrease until the server drops the message again
They can be added and dropped when they drop.Usage Controller
In another embodiment of the invention, the controller sends the dropped message
Rather than monitoring server processor utilization. In some applications, the usage frequency
Trawlers do not need to translate server processing power into messages per unit time
Therefore, it provides an advantage over a drop type controller. This embodiment is similar to FIG.
Follow the steps shown in the Rho diagram.
The controller selects a target operating level T for transaction processing during overload
(Step 902). For example, a server operator might
There is a case where the processor utilization is not desired to exceed 92%. The operator also
Set a safety margin to represent a maximum value less than 0.92, for example 0.90
You may want to set T. Maximum arriving transaction work per measurement section
The load is given in TI with I as the duration of the measurement interval.
The usage frequency controller sends an approval fact from the current section to the next section as follows.
Update the monitor. Initially, the controller will provide the following
Infer transaction load. Average processing time per message in the current section
Is ρI / F. That is, the arriving workload in this section is estimated as A'ρI / F.
Can be set (step 904). This amount represents roughly C times the workload provided.
The estimated workload provided is calculated by the formula W = A'ρI / (FC)
Is calculated. The controller provides the workload provided in the next section in the current section
It is expected to be equal to the assigned workload (step 906). Therefore, W is
Of the work load provided in the section of FIG.
At the end of the current measurement interval, the controller updates the approval factor according to:
Is calculated (step 908).
Prior to overloading, C is typically equal to 1.0, so for a test ρ> T
Detect overload. The same test will fail if the approval factor is applied.
Since it is typical, the control is prevented from being suddenly released in the second test C <1.0,
When the overload subsides, C is gradually increased to 1.0. Calculate
Approval factor is used to control the transaction rate
(Step 910).Fair share controller
In an environment where a single network server provides many services
The controller will handle the incoming load to the server to the maximum level that can be handled during the overload.
Not only to reduce the demand, but also to prevent excessive demand for services individually
There is a need to. For example, a sudden increase in demand for one service
Network is overloaded (overload concentration occurs).
Data wants to limit traffic destined for services that cause overload,
You may not want to restrict traffic for other services. On the other hand, general
Controller is proportional to demand in heavy overloads (increase in load on all services)
May restrict all traffic.
In general, controllers in a multi-service environment use a server for competing services.
A fair share of capacity must be allocated. Fair share
In the embodiment of the fair share controller, the end of each measurement section
The following algorithm is executed.
Some aspects of the algorithm deserve further evaluation. First, the first if
Activate or deactivate control by statement. Server is first overloaded
If the server is overloaded, overload control is activated when the server is overloaded.
To When control is activated, the readings that detect overload are no longer
Is not overloaded (control effectively reduces traffic)
If it were, it would be.) But demand can still be too high. Argo
The rhythm continues to predict demand while control is active. Otherwise control is sudden
Oscillation occurs when it is released and overload occurs and disappears.
The array fair_share indicates how much processing power the server will use for each service in the next measurement interval.
To be assigned to the The legitimate share is not necessarily the service consumption
Not the maximum amount of reason. If the service demand is less than the available capacity, the service
The processing power of the server is allocated to another service. The sum of legitimate shares is
Since the sum is a service that is expected to be used in general, it must be smaller than the server capacity.
I have to.
Control to dynamically calculate the share of server processing capacity for each service
Need information about all services at once. Based on revenue (revenue-ba
sed) controls have the same attributes if the priority is not absolute (ie,
One service must be completely shut down before lowering priority services.
And not).
In general, if the priority is static, or if a more dynamic
Comparing legitimate shares requires a table lookup when comparing measurements below
. The resource allocated is processing capacity, so the legitimate share will ultimately be unit time
, Or need to be converted to processor utilization.
The quantity demand represents the workload provided by the source. How many of this offered load
Server may be blocked at the source by the controller, so the server
Estimate the provided load from fixed values and preceding approval factors.
Modify both the usage frequency and the drop-type controller to provide a large number of services.
A fair share controller can be created for the server to serve. Sir
If the server provides a large number of services, a description describing the controller operation
Needs to be changed as follows.
A '(s) indicates the number of messages of service s that have arrived at the server in the current section.
I forgot. A ′ = ΣA ′ (s) is the number of messages from all services. From measurements
Excluding the argument, it represents the sum for all services.
C (s) is the authorization factor for service s (ie,
Approval factor used by all sources belonging to service s). 0 ≦ C (s
) ≦ 1.
D (s) represents the number of messages dropped by the server in the current section.
・ A 'max(S) is received by the server from service s in the next measurement section
The maximum number of messages to be sent.
F (s) indicates the number of messages of service s that have finished service in the current section.
I forgot.
・ Ρ (s) indicates the processor utilization rate due to the work processing of service s in the current section
I forgot.
T (s) is related to the target transaction for service s in the next section
Indicates the utilization level.
The legitimate shared drop type controller drops the message and the arrival message
Detect overload using the counts of the inferred demands, including history and incremental changes.
Set. The different services provided by the computer's process scheduler
Drop-type control that performs a fair share of the service
An embodiment of the La method includes the following algorithm steps.
The subscript i indexes the measurement section, and 0 indicates a larger number in the current section.
Represents a past section.
Inside the "if" statement of the algorithm is a legitimate share of the process of dropping the message
Is calculated. The else statement allows the service to stop sharing the server
increase. Like the usage frequency controller, the min function is
Works to accept the smaller legitimate share of the service.
During an overload, the legitimate share usage frequency controller indicates that the server usage rate is the overall target T
Reduce incoming traffic until In addition, the legal share usage frequency control
Is proportional to how much the demand for the service has exceeded the frequency of recent use.
Designed to reduce traffic from various services. For example,
If only one service is causing overload, fair share control
Laura drops only traffic destined for that one service, while other
Service is not affected. Fair share controller embodiment is too bad
When a load is generated, the steps shown in the flow chart of FIG. 10 are followed. Con
Troller looks at the services on the server in proportion to the load provided before the overload.
The target T is divided into "fair shares" (step 1002). next,
Set the approval factor for each service (step 1004),
The service workload of the service is reduced to a sufficient share (step 1006).
The legitimate share or goal of service s is defined as: U (s)
If it is an estimated value of the utilization rate of the service s before overload, and U = ΣU (s),
U (s) averages service utilization measurements over H past measurement intervals.
Is calculated by That is, ρi(s), where i = 0, ..., H-1 is a service
For the last H measurements of s utilization,
At the end of each measurement interval, the Fair Share Controller determines the utilization rate for each service.
Update the history circular array. Next, update the approval factor for each service
.
Usage-based controllers keep processor utilization at a safe target level.
Maintain maximum transaction throughput. Legitimate share usage frequency control
Laura fulfills these goals, and traffic from overloading services
And continue processing almost all traffic provided by other services.
To be able to With fair share controllers, for example,
By multiplying the service T (s), there is a degree of freedom to assign a priority to the service.
You. In one embodiment of the invention, these weights correspond to service revenue requirements
.Overload controller to compensate for server process scheduling
Another embodiment of the invention is that the server provides multiple services and the
The code is volatile, and the demand for one of the services is
May increase the total load beyond the load that the server can handle and push it up.
Suitable for the environment. In such events, the server accepts traffic
The amount of must be reduced. Which traffic does the server controller
You have to accept and choose which traffic to drop. server·
The controller determines how much server processing should the total demand exceed the server capacity.
Assign capabilities to competing services and assign arrival demand for those services
To determine the amount to be limited.
Allocation problems such as the one described above can be caused by operating system process
It is also included in the area of Kejura. Where different processes handle different services
Process scheduler, each process runs when and for how long.
Assign priorities to competing services to determine if they will work. Overload control
Trollers control how much work of each type is acceptable to the server
Therefore, service priorities are also assigned. An embodiment designed according to this embodiment
The load controller recognizes and handles these overlapping priority assignments.
Controllers designed in accordance with the present invention provide server overload control and process
• Compensate for scheduling interactions. Server is UNIX operating
-In an environment that has a scheduler implemented in the system, UNIX
The scheduler provides time slices to different processes in a round-robin fashion.
The process uses some or all of this time slice, and this slice
Roughly translates into a compensated share of processing power per process. other
Process uses parts of the time slice that are not actually needed by any process
So capture more than the real-time compensated share.
Typically, the server has a single multitasking processor. However
The invention also has application in a multiprocessor environment. Typically, the operator
The processes controlled by the switching system fall into two categories. Tran
A suction handling process and an overhead process. Tran
One-to-one correspondence between the transaction handling process and the service
One. Overhead processes are used for operating system chores, maintenance, and measurement.
The server processor, including overload control itself.
Represents all other tasks.
Modify the preferred embodiment of the legitimate share usage frequency controller to
Interaction with resource scheduling can be handled. Usage frequency control
The demand for one service increases exponentially while the demand for another service increases.
Create firewalls between services when traffic is almost constant
Designed. The usage frequency controller is supported roughly in proportion to recent usage levels.
The server's processing power to the service. This is a service not related to overload
Provide as much service processing capacity as recently used for harmful services
The service intends to cut down on traffic.
To process processes other than transactions, in the present embodiment, the measured
Total utilization ρ is ρmax', Where ρmax'Is a predetermined total utilization threshold.
Then, the server control is activated. The symbol ρovhdIs the overhead in the current section
Represents the processor utilization due to the loaded process, ie, ρovhd=
ρ−Σρ (s).
Server overload control to reduce operating system conflicts
One embodiment of the ruler includes the steps illustrated in the flow diagram of FIG. Overload control
Troller estimates recent processor utilization for each service (step 1102)
. The overload controller then compares the processor utilization value with the threshold (step
Step 1104), examine C (s) and determine whether it is smaller than 1.0 (step 1).
106). The controller also provides a fixed amount of processor capacity for overhead processing
Is assigned (step 1108), and the fair for the service is
Calculate the share processor utilization level (step 1110) and calculate the approval
New total factor calculated using fair share processor utilization levels
Replace with the calculated approval factor (step 1112). Newly calculated approval file
Is used to control the number of messages processed by the network server.
Is entered (step 1114).
Here, to define the legitimate share of a service represented by T (s), i
= 0, ...,Ρ as H-1i(S) is the last H measurements of service s utilization and
(0 indexes the current section, and the subscript increases as time goes on)
Is defined as
U (s) estimates the utilization rate of the service s before overload. Set U = ΣU (s)
You. At the end of each measurement interval and before the following algorithm, the server updates each U (s).
To renew. The server then executes the following algorithm.
The difference (ρmax−ρovhd), The current section
Efficient overhead in the next section with the same amount of processor capacity used
Can be assigned.
The legitimate share T (s) of service s depends on all services by sum U, and
(ρmax−ρovhd) Also depends on the overhead process. Therefore, all
The legitimate share of the service is calculated together. The min function is serviced by the processor
If the demand is predicted to be less than the amount of time T (s) I that can be allocated to s
A new approval factor to accept all of the services demand
set. Otherwise, set the approval factor and make it a legitimate share
Accept only T (s) I second work from the current service s.Adaptive gapping
The discussion above does not specify how the source should implement the approval factor.
But this is to determine and realize the approval factor
Are separate and independent operations. One possible outcome of the approval factor
The current method is with percent blocking, where the source is a new
Randomly select a specified small part of a transaction. Table drive code
The gap method is another way to realize the approval factor.
According to the present invention, a new transaction is preferably made using automatic code gapping.
Approve the action request. The gap interval is based on the approval factor,
Adapts whenever the source informs the source that its congestion level has changed
Is recalculated.
Reduce the number of new transactions sent to the server by approval factor C
In response to a request from the server to
Is measured and the new gap section gnewIs calculated as follows.
gnew= (Cλ)-1-λ-1.
Similarly, the number of new transactions sent to the server by approval factor C
In response to a request from the server to increase the source, the source
And calculate the new gap interval using the same equation.
The above calculations were performed at the source, but this adaptive gap technique has replaced it.
Can be performed at the server level. New gap section gnewIn the source
The main difference between computing at the server and not at the server is that the server does not know λ and measures λ directly.
It cannot be determined. However, in accordance with the present invention, the server will
Action rate λoutIs estimated based on. More specifically, the server is λo ut
Is measured and λ is estimated as follows.
λ-1= (Λout)-1-gold,
Where goldIs the current gap section. After estimating λ, the server
G using the same method asnewIs calculated. Finally, the server sources the new gap section.
Source.
The adaptive code gapping algorithm is based on the aforementioned approval factor algorithm.
Used by the server in combination with the rhythm or to set the approval factor
Note that it can be used in the source in combination with some algorithm
I want to be reminded. Similarly, the server may use one of the aforementioned approval factor algorithms.
The source is any blocking transaction that the source chooses
Part of the transaction specified by the approval factor using the intercept method
The minutes can be sent to the server.
Illustrates and describes what is presently considered a preferred embodiment and method of the present invention.
However, various changes and modifications may be made without departing from the true scope of the present invention.
It will be understood by those skilled in the art that the components can be replaced by equivalents.
U.
Furthermore, specific elements, techniques, or practices may be employed without departing from the central scope of the invention.
Many modifications can be made to adapt a device to the pinching of the present invention. But
Accordingly, the present invention is limited to the particular embodiments and methods disclosed herein.
Rather, the invention includes all embodiments falling within the scope of the appended claims.
Is intended.
【手続補正書】
【提出日】1998年12月28日
【補正内容】
請求の範囲
1.ソースで用いられるギャップ区間を適応的に変更することにより前記ソース
からネットワーク・サーバに送信されるトランザクション個数を制限して、ネッ
トワーク・サーバの過負荷を防止する方法であって、
前記ソースの入力トランザクション・レートを確定するステップと、
前記確定したトランザクション・レートと前記サーバから受信した承認ファク
ターとに基づいて新規ギャップ区間を計算するステップと、
前記ソースにおいて前記新規ギャップ区間に基づいて前記ソースに入力される
トランザクション要求を阻止するステップと、
を含むことを特徴とする方法。
2.前記確定ステップは前記ソースにおいて前記ソース入力トランザクション・
レートを測定するステップを含み、
前記計算ステップは前記ソースにおいて実行される
ことを特徴とする請求項1に記載の方法。
3.前記確定ステップは古いギャップ区間に基づいて前記サーバにおいて前記ソ
ース入力トランザクション・レートを推定するステップを含み、
前記計算ステップは前記サーバにおいて実行され、
前記方法はさらに、前記サーバが前記新規ギャップ区間を前記ソースに送信す
るステップを含む
ことを特徴とする請求項1に記載の方法。
4.ソースで用いられるギャップ区間を適応的に変更して前記ソースからサービ
ス制御ポイントに送信されるトランザクション数を制限する方法であって、
前記ソースから前記サービス制御ポイントに送信されるトランザクションにつ
いて前記ソースの出力トランザクション・レートを確定するステップと、
前記確定したソース出力トランザクション・レートから古いギャップ区間を減
算することにより推定ソース入力トランザクション・レートを計算するステップ
と、
前記計算した推定ソース入力レートと所定の承認ファクターとに基づいて前記
サービス制御ポイントにおいて新規ギャップ区間を計算するステップと、
前記計算した新規ギャップ区間を前記サービス制御ポイントから前記ソースに
送信するステップと、
前記ソースで前記新規ギャップ区間を用いて前記ソースに入力されるトランザ
クション要求を阻止するステップと、
を含むことを特徴とする方法。[Procedure amendment]
[Submission date] December 28, 1998
[Correction contents]
The scope of the claims
1. By adaptively changing the gap section used by the source
Limit the number of transactions sent from the
A method for preventing overload of the network server,
Determining an input transaction rate for the source;
The determined transaction rate and the approval factor received from the server.
Calculating a new gap interval based on the
Input to the source at the source based on the new gap interval
Blocking the transaction request;
A method comprising:
2. Said determining step comprises:
Measuring the rate,
The calculating step is performed on the source
The method of claim 1, wherein:
3. The determining step is performed by the server based on an old gap section.
Estimating the source input transaction rate;
The calculating step is performed in the server;
The method further comprises the server transmitting the new gap interval to the source.
Including steps
The method of claim 1, wherein:
4. The gap section used in the source is adaptively changed to
A method for limiting the number of transactions sent to a control point,
Transactions sent from the source to the service control point
Determining an output transaction rate of said source;
Subtract old gap intervals from the determined source output transaction rate
Calculating the estimated source input transaction rate by calculating
When,
Based on the calculated estimated source input rate and a predetermined approval factor,
Calculating a new gap section at the service control point;
The calculated new gap section is transferred from the service control point to the source.
Sending,
A translator input to the source using the new gap section at the source;
Blocking the action request;
A method comprising:
─────────────────────────────────────────────────────
フロントページの続き
(51)Int.Cl.6 識別記号 FI
H04M 3/38 H04Q 3/545
H04Q 3/545 H04L 11/20 G
(81)指定国 EP(AT,BE,CH,DE,
DK,ES,FI,FR,GB,GR,IE,IT,L
U,MC,NL,PT,SE),CA,JP──────────────────────────────────────────────────続 き Continued on the front page (51) Int.Cl. 6 Identification code FI H04M 3/38 H04Q 3/545 H04Q 3/545 H04L 11/20 G (81) Designated country EP (AT, BE, CH, DE, DK, ES, FI, FR, GB, GR, IE, IT, LU, MC, NL, PT, SE), CA, JP