JP2000151617A - テーブル作成検索装置 - Google Patents

テーブル作成検索装置

Info

Publication number
JP2000151617A
JP2000151617A JP10328870A JP32887098A JP2000151617A JP 2000151617 A JP2000151617 A JP 2000151617A JP 10328870 A JP10328870 A JP 10328870A JP 32887098 A JP32887098 A JP 32887098A JP 2000151617 A JP2000151617 A JP 2000151617A
Authority
JP
Japan
Prior art keywords
row
data
stored
index
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP10328870A
Other languages
English (en)
Other versions
JP3292241B2 (ja
Inventor
Minoru Hashimoto
稔 橋本
Yasushi Ishii
靖 石井
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.)
AVAL DATA CORP
Original Assignee
AVAL DATA 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 AVAL DATA CORP filed Critical AVAL DATA CORP
Priority to JP32887098A priority Critical patent/JP3292241B2/ja
Publication of JP2000151617A publication Critical patent/JP2000151617A/ja
Application granted granted Critical
Publication of JP3292241B2 publication Critical patent/JP3292241B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Small-Scale Networks (AREA)

Abstract

(57)【要約】 【課題】 格納されるデータの数が増加しても、そのデ
ータの検索時間が長くならないデータ配列のテーブルを
作るテーブル作成装置および当該テーブルからデータを
短時間で検索するテーブル検索装置を提供する。 【解決手段】 テーブルを(a)に示すメインテーブル
MTと(b)に示すサブテーブルSTに分け、これらの
相対行アドレスをインデックスとして、テーブルの行を
飛び飛びに検索するようにした。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本願発明は、例えばMAC
(Media Access Control)アドレ
スのようなデータを格納していきMACアドレステーブ
ルのようなテーブルを作るテーブル作成装置および上記
のようなテーブル作成装置を用いて作ったテーブルとデ
ータ配列が同一のテーブルから特定のデータ(例えば、
特定のMACアドレス)を検索するテーブル検索装置に
関する。
【0002】
【従来の技術】例えばLAN(Local Area
Network)において、接続する各ホストのMAC
アドレスに基づいて、各ホストの送受信回数の集計等を
実行して当該LANを管理する従来のネットワーク管理
装置では、図7に示すようなMACアドレステーブルを
備えている。当該MACアドレステーブルは、多数の行
からなり、各行には、当該LANに接続されているホス
トのMACアドレス(同図ではa、b、c、……と示さ
れている)が格納されるMACアドレスエリアMAと、
当該ホストの例えば送受信回数の集計データ等が記憶さ
れる管理データエリアDA(この管理データエリアDA
は、正確には、更に多数の小エリアに分かれており、そ
れぞれには、対応する上記集計データ等が1つずつ記憶
される)とからなる。そして、LANにホストが追加接
続される度に、当該ホストに対して上記MACアドレス
テーブル中の空いている行が与えられ、その行のMAC
アドレスエリアMAにそのホストのMACアドレスが格
納され、以後は、当該ホストに係る上記集計データ等が
その行の管理データエリアDAに記憶されていく。
【0003】上記のようなMACアドレステーブルの管
理データエリアDAへ特定のホストの上記集計データ等
を更新記憶するために、当該ホストのMACアドレスが
格納されている行を得るためには(すなわち、当該ホス
トのMACアドレスがMACアドレスエリアMAに格納
されている行を得るためには)、当該テーブルの最初の
行から最後の行の方へ向って1行ずつ、順次、格納され
ているMACアドレスと当該ホストのMACアドレスと
を比較し、一致しているかを判断する処理を、両MAC
アドレスが一致するまで続ける。
【0004】
【発明が解決しようとする課題】しかし、前述のような
方法でデータ(上記の例でいうならMACアドレス)を
格納していきテーブルを作成して、上記のような方法で
当該テーブルから特定のデータを検索するのでは、テー
ブルの最初の方に格納されているデータ(前記図7のM
ACアドレステーブルでいうなら同図に示すデータa,
b或いはc等)を検索する場合には、検索時間は短くな
るが、テーブルの最後の方に格納されているデータ(前
記図7でいうなら同図に示すデータr等)を検索する場
合には、検索時間は長くなる。そして、当該テーブルに
格納されているデータ数が多くなる程(前記例でいうな
ら、LANに接続するホストが多くなりMACアドレス
数が多くなる程)、当該検索時間は一般に長くなること
になる。
【0005】本願発明は、上述のような事情に鑑みてな
されたものであり、格納されるデータの数が増加して
も、そのデータの検索時間が長くならないデータ配列の
テーブルを作るテーブル作成装置および当該テーブルか
らデータを短時間で検索するテーブル検索装置の提供を
目的とする。
【0006】
【課題を解決するための手段】請求項1の発明では、順
次送られてくるmビットデータ(ただし、mビットの全
てが0となっているデータは除かれている)を、後述の
テーブル記憶手段内のテーブルに格納していくテーブル
作成装置を以下のように構成した。すなわち、それぞれ
その行を特定する行番号が与えられている2のn(ただ
しn<m)乗個の行からなり、当該各行は、少なくて
も、上記mビットデータが格納されるデータ格納エリア
と後述のインデックスが格納されるインデックスエリア
とを有するメインテーブルと、それぞれその行を特定す
る行番号が与えられている多数(実際に利用される上記
mビットデータの個数程度)の行からなり、当該各行
は、少なくても、上記mビットデータが格納されるデー
タ格納エリアと後述のインデックスが格納されるインデ
ックスエリアとを有するサブテーブルを備えているテー
ブル記憶手段と、上記mビットデータが送られてくる度
に、送られてきた当該mビットデータから、上位a(た
だしaは予じめ定められた0以上の数)ビットを除き、
更に下位b(ただしbは予じめ定められている0以上の
数)ビットを除いて得られたn(従ってn=m−a−
b)ビットデータを読込み、当該nビットデータに対応
する上記行番号を求め、その上で当該行番号が与えられ
ている上記メインテーブル中の行のデータ格納エリアに
は、既に以前に送られてきたmビットデータが格納され
ているか否かを判断する第1判断手段と、上記第1判断
手段が否定的判断をしたときに、上記第1判断手段の判
断対象となったメインテーブル中の行のデータ格納エリ
アに、今回送られてきたmビットデータを格納する第1
格納手段と、上記第1判断手段が肯定的判断をしたとき
に、既に格納されているmビットデータは、今回送られ
てきたmビットデータと等しいデータか否かを判断する
第2判断手段と、上記第2判断手段が否定的判断をした
ときに、上記第1判断手段の判断対象となったメインテ
ーブル中の行の上記インデックスエリアには、既にイン
デックスが格納されているか否かを判断する第3判断手
段と、上記第3判断手段が否定的判断をしたときに、上
記サブテーブル中の行で、未だ上記mビットデータが格
納されていない行を見つけて、その行のデータ格納エリ
アに今回送られてきたmビットデータを格納する第2格
納手段と、上記第2格納手段が上記格納処理を終えたと
きに、当該格納処理が行なわれたデータ格納エリアが属
する行の行番号を、上記第3判断手段の判断対象であっ
たメインテーブル中の行のインデックスエリアにインデ
ックスとして格納する第3格納手段と、上記第3判断手
段が肯定的判断をしたときに、当該判断対象となったメ
インテーブル中の行の上記インデックスエリアにインデ
ックスとして格納されていた行番号に基づいて、当該行
番号が与えられているサブテーブル中の行を捜し、当該
行のデータ格納エリアに既に格納されているmビットデ
ータは、今回送られてきたmビットデータと同一のデー
タか否かを判断する第4判断手段と、上記第4判断手段
が否定的判断をしたとき、又は後述の第6判断手段が否
定的判断をしたときに、それぞれ第4判断手段又は第6
判断手段の判断の対象となったサブテーブル中の行のイ
ンデックスエリアにインデックスが格納されているか否
かを判断する第5判断手段と、上記第5判断手段が肯定
的判断をしたときに、判断の対象となったインデックス
エリアにインデックスとして格納されているサブテーブ
ルの行番号に基づき、当該行番号が与えられているサブ
テーブル中の行を捜し、当該行のデータ格納エリアに格
納されているmビットデータは、今回送られてきたmビ
ットデータと同一のデータか否かを判断する第6判断手
段と、上記第5判断手段が否定的判断をしたときに、サ
ブテーブル中の行でその行のデータ格納エリアに、未だ
mビットデータが格納されていない行を捜し、当該行の
データ格納エリアに今回送られてきたmビットデータを
格納する第4格納手段と、上記第4格納手段が上記格納
処理を終えたときに、当該第4格納手段による格納が行
なわれたサブテーブル中の行の行番号をインデックスと
して、上記第5判断手段が、直前に、判断の対象とした
インデックスエリアに格納する第5格納手段とを備える
構成とした。
【0007】請求項2の発明では、請求項1記載のテー
ブル作成装置以下の各手段を追加した。即ち、上記第1
格納手段が格納処理を終えたときに、当該格納に応じた
所定の処理を実行する第1処理手段と、上記第2判断手
段が肯定的判断をしたときに、既に格納されているmビ
ットデータと同一のデータが更にもう一度送られてきた
ことに応じた所定の処理を実行する第2処理手段と、上
記第3格納手段が上記格納処理を終えたときに、上記第
2格納手段による処理に応じた所定の処理を実行する第
3処理手段と、上記第4判断手段が肯定的判断をしたと
きに、すでに格納されているmビットデータと同一のデ
ータが更にもう一度送られてきたことに応じた所定の処
理を実行する第4処理手段と、上記第6判断手段が肯定
的判断をしたときに、既に格納されているmビットデー
タと同一のデータが更にもう一度送られてきたことに応
じた所定の処理を実行する第5処理手段と、上記第5格
納手段による格納処理が終了したときに、当該格納に応
じた所定の処理を実行する第6処理手段とが追加される
構成とした。
【0008】請求項3の発明では、上記請求項1又は請
求項2記載のテーブル作成装置で作成されたテーブルと
同一のデータ配列になっているテーブルから当該テーブ
ルに格納されている特定のmビットデータを検索するテ
ーブル検索装置を以下のように構成した。すなわち、検
索すべきmビットデータが指定される度に、当該mビッ
トデータに係る前記nビットデータを読込み、当該nビ
ットデータに対応する前記行番号が与えられているメイ
ンテーブル中の行の前記データ格納エリアには、検索す
べきmビットデータが格納されているか否かを判断する
格納データ判別手段と、上記格納データ判別手段が否定
的判断をしたときに又は後述のデータ格納済判断手段が
否定的判断をしたときに、先の判断で判別対象としたデ
ータ格納エリアの属する行のインデックスエリアには、
インデックスが格納されているか否かを判断するインデ
ックス格納済判断手段と、上記インデックス格納判断手
段が肯定的判断をしたときに、当該インデックス格納判
断手段が判断対象としたインデックスエリアに格納され
ているインデックスに対応する行番号が与えられている
サブテーブル中の行には、検索すべきmビットデータが
格納されているかを判断するデータ格納済判断手段と、
上記格納データ判別手段が肯定的判断をしたとき又は上
記データ格納済判断手段が肯定的判断をしたときに、検
索すべきmビットデータを検索できたときに行なう所定
の処理(例えば、上記検索すべきmビットデータに対応
づけられて、同一行の他のエリアに格納されているデー
タの読出し処理等)を実行する所定処理実行手段とを備
える構成とした。
【0009】
【発明の実施の形態】以下、図面に示す実施の形態に基
づいて、本願発明を具体的に説明する。なお、本実施の
形態は、LANのネットワーク管理装置のMACアドレ
ステーブル作成部およびこのテーブルの検索部に本願発
明を適用したものである。
【0010】本発明が適用されているテーブル作成部
(装置)およびテーブル検索部(装置)を備えるネット
ワーク管理装置1の構成は、図1に示すようになってい
る。すなわち当該ネットワーク管理装置1は、CPU2
を中心とし、これに後述のメインテーブルMTおよびサ
ブテーブルST等が記憶されているRAM4、当該ネッ
トワーク管理装置1の各種動作を指示するプログラム等
を固定的に記憶しているROM3およびLANコントロ
ーラ5とが接続する構成となっている。そしてLANコ
ントローラ5は、LANケーブル6に接続されている。
【0011】本実施の形態では、前記MACアドレステ
ーブルをメインテーブルMTとサブテーブルSTとの2
つのテーブルに分けているが、図2の(a)は前者の構
成を示すもので、同図の(b)は後者の構成を示すもの
である。メインテーブルMTは、図2の(a)に示すよ
うに、相対行アドレス(基底行アドレスをDとしてい
る)0から65535の1つがそれぞれ与えられている
65536行からなり(なお65536行とするのは、
本実施の形態では、48ビットデータのMACアドレス
の下位2バイトすなわち16ビットからなるデータを前
記nビットデータとしており、この16ビットからなる
データは2の16乗通り、すなわち65536通り存在
し得るので、それらの各データに1行を与えるためであ
る)、そして各行はMACアドレスエリアMA、インデ
ックスエリアIAおよび管理データエリアDAを有して
いる。MACアドレスエリアMAはMACアドレスが格
納されるエリアであり、インデックスエリアIAは、こ
のメインテーブルのその行とサブテーブル中の1つの行
を関連づけるインデックスが格納されるエリアであり、
管理データエリアDAは、更に多数の小エリアに分かれ
ており、それらの各小エリアには、特定のホスト(その
行のMACアドレスエリアMAにMACアドレスが格納
されているホスト)のパケット送信回数、パケット受信
回数等のデータが格納されていく。
【0012】また、同図(b)に示すサブテーブルST
は、当該ネットワーク管理装置が接続されているLAN
に、接続される可能性があるホストの台数すなわち20
0台にそれぞれ1行が与えられる200行からなり、各
行は、メインテーブルMTと同様にMACアドレスエリ
アMA、インデックスエリアIAおよび管理データエリ
アDAからなっている。なお当該サブテーブルSTのイ
ンデックスエリアIAには、メインテーブルMTのイン
デックスエリアIAと異なり、サブテーブル内の他の行
と関連づけるインデックスが格納される。
【0013】次に、以上のように構成された本実施の形
態の動作を説明する。本実施の形態に係るネットワーク
管理装置は、いずれかのホストからLANにパケットが
送出されるたびに、そのパケットを取込み、いずれのホ
ストからいずれのホストに送られるものかを検知し、そ
れらホストのパケット送信回数やパケット受信回数等の
各集計等を、前記メインテーブルMTやサブテーブルS
Tの管理データエリアDAの計数値を更新することによ
り行なっていく。しかし、両テーブルへのデータの格納
動作や、両テーブルからのMACアドレスの検索動作に
関しては、上記いずれのデータの集計等に際しても、概
ね同じである。そこで、以下の動作説明では、パケット
が送られてくる度に行なわれるその送信元ホストの送信
回数を上記両テーブルを利用して集計(カウント)する
動作および当該集計結果を両テーブルから読出する際の
動作を、例にして、図3〜図6のフローチャートを参照
しながら説明する。また以下では、48ビットのデータ
であるMACアドレスを、便宜上、そのビット配列を保
ったままで4ビットずつに分けて当該各4ビットを16
進数で表す2進化16進数として表示する。
【0014】(A)、先ず、メインテーブルMTおよび
サブテーブルSTに1つもMACアドレスが格納されて
いない状態(各行の各エリアには全て0が格納されてい
る)でパケットが送られてきて、その送信元ホストのM
ACアドレスが111000ff0002であった場合
を例とし、そのときの動作を説明する。この場合、図3
のステップS1で上記MACアドレスの下位16ビット
データすなわち0002に対応する相対行アドレス2
(すなわち行アドレス(D+2))を求めて、然る後に
ステップS2に進む。そしてこのステップS2では、メ
インテーブルMT中の相対行アドレス2の行のMACア
ドレスエリアMAには、未だMACアドレスが格納され
ていないことを判断して、ステップS3に進み、上記M
ACアドレスエリアMAに上記MACアドレス1110
00ff0002を格納する。その後、ステップS4に
進み、上記行の管理データエリアDA中の小エリアで送
信回数を記憶しておくエリア(以下、送信回数エリアと
いう)に1を記憶しておく。これでMACアドレス11
1000ff0002のホストがパケットを1回送信し
たことを記録したことになる。
【0015】(B)、次に、上記パケットが送られて来
た後に、同一ホストからパケットが送られてきた場合を
例とし、そのときの動作について説明する。この場合、
前記同様にして、図3のステップS1で相対行アドレス
2を求め、ステップS2に進むが、今回は、既に相対行
アドレス2の行のMACアドレスエリアMAにはMAC
アドレスが格納されていると判断し、当該ステップS2
からステップS5に進み、当該ステップS5で、既に格
納されているMACアドレスは今回の送信元ホストMA
Cアドレスと同じであることを確認して、ステップS4
に進む。ステップS4では前記管理データエリアDAの
送信回数エリアの送信回数データを1だけ大きいものに
更新する。
【0016】(C)、次に上記(B)の動作の後にMA
Cアドレスが100011af0001のホストからの
最初のパケットが送られてきたときを例とし、そのとき
の動作に説明する。この場合は、上記(A)の場合と概
ね同様の動作がなされ、メインテーブルMTの相対行ア
ドレス1の行のMACアドレスエリアMAに上記送信元
MACアドレス100011af0001が格納され当
該行の管理データエリアDAの送信回数エリアに1が記
憶される。
【0017】(D)、上記(C)の動作の以後に(直後
に限らないが、その間、下位側16ビットが同一のMA
Cアドレスのパケットは送られてきてないたことにす
る)、(C)の場合の送信元MACアドレスと下位側1
6ビットが同一のMACアドレス100011de00
01のホストからパケットが送られてきたときを例と
し、そのときの動作を説明する。この場合、図3のステ
ップS1で相対行アドレス1を求め、ステップS2でメ
インテーブルMT中の当該相対行アドレス1の行のMA
CアドレスエリアMAに既にMACアドレス(すなわち
上記(C)の動作で格納した100011af000
1)が格納されていることを確認してステップS5に進
む。ステップS5では、上記既に格納されているMAC
アドレスが、今回送られてきたMACアドレスと異なる
ことを検知し、図4のステップS7に進む。そしてこの
ステップS7では、上記相対行アドレス1の行のインデ
ックスエリアIAにインデックス(サブテーブルSTの
相対行アドレス)が未だ格納されていないことを確認し
て、ステップS8に進み、サブテーブルSTのいずれか
の行で未だその行のMACアドレスエリアMAにMAC
アドレスが格納されていない行を見つけ、その行、例え
ば相対行アドレス1(すなわち行アドレス(E+1))
の行のMACアドレスエリアMAに今回の送信元MAC
アドレス100011de0001を格納する(図2の
(b)の行アドレス(E+1)の行を参照)。次いでス
テップS9に進んで、上記メインテーブルMTの相対行
アドレス1の行のインデックスエリアIAに、上記サブ
テーブルST中の行で上記送信元MACアドレスを格納
した行の相対行アドレス1を格納しておく(図2の
(a)の相対行アドレス1のインデックスエリアIA参
照)。続くステップS10では、サブテーブルSTの相
対行アドレス1の行の管理データエリアDAにある送信
回数エリアに1を記憶して、MACアドレス10001
1de0001のホストからの送信が1回あった旨を記
録する。
【0018】(E)、上記の(D)の動作が終了した
後、先ず送信元MACアドレスが110011ff00
00のパケットが送られてき、次にMACアドレスの下
位16ビットが0000でないパケットが何個か送られ
てきて、その後に送信元MACアドレスが1100ff
110000のパケットが送られてきて、その次に送信
元MACアドレスが11aabbf10000のパケッ
トが送られてきたとして、即ち、下位16ビットが00
00となっている上記3個のMACアドレスがそれぞれ
送信元MACアドレスとなっているパケットが送られて
きたとし、そのときの動作を説明する。
【0019】先ず送信元MACアドレスが110011
ff0000のパケットが送られてきたときは、前記
(A)の場合と概ね同様の動作(図3のステップS1〜
S4)がなされる。これにより、メインテーブルMTの
相対行アドレス0の行のMACアドレスエリアMAに該
当MACアドレスが格納され(図2の(a)の行アドレ
ス(D+0)の行を参照)、当該相対行アドレス0の行
の管理データエリアDAの送信回数エリアに1が記憶さ
れる。次いで送信元MACアドレスが上記1100ff
110000のパケットが送られてきたときは、上記
(D)の場合と概ね同様であり、先ず図3のステップS
1で相対行アドレス0を求め、ステップS2ではメイン
テーブルMTの当該相対行アドレス0の行のMACアド
レスエリアMAには既に前記MACアドレス11001
1ff0000が格納されていることを検知し、ステッ
プS5で当該MACアドレスは今回の送信元MACアド
レスと同一でないことを検知し、図4のステップS7で
上記メインテーブルMTの相対行アドレス0の行のイン
デックスエリアIAには、インデックスが格納されてい
ないことを検出し、ステップS8でサブテーブルSTの
未使用の行、例えば相対行アドレス2の行のMACアド
レスエリアMAに今回の送信元MACアドレス1100
ff110000に格納し(図2の(b)の相対行アド
レス2の行のMACアドレスエリアMA参照)、ステッ
プS9で上記メインテーブルMTの相対行アドレス0の
行のインデックスエリアIAに上記サブテーブルSTの
相対行アドレス2を格納し(図2の(a)の相対行アド
レス0の行のインデックスエリアIA参照)、ステップ
S10でサブテーブルSTの相対行アドレス2の行の管
理データエリアDAの送信数エリアに1が記憶される。
【0020】次いで上記11aabbf10000が送
られてきたときは以下のようになる。すなわち図3のス
テップS1で相対行アドレス0を求め、ステップS2で
メインテーブルMTの当該相対行アドレス0の行のMA
CアドレスエリアMAにはすでにMACアドレスが格納
されているのを検知し、次のステップS5では上記行の
MACアドレスエリアMAに格納されているMACアド
レスは上記11aabbf0000ではないことを検知
する。次の図4のステップS7ではメインテーブルMT
の相対行アドレス0の行のインデックスエリアIAにイ
ンデックス2が格納されていることを検知し、次のステ
ップS11では、上記インデックス2に対応する相対行
アドレス2が与えられているサブテーブルST中の行の
MACアドレスエリアMAに格納されているMACアド
レスは今回の送信元MACアドレス11aabb100
00と同一ではないことを検出して、図5のステップS
13に進む。このステップS13では上記相対行アドレ
ス2が与えられているサブテーブルSTの行のインデッ
クスエリアIAにはインデックスが格納されていないと
判断して、ステップS15に進み、未だMACアドレス
エリアMAにMACアドレスが格納されていないサブテ
ーブルST中の行、例えば相対行アドレス3の行に上記
今回のMACアドレスを格納する(図2の(b)の相対
行アドレス3の行参照)。然る後、ステップS16では
サブテーブルSTにおける上記相対行アドレス3をイン
デックスとして、サブテーブルSTの相対行アドレス2
の行のインデックスエリアIAに格納する(図2の
(b)の相対行アドレス2の行のインデックスエリアI
A参照)。そして最後にステップS17で上記サブテー
ブルSTの相対行アドレス3の行の管理データエリアD
Aの送信回数エリアに1を記憶する。
【0021】(F)、上記(E)の動作の後に、更に送
信元MACアドレスが333226720000すなわ
ち下位側16ビットが上記同様に0000となっている
パケットが送られてきたときは、前記と概ね同様の動作
(ステップS1、S2、S5、S7、S11)の後に図
5のステップS13に進み、このステップSでサブテー
ブルSTの相対行アドレス2の行のインデックスエリア
IAにはインデックス3が格納されていることを検知
し、ステップS14に進み、上記インデックス3に対応
する相対行アドレス3が与えられているサブテーブルS
T中の行のMACアドレスエリアMAの送信元MACア
ドレスと、上記今回の送信元MACアドレスは等しくな
いことを検出し、その上でステップS13に戻る。そし
てこのステップS13で上記相対行アドレス3が与えら
れている行のインデックスエリアIAにインデックスが
未だ格納されていないことを確認し、ステップS15で
サブテーブルST中の未使用の行、例えば相対行アドレ
ス4の行に今回の送信元MACアドレスを格納し、ステ
ップS16では上記相対行アドレス3が与えられている
行のインデックスエリアIAにインデックスとして上記
相対行アドレス4を格納し、更にステップS17で、上
記相対行アドレス4の行の管理データエリアDAの送信
回数エリアに1を記憶する。
【0022】(G)、上記(F)の動作の後に、この
(F)の動作での送信元MACアドレスと同一のMAC
アドレス333226720000が送信元MACアド
レスとして送られてきたときは以下のような動作が行な
われる。ステップS1、S2、S5、S7、S11、S
13、S14では上記(F)での場合と概ね同様の処理
が行なわれ、その後ステップS14からステップS13
に戻り、ここでサブテーブルSTの相対行アドレス3の
行のインデックスエリアIAにはインデックス4が格納
されていることを検出し、再度、ステップS14に戻っ
て、上記インデックス4に対応する相対行アドレス4が
与えられている行のMACアドレスエリアMAに格納さ
れているMACアドレスは今回の送信元MACアドレス
と等しいことを検出して、ステップS17に進んで、サ
ブテーブルSTの上記相対行アドレス4の行の管理デー
タエリアDAの送信回数エリアの送信回数を1だけ大き
い2にする。
【0023】(H)、既にサブテーブルSTに格納して
いるMACアドレス100011de0001が、再
度、送信元MACアドレスとして送られてきたときの動
作は以下のようになる。すなわちステップS1で相対行
アドレス1を求め、ステップS2でメインテーブルMT
の相対行アドレス1の行のMACアドレスエリアMAに
は既にMACアドレスが格納されていることを確認し、
ステップS5で格納されているのは今回の送信元MAC
アドレスではないことを検出し、ステップS7でメイン
テーブルMTの相対行アドレス1の行のインデックスエ
リアIAにはインデックスが格納されていることを検出
し、ステップS11で当該インデックスに対応する相対
行アドレス1が与えられているサブテーブルST中の行
のMACアドレスエリアMAに格納されているMACア
ドレスは、今回の送信元MACアドレスに等しいことを
検出してステップS12に進み、上記相対行アドレス1
の行の管理データエリアDAの送信回数エリアの送信回
数を1だけ大きいものにしておく。
【0024】以下、上記(A)〜(H)の動作例と概ね
同様な動作を繰返して、上記メインテーブルMTおよび
サブテーブルSTに各MACアドレスごとに(すなわ
ち、各ホストごとに)各種データを集計していくことに
なる。
【0025】次に以上のようにして、各MACアドレス
毎に各種データを集計した後に、これら両テーブルから
特定ホストについての上記集計データを読取る際の動作
例を示す。
【0026】(1)、先ず、MACアドレス10001
1af0001が与えられているホストについての各種
データを検索する場合の動作を説明する。最初に図6の
ステップS20で上記MACアドレスの下位2バイト
(すなわち16ビット)0001に対応する相対行アド
レス1を求め、その後にステップS21に進み、メイン
テーブルMT中の相対行アドレス1の行のMACアドレ
スエリアMAに上記MACアドレスが格納されているこ
とを確認して(図2の(a)の相対行アドレス1の行を
参照)、ステップS22で当該相対行アドレス1の行の
管理データエリアDAより各種データを読出すことにな
る。
【0027】(2)、次にMACアドレス333226
720000が与えられているホストについての各種デ
ータを検索する場合の動作を説明する。先ず、図6のス
テップS20で、上記同様にして相対行アドレス0を求
め、続くステップS21でメインテーブルMTの相対行
アドレス0の行のMACアドレスエリアMAに上記MA
Cアドレスが格納されていないことを判断し(図2の
(a)の相対行アドレス0の行を参照)、次いでステッ
プS23で上記相対行アドレス0の行のインデックスエ
リアIAにインデックスが格納されていることを検知す
る。その後、ステップS24に進み、上記インデックス
エリアIAに格納されているインデックスに対応する相
対行アドレス2が与えられているサブテーブルSTの行
のMACアドレスエリアMAには上記MACアドレス3
33226720000が格納されていない(図2の
(b)の相対行アドレス2の行を参照)ことを判断し
て、ステップS23に戻る。そしてこのステップS23
で上記相対行アドレス2の行のインデックスエリアIA
にはインデックスが格納されていることを確認して、次
のステップS24では当該インデックスエリアIAに格
納されているインデックスに対応する相対行アドレス3
の行のMACアドレスエリアMAに上記MACアドレス
が格納されていない(図2の(b)の相対行アドレス3
の行を参照)ことを確認し、ステップS23に戻る。そ
してこのステップSで上記相対行アドレス3の行のイン
デックスエリアIAにインデックスが格納されているこ
とを確認して、続くステップS24で当該インデックス
に対応する相対行アドレス4の行のMACアドレスエリ
アMAに上記MACアドレス333226720000
が格納されていることを判断し(図2の(b)の相対行
アドレス4の行を参照)、ステップS22に進み、上記
相対行アドレス4の行の管理データエリアDAより各種
データを読出すことになる。
【0028】なお、上記ステップS23で否定的判断が
なされたときは、検索対象となっているホストについて
のデータがメインテーブルMTおよびサブテーブルST
のいずれにも集計されていないことになる。
【0029】上記のように本実施の形態では、テーブル
の各行を一行ずつ順次、点検する検索法でなく、メイン
テーブルMTの相対行アドレスやインデックスを利用
し、テーブルの行を飛び飛びに点検していくので検索時
間を大幅に短縮化できる。
【0030】なお、本実施の形態は、MACアドレス毎
に各種データをそれぞれ集計し、その集計データをMA
Cアドレスで検索するものであるが、本願発明は、これ
に限定されず、MACアドレス以外の例えばIPアドレ
ス毎にデータを集計、検索するものに適用してもよい。
また、各種データを集計せず、メインテーブルMT、サ
ブテーブルSTにMACアドレス或いはIPアドレス等
を登録するだけのものにも適用可能なことは無論であ
る。
【0031】
【発明の効果】以上、詳述したように本願発明によれ
ば、格納されるデータの数が増加しても、そのデータの
検索時間が長くならないデータ配列のテーブルを作るテ
ーブル作成装置および当該テーブルからデータを短時間
で検索するテーブル検索装置の提供を可能とする。
【図面の簡単な説明】
【図1】本願発明の実施の形態に係るネットワーク管理
装置の構成を示す図である。
【図2】本願発明の実施の形態で作成されるテーブルの
構成を示す図である。
【図3〜5】上記実施の形態での送信元ホストの送信回
数集計処理を示すフローチャートである。
【図6】上記実施の形態での集計データの検索処理を示
すフローチャートである。
【図7】従来のテーブル検索処理を説明するための図で
ある。
【符号の説明】
1 ネットワーク管理装置 2 CPU 3 ROM 4 RAM 5 LANコントローラ 6 LANケーブル MA MACアドレスエリア DA 管理データエリア MT メインテーブル ST サブテーブル IA インデックスエリア

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 順次送られてくるmビットデータ(ただ
    し、mビットの全てが0となっているデータは除かれて
    いる)を、後述のテーブル記憶手段内のテーブルに格納
    していくテーブル作成装置であって、 それぞれその行を特定する行番号が与えられている2の
    n(ただしn<m)乗個の行からなり、当該各行は、少
    なくても、上記mビットデータが格納されるデータ格納
    エリアと後述のインデックスが格納されるインデックス
    エリアとを有するメインテーブルと、それぞれその行を
    特定する行番号が与えられている多数(実際に利用され
    る上記mビットデータの個数程度)の行からなり、当該
    各行は、少なくても、上記mビットデータが格納される
    データ格納エリアと後述のインデックスが格納されるイ
    ンデックスエリアとを有するサブテーブルを備えている
    テーブル記憶手段と、 上記mビットデータが送られてくる度に、送られてきた
    当該mビットデータから、上位a(ただしaは予じめ定
    められた0以上の数)ビットを除き、更に下位b(ただ
    しbは予じめ定められている0以上の数)ビットを除い
    て得られたn(従ってn=m−a−b)ビットデータを
    読込み、当該nビットデータに対応する上記行番号を求
    め、その上で当該行番号が与えられている上記メインテ
    ーブル中の行のデータ格納エリアには、既に以前に送ら
    れてきたmビットデータが格納されているか否かを判断
    する第1判断手段と、 上記第1判断手段が否定的判断をしたときに、上記第1
    判断手段の判断対象となったメインテーブル中の行のデ
    ータ格納エリアに、今回送られてきたmビットデータを
    格納する第1格納手段と、 上記第1判断手段が肯定的判断をしたときに、既に格納
    されているmビットデータは、今回送られてきたmビッ
    トデータと等しいデータか否かを判断する第2判断手段
    と、 上記第2判断手段が否定的判断をしたときに、上記第1
    判断手段の判断対象となったメインテーブル中の行の上
    記インデックスエリアには、既にインデックスが格納さ
    れているか否かを判断する第3判断手段と、 上記第3判断手段が否定的判断をしたときに、上記サブ
    テーブル中の行で、未だ上記mビットデータが格納され
    ていない行を見つけて、その行のデータ格納エリアに今
    回送られてきたmビットデータを格納する第2格納手段
    と、 上記第2格納手段が上記格納処理を終えたときに、当該
    格納処理が行なわれたデータ格納エリアが属する行の行
    番号を、上記第3判断手段の判断対象であったメインテ
    ーブル中の行のインデックスエリアにインデックスとし
    て格納する第3格納手段と、 上記第3判断手段が肯定的判断をしたときに、当該判断
    対象となったメインテーブル中の行の上記インデックス
    エリアにインデックスとして格納されていた行番号に基
    づいて、当該行番号が与えられているサブテーブル中の
    行を捜し、当該行のデータ格納エリアに既に格納されて
    いるmビットデータは、今回送られてきたmビットデー
    タと同一のデータか否かを判断する第4判断手段と、 上記第4判断手段が否定的判断をしたとき、又は後述の
    第6判断手段が否定的判断をしたときに、それぞれ第4
    判断手段又は第6判断手段の判断の対象となったサブテ
    ーブル中の行のインデックスエリアにインデックスが格
    納されているか否かを判断する第5判断手段と、 上記第5判断手段が肯定的判断をしたときに、判断の対
    象となったインデックスエリアにインデックスとして格
    納されているサブテーブルの行番号に基づき、当該行番
    号が与えられているサブテーブル中の行を捜し、当該行
    のデータ格納エリアに格納されているmビットデータ
    は、今回送られてきたmビットデータと同一のデータか
    否かを判断する第6判断手段と、 上記第5判断手段が否定的判断をしたときに、サブテー
    ブル中の行でその行のデータ格納エリアに、未だmビッ
    トデータが格納されていない行を捜し、当該行のデータ
    格納エリアに今回送られてきたmビットデータを格納す
    る第4格納手段と、 上記第4格納手段が上記格納処理を終えたときに、当該
    第4格納手段による格納が行なわれたサブテーブル中の
    行の行番号をインデックスとして、上記第5判断手段
    が、直前に、判断の対象としたインデックスエリアに格
    納する第5格納手段と、 を備えることを特徴とするテーブル作成装置。
  2. 【請求項2】 上記第1格納手段が格納処理を終えたと
    きに、当該格納に応じた所定の処理を実行する第1処理
    手段と、 上記第2判断手段が肯定的判断をしたときに、既に格納
    されているmビットデータと同一のデータが更にもう一
    度送られてきたことに応じた所定の処理を実行する第2
    処理手段と、 上記第3格納手段が上記格納処理を終えたときに、上記
    第2格納手段による処理に応じた所定の処理を実行する
    第3処理手段と、 上記第4判断手段が肯定的判断をしたときに、すでに格
    納されているmビットデータと同一のデータが更にもう
    一度送られてきたことに応じた所定の処理を実行する第
    4処理手段と、 上記第6判断手段が肯定的判断をしたときに、既に格納
    されているmビットデータと同一のデータが更にもう一
    度送られてきたことに応じた所定の処理を実行する第5
    処理手段と、 上記第5格納手段による格納処理が終了したときに、当
    該格納に応じた所定の処理を実行する第6処理手段と、 を備えることを特徴とする請求項1記載のテーブル作成
    装置。
  3. 【請求項3】 上記請求項1又は請求項2記載のテーブ
    ル作成装置で作成されたテーブルと同一のデータ配列に
    なっているテーブルから当該テーブルに格納されている
    特定のmビットデータを検索するテーブル検索装置であ
    って、 検索すべきmビットデータが指定される度に、当該mビ
    ットデータに係る前記nビットデータを読込み、当該n
    ビットデータに対応する前記行番号が与えられているメ
    インテーブル中の行の前記データ格納エリアには、検索
    すべきmビットデータが格納されているか否かを判断す
    る格納データ判別手段と、 上記格納データ判別手段が否定的判断をしたときに又は
    後述のデータ格納済判断手段が否定的判断をしたとき
    に、先の判断で判別対象としたデータ格納エリアの属す
    る行のインデックスエリアには、インデックスが格納さ
    れているか否かを判断するインデックス格納済判断手段
    と、 上記インデックス格納判断手段が肯定的判断をしたとき
    に、当該インデックス格納判断手段が判断対象としたイ
    ンデックスエリアに格納されているインデックスに対応
    する行番号が与えられているサブテーブル中の行には、
    検索すべきmビットデータが格納されているかを判断す
    るデータ格納済判断手段と、 上記格納データ判別手段が肯定的判断をしたとき又は上
    記データ格納済判断手段が肯定的判断をしたときに、検
    索すべきmビットデータを検索できたときに行なう所定
    の処理を実行する所定処理実行手段と、 を備えることを特徴とするテーブル検索装置。
