(57)【要約】【課題】縮退方式のテーブルのデータ削除による重複エントリの発生を防止する。【解決手段】テーブル管理装置１２０の情報処理部２１２は、所定のエントリのデータを削除する場合、削除エントリのデータと同じハッシュ値の第１グループの他のエントリのデータを削除エントリに移動させる。そして、この他のエントリのデータの移動に基づき、第２の管理グループのエントリに空きが出た場合には、この空きのエントリに第２の管理グループの他のエントリのデータを移動させることで、フロー管理テーブル２１３上で管理グループ毎のスタートアドレスからエンドアドレスまでの間に空きエントリがないようにテーブル更新する。そして、情報処理部２１２は、テーブル更新を行った状態で新規のエントリの発生を待機する。【選択図】図２
2015195484.tif 000002
【特許請求の範囲】
【請求項１】
メモリ空間を所定の縮退方式により圧縮し、新規のエントリ登録の発生時にアドレスを変化させてテーブル検索し、空きエントリ部分に前記新規のエントリのデータを格納するテーブル管理装置のテーブル管理方法において、
所定のエントリのデータを削除する場合、当該削除エントリのデータと同じ縮退パラメータの管理グループの他のエントリのデータを前記削除エントリに移動させ、
前記他のエントリのデータの移動に基づき、他の管理グループのエントリに空きが出た場合には、当該空きのエントリに前記他の管理グループの他のエントリのデータを移動させることで、前記テーブル上で管理グループ毎のスタートアドレスからエンドアドレスまでの間に空きエントリがないようにテーブル更新し、
前記テーブル更新を行った状態で前記新規のエントリ登録の発生を待機する、
処理を実行することを特徴とするテーブル管理方法。
【請求項２】
前記所定の縮退方式はハッシュ演算方式であり、前記テーブルはハッシュテーブルであり、前記管理グループはハッシュ演算に用いるハッシュ値別に異なる管理グループであり、
前記新規のエントリ登録の発生時に、当該新規のエントリ登録のデータを、ハッシュ演算により求めた管理グループ内の空きエントリに格納する、
ことを特徴とする請求項１に記載のテーブル管理方法。
【請求項３】
前記削除エントリのデータが、同じ管理グループのアドレスの最後のエントリのデータでない場合、同じ管理グループの最後のエントリのデータを、削除エントリに移動させる第１の処理と、
前記削除エントリのデータが、ハッシュ値が同じ管理グループのアドレスの最後のエントリのデータであり、かつ、当該削除エントリのデータの前後のアドレスに、異なる管理グループのエントリのデータがある場合には、前記異なる管理グループのアドレスの最後のエントリのデータを、前記削除エントリに移動させる第２の処理と、
前記第１の処理または前記第２の処理の実行に基づき発生する新たな削除エントリのデータに対して前記第１の処理と前記第２の処理と、を繰り返し実行し、
テーブル更新を行うことを特徴とする請求項２に記載のテーブル管理方法。
【請求項４】
新規のエントリ登録の発生時に、該当エントリにすでに異なるデータがエントリされていた場合は、アドレスを１または２以上のｎ単位で増加あるいは減少するように変化させてテーブル検索し、空きエントリ部分にデータを格納することを特徴とする請求項１〜３のいずれか一つに記載のテーブル管理方法。
【請求項５】
ネットワーク上のパケットを前記テーブル検索により処理する装置に設けられ、前記テーブルを管理することを特徴とする請求項１〜４のいずれか一つに記載のテーブル管理方法。
【請求項６】
メモリ空間を所定の縮退方式により圧縮し、新規のエントリ登録の発生時にアドレスを変化させてテーブル検索し、空きエントリ部分に前記新規のエントリのデータを格納するテーブル管理装置において、
所定のエントリのデータを削除する場合、当該削除エントリのデータと同じ縮退パラメータの管理グループの他のエントリのデータを前記削除エントリに移動させ、
前記他のエントリのデータの移動に基づき、他の管理グループのエントリに空きが出た場合には、当該空きのエントリに前記他の管理グループの他のエントリのデータを移動させることで、前記テーブル上で管理グループ毎のスタートアドレスからエンドアドレスまでの間に空きエントリがないようにテーブル更新し、
前記テーブル更新を行った状態で前記新規のエントリ登録の発生を待機する処理部
を有することを特徴とするテーブル管理装置。
【請求項７】
ネットワーク上のパケットを前記テーブル検索により処理する装置の前記テーブルを管理することを特徴とする請求項６に記載のテーブル管理装置。
【請求項８】
前記テーブルは、ＭＡＣアドレス学習のためのＭＡＣアドレス管理テーブルであることを特徴とする請求項７に記載のテーブル管理装置。
【請求項９】
前記テーブルは、ＩＰパケットの送信先のＩＰアドレス毎のフローの統計情報をカウントする際のフローを管理するフロー管理テーブルであることを特徴とする請求項７に記載のテーブル管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の縮退方式により圧縮したテーブルを管理するテーブル管理方法およびテーブル管理装置に関する。
【背景技術】
【０００２】
例えば、イーサネット（登録商標）を用いたネットワークにおけるＭＡＣアドレス学習では、ＭＡＣアドレス管理テーブルが用いられる。ＭＡＣアドレス管理などでは、データ全体の空間は膨大であるが、実際にはデータ全体の中の限られた数のデータをテーブルを用いて管理する。そして、該当データが到着した場合に、テーブル内の該当するデータがエントリされた箇所を検索することで、データに紐付けされた情報を取り出す。
【０００３】
例えば、ルーティングのアドレステーブルにアドレス情報を追加する際に、追加するアドレス情報が既に入力されているかをチェックすることにより、アドレス情報の数が増加しても検索時間の増加を抑える技術がある（例えば、下記特許文献１参照。）。
【０００４】
また、ＩＰアドレスとプレフィクス長からなる経路のデータ追加時に、追加領域に接する領域のうち空き領域の大きい方に追加することでデータの格納領域を一塊にし、経路の追加や削除の手間を省き更新を高速化する技術がある（例えば、下記特許文献２参照。）。
【０００５】
上述したＭＡＣアドレス管理テーブルを用いた検索などには、一般的にＣＡＭ（コンテンツ・アドレッサブル・メモリ）が使われる。ＣＡＭは、一般的に消費電力が大きいデメリットがあり、ＣＡＭにかわる方式としてハッシュ演算によるデータ管理方式がある。
【０００６】
例えば、受信したパケットの送信元ＩＰアドレス（ＳＡ）の管理テーブルにおいて、受信したパケットのＳＡが管理テーブルのいずれのエントリのデータとも異なれば、管理テーブルの空きエントリにデータとして登録する、管理テーブルの更新処理を実施する。受信したパケットのＳＡが管理テーブルのいずれかのエントリのデータとして既に登録してあれば、管理テーブルの更新はしない、という処理を考える。
【０００７】
ハッシュ演算によるデータ管理方式では、受信したパケットのＳＡにハッシュ演算を行い、その結果であるハッシュ演算値に対応した管理テーブルのアドレス（エントリ）から、該ＳＡに該当するデータ（ＳＡ）の有無の検索を開始する。そして、同一データ（ＳＡ）があれば管理テーブルに対する処理を終了する。同一データ（ＳＡ）がなければ、データを有さない空きアドレス（空きエントリ）に、今回のデータ（ＳＡ）を登録（格納）することになる。このように、上記ハッシュを用いたデータを格納する場合、検索する元のデータが異なるが、ハッシュ演算値が同一となる場合が生じる。このような場合、テーブルのアドレスを順次増やして、データを有さない、空きエントリに今回検索してヒットしなかったデータを登録（格納）する方法（アドレス変化方法と称す）が用いられている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平０５−１２０３４０号公報
【特許文献２】特開２００３−６０６８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
図１１は、従来技術による重複エントリ（ハッシュ演算値が同一で、同一のデータを、テーブルの別アドレス（別のエントリ）に重複して登録する処理）の問題を説明する図である。図１１を用いて具体的に説明すると、例えば、テーブルに、ハッシュ演算値が同一であるデータＡ，Ｂ，Ｃ，Ｓがそれぞれ、アドレスｘ１、ｘ２、ｘ３、ｘ４に登録（格納）されていたとする。
【００１０】
そして、データ格納後、所定時間が経過した場合のエージング処理等によって、テーブルから格納済みのデータ（アドレスｘ３のデータＣ）を削除したとする。このようなデータ削除を行った場合、テーブル上でデータが連続せずに歯抜けの状態が発生する。
【００１１】
この状態で、データＳの処理時に、ハッシュ演算値が同一（ハッシュ演算値に対応するテーブルのアドレスがｘ１）となるので、上記のアドレス変化方法によりアドレスを増加させながらエントリのデータがデータＳと一致するかを判断し、一致しなければ次のアドレス（エントリ）で一致の判断を行う。データを有しないアドレス（空きエントリ）を検出すると、データＳをそのアドレスのデータとして登録（格納）することとなる。
【００１２】
具体的には、図１１において、ハッシュ演算値に対応するアドレスｘ１について、そのデータＡがデータＳと一致するか判断する。一致しないので、次のアドレスｘ２のデータＢがデータＳと一致するか判断する。一致しないので、次のアドレスｘ３のデータを参照する。ここで、アドレスｘ３に対応するデータは、以前のデータＣが削除されているため、空きエントリと認識される。空きエントリの検出は、テーブルに、データＳを有するエントリがないものと認識し、この空きエントリのデータとして、データＳを登録する処理を行う。
【００１３】
このようにして、削除したアドレス以降のアドレスに、処理対象のデータＳと同一のデータ（アドレスｘ４のデータＳ）が登録されていたとしても、先に空きエントリと認識する、データが空のアドレス条件（アドレスｘ３）が見つかるため、以降のアドレス（ｘ３以降のアドレス）についての処理を行わず、このアドレスｘ３に新しくデータＳのエントリを作成してしまう。この結果、アドレスｘ３とｘ４に同じデータＳが格納され、データが同一である２個のエントリが作成されてしまう重複エントリの問題が生じる。重複エントリは不要なエントリであり、正確なテーブル管理の妨げとなる。
【００１４】
このような重複エントリの問題を回避するために、エントリを削除した後、削除したエントリ以降のアドレスのデータを順次手前の空きのアドレスにシフトさせ、テーブル上でエントリが歯抜け（同一のハッシュ演算結果を有するデータが登録された２アドレス間に、空きエントリのアドレスがあること）にならないようにする方法が考えられる。しかしながら、この方法では、シフトするエントリの数が多くなるにしたがいシフト完了までの処理時間が増加し、テーブル更新に時間がかかるため、データ検索を高速で処理するシステムでは要求を満たせない。
【００１５】
テーブルの更新を短時間で行う技術として、エントリデータの削除時に、削除したエントリ以降のアドレスにデータが有効なエントリがある場合、データが有効なエントリのうち最後のアドレスのエントリを、削除したエントリに移動させる方法がある。これによって、検索データテーブルの再構築を短時間に行える。特許文献２の方法では、同じグループ（同じプレフィクス長）のエントリを一塊にしている。
【００１６】
図１２は、従来技術によるハッシュ値を用いたテーブルの重複エントリの問題を説明する図である。上記特許文献２等の従来技術を用いても、ハッシュ演算によるテーブルの作成（エントリ）には対応することができない。図１２を用いて説明すると、データＡと同じハッシュ値をデータＢ，Ｃ，Ｄ，Ｅがもつとする。また、データＰと同じハッシュ値をデータＱ，Ｒ，Ｓがもつとする。
【００１７】
図１２の（ａ）に示すように、テーブルのアドレスｘ１〜ｘ６にデータＡ，Ｂ，Ｃ，Ｄ，Ｐ，Ｑがエントリ状態であるとする。この後、同一データのエントリがなく、新規エントリとなるデータＥは、アドレスｘ５、ｘ６が埋まっているためアドレスｘ７にエントリされる。その後、新規エントリとなるデータＲ，Ｓがあると、同様の処理でアドレスｘ８、ｘ９にエントリされる。
【００１８】
次に、データＤが削除された場合、図１２の（ｂ）に示すように、データＡ（Ｂ，Ｃ，Ｄ）と同じハッシュ値のデータＥがアドレスｘ４に移動されることになる。そして、アドレスｘ７は未エントリ状態になる。
【００１９】
この後、図１２の（ｃ）に示すように、データＲが入力されると、データＲのハッシュ演算値に対応する、アドレスｘ５から検索が開始され、対応するデータと、今回のデータＲとが同一かが比較される。テーブルにおいては、アドレスｘ５、ｘ６にはデータＰ，Ｑがエントリされており、次のアドレスｘ７が未エントリである。
【００２０】
入力データＲについての処理は、アドレスｘ５のデータＰとデータＲが異なるため、次のアドレスｘ６の処理となる。アドレスｘ６のデータＱとデータＲが異なるため、次のアドレスｘ７の処理となる。すると、アドレスｘ７は空きアドレスと認識され、アドレスｘ７にデータＲのエントリが作成される。結果として、データＲがアドレスｘ７とｘ８に二重にエントリされ重複エントリが生じてしまう。
【００２１】
このように、従来の技術では、ハッシュ演算等を用いたテーブル管理に適用すると、データの削除が生じると、空きエントリへのデータの移動により、異なるハッシュ値のグループに空きエントリが生じることがある。そして、空きエントリが生じた状態のままで、アドレス増加方法によりエントリ検索を行い、空きエントリに到達するとそのデータを登録する方法であると、重複エントリが作成されてしまう。重複エントリが生じた場合、重複エントリを回避するための処理（テーブル管理）が煩雑となり時間がかかるため、新規エントリ時等のテーブル検索を高速化できなくなる。
【００２２】
一つの側面では、本発明は、縮退方式のテーブルのデータ削除による重複エントリの発生を防止できることを目的とする。
【課題を解決するための手段】
【００２３】
一つの案では、テーブル管理方法は、メモリ空間を所定の縮退方式により圧縮し、新規のエントリ登録の発生時にアドレスを変化させてテーブル検索し、空きエントリ部分に前記新規のエントリのデータを格納するテーブル管理装置のテーブル管理方法において、所定のエントリのデータを削除する場合、当該削除エントリのデータと同じ縮退パラメータの管理グループの他のエントリのデータを前記削除エントリに移動させ、前記他のエントリのデータの移動に基づき、他の管理グループのエントリに空きが出た場合には、当該空きのエントリに前記他の管理グループの他のエントリのデータを移動させることで、前記テーブル上で管理グループ毎のスタートアドレスからエンドアドレスまでの間に空きエントリがないようにテーブル更新し、前記テーブル更新を行った状態で前記新規のエントリ登録の発生を待機する、処理を実行する。
【発明の効果】
【００２４】
一つの実施形態によれば、縮退方式のテーブルのデータ削除による重複エントリの発生を防止できる。
【図面の簡単な説明】
【００２５】
【図１】図１は、実施の形態にかかるテーブル管理装置が適用されるネットワーク構成例を示す図である。
【図２】図２は、テーブル管理装置の構成例を示す機能ブロック図である。
【図３】図３は、テーブル管理装置のハードウェア構成例を示す図である。
【図４】図４は、テーブル管理装置が行うデータ到着時のエントリ処理例を示すフローチャートである。
【図５】図５は、テーブル管理装置が行うデータ到着時のハッシュ演算を用いたエントリ処理例を示すフローチャートである。
【図６】図６は、図５のエントリ処理を説明するための図である。
【図７】図７は、テーブル管理装置が行うエントリ削除後のテーブル更新の処理例を示すフローチャートである。
【図８】図８は、テーブル管理装置が行う削除エントリの前後に異なるハッシュ値の管理グループのエントリの有無を判断する処理例を示すフローチャートである。
【図９】図９は、フロー管理テーブルの更新状態を説明する図である。（その１）
【図１０】図１０は、フロー管理テーブルの更新状態を説明する図である。（その２）
【図１１】図１１は、従来技術による重複エントリの問題を説明する図である。
【図１２】図１２は、従来技術によるハッシュ値を用いたテーブルの重複エントリの問題を説明する図である。
【発明を実施するための形態】
【００２６】
（実施の形態）
以下に添付図面を参照して、開示技術の好適な実施の形態を詳細に説明する。
【００２７】
図１は、実施の形態にかかるテーブル管理装置が適用されるネットワーク構成例を示す図である。この実施の形態では、テーブル管理装置１２０は、統計情報カウント装置１１０に設けられ、統計情報カウント装置１１０が用いるテーブルを管理する。
【００２８】
ネットワーク１００は、網側からユーザ側へ向かって、例えば、コアルータ１０１、転送ルータ１０２、ＴＡＰ（ネットワークタップ）１０３、エッジルータ１０４が配置され、互いに接続される。コアルータ１０１の上り側には、ＩＳＰ（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）等が設けられ、エッジルータ１０４の下り側には、ユーザの端末装置（ＰＣ、スマートフォンなど）が設けられる。
【００２９】
ＮＭＳ（Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）１０５は、コアルータ１０１、転送ルータ１０２、エッジルータ１０４、統計情報カウント装置１１０の情報を取得してネットワーク１００全体のトラヒックの制御等を行う。
【００３０】
統計情報カウント装置１１０は、ＴＡＰ１０３に接続され、ＴＡＰ１０３部分を通過する信号を抽出し、ＩＰパケットの送信先のＩＰアドレス毎のフロー（信号通過）の統計情報、例えば、パケット数、バイト数等をカウントする。テーブル管理装置１２０は、統計情報をカウントする際のフローを管理するテーブル（後述する図２のフロー管理テーブル２１３）を管理処理する（詳細は後述する）。
【００３１】
上記構成例では、テーブル管理装置１２０を統計情報カウント装置１１０に設けることとしたが、これに限らない。例えば、図１に示すネットワーク１００のレイヤ２スイッチ（Ｌ２ＳＷ）１１１にテーブル管理装置１２０を設け、ＭＡＣアドレス学習に用いるＭＡＣアドレス管理テーブルを管理する構成、等がある。
【００３２】
（テーブル管理装置の機能構成例）
図２は、テーブル管理装置の構成例を示す機能ブロック図である。この図には統計情報カウント装置１１０の機能についても記載してある。
【００３３】
統計情報カウント装置１１０は、インターフェース部２０１、パケット受信部２０２、統計情報カウンタ２０３を有する。テーブル管理装置１２０は、パケット識別部２１１、情報処理部２１２、フロー管理テーブル２１３を有する。
【００３４】
統計情報カウント装置１１０のインターフェース部２０１は、ネットワーク上の信号を受信する。パケット受信部２０２は、インターフェース部２０１が受信した信号を解析し、パケット単位のデータ処理を識別する。
【００３５】
テーブル管理装置１２０のパケット識別部２１１は、ＩＰパケットの送信元ＩＰアドレスを抽出し、情報処理部２１２へ送信元ＩＰアドレスの情報を渡す。フロー管理テーブル２１３は、各送信元ＩＰアドレスについて、統計情報を格納しているメモリのアドレス情報を格納する。統計情報カウンタ２０３には、各送信元ＩＰアドレス毎に、データのパケット数、バイト数等のカウント情報を格納する。このフロー管理テーブル２１３は、所定の縮退方式（例えばハッシュ演算方式）によりメモリ空間を圧縮してアクセス可能である。
【００３６】
情報処理部２１２は、送信元ＩＰアドレスに基づいて、フロー管理テーブル２１３を参照して、該当する信号のフローの情報２２０（統計情報を格納しているメモリのアドレスなど）を読み出す。そして、情報処理部２１２は、該当する送信元ＩＰアドレスのフローの統計情報（データのパケット数、バイト数など）を統計情報カウンタ２０３から読み出す。そして、読み出したフローの統計情報に、今回検出されたフローの情報（データのパケット数、バイト数など）を加算して、統計情報カウンタ２０３のカウンタ値を更新する。
【００３７】
（テーブル管理装置のハードウェア構成例）
図３は、テーブル管理装置のハードウェア構成例を示す図である。この図には統計情報カウント装置１１０のハードウェア構成についても記載してある。
【００３８】
統計情報カウント装置１１０は、回線インターフェース３０１、パケット処理エンジン３０２を有する。テーブル管理装置１２０は、ＣＰＵ３１１、タイマ３１２、メモリ３１３を有する。
【００３９】
図３に記載の回線インターフェース３０１は、図２のインターフェース部２０１の機能を実現する。図３に記載のパケット処理エンジン３０２は、図２のパケット受信部２０２の機能を実現する。
【００４０】
図３に記載のＣＰＵ３１１は、メモリ３１３等に格納されたプログラムを実行することにより、図２のパケット識別部２１１、情報処理部２１２の機能を実現する。そして、ＣＰＵ３１１は、パケット処理エンジン３０２の出力データに基づき、パケット識別および統計情報処理を実行する。また、ＣＰＵ３１１は、メモリ３１３（統計情報カウンタ２０３、フロー管理テーブル２１３）へのデータアクセス（カウンタおよびテーブル管理）を行う。図３に記載のメモリ３１３は、図２の統計情報カウンタ２０３と、フロー管理テーブル２１３の格納データを保持する。
【００４１】
図３に記載のタイマ３１２は、時間を計時する。ＣＰＵ３１１は、後述するエージングの実施（フロー管理テーブル２１３内のデータ削除）のためにタイマ３１２の計時情報を用いる。
【００４２】
（テーブル管理装置の処理内容）
以下の説明では、「エントリ」は、メモリ上でのアドレスと、対応するデータの組を示し、「空きエントリ」は、アドレスに対応するデータが登録されていないエントリ、を示すものとする。
【００４３】
（１．データ到着時のエントリ処理）
図４は、テーブル管理装置が行うデータ到着時のエントリ処理例を示すフローチャートである。はじめに、パケット処理エンジン３０２が、データの到着（図１のＴＡＰ１０３を通過する信号）を検出すると（ステップＳ４０１）、ＣＰＵ３１１は、検出したデータをパケット解析する（ステップＳ４０２）。ＣＰＵ３１１は、パケット処理エンジン３０２が検出したパケットのデータに含まれるＭＡＣアドレスやＩＰアドレス等、フローを識別する情報を取得し、得られた情報にハッシュ演算を行ってメモリ３１３（フロー管理テーブル２１３）のエントリ検索を行う（ステップＳ４０３）。
【００４４】
そして、ＣＰＵ３１１は、フロー管理テーブル２１３にアクセスし、識別したパケットに該当するエントリがあるか判断する（ステップＳ４０４）。識別したパケットに該当するエントリがなければ（ステップＳ４０４：Ｎｏ）、フロー管理テーブル２１３の空きエントリに、該当フローに関する情報（フローを識別するための情報）を格納し（ステップＳ４０５）、ステップＳ４０６に移行する。ＣＰＵ３１１は、識別したパケットに該当するエントリがあれば（ステップＳ４０４：Ｙｅｓ）、ステップＳ４０６に移行する。
【００４５】
このように、エントリ処理の基本的動作におけるフロー管理テーブル２１３の扱いとして、ハッシュ演算値に応じたフロー管理テーブル２１３の所定のアドレスから検索を開始する。そして、ハッシュ前のデータ、例えば、送信元ＩＰアドレスと一致すれば検索を終了して該当する処理を実施する。一方、送信元ＩＰアドレスと一致しないときは、次アドレスのデータ（ＩＰアドレス）と比較し、エントリとしての空きを検出したら、受信したパケットの送信元ＩＰアドレスに一致するものはなかったものと判断し、空きのエントリに、受信したパケットの送信元アドレスを登録する。
【００４６】
ステップＳ４０６では、ＣＰＵ３１１は、エントリ情報を元に各処理（統計情報カウント装置１１０が行う統計情報カウント処理）を実施する（ステップＳ４０６）。
【００４７】
上記のフローとは、処理を行う単位である。例えば、統計情報カウント処理によって、発信元ＩＰアドレス単位に送信バイト数をカウントする場合は、到着するパケットのうち、同一の発信元ＩＰアドレスをもつものが一つのフローとして管理される。また、データ管理上は、一つのフローに一つのエントリが割り当てられる。
【００４８】
（２．データ到着時のハッシュ演算を用いたエントリ処理）
図５は、テーブル管理装置が行うデータ到着時のハッシュ演算を用いたエントリ処理例を示すフローチャートである。図５に示す処理は、上述したアドレス変化方法の処理に相当する。
【００４９】
はじめに、パケット処理エンジン３０２が、図１のＴＡＰ１０３からパケットの到着を検出すると、ＣＰＵ３１１は、パケットを解析し、処理対象データである、データＳを検出する（ステップＳ５０１）。これは、例えば、図２のパケット２２０が到着すると、処理対象である、送信元ＩＰアドレスを抽出することに相当する。このとき、送信元ＩＰアドレスが、データＳに相当する。ＣＰＵ３１１は、パケット処理エンジン３０２が検出したパケットのデータＳのハッシュ値を演算する（ステップＳ５０２）。
【００５０】
例えば、データＳのハッシュ演算の結果に対応するフロー管理テーブルのアドレスがｘ１であったとする。この場合、ＣＰＵ３１１は、フロー管理テーブル２１３のアドレスＸとしてｘ１から検索を開始する（ステップＳ５０３）。
【００５１】
次に、ＣＰＵ３１１は、指定したアドレスＸ（ｘ１）に対応するデータが登録されているかを判断する（ステップＳ５０４）。アドレスＸにデータの登録がなければ（ステップＳ５０４：Ｎｏ）、アドレスＸにデータＳにデータを登録し、（ステップＳ５０５）、ステップＳ５０８に移行する。ここで、ステップＳ５０４でＮｏと判断されたことは、検索を開始したアドレスｘ１から、現在のアドレスＸの一つ前のアドレスまでには、比較対象のデータＳとは異なるデータが登録されており、アドレスＸにデータの登録がないことは、アドレスＸが、データＳをデータとして登録すべき、空きエントリであることを意味する。
【００５２】
一方、アドレスＸにデータの登録があれば（ステップＳ５０４：Ｙｅｓ）、ＣＰＵ３１１は、アドレスＸの登録データがデータＳと一致するかを判断する（ステップＳ５０６）。アドレスＸの登録データが、データＳに一致すれば（ステップＳ５０６：Ｙｅｓ）、ＣＰＵ３１１は、ステップＳ５０８に移行する。一方、アドレスＸの登録データが、データＳと一致しなければ（ステップＳ５０６：Ｎｏ）、ＣＰＵ３１１は、アドレスＸを１加算し（Ｘ＝Ｘ＋１、ステップＳ５０７）、ステップＳ５０４に戻る。
【００５３】
ステップＳ５０８では、ＣＰＵ３１１は、エントリ情報を元に各処理（統計情報カウント装置１１０が行う統計情報カウント処理）を実施する（ステップＳ５０８）。
【００５４】
図６は、図５のエントリ処理を説明するための図である。図５のステップＳ５０４〜ステップＳ５０６の各処理について、図６を用いて説明すると、ＣＰＵ３１１は、以下のように順次処理を行う。
【００５５】
１．アドレスＸ（＝ｘ１）にデータＡが登録されているのでステップＳ５０４は“Ｙｅｓ”
２．アドレスｘ１の登録データＡはデータＳと一致しないのでステップＳ５０６は“Ｎｏ”
３．アドレスＸ（＝ｘ２＝ｘ１＋１）にデータＢが登録されているのでステップＳ５０４は“Ｙｅｓ”
４．アドレスｘ２の登録データＢはデータＳと一致しないのでステップＳ５０６は“Ｎｏ”
５．アドレスＸ（＝ｘ３＝ｘ１＋２）にデータＣが登録されているのでステップＳ５０４は“Ｙｅｓ”
６．アドレスｘ３の登録データＣはデータＳと一致しないのでステップＳ５０６は“Ｎｏ”
７．アドレスＸ（＝ｘ４＝ｘ１＋３）にデータが登録されていないのでステップＳ５０４は“Ｎｏ”
８．ステップＳ５０５により、アドレスＸ（＝ｘ４＝ｘ１＋３）にデータＳをデータ登録（なお、図６はデータＳ登録後の状態である。）
【００５６】
上記のように、実施の形態では、既存のアドレス変化方法に基づき、ハッシュ演算値に対応するアドレスから、そのアドレスに対応するデータと、抽出されたデータＳとの一致判定を行い、一致しないときにアドレスを１ずつ増加させ、空きエントリに到達すると、データＳを登録（格納）する。
【００５７】
（エントリ削除後のテーブル更新の処理例）
図７は、テーブル管理装置が行うエントリ削除後のテーブル更新の処理例を示すフローチャートである。テーブル管理装置１２０（ＣＰＵ３１１）は、フロー管理テーブル２１３のエントリのうち削除に該当するエントリを、以下の要因で削除する。
【００５８】
（エントリの削除要因）
１．エージング
テーブル管理装置１２０は、予め定めた一定時間、あるエントリに該当するフローのパケットが到着しなかった場合に、エントリを削除する。ＣＰＵ３１１は、エントリ毎にタイマ３１２によるタイマカウントを行い、一定時間間隔でタイマを加算（あるいは減算）する。加算方式であれば該当するエントリのデータと同一のデータを含むパケット到着時に、カウンタ値を“０”にリセットして、タイマ値がフル（設定された閾値）になったら一定時間パケットが到着しなかったことを意味するので、該当エントリのデータを削除する。
【００５９】
減算方式であれば該当するエントリのデータと同一のデータを含むパケット到着時に、カウンタ値をフル（設定された値）にセットし、カウンタ値が”０”になったら一定時間パケットが到着しなかったことを意味するので、該当エントリのデータを削除する。
【００６０】
エントリの削除について、該当エントリのデータの削除に変えて、例えば、各エントリ毎に有効フラグを設け、エントリが有効なら“１”、エントリが削除状態なら“０”として管理してもよい。
【００６１】
２．特定のエントリを指定する削除
例えば、ＩＳＰがＩＰアドレスを動的にユーザに払い出す場合、ＩＳＰは、ＩＰアドレスの払い出し状態を管理している。そして、ユーザが端末の電源を落とすなどして、一定時間応答がない場合、ＩＳＰは、端末に付与したＩＰアドレスを回収し、回収したＩＰアドレスをＩＰアドレスのプールに戻し、他のユーザの端末へ払い出す。テーブル管理装置１２０がこのようなＩＰアドレスの払い出しを管理する上位システム（ＩＳＰ等）と連動する場合、ＩＳＰが削除するＩＰアドレスのユーザをテーブル管理装置１２０に通知し、テーブル管理装置１２０は該当するエントリのデータの削除を行う。
【００６２】
また、固定ＩＰのサービスなどで、ユーザがサービスを解約した場合は、ＩＳＰは、該当ＩＰのエントリを削除する。この場合、テーブル管理装置１２０は、ＩＳＰからの通知により、解約したユーザに該当するエントリのデータの削除を行う。
【００６３】
以下の説明では、便宜上、エントリのデータの削除の要因はエージングに基づくこととする。
【００６４】
図７を用いて説明すると、はじめに、ＣＰＵ３１１は、メモリ３１３（フロー管理テーブル２１３）のエントリのうち削除に該当するエントリのデータを削除対象とする（ステップＳ７０１）。次に、ＣＰＵ３１１は、削除するエントリのデータが同一ハッシュ値の管理グループの最後（フロー管理テーブル２１３上でアドレスが最後）のエントリのデータであるか判断する（ステップＳ７０２）。
【００６５】
削除するエントリのデータが同一ハッシュ値の管理グループの最後のエントリのデータでなければ（ステップＳ７０２：Ｎｏ）、ＣＰＵ３１１は、同一ハッシュ値の管理グループの最後のエントリのデータを削除するエントリに移動させ（ステップＳ７０３）、ステップＳ７０１に戻る。この移動により、削除対象のエントリのデータが上書きで削除されることになる。
【００６６】
一方、削除するエントリのデータが同一ハッシュ値の管理グループの最後のエントリのデータであれば（ステップＳ７０２：Ｙｅｓ）、ステップＳ７０４に移行する。ステップＳ７０４では、ＣＰＵ３１１は、削除するエントリのデータの前後に異なるハッシュ値の管理グループのエントリのデータがあるか判断する（ステップＳ７０４）。
【００６７】
削除するエントリのデータの前後に異なるハッシュ値の管理グループのエントリのデータがなければ（ステップＳ７０４：Ｎｏ）、以上の処理を終了する。一方、削除するエントリのデータ前後に異なるハッシュ値の管理グループのエントリのデータがあれば（ステップＳ７０４：Ｙｅｓ）、ＣＰＵ３１１は、該当するハッシュ値の管理グループの最後のエントリのデータを今回削除するエントリに移動し（ステップＳ７０５）、ステップＳ７０１に戻る。
【００６８】
上述したステップＳ７０３、およびステップＳ７０５の移動の処理によって新たに空きエントリが生じることがあるが、ステップＳ７０１に戻り図７の処理を繰り返すことによって、同一管理グループのエントリのデータは、アドレスが前詰めされて一塊にできる。
【００６９】
図８は、テーブル管理装置が行う削除エントリの前後に異なるハッシュ値の管理グループのエントリの有無を判断する処理例を示すフローチャートである。図８は、図７のステップＳ７０４の処理をより詳細化したものである。
【００７０】
図８の処理は、ステップＳ７０２の処理において、削除するエントリのデータが同一ハッシュ値の管理グループの最後のエントリのデータであるとき（ステップＳ７０２：Ｙｅｓ）、処理が開始される。はじめに、ＣＰＵ３１１は、削除するエントリのデータと同一ハッシュ値の最後のエントリまで検索する（ステップＳ８０１）。
【００７１】
次に、ＣＰＵ３１１は、検索している途中に異なるハッシュ値の管理グループのエントリのデータがあるか判断する（ステップＳ８０２）。途中に異なるハッシュ値の管理グループのエントリのデータがなければ（ステップＳ８０２：Ｎｏ）、以上の処理を終了する。一方、途中に異なるハッシュ値の管理グループのエントリのデータがあれば（ステップＳ８０２：Ｙｅｓ）、ステップＳ８０３に移行する。
【００７２】
次に、ＣＰＵ３１１は、異なるハッシュ値の管理グループのエンドアドレスが削除する管理グループの最後のエントリアドレスより後ろであるか（異なるハッシュ値の管理グループのエンドアドレス＞削除する管理グループの最後のエントリアドレス）を判断する（ステップＳ８０３）。
【００７３】
そして、ステップＳ８０３において、異なるハッシュ値の管理グループのエンドアドレス＞削除する管理グループの最後のエントリアドレスでなければ（ステップＳ８０３：Ｎｏ）、以上の処理を終了する。一方、異なるハッシュ値の管理グループのエンドアドレス＞削除する管理グループの最後のエントリアドレスであれば（ステップＳ８０３：Ｙｅｓ）、ＣＰＵ３１１は、削除する最後のエントリのデータの前後に異なるハッシュ値の管理グループのエントリのデータがあると判断する（ステップＳ８０４）。そして、ＣＰＵ３１１は、以上の処理を終了し、ステップＳ７０５（図７参照）に移行する。
【００７４】
（フロー管理テーブルの例と処理の具体例）
図９、図１０は、フロー管理テーブルの更新状態を説明する図である。上記図７および図８を用いて説明したエントリ削除後のテーブル更新について、図９、図１０を用いて具体的に説明する。
【００７５】
図９に示すように、フロー管理テーブル２１３は、アドレス毎にハッシュ値とデータの格納領域を有する。また、同一管理グループのハッシュ値の先頭を示すフラグと、スタートアドレスと、エンドアドレスを格納する。
【００７６】
また、データＡと同じハッシュ値ａ（縮退パラメータ）をもつデータがＢ，Ｃ，Ｄ，Ｅであるとする（第１の管理グループ）。また、データＰと同じハッシュ値ｐをもつデータがＱ，Ｒ，Ｓであるとする（第２の管理グループ）。
【００７７】
ハッシュ先頭フラグは、同一のハッシュ値（縮退パラメータ）をもつ管理グループの先頭のデータに所定のフラグ（図中○）を付与する。第１の管理グループについては、アドレスｘ１のデータＡにハッシュ先頭フラグが付与され、第２の管理グループについては、アドレスｘ５のデータＰにハッシュ先頭フラグが付与される。
【００７８】
スタートアドレスは、同一のハッシュ値をもつ管理グループの最初のデータが格納されているアドレスである。第１の管理グループのデータＡ，Ｂ，Ｃ，Ｄ，Ｅには、それぞれスタートアドレスとしてデータＡのアドレスｘ１が格納される。第２の管理グループのデータＰ，Ｑ，Ｒ，Ｓには、それぞれスタートアドレスとしてデータＰのアドレスｘ５が格納される。
【００７９】
エンドアドレスは、同一のハッシュ値をもつ管理グループの最後のデータが格納されているアドレスである。第１の管理グループの先頭データＡには、エンドアドレスとして第１の管理グループの最後のデータＥのアドレスｘ７が格納される。第２の管理グループの先頭データＰには、エンドアドレスとして第２の管理グループの最後のデータＳのアドレスｘ９が格納される。
【００８０】
まず、図９を用いて、エントリ削除後のテーブル更新（図７参照）の処理の具体例を説明する。
１．アドレス“ｘ４”のデータ“Ｄ”を削除対象とする（ステップＳ７０１）
２．データ“Ｄ”は第１の管理グループのうち最後のアドレスのエントリのデータではないので、ステップＳ７０２は“Ｎｏ”
３．第１の管理グループ（ハッシュ値“ａ”）最後のエントリのデータ“Ｅ”（アドレス“ｘ７”）をアドレス“ｘ４”に移動（ステップＳ７０３）。これによりアドレス“ｘ４”のデータ“Ｄ”は上書きで削除される
４．データ“Ｅ”（アドレス“ｘ７”）を削除するため処理先頭（ステップＳ７０１）に戻る
５．データ“Ｅ”（アドレス“ｘ７”）を削除（ステップＳ７０１）
６．データ“Ｅ”は第１の管理グループの最後のアドレスのデータなのでステップＳ７０２は“Ｙｅｓ”
７．データ“Ｅ”の前後に、ハッシュ値が異なる“ｐ”の第２の管理グループのエントリのデータ（データ“Ｑ”，“Ｒ”）があるのでステップＳ７０４は“Ｙｅｓ”
【００８１】
次に、図１０を用いてテーブル更新の処理の続きを説明する。
８．第２の管理グループ（ハッシュ値が“ｐ”）の最後のエントリのデータ“Ｓ”（アドレス“ｘ９”）をアドレス“ｘ７”に移動（ステップＳ７０５）
９．データ“Ｓ”（アドレス“ｘ９”）を削除するため処理先頭（ステップＳ７０１）に戻る
１０．データ“Ｓ”（アドレス“ｘ９”）を削除（ステップＳ７０１）
１１．データ“Ｓ”は第２の管理グループのうち最後のアドレスのエントリのデータなので、ステップＳ７０２は“Ｙｅｓ”
１２．データ“Ｓ”の前後に、ハッシュ値が異なる管理グループのデータはないのでステップＳ７０４は“Ｎｏ”となり、処理を終了する。
【００８２】
また、図８の処理（削除エントリのデータの前後に異なるハッシュ値の管理グループのエントリのデータの有無の判断）の具体例について、図９を用いて説明しておく。
１．第１の管理グループに該当するアドレス“ｘ１”から“ｘ７”まで検索（第１の管理グループの最後のエントリアドレスは“ｘ７”、ステップＳ８０１）
２．アドレス“ｘ５”のハッシュ値ｐ≠ａであり、異なる第２の管理グループのデータがあるためステップＳ８０２は“Ｙｅｓ”
３．第２の管理グループのハッシュ値“ｐ”のエンドアドレス＝ｘ９＞ｘ７であり、ステップＳ８０３は“Ｙｅｓ”
４．第１の管理グループの削除する最後のエントリのデータ“Ｅ”（アドレス”ｘ７”）の前後に異なるハッシュ値“ｐ”の管理グループのエントリのデータ（データ“Ｑ”，“Ｒ”）があると判断（ステップＳ８０４）
【００８３】
上記のテーブル更新処理によれば、図１０に示すように、フロー管理テーブル２１３上でエントリを削除した場合、同一のハッシュ値をもつあるグループのエントリが、他のハッシュ値をもつグループのエントリと混在している状態も含めて、スタートアドレスからエンドアドレスまでの途中に空きのエントリが発生しない。
【００８４】
なお、図１０の例では、第１の管理グループ（ハッシュ値が“ａ”）のデータＡ，Ｂ，Ｃ，Ｅを途中に空きを生じずに一塊にまとまった状態である（アドレスを連続して配置する）。同様に、第２の管理グループ（ハッシュ値が“ｐ”）のデータＰ，Ｑ，Ｒ，Ｓについても途中に空きを生じずに一塊にまとまった状態である。
【００８５】
そして、フロー管理テーブル２１３のアドレス方向でみて、ある管理グループのエントリのデータを削除しても、同じ管理グループ内に空きのエントリが生じることがないようにテーブル更新される。これにより、アドレス変化方法を用いて新規エントリを作成する場合に、重複エントリの作成を防ぐことができるようになる。
【００８６】
図１０に示すように、エントリの移動によりテーブル更新された場合、各管理グループのスタートアドレスとエンドアドレスについても更新される。図１０の例ではエンドアドレスが更新される。
【００８７】
また、実施の形態のように、ハッシュ値を用いたテーブル管理により、対象となる膨大なデータを容量に制限があるフロー管理テーブル２１３を用いて管理することができるようになる。ハッシュ値を用いたテーブル管理によって、膨大な空間を圧縮して実際に必要なデータのエントリを管理でき、容量に制限があるフロー管理テーブル２１３を用いて管理できる。但し、ハッシュ値を用いたテーブル管理では、メモリ空間を圧縮しているため、異なるデータ（ＩＰアドレス）であるにもかかわらず、ハッシュ値が同じ値になり、上記の重複エントリの問題の発生の要因となる。
【００８８】
この点、実施の形態によれば、エントリのデータ削除時に、同じ管理グループ内で歯抜けの如く空きのエントリが生じず全てのエントリが一塊となるように（ある管理グループのアドレス空間（スタートアドレス〜エンドアドレス）において空きエントリがないように）テーブルを更新する。なお、異なる管理グループのアドレス空間が重なって前後のアドレスに他の管理グループのデータが登録（格納）されることはある。
【００８９】
また、エントリのデータ削除時には、図１０に示したように、削除したエントリ以降のアドレスのデータを順次手前の空きのアドレスにシフトすることは行わず、テーブル更新を短時間で行える。これにより、ハッシュ値を用いたテーブル管理において、既存のアドレス変化方法により新規エントリにデータを登録する場合でも、重複エントリの作成を防ぐことができるようになる。
【００９０】
一般的に、エントリ管理されるデータ（ＭＡＣアドレス情報や統計情報など）は、パケットの到着毎に処理される。したがって、テーブルに対するエントリのデータの追加や更新、削除などは、パケット到着時にできる限り短時間で完了できることが望ましい。この点、実施の形態によれば、ハッシュ値を用いたテーブル管理において、エントリのデータ削除時に、エントリ重複が発生しないようにテーブル更新を行うため、パケット到着時には、既存のアドレス変化方法を実行するだけで新規エントリを短時間で処理完了できる。
【００９１】
なお、エントリ重複を防ぐテーブル更新では、テーブル内のデータ検索のために、何回か読み出しを実行することになるが、メモリ（テーブル）の読み出しは、バーストアクセスとキャッシュの効果で高速に実施することができる。これにより、エントリのデータ削除時のテーブル更新を短時間で完了できる。また、常にテーブルのエントリのデータ登録状態を最適化でき、データ検索および新規エントリのデータ登録を高速処理できるようになる。
【００９２】
なお、アドレス変化方法による新規エントリのデータ登録において、該当エントリにすでに異なるデータがエントリされていた場合は、上述したようなアドレスを１ずつ増加させて空きエントリを検索するに限らない。例えば、アドレスをｎずつ（２，３，４，…）増加させて空きエントリを検索する場合にも同様に適用できる。また、アドレスを増加させるに限らず、減少させて空きエントリを検索する場合にも同様に適用できる。
【００９３】
そして、実施の形態によれば、ハッシュテーブルを用いたテーブル管理において、重複エントリを回避するための処理を短時間で行えるため、適用する処理装置の処理効率を向上させ、高速な処理が行えるようになる。例えば、実施の形態のテーブル管理装置をパケット処理装置に適用した場合、重複エントリの回避を短時間で処理できるため、パケット転送の性能が高く、高速なパケット転送が可能となる。より具体的には、実施の形態のテーブル管理装置をＭＡＣアドレスを管理するＬ２スイッチ１１１に適用した場合、ＭＡＣアドレス管理に基づくパケット転送処理を高速に行えるようになる。また、実施の形態のテーブル管理装置を統計情報カウント装置１１０に適用した場合、統計情報のカウント処理を高速に行えるようになる。
【００９４】
また、上述した実施の形態では、テーブル管理にハッシュ値を用いたハッシュ演算の縮退方式について説明したが、これに限らず、ハッシュ値以外の縮退パラメータを用いる縮退方式にも同様に適用し、実施することができる。
【００９５】
上述した実施の形態に関し、さらに以下の付記を開示する。
【００９６】
（付記１）メモリ空間を所定の縮退方式により圧縮し、新規のエントリ登録の発生時にアドレスを変化させてテーブル検索し、空きエントリ部分に前記新規のエントリのデータを格納するテーブル管理装置のテーブル管理方法において、
所定のエントリのデータを削除する場合、当該削除エントリのデータと同じ縮退パラメータの管理グループの他のエントリのデータを前記削除エントリに移動させ、
前記他のエントリのデータの移動に基づき、他の管理グループのエントリに空きが出た場合には、当該空きのエントリに前記他の管理グループの他のエントリのデータを移動させることで、前記テーブル上で管理グループ毎のスタートアドレスからエンドアドレスまでの間に空きエントリがないようにテーブル更新し、
前記テーブル更新を行った状態で前記新規のエントリ登録の発生を待機する、
処理を実行することを特徴とするテーブル管理方法。
【００９７】
（付記２）前記所定の縮退方式はハッシュ演算方式であり、前記テーブルはハッシュテーブルであり、前記管理グループはハッシュ演算に用いるハッシュ値別に異なる管理グループであり、
前記新規のエントリ登録の発生時に、当該新規のエントリ登録のデータを、ハッシュ演算により求めた管理グループ内の空きエントリに格納する、
ことを特徴とする付記１に記載のテーブル管理方法。
【００９８】
（付記３）前記削除エントリのデータが、同じ管理グループのアドレスの最後のエントリのデータでない場合、同じ管理グループの最後のエントリのデータを、削除エントリに移動させる第１の処理と、
前記削除エントリのデータが、ハッシュ値が同じ管理グループのアドレスの最後のエントリのデータであり、かつ、当該削除エントリのデータの前後のアドレスに、異なる管理グループのエントリのデータがある場合には、前記異なる管理グループのアドレスの最後のエントリのデータを、前記削除エントリに移動させる第２の処理と、
前記第１の処理または前記第２の処理の実行に基づき発生する新たな削除エントリのデータに対して前記第１の処理と前記第２の処理と、を繰り返し実行し、
テーブル更新を行うことを特徴とする付記２に記載のテーブル管理方法。
【００９９】
（付記４）新規のエントリ登録の発生時に、該当エントリにすでに異なるデータがエントリされていた場合は、アドレスを１または２以上のｎ単位で増加あるいは減少するように変化させてテーブル検索し、空きエントリ部分にデータを格納することを特徴とする付記１〜３のいずれか一つに記載のテーブル管理方法。
【０１００】
（付記５）ネットワーク上のパケットを前記テーブル検索により処理する装置に設けられ、前記テーブルを管理することを特徴とする付記１〜４のいずれか一つに記載のテーブル管理方法。
【０１０１】
（付記６）前記所定のエントリのデータ削除は、
予め定めた一定時間、前記所定のエントリ登録に該当するフローのパケットが到着しなかった場合、あるいは、上位システムからの通知に基づき行うことを特徴とする付記１〜５のいずれか一つに記載のテーブル管理方法。
【０１０２】
（付記７）メモリ空間を所定の縮退方式により圧縮し、新規のエントリ登録の発生時にアドレスを変化させてテーブル検索し、空きエントリ部分に前記新規のエントリのデータを格納するテーブル管理装置において、
所定のエントリのデータを削除する場合、当該削除エントリのデータと同じ縮退パラメータの管理グループの他のエントリのデータを前記削除エントリに移動させ、
前記他のエントリのデータの移動に基づき、他の管理グループのエントリに空きが出た場合には、当該空きのエントリに前記他の管理グループの他のエントリのデータを移動させることで、前記テーブル上で管理グループ毎のスタートアドレスからエンドアドレスまでの間に空きエントリがないようにテーブル更新し、
前記テーブル更新を行った状態で前記新規のエントリ登録の発生を待機する処理部
を有することを特徴とするテーブル管理装置。
【０１０３】
（付記８）ネットワーク上のパケットを前記テーブル検索により処理する装置の前記テーブルを管理することを特徴とする付記７に記載のテーブル管理装置。
【０１０４】
（付記９）前記テーブルは、ＭＡＣアドレス学習のためのＭＡＣアドレス管理テーブルであることを特徴とする付記８に記載のテーブル管理装置。
【０１０５】
（付記１０）前記テーブルは、ＩＰパケットの送信先のＩＰアドレス毎のフローの統計情報をカウントする際のフローを管理するフロー管理テーブルであることを特徴とする付記８に記載のテーブル管理装置。
【符号の説明】
【０１０６】
１００  ネットワーク
１０１  コアルータ
１０２  転送ルータ
１０４  エッジルータ
１１０  統計情報カウント装置
１１１  Ｌ２スイッチ
１２０  テーブル管理装置
２０１  インターフェース部
２０２  パケット受信部
２０３  統計情報カウンタ
２１１  パケット識別部
２１２  情報処理部
２１３  フロー管理テーブル
２２０  フローの情報
３０１  回線インターフェース
３０２  パケット処理エンジン
３１１  ＣＰＵ
３１２  タイマ
３１３  メモリ
【図１】
2015195484.tif 000003
【図２】
2015195484.tif 000004
【図３】
2015195484.tif 000005
【図４】
2015195484.tif 000006
【図５】
2015195484.tif 000007
【図６】
2015195484.tif 000008
【図７】
2015195484.tif 000009
【図８】
2015195484.tif 000010
【図９】
2015195484.tif 000011
【図１０】
2015195484.tif 000012
【図１１】
2015195484.tif 000013
【図１２】
2015195484.tif 000014