JP4045903B2 - 情報更新方法 - Google Patents
情報更新方法 Download PDFInfo
- Publication number
- JP4045903B2 JP4045903B2 JP2002258068A JP2002258068A JP4045903B2 JP 4045903 B2 JP4045903 B2 JP 4045903B2 JP 2002258068 A JP2002258068 A JP 2002258068A JP 2002258068 A JP2002258068 A JP 2002258068A JP 4045903 B2 JP4045903 B2 JP 4045903B2
- Authority
- JP
- Japan
- Prior art keywords
- list
- node
- revocation
- topology
- revocation list
- 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
Landscapes
- Storage Device Security (AREA)
- Small-Scale Networks (AREA)
Description
【発明の属する技術分野】
この発明は、一つのトポロジ内に接続された機器が有する不正機器の登録情報を適正に更新するようにした情報更新方法に関する。
【0002】
【従来の技術】
近年、情報信号パケットと制御信号パケットとをシリアルで高速に伝送可能な、IEEE(Institute Electrical and Erectronic Engineers)−1394規格によるディジタルインターフェイスが普及してきている。IEEE−1394規格によるインターフェイス(以下、IEEE1394I/Fと略称する)は、リアルタイム性が保証される転送方式であるアイソクロナス転送を用いて、画像データや音声データといった、ディジタルコンテンツデータを高速に転送することが可能である。
【0003】
また、IEEE1394I/Fでは、電源を投入したままでケーブルの挿抜が可能な、活線挿抜がサポートされている。さらに、IEEE1394I/Fでは、接続形態(トポロジ)として、スター型トポロジを元に、それを複数接続したトポロジがサポートされており、より自由度の高い接続形態を選択することができる。すなわち、IEEE1394I/Fでは、トポロジとして、デイジーチェーン接続はもとより、ツリー型接続をもとることができる。
【0004】
IEEE1394I/Fを用いたディジタルコンテンツデータの転送においては、コンテンツデータの劣化がないため、高品質のコピーを容易に作成することができる。したがって、著作権保護の観点から、より安全なコピープロテクションの技術が必要となる。そのため、DTCP規格(Digital Transmission Content Protection Specification)と称される、ディジタルコンテンツ伝送時のコピープロテクションに関する規格が制定されている。このDTCP規格によれば、リボケーションリストと称される、コピープロテクションに関して不正な機器を登録しているリストを機器毎に持つことにより、不正な機器に対してコンテンツの送受信が行われないように規定されている。
【0005】
IEEE1394I/Fを有する機器には、リボケーションリストを持たなくてはいけない機器と、リボケーションリストを持たない機器とがある。一度も記録が許可されないコンテンツデータの処理を可能とするような機器は、リボケーションリストを持たなくてはいけない。例えば、一度も記録が許可されないコンテンツデータを外部に出力することの可能な、ディジタルテレビジョン受像機は、このリボケーションリストを持たなくてはいけない機器に該当する。一方、ディジタルVTR(Video Tape Recorder)などは、リボケーションリストを持たなくてはいけない機器と、リボケーションリストを持たない機器との両方が存在する。
【0006】
ところで、リボケーションリストは、不正な機器が新たに発見されるのに伴い更新される必要がある。このリボケーションリストの更新方法は、概略的には、以下の三通りがある。
【0007】
第1は、リボケーションリストを書き込んだメディアから更新する方法である。第2は、放送やインターネットなどで伝達されるリボケーションリストを含んだストリームから更新する方法である。
【0008】
第3は、IEEE1394ケーブルによって接続されている機器同士で更新する方法である。IEEE1394I/Fにおいては、既にIEEE1394I/Fに準拠したケーブル(以下、1394ケーブル)で機器同士が接続されている場合には、接続されている機器の仕様に応じて接続された機器同士で互いに認証と鍵交換がなされ、データ転送が可能な状態とされる。例えば、機器間でこの認証と鍵交換の処理が行われた際に、機器間のリボケーションリストを比較し、より新しいリストを持っていた機器からそのリストを受信することにより、リボケーションリストが更新される。こうすることで、新しいリストが機器間で伝搬していき、リストが更新される仕組みである。
【0009】
例えば、上述の第1の方法や第2の方法でリボケーションリストが更新された機器に対して、リボケーションリストが更新されていない機器を接続し、認証と鍵交換が行われることで、当該機器のリボケーションリストが更新される。
【0010】
【発明が解決しようとする課題】
しかしながら、この第3の方法では、機器間の認証が行われないとリボケーションリストが更新できないため、IEEE1394I/Fにより接続された同じトポロジ上に、自分が持っているリボケーションリストより新しいリストを持っている機器があっても、その機器との間で認証処理をしない限り、リボケーションリストの更新ができないという問題点があった。
【0011】
IEEE1394の同じトポロジ上のリボケーションリストを持つ機器が同じリストを持っていない可能性があるというのは、安全上問題がある。そのため、従来から、新しいリボケーションリストをより確実に伝搬する方法が求められていた。
【0012】
したがって、この発明の目的は、IEEE1394I/Fにより互いに接続された機器に対して、より確実に新しいリボケーションリストを伝搬することができる情報更新方法を提供することにある。
【0013】
【課題を解決するための手段】
請求項1に記載の発明は、上述した課題を解決するために、ツリー型接続が可能で、活線挿抜に対応したインターフェイスによる情報更新方法において、
それぞれ不正機器を示す情報が登録されたリボケーションリストを保持する1または複数の機器が接続されてなる第1のトポロジと、それぞれ不正機器を示す情報が登録されたリボケーションリストを保持する1または複数の機器が接続されてなる第2のトポロジとが接続された際に、第1のトポロジ内のリボケーションリストを管理する機器である第1のリストマネージャが保持する上リボケーション記リストと、第2のトポロジ内のリボケーションリストを管理する機器である第2のリストマネージャが保持するリボケーションリストとを比較する比較のステップと、
比較のステップによる比較結果に基づき、第1のリストマネージャが保持するリボケーションリストおよび第2のリストマネージャが保持するリボケーションリストのうち新しい方のリボケーションリストにより古い方のリボケーションリストを更新する更新のステップと
を有し、
更新のステップによるリボケーションリストの更新の後に、リストマネージャが属するトポロジ内の1または複数の機器が保持するリボケーションリストがリストマネージャが保持するリボケーションリストにより更新され、
更新のステップによる更新の途中で、第1および第2のトポロジからなる新たなトポロジに対して、それぞれリボケーションリストを保持する1または複数の機器が接続されてなる第3のトポロジが接続されたら、現在の更新を中断して、第3のトポロジの接続処理を行い、
接続処理の後、第3のトポロジ内のリボケーションリストを管理する機器である第3のリストマネージャが保持するリボケーションリストと、比較のステップによる比較結果に基づく新しい方のリボケーションリストとを比較し、比較の結果、第3のリストマネージャが保持するリボケーションリストが新しい方のリボケーションリストよりも新しいとされた場合、第3のリストマネージャが保持するリボケーションリストにより新しい方のリボケーションリストを更新し、更新された新しい方のリボケーションリストを用いて中断された更新のステップを再開するようにしたことを特徴とする情報更新方法。
【0016】
上述したように、請求項1に記載の発明は、それぞれリボケーションリストを保持する1または複数の機器が接続されてなる第1のトポロジと、それぞれリボケーションリストを保持する1または複数の機器が接続されてなる第2のトポロジとが接続された際に、第1のトポロジ内のリボケーションリストを管理する機器である第1のリストマネージャが保持するリボケーションリストと、第2のトポロジ内のリボケーションリストを管理する機器である第2のリストマネージャが保持するリボケーションリストとを比較し、比較結果に基づき、第1のリストマネージャが保持するリボケーションリストおよび第2のリストマネージャが保持するリボケーションリストのうち新しい方のリボケーションリストにより古い方のリボケーションリストを更新し、リボケーションリストの更新の後に、リストマネージャが属するトポロジ内の1または複数の機器が保持するリボケーションリストがリストマネージャが保持するリボケーションリストにより更新されるようにしているため、トポロジ同士が接続された場合でも、それぞれのトポロジ内の各機器に対して、確実に新しいリボケーションリストを伝搬させることができる。
【0018】
【発明の実施の形態】
以下、この発明の実施の一形態を、図面を参照しながら説明する。図1は、この発明の実施の一形態に適用可能なIEEE1394機能基板120の一例の構成を示す。この図1に一例が示される構成は、例えば、IEEE1394の規格に対応したディジタルテレビジョン受像機やディジタルビデオレコーダなどの機器に対して実装される。
【0019】
内部CPUバス100に対して、CPU(Central Processing Unit)101、RAM(Random Access Memory)102およびROM(Read Only Memory)103が接続される。CPU101は、ROM103に予め記憶されたプログラム(ファームウェア)に基づきこのIEEE1394機能基板120の全体の動作を制御する。また、ROM103には、機器を識別するための識別情報(機器ID)なども予め格納される。RAM102は、例えばCPU101のワークメモリとして用いられる。また、RAM102は、常に電池電源などによりバックアップすることで不揮発性メモリとして用いることができる。
【0020】
IEEE1394機能基板120は、CPU101により制御信号用データバス107を介して外部とやりとりがなされることにより、全体の動作が制御される。制御信号用データバス107は、例えば、このIEEE1394機能基板120が実装されるディジタルテレビジョン受像機などの機器の制御部と接続される。
【0021】
IEEE1394機能基板120は、機能的には、物理レイヤ、リンクレイヤ、トランザクションレイヤの3層と、シリアルバスマネージメントから構成される。これらのうち、トランザクションレイヤおよびシリアルバスマネージメントは、上述のファームウェアで実現され、物理レイヤおよびリンクレイヤは、それぞれ物理レイヤ部105およびリンクレイヤ部104により実現される。物理レイヤ部105およびリンクレイヤ部104は、例えばそれぞれ1チップの集積回路で構成される。
【0022】
内部CPUバス100に対して、リンクレイヤ部104を介して物理レイヤ部105が接続される。また、リンクレイヤ部104では、TS信号用データバス109を介して外部とストリームのやりとりがなされる。例えば、このIEEE1394機能基板120がディジタルテレビジョン受像機に実装されている場合、ディジタルビデオ信号がTS信号用データバス109を介してやりとりされる。
【0023】
物理レイヤ部105には、1または複数のIEEE1394の規格に準拠したコネクタ(以下、1394コネクタと称する)106A、106Bおよび106Cが接続される。物理レイヤ部105は、これら1394コネクタを介して送受信される電気信号と、リンクレイヤ部104間とで信号処理を行う。物理レイヤ部105では、1394コネクタ106A、106Bおよび106Cや1394ケーブルなどの機械的インターフェイスの規定、リンクレイヤ部104で信号される論理信号のアナログ/ディジタル変換を行うエンコードおよびデコード処理、通信信号の電気レベルを決めるシグナルレベルなどの電気的インターフェイスの規定、通信ノード決定のためのアービトレーション、通信クロックの再同期、バスの初期化検出などが行われる。
【0024】
リンクレイヤ部104は、物理レイヤ部105とトランザクションレイヤとの間で信号処理を行う。リンクレイヤ部104では、アドレス割り当て、データチェック、データのフレーム分けを行うパケット送受信、サイクルのコントロールが行われる。なお、アイソクロナスデータは、トランザクションレイヤを介さずにデータ処理される。
【0025】
トランザクションレイヤは、上位アプリケーションとリンクレイヤ部104との間で信号処理を行う。リンクレイヤ部104では、上位アプリケーションに対してデータの読み出し、書き込み、ロックなどの処理を行う。すなわち、リンクレイヤ部104の処理を利用して、リクエストパケットの送信と、レスポンスパケットの受信を行うことによって、指定されたノードとアドレスに対する一つの通信処理が行われる。また、トランザクションレイヤでは、リクエストパケットの受信とレスポンスパケットの送信という、他のノードから自分への通信処理も行われる。
【0026】
シリアルバスマネージメントは、上述の3つのレイヤ全体の制御を行う。また、IEEE1394機能基板120では、複数機器の接続によるツリー構造に変化が生ずると、コンフィギュレーションが生起される。このコンフィギュレーションが保持されるコンフィギュレーションROMや、制御レジスタとして用いられるCSR(Control and Status Register)がシリアルバスマネージメントに含まれる。これらコンフィギュレーションROMやCSRは、例えばRAM103やCPU101内のレジスタを用いることができる。
【0027】
このような構成において、IEEE1394機能基板120が複数、1394ケーブルにより接続されると、バスが構成され、トポロジが形成される。IEEE1394I/Fでは、このトポロジの形態として、ツリー型をとることができる。IEEE1394I/Fにおけるトポロジの形成について、概略的に説明する。
【0028】
例えば1394コネクタ106Aに対し、1394ケーブルにより他のIEEE1394機能基板120が接続された場合、先ず、バスリセット信号が1394コネクタ106Aから出力され、トポロジ情報が全てクリアされる。次に、1394ケーブルにより接続された機器間での所定の信号のやりとりによりツリー識別が行われ、ツリーが構成される。ツリーを構成する各機器(IEEE1394機能基板120)は、ノードと称され、ツリーの末端に位置するノードをリーフノード、途中に位置するノードをブランチノードと称する。ツリー識別が完了すると、自己認識処理が行われ、各ノードに対して、トポロジ内でユニークな、物理的な識別子が与えられる。これにより、トポロジ内での各機器の位置を特定することができる。
【0029】
この発明では、IEEE1394で接続された、同一トポロジ内の機器のリボケーションリストを、常に同一トポロジ内の最新のリストにしておくために、トポロジが変化したとき、すなわちバスリセット時にリボケーションリストの更新を行う。
【0030】
その際、同一トポロジ内のリボケーションリストを管理する必要があるため、同一トポロジ内にリボケーションリストを持つ機器があれば、同一トポロジ内でリボケーションリストを管理する機器を1台設定する。この、リボケーションリストを管理するように設定された機器を、リストマネージャと称する。そして、同一トポロジ内の全ての機器のリボケーションリストが同一内容になった時点で、リストマネージャにより、同一トポロジ内の機器全てに対してリボケーションリストの更新が完了されたことが通知される。
【0031】
以下に、この発明の実施の一形態によるリボケーションリストの更新方法について、より詳細に説明する。先ず、リボケーションリスト(以下、適宜、リストと表記)について概略的に説明する。リボケーションリストは、IEEE1394I/Fに対応した機器(IEEE1394機器)が持っている、System Renewability Messageと称されるメッセージの中に存在する。System Renewability Messageは、世代(Generation)があり、Generationにより保持できるリストの大きさが異なる。
【0032】
図2は、First-Generation(第1世代)のSystem Renewability Messageの例を示す。メッセージは、Generationフィールドにおいて、このメッセージの世代が示され、Versionフィールドにおいてこのメッセージのバージョン(Version Number)が記述される。次に、リボケーションリスト、すなわち不正な機器のIDのリストListが記述される。不正機器リストListの先頭には、このリストのデータ長が記述される。不正機器リストListの次は、このメッセージが正しいか否かを判断するための情報Signatureが記述される。
【0033】
このようなリボケーションリストは、例えば図1のRAM102に保持される。
【0034】
図3〜図18は、リボケーションリストの更新方法を、様々な例について示す。なお、これら図3〜図18において、List0、1、・・・は、リボケーションリストを示し、数字が大きな値のリストがより新しいリボケーションリストであるものとする。各ノードNode#A、#B、・・・は、それぞれIEEE1394機能基板120を有する機器に対応する。また、図3〜図18において、「●(黒丸)」が付されたノードは、リストマネージャであることを示し、「○(白丸)」が付されたノードNodeは、過去にリストマネージャであって、リボケーションリストの更新処理の際にリストマネージャではなくなったノードNodeであることを示す。なお、リストマネージャは、基本的に、バスリセットの前後で同一の機器がなることにする。
【0035】
図3は、二つのノードNode#AおよびNode#BがIEEE1394I/Fにより接続されずに、互いに独立して存在する例である。この場合、ノードNode#AおよびノードNode#Bは、それぞれリストマネージャである。なお、ここでは、ノードNode#BがリボケーションリストList0、ノードNode#Aがより新しいリボケーションリストList1を有している。ノードNode#AとノードNode#Bとが接続されると、互いのリボケーションリストが比較され、図4の上側に示されるように、ノードNode#BのリストList0がより新しいリストList1に更新される。
【0036】
例えば、ノードNode#AとノードNode#Bとが接続されると、リストマネージャを設定するために、互いにブロードキャストでパケットが送信される。なお、ブロードキャストによる送信では、同一トポロジ内の全ての機器に対して、パケットが一斉同報される。
【0037】
双方の機器(ノードNode#AおよびノードNode#B)によりパケットがブロードキャスト送信されたら、リボケーションリストの更新処理が行われる。より新しいリボケーションリストを有する機器から古いリボケーションリストを有する機器に対して、新しいリボケーションリストが送信される。古いリストを有する機器では、例えば送信された新しいリボケーションリストで古いリボケーションリストを上書きすることで、リストの更新が行われる。なお、この例では、古いリストを持っていたノードNode#Bが新たなリストマネージャに設定されている。
【0038】
リボケーションリストの更新を行うためには、以下の2つのパケットが必要とされる。
(1)リストを更新するか否かを判断するために必要な情報を持つパケット
(2)リストを更新するためのパケット
【0039】
これらのうち、(1)のパケットは、当該パケットが送信された機器が持っているSystem Renewability MessageのGeneration情報およびVersion情報と、メッセージ自身の正当性を確認するための情報Signatureとを含んだパケットである。(2)のパケットは、System Renewability Messageそのものである。この場合には、System Renewability Message内の情報Signatureにより、正当性が確認される。
【0040】
図4の上側の構成に対し、図4の下側に示される、ノードNode#Cを追加することを考える。ノードNode#Cは、ノードNode#AおよびノードNode#Bが有するリボケーションリストよりも、より新しいリボケーションリストList2を有する。また、単独で存在するノードNode#Cは、それ自身がリストマネージャである。
【0041】
この場合、図5に一例が示されるように、先ず、リストマネージャ同士、すなわち、ノードNode#AとノードNode#Cとの間でリボケーションリストが比較される。この図5の例では、ノードNode#Cが有するList2がノードNode#Bが有するList1より新しいので、ノードNode#Bが有するリボケーションリストList1が、ノードNode#Cが有するリストList2により更新され、リストList2とされる。
【0042】
ノードNode#Bの有するリボケーションリストがリストList2に更新されたら、次に、ノードNode#Bと同一のトポロジ内にあるノードNode#AのリボケーションリストList1が、ノードNode#BのリストList2により更新され、リストList2とされる。
【0043】
このように、トポロジ内に新たに追加された機器に対してリボケーションリストのチェックを行い、追加された機器のリボケーションリストが新しい場合には、当該トポロジ内にある全ての機器のリボケーションリストを更新する必要がある。新たに追加された機器が有するリボケーションリストがより古い場合は、勿論、追加された機器のリボケーションリストが更新される。
【0044】
リボケーションリストを更新する必要があるか否かの判断は、上述したSystem Renewability Messageにおけるバージョン(Version Number)に基づきなされる。すなわち、互いのバージョンを比較し、より新しいバージョンのリボケーションリストを有する機器から古いバージョンのリストを有する機器に対して、リストが送信される。古いバージョンのリストを有する機器では、送信された新しいバージョンのリストを古いバージョンのリストに上書きすることで、リボケーションリストの更新が行われる。
【0045】
同一トポロジ内において、どの機器がリストマネージャであるかを知る方法として、リストマネージャからその旨を示すパケットをトポロジ内の全機器に対してブロードキャストにより送信する第1の方法と、各機器の所定のレジスタに対して値をセットして、当該機器がリストマネージャであることを示す第2の方法とが考えられる。
【0046】
第1の方法において、リストマネージャが持っているSystem Renewability MessageのGeneration情報およびVersion情報を含んだパケット、すなわち、上述した、リボケーションリストの更新を行うために必要な2つのパケットのうち、リストを更新するか否かを判断するために必要な情報を持つパケットを、同一トポロジ内にブロードキャスト送信する。これにより、同一トポロジ内の各機器は、リストマネージャを識別することができると共に、リストマネージャが有するリボケーションリストに対して、自分自身が有するリボケーションリストの新旧を知ることができる。リストマネージャは、互いにこのパケットを受信することで、相手のGeneration情報およびVersion情報を取得し、リボケーションリストの更新処理を行うことができる。
【0047】
次に、複数のトポロジが接続されて一つのトポロジとなった場合について説明する。例えば、上述した図5に示すトポロジと、図6に示すトポロジとがノードNode#Bによって接続され、図7に示されるトポロジが形成された場合について考える。ここで、図6は、ノードNode#Dに対してノードNode#EおよびノードNode#Fが接続され、ノードNode#Dがリストマネージャとされている。また、ノードNode#D、ノードNode#EおよびノードNode#Fは、同一のリボケーションリストList3を有する。
【0048】
図5に示されるトポロジ内の機器のリボケーションリストは、全てリストList2であり、同一である。同様に、図6に示されるトポロジ内のリボケーションリストは、全てリストList3であり、同一である。したがって、2つのトポロジが接続される以前の、2つのトポロジのリストマネージャであったノードNode#BおよびノードNode#Dのリボケーションリストを比較するだけで、リボケーションリストを更新することができる。
【0049】
この例では、比較の結果、ノードNode#Bが有するリストの方がノードNode#Dが有するリストよりも古いため、ノードNode#Dのリストを用いてノードNode#Bのリストが更新される。このとき、2つのリストマネージャのうち、古いリボケーションリストを有していたノードNode#Bが新しいリストマネージャとされる。
【0050】
ここでは、古いリボケーションリストを有している方をリストマネージャにしているが、これはこの例に限られず、新しいリストを有している方をリストマネージャにすることもできる。リストマネージャは、リボケーションリストの更新のための手続を行うため、このように、古いリボケーションリストを有している機器をリストマネージャにした方が、トポロジ内のリボケーションリストの状況を把握することが容易になり、好ましい。
【0051】
続けて、ノードNode#BによってノードNode#Aのリストが更新され、ノードNode#AによってノードNode#Cのリストが更新される。このように、複数の機器が追加されるときも、リストマネージャ同士でリボケーションリストの比較を行い、リストの更新が必要なリストマネージャがいたトポロジの機器全てに対して、リボケーションリストの更新が行われる。
【0052】
図3〜図7を用いて説明したようにして、バスリセット毎にリボケーションリストを更新することで、トポロジ内の全ての機器のリボケーションリストを、常に、トポロジ内の最新のリストにしておくことができる。
【0053】
なお、トポロジから機器が切り離された場合には、特に何もしなくてもよい。但し、リストマネージャがトポロジから切り離された場合には、新たにリストマネージャが設定される。
【0054】
上述した図5や図7の例のように、複数の機器についてリボケーションリストを更新する必要があるときの、更新手順について、図8を用いて説明する。なお、図8において、ノードNode#A、ノードNode#B、ノードNode#CおよびノードNode#Eは、それぞれリボケーションリストList0を有する。また、ノードNode#Dは、リボケーションリストを持たない機器である。
【0055】
これらノードNode#A〜#Eで構成されたトポロジに対して、リボケーションリストList1を有するノードNode#Fが接続されたものとする。ノードNode#A〜#Eが有するリボケーションリストよりも、新たに接続されたノードNode#Fが有するリボケーションリストの方が新しいため、ノードNode#FのリボケーションリストによりノードNode#A〜#Eを更新する必要がある。
【0056】
先ず、ノードNode#FがノードNode#A〜#Eからなるトポロジに接続されたため、ノードNode#Fと、リストマネージャであるノードNode#Aとの間でリボケーションリストが比較される。比較の結果、ノードNode#AのリストがノードNode#Fのリストよりも古いとされ、ノードNode#A〜#Eに対してリストの更新を行う必要があるとされる。ノードNode#AのリストList0は、ノードNode#FのリストList1によって更新され、リストList1とされる(SEQ1)。
【0057】
次に、ノードNode#Aにより、隣の機器、すなわちノードNode#Aに対して直接的に接続された機器のリボケーションリストが更新される(SEQ2)。この図8の例では、ノードNode#B、ノードNode#Dに対してリストの更新が行われる。このとき、ノードNode#Dは、リストを持っていない機器のため、ノードNode#Aにより、ノードNode#Dの隣の機器(ノードNode#E)に対してリストの更新が行われる(SEQ3)。また、ノードNode#Bにより、隣り合う機器(ノードNode#C)に対してリストの更新が行われる(SEQ4)。
【0058】
図8のノードNode#B、#C、#Eのように、リボケーションリストを更新する必要がある機器では、リストの更新が終了したら、リストマネージャにその旨が通知される。また、ノードNode#Fのように、リストを更新する必要が無い機器については、リストの更新が終わっているとみなし、リストの更新が終了している旨がリストマネージャに通知される。リストマネージャに、トポロジ内の全ての機器からリストの更新が終了した旨の通知が受信されたら、リストマネージャからトポロジ内の全ての機器に対して、リボケーションリストの更新が完了したことが通知される。
【0059】
次に、リボケーションリストを更新している途中でトポロジが変化したときの処理について説明する。
【0060】
先ず、リボケーションリストの更新中に、トポロジに新たな機器が追加された場合の処理について説明する。一例として、図9に示される、リボケーションリストList1を有するノードNode#BおよびノードNode#Aからなるトポロジに、それより新しいリストList2を有するノードNode#Cが追加されて図10に示されるトポロジが形成され、この図10のトポロジに対して、さらに、図11に示されるトポロジが追加される場合について考える。すなわち、図10に示されるトポロジのリストマネージャであるノードNode#Bに対して、図11に示されるトポロジのリストマネージャであるノードNode#Dが接続される。
【0061】
図9から図10へ移行する過程では、ノードNode#AおよびノードNode#BのリボケーションリストList1を、ノードNode#cのリストList2により更新する必要がある。このとき、図10のようにノードNode#Aのリストが更新されない時点で、図10のトポロジに対して図11のトポロジが接続された場合、トポロジそれぞれのリストマネージャであるノードNode#BおよびノードNode#Dが有するリボケーションリストの新旧の関係に基づき、図12、図13および図14に示される、3通りのケースが考えられる。
【0062】
図12は、接続されるそれぞれのトポロジのリストマネージャであるノードNode#BおよびノードNode#Dが同じリボケーションリストを有する場合の例を示す。この場合、リストマネージャ同士でのリボケーションリストの更新を行う必要が無いため、図9の処理の途中で中断された、ノードNode#Aのリストの更新が行われる。新しいトポロジのリストマネージャは、ノードNode#Bとされる。
【0063】
図13は、ノードNode#Bが有するリボケーションリストがノードNode#Dが有するリストよりも古い場合の例を示す。この場合、ノードNode#Aは、再びノードNode#Bによってさらに新しいリストに更新されるため、中断していたノードNode#Aの更新は、この時点では行わない。
【0064】
すなわち、先ず、ノードNode#DのリストList3によりノードNode#BのリストList2がリストList3に更新される(SEQ10)。次に、ノードNode#BのリストList3により、ノードNode#AのリストList1がリストList3に更新され(SEQ11)、さらに、更新されたノードNode#AのリストList3により、ノードNode#CのリストList2がリストList3に更新される(SEQ12)。新しいトポロジのリストマネージャは、古いリボケーションリストを有していたノードNode#Bとされる。
【0065】
図14は、ノードNode#Bが有するリボケーションリストがノードNode#Dが有するリストよりも新しい場合の例を示す。この場合、ノードNode#Bが有するリストにより、ノードNode#Dが有するリストが更新された後、ノードNode#DのリストによりノードNode#Eおよび#Fのリストが更新される。それと共に、ノードNode#Bのリストにより、中断されていたノードNode#Aのリストが更新される。
【0066】
すなわち、先ず、ノードNode#BのリストList2によりノードNode#DのリストList0がリストList2に更新される(SEQ20)。そして、更新されたノードNode#DのリストList2により、ノードNode#EのリストList0がリストList2に更新され(SEQ21)、ノードNode#DのリストList2により、ノードNode#FのリストList0がリストList2に更新される(SEQ22)。一方、ノードNode#BのリストList2により、中断されていたノードNode#AのリストList1の更新が再開され(SEQ23)、ノードNode#AのリストList1がリストList2に更新される。新しいトポロジのリストマネージャは、古いリボケーションリストを有していたノードNode#Dとされる。なお、この図14の例において、SEQ21、22および23は、並列的に処理することができる。
【0067】
次に、リボケーションリストを更新している途中でトポロジが分かれたときの処理について説明する。一例として、図15の左側に示される、それぞれリボケーションリストList1を有するノードNode#B、#A、#C、#Dおよび#Eからなり、ノードNode#Bをリストマネージャとするトポロジと、右側の単独のノードNode#Fとが接続され、図16に示されるようなトポロジが形成されたものとする。
【0068】
図16のトポロジが形成された際に、図15の左側に示されるトポロジのリストマネージャであるノードNode#Bと、単独ノードであるノードNode#Fとでリボケーションリストが比較される。この図15の例では、ノードNode#Fが有するリボケーションリストList2の方が、ノードNode#Bが有するリストList1よりも新しいため、ノードNode#Fのリストにより、ノードNode#BのリストList1がリストList2に更新される。この後、ノードNode#Bにより、ノードNode#Bの隣の機器、すなわち、ノードNode#AおよびノードNode#Dに対してリボケーションリストの更新が行われる。
【0069】
このとき、ノードNode#Dのリボケーションリストの更新中に、図16に示されるトポロジからノードNode#Dが切り離され、トポロジが図17および図18に示される2つのトポロジに分割された場合について考える。この場合、分割されたトポロジ内にリストマネージャが存在するか否かで、処理が異なる。
【0070】
図17は、分割されたトポロジ内にリストマネージャが存在する例を示す。この場合、リストマネージャであるノードNode#Bにより、リボケーションリストが更新された機器と更新されていない機器とが把握される。したがって、リボケーションリストが更新されていない機器に対して、リストマネージャによりリストの更新が行われる。この図17の例では、ノードNode#CがノードNode#BにリストList2より古く、ノードNode#Cが有するリストList1が更新されていないことがわかるので、リストマネージャであるノードNode#Bが有するリストList2により、ノードNode#Cが有するリストList1がリストList2に更新される。
【0071】
図18は、分割されたトポロジ内にリストマネージャが存在しない例を示す。この場合には、当該トポロジ内に、新たにリストマネージャを設定する必要がある。既にリボケーションリストを更新された機器のうち一つが新たなリストマネージャとされる。
【0072】
例えば、切り離されたトポロジ内の、トポロジが切り離される前にリボケーションリストが更新された機器において、所定のレジスタの値を設定するなどの、自分自身がリストマネージャとなれるような処理が任意に行われる。この処理が行われた機器により、トポロジが切り離された際に、トポロジ内にその旨がブロードキャストされる。トポロジ内の複数の機器でこの処理が行われた場合、例えば、最も早くリストマネージャ設定のブロードキャストを行った機器を、リストマネージャとすることが考えられる。
【0073】
リボケーションリストが更新されていない機器は、このようにして設定されたリストマネージャに対して、リストの更新を要求する。当該トポロジ内に、ある一定期間が過ぎてもリストマネージャとなる機器が現れないときは、当該トポロジ内にリボケーションリストを更新された機器が存在しないと考えられる。この場合には、例えば上述のような方法を当該トポロジの全ての機器に対して行うことにより、当該トポロジ内の任意の一つの機器がリストマネージャとされる。
【0074】
以上の動作によって、トポロジ内のリボケーションリストが全て同一の、より新しいものに更新される。
【0075】
図19は、上述したリボケーションリストの更新処理の一例を示すフローチャートである。先ず、ステップS10であるトポロジ(以下、元のトポロジ)に対して新たに機器が接続されると、IEEE1394の規定に基づきバスリセットされ、当該トポロジ内の全ての機器に、トポロジ内に機器が追加されトポロジが変化されたことが認識される(ステップS11)。ステップS12では、新たなトポロジ内の全ての機器において自分自身がリストマネージャであるか否かが判断される。若し、リストマネージャでは無いと判断されれば、処理は後述するステップS18に移行する。
【0076】
このステップS12の時点で、新たな機器が接続されて形成されたトポロジ内に、元のトポロジにおけるリストマネージャと、新たに追加された機器群のトポロジにおけるリストマネージャの2つのリストマネージャが存在することになる。
【0077】
一方、ステップS12で、自分自身がリストマネージャであると判断されれば、その機器において、処理はステップS13に移行する。ステップS13では、リストマネージャすなわち自分自身からトポロジ内の全ての機器に対して、Generation情報とVersion情報とを含んだパケットがブロードキャスト送信される。また、次のステップS14で、ステップS13と同様に、もう一方のリストマネージャから、Generation情報とVersion情報とを含んだパケットがブロードキャスト送信される。つまり、リストマネージャは、パケットをブロードキャスト送信すると共に、もう一方のリストマネージャからのパケットを受信する。
【0078】
ステップS15では、上述のステップS13およびS14において、双方のリストマネージャからブロードキャスト送信されたパケットに基づき、リボケーションリストを更新する必要があるか否かが判断される。
【0079】
若し、パケット内のGeneration情報およびVersion情報に基づき、新たに追加された機器を含む、トポロジ内の全ての機器が同じリボケーションリストを有しているとされた場合には、リストの更新を行う必要が無いと判断され、処理はステップS21に移行される。ステップS21では、トポロジ内のリストマネージャを1台とするために、元のトポロジおよび新たに追加された機器側の、何方か一方のリストマネージャがリストマネージャとしての機能を解除される。
【0080】
一方、上述したステップS15で、新たに追加された機器側と、元のトポロジ内とでリボケーションリストが異なるとされた場合には、リストの更新の必要があると判断され、処理はステップS16に移行される。ステップS16では、互いのパケット内のGeneration情報およびVersion情報に基づき、新しいリボケーションリストを有するリストマネージャから古いリストを有するリストマネージャへ、リボケーションリストが送信される。このリボケーションリストを受信した、古いリボケーションリストを有するリストマネージャにおいて、受信された新しいリストにより古いリストが更新される。
【0081】
ステップS16でリボケーションリストの更新が行われると、処理がステップS17に移行され、元のトポロジのリストマネージャおよび新たに追加された機器側のリストマネージャのうち、新しいリボケーションリストを有していた方のリストマネージャがリストマネージャとしての機能を解除される。これにより、残ったリストマネージャがトポロジ内の唯一のリストマネージャとされる。
【0082】
次のステップS18では、ステップS17においてトポロジ内で唯一とされたリストマネージャから、当該リストマネージャの隣の機器、すなわち、当該リストマネージャに直接的に接続されている機器に対して、当該リストマネージャが有しているリボケーションリストが送信される。当該リストマネージャの隣の機器が有するリボケーションリストは、このリストマネージャから送信されたリボケーションリストにより更新される。
【0083】
次のステップS19では、さらに、リストマネージャから送信されたリボケーションリストによりリストが更新された機器から、当該機器の隣りの機器に対してリボケーションリストが送信される。この送信されたリボケーションリストにより、当該隣の機器のリストが更新される。リストが更新されると、その旨が当該隣の機器からリストマネージャに通知される。
【0084】
次のステップS20で、トポロジ内の全ての機器のリボケーションリストが更新されたか否かが判断される。若し、トポロジ内の全ての機器のリボケーションリストが更新されたと判断されれば、一連の処理が終了される。一方、トポロジ内に、まだリボケーションリストが更新されていない機器が存在すると判断されれば、処理はステップS19に戻され、直前にリボケーションリストを更新された機器の隣の機器のリストが、上述したようにして更新される。このように、リストを更新された機器がさらに隣の機器のリストを更新することにより、最終的にはトポロジの終端(リーフ)に達し、トポロジ内の全ての機器のリストが更新される。
【0085】
なお、上述では、この発明にIEEE1394I/Fを適用した例について説明したが、これはこの例に限定されない。この発明は、活線挿抜が可能で、ツリー型の接続形態をとることができる他のインターフェイスにも適用することができる。例えば、USB(Universal Serial Bus)に対してこの発明を適用することも可能である。
【0086】
さらに、上述では、ノード間で交換され更新される情報が不正情報機器に関する情報であるとして説明したが、これはこの例に限定されず、他の情報をノード間で交換し更新するようにしてもよい。
【0087】
【発明の効果】
以上説明したように、この発明では、IEEE1394I/Fで接続されたトポロジ内に、リボケーションリストを管理するためのリストマネージャを設け、このリストマネージャの有するリボケーションリストに基づき、順次、隣の機器が有するリストを更新するようにしているため、トポロジ全体のリボケーションリストリストを、常に最新且つ同一に保つことができるという効果がある。
【0088】
従来では、IEEE1394I/Fで接続された同じトポロジ内に、新しいリボケーションリストを有する機器と古いリボケーションリストを有している機器が混在している可能性があった。その際、新しいリボケーションリストには記載されていて、古いリボケーションリストには記載されていない不正機器が同じトポロジ内に存在した場合、古いリボケーションリストを有する機器は、不正機器との間でデータのやりとりを行うことが可能となってしまうという危険性があった。しかしながら、この発明によれば、上述したように、トポロジ内のリボケーションリストが常に最新且つ同一に保たれるため、このような危険性が回避できるという効果がある。
【0089】
すなわち、この発明を用いることで、IEEE1394I/Fで接続された同一トポロジ内の全ての機器が同一のリボケーションリストを有することになり、トポロジ全体でリボケーションリストに登録されている不正機器とのやりとりをブロックできるという効果がある。
【0090】
また、この発明によれば、トポロジが変化される度にリボケーションリストの更新が行われるため、より新しいリボケーションリストがより早く広範に伝搬される可能性が高まり、より安全性が高くなるという効果がある。
【図面の簡単な説明】
【図1】この発明の実施の一形態に適用可能なIEEE1394I/Fの一例の構成を示すブロック図である。
【図2】リボケーションリストが含まれるメッセージの一例の構成を示す略線図である。
【図3】リボケーションリストの更新方法を説明するための図である。
【図4】リボケーションリストの更新方法を説明するための図である。
【図5】リボケーションリストの更新方法を説明するための図である。
【図6】リボケーションリストの更新方法を説明するための図である。
【図7】リボケーションリストの更新方法を説明するための図である。
【図8】リボケーションリストの更新方法を説明するための図である。
【図9】リボケーションリストの更新方法を説明するための図である。
【図10】リボケーションリストの更新方法を説明するための図である。
【図11】リボケーションリストの更新方法を説明するための図である。
【図12】リボケーションリストの更新方法を説明するための図である。
【図13】リボケーションリストの更新方法を説明するための図である。
【図14】リボケーションリストの更新方法を説明するための図である。
【図15】リボケーションリストの更新方法を説明するための図である。
【図16】リボケーションリストの更新方法を説明するための図である。
【図17】リボケーションリストの更新方法を説明するための図である。
【図18】リボケーションリストの更新方法を説明するための図である。
【図19】リボケーションリストの更新処理の一例を示すフローチャートである。
【符号の説明】
101・・・CPU、102・・・RAM、103・・・ROM、104・・・リンクレイヤ部、105・・・物理レイヤ部、106A,106B,106C・・・1394コネクタ
Claims (2)
- ツリー型接続が可能で、活線挿抜に対応したインターフェイスによる情報更新方法において、
それぞれ不正機器を示す情報が登録されたリボケーションリストを保持する1または複数の機器が接続されてなる第1のトポロジと、それぞれ不正機器を示す情報が登録されたリボケーションリストを保持する1または複数の機器が接続されてなる第2のトポロジとが接続された際に、上記第1のトポロジ内の上記リボケーションリストを管理する上記機器である第1のリストマネージャが保持する上リボケーション記リストと、上記第2のトポロジ内の上記リボケーションリストを管理する上記機器である第2のリストマネージャが保持する上記リボケーションリストとを比較する比較のステップと、
上記比較のステップによる比較結果に基づき、上記第1のリストマネージャが保持するリボケーションリストおよび上記第2のリストマネージャが保持するリボケーションリストのうち新しい方のリボケーションリストにより古い方のリボケーションリストを更新する更新のステップと
を有し、
上記更新のステップによるリボケーションリストの更新の後に、リストマネージャが属するトポロジ内の1または複数の機器が保持するリボケーションリストがリストマネージャが保持するリボケーションリストにより更新され、
上記更新のステップによる上記更新の途中で、上記第1および第2のトポロジからなる新たなトポロジに対して、それぞれリボケーションリストを保持する1または複数の機器が接続されてなる第3のトポロジが接続されたら、現在の上記更新を中断して、上記第3のトポロジの接続処理を行い、
上記接続処理の後、上記第3のトポロジ内の上記リボケーションリストを管理する上記機器である第3のリストマネージャが保持するリボケーションリストと、上記比較のステップによる比較結果に基づく上記新しい方のリボケーションリストとを比較し、比較の結果、上記第3のリストマネージャが保持するリボケーションリストが上記新しい方のリボケーションリストよりも新しいとされた場合、上記第3のリストマネージャが保持するリボケーションリストにより上記新しい方のリボケーションリストを更新し、更新された上記新しい方のリボケーションリストを用いて上記中断された上記更新のステップを再開するようにしたことを特徴とする情報更新方法。 - 請求項1に記載の情報更新方法において、
上記リストマネージャは、該リストマネージャが属するトポロジ内の1または複数の機器が該リストマネージャが保持するリボケーションリストと同じリボケーションリストを保持するように管理することを特徴とする情報更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002258068A JP4045903B2 (ja) | 2002-09-03 | 2002-09-03 | 情報更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002258068A JP4045903B2 (ja) | 2002-09-03 | 2002-09-03 | 情報更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004096637A JP2004096637A (ja) | 2004-03-25 |
JP4045903B2 true JP4045903B2 (ja) | 2008-02-13 |
Family
ID=32062829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002258068A Expired - Fee Related JP4045903B2 (ja) | 2002-09-03 | 2002-09-03 | 情報更新方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4045903B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100881462B1 (ko) * | 2006-06-07 | 2009-02-06 | 삼성전자주식회사 | 백본네트워크의 서브네트워크 간 릴레이 전송이 가능한네트워크 토폴로지 구축방법 |
US8613100B2 (en) | 2009-06-30 | 2013-12-17 | Panasonic Corporation | Data exchange processing apparatus and data exchange processing method |
WO2015092953A1 (ja) * | 2013-12-16 | 2015-06-25 | パナソニックIpマネジメント株式会社 | 認証システムおよび認証方法 |
-
2002
- 2002-09-03 JP JP2002258068A patent/JP4045903B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004096637A (ja) | 2004-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100413279C (zh) | 信息信号处理设备和信息信号处理方法 | |
US5948136A (en) | Hardware authentication mechanism for transmission of data between devices on an IEEE 1394-1995 serial bus network | |
JP4035235B2 (ja) | 電子機器 | |
JP2001306428A (ja) | ネットワーク機器、ネットワークシステム、通信方法及び記録媒体 | |
KR100795257B1 (ko) | 네트워크 에러 표시 장치 및 에러 검출 표시 방법 | |
KR20040041665A (ko) | 제어 서버 및 이에 대한 원격 제어 시스템 | |
JP2004336619A (ja) | 機器間認証システム及び機器間認証方法、通信機器、並びにコンピュータ・プログラム | |
US6757772B2 (en) | Interface device, node, interface system, method for controlling bus reset and computer program product for controlling bus reset | |
JP2005251202A (ja) | デジタル権限管理の状態報告装置及び方法 | |
JP4045903B2 (ja) | 情報更新方法 | |
JP3630971B2 (ja) | データ通信方法、装置、システム、及び記憶媒体 | |
JP3727589B2 (ja) | マルチメディア機器に関するデータを制御し交換する方法とシステム並びにこの方法とシステムに適した機器 | |
JP2002164898A (ja) | データ送受信装置及びデータ送受信方法 | |
JP4444397B2 (ja) | トポロジの構築方法 | |
JP4560706B2 (ja) | 情報処理システム、情報処理端末および方法、管理サーバおよび管理方法、プログラム、並びに記録媒体 | |
KR20010007376A (ko) | 제어장치, 통신시스템 및 제어방법 | |
JP2002063129A (ja) | デバイス管理システム及びデバイス管理方法 | |
JP3471589B2 (ja) | 接続状況送信装置及び接続状況表示方法 | |
JP3983022B2 (ja) | 通信システム及び通信装置 | |
JP2004343526A (ja) | 通信装置、通信方法並びに通信用プログラム及び情報記録媒体 | |
JP4683120B2 (ja) | 電子機器および通信方法 | |
JP2006501748A (ja) | 一意的埋め込み通信識別子を利用した通信接続の確立 | |
JP3897773B2 (ja) | 通信方法及び通信装置 | |
JP5618805B2 (ja) | 通信装置、ネットワークシステム及び通信方法 | |
JP3977240B2 (ja) | 電子機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050822 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070810 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070814 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071015 |
|
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: 20071030 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071112 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101130 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111130 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121130 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |