(57)【要約】【課題】中継装置のリソースを無駄に消費することを防止することを課題とする。【解決手段】エクスパンダ１０は、自装置と接続されたデバイスとの接続状態が変化した場合には、該接続状態が変化した変化要因に基づいて、変化が一時的な変化であるか否かを判定する。そして、エクスパンダ１０は、変化が一時的な変化であると判定された場合には、ダイレクトテーブル１６ａに記憶された接続状態に関する情報の更新を中止する。また、エクスパンダ１０は、接続状態の変化が一時的な変化でないと判定された場合には、接続状態の変化に基づいて、ダイレクトテーブル１６ａに記憶された接続状態に関する情報を更新する。そして、エクスパンダ１０は、接続状態の変化が一時的な変化である場合には、自装置よりも上位の装置に接続状態の変化を通知することを中止し、接続状態の変化が一時的な変化でない場合には、上位の装置に接続状態の変化を通知する。【選択図】図２
2012108794.tif 000002
【特許請求の範囲】
【請求項１】
自装置に接続されたデバイスとの接続状態に関する情報を記憶する第一の記憶部と、
自装置と接続されたデバイスとの接続状態が変化した場合には、該接続状態が変化した変化要因に基づいて、該接続状態の変化が一時的な変化であるか否かを判定する判定部と、
前記判定部によって接続状態の変化が一時的な変化であると判定された場合には、前記第一の記憶部に記憶された前記接続状態に関する情報の更新を中止し、前記判定部によって接続状態の変化が一時的な変化でないと判定された場合には、前記接続状態の変化に基づいて、前記第一の記憶部に記憶された前記接続状態に関する情報を更新する更新部と、
前記判定部によって接続状態の変化が一時的な変化であると判定された場合には、自装置よりも上位の装置に前記接続状態の変化を通知することを中止し、前記判定部によって接続状態の変化が一時的な変化でないと判定された場合には、前記上位の装置に前記接続状態の変化を通知する通知部と、
を有することを特徴とする中継装置。
【請求項２】
前記判定部は、前記接続状態が変化した変化要因が、上位装置からのリセットによる接続状態の変化であるか、ケーブルの抜き挿しによる状態の変化であるか、電源のオンオフによる状態の変化であるか特定し、特定した変化要因に応じて、接続状態の変化が一時的な変化であるか否かを判定することを特徴とする請求項１に記載の中継装置。
【請求項３】
自装置よりも下位の装置と接続されたデバイスとの接続状態に関する情報を記憶する第二の記憶部と、
前記下位の装置から前記接続状態の変化の通知を受信すると、該下位の装置が保持する前記接続状態に関する情報を要求し、該接続状態に関する情報を取得する取得部と、
前記取得部によって取得された前記下位の装置が保持する接続状態に関する情報と、前記第二の記憶部に記憶された前記自装置よりも下位の装置と接続されたデバイスとの接続状態に関する情報とを比較する比較部をさらに有し、
前記更新部は、前記比較部によって比較した結果、両者が一致する場合には、前記第二の記憶部に記憶された前記接続状態に関する情報の更新を中止し、両者が一致しない場合には、前記第二の記憶部に記憶された前記接続状態に関する情報を更新し、
前記通知部は、前記比較部によって比較した結果、両者が一致する場合には、自装置よりも上位の装置に前記接続状態の変化を通知することを中止し、両者が一致しない場合には、前記上位の装置に前記接続状態の変化を通知することを特徴とする請求項１または２に記載の中継装置。
【請求項４】
自装置と接続されたデバイスとの接続状態が変化した場合には、該接続状態が変化した変化要因に基づいて、該接続状態の変化が一時的な変化であるか否かを判定し、
前記接続状態の変化が一時的な変化であると判定された場合には、前記自装置に接続されたデバイスとの接続状態に関する情報を記憶する第一の記憶部に記憶された該接続状態に関する情報の更新を中止し、前記接続状態の変化が一時的な変化でないと判定された場合には、前記接続状態の変化に基づいて、前記第一の記憶部に記憶された前記接続状態に関する情報を更新し、
前記接続状態の変化が一時的な変化であると判定された場合には、自装置よりも上位の装置に前記接続状態の変化を通知することを中止し、前記接続状態の変化が一時的な変化でないと判定された場合には、前記上位の装置に前記接続状態の変化を通知する
ことを特徴とする中継方法。
【請求項５】
自装置に接続されたデバイスとの接続状態に関する情報を記憶する第一の記憶部と、
自装置と接続されたデバイスとの接続状態が変化した場合には、該接続状態が変化した変化要因に基づいて、該接続状態の変化が一時的な変化であるか否かを判定する判定部と、
前記判定部によって接続状態の変化が一時的な変化であると判定された場合には、前記第一の記憶部に記憶された前記接続状態に関する情報の更新を中止し、前記判定部によって接続状態の変化が一時的な変化でないと判定された場合には、前記接続状態の変化に基づいて、前記第一の記憶部に記憶された前記接続状態に関する情報を更新する更新部と、
前記判定部によって接続状態の変化が一時的な変化であると判定された場合には、自装置よりも上位の装置に前記接続状態の変化を通知することを中止し、前記判定部によって接続状態の変化が一時的な変化でないと判定された場合には、前記上位の装置に前記接続状態の変化を通知する通知部と、
を有することを特徴とするデバイス管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置、中継方法およびデバイス管理装置に関する。
【背景技術】
【０００２】
近年、ハードディスク等のデバイスを接続する規格として、ＳＡＳ（Serial  Attached  SCSI）規格またはＳＡＴＡ（Serial  Advanced  Technology  Attachment）規格がストレージ装置等に採用されている。また、このようなＳＡＳ規格またはＳＡＴＡ規格の物理ポートを有し、上位装置とデバイスとの間で行われるデータの送受信を中継するエクスパンダ（EXPANDER）などの中継装置が知られている。
【０００３】
このような中継装置は、デバイスの故障や保守のためにデバイスが取り外されたり装着されたりしたこと等が原因で、接続されているデバイスの状態に変化があった場合には、状態変化があったことをブロードキャストにより上位装置に通知する。
【０００４】
具体的には、図１３に示すように、中継装置は、デバイスの接続状態を示すリンクステータスに変化が発生すると（ステップＳ１）、自装置に直接接続しているデバイスから接続に関する情報を取得する（ステップＳ２）。そして、中継装置は、取得した情報を基に、ダイレクトテーブルを更新し（ステップＳ３）、状態変化通知をブロードキャストする（ステップＳ４）。
【０００５】
ここで、中継装置の処理について図１４の例を用いて説明する。例えば、図１４に例示するように、中継装置であるエクスパンダ「＃２」に直接接続されたＨＤＤ（Hard  Disk  Drive）「２−３」が故障すると、エクスパンダ「＃２」とＨＤＤ「２−３」とのリンクステータスがリンクアップからリンクダウンに遷移する。そして、エクスパンダ「＃２」は、自装置に直接接続されたデバイスとの接続状態に関する情報を記憶するダイレクトテーブルを更新し、上位のエクスパンダ「＃１」に接続状態の変化があったこと通知するブロードキャストを発行する。
【０００６】
その後、通知を受信したエクスパンダ「＃１」は、下位のエクスパンダ「＃２」が保持する接続状態に関する情報を取得し、自装置のダイレクトテーブルと自装置よりも下位のエクスパンダと接続されたデバイスとの接続状態に関する情報を記憶するルーティングテーブルを更新する。そして、エクスパンダ「＃１」は、上位のエクスパンダ「＃０」に状態変化があったこと通知するブロードキャストを発行する。その後、エクスパンダ「＃０」は、下位のエクスパンダ「＃２」が保持する接続状態に関する情報を取得してダイレクトテーブルと、ルーティングテーブルとを更新するとともに、ＲＯＣに接続状態の変化を通知する。なお、ダイレクトテーブルは、自装置と直接接続されたデバイスとの接続状態に関する情報を記憶する。また、ルーティングテーブルは、下位のエクスパンダと接続されたデバイスとの接続状態に関する情報を記憶する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−６１６６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述したブロードキャストを発行する技術では、デバイスの接続状態に変化があるたびに、接続状態に関する情報を上位装置に通知するブロードキャストを毎回発行するので、メモリやＣＰＵといったリソースを無駄に消費してしまうという課題があった。つまり、デバイスの接続状態の変化が一時的な変化であり、接続状態に関する情報を上位装置に通知するブロードキャストを発行する必要がない場合であっても、ブロードキャストを毎回発行してしまい、メモリやＣＰＵといった各中継装置のリソースを無駄に消費してしまう。
【０００９】
一つの側面では、中継装置のリソースを無駄に消費することを防止する中継装置、中継方法およびデバイス管理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
第一の案では、中継装置は、自装置に接続されたデバイスとの接続状態に関する情報を記憶する第一の記憶部を有する。そして、中継装置は、自装置と接続されたデバイスとの接続状態が変化した場合には、接続状態が変化した変化要因に基づいて、接続状態の変化が一時的な変化であるか否かを判定する。そして、中継装置は、接続状態の変化が一時的な変化であると判定された場合には、第一の記憶部に記憶された接続状態に関する情報の更新を中止し、接続状態の変化が一時的な変化でないと判定された場合には記接続状態の変化に基づいて、第一の記憶部に記憶された接続状態に関する情報を更新する。中継装置は、接続状態の変化が一時的な変化であると判定された場合には、自装置よりも上位の装置に接続状態の変化を通知することを中止し、接続状態の変化が一時的な変化でないと判定された場合には、上位の装置に接続状態の変化を通知する。
【発明の効果】
【００１１】
中継装置のリソースを無駄に消費することを防止する。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例１に係るデバイス管理システムの構成を示すブロック図である。
【図２】図２は、実施例１に係るエクスパンダの構成を示すブロック図である。
【図３】図３は、実施例１に係るエクスパンダのハードウェア構成を示すブロック図である。
【図４】図４は、ダイレクトテーブルの例を示す図である。
【図５】図５は、ルーティングテーブルの例を示す図である。
【図６】図６は、リンクステータス変化要因分析処理を説明する図である。
【図７】図７は、ダイレクトテーブルの比較処理と更新処理を説明する図である。
【図８】図８は、接続状態が変化した後のダイレクトテーブルの例を説明するための図である。
【図９】図９は、ルーティングテーブルの比較処理と更新処理を説明する図である。
【図１０】図１０は、接続状態が変化した後のルーティングテーブルの例を説明するための図である。
【図１１】図１１は、実施例１に係るエクスパンダのダイレクトテーブル更新処理の処理手順を説明するためのフローチャートである。
【図１２】図１２は、実施例１に係るエクスパンダのルーティングテーブル更新処理の処理手順を説明するためのフローチャートである。
【図１３】図１３は、従来のエクスパンダのダイレクトテーブル更新処理の処理手順を説明するためのフローチャートである。
【図１４】図１４は、デバイスに障害が発生した場合の例を示す図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照して、この発明に係る中継装置、中継方法およびデバイス管理装置の実施例を詳細に説明する。
【実施例１】
【００１４】
［エクスパンダの構成］
まず最初に、図１を用いて、実施例１に係るエクスパンダを含むデバイス管理システムの構成を説明する。図１は、実施例１に係るデバイス管理システムの構成を示すブロック図である。図１に示すように、このデバイス管理システム１００は、複数のエクスパンダ１０、ＲＯＣ（ＲＡＩＤ−ｏｎ−Ｃｈｉｐ）２０および複数のＨＤＤ（Hard  Disk  Drive）３０を有する。なお、デバイス管理システムとは、例えば、ＲＡＩＤ装置などである。
【００１５】
各エクスパンダ１０は、ＳＡＳ規格またはＳＡＴＡ規格に対応するデバイスであるＨＤＤ３０とそれぞれ接続され、これらのＨＤＤ３０との間で行うデータ通信を制御する。また、各エクスパンダ１０は、自装置に直接接続されたデバイスであるＨＤＤ３０で発生した各種事象を、上位のエクスパンダ１０またはＲＯＣ２０に通知する。例えば、図１の例を用いて説明すると、エクスパンダ「ＥＸＰ＃２」は、自装置に直接接続されたＨＤＤ３０で発生した各種事象を、上位のエクスパンダである「ＥＸＰ＃１」に通知する。また、最上位のエクスパンダである「ＥＸＰ＃０」は、ＲＯＣ２０にＨＤＤ３０で発生した各種事象を通知する。
【００１６】
ＲＯＣ２０は、最上位のエクスパンダＥＸＰ＃０と接続され、エクスパンダ１０全体を制御し、図示しないサーバから受け付けた命令を実行する装置である。例えば、ＲＯＣ２０は、サーバからデータの取得指示命令を受け付けると、エクスパンダ１０を介して、ＨＤＤ３０からデータを取得して、取得したデータをサーバへ送信する。また、ＲＯＣ２０ａは、各ＨＤＤ３０の接続状態に関する情報をルーティングテーブル（後に、図１１を用いて詳述）として保持する。また、各ＨＤＤ３０は、エクスパンダ１０と接続されたデバイスであり、ＳＡＳ規格またはＳＡＴＡ規格に対応するハードディスクである。
【００１７】
次に、図２を用いて、図１に示したエクスパンダ１０の構成を説明する。図２は、実施例１に係るエクスパンダの構成を示すブロック図である。エクスパンダ１０は、ＰＨＹ変化検出部１１と、ダイレクトテーブル取得待合わせ部１２と、テーブル取得待合わせ部１３と、テーブル取得部１４と、テーブル管理部１５と、ブロードキャスト発行部１６と、記憶部１７を有する。以下にこれらの各部の処理を説明する前に、ここで、エクスパンダ１０のハードウェア構成について図３を用いて説明する。図３は、実施例１に係るエクスパンダのハードウェア構成を示すブロック図である。図３に示すように、Ｐｈｙ（Physical  Layer）２１〜２８、メモリ３１、ＣＰＵ３２を有する。
【００１８】
Ｐｈｙ２１〜２８は、ＳＡＳ規格またはＳＡＴＡ規格の物理ポートであり、エクスパンダ１０と他の装置とをバスを介して接続する。具体的には、Ｐｈｙ２２〜２７は、エクスパンダ１０に接続されたデバイスであるＨＤＤ３０と接続し、Ｐｈｙ２１は、自装置と下位のエクスパンダ１０と接続し、Ｐｈｙ２８は、自装置と上位のエクスパンダまたはＲｏＣ２０と接続する。
【００１９】
ＣＰＵ３２は、メモリ３１にファームウェアを展開し、後述するＰＨＹ変化検出部１１、ダイレクトテーブル取得待合わせ部１２、テーブル取得待合わせ部１３、テーブル取得部１４、テーブル管理部１５、および、ブロードキャスト発行部１６が実行する処理を行う。メモリ３１は、各種処理に必要なファームウェアが展開され、また、後述するダイレクトテーブル１６ａおよびルーティングテーブル１６ｂを記憶する。
【００２０】
図２に戻って、各部について説明する。図２に示すように、記憶部１６は、ダイレクトテーブル１６ａおよびルーティングテーブル１６ｂを記憶する。ダイレクトテーブル１４ａは、自装置と直接接続されたデバイスとの接続状態に関する情報を記憶する。具体的には、図４に例示するように、ダイレクトテーブル１６ａは、エクスパンダ１０の物理ポートに一意に付与された識別子である「Ｐｈｙ  ＩＤ」と、各物理ポートに接続されたデバイスに関する情報を示す「Ｄｅｖｉｃｅ」とを対応付けて記憶する。図４は、ダイレクトテーブルの例を示す図である。
【００２１】
ルーティングテーブル１６ｂは、下位のエクスパンダと接続されたデバイスとの接続状態に関する情報を記憶する。具体的には、図５に例示するように、ルーティングテーブル１４ｂは、物理ポートに一意に付与された識別子である「Ｐｈｙ  ＩＤ」と、物理ポートを介して間接的に接続された全デバイスに関する情報とが記憶されている。図５の例では、Ｐｈｙ  ＩＤ「０」の物理ポートにＩｎｄｅｘ０〜１３に記載されている１３個のデバイスが接続されている。また、Ｐｈｙ  ＩＤ「１」〜「４」には、デバイスが一つも接続されていないことを示している。
【００２２】
ＰＨＹ変化検出部１１は、自装置と接続されたデバイスとの接続状態が変化した場合には、接続状態が変化した変化要因に基づいて、接続状態の変化が一時的な変化であるか否かを判定する。具体的には、ＰＨＹ変化検出部１１は、自装置と接続されたデバイスの接続状態が変化したことを検出する。そして、ＰＨＹ変化検出部１１は、自装置と接続されたデバイスの接続状態が変化したことを検出した場合には、接続状態が変化した変化要因を特定し、変化要因に基づいて、接続状態の変化が一時的な変化であるか否かを判定する。
【００２３】
ここで、図６を用いて、接続状態の変化が一時的な変化である一時的な変化であるか否かを判定する処理について具体的に説明する。図６は、リンクステータス変化要因分析処理を説明する図である。図６に例示するように、ＰＨＹ変化検出部１１は、ＲＯＣ２０からのＲｅｓｅｔ処理が変化要因である場合には、接続状態の変化が一時的な変化であり、即時に復旧すると判定する。ＲＯＣ２０からのＲｅｓｅｔ処理などでエクスパンダ１０と接続されたデバイス間の接続状態がリセットされた場合には、通常１００ｍｓｅｃ程でリセット前の状態に接続状態が戻るからである。また、ＰＨＹ変化検出部１１は、要因は不明だがＬｉｎｋ  Ｓｔａｔｕｓが突然変化したことが変化要因である場合も、接続状態の変化が一時的な変化であり、即時に復旧すると判定する。
【００２４】
また、ＰＨＹ変化検出部１１は、マウント情報などからディスクやケーブルの抜きもしくは挿しが変化要因であることを検出した場合や、デバイスの電源ＯＦＦもしくはＯＮが変化要因である場合には、接続状態の変化が一時的な変化ではなく、長時間継続すると判定する。
【００２５】
また、ＰＨＹ変化検出部１１は、下位のエクスパンダから接続状態の変化の通知をブロードキャストで受信した場合には、テーブル取得部１３にブロードキャストを受信した旨を通知する。
【００２６】
ダイレクトテーブル取得待合わせ部１２は、変化要因に基づいて、接続状態の変化が一時的な変化であると判定された場合には、一定時間ダイレクトテーブルの生成処理を待ち合わせる。具体的には、ダイレクトテーブル取得待合わせ部１２は、ファームウェア処理にてタイマを設け、一定期間ダイレクトテーブルを生成する処理を待ち合わせるように制御する。
【００２７】
テーブル取得部１３は、自装置と接続されたデバイスとの接続状態が変化した場合には、記憶部１６からダイレクトテーブル１６ａを取得する。また、テーブル取得部１３は、下位のエクスパンダから接続状態の変化をブロードキャストとして受信した場合には、下位の装置からルーティングテーブル１６ｂを取得するとともに、自装置の記憶部１６からルーティングテーブル１６ｂを取得する。
【００２８】
具体的には、テーブル取得部１３は、自装置と接続されたデバイスであるＨＤＤ３０との接続状態が変化した場合には、自装置に接続されたデバイスから現在の接続状況に関する情報を取得し、取得した情報を反映した新しいダイレクトテーブルを生成し、記憶部１６に記憶させる。ここでは、新しいダイレクトテーブルを生成するが、現在の接続状況に関する情報を反映させる前の旧ダイレクトテーブルも記憶部１６に保持しておく。後述するテーブル管理部４が新旧のダイレクトテーブルを比較するからである。
【００２９】
また、テーブル取得部１３は、ブロードキャストで受信した旨の通知をＰｈｙ変化検出部１１から受信した場合には、下位のエクスパンダからルーティングテーブル１６ｂを取得するとともに、自装置の記憶部１６からルーティングテーブル１６ｂを取得する。
【００３０】
テーブル管理部１４は、接続状態の変化が一時的な変化である場合には、ダイレクトテーブル１６ａおよびルーティングテーブル１６ｂに記憶された接続状態に関する情報の更新を中止する。一方、接続状態の変化が一時的な変化でない場合には、接続状態の変化に基づいて、ダイレクトテーブル１６ａおよびルーティングテーブル１６ｂに記憶された接続状態に関する情報を更新する。
【００３１】
具体的には、テーブル管理部１４は、自装置と接続されたデバイスであるＨＤＤ３０との接続状態が変化した場合には、テーブル取得部１３によって記憶部から取得された旧ダイレクトテーブルと、テーブル取得部１３によって現在の接続状況に関する情報を反映させた新ダイレクトテーブルとを比較する。この結果、テーブル管理部１４は、新旧ダイレクトテーブルが一致する場合には、ダイレクトテーブル１６ａに記憶された接続状態に関する情報の更新を中止し、記憶部１６に記憶されたダイレクトテーブル１６ａを旧ダイレクトテーブルのままにしておく。また、テーブル管理部１４は、新旧ダイレクトテーブルが一致しない場合には、記憶部１６に記憶されたダイレクトテーブル１６ａを新ダイレクトテーブルに更新する。
【００３２】
ここで、図７を用いてダイレクトテーブルの比較処理および更新処理について説明する。図７は、ダイレクトテーブルの比較処理と更新処理を説明する図である。図７に示すように、テーブル管理部１４は、現在運用中の旧ダイレクトテーブルＡと新ダイレクトテーブルＢとを比較し、テーブルの内容が全て一致した場合には、旧ダイレクトテーブルＡのまま運用し、新ダイレクトテーブルＢを破棄する。また、テーブル管理部１４は、テーブルの内容が全て一致してない場合には、新ダイレクトテーブルＢに記憶部１６のダイレクトテーブル１６ａを書き換えて、以後の運用では、新ダイレクトテーブルＢを使用する。
【００３３】
また、図４に例示したダイレクトテーブルを旧テーブルとし、図８に例示したダイレクトテーブルを新テーブルとした場合を例に比較処理について説明する。図８は、接続状態が変化した後のダイレクトテーブルの例を説明するための図である。図８に示すように、図８に例示した新ダイレクトテーブルは、図４に例示した旧ダイレクトテーブルと比較して、Ｐｈｙ  ＩＤ「４」の物理ポートにデバイス「ＨＤＤ  ２−３」が接続されていない。このため、テーブル管理部１４は、現在運用中の旧ダイレクトテーブルＡと新ダイレクトテーブルＢとを比較した場合には、テーブルの内容が一致していないと判定し、新ダイレクトテーブルＢに記憶部１６のダイレクトテーブル１６ａを書き換える。
【００３４】
また、テーブル管理部１４は、下位のエクスパンダから接続状態の変化の通知をブロードキャストで受信した場合には、テーブル取得部１３によって記憶部から取得された旧ルーティングテーブルと、テーブル取得部１３によって現在の接続状況に関する情報を反映させた新ルーティングテーブルとを比較する。この結果、テーブル管理部１４は、新旧ルーティングテーブルが一致する場合には、ルーティングテーブル１６ｂに記憶された接続状態に関する情報の更新を中止し、記憶部１６に記憶されたルーティングテーブル１６ｂを旧ルーティングテーブルのままにしておく。また、テーブル管理部１４は、新旧ルーティングテーブルが一致しない場合には、記憶部１６に記憶されたルーティングテーブル１６ｂを新ダイレクトテーブルに更新する。
【００３５】
ここで、図９を用いてルーティングテーブルの比較処理および更新処理について説明する。図９は、ルーティングテーブルの比較処理と更新処理を説明する図である。図９に示すように、テーブル管理部１４は、現在運用中の旧ルーティングテーブルＡと新ルーティングテーブルＢとを比較し、テーブルの内容が全て一致した場合には、旧ルーティングテーブルＡのまま運用し、新ルーティングテーブルＢを破棄する。また、テーブル管理部１４は、テーブルの内容が全て一致してない場合には、新ルーティングテーブルＢに記憶部１６のルーティングテーブル１６ｂを書き換えて、以後の運用では、書き換えられたルーティングテーブルＢを使用する。
【００３６】
また、図１０に例示したルーティングテーブルを旧テーブルとし、図５に例示したルーティングテーブルを新テーブルとした場合を例に比較処理について説明する。図１０は、接続状態が変化した後のルーティングテーブルの例を説明するための図である。図１０に示すように、図１０に例示した新ルーティングテーブルは、図５に例示した旧ルーティングテーブルと比較して、Ｐｈｙ  ＩＤ「０」のＩｎｄｅｘにデバイス「ＨＤＤ  ２−３」がない。このため、テーブル管理部１４は、現在運用中の旧ルーティングテーブルＡと新ルーティングテーブルＢとを比較した場合には、テーブルの内容が一致していないと判定し、新ルーティングテーブルＢに記憶部１６のルーティングテーブル１６ｂを書き換える。
【００３７】
ブロードキャスト発行部１５は、接続状態の変化が一時的な変化であると判定された場合には、自装置よりも上位のエクスパンダ１０またはＲＯＣ２０にブロードキャストを発行することを中止する。接続状態の変化が一時的な変化でないと判定された場合には、上位のエクスパンダ１０またはＲＯＣ２０にブロードキャストを発行する。
【００３８】
具体的には、ブロードキャスト発行部１５は、テーブル管理部１４によって新旧ダイレクトテーブルまたは新旧ルーティングテーブルが一致しないと判定された場合には、上位のエクスパンダ１０またはＲＯＣ２０に対してブロードキャストを発行する。
【００３９】
［エクスパンダによる処理］
次に、図１１および図１２を用いて、実施例１に係るエクスパンダ１０による処理を説明する。図１１は、実施例１に係るエクスパンダのダイレクトテーブル更新処理の処理手順を説明するためのフローチャートである。図１２は、実施例１に係るエクスパンダのルーティングテーブル更新処理の処理手順を説明するためのフローチャートである。
【００４０】
図１１に示すように、エクスパンダ１０のＰＨＹ変化検出部１１は、自デバイスの接続状態を示すリンクステータスに変化が発生すると（ステップＳ１０１）、リンクステータスが変化した要因を特定する（ステップＳ１０２）。そして、ＰＨＹ変化検出部１１は、特定した変化要因に基づいて、リンクステータスの変化が即時復旧するか判定する（ステップＳ１０３）。
【００４１】
この結果、ＰＨＹ変化検出部１１がリンクステータスの変化が即時復旧しないと判定した場合には（ステップＳ１０３否定）、テーブル取得部１３は、即時に、新しいダイレクトテーブルを生成する（ステップＳ１０５）。また、ＰＨＹ変化検出部１１がリンクステータスの変化が即時復旧すると判定した場合には（ステップＳ１０３肯定）、テーブル取得部１３は、一定時間待ち合わせて（ステップＳ１０４）、新ダイレクトテーブルを生成する（ステップＳ１０５）。ここで、テーブル取得部１３は、新ダイレクトテーブルを生成する処理として、自装置に接続されたデバイスから現在の接続状況に関する情報を取得し、取得した現在の接続状況に関する情報を反映した新しいダイレクトテーブルを生成する処理を行う。
【００４２】
そして、テーブル管理部１４は、テーブル取得部１３によって記憶部から取得された旧ダイレクトテーブルと、テーブル取得部１３によって現在の接続状況に関する情報を反映させた新ダイレクトテーブルとを比較する（ステップＳ１０６）。この結果、テーブル管理部１４は、新旧ダイレクトテーブルが一致する場合には（ステップＳ１０７肯定）、ダイレクトテーブル１６ａの更新処理およびブロードキャスト発行処理を中止して、処理を終了する。また、テーブル管理部１４は、新旧ダイレクトテーブルが一致しない場合には（ステップＳ１０７否定）、記憶部１６に記憶されたダイレクトテーブル１６ａを新ダイレクトテーブルに更新する（ステップＳ１０８）。そして、ブロードキャスト発行部１５は、上位のエクスパンダ１０またはＲＯＣ２０に対してブロードキャストを発行する（ステップＳ１０９）。
【００４３】
次に、図１２を用いて、エクスパンダ１０がルーティングテーブルを更新する処理について説明する。図１２に示すように、エクスパンダ１０のＰＨＹ変化検出部１１は、下位のエクスパンダから接続状態の変化の通知をブロードキャストで受信する。そして、テーブル取得部１３は、下位のエクスパンダからルーティングテーブル（以下、新ルーティングテーブルという）１６ｂを取得するとともに、自装置の記憶部１６からルーティングテーブル（以下、旧ルーティングテーブルという）１６ｂを取得する（ステップＳ２０１）。
【００４４】
そして、テーブル管理部１４は、旧ルーティングテーブルと、新ルーティングテーブルとを比較する（ステップＳ２０２）。この結果、テーブル管理部１４は、新旧ルーティングテーブルが一致する場合には（ステップＳ２０３肯定）、ルーティングテーブル１６ｂの更新処理および上位装置に対するブロードキャスト発行処理を中止して、処理を終了する。
【００４５】
また、テーブル管理部１４は、新旧ルーティングテーブルが一致しない場合には（ステップＳ２０３否定）、記憶部１６に記憶されたルーティングテーブル１６ｂを新ルーティングテーブルに更新する（ステップＳ２０４）。そして、ブロードキャスト発行部１５は、上位のエクスパンダ１０またはＲＯＣ２０に対してブロードキャストを発行する（ステップＳ２０５）。
【００４６】
[実施例１の効果]
上述してきたように、エクスパンダ１０は、自装置と接続されたデバイスとの接続状態が変化した場合には、該接続状態が変化した変化要因に基づいて、接続状態の変化が一時的な変化であるか否かを判定する。そして、エクスパンダ１０は、接続状態の変化が一時的な変化であると判定された場合には、ダイレクトテーブル１６ａに記憶された接続状態に関する情報の更新を中止する。また、エクスパンダ１０は、接続状態の変化が一時的な変化でないと判定された場合には、接続状態の変化に基づいて、ダイレクトテーブル１６ａに記憶された接続状態に関する情報を更新する。そして、エクスパンダ１０は、接続状態の変化が一時的な変化であると判定された場合には、自装置よりも上位の装置に接続状態の変化を通知することを中止し、接続状態の変化が一時的な変化でないと判定された場合には、上位の装置に接続状態の変化を通知する。このため、エクスパンダ１０のリソースを無駄に消費することを防止することが可能である。
【００４７】
つまり、エクスパンダ１０は、デバイスとの接続状態が変化した場合には、変化要因から接続状態の変化が一時的な変化であるか判定し、一時的な変化である場合にはブロードキャストの発行を中止するので、エクスパンダ１０のリソースの無駄な消費を防止できる。
【００４８】
また、実施例１によれば、エクスパンダ１０は、接続状態が変化した変化要因が、上位装置からのリセットによる接続状態の変化であるか、ケーブルの抜き挿しによる状態の変化であるか、電源のオンオフによる状態の変化であるか特定し、特定した変化要因に応じて、接続状態の変化が一時的な変化であるか否かを判定する。このため、デバイスの接続状態が変化した変化要因から接続状態の変化が一時的な変化であるか否か適切に判定することができ、エクスパンダ１０のリソースを無駄に消費することを適切に防止することが可能である。
【００４９】
また、実施例１によれば、エクスパンダ１０は、自装置よりも下位の装置と接続されたデバイスとの接続状態に関する情報を記憶するルーティングテーブル１６ｂを有する。そして、エクスパンダ１０は、下位の装置から接続状態の変化の通知をブロードキャストで受信すると、下位の装置が保持する前記接続状態に関する情報を要求し、接続状態に関する情報を取得する。そして、エクスパンダ１０は、取得された下位の装置が保持する接続状態に関する情報と、記憶部１６に記憶された自装置よりも下位の装置と接続されたデバイスとの接続状態に関する情報とを比較する。その後、エクスパンダ１０は、比較した結果、両者が一致する場合には、ルーティングテーブル１６ｂに記憶された接続状態に関する情報の更新を中止し、両者が一致しない場合には、ルーティングテーブル１６ｂに記憶された接続状態に関する情報を更新する。そして、エクスパンダ１０は、比較した結果、両者が一致する場合には、自装置よりも上位の装置に接続状態の変化を通知することを中止し、両者が一致しない場合には、上位の装置に接続状態の変化を通知する。この結果、エクスパンダ１０は、ブロードキャスト受信前後でルーティングテーブル１６ｂに変化がない場合には、ブロードキャストの発行を中止する結果、エクスパンダ１０のリソースを無駄に消費することを適切に防止することが可能である。
【実施例２】
【００５０】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例２として本発明に含まれる他の実施例を説明する。
【００５１】
（１）システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、テーブル取得部１３とテーブル管理部１４を統合してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００５２】
（２）プログラム
なお、本実施例で説明した中継方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【符号の説明】
【００５３】
１０  エクスパンダ
１１  Ｐｈｙ変化検出部
１２  ダイレクトテーブル取得待ち合わせ部
１３  テーブル取得部
１４  テーブル管理部
１５  ブロードキャスト発行部
１６  記憶部
１６ａ  ダイレクトテーブル
１６ｂ  ルーティングテーブル
２０  ＲＯＣ
３０  ＨＤＤ
１００  デバイス管理システム
【図１】
2012108794.tif 000003
【図２】
2012108794.tif 000004
【図３】
2012108794.tif 000005
【図４】
2012108794.tif 000006
【図５】
2012108794.tif 000007
【図６】
2012108794.tif 000008
【図７】
2012108794.tif 000009
【図８】
2012108794.tif 000010
【図９】
2012108794.tif 000011
【図１０】
2012108794.tif 000012
【図１１】
2012108794.tif 000013
【図１２】
2012108794.tif 000014
【図１３】
2012108794.tif 000015
【図１４】
2012108794.tif 000016