JP3495878B2 - データ処理方法、データ処理装置及びプリンタ - Google Patents

データ処理方法、データ処理装置及びプリンタ

Info

Publication number
JP3495878B2
JP3495878B2 JP08982597A JP8982597A JP3495878B2 JP 3495878 B2 JP3495878 B2 JP 3495878B2 JP 08982597 A JP08982597 A JP 08982597A JP 8982597 A JP8982597 A JP 8982597A JP 3495878 B2 JP3495878 B2 JP 3495878B2
Authority
JP
Japan
Prior art keywords
protocol
node
host
printer
bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP08982597A
Other languages
English (en)
Other versions
JPH10283135A (ja
Inventor
耕司 福長
清 片野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP08982597A priority Critical patent/JP3495878B2/ja
Priority to SG1998000294A priority patent/SG74611A1/en
Priority to TW087101785A priority patent/TW384611B/zh
Priority to SG200105141A priority patent/SG101460A1/en
Priority to CA002229472A priority patent/CA2229472C/en
Priority to MX9801199A priority patent/MX9801199A/es
Priority to CN98104444A priority patent/CN1126343C/zh
Priority to KR1019980004329A priority patent/KR100298140B1/ko
Priority to AU53921/98A priority patent/AU5392198A/en
Priority to EP98301120A priority patent/EP0859325A3/en
Priority to EP05076775A priority patent/EP1612691A1/en
Priority to US09/025,128 priority patent/US6425019B1/en
Publication of JPH10283135A publication Critical patent/JPH10283135A/ja
Priority to US10/041,647 priority patent/US6874082B2/en
Application granted granted Critical
Publication of JP3495878B2 publication Critical patent/JP3495878B2/ja
Priority to US11/033,292 priority patent/US7401213B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、シリアルバスを介
して、複数種類のプリンタのプロトコルの中からホスト
に対応したプロトコルに切り換えるためのデータ処理方
法、データ処理装置及びプリンタに関するものである。
【0002】
【従来の技術】従来より、シリアルバスを介してプリン
タにデータを送出するシステムとして、様々な種類のシ
ステムが知られている。
【0003】例えば、SCSI(Small Computer Syste
m Interface )、セントロニクス等、一般に広く用いら
れるようになったデファクトスタンダードのインターフ
ェースを用いて、コンピュータからプリンタにデータを
出力する技術が知られている。
【0004】
【発明が解決しようとする課題】しかしながら、シリア
ルバスを用いてプリンタデータを送出する従来のプリン
タプロトコルは、プリンタメーカ固有の1つに限られて
いた。したがって、拡張性に欠ける、という問題が生じ
ていた。特に、様々な種類の機器を接続するインターフ
ェース、例えば、IEEE1394のようなインターフ
ェースを用いて、プリントデータを出力する際には、か
かる拡張性に欠けるという問題点は解決すべき大きな課
題であった。
【0005】そこで、本発明は、上記の欠点を除去する
ために成されたもので、システムバスを介してプリント
データを送出する際に、拡張性の高いデータ処理方法、
データ処理装置、プリンタ及び記憶媒体を提供すること
を目的とする。また、本発明は、IEEE1394規格
に好適なデータ処理方法、データ処理装置、プリンタ及
び記憶媒体を提供することを目的とする。また、本発明
は、コンピュータを介することなく、画像データ出力デ
バイスから直接プリンタを接続するのに好適なデータ処
理方法、データ処理装置、プリンタ及び記憶媒体を提供
することを目的とする。また、初期プロトコルに対応し
ないホストに対しても、プロトコルを適合させることが
できるデータ処理方法、データ処理装置、プリンタ及び
記憶媒体を提供することを目的とする。
【0006】
【課題を解決するための手段】本発明に係るデータ処理
方法は、シリアルバスを介して複数種類のプロトコルで
通信が可能なプリンタのプロトコルを切り換えるための
データ処理方法であって、前記プリンタのプロトコルの
種類に係わらない初期プロトコルによる通信がホストか
らない場合、前記ホストの固有の識別子を取得する取得
ステップと、前記取得ステップで取得された識別子に基
づいてプロトコルを決定する決定ステップと、前記決定
ステップで決定されたプロトコルの設定を行うプロトコ
ル設定ステップとを有することを特徴とする。このと
き、前記シリアルバスは、IEEE1394規格に適合
したバス、またはUSB規格に適合したバスであっても
よい。また、前記初期プロトコルは、OSIモデルのデ
ータリンク層よりも上位の層で実行されるプロトコルで
あってもよい。また、前記初期プロトコルはログインプ
ロトコルであり、前記取得ステップでは、前記ログイン
プロトコルによるログインが前記ホストからない場合、
前記ホストの固有の識別子を取得してもよい。また、前
記取得ステップでは、前記初期プロトコルによる通信が
所定の時間ない場合、前記ホストの固有の識別子を取得
してもよい。本発明に係るデータ処理装置は、シリアル
バスを介して複数種類のプロトコルで通信が可能なプリ
ンタのプロトコルを切り換えるためのデータ処理装置で
あって、前記プリンタのプロトコルの種類に係わらない
初期プロトコルによる通信がホストからない場合、前記
ホストの固有の識別子を取得する取得手段と、前記取得
手段により取得された識別子に基づいてプロトコルを決
定する決定手段と、前記決定手段により決定されたプロ
トコルの設定を行うプロトコル設定手段とを有すること
を特徴とする。このとき、前記初期プロトコルは、OS
Iモデルのデータリンク層よりも上位の層で実行される
プロトコルであってもよい。また、前記初期プロトコル
はログインプロトコルであり、前記取得手段は、前記ロ
グインプロトコルによるログインが前記ホストからない
場合、前記ホストの固有の識別子を取得してもよい。ま
た、前記取得手段は、前記初期プロトコルによる通信が
所定の時間ない場合、前記ホストの固有の識別子を取得
してもよい。本発明に係るプリンタは、シリアルバスを
介して複数種類のプロトコルで通信が可能なプリンタで
あって、前記プリンタのプロトコルの種類に係わらない
初期プロトコルによる通信がホストからない場合、前記
ホストの固有の識別子を取得する取得手段と、前記取得
手段により取得された識別子に基づいてプロトコルを決
定する決定手段と、前記決定手段により決定されたプロ
トコルの設定を行うプロトコル設定手段とを有すること
を特徴とする。このとき、前記シリアルバスは、IEE
E1394規格に適合したバス、またはUSB規格に適
合したバスであってもよい。また、前記初期プロトコル
は、OSIモデルのデータリンク層よりも上位の層で実
行されるプロトコルであってもよい。また、前記初期プ
ロトコルはログインプロトコルであり、前記取得手段
は、前記ログインプロトコルによるログインが前記ホス
トからない場合、前記ホストの固有の識別子を取得して
もよい。また、前記取得手段は、前記初期プロトコルに
よる通信が所定の時間ない場合、前記ホストの固有の識
別子を取得してもよい。
【0007】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を用いて説明する。
【0008】ここで、まず、以下に説明する第1及び第
2の実施の形態では、各機器間を接続するディジタルI
/Fとして、IEEE1394シリアルバスを用いてい
るため、IEEE1394シリアルバスについて、予め
説明する。
【0009】民生用デジタルVCRやDVDプレーヤの
登場に伴なって、ビデオデータやオーディオデータなど
のリアルタイムで、かつ高情報量のデータ転送のサポー
トが必要になっている。こういったビデオデータやオー
ディオデータをリアルタイムで転送し、パソコン(P
C)に取り込んだり、またはその他のデジタル機器に転
送を行なうには、必要な転送機能を備えた高速データ転
送可能なインタフェースが必要になってくるものであ
り、そういった観点から開発されたインタフェースが、
IEEE1394−1995(High Performance Serial Bu
s )(以下、単に1394シリアルバスとも言う)であ
る。
【0010】図1に1394シリアルバスを用いて構成
されるネットワーク・システムの例を示す。
【0011】このシステムは、機器A,B,C,D,
E,F,G,Hを備えており、A−B間、A−C間、B
−D間、D−E間、C−F間、C−G間、及びC−H間
をそれぞれ1394シリアルバスのツイスト・ペア・ケ
ーブルで接続されている。この機器A〜Hは、例えばパ
ソコン、デジタルVTR、DVD、デジタルカメラ、ハ
ードディスク、モニタ、チューナー、モニター等であ
る。
【0012】各機器間の接続方式は、ディジーチェーン
方式とノード分岐方式とを混在可能としたものであり、
自由度の高い接続が可能である。
【0013】また、各機器は各自固有のIDを有し、そ
れぞれが認識し合うことによって1394シリアルバス
で接続された範囲において、1つのネットワークを構成
している。各デジタル機器間をそれぞれ1本の1394
シリアルバスケーブルで順次接続するだけで、それぞれ
の機器が中継の役割を行い、全体として1つのネットワ
ークを構成するものである。また、1394シリアルバ
ス、Plug&Play機能でケーブルを機器に接続し
た時点で自動で機器の認識や接続状況などを認識する機
能を有している。
【0014】また、図1に示したようなシステムにおい
て、ネットワークからある機器が削除されたり、または
新たに追加されたときなど、自動的にバスリセットを行
い、それまでのネットワーク構成をリセットしてから、
新たなネットワークの再構築を行なう。この機能によっ
て、その時々のネットワークの構成を常時設定、認識す
ることができる。
【0015】またデータ転送速度は、100/200/
400Mbpsと備えており、上位の転送速度を持つ機
器が下位の転送速度をサポートし、互換をとるようにな
っている。
【0016】データ転送モードとしては、コントロール
信号などの非同期データ(Asynchronousデ
ータ:以下、Asyncデータと言う)を転送するAs
ynchronous転送モードとリアルタイムなビデ
オデータやオーディオデータ等の同期データ(Isoc
hronousデータ:以下、Isoデータと言う)を
転送するIsochronous転送モードがある。こ
のAsyncデータとIsoデータは各サイクル(通常
1サイクル125μS )の中において、サイクル開始を
示すサイクル・スタート・パケット(CSP)を転送し
た後、Isoデータの転送をAsyncデータより優先
しつつサイクル内で混在して転送される。
【0017】つぎに、図2に1394シリアルバスの構
成要素を示す。
【0018】1394シリアルバスは全体としてレイヤ
(階層)構造で構成されている。図2に示したように、
1394シリアルバスのケーブルとコネクタが接続され
るコネクタポートがあり、その上にハードウェアとして
フィジカル・レイヤとリンク・レイヤを位置づけしてい
る。
【0019】ハードウェア部は実質的なインターフェイ
スチップの部分であり、そのうちフィジカル・レイヤは
符号化やコネクタ関連の制御等を行い、リンク・レイヤ
はパケット転送やサイクルタイムの制御等を行なう。
【0020】ファームウェア部のトランザクション・レ
イヤは、転送(トランザクション)すべきデータの管理
を行ない、Read、Write、Lockの命令を出
す。マネージメント・レイヤは、接続されている各機器
の接続状況や識別子(ID)の管理を行ない、ネットワ
ークの構成を管理する部分である。
【0021】このハードウェアとファームウェアまでが
実質上の1394シリアルバスの構成である。
【0022】またソフトウェア部のアプリケーション・
レイヤは使うソフトによって異なり、インタフェース上
にどのようにデータをのせるか規定する部分であり、プ
リンタやAVCプロトコルなどが規定されている。
【0023】以上が1394シリアルバスの構成であ
る。
【0024】つぎに、図3に1394シリアルバスにお
けるアドレス空間の図を示す。
【0025】1394シリアルバスに接続された各機器
(ノード)には必ず各ノード固有の、64ビットアドレ
スを持たせておく。そしてこのアドレスをROMに格納
しておくことで、自分や相手のノードアドレスを常時認
識でき、相手を指定した通信も行なえる。
【0026】1394シリアルバスのアドレッシング
は、IEEE1212規格に準じた方式であり、アドレ
ス設定は、最初の10bitがバスの番号の指定用に、
次の6bitがノードID番号の指定用に使われる。残り
の48bitが機器に与えられたアドレス幅になり、そ
れぞれ固有のアドレス空間として使用できる。最後の2
8bitは固有データの領域として、各機器の識別や使
用条件の指定の情報などを格納する。
【0027】CRSアークテクチャでは、各ノードの機
能を表すためのConfiguration ROMを
持っているが、このROMには、最小形式と一般形式が
あり、xFFFFF0000400から配置される。こ
のようなROMが、図3中のROMに対応している。
【0028】最小形式では、図4に示すように、ベンダ
IDを表しているだけであり、このIDは、24ビット
で表される全世界で固有の数値である。
【0029】一般形式では、図5に示すような形式で、
ノードに関する情報を持っているが、この場合のベンダ
IDは、root_directoryに持つことがで
きる。
【0030】また、bis_inf_blockとro
ot_leafには、ベンダIDを含んだ64ビットの
全世界で固有な装置番号を持っている。
【0031】この装置番号は、バスリセットなどの再構
成後に継続してノードを認識するために使用する。
【0032】図6は、ディジタルカメラのコンフィグレ
ーションROMの一例を示したものである。
【0033】図6中のベンダIDは、node_ven
dor_id、chip_id_hi、chip_id
_loの64ビットで表されている。
【0034】以上が1394シリアルバスの技術の概要
である。
【0035】つぎに、1394シリアルバスの特徴とい
える技術の部分を、より詳細に説明する。
【0036】1394シリアルバスの電気的仕様につい
て説明する。
【0037】図7に1394シリアルバス・ケーブルの
断面図を示す。
【0038】1394シリアルバスでは接続ケーブル内
に6ピン、即ち2組のツイストペア信号線の他に、電源
ラインを設けている。これによって、電源を持たない機
器や、故障により電圧低下した機器等にも電力の供給が
可能になっている。
【0039】電源線内を流れる電源の電圧は8〜40
V、電流は最大電流DC1.5Aと規定されている。
【0040】なお、DVケーブルと呼ばれる規格では電
源を省いた4ピンで構成されている。
【0041】DS−Link符号化について説明する。
【0042】1394シリアルバスで採用されている、
データ転送フォーマットのDS−Link符号化方式を
説明するための図を図8に示す。
【0043】1394シリアルバスでは、DS−Lin
k(Data/Strobe Link )符号化方式が採用されてい
る。このDS−Link符号化方式は、高速なシリアル
データ通信に適しており、その構成は、2本の信号線を
必要とする。より対線のうち1本に主となるデータを送
り、他方のより対線にはストローブ信号を送る構成にな
っている。受信側では、この通信されるデータと、スト
ローブとの排他的論理和をとることによってクロックを
再現する。
【0044】このDS−Link符号化方式を用いるメ
リットとして、8/10B変換に比べて転送効率が高い
こと、PLL回路が不要となるのでコントローラLSI
の回路規模を小さくできること、更には、転送すべきデ
ータが無いときにアイドル状態であることを示す情報を
送る必要が無いので、各機器のトランシーバ回路をスリ
ープ状態にすることができることによって、消費電力の
低減が図れる、などが挙げられる。
【0045】バスリセットのシーケンスについて説明す
る。
【0046】1394シリアルバスでは、接続されてい
る各機器(ノード)にはノードIDが与えられ、ネット
ワーク構成として認識されている。
【0047】このネットワーク構成に変化があったと
き、例えばノードの挿抜や電源のON/OFFなどによ
るノード数の増減などによって変化が生じて、新たなネ
ットワーク構成を認識する必要があるとき、変化を検知
した各ノードはバス上にバスリセット信号を送信して、
新たなネットワーク構成を認識するモードに入る。
【0048】このときの変化の検知方法は、1394ポ
ート基盤上でのバイアス電圧の変化を検知することによ
って行われる。
【0049】あるノードからバスリセット信号が伝達さ
れて、各ノードのフィジカルレイヤはこのバスリセット
信号を受けると同時にリンクレイヤにバスリセットの発
生を伝達し、かつ他のノードにバスリセット信号を伝達
する。最終的にすべてのノードがバスリセット信号を検
知した後、バスリセットが起動となる。
【0050】バスリセットは、先に述べたようなケーブ
ル抜挿や、ネットワーク異常等によるハード検出による
起動と、プロトコルからのホスト制御などによってフィ
ジカルレイヤに直接命令を出すことによっても起動す
る。また、バスリセットが起動するとデータ転送は一時
中断され、この間のデータ転送は待たされ、終了後、新
しいネットワーク構成のもとで再開される。
【0051】以上がバスリセットのシーケンスである。
【0052】ノードID決定のシーケンスについて説明
する。
【0053】バスリセットの後、各ノードは新しいネッ
トワーク構成を構築するために、各ノードにIDを与え
る動作に入る。このときの、バスリセットからノードI
D決定までの一般的なシーケンスを図9、10、11の
フローチャートを用いて説明する。
【0054】図9のフローチャートは、バスリセットの
発生からノードIDが決定し、データ転送が行えるよう
になるまでの、一連のバスの作業を示してある。
【0055】まず、ステップS101として、ネットワ
ーク内にバスリセットが発生することを常時監視してい
て、ここでノードの電源ON/OFFなどでバスリセッ
トが発生するとステップS102に移る。
【0056】ステップS102では、ネットワークがリ
セットされた状態から、新たなネットワークの接続状況
を知るために、直接接続されている各ノード間において
親子関係の宣言がなされる。ステップS103として、
すべてのノード間で親子関係が決定すると、ステップS
104として一つのルートが決定する。すべてのノード
間で親子関係が決定するまで、ステップS102の親子
関係の宣言をおこない、またルートも決定されない。
【0057】ステップS104でルートが決定される
と、次はステップS105として、各ノードにIDを与
えるノードIDの設定作業が行われる。所定のノード順
序で、ノードIDの設定が行われ、すべてのノードにI
Dが与えられるまで繰り返し設定作業が行われ、最終的
にステップS106としてすべてのノードにIDを設定
し終えたら、新しいネットワーク構成がすべてのノード
において認識されたので、ステップS107としてノー
ド間のデータ転送が行える状態となり、データ転送が開
始される。
【0058】このステップS107の状態になると、再
びバスリセットが発生するのを監視するモードに入り、
バスリセットが発生したらステップS101からステッ
プS106までの設定作業が繰り返し行われる。
【0059】 以上が、図9のフローチャートの説明で
あるが、図9のフローチャートのバスリセットからルー
ト決定までの部分と、ルート決定後からID設定終了ま
での手順をより詳しくフローチャート図に表したものを
それぞれ、図10、図11に示す。
【0060】まず、図10のフローチャートの説明を行
う。
【0061】ステップS201としてバスリセットが発
生すると、ネットワーク構成は一旦リセットされる。な
お、ステップS201としてバスリセットが発生するの
を常に監視している。
【0062】次に、ステップS202として、リセット
されたネットワークの接続状況を再認識する作業の第一
段階として、各機器にリーフ(ノード)であることを示
すフラグを立てておく。さらに、ステップS203とし
て各機器が自分の持つポートがいくつ他ノードと接続さ
れているのかを調べる。
【0063】ステップS204のポート数の結果に応じ
て、これから親子関係の宣言を始めていくために、未定
義(親子関係が決定されてない)ポートの数を調べる。
バスリセットの直後はポート数=未定義ポート数である
が、親子関係が決定されていくにしたがって、ステップ
S204で検知する未定義ポートの数は変化していくも
のである。
【0064】まず、バスリセットの直後、はじめに親子
関係の宣言を行えるのはリーフに限られている。リーフ
であるというのはステップS203のポート数の確認で
知ることができる。リーフは、ステップS205とし
て、自分に接続されているノードに対して、「自分は
子、相手は親」と宣言し動作を終了する。
【0065】ステップS203でポート数が複数ありブ
ランチと認識したノードは、バスリセットの直後はステ
ップS204で未定義ポート数>1ということなので、
ステップS206へと移り、まずブランチというフラグ
が立てられ、ステップS207でリーフからの親子関係
宣言で「親」の受付をするために待つ。
【0066】リーフが親子関係の宣言を行い、ステップ
S207でそれを受けたブランチは適宜ステップS20
4の未定義ポート数の確認を行い、未定義ポート数が1
になっていれば残っているポートに接続されているノー
ドに対して、ステップS205の「自分が子」の宣言を
することが可能になる。2度目以降、ステップS204
で未定義ポート数を確認しても2以上あるブランチに対
しては、再度ステップS207でリーフ又は他のブラン
チからの「親」の受付をするために待つ。
【0067】最終的に、いずれか1つのブランチ、又は
例外的にリーフ(子宣言を行えるのにすばやく動作しな
かった為)がステップS204の未定義ポート数の結果
としてゼロになったら、これにてネットワーク全体の親
子関係の宣言が終了したものであり、未定義ポート数が
ゼロ(すべて親のポートとして決定)になった唯一のノ
ードはステップS208としてルートのフラグが立てら
れ、ステップS209としてルートとしての認識がなさ
れる。
【0068】このようにして、図10に示したバスリセ
ットから、ネットワーク内すべてのノード間における親
子関係の宣言までが終了する。
【0069】つぎに、図11のフローチャートについて
説明する。
【0070】まず、図11までのシーケンスでリーフ、
ブランチ、ルートという各ノードのフラグの情報が設定
されているので、これを元にして、ステップS301で
それぞれ分類する。
【0071】各ノードにIDを与える作業として、最初
にIDの設定を行うことができるのはリーフからであ
る。リーフ→ブランチ→ルートの順で若い番号(ノード
番号=0〜)からIDの設定がなされていく。
【0072】ステップS302としてネットワーク内に
存在するリーフの数N(Nは自然数)を設定する。
【0073】この後、ステップS303として各自リー
フがルートに対して、IDを与えるように要求する。こ
の要求が複数ある場合には、ルートはステップS304
としてアービトレーションを行い、ステップS305と
して勝ったノード1つにID番号を与え、負けたノード
には失敗の結果通知を行う。
【0074】ステップS306としてID取得が失敗に
終わったリーフは、再度ID要求を出し、同様の作業を
繰り返す。IDを取得できたリーフからステップS30
7として、そのノードのID情報をブロードキャストで
全ノードに転送する。1ノードID情報のブロードキャ
ストが終わると、ステップS308として残りのリーフ
の数が1つ減らされる。
【0075】ここで、ステップS309として、この残
りのリーフの数が1以上ある時はステップS303のI
D要求の作業からを繰り返し行い、最終的にすべてのリ
ーフがID情報をブロードキャストすると、ステップS
309がN=0となり、次はブランチのID設定に移
る。ブランチのID設定もリーフの時と同様に行われ
る。
【0076】まず、ステップS310としてネットワー
ク内に存在するブランチの数M(Mは自然数)を設定す
る。
【0077】この後、ステップS311として各自ブラ
ンチがルートに対して、IDを与えるように要求する。
これに対してルートは、ステップS312としてアービ
トレーションを行い、勝ったブランチから順にリーフに
与え終った次の若い番号から与えていく。
【0078】ステップS313として、ルートは要求を
出したブランチにID情報又は失敗結果を通知し、ステ
ップS314としてID取得が失敗に終わったブランチ
は、再度ID要求を出し、同様の作業を繰り返す。
【0079】IDを取得できたブランチからステップS
315として、そのノードのID情報をブロードキャス
トで全ノードに転送する。
【0080】1ノードID情報のブロードキャストが終
わると、ステップS316として残りのブランチの数が
1つ減らされる。
【0081】ここで、ステップS317として、この残
りのブランチの数が1以上ある時はステップS311の
ID要求の作業からを繰り返し、最終的にすべてのブラ
ンチがID情報をブロードキャストするまで行われる。
すべてのブランチがノードIDを取得すると、ステップ
S317はM=0となり、ブランチのID取得モードも
終了する。
【0082】ここまで終了すると、最終的にID情報を
取得していないノードはルートのみなので、ステップS
318として与えていない番号で最も若い番号を自分の
ID番号と設定し、ステップS319としてルートのI
D情報をブロードキャストする。
【0083】以上で、図11に示したように、親子関係
が決定した後から、すべてのノードのIDが設定される
までの手順が終了する。
【0084】次に、一例として図12に示した実際のネ
ットワークにおける動作を図12を参照しながら説明す
る。
【0085】図12の説明として、(ルート)ノードB
の下位にはノードAとノードCが直接接続されており、
更にノードCの下位にはノードDが直接接続されてお
り、更にノードDの下位にはノードEとノードFが直接
接続された階層構造になっている。この、階層構造やル
ートノード、ノードIDを決定する手順を以下で説明す
る。
【0086】バスリセットがされた後、まず各ノードの
接続状況を認識するために、各ノードの直接接続されて
いるポート間において、親子関係の宣言がなされる。こ
の親子とは親側が階層構造で上位となり、子側が下位と
なると言うことができる。
【0087】図12ではバスリセットの後、最初に親子
関係の宣言を行なったのはノードAである。基本的にノ
ードの1つのポートにのみ接続があるノード(リーフと
呼ぶ)から親子関係の宣言を行なうことができる。これ
は自分には1ポートの接続のみということをまず知るこ
とができるので、これによってネットワークの端である
ことを認識し、その中で早く動作を行なったノードから
親子関係が決定されていく。こうして親子関係の宣言を
行なった側(A- B間ではノードA)のポートが子と設
定され、相手側(ノードB)のポートが親と設定され
る。こうして、ノードA−B間では子−親、ノードE−
D間で子−親、ノードF−D間で子−親と決定される。
【0088】さらに1階層あがって、今度は複数個接続
ポートを持つノード(ブランチと呼ぶ)のうち、他ノー
ドからの親子関係の宣言を受けたものから順次、更に上
位に親子関係の宣言を行なっていく。図12ではまずノー
ドDがD−E間、D−F間と親子関係が決定した後、ノ
ードCに対する親子関係の宣言を行っており、その結果
ノードD−C間で子−親と決定している。
【0089】ノードDからの親子関係の宣言を受けたノ
ードCは、もう一つのポートに接続されているノードB
に対して親子関係の宣言を行なっている。これによって
ノードC−B間で子−親と決定している。
【0090】このようにして、図12のような階層構造
が構成され、最終的に接続されているすべてのポートに
おいて親となったノードBが、ルートノードと決定され
た。ルートは1つのネットワーク構成中に一つしか存在
しないものである。
【0091】なお、この図12においてノードBがルー
トノードと決定されたが、これはノードAから親子関係
宣言を受けたノードBが、他のノードに対して親子関係
宣言を早いタイミングで行なっていれば、ルートノード
は他ノードに移っていたこともあり得る。すなわち、伝
達されるタイミングによってはどのノードもルートノー
ドとなる可能性があり、同じネットワーク構成でもルー
トノードは一定とは限らない。
【0092】ルートノードが決定すると、次は各ノード
IDを決定するモードに入る。ここではすべてのノード
が、決定した自分のノードIDを他のすべてのノードに通
知する(ブロードキャスト機能)。
【0093】自己ID情報は、自分のノード番号、接続さ
れている位置の情報、持っているポートの数、接続のあ
るポートの数、各ポートの親子関係の情報等を含んでい
る。
【0094】ノードID番号の割り振りの手順としては、
まず1つのポートにのみ接続があるノード(リーフ)か
ら起動することができ、この中から順にノード番号=
0、1、2、・・・と割り当てられる。
【0095】ノードIDを手にしたノードは、ノード番
号を含む情報をブロードキャストで各ノードに送信す
る。これによって、そのID番号は「割り当て済み」で
あることが認識される。
【0096】すべてのリーフが自己ノードIDを取得し
終ると、次はブランチへ移りリーフに引き続いたノード
ID番号が各ノードに割り当てられる。リーフと同様
に、ノードID番号が割り当てられたブランチから順次ノ
ードID情報をブロードキャストし、最後にルートノー
ドが自己ID情報をブロードキャストする。すなわち、
常にルートは最大のノードID番号を所有するものであ
る。
【0097】以上のようにして、階層構造全体のノード
IDの割り当てが終わり、ネットワーク構成が再構築さ
れ、バスの初期化作業が完了する。
【0098】アービトレーションについて説明する。
【0099】1394シリアルバスでは、データ転送に
先立って必ずバス使用権のアービトレーション(調停)
を行なう。1394シリアルバスは個別に接続された各
機器が、転送された信号をそれぞれ中継することによっ
て、ネットワーク内すべての機器に同信号を伝えるよう
に、論理的なバス型ネットワークであるので、パケット
の衝突を防ぐ意味でアービトレーションは必要である。
これによってある時間には、たった一つのノードのみ転
送を行なうことができる。
【0100】アービトレーションを説明するための図と
して図13(a)にバス使用要求の図(b)にバス使用
許可の図を示し、以下これを用いて説明する。
【0101】アービトレーションが始まると、1つもし
くは複数のノードが親ノードに向かって、それぞれバス
使用権の要求を発する。図13(a)のノードCとノー
ドFがバス使用権の要求を発しているノードである。こ
れを受けた親ノード(図13ではノードA)は更に親ノ
ードに向かって、バス使用権の要求を発する(中継す
る)。この要求は最終的に調停を行なうルートに届けら
れる。
【0102】バス使用要求を受けたルートノードは、ど
のノードにバスを使用させるかを決める。この調停作業
はルートノードのみが行なえるものであり、調停によっ
て勝ったノードにはバスの使用許可を与える。図13
(b)ではノードCに使用許可が与えられ、ノードFの
使用は拒否された図である。
【0103】アービトレーションに負けたノードに対し
てはDP(data prefix )パケットを送り、拒否された
ことを知らせる。拒否されたノードのバス使用要求は次
回のアービトレーションまで待たされる。
【0104】以上のようにして、アービトレーションに
勝ってバスの使用許可を得たノードは、以降データの転
送を開始できる。
【0105】ここで、アービトレーションの一連の流れ
をフローチャート図14に示して、説明する。
【0106】ノードがデータ転送を開始できる為には、
バスがアイドル状態であることが必要である。先に行わ
れていたデータ転送が終了して、現在バスが空き状態で
あることを認識するためには、各転送モードで個別に設
定されている所定のアイドル時間ギャップ長(例えば、
サブアクション・ギャップ)を経過する事によって、各
ノードは自分の転送が開始できると判断する。
【0107】ステップS401として、Asyncデー
タ、Isoデータ等それぞれ転送するデータに応じた所
定のギャップ長が得られたか判断する。所定のギャップ
長が得られない限り、転送を開始するために必要なバス
使用権の要求はできないので、所定のギャップ長が得ら
れるまで待つ。
【0108】ステップS401で所定のギャップ長が得
られたら、ステップS402として転送すべきデータが
あるか判断し、ある場合はステップS403として転送
するためにバスを確保するよう、バス使用権の要求をル
ートに対して発する。このときの、バス使用権の要求を
表す信号の伝達は、図13に示したように、ネットワー
ク内各機器を中継しながら、最終的にルートに届けられ
る。ステップS402で転送するデータがない場合は、
そのまま待機する。
【0109】次に、ステップS404として、ステップ
S403のバス使用要求を1つ以上ルートが受信した
ら、ルートはステップS405として使用要求を出した
ノードの数を調べる。
【0110】ステップS405での選択値がノード数=
1(使用権要求を出したノードは1つ)だったら、その
ノードに直後のバス使用許可が与えられることとなる。
ステップS405での選択値がノード数>1(使用要求
を出したノードは複数)だったら、ルートはステップS
406として使用許可を与えるノードを1つに決定する
調停作業を行う。この調停作業は公平なものであり、毎
回同じノードばかりが許可を得る様なことはなく、平等
に権利を与えていくような構成となっている(フェア・
アービトレーション)。
【0111】ステップS407として、ステップS40
6で使用要求を出した複数ノードの中からルートが調停
して使用許可を得た1つのノードと、敗れたその他のノ
ードに分ける選択を行う。ここで、調停されて使用許可
を得た1つのノード、またはステップS405の選択値
から使用要求ノード数=1で調停無しに使用許可を得た
ノードには、ステップS408として、ルートはそのノ
ードに対して許可信号を送る。
【0112】許可信号を得たノードは、受け取った直後
に転送すべきデータ(パケット)を転送開始する。ま
た、ステップS406の調停で敗れて、バス使用が許可
されなかったノードにはステップS409としてルート
から、アービトレーション失敗を示すDP(data prefi
x )パケットを送られ、これを受け取ったノードは再度
転送を行うためのバス使用要求を出すため、ステップS
401まで戻り、所定ギャップ長が得られるまで待機す
る。
【0113】以上がアービトレーションの流れを説明し
た、フローチャート図14の説明である。
【0114】Asynchronous(非同期)転送
について説明する。
【0115】アシンクロナス転送は、非同期転送であ
る。図15にアシンクロナス転送における時間的な遷移
状態を示す。
【0116】図15の最初のサブアクション・ギャップ
は、バスのアイドル状態を示すものである。このアイド
ル時間が一定値になった時点で、転送を希望するノード
はバスが使用できると判断して、バス獲得のためのアー
ビトレーションを実行する。
【0117】アービトレーションでバスの使用許可を得
ると、次にデータの転送がパケット形式で実行される。
データ転送後、受信したノードは転送されたデータに対
しての受信結果のack (受信確認用返送コード)をac
k gapという短いギャップの後、返送して応答する
か、応答パケットを送ることによって転送が完了する。
ackは4ビットの情報と4ビットのチェックサムから
なり、成功か、ビジー状態か、ペンディング状態である
かといった情報を含み、すぐに送信元ノードに返送され
る。
【0118】つぎに、図16にアシンクロナス転送のパ
ケットフォーマットの例を示す。
【0119】パケットには、データ部及び誤り訂正用の
データCRCの他にはヘッダ部があり、そのヘッダ部に
は図16に示したような、目的ノードID、ソースノー
ドID、転送データ長さや各種コードなどが書き込ま
れ、転送が行なわれる。
【0120】また、アシンクロナス転送は自己ノードか
ら相手ノードへの1対1の通信である。転送元ノードか
ら転送されたパケットは、ネットワーク中の各ノードに
行き渡るが、自分宛てのアドレス以外のものは無視され
るので、宛先の1つのノードのみが読込むことになる。
【0121】以上がアシンクロナス転送の説明である。
【0122】Isochronous(同期)転送につ
いて説明する。
【0123】アイソクロナス転送は同期転送である。1
394シリアルバスの最大の特徴であるともいえるこの
アイソクロナス転送は、特に映像データや音声データと
いったマルチメディアデータなど、リアルタイムな転送
を必要とするデータの転送に適した転送モードである。
【0124】また、アシンクロナス転送(非同期)が1
対1の転送であったのに対し、このアイソクロナス転送
はブロードキャスト機能によって、転送元の1つのノー
ドから他のすべてのノードへ一様に転送される。
【0125】図17はアイソクロナス転送における、時
間的な遷移状態を示す図である。
【0126】アイソクロナス転送は、バス上一定時間毎
に実行される。この時間間隔をアイソクロナスサイクル
と呼ぶ。アイソクロナスサイクル時間は、125μS で
ある。この各サイクルの開始時間を示し、各ノードの時
間調整を行なう役割を担っているのがサイクル・スター
ト・パケットである。サイクル・スタート・パケットを
送信するのは、サイクル・マスタと呼ばれるノードであ
り、1つ前のサイクル内の転送終了後、所定のアイドル
期間(サブアクションギャップ)を経た後、本サイクル
の開始を告げるサイクル・スタート・パケットを送信す
る。
【0127】このサイクル・スタート・パケットの送信
される時間間隔が125μS となる。
【0128】また、図17にチャネルA、チャネルB、
チャネルCと示したように、1サイクル内において複数
種のパケットがチャネルIDをそれぞれ与えられることに
よって、区別して転送できる。これによって同時に複数
ノード間でのリアルタイムな転送が可能であり、また受
信するノードでは自分が欲しいチャネルIDのデータの
みを取り込む。このチャネルIDは送信先のアドレスを
表すものではなく、データに対する論理的な番号を与え
ているに過ぎない。よって、あるパケットの送信は1つ
の送信元ノードから他のすべてのノードに行き渡る、ブ
ロードキャストで転送されることになる。
【0129】アイソクロナス転送のパケット送信に先立
って、アシンクロナス転送同様アービトレーションが行
われる。しかし、アシンクロナス転送のように1対1の
通信ではないので、アイソクロナス転送にはack(受
信確認用返信コード)は存在しない。
【0130】また、図17に示したiso gap(ア
イソクロナスギャップ)とは、アイソクロナス転送を行
なう前にバスが空き状態であると認識するために必要な
アイドル期間を表している。この所定のアイドル期間を
経過すると、アイソクロナス転送を行ないたいノードは
バスが空いていると判断し、転送前のアービトレーショ
ンを行なうことができる。
【0131】つぎに、図18にアイソクロナス転送のパ
ケットフォーマットの例を示し、説明する。
【0132】各チャネルに分かれた、各種のパケットに
はそれぞれデータ部及び誤り訂正用のデータCRCの他
にヘッダ部があり、そのヘッダ部には図18に示したよ
うな、転送データ長やチャネルNO、その他各種コード及
び誤り訂正用のヘッダCRCなどが書き込まれ、転送が
行なわれる。
【0133】以上がアイソクロナス転送の説明である。
【0134】バス・サイクルについて説明する。
【0135】実際の1394シリアルバス上の転送で
は、アイソクロナス転送と、アシンクロナス転送は混在
できる。その時の、アイソクロナス転送とアシンクロナ
ス転送が混在した、バス上の転送状態の時間的な遷移の
様子を表した図を図19に示す。
【0136】アイソクロナス転送はアシンクロナス転送
より優先して実行される。その理由は、サイクル・スタ
ート・パケットの後、アシンクロナス転送を起動するた
めに必要なアイドル期間のギャップ長(サブアクション
ギャップ)よりも短いギャップ長(アイソクロナスギャ
ップ)で、アイソクロナス転送を起動できるからであ
る。したがって、アシンクロナス転送より、アイソクロ
ナス転送は優先して実行されることとなる。
【0137】図19に示した、一般的なバスサイクルに
おいて、サイクル#mのスタート時にサイクル・スター
ト・パケットがサイクル・マスタから各ノードに転送さ
れる。これによって、各ノードで時刻調整を行ない、所
定のアイドル期間(アイソクロナスギャップ)を待って
からアイソクロナス転送を行なうべきノードはアービト
レーションを行い、パケット転送に入る。図19ではチ
ャネルeとチャネルsとチャネルkが順にアイソクロナ
ス転送されている。
【0138】このアービトレーションからパケット転送
までの動作を、与えられているチャネル分繰り返し行な
った後、サイクル#mにおけるアイソクロナス転送がす
べて終了したら、アシンクロナス転送を行うことができ
るようになる。
【0139】アイドル時間がアシンクロナス転送が可能
なサブアクションギャップに達する事によって、アシン
クロナス転送を行いたいノードはアービトレーションの
実行に移れると判断する。
【0140】ただし、アシンクロナス転送が行える期間
は、アイソクロナス転送終了後から、次のサイクル・ス
タート・パケットを転送すべき時間(cycle synch )ま
での間にアシンクロナス転送を起動するためのサブアク
ションギャップが得られた場合に限っている。
【0141】図19のサイクル#mでは3つのチャネル
分のアイソクロナス転送と、その後アシンクロナス転送
(含むack )が2パケット(パケット1、パケット2)
転送されている。このアシンクロナスパケット2の後
は、サイクルm+1をスタートすべき時間(cycle sync
h )にいたるので、サイクル#mでの転送はここまでで
終わる。
【0142】ただし、非同期または同期転送動作中に次
のサイクル・スタート・パケットを送信すべき時間(cy
cle synch )に至ったとしたら、無理に中断せず、その
転送が終了した後のアイドル期間を待ってから次サイク
ルのサイクル・スタート・パケットを送信する。すなわ
ち、1つのサイクルが125μS 以上続いたときは、そ
の分次サイクルは基準の125μS より短縮されたとす
る。このようにアイソクロナス・サイクルは125μS
を基準に超過、短縮し得るものである。
【0143】しかし、アイソクロナス転送はリアルタイ
ム転送を維持するために毎サイクル必要であれば必ず実
行され、アシンクロナス転送はサイクル時間が短縮され
たことによって次以降のサイクルにまわされることもあ
る。こういった遅延情報も含めて、サイクル・マスタに
よって管理される。
【0144】そこで、まず、第1の実施の形態について
説明する。
【0145】図20は、本発明の特徴を最もよく表す図
であり、同図において1394のインターフェイスをL
ANで用いられるOSIモデルの各層と対比させてみる
と、OSIモデルの物理層1とデータリンク層2が、1
394インターフェイスの下位層4であるフィジカル・
リンク層に該当し、それら下位層4の上に存在する上位
層3が1394インターフェイスではトランスポートプ
ロトコル層5とプレゼンテーション層6に該当する。ま
た、本発明の特徴となるLOGINプロトコル7は、1
394インターフェイスの下位層4とトランスポートプ
ロトコル5との間で動作するものである。
【0146】この実施の形態では、シリアルバスプロト
コル(SBP−2)8に準拠したデバイスにLOGIN
プロトコルを挿入することによって、相手のデバイスに
対して自分がSBP−2に準拠したプロトコルを使って
やり取りを行いたいことを通知することができる。また
例2では、1394インターフェイス上で特化されたデ
バイスプロトコル9についてもLOGINプロトコルを
挿入することで、お互いのデバイスがそのプロトコルが
サポートされているかを判別してデータのやり取りを行
うことができる。
【0147】図21は、LOGINプロトコルの基本動
作を示した図であり、プリンタは印字タスク10を実行
する際にまず初めにLOGINプロトコルを使ってプリ
ンタで用意しているプリンタプロトコルA・B・Cのう
ち、どれを選択して印字するかを決定し、その後は決定
されたプロトコルに沿って印字動作を行う。すなわち、
プリンタ側でいくつかのプリンタプロトコルをサポート
しているデバイスにおいて、ターゲットとの接続の際に
まず初めに相手のデバイスのプロトコルをLOGINプ
ロトコルを使って判別し、プリンタは相手のプロトコル
に合わせたプリンタプロトコルを複数の中からひとつ選
択し、この選ばれたプロトコルに沿って印字データやコ
マンドのやり取りを行って印字処理を行う。
【0148】図22は、この実施の形態におけるLOG
INプロトコルを実装した1394インターフェイスに
おける各デバイスの接続形態を示した図で、複数のプリ
ンタプロトコルに対応したプリンタ11に対してLOG
INプロトコルを実装したデバイス(PC12、スキャ
ナ13、VCR14等)が接続された場合に、LOGI
Nプロトコルを使用して相手のトランスポートプロトコ
ルに応じてプリンタ側でプリンタプロトコルを切り替え
ることにより、各デバイスからの印字タスクを問題なく
処理することが可能となる。
【0149】図23はログイン動作の流れを示したもの
である。
【0150】第一ステップ: ・デバイス(この場合マルチプロトコルプリンタ)をロ
ック ・プリンタのケーパビリティ(受け付けるプロトコル
等)を取得 かかるケーパビリティは、後述するレジスタ503に格
納される。 ・ホストのケーパビリティをプリンタにセット 第二ステップ: ・第一ステップで決定したプロトコルで、プリントデー
タの通信 第三ステップ: ・プリンタとホストは、コネクションを切断
【0151】図24は、この実施の形態においてLOG
INプロトコルのためにプリンタが備える1394シリ
アルバスのCSRを示し、図中、501はロックレジス
タ(lock)、502はプロトコルレジスタ(pro
tocol)、503はケーパビリティレジスタ(ca
pability)を示す。これらのレジスタは139
4シリアルバスのアドレス空間における初期ユニット空
間の定められたアドレスに配置される。ロックレジスタ
501はリソースのロック状態を示し、値0はログイン
可能な状態をあらわし、0以外はロック状態ですでにロ
グインされていることをあらわす。ケーパビリティレジ
スタ503は設定可能なプロトコルを示し、ビット毎に
プロトコルに対応し、ビットの値1はそのプロトコルが
設定可能であることをあらわし、0は設定不可能である
ことをあらわす。プロトコルレジスタ502は現在設定
されたプロトコルを示し、設定されたプロトコルに対応
するケーパビリティレジスタ503のビットに相当する
ビットの値が1になる。
【0152】図25は、ログイン処理のホスト側のフロ
ーチャートである。
【0153】ログインを開始するためには、まずログイ
ンしようとするプリンタのロックレジスタ501、プロ
トコルレジスタ502、ケーパビリティレジスタ503
をリードトランザクションにより確認する。ここで、ケ
ーパビリティレジスタ503の内容から、ホストが通信
に用いるプロトコルをプリンタがサポートしているかど
うか確認する(ステップS601)。もしホストのプロ
トコルがプリンタのサポート外ならば、次のステップで
ログインを中止する。
【0154】ロックレジスタ501が0以外であれば、
他のデバイスがログイン中であるとみなし、ログインを
中止する。ログインレジスタ501が0であれば、現在
ログイン可能とみなす(ステップS602)。
【0155】ログイン可能の場合リソースロック処理に
移り、プリンタのロックレジスタ501にロックトラン
ザクションを用いて1を書き込み、ホスト側のログイン
設定とする(ステップS603)。この状態でプリンタ
はロックされたことになり、他のデバイスからの出力は
不可能。またレジスタの変更も不可能とする。
【0156】上記のようにプリンタのリソースがロック
された状態で、次にプロトコルの設定を行なう。本実施
の形態におけるプリンタは、複数プリントプロトコルを
サポートするため、プリントデータを受け取る前に、ホ
スト側のプロトコルを知らねばならない。ここでは、ホ
スト側がプリンタのプロトコルレジスタ502に対し
て、ライトトランザクションにより、これから使用する
プロトコルに相当するビットを立て通知する(ステップ
S604)、という手段を用いる。
【0157】この時点で、ホストが通信に用いるプロト
コルがプリンタに通知され、かつプリンタがロック状態
なので、現在ログインしているホストが通常のプロトコ
ルでプリントデータの送信を行なう(ステップS60
5)。
【0158】プリントデータの送信が終了したら、ホス
トはプリンタのロックレジスタ501、プロトコルレジ
スタ502、ケーパビリティレジスタ503をクリアす
ることにより、プリンタからログアウトする(ステップ
S606)。
【0159】図26は、ログイン処理のプリンタ側のフ
ローチャートである。
【0160】先ず、プリンタ側は、通常ホストからのロ
グイン待ち状態となる(ステップS701)。ログイン
は、ホストからプリンタロックレジスタ501、プロト
コルレジスタ502、ケーパビリティレジスタ503の
読み取りから開始される。これは、ログインに対応した
ホストの場合であり、ログインに対応していないホスト
では、これらのレジスタに対するアクセスは行われな
い。
【0161】ログイン待ち状態(ステップS701)
は、所定の時間でタイムアウトとなるようになされてお
り、次のステップS702で、タイムアウトか否かが判
定される。
【0162】ステップS702の判定により、タイムア
ウトせずにその時間内でログインが行われれば、使用プ
ロトコル種の受信待ち(ステップS705)へ進み、使
用プロトコルの通知待ち状態となる。
【0163】一方、ステップS702の判定により、タ
イムアウトとなった場合、プロトコル検索を行う(ステ
ップS703)。プロトコル検索は、詳細は後述する
が、ホストとなるノードを探し、ノードIDからホスト
のプロトコルを検索する処理である。
【0164】ステップS703のプロトコル検索の結果
を用いて、次のステップS704でプリンタが対応する
プロトコルであるか否が判定される。
【0165】ステップS704の判定により、プリンタ
が対応するプロトコルである場合には、プロトコルの設
定を行う(ステップS706)。
【0166】一方、プリンタが対応するプロトコルでな
ければ、ログイン待ち状態(ステップS701)とな
る。
【0167】したがって、ログインされて使用プロトコ
ルが通知される(ステップS705)か、或いは、プロ
トコル検索で対応プロトコルが見つかった(ステップS
704)場合に、プロトコルの設定を行う(ステップS
706)。
【0168】プロトコルの設定(ステップS706)
後、次のステップS707〜ステップS712により、
各プロトコルへのスイッチを行い、各プロトコルでデー
タ通信を行う。
【0169】そして、データ通信が終了すると、プリン
タは、ロックレジスタ501、プロトコルレジスタ50
2、ケーパビリティレジスタ503がクリアされたのを
確認し(ステップS713)、ログイン待ち状態(ステ
ップS701)に戻る。
【0170】但し、プロトコル検索(ステップS70
3)にて、プロトコルが決定されるような場合、当然ロ
グアウトにも対応していないわけであるため、この場合
には、バスのリセット、ホスト、プリンタのリセット等
により、初期状態のログイン待ち状態となる。
【0171】図27は、上述したプロトコル検索を示す
フローチャートである。
【0172】先ず、バス上にあるノードの総数を得る
(ステップS801)。バスノードの総数は、バスマネ
ージャが保持するトポロジーマップ等から判断すること
ができる。
【0173】次に、ステップS801により得られたノ
ードの総数が有効であるか否かを判定する(ステップS
802)。この判定は、上記ノード総数が3以上の場合
か、或いは、自分以外に存在しない場合(ステップS8
02)、対応プロトコル無し(無効)とする処理であ
る。
【0174】ステップS802の判定により、ノード総
数が無効であった場合には、対応プロトコル無しとして
(ステップS807)、リターンする。
【0175】一方、ノードの総数が有効であった場合、
相手のノード番号を得る(ステップS803)。自分の
ノード番号が「0」であるならば、相手のノード番号は
「1」、自分のノード番号が「1」であるならば、相手
のノード番号は「0」というように、相手のノード番号
は単純に決定することができる。
【0176】次に、相手のノードIDを得る(ステップ
S804)。ノードIDは、図6に示したConfig
uration ROMのnode_vendor_i
d,chip_id_hi,chip_id_loをr
eadトランザクションで読み込むことにより、得るこ
とができる。また、ノードIDは、機器により固有のナ
ンバーを有するため、相手の機器を特定することができ
る。
【0177】次に、相手の機器から相手のプロトコルを
決定する(ステップS805)。
【0178】次に、相手のプロトコルがプリンタに有効
か否かを判定し(ステップS806)、有効でなければ
対応プロトコル無しとし(ステップS807)、有効で
あれば対応プロトコル有りとして(ステップS80
8)、リターンする。
【0179】したがって、上述したプロトコル検索の結
果が、対応プロトコルの有無と、プロトコルとして通知
されることとなる。
【0180】以上の図26及び図27に示した処理によ
り、ログインを行わない機器に対してプリンタが相手の
ノードIDから相手のプロトコルを特定し、そのプロト
コルに自らのプロトコルを合わせることができる。
【0181】尚、本発明は、図22に示すような、複数
の機器から構成されるシステムに適用しても、1つの機
器からなる装置内のデータ処理方法に適用してもよい。
【0182】また、本発明の目的は、上述した各実施の
形態のホスト及び端末の機能を実現するソフトウェアの
プログラムコードを記憶した記憶媒体を、システム或い
は装置に供給し、そのシステム或いは装置のコンピュー
タ(又はCPUやMPU)が記憶媒体に格納されたプロ
グラムコードを読みだして実行することによっても、達
成されることは言うまでもない。
【0183】この場合、記憶媒体から読み出されたプロ
グラムコード自体が前述した各実施の形態の機能を実現
することとなり、そのプログラムコードを記憶した記憶
媒体は本発明を構成することとなる。
【0184】プログラムコードを供給するための記憶媒
体としては、例えば、フロッピーディスク、ハードディ
スク、光ディスク、光磁気ディスク、CD−ROM、C
D−R、磁気テープ、不揮発性のメモリカード、ROM
等を用いることができる。
【0185】また、コンピュータが読みだしたプログラ
ムコードを実行することにより、前述した実施の形態の
機能が実現されるだけでなく、そのプログラムコードの
指示に基づき、コンピュータ上で稼動しているOS等が
実際の処理の一部又は全部を行い、その処理によって実
施の形態の機能が実現される場合も含まれることは言う
までもない。
【0186】さらに、記憶媒体から読み出されたプログ
ラムコードが、コンピュータに挿入された拡張機能ボー
ドやコンピュータに接続された機能拡張ユニットに備わ
るメモリに書き込まれた後、そのプログラムコードの指
示に基づき、その機能拡張ボードや機能拡張ユニットに
備わるCPUなどが実際の処理の一部又は全部を行い、
その処理によって前述した実施の形態の機能が実現され
る場合も含まれることは言うまでもない。
【0187】さらにまた、本発明におけるホスト固有の
識別子としては、アスキーコードでもよいし、2値デー
タでもよいし、或いは、ホストを専有している法人、個
人の名前でもよい。また、識別子としては、ネットワー
クアドレスでもよいし、例えば、IPアドレスや、MA
Cアドレスと呼ばれるアドレスでもよい。また、例え
ば、ホストに固有の識別子でなく、変動型の識別子でも
よいし、又は、暗号化のキー等でもよい。すなわち、ホ
ストが識別できる情報であれば、全て本発明における識
別子に含まれる。
【0188】
【発明の効果】以上説明したように本発明によれば、初
期プロトコルに対応しないホストに対してプリンタのプ
ロトコルを適合させることができ、初期プロトコルを実
装しないホストに対しても、プロトコルを一致させ、幅
広く対応することができる。
【図面の簡単な説明】
【図1】IEEE1394ケーブルを用いた通信システ
ムの一例を示す図である。
【図2】IEEE1394の階層構造を示す図である。
【図3】IEEE1394のアドレスを示す図である。
【図4】最小形式のConfigration ROM
を説明するための図である。
【図5】一般形式のConfigration ROM
を説明するための図である。
【図6】ディジタルカメラのConfigration
ROMを説明するための図である。
【図7】IEEE1394のケーブル断面図である。
【図8】DS-Link 符号化方式を説明するための図であ
る。
【図9】バスリセットからIDの設定までを説明するフロ
ーチャートである。
【図10】ルートの決定方法を説明するフローチャート
である。
【図11】親子関係決定からすべてのノードIDの設定
までの手順を説明するフローチャートである。
【図12】ノード間の親子関係を示す図である。
【図13】アービトレーションの過程を説明するための
図である。
【図14】アービトレーションの過程を示すフローチャ
ートである。
【図15】Asynchronous転送におけるサブアクションを
示す図である。
【図16】Asynchronous転送におけるパケット構造を示
す図である。
【図17】Isochronous 転送におけるサブアクションを
示す図である。
【図18】Isochronous 転送におけるパケット構造を示
す図である。
【図19】IEEE1394の通信サイクルの一例を説
明するための図である。
【図20】本発明を適用したシステムを説明するための
図である。
【図21】LOGINプロトコルの基本動作を説明する
ための図である。
【図22】LOGINプロトコルを実装した1394イ
ンターフェイスにおける各デバイスの接続形態を説明す
るための図である。
【図23】ログイン動作の流れを説明するための図であ
る。
【図24】LOGINプロトコルのためにプリンタが備
える1394シリアルバスのCSRを説明するための図
である。
【図25】ログイン処理のホスト側の処理を説明するた
めのフローチャートである。
【図26】ログイン処理のプリンタ側の処理を説明する
ためのフローチャートである。
【図27】プロトコル検索処理を説明するためのフロー
チャートである。
【符号の説明】
1 OSIモデルの物理層 2 データリンク層 3 上位層 4 上位層 5 トランスポートプロトコル層 6 プレゼンテーション層 7 LOGINプロトコル 8 シリアルバスプロトコル(SBP−2) 9 デバイスプロトコル
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平4−227524(JP,A) 特開 平9−26860(JP,A) 特開 平10−290247(JP,A) 特開 平10−228427(JP,A) 特開 平10−126426(JP,A) 特開 平10−304005(JP,A) 特開 平7−325684(JP,A) 特開 平7−325683(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 3/12 B41J 29/00 G06F 13/00 H04L 29/00

Claims (14)

    (57)【特許請求の範囲】
  1. 【請求項1】 シリアルバスを介して複数種類のプロト
    コルで通信が可能なプリンタのプロトコルを切り換える
    ためのデータ処理方法であって、 前記プリンタのプロトコルの種類に係わらない初期プロ
    トコルによる通信がホストからない場合、前記ホストの
    固有の識別子を取得する取得ステップと、 前記取得ステップで取得された識別子に基づいてプロト
    コルを決定する決定ステップと、 前記決定ステップで決定されたプロトコルの設定を行う
    プロトコル設定ステップとを有することを特徴とするデ
    ータ処理方法。
  2. 【請求項2】 前記シリアルバスは、IEEE1394
    規格に適合したバス、またはUSB規格に適合したバス
    であることを特徴とする請求項1記載のデータ処理方
    法。
  3. 【請求項3】 前記初期プロトコルは、OSIモデルの
    データリンク層よりも上位の層で実行されるプロトコル
    であることを特徴とする請求項1又は2に記載のデータ
    処理方法。
  4. 【請求項4】 前記初期プロトコルはログインプロトコ
    ルであり、 前記取得ステップでは、前記ログインプロトコルによる
    ログインが前記ホストからない場合、前記ホストの固有
    の識別子を取得することを特徴とする請求項1乃至3の
    いずれか1項に記載のデータ処理方法。
  5. 【請求項5】 前記取得ステップでは、前記初期プロト
    コルによる通信が所定の時間ない場合、前記ホストの固
    有の識別子を取得することを特徴とする請求項1乃至4
    のいずれか1項に記載のデータ処理方法。
  6. 【請求項6】 シリアルバスを介して複数種類のプロト
    コルで通信が可能なプリンタのプロトコルを切り換える
    ためのデータ処理装置であって、 前記プリンタのプロトコルの種類に係わらない初期プロ
    トコルによる通信がホストからない場合、前記ホストの
    固有の識別子を取得する取得手段と、 前記取得手段により取得された識別子に基づいてプロト
    コルを決定する決定手段と、 前記決定手段により決定されたプロトコルの設定を行う
    プロトコル設定手段とを有することを特徴とするデータ
    処理装置。
  7. 【請求項7】 前記初期プロトコルは、OSIモデルの
    データリンク層よりも上位の層で実行されるプロトコル
    であることを特徴とする請求項6記載のデータ処理装
    置。
  8. 【請求項8】 前記初期プロトコルはログインプロトコ
    ルであり、 前記取得手段は、前記ログインプロトコルによるログイ
    ンが前記ホストからない場合、 前記ホストの固有の識別子を取得することを特徴とする
    請求項6又は7に記載のデータ処理装置。
  9. 【請求項9】 前記取得手段は、前記初期プロトコルに
    よる通信が所定の時間ない場合、前記ホストの固有の識
    別子を取得することを特徴とする請求項6乃至8のいず
    れか1項に記載のデータ処理装置。
  10. 【請求項10】 シリアルバスを介して複数種類のプロ
    トコルで通信が可能なプリンタであって、 前記プリンタのプロトコルの種類に係わらない初期プロ
    トコルによる通信がホストからない場合、前記ホストの
    固有の識別子を取得する取得手段と、 前記取得手段により取得された識別子に基づいてプロト
    コルを決定する決定手段と、 前記決定手段により決定されたプロトコルの設定を行う
    プロトコル設定手段とを有することを特徴とするプリン
    タ。
  11. 【請求項11】 前記シリアルバスは、IEEE139
    4規格に適合したバス、またはUSB規格に適合したバ
    スであることを特徴とする請求項10記載のプリンタ。
  12. 【請求項12】 前記初期プロトコルは、OSIモデル
    のデータリンク層よりも上位の層で実行されるプロトコ
    ルであることを特徴とする請求項10又は11に記載の
    プリンタ。
  13. 【請求項13】 前記初期プロトコルはログインプロト
    コルであり、 前記取得手段は、前記ログインプロトコルによるログイ
    ンが前記ホストからない場合、 前記ホストの固有の識別子を取得することを特徴とする
    請求項10乃至12のいずれか1項に記載のプリンタ。
  14. 【請求項14】 前記取得手段は、前記初期プロトコル
    による通信が所定の時間ない場合、前記ホストの固有の
    識別子を取得することを特徴とする請求項10乃至13
    のいずれか1項に記載のプリンタ。
JP08982597A 1997-02-14 1997-04-08 データ処理方法、データ処理装置及びプリンタ Expired - Fee Related JP3495878B2 (ja)

Priority Applications (14)

Application Number Priority Date Filing Date Title
JP08982597A JP3495878B2 (ja) 1997-04-08 1997-04-08 データ処理方法、データ処理装置及びプリンタ
SG1998000294A SG74611A1 (en) 1997-02-14 1998-02-10 Data communication apparatus and method
TW087101785A TW384611B (en) 1997-02-14 1998-02-10 Data communication apparatus and method
SG200105141A SG101460A1 (en) 1997-02-14 1998-02-10 Data communication apparatus and method
CA002229472A CA2229472C (en) 1997-02-14 1998-02-11 Data communication apparatus and method
MX9801199A MX9801199A (es) 1997-02-14 1998-02-12 Aparato y metodo de comunicacion de datos.
KR1019980004329A KR100298140B1 (ko) 1997-02-14 1998-02-13 데이타통신장치및방법
AU53921/98A AU5392198A (en) 1997-02-14 1998-02-13 Data communication apparatus and method
CN98104444A CN1126343C (zh) 1997-02-14 1998-02-13 数据通信方法、设备和系统
EP98301120A EP0859325A3 (en) 1997-02-14 1998-02-16 Data communication apparatus and method
EP05076775A EP1612691A1 (en) 1997-02-14 1998-02-16 Data communication apparatus and method
US09/025,128 US6425019B1 (en) 1997-02-14 1998-02-17 Data communication on a serial bus using an initial protocol which being executed in a transaction layer
US10/041,647 US6874082B2 (en) 1997-02-14 2002-01-10 Data communication on a serial bus using a selected protocol based on an obtained device identifier
US11/033,292 US7401213B2 (en) 1997-02-14 2005-01-12 Data communication apparatus and method of a device that supports plural communication methods

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08982597A JP3495878B2 (ja) 1997-04-08 1997-04-08 データ処理方法、データ処理装置及びプリンタ

Publications (2)

Publication Number Publication Date
JPH10283135A JPH10283135A (ja) 1998-10-23
JP3495878B2 true JP3495878B2 (ja) 2004-02-09

Family

ID=13981539

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08982597A Expired - Fee Related JP3495878B2 (ja) 1997-02-14 1997-04-08 データ処理方法、データ処理装置及びプリンタ

Country Status (1)

Country Link
JP (1) JP3495878B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4574253B2 (ja) * 2004-07-09 2010-11-04 キヤノン株式会社 画像処理装置及びその制御方法
KR100888109B1 (ko) 2004-07-09 2009-03-11 캐논 가부시끼가이샤 화상 처리 장치, 그 제어 방법 및 기록 매체

Also Published As

Publication number Publication date
JPH10283135A (ja) 1998-10-23

Similar Documents

Publication Publication Date Title
JP4536981B2 (ja) 情報信号処理装置及び情報信号処理方法
KR100298140B1 (ko) 데이타통신장치및방법
JP4035235B2 (ja) 電子機器
JP2001306428A (ja) ネットワーク機器、ネットワークシステム、通信方法及び記録媒体
JP3293779B2 (ja) 信号処理装置およびその制御方法
JP3630971B2 (ja) データ通信方法、装置、システム、及び記憶媒体
US20040057448A1 (en) Information processing system, information processing apparatus, and information processing method
JP2002077211A (ja) 情報処理装置およびその方法、並びに、記録媒体
JP2001160939A (ja) 画像処理装置及び画像処理システム、及びその制御方法
US7177959B2 (en) Information signal processing apparatus and method
JP3495878B2 (ja) データ処理方法、データ処理装置及びプリンタ
US20060017811A1 (en) Communication system, electronic apparatus, control apparatus, and computer-readable storage medium
JP3682512B2 (ja) 画像取り込み装置及びその制御方法、印刷システム、印刷方法、及び、印刷装置及びその制御方法
JP3495879B2 (ja) データ処理方法、データ処理装置、及びコンピュータ読み取り可能な記録媒体
JP3774542B2 (ja) データ処理方法、データ処理装置、プリンタ及び記憶媒体
JP3897773B2 (ja) 通信方法及び通信装置
JP2003333045A (ja) パワーマネージメント
JP3647328B2 (ja) 画像処理装置及びその制御方法並びに画像処理システム
JP2000196873A (ja) 情報処理装置及び情報処理システム及びそれらの方法と記憶媒体
JPH11110160A (ja) 印刷制御装置及び印刷制御方法
JP4058156B2 (ja) データ処理方法、データ処理装置、プリンタ、及び記憶媒体
JPH11177589A (ja) データ転送装置およびデータ転送装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JPH10307691A (ja) データ通信方法と装置及び印刷装置と前記装置を含む印刷システム
JP2003110651A (ja) データ処理方法、データ処理装置、通信プロトコル及びプログラム
JP2005044078A (ja) 通信方法、印刷装置及びホスト装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081121

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081121

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091121

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101121

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20101121

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111121

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20131121

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees