JP2004030259A - 印刷システム - Google Patents
印刷システム Download PDFInfo
- Publication number
- JP2004030259A JP2004030259A JP2002185945A JP2002185945A JP2004030259A JP 2004030259 A JP2004030259 A JP 2004030259A JP 2002185945 A JP2002185945 A JP 2002185945A JP 2002185945 A JP2002185945 A JP 2002185945A JP 2004030259 A JP2004030259 A JP 2004030259A
- Authority
- JP
- Japan
- Prior art keywords
- node
- data
- transfer
- 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.)
- Pending
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
Abstract
【目的】プリンタ側から履歴情報を入力するだけで、その履歴に該当するジョブのデータの圧縮を解いて再印刷を行うことができる印刷システムを提供すること。
【構成】IEEE1394ネットワークに接続されるプリンタにおいて、プリンタ内で展開されたラスタデータを印刷と同時にホストPCに送り返してユーザーの指定によって設定された期間そのデータをホスト上でジョブ単位で圧縮して記憶媒体に保存し、かつそのデータの履歴情報及びジョブ実行時のドライバの設定情報もリンクさせてホストで管理する事によってプリンタ側から履歴情報を入力するだけでその履歴に該当するジョブのデータの圧縮を解いて再印刷を行う。
【選択図】 図1
【構成】IEEE1394ネットワークに接続されるプリンタにおいて、プリンタ内で展開されたラスタデータを印刷と同時にホストPCに送り返してユーザーの指定によって設定された期間そのデータをホスト上でジョブ単位で圧縮して記憶媒体に保存し、かつそのデータの履歴情報及びジョブ実行時のドライバの設定情報もリンクさせてホストで管理する事によってプリンタ側から履歴情報を入力するだけでその履歴に該当するジョブのデータの圧縮を解いて再印刷を行う。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、IEEE1394インターフェースを介してホストコンピュ−タに接続される印刷装置等の出力装置及び該装置における出力方法に関する。
【0002】
【従来の技術】
従来、プリンタによる印刷処理はホストPCから印刷したい文書を開き、これを印刷データとしてプリンタ側に送り、プリンタはホストからのデータの印刷が完了した時点で全てのジョブが終了した。
【0003】
【発明が解決しようとする課題】
ところが、従来までの方法では同じ文書を再び印刷するにはもう一度ホストでその文書を開きジョブを実行する手段しかないという問題があった。
【0004】
本発明は上記問題に鑑みてなされたもので、その目的とする処は、プリンタ側から履歴情報を入力するだけで、その履歴に該当するジョブのデータの圧縮を解いて再印刷を行うことができる印刷システムを提供することにある。
【0005】
【課題を解決するための手段】
上記目的を達成するため、本発明は、IEEE1394ネットワークに接続されるプリンタにおいて、プリンタ内で展開されたラスタデータを印刷と同時にホストPCに送り返してユーザーの指定によって設定された期間そのデータをホスト上でジョブ単位で圧縮して記憶媒体に保存し、かつそのデータの履歴情報及びジョブ実行時のドライバの設定情報もリンクさせてホストで管理する事によってプリンタ側から履歴情報を入力するだけでその履歴に該当するジョブのデータの圧縮を解いて再印刷を行うことを特徴とする。
【0006】
【発明の実施の形態】
本実施例の構成を説明する前に、本発明では、各機器間を接続するデジタルI/FをIEEE1394シリアルバスを用いるので、IEEE1394シリアルバスについてあらかじめ説明する。
【0007】
《IEEE1394の技術の概要》
家庭用デジタルVTRやDVDの登場も伴なって、ビデオデータやオーディオデータなどのリアルタイムでかつ高情報量のデータ転送のサポートが必要になっている。こういったビデオデータやオーディオデータをリアルタイムで転送し、パソコン(PC)に取り込んだり、またはその他のデジタル機器に転送を行なうには、必要な転送機能を備えた高速データ転送可能なインタフェースが必要になってくるものであり、そういった観点から開発されたインタフェースがIEEE1394−1995 (High Performance Serial Bus )(以下1394シリアルバス)である。
【0008】
図5に1394シリアルバスを用いて構成されるネットワーク・システムの例を示す。このシステムは機器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 は例としてPC、デジタルVTR 、DVD 、デジタルカメラ、ハードディスク、モニタ等である。
【0009】
各機器間の接続方式は、ディジーチェーン方式とノード分岐方式とを混在可能としたものであり、自由度の高い接続が可能である。
【0010】
また、各機器は各自固有のIDを有し、それぞれが認識し合うことによって1394シリアルバスで接続された範囲において、1つのネットワークを構成している。各デジタル機器間をそれぞれ1 本の1394シリアルバスケーブルで順次接続するだけで、それぞれの機器が中継の役割を行い、全体として1つのネットワークを構成するものである。また、1394シリアルバスの特徴でもある、Plug & Play 機能でケーブルを機器に接続した時点で自動で機器の認識や接続状況などを認識する機能を有している。
【0011】
また、図5に示したようなシステムにおいて、ネットワークからある機器が削除されたり、または新たに追加されたときなど、自動的にバスリセットを行い、それまでのネットワーク構成をリセットしてから、新たなネットワークの再構築を行なう。この機能によって、その時々のネットワークの構成を常時設定、認識することができる。
【0012】
また、データ転送速度は、100 /200 /400 Mbpsと備えており、上位の転送速度を持つ機器が下位の転送速度をサポートし、互換をとるようになっている。
【0013】
データ転送モードとしては、コントロール信号などの非同期データ(Asynchronousデータ:以下Async データ)を転送するAsynchronous転送モード、リアルタイムなビデオデータやオーディオデータ等の同期データ(Isochronous データ:以下Iso データ)を転送するIsochronous 転送モードがある。このAsync データとIso データは各サイクル(通常1 サイクル125 μS )の中において、サイクル開始を示すサイクル・スタート・パケット(CSP )の転送に続き、Iso データの転送を優先しつつサイクル内で混在して転送される。
【0014】
次に、図6に1394シリアルバスの構成要素を示す。
【0015】
1394シリアルバスは全体としてレイヤ(階層)構造で構成されている。図8に示したように、最もハード的なのが1394シリアルバスのケーブルであり、そのケーブルのコネクタが接続されるコネクタポートがあり、その上にハードウェアとしてフィジカル・レイヤとリンク・レイヤがある。
【0016】
ハードウェア部は実質的なインターフェイスチップの部分であり、そのうちフィジカル・レイヤは符号化やコネクタ関連の制御等を行い、リンク・レイヤはパケット転送やサイクルタイムの制御等を行なう。
【0017】
ファームウェア部のトランザクション・レイヤは、転送(トランザクション)すべきデータの管理を行ない、ReadやWrite といった命令を出す。シリアルバスマネージメントは、接続されている各機器の接続状況やIDの管理を行ない、ネットワークの構成を管理する部分である。
【0018】
このハードウェアとファームウェアまでが実質上の1394シリアルバスの構成である。
【0019】
また、ソフトウェア部のアプリケーション・レイヤは使うソフトによって異なり、インタフェース上にどのようにデータをのせるか規定する部分であり、AVプロトコルなどのプロトコルによって規定されている。
【0020】
以上が1394シリアルバスの構成である。
【0021】
次に、図7に1394シリアルバスにおけるアドレス空間の図を示す。
【0022】
1394シリアルバスに接続された各機器(ノード)には必ず各ノード固有の、64ビットアドレスを持たせておく。そしてこのアドレスをROM に格納しておくことで、自分や相手のノードアドレスを常時認識でき、相手を指定した通信も行なえる。
【0023】
1394シリアルバスのアドレッシングは、IEEE1212規格に準じた方式であり、アドレス設定は、最初の10bit がバスの番号の指定用に、次の6bit がノードID番号の指定用に使われる。残りの48bit が機器に与えられたアドレス幅になり、それぞれ固有のアドレス空間として使用できる。最後の28bit は固有データの領域として、各機器の識別や使用条件の指定の情報などを格納する。
【0024】
以上が1394シリアルバスの技術の概要である。
【0025】
次に、1394シリアルバスの特徴といえる技術の部分を、より詳細に説明する。
【0026】
《1394シリアルバスの電気的仕様》
図8に1394シリアルバス・ケーブルの断面図を示す。
【0027】
1394シリアルバスでは接続ケーブル内に、2組のツイストペア信号線の他に、電源ラインを設けている。これによって、電源を持たない機器や、故障により電圧低下した機器等にも電力の供給が可能になっている。
【0028】
電源線内を流れる電源の電圧は8〜40V、電流は最大電流DC1.5Aと規定されている。
【0029】
《DS−Link符号化》
1394シリアルバスで採用されている、データ転送フォーマットのDS−Link符号化方式を説明するための図を図9に示す。
【0030】
1394シリアルバスでは、DS−Link(Data/Strobe Link )符号化方式が採用されている。このDS−Link符号化方式は、高速なシリアルデータ通信に適しており、その構成は、2本の信号線を必要とする。より対線のうち1 本に主となるデータを送り、他方のより対線にはストローブ信号を送る構成になっている。
【0031】
受信側では、この通信されるデータと、ストローブとの排他的論理和をとることによってクロックを再現できる。
【0032】
このDS−Link符号化方式を用いるメリットとして、他のシリアルデータ転送方式に比べて転送効率が高いこと、PLL 回路が不要となるのでコントローラLSI の回路規模を小さくできること、更には、転送すべきデータが無いときにアイドル状態であることを示す情報を送る必要が無いので、各機器のトランシーバ回路をスリープ状態にすることができることによって、消費電力の低減が図れる、などが挙げられる。
【0033】
《バスリセットのシーケンス》
1394シリアルバスでは、接続されている各機器(ノード)にはノードIDが与えられ、ネットワーク構成として認識されている。
【0034】
このネットワーク構成に変化があったとき、例えばノードの挿抜や電源のON/OFF などによるノード数の増減などによって変化が生じて、新たなネットワーク構成を認識する必要があるとき、変化を検知した各ノードはバス上にバスリセット信号を送信して、新たなネットワーク構成を認識するモードに入る。このときの変化の検知方法は、1394ポート基盤上でのバイアス電圧の変化を検知することによって行われる。
【0035】
あるノードからバスリセット信号が伝達されて、各ノードのフィジカルレイヤはこのバスリセット信号を受けると同時にリンクレイヤにバスリセットの発生を伝達し、かつ他のノードにバスリセット信号を伝達する。最終的にすべてのノードがバスリセット信号を検知した後、バスリセットが起動となる。
【0036】
バスリセットは、先に述べたようなケーブル抜挿や、ネットワーク異常等によるハード検出による起動と、プロトコルからのホスト制御などによってフィジカルレイヤに直接命令を出すことによっても起動する。
【0037】
また、バスリセットが起動するとデータ転送は一時中断され、この間のデータ転送は待たされ、終了後、新しいネットワーク構成のもとで再開される。
【0038】
以上がバスリセットのシーケンスである。
【0039】
《ノードID決定のシーケンス》
バスリセットの後、各ノードは新しいネットワーク構成を構築するために、各ノードにIDを与える動作に入る。このときの、バスリセットからノードID決定までの一般的なシーケンスを図17〜図19のフローチャートを用いて説明する。
【0040】
図17のフローチャートは、バスリセットの発生からノードIDが決定し、データ転送が行えるようになるまでの、一連のバスの作業を示してある。
【0041】
まず、ステップS101 として、ネットワーク内にバスリセットが発生することを常時監視していて、ここでノードの電源ON/OFFなどでバスリセットが発生するとステップS102 に移る。
【0042】
ステップS102 では、ネットワークがリセットされた状態から、新たなネットワークの接続状況を知るために、直接接続されている各ノード間において親子関係の宣言がなされる。ステップS103 として、すべてのノード間で親子関係が決定すると、ステップS104 として一つのルートが決定する。すべてのノード間で親子関係が決定するまで、ステップS102 の親子関係の宣言をおこない、またルートも決定されない。
【0043】
ステップS104 でルートが決定されると、次はステップS105 として、各ノードにIDを与えるノードIDの設定作業が行われる。所定のノード順序で、ノードIDの設定が行われ、すべてのノードにIDが与えられるまで繰り返し設定作業が行われ、最終的にステップS106 としてすべてのノードにIDを設定し終えたら、新しいネットワーク構成がすべてのノードにおいて認識されたので、ステップS107 としてノード間のデータ転送が行える状態となり、データ転送が開始される。
【0044】
このステップS107 の状態になると、再びバスリセットが発生するのを監視するモードに入り、バスリセットが発生したらステップS101 からステップS106 までの設定作業が繰り返し行われる。
【0045】
以上が、図17のフローチャートの説明であるが、図17のフローチャートのバスリセットからルート決定までの部分と、ルート決定後からID設定終了までの手順をより詳しくフローチャート図に表したものをそれぞれ図18、図19に示す。
【0046】
まず、図18のフローチャートの説明を行う。
【0047】
ステップS201 としてバスリセットが発生すると、ネットワーク構成は一旦リセットされる。なお、ステップS201 としてバスリセットが発生するのを常に監視している。
【0048】
次に、ステップS202 として、リセットされたネットワークの接続状況を再認識する作業の第一歩として、各機器にリーフ(ノード)であることを示すフラグを立てておく。さらに、ステップS203 として各機器が自分の持つポートがいくつ他ノードと接続されているのかを調べる。
【0049】
ステップS204 のポート数の結果に応じて、これから親子関係の宣言を始めていくために、未定義(親子関係が決定されてない)ポートの数を調べる。バスリセットの直後はポート数=未定義ポート数であるが、親子関係が決定されていくにしたがって、ステップS204 で検知する未定義ポートの数は変化していくものである。
【0050】
まず、バスリセットの直後、はじめに親子関係の宣言を行えるのはリーフに限られている。リーフであるというのはステップS203 のポート数の確認で知ることができる。リーフは、ステップS205 として、自分に接続されているノードに対して、「自分は子、相手は親」と宣言し動作を終了する。
【0051】
ステップS203 でポート数が複数ありブランチと認識したノードは、バスリセットの直後はステップS204 で未定義ポート数>1ということなので、ステップS206 へと移り、まずブランチというフラグが立てられ、ステップS207 でリーフからの親子関係宣言で「親」の受付をするために待つ。
【0052】
リーフが親子関係の宣言を行い、ステップS207 でそれを受けたブランチは適宜ステップS204 の未定義ポート数の確認を行い、未定義ポート数が1になっていれば残っているポートに接続されているノードに対して、ステップS205 の「自分が子」の宣言をすることが可能になる。2度目以降、ステップS204 で未定義ポート数を確認しても2以上あるブランチに対しては、再度ステップS207 でリーフ又は他のブランチからの「親」の受付をするために待つ。
【0053】
最終的に、いずれか1つのブランチ、又は例外的にリーフ(子宣言を行えるのにすばやく動作しなかった為)がステップS204 の未定義ポート数の結果としてゼロになったら、これにてネットワーク全体の親子関係の宣言が終了したものであり、未定義ポート数がゼロ(すべて親のポートとして決定)になった唯一のノードはステップS208 としてルートのフラグが立てられ、ステップS209 としてルートとしての認識がなされる。
【0054】
このようにして、図18に示したバスリセットから、ネットワーク内すべてのノード間における親子関係の宣言までが終了する。
【0055】
つぎに、図19のフローチャートについて説明する。
【0056】
まず、図18までのシーケンスでリーフ、ブランチ、ルートという各ノードのフラグの情報が設定されているので、これを元にして、ステップS301 でそれぞれ分類する。
【0057】
各ノードにIDを与える作業として、最初にIDの設定を行うことができるのはリーフからである。リーフ→ブランチ→ルートの順で若い番号(ノード番号=0〜)からIDの設定がなされていく。
【0058】
ステップS302 としてネットワーク内に存在するリーフの数N(Nは自然数)を設定する。この後、ステップS303 として各自リーフがルートに対して、IDを与えるように要求する。この要求が複数ある場合には、ルートはステップS304 としてアービトレーション(1つに調停する作業)を行い、ステップS305 として勝ったノード1つにID番号を与え、負けたノードには失敗の結果通知を行う。ステップS306 としてID取得が失敗に終わったリーフは、再度ID要求を出し、同様の作業を繰り返す。IDを取得できたリーフからステップS307 として、そのノードのID情報をブロードキャストで全ノードに転送する。1ノードID情報のブロードキャストが 終わると、ステップS308 として残りのリーフの数が1 つ減らされる。ここで、ステップS309 として、この残りのリーフの数が1以上ある時はステップS303 のID要求の作業からを繰り返し行い、最終的にすべてのリーフがID情報をブロードキャストすると、ステップS309 がN=0となり、次はブランチのID設定に移る。
【0059】
ブランチのID設定もリーフの時と同様に行われる。
【0060】
まず、ステップS310 としてネットワーク内に存在するブランチの数M(Mは自然数)を設定する。この後、ステップS311 として各自ブランチがルートに対して、IDを与えるように要求する。これに対してルートは、ステップS312 としてアービトレーションを行い、勝ったブランチから順にリーフに与え終った次の若い番号から与えていく。ステップS313 として、ルートは要求を出したブランチにID情報又は失敗結果を通知し、ステップS314 としてID取得が失敗に終わったブランチは、再度ID要求を出し、同様の作業を繰り返す。IDを取得できたブランチからステップS315 として、そのノードのID情報をブロードキャストで全ノードに転送する。1ノードID情報のブロードキャストが終わると、ステップS316 として残りのブランチの数が1 つ減らされる。ここで、ステップS317 として、この残りのブランチの数が1以上ある時はステップS311 のID要求の作業からを繰り返し、最終的にすべてのブランチがID情報をブロードキャストするまで行われる。すべてのブランチがノードIDを取得すると、ステップS317 はM=0となり、ブランチのID取得モードも終了する。
【0061】
ここまで終了すると、最終的にID情報を取得していないノードはルートのみなので、ステップS318 として与えていない番号で最も若い番号を自分のID番号と設定し、ステップS319 としてルートのID情報をブロードキャストする。
【0062】
以上で、図19に示したように、親子関係が決定した後から、すべてのノードのIDが設定されるまでの手順が終了する。
【0063】
次に、一例として図10に示した実際のネットワークにおける動作を図10を参照しながら説明する。
【0064】
図10の説明として、(ルート)ノードBの下位にはノードAとノードCが直接接続されており、更にノードCの下位にはノードDが直接接続されており、更にノードDの下位にはノードEとノードFが直接接続された階層構造になっている。この、階層構造やルートノード、ノードIDを決定する手順を以下で説明する。
【0065】
バスリセットがされた後、まず各ノードの接続状況を認識するために、各ノードの直接接続されているポート間において、親子関係の宣言がなされる。この親子とは親側が階層構造で上位となり、子側が下位となると言うことができる。
【0066】
図10ではバスリセットの後、最初に親子関係の宣言を行なったのはノードAである。基本的にノードの1つのポートにのみ接続があるノード(リーフと呼ぶ)から親子関係の宣言を行なうことができる。これは自分には1ポートの接続のみということをまず知ることができるので、これによってネットワークの端であることを認識し、その中で早く動作を行なったノードから親子関係 が決定されていく。こうして親子関係の宣言を行なった側(A− B間ではノードA)のポートが子と設定され、相手側(ノードB)のポートが親と設定される。こうして、ノードA −B 間では子−親、ノードE−D 間で子−親、ノードF −D 間で子−親と決定される。
【0067】
さらに1 階層あがって、今度は複数個接続ポートを持つノード(ブランチと呼ぶ)のうち、他ノードからの親子関係の宣言を受けたものから順次、更に上位に親子関係の宣言を行なっていく。図12ではまずノードDがD −E 間、D −F 間と親子関係が決定した後、ノードCに対する親子関係の宣言を行っており、その結果ノードD −C 間で子−親と決定している。
【0068】
ノードDからの親子関係の宣言を受けたノードC は、もう一つのポートに接続されているノードB に対して親子関係の宣言を行なっている。これによってノードC −B 間で子−親と決定している。
【0069】
このようにして、図10のような階層構造が構成され、最終的に接続されているすべてのポートにおいて親となったノードB が、ルートノードと決定された。ルートは1 つのネットワーク構成中に一つしか存在しないものである。
【0070】
なお、この図10においてノードB がルートノードと決定されたが、これはノードA から親子関係宣言を受けたノードB が、他のノードに対して親子関係宣言を早いタイミングで行なっていれば、ルートノードは他ノードに移っていたこともあり得る。すなわち、伝達されるタイミングによってはどのノードもルートノードとなる可能性があり、同じネットワーク構成でもルートノードは一定とは限らない。
【0071】
ルートノードが決定すると、次は各ノードIDを決定するモードに入る。ここではすべてのノードが、決定した自分のノードIDを他のすべてのノードに通知する(ブロードキャスト機能)。
【0072】
自己ID情報は、自分のノード番号、接続されている位置の情報、持っているポートの数、接続のあるポートの数、各ポートの親子関係の情報等を含んでいる。
【0073】
ノードID番号の割り振りの手順としては、まず1つのポートにのみ接続があるノード(リーフ)から起動することができ、この中から順にノード番号=0、1、2、、と割り当てられる。
【0074】
ノードIDを手にしたノードは、ノード番号を含む情報をブロードキャストで各ノードに送信する。これによって、そのID番号は『割り当て済み』であることが認識される。
【0075】
すべてのリーフが自己ノードIDを取得し終ると、次はブランチへ移りリーフに引き続いたノードID番号が各ノードに割り当てられる。リーフと同様に、ノードID番号が割り当てられたブランチから順次ノードID情報をブロードキャストし、最後にルートノードが自己ID情報をブロードキャストする。すなわち、常にルートは最大のノードID番号を所有するものである。
【0076】
以上のようにして、階層構造全体のノードIDの割り当てが終わり、ネットワーク構成が再構築され、バスの初期化作業が完了する。
【0077】
《アービトレーション》
1394シリアルバスでは、データ転送に先立って必ずバス使用権のアービトレーション(調停)を行なう。1394シリアルバスは個別に接続された各機器が、転送された信号をそれぞれ中継することによって、ネットワーク内すべての機器に同信号を伝えるように、論理的なバス型ネットワークであるので、パケットの衝突を防ぐ意味でアービトレーションは必要である。これによってある時間には、たった一つのノードのみ転送を行なうことができる。
【0078】
アービトレーションを説明するための図として図11(a)にバス使用要求の図(b)にバス使用許可の図を示し、以下これを用いて説明する。
【0079】
アービトレーションが始まると、1つもしくは複数のノードが親ノードに向かって、それぞれバス使用権の要求を発する。図11(a)のノードC とノードF がバス使用権の要求を発しているノードである。これを受けた親ノード(図11ではノードA)は更に親ノードに向かって、バス使用権の要求を発する(中継する)。この要求は最終的に調停を行なうルートに届けられる。
【0080】
バス使用要求を受けたルートノードは、どのノードにバスを使用させるかを決める。この調停作業はルートノードのみが行なえるものであり、調停によって勝ったノードにはバスの使用許可を与える。図11(b)ではノードC に使用許可が与えられ、ノードF の使用は拒否された図である。アービトレーションに負けたノードに対してはDP(data prefix )パケットを送り、拒否されたことを知らせる。拒否されたノードのバス使用要求は次回のアービトレーションまで待たされる。
【0081】
以上のようにして、アービトレーションに勝ってバスの使用許可を得たノードは、以降データの転送を開始できる。
【0082】
ここで、アービトレーションの一連の流れをフローチャート図20に示して説明する。
【0083】
ノードがデータ転送を開始できる為には、バスがアイドル状態であることが必要である。先に行われていたデータ転送が終了して、現在バスが空き状態であることを認識するためには、各転送モードで個別に設定されている所定のアイドル時間ギャップ長(例:サブアクション・ギャップ)を経過する事によって、各ノードは自分の転送が開始できると判断する。
【0084】
ステップS401 として、Async データ、Iso データ等それぞれ転送するデータに応じた所定のギャップ長が得られたか判断する。所定のギャップ長が得られない限り、転送を開始するために必要なバス使用権の要求はできないので、所定のギャップ長が得られるまで待つ。
【0085】
ステップS401 で所定のギャップ長が得られたら、ステップS402 として転送すべきデータがあるか判断し、ある場合はステップS403 として転送するためにバスを確保するよう、バス使用権の要求をルートに対して発する。このときの、バス使用権の要求を表す信号の伝達は、図13に示したように、ネットワーク内各機器を中継しながら、最終的にルートに届けられる。ステップS402 で転送するデータがない場合は、そのまま待機する。
【0086】
次に、ステップS404 として、ステップS403 のバス使用要求を1つ以上ルートが受信したら、ルートはステップS405 として使用要求を出したノードの数を調べる。ステップS405 での選択値がノード数=1(使用権要求を出したノードは1つ)だったら、そのノードに直後のバス使用許可が与えられることとなる。ステップS405 での選択値がノード数>1(使用要求を出したノードは複数)だったら、ルートはステップS406 として使用許可を与えるノードを1つに決定する調停作業を行う。この調停作業は公平なものであり、毎回同じノードばかりが許可を得る様なことはなく、平等に権利を与えていくような構成となっている。
【0087】
ステップS407 として、ステップS406 で使用要求を出した複数ノードの中からルートが調停して使用許可を得た1つのノードと、敗れたその他のノードに分ける選択を行う。ここで、調停されて使用許可を得た1つのノード、またはステップS405 の選択値から使用要求ノード数=1で調停無しに使用許可を得たノードには、ステップS408 として、ルートはそのノードに対して許可信号を送る。許可信号を得たノードは、受け取った直後に転送すべきデータ(パケット)を転送開始する。また、ステップS406 の調停で敗れて、バス使用が許可されなかったノードにはステップS409 としてルートから、アービトレーション失敗を示すDP(data prefix )パケットを送られ、これを受け取ったノードは再度転送を行うためのバス使用要求を出すため、ステップS401 まで戻り、所定ギャップ長が得られるまで待機する
以上がアービトレーションの流れを説明した、フローチャート図20の説明である。
【0088】
《Asynchronous(非同期)転送 》
アシンクロナス転送は、非同期転送である。図12にアシンクロナス転送における時間的な遷移状態を示す。図12の最初のサブアクション・ギャップは、バスのアイドル状態を示すものである。このアイドル時間が一定値になった時点で,転送を希望するノードはバスが使用できると判断して、バス獲得のためのアービトレーションを実行する。
【0089】
アービトレーションでバスの使用許可を得ると、次にデータの転送がパケット形式で実行される。データ転送後、受信したノードは転送されたデータに対しての受信結果のack (受信確認用返送コード)をack gap という短いギャップの後、返送して応答するか、応答パケットを送ることによって転送が完了する。ack は4 ビットの情報と4 ビットのチェックサムからなり、成功か、ビジー状態か、ペンディング状態であるかといった情報を含み、すぐに送信元ノードに返送される。
【0090】
次に、図13にアシンクロナス転送のパケットフォーマットの例を示す。
【0091】
パケットには、データ部及び誤り訂正用のデータCRC の他にはヘッダ部があり、そのヘッダ部には図13に示したような、目的ノードID、ソースノードID、転送データ長さや各種コードなどが書き込まれ、転送が行なわれる。
【0092】
また、アシンクロナス転送は自己ノードから相手ノードへの1対1の通信である。転送元ノードから転送されたパケットは、ネットワーク中の各ノードに行き渡るが、自分宛てのアドレス以外のものは無視されるので、宛先の1つのノードのみが読込むことになる。
【0093】
以上がアシンクロナス転送の説明である。
【0094】
《Isochronous (同期)転送》
アイソクロナス転送は同期転送である。1394シリアルバスの最大の特徴であるともいえるこのアイソクロナス転送は、特にVIDEO 映像データや音声データといったマルチメディアデータなど、リアルタイムな転送を必要とするデータの転送に適した転送モードである。
【0095】
また、アシンクロナス転送(非同期)が1対1の転送であったのに対し、このアイソクロナス転 送はブロードキャスト機能によって、転送元の1つのノードから他のすべてのノードへ一様に転送される。
【0096】
図14はアイソクロナス転送における、時間的な遷移状態を示す図である。
【0097】
アイソクロナス転送は、バス上一定時間毎に実行される。この時間間隔をアイソクロナスサイクルと呼ぶ。アイソクロナスサイクル時間は、125 μS である。この各サイクルの開始時間を示し、各ノードの時間調整を行なう役割を担っているのがサイクル・スタート・パケットである。サイクル・スタート・パケットを送信するのは、サイクル・ マスタと呼ばれるノードであり、1つ前のサイクル内の転送終了後、所定のアイドル期間(サブアクションギャップ)を経た後、本サイクルの開始を告げるサイクル・スタート・パケットを送信する。このサイクル・スタート・パケットの送信される時間間隔が125 μS となる。
【0098】
また、図14にチャネルA、チャネルB、チャネルCと示したように、1サイクル内において複数種のパケットがチャネルIDをそれぞれ与えられることによって、区別して転送できる。これによって同時に複数ノード間でのリアルタイムな転送が可能であり、また受信するノードでは自分が欲しいチャネルIDのデータのみを取り込む。このチャネルIDは送信先のアドレスを表すものではなく、データに対する論理的な番号を与えているに過ぎない。よって、あるパケットの送信は1 つの送信元ノードから他のすべてのノードに行き渡る、ブロードキャストで転送されることになる。
【0099】
アイソクロナス転送のパケット送信に先立って、アシンクロナス転送同様アービトレーションが行われる。しかし、アシンクロナス転送のように1対1の通信ではないので、アイソクロナス転送にはack (受信確認用返信コード)は存在しない。
【0100】
また、図14に示した iso gap(アイソクロナスギャップ)とは、アイソクロナス転送を行なう前にバスが空き状態であると認識するために必要なアイドル期間を表している。この所定のアイドル期間を経過すると、アイソクロナス転送を行ないたいノードはバスが空いていると判断し、転送前のアービトレーションを行なうことができる。
【0101】
つぎに、図15にアイソクロナス転送のパケットフォーマットの例を示し、説明する。
【0102】
各チャネルに分かれた、各種のパケットにはそれぞれデータ部及び誤り訂正用のデータCRC の他にヘッダ部があり、そのヘッダ部には図15に示したような、転送データ長やチャネルNO、その他各種コード及び誤り訂正用のヘッダCRC などが書き込まれ、転送が行なわれる。
【0103】
以上がアイソクロナス転送の説明である。
【0104】
《バス・サイクル》
実際の1394シリアルバス上の転送では、アイソクロナス転送と、アシンクロナス転送は混在できる。その時の、アイソクロナス転送とアシンクロナス転送が混在した、バス上の転送状態の時間的な遷移の様子を表した図を図16に示す。
【0105】
アイソクロナス転送はアシンクロナス転送より優先して実行される。その理由は、サイクル・スタート・パケットの後、アシンクロナス転送を起動するために必要なアイドル期間のギャップ長(サブアクションギャップ)よりも短いギャップ長(アイソクロナスギャップ)で、アイソクロナス転送を起動できるからである。したがって、アシンクロナス転送より、アイソクロナス転送は優先して実行されることとなる。
【0106】
図16に示した、一般的なバスサイクルにおいて、サイクル#mのスタート時にサイクル・スタート・パケットがサイクル・マスタから各ノードに転送される。これによって、各ノードで時刻調整を行ない、所定のアイドル期間(アイソクロナスギャップ)を待ってからアイソクロナス転送を行なうべきノードはアービトレーションを行い、パケット転送に入る。図16ではチャネルeとチャネルsとチャネルkが順にアイソクロナス転送されている。
【0107】
このアービトレーションからパケット転送までの動作を、与えられているチャネル分繰り返し行なった後、サイクル#mにおけるアイソクロナス転送がすべて終了したら、アシンクロナス転送を行うことができるようになる。
【0108】
アイドル時間がアシンクロナス転送が可能なサブアクションギャップに達する事によって、アシンクロナス転送を行いたいノードはアービトレーションの実行に移れると判断する。
【0109】
ただし、アシンクロナス転送が行える期間は、アイソクロナス転送終了後から、次のサイクル・スタート・パケットを転送すべき時間(cycle synch )までの間にアシンクロナス転送を起動するためのサブアクションギャップが得られた場合に限っている。
【0110】
図16のサイクル#mでは3つのチャネル分のアイソクロナス転送と、その後アシンクロナス転送(含むack )が2パケット(パケット1、パケット2)転送されている。このアシンクロナスパケット2の後は、サイクルm+1をスタートすべき時間(cycle synch )にいたるので、サイクル#mでの転送はここまでで終わる。
【0111】
ただし、非同期または同期転送動作中に次のサイクル・スタート・パケットを送信すべき時間(cycle synch )に至ったとしたら、無理に中断せず、その転送が終了した後のアイドル期間を待ってから次サイクルのサイクル・スタート・パケットを送信する。すなわち、1つのサイクルが125 μS 以上続いたときは、その分次サイクルは基準の125 μS より短縮されたとする。このようにアイソクロナス・サイクルは125 μS を基準に超過、短縮し得るものである。
【0112】
しかし、アイソクロナス転送はリアルタイム転送を維持するために毎サイクル必要であれば必ず実行され、アシンクロナス転送はサイクル時間が短縮されたことによって次以降のサイクルにまわされることもある。
【0113】
こういった遅延情報も含めて、サイクル・マスタによって管理される。
【0114】
以上が、IEEE1394シリアルバスの説明である。
【0115】
前述のようなIEEE1394シリアルバスで構成されたネットワークに接続されるプリンタにおいて、ホストPCによってホスト内のメモリ上に作られた印字データを印刷終了後にその実行されたジョブ単位で圧縮してホスト内の記憶媒体にある設定された期間に保存し、かつ各データの印刷履歴情報をホスト内の記憶媒体に保存する事によりプリンタ側から履歴情報を入力するだけでその履歴に該当するジョブのデータの圧縮をといて再印刷を行うことが本発明である。
[第1実施例]
IEEE1394ネットワークに接続されるプリンタにおいて、プリンタ内で展開されたラスタデータを印刷と同時にホストPCに送り返してユーザーの指定によって設定された期間そのデータをホスト上でジョブ単位で圧縮して記憶媒体に保存し、かつそのジョブデータの履歴情報及びジョブ実行時のドライバの設定情報もリンクさせてホストで管理する事によってプリンタ側から履歴情報を入力するだけでその履歴に該当するジョブのデータの圧縮をといて再印刷を行う印刷システム。
【0116】
図21に本実施例のシステム構成例を示す。
【0117】
図22に本実施例のホストプリンタ間のブロック図を示す。
【0118】
図23及び図24に本実施例の通常印刷時のフローチャートを示す。
【0119】
S01 印刷ジョブを開始する
S02 ジョブデータをプリンタへ送信
S03 プリンタよりプリンタ内で展開されたラスタデータを受信する
S04 受信したラスタデータを公知の圧縮手法を用いて圧縮を行う
S05 実行したジョブの履歴情報(実行日時、ドライバ設定、ファイル名等)は履歴情報のデータベースに保存し、圧縮したラスタデータは履歴情報とリンクして設定された領域に保存する。
【0120】
S06 履歴情報データベースより予め設定された保存期限を過ぎたデータがあるかを検索しあった場合はS07 へ、無い場合は終了
S07 保存期限を過ぎた履歴データ及び圧縮保存してあるラスタデータを消去する。
【0121】
S11 ホストよりジョブデータを受信する
S12 受信したジョブデータをラスタイメージデータに展開する
S13 展開したラスタデータをエンジンに送って印刷すると同時にホストへそのデータを転送する
S14 ジョブが終了した場合は終了、ジョブが残っている時はS13 へ
図25及び図26に本実施例の履歴再印刷時のフローチャートを示す。
【0122】
S21 プリンタよりホストが管理保存している印刷履歴情報データベースからプリンタに入力された条件に合う履歴情報の要求命令を受信
S22 プリンタから出された条件に該当する印刷履歴情報をプリンタへ送信する
S23 プリンタから指定された保存データの転送命令を受信した場合はS24 、無い場合はS26 へ
S24 該当する圧縮された保存データをロードして圧縮を展開する
S25 ラスタデータをプリンタへ送信する
S26 タイマーの値tが予め設定された時間を過ぎた場合は終了、そうでない場合はS23 へ
S31 最印刷したいジョブの履歴をプリンタへ入力してホストへ送信する
S32 ホストから入力した条件に合う履歴情報を取得する
S33 取得した履歴情報を表示パネルに表示する
S34 取得した履歴情報に該当するジョブがあった場合はS35 、無い場合は終了
S35 該当ラスタデータをホストよりダウンロード
S36 ダウンロードしたラスタデータを印刷出力
[第2実施例]
請求項1のシステムにおいて、圧縮して保存するジョブのラスタデータをページ単位で圧縮して保存することでプリンタ側から履歴情報の入力よってその履歴に該当するジョブのページ単位での再印刷を行うことを特長とする印刷システム。
【0123】
図27〜図29に本実施例の通常印刷時のフローチャートを示す。
【0124】
S41 印刷ジョブを開始する
S42 ジョブデータをプリンタへ送信
S43 プリンタよりプリンタ内で展開されたラスタデータを受信する
S44 受信したラスタデータを公知の圧縮手法を用いてページ単位で圧縮を行う
S45 実行したジョブの履歴情報(実行日時、ドライバ設定、ファイル名、ページナンバー等)は履歴情報のデータベースに保存し、圧縮したラスタデータは履歴情報とリンクして設定された領域に保存する。
【0125】
S46 履歴情報データベースより予め設定された保存期限を過ぎたデータがあるかを検索しあった場合はS47 へ、無い場合は終了
S47 保存期限を過ぎた履歴データ及び圧縮保存してあるラスタデータを消去する。
【0126】
S51 ホストよりジョブデータを受信する
S52 受信したジョブデータをラスタイメージデータに展開する
S53 展開したラスタデータをエンジンに送って印刷すると同時にホストへそのデータをページ単位で転送する
S54 ジョブが終了した場合は終了、ジョブが残っている時はS53 へ
履歴再印刷時のフローは第1実施例と同じ。
[第3実施例]
請求項1のシステムにおいて再印刷を行う際に利用するユーザーの個人認証を行うための機構を追加した印刷システム。
【0127】
図30に本実施例の履歴再印刷時のフローチャートを示す。
【0128】
S61 プリンタよりホストが管理保存している印刷履歴情報データベースからプリンタに入力された条件に合う履歴情報の要求命令を受信
S62 プリンタへユーザーIDとパスワードを要求する
S63 プリンタよりユーザーIDとパスワードを受信、照合を行う
S64 照合結果がOKならばS65 、NGの場合はS69 へ
S65 プリンタから出された条件に該当する印刷履歴情報をプリンタへ送信する
S66 プリンタから指定された保存データの転送命令を受信した場合はS24 、無い場合はS26 へ
S67 該当する圧縮された保存データをロードして圧縮を展開する
S68 ラスタデータをプリンタへ送信する
S69 プリンタへ認証不可を通知する
S70 タイマーの値tが予め設定された時間を過ぎた場合は終了、そうでない場合はS23 へ
S71 最印刷したいジョブの履歴をプリンタへ入力してホストへ送信する
S72 ホストからのユーザーIDとパスワードの要求命令を受信
S73 ユーザーIDとパスワードの入力してホストへ送信
S74 認証がOKならばS75 、NGだったらS80 へ
S75 ホストから入力した条件に合う履歴情報を取得する
S76 取得した履歴情報を表示パネルに表示する
S77 取得した履歴情報に該当するジョブがあった場合はS78 、無い場合は終了
S78 該当ラスタデータをホストよりダウンロード
S79 ダウンロードしたラスタデータを印刷出力
S80 認証不可を表示パネルに表示してユーザーに通知する
通常印刷時のフローは第1実施例と同じ。
【0129】
【発明の効果】
以上説明したように、本発明によれば、転送元ノードから転送先ノードに所定のデータ転送を行うとき、転送先ノードが具備するデコーダによって、転送元ノードは所定のデータの圧縮または非圧縮を選択して転送するようにすることで、ノード間の転送効率の向上ができる。
【0130】
また、転送先ノードの具備するデコーダで、転送元ノードより圧縮して転送する所定のデータを伸張できないときは非圧縮データを転送することによって、転送元ノードから誤った圧縮方式のデータが転送されることが無くなる。
【0131】
以上述べたように本発明によれば、IEEE1394ネットワークに接続されるプリンタにおいて、プリンタ内で展開されたラスタデータを印刷と同時にホストPCに送り返してユーザーの指定によって設定された期間そのデータをホスト上でジョブ単位で圧縮して記憶媒体に保存し、かつそのジョブデータの履歴情報及びジョブ実行時のドライバの設定情報もリンクさせてホストで管理する事によってプリンタ側から履歴情報を入力するだけでその履歴に該当するジョブのデータの圧縮をといて再印刷を行うことができるという効果がある。
【0132】
以上述べたように本発明によれば、請求項1のシステムにおいてジョブデータを圧縮保存する際にページ単位で圧縮し履歴データにページ情報も追加することによって、より細かい単位での履歴再印刷を行うことが出来るという効果がある。
【0133】
以上述べたように本発明によれば、請求項1のシステムにおいて再印刷を行う際に利用するユーザーの個人認証を行うための機構を追加することによって第三者による不正な再印刷を防ぐことが出来るという効果がある。
【図面の簡単な説明】
【図1】本発明の実施例のネットワーク一例を示した図である。
【図2】本発明を適用した記録再生装置、プリンタ装置、PCのブロック図である。
【図3】従来例で、デジタルカメラ、PC、プリンタをPCを中心に接続したときの構成を示すブロック図である。
【図4】本発明における実施例の記録再生装置での動作の流れを示すフローチャートである。
【図5】1394シリアルバスを用いて接続されたネットワーク構成の一例を示す図である。
【図6】1394シリアルバスの構成要素を表す図である。
【図7】1394シリアルバスのアドレスマップを示す図である。
【図8】1394シリアルバスケーブルの断面図である。
【図9】DS−Link符号化方式を説明するための図である。
【図10】1394シリアルバスで各ノードのIDを決定するためのトポロジ設定を説明するための図である。
【図11】1394シリアルバスでのアービトレーションを説明するための図である。
【図12】アシンクロナス転送の時間的な状態遷移を表す基本的な構成図である。
【図13】アシンクロナス転送のパケットのフォーマットの一例の図である。
【図14】アイソクロナス転送の時間的な状態遷移を表す基本的な構成図である。
【図15】アイソクロナス転送のパケットのフォーマットの一例の図である。
【図16】1394シリアルバスで実際のバス上を転送されるパケットの様子を示したバスサイクルの一例を示す図である。
【図17】バスリセットからノードIDの決定までの流れを示すフローチャートである。
【図18】バスリセットにおける親子関係決定の流れを示すフローチャートである。
【図19】バスリセットにおける親子関係決定後からノードID決定までの流れを示すフローチャートである。
【図20】アービトレーションを説明するためのフローチャートである。
【図21】実施例1のシステム構成図である。
【図22】実施例1のホスト−プリンタ間のブロック図である。
【図23】実施例1の通常印刷時のフローチャートである。
【図24】実施例1の通常印刷時のフローチャートである。
【図25】実施例1の履歴再印刷時のフローチャートである。
【図26】実施例1の履歴再印刷時のフローチャートである。
【図27】実施例2の通常印刷時のフローチャートである。
【図28】実施例2の通常印刷時のフローチャートである。
【図29】実施例2の通常印刷時のフローチャートである。
【図30】実施例3の履歴再印刷時のフローチャートである。
【符号の説明】
8 記録再生系
9 システムコントローラ
13 メモリ
14 メモリ制御
15 メモリ
16 メモリ制御
21 復号化回路
26 プリンタコントローラ
63 MPU
64 復号化回路
101 記録再生装置
102 プリンタ装置
103 PC(パーソナルコンピュータ)
【発明の属する技術分野】
本発明は、IEEE1394インターフェースを介してホストコンピュ−タに接続される印刷装置等の出力装置及び該装置における出力方法に関する。
【0002】
【従来の技術】
従来、プリンタによる印刷処理はホストPCから印刷したい文書を開き、これを印刷データとしてプリンタ側に送り、プリンタはホストからのデータの印刷が完了した時点で全てのジョブが終了した。
【0003】
【発明が解決しようとする課題】
ところが、従来までの方法では同じ文書を再び印刷するにはもう一度ホストでその文書を開きジョブを実行する手段しかないという問題があった。
【0004】
本発明は上記問題に鑑みてなされたもので、その目的とする処は、プリンタ側から履歴情報を入力するだけで、その履歴に該当するジョブのデータの圧縮を解いて再印刷を行うことができる印刷システムを提供することにある。
【0005】
【課題を解決するための手段】
上記目的を達成するため、本発明は、IEEE1394ネットワークに接続されるプリンタにおいて、プリンタ内で展開されたラスタデータを印刷と同時にホストPCに送り返してユーザーの指定によって設定された期間そのデータをホスト上でジョブ単位で圧縮して記憶媒体に保存し、かつそのデータの履歴情報及びジョブ実行時のドライバの設定情報もリンクさせてホストで管理する事によってプリンタ側から履歴情報を入力するだけでその履歴に該当するジョブのデータの圧縮を解いて再印刷を行うことを特徴とする。
【0006】
【発明の実施の形態】
本実施例の構成を説明する前に、本発明では、各機器間を接続するデジタルI/FをIEEE1394シリアルバスを用いるので、IEEE1394シリアルバスについてあらかじめ説明する。
【0007】
《IEEE1394の技術の概要》
家庭用デジタルVTRやDVDの登場も伴なって、ビデオデータやオーディオデータなどのリアルタイムでかつ高情報量のデータ転送のサポートが必要になっている。こういったビデオデータやオーディオデータをリアルタイムで転送し、パソコン(PC)に取り込んだり、またはその他のデジタル機器に転送を行なうには、必要な転送機能を備えた高速データ転送可能なインタフェースが必要になってくるものであり、そういった観点から開発されたインタフェースがIEEE1394−1995 (High Performance Serial Bus )(以下1394シリアルバス)である。
【0008】
図5に1394シリアルバスを用いて構成されるネットワーク・システムの例を示す。このシステムは機器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 は例としてPC、デジタルVTR 、DVD 、デジタルカメラ、ハードディスク、モニタ等である。
【0009】
各機器間の接続方式は、ディジーチェーン方式とノード分岐方式とを混在可能としたものであり、自由度の高い接続が可能である。
【0010】
また、各機器は各自固有のIDを有し、それぞれが認識し合うことによって1394シリアルバスで接続された範囲において、1つのネットワークを構成している。各デジタル機器間をそれぞれ1 本の1394シリアルバスケーブルで順次接続するだけで、それぞれの機器が中継の役割を行い、全体として1つのネットワークを構成するものである。また、1394シリアルバスの特徴でもある、Plug & Play 機能でケーブルを機器に接続した時点で自動で機器の認識や接続状況などを認識する機能を有している。
【0011】
また、図5に示したようなシステムにおいて、ネットワークからある機器が削除されたり、または新たに追加されたときなど、自動的にバスリセットを行い、それまでのネットワーク構成をリセットしてから、新たなネットワークの再構築を行なう。この機能によって、その時々のネットワークの構成を常時設定、認識することができる。
【0012】
また、データ転送速度は、100 /200 /400 Mbpsと備えており、上位の転送速度を持つ機器が下位の転送速度をサポートし、互換をとるようになっている。
【0013】
データ転送モードとしては、コントロール信号などの非同期データ(Asynchronousデータ:以下Async データ)を転送するAsynchronous転送モード、リアルタイムなビデオデータやオーディオデータ等の同期データ(Isochronous データ:以下Iso データ)を転送するIsochronous 転送モードがある。このAsync データとIso データは各サイクル(通常1 サイクル125 μS )の中において、サイクル開始を示すサイクル・スタート・パケット(CSP )の転送に続き、Iso データの転送を優先しつつサイクル内で混在して転送される。
【0014】
次に、図6に1394シリアルバスの構成要素を示す。
【0015】
1394シリアルバスは全体としてレイヤ(階層)構造で構成されている。図8に示したように、最もハード的なのが1394シリアルバスのケーブルであり、そのケーブルのコネクタが接続されるコネクタポートがあり、その上にハードウェアとしてフィジカル・レイヤとリンク・レイヤがある。
【0016】
ハードウェア部は実質的なインターフェイスチップの部分であり、そのうちフィジカル・レイヤは符号化やコネクタ関連の制御等を行い、リンク・レイヤはパケット転送やサイクルタイムの制御等を行なう。
【0017】
ファームウェア部のトランザクション・レイヤは、転送(トランザクション)すべきデータの管理を行ない、ReadやWrite といった命令を出す。シリアルバスマネージメントは、接続されている各機器の接続状況やIDの管理を行ない、ネットワークの構成を管理する部分である。
【0018】
このハードウェアとファームウェアまでが実質上の1394シリアルバスの構成である。
【0019】
また、ソフトウェア部のアプリケーション・レイヤは使うソフトによって異なり、インタフェース上にどのようにデータをのせるか規定する部分であり、AVプロトコルなどのプロトコルによって規定されている。
【0020】
以上が1394シリアルバスの構成である。
【0021】
次に、図7に1394シリアルバスにおけるアドレス空間の図を示す。
【0022】
1394シリアルバスに接続された各機器(ノード)には必ず各ノード固有の、64ビットアドレスを持たせておく。そしてこのアドレスをROM に格納しておくことで、自分や相手のノードアドレスを常時認識でき、相手を指定した通信も行なえる。
【0023】
1394シリアルバスのアドレッシングは、IEEE1212規格に準じた方式であり、アドレス設定は、最初の10bit がバスの番号の指定用に、次の6bit がノードID番号の指定用に使われる。残りの48bit が機器に与えられたアドレス幅になり、それぞれ固有のアドレス空間として使用できる。最後の28bit は固有データの領域として、各機器の識別や使用条件の指定の情報などを格納する。
【0024】
以上が1394シリアルバスの技術の概要である。
【0025】
次に、1394シリアルバスの特徴といえる技術の部分を、より詳細に説明する。
【0026】
《1394シリアルバスの電気的仕様》
図8に1394シリアルバス・ケーブルの断面図を示す。
【0027】
1394シリアルバスでは接続ケーブル内に、2組のツイストペア信号線の他に、電源ラインを設けている。これによって、電源を持たない機器や、故障により電圧低下した機器等にも電力の供給が可能になっている。
【0028】
電源線内を流れる電源の電圧は8〜40V、電流は最大電流DC1.5Aと規定されている。
【0029】
《DS−Link符号化》
1394シリアルバスで採用されている、データ転送フォーマットのDS−Link符号化方式を説明するための図を図9に示す。
【0030】
1394シリアルバスでは、DS−Link(Data/Strobe Link )符号化方式が採用されている。このDS−Link符号化方式は、高速なシリアルデータ通信に適しており、その構成は、2本の信号線を必要とする。より対線のうち1 本に主となるデータを送り、他方のより対線にはストローブ信号を送る構成になっている。
【0031】
受信側では、この通信されるデータと、ストローブとの排他的論理和をとることによってクロックを再現できる。
【0032】
このDS−Link符号化方式を用いるメリットとして、他のシリアルデータ転送方式に比べて転送効率が高いこと、PLL 回路が不要となるのでコントローラLSI の回路規模を小さくできること、更には、転送すべきデータが無いときにアイドル状態であることを示す情報を送る必要が無いので、各機器のトランシーバ回路をスリープ状態にすることができることによって、消費電力の低減が図れる、などが挙げられる。
【0033】
《バスリセットのシーケンス》
1394シリアルバスでは、接続されている各機器(ノード)にはノードIDが与えられ、ネットワーク構成として認識されている。
【0034】
このネットワーク構成に変化があったとき、例えばノードの挿抜や電源のON/OFF などによるノード数の増減などによって変化が生じて、新たなネットワーク構成を認識する必要があるとき、変化を検知した各ノードはバス上にバスリセット信号を送信して、新たなネットワーク構成を認識するモードに入る。このときの変化の検知方法は、1394ポート基盤上でのバイアス電圧の変化を検知することによって行われる。
【0035】
あるノードからバスリセット信号が伝達されて、各ノードのフィジカルレイヤはこのバスリセット信号を受けると同時にリンクレイヤにバスリセットの発生を伝達し、かつ他のノードにバスリセット信号を伝達する。最終的にすべてのノードがバスリセット信号を検知した後、バスリセットが起動となる。
【0036】
バスリセットは、先に述べたようなケーブル抜挿や、ネットワーク異常等によるハード検出による起動と、プロトコルからのホスト制御などによってフィジカルレイヤに直接命令を出すことによっても起動する。
【0037】
また、バスリセットが起動するとデータ転送は一時中断され、この間のデータ転送は待たされ、終了後、新しいネットワーク構成のもとで再開される。
【0038】
以上がバスリセットのシーケンスである。
【0039】
《ノードID決定のシーケンス》
バスリセットの後、各ノードは新しいネットワーク構成を構築するために、各ノードにIDを与える動作に入る。このときの、バスリセットからノードID決定までの一般的なシーケンスを図17〜図19のフローチャートを用いて説明する。
【0040】
図17のフローチャートは、バスリセットの発生からノードIDが決定し、データ転送が行えるようになるまでの、一連のバスの作業を示してある。
【0041】
まず、ステップS101 として、ネットワーク内にバスリセットが発生することを常時監視していて、ここでノードの電源ON/OFFなどでバスリセットが発生するとステップS102 に移る。
【0042】
ステップS102 では、ネットワークがリセットされた状態から、新たなネットワークの接続状況を知るために、直接接続されている各ノード間において親子関係の宣言がなされる。ステップS103 として、すべてのノード間で親子関係が決定すると、ステップS104 として一つのルートが決定する。すべてのノード間で親子関係が決定するまで、ステップS102 の親子関係の宣言をおこない、またルートも決定されない。
【0043】
ステップS104 でルートが決定されると、次はステップS105 として、各ノードにIDを与えるノードIDの設定作業が行われる。所定のノード順序で、ノードIDの設定が行われ、すべてのノードにIDが与えられるまで繰り返し設定作業が行われ、最終的にステップS106 としてすべてのノードにIDを設定し終えたら、新しいネットワーク構成がすべてのノードにおいて認識されたので、ステップS107 としてノード間のデータ転送が行える状態となり、データ転送が開始される。
【0044】
このステップS107 の状態になると、再びバスリセットが発生するのを監視するモードに入り、バスリセットが発生したらステップS101 からステップS106 までの設定作業が繰り返し行われる。
【0045】
以上が、図17のフローチャートの説明であるが、図17のフローチャートのバスリセットからルート決定までの部分と、ルート決定後からID設定終了までの手順をより詳しくフローチャート図に表したものをそれぞれ図18、図19に示す。
【0046】
まず、図18のフローチャートの説明を行う。
【0047】
ステップS201 としてバスリセットが発生すると、ネットワーク構成は一旦リセットされる。なお、ステップS201 としてバスリセットが発生するのを常に監視している。
【0048】
次に、ステップS202 として、リセットされたネットワークの接続状況を再認識する作業の第一歩として、各機器にリーフ(ノード)であることを示すフラグを立てておく。さらに、ステップS203 として各機器が自分の持つポートがいくつ他ノードと接続されているのかを調べる。
【0049】
ステップS204 のポート数の結果に応じて、これから親子関係の宣言を始めていくために、未定義(親子関係が決定されてない)ポートの数を調べる。バスリセットの直後はポート数=未定義ポート数であるが、親子関係が決定されていくにしたがって、ステップS204 で検知する未定義ポートの数は変化していくものである。
【0050】
まず、バスリセットの直後、はじめに親子関係の宣言を行えるのはリーフに限られている。リーフであるというのはステップS203 のポート数の確認で知ることができる。リーフは、ステップS205 として、自分に接続されているノードに対して、「自分は子、相手は親」と宣言し動作を終了する。
【0051】
ステップS203 でポート数が複数ありブランチと認識したノードは、バスリセットの直後はステップS204 で未定義ポート数>1ということなので、ステップS206 へと移り、まずブランチというフラグが立てられ、ステップS207 でリーフからの親子関係宣言で「親」の受付をするために待つ。
【0052】
リーフが親子関係の宣言を行い、ステップS207 でそれを受けたブランチは適宜ステップS204 の未定義ポート数の確認を行い、未定義ポート数が1になっていれば残っているポートに接続されているノードに対して、ステップS205 の「自分が子」の宣言をすることが可能になる。2度目以降、ステップS204 で未定義ポート数を確認しても2以上あるブランチに対しては、再度ステップS207 でリーフ又は他のブランチからの「親」の受付をするために待つ。
【0053】
最終的に、いずれか1つのブランチ、又は例外的にリーフ(子宣言を行えるのにすばやく動作しなかった為)がステップS204 の未定義ポート数の結果としてゼロになったら、これにてネットワーク全体の親子関係の宣言が終了したものであり、未定義ポート数がゼロ(すべて親のポートとして決定)になった唯一のノードはステップS208 としてルートのフラグが立てられ、ステップS209 としてルートとしての認識がなされる。
【0054】
このようにして、図18に示したバスリセットから、ネットワーク内すべてのノード間における親子関係の宣言までが終了する。
【0055】
つぎに、図19のフローチャートについて説明する。
【0056】
まず、図18までのシーケンスでリーフ、ブランチ、ルートという各ノードのフラグの情報が設定されているので、これを元にして、ステップS301 でそれぞれ分類する。
【0057】
各ノードにIDを与える作業として、最初にIDの設定を行うことができるのはリーフからである。リーフ→ブランチ→ルートの順で若い番号(ノード番号=0〜)からIDの設定がなされていく。
【0058】
ステップS302 としてネットワーク内に存在するリーフの数N(Nは自然数)を設定する。この後、ステップS303 として各自リーフがルートに対して、IDを与えるように要求する。この要求が複数ある場合には、ルートはステップS304 としてアービトレーション(1つに調停する作業)を行い、ステップS305 として勝ったノード1つにID番号を与え、負けたノードには失敗の結果通知を行う。ステップS306 としてID取得が失敗に終わったリーフは、再度ID要求を出し、同様の作業を繰り返す。IDを取得できたリーフからステップS307 として、そのノードのID情報をブロードキャストで全ノードに転送する。1ノードID情報のブロードキャストが 終わると、ステップS308 として残りのリーフの数が1 つ減らされる。ここで、ステップS309 として、この残りのリーフの数が1以上ある時はステップS303 のID要求の作業からを繰り返し行い、最終的にすべてのリーフがID情報をブロードキャストすると、ステップS309 がN=0となり、次はブランチのID設定に移る。
【0059】
ブランチのID設定もリーフの時と同様に行われる。
【0060】
まず、ステップS310 としてネットワーク内に存在するブランチの数M(Mは自然数)を設定する。この後、ステップS311 として各自ブランチがルートに対して、IDを与えるように要求する。これに対してルートは、ステップS312 としてアービトレーションを行い、勝ったブランチから順にリーフに与え終った次の若い番号から与えていく。ステップS313 として、ルートは要求を出したブランチにID情報又は失敗結果を通知し、ステップS314 としてID取得が失敗に終わったブランチは、再度ID要求を出し、同様の作業を繰り返す。IDを取得できたブランチからステップS315 として、そのノードのID情報をブロードキャストで全ノードに転送する。1ノードID情報のブロードキャストが終わると、ステップS316 として残りのブランチの数が1 つ減らされる。ここで、ステップS317 として、この残りのブランチの数が1以上ある時はステップS311 のID要求の作業からを繰り返し、最終的にすべてのブランチがID情報をブロードキャストするまで行われる。すべてのブランチがノードIDを取得すると、ステップS317 はM=0となり、ブランチのID取得モードも終了する。
【0061】
ここまで終了すると、最終的にID情報を取得していないノードはルートのみなので、ステップS318 として与えていない番号で最も若い番号を自分のID番号と設定し、ステップS319 としてルートのID情報をブロードキャストする。
【0062】
以上で、図19に示したように、親子関係が決定した後から、すべてのノードのIDが設定されるまでの手順が終了する。
【0063】
次に、一例として図10に示した実際のネットワークにおける動作を図10を参照しながら説明する。
【0064】
図10の説明として、(ルート)ノードBの下位にはノードAとノードCが直接接続されており、更にノードCの下位にはノードDが直接接続されており、更にノードDの下位にはノードEとノードFが直接接続された階層構造になっている。この、階層構造やルートノード、ノードIDを決定する手順を以下で説明する。
【0065】
バスリセットがされた後、まず各ノードの接続状況を認識するために、各ノードの直接接続されているポート間において、親子関係の宣言がなされる。この親子とは親側が階層構造で上位となり、子側が下位となると言うことができる。
【0066】
図10ではバスリセットの後、最初に親子関係の宣言を行なったのはノードAである。基本的にノードの1つのポートにのみ接続があるノード(リーフと呼ぶ)から親子関係の宣言を行なうことができる。これは自分には1ポートの接続のみということをまず知ることができるので、これによってネットワークの端であることを認識し、その中で早く動作を行なったノードから親子関係 が決定されていく。こうして親子関係の宣言を行なった側(A− B間ではノードA)のポートが子と設定され、相手側(ノードB)のポートが親と設定される。こうして、ノードA −B 間では子−親、ノードE−D 間で子−親、ノードF −D 間で子−親と決定される。
【0067】
さらに1 階層あがって、今度は複数個接続ポートを持つノード(ブランチと呼ぶ)のうち、他ノードからの親子関係の宣言を受けたものから順次、更に上位に親子関係の宣言を行なっていく。図12ではまずノードDがD −E 間、D −F 間と親子関係が決定した後、ノードCに対する親子関係の宣言を行っており、その結果ノードD −C 間で子−親と決定している。
【0068】
ノードDからの親子関係の宣言を受けたノードC は、もう一つのポートに接続されているノードB に対して親子関係の宣言を行なっている。これによってノードC −B 間で子−親と決定している。
【0069】
このようにして、図10のような階層構造が構成され、最終的に接続されているすべてのポートにおいて親となったノードB が、ルートノードと決定された。ルートは1 つのネットワーク構成中に一つしか存在しないものである。
【0070】
なお、この図10においてノードB がルートノードと決定されたが、これはノードA から親子関係宣言を受けたノードB が、他のノードに対して親子関係宣言を早いタイミングで行なっていれば、ルートノードは他ノードに移っていたこともあり得る。すなわち、伝達されるタイミングによってはどのノードもルートノードとなる可能性があり、同じネットワーク構成でもルートノードは一定とは限らない。
【0071】
ルートノードが決定すると、次は各ノードIDを決定するモードに入る。ここではすべてのノードが、決定した自分のノードIDを他のすべてのノードに通知する(ブロードキャスト機能)。
【0072】
自己ID情報は、自分のノード番号、接続されている位置の情報、持っているポートの数、接続のあるポートの数、各ポートの親子関係の情報等を含んでいる。
【0073】
ノードID番号の割り振りの手順としては、まず1つのポートにのみ接続があるノード(リーフ)から起動することができ、この中から順にノード番号=0、1、2、、と割り当てられる。
【0074】
ノードIDを手にしたノードは、ノード番号を含む情報をブロードキャストで各ノードに送信する。これによって、そのID番号は『割り当て済み』であることが認識される。
【0075】
すべてのリーフが自己ノードIDを取得し終ると、次はブランチへ移りリーフに引き続いたノードID番号が各ノードに割り当てられる。リーフと同様に、ノードID番号が割り当てられたブランチから順次ノードID情報をブロードキャストし、最後にルートノードが自己ID情報をブロードキャストする。すなわち、常にルートは最大のノードID番号を所有するものである。
【0076】
以上のようにして、階層構造全体のノードIDの割り当てが終わり、ネットワーク構成が再構築され、バスの初期化作業が完了する。
【0077】
《アービトレーション》
1394シリアルバスでは、データ転送に先立って必ずバス使用権のアービトレーション(調停)を行なう。1394シリアルバスは個別に接続された各機器が、転送された信号をそれぞれ中継することによって、ネットワーク内すべての機器に同信号を伝えるように、論理的なバス型ネットワークであるので、パケットの衝突を防ぐ意味でアービトレーションは必要である。これによってある時間には、たった一つのノードのみ転送を行なうことができる。
【0078】
アービトレーションを説明するための図として図11(a)にバス使用要求の図(b)にバス使用許可の図を示し、以下これを用いて説明する。
【0079】
アービトレーションが始まると、1つもしくは複数のノードが親ノードに向かって、それぞれバス使用権の要求を発する。図11(a)のノードC とノードF がバス使用権の要求を発しているノードである。これを受けた親ノード(図11ではノードA)は更に親ノードに向かって、バス使用権の要求を発する(中継する)。この要求は最終的に調停を行なうルートに届けられる。
【0080】
バス使用要求を受けたルートノードは、どのノードにバスを使用させるかを決める。この調停作業はルートノードのみが行なえるものであり、調停によって勝ったノードにはバスの使用許可を与える。図11(b)ではノードC に使用許可が与えられ、ノードF の使用は拒否された図である。アービトレーションに負けたノードに対してはDP(data prefix )パケットを送り、拒否されたことを知らせる。拒否されたノードのバス使用要求は次回のアービトレーションまで待たされる。
【0081】
以上のようにして、アービトレーションに勝ってバスの使用許可を得たノードは、以降データの転送を開始できる。
【0082】
ここで、アービトレーションの一連の流れをフローチャート図20に示して説明する。
【0083】
ノードがデータ転送を開始できる為には、バスがアイドル状態であることが必要である。先に行われていたデータ転送が終了して、現在バスが空き状態であることを認識するためには、各転送モードで個別に設定されている所定のアイドル時間ギャップ長(例:サブアクション・ギャップ)を経過する事によって、各ノードは自分の転送が開始できると判断する。
【0084】
ステップS401 として、Async データ、Iso データ等それぞれ転送するデータに応じた所定のギャップ長が得られたか判断する。所定のギャップ長が得られない限り、転送を開始するために必要なバス使用権の要求はできないので、所定のギャップ長が得られるまで待つ。
【0085】
ステップS401 で所定のギャップ長が得られたら、ステップS402 として転送すべきデータがあるか判断し、ある場合はステップS403 として転送するためにバスを確保するよう、バス使用権の要求をルートに対して発する。このときの、バス使用権の要求を表す信号の伝達は、図13に示したように、ネットワーク内各機器を中継しながら、最終的にルートに届けられる。ステップS402 で転送するデータがない場合は、そのまま待機する。
【0086】
次に、ステップS404 として、ステップS403 のバス使用要求を1つ以上ルートが受信したら、ルートはステップS405 として使用要求を出したノードの数を調べる。ステップS405 での選択値がノード数=1(使用権要求を出したノードは1つ)だったら、そのノードに直後のバス使用許可が与えられることとなる。ステップS405 での選択値がノード数>1(使用要求を出したノードは複数)だったら、ルートはステップS406 として使用許可を与えるノードを1つに決定する調停作業を行う。この調停作業は公平なものであり、毎回同じノードばかりが許可を得る様なことはなく、平等に権利を与えていくような構成となっている。
【0087】
ステップS407 として、ステップS406 で使用要求を出した複数ノードの中からルートが調停して使用許可を得た1つのノードと、敗れたその他のノードに分ける選択を行う。ここで、調停されて使用許可を得た1つのノード、またはステップS405 の選択値から使用要求ノード数=1で調停無しに使用許可を得たノードには、ステップS408 として、ルートはそのノードに対して許可信号を送る。許可信号を得たノードは、受け取った直後に転送すべきデータ(パケット)を転送開始する。また、ステップS406 の調停で敗れて、バス使用が許可されなかったノードにはステップS409 としてルートから、アービトレーション失敗を示すDP(data prefix )パケットを送られ、これを受け取ったノードは再度転送を行うためのバス使用要求を出すため、ステップS401 まで戻り、所定ギャップ長が得られるまで待機する
以上がアービトレーションの流れを説明した、フローチャート図20の説明である。
【0088】
《Asynchronous(非同期)転送 》
アシンクロナス転送は、非同期転送である。図12にアシンクロナス転送における時間的な遷移状態を示す。図12の最初のサブアクション・ギャップは、バスのアイドル状態を示すものである。このアイドル時間が一定値になった時点で,転送を希望するノードはバスが使用できると判断して、バス獲得のためのアービトレーションを実行する。
【0089】
アービトレーションでバスの使用許可を得ると、次にデータの転送がパケット形式で実行される。データ転送後、受信したノードは転送されたデータに対しての受信結果のack (受信確認用返送コード)をack gap という短いギャップの後、返送して応答するか、応答パケットを送ることによって転送が完了する。ack は4 ビットの情報と4 ビットのチェックサムからなり、成功か、ビジー状態か、ペンディング状態であるかといった情報を含み、すぐに送信元ノードに返送される。
【0090】
次に、図13にアシンクロナス転送のパケットフォーマットの例を示す。
【0091】
パケットには、データ部及び誤り訂正用のデータCRC の他にはヘッダ部があり、そのヘッダ部には図13に示したような、目的ノードID、ソースノードID、転送データ長さや各種コードなどが書き込まれ、転送が行なわれる。
【0092】
また、アシンクロナス転送は自己ノードから相手ノードへの1対1の通信である。転送元ノードから転送されたパケットは、ネットワーク中の各ノードに行き渡るが、自分宛てのアドレス以外のものは無視されるので、宛先の1つのノードのみが読込むことになる。
【0093】
以上がアシンクロナス転送の説明である。
【0094】
《Isochronous (同期)転送》
アイソクロナス転送は同期転送である。1394シリアルバスの最大の特徴であるともいえるこのアイソクロナス転送は、特にVIDEO 映像データや音声データといったマルチメディアデータなど、リアルタイムな転送を必要とするデータの転送に適した転送モードである。
【0095】
また、アシンクロナス転送(非同期)が1対1の転送であったのに対し、このアイソクロナス転 送はブロードキャスト機能によって、転送元の1つのノードから他のすべてのノードへ一様に転送される。
【0096】
図14はアイソクロナス転送における、時間的な遷移状態を示す図である。
【0097】
アイソクロナス転送は、バス上一定時間毎に実行される。この時間間隔をアイソクロナスサイクルと呼ぶ。アイソクロナスサイクル時間は、125 μS である。この各サイクルの開始時間を示し、各ノードの時間調整を行なう役割を担っているのがサイクル・スタート・パケットである。サイクル・スタート・パケットを送信するのは、サイクル・ マスタと呼ばれるノードであり、1つ前のサイクル内の転送終了後、所定のアイドル期間(サブアクションギャップ)を経た後、本サイクルの開始を告げるサイクル・スタート・パケットを送信する。このサイクル・スタート・パケットの送信される時間間隔が125 μS となる。
【0098】
また、図14にチャネルA、チャネルB、チャネルCと示したように、1サイクル内において複数種のパケットがチャネルIDをそれぞれ与えられることによって、区別して転送できる。これによって同時に複数ノード間でのリアルタイムな転送が可能であり、また受信するノードでは自分が欲しいチャネルIDのデータのみを取り込む。このチャネルIDは送信先のアドレスを表すものではなく、データに対する論理的な番号を与えているに過ぎない。よって、あるパケットの送信は1 つの送信元ノードから他のすべてのノードに行き渡る、ブロードキャストで転送されることになる。
【0099】
アイソクロナス転送のパケット送信に先立って、アシンクロナス転送同様アービトレーションが行われる。しかし、アシンクロナス転送のように1対1の通信ではないので、アイソクロナス転送にはack (受信確認用返信コード)は存在しない。
【0100】
また、図14に示した iso gap(アイソクロナスギャップ)とは、アイソクロナス転送を行なう前にバスが空き状態であると認識するために必要なアイドル期間を表している。この所定のアイドル期間を経過すると、アイソクロナス転送を行ないたいノードはバスが空いていると判断し、転送前のアービトレーションを行なうことができる。
【0101】
つぎに、図15にアイソクロナス転送のパケットフォーマットの例を示し、説明する。
【0102】
各チャネルに分かれた、各種のパケットにはそれぞれデータ部及び誤り訂正用のデータCRC の他にヘッダ部があり、そのヘッダ部には図15に示したような、転送データ長やチャネルNO、その他各種コード及び誤り訂正用のヘッダCRC などが書き込まれ、転送が行なわれる。
【0103】
以上がアイソクロナス転送の説明である。
【0104】
《バス・サイクル》
実際の1394シリアルバス上の転送では、アイソクロナス転送と、アシンクロナス転送は混在できる。その時の、アイソクロナス転送とアシンクロナス転送が混在した、バス上の転送状態の時間的な遷移の様子を表した図を図16に示す。
【0105】
アイソクロナス転送はアシンクロナス転送より優先して実行される。その理由は、サイクル・スタート・パケットの後、アシンクロナス転送を起動するために必要なアイドル期間のギャップ長(サブアクションギャップ)よりも短いギャップ長(アイソクロナスギャップ)で、アイソクロナス転送を起動できるからである。したがって、アシンクロナス転送より、アイソクロナス転送は優先して実行されることとなる。
【0106】
図16に示した、一般的なバスサイクルにおいて、サイクル#mのスタート時にサイクル・スタート・パケットがサイクル・マスタから各ノードに転送される。これによって、各ノードで時刻調整を行ない、所定のアイドル期間(アイソクロナスギャップ)を待ってからアイソクロナス転送を行なうべきノードはアービトレーションを行い、パケット転送に入る。図16ではチャネルeとチャネルsとチャネルkが順にアイソクロナス転送されている。
【0107】
このアービトレーションからパケット転送までの動作を、与えられているチャネル分繰り返し行なった後、サイクル#mにおけるアイソクロナス転送がすべて終了したら、アシンクロナス転送を行うことができるようになる。
【0108】
アイドル時間がアシンクロナス転送が可能なサブアクションギャップに達する事によって、アシンクロナス転送を行いたいノードはアービトレーションの実行に移れると判断する。
【0109】
ただし、アシンクロナス転送が行える期間は、アイソクロナス転送終了後から、次のサイクル・スタート・パケットを転送すべき時間(cycle synch )までの間にアシンクロナス転送を起動するためのサブアクションギャップが得られた場合に限っている。
【0110】
図16のサイクル#mでは3つのチャネル分のアイソクロナス転送と、その後アシンクロナス転送(含むack )が2パケット(パケット1、パケット2)転送されている。このアシンクロナスパケット2の後は、サイクルm+1をスタートすべき時間(cycle synch )にいたるので、サイクル#mでの転送はここまでで終わる。
【0111】
ただし、非同期または同期転送動作中に次のサイクル・スタート・パケットを送信すべき時間(cycle synch )に至ったとしたら、無理に中断せず、その転送が終了した後のアイドル期間を待ってから次サイクルのサイクル・スタート・パケットを送信する。すなわち、1つのサイクルが125 μS 以上続いたときは、その分次サイクルは基準の125 μS より短縮されたとする。このようにアイソクロナス・サイクルは125 μS を基準に超過、短縮し得るものである。
【0112】
しかし、アイソクロナス転送はリアルタイム転送を維持するために毎サイクル必要であれば必ず実行され、アシンクロナス転送はサイクル時間が短縮されたことによって次以降のサイクルにまわされることもある。
【0113】
こういった遅延情報も含めて、サイクル・マスタによって管理される。
【0114】
以上が、IEEE1394シリアルバスの説明である。
【0115】
前述のようなIEEE1394シリアルバスで構成されたネットワークに接続されるプリンタにおいて、ホストPCによってホスト内のメモリ上に作られた印字データを印刷終了後にその実行されたジョブ単位で圧縮してホスト内の記憶媒体にある設定された期間に保存し、かつ各データの印刷履歴情報をホスト内の記憶媒体に保存する事によりプリンタ側から履歴情報を入力するだけでその履歴に該当するジョブのデータの圧縮をといて再印刷を行うことが本発明である。
[第1実施例]
IEEE1394ネットワークに接続されるプリンタにおいて、プリンタ内で展開されたラスタデータを印刷と同時にホストPCに送り返してユーザーの指定によって設定された期間そのデータをホスト上でジョブ単位で圧縮して記憶媒体に保存し、かつそのジョブデータの履歴情報及びジョブ実行時のドライバの設定情報もリンクさせてホストで管理する事によってプリンタ側から履歴情報を入力するだけでその履歴に該当するジョブのデータの圧縮をといて再印刷を行う印刷システム。
【0116】
図21に本実施例のシステム構成例を示す。
【0117】
図22に本実施例のホストプリンタ間のブロック図を示す。
【0118】
図23及び図24に本実施例の通常印刷時のフローチャートを示す。
【0119】
S01 印刷ジョブを開始する
S02 ジョブデータをプリンタへ送信
S03 プリンタよりプリンタ内で展開されたラスタデータを受信する
S04 受信したラスタデータを公知の圧縮手法を用いて圧縮を行う
S05 実行したジョブの履歴情報(実行日時、ドライバ設定、ファイル名等)は履歴情報のデータベースに保存し、圧縮したラスタデータは履歴情報とリンクして設定された領域に保存する。
【0120】
S06 履歴情報データベースより予め設定された保存期限を過ぎたデータがあるかを検索しあった場合はS07 へ、無い場合は終了
S07 保存期限を過ぎた履歴データ及び圧縮保存してあるラスタデータを消去する。
【0121】
S11 ホストよりジョブデータを受信する
S12 受信したジョブデータをラスタイメージデータに展開する
S13 展開したラスタデータをエンジンに送って印刷すると同時にホストへそのデータを転送する
S14 ジョブが終了した場合は終了、ジョブが残っている時はS13 へ
図25及び図26に本実施例の履歴再印刷時のフローチャートを示す。
【0122】
S21 プリンタよりホストが管理保存している印刷履歴情報データベースからプリンタに入力された条件に合う履歴情報の要求命令を受信
S22 プリンタから出された条件に該当する印刷履歴情報をプリンタへ送信する
S23 プリンタから指定された保存データの転送命令を受信した場合はS24 、無い場合はS26 へ
S24 該当する圧縮された保存データをロードして圧縮を展開する
S25 ラスタデータをプリンタへ送信する
S26 タイマーの値tが予め設定された時間を過ぎた場合は終了、そうでない場合はS23 へ
S31 最印刷したいジョブの履歴をプリンタへ入力してホストへ送信する
S32 ホストから入力した条件に合う履歴情報を取得する
S33 取得した履歴情報を表示パネルに表示する
S34 取得した履歴情報に該当するジョブがあった場合はS35 、無い場合は終了
S35 該当ラスタデータをホストよりダウンロード
S36 ダウンロードしたラスタデータを印刷出力
[第2実施例]
請求項1のシステムにおいて、圧縮して保存するジョブのラスタデータをページ単位で圧縮して保存することでプリンタ側から履歴情報の入力よってその履歴に該当するジョブのページ単位での再印刷を行うことを特長とする印刷システム。
【0123】
図27〜図29に本実施例の通常印刷時のフローチャートを示す。
【0124】
S41 印刷ジョブを開始する
S42 ジョブデータをプリンタへ送信
S43 プリンタよりプリンタ内で展開されたラスタデータを受信する
S44 受信したラスタデータを公知の圧縮手法を用いてページ単位で圧縮を行う
S45 実行したジョブの履歴情報(実行日時、ドライバ設定、ファイル名、ページナンバー等)は履歴情報のデータベースに保存し、圧縮したラスタデータは履歴情報とリンクして設定された領域に保存する。
【0125】
S46 履歴情報データベースより予め設定された保存期限を過ぎたデータがあるかを検索しあった場合はS47 へ、無い場合は終了
S47 保存期限を過ぎた履歴データ及び圧縮保存してあるラスタデータを消去する。
【0126】
S51 ホストよりジョブデータを受信する
S52 受信したジョブデータをラスタイメージデータに展開する
S53 展開したラスタデータをエンジンに送って印刷すると同時にホストへそのデータをページ単位で転送する
S54 ジョブが終了した場合は終了、ジョブが残っている時はS53 へ
履歴再印刷時のフローは第1実施例と同じ。
[第3実施例]
請求項1のシステムにおいて再印刷を行う際に利用するユーザーの個人認証を行うための機構を追加した印刷システム。
【0127】
図30に本実施例の履歴再印刷時のフローチャートを示す。
【0128】
S61 プリンタよりホストが管理保存している印刷履歴情報データベースからプリンタに入力された条件に合う履歴情報の要求命令を受信
S62 プリンタへユーザーIDとパスワードを要求する
S63 プリンタよりユーザーIDとパスワードを受信、照合を行う
S64 照合結果がOKならばS65 、NGの場合はS69 へ
S65 プリンタから出された条件に該当する印刷履歴情報をプリンタへ送信する
S66 プリンタから指定された保存データの転送命令を受信した場合はS24 、無い場合はS26 へ
S67 該当する圧縮された保存データをロードして圧縮を展開する
S68 ラスタデータをプリンタへ送信する
S69 プリンタへ認証不可を通知する
S70 タイマーの値tが予め設定された時間を過ぎた場合は終了、そうでない場合はS23 へ
S71 最印刷したいジョブの履歴をプリンタへ入力してホストへ送信する
S72 ホストからのユーザーIDとパスワードの要求命令を受信
S73 ユーザーIDとパスワードの入力してホストへ送信
S74 認証がOKならばS75 、NGだったらS80 へ
S75 ホストから入力した条件に合う履歴情報を取得する
S76 取得した履歴情報を表示パネルに表示する
S77 取得した履歴情報に該当するジョブがあった場合はS78 、無い場合は終了
S78 該当ラスタデータをホストよりダウンロード
S79 ダウンロードしたラスタデータを印刷出力
S80 認証不可を表示パネルに表示してユーザーに通知する
通常印刷時のフローは第1実施例と同じ。
【0129】
【発明の効果】
以上説明したように、本発明によれば、転送元ノードから転送先ノードに所定のデータ転送を行うとき、転送先ノードが具備するデコーダによって、転送元ノードは所定のデータの圧縮または非圧縮を選択して転送するようにすることで、ノード間の転送効率の向上ができる。
【0130】
また、転送先ノードの具備するデコーダで、転送元ノードより圧縮して転送する所定のデータを伸張できないときは非圧縮データを転送することによって、転送元ノードから誤った圧縮方式のデータが転送されることが無くなる。
【0131】
以上述べたように本発明によれば、IEEE1394ネットワークに接続されるプリンタにおいて、プリンタ内で展開されたラスタデータを印刷と同時にホストPCに送り返してユーザーの指定によって設定された期間そのデータをホスト上でジョブ単位で圧縮して記憶媒体に保存し、かつそのジョブデータの履歴情報及びジョブ実行時のドライバの設定情報もリンクさせてホストで管理する事によってプリンタ側から履歴情報を入力するだけでその履歴に該当するジョブのデータの圧縮をといて再印刷を行うことができるという効果がある。
【0132】
以上述べたように本発明によれば、請求項1のシステムにおいてジョブデータを圧縮保存する際にページ単位で圧縮し履歴データにページ情報も追加することによって、より細かい単位での履歴再印刷を行うことが出来るという効果がある。
【0133】
以上述べたように本発明によれば、請求項1のシステムにおいて再印刷を行う際に利用するユーザーの個人認証を行うための機構を追加することによって第三者による不正な再印刷を防ぐことが出来るという効果がある。
【図面の簡単な説明】
【図1】本発明の実施例のネットワーク一例を示した図である。
【図2】本発明を適用した記録再生装置、プリンタ装置、PCのブロック図である。
【図3】従来例で、デジタルカメラ、PC、プリンタをPCを中心に接続したときの構成を示すブロック図である。
【図4】本発明における実施例の記録再生装置での動作の流れを示すフローチャートである。
【図5】1394シリアルバスを用いて接続されたネットワーク構成の一例を示す図である。
【図6】1394シリアルバスの構成要素を表す図である。
【図7】1394シリアルバスのアドレスマップを示す図である。
【図8】1394シリアルバスケーブルの断面図である。
【図9】DS−Link符号化方式を説明するための図である。
【図10】1394シリアルバスで各ノードのIDを決定するためのトポロジ設定を説明するための図である。
【図11】1394シリアルバスでのアービトレーションを説明するための図である。
【図12】アシンクロナス転送の時間的な状態遷移を表す基本的な構成図である。
【図13】アシンクロナス転送のパケットのフォーマットの一例の図である。
【図14】アイソクロナス転送の時間的な状態遷移を表す基本的な構成図である。
【図15】アイソクロナス転送のパケットのフォーマットの一例の図である。
【図16】1394シリアルバスで実際のバス上を転送されるパケットの様子を示したバスサイクルの一例を示す図である。
【図17】バスリセットからノードIDの決定までの流れを示すフローチャートである。
【図18】バスリセットにおける親子関係決定の流れを示すフローチャートである。
【図19】バスリセットにおける親子関係決定後からノードID決定までの流れを示すフローチャートである。
【図20】アービトレーションを説明するためのフローチャートである。
【図21】実施例1のシステム構成図である。
【図22】実施例1のホスト−プリンタ間のブロック図である。
【図23】実施例1の通常印刷時のフローチャートである。
【図24】実施例1の通常印刷時のフローチャートである。
【図25】実施例1の履歴再印刷時のフローチャートである。
【図26】実施例1の履歴再印刷時のフローチャートである。
【図27】実施例2の通常印刷時のフローチャートである。
【図28】実施例2の通常印刷時のフローチャートである。
【図29】実施例2の通常印刷時のフローチャートである。
【図30】実施例3の履歴再印刷時のフローチャートである。
【符号の説明】
8 記録再生系
9 システムコントローラ
13 メモリ
14 メモリ制御
15 メモリ
16 メモリ制御
21 復号化回路
26 プリンタコントローラ
63 MPU
64 復号化回路
101 記録再生装置
102 プリンタ装置
103 PC(パーソナルコンピュータ)
Claims (3)
- IEEE1394ネットワークに接続されるプリンタにおいて、プリンタ内で展開されたラスタデータを印刷と同時にホストPCに送り返してユーザーの指定によって設定された期間そのデータをホスト上でジョブ単位で圧縮して記憶媒体に保存し、かつそのデータの履歴情報及びジョブ実行時のドライバの設定情報もリンクさせてホストで管理する事によってプリンタ側から履歴情報を入力するだけでその履歴に該当するジョブのデータの圧縮を解いて再印刷を行うことを特徴とする印刷システム。
- 圧縮して保存する印刷データをページ単位で圧縮して保存することでプリンタ側から履歴情報の入力よってその履歴に該当するジョブのページ単位での再印刷を行うことを特徴とする請求項1記載の印刷システム。
- 再印刷を行う際に利用するユーザーの個人認証を行うためのシステムを追加したことを特徴とする請求項1記載の印刷システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002185945A JP2004030259A (ja) | 2002-06-26 | 2002-06-26 | 印刷システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002185945A JP2004030259A (ja) | 2002-06-26 | 2002-06-26 | 印刷システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004030259A true JP2004030259A (ja) | 2004-01-29 |
Family
ID=31181434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002185945A Pending JP2004030259A (ja) | 2002-06-26 | 2002-06-26 | 印刷システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004030259A (ja) |
-
2002
- 2002-06-26 JP JP2002185945A patent/JP2004030259A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH10243327A (ja) | 画像入力装置とその制御方法及び画像入出力システム | |
JP2000358033A (ja) | データ通信システム及びデータ通信方法 | |
JP3293779B2 (ja) | 信号処理装置およびその制御方法 | |
JP3630971B2 (ja) | データ通信方法、装置、システム、及び記憶媒体 | |
JP4072215B2 (ja) | 画像処理装置及びその制御方法、画像処理システム | |
JPH10229533A (ja) | 画像形成装置、画像形成システム、及び、画像形成方法 | |
JP3682512B2 (ja) | 画像取り込み装置及びその制御方法、印刷システム、印刷方法、及び、印刷装置及びその制御方法 | |
JPH10285240A (ja) | データ通信装置及び方法、データ通信システム及び記憶媒体 | |
JP3774540B2 (ja) | データ転送方法及び画像処理システムと装置 | |
JPH10229538A (ja) | データ通信システム、プリントシステム及びデータ通信装置 | |
JP2004030259A (ja) | 印刷システム | |
JP3495879B2 (ja) | データ処理方法、データ処理装置、及びコンピュータ読み取り可能な記録媒体 | |
JP3774542B2 (ja) | データ処理方法、データ処理装置、プリンタ及び記憶媒体 | |
JP3495878B2 (ja) | データ処理方法、データ処理装置及びプリンタ | |
JP2000196873A (ja) | 情報処理装置及び情報処理システム及びそれらの方法と記憶媒体 | |
JP2003333045A (ja) | パワーマネージメント | |
JP3862349B2 (ja) | 情報処理システム、画像処理システムおよびそれらの方法、並びに、情報処理装置およびコンピュータ可読メモリ | |
JP3647328B2 (ja) | 画像処理装置及びその制御方法並びに画像処理システム | |
JPH10228364A (ja) | データ転送装置及びその制御方法及び印刷システム | |
JP2004030109A (ja) | 情報処理装置、情報処理方法及びそのプログラムを記憶した記憶媒体 | |
JP4463953B2 (ja) | 画像処理システム及びデジタルカメラとその制御方法 | |
JP3897773B2 (ja) | 通信方法及び通信装置 | |
JPH11227286A (ja) | 印刷システム及び印刷制御方法 | |
JP4058156B2 (ja) | データ処理方法、データ処理装置、プリンタ、及び記憶媒体 | |
JP2002144681A (ja) | 情報処理装置と情報処理方法、及び情報処理システム、並びに記憶媒体 |