JP2001313661A - 通信システム及び通信方法 - Google Patents

通信システム及び通信方法

Info

Publication number
JP2001313661A
JP2001313661A JP2000128509A JP2000128509A JP2001313661A JP 2001313661 A JP2001313661 A JP 2001313661A JP 2000128509 A JP2000128509 A JP 2000128509A JP 2000128509 A JP2000128509 A JP 2000128509A JP 2001313661 A JP2001313661 A JP 2001313661A
Authority
JP
Japan
Prior art keywords
bus
communication
node
topology
devices
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.)
Withdrawn
Application number
JP2000128509A
Other languages
English (en)
Inventor
Mitsuhiro Takeda
光弘 武田
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
Priority to JP2000128509A priority Critical patent/JP2001313661A/ja
Publication of JP2001313661A publication Critical patent/JP2001313661A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

(57)【要約】 【課題】 バスリセットが発生しても、上位プロトコル
層におけるバスリセット処理の整合性を取れ、バス間の
正常なデータ通信を可能とすることにある。 【解決手段】 機器間の接続を切り離したいという入力
があった場合に(S1)、認識したトポロジ情報と通信
情報から(S2)、その機器間の接続を切り離した場合
に、バスの他の機器間の通信が物理的に不可能な状態に
陥るかどうかを判断し(S3)、物理的に不可能な状態
に陥らせることが無い場合(S3−Yes)、切り離さ
れる機器に対して、これから接続を切り離すがそれを原
因とするバスリセットは起こさないようメッセージを通
知し(S4)、メッセージを受けた機器はその機器が所
有していたノードIDを、あたかもそのノードIDを持
った機器が存在するかのように仮想的にノードIDを割
り当て(S5)トポロジを維持する(S9)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、IEEE1394
に準拠した通信制御バスを介して複数の機器を接続可能
な通信システム及び通信方法に関し、例えば、制御信号
とデータを混在させて通信することが可能なデータ通信
バスを用いて複数電子機器(以下、機器)間を接続し
て、各機器間でデータ通信を行なうシステムを所有する
装置に関するものである。
【0002】
【従来の技術】従来、IEEE1394−1995Hi
gh Performance Serial Bus
(以下「1394シリアルバス」と称す。)で接続され
た複数の機器において、トポロジを構成する機器をバス
から切り離した場合、直ちにバスリセットを発生させ、
トポロジを再構成していた。
【0003】
【発明が解決しようとする課題】しかしながら、上記の
様な1394シリアルバスに接続されたシステムにおい
て、ある機器を1394シリアルバスから切り離す場
合、その機器をパスから切り離しても、バスに接続され
る他の機器間のデータ転送を物理的に不可能な状態にせ
ず、リアルタイムなトポロジの再構成を必要としない場
合においても、ある機器をバスから切り離した結果バス
リセットを発生し、トポロジを再構成しなければならな
い為、転送中のデータを一旦中断しなければならず、実
際のデータ転送効率を落としていた。
【0004】
【課題を解決するための手段】本発明は上述した課題を
解決することを目的として成されたもので、上述した課
題を解決する一手段として例えば以下の構成を備える。
【0005】即ち、制御信号とデータを混在させて通信
することが可能なデータ通信バスを介して複数の機器を
接続可能な通信システムにおいて、前記通信制御バスの
トポロジ情報と各機器間の通信情報から前記通信制御バ
スのトポロジを最適化し、前記通信制御バスのデータ転
送効率を不用意に落とさぬよ制御する制御手段を備える
ことを特徴とする。
【0006】そして例えば、前記データ通信バスはIE
EE1394に準拠した通信制御バスとすることを特徴
とする。
【0007】また例えば、前記制御手段は、通信システ
ムに接続されている特定の機器間の接続を切り離したい
場合に、認識したバスのトポロジ情報と各機器間の情報
から、前記特定の機器間の接続を切り離した際にその他
の機器間の通信に物理的な障害があるか否かを判断し、
他の機器間の通信に本質的な障害がない場合に当該特定
の機器間の接続を切り離すように制御することにより前
記通信制御バスのトポロジを最適化を行なうことを特徴
とする。
【0008】更に例えば、前記制御手段は、前記特定の
機器の切り離し後において、切り離される機器が所有す
るノードIDをあたかも前記切り離された特定の機器が
存在するかのようにノードIDを仮想的に割り当ててト
ポロジを維持し、前記通信制御バスのトポロジを最適化
を行なうことを特徴とする。
【0009】また例えば、前記制御手段は、前記通信制
御バスにおいて、その後に前記通信制御バスに対するバ
スリセットが必要になった時にバスリセットを起こして
まとめてトポロジの再構成を行なうことを特徴とする。
【0010】
【発明の実施の形態】以下、図面を参照して本発明に係
る一発明の実施の形態例を詳細に説明する。
【0011】本発明に係る発明の実施の形態例では、各
機器間を接続するデジタルI/FにIEEE1394シ
リアルバスを用いるので、IEEE1394シリアルバ
スについてあらかじめ説明する。
【0012】《IEEE1394の技術の概要》以下、
本実施の形態例に適用されるIEEE1394−199
5規格の技術について簡単に説明する。なお、IEEE
1394−1995規格(以下、「IEEE1394規
格」と称す。)についての詳細は、1996年の8月3
0日にIEEE(The Institute of Electrical and Ele
ctronics Engineers, Inc.)から出版された「IEEE Stand
ard for a High Performance Serial Bus」に記述されて
いる。
【0013】家庭用デジタルVTRやDVDの登場も伴
って、ビデオデータやオーディオデータなどのリアルタ
イムでかつ高情報量のデータ転送のサポートが必要にな
っている。こういったビデオデータやオーディオデータ
をリアルタイムで転送し、パソコン(PC)に取り込ん
だり、またはその他のデジタル機器に転送を行なうに
は、必要な転送機能を備えた高速データ転送可能なイン
タフェースが必要になってくるものであり、そういった
観点から開発されたインタフェースがIEEE1394
−1995High Performance Ser
ial Bus(1394シリアルバス)である。
【0014】図5にIEEE1394規格に準拠したデ
ジタルインタフェース(以下、「1394インタフェー
ス」と称す。)を具備するノードにより構成される通信
システム(以下、「1394ネットワーク」と称す。)
の一例を示す。図5に示すネットワークシステムは、機
器A,B,C,D,E,F,G,Hを備えており、機器
A・B間、機器A−C間、機器B−D間、機器D−E
間、機器C−F間、機器C−G間、及び機器C−H間を
それぞれIEEE1394規格に準拠した通信ケーブル
(1394シリアルバスのツイスト・ペア・ケーブル)
を介して接続されている。この機器A〜Hは例として例
えば、PC(Personal Computer)、デジタルVTR(Vide
o Tape Recorder)、DVD(Digital Video Disc)プレー
ヤ、デジタルカメラ、ハードディスク、モニタ等の電子
機器である。
【0015】1394ネットワークの接続方式は、ディ
ジーチェーン方式とノード分岐方式とを混在可能とした
ものであり、自由度の高い接続が可能である。
【0016】また、各機器は各自固有のIDを有し、そ
れぞれが認識し合うことによって1394シリアルバス
で接続された範囲において、1つのネットワークを構成
している。各デジタル機器間をそれぞれ1本の1394
シリアルバスケーブルで順次接続するだけで、それぞれ
の機器が中継の役割を行ない、全体として1つのネット
ワークを構成するものである。
【0017】又、1394ネットワークは、1394シ
リアルバスの特徴でもある、プラグアント゛プレイ(Plu
g&Play)と呼ばれる機能を有している。この機能
により、すべての機器の電源をOFFにすることなくケ
ーブルを機器に接続した時点で自動的に機器の認識や接
続状況などを認識する機能を有している。
【0018】また、図5に示したようなシステムにおい
て、ネットワークからある機器が削除されたり、または
新たに追加されたときなど、自動的にバスリセットを行
ない、それまでのネットワーク構成をリセットしてか
ら、新たなネットワークの再構築を行なう。この機能に
よって、その時々のネットワークの構成を常時設定、認
識することができる。
【0019】またデータ転送速度は、100/200/
400Mbpsと備えており、上位の転送速度を持つ機
器が下位の転送速度をサポートし、互換をとるようにな
っている。
【0020】更に、1394ネットワークは、2つの異
なるデータ転送方式、即ち、非同期式(Asnchronous)
転送モードと、同期式(Isochronous)転送モードとに
対応している。
【0021】非同期式(Asynchronous)転送モードは、
必要に応じて非同期に転送することが要求されるデー
タ、即ち、コントロール信号やファイルデータ等の非同
期データ(Asynchronousデータ)を転送す
る際に有効である。又、同期式(Isochronous)転送モ
ードは、所定量のデータを一定のデータレートで連続的
に転送することが要求されるデータ、即ち、リアルタイ
ムなビデオデータやオーディオデータ等の同期データ
(Isochronousデータ)を転送する際に有効
である。
【0022】非同期式転送モードと同期式転送モードと
は、各通信サイクル(通常1サイクルは、125μS)
内において、混在させることが可能である。各転送モー
ドは、サイクルの開始を示すサイクル・スタート・パケ
ット(以下、CSP)の転送後に同期データの転送を優
先しつつサイクル内で混在して実行される。
【0023】なお、上記したように、各通信サイクル期
間において、同期式転送モードは、非同期式転送モード
よりも優先順位が高く設定されている。又、同期式転送
モードの転送帯域は、各通信サイクル内で保証されてい
る。
【0024】次に、図6を用いてIEEE1394規格
の1394シリアルバスのアーキテクチャを説明する。
図6は本実施の形態例のIEEE1394規格のアーキ
テクチャを説明する図であり、1394シリアルバスの
構成要素を示している。
【0025】まず1394シリアルバスの構成要素を説
明する。1394シリアルバスは、機能的に複数のレイ
ヤ(階層)から構成されている。
【0026】最もハード的な第1層を構成するのが13
94シリアルバスのケーブル301であり、そのケーブ
ルのコネクタが接続されるコネクタポート302があ
り、その上に第2層のハードウェア層としてフィジカル
レイヤ303とリンクレイヤ304がある。
【0027】ハードウェア層は実質的なインターフェイ
スチップの部分であり、そのうちフィジカルレイヤ30
3は符号化やコネクタ関連の制御等を行ない、リンクレ
イヤ304はパケット転送やサイクルタイムの制御等を
行なう。
【0028】その上の第3層であるファームウェア層の
トランザクションレイヤ305は、転送(トランザクシ
ョン)すべきデータの管理を行ない、リード(Rea
d)やライト(Write)といった命令を発行する。
同じくファームウェア層のシリアルバスマネージメント
306は、接続されている各機器の接続状況やIDの管
理を行ない、ネットワークの構成を管理する部分であ
る。
【0029】このハードウェアとファームウェアまでが
実質上の1394シリアルバスの構成である。
【0030】また第4層のソフトウェア層のアプリケー
ションレイヤ307は、実行するべきアプリケーション
によって異なり、ネットワーク上でどのようにデータを
通信するのかを制御する。例えば、デジタルVTRの動
画像データの場合は、AV/Cプロトコルなどの通信プ
ロトコルによって規定されている。
【0031】以上が1394シリアルバスの構成であ
る。
【0032】次に、図7を参照して本実施の形態例の1
394シリアルバスにおけるアドレス制御を説明する。
図7は本実施の形態例の1394シリアルバスにおける
アドレス空間を説明するための図である。
【0033】1394シリアルバスに接続された各機器
(ノード)には必ず各ノード固有の、64ビットアドレ
スを持たせておく。そしてこのアドレスをROMに格納
しておくことで、自分や相手のノードアドレスを常時認
識でき、相手を指定した通信も行なえる。
【0034】1394シリアルバスのアドレッシング
は、IEEE1212規格に準じた方式であり、アドレ
ス設定は、最初の10ビットがバスの番号の指定用に、
次の6ビットがノードID番号の指定用に使われる。残
りの48ビットが機器に与えられたアドレス幅になり、
それぞれ固有のアドレス空間として使用できる。最後の
28ビットは固有データの領域として、各機器の識別や
使用条件の指定の情報などを格納する。
【0035】以上が1394シリアルバスの技術の概要
である。
【0036】次に、1394シリアルバスの特徴といえ
る技術の部分を、より詳細に説明する。
【0037】《1394シリアルバスの電気的仕様》図
8に1394シリアルバスケーブルの断面図を示す。
【0038】図8に示すように、1394シリアルバス
では接続ケーブル内に、2組のツイストペア信号線の他
に、電源ラインを設けている。これによって、電源を持
たない機器や、故障により電圧低下した機器等にも電力
の供給が可能になっている。
【0039】電源線内を流れる電源の電圧は8〜40
V、電流は最大電流DC1.5Aと規定されている。
【0040】《DS−リンク符号化》1394シリアル
バスで採用されている、データ転送フォーマットのDS
−リンク符号化方式を図9を参照して以下説明する。図
9は本実施の形態例における1394シリアルバスで採
用されている、データ転送フォーマットのDS−リンク
符号化方式を説明するための図である。
【0041】1394シリアルバスでは、DS−リンク
(Data/strobe リンク)符号化方式が採用
されている。このDS−リンク符号化方式は、高速なシ
リアルデータ通信に適しており、その構成は、2本の信
号線を必要とする。より対線のうち1本に主となるデー
タを送り、他方のより対線にはストローブ信号を送る構
成になっている。
【0042】受信側では、この通信されるデータと、ス
トローブとの排他的論理和をとることによってクロック
を再現できる。
【0043】このDS−リンク符号化方式を用いるメリ
ットとして、他のシリアルデータ転送方式に比べて転送
効率が高いこと、PLL回路が不要となるのでコントロ
ーラLSIの回路規模を小さくできること、更には、転
送すべきデータが無いときにアイドル状態であることを
示す情報を送る必要が無いので、各機器のトランシーバ
回路をスリープ状態にすることができることによって、
消費電力の低減が図れる、などが挙げられる。
【0044】《バスリセットのシーケンス》1394シ
リアルバスでは、接続されている各機器(ノード)には
ノードIDが与えられ、ネットワーク構成として認識さ
れている。
【0045】このネットワーク構成に変化があったと
き、例えばノードの挿抜や電源のON/OFFなどによ
るノード数の増減などによって変化が生じて、新たなネ
ットワーク構成を認識する必要があるとき、変化を検知
した各ノードはバス上にバスリセット信号を送信して、
新たなネットワーク構成を認識するモードに入る。
【0046】このときの変化の検知方法は、1394ポ
ート基盤上でのバイアス電圧の変化を検知することによ
って行われる。
【0047】あるノードからバスリセット信号が伝達さ
れて、各ノードのフィジカルレイヤはこのバスリセット
信号を受けると同時にリンクレイヤにバスリセットの発
生を伝達し、かつ他のノードにバスリセット信号を伝達
する。最終的にすべてのノードがバスリセット信号を検
知した後、バスリセットが起動となる。
【0048】バスリセットは、先に述べたようなケーブ
ル抜挿や、ネットワーク異常等によるハード検出による
起動と、プロトコルからのホスト制御などによってフィ
ジカルレイヤに直接命令を出すことによっても起動す
る。
【0049】また、バスリセットが起動するとデータ転
送は一時中断され、この間のデータ転送は待たされ、終
了後、新しいネットワーク構成のもとで再開される。
【0050】以上がバスリセットのシーケンスである。
【0051】《ノードID決定のシーケンス》バスリセ
ットの後、各ノードは新しいネットワーク構成を構築す
るために、各ノードにIDを与える動作に入る。このと
きの、バスリセットからノードID決定までの一般的な
シーケンスを図10乃至図12のフローチャートを参照
して以下に説明する。
【0052】まず図10を参照して、本実施の形態例に
おける、バスリセットの発生からノードIDが決定し、
データ転送が行なえるようになるまでの、一連のバスの
作業を説明する。図10は本実施の形態例における、バ
スリセットの発生からノードIDが決定し、データ転送
が行なえるようになるまでの、一連のバスの作業を説明
するためのフローチャートである。
【0053】まず、ステップS101において、ネット
ワーク内にバスリセットが発生することを常時監視す
る。ステップS101で、例えばノードの電源ON/O
FFなどでバスリセットが発生するとステップS102
に移る。ステップS102では、ネットワークがリセッ
トされた状態から、新たなネットワークの接続状況を知
るために、直接接続されている各ノード間において親子
関係の宣言がなされる。
【0054】続いてステップS103で、すべてのノー
ド間で親子関係が決定すると、ステップS104として
一つのルートが決定する。すべてのノード間で親子関係
が決定するまで、ステップS102の親子関係の宣言を
行ない、またルートも決定されない。
【0055】すべてのノード間で親子関係が決定すると
ステップS103よりステップS104に進み、ルート
の決定処理が行なわれる。ステップS104でルートが
決定されるとステップS105に進み、各ノードにID
を与えるノードIDの設定作業が行われる。そしてステ
ップS106ですべてのノードにIDが与えられたか否
かを調べる。すべてのノードにIDが与えられていない
場合にはステップS105に戻り、所定のノード順序
で、ノードIDの設定が行われ、すべてのノードにID
が与えられるまで繰り返し設定作業が行われる。
【0056】最終的にすべてのノードにIDを設定し終
えると、新しいネットワーク構成がすべてのノードにお
いて認識されたのでノード間のデータ転送が行なえる状
態となり、ステップS106よりステップS107に進
み、データ転送が開始される。
【0057】このステップS107の状態になると、再
びバスリセットが発生するのを監視するモードに入り、
バスリセットが発生したらステップS101からステッ
プS106までの設定作業が繰り返し行われる。
【0058】以上が、バスリセットの発生からノードI
Dが決定し、データ転送が行なえるようになるまでの、
一連のバスの作業の概略説明であるが、図10のフロー
チャートに示すバスリセットからルート決定までの部分
と、ルート決定後からID設定終了までの手順の詳細を
図11及び図12を参照して以下に説明する。
【0059】まず、図10におけるステップS101の
バスリセットの開始からステップS103の親子関係決
定までを図11のフローチャートを参照して説明する。
図11は本実施の形態例におけるバスリセットの開始か
ら親子関係決定までの処理を示すフローチャートであ
る。
【0060】まず、ステップS201において、ステッ
プS101と同様にバスリセットが発生するのを常に監
視している。バスリセットが発生すると、ネットワーク
構成は一旦リセットされステップS202に進む。ステ
ップS202においては、リセットされたネットワーク
の接続状況を再認識する作業の第一歩として、各機器に
リーフ(ノード)であることを示すフラグをセットす
る。
【0061】続いてステップS203において、各機器
が自分の持つポートがいくつ他ノードと接続されている
のかを調べる。次にステップS204において、ポート
数の結果に応じて、これから親子関係の宣言を始めてい
くために、未定義(親子関係が決定されてない)ポート
の数を調べる。バスリセットの直後はポート数=未定義
ポート数であるが、親子関係が決定されていくにしたが
って、ステップS204で検知する未定義ポートの数は
変化していくものである。
【0062】まず、バスリセットの直後、はじめに親子
関係の宣言を行なえるのはリーフに限られている。リー
フであるというのはステップS203のポート数の確認
で知ることができポート数が1であればリーフと判断す
る。リーフである機器(ノード)はステップS205に
進み、自分に接続されているノードに対して、「自分は
子、相手は親」と宣言し動作を終了する。
【0063】一方、ステップS203でポート数が複数
ある機器(ノード)は、自己はブランチであると認識す
る。ブランチと認識したノードは、バスリセットの直後
はステップS204で未定義ポート数>1であるためス
テップS206に進み、まずブランチであることを示す
フラグがセットされる。次にステップS207でリーフ
からの親子関係宣言で「親」の受付をするために待つ。
リーフが親子関係の宣言を行ない、ステップS207で
それを受けたブランチは適宜ステップS204の未定義
ポート数の確認を行ない、未定義ポート数が1になって
いれば残っているポートに接続されているノードに対し
て、ステップS205の「自分が子」の宣言をすること
が可能になる。2度目以降、ステップS204で未定義
ポート数を確認しても2以上あるブランチに対しては、
再度ステップS207でリーフ又は他のブランチからの
「親」の受付をするために待つ。
【0064】最終的に、いずれか1つのブランチ、又は
例外的にリーフ(子宣言を行なえるのにすばやく動作し
なかった為)がステップS204の未定義ポート数の結
果としてゼロになったら、これにてネットワーク全体の
親子関係の宣言が終了したものであり、最後に未定義ポ
ート数がゼロ(すべてのポートが子ノードに接続)にな
った唯一のノードはステップS204よりステップS2
08に進み、ルートであることを示すフラグがセットさ
れる。続いてステップS209に進み、ルートとしての
認識がなされる。そして当該処理を終了する。
【0065】このようにして、図11に示したバスリセ
ットから、ネットワーク内すべてのノード間における親
子関係の宣言までが終了する。
【0066】次に、図12のフローチャートを参照して
本実施の形態例におけるバスリセットにおける親子関係
決定後からノードID決定までの処理の詳細を説明す
る。図12は本実施の形態例におけるバスリセットにお
ける親子関係決定後からノードID決定までの処理を示
すフローチャートである。
【0067】以上に説明した図11の処理により各機器
(ノード)の種別が決定されており、リーフ、ブラン
チ、ルートという各ノードのフラグの情報が設定されて
いるので、これを元にして、ステップS301でそれぞ
れ分類する。
【0068】各ノードにIDを与える作業としては、最
初にIDの設定を行なうことができるのはリーフからで
ある。リーフ→ブランチ→ルートの順で若い番号(ノー
ド番号=0〜)からIDの設定がなされていく。
【0069】このためまずリーフを設定されている機器
はステップS301よりステップS302に進み、ネッ
トワーク内に存在するリーフの数N(Nは自然数)を設
定する。この後、ステップS303において各自リーフ
がルートに対して、IDを与えるように要求する。この
要求が複数ある場合には、ステップS301でルートと
判別された機器はステップS304においてアービトレ
ーション(1つに調停する作業)を行ない、続くステッ
プS305においてアービトレーションに勝ったノード
1つにID番号を与え、負けたノードには失敗の結果通
知を行なう。
【0070】このため、リーフの機器はステップS30
6においてIDが取得できた否かを調べる。ID取得が
失敗に終ったリーフはステップS303に戻り、再度I
D要求を出し、同様の作業を繰り返す。
【0071】一方、ステップS306でIDを取得でき
たリーフからステップS307の処理に移行し、自己の
機器(ノード)のID情報をブロードキャストでシステ
ムに接続されている全機器(ノード)に転送する。1ノ
ードID情報のブロードキャストが終ると、ステップS
308に進み、残りのリーフの数が1つ減らされる。そ
してステップS309において残りのリーフの数が1以
上あるか否かが判断される。残りのリーフの数が1以上
ある時はステップS303に戻り、ID要求の作業から
を繰り返し行なう。
【0072】このようにして最終的にすべてのリーフが
ID情報をブロードキャストすると、ステップS309
でN=0となり、次はステップS310以下のブランチ
のID設定処理に移る。
【0073】ブランチのID設定も以上に説明したリー
フの時と同様に行われる。
【0074】まず、ステップS310においてネットワ
ーク内に存在するブランチの数M(Mは自然数)を設定
する。この後、ステップS311において各自ブランチ
がルートに対して、IDを与えるように要求する。これ
に対してルートは、ステップS312においてアービト
レーションを行ない、勝ったブランチから順にリーフに
与え終った次の若い番号から与えていく。
【0075】ステップS313においてルートは要求を
出したブランチにID情報又は失敗結果を通知し、ステ
ップS314でID取得が失敗に終ったと判断したブラ
ンチは、再度ID要求を出し、同様の作業を繰り返す。
【0076】そしてIDを取得できたブランチからステ
ップS314からステップS315の処理に移行し、そ
のノードのID情報をブロードキャストで全ノードに転
送する。1ノードID情報のブロードキャストが終る
と、ステップS316において残りのブランチの数が1
つ減らされる。
【0077】続いてステップS317に進み、この残り
のブランチの数が1以上ある時はステップS311のI
D要求の作業からを繰り返し、最終的にすべてのブラン
チがID債報をブロードキャストするまで行われる。す
べてのブランチがノードIDを取得すると、ステップS
317はM=0となり、ブランチのID取得モードも終
了する。
【0078】ここまで終了すると、最終的にID情報を
取得していないノードはルートのみなので、ステップS
318の処理に移行して与えていない番号で最も若い番
号を自分のID番号と設定する。そしてステップS31
9においてルートのID情報をブロードキャストする。
【0079】以上で、本実施の形態例における親子関係
が決定した後から、すべてのノードのIDが設定される
までの手順が終了する。
【0080】次に、本実施の形態例における実際のネッ
トワークにおける1394シリアルバスで各ノードのI
Dを決定する為のトポロジ設定動作の一例を図13を参
照しながら説明する。図13は本実施の形態例における
実際のネットワークにおける1394シリアルバスで各
ノードのIDを決定する為のトポロジ設定動作の一例を
説明するための図である。
【0081】図13に示す本実施の形態例のネットワー
クにおける動作の説明として、(ルート)ノードBの下
位にはノードAとノードCが直接接続されており、更に
ノードCの下位にはノードDが直接接続されており、更
にノードDの下位にはノードEとノードFが直接接続さ
れた階層構造になっている。この、階層構造やルートノ
ード、ノードIDを決定する手順を以下で説明する。
【0082】バスリセットがされた後、まず各ノードの
接続状況を認識するために、各ノードの直接接続されて
いるボート間において、親子関係の宣言がなされる。こ
の親子とは親側が階層構造で上位となり、子側が下位と
なると言うことができる。
【0083】図13に示す例においては、バスリセット
の後、最初に親子関係の宣言を行なったのはノードAで
ある。基本的にノードの1つのポートにのみ接続がある
ノード(リーフと呼ぶ)から親子関係の宣言を行なうこ
とができる。これは自分には1ポートの接続のみという
ことをまず知ることができるので、これによってネット
ワークの端であることを認識し、その中で早く動作を行
なったノードから親子関係が決定されていく。
【0084】こうして親子関係の宣言を行なった側(A
−B間ではノードA)のポートが親ポートと設定され、
相手側(ノードB)のポートが子ポートと設定される。
こうして、ノードA−B間では子−親、ノードE−D間
で子−親、ノードF−D間で子−親と決定される。
【0085】更に1階層あがって、今度は複数個接続ポ
ートを持つノード(ブランチと呼ぶ)のうち、他ノード
からの親子関係の宣言を受けたものから順次、更に上位
に親子関係の宣言を行なっていく。図13ではまずノー
ドDがD−E間、D−F間と親子関係が決定した後、ノ
ードCに対する親子関係の宣言を行っており、その結果
ノードD−C間で子−親と決定している。
【0086】ノードDからの親子関係の宣言を受けたノ
ードCは、もう一つのポートに接続されているノードB
に対して親子関係の宣言を行なっている。これによって
ノードC−B間で子−親と決定している。
【0087】このようにして、図13に示すような階層
構造が構成され、最終的に接続されているすべてのポー
トが子ポートと設定されたノードBが、ルートノードと
決定される。ルートは1つのネットワーク構成中に一つ
しか存在しないものである。
【0088】なお、この図13の構成において、ノード
Bがルートノードと決定されたが、これはノードAから
親子関係宣言を受けたノードBが、他のノードに対して
親子関係宣言を早いタイミングで行なっていれば、ルー
トノードは他ノードに移っていたこともあり得る。すな
わち、伝達されるタイミングによってはどのノードもル
ートノードとなる可能性があり、同じネットワーク構成
でもルートノードは一定とは限らない。
【0089】ルートノードが決定すると、次は各ノード
IDを決定するモードに入る。ここではすべてのノード
が、決定した自分のノードIDを他のすべてのノードに
通知する(ブロードキャスト機能)。
【0090】自己ID情報は、自分のノード番号、接続
されている位置の情報、持っているポートの数、接続の
あるポートの数、各ポートの親子関係の情報等を含んで
いる。
【0091】ノードID番号の割り振りの手順として
は、まず1つのポートにのみ接続があるノード(リー
フ)から起動することができ、この中から順にノード番
号=0、1、2、・・・、と割り当てられる。
【0092】ノードIDを手にしたノードは、ノード番
号を含む情報をブロードキャストで各ノードに送信す
る。これによって、そのID番号は『割り当て済み』で
あることが認識される。
【0093】すべてのリーフが自己ノードIDを取得し
終ると、次はブランチへ移りリーフに引き続いたノード
ID番号が各ノードに割り当てられる。リーフと同様
に、ノードID番号が割り当てられたブランチから順次
ノードID情報をブロードキャストし、最後にルートノ
ードが自己ID情報をブロードキャストする。すなわ
ち、常にルートは最大のノードID番号を所有するもの
である。
【0094】以上のようにして、階層構造全体のノード
IDの割り当てが終わり、ネットワーク構成が再構築さ
れバスの初期化作業が完了する。
【0095】《アービトレーションの説明》1394シ
リアルバスでは、データ転送に先立って必ずバス使用権
のアービトレーション(調停)が行なわれる。1394
シリアルバスは、個別に接続された各機器が転送された
信号をそれぞれ中継することによって、ネットワーク内
すべての機器に同信号を伝えるように、論理的なバス型
ネットワークであるので、パケットの衝突を防ぐ意味で
アービトレーションは必要である。これによってある時
間には、たった一つのノードのみ転送を行なうことがで
きる。
【0096】本実施の形態例における実際のネットワー
クにおける1394シリアルバスでのアービトレーショ
ンの一例を図14を参照して以下に説明する。図14は
本実施の形態例における実際のネットワークにおける1
394シリアルバスでのアービトレーションの一例を説
明するための図である。図14の(a)がバス使用要
求、図14の(b)がバス使用許可を示している。
【0097】アービトレーションが始まると、1つもし
くは複数のノードが親ノードに向かって、それぞれバス
使用権の要求を発する。図14の(a)におけるノード
CとノードFがバス使用権の要求を発しているノードで
ある。これを受けた親ノード(図14の例ではノード
A)は更に親ノードに向かって、バス使用権の要求を発
する(中継する)。この要求は最終的に調停を行なうル
ートに届けられる。
【0098】バス使用要求を受けたルートノードは、ど
のノードにバスを使用させるかを決める。この調停作業
はルートノードのみが行なえるものであり、調停によっ
て勝ったノードにはバスの使用許可を与える。図14の
(b)ではノードCに使用許可が与えられ、ノードFの
使用は拒否されたことを示している。
【0099】アービトレーションに負けたノードに対し
てはDP(data prefix)パケットを送り、
拒否されたことを知らせる。拒否されたノードのバス使
用要求は次回のアービトレーションまで待たされる。
【0100】以上のようにして、アービトレーションに
勝ってバスの使用許可を得たノードは、以降データの転
送を開始できる。
【0101】ここで、アービトレーションの一連の流れ
を図15のフローチャートを参照して以下に説明する。
図15は本実施の形態例の通信システムにおけるアービ
トレーション動作の一例を説明するためのフローチャー
トである。
【0102】ノードがデータ転送を開始できる為には、
バスがアイドル状態であることが必要である。先に行わ
れていたデータ転送が終了して、現在バスが空き状態で
あることを認識するためには、各転送モードで個別に設
定されている所定のアイドル時間ギャップ長(例えばサ
ブアクション・ギャップ)を経過する事によって、各ノ
ードは自分の転送が開始できると判断する。
【0103】このため、まずステップS401におい
て、非同期データ、同期データ等それぞれ転送するデー
タに応じた所定のギャップ長が得られたか否かを判断す
る。所定のギャップ長が得られない限り、転送を開始す
るために必要なバス使用権の要求はできないので、所定
のギャップ長が得られるまでステップS401で待つ。
【0104】ステップS401で所定のギャップ長が得
られたらステップS402に進み、転送すべきデータが
あるか否かを判断する。転送すべきデータがない場合に
は当該処理を終了する。
【0105】一方、ステップS402において、転送す
べきデータがある場合にはステップS403に進み、転
送するためにバスを確保するよう、バス使用権の要求を
ルートのノードに対して発行する。このときのバス使用
権の要求を表す信号の伝達は、図14に示したように、
ネットワーク内各機器を中継しながら、最終的にルート
に届けられる。
【0106】次に、ステップS404に進み、ステップ
S403で発行したバス使用要求を1つ以上のルートが
受信したら、この受信ルートノードはステップS405
において使用要求を出したノードの数を調べる。ステッ
プS405での選択値がノード数=1(使用権要求を出
したノードは1つ)場合には、そのノードに直後のバス
使用許可が与えられることとなる。このため、ノード数
=1である場合にはステップS408の処理に移行す
る。
【0107】一方、ステップS405での選択値がノー
ド数>1(使用要求を出したノードは複数)お場合には
ステップS406に移行し、使用許可を与えるノードを
1つに決定する調停作業を行なう。この調停作業は公平
なものであり、毎回同じノードばかりが許可を得る様な
ことはなく、平等に権利を与えていくような構成となっ
ている。
【0108】調停作業が終了するとステップS407に
進み、ステップS406で使用要求を出した複数ノード
の中からルートが調停して使用許可を得た1つのノード
と、敗れたその他のノードに分ける選択を行なう。ここ
で、調停されて使用許可を得た1つのノード、またはス
テップS405の選択値から使用要求ノード数=1で調
停無しに使用許可を得たノードはステップS408の処
理を実行し、ルートはそのノードに対して許可信号を送
る。許可信号を得たノードは、受け取った直後に転送す
べきデータ(パケット)を転送開始する。
【0109】一方、ステップS407で、ステップS4
06の調停で敗れてバス使用が許可されなかったノード
においてはステップS409の処理に移行し、ルートか
ら、アービトレーション失敗を示すDP(data p
refix)パケットを送られ、これを受け取ったノー
ドは再度転送を行なうためのバス使用要求を出すため、
ステップS401まで戻り、所定ギャップ長が得られる
まで待機する。
【0110】以上が本実施の形態例におけるアービトレ
ーションの流れの説明である。
【0111】《非同期(Asynchronous)転
送》次に図16を参照して本実施の形態例の非同期転送
モードを説明する。図16は本実施の形態例における非
同期転送における時間的な遷移状態を示す基本構成図で
ある。
【0112】図16に示す最初のサブアクション・ギャ
ップは、バスのアイドル状態を示すものである。このア
イドル時間が一定値になった時点で、転送を希望するノ
ードはバスが使用できると判断して、バス獲得のための
アービトレーションを実行する。
【0113】アービトレーションでバスの使用許可を得
ると、次にデータの転送がパケット形式で実行される。
データ転送後、受信したノードは転送されたデータに対
しての受信結果のack(受信確認用返送コード)をa
ck gapという短いギャップの後、返送して応答す
るか、応答パケットを送ることによって転送が完了す
る。ackは4ビットの情報と4ビットのチェックサム
からなり、成功か、ビジー状態か、ペンディング状態で
あるかといった情報を含み、すぐに送信元ノードに返送
される。
【0114】次に、図17に本実施の形態例の非同期転
送のパケットフォーマットの例を示す。
【0115】本実施の形態例の非同期転送のパケットに
は、データ部及び誤り訂正用のデータCRCを備える
他、ヘッダ部があり、そのヘッダ部には図17に示すよ
うな目的ノードID、ソースノードID、転送データ長
さや各種コードなどが書き込まれ、転送が行なわれる。
【0116】また、非同期転送は自己ノードから相手ノ
ードへの1対1の通信である。転送元ノードから転送さ
れたパケットは、ネットワーク中の各ノードに行き渡る
が、自分宛てのアドレス以外のものは無視されるので、
宛先の1つのノードのみが読込むことになる。
【0117】以上が本実施の形態例における非同期転送
の説明である。
【0118】《同期(Isochronous)転送》
1394シリアルバスの最大の特徴であるともいえるこ
の同期転送は、特にビデオ映像データや音声データとい
ったマルチメディアデータなど、リアルタイムな転送を
必要とするデータの転送に適した転送モードである。
【0119】また、非同期転送が1対1の転送であった
のに対し、この同期転送はブロードキャスト機能によっ
て、転送元の1つのノードから他のすべてのノードへ一
様に転送することができる。図18は本実施の形態例の
同期転送モードにおける、時間的な遷移状態を示す図で
ある。
【0120】同期転送は、バス上一定時間毎に実行され
る。この時間間隔をアイソクロナスサイクルと呼ぶ。ア
イソクロナスサイクル時間は、125/μSである。こ
の各サイクルの開始時間を示し、各ノードの時間調整を
行なう役割を担っているのがサイクル・スタート・パケ
ットである。サイクル・スタート・パケットを送信する
のは、サイクル・マスタと呼ばれるノードであり、1つ
前のサイクル内の転送終了後、所定のアイドル期間(サ
ブアクション・ギャップ)を経た後、本サイクルの開始
を告げるサイクル・スタート・パケットを送信する。こ
のサイクル・スタート・パケットの送信される時間間隔
が125μSとなる。
【0121】また、図18にチャネルA、チャネルB、
チャネルCで示されるように、1サイクル内において複
数種のパケットがチャネルIDをそれぞれ与えられるこ
とによって、区別して転送できる。これによって同時に
複数ノード間でのリアルタイムな転送が可能であり、ま
た受信するノードでは自分が欲しいチャネルIDのデー
タのみを取り込む。
【0122】このチャネルIDは送信先のアドレスを表
すものではなく、データに対する論理的な番号を与えて
いるに過ぎない。よって、あるパケットの送信は1つの
送信元ノードから他のすべてのノードに行き渡る、ブロ
ードキャストで転送されることになる。
【0123】同期転送のパケット送信に先立って、非同
期転送同様アービトレーションが行われる。しかし、非
同期転送のように1対1の通信ではないので、同期転送
にはack(受信確認用返信コード)は存在しない。
【0124】また、図18に示すiso gap(アイ
ソクロナスギャップ)とは、同期転送を行なう前にバス
が空き状態であると認識するために必要なアイドル期間
を表している。この所定のアイドル期間を経過すると、
同期転送を行ないたいノードはバスが空いていると判断
し、転送前のアービトレーションを行なうことができ
る。
【0125】次に、図19を参照して本実施の形態例に
おける同期転送のパケットフォーマットの一例を説明す
る。図19は本実施の形態例における同期転送のパケッ
トフォーマットの例を説明するための図である。
【0126】各チャネルに分かれた、各種のパケットに
はそれぞれデータ部及び誤り訂正用のデータCRCの他
にヘッダ部があり、そのヘッダ部には図19に示したよ
うな、転送データ長やチャネルNo.、その他各種コー
ド及び誤り訂正用のヘッダCRCなどが書き込まれ、転
送が行なわれる。
【0127】以上が本実施の形態例における同期転送の
説明である。
【0128】《バスサイクル》実際の1394シリアル
バス上の転送では、同期転送と、非同期転送は混在でき
る。その時の、同期転送と非同期転送が混在した、バス
上の転送状態の時間的な遷移の様子を表した図を図20
に示す。
【0129】同期転送は非同期転送より優先して実行さ
れる。その理由は、サイクル・スタート・パケットの
後、非同期転送を起動するために必要なアイドル期間の
ギャップ長(サブアクション・ギャップ)よりも短いギ
ャップ長(アイソクロナスギャップ)で、同期転送を起
動できるからである。したがって、非同期転送より、同
期転送は優先して実行されることとなる。
【0130】図20に示した、一般的なバスサイクルに
おいて、サイクル♯mのスタート時にサイクル・スター
ト・パケットがサイクル・マスタから各ノードに転送さ
れる。これによって、各ノードで時刻調整を行ない、所
定のアイドル期間(アイソクロナスギャップ)を待って
から同期転送を行なうべきノードはアービトレーション
を行ない、パケット転送に入る。図20ではチャネルe
とチャネルsとチャネルkが順に同期転送されている。
【0131】このアービトレーションからパケット転送
までの動作を、与えられているチャネル分繰り返し行な
った後、サイクル#mにおける同期転送がすべて終了し
たら、非同期転送を行なうことができるようになる。
【0132】アイドル時間が非同期転送可能なサブアク
ション・ギャップに達する事によって、非同期転送を行
ないたいノードはアービトレーションの実行に移れると
判断する。
【0133】ただし、非同期転送が行なえる期間は、同
期転送終了後から、次のサイクル・スタート・パケット
を転送すべき時間(cycle synch)までの間
に非同期転送を起動するためのサブアクション・ギャッ
プが得られた場合に限っている。
【0134】図20のサイクル#mでは3つのチャネル
分の同期転送と、その後非同期転送(含むack)が2
パケット(パケット1、パケット2)転送されている。
このアシンクロナスパケット2の後は、サイクルm+1
をスタートすべき時間(cycle synch)にい
たるので、サイクル#mでの転送はここまでで終る。
【0135】ただし、非同期または同期転送動作中に次
のサイクル・スタート・パケットを送信すべき時間(c
ycle synch)に至ったとしたら、無理に中断
せず、その転送が終了した後のアイドル期間を待ってか
ら次サイクルのサイクル・スタート・パケットを送信す
る。すなわち、1つのサイクルが125/μS以上続い
たときは、その分次サイクルは基準の125μSより短
縮されたとする。このようにアイソクロナスサイクルは
125μSを基準に超過、短縮し得るものである。
【0136】しかし、同期転送はリアルタイム転送を維
持するために毎サイクル必要であれば必ず実行され、非
同期転送はサイクル時間が短縮されたことによって次以
降のサイクルにまわされることもある。
【0137】こういった遅延情報も含めて、サイクル・
マスタによって管理される。
【0138】以上が、IEEE1394シリアルバスの
説明である。
【0139】<具体的なノードの説明>次に、以上に説
明したシリアルバス制御信号とデータを混在させて通信
することが可能なデータ通信バスであるIEEE139
4を介して複数の機器を接続可能な通信システムにおい
て、通信制御バスのトポロジ情報と各機器間の通信情報
からIEEE1394のトポロジを最適化し、IEEE
1394のデータ転送効率を不用意に落とさぬよ制御す
る本実施の形態例の詳細を以下図1乃至図4を参照して
以下に説明する。
【0140】図1は本発明に係る一発明の実施の形態例
システムの構成を示すブロック図である。
【0141】図1において、3000はホストコンピュ
ータであり、ROM3に記憶された文書処理プログラム
等に基づいて図形,イメージ,文字,表(表計算等を含
む)等が混在した文書処理を実行するCPU1を備え、
システムデバイス4に接続される各デバイスをCPU1
が総括的に制御する。
【0142】また、このROM3には、CPU1の制御
プログラム、上記文書処理の際に使用するフォントデー
タ、上記文書処理等を行なう際に使用する各種データ等
も記憶する。2はRAMであり、CPU1の主メモリ、
ワークエリア等として機能する。5はキーボードコント
ローラ(KBC)で、キーボード(KB)9や不図示の
ポインティングデバイスからのキー入力を制御する。
【0143】6はCRTコントローラ(CRTC)で、
CRTディスプレイ(CRT)10の表示を制御する。
7はディスクコントローラ(DKC)で、ブートプログ
ラムや種々のアプリケーションプログラム、フォントデ
ータ、ユーザファイル、編集ファイル等を記憶するハー
ドディスク(HD)やフロッピー(登録商標)ディスク
(FD)等の外部メモリ11のアクセス制御を司る。
【0144】8はバスインターフェース(BUSI/
F)で、21に示すIEEE1394(1394シリア
ルバス)等に接続されて、他の機器との通信制御のイン
タフェースとなる。
【0145】30は、バスのトポロジを認識するトポロ
ジ情報認識手段と、バスの各機器間の通信情報を認識す
る通信情報認識手段と、機器間の接続を切り離したいと
いう入力があった場合に、認識したトポロジ情報と通信
情報から、その機器間の接続を切り離した場合に、バス
の他の機器間の通信が物理的に不可能な状態に陥るかど
うかを判断するトポロジ・通信情報判断手段と、判断し
た結果、機器間の接続を切り離しても他の機器間の通信
を物理的に不可能な状態に陥らせることが無い場合、接
続を切り離す際に切り離される機器に対して、これから
接続を切り離すがそれを原因とするバスリセットは起こ
さないようメッセージを通知するメッセージ送信手段
と、メッセージを受けた機器は、そのメッセージを了解
したか否かを返答する返答手段と、その機器がバスから
切り離された鮫にその機器が所有していたノードID
を、あたかもそのノードIDを持った機器が存在するか
のように仮想的にノードIDを割り当てトポロジを維持
するトポロジ維持手段と、了解のメッセージ返答後、あ
らかじめ設定された時間内に接続が切り離されるかどう
かカウントするカウント手段と、カウント結果、接続が
切り離される前に設定時間経過した場合、接続を切り離
すことの了解を取り下げるメッセージを送信する送信手
段等を備える制御ユニットである。
【0146】次に以上の構成を備える本実施の形態例の
ネットワーク制御を図を参照して説明する。図2は本実
施の形態例のネットワーク制御例を示す図である。
【0147】図2に示すように、各機器は1394シリ
アルバスを介して接続されている。図2に示すPCはパ
ーソナルコンピュータ、DVCRはデジタルビデオカメ
ラレコーダ、HDDはハードディスク装置を示し、PC
からプリンタ2に印刷データを出力している場合を示
す。この時、トポロジを構成する機器の中のある機器を
トポロジから(機器間を繋ぐケーブルを抜く等して)切
り離すことを考える。
【0148】この時、例えばPCとプリンタ1の接続を
切り離してトポロジを分けたとすると、PCからプリン
タ2へのデータ転送はプリンタ1のポートを介して行っ
ている為、PCとプリンタ1との接続を切り離してしま
うとPCからプリンタ2へのデータ転送が物理的に不可
能になり、バスリセットが必要な状態となる。
【0149】しかし、例えばDVCRをバスから切り離
すことを考えるとすると、DVCRとバス上の他の機器
が(有効な)データの転送を行っていない場合には、D
VCRをバスから切り離してもその他の機器間同士の通
信を物理的に不可能な状態にすることはない。
【0150】しかし、他の機器(ここではスキャナ)は
DVCRが接続されていたポートの電圧変化を感知して
DVCRがバスから切り離されたことを認識し、その他
の機器間で何らかのデータ転送が行われていても、同じ
バスに接続されている機器に対してバスリセットを発行
し、トポロジの再構成を促そうとする。
【0151】しかし、DVCRは他の機器と実際に意味
のあるデータ転送を行っていないのであるから、DVC
Rがこのトポロジから存在しなくなることは、PCとプ
リンタ2間のデータ転送にとってはあまり重要な事では
ない。
【0152】にもかかわらずスキャナは、DVCRが切
り離されることにより、DVCRが接続されていたポー
トの電庄変化を検知し、トポロジに変化があったことを
認識してバスリセットとなり、PCとプリンタ2間のデ
ータ転送は一旦中断されトポロジを再構成した後にPC
とプリンタ2間のデータ転送を再開する為、PCとプリ
ンタ2間のデータ転送に関係の無いトポロジの変化の為
に、データ転送効率を落としていた。
【0153】そこで、本実施の形態例においては、従来
のこのような制御に代えて、ある機器(ここではDVC
R)をバスから切り離す際に、スイッチやキーボード等
何らかの入力手段によってユーザはその機器(DVC
R)をバスから切り離そうとしている意志を示し、それ
をトリガとして、DVCRはバスのトポロジ情報と各機
器間の通信情報を入手し、それらの情報からその機器
(DVCR)をバスから切り離す事で他の機器間の通信
を物理的に妨げないかを判断し、その結果、DVCRを
バスから切り離すことで、他の機器間の通信を物理的に
不可能な状態にしてしまうのであれば、通常通りバスリ
セットシーケンスに入り、DVCRをバスから切り離し
ても他の機器間の通信が物理的に可能なのであれば、D
VCRが接続される機器に対して、「これからこのノー
ドをバスから切り離すが、このノードの挿抜によるバス
リセットを直ちに行なう必要はない」旨を示すメッセー
ジあるいはコマンドを通知する。
【0154】メッセージを受け取ったノード(ここでは
例えばスキャナ)は、DVCRが切り離されたことによ
り、トポロジに変化があったことを認識するが、直ちに
バスリセット信号をバスに対して発行せず、次に、他の
何らかの要因(別のノードがバスに追加接続される等)
でバスリセットが必要になった場合に、まとめてトポロ
ジの再構成を行なう。
【0155】そして、次のバスリセットによってトポロ
ジの再構成を行なうまでの間は、切り離されたノード
(DVCR)が所有していたノードIDを、あたかもそ
のノードIDを持つノードが存在するかのようにノード
IDを割り当てておき、トポロジを仮想的に維持する。
そして次に起こるバスリセットによってバスのトポロジ
を再構成する際にノードIDの再割り当てを行なうもの
とする。
【0156】この仮に割り当てたノードIDに対して、
他のノードがまだDVCRが同じトポロジに存在してい
ると思って通信を行なおうとしてきた場合には、そのノ
ードIDは仮想的なIDで実際にはノードは存在しない
旨を通知するレスポンスを返しても良く、また、その通
信の失敗をトリガとしてバスリセットを起こし、トポロ
ジの再構成を行っても良い。
【0157】図3に本実施の形態例の他の例を示す図で
ある。図3においても各機器は1394シリアルバスを
用いて接続される。
【0158】第3図においても、図2の場合と同様に、
スキャナとDVCR間の接続を切り離す場合を考える。
【0159】図3では、PC1からプリンタ2へデータ
転送が行われ、また、PC2からHDD2へもデータ転
送が行われているものとする。ここで、スキャナとDV
CRの間の接続を切り離したとしても、図2のトポロジ
においては、PC1とプリンタ2間の通信、PC2とB
DD2間の通信ともに物理的に可能な状態にあり、スキ
ャナとDVCRの間の接続を切り離して2つのトポロジ
に分かれることは、重要な問題ではなく、スキャナとD
VCRの間の接続を切り離したことに因るリアルタイム
なバスリセットでのトポロジの再構成は、必ずしも必要
ではない。
【0160】この場合にも、スキャナとDVCRの間の
接続を切り離す際には、バスのトポロジ情報と各機器間
の通信情報から、2つの機器の接続を切り離す事で他の
機器間の通信を物理的に妨げないかを判断し、その結
果、スキャナとDVCRの間の接続を切り離すことで、
他の機器間の通信を物理的に不可能な状態にしてしまう
のであれは、通常通りバスリセットシーケンスに入り、
スキャナとDVCRの間の接続を切り離しても他の機器
間の通信が物理的に可能なのであれば、DVCRが接続
される機器に対して、「これからこのノードをバスから
切り離すが、このノードの挿抜によるバスリセットを直
ちに行なう必要はない」旨を示すメッセージあるいはコ
マンドを通知する。
【0161】メッセージを受け取った本実施の形態例の
ノード(ここではスキャナ)は、DVCRが切り離され
たことにより、トポロジに変化があったことを認識する
が、直ちにバスリセット信号をバスに対して発行せず、
次に、他の何らかの要因でバスリセットが必要になった
場合に、まとめてトポロジの再構成を行なうように制御
する。
【0162】また、同様にDVCR自身も、DVCR側
のトポロジの機器間の通信(ここではPC2とHDD2
の通信)のデータ転送効率を落とさないよう、直ちにバ
スリセットを発生してトポロジの再構成を行なう事はせ
ず、次に、他の何らかの要因でバスリセットが必要にな
った場合に、まとめてトポロジの再構成を行なう。
【0163】そして、次のバスリセットによってトポロ
ジの再構成を行なうまでの間は、分かれたトポロジに存
在するノードが所有していたノードIDを、あたかもそ
のノードIDを持つノードが存在するかのようにノード
IDを割り当てておき、トポロジを仮想的に維持する。
そして次に起こるバスリセットによってバスのトポロジ
を再構成する際にノードIDの再割り当てを行なうもの
とする。
【0164】この仮に割り当てたノードIDに対して、
他のノードがまだDVCRが同じトポロジに存在してい
ると思って通信を行なおうとしてきた場合には、そのノ
ードIDは仮想的なIDで実際にはノードは存在しない
旨を通知するレスポンスを返しても良く、また、その通
信の失敗をトリガとしてバスリセットを起こし、トポロ
ジの再構成を行っても良い。また、トポロジが別れたこ
とにより、それまでのバスマネージャと別のトポロジに
なる等でバスのトポロジ情報を提供するノードが存在し
なくなってしまったトポロジは、バスリセットを起こ
し、トポロジの再構成を行っても良い。
【0165】以上に説明した本実施の形態例に特有のバ
ストポロジの再構成制御の詳細を図4のフローチャート
を参照して説明する。図4は本実施の形態例におけるバ
ストポロジの再構成制御の詳細を説明するためのフロー
チャートである。
【0166】まずステップS1において、1394シリ
アルバスで接続された機器(ノード)において、その機
器をバスから接続を切り離したい場合(操作者が切り離
しを望んだ場合、電源断などで切り離しを希望する場合
など)、何らかの入力方法で、バスから切り離したいと
いう意志を示し、当該機器に認識させる。
【0167】自機器が切り離しを望んであることを認識
した当該機器(ノード)は、ステップS2において、切
り離しを希望する機器(ノード)が接続されるバスのト
ポロジ情報や、各機器間の通信情報を調査する。そして
ステップS3においてステップS2の調査結果、その切
り離しを希望している機器(ノード)をバスから切り離
す事で他の機器間の通信が物理的に不可能な状態に陥ら
ないかどうかを判断する。
【0168】ステップS3の判断の結果、切り離しを希
望している機器(ノード)をバスから切り離しても、他
の機器間の通信が可能な状態を維持できるならステップ
S4に進み、当該機器をバスから切り離すことを原因と
するリアルタイムなバスリセットは必要ない事を示すメ
ッセージを、当該機器(ノード)と接続されている他の
機器(ノード)に対して送信する。
【0169】続いてステップS5において、メッセージ
を受信した接続機器またはトポロジ情報を提供する機器
は、切り離される機器が所有しているノードIDを、あ
たかもそこにノードが存在するかのように仮想的に割り
当てる。そして、次のステップS6において、切り離さ
れる(メッセージを送信した)ノードに対して、切り離
しても大丈夫な状態である事を示すレスポンスを返す。
【0170】そしてメッセージを受信した接続機器また
はトポロジ情報を提供する機器は、ステップS7での切
り離される機器がレスポンスを受け取ってからの経過時
間のカウントを開始する。そしてステップS8において
あらかじめ設定した時間内に予定通り接続が切り離され
るかどうか判断する。所定時間内に接続が切り離される
ことが無ければステップS15に進み、切り離しを希望
する機器(ノード)に対してステップS6において送っ
た切り離しても大丈夫な状態である事を示すレスポンス
を取り消し、再度ステップS1からの処理を繰り返す。
【0171】一方、ステップS8において、所定時間内
に接続が切り離された場合にはステップS9に進み、ト
ポロジの変化によるリアルタイムなバスリセットを起こ
す事無く、仮想的にノードIDを割り当てた状態でトポ
ロジを維持する。次にステップS10に進み、何らかの
バスリセットが必要となる原因が発生するのを待つ。そ
してバスリセットが必要となる原因が発生したらステッ
プS11に進み、通常通りのバスリセットを行ない、仮
想的に割り当てていたノードIDも含めてトポロジの再
構成を行なう。なお、ステップS10におけるバスリセ
ットが必要となる原因が発生するのを待つあいだ、機器
は通常の伝送制御を行なうものとする。
【0172】また、ステップS3の判断で切り離しを希
望している機器(ノード)をバスから切り離す事で他の
機器間の通信が物理的に不可能な状態に陥る場合にはス
テップS4ではなくステップS12に進み、切り離しを
希望している機器(ノード)と接続されている他の機器
(切り離される機器)に対して送信する。接続を切り離
される機器は切り離されると他の機器間の通信を妨げる
ことを何らかの方法(例えばモニタにメッセージを表
示、あるいは、許可・不許可を示すLEDによる表示等
の方法)でユーザに通知する。
【0173】この通知とともに、ステップS13の処理
に移行し、上記メッセージをユーザに通知後、それでも
接続が切り離されたならばステップS11に進み、、通
常通りバスリセットを発生しする。一方、ステップS1
3で切り離しが行なわれずに中止となった場合にはステ
ップS1に戻り、再度ステップS1からの処理を繰り返
す。
【0174】以上説明したように本実施の形態例によれ
ば、IEEE1394シリアルバスによって接続された
機器において、上記構成を備え、上記制御を行なう事に
より、切り離しを希望している機器(ノード)をバスか
ら切り離しても、他の機器間の通信が可能な状態を維持
できるなら、リアルタイムなトポロジの再構成を必要と
しないとしてバスリセットの発生を抑えるため、不必要
にデータ転送中の各機器間の通信を中断してトポロジを
再構成して、バス全体のデータ転送効率を落とすのを防
ぐことが可能になる。また、切り離しを希望している機
器(ノード)をバスから切り離した場合には他の機器間
の通信が不能になる場合にはバスリセットを発生させて
不具合の発生を未然に防止できる。
【0175】[他の実施形態例]なお、本発明は、複数
の機器(例えばホストコンピュータ、インタフェース機
器、リーダ、プリンタなど)から構成されるシステムに
適用しても、一つの機器からなる装置(例えば、複写
機、ファクシミリ装置など)に適用してもよい。
【0176】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体(または記録媒体)を、システムあるい
は装置に供給し、そのシステムあるいは装置のコンピュ
ータ(またはCPUやMPU)が記憶媒体に格納されたプログ
ラムコードを読み出し実行することによっても、達成さ
れることは言うまでもない。この場合、記憶媒体から読
み出されたプログラムコード自体が前述した実施形態の
機能を実現することになり、そのプログラムコードを記
憶した記憶媒体は本発明を構成することになる。また、
コンピュータが読み出したプログラムコードを実行する
ことにより、前述した実施形態の機能が実現されるだけ
でなく、そのプログラムコードの指示に基づき、コンピ
ュータ上で稼働しているオペレーティングシステム(OS)
などが実際の処理の一部または全部を行ない、その処理
によって前述した実施形態の機能が実現される場合も含
まれることは言うまでもない。
【0177】更に、記憶媒体から読み出されたプログラ
ムコードが、コンピュータに挿入された機能拡張カード
やコンピュータに接続された機能拡張ユニットに備わる
メモリに書き込まれた後、そのプログラムコードの指示
に基づき、その機能拡張カードや機能拡張ユニットに備
わるCPUなどが実際の処理の一部または全部を行ない、
その処理によって前述した実施形態の機能が実現される
場合も含まれることは言うまでもない。
【0178】本発明を上記記憶媒体に適用する場合、そ
の記憶媒体には、先に説明したフローチャートに対応す
るプログラムコードが格納されることになる。
【0179】
【発明の効果】以上説明したように本発明によれば、1
394シリアルバス等で接続された機器において、必ず
しもリアルタイムなトポロジの再構成を必要としないバ
スリセットの発生を抑えることができ、不必要にデータ
転送中の各機器間の通信を中断してトポロジを再構成す
ることによりバス全体のデータ転送効率を落とすのを防
ぐことが可能になる。
【図面の簡単な説明】
【図1】本発明に係る一発明の実施の形態例システムの
構成を示すブロック図である
【図2】本実施の形態例のネットワーク制御例を説明す
るための図である。
【図3】本実施の形態例の他のネットワーク制御例を説
明するための図である。
【図4】本実施の形態例におけるバストポロジの再構成
制御の詳細を説明するためのフローチャートである。
【図5】本実施の形態例の1394ネットワーク構成例
を示す図である。
【図6】本実施の形態例のIEEE1394規格のアー
キテクチャを説明する図である。
【図7】本実施の形態例の1394シリアルバスにおけ
るアドレス空間を説明するための図である。
【図8】本実施の形態例で利用する1394シリアルバ
スケーブルの断面図である。
【図9】本実施の形態例における1394シリアルバス
で採用されている、データ転送フォーマットのDS−リ
ンク符号化方式を説明するための図である。
【図10】本実施の形態例における、バスリセットの発
生からノードIDが決定し、データ転送が行なえるよう
になるまでの、一連のバスの作業を説明するためのフロ
ーチャートである。
【図11】本実施の形態例におけるバスリセットの開始
から親子関係決定までの処理を示すフローチャートであ
る。
【図12】本実施の形態例におけるバスリセットにおけ
る親子関係決定後からノードID決定までの処理を示す
フローチャートである。
【図13】本実施の形態例における実際のネットワーク
における1394シリアルバスで各ノードのIDを決定
する為のトポロジ設定動作の一例を説明するための図で
ある。
【図14】本実施の形態例における実際のネットワーク
における1394シリアルバスでのアービトレーション
の一例を説明するための図である。
【図15】本実施の形態例におけるアービトレーション
動作の一例を説明するためのフローチャートである。
【図16】本実施の形態例における非同期転送における
時間的な遷移状態を示す基本構成図である。
【図17】本実施の形態例における非同期転送のパケッ
トのフォーマットの一例の図である。
【図18】本実施の形態例における同期転送の時間的な
状態遷移を表す基本的な構成図である。
【図19】本実施の形態例における同期転送のパケット
のフォーマットの一例を示す図である。
【図20】本実施の形態例における1394シリアルバ
スで実際のパス上を転送されるパケットの様子を示した
バスサイクルの一例を示す図である。
【符号の説明】
1 CPU 2 RAM 3 ROM 4 システムデバイス 5 キーボードコントローラ(KBC) 6 CRTコントローラ(CRTC) 7 ディスクコントローラ(DKC) 8 バスインターフェース(BUSI/F) 9 キーボード(KB) 10 CRTディスプレイ(CRT) 11 外部メモリ 21 IEEE1394(1394シリアルバス) 30 制御ユニット 3000 ホストコンピュータ

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 制御信号とデータを混在させて通信する
    ことが可能なデータ通信バスを介して複数の機器を接続
    可能な通信システムにおいて、 前記通信制御バスのトポロジ情報と各機器間の通信情報
    から前記通信制御バスのトポロジを最適化し、前記通信
    制御バスのデータ転送効率を不用意に落とさぬよ制御す
    る制御手段を備えることを特徴とする通信システム。
  2. 【請求項2】 前記データ通信バスはIEEE1394
    に準拠した通信制御バスとすることを特徴とする請求項
    1記載の通信システム。
  3. 【請求項3】 前記制御手段は、通信システムに接続さ
    れている特定の機器間の接続を切り離したい場合に、認
    識したバスのトポロジ情報と各機器間の情報から、前記
    特定の機器間の接続を切り離した際にその他の機器間の
    通信に物理的な障害があるか否かを判断し、他の機器間
    の通信に本質的な障害がない場合に当該特定の機器間の
    接続を切り離すように制御することにより前記通信制御
    バスのトポロジを最適化を行なうことを特徴とする請求
    項1又は請求項2記載の通信システム。
  4. 【請求項4】 前記制御手段は、前記特定の機器の切り
    離し後において、切り離される機器が所有するノードI
    Dをあたかも前記切り離された特定の機器が存在するか
    のようにノードIDを仮想的に割り当ててトポロジを維
    持し、前記通信制御バスのトポロジを最適化を行なうこ
    とを特徴とする請求項3記載の通信システム。
  5. 【請求項5】 前記制御手段は、前記通信制御バスにお
    いて、その後に前記通信制御バスに対するバスリセット
    が必要になった時にバスリセットを起こしてまとめてト
    ポロジの再構成を行なうことを特徴とする請求項3また
    は請求項4記載の通信システム。
  6. 【請求項6】 制御信号とデータを混在させて通信する
    ことが可能なデータ通信バスを介して複数の機器を接続
    可能な通信システムにおける通信方法であって、 前記通信制御バスのトポロジ情報と各機器間の通信情報
    から前記通信制御バスのトポロジを最適化し、前記通信
    制御バスのデータ転送効率を不用意に落とさぬよ制御す
    ることを特徴とする通信方法。
  7. 【請求項7】 前記データ通信バスはIEEE1394
    に準拠した通信制御バスとすることを特徴とする請求項
    6記載の通信方法。
  8. 【請求項8】 前記通信システムに接続されている特定
    の機器間の接続を切り離したい場合に、認識したバスの
    トポロジ情報と各機器間の情報から、前記特定の機器間
    の接続を切り離した際にその他の機器間の通信に物理的
    な障害があるか否かを判断し、他の機器間の通信に本質
    的な障害がない場合に当該特定の機器間の接続を切り離
    すように制御することにより前記通信制御バスのトポロ
    ジを最適化を行なうことを特徴とする請求項6又は請求
    項7記載の通信方法。
  9. 【請求項9】 前記特定の機器の切り離し後において、
    切り離される機器が所有するノードIDをあたかも前記
    切り離された特定の機器が存在するかのようにノードI
    Dを仮想的に割り当ててトポロジを維持し、前記通信制
    御バスのトポロジを最適化を行なうことを特徴とする請
    求項8記載の通信方法。
  10. 【請求項10】 前記通信制御バスにおいて、その後に
    前記通信制御バスに対するバスリセットが必要になった
    時にバスリセットを起こしてまとめてトポロジの再構成
    を行なうことを特徴とする請求項8または請求項9記載
    の通信方法。
  11. 【請求項11】 前記請求項1乃至請求項10のいずれ
    か1項に記載の機能を実現するコンピュータプログラム
    列。
  12. 【請求項12】 前記請求項1乃至請求項10のいずれ
    か1項に記載の機能を実現するコンピュータプログラム
    を記憶したコンピュータ可読記憶媒体。
