JP2022177632A - 画像処理システム、画像処理システムの制御方法、及びプログラム - Google Patents

画像処理システム、画像処理システムの制御方法、及びプログラム Download PDF

Info

Publication number
JP2022177632A
JP2022177632A JP2021084037A JP2021084037A JP2022177632A JP 2022177632 A JP2022177632 A JP 2022177632A JP 2021084037 A JP2021084037 A JP 2021084037A JP 2021084037 A JP2021084037 A JP 2021084037A JP 2022177632 A JP2022177632 A JP 2022177632A
Authority
JP
Japan
Prior art keywords
image processing
command
user
image data
image
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.)
Pending
Application number
JP2021084037A
Other languages
English (en)
Other versions
JP2022177632A5 (ja
Inventor
真人 福田
Masato Fukuda
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
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2021084037A priority Critical patent/JP2022177632A/ja
Priority to US17/732,633 priority patent/US11831835B2/en
Publication of JP2022177632A publication Critical patent/JP2022177632A/ja
Publication of JP2022177632A5 publication Critical patent/JP2022177632A5/ja
Pending legal-status Critical Current

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/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/00204Connection 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 digital computer or a digital computer system, e.g. an internet server
    • H04N1/00209Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax
    • 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/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32358Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter
    • H04N1/32363Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter at the transmitter or at the receiver
    • H04N1/32368Functions of a still picture terminal memory associated with transmission
    • 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/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32609Fault detection or counter-measures, e.g. original mis-positioned, shortage of paper
    • H04N1/32646Counter-measures
    • H04N1/32651Indicating or reporting
    • H04N1/32662Indicating or reporting remotely, e.g. to the transmitter from the receiver

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Facsimiles In General (AREA)

Abstract

Figure 2022177632000001
【課題】画像処理装置において他のジョブの実行に制限をかけることなく、画像データの送信のリトライを行うことができる画像処理装置を提供する。
【解決手段】
通信端末102は、ユーザから、原稿を読み取って当該原稿のスキャン画像を生成してユーザ指定宛先へスキャン画像の送信を行うジョブの実行指示を受け付けると、当該ジョブを実行させるジョブコマンドを生成し、ジョブコマンドを画像形成装置101へ送信する。画像形成装置101は、受信したジョブコマンドに基づいてジョブを実行し、ユーザ指定宛先へスキャン画像の送信を失敗した場合、当該スキャン画像を通信端末102へ送信する。通信端末102は、ユーザから受けたスキャン画像の送信指示に従って、画像形成装置101から受信したスキャン画像をユーザ指定宛先へ送信する。
【選択図】図9

Description

本発明は、画像処理システム、画像処理システムの制御方法、及びプログラムに関する。
通信端末から受信したジョブコマンドに従ってスキャンジョブを実行する画像処理装置が知られている。スキャンジョブでは、画像処理装置は、ジョブコマンドに設定されたスキャン設定に基づいて原稿を読み取って画像データを生成する。また、画像処理装置は、生成した画像データをジョブコマンドに設定された宛先へ送信する。
このようなスキャンジョブにおいて、宛先権限エラーや、サイズエラーといった原因で画像データの送信に失敗した場合、画像処理装置の内部メモリに画像データを保存し、画像データの送信のリトライを行う技術が開示されている(特許文献1参照)。
特開2008-109479号公報
しかしながら、送信に失敗した際に画像処理装置の内部メモリに画像データを貯めこむと、エラーが解消されるまで内部メモリが圧迫されてしまい、画像処理装置において他のジョブの実行に制限がかかってしまう。
本発明の目的は、画像処理装置において他のジョブの実行に制限をかけることなく、画像データの送信のリトライを行うことができる画像処理システム、画像処理システムの制御方法、及びプログラムを提供することにある。
上記目的を達成するために、本発明の画像処理システムは、コマンド生成装置と画像処理装置を備える画像処理システムであって、前記コマンド生成装置は、ユーザから、原稿を読み取って当該原稿の画像データを生成して前記ユーザに指定された宛先へ前記画像データの送信を行うジョブの実行指示を受け付ける受付手段と、前記ジョブを実行させるコマンドを生成するコマンド生成手段と、前記コマンドを前記画像処理装置へ送信するコマンド送信手段とを備え、前記画像処理装置は、前記コマンド生成装置から受信したコマンドに基づいて前記ジョブの実行を制御する制御手段と、前記ユーザに指定された宛先へ前記画像データの送信を失敗した場合、当該画像データを前記コマンド生成装置へ送信する画像データ送信手段とを備え、前記コマンド生成装置は、前記ユーザから受けた指示に従って、前記画像処理装置から受信した前記画像データを前記ユーザに指定された宛先へ送信することを特徴とする。
本発明によれば、画像処理装置において他のジョブの実行に制限をかけることなく、画像データの送信のリトライを行うことができる。
本発明の実施の形態に係る画像処理システムの構成を概略的に示す構成図である。 図1の画像形成装置のハードウェア構成を概略的に示すブロック図である。 図1の通信端末のハードウェア構成を概略的に示すブロック図である。 図1のクラウドサーバのハードウェア構成を概略的に示すブロック図である。 図2のCPUが実行するデバイス制御プログラムの機能構成を示すブロック図である。 図3のCPUが実行するスキャンアプリの機能構成を示すブロック図である。 図4のCPUが実行するストレージサービスプログラムの機能構成を示すブロック図である。 図1の通信端末が実行するスキャンアプリの画面の遷移を説明するための図である。 図1の画像処理システムにおいて画像形成装置がスキャン画像の送信を失敗した際の処理について説明するためのシーケンス図である。 図1の通信端末が生成するジョブコマンドの一例を示す図である。 図1の画像形成装置が送信するHTTPレスポンスデータの一例を示す図である。 図1の画像形成装置が送信するHTTPレスポンスデータの一例を示す図である。 図1のクラウドサーバが送信する送信エラーレスポンスの一例を示す図である。 図1の画像形成装置が実行するジョブ実行結果保存処理の手順を示すフローチャートである。 図1の通信端末が実行する通信端末後処理の手順を示すフローチャートである。 図1の通信端末が送信するPOSTリクエストの一例を示す図である。 第2の実施の形態において通信端末が実行するスキャンアプリの画面の遷移を説明するための図である。 第2の実施の形態においてスプール能力を持つ画像形成装置がスキャン画像の送信を失敗した際の処理について説明するためのシーケンス図である。 図1の画像形成装置が送信するデバイス能力レスポンスの一例を示す図である。 第2の実施の形態において通信端末によって生成されるジョブコマンドの一例を示す図である。 第2の実施の形態においてスプール能力を持たない画像形成装置がスキャン画像の送信を失敗した際の処理について説明するためのシーケンス図である。 第2の実施の形態において通信端末が実行するジョブコマンド生成処理の手順を示すフローチャートである。 第2の実施の形態において画像形成装置が実行するジョブ実行結果保存処理の手順を示すフローチャートである。 第2の実施の形態において通信端末が実行する通信端末後処理の手順を示すフローチャートである。
以下、本発明の実施の形態について図面を参照しながら詳述する。なお、本実施の形態における画像形成装置は画像処理装置の一例である。また、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
まず、本発明の第1の実施の形態に係る画像処理システム及びその制御方法について説明する。
図1は、本発明の実施の形態に係る画像処理システム100の構成を概略的に示す構成図である。
図1において、画像処理システム100は、画像形成装置101、通信端末102、及びクラウドサーバ103で構成される。画像形成装置101及び通信端末102は、ネットワーク104を介して互いに通信可能である。また、画像形成装置101及び通信端末102は、ネットワーク104及びゲートウェイ105を介してクラウドサーバ103と通信可能である。なお、本実施の形態では、画像処理システム100が画像形成装置101及び通信端末102を1台ずつ備える構成について説明するが、この構成に限れない。例えば、画像処理システム100は、画像形成装置101及び通信端末102をそれぞれ複数台備えていても良い。
画像形成装置101は、例えば、コピー、スキャン、プリント、FAX等の複数の機能を備える複合機である。なお、画像形成装置101は、プリンタやスキャナ等の単一の機能を備える装置であってもよい。通信端末102は、例えば、ユーザが使うパーソナル・コンピュータ(PC)である。例えば、通信端末102は、スキャンジョブを実行させるためのジョブコマンドを生成し、当該ジョブコマンドを画像形成装置101へ送信する。ジョブコマンドを受信した画像形成装置101は、紙媒体の原稿を読み取り、当該原稿の画像データ(以下、「スキャン画像」という。)を生成し、スキャン画像を画像形成装置101の後述する図2のストレージ205に格納する。また、画像形成装置101は、スキャン画像を、ジョブコマンドに設定された宛先、例えば、通信端末102、クラウドサーバ103、ネットワーク104上の装置(不図示)へ送信する。
クラウドサーバ103は、1つ以上のクラウドサーバにより構成され、スキャン画像等を含む電子ファイルのファイル管理を行う。例えば、クラウドサーバ103は、通信端末102や画像形成装置101から受信した電子ファイルの保存や管理を行う。ネットワーク104は、画像形成装置101、通信端末102、ゲートウェイ105を互いに接続する。ゲートウェイ105は、例えば、IEEE802.11規格シリーズに準拠した無線LANルータである。IEEE802.11規格シリーズは、IEEE802.11aやIEEE802.11b等のIEEE802.11に属する一連の規格である。なお、ゲートウェイ105、他の無線通信方式に従って動作する能力を有してもよい。また、ゲートウェイ105、無線LANルータではなく、10BASE-T、100BASET、1000BASE-T等に代表されるEthernet規格に準拠した有線LANルータであってもよく、他の有線通信方式に従って動作する能力を有してもよい。
図2は、図1の画像形成装置101のハードウェア構成を概略的に示すブロック図である。図2において、画像形成装置101は、制御部200、操作パネル209、プリントエンジン211、及びスキャナ213を備える。制御部200は、操作パネル209、プリントエンジン211、及びスキャナ213と接続されている。また、制御部200は、CPU202、RAM203、ROM204、ストレージ205、ネットワークI/F206、ディスプレイコントローラ207、操作I/F208、プリントコントローラ210、及びスキャンコントローラ212を備える。制御部200が備えるこれらは、システムバス201を介して互いに接続されている。なお、CPUは、Central Processing Unitの略称である。
CPU202は、画像形成装置101全体の動作を制御する。CPU202は、ROM204やストレージ205に記憶された制御プログラムを読み出して、読取制御や印刷制御等の各種制御を行う。RAM203は、CPU202の主記憶メモリである。RAM203は、ワークエリアとして、また、ROM204及びストレージ205に記憶された各種制御プログラムを展開するための一時記憶領域として用いられる。ROM204は、CPU202が実行する複数の制御プログラム、例えば、後述する図5のデバイス制御プログラム500を記憶する。ストレージ205は、印刷データ、スキャン画像等を含む画像データ、各種プログラム、及び各種設定情報を記憶する。なお、本実施形態の形態では、1つのCPU202が1つのメモリ(RAM203)を用いて後述するフローチャートに示す各処理を実行するものとするが、他の様態であっても構わない。例えば、複数のCPU、RAM、ROM、及びストレージを協働させて後述するフローチャートに示す各処理を実行してもよい。また、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)等のハードウェア回路を用いて一部の処理を実行するようにしてもよい。
ネットワークI/F206は、画像形成装置101がネットワーク104を介して外部の装置と通信するためのインタフェースである。例えば、ネットワークI/F206は、スキャナ213が読み取って生成したスキャン画像をクラウドサーバ103やネットワーク104上の装置へ送信する。ディスプレイコントローラ207及び操作I/F208は、操作パネル209と接続される。操作パネル209には、操作I/F208によって制御された画面が表示される。ユーザが操作パネル209を操作すると、CPU202はディスプレイコントローラ207を介してユーザ操作に対応したイベントを取得する。
プリントコントローラ210は、プリントエンジン211と接続される。プリントコントローラ210は、印刷の実行を指示する制御コマンドや画像データをプリントエンジン211へ転送する。プリントエンジン211は、受信した制御コマンド及び画像データに基づいて画像を用紙に形成する。プリントエンジン211の印刷方式は、電子写真方式であってもよく、また、インクジェット方式であってもよい。印刷方式が電子写真方式である場合、画像形成装置101は、当該画像形成装置101の感光体(不図示)上に静電潜像を形成した後にトナーにより現像し、そのトナー像を用紙に転写し、転写されたトナー像を定着することにより用紙に画像を形成する。一方、印刷方式がインクジェット方式である場合、画像形成装置101は、インクを吐出して用紙に画像を形成する。
スキャンコントローラ212は、スキャナ213と接続される。スキャナ213は、原稿を読み取ってスキャン画像を生成する。スキャナ213によって生成されたスキャン画像は、ストレージ205に記憶される。また、画像形成装置101は、スキャナ213によって生成されたスキャン画像を用紙に形成することができる。スキャナ213は、原稿フィーダ(不図示)を備え、原稿フィーダに載置された原稿を1枚ずつ搬送させながら読み取ることが可能である。
図3は、図1の通信端末102のハードウェア構成を概略的に示すブロック図である。図3において、通信端末102は、CPU302、RAM303、ROM304、ストレージ305、ネットワークI/F306、操作部I/F307、及び表示部I/F308を備える。これらは、システムバス301を介して互いに接続されている。
CPU302は、通信端末102全体の動作を制御する中央演算装置である。RAM303は揮発性メモリである。ROM304は、不揮発性メモリであり、CPU302の起動用プログラム等を格納する。ストレージ305は、RAM303より記憶容量が大きい記憶装置であり、例えば、ハードディスクドライブ(HDD)である。ストレージ305は、CPU302が実行する制御用プログラム、例えば、後述する図6のスキャンアプリ600を格納する。なお、ストレージ305は、ソリッドステートドライブ(SSD)等のようなハードディスクドライブと同等の機能を有する他の記憶装置であってもよい。
CPU302は、通信端末102の電源ON等の起動時に、ROM304に格納されている起動用プログラムを実行する。この起動用プログラムは、ストレージ305に格納されている制御用プログラムを読み出し、当該制御用プログラムをRAM303上に展開するためのプログラムである。CPU302は、起動用プログラムを実行すると、続けてRAM303上に展開された制御用プログラムを実行して、制御を行う。また、CPU302は、制御用プログラムを実行する際に用いるデータをRAM303上に格納して読み書きを行う。また、通信端末102において、ストレージ305上には、制御用プログラムを実行する際に必要となる設定値が格納され、この設定値の読み書きはCPU302によって行われる。通信端末102は、ネットワークI/F306を介してネットワーク104上の他の機器との通信を行う。また、通信端末102は、操作部I/F307を介してキーボードやマウス等の操作部309と接続され、ユーザが操作部309を用いて入力した指示を受け付けることができる。また、通信端末102は、表示部I/F308を介して表示部310と接続され、表示部310に各種画面を表示することができる。なお、本実施の形態では、画像形成装置101のIPアドレスの一例である
「192.168.1.101」と通信端末102のIPアドレスの一例である「192.168.1.100」が、ストレージ305に既に格納されていることとする。また、宛先登録画面(不図示)にて事前に登録された情報がストレージ305に既に保存されていることとする。宛先登録画面にて事前に登録された情報は、画像形成装置101がHTTP経由でスキャンジョブを受け付けるためのURIであるリクエストURI「/scanJob」、各宛先のURI、宛先に対応した認証情報である「ユーザ名」と「パスワード」等である。なお、HTTPは、HyperText Transefer Protocolの略称である。URIは、Uniform Resource Identifierの略称である。
図4は、図1のクラウドサーバ103のハードウェア構成を概略的に示すブロック図である。図4において、クラウドサーバ103は、CPU402、RAM403、ROM404、ストレージ405、及びネットワークI/F406を備える。これらは、システムバス401を介して互いに接続されている。
CPU402は、クラウドサーバ103全体の動作を制御する中央演算装置である。RAM403は揮発性メモリである。ROM404は、不揮発性メモリであり、CPU402の起動用プログラム等を格納する。ストレージ405は、RAM403より記憶容量が大きい記憶装置、例えば、ハードディスクドライブ(HDD)である。ストレージ405は、CPU402が実行する複数の制御用プログラム、例えば、後述する図7のストレージサービスプログラム700を記憶する。なお、ストレージ405は、ソリッドステートドライブ(SSD)等のようなハードディスクドライブと同等の機能を有する他の記憶装置であってもよい。
CPU402は、クラウドサーバ103の電源ON等の起動時に、ROM404に格納されている起動用プログラムを実行する。この起動用プログラムは、ストレージ405に格納されている制御用プログラムを読み出し、当該制御用プログラムをRAM403上に展開するためのプログラムである。CPU402は、起動用プログラムを実行すると、続けてRAM403上に展開した制御用プログラムを実行し、制御を行う。また、CPU402は、制御用プログラムを実行する際に使用するデータをRAM403上に格納して読み書きを行う。クラウドサーバ103において、ストレージ405上には制御用プログラムを実行する際に必要となる設定値が格納され、この設定値の読み書きはCPU402によって行われる。クラウドサーバ103は、ネットワークI/F406を介してネットワーク104上の他の機器との通信を行う。
図5は、図2のCPU202が実行するデバイス制御プログラム500の機能構成を示すブロック図である。デバイス制御プログラム500は上述したようにROM204に格納され、CPU202が画像形成装置101の起動時にデバイス制御プログラム500をRAM203上に展開して実行する。図5において、デバイス制御プログラム500は、データ送受信部501、データ解析部502、ジョブ制御部503、データ管理部504、表示部505、操作対象判定部506、スキャン部507、及びプリンタ部508で構成される。
データ送受信部501は、画像形成装置101がネットワークI/F206を介して、ネットワーク104上の他の機器とTCP/IPによるデータの送受信を行うためのモジュールである。データ送受信部501により、例えば、画像形成装置101は、クラウドサーバ103が生成するデバイス操作データを受信する。また、画像形成装置101は、ジョブの実行結果、デバイス操作結果の応答の画面表示内容が更新されたことを示す画面更新通知、及びジョブの状態を示すジョブ実行状態通知等をクラウドサーバ103へ送信する。
データ解析部502は、受信したデバイス操作データをデバイス制御プログラム500内の各モジュールが解釈可能なコマンドに変換し、変換したコマンドを各モジュールへ送信する。ジョブ制御部503は、プリントコントローラ210を介してプリントエンジン211の制御指示を行い、また、スキャンコントローラ212を介してスキャナ213の制御指示を行う。例えば、表示部505にコピー機能画面(不図示)が表示されている状態でユーザによるスタートキーの押下を検知した場合、ジョブ制御部503は、操作対象判定部506からコピージョブのパラメータとジョブ開始指示を受信する。ジョブ制御部503は、受信したパラメータに基づいてコピージョブを実行する。コピージョブでは、受信したパラメータに基づいてスキャナ213がスキャン画像を生成し、プリントエンジン211が当該パラメータに基づいて用紙にスキャン画像を印刷する。
データ管理部504は、デバイス制御プログラム500の実行によって生成された作業データや、各デバイスの制御に必要となる設定パラメータ等をRAM203及びストレージ205上の所定の領域へ保存して管理する。例えば、データ管理部504は、ジョブ制御部503が実行するジョブの各設定項目及び設定値の組み合わせから成るジョブデータや、操作パネル209に表示する言語を示す情報である言語設定等を管理する。また、データ管理部504は、ゲートウェイ105との通信に必要な認証情報や、クラウドサーバ103と通信するために必要な認証情報等を管理する。更にデータ管理部504は、画像形成装置101による画像形成処理の対象となる画像データを管理する。また、データ管理部504は、表示部505が画面表示制御に用いる画面表示制御情報や、操作対象判定部506が操作対象を判定するために用いる操作対象判定情報を、表示部505が表示する画面毎に管理する。
表示部505は、ディスプレイコントローラ207を介して、操作パネル209の制御を行う。より具体的には、表示部505は、ユーザが操作可能なUI部品、例えば、ボタン、プルダウンリスト、チェックボックスを操作パネル209に表示する。操作パネル209に表示される画面は、画面表示制御情報に基づいて更新される。操作対象判定部506は、操作I/F208を介して操作パネル209から、操作パネル209上でユーザにタッチされた位置を示す座標を取得する。また、操作対象判定部506は、ユーザによるタッチ操作を検知した時に操作パネル209に表示されているユーザが操作可能なUI部品を操作対象として判定する。操作対象判定部506は、操作対象として判定したUI部品に対応する画面表示制御情報を読み出し、この画面表示制御情報に基づいてタッチ操作受付時の処理内容を決定する。例えば、操作対象判定部506は、表示部505に対して画面の表示内容の更新指示を出力し、また、ジョブ制御部503に対してユーザ操作によって設定されたパラメータを用いたジョブの開始指示を出力する。
スキャン部507は、ジョブ制御部503のスキャンジョブパラメータ設定に基づいて、スキャンコントローラ212を介してスキャナ213にスキャンを実行させ、読み取って得られたスキャン画像をデータ管理部504に保存する。プリンタ部508は、ジョブ制御部503のプリントジョブパラメータ設定に基づいて、プリントコントローラ210を介してプリントエンジン211に印刷を実行させる。
図6は、図3のCPU302が実行するスキャンアプリ600の機能構成を示すブロック図である。スキャンアプリ600は、上述したようにストレージ305に格納され、CPU302が通信端末102の起動時にスキャンアプリ600をRAM303上に展開して実行する。図6において、スキャンアプリ600は、データ送受信部601、データ管理部602、コマンド解析部603、コマンド生成部604、表示画面生成部605、及びポート制御部606で構成される。
データ送受信部601は、通信端末102がネットワークI/F306を介して、ネットワーク104上の他の機器とHTTPによるデータの送受信を行うためのモジュールである。データ送受信部601により、例えば、通信端末102は、画像形成装置101やクラウドサーバ103からコマンドや画像データを受信する。また、通信端末102は、データ管理部602に保存されている宛先情報が示す宛先へ、コマンド生成部604によって生成されたコマンドやストレージ305に格納されている画像データを送信する。
データ管理部602は、画像形成装置101を示すURI、画像データの送信先を示すURI、画像データの送信先の認証情報、画像形成装置101から受信した画像データ等をストレージ305上の所定の領域へ保存して管理する。
コマンド解析部603は、データ送受信部601によって受信したコマンドを解析する。一例として、画像形成装置101から後述する図12(b)のHTTPレスポンスデータを受信した場合のコマンド解析部603による解析について説明する。この場合、コマンド解析部603は、このHTTPレスポンスデータの「State」要素の値が「Idle」であることから、スキャナ213の状態が「待機中」であると判断する。また、コマンド解析部603は、「ScanPage」要素の値が「5」であることから、スキャンした原稿の枚数が5枚であると判断する。更にコマンド解析部603は、「JobResult」要素の値が「HostSendSuccess」であることからジョブの実行結果を「自端末送信成功」と判断する。また、コマンド解析部603は、「Reason」要素の値が「Permissions」であることから、クラウドサーバ103へスキャン画像を送信できなかった理由が「アクセス権限」であると判断する。コマンド解析部603は、これらの解析結果をRAM303に保存する。
コマンド生成部604は、画像形成装置101やクラウドサーバ103に送信するためのXML形式のデータを生成する。一例として、後述する図8のスキャン設定画面803における設定の内容で画像形成装置101にスキャン指示を行う場合のコマンド生成部604によるデータの生成について説明する。この場合、コマンド生成部604は、カラーモード指定リストボックス804の設定が「カラー」であることから、「<ColorMode>Color</ColorMode>」を生成する。また、コマンド生成部604は、解像度指定リストボックス805の設定が「300dpi」であることから「<Resolution>300</Resolution>」を生成する。更にコマンド生成部604は、入力方法指定リストボックス806が「フィーダ」であることから「<Input>Feeder</Input>」を生成する。コマンド生成部604は、生成したこれらの文字列を「<ScanJob>」タグの要素として設定する。
次いで、コマンド生成部604は、宛先指定リストボックス807の設定が「https://aaa.com/Storage1」であることから、第1の文字列を生成する。第1の文字列は、「<Uri>https://aaa.com/Storage1</Uri>」である。また、コマンド生成部604は、ストレージ305に保存されている「https://aaa.com/User1」の認証情報を参照し、この認証情報から第2の文字列を生成する。第2の文字列は、「<Password>dXNlcjE6cGFzc3dvcmQx</Password>」である。コマンド生成部604は、第1の文字列と第2の文字列を「<Destination>」タグの要素として第3の文字列を生成する。第3の文字列は、「<Destination><Uri>https://aaa.com/Storage1</Uri><Password>dXNlcjE6cGFzc3dvcmQx</Password></Destination>」である。
次いで、コマンド生成部604は、生成した第3の文字列と通信端末102の宛先情報とを、「<ScanJob>」タグの要素として設定し、XML宣言の文字列を結合したメッセージボディ部を生成する。なお、通信端末102の宛先情報は、例えば、「<DestinationMyself><Uri>https://192.168.1.100/scan</Uri><UserName>Owner</UserName><Password>b3duZXI6cGFzc3dvcmQy</Password></Destination>」である。XML宣言の文字列は、例えば、「<?xml version=“1.0” encoding=“UTF-8”?>」である。
次いで、コマンド生成部604は、送信先である画像形成装置101のリクエストURI「/scanJob」と、通信端末102のIPアドレス「192.168.1.100」と、メッセージボディ部の文字数「514」からメッセージヘッダ部を生成する。メッセージヘッダ部は、「POST /scanJob HTTP/1.1」「Host:192.168.1.100」「Content-Type:text/xml」「Content-Length:514」である。コマンド生成部604は、生成したメッセージヘッダ部とメッセージボディ部を結合して後述する図10に示すジョブコマンドを生成する。
表示画面生成部605は、通信端末102の表示部310に表示される各種画面を生成する。例えば、ユーザによるスキャンアプリ600の起動指示を受け付けると、表示画面生成部605は、後述する図8のデバイス選択画面800を生成する。また、ユーザが後述するデバイス選択画面800における決定ボタン802を押下すると、表示画面生成部605は、後述するスキャン設定画面803を生成する。
ポート制御部606は、通信端末102がネットワーク104に接続された他の機器とPOST通信可能となるように、通信端末102上の所定のポートを開放する処理、及び通信不要の際には外部からアクセスできないようにポートを閉じる処理を行う。
図7は、図4のCPU402が実行するストレージサービスプログラム700の機能構成を示すブロック図である。ストレージサービスプログラム700は、上述したようにストレージ405に格納され、CPU402がクラウドサーバ103の起動時にストレージサービスプログラム700をRAM403上に展開して実行する。図7において、ストレージサービスプログラム700は、データ送受信部701、データ管理部702、コマンド解析部703、コマンド生成部704、及び認証部705で構成される。
データ送受信部701は、クラウドサーバ103がネットワークI/F406を介して、ネットワーク104上の他の機器とHTTPによるデータの送受信を行うためのモジュールである。データ送受信部701により、例えば、クラウドサーバ103は、画像形成装置101や通信端末102からコマンドや画像データを受信する。また、クラウドサーバ103は、データ管理部702に保存されている宛先へ、コマンド生成部704によって生成されたコマンドやストレージ405に格納されている画像データを送信する。データ管理部702は、データ送受信部701によって受信した画像データ、クラウドサーバ103の認証情報といった様々なデータをストレージ405上の所定の領域へ保存して管理する。
コマンド解析部703は、データ送受信部701によって受信したコマンドを解析し、解析結果に対応した処理を行う。一例として、ジョブ状態の取得を行った際のレスポンスデータとして後述する図16の画像データ送信コマンドを受信した場合のコマンド解析部703による解析について説明する。この場合、コマンド解析部703は、メッセージヘッダ部の「POST /Storage1 HTTP1/1」からPOSTリクエストを受信したと判断する。また、コマンド解析部703は、メッセージヘッダ部の「Content-Type:application/pdf」からPDF(Portable Document Format)形式の画像ファイルを受信したと判断する。コマンド解析部703は、リクエストURI「Storage1」に対応するストレージ405上の記憶領域にメッセージボディ部のデータをPDFファイルとして保存する。
コマンド生成部704は、画像形成装置101や通信端末102に送信するためのXML形式のデータを生成する。一例として、画像データ送信コマンドに含まれる認証情報から特定したユーザに書き込み権限が無かった場合のコマンド生成部704によるデータの生成について説明する。この場合、コマンド生成部704は、コマンド結果としてエラーを示す文字列、エラー理由が「権限エラー」であることを示す文字列、及びXML宣言の文字列を結合したメッセージボディ部を生成する。なお、エラーを示す文字列は、「<Result>Error</Result>」である。エラー理由が「権限エラー」であることを示す文字列は、「<Reason>Permissions</Reason>」である。XML宣言の文字列は、「<?xml version=“1.0” encoding=“UTF-8”?>」である。次いで、コマンド生成部704は、メッセージボディ部の文字数「88」を含むメッセージヘッダ部を生成する。メッセージヘッダ部は、「HTTP/1.1 403 Forbidden」「Content-Type:text/xml」「Content-Length:88」である。コマンド生成部704は、上記メッセージヘッダ部と上記メッセージボディ部を結合して後述する図13の送信エラーレスポンスを生成する。
認証部705は、データ送受信部701によって受信した認証情報とストレージ405に保存されている認証情報とが一致しているか否かの判定を行い、データの送信元に認証結果を送信する。
図8は、図1の通信端末102が実行するスキャンアプリ600の画面の遷移を説明するための図である。通信端末102のCPU302は、ユーザによる指示に従ってスキャンアプリ600を起動すると、表示部I/F308を介して、表示部310に図8のデバイス選択画面800を表示させる。デバイス選択画面800は、通信端末102から他の装置へスキャンジョブの実行を指示するための画面である。デバイス選択画面800は、製品名指定リストボックス801及び決定ボタン802を含む。製品名指定リストボックス801では、ユーザがスキャンジョブを実行させるジョブコマンドの送信先を指定する。以下では、一例として、製品名指定リストボックス801にて画像形成装置101が指定されたこととする。通信端末102のCPU302は、ユーザが決定ボタン802を押下すると、製品名指定リストボックス801にて指定された画像形成装置101に関する情報をRAM303上に保存する。次いで、通信端末102のCPU302は、表示部I/F308を介して、表示部310に図8のスキャン設定画面803を表示させる。
スキャン設定画面803は、スキャンジョブの実行に必要となる設定値を設定するための画面である。スキャン設定画面803は、カラーモード指定リストボックス804、解像度指定リストボックス805、入力方法指定リストボックス806、宛先指定リストボックス807、及びスキャン開始ボタン808を含む。カラーモード指定リストボックス804には、スキャンジョブを実行する際のカラーモードが設定される。解像度指定リストボックス805には、スキャン画像の解像度が設定される。入力方法指定リストボックス806には、「圧板」や「ADF」等の画像の読み取り方法が設定される。宛先指定リストボックス807には、スキャン画像の送信先が設定される。ここで、スキャン画像の送信先は、同一ネットワーク内に存在するストレージでも良く、Googleドライブや、OneDriveといったクラウドストレージでも良い。
通信端末102のCPU302は、ユーザがスキャン開始ボタン808を押下すると、上述した各リストボックスに指定されたスキャン設定に基づいてジョブコマンドを生成する。通信端末102のCPU302は、生成したジョブコマンドを製品名指定リストボックス801にて指定された画像形成装置101へ送信する。次いで、通信端末102のCPU302は、表示部310に図8のスキャン中画面809を表示させる。
スキャン中画面809には、スキャンジョブを実行中であることを示すメッセージ及びスキャン中止ボタン810が表示される。ユーザがスキャン中止ボタン810を押下すると、通信端末102のCPU302は、スキャンジョブの中止を指示するジョブ中止コマンドを画像形成装置101へ送信する。スキャン中画面809が表示部310に表示されている間、通信端末102のCPU302は、100msec間隔で画像形成装置101へ状態取得要求を行い、画像形成装置101からジョブの状態を示す情報を取得する。通信端末102のCPU302は、取得した情報に基づいて表示部310の画面を切り替える。例えば、取得した情報が示すジョブ実行結果が後述する「自端末送信成功」である場合、通信端末102のCPU302は、表示部I/F308を介して、表示部310に図8の再送信画面811を表示させる。取得した情報が示すジョブ実行結果が「失敗」である場合、通信端末102のCPU302は、表示部I/F308を介して、表示部310に図8のエラー画面815を表示させる。取得した情報が示すジョブ実行結果が「送信成功」である場合、通信端末102のCPU302は、表示部I/F308を介して、表示部310に図8の送信成功画面817を表示させる。
再送信画面811は、宛先指定リストボックス807にて指定された宛先へスキャン画像の送信を失敗したエラーの内容を示すエラーメッセージ812、送信ボタン813、及び閉じるボタン814を含む。ユーザが送信ボタン813を押下すると、通信端末102のCPU302は、画像形成装置101から受信したスキャン画像を宛先指定リストボックス807にて指定された宛先へ送信する。このスキャン画像の送信を失敗した場合、通信端末102のCPU302は、表示部I/F308を介して、表示部310にエラーメッセージを更新した再送信画面811を表示させる。一方、上記スキャン画像の送信を成功した場合、通信端末102のCPU302は、表示部I/F308を介して、表示部310に送信成功画面817を表示させる。
エラー画面815は、閉じるボタン816を含む。ユーザが閉じるボタン816を押下すると、通信端末102のCPU302は、スキャンアプリ600を終了する。送信成功画面817は、閉じるボタン818を含む。ユーザが閉じるボタン818を押下すると、通信端末102のCPU302は、スキャンアプリ600を終了する。
図9は、図1の画像処理システム100において画像形成装置101がスキャン画像の送信を失敗した際の処理について説明するためのシーケンス図である。図9では、一例として、宛先指定リストボックス807にて指定されたクラウドサーバ103の所定の記憶領域に書き込み権限が付与されていないため、画像形成装置101からクラウドサーバ103へスキャン画像の送信を失敗した場合について説明する。なお、画像形成装置101がスキャン画像の送信を失敗する要因は、上述した書き込み権限エラーに限られない。例えば、画像形成装置101がスキャン画像の送信を失敗する要因は、送信先の装置による認証に失敗する認証エラー、宛先エラー、サーバダウン、スキャン画像のファイルサイズエラー、送信先の記憶容量エラー等の他の要因であってもよい。図9において、通信端末102、画像形成装置101、及びクラウドサーバ103はそれぞれHTTPで通信を行い、通信端末102及びクラウドサーバ103はBasic認証で認証を行う。
図9において、まず、ユーザがスキャンジョブの実行指示を行う(ステップS901)。ステップS901では、ユーザは、通信端末102の表示部310に表示されたデバイス選択画面800の製品名指定リストボックス801に画像形成装置101を設定して決定ボタン802を押下する。また、ユーザは、決定ボタン802の押下に従って表示部310に表示されたスキャン設定画面803の各リストボックスに設定値を設定してスキャン開始ボタン808を押下する。以下では、宛先指定リストボックス807に、スキャン画像の送信先としてクラウドサーバ103の所定の記憶領域が設定されたこととする。
ユーザによるスキャンジョブの実行指示を受け付けた通信端末102のCPU202は、HTTPSでPOSTリクエストを受信可能にするために、通信端末102における所定のポート番号、例えば、「443」を開放する(ステップS902)。次いで、CPU302は、図10に示すジョブコマンドを生成する。ジョブコマンドは、ステップS901において設定されたスキャン設定、通信端末102の宛先情報、ステップS901において宛先指定リストボックス807に設定された宛先(以下、「ユーザ指定宛先」という。)の宛先情報を含む。
通信端末102の宛先情報は、後述するステップS913にて画像形成装置101が通信端末102へスキャン画像を送信する際に必要となる宛先情報である。通信端末102の宛先情報は、通信端末102の画像送信先URI及び通信端末102の画像送信先認証情報を含む。通信端末102の画像送信先URIは、通信端末102の所定の記憶領域を示すURIであり、例えば、「https://192.168.1.100/scan」である。通信端末102の画像送信先認証情報は、通信端末102へのアクセスを許可するための認証に使用されるパスワードであり、例えば、「b3duZXI6cGFzc3dvcmQy」である。
ユーザ指定宛先の宛先情報は、ユーザ指定宛先のURI及びユーザ指定宛先認証情報を含む。ユーザ指定宛先のURIは、ステップS901において宛先指定リストボックス807に設定された宛先を示すURIであり、例えば、「https://aaa.com/Storage1」である。ユーザ指定宛先認証情報は、ユーザ指定宛先へのアクセスを許可するための認証に使用されるパスワードであり、例えば、「dXNlcjE6cGFzc3dvcmQx」である。CPU302は、生成したジョブコマンドを画像形成装置101へ送信する(ステップS903)(コマンド送信手段)。
画像形成装置101のCPU202は、通信端末102からジョブコマンドを受信すると、当該ジョブコマンドにおけるユーザ指定宛先のURIに対応するクラウドサーバ103へユーザ指定宛先認証情報を送信する(ステップS904)。具体的に、CPU202は、ジョブコマンドにおけるユーザ指定宛先認証情報を含むHTTPのGETリクエストをクラウドサーバ103へ送信する。
クラウドサーバ103のCPU402は、HTTPのGETリクエストを受信すると、受信したHTTPのGETリクエストに含まれるユーザ指定宛先認証情報に基づいて認証部705によって認証を行う。認証を成功すると、CPU402は、その旨を画像形成装置101へ通知する(ステップS905)。具体的に、CPU402は、認証を成功したことを示すHTTPレスポンスステータスコードを設定したHTTPレスポンスを画像形成装置101へ送信する。
画像形成装置101のCPU202は、受信したHTTPレスポンスに設定されたHTTPレスポンスステータスコードに基づいて認証を成功したか否かを判別する。認証を成功した場合、CPU202は、ステップS903にて受信したジョブコマンドに含まれるスキャン設定に基づいて、スキャンジョブを実行するためのスキャンジョブデータを生成する(ステップS906)。スキャンジョブデータの生成を成功すると、CPU202は、スキャンジョブデータに基づいてスキャンジョブを実行する。また、CPU202は、スキャンジョブデータの生成を成功した旨を通信端末102へ通知する(ステップS907)。具体的に、CPU202は、図11に示すHTTPレスポンスデータを通信端末102へ送信する。このHTTPレスポンスデータは、スキャンジョブデータの生成を成功したことを示すHTTPレスポンスステータスコード、及び後述するステップS909にて用いられる状態取得要求URIを含む。状態取得要求URIは、画像形成装置101を示すURIである。
通信端末102のCPU302は、画像形成装置101からHTTPレスポンスデータを受信すると、表示部310にスキャン中画面809を表示させる(ステップS908)。また、CPU302は、画像形成装置101の状態を監視する状態監視処理を開始し、画像形成装置101の状態取得要求を行う(ステップS909)。具体的に、通信端末102のCPU302は、受信したHTTPレスポンスデータに設定された状態取得要求URIが示す画像形成装置101へ、画像形成装置101の状態取得要求となるHTTPのGETリクエストを送信する。状態監視処理では、CPU302は、画像形成装置101の状態取得要求を100msec間隔で行う。
画像形成装置101のCPU202は、このHTTPのGETリクエストを受信すると、ジョブ実行結果として、スキャン画像を生成中であることを示す「実行中」を通信端末102へ通知する(ステップS910)。具体的に、CPU202は、HTTPレスポンスデータを通信端末102へ送信する。このHTTPレスポンスデータのメッセージボディ部は、RAM203に保持されているスキャナ213の状態情報、状態取得要求URIのクエリ文字列で指定されたジョブIDに対応するスキャンジョブにおけるスキャン完了ページ数とジョブ結果で構成される。例えば、スキャン対象となる5枚の原稿のうちの3枚分のスキャンが完了した状態である場合、CPU202は、図12(a)に示すHTTPレスポンスデータを通信端末102へ送信する。このHTTPレスポンスデータに設定されているスキャン状態「<State>Scanning</State>」に基づいて、通信端末102のCPU302は、スキャン画像を生成中であることを判断することができる。CPU202は、スキャン画像の生成を完了すると、ユーザ指定宛先へスキャン画像を送信する(ステップS911)。具体的に、上記ジョブコマンドに設定された認証情報「dXNlcjE6cGFzc3dvcmQx」をHTTPヘッダに付与し、スキャン画像のバイナリデータをメッセージボディ部としたHTTPSのPOSTリクエストがクラウドサーバ103へ送信される。
クラウドサーバ103のCPU402は、上記HTTPSのPOSTリクエストに設定された認証情報に対応するユーザの書き込み権限がユーザ指定宛先のURIが示す所定の記憶領域に付与されていないため、ステップS912の処理を行う。ステップS912では、CPU402は、送信エラーレスポンスを画像形成装置101へ送信する。具体的に、CPU402は、「アクセス権限エラー」を示すメッセージをメッセージボディ部とした図13に示す送信エラーレスポンスを画像形成装置101へ送信する。
画像形成装置101のCPU202は、送信エラーレスポンスを受信すると、スキャン画像を通信端末102へ送信する(ステップS913)。具体的に、画像形成装置101のCPU202は、上記ジョブコマンドに含まれる通信端末102の画像送信先URI「https://192.169.1.100/scan」に対して、HTTPSのPOSTリクエストを送信する。このHTTPSのPOSTリクエストは、上記ジョブコマンドに含まれる通信端末102の画像送信先認証情報「b3duZXI6cGFzc3dvcmQy」をHTTPヘッダに付与し、スキャン画像のバイナリデータをメッセージボディ部としたデータである。CPU202は、通信端末102へのスキャン画像の送信を完了すると、ストレージ205からスキャン画像を削除する。このように、本実施の形態では、画像形成装置101がユーザ指定宛先へスキャン画像の送信を失敗した場合、当該スキャン画像がストレージ205に貯めこまれずにジョブコマンドの送信元である通信端末102へ送信される。
一方、通信端末102のCPU302は、画像形成装置101の状態取得要求を行う(ステップS914)。ステップS914では、ステップS909と同様に、CPU302は、状態取得要求URIが示す画像形成装置101へ、画像形成装置101の状態取得要求となるHTTPのGETリクエストを送信する。
画像形成装置101のCPU202は、通信端末102へスキャン画像の送信を完了した後に上記HTTPのGETリクエストを受信すると、ジョブの実行結果として後述する「自端末送信成功」(ジョブ結果通知)を通知する(ステップS915)。具体的に、CPU202は、ジョブの実行結果として「自端末送信成功」を示す設定値が設定された図12(b)に示すHTTPレスポンスデータを通信端末102へ送信する。
通信端末102のCPU302は、このHTTPレスポンスデータを受信すると、HTTPレスポンスデータからジョブの実行結果に対応する文字列を特定する。CPU302は、特定した文字列である「<JobResult>HostSendSuccess</JobResult>」に基づいて、通信端末102へのスキャン画像の送信を完了したと判別する。次いで、CPU302は、ステップS902にて開放した通信端末102における所定のポート番号、例えば、「443」を閉じる(ステップS916)。次いで、通信端末102のCPU302は、表示部310に再送信画面811を表示させる(ステップS917)。
その後、ユーザが、Webブラウザ等を経由してクラウドサーバ103に、ユーザ指定宛先に対する当該ユーザの書き込み権限の付与を指示する(ステップS918)。クラウドサーバ103のCPU402は、ユーザ指定宛先に、ユーザ指定宛先認証情報「b3duZXI6cGFzc3dvcmQy」に対応するユーザの書き込み権限を付与する。次いで、ユーザは、通信端末102に対し、スキャン画像の送信指示を行う(ステップS919)。具体的に、ユーザは、通信端末102の表示部310に表示された再送信画面811における送信ボタン813を押下する。
通信端末102のCPU302は、クラウドサーバ103へスキャン画像を送信する(ステップS920)。具体的に、CPU302は、ユーザ指定宛先認証情報「dXNlcjE6cGFzc3dvcmQx」をHTTPヘッダに付与し、スキャン画像のバイナリデータをメッセージボディ部とした画像データ送信コマンドをクラウドサーバ103へ送信する。
クラウドサーバ103のCPU402は、スキャン画像の受信を完了すると、スキャン画像の受信を成功した旨を通信端末102へ通知する(ステップS921)。具体的に、CPU402は、スキャン画像の受信を成功したことを示すHTTPレスポンスステータスコードが設定されたHTTPレスポンスを通信端末102へ送信する。
通信端末102のCPU302は、このHTTPレスポンスを受信すると、HTTPレスポンスに設定されたHTTPレスポンスステータスコードに基づいてスキャン画像の送信を成功したと判別する。通信端末102のCPU302は、表示部310に送信成功画面817を表示させ、本処理を終了する。
図14は、図1の画像形成装置101が実行するジョブ実行結果保存処理の手順を示すフローチャートである。図14のジョブ実行結果保存処理は、画像形成装置101のCPU202がROM204又はストレージ205に格納されたプログラムを実行することによって実現される。図14のジョブ実行結果保存処理は、上述したステップS906にて生成したスキャンジョブデータに基づいてスキャンジョブが実行されてスキャン画像が生成された後に実行される。ジョブ実行結果保存処理の開始時には、スキャン画像、通信端末102の宛先情報、ユーザ指定宛先の宛先情報がRAM203に保存されていることとする。また、画像形成装置101には、スキャン画像の送信のリトライの上限回数、例えば、「5」と、リトライ回数がRAM203に保存されていることとする。なお、リトライ回数は次のジョブの開始時に「0」に初期化される。
図14において、CPU202は、ユーザ指定宛先に対応するクラウドサーバ103へスキャン画像を送信する(ステップS1401)。具体的に、CPU202は、上述したステップS911にて説明したHTTPSのPOSTリクエストをクラウドサーバ103へ送信する。次いで、CPU202は、このPOSTリクエストに対するHTTPSレスポンスをクラウドサーバ103から取得し、当該HTTPレスポンスに含まれる送信結果をRAM203に保存する(ステップS1402)。次いで、CPU202は、ステップS1402にてRAM203に保存された送信結果が「成功」であるか否かを判別する(ステップS1403)。
ステップS1403の判別の結果、ステップS1402にてRAM203に保存された送信結果が「成功」である場合、CPU202は、RAM203にジョブ実行結果として「送信成功」を保存し(ステップS1404)、本処理を終了する。
ステップS1403の判別の結果、ステップS1402にてRAM203に保存された送信結果が「成功」でない場合、CPU202は、通信端末102へスキャン画像を送信する(ステップS1405)。具体的に、CPU202は、上述したステップS913にて説明したHTTPSのPOSTリクエストを通信端末102へ送信する。次いで、CPU202は、このPOSTリクエストに対するHTTPSレスポンスを通信端末102から取得し、当該HTTPレスポンスに含まれる送信結果をRAM203に保存する(ステップS1406)。次いで、CPU202は、ステップS1405にてRAM203に保存された送信結果が「成功」であるか否かを判別する(ステップS1407)。
ステップS1407の判別の結果、送信結果が「成功」である場合、CPU202は、RAM203にジョブ実行結果として「自端末送信成功」を保存する(ステップS1408)。「自端末送信成功」は、ユーザ指定宛先ではなく、ジョブコマンドの送信元にスキャン画像の送信を完了したことを示すジョブ実行結果である。その後、ジョブ実行結果保存処理は終了する。
ステップS1407の判別の結果、送信結果が「成功」でない場合、CPU202は、RAM203に保存されたリトライ回数が上限回数未満であるか否かを判別する(ステップS1409)。
ステップS1409の判別の結果、リトライ回数が上限回数未満である場合、ジョブ実行結果保存処理はステップS1405へ戻る。ステップS1409の判別の結果、リトライ回数が上限回数未満でない場合、CPU202は、RAM203にジョブ実行結果として「失敗」を保存し(ステップS1410)、本処理を終了する。その後、CPU202は、通信端末102から状態取得要求を受けると、RAM203に保存したジョブ実行結果を含むHTTPレスポンスデータを通信端末102へ送信する。
図15は、図1の通信端末102が実行する通信端末後処理の手順を示すフローチャートである。図15の通信端末後処理は、通信端末102のCPU302がROM304又はストレージ305に格納されたプログラムを実行することによって実現される。図15の通信端末後処理は、通信端末102が状態監視処理を開始した際に実行される。通信端末後処理の開始時には、状態取得要求URI、ユーザ指定宛先の宛先情報がRAM303に保存され、また、上述したジョブ実行結果保存処理にて画像形成装置101から送信されたスキャン画像がストレージ305に保存されている。
図15において、まず、CPU302は、画像形成装置101から送信されたHTTPレスポンスデータに含まれるジョブ実行結果を取得する(ステップS1500)。次いで、CPU302は、取得したジョブ実行結果が「実行中」であるか否かを判別する(ステップS1501)。
ステップS1501の判別の結果、取得したジョブ実行結果が「実行中」である場合、通信端末後処理はステップS1500へ戻る。ステップS1501の判別の結果、取得したジョブ実行結果が「実行中」でない場合、CPU302は、取得したジョブ実行結果が「送信成功」であるか否かを判別する(ステップS1502)。
ステップS1502の判別の結果、取得したジョブ実行結果が「送信成功」である場合、通信端末後処理は、後述するステップS1509へ進む。ステップS1502の判別の結果、取得したジョブ実行結果が「送信成功」でない場合、CPU302は、取得したジョブ実行結果が「自端末送信成功」であるか否かを判別する(ステップS1503)。
ステップS1503の判別の結果、HTTPレスポンスデータに含まれるジョブ実行結果が「自端末送信成功」である場合、CPU302は、ユーザ指定宛先の宛先情報をRAM303から取得する(ステップS1504)。次いで、CPU302は、表示部I/F308を介して、表示部310に再送信画面811を表示させる(ステップS1505)。次いで、CPU302は、再送信画面811における送信ボタン813がユーザに押下されたか否かを判別する(ステップS1506)。
ステップS1506の判別の結果、再送信画面811における送信ボタン813がユーザに押下された場合、CPU302は、ネットワークI/F306を介してクラウドサーバ103へスキャン画像を送信する(ステップS1507)。具体的に、ユーザ指定宛先認証情報「dXNlcjE6cGFzc3dvcmQx」をHTTPヘッダに付与し、スキャン画像のバイナリデータをメッセージボディ部とした図16に示す画像データ送信コマンドがクラウドサーバ103へ送信される。次いで、CPU302は、ステップS1507の送信に対する送信レスポンスをクラウドサーバ103から取得する。CPU302は、受信した送信レスポンスに含まれる送信結果がスキャン画像の送信を成功したことを示す「成功」であるか否かを判別する(ステップS1508)。
ステップS1508の判別の結果、送信レスポンスに含まれる送信結果が「成功」でない場合、通信端末後処理はステップS1505へ戻る。ステップS1508の判別の結果、送信レスポンスに含まれる送信結果が「成功」である場合、CPU302は、表示部I/F308を介して、表示部310に送信成功画面817を表示させる(ステップS1509)。CPU302は、送信成功画面817における閉じるボタン818がユーザに押下されるまで待機する。送信成功画面817における閉じるボタン818がユーザに押下されると(ステップS1510でYES)、CPU302は、終了処理を実行する(ステップS1511)。終了処理では、CPU302は、RAM303からユーザ指定宛先の宛先情報を削除する。また、終了処理では、CPU302は、画像形成装置101からスキャン画像を取得していた場合には、ストレージ305からスキャン画像を削除する。その後、通信端末後処理は終了する。
ステップS1503の判別の結果、取得したジョブ実行結果が「自端末送信成功」でない場合、CPU302は、表示部I/F308を介して、表示部310にエラー画面815を表示させる(ステップS1512)。CPU302は、エラー画面815における閉じるボタン816がユーザに押下されるまで待機する。エラー画面815における閉じるボタン816がユーザに押下されると(ステップS1513でYES)、通信端末後処理はステップS1511へ進む。
ステップS1506の判別の結果、再送信画面811における送信ボタン813がユーザに押下されない場合、CPU302は、再送信画面811における閉じるボタン814がユーザに押下されたか否かを判別する(ステップS1514)。
ステップS1514の判別の結果、再送信画面811における閉じるボタン814がユーザに押下されない場合、通信端末後処理はステップS1506へ戻る。ステップS1514の判別の結果、再送信画面811における閉じるボタン814がユーザに押下された場合、通信端末後処理はステップS1511へ進む。
上述した第1の実施の形態によれば、画像形成装置101は、ユーザ指定宛先へスキャン画像の送信を失敗した場合、当該スキャン画像を通信端末102へ送信する。通信端末102は、ユーザから受けたスキャン画像の送信指示に従って、画像形成装置101から受信したスキャン画像をユーザ指定宛先へ送信する。これにより、画像形成装置101のストレージ205にスキャン画像を貯めこむこと無く、通信端末102からスキャン画像の送信のリトライを行うことができる。その結果、画像形成装置101において他のジョブの実行に制限をかけることなく、スキャン画像の送信のリトライを行うことができる。
また、上述した実施の形態では、ジョブコマンドは、ユーザ指定宛先の宛先情報と通信端末102の宛先情報を含む。これにより、画像形成装置101は、ユーザ指定宛先へスキャン画像の送信を失敗した場合に、ジョブコマンドの送信元である通信端末102へスキャン画像を容易に送信することができる。
上述した第1の実施の形態では、通信端末102は、画像形成装置101からスキャン画像を受信した後に、「自端末送信成功」を含むHTTPレスポンスデータを画像形成装置101から受信したことに従って、表示部310に再送信画面811を表示させる。これにより、通信端末102からスキャン画像の送信のリトライを行う準備が整った状態で、スキャン画像の送信指示をユーザから受け付けることができる。その結果、ユーザからスキャン画像の送信指示を受け付けた後、通信端末102からユーザ指定宛先へスキャン画像を遅滞なく送信することができる。
また、上述した第1の実施の形態では、再送信画面811には、画像形成装置101がユーザ指定宛先へスキャン画像の送信を失敗したエラーの内容が表示される。これにより、スキャン画像の送信のリトライが必要な理由をユーザに知らせることができる。
上述した第1の実施の形態では、「自端末送信成功」は、ユーザ指定宛先へのスキャン画像の送信を完了したことを示す「送信成功」と異なる。これにより、通信端末102は、再送信画面811を表示させるか否かの制御を容易に行うことができる。
次に、本発明の第2の実施の形態に係る画像処理システム及びその制御方法について説明する。第2の実施の形態は、その構成や作用が上述した第1の実施の形態と基本的に同じであり、画像形成装置101がスプール能力を備えているか否かに基づいてスキャン画像の送信制御が異なる点で上述した第1の実施の形態と異なる。したがって、重複した構成、作用については説明を省略し、以下に異なる構成、作用についての説明を行う。なお、本実施の形態では、スキャンジョブによって生成された全てのスキャン画像をストレージ205に格納すると他のジョブの実行が制限される画像形成装置を、スプール能力が無い画像形成装置とする。スプール能力が無い画像形成装置は、例えば、スキャンジョブによって生成された全てのスキャン画像を格納し切れない程小容量な記憶領域を持つストレージ205を備える画像形成装置である。一方、スキャンジョブによって生成された全てのスキャン画像を格納しても他のジョブの実行に制限がかからない画像形成装置を、スプール能力がある画像形成装置とする。スプール能力がある画像形成装置は、例えば、スキャンジョブによって生成された全てのスキャン画像の他に他のデータも十分に格納可能な程大容量な記憶領域を持つストレージ205を備える画像形成装置である。
図17は、第2の実施の形態において通信端末102が実行するスキャンアプリ600の画面の遷移を説明するための図である。通信端末102のCPU302は、ユーザによる指示に従ってスキャンアプリを起動すると、表示部I/F308を介して、表示部310に図17のデバイス選択画面1700を表示させる。デバイス選択画面1700の機能及び構成は、デバイス選択画面800の機能及び構成と同じである。なお、以下では、一例として、デバイス選択画面1700の製品名指定リストボックス1701にて画像形成装置101が指定されたこととする。次いで、CPU302は、ユーザがデバイス選択画面1700における決定ボタン1702を押下すると、製品名指定リストボックス1701にて指定された画像形成装置101に関する情報をRAM303上に保存する。次いで、CPU302は、表示部I/F308を介して、表示部310に図17のスキャン設定画面1703を表示させる。スキャン設定画面1703の機能及び構成は、スキャン設定画面803の機能及び構成と同じである。CPU302は、ユーザがスキャン設定画面1703におけるスキャン開始ボタン1708を押下すると、スキャン設定画面1703における各リストボックスに指定されたスキャン設定に基づいてジョブコマンドを生成する。CPU302は、生成したジョブコマンドを製品名指定リストボックス1701にて指定された画像形成装置101へ送信する。次いで、CPU302は、表示部310に図17のスキャン中画面1709を表示させる。スキャン中画面1709の機能及び構成は、スキャン中画面809の機能及び構成と同じである。
ユーザがスキャン中画面1709におけるスキャン中止ボタン1710を押下すると、CPU302は、ジョブ中止コマンドを画像形成装置101へ送信する。スキャン中画面1709が表示されている状態では、CPU302は、100msec間隔で画像形成装置101へ状態取得要求を行い、画像形成装置101からジョブの状態を示す情報を取得する。CPU302は、取得した情報に基づいて表示部310の画面を切り替える。例えば、取得した情報が「失敗」である場合、CPU302は、表示部I/F308を介して、表示部310に図17のエラー画面1715を表示させる。エラー画面1715の機能及び構成は、エラー画面815の機能及び構成と同じである。また、本実施の形態では、通信端末102は、画像形成装置101が「スプール能力無し」である場合、画像形成装置101からスキャン画像を取得し、当該スキャン画像をユーザ指定宛先へ送信する。このような通信端末102からクラウドサーバ103へのスキャン画像の送信を失敗した場合、CPU302は、表示部I/F308を介して、表示部310に図17の再送信画面1711を表示させる。再送信画面1711の機能及び構成は、再送信画面811の機能及び構成と同じである。取得した情報が「送信成功」である場合、又は通信端末102からクラウドサーバ103へのスキャン画像の送信を成功した場合、CPU302は、表示部I/F308を介して、表示部310に図17の送信成功画面1717を表示させる。送信成功画面1717の機能及び構成は、送信成功画面817の機能及び構成と同じである。
図18は、第2の実施の形態においてスプール能力を持つ画像形成装置101がスキャン画像の送信を失敗した際の処理について説明するためのシーケンス図である。図18では、一例として、宛先指定リストボックス1707にて指定されたクラウドサーバ103の所定の記憶領域に書き込み権限が付与されていないため、画像形成装置101からクラウドサーバ103へスキャン画像の送信を失敗した場合について説明する。なお、図18においても、通信端末102、画像形成装置101、及びクラウドサーバ103はそれぞれHTTPで通信を行い、通信端末102及びクラウドサーバ103はBasic認証で認証を行う。
図18において、まず、ユーザが通信端末102のスキャンアプリ600を起動する(ステップS1801)。通信端末102のCPU302は、ネットワーク104に接続されている画像形成装置101に対し、デバイス能力取得要求を行う(ステップS1802)。ステップS1802では、CPU302は、デバイス能力取得要求を行うための能力取得用URIを用いて、ネットワーク104に接続されている画像形成装置101へHTTPのGETリクエストを送信する。能力取得用URIは、例えば、「http://192.168.1.100/getDeviceCap」である。
画像形成装置101のCPU202は、上記HTTPのGETリクエストを受信すると、画像形成装置101のスプール能力を通信端末102へ通知する(ステップS1803)。具体的に、CPU202は、画像形成装置101がスプール能力を持つことを示す「<Spool>True</SpoolCap>」を含む図19(a)に示すデバイス能力レスポンスを通信端末102へ送信する。通信端末102のCPU202は、受信したデバイス能力レスポンスに含まれる「<Spool>True</SpoolCap>」から、画像形成装置101が「スプール能力有り」であると判断する。CPU202は、画像形成装置101のスプール能力設定値として「True」をRAM303に保存する。
その後、ステップS901と同様に、ユーザが通信端末102を操作してスキャンジョブの実行指示を行う(ステップS1804)。通信端末102のCPU302は、ステップS1804にて設定されたスキャン設定及びステップS1804にて設定されたユーザ指定宛先の宛先情報を含む図20(a)に示すジョブコマンドを生成する。次いで、CPU302は、生成したジョブコマンドを画像形成装置101へ送信する(ステップS1805)。つまり、ステップS1805にて送信されるジョブコマンドは、第1の実施の形態における図9のステップS903にて送信されるジョブコマンドと異なり、ジョブコマンドの送信元である通信端末102の宛先情報を含まない。
画像形成装置101のCPU202は、通信端末102からジョブコマンドを受信すると、ステップS904と同様に、ユーザ指定宛先認証情報をクラウドサーバ103へ送信する(ステップS1806)。
クラウドサーバ103のCPU402は、受信したユーザ指定宛先認証情報に基づいて認証部705によって認証を行う。認証を成功すると、CPU402は、ステップS905と同様に、認証を成功した旨を画像形成装置101へ通知する(ステップS1807)。
画像形成装置101のCPU202は、この通知に基づいて認証を成功したか否かを判別する。認証を成功した場合、CPU202は、ステップS906と同様に、ステップS1806にて受信したジョブコマンドに含まれるスキャン設定に基づいてスキャンジョブデータを生成する(ステップS1808)。スキャンジョブデータの生成を成功すると、CPU202は、スキャンジョブデータに基づいてスキャンジョブを実行する。また、CPU202は、ステップS907と同様に、スキャンジョブデータの生成を成功した旨を通信端末102へ通知する(ステップS1809)。
通信端末102のCPU302は、この通知を受信すると、ステップS908と同様に、表示部310にスキャン中画面1709を表示させる(ステップS1810)。また、CPU302は、画像形成装置101の状態を100msec間隔で監視する状態監視処理を開始し、ステップS909と同様に、画像形成装置101の状態取得要求を行う(ステップS1811)。
画像形成装置101のCPU202は、通信端末102から状態取得要求を受けた際にスキャン画像の生成を完了していない場合、ステップS910と同様に、「実行中」を通信端末102へ通知する(ステップS1812)。スキャン画像の生成を完了すると、CPU202は、ステップS911と同様に、ユーザ指定宛先であるクラウドサーバ103へスキャン画像を送信する(ステップS1813)。
クラウドサーバ103のCPU402は、ユーザの書き込み権限がユーザ指定宛先のURIが示す所定の記憶領域に付与されていないため、ステップS912と同様に、送信エラーレスポンスを画像形成装置101へ送信する(ステップS1814)。ここで、第2の実施の形態では、画像形成装置101がスプール能力有りである場合、第1の実施の形態における図9のステップS913に相当する処理が行われない。つまり、クラウドサーバ103から送信エラーレスポンスを受信した画像形成装置101は、通信端末102へスキャン画像を送信しない。
一方、通信端末102のCPU302は、ステップS914と同様に、画像形成装置101に対し、画像形成装置101の状態取得要求を行う(ステップS1815)。
画像形成装置101のCPU202は、クラウドサーバ103から送信エラーレスポンスを受信した後に通信端末102から状態取得要求を受けると、ユーザ指定宛先へスキャン画像の送信を失敗した旨を通信端末102へ通知する(ステップS1816)。具体的に、CPU202は、画像形成装置101からクラウドサーバ103へ送信エラーレスポンスの内容を示すジョブ実行結果を含む図12(c)に示すHTTPレスポンスデータを通信端末102へ送信する。
通信端末102のCPU302は、受信したHTTPレスポンスデータに含まれるジョブ結果「<JobResult>SendError</JobResult>」に基づいて、クラウドサーバ103へスキャン画像の送信を失敗したと判別する。CPU302は、この判別に基づいて表示部310に再送信画面1711を表示させる(ステップS1817)。
その後、ユーザが、ステップS918と同様に、Webブラウザ等を経由してクラウドサーバ103に、ユーザ指定宛先に対する当該ユーザの書き込み権限の付与を指示する(ステップS1818)。次いで、ユーザは、通信端末102に対し、ステップS919と同様に、スキャン画像の送信指示を行う(ステップS1819)。
通信端末102のCPU302は、ユーザからスキャン画像の送信指示を受けると、ネットワークI/F306を介して画像形成装置101へスキャン画像の送信要求を行う(ステップS1820)。
画像形成装置101のCPU202は、ステップS1813と同様に、ユーザ指定宛先であるクラウドサーバ103へスキャン画像を送信する(ステップS1821)。
クラウドサーバ103のCPU402は、スキャン画像の受信を完了すると、スキャン画像の受信を成功した旨を画像形成装置101へ通知する(ステップS1822)。具体的に、CPU402は、スキャン画像の受信を成功したことを示すHTTPレスポンスステータスコードが設定されたHTTPレスポンスを画像形成装置101へ送信する。
一方、通信端末102のCPU302は、ステップS1815と同様に、画像形成装置101に対し、画像形成装置101の状態取得要求を行う(ステップS1823)。
画像形成装置101のCPU202は、クラウドサーバ103からスキャン画像の受信を成功した旨を通知された後に通信端末102から状態取得要求を受けると、スキャン画像の送信を成功した旨を通信端末102へ通知する(ステップS1824)。具体的に、CPU202は、ユーザ指定宛先へスキャン画像の送信を成功したことを示すHTTPレスポンスステータスコードを含む図12(d)に示すHTTPレスポンスデータを通信端末102へ送信する。
通信端末102のCPU302は、受信したHTTPレスポンスに設定されたHTTPレスポンスステータスコードに基づいて、ユーザ指定宛先へスキャン画像の送信を成功したと判別する。通信端末102のCPU302は、この判別に基づいて表示部310に送信成功画面1717を表示させ(ステップS1825)、本処理を終了する。
図21は、第2の実施の形態においてスプール能力を持たない画像形成装置101がスキャン画像の送信を失敗した際の処理について説明するためのシーケンス図である。図21では、一例として、宛先指定リストボックス1707にて指定されたクラウドサーバ103の所定の記憶領域に書き込み権限が付与されていないため、画像形成装置101からクラウドサーバ103へスキャン画像の送信を失敗した場合について説明する。図21においても、通信端末102、画像形成装置101、及びクラウドサーバ103はそれぞれHTTPで通信を行い、通信端末102及びクラウドサーバ103はBasic認証で認証を行う。なお、図21における処理は、上述した図18における処理と類似する処理であり、以下では、特に、図18における処理と異なる処理について説明する。
図21において、上述したステップS1801,S1802と同様の処理であるステップS2101,2102が行われる。次いで、画像形成装置101のCPU202は、通信端末102から上記HTTPのGETリクエストを受信すると、スプール能力を通信端末102へ通知する(ステップS2103)。具体的に、CPU202は、画像形成装置101がスプール能力を持たないことを示す「<Spool>False</SpoolCap>」を含む図19(b)に示すデバイス能力レスポンスを通信端末102へ送信する。通信端末102のCPU202は、受信したデバイス能力レスポンスに含まれる「<Spool>False</SpoolCap>」から、画像形成装置101が「スプール能力無し」であると判断する。CPU202は、画像形成装置101のスプール能力設定値として「False」をRAM303に保存する。
その後、ステップS1804と同様に、ユーザが通信端末102を操作してスキャンジョブの実行指示を行う(ステップS2104)。通信端末102のCPU302は、ステップS2104にて設定されたユーザ指定宛先であるクラウドサーバ103へユーザ指定宛先認証情報を送信する(ステップS2105)。具体的に、CPU302は、ユーザ指定宛先認証情報をストレージ305から取得し、当該ユーザ指定宛先認証情報を含むHTTPのGETリクエストをクラウドサーバ103へ送信する。
クラウドサーバ103のCPU402は、HTTPのGETリクエストを受信すると、受信したHTTPのGETリクエストに含まれるユーザ指定宛先認証情報に基づいて認証部705によって認証を行う。認証を成功すると、CPU402は、その旨を通信端末102へ通知する(ステップS2106)。具体的に、CPU402は、認証を成功したことを示すHTTPレスポンスステータスコードを設定したHTTPレスポンスを通信端末102へ送信する。
通信端末102のCPU302は、HTTPレスポンスを受信すると、HTTPSでPOSTリクエストを受信可能にするために、通信端末102における所定のポート番号、例えば、「443」を開放する(ステップS2107)。次いで、通信端末102のCPU302は、図20(b)のジョブコマンドを生成する(ステップS2108)。このジョブコマンドは、ステップS2104にてユーザに設定されたスキャン設定、通信端末102の宛先情報を含む。通信端末102の宛先情報は、通信端末102の画像送信先URIである「https://192.168.1.100/scan」と、通信端末102の画像送信先認証情報である「b3duZXI6cGFzc3dvcmQy」を含む。このように、第2の実施の形態では、画像形成装置101がスプール能力無しである場合、ジョブコマンドに、ユーザ指定宛先情報が設定されず、ジョブコマンドの送信元である通信端末102の宛先情報が設定される。次いで、CPU302は、生成したジョブコマンドを画像形成装置101へ送信する(ステップS2108)。
画像形成装置101のCPU202は、受信したジョブコマンドに含まれるスキャン設定に基づいてスキャンジョブデータを生成する(ステップS2109)。スキャンジョブデータの生成を完了すると、CPU202は、スキャンジョブデータに基づいてスキャンジョブを実行する。また、CPU202は、ステップS1809と同様に、スキャンジョブデータの生成を成功した旨を通信端末102へ通知する(ステップS2110)。
通信端末102のCPU302は、この通知を画像形成装置101から受信すると、ステップS1810と同様に、表示部310にスキャン中画面1709を表示させる(ステップS2111)。また、CPU302は、画像形成装置101の状態を100msec間隔で監視する状態監視処理を開始し、ステップS1811と同様に、画像形成装置101の状態取得要求を行う(ステップS2112)。
画像形成装置101のCPU202は、通信端末102から状態取得要求を受けた際にスキャン画像の生成を完了していない場合、ステップS1812と同様に、「実行中」を通信端末102へ通知する(ステップS2113)。スキャン画像の生成を完了すると、CPU202は、ジョブコマンドの送信元である通信端末102へスキャン画像を送信する(ステップS2114)。このように、第2の実施の形態では、スプール機能を持たない画像形成装置101は、クラウドサーバ103ではなく、ジョブコマンドの送信元である通信端末102へスキャン画像を送信する。
一方、通信端末102のCPU302は、ステップS2112と同様に、画像形成装置101の状態取得要求を行う(ステップS2115)。
画像形成装置101のCPU202は、通信端末102へスキャン画像の送信を完了した後に状態取得要求を受けた場合、スキャン画像の送信を完了した旨を通信端末102へ通知する(ステップS2116)。
通信端末102のCPU302は、この通知を画像形成装置101から受けると、ステップS2107にて開放した通信端末102における所定のポート番号、例えば、「443」を閉じる(ステップS2117)。次いで、CPU302は、ステップS2114にて画像形成装置101から送信されたスキャン画像を、ユーザ指定宛先であるクラウドサーバ103へ送信する(ステップS2118)。具体的に、上記ジョブコマンドに設定された認証情報「dXNlcjE6cGFzc3dvcmQx」をHTTPヘッダに付与し、スキャン画像のバイナリデータをメッセージボディ部としたHTTPSのPOSTリクエストがクラウドサーバ103へ送信される。
クラウドサーバ103のCPU402は、上記HTTPSのPOSTリクエストに設定された認証情報に対応するユーザの書き込み権限が上記所定の記憶領域に付与されていないため、送信エラーレスポンスを通信端末102へ送信する(ステップS2119)。
通信端末102のCPU302は、送信エラーレスポンスを受信すると、表示部I/F308を介して、表示部310に再送信画面1711を表示させる(ステップS2120)。
その後、ユーザが、ステップS1818と同様に、Webブラウザ等を経由してクラウドサーバ103に、ユーザ指定宛先に対する当該ユーザの書き込み権限の付与を指示する(ステップS2121)。次いで、ユーザは、通信端末102に対し、ステップS1819と同様に、スキャン画像の送信指示を行う(ステップS2122)。
通信端末102のCPU302は、ユーザによるスキャン画像の送信指示を受けると、ステップS2118と同様に、ユーザ指定宛先であるクラウドサーバ103へスキャン画像を送信する(ステップS2123)。
クラウドサーバ103のCPU402は、スキャン画像の受信を完了すると、その旨を通信端末102へ通知する(ステップS2124)。具体的に、クラウドサーバ103のCPU402は、スキャン画像の受信を完了したことを示すHTTPレスポンスステータスコードが設定されたHTTPレスポンスを通信端末102へ送信する。
通信端末102のCPU302は、受信したHTTPレスポンスに設定されたHTTPレスポンスステータスコードに基づいてスキャン画像の送信を成功したと判別する。CPU302は、この判別に基づいて、表示部310に送信成功画面1717を表示させ(ステップS2125)、本処理を終了する。
図22は、第2の実施の形態において通信端末102が実行するジョブコマンド生成処理の手順を示すフローチャートである。図22のジョブコマンド生成処理は、通信端末102のCPU302がROM304又はストレージ305に格納されたプログラムを実行することによって実現される。図22のジョブコマンド生成処理は、ユーザがスキャンジョブの実行指示を行った際(例えば、ステップS1804,S2104を参照)、つまり、ユーザがスキャン設定画面1703におけるスキャン開始ボタン1708を押下した際に実行される。なお、ジョブコマンド生成処理の開始時には、ステップS1802又はS2102におけるデバイス能力取得要求の応答に基づいて画像形成装置101のスプール能力設定値が、通信端末102のRAM303に保存されている。画像形成装置101のスプール能力設定値は、上述したように、画像形成装置101が「スプール能力有り」であることを示す「True」、及び画像形成装置101が「スプール能力無し」であることを示す「False」の何れかである。
図22において、CPU302は、カラーモード指定リストボックス1704、解像度指定リストボックス1705、入力方法指定リストボックス1706にて選択された値に基づいてジョブ設定文字列を生成する(ステップS2201)。CPU302は、生成したジョブ設定文字列をRAM303に保存する。次いで、CPU302は、RAM303に保存された画像形成装置101のスプール能力設定値に基づいて画像形成装置101が「スプール能力有り」であるか否かを判別する(ステップS2202)。
ステップS2202の判別の結果、画像形成装置101が「スプール能力有り」でない場合、つまり、画像形成装置101が「スプール能力無し」である場合、ジョブコマンド生成処理はステップS2203へ進む。ステップS2203では、CPU302は、通信端末102の宛先情報に基づいて宛先文字列を生成し、生成した宛先文字列をRAM303に保存する。次いで、CPU302は、ユーザ指定宛先の宛先情報をRAM303に保存する(ステップS2204)。次いで、CPU302は、RAM303に保存されたジョブ設定文字列及び宛先文字列に基づいて図20(b)に示すジョブコマンドを生成する(ステップS2205)。つまり、このジョブコマンドには、スキャン画像の送信先を示す宛先情報として、ユーザ指定宛先の宛先情報ではなく、通信端末102の宛先情報が設定される。次いで、CPU302は、ネットワークI/F306を介して画像形成装置101へジョブコマンドを送信し(ステップS2206)(例えば、上述したステップS1805,S2108を参照。)、本処理を終了する。
ステップS2202の判別の結果、画像形成装置101が「スプール能力有り」である場合、CPU302は、ユーザ指定宛先の宛先情報に基づいて宛先文字列を生成し、この宛先文字列をRAM303に保存する(ステップS2207)。次いで、CPU302は、RAM303に保存されたジョブ設定文字列及び宛先文字列に基づいて図20(a)に示すジョブコマンドを生成する(ステップS2208)。つまり、このジョブコマンドには、スキャン画像の送信先を示す宛先情報として、ユーザ指定宛先の宛先情報が設定される。次いで、ジョブコマンド生成処理はステップS2206へ進む。
図23は、第2の実施の形態において画像形成装置101が実行するジョブ実行結果保存処理の手順を示すフローチャートである。図23のジョブ実行結果保存処理は、画像形成装置101のCPU202がROM204又はストレージ205に格納されたプログラムを実行することによって実現される。図23のジョブ実行結果保存処理は、上述したステップS1808又はS2109にて生成されたスキャンジョブデータに基づいてスキャン画像が生成された後に実行される。ジョブ実行結果保存処理の開始時には、スキャン画像のバイナリデータがRAM203に保存されている。更にジョブ実行結果保存処理の開始時には、通信端末102から受信したジョブコマンドに設定された宛先情報がRAM203に保存されている。この宛先情報は、スキャン画像の送信先を示す送信先URIと、この送信先へのアクセスに用いられる送信先認証情報を含む。また、画像形成装置101には、スキャン画像の送信のリトライの上限回数、例えば、「5」と、リトライ回数がRAM203に保存されていることとする。なお、リトライ回数は次のジョブの開始時に「0」に初期化される。
図23において、CPU202は、通信端末102から受信したジョブコマンドに設定された宛先情報が示す宛先へスキャン画像を送信する(ステップS2301)。具体的に、RAM203に保存された送信先URIに対し、RAM203に保存された送信先認証情報をHTTPヘッダに付与しRAM203に保存されたスキャン画像のバイナリデータをメッセージボディ部としたHTTPSのPOSTリクエストが送信される。例えば、画像形成装置101がスプール能力を持つ場合、上述したジョブコマンド生成処理により、ジョブコマンドにはユーザ指定先であるクラウドサーバ103の宛先情報が設定されている。この場合、ステップS2301において、CPU202は、クラウドサーバ103へスキャン画像を送信する。一方、画像形成装置101がスプール能力を持たない場合、上述したジョブコマンド生成処理により、ジョブコマンドには通信端末102の宛先情報が設定されている。この場合、ステップS2301において、CPU202は、通信端末102へスキャン画像を送信する。
次いで、CPU202は、POSTリクエストに対するHTTPSレスポンスをスキャン画像の送信先から取得し、当該HTTPレスポンスに含まれる送信結果をRAM203に保存する(ステップS2302)。次いで、CPU202は、ステップS2302にてRAM203に保存された送信結果が「成功」であるか否かを判別する(ステップS2303)。
ステップS2303の判別の結果、ステップS2302にてRAM203に保存された送信結果が「成功」である場合、CPU202は、RAM203にジョブ実行結果として「送信成功」を保存し(ステップS2304)、本処理を終了する。
ステップS2303の判別の結果、ステップS2302にてRAM203に保存された送信結果が「成功」でない場合、CPU202は、RAM203に保存されたリトライ回数が上限回数未満であるか否かを判別する(ステップS2305)。
ステップS2305の判別の結果、リトライ回数が上限回数未満である場合、ジョブ実行結果保存処理はステップS2301へ戻る。ステップS2305の判別の結果、リトライ回数が上限回数未満でない場合、CPU202は、RAM203にジョブ実行結果として「失敗」を保存し(ステップS2306)、本処理を終了する。その後、CPU202は、通信端末102から状態取得要求を受けると、RAM203に保存したジョブ実行結果を含むHTTPレスポンスデータを通信端末102へ送信する。
図24は、第2の実施の形態において通信端末102が実行する通信端末後処理の手順を示すフローチャートである。図24の通信端末後処理は、通信端末102のCPU302がROM304又はストレージ305に格納されたプログラムを実行することによって実現される。図24の通信端末後処理は、通信端末102が行った状態取得要求の応答として、画像形成装置101からジョブ実行結果を含むHTTPレスポンスデータが送信された際に実行される。通信端末後処理の開始時には、画像形成装置101に状態取得要求を行うための状態取得要求URI、ユーザ指定宛先であるクラウドサーバ103の宛先情報がRAM303に保存されている。また、通信端末後処理の開始時には、ステップS1802又はS2102におけるデバイス能力取得要求の応答に基づいて画像形成装置101のスプール能力設定値が、通信端末102のRAM303に保存されている。
図24において、CPU302は、画像形成装置101から送信されたHTTPレスポンスデータに含まれるジョブ実行結果を取得する(ステップS2401)。次いで、CPU302は、取得したジョブ実行結果が「実行中」であるか否かを判別する(ステップS2402)。
ステップS2402の判別の結果、取得したジョブ実行結果が「実行中」である場合、通信端末後処理はステップS2401に戻る。ステップS2402の判別の結果、取得したジョブ実行結果が「実行中」でない場合、CPU302は、取得したジョブ実行結果が「成功」であるか否かを判別する(ステップS2403)。
ステップS2403の判別の結果、取得したジョブ実行結果が「成功」である場合、通信端末後処理はステップS2404へ進む。ステップS2404では、CPU302は、RAM302に保存された画像形成装置101のスプール能力設定値に基づいて画像形成装置101が「スプール能力有り」であるか否かを判別する。
ステップS2404の判別の結果、画像形成装置101が「スプール能力有り」である場合、通信端末後処理は後述するステップS2408へ進む。ステップS2404の判別の結果、画像形成装置101が「スプール能力有り」でない場合、上述したステップS2114にて画像形成装置101から送信されたスキャン画像がストレージ305に保存されている。この場合、CPU302は、ユーザ指定宛先の宛先情報、例えば、クラウドサーバ103の宛先情報をRAM303から取得する(ステップS2405)。次いで、CPU302は、ストレージ305に保存されているスキャン画像を、ネットワークI/F306を介してクラウドサーバ103へ送信する(ステップS2406)(例えば、上述したステップS2118を参照)。次いで、CPU302は、スキャン画像の送信に対するレスポンスをクラウドサーバ103から取得する。CPU302は、取得したレスポンスに基づいて送信結果が「成功」であるか否かを判別する(ステップS2407)。
ステップS2407の判別の結果、送信結果が「成功」である場合、CPU302は、表示部I/F308を介して、表示部310に送信成功画面1717を表示させる(ステップS2408)。次いで、CPU302は、送信成功画面1717における閉じるボタン1718がユーザに押下されるまで待機する。送信成功画面1717における閉じるボタン1718がユーザに押下されると(ステップS2409でYES)、CPU302は、ステップS1511と同様の処理である終了処理を実行する(ステップS2410)。その後、通信端末後処理は終了する。
ステップS2407の判別の結果、送信結果が「成功」でない場合、CPU302は、表示部I/F308を介して、表示部310に再送信画面1711を表示させる(ステップS2411)。次いで、CPU302は、再送信画面1711における送信ボタン1713がユーザに押下されたか否かを判別する(ステップS2412)。
ステップS2412の判別の結果、再送信画面1711における送信ボタン1713がユーザに押下された場合、通信端末後処理はステップS2406へ進む。ステップS2412の判別の結果、再送信画面1711における送信ボタン1713がユーザに押下されない場合、CPU302は、再送信画面1711における閉じるボタン1714がユーザに押下されたか否かを判別する(ステップS2413)。
ステップS2413の判別の結果、再送信画面1711における閉じるボタン1714がユーザに押下されない場合、通信端末後処理はステップS2412へ戻る。ステップS2413の判別の結果、再送信画面1711における閉じるボタン1714がユーザに押下された場合、通信端末後処理はステップS2410へ進む。
ステップS2403の判別の結果、取得したジョブ実行結果が「成功」でない場合、CPU302は、表示部I/F308を介して、表示部310にエラー画面1715を表示させる(ステップS2414)。次いで、CPU302は、エラー画面1715における閉じるボタン1716がユーザに押下されるまで待機する。エラー画面1715における閉じるボタン1716がユーザに押下されると(ステップS2415でYES)、通信端末後処理はステップS2410へ進む。
上述した実施の形態では、通信端末102は、画像形成装置101がスプール能力を持たない場合、ユーザ指定宛先の宛先情報を含まず、通信端末102の宛先情報を含むジョブコマンドを画像形成装置101へ送信する。これにより、スプール能力を持たない画像形成装置101のストレージ205にスキャン画像を貯めこむこと無く、通信端末102からスキャン画像の送信のリトライを行うことができる。その結果、画像形成装置101において他のジョブの実行に制限をかけることなく、スキャン画像の送信のリトライを行うことができる。
また、上述した実施の形態では、スプール能力を持たない画像形成装置101は、ジョブの実行によって生成された全てのスキャン画像を格納し切れない程小容量なストレージ205を備える画像形成装置である。これにより、ジョブの実行によって生成された全てのスキャン画像を格納し切れない程小容量なストレージ205を備える画像形成装置において、スキャン画像の送信のリトライを通信端末102から行うことができる。
本発明は、上述の実施の形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、該システム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100 画像処理システム
101 画像形成装置
102 通信端末
202 CPU
206 ネットワークI/F
302 CPU
306 ネットワークI/F
309 操作部
501 データ送受信部
503 ジョブ制御部
601 データ送受信部
604 コマンド生成部
811,1711 再送信画面

