JP4252611B2 - 通信監視装置、通信監視方法、通信監視プログラムおよび記録媒体 - Google Patents
通信監視装置、通信監視方法、通信監視プログラムおよび記録媒体 Download PDFInfo
- Publication number
- JP4252611B2 JP4252611B2 JP2007510339A JP2007510339A JP4252611B2 JP 4252611 B2 JP4252611 B2 JP 4252611B2 JP 2007510339 A JP2007510339 A JP 2007510339A JP 2007510339 A JP2007510339 A JP 2007510339A JP 4252611 B2 JP4252611 B2 JP 4252611B2
- Authority
- JP
- Japan
- Prior art keywords
- network
- gap
- control value
- communication control
- count
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40078—Bus configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
- H04L43/065—Generation of reports related to network devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40117—Interconnection of audio or video/imaging devices
Description
【技術分野】
【0001】
この発明は、ネットワークの通信状態を監視する通信監視装置、通信監視方法、通信監視プログラムおよび記録媒体に関する。ただし、この発明の利用は、上述した通信監視装置、通信監視方法、通信監視プログラムおよび記録媒体に限られない。
【背景技術】
【0002】
従来、主にマルチメディアデータ転送のためのインターフェースとして、IEEE1394規格のシリアルバス(以下、IEEE1394バスという)が用いられている。IEEE1394バスは、高速データ転送が可能であり、ホストとなる機器を必要とせず、機器の動作中においても接続・切断を自由におこなうことができるなどの特徴を有する。IEEE1394規格には、従来から用いられてきたIEEE1394−1995、IEEE1394a、およびIEEE1394aを改良させたIEEE1394bが存在する。
【0003】
IEEE1394規格では、接続されているいずれの機器(ノード)も通信をおこなってはならないアイドル時間(Gap)があり、アイドル時間の元となる値をGap_Countという。たとえば、あるノードから同じ1394バスに接続されている他のノードにデータを送信した場合、受信側で正しくデータが受理されたかどうかを確認するためにアクノリッジパケット(ACK)を送り返す必要がある。データを送信してからACKが返ってくるまでの間、他のノードは通信の邪魔をしてはならず、ある一定時間待機しなければならない。
【0004】
このときの待機時間をACKnowledge_Gapといい、Gap_Countの値を基準にしてACKnowledge_Gapを示す時間が決定される。Gap_Count値は、バスのトポロジによって異なるものであり、バスのトポロジに変化が生じると、各ノードに対してGap_Count値の再設定がおこなわれる。Gap_Countの設定は、バス上でバスマネージャになったノード、また、バス上にバスマネージャが存在しない場合はIRM(Isochronous Resource Manager)によっておこなわれる。以下、このようにGap_Countの設定をおこなうノードをGap_Count設定ノードという。
【0005】
Gap_Count設定ノードは、Gap_Count値を算出し、算出したGap_Count値を各ノードに設定するパケット(PHY configuration packet)をブロードキャストする。各ノードは、受信したGap_Count値をPHYレジスタに設定する。そして、各ノードがバスリセット信号を受信することによって、PHYレジスタに設定したGap_Count値が有効になる。
【0006】
Gap_Countの設定が適切におこなわれていない場合、たとえば、Gap_Count値が小さすぎる場合は、ACKが返る前に他のノードが通信を始めてしまう可能性があるので、バスの動作が不安定になってしまう。一方、Gap_Count値が大きすぎる場合は、必要以上に待機することになるので、機器のスループットが下がってしまう。このため、各ノードに設定されたGap_Countが等しい値であるかを確認することによって、Gap_Countの設定が適切におこなわれたかを判断する技術が考案されている(たとえば、下記特許文献1および2参照。)。
【0007】
【特許文献1】
特開平10−285236号公報
【特許文献2】
特開平11−331214号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、前述した先行技術によれば、すべてのノードに同じGap_Count値が設定されているかを確認することはできるものの、設定されたGap_Count値で、正常なデータ通信をおこなうことができるかは判断することができない。たとえば、IEEE1394b準拠のノードからなるネットワークにIEEE1394−1995、IEEE1394a準拠のいずれかのノードが少なくとも一つ含まれるネットワーク(以下、1394混在ネットワークという)において、IEEE1394b以外のノードがGap_Count設定ノードになった場合、IEEE1394−1995やIEEE1394aバスのみに対応したGap_Count算出方法が用いられる可能性がある。
【0009】
ここで、IEEE1394−1995やIEEE1394aバスのみに対応したGap_Count算出方法とは、ホップ数(二つのノード間の経路で使用したケーブルの数)による算出方法や、あらかじめ定数として宣言する方法などである。たとえば、ホップ数による算出方法は、バス上で最も長いパス(経路)のホップ数を求めて、規格に定められた表(以下、Gap_Countテーブルという)から対応するホップ数のGap_Countを参照する。
【0010】
Gap_Countは、最も長いパスを使ってデータ伝送したときの伝搬時間から求められる。IEEE1394−1995やIEEE1394aはケーブルの長さが4.5mまでという制限があり、かつ、使用するケーブルの種類が限られている。このため、1ホップでデータ伝送したときの伝搬時間を定数として定めることができる。そこで、ホップ数ごとにGap_Countを算出し、Gap_Countテーブルを作成することができる。
【0011】
Gap_Count設定ノードは、バスリセットが発生すると接続の中で最も長いパスのホップ数を調べ、そのホップ数に対応するGap_CountをGap_Countテーブルから参照し、各ノードに設定する。しかし、このテーブルはIEEE1394−1995やIEEE1394aノードのみがバス上に存在することが前提で作成されており、IEEE1394bノードについては考慮されていない。このため、1394混在ネットワークにおいて、適切なGap_Countの設定をおこなうことができないという問題が一例として挙げられる。
【0012】
また、1394混在ネットワークにおいては、バス上にIEEE1394bノードも存在するため、「最も長いパス」=「ホップ数の最も多いパス」であるとは限らない。仮に、偶然「最も長いパス」=「ホップ数の最も多いパス」であったとしても、Gap_CountテーブルはIEEE1394−1995やIEEE1394aノードのみからなるパスを前提として作成されているため、パスの途中にIEEE1394bノードが存在した場合のGap_Countとは異なる値となる可能性が高い。このように、1394混在ネットワークにおいては、不正なGap_Count値が設定される可能性があるという問題が一例として挙げられる。
【0013】
また、このように不適切なGap_Countが設定されたままでネットワークの使用を続けると、ネットワークの動作が不安定になったり、機器のスループットが下がってしまうという問題が一例として挙げられる。
【0014】
この発明は、上述した従来技術による問題点を解消するため、不適切な通信制御値が設定されるのを防止することができる通信監視装置、通信監視方法、通信監視プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0015】
上述した課題を解決し、目的を達成するため、請求項1の発明にかかる通信監視装置は、IEEE1394シリアルバスを用いて複数の機器が接続されたネットワークを監視する通信監視装置であって、前記ネットワークにおける他の機器が決定または管理する通信制御値に関する情報を取得する取得手段と、前記ネットワークに適合した前記通信制御値を算出する算出手段と、前記算出手段によって算出された通信制御値と、前記取得手段によって取得された通信制御値に関する情報とを比較して、前記通信制御値に関する情報が前記ネットワークに適合しているか否かを判断する判断手段と、前記判断手段による判断結果を通知する通知手段と、備えることを特徴とする。また、請求項4の発明にかかる通信監視装置は、IEEE1394シリアルバスを用いて複数の機器が接続されたネットワークを監視する通信監視装置であって、前記ネットワークにおける他の機器が決定または管理する通信制御値に関する情報を取得する取得手段と、前記取得手段によって取得された通信制御値に関する情報に基づいて、前記通信制御値に関する情報が前記ネットワークに適合しているか否かを判断する判断手段と、前記判断手段による判断結果を通知する通知手段と、を備え、前記取得手段は、前記通信制御値に関する情報として前記ネットワークにおけるGap_Count値を決定する機器に関する情報を取得することを特徴とする。
[0016]
また、請求項10にかかる通信監視方法は、IEEE1394シリアルバスを用いて複数の機器が接続されたネットワークを監視する通信監視方法であって、前記ネットワークにおける他の機器が決定または管理する通信制御値に関する情報を取得する取得工程と、前記ネットワークに適合した前記通信制御値を算出する算出工程と、前記算出工程で算出された通信制御値と、前記取得工程で取得された通信制御値に関する情報とを比較して、前記通信制御値に関する情報が前記ネットワークに適合しているか否かを判断する判断工程と、前記判断工程による判断結果を通知する通知工程と、を含むことを特徴とする。また、請求項11にかかる通信監視方法は、IEEE1394シリアルバスを用いて複数の機器が接続されたネットワークを監視する通信監視方法であって、前記ネットワークにおける他の機器が決定または管理する通信制御値に関する情報を取得する取得工程と、前記取得工程で取得された通信制御値に関する情報に基づいて、前記通信制御値に関する情報が前記ネットワークに適合しているか否かを判断する判断工程と、前記判断工程による判断結果を通知する通知工程と、を含み、前記取得工程は、前記通信制御値に関する情報として前記ネットワークにおけるGap_Count値を決定する機器に関する情報を取得することを特徴とする。
[0017]
また、請求項12にかかる通信監視プログラムは、請求項10または11に記載の通信監視方法をコンピュータに実行させることを特徴とする。
[0018]
また、請求項13にかかる記録媒体は、請求項12に記載の通信監視プログラムを記録したことを特徴とする。
【図面の簡単な説明】
[0019]
[図1]図1は、実施の形態にかかる通信監視装置の機能的構成を示すブロック図である。
[図2]図2は、通信監視装置の通信監視処理の手順を示すフローチャートである。
[図3]図3は、実施例にかかる通信監視装置が監視するネットワークの構成機器を示す図である。
[図4]図4は、図3に示したネットワークの構成を模式的に示した図である。
[図5]図5は、Gap_Count設定ノードがおこなうGap_Count設定処理の手順を示すフローチャートである。
[図6]図6は、監視ノードがおこなうGap_Countの監視処理の手順を示すフローチャートである。
【図7】図7は、監視ノードがおこなうGap_Countの監視処理の手順を示すフローチャートである。
【図8】図8は、ユーザへの警告を示す表示画面の一例を示す図である。
【図9】図9は、ユーザへの警告を示す表示画面の一例を示す図である。
【図10】図10は、ユーザへの警告を示す表示画面の一例を示す図である。
【符号の説明】
【0020】
100 通信監視装置
111 取得部
112 判断部
113 通知部
114 算出部
115 機器特定部
116 切断部
121 IEEE1394bに対応した機器
122 IEEE1394bに対応していない機器
130 ネットワーク
【発明を実施するための最良の形態】
【0021】
以下に添付図面を参照して、本発明にかかる通信監視装置、通信監視方法、通信監視プログラムおよび記録媒体の好適な実施の形態を詳細に説明する。
【0022】
(実施の形態)
(通信監視装置100の機能的構成)
図1は、実施の形態にかかる通信監視装置の機能的構成を示すブロック図である。実施の形態にかかる通信監視装置100は、IEEE1394シリアルバスを用いて複数の機器が接続されたネットワーク130を監視する。ネットワーク130は1394混在ネットワークであり、IEEE1394bに対応した機器121およびIEEE1394bに対応していない機器122がそれぞれ少なくとも1つずつ接続される。通信監視装置100は、取得部111、判断部112、通知部113、算出部114、機器特定部115、切断部116によって構成される。
【0023】
取得部111は、ネットワーク130における他の機器が決定または管理する通信制御値に関する情報を取得する。通信制御値に関する情報とは、たとえば、ネットワーク130におけるGap_Count値や、Gap_Count値の設定のために送信されるPHYパケットの発行の有無や、Gap_Count値が記述されているSelf_IDパケットの発行の有無、前記Self_IDパケットの発行を促すためのPingパケット発行の有無、Gap_Count設定ノードの機器情報(Gap_Count設定ノードがIEEE1394bに対応している機器であるか否かの情報も含む)などである。また、通信制御値に関する情報には、通信制御値そのものを含むものとする。
【0024】
判断部112は、取得部111によって取得された通信制御値に関する情報に基づいて、通信制御値に関する情報がネットワーク130に適合しているか否かを判断する。判断部112は、たとえば、IEEE1394bに対応していない機器122によって通信制御値が決定された場合に、通信制御値に関する情報がネットワーク130に適合しないと判断する。
【0025】
または後述する算出部114によって算出された通信制御値と、取得部111によって取得された通信制御値に関する情報とを比較して、ネットワーク130における他の機器が決定または管理する通信制御値に関する情報がネットワーク130に適合しているか否かを判断する。また、たとえば、特定の値が通信制御値として設定された場合には、通信制御値に関する情報がネットワーク130に適合しないと判断することとしてもよい。
【0026】
通知部113は、判断部112による判断結果を通知する。通知部113による通知は、たとえば、表示画面へのメッセージ表示やアニメ、音声などである。また、ネットワーク130に接続された他の機器に前述のような通知の出力をおこなわせるための制御信号を出力するものであってもよい。
【0027】
算出部114は、ネットワーク130に適合した通信制御値を算出する。算出部114は、たとえば、ネットワーク130に接続された各機器にPingパケットを送信し、送信したPingパケットへの返答として各機器から送信されるSelf_IDパケットを受信するまでの時間に基づいて、通信制御値を算出する。
【0028】
機器特定部115は、判断部112によって通信制御値に関する情報がネットワーク130に適合しないと判断された場合に、その原因となる機器を特定する。機器特定部115によって、原因となる機器が特定された場合、通知部113は、機器特定部115によって特定された機器に関する情報を報知する。具体的には、たとえば、機器の名称や識別番号、これらの機器の取り外しを求めるメッセージを表示する。
【0029】
切断部116は、機器特定部115によって特定された機器とネットワーク130との接続を切断する。切断部116は、たとえば、機器特定部115によって特定された機器に対して、Remote command packetを送信し、他の機器と接続されているポートを停止させる。
【0030】
(通信監視装置100の通信監視処理)
図2は、通信監視装置の通信監視処理の手順を示すフローチャートである。まず、取得部111によって、ネットワーク130における他の機器が決定または管理する通信制御値に関する情報を取得する(ステップS201)。つぎに、算出部114によって、ネットワーク130に適合した通信制御値を算出する(ステップS202)。そして、判断部112によって、ステップS201で取得した通信制御値に関する情報と、ステップS202で算出した通信制御値とを比較する(ステップS203)。
【0031】
判断部112は、ステップS203でおこなった比較の結果から、ネットワーク130における他の機器が決定または管理する通信制御値に関する情報がネットワーク130に適合しているかを判断する(ステップS204)。ネットワーク130に適合している場合は(ステップS204:Yes)、特に処理をおこなわずに本フローチャートによる処理を終了する。
【0032】
一方、ネットワーク130に適合していない場合は(ステップS204:No)、機器特定部115によって原因となる機器を特定する(ステップS205)。そして、通知部113によって、ステップS205で特定された機器に関する情報を報知する(ステップS206)。また、特定された機器とネットワーク130との接続を切断して(ステップS207)、本フローチャートによる処理を終了する。
【0033】
以上説明したように、実施の形態にかかる通信監視装置100によれば、IEEE1394シリアルバスを用いて複数の機器が接続されるネットワーク130において、設定された通信制御値に関する情報がネットワーク130に適合しているかを判断することができる。通信制御値に関する情報がネットワーク130におけるGap_Count値である場合、ネットワーク130が不安定となったり、スループットが低下するのを防止したりすることができる。
【0034】
また、不正な値が通信制御値に設定された場合、または設定される可能性がある場合に、ユーザにその旨を通知することができる。さらに、通信制御値に関する情報がネットワーク130に適合しないと判断された場合に、その原因となる機器を通知したり、ネットワーク130との接続を切断したりすることによって、不正な通信制御値が設定されるのを防止することができる。
【実施例】
【0035】
(通信監視装置の構成機器)
図3は、実施例にかかる通信監視装置が監視するネットワークの構成機器を示す図である。実施例にかかる通信監視装置は、車内に設置された機器を接続する車内ネットワークを監視する。車内には、ナビゲーション装置301、カーステレオ302、ETCユニット303が設置されている。本実施例において、通信監視装置はナビゲーション装置301に設けられているものとする。また、通信監視装置が監視する通信制御値はGap_Count値とする。
【0036】
なお、本実施例においては、通信監視装置はナビゲーション装置301やカーステレオ302などの車載機器をつなぐ車内ネットワークを監視するものとしたが、本発明の利用はこれに限るものではない。たとえば、家庭用電化製品どうしの接続や、車載装置と家電製品との接続にも用いることができる。
【0037】
ナビゲーション装置301は、実施例にかかる通信監視装置を含み、車内ネットワークにおけるGap_Count値を監視する。また、目的地までの経路を探索し、走行中に経路の誘導をおこなう。さらに、ナビゲーション装置301は、地図情報や周辺の施設情報などが記憶された記憶媒体を有しており、余った記憶領域に音楽データなどを蓄積することができる。
【0038】
図示した例では、ナビゲーション装置301の表示画面301aには、車両後方の様子が表示されている。これは、車両の後部に取り付けられているバックカメラ(図示せず)によって撮影された映像を、表示画面301aに表示しているものである。ユーザはバックカメラからの映像によって、後方の安全確認をおこなうことができる。なお、ナビゲーション装置301とバックカメラは、IEEE1394バスによって接続されている。
【0039】
カーステレオ302は、CDやMDなどに記録された音楽データを再生し、図示しないスピーカから音声出力させる。ETCユニット303は、ETC情報の処理部、ETCカード挿入部およびアンテナを有し、ETCシステムを用いた料金所における通行料金の授受に用いられる。
【0040】
ナビゲーション装置301とカーステレオ302は、相互にIEEE1394バスによって接続されている。これにより、カーステレオ302において、ナビゲーション装置301の記憶領域に記憶された音楽データの再生をおこなうことができる。また、ナビゲーション装置301とETCユニット303も、同様にIEEE1394バスによって接続されている。これにより、ナビゲーション装置301において、ETCユニット303が搭載されていることを認識し、ETC専用レーンなどを考慮した経路探索をおこなうことができる。
【0041】
また、カーステレオ302には、ポータブルオーディオプレイヤー304が接続されている。ポータブルオーディオプレイヤー304は、機器内部に搭載されたハードディスクやフラッシュメモリなどに記憶した音楽データを再生する。また、このようにカーステレオ302に接続することによって、ポータブルオーディオプレイヤー304に記憶された音楽データをカーステレオ302で再生したり、ポータブルオーディオプレイヤー304で再生した音楽をカーステレオ302のスピーカから出力することができる。
【0042】
(ネットワーク構成)
図4は、図3に示したネットワークの構成を模式的に示した図である。ナビゲーション装置301は、カーステレオ302、ETCユニット303、バックカメラとそれぞれ接続されている。また、カーステレオ302は、ナビゲーション装置301の他、ポータブルオーディオプレイヤー304と接続されている。
【0043】
以下において、各機器をネットワーク上におけるノードとおき、ナビゲーション装置301はノード401、カーステレオ302はノード402、ETCユニット303はノード403、ポータブルオーディオプレイヤー304はノード404、バックカメラはノード405とする。各ノード401〜405は、それぞれIEEE1394バスによって接続されている。
【0044】
ここで、これらの機器はIEEE1394規格による接続をおこなっているが、ノード403,404、405はIEEE1394−1995又はIEEE1394aに準拠するノード(以下、IEEE1394−1995 又はIEEE1394aノードという)である。一方、網掛けで示したノード401,402は、IEEE1394bに準拠するノード(以下、IEEE1394bノードという)である。IEEE1394bは、IEEE1394aを改良した規格であり、最大転送速度は800Mbps(IEEE1394aは400Mbps)、ケーブルには光ファイバー、Ethernet(登録商標)ケーブルなどを用いることができる(IEEE1394aはメタルケーブル)。また、最大接続距離は100m(IEEE1394aは4.5m)となっている。
【0045】
このように、IEEE1394bは、IEEE1394−1995やIEEE1394aと異なる点が多く、Gap_Countの算出も、IEEE1394−1995やIEEE1394aと同様におこなうことはできない。前述のように、IEEE1394−1995やIEEE1394aはケーブルの長さが4.5mまでという制限があり、かつ使用するケーブルの種類が限られているため、1ホップでデータ伝送したときの伝搬時間をホップ数ごとに定数として定めている。
【0046】
一方で、1394混在ネットワーク構成においては、ケーブルの長さや種類が異なるため、ホップ数によってGap_Countを設定することはできない。この場合、Gap_Count設定ノードは、Pingパケットを利用し、最長のパスにおけるデータの伝播時間を元にGap_Countを算出する。
【0047】
具体的には、Gap_Count設定ノードは、他のすべてのノードに対してPingパケットを送信する。各ノードは、Gap_Count設定ノードからのPingパケットを受けて、Self_IDパケットをブロードキャストする。Gap_Count設定ノードは、Pingパケットを送信してから、すべてのノードからSelf_IDパケットを受信するまでの時間をもとにGap_Countを設定する。
【0048】
図4に示したようなネットワーク構成において、Gap_Count設定ノードはネットワークのトポロジに変化が生じるごとに変化する。このとき、IEEE1394bに対応しないノードがGap_Count設定ノードとなってしまった場合、IEEE1394bノードを考慮せずにGap_Countを設定してしまい、不適切なGap_Countのためネットワークが不安定になったり、ネットワークのスループットが低下してしまう場合がある。
【0049】
これを防止するため、Gap_Count設定ノードが設定するGap_Countが適切に設定されているかを監視する監視ノード(通信監視装置)を置く。ここで、監視ノードはIEEE1394bに対応するノードもしくは前述したPingパケットによるGap_Countの算出をおこなうことができるノードである必要がある。本実施例では、Gap_Count設定ノードをIEEE1394aノードであるノード404、監視ノードをIEEE1394bノードであるノード401として説明する。
【0050】
(Gap_Count設定ノードによるGap_Count設定処理)
図5は、Gap_Count設定ノードがおこなうGap_Count設定処理の手順を示すフローチャートである。まず、バスリセットが発生すると(ステップS501:Yes)、各ノードはバスリセット信号を受けて、Self_IDパケットを送信し、Gap_Count設定ノード(ノード404)は、各ノードのSelf_IDパケットを受信する(ステップS502)。そして、Gap_Count設定ノードは、バス上でトポロジが変化したかどうかを判断する(ステップS503)。バス上のトポロジが変化すると(ステップS503:Yes)、Gap_Count設定ノードは、変化後のトポロジに対応したGap_Countの算出をおこなう(ステップS504)。
【0051】
そして、算出したGap_Countが各ノードに既に設定されているGap_Countと等しいかを判断する(ステップS505)。算出したGap_Countが各ノードに既に設定されているGap_Countと等しい場合は(ステップS505:Yes)、Gap_Countの再設定をおこなう必要がないため、本フローチャートによる処理を終了する。
【0052】
一方、算出したGap_Countが各ノードに既に設定されているGap_Countと異なっている場合は(ステップS505:No)、Gap_Countの再設定をおこなうため、Gap_Count設定ノードは、各ノードに算出したGap_Countを含んだPHYパケットを送信する(ステップS506)。各ノードは、送信されたPHYパケットに含まれるGap_CountをPHYレジスタに設定する。そして、Gap_Count設定ノードは再度バスリセット信号を送信し(ステップS507)、本フローチャートによる処理を終了する。この再度のバスリセット信号によって、各ノードが設定したGap_Countが有効になる。
【0053】
以上のような処理によって、Gap_Count設定ノードはバスにトポロジの変化が発生するごとにGap_Countの設定をおこなう。ステップS504においておこなわれるGap_Countの算出は、Gap_Count設定ノードが対応する規格によっておこなわれる。すなわち、IEEE1394aノードであるノード404は、バス上にIEEE1394bノードが存在することを考慮せずにGap_Countの算出をおこなってしまう。このため、監視ノードであるノード401は、以下に示すような処理によってGap_Countの監視をおこない、不適切なGap_Countが設定されるのを防止している。
【0054】
(監視ノードによるGap_Count監視処理)
図6および図7は、監視ノードがおこなうGap_Countの監視処理の手順を示すフローチャートである。なお、監視ノードがおこなう監視処理は、Gap_Count設定ノードがGap_Countの設定をおこなった後におこなうのが望ましい。このため、図6に示す処理は、Gap_Count設定ノードがGap_Countの設定をおこなったかを監視する処理であり、図7に示す処理は、Gap_Count設定ノードが設定したGap_Countが適切な値であるかを監視する処理である。
【0055】
まず、監視ノード(ノード401)は、バスリセット信号を受信したかを監視する(ステップS601)。バスリセット信号を受信すると(ステップS601:Yes)、バス上のトポロジが変化したか、または他のすべてのノードに設定されたGap_Countが不一致であるかを判断する(ステップS602)。
【0056】
トポロジが変化した、または他のすべてのノードに設定されたGap_Countが不一致である場合は(ステップS602:Yes)、再度他のすべてのノードに設定されたGap_Countが一致しているかを確認する(ステップS603)。一方、トポロジが変化せず、かつ他のすべてのノードに設定されたGap_Countが一致する(不一致ではない)場合は(ステップS602:No)、図7のAに移行して、本フローチャートによる処理を終了する(図7参照)。
【0057】
つぎに、ステップS603において、他のすべてのノードに設定されたGap_Countが一致する場合は(ステップS603:Yes)、所定の時間内にバスリセット信号を受信したかを判断する(ステップS604)。これは、Gap_Countの再設定がおこなわれるかが不明な状態なため、所定の時間待機しているものである。バスリセットが発生した場合であっても、たとえば、Gap_Count設定ノードがバスリセット後算出したGap_Countが、各ノードに既に設定されているGap_Countと等しい場合には、Gap_Countの再設定はおこなわれない(図5のステップS504参照)。
【0058】
所定の時間内にバスリセット信号を受信した場合は(ステップS604:Yes)、Gap_Countの再設定がおこなわれたとして、図7のBに移行する。一方、所定の時間内にバスリセット信号を受信しなかった場合は(ステップS604:No)、Gap_Countの再設定はおこなわれなかったものとして、図7のAに移行して、本フローチャートによる処理を終了する(図7参照)。ここで、バスリセット信号の受信を待機している時間は任意であるが(ステップS604の「所定の時間」)、たとえば、バスリセット信号の受信から1秒とすることができる。
【0059】
IEEE1394の規格上、Gap_Countがいつまでに決定されていなければならないとの規定は明記されていない。しかし、Gap_Countの設定は、機器どうしのコネクションを確立する際に使用するoverheadIDに関係している。バスリセットが発生した場合、バスリセット発生前のコネクションを継続させるためには、バスリセット発生後1秒以内にコネクションを再確立しなくてはならない旨が規定されている。このため、バスリセット発生後1秒以内にはGap_Countが決定されていることが予想される。この予想を元に、ステップS604において待機する時間を1秒と設定する。
【0060】
また、たとえば、すべてのノードのGap_Countが一致していると判断したのち(ステップS603:Yes)、いずれかのノードが送信したSelfIDパケットを受信した場合には、すべてのノードからのSelf_IDパケットを受信するまで待機したのちに図7のBに移行するようにしてもよい。先述のように、他のすべてのノードに設定されたGap_Countが一致する場合は、Gap_Countの再設定がおこなわれるかが不明である。このような状態で監視ノードがSelf_IDパケットを受信した場合、Gap_Count設定ノードがPingパケットを用いてGap_Countの算出をおこなおうとしていることが予想される。
【0061】
Gap_Countの算出処理のうち、最も処理に時間を要するのはPingパケットの送信およびSelf_IDパケットの受信処理である。このため、すべてのノードからSelf_IDパケットの送信がおこなわれたことが確認できれば、Gap_Countの算出処理が間もなく完了することを予想することができ、ステップS604のように所定の時間待つことなく監視処理を開始することができる。
【0062】
さらに、Gap_Countの算出には、最低限リーフノード(先端のノード)とブランチノード(枝分かれしているノード)までの応答時間がわかればよい。このため、監視ノードにおいても、すべてのリーフノードおよびブランチノードからSelf_IDパケットを受信したことを確認できれば、Gap_Countの算出処理が間もなく完了することを予想することができる。
【0063】
つぎに、ステップS603において、他のすべてのノードに設定されたGap_Countが一致しない場合は(ステップS603:No)、2度目のバスリセット信号の受信を待って待機する(ステップS605:Noのループ)。他のすべてのノードに設定されたGap_Countが一致しない場合は、必ずGap_Countの再設定がおこなわれるため、PHYパケットによって設定されたGap_Countを有効にするためのバスリセット信号が送信されるためである。
【0064】
そして、2度目のバスリセット信号を受信すると(ステップS605:Yes)、バス上のトポロジに変化がなく、かつ他のすべてのノードに設定されたGap_Countが一致するかを判断する(ステップS606)。バス上のトポロジに変化がなく、かつ他のすべてのノードに設定されたGap_Countが一致する場合は(ステップS606:Yes)、ステップS605で受信したバスリセット信号は、Gap_Countを有効にするためのバスリセットであったとして、図7のBに移行する。
【0065】
一方、バス上のトポロジに変化があった、または他のすべてのノードに設定されたGap_Countが一致しない場合は(ステップS606:No)、ステップS605で受信したバスリセットはGap_Countを有効にするためのバスリセットではなかったとしてステップS603に戻って、以下の処理を繰り返す。監視ノードは、以上のような処理によって、Gap_Count設定ノードがGap_Countの設定をおこなったことを確認し、図7に示す処理に移行する。
【0066】
つぎに、図7に示す処理(Gap_Count設定ノードが設定したGap_Countが適切な値であるかを監視する処理)について説明する。まず、監視ノードは、Observe_Gap_Countを算出する(ステップS701)。このObserve_Gap_Countは、監視ノードがGap_Count設定ノードの監視用に算出する値であり、1394混在ネットワークにおいても正しくGap_Countが求まる方法(たとえば、Pingパケットを利用した方法)によって算出される。
【0067】
つぎに、監視ノードは、算出したObserve_Gap_Countと、他のノードに設定されているGap_Countとを比較する(ステップS702)。そして、他のノードに設定されているGap_Countが明らかに不正かを判断する(ステップS703)。ここで、明らかに不正と判断する基準は特に限定しないが、たとえば、算出したObserve_Gap_Countとの誤差が一定以上ある場合や、Gap_CountがObserve_Gap_Countより小さい場合などが想定される。
【0068】
Gap_Countが明らかに不正である場合は(ステップS703:Yes)、ユーザに警告をおこない(ステップS704)、本フローチャートによる処理を終了する。一方、Gap_Countが不正とは認められない場合は(ステップS703:No)、警告をおこなわず、本フローチャートによる処理を終了する。
【0069】
(警告の表示例)
図8〜10は、ユーザへの警告を示す表示画面の一例である。図8においては、監視ノードであるノード401(ナビゲーション装置301)の表示画面301aに、「ポータブルオーディオプレイヤーを接続しているとネットワークが不安定となる可能性があります」との警告表示801が表示されている。Gap_Count設定ノードであるノード404(ポータブルオーディオプレイヤー304)は、IEEE1394aノードであるため、1394混在ネットワークには対応することができない。このため、実際に必要なGap_Countより小さい値を設定してしまい、ネットワークが不安定となる可能性があることを示している。
【0070】
図9においては、「ナビゲーション装置やカーステレオが原因でネットワークが不安定になる可能性があります」との警告表示901が表示画面301aに表示されている。図8の例とは異なり、IEEE1394bノードであるノード401(ナビゲーション装置301)やノード402(カーステレオ302)の機器名を通知することによって、これらの機器を取り外し、IEEE1394−1995やIEEE1394aノードのみでネットワークを構成させることができる。
【0071】
図10においては、「このままの接続状態では、同時に使用できる機器が通常より少なくなる可能性があります。原因と思われる機器は、ポータブルオーディオプレイヤーです」との警告表示1001が表示されている。図8および図9は、設定されたGap_Countが小さすぎる場合の例を示したが、図10は設定されたGap_Countが大きすぎる場合の警告表示の例である。
【0072】
設定されたGap_Countが大きすぎる場合、ネットワークが不安定となることはないため、機器の取り外しは必要ではない。しかし、ネットワークのスループットが低下してしまう可能性があり、このことをユーザに警告するものである。なお、図示した例ではGap_Count設定ノードであるノード404の機器名(ポータブルオーディオプレイヤー304)を表示させることとしたが、IEEE1394bノードの機器名を表示させることとしてもよい。
【0073】
また、このように表示画面301aに文字による警告表示をする他にも、アニメや図などでの警告や、警告音・音楽など音声出力による警告、警告灯の点灯などであってもよい。また、監視ノードの機器自体が警告をおこなうのではなく、他の機器に前述のような警告をおこなわせるように制御信号を出力してもよい。たとえば、監視ノードであるナビゲーション装置301が、カーステレオ302のスピーカから警告用の音声を音声出力させるようにしてもよい。
【0074】
さらに、不正なGap_Countを設定する可能性のあるノードがGap_Count設定ノードとなった場合に、そのノードをネットワークから切り離すようにしてもよい。IEEE1394においては、Remote command packetを送信することによって、所望のノードのポートを停止することができる。監視ノードは、不正なGap_Countを設定する可能性のあるノードがGap_Count設定ノードとなった場合に、Remote command packetを送信し、そのノードと他の機器とが接続されているポートを停止させる。これにより、停止させたポートを介した通信ができなくなり、不正なGap_Countを設定する可能性のあるノードをネットワークから切り離すことができる。
【0075】
たとえば、図4に示したネットワーク構成において、Gap_Count設定ノードがIEEE1394aノードであるノード404となった場合、監視ノードであるノード401は、ノード404の有するポートのうち、ノード401と接続されているポートを停止する。これにより、ノード404の先に接続されているノードとは通信ができなくなるものの、ノード401、402、403、405の間であらたなGap_Count設定ノードが設定され、不正なGap_Countが設定されるのを防ぐことができる。
【0076】
なお、監視ノードとなり得るノードがネットワーク上に複数存在する場合、1台のみが監視ノードとなるように管理する。たとえば、監視ノードとなり得るノードは、監視処理を始める前に他のノードに対して監視処理開始を宣言し、最も早く監視処理開始を宣言したノードが監視ノードとなるなどの方法がある。また、各ノードに機器識別子を付して、機器識別子によって監視ノードを設定したり、最新の機器を監視ノードに設定するなどの方法であってもよい。
【0077】
また、監視ノードの処理負担を軽減することによって、より短時間でユーザに警告をおこなうようにしてもよい。前述した実施例において、監視ノードは、Gap_Count設定ノードがGap_Countの設定をおこなったかを監視し(図6参照)、Gap_Count設定ノードが設定したGap_Countが適切な値であるかを監視した(図7参照)。このような処理に代えて、以下のような処理をおこなうようにしてもよい。
【0078】
たとえば、IEEE1394bに対応していないIEEE1394−1995やIEEE1394aノードがGap_Count設定ノードとなった場合、Gap_Countは、バスのホップ数をもとにあらかじめ計算されたGap_Count値の表に基づいて設定される。もしくは、IEEE1394a規格における最大のホップ数である16のときのGap_Count値である「43」や、Gap_Countは6ビット長の値であるので、2ビット長で表現できる最大値である63に設定される。
【0079】
このような値がGap_Countに設定された場合、監視ノードは、1394混在ネットワークにおいては不適切な値であるとして、ユーザに警告をおこなう。これにより、Observe_Gap_Countを算出したり、他のノードに設定されたGap_Countとの比較をしたりする必要がなく、監視ノードの処理負担を軽減させ、より短時間のうちにユーザに警告をおこなうことができる。
【0080】
また、監視ノードによって、バスリセットの発生後、Gap_Countの設定がおこなわれる前に他のノードからPingパケットの発行があったかどうかを監視するようにしてもよい。他のノードからPingパケットの発行がない場合、Gap_Countの算出にPingを使用していないこととなり、1394混在ネットワークにおいては不適切な値が設定されたこととなる。これをユーザに警告することによって、監視ノードの処理負担を軽減させ、より短時間のうちにユーザに警告をおこなうことができる。
【0081】
上述した方法でGap_Countの設定が適切であるかを判断する場合、バス上のノード数とトポロジを考慮することによって、より適切な場合に警告をおこなうことができる。たとえば、車載機器をつなぐネットワーク(以下、車載ネットワークという)は、閉じたネットワークとなることが多く、最大ケーブル長があらかじめ定まったシステム構成とできる場合がある。このとき、IEEE1394bノード間のデータの伝播時間を固定値とすることができる。
【0082】
たとえば、IEEE1394bノード間のケーブル長が最大9メートルのシステムにおいては、最大ケーブル長が4.5mのIEEE1394−1995やIEEE1394aノードに対して、ホップ数は2倍と考える。このようにIEEE1394bノード間のホップに対して暫定的に重みを付けることによって、1394混在ネットワークにおいても、ホップ数によってGap_Countを求めることができる。このように、トポロジ構成を考慮にいれることによって、より精度の高い警告をおこなうことができる。
【0083】
以上説明したように、実施例にかかる通信監視装置によれば、Gap_Count設定ノードによって設定されたGap_Count値を監視し、不適切な値であるかどうかを判断し、不適切な値であった場合にはユーザに警告をおこなう。これにより、ネットワークが不安定な状態になるのを事前に防止することができる。
【0084】
また、不適切なGap_Countを設定したGap_Count設定ノードの機器名称や、Gap_Count設定ノードが設定したGap_Countが不適切な値となってしまう原因であるIEEE1394bに対応する機器の名称を、警告の際に呈示する情報を含ませることによって、ユーザにどの機器が原因でバスが不安定になる可能性があるかを示すことができる。
【0085】
以上説明したように、通信監視装置、通信監視方法、通信監視プログラムおよび記録媒体によれば、不適切な通信制御値が設定されるのを防止することができる。
【0086】
なお、本実施の形態で説明した通信監視方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【0001】
この発明は、ネットワークの通信状態を監視する通信監視装置、通信監視方法、通信監視プログラムおよび記録媒体に関する。ただし、この発明の利用は、上述した通信監視装置、通信監視方法、通信監視プログラムおよび記録媒体に限られない。
【背景技術】
【0002】
従来、主にマルチメディアデータ転送のためのインターフェースとして、IEEE1394規格のシリアルバス(以下、IEEE1394バスという)が用いられている。IEEE1394バスは、高速データ転送が可能であり、ホストとなる機器を必要とせず、機器の動作中においても接続・切断を自由におこなうことができるなどの特徴を有する。IEEE1394規格には、従来から用いられてきたIEEE1394−1995、IEEE1394a、およびIEEE1394aを改良させたIEEE1394bが存在する。
【0003】
IEEE1394規格では、接続されているいずれの機器(ノード)も通信をおこなってはならないアイドル時間(Gap)があり、アイドル時間の元となる値をGap_Countという。たとえば、あるノードから同じ1394バスに接続されている他のノードにデータを送信した場合、受信側で正しくデータが受理されたかどうかを確認するためにアクノリッジパケット(ACK)を送り返す必要がある。データを送信してからACKが返ってくるまでの間、他のノードは通信の邪魔をしてはならず、ある一定時間待機しなければならない。
【0004】
このときの待機時間をACKnowledge_Gapといい、Gap_Countの値を基準にしてACKnowledge_Gapを示す時間が決定される。Gap_Count値は、バスのトポロジによって異なるものであり、バスのトポロジに変化が生じると、各ノードに対してGap_Count値の再設定がおこなわれる。Gap_Countの設定は、バス上でバスマネージャになったノード、また、バス上にバスマネージャが存在しない場合はIRM(Isochronous Resource Manager)によっておこなわれる。以下、このようにGap_Countの設定をおこなうノードをGap_Count設定ノードという。
【0005】
Gap_Count設定ノードは、Gap_Count値を算出し、算出したGap_Count値を各ノードに設定するパケット(PHY configuration packet)をブロードキャストする。各ノードは、受信したGap_Count値をPHYレジスタに設定する。そして、各ノードがバスリセット信号を受信することによって、PHYレジスタに設定したGap_Count値が有効になる。
【0006】
Gap_Countの設定が適切におこなわれていない場合、たとえば、Gap_Count値が小さすぎる場合は、ACKが返る前に他のノードが通信を始めてしまう可能性があるので、バスの動作が不安定になってしまう。一方、Gap_Count値が大きすぎる場合は、必要以上に待機することになるので、機器のスループットが下がってしまう。このため、各ノードに設定されたGap_Countが等しい値であるかを確認することによって、Gap_Countの設定が適切におこなわれたかを判断する技術が考案されている(たとえば、下記特許文献1および2参照。)。
【0007】
【特許文献1】
特開平10−285236号公報
【特許文献2】
特開平11−331214号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、前述した先行技術によれば、すべてのノードに同じGap_Count値が設定されているかを確認することはできるものの、設定されたGap_Count値で、正常なデータ通信をおこなうことができるかは判断することができない。たとえば、IEEE1394b準拠のノードからなるネットワークにIEEE1394−1995、IEEE1394a準拠のいずれかのノードが少なくとも一つ含まれるネットワーク(以下、1394混在ネットワークという)において、IEEE1394b以外のノードがGap_Count設定ノードになった場合、IEEE1394−1995やIEEE1394aバスのみに対応したGap_Count算出方法が用いられる可能性がある。
【0009】
ここで、IEEE1394−1995やIEEE1394aバスのみに対応したGap_Count算出方法とは、ホップ数(二つのノード間の経路で使用したケーブルの数)による算出方法や、あらかじめ定数として宣言する方法などである。たとえば、ホップ数による算出方法は、バス上で最も長いパス(経路)のホップ数を求めて、規格に定められた表(以下、Gap_Countテーブルという)から対応するホップ数のGap_Countを参照する。
【0010】
Gap_Countは、最も長いパスを使ってデータ伝送したときの伝搬時間から求められる。IEEE1394−1995やIEEE1394aはケーブルの長さが4.5mまでという制限があり、かつ、使用するケーブルの種類が限られている。このため、1ホップでデータ伝送したときの伝搬時間を定数として定めることができる。そこで、ホップ数ごとにGap_Countを算出し、Gap_Countテーブルを作成することができる。
【0011】
Gap_Count設定ノードは、バスリセットが発生すると接続の中で最も長いパスのホップ数を調べ、そのホップ数に対応するGap_CountをGap_Countテーブルから参照し、各ノードに設定する。しかし、このテーブルはIEEE1394−1995やIEEE1394aノードのみがバス上に存在することが前提で作成されており、IEEE1394bノードについては考慮されていない。このため、1394混在ネットワークにおいて、適切なGap_Countの設定をおこなうことができないという問題が一例として挙げられる。
【0012】
また、1394混在ネットワークにおいては、バス上にIEEE1394bノードも存在するため、「最も長いパス」=「ホップ数の最も多いパス」であるとは限らない。仮に、偶然「最も長いパス」=「ホップ数の最も多いパス」であったとしても、Gap_CountテーブルはIEEE1394−1995やIEEE1394aノードのみからなるパスを前提として作成されているため、パスの途中にIEEE1394bノードが存在した場合のGap_Countとは異なる値となる可能性が高い。このように、1394混在ネットワークにおいては、不正なGap_Count値が設定される可能性があるという問題が一例として挙げられる。
【0013】
また、このように不適切なGap_Countが設定されたままでネットワークの使用を続けると、ネットワークの動作が不安定になったり、機器のスループットが下がってしまうという問題が一例として挙げられる。
【0014】
この発明は、上述した従来技術による問題点を解消するため、不適切な通信制御値が設定されるのを防止することができる通信監視装置、通信監視方法、通信監視プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0015】
上述した課題を解決し、目的を達成するため、請求項1の発明にかかる通信監視装置は、IEEE1394シリアルバスを用いて複数の機器が接続されたネットワークを監視する通信監視装置であって、前記ネットワークにおける他の機器が決定または管理する通信制御値に関する情報を取得する取得手段と、前記ネットワークに適合した前記通信制御値を算出する算出手段と、前記算出手段によって算出された通信制御値と、前記取得手段によって取得された通信制御値に関する情報とを比較して、前記通信制御値に関する情報が前記ネットワークに適合しているか否かを判断する判断手段と、前記判断手段による判断結果を通知する通知手段と、備えることを特徴とする。また、請求項4の発明にかかる通信監視装置は、IEEE1394シリアルバスを用いて複数の機器が接続されたネットワークを監視する通信監視装置であって、前記ネットワークにおける他の機器が決定または管理する通信制御値に関する情報を取得する取得手段と、前記取得手段によって取得された通信制御値に関する情報に基づいて、前記通信制御値に関する情報が前記ネットワークに適合しているか否かを判断する判断手段と、前記判断手段による判断結果を通知する通知手段と、を備え、前記取得手段は、前記通信制御値に関する情報として前記ネットワークにおけるGap_Count値を決定する機器に関する情報を取得することを特徴とする。
[0016]
また、請求項10にかかる通信監視方法は、IEEE1394シリアルバスを用いて複数の機器が接続されたネットワークを監視する通信監視方法であって、前記ネットワークにおける他の機器が決定または管理する通信制御値に関する情報を取得する取得工程と、前記ネットワークに適合した前記通信制御値を算出する算出工程と、前記算出工程で算出された通信制御値と、前記取得工程で取得された通信制御値に関する情報とを比較して、前記通信制御値に関する情報が前記ネットワークに適合しているか否かを判断する判断工程と、前記判断工程による判断結果を通知する通知工程と、を含むことを特徴とする。また、請求項11にかかる通信監視方法は、IEEE1394シリアルバスを用いて複数の機器が接続されたネットワークを監視する通信監視方法であって、前記ネットワークにおける他の機器が決定または管理する通信制御値に関する情報を取得する取得工程と、前記取得工程で取得された通信制御値に関する情報に基づいて、前記通信制御値に関する情報が前記ネットワークに適合しているか否かを判断する判断工程と、前記判断工程による判断結果を通知する通知工程と、を含み、前記取得工程は、前記通信制御値に関する情報として前記ネットワークにおけるGap_Count値を決定する機器に関する情報を取得することを特徴とする。
[0017]
また、請求項12にかかる通信監視プログラムは、請求項10または11に記載の通信監視方法をコンピュータに実行させることを特徴とする。
[0018]
また、請求項13にかかる記録媒体は、請求項12に記載の通信監視プログラムを記録したことを特徴とする。
【図面の簡単な説明】
[0019]
[図1]図1は、実施の形態にかかる通信監視装置の機能的構成を示すブロック図である。
[図2]図2は、通信監視装置の通信監視処理の手順を示すフローチャートである。
[図3]図3は、実施例にかかる通信監視装置が監視するネットワークの構成機器を示す図である。
[図4]図4は、図3に示したネットワークの構成を模式的に示した図である。
[図5]図5は、Gap_Count設定ノードがおこなうGap_Count設定処理の手順を示すフローチャートである。
[図6]図6は、監視ノードがおこなうGap_Countの監視処理の手順を示すフローチャートである。
【図7】図7は、監視ノードがおこなうGap_Countの監視処理の手順を示すフローチャートである。
【図8】図8は、ユーザへの警告を示す表示画面の一例を示す図である。
【図9】図9は、ユーザへの警告を示す表示画面の一例を示す図である。
【図10】図10は、ユーザへの警告を示す表示画面の一例を示す図である。
【符号の説明】
【0020】
100 通信監視装置
111 取得部
112 判断部
113 通知部
114 算出部
115 機器特定部
116 切断部
121 IEEE1394bに対応した機器
122 IEEE1394bに対応していない機器
130 ネットワーク
【発明を実施するための最良の形態】
【0021】
以下に添付図面を参照して、本発明にかかる通信監視装置、通信監視方法、通信監視プログラムおよび記録媒体の好適な実施の形態を詳細に説明する。
【0022】
(実施の形態)
(通信監視装置100の機能的構成)
図1は、実施の形態にかかる通信監視装置の機能的構成を示すブロック図である。実施の形態にかかる通信監視装置100は、IEEE1394シリアルバスを用いて複数の機器が接続されたネットワーク130を監視する。ネットワーク130は1394混在ネットワークであり、IEEE1394bに対応した機器121およびIEEE1394bに対応していない機器122がそれぞれ少なくとも1つずつ接続される。通信監視装置100は、取得部111、判断部112、通知部113、算出部114、機器特定部115、切断部116によって構成される。
【0023】
取得部111は、ネットワーク130における他の機器が決定または管理する通信制御値に関する情報を取得する。通信制御値に関する情報とは、たとえば、ネットワーク130におけるGap_Count値や、Gap_Count値の設定のために送信されるPHYパケットの発行の有無や、Gap_Count値が記述されているSelf_IDパケットの発行の有無、前記Self_IDパケットの発行を促すためのPingパケット発行の有無、Gap_Count設定ノードの機器情報(Gap_Count設定ノードがIEEE1394bに対応している機器であるか否かの情報も含む)などである。また、通信制御値に関する情報には、通信制御値そのものを含むものとする。
【0024】
判断部112は、取得部111によって取得された通信制御値に関する情報に基づいて、通信制御値に関する情報がネットワーク130に適合しているか否かを判断する。判断部112は、たとえば、IEEE1394bに対応していない機器122によって通信制御値が決定された場合に、通信制御値に関する情報がネットワーク130に適合しないと判断する。
【0025】
または後述する算出部114によって算出された通信制御値と、取得部111によって取得された通信制御値に関する情報とを比較して、ネットワーク130における他の機器が決定または管理する通信制御値に関する情報がネットワーク130に適合しているか否かを判断する。また、たとえば、特定の値が通信制御値として設定された場合には、通信制御値に関する情報がネットワーク130に適合しないと判断することとしてもよい。
【0026】
通知部113は、判断部112による判断結果を通知する。通知部113による通知は、たとえば、表示画面へのメッセージ表示やアニメ、音声などである。また、ネットワーク130に接続された他の機器に前述のような通知の出力をおこなわせるための制御信号を出力するものであってもよい。
【0027】
算出部114は、ネットワーク130に適合した通信制御値を算出する。算出部114は、たとえば、ネットワーク130に接続された各機器にPingパケットを送信し、送信したPingパケットへの返答として各機器から送信されるSelf_IDパケットを受信するまでの時間に基づいて、通信制御値を算出する。
【0028】
機器特定部115は、判断部112によって通信制御値に関する情報がネットワーク130に適合しないと判断された場合に、その原因となる機器を特定する。機器特定部115によって、原因となる機器が特定された場合、通知部113は、機器特定部115によって特定された機器に関する情報を報知する。具体的には、たとえば、機器の名称や識別番号、これらの機器の取り外しを求めるメッセージを表示する。
【0029】
切断部116は、機器特定部115によって特定された機器とネットワーク130との接続を切断する。切断部116は、たとえば、機器特定部115によって特定された機器に対して、Remote command packetを送信し、他の機器と接続されているポートを停止させる。
【0030】
(通信監視装置100の通信監視処理)
図2は、通信監視装置の通信監視処理の手順を示すフローチャートである。まず、取得部111によって、ネットワーク130における他の機器が決定または管理する通信制御値に関する情報を取得する(ステップS201)。つぎに、算出部114によって、ネットワーク130に適合した通信制御値を算出する(ステップS202)。そして、判断部112によって、ステップS201で取得した通信制御値に関する情報と、ステップS202で算出した通信制御値とを比較する(ステップS203)。
【0031】
判断部112は、ステップS203でおこなった比較の結果から、ネットワーク130における他の機器が決定または管理する通信制御値に関する情報がネットワーク130に適合しているかを判断する(ステップS204)。ネットワーク130に適合している場合は(ステップS204:Yes)、特に処理をおこなわずに本フローチャートによる処理を終了する。
【0032】
一方、ネットワーク130に適合していない場合は(ステップS204:No)、機器特定部115によって原因となる機器を特定する(ステップS205)。そして、通知部113によって、ステップS205で特定された機器に関する情報を報知する(ステップS206)。また、特定された機器とネットワーク130との接続を切断して(ステップS207)、本フローチャートによる処理を終了する。
【0033】
以上説明したように、実施の形態にかかる通信監視装置100によれば、IEEE1394シリアルバスを用いて複数の機器が接続されるネットワーク130において、設定された通信制御値に関する情報がネットワーク130に適合しているかを判断することができる。通信制御値に関する情報がネットワーク130におけるGap_Count値である場合、ネットワーク130が不安定となったり、スループットが低下するのを防止したりすることができる。
【0034】
また、不正な値が通信制御値に設定された場合、または設定される可能性がある場合に、ユーザにその旨を通知することができる。さらに、通信制御値に関する情報がネットワーク130に適合しないと判断された場合に、その原因となる機器を通知したり、ネットワーク130との接続を切断したりすることによって、不正な通信制御値が設定されるのを防止することができる。
【実施例】
【0035】
(通信監視装置の構成機器)
図3は、実施例にかかる通信監視装置が監視するネットワークの構成機器を示す図である。実施例にかかる通信監視装置は、車内に設置された機器を接続する車内ネットワークを監視する。車内には、ナビゲーション装置301、カーステレオ302、ETCユニット303が設置されている。本実施例において、通信監視装置はナビゲーション装置301に設けられているものとする。また、通信監視装置が監視する通信制御値はGap_Count値とする。
【0036】
なお、本実施例においては、通信監視装置はナビゲーション装置301やカーステレオ302などの車載機器をつなぐ車内ネットワークを監視するものとしたが、本発明の利用はこれに限るものではない。たとえば、家庭用電化製品どうしの接続や、車載装置と家電製品との接続にも用いることができる。
【0037】
ナビゲーション装置301は、実施例にかかる通信監視装置を含み、車内ネットワークにおけるGap_Count値を監視する。また、目的地までの経路を探索し、走行中に経路の誘導をおこなう。さらに、ナビゲーション装置301は、地図情報や周辺の施設情報などが記憶された記憶媒体を有しており、余った記憶領域に音楽データなどを蓄積することができる。
【0038】
図示した例では、ナビゲーション装置301の表示画面301aには、車両後方の様子が表示されている。これは、車両の後部に取り付けられているバックカメラ(図示せず)によって撮影された映像を、表示画面301aに表示しているものである。ユーザはバックカメラからの映像によって、後方の安全確認をおこなうことができる。なお、ナビゲーション装置301とバックカメラは、IEEE1394バスによって接続されている。
【0039】
カーステレオ302は、CDやMDなどに記録された音楽データを再生し、図示しないスピーカから音声出力させる。ETCユニット303は、ETC情報の処理部、ETCカード挿入部およびアンテナを有し、ETCシステムを用いた料金所における通行料金の授受に用いられる。
【0040】
ナビゲーション装置301とカーステレオ302は、相互にIEEE1394バスによって接続されている。これにより、カーステレオ302において、ナビゲーション装置301の記憶領域に記憶された音楽データの再生をおこなうことができる。また、ナビゲーション装置301とETCユニット303も、同様にIEEE1394バスによって接続されている。これにより、ナビゲーション装置301において、ETCユニット303が搭載されていることを認識し、ETC専用レーンなどを考慮した経路探索をおこなうことができる。
【0041】
また、カーステレオ302には、ポータブルオーディオプレイヤー304が接続されている。ポータブルオーディオプレイヤー304は、機器内部に搭載されたハードディスクやフラッシュメモリなどに記憶した音楽データを再生する。また、このようにカーステレオ302に接続することによって、ポータブルオーディオプレイヤー304に記憶された音楽データをカーステレオ302で再生したり、ポータブルオーディオプレイヤー304で再生した音楽をカーステレオ302のスピーカから出力することができる。
【0042】
(ネットワーク構成)
図4は、図3に示したネットワークの構成を模式的に示した図である。ナビゲーション装置301は、カーステレオ302、ETCユニット303、バックカメラとそれぞれ接続されている。また、カーステレオ302は、ナビゲーション装置301の他、ポータブルオーディオプレイヤー304と接続されている。
【0043】
以下において、各機器をネットワーク上におけるノードとおき、ナビゲーション装置301はノード401、カーステレオ302はノード402、ETCユニット303はノード403、ポータブルオーディオプレイヤー304はノード404、バックカメラはノード405とする。各ノード401〜405は、それぞれIEEE1394バスによって接続されている。
【0044】
ここで、これらの機器はIEEE1394規格による接続をおこなっているが、ノード403,404、405はIEEE1394−1995又はIEEE1394aに準拠するノード(以下、IEEE1394−1995 又はIEEE1394aノードという)である。一方、網掛けで示したノード401,402は、IEEE1394bに準拠するノード(以下、IEEE1394bノードという)である。IEEE1394bは、IEEE1394aを改良した規格であり、最大転送速度は800Mbps(IEEE1394aは400Mbps)、ケーブルには光ファイバー、Ethernet(登録商標)ケーブルなどを用いることができる(IEEE1394aはメタルケーブル)。また、最大接続距離は100m(IEEE1394aは4.5m)となっている。
【0045】
このように、IEEE1394bは、IEEE1394−1995やIEEE1394aと異なる点が多く、Gap_Countの算出も、IEEE1394−1995やIEEE1394aと同様におこなうことはできない。前述のように、IEEE1394−1995やIEEE1394aはケーブルの長さが4.5mまでという制限があり、かつ使用するケーブルの種類が限られているため、1ホップでデータ伝送したときの伝搬時間をホップ数ごとに定数として定めている。
【0046】
一方で、1394混在ネットワーク構成においては、ケーブルの長さや種類が異なるため、ホップ数によってGap_Countを設定することはできない。この場合、Gap_Count設定ノードは、Pingパケットを利用し、最長のパスにおけるデータの伝播時間を元にGap_Countを算出する。
【0047】
具体的には、Gap_Count設定ノードは、他のすべてのノードに対してPingパケットを送信する。各ノードは、Gap_Count設定ノードからのPingパケットを受けて、Self_IDパケットをブロードキャストする。Gap_Count設定ノードは、Pingパケットを送信してから、すべてのノードからSelf_IDパケットを受信するまでの時間をもとにGap_Countを設定する。
【0048】
図4に示したようなネットワーク構成において、Gap_Count設定ノードはネットワークのトポロジに変化が生じるごとに変化する。このとき、IEEE1394bに対応しないノードがGap_Count設定ノードとなってしまった場合、IEEE1394bノードを考慮せずにGap_Countを設定してしまい、不適切なGap_Countのためネットワークが不安定になったり、ネットワークのスループットが低下してしまう場合がある。
【0049】
これを防止するため、Gap_Count設定ノードが設定するGap_Countが適切に設定されているかを監視する監視ノード(通信監視装置)を置く。ここで、監視ノードはIEEE1394bに対応するノードもしくは前述したPingパケットによるGap_Countの算出をおこなうことができるノードである必要がある。本実施例では、Gap_Count設定ノードをIEEE1394aノードであるノード404、監視ノードをIEEE1394bノードであるノード401として説明する。
【0050】
(Gap_Count設定ノードによるGap_Count設定処理)
図5は、Gap_Count設定ノードがおこなうGap_Count設定処理の手順を示すフローチャートである。まず、バスリセットが発生すると(ステップS501:Yes)、各ノードはバスリセット信号を受けて、Self_IDパケットを送信し、Gap_Count設定ノード(ノード404)は、各ノードのSelf_IDパケットを受信する(ステップS502)。そして、Gap_Count設定ノードは、バス上でトポロジが変化したかどうかを判断する(ステップS503)。バス上のトポロジが変化すると(ステップS503:Yes)、Gap_Count設定ノードは、変化後のトポロジに対応したGap_Countの算出をおこなう(ステップS504)。
【0051】
そして、算出したGap_Countが各ノードに既に設定されているGap_Countと等しいかを判断する(ステップS505)。算出したGap_Countが各ノードに既に設定されているGap_Countと等しい場合は(ステップS505:Yes)、Gap_Countの再設定をおこなう必要がないため、本フローチャートによる処理を終了する。
【0052】
一方、算出したGap_Countが各ノードに既に設定されているGap_Countと異なっている場合は(ステップS505:No)、Gap_Countの再設定をおこなうため、Gap_Count設定ノードは、各ノードに算出したGap_Countを含んだPHYパケットを送信する(ステップS506)。各ノードは、送信されたPHYパケットに含まれるGap_CountをPHYレジスタに設定する。そして、Gap_Count設定ノードは再度バスリセット信号を送信し(ステップS507)、本フローチャートによる処理を終了する。この再度のバスリセット信号によって、各ノードが設定したGap_Countが有効になる。
【0053】
以上のような処理によって、Gap_Count設定ノードはバスにトポロジの変化が発生するごとにGap_Countの設定をおこなう。ステップS504においておこなわれるGap_Countの算出は、Gap_Count設定ノードが対応する規格によっておこなわれる。すなわち、IEEE1394aノードであるノード404は、バス上にIEEE1394bノードが存在することを考慮せずにGap_Countの算出をおこなってしまう。このため、監視ノードであるノード401は、以下に示すような処理によってGap_Countの監視をおこない、不適切なGap_Countが設定されるのを防止している。
【0054】
(監視ノードによるGap_Count監視処理)
図6および図7は、監視ノードがおこなうGap_Countの監視処理の手順を示すフローチャートである。なお、監視ノードがおこなう監視処理は、Gap_Count設定ノードがGap_Countの設定をおこなった後におこなうのが望ましい。このため、図6に示す処理は、Gap_Count設定ノードがGap_Countの設定をおこなったかを監視する処理であり、図7に示す処理は、Gap_Count設定ノードが設定したGap_Countが適切な値であるかを監視する処理である。
【0055】
まず、監視ノード(ノード401)は、バスリセット信号を受信したかを監視する(ステップS601)。バスリセット信号を受信すると(ステップS601:Yes)、バス上のトポロジが変化したか、または他のすべてのノードに設定されたGap_Countが不一致であるかを判断する(ステップS602)。
【0056】
トポロジが変化した、または他のすべてのノードに設定されたGap_Countが不一致である場合は(ステップS602:Yes)、再度他のすべてのノードに設定されたGap_Countが一致しているかを確認する(ステップS603)。一方、トポロジが変化せず、かつ他のすべてのノードに設定されたGap_Countが一致する(不一致ではない)場合は(ステップS602:No)、図7のAに移行して、本フローチャートによる処理を終了する(図7参照)。
【0057】
つぎに、ステップS603において、他のすべてのノードに設定されたGap_Countが一致する場合は(ステップS603:Yes)、所定の時間内にバスリセット信号を受信したかを判断する(ステップS604)。これは、Gap_Countの再設定がおこなわれるかが不明な状態なため、所定の時間待機しているものである。バスリセットが発生した場合であっても、たとえば、Gap_Count設定ノードがバスリセット後算出したGap_Countが、各ノードに既に設定されているGap_Countと等しい場合には、Gap_Countの再設定はおこなわれない(図5のステップS504参照)。
【0058】
所定の時間内にバスリセット信号を受信した場合は(ステップS604:Yes)、Gap_Countの再設定がおこなわれたとして、図7のBに移行する。一方、所定の時間内にバスリセット信号を受信しなかった場合は(ステップS604:No)、Gap_Countの再設定はおこなわれなかったものとして、図7のAに移行して、本フローチャートによる処理を終了する(図7参照)。ここで、バスリセット信号の受信を待機している時間は任意であるが(ステップS604の「所定の時間」)、たとえば、バスリセット信号の受信から1秒とすることができる。
【0059】
IEEE1394の規格上、Gap_Countがいつまでに決定されていなければならないとの規定は明記されていない。しかし、Gap_Countの設定は、機器どうしのコネクションを確立する際に使用するoverheadIDに関係している。バスリセットが発生した場合、バスリセット発生前のコネクションを継続させるためには、バスリセット発生後1秒以内にコネクションを再確立しなくてはならない旨が規定されている。このため、バスリセット発生後1秒以内にはGap_Countが決定されていることが予想される。この予想を元に、ステップS604において待機する時間を1秒と設定する。
【0060】
また、たとえば、すべてのノードのGap_Countが一致していると判断したのち(ステップS603:Yes)、いずれかのノードが送信したSelfIDパケットを受信した場合には、すべてのノードからのSelf_IDパケットを受信するまで待機したのちに図7のBに移行するようにしてもよい。先述のように、他のすべてのノードに設定されたGap_Countが一致する場合は、Gap_Countの再設定がおこなわれるかが不明である。このような状態で監視ノードがSelf_IDパケットを受信した場合、Gap_Count設定ノードがPingパケットを用いてGap_Countの算出をおこなおうとしていることが予想される。
【0061】
Gap_Countの算出処理のうち、最も処理に時間を要するのはPingパケットの送信およびSelf_IDパケットの受信処理である。このため、すべてのノードからSelf_IDパケットの送信がおこなわれたことが確認できれば、Gap_Countの算出処理が間もなく完了することを予想することができ、ステップS604のように所定の時間待つことなく監視処理を開始することができる。
【0062】
さらに、Gap_Countの算出には、最低限リーフノード(先端のノード)とブランチノード(枝分かれしているノード)までの応答時間がわかればよい。このため、監視ノードにおいても、すべてのリーフノードおよびブランチノードからSelf_IDパケットを受信したことを確認できれば、Gap_Countの算出処理が間もなく完了することを予想することができる。
【0063】
つぎに、ステップS603において、他のすべてのノードに設定されたGap_Countが一致しない場合は(ステップS603:No)、2度目のバスリセット信号の受信を待って待機する(ステップS605:Noのループ)。他のすべてのノードに設定されたGap_Countが一致しない場合は、必ずGap_Countの再設定がおこなわれるため、PHYパケットによって設定されたGap_Countを有効にするためのバスリセット信号が送信されるためである。
【0064】
そして、2度目のバスリセット信号を受信すると(ステップS605:Yes)、バス上のトポロジに変化がなく、かつ他のすべてのノードに設定されたGap_Countが一致するかを判断する(ステップS606)。バス上のトポロジに変化がなく、かつ他のすべてのノードに設定されたGap_Countが一致する場合は(ステップS606:Yes)、ステップS605で受信したバスリセット信号は、Gap_Countを有効にするためのバスリセットであったとして、図7のBに移行する。
【0065】
一方、バス上のトポロジに変化があった、または他のすべてのノードに設定されたGap_Countが一致しない場合は(ステップS606:No)、ステップS605で受信したバスリセットはGap_Countを有効にするためのバスリセットではなかったとしてステップS603に戻って、以下の処理を繰り返す。監視ノードは、以上のような処理によって、Gap_Count設定ノードがGap_Countの設定をおこなったことを確認し、図7に示す処理に移行する。
【0066】
つぎに、図7に示す処理(Gap_Count設定ノードが設定したGap_Countが適切な値であるかを監視する処理)について説明する。まず、監視ノードは、Observe_Gap_Countを算出する(ステップS701)。このObserve_Gap_Countは、監視ノードがGap_Count設定ノードの監視用に算出する値であり、1394混在ネットワークにおいても正しくGap_Countが求まる方法(たとえば、Pingパケットを利用した方法)によって算出される。
【0067】
つぎに、監視ノードは、算出したObserve_Gap_Countと、他のノードに設定されているGap_Countとを比較する(ステップS702)。そして、他のノードに設定されているGap_Countが明らかに不正かを判断する(ステップS703)。ここで、明らかに不正と判断する基準は特に限定しないが、たとえば、算出したObserve_Gap_Countとの誤差が一定以上ある場合や、Gap_CountがObserve_Gap_Countより小さい場合などが想定される。
【0068】
Gap_Countが明らかに不正である場合は(ステップS703:Yes)、ユーザに警告をおこない(ステップS704)、本フローチャートによる処理を終了する。一方、Gap_Countが不正とは認められない場合は(ステップS703:No)、警告をおこなわず、本フローチャートによる処理を終了する。
【0069】
(警告の表示例)
図8〜10は、ユーザへの警告を示す表示画面の一例である。図8においては、監視ノードであるノード401(ナビゲーション装置301)の表示画面301aに、「ポータブルオーディオプレイヤーを接続しているとネットワークが不安定となる可能性があります」との警告表示801が表示されている。Gap_Count設定ノードであるノード404(ポータブルオーディオプレイヤー304)は、IEEE1394aノードであるため、1394混在ネットワークには対応することができない。このため、実際に必要なGap_Countより小さい値を設定してしまい、ネットワークが不安定となる可能性があることを示している。
【0070】
図9においては、「ナビゲーション装置やカーステレオが原因でネットワークが不安定になる可能性があります」との警告表示901が表示画面301aに表示されている。図8の例とは異なり、IEEE1394bノードであるノード401(ナビゲーション装置301)やノード402(カーステレオ302)の機器名を通知することによって、これらの機器を取り外し、IEEE1394−1995やIEEE1394aノードのみでネットワークを構成させることができる。
【0071】
図10においては、「このままの接続状態では、同時に使用できる機器が通常より少なくなる可能性があります。原因と思われる機器は、ポータブルオーディオプレイヤーです」との警告表示1001が表示されている。図8および図9は、設定されたGap_Countが小さすぎる場合の例を示したが、図10は設定されたGap_Countが大きすぎる場合の警告表示の例である。
【0072】
設定されたGap_Countが大きすぎる場合、ネットワークが不安定となることはないため、機器の取り外しは必要ではない。しかし、ネットワークのスループットが低下してしまう可能性があり、このことをユーザに警告するものである。なお、図示した例ではGap_Count設定ノードであるノード404の機器名(ポータブルオーディオプレイヤー304)を表示させることとしたが、IEEE1394bノードの機器名を表示させることとしてもよい。
【0073】
また、このように表示画面301aに文字による警告表示をする他にも、アニメや図などでの警告や、警告音・音楽など音声出力による警告、警告灯の点灯などであってもよい。また、監視ノードの機器自体が警告をおこなうのではなく、他の機器に前述のような警告をおこなわせるように制御信号を出力してもよい。たとえば、監視ノードであるナビゲーション装置301が、カーステレオ302のスピーカから警告用の音声を音声出力させるようにしてもよい。
【0074】
さらに、不正なGap_Countを設定する可能性のあるノードがGap_Count設定ノードとなった場合に、そのノードをネットワークから切り離すようにしてもよい。IEEE1394においては、Remote command packetを送信することによって、所望のノードのポートを停止することができる。監視ノードは、不正なGap_Countを設定する可能性のあるノードがGap_Count設定ノードとなった場合に、Remote command packetを送信し、そのノードと他の機器とが接続されているポートを停止させる。これにより、停止させたポートを介した通信ができなくなり、不正なGap_Countを設定する可能性のあるノードをネットワークから切り離すことができる。
【0075】
たとえば、図4に示したネットワーク構成において、Gap_Count設定ノードがIEEE1394aノードであるノード404となった場合、監視ノードであるノード401は、ノード404の有するポートのうち、ノード401と接続されているポートを停止する。これにより、ノード404の先に接続されているノードとは通信ができなくなるものの、ノード401、402、403、405の間であらたなGap_Count設定ノードが設定され、不正なGap_Countが設定されるのを防ぐことができる。
【0076】
なお、監視ノードとなり得るノードがネットワーク上に複数存在する場合、1台のみが監視ノードとなるように管理する。たとえば、監視ノードとなり得るノードは、監視処理を始める前に他のノードに対して監視処理開始を宣言し、最も早く監視処理開始を宣言したノードが監視ノードとなるなどの方法がある。また、各ノードに機器識別子を付して、機器識別子によって監視ノードを設定したり、最新の機器を監視ノードに設定するなどの方法であってもよい。
【0077】
また、監視ノードの処理負担を軽減することによって、より短時間でユーザに警告をおこなうようにしてもよい。前述した実施例において、監視ノードは、Gap_Count設定ノードがGap_Countの設定をおこなったかを監視し(図6参照)、Gap_Count設定ノードが設定したGap_Countが適切な値であるかを監視した(図7参照)。このような処理に代えて、以下のような処理をおこなうようにしてもよい。
【0078】
たとえば、IEEE1394bに対応していないIEEE1394−1995やIEEE1394aノードがGap_Count設定ノードとなった場合、Gap_Countは、バスのホップ数をもとにあらかじめ計算されたGap_Count値の表に基づいて設定される。もしくは、IEEE1394a規格における最大のホップ数である16のときのGap_Count値である「43」や、Gap_Countは6ビット長の値であるので、2ビット長で表現できる最大値である63に設定される。
【0079】
このような値がGap_Countに設定された場合、監視ノードは、1394混在ネットワークにおいては不適切な値であるとして、ユーザに警告をおこなう。これにより、Observe_Gap_Countを算出したり、他のノードに設定されたGap_Countとの比較をしたりする必要がなく、監視ノードの処理負担を軽減させ、より短時間のうちにユーザに警告をおこなうことができる。
【0080】
また、監視ノードによって、バスリセットの発生後、Gap_Countの設定がおこなわれる前に他のノードからPingパケットの発行があったかどうかを監視するようにしてもよい。他のノードからPingパケットの発行がない場合、Gap_Countの算出にPingを使用していないこととなり、1394混在ネットワークにおいては不適切な値が設定されたこととなる。これをユーザに警告することによって、監視ノードの処理負担を軽減させ、より短時間のうちにユーザに警告をおこなうことができる。
【0081】
上述した方法でGap_Countの設定が適切であるかを判断する場合、バス上のノード数とトポロジを考慮することによって、より適切な場合に警告をおこなうことができる。たとえば、車載機器をつなぐネットワーク(以下、車載ネットワークという)は、閉じたネットワークとなることが多く、最大ケーブル長があらかじめ定まったシステム構成とできる場合がある。このとき、IEEE1394bノード間のデータの伝播時間を固定値とすることができる。
【0082】
たとえば、IEEE1394bノード間のケーブル長が最大9メートルのシステムにおいては、最大ケーブル長が4.5mのIEEE1394−1995やIEEE1394aノードに対して、ホップ数は2倍と考える。このようにIEEE1394bノード間のホップに対して暫定的に重みを付けることによって、1394混在ネットワークにおいても、ホップ数によってGap_Countを求めることができる。このように、トポロジ構成を考慮にいれることによって、より精度の高い警告をおこなうことができる。
【0083】
以上説明したように、実施例にかかる通信監視装置によれば、Gap_Count設定ノードによって設定されたGap_Count値を監視し、不適切な値であるかどうかを判断し、不適切な値であった場合にはユーザに警告をおこなう。これにより、ネットワークが不安定な状態になるのを事前に防止することができる。
【0084】
また、不適切なGap_Countを設定したGap_Count設定ノードの機器名称や、Gap_Count設定ノードが設定したGap_Countが不適切な値となってしまう原因であるIEEE1394bに対応する機器の名称を、警告の際に呈示する情報を含ませることによって、ユーザにどの機器が原因でバスが不安定になる可能性があるかを示すことができる。
【0085】
以上説明したように、通信監視装置、通信監視方法、通信監視プログラムおよび記録媒体によれば、不適切な通信制御値が設定されるのを防止することができる。
【0086】
なお、本実施の形態で説明した通信監視方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
Claims (12)
- IEEE1394シリアルバスを用いて複数の機器が接続されたネットワークを監視する通信監視装置であって、
前記ネットワークにおける他の機器が決定または管理する通信制御値に関する情報を取得する取得手段と、
前記ネットワークに適合した前記通信制御値を算出する算出手段と、
前記算出手段によって算出された通信制御値と、前記取得手段によって取得された通信制御値に関する情報とを比較して、前記通信制御値に関する情報が前記ネットワークに適合しているか否かを判断する判断手段と、
前記判断手段による判断結果を通知する通知手段と、
を備えることを特徴とする通信監視装置。 - 前記取得手段は、前記通信制御値に関する情報として前記ネットワークにおけるGap_Count値を取得することを特徴とする請求項1に記載の通信監視装置。
- 前記算出手段は、前記ネットワークに接続された各機器にPingパケットを送信し、送信した前記Pingパケットへの返答として前記各機器から送信されるSelf_IDパケットを受信するまでの時間に基づいて、前記通信制御値を算出することを特徴とする請求項2に記載の通信監視装置。
- IEEE1394シリアルバスを用いて複数の機器が接続されたネットワークを監視する通信監視装置であって、
前記ネットワークにおける他の機器が決定または管理する通信制御値に関する情報を取得する取得手段と、
前記取得手段によって取得された通信制御値に関する情報に基づいて、前記通信制御値に関する情報が前記ネットワークに適合しているか否かを判断する判断手段と、
前記判断手段による判断結果を通知する通知手段と、を備え、
前記取得手段は、前記通信制御値に関する情報として前記ネットワークにおけるGap_Count値を決定する機器に関する情報を取得することを特徴とする通信監視装置。 - 前記取得手段は、前記Gap_Count値を決定する機器に関する情報として、前記ネットワークに接続された機器を識別する機器識別情報を取得することを特徴とする請求項4に記載の通信監視装置。
- 前記ネットワークは、IEEE1394bに対応した機器およびIEEE1394bに対応していない機器がそれぞれ少なくとも1つずつ接続され、
前記判断手段は、前記IEEE1394bに対応していない機器が前記通信制御値を決定する機器になった場合に、前記通信制御値に関する情報が前記ネットワークに適合しないと判断することを特徴とする請求項1または4に記載の通信監視装置。 - 前記判断手段によって前記通信制御値に関する情報が前記ネットワークに適合しないと判断された場合に、その原因となる機器を特定する機器特定手段を備え、
前記通知手段は、前記機器特定手段によって特定された機器に関する情報を通知することを特徴とする請求項1または4に記載の通信監視装置。 - 前記判断手段によって前記通信制御値に関する情報が前記ネットワークに適合しないと判断された場合に、その原因となる機器を特定する機器特定手段と、
前記機器特定手段によって特定された機器と前記ネットワークとの接続を切断する切断手段と、
を備えることを特徴とする請求項1または4に記載の通信監視装置。 - IEEE1394シリアルバスを用いて複数の機器が接続されたネットワークを監視する通信監視方法であって、
前記ネットワークにおける他の機器が決定または管理する通信制御値に関する情報を取得する取得工程と、
前記ネットワークに適合した前記通信制御値を算出する算出工程と、
前記算出工程で算出された通信制御値と、前記取得工程で取得された通信制御値に関する情報とを比較して、前記通信制御値に関する情報が前記ネットワークに適合しているか否かを判断する判断工程と、
前記判断工程による判断結果を通知する通知工程と、
を含むことを特徴とする通信監視方法。 - IEEE1394シリアルバスを用いて複数の機器が接続されたネットワークを監視する通信監視方法であって、
前記ネットワークにおける他の機器が決定または管理する通信制御値に関する情報を取得する取得工程と、
前記取得工程で取得された通信制御値に関する情報に基づいて、前記通信制御値に関する情報が前記ネットワークに適合しているか否かを判断する判断工程と、
前記判断工程による判断結果を通知する通知工程と、を含み、
前記取得工程は、前記通信制御値に関する情報として前記ネットワークにおけるGap_Count値を決定する機器に関する情報を取得することを特徴とする通信監視方法。 - 請求項10または11に記載の通信監視方法をコンピュータに実行させることを特徴とする通信監視プログラム。
- 請求項12に記載の通信監視プログラムを記録したコンピュータに読み取り可能な記録媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005096484 | 2005-03-29 | ||
JP2005096484 | 2005-03-29 | ||
PCT/JP2006/303568 WO2006103857A1 (ja) | 2005-03-29 | 2006-02-27 | 通信監視装置、通信監視方法、通信監視プログラムおよび記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2006103857A1 JPWO2006103857A1 (ja) | 2008-09-04 |
JP4252611B2 true JP4252611B2 (ja) | 2009-04-08 |
Family
ID=37053125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007510339A Expired - Fee Related JP4252611B2 (ja) | 2005-03-29 | 2006-02-27 | 通信監視装置、通信監視方法、通信監視プログラムおよび記録媒体 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7724686B2 (ja) |
EP (1) | EP1865663A1 (ja) |
JP (1) | JP4252611B2 (ja) |
WO (1) | WO2006103857A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101471833B (zh) * | 2007-12-29 | 2012-01-25 | 联想(北京)有限公司 | 一种数据处理方法和装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0511588U (ja) * | 1991-07-24 | 1993-02-12 | 横河電機株式会社 | 通信制御装置 |
JPH10285236A (ja) * | 1997-04-01 | 1998-10-23 | Sony Corp | 信号処理回路 |
US6157972A (en) * | 1997-12-05 | 2000-12-05 | Texas Instruments Incorporated | Apparatus and method for processing packetized information over a serial bus |
JPH11331214A (ja) | 1998-05-13 | 1999-11-30 | Sony Corp | 情報処理装置及び方法、並びに提供媒体 |
JP2000101614A (ja) * | 1998-09-24 | 2000-04-07 | Matsushita Electric Ind Co Ltd | バス管理方法 |
JP2002009796A (ja) * | 2000-06-26 | 2002-01-11 | Sony Corp | データ転送システム及びデータ転送管理装置並びにデータ転送方法 |
US7180857B2 (en) * | 2000-11-24 | 2007-02-20 | Matsushita Electric Industrial Co., Ltd | Apparatus and method for flow control |
JP2002217928A (ja) * | 2001-01-16 | 2002-08-02 | Sony Corp | 通信制御方法及び通信装置 |
JP2004522339A (ja) * | 2001-03-06 | 2004-07-22 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 多数のステーションを有するネットワーク内にて、最悪のケースのギャップカウント値を決定するシステム、方法、及び、測定ノード |
US7013342B2 (en) * | 2001-12-10 | 2006-03-14 | Packeteer, Inc. | Dynamic tunnel probing in a communications network |
DE10322950A1 (de) * | 2003-05-22 | 2004-12-16 | Deutsche Thomson-Brandt Gmbh | Verfahren zur Einstellung konsistenter Werte für einen Parameter in einem Netzwerk verteilter Stationen sowie Netzwerkteilnehmerstation für die Durchführung des Verfahrens |
-
2006
- 2006-02-27 US US11/909,929 patent/US7724686B2/en not_active Expired - Fee Related
- 2006-02-27 EP EP06714705A patent/EP1865663A1/en not_active Withdrawn
- 2006-02-27 WO PCT/JP2006/303568 patent/WO2006103857A1/ja active Application Filing
- 2006-02-27 JP JP2007510339A patent/JP4252611B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2006103857A1 (ja) | 2006-10-05 |
EP1865663A1 (en) | 2007-12-12 |
US20080198758A1 (en) | 2008-08-21 |
JPWO2006103857A1 (ja) | 2008-09-04 |
US7724686B2 (en) | 2010-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6587904B1 (en) | Method and apparatus for preventing loops in a full-duplex bus | |
CN108683528B (zh) | 一种数据传输方法、中心服务器、服务器及数据传输系统 | |
US7855971B2 (en) | Interface device and topology formation method | |
JP2013085052A (ja) | 表示装置及び再生装置 | |
JP2002077182A (ja) | ネットワークエラー表示装置およびエラー検出表示方法 | |
US20160006801A1 (en) | Data sharing system | |
JP4252611B2 (ja) | 通信監視装置、通信監視方法、通信監視プログラムおよび記録媒体 | |
CN101127580B (zh) | 节点装置、控制装置和控制方法 | |
JP2006020224A (ja) | 通信制御装置、電子機器および通信制御方法 | |
CN112422428B (zh) | 链路状态获取方法、装置、电子设备及可读存储介质 | |
KR100605985B1 (ko) | 동기화 이더넷 디바이스에서의 초기 접속 시그널링 방법 | |
US20180018296A1 (en) | Flow control protocol for an audio bus | |
KR20080047425A (ko) | 저장된 장치 이력에 기초한 애드혹 네트워킹에 대한이용가능성 공시 | |
JP2010056716A (ja) | インターフェース装置及びトポロジ構築方法 | |
KR20180131095A (ko) | 이종망 데이터 전송이 가능한 i2c 통신 고속화 시스템 | |
JP2003046511A (ja) | 情報処理装置と情報処理方法、及び情報処理システム、並びに記憶媒体 | |
KR101008492B1 (ko) | 오디오 입출력 제어 시스템 | |
JP2006277287A (ja) | コンテンツ提供システム,情報収集装置およびプログラム | |
JP2004194220A (ja) | データ通信装置、デジタルビデオカメラ、データ通信装置の制御方法、記録媒体およびプログラム | |
EP1575220A1 (en) | Data transmission system, data transmission method, and data transmission apparatus | |
CN104601340A (zh) | 一种跨idc的数据传输方法、设备及系统 | |
JP2003078527A (ja) | ネットワーク装置 | |
CN117676766A (zh) | 一种总线数据处理方法、装置、设备及存储介质 | |
JP2001101125A (ja) | システム構成の自動変更方法及び装置並びに記憶媒体 | |
JP2013085051A (ja) | 伝送方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20090120 |
|
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: 20090121 |
|
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: 20120130 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |