JP4890916B2 - ネットワークに接続された通信装置の管理方法、機器認識装置及びコンピュータプログラム - Google Patents

ネットワークに接続された通信装置の管理方法、機器認識装置及びコンピュータプログラム Download PDF

Info

Publication number
JP4890916B2
JP4890916B2 JP2006104824A JP2006104824A JP4890916B2 JP 4890916 B2 JP4890916 B2 JP 4890916B2 JP 2006104824 A JP2006104824 A JP 2006104824A JP 2006104824 A JP2006104824 A JP 2006104824A JP 4890916 B2 JP4890916 B2 JP 4890916B2
Authority
JP
Japan
Prior art keywords
information
guid
network
physical
communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006104824A
Other languages
English (en)
Other versions
JP2007281839A (ja
Inventor
浩二 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2006104824A priority Critical patent/JP4890916B2/ja
Publication of JP2007281839A publication Critical patent/JP2007281839A/ja
Application granted granted Critical
Publication of JP4890916B2 publication Critical patent/JP4890916B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、IEEE1394バス等のネットワークに接続されている通信装置の接続関係の管理方法に関する。
AV機器やPC周辺機器等の様々な機器を1つのネットワークに統合でき、高速のデータ転送を可能とするインタフェースの1つに、IEEE1394インタフェースがある。IEEE1394のネットワークは、図15に示すように、高速シリアルバス(IEEE1394バスと呼ぶ)には多様な種類の機器が接続される。これらの機器を制御するためには、IEEE1394バスに接続されている機器の接続関係を特定し、さらに、各機器の名称や機器種別等の機器情報を取得し、バスに接続されている機器を認識する必要がある。このような認識処理を以下では、機器認識処理と呼ぶ。
また、IEEE1394では、IEEE1394バスに接続されている機器に対する識別子(物理ID)の割り当てが自動的に行われるという特徴を有する。しかしながら、この物理IDの割当て処理は、バスへの新たな機器の接続又はバスからの機器の取り外しや、バスの異常時になどに発生するバスリセットのたびに実行される。つまり、バスリセット前からバス上に存在する機器の物理IDがバスリセットの前後で変更される可能性がある。このため、上述した機器認識処理もバスリセットのたびに実行する必要がある。
IEEE1394ネットワークでは、バスリセットの発生に応じて、バスに接続されている機器の接続関係を解析するツリー・アイデンティファイと呼ばれる処理が行われる。その後、バスに接続された各機器が、物理ID、ポート数、ポートの接続状態の情報を含むセルフIDパケットを送付することによって、バスに接続された機器の物理IDの決定、バスに接続された機器の機器情報の認識等を行うセルフ・アイデンティファイと呼ばれる処理が行われる。
IEEE1394のネットワークトポロジは、図16に示すようにツリー構造となる。なお、以下ではIEEE1394バスに接続され、1又は複数のポートを有する機器をノードと呼ぶこととする。バスリセット後のツリー・アイデンティファイによって、隣接する2つのノードの間で親子関係が決定されることによって、図16に示すようなツリー構造が決定される。具体的には、親となったノード側のポートの接続状態を"子接続"と呼び、子となったノード側のポートの接続状態を"親接続"と呼ぶ。ツリー・アイデンティファイによって全てのポートが子接続となったノードが、ツリー構造の頂点にあたるルートノードとなる。図16の例では、機器Aがルートノードに相当する。
ツリー・アイデンティファイによって、ツリー構造が決定されると、引き続いてセルフ・アイデンティファイが行われる。セルフ・アイデンティファイでは、ルートノードによる調停の下で各ノードに物理IDが割当てられる。また、物理IDの割り当てを受けたノードはセルフIDパケットをブロードキャストし、自ノードの情報を他の全てのノードに転送する。IEEE1394のセルフIDパケットには、送信元の各機器の物理ID、及び送信元の各機器が備えるポートの接続状態、具体的には未接続、親接続、又は子接続のいずれであるか等の情報が含まれる。
なお、物理IDは、1の親接続ポートのみを有するツリーの末端に位置するノード(リーフノードと呼ぶ)からルートノードに向かって小さい値から順番に割当てられ、ルートノードが最大値となる。物理IDの最小値はゼロであり、最大値は63である。さらに、複数の子接続を有するノード(ブランチノードと呼ぶ)が存在する場合、ブランチノードの複数の子接続ポートのうち、ポート番号の小さいポートに接続されているノードに小さい物理IDが割当てられる。図16の例では、リーフノードの1つである機器Dに最小の物理ID"0"が割当てられ、ルートノードである機器Aに最大の物理ID"4"が割当てられている。また、例えば、ブランチノードである機器Bは2つの子接続を有するが、このうちポート番号"1"のポートに接続された機器Dに物理ID"0"が割り当てられ、ポート番号"2"のポートに接続された機器Cに物理ID"1"が割り当てられている。
IEEE1394ネットークでは、バスリセットの発生に応じて、バスに接続された機器に対する物理アドレスの再割り当てが行われる。このため、バスに接続されている各機器は、バスリセットが発生するたびに物理IDに対応する機器が如何なる属性、種別の機器であるかを識別する機器認識処理を行う必要がある。
以下では、特許文献1に記載されている従来の機器認識処理の詳細を説明する。特許文献1に開示された機器認識装置は、セルフIDパケットに基づいて決定したバスリセット後の機器の接続関係をバスリセット前の機器の接続関係と比較し、バスリセット前後での機器の接続関係の対応付けを行い、バスリセット前から存在する機器に対しては新たな機器情報の取得を行わずに、バスリセット前に取得した機器情報をそのまま使用し、新たなにIEEE1394バスに接続された機器に対してのみ機器情報の取得を行うものである。ここで、機器情報とは、各機器の名称や機器種別等の識別情報である。
特許文献1に開示された機器認識装置の構成を図17に示す。図17の機器認識装置6は、IEEE1394バス50に接続され、当該バスに接続された各機器の接続関係を認識し、物理IDの取得、機器情報の収集を行う装置である。
機器認識装置6は、バスリセット発生時にバス上の各機器が送信するセルフIDパケットを収集する収集手段60、収集手段60が収集したセルフIDパケットに含まれる情報を参照して、バス上に接続されている機器の接続情報を作成する接続情報作成手段61、バスリセット発生前及び発生後の接続情報と機器情報を記憶しておく記憶手段62、記憶手段62が記憶しているバスリセット発生前及び発生後の接続情報から変化情報を作成して記憶手段62に記憶させる変化情報作成手段63、及び、新規に接続された機器から新たに機器情報を取得し、記憶手段62に記憶させる取得手段64を備えている。
図18は、機器認識装置6が行う機器認識処理を示すフローチャートである。まず始めに、収集手段60が、バスリセットの発生を検出する(ステップS10)。なお、バスリセットの発生は、いずれかのポートにおいてバスリセット信号を受信することによって検出される。バスリセットが発生すると、上述したツリー・アイデンティファイによって機器の接続関係が決定され、続くセルフ・アイデンティファイによって各機器の物理IDが決定され、各機器によってセルフIDパケットが送信される。収集手段60は、各機器が送信するセルフIDパケットを取得する(ステップS11)。
収集手段60で取得されたセルフIDパケットは、接続情報作成手段61に渡される。接続情報作成手段61は受け取ったセルフIDパケットを参照して接続情報を作成し、記憶手段62に格納する(ステップS12)。ここで、接続情報とは、IEEE1394バス上の各機器が持つポートに他のどの機器が接続されているかを示す情報である。接続情報の一例を図19に示す。
次に、変化情報作成手段63が、バスリセット発生前の接続情報及びバスリセット発生後の接続情報を記憶手段62から取得し、それらを比較することにより、図20に示すような変化情報を作成する。作成された変化情報は、記憶手段62に格納される(ステップS13)。図20に示す変化情報は、IEEE1394バス上に接続されているすべての機器に対して、バスリセット発生前と発生後の物理IDの対応付けを行った情報である。この変化情報を用いることによって、バスリセット発生前から接続されている機器に対しては機器情報の再取得を行わず、バスリセット発生前に取得した機器情報を参照して機器を特定することができる。
最後に取得手段64が、変化情報作成手段63が作成した変化情報を参照し、IEEE1394バスに新たに接続された機器が存在している場合に、当該機器の機器情報を取得する(ステップS14)。
次に、図21乃至図23を用いて、接続情報作成(ステップS12)、変化情報作成(ステップS13)及び機器情報取得(ステップS14)の詳細手順を説明する。
図21は接続情報作成(ステップS12)の処理手順を示すフローチャートである。接続情報の作成処理は、ルートノードを起点として、各ノードが有するポートに接続されている機器の物理IDを順々に明確にしていくことにより行う。したがって、現在の解析対象ノードを示す検索ノードの初期値には、ルートノードの物理IDが設定される(ステップS200)。さらに、カレントIDの初期値としてルートノードの物理IDを設定する(ステップS201)。なお、カレントIDは、図21に示す処理において、未確認の子接続のポートに接続された機器が有する物理IDの現在の候補値として使用される。
検索ノードが備えるポートに接続されている機器の物理IDを明確にする処理は、検索ノードが持つポートのうち、最大のポート番号から順に実行する。したがって、検索ポートの初期値として検索ノードが持つポートのポート番号のうち、最大のポート番号を設定する(ステップS202)。検索ポートを設定したら、収集手段50によって収集したセルフIDパケットに含まれる情報に基づいて、そのポートの状態が未確認の子接続であるかを確認する(ステップS203)。ここで、未確認とは、未だ接続情報作成における検索対象となっていないことを表している。
検索ポートの状態が未確認の子接続であった場合は、カレントIDの値を現在値から1つ減らし(ステップS204)、カレントIDの値を検索ポートに接続されている機器の物理IDとして記憶しておき、検索ポートの状態を確認済みにする(ステップS205)。次に、検索ノードを検索ポートに接続されているノードつまり、カレントIDが示すノードに移動する(ステップS207)。その際、新たに検索ノードとなる機器の親ノードとして移動前の検索ノードを記憶しておく(ステップS206)。ここで、親ノードとは、接続された2つノードのうち、ルートノードに近い側の機器を意味する。例えば、図16に示したネットワークにおける機器Bの親ノードは機器Aであり、機器Dの親ノードは機器Bである。
一方、ステップS203において検索ポートの状態が未確認の子接続でなかった場合は、検索ポートの状態が未確認の親接続であるか否かを確認する(ステップS208)。検索ポートの状態が未確認の親接続であった場合、検索ポートに接続されている機器の物理IDとして、検索ノードに設定されている親ノードの物理IDを記憶し、検索ポートの状態を確認済みにする(ステップS209)。
検索ポートの状態が未確認の親接続でないときは、検索ポートの値を1つ減らす(ステップS210)。検索ポートの値がゼロ以下、つまり検索ノードが持つすべてのポートに対して確認を行った場合(ステップS211)、その検索ノードに親ノードが設定されているか確認し(ステップS212)、親ノードが設定されている場合は、検索ノードを親ノードへ移動する(ステップS213)。一方、検索ノードが親ノードを持たない場合、つまりルートノードが持つすべてのポートに対して確認を完了した場合は、すべての接続情報が確認済みであるので接続情報作成処理を終了する。
次に図22のフローチャートを用いて、変化情報作成(ステップS13)の詳細な動作を説明する。変化情報は、バスリセット発生前に作成した接続情報とバスリセット発生後に新たに作成した接続情報を基に作成される。変化情報の作成は、自ノードのバスリセット発生前の物理IDとバスリセット発生後の物理IDとを記憶した上で、自ノードを起点に開始する。したがって検索ノードの初期値には、変化情報作成の作成を行うノード自身を設定する(ステップS300)。また検索ポートの初期値は、バスリセット発生後の検索ノードが持つ最大ポート番号のポートとする(ステップS301)。
検索ポートを設定したら、そのポートに未確認の接続が行われているか確認する(ステップS302)。未確認の接続が行われていた場合は、バスリセット発生後に作成した接続情報を参照し、変化情報におけるバスリセット発生後の物理IDを表す新物理IDの項目に、検索ポートに接続されているノードの物理IDを設定する(ステップS303)。次に、バスリセット発生前の接続情報を参照し、バスリセット発生前から当該検索ポートに機器が接続されていたか否かを確認する(ステップS304)。バスリセット発生前から機器が接続されていた場合は、変化情報におけるバスリセット発生前の物理IDを表す旧物理IDの項目に、バスリセット発生前の検索ポートに接続されているノードの物理IDを設定する(ステップS305)。一方、バスリセット発生前に当該検索ポートに機器が接続されていない場合は、変化情報における旧物理IDの項目に未接続を設定する(ステップS306)。
以上の手順により、検索ポートに接続されている機器に対して、バスリセット発生後の物理ID(新物理ID)とバスリセット発生前の物理ID(旧物理ID)が既知となったので、これらの情報を変化情報に記録し、検索ポートの状態を確認済みにする(ステップS307)。次に、検索ノードを検索ポートに接続されているノードに移動する(ステップS309)。その際に、移動先の検索ノードに対する戻り先ノードとして、移動前の検索ノードを設定する(ステップS308)。
一方、ステップS302において検索ポートに未確認の接続が無かった場合、検索ポートの値を1つ減らす(ステップS310)。このとき、検索ポートの値が0以上であれば(ステップS311)、1つ減らした新たな検索ポートに対して上述した処理を繰り返し実行する。検索ポートの値が0より小さい場合は、その検索ノードに戻り先ノードが設定されているか確認する(ステップS312)。戻り先ノードが設定されている場合は、検索ノードを戻り先ノードに移動し(ステップS313)、戻り先ノードが設定されていない場合は、バス上に接続されているすべての機器の変化情報が既知となったので処理を終了する。
続いて、図23のフローチャートを用いて、機器情報取得(ステップS14)の詳細な動作を説明する。まず、機器情報取得の初期値として、検索ノードにルートノードを設定する(ステップS400)。次に、作成した変化情報を参照することにより、検索ノードが新規接続かどうかを確認する(ステップS401)。新規接続である場合は、そのノードに対してIEEE1394のアシンクロナス通信によって機器情報の取得を行う(ステップS402)。新規接続でない場合は、変化情報を参照してバスリセット発生前の物理IDを確認し、その物理IDに対する機器情報を新たな物理IDの機器情報とする(ステップS403)。
検索ノードの機器情報が明確になったら、検索ノードの値を1つ減らす(ステップS404)。このとき検索ノードの値が0以上であれば(ステップS405)、検索ノードに対して上述した処理を繰り返し行う。検索ノードが0より小さい場合は、全てのノードの機器情報が明確となっているため処理を終了する。
これらの処理によって、機器認識装置6は、IEEE1394バス上に接続されている全ての機器の機器認識を行う。
また、特許文献2には、バスリセットによって変化しない機器に固有の識別子であるGUID(Global Unique ID)を利用して、バスリセット後の機器情報の取得を効率化する方法が開示されている。具体的には、バスリセットを検出すると、まず始めに、IEEE1394バスに接続された全ての機器のGUIDの取得を行う。次に、取得したGUIDを過去のトポロジ情報に含まれるGUIDと比較することによって、新規にバスに接続された機器の有無を確認する。続いて、新規に接続された機器に対してのみトポロジ情報の取得を行い、バスリセット前から存在する機器のGUIDを有する機器のトポロジ情報は、過去のトポロジ情報を再利用する。これにより、全ての機器からトポロジ情報を再取得する必要がなく、トポロジ情報の再取得に要する時間を短縮するものである。なお、特許文献2におけるトポロジ情報とは、機器の種別、ノードID(物理ID)、GUID、機器名称等を対応付けた情報であって、特許文献1に関する説明で述べた機器情報に相当するものである。
しかしながら、特許文献2に開示された方法では、全ての機器からGUIDを取得するためのアシンクロナス通信によるサブアクションが発生する。また、上述したように特許文献2におけるトポロジ情報は機器情報を示す情報であり、特許文献2に開示された方法は、GUIDと物理IDとの対応を得ているのみである。このため、バスリセット前後でのIEEE1394ネットワークのトポロジ変更、つまり、バスリセット前後でのIEEE1394バスに接続された機器の接続関係の変化をどのように認識するかについての開示はなされていない。
また、特許文献3には、特許文献2と同様に、バスリセットによって変化しない機器に固有の識別子であるGUID(Global Unique ID)を利用して、バスリセット後の機器情報の取得を効率化する方法が開示されている。しかしながら、特許文献2と同様に、IEEE1394バスに接続された全ての機器に対してGUIDの取得を行うことによってバスリセット後のトポロジマップを再構成する旨の記載がなされているが、バスリセット前後でのIEEE1394バスに接続された機器の接続関係の変化をどのように認識するかについての開示はない。
特開平11−196110号公報 特開2003−134121号公報 特開2003−244154号公報
上述したように、特許文献1に開示されたバスリセット発生後の機器認識処理では、バスリセット後の機器の接続関係を得るための中間的なデータとして、バスリセット前後における機器の接続関係の変化を示す"変化情報"を作成する。"変化情報"の作成は、バスに接続された機器の全体をバスリセット前後で比較することによって行われるため、変化情報を作成するためには必ず、バスリセット前の接続情報とバスリセット後の接続情報とを別々に保持しておかなければならないという事情がある。このため、特許文献1に開示された方法では、バスリセット後の機器の接続関係を得るために大きな記憶容量を必要とするという問題がある。
本発明にかかる方法は、ネットワークに接続された複数の通信装置の各々に固有の識別子であるGUID、前記複数の通信装置の各々を識別する識別子であってネットワーク構成に応じて変化する物理ID、及び前記複数の通信装置の接続関係を示す接続情報を記録したマップ情報によって、前記ネットワークに接続された前記複数の通信装置の接続関係を管理する管理方法である。具体的には、(1)前記ネットワークの構成変更が発生した場合に、前記ネットワークの構成変更後に前記ネッワークに接続されている複数の通信装置の物理ID、及びこれらの通信装置が有する通信ポートの接続状態を含む構成情報を取得し、(2)前記ネットワークの構成変更後に前記ネッワークに接続されている基準装置のGUIDを取得し、(3)前記基準装置が有する通信ポートを起点として、前記基準装置のGUID、前記構成情報及び前記マップ情報に基づいて、前記複数の通信装置が有する各通信ポートに接続された通信装置が前記ネットワークの構成変更の前後で変化しているか否かを順次判定し、接続された通信装置が変化していると判定した通信ポートに関する情報を順次更新することによって、前記ネットワークの構成変更後のマップ情報を生成する。
上述した本発明にかかる方法では、通信ポートに接続された通信装置の変化の判定結果に応じて、ネットワークの構成変更前のマップ情報を順次更新していくことによって、ネットワークの構成変更後の機器の接続情報を示すマップ情報を生成することができる。このため、ネットワークの構成変更前の接続情報を示すマップ情報とネットワークの構成変更後の接続情報を示すマップ情報とを別々に保持しておく必要がなく、ネットワークの構成変更後の機器の接続関係を得る処理に要する記憶容量を削減することができる。
一方、本発明にかかる機器認識装置は、ネットワークに接続された複数の通信装置の接続関係を認識する機器認識装置であって、(1)前記ネットワークに接続された前記複数の通信装置の各々に固有の識別子であるGUID、前記複数の通信装置の各々を識別する識別子であってネットワーク構成に応じて変化する物理ID、及び前記複数の通信装置の接続情報を含むマップ情報を記憶する記憶手段と、(2)前記ネットワークの構成変更が発生した場合に、前記ネットワークの構成変更後に前記ネッワークに接続されている複数の通信装置の物理ID、及びこれらの通信装置が有する通信ポートの接続状態を含む構成情報を取得する取得手段と、(3)前記構成情報に基づいて、前記マップ情報を更新するマップ生成手段とを備える。さらに、前記マップ生成手段は、(a)前記ネットワークの構成変更後に前記ネッワークに接続されている基準装置のGUIDを取得し、(b)前記基準装置が有する通信ポートを起点として、前記基準装置のGUID、前記構成情報及び前記マップ情報に基づいて、前記複数の通信装置が有する各通信ポートに接続された通信装置が前記ネットワークの構成変更の前後で変化しているか否かを順次判定し、接続された通信装置が変化していると判定した通信ポートに関する情報を順次更新することによって、前記ネットワークの構成変更後のマップ情報を生成するものである。
このような構成により、通信ポートに接続された通信装置の変化の判定結果に応じて、ネットワークの構成変更前のマップ情報を順次更新していくことによって、ネットワークの構成変更後の機器の接続情報を示すマップ情報を生成することができる。このため、ネットワークの構成変更前の接続情報を示すマップ情報とネットワークの構成変更後の接続情報を示すマップ情報とを別々に保持しておく必要がなく、ネットワークの構成変更後の機器の接続関係を得る処理に要する記憶容量を削減することができる。
また、本発明にかかるプログラムは、コンピュータを上述した本発明にかかる機器認識装置として機能させるためのプログラムである。
本発明により、ネットワークの構成変更に伴う通信装置の接続関係の管理情報の更新を効率化することができる。
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
発明の実施の形態1.
本実施の形態にかかる機器認識装置1の構成を図1に示す。機器認識装置1は、IEEE1394バス50に接続され、同じくIEEE1394バス50に接続された他のIEEE1394接続機器との間で通信を行う。以下では、IEEE1394バス50をバス50と呼び、IEEE1394バス50に接続された他のIEEE1394接続機器を単に機器と呼ぶ。
図1において、収集手段10は、バス50に接続された各機器が送信するセルフIDパケットを収集する。GUIDマップ作成手段11は、収集手段10が受信したセルフIDパケットを参照し、バス50に接続された機器のGUID、物理ID及び接続情報を対応付けてGUIDマップを作成する。取得手段13は、GUIDマップ作成手段11によってバスリセット後に更新されたGUIDマップに基づいて、バス50に新たに接続された機器から機器情報を取得し、機器情報テーブルを更新する。記憶手段12は、GUIDマップ及び機器情報テーブルを格納する。ここで、機器情報とは、各機器の名称や機器種別等の識別情報である。
GUIDマップの一例を図2に示す。GUIDマップとは、IEEE1394バスに接続されている機器の物理IDとGUIDとを対応付けるとともに、各機器が有するポートに他のどの機器が接続されているかを示す接続情報をGUIDと対応付けて記述したマップ情報である。また、GUIDは、IEEE1394バスの構成変化に応じて変更される物理IDとは異なり、IEEE1394バスに接続される各機器が持つ固有の識別子である。IEEE1394のGUIDは、64ビットのデータで構成される。
なお、図2のGUIDマップは、GUID、物理ID及び接続情報を1つのテーブルに集約しているが、このようなデータ構造は必須ではない。例えば、GUIDと物理IDの対応関係を定めるテーブルと、GUIDと接続情報を対応付けて定めるテーブルと別々に記憶してもよい。
次に、機器認識装置1が行う機器認識処理の概要を図3のフローチャートを用いて説明する。なお、比較を容易にするため、図3のフローチャートのステップのうち、図18に示した従来の機器認識処理と同様のステップには、図18と同一の符号を付している。
まず始めに、収集手段10にて、バス50でのバスリセットの発生を検出すると(ステップS10)、ツリー・アイデンティファイにより機器の接続関係が決定される。収集手段10は、ツリー・アイデンティファイに続くセルフ・アイデンティファイにおいて、バス50に接続されている全ての機器が自発的に送信するセルフIDパケットを取得する(ステップS11)。IEEE1394のセルフIDパケットには、送信元の各機器の物理ID、及び送信元の各機器が備えるポートの接続状態、具体的には未接続、親接続、又は子接続のいずれであるかが示されている。
次に、GUIDマップ作成手段11は、記憶手段12に格納されているバスリセット発生前のGUIDマップと、収集手段10が取得したセルフIDパケットとを用いて、バスリセット発生後にバス50に接続されている機器の接続関係を示す新たなGUIDマップを作成する(ステップS15)。
ステップS16では、取得手段13が、GUIDマップ作成手段11によって作成されたバスリセット後のGUIDマップを参照し、バス50に接続されている機器の機器情報を取得する。このとき、機器情報の取得は、バスリセット前にはバス50に接続されていなかった新たな機器に対してのみ実行し、バスリセット前からバス50に接続されている機器の機器情報は、過去の機器情報を再利用するものとする。具体的には、各機器の機器情報をGUIDと対応付けて記憶手段12に記憶するものとし、バスリセット後のGUIDマップに含まれるGUIDを、記憶手段12に格納された機器情報に対応するGUIDと照合して、新規なGUIDであれば機器情報を取得し、過去に機器情報を取得済みのGUIDであれば、その機器情報をそのまま再利用すればよい。
続いて、上述したステップS15におけるGUIDマップの作成処理の詳細手順を図4に示すフローチャートを用いて説明する。バスリセット後のGUIDマップの作成は、ルートノードを起点として、バス50に存在するノード(機器)の全ての機器の接続関係を解析することにより、バスリセット前のGUIDマップにおける接続情報を更新することによって行う。以下、図4に従って具体的に説明する。なお、図4において、図21に示した従来の接続情報の作成処理において行われる処理と同様の処理を行うステップには、図21と同一の符号を付している。
始めに、検索ノードの初期値と、カレントIDの初期値にルートノードの物理IDを設定する(ステップS200及びS201)。ここで、検索ノードは、現在の解析対象ノードを示す。また、カレントIDは、図4に示す処理において、未確認の子接続のポートに接続された機器が有する物理IDの現在の候補値として使用される。次に、ルートノードのGUIDをアシンクロナス通信により取得する(ステップS500)。ルートノードのGUIDを取得したら、取得したGUIDが既知であるか否かを、現在のGUIDマップに検索ノードのGUIDが含まれているか否かによって判定する(ステップS501)。
ステップS501の判定においてGUIDが既知、つまり現在のGUIDマップに検索ノードのGUIDが含まれている場合は、現在のGUIDマップ上の同じGUIDの機器に対する物理IDの値を、現在の検索ノードの値に書き換える(ステップS503)。一方、ステップS501の判定おいてGUIDが既知で無かった場合、当該ルートノードは、バスリセット前には存在しない新規な機器と判断できる。このため、検索ノード、つまりルートノードの物理ID及びGUIDを現在のGUIDマップに新規項目として追加する(ステップS502)。また、ステップS501乃至S503における、GUIDマップとの照合が終了した機器のGUID値は、チェック済み機器として記憶しておく。
次に、検索ポートの設定を行う。ここでは、検索ノードが持つポートのうち、最大のポート番号を持つポートを検索ポートに設定する(ステップS202)。検索ポートの設定後、ステップS11で収集手段10が取得したセルフIDパケットに含まれる情報を参照し、検索ポートの接続状態が、未確認の子接続であるか否かを確認する(ステップS203)。ここで、未確認とは、当該機器認識処理におけるポートの解析が終了していない状態を意味する。
検索ポートの接続状態が未確認の子接続であった場合、カレントIDの値を1つ減らす(ステップS204)。次に、検索ポートに接続されている機器がバスリセット発生前から接続されていた機器であるか否かを、現在のGUIDマップを参照して判定する(ステップS504)。GUIDマップに示されている検索ポートの接続情報が未接続を示している場合、その機器はバスリセット前にはバス50に接続されていない機器であると判定できる。また、GUIDマップにおいて未接続でなければバスリセット発生前から接続されている機器であると判定できる。
検索ポートに接続されている機器がバスリセット前からバス50に接続されていた機器と判定した場合は、現在のGUIDマップにおいて検索ポートに接続された機器のGUID値をGUIDマップから抽出し、検索ポートの状態を確認済みとする(ステップS505)。
一方、バスリセット前にはバス50に接続されていない機器と判定した場合は、アシンクロナス通信を使用してカレントIDのGUIDを取得し(ステップS506)、現在の検索ポートの接続情報に取得したGUIDを記録し、検索ポートの状態を確認済みとする(ステップS507)。
検索ポートに接続されている機器のGUIDが明確になったら、現在のGUIDマップにおけるカレントIDに対する親ノードとして、現在の検索ノードのGUIDを記録する(ステップS206)。その後、検索ノードをカレントIDが示す物理IDに変更する。(ステップS207)。
また、上述したステップS203の判定において、検索ポートの状態が未確認の子接続でないと判定した場合は、検索ポートの状態が未確認の親接続であるか否かを確認する(ステップS208)。検索ポートの状態が未確認の親接続であった場合、GUIDマップに示された検索ポートの接続機器のGUIDを、現在の親ノードのGUIDによって更新し、検索ポートの状態を確認済みにする(ステップS508)。
検索ポートの状態が未確認の親接続でないときは、検索ポートの値を1つ減らす(ステップS210)。検索ポートの値がゼロ以下、つまり検索ノードが持つすべてのポートに対して確認を行った場合(ステップS211)、その検索ノードに親ノードが設定されているか確認し(ステップS212)、親ノードが設定されている場合は、検索ノードを親ノードへ移動する(ステップS213)。一方、検索ノードが親ノードを持たない場合は、バス50上に接続されているすべての機器に対する解析を終了し、全ての機器の接続情報をGUIDマップに記録し終えたことを意味する。このため、この時点のGUIDマップに示されたGUIDのうち、ステップS502又はS503でチェックが行われていないGUIDの情報を、切断等によってバス50に接続されていない状態となった機器の情報として削除する(ステップS509)。
次に以下では、実動作における具体例として、図5に示す機器A〜機器Cの3台の機器が接続されたIEEE1394ネットワークに新たに機器Dが接続され、図6に示す構成に変化した場合における、機器認識処理の流れを説明する。なお、図5及び図6の構成において、機器A〜機器Dのいずれか、又は全ての機器が本実施の形態にかかる機器認識装置1として動作するものとする。
図7は、バスリセット発生前つまり図5に示す機器の接続構成に対するGUIDマップを示している。GUIDマップには、物理IDとGUIDとの対応、各ポートは未接続であるか否か、各ポートに接続された機器のGUIDが示されている。
機器Dが機器Cのポート(ポート番号:1)に接続されたことによってバスリセットが発生すると、まず、初期設定として検索ノードとカレントIDにルートノードの物理IDを設定する(ステップS200、S201)。具体的には、図6の接続例において、ルートノードである機器Cの物理IDは3であるため、検索ノード及びカレントIDに3を設定する。
次にルートノードのGUIDをアシンクロナス通信により取得する(ステップS500)。図6の接続例において、ルートノードである機器CのGUIDは"機器C"である。ルートノードのGUIDを取得したら、取得したGUIDが既知であるか否かを、図7に示す現在のGUIDマップに検索ノードのGUIDが含まれているか否かによって判定する(ステップS501)。いま、検索ノードのGUIDである機器Cは図7に示すGUIDマップに含まれているので、図7に示したGUIDマップにおける機器Cの物理IDの値を1から3に書き換える。また、バスリセット発生後に機器情報の更新を行ったノードとして機器Cをチェックする(ステップS503)。機器Cの物理ID値を書き換えた後のGUIDマップは図8となる。
次に検索ポートの設定を行う。検索ポートは検索ノードが持つ最大のポート番号を設定する(ステップS202)。いま、図6に示すように、現在の検索ノードである物理ID=3のノードが持つ最大のポート番号は2であるため、検索ポートに2を設定する。検索ポートの設定後、そのポートの接続状態を確認する。図6より物理ID=3、ポート番号=2の接続状態は未接続なので、検索ポートを次のポート番号である1に設定する(ステップS203、S208、S210及びS211)。
図6に示すように、物理ID=3、ポート番号=1の接続状態は未確認の子接続であるため、カレントIDの値を3から1つ減らして2に変更し(ステップS204)、検索ポートにバスリセット前から機器が接続されているか否かを確認する(ステップS504)。現在のGUIDマップである図8のGUIDマップを参照することにより、物理ID=3、ポート番号=1は未接続であることが分かる。このため、このポートに接続されている機器は、バスリセット発生前には接続されていなかった新規な機器であることが分かる。
物理ID=2の機器は新規に接続された機器であるため、この機器のGUIDをアシンクロナス通信にて取得する(ステップS506)。この結果、物理ID=2のGUIDは機器Dであることがわかる。続いて、図8に示すGUIDマップの物理ID=3、検索ポート=1の接続情報を未接続から機器Dに書き換え、このポートの状態を確認済みにする(ステップS507)。検索ポートの接続情報を書き換えたら、カレントIDである物理ID=2に対する親ノードに物理ID=3を設定し(ステップS206)、検索ノードを物理ID=2に変更する(ステップS207)。
新たな検索ノードとなった物理ID=2のGUIDである機器Dは、図8に示すGUIDマップに存在しないので、GUIDマップの新たなエリアに物理ID=2とGUID=機器Dを記入し、バスリセット発生後に機器情報の更新を行ったノードとして機器Dをチェックする。また、新たにGUIDマップに記録した物理ID=2、GUID=Dの機器に対する接続情報のエリアにはセルフIDパケットに示されたポート状態を記入しておく(ステップS502)。この段階でのGUIDマップは図9のようになる。
次に、図6に示すように、検索ノード(物理ID=2)の最大ポート番号であるポート番号=1を検索ポートに設定し(ステップS202)、このポートの接続状態を確認する。図6より、物理ID=2、ポート番号=1の接続状態は未接続であるため、ポート番号を1つ減らして検索ポートに0を設定し、このポートに対する検索を開始する(ステップS203、S208、S210及びS211)。
図6より、物理ID=2、ポート番号=0の接続状態は未確認の親接続である。このため、図9に示すGUIDマップの機器D、ポート番号=0の接続情報を、親接続から、検索ノードである物理ID=2の親ノードにあたる物理ID=3の機器のGUID"機器C"に書き換え、このポートの状態を確認済みにする(ステップS508)。
機器Dのポート番号=0の接続情報を更新したら、検索ポートの値を1つ減らす。ここで検索ポートの値が0よりも小さくなったので、次の検索ノードに現在の検索ノードに対する親ノードの物理ID(物理ID=3)を設定する(ステップS212及びS213)。図6より、物理ID=3のポートの接続状態は、ポート番号=2は未接続であり、ポート番号=1は確認済みである。一方でポート番号=0のポート状態は未確認の子接続である。このため、カレントIDの値を1つ減らして1に設定し(ステップS204)、このポートの接続情報を解析する処理に移行する(ステップS504)。
図9に示したGUIDマップより物理ID=3、ポート番号=0には機器Aが接続されているので(ステップS504)、この機器のGUID値である"機器A"を取得し、このポートの状態を確認済みにする(ステップS505)。続いて、カレントIDである物理ID=1の機器に対する親ノードとして物理ID=3を設定した後に(ステップS206)、検索ノードを物理ID=1に設定し(ステップS207)、GUIDマップにおける物理ID=1の機器の情報を更新する処理へ移行する。
新たな検索ノードである物理ID=1のGUID値"機器A"は、図9に示すGUIDマップに記載されている既知の値である(ステップS501)。このため、図9に示すGUIDマップの機器Aに対する物理IDの値を2から検索ノードの値である物理ID=1に書き換える。また、バスリセット発生後に機器情報の更新を行ったノードとして機器Aをチェックする(ステップS503)。この段階でのGUIDマップは図10のようになる。
次に、図6より、検索ノード(物理ID=1)の最大ポート番号であるポート番号=2を検索ポートに設定し(ステップS202)、このポートの接続状態を確認する。図6より、物理ID=1、ポート番号=2の接続状態は親接続であるため、図10に示すGUIDマップの機器Aのポート番号=2の接続情報を、検索ノードである物理ID=1のノードの親ノードである物理ID=3のGUID値"機器C"に書き換え、このポートの状態を確認済みにする(ステップS508)。
物理ID=1、ポート番号=2の接続情報を更新したら、検索ポートの値を1つ減らして1に設定する(ステップS210)。なお、図6より、物理ID=1、ポート番号=1は未接続であるため、検索ポートの値を1つ減らして0に設定する(ステップS203、S208及びS210)。
図6より、物理ID=1、ポート番号=0の接続状態は未確認の子接続であるので、カレントIDの値を1つ減らして0に設定し(ステップS204)、このポートの接続情報を解析する処理に移行する(ステップS504)。
図10に示すGUIDマップより、物理ID=1のポート番号=0には機器Bが接続されているので(ステップS504)、この機器のGUID値である"機器B"を取得し、このポートの状態を確認済みにする(ステップS505)。
続いて、カレントIDである物理ID=0の機器に対する親ノードとして物理ID=1を設定した後に(ステップS206)、検索ノードを物理ID=0に設定し(ステップS207)、GUIDマップにおける物理ID=0の機器の情報を更新する処理へ移行する。
新たな検索ノードである物理ID=0のGUID値"機器B"は、図10に示すGUIDマップに記載されている既知の値である(ステップS501)。このため、図10に示すGUIDマップの機器Bに対する物理IDの値を検索ノードの値である物理ID=0に書き換える。また、バスリセット発生後に機器情報の更新を行ったノードとして機器Bをチェックする(ステップS503)。この段階でのGUIDマップは先ほどと変わらず図10のようになる。
次に、図6より、検索ノード(物理ID=0)の最大ポート番号であるポート番号=1を検索ポートに設定し(ステップS202)、このポートの接続状態を確認する。図6より物理ID=0、ポート番号=1の接続状態は未確認の親接続であるため、図10に示すGUIDマップの機器Bのポート番号=1の接続情報を、現在の検索ノードである物理ID=0のノードの親ノードのGUID値である"機器A"を上書きし、ポートの状態を確認済みにする(ステップS508)。
物理ID=0、ポート番号=1の接続情報を更新したら、検索ポートの値を1つ減らして0に設定する(ステップS210)。なお、図6より、物理ID=0のポート番号=0のポート状態は未接続なので、検索ポートの値をさらに1つ減らす(ステップS203、S208及びS210)。ここで、検索ポートの値が0よりも小さくなったので、検索ノードに現在の検索ノードである物理ID=0に対する親ノードの物理ID=1を設定する(ステップS211、S212及びS213)。
いま、物理ID=1のポート状態は、ポート番号=2は確認済み、ポート番号=1は未接続、ポート番号=0は確認済みとなっている。このため、検索ノードに現在の検索ノードである物理ID=1に対する親ノード、物理ID=3を設定する(ステップS203、S208、S210、S211、S212及びS213)。
物理ID=3のポート状態は全て確認済みであり、また当該ノードはルートノードであって親ノードは存在しない。このため、これですべての検索を終了する(ステップS212)。検索終了後のGUIDマップ(図10)に示されているGUIDは全てバスリセット発生後に機器情報の更新を行った確認済みのGUIDなので、GUIDマップからの切断された機器の情報の削除は行わない(ステップS509)。以上の処理によって、図6に示すIEEE1394バス上のすべての機器のGUIDが明確となる。
このように、GUID、物理ID及び接続情報を関連付けて記憶しておき、バスリセット時には、まず始めにルートノードのGUID取得を行った後に、セルフIDパケットに示されたポートの接続状態と、GUIDマップの接続情報とを照合することにより、ルートノードを起点として全ての機器を一巡する解析のみで、バスリセット後の機器の接続関係を認識することができる。
上述した特許文献1に開示されたバスリセット発生後の機器認識処理、つまり、IEEE1394バスに接続されている機器の接続関係を特定し、各機器の機器情報を取得する処理においては、バスリセット後の機器の接続関係を示す接続情報を作成する処理と、バスリセット前後での接続情報の比較によって各機器の物理IDの変化を特定する処理、の2回の処理においてIEEE1394バスに接続された全ての機器の状態を順次確認する必要がある。このため、機器認識処理に多くの処理量を必要とし、機器認識処理に要する処理時間が増大するという問題がある。
これに対して本実施の形態にかかる機器認識処理は、バス50に接続された機器を一巡する解析を1回だけ行うことにより、バスリセット後の機器の接続関係を認識することができる。このため、機器認識処理に要する手順が簡略化され、機器認識処理に要する時間を削減することが可能となる。
また、上述した従来の機器認識処理では、機器認識のための中間的なデータとして、バスリセット前後における機器の接続関係の変化を示す"変化情報"を作成するために、バスリセット前の接続情報とバスリセット後の接続情報とを別々に保持しておかなければならず、変化情報の作成に際して大きな記憶容量を必要とするという問題がある。これに対して、本実施の形態にかかる機器認識処理は、バスリセット前のGUIDマップを上書き更新していくことによって、バスリセット後の機器の接続情報を示すGUIDマップを生成することができる。このため、バスリセット前の接続情報を示すGUIDマップとバスリセット後の接続情報を示すGUIDマップとを別々に保持しておく必要がなく、機器認識処理に要する記憶容量を削減することができる。
また、実施の形態にかかる機器認識処理において、GUIDの取得を行う対象機器は、ルートノード及びバスリセット前には存在しない新規接続機器のみである。このため、全ての機器に対して一律にGUIDを取得する必要がある特許文献2及び3に開示された方法に比べて、GUIDの取得に要する時間を削減することができる。
上述した本実施の形態1にかかる機器認識装置1は、プログラムを実行するCPU(Central Processing Unit)を用いて実現可能である。具体的な構成例を図11に示す。図11において、IEEE1394ポート17は、IEEE1394バス50と接続されて、他の接続機器とのデータ送受信を担う通信ポートである。上述したセルフIDパケットの収集、GUIDマップの作成、及び新規接続機器の機器情報の取得の各処理を実行するためには、ROM16又はフラッシュメモリ(不図示)等の不揮発性の記憶部に、上述したセルフIDパケットの収集、GUIDマップの作成、及び新規接続機器の機器情報の取得の各処理をCPU14に実行させるためのプログラムを格納しておき、当該プログラムをCPU14で実行することとすればよい。また、記憶手段12に格納されるGUIDマップ、機器情報テーブル等は、RAM15又はフラッシュメモリ(不図示)等の記憶部に格納すればよい。
なお、CPU14が実行するプログラムは、ROM16又はフラッシュメモリ(不図示)等の機器認識装置1内部に存在する記憶部に限らず、様々な種類の記憶媒体に格納することが可能であり、また、通信媒体を介して伝達することが可能である。ここで、記憶媒体には、例えば、フレキシブルディスク、ハードディスク、磁気ディスク、光磁気ディスク、CD−ROM、DVD、バッテリバックアップ付きRAMメモリカートリッジ等を含む。また、通信媒体には、電話回線等の有線通信媒体、マイクロ波回線等の無線通信媒体等を含み、インターネットも含まれる。
また、本実施の形態にかかる機器認識装置1は、IEEE1394のノードとして認識されるIEEE1394対応の通信装置のほか、IEEE1394のノードとして認識されない試験装置として実現することもできる。
発明の実施の形態2.
発明の実施の形態2にかかる機器認識装置は、発明の実施の形態1にかかる機器認識装置1において、図4のステップS15として説明したGUIDマップ作成処理を効率化したものである。なお、本実施の形態にかかる機器認識装置の構成は、図1に示した発明の実施の形態1にかかる機器認識装置1の構成と同様であるため、詳細な説明を省略するとともに、以下の説明において、本実施の形態にかかる機器認識装置の構成に言及する際は、機器認識装置1の構成に付した符号を準用することとする。
図12は、図4のステップS15のGUIDマップ作成処理に相当する本実施の形態にかかる処理手順を示すフローチャートである。本実施の形態では、バスリセットの発生後にセルフIDパケットを取得した後に、まず、バス50に接続された機器が自ノードのみであるか否かを判定する(ステップS21)。上述したように、IEEE1394では、ツリー構造の末端に位置するリーフノードから順に小さいID値が割り当てられ、ルートノードの物理IDが最も大きい値となる。このため、受信したセルフIDパケットから最大の物理ID値を確認すれば、バス上に接続されている機器の台数を確認することができる。具体的には、物理IDの最小値はゼロであるため、ルートノードに相当する最大の物理ID値がバス50に接続されている自機器以外の機器台数を示すことになる。
したがって、ステップS21では、ルートノードの物理IDを確認し、物理ID=0であればバス上に接続されている機器が自機器のみと判定できる。この場合は、GUIDマップの初期化を行う(ステップS22)。
ステップS23では、バスリセット発生前のルートノードの物理IDを確認することにより、バスリセット発生前に接続されていた機器が自機器のみであるか否かを判定する。具体的には、バスリセット発生前のルートノードの物理IDが0であった場合、バスリセット発生前にバス50に接続されていた機器が自機器のみであり、他の機器は全て新規接続機器であると判定できる。
バスリセット発生前にバス50に接続されていた機器が自機器のみであり、他の機器は全て新規接続機器であると判定した場合、バス50に接続された機器の接続情報の作成を行う(ステップS24)。このとき、接続情報の作成は、図21に示した従来技術の接続情報作成手順に則って行えばよい。次に、バス50に接続されている全ての接続機器のGUIDをアシンクロナス通信にて取得する(ステップS25)。続いて、取得したGUIDを、ステップS24で作成した接続情報の物理IDに対応付けて記憶することにより、バスリセット後のGUIDマップを作成することができる(ステップS26)。
ステップS23において、バスリセット発生前にバス50に接続されていた機器が自機器のみでないと判定した場合、バスリセット発生前のルートノードの物理IDと、バスリセット発生後のルートノードの物理IDを比較することにより、バスリセット後にバス50への接続機器数が増加しているか否かを判定する(ステップS27)。具体的には、バスリセット発生後のルートノードの物理IDが、バスリセット発生前のルートノードの物理IDよりも値が大きければ、接続機器の台数が増加したことを判定できる。
接続機器の増加は、新規接続機器が存在することを示すため、この場合は、図4のフローチャートに示した発明の実施の形態1と同様の手順によってGUIDマップを作成する(ステップS28)。
一方、バスリセット発生前とバスリセット発生後のルートノードの物理IDが同じ場合、又はバスリセット発生前のルートノードの物理IDがバスリセット発生後のルートノードの物理IDより大きい場合は、接続機器に変化がないか、又はバス上の接続機器が切断され、接続機器数が減少したことを意味する。この場合、バス50に接続されている機器は全てバスリセット発生前から接続されている機器であるから、図4のフローチャートにおけるステップS501の検索ノードのGUIDが既知か否かを判定する処理、及びS504の検索ポートは従来接続か否かを判定する処理は不要となる。このため、これらの処理を省略することによって図4のフローチャートを簡略化した図13のフローチャートによる処理によって、バスリセット後のGUIDマップを作成することができる(ステップS29)。なお、図13のフローチャートの各ステップの処理内容は、図4のフローチャートと同様であるため、対応するステップに同一の符号を付して詳細な説明を省略する。
上述した発明の実施の形態1では、バス50に接続されている機器の増減にかかわらず、同一の処理手順に則ってGUIDマップを作成する場合を示した。これに対して本実施の形態では、最初に、バスリセット前後でのルートノードの物理IDの変化を確認することによって、バス50に接続されている機器数の増減を判定している、さらに、接続機器数が減少している場合には、GUIDマップを作成する処理の手順を簡略化している。このため、GUIDマップの作成処理を効率良く行うことができる。
発明の実施の形態3.
本実施の形態にかかる機器認識装置は、発明の実施の形態1にかかる機器認識装置1において、記憶手段12に格納するGUIDマップのデータ構造を変更したものである。なお、本実施の形態にかかる機器認識装置の構成は、図1に示した発明の実施の形態1にかかる機器認識装置1の構成と同様であるため、詳細な説明を省略するとともに、以下の説明において、本実施の形態にかかる機器認識装置の構成に言及する際は、機器認識装置1の構成に付した符号を準用することとする。
上述したように、GUIDのデータ長は64ビットである。このため、機器認識装置1が記憶手段12に保持するGUIDマップのように、GUID及び各ポートの接続情報を記憶するためにGUID値を直接格納してしまうと、GUIDマップの記憶に大きな記憶領域を要することになる。そこで、図14(b)に示すような、GUIDと、GUIDのデータ長より小さい管理番号とを対応付けたGUID管理テーブルを用意しておき、GUIDマップのGUID及び各ポートの接続情報には、GUID管理テーブルの管理番号を使用するとよい。このようなGUIDマップの例を図14(a)に示す。このような構成によって、発明の実施の形態1の機器認識装置1に比べて、GUIDマップをより小さな記憶領域で保持することができる。
なお、上述した発明の実施の形態1乃至3では、IEEE1394バスに接続された機器のトポロジ、つまり各機器の接続関係及び各機器の詳細な機器情報を認識する装置に本発明を適用した。しかしながら、本発明は、IEEE1394バスに限らず、IEEE1394と同様のツリー構造のバスアーキテクチャを有し、ネットワーク構成によって動的に変更される物理IDによるアドレッシングを行うような他のネットワークに対しても適用可能である。
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
発明の実施の形態1にかかる機器認識装置の構成図である。 発明の実施の形態1にかかる機器認識装置が生成するGUIDマップの構造を示す図である。 発明の実施の形態1にかかる機器認識装置が行う機器認識処理の手順を示すフローチャートである。 発明の実施の形態1にかかる機器認識装置が行うGUIDマップ作成処理の手順を示すフローチャートである。 GUIDマップ作成処理の具体例を説明するためのネットワーク構成図である。 GUIDマップ作成処理の具体例を説明するためのネットワーク構成図である。 GUIDマップ作成処理におけるGUIDマップの更新を説明するための図である。 GUIDマップ作成処理によるGUIDマップの更新を説明するための図である。 GUIDマップ作成処理によるGUIDマップの更新を説明するための図である。 GUIDマップ作成処理によるGUIDマップの更新を説明するための図である。 発明の実施の形態1にかかる機器認識装置の具体的構成を示す図である。 発明の実施の形態1にかかる機器認識装置が行うGUIDマップ作成処理の手順を示すフローチャートである。 発明の実施の形態1にかかる機器認識装置が行うGUIDマップ作成処理の手順を示すフローチャートである。 発明の実施の形態3にかかるGUIDマップ及びGUID管理テーブルの構成を示す図である。 IEEE1394バスへの機器の接続を示す概念図である。 IEEE1394バスに接続された機器のポート接続状態と物理IDとの関係を説明するための図である。 従来の機器認識装置の構成図である。 従来の機器認識装置が行う機器認識処理を示すフローチャートである。 接続情報の一例を示す図である。 変化情報の一例を示す図である。 従来の機器認識装置が行う接続情報作成処理を示すフローチャートである。 従来の機器認識装置が行う変化情報作成処理を示すフローチャートである。 従来の機器認識装置が行う機器情報取得処理を示すフローチャートである。
符号の説明
1、2 機器認識装置
10 収集手段
11 GUIDマップ作成手段
12 記憶手段
13 取得手段
14 CPU
15 RAM
16 ROM
17 IEEE1394ポート
3a〜3d IEEE1394接続機器
50 IEEE1394バス

Claims (20)

  1. ネットワークに接続された複数の通信装置の各々に固有の識別子であるGUID、前記複数の通信装置の各々を識別する識別子であってネットワーク構成に応じて変化する物理ID、及び前記複数の通信装置の接続情報を記録したマップ情報によって、前記ネットワークに接続された前記複数の通信装置の接続関係を管理する管理方法であって、
    前記ネットワークの構成変更が発生した場合に、前記ネッワークに接続されている複数の通信装置の物理ID、及びこれらの通信装置が有する通信ポートの接続状態を含む構成情報を取得し、
    前記ネットワークの構成変更後に前記ネッワークに接続されている基準装置のGUIDを取得し、
    前記基準装置が有する通信ポートを起点として、前記基準装置のGUID、前記構成情報及び前記マップ情報に基づいて、前記複数の通信装置が有する各通信ポートに接続された通信装置が前記ネットワークの構成変更の前後で変化しているか否かを順次判定し、接続された通信装置が変化していると判定した通信ポートに関する情報を順次更新することによって、前記ネットワークの構成変更後のマップ情報を生成する、通信装置の管理方法。
  2. 前記基準装置から取得したGUIDが前記マップ情報に含まれるか否かを判定し、
    前記マップ情報に含まれる場合は、前記マップ情報において当該GUIDに対応付けて記録された物理IDを前記基準装置の物理IDによって更新し、
    前記マップ情報に含まれない場合は、前記基準装置のGUIDと物理IDとを対応付けて前記マップ情報に追加記録する、請求項1に記載の方法。
  3. 前記ネットワークの構成変更後のマップ情報の生成は、
    前記構成情報において他の通信装置と接続された状態にある通信ポートが前記ネットワークの構成変更前にも接続された状態にあると判定した場合は、前記マップ情報において当該通信ポートの対向装置に指定されている通信装置のGUIDに対応付けて記憶された物理IDを更新するとともに、前記マップ情報における当該通信ポートの接続情報を更新し、
    前記構成情報において他の通信装置と接続された状態にある通信ポートが前記ネットワークの構成変更前は未接続の状態であると判定した場合は、当該通信ポートに接続された対向装置に対してGUIDの送信を要求し、受信したGUIDと送信元の物理IDを対応付けて前記マップ情報に追加記録するとともに、前記マップ情報における当該通信ポートの接続情報を更新することにより行う、請求項1又は2に記載の方法。
  4. 前記ネットワークはIEEE1394シリアルバスであり、
    前記構成情報は、IEEE1394シリアルバスのバスリセットに応じて前記複数の通信装置が送信するセルフIDパケットである請求項1乃至3のいずれかに記載の方法。
  5. 前記基準装置は、IEEE1394シリアルバスにおいて最大の物理IDを有するルートノードである請求項4に記載の方法。
  6. 前記マップ情報は、GUIDとGUIDのデータ長より小さい管理番号とを対応付けたGUID管理テーブル、及び、管理番号と物理IDと接続情報を対応付けたマップテーブルによって構成される請求項1に記載の方法。
  7. 前記構成情報の取得後に、前記ネットワークに接続されている通信装置が1台のみであるか否かを前記構成情報に基づいて判定し、前記ネットワークに接続されている通信装置が1台のみと判定した場合は、前記基準装置のGUID取得以降の処理を行わない請求項1に記載の方法。
  8. 前記構成情報の取得後に、前記ネットワークに接続されている通信装置が前記ネットワークの構成変更前に比べて増加しているか否かを前記構成情報に基づいて判定し、増加していないと判定した場合は、前記構成情報において対向装置と接続された状態にある通信ポートが、一律に、前記ネットワークの構成変更の前にも接続された状態であるとみなして前記マップ情報の更新を行う請求項1に記載の方法。
  9. ネットワークに接続された複数の通信装置の各々に固有の識別子であるGUID、前記複数の通信装置の各々を識別する識別子であってネットワーク構成に応じて変化する物理ID、及び前記複数の通信装置の接続情報を含むマップ情報を記憶する記憶手段と、
    前記ネットワークの構成変更が発生した場合に、前記ネッワークに接続されている複数の通信装置の物理ID、及びこれらの通信装置が有する通信ポートの接続状態を含む構成情報を取得する取得手段と、
    前記構成情報に基づいて、前記マップ情報を更新するマップ生成手段とを備え、
    前記マップ生成手段は、
    前記ネットワークの構成変更後に前記ネッワークに接続されている基準装置のGUIDを取得し、
    前記基準装置が有する通信ポートを起点として、前記基準装置のGUID、前記構成情報及び前記マップ情報に基づいて、前記複数の通信装置が有する各通信ポートに接続された通信装置が前記ネットワークの構成変更の前後で変化しているか否かを順次判定し、接続された通信装置が変化していると判定した通信ポートに関する情報を順次更新することによって、前記ネットワークの構成変更後のマップ情報を生成する、機器認識装置。
  10. 前記マップ生成手段は、
    前記基準装置から取得したGUIDが前記マップ情報に含まれるか否かを判定し、
    前記マップ情報に含まれる場合は、前記マップ情報において当該GUIDに対応付けて記録された物理IDを前記基準装置の物理IDによって更新し、
    前記マップ情報に含まれない場合は、前記基準装置のGUIDと物理IDとを対応付けて前記マップ情報に追加記録する、請求項9に記載の機器認識装置。
  11. 前記ネットワークの構成変更後のマップ情報の生成は、
    前記構成情報において他の通信装置と接続された状態にある通信ポートが前記ネットワークの構成変更前にも接続された状態にあると判定した場合は、前記マップ情報において当該通信ポートの対向装置に指定されている通信装置のGUIDに対応付けて記憶された物理IDを更新するとともに、前記マップ情報における当該通信ポートの接続情報を更新し、
    前記構成情報において他の通信装置と接続された状態にある通信ポートが前記ネットワークの構成変更前は未接続の状態であると判定した場合は、当該通信ポートに接続された対向装置に対してGUIDの送信を要求し、受信したGUIDと送信元の物理IDを対応付けて前記マップ情報に追加記録するとともに、前記マップ情報における当該通信ポートの接続情報を更新することにより行う、請求項9又は10に記載の機器認識装置。
  12. 前記機器認識装置は、前記複数の通信装置とは別に前記ネットワークに接続された装置である請求項9に記載の機器認識装置。
  13. 前記ネットワークはIEEE1394シリアルバスであり、
    前記構成情報は、IEEE1394シリアルバスのバスリセットに応じて前記複数の通信装置が送信するセルフIDパケットである請求項9乃至11のいずれかに記載の機器認識装置。
  14. 前記基準装置は、IEEE1394シリアルバスにおいて最大の物理IDを有するルートノードである請求項13に記載の機器認識装置。
  15. 前記マップ情報は、GUIDとGUIDのデータ長より小さい管理番号とを対応付けたGUID管理テーブル、及び、管理番号と物理IDと接続情報を対応付けたマップテーブルによって構成される請求項9に記載の機器認識装置。
  16. 前記マップ生成手段は、前記ネットワークに接続されている通信装置が1台のみであるか否かを前記構成情報に基づいて判定し、前記ネットワークに接続されている通信装置が1台のみと判定した場合は、前記基準装置のGUID取得以降の処理を行わない請求項9に記載の機器認識装置。
  17. 前記マップ生成手段は、前記ネットワークに接続されている通信装置が前記ネットワークの構成変更前に比べて増加しているか否かを前記構成情報に基づいて判定し、増加していないと判定した場合は、前記構成情報において対向装置と接続された状態にある通信ポートが、一律に、前記ネットワークの構成変更の前にも接続された状態であるとみなして前記マップ情報の更新を行う請求項9に記載の機器認識装置。
  18. コンピュータを、
    ネットワークに接続された複数の通信装置の各々に固有の識別子であるGUID、前記複数の通信装置の各々を識別する識別子であってネットワーク構成に応じて変化する物理ID、及び前記複数の通信装置の接続情報を含むマップ情報を記憶する記憶手段、
    前記ネットワークの構成変更が発生した場合に、前記ネッワークに接続されている複数の通信装置の物理ID、及びこれらの通信装置が有する通信ポートの接続状態を含む構成情報を取得する取得手段、及び、
    前記構成情報に基づいて前記マップ情報を更新するマップ生成手段として機能させるプログラムであって、
    前記マップ生成手段は、
    前記ネットワークの構成変更後に前記ネッワークに接続されている基準装置のGUIDを取得し、
    前記基準装置が有する通信ポートを起点として、前記基準装置のGUID、前記構成情報及び前記マップ情報に基づいて、前記複数の通信装置が有する各通信ポートに接続された通信装置が前記ネットワークの構成変更の前後で変化しているか否かを順次判定し、接続された通信装置が変化していると判定した通信ポートに関する情報を順次更新することによって、前記ネットワークの構成変更後のマップ情報を生成する、プログラム。
  19. 前記マップ生成手段は、
    前記基準装置から取得したGUIDが前記マップ情報に含まれるか否かを判定し、
    前記マップ情報に含まれる場合は、前記マップ情報において当該GUIDに対応付けて記録された物理IDを前記基準装置の物理IDによって更新し、
    前記マップ情報に含まれない場合は、前記基準装置のGUIDと物理IDとを対応付けて前記マップ情報に追加記録する、請求項18に記載のプログラム。
  20. 前記ネットワークの構成変更後のマップ情報の生成は、
    前記構成情報において他の通信装置と接続された状態にある通信ポートが前記ネットワークの構成変更前にも接続された状態にあると判定した場合は、前記マップ情報において当該通信ポートの対向装置に指定されている通信装置のGUIDに対応付けて記憶された物理IDを更新するとともに、前記マップ情報における当該通信ポートの接続情報を更新し、
    前記構成情報において他の通信装置と接続された状態にある通信ポートが前記ネットワークの構成変更前は未接続の状態であると判定した場合は、当該通信ポートに接続された対向装置に対してGUIDの送信を要求し、受信したGUIDと送信元の物理IDを対応付けて前記マップ情報に追加記録するとともに、前記マップ情報における当該通信ポートの接続情報を更新することにより行う、請求項18又は19に記載のプログラム。
JP2006104824A 2006-04-06 2006-04-06 ネットワークに接続された通信装置の管理方法、機器認識装置及びコンピュータプログラム Expired - Fee Related JP4890916B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006104824A JP4890916B2 (ja) 2006-04-06 2006-04-06 ネットワークに接続された通信装置の管理方法、機器認識装置及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006104824A JP4890916B2 (ja) 2006-04-06 2006-04-06 ネットワークに接続された通信装置の管理方法、機器認識装置及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2007281839A JP2007281839A (ja) 2007-10-25
JP4890916B2 true JP4890916B2 (ja) 2012-03-07

Family

ID=38682842

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006104824A Expired - Fee Related JP4890916B2 (ja) 2006-04-06 2006-04-06 ネットワークに接続された通信装置の管理方法、機器認識装置及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP4890916B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5082901B2 (ja) * 2008-02-07 2012-11-28 日産自動車株式会社 車載通信システムおよび車載通信制御方法
JP5671327B2 (ja) * 2010-03-31 2015-02-18 キヤノン株式会社 通信処理装置および通信処理方法
JP5618805B2 (ja) * 2010-12-10 2014-11-05 スパンションエルエルシー 通信装置、ネットワークシステム及び通信方法
WO2014076842A1 (ja) * 2012-11-19 2014-05-22 富士通株式会社 情報処理装置、プログラムおよびログ出力方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07250070A (ja) * 1994-03-14 1995-09-26 Matsushita Electric Ind Co Ltd データ通信装置
JPH11196110A (ja) * 1998-01-05 1999-07-21 Yokogawa Electric Corp トポロジー認識装置
JP4218132B2 (ja) * 1999-06-11 2009-02-04 ソニー株式会社 電子機器およびその接続状況の検出方法
JP2003134121A (ja) * 2001-10-25 2003-05-09 Mitsubishi Electric Corp デジタルデータの処理方法およびプログラム

Also Published As

Publication number Publication date
JP2007281839A (ja) 2007-10-25

Similar Documents

Publication Publication Date Title
US7185072B2 (en) Topology information automatic configuration method and its topology information automatic configuration system
US7756961B2 (en) Hardware device and method for creation and management of toe-based socket information
JP4890916B2 (ja) ネットワークに接続された通信装置の管理方法、機器認識装置及びコンピュータプログラム
CN1777118B (zh) 用于非法机器的连接位置确定装置的方法及设备
CN115552859A (zh) 网络拓扑构建方法、装置和计算机可读介质
CN108337739A (zh) 建立无线调试连接的方法及装置、数据处理方法
US20070088854A1 (en) Apparatus for searching TCP and UDP sockets
CN112165505B (zh) 去中心化的数据处理方法、电子装置和存储介质
CN106789695B (zh) 报文处理方法及装置
CN110858810A (zh) 网络链路状态监测方法、设备、系统及介质
CN102298560A (zh) 设备管理装置、设备管理方法和设备管理系统
JP2008521314A (ja) 必要性を判別するための方法、装置、ソフトウェア
CN115987865A (zh) 一种路由代码生成方法、装置、矩阵检测方法及储存介质
CN114465904A (zh) 网络拓扑构建方法和计算设备
CN114817242A (zh) 一种储能设备入库方法及系统
CN115174414A (zh) 自动识别会话中设备、设备路径的方法、系统及电子设备
JP2005051661A (ja) 無線lan端末
CN112866011A (zh) 网络拓扑结构的确定方法、装置、设备和介质
JPH09321760A (ja) 経路情報監視方法及びシステム
CN101616092B (zh) 一种路由发现的方法和装置
JPWO2006090714A1 (ja) 情報中継装置、情報中継方法及び情報中継用プログラム並びに情報記録媒体
US20240015038A1 (en) Control method, non-transitory computer-readable recording medium storing control program, and information processing device
CN112688805B (zh) 芯片集群的拓扑结构的枚举方法和装置
CN117424848B (zh) 基于机器学习的节点调用优化方法、系统、设备及介质
CN114422554B (zh) 基于分布式物联网的服务区智能设备管理方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090311

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110719

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110811

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111213

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111215

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141222

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees