JP2004157960A - 印刷データ転送方法、印刷システム及びプリンタ装置 - Google Patents
印刷データ転送方法、印刷システム及びプリンタ装置 Download PDFInfo
- Publication number
- JP2004157960A JP2004157960A JP2003015048A JP2003015048A JP2004157960A JP 2004157960 A JP2004157960 A JP 2004157960A JP 2003015048 A JP2003015048 A JP 2003015048A JP 2003015048 A JP2003015048 A JP 2003015048A JP 2004157960 A JP2004157960 A JP 2004157960A
- Authority
- JP
- Japan
- Prior art keywords
- print data
- supply device
- printer
- request
- 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.)
- Withdrawn
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Record Information Processing For Printing (AREA)
Abstract
【課題】印刷指示を発行する印刷制御装置とは異なる装置(印刷データ供給装置)に格納されている印刷オブジェクトの印刷を可能にする印刷システムを提供する。
【解決手段】IEEE1394バスで接続されたコントローラ11とHDDユニット12とプリンタユニット13とから構成され、HDDユニット12は、印刷の対象となる印刷オブジェクトを保持し、コントローラ11は、HDDユニット12に格納された印刷オブジェクトを取得して印刷する旨の印刷コマンドをプリンタユニット13に発行し、プリンタユニット13は、その印刷コマンドで指定されたパラメータに従って、HDDユニット12に対して印刷オブジェクトの送信を要求することにより、HDDユニット12に格納された印刷オブジェクトを取得し、取得した印刷オブジェクトを印刷する。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、プリンタ装置に印刷データを転送する方法に関し、特に、プリンタ装置が印刷データの供給元に対して印刷データの供給を要求するプル型の印刷方法に関する。
【0002】
【従来の技術】
デジタルカメラやデジタル放送受信機(STB;Set Top Box)等のAV(Audio Visual)機器にプリンタ装置を接続し、AV機器で撮像・受信された映像をプリンタ装置に直接印刷することが試みられている。ところが、STB等のAV機器は、パーソナルコンピュータと異なり、一般に、ハードディスク装置やCD−ROMドライブ装置等の大容量補助記憶装置を備えておらず、また自身のファームウェアを更新する機能を持つ機器も少ないので、接続するプリンタ装置の機種ごとに異なるドライバソフトウェアをインストールするという事態は回避されることが好ましい。したがって、一定の規格に準拠している機器であれば機器固有のソフトウェアをインストールすることなく、自由に選択したAV機器とプリンタ装置とを接続し、印刷が可能となるような柔軟な接続方式が望まれる。
【0003】
このような要望に応える策の一つとして、IEEE1394規格で規定されたAV/Cプロトコルがある(例えば、非特許文献1参照)。AV/Cプロトコルは、AV機器の接続に関し、必要最小限の標準プロトコルを決定し、互換性を保ち、各メーカーが個別に機器の性能を高めることができる枠組みを提供している。なお、上記AV/Cプロトコルの中で、特にプリンタ装置に関するAV/Cコマンドを取り決めたものとしてAV/C Printer Subunitがある。
【0004】
図40は、既存のAV/C Printer Subunitに従ってデジタルカメラ等のAV機器がプリンタ装置に画像を印刷出力するときの通信手順の一例を示すシーケンス図である。ここでは、IEEE1394バスで接続されたコントローラ900が内部に保持する画像等の印刷オブジェクトをプリンタユニット(プリンタ装置)910に出力する場合の通信シーケンスとそのときのコマンド及びレスポンスが示されている。
【0005】
まず、コントローラ900は、プリンタユニット910からバージョン情報を取得し、プリンタユニット910にジョブ識別子job_IDを指定してプリントジョブを生成した後に、論理的な転送チャネル(非同期データ転送用コネクション;Asynchronous Connection)を確立する。
【0006】
そして、コントローラ900は、AV/CコマンドCAPTUREをプリンタユニット910に送ることで、出力したい印刷オブジェクトを指定するとともに、その印刷オブジェクトを受け取るように指示した後に、上記転送チャネルを介して、指定した印刷オブジェクトをプリンタユニット910に出力(push)する。
【0007】
印刷が完了し、プリンタユニット910からコントローラ900に終了状態ACCEPTED responseが返されると、コントローラ900は、上記転送チャネルAsynchronous Connectionを切断し、プリントジョブをクローズした後に、プリンタユニット910におけるジョブの状態をポーリングする。
【0008】
このようにして、AV/C Printer Subunitに従ってAV機器が印刷オブジェクトをプリンタ装置に出力することで、プリンタ装置個別のドライバソフトをインストールすることなく、印刷出力が可能となる。
【0009】
【非特許文献1】
IEEE Std 1394−1995, Standard for a High Performance Serial Bus
【0010】
【発明が解決しようとする課題】
しかしながら、上記AV/C Printer Subunitにおける印刷コマンドCAPTUREは、そのコマンドの発行に続いて、そのコマンドを発行したコントローラが自ら保有する印刷オブジェクトをプリンタ装置に出力するプッシュ型の印刷形態(Push Print)を前提としており、プリンタ装置自ら必要な印刷オブジェクトを必要な場所から取り出す(プリンタ装置からのデータ取得要求に基づいて印刷を実行する)というプル型の印刷形態(Pull Print)に対応していないという第1の課題がある。
【0011】
また、HTMLなどで記載されたドキュメントでは、内部で他の印刷オブジェクトへのリンク(リンクパス情報)が記述されている。このリンクパス情報は、絶対パス(ファイルの位置を一意的に示す)だけでなく、相対パス(ある基準点からの相対位置によってファイルの位置を示す)で表現される可能性がある。そのために、リンクパス情報が、相対パスである場合には、絶対パスと同様な方法を用いては、印刷対象のファイルを取得することができないという第2の課題がある。
【0012】
さらに、IEEE1394規格においては、印刷データ供給装置のアドレスに関して、IEEE1394規格固有のバスリセットの影響が生じる。つまり、バスリセットは、IEEE1394ネットワーク上の機器の電源on/off、ケーブルの挿抜毎に発生するため、アドレスが再設定(変更)された場合に、正しいデータが取得できないおそれがあるという第3の課題がある。
【0013】
そこで、本発明は、このような状況に鑑みてなされたものであり、プル型のプリンタ装置が持っている機能を有効に発揮させることが可能な印刷データ転送方法等を提供することを第1の目的とする。
【0014】
また、リンクパス情報が相対パスである場合にも、ファイルを取得することができる印刷ファイル取得システム等を提供することを第2の目的とする。
さらに、バスリセット時においても、正しいデータを取得することができるデータ転送システム等を提供することを第3の目的とする。
【0015】
【課題を解決するための手段】
上記第1の目的を達成するために、伝送路で接続された印刷データ供給装置とプリンタ装置間に印刷データを転送するための方法であって、前記印刷データ供給装置が保持する印刷データを印刷させるため、前記印刷データ供給装置の属性情報を伴って前記プリンタ装置に対して印刷要求する段階と、前記要求に応じ、前記プリンタ装置が前記属性情報に基づいて前記印刷データ供給装置にデータ要求する段階と、前記データ要求に応じ、前記印刷データ供給装置が印刷データを前記プリンタ装置に送信する段階とを有する。
【0016】
ここで、前記プリンタ装置は、前記属性情報として印刷対象データへのリンクパス情報を受信し、印刷対象データ本体と印刷対象データに記載されたリンクパス情報で特定される印刷データとを前記印刷データ供給装置に対して要求してもよいし、例えば、XHTML−Print形式等で記述された、印刷対象データへのリンクパス情報が記載されたリンクファイルを受信し、前記印刷データ供給装置に対し、前記受信したリンクファイルに記載されたリンクパス情報で特定される印刷データを要求してもよい。
【0017】
より具体的に、IEEE1394に適合させて言うならば、AV/Cプリンタコマンドのキャプチャコマンドを受信したプリンタ装置は、印刷対象データや印刷対象データからリンクされたJPEGやPNG、テキストなどのデータを取得するために、AV/Cコマンドを発行し、既に確立されているコネクションを経由してデータを受信する。
【0018】
なお、前記属性情報で指定されたリンクパス情報または前記印刷対象データ内に記載されたリンクパス情報がある基準点からの位置を示す相対パスである場合、前記属性情報に、さらに前記リンクパス情報の基準位置を指定してもよい。また、前記印刷対象データ内に記載されたリンクパス情報の基準位置は、前記印刷要求における属性情報で指定された印刷対象データのリンクパス情報から抽出してもよい。また、前記プリンタ装置はこれらの基準位置を前記印刷要求に対する完了通知を送信するまで保持してもよい。
【0019】
また、前記データ要求と前記送信とを繰り返してもよい。さらに、前記コネクションは、プリンタ装置によって確立されたものであってもよいし、前記印刷データ供給装置及び前記プリンタ装置以外の印刷制御装置によって確立されたものであってもよい。
【0020】
また、前記属性情報が、前記印刷データ供給装置を特定するためのアドレス情報であってもよい。具体的には、前記アドレス情報はIEEE1394 AV/C規格におけるNode_ID又はEUI_64であってもよいし、IEEE1394 AV/C規格におけるNode_ID又はEUI_64に、Subunit_typeとSubunit_IDとを組み合わせたものであってもよい。
【0021】
また、前記属性情報が、前記コネクションにおける印刷データ供給装置側の入力ポートを特定するコネクション情報であってもよい。具体的には、前記コネクション情報はIEEE1394 AV/C規格におけるsubunit_plug_idであってもよい。
【0022】
また、前記属性情報が、前記印刷データ供給装置の種類を特定するタイプ情報であってもよい。具体的には、前記タイプ情報はIEEE1394 AV/C規格におけるSubunit_Typeであってもよい。
【0023】
また、前記プリンタ装置は、前記印刷データ供給装置以外の印刷制御装置から前記印刷要求を受信してもよいし、前記要求された印刷に必要なデータ受信が完了した後に前記印刷要求に対する完了通知を送信してもよい。
【0024】
また、前記印刷要求には、前記印刷データ供給装置と関連しない第1パラメータ群と前記印刷データ供給装置に関連する第2パラメータ群とが含まれていてもよい。このとき、前記印刷要求は、前記第1パラメータ群と前記第2パラメータ群とを含む一つの命令であってもよいし、前記印刷要求は、前記第1パラメータ群を含む第1命令と、前記第2パラメータ群を含む第2命令とに分離されていてもよい。
【0025】
また、前記伝送路におけるアドレスが再設定された場合に、前記印刷データ供給装置と前記プリンタ装置の間のコネクションを復旧し、次に、前記プリンタ装置に対する印刷要求を再送し、前記再送要求に対し、前記プリンタ装置は、要求された印刷に必要なデータ受信を再開してもよい。ここで、前記再送要求は、バスリセット後の印刷データ供給装置のアドレス情報に基づくものであってもよい。
【0026】
また、前記印刷データ供給装置に対し、前記リンクパス情報の基準位置を設定しても良い。なお、前記印刷データ供給装置に対する基準位置の設定はコネクション毎に設定しても良い。
【0027】
また、前記プリンタ装置は、前記印刷データ供給装置から取得した印刷オブジェクトに、他の印刷オブジェクトへの参照を示すリンク情報が含まれているときには、参照先の印刷オブジェクトを印刷するタイミングになったときに、前記印刷データ供給装置に対して前記リンク情報が示す参照先の印刷オブジェクトの送信を要求することにより、当該参照先の印刷オブジェクトを取得し、取得した印刷オブジェクトを印刷してもよい。
【0028】
また、前記印刷データ供給装置は、前記基準位置が変更された旨を前記印刷データの要求に対するレスポンスで通知してもよいし、前記印刷データ供給装置は、着脱可能な記録媒体を備え、前記記録媒体の装着があった旨を示すパラメータを用いて、前記基準位置が変更された旨を通知してもよい。なお、前記プリンタ装置に対する印刷要求前に、前記印刷データ供給装置に対して前記リンクパス情報の基準位置を設定し、前記印刷要求に対する完了通知を受信するまで前記基準位置の設定を変更しないのが好ましい。
【0029】
なお、前記属性情報には、印刷データ供給装置が保管する印刷データのうち、印刷の対象となる第1印刷データの格納位置を絶対パスで指定する第1リンクパス情報と、前記第1印刷データによって参照される第2印刷データの前記基準位置とが含まれてもよい。
【0030】
また、前記印刷データ転送方法は、さらに、前記印刷要求に先立ち、前記伝送路上に、印刷データを保持する印刷データ供給装置と印刷データを印刷するプリンタ装置が接続されているか否かを確認し、前記印刷データ供給装置及び前記プリンタ装置の少なくとも一方が接続されていない場合には、エラーである旨をユーザに通知するステップを含むのが好ましい。
【0031】
また、前記プリンタ装置に対する印刷要求では、前記印刷データ供給装置に印刷データを要求する機能を前記プリンタ装置が有するか否かの問い合わせが含まれ、前記印刷データ転送方法は、さらに、前記プリンタ装置が前記問い合わせに対して返答するステップを含んでもよい。ここで、前記プリンタ装置が、前記問い合わせに対して前記機能を有していない旨の返答をした場合には、前記印刷データ供給装置は、前記プリンタ装置からの印刷データの要求を受けることなく、印刷データを前記プリンタ装置に送信してもよい。また、前記印刷データ転送方法は、さらに、前記プリンタ装置が、前記問い合わせに対して前記機能を有していない旨の返答をし、かつ、印刷の対象となる印刷データが上記機能を有するプリンタ装置のみによって印刷可能な場合に、エラーである旨をユーザに通知するステップを含んでもよい。
【0032】
なお、本発明は、このような印刷データ転送方法として実現することができるだけでなく、これらの印刷データ転送方法を実行する印刷制御装置、印刷データ供給装置及びプリンタ装置からなる印刷システムとして実現したり、それらの装置単体として実現したり、その特徴的な動作をパーソナルコンピュータ等の汎用のコンピュータに実行させて機能させるプログラムとして実現することもできる。そして、そのプログラムは、CD−ROM等のコンピュータ読み取り可能な記録媒体やインターネット等の伝送媒体を介して頒布することができるのは言うまでもない。
【0033】
また、上記第2の目的を達成するために、本発明の印刷ファイルの取得システムは、印刷ファイルの格納位置を指定するリンクパス情報を保管する保管手段と、前記保管手段から取得したリンクパス情報の一部又は全てが、所定の基準点からの相対的な位置を示す相対パスである場合に、前記所定の基準点を示す基準位置データに基づき、前記相対パスを、印刷ファイルの絶対的な位置を示す絶対パスに変換する変換手段と、前記変換手段により変換された絶対パスから特定可能な印刷ファイルを取得する取得手段と、を有する。
【0034】
さらに、上記第3の目的を達成するために、本発明の印刷データの転送システムは、伝送路で接続された印刷データ供給装置とプリンタ装置とを備え、前記印刷データ供給装置から前記プリンタ装置に対して印刷データを転送する印刷データ転送システムであって、バスリセット後、前記印刷データ供給装置と前記プリンタ装置との接続を復旧し印刷データ転送を再開する場合に、バスリセット後の前記印刷データ供給装置および前記プリンタ装置のネットワーク接続情報を取得するネットワーク情報取得手段と、前記ネットワーク情報取得手段から得られたネットワーク接続情報に基づいて印刷データ供給装置とプリンタ装置との間のデータ転送コネクションを復旧するコネクション復旧手段と、前記ネットワーク情報取得手段から得られたネットワーク接続情報に基づいて印刷要求を再送する印刷要求再送手段と、前記印刷要求再送手段により再送された印刷要求に基づき、印刷オブジェクトを取得する取得手段と、を有する。
【0035】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
図1は、本実施の形態における印刷システムのシステムモデルを示す図である。このシステムモデルは、IEEE1394バスで接続されたコントローラ11とHDDユニット12とプリンタユニット13とから構成され、IEEE1394で規定される従来のシステムモデルと基本的な構成は同一であるが、プル型プリンタ装置に固有の動作(HDDユニット12とプリンタユニット13間のやりとり)が追加されている点に特徴を有する。
【0036】
コントローラ11は、IEEE1394バス上でコネクション管理機能を実装したSTB等の機器である。HDDユニット12は、ハードディスクドライブ装置(Hard Disk Drive)等のバス上でのデータ送信機器(Producer)であり、送信データを保有するストレージサブユニット12aを有している。プリンタユニット13は、プリンタ装置等のバス上でのデータ受信機器(Consumer)であり、受信データを印刷するプリンタサブユニット13aを有する。
【0037】
なお、ユニットはAV機器に対応し、サブユニットはAV機器の機能を司るもの(仮想的な機能単位)である。サブユニットの組み合わせがユニットとなり、ユニットの中をどのような機能単位で分けるかは適宜決定される。また、サブユニットは、バーチャルな機能単位であり、必ずしもハードウェア構成と一致するものではない。
【0038】
本図における特徴は、HDDユニット12とプリンタユニット13間のやりとり(コマンド及びレスポンス)に示されているように、コントローラ11等がプリンタユニット13に印刷オブジェクトをプッシュして印刷させるだけでなく、プリンタユニット13がHDDユニット12から印刷オブジェクトをプルして印刷し得る点である。
【0039】
なお、印刷オブジェクトは、既に確立されている非同期データ転送用のコネクション(Asynchronous Connection)経由で伝送される。IEEE1394 AV/C規格におけるコントローラ−サブユニットモデルとして説明すると、コントローラ11はプリンタユニット13内のプリンタサブユニット13aに対するコントローラである。また既存のプッシュ型のプリントのようにコントローラ11の指示で、HDDユニット12からプリンタユニット13に印刷オブジェクトをプッシュする場合は、コントローラ11はHDDユニット12内のストレージサブユニット12aに対するコントローラとなる。また、本実施の形態で実現可能なプル型のプリントのように、印刷処理中にプリンタユニット13がHDDユニット12から印刷オブジェクトをプルする場合は、プリンタユニット13がHDDユニット12内のストレージサブユニット12aに対するコントローラとなる。この際、プリンタサブユニット13a、またはプリンタサブユニット13aとは別のモジュールが内部的にコントローラの役目を果たす。
【0040】
図2は、図1に示されたシステムモデルにおける通信シーケンスを示す図であり、従来技術における図40に対応する。図40と異なる点は、フェーズobject pushにおけるやりとりである。本図のシーケンスにおいては、図40のシーケンスで使用されたコマンドCAPTUREに代えて、コマンドCAPTURE REFがコントローラ11からプリンタユニット13に発せられ、そのコマンドのパラメータに従って、プッシュ型又はプル型による印刷オブジェクトの転送及び印刷が実行される点が図40のシーケンスと異なっている。
【0041】
なお、コマンドCAPTURE REFは、従来のコマンドCAPTUREの機能を踏襲しつつ、プル型印刷を可能にするための機能を追加した、コマンドCAPTUREの拡張コマンドに相当する。このコマンドCAPTURE REFは、このコマンドを発行した装置とは異なる装置(ユニット、サブユニット)に置かれている印刷オブジェクトへの参照(印刷オブジェクトの所在を示すパラメータ。リンクパス情報のこと)を含んでいるので、このコマンドを受けたプリンタユニット13による印刷オブジェクトのプル動作が可能となる。つまり、コントローラ11が、コントローラ11とは別の機器であるプリンタユニット13に対し、コントローラ11及びプリンタユニット13とは別の機器であるHDDユニット12上のデータを印刷するよう指示することが可能となる。
【0042】
具体的には、図2のフェーズobject pushにおいて、図3に示される通信シーケンスが行われる。まず、コントローラ11がプリンタユニット13にコマンドCAPTURE REFを発行すると(ステップS10)、プリンタユニット13はレスポンスINTERIM responseを返す(ステップS11)。続いて、プリンタユニット13は、HDDユニット12に対してファイル送信要求コマンド等を発行することで、印刷オブジェクトの先頭あるいは主要な構成オブジェクトであるメインオブジェクト(例えば、HTMLファイル)の送信を要求する(ステップS12)。これによって、メインオブジェクトは、既に確立されているコネクションasynchronous connection経由で、HDDユニット12からプリンタユニット13に転送される(ステップS13)。
【0043】
プリンタユニット13は印刷メインオブジェクトの印刷処理を行い、印刷処理中にリンクパス情報を抽出した場合など、必要に応じて、HDDユニット12に対してファイル送信要求コマンドを発行することで、メインオブジェクトに記述されている参照オブジェクト(ハイパーリンクが張られた参照先の画像オブジェクト等)の送信を要求する(ステップS14)。これによって、参照オブジェクトは、上記コネクション経由で、HDDユニット12からプリンタユニット13に転送される(ステップS15)。
【0044】
このようなメインオブジェクトや参照オブジェクトの転送シーケンスを必要回数だけ繰り返すことによって全ての印刷オブジェクトの取得を完了すると、プリンタユニット13は、コントローラ11に対して、コマンドCAPTURE REFに対するレスポンスACCEPTEDを返信する(ステップS16)。これによって、プル型の印刷コマンドCAPTURE REFに対する実行が完了する。
【0045】
なお、コマンドCAPTURE REFに対する応答レスポンスACCEPTEDの返信は、印刷処理を進めるにあたって印刷ジョブを構成するデータ(印刷メインオブジェクト及び参照オブジェクト)の受信が不要になった段階をもって行うことで、一度 CAPTURE REFに対するレスポンスを受信したことを契機として切断したコネクションを、印刷中の紙づまり等による再処理のために再度コネクションを確立するといった手間を回避することができる。具体的には、プリンタユニット13の実装が、印刷ジョブを構成する全てのデータを受信し、プリンタユニット13内に格納した後に実際の印刷処理を行う実装である場合は、印刷ジョブを構成する全てのデータを受信完了した時点でコマンドCAPTURE REFに対する応答レスポンスACCEPTEDの返信を行う。一方、プリンタユニット13の実装が、コマンドCAPTURE REF受信後印刷メインオブジェクトから順次印刷処理していく実装であり、該当データが必要になる度にその都度受信する実装である場合は、印刷ジョブの印刷が完了した時点でコマンドCAPTURE REFに対する応答レスポンスACCEPTEDの返信を行う。
【0046】
図4は、コマンドCAPTURE REFの詳細な命令フォーマットを従来のコマンドCAPTUREと比較しながら説明するための図であり、図4(a)は、プッシュ型プリントを前提とする従来のコマンドCAPTURE、図4(b)は、プッシュ型及びプル型プリントが可能であり、図4(c)はプル型プリントのみが可能な本発明に係るコマンドCAPTURE REFのAV/Cコマンドフレームを示す。なお、ここでは、両コマンドのAV/Cコマンドフレームにおけるオペランド(命令に付加されるパラメータ)とその長さ(バイト数)が示されている。また、図4(b)及び(c)におけるコマンドフレームはあくまでも例であり、図4(b)に示されたコマンドフレームと図4(c)に示されたコマンドフレームとをマージしても構わないし、パラメータの並びがどのような順番でも構わないことは言うまでもない。
【0047】
図4(a)に示されるように、プッシュ型プリントを前提とする従来のコマンドCAPTUREは、オペランドとして、具体的な動作を指定するパラメータsubfunction、返信用のパラメータstatus及びresult、コネクションにおけるプリンタユニット(データ受信機器;consumer)側の入力ポートを指定するパラメータdestination_plug、命令の対象となるプリントジョブを指定するパラメータprint_job_ID、JPEGやGIF等の印刷オブジェクトのフォーマットを指定するパラメータimage_format_specifier、転送する印刷オブジェクトのデータサイズを指定するパラメータdata_size、イメージデータとしてのピクセル数を指定するパラメータimage_size_x及びimage_size_y、Nin1印刷指定時のコマンド応答において、次に転送される印刷オブジェクトに関する情報がセットされるパラメータnext_pic及びnext_pageの指定が可能な構造となっている。
【0048】
これに対し、図4(b)に示されるように、本実施の形態におけるプッシュ型及びプル型プリントが可能なコマンドCAPTURE REFは、オペランドとして、従来のコマンドCAPTUREで用いられたパラメータsubfunction、status、result、destination_plug、print_job_ID、image_format_specifier、data_size、next_pageに加えて、5つの新たなパラメータproducer_node_ID、source_plug、subunit_type、subunit_id、object_pathが追加されている。
【0049】
パラメータproducer_node_IDは、プルすべき印刷オブジェクトが置かれている場所、つまり、HDDユニット等のデータ送信機器(producer)を指定するオペランドである。ここで、もし、この印刷コマンドを発するコントローラがデータ送信機器(producer)を兼ねている(印刷オブジェクトを保有している)場合には、このパラメータproducer_node_IDの値として自装置の値に設定しておくことで、自ら保有する印刷オブジェクトの印刷を可能としてもよい。
【0050】
また、パラメータsource_plugは、コネクションにおけるデータ送信機器(producer)側の入力ポートを指定するオペランドである。このパラメータsource_plugは、コントローラ11がHDDユニット12とプリンタユニット13間のコネクションを確立したときに(図2のフェーズconnection)、取得したパラメータの1つである。
【0051】
また、パラメータsubunit_type及びsubunit_idは、データ送信機器(producer)のタイプ(例えば、DSC(DigitalStill Camera)/STB/DTV(Digital TV)/HDD等の区別)及びその装置番号を指定するオペランドである。データ送信機のタイプは、機器特性の差やバージョンの差に基づき、情報の授受に関するコマンドの体系や順序等が変わる場合に、その種別を識別するためのものである。
【0052】
また、パラメータobject_pathは、HDD等のデータ送信機器(producer)における階層化されたファイルシステムでの印刷オブジェクト(メインオブジェクト)の格納場所を示すオペランドである。具体的には印刷メインオブジェクトのリンクパス情報が格納される。
【0053】
また、同じくコマンド図4(c)に示す本実施の形態におけるプル型プリントのみが可能なコマンドCAPTURE REFでは、オペランドとして、従来のコマンドCAPTUREで用いられたパラメータsubfunction、status、result、destination_plug、print_job_ID、image_format_specifier、data_sizeに加えて、6つの新たなパラメータproducer_node_ID、source_plug、subunit_type、subunit_id、object_path、base_pathが追加されている。
【0054】
なお、図中に「疑問符(クエスチョンマーク)」が付いているdata_size、producer_node_ID、source_plug、subuinit_type、subunit_ID、base_pathに関しては、印刷要求を行う上で必須ではないが、存在すればプリンタユニット13における処理負荷が軽減するなどの利点を持つパラメータである。したがってコマンドフレームに存在しなくとも良いし、存在しても値を設定する必要のないパラメータである(詳しくは後述する)。以下、具体的にパラメータの内容を説明する。
【0055】
パラメータproducer_node_IDは、プルすべき印刷オブジェクトが置かれている場所、つまり、HDDユニット等のデータ送信機器(producer)のアドレスを指定するオペランドである。ここで、この印刷コマンドを発するコントローラがデータ送信機器(producer)を兼ねている(印刷オブジェクトを保有している)場合には、このパラメータproducer_node_IDの値として自装置の値を設定しておくことで、自ら保有する印刷オブジェクトの印刷が可能となる。
【0056】
また、パラメータsource_plugは、コネクションにおけるデータ送信機器(producer)側の入力ポートを指定するオペランドである。このパラメータsource_plugは、コントローラ11がHDDユニット12とプリンタユニット13間のコネクションを確立したときに(図2のフェーズconnection)、取得したパラメータの1つである。
【0057】
また、パラメータsubunit_type及びsubunit_idは、データ送信機器(producer)のタイプ(例えば、DSC(DigitalStill Camera)/STB/DTV(Digital TV)/HDD等の区別)及びその装置番号を指定するオペランドである。データ送信機のタイプは、機器特性の差やバージョンの差に基づき、情報の授受に関するコマンドの体系や順序等が変わる場合に、その種別を識別するためのものである。
【0058】
また、パラメータobject_pathは、HDD等のデータ送信機器(producer)における階層化されたファイルシステムでの印刷オブジェクト(メインオブジェクト)の格納場所を示すオペランドである。具体的には印刷メインオブジェクトのリンクパス情報が格納される。
【0059】
また、パラメータbase_pathは、詳しくは後述するが、相対パスの解決時に相対パスの基準位置として用いるものであり、プリンタユニットにおいて印刷メインオブジェクトから抽出した参照オブジェクトのリンクパス情報が相対パスであった場合、本パラメータを用いてリンクパス情報を絶対パスに変換するためのものである。後述するが、object_pathが相対パスである場合においても、同じく相対パスの基準位置として本パラメータを用い、object_pathを絶対パスに変換する。
【0060】
このような付加されたパラメータを参照することによって、このコマンドCAPTURE REFを受け取ったプリンタユニットは、コントローラとして、データ送信機器(producer)に対して、サブユニット及びデータパスを指定しながらメインオブジェクトや参照オブジェクト等の印刷オブジェクトを要求し取得することで、プル型のプリントを行うことができる。このとき、パラメータsubunit_typeで特定されるコマンド体系や順序に従って、データ送信機器と情報の授受を行う。
【0061】
なお、本図4(b)に示されたコマンドCAPTURE REFでは、従来のコマンドCAPTUREで用いられたパラメータの一部image_size_x、image_size_y及びnext_picが使用されていない。これは、図4(b)に示されたコマンドフォーマットは、HTMLファイル等のリンク情報を含むファイルを対象としているからである。
【0062】
なお、このようなファイルではなく、ラスターイメージデータを対象とする場合には、従来コマンドで用いられている全てのパラメータを含ませてもよい。また、本図4(c)に示されたコマンドCAPTURE REFでは、加えてnext_pageが使用されていない。これはコマンドフレームに含ませても構わないが必須ではないため省略したものである。
【0063】
また、上記コマンドCAPTURE REFは、参照オブジェクト(メインオブジェクトから参照されている印刷オブジェクト)がメインオブジェクトと同一のユニット及びサブユニット内に存在し、同一のコネクションパスで伝送できることが前提となっている。
【0064】
ここでリンクパス情報について説明する。
リンクパス情報は、前述のようにファイルの位置を一意に指定する情報のことであり、例えばローカルエリア上のファイル位置を指定するファイルパス(例:c:¥windows¥regedit.exe)や、インターネットなどのネットワーク上のファイル位置を指定するURL(Uniform Resource Locator 例:http://www.panasonic.co.jp/products/tv/index.html)などのことを指す。HTMLファイルなどでは、リンクパス情報が絶対パスと相対パスのどちらか一方で記述されている。
【0065】
絶対パスはその情報のみでデータの位置を一意に指定するが、相対パスは、ある基準位置から目的のデータまでの道筋を記述したものであり、基準位置との組み合わせることでデータの位置を一意に指定することができる。プル型のプリントを行う場合、リンクパス情報が全て絶対パスであれば特に問題はないが、リンクパス情報の一部または全てが相対パスである場合もあり得る。この場合は、プリンタユニット13またはHDDユニット12が何らかの手段によって相対パスを絶対パスに変換するパスの解決を行う必要がある。
【0066】
上記コマンドCAPTURE REFを受けたプリンタユニットがデータ送信機器(producer)に置かれたHTMLファイルをプルする場合におけるURL(Uniform Resource Locator)の解決は、以下の通りである。
(1)URLが相対パスで指定されている場合
URLが相対パスで指定されている場合には、以下に述べる3つの方法のいずれかによって最終的なURL(絶対パス)が解決される。
【0067】
まず、パスの解決をプリンタユニット13において行う第1の方法について説明する。
この方法は、図4(b)のようにコマンドフレームを簡略化するため、base_pathパラメータを省略したCAPTURE REFコマンドを採用した場合に最適である。後述する第2の方法に比べ文字列を操作する分プリンタユニット13の負荷は増えるが、第2の方法に比べCAPTURE REFコマンドフレームの長さを節約できる利点や、後述する第3の方法に比べパスの解決が印刷指示毎に独立しており確実にパスの解決を行えるという利点がある。具体的に説明すると、例えば、図4(b)のパラメータobject_path(A)が、”/tmp/1394ta.html”であり、メインオブジェクトから参照されている参照オブジェクトの指定(B)が、<image border=”0”src=”Images/Q4_plug.gif” width=”210” height=”42”>である場合には、最終的なファイルパスFile_path(=(A−メインオブジェクト名)+B)は、”/tmp/Images/Q4_plug.gif”と決定される。
【0068】
このようにパスの解決の第1の方法におけるポイントは、コントローラ11より受信したコマンドCAPTURE REFのパラメータobject_pathをもとに、プリンタユニット13が印刷メインオブジェクトの置かれている位置を導出し、この導出した位置を以後相対パスの基準位置として活用することで、パスの解決をプリンタユニット13が行う点である。
【0069】
次にパスの解決をプリンタユニット13において行う第2の方法について説明する。
この方法は、図4(c)のように、コマンドフレームに相対パスの基準位置であるbase_pathパラメータを追加したCAPTURE REFコマンドを採用する場合に限定されるが、前述の第1の方法に比べ処理が容易であり、第3の方法に比べパスの解決が印刷指示毎に独立しており確実にパスの解決を行えるという利点がある。具体的には、図4(c)のパラメータobject_path(A)が相対パスである場合、パラメータbase_pathで指定されている相対パスの基準位置を用いて相対パスを絶対パスに変換する。例えば、パラメータobject_pathが相対パス”./1394ta.html”であり、パラメータbase_pathが”c:/windows/”である場合は、base_path + object_pathから、最終的なファイルパスは”c:/windows/1394ta.html”となる。
【0070】
このようにして導出した絶対パスを用いて、ストレージサブユニット12aに印刷メインオブジェクトの送信要求を行う。同じく、印刷メインオブジェクトに記載されているリンクパス情報が相対パスであった場合にも、同様にパラメータbase_pathを用いてパスの解決を行う。例えば印刷メインオブジェクトに<image border=”0” src=”Images/Q4_plug.gif” width=”210” height=”42”>という記載がある場合には、リンクパス情報は”Image/Q4_plug.gif”であり、これは相対パスである。したがって base_path + ”Image/Q4_plug.gif”から、最終的なパスは、”c:/windows/Images/Q4_plug.gif”となる。
【0071】
このようにコマンドCAPTURE REFパラメータbase_pathは、印刷メインオブジェクト内に記載されたリンクパス情報が相対パスである度に、パスの解決に使用する。したがって、プリンタユニット13は、コマンドCAPTURE REFパラメータbase_pathを、当該コマンドで印刷指示された印刷ドキュメントのデータ受信が完了するまで保持する。
【0072】
このようにパスの解決の第2の方法におけるポイントは、コントローラ11が相対パスの基準位置をコマンドCAPTURE REFのパラメータbase_pathを用いてプリンタユニット13に通知しておくことで、この通知された基準位置を用いてパスの解決をプリンタユニット13が行う点である。なお、第2の方法において前述した例のようにobject_pathを相対パスとすることで、図4(c)に示したコマンドCAPTURE REFのコマンドフレームの長さを節約することができる。
【0073】
最後に、HDDユニット12においてパスの解決を行う第3の方法について述べる。
この方法は、コントローラ11がHDDユニット12に相対パスの基準位置としてカレントディレクトリ情報をあらかじめ設定しておく方法である。第1の方法に比べパスの解決をHDDユニット12で行うのでプリンタユニットの負荷を軽減でき、第2の方法に比べCAPTURE REFのコマンドフレームを節約できるという利点がある。具体的に説明すると、例えば図4(b)のパラメータobject_path(A)が、相対パス”./tmp/1394ta.html”であり、カレントディレクトリ情報(C)が”c:/windows/”であるとする。プリンタユニット13がobject_path(A)で特定できるHDDユニット12上のデータを受信する場合、前記第1、第2の方法とは異なりプリンタユニットにおいてパスの解決は行わず、そのまま相対パスである(A)を用いてHDDユニット12にデータの送信を要求する。この要求を受けるとHDDユニットはカレントディレクトリ情報を用いてパスの解決を行い、最終的なファイルパスを(C)+(A)である”c:/windows/tmp/1394.html”として導出し、該当するデータをプリンタユニット13へ送信する。
【0074】
このようにパスの解決の第3の方法におけるポイントは、コントローラ11が相対パスの基準位置をカレントディレクトリ情報としてHDDユニット12に設定しておくことで、この設定されたカレントディレクトリ情報を用いてパスの解決をHDDユニット12が行う点である。
【0075】
なお、カレントディレクトリ情報の設定方法は任意であるが、例えばコントローラ11とHDDユニット12が同一の機器である場合は、内部的に設定してもよいし、HDDユニット12のカレントディレクトリ情報を設定する新規コマンドを新設するなどしてもよい。カレントディレクトリ情報の設定の単位は任意であるが、HDDユニットに接続されたコネクション単位で設定してもよいし、機器全体として設定してもよい。特にHDDユニット12が複数のコネクションを同時に確立可能である場合は、カレントディレクトリ情報をコネクション単位で設定することで、複数のコネクションを用いて同時に相対パスによるデータ送受信要求を発行することが出来る。
【0076】
このカレントディレクトリ情報を用いて相対パスを解決する第3の方法では、プリンタユニット13にて印刷ジョブAの実行中は、印刷ジョブAのカレントディレクトリ情報が設定されているべきであり、印刷ジョブA用のデータ送信が完了し以後データ転送が発生しない旨が検知されるまでHDDユニット12におけるカレントディレクトリ情報は変更されるべきではない。しかし、カレントディレクトリ情報の保持が保証されない場合、プリンタユニット13が印刷ジョブAとは無関係のデータを参照することを防ぐため、プリンタユニット13にてHDDユニット12におけるカレントディレクトリ情報の変更を検知する仕組みが必要となる。この仕組みの実現方法は特に限定するものではない(一例については後述する)。
【0077】
(2)URLが絶対パスで指定されている場合
参照オブジェクトの指定(B)が、絶対的なファイルパスFile_path、例えば、<image src=”http://www.1394ta.com/1394ta_subnav−taHome.gif” usemap=”#mainNavMap” border=”0” width=”430” height=”16”>で指定されている場合には、その絶対パスが変更なしで利用される。つまり、最終的なファイルパスFile_pathは、”http://www.1394ta.com/1394ta_subnav−taHome.gif”である。このときには、ローカルストレージ(キャッシュ)又はインターネットから直接、絶対パスのURLで示される印刷オブジェクトが取得されることになる。
【0078】
また、言うまでもなく、参照オブジェクトの指定(B)をリムーバブルメディアに設定しておくことで、リムーバブルメディア上の印刷オブジェクトが取得される。
【0079】
なお、印刷メインオブジェクトの保存位置と参照オブジェクトの保存位置とが違う場合の対応は、前述したパスの解決の第1〜第3の方法毎に異なる。例として、CD−ROMやDVD−ROMなどに保存された静止画像(保存位置 ”D:/a.jpg”)をプル型の印刷形態で印刷する場合を挙げる。この場合、コントローラ11が静止画像へのリンクパス情報を記載したHTMLデータを作成して前記静止画像とは別の場所に保存し(保存位置 ”c:/temp/top.html”)、そのHTMLデータを印刷するようプリンタユニット13へ指示する。
【0080】
パスの解決に上記第1、第3の方法を用いる場合は、HTMLデータと静止画データとの保存位置が異なるため、コントローラ11で作成するHTMLデータに記述するリンクパス情報は必ず絶対パスとする方法のみで対応でき、HTMLデータに記述するリンクパス情報を相対パスにすることが出来ない。
【0081】
一方で、パスの解決に上記第2の方法を用いる場合は、前記コントローラ11で作成するHTMLデータに記述するリンクパス情報は必ず絶対パスとする方法の他に、コマンドCAPTURE REFのobject_pathにはHTMLデータの絶対パス(”c:/temp/top.html”)を指定し、相対パスの基準位置であるbase_pathには静止画像データの保存領域(”D:/”)とする方法もある。後者の方法では、HTMLデータに記述するリンクパス情報を相対パスとすることも可能である。
【0082】
なお、プリンタユニット13がHDDユニット12から参照オブジェクトファイルを取得するための具体的な手順として、IEEE1394で規定されているAV/C Camera Storage Subunit コマンドSendFile(又はCamera Storage Subunit 2.0 コマンドSend File Partial)を発行すればよい。このコマンドでは、参照オブジェクトは、オペランドfile_pathによって指定されることになっているので、上記(1)又は(2)のように、パラメータobject_pathと参照URLとから決定されるパス情報file_pathによって特定される。
【0083】
図5に示すコマンドSEND FILEのコマンドフレームを用いて具体的に説明する。プリンタユニット13はobject_pathで特定可能なデータが必要になると、コマンドSEND FILEのパラメータfile_pathに必要なデータのパスを指定し、同じくパラメータsource_plugにコマンドCAPTURE REFのパラメータsource_plugを指定して、ストレージサブユニット12aにコマンドSEND FILEを発行する。
【0084】
なお、既存のコマンドSEND FILE及びコマンドSEND FILE PARTIALにおいては、ファイル名はMS−DOS(商標)準拠の命名規則である8.3形式 「”ファイル名(八文字)” + ”.” + ”拡張子(3文字)”」を採る必要がある。したがって、印刷ドキュメントデータの作成にあたっては、印刷メインオブジェクト及び参照オブジェクトのファイル名を上記MS−DOS準拠するよう命名する。しかし、既存のHTML等によるWeb−Pageではファイル名を自由な長さで命名することが多い。したがって、印刷メインオブジェクト及び参照オブジェクトのファイル名を自由な長さで命名可能とする場合は、コマンドSEND FILE及びSEND FILE PARTIALにおいて上記命名規則の制限をなくすように拡張する。
【0085】
また、既存のコマンドSEND FILE及びコマンドSEND FILE PARTIALにおいては、パラメータfile_pathには絶対パスを指定する必要がある。パスの解決に前記第1、第2の方法を用いるシステムにおいては、コマンドCAPTURE REFのパラメータobject_pathが相対パスである場合、それを絶対パスに変換したものをコマンドSEND FILE(またはSEND FILE PARTIAL)のパラメータfile_pathに指定し、パラメータobject_pathが絶対パスである場合はそのままの値をパラメータfile_pathに指定しているため、影響はない。
【0086】
しかしパスの解決方法として、上記(1)におけるHDDユニット12においてパスの解決を行う第3の方法を採用する場合、コマンドSEND FILE及びSEND FILE PARTIALのパラメータfile_pathに相対パスを指定することとなる。したがって、コマンドSEND FILE及びSEND FILE PARTIALにおいて、パラメータfile_pathに相対パスを指定できるよう拡張する。
【0087】
また、前述のようにストレージサブユニット12aにカレントディレクトリ情報を設定する方法としてはAV/C Camera Storage Subunitに新規コマンドを追加して設定してもよいし、コントローラ11とHDDユニット12が同一機器である場合は、コントローラ11がAV/C Camera Storage Subunitに内部命令を発効することで設定してもよい。
【0088】
なお前述したが、前記パスを解決する第3の方法において、プリンタユニット13にて印刷ジョブAの実行中は、印刷ジョブAのカレントディレクトリ情報が設定されているべきであり、印刷ジョブA用のデータ送信が完了し以後データ転送が発生しない旨が検知されるまでHDDユニット12におけるカレントディレクトリ情報は変更されるべきではない。しかし、ネットワーク上に複数のコントローラ11が存在し一つのHDDユニット12を共有してプリンタユニット13へそれぞれ印刷指示する場合等では、各々のコントローラ11がHDDユニット12のカレントディレクトリ情報を設定する。したがってこの場合、カレントディレクトリ情報の保持が保証されない。
【0089】
このため、プリンタユニット13がコントローラAから指示された印刷ジョブAを処理中に、コントローラBがHDDユニット12に印刷ジョブBのカレントディレクトリ情報を設定した場合、それを検知できないプリンタユニット13は印刷ジョブAとは無関係のデータを受信する可能性がある。この問題を防ぐため、プリンタユニット13にてHDDユニット12におけるカレントディレクトリ情報の変更を検知する仕組みが必要となる。プリンタユニット13においてAV/C Camera Storage Subunitのカレントディレクトリ情報が変更された旨を検知する仕組みとしては、同じく新規コマンドを追加する方法の他に、SEND FILEコマンド(またはSEND FILE PARTIALコマンド)におけるmedia_generation_countパラメータを応用する方法がある。
【0090】
AV/C Camera Storage Subunitのmedia_generation_countパラメータは本来、AV/C Camera Storage Subunitを備える機器においてSDカード(商標)等のストレージメディアの挿入を検知してその値を変更するものであり、AV/C Camera Storage Subunitのコントローラはコマンドのレスポンスフレームにおけるmedia_generation_countパラメータが変更(media_generation_count + 1)されたか否かを判定することで、ストレージメディアの変更を検知することが出来る。これを応用し、HDDユニット12内のAV/C Camera Storage Subunitが、ストレージメディアの挿入に加えてカレントディレクトリ情報の変更においてもmedia_generation_countパラメータの値を変更することで、プリンタユニット13においてHDDユニット12のカレントディレクトリ情報が変更されたことを検知できる。
【0091】
また、プリンタユニット13がHDDユニット12から参照オブジェクトファイルを取得する方法としては、このようなAV/C Camera Storage SubunitにおけるSEND FILEまたはSEND FILE PARTIALコマンドの他に、ベンダーユニークサブユニット宛てのコマンドを用いたり、HTTP(HyperText Transfer protocol)におけるコマンドGETのようなコマンドを用いてプリンタユニットがHDDユニットから参照オブジェクトファイルを取得してもよい。
【0092】
また、バスリセット時においては、各機器のアドレス情報であるNode_IDや機器間のコネクション情報であるdestination_plugやsource_plugなどのネットワーク接続情報が再設定され、バスリセット前の値から変更される可能性がある。このためバスリセット後に印刷処理を再開したい場合は、まずバスリセット後のネットワーク接続情報に基づいて、コネクションを復旧し次に印刷要求を再送する必要がある。したがってコントローラ11は、HDDユニット12及びプリンタユニット13のバスリセット後のNode_IDを入手し、それに基づいてパラメータRESTORE_PORT subfunctionを指定したAC(Asynchronous Connection) MANAGEコマンドを発行することでコネクションを復旧する。
【0093】
その後に、パラメータRESUME subfunctionを指定したコマンドCAPTURE REFを発行すればよい。この際のコマンドCAPTURE REFのパラメータは、同様にバスリセット後の情報を入手してそれに基づいて設定する。例えば、CAPTURE REFにおけるproducer_node_ID(図4(b)及び(c))などのアドレス情報や、destination_plugやsource_plugなどのネットワーク接続情報においてバスリセット後の値を設定した上でパラメータRESUME subfunctionを指定したコマンドCAPTURE REFを発行する。
【0094】
それによって、プリンタユニット13は、上記コマンドSEND FILE PARTIAL等を用いて印刷オブジェクトを取得し、データ転送動作を再開することができる。
【0095】
以下、図4(b)及び(c)を用いてプル型のプリントを実現する場合の通信シーケンスをそれぞれ<通信シーケンス1><通信シーケンス2>として説明する。
【0096】
<通信シーケンス1>
以下、図4(b)に示すコマンドCAPTURE REFに基づいた通信シーケンスを説明する。
【0097】
図6〜図13は、図2に示された通信シーケンスの詳細なフロー図であり、3つの装置11、12、13間でのコマンドのやりとりを図示している。なお、ここでは、コントローラ11は、STBユニット14が有する1つの機能として実現されている。また、矢印は、コマンドの発行を示し、矢印上又は矢印付近の矩形内には、上の行に、手順番号(丸数字)と処理の内容が示され、下の行に、「:」を挟んで、そのコマンドが属するプロトコル(左側)と内容(右側)が示されている。なお、図中の「PS」は”Printer Subunit”の略であり、「AC」は”Asynchronous Connection”の略であり、「FCP」は、AV/Cコマンド及びその応答に関する規約として採用されているプロトコルである”Function Control protocol, IEC61883 : Digital Interface for Consumer Electric Audio/Video Equipment”の略である。
【0098】
まず、コントローラ11は、図6に示されるように、プリンタサブユニットに対するコントローラ(PS Controller)及びコネクションの確立についてのコントローラ(AC Controller)として、プリンタユニット13に対して機器情報を問い合わせた後に(手順1)、HDDユニット12及びプリンタユニット13に対して、サブユニットの情報を問い合わせる(手順2)。
【0099】
続いて、図7に示されるように、コントローラ11は、HDDユニット12及びプリンタユニット13に対してサブユニットのバージョンを問い合わせることで(手順3)、プリンタユニット13がベンダー拡張されたプリンタサブユニット、つまり、上述のプル型の印刷コマンドCAPTURE REFの実行が可能なサブユニットであることを確認する(手順4)。
【0100】
そして、コントローラ11は、図8に示されるように、プリンタユニット13に対してプリントジョブを投入した後に(手順5)、図9に示されるように、HDDユニット12とプリンタユニット13との間にコネクションを確立し(手順6)、続いて、図10に示されるように、印刷コマンドCAPTURE REFを発行することで、プリンタユニット13に対して印刷のトリガを与え(手順7)、印刷を開始させる(手順8)。
【0101】
印刷を開始したプリンタユニット13は、まず、図11に示されるように、HDDユニット12に対してデータ送信を要求することで(手順9)、コントローラ11から指定された印刷オブジェクト(全てのメインオブジェクト及びそこから参照されている全ての参照オブジェクト)をコネクションを介してHDDユニット12から順次取得し、印刷する(手順10)。
【0102】
そして、図12に示されるように、プリンタユニット13での印刷が終了すると(手順11)、コントローラ11は、HDDユニット12とプリンタユニット13との間のコネクションを解放した後に(手順12)、図13に示されるように、プリンタユニット13に対してプリントジョブの終了を通知する(手順13)。このようにして、コントローラ11は、プル型の印刷コマンドCAPTURE REFを用いることで、HDDユニット12に格納された印刷オブジェクトの印刷をプリンタユニット13に実行させることができる。
【0103】
<通信シーケンス2>
次に、図4(c)に示すコマンドCAPTURE REFに基づいた通信シーケンスを説明する。
【0104】
図14〜図21に本シーケンスを図示するが、基本的なシーケンスは前記<通信シーケンス1>と変わらない。また、<通信シーケンス1>における図6〜図13と図示形式は変わらず、応答レスポンスは省略している。また、図14〜図21においては、STBユニット14とHDDユニット12が別の機器として図示しているが、本明細書におけるその他の実施例と同じく、STBユニット14とHDDユニット12が同一の機器であっても構わない。
【0105】
まず、図14に示されるように、コントローラ11はIEEE1394ネットワーク上の機器の情報を収集し、IEEE1394 AV/Cコマンドをサポートする機器の情報及びアドレス(位置)情報であるNode_IDを確認する(手順1)。次にコントローラ11はAV/Cコマンドをサポートする機器に対して、SUBUNIT INFOコマンドを発行することで、各機器がどのサブユニットを所持しているかを確認する(手順2)。
【0106】
ここまでの処理で、コントローラ11は、Node_ID=BBBBであるプリンタユニット13がプリンタサブユニット13aを所持し、Node_ID=CCCC(Producer_Node_ID)であるHDDユニット12がストレージサブユニット12aを所持する(STBユニット14とHDDユニット12が同一機器である場合は自明)ことを把握する。尚、ここでコントローラ11がプリンタサブユニット13aまたはストレージサブユニット12aを所持したユニットを発見できなかった場合は、以後の処理が継続出来ないため、エラーである旨をユーザに返答する。
【0107】
次に図15に示されるように、コントローラ11はHDDユニット12及びプリンタユニット13に対してコマンドVERSIONを発行し、各サブユニットのバージョンを問い合わせる(手順3)。これによりコントローラ11は、プリンタサブユニット13aが図4(c)のコマンドCAPTURE REFを発行可能なプル型のプリントに対応したサブユニットであり、ストレージサブユニット12aが印刷データを送信可能なサブユニットであることを把握する。また、パスの解決に前記第3の方法を採るシステムの場合、ストレージサブユニット12aがカレントディレクトリ情報を設定可能なサブユニットであることを把握する。
【0108】
なお、前記<通信シーケンス1>では、コントローラ11がプリンタサブユニット13aに対して別途コマンドExtended VERSIONを発行しているが、これはプリンタサブユニット13aの規格化内容に依存するものであり、本通信シーケンスでは手順3で発行したコマンドVERSIONへの応答内容で、プリンタサブユニット13aがプル型のプリントに対応する旨を把握可能な例を挙げている。
【0109】
また、上記の方法以外にも、コマンドタイプにSPECIFIC INQUIRYまたはGENERAL INQUIRYを設定したコマンドCAPTUREREFをプリンタサブユニット13aに対して発行し、コマンドCAPTURE REFを実装しているかどうかを問い合わせることで、プリンタサブユニット13aがプル型のプリントに対応しているか否かを把握してもよい。
【0110】
ここで、プリンタサブユニット13aがプル型のプリントに対応していないサブユニットであった場合について述べると、ユーザから印刷指示を受けた印刷ドキュメントが既存のプッシュ型のプリントにて印刷可能であれば、コントローラ11は以後プッシュ型のプリントシーケンスに移行し、プリンタサブユニット13aに対して既存のAV/C Printer subunitの仕様に沿った印刷指示してもよい。一方、ユーザから印刷指示を受けた印刷ドキュメントがプル型のプリントでのみ印刷可能であれば、コントローラ11はユーザに対して何らかのエラーを返してもよい。エラーの内容としては、単に印刷不能である旨を通知してもよいし、該当ドキュメントの印刷に対応したプリンタがIEEE1394ネットワーク上に接続されていない旨を通知してもよい。
【0111】
次に図16に示されるように、コントローラ11はプリンタサブユニット13aに対してJOB QUEUEコマンドadd_jobサブファンクションを発行することで、プリンタユニット13に印刷ジョブを発行する(手順4)。このコマンドによりコントローラ11とプリンタサブユニット13aとの間で、印刷ジョブの受付番号に相当するJob_IDが共有される。このJob_IDは以後、投入した印刷ジョブを指定するために用いられ、図4(b)及び(c)に示されたコマンドCAPTURE REFにおけるパラメータPrint_Job_IDにはこの値を指定する。
【0112】
次に図17に示されるように、コントローラ11はHDDユニット12及びプリンタユニット13に対してAC MANAGE関数群を発行することで、印刷データ送信元であるストレージサブユニット12aと印刷データ受信元であるプリンタサブユニット13aとの間にコネクション(AC:Asynchronous Connection)を確立する(手順5)。
【0113】
AC MANAGE関数群に関する詳細は、http://www.1394TA.orgにて入手可能な、「TA Document 1999037 AV/C Command for Management of Enhanced Asynchronous Serial Bus Connections 1.0」に記載されているが、このAC MANAGE関数群の応答レスポンスにより、コントローラ11はストレージサブユニット12a側のコネクションの入力ポート(plug)識別子であるsource_plugとプリンタサブユニット13a側のコネクションの出力ポート(plug)識別子であるdestination_plugとを入手する。
【0114】
このdestination_plugはプリンタサブユニット13aのデータ受信用コネクションを指定するために用いられ、図4(b)及び(c)に示されたコマンドCAPTURE REFにおけるパラメータdestination_plugにはこの値を指定する。同じくsource_plugはストレージサブユニット12aのデータ送信用コネクションを指定するために用いられ、図4(b)及び(c)に示されたコマンドCAPTURE REFにおけるパラメータsource_plugにはこの値を指定する。
【0115】
次に図18に示されるように、コントローラ11はプリンタサブユニット13aに対して印刷トリガである図4(c)に示すコマンドCAPTURE REF(パラメータsubufunction = receive)を発行し、プリンタユニットにコマンドCAPTURE REFのパラメータ object_pathで特定可能な印刷ドキュメントの印刷を要求する(手順6)。プリンタサブユニット13aは、コントローラ11に対し暫定的にINTERIMレスポンスを発行しておき、以降の手順7、8を経てストレージサブユニット12a上にある印刷データが必要なくなった時点でコマンドCAPTURE REFに対する最終的な応答レスポンスACCEPTED(途中で復旧不能なエラーが発生した場合はREJECTED)を返す。なお、コントローラ11において応答レスポンスREJECTEDを受け取った場合は、図4(c)に示したコマンドCAPTURE REFのパラメータstatusの値に基づいて、ユーザへのエラー通知または復旧処理を行う。
【0116】
図4(c)に示したコマンドCAPTURE REFのパラメータについては前述したが、プリンタサブユニット13aは、object_pathで指定されたリンクパス情報から特定可能な印刷メインオブジェクトを印刷処理する。なお、前述の通り、パスの解決に前記第2の方法を用いる場合は、パラメータbase_pathを用いてパスの解決を行う。第2の方法以外を用いる場合はパラメータbase_pathは必要なく、空値(NULL)を指定しておいてもよいし、パラメータbase_path自体をCAPTURE REFのコマンドフレームから削除してCAPTURE REFコマンドを規定し直してもよい。
【0117】
尚、パスの解決に前記第3の方法を採る場合は後述する手順7が行われるより前に、コントローラ11がストレージサブユニット12aに対して、ストレージサブユニット12aに新設した新規コマンドまたは内部関数を用いてカレントディレクトリ情報を設定しておく必要がある。また、パラメータdata_sizeは印刷メインオブジェクトのデータサイズであるが、特に必要なければ空値(NULL)を指定しておいてもよいし、パラメータdata_size自体をCAPTURE REFコマンドフレームから削除してCAPTURE REFコマンドを規定し直してもよい。
【0118】
なお、プリンタサブユニット13aに対して同時に発行可能なCAPTUREREFの数は特に限定されるものではなく、任意であるがパスの解決、特にストレージサブユニット12aにてパスの解決を行う前記第3の方法の扱いに注意する必要がある。
【0119】
例えば、プリンタサブユニット13aに対して発行可能なCAPTURE REFは1つであると制限し、プリンタサブユニット13aにおいて1つのCAPTURE REFを処理している間は、パラメータstatusにbusyを設定し、REJECTEDレスポンスを返す実装でもよい。この場合、パスの解決に前記第1、2、3の方法のどれを利用しても問題がない。
【0120】
次に、プリンタサブユニット13aに対して張られたコネクション毎に1つのCAPTURE REFの発行を許すことで、プリンタサブユニット13aに対して複数のCAPTURE REFを同時発行可能とする実装でもよい。この場合、パスの解決に前記第1、2の方法の利用に関しては問題ないが、前記第3の方法を利用する場合は前述のようにストレージサブユニット12aにおいてコネクション毎にカレントディレクトリ情報を設定可能とする必要がある。
【0121】
また、CAPTURE REFの同時発行数に制限を設けず、1つのACを複数のCAPTUREで共用してそれぞれのCAPTURE REFに対応する印刷データを順次受信する実装でも良い。ただしこの場合、HDDユニットにてパスの解決を行う前記第3の方法ではうまくパスを解決出来ないため、第1または第2の方法を利用する必要がある。
【0122】
手順6で印刷要求を受信したプリンタサブユニット13aは、図19に示されるように印刷メインオブジェクトの取得を開始する。具体的にはプリンタサブユニット13aからストレージサブユニット12aに対してデータ送信命令を発行する(手順7)。ここでプリンタサブユニット13aがデータ送信命令を発行するには、印刷データを所持するストレージサブユニット12aのアドレス(位置情報)を知る必要がある。ここで、IEEE1394ではHDDユニットの位置情報は、図4(c)のコマンドCAPTURE REFにおけるパラメータProducer_Node_IDで指定された値で判別可能であり、さらにパラメータsubunit_type及びsubunit_IDによって、HDDユニット12内のサブユニットであるストレージサブユニット12aを判別できる。
【0123】
なお、パラメータsubunit_typeでは、ストレージサブユニット12aのコマンド体系を知ることも出来る。例えばsubunit_typeが、AV/C Camera Storage Subunitを示す値であった場合は、SEND FILEまたはSEND FILE PARTIALコマンドによって印刷データの送信を要求できる旨を把握できる。以後、ストレージサブユニット12aがAV/C Camera Storage Subunitである場合を例にとって説明すると、上記まででアドレス及びコマンド体系が判別したストレージサブユニットに対して、object_pathで指定された印刷メインオブジェクトを図4(c)のコマンドCAPTURE REFのパラメータsource_plugで特定できるコネクションを介して送信するようSEND FILE PARTIAL(またはSEND FILE)コマンドを発行する(手順7)。
【0124】
なお、図4(c)のコマンドCAPTURE REFにおけるパラメータproducer_Node_ID、subunit_type、subunit_ID、source_plugは、手順5にてストレージサブユニット12aとプリンタサブユニット13aとの間に確立されたコネクションの状態を問い合わせることでも入手可能である。この手順5で確立されたコネクションはパラメータdestination_plugで特定可能である。
【0125】
詳しく説明すると、まずパラメータdestination_plugで特定可能なコネクションの状態を内部的に問い合わせることで、プリンタサブユニット13aがコネクションを介して接続されている先のユニットであるHDDユニット12のNode_ID(= Producer_node_ID)とUnit_Plugを入手する。次に入手したUnit_Plugを用いて、Node_IDにて宛先を特定可能なHDDユニット12に対して前記AC MANAGE関数群の一つであるコネクション状態問い合わせコマンド(AC MANAGE STATUSコマンド)を発行することで、subunit_type、subunit_ID及びsubunit_plug(= Source_Plug)を入手する。このように既に確立されているコネクションの状態を問い合わせることでパラメータproducer_Node_ID、subunit_type、subunit_ID、source_plugを入手可能である。
【0126】
なおパラメータproducer_Node_ID、subunit_type、subunit_ID、source_plugを上記方法にて入手する場合は、それぞれのパラメータに空値(NULL)を指定しておいてもよいし、パラメータ自体をCAPTURE REFコマンドフレームから削除してCAPTURE REFコマンドを規定し直してもよい。
【0127】
また、パスの解決に前記第1または第2の方法を用いる場合は、データ送信命令を発効する前にプリンタサブユニット13aにおいてパスの解決を行っておく。
【0128】
データ送信命令を受けたストレージサブユニット12aは、既に確立されているコネクション(AC)を用いてプリンタサブユニット13aに対して印刷データ(ここでは印刷メインオブジェクト)を送信する(手順8)。送信命令がAV/C Camera Storage SubunitにおけるコマンドSEND FILEの場合はデータをそのまま送信し、AV/C Camera Storage SubunitにおけるコマンドSEND FILE PARTIALの場合は分割したデータを送信する。なお、パスの解決に前記第3の方法を用いる場合は、ストレージサブユニット12aにおいてカレントディレクトリ情報を元にデータ送信命令で指定されたパスを解決する。
【0129】
以上、手順7、8によってプリンタサブユニット13aからストレージサブユニット12aに対して印刷メインオブジェクトを要求、受信する処理について説明したが、受信した印刷メインオブジェクト内に、印刷メインオブジェクト以外のデータを示すリンクパス情報が記載されていた場合、該当するデータが印刷処理に必要な参照オブジェクトである場合は随時、手順7、8を繰り返してデータを受信し印刷処理を続行する。
【0130】
また、手順7、8の間に、バスリセットが発生した場合はアドレス情報であるNode_IDが変化するため、前述したようにコネクション(AC)の復旧と印刷トリガであるCAPTURE REFコマンドの再送が必要である。この順序としては、まずコントローラ11がHDDユニット12及びプリンタユニット13のバスリセット後のNode_IDを確認し、次にAC MANAGE関数群を用いてコネクションを復旧する。この際、source_plug及びdestination_plugが変更される可能性もある。次に印刷トリガの再送(再送要求)として、CAPTURE REFコマンドResumeサブファンクションを発行する。
【0131】
このようにパラメータProducer_Node_ID、source_plug、destination_plugの値がバスリセット後に変化する場合は、CAPTURE REFコマンドresumeサブファンクションのパラメータdestination_plugにはバスリセット後の最新の値を設定し、CAPTURE REFにおいてパラメータproducer_Node_ID、subunit_type、subunit_ID、source_plugを指定する必要がある場合は、同じくパラメータproducer_Node_ID、source_plugにはバスリセット後の最新の値を設定する。
【0132】
また、コネクションの状態問い合わせによってパラメータproducer_Node_ID、subunit_type、subunit_ID、source_plugを入手する場合でも同様であり、バスリセットが発生するとコントローラは、まずHDDユニット12及びプリンタユニット13のバスリセット後のNode_IDを確認し、次にAC MANAGE関数群を用いてコネクションを復旧する。次に印刷トリガの再送(再送要求)として、コントローラ11はプリンタサブユニット13aに対しCAPTURE REFコマンドResumeサブファンクションを発行する。このCAPTURE REFコマンドResumeサブファンクションを受信する時点では既にコネクションは復旧済みであるから、プリンタサブユニット13aはこのCAPTURE REFコマンドResumeサブファンクションを受信した後、コネクションの状態を再度問い合わせることで、プリンタサブユニット13aはパラメータproducer_Node_ID、subunit_type、subunit_ID、source_plug等のバスリセット後の最新の値を入手することが出来る。
【0133】
尚、バスリセット後にコネクションの復旧を行うAC MANAGE関数は、前述したようにAC MANAGEコマンドRESTORE_PORTサブファンクションであるが、このコマンドはバスリセット後の接続先Node_ID(プリンタサブユニット13aにとってはProducer_Node_ID)等をパラメータとして含んでいる。したがって、前述のようにバスリセット後のProducer_Node_IDをコネクションの状態を再度問い合わせることで入手する場合は、コネクションの復旧時にAC MANAGEコマンドRESTORE_PORTサブファンクションにて通知され内部保存されたProducer_Node_ID等の値を、プリンタサブユニット13aが内部的に問い合わせて入手する。
【0134】
また、同じくsubunit_typeやsubunit_ID、subunit_plug(= Source_Plug)等をバスリセット後に再度入手する必要がある場合は、上記内部問い合わせで入手したパラメータに基づいて、再度HDDユニット12に対して前記AC MANAGE関数群の一つであるコネクション状態問い合わせコマンド(AC MANAGE STATUSコマンド)を発行することで入手する。
【0135】
次に、コントローラ11はプリンタサブユニット13aから、コマンドCAPTURE REFの応答レスポンスを受けると、図20に示すようにHDDユニット12及びプリンタユニット13に対してAC MANAGE関数群を発行して、ストレージサブユニット12aとプリンタサブユニット13a間のコネクションを解放する(手順9)。
【0136】
最後にコントローラ11はプリンタサブユニット13aに対して、JOB QUEUEコマンドclose_jobサブファンクションを発行する(手順10)。
【0137】
なお、プリンタユニット13は、前述の手順6におけるCAPTURE REFコマンドreceiveサブファンクションを受信した時点で、印刷処理を開始してもよいし、前述の手順7、8をへて印刷ドキュメントを構成する全ての印刷データの受信を完了し手順10が完了した時点で印刷処理を開始してもよい。
【0138】
以上、説明したように本<通信シーケンス2>に基づき、コントローラ11は図4(c)のコマンドCAPTURE REFを用いることで、HDDユニット12に格納された印刷ドキュメントの印刷をプリンタユニット13に実行させることが出来る。
【0139】
なお、<通信シーケンス1>における手順7または<通信シーケンス2>における手順6において、まずプッシュ型またはプル型の印刷指示を試み、それが拒絶された場合にはもう一方の印刷指示を行う実装でも良い。図22を用いて説明すると、印刷指示の開始に伴い(ステップS201)、コントローラ11はプリンタユニット13に対してまずはプッシュ型のプリントを行うよう指示する(ステップS202)。この指示をプリンタユニット13が拒絶しなかった場合(ステップS203において「yes」)は、印刷指示は完了するが(ステップS208)、それが拒絶された場合(ステップS203において「no」)は、コントローラ11は次にプリンタユニット13に対してプル型のプリントを行うように指示する(ステップS204)。
【0140】
この指示をプリンタユニット13が拒絶しなければ(ステップS205において「yes」)印刷指示は完了する(ステップS208)が、この指示においても拒絶された場合(ステップS205において「no」)はエラーとしてユーザに通知する(ステップS206)。このように取り決めておくことで、プリンタユニットにおいてプル型のプリントであれば良いがプッシュ型のプリントは難しい印刷ドキュメントの印刷要求を受けた場合、それを一端拒絶しておくことで、前記プッシュ型のプリントが難しい印刷ドキュメントをプル型のプリントによって印刷できる。なお、プル型のプリント要求(ステップS202においてプル型の印刷指示)が拒絶された後に、プッシュ型のプリント要求(ステップS204プッシュ型の印刷指示)を行う場合でも同様の効果が奏される。
【0141】
一方、印刷要求の拒絶応答時のステータスに、プッシュ型またはプル型の印刷要求を再度行うよう指示する新たな値を設けることで前記切り替えを行ってもよい。図23を用いて説明すると、印刷指示の開始に伴い(ステップS301)、コントローラ11はプリンタユニット13に対してプッシュ型(またはプル型)のプリント指示を行う(ステップS302)。この指示を受けたプリンタユニット13は、印刷指示が不適であればコントローラ11に印刷指示の拒絶を返す。特に印刷方式の変更によって印刷指示を受領できる場合(例えばプッシュ型ではなくプル型であれば印刷可能である場合)は、印刷指示の拒絶応答におけるresultパラメータに、新たに新設した印刷方式が不適である旨を通知する値をセットする。
【0142】
ステップS302における印刷指示をプリンタユニット13が拒絶しなかった場合(ステップS303において「no」)は、印刷指示は完了する(ステップS308)。しかしステップS302における印刷指示が拒絶された場合(ステップS303 において「yes」)は、コマンドCAPTUREのレスポンスフレーム中のパラメータresult(図4(b)及び(c))の値を確認し、パラメータresultの値が印刷方式が不適である旨を通知する値であればステップS305へ進み、それ以外であればユーザに対してエラーを通知する。パラメータresultの値が印刷方式が不適である旨を通知する値であった場合、コントローラ11はプリンタユニット13に対し、プル型(プッシュ型)のプリント指示を行い(ステップS305)、印刷指示を完了する(ステップS308)。
【0143】
その他にも、コントローラ11が印刷ドキュメントの種類やサイズ、プリンタの能力や状態に応じて判断し、印刷方式(プッシュ型のプリント/プル型のプリント)を切り替える方式をとってもよい。すなわち、コントローラ11が印刷要求コマンド発行前にプリンタユニット13の能力情報や状態情報を問い合わせ、次に、その情報と印刷を要求したい印刷ドキュメントに関する情報を元に、プル型またはプッシュ型のどちらのプリント方式をプリンタユニット13に指示するかを判断し、その判断に基づいてプリンタユニット13に印刷要求を行ってもよい。
【0144】
プリンタの能力情報または状態情報を入手する方法については、本発明は、特に限定されず、既存コマンドを利用してもよいし、既存コマンドでは所望の情報を入手出来ないのであれば、所望の情報を入手するコマンドを新設してもよいし、従来コマンドを拡張してもよい。この方法の一例を図24を用いて説明する。まず前提として、該当ジョブに対してプリンタユニット13が用意できるデータ受信バッファサイズ(A)を問い合わせ可能なコマンドが存在、またはコマンドを新設するものとする。コントローラ11は<通信シーケンス1>における手順7または<通信シーケンス2>における手順6において、印刷指示の開始に伴い(S401)、まずプリンタユニット13に対して前記コマンドを用いてデータ受信バッファサイズ(A)を入手する(ステップS402)。
【0145】
次に、該当ジョブで印刷する印刷ドキュメントを構成するデータの総サイズ(B)を内部的に取得、またはストレージサブユニットに問い合わせることで入手し(ステップS403)、前記データ受信バッファサイズ(A)と前記総サイズ(B)の大きさを比較する(ステップS404)。(A)>(B)である場合、通信トランザクション回数からコントローラ11はプッシュ型の印刷が最適であると判断し、コントローラ11は既存のコマンドCAPTUREを用いてプリンタユニット13にプッシュ型のプリントを行うよう指示する(ステップS405)。(B)>(A)である場合、プッシュ型の印刷を指示してもプリンタユニット13が印刷ドキュメントを全て受信できないと判断し、コントローラ11はコマンドCAPTURE REFを用いてプリンタユニット13にプル型のプリントを行うよう指示する(ステップS406)。このようにして、プリンタの能力や状態に応じて判断し、最適な印刷方式(プッシュ型のプリント・プル型のプリント)を選択して印刷指示を行い、完了する(S407)。
【0146】
なお、上記例では受信バッファサイズと印刷ドキュメントデータの総サイズを判断材料としていたが、本発明は、これに限定されるものではない。例えば、プリンタユニット13が他のジョブを印刷中であれば、データ転送コネクションを確立している時間を短くするために、プッシュ型のプリントを行うよう指示し、他のジョブの印刷中に、あらかじめ他のジョブのデータをプリンタユニット13に対して転送しておいてもよい。その他、プリンタの能力や状態を確認するコマンドとその内容に基づいた判断により、最適な印刷方式を自動的に選択し印刷する印刷システムを構築可能である。
【0147】
ここで、印刷の中止(プリントジョブのキャンセル)について説明する。
プリントジョブのキャンセルはプリンタサブユニット13aに対し、JOB QUEUEコマンドcancel_jobサブファンクションを送信することで行う。
【0148】
前記手順4が行われた時点で、プリントジョブが発行されるが、この時点では印刷データの転送は行われていない状態である。この前記手順4〜手順5の状態でJOB QUEUEコマンドcancel_jobサブファンクションを発行すると、印刷データの転送及び印刷処理が行う前にプリントジョブがキャンセルされる。また、前記手順6においてCAPTURE REFコマンドreceiveサブファンクションが発行された後は、ストレージサブユニット12aとプリンタサブユニット13a間に張られたコネクションを用いてデータが転送されている可能性がある。
【0149】
この手順6〜手順8状態(印刷メインオブジェクトから参照された参照オブジェクトの受信状態も含む)でプリントジョブをキャンセルする場合、同じくそのままJOB QUEUEコマンドcancel_jobサブファンクションを発行し、プリントジョブを終了させる方法がある。しかしコマンドの一対一対応をとるという目的から、プリンタサブユニット13aにおいてCAPTURE REFコマンドreceiveサブファンクション実行中の状態では、JOB QUEUEコマンドcancel_jobサブファンクションを受信してもJOBQUEUEコマンドに対してbusyステータスをつけてREJECT応答を返すこととし、この状態でプリントジョブをキャンセルするには、まずCAPTURE REFコマンドabortサブファンクションを発行してデータ転送を中止させ、続いてJOB QUEUEコマンドcancel_jobサブファンクションを発行してプリントジョブをキャンセルするという実装をとってもよい。
【0150】
次に、<通信シーケンス1>及び<通信シーケンス2>における、プリンタユニット13によるプル型プリントの具体的な動作を一例を挙げて説明する。本例は、印刷メインオブジェクトをバンド毎に処理していき、必要な参照オブジェクトがあれば順次取得しながらラスタライズ等の印刷処理を行う場合の動作例であるが、言うまでもなく、前述したような、印刷ドキュメントを構成するデータを全て受信した後、印刷処理を行う実装でも良い。
【0151】
図25は、プリンタユニット13の機能ブロックを説明するための図である。ここには、IEEE1394バス30で接続された印刷システム(コントローラ11、HDDユニット12、プリンタユニット13)が示されている。
【0152】
プリンタユニット13は、バス30との接続用インターフェイスとなる通信I/F24、プリンタジョブを蓄積するキューの制御部であるキュー制御部23、印刷記述データの解読をしてラスタライザに渡すインタプリタ25と、当該インタプリタより得られた印刷データに基づいてラスタライズするラスタライザ22、ラスタライズされた印刷記述データを記録媒体上に可視記録出力するプリンタエンジン21とから構成されている。
【0153】
いま、印刷の対象となる印刷オブジェクトは、図26に示される画像を示すデータとする。この画像データは、プリンタで印刷可能な言語(例えば、XHTML形式)で記述され、複数のファイルが含まれている。それら複数のファイルの参照関係は、図27に示されるツリー図の通りである。
【0154】
図27において、トップファイルT「print1.xml」は印刷メインオブジェクトであり、画像データ全体を意味し、画像の配置位置、文字の配置位置や大きさ、あるいは印刷されるべき文字等を表す。リンクファイルL1「car.jpg」はHDDユニット12内のサブディレクトリに格納された自動車の画像、リンクファイルL2「cup.jpg」は同じサブディレクトリに格納されたカップの画像を意味している。トップファイルTには、リンクファイルL1、L2に対するリンクパス情報が記載されており、それぞれトップファイルTの参照オブジェクトである。
【0155】
このような印刷オブジェクトについてのプリンタユニット13の印刷動作は、図28に示されるフローチャートの通りである。
まず、コントローラ11から、印刷ジョブの通知として、上記印刷オブジェクトを指定したコマンドCAPTURE REFがプリンタユニット13に発行される(図28のステップS101)。発行された印刷コマンドは、印刷ジョブとして、バス30を介して、プリンタユニット13のキュー制御部23へ渡される。このキュー制御部23は、得られたジョブを格納し、当該ジョブ情報を順番にインタプリタ25に渡す。
【0156】
インタプリタ25は、この印刷ジョブに含まれる、HDDユニット12上の印刷記述データの存在場所(URI;Universal Resource Identifies等)を示すパス情報に基づいて、以下の印刷処理を実行する。
【0157】
つまり、インタプリタ25は、キュー制御部23より渡された信号が印刷ジョブであることとパス情報であることを判定したとき、通信I/F24にチャンネル(コネクション)を設定するように指示をする。これによって設定されたチャネルを介して、前記パス情報をHDDユニット12に渡すとともに、当該印刷ジョブに対応する最上位階層データであるトップファイルTの取得要求をHDDユニット12に発行する(図28のステップS102〜S103)。
【0158】
この要求に従って、HDDユニット12はバス30を介してプリンタユニット13にトップファイルTを送信する(図28のステップS104)。なお、ここでの前記データ転送要求は、任意のファイルを指示して一括で要求、あるいは任意の位置から任意のデータ量を要求(すなわち1ファイルのデータを部分的に要求)する方法であってもよい。
【0159】
ファイルを受信したインタプリタ25は、印刷記述データの種類を判定し、不必要なデータを捨て、印刷されるべきデータをラスタライザ22に渡す。このように印刷されるべきデータを受け取ったラスタライザ22は当該データをラスタライズして、プリンタエンジン21が記録媒体上に印刷する。
【0160】
インタプリタ25は、前記印刷記述データの中から前記トップファイルTにリンクされたリンクファイルLが存在することを検知すると、既に設定したチャンネルとは別のチャンネルを設定するように通信I/F24に指示を出す。新たなチャンネルが設定された時点で、インタプリタ25は、当該オブジェクトの転送要求を出す。これによってオブジェクトデータのリードが開始する(図28のステップS105Yes〜S121〜S122〜S123)。この参照オブジェクトのリードは任意のデータ量ずつなされるが、その値は予め設定しておいてもよいし、あるいは、インタプリタ25がラスタライズに必要な量(例えば数ラスタ分のデータ量)ずつ演算してもよい(図28のステップS111)。
【0161】
ここで図27に示されるように、複数のオブジェクトファイルが存在する場合、インタプリタ25は、対象ファイルごとにその時点でラスタライザ22に前記の量のデータをリードする。
【0162】
前記処理において、先にリードしていたオブジェクトファイルの読み出しデータ量が前記量に達したとき、その時点で一旦転送を中断し、ラスタライズ処理がなされる(図28のステップS112)。前記のラスタライズ処理が終了し、次のデータが必要となった時点で、HDDユニット12が前回停止した位置の次の位置からデータ転送を開始するようになっている(図28のステップS106No〜S107〜S108)。そして1のオブジェクトについてのリードが完了した時点で、前記のように設定されたチャンネルを開放する(図28のステップS109Yes〜S110)。また、すべての印刷ジョブが終了したとき印刷終了通知をコントローラ11に通知する(図28のステップS113〜S114)。
【0163】
図29はこの手順をより具体的に示すものである。以下の手順1、2・・は図29中の▲1▼、▲2▼・・と符合する。なお、この例では複数チャンネルの同時使用可能なバスIEEE1394を使用していることから、以下に記述するように複数のオブジェトのそれぞれに対応するチャネルを設定しているが、同一チャネル(同一回線)で複数のオブジェクトのデータを転送してもよい。
【0164】
手順1.最上位階層のベースデータ1本目をラスタライズする。
手順2.最上位階層のベースデータ2本目をラスタライズする。
手順3.最上位階層のベースデータ2本目をラスタライズ中にリンク情報で示されたオブジェクトファイルを検出する。そこで別途転送チャンネルを設けて該オブジェクトファイルの転送要求をHDDユニット12に出し、これを受けてHDDユニット12は該当するファイルのデータを転送する。ラスタライザはこのデータに基づいてラスタライズ処理をする。
【0165】
手順4.先のオブジェクトファイルが中断した時点で一旦リードを中断し、元の最上位階層のベースデータ2本目をラスタライズする。
手順5.最上位階層のベースデータ3本目をラスタライズする。
【0166】
手順6.最上位階層のベースデータ3本目をラスタライズ中に、リンク情報で示された前記手順3と同じオブジェクトファイルを検出する。当該オブジェクトファイルの前記手順3の手順で展開したデータの続きのデータを要求しファイルをリードしてラスタライズする。
【0167】
手順7.先のオブジェクトファイルが中断した時点で一旦リードを中断し、元の最上位階層のベースデータ3本目をラスタライズする。
手順8.最上位階層のベースデータ3本目をラスタライズ中に、リンク情報で示された前記手順6とは別のオブジェクトファイルを検出する。そこで、前記手順3及び手順6とは別の転送チャンネルを設けて、当該オブジェクトファイルのデータを要求しファイルをリードしてラスタライズする。
【0168】
手順9.2つ目のオブジェクトファイルが中断した時点で一旦リードを中断し、元の最上位階層のベースデータ3本目をラスタライズする。
手順10.最上位階層のベースデータ4本目をラスタライズする。
【0169】
手順11.最上位階層のベースデータ4本目をラスタライズ中に、リンク情報で示された前記手順3及び手順6と同じオブジェクトファイルを検出する。当該オブジェクトファイルの前記手順6で展開したデータの続きのデータを要求しファイルをリードしてラスタライズする。
【0170】
手順12.1つ目のオブジェクトファイルが終了した時点で、リードを終了、転送チャンネルを開放する。元の最上位階層のベースデータ4本目をラスタライズする。
【0171】
手順13.最上位階層のベースデータ4本目をラスタライズ中に、リンク情報で示された前記手順8と同じオブジェクトファイルを検出する。当該オブジェクトファイルの前記手順6の手順で展開したデータの続きのデータを要求しファイルをリードしてラスタライズする。
【0172】
手順14.2つ目のオブジェクトファイルが終了した時点で、リードを終了、転送チャンネルを開放する。元の最上位階層のベースデータ4本目をラスタライズする。
【0173】
手順15.最上位階層のベースデータ5本目をラスタライズする。
手順16.最上位階層のベースデータ6本目をラスタライズする。
このように本印刷システムは、シリアルバス接続により印刷記述データを転送する際に、プリンタユニットが解読することが可能な形式のデータで、当該プリンタユニットがラスラタイズ可能なデータ量ずつ転送データの転送をコントロール(停止・再転送)するようになっている。このようなプル型プリントにより、プリンタ側ではスプール用の大きな印刷記述データバッファが不要となり、更に印刷記述データに対してプリンタ側が必要となったタイミングで別途データを取ってくることが可能となり、ラスタライズ処理を行うときに都合が良い。
【0174】
また、コントローラは、ジョブ(印刷コマンド)の発行だけで済み、印刷オブジェクトを保有することなく、印刷指示を発することができる。
なお、手順1〜手順16の過程でベースデータ(印刷メインオブジェクト)リードまたは該当部分のデータ受信が不可能であると判断した場合、以後の処理が行えないため、その時点で処理を中断する。
【0175】
一方、手順3、手順6、手順8、手順11、手順13においてオブジェクトファイル(参照オブジェクト)のデータ受信が不可能であると判断した場合、その時点で処理を中断してもよいし、空白や×印など該当部分のみデータが受信出来なかった旨ユーザが理解可能な画像を代わりに印刷するようにしてそのまま処理を継続してもよい。
【0176】
以上、本発明に係る印刷システムについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。
例えば、コネクションの確立は、コントローラ11だけに限られず、プリンタユニット13によって実行されてもよい。つまり、プリンタユニット13がACControllerとしての機能を有している場合には、プリンタユニット13がHDDユニット12との間のコネクションAsynchronous Connectionを確立してもよい。このときには、図9に示された手順6(コネクションの確立)と図10に示された手順7(印刷トリガ)とが入れ替わる。具体的には、以下の通りである。
【0177】
図30〜図38は、プリンタユニットがAC Controllerとしての機能を有している場合、つまり、プリンタユニットがデータ供給ユニットとの間のコネクションAsynchronous Connectionを確立する場合における3つの装置(ここでは、STBユニット114、プリンタユニット113及びデータ供給ユニット112)間でのコマンドのやりとりを示すフロー図である。なお、これらの図における表記方法は図6〜図13のフロー図と同様である。また、図中の「AC MANAGE API」はコネクションAsynchronous Connectionの管理をするインターフェイス(Application Program Interface)であり、「EUI_64」は”64−bit extended unique identifier”(米国電気電子学会IEEEによる規定)の略である。
【0178】
これら図30〜図38と図6〜図13とを比較して分かるようように、プリンタユニット113がACコントローラとしての機能を有している場合には、その通信シーケンスは、以下の点において、STBユニット114がACコントローラとしての機能を有している場合と異なる。
【0179】
まず、STBユニット114は、プリンタユニット113にプリントジョブを投入する際に(図32の手順5)、Job_ID(print_job_ID)引数の内部EUI_64に、印刷データ供給装置(ここでは、HDDユニット112)のEUI_64をセットしてJobQueueコマンドを発する。ここで、Job_ID引数とは、JobQueueコマンドの引数の1つであり、図39に示されるデータ構造を有し、8バイト長のEUI_64(通常は、JobQueueコマンドを発した送信者のEUI_64(owner_EUI64)がセットされる)と、4バイト長のrecord_ID(JobQueueコマンドに対する返信)とからなる。
【0180】
そして、STBユニット114は、JobQueueコマンドを発した後に、コネクションを確立することなく(コネクションを確立する機能を有していないので)、プリンタユニット113に対して印刷コマンドCAPTURE REFを発行し、印刷トリガを与える(図33の手順6)。このとき、印刷コマンドCAPTURE REF内のパラメータNode_ID(producer_node_ID)、source_plug及びdestination_plugとして空値を指定する。
【0181】
この印刷コマンドCAPTURE REFを受けたプリンタユニット113は、Job_ID引数の中からHDDユニット112のEUI_64を取り出し、そのEUI_64と同じ値を持つNode_IDを検索することで、HDDユニット112のNode_ID(印刷データ供給装置を特定する位置情報)を取得する(図34の手順7)。続いて、プリンタユニット113内部にあるACコントローラ111bは、HDDユニット112とプリンタユニット113とのコネクションを確立することで、上記印刷コマンドCAPTURE REFで空値であったsource_plug及びdestination_plugの値を入手する(図35の手順8)。
【0182】
このようにして、印刷データ供給装置(producer_node_ID)とプラグ(source_plug及びdestination_plug)が判明した後のデータ転送は、図11に示された手順と同様にして行われる(図36の手順10及び手順11)。また、データ転送が終了した後に、プリンタユニット113がSTBユニット114に印刷コマンドCAPTURE REFに対するレスポンスACCEPTEDを返す点も同様である。
【0183】
しかし、コネクションの解放については、プリンタユニット113内部のACコントローラ111bが行う(図37の手順12)。
このような手順によって、プリンタユニットがACコントローラとしての機能を有している場合にも、STBユニットがACコントローラとしての機能を有している場合と同様に、印刷指示を発する装置と印刷オブジェクトを保有する装置とが異なる場合におけるプル型プリントが可能となる。
【0184】
また、プリンタユニットにACコントローラがある場合には、STBユニットは、プリンタユニットに発する印刷コマンドにおいて、印刷データ供給装置の指定に関する全てのパラメータproducer_node_ID、source_plug、subunit_type、subunit_idを空値又は付加しないで、印刷コマンドを送信してもよい。そのときには、プリンタユニットが、AC MANAGE FCPのSTATUSコマンドを、コネクションで接続された印刷データ供給装置(HDDユニット等)に発することで、それらのパラメータproducer_node_ID、source_plug、subunit_type、subunit_idの値を取得し、取得した値に基づいて、データ転送(データの取得)を行えばよい。
【0185】
つまり、プリンタ装置は、コネクションで接続されている印刷データ供給装置に対してコネクション状態の問い合わせを行うことで、ファイル要求の発行先を特定するアドレス情報を取得し、取得したアドレス情報が示す発行先に対してファイル要求を発行する。このような手順であっても、印刷指示を発した装置(STBユニット)とは異なる装置(HDDユニット)に置かれた印刷オブジェクトに対するプル型プリントが可能となる。
【0186】
また、本実施の形態では、印刷システムを構成するコントローラ、データ送信機器(producer)及びデータ受信機器(consumer)の具体例として、それぞれ、STB、HDD装置及びプリンタ装置が挙げられたが、このような装置の他に、コントローラとして、コンピュータ装置、ホームバスコントローラ等が機能してもよいし、データ送信機器として、DSC、DTV、DVD(Digital Versatile Disk)装置、ビデオカメラ装置等のデータ供給装置であってもよいし、データ受信機器として、印刷オブジェクトを蓄積する大容量記憶装置や印刷オブジェクトを遠隔に転送する通信装置等であってもよい。
【0187】
また、本実施の形態では、印刷のトリガとして、コントローラからプリンタユニットに1つの印刷コマンドCAPTURE REFが送信されたが、2以上の印刷コマンドに分割して発行してもよい。例えば、まず、印刷データ供給装置(Producer)に関連しないパラメータ(図4(a)に示されたもの)を含む基本的な印刷コマンドを発行し、続いて、印刷データ供給装置(Producer)に関連するパラメータ(図4(b)に示されたproducer_node_ID, source_plug, subunit_type, subunit_id, object_path)を含む拡張的な印刷コマンドを発行するような手順であってもよい。
【0188】
また、図4(b)及び(c)に示されたコマンドCAPTURE REFパラメータobject_path、及び図4(c)のコマンドCAPTURE REFパラメータBase_pathのデータ長は「variable」であり任意長であるが、現在のAV/Cコマンドでは1コマンド512bytesまでという制限がある。したがって、1つの印刷要求には1つのコマンドCAPTURE REFのみを使用するという制限を設けるのであれば、コマンドCAPTURE REFの他のパラメータとのバランスを考えて、パラメータobject_pathまたはbase_pathの最大長をある程度までに制限する必要がある。
【0189】
一方、1つの印刷要求に複数のコマンドCAPTURE REFを使用可能とした場合、パラメータobject_pathまたはbase_pathのパラメータ長には特に制限は必要ない。1つの印刷要求に複数のコマンドCAPTURE REFを用いる方法の詳細については、特に言及しないが、例えばコマンドCAPTURE REFに当該印刷要求を行うために発行するコマンドCAPTURE REFの総数を指定するパラメータと、その発行順番を指定するパラメータとを新規に追加し、パラメータobject_pathを分割してプリンタサブユニット13aに通知する方法などがある。
【0190】
また、本実施の形態の印刷システムは、IEEE1394バスで接続された機器から構成されたが、機器を接続する伝送路は、このバスだけに限られるものではない。印刷コマンドやファイル取得コマンド等の授受が可能であるならば、本発明に係る印刷手順は、LAN(10BaseT等)やインターネット、Bluetooth(商標)等を下位層とする通信システムにも適用することができる。
【0191】
次に、本実施の形態を適用することによる副次的な効果について述べておく。従来の技術であるIEEE1394 AV/C Printer Subunitにおいてはプッシュ型の印刷形態のみに対応しており、プル型の印刷形態に対応していない。また画像データの印刷が前提となっている。したがって、例えばHTML(Hyper Text Markup Language)で記述された印刷オブジェクトのように、リンクされた複数のファイルからなる印刷オブジェクトをプリントするには、印刷データ供給装置で1枚の画像データをあらかじめ生成してからデータ転送を行うしか方法がなく、印刷データ供給装置に多くの処理能力とメモリ資源が必要とされる。
【0192】
一方、HTMLで記述された印刷オブジェクトのプッシュプリントを可能とした場合、印刷オブジェクトをそのままプリンタ装置に転送(プッシュ)し、印刷画像データをプリンタ装置で生成し印刷することとなるが、この場合でもページ単位で印刷オブジェクトを転送(プッシュ)しておく必要があるために、プリンタ装置側に、1ページ分の印刷オブジェクトを記憶する大容量の記憶バッファが必要とされるという問題がある。また、コントローラは、プリンタ装置における印刷状態を監視したり、印刷の進行状況に応じて印刷オブジェクトを出力する等の出力制御をする必要があり、コントローラにおける処理負荷が大きくなるという問題もある。
【0193】
しかしながら、本実施の形態では、IEEE1394におけるAV/CプリンタコマンドのキャプチャコマンドによるHTMLファイルのプルプリントが可能であり、プリンタ装置に1ページ分の印刷オブジェクトを記憶する大容量の記憶バッファが必要とされるという問題や、コントローラにおける処理負荷が大きくなるという問題、印刷データ供給装置に多くのメモリと処理能力が必要とされるという問題が解消される。
【0194】
また、本実施の形態におけるコントローラ11はそれ自体が単体の機器であってもよいし、印刷データ供給装置またはプリンタ装置と同一の機器であってもよい。プリンタ装置が受信する印刷指示には、印刷オブジェクトが格納されている場所(印刷データ供給装置)の指定が含まれ、印刷指示を受け取ったプリンタ装置は、指定された格納場所に置かれた印刷オブジェクトを取得してプリント(プル型のプリント)を実行するので、印刷指示を発行する装置と印刷オブジェクトを保有している装置とが同一の場合だけに限られず、それらの装置が異なる場合においても印刷が可能となる。つまり、印刷指示を発行する印刷制御装置とは異なる場所(印刷データ供給装置)に印刷オブジェクトが置かれている場合であっても、そのような印刷オブジェクトの印刷が可能となり、プル型のプリンタ装置が持っている機能を有効に発揮させることが可能な印刷システムが実現される。
【0195】
このように、本実施の形態を適用したプリントシステムは、コントローラとは異なる場所(独立した印刷データ供給装置)に格納された印刷オブジェクトを印刷させる等の多様なシステム構成に応じた柔軟な印刷が可能である。
【0196】
また、プル型のプリントでは印刷データを受信(プル)するためにプリンタ装置が印刷データ供給装置に対してデータ送信命令を発行する必要がある。データ送信命令を発行するためにはプリンタ装置が印刷データ供給装置の装置位置(アドレス)やコマンド体系、データ送信命令時のパラメータといった情報を予め把握しなければならない。
【0197】
しかし、本実施の形態では、これらの情報を印刷要求コマンドであるAV/CPrinter SubunitのコマンドCAPTURE REFに含ませるか、または、プリンタ装置が印刷データ供給装置との間に張られたコネクションの状態を問い合わせることで容易に入手可能である。
【0198】
これによって、印刷データ供給装置の種類(タイプ)ごとに情報の授受に関するコマンド体系や順序等が異なる場合に、プリンタ装置は、その差を認識したうえで、印刷データ供給装置の特性に合ったプロトコルに従って印刷オブジェクトを取得することができるので、印刷オブジェクトの転送や印刷処理の効率が向上され得る。
【0199】
また、IEEE1394規格においては、印刷データ供給装置のアドレスに関して、IEEE1394規格固有のバスリセットの影響を考慮する必要がある。このバスリセットは、IEEE1394ネットワーク上の機器の電源on/off、ケーブルの挿抜毎に発生するものであり、バスリセットが発生するとネットワーク上の機器のアドレスが再設定される。したがって、プリンタ装置においてバスリセットを検知した場合、印刷データ供給装置の新しいアドレスを再度把握する必要がある。
【0200】
本実施の形態では、IEEE1394伝送路におけるアドレスが再設定された場合に、前記印刷データ供給装置と前記プリンタ装置の間のコネクションを復旧し、次に、前記プリンタ装置に対する印刷要求を再送し、前記再送要求に対し、前記プリンタ装置は、要求された印刷に必要なデータ受信を再開する。その上で、装置位置(アドレス)等をコマンドCAPTURE REFに含ませる方式では装置位置を設定するパラメータにバスリセット後の印刷データ供給装置のアドレス情報に基づく値を設定し、コネクションの状態を問い合わせる場合は再送要求を受けた後に状態を問い合わせている。これにより、バスリセット後でもあっても正しい値を容易に取得可能である。
【0201】
また、HTML等で記述されたドキュメントでは、内部で他の印刷オブジェクトへのリンク(リンクパス情報)が記述されている。このリンクパス情報が、ある基準点からの相対位置によってファイルの位置を指定する相対パスである場合、相対パスを絶対位置でファイルを指定する絶対パスに変換する手法が必要となる。本実施の形態では、パスの解決するための第1〜第3の方法を用いることで絶対パスを容易に取得可能である。
【0202】
【発明の効果】
以上の説明から明らかなように、本発明に係る印刷データ転送方法は、伝送路で接続された印刷データ供給装置とプリンタ装置間に印刷データを転送するための方法であって、前記印刷データ供給装置が保持する印刷データを印刷させるための、前記印刷データ供給装置の属性情報を伴って前記プリンタ装置に対して印刷要求する段階と、前記印刷要求に応じ、前記プリンタ装置が前記属性情報に基づいて前記印刷データ供給装置に印刷データを要求する段階と、前記印刷データの要求に応じ、前記印刷データ供給装置が印刷データを前記プリンタ装置に送信する段階とを有する。
【0203】
これにより、本発明を適用した印刷データ転送方法等では、プリンタ装置からのデータ取得要求に基づいて印刷を実行するプル型の印刷形態(Pull Print)が実現可能であり、本発明の実用的価値は極めて高い。さらに、本発明の印刷ファイル取得システム等によれば、リンクパス情報が相対パスである場合にも、ファイルを取得することができる。さらに、本発明のデータ転送方法等によれば、バスリセット時においても、正しいデータを取得することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態における印刷システムのシステムモデルを示す図である。
【図2】図1に示されたシステムモデルにおける通信シーケンスを示す図である。
【図3】図2に示されたフェーズobject pushの詳細な通信シーケンスを示す図である。
【図4】(a)は、プッシュ型プリントを前提とする従来の印刷コマンドCAPTURE、(b)は、プッシュ型及びプル型プリントが可能であり、(c)はプル型プリントのみが可能な本発明に係るコマンドCAPTURE REFのAV/Cコマンドフレームを示す。
【図5】AV/C Camera Storage SubunitにおけるコマンドSEND FILEのコマンドフレームである。
【図6】図2に示された通信シーケンス(<通信シーケンス1>)の詳細なフロー図の一つ(機器確認フェーズ)である。
【図7】図2に示された通信シーケンス(<通信シーケンス1>)の詳細なフロー図の一つ(バージョン確認フェーズ)である。
【図8】図2に示された通信シーケンス(<通信シーケンス1>)の詳細なフロー図の一つ(ジョブ投入フェーズ)である。
【図9】図2に示された通信シーケンス(<通信シーケンス1>)の詳細なフロー図の一つ(コネクション確立フェーズ)である。
【図10】図2に示された通信シーケンス(<通信シーケンス1>)の詳細なフロー図の一つ(印刷トリガフェーズ)である。
【図11】図2に示された通信シーケンス(<通信シーケンス1>)の詳細なフロー図の一つ(ファイル転送フェーズ)である。
【図12】図2に示された通信シーケンス(<通信シーケンス1>)の詳細なフロー図の一つ(コネクション解放フェーズ)である。
【図13】図2に示された通信シーケンス(<通信シーケンス1>)の詳細なフロー図の一つ(ジョブ終了フェーズ)である。
【図14】図2に示された通信シーケンス(<通信シーケンス2>)の詳細なフロー図の一つ(機器確認フェーズ)である。
【図15】図2に示された通信シーケンス(<通信シーケンス2>)の詳細なフロー図の一つ(バージョン確認フェーズ)である。
【図16】図2に示された通信シーケンス(<通信シーケンス2>)の詳細なフロー図の一つ(ジョブ投入フェーズ)である。
【図17】図2に示された通信シーケンス(<通信シーケンス2>)の詳細なフロー図の一つ(コネクション確立フェーズ)である。
【図18】図2に示された通信シーケンス(<通信シーケンス2>)の詳細なフロー図の一つ(印刷トリガフェーズ)である。
【図19】図2に示された通信シーケンス(<通信シーケンス2>)の詳細なフロー図の一つ(ファイル転送フェーズ)である。
【図20】図2に示された通信シーケンス(<通信シーケンス2>)の詳細なフロー図の一つ(コネクション解放フェーズ)である。
【図21】図2に示された通信シーケンス(<通信シーケンス2>)の詳細なフロー図の一つ(ジョブクローズフェーズ)である。
【図22】プリンタユニットの印刷動作の一例を示すフローチャートである。
【図23】プリンタユニットの印刷動作の他の例を示すフローチャートである。
【図24】プリンタユニットの印刷動作のさらに他の例を示すフローチャートである。
【図25】プリンタユニットの機能ブロックを説明するための図である。
【図26】印刷の対象となる印刷オブジェクトの一例(画像)を示す図である。
【図27】図26に示された印刷オブジェクトの構成要素の関係を示すツリー図である。
【図28】プリンタユニットの印刷動作を示すフローチャートである。
【図29】プリンタユニットの印刷動作の具体例を示す図である。
【図30】プリンタユニットがACコントローラとしての機能を有している場合における通信シーケンスの詳細なフロー図の一つ(機器確認フェーズ)である。
【図31】同通信シーケンスの詳細なフロー図の一つ(バージョン確認フェーズ)である。
【図32】同通信シーケンスの詳細なフロー図の一つ(ジョブ投入フェーズ)である。
【図33】同通信シーケンスの詳細なフロー図の一つ(印刷トリガフェーズ)である。
【図34】同通信シーケンスの詳細なフロー図の一つ(Node_IDの検索フェーズ)である。
【図35】同通信シーケンスの詳細なフロー図の一つ(コネクション確立フェーズ)である。
【図36】同通信シーケンスの詳細なフロー図の一つ(ファイル転送フェーズ)である。
【図37】同通信シーケンスの詳細なフロー図の一つ(コネクション解放フェーズ)である。
【図38】同通信シーケンスの詳細なフロー図の一つ(ジョブ終了フェーズ)である。
【図39】Job_ID引数のデータ構造を示す図である。
【図40】従来の印刷手順を示す通信シーケンス図である。
【符号の説明】
11、900 コントローラ
12、112 HDDユニット
12a、112a ストレージサブユニット
13、113、910 プリンタユニット
13a、113a プリンタサブユニット
14、114 STBユニット
111a PSコントローラ
111b ACコントローラ
21 プリンタエンジン
22 ラスタライザ
23 キュー制御部
24 通信I/F
25 インタプリタ
30 バス
Claims (59)
- 伝送路で接続された印刷データ供給装置とプリンタ装置間に印刷データを転送するための方法であって、
前記印刷データ供給装置が保持する印刷データを印刷させるため、前記印刷データ供給装置の属性情報を伴って前記プリンタ装置に対して印刷要求する段階と、
前記要求に応じ、前記プリンタ装置が前記属性情報に基づいて前記印刷データ供給装置にデータ要求する段階と、
前記データ要求に応じ、前記印刷データ供給装置が印刷データを前記プリンタ装置に送信する段階
とを有することを特徴とする印刷データ転送方法。 - 前記属性情報は、印刷データ供給装置が保管する印刷データの属性情報であって、印刷対象データへのリンクパス情報であることを特徴とする請求項1記載の印刷データ転送方法。
- 前記印刷データ供給装置に対し前記リンクパス情報の基準位置を設定する段階をさらに有することを特徴とする請求項2記載の印刷データ転送方法。
- 前記基準位置をコネクション毎に設定することを特徴とする請求項3記載の印刷データ転送方法。
- 前記印刷データ供給装置は、前記基準位置が変更された旨を前記データ要求へのレスポンスで通知することを特徴とする請求項3記載の印刷データ転送方法。
- 前記印刷データ供給装置は、着脱可能な記録媒体を備え、前記記録媒体の装着があった旨を示すパラメータを用いて、前記基準位置が変更された旨を通知する
ことを特徴とする請求項5記載の印刷データ転送方法。 - 前記プリンタ装置に対する印刷要求前に前記印刷データ供給装置に対して前記リンクパス情報の基準位置の設定し、前記印刷要求に対する完了通知を受信するまで前記基準位置の設定を変更しないことを特徴とする請求項3記載の印刷データ転送方法。
- 前記属性情報で指定されたリンクパス情報または前記印刷データ内に記載されたリンクパス情報がある基準点からの位置を示す相対パスである場合、
前記属性情報に、さらに前記リンクパス情報の基準位置を指定することを特徴とする請求項1記載の印刷データ転送方法。 - 前記プリンタ装置は、
前記印刷要求の段階において前記属性情報として受け取った前記リンクパス情報の基準位置を前記印刷要求に対する完了通知を送信するまで保持する
ことを特徴とする請求項8記載の印刷データ転送方法。 - 前記印刷データ内に記載されたリンクパス情報の基準位置は、前記印刷要求における属性情報で指定されたリンクパス情報から抽出することを特徴とする請求項8記載のデータ転送方法。
- 前記プリンタ装置は、
前記印刷要求における属性情報で指定されたリンクパス情報から抽出した前記リンクパス情報の基準位置を
前記印刷要求に対する完了通知を送信するまで保持する
ことを特徴とする請求項10記載の印刷データ転送方法。 - 前記プリンタ装置は、
印刷対象データへのリンクパス情報が記載されたリンクファイルを受信し、前記印刷データ供給装置に対し、前記受信したリンクファイルに記載されたリンクパス情報で特定される印刷データを要求することを特徴とする請求項1記載の印刷データ転送方法。 - 前記データ要求と、前記送信とを繰り返すことを特徴とする請求項1記載の印刷データ転送方法。
- 前記データ送信を予め確立されたコネクションを介して行うことを特徴とする請求項1記載の印刷データ転送方法。
- 前記属性情報の全てまたは一部の取得は、前記印刷データ供給装置と前記プリンタ装置との間に確立されたコネクションに対する状態問い合わせによって行うことを特徴とする請求項14記載の印刷データ転送方法。
- 前記コネクションは、プリンタ装置によって確立されたものであることを特徴とする請求項14記載の印刷データ転送方法。
- 前記コネクションは、前記印刷データ供給装置または前記プリンタ装置以外の印刷制御装置によって確立されたものであることを特徴とする請求項14記載の印刷データ転送方法。
- 前記伝送路は、IEEE1394であり、前記コネクションは IEEE1394 におけるEnhanced Asynchronous Serial Bus Connectionsであることを特徴とする請求項14記載の印刷データ転送方法。
- 前記属性情報は、前記コネクションにおける印刷データ供給装置側の入力ポートを特定するコネクション情報であることを特徴とする請求項14記載の印刷データ転送方法。
- 前記コネクション情報はIEEE1394 AV/C規格におけるsubunit_plug_idであることを特徴とする請求項19記載の印刷データ転送方法。
- 前記属性情報が、前記印刷データ供給装置を特定するためのアドレス情報であることを特徴とする請求項1記載の印刷データ転送方法。
- 前記アドレス情報はIEEE1394 AV/C規格におけるNode_ID又はEUI_64であることを特徴とする請求項21の印刷データ転送方法。
- 前記アドレス情報はIEEE1394 AV/C規格におけるNode_ID又はEUI_64に、Subunit_typeとSubunit_IDとを組み合わせたものであることを特徴とする請求項21の印刷データ転送方法。
- 前記属性情報が、前記印刷データ供給装置の種類を特定するタイプ情報であることを特徴とする請求項1記載の印刷データ転送方法。
- 前記タイプ情報はIEEE1394 AV/C規格におけるSubunit_Typeであることを特徴とする請求項24記載の印刷データ転送方法。
- 前記プリンタ装置は、前記印刷データ供給装置以外の印刷制御装置から前記印刷要求を受信することを特徴とする請求項1記載の印刷データ転送方法。
- 前記プリンタ装置は、前記要求された印刷に必要なデータ受信が完了した後に、前記印刷要求に対する完了通知を送信することを特徴とする請求項1の印刷データ転送方法。
- 前記プリンタ装置は、前記印刷要求された印刷データ及び印刷データからさらに参照された印刷データの受信が必要なくなった後に、前記印刷要求に対する完了通知を送信することを特徴とする請求項1の印刷データ転送方法。
- 前記印刷要求には、前記印刷データ供給装置と関連しない第1パラメータ群と前記印刷データ供給装置に関連する第2パラメータ群とが含まれることを特徴とする請求項1記載の印刷データ転送方法。
- 前記印刷要求は、前記第1パラメータ群と前記第2パラメータ群とを含む一つの命令であることを特徴とする請求項29記載の印刷データ転送方法。
- 前記印刷要求は、前記第1パラメータ群を含む第1命令と、前記第2パラメータ群を含む第2命令とに分離されていることを特徴とする請求項29記載の印刷データ転送方法。
- 前記伝送路におけるアドレスが再設定された場合に、
前記印刷データ供給装置と前記プリンタ装置の間のコネクションを復旧し、
次に、前記プリンタ装置に対する印刷要求を再送し、
前記再送要求に対し、前記プリンタ装置は、要求された印刷に必要なデータ受信を再開する
ことを特徴とする請求項1記載の印刷データ転送方法。 - 前記再送要求は、バスリセット後の印刷データ供給装置のアドレス情報に基づくことを特徴とする請求項32記載の印刷データ転送方法。
- 前記属性情報には、印刷データ供給装置が保管する印刷データのうち、印刷の対象となる第1印刷データの格納位置を絶対パスで指定する第1リンクパス情報と、前記第1印刷データによって参照される第2印刷データの格納位置を示す相対パスの基準位置とが含まれる
ことを特徴とする請求項1記載の印刷データ転送方法。 - 前記印刷データ転送方法は、さらに、前記印刷要求に先立ち、前記伝送路上に、印刷データを保持する印刷データ供給装置と印刷データを印刷するプリンタ装置が接続されているか否かを確認し、前記印刷データ供給装置及び前記プリンタ装置の少なくとも一方が接続されていない場合には、エラーである旨をユーザに通知する段階を含む
ことを特徴とする請求項1記載の印刷データ転送方法。 - 前記プリンタ装置に対する印刷要求では、前記印刷データ供給装置に印刷データを要求する機能を前記プリンタ装置が有するか否かの問い合わせが含まれ、
前記印刷データ転送方法は、さらに、前記プリンタ装置が前記問い合わせに対して返答する段階を含む
ことを特徴とする請求項1記載の印刷データ転送方法。 - 前記プリンタ装置が、前記問い合わせに対して前記機能を有していない旨の返答をした場合には、前記印刷データ供給装置は、前記プリンタ装置からの印刷データの要求を受けることなく、印刷データを前記プリンタ装置に送信する
ことを特徴とする請求項36記載の印刷データ転送方法。 - 前記印刷データ転送方法は、さらに、前記プリンタ装置が、前記問い合わせに対して前記機能を有していない旨の返答をし、かつ、印刷の対象となる印刷データが上記機能を有するプリンタ装置のみによって印刷可能な場合に、エラーである旨をユーザに通知する段階を含む
ことを特徴とする請求項36記載の印刷データ転送方法。 - 前記印刷データ転送方法は、さらに、前記印刷要求に先立ち、前記印刷データ供給装置及び前記プリンタ装置の少なくとも一方に状態の問い合わせを行い、その問い合わせに対する返答に応じて、前記プリンタ装置が前記印刷データ供給装置に印刷データを要求しながら印刷データを印刷するプル型の印刷を行うか、前記プリンタ装置が印刷データを要求することなく前記印刷データ供給装置から送信されてくる印刷データを印刷するプッシュ型の印刷を行うかを決定する段階を含む
ことを特徴とする請求項1記載の印刷データ転送方法。 - 前記プル型及びプッシュ型の印刷のいずれを行うかを決定する段階では、
前記プリンタ装置が備えるデータ受信バッファのサイズと印刷の対象となる印刷データのサイズとを比較し、
前記データ受信バッファのサイズが前記印刷データのサイズより大きい場合に、前記プッシュ型の印刷を行うと決定し、前記データ受信バッファのサイズが前記印刷データのサイズ以下である場合に、前記プル型の印刷を行うと決定する
ことを特徴とする請求項39記載の印刷データ転送方法。 - 伝送路で接続された印刷データ供給装置とプリンタ装置からなる印刷システムであって、
前記印刷データ供給装置は印刷データを保持し、
前記プリンタ装置は、
前記印刷データ供給装置に保持された印刷データを印刷させるため、前記印刷データ供給装置の属性情報を伴って発行された印刷要求を受信する手段と、
前記要求に応じ、前記属性情報に基づいて前記印刷データ供給装置にデータ要求する手段と、
前記データ要求に応じ、前記印刷データ供給装置から送信された印刷データを受信する手段と、
前記印刷データを印刷する手段
とを備えることを特徴とする印刷システム。 - 前記プリンタ装置が、印刷対象データへのリンクパス情報が記載されたリンクファイルを受信する手段を備え、
前記印刷データ要求手段は、前記印刷データ供給装置に対し、前記受信したリンクファイルに記載されたリンクパス情報で特定される印刷データを要求する
ことを特徴とする請求項41記載の印刷システム。 - 印刷データ供給装置から送信された印刷データの受信を予め確立されたコネクションを介して行うことを特徴とする請求項41記載の印刷システム。
- 前記属性情報が、前記印刷データ供給装置を特定するためのアドレスであることを特徴とする請求項41記載の印刷システム。
- 前記属性情報が、前記印刷データ供給装置の種類を特定するタイプ情報であることを特徴とする請求項41記載の印刷システム。
- 前記プリンタ装置は、前記印刷データ供給装置以外の印刷制御装置から前記印刷要求を受信することを特徴とする請求項41記載の印刷システム。
- 前記プリンタ装置は、前記要求された印刷に必要なデータ受信が完了した後に、前記印刷要求に対する完了通知を送信することを特徴とする請求項41の印刷システム。
- 前記伝送路におけるアドレスが再設定された場合に、
前記印刷データ供給装置と前記プリンタ装置の間のコネクションを復旧し、
次に、前記プリンタ装置に対する印刷要求を再送し、
前記再送要求に対し、前記プリンタ装置は、要求された印刷に必要なデータ受信を再開する
ことを特徴とする請求項41記載の印刷システム。 - 印刷データを保持する印刷データ供給装置と伝送路で接続されたプリンタ装置であって、
前記印刷データ供給装置に保持された印刷データを印刷させるため、前記印刷データ供給装置の属性情報を伴って発行された印刷要求を受信する手段と、
前記要求に応じ、前記属性情報に基づいて前記印刷データ供給装置にデータ要求する手段と、
前記データ要求に応じて、前記印刷データ供給装置から送信された印刷データを受信する手段と、
前記印刷データを印刷する手段
とを備えることを特徴とするプリンタ装置。 - 印刷対象データへのリンクパス情報が記載されたリンクファイルを受信する手段を備え、
前記印刷データ要求手段は、前記印刷データ供給装置に対し、前記受信したリンクファイルに記載されたリンクパス情報で特定される印刷データを要求する
ことを特徴とする請求項49記載のプリンタ装置。 - 前記印刷データ供給装置から送信された印刷データの受信を
予め確立されたコネクションを介して行うことを特徴とする請求項49記載のプリンタ装置。 - 前記属性情報が、前記印刷データ供給装置を特定するためのアドレスであることを特徴とする請求項49記載のプリンタ装置。
- 前記属性情報が、前記印刷データ供給装置の種類を特定するタイプ情報であることを特徴とする請求項49記載のプリンタ装置。
- 前記印刷データ供給装置以外の印刷制御装置から前記印刷要求を受信することを特徴とする請求項49記載のプリンタ装置。
- 前記要求された印刷に必要なデータ受信が完了した後に、前記印刷要求に対する完了通知を送信することを特徴とする請求項49記載のプリンタ装置。
- 前記伝送路におけるアドレスが再設定された場合に、
前記印刷データ供給装置との間のコネクションが復旧された後に印刷要求を再受信し、
前記再送要求に対し、要求された印刷に必要なデータ受信を再開する
ことを特徴とする請求項49記載のプリンタ装置。 - 受信した印刷データに基づいて画像を形成するプリンタ装置のためのプログラムであって、
請求項49記載のプリンタ装置が備える手段としてコンピュータを機能させることを特徴とするプログラム。 - 印刷ファイルの格納位置を指定するリンクパス情報を保管する保管手段と、
前記保管手段から取得したリンクパス情報の一部又は全てが、所定の基準点からの相対的な位置を示す相対パスである場合に、前記所定の基準点を示す基準位置データに基づき、前記相対パスを、印刷ファイルの絶対的な位置を示す絶対パスに変換する変換手段と、
前記変換手段により変換された絶対パスから特定可能な印刷ファイルを、取得する取得手段と、を有することを特徴とする印刷ファイルの取得システム。 - 伝送路で接続された印刷データ供給装置とプリンタ装置とを備え、前記印刷データ供給装置から前記プリンタ装置に対して印刷データを転送する印刷データ転送システムであって、バスリセット後の前記印刷データ供給装置および前記プリンタ装置のネットワーク接続情報を取得するネットワーク情報取得手段と、前記ネットワーク情報取得手段から得られたネットワーク接続情報に基づいて印刷データ供給装置とプリンタ装置との間のデータ転送コネクションを復旧するコネクション復旧手段と、前記ネットワーク情報取得手段から得られたネットワーク接続情報に基づいて印刷要求を再送する印刷要求再送手段と、前記印刷要求再送手段により再送された印刷要求に基づき、印刷オブジェクトを取得する取得手段と、を有することを特徴とする印刷データの転送システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003015048A JP2004157960A (ja) | 2002-01-29 | 2003-01-23 | 印刷データ転送方法、印刷システム及びプリンタ装置 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002019596 | 2002-01-29 | ||
JP2002222715 | 2002-07-31 | ||
JP2002265354 | 2002-09-11 | ||
JP2003015048A JP2004157960A (ja) | 2002-01-29 | 2003-01-23 | 印刷データ転送方法、印刷システム及びプリンタ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004157960A true JP2004157960A (ja) | 2004-06-03 |
JP2004157960A5 JP2004157960A5 (ja) | 2006-01-26 |
Family
ID=32830990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003015048A Withdrawn JP2004157960A (ja) | 2002-01-29 | 2003-01-23 | 印刷データ転送方法、印刷システム及びプリンタ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004157960A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009031845A (ja) * | 2007-07-24 | 2009-02-12 | Fuji Xerox Co Ltd | 印刷制御装置、及び印刷制御プログラム |
JP2013235518A (ja) * | 2012-05-10 | 2013-11-21 | Canon Inc | サーバー装置、システム及びその制御方法 |
JP2015152932A (ja) * | 2014-02-10 | 2015-08-24 | キヤノン株式会社 | 情報処理装置、その制御方法およびコンピュータプログラム |
-
2003
- 2003-01-23 JP JP2003015048A patent/JP2004157960A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009031845A (ja) * | 2007-07-24 | 2009-02-12 | Fuji Xerox Co Ltd | 印刷制御装置、及び印刷制御プログラム |
JP2013235518A (ja) * | 2012-05-10 | 2013-11-21 | Canon Inc | サーバー装置、システム及びその制御方法 |
US9596121B2 (en) | 2012-05-10 | 2017-03-14 | Canon Kabushiki Kaisha | Server apparatus communicating with a client apparatus via the internet, system, and control method thereof |
JP2015152932A (ja) * | 2014-02-10 | 2015-08-24 | キヤノン株式会社 | 情報処理装置、その制御方法およびコンピュータプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4645164B2 (ja) | ネットワーク型プラグアンドプレイに対応したネットワーク装置の制御 | |
US7191236B2 (en) | Transparent telecommunications system and apparatus | |
US8094197B2 (en) | Image recording system having a conversion apparatus | |
US7664135B2 (en) | Control of network plug-and-play compliant device | |
JP4199659B2 (ja) | 画像データ転送方法、画像形成装置、画像印刷システム | |
JP2006211557A (ja) | サービス提供システム,クライアントデバイス,サーバおよびプログラム | |
US20060150236A1 (en) | Control of network plug-and-play compliant device | |
US20030142352A1 (en) | Print data transfer method, printing system and printer device | |
US20070097416A1 (en) | Printing apparatus, print instruction apparatus, and printing system | |
JP5712678B2 (ja) | 原稿読取システム、クライアント端末装置及びコンピュータプログラム | |
US20070147230A1 (en) | Network system, communication device and program | |
US7362456B2 (en) | Print job substitution in a copy job | |
US20110279856A1 (en) | Information processing apparatus, cooperative function setting control method, and storage medium | |
JP4774973B2 (ja) | ネットワーク型プラグアンドプレイに対応したネットワーク中継制御 | |
JP2014011582A (ja) | 画像処理装置及びその制御方法とプログラム | |
JP2003296050A (ja) | 印刷データ転送方法、印刷システム、プリンタ及びプリンタ制御プログラム | |
JP2004157960A (ja) | 印刷データ転送方法、印刷システム及びプリンタ装置 | |
EP2364009A2 (en) | Control point, image forming apparatus, and method for sending fax data using fax data transmission function of the image forming apparatus | |
US20070206222A1 (en) | Information Acquiring Method, Information Appending Apparatus, Information Acquiring Apparatus, And Program | |
JP5699437B2 (ja) | 情報処理システム、情報処理方法、情報処理装置、及びプログラム | |
JP4765496B2 (ja) | ネットワーク型プラグアンドプレイに対応したネットワーク装置及びその制御方法 | |
JP2012080519A (ja) | 画像処理装置 | |
JP2007128215A (ja) | ネットワークデバイスに関する情報収集 | |
JP2008084297A (ja) | 通信装置、通信方法、フロー制御装置、制御方法、及び、コンピュータプログラム | |
JPH11331220A (ja) | データ転送方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051205 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051205 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080602 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081007 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20081126 |