(57)【要約】      （修正有）【課題】特定プロトコルに対応する情報処理装置から特定プロトコルに対応しない画像処理装置を利用する場合の、画像処理装置の利用可能性を高める技術を提供すること。【解決手段】中継プログラム４２と印刷アプリ４３とのセット１００であって、印刷アプリ４３は、ＰＣ１のＣＰＵ１１に、プリンタ２に関する情報を取得させて、取得した情報を印刷アプリ４３に関する情報と関連付けてプリンタ情報４４に記憶させる。中継プログラム４２は、ＰＣ１のＣＰＵ１１に、ＯＳ４０からの探索要求に応じてプリンタ情報４４から読み出した情報をＯＳ４０に応答させ、ＯＳ４０からのＩＰＰによる印刷命令に応じて、プリンタ情報４４から印刷アプリ４３の情報を読み出して印刷アプリ４３を起動させる。印刷アプリ４３は、ＰＣ１のＣＰＵ１１に、ＯＳ４０からの印刷命令に応じた印刷命令を、ＢＴプロトコルによってプリンタ２に送信させる。【選択図】図１
2020154944.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置のコンピュータによって実行可能なプログラムセットであって、前記プログラムセットには、第１のプロトコルに対応する第１プログラムと、第２のプロトコルに対応する第２プログラムとが含まれ、
前記第２プログラムは、前記コンピュータに、
画像処理装置に関する特定情報を取得する取得処理と、
前記取得処理にて取得した前記特定情報を含む装置情報を、前記第２プログラムに関するプログラム情報と関連付けて、前記情報処理装置のメモリに記憶する記憶処理と、
を実行させ、
前記第１プログラムは、前記コンピュータに、
前記情報処理装置のオペレーティングシステムからの探索要求に応じて、前記メモリから前記装置情報を読み出し、読み出した前記装置情報を前記オペレーティングシステムに応答する探索要求応答処理と、
前記オペレーティングシステムからの前記第１のプロトコルによる第１実行指示に応じて、前記メモリから前記第１実行指示にて送信先に指定された前記画像処理装置に対応する前記装置情報に関連付けられた前記プログラム情報を読み出し、読み出した前記プログラム情報に基づいて前記第２プログラムを起動する実行指示対応処理と、
を実行させ、
さらに前記第２プログラムは、前記コンピュータに、
前記第２のプロトコルによって前記画像処理装置に前記第１実行指示に応じた第２実行指示を送信する送信処理を実行させる、
ことを特徴とするプログラムセット。
【請求項２】
請求項１に記載するプログラムセットにおいて、
前記第２プログラムは、前記画像処理装置の複数のモデルに対応しており、
前記装置情報には、前記画像処理装置のモデルを示す情報が含まれる、
ことを特徴とするプログラムセット。
【請求項３】
請求項１または請求項２に記載するプログラムセットにおいて、
前記第２プログラムは、前記コンピュータに、
画像処理装置の登録を受け付ける登録処理を実行させ、
前記第２プログラムの前記記憶処理では、
前記登録処理にて登録を受け付けた前記画像処理装置の前記装置情報を、前記第２プログラムに関する前記プログラム情報と関連付けて、前記メモリに記憶する、
ことを特徴とするプログラムセット。
【請求項４】
請求項３に記載するプログラムセットにおいて、
前記第２プログラムは、前記コンピュータに、
画像処理装置の登録削除を受け付ける登録削除処理と、
前記登録削除処理にて登録削除を受け付けた前記画像処理装置の前記装置情報を、関連付けられた前記プログラム情報とともに、前記メモリから削除する削除処理と、
を実行させる、
ことを特徴とするプログラムセット。
【請求項５】
請求項１から請求項４のいずれか１つに記載するプログラムセットにおいて、
前記第１プログラムの前記実行指示対応処理では、
前記メモリに前記第１実行指示にて送信先に指定された前記画像処理装置に対応する前記装置情報が記憶されていなければ、前記第２プログラムを起動せず、前記オペレーティングシステムにエラーを応答する、
ことを特徴とするプログラムセット。
【請求項６】
請求項１から請求項５のいずれか１つに記載するプログラムセットにおいて、
前記第１プログラムの前記実行指示対応処理では、
前記第２プログラムを起動した後、前記第２プログラムから送信先となる画像処理装置の状態を示す状態情報を取得し、前記状態情報にて示される状態が画像処理を実行できる状態でなければ、前記オペレーティングシステムにエラーを応答する、
ことを特徴とするプログラムセット。
【請求項７】
請求項１から請求項６のいずれか１つに記載するプログラムセットにおいて、
前記画像処理装置は、プリンタであり、
前記第１実行指示は印刷データを含み、
前記第１プログラムの前記実行指示対応処理では、
前記印刷データを前記第２のプロトコルに対応する印刷データに変換し、
前記第２プログラムの前記送信処理では、
前記変換後の印刷データを含む前記第２実行指示を前記第２のプロトコルによって前記画像処理装置に送信する
ことを特徴とするプログラムセット。
【請求項８】
請求項１から請求項６のいずれか１つに記載するプログラムセットにおいて、
前記画像処理装置は、プリンタであり、
前記第１実行指示は印刷データを含み、
前記第２プログラムの前記送信処理では、
前記印刷データを前記第２のプロトコルに対応する印刷データに変換し、変換後の印刷データを含む前記第２実行指示を前記画像処理装置に送信する、
ことを特徴とするプログラムセット。
【請求項９】
請求項１から請求項８のいずれか１つに記載するプログラムセットにおいて、
前記第１プログラムは、前記オペレーティングシステムに組み込まれている、
ことを特徴とするプログラムセット。
【請求項１０】
情報処理装置のコンピュータによって実行可能であり、第１のプロトコルに対応しており、前記情報処理装置のオペレーティングシステムに組み込み可能なプログラムである第１プログラムであって、前記情報処理装置のメモリには、画像処理装置に関する特定情報を含む装置情報が、第２プログラムに関するプログラム情報と関連付けて記憶されており、前記第２プログラムは、第２のプロトコルに対応しており、
前記コンピュータに、
前記オペレーティングシステムからの探索要求に応じて、前記メモリから前記装置情報を読み出し、読み出した前記装置情報を前記オペレーティングシステムに応答する探索要求応答処理と、
前記オペレーティングシステムからの前記第１のプロトコルによる第１実行指示に応じて、前記メモリから前記第１実行指示にて送信先に指定された前記画像処理装置に対応する前記装置情報に関連付けられた前記プログラム情報を読み出し、読み出した前記プログラム情報に基づいて前記第２プログラムを起動する実行指示対応処理と、を実行させ、前記第２プログラムによって、前記第１実行指示に応じた第２実行指示が第２のプロトコルによって前記画像処理装置に送信される、
ことを特徴とするプログラム。
【請求項１１】
メモリと、
コンピュータと、
を備え、第１のプロトコルに対応する第１プログラムと、第２のプロトコルに対応する第２プログラムとを含むプログラムセットを有する情報処理装置であって、
前記第２プログラムによって、前記コンピュータは、
画像処理装置に関する特定情報を取得する取得処理と、
前記取得処理にて取得した前記特定情報を含む装置情報を、前記第２プログラムに関するプログラム情報と関連付けて、前記メモリに記憶する記憶処理と、
を実行し、
前記第１プログラムによって、前記コンピュータは、
前記情報処理装置のオペレーティングシステムからの探索要求に応じて、前記メモリから前記装置情報を読み出し、読み出した前記装置情報を前記オペレーティングシステムに応答する探索要求応答処理と、
前記オペレーティングシステムからの前記第１のプロトコルによる第１実行指示に応じて、前記メモリから前記第１実行指示にて送信先に指定された前記画像処理装置に対応する前記装置情報に関連付けられた前記プログラム情報を読み出し、読み出した前記プログラム情報に基づいて前記第２プログラムを起動する実行指示対応処理と、
を実行し、
さらに前記第２プログラムによって、前記コンピュータは、
前記第２のプロトコルによって前記画像処理装置に前記第１実行指示に応じた第２実行指示を送信する送信処理を実行する、
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示される技術分野は、画像処理装置を制御する情報処理装置に組み込まれるプログラムセットに関する。
【背景技術】
【０００２】
従来、特定プロトコルに対応していないデバイスに対して特定プロトコルによる指示を行うための技術が知られている。例えば、特許文献１には、特定プロトコルに対応する対応デバイスと、特定プロトコルに対応していない非対応デバイスとを有し、端末装置からの非対応デバイスに対する指示を対応デバイスが受け付け、その指示を対応デバイスから非対応デバイスに転送する構成が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１８５０４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、デバイスドライバをインストールすることなく、デバイスに画像処理を実行させる技術が知られている。例えば、オペレーティングシステムの印刷機能を用いて印刷を行うドライバレス印刷技術が普及している。しかしながら、低価格機など、ドライバレス印刷技術に対応していないプリンタも広く普及しており、これらの非対応のプリンタでの印刷が課題になる。特許文献１に示した技術では、端末装置からの指示が対応デバイスを介して非対応デバイスに転送されるが、非対応デバイスでの処理を実現する新たな技術が望まれる。
【０００５】
本明細書は、特定プロトコルに対応する情報処理装置から特定プロトコルに対応しない画像処理装置を利用する場合の、画像処理装置の利用可能性を高める技術を開示する。
【課題を解決するための手段】
【０００６】
この課題の解決を目的としてなされた画像形成装置は、情報処理装置のコンピュータによって実行可能なプログラムセットであって、前記プログラムセットには、第１のプロトコルに対応する第１プログラムと、第２のプロトコルに対応する第２プログラムとが含まれ、前記第２プログラムは、前記コンピュータに、画像処理装置に関する特定情報を取得する取得処理と、前記取得処理にて取得した前記特定情報を含む装置情報を、前記第２プログラムに関するプログラム情報と関連付けて、前記情報処理装置のメモリに記憶する記憶処理と、を実行させ、前記第１プログラムは、前記コンピュータに、前記情報処理装置のオペレーティングシステムからの探索要求に応じて、前記メモリから前記装置情報を読み出し、読み出した前記装置情報を前記オペレーティングシステムに応答する探索要求応答処理と、前記オペレーティングシステムからの前記第１のプロトコルによる第１実行指示に応じて、前記メモリから前記第１実行指示にて送信先に指定された前記画像処理装置に対応する前記装置情報に関連付けられた前記プログラム情報を読み出し、読み出した前記プログラム情報に基づいて前記第２プログラムを起動する実行指示対応処理と、を実行させ、さらに前記第２プログラムは、前記コンピュータに、前記第２のプロトコルによって前記画像処理装置に前記第１実行指示に応じた第２実行指示を送信する送信処理を実行させる、ことを特徴としている。
【０００７】
本明細書に開示される画像形成装置は、第１プログラムは、オペレーティングシステムからの探索要求に応じて画像処理装置の装置情報を応答する。これにより、第１プログラムがオペレーティングシステムにおいて画像処理装置として特定される。その後、第１プログラムは、オペレーティングシステムからの第１のプロトコルによる第１実行指示に応じて第２プログラムを起動し、第２プログラムは、第１実行指示に応じた第２実行指示を画像処理装置で対応可能な第２のプロトコルによって画像処理装置に送信する。従って、第１のプロトコルに対応していない画像処理装置であっても、第１実行指示に応じた第２実行指示が情報処理装置から送信されることから、画像処理装置においてその実行指示に基づく画像処理が可能になる。
【０００８】
上記プログラムを実行可能な情報処理装置、プログラムの機能を実現するための制御方法、および当該コンピュータプログラムを格納するコンピュータにて読取可能な記憶媒体も、新規で有用である。
【発明の効果】
【０００９】
本発明によれば、特定プロトコルに対応する情報処理装置から特定プロトコルに対応しない画像処理装置を利用する場合の、画像処理装置の利用可能性を高める技術が実現される。
【図面の簡単な説明】
【００１０】
【図１】実施の形態にかかる印刷システムの電気的構成を示すブロック図である。
【図２】データの流れの例を示す説明図である。
【図３】プリンタ追加の手順を示すシーケンス図である。
【図４】プリンタ情報の例を示す説明図である。
【図５】印刷の手順を示すシーケンス図である。
【発明を実施するための形態】
【００１１】
以下、プログラムセットを実現する実施の形態について、添付図面を参照しつつ詳細に説明する。本明細書は、プログラムセットを備え、画像処理装置を制御する機能を有するパーソナルコンピュータ（以下、「ＰＣ」とする）を具体化した実施の形態を開示するものである。
【００１２】
本形態のＰＣ１は、各種のプログラムの実行が可能な装置であり、例えば、図１に示すように、プリンタ２およびプリンタ３と接続されている。ＰＣ１は、情報処理装置の一例である。プリンタ２およびプリンタ３は、画像処理機能を備える装置であり、画像処理装置の一例である。ＰＣ１に代えて、例えば、スマートフォン、タブレットコンピュータであっても良い。プリンタ２およびプリンタ３は、印刷機能のみを備える単機能の装置であっても良いし、複合機、複写機、ＦＡＸ装置等であっても良い。
【００１３】
ＰＣ１は、図１に示すように、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、不揮発性メモリ１４と、を含むコントローラ１０を備えている。ＰＣ１は、さらに、ユーザインタフェース（以下、「ユーザＩＦ」とする）１５と、ブルートゥースインタフェース（以下、「ブルートゥースＩＦ」とする）１６と、ＵＳＢインタフェースまたはネットワークインタフェース（以下、「ＵＳＢ／ネットワークＩＦ」とする）１７と、を備え、これらがコントローラ１０に電気的に接続されている。なお、図１中のコントローラ１０は、ＰＣ１の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にＰＣ１に存在する単一のハードウェアを表すとは限らない。
【００１４】
ＣＰＵ１１は、ＲＯＭ１２や不揮発性メモリ１４から読み出したプログラムに従って、また、ユーザの指示に基づいて、各種の処理を実行する。ＣＰＵ１１はコンピュータの一例である。ＲＯＭ１２には、ＰＣ１を起動するための起動プログラム等が記憶されている。ＲＡＭ１３は、各種の処理が実行される際の作業領域として、あるいは、データを一時的に記憶する記憶領域として利用される。不揮発性メモリ１４は、例えば、ＳＳＤ、ＨＤＤ、フラッシュメモリであり、各種のプログラムやデータや各種設定を記憶する領域として利用される。ＲＯＭ１２、ＲＡＭ１３および不揮発性メモリ１４は、いずれも、メモリの一例である。また、ＣＰＵ１１がＣＰＵバッファを備えているものであれば、ＣＰＵバッファもメモリの一例である。
【００１５】
不揮発性メモリ１４には、汎用印刷プログラム４１と中継プログラム４２とを含むオペレーティングシステム（以下、「ＯＳ」とする）４０と、印刷用アプリケーションプログラム（以下、「印刷アプリ」とする）４３を含む各種のアプリケーションプログラム（以下、「アプリ」とする）と、プリンタ情報４４と、が記憶されている。ＯＳ４０は、例えば、マイクロソフトウィンドウズ（登録商標）、ＭａｃＯＳ（登録商標）、Ｌｉｎｕｘ（登録商標）である。汎用印刷プログラム４１や中継プログラム４２は、ＯＳ４０に組み込まれており、ＯＳ４０の一部として動作する。印刷アプリ４３は、ＯＳ４０には含まれない。中継プログラム４２は、第１プログラムの一例であり、印刷アプリ４３は、第２プログラムの一例であり、中継プログラム４２と印刷アプリ４３とのセット１００は、プログラムセットの一例である。各プログラムの動作については後述する。
【００１６】
ユーザＩＦ１５は、ユーザによる入力を受け付けるとともに情報の表示を行うハードウェアを含む。ユーザＩＦ１５は、例えば、タッチパネルでも良いし、キーボードやマウスとディスプレイとの組合せでもよい。
【００１７】
ブルートゥースＩＦ１６は、近距離無線通信規格の１つであるブルートゥースによって、プリンタ２等の外部機器との通信を行うためのハードウェアを含む。ＰＣ１は、ブルートゥースＩＦ１６を介したプリンタ用プロトコル（以下、「ＢＴプロトコル」とする）を用いて、プリンタ２との通信を行う。
【００１８】
ＵＳＢ／ネットワークＩＦ１７は、ＵＳＢ規格または各種ネットワークの規格に従って、プリンタ３等の外部機器との通信を行うためのハードウェアを含む。ＰＣ１は、ＵＳＢ／ネットワークＩＦ１７を介したＴＣＰ／ＩＰによるＩＰＰ（Internet  Printing  Protocolの略）を用いて、プリンタ３との通信を行う。このように、本形態のＰＣ１は、通信方式の異なる複数の通信インタフェースを有し、各インタフェースを介して、複数の通信プロトコルに対応可能である。ＩＰＰは、第１のプロトコルの一例であり、ＢＴプロトコルは、第２のプロトコルの一例である。
【００１９】
本形態のプリンタ２は、ブルートゥースインタフェースを備え、ＢＴプロトコルによる通信が可能な装置である。本形態のプリンタ２は、ＩＰＰに対応していない。そのため、ＰＣ１がプリンタ２にＩＰＰにてデータを送信したとしても、プリンタ２は、正しく受信することができない。一方、本形態のプリンタ３は、ＵＳＢインタフェースやネットワークインタフェースを備え、ＩＰＰによる通信が可能な装置である。プリンタ３は、ＰＣ１からＩＰＰにて送信されるデータを正しく受信できる。
【００２０】
本形態のＰＣ１のＯＳ４０に含まれる汎用印刷プログラム４１は、印刷に関する各種の処理を実行する汎用のプログラムであり、複数のベンダから提供される複数種のプリンタに対応するプログラムである。汎用印刷プログラム４１は、例えば、AirPrint（登録商標）、Mopria（登録商標）である。汎用印刷プログラム４１は、印刷に関する各種の指示を受け付け、指定された装置に印刷データを含む印刷命令を送信することで、当該装置に印刷を実行させる。ユーザは、汎用印刷プログラム４１を用いることで、各種のプリンタに同様の手順で印刷を実行させることができる。汎用印刷プログラム４１は、受け付けたユーザの指示に基づいてプリンタ２に印刷命令を送信する場合、ＩＰＰによる印刷命令を出力する。
【００２１】
次に、各プログラムの構成の概要を図２に示す。ＯＳ４０は、汎用印刷プログラム４１と中継プログラム４２とを含む。図２中に実線で示すように、汎用印刷プログラム４１は、ＰＣ１に、印刷を行わせる装置を探索する探索要求を出力させ、探索要求に応答した装置に対して能力等を問い合わせる問い合わせ信号を出力させる。この問い合わせ信号は、ＩＰＰによって出力される。
【００２２】
本形態の中継プログラム４２と印刷アプリ４３とのセット１００は、汎用印刷プログラム４１からＩＰＰによる信号が出力された場合に、プリンタ２に代わって応答したり、その信号に基づく情報をＢＴプロトコルでプリンタ２に送信したりするプログラムである。つまり、本形態のＰＣ１は、中継プログラム４２と印刷アプリ４３とのセット１００によって、ＯＳ４０の汎用印刷プログラム４１とプリンタ２との通信を中継する。
【００２３】
中継プログラム４２は、汎用印刷プログラム４１から問い合わせ信号が出力された場合、プリンタ情報４４から読み出した情報に基づいて、プリンタ２の情報を汎用印刷プログラム４１に応答する。なお、プリンタ情報４４には、印刷アプリ４３によって、プリンタ２から取得されたプリンタ２の情報が予め書き込まれている。つまり、図２中に破線で示す情報の取得と書き込みは、汎用印刷プログラム４１による問い合わせよりも先に行われる。
【００２４】
汎用印刷プログラム４１は、問い合わせ信号に対して中継プログラム４２によりプリンタ２の情報の応答を受けると、プリンタ２をＩＰＰに対応したプリンタであると認識して、図２中に一点鎖線で示すように、中継プログラム４２に対して印刷命令を出力する。すなわち、中継プログラム４２は、プリンタ２をＩＰＰに対応したプリンタであるとして応答し、汎用印刷プログラム４１は、プリンタ２をＩＰＰに対応したプリンタと見なして印刷命令を中継プログラム４２に渡す。印刷命令は、ＩＰＰによって出力される。
【００２５】
中継プログラム４２は、汎用印刷プログラム４１からプリンタ２に印刷を行わせる印刷命令がＩＰＰによって出力された場合、ＰＣ１に印刷アプリ４３を起動させる。さらに、中継プログラム４２は、印刷命令を印刷アプリ４３に渡し、印刷アプリ４３が、印刷命令をＢＴプロトコルに変換してブルートゥースＩＦ１６を介してプリンタ２に送信する。プリンタ２は、ＢＴプロトコルに対応していることから、印刷アプリ４３から送信される印刷命令を正しく受信できる。
【００２６】
なお、図２に示すように、汎用印刷プログラム４１からの探索要求は、ＵＳＢ／ネットワークＩＦ１７を介して、プリンタ３等の外部装置へも出力される。プリンタ３は、ＩＰＰに対応していることから、汎用印刷プログラム４１から出力される問い合わせ信号や印刷命令に正しく対応できる。
【００２７】
続いて、各プログラムの動作の手順について、シーケンス図を参照して詳細に説明する。本明細書では、汎用印刷プログラム４１からＩＰＰにて出力される印刷命令に基づいて、ＩＰＰに対応していないプリンタであるプリンタ２に印刷を実行させるための手順を説明する。以下では、汎用印刷プログラム４１にプリンタ２を追加する準備手順と、追加済みのプリンタ２に印刷命令を送信する印刷手順と、を順に説明する。
【００２８】
まず、図３を参照して準備手順について説明する。図３は、プリンタ２の登録および追加の指示を受け付けた際に実行される準備手順を示すシーケンス図である。準備手順は、中継プログラム４２と印刷アプリ４３とがインストールされ、印刷アプリ４３が起動された状態で、ユーザのプリンタ登録指示を受け付けたことで実行される（手順１Ａ）。手順１Ａは、登録処理の一例である。
【００２９】
印刷アプリ４３は、ユーザからプリンタ登録指示を受け付けると、周囲のプリンタからプリンタの特定情報や能力情報を取得する（手順１Ｂ）。プリンタの特定情報は、例えば、プリンタ名、モデル名、アドレス、を含み、プリンタを特定するために用いられる情報である。能力情報は、プリンタ２にて受け付け可能な印刷設定の情報、プリンタ２に取り付けられているオプション装置の情報を含むプリンタ２の情報である。プリンタの特定情報は、特定情報の一例であり、手順１Ｂは、取得処理の一例である。
【００３０】
ユーザは、取得された情報に基づいて、登録したいプリンタを指定する（手順１Ｃ）。ユーザは、プリンタが複数台有る場合でも、ＩＰＰに対応していないプリンタであって、汎用印刷プログラム４１による印刷を実行させたいプリンタについてのみ、登録指示を行えばよい。印刷アプリ４３での登録指示を受け付けたプリンタだけが、本形態の中継プログラム４２による処理の対象となることから、必要なプリンタのみを登録することで中継プログラム４２の処理負荷を軽減できる。
【００３１】
印刷アプリ４３は、手順１Ｂで取得した特定情報と能力情報を不揮発性メモリ１４のプリンタ情報４４に記憶する（手順１Ｄ）。手順１Ｄは、記憶処理の一例である。プリンタ情報４４は、印刷アプリ４３と中継プログラム４２とのいずれからも参照可能な情報である。中継プログラム４２は、手順１Ｄにて記憶された情報をプリンタ情報４４から読み出すことができる。
【００３２】
プリンタ情報４４の例を図４に示す。プリンタ情報４４は、登録指示を受け付けた各プリンタの情報をそれぞれレコード４５として含むデータベースである。プリンタ情報４４には、図４に示すように、プリンタ名４４１、モデル名４４２、能力４４３、アイコン４４４、アプリ名４４５、アドレス名４４６、の各情報が含まれる。プリンタ名４４１は、登録されたプリンタを示す識別情報である。モデル名４４２は、プリンタのモデルの情報である。能力４４３は、プリンタにて受け付け可能な印刷設定を示す情報である。アイコン４４４は、プリンタ選択画面にてプリンタを示すアイコンとして表示される画像を示す情報である。アプリ名４４５は、プリンタが選択された場合に起動させるアプリを示す情報である。アドレス名４４６は、プリンタの所在を示す情報である。レコード４５は、装置情報の一例であり、アプリ名４４５は、プログラム情報の一例である。
【００３３】
印刷アプリ４３は、手順１Ｄにて、プリンタ２の情報を記憶する場合、アプリ名４４５として自身を示す情報を含ませる。印刷アプリ４３が複数のモデルに対応しているものであれば、印刷アプリ４３は、例えば、プリンタのモデル名４４２に基づいて、当該プリンタにて対応可能なプロトコルの情報を取得できる。なお、印刷アプリ４３は、プリンタのモデルごとに用意されてもよい。例えば、ＩＰＰに対応していない複数のモデルのプリンタが接続されている場合、ＰＣ１は複数種の印刷アプリ４３を備えてもよい。
【００３４】
印刷アプリ４３にてプリンタ２の登録指示を受け付けた後、ＯＳ４０の汎用印刷プログラム４１は、選択可能なプリンタ情報を追加する追加指示を受け付ける（手順１Ｅ）。汎用印刷プログラム４１は、追加指示を受け付けると、ＰＣ１に接続されているプリンタであってＩＰＰに対応しているプリンタを探索するための探索要求を出力する（手順１Ｆ）。探索要求は、例えば、Bonjour（登録商標）によるマルチキャストにて行われる。
【００３５】
中継プログラム４２は、汎用印刷プログラム４１から探索要求が出力されたことを受けて、プリンタ情報４４を読み出す（手順１Ｇ）。中継プログラム４２は、プリンタ情報４４が記憶されていれば、モデル名などの情報を示す応答信号を汎用印刷プログラム４１に渡す（手順１Ｈ）。なお、プリンタ情報４４に複数台のプリンタ情報が登録されていたら、中継プログラム４２は、登録されている全てのプリンタについて、モデル名などを応答する。汎用印刷プログラム４１は、応答信号を出力した各機器に対して、プリンタの能力等を問い合わせる問い合わせ信号を出力する（手順１Ｉ）。
【００３６】
中継プログラム４２は、汎用印刷プログラム４１から出力される問い合わせ信号を受けて、プリンタ情報４４に含まれるプリンタ２の情報を読み出す（手順１Ｊ）。そして、中継プログラム４２は、読み出した情報に基づいて、汎用印刷プログラム４１から出力された問い合わせ信号にプリンタ２の情報をＩＰＰにて応答する（手順１Ｋ）。手順１Ｋは、探索要求応答処理の一例である。手順１Ｋにて中継プログラム４２は、プリンタ２の能力情報と、印刷命令を受け取る口としての自身の情報と、ＩＰＰに対応していることを示す情報と、を含む情報を汎用印刷プログラム４１に渡す。
【００３７】
これにより、汎用印刷プログラム４１は、中継プログラム４２から受け取ったプリンタ２の情報を、印刷を実行させることのできる装置の情報として追加する。汎用印刷プログラム４１に追加された装置の情報は、プリンタ情報４４から読み出されたプリンタ２の情報に基づく情報であり、汎用印刷プログラム４１でのプリンタ選択画面では、選択肢としてプリンタ２が表示される。従って、ユーザは、汎用印刷プログラム４１での印刷を行わせる装置として、プリンタ２を選択できる。
【００３８】
なお、印刷アプリ４３は、登録済みのプリンタを削除する登録削除の指示も受け付け可能である。印刷アプリ４３は、登録済みのプリンタを削除する削除指示を受け付けた場合（手順１Ｌ）、削除指示の対象であるプリンタの情報をプリンタ情報４４から削除する（手順１Ｍ）。手順１Ｌは、登録削除処理の一例であり、手順１Ｍは、削除処理の一例である。なお、印刷アプリ４３は、削除指示を受け付けた場合、受け付けた削除指示の情報を中継プログラム４２に渡し、中継プログラム４２がプリンタ情報４４から該当する情報を削除しても良い。プリンタの登録削除を可能にすることで、使わなくなった装置に対する無駄な処理を回避できる。
【００３９】
次に、図５を参照して印刷手順について説明する。図５は、準備手順が終了した状態で、ユーザによる印刷指示を受け付けた際に実行される印刷手順を示すシーケンス図である。印刷手順では、汎用印刷プログラム４１は、プリンタ２を選択する選択指示を受け付ける（手順２Ａ）。汎用印刷プログラム４１は、例えば、印刷を実行させる装置の選択肢としてプリンタの一覧を表示させ、そのうちの１台の選択を受け付ける。前述したように、中継プログラム４２によってプリンタ２の情報が汎用印刷プログラム４１に追加されていることから、ユーザは、プリンタ２を選択することができる。
【００４０】
さらに、汎用印刷プログラム４１は、印刷対象の画像の選択や印刷設定の指定等と、印刷実行の指示である印刷指示とを受け付ける（手順２Ｂ）。汎用印刷プログラム４１は、受け付けた印刷指示に基づいてプリンタ２に対する印刷命令を生成し、生成した印刷命令をＩＰＰにて出力する（手順２Ｃ）。手順２Ｃにて出力される印刷命令は、第１実行指示の一例である。汎用印刷プログラム４１は、プリンタ２として認識している中継プログラム４２に対して、印刷命令を出力する。
【００４１】
中継プログラム４２は、汎用印刷プログラム４１から出力された印刷命令に基づいて、選択されているプリンタであるプリンタ２の情報を、プリンタ情報４４から読み出す（手順２Ｄ）。そして、プリンタ情報４４に、プリンタ２の情報が有るか否かを判断する（手順２Ｅ）。前述したようにプリンタ２を削除する指示を受け付けた場合、プリンタ２の情報がプリンタ情報４４から削除されている。
【００４２】
プリンタ２の情報が有ると判断した場合、中継プログラム４２は、プリンタ２と関連付けてプリンタ情報４４に記憶されているアプリ名４４５の情報に基づいて、印刷アプリ４３を起動する（手順２Ｆ）。手順２Ｆは、実行指示対応処理の一例である。中継プログラム４２は、印刷アプリ４３の起動時に、選択されているプリンタがプリンタ２であることを示す情報も印刷アプリ４３に渡す。
【００４３】
印刷アプリ４３は、中継プログラム４２から、選択されているプリンタの情報を受け取り、選択されているプリンタであるプリンタ２と通信を行ってプリンタ２の状態を示す情報を取得する（手順２Ｇ）。さらに、印刷アプリ４３は、取得した情報に基づいて、プリンタ２の状態を示す状態情報を中継プログラム４２に渡す（手順２Ｈ）。なお、印刷アプリ４３は、中継プログラム４２からの起動に伴ってプリンタ２と通信する代わりに、予めプリンタ２から取得しておいた状態情報を中継プログラム４２に渡しても良い。印刷アプリ４３は、例えば、定期的にプリンタ２と通信して、状態情報を取得しても良い。
【００４４】
中継プログラム４２は、印刷アプリ４３から受け取った状態情報によって示されるプリンタ２の状態が、印刷可能な状態であるか否かを判断する（手順２Ｉ）。印刷可能な状態であると判断した場合、中継プログラム４２は、汎用印刷プログラム４１から出力された印刷命令を、印刷アプリ４３にて処理可能な形式の印刷命令に変換する（手順２Ｊ）。中継プログラム４２は、例えば、ＩＰＰによる印刷データをＰＤＦデータに変換する。また、例えば、印刷命令に、印刷アプリ４３で対応していない形式の印刷データやコマンド、パラメータ等が含まれていた場合、中継プログラム４２は、印刷アプリ４３にて対応可能な形式のデータに変換することで、ユーザ所望の印刷が実行される可能性が高まる。
【００４５】
中継プログラム４２は、変換後の印刷データを含む、印刷命令の情報を印刷アプリ４３に渡す（手順２Ｋ）。手順２Ｋにて渡される情報には、プリンタ２のモデルを示す情報やプリンタ２の能力情報も含まれていてもよい。なお、印刷データの変換が不要であれば、手順２Ｊをスキップして手順２Ｋに進む。
【００４６】
印刷アプリ４３は、受け取った印刷命令の情報に基づいて、プリンタ２に適した印刷命令を生成し、ＢＴプロトコルにてプリンタ２に送信する（手順２Ｌ）。手順２Ｌは、送信処理の一例であり、手順２Ｌにてプリンタ２に送信される印刷命令は、第２実行指示の一例である。手順２Ｌでは、印刷アプリ４３は、プリンタ２の特定情報や能力情報に基づいて、プリンタ２に適した印刷命令を生成する。印刷アプリ４３は、例えば、ＰＤＦデータをラスタライズして、ラスタライズデータをプリンタ２に送信する。
【００４７】
なお、印刷データの変換（手順２Ｊ）は、中継プログラム４２に代えて印刷アプリ４３が行っても良い。例えば、中継プログラム４２は、汎用印刷プログラム４１から受け取った印刷データを変換せずに印刷アプリ４３に渡し、印刷アプリ４３が印刷データの変換とラスタライズとを行っても良い。また、中継プログラム４２にてラスタライズまでを行い、中継プログラム４２がプリンタ２に直接、ラスタライズデータを送信してもよい。
【００４８】
プリンタ２は、印刷アプリ４３から受信した印刷命令に基づく印刷を実行する（手順２Ｍ）。これにより、ＩＰＰに対応していないプリンタ２であっても、汎用印刷プログラム４１から出力される印刷命令に基づく印刷を実行可能である。
【００４９】
一方、手順２Ｉにて印刷可能な状態ではないと判断した場合、中継プログラム４２は、印刷命令を印刷アプリ４３に渡すことなく、エラー情報を汎用印刷プログラム４１に返す（手順２Ｎ）。汎用印刷プログラム４１は、受け取ったエラー情報に基づいて、ユーザＩＦ１５に、エラーを報知する表示を行わせる（手順２Ｏ）。印刷アプリ４３に印刷命令を渡す前に送信先のプリンタ２の状態を確認し、画像処理ができる状態であることを条件として印刷アプリ４３に印刷命令を渡すので、処理の無駄を省くことができる。
【００５０】
また、手順２Ｅにて選択されたプリンタ２の情報がプリンタ情報４４に含まれていないと判断した場合、中継プログラム４２は、エラー情報を汎用印刷プログラム４１に返す（手順２Ｐ）。例えば、前述したようにプリンタ２を削除する削除指示を受け付けた場合、プリンタ情報４４からプリンタ２の情報は削除されている。プリンタ２の登録状態を確認することで、使わなくなった装置に対する無駄な処理を回避できる。さらに、中継プログラム４２は、手順２Ｃにて受け取った印刷命令を削除する（手順２Ｑ）。
【００５１】
汎用印刷プログラム４１は、受け取ったエラー情報に基づいて、ユーザＩＦ１５に、エラーを報知する表示を行わせ（手順２Ｒ）、プリンタ２の情報を削除する（手順２Ｓ）。これにより、以後は、汎用印刷プログラム４１でのプリンタ選択画面での選択肢としてプリンタ２は表示されない。なお、汎用印刷プログラム４１は、今回の印刷指示を実行する装置としてプリンタの再選択を受け付けても良い。
【００５２】
以上詳細に説明したように、本形態の中継プログラム４２は、ＯＳ４０からの探索要求を受信し、プリンタ２の装置情報を応答する。これにより、中継プログラム４２がＯＳ４０においてプリンタ２として特定される。その後、ＯＳ４０からのＩＰＰによる印刷命令を中継プログラム４２が受信した場合に、中継プログラム４２が印刷アプリ４３を起動し、印刷アプリ４３が、ＢＴプロトコルにて印刷命令をプリンタ２に送信する。これにより、ＩＰＰに対応していないプリンタ２であっても、その印刷命令に基づく印刷が可能になる。
【００５３】
なお、本実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本発明は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、ＯＳ４０から出力される実行指示は、印刷指示に限らず、読取指示であっても良い。その場合、ＰＣ１には、プリンタ２に代えて、画像読取機能を有する装置、例えば、スキャナ、複合機、複写機、ＦＡＸ装置が接続される。
【００５４】
また、本形態では、中継プログラム４２は、ＯＳ４０に組み込まれるとしたが、組み込まれずにＯＳ４０とは別のプログラムとして提供されても良い。その際、中継プログラム４２と印刷アプリ４３とは、別々のプログラムであっても良いし、１つのプログラムであっても良い。また、プリンタ２は、汎用印刷プログラム４１が用いるプロトコル以外のプロトコルにてＰＣ１と通信できれば良く、ＰＣ１とプリンタ２との通信プロトコルは、ＢＴプロトコルに限らない。例えば、ＩＰＰ以外のプロトコルによるＵＳＢ通信であっても良い。
【００５５】
また、例えば、本形態では、印刷アプリ４３は、印刷命令に基づいて起動された場合、プリンタ２の状態情報を取得して中継プログラム４２に渡すとしたが、これに限らない。例えば、印刷アプリ４３は、プリンタ２の状態に関わらず印刷命令を送信するとしてもよい。また、印刷アプリ４３は、印刷命令を送信する直前にプリンタ２の状態情報を取得するとしても良い。
【００５６】
また、例えば、本形態では、プリンタ２は、汎用印刷プログラム４１から出力される探索要求に応答しないとしたが、応答しても良い。たとえ探索要求に応答しても、プリンタ２は、プリンタの能力を問い合わせる信号には正しく応答できないことから、汎用印刷プログラム４１にプリンタ２が直接追加されることはない。
【００５７】
また、例えば、プリンタ情報４４に記憶される情報は、図４に示した例に限らない。例えば、アイコン４４４は、無くてもよい。また、プリンタのノード名や接続ポートの情報、対応可能なプロトコルの情報などをさらに含んでも良い。
【００５８】
また、例えば、印刷アプリ４３は、プリンタ２に固有の印刷パラメータの設定を受け付けても良い。例えば、印刷アプリ４３は、ユーザＩＦ１５を介して予めプリンタ２の印刷設定を受け付け、不揮発性メモリ１４に記憶しておいても良い。また、例えば、印刷アプリ４３は、印刷命令を受け付けた場合に、ユーザＩＦ１５を介して印刷設定の追加や変更を受け付けても良い。印刷アプリ４３は、受け付けた設定を印刷命令に加えてプリンタ２に送信する。
【００５９】
また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
【００６０】
また、実施の形態に開示されている処理は、単一のＣＰＵ、複数のＣＰＵ、ＡＳＩＣなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【００６１】
１  ＰＣ
２  プリンタ
１１  ＣＰＵ
１４  不揮発性メモリ
４０  ＯＳ
４２  中継プログラム
４３  印刷アプリ
１００  セット
【図１】
2020154944.tif 000003
【図２】
2020154944.tif 000004
【図３】
2020154944.tif 000005
【図４】
2020154944.tif 000006
【図５】
2020154944.tif 000007