(57)【要約】【課題】メモリを効率的に監視することを課題とする。【解決手段】ＬＩＵは、物理ネットワーク内に構築された仮想ネットワークを識別する仮想識別子毎に、当該仮想ネットワークを介して送受信されるパケットがＬＩＵ内を流通したか否かを記憶する。ＬＩＵは、記憶される仮想識別子の中から、パケットがＬＩＵを流通した回数が所定値未満の仮想識別子を選択する。ＬＩＵは、選択した仮想識別子で特定される仮想ネットワークで送受信される監視パケットを生成する。ＬＩＵは、特定された仮想ネットワークに対応付けられたメモリのエントリにアクセスして、生成された監視パケットをＬＩＵ内に流通させる際に、メモリの異常を検出する。【選択図】図２
2014068079.tif 000002
【特許請求の範囲】
【請求項１】
パケットを送受信する入出力装置において、
物理ネットワーク内に構築された仮想ネットワークを識別する仮想識別子毎に、当該仮想ネットワークを介して送受信されるパケットが前記入出力装置内を流通したか否かを記憶する履歴記憶部と、
前記履歴記憶部に記憶される仮想識別子の中から、前記パケットが前記入出力装置を流通した回数が所定値未満の仮想識別子を選択する選択部と、
前記選択部が選択した仮想識別子で特定される仮想ネットワークで送受信される監視パケットを生成する生成部と、
前記特定された仮想ネットワークに対応付けられたメモリのエントリにアクセスして、前記生成部によって生成された監視パケットを前記入出力装置内に流通させる際に、前記メモリの異常を検出する検出部と
を有することを特徴とする入出力装置。
【請求項２】
前記履歴記憶部は、前記仮想識別子に対応付けて、前記パケットがユニキャストまたはマルチキャストで送信されたことを示す種別情報、前記パケットが前記入出力装置に入力されたまたは前記入出力装置から出力されたかを示す方向情報、前記パケットに設定される優先度情報、前記パケットのパケット長の少なくとも１つを記憶し、
前記選択部は、前記履歴記憶部に記憶される情報のうち、前記パケットが前記入出力装置を流通した回数が所定値未満の組合せを選択することを特徴とする請求項１に記載の入出力装置。
【請求項３】
前記履歴記憶部は、前記メモリの異常を監視する所定の間隔ごとに、前記仮想識別子、前記種別情報、前記方向情報、前記優先度情報、前記パケット長について、前記入出力装置内を流通したか否かを示すフラグ情報を記憶し、
前記選択部は、前記履歴記憶部が記憶する情報ごとに、前記所定の間隔各々のフラグ情報の論理積を算出し、算出した論理積に基づいて、前記パケットが前記入出力装置を流通した回数が所定値未満の組合せを選択することを特徴とする請求項２に記載の入出力装置。
【請求項４】
前記入出力装置に入力されたパケットまたは前記入出力装置から出力されたパケットの数を計数する計数部をさらに有し、
前記生成部は、前記計数部によって計数されたパケットの数に応じて、前記監視パケットに設定する優先度を決定することを特徴とする請求項１から３のいずれか一つに記載の入出力装置。
【請求項５】
パケットを送受信する入出力装置が、
物理ネットワーク内に構築された仮想ネットワークを識別する仮想識別子毎に、当該仮想ネットワークを介して送受信されるパケットが前記入出力装置内を流通したか否かを記憶する履歴記憶部に記憶される仮想識別子の中から、前記パケットが前記入出力装置を流通した回数が所定値未満の仮想識別子を選択し
選択した仮想識別子で特定される仮想ネットワークで送受信される監視パケットを生成し、
特定した仮想ネットワークに対応付けられたメモリのエントリにアクセスして、生成された監視パケットを前記入出力装置内に流通させる際に、前記メモリの異常を検出する
処理を含んだことを特徴とするメモリ監視方法。
【請求項６】
パケットを送受信する入出力装置を有する伝送装置において、
前記入出力装置が、
物理ネットワーク内に構築された仮想ネットワークを識別する仮想識別子毎に、当該仮想ネットワークを介して送受信されるパケットが前記入出力装置内を流通したか否かを記憶する履歴記憶部と、
前記履歴記憶部に記憶される仮想識別子の中から、前記パケットが前記入出力装置を流通した回数が所定値未満の仮想識別子を選択する選択部と、
前記選択部が選択した仮想識別子で特定される仮想ネットワークで送受信される監視パケットを生成する生成部と、
前記特定された仮想ネットワークに対応付けられたメモリのエントリにアクセスして、前記生成部によって生成された監視パケットを前記入出力装置内に流通させる際に、前記メモリの異常を検出する検出部と
を有することを特徴とする伝送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入出力装置、メモリ監視方法および伝送装置に関する。
【背景技術】
【０００２】
回線インタフェースカード（LIU：Line  Interface  Unit）に搭載されるメモリには、ＥＣＣ（Error  Correcting  Code）、パリティ、ＦＣＳ（Frame  Check  Sequence）などによってエラーを検出するエラー検出回路が実装されている。ＬＩＵでは、このエラー検出回路を用いて、パケットを受信した際にメモリ異常を検出する。
【０００３】
近年の伝送装置などは、ＬＩＵに障害が発生した場合でも通信を中断させないように、ＬＩＵを冗長化することで、信頼性を向上させている。ＬＩＵが冗長化されている場合、運用系のＬＩＵでは、ユーザパケットなどがエラー検出回路に入力されるので、メモリ異常を検出することができる。一方で、待機系のＬＩＵでは、ユーザパケットなどがエラー検出回路に入力されないので、メモリ異常を検出することは難しい。
【０００４】
このため、待機系のＬＩＵにメモリ異常が発生していても、運用系から待機系に切替えるまで検出することができず、切替えが発生してはじめてメモリ異常が検出されてしまい、待機系のＬＩＵも使用できない状況が発生する。これに対して、運用系のＬＩＵおよび待機系のＬＩＵが、ユーザパケットとは異なる監視パケットを生成して、自カード内に流通させることで、メモリ異常を検出する手法が知られている。
【０００５】
具体的には、ＬＩＵは、流通中に途中で破棄されないように優先度を最高優先に設定した監視パケットを生成する。続いて、ＬＩＵは、メモリをリードまたはライトして、生成した監視パケットを流通させる。そして、ＬＩＵは、エラー検出回路によって、メモリをリードまたはライトする際に異常を検出する。なお、リードまたはライトするメモリのエントリは、パケットの種別によって異なる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開昭６３−２８４９４１号公報
【特許文献２】特開２００５−２６９５０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記技術では、メモリ内の同じエントリを用いて監視パケットをＬＩＵ内に流通させるので、メモリ内の同じ場所しか異常の有無をチェックすることができず、効率的ではないという問題がある。
【０００８】
一般的に、ＬＩＵでは、ユーザの利便性を考えて、同じ種別で同じ優先度の監視パケットが定期的に流通される。したがって、メモリ内の一箇所を定期的に監視し続けることになり、メモリ全体を監視できない。
【０００９】
また、毎回、監視パケットに設定する種別や優先度を変更することも考えられる。しかし、ＬＩＵ内のユーザパケットの流量によっては、優先度が低い監視パケットは破棄されてしまい、監視ができない。また、毎回種別を変更した場合でも、ユーザパケットの状況によって、ＬＩＵ内を流通するパケットの種別に偏りが発生することがあり、結局、一部のメモリしか監視していない状況が発生する。このように、管理者等の操作によって、毎回、種別や優先度を変更することは作業負担も多く現実的ではない。
【００１０】
開示の技術は、上記に鑑みてなされたものであって、メモリを効率的に監視することができる入出力装置、メモリ監視方法および伝送装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本願の開示する入出力装置、メモリ監視方法および伝送装置は、一つの態様において、パケットを送受信する入出力装置である。入出力装置は、物理ネットワーク内に構築された仮想ネットワークを識別する仮想識別子毎に、当該仮想ネットワークを介して送受信されるパケットが前記入出力装置内を流通したか否かを記憶する履歴記憶部を有する。入出力装置は、前記履歴記憶部に記憶される仮想識別子の中から、前記パケットが前記入出力装置を流通した回数が所定値未満の仮想識別子を選択する選択部を有する。入出力装置は、前記選択部が選択した仮想識別子で特定される仮想ネットワークで送受信される監視パケットを生成する生成部を有する。入出力装置は、前記特定された仮想ネットワークに対応付けられたメモリのエントリにアクセスして、前記生成部によって生成された監視パケットを前記入出力装置内に流通させる際に、前記メモリの異常を検出する検出部を有する。
【発明の効果】
【００１２】
本願の開示する入出力装置、メモリ監視方法および伝送装置の一つの態様によれば、メモリを効率的に監視することができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施例１に係る伝送装置を含むシステムの全体構成例を示す図である。
【図２】図２は、実施例１に係るＬＩＵの機能構成を示す機能ブロック図である。
【図３】図３は、流量数テーブルに記憶される情報の例を示す図である。
【図４】図４は、流通実績管理テーブルに記憶される情報の例を示す図である。
【図５】図５は、ＶＬＡＮテーブルとメモリとのマッピング例を示す図である。
【図６】図６は、パケットのフォーマット例を示す図である。
【図７】図７は、ＶＬＡＮテーブルアクセス時のチェック例を示す図である。
【図８】図８は、監視パケット送信処理の流れを示すフローチャートである。
【図９】図９は、監視パケット送信判断処理の流れを示すフローチャートである。
【図１０】図１０は、メモリを用いてＬＩＵ内に監視パケットを流通させる具体例を示す図である。
【図１１】図１１は、ＬＩＵのハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１４】
以下に、本願の開示する入出力装置、メモリ監視方法および伝送装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１５】
［全体構成］
図１は、実施例１に係る伝送装置を含むシステムの全体構成例を示す図である。図１に示すように、このシステムは、伝送装置１と複数のサーバ２〜７とを有する。また、伝送装置１と各サーバとは物理ネットワークを構成するとともに、物理ネットワーク内に仮想ネットワークを構築する。つまり、このシステムのネットワークは、少なくとも１つの仮想ネットワークによって分離される。例えば、サーバ２とサーバ５が仮想ネットワークで接続されており、伝送装置１は、サーバ２から受信したパケットをサーバ５に対して中継する。
【００１６】
なお、仮想ネットワークは、一意な仮想識別子によって識別される。また、図１に示した構成図はあくまで例示であり、これに限定されるものではなく、例えばルータやユーザ端末など他の装置を有していてもよく、台数も図示したものに限定されない。
【００１７】
伝送装置１は、回線インタフェースカード（LIU：Line  Interface  Unit）１０を有し、サーバ間で送受信されるパケットを伝送する装置である。ＬＩＵ１０は、例えばＶＬＡＮ（Virtual  Local  Area  Network）用テーブル１０ａを有し、メモリの異常を検出する。このＶＬＡＮ用テーブル１０ａは、ＬＩＵ１０が有するメモリの所定領域にマッピングされている。
【００１８】
例えば、ＬＩＵ１０は、サーバ５からユーザパケットを受信した場合に、当該ユーザパケットに含まれるＶＬＡＮ−ＩＤを特定する。そして、ＬＩＵ１０は、ＶＬＡＮ用テーブル１０ａから、ユーザパケットから特定したＶＬＡＮ−ＩＤに対応するレコードを読み出す。すなわち、ＬＩＵ１０は、ユーザパケットのＶＬＡＮ−ＩＤに対応する、メモリのエントリにアクセスする。このとき、ＬＩＵ１０は、メモリ内に実装されるエラー検出回路によってパリティチェックなどを実行し、メモリに異常があるかないかを判定する。こうして、ＬＩＵ１０は、ユーザパケットが受信した際のメモリアクセス時に、メモリ異常を検出する。
【００１９】
このようなＬＩＵ１０は、物理ネットワーク内に構築された仮想ネットワークを識別するＶＬＡＮ−ＩＤ毎に、当該仮想ネットワークを介して送受信されるパケットがＬＩＵ１０内を流通したか否かを記憶する履歴記憶部を有する。そして、ＬＩＵ１０は、履歴記憶部に記憶されるＶＬＡＮ−ＩＤの中から、パケットがＶＩＤ１０内を流通していないＶＬＡＮ−ＩＤを選択する。続いて、ＬＩＵ１０は、選択したＶＬＡＮ−ＩＤで特定される仮想ネットワークで送受信される監視パケットを生成する。その後、ＬＩＵ１０は、選択された仮想ネットワークに対応付けられたメモリのエントリにアクセスして、生成された監視パケットをＬＩＵ１０内に流通させる際に、メモリの異常を検出する。
【００２０】
このように、ＬＩＵ１０は、ユーザパケットを受信した場合にメモリ異常のチェックを実行するが、この方法だとユーザパケットで指定されるＶＬＡＮ−ＩＤに対応するメモリしか異常検出を実施することができない。そこで、ＬＩＵ１０は、ＶＬＡＮ−ＩＤ毎にパケットの流通状況を監視し、流通が確認できていないＶＬＡＮ−ＩＤを通過する監視パケットを生成し、ＶＬＡＮ−ＩＤに対応するメモリを用いて流通させることで、監視対象のエントリを分散させ、メモリを効率的に監視することができる。
【００２１】
［機能構成］
図２は、実施例１に係るＬＩＵの機能構成を示す機能ブロック図である。図２に示すように、ＬＩＵ１０は、記憶部１１、入力処理部１２、出力処理部１３、制御部１４を有する。なお、記憶部１１は、例えば半導体素子などのメモリであり、制御部１４は、ＣＰＵ（Central  Processing  Unit）などのプロセッサである。
【００２２】
記憶部１１は、流量数テーブル１１ａ、流通実績管理テーブル１１ｂ、ＶＬＡＮテーブル１１ｃ、種別テーブル１１ｄ、優先情報テーブル１１ｅ、パケット長テーブル１１ｆを有する。
【００２３】
流量数テーブル１１ａは、ＬＩＵ１０内に流れたパケットの総数を記憶する。具体的には、流量数テーブル１１ａは、ＬＩＵ１０が受信したパケット数およびＬＩＵ１０が送信したパケット数の合計を記憶する。このテーブルは、入力処理部１２の入力カウント部１２ａと出力処理部１３の出力カウント部１３ａによって更新される。図３は、流量数テーブルに記憶される情報の例を示す図である。
【００２４】
図３に示すように、流量数テーブル１１ａは、「入力パケット数、出力パケット数、総パケット数」を記憶する。ここで記憶される「入力パケット数」は、ＬＩＵ１０が受信したパケット数であり、入力カウント部１２ａによって更新される。「出力パケット数」は、ＬＩＵ１０が送信したパケット数であり、出力カウント部１３ａによって更新される。「総パケット数」は、入力パケット数と出力パケット数との合算値であり、いずれかを更新した入力カウント部１２ａまたは出力カウント部１３ａによって更新される。図３の場合、ＬＩＵ１０は、１５０個のパケットを受信し、１８５個のパケットを送信し、合計で３３５個のパケットを処理したことを示す。
【００２５】
流通実績管理テーブル１１ｂは、ＬＩＵ１０内を流通したパケットの実績を管理する。ここで記憶される情報は、入力処理部１２や出力処理部１３の各チェック部によって更新される。図４は、流通実績管理テーブルに記憶される情報の例を示す図である。
【００２６】
図４に示すように、流通実績管理テーブル１１ｂは、「Ｈｉｓｔｏｒｙ−１からＨｉｓｔｏｒｙ−ｎ（ｎは任意の数）」ごとに、「ＶＬＡＮ−１からＶＬＡＮ−４０９６」を記憶する。また、流通実績管理テーブル１１ｂは、ＶＬＡＮごとに、「ＥＧ、ＩＧ、Ｕｎｉ、Ｍｕｌｔ、Ａｂｓ、Ｈｉｇｈ、Ｍｉｄ、Ｌｏｗ、ｐ４、ｐ３、ｐ２、ｐ１」を記憶する。
【００２７】
ここで記憶される「Ｈｉｓｔｏｒｙ」は、履歴を識別する識別子であり、メモリの異常を監視する所定の間隔ごとに設定される。例えば、ＬＩＵ１０が起動されてはじめの監視タイミングになると、監視時間ｔの間に送受信されたパケットに関する情報が「Ｈｉｓｔｏｒｙ−１」に格納される。そして、次の監視タイミングになると、監視時間ｔの間に送受信されたパケットに関する情報が「Ｈｉｓｔｏｒｙ−２」に格納される。また、監視タイミングがｎ回経過した後は、「Ｈｉｓｔｏｒｙ−１」に戻って「Ｈｉｓｔｏｒｙ−１」を初期化した上で「Ｈｉｓｔｏｒｙ−１」に情報が格納される。
【００２８】
「ＶＬＡＮ−１からＶＬＡＮ−４０９６」は、仮想ネットワークを識別するＶＬＡＮ−ＩＤであり、Ｈｉｓｔｏｒｙごとに記憶される。また、「ＥＧ」は、出力パケットであることを示すフラグであり、「ＩＧ」は、入力パケットであることを示すフラグである。「Ｕｎｉ」は、ユニキャストで送受信されるパケットであることを示すフラグであり、「Ｍｕｌｔ」は、マルチキャストで送受信されるパケットであることを示すフラグである。
【００２９】
「Ａｂｓ」は、パケットに指定される優先度が最高優先度であることを示すフラグであり、「Ｈｉｇｈ」は、パケットに指定される優先度が２番目に高い優先度であることを示すフラグである。「Ｍｉｄ」は、パケットに指定される優先度が３番目に高い優先度であることを示すフラグであり、「Ｌｏｗ」は、パケットに指定される優先度が一番低い優先度であることを示すフラグである。
【００３０】
「ｐ４」は、パケット長が１０２４バイトであることを示すフラグであり、「ｐ３」は、パケット長が５１２バイトであることを示すフラグである。「ｐ２」は、パケット長が２５６であることを示すフラグであり、「ｐ１」は、パケット長が１２８バイトであることを示すフラグである。なお、上記各フラグには、該当する場合には１が設定され、それ以外は０が設定される。
【００３１】
例えば、２回目の監視タイミングの時間内で、仮想識別子が「ＶＬＡＮ−１」で最高優先度が設定されたパケット長が５１２のパケットを受信したとする。この場合、流通実績管理テーブル１１ｂの「Ｈｉｓｔｏｒｙ−２」の「ＶＬＡＮ−１」の「ＩＧ」および「Ａｂｓ」および「ｐ３」の各々に「１」が設定される。つまり、後述する各チェック部は、受信パケットまたは送信パケットに対して、該当するフラグを１に設定する。このため、ＬＩＵ１０内を通過した項目については１が設定され、通過していない項目については０のままとなるので、どのようなパケットがＬＩＵ１０内を通過したかを識別することができる。
【００３２】
図２に戻り、ＶＬＡＮテーブル１１ｃは、ＶＬＡＮ−ＩＤによって特定されるメモリの所定領域とマッピングされたテーブルである。種別テーブル１１ｄは、パケットの種別である「Ｕｎｉ」または「Ｍｕｌｔ」によって特定されるメモリの所定領域とマッピングされたテーブルである。優先情報テーブル１１ｅは、パケットに設定される優先度によって特定されるメモリの所定領域とマッピングされたテーブルである。パケット長テーブル１１ｆは、パケット長である「ｐ１からｐ４」によって特定されるメモリの所定領域とマッピングされたテーブルである。
【００３３】
図５を用いてマッピングの一例を説明する。図５は、ＶＬＡＮテーブルとメモリとのマッピング例を示す図である。図５に示すように、ＶＬＡＮテーブル１１ｃにはメモリの所定領域が対応付けられており、ＶＬＡＮテーブル１１ｃのレコードにアクセスすると、メモリのエントリをアクセスすることになる。例えば、ＶＬＡＮテーブル１１ｃにおいてＶＬＡＮ−ＩＤが「ＶＬＡＮ−２」であるレコードを読み出すと、メモリ上でＶＬＡＮ−２に対応付けられたエントリを読み出すことになる。
【００３４】
入力処理部１２は、入力カウント部１２ａ、ＶＬＡＮチェック部１２ｂ、種別チェック部１２ｃ、優先度チェック部１２ｄ、パケット長チェック部１２ｅを有し、これらによってＬＩＵ１０に入力されたパケットに対して各種処理を実行する処理部である。なお、入力処理部１２が処理対象とするパケットは、ユーザパケットであってもよく、監視パケットであってもよい。
【００３５】
入力カウント部１２ａは、入力されたパケットを計数する処理部である。例えば、入力カウント部１２ａは、パケットを受け付けた場合には、流量数テーブル１１ａの入力パケット数と総パケット数とをインクリメントする。そして、入力カウント部１２ａは、入力されたパケットをＶＬＡＮチェック部１２ｂに出力する。
【００３６】
ここで、入力されるパケットの例を説明する。図６は、パケットのフォーマット例を示す図である。なお、出力パケットも同様のフォーマットである。図６に示すように、パケットは、「プリアンブル／ＳＦＤ（Start  Frame  Delimiter）、宛先アドレス、送信元アドレス、ＶＬＡＮタグ、Ｔｙｐｅ／Ｌｅｎｇｔｈ、データ、ＦＣＳ」の各フィールドから構成される。
【００３７】
「プリアンブル／ＳＦＤ」は、例えば７バイトのプリアンブルフィールドと１バイトのＳＦＤフィールドから構成され、ネットワークに接続するインタフェ−スに送信の開始を認識させ、同期をとるタイミングを与えるための信号が格納されるフィールドである。「宛先アドレス」は、例えば６バイトの情報であり、パケットの宛先を示すＩＰ（Internet  Protocol）アドレスが設定されるフィールドである。「送信元アドレス」は、例えば６バイトの情報であり、パケットの送信元を示すＩＰアドレスが設定されるフィールドである。
【００３８】
「ＶＬＡＮタグ」は、ＶＬＡＮに関する情報を設定する６バイトのフィールドであり、「Ｔｙｐｅ、タグ制御情報」が格納されるフィールドである。「Ｔｙｐｅ」は、パケットのタイプを表す２バイトのフィールドであり、「ＩＥＥＥ８０２．１Ｑ」を表す場合には「８１００」という値がセットされる。「タグ制御情報」は、２バイトのフィールドであり、「ユーザプライオリティ、ＣＦＩ（Canonical  Format  Indicator）、ＶＩＤ」を格納する。「ユーザプライオリティ」は、パケットの優先度が設定されるフィールドである。「ＣＦＩ」は、フォーマットがイーサーネットであることを示すフラグが設定されるフィールドである。「ＶＩＤ」は、仮想ネットワークを識別する識別子が設定されるフィールドであり、ここで設定される情報が上記ＶＬＡＮ−ＩＤに該当する。
【００３９】
また、「Ｔｙｐｅ／Ｌｅｎｇｔｈ」は、データフィールドに設定される上位層プロトコルを示すＩＤとパケットの長さとが設定されるフィールドである。「データ」は、パケットがユーザパケットである場合にはユーザデータが設定され、パケットが監視パケットである場合には空欄となるフィールドである。「ＦＣＳ」は、パケットのエラーを検出するための４バイトのフィールドであり、宛先アドレス、送信元アドレス、Ｔｙｐｅ／Ｌｅｎｇｔｈ、データの各フィールドから計算したＣＲＣ（Cyclic  Redundancy  Check）値が設定される。受信側でも同様のＣＲＣ値が設定され、ＦＣＳフィールドの値と一致しない場合にエラーが発生したと検出される。
【００４０】
ＶＬＡＮチェック部１２ｂは、入力パケットに設定されるＶＬＡＮ−ＩＤに対応するメモリの異常チェックを実行する処理部である。具体的には、ＶＬＡＮチェック部１２ｂは、入力パケットにおいて図６に示したＶＩＤフィールドに設定される値を取得し、当該値に対応付けられるＶＬＡＮテーブル１１ｃのレコードを読み出す。このとき、ＶＬＡＮチェック部１２ｂは、該当するレコードを正常に読み出せるか否かや読み出す際にパリティチェックを実行して、メモリの異常チェックを実行する。そして、ＶＬＡＮチェック部１２ｂは、メモリに異常が検出された場合には、異常が検出されたことを制御部１４等に通知する。
【００４１】
図７は、ＶＬＡＮテーブルアクセス時のチェック例を示す図である。図７に示すように、ＶＬＡＮチェック部１２ｂは、ＶＬＡＮテーブル１１ｃの該当レコードを読み出す際に、パリティチェックを実行する。つまり、ＶＬＡＮチェック部１２ｂは、ＶＬＡＮテーブル１１ｃの該当レコードを読み出す処理を実行することで、メモリの該当エントリを読み出すことになる。したがって、ＶＬＡＮチェック部１２ｂは、パケットが通過対象とするＶＬＡＮに対応するメモリ領域に対して異常の有無をチェックできる。
【００４２】
種別チェック部１２ｃは、入力パケットの宛先ＭＡＣアドレスフィールドから、宛先がマルチキャストかユニキャストかを特定し、特定した情報に対応するメモリの異常チェックを実行する処理部である。具体的には、種別チェック部１２ｃは、入力パケットにおいて図６に示した宛先アドレスが１つである場合には、当該パケットがユニキャストで送信されたと判定する。また、種別チェック部１２ｃは、入力パケットにおいて図６に示した宛先アドレスが複数またはグループアドレスである場合には、当該パケットがマルチキャストで送信されたと判定する。
【００４３】
そして、種別チェック部１２ｃは、特定したユニキャストまたはマルチキャストに対応付けられる種別テーブル１１ｄのレコードを読み出す。このとき、種別チェック部１２ｃは、該当するレコードを正常に読み出せるか否かによって、メモリの異常チェックを実行する。具体的には、種別チェック部１２ｃは、種別テーブル１１ｄの該当レコードを読み出す際に、パリティチェックを実行する。そして、種別チェック部１２ｃは、メモリに異常が検出された場合には、異常が検出されたことを制御部１４等に通知する。
【００４４】
このように、種別チェック部１２ｃは、種別テーブル１１ｄの該当レコードを読み出す処理を実行することで、メモリの該当エントリを読み出すことができる。したがって、種別チェック部１２ｃは、パケットの種別に対応するメモリ領域に対して異常の有無をチェックできる。
【００４５】
優先度チェック部１２ｄは、入力パケットのユーザプライオリティフィールドから、パケットに設定される優先度を特定し、特定した優先度に対応するメモリの異常チェックを実行する処理部である。具体的には、優先度チェック部１２ｄは、入力パケットから特定した優先度に対応付けられる優先情報テーブル１１ｅのレコードを読み出す。このとき、優先度チェック部１２ｄは、該当するレコードを正常に読み出せるか否かによって、メモリの異常チェックを実行する。具体的には、優先度チェック部１２ｄは、優先情報テーブル１１ｅの該当レコードを読み出す際に、パリティチェックを実行する。そして、優先度チェック部１２ｄは、メモリに異常が検出された場合には、異常が検出されたことを制御部１４等に通知する。
【００４６】
このように、優先度チェック部１２ｄは、優先情報テーブル１１ｅの該当レコードを読み出す処理を実行することで、メモリの該当エントリを読み出すことができる。したがって、優先度チェック部１２ｄは、パケットに設定される優先度に対応するメモリ領域に対して異常の有無をチェックできる。
【００４７】
パケット長チェック部１２ｅは、入力パケットのＴｙｐｅ／Ｌｅｎｇｔｈフィールドから、パケット長を特定し、特定したパケット長に対応するメモリの異常チェックを実行する処理部である。具体的には、パケット長チェック部１２ｅは、入力パケットから特定したパケット長に対応付けられるパケット長テーブル１１ｆのレコードを読み出す。このとき、パケット長チェック部１２ｅは、該当するレコードを正常に読み出せるか否かによって、メモリの異常チェックを実行する。具体的には、パケット長チェック部１２ｅは、パケット長テーブル１１ｆの該当レコードを読み出す際に、パリティチェックを実行する。そして、パケット長チェック部１２ｅは、メモリに異常が検出された場合には、異常が検出されたことを制御部１４等に通知する。
【００４８】
このように、パケット長チェック部１２ｅは、パケット長テーブル１１ｆの該当レコードを読み出す処理を実行することで、メモリの該当エントリを読み出すことができる。したがって、パケット長チェック部１２ｅは、パケットの長さに対応するメモリ領域に対して異常の有無をチェックできる。
【００４９】
出力処理部１３は、出力カウント部１３ａ、ＶＬＡＮチェック部１３ｂ、種別チェック部１３ｃ、優先度チェック部１３ｄ、パケット長チェック部１３ｅを有し、これらによってＬＩＵ１０から出力されるパケットに対して各種処理を実行する処理部である。なお、出力処理部１３が処理対象とするパケットは、ユーザパケットであってもよく、監視パケットであってもよい。
【００５０】
この出力処理部１３が有する各処理部が実行する処理は、入力処理部１２が処理対象とする入力パケットとは異なり、出力パケットを対象とするものであり、処理内容としては入力処理部１２の各処理部と同様なので、詳細な説明は省略する。また、入力処理部１２または出力処理部１３が有する各チェック部の順番は、図２に示したものに限定されず、任意に設定変更することができる。例えば、他の装置への影響が大きい重要な項目から順にチェックするように並べることで、重要なエラーを早期に発見することもできる。
【００５１】
また、入力処理部１２または出力処理部１３は、図示したチェック部によるチェック以外にも例えばＦＣＳなどのチェックを実行することもできる。また、各チェック部と同様の処理を実行する回路をメモリに格納し、メモリに格納される回路が各チェックを実行してもよい。
【００５２】
制御部１４は、選択部１５、生成部１６、流通実行部１７を有し、これらによって監視パケットを生成してメモリ異常を検出する処理部である。
【００５３】
選択部１５は、流通実績管理テーブル１１ｂに記憶される流通実績から、ＬＩＵ１０内を流通していない組合せを選択する処理部である。具体的には、選択部１５は、流通実績管理テーブル１１ｂに記憶される、現在から過去までの流通履歴を参照して、流通実績の少ない仮想ネットワーク、入出力、種別、優先度、パケット長の組合せを特定する。
【００５４】
例えば、選択部１５は、ＶＬＡＮ−ＩＤごとに、Ｈｉｓｔｏｒｙ−１からＨｉｓｔｏｒｙ−ｎまでの論理積を算出する。具体的には、選択部１５は、ＶＬＡＮ−ＩＤごとに、各Ｈｉｓｔｏｒｙの「ＥＧ」、「ＩＧ」、「Ｕｎｉ」、「Ｍｕｌｔ」、「Ａｂｓ」、「Ｈｉｇｈ」、「Ｍｉｄ」、「Ｌｏｗ」、「ｐ１」、「ｐ２」、「ｐ３」、「ｐ４」各々について論理積を算出する。一例を挙げると、選択部１５は、「ＶＬＡＮ−１の「ＥＧ」｜ＶＬＡＮ−２の「ＥＧ」｜・・・｜ＶＬＡＮ−ｎの「ＥＧ」」を算出する。
【００５５】
そして、選択部１５は、ＶＬＡＮ−ＩＤごとに論理積の値が「０」の組合せを特定する。具体的には、選択部１５は、ＶＬＡＮ−ＩＤごとに、入出力、種別、優先度、パケット長各々について論理積が「０」の項目を特定する。例えば、ＶＬＡＮ−１については入出力「ＥＧ＝１、ＩＧ＝０」、種別「Ｕｎｉ＝０、ＭＵｌｔ＝１」、優先度「Ａｂｓ＝ＭＩＤ＝Ｌｏｗ＝０、Ｈｉｇｈ＝１」、パケット量「ｐ１＝１、Ｐ２＝ｐ３＝ｐ４＝０」であるとする。この場合、選択部１５は、「ＶＬＡＮ−１、ＩＧ、ＭＵｌｔ、Ｈｉｇｈ、ｐ１」と特定し、特定した組み合わせの情報を生成部１６に出力する。
【００５６】
ここで、種別の両方が１であるなど、項目内が同じ値の場合には、任意に選択することができる。また、選択部１５は、全てが１の場合には、そのＶＬＡＮ−ＩＤについては選択しないように制御する。また、選択部１５は、流通実績がないＶＬＡＮ−ＩＤが複数存在する場合には、任意に選択できる。一例を挙げると、選択部１５は、最も若番のＶＬＡＮ−ＩＤを選択してもよく、連続して流通していない組み合わせとして特定された回数が最も多いＶＬＡＮ−ＩＤを選択してもよい。なお、対象のＶＬＡＮ−ＩＤは、ＬＩＵ１０が接続されるＶＬＡＮ−ＩＤのみである。したがって、ＶＬＡＮ−１からＶＬＡＮ−３０がＬＩＵ１０に接続される場合には、ＶＬＡＮ−１からＶＬＡＮ−３０について上記処理が実行される。
【００５７】
生成部１６は、選択部１５から通知された組み合わせに対応する監視パケットを生成する処理部である。具体的には、生成部１６は、現在から過去までの流通履歴に基づいて流通実績が少ないと判断された経路を流通する監視パケットを生成する。
【００５８】
例えば、選択部１５から流通実績が少ない組み合わせとして「ＶＬＡＮ−１、ＩＧ、ＭＵｌｔ、Ｈｉｇｈ、ｐ１」が通知されたとする。この場合、生成部１６は、「宛先アドレス＝ＬＩＵ１０のネットワークアドレス、送信元アドレス＝ＬＩＵ１０のＩＰアドレス、ＶＩＤ＝ＶＬＡＮ−１、ユーザプライオリティ＝Ｈｉｇｈ、Ｌｅｎｇｔｈ＝１２８」に設定した監視パケットを生成する。なお、生成部１６は、宛先アドレスについては、入力処理部１２および出力処理部１３を流通させるように設定する。そして、生成部１６は、通知された項目が「ＩＧ」であることから、生成した監視パケットを入力処理部１２に入力する指示を流通実行部１７に出力する。
【００５９】
また、生成部１６は、ＬＩＵ１０に入力されたパケットまたはＬＩＵ１０から出力されたパケットの数に基づいて、生成した監視パケットの優先度を変更することもできる。具体的には、生成部１６は、流量数テーブル１１ａに記憶される総パケット数に応じて、監視パケットに設定する優先度をＡｂｓ、Ｈｉｇｈ、Ｍｉｄ、Ｌｏｗのいずれかに決定する。このとき、生成部１６は、総パケット数が上限値以上の場合には、監視パケットを送信しないと決定する。
【００６０】
このようにすることで、ユーザパケットに影響を与えない範囲内で監視パケットを送信できる。例えば、ユーザパケットの流量が非常に多い状態で、優先度が最高優先の「Ａｂｓ」で監視パケットを送信することを抑止し、ユーザパケットの遅延を防止できる。また、ユーザパケットの流量が非常に少ない状態で、優先度が最低の「Ｌｏｗ」で監視パケットを送信することを防止できるので、監視パケットが無用に破棄されることを抑制できる。
【００６１】
図２に戻り、流通実行部１７は、生成部１６から入力された監視パケットを入力処理部１２および出力処理部１３に送信する処理部である。例えば、流通実行部１７は、指定された入力処理部１２に監視パケットを入力し、出力処理部１３から監視パケットを受信する。このとき、流通実行部１７は、送信した監視パケットに関する情報を流通実績管理テーブル１１ｂに格納する。
【００６２】
一例を挙げると、流通実行部１７が、「宛先アドレス＝ＬＩＵ１０のネットワークアドレス、送信元アドレス＝ＬＩＵ１０のＩＰアドレス、ＶＩＤ＝ＶＬＡＮ−１、ユーザプライオリティ＝Ｈｉｇｈ、Ｌｅｎｇｔｈ＝１２８」の監視パケットを入力処理部１２に入力（ＩＧ）したとする。この場合、流通実行部１７は、現在の監視タイミングに対応するＨｉｓｔｏｒｙのＶＬＡＮ−１のＨｉｇｈ、ｐ１、ＩＧ、Ｍｕｌｔを１に設定する。つまり、流通実行部１７は、監視パケットが送信されるまでは流通実績がなかった経路について、監視パケットを送信したことで流通したとする。
【００６３】
また、流通実行部１７は、送信した監視パケットを受信した場合には、当該監視パケットが流通した経路においてメモリに異常がないと判定し、受信した監視パケットを破棄する。一方、流通実行部１７は、送信した監視パケットを受信できなかった場合には、当該監視パケットが流通した経路においてメモリに異常があると判定する。この場合、流通実行部１７は、各チェック部に問い合わせるか、または、各チェック部からの異常通知によって、メモリ異常を検出する。そして、流通実行部１７は、検出したメモリ異常の情報を、ＬＩＵ１０を搭載する伝送装置に通知する。なお、メモリ異常の情報としては、例えば、発生した時刻、発生したメモリのエントリの情報、発生させた項目情報などがある。また、項目情報としては、例えばＶＬＡＮ−ＩＤなど、メモリの読み出し時のパリティチェックでエラーが検出された項目である。
【００６４】
［処理の流れ］
次に、ＬＩＵ１０が実行する監視パケット送信処理と、監視パケット送信処理内で実行される監視パケット送信判断処理について説明する。
【００６５】
（監視パケット送信処理）
図８は、監視パケット送信処理の流れを示すフローチャートである。図８に示すように、監視周期に到達すると（Ｓ１０１：Ｙｅｓ）、入力処理部１２の入力カウント部１２ａおよび出力処理部１３の出力カウント部１３ａは、パケット流量を測定する（Ｓ１０２）。つまり、ＬＩＵ１０は、入力パケット数、出力パケット数、総パケット数を測定する。
【００６６】
続いて、入力処理部１２および出力処理部１３の各チェック部は、流通実績管理テーブル１１ｂを更新する（Ｓ１０３）。つまり、各チェック部は、受信したパケットを通過させる際にメモリ異常をチェックし、チェックした項目に対応付けて流通実績管理テーブル１１ｂで管理されるフラグを１に設定する。
【００６７】
その後、監視パケット送信判断処理が実行されて（Ｓ１０４）、監視パケットを生成しないと判断された場合には（Ｓ１０５：Ｎｏ）、ＬＩＵ１０は、次の監視周期についてＳ１０１以降の処理を実行する。
【００６８】
一方、監視パケットを生成すると判断された場合には（Ｓ１０５：Ｙｅｓ）、生成部１６は、選択部１５によって選択された流通実績が少ない経路を流通させる監視パケットを生成する（Ｓ１０６）。続いて、流通実行部１７は、生成された監視パケットを送信する（Ｓ１０７）。つまり、流通実行部１７は、入力処理部１２と出力処理部１３の各々に対して、監視パケットを流通させる。
【００６９】
その後、流通実行部１７は、監視パケットを受信した場合には（Ｓ１０８：Ｙｅｓ）、メモリ異常なしと判定する（Ｓ１０９）。このとき、流通実行部１７は、監視パケットの流通実績で流通実績管理テーブル１１ｂを更新する。
【００７０】
一方、流通実行部１７は、監視パケットを受信できない場合には（Ｓ１０８：Ｎｏ）、メモリ異常を検出する（Ｓ１１０）。このとき、流通実行部１７は、監視パケットの流通実績で流通実績管理テーブル１１ｂを更新する。なお、Ｓ１０９またはＳ１１０が終了した後は、次の監視周期についてＳ１０１以降の処理が実行される。
【００７１】
（監視パケット送信判断処理）
図９は、監視パケット送信判断処理の流れを示すフローチャートである。この処理は、図８に示したＳ１０４で実行される。なお、図９で登場する閾値の大きさは、ＴＨａ＞ＴＨｈ＞ＴＨｍ＞ＴＨｌとする。
【００７２】
図９に示すように、生成部１６は、入出力されたパケットの総量が閾値ＴＨａ以下ではない場合（Ｓ２０１：Ｎｏ）、監視パケットの送信ができないと判定する（Ｓ２０２）。具体的には、生成部１６は、流量数テーブル１１ａに記憶される総パケット数が閾値ＴＨａ以下であるか否かを判定する。そして、生成部１６は、パケットの総量が閾値ＴＨａ以下の場合、ユーザパケットの流量が多く、監視パケットによってユーザパケットが遅延などを起こす可能性が高いと判断し、監視パケットの送信を抑止する。
【００７３】
一方、生成部１６は、入出力されたパケットの総量が閾値ＴＨａ以下である場合（Ｓ２０１：Ｙｅｓ）、入出力されたパケットの総量が閾値ＴＨｈ以下か否かを判定する（Ｓ２０３）。
【００７４】
そして、生成部１６は、入出力されたパケットの総量が閾値ＴＨｈ以下でない場合（Ｓ２０３：Ｎｏ）、優先度をＡｂｓに決定する（Ｓ２０４）。つまり、生成部１６は、ユーザパケットの流量が多いが上限値以下なので、ユーザパケットへの影響を小さくし、監視パケットが廃棄されない程度の優先度として、優先度をＡｂｓに決定する。
【００７５】
一方、生成部１６は、入出力されたパケットの総量が閾値ＴＨｈ以下である場合（Ｓ２０３：Ｙｅｓ）、入出力されたパケットの総量が閾値ＴＨｍ以下か否かを判定する（Ｓ２０５）。
【００７６】
そして、生成部１６は、入出力されたパケットの総量が閾値ＴＨｍ以下でない場合（Ｓ２０５：Ｎｏ）、優先度をＨｉｇｈに決定する（Ｓ２０６）。つまり、生成部１６は、現在のユーザパケットの流量数では、優先度がＨｉｇｈでもユーザパケットへの影響を小さく、監視パケットが廃棄されないと判断する。
【００７７】
一方、生成部１６は、入出力されたパケットの総量が閾値ＴＨｍ以下である場合（Ｓ２０５：Ｙｅｓ）、入出力されたパケットの総量が閾値ＴＨｌ以下か否かを判定する（Ｓ２０７）。
【００７８】
そして、生成部１６は、入出力されたパケットの総量が閾値ＴＨｌ以下でない場合（Ｓ２０７：Ｎｏ）、優先度をＭｉｄに決定する（Ｓ２０８）。つまり、生成部１６は、現在のユーザパケットの流量数では、優先度がＭｉｄでもユーザパケットへの影響を小さく、監視パケットが廃棄されないと判断する。
【００７９】
一方、生成部１６は、入出力されたパケットの総量が閾値ＴＨｌ以下である場合（Ｓ２０７：Ｙｅｓ）、優先度をＬｏｗに決定する（Ｓ２０９）。つまり、生成部１６は、優先度がＬｏｗでも監視パケットが廃棄されないと判断する。なお、生成部１６は、入出力されたパケットの総量が閾値ＴＨｌ以下である場合、優先度がＬｏｗでも監視パケットが破棄されないので、選択部１５が選択した優先度を監視パケットに設定してもよい。
【００８０】
［具体例］
図１０は、メモリを用いてＬＩＵ内に監視パケットを流通させる具体例を示す図である。図１０に示すように、ＬＩＵ１０は、監視パケットが入力されると、各々がメモリの所定領域に対応付けられたＴａｂｌｅ−ａ、Ｔａｂｌｅ−ｂ、Ｔａｂｌｅ−ｃ、Ｔａｂｌｅ−ｄ、Ｔａｂｌｅ−ｅにアクセスして、メモリ異常の有無を判定する。つまり、ＬＩＵ１０は、監視パケットの経路に該当するＴａｂｌｅに対して読み出し処理を実行することで、メモリへのアクセスを実行し、メモリの異常を検出できる。
【００８１】
また、ＬＩＵ１０は、メモリ異常がない場合には、該当するＴａｂｌｅのレコードを読み出すことができるので、各Ｔａｂｌｅにアクセスした監視パケットを受信できる。そして、ＬＩＵ１０は、監視パケットを外部に出力することなく、自装置内で破棄する。一方で、ＬＩＵ１０は、メモリ異常がある場合には、異常があるＴａｂｌｅのレコードを読み出すことができないので、送信したパケットを受信できない。そして、ＬＩＵ１０は、どのＴａｂｌｅでパケットが停止しているかを確認することで、どのメモリで異常が発生したかを確認することができる。
【００８２】
［効果］
上述したように、ＬＩＵ１０は、監視パケットの構成が動的に変更されるため、これまでユーザパケットが疎通しないと検出できなかった異常、すなわち、サイレント故障を事前に検出することができる。また、パケット総量を算出し、監視パケットを流す、流さないの判断を行うことで、監視パケットを流した影響でユーザパケットの廃棄というような事象を防止することができる。
【００８３】
例えば、図１０を用いて具体的に説明する。図１０に示すように、Ｔａｂｌｅ−ａは、メモリの所定領域に対応付けられている。そして、ＬＩＵ１０は、「ＶＩＤ＝１」すなわち「ＶＬＡＮ−１」のユーザパケットを装置内に流す場合には、Ｔａｂｌｅ−ａの「ＶＩＤ＝１」にアクセスする。同様に、ＬＩＵ１０は、「ＶＩＤ＝４０９６」すなわち「ＶＬＡＮ−４０９６」の監視パケットを装置内に流す場合には、Ｔａｂｌｅ−ａの「ＶＩＤ＝４０９６」にアクセスする。
【００８４】
従来、ＬＩＵ１０は、監視パケットを「ＶＬＡＮ−４０９６」に１度設定すると、毎回「ＶＬＡＮ−４０９６」に設定した監視パケットでメモリの異常判定を実行する。したがって、「ＶＬＡＮ−３」に異常があっても、検出することができない。そこで、実施例１に係るＬＩＵ１０は、監視パケットを生成する際に、毎回、流通実績が少ない経路を通る監視パケットを生成することができる。このため、ＬＩＵ１０は、監視パケットの経路を毎回変更することができ、従来に比べて、上記「ＶＬＡＮ−３」のメモリ異常を早期に検出できる。
【実施例２】
【００８５】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
【００８６】
（流通実績）
実施例１では、流通実績として、仮想ネットワークを識別するＶＬＡＮ−ＩＤ、マルチキャストかユニキャストかを示す宛先情報、優先度を示す優先度情報、パケットの長さを示すパケット長情報、送信か受信かを示す方向情報を記憶する例を説明した。しかし、これに限定されるものではなく、任意の情報だけを流通実績として記憶させてもよい。このとき、仮想ネットワークは、顧客ごとに構築されることが多いので、ＶＬＡＮ−ＩＤを含めることが好ましい。なお、実施例１で説明したパケット長や優先度については、あくまで例示であり、実施例１で説明した数値等に限定されない。
【００８７】
（監視パケットの選定）
実施例１のＬＩＵ１０では、流通実績として装置内を流通した経路を記憶する例を説明したが、これに限定されるものではなく、流通した回数を記憶してもよい。具体的には、実施例１では、図４に示したＥＧなどの項目について、流通したか流通していないかをフラグで特定する例を説明した。これに対して、図４に示したＥＧなどの項目について、何回流通したかを記憶してもよい。
【００８８】
そうすると、ＬＩＵ１０は、最も流通回数が少ないＶＬＡＮ−ＩＤの経路を特定し、特定したＶＬＡＮ−ＩＤの経路を流通する監視パケットを生成する。また、流通回数については、最も少ないだけでなく、任意の閾値以下の流通回数に該当する経路を特定してもよい。このようにすることで、経路ごとに流通回数を監視することができるので、特定の経路を重点的に監視することができる。
【００８９】
（システム）
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００９０】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００９１】
（ハードウェア）
図１１は、ＬＩＵのハードウェア構成例を示す図である。図１１に示すように、ＬＩＵ１０は、ＰＨＹ（physical  layer）／ＭＡＣ（Media  Access  Control  address）１００、ＦＰＧＡ（Field−Programmable  Gate  Array）１０１、メモリ１０２、ＣＰＵ（Central  Processing  Unit）１０３を有する。なお、ここで示したハードウェアは、あくまで例示であり、他のハードウェアを有していてもよい。
【００９２】
ＰＨＹ／ＭＡＣ１００は、他の装置の間の通信を物理層で制御するハードウェアである。ＦＰＧＡ１０１は、パケットを流通させる場合に、当該パケットに応じたメモリのエントリにアクセスして、メモリ異常を検出するハードウェアである。例えば、このＦＰＧＡ１０１は、図２に示した入力処理部１２と出力処理部１３とに対応し、入力処理部１２および出力処理部１３が有する各チェック部等と同様の処理を実行する回路を有する。
【００９３】
メモリ１０２は、テーブルやデータを記憶する記憶部である。例えば、メモリ１０２は、図２に示した記憶部１１に対応し、記憶部１１が記憶する各テーブルを記憶する。また、メモリ１０２は、ＬＩＵ１０内ではなくＬＩＵ１０外に設けられてもよい。なお、各テーブルは、ＦＰＧＡ１０１の内部メモリに格納されていてもよい。
【００９４】
ＣＰＵ１０３は、ＬＩＵ１０内全体の処理を司るハードウェアである。例えば、ＣＰＵ１０３は、図２に示した制御部１４に対応し、選択部１５、生成部１６、流通実行部１７各々と同様の処理を実行する。また、ＣＰＵ１０３は、選択部１５、生成部１６、流通実行部１７と同様の処理を実行するプログラムをメモリ１０２等から読み出して実行することもできる。
【００９５】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００９６】
（付記１）パケットを送受信する入出力装置において、
物理ネットワーク内に構築された仮想ネットワークを識別する仮想識別子毎に、当該仮想ネットワークを介して送受信されるパケットが前記入出力装置内を流通したか否かを記憶する履歴記憶部と、
前記履歴記憶部に記憶される仮想識別子の中から、前記パケットが前記入出力装置を流通した回数が所定値未満の仮想識別子を選択する選択部と、
前記選択部が選択した仮想識別子で特定される仮想ネットワークで送受信される監視パケットを生成する生成部と、
前記特定された仮想ネットワークに対応付けられたメモリのエントリにアクセスして、前記生成部によって生成された監視パケットを前記入出力装置内に流通させる際に、前記メモリの異常を検出する検出部と
を有することを特徴とする入出力装置。
【００９７】
（付記２）前記履歴記憶部は、前記仮想識別子に対応付けて、前記パケットがユニキャストまたはマルチキャストで送信されたことを示す種別情報、前記パケットが前記入出力装置に入力されたまたは前記入出力装置から出力されたかを示す方向情報、前記パケットに設定される優先度情報、前記パケットのパケット長の少なくとも１つを記憶し、
前記選択部は、前記履歴記憶部に記憶される情報のうち、前記パケットが前記入出力装置を流通した回数が所定値未満の組合せを選択することを特徴とする付記１に記載の入出力装置。
【００９８】
（付記３）前記履歴記憶部は、前記メモリの異常を監視する所定の間隔ごとに、前記仮想識別子、前記種別情報、前記方向情報、前記優先度情報、前記パケット長について、前記入出力装置内を流通したか否かを示すフラグ情報を記憶し、
前記選択部は、前記履歴記憶部が記憶する情報ごとに、前記所定の間隔各々のフラグ情報の論理積を算出し、算出した論理積に基づいて、前記パケットが前記入出力装置を流通した回数が所定値未満の組合せを選択することを特徴とする付記２に記載の入出力装置。
【００９９】
（付記４）前記入出力装置に入力されたパケットまたは前記入出力装置から出力されたパケットの数を計数する計数部をさらに有し、
前記生成部は、前記計数部によって計数されたパケットの数に応じて、前記監視パケットに設定する優先度を決定することを特徴とする付記１から３のいずれか一つに記載の入出力装置。
【０１００】
（付記５）パケットを送受信する入出力装置が、
物理ネットワーク内に構築された仮想ネットワークを識別する仮想識別子毎に、当該仮想ネットワークを介して送受信されるパケットが前記入出力装置内を流通したか否かを記憶する履歴記憶部に記憶される仮想識別子の中から、前記パケットが前記入出力装置を流通した回数が所定値未満の仮想識別子を選択し、
選択した仮想識別子で特定される仮想ネットワークで送受信される監視パケットを生成し、
特定した仮想ネットワークに対応付けられたメモリのエントリにアクセスして、生成された監視パケットを前記入出力装置内に流通させる際に、前記メモリの異常を検出する
処理を含んだことを特徴とするメモリ監視方法。
【０１０１】
（付記６）パケットを送受信する入出力装置に、
物理ネットワーク内に構築された仮想ネットワークを識別する仮想識別子毎に、当該仮想ネットワークを介して送受信されるパケットが前記入出力装置内を流通したか否かを記憶する履歴記憶部に記憶される仮想識別子の中から、前記パケットが前記入出力装置を流通した回数が所定値未満の仮想識別子を選択し、
選択した仮想識別子で特定される仮想ネットワークで送受信される監視パケットを生成し、
特定した仮想ネットワークに対応付けられたメモリのエントリにアクセスして、生成された監視パケットを前記入出力装置内に流通させる際に、前記メモリの異常を検出する
処理を実行させることを特徴とするメモリ監視プログラム。
【０１０２】
（付記７）パケットを送受信する入出力装置を有する伝送装置において、
前記入出力装置が、
物理ネットワーク内に構築された仮想ネットワークを識別する仮想識別子毎に、当該仮想ネットワークを介して送受信されるパケットが前記入出力装置内を流通したか否かを記憶する履歴記憶部と、
前記履歴記憶部に記憶される仮想識別子の中から、前記パケットが前記入出力装置を流通した回数が所定値未満の仮想識別子を選択する選択部と、
前記選択部が選択した仮想識別子で特定される仮想ネットワークで送受信される監視パケットを生成する生成部と、
前記特定された仮想ネットワークに対応付けられたメモリのエントリにアクセスして、前記生成部によって生成された監視パケットを前記入出力装置内に流通させる際に、前記メモリの異常を検出する検出部と
を有することを特徴とする伝送装置。
【０１０３】
（付記８）パケットを送受信する入出力装置がプロセッサとメモリとを有し、
前記メモリが、物理ネットワーク内に構築された仮想ネットワークを識別する仮想識別子毎に、当該仮想ネットワークを介して送受信されるパケットが前記入出力装置内を流通したか否かを記憶し、
前記プロセッサが、
前記メモリに記憶される仮想識別子の中から、前記パケットが前記入出力装置を流通した回数が所定値未満の仮想識別子を選択し、
選択した仮想識別子で特定される仮想ネットワークで送受信される監視パケットを生成し、
特定された仮想ネットワークに対応付けられたメモリのエントリにアクセスして、生成された監視パケットを前記入出力装置内に流通させる際に、前記メモリの異常を検出する
処理を実行することを特徴とする入出力装置。
【符号の説明】
【０１０４】
１  伝送装置
２、３、４、５、６、７  サーバ
１０  ＬＩＵ
１０ａ  ＶＬＡＮ用テーブル
１１  記憶部
１１ａ  流量数テーブル
１１ｂ  流通実績管理テーブル
１１ｃ  ＶＬＡＮテーブル
１１ｄ  種別テーブル
１１ｅ  優先情報テーブル
１１ｆ  パケット長テーブル
１２  入力処理部
１２ａ  入力カウント部
１２ｂ、１３ｂ  ＶＬＡＮチェック部
１２ｃ、１３ｃ  種別チェック部
１２ｄ、１３ｄ  優先度チェック部
１２ｅ、１３ｅ  パケット長チェック部
１３  出力処理部
１３ａ  出力カウント部
１４  制御部
１５  選択部
１６  生成部
１７  流通実行部
１００  ＰＨＹ／ＭＡＣ
１０１  ＦＰＧＡ
１０２  メモリ
１０３  ＣＰＵ
【図１】
2014068079.tif 000003
【図２】
2014068079.tif 000004
【図３】
2014068079.tif 000005
【図４】
2014068079.tif 000006
【図５】
2014068079.tif 000007
【図６】
2014068079.tif 000008
【図７】
2014068079.tif 000009
【図８】
2014068079.tif 000010
【図９】
2014068079.tif 000011
【図１０】
2014068079.tif 000012
【図１１】
2014068079.tif 000013