JPH11514177A - Apparatus and method for preventing network server overload - Google Patents

Apparatus and method for preventing network server overload

Info

Publication number
JPH11514177A
JPH11514177A JP9542354A JP54235497A JPH11514177A JP H11514177 A JPH11514177 A JP H11514177A JP 9542354 A JP9542354 A JP 9542354A JP 54235497 A JP54235497 A JP 54235497A JP H11514177 A JPH11514177 A JP H11514177A
Authority
JP
Japan
Prior art keywords
source
transaction
server
rate
messages
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9542354A
Other languages
Japanese (ja)
Inventor
スミス,ドナルド,エドワード
Original Assignee
ベル コミュニケーションズ リサーチ,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ベル コミュニケーションズ リサーチ,インコーポレイテッド filed Critical ベル コミュニケーションズ リサーチ,インコーポレイテッド
Publication of JPH11514177A publication Critical patent/JPH11514177A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold

Abstract

(57)【要約】 ネットワーク・サーバ・トランザクションを開始するソースから受信したメッセージによりネットワーク・サーバの過負荷を防止する装置および方法である。本方法および装置では利用可能なネットワーク・トラフィック測定値を用いて目標トランザクション・レートと承認ファクターとを推定する。本方法はプロセッサで実行されるステップを含む。各ステップは、測定区間当たりの目標到着トランザクション作業負荷を設定するステップ(602)、測定区間の間に得られた測定値からソースにより提供されたトランザクション作業負荷を推定するステップ(604)、提供されたトランザクション作業負荷が閾値を超えるときにソースで新規トランザクションを開始するレートを減少させて到着トランザクション作業負荷を目標作業負荷に一致させるようにするステップ(606)である。 (57) Abstract: An apparatus and method for preventing a network server from being overloaded by a message received from a source that initiates a network server transaction. The method and apparatus use the available network traffic measurements to estimate a target transaction rate and an approval factor. The method includes steps performed on a processor. Each step is provided of setting a target arriving transaction workload per measurement interval (602), estimating a source-provided transaction workload from measurements obtained during the measurement interval (604). (606) reducing the rate at which new transactions are initiated at the source when the transaction workload exceeds the threshold to match the arriving transaction workload to the target workload.

Description

【発明の詳細な説明】 ネットワーク・サーバの過負荷を防止するための装置および方法 発明の背景 本発明は電気通信ネットワークに関し、さらに詳しくはサーバ過負荷を防止す るためにネットワーク・サーバのメッセージ・フローを制御するためのシステム およびその方法に関する。 電気通信サービスはますますリアルタイム・ネットワーク・サーバに依存する ようになってきた。伝統的な電話産業で、サービス制御ポイント(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は現在の区間で用いられる承認ファクターで、01である。検索型コントローラ 本発明の一実施形態において、過負荷コントローラは「検索型」コントローラ であり、すなわちこのコントローラは連続的に検索して測定区間でのサーバに承 認すべきメッセージの最大個数を確定(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

Claims (1)

【特許請求の範囲】 1.ソースで用いられるギャップ区間を適応的に変更することにより前記ソース からネットワーク・サーバに送信されるトランザクション個数を制限して、ネッ トワーク・サーバの過負荷を防止する方法であって、 前記ソースの入力トランザクション・レートを確定するステップと、 前記確定したトランザクション・レートと前記サーバから受信した承認ファク ターとに基づいて新規ギャップ区間を計算するステップと、 前記ソースにおいて前記新規ギャップ区間に基づいて前記ソースに入力される トランザクション要求を阻止するステップと、 を含むことを特徴とする方法。 2.前記確定ステップは前記ソースにおいて前記ソース入力トランザクション・ レートを測定するステップを含み、 前記計算ステップは前記ソースにおいて実行される ことを特徴とする請求項1に記載の方法。 3.前記確定ステップは古いギャップ区間に基づいて前記サーバにおいて前記ソ ース入力トランザクション・レートを推定するステップを含み、 前記計算ステップは前記サーバにおいて実行され、 前記方法はさらに、前記サーバが前記新規ギャップ区間を前記ソースに送信す るステップを含む ことを特徴とする請求項1に記載の方法。 4.ソースで用いられるギャップ区間を適応的に変更して前記ソースからサービ ス制御ポイントに送信されるトランザクション数を制限する方法であって、 前記ソースから前記サービス制御ポイントに送信されるトランザクションにつ いて前記ソースの出力トランザクション・レートを確定するステップと、 前記確定したソース出力トランザクション・レートから古いギャップ区間を 減算することにより推定ソース入力トランザクション・レートを計算するステッ プと、 前記計算した推定ソース入力レートと所定の承認ファクターとに基づいて前記 サービス制御ポイントにおいて新規ギャップ区間を計算するステップと、 前記計算した新規ギャップ区間を前記サービス制御ポイントから前記ソースに 送信するステップと、 前記ソースで前記新規ギャップ区間を用いて前記ソースに入力されるトランザ クション要求を阻止するステップと、 を含むことを特徴とする方法。 5.ソースで用いられるギャップ区間を適応的に変更して前記ソースからネット ワーク・サーバに送信される所定の測定間隔当たりのトランザクション数を制限 する方法であって、 前記ソースにおいて受信した新規トランザクション要求間の平均時間を測定す るステップと、 前記測定した平均時間と承認ファクターに基づいて新規ギャップ区間を計算す るステップと、 前記ソースにおいて前記新規ギャップ区間に基づいて前記ソースに入力される トランザクション要求を阻止するステップと、 を含むことを特徴とする方法。 6.サービス制御ポイントのトランザクションを開始するソースから受信したメ ッセージによりサービス制御ポイントの過負荷を防止する装置であって、 測定区間当たりの目標到着トランザクション作業負荷を設定する手段と、 前記測定区間の間に得られた測定値からソースにより提供される到着トランザ クション作業負荷を推定する手段と、 前記提供されたトランザクション作業負荷が閾値を超えるときに前記ソースに よって新規トランザクションが開始されるレートを減少させて前記目標到着トラ ンザクション作業負荷と一致させる手段と、 を含むことを特徴とする装置。 7.ソースで用いられるギャップ区間を適応的に変更して前記ソースからサービ ス制御ポイントに送信される所定の測定区間当たりのトランザクション個数を制 限する方法であって、各々がプロセッサで実行される、 前記測定区間の間に前記ソースから前記サービス制御ポイントに送信されたト ランザクション間の平均時間を測定するステップと、 前記測定したトランザクション間の平均時間から前記ギャップ区間を減算する ことで前記ソースにおいて入力されるトランザクション間の推定平均時間を計算 するステップと、 前記トランザクション間平均時間と所定の承認ファクターに基づいて新規ギャ ップ区間を計算するステップと、 前記新規ギャップ区間を前記サービス制御ポイントから前記ソースに送信する ステップと、 前記ソースにおいて前記新規ギャップ区間を用いて前記ソースに入力されるト ランザクション要求を阻止するステップと、 を含むことを特徴とする方法。 8.レベル1ゲートウェイ・トランザクションを開始するソースから受信したメ ッセージによりレベル1ゲートウェイの過負荷を防止する方法であって、各々が プロセッサで実行される、 前記レベル1ゲートウェイが測定区間において受信する所望の最大メッセージ 数を確定するステップと、 前記所望の最大メッセージ数と承認ファクターから、後続の測定区間において 前記レベル1ゲートウェイに提供されるメッセージ数を推定するステップと、 前記所望の最大メッセージ数と、前記承認ファクターと、後続の測定区間で前 記レベル1ゲートウェイに提供される前記推定メッセージ数とから、更新された 承認ファクターを計算するステップと、 前記承認ファクターを用いて前記ソースによってトランザクションが開始さ れるレートを制御するステップと、 を含むことを特徴とする方法。[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;   The old gap interval is calculated from the determined source output transaction rate. Step to calculate estimated source input transaction rate by subtraction And   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: 5. The gap section used in the source is adaptively changed to Limit the number of transactions sent to a work server per a given measurement interval A way to   Measure the average time between new transaction requests received at the source. Steps   Calculate a new gap interval based on the measured average time and the approval factor Steps   Input to the source at the source based on the new gap interval Blocking the transaction request;   A method comprising: 6. A message received from the source initiating the service control point transaction A device for preventing an overload of a service control point by a message,   Means for setting a target arrival transaction workload per measurement interval;   An arriving transaction provided by a source from measurements taken during said measurement interval Means for estimating the application workload;   When the offered transaction workload exceeds a threshold, Therefore, the rate at which a new transaction is started is reduced and the target arrival Means to match the transaction workload;   An apparatus comprising: 7. The gap section used in the source is adaptively changed to Control the number of transactions sent to a Wherein each is executed by a processor,   The protocol transmitted from the source to the service control point during the measurement interval Measuring the average time between transactions;   Subtract the gap section from the measured average time between transactions The estimated average time between transactions entered at the source Steps to   Based on the average time between transactions and a predetermined approval factor, Calculating a top interval;   Transmitting the new gap section from the service control point to the source Steps and   A source input to the source using the new gap section at the source. Blocking the transaction request;   A method comprising: 8. A message received from a source that initiates a level 1 gateway transaction Messages to prevent overloading of level 1 gateways, each of which Run on the processor,   The desired maximum message received by the level 1 gateway in the measurement interval Determining the number;   From the desired maximum number of messages and the approval factor, Estimating the number of messages provided to the level 1 gateway;   The desired maximum number of messages, the approval factor, and the previous Updated from the estimated number of messages provided to the level 1 gateway. Calculating an approval factor;   A transaction is initiated by the source using the approval factor Controlling the rate at which   A method comprising:
JP9542354A 1996-05-24 1997-04-11 Apparatus and method for preventing network server overload Pending JPH11514177A (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US1833796P 1996-05-24 1996-05-24
US1830896P 1996-05-24 1996-05-24
US60/018,308 1996-05-24
US60/018,337 1996-05-24
PCT/US1997/006058 WO1997045792A1 (en) 1996-05-24 1997-04-11 Apparatus and method for preventing network server overload

Publications (1)

Publication Number Publication Date
JPH11514177A true JPH11514177A (en) 1999-11-30

Family

ID=26690966

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9542354A Pending JPH11514177A (en) 1996-05-24 1997-04-11 Apparatus and method for preventing network server overload

Country Status (4)

Country Link
EP (1) EP0901656A4 (en)
JP (1) JPH11514177A (en)
CA (1) CA2252792A1 (en)
WO (1) WO1997045792A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI113444B (en) * 1998-10-09 2004-04-15 Teliasonera Finland Oyj Method and system for establishing a telecommunication connection
US6658473B1 (en) * 2000-02-25 2003-12-02 Sun Microsystems, Inc. Method and apparatus for distributing load in a computer environment
EP1137295A1 (en) * 2000-03-20 2001-09-26 BRITISH TELECOMMUNICATIONS public limited company Communications network
EP1303952A1 (en) * 2000-07-27 2003-04-23 Siemens Aktiengesellschaft Method and device for providing overload protection in services involving data transmission
WO2003010907A1 (en) * 2001-07-25 2003-02-06 Atitania Ltd. Load balancing a distributed processing system
EP1367779A1 (en) * 2002-05-31 2003-12-03 Universiteit Twente Robust congestion control mechanisms for communication networks
US20100149973A1 (en) * 2006-10-09 2010-06-17 Daniel Krupp Method and Apparatus for use in a Communications Network
WO2008043391A1 (en) * 2006-10-09 2008-04-17 Telefonaktiebolaget Lm Ericsson (Publ) Load control in a communication network

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5067074A (en) * 1989-10-27 1991-11-19 At&T Bell Laboratories Control of overload in communications networks

Also Published As

Publication number Publication date
WO1997045792A1 (en) 1997-12-04
EP0901656A4 (en) 2000-06-14
EP0901656A1 (en) 1999-03-17
CA2252792A1 (en) 1997-12-04

Similar Documents

Publication Publication Date Title
US5878224A (en) System for preventing server overload by adaptively modifying gap interval that is used by source to limit number of transactions transmitted by source to server
US6252950B1 (en) Predictive bursty real-time traffic control for telecommunications switching systems
US6353616B1 (en) Adaptive processor schedulor and method for reservation protocol message processing
EP1641232B1 (en) Call admission control in a VoIP network
EP0822494B1 (en) Load balancing method and apparatus
US5067074A (en) Control of overload in communications networks
US6560243B1 (en) System and method for receiver based allocation of network bandwidth
EP1573977B1 (en) Flow control in network devices
JP4838309B2 (en) Integrated resource reservation for data flow
Kasera et al. Fast and robust signaling overload control
US20100149973A1 (en) Method and Apparatus for use in a Communications Network
US20020176369A1 (en) Method and system for minimizing error in bandwidth allocation with an optimal number of renegotiations
JPH07203495A (en) Control method for overload on high-order processor in distributed switching system having hierarchical structure
US5754786A (en) System and method for integrated overload control and message distribution
JPH11514177A (en) Apparatus and method for preventing network server overload
JPH07203496A (en) Control method for overload on distributed processor in full electronic switch board
US7965629B2 (en) System and method providing overload control in next generation networks
JP4062240B2 (en) Variance estimation method in traffic fluctuation, reception buffer control device and program thereof
Pillai A distributed overload control algorithm for delay-bounded call setup
JP3759126B2 (en) Packet flow rate control system and packet flow rate control method
Stathopoulos et al. ICALB: an integrated congestion avoidance and load balancing algorithm for distributed intelligent networks. Part I: description of ICALB
Aly et al. Using feedback control to manage QoS for clusters of servers providing service differentiation
Vassilakis et al. Evaluation of multi-rate loss models for elastic traffic
Kameda et al. A comparison of static and dynamic load balancing
JP3456406B2 (en) Traffic distribution method and traffic distribution value calculation device