Claims (11)

  1. コマンド生成装置と画像処理装置を備える画像処理システムであって、
    前記コマンド生成装置は、
    ユーザから、原稿を読み取って当該原稿の画像データを生成して前記ユーザに指定された宛先へ前記画像データの送信を行うジョブの実行指示を受け付ける受付手段と、
    前記ジョブを実行させるコマンドを生成するコマンド生成手段と、
    前記コマンドを前記画像処理装置へ送信するコマンド送信手段とを備え、
    前記画像処理装置は、
    前記コマンド生成装置から受信したコマンドに基づいて前記ジョブの実行を制御する制御手段と、
    前記ユーザに指定された宛先へ前記画像データの送信を失敗した場合、当該画像データを前記コマンド生成装置へ送信する画像データ送信手段とを備え、
    前記コマンド生成装置は、前記ユーザから受けた指示に従って、前記画像処理装置から受信した前記画像データを前記ユーザに指定された宛先へ送信することを特徴とする画像処理システム。
  2. 前記コマンドは、前記ユーザに指定された宛先へ前記画像データを送信する際に必要となる第1の宛先情報、及び前記コマンド生成装置へ前記画像データを送信する際に必要となる第2の宛先情報を含むことを特徴とする請求項1記載の画像処理システム。
  3. 前記コマンド生成装置は、前記画像処理装置から前記画像データを受信した後に、前記画像処理装置による前記画像データの送信を完了したことを示すジョブ結果通知を前記画像処理装置から受信したことに従って、前記画像処理装置から受信した前記画像データを前記ユーザに指定された宛先へ送信する指示をユーザから受け付ける画面を表示することを特徴とする請求項1又は2記載の画像処理システム。
  4. 前記画面には、前記画像処理装置が前記ユーザに指定された宛先へ前記画像データの送信を失敗したエラーの内容が表示されることを特徴とする請求項3記載の画像処理システム。
  5. 前記ジョブ結果通知は、前記画像処理装置が前記ユーザに指定された宛先へ前記画像データの送信を完了したことを示す他のジョブ結果通知と異なることを特徴とする請求項3又は4記載の画像処理システム。
  6. コマンド生成装置と画像処理装置を備える画像処理システムであって、
    前記コマンド生成装置は、
    前記画像処理装置のスプール能力を示す情報を要求する要求手段と、
    ユーザから、原稿を読み取って当該原稿の画像データを生成して前記ユーザに指定された宛先へ前記画像データの送信を行うジョブの実行指示を受け付ける受付手段と、
    前記ジョブを実行させるコマンドを生成するコマンド生成手段と、
    前記コマンドを前記画像処理装置へ送信するコマンド送信手段とを備え、
    前記画像処理装置は、
    前記コマンド生成装置から受信したコマンドに基づいて前記画像データを生成する画像処理手段と、
    前記コマンドに設定された宛先へ前記画像データを送信する画像データ送信手段とを備え、
    前記画像処理装置が前記スプール能力を持たない場合、前記コマンド生成手段は、前記コマンドに、前記ユーザに指定された宛先へ前記画像データを送信する際に必要となる第1の宛先情報を設定せずに、前記コマンド生成装置へ前記画像データを送信する際に必要となる第2の宛先情報を設定し、
    前記コマンド生成装置は、前記ユーザから受けた指示に従って、前記画像処理装置から受信した前記画像データを前記ユーザに指定された宛先へ送信することを特徴とする画像処理システム。
  7. 前記スプール能力を持たない画像処理装置は、前記ジョブの実行によって生成された全ての画像データを格納し切れない程小容量なメモリを備える画像処理装置であることを特徴とする請求項6記載の画像処理システム。
  8. 前記コマンド生成装置は、前記画像処理装置から前記画像データを受信した後に、前記画像処理装置による前記画像データの送信を完了したことを示すジョブ結果通知を前記画像処理装置から受信したことに従って、前記画像処理装置から受信した前記画像データを前記ユーザに指定された宛先へ送信する指示をユーザから受け付ける画面を表示することを特徴とする請求項6又は7記載の画像処理システム。
  9. コマンド生成装置と画像処理装置を備える画像処理システムの制御方法であって、
    ユーザから、原稿を読み取って当該原稿の画像データを生成して前記ユーザに指定された宛先へ前記画像データの送信を行うジョブの実行指示を受け付ける受付工程と、
    前記ジョブを実行させるコマンドを前記コマンド生成装置によって生成するコマンド生成工程と、
    前記コマンドを前記画像処理装置へ送信するコマンド送信工程と、
    前記画像処理装置に、前記コマンドに基づいて前記ジョブを実行させる制御工程と、
    前記ユーザに指定された宛先へ前記画像データの送信を失敗した場合、前記画像処理装置によって当該画像データを前記コマンド生成装置へ送信する第1の画像データ送信工程と、
    前記ユーザから受けた指示に従って、前記コマンド生成装置によって前記画像データを前記ユーザに指定された宛先へ送信する第2の画像データ送信工程とを有することを特徴とする画像処理システムの制御方法。
  10. コマンド生成装置と画像処理装置を備える画像処理システムの制御方法であって、
    前記画像処理装置のスプール能力を示す情報を要求する要求工程と、
    ユーザから、原稿を読み取って当該原稿の画像データを生成して前記ユーザに指定された宛先へ前記画像データの送信を行うジョブの実行指示を受け付ける受付工程と、
    前記ジョブを実行させるコマンドを前記コマンド生成装置によって生成するコマンド生成工程と、
    前記コマンドを前記画像処理装置へ送信するコマンド送信工程と、
    前記画像処理装置が前記コマンドに基づいて前記画像データを生成する画像処理工程と、
    前記画像処理装置が前記コマンドに設定された宛先へ前記画像データを送信する画像データ送信手段とを有し、
    前記画像処理装置が前記スプール能力を持たない場合、前記コマンド生成工程では、前記コマンドに、前記ユーザに指定された宛先へ前記画像データを送信する際に必要となる第1の宛先情報が設定されずに、前記コマンド生成装置へ前記画像データを送信する際に必要となる第2の宛先情報が設定され、
    前記コマンド生成装置は、前記ユーザから受けた指示に従って、前記画像処理装置から受信した前記画像データを前記ユーザに指定された宛先へ送信することを特徴とする画像処理システム。
  11. 請求項1乃至8のうちいずれか1項に記載の画像処理システムの各手段をコンピュータに実行させるためのプログラム。
JP2021084037A 2021-05-18 2021-05-18 画像処理システム、画像処理システムの制御方法、及びプログラム Pending JP2022177632A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021084037A JP2022177632A (ja) 2021-05-18 2021-05-18 画像処理システム、画像処理システムの制御方法、及びプログラム
US17/732,633 US11831835B2 (en) 2021-05-18 2022-04-29 Image processing system for transmitting image data to alternative destination, control method for the image processing system, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021084037A JP2022177632A (ja) 2021-05-18 2021-05-18 画像処理システム、画像処理システムの制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2022177632A true JP2022177632A (ja) 2022-12-01
JP2022177632A5 JP2022177632A5 (ja) 2024-05-22

Family

ID=84103291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021084037A Pending JP2022177632A (ja) 2021-05-18 2021-05-18 画像処理システム、画像処理システムの制御方法、及びプログラム

Country Status (2)

Country Link
US (1) US11831835B2 (ja)
JP (1) JP2022177632A (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008109479A (ja) 2006-10-26 2008-05-08 Canon Inc 通信装置
CN102196131A (zh) * 2010-03-17 2011-09-21 株式会社东芝 Fax任务管理装置、fax发送处理方法、fax发送处理系统
KR20120037144A (ko) * 2010-10-11 2012-04-19 삼성전자주식회사 화상형성장치, 호스트장치 및 그 작업수행방법
JP5991733B2 (ja) * 2012-03-05 2016-09-14 キヤノン株式会社 ネットワークシステム、情報処理装置、及び通信方法
JP6355301B2 (ja) * 2013-06-19 2018-07-11 キヤノン株式会社 画像処理システム及び携帯端末、並びにその制御方法及びプログラム
US20150288855A1 (en) * 2014-04-08 2015-10-08 Canon Information And Imaging Solutions, Inc. Providing information about a process executed on an image processing device
JP2018121131A (ja) * 2017-01-23 2018-08-02 キヤノン株式会社 画像形成装置とその制御方法、及びプログラム
JP7363212B2 (ja) * 2019-08-30 2023-10-18 ブラザー工業株式会社 情報処理プログラム、情報処理装置及び情報処理方法

Also Published As

Publication number Publication date
US20220377200A1 (en) 2022-11-24
US11831835B2 (en) 2023-11-28

Similar Documents

Publication Publication Date Title
JP5843605B2 (ja) 印刷制御装置、印刷制御方法、情報処理システム、情報処理装置、情報処理方法およびコンピュータプログラム
JP7129842B2 (ja) システム、画像形成装置、及びその制御方法、並びにプログラム
JP7182934B2 (ja) 画像形成装置、システム、それらの制御方法、及びプログラム
JP5480527B2 (ja) 画像処理装置、制御方法、及びプログラム
RU2471225C2 (ru) Устройство формирования изображений, система взаимодействия с устройством, способ предоставления услуг
CN108804059B (zh) 图像形成装置及图像形成装置的控制方法
JP2008263380A (ja) 画像形成装置、画像形成装置の制御方法、プログラム、記憶媒体
JP7134719B2 (ja) 画像形成システム、画像形成装置、情報処理装置、および制御方法
JP5441426B2 (ja) 画像処理装置及びその制御方法、並びにプログラム
JP2020017216A (ja) 画像形成装置、システム、それらの制御方法、及プログラム
JP2021028130A (ja) 印刷装置、印刷システム
US20060268334A1 (en) Data processing apparatus connectable to network, and control method therefor
JP2012048501A (ja) 周辺装置制御システム、周辺装置、情報処理装置及び制御方法
JP5102123B2 (ja) 画像形成システム、セッション管理サーバ及びプログラム
CN113472961A (zh) 服务器、信息处理方法和存储介质
JP4536696B2 (ja) 通知予約アクセス制御方法、画像処理装置、および、通知予約アクセス制御システム
JP2022177632A (ja) 画像処理システム、画像処理システムの制御方法、及びプログラム
JP4079722B2 (ja) ネットワークを介して装置間で連携する画像形成装置
JP2011237854A (ja) 印刷制御装置、印刷制御システム、印刷制御方法、印刷制御プログラム、及びそのプログラムを記録した記録媒体
JP2012030449A (ja) 画像処理装置、処理方法、及びそのプログラム
JP6155802B2 (ja) 画像形成装置、画像形成システム、その制御方法及びプログラム
US9152112B2 (en) Image forming system and image forming apparatus with improved error reporting status
JP4520484B2 (ja) Webサービス機能を有する画像形成装置
JP5387130B2 (ja) 印刷制御システム、画像形成装置、管理用の情報処理装置と、その処理方法およびプログラム。
JP2005011243A (ja) 出力制御装置、情報処理装置、情報処理システム、制御方法、記録媒体及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240514

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240514