(57)【特許請求の範囲】
【請求項１】
トランジット・ノードにおいて、送信元アドレス及びマルチキャスト・グループ・アドレスを有するマルチキャスト・データパケットを送信元のノードから受信するステップと、
前記マルチキャスト・データパケットのハードウェア・キャッシュミスを前記トランジット・ノードにおいて検出するステップと、
前記ハードウェア・キャッシュミスの検出に応答して、前記マルチキャスト・データパケットをハードウェアを介してネットワークのポートにフラッディングするステップと、
前記マルチキャスト・データパケットのコピーを処理装置へ送信するステップと、
前記コピーを前記処理装置から前記ネットワークにフォワーディングすることなく、前記マルチキャスト・データパケットの前記コピーをソフトウェア処理するステップと、
から構成され、
ここで、前記フラッディングするステップは、仮想ローカルエリア・ネットワーク（ＶＬＡＮ）メンバシップに基づいて前記マルチキャスト・データパケットのコピーを前記トランジット・ノードが隣接するノードにフォワーディングするステップを含み、
前記ソフトウェア処理するステップは、前記マルチキャスト・データパケットのハードウェア・キャッシュ・エントリをハードウェア抽象化レイヤを介して確立するステップを含み、
さらに、後続のマルチキャスト・データパケットの送信元アドレスおよびマルチキャスト・グループ・アドレスと、前記マルチキャスト・データパケットの前記ハードウェア・キャッシュ・エントリとのマッチングに応答して、前記トランジット・ノードが隣接するマルチキャスト・トラフィックに加入するノードにのみ、前記後続のマルチキャスト・データパケットをフォワーデングするステップと、
から構成されることを特徴とする方法。
【請求項２】
前記マルチキャスト・データパケットの前記コピーをソフトウェア処理するステップは、
前記ネットワークのすべての出口ポートにおいて初期ハードウェア・フラッディングを行うステップと、
前記初期ハードウェア・フラッディングに応じて、前記ネットワーク上へ送出されたプロキシＩＧＭＰクエリをマルチキャストマネージャにより初期化するステップと、
前記プロキシＩＧＭＰクエリの初期化に応じて、後でキャッシュのハードウェア・テーブルを構成するのに用いられるフォワーディング用エントリで前記ハードウェア抽象化レイヤをプログラムするステップと、
を備える、請求項１に記載の方法。
【請求項３】
前記マルチキャスト・データパケットの前記送信元アドレスおよび前記マルチキャスト・グループ・アドレスと、キャッシュのハードウェア・テーブルのフォワーディング用エントリとを比較するステップをさらに含むことを特徴とする請求項１記載の方法。
【請求項４】
前記マルチキャスト・データパケットのハードウェア・キャッシュミスを前記トランジット・ノードにおいて検出するステップは、前記フォワーディング用エントリと前記マルチキャスト・データパケットの送信元アドレスおよびマルチキャスト・グループ・アドレスがマッチしない前記比較の結果に応答するものである、ことを特徴とする請求項３に記載の方法。
【請求項５】
前記ハードウェアを介して前記ネットワークのポートにフラッディングするステップは、前記マルチキャスト・データパケットのコピーが前記処理装置によってソフトウェア処理されている間に、初期ハードウェア・フラッディング状態に入るステップを含むことを特徴とする請求項１乃至４のいずれかに記載の方法。
【請求項６】
前記処理装置は、中央処理装置（ＣＰＵ）又はネットワーク処理装置（ＮＰＵ）のどちらか一方であることを特徴とする請求項１に記載の方法。
【請求項７】
前記トランジット・ノードはイーサネット自動保護スイッチング（ＥＡＰＳ）であることを特徴とする請求項１に記載の方法。
【請求項８】
ハードウェア・フラッディングは対応するタイマによって開始することを特徴とする請求項１に記載の方法。
【請求項９】
前記タイマが切れると、前記ハードウェア・フラッディングを停止するステップをさらに含むことを特徴とする請求項８に記載の方法。
【請求項１０】
送信元アドレスおよびマルチキャスト・グループ・アドレスを有するマルチキャスト・データパケットを受信するためのパケット・プロセッサと、
送信元アドレスおよびマルチキャスト・グループ・アドレスに基づいたマルチキャスト・トラフィックのフォワーディング用のエントリを記憶するためのハードウェア・キャッシュと、
から構成され、
前記パケット・プロセッサは、
前記ハードウェア・キャッシュの検索に基づいて前記マルチキャスト・データパケットのハードウェア・キャッシュミスを検出し、
前記ハードウェア・キャッシュミスの検出に応答して、ネットワークのポートに前記マルチキャスト・データパケットをフラッディングし、このフラッディングには、少なくとも部分的にＶＬＡＮメンバシップに基づき、トランジット・ノードに隣接するノードに前記マルチキャスト・データパケットのコピーをフォワーディングすることが含まれ、    前記マルチキャスト・データパケットのコピーを処理装置へ送信する、
ことが可能であり、
前記処理装置は、
前記コピーをネットワークにフォワーディングすることなく、前記マルチキャスト・データパケットの前記コピーをソフトウェア処理し、このソフトウェア処理は、前記マルチキャスト・データパケットのハードウェア・キャッシュ・エントリをハードウェア抽象化レイヤを介して確立する工程を含み、
後続のマルチキャスト・データパケットの送信元アドレスおよびマルチキャスト・グループ・アドレスと、前記マルチキャスト・データパケットの前記ハードウェア・キャッシュ・エントリとのマッチングに応答して、前記トランジット・ノードが隣接するマルチキャスト・トラフィックに加入するノードにのみ、前記後続のマルチキャスト・データパケットをフォワーデングする
ことを特徴とするネットワーク装置。
【請求項１１】
前記パケット・プロセッサは、前記マルチキャスト・データパケットの前記送信元アドレスおよびマルチキャスト・グループ・アドレスと、前記ハードウェア・キャッシュ・エントリとを比較することがさらに可能であることを特徴とする請求項１０に記載のネットワーク装置。
【請求項１２】
前記処理装置は、
前記ネットワークのすべての出口ポートにおいて初期ハードウェア・フラッディングを行うこと、
前記初期ハードウェア・フラッディングに応じて、前記ネットワーク上へ送出されたプロキシＩＧＭＰクエリをマルチキャストマネージャにより初期化すること、
前記プロキシＩＧＭＰクエリの初期化に応じて、後でキャッシュのハードウェア・テーブルを構成するのに用いられるフォワーディング用エントリで前記ハードウェア抽象化レイヤをプログラムすること、
により前記ソフトウェア処理を行うことを特徴とする請求項１０に記載のネットワーク装置。
【請求項１３】
前記パケット・プロセッサは、前記マルチキャスト・データパケットのコピーが前記処理装置によってソフトウェア処理されている間に、初期ハードウェア・フラッディングの状態に入ることによって、ハードウェアを介して前記ネットワークのポートにフラッディングすることを特徴とする請求項１０に記載のネットワーク装置。
【請求項１４】
前記処理装置は、前記ネットワーク装置をＥＡＰＳネットワーク上で構成するためのイーサネット自動保護スイッチング（ＥＡＰＳ）構成要素を含むことを特徴とする請求項１０に記載のネットワーク装置。
【請求項１５】
前記処理装置は、前記ネットワーク装置をネットワーク上で構成するためのコマンドラインインターフェイス（ＣＬＩ）を含むことを特徴とする請求項１０に記載のネットワーク装置。
【請求項１６】
前記パケット・プロセッサはタイマをさらに備え、前記タイマが切れると、前記パケット・プロセッサによるフラッディングが停止することを特徴とする請求項１０に記載のネットワーク装置。
【請求項１７】
実行されると、請求項１乃至９のいずれかに記載の方法を含む操作を機械に実行させる命令を提供するためのコンテンツを有するコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
〔関連出願との相互参照〕
本出願は、２００８年８月２９日に出願された「マルチキャスト・トラフィックの収束改善」という名称の係属中の米国特許出願第１２／２０１，７９９号の一部継続出願であり、この特許出願に対する優先権を主張するものである。
【０００２】
本明細書で開示する実施形態は、コンピュータ・ネットワーキングに関し、より具体的には、ネットワークにおけるトポロジ変更後のマルチキャスト・トラフィックの収束に関する。
【背景技術】
【０００３】
マルチキャスティングは、インターネット・プロトコル（ＩＰ）インフラストラクチャを介したポイント・ツー・マルチポイント通信のための技術である。単一のパケットを複数の宛先に配信する必要がある場合でも、マルチキャスティングは、ネットワーク・インフラストラクチャを利用して、送信元（ソース）がネットワークに単一のパケットを送出するだけで済むようにする。この利用は、複数の受信者に配信されるように（必要な場合にのみ）ネットワーク・ノードにパケットを複製させることによって行われる。
【０００４】
送信元及び受信者は、（ＩＰマルチキャストなどの）マルチキャスト・グループ・アドレスを使用してコンテンツを送受信する。送信元は、自身のデータパケット内でマルチキャスト・グループ・アドレスを宛先ＩＰアドレスとして使用する。受信者は、マルチキャスト・グループ・アドレスを使用して、このマルチキャスト・グループ・アドレスに関連するマルチキャスト・トラフィックに「加入」する。換言すれば、これらの受信者は、マルチキャスト・グループ・アドレスを使用して、このマルチキャスト・グループ宛てのトラフィックを受信したいという要望をネットワークに通信する。
【０００５】
インターネット・グループ管理プロトコル（ＩＧＭＰ）は、ＩＰマルチキャスト・グループのメンバシップを管理するために使用されるプロトコルの一例である。通常、ＩＰホストはＩＧＭＰクエリを送出し、これがマルチキャスト・ルータを介して他のネットワーク・ホストへブロードキャストされる。（レイヤ２スイッチなどの）ネットワーク装置は、ホストとルータの間の会話を「リスン」することができ、これは当業者においてＩＧＭＰスヌーピングとして知られている処理である。装置がマルチキャスト・グループの「参加」メッセージをホストから聞くと、装置は、このメッセージを聞いた（ポートなどの）インターフェイスを記録して、このインターフェイスをグループに追加する。同様に、装置がマルチキャスト・グループの「離脱」メッセージを聞き、或いは応答タイマが切れると、スイッチは、このホストのスイッチインターフェイスをグループから削除する。これらの「参加」及び／又は「離脱」メッセージは、一般に「ＩＧＭＰレポート」と呼ばれる。これを受けて、ＩＧＭＰスヌーピング・テーブルが、ＩＧＭＰレポートに基づいて、マルチキャスト・グループのメンバであるホスト及び／又はインターフェイスのリストを（キャッシュなどの）ハードウェア内に保持する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
マルチキャスティングを使用するネットワーク内でトポロジ変更があると、ＩＧＭＰスヌーピング・テーブルがクリアされてＩＧＭＰクエリが送出され、ネットワーク内の装置がＩＧＭＰスヌーピングのメンバシップを再認識できるようになる。トポロジ変更中にネットワーク内にデータパケットが存在する場合、ＩＧＭＰスヌーピング・テーブルがクリアされたことにより、これらのパケットはハードウェア内でキャッシュミスを被る。キャッシュミスを被るパケットは、全て装置のＣＰＵへ送信されてソフトウェアでフォワーディングされるが、ソフトウェアでのフォワーディングはハードウェアでのフォワーディングよりも非常に遅いので、これを「スローパス」フォワーディングと呼ぶことがある。
【０００７】
しかしながら、トポロジ変更中にネットワーク内に何千ものデータパケットが存在する場合には、より問題が大きくなる。この場合、ＣＰＵキュー内に何千ものデータパケットが存在し、これらが、ハードウェアキャッシュを新たなＩＧＭＰスヌーピング・テーブル項目で再プログラミングするために使用されたであろうはずのＣＰＵリソースを消費する。換言すれば、ネットワーク内のマルチキャスト・パケットの数が増加すると、ネットワーク内のマルチキャスト・トラフィックの収束時間（すなわち、ハードウェアキャッシュを再プログラムして、マルチキャスト・トラフィックにおける許容可能なキャッシュミスレートを回復するのにかかる時間）も増加する。しかも、上述のシナリオは、単一の仮想ローカルエリア・ネットワーク（ＶＬＡＮ）を前提としたものである。ネットワーク内に数多くの（例えば何千もの）ＶＬＡＮが存在する場合、個々のＩＧＭＰクエリがＶＬＡＮの各々において送出され、個々のＶＬＡＮ上のホストが全て、これらのメンバシップを示すそれぞれのＩＧＭＰレポートで応答するようになる。従って、ＣＰＵがさらに多くのスローパス・フォワーディングを抱え、マルチキャスト収束の問題がますます悪化する。
【課題を解決するための手段】
【０００８】
本明細書で開示する実施形態は、トポロジ変更後のネットワークにおけるマルチキャスト・トラフィックの収束を容易にする。ネットワーク・ノードがマルチキャスト・データパケットを受信すると、このパケットが処理される。ノードがこのデータパケットのキャッシュミスを検出した場合、このパケットが、ハードウェアを介してネットワークのポート上にフラッディングされる。また、（キャッシュミスを引き起こした）パケットのコピーがアウトオブライン処理装置へ送信される。このパケットのコピーは、処理装置からネットワーク上へコピーをフォワーディングすることなく処理される。パケットの処理は、ハードウェア抽象化レイヤを介してパケットのハードウェア・キャッシュ・エントリを確立することを含む。
【０００９】
以下の説明は、本発明の実施形態の実施構成例として与える説明図を有する図についての説明を含む。図面は、限定ではなく一例として理解すべきである。本明細書における１又はそれ以上の「実施形態」への言及は、本発明の少なくとも１つの実施構成に含まれる特定の特徴、構造、又は特性について説明するものであると理解されたい。従って、本明細書に出現する「１つの実施形態では」又は「代替の実施形態では」などの語句は、本発明の様々な実施形態及び実施構成を示すものであり、必ずしも全てが同じ実施形態を示すものではない。しかしながら、これらの実施形態は必ずしも互いに排他的なものでもない。
【図面の簡単な説明】
【００１０】
【図１】ネットワーク装置を示すブロック図である。
【図２】様々な実施形態による、マルチキャスティングを使用するネットワークを示すブロック図である。
【図３】マルチキャスト収束のための処理を示すフロー図である。
【図４】従来技術のイーサネット（登録商標）自動保護スイッチング（ＥＡＰＳ）システムを示すブロック図である。
【図５】イーサネット自動保護スイッチング（ＥＡＰＳ）を利用するネットワーク装置を示すブロック図である。
【図６】ＥＡＰＳリング・ネットワークにおけるマルチキャスト収束のための処理を示すフロー図である。
【図７】本明細書で説明する様々な実施形態を実施するのに適したコンピュータ環境を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下の説明では、数多くの詳細を示す。しかしながら、当業者には、これらの特定の詳細を伴わずに本発明を実施できることが明らかであろう。場合によっては、本発明を曖昧にしないために、周知の構造及び装置については詳細にではなくブロック図形式で示している。
【００１２】
本明細書に示すように、方法、装置、及びシステムが、トポロジ変更後のネットワークにおけるマルチキャスト・トラフィックの収束改善を容易にする。ネットワーク・ノードがマルチキャスト・データパケットを受信すると、このパケットが処理される。ノードがこのデータパケットのキャッシュミスを検出した場合、このパケットが、ハードウェアを介してネットワークのポート上にフラッディングされる。また、（キャッシュミスを引き起こした）パケットのコピーがアウトオブライン処理装置へ送信される。このパケットのコピーは、処理装置からネットワーク上へコピーをフォワーディングすることなく処理される。パケットの処理は、ハードウェア抽象化レイヤを介してパケットのハードウェア・キャッシュ・エントリを確立することを含む。
【００１３】
いくつかの実施形態では、新たなマルチキャスト・ストリームがネットワーク上でトラフィックの送信を開始するときに、キャッシュミスが発生して検出される。キャッシュミスを単純にＣＰＵへフォワーディングして（ハードウェアで）認識し、その後（ＩＧＭＰスヌーピング対応の）ネットワーク上へフォワーディング（すなわちスローパス・フォワーディング）するのではなく、特別なフォワーディング・モードを使用する。この特別なフォワーディング・モードでは、キャッシュミスを引き起こしたパケットを、まずハードウェアを介してネットワークのポートにフラッディングする。また、キャッシュミスをＣＰＵへ送信して処理する。この処理は、個々のパケットの（単複の）アドレス（送信元ＩＰアドレス及びマルチキャスト・グループＩＰアドレスなど）を認識すること、及びハードウェア内で新規エントリをプログラムすることを含む。ハードウェア内でエントリをプログラムすることにより、これと同一の送信元及びグループ（Ｓ、Ｇ）・アドレスを有する将来のパケットがキャッシュヒットを引き起こし、実際の受信者が存在するポートへのみ直ちにフォワーディングされる。実際の受信者が存在するポート上でのみフォワーディングを行うことを「選択的フォワーディング」と呼ぶことができる。選択的にフォワーディングされたパケットは、この時点からフラッディングされなくなる。
【００１４】
様々な実施形態では、ＣＰＵによる処理が、特にＣＰＵからネットワーク上へキャッシュミスパケットのコピーをフォワーディング（「スローパス・フォワーディング」「ソフトウェア・フォワーディング」など）することを含まない。この理由は、（キャッシュミスを引き起こしたパケットが既にネットワークにフラッディングされている場合には）スローパス・フォワーディングにより、ネットワーク上で二重のパケットが送出されるからである。特別なフォワーディング・モードは、例えばコマンドラインインターフェイス（ＣＬＩ）を介してユーザが制御することができる。
【００１５】
（イーサネット自動保護スイッチング（ＥＡＰＳ）リング・トポロジなどの）リング・トポロジを有するネットワークで使用するための実施形態では、ネットワークにおけるトポロジ変更を検出したことに応答して、同様の特別なフォワーディング・モードを自動的にトリガすることができる。ＥＡＰＳリング・ネットワークにおいてトポロジが変更された場合、（フォワーディング用データベース（ＦＤＢ）エントリと呼ばれる）フォワーディング用エントリがクリアされ、これを再認識する必要がある。従って、これらの実施形態では、トポロジ変更を検出したことにより、リング・ネットワークが、タイマにより制限されるハードウェア・フラッディング・モードに入る。本明細書で使用するフラッディングとは、例えばＶＬＡＮメンバシップに基づいてネットワーク装置の出口ポートにおいてパケットのコピーを送信することを意味する。換言すれば、フラッディングにより、ネットワーク装置の出口ポートにおいてパケットをフォワーディングすることはできるが、必ずしも全ての出口ポートにおいて行うとは限らない。
【００１６】
フラッディング期間中、キャッシュミスを引き起こしたパケットは、ネットワーク装置の処理装置へもフォワーディングされる。処理装置は、キャッシュミス・パケットごとにマルチキャスト・キャッシュ・エントリを生成し、キャッシュ・エントリが、ハードウェア抽象化レイヤを介してハードウェア内でプログラムされる。ハードウェアエントリにヒットする後続パケットは、このエントリに関連するプログラムされた出口ポートに基づいてハードウェア内でフォワーディングされる。このようにして、新たなマルチキャスト・エントリがプログラムされるにつれ、最終的にキャッシュミスが次第に減少する。
【００１７】
ハードウェア・フラッディング・モードのタイマが切れると、ネットワーク装置は以前の動作モードに戻ることができる。例えば、装置が「初期ハードウェア・フラッディングモード」の前にＩＧＭＰスヌーピング対応モードで動作していた場合、装置はタイマ切れのときにそのモードに戻ることができる。ＩＧＭＰスヌーピングを使用しない実施形態では、タイマ切れになったら現在の／更新済みのマルチキャスト・キャッシュ・リストをハードウェア抽象化レイヤ（ＨＡＬ）にプッシュして、今後のキャッシュミスを防ぐ必要があり得る。
【００１８】
図１は、様々な実施形態によるネットワーク装置を示すブロック図である。ネットワーク装置１１０は、（キャッシュなどの）１又はそれ以上のハードウェア・テーブル１２０、（中央処理装置（ＣＰＵ）、ネットワーク処理装置（ＮＰＵ）などの）処理装置１３０、及びパケット・プロセッサ１４０を含む。パケット・プロセッサ１４０は、着信パケットを受け取る。（送信元アドレス及びマルチキャスト・グループ・アドレスを有する）個々の着信パケットごとに、パケット・プロセッサ１４０がハードウェア・テーブル１２０を検索して、着信パケットの送信元アドレス及びマルチキャスト・グループ・アドレス（Ｓ、Ｇ）がテーブル内のエントリの１つとマッチするかどうかを判定する。マッチする場合、パケット・プロセッサ１４０は、（例えばマルチキャスト・グループ・アドレスに基づいて）そのパケットをネットワークへフォワーディングをする。
【００１９】
（Ｓ、Ｇ）アドレスの組み合わせがテーブル１２０内のエントリにマッチしない場合、パケット・プロセッサ１４０は、この（Ｓ、Ｇ）アドレスの組み合わせを有する全てのトラフィックをネットワークにフラッディングしてキャッシュミスを生成する。このキャッシュミスイベント、又は単純にキャッシュミスは、処理装置１３０へ、具体的にはカーネル１３２へ送信される。カーネル１３２は、キャッシュミスをマルチキャスト（ＭＣ）マネージャ１３４へ送信する。いくつかの実施形態では、フラッディングにより、ネットワーク装置１１０の全ての出口ポートにおいてトラフィックが送出される。他の実施形態では、パケットが、例えばＶＬＡＮメンバシップに基づく出口ポートにおいてのみフォワーディングされる。
【００２０】
パケット・プロセッサ１４０が（Ｓ、Ｇ）トラフィックをフラッディングするのに併せて、処理装置１３０がキャッシュミスの解決に努める。ＭＣマネージャ１３４は、プロキシＩＧＭＰクエリを開始して、これをネットワーク上へ送出する。プロキシＩＧＭＰクエリに応答して受信するあらゆるＩＧＭＰレポートに基づいて、ＭＣマネージャ１３４は、（Ｓ、Ｇ）トラフィックのフォワーディング用エントリでハードウェア抽象化レイヤ（ＨＡＬ）１３６をプログラムする。次に、ＨＡＬ１３６は、フォワーディング用エントリを含むようにハードウェア・テーブル１２０を構成する。（Ｓ、Ｇ）グループに関してフォワーディング用エントリが「認識」（すなわちプログラム）されると、後続の（Ｓ、Ｇ）トラフィックがハードウェア・テーブル１２０に「ヒット」し、フォワーディング用エントリに基づいてフォワーディングされる（すなわちフラッディングされない）ようになる。処理後には、キャッシュミスが再びフォワーディングされてネットワークへ戻ることがない（標準のＩＧＭＰスヌーピング対応モードではあり得る）点に留意することが重要である。本明細書で説明する実施形態では、二重パケットを避けるために、キャッシュミスがＣＰＵによりネットワークへスローパス・フォワーディングされることはない（これは、上述したように、パケットが既にハードウェア・フラッディングを介してネットワークへフォワーディングされているからである）。
【００２１】
様々な実施形態では、装置１１０が使用する初期ハードウェア・フラッディングモードが、コマンドライン・インターフェイス１３８を介してユーザにより制御される。従って、ユーザは、装置を標準ＩＧＭＰスヌーピング対応又はスヌーピング非対応モードで動作させることができ、或いは初期ハードウェア・フラッディングモードとともにＩＧＭＰスヌーピング対応モードを使用するように装置を動作させることができる。
【００２２】
図２は、マルチキャスティング及びＩＧＭＰスヌーピングを利用するネットワークを示すブロック図である。標準的なスヌーピング対応のシナリオでは、ネットワーク２００においてマルチキャスト送信機（ＭＣＴｘ）２１０がＩＧＭＰクエリを送信して、（もしあれば）いずれのノードが特定のマルチキャスト・グループ、例えばグループＡＢＣのマルチキャスト・トラフィックの受信に関心があるかを判定する。マルチキャスト受信機（ＭＣＲｘ）２２４が、ＭＣＴｘ２１０からクエリを受け取って、このＭＣＲｘ２２４がグループＡＢＣのマルチキャスト・トラフィックの受信に関心があることを報告する。様々なネットワーク・ノードが、ＭＣＴｘ２１０とＭＣＲｘ２２４との間の通信を「リスン」して、グループＡＢＣに関するそれぞれのマルチキャスト・リストを更新することにより、ＭＣＲｘ２２４がグループＡＢＣのマルチキャスト・トラフィックに関心があることを記録する。例えば、ＭＣＲｘがポートＰ２を介してノード２２２に通信可能に接続されている場合、ノード２２２は、グループＡＢＣに関する自己のマルチキャスト・リストにポートＰ２を追加する。同様に、ポートＰ２が、ＭＣＲｘ２２４にトラフィックを届けるためのポートである場合、ノード２２０は、グループＡＢＣに関する自己のマルチキャスト・リストに自己のポートＰ２を追加する。図２に示すように、ノード２１８、２１６、２１４、及び２１２もまた、自己のそれぞれのＰ２ポートを、グループＡＢＣに関する自己のそれぞれのマルチキャスト・リストに追加する。このようにして、ノード２１２に到達するグループＡＢＣのトラフィックが、ネットワークを介して適切にＭＣＲｘ２２４へフォワーディングされる。また、標準的なスヌーピング対応のシナリオでは、キャッシュミスがＣＰＵへ送信される。ＣＰＵは、これらのパケットをスローパス・フォワーディングすることができるが、ハードウェア抽象化レイヤがハードウェアをプログラムするまではハードウェア内ではフォワーディングされない。
【００２３】
しかしながら、様々なシナリオでは、上述のＩＧＭＰクエリ及び／又はレポートを伴わずに新たなマルチキャスト・ストリームをネットワーク２００上で開始することができる。例えば、先行するＩＧＭＰクエリ及び／又はレポートが存在しない状態でグループＸＹＺのストリームがノード２２８から開始される場合、グループＸＹＺのマルチキャスト・リストエントリを有するノードがネットワーク２００内に存在しなければ、ネットワーク２００に到達する個々のグループＸＹＺのパケットがキャッシュミスを引き起こすようになる。上述の標準的なＩＧＭＰスヌーピング対応技術を使用すると、これらのキャッシュミスが、ネットワーク・ノードの処理装置内のスローパス・フォワーディング・キュー内に蓄積し、処理リソースを消耗し、ＸＹＺストリームの収束を遅らせることになる。ネットワーク２００上で同時に、又は比較的ほぼ同時に複数の新たな異なるストリームが開始された場合、収束の遅れはさらに悪化する。
【００２４】
様々な実施形態では、上述したようなネットワーク・ノードにおけるキャッシュミスにより、ネットワーク・ノードが初期ハードウェア・フラッディングの状態に入るようになる。本明細書で使用する「ハードウェア・フラッディング」又は「初期ハードウェア・フラッディング」とは、キャッシュミスに対する初期対応としてのハードウェア・フラッディング行為を意味する。前述のように、キャッシュミスは、ネットワーク装置の（図１の処理装置１３０などの）処理装置へ送信されて処理される。初期ハードウェア・フラッディングは、処理装置がキャッシュミスを処理している間に少なくとも部分的に発生する。キャッシュミスが処理されると（例えば、ＸＹＺマルチキャスト・グループに関して新たなエントリがハードウェア内でプログラムされると）、ＸＹＺグループに属する後続パケットがキャッシュに「ヒット」する（すなわち、ＸＹＺパケットのテーブル検索がマッチを生じる）ようになる。キャッシュヒットが尊重される（すなわち、これらのパケットをフラッディングするのとは対照的に、これらのパケットが、対応するフォワーディング用エントリ内で定義される出口ポート上でのみフォワーディングされる）。
【００２５】
従って、キャッシュに「ヒット」するパケットの数が増加するにつれ、処理装置内のキャッシュミスの処理キューのサイズが減少する。初期ハードウェア・フラッディングにより、処理装置の処理負荷が低減され、（単複の）ストリームのより速い収束が容易になる。
【００２６】
図３は、マルチキャスト収束のための処理を示すフロー図である。マルチキャスト・パケットがネットワーク装置において受信される（３１０）。ネットワーク装置は、パケットの送信元ＩＰアドレス及びグループ・マルチキャストＩＰアドレス（すなわち（Ｓ、Ｇ）アドレスの組み合わせ）に少なくとも部分的に基づいて、このパケットのキャッシュヒット又はキャッシュミスが存在するかどうかを判定する（３２０）。パケットがキャッシュヒットを生じる場合、このパケットは、キャッシュ・エントリ内のフォワーディング情報に基づいてフォワーディングされる（３３０）。パケットがキャッシュミスを生じる場合、ネットワーク装置は、この（Ｓ、Ｇ）組み合わせを有するトラフィックに関して初期ハードウェア・フラッディングの状態に入る（３４０）。ハードウェア・フラッディングにより、パケットは、ネットワーク装置の出口ポートにおいてＶＬＡＮメンバシップごとにフォワーディングされる。換言すれば、ネットワーク装置の全ての出口ポートにおいてパケットをフォワーディングすることができるが、必ずしも全ての出口ポートにおいて行うとは限らない。
【００２７】
パケットのフラッディングに加え、キャッシュミスを生じたパケットのコピーが、ネットワーク装置上の処理装置へ送信される（３５０）。次に、処理装置は、その（Ｓ、Ｇ）組み合わせのキャッシュ・エントリを生成する（３６０）。キャッシュミスパケットの送信及び処理は、ハードウェア・フラッディングを開始する前、最中、及び／又は後に行うことができる。キャッシュ・エントリにより、同じ（Ｓ、Ｇ）組み合わせを有する後続パケットにキャッシュミス処理を行わずに、これらをハードウェア内でフォワーディングできるようになる。上述したように、キャッシュミスパケットの処理は、ネットワーク上で二重パケットを生成することになるという理由でスローパス・フォワーディングを含まない。
【００２８】
図４は、従来技術のイーサネット自動保護スイッチング（ＥＡＰＳ）システムを示すブロック図である。ＥＡＰＳシステム４００が、１又はそれ以上のＥＡＰＳドメイン４０１で構成される。ＥＡＰＳシステム制御メッセージ４１７を送受信するために、ＥＡＰＳドメインごとに制御ＶＬＡＮ４０３が生成される。ＥＡＰＳドメイン４０１は、ＶＬＡＮを支える１又はそれ以上のデータのグループ４０４を保護するために作成される。
【００２９】
ＥＡＰＳシステム４００は、リング・ネットワーク４０２上で動作する。リング・ネットワーク４０２上の１つのノードが、マスタ・ノード４０５として指定される。マスタ・ノード４０５上の２つのリング・ポートが、１次ポート４０６及び２次ポート４０７として指定される。リング・ネットワーク４０２上の他の全てのノードがトランジット・ノード４１１であり、各々が独自のリング・ポート４１２を有する。個々のマスタ・ノード４０５及びトランジット・ノード４１１は、フォワーディング用データベース（ＦＤＢ）４０８及び４１３をそれぞれ有し、この中にネットワーク通信経路に関する情報を記憶する。マスタ・ノード４０５は、リング・ネットワーク４０２の状態を記憶するための状態レジスタ４０９を有する。例示を目的として、リング・ネットワーク４０２の状態については、リング・ネットワーク４０２内に障害又は遮断が存在することを意味する「不十分」、或いはリング・ネットワークが遮断されておらず、又はリング・ネットワークが回復して全てのノードが正しく通信していることを意味する「完全」のいずれかで示す。トランジット・ノード４１１は、フォワーディング前の状態を記憶する状態レジスタ４１４、及びフォワーディング前タイマ４１５を有する。トランジット・ノード４１１はまた、一時的に遮断されたポートの識別情報を記憶する一時遮断ポート記憶領域（ＴＢＰ）４１６も有する。
【００３０】
マスタ・ノード４０５及びトランジット・ノード４１１は、制御メッセージ４１７を使用して、制御ＶＬＡＮ４０３を介して通信する。実施形態における制御メッセージ４１７のいくつかの例には、ヘルスチェック・メッセージ、リンクダウン・メッセージ、及びフラッシュＦＤＢメッセージがある。制御ＶＬＡＮ４０３上で送信されるメッセージは、フォワーディング用データベース４１３内のエントリに対応する特別なＭＡＣ（媒体アクセス制御）アドレスを有するため、トランジット・ノード４１１は、このメッセージを制御メッセージ４１７として認識する。マスタ・ノード及びトランジット・ノードは、制御メッセージ４１７をとりわけトラブルシューティングで使用するために記録するノードの中央処理装置（ＣＰＵ）にコピーする前に、このメッセージをフォワーディングする。ＣＰＵが処理する前に制御メッセージ４１７をフォワーディングすることにより、以前の従来技術の方法により達成できるよりも大幅に短い時間での障害後のリング・ネットワーク４０２の収束が容易になる。
【００３１】
マスタ・ノード４０５は、ヘルスチェック制御メッセージ４１７を送信するためのクロックであるハロータイマ４１８を有する。ハロータイマ４１８が開始されると、このタイマは、マスタ・ノード４０５に、例えば１秒ごとなどの定期的に制御ＶＬＡＮ４０３上でヘルスチェック・メッセージ４１７を送信するように指示する。ヘルスチェック・メッセージ４１７は、リング・ネットワーク４０７を回ってフォワーディングされ、ほぼ瞬時にマスタ・ノード４０５へ戻る。マスタ・ノード４０５は、ヘルスチェック・メッセージ４１７を送信するときにフェイルタイマ４１０をセットする。ヘルスチェック・メッセージがマスタ・ノード４０５へ戻る前にフェイルタイマ４１０が切れた場合、マスタ・ノード４０５は、リング・ネットワーク４０２内に障害があると判断する。ヘルスチェック・メッセージ４１７は障害中でも送信される。障害が回復すると、ヘルスチェック・メッセージ４１７が再び戻ってくるようになるので、マスタ・ノード４０５は直ちにこれを知る。
【００３２】
図５は、様々な実施形態による、イーサネット自動保護スイッチング（ＥＡＰＳ）を利用するネットワーク装置を示すブロック図である。ネットワーク装置５１０は、（キャッシュなどの）１又はそれ以上のハードウェア・テーブル５２０、（中央処理装置（ＣＰＵ）、ネットワーク処理装置（ＮＰＵ）などの）処理装置５３０、及びパケット・プロセッサ５４０を含む。いくつかの実施形態では、ＥＡＰＳトポロジ変更があった場合には常に、ＥＡＰＳ５３８が、ＶＬＡＮのリストを自己のポートリストとともにＭＣマネージャ５３４へ送信する。ＭＣマネージャ５３４は、ハードウェア抽象化レイヤ（ＨＡＬ）５３６内でプログラムされたフォワーディング用エントリのリスト、及びソフトウェア内に存在するその他のエントリのリストを、ＩＧＭＰレポートに基づいて既に有している。
【００３３】
従って、ＭＣマネージャ５３４は、ＥＡＰＳ５３８からＶＬＡＮのリスト及びポートリストを受け取ると、この情報をＩＧＭＰレポートと全く同じように扱う。換言すれば、ＨＡＬ５３６内で既にプログラムされているフォワーディング用エントリに関しては、ＭＣマネージャ５３４が、（特定のマルチキャスト・ストリームに対応する）ＥＡＰＳ出口ポートを自己のキャッシュリストに追加して、更新済みのキャッシュリストをＨＡＬ５３６へ送信する。ＭＣマネージャ５３４が、ＥＡＰＳ出口ポートリストをＩＧＭＰレポートよりもかなり速く受け取る点が異なっており、従って（単複の）マルチキャスト・ストリームの収束時間が大幅に短縮される。
【００３４】
ＨＡＬ５３６内でプログラムされていない既知のマルチキャスト・ストリームのフォワーディング用エントリに関しては、ＭＣマネージャ５３４が、ＥＡＰＳポートを自己の既存のマルチキャスト・グループリストに追加する。ＨＡＬ５３６内に存在しないストリームの場合、このようなストリームがネットワーク装置に到達するとデータフローが再開して、レイヤ２（Ｌ２）のキャッシュミスを引き起こし、このＬ２キャッシュミスがＭＣマネージャ５３４へ送信される。ＭＣマネージャ５３４は、ＨＡＬ５３６を新たなキャッシュ・エントリで更新することにより、キャッシュミスを処理する。新たなキャッシュ・エントリが生成されると、ハードウェア内でこの（単複の）新たなストリームのデータフローが切り替えられる。
【００３５】
他の実施形態では、（ＩＧＭＰレポートを待つのではなく）ＥＡＰＳ５３８からポートリストを受け取るのに加え、ＭＣマネージャ５３４が、ハードウェア・フラッディング状態を開始してタイマを起動する。いくつかの実施形態では、タイマの長さを約４５秒とすることができるが、特定のネットワークのニーズに応じて、これよりもずっと短く又は長くすることができる。フラッディング状態を開始する一部として、ＭＣマネージャ５３４は、関連するＶＬＡＮをハードウェア・フラッディング・モードにセットするようにＨＡＬ５３６をプログラムする。このハードウェア・フラッディング状態／モードでは、ＭＣマネージャ５３４がＬ２キャッシュミスを受け取り、キャッシュ・エントリを生成し、前述したようにＨＡＬ５３６をプログラムし、ハードウェアエントリが蓄積するにつれてＬ２キャッシュミスは次第に減少し始める。しかしながら、ハードウェア（すなわち、パケット・プロセッサ５４０及び（単複の）ハードウェア・テーブル５２０）は、（例えば特定のＶＬＡＮ上で）ハードウェア・フラッディング状態／モードにあるような状態になるが、同時にハードウェアにおけるキャッシュヒットに対応する出口ポートリストに基づいてフォワーディングを行うことにより、このキャッシュヒットが尊重されるようになる。従って、ハードウェア内でプログラムされたこれらのエントリに関しては、パケットがフラッディングされたり、或いは処理装置５３０へ送信されることはない。しかしながら、キャッシュミスが存在する他の全てのマルチキャスト・データパケットに関しては、これらのパケットがハードウェア内でフラッディングされる一方で、キャッシュミスパケットのコピーがＣＰＵ５３０に送信されて処理される（すなわち、パケットをネットワークへフォワーディングして戻すことなく新たなキャッシュ・エントリを認識及び／又は生成する）。
【００３６】
フラッディングタイマが切れると、ＭＣマネージャ５３４は、標準的なＩＧＭＰスヌーピング対応モードに戻る。
【００３７】
なお、ＥＡＰＳ５３８がＭＣマネージャ５３４にメッセージを送信してハードウェア・フラッディングを開始する際には、既存のキャッシュ・エントリをフラッシュすべきではない。さもなければ、追加のキャッシュミスが発生して処理装置５３０へ送信され、さらなる処理の負担が生じる。
【００３８】
ＥＡＰＳリングに関する実施形態では、受信機が存在しない出口ポートをマルチキャスト・グループリストに追加することができる。通常のＩＧＭＰエージングを使用すると、受信機の無いポートへ送信されるトラフィックも最終的にはエージアウトするが、望ましいものよりも長い時間がかかることがある。従って、「高速」エージアウトを使用することができる。例えば、ＩＧＭＰクエリを使用している場合、ＩＧＭＰレポートを（５〜１０秒、又はこれよりも短い又は長い）一定の期間内に期待すべきである。レポートを受け取るための期待時間を「高速」エージアウト時間として使用して、不要なトラフィック量を低減させることができる。
【００３９】
図６は、ＥＡＰＳリング・ネットワークにおけるマルチキャスト収束のための処理を示すフロー図である。ＥＡＰＳネットワークにおいてトポロジ変更が検出される（６１０）。これに応じて、少なくとも１つのノードが自己のＩＧＭＰスヌーピング・テーブルをクリアする（６２０）。プロキシＩＧＭＰクエリが送信されて（６３０）、マルチキャスト・フォワーディング用エントリが再認識される。ある時点において、ＥＡＰＳネットワーク上でキャッシュミスが検出される（６４０）。キャッシュミスパケットを処理装置へ送信してスローパス・フォワーディングするのではなく、１又はそれ以上のポート上でハードウェアを介してパケットをネットワークにフラッディングする（６５０）。キャッシュミスパケットのコピーが装置の処理装置へ送信され（６６０）、ここでこのキャッシュミスパケットのハードウェア・キャッシュ・エントリが生成される（６７０）。処理装置が、キャッシュミスパケットをネットワークへスローパス・フォワーディングして戻すことはない。
【００４０】
図７は、本明細書で説明する方法のいずれか１つ又はそれ以上をマシンに実施させるための命令セットを実行することができるコンピュータ・システム７００の例示的な形のマシンの図形表示である。代替の実施形態では、このマシンを、ローカルエリア・ネットワーク（ＬＡＮ）、イントラネット、エクストラネット、又はインターネット内の他のマシンに接続（例えばネットワーク接続）することができる。このマシンは、クライアントサーバネットワーク環境においてサーバ又はクライアントマシンとして、或いはピアツーピア（又は分散）ネットワーク環境においてピアマシンとして動作することができる。このマシンは、パーソナル・コンピュータ（ＰＣ）、タブレットＰＣ、セットトップボックス（ＳＴＢ）、携帯情報端末（ＰＤＡ）、携帯電話、又はこのマシンが行う動作を指定する命令セット（シーケンシャル又は他の方法で）を実行することができるいずれのマシンであってもよい。さらに、単一のマシンしか図示していないが、「マシン」という用語については、本明細書で説明する方法のいずれか１又はそれ以上を実施するための（１又は複数の）命令セットを個別に又は共同で実行するあらゆる一群のマシン（コンピュータなど）を含むとも解釈すべきである。
【００４１】
例示的なコンピュータ・システム７００は、プロセッサ７０２と、（読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、同期型ＤＲＡＭ（ＳＤＲＡＭ）又はＲａｍｂｕｓ  ＤＲＡＭ（ＲＤＲＡＭ）などのダイナミックランダムアクセスメモリ（ＤＲＡＭ）のような）メインメモリ７０４と、（フラッシュメモリ、スタティックランダムアクセスメモリ（ＳＲＡＭ）などの）スタティックメモリ８０６と、（データ記憶装置などの）２次メモリ８１８とを含み、これらはバス７０８を介して互いに通信する。
【００４２】
プロセッサ７０２は、マイクロプロセッサ、中央処理装置などの１又はそれ以上の汎用処理装置を表す。より具体的には、プロセッサ７０２は、複合命令セットコンピュータ（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピュータ（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、その他の命令セットを実行するマイクロプロセッサ、又は命令セットの組み合わせを実行するマイクロプロセッサであってもよい。プロセッサ７０２はまた、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、ネットワークプロセッサなどの１又はそれ以上の専用処理装置であってもよい。プロセッサ７０２は、本明細書で説明した動作及びステップを実施するための処理ロジック１２６を実行するように構成される。
【００４３】
コンピュータ・システム７００は、ネットワークインターフェイス装置７１６をさらに含むことができる。コンピュータ・システム７００はまた、（液晶ディスプレイ（ＬＣＤ）又はブラウン管（ＣＲＴ）などの）ビデオディスプレイユニット７１０、（キーボードなどの）英数字入力装置７１２、及び（マウスなどの）カーソル制御装置７１４を含むこともできる。
【００４４】
２次メモリ７１８は、本明細書で説明した方法又は機能のいずれか１つ又はそれ以上を具体化する（ソフトウェア７２２などの）１又はそれ以上の命令セットを記憶するマシン可読記憶媒体（又はより具体的にはコンピュータ可読記憶媒体）７２４を含むことができる。ソフトウェア７２２は、コンピュータ・システム７００により実行されている間、やはりマシン可読記憶媒体を構成するメインメモリ７０４及び／又は処理装置７０２内に完全に又は少なくとも部分的に常駐することができる。さらに、ソフトウェア７２２を、ネットワークインターフェイス装置７１６を通じてネットワーク７２０を介して送受信することもできる。
【００４５】
例示的な実施形態では、マシン可読記憶媒体７２４を単一の媒体として示しているが、「マシン可読記憶媒体」という用語は、１又はそれ以上の命令セットを記憶する単一の媒体又は複数の媒体（集中又は分散データベース及び／又は関連するキャッシュ及びサーバなど）を含むと解釈すべきである。「マシン可読記憶媒体」という用語は、マシンが実行するための命令セットを記憶又はエンコードできるとともに本発明の方法のいずれか１つ又はそれ以上をマシンに実行させるあらゆる媒体を含むとも解釈すべきである。従って、「マシン可読記憶媒体」という用語は、以下に限定されるわけではないが、固体メモリ、並びに光学及び磁気媒体を含むと解釈すべきである。
【００４６】
本明細書では様々な動作又は機能について説明しているが、これらをソフトウェアコード又は命令として実現又は定義することができる。このようなコンテンツは、直接実行可能なもの（「オブジェクト」又は「実行可能」形式）、送信元コード、又は差分コードとすることができる。本明細書で説明した実施形態のソフトウェア実施構成は、コード又は命令を記憶した製造の物品を介して、或いは通信インターフェイスを動作させ、これを介してデータを送信する方法を通じて提供することができる。マシン又はコンピュータ可読記憶媒体は、本明細書で説明した機能又は動作をマシンに実行させることができ、また（読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリ装置などの）記録可能／記録不能媒体のような、（コンピュータ装置、電子システムなどの）マシンがアクセスできる形で情報を記憶するあらゆる機構を含む。通信インターフェイスは、メモリバス・インターフェイス、プロセッサバスインターフェイス、インターネット接続、ディスク・コントローラなどの、配線接続、無線、光学などの媒体のいずれかにインターフェイス接続して別の装置と通信するあらゆる機構を含む。通信インターフェイスは、構成パラメータを提供し及び／又は信号を送信して通信インターフェイスを準備することにより、ソフトウェア・コンテンツを記述するデータ信号を提供するように構成することができる。通信インターフェイスには、この通信インターフェイスへ送信される１又はそれ以上のコマンド又は信号を介してアクセスすることができる。
【００４７】
本発明は、本明細書で説明した動作を行うためのシステムにも関する。このシステムは、必要な目的のために特別に構築することができ、或いはコンピュータに記憶されたコンピュータ・プログラムによって選択的に起動又は再構成される汎用コンピュータを含むことができる。このようなコンピュータ・プログラムを、以下に限定されるわけではないが、フロッピー（登録商標）ディスク、光ディスク、ＣＤＲＯＭ、及び光磁気ディスクを含むあらゆる種類のディスク、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気又は光カード、或いは電子命令を記憶するのに適したあらゆる種類の媒体などの、各々がコンピュータ・システムバスに結合されたコンピュータ可読記憶媒体に記憶することができる。
【００４８】
本質的に、本明細書で示す方法及び表示は、いずれの特定のコンピュータ又はその他の装置に関するものでもない。本明細書の教示による様々なプログラムとともに汎用システムを使用することもでき、或いは必要な方法の動作を行うために、より専門的なシステムを構築するほうが便利であると分かる場合もある。様々なこれらのシステムの構造は、以下の説明に示すとおりである。また、本発明は、いずれかの特定のプログラミング言語又はオペレーティングシステムを参照しながら説明したものではない。様々なプログラミング言語を使用して、本明細書で説明した本発明の教示を実施することができ、これらの教示を様々なオペレーティングシステム内で実施できることが理解されよう。
【００４９】
本明細書で説明した様々な構成要素は、本明細書で説明した機能を実施するための手段とすることができる。本明細書で説明した個々の構成要素は、ソフトウェア、ハードウェア、又はこれらの組み合わせを含む。本明細書で説明した動作及び機能は、ソフトウェアモジュール、ハードウェアモジュール、（特定用途向けハードウェア、特定用途向け集積回路（ＡＳＩＣ）、デジタルシグナルプロセッサ（ＤＳＰ）などの）専用ハードウェア、埋め込みコントローラ、ハードウェア回路などとして実現することができる。
【００５０】
本明細書で説明した内容に加え、開示した本発明の実施形態及び実施構成には、本発明の範囲から逸脱することなく様々な変更を加えることができる。従って、本明細書における例示及び用例は、限定的な意味ではなく例示的な意味で解釈すべきである。本発明の範囲は、以下の特許請求の範囲を参照することによってのみ評価すべきである。
【符号の説明】
【００５１】
１１０  ネットワーク装置；  １２０  ハードウェア・テーブル；  
１３０  処理装置；  １３２  カーネル；  
１３４  マルチキャスト・マネージャ；  １３６  ハードウェア抽象化レイヤ；  
１３８  コマンドライン・インターフェイス；  １４０  パケット・プロセッサ。
【図１】
0005543462.tif 000002
【図２】
0005543462.tif 000003
【図３】
0005543462.tif 000004
【図４】
0005543462.tif 000005
【図５】
0005543462.tif 000006
【図６】
0005543462.tif 000007
【図７】
0005543462.tif 000008