JP2000128509A 2000-04-27 2000-04-27 通信システム及び通信方法 Withdrawn JP2001313661A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000128509A JP2001313661A (ja) 2000-04-27 2000-04-27 通信システム及び通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000128509A JP2001313661A (ja) 2000-04-27 2000-04-27 通信システム及び通信方法

Publications (1)

Publication Number Publication Date
JP2001313661A true JP2001313661A (ja) 2001-11-09

Family

ID=18637944

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000128509A Withdrawn JP2001313661A (ja) 2000-04-27 2000-04-27 通信システム及び通信方法

Country Status (1)

Country Link
JP (1) JP2001313661A (ja)

Similar Documents

Publication Publication Date Title
JP4035235B2 (ja) 電子機器
EP1134937B1 (en) Information signal processing apparatus, corresponding system, method and computer readable storage medium
JP2003044184A (ja) データ処理装置及び電力制御方法
JP3293779B2 (ja) 信号処理装置およびその制御方法
JP2001306428A (ja) ネットワーク機器、ネットワークシステム、通信方法及び記録媒体
JP2000358033A (ja) データ通信システム及びデータ通信方法
JP3630971B2 (ja) データ通信方法、装置、システム、及び記憶媒体
JP2002077211A (ja) 情報処理装置およびその方法、並びに、記録媒体
JP2001160939A (ja) 画像処理装置及び画像処理システム、及びその制御方法
US7177959B2 (en) Information signal processing apparatus and method
JP2000259545A (ja) 情報処理装置およびその方法、並びに、記録媒体
US20060017811A1 (en) Communication system, electronic apparatus, control apparatus, and computer-readable storage medium
JP2001313661A (ja) 通信システム及び通信方法
JP3495879B2 (ja) データ処理方法、データ処理装置、及びコンピュータ読み取り可能な記録媒体
JP3495878B2 (ja) データ処理方法、データ処理装置及びプリンタ
JP2004064665A (ja) データ転送装置及び送信装置及び受信装置及びそれらの制御方法
JP4026979B2 (ja) データ通信システム
JP3647328B2 (ja) 画像処理装置及びその制御方法並びに画像処理システム
JP2003333045A (ja) パワーマネージメント
JPH10304007A (ja) データ処理方法、データ処理装置、プリンタ及び記憶媒体
JP2001160938A (ja) 画像処理装置及び画像処理システム、及びその制御方法
JP2009027349A (ja) ネットワーク機器
JP2003110651A (ja) データ処理方法、データ処理装置、通信プロトコル及びプログラム
JP4058156B2 (ja) データ処理方法、データ処理装置、プリンタ、及び記憶媒体
JP2004289857A (ja) プリント方法、通信方法、プリント制御装置、及び通信制御装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070703