(57)【要約】【課題】より安価なメモリ構成で、逐次入力される統計情報を高速かつ効率よく蓄積する。【解決手段】各粗粒度統計情報を蓄積する粗粒度メモリ１２と、粗粒度メモリ１２より記憶容量が小さく、かつ高速で動作することにより上位装置からの細粒度統計情報を一時蓄積する細粒度メモリ１１とを直列的に配置して、更新処理部ＳＴＡが、粗粒度メモリ１２のアクセス周期に合わせて、細粒度メモリ１１で一時蓄積している細粒度統計情報で、粗粒度メモリ１２に蓄積されている粗粒度統計情報を順次更新する。【選択図】  図１
2015233221.tif 000002
【特許請求の範囲】
【請求項１】
上位装置から逐次入力される、各統計項目に関する時間的粒度の細かい統計値である細粒度統計情報を、当該統計項目ごとに統計処理することにより時間的粒度の粗い統計値である粗粒度統計情報を計算し、得られた計算結果を新たな粗粒度統計情報として蓄積する統計情報メモリシステムであって、
前記各統計項目に関する前記粗粒度統計情報をそれぞれ蓄積する粗粒度メモリと、
前記粗粒度メモリに比較して記憶容量が小さく、かつ、高速で動作して、前記上位装置から逐次入力される前記各統計項目に関する前記細粒度統計情報をそれぞれ一時蓄積する細粒度メモリと、
前記粗粒度メモリのアクセス周期に合わせて、前記細粒度メモリで一時蓄積している前記細粒度統計情報で、前記粗粒度メモリに蓄積されている前記粗粒度統計情報を順次更新する更新処理部と
を備えることを特徴とする統計情報メモリシステム。
【請求項２】
請求項１に記載の統計情報メモリシステムにおいて、
前記更新処理部は、前記粗粒度メモリのアクセス周期に合わせて、前記全統計項目のうちから更新対象として順に選択した対象統計項目ごとに、前記粗粒度メモリに蓄積されている当該対象統計項目に関する前記粗粒度統計情報を、前記細粒度メモリで一時蓄積している当該対象統計項目に関するすべての前記細粒度統計情報で更新し、得られた粗粒度統計情報を当該対象統計項目に関する新たな粗粒度統計情報として前記粗粒度メモリに書き込むことを特徴とする統計情報メモリシステム。
【請求項３】
請求項２に記載の統計情報メモリシステムにおいて、
前記粗粒度メモリのアクセス周期ごとに、前記全統計項目のうちから更新対象となる前記対象統計項目を逐次選択し、前記更新処理部に対して、当該対象統計項目に関する粗粒度統計情報の更新を指示する更新制御部をさらに備えることを特徴とする統計情報メモリシステム。
【請求項４】
請求項３に記載の統計情報メモリシステムにおいて、
それぞれ異なる対象統計項目に関する前記粗粒度統計情報の更新を並列的に実行する複数の前記更新処理部を備え、
前記更新制御部は、前記粗粒度メモリへのアクセス周期ごとに、前記全統計項目のうちから更新対象となる前記対象統計項目を複数選択し、これら対象統計項目に関する粗粒度統計情報の更新を、前記更新処理部のそれぞれに個別に指示する
ことを特徴とする統計情報メモリシステム。
【請求項５】
請求項１〜請求項４のいずれか１つに記載の統計情報メモリシステムにおいて、
前記細粒度メモリは、前記粗粒度メモリへ更新後の新たな粗粒度統計情報を転送した後、自己に対して新たな細粒度統計情報が蓄積されて、自己が更新されたか否かを検出し、次回の更新処理時に、更新なしが検出されている場合には、前記細粒度メモリと前記粗粒度メモリとの間の通信を遮断することを特徴とする統計情報メモリシステム。
【請求項６】
請求項１〜請求項５のいずれか１つに記載の統計情報メモリシステムにおいて、
前記全統計項目の項目数をＮ［個］、メモリ間の通信所要時間をＴｄ［ｓ］、パケットのスループットをＴ［ｂｐｓ］、パケット長をＬ［ｂｉｔ］、および前記細粒度メモリのビット長をＷ［ｂｉｔ］とした場合、前記細粒度メモリは、次の式
２W≧Ｎ×Ｔｄ×Ｔ／Ｌ
を満たす最小のＷにＮを乗算して得られる記憶容量Ｃ＝Ｗ×Ｎ［ｂｉｔ］を有することを特徴とする統計情報メモリシステム。
【請求項７】
請求項１〜請求項６のいずれか１つに記載の統計情報メモリシステムを備え、当該統計情報メモリシステムで到着したパケットに関する統計情報を蓄積するネットワーク機器。
【請求項８】
上位装置から逐次入力される、各統計項目に関する時間的粒度の細かい統計値である細粒度統計情報を、当該統計項目ごとに統計処理することにより時間的粒度の粗い統計値である粗粒度統計情報を計算し、得られた計算結果を新たな粗粒度統計情報として蓄積する統計情報蓄積方法であって、
前記各統計項目に関する前記粗粒度統計情報を、粗粒度メモリでそれぞれ蓄積するステップと、
前記粗粒度メモリに比較して記憶容量が小さく、かつ、高速で動作して、前記上位装置から逐次入力される前記各統計項目に関する前記細粒度統計情報を、細粒度メモリでそれぞれ一時蓄積するステップと、
前記粗粒度メモリのアクセス周期に合わせて、前記細粒度メモリで一時蓄積している前記細粒度統計情報で、前記粗粒度メモリに蓄積されている前記粗粒度統計情報を順次更新する更新処理ステップと
を備えることを特徴とする統計情報蓄積方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリシステム技術に関し、特にネットワーク全体の最適化や管理を目的として、ルータなどのネットワーク機器で統計情報の取得と蓄積を高速で行うための統計情報蓄積技術に関する。
【背景技術】
【０００２】
図７は、ＩＰルータを用いた一般的なネットワーク構成を示す説明図である。ここでは、４つのＩＰルータＲ１，Ｒ２，Ｒ３，Ｒ４が通信回線Ｌ１，Ｌ２，Ｌ３，Ｌ４，Ｌ５，Ｌ６を介してそれぞれ１対１で個別に接続されている。
このようなネットワーク構成において、Ｒ１とＲ２を結ぶＬ１に障害が発生した場合、Ｒ１は隣接するＲ３，Ｒ４間で経路情報を交換して、例えばＲ１→Ｒ３→Ｒ２という別の経路を選択し、Ｒ２との通信を維持する。また、障害が復旧した場合、Ｒ１は同様にして隣接するＲ３，Ｒ４間で経路情報を交換し、Ｒ１→Ｒ２という元の経路を再選択する。このようにして、回線障害が発生しても通信が停止しないネットワークが実現される。
【０００３】
図８は、従来のＩＰルータの内部構成を示すブロック図である。パケット入力部５１は、入力回線３１に到着したＩＰパケットのヘッダ情報をルックアップテーブル５１Ａにより解析処理する機能と、得られた解析結果に基づいて宛先検索部５１Ｂにより到着ＩＰパケットの宛先を検索する機能と、パケット出力部５３からの廃棄指示に基づいて宛先検索部５１Ｂによりパケットの廃棄を行う機能とを有している。解析処理のうち高度なものとしては、例えば５−ｔｕｐｌｅとよばれる送信元／先IPアドレス、プロトコル番号、送信元／先ポート番号（L3 Src., L3 Dst., #Protocol, L4 Src., L4 Dst.）からなる５つの属性値の組み合わせによって、フロー情報などを解析する処理手法がある。
【０００４】
パケット交換部５２は、パケット入力部５１で検索した宛先に基づいて、到着パケットに対するヘッダ情報の書き換えやスイッチングを行って、その宛先に対応するパケット出力部５３の待ち行列（キュー）へ出力する機能を有している。
パケット出力部５３は、出力回線３２ごとにパケットを一時蓄積する待ち行列を有し、各待ち行列に蓄積されたパケットを対応する出力回線３２へ順次出力する機能と、ハードウェア実装されたリソースを超えるパケットが蓄積された際にはパケット落ち（ドロップ）を行い、さらにはパケット入力部５１に対して廃棄指示を行う機能とを有している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−５４０２号公報
【特許文献２】特開２００８−２５０８３４号公報
【非特許文献】
【０００６】
【非特許文献１】情報通信研究機構，NTT未来ねっと研究所，KDDI研究所，日立製作所，NEC，大阪大学，“時間変動する情報流通ネットワークアーキテクチャ設計書 Version 1.1（2013.9.1）”，「5. 要素技術」，2013年9月
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、前述した従来のＩＰルータは、ネットワークに設置された各機器に対して独立に制御、設定するものであった。そのため、例えば優先指定や省電力化を目的とした帯域制御や、障害発生時の緊急対策など、ネットワーク全体を再構築する場合には、すべての機器の状況を把握し、さらに各機器ひとつひとつを設定しなければならないという問題があった。
また、ネットワークのトラヒック量は時間によって特徴的な変動をするため、この特徴を利用し、各時間帯において最適なネットワークを再構築することによって大きな省電力化が期待できるが（非特許文献１）、従来のＩＰルータにおいては、前述のとおりすべての機器の状況を動的に情報収集することが困難である。
【０００８】
さらに、従来のＩＰルータによって構築されたネットワークにおいては、例えば、アプリケーションに対応する優先決め（ＱｏＳ：Quality of Service）を設定する場合など、管理者はネットワーク内のすべてのＩＰルータを設定し直さなければならない。限られたネットワーク、ＬＡＮ網において、この取り決めは過剰なサービスによる無駄な経路、ルータによる電力消費や、設定変更に係る管理者への負荷を引き起こすことがあった。
【０００９】
ＳＤＮ（Software Defined Network）は、このような背景のもとで提案された新しいネットワーク仕様である。図９は、ＳＤＮに基づくネットワークの構成例である。ここでは、ネットワーク内の全てルータＲ１，Ｒ２，Ｒ３，Ｒ４は、それぞれＳＤＮ対応機能を有し、ＳＤＮを介してＳＤＮコントローラ（サーバ）ＳＶと接続されており、ＳＶのソフトウェアによって管理される。これによって、夜間や週末などトラヒック量が減少する場合には不必要な通信回線およびルータを遮断して電力消費を削減でき、ルータ間のトラヒック量を監視しつつ、最適な負荷分散や優先制御を管理できる。
【００１０】
このように、ＳＤＮによれば、ＳＶで各ルータの状況を集中的に把握できるため、管理者はこのネットワーク全体の情報を随時取得しつつ、ＳＶに実装したソフトウェアだけで、ネットワーク内に設置されたすべてのルータを動的かつ一元的に設定・変更することが可能となる。
【００１１】
ＳＤＮの代表としてＯｐｅｎＦｌｏｗ（登録商標）が知られている。ＯｐｅｎＦｌｏｗの環境に設置するルータは、従来のＩＰルータとハードウェア仕様が異なり、メーカからもＩＰルータと区別して製造販売されている。したがって、例えばある既存のネットワークをＳＤＮ対応に変更しようとする際、すべてのＩＰルータ機器をＳＤＮに対応するルータに変更して、ＳＤＮにおいて要求される動作や処理内容を実現する機能を追加しなければならない。
【００１２】
既存のＩＰルータにおいてＳＤＮに対応するための主な機能の１つとして、自己の動作状況を示す統計情報をパケットから取得し蓄積する機能がある。これは、ＳＶからの要求に応じて、自己の動作状況、具体的には自己で転送したパケットのフローに関する統計情報を通知する必要があるからである。
このような統計情報は、ポートやキューごとに細かく設定されている。図１０は、ＯｐｅｎＦｌｏｗで必要とされる統計情報例である。ＩＰルータには、これらポートやキューを複数設けられていることから、取得・蓄積すべき統計情報は極めて膨大な数となる。
【００１３】
したがって、このような統計情報をパケットから取得して項目ごとに蓄積するには、高速で動作し、かつ大容量のメモリが必要となる。統計情報の蓄積に用いられる一般的な半導体メモリとしては、ＳＲＡＭ（Static Random Access Memory）とＤＲＡＭ（Dynamic Random Access Memory）がある。ＳＲＡＭは、高速動作可能であるが高価であり、ＤＲＡＭは安価であるが動作速度は遅い。したがって、上位装置から逐次高速で入力される膨大な数の統計項目に関する統計情報を、単一のハードウェアコンポーネントで蓄積するのは難しい。
【００１４】
従来、パケットから抽出した各種情報を蓄積するメモリ構成として、ＳＲＡＭとＤＲＡＭを組み合わせた技術が提案されている（特許文献１など参照）。図１１は、従来のメモリ構成を示すブロック図である。この例では、ＳＲＡＭ６１とＤＲＡＭ６２とを並列的に配置して、蓄積すべき統計情報を識別するためのフロー識別条件については、高速検索を実現するためにＳＲＡＭ６１からなるフローテーブルに蓄積し、これらフロー識別条件のうちのいずれかを満たすパケットから抽出した統計情報についてはＤＲＡＭ６２からなる統計情報テーブルに蓄積している。
【００１５】
また、パケットから取得した比較的データ量の小さい固定長のヘッダ情報については、パケットヘッダ蓄積メモリに高速で蓄積し、比較的データ量の大きい可変長のパケットデータについてはパケットデータ蓄積メモリに蓄積している。したがって、上記ＳＲＡＭやＤＲＡＭを用いて、ヘッダ情報についてはＳＲＡＭ６１に蓄積し、パケットデータについてはＤＲＡＭ６２に蓄積することも考えられる。
【００１６】
しかしながら、このようなメモリ構成によれば、蓄積すべき情報がその使用目的やデータ量に応じてＳＲＡＭまたはＤＲＡＭに蓄積されるため、前述したような、使用目的が同じ膨大な量の統計情報を高速で蓄積する必要があるＳＤＮでは、いずれか一方にのみ蓄積が集中し、統計情報を効率よく蓄積できないという問題点があった。
【００１７】
このような目的を達成するために、本発明にかかる統計情報メモリシステムは、より安価なメモリ構成で、逐次入力される統計情報を高速かつ効率よく蓄積できる統計情報蓄積技術を提供することを目的としている。
【課題を解決するための手段】
【００１８】
このような目的を達成するために、本発明にかかる統計情報メモリシステムは、上位装置から逐次入力される、各統計項目に関する時間的粒度の細かい統計値である細粒度統計情報を、当該統計項目ごとに統計処理することにより時間的粒度の粗い統計値である粗粒度統計情報を計算し、得られた計算結果を新たな粗粒度統計情報として蓄積する統計情報メモリシステムであって、前記各統計項目に関する前記粗粒度統計情報をそれぞれ蓄積する粗粒度メモリと、前記粗粒度メモリに比較して記憶容量が小さく、かつ、高速で動作して、前記上位装置から逐次入力される前記各統計項目に関する前記細粒度統計情報をそれぞれ一時蓄積する細粒度メモリと、前記粗粒度メモリのアクセス周期に合わせて、前記細粒度メモリで一時蓄積している前記細粒度統計情報で、前記粗粒度メモリに蓄積されている前記粗粒度統計情報を順次更新する更新処理部とを備えている。
【００１９】
また、本発明にかかる上記統計情報メモリシステムの一構成例は、前記更新処理部が、前記粗粒度メモリのアクセス周期に合わせて、前記全統計項目のうちから更新対象として順に選択した対象統計項目ごとに、前記粗粒度メモリに蓄積されている当該対象統計項目に関する前記粗粒度統計情報を、前記細粒度メモリで一時蓄積している当該対象統計項目に関するすべての前記細粒度統計情報で更新し、得られた粗粒度統計情報を当該対象統計項目に関する新たな粗粒度統計情報として前記粗粒度メモリに書き込むようにしたものである。
【００２０】
また、本発明にかかる上記統計情報メモリシステムの一構成例は、前記粗粒度メモリのアクセス周期ごとに、前記全統計項目のうちから更新対象となる前記対象統計項目を逐次選択し、前記更新処理部に対して、当該対象統計項目に関する粗粒度統計情報の更新を指示する更新制御部をさらに備えている。
【００２１】
また、本発明にかかる上記統計情報メモリシステムの一構成例は、それぞれ異なる対象統計項目に関する前記粗粒度統計情報の更新を並列的に実行する複数の前記更新処理部を備え、前記更新制御部は、前記粗粒度メモリへのアクセス周期ごとに、前記全統計項目のうちから更新対象となる前記対象統計項目を複数選択し、これら対象統計項目に関する粗粒度統計情報の更新を、前記更新処理部のそれぞれに個別に指示するようにしたものである。
【００２２】
また、本発明にかかる上記統計情報メモリシステムの一構成例は、前記細粒度メモリが、前記粗粒度メモリへ更新後の新たな粗粒度統計情報を転送した後、自己に対して新たな細粒度統計情報が蓄積されて、自己が更新されたか否かを検出し、次回の更新処理時に、更新なしが検出されている場合には、前記細粒度メモリと前記粗粒度メモリとの間の通信を遮断するようにしたものである。
【００２３】
また、本発明にかかる上記統計情報メモリシステムの一構成例は、前記全統計項目の項目数をＮ［個］、メモリ間の通信所要時間をＴｄ［ｓ］、パケットのスループットをＴ［ｂｐｓ］、パケット長をＬ［ｂｉｔ］、および前記細粒度メモリのビット長をＷ［ｂｉｔ］とした場合、前記細粒度メモリは、次の式２W≧Ｎ×Ｔｄ×Ｔ／Ｌを満たす最小のＷにＮを乗算して得られる記憶容量Ｃ＝Ｗ×Ｎ［ｂｉｔ］を有するものである。
【００２４】
また、本発明にかかるネットワーク機器は、前述した統計情報メモリシステムを備え、当該統計情報メモリシステムで到着したパケットに関する統計情報を蓄積するものである。
【００２５】
本発明にかかる統計情報蓄積方法は、上位装置から逐次入力される、各統計項目に関する時間的粒度の細かい統計値である細粒度統計情報を、当該統計項目ごとに統計処理することにより時間的粒度の粗い統計値である粗粒度統計情報を計算し、得られた計算結果を新たな粗粒度統計情報として蓄積する統計情報蓄積方法であって、前記各統計項目に関する前記粗粒度統計情報を、粗粒度メモリでそれぞれ蓄積するステップと、前記粗粒度メモリに比較して記憶容量が小さく、かつ、高速で動作して、前記上位装置から逐次入力される前記各統計項目に関する前記細粒度統計情報を、細粒度メモリでそれぞれ一時蓄積するステップと、前記粗粒度メモリのアクセス周期に合わせて、前記細粒度メモリで一時蓄積している前記細粒度統計情報で、前記粗粒度メモリに蓄積されている前記粗粒度統計情報を順次更新する更新処理ステップとを備えている。
【発明の効果】
【００２６】
本発明によれば、入力回線から新たなパケットが到着するごとに上位装置から高速で逐次入力される、時間的粒度が細かい細粒度統計情報は、高速動作が可能な、例えばＳＲＡＭからなる細粒度メモリに順次蓄積される。また、時間的粒度が粗い粗粒度統計情報については、例えばＤＲＡＭからなる粗粒度メモリのアクセス周期に合わせて、細粒度メモリで一時蓄積している細粒度統計情報で更新される。
【００２７】
したがって、高速動作可能であるが単位容量当たりの価格が高いＳＲＡＭだけではなく、ＳＲＡＭと比較して動作速度は比較的遅いものの単位容量当たりの価格が低いＤＲＡＭも併用しつつ、入力回線から新たなパケットが到着するごとに上位装置から高速で逐次入力される細粒度統計情報を、欠損することなく受け取ることができるとともに、これら細粒度統計情報を統計項目ごとに統計処理して粗粒度統計情報を蓄積することができる。これにより、コストパフォーマンスに優れた、高速動作可能な統計情報メモリシステムを実現することが可能となる。
【００２８】
また、既存のネットワークをＳＤＮ対応に変更しようとする際、すべてのＩＰルータ機器をＳＤＮに対応するルータに変更しなければならないという問題があった。本発明によれば、既存のＩＰルータに回路ユニットとして統計情報メモリシステムを追加するだけで、既存のＩＰルータが持つ資源を活用しつつ、ＳＤＮへの対応が可能となる。したがって、ネットワーク全体を極めて容易にＳＤＮ対応へ再構築することができるとともに、移行にともなう設備投資を大幅に削減することが可能となる。
【図面の簡単な説明】
【００２９】
【図１】第１の実施の形態にかかる統計情報メモリシステムの構成を示すブロック図である。
【図２】第１の実施の形態にかかる統計情報メモリシステムを実装したＩＰルータの構成を示すブロック図である。
【図３】ＩＰルータにおける統計情報取得動作を示す説明図である。
【図４】統計情報メモリシステムの統計情報更新処理を示すフローチャートである。
【図５】第２の実施の形態にかかる統計情報メモリシステムの要部構成を示すブロック図である。
【図６】更新処理動作を示すタイミングチャートである。
【図７】ＩＰルータを用いた一般的なネットワーク構成を示す説明図である。
【図８】従来のＩＰルータの内部構成を示すブロック図である。
【図９】ＳＤＮに基づくネットワークの構成例である。
【図１０】ＯｐｅｎＦｌｏｗで必要とされる統計情報例である。
【図１１】従来のメモリ構成を示すブロック図である。
【発明を実施するための形態】
【００３０】
次に、本発明の実施の形態について図面を参照して説明する。
［第１の実施の形態］
まず、図１を参照して、本発明の第１の実施の形態にかかる統計情報メモリシステム１０について説明する。図１は、第１の実施の形態にかかる統計情報メモリシステムの構成を示すブロック図である。
【００３１】
この統計情報メモリシステム１０は、全体として半導体メモリを搭載したＦＰＧＡ（Field Programmable Gate Array）などの回路ユニットからなり、例えばＩＰルータなどのネットワーク機器からなる上位装置に実装されて、この上位装置から逐次入力される、各統計項目に関する時間的粒度の細かい統計値を示す細粒度統計情報を、当該統計項目ごとに統計処理することにより時間的粒度の粗い統計値を示す粗粒度統計情報を計算し、得られた計算結果を新たな粗粒度統計情報として蓄積する機能を有している。
【００３２】
前述したように、統計情報の蓄積に用いられる一般的な半導体メモリとしては、ＳＲＡＭとＤＲＡＭがある。このうち、ＳＲＡＭは高速動作可能であるが単位容量当たりの価格が高くて大記憶容量には向かない。一方、ＤＲＡＭはＳＲＡＭと比較して単位容量当たりの価格が低く大記憶容量を容易に実現できるが動作速度は比較的遅い。
【００３３】
また、蓄積の対象となる統計情報を、時間的粒度、すなわち統計情報の処理（発生）間隔で分析すると、上位装置から逐次入力される時間的粒度の細かい細粒度統計情報と、これら細粒度統計情報を統計処理して得られる時間的粒度の粗い粗粒度統計情報の２つに分類される。
【００３４】
本発明は、このようなＳＲＡＭとＤＲＡＭが相反する性能を有する点、および統計情報には時間的粒度が異なる２種類の統計情報が存在している点に着目し、ＳＲＡＭからなる細粒度メモリ１１とＤＲＡＭからなる粗粒度メモリ１２を並列的ではなく直列的に配置して、パケット到着間隔で上位装置から高速で逐次入力される細かい細粒度統計情報については、高速動作が可能な細粒度メモリ１１で一時的に蓄積し、粗粒度メモリ１２のアクセス周期に合わせて、細粒度メモリ１１内の細粒度統計情報で粗粒度メモリ１２内の粗粒度統計情報を、順次更新するようにしたものである。
【００３５】
［統計情報メモリシステム］
次に、図１を参照して、本実施の形態にかかる統計情報メモリシステム１０の詳細構成について説明する。
この統計情報メモリシステム１０は、細粒度メモリ１１、粗粒度メモリ１２、更新処理部ＳＴＡ、および更新制御部ＣＮＴから構成されている。
【００３６】
［細粒度メモリ］
細粒度メモリ１１は、粗粒度メモリ１２に比較して記憶容量が小さく、かつ、高速で動作するＳＲＡＭを有し、上位装置から逐次高速で入力される全統計項目に関する細粒度統計情報をそれぞれ一時蓄積する機能を有している。
粗粒度メモリ１２は、データ通信を行うためのデータ線１３Ａおよび制御線１３Ｂを介して細粒度メモリ１１と接続されて、細粒度メモリ１１に比較して記憶容量が大きいＤＲＡＭを有し、全統計項目に関する粗粒度統計情報をそれぞれ蓄積する機能を有している。
【００３７】
更新処理部ＳＴＡは、粗粒度メモリ１２のアクセス周期に合わせて、細粒度メモリ１１で一時蓄積している細粒度統計情報で、粗粒度メモリ１２に蓄積されている粗粒度統計情報を順次更新する機能を有している。
【００３８】
より具体的には、更新処理部ＳＴＡは、粗粒度１２メモリのアクセス周期に合わせて、全統計項目のうちから更新対象として順に選択した対象統計項目ごとに、粗粒度メモリ１２に蓄積されている当該対象統計項目に関する粗粒度統計情報を、細粒度メモリ１１で一時蓄積している当該対象統計項目に関するすべての細粒度統計情報で更新する機能と、得られた粗粒度統計情報を当該対象統計項目に関する新たな粗粒度統計情報として粗粒度メモリ１２に書き込む機能とを有している。
【００３９】
更新制御部ＣＮＴは、粗粒度メモリ１２のアクセス周期ごとに、全統計項目のうちから更新対象となる対象統計項目を逐次選択する機能と、更新処理部ＳＡＴに対して、当該対象統計項目に関する粗粒度統計情報の更新を指示する機能とを有している。
【００４０】
細粒度メモリ１１には、主な回路部として、細粒度蓄積部１１Ａ、細粒度制御部１１Ｂ（更新制御部ＣＮＴ）、データ転送部１１Ｃ、および更新処理部ＳＴＡが設けられている。なお、本実施の形態では、更新処理部ＳＴＡを細粒度メモリ１１の細粒度蓄積部１１Ａに設けた場合を例として説明するが、これに限定されるものではなく、他の回路部にあるいは細粒度メモリ１１や粗粒度メモリ１２と独立して更新処理部ＳＴＡを設けてもよい。また、本実施の形態では、更新制御部ＣＮＴが、細粒度制御部１１Ｂと後述する粗粒度メモリ１２の粗粒度制御部１２Ｂで構成される場合を例として説明するが、これに限定されるものではなく、他の回路部にあるいは細粒度メモリ１１や粗粒度メモリ１２と独立して更新処理部ＳＴＡを設けてもよい。
【００４１】
細粒度蓄積部１１Ａは、上位装置からデータ転送部１１Ｃに対して逐次高速で入力される細粒度統計情報を一時的に蓄積する機能と、前述した更新処理部ＳＴＡとを有している。具体的には、細粒度蓄積部１１Ａにおいて、例えば各統計項目に対応した複数の待ち行列（キュー）が設けられており、データ転送部１１Ｃからの細粒度統計情報は、対応する待ち行列に順次蓄積される。
【００４２】
細粒度制御部１１Ｂは、上位装置からの指示に応じてデータ転送部１１Ｃにおける細粒度統計情報の入出力を制御する機能と、データ転送部１１Ｃから細粒度蓄積部１１Ａへの細粒度統計情報の書き込みを制御する機能と、粗粒度メモリ１２からの更新要求に応じて更新処理部ＳＴＡにおける粗粒度統計情報に関する、粗粒度メモリ１２からの読み出し、更新、および粗粒度メモリ１２への書き込みを制御する機能（更新制御部ＣＮＴ）とを有している。
【００４３】
データ転送部１１Ｃは、上位装置から逐次高速で入力される細粒度統計情報を受け取って細粒度蓄積部１１Ａへ書き込む機能と、細粒度蓄積部１１Ａから細粒度統計情報を読み出して上位装置へ出力する機能とを有している。
【００４４】
［粗粒度メモリ］
粗粒度メモリ１２には、主な回路部として、粗粒度蓄積部１２Ａと粗粒度制御部１２Ｂ（更新制御部ＣＮＴ）が設けられている。
粗粒度蓄積部１２Ａは、更新処理部ＳＴＡにおける粗粒度統計情報の更新処理の開始時に、更新対象として選択された対象統計項目に関する粗粒度統計情報を読み出して細粒度メモリ１１へ出力する機能と、更新処理部ＳＴＡにおける粗粒度統計情報の更新処理の終了時に、対象統計項目に関する細粒度統計情報を細粒度メモリ１１から受け取って蓄積する機能とを有している。
【００４５】
粗粒度制御部１２Ｂは、粗粒度メモリ１２のアクセス周期に合わせて、一定周期で粗粒度統計情報の更新を要求する更新要求を細粒度メモリ１１へ出力する機能（更新制御部ＣＮＴ）と、更新処理部ＳＴＡにおける粗粒度統計情報の更新処理に同期して、あるいは細粒度メモリ１１からの要求に応じて、細粒度蓄積部１１Ａにおける粗粒度統計情報の読み出し、書き込みを制御する機能とを有している。本実施の形態では、細粒度メモリ１１に対する更新要求を粗粒度制御部１２Ｂから出力する場合を例として説明するが、これに限定されるものではなく、他の回路部から更新要求を出力するようにしてもよい。
【００４６】
［ＩＰルータ］
図２は、第１の実施の形態にかかる統計情報メモリシステムを実装したＩＰルータの構成を示すブロック図である。
このＩＰルータ２０は、ＳＤＮ対応機能を有するパケット転送装置であり、主な機能部として、パケット転送処理部２０Ｒ、統計情報メモリシステム１０、メモリシステム制御部２５、およびＳＤＮ制御部２６が設けられている。
【００４７】
パケット転送処理部２０Ｒは、一般的なＩＰルータが有するパケット転送機能を有しており、統計情報メモリシステム１０の上位装置に相当する。このパケット転送処理部２０Ｒには、主な回路部として、パケット入力部２１、パケット交換部２２、およびパケット出力部２３が設けられている。
【００４８】
パケット入力部２１は、入力回線３１に到着したＩＰパケットのヘッダ情報をルックアップテーブル２１Ａにより解析処理する機能と、得られた解析結果に基づいて宛先検索部２１Ｂにより到着ＩＰパケットの宛先を検索する機能と、パケット出力部２３からの廃棄指示に基づいて宛先検索部２１Ｂによりパケットの廃棄を行う機能とを有している。
【００４９】
パケット交換部２２は、パケット入力部２１で検索した宛先に基づいて、到着パケットに対するヘッダ情報の書き換えやスイッチングを行って、その宛先に対応するパケット出力部２３の待ち行列（キュー）へ出力する機能を有している。
パケット出力部２３は、出力回線３２ごとにパケットを一時蓄積する待ち行列を有し、各待ち行列に蓄積されたパケットを対応する出力回線３２へ順次出力する機能と、ハードウェア実装されたリソースを超えるパケットが蓄積された際にはパケット落ち（ドロップ）を行い、さらにはパケット入力部２１に対して廃棄指示を行う機能とを有している。
【００５０】
統計情報メモリシステム１０は、制御バスＣＢを介したメモリシステム制御部２５からの指示に応じて、パケット入力部２１およびパケット出力部２３で取得された細粒度統計情報を、データバスＤＢを介して受け取って蓄積する機能と、読み出した細粒度統計情報をデータバスＤＢを介してパケット出力部２３へ出力する機能とを有している
【００５１】
メモリシステム制御部２５は、ＩＰルータ２０の内部動作タイミングに同期して、統計情報メモリシステム１０に対する統計情報の書き込み・読み出しを制御する機能を有している。統計情報の読み出しについては、例えば、統計情報メモリシステム１０を構成するＦＰＧＡあるいは別箇のＦＰＧＡにより、粗粒度メモリ１２から統計情報を直接読み出して、データバスＤＢへ出力するようにしてもよい。
なお、統計情報メモリシステム１０で用いるクロックＣＬＫについては、統計情報メモリシステム１０内部で生成してもよく、メモリシステム制御部２５で生成したクロックＣＬＫを統計情報メモリシステム１０へ分配するようにしてもよい。
【００５２】
ＳＤＮ制御部２６は、パケット入力部２１から制御バスＣＢを介して受け取ったＳＤＮコントローラからの指示に応じて、指定された統計情報の読み出しを制御バスＣＢを介してメモリシステム制御部２５に指示する機能と、統計情報メモリシステム１０から出力された統計情報を制御バスＣＢを介して受け取り、制御バスＣＢを介してパケット出力部２３からＳＤＮコントローラへ送信する機能とを有している。
【００５３】
［第１の実施の形態の動作］
次に、図面を参照して、本実施の形態にかかる統計情報メモリシステム１０およびこれを実装したＩＰルータ２０の動作について説明する。
まず、図３を参照して、ＩＰルータ２０における統計情報取得動作について説明する。図３は、ＩＰルータにおける統計情報取得動作を示す説明図である。これら統計情報の取得については、一般的な取得手法を用いて取得される。
【００５４】
入力回線３１からの到着パケットに関する統計情報は、主にパケット入力部２１およびパケット出力部２３で取得される。例えば、パケット入力部２１では、到着パケットを識別するための到着パケット情報やヘッダ情報の解析結果を示すヘッダ解析情報が取得される。また、パケット出力部２３では、出力回線３２から送信される出発パケットを識別するための出発パケット情報や、パケット出力部２３の待ち行列で廃棄されたパケットに関する廃棄パケット情報が取得される。
【００５５】
また、パケット入力部２１では、到着パケットの数を示す到着パケット数やパケット長が取得され、５−ｔｕｐｌｅとよばれる送信元／先IPアドレス、プロトコル番号、送信元／先ポート番号（L3 Src., L3 Dst., #Protocol, L4 Src., L4 Dst.）からなる５つの属性値の組み合せに基づきルックアップテーブル２１Ａが参照されて、到着パケットのルーティングを示す宛先ルーティング情報や、到着パケットのフローを示すフロー情報が取得される。
【００５６】
次に、図４を参照して、本実施の形態にかかる統計情報メモリシステム１０における統計情報の更新動作について説明する。図４は、統計情報メモリシステムの統計情報更新処理を示すフローチャートである。
【００５７】
まず、細粒度メモリ１１は、上位装置から高速で逐次入力される細粒度統計情報をデータ転送部１１Ｃにより受け取って、統計項目ごとに設けられた細粒度蓄積部１１Ａの待ち行列に一時蓄積する（ステップ１００）。
この後、時間経過とともに、細粒度蓄積部１１Ａのリソースが枯渇するため、細粒度メモリ１１は、粗粒度メモリ１２からの更新要求に基づき、粗粒度メモリ１２のアクセス周期に合わせて、ステップ１０１〜１０６に示す統計情報更新処理を実行する。
【００５８】
まず、更新制御部ＣＮＴは、全統計項目のうちの一部を、更新対象となる対象統計項目として選択し、更新処理部ＳＴＡに対して対象統計項目に関する粗粒度統計情報の更新を指示する（ステップ１０１）、この際、１回の更新処理では全統計項目を更新できないため、全統計項目のうちの一部を対象統計項目として順選択し、複数回の更新処理で全統計項目を更新している。対象統計項目については、更新制御部ＣＮＴが自律的に順次選択してもよく、粗粒度メモリ１２からの更新要求からの指示に基づき選択してもよい。
【００５９】
続いて、更新処理部ＳＴＡは、更新制御部ＣＮＴからの更新指示に応じて、指定された対象統計項目に関する粗粒度統計情報を粗粒度メモリ１２から取得し（ステップ１０２）、当該対象統計項目に対応する待ち行列に一時蓄積されているすべての細粒度統計情報を粗粒度メモリ１２から読み出す（ステップ１０３）。
【００６０】
次に、更新処理部ＳＴＡは、読み出した当該対象統計項目に関するすべての細粒度統計情報を、当該対象統計項目の粗粒度統計情報に加算することにより、その粗粒度統計情報を一括して更新し（ステップ１０４）、得られた粗粒度統計情報を当該対象統計項目に関する新たな粗粒度統計情報として粗粒度メモリ１２に書き込む（ステップ１０５）。
この後、更新処理部ＳＴＡは、当該対象統計項目に対応する待ち行列に一時蓄積されているすべての細粒度統計情報をクリア（消去）し（ステップ１０６）、ステップ１００へ戻って、逐次入力される後続の細粒度統計情報に対する更新処理を繰り返し実行する。
【００６１】
［第１の実施の形態の効果］
このように、本実施の形態は、各粗粒度統計情報を蓄積する粗粒度メモリ１２と、粗粒度メモリ１２より記憶容量が小さく、かつ高速で動作することにより上位装置からの細粒度統計情報を一時蓄積する細粒度メモリ１１とを直列的に配置して、更新処理部ＳＴＡが、粗粒度メモリ１２のアクセス周期に合わせて、細粒度メモリ１１で一時蓄積している細粒度統計情報で、粗粒度メモリ１２に蓄積されている粗粒度統計情報を順次更新するようにしたものである。
【００６２】
これにより、入力回線３１から新たなパケットが到着するごとに上位装置から高速で逐次入力される、時間的粒度が細かい細粒度統計情報は、高速動作が可能なＳＲＡＭからなる細粒度メモリ１１に順次蓄積される。また、時間的粒度が粗い粗粒度統計情報については、粗粒度メモリ１２のアクセス周期に合わせて、細粒度メモリ１１で一時蓄積している細粒度統計情報で更新される。
【００６３】
したがって、高速動作可能であるが単位容量当たりの価格が高いＳＲＡＭだけではなく、ＳＲＡＭと比較して動作速度は比較的遅いものの単位容量当たりの価格が低いＤＲＡＭも併用しつつ、入力回線３１から新たなパケットが到着するごとに上位装置から高速で逐次入力される細粒度統計情報を、欠損することなく受け取ることができるとともに、これら細粒度統計情報を統計項目ごとに統計処理して粗粒度統計情報を蓄積することができる。これにより、コストパフォーマンスに優れた、高速動作可能な統計情報メモリシステムを実現することが可能となる。
【００６４】
また、前述したように、ＳＤＮの代表であるＯｐｅｎＦｌｏｗの環境に設置するルータは、従来のＩＰルータとハードウェア仕様が異なり、メーカからもＩＰルータと区別して製造販売されている。したがって、例えばある既存のネットワークをＳＤＮ対応に変更しようとする際、すべてのＩＰルータ機器をＳＤＮに対応するルータに変更しなければならないという問題があった。
【００６５】
本実施の形態によれば、既存のＩＰルータに回路ユニットとして統計情報メモリシステム１０を追加するだけで、既存のＩＰルータが持つ資源を活用しつつ、ＳＤＮへの対応が可能となる。したがって、ネットワーク全体を極めて容易にＳＤＮ対応へ再構築することができるとともに、移行にともなう設備投資を大幅に削減することが可能となる。
【００６６】
また、本実施の形態において、更新処理部ＳＴＡが、粗粒度メモリ１２のアクセス周期に合わせて、全統計項目のうちから更新対象として順に選択した対象統計項目ごとに、粗粒度メモリ１２に蓄積されている当該対象統計項目に関する粗粒度統計情報を、細粒度メモリ１１で一時蓄積している当該対象統計項目に関するすべての細粒度統計情報で更新し、得られた粗粒度統計情報を当該対象統計項目に関する新たな粗粒度統計情報として粗粒度メモリ１２に書き込むようにしてもよい。
【００６７】
これにより、１つの対象統計項目に関する更新処理において、項目細粒度メモリ１１と粗粒度メモリ１２との間で、粗粒度統計情報を読み書きするだけで済む。このため、例えば、細粒度メモリ１１で一時蓄積している対象統計項目に関するすべての細粒度統計情報を、順次粗粒度メモリ１２へ転送して更新する場合と比較して、極めて効率よく更新処理を実行することが可能となる。
【００６８】
また、本実施の形態において、更新制御部ＣＮＴが、粗粒度メモリ１２のアクセス周期ごとに、全統計項目のうちから更新対象となる対象統計項目を逐次選択し、更新処理部ＳＴＡに対して、当該対象統計項目に関する粗粒度統計情報の更新を指示するようにしてもよい。
これにより、必要最低限のアクセス周期で、全統計項目に関する粗粒度統計情報を更新することができる。
【００６９】
［第２の実施の形態］
次に、図５および図６を参照して、本発明の第２の実施の形態にかかる統計情報メモリシステム１０における統計情報蓄積動作について説明する。図５は、第２の実施の形態にかかる統計情報メモリシステムの要部構成を示すブロック図である。図６は、更新処理動作を示すタイミングチャートである。
【００７０】
本実施の形態では、更新処理部ＳＴＡの構成例として、細粒度メモリ１１の細粒度蓄積部１１Ａにおいて、統計項目ごとに設けられているバンク記憶部ＢＭのそれぞれに、更新処理部ＳＴＡを分割して設けた構成例について、詳細に説明する。
【００７１】
帯域の高い１００Ｇｂｐｓクラスのネットワークトラヒックにおける統計情報の取得蓄積においては、先述のリソースの問題に加えてメモリのバンド（帯域）が大きな技術課題となる。例えば、ルータへのトラヒックを全二重１００Ｇｂｐｓ、平均パケット長を２００バイトとした場合、平均パケットレート到着間隔は１６ｎｓ（62.5M-pps:Packet Per Second）となる。すなわち平均１６ｎｓ間隔で表１に示したすべての統計情報を加算、更新する必要がある。現在商用化されるメモリで１６ｎｓ以下のアクセスタイムを満足するのはレジスタやＳＲＡＭであるが、これらはビットあたりの単価が非常に高価であるため大容量の搭載が難しい。一方、ＤＲＡＭはビット単価、大容量搭載が有利であるものの、ランダムアクセス性能は６０ｎｓ以上を要してしまうためワイヤーレートにおける統計情報の取得を保証することができない。
【００７２】
高速小容量の細粒度統計メモリ１１をＳＲＡＭで、低速大容量の粗粒度メモリ１２をＤＲＡＭで構成した場合に発生するもうひとつの問題について説明する。先述のとおりＳＲＡＭリソースが枯渇する前にＤＲＡＭへデータ転送を行わなければならない。このときＳＲＡＭからＤＲＡＭへデータ転送するタイミングが各統計について同時に発生するとＤＲＡＭ側のバンド（帯域）が不足する。ＳＲＡＭで構成した統計が何時枯渇するかはパケットトラヒック依存のため制御ができない。ＤＲＡＭ側のバンドは、外部トラヒックからＳＲＡＭへのバンドに追従ができないため、ＳＲＡＭとＤＲＡＭ間の通信についての対策が必要となる。
【００７３】
本発明によるもうひとつの特徴は、ＳＲＡＭとＤＲＡＭ間のデータ転送と通信制御に関するもので、パケットトラヒック依存ではなく、バンドの低いＤＲＡＭに同期した定期的なデータ通信によって課題を解決するものである。図６には、商用のＤＤＲ−ＳＤＲＡＭを用いて粗粒度メモリ１２を構成した場合における、ＳＲＡＭとのデータ通信に関するタイムチャートが示されている。ここでは、ＤＤＲ−ＳＤＲＡＭのアクセス周期ごとに到来する、ＡＣＴ（ページの活性化コマンド）からＰＲＥ（ページの非活性化コマンド）までの活性期間ＴＰに、ＲＥＮ（Ｒｅａｄコマンド）とＷＥＮ（Ｗｒｉｔｅコマンド）を４つのバンクＡ，Ｂ，Ｃ，Ｄに対して指示している。
【００７４】
各バンクＡ，Ｂ，Ｃ，Ｄにおいて、それぞれのＲＥＮからＷＥＮまでの期間ＴＡ，ＴＢ，ＴＣ，ＴＤはＳＲＡＭとのデータ通信と統計情報の更新を行う時間として割り当てる。したがって、この例においてはＡＣＴからＰＲＥまでのＴＰにおいて、４つの統計情報の更新が並列的に行われることとなる。すなわちＳＲＡＭとＤＲＡＭ間のデータ通信に関し、ＤＲＡＭ側が基準となってＳＲＡＭの統計情報の更新、並び初期化（リセット）を行う。このようにすれば、外部のネットワークトラヒックに依存することなく、常にＤＲＡＭのバンド（帯域）許容内において統計情報の更新が可能となる。
【００７５】
［第２の実施の形態の動作］
次に、図５および図６を参照して、本実施の形態にかかる更新処理動作について詳細に説明する。
細粒度制御部１１Ｂの更新制御部ＣＮＴは、粗粒度メモリ１２からの更新要求に応じて、細粒度蓄積部１１Ａのページ信号ＰＡＧＥを監視し、細粒度蓄積部１１Ａの活性状態ＡＣＴが終了してから非活性状態ＰＲＥとなるまでの空き期間ＴＰに、予め選択した対象統計項目に対応するバンク記憶部ＢＭの更新処理部ＳＴＡに対して統計情報の蓄積を指示する。ここでは、全統計項目から４つずつ順に対象統計項目として選択するものとし、以下では、統計項目Ａ，Ｂ，Ｃ，Ｄを対象統計項目として選択した場合を例として説明する。
【００７６】
まず、更新制御部ＣＮＴは、空き期間ＴＰにおいて、対象統計項目Ａ，Ｂ，Ｃ，Ｄと対応する４つのバンク記憶部ＢＭに対し、読み出し制御信号ＲＥＮとバンク選択信号ＢＡＮＫとを、クロックＣＬＫに同期して順に出力する。この際、更新制御部ＣＮＴは、粗粒度メモリ１２からの粗粒度統計情報の読み出しタイミングが重ならないよう、１クロック分ずつずらしてＲＥＮとＢＡＮＫとを各バンク記憶部ＢＭに出力する。これにより、各バンク記憶部ＢＭでの計算処理が並列的に実行される。
【００７７】
バンク記憶部ＢＭには、細粒度統計情報で粗粒度統計情報を更新するための統計処理部ＳＴＡがそれぞれ設けられており、ＲＥＮに同期して粗粒度メモリ１２から読み出された粗粒度統計情報ＤＣ０を、ＢＥＮによりゲートＧを制御して受け取り、当該バンク記憶部ＢＭに対応する自己の待ち行列Ｑ０から読み出したすべての細粒度統計情報ＤＳを、加算器ＡＤＤでＤＣ０に加算して更新して、新たな粗粒度統計情報ＤＣ１を計算する。
【００７８】
この後、更新制御部ＣＮＴは、残りの空き期間ＴＰにおいて、対象統計項目Ａ，Ｂ，Ｃ，Ｄと対応する４つのバンク記憶部ＢＭに対し、書き込み信号ＷＥＮをクロックＣＬＫに同期して順に出力する。この際、更新制御部ＣＮＴは、粗粒度メモリ１２への粗粒度統計情報の書き込みタイミングが重ならないよう、１クロック分ずつずらしてＷＥＮとＢＡＮＫとを各バンク記憶部ＢＭに出力する。
【００７９】
バンク記憶部ＢＭは、更新により得られた粗粒度統計情報ＤＣ１を、ＷＥＮに同期して粗粒度メモリ１２へ出力する。これにより、ＤＣ０をＤＳにより更新して得られたＤＣ１が粗粒度メモリ１２に書き込まれる。
この際、当該バンク記憶部ＢＭに対応する自己の待ち行列Ｑ１にＤＣ１を蓄積するようにしてもよい。これにより、上位装置からの読み出し要求に応じて粗粒度統計情報ＤＣ１を出力する際、粗粒度メモリ１２からの読み出しを省くことができ、より高いレスポンスを得ることが可能となる。
【００８０】
［第２の実施の形態の効果］
このように、本実施の形態は、それぞれ異なる対象統計項目に関する粗粒度統計情報の更新を並列的に実行する複数の更新処理部ＳＴＡを備え、更新制御部ＣＮＴが、粗粒度メモリ１２へのアクセス周期ごとに、全統計項目のうちから更新対象となる対象統計項目を複数選択し、これら対象統計項目に関する粗粒度統計情報の更新を、更新処理部ＳＴＡのそれぞれに個別に指示するようにしたものである。
これにより、複数の統計項目に関する粗粒度統計情報が、並列的に更新されるため、極めて効率よく更新処理を実行することができる
【００８１】
また、本実施の形態において、細粒度メモリ１１から粗粒度メモリ１２へ更新後の新たな粗粒度統計情報を転送した後、細粒度メモリ１１に対して新たな細粒度統計情報が蓄積されて、細粒度メモリ１１が更新されたか否かを検出して出力する更新有無検出部を設け、次回の更新処理時に、更新有無検出部が更新なしを示している場合には、更新制御部ＣＮＴにより、細粒度メモリ１１と粗粒度メモリ１２との間の通信を遮断するようにしてもよい。これにより、通信維持による不要な消費電力を削減することができる。
【００８２】
［第３の実施の形態］
次に、本発明の第３の実施の形態にかかる統計情報メモリシステム１０について説明する。
細粒度メモリ１１は、粗粒度メモリ１２より記憶容量を小さくできるものの、入力回線３１から到着するパケットのパケットレートに応じて、必要とされる記憶容量が変化する。本実施の形態では、入力回線３１から到着するパケットのパケットレートと細粒度メモリ１１で必要となる記憶容量との関係について詳細に説明する。
【００８３】
ＳＲＡＭ（細粒度メモリ１１）とＤＲＡＭ（粗粒度メモリ１２）との間で粗粒度統計情報をやり取りするのに要する通信所要時間をＴｄとする。ここで、ＤＲＡＭのクロック周波数を４００ＭＨｚとし、Ｔｄがクロック信号ＣＬＫの４周期分に相当する場合、Ｔｄ＝４／（４×１０8）＝１０［ｎｓ］となる。
このため、全統計項目数Ｎが１０万個の場合、全統計項目の粗粒度統計情報を更新するのに要するターンアラウンドタイムはＴＡＴ＝Ｎ×Ｔｄ＝１［ｍｓ］となる。
【００８４】
一方、ＩＰルータ２０におけるパケットのスループットをＴ［ｂｐｓ］とし、パケット長をＬ［ｂｉｔ］とした場合、パケットレートはＰＰＳ＝Ｔ／Ｌ［ｐｐｓ（Packet Per Second）］となり、パケット当たりの許容遅延時間はＤ＝１／ＰＰＳとなる。
したがって、ワイヤーレート条件がＴ＝１００Ｇ［ｂｐｓ］でＬ＝６４［Ｂｙｔｅ］の場合、オーバーヘッドを２０［Ｂｙｔｅ］とすると、Ｄは次のようになる。
Ｌ＝64[Byte]＋20[Byte]  ＝６７２［ｂｉｔ］
ＰＰＳ＝100×109／672  ≒１４８Ｍ［ｐｐｓ］
Ｄ＝1／148M[pps]  ≒６．７２［ｎｓ］
【００８５】
また、Ｔ＝１００Ｇ［ｂｐｓ］でＬ＝２００［Ｂｙｔｅ］の場合、
Ｌ＝200[Byte]  ＝１６００［ｂｉｔ］（平均パケット長とみなす）
ＰＰＳ＝100×109／1600  ≒６２．５Ｍ［ｐｐｓ］
Ｄ＝1／62.5M[pps]  ≒１６［ｎｓ］
となり、Ｔ＝１００Ｇ［ｂｐｓ］でＬ＝１５１８［Ｂｙｔｅ］の場合、
Ｌ＝1518[Byte]＋20[Byte]  ＝１２３０４［ｂｉｔ］
ＰＰＳ＝100×109／12304  ≒８．２Ｍ［ｐｐｓ］
Ｄ＝1／8.2M[pps]  ≒１２２［ｎｓ］
となる。
【００８６】
ここで、一般的なＤＲＡＭのランダムアクセス性能は６０ｎｓ以上であるため、例えばＴ＝１００Ｇ［ｂｐｓ］でＬ＝２００［Ｂｙｔｅ］のワイヤーレート条件には適用できず、ＳＲＡＭが必要となることが分かる。
【００８７】
一方、メモリアクセス回数はＭ＝ＴＡＴ／Ｄで求められるため、各ワイヤーレート条件で必要となるＳＲＡＭのビット長Ｗ［ｂｉｔ］は次のようになる。
Ｍ64B＝1×10-3／(6.72×10-9)  ≒148809［回］＜２18 (=262144)
Ｗ64B＝１８［ｂｉｔ］
Ｍ200B＝1×10-3／(16×10-9)  ≒62500［回］＜２16 (=65536)
Ｗ200B＝１６［ｂｉｔ］
Ｍ1518B＝1×10-3／(122×10-9)  ≒8197［回］＜２14 (=16384)
Ｗ1518B＝１４［ｂｉｔ］
【００８８】
したがって、もっとも厳しいワイヤーレート条件である６４［Ｂｙｔｅ］への対応を考慮すると、最大でＷ＝１８［ｂｉｔ］のＳＲＡＭを用いればよいことが分かる。この際、ＳＲＡＭに必要とされる記憶容量は、Ｃ＝Ｗ×Ｎで求められ、次のようになる。
Ｃ64B＝18×105  ＝１．８Ｍ［ｂｉｔ］
Ｃ200B＝16×105  ＝１．６Ｍ［ｂｉｔ］
Ｃ1518B＝14×105  ＝１．４Ｍ［ｂｉｔ］
【００８９】
［第３の実施の形態の効果］
以上の計算過程をまとめると、全統計項目数をＮ［個］、メモリ間の通信所要時間をＴｄ［ｓ］、パケットのスループットをＴ［ｂｐｓ］、パケット長をＬ［ｂｉｔ］、およびＳＲＡＭのビット長をＷ［ｂｉｔ］とした場合、ＳＲＡＭは、次の式（１），式（２）
２W≧Ｎ×Ｔｄ×Ｔ／Ｌ  …（１）
Ｃ＝Ｗ×Ｎ  …（２）
で求められる記憶容量Ｃ［ｂｉｔ］を有すればよいことが分かる。したがって、Ｗとして式（１）を満足する最小値を選択して、ＳＲＡＭの記憶容量Ｃを決定すれば、与えられたワイヤーレート条件を満足するために必要となる最小限のＣを、極めて容易に算出することができる。
【００９０】
［実施の形態の拡張］
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。また、各実施形態については、矛盾しない範囲で任意に組み合わせて実施することができる。
【符号の説明】
【００９１】
１０…統計情報メモリシステム、１１…細粒度メモリ、１１Ａ…細粒度蓄積部、１１Ｂ…細粒度制御部、１１Ｃ…データ転送部、１２…粗粒度メモリ、１２Ａ…粗粒度蓄積部、１２Ｂ…粗粒度制御部、１３Ａ…データ線、１３Ｂ…制御線、ＳＴＡ…更新処理部、ＣＮＴ…更新制御部、ＢＭ…バンク記憶部、２０…ＩＰルータ、２０Ｒ…パケット転送処理部、２１…パケット入力部、２２…パケット交換部、２３…パケット出力部、２５…メモリシステム制御部、２６…ＳＤＮ制御部。
【図１】
2015233221.tif 000003
【図２】
2015233221.tif 000004
【図３】
2015233221.tif 000005
【図４】
2015233221.tif 000006
【図５】
2015233221.tif 000007
【図６】
2015233221.tif 000008
【図７】
2015233221.tif 000009
【図８】
2015233221.tif 000010
【図９】
2015233221.tif 000011
【図１０】
2015233221.tif 000012
【図１１】
2015233221.tif 000013
【手続補正書】
【提出日】平成27年10月8日(2015.10.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
上位装置から逐次入力される、統計項目に関する時間的粒度の細かい統計値である細粒度統計情報を、当該統計項目ごとに統計処理することにより時間的粒度の粗い統計値である粗粒度統計情報を計算し、得られた計算結果を新たな粗粒度統計情報として蓄積する統計情報メモリシステムであって、
前記統計項目に関する前記粗粒度統計情報をそれぞれ蓄積する粗粒度メモリと、
前記粗粒度メモリに比較して記憶容量が小さく、かつ、高速で動作して、前記上位装置から逐次入力される前記統計項目に関する前記細粒度統計情報をそれぞれ一時蓄積する細粒度メモリと、
前記粗粒度メモリのアクセス周期に合わせて、前記細粒度メモリで一時蓄積している前記細粒度統計情報で、前記粗粒度メモリに蓄積されている前記粗粒度統計情報を順次更新する更新処理部と
を備えることを特徴とする統計情報メモリシステム。
【請求項２】
請求項１に記載の統計情報メモリシステムにおいて、
前記更新処理部は、前記粗粒度メモリのアクセス周期に合わせて、全ての前記統計項目のうちから更新対象として順に選択した対象統計項目ごとに、前記粗粒度メモリに蓄積されている当該対象統計項目に関する前記粗粒度統計情報を、前記細粒度メモリで一時蓄積している当該対象統計項目に関するすべての前記細粒度統計情報で更新し、得られた粗粒度統計情報を当該対象統計項目に関する新たな粗粒度統計情報として前記粗粒度メモリに書き込むことを特徴とする統計情報メモリシステム。
【請求項３】
請求項２に記載の統計情報メモリシステムにおいて、
前記粗粒度メモリのアクセス周期ごとに、全ての前記統計項目のうちから更新対象となる前記対象統計項目を逐次選択し、前記更新処理部に対して、当該対象統計項目に関する粗粒度統計情報の更新を指示する更新制御部をさらに備えることを特徴とする統計情報メモリシステム。
【請求項４】
請求項３に記載の統計情報メモリシステムにおいて、
それぞれ異なる対象統計項目に関する前記粗粒度統計情報の更新を並列的に実行する複数の前記更新処理部を備え、
前記更新制御部は、前記粗粒度メモリへのアクセス周期ごとに、全ての前記統計項目のうちから更新対象となる前記対象統計項目を複数選択し、これら対象統計項目に関する粗粒度統計情報の更新を、前記更新処理部のそれぞれに個別に指示する
ことを特徴とする統計情報メモリシステム。
【請求項５】
請求項１〜請求項４のいずれか１つに記載の統計情報メモリシステムにおいて、
前記細粒度メモリは、前記粗粒度メモリへ更新後の新たな粗粒度統計情報を転送した後、自己に対して新たな細粒度統計情報が蓄積されて、自己が更新されたか否かを検出し、次回の更新処理時に、更新なしが検出されている場合には、前記細粒度メモリと前記粗粒度メモリとの間の通信を遮断することを特徴とする統計情報メモリシステム。
【請求項６】
請求項１〜請求項５のいずれか１つに記載の統計情報メモリシステムにおいて、
前記統計項目の項目数をＮ［個］、メモリ間の通信所要時間をＴｄ［ｓ］、パケットのスループットをＴ［ｂｐｓ］、パケット長をＬ［ｂｉｔ］、および前記細粒度メモリのビット長をＷ［ｂｉｔ］とした場合、前記細粒度メモリは、次の式
２W≧Ｎ×Ｔｄ×Ｔ／Ｌ
を満たす最小のＷにＮを乗算して得られる記憶容量Ｃ＝Ｗ×Ｎ［ｂｉｔ］を有することを特徴とする統計情報メモリシステム。
【請求項７】
請求項１〜請求項６のいずれか１つに記載の統計情報メモリシステムを備え、当該統計情報メモリシステムで到着したパケットに関する統計情報を蓄積するネットワーク機器。
【請求項８】
上位装置から逐次入力される、統計項目に関する時間的粒度の細かい統計値である細粒度統計情報を、当該統計項目ごとに統計処理することにより時間的粒度の粗い統計値である粗粒度統計情報を計算し、得られた計算結果を新たな粗粒度統計情報として蓄積する統計情報蓄積方法であって、
前記統計項目に関する前記粗粒度統計情報を、粗粒度メモリでそれぞれ蓄積するステップと、
前記粗粒度メモリに比較して記憶容量が小さく、かつ、高速で動作して、前記上位装置から逐次入力される前記統計項目に関する前記細粒度統計情報を、細粒度メモリでそれぞれ一時蓄積するステップと、
前記粗粒度メモリのアクセス周期に合わせて、前記細粒度メモリで一時蓄積している前記細粒度統計情報で、前記粗粒度メモリに蓄積されている前記粗粒度統計情報を順次更新する更新処理ステップと
を備えることを特徴とする統計情報蓄積方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
このような目的を達成するために、本発明にかかる統計情報メモリシステムは、上位装置から逐次入力される、統計項目に関する時間的粒度の細かい統計値である細粒度統計情報を、当該統計項目ごとに統計処理することにより時間的粒度の粗い統計値である粗粒度統計情報を計算し、得られた計算結果を新たな粗粒度統計情報として蓄積する統計情報メモリシステムであって、前記統計項目に関する前記粗粒度統計情報をそれぞれ蓄積する粗粒度メモリと、前記粗粒度メモリに比較して記憶容量が小さく、かつ、高速で動作して、前記上位装置から逐次入力される前記統計項目に関する前記細粒度統計情報をそれぞれ一時蓄積する細粒度メモリと、前記粗粒度メモリのアクセス周期に合わせて、前記細粒度メモリで一時蓄積している前記細粒度統計情報で、前記粗粒度メモリに蓄積されている前記粗粒度統計情報を順次更新する更新処理部とを備えている。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
また、本発明にかかる上記統計情報メモリシステムの一構成例は、前記更新処理部が、前記粗粒度メモリのアクセス周期に合わせて、全ての前記統計項目のうちから更新対象として順に選択した対象統計項目ごとに、前記粗粒度メモリに蓄積されている当該対象統計項目に関する前記粗粒度統計情報を、前記細粒度メモリで一時蓄積している当該対象統計項目に関するすべての前記細粒度統計情報で更新し、得られた粗粒度統計情報を当該対象統計項目に関する新たな粗粒度統計情報として前記粗粒度メモリに書き込むようにしたものである。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
また、本発明にかかる上記統計情報メモリシステムの一構成例は、前記粗粒度メモリのアクセス周期ごとに、全ての前記統計項目のうちから更新対象となる前記対象統計項目を逐次選択し、前記更新処理部に対して、当該対象統計項目に関する粗粒度統計情報の更新を指示する更新制御部をさらに備えている。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
また、本発明にかかる上記統計情報メモリシステムの一構成例は、それぞれ異なる対象統計項目に関する前記粗粒度統計情報の更新を並列的に実行する複数の前記更新処理部を備え、前記更新制御部は、前記粗粒度メモリへのアクセス周期ごとに、全ての前記統計項目のうちから更新対象となる前記対象統計項目を複数選択し、これら対象統計項目に関する粗粒度統計情報の更新を、前記更新処理部のそれぞれに個別に指示するようにしたものである。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
また、本発明にかかる上記統計情報メモリシステムの一構成例は、前記統計項目の項目数をＮ［個］、メモリ間の通信所要時間をＴｄ［ｓ］、パケットのスループットをＴ［ｂｐｓ］、パケット長をＬ［ｂｉｔ］、および前記細粒度メモリのビット長をＷ［ｂｉｔ］とした場合、前記細粒度メモリは、次の式２W≧Ｎ×Ｔｄ×Ｔ／Ｌを満たす最小のＷにＮを乗算して得られる記憶容量Ｃ＝Ｗ×Ｎ［ｂｉｔ］を有するものである。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
本発明にかかる統計情報蓄積方法は、上位装置から逐次入力される、統計項目に関する時間的粒度の細かい統計値である細粒度統計情報を、当該統計項目ごとに統計処理することにより時間的粒度の粗い統計値である粗粒度統計情報を計算し、得られた計算結果を新たな粗粒度統計情報として蓄積する統計情報蓄積方法であって、前記統計項目に関する前記粗粒度統計情報を、粗粒度メモリでそれぞれ蓄積するステップと、前記粗粒度メモリに比較して記憶容量が小さく、かつ、高速で動作して、前記上位装置から逐次入力される前記統計項目に関する前記細粒度統計情報を、細粒度メモリでそれぞれ一時蓄積するステップと、前記粗粒度メモリのアクセス周期に合わせて、前記細粒度メモリで一時蓄積している前記細粒度統計情報で、前記粗粒度メモリに蓄積されている前記粗粒度統計情報を順次更新する更新処理ステップとを備えている。