JP2011130457A - パケットデータルーターシステムにおけるサービス品質の管理 - Google Patents

パケットデータルーターシステムにおけるサービス品質の管理 Download PDF

Info

Publication number
JP2011130457A
JP2011130457A JP2011002442A JP2011002442A JP2011130457A JP 2011130457 A JP2011130457 A JP 2011130457A JP 2011002442 A JP2011002442 A JP 2011002442A JP 2011002442 A JP2011002442 A JP 2011002442A JP 2011130457 A JP2011130457 A JP 2011130457A
Authority
JP
Japan
Prior art keywords
data
router
rate
packet
queue
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.)
Granted
Application number
JP2011002442A
Other languages
English (en)
Other versions
JP5016120B2 (ja
Inventor
Lawrence Ayres
ローレンス アイリス,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ericsson Inc
Original Assignee
Ericsson Inc
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
Priority claimed from US09/407,481 external-priority patent/US6738371B1/en
Priority claimed from US09/407,713 external-priority patent/US6687220B1/en
Priority claimed from US09/407,712 external-priority patent/US6597699B1/en
Application filed by Ericsson Inc filed Critical Ericsson Inc
Publication of JP2011130457A publication Critical patent/JP2011130457A/ja
Application granted granted Critical
Publication of JP5016120B2 publication Critical patent/JP5016120B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/28Flow control; Congestion control in relation to timing considerations
    • 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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/522Dynamic queue service slot or variable bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/568Calendar queues or timing rings

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】入来データキューに格納したデータパケットを公平に処理する方法を提供する。
【解決手段】各ルーター20は、受信したデータパケットを1以上の入来データキュー48に格納する。入来データキュー48に格納されるパケットは、動的に調整されるパケットフローレートにおいてルーター20によって処理される。入来データキュー48は、データキューヘッド構造を有し、そこには、処理すべきパケットのフィールドが含まれる。処理すべきパケットフィールドは、所定の処理インターバルにおいて、入来データキュー48からの処理されるべきパケット数を示す値を有する。この手法において、入来データキュー48のパケットフローレートは、ルーター20の現在の動作状態(現在のプロセッサ44及びメモリ46の稼働率)に応じて、処理すべきパケットフィールドの値を変化することにより調整される。
【選択図】図2

Description

本発明は、一般にパケットデータネットワークの分野に属し、より詳細には、1以上のパケットデータルーターにおいてデータパケットのフローを規制し管理するためのシステムアーキテクチャ及び方法に関連する。
典型的なパケットデータルーターにおいて、様々なソースロケーションから発生したパケットは、複数の通信インタフェースを介して受信される。各パケットは、目的地アドレス(destination address)のような、例えばルーティングテーブル又はパケット転送プロトコルによってルータのそれぞれの通信インタフェースと関連づけられているルーティング情報を含む。ルーターは、各受信パケットのルーティング情報をリードし、もし当該情報を認識すると、目的地へのさらなる送信のために、当該パケットを適切な通信インタフェースへ転送する。既知の目的地アドレスや転送プロトコル情報を有しないパケットは、典型的にはドロップされる。
パケットデータトラヒックパターン或いはボリュームの増減により、パケットデータルーターは、新たに受信したパケットのそれぞれを指定の通信インタフェースへ直ちにルーティングできないかもしれない。特に、パケットデータトラヒックは、小休止を伴うハイアクティビティのバーストを有する傾向にある。このようにパケットデータルーターは、持続的データレート(sustained data rate)とバーストデータレートを有するものとして特徴づけても良い。バーストしたパケットトラヒックを受信すると、ルーターは、パケットをそれぞれの通信インタフェースへ処理及び転送するための処理能力を有するようになるまで、一時的に受信したパケットを関連するメモリーに格納する。ルーターの持続的又はバーストのデータレートが所定の時間を超える場合、さらなる入来パケットがドロップされるのは避けられなくなる。もちろん、時には回避しがたい一方で、ソースはリカバリー処理の一部としてドロップされたパケットを再送信するであろうから、パケットルーターの過密状態を延長することになるとともに、未処理パケットをさらにドロップする原因ともなるので、未処理パケットのドロップは好ましくない。
パケットデータネットワークユーザーが、サービスプロバイダーからの単一ルーター又はルーターシステムのいずれかをシェアすることはしばしばある。複数の異なるインターネットユーザーは、例えば、それぞれのデータモデムもしくは一時群速度インタフェース(PRI)を介して、インターネットサービスプロバイダー(ISP)によってオペレーションされている単一のインターネットプロトコル(IP)ルーター又は、IPルーターシステムに接続する。これらのエンドユーザー自身は、単一顧客(single customers)であってもよいし、又は、ISPによって単一顧客アカウントに結合された複数の(ネットワークでつながった)ユーザーであってもよい。それぞれの顧客アカウントは、ISPによって、契約したサービス接続性のタイプ及びレベルに応じて、サービスプライオリティ及びパケットスループット帯域幅の各レベルに配置されてもよい。
説明の目的のためにここで引用する“ルーター”とは、共同して単一制御機能を実行する1以上のプロセッサの制御下にある所定数の物理的通信インタフェース(例えば、モデム)を有する、(論理的と反対の意味における)物理的存在として定義される。典型的に、単一物理的ルーターは、単一ルーティングドメイン下において動作する。即ち、ここでは、どんな通信インタフェースにおいて受信されたパケットも、ルーターの同一又は他のどの通信インタフェースにだけ転送されても良い。ここで引用する“ルーターシステム”は、選択的に共通(入来)パケットデータトラヒックをシステム内の各ルーターに方向付ける外部コントローラーを備える、2以上の独立したルーターとして定義される。
単一ルータ内に、1以上の仮想的ルーターインスタンス(VRI)を実装することが知られている。各VRIは、独自の通信インタフェースのサブセットもしくは、共有通信インタフェース上の論理回路と、独自のルーティングドメインを備えるが、依然として、ルータによって扱われるパケットトラヒックと共に共通制御機能の制御下に置かれている。特にVRIは、TCP/IPプロトコルモデルのレイヤーにほぼ相当する、ルーターによって実行される処理の集合として存在する。例えば、プライベートネットワークは、パケットデータが同一ネットワーク内のエンドユーザー間においてのみ交換されてもよいように、VRIとして構築することができる。単一VRIを、ルーターシステムにおける複数ルーターの橋渡しさせることが提案されたりもした。例えば、実装に関するある提案は、専用インタフェースリンクに、共通VRIを有する複数ルーターの各通信インタフェースの橋渡しをさせることである。
他の経済要素と同様に、成長率(growth rate)は可変かつ、時に予測不可能であるから、パケットルーター又はパケットルーターシステムは、サービスしようとする全てのユーザー又はVRIに、契約した帯域幅割当てを同時に提供するために必要な処理及びメモリ容量を必ずしも有しないだろう。さらに、様々なユーザーは、IPルーターに異なる時間帯、或いはしばしば予測不可能な時間帯に、様々なレート及び帯域幅を必要として接続するであろう。
IPルーターは、典型的に、リアルタイムオペレーティングシステム(RTOS)で制御されている。これは、異なるプライオリティの複数の処理が、(例えば、単一中央処理ユニットにおける)共通制御機能の制御下において共存することを可能とする。例えば、RTOSは、所定のユーザーに対する現在の稼働特性(usage characteristics)に関するフィードバック情報を与えるセンサーを有しても良い。これは、要求の変化に応じてRTOS動作パラメータを調整するために利用される。RTOSのための共通アプリケーションは、処理制御、動作制御及び所定のアプリケーションにおけるコマンド及び制御である。
問題は、これらのオペレーティングシステムが、ISPのエンドユーザー顧客によって契約された異なるプライオリティ及び帯域幅の要求に効果的に順応できない場合が時々あることである。動作制御システムでは、例えば、センサーからの情報の流れはシステムにもたらされ、制御信号の流れはシステムの外にもたらされる。多くのセンサーが有っても良いし、制御されているサブシステムが多くあっても良い。しかし、入力情報は、システムを通過して巡回して出力となることはない。これは、システムを制御するためには非効率な、RTOS処理/タスクのプライオリティの特徴を特有に制御する効果がある。
特に、典型的なIPルーターは、“パケット駆動”システムである。より多くのデータパケットを受信すると負荷が大きくなり、当該負荷が(全ての実践的な目的について)入力が出力になるように全体のシステムを妨害する。このように、最も多くのパケットを扱っているルーターへ接続しているユーザーは、システムリソースを独占しがちである。
例えば、2つの異なるVRIに分割されるルータを考えてみる。ここで、各VRIは、ほぼ同数のエンドユーザーを有し、同一のプライオリティ及び帯域幅要求を含む同一のサービス品質(QOS)についてISPにペイしているものとする。よって、ルーターは、各VRIのエンドユーザーに毎秒のビット数(BPS)が同一のシステムスループットを提供できるべきである。しかしながら、ここではルーターは、1つのVRIのピーク負荷を、未処理パケットをドロップすることなく扱うのに充分な処理能力を有しているのがやっとだと仮定する。この場合、もし、第1のVRIのユーザーが、事実上、ルータースループット処理能力とタイアップするならば、第2のVRIのユーザーは、本来与えられるはずのサービスプライオリティ及び帯域幅を受け入れないであろう。
このように、パケットデータルーター又はルータシステムを通じたデータパケットの処理を、より公平に調整するための方法及びシステム構成が必要とされている。ここでは、サービス品質は、各ユーザー及び/又はVRIについてバランスされ、高い負荷が発生した場合でも、システムは安定に保たれる。
本発明の第1の側面によれば、ルーターの現在の動作状態に基づいて各入来データキューに保持されているパケットが処理されるレートを動的に調整することにより、パケットデータルータにおけるデータパケットの処理を提供する。
好適な実施形態においては、入来データキューは、処理すべきパケットフィールド及び持続的データレートフィールドを含むデータキューヘッド構造(data queue head structure)を有する。処理すべきパケットフィールドは、所定の処理インターバルにおいてルータによって処理されるべき入来データキューに保持されたパケット数を示す値を格納する。この手法において、入来データキューのパケットフローレートは、プロセッサやメモリの稼働率のような、ルーターの現在の動作状態に基づいて、処理すべきパケットフィールドの値を増減することによって調整されてもよい。持続的データレートフィールドは、各入来データキューについてのターゲットの(例えば最大の)データ処理レートをbpsにて示す。処理すべきパケットフィールドの値は、一般には入来データキューの持続的データレートフィールドに基づく。
本発明のさらなる側面によれば、入来データキューのパケットフローを動的に調整する方法は、データパケットのバーストが、当該キューで受信された(又は受信されている)かどうかの検出を含む。好適な実施形態においては、データキューヘッド構造は、バーストデータレートフィールドとバースト期間フィールドの両方を含む。バーストデータレートフィールドは、受信したデータパケットのバーストが検出された場合の、入来データキューに保持されるデータパケットの処理の所定のレートを示す値を格納する。データバーストが検知されると、処理すべきパケットフィールドは、持続的データレートの代わりに、バーストデータレートに基づいて再計算される。バースト期間フィールドは、バーストデータレートに基づき、入来データキューの処理レートを持続させる時間を示す値を格納する。この手法において、入来データキューのパケットフローレートは、バーストデータレートフィールド又はバースト期間フィールドの値を増減することによってさらに制御される。
本発明のさらなる側面によれば、入来データキューのデータキューヘッド構造にはまた、キュー深度フィールドが与えられる。これは、入来データキューに格納されるデータパケットに割り当てられるルーターメモリの現在の量を示す値を格納する。一旦この限界に到達すると、当該入来データキューに対するどんなパケットもドロップされるであろう。ルーターの現在の動作状態に依存して、キュー深度フィールドは、所定のインターバルにおいて、処理のためにルーターメモリに保持されるパケット数を制限することにより、ルーターのメモリの稼働率を調整するために増減されても良い。
本発明のさらなる側面によれば、ルーターの現在の動作状態に基づいて複数の各入来データキューに保持されているパケットが処理されるレートを動的に調整することにより、パケットデータルータにおけるデータパケットの処理する方法が提供される。
好適な実施形態においては、各入来データキューのパケットフローレートは、他の入来データキューのパケットフローとは独立に調整される。よって、入来データキューレベルの柔軟な管理及び制御が可能となる。当該方法は、好ましくは、複数の入来データキューの少なくとも一つにおいてデータのバーストが受信されたかどうかの検出を含む。例えば、第1の入来データキューのパケットフローレートが増加する一方で、同時に、第2の入来データキューのパケットフローレートが減少しても良い。これは、システム全体のスループット及びルーターの動作の安定性を脅かすことなく、第1のキューにおいて受信されたパケットのバーストの処理を調整するためのものである。
本発明のさらなる側面においては、複数の入来データキューのそれぞれについてのデータキューヘッド構造には、キュー深度フィールドが与えられる。これは、各入来データキューにデータパケットを格納するために割り当てられたメモリの現在の量を示す値を格納するものである。好適な実施形態では、各入来データキューのキュー深度フィールドは、所定のインターバルにおいて所定の入来データキュー上で、処理のためにルーターメモリに保持されるパケット数を制限することにより、ルーターのメモリの稼働率を調整するために別個に増減されても良い。好適な実施形態においては、メモリの稼働率は、1以上の入来データキューのパケットフローレートを調整することによっても制御される。
本発明のさらなる側面においては、複数の仮想ルーターインスタンス(VRI)を諷するルーターにおいて、ルーターの現在の動作状態に応じて、1以上のVRIと関連する1以上の入来データキューに保持されるパケットが処理されるそれぞれのレートを動的に調整することにより、パケットデータトラヒックを制御する方法が提供される。
好ましくは、各VRIと関連する入来データキューの各パケットフローレートは、別個に調整される。例えば、好適な実施形態では、第1の仮想ルーターインスタンスと関連する1以上の入来データキューのパケットフローレートは減少され、第2の仮想ルーターインスタンスと関連する1以上の入来データキューのパケットフローレートは増加される。これらは、ルーターの同一の現動作状態に応じて各々に実行される。
本発明のさらなる側面においては、共同して単一制御機能を実行する1以上のプロセッサとを有するルーターにおけるパケットデータトラヒックと、ルータの動作期間におけるプロセッサ稼働率との制御を、複数の仮想ルーターインスタンス(VRI)をも有するルーターの現在の処理稼働率に応じて、1以上のVRIと関連する1以上の入来データキューに保持されるパケットが処理される所定のレートを動的に調整することにより実行する方法が提供される。さらに、各VRIと関連する入来データキューの各パケットフローレートは、好ましくは別個に調整される。
例えば、好適な実施形態においては、第1の仮想ルーターインスタンスと関連する1以上の入来データキューのパケットフローレートは減少され、第2の仮想ルーターインスタンスと関連する1以上の入来データキューのパケットフローレートは増加される。これらは、同一の現動作状態に応じて各々に実行される。
本発明のさらなる側面においては、1以上のVRIと関連する1以上の入来データキューのパケットフローレートは、プロセッサの稼働率、もしくは、メモリの稼働率、又は、両方を所定の動作範囲において維持するために周期的に調整される。
本発明のさらなる側面においては、1以上のVRIと関連する1以上の入来データキューにパケットを格納するために割り当てられるメモリ量は、メモリの稼働率を所定の動作範囲に維持するために周期的に調整される。
本発明のさらなる側面においては、データパケットの処理を制御する方法が、複数のルーターを有し、複数の仮想ルーターインスタンス(VRI)をサポートするように構成されるパケットデータルーターシステムについて提供される。ここで、少なくとも1のVRIが複数のルーター上に現れ、各仮想ルーターインスタンスは、受信データパケットを、仮想ルーターインスタンスがある各ルータ内の1以上のキューに格納する。どのキューに格納されるデータも、各ルーターによって各キューに関連するデータ処理レートにおいて処理される。
好適な実施形態では、当該方法は、第1のルーターに位置する第1のVRIと関連する1以上の入来データキューのデータ処理レートと、第2のルーターに位置する第1のVRIと関連する1以上の入来データキューのデータ処理レートの、第1又は第2のルーターの現在の動作状態に基づいた独立の調整を含む。例えば、第1のルーターに位置する第1のVRIと関連する1以上の入来データキューのデータ処理レートは減少され、その一方で、第2のルーターに位置する第1のVRIと関連する1以上の入来データキューのデータ処理レートは増加される。これらは、第1のルーターの現在の動作状態に応じて実行される。
更に好適な実施形態では、第1及び第2のVRIが第1及び第2のルーターの両方に現れ、当該方法は、当該ルーターの一方又は両方の現在の動作状態に応じた、両方のルーターに位置する第1及び第2のVRIに関連する1以上のキューの各データ処理レートの調整を含む。特に、第1のVRIに関連するキューのデータ処理レートは、第2のVRIに関連するキューのデータ処理レートとは独立に調整される。
例えば、第1のルーターに位置する第1のVRIと関連する1以上の入来データキューのデータ処理レートは減少され、第2のルーターに位置する第1のVRIと関連する1以上の入来データキューのデータ処理レートは増加される。その一方で、同時に、第1のルーターに位置する第2のVRIと関連する1以上の入来データキューのデータ処理レートは増加され、第2のルーターに位置する第2のVRIと関連する1以上の入来データキューのデータ処理レートは減少される。これらは、第1又は第2ののルーターの同一の現動作状態に応じて実行される。
本発明の好適な実施形態は一例として示されるものであって、限定を加えるものではない。また、添付する図面においては、共通する構成要素は同一の参照番号を付してある。
複数のエンドユーザーのためのインターネットゲートウェイとして利用される好適なパケットデータルーターの構成を示すブロック図である。 図1のルーターのメモリに格納される入来データキューのブロック図である。 図1のルーターにおける好適なパケットフロー及びメモリ管理処理を示すブロック図である。 入来データキューにおける受信パケットデータバーストを検出し調整するための、図1における好適な方法のフローチャートである。 複数の顧客ネットワークのためのインターネットゲートウェイとして利用される好適なパケットデータルーターシステムのブロック図である。 システムの各ルーターへのアップストリームパケットの分配を示す、図5のルーターシステムのブロック図である。 図5のルーターシステムにおける好適なパケットフロー及びメモリ管理処理を示すブロック図である。
図1は、インターネットサービスプロバイダー(ISP)22によってインターネットゲートウェイとして利用される好適なパケットデータルーター20を示す。ルーター20は、“アップストリーム”データパケットを、複数の異なるエンドユーザー24から受信する。各受信データパケットに含まれるルーティング情報に基づいて、ルーター20は、(1)パケットを各インターネットサーバー38に転送、(2)ルーター20に接続されたエンドユーザー24に転送、又は(3)不知の目的地アドレスを有するか又は、配信不可能であることを理由にパケットをドロップする処理のうち、いずれかを実行する。ルーター20はまた、“ダウンストリーム”データパケットをインターネットサーバー38から受信し、可能で有れば、受信したダウンストリームパケットを各エンドユーザー24に転送する。
エンドユーザー24は、例えば、ダイヤルアップモデム接続28やISDN回線30を介した従来の公衆交換電話網(PSTN)を通じてルーター20に接続されている。各エンドユーザーネットワーク32A及び32Bは、それぞれ実質的な数のエンドユーザー24を備え、ルーター20に、PSTN26の一部として提供されるそれぞれの専用線T1回線34A及び34Bを介して接続されている。PSTN26からは、各通信リンクが複数の専用回線36を介して、ISP22のルーター20へ接続されている。他の通信リンクもまた利用可能であり、例えば、(不図示の)無線モデムリンクや、(不図示の)ケーブルテレビジョンネットワークにより提供される同軸ケーブルモデム接続のようなものがある。
図2を参照すると、ルーター20は、共同で単一制御機能を実行するための1以上のプロセッサを含むが、図2ではこれらを単純化のためにまとめて示し、単一中央処理ユニット(CPU)44と呼ぶ。ルーター20はまた、共有されるバッファメモリ46を含む。これは、好ましくはダイナミックランダムアクセスメモリ(DRAM)で実装される。ルーター20では、PSTN26からの通信回線36は、通信インタフェース40で終端される。この通信インタフェース40は、ソフトウェアを実装可能な複数のデジタル信号処理器(DSP)42を備える。DSP42によって処理(例えば復調)されるアップストリームパケットは、まずメモリ46においてリンクされたリストとして形成される入来データキュー48において保持される。
当業者が理解するように、入来データキュー48は、FIFO形式での処理のための格納パケットを保持するソフトウェアデータ構造を有する。ルーター20に実装される入来データキュー48は、“深度”即ち、各キューが保持可能な各パケットの最大数の概念を有している。入来データキュー48のメモリ46における特定の構造は、ここで示す発明の概念から離れることなく変更されても良い。特に、図2に示す実施形態では、各エンドユーザー24、ネットワークで接続されたエンドユーザーグループ32A/32BもしくはVRI50/52は、ルーター20から受信したパケットを格納するために1以上の専用入来データキュー48を有していても良い。
例えば、第1のエンドユーザーグループ32Aから受信したデータパケット及び、グループ32Aから受信した単なるパケットは、第1の専用の複数の入来データキュー48Aに格納される。同様に、第2のエンドユーザーグループ32Bから受信したデータパケット及び、グループ32Bから受信した単なるパケットは、第2の専用の複数の入来データキュー48Bに格納される。また、2以上のエンドユーザー24は1以上の入来データキュー48を、多くの可能構成において共有しても良い。
図2に示す実施形態では、入来データキュー48Aはルーター20内に、第1のVRI50として実装され、入来データキュー48Bは第2のVRI52として実装され、各VRI50及び52は、固有のルーティングドメインを有する。特に、VRI50又はVRI52のパケット処理もしくは“フローレート”は、対応する各入来データキュー48A及び48Bのフローレートである。
さらなるVRIをルーター20内に実装しても良いが、本発明の概念を説明に当たり簡単のために第1及び第2のVRI50及び52のみを示す。重要なのは、ルーター20内の各VRIが、1以上の管理可能な入来データキュー48に割り当てられていることである。
別の好適な実施形態では、管理可能なキューは、VRIプロトコルレイヤーの間に位置しても良い。ここでは、入来地点とは違って、パケットドロップ及び遅延パラメータは既知である。
CPU44は選択的に、FIFO形式で入来データキュー48からパケットを検索し、それらを各出力目標と関連づけられた(不図示の)出力キューへ転送するか、さもなくば、送信不可能なパケットをドロップする。各入来データキュー48からのパケットは、CPU44において所定のパケットフローレートで処理される。このレートは、所定の処理インターバル間においてCPU44によって処理される各入来データキュー48からのパケット数で定義される。各入来データキュー48からのパケットのパケットフローレートは異なっても良いし、より詳細に記載するように、フロー管理処理、又はルーター20のRTOSの一部である“フローマネージャ”53によって制御されてもよい。
もし、CPU44により所定の入来データキュー48に保持されているパケットを直ちに処理することが困難な場合、キューの長さはそれに応じて増加することは明らかである。もちろん、メモリ46がパケットを格納するための容量は有限であり、各入来データキュー48が割り当てられるのは、メモリ46のバッファスペースの所定量に限られる。各入来データキュー48に格納されたパケット数は、メモリ管理処理又は、ルーター20のRTOSの一部である“メモリマネージャ”53により監視される。特に、格納されたパケットの長さは変化する。
一般的に、DRAMのような共有されるバッファメモリは、それらが比較的安価であり、コンパクトな形状ながら高い格納容量を有するので、パケットデータルーターにおける利用によく適している。しかしながら、メモリ46へのリード、ライトそれぞれのアクセスには比較的時間を有する。というのも、CPU44とメモリ46の間のデータバスの帯域幅の制限や、DRAMが本来有する行アドレスのストローブのレイテンシが有るためである。言い換えれば、CPU44が各データパケットをメモリ46へ格納(ライト)又はメモリ46から検索(retreive)(リード)するために消費する相対的時間及びプロセッサリソースである。
図3を参照すると、フローマネージャ54の機能は、入来データキュー48のデータフローを管理・制御することである。本好適な実施形態では、フローマネージャ54はシステムタスクとして実装される。これは、例えば、毎秒1回等、所定のインターバルにおいて入来データキュー48のそれぞれについて反復される。フローマネージャ54は、各入来データキュー48に保持されているデータパケットの処理を監視して、ルーター20の全体のデータフローと、特に、CPU44及びメモリ46の稼働率を管理する。
この目的のために、フローマネージャ54は、メモリ46に格納されているデータキューヘッド構造を、各入来データキュー48へのヘッダーとして維持する。データキューヘッド構造55は、フローマネージャ54によって、パケットフローレートを制御し、各入来データキュー48に割り当てられるメモリの量を制御するために利用されるいくつかのデータフィールドを含む。好適な実施形態においては、データキューヘッド構造55におけるデータフィールドは、以下のものが含まれる。
(1)“処理すべきパケット(packets-to-be-processed)”フィールド56は、CPU44によって所定の処理インターバルにて処理される、各データキュー48に保持されているパケット数を示す値を有する。
(2)“キューカウント(queue count)”フィールド58は、現在、各入来データキュー48に保持されているパケット数を示す値を有する。
(3)“処理バイト(bytes-processed)”フィールド60、所定の処理インターバルにおいて処理された各データキュー48からのデータバイト数を表す値を有する。
(4)“持続的データレート(sustained-data-rate)”フィールド62は、例えば、ISP22による顧客サービス契約(costomer serveice agreement)に基づいた、データキュー48それぞれについての、ターゲット最大データ処理レートをbpsで示す値を有する。
(5)“バーストデータレート(burst-data-rate)”フィールド64は、データバーストの受信に基づいて一時的に実施された、各データキュー48についての増加した最大データ処理レートをbpsで示す値を有する。
(6) “バースト期間(burst-duration)”フィールド66は、バーストデータレートフィールド64において規定されるデータレートが、データバーストを受信に応じて維持される最大時間を秒(又は他の単位で)表す値を有する。
(7)“キュー深度(queue-depth)”フィールド68は、各データキュー48に一度に保持可能なパケットの最大数を示すものである。即ち、パケット数が最大に達した場合は、現在格納されているパケットが処理され、他を格納するための余地ができない限りは、新たに受信したパケットがドロップされてしまう。
(8)“バーストスタート(burst-start)”フィールド70は、各データキュー48でデータバーストの受信を検知した時を示す時間スタンプ値を保持するためのものである。
(9)“システムタイムスタンプ(system-time-stamp)”フィールド72は、データキューヘッド構造55のポールが最後に実行された時を示すタイムスタンプ値を保持するためのものである。
当業者には理解されるように、データフィールド(1)から(9)の実際の順番は、特別に重要なものではなく、ここに開示する本発明の概念から逸脱することなく多くの変更が可能である。
本発明の一般的な側面によれば、フローマネージャ54及びメモリマネージャ53は、継続的に現在のルーター20の動作状況、例えば、プロセッサやメモリの稼働状況を監視する。各データキューヘッド構造55のデータフィールド(1)から(9)は、いくつかのタスクを実行するためにフローマネージャ54とメモリマネージャ53によって利用される。当該タスクには、フローレートの監視及び調整、バーストデータレートの監視、各入来データキュー48についてのメモリ割当て及び稼働率の調整が含まれる。
フローマネージャ54はまた、例えば、周期的なタスクとして、各入来データキュー48の各フローレートを監視し、もし適切で有れば、エンドユーザーのサービス品質(QOS)への影響が最小で済むようにシステム全体の安定性を確保するために、1以上の入来データキュー48のパケットフローレートの対応する調整を行う。特に、ルーター20のシステム安定性、及び、より重要な、ルーター20によってサービスされる、各ユーザー24、ユーザーグループ32A/32B及び/又はVRI50/52のQOSは、各パケットフローレート及び個々の入来データキュー48に対する比例的なメモリ割当ての制御を通して最良に管理されてもよい。
例えば、本発明の一般的な側面によれば、もしプロセッサ稼働率が、所望の動作範囲の上限に到達するか、又は、これを越えた場合、フローマネージャ54は、1以上の入来データキュー48のパケットフローレートを、対応する処理すべきパケットフィールド56の値を減ずることにより減少させるであろう。逆に、もしプロセッサ稼働率が、所望の動作範囲の下限に到達するか、又はこれを下回った場合は、対応する処理すべきパケットフィールド56の値を増やすことにより、1以上の入来データキュー48のパケットフローレートを増加させてもよい。
入来データキューレベルにおいてデータパケット処理を制御することの利点は、個々のエンドユーザー24、ユーザーグループ32A/32B、もしくはVRI50/52が反比例的に影響を受けることなく、ルーター20のシステムリソースが公平に分配され、制限されることである。一方、ルーターの従来のRTOSは、同一QOSを有するが、異なる入来データキュー上でルーターにアクセスしているエンドユーザー間では差別化できなかった。
説明のために、VRI50及びVRI52が同一のQOSプロフィールを有するが、ある場合において、VRI50は唯一のアクティブなエンドユーザー24をそのネットワーク上に有する一方で、VRI52が19のアクティブなエンドユーザー24を有すると仮定する。従来のルーターROTSシステムは、リソースを異なるユーザー内で均等に割り当てる(及び制限する)。即ち、各エンドユーザー24に対しトータル帯域幅の5%が割り当てられる。実際は、VRI50の唯一のエンドユーザー24は、利用可能なルーター帯域幅の半分(50%)が割り当てられ、VRI52の19のエンドユーザー24が残りの半分を彼らでシェアするはずであるにもかかわらずである。
個々の入来データキューのフローレートを制御可能とすることにより、本発明は従来の技術におけるこの問題点を解消するものである。また、個々のユーザー又はVRIの帯域幅保証(即ち、入来データキューレベルにおけるもの)が本発明により可能となる。さらに、入来データキュー48のデータ処理速度を制御することにより、ISP22はサブレート帯域幅レート(sub-rate bandwidth rates)を高速モデム上で実行してもよい。例えば、QOSプロフィールが28.8Kでしかないエンドユーザーについて56.8Kモデム接続を可能とする。より重要なことに、入来データキュー48についての独立した制御により、ピークトラヒック負荷を扱う場合において、より予測がたてやすくなる。
本発明のこの側面に応じて、フローマネージャ54は好ましくは、入来データキュー48の各フローレートを互いに独立に調整する。ISP22において維持されるQOSプロフィール74のそれぞれに基づいて、フローマネージャ54は、どのエンドユーザー24、ユーザーグループ32A又は32B及び/又はVRI50又は52のQOS基準についても不利な影響を最小とする入来データキュー48のフローレートを調整する。
各顧客QOSプロフィールのある側面は、各入来データキュー48のデータキューヘッド構造55において維持される。例えば、持続的データレートフィールド62は、各入来データキュー48についてのターゲット最大データ処理レートを示す。これにより、各データキュー48についての処理すべきパケットフィールド56の値が計算される。好適な実施形態では、入来データキュー48についての持続的データレートフィールド62は、まず、各データキュー48と関連したエンドユーザー24、ユーザーグループ32A/32B、もしくはVRI50/52の最大の割当レート(maximum alloted rate)に基づいて決定される。その後、各入来データキュー48についての持続的データレート62は、現在のルーター20の動作状態に動的に基づく。例えば、VRI50及び/又はVRI52と関連した1以上のデータキュー48Aのパケットフローレートは、ルーター20のプロセッサ稼働率を所定の動作範囲内に維持するように周期的に調整されても良い。
フローマネージャ54はまた、各入来データキュー48において受信されてもよいデータバーストを管理する。QOSユーザープロフィール74は、突発的なバーストパケットトラヒックに順応するために、短い期間においてパケット処理帯域幅の付加的量が与えられるように、好ましくはエンドユーザー24に提供される。例えば、エンドユーザー24は、大きなファイルを月に一度送信する必要があっても良い。費用がかかる持続的なデータレート帯域幅のために支払いさせる代わりに、ISP22はエンドユーザー24に付加的な“バーストデータレート”を特定の時間(例えばバースト期間)において提供することができる。
好適な実施形態では、各入来データキュー48についてのバーストデータレート64は、まず、ISP22によって各入来データキュー48に関連するどのエンドユーザー24に対しても保証される、最大バーストデータレートの最も高いもの(highest maximum burst data rate)に基づいて決定される。同様に、各入来データキュー48についてのバースト期間フィールド66は、まず、ISP22によって各入来データキュー48に関連するどのエンドユーザー24に対しても保証される、最高の最大バースト期間に基づいて決定される。その後、バーストデータレート64及びバースト期間66は、現在のルーター20の動作状態に基づいて、各入来データキュー48について動的に調整される。
とりわけ、フローマネージャ54は、異なる持続的データレート62、バーストデータレート64、及びバースト期間66の値を、1以上の入来データキュー48について、例えば、“日中における変動(time of day variances)”のような、オフピーク稼働基準(off-peak usage criteria)に基づいて割り当てても良いが、どの入来データキュー48のフローレートについても、システムの完全性を保持するための絶対的に必要とならない限り、好ましくは、ISP22によって(例えば、当該ユーザーのQOSプロフィールに基づいて)どのエンドユーザー24にも保証されている最大の最小限レートよりも低くは減少させないであろう。
図4は、フローマネージャ54が、データバーストが各入来データキュー48において受信されているかどうかを検出するための、ある好適な処理を示す。フローマネージャ54は、周期的に各入来データキュー48をポーリングし、現在のデータフローレート78(bpsにて)を計算する(ステップ78)。好適な実施形態では、フローマネージャ54は、各入来データキュー48についてのデータヘッドキュー構造55の処理バイトフィールド60の値に8を乗ずることによって現在のフローレートを計算する。結果物は、現在の時間とシステムタイムスタンプフィールド72の値との差分によって割られる。フローマネージャ54は、(ステップ80において)計算した現在のパケットフローレートと、持続的データレート62における値を比較する。
もし、計算されたレートが持続的データレートよりも大きい場合は、フローマネージャ54はデータバーストが各入来データキュー48において発生したとみなす。フローマネージャ54は、(ステップ82において)処理すべきパケットフィールド56の値を、バーストデータレートフィールド64の値に基づいて再計算し、バーストスタートフィールド70に現在の時間のタイムスタンプをセットする。もし受信バーストが検出されない場合は、即ち、計算されたデータレートが持続的データレートフィールド62と等しいか、より小さい場合は、フローマネージャ54は、(ステップ85において)、システムタイムスタンプフィールド72を更新し、処理バイトフィールド60の値を、次のポーリングサイクルのためにリセットする。
もしデータバーストが入来データキュー48において検出されると、フローマネージャ54は、(ステップ84において)周期的にデータバーストの期間を、現在の時間とバーストスタートフィールド70のタイムスタンプとの差分を算出することにより計算する。フローマネージャは、(ステップ86において)計算されたバースト期間と、バースト期間フィールド66の値とを比較する。
現在のデータバースト期間が、バースト期間フィールド66の値よりも小さい場合は、フローマネージャは(ステップ88において)、処理すべきパケットフィールド56の値を、バーストデータレートフィールド64の値に基づいて保持する。もし、バースト期間が、バースト期間フィールド66の値よりも長く継続した場合は、フローマネージャ54は処理すべきパケットフィールド56の値を持続的データレートフィールド62の値に基づいて再計算する。
好適な実施形態では、バーストデータレートフィールド64の値及びバースト期間フィールド66の値は、フローマネージャ54によって、ルーターにおける現在の動作状態に基づいて調整されても良い。例えば、顧客サービスに役立つものとして、ISP22は、フローマネージャ54を、バーストデータレートフィールド64とバースト期間フィールドの値を、ルーター20のプロセッサ稼働率が規定された動作範囲以下である限り増加するように構成しても良い。
図3に戻って、メモリマネージャ53は、各入来データキュー48についての各キューカウント及びキュー深度フィールド58及び68を、メモリ管理処理の一環として監視する。もし、ルータメモリ46の全体の稼働率が、所望の範囲の上限に到達したか、又はこれを越えた場合、メモリマネージャ53は、1以上の入来データキュー48に割り当てられているメモリ量を、対応するキュー深度フィールド68の値を減ずることにより減少させるであろう。逆に、もしメモリ46の稼働率が、所望の範囲の下限に到達したか、又はこれを下回った場合は、メモリマネージャ53は、1以上の入来データキュー48に割り当てられているメモリ量を、対応するキュー深度フィールド68の値を増加することにより増やすであろう。好適な実施形態においては、メモリマネージャ53は、入来データキュー48のキュー深度フィールド68を、受信データバーストの検出に応じて増加する。そうすることにおいて、1以上の他の入来データキュー48のキュー深度フィールド68を、メモリ稼働率を維持するために同時に減少することが必要となるかもしれない。
パケットフローレートと同様に、各入来データキュー48にパケットを格納するために割り当てられるメモリの量は、好ましくは、全ての他のキュー48について割り当てられるメモリとは独立して決定される。好適な実施形態においては、キュー深度フィールド68はまず、各データキュー48に関連する全てのエンドユーザー24、ユーザーグループ32A/32B、及び/又はVRI50/52に対して割り当てられたメモリの全体的な最大量に基づいて決定される。その後、各入来データキュー48にについてのキュー深度フィールド68は、ルーター20の現在の動作状態に動的に基づく。例えば、VRI50及び/又はVRI52に関連する1以上のデータキュー48Aのキュー深度フィールド68は、所定の範囲内にメモリの稼働率が維持されるように、周期的に調整されても良い。
メモリマネージャ53は、例えばISP22において維持されるQOSプロフィール74のそれぞれに基づいて、どのエンドユーザー24、ユーザーグループ32A又は32B及び/又はVRI50又は52のQOS基準についても不利な影響を最小とする入来データキュー48のキュー深度フィールド68を調整するであろう。好ましくは、メモリマネージャ53は、各データキュー48に関連するエンドユーザー24、ユーザーグループ32A又は32B及び/又はVRI50又は52の全体について、ISP22によって保証される最小レートのうち最高のものを下回るまでには、どの入来データキュー48についてもキュー深度フィールド68を減少させない。
各メモリマネージャ53とフローマネージャ54を構成するオペレーティングプロセスは、好ましくは、ルーター20のために管理ツールを改善するためにリンクされる。例えば、プロセッサリソースが利用可能であれば、フローマネージャ54は1以上の入来データキュー48のパケットフローレートを減少させるであろう。即ち、格納されたパケットのバックロードの処理レートを上げて、メモリの稼働率を下げる。実際、もし可能で有れば、QOSの観点から一時的に、最高のキューカウントフィールド58を有する入来データキュー48のパケットフローレートを増加させることは、キュー深度フィールド68を減少させることよりも、パケットのドロップを避ける、又は最小限にするためには好ましい。
図5は、ISP100によってインターネットゲートウェイとして利用される代替的な好適なパケットデータルーターシステム110を示す。ルーターシステム110は、複数のルーター112,114,116及び118を含み、それぞれは、データパケットを複数の異なるエンドユーザーネットワーク124から、PSTN26を介して受信し、処理する。各受信データパケットに含まれるルーティング情報に基づいて、ルーターシステム110は、パケットを各インターネットサーバー38に転送、エンドユーザーネットワーク124にパケットを転送、又は、不知の目的地アドレスを有するか又は、配信不可能であることを理由にパケットをドロップする処理のうち、いずれかを実行する。ルーターシステム110はまた、“ダウンストリーム”データパケットをインターネットサーバー38から受信し、可能で有れば、受信したダウンストリームパケットを各エンドユーザーネットワーク124に転送する。
エンドユーザーネットワーク124は、少なくとも3つの別個の顧客アカウント124(A)、124(B)及び124(C)を含む。ルーターシステム110は、個人及びネットワークの両方を含む、膨大な数の他のエンドユーザー及び顧客アカウントを有してもよい。しかしながら、本発明の更なる側面を説明において簡単のために、ネットワーク124(A)、124(B)及び124(C)のみを示す。
図6を参照すると、ルーターシステム110の各ルーター112、114、116及び118は、実質的にルーター20と同一に構成されている。各ルーター112、114、116及び118は、共同して単一制御機能を実行する1以上のプロセッサを有するが、ここではこれらを単純化のためにまとめて示し、単一中央処理ユニット(CPU)144とする。ルーター112、114、116及び118はまた、共有されるバッファメモリ146を含む。これは、好ましくはDRAMで実現される。
図示された好適な実施形態においては、PSTN26からの通信回線36は、通信インタフェース140で終端される。この通信インタフェース140は、ソフトウェアを実装可能な複数のDSP142を備える。別の実施形態では、1以上の個々のルーター112、114、116及び118は入来したパケットトラヒックをシフトすることを可能とする他の各ルータへの少なくとも1のインタフェース接続と共に、それぞれが独自に通信インタフェースを有している。
DSP142によって処理(例えば復調)されるアップストリームパケットは、まず各ルーター112、114、116及び118のメモリ146においてリンクされたリストとして形成される各入来データキュー48において保持される。ルーター20における入来データキュー48について上述したように、ルーターシステム110の各ルーター112、114、116及び118の入来データキュー148は、FIFO形式での処理のための格納パケットを保持するソフトウェアデータ構造を有する。各キュー148は、“深度”即ち、各キューが保持可能な格納パケットの最大数の概念を有している。ここで詳細に記載されるように、ルータシステム110はシステムQOSコントローラ120を含んでいる。これは、各ルーター112、114、116及び118の動作状態を監視し、どのようにアップストリームパケットデータトラヒックを様々な入来データキュー148に分配するかを動的に制御するものである。
図7を参照すると、各ルーター112、114、116及び118における1以上の入来データキュー148Aが、顧客A(VRI−A)のための第1のVRIとして実装されており、ルーター112及び116における1以上の入来データキュー148Bが、顧客B(VRI−B)のための第2のVRIとして実装されている。また、ルーター114及び118における1以上の入来データキュー148Cが、顧客C(VRI−C)のための第3のVRIとして実装されている。各VRIは、それが現れる各ルーター内に固有のルーティングドメインを有する。各ルーター112、114、116及び118は1以上のさらなるVRIを有しても良いが、VRI−A、VRI−B及びVRI−Cのみを簡単のために示す。
システム110の各ルーター112、114、116及び118は、QOSマネージャ152、フローマネージャ154及びメモリマネージャ156を含み、これらは全て各ルータのROTSの一部である。QOSマネージャ152は、各ルーター112、114、116及び118の各フロー及びメモリマネージャ154及び156と、システムQOSコントローラ120との間の制御インタフェースである。ルーター20のフロー及びメモリマネージャ54及び53と同様に、各ルーター112、114、116及び118の各メモリ及びフローマネージャ154及び156は、各ルーターの入来データキュー148のデータフローを管理し制御する。本好適な実施形態のいて、フロー及びメモリーマネージャ154及び156は、システムタスクとして実装される。これは、例えば、毎秒1回等、所定のインターバルにおいて、各ルーター112、114、116及び118の各入来データキュー148のそれぞれについて反復される。
特に、フロー及びメモリーマネージャ154及び156は、各入来データキュー148に保持されているデータパケットの処理を監視して、ルーターの全体のデータフローと、特に、CPU44及びメモリ46の稼働率を管理する。フロー及びメモリーマネージャ154及び156のそれぞれは、各ルーター112、114、116及び118の各入来データキュー148について、ルーター20のデータキューヘッド構造55における各フィールドと同一のものを含むデータキューヘッド構造を監視及び維持する。このように、ルーター20と同様に、ルーターシステム110の各ルーター112、114、116及び118は、個々にパケットフローレートを制御し、各入来データキュー148に割り当てられたメモリを制御する能力がある。さらに、システムQOSコントローラ120は、ルーターQOSマネージャ152と結合して、ルーターの動作状態に応じて、各ルーター112、114、116及び118の各入来データキュー148間で入来パケットトラヒックをシフトする能力がある。
例えば、本発明のさらなる側面によれば、各ルーター112、114、116及び118上のVRI−Aと関連する1以上の入来データキュー148のデータ処理レートがルーター112の現在の動作状態に基づいて調整される。好ましくは、各ルーター112、114、116及び118上のVRI−Aと関連する1以上の入来データキュー148のデータ処理レートは、他のルーター上のVRI−Aと関連する1以上の入来データキュー148の処理レートとは独立して調整される。個々のデータキューのフローレートの調整に加えて、システムQOSコントローラ120は、VRIのどれか1つと関連する入来データキュー148間において、システム負荷をよりよくバランスさせるために、入来パケットトラヒックを再割当てしても良い。
本発明の好適な実施形態及びアプリケーションが示され、記載された一方で、当業者には理解されるように、多くの修正及び応用は、本発明の概念から逸脱することなく可能である。このように、開示された発明の範囲は、特許請求の範囲に対応することなく限定されるものではない。

Claims (23)

  1. ルーターにおけるデータパケットの処理を制御する方法であって、前記ルーターは受信したデータパケットを入来データキューに格納し、前記入来データキューに格納されているパケットが、前記ルーターによって選択されたパケットフローレートにおいて処理される場合に、前記方法は、
    前記パケットフローレートを、前記ルーターにおける現在の動作状態に基づいて調整する工程を備えることを特徴とする方法。
  2. 前記入来データキューが、所定の処理インターバルにおいて前記ルータによって処理されるべき前記入来データキューに保持されたパケット数を示す値を有する処理すべきパケットフィールドを含む、データキューヘッド構造を有し、
    前記パケットフローレートが、前記処理すべきパケットフィールドの値を増加又は減少することにより調整されることを特徴とする請求項1に記載の方法。
  3. 前記データキューヘッド構造はさらに、持続的データレートフィールドと、バーストデータレートフィールドとを含み、
    もし、前記入来データキューにおいてデータバーストが検出されなければ、前記処理すべきパケットフィールドの値が、前記持続的データレートフィールドの値に基づき、
    もし、前記入来データキューにおいてデータバーストが検出されれば、前記処理すべきパケットフィールドの値が、所定期間において前記バーストデータレートフィールドの値に基づくことを特徴とする請求項2に記載の方法。
  4. 前記データキューヘッド構造がさらに、処理すべきパケットフィールドの値を、バーストデータレートフィールドの値に依存させるための選択された期間を示す値を格納するバースト期間フィールドを含むことを特徴とする請求項3に記載の方法。
  5. 前記バーストデータレートフィールド及び前記バースト期間フィールドの一方もしくは両方の値が、前記ルーターの現在の動作状態に基づいて調整されることを特徴とする請求項4に記載の方法。
  6. 前記入来データキューにおいてデータバーストが受信されているかどうかを検出する工程と、
    受信したデータバーストの検出に応じて、前記パケットフローレートを一時的に増加する工程と
    を更に備えることを特徴とする請求項1に記載の方法。
  7. 前記入来データキューが、持続的データレートフィールドを含むデータキューヘッド構造を有し、データのバーストが受信されたかどうかの判定が、
    持続的データレートフィールドの値を選択された非バーストパケットフローレートに設定する工程と、
    前記入来データキューの現在のパケットフローレートを計算する工程と、
    前記計算したパケットフローレートと前記持続的データレートフィールドの値とを比較する工程と
    によって実行されることを特徴とする請求項6に記載の方法。
  8. データキューヘッド構造が更に、タイムスタンプフィールドと、処理バイトフィールドを含み、前記前記入来データキューの現在のパケットフローレートが、
    前記タイムスタンプフィールドの値を、現在のパケットフローレートの計算が最後に行われた時間に設定し、
    パケットフローレートの最後の計算以降に処理されたデータのバイト数を反映するように前記処理バイトフィールドの値を設定し、
    前記タイムスタンプフィールドと前記処理バイトフィールドの値のそれぞれに基づいて、前記入来データキューのパケットフローレートを計算する
    ことにより計算されることを特徴とする請求項7に記載の方法。
  9. 前記ルーターがメモリを備え、前記入来データキューが、受信したデータパケットを格納するために前記メモリのうち所定量を割り当てられており、
    前記メモリの現在の稼働率に基づいて、前記入来データキューにデータパケットを格納するために割り当てられるメモリの量を調整する工程をさらに備えることを特徴とする請求項1に記載の方法。
  10. 前記ルーターが共同して共通制御機能を実行する1以上のプロセッサを有し、前記1以上のプロセッサがプロセッサ稼働率を有し、前記入来データキューの前記パケットフローレートは、現在の前記プロセッサ稼働率に応じて調整されることを特徴とする請求項1に記載の方法。
  11. 前記ルーターはメモリを有し、前記入来データキューの前記パケットフローレートは、メモリの現在の稼働率に応じて調整されることを特徴とする請求項1に記載の方法。
  12. 複数の仮想ルーターインスタンスを有し、前記各仮想ルーターインスタンスが受信データを1以上のキューに格納するルーターにおけるデータの処理を制御する方法であって、いずれかのキューに格納されているパケットは、前記ルーターによって前記各キューと関連するデータ処理レートにおいて処理される場合に、前記方法は、
    第1の仮想ルーターインスタンスに関連する1以上のキューの前記データ処理レートを、前記ルーターにおける現在の動作状態に基づいて調整する工程を備えることを特徴とする方法。
  13. 第2の仮想ルーターインスタンスに関連する1以上のキューの前記データ処理レートを、前記ルーターにおける現在の動作状態に基づいて調整する工程を更に備えることを特徴とする請求項12に記載の方法。
  14. 前記第1の仮想ルーターインスタンスに関連する前記1以上のキューのデータ処理レートが、前記第2の仮想ルーターインスタンスに関連する前記1以上のキューのデータ処理レートとは独立して調整されることを特徴とする請求項13に記載の方法。
  15. 前記ルーターの同一の現動作状態に応じて、前記第1の仮想ルーターインスタンスと関連する前記1以上のキューのデータ処理レートは減少され、第2の仮想ルーターインスタンスと関連する前記1以上のキューのデータ処理レートは増加されることを特徴とする請求項13に記載の方法。
  16. メモリと複数の仮想ルーターインスタンスを有し、前記各仮想ルーターインスタンスは受信データパケットを1以上の各入来データキューに格納するパケットデータルーターにおいて、メモリの稼働率を制御する方法であって、いずれかの入来データキューに格納されているパケットは、前記ルーターによって前記1以上の各入来データキューと関連するパケットフローレートにおいて処理される場合に、前記方法は、
    第1の仮想ルーターインスタンスに関連する1以上の入来データキューの前記パケットフローレートを、前記ルーターにおける現在の動作状態に基づいて周期的に調整する工程を備えることを特徴とする方法。
  17. 第2の仮想ルーターインスタンスに関連する1以上の入来データキューの前記パケットフローレートを、前記ルーターにおける現在の動作状態に基づいて周期的に調整する工程を更に備えることを特徴とする請求項16に記載の方法。
  18. 前記第1の仮想ルーターインスタンスに関連する前記1以上の入来データキューのパケットフローレートが、前記第2の仮想ルーターインスタンスに関連する前記1以上の入来データキューのパケットフローレートとは独立して調整されることを特徴とする請求項17に記載の方法。
  19. 複数のルーターと複数の仮想ルーターインスタンスを備えるシステムにおけるデータの処理を制御する方法であって、少なくとも第1の仮想ルーターインスタンスが第1のルーター及び第2のルーターの両方に現れ、各仮想ルーターインスタンスは、受信データを、前記仮想ルーターインスタンスが現れる各ルータ内の1以上の各データキューに格納し、どのデータキューに格納されるデータも、前記各ルーターによって前記各データキューに関連するデータ処理レートにおいて処理される場合に、前記方法は、
    前記第1のルーターの現在の動作状態に基づいて、前記第1及び第2のルーターのそれぞれにおける前記第1の仮想ルーターインスタンスに関連する1以上のデータキューのデータ処理レートを調整する工程を備えることを特徴とする方法。
  20. 前記第1のルーター上に位置する前記各1以上のデータキューの前記データ処理レートは、前記第2のルーター上に位置する前記各1以上のデータキューの前記データ処理レートとは独立して調整されることを特徴とする請求項19に記載の方法。
  21. 前記第1及び第2のルーターの両方に現れる第2の仮想ルーターインスタンスが更に、
    前記第1のルーターの現在の動作状態に基づいて、前記第1及び第2のルーターのそれぞれにおける前記第2の仮想ルーターインスタンスに関連する1以上のデータキューのデータ処理レートを調整する工程を備えることを特徴とする請求項19に記載の方法。
  22. 前記第1仮想ルーターインスタンスに関連する前記データキューの前記データ処理レートは、前記第2仮想ルーターインスタンスに関連する前記データキューの前記データ処理レートとは独立して調整されることを特徴とする請求項21に記載の方法。
  23. 前記第1のルーターの現在の動作状態に応じて、
    前記第1のルーター上に位置する前記第1の仮想ルーターインスタンスに関連する前記1以上のデータキューのデータ処理レートが減少され、
    前記第2のルーター上に位置する前記第1の仮想ルーターインスタンスに関連する前記1以上のデータキューのデータ処理レートが増加され、
    前記第1のルーター上に位置する前記第2の仮想ルーターインスタンスに関連する前記1以上のデータキューのデータ処理レートが増加され、
    前記第2のルーター上に位置する前記第2の仮想ルーターインスタンスに関連する前記1以上のデータキューのデータ処理レートが減少されることを特徴とする請求項21に記載の方法。
JP2011002442A 1999-09-28 2011-01-07 パケットデータルーターシステムにおけるサービス品質の管理 Expired - Fee Related JP5016120B2 (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US09/407,481 US6738371B1 (en) 1999-09-28 1999-09-28 Ingress data queue management in a packet data router
US09/407,713 US6687220B1 (en) 1999-09-28 1999-09-28 Quality of service management in a packet data router having multiple virtual router instances
US09/407,712 1999-09-28
US09/407,713 1999-09-28
US09/407,712 US6597699B1 (en) 1999-09-28 1999-09-28 Quality of service management in a packet data router system having multiple virtual router instances
US09/407,481 1999-09-28

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001527505A Division JP4689912B2 (ja) 1999-09-28 2000-09-25 パケットデータルーターシステムにおけるサービス品質の管理

Publications (2)

Publication Number Publication Date
JP2011130457A true JP2011130457A (ja) 2011-06-30
JP5016120B2 JP5016120B2 (ja) 2012-09-05

Family

ID=27410710

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2001527505A Expired - Fee Related JP4689912B2 (ja) 1999-09-28 2000-09-25 パケットデータルーターシステムにおけるサービス品質の管理
JP2011002442A Expired - Fee Related JP5016120B2 (ja) 1999-09-28 2011-01-07 パケットデータルーターシステムにおけるサービス品質の管理

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2001527505A Expired - Fee Related JP4689912B2 (ja) 1999-09-28 2000-09-25 パケットデータルーターシステムにおけるサービス品質の管理

Country Status (9)

Country Link
EP (1) EP1216553B1 (ja)
JP (2) JP4689912B2 (ja)
CN (1) CN1160905C (ja)
AT (1) ATE316310T1 (ja)
AU (1) AU7612200A (ja)
BR (1) BR0014328A (ja)
CA (1) CA2385242C (ja)
DE (1) DE60025634T2 (ja)
WO (1) WO2001024446A2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100664955B1 (ko) * 2005-10-20 2007-01-04 삼성전자주식회사 방송 수신 장치의 다운로드 속도를 제어하는 방법 및 이를위한 장치
JP5304813B2 (ja) * 2011-02-22 2013-10-02 沖電気工業株式会社 通信ノード装置
EP2938027A4 (en) * 2012-12-19 2016-09-21 Nec Corp COMMUNICATION NODES, CONTROL DEVICE, COMMUNICATION SYSTEM, PACKET PROCESSING METHOD, COMMUNICATION NODE CONTROL METHOD AND PROGRAM
CN108628775B (zh) * 2017-03-22 2021-02-12 华为技术有限公司 一种资源管理的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10243000A (ja) * 1997-02-19 1998-09-11 Telefon Ab L M Ericsson スイッチングフロー制御
WO1999014958A1 (en) * 1997-09-17 1999-03-25 Padcom, Inc. Apparatus and method for intelligent routing of data between a remote device and a host system
EP0926859A2 (en) * 1997-12-23 1999-06-30 Nortel Networks Corporation Multiple virtual router

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473599A (en) * 1994-04-22 1995-12-05 Cisco Systems, Incorporated Standby router protocol

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10243000A (ja) * 1997-02-19 1998-09-11 Telefon Ab L M Ericsson スイッチングフロー制御
WO1999014958A1 (en) * 1997-09-17 1999-03-25 Padcom, Inc. Apparatus and method for intelligent routing of data between a remote device and a host system
EP0926859A2 (en) * 1997-12-23 1999-06-30 Nortel Networks Corporation Multiple virtual router

Also Published As

Publication number Publication date
CA2385242C (en) 2012-11-13
EP1216553A2 (en) 2002-06-26
CA2385242A1 (en) 2001-04-05
EP1216553B1 (en) 2006-01-18
CN1160905C (zh) 2004-08-04
BR0014328A (pt) 2002-05-28
ATE316310T1 (de) 2006-02-15
AU7612200A (en) 2001-04-30
DE60025634T2 (de) 2006-11-09
WO2001024446A3 (en) 2002-01-17
DE60025634D1 (de) 2006-04-06
JP4689912B2 (ja) 2011-06-01
JP2003510966A (ja) 2003-03-18
WO2001024446A2 (en) 2001-04-05
JP5016120B2 (ja) 2012-09-05
CN1391750A (zh) 2003-01-15

Similar Documents

Publication Publication Date Title
US6597699B1 (en) Quality of service management in a packet data router system having multiple virtual router instances
US6738371B1 (en) Ingress data queue management in a packet data router
US6687220B1 (en) Quality of service management in a packet data router having multiple virtual router instances
JP5010739B2 (ja) 集約帯域幅制御のための方法及びシステム
Long et al. LABERIO: Dynamic load-balanced routing in OpenFlow-enabled networks
US7035220B1 (en) Technique for providing end-to-end congestion control with no feedback from a lossless network
US6067301A (en) Method and apparatus for forwarding packets from a plurality of contending queues to an output
US6259705B1 (en) Network service server load balancing device, network service server load balancing method and computer-readable storage medium recorded with network service server load balancing program
JP4327948B2 (ja) オーバーブッキングの能力がある場合、ない場合の階層的な転送速度制限を保証しながらサービスの提供をスケジュールするポートスケジューラとその手法
US6539026B1 (en) Apparatus and method for delay management in a data communications network
RU2005131960A (ru) Управление разрешением на доступ и распределение ресурсов в системе связи с поддержкой потоков приложений с наличием требований к качеству обслуживания
EP1417808A2 (en) Method for supporting non-linear, highly scalable increase-decrease congestion control scheme
JPH1093624A (ja) パケット伝送ネットワーク
JP5521038B2 (ja) トラフィック負荷を管理する方法
JP5016120B2 (ja) パケットデータルーターシステムにおけるサービス品質の管理
CA2328011A1 (en) Method and apparatus for load balancing of network services
US7990882B1 (en) Adaptively maintaining quality of service (QoS) in distributed PBX networks
US8477602B2 (en) Adaptively maintaining quality of service (QoS) in distributed PBX networks
JP2005522145A (ja) 非音声データ・トラフィック処理専用のリソースを割り当てるための方法およびシステム
US20030172314A1 (en) Timer monitoring apparatus and method
JP2005117125A (ja) パケット送出制御装置
Peng et al. Multicasting with localized control in wireless Ad Hoc networks
US7039011B1 (en) Method and apparatus for flow control in a packet switch
JP4385225B2 (ja) データ中継装置
Jin et al. Control transmission pace at IP layer to avoid packet drop

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120511

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120607

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

Free format text: PAYMENT UNTIL: 20150615

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5016120

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees