JP2016033770A - 印刷システム、情報処理装置およびその制御方法、プログラム - Google Patents
印刷システム、情報処理装置およびその制御方法、プログラム Download PDFInfo
- Publication number
- JP2016033770A JP2016033770A JP2014156805A JP2014156805A JP2016033770A JP 2016033770 A JP2016033770 A JP 2016033770A JP 2014156805 A JP2014156805 A JP 2014156805A JP 2014156805 A JP2014156805 A JP 2014156805A JP 2016033770 A JP2016033770 A JP 2016033770A
- Authority
- JP
- Japan
- Prior art keywords
- printer
- plug
- vendor
- searched
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
【課題】複数のプラグインモジュールを用いた印刷システムにおいて、物理的に同一のプリンタが探索された場合に候補として重複することなくユーザに提示すること。
【解決手段】印刷システムは印刷プラグインを用いた情報処理装置を備え、プリンタを印刷時に探索する処理を実行し、印刷可能なプリンタが検出されると、プリンタの候補をリスト表示等でユーザに提示する。印刷システムの制御部は、印刷プラグインにプリンタを探索させる順序を制御し、単一ベンダ対応のプラグインに対して、当該ベンダ製プリンタへの出力を優先的に行う。マルチベンダ対応の印刷プラグインは、単一ベンダ対応の印刷プラグインのいずれにおいても対応できないプリンタに対して出力処理を行う。プリンタ探索の結果、探索済みのプリンタがプリンタリストに登録されていない場合には当該リストへの登録が行われ、登録済みである場合には、当該リストには登録されない。
【選択図】 図6
【解決手段】印刷システムは印刷プラグインを用いた情報処理装置を備え、プリンタを印刷時に探索する処理を実行し、印刷可能なプリンタが検出されると、プリンタの候補をリスト表示等でユーザに提示する。印刷システムの制御部は、印刷プラグインにプリンタを探索させる順序を制御し、単一ベンダ対応のプラグインに対して、当該ベンダ製プリンタへの出力を優先的に行う。マルチベンダ対応の印刷プラグインは、単一ベンダ対応の印刷プラグインのいずれにおいても対応できないプリンタに対して出力処理を行う。プリンタ探索の結果、探索済みのプリンタがプリンタリストに登録されていない場合には当該リストへの登録が行われ、登録済みである場合には、当該リストには登録されない。
【選択図】 図6
Description
本発明は、印刷用プラグインモジュールを使用したプリンタの探索および印刷処理に関するものである。
近年、Android(登録商標)に代表されるスマートフォン等の携帯端末装置では、そのオペレーティングシステム(OS)で印刷機能を標準的にサポートするようになってきている。携帯端末装置ではプリンタドライバの代わりに、印刷プラグインというソフトウェアを用いる。一方、パーソナルコンピュータでは印刷機能を司るプリンタドライバというソフトウェアがある。また、Windows(登録商標)はスマートフォン等の携帯端末装置にも採用され、その裾野を広げつつある。
ユーザの印刷環境は多様化しており、個人の自宅は勿論のこと、ホテル、空港のラウンジ、コーヒーショップ、コンビニエンスストア等、様々な場所で印刷が可能である。多種多様なプリンタベンダ製のプリンタが設置されており、様々な場所でユーザが印刷を試みるとなると、多種多様なプリンタベンダに対応したプリンタドライバや印刷プラグインが必要となる。Windows(登録商標)等の環境においては、その結果、多種多様のプリンタドライバがインストールされることになるため、印刷時にユーザがプリンタドライバを選択する作業が非常に煩わしくなるという問題があった。
この問題に対処すべく特許文献1には、汎用プリンタドライバを用いて1つの物理的なプリンタに対して、複数のドライバや印刷キュー(ポート)が生じてしまうのを未然に防ぐことで選択を容易にする技術が開示されている。
この問題に対処すべく特許文献1には、汎用プリンタドライバを用いて1つの物理的なプリンタに対して、複数のドライバや印刷キュー(ポート)が生じてしまうのを未然に防ぐことで選択を容易にする技術が開示されている。
スマートフォン等の携帯端末装置を使用するモバイル環境の場合、印刷プラグインを用いた印刷システムにおいては、プリンタを印刷時に探索して、その都度、印刷可能なプリンタを選択して印刷を指示することが行われる。従って、複数の印刷プラグインが装置に実装されている場合には、物理的に同一のプリンタが複数の印刷プラグインの各々に検出されて印刷候補としてリストアップされてしまう。その結果、ユーザは、どの印刷プラグインを使って印刷すべきかの選択に迷う可能性がある。近年のAndroid(登録商標)においては、複数の印刷プラグインが予め実装されて出荷されるという事例も発生しており、この問題は無視できない状況になってきている。
本発明の目的は、複数のプラグインモジュールを用いた印刷システムにおいて、物理的に同一のプリンタが探索された場合に候補として重複することなくユーザに提示することである。
本発明に係るシステムは、複数のプラグインモジュールによりプリンタの探索処理を行い、探索されたプリンタから操作により選択されるプリンタを使用して印刷処理を行う印刷システムであって、前記複数のプラグインモジュールに対してプリンタの探索処理の順序を制御するとともに、前記プラグインモジュールにより探索されたプリンタの情報を当該プラグインモジュールと関連付けて登録し、探索済みのプリンタを重複せずに候補として提示する制御を行う制御手段を備える。
本発明によれば、複数のプラグインモジュールを用いた印刷システムにおいて、物理的に同一のプリンタが探索された場合に候補として重複することなくユーザに提示できる。
以下に、本発明の各実施形態について、添付図面を参照して説明する。先ず、本発明に係る印刷システム、情報処理装置(携帯端末装置)、印刷装置等の構成を説明する。以下では、機能拡張用に追加されるプログラムであるプラグインモジュールを、単にプラグインという。印刷用プラグインモジュールを「印刷プラグイン」と呼び、印刷プラグインに係る第1の情報は当該プラグインを提供するベンダを特定する情報を含むものとする。また、印刷プラグインによって探索されるプリンタに係る第2の情報は当該プリンタを提供するベンダを特定する情報および機種名等を示す情報を含むものとする。
図1は、本発明に係る代表的な全体システム構成図の一例を示す。携帯端末装置101は、写真、画像、文章、表等のさまざまな印刷対象となるドキュメントを管理および保管する。携帯端末装置101はアクセスポイント102と無線通信により接続される。更に携帯端末装置101は、アクセスポイント102を介さずに、プリンタ103,104,105と無線通信によって直接的に接続される場合もある。更に携帯端末装置101は、アクセスポイント102を経由してインターネット106への接続が可能であり、また直接的にインターネット106へ接続することも可能である。プリンタ103,104,105はそれぞれ、無線通信または有線通信にてアクセスポイント102と接続され、アクセスポイント102を経由して携帯端末装置101と接続される。以下では、プリンタ103をプリンタA、プリンタ104をプリンタB、プリンタ105をプリンタCともいう。
図2は携帯端末装置101の構成を例示するブロック図である。携帯端末装置101のメインボード201には、CPU(中央演算処理装置)205や、ROM(リード・オンリ・メモリ)およびRAM(ランダム・アクセス・メモリ)206等が搭載されている。CPU205は、ROMおよびRAM206上にロードされたオペレーティングシステム(以下、OSと記す)を動作させて、携帯端末装置101全体の動作を制御する。後述するアプリケーションや印刷プラグイン等もROMおよびRAM206上に格納されてCPU205が解釈して実行する。メインボード201上の無線NW I/F 202は、主にWi−Fi通信の制御を行うインタフェース部であり、電話通信のインタフェース部も包含している。携帯端末装置101は無線NW I/F 202を使ってWi−Fi通信でアクセスポイント102にアクセスすることができる。さらに携帯端末装置101は電話通信のインタフェース部を使ってインターネット106に直接アクセスすることもできる。メインボード201上の近距離無線NW I/F 203は、主にブルートゥース(登録商標)通信の制御を行う。
システムバス204は、メインボード201上の各種処理ブロックの間での情報を相互に交換する。ユーザI/F 207は表示部208と入力部209を制御するインタフェース部であり、ユーザ操作入力処理や画像表示処理に使用される。携帯端末装置101の表示部208は、液晶パネル(LCD)や有機エレクトロルミネッセンス(EL)パネル等の表示デバイスを備える。携帯端末装置101の入力部209は、キーボードや操作ボタン、表示部208の表面に付設されたタッチ式のセンサ等を備える。
図3は携帯端末装置101のROMおよびRAM206上に記憶されているアプリケーション301、OS304、印刷プラグイン308,312,316を例示する。図3のアプリケーション301は大きく分けて、UI(ユーザ・インタフェース)制御部302および基本処理部303で構成される。UI制御部302は、アプリケーション301による表示部208および入力部209の制御を行う。基本処理部303は、アプリケーション301によるデータ処理を行う。例えば基本処理部303は、文章作成アプリケーションの場合、文章作成処理やデータの保存処理、印刷処理等を行う。
図3のOS304は大きく分けて、アプリケーション制御部305、基本処理部306、およびプラグイン制御部307で構成される。アプリケーション制御部305はアプリケーション301とのインタフェース処理を受け持ち、アプリケーション301からの様々な要求を基本処理部306に伝える。基本処理部306は、OS304の基本的な動作を行う処理部であり、メモリ管理、実行プログラムの管理等を行い、携帯端末装置101全般の動作を制御する。プラグイン制御部307は、OS304と各種の印刷プラグイン308,312,316との連携処理を行う。プラグイン制御部307は、基本処理部306の指示を印刷プラグイン308,312,316に伝達し、また印刷プラグイン308,312,316からの情報を基本処理部306に返信する処理を行う。
図3に示す第1の印刷プラグイン308は、大きく分けて、デバイス探索制御部309、基本処理部310、レンダリング処理部311で構成される。デバイス探索制御部309はOS304からのデバイス探索指示にしたがってプリンタの探索処理を実行する。探索結果は順次、OS304に返信される。その詳細な処理については後述する。デバイス探索制御部309は更に、印刷プラグイン308がどのプリンタベンダのプリンタを対象としているのかを示す値を1つまたは複数の形式で保持している。印刷プラグイン308が複数のプリンタベンダのプリンタを対象とする場合、デバイス探索制御部309は、マルチベンダ対応である旨を示す値を保持している。図15にはその一例を示す。データ1501は、単一のプリンタベンダに対応する旨を16進数の値で示した例である。また、データ1502は、複数のプリンタベンダに対応する旨を16進数の値で示した例である。この16進数としては、例えばUSB Implementers Forum Incが管理しているベンダIDの16進数を使ってもよい。図15に示すデータ1503は、単一のプリンタベンダに対応する旨を16進数の値と、文字列という2つの方法で示した例である。またデータ1504は、複数のプリンタベンダに対応する旨を16進数の値と、文字列という2つの方法で示した例である。なお、データ値の保存形式については、数値や文字列の列挙、XML形式、JSON形式等、いかような形式でも保存可能なものとする。XMLは“Extensible Markup Language”の略号であり、JSONは“Java(登録商標)Script Object Notation”の略号である。
基本処理部310は、印刷プラグイン308の基本的な処理を実行する。基本処理部310は利用可能な用紙サイズの情報を保持し、レンダリング処理部311に印刷用データを提供する。レンダリング処理部311はアプリケーション301が保持するデータを、印刷装置が印刷可能な形式のデータに変換する処理を実行する。なお、図3の第2の印刷プラグイン312および第3の印刷プラグイン316についても第1の印刷プラグイン308の場合と同様であるので、それらの詳細な説明は省略する。
図4はプリンタ103の構成例を示すブロック図である。プリンタ104,105も同様の構成を有するので、プリンタ103を例にして説明する。プリンタ103はコントローラボード401を備える。
有線NW I/F 402は、イーサネット(登録商標)に代表される有線通信ネットワークの通信制御を行う。プリンタ103は有線NW I/F 402を使ってインターネット106にアクセスすることができる。プリンタ103はさらに、アクセスポイント102にアクセス可能である。無線NW I/F 403は、Wi−Fi通信の制御を行う。プリンタ103は無線NW I/F 403を使ってインターネット106にアクセスすることができる。有線通信と無線通信のどちらを使ってインターネット106にアクセスするかについては、プリンタ103が備える表示部412および入力部413を用いて設定された内容に従う。近距離無線NW I/F 404は、主にブルートゥース(登録商標)通信の制御を行う。
有線NW I/F 402は、イーサネット(登録商標)に代表される有線通信ネットワークの通信制御を行う。プリンタ103は有線NW I/F 402を使ってインターネット106にアクセスすることができる。プリンタ103はさらに、アクセスポイント102にアクセス可能である。無線NW I/F 403は、Wi−Fi通信の制御を行う。プリンタ103は無線NW I/F 403を使ってインターネット106にアクセスすることができる。有線通信と無線通信のどちらを使ってインターネット106にアクセスするかについては、プリンタ103が備える表示部412および入力部413を用いて設定された内容に従う。近距離無線NW I/F 404は、主にブルートゥース(登録商標)通信の制御を行う。
システムバス405は、コントローラボード401上の各種処理ブロックの間の情報を相互に交換する。CPU406は、ROMおよびRAM407上にある制御プログラムを実行して、プリンタ103全体の動作を制御する。Diskコントローラ408は、ハードディスクやSSDに代表される外部記憶装置411を制御し、他の処理ブロックとの情報の受け渡しを行う。外部記憶装置411は、印刷ジョブ等を一時的に記憶しておく記憶領域を有する。ユーザI/F 409は、表示部412と入力部413を制御する。表示部412は液晶や有機ELを用いた表示デバイスを備え、プリンタ103内の設定情報を表示し、また入稿済みジョブの一覧等を表示する。入力部413はプリンタ103に付設されているキーボードやスイッチ、表示部412の表面に付設したタッチセンサ等を備え、ユーザがプリンタ103に対して操作指示を行う際に用いる。印刷部I/F 410は、印刷部414へ印刷データを引き渡すインタフェース部である。印刷部414は、いわゆるプリンタエンジンであり、電子写真方式やインクジェット方式等の、様々な印刷方式による印刷装置のことである。複数種類の用紙を供給する給紙カセットや、両面印刷装置、白黒・カラー印刷、ステープル、製本機、複数の排紙トレイ等も印刷部414に含まれる。
図5は、ユーザが携帯端末装置101から印刷を試みようとした場合に、印刷可能なプリンタが複数検出され、その結果がプリンタリスト501として表示部208に表示されている様子を例示する。表示領域502には、プリンタA(プリンタ103)が印刷プラグイン1(印刷プラグイン308)により探索され、印刷候補として表示されている。表示領域503には、プリンタB(プリンタ104)が印刷プラグイン1(印刷プラグイン308)により探索され、印刷候補として表示されている。表示領域504には、プリンタB(プリンタ104)が印刷プラグイン2(印刷プラグイン312)により探索され、印刷候補として表示されている。表示領域505には、プリンタB(プリンタ104)が印刷プラグイン3(印刷プラグイン316)により探索され、印刷候補として表示されている。表示領域506には、プリンタC(プリンタ105)が印刷プラグイン2(印刷プラグイン312)により探索され、印刷候補として表示されている。表示領域507はプリンタC(プリンタ105)が印刷プラグイン3(印刷プラグイン316)により探索され、印刷候補として表示されている。
図5に示す例では、物理的に同一のプリンタB(プリンタ104)が3つの印刷プラグイン(印刷プラグイン1から3)によって探索されて、印刷可能なプリンタとしてプリンタリストに表示されている。更に物理的に同一のプリンタC(プリンタ105)が2つの印刷プラグイン(印刷プラグイン2、印刷プラグイン3)によって探索されて、印刷可能なプリンタとしてプリンタリスト501に表示されている。携帯端末装置101から印刷を試みようとしているユーザが、プリンタB(プリンタ104)を選択して印刷しようとした場合を想定する。この場合、選択可能な候補は表示領域503,504,505にそれぞれ示す3つのプリンタが存在することになるが、その差は印刷プラグインの違いとなっている。携帯端末装置101から印刷を試みようとするユーザが、印刷プラグインの違いで何が変わってくるのかについて良く理解できていない場合には、プリンタの選択処理で迷う可能性がある。本発明はこの点を解決すべき課題として、以下の対策を講じる。
図6は、本発明の実施形態において、ユーザが携帯端末装置101から印刷を試みようとした場合に、印刷可能なプリンタが複数検出され、その結果がプリンタリスト601として表示部208に表示されている様子を例示する。図5の例と異なり、ユーザがプリンタの選択に迷わないように、物理的に同一のプリンタに対しては、1つの印刷プラグインが表示される。表示領域602には、プリンタA(プリンタ103)が印刷プラグイン1(印刷プラグイン308)により探索され、印刷候補として表示されている。表示領域603には、プリンタB(プリンタ104)が印刷プラグイン1(印刷プラグイン308)により探索され、印刷候補として表示されている。表示領域604には、プリンタC(プリンタ105)が印刷プラグイン3(印刷プラグイン316)により探索され、印刷候補として表示されている。図6の例において、携帯端末装置101から印刷を試みようとしているユーザが仮に、プリンタB(プリンタ104)を選択して印刷しようとした場合、印刷プラグイン1によって探索されたプリンタは、表示領域603に表示された1つのプリンタしか候補が無い。すなわち、探索されたプリンタの情報は探索した印刷プラグインと関連付けてリストに登録され、探索済みのプリンタの情報を重複せずに候補としてユーザに提示する制御が行われる。よって、ユーザがリスト表示を見てプリンタの選択に迷うことが無くなるので、前記課題が解決される。
[第一実施形態]
本発明の第一実施形態に係る処理の要部を説明する前に、本実施形態におけるデータ処理の全体的な流れについて、具体例を用いて説明する。図16を参照して、本実施形態における全体的なデータの流れを説明する。なお、一例として印刷プラグイン1(印刷プラグイン308)、印刷プラグイン2(印刷プラグイン312)を、プリンタベンダがそれぞれ提供する印刷プラグインとする。印刷プラグイン3(印刷プラグイン316)を、マルチベンダ対応の印刷プラグインとする。更に、印刷プラグイン1とプリンタB(プリンタ104)は同一のベンダにより提供されるものとする。
本発明の第一実施形態に係る処理の要部を説明する前に、本実施形態におけるデータ処理の全体的な流れについて、具体例を用いて説明する。図16を参照して、本実施形態における全体的なデータの流れを説明する。なお、一例として印刷プラグイン1(印刷プラグイン308)、印刷プラグイン2(印刷プラグイン312)を、プリンタベンダがそれぞれ提供する印刷プラグインとする。印刷プラグイン3(印刷プラグイン316)を、マルチベンダ対応の印刷プラグインとする。更に、印刷プラグイン1とプリンタB(プリンタ104)は同一のベンダにより提供されるものとする。
ユーザがアプリケーション301から印刷指示を行うと、OS304に対して印刷指示が送られる(S1601)。印刷指示を受け付けたOS304は最初に、実装済みのベンダ提供の印刷プラグインである、印刷プラグイン1および印刷プラグイン2に対して優先的にプリンタ探索を指示する(S1602)。プリンタ探索の指示を受けた印刷プラグイン1および印刷プラグイン2は各々独自にプリンタ探索を行う(S1603)。プリンタ探索パケットを受信したプリンタBはそれに応答するが、ここでは印刷プラグイン2からのプリンタ探索パケットを先に受信し、当該パケットに対して先に返信する場合を想定する。プリンタBは印刷プラグイン2に対して、プリンタB自身の情報を返信する(S1604)。
印刷プラグイン2は、プリンタBから返信された情報を受け取ると、その情報をOS304に通知して、プリンタリストへの登録要請を行う(S1605)。しかし、この場合、プリンタBは印刷プラグイン2のベンダが提供するプリンタではないので、OS304は、プリンタBの情報をプリンタリストに登録しない。
次に、プリンタBは印刷プラグイン1から受信したプリンタ探索パケットに対して応答する(S1606)。印刷プラグイン1は、プリンタBから返信された情報を受け取ると、その情報をOS304に通知して、プリンタリストへの登録要請を行う(S1607)。プリンタBは印刷プラグイン1のベンダが提供するプリンタである。よって、OS304は、プリンタBの情報をプリンタリストに登録する。
ベンダ提供の印刷プラグインによる処理が終了した後、マルチベンダ対応の印刷プラグインによる処理へ移行する。OS304は、マルチベンダ対応の印刷プラグイン3に対して、プリンタ探索を指示する(S1608)。プリンタ探索の指示を受けた印刷プラグイン3はプリンタ探索を行う(S1609)。プリンタ探索パケットを受信したプリンタBはそれに応答し、印刷プラグイン3に対して、プリンタB自身の情報を返信する(S1610)。
印刷プラグイン3はプリンタBから返信された情報を受け取ると、その情報をOS304に通知して、プリンタリストへの登録要請を行う(S1611)。しかし、プリンタリストには既にプリンタBがリストアップ済みである。つまり、印刷プラグイン1によって取得された情報がリストに記載されているので、OS304は印刷プラグイン3からの情報をプリンタリストに登録しない。したがって、プリンタリスト(候補リスト)にはプリンタBと同じベンダが提供する印刷プラグイン1により探索した結果に基づいて、1つのプリンタBの情報だけがリストアップされることになり、候補の重複登録が回避される。
図7は、本実施形態に係る処理を説明するメインフローチャートである。以下の処理はOS304における処理である。ユーザがアプリケーション301で印刷処理を選択してからOS304に対して印刷指示が行われると、OS304におけるプリンタの探索処理が開始する。なお、探索処理が完了した後では、印刷に使用するプリンタをユーザが選択して、印刷処理を実行するのが通常の流れであるが、候補プリンタのリストが表示された以降の処理は既知として説明を省略する。
図7のS701から処理が開始すると、S702に処理を進め、特定のプリンタベンダが作成して提供している、特定のプリンタベンダ製のプリンタのみを対象としている印刷プラグインが実装されているか否かについて判定される。印刷プラグインが特定のプリンタベンダ製のプリンタのみを対象としているか否かは、図3のデバイス探索制御部309,313,317に保持されている、対象とするプリンタベンダを示す値を用いて判断することができる。ここで、「実装されている」とは、携帯端末装置101のROMおよびRAM206上に印刷プラグインが存在する状態を示している。印刷プラグインは、携帯端末装置101の操作により、適宜に追加や削除が可能である。特定のプリンタベンダ製のプリンタのみを対象としている印刷プラグインが実装されている場合、S704の処理に進み、実装されていない場合にはS703に進む。なお、特定のプリンタベンダが作成して提供している、特定のプリンタベンダ製のプリンタのみを対象としている印刷プラグインが複数実装されている場合には、各々の印刷プラグインに対して、同時に並行してS704の処理が実行されるものとする。
S703では、複数のプリンタベンダ製のプリンタを対象としているマルチベンダ対応の印刷プラグインが実装されているか否かについて判定される。マルチベンダ対応の印刷プラグインについては、例えばMopria(登録商標) Allianceのような標準化団体や、一般の第三者団体から提供されることが予想される。S703にてマルチベンダ対応の印刷プラグインが実装されていると判定された場合、S705の処理に進み、そうでない場合にはS706に進んで探索処理を終了する。なお、マルチベンダ対応の印刷プラグインが複数実装されている場合には、各々並行してS705の処理が実行される。あるいは、例えばマルチベンダ対応の印刷プラグインのリリース日時が新しい順にS705の処理を実行しても構わない。
図7のS704では、特定のプリンタベンダ製のプリンタのみを対象としている印刷プラグインが実装されているので、それに特化した処理を行う。この処理の詳細について、図8を参照して説明する。
図7のS704では、特定のプリンタベンダ製のプリンタのみを対象としている印刷プラグインが実装されているので、それに特化した処理を行う。この処理の詳細について、図8を参照して説明する。
図8は特定のプリンタベンダ製のプリンタのみを対象としている印刷プラグインが実装されている場合に、当該印刷プラグインにプリンタを探索させる処理を示したフローチャートである。以下の処理は印刷プラグイン308,312,316における処理である。
図8のS801から処理が開始すると、S802では、プリンタベンダが提供した印刷プラグインにおいて、プリンタの探索処理が実行される。具体的には、当該印刷プラグインがサポートする一般的なプロトコルまたは特定のプロトコルによる探索パケットを携帯端末装置101から送出する動作が行われる。そして携帯端末装置101は応答パケット待ちの状態となる。S803は、プリンタからの応答パケット待ちの状態で、応答パケットが返信されてきたか否かの判定処理である。携帯端末装置101に対し、プリンタからの返信があればS805に進み、返信が無い場合にはS804に進む。
S804では、一定時間以上に亘って応答パケットが返信されない状態が継続しているか否かが判定される。探索パケットに対する応答の待ち時間や、応答待ちを何回繰り返すのかについては、表示部208や入力部209を用いて設定可能である。応答待ちの繰り返し上限回数に達した場合、S806に進み、探索処理を終了する。また応答待ちの繰り返し上限回数に達していない場合にはS802に戻り、プリンタの探索処理が続行する。
S805では、S803で探索できた機種に関する情報がOS304に提供され、その情報をプリンタリストに表示するための処理をOS304が実行する。この情報(以下、機種情報という)は、機種名、ベンダ名、IPアドレス、探索したプラグイン名称、探索したプラグインベンダ名等の情報である。S805の処理の詳細については、図13(A)のS1301にて後述する。S805の処理を終えると、S802に処理が戻る。
次に、図9を参照して、図7のS705の処理の流れを説明する。S705では、マルチベンダ対応の印刷プラグインが実装されているので、それに特化した処理が行われる。図9は、例えばMopria(登録商標) Allianceのようなマルチベンダ対応の印刷プラグインが実装されている場合に、当該プラグインにプリンタを探索させる処理を示したフローチャートである。この処理は印刷プラグイン(図16:316)における処理である。
図9のS901から処理が開始すると、S902ではマルチベンダ対応の印刷プラグインにおいて、プリンタの探索処理が実行される。具体的には、当該印刷プラグインがサポートする一般的なプロトコルまたは特定のプロトコルによる探索パケットを携帯端末装置101から送出する動作が行われる。そして携帯端末装置101は応答パケット待ちの状態となる。S903では、プリンタからの応答パケット待ちの状態で、応答パケットが返信されてきたか否かについて判定される。携帯端末装置101に対してプリンタからの返信があればS905に進み、返信が無い場合にはS904に進む。S904では、一定時間以上に亘って応答パケットが返信されない状態が継続しているか否かについて判定される。探索パケットに対する応答の待ち時間や、応答待ちを何回繰り返すのかについては、表示部208や入力部209を用いて設定可能である。応答待ちの繰り返し上限回数に達した場合には、S906に進み、探索処理を終了する。応答待ちの繰り返し上限回数に達していない場合はS902に戻り、プリンタの探索処理が続行する。
S905では、探索できたプリンタの機種情報がOS304に提供され、それをプリンタリストに表示するための処理をOS304が実行する。S905の処理の詳細については図13(B)のS1311にて後述する。
次に図13(A)のフローチャートを参照して、図8に示したS805の処理の詳細を説明する。S1301は、印刷プラグイン308,312,316がプリンタを探索して、その機種情報をOS304に提供した後で、OS304にて実行される判断処理を例示する。S1301での判断処理を判断処理Aと記す。この図13(A)に示すS1301、および図13(B)に示すS1311の処理は、本発明の第一実施形態および後述の第二実施形態で共通の処理である。
図13(A)のS1302は、印刷プラグインから提供されたベンダ情報(ベンダ名、探索したプラグインベンダ名等)を用いて、印刷プラグインによって探索されたプリンタが既にリストアップされているか否かの判定処理である。つまり、探索で見つかったプリンタが、OS304によってプリンタリスト601に登録されているか否かが判定される。探索済みのプリンタがリストアップされているかどうかについては、機種名、ベンダ名、IPアドレスおよび個別に定めた値の一致により判断される。探索したプラグイン名称および探索したプラグインベンダ名の如何は問わない。探索済みのプリンタが既にリストアップされている場合にはS1305に進んで処理を終了し、リストアップされていない場合にはS1303に進む。
S1303は、印刷プラグインから提供されたベンダ情報を用いて、探索されたプリンタ機種と、探索した印刷プラグインのベンダの機種とが同一であるか否かの判断処理である。探索されたプリンタ機種と、探索した印刷プラグインのベンダの機種とが同一でない場合、S1305に進んで処理を終了し、同一である場合にはS1304に進む。S1304は、印刷プラグインから提供されたベンダ情報を用いて、探索済みのプリンタを特定する情報をプリンタリスト601に追加する処理である。表示部208の画面にリスト表示される情報は、機種名、ベンダ名、IPアドレス、探索したプラグイン名称等である。また、その他の情報が印刷プラグインから伝達されている場合、それらの情報は表示部208に表示されずにROMおよびRAM206に保持される。そしてS1305に進んで処理を終了する。
以上のように、図8のS805から図13のS1301に進み、処理を実行した結果、
・探索されたプリンタのベンダが提供する印刷プラグインが当該プリンタを探索した場合には、探索されたプリンタがリストアップされ、また、
・探索されたプリンタが既にリストアップ済みである場合には何もしない。
・探索されたプリンタのベンダが提供する印刷プラグインが当該プリンタを探索した場合には、探索されたプリンタがリストアップされ、また、
・探索されたプリンタが既にリストアップ済みである場合には何もしない。
次に図13(B)のフローチャートを参照して、図9に示したS905の処理の詳細を説明する。S1311は、印刷プラグイン308,312,316がプリンタを探索して、その機種情報がOS304に提供された後で、OS304が実行する判断処理を例示する。S1311の判断処理を、判断処理Bと記す。
S1312では、印刷プラグインから提供されたベンダ情報を用いて、印刷プラグインが探索したプリンタが既にOS304によってプリンタリスト601に登録されているか否かについて判定される。探索されたプリンタが登録済みである場合、S1314に進んで処理を終了し、リストに登録されていない場合にはS1313に進む。S1313では、印刷プラグインから提供されたベンダ情報を用いて、探索済みのプリンタを示す情報をプリンタリスト601に追加する処理が実行される。この処理は図13(A)のS1304と同様である。そしてS1314に進み、処理を終了する。
以上のように、図9のS905から図13のS1311に進み、処理が実行されることにより、以下の結果が得られる。
・探索されたプリンタが既にリストアップ済みである場合には何もしないこと。
・探索されたプリンタがリストアップ済みでない場合にはプリンタリストに当該プリンタの情報が追加されること。
図8の処理後に、図9の処理が連続して実行されることにより、以下に示す結果が得られる。
・プリンタベンダ提供の印刷プラグインが実装されている場合には、当該プリンタベンダが提供するプラグインのみにより、プリンタリスト601に探索済みプリンタ(物理的に同一のプリンタ)が1つだけリストアップされること。
・プリンタベンダが提供する印刷プラグインが実装されていない場合には、マルチベンダ対応の印刷プラグインにより、プリンタリスト601に探索済みプリンタ(物理的に同一のプリンタ)が1つだけリストアップされること。
よって、物理的に同一である1台のプリンタは、1つの印刷プラグインでリスト表示される。
・探索されたプリンタが既にリストアップ済みである場合には何もしないこと。
・探索されたプリンタがリストアップ済みでない場合にはプリンタリストに当該プリンタの情報が追加されること。
図8の処理後に、図9の処理が連続して実行されることにより、以下に示す結果が得られる。
・プリンタベンダ提供の印刷プラグインが実装されている場合には、当該プリンタベンダが提供するプラグインのみにより、プリンタリスト601に探索済みプリンタ(物理的に同一のプリンタ)が1つだけリストアップされること。
・プリンタベンダが提供する印刷プラグインが実装されていない場合には、マルチベンダ対応の印刷プラグインにより、プリンタリスト601に探索済みプリンタ(物理的に同一のプリンタ)が1つだけリストアップされること。
よって、物理的に同一である1台のプリンタは、1つの印刷プラグインでリスト表示される。
本実施形態では、物理的に同一のプリンタが複数の印刷プラグインの各々によって検出される結果として、複数の印刷候補(プリンタ)がリストアップされてしまうという問題を解決できる。すなわち、印刷候補を示す1つのプリンタはプリンタリストに1つだけリストアップされる。更には、リストアップされる印刷候補を示す1つのプリンタは、当該プリンタのベンダが提供する印刷プラグインに対応するものとなる(OSに実装されている場合)ので、より好ましい印刷結果を得ることができるという効果を奏する。
[第二実施形態]
次に、本発明の第二実施形態を説明する。本実施形態にて第一実施形態の場合と同様の構成要素については既に使用した符号を用いることにより、それらの詳細な説明を省略する。このような説明の省略の仕方は後述する他の実施形態でも同じである。
本実施形態に係る処理の要部を説明する前に、本実施形態におけるデータ処理の全体的な流れについて、具体例を用いて説明する。図17を参照して、本実施形態における全体的なデータの流れを説明する。なお、印刷プラグイン1(印刷プラグイン308)をプリンタベンダが提供する印刷プラグインとし、印刷プラグイン3(印刷プラグイン316)をマルチベンダ対応の印刷プラグインとする。更に、印刷プラグイン1とプリンタB(プリンタ104)は同一のベンダにより提供されるものとする。
次に、本発明の第二実施形態を説明する。本実施形態にて第一実施形態の場合と同様の構成要素については既に使用した符号を用いることにより、それらの詳細な説明を省略する。このような説明の省略の仕方は後述する他の実施形態でも同じである。
本実施形態に係る処理の要部を説明する前に、本実施形態におけるデータ処理の全体的な流れについて、具体例を用いて説明する。図17を参照して、本実施形態における全体的なデータの流れを説明する。なお、印刷プラグイン1(印刷プラグイン308)をプリンタベンダが提供する印刷プラグインとし、印刷プラグイン3(印刷プラグイン316)をマルチベンダ対応の印刷プラグインとする。更に、印刷プラグイン1とプリンタB(プリンタ104)は同一のベンダにより提供されるものとする。
ユーザがアプリケーション301から印刷指示を行うと、OS304に対して印刷指示が送られる(S1701)。印刷指示を受け付けたOS304は最初に、実装済みのマルチベンダ対応の印刷プラグイン3に対して優先的にプリンタ探索を指示する(S1702)。プリンタ探索の指示を受けた印刷プラグイン3はプリンタ探索を行う(S1703)。プリンタ探索パケットを受信したプリンタBはそれに応答し、プリンタB自身の情報を返信する(S1704)。印刷プラグイン3はプリンタBからの返信情報を受け取ると、その情報をOS304に通知する(S1705)。OS304は受信した情報に基づき、探索済みプリンタのベンダを把握し、当該ベンダが提供する印刷プラグイン1が実装されていることを把握する。OS304は印刷プラグイン1に対し、受信した情報の示すプリンタへの対応の可否を問い合わせる(S1706)。ベンダ提供の印刷プラグイン1は、OS304の問合せに対し、プリンタBに対応している旨を返信する。ベンダ提供の印刷プラグイン1がプリンタBを検出したものと見做して、OS304はプリンタBに関する情報をプリンタリストに登録する(S1707)。
マルチベンダ対応の印刷プラグイン3による処理が終了した後、ベンダ提供の印刷プラグイン1による処理へ移行する。OS304は、ベンダ提供の印刷プラグイン1に対して、プリンタ探索を指示する(S1708)。プリンタ探索の指示を受けた印刷プラグイン1はプリンタ探索を行う(S1709)。プリンタ探索パケットを受信したプリンタBはそれに応答し、印刷プラグイン1に対して、プリンタB自身の情報を返信する(S1710)。印刷プラグイン1はプリンタBからの返信情報を受け取ると、その情報をOS304に通知して、プリンタリストへの登録要請を行う(S1711)。しかし、プリンタリストには既にプリンタBの情報が、印刷プラグイン1による情報としてリストアップされているので今回の情報は登録されない。したがって、プリンタリストにはプリンタBのベンダと同じベンダが提供する印刷プラグイン1により探索したと見做された1つのプリンタBの情報だけがリストアップされることになり、候補の重複登録が回避される。
図10は、本実施形態におけるプリンタ探索処理を説明するフローチャートである。以下の処理はOS304における処理である。ユーザがアプリケーション301で印刷処理を選択してからOS304に対して印刷指示が行われ後に、OS304がプリンタの探索処理を指示する。
S1001から処理が開始すると、S1002では、マルチベンダ対応の印刷プラグインが実装されているか否か、つまり携帯端末装置101のROMおよびRAM206上に当該印刷プラグインが存在するか否かについて判定処理が実行される。印刷プラグインが複数のプリンタベンダ製のプリンタを対象としているか否かについては、図3のデバイス探索制御部309,313,317に保持されている、対象とするプリンタベンダを示す値を用いて判断される。マルチベンダ対応の印刷プラグインが実装されている場合、S1004に進み、そうでない場合にはS1003に進む。なお、マルチベンダ対応の印刷プラグインが複数実装されている場合には、各々の印刷プラグインに対して並行してS1004の処理が実行される。あるいは印刷プラグインのリリース日時が新しい順にS1004の処理を順次に実行しても構わない。
S1003では、特定のプリンタベンダが作成して提供している、特定のプリンタベンダ製のプリンタのみを対象としている印刷プラグインが実装されているか否かについて判定処理が実行される。特定のプリンタベンダ製のプリンタのみを対象としている印刷プラグインが実装されている場合、S1005に進み、実装されていない場合にはS1006に進み、処理を終了する。S1004では、マルチベンダ対応の印刷プラグインに特化した処理が行われる。この処理の詳細については図11を参照して後述する。また、S1005では、特定のプリンタベンダ製のプリンタのみを対象としている印刷プラグインに特化した処理が行われる。この処理の詳細については図12を参照して後述する。
次に、図11のフローチャートを参照して、図10のS1004の処理を説明する。以下の処理は印刷プラグイン(図17:316)における処理である。S1102からS1104の処理は、図9のS902からS904の処理と同様であるため、それらの説明を省略し、相違点であるS1105での判断処理Cについて、図13(C)のフローチャートを参照して説明する。
図13(C)のS1321では、印刷プラグインがプリンタを探索して、その機種情報がOS304に提供された後で、OS304が判断処理Cを実行する。S1322は、印刷プラグインから提供されたベンダ情報を用いて、印刷プラグインが探索したプリンタが既にOS304によってプリンタリスト中にリストアップされているか否かの判定処理である。機種名、ベンダ名、IPアドレスおよび個別に定めた値の一致により、探索済みのプリンタがプリンタリスト中にリストアップされていることが判断された場合、S1328に進んで処理を終了する。また、探索済みのプリンタがプリンタリスト中にリストアップされていない場合にはS1323に処理を進める。
S1323では、印刷プラグインから提供されたベンダ情報を用いて、探索済みプリンタのベンダが提供する印刷プラグインが実装されているか否かについて判定される。当該印刷プラグインが実装されている場合にはS1325に進み、実装されていない場合にはS1324に進む。各印刷プラグインに対応するベンダ情報は、図3のデバイス探索制御部309,313,317にそれぞれ保持されている。よって、そのベンダ情報と印刷プラグインから提供された情報のベンダ名を比較することで実装の有無を判定できる。S1324では、印刷プラグインから提供されたプリンタに関する情報をプリンタリストに追加する処理が実行される。プリンタリストに追加する情報は機種名、ベンダ名、IPアドレス、探索したプラグイン名称等である。その他の情報が印刷プラグインから伝達されている場合、それらの情報の示す値は表示部208に画面表示せずに、ROMおよびRAM206に保持される。そしてS1328に進み、処理を終了する。
S1325に到達した時点では、探索済みプリンタのベンダが提供する印刷プラグインが携帯端末装置101に実装されていることが判明している。S1325では、探索済みプリンタのベンダが提供する印刷プラグインに対して、マルチベンダ対応の印刷プラグインが取得してOS304に通知しているベンダ情報が転送される。当該プリンタのベンダが提供する印刷プラグインが、その機種をサポートしているか否かの問い合わせが行われる。OS304に通知している情報とは、機種名、ベンダ名、IPアドレス、探索したプラグイン名称、探索したプラグインのベンダ名等である。そしてS1326では、S1325で実施した問い合わせの結果について判断処理が実行される。探索済みプリンタのベンダの提供する印刷プラグインが対象機種に対応しているという回答が、当該ベンダの印刷プラグインからOS304に返信された場合、S1327に進み、対応していないという回答が返信された場合にはS1324に進む。
S1327に到達した時点では、探索済みプリンタのベンダが提供する印刷プラグインが実装されており、かつ、当該プリンタがその印刷プラグインでの印刷に対応していることが判明している。S1327でOS304は、探索されたプリンタのベンダが提供する印刷プラグインに対して、探索済みプリンタをプリンタリストにリストアップするために必要な情報を、OS304に送信するように指示を出す。この情報は、機種名、ベンダ名、IPアドレス、探索したプラグイン名称、探索したプラグインのベンダ名等である。探索済みプリンタのベンダが提供する印刷プラグインは、この指示を受信し、探索済みプリンタをプリンタリスト601にリストアップするために必要な情報を返信する。OS304はその情報をプリンタリスト601に登録する。そして、S1328に進み、処理を終了する。
図12は、特定のプリンタベンダが提供した、特定のプリンタベンダ製のプリンタのみを対象としている印刷プラグインが実装されている場合に、当該印刷プラグインにプリンタを探索させる処理を示したフローチャートである。S1202からS1204の処理は、図8のS802からS804の処理と同様であり、S1205にて判断処理Bが実行されることが相違点である。図12のS1205では、探索されたプリンタの機種情報がOS304に提供され、それをプリンタリストにて表示するための処理をOS304が実行する。判断処理Bについては、第一実施形態にて図13(B)のS1311にて既に説明したとおりであるため、重複説明を回避するためにその説明を省略する。
以上のように、図11のS1105から図13(C)のS1321に進み、処理が実行されることで、以下の結果が得られる。
・マルチベンダ対応の印刷プラグインがプリンタを探索し、プリンタベンダの提供する印刷プラグインが実装済みである場合
当該プリンタベンダが提供する印刷プラグインを使って当該プリンタに関する情報をプリンタリスト601にリストアップする処理が行われること。
・探索されたプリンタが既にリストアップ済みである場合には何もしないこと。
更に、図12のS1205から図13(B)のS1311に進み、処理が実行されることで、以下の結果が得られる。
・探索されたプリンタが既にリストアップ済みである場合には何もしないこと。
・マルチベンダ対応の印刷プラグインがプリンタを探索することができない場合であって、プリンタベンダの提供する印刷プラグインにより探索可能なプリンタがある場合:当該プリンタに関する情報をプリンタリスト601にリストアップする処理が行われること。
・マルチベンダ対応の印刷プラグインがプリンタを探索し、プリンタベンダの提供する印刷プラグインが実装済みである場合
当該プリンタベンダが提供する印刷プラグインを使って当該プリンタに関する情報をプリンタリスト601にリストアップする処理が行われること。
・探索されたプリンタが既にリストアップ済みである場合には何もしないこと。
更に、図12のS1205から図13(B)のS1311に進み、処理が実行されることで、以下の結果が得られる。
・探索されたプリンタが既にリストアップ済みである場合には何もしないこと。
・マルチベンダ対応の印刷プラグインがプリンタを探索することができない場合であって、プリンタベンダの提供する印刷プラグインにより探索可能なプリンタがある場合:当該プリンタに関する情報をプリンタリスト601にリストアップする処理が行われること。
本実施形態では、第一実施形態の場合と同様に、OSおよび印刷プラグインが協働し、プリンタの探索処理の順序が制御される。これにより、物理的に同一のプリンタが複数の印刷プラグインの各々に検出され、複数の候補としてリストアップされてしまうという問題を解決することができる。
[第三実施形態]
次に本発明の第三実施形態を説明する。本実施形態におけるデータ処理の全体的な流れについては、第一実施形態の場合と同様である(図16参照)。本実施形態では、第一実施形態で説明した図7から図9と基本的に同様の処理が行われるが、図8のS805および図9のS905の処理が相違する。
次に本発明の第三実施形態を説明する。本実施形態におけるデータ処理の全体的な流れについては、第一実施形態の場合と同様である(図16参照)。本実施形態では、第一実施形態で説明した図7から図9と基本的に同様の処理が行われるが、図8のS805および図9のS905の処理が相違する。
本実施形態の場合、図8のS805にてベンダ提供の印刷プラグインは、探索できたプリンタの機種情報に基づいて、当該プリンタが既にプリンタリスト601にリストアップ済みであるか否かの問い合わせをOS304に対して実施する。OS304から、当該プリンタがリストアップ済みであるという回答が得られた場合、S802に処理を戻す。また、当該プリンタがリストアップ済みでないという回答が得られた場合にベンダ提供の印刷プラグインは、OS304に対して探索済みプリンタの機種情報を提供し、それをプリンタリストにて表示するための処理をOS304が実行する。この場合の判断処理Aの詳細については図14(A)のS1401を参照して後述する。
本実施形態では、図9のS905にてマルチベンダ対応の印刷プラグインは、探索できたプリンタの機種情報に基づいて、当該プリンタが既にプリンタリスト601にリストアップ済みであるか否かの問い合わせをOS304に対して実施する。OS304から、当該プリンタがリストアップ済みであるという回答が得られた場合、S902に処理を戻す。また、当該プリンタがリストアップ済みでないという回答が得られた場合にマルチベンダ対応の印刷プラグインは、OS304に対して探索済みプリンタの機種情報を提供し、それをプリンタリストにて表示するための処理をOS304が実行する。この場合の判断処理Bの詳細については図14(B)のS1411を参照して後述する。
図14(A)のS1401に示す判断処理Aは、基本的に図13(A)のS1301と同様である。ただし、図13のS1302の処理は省略されている。S1303にて、印刷プラグインから提供されたベンダ情報を用いて、探索されたプリンタのベンダ名と、探索を行った印刷プラグインのベンダ名とが同一であるか否かの判定処理から開始する。S1304の処理については、図13(A)にて説明したとおりである。
図14(B)のS1411に示す判断処理Bは、基本的に図13(B)のS1311と同様であるが、S1313の処理だけが実行される。つまり、印刷プラグインから提供されたベンダ情報を用いて、プリンタに関する情報をプリンタリスト601に追加する処理が実行される。
本実施形態では、印刷プラグインが探索したプリンタの機種情報がプリンタリスト601に登録済みであるか否かの判断処理を印刷プラグインが行う。本実施形態によれば、物理的に同一のプリンタが複数の印刷プラグインの各々に検出される結果、候補が重複してリストアップされてしまうという問題を解決することができる。
[第四実施形態]
次に、本発明の第四実施形態を説明する。本実施形態におけるデータ処理の全体的な流れについては、第二実施形態の場合と同様である(図17参照)。本実施形態では、第二実施形態で説明した図10から図12と基本的に同様の処理が行われるが、図11のS1105および図12のS1205の処理が相違する。
次に、本発明の第四実施形態を説明する。本実施形態におけるデータ処理の全体的な流れについては、第二実施形態の場合と同様である(図17参照)。本実施形態では、第二実施形態で説明した図10から図12と基本的に同様の処理が行われるが、図11のS1105および図12のS1205の処理が相違する。
本実施形態の場合、図11のS1105にてマルチベンダ対応の印刷プラグインは探索できたプリンタの機種情報に基づき、当該プリンタが既にプリンタリスト601にリストアップ済みであるか否かの問い合わせをOS304に対して実施する。OS304から、探索済みプリンタがリストアップ済みであるという回答が得られた場合、S1102に処理を戻す。また、探索済みプリンタがリストアップ済みでないという回答が得られた場合にマルチベンダ対応の印刷プラグインは、OS304に探索済みプリンタの機種情報を提供し、それをプリンタリストにて表示するための処理をOS304が実行する。この場合の判断処理Cの詳細については図14(C)のS1421を参照して後述する。
また、本実施形態では、図12のS1205にてベンダ提供の印刷プラグインは探索できたプリンタの機種情報に基づいて、当該プリンタが既にプリンタリスト601にリストアップ済みであるか否かの問い合わせをOS304に対して実施する。OS304から、探索済みプリンタがリストアップ済みであるという回答が得られた場合、S1202に処理を戻す。探索済みプリンタがリストアップ済みでないという回答が得られた場合にベンダ提供の印刷プラグインは、OS304に対して探索済みプリンタの機種情報を提供し、それをプリンタリストにて表示するための処理をOS304が実行する。判断処理Bの詳細については、第三実施形態にて図14(B)のS1411で説明したとおりであり、その説明を省略する。
図14(C)を参照して判断処理Cを説明する。S1421は、基本的に図13(C)のS1321と同様であるが、図13のS1322の処理は省略されている。S1323にて、印刷プラグインから提供されたベンダ情報を用いて、探索されたプリンタのベンダが提供する印刷プラグインが実装されているか否かの判断処理から開始する。他の処理(S1324からS1328)は図13(C)の場合と同じである。
本実施形態によれば、第二実施形態の場合と同様の効果が得られる。
図14(C)を参照して判断処理Cを説明する。S1421は、基本的に図13(C)のS1321と同様であるが、図13のS1322の処理は省略されている。S1323にて、印刷プラグインから提供されたベンダ情報を用いて、探索されたプリンタのベンダが提供する印刷プラグインが実装されているか否かの判断処理から開始する。他の処理(S1324からS1328)は図13(C)の場合と同じである。
本実施形態によれば、第二実施形態の場合と同様の効果が得られる。
[第五実施形態]
次に、本発明の第五実施形態を説明する。本実施形態に係る処理の要部を説明する前に、本実施形態におけるデータ処理の全体的な流れについて、具体例を用いて説明する。図18を参照して、本実施形態における全体的なデータの流れを説明する。なお、印刷プラグイン1(印刷プラグイン308)をプリンタベンダが提供する印刷プラグインとし、印刷プラグイン3(印刷プラグイン316)をマルチベンダ対応の印刷プラグインとする。更に、印刷プラグイン1とプリンタB(プリンタ104)は同一のベンダにより提供されるものとする。
次に、本発明の第五実施形態を説明する。本実施形態に係る処理の要部を説明する前に、本実施形態におけるデータ処理の全体的な流れについて、具体例を用いて説明する。図18を参照して、本実施形態における全体的なデータの流れを説明する。なお、印刷プラグイン1(印刷プラグイン308)をプリンタベンダが提供する印刷プラグインとし、印刷プラグイン3(印刷プラグイン316)をマルチベンダ対応の印刷プラグインとする。更に、印刷プラグイン1とプリンタB(プリンタ104)は同一のベンダにより提供されるものとする。
ユーザがアプリケーション301から印刷指示を行うと、OS304に対して印刷指示が送られる(S1801)。印刷指示を受け付けたOS304は最初に、実装済みのマルチベンダ対応の印刷プラグイン3に対してプリンタ探索を指示する(S1802)。プリンタ探索の指示を受けた印刷プラグイン3はプリンタ探索を行う(S1803)。プリンタ探索パケットを受信したプリンタBはそれに応答し、プリンタB自身の情報を返信する(S1804)。
印刷プラグイン3はプリンタBからの返信情報を受け取ると、その情報に基づいて、探索したプリンタBのベンダを把握し、当該ベンダ提供の印刷プラグイン1が実装されていることを把握する。印刷プラグイン3は、印刷プラグイン1に対し、探索したプリンタBへの対応の可否を問い合わせる(S1805)。ベンダ提供の印刷プラグイン1は、印刷プラグイン3からの問合せに対し、プリンタBに対応している旨を返信する(S1806)。ベンダ提供の印刷プラグイン1は更に、プリンタBを自身が発見したものと見做してプリンタBに関する情報をプリンタリスト601に登録する(S1807)。
マルチベンダ対応の印刷プラグイン3による処理が終了した後、ベンダ提供の印刷プラグイン1による処理へ移行する。OS304は、ベンダ提供の印刷プラグイン1に対して、プリンタ探索を指示する(S1808)。プリンタ探索の指示を受けた印刷プラグイン1はプリンタ探索を行う(S1809)。プリンタ探索パケットを受信したプリンタBはそれに応答し、印刷プラグイン1に対して、プリンタB自身の情報を返信する(S1810)。印刷プラグイン1はプリンタBからの返信を受け取ると、その情報をOS304に通知してプリンタリスト601への登録要請を行う(S1811)。しかし、プリンタリスト601には既にプリンタBの情報が、印刷プラグイン1による情報としてリストアップされているので今回の情報は登録されない。したがって、プリンタリスト601にはプリンタBのベンダと同じベンダが提供する印刷プラグイン1により探索したと見做された1つのプリンタBの情報だけがリストアップされることになり、候補の重複登録が回避される。
本実施形態と第四実施形態との相違点は、本実施形態にて図14(C)のS1421に示す処理を印刷プラグインが内部で処理する点である。本実施形態の場合、図14(C)のS1323にて印刷プラグインが取得したベンダ情報を用いて、探索されたプリンタのベンダが提供する印刷プラグインが実装されているか否かについて判定される。当該印刷プラグインが実装されている場合にはS1325に進み、そうでない場合にはS1324に進む。各印刷プラグインに対応するベンダ情報は、図3のデバイス探索制御部309,313,317が保持しているので、その情報の示すベンダ名と印刷プラグインから提供された情報の示すベンダ名とを比較することで判定処理が行われる。
S1324では、印刷プラグインが取得したプリンタに関する情報をOS304に通知して、プリンタリスト601に追加する処理が実行される。プリンタリスト601に追加される情報は機種名、ベンダ名、IPアドレス、探索したプラグイン名称等である。その他の情報も併せてOS304に通知され、表示部208の画面に表示せずにROMおよびRAM206上で保持される。そしてS1328に進み、処理を終了する。
S1325に到達した時点では、探索されたプリンタのベンダが提供する印刷プラグインが実装されていることが判明している。よって、当該プリンタのベンダが提供する印刷プラグインに対して、マルチベンダ対応の印刷プラグインが取得した情報が印刷プラグインの間で転送される。マルチベンダ対応の印刷プラグインが取得した情報とは、プリンタの機種名、ベンダ名、IPアドレス、探索したプラグイン名称、探索したプラグインのベンダ名等である。当該プリンタのベンダが提供する印刷プラグインが、その機種をサポートしているか否かの問い合わせ処理が実行され、S1326に処理を進める。S1326では、S1325で行った問い合わせの結果が判定され、探索されたプリンタのベンダが提供する印刷プラグインが該当機種に対応しているか否かが確認される。つまり、探索されたプリンタのベンダが提供する印刷プラグインが該当機種に対応しているという回答が、当該プリンタのベンダが提供する印刷プラグインから返信された場合、S1327に進む。また、探索されたプリンタのベンダが提供する印刷プラグインが該当機種に対応していないという回答であった場合にはS1324に進む。
図14のS1327に到達した時点では、探索されたプリンタのベンダが提供する印刷プラグインが実装されており、かつ、プリンタがその印刷プラグインでの印刷に対応していることが判明している。OS304は、探索されたプリンタのベンダが提供する印刷プラグインに対して、探索済みプリンタをプリンタリストにリストアップするために必要な情報を、OS304に送信するように指示する。当該情報は、プリンタの機種名、ベンダ名、IPアドレス、探索したプラグイン名称、探索したプラグインベンダ名等である。プリンタのベンダが提供する印刷プラグインは、この指示を受信し、探索済みプリンタをプリンタリスト601にリストアップするために必要な情報をOS304に通知する。OS304はその情報をプリンタリスト601にリストアップしてからS1328に進み、処理を終了する。
本実施形態によれば、第四実施形態の場合と同様の効果が得られる。
本実施形態によれば、第四実施形態の場合と同様の効果が得られる。
[その他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
101 携帯端末装置
103,104,105 プリンタ
301 アプリケーション
304 オペレーティングシステム
308,312,316 印刷プラグイン
103,104,105 プリンタ
301 アプリケーション
304 オペレーティングシステム
308,312,316 印刷プラグイン
Claims (10)
- 複数のプラグインモジュールによりプリンタの探索処理を行い、探索されたプリンタから操作により選択されるプリンタを使用して印刷処理を行う印刷システムであって、
前記複数のプラグインモジュールに対してプリンタの探索処理の順序を制御するとともに、前記プラグインモジュールにより探索されたプリンタの情報を当該プラグインモジュールと関連付けて登録し、探索済みのプリンタを重複せずに候補として提示する制御を行う制御手段を備えることを特徴とする印刷システム。 - 複数のプラグインモジュールによりプリンタの探索処理を行い、探索されたプリンタから操作により選択されるプリンタに対して印刷処理を指示する情報処理装置であって、
前記複数のプラグインモジュールに対してプリンタの探索処理の順序を制御するとともに、前記プラグインモジュールにより探索されたプリンタの情報を当該プラグインモジュールと関連付けて登録し、探索済みのプリンタを重複せずに候補として提示する制御を行う制御手段を備えることを特徴とする情報処理装置。 - 前記制御手段は、前記プラグインモジュールのベンダを示す第1の情報、および前記プラグインモジュールにより探索されたプリンタから返信される第2の情報を取得し、探索された当該プリンタのベンダが、当該プラグインモジュールのベンダと一致する場合であって、当該プリンタの情報が登録されていない場合には当該プリンタを候補として登録する処理を行い、当該プリンタの情報が登録されている場合には登録しないことを特徴とする請求項2に記載の情報処理装置。
- 前記制御手段は、特定のプリンタを提供するベンダのプラグインモジュールに対して優先的にプリンタの探索処理を指示することを特徴とする請求項2または3に記載の情報処理装置。
- 前記制御手段は、複数のベンダのプリンタを対象として動作するプラグインモジュールに対して優先的にプリンタの探索処理を指示することを特徴とする請求項2または3に記載の情報処理装置。
- 探索済みのプリンタの情報を表示する表示手段をさらに備え、
前記制御手段は、前記複数のプラグインモジュールによってそれぞれ探索された複数のプリンタの情報を重複せずにリストに登録し、該リストに登録されたプリンタの候補を前記表示手段に表示させる制御を行うことを特徴とする請求項2から5のいずれか1項に記載の情報処理装置。 - 前記複数のプラグインモジュールのうち、複数のベンダのプリンタを対象として動作する第1のプラグインモジュールは、探索したプリンタの情報を、特定のプリンタを提供するベンダ製の第2のプラグインモジュールに通知する処理を行うことを特徴とする請求項5に記載の情報処理装置。
- 前記第1のプラグインモジュールが探索したプリンタのベンダが、前記第2のプラグインモジュールのベンダと一致し、かつ前記第2のプラグインモジュールが、探索されたプリンタに対応して当該プリンタのベンダから提供されたプラグインモジュールである場合、前記制御手段は当該プリンタの情報を重複せずにリストに登録する処理を行うことを特徴とする請求項7に記載の情報処理装置。
- 複数のプラグインモジュールによりプリンタの探索処理を行い、探索されたプリンタから操作により選択されるプリンタを使用して印刷処理を行う印刷システムの情報処理装置にて実行される制御方法であって、
前記情報処理装置の制御手段が、
前記複数のプラグインモジュールに対してプリンタの探索処理の順序を制御するステップと、
前記プラグインモジュールにより探索されたプリンタの情報を当該プラグインモジュールと関連付けて登録し、探索済みのプリンタを重複せずに候補として提示する制御を行うステップを有することを特徴とする制御方法。 - 複数のプラグインモジュールによりプリンタの探索処理を行い、探索されたプリンタから操作により選択されるプリンタを使用して印刷処理を行う印刷システムの情報処理装置にてコンピュータが実行するプログラムであって、
前記コンピュータに、
前記複数のプラグインモジュールに対してプリンタの探索処理の順序を制御するステップと、
前記プラグインモジュールにより探索されたプリンタの情報を当該プラグインモジュールと関連付けて登録し、探索済みのプリンタを重複せずに候補として提示する制御を行うステップを実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014156805A JP2016033770A (ja) | 2014-07-31 | 2014-07-31 | 印刷システム、情報処理装置およびその制御方法、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014156805A JP2016033770A (ja) | 2014-07-31 | 2014-07-31 | 印刷システム、情報処理装置およびその制御方法、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016033770A true JP2016033770A (ja) | 2016-03-10 |
Family
ID=55452628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014156805A Pending JP2016033770A (ja) | 2014-07-31 | 2014-07-31 | 印刷システム、情報処理装置およびその制御方法、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016033770A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018160158A (ja) * | 2017-03-23 | 2018-10-11 | キヤノン株式会社 | 情報処理装置、制御方法、およびプログラム |
JP2019061509A (ja) * | 2017-09-27 | 2019-04-18 | ブラザー工業株式会社 | アプリケーションプログラムおよびシステム |
-
2014
- 2014-07-31 JP JP2014156805A patent/JP2016033770A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018160158A (ja) * | 2017-03-23 | 2018-10-11 | キヤノン株式会社 | 情報処理装置、制御方法、およびプログラム |
JP2019061509A (ja) * | 2017-09-27 | 2019-04-18 | ブラザー工業株式会社 | アプリケーションプログラムおよびシステム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7179929B2 (ja) | 音声制御デバイス、印刷装置、それらの制御方法およびプログラム | |
US10140070B2 (en) | Terminal, information processing apparatus, image forming system, and non-transitory computer readable medium | |
JP6385265B2 (ja) | 情報処理装置、制御方法及びプログラム | |
JP6755834B2 (ja) | システムおよび印刷装置およびサーバシステムおよび制御方法およびプログラム | |
JP6256040B2 (ja) | 情報処理プログラムおよびプリンタ | |
US9135528B2 (en) | Information processing apparatus, job processing method in information processing apparatus, and storage medium | |
JP6265717B2 (ja) | 情報処理装置、情報処理装置の制御方法、並びにプログラム | |
EP3026540B1 (en) | Image processing device, computer program for controlling image processing device and image processing system | |
JP2020166467A (ja) | 画像処理システム | |
JP2016045575A (ja) | 印刷システム、情報処理装置、情報処理装置の制御方法、及びプログラム | |
JP2019095933A (ja) | 音声制御システム、制御方法及びプログラム | |
JP4565647B2 (ja) | 画像形成装置及びその制御方法、プログラム、画像形成システム | |
JP2016033770A (ja) | 印刷システム、情報処理装置およびその制御方法、プログラム | |
JP2024025809A (ja) | 画像形成装置と画像形成装置の制御方法、及びプログラム | |
CN106383675B (zh) | 打印设备的位置提示方法和装置 | |
US9274727B2 (en) | Communication apparatus, control method therefor, and computer-readable storage medium for performing connection to a processing target apparatus | |
JP2004280644A (ja) | 印刷システム、管理装置および印刷機器探索方法 | |
JP6690412B2 (ja) | 情報処理装置、情報処理システム、情報処理方法、及びプログラム | |
JP2015132924A (ja) | 印刷システムおよびその制御方法、並びにプログラム | |
EP2905697B1 (en) | Communication control method in image forming system, storage medium stored with program for image forming system, and image forming system | |
US9696955B2 (en) | Information processing apparatus, printing system, and printing method including transmitting output data to an output apparatus associated with a client apparatus | |
US10264145B2 (en) | Printing data by an image forming apparatus using a same or different network as a printing data storage device | |
JP2017182292A (ja) | 端末装置、情報処理方法及びプログラム | |
US20230236778A1 (en) | Processing apparatus, method, and non-transitory computer readable medium | |
JP7338025B2 (ja) | 音声制御デバイス、印刷装置、それらの制御方法およびプログラム |