(57)【要約】【課題】シリアルバスを介して接続されている他の電子機器との間で通信を行う電子機器に関して、ネットワーク特性を考慮することにより、当該他の電子機器への要求に対する当該他の電子機器からの応答に係るタイムアウトが発生する可能性を低減すること。【解決手段】シリアルバスを介して接続されている他の電子機器との間で通信を行う電子機器であって、当該他の電子機器への要求に対する当該他の電子機器からの応答に係るタイムアウト時間を、ネットワーク特性に応じて変化させることを特徴とする電子機器。【選択図】　　図３
2004104687.tif 000002
【特許請求の範囲】
【請求項１】
シリアルバスを介して接続されている他の電子機器との間で通信を行う電子機器であって、当該他の電子機器への要求に対する当該他の電子機器からの応答に係るタイムアウト時間を、ネットワーク特性に応じて変化させることを特徴とする電子機器。
【請求項２】
前記シリアルバスは、ＩＥＥＥ１３９４シリアルバスであることを特徴とする請求項１に記載の電子機器。
【請求項３】
前記通信は、ＳＢＰ−２規格又はＳＢＰ−３規格に準拠した通信であることを特徴とする請求項２に記載の電子機器。
【請求項４】
前記要求は、ログイン要求であることを特徴とする請求項３に記載の電子機器。
【請求項５】
前記ネットワーク特性は、当該電子機器と当該他の電子機器との間のケーブルホップ数であることを特徴とする請求項１乃至４のいずれか１項に記載の電子機器。
【請求項６】
前記ネットワーク特性は、当該電子機器と当該他の電子機器との間の通信速度であることを特徴とする請求項１乃至４のいずれか１項に記載の電子機器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子機器に関する。
【０００２】
【従来の技術】
ＩＥＥＥ１３９４規格は、デジタルデータ通信用のシリアルバス規格である。ＩＥＥＥ１３９４規格は、１９９５年に「ＩＥＥＥ１３９４−１９９５規格」として承認され、これを補足・拡張するための「Ｐ１３９４ａ規格」や「Ｐ１３９４ｂ規格」が規格化されている。なお、ＩＥＥＥ１３９４規格に係るシリアルバスは「ＩＥＥＥ１３９４シリアルバス」と呼ばれる。
【０００３】
図１は、ＩＥＥＥ１３９４規格に係るシステムを表す。ノード１１はＩＥＥＥ１３９４規格に準拠した電子機器であり、シリアルバス１２（ＩＥＥＥシリアルバス）はＩＥＥＥ１３９４規格に準拠したケーブルである。すなわち、電子機器同士がケーブルを介して接続されている。なお、上記ケーブルの接続端子は「４ピン」「６ピン」等のコネクタである。
【０００４】
図２は、ＩＥＥＥ１３９４規格に係るプロトコルを表す。ＩＥＥＥ１３９４規格に係るプロトコルは、物理層２１と、リンク層２２と、トランザクション層２３と、上記３層を管理するシリアルバス管理２５により構成される。物理層２１とリンク層２２はハードウェアであり、トランザクション層２３とシリアルバス管理２５はファームウェアである。なお、上記３層の上位層としてアプリケーション層２４が存在する。
【０００５】
物理層２１は「バス初期化」「ツリー認識」「自己認識」等のバスリセットの際のバスコンフィグレーションに係る処理や「アービトレーション」等のパケット転送の際のバス獲得に係る処理などに関与する。リンク層２２は「アイソクロナス転送」「アシンクロナス転送」「アシンクロナスストリーム」等のパケット転送に係る処理などに関与する。トランザクション層２３は「Ｒｅａｄ」「Ｗｒｉｔｅ」「Ｌｏｃｋ」等の命令に係る処理などに関与する。
【０００６】
アプリケーション層２４については、ＩＥＥＥ１３９４規格では規格化されていない。そのため、アプリケーション層２４については、例えば「ＳＢＰ−２規格」や「ＳＢＰ−３規格」として規格化されている。ＳＢＰ−２規格では、イニシエータ（命令を出すノード）やターゲット（命令を受けるノード）に係る処理などについて規格化されている。
【０００７】
シリアルバス管理２５は、バスマネージャと、アイソクロナスリソースマネージャと、ノードコントローラにより構成される。バスマネージャは「トポロジマップの提供」「スピードマップの提供」等のバス管理を行う。アイソクロナスリソースマネージャは「アイソクロナス帯域の割付」「チャネル番号の割付」等のアイソクロナス資源管理を行う。ノードコントローラはノード制御を行う。
【０００８】
最後にＩＥＥＥ１３９４規格の利点を挙げる。第１の利点として、アイソクロナス転送による「リアルタイム性の保証」が挙げられる。第２の利点として、電源をＯＮにしたままで抜き挿しできるという「Ｈｏｔ　Ｐｌｕｇ　Ｉｎ」が挙げられる。第３の利点として、抜き挿しに応じてバスコンフィグレーションが自動的に実行されるという「Ｐｌｕｇ　＆　Ｐｌａｙ」が挙げられる。
【０００９】
【発明が解決しようとする課題】
ここで、図１のようにＩＥＥＥ１３９４規格に準拠した電子機器により構成されるシステムであって、当該電子機器同士の間でＳＢＰ−２規格に準拠した通信を行うシステムについて考察する。
【００１０】
ＩＥＥＥ１３９４規格に準拠した電子機器はそれぞれコンフィグレーションＲＯＭを備えており、当該電子機器同士の間でＳＢＰ−２規格に準拠した通信を行うためには、イニシエータがターゲットのコンフィグレーションＲＯＭにアクセスして、イニシエータがターゲットに「ログイン」する必要がある。すなわち、イニシエータがＯＲＢ（Ｏｐｅｒａｔｉｏｎ　Ｒｅｑｕｅｓｔ　Ｂｌｏｃｋ）を作成して、イニシエータがターゲットにログイン要求（コマンド）を出す必要がある。これに対して、ターゲットがイニシエータに応答（レスポンス）を出す。
【００１１】
このレスポンスに関しては「タイムアウト」が存在する。このタイムアウトに係る「タイムアウト時間」は、ターゲットのコンフィグレーションＲＯＭの「ｍｇｔ＿ＯＲＢ＿ｔｉｍｅｏｕｔ」に記載された値により規定される。なお、この値は、５００ｍｓｅｃ単位で記載することができる。
【００１２】
さて、レスポンスに係るタイムアウトが発生する可能性はなるべく低いことが望ましい。しかし、レスポンスに係るタイムアウトが発生する可能性は「ネットワーク特性」に応じて変化するという問題がある。例えば、イニシエータとターゲットとの間のケーブルホップ数が多い場合や、イニシエータとターゲットとの間の通信速度が遅い場合には、一般的に言って、レスポンスに係るタイムアウトが発生する可能性が高くなる。そこで我々は、レスポンスに係るタイムアウトが発生する可能性をなるべく低減するためには、ネットワーク特性を考慮することが重要であることに着目した。
【００１３】
したがって、本発明は、シリアルバスを介して接続されている他の電子機器との間で通信を行う電子機器に関して、ネットワーク特性を考慮することにより、当該他の電子機器への要求に対する当該他の電子機器からの応答に係るタイムアウトが発生する可能性を低減することを課題とする。
【００１４】
【課題を解決するための手段】
請求項１に記載の発明（電子機器）は、シリアルバスを介して接続されている他の電子機器との間で通信を行う電子機器であって、当該他の電子機器への要求に対する当該他の電子機器からの応答に係るタイムアウト時間を、ネットワーク特性に応じて変化させることを特徴とする。
【００１５】
請求項２に記載の発明（電子機器）は、請求項１に記載の発明（電子機器）に関して、前記シリアルバスは、ＩＥＥＥ１３９４シリアルバスであることを特徴とする。
【００１６】
請求項３に記載の発明（電子機器）は、請求項２に記載の発明（電子機器）に関して、前記通信は、ＳＢＰ−２規格又はＳＢＰ−３規格に準拠した通信であることを特徴とする。
【００１７】
請求項４に記載の発明（電子機器）は、請求項３に記載の発明（電子機器）に関して、前記要求は、ログイン要求であることを特徴とする。
【００１８】
請求項５に記載の発明（電子機器）は、請求項１乃至４のいずれか１項に記載の発明（電子機器）に関して、前記ネットワーク特性は、当該電子機器と当該他の電子機器との間のケーブルホップ数であることを特徴とする。
【００１９】
請求項６に記載の発明（電子機器）は、請求項１乃至４のいずれか１項に記載の発明（電子機器）に関して、前記ネットワーク特性は、当該電子機器と当該他の電子機器との間の通信速度であることを特徴とする。
【００２０】
請求項１乃至４のいずれか１項に記載の発明（電子機器）では、シリアルバスを介して接続されている他の電子機器との間で通信を行う電子機器に関して、当該他の電子機器への要求に対する当該他の電子機器からの応答に係るタイムアウト時間を、ネットワーク特性に応じて変化させることにより、当該他の電子機器への要求に対する当該他の電子機器からの応答に係るタイムアウトが発生する可能性を低減することができる。
【００２１】
特に、請求項５に記載の発明（電子機器）では、当該電子機器と当該他の電子機器との間のケーブルホップ数に応じて変化させることにより、当該電子機器と当該他の電子機器との間のケーブルホップ数が多い場合に、レスポンスに係るタイムアウトが発生する可能性が高くなる問題に対応することができる。
【００２２】
特に、請求項６に記載の発明（電子機器）では、当該電子機器と当該他の電子機器との間の通信速度に応じて変化させることにより、当該電子機器と当該他の電子機器との間の通信速度が遅い場合に、レスポンスに係るタイムアウトが発生する可能性が高くなる問題に対応することができる。
【００２３】
【発明の実施の形態】
本発明の実施の形態について説明する。
【００２４】
図３は、ＩＥＥＥ１３９４規格に係るシステムを表す。ノード１１はＩＥＥＥ１３９４規格に準拠した電子機器であり、シリアルバス１２（ＩＥＥＥシリアルバス）はＩＥＥＥ１３９４規格に準拠したケーブルである。
【００２５】
図３のシステムにおいて、ノード１１同士の間ではＳＢＰ−２規格に準拠した通信が行われる。ここでは、図３の「ノード１１Ａ」と「ノード１１Ｂ」と「ノード１１Ｃ」が、それぞれ「第１イニシエータ３１」と「第２イニシエータ３２」と「ターゲット３３」である場合について説明する。なお、第１イニシエータ３１（ノード１１Ａ）に係る電子機器と、第２イニシエータ３２（ノード１１Ｂ）に係る電子機器が、それぞれ本発明の実施の形態の例となる。
【００２６】
さて、イニシエータに関して、ターゲットとの間のケーブルホップ数が多い場合や、ターゲットとの間の通信速度が遅い場合には、一般的に言って、ターゲットへのログイン要求（コマンド）に対するターゲットからの応答（レスポンス）に係る「タイムアウト」が発生する可能性は高くなる。
【００２７】
ケーブルホップ数に関して、図３のシステムにおいては、第１イニシエータ３１とターゲット３３との間のケーブルホップ数に比べて、第２イニシエータ３２とターゲット３３との間のケーブルホップ数の方が多い。そのため、前者に比べて後者の方が、他のネットワーク特性が同様である限り、一般的に言ってこのタイムアウトが発生する可能性が高くなる。
【００２８】
通信速度に関して、ＩＥＥＥ１３９４規格では、Ｓ１００（１００Ｍｂｐｓ）とＳ２００（２００Ｍｂｐｓ）とＳ４００（４００Ｍｂｐｓ）という通信速度をサポートしている。そのため、図３のシステムにおいて、第１イニシエータ３１とターゲット３３との間の通信速度がＳ１００しか得られない場合、Ｓ２００やＳ４００も得られる場合に比べて、他のネットワーク特性が同様である限り、一般的に言ってこのタイムアウトが発生する可能性が高くなる。
【００２９】
そこで、図３のシステムにおいては、イニシエータが、ターゲットへのログイン要求（コマンド）に対するターゲットからの応答（レスポンス）に係る「タイムアウト時間」を、ターゲットとの間のケーブルホップ数やターゲットとの間の通信速度の応じて変化させることにする。これにより、ターゲットへのログイン要求（コマンド）に対するターゲットからの応答（レスポンス）に係る「タイムアウト」が発生する可能性を低減することができる。
【００３０】
なお、ケーブルホップ数や通信速度は、それぞれトポロジマップ（図４参照）やスピードマップ（図５参照）を利用して得ることができる。また、上記のタイムアウト時間は、ターゲットのコンフィグレーションＲＯＭの「ｍｇｔ＿ＯＲＢ＿ｔｉｍｅｏｕｔ」に記載された値により規定される。この「ｍｇｔ＿ＯＲＢ＿ｔｉｍｅｏｕｔ」は、コンフィグレーションＲＯＭのＵｎｉｔ　Ｄｉｒｅｃｔｏｒｙ　エントリの１つであるＵｎｉｔ　Ｃｈａｒａｃｔｅｒｉｓｔｉｃｓ　ｅｎｔｒｙ（図６参照）の中に存在する。そして、図３のシステムにおいては、ターゲットの「ｍｇｔ＿ＯＲＢ＿ｔｉｍｅｏｕｔ」に記載された値に対して、イニシエータが重みを乗じることにより、タイムアウト時間を変化させる。
【００３１】
ケーブルホップ数に関して、図３のシステムにおいては、第１イニシエータ３１とターゲット３３との間のケーブルホップ数に比べて、第２イニシエータ３２とターゲット３３との間のケーブルホップ数の方が多い。そのため、例えば、前者において第１イニシエータ３１が１．０の重みを乗じることとする場合、後者において第２イニシエータ３２はこれより大きい１．２の重みを乗じることとする。ターゲット３３の「ｍｇｔ＿ＯＲＢ＿ｔｉｍｅｏｕｔ」に記載された値が５０００ｍｓｅｃである場合には、これに前者の重みを乗じるとタイムアウト時間は５０００ｍｓｅｃになり、これに後者の重みを乗じるとタイムアウト時間は６０００ｍｓｅｃになる。
【００３２】
通信速度に関して、図３のシステムにおいて、例えば、第１イニシエータ３１とターゲット３３との間の通信速度がＳ４００である場合には第１イニシエータ３１が１．０の重みを乗じることとする場合、Ｓ１００である場合には第１イニシエータ３１はこれより大きい１．４の重みを乗じることとする。ターゲット３３の「ｍｇｔ＿ＯＲＢ＿ｔｉｍｅｏｕｔ」に記載された値が５０００ｍｓｅｃである場合には、これに前者の重みを乗じるとタイムアウト時間は５０００ｍｓｅｃになり、これに後者の重みを乗じるとタイムアウト時間は７０００ｍｓｅｃになる。
【００３３】
以下、図７のフローチャート（イニシエータの動作に係るフローチャート）に基づいて、図３のシステムにおけるイニシエータの動作について説明する。
【００３４】
図３のシステムにおいて、バスリセットが発生すると（Ｓ１）、トポロジマップが変化して、イニシエータはターゲットと通信を行うためにターゲットにログインしようとする。
【００３５】
この際、イニシエータはターゲットのコンフィグレーションＲＯＭから「ｍｇｔ＿ＯＲＢ＿ｔｉｍｅｏｕｔ」を読み出す（Ｓ２）。また、トポロジマップやスピードマップを利用してケーブルホップ数や通信速度を知る（Ｓ３）。そして、ケーブルホップ数や通信速度に応じて「ｍｇｔ＿ＯＲＢ＿ｔｉｍｅｏｕｔ」に重みを乗じる（Ｓ４）。この重み付けは、ケーブルホップ数と通信速度の両方に応じて行うようにしてもよいし、片方のみに応じて行うようにしてもよい。
【００３６】
また、イニシエータはターゲットへのログイン要求（コマンド）のリトライ回数を初期化する（Ｓ５）。そして、ターゲットからの応答（レスポンス）がない場合には、イニシエータは１回に限りターゲットにログイン要求（コマンド）をリトライする（Ｓ６−Ｓ９）。すなわち、リトライに対する応答（レスポンス）がない場合には、ログイン失敗となる（Ｓ１１）。このようにして、イニシエータはターゲットにログインする（Ｓ１２）。
【００３７】
以上、本発明の実施の形態について説明したが、本発明は、上述のような「ＳＢＰ−２規格」に準拠した通信の他に、例えば「ＳＢＰ−３規格」に準拠した通信に関しても適用することができる。ちなみに、図６は、ＳＢＰ−２規格に係る「ｍｇｔ＿ＯＲＢ＿ｔｉｍｅｏｕｔ」を示すが、図８には、ＳＢＰ−３規格に係る「ｍｇｔ＿ＯＲＢ＿ｔｉｍｅｏｕｔ」を示しておく。
【００３８】
（電子機器の具体例）
最後に、本発明の実施の形態である電子機器の具体例を挙げる。第１具体例としては、プリンタ・ファクシミリ・スキャナ・ＭＦＰといった「ＯＡ機器」が挙げられる。第２具体例としては、デジタルビデオカメラといった「ＡＶ機器」が挙げられる。第３具体例としては、ＣＤ−ＲＯＭドライブ・ＣＤ−Ｒドライブ・ＣＤ−ＲＷドライブ・ＤＶＤ−Ｒドライブ・ＤＶＤ＋Ｒドライブ・ＤＶＤ＋ＲＷドライブ・ＨＤＤといった「ストレージ機器」が挙げられる。なお、本発明の実施の形態である電子機器は、これらの具体例に限定されるものではない。
【００３９】
【発明の効果】
このように、本発明は、シリアルバスを介して接続されている他の電子機器との間で通信を行う電子機器に関して、ネットワーク特性を考慮することにより、当該他の電子機器への要求に対する当該他の電子機器からの応答に係るタイムアウトが発生する可能性を低減することを可能にする。
【図面の簡単な説明】
【図１】ＩＥＥＥ１３９４規格に係るシステムを表す。
【図２】ＩＥＥＥ１３９４規格に係るプロトコルを表す。
【図３】ＩＥＥＥ１３９４規格に係るシステムを表す。
【図４】トポロジマップを表す。
【図５】スピードマップを表す。
【図６】ＳＢＰ−２規格に係るｍｇｔ＿ＯＲＢ＿ｔｉｍｅｏｕｔを示す。
【図７】イニシエータの動作に係るフローチャートである。
【図８】ＳＢＰ−３規格に係るｍｇｔ＿ＯＲＢ＿ｔｉｍｅｏｕｔを示す。
【符号の説明】
１１　ノード
１２　シリアルバス
２１　物理層
２２　リンク層
２３　トランザクション層
２４　アプリケーション層
２５　シリアルバス管理
３１　第１イニシエータ
３２　第２イニシエータ
３３　ターゲット
【図１】
2004104687.tif 000003
【図２】
2004104687.tif 000004
【図３】
2004104687.tif 000005
【図４】
2004104687.tif 000006
【図５】
2004104687.tif 000007
【図６】
2004104687.tif 000008
【図７】
2004104687.tif 000009
【図８】
2004104687.tif 000010