JP2009027349A - ネットワーク機器 - Google Patents

ネットワーク機器 Download PDF

Info

Publication number
JP2009027349A
JP2009027349A JP2007187136A JP2007187136A JP2009027349A JP 2009027349 A JP2009027349 A JP 2009027349A JP 2007187136 A JP2007187136 A JP 2007187136A JP 2007187136 A JP2007187136 A JP 2007187136A JP 2009027349 A JP2009027349 A JP 2009027349A
Authority
JP
Japan
Prior art keywords
node
network
bus
data
communication
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.)
Pending
Application number
JP2007187136A
Other languages
English (en)
Inventor
Ichiro Matsuyama
一郎 松山
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 JP2007187136A priority Critical patent/JP2009027349A/ja
Publication of JP2009027349A publication Critical patent/JP2009027349A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

【課題】 ネットワーク機器の電力消費を、効率的に節約することができる。
【解決手段】 レジューム機能を有するネットワーク機器が、ネットワーク上に接続されている他の機器の種類または台数を判別した結果を用いて、効率よくスリープ状態に移行する。これにより、ユーザーの利便性を損なうことなく、電力消費を節約することができる。
【選択図】 図1

Description

本発明はレジューム機能を有するネットワーク機器に関し、例えばIEEE1394に準拠した通信制御ネットワークに接続されるネットワーク機器に関するものである。
IEEE1394インタフェースに準拠するデバイスは、セントロニクスなどのインタフェースのようなホスト装置とホスト装置に接続されたデバイスの1対1接続のみの形態と異なり、複数のデバイス、例えばプリンタやデジタルビデオ、デジタルカメラ、ホストコンピュータ、スキャナ、VTRなどが同時に接続される事が可能であり、これら複数デバイスの接続によるデータ通信ネットワークシステムなどが考えられている。
これらネットワークに接続されるデバイスは様々であり、異なるメーカーの不特定多数のデバイスが接続される可能性がある。IEEE1394インタフェースの場合、ネットワーク上のデバイスを識別し、そのデバイスに関する情報を得る為の手段として各機器が所定のアドレス空間にコンフィグレーションROMを保有することがIEEE1212ならびにIEEE1394の規格として定められている。
コンフィグレーションROMには各デバイス固有のIDであるノードユニークID(64ビットで構成され、上位24ビットがIEEEにより割り当てられる機器のメーカーIDであり、下位48ビットはメーカーが自由に定めることが可能、ノードユニークIDはメーカー、機種にかかわらず1デバイスに特定のIDを定める。)をはじめとし、そのデバイスの1394インタフェース上のサポート機能や性能(バスインフォブロック)、製造元に関する情報(ベンダーディレクトリ)、プリンタやスキャナといったデバイス自体の機能に関する情報(インスタンスディレクトリ)、ならびに各機能を1394インタフェース上で制御するためにサポートされているプロトコル・ソフトウエア情報(ユニットディレクトリ)が所定のフォーマット、規格に従い記録されている。
1394バス上に接続されているデバイスの上記説明にあるコンフィグレーションROMを読み出し解析することにより、複数デバイスが接続されているIEEE1394ネットワークにおいて、あるデバイスがデータ通信を行ないたい相手機器を特定することが可能になる。またバスリセット後のデバイス再特定の際にも接続された各デバイスのコンフィギュレーションROMを読み出すことにより意図するデバイスを特定することが可能となる(特開2001−257685)。
また、昨今、全世界的に消費電力の低下を推進する動きが広がっている。国家レベルで規制を設け、環境基準を設け規制を満たしていない電化製品には、販売の認可を与えない、などの制限を設ける場合もある。今後消費電力においても同様に規制が厳しくなっていくと考えられる。
このため、今後市場に出る装置には、レジューム機能を持たせることが必要になると考えられる。レジューム機能とはユーザーが使用してない間、機能の一部を停止させ、消費電力を低減させるスリープ状態へ移行し、ユーザーの操作や、ユーザーが使用する別のホストからのアクセスがあると通常状態に復帰する機能である。
一般的に、スリープ状態への移行は、ユーザー操作やデータ受信が予め定めておいた時間行われなかった場合に行われる。
特開2001−257685号公報
しかしながら、スリープ状態から通常状態に復帰するまでに時間がかかる場合や、スリープ状態ではネットワークを介して機器の状態をモニタリングできない場合があり、便利性を重んじてレジューム機能を無効にしてしまうユーザーも存在する。
一方で、近年ではプリンタや、デジタルビデオ、デジタルカメラ、ホストコンピュータなど携帯性を高めた機器が多くなっているため、機器を利用する際にネットワークに接続して、利用し終わったら接続を切断するなど、ネットワークに接続されている機器の構成は頻繁に変動する。ここで、プリンタにデジタルカメラやホストコンピュータが接続されていない場合など、機器の機能が利用される可能性がない場合でも、ユーザーが機器のレジューム機能を無効にしてしまった場合には、電力を消費し続けてしまう。
本発明は上述した課題を解決することを解決することを目的としてなされたもので、上述した課題を解決する一手段として例えば以下の構成を備える。
レジューム機能を有し、通信制御ネットワークに接続されるネットワーク機器であって、通信制御ネットワークで接続された相手機器の台数を判別可能な判別手段と、前記判別手段で判別した結果により、スリープ状態への移行を行う電源制御手段と、を備える。
または、
レジューム機能を有し、通信制御ネットワークに接続されるネットワーク機器であって、通信制御ネットワークで接続された相手機器の種類を表す情報を取得可能な取得手段と、前記取得手段で取得した情報より、前記相手機器が当該ネットワーク機器の機能を利用する可能性があるか判別可能な判別手段と、前記判別手段で判別した結果により、スリープ状態への移行を行う電源制御手段と、を備える。
以上説明したように本実施の形態例によれば、レジューム機能を有するネットワーク機器が、ネットワーク上に接続されている他の機器の種類または台数を判別した結果を用いて、効率よくスリープ状態に移行する。これにより、ユーザーの利便性を損なうことなく、電力消費を節約することができる。
以下、図面を参照して本発明に係る一発明の実施の形態例を詳細に説明する。
[第1の実施の形態例]
図1は、本発明に係る一発明の実施の形態例の構成を示す図であり、IEEE1394ネットワークを表わしたものである。これらの機器は全てIEEE1394に準拠し、図1のように相互に接続されている。
図1において、100はレジューム機能を有するプリンタ(Printer)、110は第1のパーソナルコンピュータ(PC1)、120はハードディスク、130はスキャナ、140は第2のパーソナルコンピュータ(PC2)、150はデジタルカメラである。
パーソナルコンピュータ(110、140)は、IEEE1394ネットワークに接続されたプリンタ100に印刷の指示とデータを送り印刷を行なうことが出来る。同様にデジタルカメラ150からもプリンタ100に印刷することが可能である。
<IEEE1394規格の技術概要>
以下、本実施の形態例の図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、プリンタ、デジタルVTR、DVDプレーヤ、デジタルカメラ、ハードディスク、モニタ等の電子機器である。
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は本実施の形態例の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つのサービスを提供する。即ち、
a)応答ノードに対して所定のパケットの転送を要求するリンク要求(LK_DATA.request)、
b)応答ノードに所定のパケットの受信を通知するリンク通知(LK_DATA.indication)、
c)応答ノードからのアクノリッジを受信したことを示すリンク応答(LK_DATA.response)、
d)要求ノードからのアクノリッジを確認するリンク確認(LK_DATA.confirmation)である。なお、リンク応答(LK_DATA.response)は、ブロードキャスト通信、同期式パケットの転送の場合には存在しない。
又、リンクレイヤ304は、上述のサービスに基づいて、上述の2種類の転送方式、即ち、調歩同期式転送モード、同期式転送モードを実現する。
(2−2)トランザクション・レイヤ305の機能
図5は、トランザクション・レイヤ305の提供可能なサービスを示す図である。図5において、トランザクション・レイヤ305は、次の4つのサービスを提供する。即ち、
a)応答ノードに対して所定のトランザクションを要求するトランザクション要求(TR_DATA.request)、
b)応答ノードに所定のトランザクション要求の受信を通知するトランザクション通知(TR_DATA.indication)、
c)応答ノードからの状態情報(ライト、ロックの場合は、データを含む)を受信したことを示すトランザクション応答(TR_DATA.response)、D9要求ノードからの状態情報を確認するトランザクション確認(TR_DATA.confirmation)である。
又、トランザクション・レイヤ305は、上述のサービスに基づいて非同期式転送を管理し、次の3種類のトランザクション、即ち、
a)リード・トランザクション、
b)ライト・トランザクション、
c)ロック・トランザクションを実現する。
a)のリード・トランザクションは、要求ノードが応答ノードの特定アドレスに格納された情報を読み取る。
b)のライト・トランザクションは、要求ノードが応答ノードの特定アドレスに所定の情報を書き込む。
c)のロック・トランザクションは、要求ノードが応答ノードに対して参照データと更新データとを転送し、応答ノードの特定アドレスの情報とその参照データとを比較し、その比較結果に応じて特定アドレスの情報を更新データに更新する。
(2−3)シリアル・バス・マネージメント306の機能
シリアル・バス・マネージメント306は、具体的に、次の3つの機能を提供することができる。3つの機能とは、即ち、a)ノード制御、b)アイソクロナス・リソース・マネージャ(以下、IRM)、c)バスマネージャである。
a)ノード制御は、上述の各レイヤを管理し、他のノードとの間で実行される非同期式転送を管理する機能を提供する。
b)IRMは、他のノードとの間で実行される同期式転送を管理する機能を提供する。具体的には、転送帯域幅とチャネル番号の割り当てに必要な情報を管理し、これらの情報を他のノードに対して提供する。
IRMは、ローカルバス上に唯一存在し、バスリセット毎に他の候補者(IRMの機能を有するノード)の中から動的に選出される。又、IRMは、後述のバスマネージャの提供可能な機能(接続構成の管理、電源管理、速度情報の管理等)の一部を提供してもよい。
c)バスマネージャは、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 InfoBlock1001と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は、本実施の形態例におけるDS−Link符号化方式を説明する図である。
図13に示すDS−Link符号化方式は、高速なシリアルデータ通信に適しており、その構成は、2組のより対線を必要とする。一組のより対線は、データ信号を送り、他のより対線は、ストローブ信号を送る構成になっている。受信側は、2組の信号線から受信したデータ信号とストローブ信号との排他的論理和をとることによって、クロックを再現することができる。
なお、DS−Link符号化方式を用いることにより、1394インタフェースには、例えば次のような利点がある。a)他の符号化方式に比べて転送効率が高い。c)PLL回路が不要となり、コントローラLSIの回路規模を小さくできる。c)アイドル状態であることを示す情報を送る必要が無いため、トランシーバ回路をスリープ状態とし易く、消費電力の低減が図れる。
(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は本実施の形態例におけるバスリセットの開始からノード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は本実施の形態例における図15に示したステップS1502の親子関係宣言処理の詳細を示すフローチャートである。
本実施の形態例の親子関係宣言処理においては、まず図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は、バス番号とノード番号とから構成されるが、本実施の形態例では、各ノードを同一バス上に接続するものとし、各ノードには同一のバス番号が割り当てられるものとする。
本実施の形態例のノード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)アービトレーション機能
図19は、図1に示す本実施の形態例における1394ネットワークにおけるアービトレーションを説明する図である。
1394ネットワークでは、データ転送に先立って、必ずバス使用権のアービトレーション(調停)を行なう。1394ネットワークは、論理的なバス型ネットワークであり、各ノードから転送された通信パケットを他のノードに中継することによって、ネットワーク内の全てのノードに同じ通信パケットを転送することのできる。従って、通信パケットの衝突を防ぐために、必ずアービトレーションが必要となる。これによって、ある時間において一つのノードのみが転送を行なうことができる。
図19の(a)は、ノードBとノードFとが、バス使用権の要求を発している場合について説明する図である。
アービトレーションが始まるとノードB,Fは、夫々親ノードに向かって、バス使用権の要求を発する。ノードBの要求を受けた親ノード(即ち、ノードC)は、自分の親ノード(即ち、ノードD)に向かって、そのバス使用権を中継する。この要求は、最終的に調停を行なうルート(ノードD)に届けられる。
バス使用要求を受けたルートは、どのノードにバスを使用させるかを決める。この調停作業はルートとなるノードのみが行なえるものであり、調停によって勝ったノードにはバスの使用許可が与えられる。
図19の(b)は、ノードFの要求が許可され、ノードBの要求が拒否されたことを示す図である。
アービトレーションに負けたノードに対してルートは、DP(Data prefix)パケットを送り、拒否されたことを知らせる。拒否されたノードは、次回のアービトレーションまでバス使用要求を待機する。
以上のようにアービトレーションを制御することによって、1394ネットワークは、バスの使用権を管理することができる。
(10)通信サイクル
本実施の形態例においては、同期式転送モードと非同期式転送モードとは、各通信サイクル期間内において時分割に混在させることができる。ここで、通信サイクルの期間は、通常、125μSである。
図20は、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に本実施の形態例の同期式転送モードに基づいて転送される通信パケットのフォーマットを示す。以下、同期式転送モードに基づいて転送される通信パケットを、同期式パケットと称する。
図21において、同期式パケットはヘッダ部2101、ヘッダCRC2102、データ部2103、データCRC2104から構成される。
ヘッダ部2101には、データ部2103のデータ長を格納するフィールド2105、同期式パケットのフォーマット情報を格納するフィールド2106、同期式パケットのチャネル番号を格納するフィールド2107、パケットのフォーマット及び実行しなければならない処理を識別するトランザクションコード(tcode)を格納するフィールド2108、同期化コードを格納するフィールド2109がある。
(12)非同期式転送モード
本実施の形態例の非同期式転送モードは、非同期型の転送方式である。非同期式転送は、自己ノードから相手ノードへの1対1の通信であり、同期式転送期間の終了後、次の通信サイクルが開始されるまでの間(即ち、次の通信サイクルのCSPが転送されるまでの間)、実行可能である。
図20において、最初のサブアクション・ギャップ(subaction gap)は、バスのアイドル状態を示すものである。このアイドル時間が一定値になった後、非同期式転送を希望するノードは、バスが使用できると判断し、アービトレーションを実行する。
アービトレーションによりバスの使用権を得たノードは、図22に示すパケットを所定のノードに対して転送する。このパケットを受信したノードは、ack(受信確認用返送コード)或いは応答パケットをack gap後に返送する。
図22は、本実施の形態例の非同期式転送モードに基づく通信パケットのフォーマットを示す図である。以下、非同期式転送モードに基づいて転送される通信パケットを、非同期式パケットと称する。
図22において、非同期式パケットは、ヘッダ部2201、ヘッダCRC2202、データ部2203、データCRC2204から構成される。
ヘッダ部2201において、フィールド2205には宛先となるノードのノードID、フィールド2206にはソースとなるノードのノードID、フィールド2207には一連のトランザクションを示すためのラベル、フィールド2208には再送ステータスを示すコード、フィールド2209にはパケットのフォーマット及び実行しなければならない処理を識別するトランザクションコード(tcode)、フィールド2210には優先順位、フィールド2211には宛先のメモリ・アドレス、フィールド2212にはデータ部のデータ長、フィールド2213には拡張されたトランザクションコードが格納される。
又、非同期式転送において転送元ノードから転送されたパケットは、ネットワーク中の各ノードに行き渡るが、自分宛てのアドレス以外のものは無視される。従って、宛先となるノードのみが、そのパケットを読み込むことができる。
なお、非同期式転送中に次のCSPを転送すべき時間に至った場合、無理に転送を中断せず、その転送が終了した後、次のCSPを送信する。これにより、1つの通信サイクルが125μS以上続いたときは、その分、次の通信サイクル期間を短縮する。このようにすることによって、1394ネットワークは、ほぼ一定の通信サイクルを保持することができる。
<デバイスマップ>
デバイスマップを作成するためにアプリケーションが1394ネットワークのトポロジーを知る手段として、IEEE1394規格上は以下の手段がある。なお、トポロジーとは、バスにつながる各ノードの接続状況を表わすもので、図2に示されるノードの接続状況を表わす情報である。
1.バスマネージャの保持するトポロジーマップレジスターをリードする
2.バスリセット時にセルフIDパケットから推定する
しかし、上記1、2の手段では、各ノードの親子関係によるケーブル接続順のトポロジーは判明するものの、ノードが配置されている物理的な位置関係を示す情報を知ることはできない(実装されていないポートまで見えてしまう、といった問題もある)。
また、デバイスマップを作成するための情報を、コンフィギュレーションROM以外のデータベースとして持つ、といった手段もあるが、その場合、各種情報を得る手段はデータベースアクセス、データ転送等のプロトコルに依存してしまう。
ところで、コンフィギュレーションROM自体やコンフィギュレーションROMを読む機能は、IEEE1394規格を遵守したデバイスが必ず持つものである。そこで、デバイスの位置、機能等の情報を各ノードのコンフィギュレーションROMに格納し、それらをアプリケーションから読む機能を与えることにより、データベースアクセス、データ転送等の特定のプロトコルに依存することなく、各ノードのアプリケーションがいわゆるデバイスマップ表示機能を実装することができる。
コンフィギュレーションROMにはノード固有の情報として物理的な位置、機能などが格納可能であり、デバイスマップ表示機能の実現に使用することが可能である。
この場合、アプリケーションが物理的な位置関係による1394ネットワークトポロジーを知る手段としては、バスリセット時やユーザーからの要求時に、各ノードのコンフィギュレーションROMを読み取ることにより、1394ネットワークのトポロジーを知る、という方法が可能となる。更に、コンフィギュレーションROM内にノードの物理的位置のみならず機能などの各種ノード情報も記述することによって、コンフィギュレーションROMを読むことで、ノードの物理的位置と同時に各ノードの機能情報等も得ることができる。アプリケーションが各ノードのコンフィギュレーションROM情報を取得する際には、指定ノードの任意のコンフィギュレーションROM情報を取得するAPIを用いる。
このような手段を用いることにより、IEEE1394ネットワーク上のデバイスのアプリケーションは、物理的なトポロジーマップ、各ノードの機能マップ等、用途に応じて様々なデバイスマップを作成することができ、ユーザーが必要な機能をもつデバイスを選択する、といったことも可能となる。
<本実施の形態例の構成並びに接続デバイスの説明>
以下、本実施の形態例の構成、並びに接続デバイスについて説明する。まず、各ローカルバスに接続される各ノードの共通部分として1394シリアルバスインターフェース部の構成を図23を参照して説明する。図23は本実施の形態例の1394ノードの1394インターフェースブロックの構成を示す図である。
図23中、2402はデバイス本体とのインタフェースを行ない、PHYICのデータ転送をコントロールするリンクレイヤ制御IC(LINKIC)であり、前述の(IEEE1394の技術の概要)におけるリンクレイヤの機能を実現する。本ICが備える主な機能としてはPHYICを介する送信/受信データを一時格納する送受信FIFO、送信データのパケット化機能、PHYICが受信データが本ノードアドレス、またはアイソクロナス転送データの場合は割り当てられたチャンネル向けのものであるかの判定機能、またそのデータのエラーチェックを行なうレシーバー機能、そしてデバイス本体とのインタフェースを行なう機能がある。
2401は1394シリアルバスを直接ドライブするフィジカルレイヤ制御IC(PHYIC)であり、前述の(IEEE1394の技術の概要)におけるフィジカルレイヤの機能を実現する。主な機能としては、バスイニシャル化とアービトレーション、送信データ符号のエンコード/デコード、ケーブル通電状態の監視ならびに負荷終端用電源の供給(アクティブ接続認識用)、リンクレイヤICとのインタフェースである。
2403はコンフィギュレーションROMであり、各機器固有の識別、通信条件等が格納されている。本ROMのデータフォーマットは<IEEE1394の技術の概要>で説明したようにIEEE1212並びにIEEE1394規格で定められたフォーマットに準じている。
内部バスにはリンクレイヤIC、PHYICをはじめとする1394インタフェース部をコントロールするCPUと、同インタフェース部のコントロール用プログラムが格納されているROMと、送受信データを蓄えるデータバッファをはじめ、制御用ワークエリア、1394アドレスにマッピングされた各種レジスタのデータ領域に使用されるRAMが接続されている。
各ノードは図24に示す様な一般形式のコンフィギュレーションROMを装備しており、各デバイスの持つ機能情報はルートディレクトリ(Root Directory)からオフセットされるユニットディレクトリ(Unit Direcroty)に保存される。また、各機能を指し示す文字列がユニットディレクトリからオフセットされるテキストデスクリプターリーフ(Text Descriptor Lead)に保存される。なお、図24のテキストデスクリプターリーフには、パーソナルコンピュータ(110、140)が装備するコンフィグレーションROMに格納される文字列「1394 PC」が例として記述してある。
<IEEE1394の技術の概要>で説明したように1394シリアルバスのアドレス設定のうち、最後の28ビットはシリアルバスに接続される他のデバイスからアクセス可能な、各機器の固有データの領域として確保されている。図25はこの各機器の固有データの領域である28ビットの領域のアドレス空間を表した図である。
図25中0000番地から0200番地の領域には図7に示したCSRコアレジスタ群が配置されている。これらレジスタはCSRアーキテクチャで定められたノード管理の為の基本的な機能として存在している。
0200番地から0400番地の領域は、CSRアーキテクチャにより、シリアルバスに関するレジスタが格納される領域として定義されている。<IEEE1394の技術の概要>で説明したように0200〜0230番地のレジスタが定義されておりデータ転送の同期、電源供給、バスリソース管理等に使用されるレジスタが配置されている。この部分は上述した図8に示す構成と同様である。
図25に示す0800番地から1000番地までの領域には、現在の1394バスのトポロジー情報、またノード間の転送スピードに関する情報が格納されている。同様に1000番地以降の領域はユニット空間と呼ばれ、各デバイス固有の動作に関連するレジスタが配置されている。この領域には各デバイスがサポートする上位プロトコルで規定されたレジスタ群とデータ転送用メモリマップドバッファ領域、また各機器固有のレジスタが配置される。
図26は、図24で示したテキストデスクリプターリーフに保持される文字列を図1に示したIEEE1394ネットワークで接続された各機器について示している。数字は各機器を表わし101であれば図1の101で示されたPrinterを表わし、テキストデスクリプターリーフに保持される文字列が「1394 Printer」であることを示している。
IEEE1394ネットワークに接続された機器であれば、Configuraton ROMを読み出し、その中に書かれているテキストデスクリプターリーフを見つけ出しその文字列を解析することで、その機器がどのような種類の機器であるか(プリンタ、パーソナルコンピュータ、デジタルカメラ、…)を判断することが出来る。
例えば図26では、「PC」という文字列を含むノード(110、140)はパーソナルコンピュータであり、「Camera」という文字列を含むノード(150)はデジタルカメラだと判断することが出来る。
このConfiguraton ROMに書かれたテキストデスクリプターリーフを用いることで、プリンタ100は印刷ジョブを送信する可能性のある機器が接続されているかを判断することが出来る。例えば、パーソナルコンピュータもしくは、デジタルカメラが接続されているかを判断することが出来る。
<プリンタにおけるレジューム機能>
次に本実施の形態例における特徴的な処理であるプリンタにおけるレジューム機能について説明する。図27は本実施例における、ネットワーク接続状態の違いによりスリープ状態に移行するプリンタ100の構成図である。
210はホストから受け取ったデータを処理するコントローラ部である。220はコントローラ部で処理されたデータを受け取り、印刷の制御を行うエンジン部である。
211はコントローラCPUであり、プリンタのコントローラ部を制御する。212はROMであり、コントローラ部の制御を行うプログラムを格納している。2113はRAMであり、データの読み書き可能なメモリである。214は画像処理部であり、画像処理を行いその処理されたデータをエンジン部に転送する。215はEthernet(登録商標)制御部であり、Ethernet(登録商標)環境につながり、同様にEthernet(登録商標)環境につながれているホストから画像データを受け取り画像形成装置で印刷することができる。216はUSB制御部であり、USBケーブルでホストとつなぎ、プリンタで印刷することができる。217は1394制御部であり、IEEE1394ケーブルでホストとつなぎ、プリンタで印刷することができる。218は操作パネルI/F部であり、操作パネルとの通信を行う。219は操作パネル部であり、画像形成装置の状態を設定するキーや、表示を行う液晶パネルおよびLEDを備えている。
221はエンジンCPUであり、プリンタのエンジン部を制御する。222はROMであり、エンジン部の制御を行うプログラムを格納している。223はRAMであり、データの読み書き可能なメモリである。224は通信制御部であり、画像処理部214と通信ラインで接続されており、214から送られた画像データを受け取る。225は紙搬送モータ制御部であり、具体的には紙送りのモータを動作させ搬送ローラなどを動作させることにより紙を搬送する。226はキャリッジモータ制御部であり、キャリッジモータを動作させることにより、プリントヘッドを動作させる。227はヘッド制御部である。228はヘッド部であり、ヘッド部からの信号によりインクをメディアに吐出させる。225、226、227を制御し、メディア上の所望の位置にインクを吐出させることにより、所望の画像を印刷することができる。
250は電源制御部であり、215、216、217の各I/F制御部にホストからのアクセスがあった場合、画像処理装置の制御を行う。
前記プリンタ100のスリープ時の状態について説明する。
USB及びIEEE1394を利用している場合、各I/F制御部215、216、217は、ホストPCからのデータを受け取るため、また電源制御部250は各I/F制御部がホストPCからのデータを受け取ったとき画像形成装置の電源を制御するために電源を供給しておく。また、利便性により操作パネルから電源を制御したい場合、219のみ、もしくは219と218の電源を供給しておく。しかし、その他の電源は供給を停止しておく。
プリンタ100は次のような処理でスリープ状態へ遷移する。図28はプリンタ100がIEEE1394に接続されている場合の状態遷移図である。
プリンタ100は電源をONした後、3000から状態遷移して、接続されている他のノードが保持するConfigurationROMのチェック状態3001になる。ここで、テキストデスクリプターリーフに所定の文字列を持ったノードが見つらなかった場合、3001から状態遷移して、スリープ状態3002となる。ここでは、例えば、所定の文字列とは「PC」および「Camera」であるとする。チェック状態3001において所定の文字列を持ったノードが見つからなかった場合、状態遷移してスタンバイ状態3003となる。スタンバイ状態3003において、ホストから印刷ジョブを受信した場合、状態遷移して印刷中状態3004となり、印刷ジョブの印刷を行う。印刷ジョブの印刷が終了した場合、−−3004から状態遷移してスタンバイ状態3003に戻る。
即ち、図1に示したIEEE1394ネットワークにおいて、全ての機器が接続され動作している場合、テキストデスクリプターリーフに文字列「1394 PC」を保持するパーソナルコンピュータ(110、140)と、文字列「1394 Camera」を保持するデジタルカメラ150がプリンタ100に接続されているため、プリンタ100はスタンバイ状態となる。その状態から、デジタルカメラ150の電源が落とされた場合、IEEE1394ネットワーク上でデジタルカメラ150が非接続状態となることでバスリセットが発生する。しかし、ネットワーク上にはパーソナルコンピュータ(110、140)が存在するため、プリンタはチェック状態から再びスタンバイ状態へと復帰する。さらにその状態から、第1のパーソナルコンピュータ110とハードディスク120との間の接続が切れた場合、まずバスリセットが発生する。そして、プリンタ100の属するネットワーク上にはプリンタ自身とハードディスク120とスキャナ130しか存在しなくため、プリンタはチェック状態からスリープ状態に移行する。
[第2の実施の形態例]
次に、本発明の第2の実施の形態について説明する。本実施の形態例のネットワーク機器は、第1の実施の形態のネットワーク機器に対して、接続されている相手機器の種類ではなく、台数を判別する点が異なる。
即ち、<IEEE1394の技術の概要>で説明したように、バスリセット起動後のシーケンスで、ネットワークに接続されている機器は、自身のノード番号を含むセルフIDパケットをブロードキャストする。これにより、機器は同一バス上で接続された相手機器のノード番号を知ることができ、同時にその台数も判別することができる。
プリンタ100のレジューム機能については、予め前記操作パネル219(図27)よりユーザーは接続台数の規定値を入力する。例えば、プリンタ100に対して常にハードディスク120、スキャナ130を接続したネットワーク構成を常時とっており、必要に応じてホストコンピュータ140を接続するといった場合、ハードディスク120とスキャナ130より印刷を行わないのであれば、規定台数として3を入力しておく。バスリセットがおきたときにプリンタ100に対する接続台数が3以上であればプリンタ100はスタンバイ状態に、接続台数が2以下であればスリープ状態に移行する。
即ち、図1に示したIEEE1394ネットワークにおいて、全ての機器が接続され動作している場合、プリンタ100に対する接続台数は5であり、プリンタ100はスタンバイ状態にある。この状態から、デジタルカメラ150の電源が落とされた場合、IEEE1394ネットワーク上でデジタルカメラ150が非接続状態となることでバスリセットが発生する。しかし、ネットワーク上でプリンタ100に接続されている機器の台数が4のため、プリンタはチェック状態から再びスタンバイ状態へと復帰する。さらにその状態から、第1のパーソナルコンピュータ110とハードディスク120との間の接続が切れた場合、まずバスリセットが発生する。そして、プリンタ100に対する接続台数が2となるため、プリンタはチェック状態からスリープ状態に移行する。
本発明に係る一発明の実施の形態例の概略構成を示す図である。 本実施の形態例の1394ネットワーク構成例を示す図である。 本実施の形態例のIEEE1394規格のアーキテクチャを説明する図である。 本実施の形態例のリンクレイヤの提供可能なサービスを示す図である。 本実施の形態例のトランザクション・レイヤの提供可能なサービスを示す図である。 本実施の形態例の1394シリアルバスのアドレス空間を説明する図である。 本実施の形態例のCSRコアレジスタに格納される情報のアドレス及び機能の例を示す図である。 本実施の形態例のシリアルバスレジスタに格納される情報のアドレス及び機能の例を示す図である。 本実施の形態例における最小形式の確認ROM(Configuration ROM)の構成例を示す図である。 本実施の形態例における一般形式の確認ROM(Configuration ROM)の構成例を示す図である。 本実施の形態例のユニット空間のシリアルバス装置レジスタに格納される情報のアドレス及び機能の例を示す図である。 本実施の形態例の1394シリアルバス・ケーブルの断面図である。 本実施の形態例のDS−Link符号化方式を示した図である。 本実施の形態例の1394ネットワークにおけるバスリセット起動後の状態を説明する図である。 本実施の形態例におけるバスリセットの開始からノードIDの割り当てまでの処理を示すフローチャートである。 図15に示すステップS1502の親子関係宣言処理の詳細を示すフローチャートである。 図15に示すステップS1505のノードID設定処理の詳細を示すフローチャートである。 本実施の形態例におけるセルフIDパケットの構成例を示す図である。 本実施の形態例における1394ネットワークにおけるアービトレーションを説明する図である。 本実施の形態例の1通信サイクルにおいて同期式転送モードと非同期式転送モードとを混在させた場合を説明する図である。 本実施の形態例の同期式転送モードに基づいて転送される通信パケットのフォーマットを示す図である。 本実施の形態例の非同期式転送モードに基づく通信パケットのフォーマットを示す図である。 本実施の形態例の1394ノードの1394インターフェースブロックの構成を示す図である。 本実施の形態例のコンフィギュレーションROMの格納データの構成を示す図である。 本実施の形態例の1394ノードのアドレス空間を示した図である。 本実施の形態例の各機器のコンフィギュレーションROMのテキストデスクリプターリーフに格納された内容を示した図である。 本実施の形態例のプリンタのハードウェア構成を示した図である。 本実施の形態例のプリンタの状態遷移を示した図である。
符号の説明
100 プリンタ
110 第1の情報処理装置(PC1)
120 ハードディスク
130 スキャナ
140 第2の情報処理装置(PC2)
150 デジタルビデオカメラ
210 コントローラ部
211 コントローラCPU
212 ROM
213 RAM
214 画像処理部
215 ネットワーク制御部
216 USB制御部
217 1394制御部
218 操作パネルI/F部
2119 操作パネル部
220 エンジン部
221 エンジンCPU
222 ROM
223 RAM
224 通信制御部
225 紙搬送モータ制御部
226 キャリッジモータ制御部
227 ヘッド制御部
228 ヘッド部
250 電源制御部

