説明

中継装置、中継方法およびデバイス管理装置

【課題】中継装置のリソースを無駄に消費することを防止することを課題とする。
【解決手段】エクスパンダ10は、自装置と接続されたデバイスとの接続状態が変化した場合には、該接続状態が変化した変化要因に基づいて、変化が一時的な変化であるか否かを判定する。そして、エクスパンダ10は、変化が一時的な変化であると判定された場合には、ダイレクトテーブル16aに記憶された接続状態に関する情報の更新を中止する。また、エクスパンダ10は、接続状態の変化が一時的な変化でないと判定された場合には、接続状態の変化に基づいて、ダイレクトテーブル16aに記憶された接続状態に関する情報を更新する。そして、エクスパンダ10は、接続状態の変化が一時的な変化である場合には、自装置よりも上位の装置に接続状態の変化を通知することを中止し、接続状態の変化が一時的な変化でない場合には、上位の装置に接続状態の変化を通知する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、中継装置、中継方法およびデバイス管理装置に関する。
【背景技術】
【0002】
近年、ハードディスク等のデバイスを接続する規格として、SAS(Serial Attached SCSI)規格またはSATA(Serial Advanced Technology Attachment)規格がストレージ装置等に採用されている。また、このようなSAS規格またはSATA規格の物理ポートを有し、上位装置とデバイスとの間で行われるデータの送受信を中継するエクスパンダ(EXPANDER)などの中継装置が知られている。
【0003】
このような中継装置は、デバイスの故障や保守のためにデバイスが取り外されたり装着されたりしたこと等が原因で、接続されているデバイスの状態に変化があった場合には、状態変化があったことをブロードキャストにより上位装置に通知する。
【0004】
具体的には、図13に示すように、中継装置は、デバイスの接続状態を示すリンクステータスに変化が発生すると(ステップS1)、自装置に直接接続しているデバイスから接続に関する情報を取得する(ステップS2)。そして、中継装置は、取得した情報を基に、ダイレクトテーブルを更新し(ステップS3)、状態変化通知をブロードキャストする(ステップS4)。
【0005】
ここで、中継装置の処理について図14の例を用いて説明する。例えば、図14に例示するように、中継装置であるエクスパンダ「#2」に直接接続されたHDD(Hard Disk Drive)「2−3」が故障すると、エクスパンダ「#2」とHDD「2−3」とのリンクステータスがリンクアップからリンクダウンに遷移する。そして、エクスパンダ「#2」は、自装置に直接接続されたデバイスとの接続状態に関する情報を記憶するダイレクトテーブルを更新し、上位のエクスパンダ「#1」に接続状態の変化があったこと通知するブロードキャストを発行する。
【0006】
その後、通知を受信したエクスパンダ「#1」は、下位のエクスパンダ「#2」が保持する接続状態に関する情報を取得し、自装置のダイレクトテーブルと自装置よりも下位のエクスパンダと接続されたデバイスとの接続状態に関する情報を記憶するルーティングテーブルを更新する。そして、エクスパンダ「#1」は、上位のエクスパンダ「#0」に状態変化があったこと通知するブロードキャストを発行する。その後、エクスパンダ「#0」は、下位のエクスパンダ「#2」が保持する接続状態に関する情報を取得してダイレクトテーブルと、ルーティングテーブルとを更新するとともに、ROCに接続状態の変化を通知する。なお、ダイレクトテーブルは、自装置と直接接続されたデバイスとの接続状態に関する情報を記憶する。また、ルーティングテーブルは、下位のエクスパンダと接続されたデバイスとの接続状態に関する情報を記憶する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2010−61664号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、上述したブロードキャストを発行する技術では、デバイスの接続状態に変化があるたびに、接続状態に関する情報を上位装置に通知するブロードキャストを毎回発行するので、メモリやCPUといったリソースを無駄に消費してしまうという課題があった。つまり、デバイスの接続状態の変化が一時的な変化であり、接続状態に関する情報を上位装置に通知するブロードキャストを発行する必要がない場合であっても、ブロードキャストを毎回発行してしまい、メモリやCPUといった各中継装置のリソースを無駄に消費してしまう。
【0009】
一つの側面では、中継装置のリソースを無駄に消費することを防止する中継装置、中継方法およびデバイス管理装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
第一の案では、中継装置は、自装置に接続されたデバイスとの接続状態に関する情報を記憶する第一の記憶部を有する。そして、中継装置は、自装置と接続されたデバイスとの接続状態が変化した場合には、接続状態が変化した変化要因に基づいて、接続状態の変化が一時的な変化であるか否かを判定する。そして、中継装置は、接続状態の変化が一時的な変化であると判定された場合には、第一の記憶部に記憶された接続状態に関する情報の更新を中止し、接続状態の変化が一時的な変化でないと判定された場合には記接続状態の変化に基づいて、第一の記憶部に記憶された接続状態に関する情報を更新する。中継装置は、接続状態の変化が一時的な変化であると判定された場合には、自装置よりも上位の装置に接続状態の変化を通知することを中止し、接続状態の変化が一時的な変化でないと判定された場合には、上位の装置に接続状態の変化を通知する。
【発明の効果】
【0011】
中継装置のリソースを無駄に消費することを防止する。
【図面の簡単な説明】
【0012】
【図1】図1は、実施例1に係るデバイス管理システムの構成を示すブロック図である。
【図2】図2は、実施例1に係るエクスパンダの構成を示すブロック図である。
【図3】図3は、実施例1に係るエクスパンダのハードウェア構成を示すブロック図である。
【図4】図4は、ダイレクトテーブルの例を示す図である。
【図5】図5は、ルーティングテーブルの例を示す図である。
【図6】図6は、リンクステータス変化要因分析処理を説明する図である。
【図7】図7は、ダイレクトテーブルの比較処理と更新処理を説明する図である。
【図8】図8は、接続状態が変化した後のダイレクトテーブルの例を説明するための図である。
【図9】図9は、ルーティングテーブルの比較処理と更新処理を説明する図である。
【図10】図10は、接続状態が変化した後のルーティングテーブルの例を説明するための図である。
【図11】図11は、実施例1に係るエクスパンダのダイレクトテーブル更新処理の処理手順を説明するためのフローチャートである。
【図12】図12は、実施例1に係るエクスパンダのルーティングテーブル更新処理の処理手順を説明するためのフローチャートである。
【図13】図13は、従来のエクスパンダのダイレクトテーブル更新処理の処理手順を説明するためのフローチャートである。
【図14】図14は、デバイスに障害が発生した場合の例を示す図である。
【発明を実施するための形態】
【0013】
以下に添付図面を参照して、この発明に係る中継装置、中継方法およびデバイス管理装置の実施例を詳細に説明する。
【実施例1】
【0014】
[エクスパンダの構成]
まず最初に、図1を用いて、実施例1に係るエクスパンダを含むデバイス管理システムの構成を説明する。図1は、実施例1に係るデバイス管理システムの構成を示すブロック図である。図1に示すように、このデバイス管理システム100は、複数のエクスパンダ10、ROC(RAID−on−Chip)20および複数のHDD(Hard Disk Drive)30を有する。なお、デバイス管理システムとは、例えば、RAID装置などである。
【0015】
各エクスパンダ10は、SAS規格またはSATA規格に対応するデバイスであるHDD30とそれぞれ接続され、これらのHDD30との間で行うデータ通信を制御する。また、各エクスパンダ10は、自装置に直接接続されたデバイスであるHDD30で発生した各種事象を、上位のエクスパンダ10またはROC20に通知する。例えば、図1の例を用いて説明すると、エクスパンダ「EXP#2」は、自装置に直接接続されたHDD30で発生した各種事象を、上位のエクスパンダである「EXP#1」に通知する。また、最上位のエクスパンダである「EXP#0」は、ROC20にHDD30で発生した各種事象を通知する。
【0016】
ROC20は、最上位のエクスパンダEXP#0と接続され、エクスパンダ10全体を制御し、図示しないサーバから受け付けた命令を実行する装置である。例えば、ROC20は、サーバからデータの取得指示命令を受け付けると、エクスパンダ10を介して、HDD30からデータを取得して、取得したデータをサーバへ送信する。また、ROC20aは、各HDD30の接続状態に関する情報をルーティングテーブル(後に、図11を用いて詳述)として保持する。また、各HDD30は、エクスパンダ10と接続されたデバイスであり、SAS規格またはSATA規格に対応するハードディスクである。
【0017】
次に、図2を用いて、図1に示したエクスパンダ10の構成を説明する。図2は、実施例1に係るエクスパンダの構成を示すブロック図である。エクスパンダ10は、PHY変化検出部11と、ダイレクトテーブル取得待合わせ部12と、テーブル取得待合わせ部13と、テーブル取得部14と、テーブル管理部15と、ブロードキャスト発行部16と、記憶部17を有する。以下にこれらの各部の処理を説明する前に、ここで、エクスパンダ10のハードウェア構成について図3を用いて説明する。図3は、実施例1に係るエクスパンダのハードウェア構成を示すブロック図である。図3に示すように、Phy(Physical Layer)21〜28、メモリ31、CPU32を有する。
【0018】
Phy21〜28は、SAS規格またはSATA規格の物理ポートであり、エクスパンダ10と他の装置とをバスを介して接続する。具体的には、Phy22〜27は、エクスパンダ10に接続されたデバイスであるHDD30と接続し、Phy21は、自装置と下位のエクスパンダ10と接続し、Phy28は、自装置と上位のエクスパンダまたはRoC20と接続する。
【0019】
CPU32は、メモリ31にファームウェアを展開し、後述するPHY変化検出部11、ダイレクトテーブル取得待合わせ部12、テーブル取得待合わせ部13、テーブル取得部14、テーブル管理部15、および、ブロードキャスト発行部16が実行する処理を行う。メモリ31は、各種処理に必要なファームウェアが展開され、また、後述するダイレクトテーブル16aおよびルーティングテーブル16bを記憶する。
【0020】
図2に戻って、各部について説明する。図2に示すように、記憶部16は、ダイレクトテーブル16aおよびルーティングテーブル16bを記憶する。ダイレクトテーブル14aは、自装置と直接接続されたデバイスとの接続状態に関する情報を記憶する。具体的には、図4に例示するように、ダイレクトテーブル16aは、エクスパンダ10の物理ポートに一意に付与された識別子である「Phy ID」と、各物理ポートに接続されたデバイスに関する情報を示す「Device」とを対応付けて記憶する。図4は、ダイレクトテーブルの例を示す図である。
【0021】
ルーティングテーブル16bは、下位のエクスパンダと接続されたデバイスとの接続状態に関する情報を記憶する。具体的には、図5に例示するように、ルーティングテーブル14bは、物理ポートに一意に付与された識別子である「Phy ID」と、物理ポートを介して間接的に接続された全デバイスに関する情報とが記憶されている。図5の例では、Phy ID「0」の物理ポートにIndex0〜13に記載されている13個のデバイスが接続されている。また、Phy ID「1」〜「4」には、デバイスが一つも接続されていないことを示している。
【0022】
PHY変化検出部11は、自装置と接続されたデバイスとの接続状態が変化した場合には、接続状態が変化した変化要因に基づいて、接続状態の変化が一時的な変化であるか否かを判定する。具体的には、PHY変化検出部11は、自装置と接続されたデバイスの接続状態が変化したことを検出する。そして、PHY変化検出部11は、自装置と接続されたデバイスの接続状態が変化したことを検出した場合には、接続状態が変化した変化要因を特定し、変化要因に基づいて、接続状態の変化が一時的な変化であるか否かを判定する。
【0023】
ここで、図6を用いて、接続状態の変化が一時的な変化である一時的な変化であるか否かを判定する処理について具体的に説明する。図6は、リンクステータス変化要因分析処理を説明する図である。図6に例示するように、PHY変化検出部11は、ROC20からのReset処理が変化要因である場合には、接続状態の変化が一時的な変化であり、即時に復旧すると判定する。ROC20からのReset処理などでエクスパンダ10と接続されたデバイス間の接続状態がリセットされた場合には、通常100msec程でリセット前の状態に接続状態が戻るからである。また、PHY変化検出部11は、要因は不明だがLink Statusが突然変化したことが変化要因である場合も、接続状態の変化が一時的な変化であり、即時に復旧すると判定する。
【0024】
また、PHY変化検出部11は、マウント情報などからディスクやケーブルの抜きもしくは挿しが変化要因であることを検出した場合や、デバイスの電源OFFもしくはONが変化要因である場合には、接続状態の変化が一時的な変化ではなく、長時間継続すると判定する。
【0025】
また、PHY変化検出部11は、下位のエクスパンダから接続状態の変化の通知をブロードキャストで受信した場合には、テーブル取得部13にブロードキャストを受信した旨を通知する。
【0026】
ダイレクトテーブル取得待合わせ部12は、変化要因に基づいて、接続状態の変化が一時的な変化であると判定された場合には、一定時間ダイレクトテーブルの生成処理を待ち合わせる。具体的には、ダイレクトテーブル取得待合わせ部12は、ファームウェア処理にてタイマを設け、一定期間ダイレクトテーブルを生成する処理を待ち合わせるように制御する。
【0027】
テーブル取得部13は、自装置と接続されたデバイスとの接続状態が変化した場合には、記憶部16からダイレクトテーブル16aを取得する。また、テーブル取得部13は、下位のエクスパンダから接続状態の変化をブロードキャストとして受信した場合には、下位の装置からルーティングテーブル16bを取得するとともに、自装置の記憶部16からルーティングテーブル16bを取得する。
【0028】
具体的には、テーブル取得部13は、自装置と接続されたデバイスであるHDD30との接続状態が変化した場合には、自装置に接続されたデバイスから現在の接続状況に関する情報を取得し、取得した情報を反映した新しいダイレクトテーブルを生成し、記憶部16に記憶させる。ここでは、新しいダイレクトテーブルを生成するが、現在の接続状況に関する情報を反映させる前の旧ダイレクトテーブルも記憶部16に保持しておく。後述するテーブル管理部4が新旧のダイレクトテーブルを比較するからである。
【0029】
また、テーブル取得部13は、ブロードキャストで受信した旨の通知をPhy変化検出部11から受信した場合には、下位のエクスパンダからルーティングテーブル16bを取得するとともに、自装置の記憶部16からルーティングテーブル16bを取得する。
【0030】
テーブル管理部14は、接続状態の変化が一時的な変化である場合には、ダイレクトテーブル16aおよびルーティングテーブル16bに記憶された接続状態に関する情報の更新を中止する。一方、接続状態の変化が一時的な変化でない場合には、接続状態の変化に基づいて、ダイレクトテーブル16aおよびルーティングテーブル16bに記憶された接続状態に関する情報を更新する。
【0031】
具体的には、テーブル管理部14は、自装置と接続されたデバイスであるHDD30との接続状態が変化した場合には、テーブル取得部13によって記憶部から取得された旧ダイレクトテーブルと、テーブル取得部13によって現在の接続状況に関する情報を反映させた新ダイレクトテーブルとを比較する。この結果、テーブル管理部14は、新旧ダイレクトテーブルが一致する場合には、ダイレクトテーブル16aに記憶された接続状態に関する情報の更新を中止し、記憶部16に記憶されたダイレクトテーブル16aを旧ダイレクトテーブルのままにしておく。また、テーブル管理部14は、新旧ダイレクトテーブルが一致しない場合には、記憶部16に記憶されたダイレクトテーブル16aを新ダイレクトテーブルに更新する。
【0032】
ここで、図7を用いてダイレクトテーブルの比較処理および更新処理について説明する。図7は、ダイレクトテーブルの比較処理と更新処理を説明する図である。図7に示すように、テーブル管理部14は、現在運用中の旧ダイレクトテーブルAと新ダイレクトテーブルBとを比較し、テーブルの内容が全て一致した場合には、旧ダイレクトテーブルAのまま運用し、新ダイレクトテーブルBを破棄する。また、テーブル管理部14は、テーブルの内容が全て一致してない場合には、新ダイレクトテーブルBに記憶部16のダイレクトテーブル16aを書き換えて、以後の運用では、新ダイレクトテーブルBを使用する。
【0033】
また、図4に例示したダイレクトテーブルを旧テーブルとし、図8に例示したダイレクトテーブルを新テーブルとした場合を例に比較処理について説明する。図8は、接続状態が変化した後のダイレクトテーブルの例を説明するための図である。図8に示すように、図8に例示した新ダイレクトテーブルは、図4に例示した旧ダイレクトテーブルと比較して、Phy ID「4」の物理ポートにデバイス「HDD 2−3」が接続されていない。このため、テーブル管理部14は、現在運用中の旧ダイレクトテーブルAと新ダイレクトテーブルBとを比較した場合には、テーブルの内容が一致していないと判定し、新ダイレクトテーブルBに記憶部16のダイレクトテーブル16aを書き換える。
【0034】
また、テーブル管理部14は、下位のエクスパンダから接続状態の変化の通知をブロードキャストで受信した場合には、テーブル取得部13によって記憶部から取得された旧ルーティングテーブルと、テーブル取得部13によって現在の接続状況に関する情報を反映させた新ルーティングテーブルとを比較する。この結果、テーブル管理部14は、新旧ルーティングテーブルが一致する場合には、ルーティングテーブル16bに記憶された接続状態に関する情報の更新を中止し、記憶部16に記憶されたルーティングテーブル16bを旧ルーティングテーブルのままにしておく。また、テーブル管理部14は、新旧ルーティングテーブルが一致しない場合には、記憶部16に記憶されたルーティングテーブル16bを新ダイレクトテーブルに更新する。
【0035】
ここで、図9を用いてルーティングテーブルの比較処理および更新処理について説明する。図9は、ルーティングテーブルの比較処理と更新処理を説明する図である。図9に示すように、テーブル管理部14は、現在運用中の旧ルーティングテーブルAと新ルーティングテーブルBとを比較し、テーブルの内容が全て一致した場合には、旧ルーティングテーブルAのまま運用し、新ルーティングテーブルBを破棄する。また、テーブル管理部14は、テーブルの内容が全て一致してない場合には、新ルーティングテーブルBに記憶部16のルーティングテーブル16bを書き換えて、以後の運用では、書き換えられたルーティングテーブルBを使用する。
【0036】
また、図10に例示したルーティングテーブルを旧テーブルとし、図5に例示したルーティングテーブルを新テーブルとした場合を例に比較処理について説明する。図10は、接続状態が変化した後のルーティングテーブルの例を説明するための図である。図10に示すように、図10に例示した新ルーティングテーブルは、図5に例示した旧ルーティングテーブルと比較して、Phy ID「0」のIndexにデバイス「HDD 2−3」がない。このため、テーブル管理部14は、現在運用中の旧ルーティングテーブルAと新ルーティングテーブルBとを比較した場合には、テーブルの内容が一致していないと判定し、新ルーティングテーブルBに記憶部16のルーティングテーブル16bを書き換える。
【0037】
ブロードキャスト発行部15は、接続状態の変化が一時的な変化であると判定された場合には、自装置よりも上位のエクスパンダ10またはROC20にブロードキャストを発行することを中止する。接続状態の変化が一時的な変化でないと判定された場合には、上位のエクスパンダ10またはROC20にブロードキャストを発行する。
【0038】
具体的には、ブロードキャスト発行部15は、テーブル管理部14によって新旧ダイレクトテーブルまたは新旧ルーティングテーブルが一致しないと判定された場合には、上位のエクスパンダ10またはROC20に対してブロードキャストを発行する。
【0039】
[エクスパンダによる処理]
次に、図11および図12を用いて、実施例1に係るエクスパンダ10による処理を説明する。図11は、実施例1に係るエクスパンダのダイレクトテーブル更新処理の処理手順を説明するためのフローチャートである。図12は、実施例1に係るエクスパンダのルーティングテーブル更新処理の処理手順を説明するためのフローチャートである。
【0040】
図11に示すように、エクスパンダ10のPHY変化検出部11は、自デバイスの接続状態を示すリンクステータスに変化が発生すると(ステップS101)、リンクステータスが変化した要因を特定する(ステップS102)。そして、PHY変化検出部11は、特定した変化要因に基づいて、リンクステータスの変化が即時復旧するか判定する(ステップS103)。
【0041】
この結果、PHY変化検出部11がリンクステータスの変化が即時復旧しないと判定した場合には(ステップS103否定)、テーブル取得部13は、即時に、新しいダイレクトテーブルを生成する(ステップS105)。また、PHY変化検出部11がリンクステータスの変化が即時復旧すると判定した場合には(ステップS103肯定)、テーブル取得部13は、一定時間待ち合わせて(ステップS104)、新ダイレクトテーブルを生成する(ステップS105)。ここで、テーブル取得部13は、新ダイレクトテーブルを生成する処理として、自装置に接続されたデバイスから現在の接続状況に関する情報を取得し、取得した現在の接続状況に関する情報を反映した新しいダイレクトテーブルを生成する処理を行う。
【0042】
そして、テーブル管理部14は、テーブル取得部13によって記憶部から取得された旧ダイレクトテーブルと、テーブル取得部13によって現在の接続状況に関する情報を反映させた新ダイレクトテーブルとを比較する(ステップS106)。この結果、テーブル管理部14は、新旧ダイレクトテーブルが一致する場合には(ステップS107肯定)、ダイレクトテーブル16aの更新処理およびブロードキャスト発行処理を中止して、処理を終了する。また、テーブル管理部14は、新旧ダイレクトテーブルが一致しない場合には(ステップS107否定)、記憶部16に記憶されたダイレクトテーブル16aを新ダイレクトテーブルに更新する(ステップS108)。そして、ブロードキャスト発行部15は、上位のエクスパンダ10またはROC20に対してブロードキャストを発行する(ステップS109)。
【0043】
次に、図12を用いて、エクスパンダ10がルーティングテーブルを更新する処理について説明する。図12に示すように、エクスパンダ10のPHY変化検出部11は、下位のエクスパンダから接続状態の変化の通知をブロードキャストで受信する。そして、テーブル取得部13は、下位のエクスパンダからルーティングテーブル(以下、新ルーティングテーブルという)16bを取得するとともに、自装置の記憶部16からルーティングテーブル(以下、旧ルーティングテーブルという)16bを取得する(ステップS201)。
【0044】
そして、テーブル管理部14は、旧ルーティングテーブルと、新ルーティングテーブルとを比較する(ステップS202)。この結果、テーブル管理部14は、新旧ルーティングテーブルが一致する場合には(ステップS203肯定)、ルーティングテーブル16bの更新処理および上位装置に対するブロードキャスト発行処理を中止して、処理を終了する。
【0045】
また、テーブル管理部14は、新旧ルーティングテーブルが一致しない場合には(ステップS203否定)、記憶部16に記憶されたルーティングテーブル16bを新ルーティングテーブルに更新する(ステップS204)。そして、ブロードキャスト発行部15は、上位のエクスパンダ10またはROC20に対してブロードキャストを発行する(ステップS205)。
【0046】
[実施例1の効果]
上述してきたように、エクスパンダ10は、自装置と接続されたデバイスとの接続状態が変化した場合には、該接続状態が変化した変化要因に基づいて、接続状態の変化が一時的な変化であるか否かを判定する。そして、エクスパンダ10は、接続状態の変化が一時的な変化であると判定された場合には、ダイレクトテーブル16aに記憶された接続状態に関する情報の更新を中止する。また、エクスパンダ10は、接続状態の変化が一時的な変化でないと判定された場合には、接続状態の変化に基づいて、ダイレクトテーブル16aに記憶された接続状態に関する情報を更新する。そして、エクスパンダ10は、接続状態の変化が一時的な変化であると判定された場合には、自装置よりも上位の装置に接続状態の変化を通知することを中止し、接続状態の変化が一時的な変化でないと判定された場合には、上位の装置に接続状態の変化を通知する。このため、エクスパンダ10のリソースを無駄に消費することを防止することが可能である。
【0047】
つまり、エクスパンダ10は、デバイスとの接続状態が変化した場合には、変化要因から接続状態の変化が一時的な変化であるか判定し、一時的な変化である場合にはブロードキャストの発行を中止するので、エクスパンダ10のリソースの無駄な消費を防止できる。
【0048】
また、実施例1によれば、エクスパンダ10は、接続状態が変化した変化要因が、上位装置からのリセットによる接続状態の変化であるか、ケーブルの抜き挿しによる状態の変化であるか、電源のオンオフによる状態の変化であるか特定し、特定した変化要因に応じて、接続状態の変化が一時的な変化であるか否かを判定する。このため、デバイスの接続状態が変化した変化要因から接続状態の変化が一時的な変化であるか否か適切に判定することができ、エクスパンダ10のリソースを無駄に消費することを適切に防止することが可能である。
【0049】
また、実施例1によれば、エクスパンダ10は、自装置よりも下位の装置と接続されたデバイスとの接続状態に関する情報を記憶するルーティングテーブル16bを有する。そして、エクスパンダ10は、下位の装置から接続状態の変化の通知をブロードキャストで受信すると、下位の装置が保持する前記接続状態に関する情報を要求し、接続状態に関する情報を取得する。そして、エクスパンダ10は、取得された下位の装置が保持する接続状態に関する情報と、記憶部16に記憶された自装置よりも下位の装置と接続されたデバイスとの接続状態に関する情報とを比較する。その後、エクスパンダ10は、比較した結果、両者が一致する場合には、ルーティングテーブル16bに記憶された接続状態に関する情報の更新を中止し、両者が一致しない場合には、ルーティングテーブル16bに記憶された接続状態に関する情報を更新する。そして、エクスパンダ10は、比較した結果、両者が一致する場合には、自装置よりも上位の装置に接続状態の変化を通知することを中止し、両者が一致しない場合には、上位の装置に接続状態の変化を通知する。この結果、エクスパンダ10は、ブロードキャスト受信前後でルーティングテーブル16bに変化がない場合には、ブロードキャストの発行を中止する結果、エクスパンダ10のリソースを無駄に消費することを適切に防止することが可能である。
【実施例2】
【0050】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例2として本発明に含まれる他の実施例を説明する。
【0051】
(1)システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、テーブル取得部13とテーブル管理部14を統合してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0052】
(2)プログラム
なお、本実施例で説明した中継方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【符号の説明】
【0053】
10 エクスパンダ
11 Phy変化検出部
12 ダイレクトテーブル取得待ち合わせ部
13 テーブル取得部
14 テーブル管理部
15 ブロードキャスト発行部
16 記憶部
16a ダイレクトテーブル
16b ルーティングテーブル
20 ROC
30 HDD
100 デバイス管理システム

【特許請求の範囲】
【請求項1】
自装置に接続されたデバイスとの接続状態に関する情報を記憶する第一の記憶部と、
自装置と接続されたデバイスとの接続状態が変化した場合には、該接続状態が変化した変化要因に基づいて、該接続状態の変化が一時的な変化であるか否かを判定する判定部と、
前記判定部によって接続状態の変化が一時的な変化であると判定された場合には、前記第一の記憶部に記憶された前記接続状態に関する情報の更新を中止し、前記判定部によって接続状態の変化が一時的な変化でないと判定された場合には、前記接続状態の変化に基づいて、前記第一の記憶部に記憶された前記接続状態に関する情報を更新する更新部と、
前記判定部によって接続状態の変化が一時的な変化であると判定された場合には、自装置よりも上位の装置に前記接続状態の変化を通知することを中止し、前記判定部によって接続状態の変化が一時的な変化でないと判定された場合には、前記上位の装置に前記接続状態の変化を通知する通知部と、
を有することを特徴とする中継装置。
【請求項2】
前記判定部は、前記接続状態が変化した変化要因が、上位装置からのリセットによる接続状態の変化であるか、ケーブルの抜き挿しによる状態の変化であるか、電源のオンオフによる状態の変化であるか特定し、特定した変化要因に応じて、接続状態の変化が一時的な変化であるか否かを判定することを特徴とする請求項1に記載の中継装置。
【請求項3】
自装置よりも下位の装置と接続されたデバイスとの接続状態に関する情報を記憶する第二の記憶部と、
前記下位の装置から前記接続状態の変化の通知を受信すると、該下位の装置が保持する前記接続状態に関する情報を要求し、該接続状態に関する情報を取得する取得部と、
前記取得部によって取得された前記下位の装置が保持する接続状態に関する情報と、前記第二の記憶部に記憶された前記自装置よりも下位の装置と接続されたデバイスとの接続状態に関する情報とを比較する比較部をさらに有し、
前記更新部は、前記比較部によって比較した結果、両者が一致する場合には、前記第二の記憶部に記憶された前記接続状態に関する情報の更新を中止し、両者が一致しない場合には、前記第二の記憶部に記憶された前記接続状態に関する情報を更新し、
前記通知部は、前記比較部によって比較した結果、両者が一致する場合には、自装置よりも上位の装置に前記接続状態の変化を通知することを中止し、両者が一致しない場合には、前記上位の装置に前記接続状態の変化を通知することを特徴とする請求項1または2に記載の中継装置。
【請求項4】
自装置と接続されたデバイスとの接続状態が変化した場合には、該接続状態が変化した変化要因に基づいて、該接続状態の変化が一時的な変化であるか否かを判定し、
前記接続状態の変化が一時的な変化であると判定された場合には、前記自装置に接続されたデバイスとの接続状態に関する情報を記憶する第一の記憶部に記憶された該接続状態に関する情報の更新を中止し、前記接続状態の変化が一時的な変化でないと判定された場合には、前記接続状態の変化に基づいて、前記第一の記憶部に記憶された前記接続状態に関する情報を更新し、
前記接続状態の変化が一時的な変化であると判定された場合には、自装置よりも上位の装置に前記接続状態の変化を通知することを中止し、前記接続状態の変化が一時的な変化でないと判定された場合には、前記上位の装置に前記接続状態の変化を通知する
ことを特徴とする中継方法。
【請求項5】
自装置に接続されたデバイスとの接続状態に関する情報を記憶する第一の記憶部と、
自装置と接続されたデバイスとの接続状態が変化した場合には、該接続状態が変化した変化要因に基づいて、該接続状態の変化が一時的な変化であるか否かを判定する判定部と、
前記判定部によって接続状態の変化が一時的な変化であると判定された場合には、前記第一の記憶部に記憶された前記接続状態に関する情報の更新を中止し、前記判定部によって接続状態の変化が一時的な変化でないと判定された場合には、前記接続状態の変化に基づいて、前記第一の記憶部に記憶された前記接続状態に関する情報を更新する更新部と、
前記判定部によって接続状態の変化が一時的な変化であると判定された場合には、自装置よりも上位の装置に前記接続状態の変化を通知することを中止し、前記判定部によって接続状態の変化が一時的な変化でないと判定された場合には、前記上位の装置に前記接続状態の変化を通知する通知部と、
を有することを特徴とするデバイス管理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate