JP3766603B2 - Cell readout scheduling apparatus and method - Google Patents

Cell readout scheduling apparatus and method Download PDF

Info

Publication number
JP3766603B2
JP3766603B2 JP2001110378A JP2001110378A JP3766603B2 JP 3766603 B2 JP3766603 B2 JP 3766603B2 JP 2001110378 A JP2001110378 A JP 2001110378A JP 2001110378 A JP2001110378 A JP 2001110378A JP 3766603 B2 JP3766603 B2 JP 3766603B2
Authority
JP
Japan
Prior art keywords
connection
time slot
scheduling
identification means
connection identification
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.)
Expired - Lifetime
Application number
JP2001110378A
Other languages
Japanese (ja)
Other versions
JP2002314591A5 (en
JP2002314591A (en
Inventor
慎一 吉原
學 吉野
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2001110378A priority Critical patent/JP3766603B2/en
Publication of JP2002314591A publication Critical patent/JP2002314591A/en
Publication of JP2002314591A5 publication Critical patent/JP2002314591A5/ja
Application granted granted Critical
Publication of JP3766603B2 publication Critical patent/JP3766603B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は複数のコネクションを単一の回線に多重する装置(例えばATM(Asynchronous Transfer Mode:非同期転送モード)ノード装置)に利用する。特に、各コネクションが必要とする出力帯域を、設定されたセル送出間隔揺らぎの許容範囲内で使用する技術に関する。
【0002】
【従来の技術】
ATM網を構成するノード装置では、複数の入力回線から入力されたセルを単一の出力回線に多重する場合に、これを実現する方法の一つとして、各々の入力回線に対応するセルキューを用意し、各入力回線が要求する帯域幅に応じた頻度でセルキューからセルを周期的に読出し、出力回線にセルを送出するという手法が用いられる。このとき、設定帯域の異なる各セルキューからセルを周期的に読出すアルゴリズムとしては、例えばWRR(Weighted Round Robin)方式などがある。
WRR方式では、読出対象のセルキューに設定帯域幅に比例した重み付けを行い、1周期の間に各セルキューからこの重み分の数のセル読出しを行う。この仕組みにより、いずれのセルキューも設定帯域にしたがって公平な出力帯域を確保することを期待できる。
【0003】
しかしながら、WRR方式でセル多重を行うとき、多重される各コネクションのセル送出間隔は、1周期内の各セルキューからのセル読出方法に依存する。各コネクションのセルの送出間隔を一定に保とうとするならば、セルキューからのセル読出しタイミングが周期内で一定になるようにし、かつ隣接する周期間でもセル読出間隔が一定になるようにする必要がある。
【0004】
ところが多重するコネクション数が多い場合や多重された回線の帯域占有率が高い場合には、各コネクションのセル送出間隔は他のコネクションのセル送出状況に影響されることがある。つまり、複数のコネクションが同じタイミングでセルを出力しようとするとセル多重部でブロッキングが発生するため、出力できなかったコネクションのセル出力タイミングには遅延が発生する。そのため、多数のコネクションを高い帯域占有率で多重するときには、個々のコネクションが要求するセル送出間隔を守れない可能性がある。
【0005】
このことは、ネットワーク内で高い回線品質を保つために厳密なセル送出間隔をスケジューリングしようとする場合に問題となる。よって、この問題を解決するためには、適切なセル読出スケジューリング手段が必要となる。
【0006】
その一つとして、全コネクションの1周期内セル読出スケジュールをあらかじめ作成したタイミングスケジューリングテーブルにより決めておき、このテーブルに基づいてセル読出しを行う方法が用いられる。
【0007】
なお、このスケジューリングテーブルはセル送出するタイミングであるタイムスロット1周期分により構成されており、
(a)各コネクションの帯域幅に比例してタイムスロットを割当てる。
(b)各コネクションに割当てるタイムスロットが1周期内に複数存在する場合には、周期内で偏在することなく一定の間隔で配置する。
(c)複数周期で見たときにも、タイムスロットの配置間隔が一定の間隔になるように配置する。
(d)各タイムスロット周期間隔は、割当て帯域から計算される理想的な配置位置に対し、一定の許容範囲を持つ。
というものであるとする。
【0008】
このスケジューリングテーブルを作成する方法の例として下記の手順がある。まず、(タイムスロット数)×(コネクション数)の配列を用意し、これをスケジューリング配列とする。乱数により各コネクションの初期配置タイムスロット(先頭のタイムスロット)を決定したら、配列の該当する位置をマークする。初期配置タイムスロットが決まったら、そこを基準にして理想間隔によりその後のセル送出タイミングを示すタイムスロットを決定し、スケジューリング配列にマークする。これを1周期分繰り返す。しかし、初期配置タイムスロットは乱数によって決めているため1周期の先頭に位置するわけではない。そこで、配列として与えられている最終位置のタイムスロットの次には先頭位置のタイムスロットに戻るような操作を行う。これにより、初期配置タイムスロットを起点として1周期分のタイムスロットが連続した配列を想定することができる。全てのコネクションについて同様の操作を繰り返し、スケジューリング配列を構築する。
【0009】
スケジューリング配列が構築できたら、1周期の内で最初のタイムスロットより配置するコネクションを順に確定していく。各タイムスロットについて、全コネクションを順に検索していき、スケジューリング配列内でマーキングされたコネクションが複数存在している場合には、コネクション毎に前回のタイムスロット割当位置を基準とした理想間隔からどれくらいずれているかを計算する。そして最もずれの大きいコネクションをタイムスロットに配置する。また、ずれが同じ大きさだった場合には帯域幅の大きなコネクションを優先して配置する。この操作を全タイムスロットについて繰り返し、全てのタイムスロットに重複して配置されたタイムスロットがなくなるようにする。以上の操作によりスケジューリングテーブルを作成できる。
【0010】
【発明が解決しようとする課題】
従来の技術では、扱う対象となるコネクション数が多くなればなるほどスケジューリングのための計算処理が複雑になり、スケジューリングテーブル作成のために多大な時間がかかることになる。いくら特性の良いスケジューリングテーブルであっても、生成に膨大な時間を必要とするものでは実用的ではない。よって、より高速にスケジューリングテーブルを生成可能とする手段を有することが必要である。
【0011】
また、タイムスロット配置位置揺らぎ許容値がコネクション毎に異なった場合などへの対応が難しい等、拡張性に乏しいという欠点がある。
【0012】
本発明は、このような背景に行われたものであって、従来のスケジューリング方法と同等またはそれ以上の特性を有するスケジューリングテーブルを従来よりも高速に生成することができるセル読出スケジューリング装置および方法を提供することを目的とする。本発明は、コネクション個別のタイムスロット配置位置揺らぎ許容値の導入に対応することができるセル読出スケジューリング装置および方法を提供することを目的とする。
【0013】
【課題を解決するための手段】
本発明の第一の観点はセル読出スケジューリング装置であって、本発明の特徴とするところは、各コネクションの識別子情報および帯域情報の組を記録するコネクション情報保持手段と、指定されたポリシに基づいて前記コネクション情報保持手段に記録されたコネクション情報の組を並べ替えるコネクション情報ソート手段と、スケジューリングテーブル上のタイムスロット毎に配置され当該タイムスロットに割当てられたコネクションを識別するコネクション識別手段と、各タイムスロットに配置するコネクションのコネクション識別手段をタイムスロット毎にリスト状に接続して管理する手段と、各コネクションが要求するセル出力タイミングの予約を受け付けて前記コネクション識別手段を配置するタイムスロット管理手段と、このタイムスロット管理手段に対して各コネクションの先頭のタイムスロットおよびこの先頭のタイムスロットを起点とした各コネクションの理想的なタイムスロット配置を予約する手段と、スケジューリングテーブル上の1つのタイムスロットに対して複数のコネクションが前記コネクション識別手段を重複して予約配置したときにこれを異なるタイムスロットに分散させる手段とを含むスケジューリング手段を備え、このスケジューリング手段のスケジューリング結果にしたがってセルを読出す手段を備えたところにある。
【0014】
すなわち、本発明では、スケジューリングテーブルを作成する際にスケジューリング配列の参照回数を減らすため、スケジューリングテーブル上にタイムスロットを予約したコネクション識別手段を例えば接続するコネクション識別手段を示すポインタによって関連付け、効率的な参照を行う。このことによりスケジューリング配列の参照回数を減少させることができる。
【0015】
タイムスロット予約用のコネクション情報をポインタによって接続するリスト構造で扱うことから、タイムスロットの配置位置のスライドをポインタの付替えにより実現する。このことにより複数のコネクションが同一のタイムスロットを予約した場合のタイムスロット配置処理を高速に実行することができる。
【0016】
さらに詳しくは、前記コネクション情報ソート手段は、各コネクションの帯域情報を参照し広帯域のものから順にソートする手段を備え、前記タイムスロット管理手段は、このソートする手段のソート順にしたがって各コネクションから先頭のタイムスロットおよびこの先頭のタイムスロットを起点とした各コネクションの理想的なタイムスロット配置の予約を受け付ける手段を備え、前記分散させる手段は、この受け付ける手段の受け付け結果を参照しスケジューリングテーブル上の1つのタイムスロットに対して複数のコネクションが前記コネクション識別手段を重複して予約配置したときには、リスト状に接続した前記コネクション識別手段のうちで2番目以降のものを隣接する後方のタイムスロットにスライドさせ、このときに、既にこの後方のタイムスロットに他の前記コネクション識別手段が配置されているときには、この他の前記コネクション識別手段を前方よりスライドさせた前記コネクション識別手段のリストの最後尾に移す手段を備えることが望ましい。
【0017】
また、前記コネクション情報保持手段は、各コネクションの理想的なセル送出タイムスロットの揺らぎ許容値情報を併せて記録する手段を含み、前記コネクション識別手段に当該許容値情報が設定され、前記分散させる手段は、前記受け付ける手段の受け付け結果を参照しスケジューリングテーブル上の1つのタイムスロットに対して複数のコネクションが前記コネクション識別手段を重複して予約配置したときには、前記許容値が昇順になるように前記コネクション識別手段を並び替える第一のステップと、並び替えられたリストの2番目以降の前記コネクション識別手段を隣接する後方のタイムスロットへスライドし、スライドした前記コネクション識別手段の前記許容値をスライドしたタイミング分ずつ減少させる第二のステップとを実行し、このときに、既にこの後方のタイムスロットに他の前記コネクション識別手段が配置されているときには、再度、前記第一および第二のステップを実行する手段を備えることができる。
【0018】
すなわち、タイムスロット予約用のコネクション情報に配置位置揺らぎ許容値を与え、スケジューリングテーブル上のスライド処理に移動範囲を設定し、コネクション情報のリスト長により管理する。これによりコネクション毎に異なる配置位置揺らぎ許容値を設定することができる。
【0019】
タイムスロット予約用のコネクション情報の配置位置揺らぎ許容値の値によりリストの要素を昇順に並び替える。これにより多重する複数のコネクションがそれぞれ異なる配置位置揺らぎ許容値を持つときの多重効率が向上する。
【0020】
本発明の第二の観点はセル読出スケジューリング方法であって、本発明の特徴とするところは、各コネクションの帯域情報を参照し広帯域のものから順にソートし、このソート順にしたがって各コネクションから先頭のタイムスロットおよびこの先頭のタイムスロットを起点とした各コネクションの理想的なタイムスロット配置の予約を受け付け、スケジューリングテーブル上のタイムスロットにはそれぞれ当該タイムスロットを予約したコネクションを識別するためのコネクション識別手段を配置し、各タイムスロットに配置するコネクションのコネクション識別手段をタイムスロット毎にリスト状に接続して管理し、スケジューリングテーブル上の1つのタイムスロットに対して複数のコネクションが前記コネクション識別手段を重複して予約したときには、スケジューリングテーブル上の1つのタイムスロットに対してリスト状に接続したコネクション識別手段のうちで2番目以降のものを隣接する後方のタイムスロットにスライドさせ、このときに、既にこの後方のタイムスロットに他の前記コネクション識別手段が配置されているときには、この他の前記コネクション識別手段を前方よりスライドさせた前記コネクション識別手段のリストの最後尾に移し、この結果として各タイムスロットに配置されたコネクション識別手段の数を0または1に限定し、これによりセル読出タイムスロットを決定するところにある。
【0021】
また、前記コネクション識別手段の1番目が配置されているタイムスロットの前方に前記コネクション識別手段の2番目以降のものをスライドさせる余地がある場合には、スケジューリングテーブル上の1つのタイムスロットに対して複数のコネクションが前記コネクション識別手段を重複して予約配置したときには、スケジューリングテーブル上の1つのタイムスロットに対してリスト状に接続した前記コネクション識別手段のうちで2番目以降のものを隣接する前方または後方のタイムスロットにスライドさせ、このときに、既にこの前方または後方のタイムスロットに他の前記コネクション識別手段が配置されているときには、これを後方または前方よりスライドさせた前記コネクション識別手段のリストの最後尾に移し、この結果として各タイムスロットに配置された前記コネクション識別手段の数を0または1に限定し、これによりセル読出タイムスロットを決定することができる。これにより、タイムスロット配置の自由度がさらに向上する。
【0022】
また、各コネクションの先頭のタイムスロットおよびこの先頭のタイムスロットを起点とした理想的なタイムスロット配置を予約する際に、配置する前記コネクション識別手段に対して対応するコネクション帯域情報のタイムスロット揺らぎ許容値を設定し、リスト状に接続された前記コネクション識別手段を分散して近傍のタイムスロットに配置するときに、リストに含まれる前記コネクション識別手段が示すコネクションの前記許容値の情報を参照し、前記許容値が昇順になるように前記コネクション識別手段を並び替える第三のステップと、並び替えられたリストの2番目以降のものを隣接する後方のタイムスロットへスライドし、スライドした前記コネクション識別手段の前記許容値をスライドしたタイミング分ずつ減少させる第四のステップとを実行し、このときに既に後方のタイムスロットに前記コネクション識別手段が配置されているときには、再び、前記第三および第四のステップを実行することもできる。
【0023】
スケジューリング単位として単一のコネクションを扱っている部分の代わりに、一つ以上のコネクションにより構成されるコネクショングループをスケジューリング単位として扱うこともできる。
【0024】
本発明の第三の観点はプログラムであって、情報処理装置にインストールすることにより、その情報処理装置に、各コネクションの識別子情報および帯域情報の組を記録するコネクション情報保持機能と、指定されたポリシに基づいて前記コネクション情報保持機能に記録されたコネクション情報の組を並べ替えるコネクション情報ソート機能と、スケジューリングテーブル上のタイムスロット毎に配置され当該タイムスロットに割当てられたコネクションを識別するコネクション識別機能と、各タイムスロットに配置するコネクションのコネクション識別機能をタイムスロット毎にリスト状に接続して管理する機能と、各コネクションが要求するセル出力タイミングの予約を受け付けて前記コネクション識別機能を配置するタイムスロット管理機能と、このタイムスロット管理機能に対して各コネクションの先頭のタイムスロットおよびこの先頭のタイムスロットを起点とした各コネクションの理想的なタイムスロット配置を予約する機能と、スケジューリングテーブル上の1つのタイムスロットに対して複数のコネクションが前記コネクション識別機能を重複して予約配置したときにこれを異なるタイムスロットに分散して配置する機能とを含むスケジューリング機能を実現させ、このスケジューリング機能のスケジューリング結果にしたがってセルを読出す機能を実現させることを特徴とする。
【0025】
前記コネクション情報ソート機能は、各コネクションの帯域情報を参照し広帯域のものから順にソートする機能を備え、前記タイムスロット管理機能は、このソートする機能のソート順にしたがって各コネクションから先頭のタイムスロットおよびこの先頭のタイムスロットを起点とした各コネクションの理想的なタイムスロット配置の予約を受け付ける機能を備え、前記分散させる機能は、この受け付ける手段の受け付け結果を参照しスケジューリングテーブル上の1つのタイムスロットに対して複数のコネクションが前記コネクション識別機能を重複して予約配置したときには、リスト状に接続した前記コネクション識別機能のうちで2番目以降のものを隣接する後方のタイムスロットにスライドさせ、このときに、既にこの後方のタイムスロットに他の前記コネクション識別機能が配置されているときには、この他の前記コネクション識別機能を前方よりスライドさせた前記コネクション識別機能のリストの最後尾に移す機能を備えて実現させることが望ましい。
【0026】
前記コネクション情報保持機能は、各コネクションの理想的なセル送出タイムスロットの揺らぎ許容値情報を併せて記録する機能を含み、前記コネクション識別機能に当該許容値情報が設定され、前記分散させる機能は、前記受け付ける機能の受け付け結果を参照しスケジューリングテーブル上の1つのタイムスロットに対して複数のコネクションが前記コネクション識別機能を重複して予約配置したときには、前記許容値が昇順になるように前記コネクション識別機能を並び替える第一のステップと、並び替えられたリストの2番目以降の前記コネクション識別機能を隣接する後方のタイムスロットへスライドし、スライドした前記コネクション識別機能の前記許容値をスライドしたタイミング分ずつ減少させる第二のステップとを実行し、このときに、既にこの後方のタイムスロットに他の前記コネクション識別機能が配置されているときには、再度、前記第一および第二のステップを実行する機能を備えて実現させることが望ましい。
【0027】
あるいは、本発明の第三の観点はプログラムであって、情報処理装置にインストールすることにより、その情報処理装置に、各コネクションの帯域情報を参照し広帯域のものから順にソートし、このソート順にしたがって各コネクションから先頭のタイムスロットおよびこの先頭のタイムスロットを起点とした各コネクションの理想的なタイムスロット配置の予約を受け付け、スケジューリングテーブル上のタイムスロットにはそれぞれ当該タイムスロットを予約したコネクションを識別するためのコネクション識別機能を配置し、各タイムスロットに配置するコネクションのコネクション識別機能をタイムスロット毎にリスト状に接続して管理し、スケジューリングテーブル上の1つのタイムスロットに対して複数のコネクションが前記コネクション識別機能を重複して予約したときには、スケジューリングテーブル上の1つのタイムスロットに対してリスト状に接続したコネクション識別機能のうちで2番目以降のものを隣接する後方のタイムスロットにスライドさせ、このときに、既にこの後方のタイムスロットに他の前記コネクション識別機能が配置されているときには、この他の前記コネクション識別機能を前方よりスライドさせた前記コネクション識別機能のリストの最後尾に移し、この結果として各タイムスロットに配置されたコネクション識別機能の数を0または1に限定し、これによりセル読出タイムスロットを決定する手順を実行させることを特徴とする。
【0028】
前記コネクション識別機能の1番目が配置されているタイムスロットの前方に前記コネクション識別機能の2番目以降のものをスライドさせる余地がある場合には、スケジューリングテーブル上の1つのタイムスロットに対して複数のコネクションが前記コネクション識別機能を重複して予約配置したときには、スケジューリングテーブル上の1つのタイムスロットに対してリスト状に接続したコネクション識別機能のうちで2番目以降のものを隣接する前方または後方のタイムスロットにスライドさせ、このときに、既にこの前方または後方のタイムスロットに他の前記コネクション識別機能が配置されているときには、これを後方または前方よりスライドさせた前記コネクション識別機能のリストの最後尾に移し、この結果として各タイムスロットに配置された前記コネクション識別機能の数を0または1に限定し、これによりセル読出タイムスロットを決定する手順を実行させることが望ましい。
【0029】
各コネクションの先頭のタイムスロットおよびこの先頭のタイムスロットを起点とした理想的なタイムスロット配置を予約する際に、配置する前記コネクション識別機能に対して対応するコネクション帯域情報のタイムスロット揺らぎ許容値を設定し、リスト状に接続された前記コネクション識別機能を分散して近傍のタイムスロットに配置するときに、リストに含まれる前記コネクション識別機能が示すコネクションの前記許容値の情報を参照し、前記許容値が昇順になるように前記コネクション識別機能を並び替える第三のステップと、並び替えられたリストの2番目以降のものを隣接する後方のタイムスロットへスライドし、スライドした前記コネクション識別機能の前記許容値をスライドしたタイミング分ずつ減少させる第四のステップとを実行し、このときに既に後方のタイムスロットに前記コネクション識別機能が配置されているときには、再び、前記第三および第四のステップを実行する手順を実行させることが望ましい。
【0030】
スケジューリング単位として単一のコネクションを扱っている部分の代わりに、一つ以上のコネクションにより構成されるコネクショングループをスケジューリング単位として扱うこともできる。
【0031】
【発明の実施の形態】
本発明実施例のセル読出スケジューリング装置および方法を図1ないし図4を参照して説明する。図1は本発明実施例のセル読出スケジューリング装置のブロック構成図である。図2は本発明実施例のセル読出スケジューリング方法の手順を示すフローチャートである。図3はスケジューリングテーブル1周期におけるスケジューリングの概念図である。図4は理想位置からのずれの少ないスケジューリングテーブルを作成するために、スケジューリングテーブル作成を複数回実行する場合の手順を示すフローチャートである。
【0032】
本発明の第一の観点はセル読出スケジューリング装置であって、本発明の特徴とするところは、図1に示すように、各コネクションの識別子情報および帯域情報の組を記録するコネクション情報保持手段1と、指定されたポリシに基づいてコネクション情報保持手段1に記録されたコネクション情報の組を並べ替えるコネクション情報ソート手段2と、スケジューリングテーブル上のタイムスロット毎に配置され当該タイムスロットに割当てられたコネクションを識別するコネクション識別手段3と、各タイムスロットに配置するコネクションのコネクション識別手段3をタイムスロット毎にリスト状に接続して管理するリスト管理手段4と、各コネクションが要求するセル出力タイミングの予約を受け付けてコネクション識別手段3を配置するタイムスロット管理手段5と、このタイムスロット管理手段5に対して各コネクションの先頭のタイムスロット(初期配置タイムスロット)およびこの先頭のタイムスロットを起点とした各コネクションの理想的なタイムスロット配置を予約する初期配置タイムスロット予約手段6および理想配置タイムスロット予約手段7と、スケジューリングテーブル上の1つのタイムスロットに対して複数のコネクションがコネクション識別手段3を重複して予約したときにはこれを異なるタイムスロットに分散して配置する配置タイムスロット分散手段8とを含むスケジューリング手段9を備え、このスケジューリング手段9のスケジューリング結果にしたがってセルを読出すセル読出手段10を備えたところにある。
【0033】
さらに詳しくは、コネクション情報ソート手段2は、各コネクションの帯域情報を参照し広帯域のものから順にソートし、タイムスロット管理手段5は、このコネクション情報ソート手段2のソート順にしたがって各コネクションから先頭のタイムスロットおよびこの先頭のタイムスロットを起点とした各コネクションの理想的なタイムスロット配置の予約を受け付け(図2のS1、S2の処理)、配置タイムスロット分散手段8は、この受け付け結果を参照しスケジューリングテーブル上の1つのタイムスロットに対して複数のコネクションが前記コネクション識別手段3を重複して予約配置したときには、リスト状に接続したコネクション識別手段3のうちで2番目以降のものを隣接する後方のタイムスロットにスライドさせ(図2のS3、S4の処理)、このときに、既にこの後方のタイムスロットに他のコネクション識別手段3が配置されているときには、この他のコネクション識別手段3を前方よりスライドさせたコネクション識別手段3のリストの最後尾に移す。
【0034】
あるいは、図4のステップS5の処理として、コネクション情報保持手段1は、各コネクションの理想的なセル送出タイムスロットの揺らぎ許容値情報を併せて記録し、コネクション識別手段3に当該許容値情報が設定され、配置タイムスロット分散手段8は、タイムスロット管理手段5の受け付け結果を参照しスケジューリングテーブル上の1つのタイムスロットに対して複数のコネクションがコネクション識別手段3を重複して予約配置したときには、前記許容値が昇順になるようにコネクション識別手段3を並び替える第一のステップと、並び替えられたリストの2番目以降のコネクション識別手段3を隣接する後方のタイムスロットへスライドし、スライドしたコネクション識別手段3の前記許容値をスライドしたタイミング分ずつ減少させる第二のステップとを実行し、このときに、既にこの後方のタイムスロットに他のコネクション識別手段3が配置されているときには、再度、前記第一および第二のステップを実行する。その結果として、最も最大配置位置揺らぎの小さいスケジューリングテーブルを採用する。
【0035】
本発明の第二の観点は、図1に示すセル読出スケジューリング装置に適用するセル読出スケジューリング方法であって、本発明の特徴とするところは、各コネクションの帯域情報を参照し広帯域のものから順にソートし、このソート順にしたがって各コネクションから先頭のタイムスロットおよびこの先頭のタイムスロットを起点とした各コネクションの理想的なタイムスロット配置の予約を受け付け、スケジューリングテーブル上のタイムスロットにはそれぞれ当該タイムスロットを予約したコネクションを識別するためのコネクション識別手段3を配置し、各タイムスロットに配置するコネクションのコネクション識別手段3をタイムスロット毎にリスト状に接続して管理し、スケジューリングテーブル上の1つのタイムスロットに対して複数のコネクションがコネクション識別手段3を重複して予約したときには、スケジューリングテーブル上の1つのタイムスロットに対してリスト状に接続したコネクション識別手段3のうちで2番目以降のものを隣接する後方のタイムスロットにスライドさせ、このときに、既にこの後方のタイムスロットに他のコネクション識別手段3が配置されているときには、この他のコネクション識別手段3を前方よりスライドさせたコネクション識別手段3のリストの最後尾に移し、この結果として各タイムスロットに配置されたコネクション識別手段3の数を0または1に限定し、これによりセル読出タイムスロットを決定するところにある。
【0036】
コネクション識別手段3の1番目が配置されているタイムスロットの前方にコネクション識別手段3の2番目以降のものをスライドさせる余地がある場合には、スケジューリングテーブル上の1つのタイムスロットに対して複数のコネクションがコネクション識別手段3を重複して予約配置したときには、スケジューリングテーブル上の1つのタイムスロットに対してリスト状に接続したコネクション識別手段3のうちで2番目以降のものを隣接する前方または後方のタイムスロットにスライドさせ、このときに、既にこの前方または後方のタイムスロットに他のコネクション識別手段3が配置されているときには、これを後方または前方よりスライドさせたコネクション識別手段3のリストの最後尾に移し、この結果として各タイムスロットに配置されたコネクション識別手段3の数を0または1に限定し、これによりセル読出タイムスロットを決定する。
【0037】
さらに、各コネクションの先頭のタイムスロットおよびこの先頭のタイムスロットを起点とした理想的なタイムスロット配置を予約する際に、配置するコネクション識別手段3に対して対応するコネクション帯域情報のタイムスロット揺らぎ許容値を設定し、リスト状に接続されたコネクション識別手段3を分散して近傍のタイムスロットに配置するときに、リストに含まれるコネクション識別手段3が示すコネクションの前記許容値の情報を参照し、前記許容値が昇順になるようにコネクション識別手段3を並び替える第三のステップと、並び替えられたリストの2番目以降のものを隣接する後方のタイムスロットへスライドし、スライドしたコネクション識別手段3の前記許容値をスライドしたタイミング分ずつ減少させる第四のステップとを実行し、このときに既に後方のタイムスロットにコネクション識別手段3が配置されているときには、再び、前記第三および第四のステップを実行する。
【0038】
スケジューリング単位として単一のコネクションを扱っている部分の代わりに、一つ以上のコネクションにより構成されるコネクショングループをスケジューリング単位として扱うこともできる。
【0039】
本発明の第三の観点はプログラムであって、本発明のセル読出スケジューリング装置は、情報処理装置としてのパーソナル・コンピュータ装置等に本発明のプログラムをインストールすることにより、そのパーソナル・コンピュータ装置等を本発明のセル読出スケジューリング装置に相応する装置とすることにより実現することができる。このパーソナル・コンピュータ装置等により、本発明のセル読出スケジューリング方法を実行させることができる。
【0040】
すなわち、本発明のプログラムは、情報処理装置としてのパーソナル・コンピュータ装置等にインストールすることにより、そのパーソナル・コンピュータ装置等に、各コネクションの識別子情報および帯域情報の組を記録するコネクション情報保持機能と、指定されたポリシに基づいて前記コネクション情報保持機能に記録されたコネクション情報の組を並べ替えるコネクション情報ソート機能と、スケジューリングテーブル上のタイムスロット毎に配置され当該タイムスロットに割当てられたコネクションを識別するコネクション識別機能と、各タイムスロットに配置するコネクションのコネクション識別機能をタイムスロット毎にリスト状に接続して管理する機能と、各コネクションが要求するセル出力タイミングの予約を受け付けて前記コネクション識別機能を配置するタイムスロット管理機能と、このタイムスロット管理機能に対して各コネクションの先頭のタイムスロットおよびこの先頭のタイムスロットを起点とした各コネクションの理想的なタイムスロット配置を予約する機能と、スケジューリングテーブル上の1つのタイムスロットに対して複数のコネクションが前記コネクション識別機能を重複して予約配置したときにこれを異なるタイムスロットに分散して配置する機能とを含むスケジューリング機能を実現させ、このスケジューリング機能のスケジューリング結果にしたがってセルを読出す機能を実現させることを特徴とする。
【0041】
前記コネクション情報ソート機能は、各コネクションの帯域情報を参照し広帯域のものから順にソートする機能を備え、前記タイムスロット管理機能は、このソートする機能のソート順にしたがって各コネクションから先頭のタイムスロットおよびこの先頭のタイムスロットを起点とした各コネクションの理想的なタイムスロット配置の予約を受け付ける機能を備え、前記分散させる機能は、この受け付ける手段の受け付け結果を参照しスケジューリングテーブル上の1つのタイムスロットに対して複数のコネクションが前記コネクション識別機能を重複して予約配置したときには、リスト状に接続した前記コネクション識別機能のうちで2番目以降のものを隣接する後方のタイムスロットにスライドさせ、このときに、既にこの後方のタイムスロットに他の前記コネクション識別機能が配置されているときには、この他の前記コネクション識別機能を前方よりスライドさせた前記コネクション識別機能のリストの最後尾に移す機能を備えて実現させることができる。
【0042】
前記コネクション情報保持機能は、各コネクションの理想的なセル送出タイムスロットの揺らぎ許容値情報を併せて記録する機能を含み、前記コネクション識別機能に当該許容値情報が設定され、前記分散させる機能は、前記受け付ける機能の受け付け結果を参照しスケジューリングテーブル上の1つのタイムスロットに対して複数のコネクションが前記コネクション識別機能を重複して予約配置したときには、前記許容値が昇順になるように前記コネクション識別機能を並び替える第一のステップと、並び替えられたリストの2番目以降の前記コネクション識別機能を隣接する後方のタイムスロットへスライドし、スライドした前記コネクション識別機能の前記許容値をスライドしたタイミング分ずつ減少させる第二のステップとを実行し、このときに、既にこの後方のタイムスロットに他の前記コネクション識別機能が配置されているときには、再度、前記第一および第二のステップを実行する機能を備えて実現させることができる。
【0043】
本発明のプログラムによって、パーソナル・コンピュータ装置を本発明のセル読出スケジューリング装置に相応する装置とすることにより、そのパーソナル・コンピュータ装置に、各コネクションの帯域情報を参照し広帯域のものから順にソートし、このソート順にしたがって各コネクションから先頭のタイムスロットおよびこの先頭のタイムスロットを起点とした各コネクションの理想的なタイムスロット配置の予約を受け付け、スケジューリングテーブル上のタイムスロットにはそれぞれ当該タイムスロットを予約したコネクションを識別するためのコネクション識別機能を配置し、各タイムスロットに配置するコネクションのコネクション識別機能をタイムスロット毎にリスト状に接続して管理し、スケジューリングテーブル上の1つのタイムスロットに対して複数のコネクションが前記コネクション識別機能を重複して予約したときには、スケジューリングテーブル上の1つのタイムスロットに対してリスト状に接続したコネクション識別機能のうちで2番目以降のものを隣接する後方のタイムスロットにスライドさせ、このときに、既にこの後方のタイムスロットに他の前記コネクション識別機能が配置されているときには、この他の前記コネクション識別機能を前方よりスライドさせた前記コネクション識別機能のリストの最後尾に移し、この結果として各タイムスロットに配置されたコネクション識別機能の数を0または1に限定し、これによりセル読出タイムスロットを決定する手順を実行させることを特徴とする。
【0044】
前記コネクション識別機能の1番目が配置されているタイムスロットの前方に前記コネクション識別機能の2番目以降のものをスライドさせる余地がある場合には、スケジューリングテーブル上の1つのタイムスロットに対して複数のコネクションが前記コネクション識別機能を重複して予約配置したときには、スケジューリングテーブル上の1つのタイムスロットに対してリスト状に接続したコネクション識別機能のうちで2番目以降のものを隣接する前方または後方のタイムスロットにスライドさせ、このときに、既にこの前方または後方のタイムスロットに他の前記コネクション識別機能が配置されているときには、これを後方または前方よりスライドさせた前記コネクション識別機能のリストの最後尾に移し、この結果として各タイムスロットに配置された前記コネクション識別機能の数を0または1に限定し、これによりセル読出タイムスロットを決定する手順を実行させることができる。
【0045】
各コネクションの先頭のタイムスロットおよびこの先頭のタイムスロットを起点とした理想的なタイムスロット配置を予約する際に、配置する前記コネクション識別機能に対して対応するコネクション帯域情報のタイムスロット揺らぎ許容値を設定し、リスト状に接続された前記コネクション識別機能を分散して近傍のタイムスロットに配置するときに、リストに含まれる前記コネクション識別機能が示すコネクションの前記許容値の情報を参照し、前記許容値が昇順になるように前記コネクション識別機能を並び替える第三のステップと、並び替えられたリストの2番目以降のものを隣接する後方のタイムスロットへスライドし、スライドした前記コネクション識別機能の前記許容値をスライドしたタイミング分ずつ減少させる第四のステップとを実行し、このときに既に後方のタイムスロットに前記コネクション識別機能が配置されているときには、再び、前記第三および第四のステップを実行する手順を実行させることができる。
【0046】
スケジューリング単位として単一のコネクションを扱っている部分の代わりに、一つ以上のコネクションにより構成されるコネクショングループをスケジューリング単位として扱うこともできる。
【0047】
以下では、本発明実施例をさらに詳細に説明する。
【0048】
(第一実施例)
以下、本発明第一実施例について説明する。
【0049】
まず、各コネクションに、割当て帯域にしたがってスケジューリングテーブル1周期内のセル配置数および理想セル出力間隔を計算する。計算した各コネクションのタイムスロットの1周期分をこのコネクションのタイムスロット群と呼ぶとすると、このタイムスロット群のスケジューリングテーブルへの配置開始位置は任意であるから、タイムスロットの全分布が均一になるようにタイムスロット群の配置開始位置を決める。
【0050】
タイムスロット位置を均一配置するために有効なタイムスロット群配置開始位置決定手段としては、タイムスロット群に含まれるタイムスロット数の多いコネクションから順に割当てを行うこと、含まれるタイムスロット数の同じタイムスロット群は、配置開始位置を均等にずらして配置することなどがあげられる。
【0051】
なお、各タイムスロットにはそれぞれ単一のコネクションしか割当てることができないが、上記の方法では単一のタイムスロットに複数のコネクションが割当てられることがある。そこで、理想セル出力間隔で配置されたタイムスロット位置を配置位置揺らぎ許容範囲内でずらすことにより、タイムスロットへのコネクション割当ての重複を回避する。
【0052】
図5は上記に示した方法に基づいて、各コネクションの理想セル出力間隔に対応したセル出力タイミングをm×n配列にマッピングしたものである。ここではコネクション数はm、スケジューリングテーブル1周期分のタイムスロット数はnであるものとする。しかし、各コネクションのセル出力タイムスロットは計算される理想的な間隔で配置されており、複数のコネクション間で同一のタイムスロットを共有してしまっている部分がある。
【0053】
これよりスケジューリングテーブルを生成するために、配置用リストを構築する配列(図6、図7)を用意する。図6および図7の配列は、それぞれがセル配置可能なタイムスロット数の要素により構成される。以降、図6の配列をタイムスロット配列、図7の配列をコネクション配列と呼ぶ。
【0054】
タイムスロット配列はスケジューリングテーブルのタイムスロット位置に対応する。この配列はポインタのフィールドを有し、タイムスロット位置に対応した要素のポインタが該当するコネクション配列の要素を指し示す。また、論理的にはリング状の構造を有しており、最後の要素の次には先頭の要素に戻って連続しているものとする。
【0055】
一方、コネクション配列は各コネクションIDのフィールドおよびポインタのフィールドを有する。タイムスロット配列のポインタにより指し示される。また、同一のタイムスロットに複数のコネクションが割当てられている場合に該当するコネクション(コネクション配列の要素)をリスト構造で指し示すために、ポインタを保持している。なお初期状態では、タイムスロット配列およびコネクション配列の全要素に初期値(例えば0)が設定されている。
【0056】
図5の例にしたがい、各コネクションの理想タイムスロット位置を計算する。コネクション#1はタイムスロット1が理想位置なので、タイムスロット配列の1番目の要素のポインタ値を参照する。しかし、この要素には初期値(=0)が設定されているので、まだコネクションが配置されていないことがわかる。よって、コネクション配列の未使用の要素にコネクションIDを書き込み、その配列の要素番号をタイムスロット配列の1番目の要素にポインタとして書き込む。この時点では、タイムスロット配列の先頭の要素は(1)になっており、コネクション配列の先頭の要素は(1:0)になっている。また、コネクション#1はタイムスロット5も理想位置なので、タイムスロット配列の5番目の要素を検索し、同様にタイムスロット配列の要素は(2)、コネクション配列の2番目の要素には(1:0)と書き込む。
【0057】
コネクション#1のタイムスロット位置の計算が全て終了したら、次のコネクションの計算を行う。コネクション#2もタイムスロット1に配置されているので(図5)、まずタイムスロット配列の1番目の要素を参照する。しかし、1番目の要素のポインタが初期値(=0)ではないので、既に別のコネクションが配置されていることがわかる。そこで、このポインタで示されるコネクション配列を参照する。ここではタイムスロット配列の1番目の要素のポインタ値は(1)なので、コネクション配列の1番目の要素を参照することになる。
【0058】
コネクション配列の1番目の要素は(1:0)となっていることから、コネクション#1が既に配置されており、ポインタ値が初期値であることからそれ以外のコネクションは配置されていないことがわかる。よって、空いているコネクション配列の要素にコネクションIDを書き込み、その配列の要素番号を先程参照したコネクション配列のポインタ値として書き込む。つまり、1番目の要素は(1:3)となる。
【0059】
この時点の各配列の内容は、図8に示すとおりである。以降、同様の操作を全てのコネクションについて行う。また概念的には、図9のような終端要素のポインタ値が(0)になるリスト構造のデータを構築することになる。以降の説明はこのリスト構造を用いて行う。
【0060】
全てのコネクションの配置が終了したら、作成したタイムスロット配列、コネクション配列をもとにして、タイムスロットにコネクションIDを配置していく。
【0061】
該当するタイムスロットにコネクションIDが一つしか割当てられていなければ、そのまま配置するが、二つ以上のコネクションIDが割当てられている場合には、ポインタで繋がれたリストの二つ目以降の要素を次のタイムスロット配列の要素にポインタを接続しなおす。ただし、移動するコネクション配列要素は移動先のコネクション配列要素よりも前にリンクする。これはタイムスロット位置の理想配置位置からのずれの最大値を小さく抑えるためである。図10にこの手順を示す。
【0062】
前述したとおり、タイムスロット配列はリング構造を有しているので、最後の配列要素に複数のコネクションIDが割当てられている場合には、後方のコネクション配列要素はタイムスロット配列の先頭要素にシフトすることになる。この操作により、スケジューリングテーブルの終端部と先頭部との接続もシームレスに行うことができる。図11にこの手順を示す。
【0063】
上記の手順において、コネクション配列の要素がリンク構造により複数接続されることがあるが、このコネクション配列要素の接続数の最大値は理想配置位置からのずれの最大値に一致する。よって、この配列要素の最大値を監視することにより、あらかじめ規定したセル配置位置揺らぎの許容値を超えるか否かを判断することが可能である。例えば、図12の配置の場合には、最大セル配置位置揺らぎは3セル分であり、セル配置位置揺らぎ許容値を2セルとするならば、(18:0)のタイムスロットはセル配置位置揺らぎ許容値を超えるためセル配置位置違反となる。
【0064】
上記手順を繰り返すことにより、最終的には全てのコネクション配列要素をタイムスケジューリング要素に対して1対1で対応付けすることができる。このタイムスロット位置とコネクションIDとの組み合わせは、スケジューリングテーブルとして用いることが可能である。
【0065】
生成されたスケジューリングテーブルの特性の判断基準の一つとして、最大セル配置位置揺らぎを用いることができる。この値は、初めに行う各コネクションのテーブル割当て処理(図5)により変動する。そこで複数のパターンを生成し、それぞれのパターンについて上記のスケジューリングテーブル配置処理を行い、最大セル配置位置揺らぎを比較することで、よりセル配置位置揺らぎの小さいスケジューリングテーブルを生成することが可能である。
【0066】
(第二実施例)
本発明第一実施例では、全てのコネクションに対して同一の最大セル配置位置揺らぎ許容値が設定されていたが、複数の揺らぎ許容値を設定する必要がある場合には、配置位置の揺らぎをより厳密に管理する必要がある。
【0067】
本例では、図13に示すとおり、コネクション配列に配置位置揺らぎ許容値フィールドを拡張する。このフィールドには、計算により算出される理想配置位置に対して許容される最大のずれを設定する。
【0068】
各コネクション毎に計算された理想配置位置をタイムスロット配列およびコネクション配列毎にマッピングする操作については、上記拡張によらないので、第一実施例と同様の操作を行う。ただし、設定されたコネクション配列には、コネクションIDの他に、各コネクション毎に設定された配置位置揺らぎ許容値が設定されているものとする。
【0069】
第一実施例では、全コネクションについて配置位置揺らぎ許容値が同一であったため、一つのタイムスロットに対して複数のコネクションIDが割当てられていた場合に、その連続する配列要素数のみしか管理しなかった。しかし、第二実施例では、各コネクション毎に配置位置揺らぎ許容値が異なるため、第一実施例のような単純シフト処理を行うことはできない。そこで、タイムスロット配列要素に複数のコネクション配列要素が連なっている場合には、各コネクション配列要素に設定された配置位置揺らぎ許容値の小さいものから順に並び替え操作を行う(図14)。
【0070】
このとき、各コネクション配列要素の当該タイムスロット配列における順番が、各コネクション配列要素の配置位置揺らぎ許容値を超えないことを監視する必要がある。もし、この条件を満たせない場合には、最終的に生成されるタイムスケジューリングテーブルが配置位置揺らぎ許容値違反の不正なものとなるため、各コネクションの理想配置位置のマッピングからやり直す必要がある。
【0071】
上記操作により、当該タイムスロット配列における順番が先頭のコネクション配列要素以外は次のタイムスロット配列要素にシフトする。ここで、シフトするコネクション配列要素の配列位置揺らぎ許容値はシフトした分だけデクリメントする(図14(c))。そして、次のタイムスロット配列要素に1つ以上のコネクション配列が割当てられている場合には、先程と同様に、各コネクション配列要素の配置位置揺らぎ許容値によって並び替え操作を行う。
【0072】
上述の操作を繰り返すことにより、コネクション毎に異なる配置位置揺らぎ許容値を設定した場合も、各コネクションの揺らぎ許容値を満たしたスケジューリングテーブルを構築することが可能となる。
【0073】
(第三実施例)
第二実施例では、各コネクションの理想配置位置が同一のタイムスロットに割当てられていたときに、該当タイムスロットに配置できなかったコネクション配列要素を後方のタイムスロット配列要素にシフトしていたが、このシフト方向を前方に対して拡張することにより、より配置位置揺らぎを小さくすることが可能である。ただし、同一タイムスロット群に含まれる二つの隣接タイムスロットに関して、前のタイムスロットが後方シフト、後のタイムスロットが前方シフトしている場合には、前方のタイムスロットとの間隔を調べ、該当するコネクションの直前位置に配置されたタイムスロットとの間隔が許容される間隔よりも広くなっていることを確認しなければならない。タイムスロット間の間隔が、規定される間隔よりも狭い場合には、後のタイムスロットは後方シフトにしなければならない。このように前方シフトと後方シフトとを併用する場合に、後方シフトのみの場合よりもタイムスロット配置のための計算が複雑になるため、処理に時間がかかることになるが、最大セル配置位置揺らぎを小さくすることができる。
【0074】
(第四実施例)
これまでの実施例では、コネクション配列の各要素には単一のコネクションに付けられたIDを対応付けるものとして扱った。さらに加えて、複数のコネクションをグループ化して単一のまとまったコネクショングループとして扱う場合においても、このコネクショングループを前述の実施例における単一コネクションに置き替えて扱うことが可能である。つまり、各コネクショングループにIDを付与し、全体の帯域を各グループに設定した帯域に比例して帯域を割当てることができる。
【0075】
【発明の効果】
以上説明したように、本発明によれば、従来のスケジューリング方法と同等またはそれ以上の特性を有するスケジューリングテーブルを従来よりも高速に生成することができる。コネクション個別のタイムスロット配置位置揺らぎ許容値の導入に対応することができる。
【図面の簡単な説明】
【図1】本発明実施例のセル読出スケジューリング装置のブロック構成図。
【図2】本発明実施例のセル読出スケジューリング方法の手順を示すフローチャート。
【図3】本発明実施例のスケジューリングテーブル1周期におけるスケジューリングの概念図。
【図4】本発明実施例の理想位置からのずれの少ないスケジューリングテーブルを作成するために、スケジューリングテーブル作成を複数回実行する場合の手順を示すフローチャート。
【図5】本発明実施例の各コネクションの理想セル出力間隔に対応したセル出力タイミングをm×n配列にマッピングした状態を示す図。
【図6】本発明実施例のタイムスロット配列を示す図。
【図7】本発明実施例のコネクション配列を示す図。
【図8】本発明実施例のタイムスロット配列およびコネクション配列の記録状況を示す図。
【図9】本発明実施例のスケジューリング方法を説明するための図。
【図10】本発明実施例のスケジューリング方法を説明するための図。
【図11】本発明実施例のスケジューリング方法を説明するための図。
【図12】本発明実施例のスケジューリング方法を説明するための図。
【図13】本発明実施例の拡張されたコネクション配列を示す図。
【図14】本発明実施例のスケジューリング方法を説明するための図。
【符号の説明】
1 コネクション情報保持手段
2 コネクション情報ソート手段
3 コネクション識別手段
4 リスト管理手段
5 タイムスロット管理手段
6 初期配置タイムスロット予約手段
7 理想配置タイムスロット予約手段
8 配置タイムスロット分散手段
9 スケジューリング手段
10 セル読出手段
[0001]
BACKGROUND OF THE INVENTION
The present invention is used for an apparatus (for example, an ATM (Asynchronous Transfer Mode) node apparatus) that multiplexes a plurality of connections on a single line. In particular, the present invention relates to a technique for using an output band required for each connection within a set allowable range of cell transmission interval fluctuation.
[0002]
[Prior art]
In the node equipment constituting an ATM network, when cells input from a plurality of input lines are multiplexed on a single output line, a cell queue corresponding to each input line is prepared as one method for realizing this. Then, a technique is used in which cells are periodically read from the cell queue at a frequency corresponding to the bandwidth required by each input line and the cells are sent to the output line. At this time, as an algorithm for periodically reading cells from each cell queue having different set bandwidths, for example, there is a WRR (Weighted Round Robin) method.
In the WRR method, the cell queue to be read is weighted in proportion to the set bandwidth, and the number of cells corresponding to this weight are read from each cell queue during one cycle. With this mechanism, any cell queue can be expected to ensure a fair output bandwidth according to the set bandwidth.
[0003]
However, when cell multiplexing is performed by the WRR method, the cell transmission interval of each multiplexed connection depends on the cell reading method from each cell queue within one period. If the cell transmission interval of each connection is to be kept constant, it is necessary to make the cell read timing from the cell queue constant within a period, and also make the cell read interval constant between adjacent periods. is there.
[0004]
However, when the number of connections to be multiplexed is large or the bandwidth occupancy rate of the multiplexed line is high, the cell transmission interval of each connection may be affected by the cell transmission status of other connections. That is, if a plurality of connections try to output a cell at the same timing, blocking occurs in the cell multiplexing unit, and a delay occurs in the cell output timing of the connection that could not be output. Therefore, when multiple connections are multiplexed with a high bandwidth occupancy rate, there is a possibility that the cell transmission interval required by each connection cannot be observed.
[0005]
This becomes a problem when trying to schedule a strict cell transmission interval in order to maintain high line quality in the network. Therefore, in order to solve this problem, an appropriate cell read scheduling means is required.
[0006]
As one of the methods, a method of performing cell readout based on a timing scheduling table prepared in advance for a cell readout schedule within one period for all connections is used.
[0007]
This scheduling table is composed of one time slot period that is a cell transmission timing.
(A) Allocate time slots in proportion to the bandwidth of each connection.
(B) When there are a plurality of time slots to be assigned to each connection within one period, they are arranged at regular intervals without being unevenly distributed within the period.
(C) Even when viewed in a plurality of cycles, the time slots are arranged so that the intervals are constant.
(D) Each time slot period interval has a certain allowable range with respect to an ideal arrangement position calculated from the allocated bandwidth.
Suppose that.
[0008]
The following procedure is an example of a method for creating this scheduling table. First, an array of (number of timeslots) × (number of connections) is prepared, and this is used as a scheduling array. When the initial placement time slot (first time slot) of each connection is determined by a random number, the corresponding position in the array is marked. When the initial arrangement time slot is determined, the time slot indicating the subsequent cell transmission timing is determined based on the ideal interval and is marked in the scheduling array. This is repeated for one cycle. However, since the initial arrangement time slot is determined by a random number, it is not positioned at the beginning of one cycle. Therefore, after the time slot at the final position given as an array, an operation for returning to the time slot at the head position is performed. Thereby, it is possible to assume an arrangement in which time slots for one period are continuous from the initial arrangement time slot. Repeat the same operation for all connections to build a scheduling array.
[0009]
When the scheduling array is constructed, connections to be arranged from the first time slot in one cycle are determined in order. For each time slot, all connections are searched in order, and if there are multiple connections marked in the scheduling array, how much from the ideal interval based on the previous time slot allocation position for each connection. Calculate what it is. The connection with the largest deviation is placed in the time slot. If the shifts are the same size, a connection with a large bandwidth is preferentially arranged. This operation is repeated for all time slots so that there are no time slots that are duplicated in all time slots. The scheduling table can be created by the above operation.
[0010]
[Problems to be solved by the invention]
In the conventional technique, as the number of connections to be handled increases, calculation processing for scheduling becomes more complicated, and it takes much time to create a scheduling table. No matter how good the scheduling table is, it is not practical if it requires a huge amount of time to generate it. Therefore, it is necessary to have means for enabling the scheduling table to be generated at a higher speed.
[0011]
In addition, there is a drawback that the expandability is poor, for example, it is difficult to cope with the case where the allowable time slot arrangement position fluctuation value is different for each connection.
[0012]
The present invention has been made in view of such a background, and provides a cell read scheduling apparatus and method capable of generating a scheduling table having characteristics equivalent to or higher than those of a conventional scheduling method at a higher speed than the conventional one. The purpose is to provide. It is an object of the present invention to provide a cell read scheduling apparatus and method that can cope with the introduction of a per-connection time slot arrangement position fluctuation tolerance.
[0013]
[Means for Solving the Problems]
A first aspect of the present invention is a cell read scheduling apparatus, which is characterized by connection information holding means for recording a set of identifier information and bandwidth information of each connection and a specified policy. A connection information sorting means for rearranging a set of connection information recorded in the connection information holding means, a connection identification means for identifying a connection assigned to the time slot arranged for each time slot on the scheduling table, A means for connecting and managing connection identification means for connections to be arranged in time slots in a list for each time slot, and a time slot management means for accepting reservation of cell output timing requested by each connection and arranging the connection identification means And this Means for reserving the first time slot of each connection and the ideal time slot arrangement of each connection starting from this first time slot, and one time slot on the scheduling table. When multiple connections have reserved reservations for the connection identification means, they are distributed to different time slots. Make And a means for reading a cell according to a scheduling result of the scheduling means.
[0014]
That is, in the present invention, in order to reduce the number of times the scheduling array is referenced when creating the scheduling table, the connection identification means that reserves the time slot on the scheduling table is associated with, for example, a pointer indicating the connection identification means for efficient connection. Make a reference. This can reduce the number of times the scheduling array is referenced.
[0015]
Since the connection information for time slot reservation is handled by a list structure connected by a pointer, sliding of the time slot arrangement position is realized by changing the pointer. This makes it possible to execute time slot arrangement processing when a plurality of connections reserve the same time slot at high speed.
[0016]
More specifically, the connection information sorting means includes means for referring to bandwidth information of each connection and sorting in order from a wide bandwidth, and the time slot management means starts from each connection according to the sort order of the sorting means. Means for accepting a reservation of an ideal time slot arrangement for each connection starting from the time slot and the leading time slot, and the means for distributing refers to the acceptance result of the means for accepting and When a plurality of connections for the time slot are reserved for overlapping the connection identification means, the second and subsequent ones of the connection identification means connected in a list are slid to the adjacent time slot, At this time, When this backward time slots other of said connection identification means are arranged, it is desirable to have a means to transfer at the end of the list of the connection identification means is slid from the front to the other of the connection identification means.
[0017]
Further, the connection information holding means includes means for recording together fluctuation tolerance value information of an ideal cell transmission time slot of each connection, and the tolerance value information is set in the connection identification means and the means for distributing the information Refers to the acceptance result of the accepting means, and when a plurality of connections reserve and arrange the connection identifying means for one time slot on the scheduling table, the connection value is set in ascending order. A first step of rearranging the identification means, and a timing at which the second and subsequent connection identification means of the rearranged list are slid to an adjacent rear time slot and the allowable value of the slid connection identification means is slid A second step to reduce by minutes And line, in this case, already when this backward time slots other of said connection identification means is disposed, again, may comprise means for executing said first and second step.
[0018]
That is, an arrangement position fluctuation allowable value is given to the connection information for time slot reservation, a movement range is set for the slide processing on the scheduling table, and management is performed based on the list length of the connection information. As a result, it is possible to set different arrangement position fluctuation tolerances for each connection.
[0019]
The elements of the list are rearranged in ascending order according to the arrangement position fluctuation allowable value of the connection information for time slot reservation. This improves the multiplexing efficiency when the multiple connections to be multiplexed have different arrangement position fluctuation tolerances.
[0020]
A second aspect of the present invention is a cell read scheduling method, which is characterized in that the bandwidth information of each connection is referred to and sorted in descending order from the wide bandwidth, and in accordance with this sort order, the first from each connection Connection identification means for accepting reservations for an ideal time slot arrangement of each connection starting from the time slot and the first time slot, and identifying the connection that reserved the time slot for each time slot on the scheduling table The connection identification means of the connection to be arranged in each time slot is managed by connecting in a list for each time slot, and a plurality of connections overlap the connection identification means for one time slot on the scheduling table. Shi When the reservation is made, the second and subsequent ones of the connection identification means connected in a list for one time slot on the scheduling table are slid to the adjacent rear time slot. When another connection identification unit is arranged in the time slot, the other connection identification unit is moved from the front to the end of the list of connection identification units, and as a result, arranged in each time slot. The number of connection identifying means is limited to 0 or 1, thereby determining the cell read time slot.
[0021]
In addition, when there is room for sliding the second and subsequent connections of the connection identification means ahead of the time slot in which the first of the connection identification means is arranged, one time slot on the scheduling table When a plurality of connections reserve and arrange the connection identification means overlappingly, the second or later connection identification means connected in a list to one time slot on the scheduling table are adjacent to the front or Slide to the rear time slot. At this time, if another connection identification means is already arranged in the front or rear time slot, the list of the connection identification means is slid from the rear or front. Move to the end, and with this result The number of the connection identification means arranged in each time slot Te was limited to 0 or 1, and thereby determine the cell read time slot. Thereby, the freedom degree of time slot arrangement | positioning further improves.
[0022]
In addition, when reserving the first time slot of each connection and the ideal time slot arrangement starting from this first time slot, the time slot fluctuation of the corresponding connection bandwidth information is allowed for the connection identification means to be arranged. When setting the value and distributing the connection identification means connected in the form of a list and arranging them in neighboring time slots, refer to the information on the allowable value of the connection indicated by the connection identification means included in the list, A third step of rearranging the connection identification means so that the permissible value is in ascending order, and sliding the second and subsequent ones of the rearranged list to an adjacent rear time slot and sliding the connection identification means The fourth is to decrease the allowable value by the slide timing. And a step executed, when the connection identification means is located already behind the time slot in this case, again, it is also possible to perform the third and fourth step.
[0023]
Instead of the part handling a single connection as a scheduling unit, a connection group composed of one or more connections can be handled as a scheduling unit.
[0024]
A third aspect of the present invention is a program, which is installed in an information processing apparatus, and is designated with a connection information holding function for recording a set of identifier information and bandwidth information of each connection in the information processing apparatus. A connection information sorting function for rearranging a set of connection information recorded in the connection information holding function based on a policy, and a connection identification function for identifying a connection allocated to each time slot arranged for each time slot on the scheduling table A function for connecting and managing the connection identification function of the connection arranged in each time slot in a list for each time slot, and a time for accepting reservation of cell output timing requested by each connection and arranging the connection identification function slot A function for reserving the first time slot of each connection and the ideal time slot arrangement of each connection starting from this first time slot for the time slot management function, and one function on the scheduling table. A scheduling function including a function of distributing a plurality of connections to a time slot when the connection identification function is reserved and arranged in a different time slot is realized, and a scheduling result of the scheduling function is obtained. Therefore, the cell reading function is realized.
[0025]
The connection information sorting function has a function of referring to bandwidth information of each connection and sorting in order from a wide bandwidth, and the time slot management function includes the first time slot from each connection and the time slot according to the sort order of the sorting function. A function of accepting reservations of ideal time slot arrangement of each connection starting from the first time slot, and the function of distributing refers to the acceptance result of the means for accepting, with respect to one time slot on the scheduling table When a plurality of connections are reserved for overlapping the connection identification function, the second and subsequent ones of the connection identification functions connected in the form of a list are slid to the adjacent rear time slot. Already behind this tie When the other of the connection identification function in the slot is arranged, it is desirable to realize a function to transfer the end of the list of the connection identification features this other said connection identification feature is slid from the front.
[0026]
The connection information holding function includes a function to record fluctuation tolerance value information of ideal cell transmission time slots of each connection together, the tolerance value information is set in the connection identification function, and the function to distribute is The connection identification function so that the allowable value is in ascending order when a plurality of connections reserve the connection identification function for one time slot on the scheduling table with reference to the reception result of the reception function. And the second and subsequent connection identification functions of the rearranged list are slid to the adjacent rear time slot, and the allowable values of the slid connection identification functions are slid by the timing of sliding. Perform a second step to reduce and At this time, already when another said connection identification function to the rear of the time slot is located, again, it is desirable to realize a function to execute the first and second step.
[0027]
Alternatively, the third aspect of the present invention is a program, which is installed in an information processing device, and in the information processing device, the bandwidth information of each connection is referred to and sorted in order from the wide bandwidth, and according to this sort order. Receiving reservations for the first time slot from each connection and the ideal time slot arrangement of each connection starting from this first time slot, each time slot on the scheduling table identifies the connection that reserved that time slot And a connection identification function for connections arranged in each time slot is managed by connecting in a list for each time slot, and a plurality of connections are associated with one time slot on the scheduling table. Co When a duplicated function identification function is reserved, the second and subsequent connection identification functions connected in a list for one time slot on the scheduling table are slid to the adjacent rear time slot. When another connection identification function is already arranged in this rear time slot, the other connection identification function is moved to the end of the list of the connection identification functions slid from the front. As described above, the number of connection identification functions arranged in each time slot is limited to 0 or 1, thereby executing a procedure for determining a cell read time slot.
[0028]
When there is room to slide the second and subsequent connections of the connection identification function ahead of the time slot in which the first of the connection identification functions is arranged, a plurality of time slots on the scheduling table When a connection is reserved for overlapping the above-described connection identification function, the second or later connection identification function connected in a list with respect to one time slot on the scheduling table is adjacent to the forward or backward time. If the other connection identification function is already arranged in this time slot at the front or rear at this time, it is slid from the rear or the front to the end of the list of the connection identification functions. As a result of this The number of the connection identification feature disposed in the slot is limited to 0 or 1, which is executed by the steps of determining a cell read time slot is desirable.
[0029]
When reserving the first time slot of each connection and the ideal time slot arrangement starting from this first time slot, the time slot fluctuation allowable value of the connection bandwidth information corresponding to the connection identification function to be arranged is set. When setting and distributing the connection identification functions connected in a list form and arranging them in neighboring time slots, refer to the information on the allowable value of the connection indicated by the connection identification function included in the list, and A third step of rearranging the connection identification functions so that the values are in ascending order; and the second and subsequent ones of the rearranged list are slid to an adjacent rear time slot, and the slide of the connection identification function A fourth step that reduces the tolerance by the slide timing. Run the flop, when the connection identification function is arranged already behind the time slot in this case, again, it is desirable to perform the procedure for performing the third and fourth step.
[0030]
Instead of the part handling a single connection as a scheduling unit, a connection group composed of one or more connections can be handled as a scheduling unit.
[0031]
DETAILED DESCRIPTION OF THE INVENTION
A cell read scheduling apparatus and method according to an embodiment of the present invention will be described with reference to FIGS. FIG. 1 is a block diagram of a cell read scheduling apparatus according to an embodiment of the present invention. FIG. 2 is a flowchart showing the procedure of the cell read scheduling method according to the embodiment of the present invention. FIG. 3 is a conceptual diagram of scheduling in one period of the scheduling table. FIG. 4 is a flowchart showing a procedure when a scheduling table is created a plurality of times in order to create a scheduling table with little deviation from the ideal position.
[0032]
A first aspect of the present invention is a cell read scheduling apparatus, which is characterized in that, as shown in FIG. 1, connection information holding means 1 for recording a set of identifier information and bandwidth information of each connection. And a connection information sorting means 2 for rearranging the set of connection information recorded in the connection information holding means 1 based on the designated policy, and a connection allocated to the time slot arranged for each time slot on the scheduling table. A connection identification means 3 for identifying the connection, a list management means 4 for managing the connection identification means 3 of the connection arranged in each time slot in a list for each time slot, and reservation of cell output timing required by each connection Accepts and places connection identification means 3 Time slot management means 5 and the time slot management means 5 for the first time slot of each connection (initially arranged time slot) and the ideal time slot arrangement of each connection starting from this first time slot. The initial arrangement time slot reservation means 6 and the ideal arrangement time slot reservation means 7 to reserve, and when a plurality of connections reserve the connection identification means 3 for one time slot on the scheduling table, this is set to different time slots. There is a scheduling means 9 including an arrangement time slot distribution means 8 arranged in a distributed manner, and a cell reading means 10 for reading cells according to the scheduling result of the scheduling means 9.
[0033]
More specifically, the connection information sorting unit 2 refers to the bandwidth information of each connection and sorts the connections in descending order, and the time slot management unit 5 sorts the first time from each connection according to the sorting order of the connection information sorting unit 2. Reservation of an ideal time slot arrangement of each connection starting from the slot and the first time slot is accepted (processing of S1 and S2 in FIG. 2), and the arrangement time slot distribution means 8 performs scheduling by referring to the acceptance result. When a plurality of connections reserve and arrange the connection identification means 3 for one time slot on the table, the second and subsequent ones of the connection identification means 3 connected in a list form are connected to the rear side. Slide it into the time slot (S in Figure 2) , S4) At this time, when another connection identification means 3 is already arranged in the rear time slot, the list of connection identification means 3 in which the other connection identification means 3 is slid from the front is displayed. Move to the end.
[0034]
Alternatively, as the processing of step S5 in FIG. 4, the connection information holding unit 1 records the fluctuation allowable value information of the ideal cell transmission time slot of each connection and sets the allowable value information in the connection identifying unit 3. The arrangement time slot distribution means 8 refers to the reception result of the time slot management means 5 and when a plurality of connections reserve and arrange the connection identification means 3 for one time slot on the scheduling table, The first step of rearranging the connection identification means 3 so that the allowable value is in ascending order, and the second and subsequent connection identification means 3 of the rearranged list are slid to the adjacent rear time slot, and the slide connection identification is made. By the timing of sliding the allowable value of means 3 Run a second step to lack, at this time, already when the other connection identification means 3 to the rear of the time slot are arranged, again, performing the first and second step. As a result, the scheduling table with the smallest maximum arrangement position fluctuation is adopted.
[0035]
A second aspect of the present invention is a cell read scheduling method applied to the cell read scheduling apparatus shown in FIG. 1, and the feature of the present invention is that the band information of each connection is referred to in order from the wide band. In accordance with this sort order, the first time slot from each connection and the reservation of the ideal time slot arrangement of each connection starting from this first time slot are accepted, and each time slot on the scheduling table corresponds to the corresponding time slot A connection identification means 3 for identifying a connection that reserves the connection, and the connection identification means 3 of the connection arranged in each time slot is connected and managed in a list for each time slot, and one time on the scheduling table Against the slot When a plurality of connections reserve the connection identification means 3 redundantly, the second and subsequent connections among the connection identification means 3 connected in a list for one time slot on the scheduling table are adjacent to the rear time. At this time, when another connection identification means 3 is already arranged in the rear time slot, the other connection identification means 3 is slid from the front to the end of the list of connection identification means 3 As a result, the number of connection identifying means 3 arranged in each time slot is limited to 0 or 1, thereby determining a cell read time slot.
[0036]
When there is room for sliding the second and subsequent ones of the connection identification means 3 ahead of the time slot where the first of the connection identification means 3 is arranged, a plurality of time slots on the scheduling table When a connection is reserved by overlapping the connection identification means 3, a second or later connection identification means 3 connected in a list for one time slot on the scheduling table is adjacent to the front or rear. When another connection identification means 3 is already placed in this time slot at the front or rear at this time, the last of the list of connection identification means 3 that has been slid from the rear or the front. As a result, each time slot The number of arranged connection identification means 3 to be limited to 0 or 1, thereby determining the cell read time slot.
[0037]
Further, when reserving the first time slot of each connection and the ideal time slot arrangement starting from this first time slot, the connection identification means 3 to be arranged can accept time slot fluctuations in the corresponding connection bandwidth information. When setting the value and distributing the connection identification means 3 connected in the form of a list and arranging them in neighboring time slots, refer to the information on the allowable value of the connection indicated by the connection identification means 3 included in the list, A third step of rearranging the connection identification means 3 so that the permissible values are in ascending order, and the second and subsequent ones of the rearranged list are slid to the adjacent rear time slot, and the slid connection identification means 3 The fourth step is to decrease the allowable value by the slide timing. Run the door, when the already behind the time slot at this time connection identification means 3 is disposed, again, performing the third and fourth step.
[0038]
Instead of the part handling a single connection as a scheduling unit, a connection group composed of one or more connections can be handled as a scheduling unit.
[0039]
A third aspect of the present invention is a program, and the cell read scheduling apparatus of the present invention installs the program of the present invention in a personal computer apparatus or the like as an information processing apparatus, thereby This can be realized by using a device corresponding to the cell readout scheduling device of the present invention. With this personal computer device or the like, the cell readout scheduling method of the present invention can be executed.
[0040]
That is, the program of the present invention has a connection information holding function for recording a set of identifier information and band information of each connection in a personal computer device or the like by installing it in a personal computer device or the like as an information processing device. A connection information sorting function for rearranging a set of connection information recorded in the connection information holding function based on a specified policy, and a connection assigned to the time slot arranged for each time slot on the scheduling table A connection identification function that connects to each time slot, a connection management function that manages the connection identification function in a list for each time slot, and reservation of cell output timing required by each connection The time slot management function that arranges the connection identification function, the first time slot of each connection, and the ideal time slot arrangement of each connection starting from this first time slot are reserved for this time slot management function Realizes a scheduling function that includes a function and a function that distributes and arranges the connection identification functions in different time slots when a plurality of connections are reserved for one time slot on the scheduling table. The cell reading function is realized according to the scheduling result of the scheduling function.
[0041]
The connection information sorting function has a function of referring to bandwidth information of each connection and sorting in order from a wide bandwidth, and the time slot management function includes the first time slot from each connection and the time slot according to the sort order of the sorting function. A function of accepting reservations of ideal time slot arrangement of each connection starting from the first time slot, and the function of distributing refers to the acceptance result of the means for accepting, with respect to one time slot on the scheduling table When a plurality of connections are reserved for overlapping the connection identification function, the second and subsequent ones of the connection identification functions connected in the form of a list are slid to the adjacent rear time slot. Already behind this tie When the other of the connection identification function in the slot is arranged can be implemented by a function to transfer the end of the list of the connection identification features this other said connection identification feature is slid from the front.
[0042]
The connection information holding function includes a function to record fluctuation tolerance value information of ideal cell transmission time slots of each connection together, the tolerance value information is set in the connection identification function, and the function to distribute is The connection identification function so that the allowable value is in ascending order when a plurality of connections reserve the connection identification function for one time slot on the scheduling table with reference to the reception result of the reception function. And the second and subsequent connection identification functions of the rearranged list are slid to the adjacent rear time slot, and the allowable values of the slid connection identification functions are slid by the timing of sliding. Perform a second step to reduce and At this time, already when the other of the connection identification feature behind the time slot is located can be re-implemented a function to execute the first and second step.
[0043]
According to the program of the present invention, by making the personal computer device a device corresponding to the cell readout scheduling device of the present invention, the personal computer device is sorted in order from the wide bandwidth with reference to the bandwidth information of each connection, In accordance with this sort order, the first time slot from each connection and the reservation of the ideal time slot arrangement of each connection starting from this first time slot are accepted, and the corresponding time slot is reserved for each time slot on the scheduling table. A connection identification function for identifying the connection is arranged, and the connection identification function of the connection arranged in each time slot is connected and managed in a list form for each time slot, and one on the scheduling table When a plurality of connections reserve the same connection identification function for a time slot, the second and subsequent connection identification functions connected in a list for one time slot on the scheduling table are adjacent. The other connection identification function is slid from the front when another connection identification function is already arranged in this rear time slot. As a result, the number of connection identification functions arranged in each time slot is limited to 0 or 1, thereby executing a procedure for determining a cell read time slot.
[0044]
When there is room to slide the second and subsequent connections of the connection identification function ahead of the time slot in which the first of the connection identification functions is arranged, a plurality of time slots on the scheduling table When a connection is reserved for overlapping the above-described connection identification function, the second or later connection identification function connected in a list with respect to one time slot on the scheduling table is adjacent to the forward or backward time. If the other connection identification function is already arranged in this time slot at the front or rear at this time, it is slid from the rear or the front to the end of the list of the connection identification functions. As a result of this The number of the connection identification feature disposed in the slot is limited to 0 or 1, thereby making it possible to perform the procedure for determining the cell read time slot.
[0045]
When reserving the first time slot of each connection and the ideal time slot arrangement starting from this first time slot, the time slot fluctuation allowable value of the connection bandwidth information corresponding to the connection identification function to be arranged is set. When setting and distributing the connection identification functions connected in a list form and arranging them in neighboring time slots, refer to the information on the allowable value of the connection indicated by the connection identification function included in the list, and A third step of rearranging the connection identification functions so that the values are in ascending order; and the second and subsequent ones of the rearranged list are slid to an adjacent rear time slot, and the slide of the connection identification function A fourth step that reduces the tolerance by the slide timing. Run the flop, when already the connection identification feature behind the time slot in this case is arranged, it is possible to again perform the steps to perform the third and fourth step.
[0046]
Instead of the part handling a single connection as a scheduling unit, a connection group composed of one or more connections can be handled as a scheduling unit.
[0047]
In the following, embodiments of the present invention will be described in more detail.
[0048]
(First Example)
The first embodiment of the present invention will be described below.
[0049]
First, for each connection, the number of cell arrangements within one period of the scheduling table and the ideal cell output interval are calculated according to the allocated bandwidth. If one cycle of the calculated time slot of each connection is called a time slot group of this connection, since the arrangement start position of the time slot group in the scheduling table is arbitrary, the entire distribution of time slots becomes uniform. Thus, the arrangement start position of the time slot group is determined.
[0050]
As time slot group arrangement start position determining means effective for uniformly arranging time slot positions, allocation is performed in order from the connection having the largest number of time slots included in the time slot group, and the time slots having the same number of time slots are included. For example, the group may be arranged by shifting the arrangement start position evenly.
[0051]
Note that only a single connection can be assigned to each time slot, but in the above method, a plurality of connections may be assigned to a single time slot. Therefore, by duplicating the time slot positions arranged at the ideal cell output interval within the arrangement position fluctuation allowable range, duplication of connection assignment to the time slots is avoided.
[0052]
FIG. 5 maps the cell output timing corresponding to the ideal cell output interval of each connection into an m × n array based on the method described above. Here, the number of connections is m, and the number of time slots for one period of the scheduling table is n. However, the cell output time slots of each connection are arranged at ideal calculated intervals, and there are portions where the same time slot is shared among a plurality of connections.
[0053]
Thus, in order to generate a scheduling table, an array (FIGS. 6 and 7) for constructing an arrangement list is prepared. Each of the arrays in FIGS. 6 and 7 is composed of elements of the number of time slots in which cells can be arranged. Hereinafter, the array in FIG. 6 is referred to as a time slot array, and the array in FIG. 7 is referred to as a connection array.
[0054]
The time slot arrangement corresponds to the time slot position of the scheduling table. This array has a pointer field, and the pointer of the element corresponding to the time slot position indicates the corresponding connection array element. Also, it is assumed that it has a ring-like structure logically, and continues to the next element after the last element.
[0055]
On the other hand, the connection array has a field for each connection ID and a field for pointers. It is pointed by the pointer of the time slot array. In addition, when a plurality of connections are assigned to the same time slot, a pointer is held to indicate the corresponding connection (element of connection array) in a list structure. In the initial state, initial values (for example, 0) are set for all elements of the time slot array and the connection array.
[0056]
According to the example of FIG. 5, the ideal time slot position of each connection is calculated. Since connection # 1 has time slot 1 as the ideal position, the pointer value of the first element of the time slot array is referred to. However, since an initial value (= 0) is set for this element, it can be seen that no connection has been placed yet. Therefore, the connection ID is written to an unused element of the connection array, and the element number of the array is written as a pointer to the first element of the time slot array. At this time, the top element of the time slot array is (1), and the top element of the connection array is (1: 0). Since connection # 1 also has time slot 5 in the ideal position, the fifth element of the time slot array is searched. Similarly, the element of time slot array is (2) and the second element of connection array is (1: Write 0).
[0057]
When the calculation of the time slot position of connection # 1 is completed, the next connection is calculated. Since the connection # 2 is also arranged in the time slot 1 (FIG. 5), first, the first element of the time slot array is referred to. However, since the pointer of the first element is not the initial value (= 0), it can be seen that another connection is already arranged. Therefore, the connection array indicated by this pointer is referred to. Here, since the pointer value of the first element of the time slot array is (1), the first element of the connection array is referred to.
[0058]
Since the first element of the connection array is (1: 0), connection # 1 has already been arranged, and since the pointer value is the initial value, no other connections can be arranged. Recognize. Therefore, the connection ID is written to an element of the vacant connection array, and the element number of the array is written as the pointer value of the connection array referred to earlier. That is, the first element is (1: 3).
[0059]
The contents of each array at this point are as shown in FIG. Thereafter, the same operation is performed for all connections. Conceptually, data having a list structure in which the terminal element pointer value is (0) as shown in FIG. 9 is constructed. The following description will be made using this list structure.
[0060]
When all the connections are arranged, connection IDs are arranged in the time slots based on the created time slot arrangement and connection arrangement.
[0061]
If only one connection ID is assigned to the corresponding time slot, it is arranged as it is, but if two or more connection IDs are assigned, the second and subsequent elements of the list connected by the pointer Reconnect the pointer to the next time slot array element. However, the moving connection array element is linked before the destination connection array element. This is to keep the maximum value of the deviation of the time slot position from the ideal arrangement position small. FIG. 10 shows this procedure.
[0062]
As described above, since the time slot array has a ring structure, when a plurality of connection IDs are assigned to the last array element, the rear connection array element is shifted to the first element of the time slot array. It will be. By this operation, the connection between the end portion and the head portion of the scheduling table can be performed seamlessly. FIG. 11 shows this procedure.
[0063]
In the above procedure, a plurality of connection array elements may be connected by a link structure. The maximum number of connections of the connection array elements matches the maximum deviation from the ideal arrangement position. Therefore, by monitoring the maximum value of this array element, it is possible to determine whether or not the permissible value of cell arrangement position fluctuation defined in advance is exceeded. For example, in the case of the arrangement of FIG. 12, if the maximum cell arrangement position fluctuation is 3 cells and the cell arrangement position fluctuation allowable value is 2 cells, the time slot of (18: 0) is the cell arrangement position fluctuation. The cell placement position is violated because the allowable value is exceeded.
[0064]
By repeating the above procedure, finally, all the connection array elements can be associated with the time scheduling elements on a one-to-one basis. The combination of the time slot position and the connection ID can be used as a scheduling table.
[0065]
As one of the criteria for determining the characteristics of the generated scheduling table, the maximum cell arrangement position fluctuation can be used. This value varies depending on the table allocation process (FIG. 5) of each connection performed first. Therefore, it is possible to generate a scheduling table with smaller cell arrangement position fluctuations by generating a plurality of patterns, performing the above-described scheduling table arrangement processing for each pattern, and comparing the maximum cell arrangement position fluctuations.
[0066]
(Second embodiment)
In the first embodiment of the present invention, the same maximum cell arrangement position fluctuation tolerance is set for all connections. However, when it is necessary to set a plurality of fluctuation tolerances, the arrangement position fluctuation is reduced. It needs to be managed more strictly.
[0067]
In this example, as shown in FIG. 13, the arrangement position fluctuation allowable value field is extended to the connection arrangement. In this field, the maximum deviation allowed for the ideal arrangement position calculated by calculation is set.
[0068]
The operation for mapping the ideal arrangement position calculated for each connection for each time slot array and each connection array does not depend on the above-described expansion, and thus the same operation as that in the first embodiment is performed. However, it is assumed that the arrangement position fluctuation allowable value set for each connection is set in addition to the connection ID in the set connection array.
[0069]
In the first embodiment, since the arrangement position fluctuation allowable value is the same for all connections, only the number of consecutive array elements is managed when a plurality of connection IDs are assigned to one time slot. It was. However, in the second embodiment, since the arrangement position fluctuation allowable value is different for each connection, the simple shift processing as in the first embodiment cannot be performed. Therefore, when a plurality of connection array elements are connected to the time slot array element, the rearrangement operation is performed in order from the smallest arrangement position fluctuation allowable value set in each connection array element (FIG. 14).
[0070]
At this time, it is necessary to monitor that the order of the connection array elements in the time slot array does not exceed the allowable arrangement position fluctuation value of each connection array element. If this condition cannot be satisfied, the finally generated time scheduling table becomes an illegal arrangement position fluctuation allowable value violation, and it is necessary to redo the mapping of the ideal arrangement position of each connection.
[0071]
By the above operation, the order other than the first connection array element in the time slot array is shifted to the next time slot array element. Here, the array position fluctuation allowable value of the connection array element to be shifted is decremented by the amount shifted (FIG. 14C). Then, when one or more connection arrays are assigned to the next time slot array element, the rearrangement operation is performed according to the arrangement position fluctuation allowable value of each connection array element as before.
[0072]
By repeating the above-described operation, it is possible to construct a scheduling table that satisfies the permissible fluctuation value of each connection even when different arrangement position fluctuation permissible values are set for each connection.
[0073]
(Third embodiment)
In the second embodiment, when the ideal arrangement position of each connection was assigned to the same time slot, the connection arrangement element that could not be arranged in the corresponding time slot was shifted to the rear time slot arrangement element. By extending the shift direction with respect to the front, it is possible to further reduce the arrangement position fluctuation. However, regarding the two adjacent time slots included in the same time slot group, when the previous time slot is shifted backward and the subsequent time slot is shifted forward, the interval with the preceding time slot is examined, and the corresponding It must be confirmed that the interval with the time slot arranged immediately before the connection is wider than the allowable interval. If the interval between time slots is narrower than the prescribed interval, the later time slots must be shifted backwards. In this way, when the forward shift and the backward shift are used together, the calculation for the time slot arrangement becomes more complicated than the case of the backward shift alone, so that the processing takes time, but the maximum cell arrangement position fluctuation Can be reduced.
[0074]
(Fourth embodiment)
In the embodiments so far, each element of the connection array is treated as an ID associated with a single connection. In addition, even when a plurality of connections are grouped and handled as a single connection group, this connection group can be replaced with a single connection in the above-described embodiment. That is, it is possible to assign an ID to each connection group and assign the bandwidth in proportion to the bandwidth set for each group.
[0075]
【The invention's effect】
As described above, according to the present invention, it is possible to generate a scheduling table having characteristics equivalent to or higher than those of the conventional scheduling method at a higher speed than the conventional method. It is possible to cope with the introduction of the time slot arrangement position fluctuation allowable value for each connection.
[Brief description of the drawings]
FIG. 1 is a block diagram of a cell read scheduling apparatus according to an embodiment of the present invention.
FIG. 2 is a flowchart showing a procedure of a cell read scheduling method according to an embodiment of the present invention.
FIG. 3 is a conceptual diagram of scheduling in one period of the scheduling table according to the embodiment of the present invention.
FIG. 4 is a flowchart showing a procedure when a scheduling table is created a plurality of times in order to create a scheduling table with little deviation from the ideal position according to the embodiment of the present invention.
FIG. 5 is a diagram showing a state in which cell output timings corresponding to ideal cell output intervals of each connection according to the embodiment of the present invention are mapped in an m × n array.
FIG. 6 is a diagram showing a time slot arrangement according to the embodiment of the present invention.
FIG. 7 is a diagram showing a connection arrangement according to an embodiment of the present invention.
FIG. 8 is a diagram showing a recording state of a time slot arrangement and a connection arrangement according to the embodiment of the present invention.
FIG. 9 is a diagram for explaining a scheduling method according to an embodiment of the present invention.
FIG. 10 is a diagram for explaining a scheduling method according to an embodiment of the present invention.
FIG. 11 is a diagram for explaining a scheduling method according to an embodiment of the present invention.
FIG. 12 is a diagram for explaining a scheduling method according to an embodiment of the present invention.
FIG. 13 is a diagram showing an expanded connection arrangement according to the embodiment of the present invention.
FIG. 14 is a diagram for explaining a scheduling method according to an embodiment of the present invention.
[Explanation of symbols]
1 Connection information holding means
2 Connection information sorting means
3 Connection identification means
4 List management means
5 Time slot management means
6 Initial allocation time slot reservation means
7 Ideal time slot reservation means
8 Arrangement time slot distribution means
9 Scheduling means
10 Cell reading means

Claims (3)

各コネクションの識別子情報および帯域情報ならびに各コネクションの理想的なセル送出タイミングの揺らぎ許容値情報の組を記録するコネクション情報保持手段と、
指定されたポリシに基づいて前記コネクション情報保持手段に記録されたコネクション情報の組を並べ替えるコネクション情報ソート手段と、
スケジューリングテーブル上のタイムスロット毎に配置され当該タイムスロットに割当てられたコネクションを識別するとともに各コネクションごとの前記許容値情報が設定されたコネクション識別手段と、
各タイムスロットに配置するコネクションのコネクション識別手段をタイムスロット毎にリスト状に接続して管理する手段と、
各コネクションが要求するセル出力タイミングの予約を受け付けて前記コネクション識別手段を配置するタイムスロット管理手段と、
このタイムスロット管理手段に対して各コネクションの先頭のタイムスロットおよびこの先頭のタイムスロットを起点とした各コネクションの理想的なタイムスロット配置を予約する手段と、
スケジューリングテーブル上の1つのタイムスロットに対して複数のコネクションが前記コネクション識別手段を重複して予約配置したときにこれを異なるタイムスロットに分散させる手段と
を含むスケジューリング手段を備え、
このスケジューリング手段のスケジューリング結果にしたがってセルを読出す手段を備え
前記コネクション情報ソート手段は、各コネクションの帯域情報を参照し広帯域のものから順にソートする手段を備え、
前記タイムスロット管理手段は、このソートする手段のソート順にしたがって各コネクションから先頭のタイムスロットおよびこの先頭のタイムスロットを起点とした各コネクションの理想的なタイムスロット配置の予約を受け付ける手段を備え、
前記分散させる手段は、前記受け付ける手段の受け付け結果を参照しスケジューリングテーブル上の1つのタイムスロットに対して複数のコネクションが前記コネクション識別手段を重複して予約配置したときには、前記許容値が昇順になるように前記コネクション識別手段を並び替える第一のステップと、並び替えられたリストの2番目以降の前記コネクション識別手段を隣接する後方のタイムスロットへスライドし、スライドした前記コネクション識別手段の前記許容値をスライドしたタイミング分ずつ減少させる第二のステップとを実行し、このときに、既にこの後方のタイムスロットに他の前記コネクション識別手段が配置されているときには、再度、前記第一および第二のステップを実行する手段を備えた
ことを特徴とするセル読出スケジューリング装置。
Connection information holding means for recording a set of identifier information and bandwidth information of each connection and fluctuation value information of ideal cell transmission timing of each connection ;
Connection information sorting means for rearranging a set of connection information recorded in the connection information holding means based on a designated policy;
A connection identifying means for identifying a connection allocated to each time slot arranged in each time slot on the scheduling table and in which the allowable value information for each connection is set ;
Means for connecting and managing connection identification means for connections to be placed in each time slot in a list for each time slot;
Time slot management means for accepting reservation of cell output timing required by each connection and arranging the connection identification means;
Reserving an ideal time slot arrangement of each connection starting from this leading time slot and the leading time slot of each connection to this timeslot managing means;
Comprising a scheduling means comprising means for causing dispersion in different time slots so when multiple connections for a single time slot on the scheduling table has reserved arranged overlapping the connection identification means,
Means for reading cells according to the scheduling result of the scheduling means ;
The connection information sorting means includes means for sorting in order from the wide band with reference to the bandwidth information of each connection,
The time slot management means includes means for accepting reservations for the ideal time slot arrangement of each connection starting from the first time slot and the first time slot from each connection according to the sorting order of the means for sorting,
The distributing means refers to the acceptance result of the accepting means, and when a plurality of connections overlap and reserve the connection identifying means for one time slot on the scheduling table, the allowable values are in ascending order. The first step of rearranging the connection identification means and the second and subsequent connection identification means of the rearranged list are slid to an adjacent rear time slot, and the allowable value of the slid connection identification means And the second step of decreasing the time by sliding timing, and when the other connection identifying means is already arranged in the rear time slot, the first and second steps are again performed. cell read, characterized in that it comprises means for performing the steps Scheduling apparatus.
各コネクションの帯域情報を参照し広帯域のものから順にソートし、このソート順にしたがって各コネクションから先頭のタイムスロットおよびこの先頭のタイムスロットを起点とした各コネクションの理想的なタイムスロット配置の予約を受け付け、
スケジューリングテーブル上のタイムスロットにはそれぞれ当該タイムスロットを予約したコネクションを識別するためのコネクション識別手段を配置し、
各タイムスロットに配置するコネクションのコネクション識別手段をタイムスロット毎にリスト状に接続して管理し、
スケジューリングテーブル上の1つのタイムスロットに対して複数のコネクションが前記コネクション識別手段を重複して予約配置したときには、スケジューリングテーブル上の1つのタイムスロットに対してリスト状に接続したコネクション識別手段のうちで2番目以降のものを隣接する後方のタイムスロットにスライドさせ、このときに、既にこの後方のタイムスロットに他の前記コネクション識別手段が配置されているときには、この他の前記コネクション識別手段を前方よりスライドさせた前記コネクション識別手段のリストの最後尾に移し、この結果として各タイムスロットに配置されたコネクション識別手段の数を0または1に限定し、これによりセル読出タイムスロットを決定する
セル読出スケジューリング方法であって、
各コネクションの先頭のタイムスロットおよびこの先頭のタイムスロットを起点とした理想的なタイムスロット配置を予約する際に、配置する前記コネクション識別手段に対して対応するコネクション帯域情報のタイムスロット揺らぎ許容値を設定し、
リスト状に接続された前記コネクション識別手段を分散して配置揺らぎ許容範囲内のタイムスロットに配置するときに、リストに含まれる前記コネクション識別手段が示すコネクションの前記許容値の情報を参照し、前記許容値が昇順になるように前記コネクション識別手段を並び替える第三のステップと、並び替えられたリストの2番目以降のものを隣接する後方のタイムスロットへスライドし、スライドした前記コネクション識別手段の前記許容値をスライドしたタイミング分ずつ減少させる第四のステップとを実行し、このときに既に後方のタイムスロットに前記コネクション識別手段が配置されているときには、再び、前記第三および第四のステップを実行する
ことを特徴とするセル読出スケジューリング方法。
Refers to the bandwidth information of each connection, sorts in order from wide bandwidth, and accepts the reservation of the ideal time slot arrangement of each connection starting from the first time slot and the first time slot from each connection according to this sort order ,
Each time slot on the scheduling table is provided with a connection identification means for identifying the connection that reserved the time slot,
Connect and manage the connection identification means of the connection to be placed in each time slot in a list for each time slot,
When a plurality of connections reserve and arrange the connection identification means redundantly for one time slot on the scheduling table, among the connection identification means connected in a list for one time slot on the scheduling table The second and subsequent ones are slid into the adjacent rear time slot. At this time, when another connection identification means is already arranged in the rear time slot, the other connection identification means is moved from the front. Cell read scheduling which moves to the end of the list of the connection identification means slid and limits the number of connection identification means arranged in each time slot to 0 or 1 as a result, thereby determining a cell read time slot A method,
When reserving the first time slot of each connection and the ideal time slot arrangement starting from this first time slot, the time slot fluctuation allowable value of the corresponding connection bandwidth information for the connection identification means to be arranged is set. Set,
When distributing the connection identification means connected in a list form and arranging them in time slots within an allowable range of placement fluctuation , refer to the information on the allowable value of the connection indicated by the connection identification means included in the list, and The third step of rearranging the connection identification means so that the allowable value is in ascending order, and the second and subsequent ones of the rearranged list are slid to the adjacent rear time slot, and the slide of the connection identification means A fourth step of decreasing the allowable value by the slide timing, and when the connection identifying means is already arranged in the rear time slot at this time, the third and fourth steps are performed again. A cell readout scheduling method characterized by:
スケジューリング単位として単一のコネクションを扱っている部分の代わりに、一つ以上のコネクションにより構成されるコネクショングループをスケジューリング単位として扱う請求項2記載のセル読出スケジューリング方法。  3. The cell read scheduling method according to claim 2, wherein instead of a part handling a single connection as a scheduling unit, a connection group constituted by one or more connections is handled as a scheduling unit.
JP2001110378A 2001-04-09 2001-04-09 Cell readout scheduling apparatus and method Expired - Lifetime JP3766603B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001110378A JP3766603B2 (en) 2001-04-09 2001-04-09 Cell readout scheduling apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001110378A JP3766603B2 (en) 2001-04-09 2001-04-09 Cell readout scheduling apparatus and method

Publications (3)

Publication Number Publication Date
JP2002314591A JP2002314591A (en) 2002-10-25
JP2002314591A5 JP2002314591A5 (en) 2004-10-14
JP3766603B2 true JP3766603B2 (en) 2006-04-12

Family

ID=18962165

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001110378A Expired - Lifetime JP3766603B2 (en) 2001-04-09 2001-04-09 Cell readout scheduling apparatus and method

Country Status (1)

Country Link
JP (1) JP3766603B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4806466B2 (en) * 2007-08-22 2011-11-02 日本電信電話株式会社 Path management control method, path management control program, path management control apparatus, and path management control system

Also Published As

Publication number Publication date
JP2002314591A (en) 2002-10-25

Similar Documents

Publication Publication Date Title
JP2991282B2 (en) Cell multiplex conversion method and system for constant, variable, maximum effort data on asynchronous networks
US5938734A (en) Real time stream server for handling a plurality of real time stream data with different data rates
US7817543B2 (en) Regulating data-burst transfer
JP3065983B2 (en) Method and apparatus for scheduling transmission of cells, early deadline first (EDF) scheduler, communication network, multi-layer cell scheduler
US8031598B2 (en) Flow-rate-regulated burst switches
US6590865B1 (en) Transmission system, bandwidth management apparatus, and bandwidth management method
KR100260466B1 (en) Storage-sharing-type distribution multimedia server system
US6907002B2 (en) Burst switching in a high capacity network
CA2196483C (en) Method and apparatus for providing enhanced pay per view in a video server
US5875309A (en) Arbitration system using linked table
EP1223714A2 (en) Methods, systems and computer program products for bandwidth allocation based on throughput guarantees
US20100067536A1 (en) Multimodal Data Switch
WO2005029793A2 (en) Scheduling packet transmissions in a time division multiple access communication system
EP0843499A2 (en) Method and device for the management of resources in ATM technique for weighted fair queuing (WFQ) applications
JP3698079B2 (en) DATA TRANSFER METHOD, DATA TRANSFER DEVICE, AND PROGRAM
JP3766603B2 (en) Cell readout scheduling apparatus and method
EP0737929A2 (en) Stream scheduling system for real time stream server
EP0503212A1 (en) Communications network and method of regulating access to the busses in said network
DE10114795A1 (en) Distributed pipeline timing method and system
JP3446946B2 (en) Data communication system, time slot allocation method, and storage medium storing time slot allocation control program
Ma et al. Efficient scheduling algorithms for real-time service on WDM optical networks
CN113014465A (en) Bus transmission interface system based on quality of service characteristics and design method
JP2004533744A (en) Scheduling fixed rate data slots
US6282198B1 (en) Frequency band control device with cell conflict control
JPH03297245A (en) Cell multiplex equipment

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050315

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050906

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051107

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: 20060124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060127

R151 Written notification of patent or utility model registration

Ref document number: 3766603

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20090203

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100203

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110203

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110203

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120203

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130203

Year of fee payment: 7

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term