【手続補正書】
【提出日】平成30年8月6日(2018.8.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プリンタドライバと、当該プリンタドライバの出力先として前記プリンタドライバと関連付けられているデバイスアプリケーションと、を少なくとも有する情報処理装置であって、
前記プリンタドライバは、
前記情報処理装置上で動作するアプリケーションからデータを受信し、当該受信したデータに基づき印刷ジョブを生成する生成手段と、
前記生成された印刷ジョブを前記出力先に向けて送信する送信手段と、を有し、
前記出力先に向けて送信された印刷ジョブは、前記情報処理装置のＯＳ（オペレーティングシステム）によって、前記デバイスアプリケーションに送信され、
前記デバイスアプリケーションは、
プリンタと双方向通信を行う通信制御手段と、
前記プリンタドライバから送信された前記印刷ジョブを受信する受信手段と、
前記双方向通信で前記プリンタのステータス情報を取得し、当該ステータス情報に従って、前記受信した印刷ジョブに基づくデータ送信を制御する送信制御手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記デバイスアプリケーションは、前記ＯＳを経由して受信した前記印刷ジョブをキューに格納する格納手段を更に備え、
前記送信制御手段は、当該キューに保存された印刷ジョブを読み出して、当該印刷ジョブに基づくデータを前記プリンタに送信することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記デバイスアプリケーションの前記通信制御手段は、前記プリンタに対してステータスを問い合わせる第１のコマンドを送信し、当該第１のコマンドの応答として前記ステータス情報を取得することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記デバイスアプリケーションは、
前記プリンタドライバと双方向通信を行う第２の通信制御手段を更に備え、
前記第２の通信制御手段によって、前記プリンタへステータスを問い合わせるための第２のコマンドを前記プリンタドライバから受信した場合、前記通信制御手段は、前記プリンタに前記第２のコマンドとは異なるコマンドを送信し、当該異なるコマンドの応答としてステータス情報を取得し、
前記第２の通信制御手段は、当該異なるコマンドの応答として得られたステータス情報に基づく情報を、前記第２のコマンドに対する応答として前記プリンタドライバに送信することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項５】
前記プリンタドライバは、Ｗｉｎｄｏｗｓ（登録商標）のＶｅｒｓｉｏｎ４プリントアーキテクチャのプリンタドライバであり、前記デバイスアプリケーションは、前記情報処理装置にインストールされた前記プリンタのエミュレーターソフトウェアであることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記情報処理装置には２以上の異なるプリンタドライバがインストールされており、前記デバイスアプリケーションは、前記２以上の異なるプリンタドライバの出力先として関連付けられており、前記デバイスアプリケーションの前記格納手段は、印刷ジョブを格納するキューをプリンタドライバごとに有していることを特徴とする請求項２に記載の情報処理装置。
【請求項７】
前記デバイスアプリケーションは、前記プリンタドライバの出力先ポートとして、前記プリンタドライバと関連付けられており、
前記ＯＳは、前記出力先ポートに向けて出力された印刷ジョブを、内部ループバックを用いて前記デバイスアプリケーションの受信ポートに転送し、
前記デバイスアプリケーションの受信手段は、前記受信ポートを開いた状態で、当該受信ポートへのデータの入力を待ち受けることで、前記内部ループバックで転送された印刷ジョブを受信することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
プリンタドライバと、当該プリンタドライバの出力先として前記プリンタドライバと関連付けられているデバイスアプリケーションと、を少なくとも有する情報処理装置を制御する制御方法であって、
前記プリンタドライバが、前記情報処理装置上で動作するアプリケーションからデータを受信し、当該受信したデータに基づき印刷ジョブを生成する生成工程と、
前記プリンタドライバが、前記生成された印刷ジョブを前記出力先に向けて送信する送信工程と、
前記出力先に向けて送信された印刷ジョブを、前記情報処理装置のＯＳ（オペレーティングシステム）によって、前記デバイスアプリケーションに送信する工程と、
前記デバイスアプリケーションが、プリンタと双方向通信を行う通信制御工程と、
前記デバイスアプリケーションが、前記プリンタドライバから送信された前記印刷ジョブを受信する受信工程と、
前記デバイスアプリケーションが、前記双方向通信で前記プリンタのステータス情報を取得し、当該ステータス情報に従って、前記受信した印刷ジョブに基づくデータ送信を制御する送信制御工程と、
を有することを特徴とする制御方法。
【請求項９】
コンピュータを、請求項１乃至７のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項１０】
プリンタドライバに関連付けられているアプリケーションプログラムであって、
前記アプリケーションプログラムは、前記プリンタドライバがインストールされている情報処理装置のコンピュータに、
前記プリンタドライバから送信された印刷ジョブを受信する受信工程と、
前記プリンタドライバに関連するプリンタから、双方向通信で当該プリンタのステータス情報を取得し、当該ステータス情報と、前記受信した印刷ジョブとに少なくとも基づいて前記プリンタが受け付け可能なデータを生成し、当該生成したデータを前記プリンタに送信する送信制御工程と、
を実行させることを特徴とするプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】発明の名称
【補正方法】変更
【補正の内容】
【発明の名称】情報処理装置とその制御方法、及びプログラム
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、情報処理装置とその制御方法、及びプログラムに関するものである。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
プリンタドライバと、当該プリンタドライバの出力先として前記プリンタドライバと関連付けられているデバイスアプリケーションと、を少なくとも有する情報処理装置であって、
前記プリンタドライバは、
前記情報処理装置上で動作するアプリケーションからデータを受信し、当該受信したデータに基づき印刷ジョブを生成する生成手段と、
前記生成された印刷ジョブを前記出力先に向けて送信する送信手段と、を有し、
前記出力先に向けて送信された印刷ジョブは、前記情報処理装置のＯＳ（オペレーティングシステム）によって、前記デバイスアプリケーションに送信され、
前記デバイスアプリケーションは、
プリンタと双方向通信を行う通信制御手段と、
前記プリンタドライバから送信された前記印刷ジョブを受信する受信手段と、
前記双方向通信で前記プリンタのステータス情報を取得し、当該ステータス情報に従って、前記受信した印刷ジョブに基づくデータ送信を制御する送信制御手段と、を有することを特徴とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００７５
【補正方法】変更
【補正の内容】
【００７５】
Ｓ１３１９でＣＰＵ４０１は、他に画像形成装置１０８へ送信すべきコマンドがあるか否か判定し、あればＳ１３２０へ進み、なければＳ１３２３へ進む。Ｓ１３２０でＣＰＵ４０１は仮想デバイスランゲージモニタ３２３として機能し、制御コマンドを画像形成装置１０８へ送信し、Ｓ１３２１でその制御コマンドに対する画像形成装置１０８からの応答を待つ。そして応答を受信するとＳ１３２２に進みＣＰＵ４０１は仮想デバイスランゲージモニタ３２３として機能し、その応答を仮想デバイスサービス１０６で反映させてＳ１３０１へ戻る。尚、Ｓ１３２３でＣＰＵ４０１は、処理すべき制御コマンドではないが、なんらかのデータが到着していれば、そのデータを読み捨ててＳ１３０１へ戻る。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００７７
【補正方法】変更
【補正の内容】
【００７７】
図１４〜図１６は、実施形態１に係る情報処理装置１０１における、Ｖ４ドライバ１０３、ステータスウィンドウ１０５、仮想デバイス３０１、画像形成装置１０８の接続に関するエラー処理を説明するフローチャートである。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００７８
【補正方法】変更
【補正の内容】
【００７８】
図１４は、実施形態１に係る情報処理装置１０１が、仮想デバイス３０１と画像形成装置１０８との接続に問題がないか否かを判定する処理を説明するフローチャートである。尚、この処理は、情報処理装置１０１のＣＰＵ４０１がＨＤＤ４０５に記憶されているプログラムをＲＡＭ４０２に展開して実行することにより達成される。この処理は、仮想デバイス３０１と画像形成装置１０８とが接続したときに開始される。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００７９
【補正方法】変更
【補正の内容】
【００７９】
先ずＳ１４０１でＣＰＵ４０１は仮想デバイスランゲージモニタ３１３として機能し、画像形成装置１０８から機種情報を取得する。この実施形態１では、機種情報は製品名とする。次にＳ１４０２に進みＣＰＵ４０１は仮想デバイスランゲージモニタ３２３として機能し、その取得した機種情報と、仮想デバイス３０１が持つ機種情報とを比較する。ここで、それらが同じであればＳ１４０３へ進み、異なる場合はＳ１４０４へ処理を進める。Ｓ１４０３でＣＰＵ４０１は仮想デバイスランゲージモニタ３２３として機能し、その接続に問題は無いと判定して、この処理を終了する。一方、Ｓ１４０４でＣＰＵ４０１は仮想デバイスランゲージモニタ３２３として機能し、画像形成装置１０８との接続に問題があるため、エラー状態になったと判定して、この処理を終了する。尚、Ｓ１４０４でエラー状態になったと判定した状況で、仮想デバイスランゲージモニタ３２３が状態情報を取得する命令を受け付けた場合は、接続に関するエラー状態と機種情報を返信する。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００８０
【補正方法】変更
【補正の内容】
【００８０】
図１５は、実施形態１に係る情報処理装置１０１が、ステータスウィンドウ１０５と仮想デバイス３０１との接続に関するエラーを表示するかどうかを判定する処理を説明するフローチャートである。尚、この処理は、情報処理装置１０１のＣＰＵ４０１がＨＤＤ４０５に記憶されているプログラムをＲＡＭ４０２に展開して実行することにより達成される。この処理は、ステータスウィンドウ１０５が仮想デバイス３０１に対して状態情報の取得を命令することにより開始される。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００８１
【補正方法】変更
【補正の内容】
【００８１】
Ｓ１５０１でＣＰＵ４０１はステータスウィンドウ１０５として機能し、仮想デバイス３０１に対して行った状態情報の取得命令の返信として、指定した画像形成装置の状態情報と機種情報を取得する。次にＳ１５０２に進みＣＰＵ４０１はステータスウィンドウ１０５として機能し、その取得した機種情報とステータスウィンドウ１０５が持つ機種情報とを比較する。そして、これらが同じであればＳ１５０４へ進み、そうでないときはＳ１５０３へ処理を進める。Ｓ１５０３でＣＰＵ４０１はステータスウィンドウ１０５として機能し、その取得した状態情報と、接続に関するエラー状態との重要度を比較する。実施形態１では、ステータスウィンドウ１０５は、接続に関するエラー状態を含む全ての状態の重要度を保持しており、これを参照して判定する。そしてＳ１５０３で、接続に関するエラー状態の方が重要度が高いと判定するとＳ１５０５へ進み、そうでなければＳ１５０４へ処理を進める。Ｓ１５０４でＣＰＵ４０１はステータスウィンドウ１０５として機能し、その取得した状態情報に基づいた表示を行って、この処理を終了する。一方、Ｓ１５０５でＣＰＵ４０１はステータスウィンドウ１０５として機能し、例えば図１７に示すような接続に関するエラー状態を表示して、この処理を終了する。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００８２
【補正方法】変更
【補正の内容】
【００８２】
図１７は、実施形態１に係る情報処理装置１０１で、ステータスウィンドウ１０５と仮想デバイス３０１との接続に関するエラーが発生した場合に表示部４１０に表示するステータスウィンドウＴＯＰ画面８０１の一例を示す図である。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００８４
【補正方法】変更
【補正の内容】
【００８４】
図１６は、実施形態１に係る情報処理装置１０１が、Ｖ４ドライバ１０３と仮想デバイス３０１の接続に問題がないかどうかを判定する処理を説明するフローチャートである。尚、この処理は、情報処理装置１０１のＣＰＵ４０１がＨＤＤ４０５に記憶されているプログラムをＲＡＭ４０２に展開して実行することにより達成される。この処理は、仮想デバイスランゲージモニタ３２３が印刷ジョブを受信したときに開始される。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００８５
【補正方法】変更
【補正の内容】
【００８５】
まずＳ１６０１でＣＰＵ４０１は仮想デバイスランゲージモニタ３２３として機能し、受信した印刷ジョブが持つ機種情報と、仮想デバイス３０１の機種情報とを比較する。そして、これらが同じであると判定するとＳ１６０２へ進み、そうでないときはＳ１６０３へ処理を進める。Ｓ１６０２でＣＰＵ４０１は仮想デバイスランゲージモニタ３２３として機能し、Ｖ４ドライバ１０３と仮想デバイス３０１とが正常に接続されていると判定し、受信した印刷ジョブの印刷処理を継続する。一方、Ｓ１６０３でＣＰＵ４０１は仮想デバイスランゲージモニタ３２３として機能し、Ｖ４ドライバ１０３と仮想デバイス３０１の接続が正しくないと判定し、受信した印刷ジョブの処理を停止して、この処理を終了する。尚、実施形態１では、Ｓ１６０３で仮想デバイスランゲージモニタ３２３は、受信した印刷ジョブを削除することによって、印刷処理を停止する。