(57)【要約】【課題】  複数の検索方法で同一の通信装置が検索されたときに、当該通信装置に関する情報を、ユーザに応じた適切な表示方法で表示する。【解決手段】  通信装置の特定情報と、当該特定情報の取得に用いられた検索方法を示す所定の情報の組み合わせを、複数の表示方法のうちのユーザによる選択に応じた表示方法に従って表示する。【選択図】  図６
2019186860.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して通信装置を検索する情報処理装置により実行されるプログラムであって、
第１の検索方法と第２の検索方法のそれぞれを用いて前記通信装置を検索することで、前記通信装置をユーザが特定するための特定情報と、前記情報処理装置が前記通信装置を識別するための識別情報を取得する取得手段と、
前記取得手段が前記第１の検索方法または前記第２の検索方法により前記特定情報と前記識別情報を取得した場合に、当該取得された特定情報と、前記第１の検索方法と前記第２の検索方法のうちの当該取得に用いられた検索方法を示す所定の情報とを対応付けて表示する表示手段と、
として前記情報処理装置を機能させ、
前記取得手段が前記第１の検索方法と前記第２の検索方法により同一の識別情報を重複して取得した場合、前記表示手段は、当該同一の識別情報に対応する前記特定情報と前記所定の情報の組み合わせを、複数の表示方法のうちのユーザによる選択に応じた表示方法に従って表示することを特徴とするプログラム。
【請求項２】
前記複数の表示方法は、前記同一の識別情報に対応する前記特定情報と前記第１の検索方法を示す前記所定の情報を対応付けて表示し且つ前記特定情報と前記第２の検索方法を示す前記所定の情報を対応付けて表示する第１の表示方法と、前記第１の検索方法と前記第２の検索方法のいずれか一方の前記所定の情報と前記特定情報を対応付けて表示し且つ前記第１の検索方法と前記第２の検索方法の他方の前記所定の情報を表示しない第２の表示方法を含むことを特徴とする請求項１に記載のプログラム。
【請求項３】
前記複数の表示方法は、前記同一の識別情報に対応する前記特定情報と前記第１の検索方法を示す前記所定の情報を対応付けて表示し且つ前記第２の検索方法を示す前記所定の情報を表示しない第３の表示方法と、前記特定情報と前記第２の検索方法を示す前記所定の情報を対応付けて表示し且つ前記第１の検索方法を示す前記所定の情報を表示しない第４の表示方法を含むことを特徴とする請求項１または２に記載のプログラム。
【請求項４】
前記表示手段により前記特定情報と前記所定の情報の、複数の組み合わせが表示されているときに、前記表示における前記ユーザの指示に応じて、前記複数の組み合わせから１つの組み合わせを選択する選択手段と、
前記第１の検索方法に対応する第１の処理方法または前記第２の検索方法に対応する第２の処理方法を用いて、前記取得手段により前記特定情報と前記識別情報が取得された通信装置に所定の処理を実行させる制御手段として前記情報処理装置をさらに機能させ、
前記制御手段は、第１の処理方法と前記第２の処理方法のうちの、前記選択手段により選択された組み合わせに含まれる前記所定の情報が示す検索方法に対応する処理方法により、前記選択された組み合わせに含まれる前記特定情報に対応する通信装置に、前記所定の処理を実行させることを特徴とする請求項２または３に記載のプログラム。
【請求項５】
前記所定の処理は、前記通信装置としてのプリンタに印刷対象のデータを送信して、前記プリンタに印刷を実行させる処理であることを特徴とする請求項４に記載のプログラム。
【請求項６】
前記第１の検索方法は、第１の印刷プラグインを用いてプリンタを検索する検索方法であり、前記第２の検索方法は、第２の印刷プラグインを用いてプリンタを検索する検索方法であり、
前記第１の処理方法は、前記第１の印刷プラグインを用いて印刷を実行させる処理方法であり、前記第２の処理方法は、前記第２の印刷プラグインを用いて印刷を実行させる処理方法であることを特徴とする請求項５に記載のプログラム。
【請求項７】
前記第１の処理方法はさらに、前記第１の印刷プラグインがサポートする印刷設定に従って印刷を実行させる処理方法であり、前記第２の処理方法はさらに、前記第２の印刷プラグインがサポートする印刷設定に従って印刷を実行させる処理方法であることを特徴とする請求項６に記載のプログラム。
【請求項８】
ユーザにより選択された印刷設定の設定値に応じて、前記第１の印刷プラグインと前記第２のプラグインのうちの、前記選択された設定値をサポートする印刷プラグインを特定する特定手段として前記情報処理装置をさらに機能させ、
前記制御手段は、前記特定手段により特定された印刷プラグインを用いて、前記プリンタに印刷を実行させることを特徴とする請求項６または７に記載のプログラム。
【請求項９】
前記第１の検索方法は、第１の通信方式を用いてプリンタを検索する検索方法であり、前記第２の検索方法は、第２の通信方式を用いてプリンタを検索する検索方法であり、
前記第１の処理方法は、前記第１の通信方式を用いて印刷対象のデータを送信する処理方法であり、前記第２の処理方法は、前記第２の通信方式を用いて印刷対象のデータを送信する処理方法であることを特徴とする請求項５に記載のプログラム。
【請求項１０】
ネットワークを介して通信装置を検索する情報処理装置であって、
第１の検索方法と第２の検索方法のそれぞれを用いて前記通信装置を検索することで、前記通信装置をユーザが特定するための特定情報と、前記情報処理装置が前記通信装置を識別するための識別情報を取得する取得手段と、
前記取得手段が前記第１の検索方法または前記第２の検索方法により前記特定情報と前記識別情報を取得した場合に、当該取得された特定情報と、前記第１の検索方法と前記第２の検索方法のうちの当該取得に用いられた検索方法を示す所定の情報とを対応付けて表示する表示手段と、
を有し、
前記取得手段が前記第１の検索方法と前記第２の検索方法により同一の識別情報を重複して取得した場合、前記表示手段は、当該同一の識別情報に対応する前記特定情報と前記所定の情報の組み合わせを、複数の表示方法のうちのユーザによる選択に応じた表示方法に従って表示することを特徴とする情報処理装置。
【請求項１１】
ネットワークを介して通信装置を検索する情報処理装置の制御方法であって、
第１の検索方法と第２の検索方法のそれぞれを用いて前記通信装置を検索することで、前記通信装置をユーザが特定するための特定情報と、前記情報処理装置が前記通信装置を識別するための識別情報を取得する取得工程と、
前記取得工程において前記第１の検索方法または前記第２の検索方法により前記特定情報と前記識別情報が取得された場合に、当該取得された特定情報と、前記第１の検索方法と前記第２の検索方法のうちの当該取得に用いられた検索方法を示す所定の情報とを対応付けて表示する表示工程と、
を前記情報処理装置に実行させ、
前記取得工程において前記第１の検索方法と前記第２の検索方法により同一の識別情報が重複して取得された場合、前記表示工程では、当該同一の識別情報に対応する前記特定情報と前記所定の情報の組み合わせを、複数の表示方法のうちのユーザによる選択に応じた表示方法に従って表示することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置を検索するプログラム、情報処理装置、および制御方法に関する。
【背景技術】
【０００２】
近年、無線ＬＡＮルーター等の外部アクセスポイントを介した通信や、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ等によるピアツーピア通信等の通信方式により通信装置（プリンタ等）と通信可能な情報処理装置（スマートフォン等）が知られている。このような情報処理装置は、通信装置と通信を行うために、周囲に存在する通信装置を検索する処理を実行する。そこで、複数の通信方式のそれぞれで通信可能な通信装置の検索結果をユーザに提示し、その中から通信を行う通信装置をユーザに選択させる情報処理装置が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１１６７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述のように、複数の通信方式等の複数の検索方法で通信装置を検索した場合に、該複数の検索方法により同一の通信装置が検知される場合がある。この場合に、ユーザに通信装置の情報を提示するときに、複数の検索方法それぞれに対応させて通信装置の情報を複数提示するのではなく、１つの検索方法のみに対応させて通信装置の情報を１つのみ提示することも考えられる。
【０００５】
しかしながら、同一の通信装置であっても実際には複数の検索方法で検知されたため、その同一の通信装置に関する情報を提示する方法としてどのような方法が望ましいかについては、ユーザによって異なる。
【０００６】
本発明は、上記の課題を解決するためになされたもので、複数の検索方法で同一の通信装置が検索されたときに、当該通信装置に関する情報を、ユーザに応じた適切な表示方法で表示することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
そこで、上記目的を達成するために、本発明のプログラムは、ネットワークを介して通信装置を検索する情報処理装置により実行されるプログラムであって、第１の検索方法と第２の検索方法のそれぞれを用いて前記通信装置を検索することで、前記通信装置をユーザが特定するための特定情報と、前記情報処理装置が前記通信装置を識別するための識別情報を取得する取得手段と、前記取得手段が前記第１の検索方法または前記第２の検索方法により前記特定情報と前記識別情報を取得した場合に、当該取得された特定情報と、前記第１の検索方法と前記第２の検索方法のうちの当該取得に用いられた検索方法を示す所定の情報とを対応付けて表示する表示手段と、として前記情報処理装置を機能させ、前記取得手段が前記第１の検索方法と前記第２の検索方法により同一の識別情報を重複して取得した場合、前記表示手段は、当該同一の識別情報に対応する前記特定情報と前記所定の情報の組み合わせを、複数の表示方法のうちのユーザによる選択に応じた表示方法に従って表示することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、複数の検索方法で通信装置が検索されたときに、通信装置に関する情報を、ユーザに応じた適切な表示方法で表示することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態の情報処理システムの概略図である。
【図２】本実施形態におけるスマートフォン、プリンタの構成を示す図である。
【図３】本実施形態におけるスマートフォンのソフトウェア構成を示す図である。
【図４】本実施形態におけるスマートフォンによる、印刷に関する画面表示を示す図である。
【図５】本実施形態における印刷モードの選択処理を示す図である。
【図６】本実施形態におけるプリンタ検索処理の一例を示す図である。
【図７】本実施形態におけるプリンタ検索処理の別の例を示す図である。
【図８】プリンタ選択後の処理の一例を説明するための図である。
【図９】本実施形態における印刷設定処理を説明するための図である。
【図１０】本実施形態における全体フローの一例を示す図である。
【図１１】能力情報管理テーブルの別の例を示す図である。
【発明を実施するための形態】
【００１０】
以下に図面を参照して、本発明の好適な実施形態を例示的に説明する。ただし、本発明については、その趣旨を逸脱しない範囲で、当業者の通常の知識に基づいて、以下に記載する実施形態に対して適宜変更、改良が加えられたものについても本発明の範囲に入ることが理解されるべきである。
【００１１】
本実施形態における情報処理装置について説明する。本実施形態においては、情報処理装置として、スマートフォンを例示している。なお、情報処理装置は、スマートフォンのみならず、携帯端末、パーソナルコンピュータ（以下、ＰＣという。）、タブレット端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、デジタルカメラなど種々のものを適用可能である。また、本実施形態における情報処理装置が検索する通信装置として、情報処理装置と通信可能なインクジェット方式のプリンタを例示している。なお、他にも通信装置として、インクジェット方式のプリンタ以外の画像処理装置、ＰＣ、携帯端末、スマートフォン、タブレット端末、ＰＤＡ、デジタルカメラ、テレビ、スキャナ等を利用可能である。また、インクジェット方式のプリンタ以外の画像処理装置は、例えば、フルカラーレーザービームプリンタ、モノクロプリンタ、複写機やファクシミリ装置等の装置である。さらに、それらの装置は、マルチファンクションであってもシングルファンクションであっても良い。
【００１２】
図１は、本実施形態の情報処理システムの概略図である。スマートフォン１０１は、本実施形態の情報処理装置である。プリンタ１０２、１０３、１０６は、本実施形態の通信装置である。スマートフォン１０１と、プリンタ１０２、１０３、１０６は、無線ＬＡＮ等のネットワークを介して接続されている。アクセスポイント１０４は、情報処理装置及び通信装置外部に存在する外部アクセスポイントである。情報処理装置は、外部アクセスポイントを介して通信することで、当該外部アクセスポイントと接続している通信装置や、インターネットと通信することができる。本実施形態において、プリンタ１０２は、スマートフォン１０１とピアツーピアで直接通信することが可能であり、Ｗｉ−Ｆｉ（ＷｉｒｅｌｅｓｓＦｉｄｅｌｉｔｙ）  Ｄｉｒｅｃｔによって無線通信するものとする。また、プリンタ１０３は、スマートフォン１０１とアクセスポイント１０４を介して通信することが可能であり、ＩＥＥＥ８０２．１１によって通信するものとする。また、プリンタ１０３は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔによりスマートフォン１０１と通信することも可能である。さらに、プリンタ１０６は、アクセスポイント１０５を介してスマートフォン１０１と通信可能であるが、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔには対応していないものとする。
【００１３】
なお、本実施形態においては、プリンタ１０２以外にも、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔによりスマートフォン１０１と通信可能な不図示のプリンタが存在するものとする。また、プリンタ１０３以外にも、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔおよびアクセスポイント１０４を介した無線ＬＡＮによりスマートフォン１０１と通信可能な不図示のプリンタが存在するものとする。さらに、プリンタ１０６以外にも、アクセスポイント１０５を介してスマートフォン１０１と通信可能な不図示のプリンタが存在するものとする。
【００１４】
図２は、本実施形態におけるスマートフォン１０１、プリンタ１０３、１０６の構成を示す図である。スマートフォン１０１は、入力インタフェース２０２、ＣＰＵ２０３、ＲＯＭ２０４、ＲＡＭ２０５、外部記憶装置２０６、出力インタフェース２０７、表示部２０８、通信部２０９、操作部２１０、撮影装置２１１等を有する。
【００１５】
操作部２１０は、ユーザからのデータ入力や動作指示を受け付けるための操作デバイスであり、物理キーボードやボタン、タッチパネル等で構成される。入力インタフェース２０２は、操作部２１０に対する操作に対応する信号を、ＣＰＵ２０３に送信する。なお、後述の出力インタフェース２０７と入力インタフェース２０２とを同一の構成とし、表示部２０８への表示と操作部２１０に対するユーザからの操作の受け付けを同一の構成で行うような形態としても良い。
【００１６】
ＣＰＵ２０３は、システム制御部であり、スマートフォン１０１の全体を制御する。ＲＯＭ２０４は、ＣＰＵ２０３が実行する制御プログラムやデータテーブル、組み込みオペレーティングシステム（以下、ＯＳという。）プログラム等の固定データを格納する。本実施形態では、ＲＯＭ２０４に格納されている各制御プログラムは、ＲＯＭ２０４に格納されている組み込みＯＳの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウェア実行制御を行う。ＲＡＭ２０５は、バックアップ電源を必要とするＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成される。なお、ＲＡＭ２０５は、図示しないデータバックアップ用の１次電池によってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、スマートフォン１０１の設定情報やスマートフォン１０１の管理データ等を格納するメモリエリアもＲＡＭ２０５に設けられている。また、ＲＡＭ２０５は、ＣＰＵ２０３の主メモリとワークメモリとしても用いられる。
【００１７】
外部記憶装置２０６は、画像や文書を扱うアプリケーションプログラム（以降、アプリケーションとも称する）や、後述する印刷実行機能を提供するプラグインソフトウェア（以降、プラグインとも称する）を備えている。また、外部記憶装置２０６は、プリンタ１０３、１０６が解釈可能な印刷情報を生成する印刷情報生成プログラム、通信部２０９を介して接続しているプリンタ１０３、１０６との間で送受信する情報送受信制御プログラム等の各種プログラムを備えている。これらのプログラムが使用する各種情報を保存している。また、通信部を介して他の情報処理装置やインターネットから得た画像データも保存している。
【００１８】
ＣＰＵ２０３は、ＲＯＭ２０４や外部記憶装置２０６に格納されている各種のプログラムを、ＲＡＭ２０５をワークメモリとして実行することで、スマートフォン１０１が備える各構成要素を制御することができる。例えばＣＰＵ２０３は、上記のアプリケーション、プラグインを、ＯＳを用いて実行することで、アプリケーション、プラグインに記述されている各種の処理を実現することができる。
【００１９】
出力インタフェース２０７は、表示部２０８がデータの表示やスマートフォン１０１の状態の通知を行うための制御を行うインタフェースである。ＣＰＵ２０３は、出力インタフェース２０７を制御することで、表示部２０８に各種の表示を行わせることができる。表示部２０８は、ＬＥＤ（発光ダイオード）やＬＣＤ（液晶ディスプレイ）などを含み、データの表示やスマートフォン１０１の状態の通知を行う。なお、表示部２０８がタッチパネルである場合に、表示部２０８上に、数値入力キー、モード設定キー、決定キー、取り消しキー、電源キー等のキーを備えるソフトキーボードが表示されてもよい。そして、表示部２０８を介してユーザからの入力が受け付けられても良い。
【００２０】
通信部２０９は、ＣＰＵ２０３による制御により通信装置１５１等の装置と接続して、データ通信を実行するための構成要素である。例えば、通信部２０９は、アクセスポイント１０４、１０５に接続可能である。またプリンタ１０３については、アクセスポイントを介さずに、通信部２０９とプリンタ１０３が備える通信部１５６がＷｉＦｉ  Ｄｉｒｅｃｔにより接続される。ＷｉＦｉ  Ｄｉｒｅｃｔの場合、通信部２０９と通信部１５６のいずれかがグループオーナーとなり、接続が確立される。本実施形態の場合は、通信部１５６がグループオーナーとなるものとする。
【００２１】
撮影装置２１１は撮影素子で撮影した画像をデジタルデータに変換する装置である。デジタルデータは一度ＲＡＭ２０５に格納される。その後、ＣＰＵ２０３がプログラムを実行することで、該デジタルデータを所定の画像フォーマットに変換し、画像データとして外部記憶装置２０６に保存する。
【００２２】
次に、プリンタ１０３、１０６の構成について説明する。なお、プリンタ１０２についても、プリンタ１０３、１０６と同様の構成を備えるものとする。そして、スマートフォン１０１の通信部２０９との通信の際には、通信部１５６がグループオーナーとなり、ＷｉＦｉ  Ｄｉｒｅｃｔにより通信が行われるものとする。
【００２３】
プリンタ１０２、１０３、１０６は、ＲＯＭ１５２、ＲＡＭ１５３、ＣＰＵ１５４、プリントエンジン１５５、通信部１５６、操作部１５７、入力インタフェース１５８、出力インタフェース１５９、表示部１６０、等を有する。また、プリンタ１０２、１０３、１０６が、原稿を読み取るスキャナを備えていてもよい。
【００２４】
ＲＡＭ１５３は、バックアップ電源を必要とするＤＲＡＭ等で構成される。なお、ＲＡＭ１５３は、図示しないデータバックアップ用の電源が供給されることによってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、ＲＡＭ１５３は、ＣＰＵ１５４の主メモリとワークメモリとしても用いられ、スマートフォン１０１等から受信した印刷情報を一旦保存するための受信バッファや各種の情報を保存する。ＲＯＭ１５２は、ＣＰＵ１５４が実行する制御プログラムやデータテーブル、ＯＳプログラム等の固定データを格納する。本実施形態では、ＲＯＭ１５２に格納されている各制御プログラムは、ＲＯＭ１５２に格納されている組み込みＯＳの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウェア実行制御を行うためのプログラムモジュールを含む。また、通信装置１５１の設定情報や通信装置１５１の管理データ等の電源供給がされていない場合も保持する必要があるデータを格納するメモリエリアもＲＯＭ１５２に設けられている。
【００２５】
ＣＰＵ１５４は、システム制御部であり、ＲＯＭ１５２に格納されている各種のプログラムを、ＲＡＭ１５３をワークメモリとして実行することで、通信装置１５１の全体を制御する。
【００２６】
プリントエンジン１５５は、印刷媒体（印刷用紙等）を搬送する機構や、インクやトナー等の記録材を印刷媒体に付与するための機構を含む。インクを印刷媒体に付与する場合、プリントエンジン１５５には、インクを吐出する記録ヘッドが装着可能なキャリッジや、該キャリッジを印刷媒体に対して走査するための機構が含まれる。ＣＰＵ１５４は、ＲＡＭ１５３に保存された情報やスマートフォン１０１等から受信した印刷ジョブに基づいてプリントエンジン１５５を制御し、インク等の記録材を用いて紙等の印刷媒体上に画像形成して、印刷結果を出力する。なお、印刷対象のデータや印刷設定は、通信部１５６による通信により、スマートフォン１０１から受信される。
【００２７】
操作部１５７は、ユーザからのデータ入力や動作指示を受け付けるための操作デバイスであり、物理キーボードや、電源ボタン等のボタン、タッチパネル等を含む。入力インタフェース１５８は、操作部１５７に対する操作に対応する信号を、ＣＰＵ１５４に送信する。なお、後述の出力インタフェース１５９と入力インタフェース１５８とを同一の構成とし、表示部１６０への表示と操作部１５７へのユーザからの操作の受け付けを同一の構成で行うような形態としても良い。出力インタフェース１５９は、表示部１６０がデータの表示やプリンタの状態に関する表示等を行うための制御を行うインタフェースである。
【００２８】
表示部１６０は、ＬＥＤ（発光ダイオード）やＬＣＤ（液晶ディスプレイ）などを含み、ペアリングに関する情報（ＰＩＮコード等）の表示、データの表示や通信装置１５１の状態の通知を行う。なお、表示部１６０がタッチパネルの場合、表示部１６０上に、数値入力キー、モード設定キー、決定キー、取り消しキー、電源キー等のキーを備えるソフトキーボードが表示され、表示部１６０を介してユーザからの入力を受け付けられても良い。
【００２９】
次に、スマートフォン１０１のソフトウェア構成について説明する。図３は、スマートフォン１０１のソフトウェア構成を示す図であり、図３に示すソフトウェアがＲＯＭ２０４に格納されている。
【００３０】
アプリケーション３０１は、文書や写真等を扱うアプリケーションである。印刷システム３０２はＯＳの一部として機能し、アプリケーション３０１においてユーザにより印刷が指示された場合に、アプリケーション３０１より呼び出される。プラグインＡ３０３、プラグインＢ３０４はそれぞれ印刷プラグインであり、印刷システム３０２にアドインしてインストールされている。プラグインＡ３０３、プラグインＢ３０４、プラグインＣ３０５はそれぞれ、印刷設定や印刷ジョブの生成を行うプログラムモジュールである印刷制御部と、ＯＳを介してネットワーク上のプリンタを検索するプログラムモジュールであるプリンタ検索部を備える。またプリンタ検索部は、アクセスポイントを介して無線ＬＡＮによりプリンタを検索すると共に、ＷｉＦｉ  Ｄｉｒｅｃｔによりプリンタを検索する。なお、検索方法はこの２つに限るものではなく、Ｂｌｕｅｔｏｏｔｈなど別の通信方式による検索方法でもよい。また、プラグインは３つに限るものではなく、さらに別のプラグインがインストールされていてもよい。
【００３１】
次に、本実施形態におけるプリンタの検索処理における画面表示について説明する。図４は、本実施形態におけるスマートフォンによる、印刷に関する画面表示を示す図である。
【００３２】
図４（ａ）は、アプリケーション３０１により印刷対象の候補の写真が表示された場合において、ユーザが不図示のメニューボタンにタッチした際の表示部２０８による表示画面を示す。なお、表示部２０８は操作部２１０と一体のタッチパネルであるものとする。メニューボタンがタッチされると、表示部２０８の右上に各メニューが表示される。そのメニューの中に、印刷ボタン４００が含まれる。印刷ボタン４００がユーザによりタッチされると、図４（ｂ）に示す画面に切り替わる。図４（ｂ）に示す画面、および後述の図４（ｃ）〜図４（ｆ）に示す画面は、例えば印刷システム３０２により表示される。
【００３３】
図４（ｂ）に示す画面は、印刷に使用されるプラグインを示すプラグインアイコン４０２と、印刷に使用されるプリンタをユーザが特定するための特定情報としてのプリンタ名称４０３を含む。なお、図４（ｂ）において表示されるプラグインアイコン４０２、プリンタ名称４０３は、最後に印刷された際に使用されたプラグイン、プリンタに対応するものであってもよいし、予め設定されているプラグイン、プリンタに対応するものであってもよい。また、印刷設定４０４は、現在設定されている印刷設定として、部数と用紙サイズを示す。後述するように、印刷設定４０４で示されている設定値を変更することも可能である。
【００３４】
図４（ｂ）に示す画面に含まれる印刷指示ボタン４０１がユーザによりタッチされると、ＣＰＵ２０３は印刷システム３０２により、図４（ｂ）に示す画面において指定されている、プリンタ名称４０３のプリンタに、通信部２０９を介して印刷ジョブを送信する。印刷ジョブには、現在設定されている印刷設定と、図４（ｂ）に示されている印刷対象の写真や文書等のデータが含まれる。当該印刷ジョブを受信したプリンタは、印刷ジョブに含まれる印刷対象のデータを、印刷ジョブに含まれる印刷設定に従って印刷する。なお、プリンタに印刷ジョブを送信するための通信方式は、前回当該プリンタへの印刷に使用された通信方式である。また後述の図４（ｃ）または図４（ｄ）でユーザによる選択が行われた場合、その選択に応じた通信方式が用いられる。また、当該プリンタと通信するためのＩＰアドレス等の通信情報、または当該プリンタを探索するためのＭＡＣアドレス等の識別情報は、事前に印刷システム３０２により登録されている。もしくは、後述の図４（ｃ）または図４（ｄ）でユーザによる選択が行われた場合、図４（ｃ）または図４（ｄ）の表示のためのプリンタ検索において取得した通信情報や識別情報が用いられる。印刷ジョブの送信の際には、通信情報に従ってプリンタに印刷ジョブが送信されるか、もしくは識別情報を用いて通信部２０９によりプリンタが探索され、探索されたプリンタに印刷ジョブが送信される。
【００３５】
図４（ｂ）に示す画面において、ユーザがプラグインアイコン４０２またはプリンタ名称４０３をタッチすると、プラグインＡ３０３、プラグインＢ３０４、プラグインＣ３０５のそれぞれにより、ネットワークを介してプリンタが検索される。具体的には、各プラグインにより、アクセスポイントを介してＷｉＦｉによりプリンタが検索され、またＷｉＦｉ  Ｄｉｒｅｃｔによりプリンタが検索される。なお、プリンタの検索に使用されるプロトコルとして、Ｂｏｎｊｏｕｒ、ＷＳＤ（Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  ｏｎ  Ｄｅｖｉｃｅｓ）、ＩＰＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｉｎｔｉｎｇ  Ｐｒｏｔｏｃｏｌ）等、種々のプロトコルが用いられてよい。また、各プラグインによる検索により検知されたプリンタから、該プリンタに関する情報が取得される。取得される情報には、各プリンタの識別情報であるＵＵＩＤ（Ｕｎｉｖｅｒｓａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ）と、各プリンタのプリンタ名称が含まれる。
【００３６】
図４（ｃ）は、各プラグインによる検索により検知されたプリンタの一覧画面を示す。印刷システム３０２は、各プラグインに対して検索の結果を問合せ、各プラグインからの応答（プリンタ名称、通信方式、およびＵＵＩＤ、等）に基づき、図４（ｃ）に示す一覧画面を表示する。プリンタの一覧画面では、プリンタから取得された特定情報としてのプリンタ名称４０３、該検知に用いられた通信方式４０５、該検知を行ったプラグインを示すプラグインアイコン４０２が、１つの選択肢として共に表示される。なお、ここでの通信方式４０５は、ＷｉＦｉまたはＷＦＤ（ＷｉＦｉ  Ｄｉｒｅｃｔ）である。図４（ｃ）に示すプリンタの一覧画面において、プリンタのプリンタ名称、プラグイン、通信方式の組み合わせに対応する複数の選択肢が表示される。そしてユーザは、所望の選択肢を選択することにより、印刷に使用するプリンタ、プラグイン、通信方式を指定することができる。なお、図４（ｃ）に示すリストにおける表示順序は特に限定されるものではなく、本実施形態では、より早く検知された結果が、リストの上位に表示される。ただこれに限らず、プラグインや通信方式に予め優先順位が設定されており、その優先順位がより高いプラグイン、通信方式がリストの上位に表示されてもよい。
【００３７】
図４（ｄ）は、各プラグインによる検索により検知されたプリンタの、図４（ｃ）とは異なる表示方法による一覧画面を示す。なお、各プラグインによる検知の結果は、図４（ｃ）の場合と同じであり、検知されたプリンタは、プリンタ名称が「Ｐｒｉｎｔｅｒ  Ｍｏｄｅｌ  Ｘ」のプリンタと、「Ｐｒｉｎｔｅｒ  Ｍｏｄｅｌ  Ｙ」のプリンタのみであるとする。図４（ｄ）に示す表示を行う場合、印刷システム３０２は、各プラグインによる検索により検知されたプリンタから取得されたＵＵＩＤにより、重複して検知されたプリンタについては表示を省略する。即ち、プリンタを検知した複数の検索方法（プラグインまたは通信方式）のうちの１つのみを示す情報が、該プリンタの特定情報（プリンタ名称）と共に表示される。具体的には、まずプラグインＡ３０３により、ＷｉＦｉを介して「Ｐｒｉｎｔｅｒ  Ｍｏｄｅｌ  Ｘ」のプリンタが検知され、その後、プラグインＢ３０４により、ＷＦＤを介して「Ｐｒｉｎｔｅｒ  Ｍｏｄｅｌ  Ｙ」が検知されたとする。図４（ｃ）に示すように、その後、プラグインＡ３０３によりＷＦＤを介して「Ｐｒｉｎｔｅｒ  Ｍｏｄｅｌ  Ｙ」が検知され、プラグインＣ３０５によりＷＦＤを介して「Ｐｒｉｎｔｅｒ  Ｍｏｄｅｌ  Ｘ」が検知されている。ただし、印刷システム３０２は、これらのプリンタから取得されたＵＵＩＤが、既に表示されているプリンタのＵＵＩＤと同一であると判断し、これらのプリンタについての表示を省略する。ここでは、実際には２台のプリンタのみが検知されるため、図４（ｄ）に示すように、２台のプリンタに対応する２つの選択肢のみが表示される。
【００３８】
図４（ｄ）に示すように、プリンタの一覧表示において、同一のプリンタについて重複表示が行われることを防ぎ、実際のプリンタの数に対応する選択肢が表示される。これによりユーザは、プリンタ選択操作を容易に行うことができる。一方で、図４（ｃ）の表示方法の方がユーザにとって好ましい場合もある。例えば複数のプラグインのうち、ユーザ所望のプラグインが存在する場合である。ここで、プラグインＡ３０３が複数メーカー（ベンダー）で共通に使用できる共通プラグインであり、プラグインＢ３０４、プラグインＣ３０５がそれぞれ、プリンタメーカー（ベンダー）独自の独自プラグインであるとする。
【００３９】
なお、プラグインＢ３０４、プラグインＣ３０５を提供するプリンタメーカーが同一であっても、異なっていてもよい。プリンタメーカーが同一であっても、例えば印刷の主目的が異なる複数のプラグインが提供されることもあり得る。この場合、プラグインＢ３０４、プラグインＣ３０５が同一ベンダーから、異なる印刷設定が可能なプラグインとして提供される。そして、プラグインＢ３０４、プラグインＣ３０５を提供するベンダーのプリンタとしての、「Ｐｒｉｎｔｅｒ  Ｍｏｄｅｌ  Ｘ」、「Ｐｒｉｎｔｅｒ  Ｍｏｄｅｌ  Ｙ」がプラグインＢ３０４、プラグインＣ３０５の両方により検知され得る。
【００４０】
また、プラグインＢ３０４、プラグインＣ３０５が異なるベンダーにより提供される場合であっても、例えば自社のプリンタのみを検知するフィルタリングが行われない場合、他のベンダーのプリンタも検知され得る。また上記のフィルタリングが、例えばプリンタ名称に自社の名前が含まれていることを条件にプリンタ検知されるよう行われたとする。この場合でも、プリンタにおいてユーザが任意にプリンタ名称を変更できるならば、他のベンダーのプリンタも検知され得る。そのため、図４（ｃ）に示すように、「Ｐｒｉｎｔｅｒ  Ｍｏｄｅｌ  Ｘ」のプリンタが、異なるベンダーにより提供されたプラグインＢ３０４、プラグインＣ３０５の両方により検知され得る。
【００４１】
独自プラグインにおいては、メーカー独自の印刷設定が可能な場合があり、特に印刷設定として詳細な設定を行うパワーユーザにとっては、共通プラグインであるよりも、独自プラグインが望ましいことがある。この場合、図４（ｄ）に示すように１台のプリンタ名称について選択肢が１つのみ表示された場合、ユーザ所望の独自プラグインを選択できないことが起こり得る。また、印刷設定として詳細な設定を行うパワーユーザの場合、図４（ｃ）において、プラグインアイコン４０２を確認することで、共通プラグインと独自プラグインを区別し、所望のプラグインを選択できることが多い。同様に、図４（ｃ）の通信方式４０５を確認することで、所望の通信方式を選択できることが多い。
【００４２】
即ち、ユーザにより、図４（ｃ）に示すプリンタ一覧表示の表示方法と、図４（ｄ）に示すプリンタ一覧表示の表示方法のうち、好ましい表示方法が異なる。そのため、本実施形態では、プリンタ検索において複数のプラグインや複数の通信方式により同一のプリンタが検知されたときの表示方法を、ユーザが事前に入力した情報により切り替える。具体的には、図４（ｃ）に示した表示方法と図４（ｄ）に示した表示方法のうち、ユーザが事前に入力した情報に対応する表示方法でプリンタのリストを表示する。ユーザが事前に入力する情報は、例えば印刷に使用する用紙の種類や、一般ユーザであるかパワーユーザであるかを選択した結果等である。詳細については、図５を用いて後述する。
【００４３】
なお、図４（ｃ）に示すリストにおいて、プラグインや通信方式に対して予め決定されいている優先度に応じて、自動的にソート処理がおこなわれてもよい。また、図４（ｃ）、図４（ｄ）のいずれであっても、ユーザにより選択が行われると、その選択されたプラグインアイコン４０２およびプリンタ名称４０３を含む図４（ｂ）に示す画面に戻る。
【００４４】
図４（ｂ）に示す印刷設定４０４がタッチされると、図４（ｅ）に示す画面において、印刷設定（詳細）４０６が表示される。そして、印刷設定（詳細）４０６における、「部数」や「用紙サイズ」等の設定項目のいずれかがタッチされると、該設定項目の設定値を他の値に変更するための、図４（ｆ）に示す画面が表示される。設定値４０７のいずれかが選択されると、該設定項目の設定値として、選択された設定値が設定される。
【００４５】
上述の図４（ｃ）または図４（ｄ）に示した画面でプラグイン、プリンタ名称の選択が行われると、該選択されたプラグイン、プリンタ名称が印刷に使用されるプラグイン、プリンタとして決定される。そして、該プラグイン、該プリンタを示す図４（ｂ）に示す画面に表示が戻る。また、図４（ｅ）に示す印刷設定（詳細）４０６における印刷設定項目の種類、数や、図４（ｆ）に示す設定値４０７の種類、数は、図４（ｂ）において、印刷に使用されるものとして決定されているプラグインに依存する。例えば複数のプリンタベンダー向けの汎用プラグインよりも、プリンタベンダー独自のプラグインの方が、設定可能な項目や設定値が多いものとする。即ち、ユーザは、図４（ｃ）または図４（ｄ）に示した画面で汎用プラグインを選択すると、より簡易に印刷設定を行うことができ、独自プラグインを選択すると、より詳細に印刷設定を行うことができる。
【００４６】
なお、図４（ｅ）、図４（ｆ）はそれぞれ不図示の戻るボタンを含む、図４（ｆ）の画面において戻るボタンがタッチされると、図４（ｅ）の画面に戻り、図４（ｅ）の画面において戻るボタンがタッチされると、図４（ｂ）の画面に戻る。なお、図４（ｆ）に示す画面において印刷設定の設定値が変更された場合、図４（ｂ）に示す画面に戻った時には、変更後の設定値が印刷設定４０４として表示される。
【００４７】
図５は、本実施形態における印刷モードの選択処理を示す図である。図５（ａ）に示す各ステップの処理は、ＲＯＭ２０４に記憶されているＯＳの一部である印刷システム３０２を、ＣＰＵ２０３がＲＡＭ２０５をワークメモリとして実行することで実現される。また図５（ａ）に示す処理は、図４（ａ）に示した画面における印刷ボタン４００、もしくは、不図示のＯＳの印刷設定画面に設けられた印刷モード設定ボタンが押下（タッチ）されたときに開始される。
【００４８】
Ｓ５０１においてＣＰＵ２０３は、表示部２０８に、図５（ｂ）に示すモード選択画面を表示する。Ｓ５０２においてＣＰＵ２０３は、図５（ｂ）に示す画面において、詳細モードボタン５１１と簡易モードボタン５１２のどちらがタッチされたかを判定する。なお、不図示のキャンセルボタンがタッチされた場合、図４（ａ）に示した画面に戻ってもよい。
【００４９】
Ｓ５０２において詳細モードボタン５１１がタッチされたと判定された場合、Ｓ５０３においてＣＰＵ２０３は、詳細モードが選択されたことを、ＲＡＭ２０５の所定の記憶領域に保存する。一方、Ｓ５０２において簡易モードボタン５１２がタッチされたと判定された場合、Ｓ５０４においてＣＰＵ２０３は、簡易モードが選択されたことを、ＲＡＭ２０５の所定の記憶領域に保存する。
【００５０】
Ｓ５０３またはＳ５０４において選択モードが保存されると、図５の処理が終了する。そして、表示部２０８には、図４（ｂ）に示す画面が表示される。
【００５１】
なお、印刷ボタン４００の押下により図５（ａ）の処理が開始される場合であっても、印刷ボタン４００の押下のたびに図５（ｂ）に示す画面が表示されることを望まないユーザもいることが考えられる。そのため、図５（ｂ）に示す画面において、「次回以降もモード選択を行いますか？」等のメッセージと共にチェックボックスが表示されてもよい。スマートフォン１０１において印刷ボタン４００が初めて押下されたときには、図５（ａ）に示す処理が実行され、図５（ｂ）に示す画面が表示される。そして、ユーザがモードを選択したときにチェックボックスにチェックが入っていなければ、次回印刷ボタン４００が押下されたときには、図５（ｂ）に示す画面は表示されなくてもよい。この場合、Ｓ５０３またはＳ５０４で記憶されていた最新のモードが、ユーザにより選択されたモードとして以降の処理が実行されてもよい。一方、ユーザがモードを選択したときに上記チェックボックスにチェックが入っていれば、次回、印刷ボタン４００が押下されたときにも図５（ａ）に示す処理が実行され、図５（ｂ）に示す画面が表示される。なお、印刷ボタン４００の押下時に図５（ｂ）に示す画面の表示がスキップされる場合であっても、不図示のＯＳの印刷設定画面に設けられた印刷モード設定ボタンの押下により、モード選択を行うことが可能である。
【００５２】
図６は、本実施形態におけるプリンタ検索処理の一例を示す図である。なお、図６に示す処理は、ＲＯＭ２０４に記憶されているＯＳの一部である印刷システム３０２およびプラグインＡ〜Ｃを、ＣＰＵ２０３がＲＡＭ２０５をワークメモリとして実行することで実現される。また図６に示す処理は、図４（ｂ）に示した画面におけるプラグインアイコン４０２またはプリンタ名称４０３がタッチされたときに開始される。
【００５３】
Ｓ６０１においてＣＰＵ２０３は印刷システム３０２により、図５のＳ５０３またはＳ５０４においてＲＡＭ２０５の所定の記憶領域に予め保存されている選択モードを読み出す。Ｓ６０２においてＣＰＵ２０３は印刷システム３０２により、Ｓ６０１において読み出された選択モードが、詳細モードであるか簡易モードであるか判定する。Ｓ６０２において詳細モードと判定された場合、Ｓ６０３においてＣＰＵ２０３は印刷システム３０２により、プラグインＡ〜Ｃを起動する。そして、ＣＰＵ２０３は、プラグインＡ〜Ｃにより、各プラグインがサポートする通信方式（ＷｉＦｉおよび／またはＷｉＦｉ  Ｄｉｒｅｃｔ）に従って、プリンタを検索する。
【００５４】
Ｓ６０４においてＣＰＵ２０３は印刷システム３０２により、プラグインＡ〜Ｃからプリンタ検索により新規に検知されたプリンタがあるか判定する。なお、Ｓ６０４における判定には所定の時間が設けられており、所定の時間、プリンタが新規に検知されないと判定された場合に、図６に示す処理が終了する。一方、Ｓ６０４においてプリンタが新規に検知されたと判定された場合、処理がＳ６０５に進む。Ｓ６０５においてＣＰＵ２０３は印刷システム３０２により、Ｓ６０３におけるプリンタ検索により検知されたプリンタのプリンタ名称４０３、該検知に使用されたプラグインのプラグインアイコン４０２、該検知に使用された通信方式４０５を、リストに表示する。Ｓ６０３〜Ｓ６０５の処理が繰り返されることにより、図４（ｃ）に示すリストが表示される。
【００５５】
一方、Ｓ６０２において、選択モードが簡易モードと判定された場合、Ｓ６０６に処理が進む。Ｓ６０６、Ｓ６０７における処理は、Ｓ６０３、Ｓ６０４における処理と同様のため、説明を省略する。Ｓ６０７においてプリンタが新規に検知されたと判定されると、Ｓ６０８においてＣＰＵ２０３は印刷システム３０２により、該検知されたプリンタからＵＵＩＤを取得する。後述するように、Ｓ６０８の処理は、複数回繰り返されることがある。そこでＳ６０９においてＣＰＵ２０３は印刷システム３０２により、Ｓ６０８において新たに取得されたＵＵＩＤが、以前のＳ６０８における処理により、同一のＵＵＩＤが既に取得されているか否かを判定する。同一のＵＵＩＤが既に取得されていないと判定された場合、Ｓ６１０に処理が進む。Ｓ６１０においてＣＰＵ２０３は印刷システム３０２により、Ｓ６０６におけるプリンタ検索により検知されたプリンタのプリンタ名称４０３、該検知に使用されたプラグインのプラグインアイコン４０２、該検知に使用された通信方式４０５を、リストに表示する。一方、Ｓ６０９において、同一のＵＵＩＤが既に取得されていると判定された場合、Ｓ６１０における処理はスキップされ、Ｓ６０６に処理が戻る。Ｓ６０６〜Ｓ６１０における処理により、図４（ｄ）に示すリストが表示される。即ち、同一のプリンタが異なるプラグインまたは異なる通信方式により検知されたとしても、１つのプリンタに対して１つのプリンタ名称４０３、プラグインアイコン４０２、通信方式４０５が表示される。
【００５６】
図６に示した処理により、ユーザが詳細モードを選択した場合には、図４（ｃ）に示したリストが表示されるため、ユーザは所望のプラグイン、所望の通信方式を使って、所望のプリンタに印刷を実行させることができる。例えば、本実施形態ではプラグインにより設定可能な印刷設定が異なるため、例えばプリンタベンダー独自の印刷設定を行いたい場合、ベンダー独自のプラグインを選択することで、その印刷設定を行うことができる。一方、ユーザが簡易モードを選択した場合には、図４（ｄ）に示したリストが表示される。そのため、ユーザは容易に所望のプリンタを選択することができる。
【００５７】
次に、ユーザが選択したモードに応じたプリンタ検索の別の例について説明する。具体的には、ユーザが選択したモードに応じて、プリンタ検索および印刷に使用するプラグインが選択される。プリンタリストの表示は、例えば図４（ｄ）に示すように、同一のプリンタについて重複表示が行われないように表示が行われる。
【００５８】
図７は、本実施形態におけるプリンタ検索処理の別の例を示す図である。なお、図６に示す処理は、ＲＯＭ２０４に記憶されているＯＳの一部である印刷システム３０２およびプラグインＡ〜Ｃを、ＣＰＵ２０３がＲＡＭ２０５をワークメモリとして実行することで実現される。また図６に示す処理は、図４（ｂ）に示した画面におけるプラグインアイコン４０２またはプリンタ名称４０３がタッチされたときに開始される。
【００５９】
図７のＳ６０１、Ｓ６０２における処理は、図６に示した処理と同様であるため、説明を省略する。Ｓ６０２において、詳細モードが選択されたと判定されると、Ｓ７０１においてＣＰＵ２０３は印刷システム３０２により、プリンタ検索に使用するプラグインとして、プリンタベンダー独自のプラグイン（例えばプラグインＢ３０４）を選択する。そして、ＣＰＵ２０３は、ベンダー独自のプラグインによりプリンタ検索を行う。なお、プリンタベンダー独自のプラグインが複数ある場合（例えばプラグインＢ３０４、プラグインＣ３０５）、Ｓ７０１において、該複数のプラグインからプリンタ検索に使用するプラグインを選択する画面が表示されてもよい。Ｓ７０１以降の処理は、図６のＳ６０７〜Ｓ６１０と同様の処理ため、説明を省略するが、これらの処理により、図７（ｂ）に示すように、プリンタベンダー独自のプラグイン（例えばプラグインＢ３０４）によりプリンタが検索された結果が表示される。
【００６０】
一方、Ｓ６０２において、簡易モードが選択されたと判定されるとＳ７０２に処理が進む。Ｓ７０２においてＣＰＵ２０３は印刷システム３０２により、プリンタ検索に使用するプラグインとして、複数のプリンタベンダー向けの汎用プラグイン（例えばプラグインＡ３０３）を選択する。そして、ＣＰＵ２０３は、汎用プラグインによりプリンタ検索を行う。Ｓ７０２以降の処理は、図６のＳ６０７〜Ｓ６１０と同様の処理ため、説明を省略するが、これらの処理により、図７（ｃ）に示すように、汎用プラグイン（例えばプラグインＡ３０３）によりプリンタが検索された結果が表示される。
【００６１】
図７に示す処理により、例えば詳細な印刷設定を行いたいユーザが図５（ｂ）に示す画面において詳細モードを選択することで、独自プラグインによりプリンタ検索が行われる。そして、図７（ｂ）においてプリンタを選択すると、独自プラグインが印刷に使用されるプラグインとして図４（ｂ）に示す画面に表示される。そして、印刷設定４０４をユーザがタッチして図４（ｅ）、図４（ｆ）に示す画面が表示されると、汎用プラグインよりも多くの設定項目について、より多くの設定値から設定を行うことができる。
【００６２】
一方、簡単に印刷を行いたいユーザが図５（ｃ）に示す画面において簡易モードを選択することで、汎用プラグインによりプリンタ検索が行われる。そして、図７（ｃ）においてプリンタを選択すると、汎用プラグインが印刷に使用されるプラグインとして図４（ｂ）に示す画面に表示される。そして、印刷設定４０４をユーザがタッチして図４（ｅ）、図４（ｆ）に示す画面が表示されると、汎用プラグインよりも簡易に印刷設定を行うことができる。
【００６３】
なお、図７ではＳ７０１、Ｓ７０２以降の処理として、図６のＳ６０７〜Ｓ６１０に相当する処理が実行されていたが、Ｓ７０１、Ｓ７０２以降の処理として、図６のＳ６０３〜Ｓ６０５に相当する処理が実行されてもよい。この場合、同一のプリンタに対して、複数の通信方式（ＷｉＦｉ、ＷｉＦｉ  Ｄｉｒｅｃｔ）のそれぞれに応じた選択肢が、プリンタの一覧として表示される。
【００６４】
また、図７ではＳ７０２以降の処理として、図６のＳ６０７〜Ｓ６１０に相当する処理が実行され、Ｓ７０１以降の処理として、図６のＳ６０３〜Ｓ６０５に相当する処理が実行されてもよい。即ち、Ｓ７０２以降の処理により、図７（ｃ）に示すように、同一のプリンタに対する複数の選択肢が表示されないようになる一方、Ｓ７０１以降の処理により、同一のプリンタに対して複数の通信方式のそれぞれに応じた選択肢が表示される。従って、簡易モードを選択したユーザが、通信方式を考慮せずに選択を行う一方、詳細モードを選択したユーザは、通信方式を含めて選択を行うことができる。
【００６５】
さらに、上述の説明では、図７に示したフローチャートが開始されるときに、ベンダー独自プラグイン、汎用プラグインの両方がスマートフォン１０１にインストールされていることを前提としていた。しかし、ベンダー独自プラグイン、汎用プラグインのいずれか一方のみがインストールされていることもあり得る。そのため、図７に示したフローチャートが開始された後、Ｓ６０１の処理が行われる前に、スマートフォン１０１にインストールされているプラグインの種類を判定する判定処理が、不図示のＳ６００の処理として実行されてもよい。なお、Ｓ６００における判定処理も、印刷システム３０２をＣＰＵ２０３がＲＡＭ２０５をワークメモリとして実行することで実現される。
【００６６】
そして、Ｓ６００において、ベンダー独自プラグインがインストールされ、汎用プラグインはインストールされていないと判定された場合、Ｓ６０１、Ｓ６０２の処理が行われずに、処理がＳ７０１に進む。一方、Ｓ６００において、ベンダー独自プラグインがインストールされておらず、汎用プラグインはインストールされていると判定された場合、Ｓ６０１、Ｓ６０２の処理が行われずに、処理がＳ７０２に進む。なお、Ｓ６００において印刷プラグインが１つもインストールされていないと判定された場合、印刷プラグインのインストールを促す不図示の表示処理がＣＰＵ２０３により行われてもよい。この表示処理は、例えばＷｅｂブラウザにより、汎用プラグインのダウンロードを行うＷｅｂページを表示する処理である。
【００６７】
以上の記載では、図４（ｅ）、図４（ｆ）に示す画面において選択可能な印刷設定項目や設定値が、図４（ｂ）に示す画面において選択されているプラグインにより決定される例について説明した。
【００６８】
しかしこれに限らず、複数のプラグイン（プラグインＡ〜Ｃ）のいずれかにおいて設定可能な印刷設定項目や設定値が全て選択可能なように、図４（ｅ）、図４（ｆ）に示す画面が表示されてもよい。或いは、複数のプラグイン（プラグインＡ〜Ｃ）のいずれかにおいて設定可能であることに加え、図４（ｂ）で選択されているプリンタで実行可能な印刷設定項目や設定値が選択可能なように、図４（ｅ）、図４（ｆ）に示す画面が表示されてもよい。そして、ユーザにより印刷設定が設定されると、その印刷設定により印刷に使用されるプラグインが自動的に決定される。
【００６９】
図８は、プリンタ選択後の処理の一例を説明するための図である。なお、図８（ａ）に示す処理は、ＲＯＭ２０４に記憶されているＯＳの一部である印刷システム３０２およびプラグインＡ〜Ｃを、ＣＰＵ２０３がＲＡＭ２０５をワークメモリとして実行することで実現される。また図８（ａ）に示す処理は、図４（ｃ）または図４（ｄ）に示した画面において、プラグイン、プリンタ名称、通信方式を含む複数の選択肢のいずれかがタッチされることで、プリンタが選択されたときに開始される。ここでは、図４（ｃ）に示した画面においてプリンタが選択された場合について説明する。また、プラグインＡ３０３は、複数のベンダーのプリンタをサポートする汎用プラグインであり、プラグインＢ３０４、プラグインＣ３０５はそれぞれ異なるベンダーのプリンタをサポートするプラグインであるとする。
【００７０】
後述する図８（ａ）に示す処理により、図８（ｂ）に示す能力情報管理テーブルが、例えばＲＡＭ２０５に作成される。能力情報管理テーブルは、所定の印刷設定項目に対して、図４（ｃ）に示す画面においてユーザが選択したプリンタがサポートする設定値のうち、各プラグインも印刷設定として設定可能としてサポートしている設定値を示す。例えばユーザによりプラグインＢを提供しているプリンタベンダーのプリンタが選択され、該プリンタおよびプラグインＢが、印刷設定の用紙サイズの設定値として、プリンタベンダー独自の「特殊サイズ」をサポートしていたとする。その場合、プラグインＡ〜Ｃのうち、「特殊サイズ」をサポートしているのはプラグインＢ３０４のみであるため、図８（ｂ）に示すように、能力情報管理テーブルにおいて、設定値「特殊サイズ」がプラグインＢ３０４のみに対応付けて保存される。
【００７１】
Ｓ８０１においてＣＰＵ２０３は印刷システム３０２により、図４（ｃ）に示した画面においてユーザが選択したプリンタを検知したプラグインを特定する。ここでは、ユーザが選択した選択肢に含まれるプラグインアイコン４０２のプラグインに加え、該選択肢に含まれるプリンタ名称４０３と同一のプリンタ名称のプリンタを検知した他のプラグインも特定される。具体的には、例えば図４（ｃ）における最上位の選択肢をユーザが選択した場合、該選択肢に対応するプラグインＡ３０３が特定される。さらに、最上位の選択肢に含まれるプリンタ名称「Ｐｒｉｎｔｅｒ  Ｍｏｄｅｌ  Ｘ」は、図４（ｃ）のリストにおける４番目、５番目の選択肢に示されているように、プラグインＢ３０４、プラグインＣ３０５でも検知されている。そのため、Ｓ８０１では、プラグインＡ３０３に加え、プラグインＢ３０４、プラグインＣ３０５も特定される。
【００７２】
次に、ＣＰＵ２０３はＳ８０１において特定された１または複数のプラグインのそれぞれについて、Ｓ８０２〜Ｓ８０６の処理を繰り返し行う。上述の例ではプラグインＡ〜ＣがＳ８０１で特定されるため、Ｓ８０２〜８０６の処理が３回実行されるが、ここではプラグインＡについての処理を説明する。
【００７３】
Ｓ８０３においてＣＰＵ２０３は、印刷システム３０２およびプラグインＡ３０３により、当該選択されているプリンタ（上述の例では、プリンタ名称「Ｐｒｉｎｔｅｒ  Ｍｏｄｅｌ  Ｘ」のプリンタ）から、印刷設定に関する能力情報を取得する。具体的には、「用紙サイズ」、「用紙タイプ」、「印刷の方向」等の、プリンタに対して指定可能な印刷設定項目と、その印刷設定項目としてプリンタに対して指定可能な設定値が取得される。
【００７４】
なお、当該使用されているプラグイン（ここではプラグインＡ３０３）が複数の通信方式で当該選択されているプリンタを検知していた場合、Ｓ８０３における能力情報の取得は、複数の通信方式により取得される。例えば図４（ｃ）に示した表示において、プリンタ名称「Ｐｒｉｎｔｅｒ  Ｍｏｄｅｌ  Ｘ」のプリンタが、プラグインＡ３０３により、ＷｉＦｉに加えてＷｉＦｉ  Ｄｉｒｅｃｔにより検知されていたとする。この場合、Ｓ８０３においては、ＷｉＦｉ、ＷｉＦｉ  Ｄｉｒｅｃｔの両方により能力情報が取得される。これにより、例えば一方の通信方式により能力情報が適切に取得されない場合でも、他方の通信方式により能力情報を取得することが可能となる。
【００７５】
ただし、その場合、同一の能力情報が重複して取得されることが起こり得る。そのためＳ８０４においてＣＰＵ２０３は印刷システム３０２により、Ｓ８０３において取得された能力情報が、既に能力情報管理テーブルに存在するか判定する。Ｓ８０３において取得された能力情報が能力情報管理テーブルに存在しないと判定された場合、処理がＳ８０５に進む。Ｓ８０５においてＣＰＵ２０３は印刷システム３０２により、当該使用されているプラグイン（ここではプラグインＡ３０３）に対応付けて、能力情報管理テーブルに能力情報を追加する。即ち、「用紙サイズ」、「用紙タイプ」等の印刷設定項目に対して設定可能としてＳ８０３で取得された能力情報に含まれ、且つ当該プラグインでサポートしている設定値が、能力情報管理テーブルに追加される。一方、Ｓ８０４において、Ｓ８０３において取得された能力情報が既に能力情報管理テーブルに存在すると判定された場合、Ｓ８０５の処理はスキップされる。
【００７６】
プラグインＡ３０３を用いて実行された以上のＳ８０３〜Ｓ８０５に示した処理が、Ｓ８０１で特定された他のプラグインであるプラグインＢ３０４、プラグインＣ３０５のそれぞれを用いて繰り返し実行される。その処理により、図８（ｂ）に示した能力情報管理テーブルが作成される。なお、既に能力情報管理テーブルが記憶されている状態で、能力情報管理テーブルが新たに作成される場合、既に記憶されていた能力情報管理テーブルに対して上書きが行われる。
【００７７】
図４（ｃ）に示した画面においてユーザがプリンタを選択すると、上述の図８（ａ）に示した処理により能力情報管理テーブルがＲＡＭ２０５に作成されるとともに、表示部２０８の表示が、図４（ｂ）に示した処理に戻る。なお、このとき図４（ｂ）に示した画面では、図４（ｃ）に示した画面においてユーザが選択したプラグインのプラグインアイコン４０２が表示される。
【００７８】
図９は、本実施形態における印刷設定処理を説明するための図である。なお、図９（ａ）に示す処理は、ＲＯＭ２０４に記憶されているＯＳの一部である印刷システム３０２を、ＣＰＵ２０３がＲＡＭ２０５をワークメモリとして実行することで実現される。また図９（ａ）に示す処理は、図４（ｂ）に示した画面において、印刷設定４０４がタッチされたときに開始される。
【００７９】
Ｓ９０１においてＣＰＵ２０３は、印刷システム３０２により、図４（ｅ）に示す画面を表示する。Ｓ９０２においてＣＰＵ２０３は、印刷システム３０２により、図４（ｅ）の画面における不図示の戻るボタンがタッチされたか判定する。戻るボタンがタッチされなければ、Ｓ９０３に処理が進む。Ｓ９０３においてＣＰＵ２０３は、印刷システム３０２により、図４（ｅ）の画面に含まれている複数の印刷設定項目のいずれかがタッチされたか判定する。印刷設定項目がタッチされたと判定されると、処理がＳ９０４に進む。
【００８０】
Ｓ９０４においてＣＰＵ２０３は、印刷システム３０２により、タッチされた印刷設定項目に該当する設定値を、能力情報管理テーブルから取得する。例えば印刷設定項目「用紙サイズ」がタッチされた場合、図８（ｂ）における、複数のプラグインＡ〜Ｃのそれぞれに対応する用紙サイズの設定値が取得される。次にＳ９０５においてＣＰＵ２０３は、印刷システム３０２により、Ｓ９０４において取得された設定値から、ユーザ所望の設定値を選択するための画面を表示する。このとき、Ｓ９０４において取得された全ての設定値が、重複しないように選択候補として表示される。また、複数のプラグインＡ〜Ｃの全てによりサポートされていない設定値であっても、いずれか１つのプラグインによりサポートされていれば、その設定値が選択候補として表示される。Ｓ９０５では、例えば図９（ｂ）に示す画面が表示される。図９（ｂ）には、プラグインＡ〜Ｃのうち、プラグインＢ３０４のみにサポートされている「特殊サイズ」が選択候補として含まれる。
【００８１】
Ｓ９０６でＣＰＵ２０３は印刷システム３０２により、Ｓ９０５において表示された画面に含まれる、不図示の戻るボタンがタッチされたか判定する。戻るボタンがタッチされたと判定されると、Ｓ９０１に処理が戻り、戻るボタンがタッチされなければＳ９０７に処理が進む。Ｓ９０６でＣＰＵ２０３は印刷システム３０２により、Ｓ９０５において表示された画面に含まれる複数の設定値のいずれかがタッチされたか判定する。設定値のいずれかがタッチされたと判定されると、Ｓ９０８に処理が進む。
【００８２】
Ｓ９０８でＣＰＵ２０３は印刷システム３０２により、ユーザにより選択された設定値をＲＡＭ２０５の所定の記憶領域に記憶する。具体的には、ＲＡＭ２０５の所定の記憶領域には、各印刷設定項目に対応する現在の設定値が常に記憶されている。Ｓ９０８では、Ｓ９０３において選択された印刷設定項目に対応する設定値を、Ｓ９０７において選択された設定値で上書きする。
【００８３】
Ｓ９０９でＣＰＵ２０３は印刷システム３０２により、能力情報管理テーブルを参照することで、Ｓ９０７において選択された設定値が、印刷に使用されるプラグインとして現在選択されているプラグインによりサポートされている判定する。例えば図４（ｃ）の画面において最上位のプラグインＡ３０３が選択され、Ｓ９０７においてＬ判がタッチされたとする。このとき、図８（ｂ）に示すようにＬ判はプラグインＡ３０３によりサポートされているため、Ｓ９０９における判定の結果、処理はＳ９０１に戻る。
【００８４】
一方、例えば図４（ｃ）の画面において最上位のプラグインＡ３０３が選択され、Ｓ９０７において「特殊サイズ」がタッチされたとする。このとき、図８（ｂ）に示すように「特殊サイズ」はプラグインＡ３０３によりサポートされていない。そのため、Ｓ９０９における判定の結果、処理がＳ９１０に進む。Ｓ９１０においてＣＰＵ２０３は印刷システム３０２により、能力情報管理テーブルを参照することで、Ｓ９０７で選択された設定値をサポートするプラグインを特定する。上記の例では、図８（ｂ）に示すように、「特殊サイズ」はプラグインＢ３０４のみがサポートするため、Ｓ９１０ではプラグインＢ３０４が特定される。なお、Ｓ９１０において複数のプラグインが特定された場合、所定の優先度によりいずれかのプラグインが特定されてもよい。或いは、Ｓ９１０においてユーザがプラグインを選択するための画面が表示され、その画面においてユーザが選択したプラグインが特定されてもよい。
【００８５】
Ｓ９１１においてＣＰＵ２０３は印刷システム３０２により、ＲＡＭ２０５の上記所定の記憶領域において、Ｓ９１０において特定されたプラグインを、印刷に使用するプラグインとして記憶する。具体的には、ＲＡＭ２０５の上記所定の記憶領域には、印刷に使用されるプラグインを示すプラグイン情報が常に記憶されている。Ｓ９１１では、Ｓ９１０において特定されたプラグインを示す情報でプラグイン情報を上書きする。そして、Ｓ９０１に処理が戻る。
【００８６】
上述のＳ９０２において、図４（ｅ）の画面に含まれる、不図示の戻るボタンがタッチされたと判定された場合、図９（ａ）に示す処理が終了される。図９（ａ）に示す処理が終了されると、表示部２０８は、図４（ｂ）に示す画面を表示する。図４（ｂ）では、上述のプラグイン情報に基づいて、印刷に使用されるプラグインを示すプラグインアイコン４０２が表示される。
【００８７】
図９（ａ）に示した処理により、ユーザがＳ９０７において設定値を指定し、その設定値が現在選択されているプラグインによりサポートされていないとする（Ｓ９０９でＮｏ）。この場合、印刷に使用されるプラグインが、該設定値をサポートするプラグインに自動的に変更される（Ｓ９０９〜Ｓ９１１）。従って、ユーザが指定した印刷設定の設定値に応じた適切なプラグインを、容易に選択することができる。
【００８８】
次に、図４〜図９を用いて説明した処理の全体を説明する。図１０は、本実施形態における全体フローの一例を示す図である。なお、図１０に示す処理は、ＲＯＭ２０４に記憶されているＯＳの一部である印刷システム３０２およびプラグインＡ〜Ｃを、ＣＰＵ２０３がＲＡＭ２０５をワークメモリとして実行することで実現される。また図１０に示す処理は、図４（ａ）に示した画面において、印刷ボタン４００がタッチされたときに開始される。
【００８９】
Ｓ１００１においてＣＰＵ２０３は、印刷システム３０２により、図５（ａ）に示した処理を実行することで、図５（ｂ）に示す画面の表示およびモード選択を行う。Ｓ１００２においてＣＰＵ２０３は、印刷システム３０２により、図４（ｂ）に示す画面の表示を行う。なお、このとき印刷に使用されるプリンタ、プラグイン、通信方式、印刷設定は選択されており、該プリンタに対応する能力情報管理テーブルがＲＡＭ２０５に記憶されている。例えば、最後の印刷で使用された、プリンタ、プラグイン、通信方式、印刷設定が選択され、そのプリンタが選択された際に作成された能力情報管理テーブルがＲＡＭ２０５に記憶されている。また、図１０に示す処理が初めて実行された際には、例えば所定のプラグイン、通信方式、印刷設定が選択され、Ｓ１００１の処理の後でありＳ１００２の処理の前に、後述のＳ１００４〜Ｓ１００６に相当する処理が実行されてもよい。
【００９０】
Ｓ１００３においてＣＰＵ２０３は、印刷システム３０２により、図４（ｂ）に示す画面に含まれているプラグインアイコン４０２またはプリンタ名称４０３がタッチされたか判定される。プラグインアイコン４０２またはプリンタ名称４０３がタッチされると、処理がＳ１００４に進む。Ｓ１００４においてＣＰＵ２０３は、図６または図７（ａ）に示した処理を実行することで、Ｓ１００１において選択されたモードに応じたプリンタ検索およびプリンタ一覧の表示を行う。これにより図４（ｃ）、図４（ｄ）に示したように、ユーザが選択したモードに応じた表示方法により、プリンタ一覧が表示される。或いは、図７（ｂ）、図７（ｃ）に示したように、ユーザが選択したモードに応じたプラグインが選択候補として、プリンタ一覧が表示される。
【００９１】
次にＳ１００５においてＣＰＵ２０３は、印刷システム３０２により、プリンタ一覧においてユーザにより選択肢がタッチされることで、プリンタが指定されたか判定される。プリンタが指定されると、Ｓ１００６においてＣＰＵ２０３は、図８（ａ）に示したプリンタ選択処理を行い、また選択されたプリンタの能力情報管理テーブルを作成する。その後、Ｓ１００２に処理が戻るが、このとき図４（ｂ）に示す画面には、図８で選択されたプリンタのプリンタ名称４０３が表示される。
【００９２】
一方、Ｓ１００３において、プラグインアイコン４０２またはプリンタ名称４０３がタッチされていないと判定されると、処理がＳ１００７に進む。Ｓ１００７においてＣＰＵ２０３は印刷システム３０２により、図４（ｂ）における印刷設定４０４がタッチされたか判定される。印刷設定４０４がタッチされると、ＣＰＵ２０３はＳ１００８において、図９（ａ）に示した印刷設定処理を実行する。特に図９のＳ９０９〜Ｓ９１１の処理により、印刷に使用されるプラグインが、ユーザが指定した印刷設定の設定値に応じたプラグインに自動的に変更される。
【００９３】
Ｓ１００７において印刷設定４０４がタッチされていないと判定されると、Ｓ１００９においてＣＰＵ２０３は印刷システム３０２により、図４（ｂ）における印刷指示ボタン４０１がタッチされたか判定される。印刷指示ボタン４０１がタッチされると、Ｓ１０１０においてＣＰＵ２０３は印刷システム３０２により、印刷に使用されるものとして現在選択されている、プリンタ、プラグイン、通信方式、印刷設定、印刷対象のデータを特定する。次に、Ｓ１０１１においてＣＰＵ２０３は、Ｓ１０１０において特定されたプラグインの印刷制御部を実行することで、Ｓ１０１０で特定された印刷対象のデータ、印刷設定を含む印刷ジョブを生成する。そして、Ｓ１０１０において特定されたプリンタに、Ｓ１０１０で特定された通信方式に従って、通信部２０９を介して印刷ジョブを送信することで、プリンタに印刷を実行させる。その後、図１０に示す処理が終了し、表示部２０８には図４（ａ）に示す画面が表示される。
【００９４】
Ｓ１００９において、図４（ｂ）における印刷指示ボタン４０１がタッチされていないと判定されると、ＣＰＵ２０３はＳ１０１２において、図４（ｂ）で不図示の戻るボタンがタッチされたか判定する。戻るボタンがタッチされると、図１０に示す処理が終了し、表示部２０８には図４（ａ）に示す画面が表示される。一方、戻るボタンがタッチされると、Ｓ１００２に処理が戻る。
【００９５】
なお、図８（ｂ）に示した能力情報管理テーブルでは、用紙サイズ、用紙タイプのうち、用紙サイズのみにプラグイン独自の設定値が含まれていた。しかしこれに限らず、用紙サイズ、用紙タイプの両方について、プラグイン独自の設定値が含まれる場合も考えられる。
【００９６】
図１１は、能力情報管理テーブルの別の例を示す図である。図１１において、特殊サイズ１、特殊タイプ１は、プラグインＢ３０４のみにサポートされており、特殊サイズ２、特殊タイプ２は、プラグインＣ３０５のみにサポートされている。
【００９７】
このとき、図４（ｅ）に示す画面において印刷設定項目として用紙サイズが選択されると、図４（ｆ）に示すような用紙サイズの選択画面において、特殊サイズ１、特殊サイズ２が選択候補として表示される。そして、特殊サイズ１が選択されたとすると、図９のＳ９０９〜Ｓ９１１における処理により、印刷に使用されるプラグインとしてプラグインＢ３０４が選択される。
【００９８】
しかしながら、その後ユーザが図４（ｅ）に示す画面において印刷設定項目として用紙タイプが選択すると、用紙タイプの選択画面において、特殊タイプ１、特殊タイプ２が選択候補として表示される。このときユーザが特殊タイプ２を選択すると、図９のＳ９０９〜Ｓ９１１における処理により、印刷に使用されるプラグインとしてプラグインＣ３０５が選択される。プラグインＣ３０５は上記のように選択された特殊サイズ１をサポートしていないため、印刷がエラーとなることが起こり得る。
【００９９】
そこで、ＣＰＵ２０３は、ある印刷設定項目の設定値として複数の選択候補を表示するときに、別の印刷設定項目について設定されている設定値と、能力情報管理テーブルを参照する。そして複数の印刷設定項目における設定値の組み合わせに該当するプラグインが存在しなくなるような設定値が選択候補とならないように、ＣＰＵ２０３は設定値の選択候補を表示する。上記の例では、ユーザが用紙サイズの設定値として特殊サイズ１が選択されると、その後、用紙タイプの設定値の選択候補が表示されるときに、ＣＰＵ２０３は、特殊サイズ２は表示されないように表示制御を行う。
【０１００】
或いは、ＣＰＵ２０３は、ある印刷設定項目の設定値がユーザにより選択されたときに、別の印刷設定項目について設定されている設定値と、能力情報管理テーブルを参照してもよい。そして、複数の印刷設定項目における設定値の組み合わせに該当するプラグインが存在しなくなる場合、ＣＰＵ２０３は表示部２０８にエラー画面を表示してもよい。このとき、例えば「用紙サイズ：特殊サイズ１、用紙タイプ：特殊タイプ２をサポートするプラグインがありません」等の、エラーの要因となった設定値が表示されてもよい。これにより、用紙サイズの設定値または用紙タイプの設定値の変更をユーザに促すことができる。
【０１０１】
なお、以上の実施形態では、図５に示したモードの選択が、図６のＳ６０３またはＳ６０６におけるプリンタ検索の前に実行されていた。しかしこれに限らず、モード選択の前にＳ６０３におけるプリンタ検索が実行され、該プリンタ検索中、または該プリンタ検索後にモードの選択が行われてもよい。例えば、プリンタ検索中またはプリンタ検索後に、複数のプラグインまたは複数の通信方式により同一のプリンタが検知されたか否かを、ＣＰＵ２０３が判定してもよい。そして、複数のプラグインまたは複数の通信方式により同一のプリンタが検知されたと判定された時点で、ＣＰＵ２０３は、図５（ａ）に示す処理を実行し、図５（ｂ）に示す画面が表示されてもよい。なお、図５（ａ）に示す処理がプリンタ検索中に行われるとき、該プリンタ検索は中断されてもよいし、並行して実行されてもよい。いずれの場合であっても、図５（ａ）に示す処理で選択されたモードに応じて、図４（ｃ）に示すリスト、図４（ｄ）に示すリストのうちの、選択されたモードに対応するリストが表示される。
【０１０２】
なお、以上の実施形態では、印刷対象のデータおよび印刷設定をプリンタに送信して、印刷設定に従った印刷を実行させる制御について説明した。しかしこれに限らず、表示対象のデータおよび表示設定を表示装置に送信して、表示設定に従った表示を実行させる制御であってもよい。
【０１０３】
なお、本実施形態の機能は以下の構成によっても実現することができる。つまり、本実施形態の処理を行うためのプログラムコードをシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）がプログラムコードを実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することとなり、またそのプログラムコードを記憶した記憶媒体も本実施形態の機能を実現することになる。
【０１０４】
また、本実施形態の機能を実現するためのプログラムコードを、１つのコンピュータ（ＣＰＵ、ＭＰＵ）で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
【符号の説明】
【０１０５】
２０３  ＣＰＵ
２０４  ＲＯＭ
２０５  ＲＡＭ
【図１】
2019186860.tif 000003
【図２】
2019186860.tif 000004
【図３】
2019186860.tif 000005
【図４】
2019186860.tif 000006
【図５】
2019186860.tif 000007
【図６】
2019186860.tif 000008
【図７】
2019186860.tif 000009
【図８】
2019186860.tif 000010
【図９】
2019186860.tif 000011
【図１０】
2019186860.tif 000012
【図１１】
2019186860.tif 000013