Claims (8)

  1. レジューム機能を有し、通信制御ネットワークに接続されるネットワーク機器であって、
    通信制御ネットワークで接続された相手機器の種類を表す情報を取得可能な取得手段と、
    前記取得手段で取得した情報より、前記相手機器が当該ネットワーク機器の機能を利用する可能性があるか判別可能な判別手段と、
    前記判別手段で判別した結果により、スリープ状態への移行を行う電源制御手段と、
    を備えることを特徴とするネットワーク機器。
  2. 前記通信制御ネットワークは、IEEE1394を用いる通信制御ネットワークであることを特徴とする請求項1記載のネットワーク機器。
  3. 前記情報は、IEEE1394に準拠した通信制御ネットワークに接続されるネットワーク機器のアドレス空間のうちコアコンフィギュレーションROM領域に配置されることを特徴とする請求項2記載のネットワーク機器。
  4. 被記録材に対する記録手段を備えることを特徴とする請求項1記載のネットワーク機器。
  5. レジューム機能を有し、通信制御ネットワークに接続されるネットワーク機器であって、
    通信制御ネットワークで接続された相手機器の台数を判別可能な判別手段と、
    前記判別手段で判別した結果により、スリープ状態への移行を行う電源制御手段と、
    を備えることを特徴とするネットワーク機器。
  6. 相手機器の台数の規定値を取得可能な取得手段を備え、
    前記電源制御手段は、前記通信制御ネットワークで接続された相手機器の台数が、前記取得手段で取得した規定値より下回った場合に、スリープ状態への移行を行うことを特徴とする請求項5記載のネットワーク機器。
  7. 前記通信制御ネットワークは、IEEE1394を用いる通信制御ネットワークであることを特徴とする請求項5記載のネットワーク機器。
  8. 被記録材に対する記録手段を備えることを特徴とする請求項5記載のネットワーク機器。
