(57)【要約】【課題】ユーザの利便性を向上させた情報処理装置を提供する。【解決手段】情報処理端末１１０は、プリンタを探索する探索手段と、印刷システム２１０がプリンタを探索する所定の探索機能を有しているか否か判断する第１の判断手段と、第１の判断手段において、所定の探索機能を有していると判断された場合に、所定の探索機能が所定の探索方法で探索を実行する追加機能を有しているか否か判断する第２の判断手段と、探索されたプリンタが印刷プラグインＥ２１４のサポート機であるか否か判断する第３の判断手段と、前記印刷システムにプリンタに関する情報の通知を行う通知手段と、を有する。第２の判断手段において追加機能を有していないと判断され、かつ、第３の判断手段において探索されたプリンタがサポート機ではないと判断された場合、通知手段は、印刷システム２１０に対し、探索されたプリンタがサポート機でない旨の通知を行う。【選択図】図８
2018041246.tif 000002
【特許請求の範囲】
【請求項１】
印刷プラグイン及び印刷システムを有する情報処理装置であって、
プリンタを探索する探索手段と、
前記印刷システムがプリンタを探索する所定の探索機能を有しているか否か判断する第１の判断手段と、
前記第１の判断手段において、前記所定の探索機能を有していると判断された場合に、前記所定の探索機能が所定の探索方法で探索を実行する追加機能を有しているか否か判断する第２の判断手段と、
探索されたプリンタが印刷プラグインのサポート機であるか否か判断する第３の判断手段と、
前記印刷システムにプリンタに関する情報の通知を行う通知手段と、を有し、
前記第２の判断手段において前記追加機能を有していないと判断され、かつ、前記第３の判断手段において前記探索されたプリンタがサポート機ではないと判断された場合、前記通知手段は、前記印刷システムに対し、前記探索されたプリンタがサポート機でない旨の通知を行うことを特徴とする情報処理装置。
【請求項２】
前記探索手段は、前記印刷プラグインとベンダーが共通のプリンタを探索することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記所定の探索機能は、Ｉｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙであることを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記Ｉｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙは、ｍＤＮＳプロトコルを使用しプリンタの探索を行うことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記追加機能が実行する前記所定の探索方法は、Ｓｐｅｃｉｆｉｃな探索であり、
前記第２の判断手段は、前記情報処理装置のＯＳにＳｐｅｃｉｆｉｃ  Ｆｉｎｄｅｒ  Ｐｌｕｇｉｎが追加されているか否かにより判断することを特徴とする請求項１乃至４のうちいずれか１項に記載の情報処理装置。
【請求項６】
前記通知手段は、前記プリンタに関する情報として、プリンタの名称と、プリンタのステータスもしくはプリンタがサポート機でないという情報を通知することを特徴とする請求項１乃至５のうちいずれか１項に記載の情報処理装置。
【請求項７】
前記探索されたプリンタがｍＤＮＳ対応のプリンタであるか否か判断する第４の判断手段を有し、
前記通知手段は、前記第２の判断手段において前記追加機能を有していないと判断され、前記第４の判断手段において前記ｍＤＮＳ対応のプリンタであると判断され、前記第３の判断手段において前記探索されたプリンタがサポート機ではないと判断された場合、前記印刷システムに対し、前記探索されたプリンタがサポート機でない旨の通知を行うことを特徴とする請求項１乃至６のうちいずれか１項に記載の情報処理装置。
【請求項８】
前記通知手段は、前記第２の判断手段において前記追加機能を有していないと判断され、前記第４の判断手段において前記ｍＤＮＳ対応のプリンタでないと判断され、前記第３の判断手段において前記探索されたプリンタがサポート機ではないと判断された場合、前記通知手段は、前記通知を行わないことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記探索手段は、前記情報処理装置と同一のネットワーク上のプリンタの探索を行うことを特徴とする請求項１乃至８のうちいずれか１項に記載の情報処理装置。
【請求項１０】
同一のネットワーク外のプリンタの探索を行うか否か判断する第５の判断手段を有し、
前記第５の判断手段が、同一のネットワーク外のプリンタの探索を行うと判断した場合、前記探索手段は、同一のネットワーク外のプリンタの探索を行い、探索を行ったプリンタがｍＤＮＳ対応であるか否かを取得することを特徴とする請求項８または請求項９に記載の情報処理装置。
【請求項１１】
前記第５の判断手段は、前記印刷プラグインが有するプリンタリストにプリンタが追加されているか否かにより判断することを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記同一のネットワーク内のプリンタの探索は、ｍＤＮＳプロトコルを使用し行われ、
前記同一のネットワーク外のプリンタの探索は、ＳＮＭＰプロトコルを使用して行われることを特徴とする請求項１０または請求項１１に記載の情報処理装置。
【請求項１３】
前記通知手段からの前記通知を表示する表示手段を有することを特徴とする請求項１乃至１２のうちいずれか１項に記載の情報処理装置。
【請求項１４】
印刷プラグイン及び印刷システムを有する情報処理装置の制御方法であって、
プリンタを探索する探索工程と、
前記印刷システムがプリンタを探索する所定の探索機能を有しているか否か判断する第１の判断工程と、
前記第１の判断工程において、前記所定の探索機能を有していると判断された場合に、前記所定の探索機能が所定の探索方法で探索を実行する追加機能を有しているか否か判断する第２の判断工程と、
探索されたプリンタが印刷プラグインのサポート機であるか否か判断する第３の判断工程と、
前記印刷システムにプリンタに関する情報の通知を行う通知工程と、を有し、
前記第２の判断工程において前記追加機能を有していないと判断され、かつ、前記第３の判断工程において前記探索されたプリンタがサポート機ではないと判断された場合、前記通知工程では、前記印刷システムに対し、前記探索されたプリンタがサポート機でない旨の通知を行うことを特徴とする制御方法。
【請求項１５】
コンピュータを請求項１乃至１３のうちいずれか１項に記載の情報処理装置の各手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、その制御方法及びプログラムに関する。
【背景技術】
【０００２】
モバイルＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）において、印刷データをプリンタに送信する技術がある。例えば、Ａｎｄｒｏｉｄ（登録商標）といったモバイル端末に搭載されるＯＳには、各アプリケーション（以下、アプリと称する）に共通の印刷機能を提供する「印刷システム」がある。印刷システムには、「印刷プラグイン」といわれる各プリンタベンダーが各自の印刷処理装置に適応させるための依存処理をプラグイン形式でアドインできる仕組みがある。例えば、Ｃａｎｏｎ  Ｐｒｉｎｔ  Ｓｅｒｖｉｃｅ（登録商標）は、Ａｎｄｒｏｉｄの「印刷プラグイン」として提供されており、Ｇｏｏｇｌｅ  Ｐｌａｙ（登録商標）からダウンロードしてインストールすることができる。しかし、ユーザは印刷するためにはＧｏｏｇｌｅ  Ｐｌａｙにアクセスし、所有しているプリンタをサポートした印刷プラグインをインストールしなければならず、ネットワーク上にプリンタがあっても、印刷ができることに気づきにくかった。
特許文献１は、情報処理端末からの印刷に対して、プリンタＡは対応しているがプリンタＢは非対応であり、プリンタＡとプリンタＢは互いに通信可能である場合に、プリンタＡを介して、非対応のプリンタＢを使用することができる技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１８６２２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１では、情報処理端末からの印刷に非対応のプリンタを使用するために、対応したもう１台のプリンタが同一ネットワーク内に存在し、かつそのプリンタ同士が相互通信可能でなければならない。
印刷システムには、Ｉｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙという探索機能が組み込まれている場合がある。Ｉｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙでは、同一ネットワーク上にあるプリンタをマルチキャストＤＮＳ（以下、ｍＤＮＳと称する）プロトコルを使って探索する。そして、応答したプリンタのベンダー名を取得し、そのベンダーの印刷プラグインがモバイル端末にインストールされていない場合、ユーザに、そのベンダーの印刷プラグインのインストールを促す。そのため、ユーザは使用したいプリンタの印刷プラグインのインストールを行っていない場合であっても、印刷プラグインをインストールすれば印刷することができると気付くことができる。
しかしながら、印刷システムは、印刷プラグインがサポートしないプリンタであってもインストールを促してしまうことがある。Ｉｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙでは、印刷システムは、プリンタからのｍＤＮＳ応答によって、対応するベンダー名を取得し、そのベンダーの印刷プラグインのインストールを促す。もし印刷プラグインに非サポートのプリンタであっても、Ｉｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙの仕様通りに応答すれば、印刷システムはそのプリンタベンダーが公開している印刷プラグインのインストールを促してしまう。このとき、ユーザは印刷システムから促された印刷プラグインをストアからダウンロードしてインストールしても、印刷を行うことができない。
【０００５】
本発明は、ユーザの利便性を向上させた情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の情報処理装置は、印刷プラグイン及び印刷システムを有する情報処理装置であって、プリンタを探索する探索手段と、前記印刷システムがプリンタを探索する所定の探索機能を有しているか否か判断する第１の判断手段と、前記第１の判断手段において、前記所定の探索機能を有していると判断された場合に、前記所定の探索機能が所定の探索方法で探索を実行する追加機能を有しているか否か判断する第２の判断手段と、探索されたプリンタが印刷プラグインのサポート機であるか否か判断する第３の判断手段と、前記印刷システムにプリンタに関する情報の通知を行う通知手段と、を有する。前記第２の判断手段において前記追加機能を有していないと判断され、かつ、前記第３の判断手段において前記探索されたプリンタがサポート機ではないと判断された場合、前記通知手段は、前記印刷システムに対し、前記探索されたプリンタがサポート機でない旨の通知を行う。
【発明の効果】
【０００７】
本発明によれば、ユーザの利便性を向上させた情報処理装置を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】本実施例のシステムの全体構成を示す図である。
【図２】情報処理端末、プリンタのハードウェア構成図である。
【図３】情報処理端末、プリンタのソフトウェア構成図である。
【図４】情報処理端末のアプリケーションのＵＩ画面を示す図である。
【図５】情報処理端末の印刷システムのＵＩ画面を示す図である。
【図６】情報処理端末の、印刷システム内のプリンタ探索画面を示す図である。
【図７】情報処理端末の、印刷システム内の印刷プラグインを追加する追加画面を示す図である。
【図８】印刷プラグインの処理を示すフローチャートである。
【図９】実施例２における印刷プラグインの処理を示すフローチャートである。
【図１０】情報処理端末の、ＩＰ指定プリンタ探索画面を示す図である。
【図１１】実施例３における印刷プラグインの処理を示すフローチャートである。
【図１２】実施例３における印刷プラグインの処理を示すフローチャートである。
【発明を実施するための形態】
【０００９】
（実施例１）
まず、本実施例におけるシステムの全体構成について説明する。図１は、本実施例におけるハードウェアの全体構成の一例を示したものである。システムは、スマートフォンやタブレットなどの情報処理装置である情報処理端末１１０と画像処理装置であるプリンタＡ１２０を含む。情報処理端末１１０とプリンタＡ１２０とは、ネットワーク１００で接続されている。このとき、情報処理端末およびプリンタはネットワーク上に複数台あってもよい。
【００１０】
ネットワーク１００は標準的なネットワークであり、インターネット、イントラネットのどちらの形態であってもよい。接続方法は、情報処理端末１１０とプリンタＡ１２０が互いにネットワークに接続されていればどのような接続形態でも構わない。例えば、Ｗｉ−Ｆｉルータを介してネットワークを形成する方法や、Ｗｉ−Ｆｉダイレクトで情報処理端末１１０とプリンタＡ１２０を直接接続する方法などがある。
【００１１】
次に、本実施例における情報処理端末１１０及びプリンタＡ１２０の構成を、図２及び図３を用いて説明する。図２は、情報処理端末１１０及びプリンタＡ１２０のハードウェアの構成を示す図である。
情報処理端末１１０は、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｓｉｓｔａｎｔ）やスマートフォンなど通常のモバイル端末であり、小型端末用のオペレーティングシステムや、通話、データ通信を制御するプログラムが動作している情報処理装置である。情報処理端末１１０は、ネットワークコントローラ１１４を使用して無線通信または有線での通信が可能である。情報処理端末１１０におけるハードウェアの各構成要素は、システムバス１１９に接続されている。
【００１２】
ＲＯＭ１１２は、不揮発性の記憶装置であり、情報処理端末１１０におけるＯＳや、通話、データ通信を制御するアプリ、情報処理端末１１０の再起動後も保持しておく必要のある各種動作モード設定、稼働ログなどが記憶される。ＲＯＭ１１２に格納されたデータ通信を制御するアプリとしては、ＭａｉｌソフトやＷｅｂブラウザなどが挙げられる。これらのＲＯＭ１１２に記憶された情報は、ＣＰＵ１１１で処理される。また、ＣＰＵ１１１がＲＯＭ１１２に記憶されているプログラムに基づき処理を実行することによって、図３に示されるような情報処理端末１１０のソフトウェア構成及び後述するフローチャートの各ステップの処理が実現される。
ＲＡＭ１１３は、プログラムを実行するためのワークメモリエリアである。また、印刷時にアプリが生成する画像情報などを一時記憶するためのメモリでもある。
【００１３】
ネットワークコントローラ１１４はネットワーク通信を制御する。通信には、例えば、Ｗｉ−Ｆｉ、Ｗｉ−Ｆｉダイレクト、公衆回線である３Ｇ／４Ｇ、有線ＬＡＮ接続などが使用される。
表示制御部１１５は、情報処理端末１１０のディスプレイ１１７にて出力する情報の制御を行っている。
入力制御部１１６は、情報処理端末１１０の入力部１１８においてボタンやタッチパネルなどを介してユーザが指示した情報を制御している。情報処理端末１１０のアプリは、表示制御部１１５、を利用して、ネットワーク通信情報や情報処理端末１１０のさまざまな情報をユーザに提供する。
【００１４】
プリンタＡ１２０は、画像処理装置である。ネットワークＩ／Ｆ１２１は、ネットワーク１００を介して情報処理端末１１０との接続に使用される。プリンタＡ１２０はネットワークＩ／Ｆ１２１を介して情報処理端末１１０との通信処理が可能となっており、プリンタＡ１２０内の情報を情報処理端末１１０に通知可能に構成されている。
ＣＰＵ１２２は、ＲＯＭ１２４に記憶された制御プログラムに基づいてシステムバス１２６に接続されるプリンタエンジン１２５に出力情報としての画像信号を出力する。さらにＣＰＵ１２２は、ＲＯＭ１２４に記憶されたアプリプログラム等に基づいて処理を実行する。ＲＡＭ１２３は、ＣＰＵ１２２の主メモリ、ワークエリア等として機能する。なお、ＲＡＭ１２３は、制御プログラムの実行、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。ＲＯＭ１２４には、ＣＰＵ１２２の制御プログラムや上記出力情報を生成する際に使用するフォントデータ、プリンタＡ１２０上で利用される情報等が記憶される。
プリンタエンジン１２５は、出力情報としての画像信号を出力する。システムバス１２６は、各デバイスを接続する。
【００１５】
図３は、本実施例における情報処理端末１１０及びプリンタＡ１２０のソフトウェア構成を説明するブロック図である。
まず、情報処理端末１１０のソフトウェア構成について説明する。なお、情報処理端末１１０を構成する各モジュールはそれぞれＲＯＭ１１２に保存されたファイルとして存在するプログラムモジュールである。そして、実行時にＯＳやそのモジュールを利用するモジュールによってＲＡＭ１１３にロードされＣＰＵ１１１において実行される。
【００１６】
印刷システム２１０は、Ａｐｐ  Ａ２１１などの各アプリに共通の印刷インターフェースを提供する。アプリは、印刷システムで定義されたインターフェースを実装することにより、印刷プラグイン  Ｄ２１３や印刷プラグインＥ２１４などが提供する印刷機能を実行することができる。このとき印刷システムは印刷プラグイン  Ｄ２１３や印刷プラグインＥ２１４などの印刷プラグインに印刷や探索の命令を行う。
【００１７】
Ａｐｐ  Ａ２１１、Ａｐｐ  Ｂ２１２は情報処理端末１１０のＯＳ上で動作する一般的なアプリであり、Ｗｅｂブラウザ、ＰＤＦビューワー、Ｏｆｆｉｃｅビューワー、写真アプリ、メールアプリ等のアプリがある。また、これらのアプリは印刷システム２１０にいくつ接続されてもかまわない。Ａｐｐ  Ａ２１１、Ａｐｐ  Ｂ２１２は印刷システム２１０で定義された印刷インターフェースを実装しており、各印刷プラグインを使って印刷機能を利用できる。
【００１８】
印刷プラグイン  Ｄ２１３、印刷プラグインＥ２１４は印刷プラグインの一例であり、印刷システムに対して印刷および探索等の機能を提供するためのサービスとして存在する。印刷プラグインは、各プリンタベンダーが各自の印刷処理装置に適応させるための依存処理をプラグイン形式でアドインできる仕組みである。印刷プラグイン  Ｄ２１３や印刷プラグインＥ２１４が印刷システム２１０に提供する機能は、ネットワーク上のプリンタ探索機能、印刷機能、印刷設定機能、ステータス通知機能などがあり、印刷プラグインは複数インストールされている場合もある。
【００１９】
印刷プラグインＥ２１４は、印刷ジョブ生成モジュール２１５からネットワークモジュール２１８までの各種モジュールを備える。
印刷ジョブ生成モジュール２１５は、印刷システム２１０からＰＤＦ形式のデータをうけて、ＲＯＭ１１２およびＲＡＭ１１３の情報からプリンタＡ１２０で印刷可能なＰＤＬデータを生成する。ＰＤＬデータは、プリンタＡ１２０で印刷を行えるファイル形式の一例である。ＵＩ表示用モジュール２１６は印刷プラグインＥ２１４固有の設定画面を表示させるものである。例えばＥＵＬＡを表示する画面や、拡張設定を行う画面、ダイアログを表示する機能を持つ。通信管理モジュール２１７は、印刷プラグインＥ２１４の通信を制御するモジュールであり、プリンタの能力取得や状態取得、プリンタ探索、印刷ジョブ生成モジュール２１５で生成したＰＤＬデータの送信を管理する。ネットワークモジュール２１８は、印刷プラグインＥ２１４とプリンタＡ１２０などのプリンタを接続するモジュールである。ネットワークモジュール２１８は、ＨＴＴＰ、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）等のプロトコルを使用して外部の機器と通信する機能を提供する。
【００２０】
次に、プリンタＡ１２０のソフトウェア構成について説明する。
ネットワークモジュール２００は、プリンタＡ１２０と情報処理端末１１０間の通信を行うモジュールである。ネットワークモジュール２００は、ＨＴＴＰ、ＳＮＭＰ、ｍＤＮＳ、ＩＰＰ等のプロトコルを使用して外部の機器と通信する機能を提供する。ｍＤＮＳは、ｍｕｌｔｉｃａｓｔ  Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ、ＩＰＰは、Ｉｎｔｅｒｎｅｔ  Ｐｒｉｎｔｅｒ  Ｐｒｏｔｏｃｏｌの略称である。印刷処理モジュール２０１は、印刷を実行するためにＰＤＬから画像データを生成してプリンタエンジン１２５に描画データを送るためのモジュールである。
【００２１】
図４は、Ａｐｐ  Ａ２１１等のアプリから印刷を行う場合のＵＩの一例である。印刷システムを使用する場合は、図４に示されるように、アプリのメニューボタン４０１を選択し、表示されるメニューの中で印刷ボタン４０２を選択する。
印刷ボタン４０２を押下した後は、図５に示すような印刷システムの印刷設定画面が表示される。
【００２２】
図５は、印刷システムの印刷設定ＵＩの一例である。図５のプリンタ表示領域５０１に表示されているプリンタは、ネットワーク上で印刷プラグインＥ２１４により探索されたプリンタである。なお、複数のプリンタが利用可能であるときはプリンタの切り替えが可能である。プリンタの切り替えを行うためにプリンタ表示領域５０１を押下すると、図６に示すプリンタ探索画面が表示される。
【００２３】
設定領域５０２に示す「用紙サイズ」や「印刷範囲」などの設定ボタン等から標準的な印刷設定を変更することができる。
印刷ボタン５０３をタップすると、印刷システム２１０から印刷プラグインＥ２１４に対して印刷命令が送られる。このとき、印刷システムは、印刷プラグインＥ２１４に印刷命令とＰＤＦデータを送る。ＰＤＦデータを受け取った印刷プラグインＥ２１４は、ＰＤＦデータをＰＤＬデータに変換する。そして、プリンタＡ１２０にＰＤＬデータを送信し、印刷処理を実行させる。印刷プラグインは、印刷処理のステータスを印刷システムに返却し、印刷システムはその結果をＵＩに反映させる。
【００２４】
図６は、プリンタ一覧画面の一例であり、図５のプリンタ表示領域５０１押下により表示される。なお、プリンタ一覧画面の表示方法はこれに限られるものではなく、他の方法によっても表示されることがある。プリンタ一覧において、上段のプリンタ名６０１には、ネットワーク上で印刷プラグインＥ２１４等によって探索されたプリンタの名称が表示される。また、搭載する印刷システムによっては、印刷プラグインから印刷システムに情報を送信することにより、下段の状態表示領域６０２にプリンタの状態などを任意に表示することができる。状態表示領域６０２では、プリンタが印刷プラグインにサポートされているサポート機である場合は、プリンタのステータスなどを表示する。一方、プリンタが印刷プラグインにサポートされていない場合は、状態表示領域６０２において、非サポート表示６０４に示されるように、サポートされていないプリンタである旨を表示する。
図６に使用したいプリンタが表示されない場合は、追加ボタン６０３を押下すると使用したいプリンタを一覧に追加できる場合がある。追加ボタン６０３を押下すると、図７に遷移する。
【００２５】
図７は、情報処理装置にインストールされている印刷プラグインを確認する画面の一例である。印刷プラグイン一覧７０１は、現在インストールされていて有効になっている印刷プラグインの一覧である。推奨プラグイン７０２は搭載している印刷システムによって表示されることがある。推奨プラグイン７０２は該当する印刷プラグインがインストールされておらず、かつ印刷システムのＩｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙでプリンタが見つかった場合に表示される。ユーザは推奨プラグイン７０２をタップすると、Ｇｏｏｇｌｅ  Ｐｌａｙの該当する印刷プラグインをインストールするページを表示することができる。
メニューボタン７０３を押下後にメニュー７０４の「プリンタを追加」を押下することで、印刷プラグインの図１０のような独自ＵＩを表示させ、任意のプリンタを探索することができる。図１０については、実施例３で詳細を説明する。
【００２６】
図８は、本実施例における印刷プラグインによるプリンタ探索の処理を示すフローチャートである。プリンタ探索処理は、情報処理端末１１０のＣＰＵ１１１がＲＯＭ１１２に記憶されているプログラムに基づき処理を実行することによって実現される。
Ｓ８０１では、印刷プラグインＥ２１４は探索処理を開始する。探索処理とは、例えば、通信管理モジュール２１７およびネットワークモジュール２１８から同一ネットワーク上に探索のためのＳＮＭＰプロトコルおよびその他のプロトコルのパケットをブロードキャストしてプリンタからの応答を待つ処理である。ここで、同一ネットワークとは、情報処理端末１１０と共通のサブネットのことである。また、探索処理とは、サブネットワーク（以下、サブネット）外に存在するプリンタに対してＳＮＭＰプロトコルおよびその他のプロトコルのパケットをユニキャストしてプリンタからの応答を待つ処理であってもよい。また、前提として、プリンタＡおよびその他のプリンタは、Ｉｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙで使用されているｍＤＮＳプロトコルには、一部のみ対応しているが、Ｓ８０１で行う探索処理のＳＮＭＰ等のプロトコルには、すべてのプリンタが対応している。そのため、Ｓ８０１ではＩｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙの探索プロトコルに対応しているプリンタも含め、同一ネットワーク上にある自ベンダーのすべてのプリンタを探索することができる。ただし、本実施例の印刷プラグインには、ｍＤＮＳ使用して同一ネットワーク上のプリンタを探索する機能はないものとする。
【００２７】
Ｓ８０２では、情報処理端末１１０の印刷システムがＩｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙ機能（所定の探索機能）を搭載しているかどうかを判断する。情報処理端末１１０の印刷システムがＩｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙ機能を搭載しているかどうかは、情報処理端末１１０のＯＳ（モバイルＯＳ）がＩｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙ機能を搭載しているかどうかで判断できる。Ｉｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙ機能（所定の探索機能）は、同一ネットワーク上にあるプリンタを、ｍＤＮＳプロトコルを使って探索する探索機能である。Ｉｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙ機能を搭載しているかどうかの判断は、モバイルＯＳのＳＤＫバージョンを取得して判断する方法、Ｉｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙ機能を持つかどうか、モバイルＯＳのＡＰＩをコールして確かめる方法などで行う。Ｓ８０２で、モバイルＯＳがＩｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙ機能を搭載していないと判断された場合は、Ｓ８０３に進む。一方、モバイルＯＳがＩｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙ機能を搭載していると判断された場合は、Ｓ８０５に進む。
【００２８】
Ｓ８０３では、Ｓ８０１で行った探索処理に対して応答を返してきたプリンタが、印刷プラグインＥ２１４によってサポートされているプリンタ（サポート機）かどうかを判定する。判定方法としては、例えば、印刷プラグインＥ２１４が静的な非サポートプリンターリストをメモリに読み込み、Ｓ８０１で応答したプリンタと照合して非サポートプリンタのみを除く方法がある。また、Ｓ８０１で応答したプリンタが印刷プラグインＥ２１４のサポートするＰＤＬ機能を持っているかどうかを判断し、印刷プラグインＥ２１４のサポートするＰＤＬ機能を持たない場合はサポート機から除く方法もある。さらに、印刷プラグインＥ２１４がサポートするコントローラをプリンタが搭載しているかを、プリンタの応答から判断してサポート機から除く方法などもある。これらの方法を複合的に行うこともあれば、１つのみを適用することもある。
【００２９】
Ｓ８０３でサポート機であった場合は、Ｓ８０４で、印刷プラグインＥ２１４から印刷システムにプリンタの通知を行う。印刷システムへの通知を行うことによって、図６に示すような印刷システム２１０のＵＩ画面のプリンタの一覧に、見つかったプリンタが表示される。Ｓ８０３でサポート機ではなかった場合は、印刷システムにプリンタを通知せずに探索処理を終えるため、サポート機でないプリンタは図６に示すプリンタ一覧画面には表示されない。
【００３０】
Ｓ８０５で、印刷プラグインＥ２１４は、Ｉｎ−ＯＳ  ＤｉｓｃｏｖｅｒｙがＳｐｅｃｉｆｉｃな探索（所定の探索方法）に対応しているか否か判断する。Ｉｎ−ＯＳ  ＤｉｓｃｏｖｅｒｙがＳｐｅｃｉｆｉｃな探索に対応しているか否かは、印刷システム２１０または印刷システム２１０を提供するモバイルＯＳにＳｐｅｃｉｆｉｃ  Ｆｉｎｄｅｒ  Ｐｌｕｇｉｎが追加されているか否かにより判断される。
【００３１】
ここで、所定の探索方法であるＳｐｅｃｉｆｉｃな探索について説明する。Ｉｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙには、２種類の探索方法がある。１つ目は、Ｇｅｎｅｒｉｃな探索（標準的な探索方法）であり、ｍＤＮＳプロトコルに従ったプリンタを探索し、そのプリンタベンダーの印刷プラグインのインストールを促す。Ｇｅｎｅｒｉｃな探索は、モバイルＯＳに標準的に搭載されているＧｅｎｅｒｉｃ  Ｆｉｎｄｅｒ  Ｐｌｕｇｉｎにより、その機能が提供されている。２つ目はＳｐｅｃｉｆｉｃな探索（所定の探索方法）であり、印刷ベンダーは印刷システムに対して追加機能（探索ロジック）を提供することができる。Ｓｐｅｃｉｆｉｃな探索は、モバイルＯＳにＳｐｅｃｉｆｉｃ  Ｆｉｎｄｅｒ  Ｐｌｕｇｉｎが追加されることで、追加機能が提供される。Ｓｐｅｃｉｆｉｃな探索を印刷システムに提供した場合、そのベンダーのプリンタは、Ｇｅｎｅｒｉｃな探索では見つからなくなる。
【００３２】
印刷システム２１０に対してＳｐｅｃｉｆｉｃな探索を提供しているかどうかは、例えば、次の方法で判断可能である。印刷システム２１０内で、Ｓｐｅｃｉｆｉｃな探索ロジックを提供したＯＳのバージョンと、そうでないバージョンを管理した静的なリストを保持し、リストから判断する。また、モバイルＯＳのＡＰＩから判断可能な場合もある。
Ｓｐｅｃｉｆｉｃな探索を提供していると判断された場合は、Ｓ８０６に進む。一方、Ｓｐｅｃｉｆｉｃな探索を提供していないと判断された場合は、Ｓ８０７に進む。
【００３３】
Ｓ８０６で、印刷プラグインＥ２１４は、Ｓ８０１で行った探索処理に対して応答を返してきたプリンタが、印刷プラグインＥ２１４によってサポートされているプリンタ（サポート機）かどうかの判定を行う。このときの判定方法は、Ｓ８０３と同一である。Ｓ８０６でサポート機ではない場合は、印刷システムにプリンタを通知せず、探索処理を終える。Ｓ８０６でサポート機であった場合は、Ｓ８０８へ移行する。一方、サポート機でなかった場合は、探索を終了する。
【００３４】
Ｓ８０８では、印刷プラグインＥ２１４は、プリンタからステータスを取得する。ステータスの取得は、プリンタとＳＮＭＰまたはその他のプロトコルを使ってユニキャストの通信を行い、プリンタの状態パラメータを取得することで行われる。たとえばプリンタの状態パラメータには、Ｒｅａｄｙ、ビジー、ワーニング等がある。
Ｓ８０９では、Ｓ８０８で取得した情報から、図６の状態表示領域６０２にプリンタのステータスを表示するために、印刷システムに通知するプリンタの情報に、プリンタのステータスを記載する。
Ｓ８１０では、Ｓ８０４と同様に、印刷プラグインＥ２１４から印刷システムに対してプリンタの情報を通知する。
【００３５】
Ｓ８０７で、印刷プラグインＥ２１４は、Ｓ８０１で行った探索処理に対して応答を返してきたプリンタが、印刷プラグインＥ２１４によってサポートされているプリンタ（サポート機）かどうかの判定を行う。このときの判定方法は、Ｓ８０３と同一である。プリンタがサポート機であった場合は、Ｓ８０８に進む。一方、プリンタがサポート機ではなかった場合、Ｓ８１１に移行する。
Ｓ８１１で、印刷プラグインＥ２１４は、プリンタがサポート機ではないことを図６の非サポート表示６０４のように明示的に示すため、印刷システムに通知するプリンタの情報に、プリンタが非サポートであるという情報を記載する。
Ｓ８１２では、Ｓ８１０と同様に印刷システムに対してプリンタを通知する。
【００３６】
以上説明したように、本実施例によると、印刷プラグインによるプリンタの探索で、プリンタが該印刷プラグインでサポートされない非サポート機であると判明した場合、その旨をプリンタ一覧において表示する。例えば、印刷システム２１０がＩｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙによって印刷プラグインが非サポートのプリンタを探索し、そのプリンタベンダーの印刷プラグインのインストールをユーザに促す表示を行う。ユーザが表示に従いインストールした場合において、インストールした印刷プラグインで探索を行うと、非サポート機である場合、非サポート機であることが表示され、ユーザはプリンタが使用できないことを把握することができる。したがって、ユーザの認識性を向上させることができる。
【００３７】
（実施例２）
実施例１では、ネットワーク上の自ベンダーのすべてのプリンタを探索して表示した。これにより、印刷プラグインが非サポートのプリンタに対して、Ｉｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙで印刷プラグインのインストールを促され、ユーザにプリンタがインストールされた印刷プラグインがプリンタを非サポートであることを伝えることができた。
実施例１では、印刷プラグインＥ２１４はネットワーク上のプリンタがｍＤＮＳに対応しているかどうかを判断せず、ｍＤＮＳ非対応機であっても、非サポート機として表示していた。しかし、印刷プラグインＥ２１４はプリンタに問い合わせてｍＤＮＳ対応機かどうかの情報が取得できることが望ましい。もしプリンタがｍＤＮＳ対応機かどうかわかれば、Ｉｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙで見つかるプリンタかどうか判定可能である。Ｉｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙで見つからないプリンタは、たとえ印刷プラグインに非サポートのプリンタであっても、印刷プラグインは探索後に表示しないほうがユーザに余計な誤解を与えない。
本実施例では、プリンタについてｍＤＮＳによる探索機能をサポートしているかどうかの情報を取得できる場合、ｍＤＮＳ対応であるかどうか、印刷プラグインがサポートしているかどうかによって探索後の表示結果を切り替える。表示結果を切り替えることで、ユーザに使用できるプリンタをわかりやすく表示することを目的とする。
【００３８】
図９は、実施例２における印刷プラグインによるプリンタ探索の処理を示すフローチャートである。Ｓ９０１からＳ９０６の処理までは実施例１のＳ８０１からＳ８０６までの処理と同一である。また、Ｓ９０９からＳ９１４までの処理は実施例１のＳ８０７からＳ８１２と同様である。以下、実施例１との差異であるＳ９０７及びＳ９０８について説明する。
【００３９】
Ｓ９０７では、印刷プラグインＥ２１４が、プリンタがｍＤＮＳ対応機かどうかの情報を取得する。これは、Ｓ９０１で探索に応答したプリンタに対して、ＳＮＭＰまたはその他のプロトコルでユニキャストの通信を行い、プリンタがｍＤＮＳの機能を搭載しているかどうかの情報を取得する。
【００４０】
Ｓ９０８ではＳ９０７で取得した情報からプリンタがｍＤＮＳ対応機かどうかを判断する。プリンタがｍＤＮＳ非対応である場合はＳ９０６へ移行する。Ｓ９０６ではプリンタがｍＤＮＳ非対応のプリンタであり、かつ印刷プラグインＥ２１４のサポート機ではない時、探索の処理を終了する。この処理により、プリンタがｍＤＮＳ非対応機であり、かつ印刷プラグインＥ２１４の非サポート機である場合、図６のプリンタ一覧画面にプリンタを表示しない。
【００４１】
プリンタがｍＤＮＳ非対応機である場合は、Ｉｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙによって印刷システム２１０から探索されないため、実施例１のように、ユーザがプリンタに非対応の印刷プラグインをインストールしてしまう恐れがない。そのため、印刷プラグインに非対応である旨と共にプリンタを一覧に表示する必要はないので、プリンタを探索により見つけても図６のプリンタ一覧には表示しない。
【００４２】
ステップ９０８においてｍＤＮＳ対応プリンタであると判断した場合、Ｓ９０９へ移行する。Ｓ９０９からＳ９１４までの処理は実施例１のＳ８０７からＳ８１２と同様である。
【００４３】
以上の処理により、Ｉｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙに対応したプリンタについては、非サポート機であっても探索後にプリンタ一覧に表示する。そして、Ｉｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙ機能に非対応のプリンタについては、印刷プラグインが非サポートの場合、図６のプリンタ一覧には表示しない。よって、印刷プラグインは、実施例１のような課題が発生する場合のみ、非サポートのプリンタも探索後に表示することができ、よりユーザに使用できるプリンタをわかりやすく提示することができる。
【００４４】
（実施例３）
Ｉｎ−ＯＳ  Ｄｉｓｃｏｖｅｒｙ機能で使われているｍＤＮＳプロトコルによる探索は、モバイルだけではなくプリンタ探索の標準的なプロトコルになりつつある。これまでは、コンパクトな写真用プリンタからビジネス向けの大型なプリンタまで、幅広いプリンタをサポートするために、印刷プラグインＥ２１４は様々なプリンタの探索及び印刷のプロトコルをサポートしなければならなかった。しかし、モバイルでの探索および印刷のプロトコルが統一されつつあり、将来的に印刷プラグインは標準プロトコルのｍＤＮＳのみをサポートすれば十分になる可能性が高い。
【００４５】
印刷プラグインＥ２１４は、サブネットを超えたネットワークに存在するプリンタを探索する機能を持っている。例えば、図７の情報処理端末にインストールされている印刷プラグインを確認する画面において、メニューボタン７０３を押下し、サブメニューから「プリンタを追加」を押下する。すると、ＵＩ表示用モジュール２１６は、図１０の１００１に示すようなＩＰアドレス入力ダイアログを表示させる。ユーザは入力ダイアログ１００１に探索したいサブネット外のプリンタのＩＰアドレスを入力することでプリンタを探索することができる。入力ダイアログ１００１にＩＰアドレスを入力して探索されたプリンタは、印刷プラグインＥ２１４が静的に保持するプリンタリストに追加される。
しかし、ｍＤＮＳプロトコルの仕様によりサブネットを超えたプリンタを探索することができないケースがある。本実施例では、印刷プラグインＥ２１４がｍＤＮＳプロトコルを使って探索を行う場合に、サブネットを超えたプリンタであっても探索によって見つける。
【００４６】
図１１及び図１２は、実施例３における処理を示すフローチャートである。Ｓ１１０１では、複合的な探索処理を行い、同一ネットワーク内のみならず同一ネットワーク外（サブネット外）にあるプリンタも探索する。複合的な探索とは、図１２に示されるＳ１１０２からＳ１１０５までの処理のことで、ｍＤＮＳとその他のプロトコルを必要に応じて使用する処理である。
Ｓ１１０２では、サブネットを超えた探索が必要であるかどうか（同一のネットワーク外のプリンタの探索を行うか否か）を判断する。サブネット外にあるプリンタを探索するかどうかは、前述の印刷プラグインＥ２１４内で静的に管理するプリンタリストにプリンタが追加されているかどうかから判断する。プリンタが１台以上追加されている場合、サブネットを超えた探索が必要であると判断する。
【００４７】
Ｓ１１０２でサブネット外探索が必要なプリンタリストにプリンタが１台でも追加されている場合は、Ｓ１１０４の処理を行う。Ｓ１１０４では、ＳＮＭＰプロトコルまたはその他のプロトコルでサブネット外のプリンタとユニキャスト通信する。これは、ｍＤＮＳプロトコルでは、サブネット外のプリンタを探索することができないことがあるためである。その代りに従来のＳＮＭＰプロトコルやその他の探索プロトコルで通信を行う。
Ｓ１１０５では、Ｓ１１０４で通信したプリンタに対してＳ１１０４と同一のプロトコルでｍＤＮＳに対応したプリンタかどうかを問い合わせる。この処理は図９のＳ９０７と同一の処理である。
【００４８】
Ｓ１１０２でサブネットを超えた探索が必要ではないと判断された場合、Ｓ１１０３でｍＤＮＳによるネットワーク上のプリンタ探索を行う。また、Ｓ１１０２でサブネットを超えた探索が必要であると判断された場合、Ｓ１１０４ではサブネット外のプリンタに対する探索しか行われていないため、サブネット内のプリンタに対して、Ｓ１１０３でｍＤＮＳによるネットワーク上のプリンタ探索を行う。
複合的な探索処理が終了すると、図１１のＳ１１０６に進む。
【００４９】
Ｓ１１０６からＳ１１１０までの処理は、実施例２のＳ９０２からＳ９０８までの処理と同一である。Ｓ１１１１では、Ｓ１１０３で行うｍＤＮＳの探索に応答したプリンタは、すべてｍＤＮＳ対応プリンタであると判断し、Ｓ１１０５で取得した情報がｍＤＮＳ機能を持たないプリンタであることを示す場合は、ｍＤＮＳ非対応のプリンタであると判断する。また、Ｓ１１１２からＳ１１１７までの処理は実施例２のＳ９０９からＳ９１４と同一の処理である。
【００５０】
以上説明したように、本実施例によると、印刷プラグインＥ２１４がｍＤＮＳプロトコルを使ってプリンタ探索を行う場合においてサブネット外までプリンタ探索する必要があるとき、ＳＮＭＰなどの従来のプロトコルで代替することが可能になる。従来のプロトコルにより、サブネット外までプリンタ探索を行うことができる。
【００５１】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００５２】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【図１】
2018041246.tif 000003
【図２】
2018041246.tif 000004
【図３】
2018041246.tif 000005
【図４】
2018041246.tif 000006
【図５】
2018041246.tif 000007
【図６】
2018041246.tif 000008
【図７】
2018041246.tif 000009
【図８】
2018041246.tif 000010
【図９】
2018041246.tif 000011
【図１０】
2018041246.tif 000012
【図１１】
2018041246.tif 000013
【図１２】
2018041246.tif 000014