(57)【特許請求の範囲】
【請求項１】
データの授受に関する規約がネットワーク上でのデータ転送の規約と異なるプリンタを、前記ネットワークに接続するプリントサーバであって、
前記ネットワークに接続し、該ネットワークに接続されたコンピュータとデータをやりとりするネットワークインタフェースと、
前記プリンタとデータをやりとりするプリンタ側インタフェースと、
前記ネットワークインタフェースおよび前記プリンタ側インタフェースの動作を制御する制御手段とを備え、
該制御手段は、
前記コンピュータから前記プリンタへの前記ネットワークおよび当該プリントサーバを介した印刷ジョブの転送において、前記コンピュータから前記ネットワークを介して当該プリントサーバに転送される複数の印刷ジョブをバッファに蓄積して、該複数の印刷ジョブを当該プリントサーバから前記プリンタに順次転送するジョブ制御手段と、
前記プリンタ側インタフェースに入力される信号に基づいて、前記プリンタの電源が切られている状態と、当該プリントサーバと前記プリンタとの接続が切り離されている状態とのいずれかである非稼働状態にあるか否かを検出する検出手段と、
前記非稼働状態にあることが前記検出手段によって検出された前後で、該プリンタの機種が変更されたか否かを検出する機種変更判断手段と、
当該プリントサーバから前記プリンタへの前記印刷ジョブの転送中に、前記非稼働状態にあることが前記検出手段によって検出された場合には、当該プリントサーバから前記プリンタへの前記印刷ジョブの転送の再開に先立って、当該プリントサーバから前記プリンタへの転送中に中断された印刷ジョブについて当該プリントサーバから前記プリンタへの転送が終了していないデータを破棄すると共に、前記プリンタの機種が変更されたことが前記機種変更判断手段によって検出された場合には、当該プリントサーバから前記プリンタへの転送中に中断された印刷ジョブについてのデータに加え、前記バッファに蓄積されている印刷ジョブの全てについてのデータを破棄するリセット手段と
を備える手段であるプリントサーバ。
【請求項２】
前記プリンタ側インタフェースは、双方向パラレルインタフェースである請求項１記載のプリントサーバ。
【請求項３】
ネットワークに接続し、該ネットワークに接続されたコンピュータとデータをやりとりするネットワークインタフェースと、プリンタとデータをやりとりするプリンタ側インタフェースとを備えるプリントサーバに、データの授受に関する規約が前記ネットワーク上でのデータ転送の規約と異なるプリンタを前記ネットワークに接続する機能を実現させるためのプログラムをコンピュータ読み取り可能に記録した記録媒体であって、
前記プリントサーバが、前記コンピュータから前記プリンタへの前記ネットワークおよび当該プリントサーバを介した印刷ジョブの転送において、前記コンピュータから前記ネットワークを介して当該プリントサーバに転送される複数の印刷ジョブをバッファに蓄積して、該複数の印刷ジョブを当該プリントサーバから前記プリンタに順次転送する機能と、
前記プリントサーバが、前記プリンタ側インタフェースに入力される信号に基づいて、前記プリンタの電源が切られている状態と、当該プリントサーバと前記プリンタとの接続が切り離されている状態とのいずれかである非稼働状態にあるか否かを検出する検出機能と、
前記非稼働状態にあることが前記プリントサーバによって検出された前後で、該プリンタの機種が変更されたか否かを、前記プリントサーバが検出する機能と、
当該プリントサーバから前記プリンタへの前記印刷ジョブの転送中に、前記非稼働状態にあることが前記プリントサーバによって検出された場合には、当該プリントサーバから前記プリンタへの前記印刷ジョブの転送の再開に先立って、当該プリントサーバから前記プリンタへの転送中に中断された印刷ジョブについて当該プリントサーバから前記プリンタへの転送が終了していないデータを、前記プリントサーバが破棄すると共に、前記プリンタの機種が変更されたことが前記プリントサーバによって検出された場合には、当該プリントサーバから前記プリンタへの転送中に中断された印刷ジョブについてのデータに加え、前記バッファに蓄積されている印刷ジョブの全てについてのデータを、前記プリントサーバが破棄するリセット機能と
を実現するプログラムを記録した記録媒体。
【請求項４】
ネットワークに接続し、該ネットワークに接続されたコンピュータとデータをやりとりするネットワークインタフェースと、プリンタとデータをやりとりするプリンタ側インタフェースとを備えるプリントサーバを用いて、データの授受に関する規約が前記ネットワーク上でのデータ転送の規約と異なるプリンタを前記ネットワークに接続する制御を行う制御方法であって、
前記プリントサーバが、前記コンピュータから前記プリンタへの前記ネットワークおよび当該プリントサーバを介した印刷ジョブの転送において、前記コンピュータから前記ネットワークを介して当該プリントサーバに転送される複数の印刷ジョブをバッファに蓄積して、該複数の印刷ジョブを当該プリントサーバから前記プリンタに順次転送する工程と、
前記プリントサーバが、前記プリンタ側インタフェースに入力される信号に基づいて、前記プリンタの電源が切られている状態と、当該プリントサーバと前記プリンタとの接続が切り離されている状態とのいずれかである非稼働状態にあるか否かを検出する工程と、
前記非稼働状態にあることが前記プリントサーバによって検出された前後で、該プリンタの機種が変更されたか否かを、前記プリントサーバが検出する工程と、
当該プリントサーバから前記プリンタへの前記印刷ジョブの転送中に、前記非稼働状態にあることが前記プリントサーバによって検出された場合には、当該プリントサーバから前記プリンタへの前記印刷ジョブの転送の再開に先立って、当該プリントサーバから前記プリンタへの転送中に中断された印刷ジョブについて当該プリントサーバから前記プリンタへの転送が終了していないデータを、前記プリントサーバが破棄すると共に、前記プリンタの機種が変更されたことが前記プリントサーバによって検出された場合には、当該プリントサーバから前記プリンタへの転送中に中断された印刷ジョブについてのデータに加え、前記バッファに蓄積されている印刷ジョブの全てについてのデータを、前記プリントサーバが破棄する工程と
を備える制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データの授受に関する規約がネットワーク上でのデータ転送の規約と異なる機器を、前記ネットワークに接続するためのアダプタに関する。
【０００２】
【従来の技術】
従来より、コンピュータの出力装置として種々のプリンタが使用されている。通常、プリンタはコンピュータと１対１に接続され、ＩＥＥＥ(Institute of Electrical and Electronics Engineers)標準１２８４などに準拠した双方向パラレルインターフェースを通じて、コンピュータからデータを受け取って印刷を実行する。また、コンピュータは、上述の双方向パラレルインターフェースを介してプリンタからデータを受け取り、用紙切れ、インク切れなどプリンタの状態を検出する。
【０００３】
近年、ＬＡＮ（ローカル・エリア・ネットワーク）などの普及により、プリンタをネットワークに接続し、同じくネットワークに接続された複数のコンピュータで共有する態様が広まりつつある。ネットワーク上におけるデータ転送は、双方向パラレルインターフェースを通じたデータの授受とは異なる規約に基づいて行われる。従って、ネットワークに対応していないプリンタをネットワークに接続するためには、ネットワークとプリンタとの間でデータ授受を仲介するアダプタが必要となる。かかるアダプタはプリントサーバと呼ばれる。プリントサーバは、ネットワークから受け取ったデータを、プリンタが受け取り可能な状態に変換して、出力する機能を果たす。逆に、プリンタから受け取ったデータを、ネットワーク上で転送可能な状態に変換して出力する機能も果たす。
【０００４】
【発明が解決しようとする課題】
しかし、プリントサーバを介してプリンタをネットワークに接続した場合、プリンタへの出力を開始した後に、何らかの原因でプリンタがデータの受信をすることができなくなると、以後のデータ送信に障害が生じるという課題があった。例えば、プリンタに対してデータが送信されている途中でプリンタの電源が切られた場合を考える。この時点で、プリントサーバからプリンタへのデータ送信は不可能となるが、ネットワークからプリントサーバへの送信は保留されており、プリンタの電源が再びオンとなった時点でネットワークからプリンタへのデータ転送が再開される。しかしながら、ここで転送されるデータは、プリンタの電源がオフになるまでに転送されていたデータの続きに過ぎないため、プリンタにとって意味不明の信号の羅列となる。このようなデータがプリンタに転送されると、いわゆる文字化けしたデータが延々と印刷されるなどの弊害を生じる。同様の弊害は、プリンタへの送信が開始された後で、プリントサーバがプリンタから取り外され、別機種につなぎ変えられた場合などにも生じる。
【０００５】
かかる弊害を回避するため、従来のプリントサーバでは、プリンタ側が受信不能となった場合には、ユーザがプリントサーバの電源を入れなおすなどの方法でリセットし、プリンタへのデータ送信を改めて行う必要があった。しかしながら、ユーザがリセットを行うことは煩わしくプリントサーバ、ひいてはネットワークに接続されたプリンタの利便性の低下につながっていた。またネットワーク上に接続されたプリンタは、印刷データの出力源であるコンピュータと離れた場所に置かれることも多いため、ユーザがリセットの必要性に気づかない場合も多かった。更に、プリントサーバが別機種に接続された場合には、機種の変更に気づかないユーザが、従前の機種に対応したプリンタドライバで処理されたデータを送信する可能性もあり、こうして送信されたデータは、接続変更後のプリンタにとっては意味不明の信号の羅列となるため、文字化けしたデータが出力される可能性もあった。
【０００６】
ここでは、プリントサーバを例にとって課題を説明したが、上述の課題は、ネットワーク用のアダプタに共通の課題であった。本発明は、かかる課題に鑑みてなされたものであり、ネットワーク用のアダプタを介してデータを受け取る側の機器が受信不能となった後に生じる、該機器の不適切な動作を容易かつ確実に回避する技術を提供することを目的とする。
【０００７】
【課題を解決するための手段およびその作用・効果】
上記課題の少なくとも一部を解決するために、本発明は次の構成を採った。
本発明は、データの授受に関する規約がネットワーク上でのデータ転送の規約と異なる機器を、前記ネットワークに接続するアダプタであって、
前記ネットワークに接続し、該ネットワークとデータをやりとりするネットワークインタフェースと、
前記機器とデータをやりとりする機器側インタフェースと、
前記ネットワークインタフェース、機器側インタフェースの動作を制御する制御手段とを備え、
該制御手段は、
前記機器側インタフェースでやりとりされる信号に基づいて、前記機器が稼動状態にあるか否かを検出する検出手段と、
前記機器が非稼動状態にあることが検出された場合には、データ転送の再開に先立って、中断されたデータ転送をリセットするリセット手段とを備える手段であることを要旨とする。
【０００８】
非稼動状態とは、例えば、機器の電源が切られている場合や、アダプタと機器との接続が切り離されている場合などの原因によってデータを受信不能な状態になることを言う。本発明のアダプタは、機器が非稼動状態となってデータの転送が中断されると、そのデータの転送をリセットする。リセットは、データ転送の再開に先立って行えばよく、データを受信不能な状態が検出された時点でリセットしてもよいし、機器が再び稼動状態となってからデータ転送を再開する直前に行うものとしてもよい。本発明のアダプタによれば、このようにリセットすることにより、データ転送が再開された後に、機器にとって無意味な信号の羅列に相当するデータが転送されることを回避でき、機器の不適切な動作を回避できる。
【０００９】
本発明においては、さらに、前記ネットワークに接続され前記機器にデータを供給する供給源に対して、前記リセットに関する所定の情報をフィードバックすることが望ましい。通常、データの供給源は、ネットワークに接続されたコンピュータである。上記所定の情報をフィードバックすることにより、供給源としてのコンピュータを使用しているユーザに対しリセットを報知することができる。従って、ユーザはデータの再転送を指示するなどの対処を容易に採ることができ、ネットワークで構築されたシステムの利便性を向上することができる。
【００１０】
供給源への報知を行うためには、ネットワーク上で供給源を特定する情報が必要となる。通常、ネットワークを介してデータが送信される場合には、所定のプロトコルに基づき、データ中に送信元を特定する情報が含まれている。従って、上述したフィードバックは、リセットに先立って、送信元の情報を一旦記憶しておき、その情報を利用してネットワークで転送可能なデータを生成することにより実現することができる。
【００１１】
リセットに関する情報のフィードバックとしては、単にリセットが行われたことのみを報知するものとしてもよいが、
前記機器側インタフェースを通じて、前記機器から取得するデータには、該機器の機種に関する情報が含まれている場合には、前記所定の情報の一つとして前記機種に関する情報をフィードバックすることも望ましい。
【００１２】
こうすれば、例えば、アダプタに接続される機器が変更された場合に、供給源側のユーザは、新たに接続された機器を知ることができる。従って、データの転送を改めて指示する場合に、新たに接続された機器に適した形式のデータを転送することができ、無駄なデータの転送を回避することができる。この結果、ネットワークで構築されたシステムの利便性を向上することができる。なお、接続された機器に関する情報は、リセットが行われたデータの供給源のみならず、ネットワークに接続された他の供給源にも出力するものとしてもよい。また、リセットが行われたか否かに関わらず、接続されている機器の情報を供給源に出力する態様を採ることも可能である。
【００１３】
また、機器から機種情報を取得可能な場合には、その機種情報を利用してリセットの態様を切り替えるものとしてもよい。例えば、アダプタが接続されている機種に変更があった場合には、該アダプタが受け取っている全てのデータの転送をキャンセルし、機種に変更がない場合には、機器が非稼動状態になることで転送が中断されたデータの転送のみをキャンセルすることができる。機種が変更された場合、アダプタが既に受け取っているデータは変更後の機器に適応していない可能性が高いため、全てのデータ転送をキャンセルすることにより、機器の不適切な動作を確実に回避することができる。一方、機種が変更されていない場合には、かかる弊害を招かないため、転送が中断されたデータのみをキャンセルすれば機器の不適切な動作を回避することができる。
【００１４】
本発明のアダプタにおいて、前記リセットは、種々の態様で行うことができ、アダプタの制御処理全体を初期化することも可能であるが、前記機器側インタフェースによるデータのやりとりに関する動作をリセットすることが望ましい。こうすれば、必要最小限の範囲でリセットを行うため、短期間にリセットを完了することができる。
【００１５】
また、ネットワークから並行して供給される複数のジョブを扱うことができ、これらのジョブを前記機器に順次出力することができるアダプタの場合には、該複数のジョブのうち、前記非稼動状態が検出された時点で出力過程にあったジョブのデータ転送のみをリセットすることが望ましい。
【００１６】
データ転送が再開された後に、機器にとって無意味な信号の羅列になるなどの弊害をもたらすのは、転送が中断されたジョブのみである。従って、非稼動状態が検出された時点で出力過程にあったジョブのみをリセットすれば、その他のジョブのデータは正常に出力することができる。この結果、一部のユーザはリセットを免れることができるため、システムの利便性を向上することができる。
【００１７】
本発明は種々の機器を対象として構成することができるが、一例としてプリンタをネットワークに接続するプリンタ用のアダプタ、いわゆるプリントサーバとして構成することができる。
【００１８】
プリントサーバとして構成する場合、機器側インタフェースとしては、プリンタに標準的に使用されている双方向パラレルインタフェースを適用することができる。特に、ＩＥＥＥ１２８４などの規格に準拠したインタフェースを適用することが望ましい。これらのインタフェースでは、規格に従い、プリンタ側がオンライン状態にあるか否か、またはプリンタ側の電源のオン・オフを検出可能な信号が含まれているため、上述した種々の制御を実現することが可能となる。
【００１９】
本発明は、任意の機器に接続可能ないわゆる外付けのアダプタとして構成することも可能であるが、特定の機器に内臓したアダプタ、またはネットワークカードなどの態様で構成することも可能である。外付けのアダプタとして構成すれば、多様な機器に適用でき利便性が高いという利点がある。一方、内臓のアダプタの場合には機器側のインタフェースの自由度が高まり、機器についてのより多くの情報を、ネットワーク側に供給することが可能となる利点がある。
【００２０】
本発明は、上述したアダプタ自体として構成する他、アダプタを制御する制御方法、アダプタを制御するためのプログラムを記録した記録媒体、該プログラム自体など種々の態様で構成することができる。ここで、記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置等、コンピュータが読取り可能な種々の媒体を利用できる。
【００２１】
【発明の実施の形態】
以下、本発明のアダプタを、プリンタをネットワークに接続するためのプリントサーバとして構成した実施例に基づき、本発明の実施の形態について、以下の順序で説明する。
Ａ．システムの構成：
Ｂ．プリントサーバ１０の構成：
Ｃ．オートリセット処理：
Ｄ．第１の変形例：
Ｅ．第２の変形例：
Ｆ．第２実施例：
Ｇ．第３実施例：
【００２２】
Ａ．システムの構成：
図１は実施例としてのプリントサーバ１０を用いたネットワークシステムの構成を示す説明図である。図示する通り、ローカルエリアネットワークＬＡＮ１に３台のコンピュータＰＣ１、ＰＣ２，ＰＣ３が接続されている。ネットワークＬＡＮ１には、また、プリントサーバ１０を介してインクジェットプリンタＰＲＴが接続されている。ネットワークＬＡＮ１は、更に広域のネットワークＮＥにも接続されている。
【００２３】
コンピュータＰＣ１，ＰＣ２，ＰＣ３のユーザは、ネットワークＬＡＮ１上でプリンタＰＲＴに対応したパスを指定して、印刷ジョブを送信することによって、プリンタＰＲＴに印刷を行わせることができる。ネットワークでデータをやりとりするためのプロトコルは、プリンタＰＲＴにデータを転送するためのプロトコルとは異なるため、プリントサーバ１０が両者を仲介する機能を果たす。即ち、ネットワークを介してコンピュータＰＣ１，ＰＣ２，ＰＣ３から送られるデータは、プリントサーバ１０が受信する。プリントサーバ１０は、ネットワーク上でのデータ通信に関するプロトコルに従い、受信した信号の中から、プリンタＰＲＴに転送すべきデータを抽出する。そして、抽出されたデータを、今度は、プリンタＰＲＴとのデータ転送方式に従って、プリンタＰＲＴに出力するのである。
【００２４】
プリントサーバ１０の動作は内部に記憶されたファームウェアと呼ばれるソフトウェアで制御される。ファームウェアには、ネットワークを介してプリントサーバ１０の動作設定を行うためのソフトウェアも含まれており、コンピュータＰＣ１，ＰＣ２，ＰＣ３は、この機能を利用して、プリントサーバ１０の動作を設定することができる。ファームウェアは、ネットワークを介して書き換え可能であり、コンピュータＰＣ１，ＰＣ２，ＰＣ３のいずれかを用いて広域のネットワークＮＥに接続されている特定のサーバＳＶなどからダウンロードするとともに、書き換えを指示してプリントサーバ１０に出力することにより変更することができる。コンピュータＰＣ１，ＰＣ２，ＰＣ３に備えられたＣＤ−ＲＯＭドライブ、フレキシブルディスクドライブなどを介して、ＣＤ−ＲＯＭやフレキシブルディスクなどの記録媒体から、ファームウェアを読み込んで変更することも可能である。
【００２５】
Ｂ．プリントサーバ１０の構成：
図２はプリントサーバ１０のハードウェア構成を示す説明図である。プリントサーバ１０には、プリンタＰＲＴと接続するためのコネクタとしてパラレルポート１１を備えている。パラレルポート１１は、プリンタＰＲＴと接続され、ＩＥＥＥ１２８４に準拠したデータ転送を実現する。このコネクタ１１には、かかるデータ転送を実現するコントロールチップ１２が接続されている。一方、プリントサーバ１０には、ネットワークと接続するためのコネクタ１７が備えられている。コネクタ１７はＩＥＥＥ８０２．３に準拠したケーブル、いわゆる１０−ＢＡＳＥ−Ｔケーブルと接続できる形状をなしており、規格に準じた転送レートでデータ転送を行うためのコントロールチップ１６と接続されている。
【００２６】
プリントサーバ１０では、これらのコントロールチップ１２，１６およびその動作を制御するＣＰＵ１３、Ｆｌａｓｈ  ＲＯＭ１４、ＲＡＭ１５などがバスを介して接続されている。Ｆｌａｓｈ  ＲＯＭ１４には、前述のファームウェアの他、ネットワークを介してデータをやりとりするために必要となるアドレス情報などが記憶されている。
【００２７】
図３はプリンタＰＲＴとの接続用のパラレルポート１１の構成を示す説明図である。図３（ａ）はパラレルポート１１の断面図である。パラレルポート１１は信号をやりとりするピンが３６本備えられており、双方向のデータ転送を実現する。これらのピンには、上段の右から左に向かって１番〜１８番、下側の右から左に向かって１９番〜３６番の番号が付され、それぞれの信号の内容が規定されている。図３（ｂ）は各ピンでやりとりされる信号の内容を示す説明図である。各ピンの信号内容は、概ね規格化されているものの細部ではプリンタＰＲＴの機種ごとに相違しているため、ここには信号内容の一例を示す。データ信号（２番〜９番ピン）や、同期信号（１番ピン）など比較的速い速度で頻繁に変化する信号は、リターン側即ちグラウンド側が用意されている。これらの信号のうち、１８番ピンの信号を検出することにより、プリンタが稼動状態か否かを検出することができる。１８番ピンは常時所定の電圧にプルアップされているはずであるから、１８番ピンからハイの信号が検出されている場合には、プリンタＰＲＴが接続され、電源が投入されていることを意味する。１８番ピンがロウの場合には、プリントサーバ１０とプリンタＰＲＴが接続されていない状態、またはプリンタＰＲＴの電源がオフの状態であることを意味する。プリンタＰＲＴには、ＳＴＲＯＢＥ（１番ピン）、ＡＣＫＮＬＧ（１０番ピン）、ＢＵＳＹ（１１番ピン）などでデータの送信、取り込み完了の確認などを行いつつ、２番〜９番ピンを介してデータが転送される。
【００２８】
図４はプリントサーバ１０がプリンタＰＲＴに印刷データを転送する動作を行うためのソフトウェア構成を示す説明図である。印刷データとは、プリンタＰＲＴで印刷を行うための一連のデータを意味し、各画素のドットのオン・オフを特定するラスタデータや、副走査の送り量を特定する送り量データなどの制御データが含まれる。図５はプリントサーバ１０によるデータ転送時の処理内容を示す説明図である。後述する各処理によって受信したデータが解析され、印刷用のデータが構築される様子を示した。図４および図５を用いて、ネットワーク側から供給されたデータをプリンタ側に転送する際のソフトウェアの処理内容を説明する。
【００２９】
ソフトウェアは、図４に示す通り階層的に構成されている。デバイスドライバ２０は、ネットワークコネクタ１７およびコントロールチップ１６の動作を制御する機能を果たし、ネットワーク側からを介して供給されるデータのうち、アドレスやエラーなどの解析を行って、プリントサーバ１０に宛てて出力されたデータの本体を取り込む機能を果たす。デバイスドライバ２０が処理する前のデータを図５の最上段に形態１として示した。ネットワークから供給されるデータは、プリアンブル、スタートビット、ターゲットアドレス、ソースアドレス、タイプ、データ、ＣＲＣコードの順に配列された各信号から構成される。ターゲットアドレス、ソースアドレスとは、ＭＡＣアドレス（メディアコントロールアドレス）と呼ばれる信号で、ネットワーク上の機器に固有のアドレスである。デバイスドライバ２０では、ターゲットアドレスで指定されたＭＡＣアドレスとＦｌａｓｈ  ＲＯＭ１４に記憶されたＭＡＣアドレスとが一致しているか否かによって、プリントサーバ１０宛てのデータであるか否かを判定する。プリントサーバ１０宛てのデータである場合には、そのデータを受信する。
【００３０】
こうして受信されたデータは、プロトコル処理部２２で処理される。ネットワーク上を流れるデータは、種々のプロトコルによって、その構成が相違する。本実施例では、ＴＣＰ／ＩＰ，ＮｅｔＢＥＵＩ，ＩＰＸ／ＳＰＸ，Ａｐｐｌｅ  Ｔａｌｋという代表的な４種類のプロトコルに対応可能とした。プロトコルは多数備えることにより、ネットワークに接続されたコンピュータ側の制約が緩くなり、プリントサーバ１０の利便性が向上する利点がある。例えば、ＴＣＰ／ＩＰのみが用意されているプリントサーバを用いて印刷を行うためには、ネットワークに接続された各コンピュータにＴＣＰ／ＩＰが備えられていることが必要となるが、本実施例のプリントサーバ１０を利用する場合には、上記４種類のプロトコルのいずれかがコンピュータ側にインストールされていれば足りる。但し、かかる制約を考慮しなければ、プロトコル処理部２２は最低１種類のプロトコルに対応できれば十分である。
【００３１】
プロトコル処理部２２での処理の様子を図５の形態２に示した。いずれのプロトコルに対応しているかは、形態１に示したタイプデータによって判別される。プロトコル処理部２２は、タイプデータに応じたプロトコルでデータを処理する。形態２には、一例としてＴＣＰ／ＩＰが指定されている場合のデータ構造を示した。このプロトコルが指定されている場合、形態１で受信したデータの本体は、形態２に示す通り、ターゲットアドレス、ソースアドレス、データ本体という形式で概ね構成されている。ここに示すターゲットアドレス、ソースアドレスは、形態１と異なり、ＩＰアドレスと呼ばれるアドレスである。プロトコル処理部２２は、指定されたプロトコルに応じて形態２の受信データを解析し、ＩＰアドレスなどネットワークでの通信上必要となる情報を除いたデータ本体を抽出する。
【００３２】
こうして抽出されたデータは、次に印刷用プロトコル２４で処理される。一般にプリンタＰＲＴに出力されるデータの配列は、印刷用のプロトコルに応じて定められている。本実施例では、ＬＰＲ，ＦＴＰ，ＳＭＢ，ＰＡＰという４つの代表的なプロトコルを用意した。複数用意した理由は、ネットワーク通信用のプロトコルが複数用意されているのと同じである。
【００３３】
図５の形態３に印刷用プロトコル２４で処理されたデータの様子を示した。形態３には、一例としてＬＰＲが指定されている場合のデータ構造を示した。ＬＰＲでは、形態２で抽出されたデータは、プリンタキュー名、ユーザ名、ドキュメント名などを含む制御情報と、実際のラスタデータや副走査の送り量データを含む印刷情報とから構成されている。印刷用プロトコル２４は、所定の規約に基づき、形態２で抽出されたデータを解析して、制御情報、印刷情報を抽出する。なお、実際の通信は、パケット単位で行われるため、１回の通信で取得されるデータは、図中にハッチングを付して模式的に示したように、全体のデータのごく一部に過ぎない。全体の印刷データは複数回の通信を介して構成される。
【００３４】
印刷用プロトコル２４で処理されたデータは、印刷マネージャ２６に逐次受け渡される。印刷マネージャ２６は、上述の制御情報に基づいて、受け渡された印刷情報をジョブごとに整理し、プリンタＰＲＴ側に順次出力されるように制御する。例えば、ネットワークに接続されたコンピュータＰＣ１，ＰＣ２からそれぞれ印刷ジョブＡ，印刷ジョブＢがプリントサーバ１０に送信された場合を考える。各印刷ジョブのデータは、パケット単位で両者が不規則に入り乱れて逐次プリントサーバ１０に転送され、印刷マネージャ２６に受け渡される。印刷マネージャ２６は、こうして転送された印刷ジョブのうち、早くに受信した側のジョブのデータのみを選択して順次プリンタＰＲＴに出力する。印刷ジョブＡを早くに受け取った場合には、印刷ジョブＡのデータはプリンタＰＲＴに出力するが、印刷ジョブＢのデータは印刷ジョブＡが完了するまでバッファに蓄積しておく。バッファがほぼ使い尽くされ、それ以上受信できなくなると、ネットワークでの通常の通信方式にのっとって、印刷ジョブＢの送信元であるコンピュータＰＣ２側には、ウェイト信号が出力され、印刷ジョブＢの転送は保留される。印刷ジョブＡが完了すると、印刷マネージャ２６は印刷ジョブＢについてプリンタＰＲＴへのデータ転送を開始する。これと同期して、コンピュータＰＣ２との通信も再開され、印刷ジョブＢが遂行される。
【００３５】
印刷マネージャ２６がプリンタＰＲＴに出力を指定した印刷ジョブのデータは、印刷データハンドリング部２８とデバイスドライバ３０とを介してパラレルポート１１からプリンタＰＲＴに転送される。印刷データハンドリング部２８は、基本的には印刷データを一時的に蓄えるバッファとして機能し、デバイスドライバ３０は、印刷データハンドリング部２８に蓄えられたデータを逐次読み取って、図３に示したＳＴＲＯＢＥ、ＡＣＫＮＬＧ、ＢＵＳＹ信号などの確認を行いつつ、プリンタＰＲＴへのデータ転送を実行する。プリンタＰＲＴは、こうして転送されたデータに従って、主走査および副走査を行って印刷を実行する。
【００３６】
次に、プリンタＰＲＴの稼動状況やプリントサーバ１０の動作設定などの管理情報をネットワークを介してやりとりするためのソフトウェア構成について説明する。図６は管理情報のやりとりに関するソフトウェア構成を示す説明図である。管理情報のうち、プリンタＰＲＴの稼動状況に関する情報は、パラレルポート１１、およびデバイスドライバ３０を介して取得される。稼動状況に関する情報としては、プリンタのペーパーエンド、オンラインか否かなどが含まれる。管理情報ハンドリング部３１は、これらの状況に変化が生じた場合に、管理情報マネージャ３３にそのデータを受け渡す。管理情報マネージャ３３はプリンタＰＲＴの稼動状況に関するデータ、およびプリントサーバ１０の動作設定に関するデータ、例えば、ネットワーク用のアドレス情報や、プロトコル２２の有効・無効に関する設定情報などを管理する。
【００３７】
これらの管理情報には、ネットワークに接続されたコンピュータＰＣ１，ＰＣ２，ＰＣ３からアクセスすることができる。ネットワークとのデータのやりとりは、既に説明した通り、ネットワークコネクタ１７、デバイスドライバ２０、プロトコル２２を介して行われる。管理情報のやりとり時には、さらに、管理用プロトコル３２が用いられる。ここでは、代表的なプロトコルとして、ＨＴＴＰ，Ｔｅｌｎｅｔ，ＳＭＭＰを例示した。例えば、ＨＴＴＰを用いる場合には、コンピュータＰＣ１，ＰＣ２，ＰＣ３のユーザは、ブラウザを用いて管理情報の表示、設定の変更などを行うことができる。管理情報のやりとりは、ユーザが自発的にアクセスする場合の他、ペーパーエンドなど、プリンタＰＲＴの稼動状況をプリントサーバ１０からユーザにフィードバックするためにも使用される。
【００３８】
以上のハードウェア構成およびソフトウェア構成により、本実施例のプリントサーバ１０は、ネットワークを介して指示された印刷ジョブをプリンタＰＲＴに実行させることができ、また、プリンタＰＲＴの稼動状況をネットワーク上のコンピュータにフィードバックすることができる。この結果、ネットワーク上の格コンピュータのユーザは、各コンピュータに１対１で接続されているのと同等の感覚でプリンタＰＲＴを使用することができる。
【００３９】
Ｃ．オートリセット処理：
次に、本実施例のプリントサーバ１０に特徴的な処理であるオートリセット処理について説明する。オートリセット処理とは、印刷ジョブの転送中にプリンタＰＲＴの電源がオフにされたり、プリントサーバ１０が別のプリンタにつなぎ変えられたりした場合に実行される処理であり、少なくとも転送中のジョブをリセットすることにより、データ転送が再開された後にプリンタＰＲＴにとって無意味な信号の羅列に過ぎないデータが転送されることを回避するための処理である。
【００４０】
図７は本実施例のオートリセット処理のフローチャートである。これは、図４および図６で示したソフトウェア構成の通常の機能を実行する種々の処理とともに、プリントサーバ１０内のＣＰＵ１３が実行する処理である。ソフトウェア構成上は、印刷マネージャ２６の一機能として位置付けられる。
【００４１】
処理が開始されると、ＣＰＵ１３は、プリンタが稼動状態か否かを検出する（ステップＳ１０）。本実施例では、パラレルポート１１の１８番ピンの電圧状態に基づいてプリンタの稼動状態を判断するものとした。図３で説明した通り、１８番ピンは所定の電圧に常時プルアップされているため、プリンタＰＲＴが稼動状態にある場合には、ハイの信号が検出される。逆に、プリンタＲＰＴの電源がオフとなっている場合や、プリンタＰＲＴとプリントサーバ１０との接続が切り離されている場合などには、ハイの信号が検出されないため、プリンタが非稼動状態であると判断される。
【００４２】
オートリセット処理は、プリンタＰＲＴが非稼動状態になった後に実行される処理であるため、プリンタＰＲＴが稼動状態であることが検出されると、ＣＰＵ１３はその後の処理を行うことなく、オートリセット処理ルーチンを終了する。プリンタＰＲＴが非稼動状態にある場合には、以下に示す処理を実行する。
【００４３】
まず、非稼動状態が検出された時点で転送中の印刷ジョブがある場合には、そのジョブを特定するとともに、ジョブのキャンセルをする（ステップＳ１１，Ｓ１２）。ジョブのキャンセルとは、当該ジョブについて転送が終了していないデータを破棄し、以後のデータ転送を中止する処理である。ネットワーク側から継続的に転送されるデータが存在する場合にも、キャンセルの対象となるジョブに関しては全て順次破棄されることになる。なお、既にプリントサーバ１０が取り込んだデータを破棄するのに併せて、印刷データを送信しているコンピュータ側に送信の停止を指示する信号を出力するものとしてもよい。
【００４４】
但し、この処理では、プリンタＰＲＴに転送中にプリンタＰＲＴが非稼動になることで、転送が中断されたジョブのみがキャンセルされ、その他のジョブはキャンセルの対象とはならない。転送が中断されたジョブについては、未送のデータはプリンタＰＲＴを正常に駆動するのに必要な制御情報が欠落しているから、プリンタＰＲＴが再び稼動状態になった後に、これらを転送してもプリンタＰＲＴを正常に駆動することはできない。これに対し、プリントサーバ１０に投入されたジョブのうち、転送がまだ開始されていないジョブについては、プリンタＰＲＴを駆動するのに十分な一連のデータがそろっているため、プリンタＰＲＴを正常に駆動することができる。従って、プリンタＰＲＴを正常に駆動するためには、少なくとも転送が中断されたジョブのみをキャンセルすれば足りる。本実施例では、かかる理由から、必要最小限の範囲でリセット処理を行っている。
【００４５】
こうして、ジョブをキャンセルした後、ＣＰＵ１３は通信を再確立するための処理を行う（ステップＳ１３）。当然、プリンタＰＲＴが再び稼動状態にならないと、この処理は完了しない。ステップＳ１３の段階で処理が完全に停滞することを回避するため、所定時間経過しても通信が再確立されない場合には、オートリセット処理ルーチンを終了するものとしてもよい。
【００４６】
再確立処理では、プリンタＰＲＴの電源が再びオンになるなどして、稼動状態になると、ＣＰＵ１３がプリンタＰＲＴと図３に示したＳＴＲＯＢＥ信号、ＡＣＫＮＬＧ信号などをやりとりして通信を確立する。こうして通信が確立されると、ＣＰＵ１３はキャンセルされていない残りのジョブの転送を開始して、オートリセット処理を完了する（ステップＳ１４）。ジョブの転送が開始されると、図４および図５で説明した通り、印刷マネージャとしての通常の機能に従い、ネットワークから供給された印刷データを、ジョブごとにプリンタＰＲＴに転送する。
【００４７】
以上で説明した通り、本実施例のプリントサーバ１０では、印刷データの転送中にプリンタＰＲＴが非稼動状態になると、印刷ジョブをリセットする。こうすることにより、その後、プリンタＰＲＴが稼動状態になった場合に、プリンタＰＲＴにとって意味不明の信号の羅列が転送されることを回避できる。この結果、いわゆる文字化けした印刷が行われるなど、プリンタＰＲＴが不適切な動作をすることを回避することができる。
【００４８】
本実施例のプリントサーバ１０は、全てのジョブをリセットするのではなく、転送が中断されたジョブのみをリセットする。従って、複数のジョブが指示されている場合、転送が中断されたジョブ以外のジョブについては、印刷指示を再度出す必要がなくなり、システムの利便性を向上することができる。
【００４９】
Ｄ．第１の変形例：
実施例では、プリンタが非稼動状態となったことが検出された時点でジョブのキャンセルをする態様について例示した。ジョブのリセットは、かかるタイミングに限定されるものではない。転送が中断されたジョブのデータが、通信再確立後にプリンタＰＲＴに転送されることを回避できるタイミングであれば、いかなるタイミングで行っても構わない。一例として、通信を再確立した後にジョブをキャンセルする場合について第１の変形例として説明する。
【００５０】
図８は第１の変形例におけるオートリセット処理ルーチンのフローチャートである。ＣＰＵ１３はプリンタが稼動状態にあるか否かを判断し（ステップＳ２０）、非稼動状態である場合にのみリセット処理を行う点では第１実施例と同じである。
【００５１】
プリンタＰＲＴが非稼動状態にある場合、第１実施例と相違し、ＣＰＵ１３はまずプリンタＰＲＴとの通信を再確立する処理を実行する（ステップＳ２１）。処理の内容自体は、第１実施例（図７）のステップＳ１３と同じである。こうして通信が再確立された後、ＣＰＵ１３は、データの転送を実行する前に、転送中の印刷ジョブを特定し、そのジョブをキャンセルする（ステップＳ２２，Ｓ２３）。その後、残りのジョブの転送を開始する（ステップＳ２４）。
【００５２】
第１の変形例は、通信の確立とジョブのキャンセルの順序が第１実施例と相違するものの、それぞれの処理内容は第１実施例と同じであり、第１実施例のオートリセット処理と同様の効果を得ることができる。この他にも、ジョブのキャンセルは種々のタイミングで実行可能である。
【００５３】
Ｅ．第２の変形例：
第１実施例および第１の変形例では、転送中のジョブをキャンセルする処理を例示したが、これに併せて、ジョブの送信者にキャンセルされたことを報知することも好ましい。かかる場合の処理を第２の変形例として説明する。
【００５４】
図９は第２の変形例におけるオートリセット処理ルーチンのフローチャートである。プリンタの稼動状態を判断し、転送中の印刷ジョブの特定およびジョブのキャンセルを行い、通信を再確立した後、残りのジョブの転送を開始する処理（ステップＳ１０〜Ｓ１４）については、第１実施例と同様である。但し、第２の変形例では、転送中の印刷ジョブを特定する処理（ステップＳ１１ａ）において、当該ジョブの送信者のソースアドレスを取得しておく。ソースアドレスは、図５に示した通り、ネットワークを介して受信するデータの所定の位置に含まれているため、ステップＳ１１ａでは、これを記憶しておくのである。
【００５５】
第２の変形例では、ジョブの転送が再開された後、キャンセルされたジョブの送信者に対し、キャンセルを報知する処理を実行する。このため、ＣＰＵ１３はキャンセルの報知データを生成し、そのデータを出力する（ステップＳ１５，Ｓ１６）。キャンセルの報知データの本体は、キャンセルされたジョブ名やキャンセルされた事実を知らせるメッセージである。ステップＳ１１ａで取得したソースアドレスをターゲットアドレスとして使用することによって、ジョブの送信者にかかるメッセージを転送するためのデータが生成される。こうして生成されたデータは、図４に示したプロトコル処理部２２などを介してネットワークを通じ、ジョブの送信者に転送される。
【００５６】
なお、ここでは、フローチャートの図示の都合上、残りのジョブの転送が開始された後にキャンセルを報知するための処理を行うものとしているが、ジョブをキャンセルするのと同時に行うものとしてもよい。また、ここでは第１実施例の処理を利用した場合を例示したが、第１の変形例と同様、通信が再確立された後にジョブのキャンセルを行う処理においてキャンセルを報知するものとしてもよい。
【００５７】
Ｆ．第２実施例：
第１実施例およびその変形例では、複数のジョブが指示されている場合において、転送が中断されたジョブのみをキャンセルする処理を例示した。通信が再確立された後にプリンタＰＲＴが不適切な動作をすることを回避するためには、転送が中断されたジョブをキャンセルすることは必要条件に過ぎず、必ずしもかかる態様にのみ限定されるものではない。第２実施例では、転送が中断されたジョブに限定されない例として、プリントサーバ１０の制御処理全体をリセットする場合を例示する。第２実施例のプリントサーバ１０のハードウェア構成およびソフトウェア構成は、第１実施例と同じであり、オートリセット処理の内容が以下に示す通り、第１実施例と相違する。
【００５８】
図１０は第２実施例におけるオートリセット処理ルーチンである。この処理では、ＣＰＵ１３はプリンタＰＲＴが稼動状態か否かを判定し（ステップＳ３０）、プリンタＰＲＴが非稼動状態にある場合に、以下のリセット処理を行う。まず、ＣＰＵ１３は指示されている全てのジョブに関するデータを破棄して、ジョブをキャンセルする（ステップＳ３１）。同時にネットワークとの通信も停止する。ネットワークからプリントサーバ１０が受信中のジョブは、ネットワークとの通信が停止されることにより受信が停止される。
【００５９】
次に、ＣＰＵ１３はネットワークとの通信を再確立する処理、およびプリンタとの通信を再確立する処理を実行して、オートリセット処理を終了する（ステップＳ３２、Ｓ３３）。第２実施例では、全てのジョブがリセットされるため、ジョブの転送を開始する処理は行わない。オートリセット処理が完了すると、プリントサーバ１０は電源が投入された時点と同じ状態となり、新たに指示された印刷ジョブの転送を受け入れられるようになる。
【００６０】
第２実施例のプリントサーバによれば、制御処理全体をリセットするため、プリンタが再び稼動状態になった後、適正な動作を行わせることができる。全体をリセットするため、第１実施例の処理に比較してリセットに時間を要するものの、オートリセット処理の内容が簡易になるという利点もある。なお、第２実施例のオートリセット処理の内容は、プリントサーバ１０の電源をオフにして再起動した場合の処理に等しい。従って、ステップＳ３１〜Ｓ３３の処理に代えて、ＣＰＵ１３にリセット信号を出力する処理を行うものとしてもよいし、リレーを制御して電源を一時的にオフにする処理を行うものとしてもよい。
【００６１】
Ｇ．第３実施例：
第１実施例および第２実施例では、パラレルポート１１を介して取得されるプリンタの状態が、図３に示した比較的基本的な情報に限られている場合を例示した。パラレルポート１１には、図３の１４、１５番ピンなど未使用のピンが残されており、これらのピンを利用することで、プリンタＰＲＴについて更に多くの情報を取得することが可能である。第３実施例では、その一例としてパラレルポート１１を介してプリンタＰＲＴの機種名を取得可能な場合について、機種名の情報を利用したオートリセット処理を説明する。第３実施例のプリントサーバのハードウェア構成およびソフトウェア構成は、第１実施例および第２実施例と同じであり、図３に示したパラレルポート１１のいずれかのピンにプリンタの機種コードを表す信号が割り当てられている点で上述の実施例と相違する。
【００６２】
図１１は第３実施例におけるオートリセット処理ルーチンのフローチャートである。この処理が開始されると、ＣＰＵ１３は、パラレルポート１１を介して現在接続されているプリンタＰＲＴの機種情報を取得する（ステップＳ４０）。そして、プリンタＰＲＴが稼動状態にあるか否かを第１実施例、第２実施例と同じ方法で検出し（ステップＳ４１）、プリンタが非稼動状態にある場合には、以下に示す処理でジョブをリセットする。
【００６３】
まず、ＣＰＵ１３は、プリンタＰＲＴとの通信を再確立する処理を行い、接続されているプリンタＰＲＴの機種情報を再び取得する（ステップＳ４２，Ｓ４３）。こうして取得された機種情報と、従前に取得してあった機種情報が相違するか否かを比較することにより、機種が変更されているか否かを判断する（ステップＳ４４）。プリンタＰＲＴが非稼動状態になる場合としては、プリンタＰＲＴの電源がオフにされた場合と、プリントサーバ１０が別のプリンタにつなぎ変えられた場合とが考えられ、後者の場合に機種情報の変更が検出され得る。
【００６４】
第３実施例では、機種が変更されたか否かによってリセットの処理内容を切り替える。機種が変更されていない場合、プリンタの不適切な動作を回避するためには、第１実施例および第２実施例と同様、転送が中断されたジョブのみをリセットすれば済む。これに対し、機種が変更されている場合、プリンタの不適切な動作を回避するためには、全てのジョブをリセットする必要がある。プリンタ側に未送信のジョブであっても、既に受け取ったジョブの印刷データは従前のプリンタに対応したものであり、新たに接続されたプリンタには適合していない可能性が高いからである。
【００６５】
こうした処理を実現するため、ステップＳ４４において、機種の変更があると判断された場合には、ＣＰＵ１３は、全てのジョブのデータを破棄して、これらをキャンセルする（ステップＳ４５）。その後、機種が変更されたことをネットワーク上の各ユーザに報知するためのデータを生成し、出力する（ステップＳ４６，Ｓ４７）。かかるメッセージは、プリントサーバ１０に指示されているジョブに含まれるソースアドレスに基づいて送信することも可能であるが、ネットワーク上に接続されている全コンピュータに送信することが好ましい。かかる処理は、ネットワーク上に接続されている全コンピュータを対象としてデータを送信するためのアドレス、いわゆるブロードキャスト用のアドレスが、通信のプロトコルに応じて設定されているため、これを利用することで容易に実現することができる。
【００６６】
一方、ステップＳ４４において機種の変更がないと判断された場合には、第１実施例と同じく、転送中のジョブのみをキャンセルする。即ち、転送中の印刷ジョブを特定し、これをキャンセルした後、残りのジョブの転送を開始する（ステップＳ４８〜Ｓ５０）。第１実施例の第２の変形例で示した処理を利用して、キャンセルを報知する処理を行うものとしてもよい。
【００６７】
以上で説明した第３実施例のプリントサーバによれば、プリンタが一旦非稼動状態になった後、再度稼動状態になった場合にプリンタが不適切な動作をすることを回避できる。この際、プリンタＰＲＴの機種が変更されている場合には、全てのジョブをキャンセルすることにより、転送が中断されたジョブのみならず、残りのジョブについてもプリンタの適切な動作を確保することができる。また、機種変更がされていない場合には、転送が中断されたジョブのみをキャンセルするため、残りのジョブを改めて指示する必要がなく、システムの利便性を向上することができる。
【００６８】
以上の各実施例では、プリンタＰＲＴに外付けするプリントサーバ１０を例にとって説明した。プリントサーバはプリンタＰＲＴに内蔵する形態のアダプタまたはネットワークカードとして構成することもできる。かかる場合には、プリンタ側とのデータをやりとりするインタフェースは、パラレルポート１１に限らず、プリンタごとに任意のインタフェースを用いることができ、プリンタの情報をより詳細に取得することも可能となる利点がある。
【００６９】
以上の各実施例では、プリントサーバを例にとって説明した。本発明は、プリントサーバに限らず、種々のネットワーク用のアダプタに適用可能である。例えば、コンピュータからネットワークを介して配信される動画や音声を再生する再生装置や、ＣＤ−Ｒドライブなどをネットワークに接続して利用するためのアダプタとして構成するものとしてもよい。
【００７０】
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、以上の制御処理はソフトウェアで実現する他、ハードウェア的に実現するものとしてもよい。
【図面の簡単な説明】
【図１】実施例としてのプリントサーバ１０を用いたネットワークシステムの構成を示す説明図である。
【図２】プリントサーバ１０のハードウェア構成を示す説明図である。
【図３】プリンタＰＲＴとの接続用のコネクタ１１の構成を示す説明図である。
【図４】プリントサーバ１０がプリンタＰＲＴに印刷データを転送する動作を行うためのソフトウェア構成を示す説明図である。
【図５】プリントサーバ１０によるデータ転送時の処理内容を示す説明図である。
【図６】管理情報のやりとりに関するソフトウェア構成を示す説明図である。
【図７】本実施例のオートリセット処理のフローチャートである。
【図８】第１の変形例におけるオートリセット処理ルーチンのフローチャートである。
【図９】第２の変形例におけるオートリセット処理ルーチンのフローチャートである。
【図１０】第２実施例におけるオートリセット処理ルーチンである。
【図１１】第３実施例におけるオートリセット処理ルーチンのフローチャートである。
【符号の説明】
１０…プリントサーバ
１１…パラレルポート
１２…コントロールチップ
１３…ＣＰＵ
１４…Ｆｌａｓｈ  ＲＯＭ
１５…ＲＡＭ
１６…コントロールチップ
１７…ネットワークコネクタ
２０…デバイスドライバ
２２…プロトコル処理部
２４…印刷用プロトコル
２６…印刷マネージャ
２８…印刷データハンドリング部
３０…デバイスドライバ
３１…管理情報ハンドリング部
３２…管理用プロトコル
３３…管理情報マネージャ
【図１】
0003935295.tif 000002
【図２】
0003935295.tif 000003
【図３】
0003935295.tif 000004
【図４】
0003935295.tif 000005
【図５】
0003935295.tif 000006
【図６】
0003935295.tif 000007
【図７】
0003935295.tif 000008
【図８】
0003935295.tif 000009
【図９】
0003935295.tif 000010
【図１０】
0003935295.tif 000011
【図１１】
0003935295.tif 000012