JP3301359B2 - リスト管理システム、方法及び記憶媒体 - Google Patents

リスト管理システム、方法及び記憶媒体

Info

Publication number
JP3301359B2
JP3301359B2 JP26738797A JP26738797A JP3301359B2 JP 3301359 B2 JP3301359 B2 JP 3301359B2 JP 26738797 A JP26738797 A JP 26738797A JP 26738797 A JP26738797 A JP 26738797A JP 3301359 B2 JP3301359 B2 JP 3301359B2
Authority
JP
Japan
Prior art keywords
list
counting
elements
list management
value
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 - Fee Related
Application number
JP26738797A
Other languages
English (en)
Other versions
JPH11112564A (ja
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP26738797A priority Critical patent/JP3301359B2/ja
Priority to EP19980118382 priority patent/EP0905619A3/en
Priority to CA 2249082 priority patent/CA2249082C/en
Priority to US09/163,365 priority patent/US6389549B1/en
Publication of JPH11112564A publication Critical patent/JPH11112564A/ja
Application granted granted Critical
Publication of JP3301359B2 publication Critical patent/JP3301359B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、リスト管理システ
ム、方法及びこの方法を実現するためのプログラムを記
憶した記憶媒体に関し、特にリストの並べ替えの作業に
要するオーバーヘッドが小さく、かつLRU(Least Re
cently Used)に方式と同等の機能を得ることができる
ものに関する。
【0002】
【従来の技術】コンピュータシステムにおいて、限られ
た容量の高速メモリを有効に利用する場合など、資源の
量に対して需要が大きい場合に、資源の利用効率を上げ
るため、データベースから検索した個々のデータなどの
資源を利用する単位(以下、プロセスと呼ぶ)での資源
の実際の使用実績に基づいて資源を割り当てる方法が知
られている。このようなプロセスによる資源の使用(以
下、参照という)の頻度を測るアルゴリズムとして、L
RU方式が知られている。
【0003】LRU方式では、プロセスの参照頻度を管
理するために、リストが用いられている。プロセスは、
参照される毎にリストの先頭にくる。すなわち、リスト
が先頭から順に1→2→3→4→5→6→7→8→9→
10であるときに、プロセス5が参照されると、リスト
は先頭から順に5→1→2→3→4→6→7→8→9→
10となる。新たなプロセス11が参照されたときに
は、リストの最後尾にある最も長い間参照されなかった
プロセス10が追い出される。
【0004】
【発明が解決しようとする課題】このようにLRU方式
では、プロセスが参照される度に、LRU用のリスト管
理のためのプログラムを起動し、リストを並び替えなけ
ればならない。このプログラムは、参照したプロセスが
リスト中のどこに存在するかを検索し、その前後のプロ
セス同士を探してリストでつなぎ、さらに、参照したプ
ロセスをリストの先頭につなぐという一連の作業を要す
る。従って、このリスト管理のためのプログラムのオー
バーヘッドが大きくなり、本来のプロセスの処理能力が
低下することとなる。
【0005】また、パケット送信においては、データは
所定長のパケットを単位として送信される。このパケッ
トには、最終送信先のデータが含まれており、パケット
交換網内の各パケット交換機は、この最終送信先のデー
タから受信したパケットを送出すべきパケット交換機を
決定し、決定したパケット交換機に対して送出する。
【0006】ところで、パケット送信において送信すべ
きデータは、1つ1つのパケットの長さを越えるときが
多い。この場合には、送信すべきデータは複数のパケッ
トに分割され、それぞれに同一の最終送信先がデータと
して割り付けられる。そして、これらの複数のパケット
が次々と送信される。つまり、各パケット交換機は、1
つのパケットを受信した後に、それと同一の最終送信先
のデータを有するパケットを受信する可能性が非常に大
きい。従って、次々と連続的に受信する同一の最終送信
先のデータを有するパケットに対して、送出先のパケッ
ト交換機をいかに高速に決定するかが、パケット交換機
の能力を向上させるために非常に重要な課題となってい
る。
【0007】本発明は、上記従来技術の問題点を解消す
るためになされたものであり、リストの並べ替えの作業
に要するオーバーヘッドが小さく、かつLRU方式と同
等の機能を得ることができるリスト管理システム、方法
及びこの方法を実現するためのプログラムを記憶した記
憶媒体を提供することを目的とする。
【0008】
【0009】
【課題を解決するための手段】上記目的を達成するた
め、本発明の第1の観点にかかるリスト管理システム
は、所定の時間間隔を計測し、この所定の時間間隔を計
時する毎に信号を発生する計時手段と、資源を利用する
利用単位毎に設けられ、前記利用単位が参照される毎
に、参照された前記利用単位に対応するものがカウント
する複数のカウント手段と、前記資源を利用する前記利
用単位に対応する複数の要素をポインタでつないだリス
トと、前記計時手段が前記信号を発生したときに、前記
複数のカウント手段のそれぞれがカウントしている値に
基づいて、前記リストの前記複数の要素を並べ替えるリ
スト管理手段と、を備えることを特徴とする。
【0010】このリスト管理システムにおいて、前記リ
スト管理手段は、前記複数のカウント手段がカウントし
た値によって示される前記利用単位毎の参照頻度順に従
って、対応する要素を並べ替える手段を有するものとす
ることができる。
【0011】このリスト管理システムは、前記リスト管
理手段が前記計時手段が所定の時間間隔を計時する毎
に、前記リストの要素を並び替える。この所定の時間間
隔では、通常、前記利用単位が何回か参照されるだけの
十分な時間が選ばれる。一方、前記複数のカウント手段
のそれぞれがカウントするために必要となる時間は、前
記リスト管理手段が前記複数の要素を並び替える時間に
比べると遙かに小さい。このため、前記利用単位が参照
される度にリストの要素が並び替えられる従来例に比べ
ると、リストの並び替えのために要するオーバーヘッド
がかなり小さくなる。一方、この場合も、前記複数のカ
ウント手段がカウントした値によって、適切なタイミン
グで前記要素を対応する利用単位の参照頻度順に並び替
えることができ、前記利用単位をその参照頻度順に管理
するLRU方式による場合とほぼ同様の機能が得られ
る。
【0012】なお、このリスト管理システムにおいて、
前記資源とは、例えば、高速の記憶装置のことをいう。
また、前記利用単位とは、より低速の記憶装置から読み
出され、その一部が次の読み出しのために高速の記憶装
置の置かれるデータ、或いは仮想記憶方式におけるペー
ジやキャッシュメモリにおけるブロックが対応する。
【0013】上記リスト管理システムは、前記リスト管
理手段が前記複数の要素のそれぞれを並べ替えた後に、
前記複数のカウント手段のそれぞれがカウントした値を
クリアするクリア手段をさらに備えるものとしてもよ
い。
【0014】このクリア手段によって、前記複数のカウ
ント手段がそれぞれカウントした値をクリアすることに
よって、前記所定の時間間隔内での前記利用単位の参照
頻度に応じて、前記リストの要素が並び替えられること
となる。
【0015】上記リスト管理システムは、前記複数のカ
ウント手段のそれぞれがカウントした値に基づいて、前
記計時手段が計測する前記所定の時間間隔を調整する調
整手段をさらに備えるものとしてもよい。
【0016】この調整手段は、例えば、前記カウント手
段のそれぞれがカウントした値が前記利用単位の参照頻
度が所定の値よりも少ないことを示す場合には、前記所
定の時間間隔を長く、参照頻度が所定の値よりも多いこ
とを示す場合は、前記所定の時間間隔を短く調整するこ
とができる。これにより、前記利用単位の参照頻度が適
切な回数となる場合毎に、前記リストの要素を並び替え
ることができるようになる。
【0017】上記リスト管理システムは、前記資源を利
用する前記利用単位毎に設けられ、前記利用単位が参照
されることによって、前記利用単位に参照されるものが
セットされる複数のフラグをさらに備えるものであって
もよい。この場合、前記リスト管理手段は、前記複数の
フラグのうちのセットされているフラグに対応する前記
複数のカウント手段のそれぞれがカウントしている値に
基づいて、前記リストの前記複数の要素を並べ替えるも
のとすることができる。
【0018】この場合、前記リスト管理手段は、前記複
数のフラグとセットられているフラグに対応するカウン
タのカウント値だけを読み出せばよい。このため、リス
トの要素の並べ替えのために読み出しが必要となるデー
タの量をより少なくすることができ、リストの要素の並
べ替えの処理を速くすることができる。
【0019】また、上記リスト管理システムにおいて、
前記計時手段は、第1の時間間隔と第2の時間間隔とを
計測し、前記第1の時間間隔を計測する毎に第1の信号
を発生する手段と、前記第2の時間を計測する毎に第2
の信号を発生する手段とを有するものとしてもよい。こ
の場合、例えば、前記リスト管理手段は、前記計時手段
が前記第1、第2の信号のいずれかを発生したときに、
前記複数のカウント手段のそれぞれがカウントしている
値に基づいて、前記リストの前記複数の要素のそれぞれ
を並べ替え、前記クリア手段は、前記リスト管理手段が
前記第1の信号によって前記複数の要素のそれぞれを並
べ替えた後には、前記複数のカウント手段のそれぞれが
カウントした値をクリアし、前記リスト管理手段が前記
第2の信号によって前記複数の要素のそれぞれを並べ替
えた後には、前記複数のカウント手段のそれぞれがカウ
ントした値をクリアしないものとすることができる。
【0020】この場合、リストの要素の並び替えは、前
記第1、第2のいずれの信号の発生によってもなされる
ので、リストの要素のつなぎ順は頻繁に更新される。一
方、カウンタのクリアは、前記第1の信号が発生した場
合のみである。従って、いずれかの信号の発生間隔より
長い前記第1の時間間隔における前記利用単位のそれぞ
れの参照回数に基づいて、リストの要素を並べ替え得る
ことができる。
【0021】このように前記計時手段が前記第1、第2
の2種類の信号を発生するものとした場合、上記リスト
管理システムは、前記複数のカウント手段のそれぞれが
カウントした値に基づいて、前記計時手段が計測する前
記第1、第2の時間間隔の少なくとも一方を調整する調
整手段をさらに備えるものとすることができる。
【0022】この場合、上記リスト管理システムは、前
記調整手段が調整した前記第1の時間間隔と前記第2の
時間間隔とを比較する比較手段と、前記比較手段の比較
結果に基づいて、前記計時手段による前記第2の信号の
発生をオンまたはオフする手段と、をさらに備えるもの
としてもよい。
【0023】これにより、例えば、前記第1の時間間隔
が前記第2の時間間隔よりも長くなると調整された場合
のみに、前記計時手段による前記第2の信号の発生をオ
ンさせるということも可能となる。このため、前記第2
の時間間隔が短く調整された場合に、リストの並び替え
を頻繁に行う必要がなくなる。
【0024】なお、上記リスト管理システムにおいて、
前記リストは、前記複数のカウント手段のカウントした
値が同一である要素がある場合に、前記リスト管理手段
が要素を並べ替える前の順序に従って、該カウントした
値が同一である要素の順序が定められるものとしてもよ
く、前記複数のカウント手段のカウントした値が同一で
ある要素がある場合に、該要素間に順序が定められない
ものとしてもよい。
【0025】上記目的を達成するため、本発明の第2の
観点にかかるリスト管理システムは、資源を利用する利
用単位が前記資源を利用するための処理を実行する処理
装置を備えるリスト管理システムであって、所定の時間
間隔を計測し、この所定の時間間隔を計時する毎に信号
を発生する計時手段と、前記資源を利用する利用単位毎
に設けられた複数のカウント手段と、前記資源を利用す
る前記利用単位に対応する複数の要素をポインタでつな
いだリストと、をさらに備え、前記処理装置は、前記利
用単位が前記資源を利用する度に、前記複数のカウント
手段のうち前記資源を利用した前記利用単位に対応する
カウント手段をカウントさせる処理と、前記計時手段が
前記信号を発生したときに、前記複数のカウント手段の
それぞれがカウントしている値に基づいて、前記リスト
の前記複数の要素を並べ替える処理と、をさらに実行す
る、ことを特徴とする。
【0026】上記目的を達成するため、本発明の第3の
観点にかかるリスト管理システムは、資源を利用する利
用単位が前記資源を利用するための処理を実行する処理
装置を備えるリスト管理システムであって、前記処理装
置の動作状態を識別し、識別した動作状態が所定の状態
となっているときに信号を発生する動作状態識別手段
と、前記資源を利用する利用単位毎に設けられた複数の
カウント手段と、前記資源を利用する前記利用単位に対
応する複数の要素をポインタでつないだリストと、をさ
らに備え、前記処理装置は、前記利用単位が前記資源を
利用する度に、前記複数のカウント手段のうち前記資源
を利用した前記利用単位に対応するカウント手段をカウ
ントさせる処理と、前記動作状態識別手段が前記信号を
発生したときに、前記複数のカウント手段のそれぞれが
カウントしている値に基づいて、前記リストの前記複数
の要素を並べ替える処理と、をさらに実行する、ことを
特徴とする。
【0027】この第3の観点にかかるリスト管理システ
ムにおいて、前記動作状態識別手段は、前記処理装置が
前記利用単位による前記資源の利用のための処理が所定
時間以上実行されていないときに、前記信号を発生する
ものとすることができる。
【0028】なお、上記第2、第3の観点にかかるリス
ト管理システムにおいて、前記処理装置は、前記リスト
の前記複数の要素を並べ替える処理を実行した後に、前
記複数のカウント手段のそれぞれがカウントした値をク
リアする処理をさらに実行するものとしてもよい。
【0029】上記目的を達成するため、本発明の第4の
観点にかかるリスト管理方法は、資源を利用する利用単
位に対応する複数の要素をポインタでつないだリストを
管理するためのリスト管理方法であって、所定の時間間
隔を計測する計時ステップと、前記計時ステップで前記
所定の時間間隔を計測する間における前記資源を利用す
る前記利用単位が参照された回数を前記利用単位毎にカ
ウントするカウントステップと、前記計時ステップが前
記所定の時間間隔を計時する毎に、前記カウントステッ
プでカウントした前記利用単位の参照回数に基づいて、
前記リストの要素を並び替えるリスト管理ステップと、
を含むことを特徴とする。
【0030】上記目的を達成するため、本発明の第5の
観点にかかるリスト管理方法は、資源を利用する利用単
位に対応する複数の要素をポインタでつないだリストを
管理するためのリスト管理方法であって、前記資源を利
用する前記利用単位が参照された回数を前記利用単位毎
にカウントするカウントステップと、前記利用単位のい
ずれもが参照されていない状態が所定時間以上継続して
いるかどうかを調べる調査ステップと、前記調査ステッ
プで調べた前記利用単位のいずれもが参照されていない
状態が所定時間以上であるときに、前記カウントステッ
プでカウントした前記利用単位の参照回数に基づいて、
前記リストの要素を並び替えるリスト管理ステップと、
を含むことを特徴とする。
【0031】上記目的を達成するため、本発明の第6の
観点にかかる記憶媒体は、資源を利用する利用単位に対
応する複数の要素をポインタでつないだリストを管理す
るためのプログラムを記憶した記憶媒体であって、前記
プログラムは、所定の時間間隔を計測する計時ステップ
と、前記計時ステップで前記所定の時間間隔を計測する
間における前記資源を利用する前記利用単位が参照され
た回数を前記利用単位毎にカウントするカウントステッ
プと、前記計時ステップが前記所定の時間間隔を計時す
る毎に、前記カウントステップでカウントした前記利用
単位の参照回数に基づいて、前記リストの要素を並び替
えるリスト管理ステップと、を実現するものである、こ
とを特徴とする。
【0032】上記目的を達成するため、本発明の第7の
観点にかかる記憶媒体は、資源を利用する利用単位に対
応する複数の要素をポインタでつないだリストを管理す
るためのプログラムを記憶した記憶媒体であって、前記
プログラムは、前記資源を利用する前記利用単位が参照
された回数を前記利用単位毎にカウントするカウントス
テップと、前記利用単位のいずれもが参照されていない
状態が所定時間以上継続しているかどうかを調べる調査
ステップと、前記調査ステップで調べた前記利用単位の
いずれもが参照されていない状態が所定時間以上である
ときに、前記カウントステップでカウントした前記利用
単位の参照回数に基づいて、前記リストの要素を並び替
えるリスト管理ステップと、を実現するものである、こ
とを特徴とする。
【0033】
【0034】
【0035】
【0036】
【0037】
【0038】
【0039】
【0040】
【0041】
【0042】
【0043】
【0044】
【0045】
【0046】
【発明の実施の形態】以下、添付図面を参照して、本発
明の実施の形態について説明する。以下の第1〜第6の
実施の形態では、パケット交換機等に設けられているパ
ケットの送信先データを検出するデータ検索装置を例に
して説明する。以下の第7の実施の形態では、ハード的
にパケットの送出先を策出するパケット交換機を例にし
て説明する。
【0047】[第1の実施の形態]図1は、この実施の
形態にかかるデータ検索装置の構成を示すブロック図で
ある。図示するように、このデータ検索装置は、互いに
バス10を介して接続されたCPU(中央処理装置)1
1と、MMU(主記憶装置)12と、磁気ディスク装置
13と、タイマ14と、I/F(インタフェース)15
とから構成されている。
【0048】CPU11は、MMU12に記憶された処
理プログラムを実行すると共に、このデータ検索装置の
各部を制御する。
【0049】MMU12は、半導体メモリによって構成
され、CPU11の処理プログラム(後述するデータ検
索タスク及びリスト管理タスクのプログラムを含む)を
記憶する領域の他に、後述するキャッシュ領域、ビット
マップ及びリストを記憶する領域を有する。
【0050】磁気ディスク装置13は、この実施の形態
で検索対象となるパケットの送信先データをすべて記憶
している。磁気ディスク装置13は、MMU12よりも
記憶容量が大きいが、アクセス時間の点では低速であ
る。
【0051】タイマ14は、例えば、設定値からクロッ
ク入力毎にカウントダウンするダウンカウンタによって
構成されている。タイマ14は、設定値を記憶するため
のレジスタを内部に有する。タイマ14は、カウント値
が0になるとCPU11にトリガ信号を出力すると共
に、レジスタに記憶されている設定値を初期値としてカ
ウンタにセットする。
【0052】I/F15は、パケットの送信先データの
検索の要求の入力したり、検索した送信先データの出力
したりするためのインタフェースである。すなわち、こ
のデータ検索装置へのデータの入出力は、すべてI/F
15を介して行われる。
【0053】この実施の形態のデータ検索装置は、CP
U11がMMU12に記憶された処理プログラムを実行
することによって、図2に示すような機能を実現するも
のである。図2に示すように、このデータ検索装置の機
能は、キャッシュ領域20と、ビットマップ21と、デ
ータ検索タスク22と、リスト管理タスク23と、リス
ト24と、磁気ディスク装置13と、タイマ14とから
構成される。
【0054】キャッシュ領域20は、MMU12内に設
けられ、磁気ディスク13に記憶されているパケットの
送信先データの一部が記憶される領域である。送信先デ
ータの検索が要求されたとき、当該送信先データがキャ
ッシュ領域20に記憶されているときは、このキャッシ
ュ領域から読み出されて出力される。キャッシュ領域2
0に記憶されていない送信先データの場合は、磁気ディ
スク装置13から読み出されてキャッシュ領域20に書
き込まれる。この実施の形態において、キャッシュ領域
20には、パケットの送信先データがその1つ1つを単
位として記憶される。なお、以下の説明において、この
パケットの送信先データの1つ1つが処理の単位となる
ので、これをプロセスと呼ぶ。また、キャッシュ領域2
0からの送信先データを読み出すこと、或いは磁気ディ
スク装置13から送信先データを読み出し、キャッシュ
領域20に書き込むことをプロセスの参照と呼ぶ。
【0055】ビットマップ21は、MMU12内に設け
られ、キャッシュ領域20に記憶された各プロセスに対
応する複数のカウンタによって構成される。ビットマッ
プ21の各カウンタは、対応するプロセスの送信先デー
タに対して検索が実行されると、CPU11の処理によ
って1カウントアップされる。但し、カウンタの値が最
高値(2進4ビットの場合は、1111)となっている
ときは、それ以上カウントアップされない。
【0056】データ検索タスク22は、I/F15を介
して入力されたパケットの送信先データの検索要求に対
して当該データの検索を実行し、検索結果をI/F15
を介して出力するタスクである。データ検索タスク22
は、パケットの送信先データの検索要求に応答して、ま
ず、MMU12に設けられたキャッシュ領域20を調べ
る。当該データがキャッシュ領域20に記憶されていた
場合は、当該データは、キャッシュ領域20から読み出
されて出力される。当該データをキャッシュ領域20か
ら策出することができなかった場合は、データ検索タス
ク22は、さらに、磁気ディスク装置13を調べて当該
データを読み出し、I/F15を介して出力すると共
に、リスト24の最後尾にある要素に対応するプロセス
を追い出し、そこに読み出したデータを新たなプロセス
として書き込む。また、データ検索タスク22は、プロ
セスが参照される毎に、対応するビットマップ21のカ
ウンタをカウントアップする。
【0057】リスト管理タスク23は、タイマ14から
CPU11にトリガ信号が入力される毎に起動される。
リスト管理タスク23は、ビットマップ21の各プロセ
スに対応するカウンタに基づいてリスト24の要素を並
べ替える処理を行い、ビットマップ21をクリアする処
理を行う。
【0058】リスト24は、キャッシュ領域20に記憶
されている(但し、リストの並べ替えの間にプロセスの
追い出しがない場合)プロセスの記憶位置を示すデータ
と次のデータの記憶位置を示すポインタによって各要素
が構成される単方向リストである。リスト24は、キャ
ッシュ領域20に記憶されているプロセスの参照頻度順
に各プロセスに対応する要素を並べて管理するものであ
る。リスト24は、先頭の要素の記憶位置を示すポイン
タを別に有する。
【0059】以下、この実施の形態のデータ検索装置に
おける動作について説明する。I/F15を介してパケ
ットの送信先データの検索要求がCPU11に入力され
ると、CPU11は、データ検索タスク22を起動す
る。
【0060】データ検索タスク22は、まず、当該検索
要求によって要求されたパケットの送信先データがプロ
セスとしてキャッシュ領域20に記憶されているかどう
かを調べる。キャッシュ領域20に該当する送信先デー
タがプロセスとして記憶されていた場合には、データ検
索プロセス22は、その送信先データをI/F15を介
して出力する。これにより、その送信先データのプロセ
スは参照されたこととなるので、ビットマップ21の当
該プロセスに対応するカウンタを1カウントアップす
る。
【0061】データ検索タスク22は、キャッシュ領域
20に該当する送信先データがプロセスとして記憶され
ていなかった場合は、磁気ディスク装置13にアクセス
して、該当する送信先データを読み出す。次に、読み出
した送信先データをどこに記憶するかを定めるため、リ
スト24にアクセスして、その最後尾にある要素に対応
するプロセスを調べる。そして、バッファ領域20の中
で、リスト24の最後尾にあるプロセスを記憶している
領域に読み出した送信先データを上書きする。これによ
り、新たにキャッシュ領域20に書き込まれた送信先デ
ータのプロセスが参照されたこととなる。そこで、ビッ
トマップ21の当該プロセスに対応するカウンタに1を
セットする。
【0062】一方、タイマ14は、クロックに従って設
定値からカウントダウンしていき、その値が0となった
ところでトリガ信号を発生する。このトリガ信号がCP
U11に入力されると、CPU11は、リスト管理タス
ク23を起動する。
【0063】図3は、この実施の形態におけるリスト管
理タスク23の処理を示すフローチャートである。この
フローチャートの処理が開始すると、CPU11は、M
MU12内に記憶されているビットマップを読み出し、
CPU11の内部レジスタに記憶する(ステップS1
1)。
【0064】次に、CPU11は、内部レジスタに記憶
されたビットマップの各プロセスに対応するカウンタの
値を参照して、カウンタの値が大きいものから降順とな
るように、リスト24の要素を並び替える。このリスト
24の要素の並び替えは、例えば、ヒープソート、バブ
ルソートなどの公知のソートアルゴリズムに従って実行
することができる。但し、カウンタの値が同一のプロセ
ス同士では、並び替え前のリスト24でのプロセスの順
番に従うものとする(ステップS12)。
【0065】リスト24の要素の並び替えの処理を終了
すると、MMU12内に記憶されているビットマップを
すべてのビットが0であるデータによって上書きして、
クリアする(ステップS13)。そして、このフローチ
ャートの処理を終了する。
【0066】ここで、例えば、CPU11にトリガ信号
が入力される前、すなわち図3のフローチャートの処理
が実行される前、ビットマップ21の各プロセスに対応
するカウンタの値が、図4(A)に示すとおりであり、
リスト24の状態が図5(A)に示すとおりであったと
する。このとき、プロセスに対応するカウンタの値
が、「0101」で最も大きいので、プロセスに対応
する要素が新たなリストの先頭となる。プロセスとプ
ロセスに対応するカウンタの値が、「0011」で次
に大きいが、並び替え前の状態でプロセスの方が先に
きているので、プロセスに対応する要素が新たなリス
トの2番目、プロセスに対応する要素が3番目とな
る。さらに、対応するカウンタの値に従ってプロセス
に対応する要素が4番目、プロセスに対応する要素が
5番目となるように、リスト24の要素が並び替えら
れ、図5(B)に示すようなリストが新たなリストとし
て生成される(ステップS12)。こうして新たなリス
トが生成されると、図4(B)に示すように、ビットマ
ップ21がクリアされる。
【0067】以上示した処理を何度も繰り返していくう
ちに、参照頻度の小さいプロセスに対応する要素は、リ
スト24の後方へと移動していくこととなる。
【0068】以下、この実施の形態のデータ検索装置に
おける動作の一連の流れを、図6のタイミングチャート
を参照して説明する。なお、このタイミングチャートに
おいては、説明を簡単にするため、各プロセスを参照す
るための時間はすべて同一であり、CPU11は他の処
理を実行しないものとする。また、プロセスの参照は、
すべてキャッシュ領域20に記憶されているパケットの
送信先データの読み出しのみであり、トリガ信号がCP
U11に入力してから次のトリガ信号が入力するまで
に、プロセスのキャッシュ領域20からの追い出しはな
いものとする。
【0069】図示するように、タイミングt00におい
てトリガ信号がタイマ14からCPU11に入力される
と、タイミングt01までの間、CPU11は、リスト
管理タスク23を起動して実行する。リスト管理タスク
23の処理が終了したタイミングt01から次にトリガ
信号がCPU11に入力されるタイミングt10まで、
CPU11は、次々とプロセスの参照を行っている。そ
して、タイミングt10においてトリガ信号が入力され
ると、CPU11は、再びリスト管理タスク23を起動
して、リスト24の要素の並べ替えの処理等を行う。
【0070】これに対し、この実施の形態のデータ検索
装置における効果を示すため、図7のタイミングチャー
トを参照して、比較例として従来例のLRU方式の動作
について説明する。このタイミングチャートにおいて
も、各プロセスを参照するための時間はすべて同一であ
り、CPU11は他の処理を実行しないものとする。ま
た、プロセスの参照は、すべてキャッシュ領域20に記
憶されているパケットの送信先データの読み出しのみで
あり、プロセスのキャッシュ領域20からの追い出しは
ないものとする。
【0071】図示するように、CPU11は、データ検
索タスク22による1回のプロセスの参照が終了する
と、その都度リスト管理タスク23を起動して、リスト
24の要素を並び替える。データ検索タスク22による
1回当たりの処理は、図6の場合に比べて、ビットマッ
プ21のカウンタをカウントアップする処理がないた
め、若干短くできる。
【0072】しかし、図7の処理においては、カウント
アップの処理よりも実行する命令数が遙かに多く、大幅
に処理時間が大きいリスト管理タスク23の処理をプロ
セスを1回参照する都度実行しなければならない。これ
に対し、図6の処理では、複数回のプロセスの参照に対
して、リスト管理タスク23の処理を1回実行すればよ
い。このため、図6の処理では、リスト管理タスク23
のオーバーヘッドが図7に示した場合よりも大幅に小さ
くなる。
【0073】このオーバーヘッドの低減をN個の要素か
らなるリストを例として説明する。要素を先頭に持って
くるためには、ポインタをたどり、当該要素を探す処理
(最大Nステップ)、当該要素の前後の要素のポインタ
をつなぐ処理(1ステップ)、先頭ポインタが当該要素
を指すための処理(1ステップ)、当該要素のポインタ
がそれまで先頭だった要素を指すための処理(1ステッ
プ)の最大N+3ステップが必要となる。一方、ビット
マップのビット操作は、それぞれ1ステップで行うこと
ができる。
【0074】個々で、特定のプロセスが所定時間内に2
0回参照されるとすると、リストの要素の並べ替えのた
めに、この実施の形態の方法では、1×20+N+3=
N+23ステップが必要となる。これに対して、従来の
LRUの手法による場合は、N+3+4×19=N+7
9ステップ必要となる。この結果、この実施の形態の方
法によるオーバーヘッドの低減の効果が表れていること
がわかる。
【0075】以上説明したように、この実施の形態のデ
ータ検索装置では、プロセスの参照頻度を管理するため
のリスト24の要素の並べ替えのための処理のオーバー
ヘッドを小さくすることができ、かつ従来より用いられ
ていたLRU方式による場合とほぼ同一の機能が得られ
る。
【0076】[第2の実施の形態]この実施の形態のデ
ータ検索装置の構成及び動作は、第1の実施の形態のも
のと実質的に同一である。但し、この実施の形態では、
リスト24の構造が異なり、ビットマップ21の各カウ
ンタが示す値が同一であったプロセスには、順序づけを
行わない。また、この実施の形態では、リスト24の構
造が異なるため、リスト管理タスク23における処理が
異なる。
【0077】図8は、この実施の形態におけるリスト2
4の構造を示す図である。図示するように、このリスト
24の各要素は、データ241と、水平ポインタ242
と、垂直ポインタ243とから構成される。また、先頭
の要素の記憶位置を示すための先頭ポインタ240を有
する。データ241には、プロセスの記憶位置が書き込
まれる。このリスト24においては、参照頻度が同一
(ビットマップのカウンタ値が同一)のプロセスは、水
平ポインタ242でつながれる。参照頻度が異なるプロ
セスは、参照頻度順に垂直ポインタ243でつながれ
る。
【0078】以下、この実施の形態におけるリスト管理
タスク23の処理について説明する。図9は、この実施
の形態におけるリスト管理タスク23の処理を示すフロ
ーチャートである。この実施の形態においても、リスト
管理タスク23は、タイマ14からCPU11にトリガ
信号が入力されることによって起動される。
【0079】このフローチャートの処理が開始すると、
CPU11は、MMU12内に記憶されているビットマ
ップ21を読み出し、CPU11の内部レジスタに記憶
する(ステップS11)。
【0080】ビットマップ21の読み出しが終了する
と、CPU11は、ループ1(ステップS21−S2
1’)、ループ2(ステップS22−S22’)の2重
ループの処理を行う。ループ1では、変数を0からビッ
トマップ21の各プロセスに対応するカウンタの最大値
(2進4桁の場合は、「0000」〜「1111」ま
で)まで変化させる。一方、ループ2では、各プロセス
に対応するカウンタを並び順に対応してキャッシュ領域
20に記憶された全プロセス分となるまで、変数を変化
させ、カウンタの値を参照していく。
【0081】ループ1及びループ2内での処理では、C
PU11は、参照したカウンタ値がループ1におけるそ
のときの変数に一致しているかどうかを判定する(ステ
ップS23)。ステップS23でカウンタ値が変数に一
致していると判定したときは、さらに、そのカウンタ値
が当該変数において1番目のものであるかどうかを判定
する(ステップS24)。
【0082】ステップS24で当該変数が1番目のもの
であると判定したときは、前回までの処理によってリス
ト24に接続されている最後の要素の垂直ポインタ24
3が当該プロセスに対応する要素を指し示すよう処理す
る(ステップS25)。そして、そのときの変数による
ループ2の処理を終了する。ステップS24で当該変数
が1番目のものでないと判定したときは、前回までの処
理によってリスト24に接続されている最後の要素の水
平ポインタ242が当該プロセスに対応する要素を指し
示すよう処理する(ステップS26)。そして、そのと
きの変数によるループ2の処理を終了する。
【0083】一方、ステップS23でカウンタ値が変数
に一致していないと判定したときは、そのまま、そのと
きの変数によるループ2の処理を終了する。以上のルー
プ1及びループ2の処理を終了することによって、リス
ト24の要素の並び替えが終了する。
【0084】リスト24の要素の並び替えの処理を終了
すると、MMU12内に記憶されているビットマップを
すべてのビットが0であるデータによって上書きして、
クリアする(ステップS13)。そして、このフローチ
ャートの処理を終了する。
【0085】以上説明したように、この実施の形態で
は、プロセスに対応するカウンタの値が同一である場合
に、それらのプロセスに対応する要素間で順序に差異を
設けない図8に示すようなリスト24を使用した。この
とき、リスト管理タスク23によるリスト24の要素の
並び替えの処理は、2重ループによっているが、ループ
1(ステップS21−S21’)では、変数は0〜カウ
ンタの最大値までである。従って、例えば、ビットマッ
プ21の各カウンタが2進2桁であり、これに対してキ
ャッシュ領域20に記憶されるプロセス数が20ビット
分(約100万個)ある場合には、第1の実施の形態の
場合よりも高速な処理が可能となる。
【0086】[第3の実施の形態]この実施の形態のデ
ータ検索装置の構成及び動作は、第1の実施の形態のも
のと実質的に同一である。但し、この実施の形態では、
タイマ14が有するレジスタにセットする設定値を外部
から変えることができる。また、リスト管理タスク23
は、タイマ14が有するレジスタにセットする設定値を
変えるための処理をさらに備える。リスト管理タスク2
3中のデータには、設定値の初期値と後述する設定値の
増減のための閾値(M)が含まれている。このデータ検
索装置の起動時には、タイマ14が有する内部レジスタ
には、この初期値が書き込まれている。
【0087】図10は、この実施の形態におけるリスト
管理タスク23の処理を示すフローチャートである。こ
の実施の形態においても、リスト管理タスク23は、タ
イマ14からCPU11にトリガ信号が入力されること
によって起動される。このフローチャートの処理が開始
すると、CPU11は、MMU12内に記憶されている
ビットマップ21を読み出し、CPU11の内部レジス
タに記憶する(ステップS11)。
【0088】次に、CPU11は、内部レジスタに記憶
されたビットマップの各プロセスに対応するカウンタの
値を参照して、カウンタの値が大きいものから降順とな
るように、リスト24の要素を並び替える。このリスト
24の要素の並び替えは、例えば、ヒープソート、バブ
ルソートなどの公知のソートアルゴリズムに従って実行
することができる。但し、カウンタの値が同一のプロセ
ス同士では、並び替え前のリスト24でのプロセスの順
番に従うものとする(ステップS12)。
【0089】CPU11は、内部レジスタに記憶された
ビットマップの各プロセスに対応するカウンタの値を参
照して、カウント値が所定数より小さいプロセスの数を
求め、変数mに代入する(ステップS31)。CPU1
1は、ステップS31で求めたプロセスの数mと、リス
ト管理タスク23中のデータに含まれる閾値Mとを比較
する(ステップS32)。
【0090】ステップS32でプロセスの数mが閾値M
より大きいと判定したときは、タイマ14の内部レジス
タに設定された設定値を所定値だけ増加して(ステップ
S33)、ステップS13の処理に進む。ステップS3
2でプロセスの数mが閾値Mと等しいと判定したとき
は、そのままステップS13の処理に進む。ステップS
32でプロセスの数mが閾値Mより小さいと判定したと
きは、タイマ14の内部レジスタに設定された設定値を
所定値だけ減少して(ステップS34)、ステップS1
3の処理に進む。
【0091】ステップS13では、MMU12内に記憶
されているビットマップ21をすべてのビットが0であ
るデータによって上書きして、クリアする。そして、こ
のフローチャートの処理を終了する。
【0092】以上説明したように、この実施の形態のデ
ータ検索装置では、全体でのプロセスの参照の頻度に応
じてタイマ14の内部レジスタに設定する設定値が増減
させられる。このため、プロセスの参照頻度が多いとき
はリスト24の要素の並べ替えの回数を多く、プロセス
の参照頻度が少ないときはリスト24の要素の並べ替え
の回数が少なくなる。従って、全体でのプロセスの参照
の頻度に応じて、最適なタイミングでリスト24の要素
を並び替えることができる。
【0093】[第4の実施の形態]この実施の形態のデ
ータ検索装置の構成及び動作は、第1の実施の形態のも
のとほぼ同一であるが、タイマ14の構成が異なり、後
述するようにトリガ信号Aとトリガ信号Bとの2種類の
トリガ信号を発生する。また、タイマ14が2種類のト
リガ信号を発生することにより、リスト管理タスク23
は、第1の実施の形態の場合と異なり、それぞれのトリ
ガ信号に応じた処理を行うものとなる。
【0094】この実施の形態において、タイマ14は、
第3の実施の形態と同様のダウンカウンタと内部レジス
タからなる組を2組有し、それぞれがトリガ信号A用、
トリガ信号B用となる。トリガ信号A用の内部レジスタ
には、トリガ信号Aの発生間隔を示す設定値Taが記憶
される。トリガ信号B用の内部レジスタには、トリガ信
号Aの発生間隔を示す設定値Tbが記憶される。リスト
管理タスク23は、トリガ信号A用、B用のそれぞれの
設定値Ta、Tbの増減を判断するための閾値M1、M
2をデータとして有している。また、トリガ信号Bを発
生させる(オンする)か発生させない(オフする)かが
リスト管理タスク23の処理のよって制御される。
【0095】以下、この実施の形態のリスト管理タスク
の処理について説明する。図11は、タイマ14からC
PU11にトリガ信号Aが入力されたときのリスト管理
タスク23の処理を示すフローチャートである。このフ
ローチャートの処理が開始すると、CPU11は、MM
U12内に記憶されているビットマップ21を読み出
し、CPU11の内部レジスタに記憶する(ステップS
11)。
【0096】次に、CPU11は、内部レジスタに記憶
されたビットマップの各プロセスに対応するカウンタの
値を参照して、カウンタの値が大きいものから降順とな
るように、リスト24の要素を並び替える。このリスト
24の要素の並び替えは、例えば、ヒープソート、バブ
ルソートなどの公知のソートアルゴリズムに従って実行
することができる。但し、カウンタの値が同一のプロセ
ス同士では、並び替え前のリスト24でのプロセスの順
番に従うものとする(ステップS12)。
【0097】CPU11は、内部レジスタに記憶された
ビットマップの各プロセスに対応するカウンタの値を参
照して、カウント値が所定数より小さいプロセスの数を
求め、変数mに代入する(ステップS41)。CPU1
1は、ステップS41で求めたプロセスの数mと、リス
ト管理タスク23中のデータに含まれる閾値M1とを比
較する(ステップS42)。
【0098】ステップS42でプロセスの数mが閾値M
1より大きいと判定したときは、タイマ14の内部レジ
スタに設定された設定値Taを所定値だけ増加して(ス
テップS43)、ステップS45の処理に進む。ステッ
プS42でプロセスの数mが閾値Mと等しいと判定した
ときは、そのままステップS45の処理に進む。ステッ
プS42でプロセスの数mが閾値Mより小さいと判定し
たときは、タイマ14の内部レジスタに設定された設定
値Taを所定値だけ減少して(ステップS44)、ステ
ップS45の処理に進む。
【0099】ステップS45では、タイマ14の内部レ
ジスタに設定されたトリガ信号A用の設定値Taがトリ
ガ信号B用の設定値Tbよりも大きいかどうかを判定す
る。ステップS45で設定値Taが設定値Tbよりも大
きいと判定したときは、トリガ信号Bの発生をオフして
(ステップS46)、ステップS48の処理に進む。ス
テップS45で設定値Taが設定値Tbよりも大きくな
いと判定したときは、トリガ信号Bの発生をオンして
(ステップS47)、ステップS48の処理に進む。
【0100】ステップS48では、MMU12内に記憶
されているビットマップ21をすべてのビットが0であ
るデータによって上書きして、クリアする。そして、こ
のフローチャートの処理を終了する。
【0101】図12は、タイマ14からCPU11にト
リガ信号Bが入力されたときのリスト管理タスク23の
処理を示すフローチャートである。このフローチャート
の処理は、図11のフローチャートの処理とほぼ同様で
あるが、ステップS52において、ステップS41で求
めたプロセスの数mと、リスト管理タスク23中のデー
タに含まれる閾値M2とを比較する。また、ステップS
53またはS54で増減の対象となるのは、トリガ信号
B用の設定値Tbである。
【0102】また、ステップS46またはステップS4
7の処理を終了した後は、ビットマップ21の各カウン
タの値をクリアすることなく、そのままこのフローチャ
ートの処理を終了する。
【0103】以上説明したように、この実施の形態のデ
ータ検索装置では、リストの要素の並び替えは、トリガ
信号A、BのいずれがCPU11に入力された場合にも
なされる。すなわち、リスト24の要素のつなぎ順は、
頻繁に更新される。一方、ビットマップ21の各カウン
タの値は、トリガ信号Bが発生した場合には、クリアさ
れない。このため、トリガ信号Aの発生から発生までの
間におけるプロセスの参照回数に基づいて、リストの要
素を並び替えることができる。
【0104】また、トリガ信号Bの発生間隔がトリガ信
号Aの発生間隔よりも短い場合には、トリガ信号Bが発
生しないので、トリガ信号Bの発生間隔が短く調整され
てリストの並べ替えが頻繁に行われることをさけること
ができる。
【0105】[第5の実施の形態]図13は、この実施
の形態のデータ検索装置の機能を示す機能ブロック図で
ある。このデータ検索装置の機能構成は、第1の実施の
ものとほぼ同じであるが、フラグ210が付加されてい
る点が異なる。また、データ検索タスク22及びリスト
管理タスク23の処理もフラグ210を利用すること
で、第1の実施の形態のものと若干異なる。
【0106】フラグ210は、MMU12内に設けら
れ、ビットマップ21の各カウンタ、すなわちキャッシ
ュ領域20に記憶された各プロセスに対応する数の、そ
れぞれ1ビットからなる複数のフラグによって構成され
る。データ検索タスク22は、プロセスを参照したとき
に、ビットマップ21の中の対応するカウンタをカウン
トアップすると共に、対応するビットのフラグをセット
する。リスト管理タスク23は、フラグ210を参照し
て、ビットマップ21のカウンタの読み出しを行う。リ
スト管理タスク23は、また、フラグ210をリセット
する。
【0107】図14は、この実施の形態におけるリスト
管理タスク23の処理を示すフローチャートである。こ
の実施の形態においても、リスト管理タスク23は、タ
イマ14からCPU11にトリガ信号が入力されること
によって起動される。このフローチャートの処理が開始
すると、CPU11は、MMU12内に記憶されている
フラグ210を読み出し、CPU11の内部レジスタに
記憶する(ステップS61)。
【0108】フラグ210の読み出しが終了すると、C
PU11は、ループ1(ステップS62−S62’)の
処理を行う。ループ1では、キャッシュ領域20に記憶
された個々のプロセスに対応するフラグを順次参照して
いく。
【0109】ループ1内では、CPU11は、まず、変
化させられている変数に対応するフラグの値が1である
か0であるか、すなわちフラグがセットされているかリ
セットされているかどうかを判定する(ステップS6
3)。ステップS63でフラグがリセットされていると
判定した場合は、次の変数についての処理に進むか、或
いはすべての変数についての処理を終了した場合はルー
プ1の処理を終了する。
【0110】ステップS63でフラグがセットされてい
ると判定したときは、CPU11は、変数の値に対応す
るビットマップ21中のカウンタの値を読み出す(ステ
ップS64)。そして、CPU11は、当該変数に対応
するリスト24の要素を抜き出し、カウンタに従って降
順となるようにその要素をつなぐ。なお、抜き出された
要素の前後の要素は、ポインタでつながれる(ステップ
S65)。ステップS65の処理が終了すると、次の変
数についての処理に進むか、或いはすべての変数につい
ての処理を終了した場合はループ1の処理を終了する。
【0111】ループ1の処理を終了すると、MMU12
内に記憶されているフラグ210をすべてリセットする
(ステップS66)。さらに、MMU12内に記憶され
ているビットマップをすべてのビットが0であるデータ
によって上書きして、クリアする(ステップS67)。
そして、このフローチャートの処理を終了する。
【0112】以上説明したように、この実施の形態のデ
ータ検索装置では、ビットマップ21の各カウンタの
内、対応するフラグがセットされているものだけを読み
出せばよい。すなわち、キャッシュ領域20に記憶され
ているプロセスが全部で128個、ビットマップ21の
各カウンタが16ビット、参照されたプロセス数が32
個であるとき、第1の実施の形態で読み出す必要がある
ビット数は、128×16=2048(ビット)である
のに対して、この実施の形態では、128+16×32
=640(ビット)で済むこととなる。このため、比較
的時間のかかるMMU12からのデータの読み出し数を
少なくすることができると共に、CPU11の内部レジ
スタの数、或いはMMU12に確保するワークエリアが
小さくても済む。
【0113】また、リスト24の要素を並び替えるとき
に、セットされているフラグに対応する要素を抜き出
し、前後の要素をつなぎ変えればよい。従って、セット
されていないフラグに対応する要素は、並び替え時に考
慮しなくてもよいので、リスト管理タスク23における
処理を速くすることができる。
【0114】[第6の実施の形態]図15は、この実施
の形態にかかるデータ検索装置の構成を示すブロック図
である。図示するように、このデータ検索装置は、互い
にバス10を介して接続されたCPU11と、MMU1
2と、磁気ディスク装置13と、I/F(インタフェー
ス)15と、動作状態識別装置31とから構成されてい
る。
【0115】CPU11と、MMU12と、磁気ディス
ク装置13と、I/F(インタフェース)15との構成
は、第1の実施の形態のデータ検索装置(図1参照)の
ものと実質的に同一である。動作状態識別装置31は、
CPU11の動作状態がアイドル状態にあるかどうか、
すなわちMMU12または磁気ディスク装置13に記憶
されているデータの検索処理などの処理が所定頻度以上
で実行されていないかどうかを識別するものである。動
作状態識別装置31は、CPU11の動作状態がアイド
ル状態にあると識別すると、CPU11にトリガ信号を
出力する。
【0116】この実施の形態のデータ検索装置は、CP
U11がMMU12に記憶された処理プログラムを実行
することによって、図16に示すような機能を実現する
ものである。図16に示すように、このデータ検索装置
の機能は、キャッシュ領域20と、ビットマップ21
と、データ検索タスク22と、リスト管理タスク23
と、リスト24と、磁気ディスク装置13と、動作状態
識別装置31とから構成される。
【0117】この機能において、キャッシュ領域20
と、ビットマップ21と、データ検索タスク22と、リ
スト管理タスク23と、リスト24と、磁気ディスク装
置13とは、第1の実施の形態のデータ検索装置(図2
参照)のものと実質的に同一である。但し、リスト管理
タスク23は、タイマからのトリガ信号ではなく、動作
状態識別装置31からのトリガ信号に従って、動作す
る。
【0118】この実施の形態のデータ検索装置の動作
は、第1の実施の形態のデータ検索装置におけるタイマ
14からのトリガ信号を動作状態識別装置31からのト
リガ信号に置き換えれば、他の処理は同一である。
【0119】以上説明したように、この実施の形態のデ
ータ検索装置によれば、動作状態識別装置31がCPU
11の動作状態を監視している。そして、CPU11が
アイドル状態にあるとき、すなわち本来の処理であるデ
ータ検索を行っていないときに、リスト24の要素の並
べ替えが行われる。このため、この実施の形態のデータ
検索装置では、リスト24の要素の並べ替えによるオー
バーヘッドによって、本来の処理であるデータ検索の処
理が中断されることがない。
【0120】[第7の実施の形態]この実施の形態で
は、受信したパケットの送出先をハードウェアによって
高速に抽出することができるパケット交換機について説
明する。
【0121】図17は、この実施の形態にかかるパケッ
ト交換網を示すブロック図である。図示するように、こ
のパケット交換網において、パケット交換機4−1は、
複数のパケット交換機4−2〜4−nに接続されてい
る。パケット交換機4−1は、接続されているパケット
交換機4−2〜4−nのいずれかから送出されたパケッ
トを受信すると共に、受信したパケットを後述する最終
送信先データに基づいてパケット交換機4−2〜4−n
のいずれかに送出する。もっとも、パケット交換機4−
1にパケットを送信するのは、パーソナルコンピュータ
などの端末でもよく、パケット交換機4−1からのパケ
ットの送出先はパーソナルコンピュータなどの端末でも
よい。
【0122】図18は、図17のパケット交換網で送信
されるパケットのデータフォーマットを示す図である。
図示するように、送信すべきデータは、所定長のパケッ
トに分割されている。各パケットには、当該パケットの
最終送信先のデータが付される。同一の送信すべきデー
タから分割された複数のパケットに付されている最終送
信先のデータは、すべて同一である。また、各パケット
には、分割されたパケットを再度組み立てるための管理
情報が付される。
【0123】図19は、図17のパケット交換機4−1
の構成を示すブロック図である。なお、他のパケット交
換機4−2〜4−nは、パケット交換機4−1と同一の
構成であっても、異なる構成であってもよい。図示する
ように、パケット交換機4−2〜4−nは、ハードウェ
アテーブル41と、ハードウェアテーブル管理部42
と、CPU43と、主記憶装置(MMU)44と、フラ
ッシュメモリ45とから構成されている。
【0124】ハードウェアテーブル41は、受信したパ
ケットに含まれる最終送信先データに基づいて、送出先
情報をハードウェア的に抽出するものである。ハードウ
ェアテーブル41は、図20に示すように、メモリ41
1と、比較器412と、セレクタ413とから構成され
る。
【0125】メモリ411は、高速のSRAMによって
構成され、パケットの最終送信先と次のパケット交換機
4−2〜4−nを示す送出先情報とを対応づけて各アド
レスに記憶する。メモリ411に記憶される最終送信先
と送出先情報とは、後述するタイマ421からのトリガ
信号によって後述するCPU11の処理によって更新さ
れる。比較器412は、受信したパケットから抽出した
最終送出先データとメモリ411の各アドレスに記憶さ
れている最終送信先とを比較し、一致するものがあった
ときに、一致するもののアドレスに対応する制御信号を
セレクタ413に出力する。比較器412は、一致する
ものがあった場合となかった場合とのそれぞれについて
所定の制御信号をCPU43に送る。セレクタ413
は、比較器412からの制御信号に対応するメモリ41
1のアドレスに記憶されている送出先情報を選択して記
憶する。
【0126】ハードウェアテーブル管理部42は、タイ
マ421と、ビットマップ422と、アドレスキュー4
23とを備える。タイマ421は、第1の実施の形態の
データ検索装置のタイマ14と同様に構成されており、
所定時間間隔でトリガ信号を発生する。ビットマップ4
22は、メモリ411の各アドレスに対応してそれぞれ
1ビットずつ設けられており、対応するアドレスから送
出先情報が抽出されたときに当該ビットが「1」にセッ
トされる。ビットマップ422は、タイマ421が所定
の時間間隔を計時する毎に参照されるが、例えば、過去
1回分のビットマップの情報は、MMU44のワークエ
リアに記憶されている。アドレスキュー423は、タイ
マ421が所定の時間間隔を計時したときのビットマッ
プ422の内容と、ワークエリアに記憶されている過去
1回分のビットマップの内容とに基づいて、2所定期間
続けて送出先情報の抽出がなかったメモリ411のアド
レスを先入れ先出し方式で記憶するものである。
【0127】CPU43は、MMU44に記憶されたプ
ログラムを実行し、受信したパケットから抽出した最終
送信先データに対応する送出先情報をフラッシュメモリ
45から抽出して出力する。また、CPU43は、MM
U44に記憶されたプログラムの実行により、タイマ4
21が所定時間間隔を計測する毎に、ビットマップとM
MU44のワークエリアとを参照して、メモリ411に
記憶する最終送信先と送出先情報とを更新するための処
理を行う。CPU43は、一致があったことを示す制御
信号を比較器412から受信したときは、送出先情報の
抽出の処理を中止する。
【0128】主記憶装置(MMU)44は、DRAMに
よって構成され、CPU43の処理プログラムを記憶す
ると共に、CPU43のワークエリアとして用いられ
る。なお、フラッシュメモリ45から送出先情報が抽出
されたときには、受信したパケットが有する最終送信先
データに対応する最終送信先と送出先情報とがMMU4
4のワークエリアに一次記憶される。なお、前述したワ
ークエリアに記憶されているビットマップの内容は、メ
モリ411に最終送信先と送信先情報とが更新されて書
き込まれたときには、更新されたアドレスに対応するビ
ットは「1」にセットされる。
【0129】フラッシュメモリ45は、ブロック毎にデ
ータの一括消去が可能な不揮発性の記憶媒体であり、対
象となるパケットの最終送信先のすべてと、これらの最
終送信先のそれぞれに対応する次のパケットの送信先と
なるパケット交換機4−2〜4−nを示す送出先情報を
記憶する。
【0130】以下、このパケット交換機4−1における
動作について説明する。パケット交換機4−1では、接
続されているパケット交換機4−2〜4−nのいずれか
からパケットを受信すると、そのパケットに含まれてい
る最終送信先データがデータ抽出手段(図示せず)によ
って抽出される。抽出された最終送出先データは、ハー
ドウェアテーブル41の比較器412に供給されると共
に、CPU43に供給される。
【0131】ハードウェアテーブル41では、受信した
パケットから抽出された最終送信先データと一致する最
終送信先がメモリ411のいずれかのアドレスに記憶さ
れているかどうかが比較器412によって調べられる。
比較器412による比較の結果、一致する最終送信先が
あるときには、その最終送信先を記憶するアドレスに対
応する制御信号がセレクタ413に供給されると共に、
一致を示す制御信号がCPU43に供給される。セレク
タ413は、比較器412から供給された制御信号に基
づいて、メモリ411の対応するアドレスに記憶されて
いる送出先情報を出力する。また、ビットマップ422
の複数のビットのうち、送出先情報が抽出されたアドレ
スに対応するビットが「1」にセットされる。そして、
セレクタ413から出力された送出先情報に基づいて、
受信したパケットがパケット交換機4−2〜4−nのい
ずれかに出力される。
【0132】CPU43は、所定の処理プログラムに基
づいて、受信したパケットから抽出された最終送信先デ
ータと一致する最終送信先に対応する送出先情報をフラ
ッシュメモリ45から読み出す。この読み出しの処理の
間に、比較器412から一致を示す制御信号を受け取っ
たときは、CPU43はこの処理を中止する。一方、比
較器412から不一致を示す制御信号を受け取ったとき
は、CPU43は読み出しの処理を続行し、読み出した
送出先情報を出力する。こうして送出先情報が出力され
たときは、最終送信先と送出先情報とがMMU44のワ
ークエリアに記憶される。そして、CPU43から出力
された送出先情報に基づいて、受信したパケットがパケ
ット交換機4−2〜4−nのいずれかに出力される。
【0133】このようなパケットの受信、送出が次々と
行われている間に、タイマ421は、そのダウンカウン
タの値がクロックに基づいてカウントダウンされてい
る。そして、ダウンカウンタの値が「0」となったとき
に、トリガ信号を発生し、CPU43に供給する。
【0134】CPU43は、トリガ信号が入力される
と、ハードウェアテーブル管理部42のビットマップ4
22の内容を読み出す。CPU43は、また、MMU4
4のワークエリアに記憶されている最終送信先と送出先
情報とをメモリ411のアドレスキュー423の先頭に
記憶されているアドレスから順次記憶していく。但し、
読み出したビットマップ422の対応するビットが
「1」にセットされているアドレスは除かれる。これに
より、前回のトリガ信号の入力から今回のトリガ信号の
入力までの所定時間間隔で送出先情報が抽出された最終
送信先と対応する送出先情報とがメモリ411に記憶さ
れることとなる。
【0135】CPU43は、さらに、読み出したビット
マップ422の内容をMMU44のワークエリアに記憶
させる。そして、前回の処理でMMU44のワークエリ
アに記憶されたビットマップの内容と読み出したビット
マップとの内容とに基づいて、2所定時間間隔で連続し
て送出先情報の抽出が行われていないメモリ411のア
ドレスをアドレスキュー423に記憶させる。また、読
み出したビットマップ422の対応するビットが「1」
にセットされているアドレスがアドレスキュー423に
記憶されている場合は、当該アドレスをアドレスキュー
423から削除する。これにより、送出先情報の抽出が
ないアドレスがほぼ抽出のない期間順でアドレスキュー
423に先頭から記憶されることになる。
【0136】以上説明したように、この実施の形態のパ
ケット交換機では、受信したパケットに含まれる最終送
信先データに対応する最終送信先と送出先情報とは、タ
イマ421が計測する所定時間間隔で更新されてメモリ
411に記憶される。そして、このメモリ411に記憶
されることによってハードウェア的に高速に送出先情報
の抽出が可能となる。従って、パケット交換機の処理能
力が非常に向上する。
【0137】一方、メモリ411に記憶される最終送信
先と送出先情報との更新は、タイマ421が所定時間間
隔を計測した場合のみである。このため、メモリ411
に記憶される最終送信先と送出先情報との更新の処理に
よるオーバーヘッドによって、本来の処理である送出先
情報の抽出に影響が生じることが少ない。
【0138】さらに、この実施の形態のパケット交換機
は、ハードウェアによる送出先情報の抽出を頻度が高い
ことが予想されるものだけとしている。従って、コスト
的な負担をそれほど大きくすることなく、パケット交換
機の処理能力を大幅に向上させることができる。
【0139】[実施の形態の変形]本発明は、上記の第
1〜第7の実施の形態のものに限定されるものではな
く、種々の変形が可能である。以下、本発明の実施の形
態の変形態様について説明する。
【0140】上記の第1〜第6の実施の形態では、プロ
セスの参照頻度を管理するためのリスト24は、単方向
リストによって構成されていたが、双方向リストであっ
てもよい。また、要素がポインタでつながれている構造
のものであれば、例えば、木構造リストなどであっても
構わない。
【0141】上記の第1〜第5の実施の形態では、トリ
ガ信号を発生するための設定値の初期値は、タイマ14
内部に予めセットされているか、或いはリスト管理タス
ク23の処理によってセットされていた。しかしなが
ら、これをオペレータが外部からの操作入力によって設
定できるようにしてもよい。また、第3の実施の形態で
示した設定値の増減値も、オペレータが外部からの操作
入力によって設定できるようにしてもよい。
【0142】上記の第2、第4の実施の形態では、カウ
ント値が所定値より小さいプロセス数が閾値と同一であ
るときは、タイマ14の内部レジスタにセットする設定
値の増減を行っていなかった。しかしながら、この場合
に、設定値の増加または減少のいずれかを行ってもよ
い。
【0143】上記の第4の実施の形態では、トリガ信号
A、Bのいずれについても、ビットマップ21の各カウ
ンタの値によってその発生間隔が調整されていたが、い
ずれか一方のみの発生間隔を調整するものとしても、い
ずれのトリガ信号の発生間隔を固定としてもよい。
【0144】上記第1〜第5の実施の形態では、タイマ
14からのトリガ信号によってリスト24の要素を並べ
替える場合について説明した。上記の第6の実施の形態
では、動作状態識別手段31によるトリガ信号によって
リスト24の要素を並べ替える場合について説明した。
本発明では、タイマと動作状態識別手段との双方からの
識別信号によってリスト24の要素を並べ替える場合に
も適用することができる。
【0145】上記の第7の実施の形態では、ビットマッ
プ422自体の内容とMMU44のワークエリアに記憶
された過去1回分のビットマップの内容の合計2回分の
ビットマップの内容に従って、メモリ411のアドレス
がアドレスキュー423に記憶されていた。しかしなが
ら、本発明は、上記のようなアドレスキュー423を有
さず、ビットマップ422自体の内容に従って、メモリ
411に記憶する最終送信先と送出先情報とを更新する
場合にも適用することができる。また、ワークエリアに
記憶するビットマップの内容は過去2回分以上であって
もよい。
【0146】上記の第7の実施の形態では、メモリ41
1に記憶する最終送信先と送出先情報との更新は、タイ
マ421のトリガ信号の発生のみによって行われてい
た。しかしながら、第7の実施の形態のパケット交換機
でも、第6の実施の形態で示したのと同様の動作状態識
別装置31を設け、CPU43がアイドル状態にある
時、或いはパケットの交換処理を行っていないときに、
に最終送信先と送出先情報との更新を行ってもよい。ま
た、第1の実施の形態の場合と同様に、送出先情報がフ
ラッシュメモリ45から読み出されたときに、その場合
の最終送信先と送出先情報とを、メモリ411のアドレ
スキュー423の最初に記憶されているアドレスに上書
きして更新してもよい。
【0147】上記の第1〜第6の実施の形態で説明した
データ検索タスク22或いはリスト管理タスク23の処
理を実現するためのプログラムは、例えば、フロッピー
ディスクやCD−ROMなどの記憶媒体に記憶した形式
で提供してもよい。そして、このような記録媒体に記憶
されたプログラムを磁気ディスク装置13にインストー
ルしてもよい。
【0148】上記の第1〜第7の実施の形態では、本発
明をパケット交換機などでパケットの送信先のデータを
検索するためのデータ検索装置に適用し、パケットの送
信先データを資源使用のためのプロセスとし、プロセス
の参照頻度をリストによって管理する場合について説明
した。しかしながら、本発明は、仮想記憶におけるペー
ジの参照頻度や、キャッシュメモリにおけるブロックの
参照頻度を管理するためのリストなどにも適用すること
ができる。これらの場合、仮想記憶におけるページやキ
ャッシュメモリにおけるブロックが、上記のプロセスに
対応するものとなる。また、当該ページやブロックから
プログラム(命令)を読み出すことや、当該ページやブ
ロックにデータの読み書きを行うことが、上記のプロセ
スの参照に対応するものとなる。
【0149】
【発明の効果】以上説明したように、本発明によれば、
リストの要素の並び替えは、計時手段または動作状態識
別手段からの信号の発生によってのみ行われるため、リ
ストの要素の並び替えのための処理のオーバーヘッドを
小さくすることができる。一方、資源の利用単位毎の参
照頻度は、それぞれカウント手段によってカウントさ
れ、このカウント値によって各利用単位に対応する要素
が並び替えられる。これにより、LRU方式による場合
とほぼ同等の機能を得ることができる。
【0150】特に、リストの要素の並び替えを動作状態
判別手段からの信号の発生によって行う場合は、本来の
処理を頻繁に実行する必要がないときにリストの要素の
並べ替えのための処理を行うことができる。このため、
リストの要素の並べ替えのための処理によるオーバーヘ
ッドが問題とならない。
【0151】
【図面の簡単な説明】
【図1】本発明の第1の実施の形態にかかるデータ検索
装置の構成を示すブロック図である。
【図2】本発明の第1の実施の形態にかかるデータ検索
装置の機能を示す機能ブロック図である。
【図3】本発明の第1の実施の形態におけるリスト管理
の処理を示すフローチャートである。
【図4】ビットマップのカウンタの値を示す図であり、
(A)はトリガ信号入力前のものを、(B)はトリガ信
号入力後のものを示す。
【図5】リストの接続順を示す図であり、(A)はトリ
ガ信号入力前のものを、(B)はトリガ信号入力後のも
のを示す。
【図6】本発明の第1の実施の形態における動作を示す
タイミングチャートである。
【図7】本発明の第1の実施の形態の比較例(従来例)
における動作を示すタイミングチャートである。
【図8】本発明の第2の実施の形態におけるリスト構造
を示す図である。
【図9】本発明の第2の実施の形態におけるリスト管理
の処理を示すフローチャートである。
【図10】本発明の第3の実施の形態におけるリスト管
理の処理を示すフローチャートである。
【図11】本発明の第4の実施の形態におけるトリガ信
号A時のリスト管理の処理を示すフローチャートであ
る。
【図12】本発明の第4の実施の形態におけるトリガ信
号B時のリスト管理の処理を示すフローチャートであ
る。
【図13】本発明の第5の実施の形態にかかるデータ検
索装置の機能を示す機能ブロック図である。
【図14】本発明の第5の実施の形態におけるリスト管
理の処理を示すフローチャートである。
【図15】本発明の第6の実施の形態にかかるデータ検
索装置の構成を示すブロック図である。
【図16】本発明の第6の実施の形態にかかるデータ検
索装置の機能を示す機能ブロック図である。
【図17】本発明の第7の実施の形態にかかるパケット
交換網を示すブロック図である。
【図18】パケットのデータフォーマットを示す図であ
る。
【図19】図17のパケット交換機の構成を示すブロッ
ク図である。
【図20】図19のハードウェアテーブルの構成を示す
ブロック図である。
【符号の説明】
11 CPU 12 主記憶装置(MMU) 13 磁気ディスク装置 14 タイマ 15 インタフェース(I/F) 20 キャッシュ領域 21 ビットマップ 22 データ検索タスク 23 リスト管理タスク 24 リスト 31 動作状態識別装置 4−1〜4−n パケット交換機 41 ハードウェアテーブル 42 ハードウェアテーブル管理部 43 CPU 44 主記憶装置(MMU) 45 フラッシュメモリ

Claims (15)

    (57)【特許請求の範囲】
  1. 【請求項1】所定の時間間隔を計測し、この所定の時間
    間隔を計時する毎に信号を発生する計時手段と、 資源を利用する利用単位毎に設けられ、前記利用単位が
    参照される毎に、参照された前記利用単位に対応するも
    のがカウントする複数のカウント手段と、 前記資源を利用する前記利用単位に対応する複数の要素
    をポインタでつないだリストと、 前記計時手段が前記信号を発生したときに、前記複数の
    カウント手段のそれぞれがカウントしている値に基づい
    て、前記リストの前記複数の要素を並べ替えるリスト管
    理手段と、前記複数のカウント手段のそれぞれがカウントした値に
    基づいて、前記計時手段が計測する前記所定の時間間隔
    を調整する調整手段を備える 、 ことを特徴とするリスト管理システム。
  2. 【請求項2】所定の時間間隔を計測し、この所定の時間
    間隔を計時する毎に信号を発生する計時手段と、 資源を利用する利用単位毎に設けられ、前記利用単位が
    参照される毎に、参照された前記利用単位に対応するも
    のがカウントする複数のカウント手段と、 前記資源を利用する前記利用単位に対応する複数の要素
    をポインタでつないだリストと、 前記計時手段が前記信号を発生したときに、前記複数の
    カウント手段のそれぞれがカウントしている値に基づい
    て、前記リストの前記複数の要素を並べ替えるリスト管
    理手段と、 前記複数のカウント手段のそれぞれがカウントした値に
    基づいて、前記計時手段が計測する前記所定の時間間隔
    を調整する調整手段を備え、 前記リスト管理手段は、前記複数のカウント手段がカウ
    ントした値によって示される前記利用単位毎の参照頻度
    順に従って、対応する要素を並べ替える手段を有する、 ことを特徴とするリスト管理システム。
  3. 【請求項3】所定の時間間隔を計測し、この所定の時間
    間隔を計時する毎に信号を発生する計時手段と、 資源を利用する利用単位毎に設けられ、前記利用単位が
    参照される毎に、参照された前記利用単位に対応するも
    のがカウントする複数のカウント手段と、 前記資源を利用する前記利用単位に対応する複数の要素
    をポインタでつないだリストと、 前記計時手段が前記信号を発生したときに、前記複数の
    カウント手段のそれぞれがカウントしている値に基づい
    て、前記リストの前記複数の要素を並べ替えるリスト管
    理手段と、 前記複数のカウント手段のそれぞれがカウントした値に
    基づいて、前記計時手段が計測する前記所定の時間間隔
    を調整する調整手段と、 前記リスト管理手段が前記複数の要素のそれぞれを並べ
    替えた後に、前記複数のカウント手段のそれぞれがカウ
    ントした値をクリアするクリア手段を備える、ことを特
    徴とするリスト管理システム。
  4. 【請求項4】所定の時間間隔を計測し、この所定の時間
    間隔を計時する毎に信号を発生する計時手段と、 資源を利用する利用単位毎に設けられ、前記利用単位が
    参照される毎に、参照された前記利用単位に対応するも
    のがカウントする複数のカウント手段と、 前記資源を利用する前記利用単位に対応する複数の要素
    をポインタでつないだリストと、 前記計時手段が前記信号を発生したときに、前記複数の
    カウント手段のそれぞれがカウントしている値に基づい
    て、前記リストの前記複数の要素を並べ替えるリスト管
    理手段と、 前記複数のカウント手段のそれぞれがカウントした値に
    基づいて、前記計時手段が計測する前記所定の時間間隔
    を調整する調整手段と、 前記リスト管理手段が前記複数の要素のそれぞれを並べ
    替えた後に、前記複数 のカウント手段のそれぞれがカウ
    ントした値をクリアするクリア手段を備え、 前記リスト管理手段は、前記複数のカウント手段がカウ
    ントした値によって示される前記利用単位毎の参照頻度
    順に従って、対応する要素を並べ替える手段を有する、 ことを特徴とするリスト管理システム。
  5. 【請求項5】前記資源を利用する前記利用単位毎に設け
    られ、前記利用単位が参照されることによって、前記利
    用単位に参照されるものがセットされる複数のフラグを
    さらに備え、 前記リスト管理手段は、前記複数のフラグのうちのセッ
    トされているフラグに対応する前記複数のカウント手段
    のそれぞれがカウントしている値に基づいて、前記リス
    トの前記複数の要素を並べ替えることを特徴とする請求
    項1乃至4のいずれか1項に記載のリスト管理システ
    ム。
  6. 【請求項6】所定の時間間隔を計測し、この所定の時間
    間隔を計時する毎に信号を発生する計時手段と、 資源を利用する利用単位毎に設けられ、前記利用単位が
    参照される毎に、参照された前記利用単位に対応するも
    のがカウントする複数のカウント手段と、 前記資源を利用する前記利用単位に対応する複数の要素
    をポインタでつないだリストと、 前記計時手段が前記信号を発生したときに、前記複数の
    カウント手段のそれぞれがカウントしている値に基づい
    て、前記リストの前記複数の要素を並べ替えるリスト管
    理手段と、 前記リスト管理手段が前記複数の要素のそれぞれを並べ
    替えた後に、前記複数のカウント手段のそれぞれがカウ
    ントした値をクリアするクリア手段を備え、 前記計時手段は、第1の時間間隔と第2の時間間隔とを
    計測し、前記第1の時間間隔を計測する毎に第1の信号
    を発生する手段と、前記第2の時間を計測する毎に第2
    の信号を発生する手段とを有し、 前記リスト管理手段は、前記計時手段が前記第1、第2
    の信号のいずれかを発生したときに、前記複数のカウン
    ト手段のそれぞれがカウントしている値に基づいて、前
    記リストの前記複数の要素のそれぞれを並べ替え、 前記クリア手段は、前記リスト管理手段が前記第1の信
    号によって前記複数の要素のそれぞれを並べ替えた後に
    は、前記複数のカウント手段のそれぞれがカウントした
    値をクリアし、前記リスト管理手段が前記第2の信号に
    よって前記複数の要素のそれぞれを並べ替えた後には、
    前記複数のカウント手段のそれぞれがカウントした値を
    クリアしない、 ことを特徴とするリスト管理システム。
  7. 【請求項7】前記複数のカウント手段のそれぞれがカウ
    ントした値に基づいて、前記計時手段が計測する前記第
    1、第2の時間間隔の少なくとも一方を調整する調整手
    段をさらに備える、 ことを特徴とする請求項6に記載のリスト管理システ
    ム。
  8. 【請求項8】前記調整手段が調整した前記第1の時間間
    隔と前記第2の時間間隔とを比較する比較手段と、 前記比較手段の比較結果に基づいて、前記計時手段によ
    る前記第2の信号の発生をオンまたはオフする手段と、
    をさらに備える、 ことを特徴とする請求項7に記載のリスト管理システ
    ム。
  9. 【請求項9】前記リストは、前記複数のカウント手段の
    カウントした値が同一である要素がある場合に、前記リ
    スト管理手段が要素を並べ替える前の順序に従って、該
    カウントした値が同一である要素の順序が定められる、 ことを特徴とする請求項1乃至8のいずれか1項に記載
    のリスト管理システム。
  10. 【請求項10】前記リストは、前記複数のカウント手段
    のカウントした値が同一である要素がある場合に、該要
    素間に順序が定められない、 ことを特徴とする請求項1乃至8のいずれか1項に記載
    のリスト管理システム。
  11. 【請求項11】資源を利用する利用単位が前記資源を利
    用するための処理を実行する処理装置を備えるリスト管
    理システムであって、 前記処理装置の動作状態を識別し、識別した動作状態が
    所定の状態となっているときに信号を発生する動作状態
    識別手段と、 前記資源を利用する利用単位毎に設けられた複数のカウ
    ント手段と、 前記資源を利用する前記利用単位に対応する複数の要素
    をポインタでつないだリストと、をさらに備え、 前記処理装置は、 前記利用単位が前記資源を利用する度に、前記複数のカ
    ウント手段のうち前記資源を利用した前記利用単位に対
    応するカウント手段をカウントさせる処理と、前記動作
    状態識別手段が前記信号を発生したときに、前記複数の
    カウント手段のそれぞれがカウントしている値に基づい
    て、前記リストの前記複数の要素を並べ替える処理と、
    をさらに実行する、 ことを特徴とするリスト管理システム。
  12. 【請求項12】前記動作状態識別手段は、前記処理装置
    が前記利用単位による前記資源の利用のための処理が所
    定時間以上実行されていないときに、前記信号を発生す
    る、 ことを特徴とする請求項11に記載のリスト管理システ
    ム。
  13. 【請求項13】前記処理装置は、前記リストの前記複数
    の要素を並べ替える処理を実行した後に、前記複数のカ
    ウント手段のそれぞれがカウントした値をクリアする処
    理をさらに実行する、 ことを特徴とする請求項11乃至12のいずれか1項
    記載のリスト管理システム。
  14. 【請求項14】資源を利用する利用単位に対応する複数
    の要素をポインタでつないだリストを管理するためのリ
    スト管理方法であって、 前記資源を利用する前記利用単位が参照された回数を前
    記利用単位毎にカウントするカウントステップと、 前記利用単位のいずれもが参照されていない状態が所定
    時間以上継続しているかどうかを調べる調査ステップ
    と、 前記調査ステップで調べた前記利用単位のいずれもが参
    照されていない状態が所定時間以上であるときに、前記
    カウントステップでカウントした前記利用単位の参照回
    数に基づいて、前記リストの要素を並び替えるリスト管
    理ステップと、を含むことを特徴とするリスト管理方
    法。
  15. 【請求項15】資源を利用する利用単位に対応する複数
    の要素をポインタでつないだリストを管理するためのプ
    ログラムを記憶した記憶媒体であって、 前記プログラムは、 前記資源を利用する前記利用単位が参照された回数を前
    記利用単位毎にカウントするカウントステップと、 前記利用単位のいずれもが参照されていない状態が所定
    時間以上継続しているかどうかを調べる調査ステップ
    と、 前記調査ステップで調べた前記利用単位のいずれもが参
    照されていない状態が所定時間以上であるときに、前記
    カウントステップでカウントした前記利用単位の参照回
    数に基づいて、前記リストの要素を並び替えるリスト管
    理ステップと、を実現するものである、 ことを特徴とする記憶媒体。
JP26738797A 1997-09-30 1997-09-30 リスト管理システム、方法及び記憶媒体 Expired - Fee Related JP3301359B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP26738797A JP3301359B2 (ja) 1997-09-30 1997-09-30 リスト管理システム、方法及び記憶媒体
EP19980118382 EP0905619A3 (en) 1997-09-30 1998-09-29 A list management system and method
CA 2249082 CA2249082C (en) 1997-09-30 1998-09-29 A list management system, a list management method, a recording medium wherein a computer program for realizing the list management system is recorded and a packet exchange wherein the list management system is applied
US09/163,365 US6389549B1 (en) 1997-09-30 1998-09-30 List management system, a list management method, a recording medium wherein a computer program for realizing the list management system is recorded and a packet exchange wherein the list management system is applied

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26738797A JP3301359B2 (ja) 1997-09-30 1997-09-30 リスト管理システム、方法及び記憶媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2001150170A Division JP3541817B2 (ja) 2001-05-18 2001-05-18 パケット交換機

Publications (2)

Publication Number Publication Date
JPH11112564A JPH11112564A (ja) 1999-04-23
JP3301359B2 true JP3301359B2 (ja) 2002-07-15

Family

ID=17444150

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26738797A Expired - Fee Related JP3301359B2 (ja) 1997-09-30 1997-09-30 リスト管理システム、方法及び記憶媒体

Country Status (4)

Country Link
US (1) US6389549B1 (ja)
EP (1) EP0905619A3 (ja)
JP (1) JP3301359B2 (ja)
CA (1) CA2249082C (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3016230B1 (ja) * 1999-04-01 2000-03-06 株式会社ビーコンインフォメーションテクノロジー デ―タ管理方法及び装置、記録媒体
JP3591420B2 (ja) 2000-04-07 2004-11-17 日本電気株式会社 ルータにおけるキャッシュテーブル管理装置およびプログラム記録媒体
US7412693B2 (en) 2004-03-05 2008-08-12 Sun Microsystems, Inc. Method and apparatus for determining frequency of execution for compiled methods within a virtual machine
GB2473571B (en) * 2008-07-04 2012-10-24 Fujitsu Ltd Information collecion device, information collection program, and method
JP4768054B2 (ja) 2009-06-23 2011-09-07 インターナショナル・ビジネス・マシーンズ・コーポレーション キャッシュ制御方法
US8560626B2 (en) * 2011-01-13 2013-10-15 Vmware, Inc. Selecting a master node using a suitability value

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5062055A (en) * 1986-09-02 1991-10-29 Digital Equipment Corporation Data processor performance advisor
JPH02299038A (ja) 1989-05-12 1990-12-11 Nec Corp ファイルアクセス装置
JPH04237344A (ja) 1991-01-22 1992-08-25 Nec Corp データベース管理システムにおけるページ管理方式
JPH0652019A (ja) 1991-04-12 1994-02-25 Toshiba Syst Kaihatsu Kk ファイル管理装置
US5369570A (en) * 1991-11-14 1994-11-29 Parad; Harvey A. Method and system for continuous integrated resource management
US6026452A (en) * 1997-02-26 2000-02-15 Pitts; William Michael Network distributed site cache RAM claimed as up/down stream request/reply channel for storing anticipated data and meta data
JPH06106795A (ja) 1992-09-29 1994-04-19 Fuji Xerox Co Ltd プリント装置
JP3371006B2 (ja) 1993-03-03 2003-01-27 株式会社日立製作所 テーブル検索方法及びルータ装置
JP3199914B2 (ja) 1993-07-14 2001-08-20 株式会社日立製作所 フレーム中継制御方法、及びその装置
US5509123A (en) * 1994-03-22 1996-04-16 Cabletron Systems, Inc. Distributed autonomous object architectures for network layer routing

Also Published As

Publication number Publication date
CA2249082C (en) 2002-04-02
EP0905619A2 (en) 1999-03-31
JPH11112564A (ja) 1999-04-23
US6389549B1 (en) 2002-05-14
CA2249082A1 (en) 1999-03-30
EP0905619A3 (en) 2008-03-19

Similar Documents

Publication Publication Date Title
JP4445160B2 (ja) イベント計測装置および方法並びにイベント計測プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体並びにプロセッサシステム
US5778430A (en) Method and apparatus for computer disk cache management
US6779088B1 (en) Virtual uncompressed cache size control in compressed memory systems
EP1654660B1 (en) A method of data caching
JP4008826B2 (ja) オンチップキャッシュのデータ圧縮により有効キャッシュサイズを増大させるキャッシュ圧縮エンジンのための装置
US7096321B2 (en) Method and system for a cache replacement technique with adaptive skipping
EP0019358B1 (en) Hierarchical data storage system
EP2074511B1 (en) Efficient store queue architecture
JP2000347935A (ja) 圧縮メイン・メモリの仮想非圧縮キャッシュ
US6654855B1 (en) Method and apparatus for improving the efficiency of cache memories using chained metrics
US7237067B2 (en) Managing a multi-way associative cache
JP4036992B2 (ja) キャッシュモジュール間でデータを動的に管理するキャッシュ制御装置および方法
WO2006045028A1 (en) Queue or stack based cache entry reclaim method
JP3301359B2 (ja) リスト管理システム、方法及び記憶媒体
JP2017162194A (ja) データ管理プログラム、データ管理装置、及びデータ管理方法
JPH0743671B2 (ja) キャッシュ・メモリ制御方式
JP3541817B2 (ja) パケット交換機
JPS60214060A (ja) 外部記憶キヤツシユ制御方式
CN113296686A (zh) 数据处理方法、装置、设备及存储介质
JP3751814B2 (ja) キャッシュメモリ制御方式
CN116483739B (zh) 基于hash计算的KV对快速写架构
JP2636746B2 (ja) 入出力キャッシュ
JPH10187540A (ja) キャッシュ・データの掃き出し制御方法
JPH0612331A (ja) キャッシュメモリ制御装置
JPH02287849A (ja) ディスクキャッシュ制御方法およびディスクキャッシュ装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080426

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090426

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100426

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110426

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120426

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120426

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130426

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130426

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20140426

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees