(57)【特許請求の範囲】
【請求項１】
複数のプリントサービスそれぞれに登録されている仮想プリンタを検索する検索手段と、
前記検索手段で検索された仮想プリンタそれぞれのプリンタＩＤに基づいて、同一のプリンタに対応する仮想プリンタごとにまとめて表示するプリンタリストを生成する生成手段と、
を有することを特徴とするプリンタリスト生成装置。
【請求項２】
ローカルネットワークに接続されたローカルプリンタを探索する探索手段を、更に有するプリンタリスト生成装置であって、
前記生成手段は、前記検索手段で検索された仮想プリンタそれぞれのプリンタＩＤと前記探索手段で探索されたローカルプリンタのプリンタＩＤとに基づいて、同一のプリンタに対応する仮想プリンタおよびローカルプリンタごとにまとめて表示するプリンタリストを生成することを特徴とする請求項１に記載のプリンタリスト生成装置。
【請求項３】
前記生成手段は、ローカルプリンタを優先表示するように設定されている場合、同一のプリンタに対応する仮想プリンタおよびローカルプリンタのうち、該ローカルプリンタをメインプリンタとして表示し且つ該仮想プリンタをサブプリンタとして表示するプリンタリストを生成することを特徴とする請求項２に記載のプリンタリスト生成装置。
【請求項４】
前記生成手段は、無料で利用できるプリンタを優先表示するように設定されている場合、同一のプリンタに対応するプリンタのうち、無料で利用できるプリンタをメインプリンタとして表示し且つ無料で利用できないプリンタをサブプリンタとして表示するプリンタリストを生成することを特徴とする請求項１または２のいずれかに記載のプリンタリスト生成装置。
【請求項５】
前記生成手段は、特定のプリントサービスが優先サービスとして設定されている場合、同一のプリンタに対応する仮想プリンタのうち、前記特定のプリントサービスの仮想プリンタをメインプリンタとして表示し且つ前記特定のプリントサービスと異なるプリントサービスの仮想プリンタをサブプリンタとして表示するプリンタリストを生成することを特徴とする請求項１または２のいずれかに記載のプリンタリスト生成装置。
【請求項６】
前記検索手段は、ユーザにより印刷対象として指定された文書ファイルを印刷可能な仮想プリンタを検索することを特徴とする請求項１乃至５のいずれか１項に記載のプリンタリスト生成装置。
【請求項７】
前記検索手段は、ユーザにより印刷対象として指定された文書ファイルを、ユーザにより指定された印刷属性の設定で印刷可能な仮想プリンタを検索することを特徴とする請求項６に記載のプリンタリスト生成装置。
【請求項８】
前記生成手段で生成されたプリンタリストの中から、ユーザにより印刷先として指定されたプリンタに対して、前記印刷対象の文書ファイルを印刷させるように制御する印刷手段を、更に有することを特徴とする請求項６または７のいずれかに記載のプリンタリスト生成装置。
【請求項９】
前記印刷先として指定されたプリンタが前記印刷対象の文書ファイルを直接印刷可能なプリンタである場合、前記印刷手段は、前記印刷対象の文書ファイルを前記印刷先として指定されたプリンタに直接送信して前記印刷対象の文書ファイルを印刷させるように制御することを特徴とする請求項８に記載のプリンタリスト生成装置。
【請求項１０】
前記印刷先として指定されたプリンタがクラウドプリント機能に対応しているプリンタである場合、前記印刷手段は、前記印刷先として指定されたプリンタに対応するプリントサービスに対して前記印刷対象の文書ファイルを送信して、前記プリントサービスで前記印刷対象の文書ファイルを変換することにより生成される印刷データを前記プリンタが直接ダウンロードして印刷するように制御することを特徴とする請求項８に記載のプリンタリスト生成装置。
【請求項１１】
前記印刷先として指定されたプリンタがクラウドプリント機能に対応していないプリンタである場合、前記印刷手段は、前記印刷先として指定されたプリンタに対応するプリントサービスに対して前記印刷対象の文書ファイルを送信し、前記プリントサービスで前記印刷対象の文書ファイルを変換することにより生成される印刷データをダウンロードし、当該ダウンロードした印刷データを前記プリンタに送信して印刷するように制御することを特徴とする請求項８に記載のプリンタリスト生成装置。
【請求項１２】
前記複数のプリントサービスはインターネットを介して接続されることを特徴とする請求項１乃至１１のいずれか１項に記載のプリンタリスト生成装置。
【請求項１３】
前記プリンタリスト生成装置はモバイル端末であることを特徴とする請求項１乃至１２のいずれか１項に記載のプリンタリスト生成装置。
【請求項１４】
複数のプリントサービスそれぞれに登録されている仮想プリンタをリスト表示する表示手段と、
前記表示手段で表示されたプリンタリストの中から、ユーザにより印刷先として指定されたプリンタに対して、印刷対象の文書ファイルを印刷させるように制御する印刷手段とを、有するモバイル端末であって、
前記印刷手段は、
前記印刷先として指定されたプリンタが前記印刷対象の文書ファイルを直接印刷可能なプリンタである場合、前記印刷対象の文書ファイルを前記印刷先として指定されたプリンタに直接送信して前記印刷対象の文書ファイルを印刷させるように制御し、
前記印刷先として指定されたプリンタがクラウドプリント機能に対応しているプリンタである場合、前記印刷先として指定されたプリンタに対応するプリントサービスに対して前記印刷対象の文書ファイルを送信して、前記プリントサービスで前記印刷対象の文書ファイルを変換することにより生成される印刷データを前記プリンタが直接ダウンロードして印刷するように制御し、
前記印刷先として指定されたプリンタがクラウドプリント機能に対応していないプリンタである場合、前記印刷先として指定されたプリンタに対応するプリントサービスに対して前記印刷対象の文書ファイルを送信し、前記プリントサービスで前記印刷対象の文書ファイルを変換することにより生成される印刷データをダウンロードし、当該ダウンロードした印刷データを前記プリンタに送信して印刷するように制御する
ことを特徴とするモバイル端末。
【請求項１５】
コンピュータを、請求項１乃至１４のいずれか１項に記載の各手段として機能させるためのコンピュータプログラム。
【請求項１６】
装置の検索手段が、複数のプリントサービスそれぞれに登録されている仮想プリンタを検索する検索ステップと、
装置の生成手段が、前記検索ステップで検索された仮想プリンタそれぞれのプリンタＩＤに基づいて、同一のプリンタに対応する仮想プリンタごとにまとめて表示するプリンタリストを生成する生成ステップと、
を有することを特徴とするプリンタリスト生成方法。
【請求項１７】
装置の探索手段が、ローカルネットワークに接続されたローカルプリンタを探索する探索ステップを、更に有するプリンタリスト生成方法であって、
前記生成ステップでは、前記検索ステップで検索された仮想プリンタそれぞれのプリンタＩＤと前記探索ステップで探索されたローカルプリンタのプリンタＩＤとに基づいて、同一のプリンタに対応する仮想プリンタおよびローカルプリンタごとにまとめて表示するプリンタリストを生成することを特徴とする請求項１６に記載のプリンタリスト生成方法。
【請求項１８】
モバイル端末の表示手段が、複数のプリントサービスそれぞれに登録されている仮想プリンタをリスト表示する表示ステップと、
モバイル端末の印刷手段が、前記表示ステップで表示されたプリンタリストの中から、ユーザにより印刷先として指定されたプリンタに対して、印刷対象の文書ファイルを印刷させるように制御する印刷ステップとを、有するモバイル端末制御方法であって、
前記印刷ステップでは、
前記印刷先として指定されたプリンタが前記印刷対象の文書ファイルを直接印刷可能なプリンタである場合、前記印刷対象の文書ファイルを前記印刷先として指定されたプリンタに直接送信して前記印刷対象の文書ファイルを印刷させるように制御し、
前記印刷先として指定されたプリンタがクラウドプリント機能に対応しているプリンタである場合、前記印刷先として指定されたプリンタに対応するプリントサービスに対して前記印刷対象の文書ファイルを送信して、前記プリントサービスで前記印刷対象の文書ファイルを変換することにより生成される印刷データを前記プリンタが直接ダウンロードして印刷するように制御し、
前記印刷先として指定されたプリンタがクラウドプリント機能に対応していないプリンタである場合、前記印刷先として指定されたプリンタに対応するプリントサービスに対して前記印刷対象の文書ファイルを送信し、前記プリントサービスで前記印刷対象の文書ファイルを変換することにより生成される印刷データをダウンロードし、当該ダウンロードした印刷データを前記プリンタに送信して印刷するように制御する
ことを特徴とするモバイル端末制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプリントサービスから取得した仮想プリンタを一覧表示するためのプリンタリストを生成する生成装置に関する。
【背景技術】
【０００２】
従来、クライアントがサーバに対して印刷指示を送信すると、当該印刷指示を受信したサーバが印刷対象のコンテンツを印刷データに変換して、当該変換された印刷データを用いて印刷処理を実行する技術がある。
【０００３】
特許文献１では、クライアント装置がサーバ内のアプリケーションで作成したアプリケーションデータのプリント要求をユーザから受理すると、該アプリケーションデータからプリントデータを生成させるための生成要求をサーバのアプリケーションに送信する。そして、サーバが、当該生成要求を行ったクライアントの情報と前記生成要求とを受信すると、該クライアントの情報に応じたプリント制御情報に応じてプリントデータを生成する。すなわち、特許文献１のサーバは、プリントデータを生成するサービスをクライアントに提供している。
【０００４】
このように、サーバがクライアントにプリントサービスを提供する形態は従来から存在している。一方、近年、注目を集めているクラウドコンピューティングも、サーバがクライアントにサービスを提供する形態である。クラウドコンピューティングは、多くのコンピューティング・リソースを用いてデータ変換やデータ処理を分散実行し、複数のクライアントからの要求を同時に処理することが主な特徴である。現在、このクラウドコンピューティング環境上にＷｅｂサービスを実装して、多種多様なサービスを提供するベンダーが複数存在する。
【０００５】
一方、スマートフォンなどのモバイル端末からプリンタに印刷データを直接送信して印刷を行うものがある。この方法は、モバイル端末内で文書データを印刷データに変換する必要があり、モバイル端末によってはメモリ不足などを起こしてしまう場合もある。また、特許文献２のＷｅｂサーバは、画像形成装置から印刷要求を受けると、印刷サービスに印刷指示を行って印刷データを生成させる。そして、画像形成装置は印刷データを該印刷サービスから取得して印刷を実行し、印刷状態が変化する度に、該印刷サービスに対して印刷状態を通知するようにしている。モバイル端末、プリンタ、サーバを組み合わせて印刷を行うシステムをクラウドプリンティングと呼ぶ。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−１９６０５４号公報
【特許文献２】特開２０１３−０５０８０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
プリンタを探索した際に、複数のプリントサービスそれぞれから登録済みの仮想プリンタの情報を得て一覧表示する形態が考えられる。このような形態では、複数のプリントサービスそれぞれに登録されている仮想プリンタは、異なるプリンタとして表示されることになる。しかしながら、複数のプリントサービスそれぞれに対して同一プリンタを仮想プリンタとして登録している場合、本来は同一のプリンタであるにも関わらず、異なるプリンタとして一覧表示されることになり、ユーザはプリンタ選択の際に混乱しやすくなり利便性が落ちる。また、この一覧表示中に、ローカルネットワーク上で探索したプリンタの情報も並べて表示することが考えられる。この場合も、複数のプリントサービスそれぞれに登録されている仮想プリンタと、ローカルネットワーク上で探索したプリンタは、異なるプリンタとして表示されることになる。したがって、本来は同一のプリンタであるにも関わらず、異なるプリンタとして一覧表示されてしまい、ユーザはプリンタ選択の際に混乱しやすくなり利便性が落ちる。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のプリンタリスト生成装置は、複数のプリントサービスそれぞれに登録されている仮想プリンタを検索する検索手段と、前記検索手段で検索された仮想プリンタそれぞれのプリンタＩＤに基づいて、同一のプリンタに対応する仮想プリンタごとにまとめて表示するプリンタリストを生成する生成手段と、を有することを特徴とする。
【発明の効果】
【０００９】
複数のプリントサービスに登録されている仮想プリンタ（やローカル探索で見つかったプリンタ）をリスト表示するためのプリンタリストを生成する際、プリンタＩＤが一致するプリンタごとにまとめたプリンタリストを生成する。したがって、同じプリンタを用いて印刷する異なるプリントサービスが並べて表示されることになるので、ユーザは、それらのプリントサービスのうちのいずれを用いて印刷すべきか判断しやすくなる。
【図面の簡単な説明】
【００１０】
【図１】システム構成図
【図２】各装置のハードウェア構成図
【図３】各装置のソフトウェアコンポーネント構成図
【図４】各装置で管理するテーブル構造
【図５】印刷アプリケーションの画面例
【図６】印刷シーケンス
【図７】プリンタリスト生成フロー
【図８】プリンタリストへのプリンタ情報追加フロー
【発明を実施するための形態】
【００１１】
（実施例１）
＜システム構成＞
図１は、本実施形態に係るモバイル印刷システムの全体構成を示す図である。プリンタ１０２とモバイル端末１０３は、有線または無線のローカルネットワーク（ＬＡＮ）１０１を介して複数台接続されていることを想定している。また、プリンタ１０２とモバイル端末１０３は、ローカルネットワーク１０１を介してインターネット１００にアクセスし、複数の会社により提供されている複数のプリントサービス１０５にアクセスすることができる。本実施形態では、モバイル端末１０３は、無線ＬＡＮターミナル１０４を介してネットワークに接続することを想定しているが、携帯データ通信キャリアが提供する無線ネットワークを介して接続しても構わない。また、モバイル端末１０３とプリントサービス１０５、プリンタ１０２とプリントサービス１０５がそれぞれインターネット１００を介して接続されていればよく、必ずしもプリンタ１０２とモバイル端末１０３が直接通信可能な状態である必要は無い。また、無線ＬＡＮターミナル１０４は、一般的なネットワーク・ルーター機能を有した無線ＬＡＮの親機であり、家庭内や事務所などの中で無線ＬＡＮを提供している。プリントサービス１０５は、モバイル端末１０３から送信されるコンテンツデータをプリンタ１０２が読み取り可能なデータ形式のデータ（例えばＰＤＬデータ）に変換し、プリンタ１０２に対して該ＰＤＬデータを送信して印刷を行わせるクラウドサービスである。また、各プリントサービス１０５は、登録されたプリンタ１０２の情報を仮想プリンタ情報４００として保持する機能を有し、モバイル端末１０３からの指示に基づいてプリンタの登録を行ったり、仮想プリンタに対して印刷指示を行ったりすることができる。
【００１２】
なお、本実施形態では、プリントサービス１０５は複数存在することを想定しており、プリントサービスを提供するベンダー毎に様々なサービスが提供される。各プリントサービス１０５は各プリントサーバ１０６上で動作しているものとするが、これに限るものではなく１つのプリントサーバ上で複数のプリントサービスが動作する場合もあり得る。
【００１３】
＜モバイル端末のハードウェア構成＞
図２（Ａ）は、モバイル端末１０３のハードウェア構成図の例である。各構成要素は、システムバス２０２に接続されている。
【００１４】
ＲＯＭ２０４には、オペレーティングシステム及び、通話やデータ通信を制御するアプリケーションプログラムが格納されている。ＣＰＵ２０３はこれらのコンピュータプログラムを実行することにより、後述する各処理を実行する処理部として機能する。なお、データ通信を制御するアプリケーションプログラムとしては、ＭａｉｌソフトやＷｅｂブラウザなどがある。ＲＡＭ２０５は、ＣＰＵ２０３がプログラムを実行する際のワークメモリエリアとして利用される。また、ＲＡＭ２０５は、ＷｅｂブラウザがＷｅｂサーバから取得してきたＷｅｂページデータやＷｅｂサービスにアクセスするための認証情報などを一時記憶するためのメモリとしても利用される。記憶装置２１０は不揮発性の記憶装置であり、モバイル端末の再起動後も保持しておく必要のある各種動作モード設定や、稼働ログなどが記憶される。
【００１５】
ＮｅｔｗｏｒｋＣｏｎｔｒｏｌｌｅｒ２０６は、無線ＬＡＮ通信部２１２、携帯電話キャリアの提供する無線通信ネットワークに参加するための携帯電話データ通信部２１３の通信制御を行う。一般的には、無線ＬＡＮのネットワークに参加できるとき、ＮｅｔｗｏｒｋＣｏｎｔｒｏｌｌｅｒ２０６は、無線ＬＡＮの接続を優先する。モバイル端末が無線ＬＡＮのネットワークエリアから外れた場合には、携帯電話キャリアが提供する無線通信ネットワークへ参加する。音声制御部２０７は、主に通話アプリケーションを用いてユーザが電話をしているときに利用され、通話アプリケーションとマイク・スピーカ２１４による音声データの入出力との仲介を行っている。表示制御部２０８は、モバイル端末のディスプレイ２１５にて出力する情報の制御を行っている。入力制御部２０９は、モバイル端末のボタンやタッチパネル２１６にてユーザが指示した情報の制御を行っている。これらの音声制御部２０７、表示制御部２０８、入力制御部２０９を利用して、モバイル端末上でのアプリケーションは、ネットワーク通信情報やモバイル端末のさまざまな情報をユーザに提供する。位置検出制御部２１１は、ＧＰＳセンサー２１７からモバイル端末の位置情報を取得しＯＳに提供する。これらの制御は、ＣＰＵ２０３がＯＳやアプリケーション等のコンピュータプログラムを実行することにより実現される。
【００１６】
＜プリントサービスのハードウェア構成＞
図２（Ｂ）は、プリントサーバ１０６のハードウェア構成の一例を示す図である。なお、本発明のプリントサービスを提供するプリントサーバは、単体の機器で構成されても、複数の機器からなるシステムで構成されても構わない。本実施例では、システムバス２１９により各構成要素が接続されているものとして説明する。ＣＰＵ２２０は、記憶装置２２６に格納されているアプリケーションプログラム、プリントドライバプログラム、オペレーティングシステムや本発明のモバイル印刷システムプログラムを実行する。また、ＣＰＵ２２０はコンピュータプログラム実行に必要な情報やファイル等をＲＡＭ２２２に一時的に格納する制御を行う。また、ＣＰＵ２２０は、ディスプレイ２２７に表示されるマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ＲＯＭ２２１は記憶手段であり、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。ＲＡＭ２２２は一時記憶手段であり、ＣＰＵ２２０の主メモリやワークエリア等として機能する。表示制御部２２４は、ディスプレイ２２７にて表示出力する情報の制御を行っている。入力制御部２２５は、キーボード２２８より入力される情報を受信してＣＰＵ２２０とやり取りする。記憶装置２２６は、大容量メモリとして機能する外部記憶手段であり、アプリケーションプログラム、プリントドライバプログラム、ＯＳ等を格納している。キーボード２２８は、ユーザが装置に命令等を入力指示するための指示入力手段である。
【００１７】
＜プリンタのハードウェア構成＞
図２（Ｃ）は、プリンタ１０２のハードウェア構成図である。各構成要素は、システムバス２３０に接続されている。ＣＰＵ２３１は装置全体の制御と、システムバス２３０に接続される各種デバイスとのアクセスを統括的に制御する。ＣＰＵ２３１は、ＲＯＭ２３２あるいは外部メモリ２３６に記憶された制御プログラムを実行することにより、装置全体の制御を行う。ＲＡＭ２３３は、ＣＰＵ２３１の主メモリ、ワークエリア等として利用される。記憶装置２４０は大容量メモリとして機能する外部記憶手段であり、本発明に係るコンピュータプログラム等を格納している。操作パネル（操作部）２３９はタッチパネルで構成され、操作画面を表示したり、操作画面を介したユーザの指示を受け付けたりする。また、操作パネル２３９では、プリンタ１０２の動作モード等の設定やプリンタ１０２の動作状況の表示や、複写指定等の操作を行うためのボタン等の表示も行われる。ネットワークコントローラ２３４は、ネットワークインターフェースカード（ＮＩＣ）であり、外部装置とのデータのやり取りを行う。プリントエンジン２３８は電子写真方式（レーザービーム方式）やインクジェット方式、昇華（熱転写）方式等の印刷技術を用いて印刷を実行する印刷部である。ラスタコントローラ２３７は、ＰＤＬ言語・ＰＤＦ言語で記述された印刷データ（ＰＤＬデータ）を画像データに変換するコントローラである。機器Ｉ／Ｆ２４１は、ＵＳＢ等で接続可能な外部機器との接続Ｉ／Ｆである。
【００１８】
＜プリントサービスのソフトウェア構成＞
図３（Ａ）は、プリントサービス１０５のソフトウェア構成図である。なお各ソフトウェアモジュールは、図２（Ｂ）で示した記憶装置２２６に記憶されており、前述したようにＣＰＵ２２０は、各コンピュータプログラムをＲＡＭ２２２にロードして実行することにより、後述する各処理部３０１〜３０４として機能する。
【００１９】
データ変換部３０１は、モバイル端末１０３から受け付けた文書ファイルをプリンタ１０２が印刷可能なデータフォーマットの印刷データ（ＰＤＬデータ等）に変換する。仮想プリンタ管理部３０２は、後述の図４（Ａ）で説明する仮想プリンタの情報をストレージ３０５に格納したり、外部からの要求に応じてストレージ３０５より仮想プリンタ情報を読み出して応答したりする。制御部３０３は、仮想プリンタ管理部３０２とＷｅｂサーバ３０４の情報の受け渡しや、データ変換部３０１に対して変換処理の要求を行う。また、制御部３０３は、データ変換部３０１が変換した印刷データを、プリンタ１０２やモバイル端末１０３からの印刷データ取得要求に応じて送信を行う。あるいは、制御部３０３が印刷データをプリンタ１０２に直接送信を行うことも想定される。Ｗｅｂサーバ３０４は、後述する各種インターフェースを提供し、プリンタ登録の受け付けや、受け付けた情報の妥当性の検証を行う。ストレージ３０５には、図４（Ａ）で説明するプリントサービス１０５で保持される情報が格納される。
【００２０】
＜モバイル端末のソフトウェア構成＞
図３（Ｂ）は、モバイル端末１０３のソフトウェア構成図である。なお各ソフトウェアモジュールは図２（Ａ）で示した記憶装置２１０に記憶されており、前述したようにＣＰＵ２０３は、各コンピュータプログラムをＲＡＭ２０５にロードして実行する。本実施例では、モバイル端末１０３のオペレーティングシステム（ＯＳ）３０７に印刷アプリケーション３０６をインストールし、印刷アプリケーション３０６にて本発明の処理を実行するものとする。印刷アプリケーション３０６からプリンタ１０２やプリントサービス１０５と通信する際は、ＯＳ３０７が制御するネットワークコントローラ２０６を利用する。印刷アプリケーション３０６は、ユーザの操作に応じてプリンタ１０２やプリントサービス１０５と通信を行い、プリンタの登録や文書ファイルのアップロード、印刷指示などの処理を行う。
【００２１】
＜プリンタのソフトウェア構成＞
図３（Ｃ）は、プリンタ１０２のソフトウェア構成図である。なお各ソフトウェアモジュールは図２（Ｃ）で示した記憶装置２４０に記憶されており、前述したようにＣＰＵ２３１は、各コンピュータプログラムをＲＡＭ２３３にロードして実行することにより、後述する各処理部３０８、３１０として機能する。
【００２２】
制御部３０８は、Ｗｅｂサーバ３１０が受け付けた要求に応じて図４（Ｃ）で示されるプリンタ情報や印刷属性を応答する。エンジン３０９は、モバイル端末１０３やプリントサービス１０５から送信された印刷データを解釈して変換された印刷画像を用いて、印刷処理を行う。Ｗｅｂサーバ３１０は、モバイル端末１０３やプリントサービス１０５からのプリンタ情報取得要求を受け付ける。
【００２３】
＜プリントサービスのデータテーブル＞
図４（Ａ）は、プリントサービス１０５が記憶装置２２６に記憶する複数のデータテーブルである。これらのデータテーブルは、プリントサーバ１０６の記憶装置２２６ではなく、インターネット１００やローカルネットワーク１０１を介して通信可能に構成された別のサーバに記憶するように構成することもできる。プリントサービス１０５が保持する複数のデータテーブルは、仮想プリンタ情報４００、サポートコンテンツ情報４２０、印刷属性４２１、Ｖｅｎｄｅｒ情報４２２の各テーブルで構成される。
【００２４】
テーブル４００に保持されている仮想プリンタ情報は、仮想プリンタ情報の登録時にＷｅｂサーバ３０４を介して渡され、プリントサービス１０５がストレージ３０５上で保持する。ＵｓｅｒＩＤ４０１は、クライアントがＷｅｂサーバ３０４へアクセスする際に渡され、プリントサービス１０５がどのユーザからの要求であるかを識別するためのユーザ識別子である。また、本実施例においては、仮想プリンタ情報４００はＵｓｅｒＩＤごとに保持される。ＰｒｉｎｔｅｒＩＤ（プリンタＩＤ）４０２は、本システム全体においてプリンタ１０２を一意に識別するためのプリンタ識別子である。ＰｒｉｎｔｅｒＩＤ（プリンタＩＤ）の発行方法については本実施例では特に限定しない。一意性が確保されるのであれば、プリンタ１０２にあらかじめ設定されていても、プリンタ１０２、あるいは不図示のＩＤ管理サーバが発行してもよい。ＰｒｉｎｔｅｒＮａｍｅ４０３は、仮想プリンタを登録する際にユーザが設定可能な名称である。ＰｒｉｎｔｅｒＣａｐａｂｉｌｉｔｉｅｓ４０４は、プリンタ１０２で指定可能な印刷属性情報である。ＩＰａｄｄｒｅｓｓ４０５は、ネットワーク上の機器を識別するためのＩＰアドレスである。ｓｔａｔｕｓ４０６は、プリントサービス１０５がプリンタ１０２から当該プリンタの状態に関する情報を取得し格納する。
【００２５】
サポートコンテンツ情報４２０、印刷属性４２１、Ｖｅｎｄｅｒ情報４２２はプリントサービス１０５があらかじめ保持している基本情報である。Ｃｏｎｔｅｎｔｓ４０７には、プリントサービス１０５が処理可能な文書フォーマットの情報が格納されている。Ｃａｐａｂｉｌｉｔｉｅｓ４０８には、プリントサービス１０５で指定可能な印刷属性情報が格納されている。ｎａｍｅ４０９には、プリントサービス１０５を提供しているベンダー名称が格納されている。
【００２６】
＜モバイル端末のデータテーブル＞
図４（Ｂ）は、モバイル端末上の印刷アプリケーション３０６が記憶装置２１０に保持するデータテーブルである。モバイル端末１０３が保持するデータテーブルは、プリントサービス情報４２３のテーブルと優先度情報４２４のテーブルとを含む。Ｓｅｒｖｉｃｅ４１０は、印刷アプリケーション３０６に登録しているベンダー名称である。ＳｅｒｖｉｃｅＵＲＬ４１１は、Ｓｅｒｖｉｃｅ４１０を提供しているサーバを特定するＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）である。Ｃｈａｒｇｅ４１２はＣｈａｒｇｅ、印刷アプリケーション３０６に登録されているＳｅｒｖｉｃｅ４１０それぞれの利用料金である。優先度４１３は、印刷アプリケーション３０６がＳｅｒｖｉｃｅ４１０のうちのいずれのサービスを選択するか判断する際に使用される情報である。
【００２７】
＜プリンタのデータテーブル＞
図４（Ｃ）は、プリンタ１０２が記憶装置２４０に保持するデータテーブルである。プリンタ１０２が保持するデータテーブルは、プリンタ情報のテーブル４２５と、印刷属性のテーブル４２６とを含む。ＰｒｉｎｔｅｒＩＤ４１４は、プリンタ１０２を一意に識別するためのプリンタ識別子である。ＩＰａｄｄｒｅｓｓ４１６は、プリンタ１０２に設定されているＩＰアドレスである。ｓｔａｔｕｓ４１７は、プリンタ１０２の状態を示す情報である。Ｖｅｎｄｅｒ４１８は、プリンタ１０２の製造ベンダーを示す情報である。Ｃａｐａｂｉｌｉｔｉｅｓ４１５はプリンタ１０２が実行可能な印刷属性の情報である。
【００２８】
＜モバイル端末で表示される画面の例＞
図５は、モバイル端末の印刷アプリケーション３０６がディスプレイ２１５に表示する画面の一例である。プリンタリスト画面５０１は、印刷アプリケーション３０６がローカルネットワーク探索したときに、当該探索で見つかったプリンタ（ローカルプリンタ）１０２と各ベンダーのプリントサービス１０５から取得した仮想プリンタ４００とをリスト表示した画面の一例である。また、プリンタリスト画面５０２は、プリントサービス１０５の１つを選択したときに、当該選択したプリントサービスに登録されている仮想プリンタ４００の情報とＶｅｎｄｅｒ４０９を表示した画面の一例である。
【００２９】
コンテンツデータ表示画面５０３は、印刷対象として選択されたコンテンツデータのプレビュー画像を表示する画面の一例であり、この画面のメニューでＰｒｉｎｔをユーザが選択することで、印刷属性選択画面５０４を表示する。印刷属性選択画面５０４は、印刷前にコンテンツデータをどのような印刷属性で印刷するかをユーザが選択（印刷部数、片面印刷／両面印刷、カラー／白黒、集約印刷などの印刷設定をユーザが指定）する画面の一例である。印刷属性選択画面５０４でプリンタを選択すると、印刷処理を実行する前に印刷確認画面５０５を表示してユーザに印刷設定の確認を行わせる。ユーザが印刷設定を確認した後、ＯＫボタンを押すと印刷処理が実行される。
【００３０】
＜印刷処理シーケンス＞
図６（Ａ）〜（Ｃ）は、印刷処理におけるデータの流れを説明するためのシーケンス図である。
【００３１】
図６（Ａ）は、印刷アプリケーション３０６を用いてダイレクト印刷を実行する際のシーケンスを示す。モバイル端末１０３の印刷アプリケーション３０６は、ユーザにより印刷対象として指定された文書ファイルが、印刷先としてユーザにより指定されたプリンタ１０２で直接印刷可能だった場合に、ダイレクト印刷を実行する。
【００３２】
Ｓ６０１において、印刷アプリケーション３０６は、印刷先として指定されたプリンタ１０２に対して、印刷対象として指定された文書ファイルを送信する。プリンタ１０２は、印刷アプリケーション３０６から送信された文書ファイルを受信して印刷する。
【００３３】
図６（Ｂ）は、印刷先としてユーザにより指定されたプリンタ１０２がクラウドプリント機能に対応していない場合（すなわち、プリンタがプリントサービス１０５から直接データを受信することができない場合）の印刷処理のシーケンスを示す。以下に示すように、この場合、プリントサービス１０５で生成した印刷データは、印刷アプリケーション３０６経由でプリンタ１０２に送信されて印刷されるようになる。
【００３４】
Ｓ６１０において、印刷アプリケーション３０６は、印刷対象としてユーザにより指定された文書ファイルをプリントサービス１０５にアップロードする。プリントサービス１０５は、印刷アプリケーション３０６からアップロードされた文書ファイルを受信し、その受信が完了すると、受信完了したことを印刷アプリケーション３０６に通知する。
【００３５】
印刷アプリケーション３０６は、Ｓ６１０での文書ファイルのアップロード処理が完了すると、Ｓ６１１において、プリントサービス１０５に対して当該アップロードした文書ファイルのデータ変換リクエストを行う。プリントサービス１０５は、データ変換リクエストを受信すると、該文書ファイルをプリンタ１０２で印刷可能なデータフォーマットに変換することにより印刷データを生成する。そして、印刷データの生成が完了すると、完了したことを印刷アプリケーション３０６に通知する。その際にプリントサービス１０５は、当該変換した印刷データをダウンロードするためのダウンロードＵＲＬを印刷アプリケーション３０６に通知する。なお、印刷データのダウンロードＵＲＬは、複数のＵＲＬであってもよい。
【００３６】
Ｓ６１２において、印刷アプリケーション３０６は、Ｓ６１１で受信したダウンロードＵＲＬを用いて、印刷データのダウンロードリクエストをプリントサービス１０５に送信する。プリントサービス１０５は、ダウンロードリクエストを受信すると、Ｓ６１１で生成した印刷データを印刷アプリケーション３０６に送信する。これでプリントサービス１０５から印刷アプリケーション３０６に対して、プリンタ１０２で印刷可能なフォーマットに変換された印刷データが受け渡されたことになる。なお、印刷データのダウンロードＵＲＬが複数あるときは、このＳ６１２の処理は複数回行われることになる。
【００３７】
Ｓ６１３において、印刷アプリケーション３０６は、プリントサービス１０５内の印刷データの削除を指示する。これはＳ６１２で印刷データのダウンロードが完了し、プリントサービス１０５に印刷データを保持しておく必要がなくなるためである。なお、本実施例ではＳ６１２の直後にＳ６１３を行うようなシーケンス図を示したが、これに限るものではなく、Ｓ６１３の処理を実行するタイミングはＳ６１２より後であればいつでも構わない。削除指示する際はダウンロードＵＲＬを用いる。ダウンロードＵＲＬが複数ある場合は、ダウンロードＵＲＬ群のタグ付けやＩＤで管理し１回の指示で済ますように構成しても構わない。プリントサービス１０５は印刷アプリケーション３０６から印刷データの削除指示を受信すると、当該指示された印刷データの削除処理を行う。プリントサービス１０５は削除が完了すると、印刷データの削除が完了したことを印刷アプリケーション３０６に通知する。
【００３８】
Ｓ６１４において、印刷アプリケーション３０６は、Ｓ６１２でダウンロードした印刷データをプリンタ１０２に送信して印刷を実行させる。プリンタ１０２は印刷アプリケーション３０６から受信した印刷データを用いて印刷処理を実行する。
【００３９】
図６（Ｃ）は、印刷先としてユーザにより指定されたプリンタ１０２がクラウドプリント機能に対応している場合（すなわち、プリンタがプリントサービス１０５から直接データを受信することができる場合）の印刷処理のシーケンスを示す。以下に示すように、この場合、プリントサービス１０５で生成した印刷データをプリンタ１０２が直接ダウンロードして印刷する。
【００４０】
Ｓ６２０において、印刷アプリケーション３０６は、ユーザにより印刷対象として指定されたモバイル端末１０３内の文書ファイルを、プリントサービス１０５にアップロードする。プリントサービス１０５は印刷アプリケーション３０６からアップロードされた文書ファイルを受信し、その受信が完了すると、受信完了したことを印刷アプリケーション３０６に通知する。
【００４１】
印刷アプリケーション３０６は、Ｓ６２０での文書ファイルのアップロード処理が完了すると、Ｓ６２１において、プリントサービス１０５に対して当該アップロードした文書ファイルの印刷リクエストを行う。プリントサービス１０５は、印刷リクエストを受信すると、該文書ファイルをプリンタ１０２で印刷可能なデータフォーマットに変換することにより印刷データを生成する。プリントサービス１０５は、印刷データの生成が完了すると、Ｓ６２２において、印刷データの生成が完了したことをプリンタ１０２に通知する。その際、プリントサービス１０５は、当該変換した印刷データをダウンロードするためのダウンロードＵＲＬをプリンタ１０２に通知する。なお、印刷データのダウンロードＵＲＬは複数のＵＲＬであってもよい。
【００４２】
Ｓ６２３において、プリンタ１０２は、Ｓ６２２で受信したダウンロードＵＲＬを用いて、印刷データのダウンロードリクエストをプリントサービス１０５に送信する。プリントサービス１０５は、プリンタからダウンロードリクエストを受信すると、Ｓ６２１で生成した印刷データをプリンタ１０２に送信する。なお、印刷データのダウンロードＵＲＬが複数あるときは、このＳ６２３の処理は複数回行われることになる。プリンタ１０２は、当該ダウンロードした印刷データを用いて印刷処理を実行する。
【００４３】
プリンタ１０２は、Ｓ６２３でダウンロードした印刷データの印刷が完了すると、Ｓ６２３において、プリントサービス１０５に対して印刷完了通知を送信する。印刷完了通知を受信したプリントサービス１０５は、プリントサービス１０５内の印刷データの削除処理を実行する。なお、印刷完了通知を送信して削除処理を実行させる場合、Ｓ６２３で使用したダウンロードＵＲＬを用いて削除対象の印刷データを指定すればよい。なお、ダウンロードＵＲＬが複数ある場合は、ダウンロードＵＲＬ群のタグ付けやＩＤで管理し１回の指示で済ますように構成してもよい。プリントサービス１０５は、印刷完了通知を受信すると、印刷完了通知を受信したことをプリンタ１０２に応答する。
【００４４】
＜プリンタリストの生成処理＞
以下では、図５の５０１のように表示されるプリンタリストの生成方法について説明する。図７は、モバイル端末１０３においてユーザにより印刷対象の文書ファイルが指定されて印刷指示が為されたときに、印刷アプリケーション３０６が当該印刷指示を受けて、その文書ファイルを印刷可能なプリンタのリストを生成する処理を説明するためのフローチャートである。そして、モバイル端末が、当該生成されたプリンタリストを図５の５０１のように表示し、ユーザがプリンタリストの中から印刷先のプリンタを選択すると、上述した図６（Ａ）〜（Ｃ）で示したような印刷処理が実行されることになる。
【００４５】
Ｓ７００において、印刷アプリケーション３０６は印刷指示を受け付ける。印刷指示で受け取る情報には、印刷対象としてユーザにより指定された文書ファイルと印刷属性とを含む。印刷対象の文書ファイルは、モバイル端末１０３内のユーザにより指定された文書ファイルである。印刷属性は印刷属性選択画面５０４でユーザが指定した印刷属性であり、集約印刷の指定（Ｎｕｐ指定）、両面／片面印刷の指定、カラー／モノクロ印刷の指定などが含まれる。
【００４６】
Ｓ７０１とＳ７０４はループ端であり、印刷アプリケーション３０６は、プリントサービス情報４２３に登録されているＳｅｒｖｉｃｅを順に処理対象として、Ｓ７０２〜Ｓ７０３の処理を繰り返し実行する。
【００４７】
Ｓ７０２において、印刷アプリケーション３０６は、当該処理対象にしたＳｅｒｖｉｃｅ４１０のＳｅｒｖｉｃｅＵＲＬ４１１に対して仮想プリンタ検索リクエストを行う。この仮想プリンタ検索リクエストには、Ｓ７００で印刷アプリケーション３０６が受信した印刷対象の文書ファイルのデータフォーマットなどの文書属性と印刷属性とが、検索条件として指定される。印刷アプリケーション３０６からの仮想プリンタ検索リクエストを受信したプリントサービス１０５は、当該検索条件として指定された文書属性と印刷属性とを用いて印刷可能な仮想プリンタを、当該プリントサービスに登録されている仮想プリンタ情報４００から特定する。すなわち、プリントサービス１０５は、当該検索条件として指定されたデータフォーマットがサポートコンテンツ４２０として登録され、かつ当該検索条件の全ての印刷属性が印刷属性情報４２１に登録されている仮想プリンタを、仮想プリンタ情報４００から特定する。プリントサービス１０５は、当該検索条件に基づいて仮想プリンタ情報４００から特定した仮想プリンタの情報を、仮想プリンタ検索リクエストのレスポンスとして印刷アプリケーション３０６に送信する。
【００４８】
Ｓ７０３において、印刷アプリケーション３０６は、プリントサービスから仮想プリンタ検索リクエストのレスポンスとして受信した仮想プリンタの情報をプリンタリストに追加する。なお、Ｓ７０２において、プリントサービス１０５により特定される仮想プリンタは、ユーザによって印刷対象として指定された文書ファイルを当該指定された印刷属性で印刷可能な仮想プリンタであり、０台の場合もあるし複数台の場合もある。したがって、Ｓ７０３のプリンタリストへの追加処理は、Ｓ７０２でプリントサービス１０５により特定された仮想プリンタの台数分実行されることになる。Ｓ７０３のプリンタリスト追加処理の詳細フローについては、図８を用いて後述する。
【００４９】
Ｓ７０５において、印刷アプリケーション３０６は、ローカルプリンタの探索を実行する。すなわち、印刷アプリケーション３０６は、モバイル端末１０３から直接ネットワーク接続可能なローカルプリンタを探索する。プリンタ探索方式は、印刷アプリケーション３０６が当該モバイル端末が接続しているローカルエリアネットワーク（ＬＡＮ）に対してマルチキャストし、そのマルチキャストに応答したプリンタ１０２を見つける方法や、印刷アプリケーション３０６でプリンタ１０２のＩＰアドレスを指定することでプリンタ１０２を見つける方法などいずれの方法を用いても構わない。そして、Ｓ７０５のローカルプリンタ検索の結果として、印刷アプリケーション３０６はローカルのプリンタの接続先情報（ＩＰアドレスやＵＲＬなど）を取得する。なお、Ｓ７０５のローカルプリンタ検索により見つかるプリンタは、０台の場合もあるし複数台の場合もある。
【００５０】
Ｓ７０６とＳ７１０はループ端であり、Ｓ７０５のローカルプリンタ検索で見つかったローカルのプリンタを順に処理対象として、Ｓ７０７〜Ｓ７０９の処理を繰り返し実行する。
【００５１】
Ｓ７０７において、印刷アプリケーション３０６は、Ｓ７０５で検索され且つＳ７０６で処理対象とされているプリンタに対して、Ｃａｐａｂｉｌｉｔｙ取得リクエストを行う。Ｃａｐａｂｉｌｉｔｙ取得リクエストを受信したプリンタ１０２は、プリンタ情報４２５と印刷属性４２６とを印刷アプリケーション３０６に当該リクエストに対する応答として送信する。
【００５２】
Ｓ７０８において、印刷アプリケーション３０６は、Ｓ７０７で取得した当該プリンタで印刷可能な印刷属性（すなわち当該プリンタの機能）に基づいて、Ｓ７００で指定された印刷属性にて当該印刷対象の文書ファイルを、当該プリンタで印刷可能かどうか判断する。すなわち、印刷アプリケーション３０６は、Ｓ７００で受信した全ての印刷属性が、Ｓ７０７で取得したプリンタの印刷属性４２６に含まれていた場合に印刷可能と判断する。なお、印刷アプリケーション３０６は、Ｓ７００で受信した印刷属性のうち一つでもＳ７０７で取得したプリンタの印刷属性４２６に含まれていない場合に印刷不可と判断する。Ｓ７０８で印刷アプリケーション３０６が当該文書ファイルを判定対象のプリンタで印刷不可と判断した場合は、Ｓ７０６に戻って、次のローカルプリンタを判定対象とする。一方、Ｓ７０８で印刷アプリケーション３０６が当該文書ファイルを判定対象のプリンタで印刷可能と判断した場合は、Ｓ７０９に進んで、当該判定対象のプリンタのプリンタ情報をプリンタリストに追加する。Ｓ７０９において追加されるプリンタ情報は、Ｓ７０７で取得したプリンタ情報４２５と印刷属性４２６である。なお、Ｓ７０９のプリンタリスト追加処理の処理フローについては図８を用いて後述する。
【００５３】
図８は、印刷アプリケーション３０６がプリンタリスト画面５０１や５０２を表示するために必要なプリンタリストに対してプリンタを追加することにより、プリンタリストを生成する処理の詳細フローである。なお、本実施形態のプリンタリストは、図５のプリンタリスト画面５０１のように、複数のプリントサービスに登録されている複数の仮想プリンタとローカルネットワーク探索により見つかったプリンタとのうち、同一のプリンタ単位でまとめてドロップダウンリスト表示される。ここで、まとめて表示されるプリンタ（仮想プリンタ）のうち、一番目に表示されるプリンタをメインプリンタと称し、二番目以降に表示されるプリンタをサブプリンタと称することとする。また、図８のプリンタリスト生成処理フローにおいて、印刷アプリケーション３０６はプリンタリストに登録するプリンタのプリンタ情報を保持する。登録されるプリンタ情報は、仮想プリンタの場合には仮想プリンタ情報４００であり、ローカルプリンタの場合はプリンタ情報４２５である。図８のプリンタリスト生成処理フローは、仮想プリンタを追加する処理（Ｓ７０３）とローカルプリンタを追加する処理（Ｓ７０９）のどちらの場合でも同様に実行される。
【００５４】
Ｓ８００において、印刷アプリケーション３０６は、登録対象のプリンタのプリンタ情報に含まれるＰｒｉｎｔｅｒＩＤ（４０２または４１４）と同じＰｒｉｎｔｅｒＩＤを有するプリンタが、既にプリンタリスト中に存在するか否か確認する。印刷アプリケーション３０６は、登録プリンタ情報に含まれるＰｒｉｎｔｅｒＩＤ（４０２または４１４）に一致するＰｒｉｎｔｅｒＩＤを有するプリンタが未だプリンタリストに存在しないと判断した場合、Ｓ８０１に進んで、当該登録対象のプリンタのプリンタ情報をプリンタリストに追加する。一方、登録プリンタ情報に含まれるＰｒｉｎｔｅｒＩＤ（４０２または４１４）に一致するＰｒｉｎｔｅｒＩＤを有するプリンタが既にプリンタリストに存在すると印刷アプリケーション３０６が判断した場合、Ｓ８０２に進む。
【００５５】
複数のプリントサービス１０５に同一プリンタを仮想プリンタとして登録している場合や、仮想プリンタに加えてローカルプリンタとしても同一プリンタが見つかる場合がある。このような場合、同一プリンタであるにも関わらず異なるプリンタとしてそれらのプリンタをユーザに提示してしまうと、ユーザはプリンタ選択の際に混乱することになり利便性が落ちる。そこで、本発明では、ＰｒｉｎｔｅｒＩＤ（４０２や４１４）の一致するプリンタを同一プリンタであると判断して、ユーザに対しては１台のプリンタとしてまとめて提示する。このように構成することにより、同じプリンタを用いて印刷する異なるプリントサービスが並べて表示されることになるので、ユーザは、それらのプリントサービスのうちのいずれを用いて印刷すべきか判断しやすくなり利便性が向上する。
【００５６】
Ｓ８０２において、印刷アプリケーション３０６は、優先度情報４２４がローカルプリンタ優先になっているか確認する。ローカルプリンタ優先になっていると判断した場合はＳ８０３に進み、ローカルプリンタ優先になっていないと判断した場合はＳ８０６に進む。
【００５７】
Ｓ８０３において、印刷アプリケーション３０６は当該登録対象のプリンタがローカルプリンタかどうか判断する。なお、ローカルプリンタかどうかの判断は、登録対象のプリンタのプリンタ情報が、プリンタ情報４２５であればローカルプリンタであると判断する。Ｓ８０３において登録プリンタがローカルプリンタであると判断した場合はＳ８０４に進み、登録プリンタがローカルプリンタでないと判断した場合はＳ８０６に進む。
【００５８】
Ｓ８０４において、印刷アプリケーション３０６は、登録対象のプリンタのプリンタ情報を、メインプリンタとしてプリンタリストに追加する。Ｓ８０５において、印刷アプリケーション３０６は、プリンタリストに登録されていたプリンタのうち、当該登録対象プリンタのＰｒｉｎｔｅｒＩＤ（４０２または４１４）と一致するＰｒｉｎｔｅｒＩＤを有するプリンタとそのサブプリンタを、Ｓ８０４で追加された登録プリンタのサブプリンタとして、プリンタリストに再登録する。
【００５９】
印刷アプリケーション３０６は、ローカルプリンタ優先が設定されている場合、ローカル探索で見つかったローカルプリンタをプリントサービス１０５の仮想プリンタよりも優先して表示するので、ユーザは表示されたプリンタリストからローカルプリンタを容易に探すことができる。プリントサービス１０５を利用した印刷は処理に時間がかかることがあり、ローカルプリンタを優先して利用したい場合があるが、ユーザは優先表示されたローカルプリンタを迷わず選択することができるので、利便性が向上する。
【００６０】
Ｓ８０６において、印刷アプリケーション３０６は、優先度情報４２４が無料優先になっているか確認する。無料優先が設定されていると判断した場合はＳ８０７に進み、無料優先になっていないと判断した場合はＳ８０８に進む。
【００６１】
Ｓ８０７において、印刷アプリケーション３０６は、登録対象のプリンタが無料で利用できるかどうか判断する。登録プリンタが無料であると判断した場合はＳ８０４に進み、無料でないと判断した場合はＳ８０８に進む。なお、登録対象のプリンタが仮想プリンタ情報４００の場合は、当該仮想プリンタが登録されているＳｅｒｖｉｃｅのＣｈａｒｇｅ４１２に基づいて無料かどうか判断できる。登録対象のプリンタがローカルプリンタの場合（すなわち、プリンタ情報４２５の場合）は、無料と判断する。
【００６２】
印刷アプリケーション３０６は、優先度情報４２４に無料優先が設定されている場合、無料のプリンタを優先して表示するので、ユーザは表示されたプリンタリストから無料のプリンタを容易に探すことができる。印刷アプリケーション３０６を利用するユーザが印刷コストを優先して、無料のプリントサービスを優先して利用したい場合があるが、ユーザは優先表示された無料のプリンタを迷わず選択することができるので、利便性が向上する。
【００６３】
Ｓ８０８において、印刷アプリケーション３０６は優先度情報４２４に特定のプリントサービスが優先サービスとして設定されているか否かを確認する。優先度情報４２４に優先サービスが設定されていると判断した場合はＳ８０９に進み、優先サービスが設定されていないと判断した場合はＳ８１０に進む。
【００６４】
Ｓ８０９において、印刷アプリケーション３０６は、登録対象のプリンタが優先サービスに登録されている仮想プリンタであるかどうか判断する。ここで、登録対象のプリンタが仮想プリンタ情報４００の場合は、当該仮想プリンタ情報４００の取得先のＳｅｒｖｉｃｅが、優先度情報４２４に設定されている優先サービスと一致するか判断する。また、登録対象のプリンタがローカルプリンタの場合（すなわち、プリンタ情報４２５の場合）、当該登録対象のプリンタは優先サービスではないと判断する。このようにして、登録対象のプリンタが優先サービスに登録されている仮想プリンタであると判断した場合はＳ８０４に進み、登録対象のプリンタが優先サービスに登録されている仮想プリンタでないと判断した場合はＳ８１０に進む。
【００６５】
印刷アプリケーション３０６は、優先度情報４２４に優先サービスが設定されている場合、優先サービスに登録された仮想プリンタを優先して表示するので、ユーザは表示されたプリンタリストから優先サービスの仮想プリンタを容易に探すことができる。印刷アプリケーション３０６を利用するユーザが特定のプリントサービス１０５を優先して使いたい場合、ユーザは優先表示された優先サービスの仮想プリンタを迷わず選択することができるので、利便性が向上する。
【００６６】
Ｓ８１０において、印刷アプリケーション３０６は、プリンタリストに登録されているプリンタのうち、当該登録対象プリンタのＰｒｉｎｔｅｒＩＤ（４０２または４１４）と一致するＰｒｉｎｔｅｒＩＤを有するプリンタを特定し、当該特定されたプリンタのサブプリンタとして当該登録対象プリンタをプリンタリストに登録する。
【００６７】
以上説明したように、本実施形態では、各社（各ベンダー）のプリントサービスに登録されている仮想プリンタやローカル探索で見つかったプリンタを、プリンタリストに表示する際、ＰｒｉｎｔｅｒＩＤが一致するプリンタをまとめて１台のプリンタとして提示する。このように構成することにより、同じプリンタを用いて印刷する異なるプリントサービスが並べて表示されることになるので、ユーザは、それらのプリントサービスのうちのいずれを用いて印刷すべきか判断しやすくなる。
【００６８】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。その処理は、上述した実施例の機能を実現させるソフトウェア（コンピュータプログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００６９】
１０２  プリンタ
１０３  モバイル端末
１０５  プリントサービス
【図１】
0006039603.tif 000002
【図２】
0006039603.tif 000003
【図３】
0006039603.tif 000004
【図４】
0006039603.tif 000005
【図５】
0006039603.tif 000006
【図６】
0006039603.tif 000007
【図７】
0006039603.tif 000008
【図８】
0006039603.tif 000009