JP32887098A 1998-11-04 1998-11-04 テーブル作成検索装置 Expired - Fee Related JP3292241B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32887098A JP3292241B2 (ja) 1998-11-04 1998-11-04 テーブル作成検索装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32887098A JP3292241B2 (ja) 1998-11-04 1998-11-04 テーブル作成検索装置

Publications (2)

Publication Number Publication Date
JP2000151617A true JP2000151617A (ja) 2000-05-30
JP3292241B2 JP3292241B2 (ja) 2002-06-17

Family

ID=18215023

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32887098A Expired - Fee Related JP3292241B2 (ja) 1998-11-04 1998-11-04 テーブル作成検索装置

Country Status (1)

Country Link
JP (1) JP3292241B2 (ja)

Also Published As

Publication number Publication date
JP3292241B2 (ja) 2002-06-17

Similar Documents

Publication Publication Date Title
US6173384B1 (en) Method of searching for a data element in a data structure
AU766229B2 (en) Method and apparatus for fast and random access of variable sized records stored in a partitioned format
US6877005B2 (en) Longest best match search
US6751627B2 (en) Method and apparatus to facilitate accessing data in network management protocol tables
US20010028651A1 (en) Cache table management device for router and program recording medium thereof
CN102739520B (zh) 查找方法及装置
US7187676B2 (en) Apparatus and method for steering a communication to an open stream
JP4059388B2 (ja) プロトコルデータ単位内のプロトコルパターンの識別装置及び方法
KR101411321B1 (ko) 액티브 노드와 유사한 특성을 가지는 이웃 노드의 관리방법, 장치 및 그 방법을 구현하기 위한 프로그램이 기록된기록매체
CN112347377A (zh) Ip地址段查找方法与业务调度方法、装置、电子设备
US6009423A (en) Search apparatus
JP3292241B2 (ja) テーブル作成検索装置
CN112866011A (zh) 网络拓扑结构的确定方法、装置、设备和介质
US7159019B2 (en) Information collection apparatus and method
JP4048861B2 (ja) アドレス検索装置
JP2005051661A (ja) 無線lan端末
KR100378599B1 (ko) 주소 메모리 블록의 간섭 인덱싱에 기반한 라우팅 테이블검색 방법
JP3570606B2 (ja) データ検索装置および方法
JPH0669928A (ja) ルーティング方式
JP2003036269A (ja) 情報処理装置および情報処理方法並びにこの情報処理のプログラムが記録された記録媒体
JPH0832613A (ja) 経路選択情報の検索装置
KR20040022231A (ko) 통신 네트워크에 연결된 디바이스를 식별하기 위한 방법및 디바이스
NL2026408B1 (en) A method of operating a storage device of an access point, a method of locating a device context of an end node device stored in a storage device of an access point, and an access point.
CN115065662A (zh) 一种mac地址哈希冲突的处理方法及系统
JP5258442B2 (ja) Arpテーブル管理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees