JP6114569B2 - システムおよびその制御方法、ジョブ管理サーバおよびその制御方法、ジョブ処理装置およびその制御方法、及びプログラム - Google Patents

システムおよびその制御方法、ジョブ管理サーバおよびその制御方法、ジョブ処理装置およびその制御方法、及びプログラム Download PDF

Info

Publication number
JP6114569B2
JP6114569B2 JP2013022645A JP2013022645A JP6114569B2 JP 6114569 B2 JP6114569 B2 JP 6114569B2 JP 2013022645 A JP2013022645 A JP 2013022645A JP 2013022645 A JP2013022645 A JP 2013022645A JP 6114569 B2 JP6114569 B2 JP 6114569B2
Authority
JP
Japan
Prior art keywords
job
mfp
queue
app
print
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013022645A
Other languages
English (en)
Other versions
JP2014153891A5 (ja
JP2014153891A (ja
Inventor
安部 孝一
孝一 安部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to JP2013022645A priority Critical patent/JP6114569B2/ja
Application filed by Canon Inc filed Critical Canon Inc
Priority to US14/157,076 priority patent/US10306082B2/en
Publication of JP2014153891A publication Critical patent/JP2014153891A/ja
Publication of JP2014153891A5 publication Critical patent/JP2014153891A5/ja
Application granted granted Critical
Publication of JP6114569B2 publication Critical patent/JP6114569B2/ja
Priority to US16/391,644 priority patent/US10757273B2/en
Priority to US16/938,674 priority patent/US11196888B2/en
Priority to US17/519,740 priority patent/US11523021B2/en
Priority to US17/978,449 priority patent/US11683432B2/en
Priority to US18/310,017 priority patent/US11838471B2/en
Priority to US18/497,187 priority patent/US20240064251A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00954Scheduling operations or managing resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1803Receiving particular commands
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00278Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a printing apparatus, e.g. a laser beam printer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00915Assigning priority to, or interrupting, a particular operation
    • H04N1/00923Variably assigning priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、システムおよびその制御方法、ジョブ管理サーバおよびその制御方法、ジョブ処理装置およびその制御方法、及びプログラムに関する。
近年、USB、Ethernet(登録商標)、無線LAN等の様々なインタフェースを利用して、情報処理装置に周辺装置を接続した周辺装置制御システムが、自宅やオフィス等、様々な場面で有効に活用されている。周辺装置の例としては、プリンタ、複写機、ファクシミリ、スキャナ、デジタルカメラ、これらの複合機等が挙げられる。
このような周辺装置のうちのプリンタや複合機に対して、例えばGoogle社からGoogle Cloud Print(登録商標、以下、GCPと略す。)と呼ばれるインターネットを利用したクラウド印刷サービスが提供されている。クラウド印刷サービスを利用すると、ユーザは、パーソナルコンピュータ(以下、PCと略す。)やモバイル端末内にインストールされているWebブラウザを使って文書作成用のアプリケーション(Webアプリケーション)等を起動(利用)し、文書をプリンタや複合機で印刷することが可能である。
一方、高機能な複合機等の中には、Webブラウザを搭載しているものがある。あるユーザが複合機のWebブラウザを操作中に、他のユーザがPCやモバイル端末等からその複合機に発行した印刷ジョブを、その複合機がバックグラウンドで並行処理しながら同時に印刷を実行することが可能である。同様に、あるユーザが複合機のWebブラウザを操作中に、他のユーザがPCやモバイル端末等からその複合機を使って原稿のスキャンを行おうとした場合、その複合機がWebブラウザに係る処理をしながら同時に原稿をスキャンすることも可能である。ユーザは、このような複合機に搭載されているWebブラウザを使って、PCやモバイル端末を利用することなく、文書作成用のWebアプリケーション等を起動(利用)し、インターネットを介して文書をその複合機で印刷することができる。また、ユーザは、複合機に搭載されているWebブラウザを操作しながらその複合機で原稿をスキャンして、得られたスキャン画像をインターネットを介して画像保管用のWebサービス等にアップロードすることもできる。
スキャンのケースにおいて、特にジョブの排他制御に関するその他の技術として特許文献1がある。特許文献1では、スキャンに関する要求を受け付ける前に、配信先の端末装置以外からのスキャンに関する要求を受け付けない排他制御を開始し、スキャンしたスキャンデータを配信先の端末装置に配信した後で排他制御を終了する。
特開2009−267701号公報
上述したような高機能な複合機を利用した制御システムを、廉価版(すなわち、低機能)の複合機を利用した制御システムに下方展開することを考える。例えば、廉価版の複合機の中にも、Webブラウザを搭載しているものがある。このような廉価版の複合機は、低速CPU、小容量メモリ(RAM)等で構成され、十分な記憶領域を備えていない場合がある。そのため、ハードウェアリソースの不足により、あるユーザが複合機のWebブラウザを操作中には、他のユーザがPCやモバイル端末等からその複合機に発行した印刷ジョブに対して同時に印刷を実行することができない。また、あるユーザが複合機のWebブラウザを操作中に、他のユーザがPCやモバイル端末等からその複合機を使って原稿のスキャンを行おうとした場合、その複合機が原稿をスキャンすることもできない。
Webブラウザを操作中に、バックグラウンドで並行処理しながら同時に印刷を実行することができない廉価版の複合機を使用して印刷する場合を考える。あるユーザが廉価版の複合機のWebブラウザを起動し、文書作成用のアプリケーション等を操作中は、ユーザがその複合機を占有している状態となる。ここで、ユーザが文書作成用のアプリケーション等を操作し、複合機で印刷を行おうとした場合のユーザの操作性を考慮する。この場合、そのユーザが印刷開始操作を行った直後に、他のPC等から発行された外部からの印刷ジョブに割り込まれることなく、印刷開始操作で発行された印刷ジョブが直ちにその複合機で実行されることが望まれる。
例えば、あるユーザ(ユーザA)が、複合機のWebブラウザを起動して文書作成用のアプリケーションを操作中に、他のユーザ(ユーザB)が、PCのWebブラウザを起動して文書作成用のアプリケーションを操作し100ページの文書の印刷を行おうとした場合を考える。この場合、文書作成用のアプリケーションが複合機に対してユーザBの印刷ジョブを発行するが、複合機では、ユーザAがWebブラウザを使用中であるため、この時点ではユーザBの印刷ジョブに対する印刷は実行されない。その後、ユーザAが文書作成用のアプリケーションを操作して3ページの文書の印刷を行おうとした場合、文書作成用のアプリケーションが複合機に対してAさんの印刷ジョブを発行する。そして、ユーザAがWebブラウザを閉じた後、複合機が発行された印刷ジョブに対する印刷を開始する。しかしながら、この時に先に発行されたユーザBの印刷ジョブが複合機で処理されて印刷が実行されてしまうと、ユーザAは、ユーザBの100ページの印刷が終了する迄の間ずっと待ち続ける必要がある。そして、ユーザBの100ページの印刷が終了する迄、自分の3ページの文書の印刷物を取得することができない。このように、廉価版の複合機のWebブラウザを操作しているユーザAの印刷ジョブが、ユーザBがPCのWebブラウザを操作して発行した印刷ジョブに割り込まれてしまうと、操作性が著しく低下してしまう、という問題が生じる。これはスキャンジョブにおいても同様である。
さらに、ユーザが複合機のWebブラウザを操作して、各Webアプリケーションから発行されたジョブに関して、サーバが、そのジョブ通知を処理対象の複合機に送信した場合を考える。この場合において、必要以上のジョブ通知が送信されてしまうと、無駄なデータ通信が発生してサーバの負荷が増大したり、通信経路のデータ量が増大したり、インターネットを流れるデータ通信量に応じて通信費のコストがかかる。その結果、システムの構築費やサービスの運用費が増大する、という問題も生じる。
本発明はこのような問題点に鑑み、例えば、廉価版の複合機において、PC等から発行されたジョブの割り込みを防止するとともに、ユーザが複合機のWebブラウザを操作してアプリケーションから発行されたジョブを優先的に実行する。
上記課題を解決するために本願発明は以下の構成を有する。すなわち、
ネットワークを介して互いに接続されたWebアプリケーションサーバと、ジョブ管理サーバと、ジョブ処理装置とを含むシステムであって、
前記ジョブ処理装置は、ユーザが前記Webアプリケーションサーバにより提供されるWebアプリケーションを利用するための利用手段を備え、
前記Webアプリケーションサーバは、
前記利用手段を介して前記Webアプリケーションが利用され、ジョブの発行の要求がなされた場合、所定の情報を付加してジョブを発行する発行手段と、
前記発行したジョブを前記ジョブ管理サーバに送信する送信手段と
を有し、
前記ジョブ管理サーバは、
受信したジョブに前記所定の情報が付加されている場合、第1のジョブキューに当該ジョブを登録し、前記ジョブに前記所定の情報が付加されていない場合、前記第1のジョブキューよりも優先順位が低い第2のジョブキューに当該ジョブを登録する登録手段と、
ジョブキューに登録されたジョブを前記ジョブ処理装置へ送信する手段と、
を有し、
前記ジョブ処理装置は、
前記ジョブキューに登録されたジョブを処理する処理手段を有し、
前記処理手段は、前記第2のジョブキューに登録されたジョブより、前記第1のジョブキューに登録されたジョブを優先的に処理する。
本発明によれば、低機能の複合機を含むシステムにおいて、複合機の負荷を低下させ、かつ、ユーザの複合機の操作性を向上させることができる。
システムの構成の一例を示す図。 PC、モバイル端末、及びMFPのハードウェアの構成の一例を示す図。 ソフトウェアの構成の一例を示す図。 文書作成APPの画面をWebブラウザで表示した一例を示す図。 印刷画面の一例を示す図。 第1の実施形態に係るMFPのWebブラウザから文書作成APPを実行して印刷を行う時の処理を表すフローチャート。 第1の実施形態に係るモバイル端末のWebブラウザから文書作成APPを実行して印刷を行う時の処理を表すフローチャート。 第2の実施形態に係るMFPのWebブラウザから文書作成APPを実行して印刷を行う時の処理を表すフローチャート。 第3の実施形態に係るMFPのWebブラウザから読取APPを実行して原稿の読取を行う時の処理を表すフローチャート。 第3の実施形態に係るモバイル端末のWebブラウザから読取APPを実行して原稿の読取を行う時の処理を表すフローチャート。 第1の実施形態に係るプロキシAPPにおけるジョブの登録処理を表すフローチャート。 第4の実施形態に係るプロキシAPPにおけるジョブの登録処理を表すフローチャート。 プロキシAPPにおけるジョブ通知処理を表すフローチャート。 第1の実施形態に係るプロキシAPPにおけるジョブ情報の返信処理を表すフローチャート。 第2の実施形態に係るプロキシAPPにおけるジョブの登録処理とジョブ情報の返信処理を表すフローチャート。 MFPにおけるジョブ通知受信処理を表すフローチャート。 MFPにおけるジョブの確認処理を表すフローチャート。 プロキシAPP内のジョブキューの構成例を表す図。 ジョブキューに登録されるジョブのジョブ情報を格納するためのテーブルを表す図。 読取APPが提供する画面とアップロード先の選択画面の一例を示す図。 プロキシAPPにおける印刷ジョブの削除処理とクラウドスキャンAPPにおける読取ジョブの削除処理を表すフローチャート。 第7の実施形態に係るMFPのWebブラウザから文書作成APPを実行して印刷を行う時の処理を表すフローチャート。 MFPにおける排他制御の解除処理を表すフローチャート。
以下、本発明の実施形態について図面に基づいて説明する。なお、実施形態は、本発明を限定するものではなく、また、実施形態で説明されている全ての構成が本発明の課題を解決するための手段に必須であるとは限らない。
以下において、WebサービスAPI(Application Program Interface)にSSL(Secure Socket Layer)通信で暗号化されたHTTPS(Hyper Text Transfer Protocol over Secure Socket Layer)のPOSTメソッド(通信方式の一例)を利用している場合がある。POSTメソッドに関しては一般に公開されている情報であるため、ここではその詳細な説明を省略する。また、以下において、WebサービスAPIにHTTPのGETメソッド(通信方式の一例)を利用している場合がある。GETメソッドに関しては一般に公開されている情報であるため、ここではその詳細な説明を省略する。また、以下において、WebサービスAPIにSSL通信で暗号化されたHTTPSのGETメソッド(通信方式の一例)を利用している場合がある。GETメソッドに関しては一般に公開されている情報であるため、ここではその詳細な説明を省略する。
また、HTTP(Hyper Text Transfer Protocol)は、公知の暗号化されていない通信プロトコルであるため、ここではその詳細な説明を省略する。また、HTTPSは、公知の暗号化された通信プロトコルであるので、ここではその詳細な説明を省略する。また、SSLは、インターネット上でデータを暗号化して送受信する公知の方法であるので、ここではその詳細な説明を省略する。また、クラウド印刷サービスの一例として挙げたGCPに関する説明は、サイト(URL:http://code.google.com/apis/cloudprint/docs/overview.html)で公開されているので、ここではその詳細な説明を省略する。また、USB(Universal Serial Bus)は、双方向通信が可能な公知のインタフェースであり、その詳細説明は省略する。
<第1の実施形態>
[システム構成]
図1は、情報処理装置、及び周辺装置(ジョブ処理装置)を含んで構成されるシステムの構成の一例を示す図である。PC1、PC2、PC5、及びPC7の各々は、情報処理装置(コンピュータ)の一例であり、例えば、一般的なPCである。PC1、PC2、PC5、及びPC7の各々は、図2(A)に示すハードウェアを含む。
PC1には、Operating System(以下、OSと略す。)としてGoogle社製のChrome(登録商標) OSと同等のOSがインストールされている。また、PC2、及びPC5には、マイクロソフト社製のWindows(登録商標)(登録商標)のServer用のOSがインストールされている。PC7には、Linux(登録商標)と同等のOSがインストールされている。PC1、PC2、PC5、及びPC7は、それぞれEthernet(登録商標)等のインタフェース(I/F)で構成されるネットワーク4、8、10、6に接続され、インターネット12にも接続されている。ここでのネットワークとのインタフェースは、有線/無線のいずれであっても構わない。
MFP(Multi−Function Peripheral)3、103は、カラーインクジェットプリンタ、カラーファクシミリ、カラースキャナ、フラッシュメモリ用の外部ストレージ等を含んで構成され、周辺装置の一例である。MFP3、103は、ABC社製のKmmnというモデル名のMFPであるものとして説明する。なお、周辺装置としては、プリンタ、複写機、ファクシミリ、スキャナ、デジタルカメラ、及びこれらの複合機能を備える装置等であってもよい。MFP3、及びMFP103の各々は、図2(B)に示すハードウェアを含んで構成される。また、MFP3は、Ethernet(登録商標)で構成されるネットワーク11に接続され、インターネット12にも接続されている。MFP103は、Ethernet(登録商標)で構成されるネットワーク104に接続され、インターネット12にも接続されている。
ルーター13は、例えば、Wi−Fi(登録商標)の無線LANを備えるブロードバンドルーター(Wi−Fi BB Router)であり、インターネット12に接続されている。モバイル端末14は、携帯電話、携帯情報端末などが該当する。モバイル端末14は、図2(A)に示すハードウェアを含む。モバイル端末14は、ルーター13と接続され、ルーター13を介してインターネット12に接続される。モバイル端末14には、OSとしてGoogle社製のAndroid(登録商標) OSと同等のOSがインストールされている。以下において、モバイル端末14は、携帯電話であるものとして説明する。
PC1、PC2、PC5、PC7、モバイル端末14、MFP3、及びMFP103は、インターネット12を介して互いに双方向通信が可能である。Webブラウザ25は、PC1にインストールされ、Webブラウザ9は、モバイル端末14にインストールされている。Webブラウザ27、28は、MFP3、103にそれぞれインストールされている。Webブラウザ27、28は同一の種類であるが、Webブラウザ9、25、27は、それぞれ異なる種類のWebブラウザである。Webブラウザ9、25、27が、HTTPリクエストのUser−Agentヘッダで文書作成APP145やクラウドスキャンAPP148に渡すHTTPユーザーエージェントは、それぞれ異なり、例えば、次のように定義されている。
モバイル端末14のWebブラウザ9のユーザーエージェント:User−Agent: XXXX/5.0 (AAAA)
PC1のWebブラウザ25のユーザーエージェント:User−Agent: XXXX/6.0 (CCCC)
MFP3のWebブラウザ27のユーザーエージェント:User−Agent: YYYY/4.0 (DDDD)
AAAA、CCCC、DDDDは、各端末を識別するための情報を表している。文書作成APP145やクラウドスキャンAPP148は、これらの情報を利用して、その端末がモバイル端末14、PC1、およびMFP3のいずれであるかを判別し、アプリケーションが表示する画面や、内部処理を切り換えることができる。
アプリケーション145は、Webサービスを利用した文書作成用のアプリケーションであり、以下、文書作成APP145と称する。アプリケーション146は、Webサービスを利用したクラウド印刷サービスを提供するアプリケーションであり、以下、クラウド印刷APP146と称する。アプリケーション147は、Webサービスを利用した画像や文書読取用のアプリケーションであり、以下、読取APP147と称する。アプリケーション148は、Webサービスを利用したクラウドスキャンサービスを提供するアプリケーションであり、以下、クラウドスキャンAPP148と称する。
クラウド印刷APP146は、例えば、Google社が提供するGCPと同等の機能を有する。このクラウド印刷サービスを利用することで、PC1のWebブラウザ25やモバイル端末14のWebブラウザ9から、文書作成APP145を実行し、任意の文書(文書ファイル)を開き、その文書をMFP3やMFP103で印刷することができる。これらのアプリケーションにより、PC7は、Webアプリケーションサーバとして機能する。
図4、図5にWebブラウザにて表示されるユーザインタフェース(UI)の例を示す。なお、詳細については後述する。例えば、ユーザが、開いている文書を印刷する場合、図4に示す印刷メニュー401を選択すると、クラウド印刷APP146により図5に示す印刷画面142が表示される。ユーザが印刷画面142でプリンタを選択し、印刷ボタン534を押して印刷の実行を指示すると、文書作成APP145は、印刷画像をPDFファイルとして生成する。そして、クラウド印刷APP146は、この印刷画像(PDFファイル)と印刷画面142で選択されている印刷設定値とから印刷ジョブを生成し、クラウド印刷サービス内の選択されたプリンタ用のプリントキューに印刷ジョブを格納する。また、クラウド印刷APP146は、印刷ジョブ通知を送信する。印刷ジョブ通知の送信先は、印刷対象となるプリンタもしくはプリンタへの中継を行う装置(後述する本実施形態の例ではプロキシAPP143)となる。
MFPがPDFファイルをレンダリングする機能を備えている場合、MFPは、プリントキューに格納されている印刷ジョブを印刷することができる。しかしながら、廉価版(低機能)のMFPにおいては、PDFファイルをレンダリングする機能を備えていない場合がある。故に、このようなMFP等でプリントキューに格納されている印刷ジョブを印刷する場合、PDFファイルの印刷画像を、前処理によって、廉価版のMFPでレンダリングできるタイプの画像フォーマット(例えばJPEG形式)に変換する処理が必要となる。
クラウドスキャンAPP148は、MFP3やMFP103で読取った写真や文書の画像データを、データ共有サイトにアップロードすることができるクラウドスキャンサービスを提供する。データ共有サイトの例としては、Google社が提供するPicasa Web Albumsなどが挙げられる。このようなクラウドスキャンサービスを利用することで、PC1やモバイル端末14のWebブラウザから実行する読取APP147を介してMFPで写真等を読取って画像データを生成し、データ共有サイト等のWebサービスにアップロードすることができる。クラウドスキャンの実施例に関しては、第3の実施形態で後述する。
アプリケーション143は、MFPをクラウド印刷APP146が提供するクラウド印刷サービスやクラウドスキャンAPP148が提供するクラウドスキャンサービスに対応させるためのプロキシサービスを提供するアプリケーションである。以下、アプリケーション143を、プロキシAPP143と称する。PC2にインストールされているプロキシAPP143は、例えば5000台のMFP等を一度に管理する。そして、プロキシAPP143は、それぞれのMFPをクラウド印刷APP146が提供するクラウド印刷サービスとクラウドスキャンAPP148が提供するクラウドスキャンサービスに対応させる。プロキシAPP143は、図18に示すようなプリントキューとスキャンキューを備える。これらのアプリケーションにより、PC2は、ジョブ管理サーバとして機能する。キューの詳細については、後述する。
また、クラウド印刷APP146またはクラウドスキャンAPP148は、MFPの登録の際に、各MFPに対して一意の値で表わされるデバイスID(識別子)を発行して割り当て、デバイスIDを登録の対象のMFPに通知する。なお、MFPの登録に関する処理に関しては、従来の方法を用いることとし、その詳細な説明を省略する。
アプリケーション144は、PDFファイルをJPEGファイルに変換する画像変換サービスを提供するアプリケーションであり、以下、画像変換APP144と称する。
[ハードウェア構成]
図2は、PC、モバイル端末、及びMFPのハードウェアの構成の一例を示す図である。PC1、PC2、PC5、PC7、及びモバイル端末14の各々は、図2(A)に示すハードウェアを含んで構成されている。図2(A)では、PC2を例に挙げて説明する。PC2は、ランダムアクセスメモリ部(RAM201)、ハードディスクドライブ部(HDD202)、キーボード部(KBD203)、CPU204、表示用ディスプレイ(LCD205)、ネットワークボード(NB207)を有する。また、PC2は、上述の構成要素を互いに接続するバス206を有する。
なお、HDD202は、記憶部の一例である。記憶部は、可搬性CD−ROMまたは内部に据付のROM、フラッシュメモリ、SSD等であってもよい。KBD203は、入力部の一例である。CPU204は、制御部の一例である。LCD205は、表示部の一例である。NB207は、通信制御部の一例である。プロキシAPP143や図3に示す各モジュール(ソフトウェア)等のプログラムは、HDD202に記憶され、CPU204により必要に応じてRAM201に読み出されて実行される。これにより、プロキシAPP143の機能および図3に示す各モジュール(ソフトウェア)の機能などが実現される。また、各種のデータベース(DB)は、HDD202に設けられ、データベースの情報は、CPU204により必要に応じてRAM201に読み出される。
MFP3及びMFP103の各々は、図2(B)に示すハードウェアを含んで構成されている。図2(B)では、MFP3を例に挙げて説明する。CPU15は、マイクロプロセッサ等から構成される。CPU15は、MFP3の中央処理装置として、ROM16に記憶されているプログラムに従って、RAM17、通信部18、記録部19、操作部20、表示部21、読取り部22、ファクシミリ制御部23、及び外部ストレージ制御部24を制御する。
ROM16には、プリンタドライバ(不図示)による制御に従ってMFP3が行う記録(印刷)処理、印刷動作の状態をPCへ通知する処理などを実行するプログラムが記憶されている。また、ROM16には、FAXドライバ(不図示)による制御に従ってMFP3がファクシミリの送信処理または受信処理、ファクシミリ動作(送信または受信)の状態をPCへ通知する処理を実行するプログラムが記憶されている。更に、ROM16には、WIAドライバ(不図示)やTWAINドライバ(不図示)による制御に従ってMFP3が行う画像の読取り処理、読取り動作の状態をPCへ通知する処理を実行するプログラムが記憶されている。
RAM17には、印刷データが一時的に記憶される。印刷データは、主にPCから送られ、印刷データをもとに記録部19によって印刷される。また、RAM17には、読取り部22で読取られた画像データ、PCから送られてきたファクシミリの送信データ、ファクシミリ制御部23で受信されたファクシミリの受信データ等も一時的に記憶される。通信部18には、ネットワーク4用の接続ポート、アナログ電話回線用の接続ポート等が含まれており、Ethernet(登録商標)、ファクシミリのアナログ通信を制御する。記録部19は、インクジェット方式の記録ヘッド、各カラーインク、キャリッジ、記録紙搬送機構等から構成される記録ユニットと、印刷データをもとに記録ヘッドにて印刷用パルスを発生させるためのASIC等から構成される電気回路とを含んで構成される。
例えば、アプリケーション上での印刷操作、又はファクシミリの送信操作により、指定されたファイル(画像データ)が、EMF(Enhanced Metafile)形式のスプールファイルとしてPC2のHDD202に一時的に格納される。そして、スプールファイルは、プリンタドライバ、又はFAXドライバを介してMFP3の制御用コマンドを含む印刷データ、又はファクシミリの送信データに変換された後、インターネットを介してMFP3に送られる。MFP3にて受信された印刷データは、記録部19で印刷用パルスに変換され、記録紙上に印刷される。また、MFP3にて受信されたファクシミリの送信データは、ファクシミリ制御部23でファクシミリの通信プロトコルに変換され、アナログ電話回線を介して相手先のファクシミリ装置に送信される。
操作部20は、電源ボタン、リセットボタン等の各種ボタンから構成され、MFP3に対する操作を受け付ける。表示部21は、タッチパネルの液晶ディスプレイで構成され、MFP3の状態の表示、各種の設定情報や電話番号の表示、入力等を行うことができる。読取り部22は、カラーイメージセンサや画像処理用のASIC等から構成される電気回路を含んで構成され、スキャナ機能を制御する。ファクシミリ制御部23は、ファクシミリ用のモデム、アナログ通信回路等から構成され、ファクシミリの通信プロトコルに従ってファクシミリの送信および受信を制御する。外部ストレージ制御部24は、フラッシュメモリの装着用のスロット、ストレージ用のインタフェース回路等から構成され、装着されたフラッシュメモリを制御する。
[ソフトウェア構成]
図3は、PCのソフトウェアの構成の一例を示す図である。図3では、PC2を例に挙げて説明する。I/F92は、Ethernet(登録商標)等のI/Fを制御するI/F制御インタフェースである。IP Network91は、IP Networkを制御するIP Network制御インタフェースである。IIS(Internet Information Services)90は、IISを制御するIIS制御部であり、プロキシAPP143は、IIS90のWebサーバ機能を利用してWebサービスを提供する。JAVA(登録商標) VM(Virtual Machine)89は、Java(登録商標)バイトコードをプラットフォームのネイティブコードに変換して実行するソフトウェアである。プロキシAPP143は、JAVA(登録商標) VM89上で実行される。アプリケーション群82は、複数のアプリケーションから構成され、ここではプロキシAPP143、アプリケーション150が含まれる。尚、アプリケーション150は一般的なアプリケーションの1つを表すものであり、ここでは特に限定しない。
[表示画面例]
図4は、PC7の文書作成APP145の画面をWebブラウザで表示した一例を示す図である。図4は、Webブラウザ上にて、ある文書を開いている状態を表す。文書作成APP145は、この画面の情報をモバイル端末14、PC1、MFP3、MFP103に送信する。そして、モバイル端末14、PC1、MFP3、MFP103は、その情報を受信してWebブラウザ9、25、27、28でその画面を表示する。
ファイルメニュー402は、コンテンツ(文書)選択画面(不図示)を表示して予め保存されている文書やコンテンツを開いたり、新規文書を作成したりするためのサブメニューを備えている。ユーザは、サブメニューを用いて、文書やコンテンツを選択したり、新規文書を作成したりすることができる。尚、コンテンツ(文書)選択画面は、PC等で一般的なファイル選択画面と同様な画面で構成されるものであり、ここではその説明を省略する。印刷メニュー401は、印刷に関する各種の操作を受け付ける。例えば、ユーザがKBD203または操作部20等の入力部を操作し、開いている文書を印刷する際に印刷メニュー401を押下すると、図5に示す印刷画面142が表示される。
図5は、印刷画面142の一例を示す図である。印刷画面142は、ユーザに対するMFP3、103用の印刷設定画面として、文書作成APP145により提供される。文書作成APP145は、要求に応じて、印刷画面142の画面の情報をモバイル端末14、PC1、MFP3、MFP103に送信する。そして、モバイル端末14、PC1、MFP3、MFP103は、その情報を受信してWebブラウザ9、25、27、28にて印刷画面142を表示する。
デバイス選択肢535、536、537は、選択可能なデバイスの選択肢である。デバイス選択肢535、536、537はそれぞれ、GHI社製のAkbNmbというモデル名のMFP、ABC社製のKmmnというモデル名のMFP(本実施例のMFP3に相当)、DEF社製のXyzというモデル名のMFPに該当する選択肢を表す。図5では、MFP3を表すデバイス選択肢536が選択されている状態が示されている。MFP3のWebブラウザ27上に印刷画面142が表示される場合、文書作成APP145は、デバイス選択肢536だけを表示するための情報をMFP3に送信し、ユーザがそれ以外のデバイスを選択できないようにする。一方、モバイル端末14のWebブラウザ9上に印刷画面142が表示される場合、文書作成APP145はデバイス選択肢535、536、537を表示する情報をモバイル端末14に送信し、モバイル端末14がその情報を受信してWebブラウザ9で表示する。これにより、ユーザが、モバイル端末14のWebブラウザ9を操作する場合、文書作成APP145は、そのユーザが全てのデバイスを選択できるように制御する。PC1の場合も同様である。
用紙サイズ選択部530では、例えば、「A5」、「A4」、「B5」、「Letter」の選択肢の中からMFP3で印刷する用紙のサイズがユーザ操作に応じて選択される。図5では、「Letter」が選択されている状態が示されている。用紙種類選択部531では、例えば、「Plain Paper」、「Photo Paper」、「Postcard」の選択肢の中からMFP3で印刷する用紙の種類がユーザ操作に応じて選択される。図5では、「Plain Paper」が選択されている状態が示されている。
印刷品位選択部532では、例えば、「High」、「Standard」、「Fast」の選択肢の中からMFP3で印刷する印刷品位がユーザ操作に応じて選択される。図5では、「Standard」が選択されている状態が示されている。色/濃度選択部533では、例えば、「Auto」、「Manual」の選択肢の中からMFP3で印刷する色や濃度がユーザ操作に応じて選択される。図5では、「Auto」が選択されている状態が示されている。
印刷ボタン534は、印刷の開始の指示を受け付ける。ユーザ操作により印刷ボタン534が押下されると、文書作成APP145は、デバイス選択肢536に関連付けられているMFP3用の印刷ジョブを生成し、クラウド印刷APP146にその印刷ジョブ発行する。クローズボタン538は、印刷画面142を閉じる指示を受け付ける。ユーザ操作によりクローズボタン538が押下されると、文書作成APP145は、印刷画面142を閉じる。
[処理フロー]
図6〜図17、図21〜図23は、本制御システム全体の処理に係るフローチャートの一例を示す図である。これらのフローチャートに係るプログラムは、PCまたはMFP内に組み込まれている。PC上で動作するアプリケーションのプログラムは、HDD202に記憶されており、CPU204によりRAM201に読み出されて実行される。MFP上で動作するアプリケーションのプログラムは、ROM16に記憶されており、RAM17に読み出され、CPU15により実行される。
図6、図8、図9、図21(B)、図22において、図の左側から、文書作成APP145(または読取APP147)、クラウド印刷APP146(またはクラウドスキャンAPP148)、プロキシAPP143、MFP3(Webブラウザ27)をそれぞれ処理の実行元(主体)として記す。図7、図10において、図の左側から、モバイル端末14(Webブラウザ9)、クラウド印刷APP146(またはクラウドスキャンAPP148)、プロキシAPP143、文書作成APP145(または読取APP147)、MFP3(Webブラウザ27)をそれぞれ処理の実行元として記す。図13、図21の(A)において、図の左側から、文書作成APP145、プロキシAPP143、画像変換APP144をそれぞれ処理の実行元として記す。但し、ある実行元の処理がない場合には、実行元を省略している。以下では、ユーザがモバイル端末14またはMFP3を使って、ドキュメントの印刷をMFP3で行うケース(ドキュメントの印刷に係る一連の処理)と、写真の読取りをMFP3で行うケースを例に挙げて説明する。
(MFPから印刷指示を行う場合の処理)
図6は、MFP3のWebブラウザ27から文書作成APP145を実行して印刷を行う時の処理を表すフローチャートの一例を示す図である。図6において、ユーザが、MFP3のWebブラウザ27を起動し、文書作成APP145の実行を要求すると、本処理フローが開始される(S3601)。MFP3は、プロキシAPP143にジョブ取得要求を発行する(S3602)。プロキシAPP143は、図14に示すジョブ情報の返信処理を実行し、その結果をMFP3へ返信する(S3603)。
S3604にて、MFP3は、次に示す例のような印刷ジョブ情報または読取ジョブ情報を受信し、印刷処理(S3621)または読取処理(S3920)を実行する。
[印刷ジョブ情報の例]
jobId: prn0004
dateTime: 20120814122435001
host: mfp
owner: chancy
deviceId: 77778888
ticketUri: https://ske88funclub.com/print/ticket/prn0004/ticket.xml
dataUri: https://ske88funclub.com/print/data/prn0004/data.jpg
status: queued
[読取ジョブ情報の例]
jobId: scn0306
dateTime: 20120814122423008
host: mfp
owner: chancy
deviceId: 77778888
ticketUri: https://ske88funclub.com/scan/ticket/scn0306/ticket.xml
uploadUri: https://storageservice.xxx/user/chancy/private/
temporaryUploadUri: https://ske88funclub.com/scan/data/scn0306/
status: queued
MFP3は、印刷処理または読取処理が終了した後、その旨をプロキシAPP143に通知する(S3604)。S3605において、プロキシAPP143は、図21に示すジョブの削除の処理を実行し、そのジョブに関する一連の処理を終了する(S3606)。
ここで、MFP3に対するジョブの要求は、MFP3のWebブラウザ27以外からも行われ、プロキシAPP143のキューにジョブが登録されている。例えば、MFP3の電源が入っていない状態の時に、ユーザがモバイル端末14からMFP3に対して印刷ジョブを発行した場合、キューに蓄積され、通常はMFP3の電源が入った際にMFP3がその印刷ジョブを実行する。このとき、MFP3内の何らかのエラー等により、MFP3がその印刷ジョブを実行できず、ジョブが残ったままとなるケースが考えられる。また、MFP3の電源が入っている状態の時にユーザがMFP3のWebブラウザ27を操作して印刷ジョブが発行された場合に、何らかのエラー等により、Webブラウザ27を終了してしまうことでジョブが残ったままとなるケースも考えられる。
このような状況において、S3602では、MFP3がプロキシAPP143にジョブ取得要求を発行した際に、MFP3へのジョブの有無を確認する。そして、キューにジョブがある場合、MFP3は、通常、先に発行されたジョブを優先して実行(失敗していた場合は再実行)する。つまり、MFP3のWebブラウザ27を介してWebアプリケーションを使用している場合にも、発行順にジョブが実行されることとなる。
本発明では、ユーザがMFP3のWebブラウザ27を操作して発行されたジョブを最優先して実行することを目的としている。そのため、例えば、S3602において、MFP3がプロキシAPP143にジョブ取得要求を発行する際に、図18(A)に示すジョブキュー内の最優先ジョブキューのジョブだけを取得するオプションを指定する。そして、プロキシAPP143が、最優先ジョブキューにジョブが登録されている時だけMFP3にジョブ情報を返信するようにする。これにより、ユーザが、MFP3のWebブラウザ27から起動されているアプリケーションから発行されたジョブを最優先して実行したり、Webブラウザ27を操作して文書作成APP145等の各アプリケーションを最優先して操作したりすることができる。
S3607において、MFP3は、外部から入稿されるジョブを排他し、ジョブ通知の受付だけを許可するモードに移行して、S3608へ進む。このモードにおける、MFP3が行うジョブ通知受信処理を図16に示す。S3608において、MFP3のWebブラウザ27が文書作成APP145にホーム画面を要求する。文書作成APP145は、要求に応じて、MFP3にホーム画面の情報を送信する(S3609)。そして、MFP3は、Webブラウザ27にて受信したホーム画面を表示する(S3608)。ユーザが、Webブラウザ27を操作して、ファイルメニュー402内のサブメニューを利用して印刷対象のコンテンツ(文書)の選択を開始すると、Webブラウザ27が文書作成APP145にコンテンツ(文書)選択画面を要求する(S3610)。文書作成APP145は、要求に応じて、MFP3にコンテンツ(文書)選択画面の情報を送信する(S3611)。そして、MFP3は、Webブラウザ27にてコンテンツ(文書)選択画面を表示する(S3610)。
ユーザがコンテンツ(文書)を選択した状態で図4に示す印刷メニュー401を押下すると、Webブラウザ27は、図5に示す印刷画面142を文書作成APP145に要求する(S3610)。文書作成APP145は、要求に応じて、MFP3に印刷画面142の情報を送信する(S3611)。そして、MFP3は、Webブラウザ27にて印刷画面142を表示する(S3610)。ユーザが印刷ボタン534を押下すると、Webブラウザ27は、文書作成APP145に印刷要求を発行する(S3612)。この時、この印刷要求を発行したホスト(要求元)がMFPである旨を表す情報(host=mfp)と、この印刷要求がMFP3へのジョブ通知を必要としない旨を表す情報(notification=no)が、この印刷要求の中に含まれる。なお、印刷要求には、印刷対象のドキュメントを示す情報など他の情報が含まれてもよい。
文書作成APP145は、MFP3から印刷要求を受け付けると、クラウド印刷APP146に印刷ジョブを発行する(S3613)。この時、MFP3から受信した印刷要求に従って、印刷ジョブの印刷要求を発行したホストがMFPである旨を表す情報(host=mfp)と、この印刷ジョブがMFP3へのジョブ通知を必要としない旨を表す情報(notification=no)とが、印刷ジョブの中に含まれる。クラウド印刷APP146は、プロキシAPP143のプリントキューに印刷ジョブを入稿する(S3614)。
この時、クラウド印刷APP146は、印刷ジョブの発行年月日・時刻の情報を更に印刷ジョブに付加する。プロキシAPP143は、図11に示すジョブの登録処理を実行し、ジョブID(印刷ジョブID)をクラウド印刷APP146に返す(S3615)。そして、プロキシAPP143は、MFP3からのジョブ取得要求待ち状態に入る(S3616)。
クラウド印刷APP146は、プロキシAPP143から返されたジョブID(印刷ジョブID)を文書作成APP145に返す。さらに、文書作成APP145は、クラウド印刷APP146からジョブIDを受け付けたことに応じて、印刷ジョブを発行した旨を表す情報をMFP3に通知する。この時、文書作成APP145は、クラウド印刷APP146から返されたジョブID(印刷ジョブID)を併せて、MFP3に通知する。この通知は、例えば、Webページの情報に埋め込まれているJavaScript(登録商標)を利用して行うことができる。印刷ジョブが発行された時に、Webブラウザ27は、JavaScript(登録商標)を介して、MFP3がWebブラウザ27に対してエクスポートしているPrint関数を実行する。
Print関数がコールされることで、MFP3は、プリントキューに印刷ジョブが登録されたことを表す情報を受信する。この時、受信した情報の中に含まれるジョブID(印刷ジョブID)が、Print関数の引数としてMFP3に渡され、MFP3は、プロキシAPP143が生成したジョブID(印刷ジョブID)も取得する(S3617)。このように、MFP3がPrint関数を備え、Webブラウザ27がJavaScript(登録商標)を介してPrint関数を利用することで、不要なジョブ通知を無くすことができる。その結果、サーバの不可の削減、通信経路のデータ量の削減、データ通信費のコストダウンすることができる。
S3617において、MFP3は、印刷ジョブの発行済みである旨の情報を受信すると、表示部21に「印刷準備中」または「印刷中」というような印刷関連処理を実行中である旨を表すメッセージを表示する。これにより、MFP3は、印刷モード(印刷処理中)に移行したことをユーザに知らせる。この時、MFP3は、負荷を低減するために、Webブラウザ27を介さずにこのメッセージを表示する。MFP3は、画像変換APP144が画像変換(図13のS4306)に要する想定時間(例えば約3秒)の経過を待った後(S3618)、プロキシAPP143にジョブ取得要求を発行する(S3619)。プロキシAPP143は、ジョブ情報の返信処理(図14)を実行し、その結果として次に示すような印刷ジョブ情報をMFP3へ返信する(S3620)。
[印刷ジョブ情報の例]
jobId: prn0004
dateTime: 20120814122435001
host: mfp
owner: chancy
deviceId: 77778888
ticketUri: https://ske88funclub.com/print/ticket/prn001/ticket.xml
dataUri: https://ske88funclub.com/print/data/prn001/data.jpg
status: queued
S3620において、画像変換が完了していない等の理由により、プロキシAPP143が印刷ジョブ情報をMFP3へ返信しない場合、MFP3は、印刷ジョブ情報を取得できるか、あるいは規定のリトライ回数(例えば100回)を超えてエラーと判定するまで、S3618〜S3619の処理を繰り返す。MFP3は、印刷ジョブ情報から印刷設定を表す印刷設定ファイルの格納先と印刷画像ファイルの格納先を取得する。以下、印刷設定ファイルと印刷画像ファイルを合わせたものを、“印刷データ”と呼ぶ。また、印刷設定ファイルを(印刷)ジョブチケットと呼ぶ場合もある。印刷設定ファイルはticketUriで指定されたパス(URI)に格納されており、印刷画像ファイルはdataUriで指定されたパス(URI)に格納されている。印刷設定ファイルは、PC7内のHDD202に、印刷画像ファイルはPC5内のHDD202に格納されている。
MFP3は、印刷ジョブ情報のticketUri、dataUriで指定されたパスにそれぞれアクセスし、印刷データを取得する。MFP3は、印刷設定ファイルと印刷画像ファイルの内容に従って印刷を実行し、その後、印刷処理が終了したことをプロキシAPP143に通知する(S3621)。S3622において、プロキシAPP143は、ジョブの削除の処理(図21)を実行し、そのジョブに関する一連の処理を終了する(S3623)。
印刷処理が終了した後、MFP3のWebブラウザ27は、文書作成APP145にホーム画面を要求する(S3624)。文書作成APP145は、MFP3にホーム画面の情報を送信する(S3625)。そして、MFP3は、Webブラウザ27にてホーム画面を表示する(S3624)。そして、MFP3は、ユーザの入力操作待ち状態となる(S3626)。
(モバイル端末から印刷指示を行う場合の処理)
図7は、モバイル端末14のWebブラウザ9から文書作成APP145を実行して印刷を行う時の処理を表すフローチャートの一例を示す図である。図7において、ユーザが、モバイル端末14のWebブラウザ9を起動して文書作成APP145の実行を要求すると、本処理フローが開始される(S3701)。Webブラウザ9は、文書作成APP145にホーム画面を要求する(S3702)。文書作成APP145は、要求に応じてモバイル端末14にホーム画面の情報を送信する(S3703)。そして、モバイル端末14は、Webブラウザ9にてホーム画面を表示する(S3702)。ユーザが、Webブラウザ9を操作し、ファイルメニュー402内のサブメニューから印刷対象のコンテンツ(文書)の選択を開始すると、Webブラウザ9は文書作成APP145にコンテンツ(文書)選択画面を要求する(S3704)。文書作成APP145は、要求に応じて、モバイル端末14にコンテンツ(文書)選択画面の情報を送信する(S3705)。そして、モバイル端末14は、Webブラウザ9にてコンテンツ(文書)選択画面を表示する(S3704)。
ユーザがコンテンツ(文書)を選択した状態で、図4に示す印刷メニュー401を押下すると、Webブラウザ9は、文書作成APP145に図5に示す印刷画面142を要求する(S3704)。文書作成APP145は、要求に応じて、モバイル端末14に印刷画面142の情報を送信する(S3705)。そして、モバイル端末14は、Webブラウザ9にて印刷画面142を表示する(S3704)。
デバイス選択肢536(MFP3)が選択されている状態でユーザが印刷ボタン534を押下すると、Webブラウザ9は、文書作成APP145に印刷要求を発行する(S3706)。この時、印刷要求を発行したホスト(要求元)がモバイル端末14である旨を表す情報(host=phone)と、この印刷要求がMFP3へのジョブ通知を必要とする旨を表す情報(notification=yes)が、印刷要求の中に含まれる。なお、印刷要求には、印刷対象のドキュメントを示す情報など他の情報が含まれてもよい。
文書作成APP145は、モバイル端末14から印刷要求を受け付けると、クラウド印刷APP146に印刷ジョブを発行する(S3707)。この時、モバイル端末14から受信した印刷要求に従って、印刷ジョブの印刷要求を発行したホストがモバイル端末である旨を表す情報(host=phone)と、印刷ジョブがMFP3へのジョブ通知を必要とする旨を表す情報(notification=yes)とが、印刷ジョブの中に含まれる。クラウド印刷APP146は、プロキシAPP143のプリントキューに印刷ジョブを入稿する(S3708)。この時、クラウド印刷APP146は、印刷ジョブの発行年月日・時刻の情報を更に印刷ジョブに付加する。
プロキシAPP143は、ジョブの登録処理(図11)を実行してジョブID(印刷ジョブID)をクラウド印刷APP146に返す(S3709)。そして、プロキシAPP143は、MFP3からの印刷ジョブ取得要求待ち状態に入る(S3710)。クラウド印刷APP146は、プロキシAPP143から返されたジョブID(印刷ジョブID)を文書作成APP145に返す。さらに、モバイル端末14のWebブラウザ9が、文書作成APP145に発行した印刷要求のレスポンスを受信すると、文書作成APP145にホーム画面を要求する(S3711)。文書作成APP145は、要求に応じて、モバイル端末14にホーム画面の情報を送信する(S3712)。そして、モバイル端末14は、Webブラウザ9にてホーム画面を表示する(S3711)。その後、モバイル端末14は、ユーザの入力操作待ち状態となる(S3713)。
プロキシAPP143がMFP3にジョブ通知を送信し(図13のS4309)、MFP3がジョブ通知を受信すると(S3714)、表示部21に「印刷準備中」または「印刷中」というような印刷関連処理を実行中である旨を表すメッセージを表示する。これによりMFP3は、印刷モードに移行したことをユーザに知らせる。この時、MFP3は、Webブラウザ27を介さずにこのメッセージを表示する。MFP3は、プロキシAPP143にジョブ取得要求を発行する(S3715)。プロキシAPP143は、ジョブ情報の返信処理(図14)を実行し、その結果として次に示すような印刷ジョブ情報をMFP3へ返信する(S3716)。
[印刷ジョブ情報の例]
jobId: prn0001
dateTime: 20120814121812100
host: phone
owner: chancy
deviceId: 77778888
ticketUri: https://ske88funclub.com/print/ticket/prn001/ticket.xml
dataUri: https://ske88funclub.com/print/data/prn001/data.jpg
status: queued
MFP3は、印刷ジョブ情報から印刷設定を表す印刷設定ファイルの格納先と印刷画像ファイルの格納先(ticketUriとdataUri)を取得する。MFP3は、ticketUri、dataUriで指定されたパス(URI)にそれぞれアクセスして、印刷データを取得する。MFP3は、印刷設定ファイルと印刷画像ファイルの内容に従って印刷を実行し、その後、印刷処理が終了したことをプロキシAPP143に通知をする(S3717)。S3719において、プロキシAPP143は、ジョブの削除の処理(図21)を実行し、そのジョブに関する一連の処理を終了する(S3720)。印刷処理が終了した後、MFP3は、オンラインのスタンバイ状態となる(S3718)。
(ジョブの登録処理)
図11は、プロキシAPP143におけるジョブの登録処理を表すフローチャートの一例を示す図である。本処理は、図6のS3615、図7のS3709、図8のS3815、図9のS3915、図10のS4009に対応する。なお、図8〜図10は、第2、第3の実施形態にて述べる。図11において、ジョブの登録処理が要求されると、プロキシAPP143は、ジョブの登録処理を開始する(S4101)。
プロキシAPP143は、ジョブの要求元であるホストの種類を確認する。ホストがMFP(host=mfp)であると判定した場合(S4102にてYES)S4103へ進み、それ以外(モバイル端末、PC)であると判定した場合(S4102にてNO)S4104へ進む。S4103において、プロキシAPP143は、図18(A)に示すジョブキュー内の最優先ジョブキューにジョブを登録し、図19に示すジョブ情報を格納するためのテーブルに各情報を保存する。
S4104において、プロキシAPP143は、ジョブの種類を確認する。ジョブが印刷ジョブであると判定した場合(S4104にてYES)S4105へ進み、それ以外のジョブ(読取ジョブ)と判定した場合(S4104にてNO)S4106へ進む。S4105において、プロキシAPP143は、図18(A)に示すジョブキュー内の一般プリントキューの最後尾にジョブを登録し、図19(A)に示す印刷ジョブのジョブ情報を格納するためのテーブルに各情報を保存する。S4106において、プロキシAPP143は、図18(A)に示すジョブキュー内の一般スキャンキューにジョブを登録し、図19(B)に示すジョブ読取ジョブの情報を格納するためのテーブルに各情報を保存する。S4107において、プロキシAPP143は、ジョブID(印刷ジョブIDまたは読取ジョブID)を生成する。S4108において、プロキシAPP143は、生成したジョブIDをこの処理の呼び出し元に返し、本処理フローを終了する(S4108)。
(ジョブ通知処理)
図13は、プロキシAPP143におけるジョブ通知処理を表すフローチャートの一例を示す図である。プロキシAPP143は、常時起動していて、管理/制御対象のデバイス(MFP等)に対して、順に図13に示す処理を実行し、必要に応じて対象のデバイスにジョブ通知(印刷ジョブ通知または読取ジョブ通知)を送信する。図13では、対象のデバイスが特定された後の処理を示す。ここでは、対象のデバイスとして、MFP3が特定された場合の例で説明する。
プロキシAPP143は、対象のデバイス(ここではMFP3)を特定してジョブ通知処理を要求すると、図13に示す処理が開始される(S4301)。プロキシAPP143は、デバイスの状態を確認する(S4302)。デバイスの状態がオンラインであると判定した場合(S4303にてYES)S4304へ進み、それ以外の場合(S4303にてNO)S4310へ進む。S4304において、プロキシAPP143は、図18(A)に示すジョブキューを参照してMFP3の印刷ジョブの有無を確認する。印刷ジョブが有ると判定した場合(S4304にてYES)S4305へ進み、それ以外の場合(S4303にてNO)S4307へ進む。
S4305において、プロキシAPP143は、画像変換APP144に印刷ジョブに係る画像変換処理を要求する。画像変換APP144は、プロキシAPP143からの画像変換要求に従って、印刷対象の画像をMFP3が印刷できるファイル形式(ここではJPEGファイル)に変換する(S4306)。ここでの印刷対象の画像は、文書作成APP145が、HDD202に一時的に保存している、印刷対象のコンテンツまたは印刷用に生成したPDFファイルが該当する。画像変換APP144による画像変換処理の完了後、プロキシAPP143は、処理中の印刷ジョブのジョブIDをキーとして、図19(A)に示す印刷ジョブの詳細情報を参照し、ジョブ通知の必要性の有無を確認する。プロキシAPP143は、ジョブ通知が必要(notification=yes)であると判定した場合(S4308にてYES)S4309へ進み、それ以外(notification=no)の場合(S4308にてNO)S4310へ進む。S4308において、プロキシAPP143は、判定した結果を、図19に示すジョブ情報を格納するためのテーブルに保存する。
S4307において、プロキシAPP143は、図18(A)に示すジョブキューを参照し、MFP3の読取ジョブの有無を確認する。読取ジョブが有ると判定した場合(S4307にてYES)S4308へ進み、それ以外の場合(S4307にてNO)S4310へ進む。S4309において、プロキシAPP143は、MFP3にジョブ通知(印刷ジョブ通知または読取ジョブ通知)を送信する。その後、本処理フローを終了する(S4310)。
(ジョブ情報の返信処理)
図14は、プロキシAPP143におけるジョブ情報の返信処理を表すフローチャートの一例を示す図である。本処理は、図6のS3620、図7のS3719、図9のS3919、図10のS4016に対応する。図9および図10は、第3の実施形態にて説明する。
図14において、ジョブ情報の返信処理がデバイス(ここではMFP3)から要求されると、プロキシAPP143はジョブ情報の返信処理を開始する(S4401)。プロキシAPP143は、ジョブ情報に含まれるデバイスIDを用いて対象のデバイスのジョブキューを特定する(S4402)。そして、プロキシAPP143は、特定したジョブキューにおいて、最優先ジョブキュー内のジョブの有無を確認する(S4403)。ここで、ジョブキューの例としては、図18(A)、(C)、(D)が挙げられる。最優先ジョブキュー内にジョブが有ると判定した場合(S4404にてYES)S4412へ進み、ジョブが無いと判定した場合(S4404にてNO)S4405へ進む。
S4412において、プロキシAPP143は、最優先ジョブキュー内の先頭に登録されているジョブ情報を取得して、S4413へ進む。S4405において、プロキシAPP143は、一般スキャンキュー内のジョブの有無を確認する。一般スキャンキュー内にジョブが有ると判定した場合(S4406にてYES)S4407へ進み、ジョブが無いと判定した場合(S4406にてNO)S4408へ進む。S4407において、プロキシAPP143は、一般スキャンキュー内の先頭に登録されているジョブ情報を取得し、S4413へ進む。S4408において、プロキシAPP143は、一般プリントキュー内のジョブの有無を確認する。一般プリントキューにジョブが有ると判定した場合(S4409にてYES)S4410へ進み、ジョブが無いと判定した場合(S4409にてNO)S4411へ進む。
S4410において、プロキシAPP143は、一般プリントキュー内の先頭に登録されているジョブ情報を取得し、S4413へ進む。S4411において、プロキシAPP143は、対象のデバイスのジョブキュー内にジョブが無いため、ジョブ情報が存在しない旨を要求元のデバイスに返信する。そして、この処理の読み出し元の処理フローに戻る(S4414)。S4413において、プロキシAPP143は、S4412、S4407、S4410で取得したジョブ情報をそのデバイスに返信する。そして、この処理の読み出し元の処理フローに戻る(S4414)。
(ジョブ通知受信処理)
図16は、MFP3におけるジョブ通知受信処理を表すフローチャートの一例を示す図である。本処理は、図6のS3607で設定されたモードに対応して実行される。第1の実施形態では、図16(A)について説明する。尚、ここで用いる「ジョブ通知有り情報」とは、MFP3がジョブ通知を受信して、そのジョブ通知に関連付けられているジョブに対する処理を未だ実行していない状態であることを表す情報である。ジョブ通知有り情報は、MFP3内のRAM17に保存され、MFP3は、電源がオンになった時にこの情報に「0」をセットして初期化する。
MFP3がプロキシAPP143から発行されたジョブ通知を受信すると、図16(A)において、MFP3がジョブ通知受信処理を開始する(S4601)。MFP3は、Webブラウザ27でアプリケーションを実行中か否かを確認する(S4602)。Webブラウザ27でアプリケーションを実行中であると判定した場合(S4603にてYES)S4604へ進み、それ以外と判定した場合(S4603にてNO)S4605へ進む。尚、S4603において、MFP3がWebブラウザ27を起動しているがアプリケーションを何も実行していないような場合も、Webブラウザが動作しているとして、Webブラウザ27でアプリケーション実行中であると判定するものとする。
S4604において、MFP3はジョブ通知有り情報を1つ増やした後、RAM17に保存する。そして、本処理フローを終了する(S4608)。S4605において、MFP3はプロキシAPP143にジョブ取得要求を発行する。このとき、プロキシAPP143は、MFP3からのジョブ取得要求に応じて、ジョブ情報の返信処理(図14)を実行し、その結果をMFP3へ返信する。S4606において、MFP3は、次に示すような印刷ジョブ情報または読取ジョブ情報をプロキシAPP143から受信し、S4607へ進む。
[印刷ジョブ情報の例]
jobId: prn0001
dateTime: 20120814121812100
host: phone
owner: chancy
deviceId: 77778888
ticketUri: https://ske88funclub.com/print/ticket/prn001/ticket.xml
dataUri: https://ske88funclub.com/print/data/prn001/data.jpg
status: queued
[読取ジョブ情報の例]
jobId: scn0304
dateTime: 20120814122045250
host: phone
owner: akb88
deviceId: 77778888
ticketUri: https://ske88funclub.com/scan/ticket/scn0304/ticket.xml
uploadUri: https://storageservice.xxx/user/akb88/private/
temporaryUploadUri: https://ske88funclub.com/scan/data/scn0304/
status: queued
S4607において、MFP3は、S4606で取得したジョブ情報に応じて、図7のS3717または図10のS4017に示すような印刷処理または読取処理を実行する。そして、本処理フローを終了する(S4608)。MFP3は、印刷処理または読取処理を1つ終了する毎に、ジョブ通知有り情報の値を1つ減らしてRAM17に保存する。尚、MFP3は、0以上の整数の範囲でジョブ通知有り情報をセットする。
(ジョブの確認処理)
図17は、MFP3におけるジョブの確認処理を表すフローチャートの一例を示す図である。図17において、ジョブの確認処理が要求されると、MFP3は、ジョブの確認処理を開始する(S4701)。MFP3は、プロキシAPP143にジョブ取得要求を発行する(S4702)。そして、MFP3は、ジョブ取得要求に応答して送信されたジョブ情報の取得を行う(S4703)。ジョブ情報を取得できた場合(S4704にてYES)S4705へ進み、ジョブ情報を取得できなかった場合(S4704にてNO)、本処理フローを終了する(S4706)。ここで、ジョブ情報を取得できた場合とは、例えば、図14のS4413においてプロキシAPP143がジョブ情報をMFP3に返信した場合である。一方、ジョブ情報を取得できなかった場合とは、例えば、図14のS4411においてプロキシAPP143が、ジョブ情報が存在しない旨をMFP3に返信した場合である。MFP3がS4703で取得したジョブ情報は、次に示す例のような印刷ジョブ情報または読取ジョブ情報である。
[印刷ジョブ情報の例]
jobId: prn0004
dateTime: 20120814122435001
host: mfp
owner: chancy
deviceId: 77778888
ticketUri: https://ske88funclub.com/print/ticket/prn0004/ticket.xml
dataUri: https://ske88funclub.com/print/data/prn0004/data.jpg
status: queued
[読取ジョブ情報の例]
jobId: scn0306
dateTime: 20120814122423008
host: mfp
owner: chancy
deviceId: 77778888
ticketUri: https://ske88funclub.com/scan/ticket/scn0306/ticket.xml
uploadUri: https://storageservice.xxx/user/chancy/private/
temporaryUploadUri: https://ske88funclub.com/scan/data/scn0306/
status: queued
S4705において、MFP3は、S4703で取得したジョブ情報に応じて、図6のS3621や図9のS3920に示すような印刷処理または読取処理を実行する。そして、MFP3は、本処理フローを終了する(S4706)。MFP3は例えば、次に示すような場合にジョブの確認処理(図17)を実行する。
(1)図6のS3626の状態(入力操作待ち状態)に移行した時
(2)図7のS3718の状態(スタンバイ状態)に移行した時
(3)図8のS3826の状態(入力操作待ち状態)に移行した時
(4)図9のS3926の状態(入力操作待ち状態)に移行した時
(5)図10のS4021の状態(スタンバイ状態)に移行した時
(6)MFPの電源がオンになった時
(7)コピー、印刷、読取後等に待機状態に戻った時
(8)インクヘッドやインクカートリッジが交換された時
(9)MFPがWebブラウザを終了して表示部にMFPのホーム画面を表示した時
(10)MFPが警告状態から復帰した時
(11)MFPがエラー状態から復帰した時
なお、図8〜図10の状態については、第2、第3の実施形態にて説明する。
上記のケースの中の(6)を除く全てのケースにおいて、MFP3は、ジョブ通知有り情報が0より大きい場合、ジョブの確認処理(図17)を繰り返して実行し続ける。例えば、図6のS3610において、ユーザが複数の文書を選択し、それらの文書を同時に印刷を行う場合、文書作成APP145は、各文書に対応する複数の印刷ジョブをクラウド印刷APP146に発行して処理する方法が考えられる。このような方法で印刷ジョブが複数同時に発行された場合において、ジョブ通知有り情報が0より大きい場合、MFP3は、ジョブの確認処理(図17)を繰り返して実行し続ける。これにより、同時に発行された複数の印刷ジョブを一連の処理の中で順次処理することができ、他の装置から発行されたジョブに割り込まれることなく、MFPを介して発行した複数の印刷ジョブを優先して処理して印刷することができる。
(ジョブキューの構成例)
図18は、プロキシAPP143内のジョブキューの構成例を表す図である。ジョブキューは一般的なデータベースで構成されている。図18において、「prn」の付いたジョブIDは印刷ジョブのジョブID、「scn」の付いたジョブIDは読取ジョブのジョブIDであり、プロキシAPP143がこれらのジョブIDを生成する。発行年月日・時刻は、例えば、図18(A)に示す「prn0004」のジョブIDの例の場合について説明すると、この印刷ジョブが2012年08月14日12時24分35秒と1/1000の時刻に発行されたものであることを表す。例えば、図18(A)に示す「scn0304」のジョブIDの例の場合について説明すると、この読取ジョブが2012年8月14日12時20分45秒と250/1000の時刻に発行されたものであることを表す。
図18(A)のジョブキューは、最優先ジョブキュー、一般スキャンキュー、一般プリントキューの3つの種類のキューで構成され、優先順位は最優先ジョブキュー、一般スキャンキュー、一般プリントキューの順にそれぞれ1位、2位、3位と設定されている。本実施形態において、最優先ジョブキューには、読取ジョブもしくは印刷ジョブのいずれのジョブが登録されても良いものとする。なお、便宜上、最優先ジョブキューを第1のジョブキューとも記載し、一般スキャンキューおよび一般プリントキューを第2のジョブキューとも記載する。また、最優先ジョブキューの容量は1ジョブ分、一般スキャンキューの容量は制限無し、一般プリントキューの容量は制限無しで設定されている。図18(B)のジョブキューは、1つのジョブキューだけで構成され、優先順位1位、容量制限は制限無しで設定されている。図18(C)のジョブキューは、図18(A)のジョブキューと同一であり、登録されているジョブの状態が異なる例を表している。図18(D)のジョブキューは、最優先ジョブキュー、一般スキャンキュー、一般プリントキューで構成され、優先順位は最優先ジョブキュー、一般スキャンキュー、一般プリントキューの順にそれぞれ1位、2位、3位と設定されている。また、最優先ジョブキューの容量は制限無し、一般スキャンキューの容量は制限無し、一般プリントキューの容量は制限無しで設定されている。図18(A)、(C)、(D)において、最優先ジョブキュー、一般スキャンキュー、一般プリントキューの順にそれぞれ1位、2位、3位と設定している理由は、ユーザの操作性に配慮しているためである。
ここでは、ユーザが、デバイス(MFP3)のWebブラウザ(Webブラウザ27)を操作して印刷処理や読取処理の指示を行うことによってアプリケーションから発行されたジョブを最優先のジョブとし、MFP3を操作しているユーザの操作性を最優先とする。次に、ユーザが、MFPに原稿をセットし、MFPの操作パネル(操作部20)上のスタートボタンの操作により、読取処理を実行するという操作が、他のジョブに割り込まれて行えなくなることを防止する為に、一般スキャンキューの優先順位を2位としている。これにより、ユーザが、モバイル端末14等を操作してアプリケーションから発行された読取ジョブを優先して処理することができ、ユーザの操作性を向上することができる。
そして、これらのキューの中で優先順位が3位である(最も低い)のは一般プリントキューである。ユーザが、モバイル端末14等を操作してアプリケーションから発行された印刷ジョブは、通常、ユーザの操作を介すことなく、MFP3で自動的に印刷処理が実行される。例えば、最優先ジョブキューや一般スキャンキューに登録されているジョブがユーザのMFPの操作を必要とする。これに対し、一般プリントキューに登録されているジョブは、通常(用紙切れやインク切れを除く)、ユーザのMFPの操作を必要としない。そのため、一般プリントキューの優先順位を3位にしても、ユーザの操作性を損ねることがほとんど無い。なお、上記の優先順位は一例であり、ユーザの用途などに合わせて、一般スキャンキューと一般プリントキューの優先順位が逆となるように設定されても構わない。
(ジョブ情報のテーブル構成)
図19は、プロキシAPP143内のジョブキューに登録されるジョブのジョブ情報を格納するためのテーブルの構成例を表す図である。図19(A)は印刷ジョブ用のテーブル、図19(B)は読取ジョブ用のテーブルである。これらのテーブルは一般的なデータベースに格納されている。図19(A)、(B)に示すテーブルに格納される共通の情報として、発行年月日・時刻、ホスト、オーナー名、デバイスID、ジョブチケットのパス(URI)、ステータス、ジョブ通知の必要性の有無、ジョブの優先順位がある。但し、同じ項目の情報であっても、ステータスにセットされる値は、印刷ジョブと読取ジョブとで異なる場合もある。図19(A)に示すテーブルだけに格納される情報として、印刷画像データのパス(URI)がある。図19(B)に示すテーブルだけに格納される情報として、アップロード先のパス(URI)、一時アップロード先のパス(URI)がある。
(読取処理に係る表示画面例)
図20は、ホーム画面742とアップロード先の選択画面750の一例を示す図である。図20(A)はホーム画面742の一例を示す図である。図20(A)において、ホーム画面742は、ユーザに対するMFP3、103用の読取設定画面として、読取APP147により制御される。読取APP147は、ホーム画面742の情報をモバイル端末14、PC1、MFP3、MFP103に送信する。そして、モバイル端末14、PC1、MFP3、MFP103は、送信された画面の情報を受信し、Webブラウザ9、25、27、28にて表示する。このように、ホーム画面742は、Webブラウザ9、25、27、28上に表示される。
デバイス選択肢735、736、737は、選択可能なデバイスの選択肢である。デバイス選択肢735、736、737はそれぞれ、GHI社製のAkbNmbというモデル名のMFP(本実施形態のMFP3に相当)、ABC社製のKmmnというモデル名のMFP、DEF社製のXyzというモデル名のMFPに該当する選択肢を表す。図20(A)では、MFP3を表すデバイス選択肢736が選択されている状態が示す。例えば、MFP3のWebブラウザ27上にホーム画面742が表示される場合、読取APP147はデバイス選択肢736だけを表示する情報をMFP3に送信し、ユーザがそれ以外のデバイスを選択できないようにする。モバイル端末14のWebブラウザ9またはPC1内のWebブラウザ25上にホーム画面742が表示される場合、読取APP147はデバイス選択肢735、736、737を表示する情報をモバイル端末14またはPC1に送信する。そして、モバイル端末14またはPC1が、受信した情報に基づいてWebブラウザ9または25で画面を表示する。これにより、ユーザが、モバイル端末14またはPC1のWebブラウザ9または25を操作する場合、読取APP147は、そのユーザが全てのデバイスを選択できるように制御する。
原稿種類選択部730では、次に示す選択肢の中からMFP3で読取る原稿の種類がユーザ操作に応じて選択される。図20では、「カラー文書」が選択されている状態が示されている。なお、原稿の種類選択肢としては、カラー写真、モノクロ写真、カラー文書、モノクロ文書などが挙げられる。原稿サイズ選択部731では、次に示す選択肢の中からMFP3で読み取る原稿のサイズがユーザ操作に応じて選択される。図20では、「A4」が選択されている状態が示されている。なお、原稿サイズの選択肢としては、A5、A4、B5、Letterなどが挙げられる。解像度選択部732では、次に示す選択肢の中からMFP3で読取る解像度がユーザ操作に応じて選択される。図20では、「300dpi」が選択されている状態が示されている。なお、印刷品位の選択肢としては、150dpi、300dpi、600dpiなどが挙げられる。上記選択肢は、各デバイスの機能に応じて選択可能な項目が増減して構わない。
アップロード先表示部733では、MFP3で読み取った画像のアップロード先が表示される。アップロード先設定ボタン739は、図20(B)に示すアップロード先の選択画面750を表示する指示を受け付ける。ユーザ操作によりアップロード先設定ボタン739が押下されると、読取APP147は、アップロード先の選択画面750を表示する。読取ボタン734は、読取の開始の指示を受け付ける。ユーザ操作により読取ボタン734が押下されると、読取APP147は、デバイス選択肢736に関連付けられているMFP3用の読取ジョブを生成し、クラウドスキャンAPP148にその読取ジョブを発行する。クローズボタン738は、ホーム画面742を閉じる指示を受け付ける。ユーザ操作によりクローズボタン738が押下されると、読取APP147は、ホーム画面742を閉じる。
図20(B)は、アップロード先の選択画面750の一例を示す図である。図20(B)において、アップロード先の選択画面750は、ユーザに対するMFP3、103用で読み取られた画像のアップロード先の選択画面として、読取APP147により提供される。読取APP147は、アップロード先の選択画面750の情報をモバイル端末14、PC1、MFP3、MFP103に送信する。そして、モバイル端末14、PC1、MFP3、MFP103はその情報を受信してWebブラウザ9、25、27、28にてアップロード先の選択画面750を表示する。このように、アップロード先の選択画面750は、Webブラウザ9、25、27、28を利用して、そのWebブラウザ上に表示される。
フォルダ指定部752は、ユーザが、ツリー表示されたフォルダの中から、MFP3、103用で読取られた画像のアップロード先のフォルダを指定することができる。図20(B)では、「ABC/Public Folder」が選択された状態を示す。フォルダ表示部753は、ユーザに指定されたフォルダのフルパスが表示される。選択ボタン754がユーザ操作により押下されると、読取APP147は、フォルダ表示部753に表示されているフォルダを、MFP3、103用で読み取られた画像のアップロード先として確定し、アップロード先の選択画面750を閉じる。クローズボタン755は、アップロード先の選択画面750を閉じる指示を受け付ける。ユーザ操作によりクローズボタン755が押下されると、読取APP147は、アップロード先の選択画面750を閉じる。
(削除処理)
図21は、プロキシAPP143における印刷ジョブの削除処理とクラウドスキャンAPP148における読取ジョブの削除処理を表すフローチャートの一例を示す図である。図21(A)は、プロキシAPP143における印刷ジョブの削除処理を表すフローチャートの一例を示す図である。本処理は、図6のS3622、図7のS3719、図8のS3822に対応する。図21(B)は、クラウドスキャンAPP148における読取ジョブの削除処理を表すフローチャートの一例を示す図である。本処理は、図9のS3922、図10のS4019に対応する。
図21(A)において、印刷ジョブの削除処理が要求されると、プロキシAPP143が印刷ジョブの削除処理を開始する(S5101)。プロキシAPP143は、画像変換APP144に印刷画像ファイルの削除要求を発行する(S5102)。画像変換APP144は、印刷画像ファイルの削除要求に従って、dataUriで指定されたパス(URI)に格納されている印刷画像ファイルを削除する(S5103)。次に、プロキシAPP143が、文書作成APP145に印刷対象画像の削除要求を発行する(S5104)。文書作成APP145は、印刷対象画像の削除要求に従って、印刷対象の画像、すなわちHDD202に一時的に保存している印刷対象コンテンツまたは印刷用に生成したPDFファイルを削除する(S5105)。
プロキシAPP143は、ジョブチケットの削除要求を文書作成APP145に発行する(S5106)。文書作成APP145は、ジョブチケットの削除要求に従って、ジョブチケット(印刷設定ファイル)を削除する(S5107)。そして、プロキシAPP143は、ジョブ情報を削除し、ジョブキュー(図18)からもそのジョブを削除する(S5108)。そして、本処理フローを終了し、この処理の呼び出し元の処理フローに戻る(S5109)。
図21(B)において、読取ジョブの削除処理が要求されると、クラウドスキャンAPP148が読取ジョブの削除処理を開始する(S5151)。クラウドスキャンAPP148は、一時読取画像ファイルの削除要求を読取APP147に発行する(S5152)。読取APP147は、一時読取画像ファイルの削除要求に従って、temporaryUploadUriで指定されたパス(URI)に一時的に格納されている一時読取画像ファイルを削除する(S5153)。次に、クラウドスキャンAPP148は、ジョブチケットの削除要求を読取APP147に発行する(S5154)。読取APP147は、ジョブチケットの削除要求に従って、読取設定ファイル(ジョブチケット)を削除する(S5155)。
クラウドスキャンAPP148は、ジョブ情報の削除要求をプロキシAPP143に発行する(S5156)。プロキシAPP143は、ジョブ情報の削除要求に従って、ジョブ情報を削除し、ジョブキュー(図18)からもそのジョブを削除する(S5157)。そして、本処理フローを終了し、この処理の呼び出し元の処理フローに戻る(S5158)。
(排他制御の解除処理)
図23は、MFP3における排他制御の解除処理を表すフローチャートの一例を示す図である。第1の実施形態では、図23(A)について説明する。本処理は、図6のS3626、図8のS3826、図9のS3926に対応する。
図23(A)において、例えば、ユーザが、MFP3の操作部20のホームボタン(不図示)を押すと、MFP3は、Webブラウザ27を終了し、表示部21にMFP3のホーム画面を表示した後、本処理フローを開始する(S5301)。MFP3は、図6のS3607にて設定したジョブ通知の受付だけを許可するモードから、通常のジョブ通知受信モードへ移行する(S5302)。そして、MFP3は、外部から入稿されるジョブの排他制御を解除する(S5303)。その後、本処理フローを終了する(S5304)。
なお、タイムアウトによって、MFP3が排他制御の解除処理を実行する場合もある。例えば、文書作成APP145は、MFP3のWebブラウザ27からのHTTPリクエストの間隔をモニタする。そして、ある一定時間(例えば5分)、Webブラウザ27からのHTTPリクエストを受信しなかった場合、文書作成APP145は、Webページの情報に埋め込まれているJavaScript(登録商標)を介して、MFP3にタイムアウトを通知する。具体的には、Webブラウザ27は、JavaScript(登録商標)を介して、MFP3がWebブラウザ27に対してエクスポートしているTimeout関数を実行する。MFP3は、Timeout関数がコールされた時、図23(A)に示す排他制御の解除処理を実行する。
以上により、低機能の複合機を含む制御システムにおいて、ユーザの操作性を向上させ、サーバの負荷の削減、通信経路のデータ量の削減、データ通信費のコストダウンが可能となる。
<第2の実施形態>
本願発明に係る第2の実施形態について説明する。
[処理フロー]
図8は、MFP3のWebブラウザ27から文書作成APP145を実行して印刷を行う時の処理を表すフローチャートの一例を示す図である。本処理フローは、第1の実施形態における図6に対応する。なお、図8において、図6で既に説明した内容に関しては、その説明を省略する。具体的には、図8において、ジョブの登録処理(S3815)、S3819、ジョブ情報の返信処理(S3820)の処理以外は、図6の処理と同じであるため、説明を省略する。また、本実施形態においては、ジョブキューは、図18(B)に示す1つの種類のキューからなる構成を有するものとする。
図8のS3813において、文書作成APP145は、印刷要求をMFP3から受け付けると、クラウド印刷APP146に印刷ジョブを発行する。この時、MFP3からの印刷要求に基づいて、印刷ジョブの印刷要求を発行したホストがMFPである旨を表す情報(host=mfp)と、この印刷ジョブがMFP3へのジョブ通知を必要としない旨を表す情報(notification=no)とが、印刷ジョブの中に含まれる。クラウド印刷APP146は、プロキシAPP143のプリントキューに印刷ジョブを入稿する(S3814)。この時、クラウド印刷APP146は、印刷ジョブの発行年月日・時刻を更に印刷ジョブに付加する。プロキシAPP143は、図15(A)に示すジョブの登録処理を実行してジョブID(印刷ジョブID)をクラウド印刷APP146に返す(S3815)。そして、プロキシAPP143は、MFP3からの印刷ジョブ取得要求待ちの状態となる(S3816)。
S3817において、MFP3は、文書作成APP145から印刷ジョブの発行済みである旨の情報を受信すると、表示部21に「印刷準備中」または「印刷中」というような印刷関連処理を実行中である旨を表すメッセージを表示する。これにより、MFP3は、印刷モード(印刷処理中)に移行したことをユーザに知らせる。この時、MFP3は、負荷を軽減するためにWebブラウザ27を介さずにこのメッセージを表示する。また、MFP3は、プロキシAPP143がS3815(図15(A))にて生成したジョブID(印刷ジョブID)も取得する。MFP3は、画像変換APP144が画像変換(図13のS4306)に要する想定時間(例えば3秒)の経過を待つ(S3818)。その後、MFP3は、ジョブID(印刷ジョブID)でジョブを指定してプロキシAPP143にジョブ(印刷ジョブ)取得要求を発行する(S3819)。プロキシAPP143は、図15(B)に示すジョブ情報の返信処理を実行し、その結果として印刷ジョブ情報をMFP3へ返信する(S3820)。以降の処理は、第1の実施形態と同様である。
(ジョブの登録処理およびジョブ情報の返信処理)
図15は、プロキシAPP143におけるジョブの登録処理とジョブ情報の返信処理を表すフローチャートの一例を示す図である。
図15(A)は、プロキシAPP143におけるジョブの登録処理を表すフローチャートの一例を示す図である。図8のS3815においてジョブの登録処理が要求されると、図15(A)にて、プロキシAPP143はジョブの登録処理を開始する(S4501)。プロキシAPP143は、ジョブキュー(図18(B))にジョブを登録し、図19に示すジョブ情報を格納するためのテーブルに各情報を保存する(S4502)。そしてプロキシAPP143は、ジョブIDを生成する(S4503)。その後、プロキシAPP143は、ジョブID(印刷ジョブIDまたは読取ジョブID)をこの処理の呼び出し元に返し、本処理フローを終了する(S4504)。
図15(B)は、プロキシAPP143におけるジョブ情報の返信処理を表すフローチャートの一例を示す図である。図8のS3820において、MFP3からジョブ情報の返信処理が要求されると、図15(B)において、プロキシAPP143はジョブ情報の返信処理を開始する(S4510)。プロキシAPP143は、ジョブ情報に含まれるデバイスIDを用いて対象のデバイスのジョブキューを特定する(S4511)。そして、プロキシAPP143は、特定したジョブキューにおいて、図8のS3819にておいてMFP3から指定されたジョブIDと一致するジョブの有無を確認する(S4512)。ここで、ジョブキューの例としては、図18(B)を用いる。ジョブキュー内にジョブが有ると判定した場合(S4513にてYES)S4514へ進み、ジョブが無いと判定した場合(S4513にてNO)S4516へ進む。
S4514において、プロキシAPP143は、ジョブキュー内に登録されている指定されたジョブIDに対応するジョブ情報を取得する。S4515において、プロキシAPP143は、S4514で取得したジョブ情報をデバイスに返信する。そして、本処理フローを終了する(S4517)。S4516において、プロキシAPP143は、対象のデバイスのジョブキュー内にジョブIDに対応するジョブが無いため、ジョブ情報が存在しない旨を要求元のデバイス(ここではMFP3)に返信する。そして、本処理フローを終了する(S4517)。
尚、上述した第1の実施形態の図7と第2の実施形態を組合せてもよい。具体的には、S3715において、MFP3がジョブID(印刷ジョブID)でジョブを指定してプロキシAPP143にジョブ(印刷ジョブ)取得要求を発行してもよい。また、後述する第3の実施形態の図9と第2の実施形態とを組合せてもよい。具体的には、図9のS3918において、MFP3がジョブID(読取ジョブID)でジョブを指定してプロキシAPP143にジョブ(読取ジョブ)取得要求を発行してもよい。同様に、後述する第3の実施形態の図10と第2の実施形態とを組合せてもよい。具体的には、図10のS4015において、MFP3が、ジョブID(読取ジョブID)でジョブを指定してプロキシAPP143にジョブ(読取ジョブ)取得要求を発行してもよい。
尚、図18(B)に示すようにプロキシAPP143がジョブキューを1つだけ備える場合に、MFP3がジョブID(印刷ジョブID)でジョブを指定してプロキシAPP143にジョブ取得要求を発行できないような制御システムを想定する。この場合、図8のS3812において、MFP3のWebブラウザ27が文書作成APP145に印刷要求を発行する際にジョブに優先順位の属性を付加してもよい。この時、Webブラウザ27は、このジョブに優先順位「最高」の属性情報を付加する。S3813において、文書作成APP145は、ジョブの優先順位の属性情報をクラウド印刷APP146に送信する。S3814において、クラウド印刷APP146は、ジョブの優先順位の属性情報をプロキシAPP143に送信する。S3815において、プロキシAPP143が図15(A)に示すジョブの登録処理を実行する際に、S4502において、ジョブの優先順位を確認し、優先順位の高い順にジョブキューにジョブを登録する。
これにより、MFPがジョブIDでジョブを指定してプロキシAPPにジョブ取得要求を発行できないような場合でも、MFPのWebブラウザから文書作成APPに発行された印刷要求を最優先の印刷ジョブとして処理することができる。その結果、外部からのジョブに割り込まれることなくMFP3で印刷することができ、ユーザの操作性に優れたシステムを提供することが可能となる。
<第3の実施形態>
本願発明の第3の実施形態について説明する。第1の実施形態は印刷ジョブの例について述べたが、本実施形態は、読取ジョブの例について述べる。なお、第1の実施形態と重複する箇所については、説明を省略する。
[処理フロー]
(MFPから読取指示を行う場合の処理)
図9は、MFP3のWebブラウザ27から読取APP147を実行してMFP3にセットされている原稿の読取(スキャン)を行う時の処理を表すフローチャートの一例を示す図である。図9において、ユーザが、MFP3のWebブラウザ27を起動して読取APP147を実行することにより処理が開始される(S3901)。MFP3は、プロキシAPP143にジョブ取得要求を発行する(S3902)。プロキシAPP143は、ジョブ取得要求に従って、図14に示すジョブ情報の返信処理を実行し、その結果をMFP3へ返信する(S3903)。S3904において、MFP3は、第1の実施形態のS3604と同様に印刷ジョブ情報または読取ジョブ情報を受信した場合、S3621またはS3920に示す印刷処理または読取処理を実行する。
MFP3は、印刷処理または読取処理が終了した後、その旨をプロキシAPP143に通知する(S3904)。S3905において、プロキシAPP143は、図21に示すジョブの削除の処理を実行し、そのジョブに関する一連の処理を終了する(S3906)。
第1の実施形態にて述べたように、本発明では、ユーザがMFP3のWebブラウザ27を操作して発行されたジョブを最優先して実行することを目的としている。そのため、例えば、S3902において、MFP3がプロキシAPP143にジョブ取得要求を発行する際に、図18(A)に示すジョブキュー内の最優先ジョブキューのジョブだけを取得するオプションを指定する。そして、プロキシAPP143が、最優先ジョブキューにジョブが登録されている時だけMFP3にジョブ情報を返信するようにする。これにより、ユーザが、MFP3内のWebブラウザ27から起動されているアプリケーションから発行されたジョブを最優先して実行したり、Webブラウザ27を操作して読取APP147等の各アプリケーションを最優先して操作したりすることができる。
S3907において、MFP3は、外部から入稿されるジョブを排他し、ジョブ通知の受付だけを許可するモードに移行して、S3908へ進む。このモードにおける、MFP3が行うジョブ通知受信処理を図16に示す。S3908において、MFP3のWebブラウザ27が読取APP147に図20(A)に示すホーム画面742を要求する。読取APP147は、要求に応じて、MFP3にホーム画面742の情報を送信する(S3909)。そして、MFP3は、Webブラウザ27でホーム画面742を表示する(S3908)。ユーザがMFP3のWebブラウザ27を操作してアップロード先設定ボタン739を押下し、読取画像ファイルのアップロード先の選択を指示すると、Webブラウザ27は読取APP147に図20(B)に示すアップロード先の選択画面750を要求する(S3910)。読取APP147は、要求に応じて、MFP3にアップロード先の選択画面750の情報を送信する(S3911)。そして、MFP3は、Webブラウザ27にてアップロード先の選択画面750を表示する(S3910)。
ユーザが、読取画像ファイルのアップロード先を指定して選択ボタン754を押下すると、Webブラウザ27は、ホーム画面742を表示する。この時、ホーム画面742内のアップロード先表示部733に、ユーザが選択した読取画像ファイルのアップロード先が反映された状態で更新される。ユーザが読取ボタン734を押下すると、Webブラウザ27は、読取APP147に読取要求を発行する(S3912)。この時、読取要求を発行したホストがMFPである旨を表す情報(host=mfp)と、読取要求がMFP3へのジョブ通知を必要としない旨を表す情報(notification=no)とが、読取要求の中に含まれる。
読取APP147は、読取要求を受け付けると、クラウドスキャンAPP148に読取ジョブを発行する(S3913)。この時、MFP3から受信した読取要求に従って、読取ジョブの読取要求を発行したホストがMFPである旨を表す情報(host=mfp)と、読取ジョブがMFP3へのジョブ通知を必要としない旨を表す情報(notification=no)とが、読取ジョブの中に含まれる。クラウドスキャンAPP148は、プロキシAPP143のスキャンキューに読取ジョブを入稿する(S3914)。この時、クラウドスキャンAPP148は、読取ジョブの発行年月日・時刻の情報を更に読取ジョブに付加する。プロキシAPP143は、図11に示すジョブの登録処理を実行してジョブID(読取ジョブID)をクラウドスキャンAPP148に返す(S3915)。そして、プロキシAPP143は、MFP3からの読取ジョブ取得要求待ちの状態に入る(S3916)。
クラウドスキャンAPP148は、プロキシAPP143から返されたジョブID(読取ジョブID)を読取APP147に返す。さらに、読取APP147は、クラウドスキャンAPP148からジョブIDを受け付けたことに応じて、読取ジョブを発行した旨を表す情報をMFP3に通知する。この時、読取APP147は、通知する情報の中に、クラウドスキャンAPP148から返されたジョブID(読取ジョブID)を含めて通知する。この通知は、例えば、Webページの情報に埋め込まれているJavaScript(登録商標)を利用して行うことができる。読取ジョブが発行された時に、Webブラウザ27は、JavaScript(登録商標)を介して、MFP3がWebブラウザ27に対してエクスポートしているScan関数を実行する。
Scan関数がコールされることで、MFP3は、スキャンキューに読取ジョブが登録されたことを表す情報を受信する。この時、受信した情報の中に含まれるジョブID(読取ジョブID)が、Scan関数の引数としてMFP3に渡され、MFP3は、プロキシAPP143が生成したジョブID(読取ジョブID)も取得する(S3917)。このように、MFP3がScan関数を備え、Webブラウザ27がJavaScript(登録商標)を介してScan関数を利用することで、不要なジョブ通知を無くすことができる。その結果、サーバの不可の削減、通信経路のデータ量の削減、データ通信費のコストダウンすることができる。
MFP3は、プロキシAPP143にジョブ(読取ジョブ)取得要求を発行する(S3918)。プロキシAPP143は、ジョブ情報の返信処理(図14)を実行し、その結果として次に示すような読取ジョブ情報をMFP3へ返信する(S3919)。
[読取ジョブ情報の例]
jobId: scn0306
dateTime: 20120814122423008
host: mfp
owner: chancy
deviceId: 77778888
ticketUri: https://ske88funclub.com/scan/ticket/scn0306/ticket.xml
uploadUri: https://storageservice.xxx/user/chancy/private/
temporaryUploadUri: https://ske88funclub.com/scan/data/scn0306/
status: queued
MFP3は、返信された読取ジョブ情報から読取設定を表す読取設定ファイルの格納先と読取画像ファイルの一時アップロード先を取得する。以下において、読取設定ファイルと読取画像ファイルを合わせたものを、読取データと呼ぶ。また、読取設定ファイルを(読取)ジョブチケットと呼ぶ場合もある。読取設定ファイルはticketUriで指定されたパス(URI)に格納されており、読取画像ファイルはtemporaryUploadUriで指定されたパス(URI)に、後述するS3920の処理により一時的に格納される。読取設定ファイルはPC7内のHDD202に格納されている。読取画像ファイルの一時アップロード先は、クラウドスキャンAPP148が利用可能なストレージ内に用意されている。本実施形態では、PC7内のHDD202に読取画像ファイルが格納される。MFP3は、表示部21に「原稿をセットして、スタートボタンを押してください。」というような読取操作方法を表すメッセージを表示し、読取操作方法をユーザに知らせる。この時、MFP3は、Webブラウザ27を介さずにこのメッセージを表示する。
ユーザが原稿をセットして操作部20内にあるスタートボタンを押すと、MFP3は、ticketUriで指定されたパス(URI)にアクセスし、読取設定ファイルを取得する。MFP3は、読取設定ファイルの内容に従って読取を実行する。そして、MFP3は、読取処理によって生成した読取画像ファイルを、temporaryUploadUriで指定されたパス(URI)にアップロードし、その後、読取が終了したことをプロキシAPP143に通知をする(S3920)。S3921において、クラウドスキャンAPP148は、temporaryUploadUriで指定されたパス(URI)に一時的に格納されている読取画像ファイルを、uploadUriで指定されたパス(URI)にアップロードする。S3922において、クラウドスキャンAPP148は、ジョブの削除の処理(図21)を実行し、そのジョブに関する一連の処理を終了する(S3923)。
S3920において、読取処理が終了した後、MFP3のWebブラウザ27は、読取APP147にホーム画面742を要求する(S3924)。読取APP147は、要求に従って、MFP3にホーム画面742の情報を送信する(S3925)。MFP3は、Webブラウザ27にて受信したホーム画面742を表示する(S3924)。そして、MFP3は、ユーザの入力操作待ちの状態となる(S3926)。
(モバイル端末から読取指示を行う場合の処理)
図10は、モバイル端末14のWebブラウザ9から読取APP147を実行して読取を行う時の処理を表すフローチャートの一例を示す図である。ユーザが、モバイル端末14のWebブラウザ9を起動して読取APP147を実行することにより、図10の処理が開始される(S4001)。Webブラウザ9は、読取APP147に図20(A)に示すホーム画面742を要求する(S4002)。読取APP147は、要求に応じてモバイル端末14にホーム画面742の情報を送信する(S4003)。モバイル端末14は、Webブラウザ9にてホーム画面742を表示する(S4002)。ユーザがモバイル端末14のWebブラウザ9を操作してアップロード先設定ボタン739を押下すると、Webブラウザ9は、読取APP147に図20(B)に示すアップロード先の選択画面750を要求する(S4004)。読取APP147は、要求に応じて、モバイル端末14にアップロード先の選択画面750の情報を送信する(S4005)。モバイル端末14のWebブラウザ9は、受信したアップロード先の選択画面750を表示する(S4004)。
ユーザが、読取画像ファイルのアップロード先を指定して選択ボタン754を押下すると、モバイル端末14のWebブラウザ9がホーム画面742を表示する。この時、アップロード先表示部733に、ユーザが選択した読取画像ファイルのアップロード先が反映された状態で更新される。ユーザが読取ボタン734を押下すると、Webブラウザ27は、読取APP147に読取要求を発行する(S4006)。この時、読取要求を発行したホストがモバイル端末である旨を表す情報(host=phone)と、読取要求がMFP3へのジョブ通知を必要とする旨を表す情報(notification=yes)とが、読取要求の中に含まれる。
読取APP147は、読取要求を受け付けると、クラウドスキャンAPP148に読取ジョブを発行する(S4007)。この時、読取ジョブの読取要求を発行したホストがモバイル端末である旨を表す情報(host=phone)と、読取ジョブがMFP3へのジョブ通知を必要とする旨を表す情報(notification=yes)とが、読取ジョブの中に含まれる。クラウドスキャンAPP148は、プロキシAPP143のスキャンキューに読取ジョブを入稿する(S4008)。この時、クラウドスキャンAPP148は、読取ジョブの発行年月日・時刻を更に読取ジョブに付加する。プロキシAPP143は、ジョブの登録処理(図11)を実行してジョブID(読取ジョブID)をクラウドスキャンAPP148に返す(S4009)。そして、プロキシAPP143は、モバイル端末14からの読取ジョブ取得要求待ちの状態に入る(S4010)。
S4008において、クラウドスキャンAPP148は、プロキシAPP143から返されたジョブID(読取ジョブID)を読取APP147に返す。モバイル端末14のWebブラウザ9は、読取APP147に発行した読取要求のレスポンスを受信すると、読取APP147に読取実行確認画面を要求する(S4011)。読取APP147は、要求に応じてモバイル端末14に読取実行確認画面の情報を送信する(S4012)。そしてモバイル端末14は、Webブラウザ9で受信した読取実行確認画面を表示し、Webブラウザ9上に「MFPで読取を実行してください」というメッセージが表示する(S4011)。そして、モバイル端末14は、アップロード完了待ち状態となる(S4013)。
図13のS4309において、プロキシAPP143がMFP3にジョブ(読取ジョブ)通知を送信すると、MFP3がこのジョブ(読取ジョブ)通知を受信し(S4014)、プロキシAPP143にジョブ(読取ジョブ)取得要求を発行する(S4015)。プロキシAPP143は、ジョブ情報の返信処理(図14)を実行し、その結果として次に示すような読取ジョブ情報をMFP3へ返信する(S4016)。
[読取ジョブ情報の例]
jobId: scn0304
dateTime: 20120814122045250
host: phone
owner: akb88
deviceId: 77778888
ticketUri: https://ske88funclub.com/scan/ticket/scn0304/ticket.xml
uploadUri: https://storageservice.xxx/user/akb88/private/
temporaryUploadUri: https://ske88funclub.com/scan/data/scn0304/
status: queued
MFP3は、返信された読取ジョブ情報から読取設定を表す読取設定ファイルの格納先と読取画像ファイルの一時アップロード先を取得する。読取設定ファイルはticketUriで指定されたパス(URI)に格納されており、読取画像ファイルはtemporaryUploadUriで指定されたパス(URI)に、後述するS4017の処理により一時的に格納される。読取画像ファイルの一時アップロード先は、クラウドスキャンAPP148が利用可能なストレージに用意されている。本実施形態では、PC7内のHDD202に読取画像ファイルが格納される。MFP3は、表示部21に「原稿をセットして、スタートボタンを押してください。」というような読取操作方法を表すメッセージを表示して、読取操作方法をユーザに知らせる。このとき、MFP3は、Webブラウザ27を介さずにこのメッセージを表示する。
ユーザが原稿をセットして操作部20内にあるスタートボタンを押すと、MFP3は、ticketUriで指定されたパス(URI)にアクセスして、読取設定ファイルを取得する。MFP3は、読取設定ファイルの内容に従って読取を実行する。そして、MFP3は、読取処理によって生成した読取画像ファイルを、temporaryUploadUriで指定されたパス(URI)にアップロードし、その後、読取が終了したことをプロキシAPP143に通知する(S4017)。そして、MFP3は、オンラインのスタンバイ状態となる(S4021)。S4018において、クラウドスキャンAPP148は、temporaryUploadUriで指定されたパス(URI)に一時的に格納されている読取画像ファイルを、uploadUriで指定されたパス(URI)にアップロードする。S4019において、クラウドスキャンAPP148は、ジョブの削除の処理(図21)を実行し、そのジョブに関する一連の処理を終了する(S4020)。
S4018において、クラウドスキャンAPP148がアップロードを完了すると、読取APP147を介してその旨がモバイル端末14のWebブラウザ9に通知される(この部分のフローに関してはこの図では省略)。そして、Webブラウザ9は、読取APP147にホーム画面742を要求する(S4022)。読取APP147は、要求に応じてモバイル端末14にホーム画面742の情報を送信する(S4023)。モバイル端末14は、Webブラウザ9にてホーム画面742を表示する(S4022)。そして、モバイル端末14は、ユーザの入力操作待ち状態となる(S4024)。
以上、読取ジョブにおいても、第1の実施形態における印刷ジョブと同様に本発明を適用することができる。
<第4の実施形態>
第1の実施形態において、図6に示すようなMFP3のWebブラウザ27を操作して、文書作成APP145で開いている文書を印刷する例を挙げた。この場合、ユーザがMFP3のWebブラウザ27を操作して、文書作成APP145が1つの印刷ジョブを発行し、その印刷ジョブが最優先されてMFP3で印刷される仕組みを実現することが可能である。しかし、例えば、複数の文書を順に連続して印刷するような機能を文書作成APP145が備える場合を考える。この場合、第1の実施形態では図18(A)の最優先ジョブキューの容量が1つであるため、文書作成APP145から連続して発行された印刷ジョブが発行された順で正しく印刷されない、という問題がある。第4の実施形態では、この問題を解決する例を説明する。尚、第4の実施形態の説明において、第1〜第3の実施形態で既に説明した内容に関しては、その説明を省略する。
(ジョブの登録処理)
図12は、プロキシAPP143におけるジョブの登録処理を表すフローチャートの一例を示す図である。本処理は、図6のS3615、図7のS3709、図8のS3815、図9のS3915、図10のS4009の処理にて図11の代わりに実行される。また、本実施形態では、ジョブキューの構成は、図18(D)に示す構成を用いるものとする。
ジョブの登録処理が要求されると、図12において、プロキシAPP143はジョブの登録処理を開始する(S4201)。S4202にて、プロキシAPP143は、ジョブの要求元であるホストの種類を確認する。ホストがMFP(host=mfp)であると判定した場合(S4202にてYES)S4203へ進み、それ以外(モバイル端末、PC)と判定した場合(S4202にてNO)S4209へ進む。
S4203において、プロキシAPP143は、図18(D)に示すジョブキューの最優先ジョブキュー内のジョブの有無を確認する。ジョブキュー内の最優先ジョブキューにジョブが有ると判定した場合(S4204にてYES)S4205へ進み、ジョブが無いと判定した場合(S4204にてNO)S4208へ進む。S4205において、プロキシAPP143は、最優先ジョブキュー内の既存の全てのジョブに対して、図19(A)に示すジョブ情報を参照し、その中からそれぞれのジョブの発行年月日・時刻を取得する。
S4206において、プロキシAPP143は、登録対象となるジョブの発行年月日・時刻を取得する。S4207において、プロキシAPP143は、最優先ジョブキューに、発行年月日・時刻順となるようにジョブを登録し、図19(A)に示すジョブ情報を格納するためのテーブルに各情報を保存する。S4208において、プロキシAPP143は、最優先ジョブキューの先頭にジョブを登録する。
S4209において、プロキシAPP143は、ジョブの種類を確認する。ジョブの種類が印刷ジョブであると判定した場合(S4209にてYES)S4210へ進み、それ以外のジョブ(読取ジョブ)であると判定した場合(S4209にてNO)S4211へ進む。S4210において、プロキシAPP143は、図18(D)に示すジョブキュー内の一般プリントキューの最後尾にジョブを登録し、図19に示すジョブ情報を格納するテーブルに各情報を保存する。S4211において、プロキシAPP143は、図18(D)に示すジョブキュー内の一般スキャンキューにジョブを登録し、図19に示すジョブ情報を格納するテーブルに各情報を保存する。ジョブの登録の後、S4212において、プロキシAPP143は、ジョブID(印刷ジョブIDまたは読取ジョブID)を生成する。S4213において、プロキシAPP143は、ジョブID(印刷ジョブIDまたは読取ジョブID)をこの処理の呼び出し元に返し、本処理フローを終了する(S4213)。
以上により、第1の実施形態の効果に加え、MFPにおいて連続して発行された複数のジョブに対して、正しい順序で処理を行うことができる。
<第5の実施形態>
第1〜第3の実施形態では、文書作成APP145または読取APP147が、ジョブを発行した旨を表す情報をMFP3に通知する例を挙げた。別の実施形態として、文書作成APP145(または読取APP147)がジョブを発行した旨を表す情報をMFP3に通知する代わりに、プロキシAPP143がMFP3にジョブ通知を発行するようにしてもよい。この時、プロキシAPP143は、ジョブ通知の中に、ジョブID(印刷ジョブIDもしくは読取ジョブID)を含めて、MFP3に通知する。これにより、MFP3が、図6のS3618や図8のS3818に示すような画像変換に要する想定時間の経過を待つ必要がなくなる。
本実施形態では、プロキシAPP143のジョブの登録処理(図6のS3615、図8のS3815、図9のS3915)を実行した後の処理が上記の実施形態と異なる。具体的には、プロキシAPP143は、登録処理の後に、対象となるジョブがMFP3のWebブラウザ27から発行されたジョブ、すなわち、ホストがMFP(host=mfp)であるジョブであることを表す情報を付加し、MFP3に対してジョブ通知を発行する。その結果、MFP3は、画像変換処理の待ちを生じさせることなく、ジョブ通知を受信する。そして、MFP3は、第1の実施形態にて述べた図16(A)の処理の代わりに、後述する図16(B)に示す処理を実行することで、印刷処理や読取処理を効率良く行うことができる。これにより、MFP3は、図6のS3618(もしくは、図8のS3818)の処理を実行することなく、S3617〜S3619(もしくは、S3817〜S3819、S3917〜S3918)間でジョブ通知を受信することとなる。
図16(B)は、MFP3におけるジョブ通知受信処理を表すフローチャートである。尚、ジョブ通知有り情報は、第1の実施形態にて述べた図16(A)と同様である。また、図16(B)において、図16(A)で説明したステップと同一処理を行うステップに関しては、同一ステップ番号を記載しており、その説明を省略する場合がある。
MFP3がプロキシAPP143から発行されたジョブ通知を受信すると、図16(B)において、MFP3はジョブ通知受信処理を開始する(S4601)。MFP3は、Webブラウザ27でアプリケーションを実行中か否かを確認する(S4602)。Webブラウザ27でアプリケーションを実行中であると判定した場合(S4603にてYES)S4609へ進み、それ以外の場合(S4603にてNO)S4605へ進む。尚、S4603において、MFP3がWebブラウザ27を起動しているがアプリケーションを何も実行していないような場合も、Webブラウザ27でアプリケーション実行中であると判定するものとする。
S4609において、MFP3は、ジョブ通知に付加されている情報をもとに、そのジョブがデバイスから発行されたジョブ、すなわち、ホストがMFP(host=mfp)であるジョブか否かを確認する。デバイスから発行されたジョブであると判定した場合(S4610にてNO)S4604へ進み、それ以外と判定した場合(S4610にてYES)S4605へ進む。
S4606において、MFP3は、印刷ジョブ情報または読取ジョブ情報を受信し、S4607へ進む。以降の処理については、説明を省略する。これにより、第1の実施形態の効果に加え、処理の待ち時間を削減することができる。
<第6の実施形態>
本発明に係る更に別の実施形態を第6の実施形態として示す。ユーザが、MFP3のWebブラウザ27から文書作成APP145または読取APP147を起動して印刷要求操作または読取要求操作を行い、文書作成APP145または読取APP147がジョブを発行するケースを考える。このようなケースの場合、MFP3が発行されたジョブを確実に取得して処理を実行することが期待される。
本実施形態では、例えば第1の実施形態に示した図6のS3619において、MFP3がプロキシAPP143にジョブ取得要求を発行する際に、このジョブ取得要求の中にデバイスから発行されたジョブ、すなわちホストがMFP(host=mfp)であるジョブのジョブ情報だけを要求する属性を付加する。プロキシAPP143は、このジョブ情報を受信すると、図14のS4401〜S4404及びS4412〜S4414の処理だけを実行し、最優先ジョブキュー内のジョブ情報をMFP3に返信する。ここで、プロキシAPP143が最優先ジョブキュー内にジョブが無いと判定した場合(S4404にてNO)、S4411とS4414の処理のみを実行する。これにより、ユーザがMFP3のWebブラウザ27を操作して印刷要求操作または読取要求操作を行って発行されたジョブを、MFP3で他からのジョブに割り込まれることなく確実に印刷することができ、ユーザの操作性を向上することができる。
図6のS3617において、MFP3は、取得したジョブIDを確認する。その結果、MFP3は、取得したジョブIDが「prn」の付いたジョブIDであることから印刷ジョブであると判定する。MFP3は、S3619において、プロキシAPP143にジョブ(印刷ジョブ)取得要求を発行する際に、上述したように印刷ジョブのジョブ情報だけを要求する属性を付加する。プロキシAPP143は、この属性情報が付加されたジョブ情報を受信すると、図14のS4403において最優先ジョブキュー内のジョブの中から印刷ジョブの有無だけを確認する。そして、印刷ジョブがあると判定した場合(S4404にてYES)、S4412〜S4414の処理を実行して印刷ジョブのジョブ情報をMFP3に返信する。それ以外の場合(S4404にてNO)、MFP3は、S4411とS4414の処理を実行する。これにより、文書作成APP145が印刷ジョブを発行した場合、MFP3がその印刷ジョブを確実に受信して印刷処理を実行することができ、ユーザの操作性を向上することができる。
読取ジョブについても同様である。この場合、ジョブIDには「scn」が付与されているものとする。したがって、読取APP147が読取ジョブを発行した場合にも、MFP3がその読取ジョブを確実に受信して読取処理を実行することができ、ユーザの操作性を向上することができる。
<第7の実施形態>
第1の実施形態では、Webブラウザ27を利用した文書作成APP145のユーザ操作を、図6のS3612における操作後からS3624までの間、一時的に受け付けないようにして、MFP3が印刷を実行する例を挙げた。このとき、MFP3がWebブラウザ27を終了することなく印刷を実行していたが、廉価版のMFPの中には、CPU15やRAM17等のMFPのハードウェアリソースの制限により、Webブラウザを起動した状態で印刷を実行できないMFPが存在するケースが考えられる。このようなケースに対応するための第7の実施形態を述べる。
図22は、MFP3のWebブラウザ27から文書作成APP145を実行して印刷を行う時の処理を表すフローチャートの一例を示す図である。図22は、第1の実施形態にて述べた図6に対応する。図22において、図6で既に説明した内容に関しては、同一ステップ番号を付加しており、その説明を省略する。また、図6のS3602〜S3606に相当する処理に関しては、図22においては省略しており、その説明も省略する。
図22において、ユーザが、MFP3のWebブラウザ27を起動し文書作成APP145を実行すると、本処理フローが開始される(S5201)。MFP3は、外部から入稿されるジョブを排他し、ジョブ通知の通信リンクを切断してジョブ通知を排他する(S5202)。MFP3は、Webブラウザ27を使用中である旨をプロキシAPP143に通知する(S5203)。プロキシAPP143は、MFP3からWebブラウザ27を使用中である旨の通知を受信すると、ジョブを処理する対象デバイスがMFP3の場合において通常モードからMFP専用モードに移行する(S5204)。
この「MFP専用モード」では、プロキシAPP143は、図13のS4304またはS4307において、判定条件としてジョブの範囲をホストがMFP(host=mfp)であるジョブに限定する条件を加えて判定する。従って、MFP専用モードでは、プロキシAPP143は、図13のS4304またはS4307において、ホストがMFP以外(host=phone)であるジョブがジョブキュー内に存在しても「偽」と判定する(S4304またはS4307にてNO)。これに対し、ホストがMFP(host=mfp)であるジョブがジョブキュー内に存在する場合だけ「真」と判定する(S4304またはS4307にてYES)。また、MFP専用モードでは、図14において、MFP3は、S4401〜S4404、S4412〜S4414だけの処理を実行し、S4405〜S4411の処理を実行しない。
これにより、プロキシAPP143が、対象デバイス(ここではMFP3)がMFP専用モードの場合には、ユーザがMFP3のWebブラウザ27を操作することで文書作成APP145や読取APP147等から発行されたジョブだけが処理される。
S5204においてプロキシAPP143がMFP専用モードに移行した後、S3608〜S3616の処理が実行される。この中で、文書作成APP145は、印刷ジョブを発行した旨を表す情報をMFP3に通知する。この時、文書作成APP145は、通知する情報の中に、クラウド印刷APP146から返されたジョブID(印刷ジョブID)を含めて、MFP3に通知する。この通知は、例えば、Webページの情報に埋め込まれているJavaScript(登録商標)を利用して行うことができる。
印刷ジョブが発行された時に、Webブラウザ27は、JavaScript(登録商標)を介して、MFP3がWebブラウザ27に対してエクスポートしているPrint関数を実行する。MFP3は、Print関数がコールされることで、プリントキューに印刷ジョブが登録されたことを表す情報を受信する。この時、受信した情報の中に含まれるジョブID(印刷ジョブID)が、Print関数の引数としてMFP3に渡され、MFP3は、プロキシAPP143が生成したジョブID(印刷ジョブID)も取得する(S5205)。
MFP3は、Webブラウザ27を次回起動する時に表示するページ(文書作成APP145のホーム画面)のURL(Uniform Resource Locator)をRAM17に保存し、Webブラウザ27を終了する(S5205)。更にS5205において、MFP3は、印刷ジョブの発行済みである旨の情報を受信すると、表示部21に「印刷準備中」または「印刷中」というような印刷関連処理を実行中である旨を表すメッセージを表示する。これにより、MFP3は、印刷モード(印刷処理中)に移行したことをユーザに知らせる。この時、MFP3は、Webブラウザ27を介さずにこのメッセージを表示する。その後、S3618〜S3623の処理が実行され、S5206へ進む。
S5206において、MFP3は、Webブラウザ27を起動する。そして、Webブラウザ27は、S5205でRAM17に保存されたURLで指定されるページ(文書作成APP145のホーム画面)にアクセスし、文書作成APP145にホーム画面を要求する。文書作成APP145は、要求に従って、MFP3にホーム画面の情報を送信する(S5207)。MFP3は、Webブラウザ27にてホーム画面を表示する(S5206)。
ユーザがMFP3の操作部20のホームボタン(不図示)を押すと、MFP3は、Webブラウザ27を終了し、表示部21にMFP3のホーム画面を表示する(S5208)。MFP3は、Webブラウザ27を終了した旨をプロキシAPP143に通知する(S5209)。プロキシAPP143は、MFP3からWebブラウザを終了した旨の通知を受信すると、ジョブを処理する対象デバイスがMFP3の場合においてMFP専用モードから通常モードに移行する(S5210)。そして、MFP3は、ユーザの入力操作待ち状態となる(S5211)。
(排他制御の解除処理)
図23(B)は、本実施形態に係るMFP3における排他制御の解除処理を表すフローチャートである。本処理は、第1の実施形態にて述べた図23(A)の処理に代えて実行される処理である。図22のS5208において、MFP3は、Webブラウザ27を終了し、表示部21にMFPのホーム画面を表示した後、本処理フローを開始する(S5351)。MFP3は、図22のS5202にて切断されていたジョブ通知の通信リンクを確立してジョブ通知の排他を解除する(S5352)。そして、MFP3は、外部から入稿されるジョブの排他を解除する(S5353)。その後、本処理フローを終了する(S5354)。
また、タイムアウトによって、MFP3が排他制御の解除処理を実行するようにしてもよい。例えば文書作成APP145は、MFP3のWebブラウザ27からのHTTPリクエストの間隔をモニタする。そして、ある一定時間(例えば5分)、Webブラウザ27からのHTTPリクエストを受信しなかった場合、文書作成APP145は、Webページの情報に埋め込まれているJavaScript(登録商標)を介して、MFP3にタイムアウトを通知する。具体的には、Webブラウザ27は、JavaScript(登録商標)を介して、MFP3がWebブラウザ27に対してエクスポートしているTimeout関数を実行する。MFP3は、Timeout関数がコールされた時、図23(B)に示す排他制御の解除処理を実行する。
さらに、図22に対し、外部から入稿されるジョブを排他してジョブ通知の受付だけを許可するモードに移行する構成(図6のS3607)と、第5の実施形態とを組合せてもよい。これにより、図13のS4309に示すように、プロキシAPP143がMFP3にジョブ通知を発行する構成とすることができる。この時、プロキシAPP143は、ホストがMFP(host=mfp)であるジョブがジョブキュー内に存在する場合だけ、MFP3にジョブ通知を発行する。その結果、MFP3が、ホストがMFP(host=mfp)であるジョブだけを実行するとともに、S3618に示すような画像変換に要する想定時間の経過を待つ必要がなくなるので、ユーザの操作性を向上することができる。尚、この場合、図22のS5208において、MFP3は、Webブラウザ27を終了し、表示部21にMFPのホーム画面を表示した後、図23(A)に示す排他制御の解除処理を実行することとなる。
<第8の実施形態>
本発明に係る更に別の実施形態について説明する。例えば、MFPが操作部20に複雑な操作を行うためのボタンを備えず、表示部21も備えないような廉価版のMFPの場合、モバイル端末を操作部20及び表示部21の代わりとして利用するケースが考えられる。このようなケースの例として、次の2通りが考えられる。
ケース1:モバイル端末とMFPとがUSB(Universal Serial Bus)等により接続されているケース
ケース2:モバイル端末とMFPとが無線ネットワークで接続されているケース
ケース1の場合、MFPは、モバイル端末を介してクラウド印刷サービスやクラウドスキャンサービスに登録される。この場合、モバイル端末のWebブラウザが、文書作成APP145に印刷要求を発行する際または読取APP147に読取要求を発行する際は、図6、図8、図9のMFP3(Webブラウザ27)と同様な処理を実行する。
ケース2の場合、モバイル端末のWebブラウザから文書作成APP145または読取APP147が開かれた時に、各APPは、モバイル端末が操作されている場所が、MFPと同じ場所からか外部からかを判定する。この判定方法としては、例えば、モバイル端末が接続されているルーターのグローバルIPアドレスまたはMACアドレスと、MFPが接続されているルーターのグローバルIPアドレスまたはMACアドレスを取得する。そして、両者のグローバルIPアドレスが一致している場合にケース2の構成であると判定できる。別の判定方法としては、両者のMACアドレスが一致していることで同じ場所であると判定する。同じ場所から操作されていると判定した場合、モバイル端末のWebブラウザが文書作成APP145に印刷要求を発行する際または読取APP147に読取要求を発行する際に、図6、図8、図9のMFP3(Webブラウザ27)と同様な処理を実行する。
このように、MFPが操作部に複雑な操作を行うためのボタンや表示部21を備えないようなMFPの場合で、モバイル端末を操作部及び表示部の代わりとして利用するケースにおいても、本願発明は適用可能である。その結果、MFP3のWebブラウザ27を操作する時と同様に、モバイル端末のWebブラウザから発行された印刷要求や読取要求を最優先して処理することができ、ユーザの操作性に優れる。
<第9の実施形態>
上述した実施形態では、情報処理装置としてPCを想定した。しかしながら、この例に限られるものではなく、例えばDVDプレーヤー、ゲーム、セットトップボックス、インターネット家電等、同様な使用方法が可能な任意の情報処理装置(端末)に対して適用することができる。また、上述した実施形態では、周辺装置としてMFPを例示した。しかしながら、周辺装置として他に、複写機、ファクシミリ、スキャナ、デジタルカメラ、及びこれらの複合機能を備える装置等の何れかであってもよい。
また、上述した実施形態では、OSに例としてWindows(登録商標) OSを例に挙げたが、これに限られるものではなく、任意のOSを使用することができる。また、上述した実施形態では、ネットワークの構成例としてEthernet(登録商標)を用いたが、この例に限られるものではなく、例えば、無線LAN、IEEE1394、Bluetooth(登録商標)、USB等の任意のインタフェースを用いてもよい。また、各種のアプリケーション(ファームウェア)における機能、上述したフローチャートに係る処理の一部、又は全部を専用のハードウェアを用いて構成してもよい。
上述した実施形態によれば、制御システムにクラウドを利用した場合においても、システムの構築やアプリケーションの実装が容易で、開発や運用コストを削減できる。また、MFP3のような性能の低い廉価版のプリンタや複合機のファームウェアの実装にも支障をきたすことなく、各処理に時間を要することもなくなるため、ユーザの操作性を向上することができる。
また、文書作成APP145のような文書を印刷するアプリケーションを例に挙げたが、これに限るものではない。例えば、写真を印刷するアプリケーション、ファクシミリを送信または受信するアプリケーション、その他の周辺装置を利用または制御するアプリケーションなどに適用してもよい。
また、図6〜図17、図21〜図23のフローチャートの用いて主要なケースにおける処理の詳細を説明した。しかし、これらのケースに限るものではなく、例えば、図中の各処理ステップを組合せて得られる実施形態(ケース)や、一般的な制御システムと本発明を組合せて得られる制御システムも、本発明の適用範囲である。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (17)

  1. ネットワークを介して互いに接続されたWebアプリケーションサーバと、ジョブ管理サーバと、ジョブ処理装置とを含むシステムであって、
    前記ジョブ処理装置は、ユーザが前記Webアプリケーションサーバにより提供されるWebアプリケーションを利用するための利用手段を備え、
    前記Webアプリケーションサーバは、
    前記利用手段を介して前記Webアプリケーションが利用され、ジョブの発行の要求がなされた場合、所定の情報を付加してジョブを発行する発行手段と、
    前記発行したジョブを前記ジョブ管理サーバに送信する送信手段と
    を有し、
    前記ジョブ管理サーバは、
    受信したジョブに前記所定の情報が付加されている場合、第1のジョブキューに当該ジョブを登録し、前記ジョブに前記所定の情報が付加されていない場合、前記第1のジョブキューよりも優先順位が低い第2のジョブキューに当該ジョブを登録する登録手段と、
    ジョブキューに登録されたジョブを前記ジョブ処理装置へ送信する手段と、
    を有し、
    前記ジョブ処理装置は、
    前記ジョブキューに登録されたジョブを処理する処理手段を有し、
    前記処理手段は、前記第2のジョブキューに登録されたジョブより、前記第1のジョブキューに登録されたジョブを優先的に処理する、
    ことを特徴とするシステム。
  2. 前記ジョブ管理サーバは、ジョブがジョブキューに登録された際に前記ジョブ処理装置へ通知を行う通知手段を更に有し、
    前記通知手段は、登録されたジョブに前記所定の情報が付加されている場合、前記ジョブ処理装置への通知を行わないことを特徴とする請求項1に記載のシステム。
  3. 前記ジョブ処理装置は、
    前記Webアプリケーションサーバが発行したジョブの識別子を取得する取得手段と、
    前記識別子を用いて、前記ジョブ管理サーバにジョブの要求を行う要求手段と
    を更に有し、
    前記処理手段は、前記要求手段により要求されたジョブを処理することを特徴とする請求項1または2に記載のシステム。
  4. 前記要求手段は、ユーザが前記利用手段を用いて前記Webアプリケーションを利用している間、前記第1のジョブキューに登録されたジョブのみを要求することを特徴とする請求項3に記載のシステム。
  5. 前記要求手段は、ユーザが前記利用手段を用いた前記Webアプリケーションの利用が終了した後に、ジョブを要求することを特徴とする請求項3に記載のシステム。
  6. 前記第1のジョブキューは、複数のジョブを登録でき、
    前記登録手段は、発行された順にジョブを登録することを特徴とする請求項1乃至5のいずれか一項に記載のシステム。
  7. 前記第1のジョブキューには、印刷ジョブとスキャンジョブが登録され、
    前記第2のジョブキューには、印刷ジョブが登録され、
    前記第1のジョブキューよりも優先順位が低く、且つ、前記第2のジョブキューとは異なる第3のジョブキューには、スキャンジョブが登録されることを特徴とする請求項1乃至6のいずれか一項に記載のシステム。
  8. 前記第1のジョブキューは、ジョブの種類に関わらず登録することができることを特徴とする請求項1乃至7のいずれか一項に記載のシステム。
  9. 前記ジョブの種類は、印刷ジョブ、もしくは、読取ジョブであることを特徴とする請求項に記載のシステム。
  10. 前記ジョブ処理装置に接続された情報処理装置が備えるWebブラウザを当該ジョブ処理装置の利用手段として用いることを特徴とする請求項1乃至9のいずれか一項に記載のシステム。
  11. ジョブ処理装置を介してWebアプリケーションが利用され、ジョブの発行の要求がなされた場合、所定の情報を付加してジョブを発行するWebアプリケーションサーバと、前記ジョブ処理装置とにネットワークを介して接続されたジョブ管理サーバであって、
    受信したジョブに、前記所定の情報が付加されている場合、第1のジョブキューに当該ジョブを登録し、受信したジョブに前記所定の情報が付加されていない場合、前記第1のジョブキューよりも優先順位が低い第2のジョブキューに当該ジョブを登録する登録手段と、
    ユーザが前記ジョブ処理装置を介して前記Webアプリケーションを利用している間、前記ジョブ処理装置からの要求に従い、前記第1のジョブキューに登録されたジョブを送信する送信手段と、
    を有することを特徴とするジョブ管理サーバ。
  12. ジョブ処理装置を介してWebアプリケーションが利用され、ジョブの発行の要求がなされた場合、所定の情報を付加してジョブを発行するWebアプリケーションサーバと、受信したジョブに前記所定の情報が付加されている場合、第1のジョブキューに当該ジョブを登録し、受信したジョブに前記所定の情報が付加されていない場合、前記第1のジョブキューよりも優先順位が低い第2のジョブキューに当該ジョブを登録するジョブ管理サーバとにネットワークを介して互いに接続されたジョブ処理装置であって、
    ユーザが前記Webアプリケーションサーバにより提供されるWebアプリケーションを利用するための利用手段と、
    前記ジョブ管理サーバが管理するジョブを処理する処理手段と
    を有し、
    前記処理手段は、前記第2のジョブキューに登録されたジョブより、前記第1のジョブキューに登録されたジョブを優先的に処理する処理手段を有することを特徴とするジョブ処理装置。
  13. ジョブ処理装置を介してWebアプリケーションが利用され、ジョブの発行の要求がなされた場合、所定の情報を付加してジョブを発行するWebアプリケーションサーバと、前記ジョブ処理装置とにネットワークを介して接続されたジョブ管理サーバの制御方法であって、
    受信したジョブに、前記所定の情報が付加されている場合、第1のジョブキューに当該ジョブを登録し、受信したジョブに前記所定の情報が付加されていない場合、前記第1のジョブキューよりも優先順位が低い第2のジョブキューに当該ジョブを登録する登録工程と、
    ユーザが前記ジョブ処理装置を介して前記Webアプリケーションを利用している間、前記ジョブ処理装置からの要求に従い、前記第1のジョブキューに登録されたジョブを送信する送信工程と、
    を有することを特徴とする制御方法。
  14. ジョブ処理装置を介してWebアプリケーションが利用され、ジョブの発行の要求がなされた場合、所定の情報を付加してジョブを発行するWebアプリケーションサーバと、受信したジョブに前記所定の情報が付加されている場合、第1のジョブキューに当該ジョブを登録し、受信したジョブに前記所定の情報が付加されていない場合、前記第1のジョブキューよりも優先順位が低い第2のジョブキューに当該ジョブを登録するジョブ管理サーバとにネットワークを介して互いに接続された前記ジョブ処理装置の制御方法であって、
    前記ジョブ処理装置は、ユーザが前記Webアプリケーションサーバにより提供されるWebアプリケーションを利用するための利用手段を備え、
    前記第2のジョブキューに登録されたジョブより、前記第1のジョブキューに登録されたジョブを優先的に処理する処理工程を有することを特徴とする制御方法。
  15. ジョブ処理装置を介してWebアプリケーションが利用され、ジョブの発行の要求がなされた場合、所定の情報を付加してジョブを発行するWebアプリケーションサーバと、前記ジョブ処理装置とにネットワークを介して接続されたコンピュータを、
    受信したジョブに、前記所定の情報が付加されている場合、第1のジョブキューに当該ジョブを登録し、受信したジョブに前記所定の情報が付加されていない場合、前記第1のジョブキューよりも優先順位が低い第2のジョブキューに当該ジョブを登録する登録手段、
    ユーザが前記ジョブ処理装置を介して前記Webアプリケーションを利用している間、前記ジョブ処理装置からの要求に従い、前記第1のジョブキューに登録されたジョブを送信する送信手段、
    として機能させるためのプログラム。
  16. ジョブ処理装置を介してWebアプリケーションが利用され、ジョブの発行の要求がなされた場合、所定の情報を付加してジョブを発行するWebアプリケーションサーバと、受信したジョブに前記所定の情報が付加されている場合、第1のジョブキューに当該ジョブを登録し、受信したジョブに前記所定の情報が付加されていない場合、前記第1のジョブキューよりも優先順位が低い第2のジョブキューに当該ジョブを登録するジョブ管理サーバとにネットワークを介して互いに接続された前記ジョブ処理装置としてのコンピュータを、
    ユーザが前記Webアプリケーションサーバにより提供されるWebアプリケーションを利用するための利用手段、
    前記ジョブ管理サーバが管理する処理手段
    として機能させるためのプログラムであって、
    前記処理手段は、ユーザが前記利用手段を用いて前記Webアプリケーションを利用している間、前記第2のジョブキューに登録されたジョブより、前記第1のジョブキューに登録されたジョブを優先的に処理することを特徴とするプログラム。
  17. ネットワークを介して互いに接続された1つ又は複数のサーバと、ジョブ処理装置とを含むシステムの制御方法であって、
    前記ジョブ処理装置は、前記1つ又は複数のサーバのうちいずれかのサーバが提供するWebアプリケーションをユーザが利用するための利用手段を備え、
    前記利用手段を介して前記Webアプリケーションが利用され、ジョブの発行の要求がなされた場合、ジョブを発行する発行工程と、
    前記利用手段を介してWebアプリケーションが利用されて発行されたジョブを第1のジョブキューに登録し、前記利用手段を介してWebアプリケーションが利用されずに発行されたジョブを前記第1のジョブキューよりも優先順位が低い第2のジョブキューに登録する登録工程と、
    前記第2のジョブキューに登録されたジョブより、前記第1のジョブキューに登録されたジョブを優先的に処理する処理工程と
    を有することを特徴とする制御方法。
JP2013022645A 2013-02-07 2013-02-07 システムおよびその制御方法、ジョブ管理サーバおよびその制御方法、ジョブ処理装置およびその制御方法、及びプログラム Active JP6114569B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2013022645A JP6114569B2 (ja) 2013-02-07 2013-02-07 システムおよびその制御方法、ジョブ管理サーバおよびその制御方法、ジョブ処理装置およびその制御方法、及びプログラム
US14/157,076 US10306082B2 (en) 2013-02-07 2014-01-16 System, servers and control method thereof, for executing process with web application, job processing apparatus and control method thereof, and non-transitory computer-readable medium
US16/391,644 US10757273B2 (en) 2013-02-07 2019-04-23 Printing apparatus for displaying predetermined display screen for requesting printing to the printing apparatus and control method thereof, and non-transitory computer-readable medium
US16/938,674 US11196888B2 (en) 2013-02-07 2020-07-24 Printing apparatus for displaying predetermined display screen for requesting printing to the printing apparatus and control method thereof, and non-transitory computer-readable medium
US17/519,740 US11523021B2 (en) 2013-02-07 2021-11-05 Printing apparatus for displaying predetermined display screen for requesting printing to the printing apparatus and control method thereof, and non-transitory computer-readable medium
US17/978,449 US11683432B2 (en) 2013-02-07 2022-11-01 Printing apparatus for displaying predetermined display screen for requesting printing to the printing apparatus and control method thereof, and non-transitory computer-readable medium
US18/310,017 US11838471B2 (en) 2013-02-07 2023-05-01 Printing apparatus for displaying predetermined display screen for requesting printing to the printing apparatus and control method thereof, and non-transitory computer-readable medium
US18/497,187 US20240064251A1 (en) 2013-02-07 2023-10-30 Printing apparatus for displaying predetermined display screen for requesting printing to the printing apparatus and control method thereof, and non-transitory computer-readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013022645A JP6114569B2 (ja) 2013-02-07 2013-02-07 システムおよびその制御方法、ジョブ管理サーバおよびその制御方法、ジョブ処理装置およびその制御方法、及びプログラム

Publications (3)

Publication Number Publication Date
JP2014153891A JP2014153891A (ja) 2014-08-25
JP2014153891A5 JP2014153891A5 (ja) 2016-03-17
JP6114569B2 true JP6114569B2 (ja) 2017-04-12

Family

ID=51259012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013022645A Active JP6114569B2 (ja) 2013-02-07 2013-02-07 システムおよびその制御方法、ジョブ管理サーバおよびその制御方法、ジョブ処理装置およびその制御方法、及びプログラム

Country Status (2)

Country Link
US (7) US10306082B2 (ja)
JP (1) JP6114569B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5231620B2 (ja) * 2011-11-22 2013-07-10 シャープ株式会社 サーバ装置
JP6428054B2 (ja) * 2014-08-27 2018-11-28 ブラザー工業株式会社 中継サーバ、および通信プログラム
JP6631342B2 (ja) * 2016-03-16 2020-01-15 株式会社リコー 機器、画像形成装置、情報処理方法、情報処理プログラム及び情報処理システム
JP6515052B2 (ja) * 2016-03-16 2019-05-15 株式会社東芝 通信装置、通信システム、通信方法およびプログラム
JP7069962B2 (ja) * 2018-03-29 2022-05-18 株式会社リコー 情報処理装置、情報処理システム、制御方法およびプログラム
JP2020009258A (ja) * 2018-07-10 2020-01-16 キヤノン株式会社 情報処理装置、制御方法、およびそのプログラム
US20220353385A1 (en) * 2018-11-13 2022-11-03 Hewlett-Packard Development Company, L.P. Scan request comprising contact identifiers
JP7328067B2 (ja) * 2019-08-09 2023-08-16 キヤノン株式会社 印刷装置、印刷システム
US11014391B2 (en) 2019-09-16 2021-05-25 Xerox Corporation Security marks based on print job image with uniform printed background
US10882347B1 (en) * 2019-09-16 2021-01-05 Xerox Corporation Security marks based on print job image
JP7425398B2 (ja) * 2019-09-27 2024-01-31 京セラドキュメントソリューションズ株式会社 電子機器およびハードウェア制御プログラム
JP2023100361A (ja) 2022-01-06 2023-07-19 キヤノン株式会社 印刷システム、サーバー、および、制御方法、プログラム
US20230305896A1 (en) * 2022-03-22 2023-09-28 Saasglue Llc Cloud service for orchestrating workflow of jobs

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06149495A (ja) * 1992-11-06 1994-05-27 Fuji Xerox Co Ltd プリンタ制御装置
JP2002218118A (ja) * 2001-01-15 2002-08-02 Nec Corp 複合機能における電子印刷出力の選択方法及び複合機能電子印刷装置並びにプログラム記憶媒体
US6976072B2 (en) * 2001-03-30 2005-12-13 Sharp Laboratories Of America, Inc. Method and apparatus for managing job queues
JP3896871B2 (ja) * 2002-03-01 2007-03-22 ブラザー工業株式会社 画像形成装置、及び、通信システム
JP2006285809A (ja) * 2005-04-04 2006-10-19 Hitachi Ltd ストリーミング向け性能保証を行うストレージ装置
JP5058056B2 (ja) 2008-04-24 2012-10-24 株式会社リコー 画像処理装置及び排他制御方法
JP5289041B2 (ja) * 2008-12-26 2013-09-11 キヤノン株式会社 データ処理装置、データ処理方法、及びコンピュータプログラム
JP5430504B2 (ja) * 2009-09-29 2014-03-05 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
JP5371726B2 (ja) * 2009-12-16 2013-12-18 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
JP5193327B2 (ja) * 2011-02-28 2013-05-08 シャープ株式会社 画像形成装置
JP5917024B2 (ja) * 2011-06-09 2016-05-11 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム
JP5936366B2 (ja) * 2012-01-19 2016-06-22 キヤノン株式会社 印刷システム、画像形成装置、中間処理装置、ウェブサービス提供装置、印刷システムの制御方法およびコンピュータプログラム

Also Published As

Publication number Publication date
US20230053072A1 (en) 2023-02-16
US20140218762A1 (en) 2014-08-07
US11196888B2 (en) 2021-12-07
US20190253569A1 (en) 2019-08-15
US20220060598A1 (en) 2022-02-24
US11683432B2 (en) 2023-06-20
US20200358914A1 (en) 2020-11-12
JP2014153891A (ja) 2014-08-25
US20240064251A1 (en) 2024-02-22
US11838471B2 (en) 2023-12-05
US10757273B2 (en) 2020-08-25
US11523021B2 (en) 2022-12-06
US20230269338A1 (en) 2023-08-24
US10306082B2 (en) 2019-05-28

Similar Documents

Publication Publication Date Title
JP6114569B2 (ja) システムおよびその制御方法、ジョブ管理サーバおよびその制御方法、ジョブ処理装置およびその制御方法、及びプログラム
US7633639B2 (en) Compound machine for scanning and printing and a method thereof
JP5929399B2 (ja) 情報提供装置、情報提供システム及びプログラム
US9019527B2 (en) Image forming apparatus, image processing apparatus, image processing system, image processing method, program, and recording medium
JP2008113080A (ja) 通信装置及び画像処理装置
JP6525705B2 (ja) 画像データ管理システム、画像データ管理方法、及びプログラム
JP2008258892A (ja) 画像データ送信装置、サーバ装置、画像データ送信システム、及びプログラム
JP2008085955A (ja) 通信装置及び画像処理装置
JP4586874B2 (ja) データ送信装置
JP6197683B2 (ja) ファクシミリ装置、制御サーバ、および、コンピュータプログラム
JP6589343B2 (ja) 情報処理装置およびプログラム
JP2023135959A (ja) 画像処理装置、画像処理装置の制御方法及びプログラム
JP2005064817A (ja) 通信装置
JP4846524B2 (ja) 通信装置及び画像処理装置
JP2018121244A (ja) 画像形成装置、制御方法及びプログラム
JP4130201B2 (ja) サーバ、プリンタ機器情報設定方法、プログラム、及び記録媒体
JP6221809B2 (ja) ファクシミリ装置、制御サーバ、および、コンピュータプログラム
JP6281311B2 (ja) ファクシミリ装置、制御サーバ、および、コンピュータプログラム
US20240004944A1 (en) Web browser system, communication terminal, and method for controlling the same
JP4899949B2 (ja) ドキュメントデータの管理方法、画像処理装置、およびコンピュータプログラム
JP2008270969A (ja) ネットワーク複合機
JP5904497B2 (ja) 中継サーバ、その制御方法、及びプログラム
JP2006065454A (ja) 電子メール送信装置及びプログラム
JP2008022281A (ja) 画像読取装置
JP2019071681A (ja) 画像処理装置、その制御方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160202

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170207

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170317

R151 Written notification of patent or utility model registration

Ref document number: 6114569

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151