JP2007187136A 2007-07-18 2007-07-18 ネットワーク機器 Pending JP2009027349A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007187136A JP2009027349A (ja) 2007-07-18 2007-07-18 ネットワーク機器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007187136A JP2009027349A (ja) 2007-07-18 2007-07-18 ネットワーク機器

Publications (1)

Publication Number Publication Date
JP2009027349A true JP2009027349A (ja) 2009-02-05

Family

ID=40398760

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007187136A Pending JP2009027349A (ja) 2007-07-18 2007-07-18 ネットワーク機器

Country Status (1)

Country Link
JP (1) JP2009027349A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021052386A (ja) * 2019-08-16 2021-04-01 ウルトラソック、テクノロジーズ、リミテッドUltrasoc Technologies Limited システムオンチップにおけるイベントメッセージのブロードキャスティング

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021052386A (ja) * 2019-08-16 2021-04-01 ウルトラソック、テクノロジーズ、リミテッドUltrasoc Technologies Limited システムオンチップにおけるイベントメッセージのブロードキャスティング
JP7326231B2 (ja) 2019-08-16 2023-08-15 シーメンス インダストリー ソフトウェア インコーポレイテッド システムオンチップにおけるイベントメッセージのブロードキャスティング

Similar Documents

Publication Publication Date Title
JP4536981B2 (ja) 情報信号処理装置及び情報信号処理方法
JP4035235B2 (ja) 電子機器
JP2003044184A (ja) データ処理装置及び電力制御方法
JP4027189B2 (ja) 情報処理システム、情報処理装置、情報処理方法、プログラム及び記憶媒体
JP2003174486A (ja) 情報通信装置、情報通信方法および情報通信処理プログラム
JP2002077211A (ja) 情報処理装置およびその方法、並びに、記録媒体
JP2001160939A (ja) 画像処理装置及び画像処理システム、及びその制御方法
JP2001274813A (ja) 情報信号処理装置及び情報信号処理方法並びに記憶媒体
JP2001275066A (ja) 画像処理装置およびその方法、並びに、記憶媒体
JP2009027349A (ja) ネットワーク機器
US7167940B2 (en) Data processing method, data processing apparatus, communications device, communications method, communications protocol and program
JP2004064665A (ja) データ転送装置及び送信装置及び受信装置及びそれらの制御方法
JP3495878B2 (ja) データ処理方法、データ処理装置及びプリンタ
JP2004179898A (ja) 画像処理装置
JP4109983B2 (ja) 通信システム
JP3495879B2 (ja) データ処理方法、データ処理装置、及びコンピュータ読み取り可能な記録媒体
JP2005044078A (ja) 通信方法、印刷装置及びホスト装置
JP2006134222A (ja) 情報処理装置及び方法
JP2004102443A (ja) 情報処理システム、情報処理方法、プログラム及び記憶媒体
JP4095384B2 (ja) 情報処理システム、情報処理装置、情報処理方法、プログラム及び記憶媒体
JP2001160938A (ja) 画像処理装置及び画像処理システム、及びその制御方法
JP2003333045A (ja) パワーマネージメント
JP2002200824A (ja) 画像形成装置及びその制御方法、及び画像形成システム
JP2001144783A (ja) シリアルバスブリッジ、端末装置、情報通信システム、情報通信方法並びに記憶媒体
JPH11177589A (ja) データ転送装置およびデータ転送装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Effective date: 20100201

Free format text: JAPANESE INTERMEDIATE CODE: A7424

RD01 Notification of change of attorney

Effective date: 20100630

Free format text: JAPANESE INTERMEDIATE CODE: A7421