(57)【要約】      （修正有）【課題】モバイル端末等からの要求に基づいて発行されたジョブの割り込みを排他するとともに、複合機のＷｅｂブラウザを操作してアプリケーションから発行されたジョブを優先的に実行する。【解決手段】システムにおいて、Ｗｅｂアプリケーションサーバは、利用手段を介して前記Ｗｅｂアプリケーションが利用され、ジョブの発行の要求がなされた場合、当該ジョブに要求元が前記ジョブ処理装置である旨を示す情報を付加して発行する発行手段と、前記発行したジョブをジョブ管理サーバに送信する送信手段とを有し、前記ジョブ管理サーバは、受信したジョブに前記情報が付加されている場合、第１のジョブキューに当該ジョブを登録し、前記ジョブに前記情報が付加されていない場合、前記第１のジョブキューよりも優先順位が低い第２のジョブキューに当該ジョブを登録する登録手段と、ジョブキューに登録されたジョブを前記ジョブ処理装置へ送信する手段とを有する。【選択図】図６
2014153891.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して互いに接続されたＷｅｂアプリケーションサーバと、ジョブ管理サーバと、ジョブ処理装置とを含むシステムであって、
前記ジョブ処理装置は、ユーザが前記Ｗｅｂアプリケーションサーバにより提供されるＷｅｂアプリケーションを利用するための利用手段を備え、
前記Ｗｅｂアプリケーションサーバは、
前記利用手段を介して前記Ｗｅｂアプリケーションが利用され、ジョブの発行の要求がなされた場合、当該ジョブに要求元が前記ジョブ処理装置である旨を示す情報を付加して発行する発行手段と、
前記発行したジョブを前記ジョブ管理サーバに送信する送信手段と
を有し、
前記ジョブ管理サーバは、
受信したジョブに前記情報が付加されている場合、第１のジョブキューに当該ジョブを登録し、前記ジョブに前記情報が付加されていない場合、前記第１のジョブキューよりも優先順位が低い第２のジョブキューに当該ジョブを登録する登録手段と、
ジョブキューに登録されたジョブを前記ジョブ処理装置へ送信する手段と、
を有し、
前記ジョブ処理装置は、
ユーザが前記利用手段を用いて前記Ｗｅｂアプリケーションを利用している間、前記第２のジョブキューに登録されたジョブを受け付けず、前記第１のジョブキューに登録されたジョブを受け付けて実行する制御手段を有する、
ことを特徴とするシステム。
【請求項２】
前記ジョブ管理サーバは、ジョブがジョブキューに登録された際に前記ジョブ処理装置へ通知を行う通知手段を更に有し、
前記通知手段は、登録されたジョブに前記情報が付加されている場合、前記ジョブ処理装置への通知を行わないことを特徴とする請求項１に記載のシステム。
【請求項３】
前記ジョブ処理装置は、
前記Ｗｅｂアプリケーションサーバが発行したジョブの識別子を取得する取得手段と、
前記識別子を用いて、前記ジョブ管理サーバにジョブの要求を行う要求手段と
を更に有することを特徴とする請求項１または２に記載のシステム。
【請求項４】
前記要求手段は、ユーザが前記利用手段を用いて前記Ｗｅｂアプリケーションを利用している間、前記第１のジョブキューに登録されたジョブのみを要求することを特徴とする請求項３に記載のシステム。
【請求項５】
前記要求手段は、ユーザが前記利用手段を用いた前記Ｗｅｂアプリケーションの利用が終了した後に、ジョブを要求することを特徴とする請求項３に記載のシステム。
【請求項６】
前記第１のジョブキューは、複数のジョブを登録でき、
前記登録手段は、発行された順にジョブを登録することを特徴とする請求項１乃至５のいずれか一項に記載のシステム。
【請求項７】
登録するジョブの種類に応じて、複数のジョブキューの優先順位を定義できることを特徴とする請求項１乃至６のいずれか一項に記載のシステム。
【請求項８】
前記第１のジョブキューは、ジョブの種類に関わらず登録することができることを特徴とする請求項１乃至７のいずれか一項に記載のシステム。
【請求項９】
前記ジョブの種類は、印刷ジョブ、もしくは、読取ジョブであることを特徴とする請求項７または８に記載のシステム。
【請求項１０】
前記ジョブ処理装置に接続された情報処理装置が備えるＷｅｂブラウザを当該ジョブ処理装置の利用手段として用いることを特徴とする請求項１乃至９のいずれか一項に記載のシステム。
【請求項１１】
Ｗｅｂアプリケーションサーバと、ジョブ処理装置とにネットワークを介して接続されたジョブ管理サーバであって、
前記Ｗｅｂアプリケーションサーバから受信したジョブに、当該ジョブの要求元が前記ジョブ処理装置である旨を示す情報が付加されている場合、第１のジョブキューに当該ジョブを登録し、前記ジョブに前記情報が付加されていない場合、前記第１のジョブキューよりも優先順位が低い第２のジョブキューに当該ジョブを登録する登録手段と、
前記ジョブ処理装置からの要求に従い、ユーザが前記ジョブ処理装置を介して前記Ｗｅｂアプリケーションを利用している間、前記第１のジョブキューに登録されたジョブを送信する送信手段と、
を有することを特徴とするジョブ管理サーバ。
【請求項１２】
Ｗｅｂアプリケーションサーバと、ジョブ管理サーバとにネットワークを介して互いに接続されたジョブ処理装置であって、
ユーザが前記Ｗｅｂアプリケーションサーバにより提供されるＷｅｂアプリケーションを利用するための利用手段と、
ユーザが前記利用手段を用いて前記Ｗｅｂアプリケーションを利用している間、前記ジョブ管理サーバが管理するジョブのうち、当該ユーザが前記利用手段を用いている際に前記Ｗｅｂアプリケーションへ発行を要求したジョブのみを受け付けて実行する実行手段と
を有することを特徴とするジョブ処理装置。
【請求項１３】
Ｗｅｂアプリケーションサーバと、ジョブ処理装置とにネットワークを介して接続されたジョブ管理サーバの制御方法であって、
前記Ｗｅｂアプリケーションサーバから受信したジョブに、当該ジョブの要求元が前記ジョブ処理装置である旨を示す情報が付加されている場合、第１のジョブキューに当該ジョブを登録し、前記ジョブに前記情報が付加されていない場合、前記第１のジョブキューよりも優先順位が低い第２のジョブキューに当該ジョブを登録する登録工程と、
前記ジョブ処理装置からの要求に従い、ユーザが前記ジョブ処理装置を介して前記Ｗｅｂアプリケーションを利用している間、前記第１のジョブキューに登録されたジョブを送信する送信工程と、
を有することを特徴とする制御方法。
【請求項１４】
Ｗｅｂアプリケーションサーバと、ジョブ管理サーバとにネットワークを介して互いに接続されたジョブ処理装置の制御方法であって、
前記ジョブ処理装置は、ユーザが前記Ｗｅｂアプリケーションサーバにより提供されるＷｅｂアプリケーションを利用するための利用手段を備え、
ユーザが前記利用手段を用いて前記Ｗｅｂアプリケーションを利用している間、前記ジョブ管理サーバが管理するジョブのうち、当該ユーザが前記利用手段を用いている際に前記Ｗｅｂアプリケーションへ発行を要求したジョブのみを受け付けて実行する制御工程を有することを特徴とする制御方法。
【請求項１５】
Ｗｅｂアプリケーションサーバと、ジョブ処理装置とにネットワークを介して接続されたコンピュータを、
前記Ｗｅｂアプリケーションサーバから受信したジョブに、当該ジョブの要求元が前記ジョブ処理装置である旨を示す情報が付加されている場合、第１のジョブキューに当該ジョブを登録し、前記ジョブに前記情報が付加されていない場合、前記第１のジョブキューよりも優先順位が低い第２のジョブキューに当該ジョブを登録する登録手段、
前記ジョブ処理装置からの要求に従い、ユーザが前記ジョブ処理装置を介して前記Ｗｅｂアプリケーションを利用している間、前記第１のジョブキューに登録されたジョブを送信する送信手段、
として機能させるためのプログラム。
【請求項１６】
Ｗｅｂアプリケーションサーバと、ジョブ管理サーバとにネットワークを介して互いに接続されたコンピュータを、
ユーザが前記Ｗｅｂアプリケーションサーバにより提供されるＷｅｂアプリケーションを利用するための利用手段、
ユーザが前記利用手段を用いて前記Ｗｅｂアプリケーションを利用している間、前記ジョブ管理サーバが管理するジョブのうち、当該ユーザが前記利用手段を用いている際に前記Ｗｅｂアプリケーションへ発行を要求したジョブのみを受け付けて実行させる制御手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム、ジョブ管理サーバおよびその制御方法、ジョブ処理装置およびその制御方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、ＵＳＢ、Ｅｔｈｅｒｎｅｔ（登録商標）、無線ＬＡＮ等の様々なインタフェースを利用して、情報処理装置に周辺装置を接続した周辺装置制御システムが、自宅やオフィス等、様々な場面で有効に活用されている。周辺装置の例としては、プリンタ、複写機、ファクシミリ、スキャナ、デジタルカメラ、これらの複合機等が挙げられる。
【０００３】
このような周辺装置のうちのプリンタや複合機に対して、例えばＧｏｏｇｌｅ社からＧｏｏｇｌｅ  Ｃｌｏｕｄ  Ｐｒｉｎｔ（登録商標、以下、ＧＣＰと略す。）と呼ばれるインターネットを利用したクラウド印刷サービスが提供されている。クラウド印刷サービスを利用すると、ユーザは、パーソナルコンピュータ（以下、ＰＣと略す。）やモバイル端末内にインストールされているＷｅｂブラウザを使って文書作成用のアプリケーション（Ｗｅｂアプリケーション）等を起動（利用）し、文書をプリンタや複合機で印刷することが可能である。
【０００４】
一方、高機能な複合機等の中には、Ｗｅｂブラウザを搭載しているものがある。あるユーザが複合機のＷｅｂブラウザを操作中に、他のユーザがＰＣやモバイル端末等からその複合機に発行した印刷ジョブを、その複合機がバックグラウンドで並行処理しながら同時に印刷を実行することが可能である。同様に、あるユーザが複合機のＷｅｂブラウザを操作中に、他のユーザがＰＣやモバイル端末等からその複合機を使って原稿のスキャンを行おうとした場合、その複合機がＷｅｂブラウザに係る処理をしながら同時に原稿をスキャンすることも可能である。ユーザは、このような複合機に搭載されているＷｅｂブラウザを使って、ＰＣやモバイル端末を利用することなく、文書作成用のＷｅｂアプリケーション等を起動（利用）し、インターネットを介して文書をその複合機で印刷することができる。また、ユーザは、複合機に搭載されているＷｅｂブラウザを操作しながらその複合機で原稿をスキャンして、得られたスキャン画像をインターネットを介して画像保管用のＷｅｂサービス等にアップロードすることもできる。
【０００５】
スキャンのケースにおいて、特にジョブの排他制御に関するその他の技術として特許文献１がある。特許文献１では、スキャンに関する要求を受け付ける前に、配信先の端末装置以外からのスキャンに関する要求を受け付けない排他制御を開始し、スキャンしたスキャンデータを配信先の端末装置に配信した後で排他制御を終了する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２６７７０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述したような高機能な複合機を利用した制御システムを、廉価版（すなわち、低機能）の複合機を利用した制御システムに下方展開することを考える。例えば、廉価版の複合機の中にも、Ｗｅｂブラウザを搭載しているものがある。このような廉価版の複合機は、低速ＣＰＵ、小容量メモリ（ＲＡＭ）等で構成され、十分な記憶領域を備えていない場合がある。そのため、ハードウェアリソースの不足により、あるユーザが複合機のＷｅｂブラウザを操作中には、他のユーザがＰＣやモバイル端末等からその複合機に発行した印刷ジョブに対して同時に印刷を実行することができない。また、あるユーザが複合機のＷｅｂブラウザを操作中に、他のユーザがＰＣやモバイル端末等からその複合機を使って原稿のスキャンを行おうとした場合、その複合機が原稿をスキャンすることもできない。
【０００８】
Ｗｅｂブラウザを操作中に、バックグラウンドで並行処理しながら同時に印刷を実行することができない廉価版の複合機を使用して印刷する場合を考える。あるユーザが廉価版の複合機のＷｅｂブラウザを起動し、文書作成用のアプリケーション等を操作中は、ユーザがその複合機を占有している状態となる。ここで、ユーザが文書作成用のアプリケーション等を操作し、複合機で印刷を行おうとした場合のユーザの操作性を考慮する。この場合、そのユーザが印刷開始操作を行った直後に、他のＰＣ等から発行された外部からの印刷ジョブに割り込まれることなく、印刷開始操作で発行された印刷ジョブが直ちにその複合機で実行されることが望まれる。
【０００９】
例えば、あるユーザ（ユーザＡ）が、複合機のＷｅｂブラウザを起動して文書作成用のアプリケーションを操作中に、他のユーザ（ユーザＢ）が、ＰＣのＷｅｂブラウザを起動して文書作成用のアプリケーションを操作し１００ページの文書の印刷を行おうとした場合を考える。この場合、文書作成用のアプリケーションが複合機に対してユーザＢの印刷ジョブを発行するが、複合機では、ユーザＡがＷｅｂブラウザを使用中であるため、この時点ではユーザＢの印刷ジョブに対する印刷は実行されない。その後、ユーザＡが文書作成用のアプリケーションを操作して３ページの文書の印刷を行おうとした場合、文書作成用のアプリケーションが複合機に対してＡさんの印刷ジョブを発行する。そして、ユーザＡがＷｅｂブラウザを閉じた後、複合機が発行された印刷ジョブに対する印刷を開始する。しかしながら、この時に先に発行されたユーザＢの印刷ジョブが複合機で処理されて印刷が実行されてしまうと、ユーザＡは、ユーザＢの１００ページの印刷が終了する迄の間ずっと待ち続ける必要がある。そして、ユーザＢの１００ページの印刷が終了する迄、自分の３ページの文書の印刷物を取得することができない。このように、廉価版の複合機のＷｅｂブラウザを操作しているユーザＡの印刷ジョブが、ユーザＢがＰＣのＷｅｂブラウザを操作して発行した印刷ジョブに割り込まれてしまうと、操作性が著しく低下してしまう、という問題が生じる。これはスキャンジョブにおいても同様である。
【００１０】
さらに、ユーザが複合機のＷｅｂブラウザを操作して、各Ｗｅｂアプリケーションから発行されたジョブに関して、サーバが、そのジョブ通知を処理対象の複合機に送信した場合を考える。この場合において、必要以上のジョブ通知が送信されてしまうと、無駄なデータ通信が発生してサーバの負荷が増大したり、通信経路のデータ量が増大したり、インターネットを流れるデータ通信量に応じて通信費のコストがかかる。その結果、システムの構築費やサービスの運用費が増大する、という問題も生じる。
【００１１】
本発明はこのような問題点に鑑み、例えば、廉価版の複合機において、ＰＣ等から発行されたジョブの割り込みを防止するとともに、ユーザが複合機のＷｅｂブラウザを操作してアプリケーションから発行されたジョブを優先的に実行する。
【課題を解決するための手段】
【００１２】
上記課題を解決するために本願発明は以下の構成を有する。すなわち、ネットワークを介して互いに接続されたＷｅｂアプリケーションサーバと、ジョブ管理サーバと、ジョブ処理装置とを含むシステムであって、
前記ジョブ処理装置は、ユーザが前記Ｗｅｂアプリケーションサーバにより提供されるＷｅｂアプリケーションを利用するための利用手段を備え、
前記Ｗｅｂアプリケーションサーバは、
前記利用手段を介して前記Ｗｅｂアプリケーションが利用され、ジョブの発行の要求がなされた場合、当該ジョブに要求元が前記ジョブ処理装置である旨を示す情報を付加して発行する発行手段と、
前記発行したジョブを前記ジョブ管理サーバに送信する送信手段と
を有し、
前記ジョブ管理サーバは、
受信したジョブに前記情報が付加されている場合、第１のジョブキューに当該ジョブを登録し、前記ジョブに前記情報が付加されていない場合、前記第１のジョブキューよりも優先順位が低い第２のジョブキューに当該ジョブを登録する登録手段と、
ジョブキューに登録されたジョブを前記ジョブ処理装置へ送信する手段と、
を有し、
前記ジョブ処理装置は、
ユーザが前記利用手段を用いて前記Ｗｅｂアプリケーションを利用している間、前記第２のジョブキューに登録されたジョブを受け付けず、前記第１のジョブキューに登録されたジョブを受け付けて実行する制御手段を有する。
【発明の効果】
【００１３】
本発明によれば、低機能の複合機を含むシステムにおいて、複合機の負荷を低下させ、かつ、ユーザの複合機の操作性を向上させることができる。
【図面の簡単な説明】
【００１４】
【図１】システムの構成の一例を示す図。
【図２】ＰＣ、モバイル端末、及びＭＦＰのハードウェアの構成の一例を示す図。
【図３】ソフトウェアの構成の一例を示す図。
【図４】文書作成ＡＰＰの画面をＷｅｂブラウザで表示した一例を示す図。
【図５】印刷画面の一例を示す図。
【図６】第１の実施形態に係るＭＦＰのＷｅｂブラウザから文書作成ＡＰＰを実行して印刷を行う時の処理を表すフローチャート。
【図７】第１の実施形態に係るモバイル端末のＷｅｂブラウザから文書作成ＡＰＰを実行して印刷を行う時の処理を表すフローチャート。
【図８】第２の実施形態に係るＭＦＰのＷｅｂブラウザから文書作成ＡＰＰを実行して印刷を行う時の処理を表すフローチャート。
【図９】第３の実施形態に係るＭＦＰのＷｅｂブラウザから読取ＡＰＰを実行して原稿の読取を行う時の処理を表すフローチャート。
【図１０】第３の実施形態に係るモバイル端末のＷｅｂブラウザから読取ＡＰＰを実行して原稿の読取を行う時の処理を表すフローチャート。
【図１１】第１の実施形態に係るプロキシＡＰＰにおけるジョブの登録処理を表すフローチャート。
【図１２】第４の実施形態に係るプロキシＡＰＰにおけるジョブの登録処理を表すフローチャート。
【図１３】プロキシＡＰＰにおけるジョブ通知処理を表すフローチャート。
【図１４】第１の実施形態に係るプロキシＡＰＰにおけるジョブ情報の返信処理を表すフローチャート。
【図１５】第２の実施形態に係るプロキシＡＰＰにおけるジョブの登録処理とジョブ情報の返信処理を表すフローチャート。
【図１６】ＭＦＰにおけるジョブ通知受信処理を表すフローチャート。
【図１７】ＭＦＰにおけるジョブの確認処理を表すフローチャート。
【図１８】プロキシＡＰＰ内のジョブキューの構成例を表す図。
【図１９】ジョブキューに登録されるジョブのジョブ情報を格納するためのテーブルを表す図。
【図２０】読取ＡＰＰが提供する画面とアップロード先の選択画面の一例を示す図。
【図２１】プロキシＡＰＰにおける印刷ジョブの削除処理とクラウドスキャンＡＰＰにおける読取ジョブの削除処理を表すフローチャート。
【図２２】第７の実施形態に係るＭＦＰのＷｅｂブラウザから文書作成ＡＰＰを実行して印刷を行う時の処理を表すフローチャート。
【図２３】ＭＦＰにおける排他制御の解除処理を表すフローチャート。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について図面に基づいて説明する。なお、実施形態は、本発明を限定するものではなく、また、実施形態で説明されている全ての構成が本発明の課題を解決するための手段に必須であるとは限らない。
【００１６】
以下において、ＷｅｂサービスＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）にＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）通信で暗号化されたＨＴＴＰＳ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  ｏｖｅｒ  Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）のＰＯＳＴメソッド（通信方式の一例）を利用している場合がある。ＰＯＳＴメソッドに関しては一般に公開されている情報であるため、ここではその詳細な説明を省略する。また、以下において、ＷｅｂサービスＡＰＩにＨＴＴＰのＧＥＴメソッド（通信方式の一例）を利用している場合がある。ＧＥＴメソッドに関しては一般に公開されている情報であるため、ここではその詳細な説明を省略する。また、以下において、ＷｅｂサービスＡＰＩにＳＳＬ通信で暗号化されたＨＴＴＰＳのＧＥＴメソッド（通信方式の一例）を利用している場合がある。ＧＥＴメソッドに関しては一般に公開されている情報であるため、ここではその詳細な説明を省略する。
【００１７】
また、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）は、公知の暗号化されていない通信プロトコルであるため、ここではその詳細な説明を省略する。また、ＨＴＴＰＳは、公知の暗号化された通信プロトコルであるので、ここではその詳細な説明を省略する。また、ＳＳＬは、インターネット上でデータを暗号化して送受信する公知の方法であるので、ここではその詳細な説明を省略する。また、クラウド印刷サービスの一例として挙げたＧＣＰに関する説明は、サイト（ＵＲＬ：http://code.google.com/apis/cloudprint/docs/overview.html）で公開されているので、ここではその詳細な説明を省略する。また、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）は、双方向通信が可能な公知のインタフェースであり、その詳細説明は省略する。
【００１８】
＜第１の実施形態＞
［システム構成］
図１は、情報処理装置、及び周辺装置（ジョブ処理装置）を含んで構成されるシステムの構成の一例を示す図である。ＰＣ１、ＰＣ２、ＰＣ５、及びＰＣ７の各々は、情報処理装置（コンピュータ）の一例であり、例えば、一般的なＰＣである。ＰＣ１、ＰＣ２、ＰＣ５、及びＰＣ７の各々は、図２（Ａ）に示すハードウェアを含む。
【００１９】
ＰＣ１には、Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（以下、ＯＳと略す。）としてＧｏｏｇｌｅ社製のＣｈｒｏｍｅ（登録商標）  ＯＳと同等のＯＳがインストールされている。また、ＰＣ２、及びＰＣ５には、マイクロソフト社製のＷｉｎｄｏｗｓ（登録商標）（登録商標）のＳｅｒｖｅｒ用のＯＳがインストールされている。ＰＣ７には、Ｌｉｎｕｘ（登録商標）と同等のＯＳがインストールされている。ＰＣ１、ＰＣ２、ＰＣ５、及びＰＣ７は、それぞれＥｔｈｅｒｎｅｔ（登録商標）等のインタフェース（Ｉ／Ｆ）で構成されるネットワーク４、８、１０、６に接続され、インターネット１２にも接続されている。ここでのネットワークとのインタフェースは、有線／無線のいずれであっても構わない。
【００２０】
ＭＦＰ（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）３、１０３は、カラーインクジェットプリンタ、カラーファクシミリ、カラースキャナ、フラッシュメモリ用の外部ストレージ等を含んで構成され、周辺装置の一例である。ＭＦＰ３、１０３は、ＡＢＣ社製のＫｍｍｎというモデル名のＭＦＰであるものとして説明する。なお、周辺装置としては、プリンタ、複写機、ファクシミリ、スキャナ、デジタルカメラ、及びこれらの複合機能を備える装置等であってもよい。ＭＦＰ３、及びＭＦＰ１０３の各々は、図２（Ｂ）に示すハードウェアを含んで構成される。また、ＭＦＰ３は、Ｅｔｈｅｒｎｅｔ（登録商標）で構成されるネットワーク１１に接続され、インターネット１２にも接続されている。ＭＦＰ１０３は、Ｅｔｈｅｒｎｅｔ（登録商標）で構成されるネットワーク１０４に接続され、インターネット１２にも接続されている。
【００２１】
ルーター１３は、例えば、Ｗｉ−Ｆｉ（登録商標）の無線ＬＡＮを備えるブロードバンドルーター（Ｗｉ−Ｆｉ  ＢＢ  Ｒｏｕｔｅｒ）であり、インターネット１２に接続されている。モバイル端末１４は、携帯電話、携帯情報端末などが該当する。モバイル端末１４は、図２（Ａ）に示すハードウェアを含む。モバイル端末１４は、ルーター１３と接続され、ルーター１３を介してインターネット１２に接続される。モバイル端末１４には、ＯＳとしてＧｏｏｇｌｅ社製のＡｎｄｒｏｉｄ（登録商標）  ＯＳと同等のＯＳがインストールされている。以下において、モバイル端末１４は、携帯電話であるものとして説明する。
【００２２】
ＰＣ１、ＰＣ２、ＰＣ５、ＰＣ７、モバイル端末１４、ＭＦＰ３、及びＭＦＰ１０３は、インターネット１２を介して互いに双方向通信が可能である。Ｗｅｂブラウザ２５は、ＰＣ１にインストールされ、Ｗｅｂブラウザ９は、モバイル端末１４にインストールされている。Ｗｅｂブラウザ２７、２８は、ＭＦＰ３、１０３にそれぞれインストールされている。Ｗｅｂブラウザ２７、２８は同一の種類であるが、Ｗｅｂブラウザ９、２５、２７は、それぞれ異なる種類のＷｅｂブラウザである。Ｗｅｂブラウザ９、２５、２７が、ＨＴＴＰリクエストのＵｓｅｒ−Ａｇｅｎｔヘッダで文書作成ＡＰＰ１４５やクラウドスキャンＡＰＰ１４８に渡すＨＴＴＰユーザーエージェントは、それぞれ異なり、例えば、次のように定義されている。
モバイル端末１４のＷｅｂブラウザ９のユーザーエージェント：Ｕｓｅｒ−Ａｇｅｎｔ：  ＸＸＸＸ／５．０  （ＡＡＡＡ）
ＰＣ１のＷｅｂブラウザ２５のユーザーエージェント：Ｕｓｅｒ−Ａｇｅｎｔ：  ＸＸＸＸ／６．０  （ＣＣＣＣ）
ＭＦＰ３のＷｅｂブラウザ２７のユーザーエージェント：Ｕｓｅｒ−Ａｇｅｎｔ：  ＹＹＹＹ／４．０  （ＤＤＤＤ）
ＡＡＡＡ、ＣＣＣＣ、ＤＤＤＤは、各端末を識別するための情報を表している。文書作成ＡＰＰ１４５やクラウドスキャンＡＰＰ１４８は、これらの情報を利用して、その端末がモバイル端末１４、ＰＣ１、およびＭＦＰ３のいずれであるかを判別し、アプリケーションが表示する画面や、内部処理を切り換えることができる。
【００２３】
アプリケーション１４５は、Ｗｅｂサービスを利用した文書作成用のアプリケーションであり、以下、文書作成ＡＰＰ１４５と称する。アプリケーション１４６は、Ｗｅｂサービスを利用したクラウド印刷サービスを提供するアプリケーションであり、以下、クラウド印刷ＡＰＰ１４６と称する。アプリケーション１４７は、Ｗｅｂサービスを利用した画像や文書読取用のアプリケーションであり、以下、読取ＡＰＰ１４７と称する。アプリケーション１４８は、Ｗｅｂサービスを利用したクラウドスキャンサービスを提供するアプリケーションであり、以下、クラウドスキャンＡＰＰ１４８と称する。
【００２４】
クラウド印刷ＡＰＰ１４６は、例えば、Ｇｏｏｇｌｅ社が提供するＧＣＰと同等の機能を有する。このクラウド印刷サービスを利用することで、ＰＣ１のＷｅｂブラウザ２５やモバイル端末１４のＷｅｂブラウザ９から、文書作成ＡＰＰ１４５を実行し、任意の文書（文書ファイル）を開き、その文書をＭＦＰ３やＭＦＰ１０３で印刷することができる。これらのアプリケーションにより、ＰＣ７は、Ｗｅｂアプリケーションサーバとして機能する。
【００２５】
図４、図５にＷｅｂブラウザにて表示されるユーザインタフェース（ＵＩ）の例を示す。なお、詳細については後述する。例えば、ユーザが、開いている文書を印刷する場合、図４に示す印刷メニュー４０１を選択すると、クラウド印刷ＡＰＰ１４６により図５に示す印刷画面１４２が表示される。ユーザが印刷画面１４２でプリンタを選択し、印刷ボタン５３４を押して印刷の実行を指示すると、文書作成ＡＰＰ１４５は、印刷画像をＰＤＦファイルとして生成する。そして、クラウド印刷ＡＰＰ１４６は、この印刷画像（ＰＤＦファイル）と印刷画面１４２で選択されている印刷設定値とから印刷ジョブを生成し、クラウド印刷サービス内の選択されたプリンタ用のプリントキューに印刷ジョブを格納する。また、クラウド印刷ＡＰＰ１４６は、印刷ジョブ通知を送信する。印刷ジョブ通知の送信先は、印刷対象となるプリンタもしくはプリンタへの中継を行う装置（後述する本実施形態の例ではプロキシＡＰＰ１４３）となる。
【００２６】
ＭＦＰがＰＤＦファイルをレンダリングする機能を備えている場合、ＭＦＰは、プリントキューに格納されている印刷ジョブを印刷することができる。しかしながら、廉価版（低機能）のＭＦＰにおいては、ＰＤＦファイルをレンダリングする機能を備えていない場合がある。故に、このようなＭＦＰ等でプリントキューに格納されている印刷ジョブを印刷する場合、ＰＤＦファイルの印刷画像を、前処理によって、廉価版のＭＦＰでレンダリングできるタイプの画像フォーマット（例えばＪＰＥＧ形式）に変換する処理が必要となる。
【００２７】
クラウドスキャンＡＰＰ１４８は、ＭＦＰ３やＭＦＰ１０３で読取った写真や文書の画像データを、データ共有サイトにアップロードすることができるクラウドスキャンサービスを提供する。データ共有サイトの例としては、Ｇｏｏｇｌｅ社が提供するＰｉｃａｓａ  Ｗｅｂ  Ａｌｂｕｍｓなどが挙げられる。このようなクラウドスキャンサービスを利用することで、ＰＣ１やモバイル端末１４のＷｅｂブラウザから実行する読取ＡＰＰ１４７を介してＭＦＰで写真等を読取って画像データを生成し、データ共有サイト等のＷｅｂサービスにアップロードすることができる。クラウドスキャンの実施例に関しては、第３の実施形態で後述する。
【００２８】
アプリケーション１４３は、ＭＦＰをクラウド印刷ＡＰＰ１４６が提供するクラウド印刷サービスやクラウドスキャンＡＰＰ１４８が提供するクラウドスキャンサービスに対応させるためのプロキシサービスを提供するアプリケーションである。以下、アプリケーション１４３を、プロキシＡＰＰ１４３と称する。ＰＣ２にインストールされているプロキシＡＰＰ１４３は、例えば５０００台のＭＦＰ等を一度に管理する。そして、プロキシＡＰＰ１４３は、それぞれのＭＦＰをクラウド印刷ＡＰＰ１４６が提供するクラウド印刷サービスとクラウドスキャンＡＰＰ１４８が提供するクラウドスキャンサービスに対応させる。プロキシＡＰＰ１４３は、図１８に示すようなプリントキューとスキャンキューを備える。これらのアプリケーションにより、ＰＣ２は、ジョブ管理サーバとして機能する。キューの詳細については、後述する。
【００２９】
また、クラウド印刷ＡＰＰ１４６またはクラウドスキャンＡＰＰ１４８は、ＭＦＰの登録の際に、各ＭＦＰに対して一意の値で表わされるデバイスＩＤ（識別子）を発行して割り当て、デバイスＩＤを登録の対象のＭＦＰに通知する。なお、ＭＦＰの登録に関する処理に関しては、従来の方法を用いることとし、その詳細な説明を省略する。
【００３０】
アプリケーション１４４は、ＰＤＦファイルをＪＰＥＧファイルに変換する画像変換サービスを提供するアプリケーションであり、以下、画像変換ＡＰＰ１４４と称する。
【００３１】
［ハードウェア構成］
図２は、ＰＣ、モバイル端末、及びＭＦＰのハードウェアの構成の一例を示す図である。ＰＣ１、ＰＣ２、ＰＣ５、ＰＣ７、及びモバイル端末１４の各々は、図２（Ａ）に示すハードウェアを含んで構成されている。図２（Ａ）では、ＰＣ２を例に挙げて説明する。ＰＣ２は、ランダムアクセスメモリ部（ＲＡＭ２０１）、ハードディスクドライブ部（ＨＤＤ２０２）、キーボード部（ＫＢＤ２０３）、ＣＰＵ２０４、表示用ディスプレイ（ＬＣＤ２０５）、ネットワークボード（ＮＢ２０７）を有する。また、ＰＣ２は、上述の構成要素を互いに接続するバス２０６を有する。
【００３２】
なお、ＨＤＤ２０２は、記憶部の一例である。記憶部は、可搬性ＣＤ−ＲＯＭまたは内部に据付のＲＯＭ、フラッシュメモリ、ＳＳＤ等であってもよい。ＫＢＤ２０３は、入力部の一例である。ＣＰＵ２０４は、制御部の一例である。ＬＣＤ２０５は、表示部の一例である。ＮＢ２０７は、通信制御部の一例である。プロキシＡＰＰ１４３や図３に示す各モジュール（ソフトウェア）等のプログラムは、ＨＤＤ２０２に記憶され、ＣＰＵ２０４により必要に応じてＲＡＭ２０１に読み出されて実行される。これにより、プロキシＡＰＰ１４３の機能および図３に示す各モジュール（ソフトウェア）の機能などが実現される。また、各種のデータベース（ＤＢ）は、ＨＤＤ２０２に設けられ、データベースの情報は、ＣＰＵ２０４により必要に応じてＲＡＭ２０１に読み出される。
【００３３】
ＭＦＰ３及びＭＦＰ１０３の各々は、図２（Ｂ）に示すハードウェアを含んで構成されている。図２（Ｂ）では、ＭＦＰ３を例に挙げて説明する。ＣＰＵ１５は、マイクロプロセッサ等から構成される。ＣＰＵ１５は、ＭＦＰ３の中央処理装置として、ＲＯＭ１６に記憶されているプログラムに従って、ＲＡＭ１７、通信部１８、記録部１９、操作部２０、表示部２１、読取り部２２、ファクシミリ制御部２３、及び外部ストレージ制御部２４を制御する。
【００３４】
ＲＯＭ１６には、プリンタドライバ（不図示）による制御に従ってＭＦＰ３が行う記録（印刷）処理、印刷動作の状態をＰＣへ通知する処理などを実行するプログラムが記憶されている。また、ＲＯＭ１６には、ＦＡＸドライバ（不図示）による制御に従ってＭＦＰ３がファクシミリの送信処理または受信処理、ファクシミリ動作（送信または受信）の状態をＰＣへ通知する処理を実行するプログラムが記憶されている。更に、ＲＯＭ１６には、ＷＩＡドライバ（不図示）やＴＷＡＩＮドライバ（不図示）による制御に従ってＭＦＰ３が行う画像の読取り処理、読取り動作の状態をＰＣへ通知する処理を実行するプログラムが記憶されている。
【００３５】
ＲＡＭ１７には、印刷データが一時的に記憶される。印刷データは、主にＰＣから送られ、印刷データをもとに記録部１９によって印刷される。また、ＲＡＭ１７には、読取り部２２で読取られた画像データ、ＰＣから送られてきたファクシミリの送信データ、ファクシミリ制御部２３で受信されたファクシミリの受信データ等も一時的に記憶される。通信部１８には、ネットワーク４用の接続ポート、アナログ電話回線用の接続ポート等が含まれており、Ｅｔｈｅｒｎｅｔ（登録商標）、ファクシミリのアナログ通信を制御する。記録部１９は、インクジェット方式の記録ヘッド、各カラーインク、キャリッジ、記録紙搬送機構等から構成される記録ユニットと、印刷データをもとに記録ヘッドにて印刷用パルスを発生させるためのＡＳＩＣ等から構成される電気回路とを含んで構成される。
【００３６】
例えば、アプリケーション上での印刷操作、又はファクシミリの送信操作により、指定されたファイル（画像データ）が、ＥＭＦ（Ｅｎｈａｎｃｅｄ  Ｍｅｔａｆｉｌｅ）形式のスプールファイルとしてＰＣ２のＨＤＤ２０２に一時的に格納される。そして、スプールファイルは、プリンタドライバ、又はＦＡＸドライバを介してＭＦＰ３の制御用コマンドを含む印刷データ、又はファクシミリの送信データに変換された後、インターネットを介してＭＦＰ３に送られる。ＭＦＰ３にて受信された印刷データは、記録部１９で印刷用パルスに変換され、記録紙上に印刷される。また、ＭＦＰ３にて受信されたファクシミリの送信データは、ファクシミリ制御部２３でファクシミリの通信プロトコルに変換され、アナログ電話回線を介して相手先のファクシミリ装置に送信される。
【００３７】
操作部２０は、電源ボタン、リセットボタン等の各種ボタンから構成され、ＭＦＰ３に対する操作を受け付ける。表示部２１は、タッチパネルの液晶ディスプレイで構成され、ＭＦＰ３の状態の表示、各種の設定情報や電話番号の表示、入力等を行うことができる。読取り部２２は、カラーイメージセンサや画像処理用のＡＳＩＣ等から構成される電気回路を含んで構成され、スキャナ機能を制御する。ファクシミリ制御部２３は、ファクシミリ用のモデム、アナログ通信回路等から構成され、ファクシミリの通信プロトコルに従ってファクシミリの送信および受信を制御する。外部ストレージ制御部２４は、フラッシュメモリの装着用のスロット、ストレージ用のインタフェース回路等から構成され、装着されたフラッシュメモリを制御する。
【００３８】
［ソフトウェア構成］
図３は、ＰＣのソフトウェアの構成の一例を示す図である。図３では、ＰＣ２を例に挙げて説明する。Ｉ／Ｆ９２は、Ｅｔｈｅｒｎｅｔ（登録商標）等のＩ／Ｆを制御するＩ／Ｆ制御インタフェースである。ＩＰ  Ｎｅｔｗｏｒｋ９１は、ＩＰ  Ｎｅｔｗｏｒｋを制御するＩＰ  Ｎｅｔｗｏｒｋ制御インタフェースである。ＩＩＳ（Ｉｎｔｅｒｎｅｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｅｒｖｉｃｅｓ）９０は、ＩＩＳを制御するＩＩＳ制御部であり、プロキシＡＰＰ１４３は、ＩＩＳ９０のＷｅｂサーバ機能を利用してＷｅｂサービスを提供する。ＪＡＶＡ（登録商標）  ＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）８９は、Ｊａｖａ（登録商標）バイトコードをプラットフォームのネイティブコードに変換して実行するソフトウェアである。プロキシＡＰＰ１４３は、ＪＡＶＡ（登録商標）  ＶＭ８９上で実行される。アプリケーション群８２は、複数のアプリケーションから構成され、ここではプロキシＡＰＰ１４３、アプリケーション１５０が含まれる。尚、アプリケーション１５０は一般的なアプリケーションの１つを表すものであり、ここでは特に限定しない。
【００３９】
［表示画面例］
図４は、ＰＣ７の文書作成ＡＰＰ１４５の画面をＷｅｂブラウザで表示した一例を示す図である。図４は、Ｗｅｂブラウザ上にて、ある文書を開いている状態を表す。文書作成ＡＰＰ１４５は、この画面の情報をモバイル端末１４、ＰＣ１、ＭＦＰ３、ＭＦＰ１０３に送信する。そして、モバイル端末１４、ＰＣ１、ＭＦＰ３、ＭＦＰ１０３は、その情報を受信してＷｅｂブラウザ９、２５、２７、２８でその画面を表示する。
【００４０】
ファイルメニュー４０２は、コンテンツ（文書）選択画面（不図示）を表示して予め保存されている文書やコンテンツを開いたり、新規文書を作成したりするためのサブメニューを備えている。ユーザは、サブメニューを用いて、文書やコンテンツを選択したり、新規文書を作成したりすることができる。尚、コンテンツ（文書）選択画面は、ＰＣ等で一般的なファイル選択画面と同様な画面で構成されるものであり、ここではその説明を省略する。印刷メニュー４０１は、印刷に関する各種の操作を受け付ける。例えば、ユーザがＫＢＤ２０３または操作部２０等の入力部を操作し、開いている文書を印刷する際に印刷メニュー４０１を押下すると、図５に示す印刷画面１４２が表示される。
【００４１】
図５は、印刷画面１４２の一例を示す図である。印刷画面１４２は、ユーザに対するＭＦＰ３、１０３用の印刷設定画面として、文書作成ＡＰＰ１４５により提供される。文書作成ＡＰＰ１４５は、要求に応じて、印刷画面１４２の画面の情報をモバイル端末１４、ＰＣ１、ＭＦＰ３、ＭＦＰ１０３に送信する。そして、モバイル端末１４、ＰＣ１、ＭＦＰ３、ＭＦＰ１０３は、その情報を受信してＷｅｂブラウザ９、２５、２７、２８にて印刷画面１４２を表示する。
【００４２】
デバイス選択肢５３５、５３６、５３７は、選択可能なデバイスの選択肢である。デバイス選択肢５３５、５３６、５３７はそれぞれ、ＧＨＩ社製のＡｋｂＮｍｂというモデル名のＭＦＰ、ＡＢＣ社製のＫｍｍｎというモデル名のＭＦＰ（本実施例のＭＦＰ３に相当）、ＤＥＦ社製のＸｙｚというモデル名のＭＦＰに該当する選択肢を表す。図５では、ＭＦＰ３を表すデバイス選択肢５３６が選択されている状態が示されている。ＭＦＰ３のＷｅｂブラウザ２７上に印刷画面１４２が表示される場合、文書作成ＡＰＰ１４５は、デバイス選択肢５３６だけを表示するための情報をＭＦＰ３に送信し、ユーザがそれ以外のデバイスを選択できないようにする。一方、モバイル端末１４のＷｅｂブラウザ９上に印刷画面１４２が表示される場合、文書作成ＡＰＰ１４５はデバイス選択肢５３５、５３６、５３７を表示する情報をモバイル端末１４に送信し、モバイル端末１４がその情報を受信してＷｅｂブラウザ９で表示する。これにより、ユーザが、モバイル端末１４のＷｅｂブラウザ９を操作する場合、文書作成ＡＰＰ１４５は、そのユーザが全てのデバイスを選択できるように制御する。ＰＣ１の場合も同様である。
【００４３】
用紙サイズ選択部５３０では、例えば、「Ａ５」、「Ａ４」、「Ｂ５」、「Ｌｅｔｔｅｒ」の選択肢の中からＭＦＰ３で印刷する用紙のサイズがユーザ操作に応じて選択される。図５では、「Ｌｅｔｔｅｒ」が選択されている状態が示されている。用紙種類選択部５３１では、例えば、「Ｐｌａｉｎ  Ｐａｐｅｒ」、「Ｐｈｏｔｏ  Ｐａｐｅｒ」、「Ｐｏｓｔｃａｒｄ」の選択肢の中からＭＦＰ３で印刷する用紙の種類がユーザ操作に応じて選択される。図５では、「Ｐｌａｉｎ  Ｐａｐｅｒ」が選択されている状態が示されている。
【００４４】
印刷品位選択部５３２では、例えば、「Ｈｉｇｈ」、「Ｓｔａｎｄａｒｄ」、「Ｆａｓｔ」の選択肢の中からＭＦＰ３で印刷する印刷品位がユーザ操作に応じて選択される。図５では、「Ｓｔａｎｄａｒｄ」が選択されている状態が示されている。色／濃度選択部５３３では、例えば、「Ａｕｔｏ」、「Ｍａｎｕａｌ」の選択肢の中からＭＦＰ３で印刷する色や濃度がユーザ操作に応じて選択される。図５では、「Ａｕｔｏ」が選択されている状態が示されている。
【００４５】
印刷ボタン５３４は、印刷の開始の指示を受け付ける。ユーザ操作により印刷ボタン５３４が押下されると、文書作成ＡＰＰ１４５は、デバイス選択肢５３６に関連付けられているＭＦＰ３用の印刷ジョブを生成し、クラウド印刷ＡＰＰ１４６にその印刷ジョブ発行する。クローズボタン５３８は、印刷画面１４２を閉じる指示を受け付ける。ユーザ操作によりクローズボタン５３８が押下されると、文書作成ＡＰＰ１４５は、印刷画面１４２を閉じる。
【００４６】
［処理フロー］
図６〜図１７、図２１〜図２３は、本制御システム全体の処理に係るフローチャートの一例を示す図である。これらのフローチャートに係るプログラムは、ＰＣまたはＭＦＰ内に組み込まれている。ＰＣ上で動作するアプリケーションのプログラムは、ＨＤＤ２０２に記憶されており、ＣＰＵ２０４によりＲＡＭ２０１に読み出されて実行される。ＭＦＰ上で動作するアプリケーションのプログラムは、ＲＯＭ１６に記憶されており、ＲＡＭ１７に読み出され、ＣＰＵ１５により実行される。
【００４７】
図６、図８、図９、図２１（Ｂ）、図２２において、図の左側から、文書作成ＡＰＰ１４５（または読取ＡＰＰ１４７）、クラウド印刷ＡＰＰ１４６（またはクラウドスキャンＡＰＰ１４８）、プロキシＡＰＰ１４３、ＭＦＰ３（Ｗｅｂブラウザ２７）をそれぞれ処理の実行元（主体）として記す。図７、図１０において、図の左側から、モバイル端末１４（Ｗｅｂブラウザ９）、クラウド印刷ＡＰＰ１４６（またはクラウドスキャンＡＰＰ１４８）、プロキシＡＰＰ１４３、文書作成ＡＰＰ１４５（または読取ＡＰＰ１４７）、ＭＦＰ３（Ｗｅｂブラウザ２７）をそれぞれ処理の実行元として記す。図１３、図２１の（Ａ）において、図の左側から、文書作成ＡＰＰ１４５、プロキシＡＰＰ１４３、画像変換ＡＰＰ１４４をそれぞれ処理の実行元として記す。但し、ある実行元の処理がない場合には、実行元を省略している。以下では、ユーザがモバイル端末１４またはＭＦＰ３を使って、ドキュメントの印刷をＭＦＰ３で行うケース（ドキュメントの印刷に係る一連の処理）と、写真の読取りをＭＦＰ３で行うケースを例に挙げて説明する。
【００４８】
（ＭＦＰから印刷指示を行う場合の処理）
図６は、ＭＦＰ３のＷｅｂブラウザ２７から文書作成ＡＰＰ１４５を実行して印刷を行う時の処理を表すフローチャートの一例を示す図である。図６において、ユーザが、ＭＦＰ３のＷｅｂブラウザ２７を起動し、文書作成ＡＰＰ１４５の実行を要求すると、本処理フローが開始される（Ｓ３６０１）。ＭＦＰ３は、プロキシＡＰＰ１４３にジョブ取得要求を発行する（Ｓ３６０２）。プロキシＡＰＰ１４３は、図１４に示すジョブ情報の返信処理を実行し、その結果をＭＦＰ３へ返信する（Ｓ３６０３）。
【００４９】
Ｓ３６０４にて、ＭＦＰ３は、次に示す例のような印刷ジョブ情報または読取ジョブ情報を受信し、印刷処理（Ｓ３６２１）または読取処理（Ｓ３９２０）を実行する。
【００５０】
［印刷ジョブ情報の例］
ｊｏｂＩｄ：  ｐｒｎ０００４
ｄａｔｅＴｉｍｅ：  ２０１２０８１４１２２４３５００１
ｈｏｓｔ：  ｍｆｐ
ｏｗｎｅｒ：  ｃｈａｎｃｙ
ｄｅｖｉｃｅＩｄ：  ７７７７８８８８
ｔｉｃｋｅｔＵｒｉ：  https://ske88funclub.com/print/ticket/prn0004/ticket.xml
ｄａｔａＵｒｉ：  https://ske88funclub.com/print/data/prn0004/data.jpg
ｓｔａｔｕｓ：  ｑｕｅｕｅｄ
【００５１】
［読取ジョブ情報の例］
ｊｏｂＩｄ：  ｓｃｎ０３０６
ｄａｔｅＴｉｍｅ：  ２０１２０８１４１２２４２３００８
ｈｏｓｔ：  ｍｆｐ
ｏｗｎｅｒ：  ｃｈａｎｃｙ
ｄｅｖｉｃｅＩｄ：  ７７７７８８８８
ｔｉｃｋｅｔＵｒｉ：  https://ske88funclub.com/scan/ticket/scn0306/ticket.xml
ｕｐｌｏａｄＵｒｉ：  https://storageservice.xxx/user/chancy/private/
ｔｅｍｐｏｒａｒｙＵｐｌｏａｄＵｒｉ：  https://ske88funclub.com/scan/data/scn0306/
ｓｔａｔｕｓ：  ｑｕｅｕｅｄ
【００５２】
ＭＦＰ３は、印刷処理または読取処理が終了した後、その旨をプロキシＡＰＰ１４３に通知する（Ｓ３６０４）。Ｓ３６０５において、プロキシＡＰＰ１４３は、図２１に示すジョブの削除の処理を実行し、そのジョブに関する一連の処理を終了する（Ｓ３６０６）。
【００５３】
ここで、ＭＦＰ３に対するジョブの要求は、ＭＦＰ３のＷｅｂブラウザ２７以外からも行われ、プロキシＡＰＰ１４３のキューにジョブが登録されている。例えば、ＭＦＰ３の電源が入っていない状態の時に、ユーザがモバイル端末１４からＭＦＰ３に対して印刷ジョブを発行した場合、キューに蓄積され、通常はＭＦＰ３の電源が入った際にＭＦＰ３がその印刷ジョブを実行する。このとき、ＭＦＰ３内の何らかのエラー等により、ＭＦＰ３がその印刷ジョブを実行できず、ジョブが残ったままとなるケースが考えられる。また、ＭＦＰ３の電源が入っている状態の時にユーザがＭＦＰ３のＷｅｂブラウザ２７を操作して印刷ジョブが発行された場合に、何らかのエラー等により、Ｗｅｂブラウザ２７を終了してしまうことでジョブが残ったままとなるケースも考えられる。
【００５４】
このような状況において、Ｓ３６０２では、ＭＦＰ３がプロキシＡＰＰ１４３にジョブ取得要求を発行した際に、ＭＦＰ３へのジョブの有無を確認する。そして、キューにジョブがある場合、ＭＦＰ３は、通常、先に発行されたジョブを優先して実行（失敗していた場合は再実行）する。つまり、ＭＦＰ３のＷｅｂブラウザ２７を介してＷｅｂアプリケーションを使用している場合にも、発行順にジョブが実行されることとなる。
【００５５】
本発明では、ユーザがＭＦＰ３のＷｅｂブラウザ２７を操作して発行されたジョブを最優先して実行することを目的としている。そのため、例えば、Ｓ３６０２において、ＭＦＰ３がプロキシＡＰＰ１４３にジョブ取得要求を発行する際に、図１８（Ａ）に示すジョブキュー内の最優先ジョブキューのジョブだけを取得するオプションを指定する。そして、プロキシＡＰＰ１４３が、最優先ジョブキューにジョブが登録されている時だけＭＦＰ３にジョブ情報を返信するようにする。これにより、ユーザが、ＭＦＰ３のＷｅｂブラウザ２７から起動されているアプリケーションから発行されたジョブを最優先して実行したり、Ｗｅｂブラウザ２７を操作して文書作成ＡＰＰ１４５等の各アプリケーションを最優先して操作したりすることができる。
【００５６】
Ｓ３６０７において、ＭＦＰ３は、外部から入稿されるジョブを排他し、ジョブ通知の受付だけを許可するモードに移行して、Ｓ３６０８へ進む。このモードにおける、ＭＦＰ３が行うジョブ通知受信処理を図１６に示す。Ｓ３６０８において、ＭＦＰ３のＷｅｂブラウザ２７が文書作成ＡＰＰ１４５にホーム画面を要求する。文書作成ＡＰＰ１４５は、要求に応じて、ＭＦＰ３にホーム画面の情報を送信する（Ｓ３６０９）。そして、ＭＦＰ３は、Ｗｅｂブラウザ２７にて受信したホーム画面を表示する（Ｓ３６０８）。ユーザが、Ｗｅｂブラウザ２７を操作して、ファイルメニュー４０２内のサブメニューを利用して印刷対象のコンテンツ（文書）の選択を開始すると、Ｗｅｂブラウザ２７が文書作成ＡＰＰ１４５にコンテンツ（文書）選択画面を要求する（Ｓ３６１０）。文書作成ＡＰＰ１４５は、要求に応じて、ＭＦＰ３にコンテンツ（文書）選択画面の情報を送信する（Ｓ３６１１）。そして、ＭＦＰ３は、Ｗｅｂブラウザ２７にてコンテンツ（文書）選択画面を表示する（Ｓ３６１０）。
【００５７】
ユーザがコンテンツ（文書）を選択した状態で図４に示す印刷メニュー４０１を押下すると、Ｗｅｂブラウザ２７は、図５に示す印刷画面１４２を文書作成ＡＰＰ１４５に要求する（Ｓ３６１０）。文書作成ＡＰＰ１４５は、要求に応じて、ＭＦＰ３に印刷画面１４２の情報を送信する（Ｓ３６１１）。そして、ＭＦＰ３は、Ｗｅｂブラウザ２７にて印刷画面１４２を表示する（Ｓ３６１０）。ユーザが印刷ボタン５３４を押下すると、Ｗｅｂブラウザ２７は、文書作成ＡＰＰ１４５に印刷要求を発行する（Ｓ３６１２）。この時、この印刷要求を発行したホスト（要求元）がＭＦＰである旨を表す情報（ｈｏｓｔ＝ｍｆｐ）と、この印刷要求がＭＦＰ３へのジョブ通知を必要としない旨を表す情報（ｎｏｔｉｆｉｃａｔｉｏｎ＝ｎｏ）が、この印刷要求の中に含まれる。なお、印刷要求には、印刷対象のドキュメントを示す情報など他の情報が含まれてもよい。
【００５８】
文書作成ＡＰＰ１４５は、ＭＦＰ３から印刷要求を受け付けると、クラウド印刷ＡＰＰ１４６に印刷ジョブを発行する（Ｓ３６１３）。この時、ＭＦＰ３から受信した印刷要求に従って、印刷ジョブの印刷要求を発行したホストがＭＦＰである旨を表す情報（ｈｏｓｔ＝ｍｆｐ）と、この印刷ジョブがＭＦＰ３へのジョブ通知を必要としない旨を表す情報（ｎｏｔｉｆｉｃａｔｉｏｎ＝ｎｏ）とが、印刷ジョブの中に含まれる。クラウド印刷ＡＰＰ１４６は、プロキシＡＰＰ１４３のプリントキューに印刷ジョブを入稿する（Ｓ３６１４）。
【００５９】
この時、クラウド印刷ＡＰＰ１４６は、印刷ジョブの発行年月日・時刻の情報を更に印刷ジョブに付加する。プロキシＡＰＰ１４３は、図１１に示すジョブの登録処理を実行し、ジョブＩＤ（印刷ジョブＩＤ）をクラウド印刷ＡＰＰ１４６に返す（Ｓ３６１５）。そして、プロキシＡＰＰ１４３は、ＭＦＰ３からのジョブ取得要求待ち状態に入る（Ｓ３６１６）。
【００６０】
クラウド印刷ＡＰＰ１４６は、プロキシＡＰＰ１４３から返されたジョブＩＤ（印刷ジョブＩＤ）を文書作成ＡＰＰ１４５に返す。さらに、文書作成ＡＰＰ１４５は、クラウド印刷ＡＰＰ１４６からジョブＩＤを受け付けたことに応じて、印刷ジョブを発行した旨を表す情報をＭＦＰ３に通知する。この時、文書作成ＡＰＰ１４５は、クラウド印刷ＡＰＰ１４６から返されたジョブＩＤ（印刷ジョブＩＤ）を併せて、ＭＦＰ３に通知する。この通知は、例えば、Ｗｅｂページの情報に埋め込まれているＪａｖａＳｃｒｉｐｔ（登録商標）を利用して行うことができる。印刷ジョブが発行された時に、Ｗｅｂブラウザ２７は、ＪａｖａＳｃｒｉｐｔ（登録商標）を介して、ＭＦＰ３がＷｅｂブラウザ２７に対してエクスポートしているＰｒｉｎｔ関数を実行する。
【００６１】
Ｐｒｉｎｔ関数がコールされることで、ＭＦＰ３は、プリントキューに印刷ジョブが登録されたことを表す情報を受信する。この時、受信した情報の中に含まれるジョブＩＤ（印刷ジョブＩＤ）が、Ｐｒｉｎｔ関数の引数としてＭＦＰ３に渡され、ＭＦＰ３は、プロキシＡＰＰ１４３が生成したジョブＩＤ（印刷ジョブＩＤ）も取得する（Ｓ３６１７）。このように、ＭＦＰ３がＰｒｉｎｔ関数を備え、Ｗｅｂブラウザ２７がＪａｖａＳｃｒｉｐｔ（登録商標）を介してＰｒｉｎｔ関数を利用することで、不要なジョブ通知を無くすことができる。その結果、サーバの不可の削減、通信経路のデータ量の削減、データ通信費のコストダウンすることができる。
【００６２】
Ｓ３６１７において、ＭＦＰ３は、印刷ジョブの発行済みである旨の情報を受信すると、表示部２１に「印刷準備中」または「印刷中」というような印刷関連処理を実行中である旨を表すメッセージを表示する。これにより、ＭＦＰ３は、印刷モード（印刷処理中）に移行したことをユーザに知らせる。この時、ＭＦＰ３は、負荷を低減するために、Ｗｅｂブラウザ２７を介さずにこのメッセージを表示する。ＭＦＰ３は、画像変換ＡＰＰ１４４が画像変換（図１３のＳ４３０６）に要する想定時間（例えば約３秒）の経過を待った後（Ｓ３６１８）、プロキシＡＰＰ１４３にジョブ取得要求を発行する（Ｓ３６１９）。プロキシＡＰＰ１４３は、ジョブ情報の返信処理（図１４）を実行し、その結果として次に示すような印刷ジョブ情報をＭＦＰ３へ返信する（Ｓ３６２０）。
【００６３】
［印刷ジョブ情報の例］
ｊｏｂＩｄ：  ｐｒｎ０００４
ｄａｔｅＴｉｍｅ：  ２０１２０８１４１２２４３５００１
ｈｏｓｔ：  ｍｆｐ
ｏｗｎｅｒ：  ｃｈａｎｃｙ
ｄｅｖｉｃｅＩｄ：  ７７７７８８８８
ｔｉｃｋｅｔＵｒｉ：  https://ske88funclub.com/print/ticket/prn001/ticket.xml
ｄａｔａＵｒｉ：  https://ske88funclub.com/print/data/prn001/data.jpg
ｓｔａｔｕｓ：  ｑｕｅｕｅｄ
【００６４】
Ｓ３６２０において、画像変換が完了していない等の理由により、プロキシＡＰＰ１４３が印刷ジョブ情報をＭＦＰ３へ返信しない場合、ＭＦＰ３は、印刷ジョブ情報を取得できるか、あるいは規定のリトライ回数（例えば１００回）を超えてエラーと判定するまで、Ｓ３６１８〜Ｓ３６１９の処理を繰り返す。ＭＦＰ３は、印刷ジョブ情報から印刷設定を表す印刷設定ファイルの格納先と印刷画像ファイルの格納先を取得する。以下、印刷設定ファイルと印刷画像ファイルを合わせたものを、“印刷データ”と呼ぶ。また、印刷設定ファイルを（印刷）ジョブチケットと呼ぶ場合もある。印刷設定ファイルはｔｉｃｋｅｔＵｒｉで指定されたパス（ＵＲＩ）に格納されており、印刷画像ファイルはｄａｔａＵｒｉで指定されたパス（ＵＲＩ）に格納されている。印刷設定ファイルは、ＰＣ７内のＨＤＤ２０２に、印刷画像ファイルはＰＣ５内のＨＤＤ２０２に格納されている。
【００６５】
ＭＦＰ３は、印刷ジョブ情報のｔｉｃｋｅｔＵｒｉ、ｄａｔａＵｒｉで指定されたパスにそれぞれアクセスし、印刷データを取得する。ＭＦＰ３は、印刷設定ファイルと印刷画像ファイルの内容に従って印刷を実行し、その後、印刷処理が終了したことをプロキシＡＰＰ１４３に通知する（Ｓ３６２１）。Ｓ３６２２において、プロキシＡＰＰ１４３は、ジョブの削除の処理（図２１）を実行し、そのジョブに関する一連の処理を終了する（Ｓ３６２３）。
【００６６】
印刷処理が終了した後、ＭＦＰ３のＷｅｂブラウザ２７は、文書作成ＡＰＰ１４５にホーム画面を要求する（Ｓ３６２４）。文書作成ＡＰＰ１４５は、ＭＦＰ３にホーム画面の情報を送信する（Ｓ３６２５）。そして、ＭＦＰ３は、Ｗｅｂブラウザ２７にてホーム画面を表示する（Ｓ３６２４）。そして、ＭＦＰ３は、ユーザの入力操作待ち状態となる（Ｓ３６２６）。
【００６７】
（モバイル端末から印刷指示を行う場合の処理）
図７は、モバイル端末１４のＷｅｂブラウザ９から文書作成ＡＰＰ１４５を実行して印刷を行う時の処理を表すフローチャートの一例を示す図である。図７において、ユーザが、モバイル端末１４のＷｅｂブラウザ９を起動して文書作成ＡＰＰ１４５の実行を要求すると、本処理フローが開始される（Ｓ３７０１）。Ｗｅｂブラウザ９は、文書作成ＡＰＰ１４５にホーム画面を要求する（Ｓ３７０２）。文書作成ＡＰＰ１４５は、要求に応じてモバイル端末１４にホーム画面の情報を送信する（Ｓ３７０３）。そして、モバイル端末１４は、Ｗｅｂブラウザ９にてホーム画面を表示する（Ｓ３７０２）。ユーザが、Ｗｅｂブラウザ９を操作し、ファイルメニュー４０２内のサブメニューから印刷対象のコンテンツ（文書）の選択を開始すると、Ｗｅｂブラウザ９は文書作成ＡＰＰ１４５にコンテンツ（文書）選択画面を要求する（Ｓ３７０４）。文書作成ＡＰＰ１４５は、要求に応じて、モバイル端末１４にコンテンツ（文書）選択画面の情報を送信する（Ｓ３７０５）。そして、モバイル端末１４は、Ｗｅｂブラウザ９にてコンテンツ（文書）選択画面を表示する（Ｓ３７０４）。
【００６８】
ユーザがコンテンツ（文書）を選択した状態で、図４に示す印刷メニュー４０１を押下すると、Ｗｅｂブラウザ９は、文書作成ＡＰＰ１４５に図５に示す印刷画面１４２を要求する（Ｓ３７０４）。文書作成ＡＰＰ１４５は、要求に応じて、モバイル端末１４に印刷画面１４２の情報を送信する（Ｓ３７０５）。そして、モバイル端末１４は、Ｗｅｂブラウザ９にて印刷画面１４２を表示する（Ｓ３７０４）。
【００６９】
デバイス選択肢５３６（ＭＦＰ３）が選択されている状態でユーザが印刷ボタン５３４を押下すると、Ｗｅｂブラウザ９は、文書作成ＡＰＰ１４５に印刷要求を発行する（Ｓ３７０６）。この時、印刷要求を発行したホスト（要求元）がモバイル端末１４である旨を表す情報（ｈｏｓｔ＝ｐｈｏｎｅ）と、この印刷要求がＭＦＰ３へのジョブ通知を必要とする旨を表す情報（ｎｏｔｉｆｉｃａｔｉｏｎ＝ｙｅｓ）が、印刷要求の中に含まれる。なお、印刷要求には、印刷対象のドキュメントを示す情報など他の情報が含まれてもよい。
【００７０】
文書作成ＡＰＰ１４５は、モバイル端末１４から印刷要求を受け付けると、クラウド印刷ＡＰＰ１４６に印刷ジョブを発行する（Ｓ３７０７）。この時、モバイル端末１４から受信した印刷要求に従って、印刷ジョブの印刷要求を発行したホストがモバイル端末である旨を表す情報（ｈｏｓｔ＝ｐｈｏｎｅ）と、印刷ジョブがＭＦＰ３へのジョブ通知を必要とする旨を表す情報（ｎｏｔｉｆｉｃａｔｉｏｎ＝ｙｅｓ）とが、印刷ジョブの中に含まれる。クラウド印刷ＡＰＰ１４６は、プロキシＡＰＰ１４３のプリントキューに印刷ジョブを入稿する（Ｓ３７０８）。この時、クラウド印刷ＡＰＰ１４６は、印刷ジョブの発行年月日・時刻の情報を更に印刷ジョブに付加する。
【００７１】
プロキシＡＰＰ１４３は、ジョブの登録処理（図１１）を実行してジョブＩＤ（印刷ジョブＩＤ）をクラウド印刷ＡＰＰ１４６に返す（Ｓ３７０９）。そして、プロキシＡＰＰ１４３は、ＭＦＰ３からの印刷ジョブ取得要求待ち状態に入る（Ｓ３７１０）。クラウド印刷ＡＰＰ１４６は、プロキシＡＰＰ１４３から返されたジョブＩＤ（印刷ジョブＩＤ）を文書作成ＡＰＰ１４５に返す。さらに、モバイル端末１４のＷｅｂブラウザ９が、文書作成ＡＰＰ１４５に発行した印刷要求のレスポンスを受信すると、文書作成ＡＰＰ１４５にホーム画面を要求する（Ｓ３７１１）。文書作成ＡＰＰ１４５は、要求に応じて、モバイル端末１４にホーム画面の情報を送信する（Ｓ３７１２）。そして、モバイル端末１４は、Ｗｅｂブラウザ９にてホーム画面を表示する（Ｓ３７１１）。その後、モバイル端末１４は、ユーザの入力操作待ち状態となる（Ｓ３７１３）。
【００７２】
プロキシＡＰＰ１４３がＭＦＰ３にジョブ通知を送信し（図１３のＳ４３０９）、ＭＦＰ３がジョブ通知を受信すると（Ｓ３７１４）、表示部２１に「印刷準備中」または「印刷中」というような印刷関連処理を実行中である旨を表すメッセージを表示する。これによりＭＦＰ３は、印刷モードに移行したことをユーザに知らせる。この時、ＭＦＰ３は、Ｗｅｂブラウザ２７を介さずにこのメッセージを表示する。ＭＦＰ３は、プロキシＡＰＰ１４３にジョブ取得要求を発行する（Ｓ３７１５）。プロキシＡＰＰ１４３は、ジョブ情報の返信処理（図１４）を実行し、その結果として次に示すような印刷ジョブ情報をＭＦＰ３へ返信する（Ｓ３７１６）。
【００７３】
［印刷ジョブ情報の例］
ｊｏｂＩｄ：  ｐｒｎ０００１
ｄａｔｅＴｉｍｅ：  ２０１２０８１４１２１８１２１００
ｈｏｓｔ：  ｐｈｏｎｅ
ｏｗｎｅｒ：  ｃｈａｎｃｙ
ｄｅｖｉｃｅＩｄ：  ７７７７８８８８
ｔｉｃｋｅｔＵｒｉ：  https://ske88funclub.com/print/ticket/prn001/ticket.xml
ｄａｔａＵｒｉ：  https://ske88funclub.com/print/data/prn001/data.jpg
ｓｔａｔｕｓ：  ｑｕｅｕｅｄ
【００７４】
ＭＦＰ３は、印刷ジョブ情報から印刷設定を表す印刷設定ファイルの格納先と印刷画像ファイルの格納先（ｔｉｃｋｅｔＵｒｉとｄａｔａＵｒｉ）を取得する。ＭＦＰ３は、ｔｉｃｋｅｔＵｒｉ、ｄａｔａＵｒｉで指定されたパス（ＵＲＩ）にそれぞれアクセスして、印刷データを取得する。ＭＦＰ３は、印刷設定ファイルと印刷画像ファイルの内容に従って印刷を実行し、その後、印刷処理が終了したことをプロキシＡＰＰ１４３に通知をする（Ｓ３７１７）。Ｓ３７１９において、プロキシＡＰＰ１４３は、ジョブの削除の処理（図２１）を実行し、そのジョブに関する一連の処理を終了する（Ｓ３７２０）。印刷処理が終了した後、ＭＦＰ３は、オンラインのスタンバイ状態となる（Ｓ３７１８）。
【００７５】
（ジョブの登録処理）
図１１は、プロキシＡＰＰ１４３におけるジョブの登録処理を表すフローチャートの一例を示す図である。本処理は、図６のＳ３６１５、図７のＳ３７０９、図８のＳ３８１５、図９のＳ３９１５、図１０のＳ４００９に対応する。なお、図８〜図１０は、第２、第３の実施形態にて述べる。図１１において、ジョブの登録処理が要求されると、プロキシＡＰＰ１４３は、ジョブの登録処理を開始する（Ｓ４１０１）。
【００７６】
プロキシＡＰＰ１４３は、ジョブの要求元であるホストの種類を確認する。ホストがＭＦＰ（ｈｏｓｔ＝ｍｆｐ）であると判定した場合（Ｓ４１０２にてＹＥＳ）Ｓ４１０３へ進み、それ以外（モバイル端末、ＰＣ）であると判定した場合（Ｓ４１０２にてＮＯ）Ｓ４１０４へ進む。Ｓ４１０３において、プロキシＡＰＰ１４３は、図１８（Ａ）に示すジョブキュー内の最優先ジョブキューにジョブを登録し、図１９に示すジョブ情報を格納するためのテーブルに各情報を保存する。
【００７７】
Ｓ４１０４において、プロキシＡＰＰ１４３は、ジョブの種類を確認する。ジョブが印刷ジョブであると判定した場合（Ｓ４１０４にてＹＥＳ）Ｓ４１０５へ進み、それ以外のジョブ（読取ジョブ）と判定した場合（Ｓ４１０４にてＮＯ）Ｓ４１０６へ進む。Ｓ４１０５において、プロキシＡＰＰ１４３は、図１８（Ａ）に示すジョブキュー内の一般プリントキューの最後尾にジョブを登録し、図１９（Ａ）に示す印刷ジョブのジョブ情報を格納するためのテーブルに各情報を保存する。Ｓ４１０６において、プロキシＡＰＰ１４３は、図１８（Ａ）に示すジョブキュー内の一般スキャンキューにジョブを登録し、図１９（Ｂ）に示すジョブ読取ジョブの情報を格納するためのテーブルに各情報を保存する。Ｓ４１０７において、プロキシＡＰＰ１４３は、ジョブＩＤ（印刷ジョブＩＤまたは読取ジョブＩＤ）を生成する。Ｓ４１０８において、プロキシＡＰＰ１４３は、生成したジョブＩＤをこの処理の呼び出し元に返し、本処理フローを終了する（Ｓ４１０８）。
【００７８】
（ジョブ通知処理）
図１３は、プロキシＡＰＰ１４３におけるジョブ通知処理を表すフローチャートの一例を示す図である。プロキシＡＰＰ１４３は、常時起動していて、管理／制御対象のデバイス（ＭＦＰ等）に対して、順に図１３に示す処理を実行し、必要に応じて対象のデバイスにジョブ通知（印刷ジョブ通知または読取ジョブ通知）を送信する。図１３では、対象のデバイスが特定された後の処理を示す。ここでは、対象のデバイスとして、ＭＦＰ３が特定された場合の例で説明する。
【００７９】
プロキシＡＰＰ１４３は、対象のデバイス（ここではＭＦＰ３）を特定してジョブ通知処理を要求すると、図１３に示す処理が開始される（Ｓ４３０１）。プロキシＡＰＰ１４３は、デバイスの状態を確認する（Ｓ４３０２）。デバイスの状態がオンラインであると判定した場合（Ｓ４３０３にてＹＥＳ）Ｓ４３０４へ進み、それ以外の場合（Ｓ４３０３にてＮＯ）Ｓ４３１０へ進む。Ｓ４３０４において、プロキシＡＰＰ１４３は、図１８（Ａ）に示すジョブキューを参照してＭＦＰ３の印刷ジョブの有無を確認する。印刷ジョブが有ると判定した場合（Ｓ４３０４にてＹＥＳ）Ｓ４３０５へ進み、それ以外の場合（Ｓ４３０３にてＮＯ）Ｓ４３０７へ進む。
【００８０】
Ｓ４３０５において、プロキシＡＰＰ１４３は、画像変換ＡＰＰ１４４に印刷ジョブに係る画像変換処理を要求する。画像変換ＡＰＰ１４４は、プロキシＡＰＰ１４３からの画像変換要求に従って、印刷対象の画像をＭＦＰ３が印刷できるファイル形式（ここではＪＰＥＧファイル）に変換する（Ｓ４３０６）。ここでの印刷対象の画像は、文書作成ＡＰＰ１４５が、ＨＤＤ２０２に一時的に保存している、印刷対象のコンテンツまたは印刷用に生成したＰＤＦファイルが該当する。画像変換ＡＰＰ１４４による画像変換処理の完了後、プロキシＡＰＰ１４３は、処理中の印刷ジョブのジョブＩＤをキーとして、図１９（Ａ）に示す印刷ジョブの詳細情報を参照し、ジョブ通知の必要性の有無を確認する。プロキシＡＰＰ１４３は、ジョブ通知が必要（ｎｏｔｉｆｉｃａｔｉｏｎ＝ｙｅｓ）であると判定した場合（Ｓ４３０８にてＹＥＳ）Ｓ４３０９へ進み、それ以外（ｎｏｔｉｆｉｃａｔｉｏｎ＝ｎｏ）の場合（Ｓ４３０８にてＮＯ）Ｓ４３１０へ進む。Ｓ４３０８において、プロキシＡＰＰ１４３は、判定した結果を、図１９に示すジョブ情報を格納するためのテーブルに保存する。
【００８１】
Ｓ４３０７において、プロキシＡＰＰ１４３は、図１８（Ａ）に示すジョブキューを参照し、ＭＦＰ３の読取ジョブの有無を確認する。読取ジョブが有ると判定した場合（Ｓ４３０７にてＹＥＳ）Ｓ４３０８へ進み、それ以外の場合（Ｓ４３０７にてＮＯ）Ｓ４３１０へ進む。Ｓ４３０９において、プロキシＡＰＰ１４３は、ＭＦＰ３にジョブ通知（印刷ジョブ通知または読取ジョブ通知）を送信する。その後、本処理フローを終了する（Ｓ４３１０）。
【００８２】
（ジョブ情報の返信処理）
図１４は、プロキシＡＰＰ１４３におけるジョブ情報の返信処理を表すフローチャートの一例を示す図である。本処理は、図６のＳ３６２０、図７のＳ３７１９、図９のＳ３９１９、図１０のＳ４０１６に対応する。図９および図１０は、第３の実施形態にて説明する。
【００８３】
図１４において、ジョブ情報の返信処理がデバイス（ここではＭＦＰ３）から要求されると、プロキシＡＰＰ１４３はジョブ情報の返信処理を開始する（Ｓ４４０１）。プロキシＡＰＰ１４３は、ジョブ情報に含まれるデバイスＩＤを用いて対象のデバイスのジョブキューを特定する（Ｓ４４０２）。そして、プロキシＡＰＰ１４３は、特定したジョブキューにおいて、最優先ジョブキュー内のジョブの有無を確認する（Ｓ４４０３）。ここで、ジョブキューの例としては、図１８（Ａ）、（Ｃ）、（Ｄ）が挙げられる。最優先ジョブキュー内にジョブが有ると判定した場合（Ｓ４４０４にてＹＥＳ）Ｓ４４１２へ進み、ジョブが無いと判定した場合（Ｓ４４０４にてＮＯ）Ｓ４４０５へ進む。
【００８４】
Ｓ４４１２において、プロキシＡＰＰ１４３は、最優先ジョブキュー内の先頭に登録されているジョブ情報を取得して、Ｓ４４１３へ進む。Ｓ４４０５において、プロキシＡＰＰ１４３は、一般スキャンキュー内のジョブの有無を確認する。一般スキャンキュー内にジョブが有ると判定した場合（Ｓ４４０６にてＹＥＳ）Ｓ４４０７へ進み、ジョブが無いと判定した場合（Ｓ４４０６にてＮＯ）Ｓ４４０８へ進む。Ｓ４４０７において、プロキシＡＰＰ１４３は、一般スキャンキュー内の先頭に登録されているジョブ情報を取得し、Ｓ４４１３へ進む。Ｓ４４０８において、プロキシＡＰＰ１４３は、一般プリントキュー内のジョブの有無を確認する。一般プリントキューにジョブが有ると判定した場合（Ｓ４４０９にてＹＥＳ）Ｓ４４１０へ進み、ジョブが無いと判定した場合（Ｓ４４０９にてＮＯ）Ｓ４４１１へ進む。
【００８５】
Ｓ４４１０において、プロキシＡＰＰ１４３は、一般プリントキュー内の先頭に登録されているジョブ情報を取得し、Ｓ４４１３へ進む。Ｓ４４１１において、プロキシＡＰＰ１４３は、対象のデバイスのジョブキュー内にジョブが無いため、ジョブ情報が存在しない旨を要求元のデバイスに返信する。そして、この処理の読み出し元の処理フローに戻る（Ｓ４４１４）。Ｓ４４１３において、プロキシＡＰＰ１４３は、Ｓ４４１２、Ｓ４４０７、Ｓ４４１０で取得したジョブ情報をそのデバイスに返信する。そして、この処理の読み出し元の処理フローに戻る（Ｓ４４１４）。
【００８６】
（ジョブ通知受信処理）
図１６は、ＭＦＰ３におけるジョブ通知受信処理を表すフローチャートの一例を示す図である。本処理は、図６のＳ３６０７で設定されたモードに対応して実行される。第１の実施形態では、図１６（Ａ）について説明する。尚、ここで用いる「ジョブ通知有り情報」とは、ＭＦＰ３がジョブ通知を受信して、そのジョブ通知に関連付けられているジョブに対する処理を未だ実行していない状態であることを表す情報である。ジョブ通知有り情報は、ＭＦＰ３内のＲＡＭ１７に保存され、ＭＦＰ３は、電源がオンになった時にこの情報に「０」をセットして初期化する。
【００８７】
ＭＦＰ３がプロキシＡＰＰ１４３から発行されたジョブ通知を受信すると、図１６（Ａ）において、ＭＦＰ３がジョブ通知受信処理を開始する（Ｓ４６０１）。ＭＦＰ３は、Ｗｅｂブラウザ２７でアプリケーションを実行中か否かを確認する（Ｓ４６０２）。Ｗｅｂブラウザ２７でアプリケーションを実行中であると判定した場合（Ｓ４６０３にてＹＥＳ）Ｓ４６０４へ進み、それ以外と判定した場合（Ｓ４６０３にてＮＯ）Ｓ４６０５へ進む。尚、Ｓ４６０３において、ＭＦＰ３がＷｅｂブラウザ２７を起動しているがアプリケーションを何も実行していないような場合も、Ｗｅｂブラウザが動作しているとして、Ｗｅｂブラウザ２７でアプリケーション実行中であると判定するものとする。
【００８８】
Ｓ４６０４において、ＭＦＰ３はジョブ通知有り情報を１つ増やした後、ＲＡＭ１７に保存する。そして、本処理フローを終了する（Ｓ４６０８）。Ｓ４６０５において、ＭＦＰ３はプロキシＡＰＰ１４３にジョブ取得要求を発行する。このとき、プロキシＡＰＰ１４３は、ＭＦＰ３からのジョブ取得要求に応じて、ジョブ情報の返信処理（図１４）を実行し、その結果をＭＦＰ３へ返信する。Ｓ４６０６において、ＭＦＰ３は、次に示すような印刷ジョブ情報または読取ジョブ情報をプロキシＡＰＰ１４３から受信し、Ｓ４６０７へ進む。
【００８９】
［印刷ジョブ情報の例］
ｊｏｂＩｄ：  ｐｒｎ０００１
ｄａｔｅＴｉｍｅ：  ２０１２０８１４１２１８１２１００
ｈｏｓｔ：  ｐｈｏｎｅ
ｏｗｎｅｒ：  ｃｈａｎｃｙ
ｄｅｖｉｃｅＩｄ：  ７７７７８８８８
ｔｉｃｋｅｔＵｒｉ：  https://ske88funclub.com/print/ticket/prn001/ticket.xml
ｄａｔａＵｒｉ：  https://ske88funclub.com/print/data/prn001/data.jpg
ｓｔａｔｕｓ：  ｑｕｅｕｅｄ
【００９０】
［読取ジョブ情報の例］
ｊｏｂＩｄ：  ｓｃｎ０３０４
ｄａｔｅＴｉｍｅ：  ２０１２０８１４１２２０４５２５０
ｈｏｓｔ：  ｐｈｏｎｅ
ｏｗｎｅｒ：  ａｋｂ８８
ｄｅｖｉｃｅＩｄ：  ７７７７８８８８
ｔｉｃｋｅｔＵｒｉ：  https://ske88funclub.com/scan/ticket/scn0304/ticket.xml
ｕｐｌｏａｄＵｒｉ：  https://storageservice.xxx/user/akb88/private/
ｔｅｍｐｏｒａｒｙＵｐｌｏａｄＵｒｉ：  https://ske88funclub.com/scan/data/scn0304/
ｓｔａｔｕｓ：  ｑｕｅｕｅｄ
【００９１】
Ｓ４６０７において、ＭＦＰ３は、Ｓ４６０６で取得したジョブ情報に応じて、図７のＳ３７１７または図１０のＳ４０１７に示すような印刷処理または読取処理を実行する。そして、本処理フローを終了する（Ｓ４６０８）。ＭＦＰ３は、印刷処理または読取処理を１つ終了する毎に、ジョブ通知有り情報の値を１つ減らしてＲＡＭ１７に保存する。尚、ＭＦＰ３は、０以上の整数の範囲でジョブ通知有り情報をセットする。
【００９２】
（ジョブの確認処理）
図１７は、ＭＦＰ３におけるジョブの確認処理を表すフローチャートの一例を示す図である。図１７において、ジョブの確認処理が要求されると、ＭＦＰ３は、ジョブの確認処理を開始する（Ｓ４７０１）。ＭＦＰ３は、プロキシＡＰＰ１４３にジョブ取得要求を発行する（Ｓ４７０２）。そして、ＭＦＰ３は、ジョブ取得要求に応答して送信されたジョブ情報の取得を行う（Ｓ４７０３）。ジョブ情報を取得できた場合（Ｓ４７０４にてＹＥＳ）Ｓ４７０５へ進み、ジョブ情報を取得できなかった場合（Ｓ４７０４にてＮＯ）、本処理フローを終了する（Ｓ４７０６）。ここで、ジョブ情報を取得できた場合とは、例えば、図１４のＳ４４１３においてプロキシＡＰＰ１４３がジョブ情報をＭＦＰ３に返信した場合である。一方、ジョブ情報を取得できなかった場合とは、例えば、図１４のＳ４４１１においてプロキシＡＰＰ１４３が、ジョブ情報が存在しない旨をＭＦＰ３に返信した場合である。ＭＦＰ３がＳ４７０３で取得したジョブ情報は、次に示す例のような印刷ジョブ情報または読取ジョブ情報である。
【００９３】
［印刷ジョブ情報の例］
ｊｏｂＩｄ：  ｐｒｎ０００４
ｄａｔｅＴｉｍｅ：  ２０１２０８１４１２２４３５００１
ｈｏｓｔ：  ｍｆｐ
ｏｗｎｅｒ：  ｃｈａｎｃｙ
ｄｅｖｉｃｅＩｄ：  ７７７７８８８８
ｔｉｃｋｅｔＵｒｉ：  https://ske88funclub.com/print/ticket/prn0004/ticket.xml
ｄａｔａＵｒｉ：  https://ske88funclub.com/print/data/prn0004/data.jpg
ｓｔａｔｕｓ：  ｑｕｅｕｅｄ
【００９４】
［読取ジョブ情報の例］
ｊｏｂＩｄ：  ｓｃｎ０３０６
ｄａｔｅＴｉｍｅ：  ２０１２０８１４１２２４２３００８
ｈｏｓｔ：  ｍｆｐ
ｏｗｎｅｒ：  ｃｈａｎｃｙ
ｄｅｖｉｃｅＩｄ：  ７７７７８８８８
ｔｉｃｋｅｔＵｒｉ：  https://ske88funclub.com/scan/ticket/scn0306/ticket.xml
ｕｐｌｏａｄＵｒｉ：  https://storageservice.xxx/user/chancy/private/
ｔｅｍｐｏｒａｒｙＵｐｌｏａｄＵｒｉ：  https://ske88funclub.com/scan/data/scn0306/
ｓｔａｔｕｓ：  ｑｕｅｕｅｄ
【００９５】
Ｓ４７０５において、ＭＦＰ３は、Ｓ４７０３で取得したジョブ情報に応じて、図６のＳ３６２１や図９のＳ３９２０に示すような印刷処理または読取処理を実行する。そして、ＭＦＰ３は、本処理フローを終了する（Ｓ４７０６）。ＭＦＰ３は例えば、次に示すような場合にジョブの確認処理（図１７）を実行する。
（１）図６のＳ３６２６の状態（入力操作待ち状態）に移行した時
（２）図７のＳ３７１８の状態（スタンバイ状態）に移行した時
（３）図８のＳ３８２６の状態（入力操作待ち状態）に移行した時
（４）図９のＳ３９２６の状態（入力操作待ち状態）に移行した時
（５）図１０のＳ４０２１の状態（スタンバイ状態）に移行した時
（６）ＭＦＰの電源がオンになった時
（７）コピー、印刷、読取後等に待機状態に戻った時
（８）インクヘッドやインクカートリッジが交換された時
（９）ＭＦＰがＷｅｂブラウザを終了して表示部にＭＦＰのホーム画面を表示した時
（１０）ＭＦＰが警告状態から復帰した時
（１１）ＭＦＰがエラー状態から復帰した時
なお、図８〜図１０の状態については、第２、第３の実施形態にて説明する。
【００９６】
上記のケースの中の（６）を除く全てのケースにおいて、ＭＦＰ３は、ジョブ通知有り情報が０より大きい場合、ジョブの確認処理（図１７）を繰り返して実行し続ける。例えば、図６のＳ３６１０において、ユーザが複数の文書を選択し、それらの文書を同時に印刷を行う場合、文書作成ＡＰＰ１４５は、各文書に対応する複数の印刷ジョブをクラウド印刷ＡＰＰ１４６に発行して処理する方法が考えられる。このような方法で印刷ジョブが複数同時に発行された場合において、ジョブ通知有り情報が０より大きい場合、ＭＦＰ３は、ジョブの確認処理（図１７）を繰り返して実行し続ける。これにより、同時に発行された複数の印刷ジョブを一連の処理の中で順次処理することができ、他の装置から発行されたジョブに割り込まれることなく、ＭＦＰを介して発行した複数の印刷ジョブを優先して処理して印刷することができる。
【００９７】
（ジョブキューの構成例）
図１８は、プロキシＡＰＰ１４３内のジョブキューの構成例を表す図である。ジョブキューは一般的なデータベースで構成されている。図１８において、「ｐｒｎ」の付いたジョブＩＤは印刷ジョブのジョブＩＤ、「ｓｃｎ」の付いたジョブＩＤは読取ジョブのジョブＩＤであり、プロキシＡＰＰ１４３がこれらのジョブＩＤを生成する。発行年月日・時刻は、例えば、図１８（Ａ）に示す「ｐｒｎ０００４」のジョブＩＤの例の場合について説明すると、この印刷ジョブが２０１２年０８月１４日１２時２４分３５秒と１／１０００の時刻に発行されたものであることを表す。例えば、図１８（Ａ）に示す「ｓｃｎ０３０４」のジョブＩＤの例の場合について説明すると、この読取ジョブが２０１２年８月１４日１２時２０分４５秒と２５０／１０００の時刻に発行されたものであることを表す。
【００９８】
図１８（Ａ）のジョブキューは、最優先ジョブキュー、一般スキャンキュー、一般プリントキューの３つの種類のキューで構成され、優先順位は最優先ジョブキュー、一般スキャンキュー、一般プリントキューの順にそれぞれ１位、２位、３位と設定されている。本実施形態において、最優先ジョブキューには、読取ジョブもしくは印刷ジョブのいずれのジョブが登録されても良いものとする。なお、便宜上、最優先ジョブキューを第１のジョブキューとも記載し、一般スキャンキューおよび一般プリントキューを第２のジョブキューとも記載する。また、最優先ジョブキューの容量は１ジョブ分、一般スキャンキューの容量は制限無し、一般プリントキューの容量は制限無しで設定されている。図１８（Ｂ）のジョブキューは、１つのジョブキューだけで構成され、優先順位１位、容量制限は制限無しで設定されている。図１８（Ｃ）のジョブキューは、図１８（Ａ）のジョブキューと同一であり、登録されているジョブの状態が異なる例を表している。図１８（Ｄ）のジョブキューは、最優先ジョブキュー、一般スキャンキュー、一般プリントキューで構成され、優先順位は最優先ジョブキュー、一般スキャンキュー、一般プリントキューの順にそれぞれ１位、２位、３位と設定されている。また、最優先ジョブキューの容量は制限無し、一般スキャンキューの容量は制限無し、一般プリントキューの容量は制限無しで設定されている。図１８（Ａ）、（Ｃ）、（Ｄ）において、最優先ジョブキュー、一般スキャンキュー、一般プリントキューの順にそれぞれ１位、２位、３位と設定している理由は、ユーザの操作性に配慮しているためである。
【００９９】
ここでは、ユーザが、デバイス（ＭＦＰ３）のＷｅｂブラウザ（Ｗｅｂブラウザ２７）を操作して印刷処理や読取処理の指示を行うことによってアプリケーションから発行されたジョブを最優先のジョブとし、ＭＦＰ３を操作しているユーザの操作性を最優先とする。次に、ユーザが、ＭＦＰに原稿をセットし、ＭＦＰの操作パネル（操作部２０）上のスタートボタンの操作により、読取処理を実行するという操作が、他のジョブに割り込まれて行えなくなることを防止する為に、一般スキャンキューの優先順位を２位としている。これにより、ユーザが、モバイル端末１４等を操作してアプリケーションから発行された読取ジョブを優先して処理することができ、ユーザの操作性を向上することができる。
【０１００】
そして、これらのキューの中で優先順位が３位である（最も低い）のは一般プリントキューである。ユーザが、モバイル端末１４等を操作してアプリケーションから発行された印刷ジョブは、通常、ユーザの操作を介すことなく、ＭＦＰ３で自動的に印刷処理が実行される。例えば、最優先ジョブキューや一般スキャンキューに登録されているジョブがユーザのＭＦＰの操作を必要とする。これに対し、一般プリントキューに登録されているジョブは、通常（用紙切れやインク切れを除く）、ユーザのＭＦＰの操作を必要としない。そのため、一般プリントキューの優先順位を３位にしても、ユーザの操作性を損ねることがほとんど無い。なお、上記の優先順位は一例であり、ユーザの用途などに合わせて、一般スキャンキューと一般プリントキューの優先順位が逆となるように設定されても構わない。
【０１０１】
（ジョブ情報のテーブル構成）
図１９は、プロキシＡＰＰ１４３内のジョブキューに登録されるジョブのジョブ情報を格納するためのテーブルの構成例を表す図である。図１９（Ａ）は印刷ジョブ用のテーブル、図１９（Ｂ）は読取ジョブ用のテーブルである。これらのテーブルは一般的なデータベースに格納されている。図１９（Ａ）、（Ｂ）に示すテーブルに格納される共通の情報として、発行年月日・時刻、ホスト、オーナー名、デバイスＩＤ、ジョブチケットのパス（ＵＲＩ）、ステータス、ジョブ通知の必要性の有無、ジョブの優先順位がある。但し、同じ項目の情報であっても、ステータスにセットされる値は、印刷ジョブと読取ジョブとで異なる場合もある。図１９（Ａ）に示すテーブルだけに格納される情報として、印刷画像データのパス（ＵＲＩ）がある。図１９（Ｂ）に示すテーブルだけに格納される情報として、アップロード先のパス（ＵＲＩ）、一時アップロード先のパス（ＵＲＩ）がある。
【０１０２】
（読取処理に係る表示画面例）
図２０は、ホーム画面７４２とアップロード先の選択画面７５０の一例を示す図である。図２０（Ａ）はホーム画面７４２の一例を示す図である。図２０（Ａ）において、ホーム画面７４２は、ユーザに対するＭＦＰ３、１０３用の読取設定画面として、読取ＡＰＰ１４７により制御される。読取ＡＰＰ１４７は、ホーム画面７４２の情報をモバイル端末１４、ＰＣ１、ＭＦＰ３、ＭＦＰ１０３に送信する。そして、モバイル端末１４、ＰＣ１、ＭＦＰ３、ＭＦＰ１０３は、送信された画面の情報を受信し、Ｗｅｂブラウザ９、２５、２７、２８にて表示する。このように、ホーム画面７４２は、Ｗｅｂブラウザ９、２５、２７、２８上に表示される。
【０１０３】
デバイス選択肢７３５、７３６、７３７は、選択可能なデバイスの選択肢である。デバイス選択肢７３５、７３６、７３７はそれぞれ、ＧＨＩ社製のＡｋｂＮｍｂというモデル名のＭＦＰ（本実施形態のＭＦＰ３に相当）、ＡＢＣ社製のＫｍｍｎというモデル名のＭＦＰ、ＤＥＦ社製のＸｙｚというモデル名のＭＦＰに該当する選択肢を表す。図２０（Ａ）では、ＭＦＰ３を表すデバイス選択肢７３６が選択されている状態が示す。例えば、ＭＦＰ３のＷｅｂブラウザ２７上にホーム画面７４２が表示される場合、読取ＡＰＰ１４７はデバイス選択肢７３６だけを表示する情報をＭＦＰ３に送信し、ユーザがそれ以外のデバイスを選択できないようにする。モバイル端末１４のＷｅｂブラウザ９またはＰＣ１内のＷｅｂブラウザ２５上にホーム画面７４２が表示される場合、読取ＡＰＰ１４７はデバイス選択肢７３５、７３６、７３７を表示する情報をモバイル端末１４またはＰＣ１に送信する。そして、モバイル端末１４またはＰＣ１が、受信した情報に基づいてＷｅｂブラウザ９または２５で画面を表示する。これにより、ユーザが、モバイル端末１４またはＰＣ１のＷｅｂブラウザ９または２５を操作する場合、読取ＡＰＰ１４７は、そのユーザが全てのデバイスを選択できるように制御する。
【０１０４】
原稿種類選択部７３０では、次に示す選択肢の中からＭＦＰ３で読取る原稿の種類がユーザ操作に応じて選択される。図２０では、「カラー文書」が選択されている状態が示されている。なお、原稿の種類選択肢としては、カラー写真、モノクロ写真、カラー文書、モノクロ文書などが挙げられる。原稿サイズ選択部７３１では、次に示す選択肢の中からＭＦＰ３で読み取る原稿のサイズがユーザ操作に応じて選択される。図２０では、「Ａ４」が選択されている状態が示されている。なお、原稿サイズの選択肢としては、Ａ５、Ａ４、Ｂ５、Ｌｅｔｔｅｒなどが挙げられる。解像度選択部７３２では、次に示す選択肢の中からＭＦＰ３で読取る解像度がユーザ操作に応じて選択される。図２０では、「３００ｄｐｉ」が選択されている状態が示されている。なお、印刷品位の選択肢としては、１５０ｄｐｉ、３００ｄｐｉ、６００ｄｐｉなどが挙げられる。上記選択肢は、各デバイスの機能に応じて選択可能な項目が増減して構わない。
【０１０５】
アップロード先表示部７３３では、ＭＦＰ３で読み取った画像のアップロード先が表示される。アップロード先設定ボタン７３９は、図２０（Ｂ）に示すアップロード先の選択画面７５０を表示する指示を受け付ける。ユーザ操作によりアップロード先設定ボタン７３９が押下されると、読取ＡＰＰ１４７は、アップロード先の選択画面７５０を表示する。読取ボタン７３４は、読取の開始の指示を受け付ける。ユーザ操作により読取ボタン７３４が押下されると、読取ＡＰＰ１４７は、デバイス選択肢７３６に関連付けられているＭＦＰ３用の読取ジョブを生成し、クラウドスキャンＡＰＰ１４８にその読取ジョブを発行する。クローズボタン７３８は、ホーム画面７４２を閉じる指示を受け付ける。ユーザ操作によりクローズボタン７３８が押下されると、読取ＡＰＰ１４７は、ホーム画面７４２を閉じる。
【０１０６】
図２０（Ｂ）は、アップロード先の選択画面７５０の一例を示す図である。図２０（Ｂ）において、アップロード先の選択画面７５０は、ユーザに対するＭＦＰ３、１０３用で読み取られた画像のアップロード先の選択画面として、読取ＡＰＰ１４７により提供される。読取ＡＰＰ１４７は、アップロード先の選択画面７５０の情報をモバイル端末１４、ＰＣ１、ＭＦＰ３、ＭＦＰ１０３に送信する。そして、モバイル端末１４、ＰＣ１、ＭＦＰ３、ＭＦＰ１０３はその情報を受信してＷｅｂブラウザ９、２５、２７、２８にてアップロード先の選択画面７５０を表示する。このように、アップロード先の選択画面７５０は、Ｗｅｂブラウザ９、２５、２７、２８を利用して、そのＷｅｂブラウザ上に表示される。
【０１０７】
フォルダ指定部７５２は、ユーザが、ツリー表示されたフォルダの中から、ＭＦＰ３、１０３用で読取られた画像のアップロード先のフォルダを指定することができる。図２０（Ｂ）では、「ＡＢＣ／Ｐｕｂｌｉｃ  Ｆｏｌｄｅｒ」が選択された状態を示す。フォルダ表示部７５３は、ユーザに指定されたフォルダのフルパスが表示される。選択ボタン７５４がユーザ操作により押下されると、読取ＡＰＰ１４７は、フォルダ表示部７５３に表示されているフォルダを、ＭＦＰ３、１０３用で読み取られた画像のアップロード先として確定し、アップロード先の選択画面７５０を閉じる。クローズボタン７５５は、アップロード先の選択画面７５０を閉じる指示を受け付ける。ユーザ操作によりクローズボタン７５５が押下されると、読取ＡＰＰ１４７は、アップロード先の選択画面７５０を閉じる。
【０１０８】
（削除処理）
図２１は、プロキシＡＰＰ１４３における印刷ジョブの削除処理とクラウドスキャンＡＰＰ１４８における読取ジョブの削除処理を表すフローチャートの一例を示す図である。図２１（Ａ）は、プロキシＡＰＰ１４３における印刷ジョブの削除処理を表すフローチャートの一例を示す図である。本処理は、図６のＳ３６２２、図７のＳ３７１９、図８のＳ３８２２に対応する。図２１（Ｂ）は、クラウドスキャンＡＰＰ１４８における読取ジョブの削除処理を表すフローチャートの一例を示す図である。本処理は、図９のＳ３９２２、図１０のＳ４０１９に対応する。
【０１０９】
図２１（Ａ）において、印刷ジョブの削除処理が要求されると、プロキシＡＰＰ１４３が印刷ジョブの削除処理を開始する（Ｓ５１０１）。プロキシＡＰＰ１４３は、画像変換ＡＰＰ１４４に印刷画像ファイルの削除要求を発行する（Ｓ５１０２）。画像変換ＡＰＰ１４４は、印刷画像ファイルの削除要求に従って、ｄａｔａＵｒｉで指定されたパス（ＵＲＩ）に格納されている印刷画像ファイルを削除する（Ｓ５１０３）。次に、プロキシＡＰＰ１４３が、文書作成ＡＰＰ１４５に印刷対象画像の削除要求を発行する（Ｓ５１０４）。文書作成ＡＰＰ１４５は、印刷対象画像の削除要求に従って、印刷対象の画像、すなわちＨＤＤ２０２に一時的に保存している印刷対象コンテンツまたは印刷用に生成したＰＤＦファイルを削除する（Ｓ５１０５）。
【０１１０】
プロキシＡＰＰ１４３は、ジョブチケットの削除要求を文書作成ＡＰＰ１４５に発行する（Ｓ５１０６）。文書作成ＡＰＰ１４５は、ジョブチケットの削除要求に従って、ジョブチケット（印刷設定ファイル）を削除する（Ｓ５１０７）。そして、プロキシＡＰＰ１４３は、ジョブ情報を削除し、ジョブキュー（図１８）からもそのジョブを削除する（Ｓ５１０８）。そして、本処理フローを終了し、この処理の呼び出し元の処理フローに戻る（Ｓ５１０９）。
【０１１１】
図２１（Ｂ）において、読取ジョブの削除処理が要求されると、クラウドスキャンＡＰＰ１４８が読取ジョブの削除処理を開始する（Ｓ５１５１）。クラウドスキャンＡＰＰ１４８は、一時読取画像ファイルの削除要求を読取ＡＰＰ１４７に発行する（Ｓ５１５２）。読取ＡＰＰ１４７は、一時読取画像ファイルの削除要求に従って、ｔｅｍｐｏｒａｒｙＵｐｌｏａｄＵｒｉで指定されたパス（ＵＲＩ）に一時的に格納されている一時読取画像ファイルを削除する（Ｓ５１５３）。次に、クラウドスキャンＡＰＰ１４８は、ジョブチケットの削除要求を読取ＡＰＰ１４７に発行する（Ｓ５１５４）。読取ＡＰＰ１４７は、ジョブチケットの削除要求に従って、読取設定ファイル（ジョブチケット）を削除する（Ｓ５１５５）。
【０１１２】
クラウドスキャンＡＰＰ１４８は、ジョブ情報の削除要求をプロキシＡＰＰ１４３に発行する（Ｓ５１５６）。プロキシＡＰＰ１４３は、ジョブ情報の削除要求に従って、ジョブ情報を削除し、ジョブキュー（図１８）からもそのジョブを削除する（Ｓ５１５７）。そして、本処理フローを終了し、この処理の呼び出し元の処理フローに戻る（Ｓ５１５８）。
【０１１３】
（排他制御の解除処理）
図２３は、ＭＦＰ３における排他制御の解除処理を表すフローチャートの一例を示す図である。第１の実施形態では、図２３（Ａ）について説明する。本処理は、図６のＳ３６２６、図８のＳ３８２６、図９のＳ３９２６に対応する。
【０１１４】
図２３（Ａ）において、例えば、ユーザが、ＭＦＰ３の操作部２０のホームボタン（不図示）を押すと、ＭＦＰ３は、Ｗｅｂブラウザ２７を終了し、表示部２１にＭＦＰ３のホーム画面を表示した後、本処理フローを開始する（Ｓ５３０１）。ＭＦＰ３は、図６のＳ３６０７にて設定したジョブ通知の受付だけを許可するモードから、通常のジョブ通知受信モードへ移行する（Ｓ５３０２）。そして、ＭＦＰ３は、外部から入稿されるジョブの排他制御を解除する（Ｓ５３０３）。その後、本処理フローを終了する（Ｓ５３０４）。
【０１１５】
なお、タイムアウトによって、ＭＦＰ３が排他制御の解除処理を実行する場合もある。例えば、文書作成ＡＰＰ１４５は、ＭＦＰ３のＷｅｂブラウザ２７からのＨＴＴＰリクエストの間隔をモニタする。そして、ある一定時間（例えば５分）、Ｗｅｂブラウザ２７からのＨＴＴＰリクエストを受信しなかった場合、文書作成ＡＰＰ１４５は、Ｗｅｂページの情報に埋め込まれているＪａｖａＳｃｒｉｐｔ（登録商標）を介して、ＭＦＰ３にタイムアウトを通知する。具体的には、Ｗｅｂブラウザ２７は、ＪａｖａＳｃｒｉｐｔ（登録商標）を介して、ＭＦＰ３がＷｅｂブラウザ２７に対してエクスポートしているＴｉｍｅｏｕｔ関数を実行する。ＭＦＰ３は、Ｔｉｍｅｏｕｔ関数がコールされた時、図２３（Ａ）に示す排他制御の解除処理を実行する。
【０１１６】
以上により、低機能の複合機を含む制御システムにおいて、ユーザの操作性を向上させ、サーバの負荷の削減、通信経路のデータ量の削減、データ通信費のコストダウンが可能となる。
【０１１７】
＜第２の実施形態＞
本願発明に係る第２の実施形態について説明する。
【０１１８】
［処理フロー］
図８は、ＭＦＰ３のＷｅｂブラウザ２７から文書作成ＡＰＰ１４５を実行して印刷を行う時の処理を表すフローチャートの一例を示す図である。本処理フローは、第１の実施形態における図６に対応する。なお、図８において、図６で既に説明した内容に関しては、その説明を省略する。具体的には、図８において、ジョブの登録処理（Ｓ３８１５）、Ｓ３８１９、ジョブ情報の返信処理（Ｓ３８２０）の処理以外は、図６の処理と同じであるため、説明を省略する。また、本実施形態においては、ジョブキューは、図１８（Ｂ）に示す１つの種類のキューからなる構成を有するものとする。
【０１１９】
図８のＳ３８１３において、文書作成ＡＰＰ１４５は、印刷要求をＭＦＰ３から受け付けると、クラウド印刷ＡＰＰ１４６に印刷ジョブを発行する。この時、ＭＦＰ３からの印刷要求に基づいて、印刷ジョブの印刷要求を発行したホストがＭＦＰである旨を表す情報（ｈｏｓｔ＝ｍｆｐ）と、この印刷ジョブがＭＦＰ３へのジョブ通知を必要としない旨を表す情報（ｎｏｔｉｆｉｃａｔｉｏｎ＝ｎｏ）とが、印刷ジョブの中に含まれる。クラウド印刷ＡＰＰ１４６は、プロキシＡＰＰ１４３のプリントキューに印刷ジョブを入稿する（Ｓ３８１４）。この時、クラウド印刷ＡＰＰ１４６は、印刷ジョブの発行年月日・時刻を更に印刷ジョブに付加する。プロキシＡＰＰ１４３は、図１５（Ａ）に示すジョブの登録処理を実行してジョブＩＤ（印刷ジョブＩＤ）をクラウド印刷ＡＰＰ１４６に返す（Ｓ３８１５）。そして、プロキシＡＰＰ１４３は、ＭＦＰ３からの印刷ジョブ取得要求待ちの状態となる（Ｓ３８１６）。
【０１２０】
Ｓ３８１７において、ＭＦＰ３は、文書作成ＡＰＰ１４５から印刷ジョブの発行済みである旨の情報を受信すると、表示部２１に「印刷準備中」または「印刷中」というような印刷関連処理を実行中である旨を表すメッセージを表示する。これにより、ＭＦＰ３は、印刷モード（印刷処理中）に移行したことをユーザに知らせる。この時、ＭＦＰ３は、負荷を軽減するためにＷｅｂブラウザ２７を介さずにこのメッセージを表示する。また、ＭＦＰ３は、プロキシＡＰＰ１４３がＳ３８１５（図１５（Ａ））にて生成したジョブＩＤ（印刷ジョブＩＤ）も取得する。ＭＦＰ３は、画像変換ＡＰＰ１４４が画像変換（図１３のＳ４３０６）に要する想定時間（例えば３秒）の経過を待つ（Ｓ３８１８）。その後、ＭＦＰ３は、ジョブＩＤ（印刷ジョブＩＤ）でジョブを指定してプロキシＡＰＰ１４３にジョブ（印刷ジョブ）取得要求を発行する（Ｓ３８１９）。プロキシＡＰＰ１４３は、図１５（Ｂ）に示すジョブ情報の返信処理を実行し、その結果として印刷ジョブ情報をＭＦＰ３へ返信する（Ｓ３８２０）。以降の処理は、第１の実施形態と同様である。
【０１２１】
（ジョブの登録処理およびジョブ情報の返信処理）
図１５は、プロキシＡＰＰ１４３におけるジョブの登録処理とジョブ情報の返信処理を表すフローチャートの一例を示す図である。
【０１２２】
図１５（Ａ）は、プロキシＡＰＰ１４３におけるジョブの登録処理を表すフローチャートの一例を示す図である。図８のＳ３８１５においてジョブの登録処理が要求されると、図１５（Ａ）にて、プロキシＡＰＰ１４３はジョブの登録処理を開始する（Ｓ４５０１）。プロキシＡＰＰ１４３は、ジョブキュー（図１８（Ｂ））にジョブを登録し、図１９に示すジョブ情報を格納するためのテーブルに各情報を保存する（Ｓ４５０２）。そしてプロキシＡＰＰ１４３は、ジョブＩＤを生成する（Ｓ４５０３）。その後、プロキシＡＰＰ１４３は、ジョブＩＤ（印刷ジョブＩＤまたは読取ジョブＩＤ）をこの処理の呼び出し元に返し、本処理フローを終了する（Ｓ４５０４）。
【０１２３】
図１５（Ｂ）は、プロキシＡＰＰ１４３におけるジョブ情報の返信処理を表すフローチャートの一例を示す図である。図８のＳ３８２０において、ＭＦＰ３からジョブ情報の返信処理が要求されると、図１５（Ｂ）において、プロキシＡＰＰ１４３はジョブ情報の返信処理を開始する（Ｓ４５１０）。プロキシＡＰＰ１４３は、ジョブ情報に含まれるデバイスＩＤを用いて対象のデバイスのジョブキューを特定する（Ｓ４５１１）。そして、プロキシＡＰＰ１４３は、特定したジョブキューにおいて、図８のＳ３８１９にておいてＭＦＰ３から指定されたジョブＩＤと一致するジョブの有無を確認する（Ｓ４５１２）。ここで、ジョブキューの例としては、図１８（Ｂ）を用いる。ジョブキュー内にジョブが有ると判定した場合（Ｓ４５１３にてＹＥＳ）Ｓ４５１４へ進み、ジョブが無いと判定した場合（Ｓ４５１３にてＮＯ）Ｓ４５１６へ進む。
【０１２４】
Ｓ４５１４において、プロキシＡＰＰ１４３は、ジョブキュー内に登録されている指定されたジョブＩＤに対応するジョブ情報を取得する。Ｓ４５１５において、プロキシＡＰＰ１４３は、Ｓ４５１４で取得したジョブ情報をデバイスに返信する。そして、本処理フローを終了する（Ｓ４５１７）。Ｓ４５１６において、プロキシＡＰＰ１４３は、対象のデバイスのジョブキュー内にジョブＩＤに対応するジョブが無いため、ジョブ情報が存在しない旨を要求元のデバイス（ここではＭＦＰ３）に返信する。そして、本処理フローを終了する（Ｓ４５１７）。
【０１２５】
尚、上述した第１の実施形態の図７と第２の実施形態を組合せてもよい。具体的には、Ｓ３７１５において、ＭＦＰ３がジョブＩＤ（印刷ジョブＩＤ）でジョブを指定してプロキシＡＰＰ１４３にジョブ（印刷ジョブ）取得要求を発行してもよい。また、後述する第３の実施形態の図９と第２の実施形態とを組合せてもよい。具体的には、図９のＳ３９１８において、ＭＦＰ３がジョブＩＤ（読取ジョブＩＤ）でジョブを指定してプロキシＡＰＰ１４３にジョブ（読取ジョブ）取得要求を発行してもよい。同様に、後述する第３の実施形態の図１０と第２の実施形態とを組合せてもよい。具体的には、図１０のＳ４０１５において、ＭＦＰ３が、ジョブＩＤ（読取ジョブＩＤ）でジョブを指定してプロキシＡＰＰ１４３にジョブ（読取ジョブ）取得要求を発行してもよい。
【０１２６】
尚、図１８（Ｂ）に示すようにプロキシＡＰＰ１４３がジョブキューを１つだけ備える場合に、ＭＦＰ３がジョブＩＤ（印刷ジョブＩＤ）でジョブを指定してプロキシＡＰＰ１４３にジョブ取得要求を発行できないような制御システムを想定する。この場合、図８のＳ３８１２において、ＭＦＰ３のＷｅｂブラウザ２７が文書作成ＡＰＰ１４５に印刷要求を発行する際にジョブに優先順位の属性を付加してもよい。この時、Ｗｅｂブラウザ２７は、このジョブに優先順位「最高」の属性情報を付加する。Ｓ３８１３において、文書作成ＡＰＰ１４５は、ジョブの優先順位の属性情報をクラウド印刷ＡＰＰ１４６に送信する。Ｓ３８１４において、クラウド印刷ＡＰＰ１４６は、ジョブの優先順位の属性情報をプロキシＡＰＰ１４３に送信する。Ｓ３８１５において、プロキシＡＰＰ１４３が図１５（Ａ）に示すジョブの登録処理を実行する際に、Ｓ４５０２において、ジョブの優先順位を確認し、優先順位の高い順にジョブキューにジョブを登録する。
【０１２７】
これにより、ＭＦＰがジョブＩＤでジョブを指定してプロキシＡＰＰにジョブ取得要求を発行できないような場合でも、ＭＦＰのＷｅｂブラウザから文書作成ＡＰＰに発行された印刷要求を最優先の印刷ジョブとして処理することができる。その結果、外部からのジョブに割り込まれることなくＭＦＰ３で印刷することができ、ユーザの操作性に優れたシステムを提供することが可能となる。
【０１２８】
＜第３の実施形態＞
本願発明の第３の実施形態について説明する。第１の実施形態は印刷ジョブの例について述べたが、本実施形態は、読取ジョブの例について述べる。なお、第１の実施形態と重複する箇所については、説明を省略する。
【０１２９】
［処理フロー］
（ＭＦＰから読取指示を行う場合の処理）
図９は、ＭＦＰ３のＷｅｂブラウザ２７から読取ＡＰＰ１４７を実行してＭＦＰ３にセットされている原稿の読取（スキャン）を行う時の処理を表すフローチャートの一例を示す図である。図９において、ユーザが、ＭＦＰ３のＷｅｂブラウザ２７を起動して読取ＡＰＰ１４７を実行することにより処理が開始される（Ｓ３９０１）。ＭＦＰ３は、プロキシＡＰＰ１４３にジョブ取得要求を発行する（Ｓ３９０２）。プロキシＡＰＰ１４３は、ジョブ取得要求に従って、図１４に示すジョブ情報の返信処理を実行し、その結果をＭＦＰ３へ返信する（Ｓ３９０３）。Ｓ３９０４において、ＭＦＰ３は、第１の実施形態のＳ３６０４と同様に印刷ジョブ情報または読取ジョブ情報を受信した場合、Ｓ３６２１またはＳ３９２０に示す印刷処理または読取処理を実行する。
【０１３０】
ＭＦＰ３は、印刷処理または読取処理が終了した後、その旨をプロキシＡＰＰ１４３に通知する（Ｓ３９０４）。Ｓ３９０５において、プロキシＡＰＰ１４３は、図２１に示すジョブの削除の処理を実行し、そのジョブに関する一連の処理を終了する（Ｓ３９０６）。
【０１３１】
第１の実施形態にて述べたように、本発明では、ユーザがＭＦＰ３のＷｅｂブラウザ２７を操作して発行されたジョブを最優先して実行することを目的としている。そのため、例えば、Ｓ３９０２において、ＭＦＰ３がプロキシＡＰＰ１４３にジョブ取得要求を発行する際に、図１８（Ａ）に示すジョブキュー内の最優先ジョブキューのジョブだけを取得するオプションを指定する。そして、プロキシＡＰＰ１４３が、最優先ジョブキューにジョブが登録されている時だけＭＦＰ３にジョブ情報を返信するようにする。これにより、ユーザが、ＭＦＰ３内のＷｅｂブラウザ２７から起動されているアプリケーションから発行されたジョブを最優先して実行したり、Ｗｅｂブラウザ２７を操作して読取ＡＰＰ１４７等の各アプリケーションを最優先して操作したりすることができる。
【０１３２】
Ｓ３９０７において、ＭＦＰ３は、外部から入稿されるジョブを排他し、ジョブ通知の受付だけを許可するモードに移行して、Ｓ３９０８へ進む。このモードにおける、ＭＦＰ３が行うジョブ通知受信処理を図１６に示す。Ｓ３９０８において、ＭＦＰ３のＷｅｂブラウザ２７が読取ＡＰＰ１４７に図２０（Ａ）に示すホーム画面７４２を要求する。読取ＡＰＰ１４７は、要求に応じて、ＭＦＰ３にホーム画面７４２の情報を送信する（Ｓ３９０９）。そして、ＭＦＰ３は、Ｗｅｂブラウザ２７でホーム画面７４２を表示する（Ｓ３９０８）。ユーザがＭＦＰ３のＷｅｂブラウザ２７を操作してアップロード先設定ボタン７３９を押下し、読取画像ファイルのアップロード先の選択を指示すると、Ｗｅｂブラウザ２７は読取ＡＰＰ１４７に図２０（Ｂ）に示すアップロード先の選択画面７５０を要求する（Ｓ３９１０）。読取ＡＰＰ１４７は、要求に応じて、ＭＦＰ３にアップロード先の選択画面７５０の情報を送信する（Ｓ３９１１）。そして、ＭＦＰ３は、Ｗｅｂブラウザ２７にてアップロード先の選択画面７５０を表示する（Ｓ３９１０）。
【０１３３】
ユーザが、読取画像ファイルのアップロード先を指定して選択ボタン７５４を押下すると、Ｗｅｂブラウザ２７は、ホーム画面７４２を表示する。この時、ホーム画面７４２内のアップロード先表示部７３３に、ユーザが選択した読取画像ファイルのアップロード先が反映された状態で更新される。ユーザが読取ボタン７３４を押下すると、Ｗｅｂブラウザ２７は、読取ＡＰＰ１４７に読取要求を発行する（Ｓ３９１２）。この時、読取要求を発行したホストがＭＦＰである旨を表す情報（ｈｏｓｔ＝ｍｆｐ）と、読取要求がＭＦＰ３へのジョブ通知を必要としない旨を表す情報（ｎｏｔｉｆｉｃａｔｉｏｎ＝ｎｏ）とが、読取要求の中に含まれる。
【０１３４】
読取ＡＰＰ１４７は、読取要求を受け付けると、クラウドスキャンＡＰＰ１４８に読取ジョブを発行する（Ｓ３９１３）。この時、ＭＦＰ３から受信した読取要求に従って、読取ジョブの読取要求を発行したホストがＭＦＰである旨を表す情報（ｈｏｓｔ＝ｍｆｐ）と、読取ジョブがＭＦＰ３へのジョブ通知を必要としない旨を表す情報（ｎｏｔｉｆｉｃａｔｉｏｎ＝ｎｏ）とが、読取ジョブの中に含まれる。クラウドスキャンＡＰＰ１４８は、プロキシＡＰＰ１４３のスキャンキューに読取ジョブを入稿する（Ｓ３９１４）。この時、クラウドスキャンＡＰＰ１４８は、読取ジョブの発行年月日・時刻の情報を更に読取ジョブに付加する。プロキシＡＰＰ１４３は、図１１に示すジョブの登録処理を実行してジョブＩＤ（読取ジョブＩＤ）をクラウドスキャンＡＰＰ１４８に返す（Ｓ３９１５）。そして、プロキシＡＰＰ１４３は、ＭＦＰ３からの読取ジョブ取得要求待ちの状態に入る（Ｓ３９１６）。
【０１３５】
クラウドスキャンＡＰＰ１４８は、プロキシＡＰＰ１４３から返されたジョブＩＤ（読取ジョブＩＤ）を読取ＡＰＰ１４７に返す。さらに、読取ＡＰＰ１４７は、クラウドスキャンＡＰＰ１４８からジョブＩＤを受け付けたことに応じて、読取ジョブを発行した旨を表す情報をＭＦＰ３に通知する。この時、読取ＡＰＰ１４７は、通知する情報の中に、クラウドスキャンＡＰＰ１４８から返されたジョブＩＤ（読取ジョブＩＤ）を含めて通知する。この通知は、例えば、Ｗｅｂページの情報に埋め込まれているＪａｖａＳｃｒｉｐｔ（登録商標）を利用して行うことができる。読取ジョブが発行された時に、Ｗｅｂブラウザ２７は、ＪａｖａＳｃｒｉｐｔ（登録商標）を介して、ＭＦＰ３がＷｅｂブラウザ２７に対してエクスポートしているＳｃａｎ関数を実行する。
【０１３６】
Ｓｃａｎ関数がコールされることで、ＭＦＰ３は、スキャンキューに読取ジョブが登録されたことを表す情報を受信する。この時、受信した情報の中に含まれるジョブＩＤ（読取ジョブＩＤ）が、Ｓｃａｎ関数の引数としてＭＦＰ３に渡され、ＭＦＰ３は、プロキシＡＰＰ１４３が生成したジョブＩＤ（読取ジョブＩＤ）も取得する（Ｓ３９１７）。このように、ＭＦＰ３がＳｃａｎ関数を備え、Ｗｅｂブラウザ２７がＪａｖａＳｃｒｉｐｔ（登録商標）を介してＳｃａｎ関数を利用することで、不要なジョブ通知を無くすことができる。その結果、サーバの不可の削減、通信経路のデータ量の削減、データ通信費のコストダウンすることができる。
【０１３７】
ＭＦＰ３は、プロキシＡＰＰ１４３にジョブ（読取ジョブ）取得要求を発行する（Ｓ３９１８）。プロキシＡＰＰ１４３は、ジョブ情報の返信処理（図１４）を実行し、その結果として次に示すような読取ジョブ情報をＭＦＰ３へ返信する（Ｓ３９１９）。
【０１３８】
［読取ジョブ情報の例］
ｊｏｂＩｄ：  ｓｃｎ０３０６
ｄａｔｅＴｉｍｅ：  ２０１２０８１４１２２４２３００８
ｈｏｓｔ：  ｍｆｐ
ｏｗｎｅｒ：  ｃｈａｎｃｙ
ｄｅｖｉｃｅＩｄ：  ７７７７８８８８
ｔｉｃｋｅｔＵｒｉ：  https://ske88funclub.com/scan/ticket/scn0306/ticket.xml
ｕｐｌｏａｄＵｒｉ：  https://storageservice.xxx/user/chancy/private/
ｔｅｍｐｏｒａｒｙＵｐｌｏａｄＵｒｉ：  https://ske88funclub.com/scan/data/scn0306/
ｓｔａｔｕｓ：  ｑｕｅｕｅｄ
【０１３９】
ＭＦＰ３は、返信された読取ジョブ情報から読取設定を表す読取設定ファイルの格納先と読取画像ファイルの一時アップロード先を取得する。以下において、読取設定ファイルと読取画像ファイルを合わせたものを、読取データと呼ぶ。また、読取設定ファイルを（読取）ジョブチケットと呼ぶ場合もある。読取設定ファイルはｔｉｃｋｅｔＵｒｉで指定されたパス（ＵＲＩ）に格納されており、読取画像ファイルはｔｅｍｐｏｒａｒｙＵｐｌｏａｄＵｒｉで指定されたパス（ＵＲＩ）に、後述するＳ３９２０の処理により一時的に格納される。読取設定ファイルはＰＣ７内のＨＤＤ２０２に格納されている。読取画像ファイルの一時アップロード先は、クラウドスキャンＡＰＰ１４８が利用可能なストレージ内に用意されている。本実施形態では、ＰＣ７内のＨＤＤ２０２に読取画像ファイルが格納される。ＭＦＰ３は、表示部２１に「原稿をセットして、スタートボタンを押してください。」というような読取操作方法を表すメッセージを表示し、読取操作方法をユーザに知らせる。この時、ＭＦＰ３は、Ｗｅｂブラウザ２７を介さずにこのメッセージを表示する。
【０１４０】
ユーザが原稿をセットして操作部２０内にあるスタートボタンを押すと、ＭＦＰ３は、ｔｉｃｋｅｔＵｒｉで指定されたパス（ＵＲＩ）にアクセスし、読取設定ファイルを取得する。ＭＦＰ３は、読取設定ファイルの内容に従って読取を実行する。そして、ＭＦＰ３は、読取処理によって生成した読取画像ファイルを、ｔｅｍｐｏｒａｒｙＵｐｌｏａｄＵｒｉで指定されたパス（ＵＲＩ）にアップロードし、その後、読取が終了したことをプロキシＡＰＰ１４３に通知をする（Ｓ３９２０）。Ｓ３９２１において、クラウドスキャンＡＰＰ１４８は、ｔｅｍｐｏｒａｒｙＵｐｌｏａｄＵｒｉで指定されたパス（ＵＲＩ）に一時的に格納されている読取画像ファイルを、ｕｐｌｏａｄＵｒｉで指定されたパス（ＵＲＩ）にアップロードする。Ｓ３９２２において、クラウドスキャンＡＰＰ１４８は、ジョブの削除の処理（図２１）を実行し、そのジョブに関する一連の処理を終了する（Ｓ３９２３）。
【０１４１】
Ｓ３９２０において、読取処理が終了した後、ＭＦＰ３のＷｅｂブラウザ２７は、読取ＡＰＰ１４７にホーム画面７４２を要求する（Ｓ３９２４）。読取ＡＰＰ１４７は、要求に従って、ＭＦＰ３にホーム画面７４２の情報を送信する（Ｓ３９２５）。ＭＦＰ３は、Ｗｅｂブラウザ２７にて受信したホーム画面７４２を表示する（Ｓ３９２４）。そして、ＭＦＰ３は、ユーザの入力操作待ちの状態となる（Ｓ３９２６）。
【０１４２】
（モバイル端末から読取指示を行う場合の処理）
図１０は、モバイル端末１４のＷｅｂブラウザ９から読取ＡＰＰ１４７を実行して読取を行う時の処理を表すフローチャートの一例を示す図である。ユーザが、モバイル端末１４のＷｅｂブラウザ９を起動して読取ＡＰＰ１４７を実行することにより、図１０の処理が開始される（Ｓ４００１）。Ｗｅｂブラウザ９は、読取ＡＰＰ１４７に図２０（Ａ）に示すホーム画面７４２を要求する（Ｓ４００２）。読取ＡＰＰ１４７は、要求に応じてモバイル端末１４にホーム画面７４２の情報を送信する（Ｓ４００３）。モバイル端末１４は、Ｗｅｂブラウザ９にてホーム画面７４２を表示する（Ｓ４００２）。ユーザがモバイル端末１４のＷｅｂブラウザ９を操作してアップロード先設定ボタン７３９を押下すると、Ｗｅｂブラウザ９は、読取ＡＰＰ１４７に図２０（Ｂ）に示すアップロード先の選択画面７５０を要求する（Ｓ４００４）。読取ＡＰＰ１４７は、要求に応じて、モバイル端末１４にアップロード先の選択画面７５０の情報を送信する（Ｓ４００５）。モバイル端末１４のＷｅｂブラウザ９は、受信したアップロード先の選択画面７５０を表示する（Ｓ４００４）。
【０１４３】
ユーザが、読取画像ファイルのアップロード先を指定して選択ボタン７５４を押下すると、モバイル端末１４のＷｅｂブラウザ９がホーム画面７４２を表示する。この時、アップロード先表示部７３３に、ユーザが選択した読取画像ファイルのアップロード先が反映された状態で更新される。ユーザが読取ボタン７３４を押下すると、Ｗｅｂブラウザ２７は、読取ＡＰＰ１４７に読取要求を発行する（Ｓ４００６）。この時、読取要求を発行したホストがモバイル端末である旨を表す情報（ｈｏｓｔ＝ｐｈｏｎｅ）と、読取要求がＭＦＰ３へのジョブ通知を必要とする旨を表す情報（ｎｏｔｉｆｉｃａｔｉｏｎ＝ｙｅｓ）とが、読取要求の中に含まれる。
【０１４４】
読取ＡＰＰ１４７は、読取要求を受け付けると、クラウドスキャンＡＰＰ１４８に読取ジョブを発行する（Ｓ４００７）。この時、読取ジョブの読取要求を発行したホストがモバイル端末である旨を表す情報（ｈｏｓｔ＝ｐｈｏｎｅ）と、読取ジョブがＭＦＰ３へのジョブ通知を必要とする旨を表す情報（ｎｏｔｉｆｉｃａｔｉｏｎ＝ｙｅｓ）とが、読取ジョブの中に含まれる。クラウドスキャンＡＰＰ１４８は、プロキシＡＰＰ１４３のスキャンキューに読取ジョブを入稿する（Ｓ４００８）。この時、クラウドスキャンＡＰＰ１４８は、読取ジョブの発行年月日・時刻を更に読取ジョブに付加する。プロキシＡＰＰ１４３は、ジョブの登録処理（図１１）を実行してジョブＩＤ（読取ジョブＩＤ）をクラウドスキャンＡＰＰ１４８に返す（Ｓ４００９）。そして、プロキシＡＰＰ１４３は、モバイル端末１４からの読取ジョブ取得要求待ちの状態に入る（Ｓ４０１０）。
【０１４５】
Ｓ４００８において、クラウドスキャンＡＰＰ１４８は、プロキシＡＰＰ１４３から返されたジョブＩＤ（読取ジョブＩＤ）を読取ＡＰＰ１４７に返す。モバイル端末１４のＷｅｂブラウザ９は、読取ＡＰＰ１４７に発行した読取要求のレスポンスを受信すると、読取ＡＰＰ１４７に読取実行確認画面を要求する（Ｓ４０１１）。読取ＡＰＰ１４７は、要求に応じてモバイル端末１４に読取実行確認画面の情報を送信する（Ｓ４０１２）。そしてモバイル端末１４は、Ｗｅｂブラウザ９で受信した読取実行確認画面を表示し、Ｗｅｂブラウザ９上に「ＭＦＰで読取を実行してください」というメッセージが表示する（Ｓ４０１１）。そして、モバイル端末１４は、アップロード完了待ち状態となる（Ｓ４０１３）。
【０１４６】
図１３のＳ４３０９において、プロキシＡＰＰ１４３がＭＦＰ３にジョブ（読取ジョブ）通知を送信すると、ＭＦＰ３がこのジョブ（読取ジョブ）通知を受信し（Ｓ４０１４）、プロキシＡＰＰ１４３にジョブ（読取ジョブ）取得要求を発行する（Ｓ４０１５）。プロキシＡＰＰ１４３は、ジョブ情報の返信処理（図１４）を実行し、その結果として次に示すような読取ジョブ情報をＭＦＰ３へ返信する（Ｓ４０１６）。
【０１４７】
［読取ジョブ情報の例］
ｊｏｂＩｄ：  ｓｃｎ０３０４
ｄａｔｅＴｉｍｅ：  ２０１２０８１４１２２０４５２５０
ｈｏｓｔ：  ｐｈｏｎｅ
ｏｗｎｅｒ：  ａｋｂ８８
ｄｅｖｉｃｅＩｄ：  ７７７７８８８８
ｔｉｃｋｅｔＵｒｉ：  https://ske88funclub.com/scan/ticket/scn0304/ticket.xml
ｕｐｌｏａｄＵｒｉ：  https://storageservice.xxx/user/akb88/private/
ｔｅｍｐｏｒａｒｙＵｐｌｏａｄＵｒｉ：  https://ske88funclub.com/scan/data/scn0304/
ｓｔａｔｕｓ：  ｑｕｅｕｅｄ
【０１４８】
ＭＦＰ３は、返信された読取ジョブ情報から読取設定を表す読取設定ファイルの格納先と読取画像ファイルの一時アップロード先を取得する。読取設定ファイルはｔｉｃｋｅｔＵｒｉで指定されたパス（ＵＲＩ）に格納されており、読取画像ファイルはｔｅｍｐｏｒａｒｙＵｐｌｏａｄＵｒｉで指定されたパス（ＵＲＩ）に、後述するＳ４０１７の処理により一時的に格納される。読取画像ファイルの一時アップロード先は、クラウドスキャンＡＰＰ１４８が利用可能なストレージに用意されている。本実施形態では、ＰＣ７内のＨＤＤ２０２に読取画像ファイルが格納される。ＭＦＰ３は、表示部２１に「原稿をセットして、スタートボタンを押してください。」というような読取操作方法を表すメッセージを表示して、読取操作方法をユーザに知らせる。このとき、ＭＦＰ３は、Ｗｅｂブラウザ２７を介さずにこのメッセージを表示する。
【０１４９】
ユーザが原稿をセットして操作部２０内にあるスタートボタンを押すと、ＭＦＰ３は、ｔｉｃｋｅｔＵｒｉで指定されたパス（ＵＲＩ）にアクセスして、読取設定ファイルを取得する。ＭＦＰ３は、読取設定ファイルの内容に従って読取を実行する。そして、ＭＦＰ３は、読取処理によって生成した読取画像ファイルを、ｔｅｍｐｏｒａｒｙＵｐｌｏａｄＵｒｉで指定されたパス（ＵＲＩ）にアップロードし、その後、読取が終了したことをプロキシＡＰＰ１４３に通知する（Ｓ４０１７）。そして、ＭＦＰ３は、オンラインのスタンバイ状態となる（Ｓ４０２１）。Ｓ４０１８において、クラウドスキャンＡＰＰ１４８は、ｔｅｍｐｏｒａｒｙＵｐｌｏａｄＵｒｉで指定されたパス（ＵＲＩ）に一時的に格納されている読取画像ファイルを、ｕｐｌｏａｄＵｒｉで指定されたパス（ＵＲＩ）にアップロードする。Ｓ４０１９において、クラウドスキャンＡＰＰ１４８は、ジョブの削除の処理（図２１）を実行し、そのジョブに関する一連の処理を終了する（Ｓ４０２０）。
【０１５０】
Ｓ４０１８において、クラウドスキャンＡＰＰ１４８がアップロードを完了すると、読取ＡＰＰ１４７を介してその旨がモバイル端末１４のＷｅｂブラウザ９に通知される（この部分のフローに関してはこの図では省略）。そして、Ｗｅｂブラウザ９は、読取ＡＰＰ１４７にホーム画面７４２を要求する（Ｓ４０２２）。読取ＡＰＰ１４７は、要求に応じてモバイル端末１４にホーム画面７４２の情報を送信する（Ｓ４０２３）。モバイル端末１４は、Ｗｅｂブラウザ９にてホーム画面７４２を表示する（Ｓ４０２２）。そして、モバイル端末１４は、ユーザの入力操作待ち状態となる（Ｓ４０２４）。
【０１５１】
以上、読取ジョブにおいても、第１の実施形態における印刷ジョブと同様に本発明を適用することができる。
【０１５２】
＜第４の実施形態＞
第１の実施形態において、図６に示すようなＭＦＰ３のＷｅｂブラウザ２７を操作して、文書作成ＡＰＰ１４５で開いている文書を印刷する例を挙げた。この場合、ユーザがＭＦＰ３のＷｅｂブラウザ２７を操作して、文書作成ＡＰＰ１４５が１つの印刷ジョブを発行し、その印刷ジョブが最優先されてＭＦＰ３で印刷される仕組みを実現することが可能である。しかし、例えば、複数の文書を順に連続して印刷するような機能を文書作成ＡＰＰ１４５が備える場合を考える。この場合、第１の実施形態では図１８（Ａ）の最優先ジョブキューの容量が１つであるため、文書作成ＡＰＰ１４５から連続して発行された印刷ジョブが発行された順で正しく印刷されない、という問題がある。第４の実施形態では、この問題を解決する例を説明する。尚、第４の実施形態の説明において、第１〜第３の実施形態で既に説明した内容に関しては、その説明を省略する。
【０１５３】
（ジョブの登録処理）
図１２は、プロキシＡＰＰ１４３におけるジョブの登録処理を表すフローチャートの一例を示す図である。本処理は、図６のＳ３６１５、図７のＳ３７０９、図８のＳ３８１５、図９のＳ３９１５、図１０のＳ４００９の処理にて図１１の代わりに実行される。また、本実施形態では、ジョブキューの構成は、図１８（Ｄ）に示す構成を用いるものとする。
【０１５４】
ジョブの登録処理が要求されると、図１２において、プロキシＡＰＰ１４３はジョブの登録処理を開始する（Ｓ４２０１）。Ｓ４２０２にて、プロキシＡＰＰ１４３は、ジョブの要求元であるホストの種類を確認する。ホストがＭＦＰ（ｈｏｓｔ＝ｍｆｐ）であると判定した場合（Ｓ４２０２にてＹＥＳ）Ｓ４２０３へ進み、それ以外（モバイル端末、ＰＣ）と判定した場合（Ｓ４２０２にてＮＯ）Ｓ４２０９へ進む。
【０１５５】
Ｓ４２０３において、プロキシＡＰＰ１４３は、図１８（Ｄ）に示すジョブキューの最優先ジョブキュー内のジョブの有無を確認する。ジョブキュー内の最優先ジョブキューにジョブが有ると判定した場合（Ｓ４２０４にてＹＥＳ）Ｓ４２０５へ進み、ジョブが無いと判定した場合（Ｓ４２０４にてＮＯ）Ｓ４２０８へ進む。Ｓ４２０５において、プロキシＡＰＰ１４３は、最優先ジョブキュー内の既存の全てのジョブに対して、図１９（Ａ）に示すジョブ情報を参照し、その中からそれぞれのジョブの発行年月日・時刻を取得する。
【０１５６】
Ｓ４２０６において、プロキシＡＰＰ１４３は、登録対象となるジョブの発行年月日・時刻を取得する。Ｓ４２０７において、プロキシＡＰＰ１４３は、最優先ジョブキューに、発行年月日・時刻順となるようにジョブを登録し、図１９（Ａ）に示すジョブ情報を格納するためのテーブルに各情報を保存する。Ｓ４２０８において、プロキシＡＰＰ１４３は、最優先ジョブキューの先頭にジョブを登録する。
【０１５７】
Ｓ４２０９において、プロキシＡＰＰ１４３は、ジョブの種類を確認する。ジョブの種類が印刷ジョブであると判定した場合（Ｓ４２０９にてＹＥＳ）Ｓ４２１０へ進み、それ以外のジョブ（読取ジョブ）であると判定した場合（Ｓ４２０９にてＮＯ）Ｓ４２１１へ進む。Ｓ４２１０において、プロキシＡＰＰ１４３は、図１８（Ｄ）に示すジョブキュー内の一般プリントキューの最後尾にジョブを登録し、図１９に示すジョブ情報を格納するテーブルに各情報を保存する。Ｓ４２１１において、プロキシＡＰＰ１４３は、図１８（Ｄ）に示すジョブキュー内の一般スキャンキューにジョブを登録し、図１９に示すジョブ情報を格納するテーブルに各情報を保存する。ジョブの登録の後、Ｓ４２１２において、プロキシＡＰＰ１４３は、ジョブＩＤ（印刷ジョブＩＤまたは読取ジョブＩＤ）を生成する。Ｓ４２１３において、プロキシＡＰＰ１４３は、ジョブＩＤ（印刷ジョブＩＤまたは読取ジョブＩＤ）をこの処理の呼び出し元に返し、本処理フローを終了する（Ｓ４２１３）。
【０１５８】
以上により、第１の実施形態の効果に加え、ＭＦＰにおいて連続して発行された複数のジョブに対して、正しい順序で処理を行うことができる。
【０１５９】
＜第５の実施形態＞
第１〜第３の実施形態では、文書作成ＡＰＰ１４５または読取ＡＰＰ１４７が、ジョブを発行した旨を表す情報をＭＦＰ３に通知する例を挙げた。別の実施形態として、文書作成ＡＰＰ１４５（または読取ＡＰＰ１４７）がジョブを発行した旨を表す情報をＭＦＰ３に通知する代わりに、プロキシＡＰＰ１４３がＭＦＰ３にジョブ通知を発行するようにしてもよい。この時、プロキシＡＰＰ１４３は、ジョブ通知の中に、ジョブＩＤ（印刷ジョブＩＤもしくは読取ジョブＩＤ）を含めて、ＭＦＰ３に通知する。これにより、ＭＦＰ３が、図６のＳ３６１８や図８のＳ３８１８に示すような画像変換に要する想定時間の経過を待つ必要がなくなる。
【０１６０】
本実施形態では、プロキシＡＰＰ１４３のジョブの登録処理（図６のＳ３６１５、図８のＳ３８１５、図９のＳ３９１５）を実行した後の処理が上記の実施形態と異なる。具体的には、プロキシＡＰＰ１４３は、登録処理の後に、対象となるジョブがＭＦＰ３のＷｅｂブラウザ２７から発行されたジョブ、すなわち、ホストがＭＦＰ（ｈｏｓｔ＝ｍｆｐ）であるジョブであることを表す情報を付加し、ＭＦＰ３に対してジョブ通知を発行する。その結果、ＭＦＰ３は、画像変換処理の待ちを生じさせることなく、ジョブ通知を受信する。そして、ＭＦＰ３は、第１の実施形態にて述べた図１６（Ａ）の処理の代わりに、後述する図１６（Ｂ）に示す処理を実行することで、印刷処理や読取処理を効率良く行うことができる。これにより、ＭＦＰ３は、図６のＳ３６１８（もしくは、図８のＳ３８１８）の処理を実行することなく、Ｓ３６１７〜Ｓ３６１９（もしくは、Ｓ３８１７〜Ｓ３８１９、Ｓ３９１７〜Ｓ３９１８）間でジョブ通知を受信することとなる。
【０１６１】
図１６（Ｂ）は、ＭＦＰ３におけるジョブ通知受信処理を表すフローチャートである。尚、ジョブ通知有り情報は、第１の実施形態にて述べた図１６（Ａ）と同様である。また、図１６（Ｂ）において、図１６（Ａ）で説明したステップと同一処理を行うステップに関しては、同一ステップ番号を記載しており、その説明を省略する場合がある。
【０１６２】
ＭＦＰ３がプロキシＡＰＰ１４３から発行されたジョブ通知を受信すると、図１６（Ｂ）において、ＭＦＰ３はジョブ通知受信処理を開始する（Ｓ４６０１）。ＭＦＰ３は、Ｗｅｂブラウザ２７でアプリケーションを実行中か否かを確認する（Ｓ４６０２）。Ｗｅｂブラウザ２７でアプリケーションを実行中であると判定した場合（Ｓ４６０３にてＹＥＳ）Ｓ４６０９へ進み、それ以外の場合（Ｓ４６０３にてＮＯ）Ｓ４６０５へ進む。尚、Ｓ４６０３において、ＭＦＰ３がＷｅｂブラウザ２７を起動しているがアプリケーションを何も実行していないような場合も、Ｗｅｂブラウザ２７でアプリケーション実行中であると判定するものとする。
【０１６３】
Ｓ４６０９において、ＭＦＰ３は、ジョブ通知に付加されている情報をもとに、そのジョブがデバイスから発行されたジョブ、すなわち、ホストがＭＦＰ（ｈｏｓｔ＝ｍｆｐ）であるジョブか否かを確認する。デバイスから発行されたジョブであると判定した場合（Ｓ４６１０にてＮＯ）Ｓ４６０４へ進み、それ以外と判定した場合（Ｓ４６１０にてＹＥＳ）Ｓ４６０５へ進む。
【０１６４】
Ｓ４６０６において、ＭＦＰ３は、印刷ジョブ情報または読取ジョブ情報を受信し、Ｓ４６０７へ進む。以降の処理については、説明を省略する。これにより、第１の実施形態の効果に加え、処理の待ち時間を削減することができる。
【０１６５】
＜第６の実施形態＞
本発明に係る更に別の実施形態を第６の実施形態として示す。ユーザが、ＭＦＰ３のＷｅｂブラウザ２７から文書作成ＡＰＰ１４５または読取ＡＰＰ１４７を起動して印刷要求操作または読取要求操作を行い、文書作成ＡＰＰ１４５または読取ＡＰＰ１４７がジョブを発行するケースを考える。このようなケースの場合、ＭＦＰ３が発行されたジョブを確実に取得して処理を実行することが期待される。
【０１６６】
本実施形態では、例えば第１の実施形態に示した図６のＳ３６１９において、ＭＦＰ３がプロキシＡＰＰ１４３にジョブ取得要求を発行する際に、このジョブ取得要求の中にデバイスから発行されたジョブ、すなわちホストがＭＦＰ（ｈｏｓｔ＝ｍｆｐ）であるジョブのジョブ情報だけを要求する属性を付加する。プロキシＡＰＰ１４３は、このジョブ情報を受信すると、図１４のＳ４４０１〜Ｓ４４０４及びＳ４４１２〜Ｓ４４１４の処理だけを実行し、最優先ジョブキュー内のジョブ情報をＭＦＰ３に返信する。ここで、プロキシＡＰＰ１４３が最優先ジョブキュー内にジョブが無いと判定した場合（Ｓ４４０４にてＮＯ）、Ｓ４４１１とＳ４４１４の処理のみを実行する。これにより、ユーザがＭＦＰ３のＷｅｂブラウザ２７を操作して印刷要求操作または読取要求操作を行って発行されたジョブを、ＭＦＰ３で他からのジョブに割り込まれることなく確実に印刷することができ、ユーザの操作性を向上することができる。
【０１６７】
図６のＳ３６１７において、ＭＦＰ３は、取得したジョブＩＤを確認する。その結果、ＭＦＰ３は、取得したジョブＩＤが「ｐｒｎ」の付いたジョブＩＤであることから印刷ジョブであると判定する。ＭＦＰ３は、Ｓ３６１９において、プロキシＡＰＰ１４３にジョブ（印刷ジョブ）取得要求を発行する際に、上述したように印刷ジョブのジョブ情報だけを要求する属性を付加する。プロキシＡＰＰ１４３は、この属性情報が付加されたジョブ情報を受信すると、図１４のＳ４４０３において最優先ジョブキュー内のジョブの中から印刷ジョブの有無だけを確認する。そして、印刷ジョブがあると判定した場合（Ｓ４４０４にてＹＥＳ）、Ｓ４４１２〜Ｓ４４１４の処理を実行して印刷ジョブのジョブ情報をＭＦＰ３に返信する。それ以外の場合（Ｓ４４０４にてＮＯ）、ＭＦＰ３は、Ｓ４４１１とＳ４４１４の処理を実行する。これにより、文書作成ＡＰＰ１４５が印刷ジョブを発行した場合、ＭＦＰ３がその印刷ジョブを確実に受信して印刷処理を実行することができ、ユーザの操作性を向上することができる。
【０１６８】
読取ジョブについても同様である。この場合、ジョブＩＤには「ｓｃｎ」が付与されているものとする。したがって、読取ＡＰＰ１４７が読取ジョブを発行した場合にも、ＭＦＰ３がその読取ジョブを確実に受信して読取処理を実行することができ、ユーザの操作性を向上することができる。
【０１６９】
＜第７の実施形態＞
第１の実施形態では、Ｗｅｂブラウザ２７を利用した文書作成ＡＰＰ１４５のユーザ操作を、図６のＳ３６１２における操作後からＳ３６２４までの間、一時的に受け付けないようにして、ＭＦＰ３が印刷を実行する例を挙げた。このとき、ＭＦＰ３がＷｅｂブラウザ２７を終了することなく印刷を実行していたが、廉価版のＭＦＰの中には、ＣＰＵ１５やＲＡＭ１７等のＭＦＰのハードウェアリソースの制限により、Ｗｅｂブラウザを起動した状態で印刷を実行できないＭＦＰが存在するケースが考えられる。このようなケースに対応するための第７の実施形態を述べる。
【０１７０】
図２２は、ＭＦＰ３のＷｅｂブラウザ２７から文書作成ＡＰＰ１４５を実行して印刷を行う時の処理を表すフローチャートの一例を示す図である。図２２は、第１の実施形態にて述べた図６に対応する。図２２において、図６で既に説明した内容に関しては、同一ステップ番号を付加しており、その説明を省略する。また、図６のＳ３６０２〜Ｓ３６０６に相当する処理に関しては、図２２においては省略しており、その説明も省略する。
【０１７１】
図２２において、ユーザが、ＭＦＰ３のＷｅｂブラウザ２７を起動し文書作成ＡＰＰ１４５を実行すると、本処理フローが開始される（Ｓ５２０１）。ＭＦＰ３は、外部から入稿されるジョブを排他し、ジョブ通知の通信リンクを切断してジョブ通知を排他する（Ｓ５２０２）。ＭＦＰ３は、Ｗｅｂブラウザ２７を使用中である旨をプロキシＡＰＰ１４３に通知する（Ｓ５２０３）。プロキシＡＰＰ１４３は、ＭＦＰ３からＷｅｂブラウザ２７を使用中である旨の通知を受信すると、ジョブを処理する対象デバイスがＭＦＰ３の場合において通常モードからＭＦＰ専用モードに移行する（Ｓ５２０４）。
【０１７２】
この「ＭＦＰ専用モード」では、プロキシＡＰＰ１４３は、図１３のＳ４３０４またはＳ４３０７において、判定条件としてジョブの範囲をホストがＭＦＰ（ｈｏｓｔ＝ｍｆｐ）であるジョブに限定する条件を加えて判定する。従って、ＭＦＰ専用モードでは、プロキシＡＰＰ１４３は、図１３のＳ４３０４またはＳ４３０７において、ホストがＭＦＰ以外（ｈｏｓｔ＝ｐｈｏｎｅ）であるジョブがジョブキュー内に存在しても「偽」と判定する（Ｓ４３０４またはＳ４３０７にてＮＯ）。これに対し、ホストがＭＦＰ（ｈｏｓｔ＝ｍｆｐ）であるジョブがジョブキュー内に存在する場合だけ「真」と判定する（Ｓ４３０４またはＳ４３０７にてＹＥＳ）。また、ＭＦＰ専用モードでは、図１４において、ＭＦＰ３は、Ｓ４４０１〜Ｓ４４０４、Ｓ４４１２〜Ｓ４４１４だけの処理を実行し、Ｓ４４０５〜Ｓ４４１１の処理を実行しない。
【０１７３】
これにより、プロキシＡＰＰ１４３が、対象デバイス（ここではＭＦＰ３）がＭＦＰ専用モードの場合には、ユーザがＭＦＰ３のＷｅｂブラウザ２７を操作することで文書作成ＡＰＰ１４５や読取ＡＰＰ１４７等から発行されたジョブだけが処理される。
【０１７４】
Ｓ５２０４においてプロキシＡＰＰ１４３がＭＦＰ専用モードに移行した後、Ｓ３６０８〜Ｓ３６１６の処理が実行される。この中で、文書作成ＡＰＰ１４５は、印刷ジョブを発行した旨を表す情報をＭＦＰ３に通知する。この時、文書作成ＡＰＰ１４５は、通知する情報の中に、クラウド印刷ＡＰＰ１４６から返されたジョブＩＤ（印刷ジョブＩＤ）を含めて、ＭＦＰ３に通知する。この通知は、例えば、Ｗｅｂページの情報に埋め込まれているＪａｖａＳｃｒｉｐｔ（登録商標）を利用して行うことができる。
【０１７５】
印刷ジョブが発行された時に、Ｗｅｂブラウザ２７は、ＪａｖａＳｃｒｉｐｔ（登録商標）を介して、ＭＦＰ３がＷｅｂブラウザ２７に対してエクスポートしているＰｒｉｎｔ関数を実行する。ＭＦＰ３は、Ｐｒｉｎｔ関数がコールされることで、プリントキューに印刷ジョブが登録されたことを表す情報を受信する。この時、受信した情報の中に含まれるジョブＩＤ（印刷ジョブＩＤ）が、Ｐｒｉｎｔ関数の引数としてＭＦＰ３に渡され、ＭＦＰ３は、プロキシＡＰＰ１４３が生成したジョブＩＤ（印刷ジョブＩＤ）も取得する（Ｓ５２０５）。
【０１７６】
ＭＦＰ３は、Ｗｅｂブラウザ２７を次回起動する時に表示するページ（文書作成ＡＰＰ１４５のホーム画面）のＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）をＲＡＭ１７に保存し、Ｗｅｂブラウザ２７を終了する（Ｓ５２０５）。更にＳ５２０５において、ＭＦＰ３は、印刷ジョブの発行済みである旨の情報を受信すると、表示部２１に「印刷準備中」または「印刷中」というような印刷関連処理を実行中である旨を表すメッセージを表示する。これにより、ＭＦＰ３は、印刷モード（印刷処理中）に移行したことをユーザに知らせる。この時、ＭＦＰ３は、Ｗｅｂブラウザ２７を介さずにこのメッセージを表示する。その後、Ｓ３６１８〜Ｓ３６２３の処理が実行され、Ｓ５２０６へ進む。
【０１７７】
Ｓ５２０６において、ＭＦＰ３は、Ｗｅｂブラウザ２７を起動する。そして、Ｗｅｂブラウザ２７は、Ｓ５２０５でＲＡＭ１７に保存されたＵＲＬで指定されるページ（文書作成ＡＰＰ１４５のホーム画面）にアクセスし、文書作成ＡＰＰ１４５にホーム画面を要求する。文書作成ＡＰＰ１４５は、要求に従って、ＭＦＰ３にホーム画面の情報を送信する（Ｓ５２０７）。ＭＦＰ３は、Ｗｅｂブラウザ２７にてホーム画面を表示する（Ｓ５２０６）。
【０１７８】
ユーザがＭＦＰ３の操作部２０のホームボタン（不図示）を押すと、ＭＦＰ３は、Ｗｅｂブラウザ２７を終了し、表示部２１にＭＦＰ３のホーム画面を表示する（Ｓ５２０８）。ＭＦＰ３は、Ｗｅｂブラウザ２７を終了した旨をプロキシＡＰＰ１４３に通知する（Ｓ５２０９）。プロキシＡＰＰ１４３は、ＭＦＰ３からＷｅｂブラウザを終了した旨の通知を受信すると、ジョブを処理する対象デバイスがＭＦＰ３の場合においてＭＦＰ専用モードから通常モードに移行する（Ｓ５２１０）。そして、ＭＦＰ３は、ユーザの入力操作待ち状態となる（Ｓ５２１１）。
【０１７９】
（排他制御の解除処理）
図２３（Ｂ）は、本実施形態に係るＭＦＰ３における排他制御の解除処理を表すフローチャートである。本処理は、第１の実施形態にて述べた図２３（Ａ）の処理に代えて実行される処理である。図２２のＳ５２０８において、ＭＦＰ３は、Ｗｅｂブラウザ２７を終了し、表示部２１にＭＦＰのホーム画面を表示した後、本処理フローを開始する（Ｓ５３５１）。ＭＦＰ３は、図２２のＳ５２０２にて切断されていたジョブ通知の通信リンクを確立してジョブ通知の排他を解除する（Ｓ５３５２）。そして、ＭＦＰ３は、外部から入稿されるジョブの排他を解除する（Ｓ５３５３）。その後、本処理フローを終了する（Ｓ５３５４）。
【０１８０】
また、タイムアウトによって、ＭＦＰ３が排他制御の解除処理を実行するようにしてもよい。例えば文書作成ＡＰＰ１４５は、ＭＦＰ３のＷｅｂブラウザ２７からのＨＴＴＰリクエストの間隔をモニタする。そして、ある一定時間（例えば５分）、Ｗｅｂブラウザ２７からのＨＴＴＰリクエストを受信しなかった場合、文書作成ＡＰＰ１４５は、Ｗｅｂページの情報に埋め込まれているＪａｖａＳｃｒｉｐｔ（登録商標）を介して、ＭＦＰ３にタイムアウトを通知する。具体的には、Ｗｅｂブラウザ２７は、ＪａｖａＳｃｒｉｐｔ（登録商標）を介して、ＭＦＰ３がＷｅｂブラウザ２７に対してエクスポートしているＴｉｍｅｏｕｔ関数を実行する。ＭＦＰ３は、Ｔｉｍｅｏｕｔ関数がコールされた時、図２３（Ｂ）に示す排他制御の解除処理を実行する。
【０１８１】
さらに、図２２に対し、外部から入稿されるジョブを排他してジョブ通知の受付だけを許可するモードに移行する構成（図６のＳ３６０７）と、第５の実施形態とを組合せてもよい。これにより、図１３のＳ４３０９に示すように、プロキシＡＰＰ１４３がＭＦＰ３にジョブ通知を発行する構成とすることができる。この時、プロキシＡＰＰ１４３は、ホストがＭＦＰ（ｈｏｓｔ＝ｍｆｐ）であるジョブがジョブキュー内に存在する場合だけ、ＭＦＰ３にジョブ通知を発行する。その結果、ＭＦＰ３が、ホストがＭＦＰ（ｈｏｓｔ＝ｍｆｐ）であるジョブだけを実行するとともに、Ｓ３６１８に示すような画像変換に要する想定時間の経過を待つ必要がなくなるので、ユーザの操作性を向上することができる。尚、この場合、図２２のＳ５２０８において、ＭＦＰ３は、Ｗｅｂブラウザ２７を終了し、表示部２１にＭＦＰのホーム画面を表示した後、図２３（Ａ）に示す排他制御の解除処理を実行することとなる。
【０１８２】
＜第８の実施形態＞
本発明に係る更に別の実施形態について説明する。例えば、ＭＦＰが操作部２０に複雑な操作を行うためのボタンを備えず、表示部２１も備えないような廉価版のＭＦＰの場合、モバイル端末を操作部２０及び表示部２１の代わりとして利用するケースが考えられる。このようなケースの例として、次の２通りが考えられる。
ケース１：モバイル端末とＭＦＰとがＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等により接続されているケース
ケース２：モバイル端末とＭＦＰとが無線ネットワークで接続されているケース
【０１８３】
ケース１の場合、ＭＦＰは、モバイル端末を介してクラウド印刷サービスやクラウドスキャンサービスに登録される。この場合、モバイル端末のＷｅｂブラウザが、文書作成ＡＰＰ１４５に印刷要求を発行する際または読取ＡＰＰ１４７に読取要求を発行する際は、図６、図８、図９のＭＦＰ３（Ｗｅｂブラウザ２７）と同様な処理を実行する。
【０１８４】
ケース２の場合、モバイル端末のＷｅｂブラウザから文書作成ＡＰＰ１４５または読取ＡＰＰ１４７が開かれた時に、各ＡＰＰは、モバイル端末が操作されている場所が、ＭＦＰと同じ場所からか外部からかを判定する。この判定方法としては、例えば、モバイル端末が接続されているルーターのグローバルＩＰアドレスまたはＭＡＣアドレスと、ＭＦＰが接続されているルーターのグローバルＩＰアドレスまたはＭＡＣアドレスを取得する。そして、両者のグローバルＩＰアドレスが一致している場合にケース２の構成であると判定できる。別の判定方法としては、両者のＭＡＣアドレスが一致していることで同じ場所であると判定する。同じ場所から操作されていると判定した場合、モバイル端末のＷｅｂブラウザが文書作成ＡＰＰ１４５に印刷要求を発行する際または読取ＡＰＰ１４７に読取要求を発行する際に、図６、図８、図９のＭＦＰ３（Ｗｅｂブラウザ２７）と同様な処理を実行する。
【０１８５】
このように、ＭＦＰが操作部に複雑な操作を行うためのボタンや表示部２１を備えないようなＭＦＰの場合で、モバイル端末を操作部及び表示部の代わりとして利用するケースにおいても、本願発明は適用可能である。その結果、ＭＦＰ３のＷｅｂブラウザ２７を操作する時と同様に、モバイル端末のＷｅｂブラウザから発行された印刷要求や読取要求を最優先して処理することができ、ユーザの操作性に優れる。
【０１８６】
＜第９の実施形態＞
上述した実施形態では、情報処理装置としてＰＣを想定した。しかしながら、この例に限られるものではなく、例えばＤＶＤプレーヤー、ゲーム、セットトップボックス、インターネット家電等、同様な使用方法が可能な任意の情報処理装置（端末）に対して適用することができる。また、上述した実施形態では、周辺装置としてＭＦＰを例示した。しかしながら、周辺装置として他に、複写機、ファクシミリ、スキャナ、デジタルカメラ、及びこれらの複合機能を備える装置等の何れかであってもよい。
【０１８７】
また、上述した実施形態では、ＯＳに例としてＷｉｎｄｏｗｓ（登録商標）  ＯＳを例に挙げたが、これに限られるものではなく、任意のＯＳを使用することができる。また、上述した実施形態では、ネットワークの構成例としてＥｔｈｅｒｎｅｔ（登録商標）を用いたが、この例に限られるものではなく、例えば、無線ＬＡＮ、ＩＥＥＥ１３９４、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＵＳＢ等の任意のインタフェースを用いてもよい。また、各種のアプリケーション（ファームウェア）における機能、上述したフローチャートに係る処理の一部、又は全部を専用のハードウェアを用いて構成してもよい。
【０１８８】
上述した実施形態によれば、制御システムにクラウドを利用した場合においても、システムの構築やアプリケーションの実装が容易で、開発や運用コストを削減できる。また、ＭＦＰ３のような性能の低い廉価版のプリンタや複合機のファームウェアの実装にも支障をきたすことなく、各処理に時間を要することもなくなるため、ユーザの操作性を向上することができる。
【０１８９】
また、文書作成ＡＰＰ１４５のような文書を印刷するアプリケーションを例に挙げたが、これに限るものではない。例えば、写真を印刷するアプリケーション、ファクシミリを送信または受信するアプリケーション、その他の周辺装置を利用または制御するアプリケーションなどに適用してもよい。
【０１９０】
また、図６〜図１７、図２１〜図２３のフローチャートの用いて主要なケースにおける処理の詳細を説明した。しかし、これらのケースに限るものではなく、例えば、図中の各処理ステップを組合せて得られる実施形態（ケース）や、一般的な制御システムと本発明を組合せて得られる制御システムも、本発明の適用範囲である。
【０１９１】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014153891.tif 000003
【図２】
2014153891.tif 000004
【図３】
2014153891.tif 000005
【図４】
2014153891.tif 000006
【図５】
2014153891.tif 000007
【図６】
2014153891.tif 000008
【図７】
2014153891.tif 000009
【図８】
2014153891.tif 000010
【図９】
2014153891.tif 000011
【図１０】
2014153891.tif 000012
【図１１】
2014153891.tif 000013
【図１２】
2014153891.tif 000014
【図１３】
2014153891.tif 000015
【図１４】
2014153891.tif 000016
【図１５】
2014153891.tif 000017
【図１６】
2014153891.tif 000018
【図１７】
2014153891.tif 000019
【図１８】
2014153891.tif 000020
【図１９】
2014153891.tif 000021
【図２０】
2014153891.tif 000022
【図２１】
2014153891.tif 000023
【図２２】
2014153891.tif 000024
【図２３】
2014153891.tif 000025