(57)【特許請求の範囲】
【請求項１】
バスに接続されている複数の情報処理装置間の接続管理を行う第１の情報処理装置と、前記第１の情報処理装置により接続管理される第２の情報処理装置とから構成される情報処理システムにおいて、
前記第１の情報処理装置は、
前記第２の情報処理装置と他の情報処理装置とを接続するために必要なパラメータを設定する設定手段と、
前記設定手段により設定されたパラメータを、前記第２の情報処理装置に送信する送信手段と
を備え、
前記第２の情報処理装置は、
前記送信手段により送信されたパラメータを受信する受信手段と、
前記受信手段により受信されたパラメータに基づいて、前記他の情報処理装置との間に帯域とチャンネルを確保する確保手段と
を備える
ことを特徴とする情報処理システム。
【請求項２】
前記送信手段は、Default Connection コマンドを用いて送信を行う
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記パラメータは、バスリセット時に受信したSelf IDパケットから、バスの木構造を解析し、所定の情報処理装置間のデータ転送スピードを解析することにより決定される
ことを特徴とする請求項１に記載の情報処理システム。
【請求項４】
前記第１の情報処理装置は、前記複数の情報処理装置のうち接続可能な情報処理装置を表示する制御を行う表示制御手段と、
前記表示制御手段により表示された画面から、接続機器が選択される選択手段と
をさらに備え、
前記設定手段は、前記選択手段により選択された情報処理装置に対するパラメータを設定する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項５】
バスに接続されている複数の情報処理装置間の接続管理を行う第１の情報処理装置と、前記第１の情報処理装置により接続管理される第２の情報処理装置とから構成される情報処理システムの情報処理方法において、
前記第１の情報処理装置の情報処理方法は、
前記第２の情報処理装置と他の情報処理装置とを接続するために必要なパラメータを設定する設定ステップと、
前記設定ステップで設定されたパラメータを、前記第２の情報処理装置に送信する送信ステップと
を含み、
前記第２の情報処理装置の情報処理方法は、
前記送信ステップで送信されたパラメータを受信する受信ステップと、
前記受信ステップで受信されたパラメータに基づいて、前記他の情報処理装置との間に帯域とチャンネルを確保する確保ステップと
を含む
ことを特徴とする情報処理方法。
【請求項６】
バスに接続されている複数の情報処理装置間の接続管理を行う第１の情報処理装置と、前記第１の情報処理装置により接続管理される第２の情報処理装置とから構成される情報処理システムにコンピュータプログラムを提供する提供媒体において、
前記第１の情報処理装置に、
前記第２の情報処理装置と他の情報処理装置とを接続するために必要なパラメータを設定する設定ステップと、
前記設定ステップで設定されたパラメータを、前記第２の情報処理装置に送信する送信ステップと
を含み、
前記第２の情報処理装置に、
前記送信ステップで送信されたパラメータを受信する受信ステップと、
前記受信ステップで受信されたパラメータに基づいて、前記他の情報処理装置との間に帯域とチャンネルを確保する確保ステップと
を含む
処理を実行させるコンピュータが読み取り可能なプログラムを提供することを特徴とする提供媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は情報処理システムおよび方法、並びに提供媒体に関し、特に、接続管理を行う装置が、接続を行うのに必要なパラメータを設定し、そのパラメータを接続される装置に伝送し、伝送されたパラメータを受信した装置は、そのパラメータに基づいて、チャンネルと帯域を確保することによりデータの授受を行うようにした情報処理システムおよび方法、並びに提供媒体に関する。
【０００２】
【従来の技術】
複数の機器により構成されるネットワークにおいて、そのネットワーク上に存在する機器間でデータの授受を行う場合、データを送信する機器と、データを受信する機器とを指定する必要がある。この指定は、このネットワーク上で設定された機器（ノード）ＩＤを用いて行われる。
【０００３】
例えば、所定の機器Ａが、接続されているモニタ上に、ユーザに対して、ネットワーク上に接続されている機器の名前やアイコンなどを表示させ、ユーザが、その表示されたなかからデータを送信する機器Ｂと、そのデータを受信する機器Ｃとを指定し、これら指定された機器Ｂ，Ｃ間で行われるデータの送受信を制御する場合を想定した場合、制御する機器Ａは、ユーザに対してモニタ上に機器のアイコンなどを表示するために、ネットワーク上に存在する機器の属性、制御に必要となるデータを、予めネットワーク上から取得していなくてはならない。
【０００４】
また、ネットワークのデータ転送レートが、データを中継する機器の性能により変わる場合、目的とする機器間でのデータ通信の転送スピードを決定するためのデータを、ネットワーク上から取得する。
【０００５】
ネットワークとしてIEEE1394を例に挙げて説明すると、デジタルカムコーダなどで映像データを伝送する場合、IEC1883に規定される Connection Management Protocol の Broadcast Connection 通信を用いてデータの伝送が行なわれている。この方式では、データを送信する相手の機器の機器ＩＤを指定せずに、IEEE1394のアイソクロナス（Isochronous）通信のチャンネルを一定値に固定し、受信機と送信機は、そのチャンネルに合わせてデータの送受信を行うことにより、データの送受信を可能としている。
【０００６】
【発明が解決しようとする課題】
しかしながら、上述したようにネットワーク上の機器のデータを取得する処理は、パーソナルコンピュータなど、高性能のCPU（Central Processing Unit）や、RAM（Random Access Memory）を搭載した機器においては可能な処理であるが、ＡＶ（Audio Visual）機器などのように、高性能のCPUやRAMを搭載していない機器において、同様の処理を行なわせるのは困難であるという課題があった。
【０００７】
また、上述したIEEE1394により構成されているネットワークにおいて、IEC1883によりデータの送受信を行う場合、データを送信する側は、データを受信する側の存在の有無に関係なしに、データを送信するため、受信する機器が存在していない場合、バスの帯域を無駄に使用することになる。さらに、データの転送速度は、送信機と受信機の能力に関わらず最低速度の転送レートに設定されて行われるため、処理能力の高い機器間で行われるデータの送受信であっても、その能力を有効に生かして行えないといった課題があった。
【０００８】
IEC1883では、通信相手を特定して、データの送受信（入出力）の制御を行う Point to Point Connection が定義されているが、これを用いてデータの送受信を行う場合、ネットワーク上の機器の構成や転送スピードなどのデータを取得する必要があるため、上述したような、処理能力の低いＡＶ機器などにとっては、困難な処理となるという課題があった。
【０００９】
本発明はこのような状況に鑑みてなされたものであり、接続管理を行う装置が、接続を行うのに必要なパラメータを設定し、そのパラメータを接続される装置に伝送し、伝送されたパラメータを受信した装置は、そのパラメータに基づいて、チャンネルと帯域を確保することによりデータの授受を行うようにするものである。
【００１０】
【課題を解決するための手段】
請求項１に記載の情報処理システムは、第１の情報処理装置は、第２の情報処理装置と他の情報処理装置とを接続するために必要なパラメータを設定する設定手段と、設定手段により設定されたパラメータを、第２の情報処理装置に送信する送信手段とを備え、第２の情報処理装置は、送信手段により送信されたパラメータを受信する受信手段と、受信手段により受信されたパラメータに基づいて、他の情報処理装置との間に帯域とチャンネルを確保する確保手段とを備えることを特徴とする。
【００１１】
請求項５に記載の情報処理方法は、第１の情報処理装置の情報処理方法は、第２の情報処理装置と他の情報処理装置とを接続するために必要なパラメータを設定する設定ステップと、設定ステップで設定されたパラメータを、第２の情報処理装置に送信する送信ステップとを含み、第２の情報処理装置の情報処理方法は、送信ステップで送信されたパラメータを受信する受信ステップと、受信ステップで受信されたパラメータに基づいて、他の情報処理装置との間に帯域とチャンネルを確保する確保ステップとを含むことを特徴とする。
【００１２】
請求項６に記載の提供媒体は、理システムにコンピュータプログラムを提供する提供媒体において、第１の情報処理装置に、第２の情報処理装置と他の情報処理装置とを接続するために必要なパラメータを設定する設定ステップと、設定ステップで設定されたパラメータを、第２の情報処理装置に送信する送信ステップとを含み、第２の情報処理装置に、送信ステップで送信されたパラメータを受信する受信ステップと、受信ステップで受信されたパラメータに基づいて、他の情報処理装置との間に帯域とチャンネルを確保する確保ステップとを含む処理を実行させるコンピュータが読み取り可能なプログラムを提供することを特徴とする。
【００１３】
請求項１に記載の情報処理システム、請求項５に記載の情報処理方法、および請求項６に記載の提供媒体においては、第１の情報処理装置は、第２の情報処理装置と他の情報処理装置とを接続するために必要なパラメータが第２の情報処理装置に送信され、第２の情報処理装置は、受信されたパラメータに基づいて、他の情報処理装置との間に帯域とチャンネルが確保される。
【００１４】
【発明の実施の形態】
以下に本発明の実施の形態を説明するが、特許請求の範囲に記載の発明の各手段と以下の実施の形態との対応関係を明らかにするために、各手段の後の括弧内に、対応する実施の形態（但し一例）を付加して本発明の特徴を記述すると、次のようになる。但し勿論この記載は、各手段を記載したものに限定することを意味するものではない。
【００１５】
請求項１に記載の情報処理システムは、  第１の情報処理装置は、第２の情報処理装置と他の情報処理装置とを接続するために必要なパラメータを設定する設定手段（例えば、図１７のステップＳ１０１乃至Ｓ１０４）と、設定手段により設定されたパラメータを、第２の情報処理装置に送信する送信手段（例えば、２の1394インタフェース１７）とを備え、第２の情報処理装置は、送信手段により送信されたパラメータを受信する受信手段（例えば、図３の1394インタフェース３４）と、受信手段により受信されたパラメータに基づいて、他の情報処理装  置との間に帯域とチャンネルを確保する確保手段（例えば、図２８のステップＳ１１２乃至Ｓ１１４）とを備えることを特徴とする。
【００１６】
請求項４に記載の情報処理システムは、第１の情報処理装置は、複数の情報処理装置のうち接続可能な情報処理装置を表示する制御を行う表示制御手段（例えば、図１５のステップＳ８３）と、表示制御手段により表示された画面から、接続機器が選択される選択手段（例えば、図１５のステップＳ８８）をさらに備え、設定手段は、選択手段により選択された情報処理装置に対するパラメータを設定することを特徴とする。
【００１７】
図１は、本発明の情報処理システムの一実施の形態の構成を表す図である。ＣＳチューナ１は、モニタ２とVTR（ビデオカセットレコーダ）３と接続され、VTR３は他のVTR４と接続されている。ＣＳチューナ１、VTR３、およびVTR４は、それぞれ1394バス５により接続されている。また、ＣＳチューナ１、VTR３、およびVTR４は、モニタ２と、図示されていないケーブルにより接続されている。なお、本発明の情報処理装置は、ＣＳチューナ１に組み込む必要はなく、単独に存在する機器としても良い。
【００１８】
図２は、ＣＳチューナ１の内部構成を示すブロック図である。アンテナ２０で受信された信号は、ＣＳチューナメイン部１１に入力される。ＣＳチューナメイン部１１は、入力された信号の復調、スクランブルの解除などの処理を施し、処理したデータを加算器１８を介してNTSCエンコーダ１６に出力する。あるいは、ＣＳチューナメイン部１１は、処理した信号を1394インタフェース１７に出力する。
【００１９】
ユーザがリモートコントローラ２１を操作して送信させた指令は、ＣＳチューナ１の赤外線受光部１５により受信される。受信された指令に基づいて、CPU１２は、ＣＳチューナメイン部１１や1394インタフェース１７を制御する。さらにCPU１２は、ＧＵＩ（Graphical User Interface）エンジン１４を制御し、必要に応じ、メニュー画面等を作成し、加算器１８に出力し、ＣＳチューナメイン部１１から出力された映像データと共に、NTSCエンコーダ１６に出力させる。
【００２０】
NTSCエンコーダ１６に入力された映像データは、NTSC信号に変換され、モニタ２に対して出力される。CPU１２は、必要に応じデータをRAM１３に記録し、必要に応じ記憶されたデータを読み出す。
【００２１】
図３は、VTR３またはVTR４の内部構成を示すブロック図である。ここでは、VTR３として説明する。VTR制御部３１は、CPU３３の指令により、映像の記録再生動作の制御を行う。VTR制御部３１は、他の機器から送信されたデータを、1394インタフェース３４を介して入力する。また逆に、VTR制御部３１は、映像データを1394インタフェース３４を介して、他の機器に出力する。さらにVTR制御部３１は、制御した結果の映像データを、NTSCエンコーダ３６を介してモニタ２に出力する。
【００２２】
CPU３３は、ユーザが、操作パネル部３８、またはリモートコントローラ４０を操作することにより指示したデータに基づいて、VTR制御部３１の制御を行う。なお、リモートコントローラ４０により指示されたデータは、赤外線受光部３７により受信され、赤外線受光部３７からCPU３３に伝送される。
【００２３】
さらにCPU３３は、必要に応じ、RAM３２にデータを記憶させたり、記憶させたデータを読み出したりする。CPU３３は、表示部３５に、図示されていないビデオテープの残量やフレームカウンタなどを表示させる。
【００２４】
このような内部構造をもつＣＳチューナ１とVTR３，４が接続されているネットワークにおける機器間での、データの送受信について説明する。
【００２５】
まず図４のフローチャートを参照して、既に構成されているネットワーク上から、接続されていた機器が取り外された場合、または新たに接続された場合など、すなわち、バスに接続されている機器の構成が変化した場合に、新たに機器構成を調査する場合の処理について説明する。このフローチャートの処理は、ネットワークの機器を管理するＣＳチューナ１が行う。
【００２６】
1394バス５により構成されるネットワーク上の機器の構成が変化すると、バスリセットが起こる。ＣＳチューナ１の1394インタフェース１７に、ステップＳ１において、バスリセットの信号が入力されると、CPU１２に、そのことが通知される。ステップＳ２において、各機器が1394バス５に対して送出するSelf IDパケットが受信される。このSelf IDパケットは、図５に示したようなフォーマットをもつパケットである。
【００２７】
Self IDパケットは、Self IDプロセスにおいて、各機器（ノード）の物理層から、１個乃至４個のいずれかの数が出力される。図５（Ａ）に示されたSelf IDパケットは、１個の場合、または最初に出力されるSelf IDパケットの例であり、図５（Ｂ）は、２個乃至４個目に出力されるSelf IDパケットの例である。Self IDパケットの最初の３２ビットが有効なデータであり、残りの３２ビットはエラー検出に用いられる。
【００２８】
図６は、Self IDパケットの構成要素を説明する図である。最上行の名前と記載されたセルの下方向のセルに記載された内容は、図５のSelf IDパケットの構成要素の名前に対応する。最上行のフィールドと記載されたセルの下方向のセルに記載された内容の右方向への延長領域と、最上行の内容と記載された下方向への延長領域が交わる位置に配置されたセルは、図５のSelf IDパケットの構成要素の内容を示している。Self IDパケットを受け取ったノードは、伝送される先頭から１０ビット目のフィールドＬに格納された情報を読み、Self IDパケットを出力したノードのリンク層の動作状態を知ることができる。所定の機器のリンク層が動作していることを知った他の機器は、その所定の機器に対して、リンク層を介して通信を実行することができる。
【００２９】
CPU１２は、このようなフォーマットをもつSelf IDパケットを解析することにより、バス上の総機器数、各機器のリンク層が動作しているか否か、各機器のデータ信号転送スピード、およびバスの木構造などの情報を取得する。
【００３０】
ステップＳ３において、ＣＳチューナ１のCPU１２は、受信したSelf IDパケットとから、バスの木構造を解析する。この木構造の解析は、以下に示す、1394バスで接続されたネットワークの、３つの特徴を利用する。まず第１に、ノード（機器）１つに対して親ノードは１つのみ存在する。第２に、所定のノードの子ノードは、そのノード番号よりも小さく、親ノードは、そのノード番号よりも大きい。第３にルートノードには、親ノードは存在しない。
【００３１】
このような特徴を利用すると、所定のノードのノード番号（番号の範囲としては、０乃至６２）と子ノードの数（範囲としては、０乃至２７）がわかれば、木構造を解析することが可能である。
【００３２】
ステップＳ３において、バスの木構造の解析が終了されると、ステップＳ４において、ネットワーク上に接続されている機器間のデータ転送スピードの解析が行われる。ステップＳ５において、ノードユニークIDの読み出しが行われる。ステップＳ６において、各機器のプラグ番号が調べられる。各処理において、得られたデータは、RAM１３に記憶される。
【００３３】
ここで、ステップＳ３におけるバスの木構造の解析、ステップＳ４におけるデータ転送スピードの解析、およびステップＳ５におけるノードユニークIDの読み出し処理について、以下に説明する。
【００３４】
CPU１２は、バスの木構造を解析する際に、図５に示したフォーマット形式を持つSelf IDパケット＃０（１個目のパケット）に含まれる「ｓｐ」から、このパケットを送信してきたノード（機器）のデータ転送スピードのデータを得る。そして、Self IDパケット＃０の「ｐ０，ｐ１，ｐ２」、およびSelf IDパケット＃１乃至３の「ｐａ，ｐｂ，ｐｃ，ｐｄ，ｐｅ，ｐｆ，ｐｇ，ｐｈ」から、ポートの状態を調べ、チャンネルの数が数えられる。
【００３５】
このようなデータが得られる時に、その時点でのノードの総数（ｎＮｏｄｅ）とリーフノードの数（ＬＮｏｄｅ）をカウントしておく。そして、得られたデータから、木構造を解析していく。この解析について、図７のフローチャートを参照して説明する。
【００３６】
ここで、”ｐ”は親ノードの候補となっているノードIDを示し、”ｃ”は子ノードの候補となっているノードIDを示す。”Ｎｏｄｅ”は、木ノードの配列を示し、添字はノードIDを示す。この添字の範囲は０乃至（ｎＮｏｄｅ−１）である。”ｎＮｏｄｅ”は、その時点でバス上に存在するノードの総数を示す。”ｎChild”は、木ノードのパラメータとして、そのノードがもつ子ノードの数を示す。”ParentID”は木ノードのパラメータとして、そのノードの親ノードのノードIDを示す。”カウンタ”は、未決定の子ノードの数を示す。”プッシュ”や”ポップ”は、ノードIDを蓄えておくためのスタック操作用の関数を示す。
【００３７】
CPU１２は、木構造を解析するために、図８に示したような情報を、上述したSelf IDパケットから読み出し、RAM１３に記憶してあり、その状態から、図７に示したフローチャートの処理が開始される。
【００３８】
ステップＳ１において、親ノードの候補となるノードIDの値ｐを初期値である０に設定する。また、０と設定されたノードIDの値ｐは、スタックにプッシュ（PUSH）される。ステップＳ２において、ノードIDｐに対して、ノードの総数ｎＮｏｄｅの数よりも小さいか否かが判断され、小さいと判断された場合、ステップＳ３に進む。ステップＳ３において、未決定の子ノードの数を表すカウンタの値が、ノードIDがｐであるノードが持つ子ノードの数（ｎChild）として設定される。
【００３９】
ステップＳ４において、ステップＳ３で設定されたカウンタの値、または後述するステップＳ７で設定されたカウンタの値が０であるか否かが判断される。カウンタの値が０ではないと判断された場合、換言すれば、ノードIDがｐであるノードには、子ノードが存在している場合、ステップＳ５に進む。ステップＳ５において、スタックからノードIDをポップ（POP）し、そのポップされたノードIDの値を子ノードの候補のノードIDｃとして設定する。そして、設定されたｃに対して、ステップＳ６において、ノードIDがｃであるノードの親ノードIDを、親ノードの候補のノードIDの値ｐとして設定する。
【００４０】
そして、ステップＳ７において、カウンタの値から１減算された値が新たなカウンタの値として設定される。設定後、ステップＳ４に戻り、それ以降の処理が繰り返される。
【００４１】
ステップＳ４において、カウンタの値が０であると判断された場合、ステップＳ８に進み、スタックにノードIDとしてｐがプッシュされる。そして、ステップＳ９において、ｐの値が１加算され、新たなｐに対してステップＳ２以下の処理が繰り返される。
【００４２】
ステップＳ２において、ｐの値がｎＮｏｄｅの値よりも大きいと判断された場合、ステップＳ１０に進み、スタックが空にされる。そして、このフローチャートの処理、すなわち、木構造の解析の処理は終了される。
【００４３】
このような処理を、ROM１３に記憶されている図８に示したようなデータを用いる場合を例にあげて説明する。この場合、ノードIDは、０乃至５まで設定されているので、バス上に存在するノードの総数ｎＮｏｄｅは、６である。
【００４４】
まずステップＳ１において、親ノードの候補としてのノードIDの値ｐが０と設定されるので、ステップＳ２からステップＳ３へと進む。ノードIDが０のノードの子ノード（ｎChild）は、図８より０であることがわかる。従って、ステップＳ４からステップＳ８へと進む。そして、ステップＳ８において、スタックに０がプッシュされ、ステップＳ９において、ｐの値が１と更新される。
【００４５】
ノードIDが１，２の場合は、上述した処理の流れと同じになるので、その説明は省略し、ステップＳ９において、ｐの値が３に更新された場合から説明する。ノードIDが３の場合、ステップＳ２からステップＳ３に進む。そして、ステップＳ３において、ノードIDが３の子ノードの数２が、カウンタの値として設定される。そして、ステップＳ４から、ステップＳ５へと進む。
【００４６】
ステップＳ５において、スタックからノードIDがポップされるわけだが、この場合、ポップされるノードIDは、２である。そして、ステップＳ６において、ノードID２の親ノードのID３が、ｐの値として設定される。
【００４７】
ステップＳ７において、カウンタの値が２から１だけ減算され、１とされ、ステップＳ４以降の処理が繰り返される。いまの場合、カウンタの値は１なので、ステップＳ５に進む。ステップＳ５において、スタックからノードIDがポップされるわけだが、いまの場合、ポップされる値としては、１である。ノードIDが１であるノードの親ノードIDは、３である。そして、ステップＳ７において、カウンタの値が１減算され、０となる。従って、ステップＳ４に戻り、その後、ステップＳ８に進む。
【００４８】
ステップＳ８において、スタックに、ノードIDとしてｐの値、この場合、３がプッシュされる。そして、ステップＳ８において、ｐの値３が１だけインクリメントされ、４とされて、ステップＳ２以降の処理が繰り返される。
【００４９】
上述したような処理が、ノードID４，５に対しても行われる。そして、ステップＳ９において、ｐの値が１だけインクリメントされ、その値が６となった時点で、ステップＳ２における処理で、ｎＮｏｄｅの値６よりも小さくはないと判断され、ステップＳ１０に進み、スタックが空にされる。
【００５０】
このようにして、解析された木構造は、図９に示すようになっている。すなわち、ノードID５を親ノードとして、ノードID０とノードID４が子ノードとしてぶら下がっている。そして、ノードID４を親ノードとして、ノードID３のノードが子ノードとしてぶら下がっている。さらに、ノードID３のノードを親ノードとして、ノードID１とノードID２が子ノードとしてぶら下がっている。
【００５１】
次に解析された木構造を用いて、所定の２つのノード間のホップ数を算出する処理を、図１０のフローチャートを参照して説明する。ここで、”ｍ”と”ｎ”は、それぞれ所定のノードのノードIDを示し、”tmp”は、２つのノード間での交換用一時変数を示している。また、”top”は、ノードｍからルートに向かって探索した時の頂点のノードIDを示し、"node”は、ノードｎからルートに向かって探索した時のノードIDを示す。さらに”hop”は、ホップ数のカウンタを示すとする。
【００５２】
ステップＳ２１において、２つのノードIDの値ｍとｎが、ｍ＞ｎの関係にあるか否かが判断される。ｍのほうがｎよりも大きいと判断された場合、ステップＳ２に進み、ｍとｎを交換する。すなわち、tmp＝ｍ，ｍ＝ｎ，ｎ＝tmpとする。そして、ステップＳ２３に進む。
【００５３】
一方、ステップＳ２１において、ｍ＞ｎの関係にないと判断された場合、ステップＳ２３に進む。ステップＳ２３において、hopが−１に設定される。これは、自分自身とのホップ数を０にするために、初期値として−１として設定する。そして、ステップＳ２４において、ノードIDの値がｍのノードからルートに向かって探索した時の頂点のノードIDを表すtopがｍに設定される。
【００５４】
ステップＳ２５において、topがｎよりも小さいか否かが判断され、小さいと判断された場合、ステップＳ２６に進み、hopの値が１だけインクリメントされる。そしてステップＳ２７において、ノードIDがtopの親ノードのID（ParentID）を、新たなtopの値とし、ステップＳ２５以下の処理が繰り返される。
【００５５】
ステップＳ２５において、topの値がｎよりも大きいと判断された場合、ステップＳ２８に進む。ステップＳ２８においては、nodeの値がｎに設定される。そして値が設定されたnodeは、ステップＳ２９において、top以下の値であるか否かが判断される。そして、nodeがtop以下であると判断された場合、ステップＳ３０に進む。ステップＳ３０において、ホップの値が１だけインクリメントされる。
【００５６】
ステップＳ３１において、ノードIDがnodeの親ノードのIDが、新たなnodeの値として設定され、ステップＳ２９に戻り、それ以降の処理が繰り返される。そして、ステップＳ２９において、nodeの値がtopの値以下ではないと判断された場合、このフローチャートの処理（所定の２つのノード間のホップ数を求める処理）は終了される。
【００５７】
ここで、図９に示した木構造を持つネットワークにおいて、ノードIDが１と４であるノード間でのホップ数を求める場合を例にあげ、上述した図１０のフローチャートの処理を説明する。ここでは、ｍ＝１、ｎ＝４として説明する。このように設定すると、ステップＳ２１からステップＳ２３に進む。そして、ステップＳ２３において、hopの値が−１に設定される。
【００５８】
ステップＳ２４において、top＝ｍ＝１と設定される。従って、ステップＳ２５から、ステップＳ２６へと進み、hopの値が１だけインクリメントされ、０と設定される。ステップＳ２７において、ノードIDがtopであるノードの親ノードIDがtopの値に設定されるわけだが、この場合、ノードIDが０である親ノードのID、５がtopの値として設定される。
【００５９】
ステップＳ２７において設定されたtopの値５に対して、ステップＳ２５において、ｎより小さいか否かが判断されるわけだが、この場合、ｎは４なので、小さくはないと判断され、ステップＳ２８に進む。
【００６０】
ステップＳ２８において、nodeの値がｎ、すなわち４に設定される。そして、ステップＳ２９において、nodeの値がtopの値以下であるか否かが判断されるわけだが、この場合、node＝４、top＝５なので、ステップＳ３０に進む。ステップＳ３０において、hopの値が１だけインクリメントされ、１と設定される。
【００６１】
ステップＳ３１において、ノードIDがnodeの親ノードIDが、新たなnodeとして設定されるわけだが、この場合、ノードIDが４の親ノードID、５が、新たなnodeの値として設定される。そして、設定された値５に対して、ステップＳ２９の処理が施される。いまの場合、nodeの値は５であり、topの値も５であるので、同値であると判断され、ステップＳ３０に進み、hopの値が１だけインクリメントされ、２とされる。
【００６２】
ステップＳ３１において、ノードIDが５であるノードの親ノードID、NONE（図８より）が、新たなnodeの値として設定される。そして、ステップＳ２９において、nodeの値とtopの値が比較されるわけだが、nodeの値はNONEであるので、比較することはできない。このような場合、定義できないので、回避処理として、このフローチャートの処理は終了される。従って、ノードID１とノードID４とのホップ数は、ステップＳ３０において設定された２となる。
【００６３】
次に、ノード間のデータの転送スピードの決定の仕方について、図１１と図１２のフローチャートを参照して説明する。ここで、”Ｓ１”，”Ｓ２”は、データの転送スピードを示し、”LSpeed”はＳ１とＳ２のうち小さい方を示す。
【００６４】
ステップＳ４１において、ノードIDの値ｍまたは値ｎが、バス上に存在するノードの総数ｎＮｏｄｅよりも大きいか否かが判断される。ノードIDは、バス上の存在するノードの総数ｎＮｏｄｅよりも大きくなることはないので、このようなことが起こった場合、ステップＳ４２に進み、アンディファインド（Undefined）を返す。
【００６５】
ステップＳ４１において、ノードIDｍとｎが、バス上に存在するノードの総数ｎＮｏｄｅよりも大きくはないと判断された場合、もしくはステップＳ４２の処理が終了された場合、ステップＳ４３に進む。ステップＳ４３において、ノードIDｍまたはｎが、６３であるか否かが判断される。ノードIDは、最大で６２なので、ノードIDｍまたはｎが、６３である場合、ステップＳ４４に進み、アンディファインドを返す。
【００６６】
ステップＳ４３において、ノードIDｍとｎが、両方とも６３ではないと判断された場合、もしくはステップＳ４４の処理が終了された場合、ステップＳ４５に進む。ステップＳ４５において、ノードIDｍとｎが、ともに６２であるか否かが判断される。ともに６２であると判断された場合、ステップＳ４６に進み、アンディファインドが返される。ステップＳ４６の処理が終了されるか、もしくはステップＳ４５において、ノードIDｍとｎが、共に６２ではないと判断された場合、ステップＳ４７に進む。
【００６７】
ステップＳ４７において、ノードIDの値ｍは、ノードIDの値ｎよりも大きいか否かが判断される。ｍの方がｎよりも大きいと判断された場合、ステップＳ４８に進み、ｍとｎが入れ替えられる。すなわち、tmp＝ｍ，ｍ＝ｎ，ｎ＝tmpとされる。このステップＳ４８の処理が終了されるか、もしくはステップＳ４７において、ノードIDの値ｍの方がノードIDの値ｎよりも小さいと判断された場合、ステップＳ４９に進む。
【００６８】
ステップＳ４９において、Ｓ１＝Ｓ４００、Ｓ２＝Ｓ４００と設定される。1394バスを用いて構成されたネットワークでは、データ転送速度として、Ｓ１００、１２００、およびＳ４００の３つの転送スピードが用意されている。この速度は、ノードにより異なり、そのノードの能力に応じて設定されている。
【００６９】
ステップＳ５０において、ノードIDｎの転送スピードがＳ１００か否かが判断される。ノードIDｎの転送スピードがＳ１００であると判断された場合、ステップＳ５１に進み、Ｓ１００が返される。ステップＳ５１の処理が終了された場合、もしくはステップＳ５０において、ノードIDｎの転送スピードがＳ１００ではないと判断された場合、ステップＳ５２に進む。
【００７０】
ステップＳ５２において、頂点のノードIDの値topがノードIDの値ｍと設定される。そして、このtopに対して、ステップＳ５３において、ノードIDｎよりも小さいか否かが判断される。この判断により、topがｎよりも小さいと判断された場合、ステップＳ５４に進む。ステップＳ５４において、ノードIDtopのノードの転送スピードがＳ１００であるか否かが判断される。そして、ノードIDtopのノードの転送スピードがＳ１００であると判断された場合、ステップＳ５５に進み、Ｓ１００が返される。
【００７１】
ステップＳ５５の処理が終了した場合、もしくはステップＳ５４において、ノードIDtopのノードの転送スピードがＳ１００ではないと判断された場合、ステップＳ５６に進む。ステップＳ５６において、ノードIDtopの転送スピードがＳ１以下であるか否かが判断される。ノードIDtopのノードの転送スピードがＳ１以下であると判断された場合、ステップＳ５７に進み、ノードIDtopのノードの転送スピードをＳ１に設定する。
【００７２】
一方、ステップＳ５６において、ノードIDがtopのノードの転送スピードがＳ１以下ではないと判断された場合、もしくはステップＳ５７の処理が終了した場合、ステップＳ５８に進む。ステップＳ５８において、ノードIDtopの親ノードのノードIDが、新たなtopの値として設定される。そして、このステップＳ５８の処理が終了されると、ステップＳ５３に戻り、それ以降の処理が繰り返される。
【００７３】
ステップＳ５３において、topがｎ以下であると判断された場合、ステップＳ５９に進む。ステップＳ５９において、ノードIDｎからルートに向かって探索した時のノードIDであるnodeが、ｎに設定される。そして、ステップＳ６０に進み、nodeがtop以下であるか否かが判断される。nodeがtop以下であると判断された場合、ステップＳ６１に進む。
【００７４】
ステップＳ６１において、ノードIDがnodeであるノードの転送スピードがＳ１００か否かが判断される。ノードIDｎの転送スピードがＳ１００であると判断された場合、ステップＳ６２に進み、Ｓ１００が返される。ステップＳ６２の処理が終了された場合、もしくはステップＳ６１において、ノードIDｎの転送スピードがＳ１００ではないと判断された場合、ステップＳ６３に進む。
【００７５】
ステップＳ６３において、ノードIDがnodeであるノードの転送スピードがＳ２以下であるか否かが判断される。ノードIDがnodeであるノードの転送スピードがＳ２以下であると判断された場合、ステップＳ６４に進み、ノードIDがnodeのノードの転送スピードをＳ２に設定する。
【００７６】
一方、ステップＳ６３において、ノードIDがnodeであるノードの転送スピードがＳ２以下ではないと判断された場合、もしくはステップＳ６４の処理が終了した場合、ステップＳ６５に進む。ステップＳ６５において、ノードIDがnodeである親ノードのノードIDが、新たなnodeの値として設定される。そして、このステップＳ６５の処理が終了されると、ステップＳ６０に戻り、それ以降の処理が繰り返される。
【００７７】
ステップＳ６０において、nodeがtop以下ではないと判断された場合、ステップＳ６６に進む。ステップＳ６６では、上述した処理において、決定されたＳ１とＳ２とを比較し、Ｓ１がＳ２よりも小さいと判断された場合は、ステップＳ６７に、Ｓ１がＳ２よりも大きいと判断された場合は、ステップＳ６８に、それぞれ進む。ステップＳ６７およびステップＳ６８においては、ステップＳ６６において、小さいと判断された転送スピードが、LSpeedと設定される。
【００７８】
上述した２つの機器間におけるデータ転送スピードの決定処理について、図９で示した木構造をもつネットワークのうち、２つの機器としてノードID２とノードID４とを例に挙げて説明する。ここでは、ｍ＝２、ｎ＝４とする。従って、ステップＳ４１からステップＳ４３、そして、ステップＳ４５へと進み、さらにステップＳ４７まで進む。
【００７９】
ステップＳ４７において、ｍ＞ｎの関係であるか否かが判断されるわけだが、この場合、ｍ＝２、ｎ＝４なので、ｍ＞ｎの関係ではないと判断され、ステップＳ４９に進む。ステップＳ４９において、Ｓ１＝Ｓ２＝Ｓ４００と設定される。そして、ステップＳＳ５０において、ノードIDがｎであるノードのスピードがＳ１００であるか否かが判断されるわけだが、いまの場合、ノード４のスピードは、Ｓ２００なので、ステップＳ５２に進む。
【００８０】
ステップＳ５２において、topの値がｍ、すなわち２と設定される。ステップＳ５３において、top＜ｎの関係にあるか否かが判断されるわけだが、いまの場合、top＝２、ｎ＝４なので、top＜ｎの関係にあると判断され、ステップＳ５４に進む。ステップＳ５４において、ノードIDがtopのノードのスピードがＳ１００であるか否かが判断されるわけだが、いまの場合、ノードIDが２のスピードはＳ２００であるので、ステップＳ５６に進む。
【００８１】
ステップＳ５６において、ノードIDがtopのノードのスピード、すなわち、ノードIDが２のノードのスピード、Ｓ２００が、Ｓ１＝Ｓ４００以下であるか否かが判断され、その結果として、ステップＳ５７に進む。ステップＳ５７において、ノードIDがtopのスピード、Ｓ２００が、Ｓ１として設定される。そして、ステップＳ５８に進み、ノードtopの親ノードのIDが新たなtopの値として設定される。すなわち、新たなtopの値は、３である。
【００８２】
新たなtopの値３に対して、ステップＳ５３以降の処理が繰り返される。この場合、ｎの値は４なので、ステップＳ５３からステップＳ５４へと進む。ノードIDが３のスピードはＳ１００なので、ステップＳ５４からステップＳ５５に進み、Ｓ１００が返される。そして、ステップＳ５６に進み、ノードIDが３のノードのスピード、Ｓ１００は、Ｓ１よりも小さいか否かが判断される。いまの場合、Ｓ１は、ステップＳ５７で設定されたＳ２００であるので、ステップＳ５６の処理により、ステップＳ５７へと進む。
【００８３】
ステップＳ５７において、ノードIDが３のスピード、Ｓ１００が、新たなＳ１として設定される。そして、ステップＳ５８において、ノードIDが３のノードの親ノードIDである４が、新たなtopの値として設定される。この新たなtopの値４に対して、ステップＳ５３以下の処理が繰り返される。
【００８４】
ステップＳ５３において、top＝４、ｎ＝４なので、top＜ｎではないと判断され、ステップＳ５９へと進む。ステップＳ５９において、nodeの値がｎ、すなわち４に設定される。ステップＳ６０における判断は、いまの場合、node＝４、top＝４なので、node＜＝topの関係であると判断され、ステップＳ６１に進む。ステップＳ６１において、ノードIDがnodeであるノードのスピードがＳ１００であるか否かが判断されるわけだが、この場合、node＝４であり、ノードIDが４のノードのスピードはＳ２００なので、Ｓ１００ではないと判断され、ステップＳ６３に進む。
【００８５】
ステップＳ６３において、ノードIDが４のノードのスピード、Ｓ２００が、Ｓ２よりも小さいか否かが判断される。いまの場合、Ｓ２はステップＳ４９で設定されたＳ４００となっているので、Ｓ２よりも小さいと判断され、ステップＳ６４に進む。ステップＳ６４において、Ｓ２のスピードがノードIDが４のノードのスピードＳ２００に設定される。そして、ステップＳ６５に進み、ノードIDがnodeの親ノードIDが、新たなnodeの値とされるわけだが、いまの場合、ノードIDが４の親ノードID、５が、新たなnodeの値として設定される。
【００８６】
新たに値が設定されたnodeに対してステップＳ６０以下の処理が繰り返される。この場合、node＝５、top＝４なので、node＜＝ｎの関係にはないと判断され、ステップＳ６６に進む。ステップＳ６６において、Ｓ１とＳ２の大小関係が判断される。この場合、Ｓ１はステップＳ５７で設定されたＳ１００であり、Ｓ２はステップＳ６４で設定されたＳ２００である。従って、ステップＳ６６において、Ｓ１の方がＳ２よりも小さい（Ｓ１＜Ｓ２）と判断され、ステップＳ６７に進む。
【００８７】
ステップＳ６７において、LSpeedがＳ１００と設定される。このようにして、ノードIDが２のノードと、ノードIDが４のノードとの間での、データ転送スピードが設定される。
【００８８】
次に、コンフィギュレーション（Configuration）ROM内に存在するノードユニークIDの読み出しについて説明する。ノードユニークIDは、図１３に示したようなフォーマット形式をもち、このフォーマットの内、２４ビットで構成される”node Vendor ID”、８ビットで構成される”chip id hi”、および３２ビットで構成される”chip id lo”により、そのノード（機器）のベンダーや機種などのデータを示している。
【００８９】
このようなノードユニークIDを、ＣＳチューナ１のCPU１２は、図１４のフローチャートに従って、読み出す。まずステップＳ７１において、ノード番号Ｎが０に設定される。ステップＳ２において、ステップＳ７１で設定されたノード番号Ｎ、または後述するステップＳ７４で設定されたノード番号ＮをもつノードのSelf IDパケットのフィールドＬ（図５）が１であるか否かが判断される。Self IDパケットのフィールドＬが１であると言うことは、リンク層が動作していることを示している。リンク層が動作している場合は、そのノードとリンク層を介して通信を行うことが可能である。
【００９０】
ステップＳ７２において、Self IDパケットのフィールドＬが１であると判断された場合、ステップＳ７３に進む。ステップＳ７３において、Self IDパケットのフィールドＬが１であると判断されたノードのノードユニークIDをコンフィギュレーションROMから読み出す。読み出しが終了した場合、もしくはステップＳ７２において、Self IDパケットのフィールドＬが１ではないと判断された場合、ステップＳ７４に進み、ノード番号Ｎが１だけインクリメントされる。
【００９１】
ステップＳ７５において、ノード番号Ｎが総ノード数と同数であるか否かが判断される。総ノード数と同数ではないと判断された場合、ステップＳ７２に戻り、それ以降の処理が繰り返される。一方、ステップＳ７５において、ノード番号Ｎが総ノード数と同数であると判断された場合、換言すれば、全てのノードに対して、このフローチャートの処理を行ったと判断された場合、このフローチャートの処理は終了される。このように読み出されたノードユニークIDのデータは、RAM１３に記憶される。
【００９２】
次に、ユーザがバス上に接続されている２つの機器を選択し、その選択された機器間において、データの送受信をさせる場合のＣＳチューナ１の処理について、図１５のフローチャートを参照して説明する。まずステップＳ８１において、ユーザが、機器を接続する際に、モニタ２上に表示される画面を表示させるための、所定の操作をする。その操作に対応して、ＣＳチューナ１は、ステップＳ８２において、まず、ノードユニークIDから、バスに接続されている機器名とメーカ名を決定する。この決定は、図１４で説明したフローチャートに基づいて、既に読み出され、RAM１３に記憶されているデータにより行われる。
【００９３】
ステップＳ８２における決定に基づいて、ＣＳチューナ１のCPU１２は、ステップＳ８３において、ＧＵＩエンジン１４を制御して、図１６に示すような画面を、モニタ２上に表示させる。
【００９４】
図１６に示した表示画面は、図１で示した構成例に基づいて作成された画面である。データを送信する側（Output）を縦に、データを受信する側（Input）を横に、それぞれ表示している。そして、縦に表示された機器と横に表示された機器とが重なったところには、接続選択ボタン５３ａ乃至５３ｆ（以下、各接続選択ボタン５３ａ乃至ｆを個々に区別する必要がない場合、単に接続選択ボタン５３と記述する）が表示されている。この接続選択ボタン５３は、接続可能な機器間のところにしか表示されないので、例えば、OutputがＣＳチューナで、InputもＣＳチューナというところには表示されていない。
【００９５】
ユーザは、接続したい機器間のところに表示されている接続選択ボタン５３を、カーソル５１を操作して選択する。その選択で良ければ、コマンドボタン５２の”選択”を、同じくカーソル５１により操作する。このことにより、機器間の接続の選択は終了される。また、選択をし直した場合などは、コマンドボタン５２の”戻る”が、操作される。
【００９６】
ステップＳ８４において、ユーザの操作に対応して、カーソルの移動処理が行われる。その一方で、ステップＳ８５において、接続選択ボタン５３またはコマンドボタン５２が操作されたか否かが判断される。いずれかのボタンが操作されるまで、ステップＳ８４とステップＳ８５の処理は繰り返される。そして、ステップＳ８５において、いずれかのボタンが操作されたと判断された場合、ステップＳ８６に進む。
【００９７】
ステップＳ８６においては、操作されたボタンがコマンドボタン５２の”戻る”のボタンであるか否かが判断される。”戻る”のボタンが操作されたと判断された場合、ステップＳ８７に進み、所定の処理が行われた後、このフローチャートの処理は終了される。
【００９８】
一方、ステップＳ８６において、操作されたボタンは、コマンドボタン５２の”戻る”のボタンではないと判断された場合、ステップＳ８８に進む。ステップＳ８８において、操作されたボタンの色が反転される。勿論、色を反転させるのでは無く、他の色を用いたり、点滅させたりする処理でも良い。図１６の表示例では、接続選択ボタン５３ａと５３ｄが選択され、他の接続選択ボタンｂ，ｃ，ｅ，ｆとは、色が反転されて表示されている。
【００９９】
ステップＳ８８において、選択されたボタン、この場合、接続選択ボタン５３内のボタンが、色を反転されて表示されたら、ステップＳ８９に進む。ステップＳ８９において、選択されたボタンの入力機器と出力機器とに関するデータが、RAM１３に記憶される。例えば、図１６の表示例では、選択接続ボタン５３ａと５３ｄが選択されているので、RAM１３には、まず第１の関係として出力機器としてＣＳチューナ１、それに対する入力機器がVTR３であり、第２の関係として出力機器としてVTR３、それに対する入力機器がVTR４であるという、２つの入力機器と出力機器とが、その関係と共に記憶される。
【０１００】
ステップＳ８９における処理が終了された場合、ステップＳ９０に進み、コマンドボタン５２の”設定”が操作されたか否かが判断される。”設定”が操作されるまで、ステップＳ８４に戻り、それ以降の処理が繰り返される。そして、ステップＳ９０において、コマンドボタン５２の”設定”が操作されたと判断された場合、このフローチャートの処理（機器間の接続設定の処理）は終了される。
【０１０１】
このように接続が設定された機器間において、実際にデータを送受信させるようにするために、ＣＳチューナ１が行う処理を、図１７のフローチャートを参照して説明する。まず設定接続ボタン５３ａに対する接続処理が行われる。ステップＳ１０１において、Input Plug Noの設定が行われる。この設定は、図４のステップＳ６で調べられた、各機器のプラグ番号を用いて設定される。すなわち、VTR３のプラグ番号のうち、Inputプラグとして使用できる番号が設定される。
【０１０２】
ステップＳ１０２において、データの出力元のノードのPhysical IDが設定される。この場合、ＣＳチューナ１のPhysical IDである。そして、ステップＳ１０３において、Output Plug Noの設定が行われる。この場合、ＣＳチューナ１の出力用のプラグナンバである。
【０１０３】
ステップＳ１０４において、データ転送スピードの設定が行われる。このデータ転送スピードは、図１１と図１２のフローチャートを参照して説明した処理で、既に決定され、RAM１３に記憶されているので、その記憶されているデータを用いる。この場合、ＣＳチューナ１とVTR３の間でのデータ転送スピードである。
【０１０４】
ステップＳ１０５において、次のペア（入力機器と出力機器）があるか否かが判断される。この場合、接続選択ボタン５３ｄで選択されたVTR３とVTR４とのペアがあるので、ステップＳ１０１に戻り、それ以降の処理が繰り返される。
【０１０５】
ステップＳ１０１において、Input Plug Noとして、VTR４のプラグナンバが設定される。ステップＳ１０２において、データの出力先であるVTR４のPhysical IDが設定される。上述したＣＳチューナ１とVTR３との接続を設定する時は、データの出力元であるＣＳチューナ１のPhysical IDが設定された。このように、接続される機器間により、データの出力先のPhysical IDが設定されるのか、データの出力元のPhysical IDが設定されるのかは異なり、詳細については後述する。
【０１０６】
ステップＳ１０３において、Output Plug Noとして、VTR３の出力用のプラグナンバが設定される。ステップＳ１０４において、VTR３とVTR４の間でのデータ転送スピードの設定が行われる。そして、ステップＳ１０５において、次のペアがあるか否かが判断されるわけだが、この場合、上述した機器間以外のペアは設定されていないので、次のペアはないと判断され、このフローチャートの処理は終了される。
【０１０７】
このように、接続機器間毎に設定された情報を、ＣＳチューナ１は、VTR３に対して送信する際、図１８に示したようなデフォルトコネクションコマンド（Default Connection Command）を用いて行う。opecodeにおいて、デフォルトコネクションのコマンドであることを示し、Operand「０」は、サブファンクション（subfunction）を示し、Operand「１」は、プラグナンバ（Plug No）を示し、Operand「２」乃至「ｎ」は、プラグタイプ（Plug type dependent field）を示している。
【０１０８】
Operand「０」のサブファンクションには、図１９に示すようなデータが書き込まれている。すなわち、Outputプラグをセットアップする、Outputプラグを保護設定してセットアップする、セットアップしたOutputプラグを解除するなどである。また同様に、Inputプラグについても定義されている。
【０１０９】
Operand「１」のプラグナンバは、コントロールの対象となるプラグを指定する。この指定は、図２０に示した表に従って、定義されている。このプラグナンバでより設定されたプラグタイプで、Operand「２」以降のプラグタイプフィールドのフォーマットが決定される。
【０１１０】
Operand「２」乃至「ｎ」のプラグタイプフィールドは、図２１に示す表により定義される。ここは、上述したように、プラグタイプにより決定されるフィールドである。Operand「２」は、データレイトを指定するフィールドであり、図２２に示す表により定義される。また、Operand「２」「３」は、node idでコネクションを設定する際に相手とプラグを持つノードのnode idを指定する。Operand「５」は、コネクションを設定する際に、Operand「１」で指令されたプラグの相手となるプラグのプラグナンバを指定する。プラグナンバは、Operand「１」の規定に従う。また、両プラグは、同じでなくてはならず、一方がInputプラグであり、他方がOutputプラグになる。
【０１１１】
IEEE1394においては、バスリセットが起こると、それ以前に設定してあったデフォルトコネクションは、全てクリアされる。図２３に示すデフォルトコネクションステイタスコマンド（Default Connection Status Command）は、プラグに対してデフォルトコネクションの設定状態を応答する際に用いられる。
【０１１２】
このようなフォーマットをもつコマンドが受信された場合、受信した機器は、図２４に示すようなフォーマットをもつデフォルトコネクションリスポンス（Default Connection Response）を、コマンドを送信してきた機器に対して送信する。プラグが設定されている場合には、Subfunctionに、対応するコードとして、図１９に示した、Output Plug Setup，Output Plug Setup with Lock，Input Plug Setup，Input Plug Setup with Lockが書き込まれ、Plug type dependent fieldには、そのパラメータが書き込まれている。
【０１１３】
プラグが設定がされていない場合は、Subfunctionに、対応するコードとして図１９に示した、Output Plug Clear，Input Plug Clearが書き込まれ、Plug type dependent fieldは値ＦＦｈが設定される。
【０１１４】
このようなデフォルトコネクションコマンドを用いて、上述したＣＳチューナ１とVTR３、およびVTR３とVTR４との接続は行われる。まず、ＣＳチューナ１とVTR３との接続について、具体的に図２５を参照して説明する。ここでは、ＣＳチューナ１のPhysical IDを「０ＸＦＦＣ０」とし、VTR３のPhysical IDを「０ＸＦＦＣ１」とする。
【０１１５】
この接続では、ＣＳチューナ１からデータが出力され、VTR３が、そのデータを入力するような接続であるので、ＣＳチューナ１には、Outputプラグが設定され、VTR３にはInputプラグが設定される。このようにプラグを設定し、接続するために、図２５（Ａ）の例では、デフォルトコネクションコマンドとして、（Plug０，Ｓ２００，０ＸＦＦＣ０，Plug０，Ｕ）が、ＣＳチューナ１からVTR３へと伝送される。
【０１１６】
このデフォルトコネクションコマンドは、Input Plug Setupを用いておこなわれているので、その配列は（Input Plug No，データ転送スピード，データ出力元のPhysical ID，Output Plug No，Lock／Unlock）の順となっている。このようなコマンドの各データは、上述した図１５に示したフローチャートに基づいて、ＣＳチューナ１において設定され、VTR３に対して伝送される。すなわち、”Input Plug No”は、ステップＳ１０１において設定される、VTR３の入力プラグナンバであり、”データ転送スピード”は、ステップＳ１０４において、設定され、既に図１１と図１２のフローチャートの処理により、求められている、ＣＳチューナ１とVTR３との間でのデータ伝送スピードである。
【０１１７】
”データ出力元のPhysical ID”は、ステップＳ１０２で設定されるＣＳチューナ１のPhysical IDであり、このPhysical IDが設定される際、出力先のPhysical IDか、出力元のPhysical IDかも設定される。換言すれば、Operand「０」に書き込まれるデータも設定される。”Output Plug No”は、ステップＳ１０３で設定される、ＣＳチューナ１の出力プラグナンバである。”Lock／Unlock”は、このデフォルトコネクションコマンドで設定されたパラメータを保護するか否かを示すデータである。
【０１１８】
VTR３は、このようなデフォルトコネクションコマンドを受信すると、そのコマンドを受信したという、ACCEPT信号をＣＳチューナ１に対して返信する。このことにより、VTR３は、Point to Point Connectionを設定し、図２５（Ｂ）に示したように、ＣＳチューナ１に Output Plug ０ が設定され、そのプラグに対して、VTR３に Input Plug ０ が設定される。そして、この機器間においては、設定されたプラグを用いてデータの授受が行われる。
【０１１９】
次に、図２６を参照して、VTR３とVTR４との接続について説明する。この場合、VTR３がデータを出力し、VTR４（Physical IDは、０ＸＦＦＣ２とする）がそのデータを入力するので、VTR３にはOutputプラグが設定され、VTR４にはInputプラグが設定される。このようにプラグが設定されるために、ＣＳチューナ１は、デフォルトコネクションコマンドとして、（Plug１，Ｓ４００，０ＸＦＦＣ２，Plug３，Ｕ）をVTR３に対して伝送する。
【０１２０】
このデフォルトコネクションコマンドは、Output Plug Setup（Operand「０」に書き込まれるデータ）により行われる。従って、上述したコマンドの配列は、（Output Plug No，データ転送スピード，データ出力先のPhysical ID，Input Plug No，Lock／Unlock）の順となっている。このようなコマンドをVTR３が受信すると、ACCEPT信号をＣＳチューナ１に対して送信する。そして、VTR３は、受信したコマンドに従い、Point to Point Connectionを設定する。
【０１２１】
すなわち、VTR３は、自分自身にOutput Plug１を設定し、VTR４（Physical IDが０ＸＦＦＣ２）にInput Plug３を設定させる。そして、これらの機器間でのデータ転送スピードは、Ｓ４００である。また、この接続においては、デフォルトコネクションのパラメータは、保護されていない（Unlock）。
【０１２２】
次に、デフォルトコネクションのパラメータが保護された場合の例を、図２７を参照して説明する。ＣＳチューナ１から、デフォルトコネクションコマンドとして、（Plug１，Ｓ４００，０ＸＦＦＣ４，Plug３，Ｌ）が、Output Plug Setup with Lockにより、VTR３に対して伝送される。ここでは、Physical IDとして０ＸＦＦＣ４をもつコントローラが存在している。
【０１２３】
上述したデフォルトコネクションコマンドは、VTR３にOutputプラグ１を設定し、コントローラにInputプラグ１を設定し、その間でのエータ転送スピードはＳ４００で行うことを指定し、これらのパラメータを保護（Lock）することを指示している。従って、図２７（Ｂ）に示したように、コントローラからVTR３に対して、新たにOutputプラグを設定しろという、例えば、（Plug０，Ｓ１００，０ＸＦＦＣ２，Plug０，Ｕ）というデフォルトコネクションコマンドが送信されたとしても、VTR３はそのコマンドを受け入れられない（Reject）という信号が、コントローラに対して送信される。
【０１２４】
上述したように、ＣＳチューナ１からVTR３に対してデフォルトコネクションコマンドを送信し、そのコマンドを基づいてVTR３がPoint to Point Connectionを張るわけだが、このVTR３の動作について、図２８のフローチャートを参照して説明する。
【０１２５】
まずステップＳ１１１において、ユーザがVTR３のを操作し、入出力の設定を、デジタル入力に設定する。デジタル入力と設定が行われると、ステップＳ１１２において、アイソクロナス通信を行うために、チャンネルを取得する。このチャンネルは、接続先と同じ番号が設定される。そして、ステップＳ１１３において、指定されたデータ転送スピードにより、アイソクロナス通信に必要な帯域を計算し、計算されただけの帯域を取得する。
【０１２６】
ステップＳ１１４において、ＣＭＰ（Connection Management Protocol）に基づくPoint to Point  Connectionを設定する。このようにして、VTR３は、このようにして、ＣＳチューナ１とVTR４に対して、ＣＳチューナ１が送信してきたデフォルトコネクションコマンドのパラメータに従って、コネクションを設定する。このようにコネクションが張られることにより、データの授受が可能となる。
【０１２７】
次に、図１６に示したモニタ２の表示画面から、ユーザが接続する機器を選択し、選択された機器にデフォルトコネクションコマンドが送信され、そして、コネクションが設定されるまでの処理を、図２９乃至図３３を参照して説明する。
【０１２８】
図１６に示した画面から、ユーザが接続機器として、ＣＳチューナ１とVTR３、VTR３とVTR４との接続を、それぞれ設定したとすると、まずＣＳチューナ１において、上述したデフォルトコネクションコマンドのパラメータを設定し、VTR１に送信する。図２９では、ＣＳチューナ１は、デフォルトを送信する側なので、デフォルトの指定はされていない。VTR３には、ＣＳチューナ１から送信されたデフォルト指定が設定されている。また同様にVTR４にも、ＣＳチューナ１からのデフォルト指定が設定されている。
【０１２９】
図３０において、VTR３が、デジタル入力に切り換えられると、VTR３は、デフォルト指定の欄に設定されている通信相手（ＣＳチューナ１）とPoint to Point Connectionを張る。コネクションを張る際、チャンネルと帯域が取得される。図３０の例では、チャンネルとして６２が設定されている。ＣＳチューナ１は、データを出力する側なので、OPCR（Output Plug Control Register）の欄に６２が設定される。VTR３はデータを入力する側なので、IPCR（Input Plug Control Register）の欄に６２が設定される。
【０１３０】
さらに、図３１において、VTR４もデジタル入力に切り換えられると、VTR３が行った動作と同様の動作により、VTR３とコネクションを張る。この場合、VTR３のOPCRの欄に６１設定され、VTR２のIPCRの欄にも６１が設定される。このように設定されることにより、ＣＳチューナ１からの出力されたデータは、VTR３で受信可能な状態となり、VTR３から出力されたデータは、VTR４で入力可能な状態とされる。
【０１３１】
さらに図３２において、VTR３のデジタル入力の設定を、ユーザが解除したとする。この解除に従って、VTR３は、ＣＳチューナ１との間に張られていたコネクションを解除する。この際、チャンネルと帯域も解放する。従って、ＣＳチューナ１から出力されたデータは、VTR３には入力されなくなる。
【０１３２】
さらに、図３３において、VTR４のデジタル入力の設定も解除された場合、VTR３との間に張られていたコネクションも解除される。
【０１３３】
このように、ＣＳチューナ１が、接続の際に必要となるパラメータを設定し、必要に応じ、そのパラメータを必要とする機器に送信し、さらにパラメータを受信した機器は、そのパラメータに応じて、機器間の間にコネクションを張るようにしたので、機器間の接続の処理が軽減させることが可能となる。
【０１３４】
なお、本明細書中において、上記処理を実行するコンピュータプログラムをユーザに提供する提供媒体には、磁気ディスク、CD-ROMなどの情報記録媒体の他、インターネット、デジタル衛星などのネットワークによる伝送媒体も含まれる。
【０１３５】
【発明の効果】
請求項１に記載の情報処理システム、請求項５に記載の情報処理方法、および請求項６に記載の提供媒体によれば、第１の情報処理装置は、第２の情報処理装置と他の情報処理装置とを接続するために必要なパラメータを第２の情報処理装置に送信し、第２の情報処理装置は、受信されたパラメータに基づいて、他の情報処理装置との間に帯域とチャンネルを確保するようにしたので、装置間の接続処理を軽減することが可能となる。
【図面の簡単な説明】
【図１】本発明の情報処理装置を適用した情報処理システムの一実施の形態の構成を示す図である。
【図２】ＣＳチューナの内部構成を示すブロック図である。
【図３】  VTRの内部構成を示すブロック図である。
【図４】バスリセット時の処理を説明するフローチャートである。
【図５】  Self IDパケットの構成の例を示す図である。
【図６】  Self IDパケットの構成要素を説明する図である。
【図７】木構造の解析処理を説明するフローチャートである。
【図８】ＣＳチューナのRAMに記憶されるデータを示す図である。
【図９】バスの木構造を説明する図である。
【図１０】ホップ数を求める処理を説明するフローチャートである。
【図１１】データ転送スピードの決定処理を説明するフローチャートである。
【図１２】図９に続くフローチャートである。
【図１３】ノードユニークIDの構成を説明する図である。
【図１４】ノードユニークIDの読み出し処理を説明するフローチャートである。
【図１５】機器間の接続設定処理を説明するフローチャートである。
【図１６】モニタ２上に表示される画面の表示例である。
【図１７】ＣＳチューナが行う接続設定処理を説明するフローチャートである。
【図１８】デフォルトコネクションコマンドのフォーマットを示す図である。
【図１９】  Subfunctionフィールドを説明する図である。
【図２０】  Operand「１」に記載されるデータを説明する図である。
【図２１】  Operand「２」に記載されるデータを説明する図である。
【図２２】データレイトの内容を説明する図である。
【図２３】デフォルトコネクションのステイタスコマンドのフォーマットを説明する図である。
【図２４】デフォルトコマンドのレスポンスのフォーマットを説明する図である。
【図２５】デフォルトコネクションコマンドを用いたコネクションの張り方を説明する図である。
【図２６】デフォルトコネクションコマンドを用いた他のコネクションの張り方を説明する図である。
【図２７】デフォルトコネクションコマンドを用いたさらに他のコネクションの張り方を説明する図である。
【図２８】  VTR３が行うコネクションを張る処理を説明するフローチャートである。
【図２９】ＣＳチューナ、VTR３、およびVTR４の動作を説明する図である。
【図３０】ＣＳチューナ、VTR３、およびVTR４の動作を説明する図である。
【図３１】ＣＳチューナ、VTR３、およびVTR４の動作を説明する図である。
【図３２】ＣＳチューナ、VTR３、およびVTR４の動作を説明する図である。
【図３３】ＣＳチューナ、VTR３、およびVTR４の動作を説明する図である。
【符号の説明】
１  ＣＳチューナ，  ２  モニタ，  ３，４  VTR，  ５  1394バス，  １１ＣＳチューナメイン部，  １２  CPU，  １３  RAM，  １４  ＧＵＩエンジン，  ５１  カーソル，  ５２  コマンドボタン，  ５３  接続選択ボタン
【図１】
0003894252.tif 000002
【図２】
0003894252.tif 000003
【図３】
0003894252.tif 000004
【図４】
0003894252.tif 000005
【図５】
0003894252.tif 000006
【図６】
0003894252.tif 000007
【図７】
0003894252.tif 000008
【図８】
0003894252.tif 000009
【図９】
0003894252.tif 000010
【図１０】
0003894252.tif 000011
【図１１】
0003894252.tif 000012
【図１２】
0003894252.tif 000013
【図１３】
0003894252.tif 000014
【図１４】
0003894252.tif 000015
【図１５】
0003894252.tif 000016
【図１６】
0003894252.tif 000017
【図１７】
0003894252.tif 000018
【図１８】
0003894252.tif 000019
【図１９】
0003894252.tif 000020
【図２０】
0003894252.tif 000021
【図２１】
0003894252.tif 000022
【図２２】
0003894252.tif 000023
【図２３】
0003894252.tif 000024
【図２４】
0003894252.tif 000025
【図２５】
0003894252.tif 000026
【図２６】
0003894252.tif 000027
【図２７】
0003894252.tif 000028
【図２８】
0003894252.tif 000029
【図２９】
0003894252.tif 000030
【図３０】
0003894252.tif 000031
【図３１】
0003894252.tif 000032
【図３２】
0003894252.tif 000033
【図３３】
0003894252.tif 000034