JP4536981B2 - 情報信号処理装置及び情報信号処理方法 - Google Patents

情報信号処理装置及び情報信号処理方法 Download PDF

Info

Publication number
JP4536981B2
JP4536981B2 JP2001521003A JP2001521003A JP4536981B2 JP 4536981 B2 JP4536981 B2 JP 4536981B2 JP 2001521003 A JP2001521003 A JP 2001521003A JP 2001521003 A JP2001521003 A JP 2001521003A JP 4536981 B2 JP4536981 B2 JP 4536981B2
Authority
JP
Japan
Prior art keywords
node
bus
network
signal processing
information signal
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
JP2001521003A
Other languages
English (en)
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Application granted granted Critical
Publication of JP4536981B2 publication Critical patent/JP4536981B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40091Bus bridging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40078Bus configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport

Description

技術分野
本発明は通信制御ネットワークに接続される情報信号処理装置及び情報信号処理方法に関し、例えば、IEEE1394に準拠した通信制御バスに接続される情報信号処理装置及び情報信号処理方法に関するものである。
あるいは、本発明は第1の通信制御ネットワークと前記第1の通信制御ネットワークとは別個の第2の通信ネットワークと、前記第1の通信制御ネットワークと前記第2の通信ネットワーク間の通信を可能とする接続装置とを備える情報通信システム及び情報通信方法に関し、例えばIEEE1394等のシリアルインタフェースで接続される情報通信システム及び情報通信方法に関するものである。
背景技術
IEEE1394のようなシリアルバスインタフェースでは、いわゆるセントロニクス仕様のパラレルインターフェースのようなホストコンピュータと端末機(デバイス)との1対1接続の形態と異なり、複数のデバイス、例えばデジタルビデオ装置(DV)やデジタルカメラ装置(DC)、ホストコンピュータ、スキャナ、VTRなどを同時に接続する事が可能であり、シリアルバスの規格の一つであるIEEE1394規格のようなこれら複数デバイスの接続によるデータ通信ネットワークシステム、家庭内ネットワークなどが提唱されてきている。
これらネットワークに接続されるデバイスは様々であり、異なるメーカの不特定多数のデバイスが接続される可能性がある。
IEEE1394−1995によればIEEE1394に準拠したシリアルバスアドレス指定方法により、ひとつの1394に準拠したバス(以下「ローカルバス」と称す。)には最大63個のノードが接続可能である。また、10ビットのアドレススペースをバスを特定するバスID指定用に定義することにより、1023個のバスが相互接続可能となっている。そして、ケーブル環境の場合、各デバイスを構成する情報信号処理装置(以下「ノード」と称す。)間のケーブルは最大4.5mとなっている。
最大接続が可能な63個のデバイス以上のデバイスをIEEE1394により接続しようとした場合、あるいた遠隔地に配置される複数のIEEE1394バスを互いに接続しようとする場合の技術的な制約を解消する為には、一般的にいわゆる「1394ブリッジ」と呼ばれるデバイスが使用される。この1394ブリッジを中継して複数のIEEE1394ローカルバス同士を接続することにより、異なるローカルバスに接続されているデバイス間でデータ通信が可能となる。
IEEE1394の場合、バス構成に変化があったとき、例えばデバイスノードの挿抜や電源のON/OFFなどによるノード数の増減、ネットワーク異常等によるハード検出による起動、プロトコルからのホスト制御などによる直接命令などによって変化が生じて、新たなネットワーク構成を認識する必要があるとき、変化を検知した各ノードはバス上にバスリセット信号を送信して、新たなネットワーク構成を認識するモードを実行する。
このバスリセット信号はローカルバス上の他のノードに伝達され、最終的にすべてのノードがバスリセット信号を検知した後、バスリセットが起動となる。バスリセットが起動するとデータ転送は一時中断され、この間のデータ転送は待たされ、終了後、新しいネットワーク構成のもとで再開される。
一方、IEEE1394バスに接続されるデバイスの場合、転送プロトコル中の物理レイヤ、データリンクレイヤはIEEE1394で定義されているものの、その上位レイヤに関しては、デバイスの用途やアプリケーションに応じて様々な上位プロトコルが定義、実装されている。
これらIEEE1394の上位プロトコルは、IEEE1394バスを使い特定デバイスとデータ通信を行う際のコネクション樹立方法、リソース管理方法、アプリケーションデータの送受方法、データ転送終了時のコネクション破棄方法、そしてエラー状態からの復帰と共にIEEE1394の特徴であるバスリセット時の復帰方法、またはバスリセット前後のプロトコルの取り決めに関する定義がなされている。
上位プロトコルの一例であるDPP(Direct Print Protocol)の場合、バスリセットが発生した場合にはデータ転送開始にあたりコネクションを樹立した側のデバイスがリセットコマンドの発行を行い、もう一方のデバイスはそのコマンドを受信後確認応答を行うことにより、データ転送再開が行われる仕組みが定義されている。
またAV/Cプロトコルの場合、一方のノードが発行したAV/Cコマンドを受信したノードが応答を送出する前にバスリセットが発生した際には、そのコマンド自体が無効となりコマンド発行側も応答を期待してはならないという取り決めがある。
このようにIEEE1394バスリセット発生時にはデータ転送が一時中断され、バスリセット前後のトポロジーに変化が生じる為、上位プロトコル層はこれら状況変化に対応する必要があり、バスリセット発生時のデータ送信側、データ受信側双方の対処方法がプロトコル規格上定義されている。これによりバスリセットが発生した場合、同一の上位プロトコルが実装されているデバイス間のデータ転送においてはデータ送信側、受信側が定義された適切な処理をバスリセット前後に行う為、影響を受けることなくデータ転送を継続することが可能となる。
しかしながら、IEEE1394ブリッジは接続された一方のローカルバス上でバスリセットが生じた場合においても、そのバスリセット信号を接続されたもう一方のローカルバス(以下「リモートバス」と称す。)には伝達しない、すなわちバスリセットをバス間に伝搬しない仕組みになっているため、ブリッジを介したノード間のデータ転送において、不具合が起こる可能性がある。
上述した上位プロトコルを使用して同じローカルバス上のデバイス間でデータ転送を行う場合、バスリセットはローカルバス上の全てのノードに伝達されるため、データ送信側ノード、受信側ノード共にバスリセットを検出することが可能であり、上位プロトコルにおいてバスリセット時の対応処理を適切に行うことが可能である。
しかしながら、同じ上位プロトコルを使用して、一方のローカルバスのデータ送信ノードからIEEE1394ブリッジを介した他方のローカルバスに接続されたデータ受信側ノードでデータ転送を行う際、一方のローカルバスにおいてバスリセットが発生した場合にはIEEE1394ブリッジはバスリセットを他バスに伝搬しない為、リモートバスに接続されたノードはそのバスリセットを検出することができず、上位プロトコル層において片側のデバイスのみがバスリセット処理を実行してしまい、データ送信側とデータ受信側間の処理で矛盾が生じてしまうという問題があった。
発明の開示
本発明は、複数の通信制御ネットワーク(例えばIEEE1394バス)を接続装置(例えばIEEE1394ブリッジ)を介して接続したシステムにおいて、上位プロトコル層におけるネットワーク構成の更新要求処理の整合性をとりながら通信制御ネットワーク間の正常なデータ通信が可能な通信ネットワークシステムを提供することを目的とする。
また本発明は、複数の通信制御ネットワーク(例えばIEEE1394バス)を接続装置(例えばIEEE1394ブリッジ)を介して接続したシステムにおいて、上位プロトコル層におけるバスリセット処理の整合性をとりながら、バス間の正常なデータ通信が可能が可能な通信ネットワークシステムを提供することを目的とする。
係る目的を達成するため、本発明は、ットワークに接続される情報信号処理装置であって、自情報信号処理装置が接続されているネットワーク以外のリモートネットワークにおいてネットワークの構成を更新する必要が生じた時に発生する更新要求が生じた場合に、当該更新要求が発生したネットワークを特定するネットワーク特定情報及び当該更新要求が生じたことを示すネットワーク更新通知を受信する受信手段を備えることを特徴とする。
また本発明は、ットワークを介して複数の情報信号処理装置を接続した情報信号処理方法であって、自情報信号処理装置が接続されているネットワーク以外のリモートネットワークにおいてネットワークの構成を更新する必要が生じた時に発生する更新要求が生じた場合に、当該更新要求が発生したネットワークを特定するネットワーク特定情報及び当該更新要求が生じたことを示すネットワーク更新通知を受信することを特徴とする。
また、本発明は、IEEE1394に準拠した通信制御バスを介して複数の情報信号処理装置を接続したIEEE1394バスシステムにおける情報信号処理方法であって、複数のバスがブリッジを介して接続されている場合に接続されているバス以外のリモートバスにおいてバスリセットが発生した場合にリモートバスリセット発生の通知を行うことを特徴とする。
更にまた本発明は、シリアルバスをシリアルブリッジを介して接続可能な情報通信システムであって、前記シリアルブリッジはそれぞれ異なるシリアルバスに接続する少なくとも2つのポータルと、前記接続された各シリアルバス毎にシリアルバス特定情報と共に接続されているノードの情報を登録する登録テーブルと、前記各ポータルに接続するシリアルバスのバスリセットを監視する監視手段と、前記監視手段がバスリセットを検知するとバスリセットが検知されたシリアルバスに対応する前記登録テーブルの内容を新たに更新されたノードの情報に従って書き換える再登録手段とを備え、前記登録テーブルの更新によりシステム構成の変更を認識可能とすることを特徴とする。
また本発明は、シリアルバスで互いの通信装置を接続可能な第1の通信制御ネットワークと前記第1の通信制御ネットワークとは別個のシリアルバスで互いの通信装置を接続可能な第2の通信ネットワークと、前記第1の通信制御ネットワークと前記第2の通信ネットワーク間の通信を可能とする接続装置とを備える情報通信システムであって、前記接続装置は、前記第1の通信制御ネットワークに接続される第1の通信装置と前記第2の通信制御ネットワークに接続される第2の通信装置との間の通信で用いる上位プロトコルを解釈する解釈手段と、前記第1の通信制御ネットワークでネットワークの構成を更新する必要が生じたときに前記第2の通信装置が行うべき処理を前記第2の通信装置に代わって行う代行手段とを備え、前記第1の通信制御ネットワークでのネットワーク更新要求にかかわらず、前記第1の通信装置と前記第2の通信装置との間の通信を可能とすることを特徴とする。
更にまた、本発明は、接続装置に接続した第1のシリアルバスと、前記第1のシリアルバスに接続した第1のノードと、前記第1のシリアルバスとは異なる第2のシリアルバスと、前記第2のシリアルバスに接続した第2のノードとを含み、前記第1のノードと前記第2のノードが通信可能な情報通信システムにおいて、前記接続装置に、前記第1のノードと前記第2のノードとの間の通信で用いる上位プロトコルを解釈する解釈手段と、前記第1のシリアルバスでバスリセットが起こったときに前記第2のノードが行うべき処理を前記第2のノードに代わって行う代行手段とを備え、前記接続装置は、前記第1のシリアルバスでバスリセットが起こったときに前記第1のノードと前記接続装置との間でバスリセットが起こったとき行うべき処理を行うことにより前記第1のシリアルバスでのバスリセットにかかわらず、前記第1のノードと前記第2のノードとの間の通信を行うことを特徴とする。
また本発明は、シリアルバスで互いの通信装置を接続可能な第1の通信制御ネットワークと前記第1の通信制御ネットワークとは別個のシリアルバスで互いの通信装置を接続可能な第2の通信ネットワークと、前記第1の通信制御ネットワークと前記第2の通信ネットワーク間の通信を可能とする接続装置とを備える情報通信システムにおける情報通信方法であって、前記接続装置は、前記第1の通信制御ネットワークに接続される第1の通信装置と前記第2の通信制御ネットワークに接続される第2の通信装置との間の通信で用いる上位プロトコルを解釈し、前記第1の通信制御ネットワークでネットワークの構成を更新する必要が生じたときに前記第2の通信装置が行うべき処理を前記第2の通信装置に代わって行うことにより、前記第1の通信制御ネットワークでのネットワーク更新要求にかかわらず、前記第1の通信装置と前記第2の通信装置との間の通信を可能とすることを特徴とする。
更に本発明は、それぞれ異なるシリアルバスに接続された少なくとも2つのポータルを有するシリアルバスブリッジであって、前記ポータルが接続されたシリアルバスのバスリセットを検知する検知手段と、前記ポータルに接続され、前記シリアルバスブリッジによって連結された複数のシリアルバスを有するネットワーク上の、ノードを示すID情報を格納する格納手段と、ネットワーク上のノードを示すID情報と登録コマンド又は削除コマンドを含む制御メッセージを受信する受信手段と、前記検知手段によってバスリセットが検知されたシリアルバスを示すバスID情報を含む通知メッセージを、前記格納手段に格納されたID情報によって示されるノードに送信する送信手段とを有し、前記シリアルバスブリッジは、前記受信手段によって受信した制御メッセージに登録コマンドが含まれていた場合、当該制御メッセージに含まれるID情報を前記格納手段に格納し、前記受信手段によって受信した制御メッセージに削除コマンドが含まれていた場合、前記格納手段に格納されているID情報を削除することを特徴とする。
また本発明は、複数のシリアルバスからなり、シリアルバスブリッジにより互いに接続されたネットワーク上のノードとなる端末装置において、前記シリアルバスブリッジのポータルから、当該シリアルバスを特定するバスID情報を含む通知メッセージを受信することを特徴とする端末装置とする。
更に本発明は、複数のシリアルバスからなり、シリアルバスブリッジにより互いに接続されたネットワーク上に、前記シリアルバスブリッジ及び前記端末装置を含むことを特徴とする情報通信システムとする。
更にまた本発明は、複数のシリアルバスからなり、シリアルバスブリッジにより互いに接続されたネットワーク上の第1のシリアルバスに接続した第1のノードとなる第1の端末装置と、前記第1のシリアルバスとは異なる第2のシリアルバスに接続した第2のノードとなる第2の端末装置が通信を行う情報通信システムにおいて、前記第1のシリアルバスは前記シリアルバスブリッジに接続し、前記第1の端末装置、第2の端末装置は前記発明の端末装置であり、前記第1の端末装置は、通信を開始するとき、当該シリアルバスブリッジのポータルの内、前記第1のシリアルバスに接続したポータルに対して、前記第2のノードを特定するID情報を含み、登録命令を含む制御メッセージを送信し、
通信を終了するとき、当該シリアルバスブリッジのポータルの内、前記第1のシリアルバスに接続したポータルに対して、前記第2のノードを特定するID情報を含み、削除命令を含む制御メッセージを送信し、当該ポータルは、第1の端末と第2の端末が通信を行っている間、前記第2のノードを特定するID情報を前記記憶手段に記憶し、前記検出手段が当該第1のシリアルバスのバスリセットを検出したときは、当該第1のシリアルバスを特定するバスID情報を含む通知メッセージを第2の端末装置に送信することを特徴とする。
また本発明は、シリアルバスをシリアルブリッジ装置を介して接続可能な情報通信システムであって、前記シリアルブリッジはそれぞれ異なるシリアルバスに接続する少なくとも2つのポータルと、前記接続された各シリアルバス毎に当該シリアルバス特定情報と共に接続されているノードの情報を登録する登録テーブルと、前記各ポータルに接続するシリアルバスのバスリセットを監視する監視手段と、前記監視手段がバスリセットを検知するとバスリセットが検知されたシリアルバスに対応する前記登録テーブルの内容を新たに更新されたノードの情報に従って書き換える再登録手段とを備え、前記登録テーブルの更新によりシステム構成の変更を認識可能とすることを特徴とする。
また本発明は、それぞれ異なるシリアルバス毎に接続されるポータルと、ノードの情報を登録する登録テーブルとを備えるシリアルブリッジを介して接続可能な情報通信システムにおける情報通信方法であって、前記シリアルブリッジに接続された各シリアルバス毎にシリアルバス特定情報と共に接続されているノードの情報を前記登録テーブルに登録すると共に、前記各ポータルに接続されているシリアルバスのバスリセットを監視し、バスリセットを検知するとバスリセットが検知されたシリアルバスに対応する前記登録テーブルの内容を新たに更新されたノードの情報に従って書き換え、前記登録テーブルの更新によりシステム構成の変更を認識可能とすることを特徴とする。
発明を実施するための最良の形態
以下、図面を参照して本発明に係る一発明の実施の最良の形態例を詳細に説明する。
[第1の実施の形態例]
図1は本発明に係る第1の実施の形態例の概略構成を示す図であり、2つのIEEE1394に準拠したローカルバスA102、ローカルバスB103とそれを接続する1394ブリッジデバイス101より構成されている。なお、図1においては、ローカルバスが二つの例を説明したが、1394ブリッジデバイスを介することにより更に多くのローカルバスと接続可能なことは勿論である。
各ローカルバスには、夫々のローカルバスを特定するためのバス特定情報であるバスIDが付与されて入る。そして、バスID「3FDh」で表されるローカルバスA102と、バス(Bus)ID「3FEh」で表されるローカルバスB103にはそれぞれ複数のデバイスノードが接続されている。
図1に示す第1の実施の形態例では、例えば、ローカルバスA102に接続されるノード(Node)A1(104)はデジタルスチルカメラであり、ノードA2(105)はデジタルビデオカムコーダである。また、ローカルバスB103に接続されるノードB1(106)はプリンタであり、ノードB2(107)はデジタルビデオカムコーダである。
ノードA1(104)は上位プロトコルとして予め規格化されているダイレクトプリントプロトコル(Direct Print Protocol)を実装しており、ノードA2(105)は同じく規格化されているAV/Cプロトコルを実装している。
同様にローカルバスB103に接続されたノードB1(106)は上位プロトコルとしてプリントプロトコル(Direct Print Protocol)を実装しており、ノードB2(107)はAV/Cプロトコルを実装している。
<IEEE1394規格の技術概要>
以下、第1の実施の形態例の図1に示すデジタルインタフェースに適用されるIEEE1394−1995規格の技術について簡単に説明する。なお、IEEE1394−1995規格(以下、「IEEE1394規格」と称す。)についての詳細は、1996年の8月30日にIEEE(The Institute of Electrical and Electronics Engineers,Inc.)から出版された「IEEE Standard for a High Performance Serial BuS」に記述されている。
(1)概要
図2にIEEE1394規格に準拠したデジタルインタフェース(以下、1394インタフェース)を具備するノードにより構成される通信システム(以下、「1394ネットワーク」と称す。)の一例を示す。1394ネットワークは、シリアルデータの通信が可能なバス型ネットワークを構成するものである。
図2において、各ノードA〜Hは、IEEE1394規格に準拠した通信ケーブルを介して接続されている。これらのノードA〜Hは、例えば、PC(Personal Computer)、デジタルVTR(Video Tape Recorder)、DVD(Digital Video Disc)プレーヤ、デジタルカメラ、ハードディスク、モニタ等の電子機器である。
1394ネットワークの接続方式は、ディジーチェーン方式とノード分岐方式とに対応しており、自由度の高い接続を可能としている。
又、1394ネットワークでは、例えば、既存の機器を削除したり、新たな機器を追加したり、既存の機器の電源をON/OFFしたりした場合に、自動的にバスリセットを行う。このバスリセットを行うことにより、1394ネットワークは、新たな接続構成の認識と各機器に対するID情報の割り当てとを自動的に行うことができる。この機能によって、1394ネットワークは、ネットワークの接続構成を常時認識することができる。
又、1394ネットワークは、他の機器から転送されたデータを中継する機能を有している。この機能により、全ての機器がバスの動作状況を把握することができる。
又、1394ネットワークは、プラグアンドプレイ(Plug&Play)と呼ばれる機能を有している。この機能により、全ての機器の電源をOFFにすることなく、接続するだけで自動に接続機器を認識することができる。
又、1394ネットワークは、100/200/400Mbpsのデータ転送速度に対応している。上位のデータ転送速度を持つ機器は、下位のデータ転送速度をサポートすることができるため、異なるデータ転送速度に対応する機器同士を接続することができる。
更に、1394ネットワークは、2つの異なるデータ転送方式(即ち、非同期式(Asynchronous)転送モードと、同期式(Isochronous)転送モード)に対応している。
非同期式(Asynchronous)転送モードは、必要に応じて非同期に転送することが要求されるデータ(即ち、コントロール信号やファイルデータ等)を転送する際に有効である。又、同期式(Isochronous)転送モードは、所定量のデータを一定のデータレートで連続的に転送することが要求されるデータ(即ち、ビデオデータやオーディオデータ等)を転送する際に有効である。
非同期式転送モードと同期式転送モードとは、各通信サイクル(通常1サイクルは、125μS)内において、混在させることが可能である。各転送モードは、サイクルの開始を示すサイクル・スタート・パケット(以下、CSP)の転送後に実行される。
なお、各通信サイクル期間において、同期式転送モードは、非同期式転送モードよりも優先順位が高く設定されている。又、同期式転送モードの転送帯域は、各通信サイクル内で保証されている。
(2)アーキテクチャ
次に、図3を用いてIEEE1394規格のアーキテクチャを説明する。図3は第1の実施の形態例のIEEE1394規格のアーキテクチャを説明する図である。
まずIEEE1394インタフェースの構成要素を説明する。IEEE1394インタフェースは、機能的に複数のレイヤ(階層)から構成されている。図3において、IEEE1394インタフェースは、IEEE1394規格に準拠した通信ケーブル301を介して他のノードのIEEE1394インタフェースと接続される。又、IEEE1394インタフェースは、1つ以上の通信ポート302を有し、通信ポート302は、ハードウェア部に含まれるフィジカルレイヤ303と接続される。
図3において、ハードウェア部は、フィジカルレイヤ303とリンクレイヤ304とから構成されている。フィジカルレイヤ303は、他のノードとの物理的、電気的なインタフェース、バスリセットの検出とそれに伴う処理、入出力信号の符号化/復号化、バス使用権の調停等を行う。又、リンクレイヤ304は、通信パケットの生成と送受信、サイクルタイマの制御等を行う。
又、図3において、ファームウェア部は、トランザクション・レイヤ305とシリアル・バス・マネージメント306とを含んでいる。トランザクション・レイヤ305は、非同期式転送モードを管理し、各種のトランザクション(リード、ライト、ロック)を提供する。シリアル・バス・マネージメント306は、後述するCSRアーキテクチャに基づいて、自ノードの制御、自ノードの接続状態の管理、自ノードのID情報の管理、シリアルバスネットワークの資源管理を行う機能を提供する。
以上に説明したハードウェア部303、304とファームウェア部305、306とにより実質的に1394インタフェースを構成している。なお、この基本構成は、IEEE1394規格により規定されている。
又、ソフトウェア部に含まれるアプリケーション・レイヤ307は、使用するアプリケーションソフトによって異なり、ネットワーク上でどのようにデータを通信するのかを制御する。例えば、デジタルVTRの動画像データの場合は、AV/Cプロトコルなどの通信プロトコルによって規定されている。
(2−1)リンクレイヤ304の機能
図4は、リンクレイヤ304の提供可能なサービスを示す図である。図4において、リンクレイヤ304は、次の4つのサービスを提供する。即ち、
▲1▼応答ノードに対して所定のパケットの転送を要求するリンク要求(LK_DATA.request)、
▲2▼応答ノードに所定のパケットの受信を通知するリンク通知(LK_DATA.indication)、
▲3▼応答ノードからのアクノリッジを受信したことを示すリンク応答(LK_DATA.response)、
▲4▼要求ノードからのアクノリッジを確認するリンク確認(LK_DATA.confirmation)である。なお、リンク応答(LK_DATA.response)は、ブロードキャスト通信、同期式パケットの転送の場合には存在しない。
又、リンクレイヤ304は、上述のサービスに基づいて、上述の2種類の転送方式、即ち、輔同期式転送モード、同期式転送モードを実現する。
(2−2)トランザクション・レイヤ305の機能
図5は、トランザクション・レイヤ305の提供可能なサービスを示す図である。図5において、トランザクション・レイヤ305は、次の4つのサービスを提供する。即ち、
▲1▼応答ノードに対して所定のトランザクションを要求するトランザクション要求(TR_DATA.request)、
▲2▼応答ノードに所定のトランザクション要求の受信を通知するトランザクション通知(TR_DATA.indication)、
▲3▼応答ノードからの状態情報(ライト、ロックの場合は、データを含む)を受信したことを示すトランザクション応答(TR_DATA.response)、▲4▼要求ノードからの状態情報を確認するトランザクション確認(TR_DATA.confirmation)である。
又、トランザクション・レイヤ305は、上述のサービスに基づいて非同期式転送を管理し、次の3種類のトランザクション、即ち、
▲1▼リード・トランザクション、
▲2▼ライトトランザクション、
▲3▼ロック・トランザクションを実現する。
▲1▼リード・トランザクションは、要求ノードが応答ノードの特定アドレスに格納された情報を読み取る。
▲2▼ライトトランザクションは、要求ノードが応答ノードの特定アドレスに所定の情報を書き込む。
▲3▼ロック・トランザクションは、要求ノードが応答ノードに対して参照データと更新データとを転送し、応答ノードの特定アドレスの情報とその参照データとを比較し、その比較結果に応じて特定アドレスの情報を更新データに更新する。
(2−3)シリアル・バス・マネージメント306の機能
シリアル・バス・マネージメント306は、具体的に、次の3つの機能を提供することができる。3つの機能とは、即ち、▲1▼ノード制御、▲2▼アイソクロナス・リソース・マネージャ(以下、IRM)、▲3▼バスマネージャである。
▲1▼ノード制御は、上述の各レイヤを管理し、他のノードとの間で実行される非同期式転送を管理する機能を提供する。
▲2▼IRMは、他のノードとの間で実行される同期式転送を管理する機能を提供する。具体的には、転送帯域幅とチャネル番号の割り当てに必要な情報を管理し、これらの情報を他のノードに対して提供する。
IRMは、ローカルバス上に唯一存在し、バスリセット毎に他の候補者(IRMの機能を有するノード)の中から動的に選出される。又、IRMは、後述のバスマネージャの提供可能な機能(接続構成の管理、電源管理、速度情報の管理等)の一部を提供してもよい。
▲3▼バスマネージャは、IRMの機能を有し、IRMよりも高度なバス管理機能を提供する。
具体的には、より高度な電源管理(通信ケーブルを介して電源の供給が可能か否か、電源の供給が必要か否か等の情報を各ノード毎に管理)、より高度な速度情報の管理(各ノード間の最大転送速度の管理)、より高度な接続構成の管理(トポロジ・マップの作成)、これらの管理情報に基づくバスの最適化等を行ない、更にこれらの情報を他のノードに提供する機能を有する。
又、バスマネージャは、シリアルバスネットワークを制御するためのサービスをアプリケーションに対して提供できる。ここで、サービスには、シリアルバス制御要求(SB_CONTROL.request)、シリアルバス・イベント制御確認(SB_CONTROL.confirmation)シリアルバス・イベント通知(SB_CONTROL.indication)等がある。
シリアルバス制御要求(SB_CONTROL.request)は、アプリケーションがバスリセットを要求するサービスである。
シリアルバス・イベント制御確認(SB_CONTROL.confirmation)は、シリアルバス制御要求(SB_CONTROL,request)をアプリケーションに対して確認するサービスである。シリアルバス・イベント制御確認(SB_CONTROL.indication)は、非同期に発生するイベントをアプリケーションに対して通知するサービスである。
(3)アドレス指定の説明
図6は、1394インタフェースにおけるアドレス空間を説明する図である。なお、1394インタフェースは、ISO/IEC13213:1994に準じたCSR(Command and Status Register)アーキテクチャに従い、64ビット幅のアドレス空間を規定している。
図6において、最初の10ビットのフィールド601は、所定のバスを指定するID番号に使用され、次の6ビットのフィールド602は、所定の機器(ノード)を指定するID番号に使用される。この上位16ビットを「ノードID」と呼び、各ノードはこのノードIDにより他のノードを識別する。又、各ノードは、このノードIDを用いて相手を識別した通信を行うことができる。
残りの48ビットからなるフィールドは、各ノードの具備するアドレス空間(256Mバイト構造)を指定する。その内の20ビットのフィールド603は、アドレス空間を構成する複数の領域を指定する。
フィールド603において、「0〜0×FFFFD」の部分は、メモリ空間と呼ばれる。
「0×FFFFE」の部分は、プライベート空間と呼ばれ、各ノードで自由に利用できるアドレスである。又、「0×FFFFE」の部分は、レジスタ空間と呼ばれ、バスに接続されたノード間において共通の情報を格納する。各ノードは、レジスタ空間の情報を用いることにより、各ノード間の通信を管理することができる。
最後の28ビットのフィールド604は、各ノードにおいて共通或いは固有となる情報が格納されるアドレスを指定する。
例えば、レジスタ空間において、最初の512バイトは、CSRアーキテクチャのコア(CSRコア)レジスタ用に使用される。CSRコアレジスタに格納される情報のアドレス及び機能を図7に示す。図7中のオフセットは、「0×FFFFF0000000」からの相対位置である。
図6における次の512バイトは、シリアルバス用のレジスタとして使用される。シリアルバスレジスタに格納される情報のアドレス及び機能を図8に示す。図8中のオフセットは、「0×FFFFF0000200」からの相対位置である。
図6におけるその次の1024バイトは、コンフィギュレーションROM(Configuration ROM)用に使用される。コンフィギュレーションROMには最小形式と一般形式とがあり、「0×FFFFF0000400」から配置される。最小形式のコンフィギュレーションROMの例を図9に示す。図9において、ベンダIDは、IEEEにより各ベンダに対して固有に割り当てられた24ビットの数値である。
又、一般形式のコンフィギュレーションROMを図10に示す。図10において、上述のベンダIDは、Root Directory1002に格納されている。Bus Info Block1001とRoot Leaf1005とには、各ノードを識別する固有のID情報としてノードユニークIDを保持することが可能である。
ここで、ノードユニークIDは、メーカ、機種に関わらず、1つのノードを特定することのできる固有のIDを定めるようになっている。ノードユニークIDは64ビットにより構成され、上位24ビットは上述のベンダIDを示し、下位48ビットは各ノードを製造するメーカにおいて自由に設定可能な情報(例えば、ノードの製造番号等)を示す。なお、このノードユニークIDは、例えばバスリセットの前後で継続して特定のノードを認識する場合に使用される。
又、一般形式のコンフィギュレーションROMを示す図10において、Root Directory1002には、ノードの基本的な機能に関する情報を保持することが可能である。詳細な機能情報は、Root Directory1002からオフセットされるサブディレクトリ(Unit Directories1004)に格納される。Unit Directories1004には、例えば、ノードのサポートするソフトウェアユニットに関する情報が格納される。具体的には、ノード間のデータ通信を行うためのデータ転送プロトコル、所定の通信手順を定義するコマンドセット等に関する情報が保持される。
又、図10において、Node Dependent Info Directory1003には、デバイス固有の情報を保持することが可能である。Node Dependent Info Directory1003は、Root Directory1002によりオフセットされる。
更に、図10において、Vendor Dependent Information1006には、ノードを製造、或いは販売するベンダ固有の情報を保持することができる。
残りの領域は、ユニット空間と呼ばれ、各ノード固有の情報、例えば、各機器の識別情報(会社名、機種名等)や使用条件等が格納されたアドレスを指定する。ユニット空間のシリアルバス装置レジスタに格納される情報のアドレス及び機能を図11に示す。図中のオフセットは、「0×FFFFF0000800」からの相対位置である。
なお、一般的に、異種のバスシステムの設計を簡略化したい場合、各ノードは、レジスタ空間の最初の2048バイトのみを使うべきで考る。つまり、CSRコアレジスタ、シリアルバスレジスタ、コンフィギュレーションROM、ユニット空間の最初の2048バイトの合わせて4096バイトで構成することが望ましい。
(4)通信ケーブルの構成
図12にIEEE1394規格に準拠した通信ケーブルの断面図を示す。
通信ケーブルは、2組のツイストペア信号線と電源ラインとにより構成されている。電源ラインを設けることによって、1394インタフェースは、主電源のOFFとなった機器、故障により電力低下した機器等にも電力を供給することができる。なお、電源線内を流れる電源の電圧は8〜40V、電流は最大電流DC1.5Aと規定されている。
2組のツイストペア信号線には、DS−Link(Data/Strobe Link)符号化方式にて符号化された情報信号が伝送される。図13は、第1の実施の形態例におけるDS−Link符号化方式を説明する図である。
図13に示すDS−Link符号化方式は、高速なシリアルデータ通信に適しており、その構成は、2組のより対線を必要とする。一組のより対線は、データ信号を送り、他のより対線は、ストローブ信号を送る構成になっている。受信側は、2組の信号線から受信したデータ信号とストローブ信号との排他的論理和をとることによって、クロックを再現することができる。
なお、DS−Link符号化方式を用いることにより、1394インタフェースには、例えば次のような利点がある。
▲1▼他の符号化方式に比べて転送効率が高い。
▲2▼PLL回路が不要となり、コントローラLSIの回路規模を小さくできる。
▲3▼アイドル状態であることを示す情報を送る必要が無いため、トランシーバ回路をスリープ状態とし易く、消費電力の低減が図れる。
(5)バスリセット機能
各ノードの1394インタフェースは、ネットワークの接続構成に変化が生じたことを自動的に検出することができる構成となっている。この場合、1394ネットワークは以下に示す手順によりバスリセットと呼ばれる処理を行う。なお、接続構成の変化は、各ノードの具備する通信ポートにかかるバイアス電圧の変化により検知することができる。
ネットワークの接続構成の変化(例えば、ノードの挿抜、ノードの電源のON/OFFなどによるノード数の増減)を検出したノード、又は新たな接続構成を認識する必要のあるノードは、1394インタフェースを介して、バス上にバスリセット信号を送信する。
バスリセット信号を受信したノードの1394インタフェースは、バスリセットの発生を自身のリンクレイヤ304に伝達すると共に、そのバスリセット信号を他のノードに転送する。バスリセット信号を受信したノードは、今まで認識していたネットワークの接続構成及び各機器に割り当てられたノードIDをクリアにする。最終的に全てのノードがバスリセット信号を検知した後、各ノードは、バスリセットに伴う初期化処理(即ち、新たな接続構成の認識と新たなノードIDの割り当て)を自動的に行う。
なお、バスリセットは、先に述べたような接続構成の変化による起動の他に、ホスト側の制御によって、アプリケーション・レイヤ307がフィジカルレイヤ303に対して直接命令を出すことによって起動させることも可能である。
又、バスリセットが起動するとデータ転送は一時中断され、バスリセットに伴う初期化処理の終了後、新しいネットワークのもとで再開される。
(6)バスリセット起動後のシーケンスの説明
バスリセットの起動後、各ノードの1394インタフェースは、新たな接続構成の認識と新たなノードIDの割り当てとを自動的に実行する。以下、バスリセットの開始からノードIDの割り当て処理までの基本的なシーケンスを図14〜16を用いて説明する。
図14は、図2の1394ネットワークにおけるバスリセット起動後の状態を説明する図である。
図14において、ノードAは1つの通信ポート、ノードBは2つの通信ポート、ノードCは2つの通信ポート、ノードDは3つの通信ポート、ノードEは1つの通信ポート、ノードFは1つの通信ポートを具備している。各ノードの通信ポートには、各ポートを識別するためにポート番号を付されている。
以下、図14におけるバスリセットの開始からノードIDの割り当てまでを図15のフローチャートを参照して説明する。図15は第1の実施の形態例におけるバスリセットの開始からノードIDの割り当てまでの処理を示すフローチャートである。
1394ネットワークを構成する例えば図14に示す各ノードA〜Fは、通常ステップS1501に示すようにバスリセットが発生したか否かを常時監視している。接続構成の変化を検出したノードからバスリセット信号が出力されると、各ノードはバスリセットを検知してステップS1502以下の処理を実行する。
即ち、バスリセットを検知するとステップS1501よりステップS1502に進み、バスリセットの発生後に各ノードは夫々の具備する通信ポート間において親子関係の宣言を行う。そして続くステップS1503において、全てのノード間の親子関係が決定されたか否かを調べる。全てのノード間の親子関係が決定されていない場合にはステップS1502に戻り、各ノードは、全てのノード間の親子関係が決定されるまで、ステップS1502の処理を繰り返し行う。
このようにして全てのノード間の親子関係が決定するとステップS1503よりステップS1504に進む。そしてステップS1504で1394ネットワークはネットワークの調停を行うノード、即ちルートを決定する。ルートを決定した後にステップS1505に進み、各ノードの1394インタフェース夫々は、自己のノードIDを自動的に設定する作業を実行する。そして続くステップS1506において全てのノードに対してノードIDの設定がなされ、ID設定処理が終了したか否かを調べる。全てのノードに対してノードIDの設定がなされていない場合にはステップS1505に戻り各ノードは所定の手順に基づき次のノードに対するIDの設定を行う。
このようにして最終的に全てのノードに対してノードIDが設定されるとステップS1506よりステップS1507に進み、各ノードは、同期式転送或いは非同期式転送を実行する。そしてデータ転送が終了すると各ノードの1394インタフェースはステップS1501のバスリセット監視に戻る。
以上の手順により、各ノードの1394インタフェースは、バスリセットが起動する毎に、新たな接続構成の認識と新たなノードIDの割り当てとを自動的に実行することができる。
(7)親子関係の決定
次に、図15に示したステップS1502の親子関係宣言処理(即ち、各ノード間の親子関係を認識する処理)の詳細を図16のフローチャートを参照して説明する。図16は第1の実施の形態例における図15に示したステップS1502の親子関係宣言処理の詳細を示すフローチャートである。
第1の実施の形態例の親子関係宣言処理においては、まず図16に示すステップS1601において、バスリセットの発生後、1394ネットワーク上の各ノードA〜Fは、自分の具備する通信ポートの接続状態(接続又は未接続)を確認する。通信ポートの接続状態の確認後、続くステップS1602において、各ノードは、他のノードと接続されている通信ポート(以下、接続ポート)の数をカウントして接続ポートの数が一つか否かを調べる。
ステップS1602で接続ポートの数が1つである場合にはステップS1603に進み、そのノードは、自分が「リーフ」であると認識する。なおここで、リーフとは、1つのノードとのみ接続されているノードのことである。そして次のステップS1604でリーフとなるノードは、その接続ポートに接続されているノードに対して、「自分は子(Child)」であることを宣言する。このとき、リーフは、その接続ポートが「親ポート(親ノードと接続された通信ポート)」であると認識する。そしてステップS1611に進む。
ここで、親子関係の宣言は、まず、ネットワークの末端であるリーフとブランチとの間にて行われ、続いて、ブランチとブランチとの間で順次に行われる。各ノード間の親子関係は、早く宣言の行える通信ポートから順に決定される。又、各ノード間において、子であることを宣言した通信ポートは「親ポート」であると認識され、その宣言を受けた通信ポートは「子ポート(子ノードと接続された通信ポート)」であると認識される。例えば、図14において、ノードA,E,Fは、自分がリーフであると認識した後、親子関係の宣言を行う。これにより、ノードA−B間では子−親、ノードE−D間では子−親、ノードF−D間では子−親と決定される。
一方、ステップS1602の処理の結果、接続ポートの数が1つでなく2つ以上の場合にはステップS1605に進み、そのノードは自分を「ブランチ」であると認識する。ここで、ブランチとは、2つ以上のノードと接続されているノードのことである。そして続くステップS1606においてブランチとなるノードは、各接続ポートのノードから親子関係の宣言を受け付ける。宣言を受け付けた接続ポートは、「子ポート」として認識される。
1つの接続ポートを「子ポート」と認識した後にステップS1607に進み、ブランチはまだ親子関係の決定されていない接続ポート(即ち、未定義ポート)が2つ以上あるか否かを検出する。その結果、未定義ポートが2つ以上ある場合にはステップS1606の処理に戻り、ブランチは、再び各接続ポートのノードから親子関係の宣言を受け付ける処理を行う。
一方、ステップS1607の検出の結果未定義ポートが2つ以上ない場合にはステップS1608に進み、未定義ポートが1つだけ存在しているか否かを調べる。未定義ポートが1つだけ存在する場合にはブランチは、その未定義ポートが「親ポート」であると認識し、ステップS1609でそのポートに接続されているノードに対して「自分は子」であることを宣言するそしてステップS1611に進む。
ここで、ブランチは、残りの未定義ポートが1つになるまで自分自身が子であると他のノードに対して宣言することができない。例えば、図14の構成において、ノードB,C,Dは、自分がブランチであると認識すると共に、リーフ或いは他のブランチからの宣言を受け付ける。ノードDは、D−E間、D−F間の親子関係が決定した後、ノードCに対して親子関係の宣言を行っている。又、ノードDからの宣言を受けたノードCは、ノードBに対して親子関係の宣言を行っている。
一方、ステップS1608の処理の結果、未定義ポートが存在しない場合(つまり、ブランチの具備する全ての接続ポートが親ポートとなった場合)にはステップS1610に進み、そのブランチは、自分自身がルートであることを認識する。例えば、図14において、接続ポートの全てが親ポートとなったノードBは、1394ネットワーク上の通信を調停するルートとして他のノードに認識される。
ここで、ノードBがルートと決定されたが、ノードBの親子関係を宣言するタイミングが、ノードCの宣言するタイミングに比べて早い場合には、他のノードがルートになる可能性もある。即ち、宣言するタイミングによっては、どのノードもルートとなる可能性がある。従って、同じネットワーク構成であっても同じノードがルートになるとは限らない。
このように全ての接続ポートの親子関係が宣言されることによって、各ノードは、1394ネットワークの接続構成を階層構造(ツリー構造)として認識することができるため最後にステップS1611で全ての接続ポートの宣言終了としてリターンする。なお、上述の親ノードは階層構造における上位であり、子ノードは階層構造における下位となる。
(8)ノードIDの割り当て
次に、図17を参照して図15に示すステップS1505のノードID設定処理(即ち、自動的に各ノードのノードIDを割り当てる処理)を詳細に説明する。図17は図15のステップS1505のノードID設定処理の詳細を示すフローチャートである。ここで、ノードIDは、バス番号とノード番号とから構成されるが、第1の実施の形態例では、各ノードを同一バス上に接続するものとし、各ノードには同一のバス番号が割り当てられるものとする。
第1の実施の形態例のノードID設定処理においては、まずステップS1701において、ルートは、ノードIDが未設定のノードが接続されている子ポートの内の最小番号を有する通信ポートに対してノードIDの設定許可を与える。なお、図17において、ルートは、最小番号の子ポートに接続されている全ノードのノードIDを設定した後、その子ポートを設定済とし、次に最小となる子ポートに対して同様の制御を行う。最終的に子ポートに接続された全てのノードのID設定が終了した後、ルート自身のノードIDを設定する。ノードIDに含まれるノード番号は、基本的にリーフ、ブランチの順に0,1,2…と割り当てられる。従って、ルートが最も大きなノード番号を有することになる。
ステップS1701において設定許可を得たノードは、続くステップS1702において自分の子ポートの内のノードIDが未設定となるノードを含む子ポートがあるか否かを判断する。ステップS1702において、未設定ノードを含む子ポートが検出されない場合にはステップS1705に進む。
一方、ステップS1702において未設定ノードを含む子ポートが検出された場合にはステップS1703に進み、上述の設定許可を得たノードは、その子ポート(最小番号となる子ポート)に直接接続されたノードに対してその設定許可を与えるように制御する。そして続くステップS1704において、上述の設定許可を得たノードは、自分の子ポートの内、ノードIDが未設定であるノードを含む子ポートがあるか否かを判断する。ここで、末設定ノードを含む子ポートの存在が検出された場合にはステップS1703に戻り、そのノードは、再び最小番号となる子ポートにその設定許可を与える。
一方、ステップS1704において未設定ノードを含む子ポートが検出されなかった場合にはステップS1705に進む。
このようにしてステップS1702或いはステップS1704において、未設定ノードを含む子ポートが検出されなかった場合にはステップS1705に進み、設定許可を得たノードは、自分自身のノードIDを設定する。続いてステップS1706において、自分のノードIDを設定したノードは、自己のノード番号、通信ポートの接続状態に関する情報等を含んだセルフIDパケットをブロードキャストする。なお、ブロードキャストとは、あるノードの通信パケットを、1394ネットワークを構成する不特定多数のノードに対して転送することである。
ここで、各ノードは、このセルフIDパケットを受信することにより、各ノードに割り当てられたノート番号を認識することができ、自分に割り当てられるノード番号を知ることができる。例えば、図14において、ルートであるノードBは、最小ポート番号「#1」の通信ポートに接続されたノードAに対してノードID設定の許可を与える。ノードAは、自己のノード番号「No.0」と割り当て、自分自身に対してバス番号とノード番号とからなるノードIDを設定する。又、ノードAは、そのノード番号を含むセルフIDパケットをブロードキャストする。
図18にステップS1706で出力するセルフIDパケットの構成例を示す。図18において、1801はセルフIDパケットを送出したノードのノード番号を格納するフィールド、1802は対応可能な転送速度に関する情報を格納するフィールド、1803はバス管理機能(バスマネージャの能力の有無等)の有無を示すフィールド、1804は電力の消費及び供給の特性に関する情報を格納するフィールドである。
又、図18において、1805はポート番号「#0」となる通信ポートの接続状態に関する情報(接続、未接続、通信ポートの親子関係等)を格納するフィールド、1806はポート番号「#1」となる通信ポートの接続状態に関する情報(接続、未接続、通信ポートの親子関係等)を格納するフィールド、1807はポート番号「#2」となる通信ポートの接続状態に関する情報(接続、未接続、通信ポートの親子関係等)を格納するフィールドである。
なお、セルフIDパケットを送出するノードにバスマネージャとなり得る能力がある場合には、フィールド1803に示すコンテンダビットを「1」とし、なり得る能力がなければ、コンテンダビットを「0」とする。
ここで、バスマネージャとは、上述のセルフIDパケットに含まれる各種の情報に基づいて、バスの電源管理(通信ケーブルを介して電源の供給が可能か否か、電源の供給が必要か否か等の情報を各ノード毎に管理する)、速度情報の管理(各ノードの対応可能な転送速度に関する情報から各ノード間の最大転送速度を管理する)、トポロジーマップ情報の管理(通信ポートの親子関係情報からネットワークの接続構成を管理する)、トポロジーマップ情報に基づくバスの最適化等を行い、それらの情報を他のノードに提供する機能を有するノードである。これらの機能により、バスマネージャとなるノードは1394ネットワーク全体のバス管理を行うことができる。
図17の処理において、ステップS1706の処理後、ノードIDの設定を行ったノードはステップS1707において親ノードがあるか否かを判断する。親ノードがある場合にはステップS1702に戻り、その親ノードがステップS1702以下の処理を実行する。そして、まだノードIDの設定されていないノードに対して許可を与える。
一方、ステップS1707において親ノードが存在しない場合にはそのノードはルート自身であると判断してステップS1708に進み、ルートとして全ての子ポートに接続されたノードに対してノードIDが設定されたか否かを判別する。ステップS1708において、全てのノードに対するID設定処理が終了しなかった場合にはステップS1701に戻り、ルートは、そのノードを含む子ポートの内、最小番号となる子ポートに対してID設定の許可を与える。そしてその後ステップS1702以下の処理を実行する。
一方、ステップS1708において全てのノードに対するID設定処理が終了した場合にはステップS1709に進み、ルートは、自分自身のノードIDの設定を実行する。そしてノードIDの設定後、ルートはステップS1710においてセルフIDパケットをブロードキャストする。そしてリターンする。
以上の処理によって、1394ネットワークは、各ノードに対して自動的にノードIDを割り当てることができる。
ここで、ノードIDの設定処理後、複数のノードがバスマネージャの能力を具備する場合、ノード番号の最も大きいノードがバスマネージャとなる。つまり、ネットワーク内で最大となるノード番号を持つルートがバスマネージャになり得る機能を有している場合には、ルートがバスマネージャとなる。
しかしながら、ルートにその機能が備わっていない場合には、ルートの次に大きいノード番号を具備するノードがバスマネージャとなる。又、どのノードがバスマネージャになったかについては、各ノードがブロードキャストするセルフIDパケット内のコンテンダビット1803をチェックすることにより把握することができる。
(9)アービトレーション機能
図19A及び19Bは、図1に示す第1の実施の形態例における1394ネットワークにおけるアービトレーションを説明する図である。
1394ネットワークでは、データ転送に先立って、必ずバス使用権のアービトレーション(調停)を行う。1394ネットワークは、論理的なバス型ネットワークであり、各ノードから転送された通信パケットを他のノードに中継することによって、ネットワーク内の全てのノードに同じ通信パケットを転送することのできる。従って、通信パケットの衝突を防ぐために、必ずアービトレーションが必要となる。これによって、ある時間において一つのノードのみが転送を行うことができる。
図19Aは、ノードBとノードFとが、バス使用権の要求を発している場合について説明する図である。
アービトレーションが始まるとノードB,Fは、夫々親ノードに向かって、バス使用権の要求を発する。ノードBの要求を受けた親ノード(即ち、ノードC)は、自分の親ノード(即ち、ノードD)に向かって、そのバス使用権を中継する。この要求は、最終的に調停を行うルート(ノードD)に届けられる。
バス使用要求を受けたルートは、どのノードにバスを使用させるかを決める。この調停作業はルートとなるノードのみが行えるものであり、調停によって勝ったノードにはバスの使用許可が与えられる。
図19Bは、ノードFの要求が許可され、ノードBの要求が拒否されたことを示す図である。
アービトレーションに負けたノードに対してルートは、DP(Data prefix)パケットを送り、拒否されたことを知らせる。拒否されたノードは、次回のアーピトレーションまでバス使用要求を待機する。
以上のようにアービトレーションを制御することによって、1394ネットワークは、バスの使用権を管理することができる。
(10)通信サイクル
第1の実施の形態例においては、同期式転送モードと非同期式転送モードとは、各通信サイクル期間内において時分割に混在させることができる。ここで、通信サイクルの期間は、通常、125μSである。
図20は、1通信サイクルにおいて同期式転送モードと非同期式転送モードとを混在させた場合を説明する図である。
第1の実施の形態例においては、同期式転送モードは非同期式転送モードより優先して実行される。その理由は、サイクル・スタート・パケットの後、非同期式転送を起動するために必要なアイドル期間(subaction gap)が、同期式転送を起動するため必要なアイドル期間(同期式gap)よりも長くなるように設定されているためである。これにより、同期式転送は、非同期式転送に優先して実行される。
図20において、各通信サイクルのスタート時には、サイクル・スタート・パケット(以下、「CSP」と称す。)が所定のノードから転送される。各ノードは、このCSPを用いて時刻調整を行うことによって、他のノードと同じ時間を計時することができる。
(11)同期式転送モード
同期式転送モードは、同期型の転送方式である。同期式モード転送は、通信サイクルの開始後、所定の期間において実行可能である。又、同期式転送モードは、リアルタイム転送を維持するために、各サイクル毎に必ず実行される。
同期式転送モードは、特に動画像データや音声データ等のリアルタイムな転送を必要とするデータの転送に適した転送モードである。同期式転送モードは、非同期式転送モードのように1対1の通信ではなくブロードキャスト通信である。つまり、あるノードから送出されたパケットは、ネットワーク上の全てのノードに対して一様に転送される。なお、同期式転送には、ack(受信確認用返信コード)は存在しない。
図20において、チャネルe(ch e)、チャネルs(ch s)、チャネルk(ch k)は、各ノードが同期式転送を行う期間を示す。1394インタフェースでは、複数の異なる同期式転送を区別するために、夫々異なるチャネル番号を与えている。これにより、複数ノード間での同期式転送が可能となる。ここで、このチャネル番号は、送信先を特定するものではなく、データに対する論理的な番号を与えているに過ぎない。
又、図20に示した同期式gapとは、バスのアイドル状態を示すものである。このアイドル状態が一定時間を経過した後、同期式転送を希望するノードは、バスが使用できると判断し、アービトレーションを実行する。
次に、図21に第1の実施の形態例の同期式転送モードに基づいて転送される通信パケットのフォーマットを示す。以下、同期式転送モードに基づいて転送される通信パケットを、同期式パケットと称する。
図21において、同期式パケットはヘッダ部2101、ヘッダCRC2102、データ部2103、データCRC2104から構成される。
ヘッダ部2101には、データ部2103のデータ長を格納するフィールド2105、同期式パケットのフォーマット情報を格納するフィールド2106、同期式パケットのチャネル番号を格納するフィールド2107、パケットのフォーマット及び実行しなければならない処理を識別するトランザクションコード(tcode)を格納するフィールド2108、同期化コードを格納するフィールド2109がある。
(12)非同期式転送モード
第1の実施の形態例の非同期式転送モードは、非同期型の転送方式である。非同期式転送は、自己ノードから相手ノードへの1対1の通信であり、同期式転送期間の終了後、次の通信サイクルが開始されるまでの間(即ち、次の通信サイクルのCSPが転送されるまでの間)、実行可能である。
図20において、最初のサブアクション・ギャップ(subaction gap)は、バスのアイドル状態を示すものである。このアイドル時間が一定値になった後、非同期式転送を希望するノードは、バスが使用できると判断し、アービトレーションを実行する。
アービトレーションによりバスの使用権を得たノードは、図22に示すパケットを所定のノードに対して転送する。このパケットを受信したノードは、ack(受信確認用返送コード)或いは応答パケットをack gap後に返送する。
図22は、第1の実施の形態例の非同期式転送モードに基づく通信パケットのフォーマットを示す図である。以下、非同期式転送モードに基づいて転送される通信パケットを、非同期式パケットと称する。
図22において、非同期式パケットは、ヘッダ部2201、ヘッダCRC2202、データ部2203、データCRC2204から構成される。
ヘッダ部2201において、フィールド2205には宛先となるノードのノードID、フィールド2206にはソースとなるノードのノードID、フィールド2207には一連のトランザクションを示すためのラベル、フィールド2208には再送ステータスを示すコード、フィールド2209にはパケットのフォーマット及び実行しなければならない処理を識別するトランザクションコード(tcode)、フィールド2210には優先順位、フィールド2211には宛先のメモリ・アドレス、フィールド2212にはデータ部のデータ長、フィールド2213には拡張されたトランザクションコードが格納される。
又、非同期式転送において転送元ノードから転送されたパケットは、ネットワーク中の各ノードに行き渡るが、自分宛てのアドレス以外のものは無視される。従って、宛先となるノードのみが、そのパケットを読み込むことができる。
なお、非同期式転送中に次のCSPを転送すべき時間に至った場合、無理に転送を中断せず、その転送が終了した後、次のCSPを送信する。これにより、1つの通信サイクルが125μS以上続いたときは、その分、次の通信サイクル期間を短縮する。このようにすることによって、1394ネットワークは、ほぼ一定の通信サイクルを保持することができる。
(13)デバイスマップの作成
デバイスマップを作成するためにアプリケーションが1394ネットワークのトポロジーを知る手段として、IEEE1394規格上は以下の手段がある。
1)バスマネージャのトポロジーマップレジスターをリードする
2)バスリセット時にセルフIDパケットから推定する
しかし上記1、2の手段では、各ノードの親子関係によるケーブル接続順のトポロジーは判明するものの、物理的な位置関係のトポロジーを知ることは出来ない(実装されていないポートまで見えてしまう、といった問題もある)。
また、デバイスマップを作成するための情報を、コンフィギュレーションROM以外のデータベースとして持つ、といった手段もあるが、その場合、各種情報を得る手段はデータベースアクセスのためのプロトコルに依存してしまう。ところで、コンフィギュレーションROM自体やコンフィギュレーションROMを読む機能は、IEEE1394規格を遵守したデバイスが必ず持つものである。
そこで第1の実施の形態例では、デバイスの位置、機能等の情報を各ノードのコンフィギュレーションROMに格納し、それらをアプリケーションから読む機能を与えることにより、データベースアクセス、データ転送等の特定のプロトコルに依存することなく、各ノードのアプリケーションがいわゆるデバイスマップ表示機能を実装することができる。
コンフィギュレーションROMにはノード固有の情報として物理的な位置、機能などが格納可能であり、デバイスマップ表示機能の実現に使用することが可能である。
この場合、アプリケーションが物理的な位置関係による1394ネットワークトポロジーを知る手段としては、バスリセット時やユーザーからの要求時に、各ノードのコンフィギュレーションROMを読み取ることにより、1394ネットワークのトポロジーを知る、という方法が可能となる。更に、コンフィギュレーションROM内にノードの物理的位置のみならず、機能などの各種ノード情報も記述することによって、コンフィギュレーションROMを読むことで、ノードの物理的位置と同時に各ノードの機能情報等も得ることができる。アプリケーションが各ノードのコンフィギュレーションROM情報を取得する際には、指定ノードの任意のコンフィギュレーションROM情報を取得するAPIを用いる。
このような手段を用いることにより、IEEE1394ネットワーク上のデバイスのアプリケーションは、物理的なトポロジーマップ、各ノードの機能マップなど、用途に応じて様々なデバイスマップを作成することができ、ユーザーが必要な機能をもつデバイスを選択する、といったことも可能となる。
<1394ブリッジの概要>
第1の実施の形態例の構成、並びに接続デバイスについて説明する。
以下、第1の実施の形態例のデジタルインタフェースに適用されるIEEE1394ブリッジの技術について簡単に説明する。なお、IEEE1394ブリッジ(以下、「1394ブリッジ」と称す。)規格はIEEEp1394.。1分科会にて策定中である。
1394規格では、ひとつの1394バス上には最大63のノードまで接続可能であり、そのホップ数は16までとされている。63個以上の1394ノードを1394ネットワークに接続したい場合、また遠隔地にあるなどの理由で16ホップ以上の接続を行う必要がある機器同士を接続したい場合などには一般に1394ブリッジが使われる。
IEEE1394はIEEE1212規格に従った64ビット固定アドレッシングを使用し、10ビットをバスIDとして定義をしている為、ローカルバスを指定するID1023を除いた最大1023個のバスを1394ブリッジ経由で接続し1394ネットワークを構成することが可能となる。
1394ブリッジの果たす主な機能は、ブリッジを経由したバス間の1394ノードトランズアクショシの制御である。1394トランズアクションの場合、トランズアクションを発行するノード、発行先ノードの指定は<IEEE1394の技術の概要>で記述のようにノードIDを使い行なわれる。1394ブリッジは接続する2つのバスのトポロジー情報、ノードID情報等の情報をテーブルとして持ち、接続する2つバスに相手のバス・ノード情報を開示することによりバス間のトランズアクションを可能にしている。
また、1394バスの場合、デバイスノードの追加接続といった接続形態に変化が生じたり、あるノードが意図的に指示を行なうことによりバスリセットが発生し、バスリセットを起点に自動的にノードIDの再割り当てを行なうためにバスリセットのシーケンス、ノードID決定のシーケンスが行なわれ、新たなトポロジが生成される。このシーケンスの詳細については上記<IEEE1394の技術の概要>の(バスリセットのシーケンス)、(ノードID決定のシーケンス)の項で説明されているので割愛する。
この特性により、接続するバスのトポロジ・ノードID情報は動的に変化する為、その情報のアップデートもブリッジは行う。
一方で、1394のバスリセットシーケンスが行なわれている間はそのバス内のデータ転送が中断される上に、ノードIDの再割り当てという複雑なシーケンスが行われる。このため、バスリセットシーケンスの発生が必要のない他のバスにバスリセット信号を伝搬させることは非常に非効率とされており、1394ブリッジは接続された一方のバスリセット信号を他方のバスには伝搬させないということになっている。
その他のブリッジの機能としては、複数のバスブリッジが接続された複数バス構成のネットワークにおいて、1394ブリッジ同士の調停、ブリッジの情報交換によるパケットルーティング機能などが挙げられる。
以上が、1394インタフェースを用いて構成される通信システムの構成及び機能に関する説明である。
[第1の実施の形態例の構成並びに接続デバイスの説明]
以下、第1の実施の形態例の構成、並びに接続デバイスについて説明する。まず、各ローカルバスに接続される各ノードの共通部分として1394シリアルバスインタフェース部の構成を図23を参照して説明する。図23は第1の実施の形態例の1394ノードの1394インターフェースブロックの構成を示す図である。
図23中、2701はデバイス本体とのインタフェースを行い、PHYICのデータ転送をコントロールするリンクレイヤ制御IC(LINKIC)であり、前述の(IEEE1394の技術の概要)におけるリンクレイヤの機能を実現する。本ICが備える主な機能としてはPHYICを介する送信/受信データを一時格納する送受信FIFO、送信データのパケット化機能、PHYICが受信データが本ノードアドレス、またはアイソクロナス転送データの場合は割り当てられたチャンネル向けのものであるかの判定機能、またそのデータのエラーチェックを行うレシーバー機能、そしてデバイス本体とのインタフェースを行う機能がある。
2702は1394シリアルバスを直接ドライブするフィジカルレイヤ制御IC(PHYIC)であり、前述の(IEEE1394の技術の概要)におけるフィジカルレイヤの機能を実現する。主な機能としては、バスイニシャル化とアービトレーション、送信データ符号のエンコード/デコード、ケーブル通電状態の監視ならびに負荷終端用電源の供給(アクティブ接続認識用)、リンクレイヤICとのインタフェースである。
2703はコンフィギュレーションROMであり、各機器固有の識別、通信条件等が格納されている。本ROMのデータフォーマットは<IEEE1394の技術の概要>で説明したようにIEEE1212並びにIEEE1394規格で定められたフォーマットに準じている。
2704はリンクレイヤIC、PHYICをはじめとする1394インタフェース部をコントロールするCPUであり、2805は同インタフェース部のコントロール用プログラムが格納されているROMである。2706はRAMであり、送受信データを蓄えるデータバッファをはじめ、制御用ワークエリア、1394アドレスにマッピングされた各種レジスタのデータ領域に使用されている。
各ノードは図24に示す様な一般形式のコンフィギュレーションROMを装備しており、各デバイスのソフトウェアユニット情報はユニットディレクトリに、ノード固有の情報はノードディペンデントインフォディレクトリに保存されている。
また、プリンタ機能、スキャナ機能といった各デバイスの基本機能インスタンスとその基本機能に付随する詳細情報はroot directoryからオフセットされるインスタンスディレクトリ(instance directory)に保有することが可能となっている。
インスタンスディレクトリの構成について説明する。インスタンスディレクトリには、プリンタ、スキャナといったプロトコルに依存しないデバイスの情報が格納される。単機能のデバイスの場合、基本機能情報は1つであり、複数機能をサポートするデバイスの場合には、複数の機能が列挙される。列挙された各機能について対応するプロトコル・ソフトウエア情報を保存するユニットディレクトリへのポインタ情報を保存する他に、それぞれの機能に関する固有な詳細情報を保有するためのフィーチャディレクトリへのポインタが保存される。
<IEEE1394の技術の概要>で説明したように1394シリアルバスのアドレス設定のうち、最後の28ビットはシリアルバスに接続される他のデバイスからアクセス可能な、各機器の固有データの領域として確保されている。図25はこの各機器の固有データの領域である28ビットの領域のアドレス空間を表した図である。
図25中0000番地から0200番地の領域には図11に示したCSRコアレジスタ群が配置されている。これらレジスタはCSRアーキテクチャで定められたノード管理の為の基本的な機能として存在している。
0200番地から0400番地の領域は、CSRアーキテクチャにより、シリアルバスに関するレジスタが格納される領域として定義されている。第1の実施の形態例のシリアルバスに関するレジスタが格納される領域の例を図26に示す。<IEEE1394の技術の概要>で説明したように0200〜0230番地のレジスタが定義されておりデータ転送の同期、電源供給、バスリソース管理等に使用されるレジスタが配置されている。この部分は上述した図12に示す構成と同様である。
図26中0240番地に配置されているレジスタ、REMOTE_BUS_RESETは第1の実施の形態例の特徴であり、このレジスタのフォーマットを図27に示す。
このレジスタに対して1394ライトトランズアクションにより、図27のフォーマットに従いBUS_IDフィールドに有効なバスIDが代入されたデータの書き込みが行なわれたノードは、自ノードが接続されているローカルバス以外のBUS_IDフィールドで表されるリモートバスにおいてバスリセットが発生したこと事を知ることが可能となる。前述のコンフィギュレーションROMは400番地から800番地の領域に配置されている。
図25に示す0800番地から1000番地までの領域には、現在の1394バスのトポロジー情報、またノード間の転送スピードに関する情報が格納されている。同様に1000番地以降の領域はユニット空間と呼ばれ、各デバイス固有の動作に関連するレジスタが配置されている。この領域には各デバイスがサポートする上位プロトコルで規定されたレジスタ群とデータ転送用メモリマップドバッファ領域、また各機器固有のレジスタが配置される。
前述のように、上記構成の1394インタフェース部を具備したデバイスA1,A2がバスAに、B1,B2がバスBにそれぞれ接続され、1394ブリッジデバイスによってバスA,Bが接続されている1394ネットワークにおける第1の実施の形態例の動作を図28及び図29も参照して説明する。図28は第1の実施の形態例例のDPPプロトコルに準拠した通信制御手順を示す図、図29は第1の実施の形態例例のAV/Cプロトコルに準拠した通信制御手順を示す図である。
まず、バスA,Bそれぞれの現在の接続構成に至るにあたり、それぞれのバス独立に、デバイスノードの追加接続が行なわれる毎にバスリセットが発生する為、バスリセットを起点に自動的にノードIDの割り当てを行うためにバスリセットのシーケンス、ノードID決定のシーケンスが行なわれ、新たなトポロジーが生成される。
その後、1394データ転送がそれぞれのバスにおいて開始される。このシーケンスの詳細については上記<IEEE1394の技術の概要>の<バスリセットのシーケンス>、<ノードID決定のシーケンス>の項で説明されているので割愛する。このように接続ノードの接続順番、1394ブリッジへのバスの接続順番によって動作は異なるものの、ノード接続毎に上記バスリセットー1394初期化シーケンスが繰り返され、最終的に上記記述のように1394ブリッジを介してデバイスA1,A2がバスAに、デバイスB1とB2がバスBに接続されたトポロジーが形成されたこととする。
上記状態で1394ネットワークのトポロジーが決定され、1394データ転送が正常に行なわれている状態で、上位プロトコルとしてダイレクトプリントプロトコル(Direct Print Protocol)(以下「DPP」と称す。)を具備しているデジタルスチルカメラであるノードA1がユーザー操作、またはアプリケーションのトリガを起点に1394で接続されているプリンタに画像データを転送し印刷を行うために、まず1394ネットワーク上で自ノード同様DPPをサポートするプリンタデバイスを探す。
これはネットワーク上に接続されているノードに対して相手ノードのコンフィギュレーションROMの読み出しを行うことによって実現される。この様子を図19A及び19Bに示す。具体的には相手ノードに対するIEEE1394のリードトランズアクションを使用することにより、そのリードレスポンスとして相手ノードのROMの内容が返ってくる。
前述のように各ノードのコンフィギュレーションROMには1394関連情報の他に、インスタンスディレクトリにはプリンタ、カメラといった各ノードの基本機能、ユニットディレクトリにはAV/Cプロトコル、DPPといった上位プロトコルやソフトウェアに関する情報が記述されている。
ノードA1はローカルバスAの各ノードのROM読み出しを行った後に1394ブリッジを経由してバスBの各ノードのROM読み出しを行う過程で、ノードB1がプリンタでありDPPデバイスであることを検出する。
なお、1394ブリッジを経由した1394トランズアクションの詳細についてはここでは割愛するが、現在IEEEp1394.1で規格が策定中である。
ノードA1であるカメラは、プリンタであり、自ノードがサポートするDPPプロトコルと同一プロトコルを具備したノードB1を発見後、図28に示すDPPプロトコルで定義された手順、フォーマットに準拠した形でノードB1とコネクションを樹立する。
即ち、ノードA1はノードB1に図28の▲1▼に示すようにライトトランザクションを使ってコネクションリクエストコマンドを送信し、ノードB1がこれに応答してノードA1に対して図28の▲2▼に示すようにライトトランザクションを使ってコネクションリクエストレスポンスを送信し、以降アプリケーションデータの転送を開始する。
同様に上位プロトコルとしてAV/Cプロトコルを具備しているデジタルビデオカムコーダであるノードB2も1394ブリッジを介してノードA2と図29に示すAV/Cプロトコルを使いAV/Cコマンドの送受を開始し、図29の▲1▼に示すようにノードB2からAV/Cコマンドを発行し、そのレスポンス待ち状態に入っているものとする。
以上に説明したネットワーク状態において、ユーザーの操作により図1に示すデバイスノードA3(108)がバスAに新たに接続されたとする。新たなノードが追加接続されることによりIEEE1394の特性に従いバスリセットが発生する。
バスリセット信号を受信したバスAの各ノードの1394インタフェース層は、その情報を上位プロトコル層に通知すると共に、バスリセットを起点に自動的にノードIDの割り当てを行うためにバスリセットのシーケンス、ノードID決定のシーケンスといった一連のバスリセット復帰処理を開始する。
バスA102においてDPPの規定に従いバスB103のノードB1(106)とコネクションを樹立し、データ転送を行っていたノードA1(104)では、バスA102のバスリセットがDPP層に通知されると、DPPの規定に従ったバスリセット復帰処理が開始される。
DPPにおけるバスリセット復帰処理では、1394レイヤにおいてバスリセット復帰処理が終了し、新たなノードIDとトポロジー決定後、データ転送が正常に復帰した段階で、データ送信が再開される前に予め規定された時間内に最初に相手ノードにコネクション要求を送出した方のノードがリコネクトリクエストコマンド、すなわち最接続要求を送出する規定になっている。
また、コネクション樹立時に要求を受けた方のノードは1394インタフェース層でバスリセット復帰が完了後、コネクションを樹立していたノードからのリコネクトリクエストコマンドの受信待ち状態に入り、規定時間内にそれを受信しない場合には、そのコネクションを破棄する、という規定になっている。
また、バスA102においてAV/Cの規定に従いバスB103のノードB2(107)とデータ転送を行っていたノードB1(106)では、バスA102のバスリセットがAV/C層に通知されると、AV/Cの規定に従ったバスリセット対応処理が開始される。
AV/Cプロトコルでは、通常一方のノードによるAV/Cコマンドの送信に対してそのコマンドを受信した方のノードが、コマンド実行結果等の情報を含んだ対となるレスポンスをコマンド発行ノードに対して送出する規定となっている。バスリセットが生じた際、リセット前に送出し、レスポンスを受信していないAV/Cコマンドは未実行、破棄されたとみなされる為、1394インタフェース層においてバスリセット処理が復帰し、データ転送が正常復帰された後に再送出する必要がある、と規定されている。
一方、接続形態の変化のないバスB103においては、IEEEの規定によればバスリセットは発生せず、1394ブリッジ101により接続されたバスA102でバスリセットが発生した場合においても、それを検出するものの1394ブリッジ101は規定された特性によりバスリセット信号を他のバス、この場合はバスB103に伝搬することはない。
従って、この時点ではノードA1、2、A3、・・・といったバスA102に接続されているノードのみでバスリセット復帰処理が開始され、ノードA1(104)のデータ送信先であるノードB1(106)、ノードA2(105)のデータ送信先であるノードB2(107)で同処理は開始されていない。
しかしながら、第1の実施の形態例における1394ネットワークシステムでは、1394ブリッジが一方のバスにおけるバスリセット発生情報をもう一方のバスに接続されるノードに通知する手段を、各ノードはリモートバスにおけるバスリセット発生通知を受信する手段を具備するところに特徴がある。
具体的には、バスAでバスリセットが発生したことによりバスリセット信号を受信した1394ブリッジ101は、バスAに接続されているノードコントローラ側でバスリセット処理を行う一方で、バスAのバスID情報、すなわち3FDhという値と共に、バスリセットが発生したことをバスBノードコントローラ側に通知する。
バスBノードコントローラはこの情報を受け取ると、バスBに接続されている各ノードの0240番地に配置されているレジスタである「REMOTE_BUS_RESET」に対して、レジスタのフォーマットに従った形でバスリセットが発生したリモートバスのバスID:3FDhをデータとしたパケットを1394ライトトランズアクションを使用して書き込みを行う。
バスBでは、バスリセットが発生していないものの、図28の▲3▼あるいは図29の▲2▼に示すようにして1394ブリッジノード101による各ノードのREMOTE_BUS_RESETレジスタへバスAのIDの書き込みが行なわれることにより、リモートバスAにおいてバスリセットが発生したことが通知される。
REMOTE_BUS_RESTレジスタへの書き込みを検出したバスBの各ノードの1394インタフェース層はリモートバスでバスリセットが発生した事と共にそのリモートバスのバスID情報を上位プロトコル層に通知する。
バスBにおいてDPPの規定に従いバスAのノードA1とコネクションを樹立しデータ転送を行っていたノードB1では、バスリセットを起こしたリモートバスIDをチェックし、コネクション先であるノードが接続されているバスAであることを確認すると、コネクション先ノード、すなわちノードA1がDPPの規定に従ったバスリセット復帰処理を開始したことを認識する。
ノードB1もDPPのバスリセット処理に対応した処理を開始し、コネクションを樹立していたノードからのリコネクトリクエストコマンドの受信待ち状態に入る。これにより、実際にバスリセットが発生したことによりバスリセット処理を開始したノードA1と、バスリセットが発生していないバスBに接続されているノードB1間でDPPプロトコル処理の整合性が確保される。
このあと、ノードA1はノードB1に図28の▲4▼に示すリコネクトリクエストコマンドを送信し、ノードB1はノードA1に図28の▲5▼に示すリコネクトリクエストレスポンスを送信して以降データ通信を再開する。
同様に、バスBにおいてAV/Cプロトコルの規定に従いバスAのノードA2とAV/Cコマンドのやりとりを行っていたノードB2では、バスリセットを起こしたリモートバスIDをチェックし、通信先であるノードA2が接続されているバスAであることを確認すると、通信先ノード、すなわちノードA2がAV/Cプロトコルの規定に従ったバスリセット処理を開始したことを認識する。
ノードB2も図29に示すAV/Cのバスリセット処理に対応した処理を実行し、リモートバスリセット前に送出し、レスポンスを受信していないAV/Cコマンドは未実行、破棄されたとみなす処理を実行する。これにより、実際にバスリセットが発生したことによりバスリセット処理を開始したノードA2と、バスリセットが発生していないバスBに接続されているノードB2間でAV/Cプロトコル処理の整合性が確保される。
即ち、ノードB2はノードA2に図29の▲3▼に示すAV/Cコマンドを再度送信し、これに応答してノードA2はノードB2に図29の▲4▼に示すAV/Cレスポンスを送信して通信を継続する。
以上説明したように第1の実施の形態例によれば、IEEE1394バスに接続されたノードにおいて、自ノードが接続されているバス以外のリモートバスにおいてバスリセットが生じた場合、バスリセットが発生したバスIDとリセット発生通知を受信可能な手段を設け、複数のバスがブリッジを介して接続されている場合、バスリセットが発生したバスに接続されているブリッジが、接続されている他のバスのノードに対してバスリセットが発生したバスIDを含めたリモートバスリセットの発生通知を上記受信手段に対して行うことを特徴とした1394バスシステムを提供することによって、同じ上位プロトコルを使用して、一方のローカルバスのデータ送信ノードから1394ブリッジを介した他方のローカルバスに接続されたデータ受信側ノードでデータ転送を行う際、一方のローカルバスにおいてバスリセットが発生した場合には1394ブリッジがリモートバスに接続されたノードに対してそのバスリセットを通知することが出来る為、他方のバスに接続された受信側ノードがそのバスリセットを検出することができ、上位プロトコル層におけるバスリセット処理の整合性が取れるため、バス間の正常なデータ通信が可能になるという効果がある。
また、IEEE1394に準拠した通信制御バスに接続されたノードにおいて、自ノードが接続されているローカルバス以外のリモートバスにおいてバスリセットが生じた場合、バスリセットが発生したバスIDとリセット発生通知を受信可能とする手段を提供することができる。
更に、そのリモートバスのリセット発生通知受信手段として、ノード上の予め定められたアドレスにレジスタを設け、そのアドレスに対するバスID情報の書きこみ検出することにより、リモートバスのリセット発生通知を受信する手段を提供することができる。
更に、上記予め定められたレジスタを各1394ノードのアドレス空間のうちコアCSRアーキテクチャレジスタ空間に配置する事を特徴とした、または同アドレス空間のうちシリアルバスレジスタ空間に配置する事を特徴とした情報信号処理装置を提供することができる。
また、IEEE1394バスシステムにおいて、複数のバスがブリッジを介して接続されている場合、接続されているバス以外のリモートバスにおいてバスリセットが生じた場合、リモートバスリセット発生の通知を行うことを特徴とした1394バスシステムを提供し、更に、バスリセットが発生したバスに接続されているブリッジが、接続されている他のバスのノードに対してバスリセットが発生したバスIDを含めたリモートバスリセットの発生通知を行うことを特徴とした1394バスシステムを提供することができる。
[第2の実施の形態例]
以下、本発明に係る第2の実施の形態例を説明する。第2の実施の形態例においても、1394インタフェースを用いて構成される通信システムの構成及び機能は上述した第1の実施の形態例と同様であるため、詳細説明を省略する。
[第2の実施の形態例]
第2の実施の形態例において、第2の実施の形態例の構成ならびに接続デバイスにおいて、上記第1の実施の形態例と同様構成には同一番号を付し詳細説明を省略する。
第2の実施の形態例においても、1394シリアルバスインタフェース部の構成は図23に示す第1の実施の形態例と同様構成とでき、各ノードのコンフィギュレーションROMも図24、図25に示す様な形式とできる。ただし、第2の実施の形態例においては図25に示す0200番地から0400番地のシリアルバスに関するレジスタが格納される領域の構成が第1の実施の形態例と異なっており、図30に示す構成となっている。
即ち、第2の実施の形態例においては、図26に示すシリアルバスに関するレジスタに比し、0244番地に配置されているNOTIFY_BUS_RESETが別途割り当てられており、第2の実施の形態例の特徴的なレジスタとなっている。このNOTIFY_BUS_RESETレジスタのフォーマットを図31を参照して説明する。図31は第2の実施の形態例のNOTIFY_BUS_RESETレジスタのフォーマットを示す図である。
NOTIFY_BUS_RESETレジスタは、後述する第2の実施の形態例を適用した1394ブリッジ101のブリッジポータルが実装するレジスタである。このレジスタに対して1394ライトトランザクションに従って、図31のフォーマットに従ったデータが書き込まれる。書きこまれたデータのBUS_IDフィールドに有効なバスID、NODE_IDフィールドに有効なノードID、コマンドフィールドに有効なコマンド(1:記憶、0:消去)が代入されている場合には、ブリッジ101は有効なデータとして受信し、コマンドフィールドの値に従った処理を行う。コマンドフィールドの値が(1:記憶)の場合、ブリッジ101は、データのBUS_IDフィールド、NODE_IDフィールドの値をポータルに対応した格納テーブルに記憶する。また、コマンドフィールドの値が(0:消去)の場合、ブリッジ101は、データのBUS_IDフィールド、NODE_IDフィールドの値をポータルに対応した格納テーブルから消去する。そして、当該ポータルが接続する1394バスでバスリセットが起こった場合には、ブリッジ101は当該格納テーブルに記憶したバスID、ノードIDで特定されるノードのREMOTE_BUS_RESETレジスタに1394ライトトランザクションに従って書き込みを行うことにより、当該バスでバスリセットが起こったことをこのノードに通知する。
図32は第2の実施の形態例におけるIEEE1394ブリッジデバイス101の構成を示すブロック図である。図中、ポータルA3301はバスA102に、ポータルB3302はバスB103に接続している。これらのポータルはバスに接続した1個のノードとして機能する。
ブリッジ制御装置3303は、ポータルA3301とポータルB3302の間でブリッジを行う機能を実装している。バスリセット管理装置3304はポータルA3301の上述したNOTIFY_BUS_RESETレジスタにかかれたバスID、ノードIDを格納テーブルA3305に記憶、またはテーブルから消去する。
同様に、ブリッジ制御装置3303はポータルB3302のNOTIFY_BUS_RESETレジスタにかかれたバスID、ノードIDを格納テーブルB3306に記憶、またはテーブルから消去する。そしてバスA102でバスリセットが起きた場合には格納テーブルA3305に記憶したノードの、バスB103でバスリセットが起きた場合には格納テーブルB3306に記憶されているノードのREMOTE_BUS_RESETレジスタに、第1の実施の形態例と同様の図27のフォーマットにしたがってデータを書くことによりバスリセットが起こったことを通知する。
前述のコンフィギュレーションROMは400番地から800番地の領域に配置されている。
第1の実施の形態例と同様の図25に示す0800番地から1000番地までの領域には、現在の1394バスのトポロジー情報、またノード間の転送スピードに関する情報が格納されている。同様に1000番地以降の領域はユニット空間と呼ばれ、各デバイス固有の動作に関連するレジスタが配置されている。この領域には各デバイスがサポートする上位プロトコルで規定されたレジスタ群とデータ転送用メモリマップドバッファ領域、また各機器固有のレジスタが配置される。
前述の構成を備える1394インタフェース部を具備したデバイスであるノードA1(104),A2(105)がバスA102に、ノードB1(106),B2(107)がバスB103にそれぞれ接続され、1394ブリッジデバイス101によってバスA102とバスB107が接続されている例えば図1に示す1394ネットワークにおける動作の詳細を図33及び図34も参照して説明する。図33は第2の実施の形態例のDPPプロトコルに準拠した通信制御手順を示す図、図34は第2の実施の形態例のAV/Cプロトコルに準拠した通信制御手順を示す図である。
まず、バスA,Bそれぞれの現在の接続構成に至るにあたり、それぞれのバス独立に、デバイスノードの追加接続が行なわれる毎にバスリセットが発生する為、バスリセットを起点に自動的にノードIDの割り当てを行う。このためにバスリセットのシーケンス、ノードID決定のシーケンスが行なわれ、新たなトポロジーが生成される。
その後、1394データ転送がそれぞれのバスにおいて開始される。このシーケンスの詳細については上記(IEEE1394の技術の概要)の(バスリセットのシーケンス)、(ノードID決定のシーケンス)の項で説明されているので割愛する。
このように接続ノードの接続順番、1394ブリッジ101へのバスの接続順番によって動作は異なるものの、ノード接続毎に上記バスリセット−1394初期化シーケンスが繰り返され、最終的に上記記述のように1394ブリッジ101を介してデバイスA1,A2がバスAに、デバイスB1とB2がバスBに接続されたトポロジーが形成されたこととする。
上記状態で1394ネットワークのトポロジーが決定され、1394データ転送が正常に行なわれている状態で、上位プロトコルとしてダイレクトプリントプロトコル(Direct Print Protocol)(以下「DPP」と称す。)を具備しているデジタルスチルカメラであるノードA1がユーザー操作、またはアプリケーションのトリガを起点に1394で接続批されているプリンタに画像データを転送し印刷を行うために、まず1394ネットワーク上で自ノード同様にDPPをサポートするプリンタデバイスを探す。
これはネットワーク上に接続されているノードに対して相手ノードのコンフィグレーションROMの読み出しを行うことによって実現される。この様子は図19A及び19Bを参照して上述した。具体的には相手ノードに対するIEEE1394のリードトランズアクションを使用することにより、そのリードレスポンスとして相手ノードのROMの内容が返ってくる。
上述した様に各ノードのコンフィグレーションROMには1394関連情報の他に、インスタンスディレクトリにはプリンタ、カメラといった各ノードの基本機能、ユニットディレクトリにはAV/Cプロトコル、DPPといった上位プロトコルやソフトウェアに関する情報が記述されている。
ノードA1はローカルバスAの各ノードのROM読み出しを行った後に1394ブリッジを経由してバスBの各ノードのROM読み出しを行う過程で、ノードB1がプリンタでありDPPデバイスであることを検出する。
なお、1394ブリッジを経由した1394トランズアクションの詳細についてはここでは割愛するが、現在IEEEp1394.1で規格が策定中である。
ノードA1(104)であるカメラは、プリンタであり、自ノードがサポートするDPPプロトコルと同一プロトコルを具備したノードB1(106)を発見後、図33に示すDPPプロトコルで定義された手順、フォーマットに準拠した形でノードB1とコネクションを樹立し、アプリケーションデータの転送を開始する。
このときノードA1(104)は、まず図33の▲1▼に示すように1394ブリッジ101のポータルA3301のNOTIFY_BUS_RESETレジスタに図31に示すフォーマットにしたがって、{(バスBのバスID)、(ノードB1のノードID)、(記憶コマンド)}を書き込む。次いでノードA1(104)は、図33の▲2▼に示すライトトランザクションを使ってノードB1にコネクションリクエストコマンドを送信する。
これに応答してノードB1(106)は図33の▲3▼に示すように1394ブリッジ101のポータルB3302のNOTIFY_BUS_RESETレジスタに図31のフォーマットにしたがって、{(バスAのバスID)、(ノードA1のノードID)、(記憶コマンド)}を書き込む。
次いでノードB1(106)はノードA1に図33の▲4▼に示すライトトランザクションを使ってコネクションリクエストレスポンスを送信する。こうして、ノードA1(104)はノードB1(106)とコネクションを樹立し、1394ブリッジのバスリセット管理装置はこれらのバスID、ノードIDを該当する格納テーブルに記憶する。
同様に上位プロトコルとしてAV/Cプロトコルを具備しているデジタルビデオカムコーダであるノードB2(107)も1394ブリッジ101を介してノードA2(105)とAV/Cプロトコルを使いAV/Cコマンドの送受を開始するため、まずノードB2(107)からブリッジ101に対して図34の▲1▼に示すように、図33の▲1▼同様の書き込みを行いバスリセットを相手のノードに通知できるようにする。
ノードB2(107)は、次いで図34の▲2▼に示すAV/Cコマンドを発行し、そのレスポンス待ち状態に入っているものとする。また、図34の▲2▼に示すAV/Cコマンドを受信したノードA2(105)もブリッジ101に対して図34に示す▲3▼において、前述した図33の▲3▼のような書き込みを行い、バスリセットを相手のノードに通知できるようにする。
以上に説明したネットワーク状態において、ユーザーの操作により図1に示すデバイスノードA3(108)がバスAに新たに接続されたとすると、上記第1の実施の形態例と同様にバスリセットが発生し、一連のバスリセット復帰処理を開始する。
この場合、接続形態の変化のないバスB103においては、バスリセットは発生せず、ノードA1(104)のデータ送信先であるノードB1(106)や、ノードA2(105)のデータ送信先であるノードB2(107)ではバスリセット復帰処理は開始されていないことになる。
しかしながら、これでは上記欠点があるため、第2の実施の形態例においては上記規定の通りの動作に代え、以下の動作を行う。
即ち、第2の実施の形態例における1394ネットワークシステムでは、1394ブリッジ101のバスリセット管理装置3304がブリッジポータルに接続したバスにおけるバスリセット発生情報を当該ポータルに対応する格納テーブルに記憶したノードに通知する手段を備える構成とし、かつ各ノードがリモートバスにおけるバスリセット発生通知を受信する手段を具備するこう背として上記欠点を解消することとしている点に大きな特徴がある。
具体的には、バスA102でバスリセットが発生したことによりバスリセット信号を受信した1394ブリッジ101は、バスA102に接続されているポータルA3301のノードコントローラ側でバスリセット処理を行う一方で、バスリセット管理装置3304は、格納テーブル3305、3306に記憶した各ノードの図30に示すシリアルバスレジスタの0240番地に配置されているREMOTE_BUS_RESETレジスタに対して、レジスタのフォーマットに従った形でバスリセットが発生したリモートバスのバスIDすなわちバスAのバスID:3FDhをデータとしたパケットを1394ライトトランズアクションを使用した書き込みを順次行う。
即ち、第2の実施の形態例では、格納テーブルに、ノードB1(106)、B2(107)のバスID、ノードIDが記憶されているので、図33の▲5▼あるいは図34の▲4▼に示すようにこれらのノードに対して書き込みが行われる。
この結果、バスB103では、バスリセットが発生していないものの、ブリッジ101により通知すべき各ノードのREMOTE_BUS_RESETレジスタへバスA102のIDの書き込みが行なわれることにより、リモートバスAにおいてバスリセットが発生したことが通知されることになる。
REMOTE_BUS_RESETレジスタへの書き込みを検出した各ノードの1394インタフェース層は、リモートバスでバスリセットが発生した事と共にそのリモートバスのバスID情報を上位プロトコル層に通知する。
パスB103においてDPPの規定に従いバスAのノードA1(104)とコネクションを樹立しデータ転送を行っていたノードB1(106)では、バスリセットを起こしたリモートバスIDをチェックし、コネクション先であるノードが接続されているバスA102であることを確認すると、コネクション先ノード、すなわちノードA1(104)がDPPの規定に従ったバスリセット復帰処理を開始したことを認識する。
ノードB1(106)もDPPのバスリセット処理に対応した処理を開始し、コネクションを樹立していたノードからのリコネクトリクエストコマンドの受信待ち状態に入る。これにより、実際にバスリセットが発生したことによりバスリセット処理を開始したノードA1(104)と、バスリセットが発生していないバスB103に接続されているノードB1(106)間でDPPプロトコル処理の整合性が確保される。
このあと、ノードA1(104)はノードB1(106)に図33の▲6▼に示すリコネクトリクエストコマンドを送信し、ノードB1(106)はノードA1(104)に図33の▲7▼に示すリコネクトリクエストレスポンスを送信してデータ通信を再開する。
同様に、バスB103においてAV/Cプロトコルの規定に従いバスA102のノードA2(105)とAV/Cコマンドのやりとりを行っていたノードB2(107)では、バスリセットを起こしたリモートバスIDをチェックし、通信先であるノードA2(105)が接続されているバスA102であることを確認すると、通信先ノード、すなわちノードA2(105)がAV/Cプロトコルの規定に従ったバスリセット処理を開始したことを認識する。ノードB2(107)もAV/Cのバスリセット処理に対応した処理、リモートバスリセット前に送出し、レスポンスを受信していないAV/Cコマンドは未実行、破棄されたとみなす処理を実行する。これにより、実際にバスリセットが発生したことによりバスリセット処理を開始したノードA2(105)と、バスリセットが発生していないバスB103に接続されているノードB2(107)間でAV/Cプロトコル処理の整合性が確保される。
即ち、ノードB2(107)はノードA2(105)に図34の▲5▼に示すAV/Cコマンドを再度送信し、ノードA2(105)はこれに応答してノードB2(107)に図34の▲6▼に示すAV/Cレスポンスを送信して通信を継続する。
前述の状態で、バスB103でバスリセットが起こった場合も同様に、1394ブリッジ101のバスリセット管理装置3304により、バスA102の通知すべきノードに通知され、上位プロトコル処理の整合が保たれる。
以上説明したように第2の実施の形態例によれば、それぞれ異なるIEEE1394バスに接続するポータルを少なくとも2個持つ1394ブリッジにおいて、各ポータルに抜続するIEEE1394バスのバスリセットを監視する手段、各ポータルに接続するIEEE1394バスのいずれかを指定する手段、ブリッジを介して接続された複数のIEEE1394バスの全体からなるネットワーク上のノードを指定する手段、及び前記指定したバスのバスリセットを前記指定したノードに通知する手段からなるバスリセット管理手段を備えたことを特徴とするIEEE1394ブリッジを提供することにより、バスリセットが起こったことをリモートバスに接続したノードに通知することを可能にする。
(第3の実施の形態例)
第3の実施の形態例においても基本構成は上述した図1乃至図34に示す第1の実施の形態例及び第2の実施の形態例と同様であるため、詳細説明は省略する。以下、は上述した第1及び第2の実施の形態例と異なる部分を説明する。第3の実施の形態例においては上述した第2の実施の形態例とDPPプロトコルに準拠した通信制御手順が相違している。以下、図35を参照して本発明に係る第2の実施の形態例のDPPプロトコルに準拠した通信制御手順を説明する。
上述した第2の実施の形態例と同様に、1394ネットワークのトポロジーが決定され、1394データ転送が正常に行なわれている状態で、上位プロトコルとしてDDPを具備しているデジタルスチルカメラであるノードA1がユーザー操作、またはアプリケーションのトリガを起点に1394で接続されているプリンタに画像データを転送し印刷を行うために、まず1394ネットワーク上で自ノード同様DDPをサポートするプリンタデバイスを探す。
ノードA1はローカルバスAの各ノードのROM読み出しを行った後に1394ブリッジを経由してバスBの各ノードのROM読み出しを行う過程で、ノードB1がプリンタでありDDPデバイスであることを検出する。ここで、ノードB1はREMOTE_BUS_RESETレジスタを備えているが、ノードA1は備えていないものとする。そしてこれをノードB1はノードA1のROM情報から知ることができるものとする。
第3の実施の形態例において、1394ブリッジ101のバスリセット管理装置3304は、ブリッジポータルのNOTIFY_BUS_RESETレジスタに、図31に示すフォーマットのバスIDフィールドに(3FFH)、かつノードIDフィールドに(3FH)が書かれた場合、書き込みを行ったノードのバスID、ノードIDを書き込まれたポータルに対応する格納テーブルに記憶する。
ノードA1であるカメラは、プリンタであり、自ノードがサポートするDPPプロトコルと同一プロトコルを具備したノードB1を発見後、DPPプロトコルで定義された手順、フォーマットに準拠した形でノードB1とコネクションを樹立し、アプリケーションデータの転送を開始するため、ノードB1に図35の▲1▼に示すコネクションリクエストをライトトランザクションを使って送信する。
このときノードB1は、図35の▲2▼に示すように1394ブリッジのポータルAのNOTIFY_BUS_RESETレジスタに図31のフォーマットにしたがって、{(3FFH)、(3FFH)、(記憶コマンド)}を書き込む。
そして1394ブリッジのバスリセット管理装置はポータルAに対応する格納テーブルに、ノードB1のバスID、ノードIDを記憶する。次いでノードB1は、ノードA1に図35の▲3▼に示すコネクションリクエストレスポンスをライトトランザクションを使って送信しコネクションを確立する。
上述した第2の実施の形態例と同様に、図1に示すネットワーク状態において、ユーザーの操作によりデバイスノードA3(図1に示す108)がバスA102に新たに接続されたとする。このときの制御の一部が上記第2の実施の形態例と異なる。
新たなノードが追加接続されることによりIEEE1394の特性に従いバスリセットが発生する。バスリセット信号を受信したバスA102の各ノードの1394インタフェース層はその情報を上位プロトコル層に通知すると共にバスリセットを起点に自動的にノードIDの割り当てを行うためにバスリセットのシーケンス、ノードID決定のシーケンスといった一連のバスリセット復帰処理を開始する。
バスA102においてDPPの規定に従いバスB103のノードB1(106)とコネクションを樹立し、データ転送を行っていたノードA1(104)では、バスA102のバスリセットがDPP層に通知されると、前記第1の実施の形態例同様DPPの規定に従ったバスリセット復帰処理が開始される。
一方、接続形態の変化のないバスB103においてバスリセットは発生せず、上述した第1の実施の形態例で説明したようにバスA102でバスリセットが発生した場合においてもバスリセット信号はバスB103に伝搬されない。従って、この時点ではノードA1,A2,A3といったバスAに接続されているノードのみでバスリセット復帰処理が開始され、ノードA1のデータ送信先であるノードB1、ノードA2のデータ送信先であるノードB2で同処理は開始されていない。
しかしながら、前記第1の実施の形態例同様、第2の実施の形態例でもバスA102でバスリセットが発生したことによりバスリセット信号を受信した1394ブリッジ101は、バスA102に接続されているポータルA3301のノードコントローラ側でバスリセット処理を行う一方で、バスリセット管理装置3304は格納テーブル3305、3306に記憶した各ノードの0240番地に配置されているレジスタ、REMOTE_BUS_RESETに対して、レジスタのフォーマットに従った形でバスリセットが発生したリモートバスのバスIDすなわちバスA102のバスID:3FDhをデータとしたパケットを1394ライトトランズアクションを使用した書き込みを順次行い、同時に図32の▲4▼に示すようにノードB1にも書き込みが行なわれる。
その結果、バスBでは、バスリセットが発生していないものの、1394ブリッジ101により通知すべき各ノードのREMOTE_BUS_RESETレジスタへバスA102のIDの書き込みが行なわれることにより、リモートバスAにおいてバスリセットが発生したことが通知される。
REMOTE_BUS_RESETレジスタへの書き込みを検出したの各ノードの1394インタフェース層はリモートバスでバスリセットが発生した事と共にそのリモートバスのバスID情報を上位プロトコル層に通知する。
バスB103においてDPPの規定に従いバスA102のノードA1(104)とコネクションを樹立しデータ転送を行っていたノードB1(106)では、バスリセットを起こしたリモートバスIDをチェックし、コネクション先であるノードが接続されているバスA102であることを確認すると、コネクション先ノード、すなわちノードA1(104)がDPPの規定に従ったバスリセット復帰処理を開始したことを認識する。
ノードB1(106)もDPPのバスリセット処理に対応した処理を開始し、コネクションを樹立していたノードからのリコネクトリクエストコマンドの受信待ち状態に入る。これにより、実際にバスリセットが発生したことによりバスリセット処理を開始したノードA1と、バスリセットが発生していないバスBに接続されているノードB1間でDPPプロトコル処理の整合性が確保される。
このあと、ノードA1はノードB1に図35の▲5▼に示すリコネクトリクエストコマンドを送信し、ノードB1はノードA1に図35の▲6▼に示すリコネクトリクエストレスポンスを送信してデータ通信を再開する。
このあと、バスBにバスリセットが起こった場合には、バスAのノードA1はバスBのバスリセットを知らないが、バスBのバスリセットの間、ノードA1のリクエストはブリッジで保留され、バスBのバスリセット終了後図35の▲7▼に示すようにブリッジよりノードB1に送られ、その後ノードB1よりノードA1に図35の▲8▼に示すようにリコネクトリクエストレスポンスを送信してデータ通信を再開することができる。
このように、バスリセット終了後、ノードB1が自身により、整合を保つことができるとすれば、図35に示すようにノードA1からのリクエストに応答して通信を再開することができる。
以上説明したように第3の実施の形態例によれば、IEEE1394ブリッジに接続した第1のIEEE1394バスと、第1のIEEE1394バスに接続した第1のノードと、第1のIEEE1394バスとは異なる第2のIEEE1394バスと、第2のIEEE1394バスに接続した第2のノードを含み、第1のノードと第2のノードが通信する情報通信システムにおいて、第1のノードは、第1のIEEE1394バスが接続するIEEE1394ブリッジに対して、第1のIEEE1394バスのバスリセットの監視と、第1のIEEE1394バスのバスリセットの第2のノードへの通知を指定することを特徴とする情報通信システムを提供することにより、自ノードの接続するバスのバスリセット発生をリモートバスに接続した通信相手ノードに通知することを可能にする。
これにより、同じ上位プロトコルを使用して、一方のローカルバスのデータ送信ノードから1394ブリッジを介した他方のローカルバスに接続されたデータ受信側ノードでデータ転送を行う際、一方のローカルバスにおいてバスリセットが発生した場合には1394ブリッジがリモートバスに接続されたノードに対してそのバスリセットを通知することが出来る為、他方のバスに接続された受信側ノードがそのバスリセットを検出することができ、上位プロトコル層におけるバスリセット処理の整合性が取れるため、バス間の正常なデータ通信が可能になるという効果がある。
(第4の実施の形態例)
図36は、本発明に係る第4の実施の形態例の構成を示すブロック図である。
第4の実施の形態例においては、図36に示すように、1394ブリッジA3401は、ポータルAでバスAに、ポータルC1でバスCに接続している。1394ブリッジB3402は、ポータルBでバスBに、ポータルC2でバスCに接続している。
そして、バスAにはノードA1(3403)、ノードA2(3404)、バスBにはノードB1(3405)、ノードB2(3406)、バスCにはノードC1(3407)、ノードC2(3408)が接続されている。
また、バスAのバスIDを(3FDh)、バスBのバスIDを(3FEh)、バスCのバスIDを(3FCh)とする。
第4の実施の形態例のシステムにおいても、各構成要素は上述した第3の実施の形態例と同様であり、1394ブリッジの構成も図32に示す構成と同様である。このため、以下の説明は主に第3の実施の形態例で異なる部分について行う。
第4の実施の形態例においても、第2の実施の形態例と同様に、ノードA1であるカメラは、プリンタであり、自ノードがサポートするDPPプロトコルと同一プロトコルを具備したノードB1を発見後、図37に示すDPPプロトコルで定義された手順、フォーマットに準拠した形でノードB1とコネクションを樹立し、アプリケーションデータの転送を開始する。即ち、ノードA1は図37の▲1▼に示すように、1394ブリッジA3401のポータルAのNOTIFY_BUS_RESETレジスタに上記図31のフォーマットにしたがって、{(バスBのバスID)、(ノードB1のノードID)、(記憶コマンド)}を書き込み、ノードB1に図37の▲2▼に示すコネクションリクエストコマンドを送信する。これに応答してノードB1は図37の▲3▼に示すように、第2の1394ブリッジのポータルBのNOTIFY_BUS_RESETレジスタに図31のフォーマットにしたがって、{(バスAのバスID)、(ノードA1のノードID)、(記憶コマンド)}を書き込み、ノードA1に図37の▲4▼に示すコネクションリクエストコマンドを送信する。
こうして、1394ブリッジA3401のバスリセット管理装置、及び1394ブリッジB3402のバスリセット管理装置はこれらのバスID、ノードIDを該当する格納テーブルに記憶する。
同様に上位プロトコルとしてAV/Cプロトコルを具備しているデジタルビデオカムコーダであるノードB2も1394ブリッジA3401及び1394ブリッジB3402を介してノードA2とAV/Cプロトコルを使いAV/Cコマンドの送受を開始し、ノードB2は第2の1394ブリッジに対して図38の▲1▼において図37の▲1▼と同様にして書き込みを行い、バスリセットを相手のノードに通知できるようにし、続いて図38の▲2▼に示すようにノードB2からAV/Cコマンドを発行し、そのレスポンス待ち状態に入っているものとする。
また、ノードB2からのコマンドを受信したノードA2も図38の▲3▼に示すように第1の1394ブリッジに対して▲1▼と同様な書き込みを行い、バスリセットを相手のノードに通知できるようにする。
以上に説明したネットワーク状態において、ユーザーの操作によりデバイスノードA3(図36の3409)がバスAに新たに接続されたとする。新たなノードが追加接続されることによりIEEE1394の特性に従いバスリセットが発生する。バスリセット信号を受信したバスAの各ノードの1394インタフェース層はその情報を上位プロトコル層に通知すると共にバスリセットを起点に自動的にノードIDの割り当てを行うためにバスリセットのシーケンス、ノードID決定のシーケンスといった一連のバスリセット復帰処理を開始する。
第4の実施の形態例においても、上述した第1の実施の形態例と同様に、バスAでバスリセットが発生したことによりバスリセット信号を受信した1394ブリッジA3401は、バスAに接続されているポータルAのノードコントローラ側でバスリセット処理を行う一方で、バスリセット管理装置は、図37の▲5▼あるいは図38の▲4▼に示すように格納テーブルに記憶した各ノードの0240番地に配置されているREMOTE_BUS_RESETレジスタに対して、レジスタのフォーマットに従った形でバスリセットが発生したリモートバスのバスID、すなわちバスAのバスID:3FDhをデータとしたパケットを1394ライトトランズアクションを使用した書き込みを順次行う。
これらのパケットは、バスC、1394ブリッジB3402を経由してバスBのノードに送信される。
バスBでは、バスリセットが発生していないものの、1394ブリッジB3402の格納テーブルに通知すべき各ノードのREMOTE_BUS_RESETレジスタへバスAのIDの書き込みが行なわれることにより、リモートバスAにおいてバスリセットが発生したことが通知される。
REMOTE_BUS_RESETレジスタへの書き込みを検出したの各ノードの1394インタフェース層はリモートバスでバスリセットが発生した事と共にそのリモートバスのバスID情報を上位プロトコル層に通知する。
上述した第1の実施の形態例同様、各ノードは、図37の▲6▼、▲7▼あるいは図38の▲5▼、▲6▼に示すようにしてバスリセットに応じた処理を行い、上位プロトコルの整合を確保する。
同様に、バスBで起こったバスリセットも、1394ブリッジB3402から、バスC、1394ブリッジA3401を経由して、バスAのノードに通知され、上位プロトコルの整合を保つことができる。
以上説明したように第4の実施の形態例によれば、バスリセット通知が必要なノードに対してのみ通知パケットを送信するため、ネットワーク上のトラフィックを著しく増大することがなく、ネットワークのパフォーマンスを低下させないという効果がある。
更に、IEEE1394ブリッジに接続した第1のIEEE1394バスと、第1のIEEE1394バスに接続した第1のノードと、第1のIEEE1394バスとは異なる第2のIEEE1394バスと、第2のIEEE1394バスに接続した第2のノードを含み、第1のノードと第2のノードが通信する情報通信システムにおいて、第2のノードは第1のIEEE1394バスが接続するIEEE1394ブリッジに対して、第1のIEEE1394バスのバスリセットの監視と、第1のIEEE1394バスのバスリセットの第2のノードへの通知を指定することを特徴とする情報通信システムを提供することにより、接続相手の接続するバスでのバスリセット発生をリモートバスに接続した自ノードに通知することを可能にする。これにより、自ノードにリモートバスでのバスリセットに対して整合性を保つ能力を備えることで、リモートバスに接続した、本発明を適用していない従来のデバイスとも通信が可能になるという効果がある。
(第5の実施の形態例)
第5の実施の形態例において、第5の実施の形態例の構成ならびに接続デバイスの上記第2の実施の形態例と同様構成には同一番号を付し詳細説明を省略する。
第5の実施の形態例においても、1394シリアルバスインタフェース部の構成は図23に示す第1の実施の形態例と同様構成とでき、各ノードのコンフィギュレーションROMも図24、図25に示す様な形式とできる。更に、IEEE1394ブリッジデバイス101の構成も図32に示す第2の実施の形態例と同様構成とできる。
ただし、第5の実施の形態例においては図25に示す0200番地から0400番地のシリアルバスに関するレジスタが格納される領域の構成が上記実施の形態例と異なっており、図39に示す構成となっている。
即ち、第5の実施の形態例においては、図26、図30に示すシリアルバスに関するレジスタに比し、023C番地間出を利用し、240番地以降を必要としていない。即ち、第5の実施の形態例においては、<IEEE1394の技術の概要>で説明した0200〜0230番地のレジスタが定義されている状態での動作を特徴としている。第2の実施の形態例と同様の図32に示す構成を備える1394ブリッジ101を有する第5の実施の形態例における動作を図40及び図41を参照して説明する。
図40は本発明に係る第5の実施の形態例のダイレクトプリントプロトコル(Direct Print Protocol)(以下「DPP」と称す。)に準拠した通信制御手順を示す図、図41は第5の実施の形態例のAV/Cプロトコルに準拠した通信制御手順を示す図である。
まず、バスA,Bそれぞれの現在の接続構成に至るにあたり、それぞれのバス独立に、デバイスノードの追加接続が行なわれる毎にバスリセットが発生する為、バスリセットを起点に自動的にノードIDの割り当てを行うためにバスリセットのシーケンス、ノードID決定のシーケンスが行なわれ、新たなトポロジーが生成される。
その後、1394データ転送がそれぞれのバスにおいて開始される。このシーケンスの詳細については上記(IEEE1394の技術の概要)の(バスリセットのシーケンス)、(ノードID決定のシーケンス)の項で説明されているので割愛する。
このように接続ノードの接続順番、1394ブリッジ101へのバスの接続順番によって動作は異なるものの、ノード接続毎に上記バスリセット−1394初期化シーケンスが繰り返され、最終的に上記記述のように1394ブリッジ101を介してデバイスA1,A2がバスAに、デバイスB1とB2がバスBに接続されたトポロジーが形成されたこととする。
上記状態で1394ネットワークのトポロジーが決定され、1394データ転送が正常に行なわれている状態で、上位プロトコルとしてDPPを具備しているデジタルスチルカメラであるノードA1がユーザー操作、またはアプリケーションのトリガを起点に1394で接続されているプリンタに画像データを転送し印刷を行うために、まず1394ネットワーク上で自ノード同様にDPPをサポートするプリンタデバイスを探す。
これはネットワーク上に接続されているノードに対して相手ノードのコンフィグレーションROMの読み出しを行うことによって実現される。この様子は第1の実施の形態例において図19A及び19Bを参照して上述した。具体的には相手ノードに対するIEEE1394のリードトランズアクションを使用することにより、そのリードレスポンスとして相手ノードのROMの内容が返ってくる。
前述のように各ノードのコンフィグレーションROMには1394関連情報の他に、インスタンスディレクトリにはプリンタ、カメラといった各ノードの基本機能、ユニットディレクトリにはAV/Cプロトコル、DPPといった上位プロトコルやソフトウェアに関する情報が記述されている。
ノードA1はローカルバスAの各ノードのROM読み出しを行った後に1394ブリッジを経由してバスBの各ノードのROM読み出しを行う過程で、ノードB1がプリンタでありDPPデバイスであることを検出する。
なお、1394ブリッジを経由した1394トランズアクションの詳細についてはここでは割愛するが、現在IEEEp1394.1で規格が策定中である。 ノードA1であるカメラは、プリンタであり、自ノードがサポートする図40に示すDPPプロトコルと同一プロトコルを具備したノードB1を発見後、DPPプロトコルで定義された手順、フォーマット準拠した形でノードB1とコネクションを樹立し、アプリケーションデータの転送を開始する。
即ち、ノードA1は図40の▲1▼に示すように、ライトトランザクションを使ってコネクションリクエストコマンドをノードB1に送信する。ノードB1はこれに応答してノードA1に図40の▲2▼に示すコネクションリクエストレスポンスを送信する。
このとき1394ブリッジ101は、これらのノード間の通信をトレースし、ノードA1のバスID、ノードID、ノードB1のバスID、ノードID、DPPプロトコルの識別の組をコネクション管理テーブル3105に格納する。
同様に上位プロトコルとしてAV/Cプロトコルを具備しているデジタルビデオカムコーダであるノードB2も1394ブリッジ101を介して図41に示すノードA2とAV/Cプロトコルを使いAV/Cコマンドの送受を開始し、ノードB2から図41の▲1▼に示すAV/Cコマンドを発行し、そのレスポンス待ち状態に入っているものとする。
同様に1394ブリッジ101は、これらのノード間の通信をトレースし、ノードB2のバスID、ノードID、ノードA2のバスID、ノードID、AV/Cプロトコルの識別の組をコネクション管理テーブル3015に格納する。
上述したネットワーク状態において、ユーザーの操作によりデバイスノードA3(図1に示すノード108)がバスAに新たに接続されると上述したようにバスリセットが発生し、一連のバスリセット復帰処理を開始する。そして、バスAにおいてDPPの規定に従いバスBのノードB1とコネクションを樹立し、データ転送を行っていたノードA1では、バスAのバスリセットがDPP層に通知されると、DPPの規定に従った、詳細を上述したバスリセット復帰処理が開始される。
しかし、接続形態の変化のないバスBにおいてバスリセットは発生せず、1394ブリッジノード101により接続されたバスAでバスリセットが発生した場合においても、それを検出するものの第5の実施の形態例の1394ブリッジ101の特性により、バスリセット信号は他バス、この場合はバスBに伝搬されないように制御される。
従って、第5の実施の形態例においてはこの時点ではノードA1、A2、A3といったバスAに接続されているノードのみでバスリセット復帰処理が開始され、ノードA1のデータ送信先であるノードB1、ノードA2のデータ送信先であるノードB2で同処理は開始されていない。
しかしながら、第5の実施の形態例の1394ネットワークシステムでは、1394ブリッジ101がこのブリッジを経由してコネクションを樹立しているノードの上位プロトコルを含むコネクション情報を記憶し、一方のバスにおけるバスリセット発生に対してもう一方のバスに接続されるノードが行うべき上位プロトコル層のバスリセット復帰処理をブリッジが変わりに行う手段を具備するところに特徴がある。
具体的には、バスAでバスリセットが発生したことによりバスリセット信号を受信した1394ブリッジ101は、バスAに接続されているノードコントローラ側でバスリセット処理を行う一方で、コネクション管理テーブルに記憶したコネクション情報から、上位プロトコル層のバスリセット復帰処理を開始するバスA上のノードを確認する。
DPPの規定に従いバスAのノードA1は、コネクションを樹立しデータ転送を行っていたノードB1に対して図40の▲3▼に示すリコネクトコマンドを送信する。ここで、1394ブリッジは、これをノードB1には送信せずに、ノードB1に代わって図40の▲4▼に示すようにリコネクトレスポンスをノードA1に対して送信する。これにより、実際にバスリセットが発生したことによりバスリセット処理を開始したノードA1と、バスリセットが発生していないバスBに接続されているノードB1間でDPPプロトコル処理の整合性が確保される。
同様に、バスBにおいてAV/Cプロトコルの規定に従いバスAのノードA2とAV/Cコマンドのやりとりを行っていたノードB2では、ノードA2からのレスポンスを待っているが、通信先であるノードA2は、接続されているバスAでバスリセットが起こったためAV/Cプロトコルの規定に従ったバスリセット処理を開始しノードB2から受信したコマンドを破棄している。1394ブリッジは、ノードA2からのレスポンスがノードB2に送信されていないのを知っているので、バスリセット前にバッファに記憶していた、ノードB2がリモートバスリセット前に送出し、レスポンスを受信していないAV/Cコマンドを図41の▲2▼に示すようにノードA2に再送する。
これにより、実際にバスリセットが発生したことによりバスリセット処理を開始したノードA2と、バスリセットが発生していないバスBに接続されているノードB2間でAV/Cプロトコル処理の整合性が確保され、例えば図41の▲3▼に示すように以後の通信制御手順が滞りなく行える。
以上説明したように第5の実施の形態例によれば、IEEE1394ブリッジに接続した第1のIEEE1394バスと、前記第1のIEEE1394バスに接続した第1のノードと、前記第1のIEEE1394バスとは異なる第2のIEEE1394バスと、前記第2のIEEE1394バスに接続した第2のノードを含み、前記第1のノードと前記第2のノードが通信する例えば図1に示す情報通信システムにおいて、前記IEEE1394ブリッジは、前記第1のノードと前記第2のノードとの間の通信で用いる上位プロトコルを解釈する手段と、前記第1のIEEE1394バスでバスリセットが起こったとき前記第2のノードが行うべき処理を前記第2のノードに代わって行う手段とを備える構成とすることにより、前記第1のIEEE1394バスでバスリセットが起こったとき、前記第1のノードと前記IEEE1394ブリッジとの間でバスリセットが起こったとき行うべき処理を行い、前記第1のIEEE1394バスでのバスリセットにかかわらず、前記第1のノードと前記第2のノードとの間の通信を行うことを特徴とする情報通信システムを提供することができる。
従って、第5の実施の形態例によれば、同じ上位プロトコルを使用して一方のローカルバスのデータ送信ノードから1394ブリッジを介した他方のローカルバスに接続されたデータ受信側ノードでデータ転送を行う際、一方のローカルバスにおいてバスリセットが発生した場合には1394ブリッジ101がリモートバスに接続されたノードに代わって、そのバスリセット復帰処理を代行することが出来る。
この結果、他方のバスに接続された受信側ノードがそのバスリセットを知ることなく、上位プロトコル層におけるバスリセット処理の整合性が取れるため、バス間の正常なデータ通信が可能になるという優れた作用効果が得られる。
即ち、複数の通信制御ネットワーク(例えばIEEE1394バス)を接続装置(例えばIEEE1394ブリッジ)を介して接続したシステムにおいて、同じ上位プロトコルを使用して、一方の通信ネットワークのデータ送信通信装置から接続装置を介した他方の通信制御ネットワークに接続されたデータ受信側通信装置でデータ転送を行う際、一方の通信制御ネットワークにおいてネットワーク構成の更新要求(例えばIEEE1394のバスリセット)が発生した場合には接続装置が通信制御ネットワークに接続された通信装置に代わって、そのネットワーク構成の更新復帰処理を代行することが出来る為、他方の通信制御ネットワークに接続された受信側通信装置がそのネットワーク構成の更新要求を知ることなく、上位プロトコル層におけるネットワーク構成の更新要求処理の整合性が取れるため、通信制御ネットワーク間の正常なデータ通信が可能になる。
[他の実施の形態例]
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになる。
産業上の利用可能性
以上説明したように本発明によれば、複数の通信制御ネットワーク(例えばIEEE1394バス)を接続装置(例えばIEEE1394ブリッジ)を介して接続したシステムにおいて、同じ上位プロトコルを使用して、一方の通信ネットワークのデータ送信通信装置から接続装置を介した他方の通信制御ネットワークに接続されたデータ受信側通信装置でデータ転送を行う際、一方の通信制御ネットワークにおいてネットワーク構成の更新要求(例えばIEEE1394のバスリセット)が発生した場合には接続装置が通信制御ネットワークに接続された通信装置に対してそのネットワーク構成の更新要求を通知することが出来る為、他方の通信制御ネットワークに接続された受信側通信装置がそのネットワーク構成の更新要求を検出することができ、上位プロトコル層におけるネットワーク構成の更新要求処理の整合性が取れるため、通信制御ネットワーク間の正常なデータ通信が可能になる。
また本発明によれば、他方の通信制御ネットワークに接続された受信側通信装置がそのネットワーク構成の更新要求を知ることなく、上位プロトコル層におけるネットワーク構成の更新要求処理の整合性が取れるため、通信制御ネットワーク間の正常なデータ通信が可能になる。
更にまた、本発明によれば、バスリセットが起こったことを他のシリアルバス(例えばIEEE1394に準拠したIEEE1394バス)に接続したノードに通知することができる。
また、自ノードの接続するバスのバスリセット発生を他のリモートバスに接続した通信相手ノードに通知することを可能にする。
これにより、同じ上位プロトコルを使用して、一方のローカルバスのデータ送信ノードからシリアルバスブリッジ(例えばIEEE1394に準拠したIEEE1394ブリッジ)を介した他方のローカルバスに接続されたデータ受信側ノードでデータ転送を行う際、一方のローカルバスにおいてバスリセットが発生した場合にはシリアルバスブリッジがリモートバスに接続されたノードに対してそのバスリセットを通知することが出来る。また、他方のバスに接続された受信側ノードがそのバスリセットを検出することができ、上位プロトコル層におけるバスリセット処理の整合性が取れるため、バス間の正常なデータ通信が可能になるという効果がある。
更に、バスリセット通知が必要なノードに対してのみ通知パケットを送信するため、ネットワーク上のトラフィックを著しく増大することがなく、ネットワークのパフォーマンスを低下させないという効果がある。
更に、接続相手の接続するバスでのバスリセット発生をリモートバスに接続した自ノードに通知することを可能にすることにより、自ノードにリモートバスでのバスリセットに対して整合性を保つ能力を備えることができ、リモートバスに一般的なデバイスが接続されていても整合性を保った通信が可能になる。
【図面の簡単な説明】
図1は本発明に係る第1の発明の実施の形態例の概略構成を示す図である。
図2は第1の実施の形態例の1394ネットワーク構成例を示す図である。
図3は第1の実施の形態例のIEEE1394規格のアーキテクチャを説明する図である。
図4は第1の実施の形態例のリンクレイヤの提供可能なサービスを示す図である。
図5は第1の実施の形態例のトランザクション・レイヤの提供可能なサービスを示す図である。
図6は第1の実施の形態例の1394シリアルバスのアドレス空間を説明する図である。
図7は第1の実施の形態例のCSRコアレジスタに格納される情報のアドレス及び機能の例を示す図である。
図8は第1の実施の形態例のシリアルバスレジスタに格納される情報のアドレス及び機能の例を示す図である。
図9は第1の実施の形態例における最小形式の確認ROM(Configuration ROM)の構成例を示す図である。
図10は第1の実施の形態例における一般形式の確認ROM(Configuration ROM)の構成例を示す図である。
図11は第1の実施の形態例のユニット空間のシリアルバス装置レジスタに格納される情報のアドレス及び機能の例を示す図である。
図12は第1の実施の形態例の1394シリアルバス・ケーブルの断面図である。
図13は第1の実施の形態例のDS−Link符号化方式を示した図である。
図14は第1の実施の形態例の1394ネットワークにおけるバスリセット起動後の状態を説明する図である。
図15は第1の実施の形態例におけるバスリセットの開始からノードIDの割り当てまでの処理を示すフローチャートである。
図16は図15に示すステップS1502の親子関係宣言処理の詳細を示すフローチャートである。
図17は図15に示すステップS1505のノードID設定処理の詳細を示すフローチャートである。
図18は第1の実施の形態例におけるセルフIDパケットの構成例を示す図である。
図19A及び19Bは第1の実施の形態例における1394ネットワークにおけるアービトレーションを説明する図である。
図20は第1の実施の形態例の1通信サイクルにおいて同期式転送モードと非同期式転送モードとを混在させた場合を説明する図である。
図21は第1の実施の形態例の同期式転送モードに基づいて転送される通信パケットのフォーマットを示す図である。
図22は第1の実施の形態例の非同期式転送モードに基づく通信パケットのフォーマットを示す図である。
図23は第1の実施の形態例の1394ノードの1394インターフェースブロックの構成を示す図である。
図24は第1の実施の形態例のコンフィギュレーションROMの格納データの構成を示す図である。
図25は第1の実施の形態例の1394ノードのアドレス空間を示した図である。
図26は第1の実施の形態例の1394ノードのシリアルバス関連レジスタ領域を示した図である。
図27は[第1の実施の形態例の1394ノードのREMOTE_BUS_RESETレジスタを示した図である。
図28は第1の実施の形態例例のDPPプロトコルに準拠した通信制御手順を示す図である。
図29は第1の実施の形態例例のAV/Cプロトコルに準拠した通信制御手順を示す図である。
図30は本発明に係る第2の実施の形態例の1394ノードのシリアルバス関連レジスタ領域を示す図である。
図31は第2の実施の形態例の1394ノードのNOTIFY_BUS_RESETレジスタの詳細を示す図である。
図32は第2の実施の形態例の1394ブリッジの詳細構成を示すブロック図である。
図33は第2の実施の形態例のDPPプロトコルに準拠した通信制御手順を示す図である。
図34は第2の実施の形態例のAV/Cプロトコルに準拠した通信制御手順を示す図である。
図35は本発明に係る第3の実施の形態例のDPPプロトコルに準拠した通信制御手順を示す図である。
図36は本発明に係る第4の実施の形態例の構成を示す図である。
図37は第4の実施の形態例のDPPプロトコルに準拠した通信制御手順を示す図である。
図38は第4の実施の形態例のAV/Cプロトコルに準拠した通信制御手順を示す図である。
図39は本発明に係る第5の実施の形態例の1394ノードのシリアルバス関連レジスタ領域を示した図である。
図40は第5の実施の形態例のDPPプロトコルに準拠した通信制御手順を示す図である。
図41は第5の実施の形態例のAV/Cプロトコルに準拠した通信制御手順を示す図である。

Claims (15)

  1. ネットワークに接続可能な情報信号処理装置であって、
    前記情報信号処理装置が接続されているネットワーク以外のリモートネットワークにおいてネットワークの構成を更新する必要が生じた時に発生する更新要求が生じた場合に、当該更新要求が発生したネットワークを特定するネットワーク特定情報を受信する受信手段と、
    前記受信されたネットワーク特定情報によって特定されるリモートネットワークが、前記情報信号処理装置と通信中の外部装置が存在するネットワークであるか否かを判断する判断手段と、
    前記判断手段によって、前記受信されたネットワーク特定情報によって特定されるリモートネットワークが、前記情報信号処理装置と通信中の外部装置が存在するネットワークであると判断された場合、当該外部装置との通信を復帰させる復帰処理手段と、
    を備えることを特徴とする情報信号処理装置。
  2. 前記受信手段は、
    予め定められたレジスタに対する前記ネットワーク特定情報の書き込みを検出することを特徴とする請求項1記載の情報信号処理装置。
  3. 前記ネットワークIEEE1394に準拠した通信制御バスであることを特徴とする請求項1記載の情報信号処理装置。
  4. 前記ネットワークがIEEE1394に準拠した通信制御バスであり、
    前記予め定められたレジスタが、前記IEEE1394に準拠した通信制御バスに接続可能な前記情報信号処理装置のアドレス空間のうちコアCSRアーキテクチャレジスタ空間に配置されることを特徴とする請求項記載の情報信号処理装置。
  5. 前記ネットワークがIEEE1394に準拠した通信制御バスであり、
    前記予め定められたレジスタが、前記IEEE1394に準拠した通信制御バスに接続可能な前記情報信号処理装置のアドレス空間のうちシリアルバスレジスタ空間に配置されることを特徴とする請求項記載の情報信号処理装置。
  6. 前記復帰処理手段は、前記情報信号処理装置と前記外部装置との通信に用いられるプロトコルに従った復帰処理を行うことを特徴とする請求項1乃至5の何れか1項に記載の情報信号処理装置。
  7. 前記情報信号処理装置と前記外部装置との通信に用いられるプロトコルは、DPPまたはAV/Cプロトコルであることを特徴とする請求項6記載の情報信号処理装置。
  8. ネットワークに接続可能な情報信号処理装置における情報信号処理方法であって、
    前記情報信号処理装置が、前記情報信号処理装置が接続されているネットワーク以外のリモートネットワークにおいてネットワークの構成を更新する必要が生じた時に発生する更新要求が生じた場合に、当該更新要求が発生したネットワークを特定するネットワーク特定情報を受信する受信工程と、
    前記情報信号処理装置が、前記受信されたネットワーク特定情報によって特定されるリモートネットワークが、前記情報信号処理装置と通信中の外部装置が存在するネットワークであるか否かを判断する判断工程と、
    前記受信されたネットワーク特定情報によって特定されるリモートネットワークが、前記情報信号処理装置と通信中の外部装置が存在するネットワークであると前記判断工程において判断された場合、前記情報信号処理装置が当該外部装置との通信を復帰させる復帰処理工程と、
    を有することを特徴とする情報信号処理方法。
  9. 前記情報信号処理装置は、前記受信工程において、予め定められたレジスタに対する前記ネットワーク特定情報の書き込みを検出することを特徴とする請求項記載の情報信号処理方法。
  10. 前記ネットワークIEEE1394に準拠した通信制御バスであることを特徴とする請求項記載の情報信号処理方法。
  11. 前記ネットワークがIEEE1394に準拠した通信制御バスであり、
    前記予め定められたレジスタが、前記IEEE1394に準拠した通信制御バスに接続可能な前記情報信号処理装置のアドレス空間のうちコアCSRアーキテクチャレジスタ空間に配置されることを特徴とする請求項9記載の情報信号処理方法。
  12. 前記ネットワークがIEEE1394に準拠した通信制御バスであり、
    前記予め定められたレジスタが、前記IEEE1394に準拠した通信制御バスに接続可能な前記情報信号処理装置のアドレス空間のうちシリアルバスレジスタ空間に配置されることを特徴とする請求項9記載の情報信号処理方法。
  13. 前記情報信号処理装置は、前記復帰処理工程において、前記情報信号処理装置と前記外部装置との通信に用いられるプロトコルに従った復帰処理を行うことを特徴とする請求項8乃至12の何れか1項に記載の情報信号処理方法。
  14. 前記情報信号処理装置と前記外部装置との通信に用いられるプロトコルは、DPPまたはAV/Cプロトコルであることを特徴とする請求項13記載の情報信号処理方法。
  15. コンピュータを、ネットワークに接続可能な情報信号処理装置であって、
    前記情報信号処理装置が接続されているネットワーク以外のリモートネットワークにおいてネットワークの構成を更新する必要が生じた時に発生する更新要求が生じた場合に、当該更新要求が発生したネットワークを特定するネットワーク特定情報を受信する受信手段と、
    前記受信されたネットワーク特定情報によって特定されるリモートネットワークが、前記情報信号処理装置と通信中の外部装置が存在するネットワークであるか否かを判断する判断手段と、
    前記判断手段によって、前記受信されたネットワーク特定情報によって特定されるリモートネットワークが、前記情報信号処理装置と通信中の外部装置が存在するネットワークであると判断された場合、当該外部装置との通信を復帰させる復帰処理手段と、
    を備える情報信号処理装置の各手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2001521003A 1999-08-31 2000-08-31 情報信号処理装置及び情報信号処理方法 Expired - Fee Related JP4536981B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP24673099 1999-08-31
JP24672599 1999-08-31
JP24672999 1999-08-31
PCT/JP2000/005931 WO2001017177A1 (fr) 1999-08-31 2000-08-31 Systeme et procede de communication d'information, dispositif et procede de traitement de signaux de donnees, et support de memoire

Publications (1)

Publication Number Publication Date
JP4536981B2 true JP4536981B2 (ja) 2010-09-01

Family

ID=27333515

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001521003A Expired - Fee Related JP4536981B2 (ja) 1999-08-31 2000-08-31 情報信号処理装置及び情報信号処理方法

Country Status (8)

Country Link
US (2) US6996112B2 (ja)
EP (1) EP1134937B1 (ja)
JP (1) JP4536981B2 (ja)
KR (1) KR100549480B1 (ja)
CN (1) CN100413279C (ja)
AT (1) ATE330402T1 (ja)
DE (1) DE60028724D1 (ja)
WO (1) WO2001017177A1 (ja)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3454217B2 (ja) * 1999-12-28 2003-10-06 日本電気株式会社 通信経路制御方法、機器制御装置、及びブリッジ
EP1199840A1 (en) * 2000-10-19 2002-04-24 THOMSON multimedia Method for connecting an IEEE1394 remote device to a cluster of IEEE1394 devices through a wireless link
EP1255377A1 (en) 2001-05-02 2002-11-06 Deutsche Thomson-Brandt Gmbh Interface circuit
US7843957B2 (en) * 2001-05-29 2010-11-30 Thomson Licensing Method for managing a communication network comprising wireless links with more than two wireless devices
EP1331775A1 (en) 2002-01-25 2003-07-30 Deutsche Thomson-Brandt Gmbh Physical layer circuit and interface circuit
US7315615B2 (en) * 2002-01-25 2008-01-01 Sittelle Technologies, Inc. Automatic telephone line switch
CN1177436C (zh) 2002-02-09 2004-11-24 华为技术有限公司 移动网络中多播用户的管理方法
US7277454B2 (en) * 2002-03-22 2007-10-02 Sun Microsystems, Inc. Arbitration of communication channel bandwidth
EP1355457B1 (en) 2002-04-19 2006-06-14 Yamaha Corporation Communication management system and apparatus
US7225282B1 (en) * 2002-06-13 2007-05-29 Silicon Image, Inc. Method and apparatus for a two-wire serial command bus interface
US7603441B2 (en) * 2002-12-27 2009-10-13 Sonics, Inc. Method and apparatus for automatic configuration of multiple on-chip interconnects
US20060152392A1 (en) * 2003-01-20 2006-07-13 Siemens Aktiengesellschaft Data transmission between computers
US6968881B2 (en) 2003-06-23 2005-11-29 The Goodyear Tire & Rubber Company Pneumatic tire including steeply slanted grooves, rib having sipes and blocks having sipes
DE10338454A1 (de) * 2003-08-21 2005-03-24 Robert Bosch Gmbh Verfahren zum Betrieb zweier Teilnetze mit Buscharakter sowie Netzstruktur
JP4673018B2 (ja) * 2003-09-19 2011-04-20 キヤノン株式会社 情報処理装置、プリンタの設定方法およびプログラム
JP2005115545A (ja) * 2003-10-06 2005-04-28 Seiko Epson Corp データ転送制御システム、電子機器、プログラム及びデータ転送制御方法
DE10356128A1 (de) * 2003-12-02 2005-06-30 Robert Bosch Gmbh Netzwerkbrücke
US20050141546A1 (en) * 2003-12-31 2005-06-30 Lg Electronics Inc. Method of avoiding collisions between access terminals
US7228442B2 (en) * 2004-03-30 2007-06-05 The Boeing Company Method and systems for a radiation tolerant bus interface circuit
US8050176B2 (en) * 2004-03-30 2011-11-01 The Boeing Company Methods and systems for a data processing system having radiation tolerant bus
JP4244872B2 (ja) * 2004-07-09 2009-03-25 ソニー株式会社 情報処理装置および方法、並びにプログラム
US8077603B2 (en) * 2004-10-29 2011-12-13 Honeywell International Inc. IEEE 1394 gateway for fault-tolerant communication
US7990898B2 (en) * 2004-10-29 2011-08-02 Honeywell International Inc. IEEE 1394 network for deterministic and/or fault-tolerant communication
JP5055481B2 (ja) * 2005-06-13 2012-10-24 株式会社メガチップス ネットワーク型録画システム
US7614082B2 (en) 2005-06-29 2009-11-03 Research In Motion Limited System and method for privilege management and revocation
CN100579146C (zh) * 2005-09-02 2010-01-06 深圳市东进通讯技术股份有限公司 综合电信平台中的模块配置管理方法
US8166205B2 (en) * 2007-07-31 2012-04-24 Cisco Technology, Inc. Overlay transport virtualization
US8041859B2 (en) * 2007-11-05 2011-10-18 Honywell International Inc. Apparatus and method for connectivity in networks capable of non-disruptively disconnecting peripheral devices
US20090122725A1 (en) * 2007-11-09 2009-05-14 Honeywell International Inc. Robust networks for non-disruptively disconnecting peripheral devices
US8581523B2 (en) * 2007-11-30 2013-11-12 Mevion Medical Systems, Inc. Interrupted particle source
CN101520563A (zh) * 2008-02-29 2009-09-02 深圳富泰宏精密工业有限公司 高分子散射型半穿反液晶显示组件及其制作方法
EP2269347A2 (de) * 2008-03-10 2011-01-05 Robert Bosch GmbH Verfahren und filteranordnung zum filtern von über einen seriellen datenbus eines kommunikationsnetzwerks in einem teilnehmer des netzwerks eingehenden nachrichten
JP5136238B2 (ja) * 2008-06-25 2013-02-06 富士通株式会社 サービスバス連携方法及びサービスバス
US20100138581A1 (en) 2008-12-02 2010-06-03 Randall Bird Universal Docking System
US8719241B2 (en) * 2011-05-31 2014-05-06 Conexant Systems, Inc. Asynchronous process notification
WO2014037404A1 (de) * 2012-09-05 2014-03-13 Hexagon Technology Center Gmbh Messmaschinenkommunikation mit automatischer adressvergabe
WO2014158189A1 (en) * 2013-03-29 2014-10-02 Hewlett-Packard Development Company, L.P. Network printing
US9787494B2 (en) * 2013-10-25 2017-10-10 Fts Computertechnik Gmbh Method for transmitting messages in a computer network, and computer network
US9503272B2 (en) 2014-03-13 2016-11-22 Cisco Technology, Inc. Fast convergence with multicast source mobility
CN106713094B (zh) * 2016-12-26 2020-05-08 北京旋极信息技术股份有限公司 一种1394数据采集模块
US10565041B2 (en) * 2017-05-19 2020-02-18 Western Digital Technologies, Inc. Managing phys of a data storage target device
CN109922009B (zh) * 2019-01-25 2022-07-29 北京临近空间飞行器系统工程研究所 一种基于数据特征的1553b总线消息分发配置单元
CN109799758B (zh) * 2019-01-29 2024-03-22 上海度普新能源科技有限公司 一种can总线应用系统及处理节点的编号方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1093597A (ja) * 1996-09-11 1998-04-10 Sony Corp 通信制御方法及び電子機器
JPH1168884A (ja) * 1997-08-20 1999-03-09 Matsushita Electric Ind Co Ltd 伝送媒体接続装置および制御装置ならびに被制御装置および記憶媒体

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764930A (en) * 1996-04-01 1998-06-09 Apple Computer, Inc. Method and apparatus for providing reset transparency on a reconfigurable bus
US7383341B1 (en) * 1996-10-15 2008-06-03 Kabushiki Kaisha Toshiba Data transfer control device, relay device and control device suitable for home network environment
DE19835668A1 (de) 1997-08-07 1999-02-25 Matsushita Electric Ind Co Ltd Übertragungsmedienverbindungsvorrichtung, steuernde Vorrichtung, gesteuerte Vorrichtung und Speichermedium
US6160796A (en) * 1998-01-06 2000-12-12 Sony Corporation Of Japan Method and system for updating device identification and status information after a local bus reset within a home audio/video network
JP3175826B2 (ja) * 1998-11-24 2001-06-11 日本電気株式会社 ネットワーク構成方法およびネットワーク管理ノード
JP2001016246A (ja) * 1999-06-30 2001-01-19 Sony Corp 通信制御装置および方法、通信システム、並びに記録媒体
JP3318289B2 (ja) * 1999-08-10 2002-08-26 松下電送システム株式会社 ホームネットワークゲートウエイ装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1093597A (ja) * 1996-09-11 1998-04-10 Sony Corp 通信制御方法及び電子機器
JPH1168884A (ja) * 1997-08-20 1999-03-09 Matsushita Electric Ind Co Ltd 伝送媒体接続装置および制御装置ならびに被制御装置および記憶媒体

Also Published As

Publication number Publication date
KR20010085979A (ko) 2001-09-07
CN1327667A (zh) 2001-12-19
DE60028724D1 (de) 2006-07-27
US20020001288A1 (en) 2002-01-03
ATE330402T1 (de) 2006-07-15
US20060002314A1 (en) 2006-01-05
EP1134937A1 (en) 2001-09-19
EP1134937A4 (en) 2002-06-26
CN100413279C (zh) 2008-08-20
EP1134937B1 (en) 2006-06-14
US6996112B2 (en) 2006-02-07
US7545822B2 (en) 2009-06-09
KR100549480B1 (ko) 2006-02-08
WO2001017177A1 (fr) 2001-03-08

Similar Documents

Publication Publication Date Title
JP4536981B2 (ja) 情報信号処理装置及び情報信号処理方法
JP4035235B2 (ja) 電子機器
JP4027189B2 (ja) 情報処理システム、情報処理装置、情報処理方法、プログラム及び記憶媒体
US6823408B2 (en) Electronic equipment, and method for controlling state of physical layer circuit therefor
JP2002077211A (ja) 情報処理装置およびその方法、並びに、記録媒体
JP4424700B2 (ja) 情報処理装置およびその制御方法
JP2001274813A (ja) 情報信号処理装置及び情報信号処理方法並びに記憶媒体
JP2004064665A (ja) データ転送装置及び送信装置及び受信装置及びそれらの制御方法
JP2001144783A (ja) シリアルバスブリッジ、端末装置、情報通信システム、情報通信方法並びに記憶媒体
US7167940B2 (en) Data processing method, data processing apparatus, communications device, communications method, communications protocol and program
JP3495878B2 (ja) データ処理方法、データ処理装置及びプリンタ
JP2004102443A (ja) 情報処理システム、情報処理方法、プログラム及び記憶媒体
JP2003229857A (ja) シリアルバスシステム、シリアルバスの帯域管理機器および通信機器
JP4095384B2 (ja) 情報処理システム、情報処理装置、情報処理方法、プログラム及び記憶媒体
JP2009027349A (ja) ネットワーク機器
JP2006134222A (ja) 情報処理装置及び方法
JP2005044078A (ja) 通信方法、印刷装置及びホスト装置
JP2004179898A (ja) 画像処理装置
JP2002111698A (ja) データ転送装置、ネットワークシステム及びデータ転送方法
JPH11177589A (ja) データ転送装置およびデータ転送装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2002200824A (ja) 画像形成装置及びその制御方法、及び画像形成システム
JP2006324869A (ja) ネットワークシステムにおける通信処理方法および通信機器
JP2004223965A (ja) 印刷装置
JP2001160938A (ja) 画像処理装置及び画像処理システム、及びその制御方法
JP2004289857A (ja) プリント方法、通信方法、プリント制御装置、及び通信制御装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070830

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070830

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20070830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100215

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: 20100611

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: 20100617

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

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees