JP2011254149A - 情報処理装置、情報処理方法およびプログラム - Google Patents

情報処理装置、情報処理方法およびプログラム Download PDF

Info

Publication number
JP2011254149A
JP2011254149A JP2010124991A JP2010124991A JP2011254149A JP 2011254149 A JP2011254149 A JP 2011254149A JP 2010124991 A JP2010124991 A JP 2010124991A JP 2010124991 A JP2010124991 A JP 2010124991A JP 2011254149 A JP2011254149 A JP 2011254149A
Authority
JP
Japan
Prior art keywords
sequence number
data
priority
pointer
sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010124991A
Other languages
English (en)
Inventor
Takashi Aoki
孝 青木
Akira Onozawa
晃 小野澤
Norihiko Maeda
典彦 前田
Yusuke Sekihara
悠介 関原
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 JP2010124991A priority Critical patent/JP2011254149A/ja
Publication of JP2011254149A publication Critical patent/JP2011254149A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】優先度別のキューを予め用意できない、多くのデータ系列に対して、読み出しの優先順序を変更可能にした情報処理装置を提供する。
【解決手段】複数のキューを単一のメモリで構成する情報処理装置であって、データを蓄積するメモリの領域と各キューの対応関係を記憶するポインタリストと、蓄積された各データについて、データ毎に異なる系列番号、ポインタリストにおいてキューの先頭を示すポインタ、直前の優先度を有するデータの系列番号である直前番号、および直後の優先度を有するデータの系列番号である直後番号を対応付けて記憶する優先度リストとを含む記憶部と、データの優先度の変更情報に基づいて、優先度リスト中の直前番号および直後番号を書き換える制御部とを有する。
【選択図】図1

Description

本発明は、複数種類のデータを優先度に応じて送出する情報処理装置、情報処理方法、およびその方法をコンピュータに実行させるためのプログラムに関する。
通信ネットワーク内のルータは、データが外部から入力されると、入力された順にデータを外部に転送するが、音声や動画など、リアルタイム性が要求されるデータを受信すると、これらのデータを優先的に転送する。その方法の一例として、データ系列を優先度に応じて何種類か既定しておき、その種類数分のキューをルータのメモリとして予め用意し、到着したデータ系列を種類毎に分類して蓄積し、各キューからどのくらいデータを送出するかを優先度の応じて決めるという方法がある。この方法では、予めキューを用意した本数分について、優先度の入れ替えを行うことは可能であった。
上述のルータの一例となる情報処理装置について説明する。図8は関連する情報処理装置の一構成例を示すブロック図である。
図8に示すように、情報処理装置100は、入力バッファ20と、出力バッファ30と、記憶部140と、情報処理部150とを有する。記憶部140は、データを保存するためのデータメモリ142−1〜142−n(nは2以上の整数)を有する。データメモリ142−1〜142−nのそれぞれがキューに相当する。情報処理部150は、系列番号抽出部151と、優先度別書き込み部152と、優先度別読み出し部153と、制御部154とを有する。
一連のデータからなるデータ系列が入力バッファ20を介して入力されると、系列番号抽出部151は、その系列番号を抽出して制御部154に渡す。優先度別書き込み部152は、入力バッファ20からデータ系列を受け取ると、制御部154から受け取る系列番号とデータ系列を対応づけ、優先度にしたがってデータメモリ142−1〜142−nのいずれかに格納する。データメモリ142−1〜142−nのそれぞれは、異なる優先度が既定されたキューとして機能する。
優先度別読み出し部153は、データメモリ142−1〜142−nの各データメモリからどのくらいの頻度で、または、どのくらい連続的に読み出すかという、制御部154からの指示にしたがって、データ系列を読み出して出力バッファ30を介して送出する。
"コンフィグレーションガイドVol.2 4.1.3−スケジューリング"、[online]、NECホームページ、[平成22年4月5日検索]、インターネット<URL:http:// www.nec.co.jp/ ip88n/ s24_sw/ html/ cfguide2/ cfguide2- chap4- 05.html> "ユニファイドコミュニケーションへの道 第2回−音質の良いネットワーク"、[online]、NORTELホームページ、[平成22年4月5日検索]、インターネット<URL:http:// www.nortel.com/ promotions/ japan/ column/ uc/ qos_jp.html>
図8を参照して説明した方法では、予め用意した本数分のキューについて、キュー毎に優先度を入れ替えることが可能である。しかし、データ系列の種類数が多く、キューの本数を予め決められない、つまり、優先度別のキューを予め用意しておくことができないような、非常に多くのデータ系列に対しては、読み出しの優先順序を制御することはできなかった。
本発明は上述したような技術が有する問題点を解決するためになされたものであり、優先度別のキューを予め用意できない、多くのデータ系列に対して、読み出しの優先順序を変更可能にした情報処理装置、情報処理方法、およびその方法をコンピュータに実行させるためのプログラムを提供することを目的とする。
上記目的を達成するための本発明の情報処理装置は、複数のキューを単一のメモリで構成する情報処理装置であって、
データを蓄積するメモリの領域と各キューの対応関係を記憶するポインタリストと、蓄積された各データについて、データ毎に異なる系列番号、前記ポインタリストにおいてキューの先頭を示すポインタ、直前の優先度を有するデータの系列番号である直前番号、および直後の優先度を有するデータの系列番号である直後番号を対応付けて記憶する優先度リストと、を含む記憶部と、
データの優先度の変更情報に基づいて、前記優先度リスト中の前記直前番号および前記直後番号を書き換える制御部と、
を有する構成である。
また、本発明の情報処理方法は、複数のキューを有する単一のメモリに保存されるデータの優先度を制御するための情報処理方法であって、
データを蓄積するメモリの領域と各キューの対応関係を記憶するポインタリストを作成し、
蓄積された各データについて、データ毎に異なる系列番号、前記ポインタリストにおいてキューの先頭を示すポインタ、直前の優先度を有するデータの系列番号である直前番号、および直後の優先度を有するデータの系列番号である直後番号を対応付けて記憶する優先度リストを作成し、
データの優先度の変更情報に基づいて、前記優先度リスト中の前記直前番号および前記直後番号を書き換えるものである。
さらに、本発明のプログラムは、複数のキューを有する単一のメモリに保存されるデータの優先度を制御するコンピュータに実行させるためのプログラムであって、
データを蓄積するメモリの領域と各キューの対応関係を記憶するポインタリストを作成し、
蓄積された各データについて、データ毎に異なる系列番号、前記ポインタリストにおいてキューの先頭を示すポインタ、直前の優先度を有するデータの系列番号である直前番号、および直後の優先度を有するデータの系列番号である直後番号を対応付けて記憶する優先度リストを作成し、
データの優先度の変更情報に基づいて、前記優先度リスト中の前記直前番号および前記直後番号を書き換える処理を前記コンピュータに実行させるものである。
本発明によれば、優先度別のキューを予め用意しておくことができないような、非常に多くのデータ系列に対しても、その優先度を変更することができ、また、優先度をつけて送出することができる。
本実施形態の情報処理装置の一構成例を示すブロック図である。 本実施形態のポインタリストを説明するための図である。 本実施形態の優先度リストの一例を示す図である。 本実施形態の情報処理方法の手順を示すフローチャートである。 優先度リストにデータを追加する場合の一例を説明するための図である。 優先度リストにおいてデータの優先順序を変更する場合の一例を説明するための図である。 優先度リストから優先度の情報を削除する場合の一例を説明するための図である。 関連する情報処理装置の一構成例を示すブロック図である。
本実施形態の情報処理装置の構成を説明する。図1は本実施形態の情報処理装置の一構成例を示すブロック図である。
図1に示すように、情報処理装置10は、入力バッファ20と、出力バッファ30と、記憶部40と、情報処理部50とを有する。記憶部40は、データを記録するためのデータメモリ42と、記録したデータを管理するためのデータ管理メモリ44とを有する。データメモリ42には、外部から入力されるデータを格納するための区分領域が複数設けられている。データ管理メモリ44には、ポインタリストおよび優先度リストが格納される。
入力バッファ20は外部から信号線を介して入力されるデータを情報処理部50に渡す。出力バッファ30は情報処理部50から受け取るデータを信号線を介して外部に送信する。以下に、各構成について詳細に説明する。
図1に示したデータ管理メモリ44に格納されるポインタリストについて説明する。ポインタリストは、各データ系列のデータがデータメモリ42のどこに記録されているかを示す表である。
図2(a)はポインタリストの一例を示す図である。この場合のデータ保存方法では、各データ系列のデータはデータメモリ42内の複数の区分領域にランダムに分割されて格納されている。
図2(a)に示すリストでは、各要素に、データの格納されているアドレスと、次に読みにいくアドレスが組になって記述されている。例えば、図2(a)の第1の要素では、あるデータ系列について、データの先頭部分がアドレス0110の区分領域に格納され、次のデータ部分がアドレス0120に格納されていることを示している。データの先頭部分のアドレスをポインタと称する。図2(a)に示す「0110」がこのデータ系列のポインタに相当する。ポインタは、データメモリ42に蓄積されたデータ系列の数だけポインタリストに記録される。
図2(a)は、あるデータ系列について、データの先頭部分がアドレス0110の区分領域に格納され、以下、アドレス0120、0143、0167の順にそれぞれの区分領域にデータが分割されて格納され、アドレス0167の区分領域に最後のデータ部分が格納されていることを示している。データ系列のデータがデータメモリ42内でランダムに格納されていても、ポインタリストを参照することで、データ系列毎にデータを読み出すことが可能となる。
図2(b)は別のポインタリストを示す図である。この場合のデータ保存方法では、各データ系列のデータがデータメモリ42内で連続して格納されている。図2(b)に示すポインタリストは、各データ系列の先頭アドレスに相当するポインタのみを記録した表である。この表では、あるデータ系列のポインタが0100であり、別のデータ系列のポインタが0112であることを示している。データ系列毎にまとまってデータメモリ42に格納されているので、データ系列の最初の区分領域のアドレスがわかれば、データ系列毎にデータを読み出すことが可能となる。
図2(a)に示すデータ保存方法では、上述したように、データ系列のデータをデータメモリ42内にランダムに格納することができるだけでなく、データ系列のデータ量がデータ系列毎に異なっている場合にも対応可能であり、メモリを有効に活用することができる。一方、図2(b)に示すデータ保存方法では、1つ分のデータ系列のデータ量が決まっている場合に有効であり、データメモリ42内に隙間なくデータを保存することが可能となる。
図2(a)および図2(b)のいずれの場合でも、1つのデータ系列が記録される領域が1つのキューに相当する。以下では、データ保存方法およびポインタリストが図2(a)で説明した場合として説明する。
なお、データ系列毎に異なる系列番号をiとし、データ系列iのポインタをhead(i)と表す。外部から入力バッファ20にデータが入力される際、そのデータの前後のデータで、一連の系列をなすものには同一の系列番号が付与される。
次に、図1に示したデータ管理メモリ44に格納される優先度リストについて説明する。
図3は優先度リストの一例を示す図である。図3の右側に優先度リストの一例を示し、図3の左側には、その優先度リストに対応するポインタリストを示している。ここでは、各データ系列の系列番号を優先度リストのアドレスとして、そのまま使用している。
図3の左側に示すポインタリストには、2つのデータ系列についてメモリでの格納状況が記述されている。2つのデータ系列のそれぞれのポインタを丸で囲んでいる。ポインタが0100のデータ系列は、0100、0137、0148、0177、・・・の各アドレスが示す区分領域に順に格納されている。このデータ系列の系列番号を0100とする。また、ポインタが0112のデータ系列は、0112、0124、0163、・・・の各アドレスが示す区分領域に順に格納されている。このデータ系列の系列番号を0110とする。
図3の右側に示す優先度リストは、各アドレス(各系列番号)に対応して、3つのフィールドを持つ表形式である。各要素は、系列番号iをアドレスとして、3つのフィールド、
1:PR_L(i):ポインタ(ポインタリストに記述されたポインタと対応)
2:PR_N(i):次の系列番号(優先度リスト内の次の優先度のデータ系列を示す)
3:PR_P(i):前の系列番号(優先度リスト内の前の優先度のデータ系列を示す)
から構成される。これらの全てフィールドの初期値は、特別な値NULLとする。第1のフィールドには、上述のhead(i)が記録される。
系列番号iのデータ系列の直後の優先度にPR_N(i)の系列番号のデータが位置づけられ、系列番号iのデータ系列の直前の優先度にPR_P(i)の系列番号のデータが位置づけられている。以下では、PR_N(i)を、系列番号iのデータ系列に対して、直後の優先度を有するデータの系列番号である直前番号と称する。また、PR_P(i)を、系列番号iのデータ系列について、直前の優先度を有するデータの系列番号である直前番号と称する。
図3の優先度リストから、例えば、系列番号i=0110の要素では、PR_L(0110)はポインタ0112を意味し、PR_N(0110)は次の系列番号0120を意味し、PR_P(0110)は前の系列番号0100を意味していることがわかる。最優先ポインタは最優先の系列番号を示し、最優先ポインタレジスタは最優先の系列番号を保持している。最優先ポインタレジスタ(不図示)はデータ管理メモリ44内に設けられている。図3では、最優先ポインタを破線枠で囲んで表示し、系列番号0100が最優先ポインタであることを示している。最優先ポインタをPR_0と表す。
次に、図1に示した情報処理部50について説明する。
情報処理部50は、系列番号抽出部51と、書き込み制御部52と、読み出し制御部53と、制御部54とを有する。また、制御部54には、プログラムにしたがって処理を実行するCPU(Central Processing Unit)(不図示)と、プログラムを格納するためのメモリ(不図示)とが設けられている。
系列番号抽出部51は、入力バッファ20を介してデータ系列を受信すると、系列番号を抽出して制御部54に渡す。その際、そのデータの前後のデータで、一連の系列をなすものには同一の系列番号を付与する。なお、系列番号抽出部51が系列番号を優先度リストのアドレスとして使用可能な番号として付与しているが、系列番号と優先度リストのアドレスが相互に1対1対応できるようになっていれば、他の外部的手段によって付与されてもよい。
書き込み制御部52は、入力バッファ20からデータ系列を受け取り、制御部54から系列番号を受け取ると、データ系列をデータメモリ42の複数の区分領域に分割して格納し、各区分領域のアドレスと系列番号を制御部54に通知する。
読み出し制御部53は、アドレスの情報およびデータ読み出しの指示を含む読み出し信号を制御部54から受信すると、アドレスに格納されたデータをデータメモリ42から読み出して出力バッファ30に渡す。
なお、データの読み出しは、優先度の高い順から低い順に、データ系列単位で読み出してもよく、各データ系列の区分領域単位で読み出してもよい。このことを、図3に示したポインタリストおよび優先度リストの例で説明する。
図3では、読み出しの優先順位はポインタ0100のデータ系列の次がポインタ0112のデータ系列である。データの読み出し方法として、データ系列単位で読み出す場合、アドレス0100→0137→・・・→(END)の順で系列番号0100のデータ系列を読み出し、次に、アドレス0112→0124→・・・→(END)の順でデータ系列0110のデータ系列を読み出すことになる。データの別の読み出し方法として、各データ系列の区分領域単位で読み出す場合、アドレス0100→0112→0137→0124→・・・→(END)→(END)の順で複数のデータ系列のデータを交互に読み出すことになる。この場合、優先度が高いほど、1回に読み出すデータの区分領域の数を多くしてもよい。
制御部54は、複数の区分領域のアドレスと系列番号の情報を書き込み制御部52から受け取ると、それらの情報をデータ管理メモリ44のポインタリストに記録し、データ系列の優先順序に関する情報を、図3に示したように優先度リストに記録し、最優先ポインタをデータ管理メモリ44内のレジスタに記録する。
データ系列の優先順序は、通常、入力された順に出力するように決まるが、データの種類に対応して予め優先度が決められていてもよい。この場合、制御部54は、入力されるデータ系列の種類を認識し、認識した種類の優先度に応じて、図3に示した優先度リストを作成する。
また、制御部54は、データの優先度の変更情報があると、変更情報に基づいて、優先度リスト中の直前番号および直後番号を書き換える。その際、最優先ポインタが変更される場合には、制御部54は、最優先ポインタレジスタの内容も書き換える。さらに、制御部54は、優先度リストの優先順序にしたがって、読み出し信号を読み出し制御部53に送信する。
データの優先度の変更情報は、制御部54がデータから認識するものであってもよく、外部から入力されるものでもよい。データの優先度の変更情報は、データが追加された場合の追加情報、蓄積されたデータの優先度を変更する場合の順序変更情報、データを削除する場合の削除情報などがある。ここで言う、データの追加および削除は、データの優先度の変更を伴うものである。
制御部54が認識する変更情報の一例として、データメモリ42に複数のデータ系列を格納した後、リアルタイム性が要求されるデータがデータメモリ42内にあることを制御部54が認識した場合、リアルタイム性が要求されるデータが追加して蓄積された場合などが考えられる。
本実施形態の情報処理装置は、データの系列数が、その本数分のキューを予め用意しておくには多すぎるような場合にも、読み出しの優先度を調節できるという特徴がある。
なお、本実施形態では、系列番号抽出部51、書き込み制御部52および読み出し制御部53は、それぞれの仕様に合わせたゲートアレイのような専用回路で構成されているが、制御部54と同様に、CPUがプログラムを実行することで仮想的に構成されてもよい。
次に、本実施形態の情報処理装置による情報処理方法を説明する。図4は本実施形態の情報処理方法の手順を示すフローチャートである。
データ系列が入力バッファ20を介して入力されると、系列番号抽出部51がデータ系列から系列番号iを抽出し、書き込み制御部52は、データ系列をデータメモリ42の区分領域に格納する(ステップ101)。制御部54は、データ系列が格納された各区分領域のアドレスをポインタリストに記録する(ステップ102)。また、制御部54は、データ系列iについて、PR_L(i)を優先度リストに記録する。具体的には、優先度リストのアドレスiの第1のフィールドの要素をNULLからポインタリストの先頭アドレスhead(i)に更新、すなわち、PR_L(i)=head(i)とする。また、制御部54は、データ系列iについて、PR_N(i)およびPR_P(i)を優先度リストに記録する(ステップ102)。
制御部54は、優先度の変更情報があるか否かを判定し(ステップ103)、変更情報がなければ、読み出し信号を読み出し制御部53に送信する。読み出し制御部53は、読み出し信号にしたがって、データメモリ42からデータを読み出して出力バッファ30を介して出力する(ステップ105)。
一方、ステップ103で、優先度の変更情報がある場合、制御部54は、変更情報にしたがって、少なくとも優先度リスト中の直前番号および直後番号を書き換え、優先度リストを更新する(ステップ104)。その後、ステップ105の処理に進む。
図4に示したステップ104における処理のうち、データを追加する場合、データの優先順序を変更する場合、および、データを削除する場合について具体的に説明する。
はじめに、データの優先度の変更を伴う、データ追加の場合を説明する。
制御部54は、新たにデータ系列が入力されることで、データの優先度の変更を伴う、追加情報を認識すると、以下のようにして、優先度の変更を行う。系列番号iのデータ系列を、p番とn番のデータ系列の間の優先順位に追加する場合、次の手順をとる。
PR_L(i)=head(i); ・・・式(1)
PR_P(i)=PR_P(n); ・・・式(2)
PR_N(i)=PR_N(p); ・・・式(3)
PR_P(n)=i; ・・・式(4)
PR_N(p)=i; ・・・式(5)
式(1)〜(5)を用いた具体例を説明する。図5は優先度リストにデータを追加する場合の一例を説明するための図である。図5に示す例では、0200番のデータ系列を0120番と0130番のデータ系列の間の優先順位に追加する場合である。
式(1)から、ポインタPR_L(0200)にhead(0200)が新たに定義される。そして、式(2)および(3)はそれぞれ次のようになる。
PR_P(0200)=PR_P(0130); ・・・式(2)’
PR_N(0200)=PR_N(0120); ・・・式(3)’
式(2)’により、0200番のデータ系列の前に、0130番の1つ前、すなわち0120番のデータ系列が位置づけられる。式(3)’により、0200番のデータ系列の後に、0120番の1つ後、すなわち0130番のデータ系列が位置づけされる。
式(4)および(5)はそれぞれ次のようになる。
PR_P(0130)=0200; ・・・式(4)’
PR_N(0120)=0200; ・・・式(5)’
式(4)’および(5)’から、0130番のデータ系列の前に0200番のデータ系列が位置づけられ、0120番のデータ系列の後に0200番のデータ系列が位置づけられる。制御部54が、上述の手順で処理を実行することで、優先度リストが図3に示したリストから図5に示したリストに更新される。
次に、データの優先順序を変更する場合を説明する。ここでは、最優先のデータ系列を変更する場合とする。
図6は優先度リストにおいてデータの優先順序を変更する場合の一例を説明するための図である。特に、図6は、最優先のデータ系列をどのデータ系列に変更するかを示している。
「最優先のデータ系列を変更する」手順は、
1:最優先ポインタPR_0が指し示す先を変えること、
2:それまで最優先およびそれに引き続く優先度だった系列の優先度をどのようにするか、
の2段階からなる手順である。
上述したように、最優先ポインタPR_0は、最優先の系列番号を示している。第1の段階は、この最優先ポインタPR_0の値を変えることである。図6は、変更前における最優先ポインタの値が0100であり、これが変更前の最優先の系列番号であったが、最優先ポインタが0120に書き換えられた後の状態を示している。この結果、最優先ポインタは、優先度リストのアドレス0120を指し示していることになる。優先度リストのアドレス0120に格納されている、第1のフィールドの値を、特に、この図では示していないが、ポインタリストにおいて、この値は、最優先の系列のポインタリスト構造の開始アドレスを指し示すものである。以上が第1の段階である。
第2の段階には、さまざまな任意性があるが、i番のデータ系列を最優先とし、それまで最優先からi番の1つ前までの全てのデータ系列を、j番のデータ系列と、その次の優先度のデータ系列との間に挿入するという処理は、次の手順をとる(ただし、i =jの場合もあり得る)。
PR_P(PR_0)=j; ・・・式(6)
PR_N(PR_P(i))=PR_N(j); ・・・式(7)
PR_P(PR_N(j))=PR_P(i); ・・・式(8)
PR_N(j)=PR_0; ・・・式(9)
PR_O=i; ・・・式(10)
PR_P(PR_0)=NULL; ・・・式(11)
図6では、0120番のデータ系列を最優先とし、最優先であった0100番のデータ系列およびその次の0110番のデータ系列を0170番と0180番の間の優先度として追加する場合を示している。式(6)〜(9)において、PR_0に0100を代入し、iに0120を代入し、jに0170を代入する。
式(6)により、0100番の前がNULLから0170番に変更される。式(7)の左辺であるPR_N(PR_P(0120))がPR_N(0110)になり、右辺がPR_N(0170)になることから、0110番のデータ系列の次が0120番から0180番のデータ系列に変更される。式(8)では、左辺のPR_P(PR_N(0170))がPR_P(0180)になり、右辺がPR_P(0120)になることから、0180番のデータ系列の前が0170番から0110番のデータ系列に変更される。
式(9)では、左辺がPR_N(0170)となり、右辺が0100となることから、0170番のデータ系列の次が0180番から0100番に変更される。そして、式(10)のiに0120を代入することで、PR_0に0120番が定義され、PR_0が0100番から0120番に変更される。さらに、式(11)の左辺のPR_P(PR_0)には、式(10)でPR_0に定義された0120が代入され、0120番の前が0110番からNULLに変更される。
制御部54が式(6)〜式(11)の手順で処理を実行することで、優先度リストが図3に示したリストから図6に示したリストに更新される。
次に、データの優先度の情報を削除する場合を説明する。例えば、データが削除された後、優先度リストを更新する必要がある。
制御部54は、データ系列が読めない状態になったとき(例えば、読み出す対象がなくなったとき)、次のようにして、その優先度の情報を優先度リストから削除する。
i番のデータ系列の優先度を削除する場合、次の手順をとる。
PR_N(PR_P(i))=PR_N(i); ・・・式(12)
PR_P(PR_N(i))=PR_P(i); ・・・式(13)
PR_N(i)=NULL; ・・・式(14)
PR_P(i)=NULL; ・・・式(15)
図7は優先度リストから優先度の情報を削除する場合の一例を説明するための図である。図7は、0130番のデータ系列の優先度を削除した場合を示す。式(12)〜(15)のiに0130を代入する。
式(12)により、0120番のデータ系列の次が0130番から0140番のデータ系列に変更される。式(13)により、0140番のデータ系列の前が0130番から0120番のデータ系列に変更される。式(14)および(15)により、0130番の次がNULLに変更され、0130番の前がNULLに変更される。制御部54が式(12)〜式(15)の手順で処理を実行することで、優先度リストが図3に示したリストから図7に示したリストに更新される。
本実施形態では、データの記録先を示すポインタリストと優先度の順序を示す優先度リストとを、各データ系列の格納先を示すポインタを介してデータの記録先と優先度を参照可能な双方向リスト構造にして管理している。そのため、多くの種類数、すなわち優先度リストのアドレスの種類数分のデータ系列に対して、それらの優先度を優先度リストで管理することで、優先度の追加や削除を自由に行うことができる。
よって、本実施形態では、優先度別のキューを予め用意しておくことができないような、非常に多くのデータ系列に対しても、優先度を変更することが可能であり、優先度をつけてデータを送出することができる。また、データを蓄積する際に、データの読み出しの優先度を決めておく必要がないので、蓄積したデータの容量などの、偶然性や統計性のある情報に基づいて優先度を変更することも可能になる。
なお、上述の実施形態のようにすることで、優先度リストで系列のリスト順序を変更できるようになるが、このリストに基づいてどのようにデータメモリからデータの読み出しを行うかは、読み出し制御部53の構成で説明したように、任意である。例えば、最優先のデータ系列がなくなるまで、第2の優先度のデータ系列を出さないとするのか、あるいは、第M(Mは2以上の整数)の優先度までの間にどのような比率でデータ送出を行うのか、ということは、本発明とは別に任意に定めることができる。データ送出に関して、これらをどのように定めた場合でも、優先度別にキューを予め用意しておくことができないような、非常に多くのデータ系列に対しても、優先度をつけた送出が可能になるという効果は変わらない。
また、本実施形態では、情報処理装置がルータに代表される中継装置の場合で説明したが、中継装置に限らず、優先度に応じてデータを送出する装置であれば、本発明の情報処理方法を実行することが可能である。
また、本発明の情報処理装置を、コンピュータとプログラムによっても実現でき、そのプログラムを記録媒体に記録することも、ネットワークを介して提供することも可能である。
10 情報処理装置
40 記憶部
42 データメモリ
44 データ管理メモリ
50 情報処理部
51 系列番号抽出部
52 書き込み制御部
53 読み出し制御部
54 制御部

Claims (9)

  1. 複数のキューを単一のメモリで構成する情報処理装置であって、
    データを蓄積するメモリの領域と各キューの対応関係を記憶するポインタリストと、蓄積された各データについて、データ毎に異なる系列番号、前記ポインタリストにおいてキューの先頭を示すポインタ、直前の優先度を有するデータの系列番号である直前番号、および直後の優先度を有するデータの系列番号である直後番号を対応付けて記憶する優先度リストと、を含む記憶部と、
    データの優先度の変更情報に基づいて、前記優先度リスト中の前記直前番号および前記直後番号を書き換える制御部と、
    を有する情報処理装置。
  2. 請求項1記載の情報処理装置において、
    前記変更情報が、新たに入力された、系列番号iのデータを系列番号pと系列番号nの間の優先順序に追加する旨の情報である場合、
    前記制御部は、前記系列番号pの前記直後番号の欄を前記系列番号nから前記系列番号iに書き換え、前記系列番号nの前記直前番号の欄を前記系列番号pから前記系列番号iに書き換えるとともに、前記系列番号iのデータについて、該系列番号iと、前記ポインタと、前記直後番号として前記系列番号nと、前記直前番号として前記系列番号pとを対応づけて前記優先度リストに記述する、情報処理装置。
  3. 請求項1記載の情報処理装置において、
    最優先のデータの系列番号を示す最優先ポインタを保持する最優先ポインタレジスタをさらに有し、
    前記変更情報が、前記最優先ポインタを系列番号xから系列番号iに変更する旨と、該系列番号xから該系列番号iの直前番号に相当する系列番号pまでのデータを、系列番号jから該系列番号jの直後番号に相当する系列番号nの間の優先順序に変更する旨の情報である場合、
    前記制御部は、前記最優先ポインタレジスタに記録された前記系列番号xを前記系列番号iに書き換えるとともに、前記系列番号xの前記直前番号の欄に前記系列番号jを記述し、前記系列番号pの前記直後番号の欄に前記系列番号nを記述し、前記系列番号jの前記直後番号の欄に前記系列番号xを記述し、前記系列番号nの前記直前番号の欄に前記系列番号pを記述する、情報処理装置。
  4. 請求項1記載の情報処理装置において、
    前記変更情報が、系列番号iのデータを削除する旨の情報である場合、
    前記制御部は、前記系列番号iの前記直前番号の欄に記述された系列番号を読み出し、該系列番号の前記直後番号の欄に記述された該系列番号iを該系列番号iにおける前記直後番号に書き換え、前記系列番号iの前記直後番号の欄に記述された系列番号を読み出し、該系列番号の前記直前番号の欄に記述された該系列番号iを該系列番号iにおける前記直前番号に書き換える、情報処理装置。
  5. 複数のキューを有する単一のメモリに保存されるデータの優先度を制御するための情報処理方法であって、
    データを蓄積するメモリの領域と各キューの対応関係を記憶するポインタリストを作成し、
    蓄積された各データについて、データ毎に異なる系列番号、前記ポインタリストにおいてキューの先頭を示すポインタ、直前の優先度を有するデータの系列番号である直前番号、および直後の優先度を有するデータの系列番号である直後番号を対応付けて記憶する優先度リストを作成し、
    データの優先度の変更情報に基づいて、前記優先度リスト中の前記直前番号および前記直後番号を書き換える、情報処理方法。
  6. 請求項5記載の情報処理方法において、
    前記変更情報が、新たに入力された、系列番号iのデータを系列番号pと系列番号nの間の優先順序に追加する旨の情報である場合、
    前記系列番号pの前記直後番号の欄を前記系列番号nから前記系列番号iに書き換え、前記系列番号nの前記直前番号の欄を前記系列番号pから前記系列番号iに書き換え、
    前記系列番号iのデータについて、該系列番号iと、前記ポインタと、前記直後番号として前記系列番号nと、前記直前番号として前記系列番号pとを対応づけて前記優先度リストに記述する、情報処理方法。
  7. 請求項5記載の情報処理方法において、
    最優先のデータの系列番号を示す最優先ポインタを予め記録し、
    前記変更情報が、前記最優先ポインタを系列番号xから系列番号iに変更する旨と、該系列番号xから該系列番号iの直前番号に相当する系列番号pまでのデータを、系列番号jから該系列番号jの直後番号に相当する系列番号nの間の優先順序に変更する旨の情報である場合、
    前記最優先ポインタを前記系列番号xから前記系列番号iに書き換え、
    前記系列番号xの前記直前番号の欄に前記系列番号jを記述し、前記系列番号pの前記直後番号の欄に前記系列番号nを記述し、前記系列番号jの前記直後番号の欄に前記系列番号xを記述し、前記系列番号nの前記直前番号の欄に前記系列番号pを記述する、情報処理方法。
  8. 請求項5記載の情報処理方法において、
    前記変更情報が、系列番号iのデータを削除する旨の情報である場合、
    前記系列番号iの前記直前番号の欄に記述された系列番号を読み出し、該系列番号の前記直後番号の欄に記述された該系列番号iを該系列番号iにおける前記直後番号に書き換え、
    前記系列番号iの前記直後番号の欄に記述された系列番号を読み出し、該系列番号の前記直前番号の欄に記述された該系列番号iを該系列番号iにおける前記直前番号に書き換える、情報処理方法。
  9. 複数のキューを有する単一のメモリに保存されるデータの優先度を制御するコンピュータに実行させるためのプログラムであって、
    データを蓄積するメモリの領域と各キューの対応関係を記憶するポインタリストを作成し、
    蓄積された各データについて、データ毎に異なる系列番号、前記ポインタリストにおいてキューの先頭を示すポインタ、直前の優先度を有するデータの系列番号である直前番号、および直後の優先度を有するデータの系列番号である直後番号を対応付けて記憶する優先度リストを作成し、
    データの優先度の変更情報に基づいて、前記優先度リスト中の前記直前番号および前記直後番号を書き換える処理を前記コンピュータに実行させるためのプログラム。
JP2010124991A 2010-05-31 2010-05-31 情報処理装置、情報処理方法およびプログラム Pending JP2011254149A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010124991A JP2011254149A (ja) 2010-05-31 2010-05-31 情報処理装置、情報処理方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010124991A JP2011254149A (ja) 2010-05-31 2010-05-31 情報処理装置、情報処理方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2011254149A true JP2011254149A (ja) 2011-12-15

Family

ID=45417773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010124991A Pending JP2011254149A (ja) 2010-05-31 2010-05-31 情報処理装置、情報処理方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2011254149A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016195375A (ja) * 2015-03-31 2016-11-17 エックスプライアント, インコーポレイテッド 複数のリンクされるメモリリストを利用する方法および装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0496546A (ja) * 1990-08-13 1992-03-27 Fujitsu Ltd 待ち行列バッファ構成方式
JPH07147590A (ja) * 1993-06-30 1995-06-06 Internatl Business Mach Corp <Ibm> 高速パケット伝送ネットワーク用プログラマブル高性能データ通信アダプタ
JP2004120047A (ja) * 2002-09-24 2004-04-15 Hitachi Ltd 通信ノード装置
WO2004066571A1 (ja) * 2003-01-20 2004-08-05 Fujitsu Limited ネットワークスイッチ装置およびネットワークスイッチ方法
WO2004066570A1 (ja) * 2003-01-17 2004-08-05 Fujitsu Limited ネットワークスイッチ装置およびネットワークスイッチ方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0496546A (ja) * 1990-08-13 1992-03-27 Fujitsu Ltd 待ち行列バッファ構成方式
JPH07147590A (ja) * 1993-06-30 1995-06-06 Internatl Business Mach Corp <Ibm> 高速パケット伝送ネットワーク用プログラマブル高性能データ通信アダプタ
JP2004120047A (ja) * 2002-09-24 2004-04-15 Hitachi Ltd 通信ノード装置
WO2004066570A1 (ja) * 2003-01-17 2004-08-05 Fujitsu Limited ネットワークスイッチ装置およびネットワークスイッチ方法
WO2004066571A1 (ja) * 2003-01-20 2004-08-05 Fujitsu Limited ネットワークスイッチ装置およびネットワークスイッチ方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016195375A (ja) * 2015-03-31 2016-11-17 エックスプライアント, インコーポレイテッド 複数のリンクされるメモリリストを利用する方法および装置
US10484311B2 (en) 2015-03-31 2019-11-19 Cavium, Llc Method and apparatus for using multiple linked memory lists
US11082366B2 (en) 2015-03-31 2021-08-03 Marvell Asia Pte, Ltd. Method and apparatus for using multiple linked memory lists

Similar Documents

Publication Publication Date Title
JP6535253B2 (ja) 複数のリンクされるメモリリストを利用する方法および装置
JP5328020B2 (ja) メモリ装置及びメモリアクセス方法
US10740006B2 (en) System and method for enabling high read rates to data element lists
US10248350B2 (en) Queue management method and apparatus
US10038571B2 (en) Method for reading and writing forwarding information base, and network processor
TWI720926B (zh) 網路裝置、用於網路裝置之記憶體系統及操作網路裝置之方法
TWI588831B (zh) 非揮發性記憶體加速器及存取加速方法
JP6926953B2 (ja) 情報処理装置、情報処理方法及びプログラム
KR102523418B1 (ko) 프로세서 및 프로세서에서 데이터를 처리하는 방법
JP2012155650A (ja) ルータ及びメニーコアシステム
TWI397285B (zh) 封包轉送方式
JP2005130366A (ja) パケット転送経路制御装置および制御プログラム
JP2011254149A (ja) 情報処理装置、情報処理方法およびプログラム
CN109710547B (zh) 一种工业物联网中的缓冲内存管理设计与实现方法
JP2002290447A (ja) アドレス検索方法、アドレス検索回路、およびアドレス検索プログラム
CN106302259B (zh) 片上网络中处理报文的方法和路由器
JP2007079715A (ja) データ転送方法、プログラムおよび装置
JP5379075B2 (ja) データ入出力装置、データ記憶方法及びプログラム
JP4872857B2 (ja) 記憶制御装置、方法及びプログラム、並びに、情報監視装置
JP4252379B2 (ja) 可変長フレームバッファ装置
JP4391464B2 (ja) 2分木構造の情報を記憶する装置及びヒープ構造の情報を記憶する装置
JP2009088622A (ja) バッファメモリを有するパケット転送装置および方法
JP2020009146A (ja) 共有型fifo装置
CN111131197B (zh) 一种过滤策略管理***及其方法
JP2009123050A (ja) 情報検索装置、及び情報検索装置へのエントリ情報の登録方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120831

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20130304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130809

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140311