A.実施例:
A−1:システム1000の構成
次に、本発明の実施の形態を実施例に基づき説明する。図1は、本発明の一実施例としてのシステム1000の構成を示すブロック図である。システム1000は、複合機100と、制御サーバ200と、複数個の保存サーバ310〜330と、を備える。これらの装置100、200、310〜330は、それぞれ別体に構成されている。複合機100は、LAN(Local Area Network)70に接続されている。LAN70は、インターネット80に接続されている。制御サーバ200、および、保存サーバ310〜330は、インターネット80に接続されている。この結果、複合機100と、サーバ200、310〜330は、LAN70およびインターネット80を介して、通信することができる。
保存サーバ310〜330は、画像データを保存することができる保存サービスを提供するサーバである。各保存サーバは、例えば、互いに通信可能に接続された複数個の計算機と複数個の記憶装置とを含むクラウドサーバである。保存サービスは、例えば、クライアント(複合機100やパーソナルコンピュータ(図示省略))から送信されたデータを保存するストレージサービスや、クライアントから送信されたデータの保存と公開とを行うソーシャルネットワークサービスを含む。保存サービスは、具体的には、「Evernote(登録商標)」、「Google(登録商標) Drive」、「PICASA(登録商標)」、「SkyDrive(登録商標)」、「Dropbox(登録商標)」、「Box.net」、「Flickr(登録商標)」、「Facebook(登録商標)」などの公知のサービスを含む。
保存サーバ310、320、330によって提供される保存サービスの名称を、それぞれ「SN1」、「SN2」、「SN3」とする。保存サーバ310〜330によって提供される保存サービスSN1〜SN3を運用する事業者は、互いに異なっている。保存サービスSN1〜SN3の事業者は、複合機100のベンダとも異なる。保存サービスSN1〜SN3を利用するためにアクセスすべきURL(Uniform Resource Locator)は、互いに異なっている。保存サービスSN1〜SN3を利用するためにアクセスすべきURLを、それぞれ「URL1」、「URL2」、「URL3」とする。「URL1」、「URL2」、「URL3」は、それぞれ、保存サービスSN1〜SN3を提供する保存サーバ310〜330のインターネット80上の所在を示す所在情報と言うことができる。
複合機100は、複合機100のコントローラーとしてのCPU110と、ハードディスクドライブやEEPROMなどの不揮発性記憶装置120と、RAMなどの揮発性記憶装置130と、所定の方式(例えば、レーザ方式や、インクジェット方式)で画像を印刷するプリンタ部140と、光学的に対象物(例えば、紙の文書)を読み取ることによってスキャンデータを取得するスキャナ部150と、タッチパネルやボタンなどの操作部160と、タッチパネルと重畳された液晶パネルなどの表示部170と、ネットワークIF180と、電話回線IF190と、を備えている。
ネットワークIF180は、例えば、イーサネット(登録商標)規格に準拠したインタフェースであり、LAN70に接続するために用いられる。電話回線IF190は、例えば、2線式や4線式のアナログ電話回線のインタフェースであり、アナログ電話回線のネットワーク90、すなわち、PSTN(Public Switched Telephone Network)に接続するために用いられる。
不揮発性記憶装置120は、コンピュータプログラムPG1と、FAX一般設定情報FGと、サービス情報リストSLと、FAX受信リストFLと、を格納している。揮発性記憶装置130には、CPU110が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域131が設けられている。
プログラムPG1は、複合機100の出荷時に、予め不揮発性記憶装置120に記憶される形態で提供される。コンピュータプログラムPG1は、インターネット80を介して複合機100に接続されたサーバからダウンロードされる形態で提供されても良く、CD−ROMやDVD−ROMなどに格納された形態で提供されても良い。
CPU110は、コンピュータプログラムPG1を実行することにより、複合機100の制御部として機能する。具体的には、CPU110は、プリンタ部140やスキャナ部150を制御して印刷やスキャンを実行する。また、CPU110は、ファクシミリ機能を実現する。すなわち、CPU110は、画像データ(例えば、スキャナ部150によって生成されたスキャンデータ)をFAXG3などの規格に従ったファクシミリデータに変換して電話回線IF190を介して外部機器に送信する機能を実行できる。CPU110は、電話回線IF190を介して外部機器からファクシミリデータを受信し、該ファクシミリデータによって表される画像(以下、FAX画像とも呼ぶ)を出力する機能を実行できる。FAX画像の出力は、例えば、プリンタ部140を用いた印刷や、表示部170への表示を含む。
さらに、CPU110は、コンピュータプログラムPG1を実行することによって、サーバ連携機能を実現できる。具体的には、CPU110は、制御サーバ200にアクセスすることによって、制御サーバ200から送信される命令に従って動作する。これによって、CPU110は、単体では実現できない機能であるサーバ連携機能を実現できる。サーバ連携機能については、後述する。
図2は、各種情報の一例を示す図である。図2(A)〜(C)のFAX一般設定情報FG、サービス情報リストSL、FAX受信リストFLは、上述したように複合機100の不揮発性記憶装置120に格納されている。図2(D)のサービス利用情報SA、および、図2(E)のエラー情報EIは、後述するように制御サーバ200の不揮発性記憶装置220に格納されている。図2(A)のFAX一般設定情報FGは、ファクシミリ機能に関する設定を示す情報である。FAX一般設定情報FGは、Fax to Cloud機能が有効(ON)であるか無効(OFF)であるかを示す設定情報と、表示のみモードが有効(ON)であるか無効(OFF)であるかを示す設定情報と、を含む。Fax to Cloud機能は、上述したサーバ連携機能の一つである。Fax to Cloud機能は、詳細は後述するが、ファクシミリデータの受信に応じて、ファクシミリデータによって表されるFAX画像を表す画像データ(以下、FAX画像データとも呼ぶ)を、保存サーバに送信(アップロード)する機能である。表示のみモードが有効である場合には、CPU110は、ファクシミリデータを受信した場合に、ファクシミリデータによって表される画像を、表示部170に表示し、ユーザの印刷指示がない限り、当該画像を印刷しない。表示のみモードが無効である場合には、CPU110は、ファクシミリデータを受信した場合に、ファクシミリデータによって表される画像を自動的に印刷する。なお、表示のみモードが有効であるか無効であるかを示す設定情報の初期値は、無効を示す値である。
図2(B)のサービス情報リストSLは、アカウント情報ADと、Fax to Cloud設定情報FCと、を含む。アカウント情報ADは、サーバ連携機能で利用される保存サービスSN1〜SN3のアカウントごとに登録される。アカウント情報ADは、保存サービスの名称と、ユーザ名と、トークンと、を含む。ユーザ名(例えば、「Alice」)は、ユーザによって登録される文字列である。トークン(例えば、「TK1」)は、保存サービスを提供する保存サーバ(例えば、保存サーバ310)にアクセスするための認証情報である。Fax to Cloud設定情報FCは、FAX画像送信設定と、フォーマット情報と、を含む。FAX画像送信設定と、フォーマット情報とは、アカウントごとに登録される。FAX画像送信設定は、Fax to Cloud機能が有効である場合に、対応するトークンを用いて対応する保存サーバにFAX画像データを送信するか否かを示す。FAX画像送信設定が「ON」であることは、対応するトークンを用いて対応する保存サーバへFAX画像データを送信することを示し、FAX画像送信設定が「OFF」であることは、対応するトークンを用いて対応する保存サーバへFAX画像データを送信しないことを示す。フォーマット情報は、Fax to Cloud機能によって保存サーバへFAX画像データが送信される際に利用される画像ファイルのフォーマットを示す。本実施例で用いられるフォーマットは、例えば、JPEG(Joint Photographic Experts Group)フォーマット、PDF(Portable Document Format)、TIFF(Tagged Image File Format)を含む。
Fax to Cloud設定情報FCは、さらに、バックアップ印刷が有効であるか無効であるかを示す情報を含む。バックアップ印刷が有効である場合には、Fax to Cloud機能において、保存サーバへのFAX画像データの送信に加えて、FAX画像の印刷が自動的に行われる。バックアップ印刷が無効である場合には、Fax to Cloud機能において、保存サーバへのFAX画像データの送信のみが行われ、FAX画像の印刷は行われない。
なお、サービス情報リストSLは、テキストデータではなく、バイナリデータである。サービス情報リストSL内の各情報を解釈するためには、サービス情報リストSL内の各情報の値と、値の意味(例えば、JPEG、PDFなどのフォーマット名)と、を対応付ける解釈情報IPが必要である。複合機100は、解釈情報IPを有していない。このために、複合機100のCPU110は、サービス情報リストSLを、制御サーバ200に送信することはできるが、サービス情報リストSL内の個々の情報を直接利用することはできない。
図2(C)のFAX受信リストFLは、受信済みのファクシミリデータごとに生成される1個以上のエントリENを含む。各エントリENは、ファクシミリデータの識別子(例えば、「001」)であるFAXIDと、ファクシミリデータが受信された日時を示す情報(例えば、「TM1」)と、ファクシミリデータの送信元のファクシミリ番号を示す情報(例えば、「FN1」)と、を含む。各エントリENは、例えば、対応するファクシミリデータが受信された時に生成され、当該ファクシミリデータが不揮発性記憶装置120から削除された場合に、FAX受信リストFLから削除される。
制御サーバ200(図1)は、複合機100のベンダによって提供されるサーバである。制御サーバ200は、制御サーバ200のコントローラーとしてのCPU210と、ハードディスクドライブなどの不揮発性記憶装置220と、RAMなどの揮発性記憶装置230と、インターネット80と接続するためのネットワークIF280と、を備えている。
不揮発性記憶装置220は、コンピュータプログラムPG2と、図2(D)のサービス利用情報SAと、解釈情報IPと、図2(E)のエラー情報EIと、を格納している。揮発性記憶装置230には、CPU210が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域231が設けられている。コンピュータプログラムPG2、サービス利用情報SA、解釈情報IPは、インターネット80を介して接続されるベンダの計算機からアップロードされる形態で提供されても良く、CD−ROMやDVD−ROMなどに格納された形態で提供されても良い。
CPU210は、コンピュータプログラムPG2を実行することによって、複合機100に上述したサーバ連携機能を実現させる。具体的には、CPU210は、複合機100からのアクセスに応じて、複合機100に対して各種の動作命令を送信することによって、複合機100を制御する。これによって、CPU210は、複合機100にサーバ連携機能を実現させることができる。
図2(D)のサービス利用情報SAは、保存サーバ310〜330によって実現される保存サービスSN1〜SN3に関する情報である。サービス利用情報SAは、サービス名(例えば、SN1)と、可能フォーマット情報(例えば、JPEG)と、送信方法(例えば、MT1)と、アップロード先URL(例えば、URL1)と、を含む。サービス利用情報SAは、各保存サービスの事業者によって公開されているAPI(Application Programming Interface)に基づいて、作成されている。これらのAPIは、保存サービスの機能を外部機器から呼び出して利用するために必要な規約、例えば、アクセスの手順(プロトコル)や、当該手順を実行する際に用いるべきデータの形式を定めた規約である。すなわち、公開されているAPIを参照すれば、保存サービスを利用するためにアクセスすべきURL、送信すべきパラメータ、パラメータや保存対象の画像データを送信するためのデータ形式などが解る。
可能フォーマット情報は、保存サービスによって保存可能な画像データのフォーマットを示す。例えば、画像データ専用の保存サービスは、JPEGなどの画像データ用のフォーマットのみに対応している場合がある。また、任意のデータを保存対象とする保存サービスでは、任意のフォーマットの画像データに対応している場合がある。送信方法は、画像データを保存サーバに送信する方法、例えば、送信手順、送信すべきパラメータを示す。アップロード先URLは、画像データやパラメータの宛先を示すURLである。
上述したサービス情報リストSLにおいて、トークンは、保存サービスSN1〜SN3と対応付けられており、サービス利用情報SAにおいて、アップロード先URLは、保存サービスSN1〜SN3と対応付けられている。したがって、サービス情報リストSLとサービス利用情報SAとによって、トークンとアップロード先URLとが対応付けられることが解る。
解釈情報IPは、上述したように、サービス情報リストSLを解釈するための情報である。制御サーバ200は、解釈情報IPを有しているので、複合機100が有するサービス情報リストSLを解釈することができる。
図2(E)のエラー情報EIには、クライアント(例えば、複合機100)ごとに、後述するFax to Cloud処理において、クライアントが、FAX画像データを保存サーバに送信(アップロード)した直近の結果を示す情報が、記録されている。送信結果(アップロード結果)を示す情報は、クライアントIDに対応付けて記録されている。クライアントIDには、例えば、クライアントのMACアドレスや、クライアントの製品番号(シリアル番号)などのクライアントの固有のIDが用いられる。送信結果を示す情報は、直近のアップロードが成功した場合には、エラーが無かったこと(正常)を示す情報であり、直近のアップロードが失敗した場合には、失敗の原因となったエラーを示す情報である。アップロードの失敗の原因となるエラーは、第1種のエラーと、第2種のエラーと、を含む。
第1種のエラーは、認証エラーと、記憶容量の上限違反エラーと、書込権限違反エラーと、を含む。認証エラーは、トークンが真正であると判断できず、トークンに対応するアカウントを認証できないエラーである。記憶容量の上限違反エラーは、トークンに対応するアカウントに割り当てられた保存サーバ内の使用可能な記憶容量が不足しているエラーである。書込権限違反エラーは、保存サーバ内の書込先の記憶領域(例えば、アップロード先URL、または、フォルダIDによって指定される書込先のフォルダ)に対する書込権限がないエラーである。第1種のエラーは、ユーザが、何らかの処置、例えば、トークンの再取得、保存サーバ内に保存済みのデータの削除、書込権限の取得を行わない限り、解消し難い。すなわち、第1種のエラーは、解消するためにユーザによる処置が必要であるエラーとも言うことができる。第1種のエラーは、上記の3つのエラーに限られないが、上記の3つのエラーのうちの少なくとも1つを含むことが好ましい。
第2種のエラーは、通信障害エラーと、サービス停止エラーと、を含む。通信障害エラーは、複合機100と対象の保存サーバとの間の通信障害に起因するエラー(例えば、タイムアウトによって受信すべき画像ファイルの全体が受信できないエラー)である。サービス停止エラーは、対象の保存サーバが一時的にサービスを停止しているために、画像ファイルを保存できないエラーである。第2種のエラーは、ネットワークトラフィックの減少や、保存サーバのサービスの再開などによって、自動的に解消し得る。すなわち、第2種のエラーは、ユーザによる処置がなくても解消し得るエラーとも言うことができる。第2種のエラーは、上記の2つのエラーに限られないが、上記の2つのエラーのうちの少なくとも1つを含むことが好ましい。
制御サーバ200のCPU210は、サービス利用情報SA、エラー情報EI、複合機100から取得されるサービス情報リストSLを、用いて、複合機100に、一連の動作命令を送信する。複合機100のCPU110は、一連の動作命令を受信し、一連の動作命令に従って動作することによって、ユーザからの必要な指示の取得や、FAX画像データの保存サーバへの送信(アップロード)などを含むFax to Cloud機能を実現できる。この結果、新たな保存サービスへの対応や、既存の保存サービスの仕様変更への対応が容易になる。例えば、新たな保存サービスのAPIや、保存サービスの仕様変更に応じて更新されたAPIに基づいて、制御サーバ200のサービス利用情報SAやプログラムPG2を更新することによって、新たな保存サービスや、既存の保存サービスの仕様変更に対応することができる。換言すれば、ベンダが、制御サーバ200に対する更新処理を実行すれば、複合機100のコンピュータプログラムPG1の更新を行うことなく、ユーザは、複合機100を介して、新たな保存サービスや、仕様変更後の保存サービスを利用して、FAX画像データを保存できる。
A−2:システム1000の動作
A−2−1. 事前の準備
ユーザは、複合機100を用いてFax to Cloud機能を利用する前に、複合機100のサービス情報リストSLにアカウント情報ADを登録するために、図示しないPC(Personal Computer)に、以下の処理を実行させる。PCは、ユーザの操作に従って、保存サーバ310にアクセスして、保存サーバ310によって提供される保存サービスSN1のユーザアカウントを取得する。アカウントの取得時に、保存サービスSN1を利用するためのユーザIDとパスワードとが、保存サーバ310に登録される。
次に、PCは、ユーザの操作に従って、制御サーバ200にアクセスして、制御サーバ200から、保存サーバ310によって提供されるトークン配布サービスにアクセスするための特定のURLを取得する。PCは、特定のURLを指定して保存サーバ310にアクセスし、ユーザの操作に従って、登録済みのユーザIDとパスワードを保存サーバ310に送信する。
保存サーバ310は、PCから送信されたユーザIDとパスワードに対応するユーザアカウントを特定する。保存サーバ310は、特定したユーザアカウントに対応するトークンを生成して、制御サーバ200に送信する。保存サーバ310は、特定のURLを指定したアクセスを経て、登録済みユーザIDとパスワードが送信された場合には、生成したトークンを制御サーバ200に送信すべきことを予め認識している。
制御サーバ200は、トークンを受信すると、トークンに対応付けるテンポラリIDを生成して、当該テンポラリIDを、PCに送信する。PCは、受信したテンポラリIDを表示する。
ユーザは、複合機100の操作部160を操作して、保存サービスSN1の名称(「SN1」)と、ユーザ名(例えば、「Alice」)と、PCに表示されたテンポラリIDと、を複合機100に入力する。これらの情報の入力を受け付けた複合機100は、入力されたテンポラリIDを制御サーバ200に送信する。制御サーバ200は、テンポラリIDに対応付けられたトークン(例えば、「TK1」)を、複合機100に送信する。制御サーバ200は、複合機100に送信済みのトークンを、サーバ200の不揮発性記憶装置220から削除する。
複合機100は、受信したトークン(例えば、「TK1」)と、保存サービスSN1の名称(「SN1」)と、ユーザ名(例えば、「Alice」)と、を含む1組のアカウント情報ADを、サービス情報リストSLに登録する。このように、保存サービスの1個のアカウントごとに、1組のアカウント情報ADがサービス情報リストSLに登録される。
以上、保存サービスSN1のアカウント情報ADが、サービス情報リストSLに登録される例を説明したが、他の保存サービスSN2、SN3について、同様の処理が行われることによって、同様のアカウント情報ADがサービス情報リストSLに登録され得る。図2のサービス情報リストSLには、保存サービスSN1について1人のユーザのアカウント情報ADが登録され、保存サービスSN2について2人のユーザのアカウント情報ADが登録されている。
A−2−2.設定処理
システム1000の動作について、上述したサーバ連携機能、特に、Fax to Cloud機能を実現するための処理を中心に説明する。図3、図4は、Fax to Cloud機能の設定処理のフローチャートである。この設定処理は、ユーザからのサーバ連携機能の利用開始指示が複合機100によって受け付けられたときに開始される。なお、設定処理や、後述するFax to Cloud処理は、図3、図4、図8、図9に示すように、複合機100と制御サーバ200との間の通信を含んでいる。これらの通信は、HTTP(Hypertext Transfer Protocol)を用いて、実行される。すなわち、設定処理において、複合機100から制御サーバ200へ送信されるデータ(例えば、各種の通知、情報、要求)は、HTTPリクエストとして送信される。HTTPリクエストのヘッダには、処理対象のリソースを示すURLが含まれ、当該URLに従ってHTTPリクエストが送信される。すなわち、当該URLが制御サーバ200内のリソースを示す場合には、当該URLを含むHTTPリクエストは、制御サーバ200に送信される。以下、HTTPリクエストのヘッダに含まれるURLを宛先URLと呼ぶ。また、制御サーバ200から複合機100へ送信されるデータ(例えば、各種の動作命令)は、直前に受信されたHTTPリクエストに対するHTTPレスポンスとして送信される。
設定処理が開始されると、S1では、複合機100のCPU110は、制御サーバ200へ、最初の命令の要求を送信する。最初の命令の要求では、予め定められたURLが、宛先URLとして用いられる。
制御サーバ200が、最初の命令の要求を受信すると、CPU210は、複合機100へ、機能選択画面SC1の表示命令を送信する(S2)。表示命令は、制御サーバ200から複合機100へ送信される動作命令の一種である。
図5は、動作命令の一例を示す図である。図5(A)の表示命令は、表示対象の画面を複合機100に表示させる命令である。表示命令は、表示命令であることを示す情報と、表示対象の画面を表す表示画面データと、次回指定URLと、を含む。表示画面データは、例えば、XML(Extensible Markup Language)を用いて記述されている。次回指定URLは、次に複合機100から送信すべきHTTPリクエストにおいて、宛先URLとして用いられる。
図3のS3では、CPU110は、機能選択画面SC1の表示命令に従って、表示部170に、画面SC1を表示する。具体的には、CPU110は、受信した動作命令が表示命令である場合には、表示命令に含まれる表示画面データを用いて、表示画面データによって表される画面を表示部170に表示する。S2で制御サーバ200によって送信された表示命令は、機能選択画面SC1を表す表示画面データを含むので、S3では、表示部170に機能選択画面SC1が表示される。
図3の機能選択画面SC1は、3種類のサーバ連携機能(Fax to Cloud機能と、Scan to Cloud機能と、Download Print機能)を示す選択肢を含む。すなわち、ユーザは、サーバ連携機能として、上述したFax to Cloud機能に加えて、Scan to Cloud機能と、Download Print機能と、を利用することができる。Scan to Cloud機能は、複合機100が、スキャナ部150を用いてスキャンデータを生成した場合に、生成したスキャンデータを、指定の保存サーバに送信する機能である。指定の保存サーバは、ユーザによって指定された保存サービス(例えば、保存サービスSN1)を提供する保存サーバ(例えば、保存サーバ310)である。Download Print機能は、複合機100が、指定の保存サーバに保存されている画像データをダウンロードし、ダウンロードされた画像データによって表される画像をプリンタ部140を用いて印刷する機能である。
ユーザは、機能選択画面SC1において、1個の選択肢を選択することによって、利用するサーバ連携機能を選択する。ここでは、Fax to Cloud機能が選択されたとして、説明を続ける。S4では、CPU110は、制御サーバ200へ、ユーザによるサーバ連携機能の選択結果を示す機能選択情報(例えば、Fax to Cloud機能を示す情報)を送信する。このように、CPU110は、表示命令を受信した場合には、表示命令に従って表示した画面に対するユーザの操作を受け取った後に、当該ユーザの操作結果の通知を送信する。このユーザの操作結果の通知の宛先URLには、表示命令に含まれる次回指定URLが用いられる。この結果、ユーザの操作結果は、制御サーバ200に適切に通知される。
このように、CPU210は、複合機100へ、表示命令を送信することによって、ユーザインタフェースとして機能する様々な表示画面を複合機100に表示させることができる。そして、CPU210は、当該表示画面を介して行われたユーザの操作結果を取得することができる。この結果、CPU210は、Fax to Cloud機能などのサーバ連携機能の実行に必要な情報を、ユーザに入力させることができる。例えば、保存サービスSN1〜SN3の仕様変更などによって、ユーザに新たな情報を入力させる必要が生じる可能性がある。このような場合であっても、ベンダが、制御サーバ200から送信すべき表示画面データを更新することによって、複合機100のコンピュータプログラムPG1を更新することなく、ユーザに新たな情報を入力させることができる。
制御サーバ200が、機能選択情報を受信すると、CPU210は、複合機100へ、機能説明画面SC2の表示命令を送信する(S5)。複合機100が、画面SC2の表示命令を受信すると、CPU110は、該命令に従って、表示部170に、画面SC2を表示する(S6)。図3の機能説明画面SC2は、Fax to Cloud機能の説明と、「OK」のボタンと、を含む。ユーザが「OK」のボタンを押下すると、CPU110は、制御サーバ200へ、次の命令の要求を送信する(S7)。
制御サーバ200が、次の命令の要求を受信すると、CPU210は、複合機100へ、機能有効無効設定画面SC3の表示命令を送信する(S8)。複合機100が、画面SC3の表示命令を受信すると、CPU110は、該命令に従って、表示部170に、画面SC3を表示する(S9)。図3の機能有効無効設定画面SC3は、Fax to Cloud機能を有効にすることを示す選択肢(図3のONの選択肢)と、Fax to Cloud機能を無効にすることを示す選択肢(図3のOFFの選択肢)と、を含む。ユーザがいずれかの選択肢を選択すると、CPU110は、選択結果を示す有効無効選択情報を制御サーバ200に送信する(S10)。
制御サーバ200が、有効無効選択情報を受信すると、CPU210は、有効無効選択情報に基づいて、Fax to Cloud機能を有効にすることを示す選択肢が選択されたか否かを判断する(S11)。Fax to Cloud機能を無効にすることを示す選択肢が選択された場合には(S11:NO)、CPU210は、後述する図4のS27に処理を進める。
Fax to Cloud機能を有効にすることを示す選択肢が選択された場合には(S11:YES)、CPU210は、複合機100へ、サービス選択画面SC4の表示命令を送信する(S12)。複合機100が、画面SC4の表示命令を受信すると、CPU110は、該命令に従って、表示部170に、画面SC4を表示する(S13)。図3のサービス選択画面SC4は、選択可能な複数個の保存サービスSN1〜SN3を示す複数個の選択肢を含む。ユーザが、保存先として利用を希望する保存サービスを示す選択肢を選択すると、CPU110は、選択結果を示すサービス選択情報を制御サーバ200に送信する(S14)。
制御サーバ200が、サービス選択情報を受信すると、CPU210は、複合機100へ、アカウント情報ADの制御サーバ200への送信命令を送信する(S15)。制御サーバ200への送信命令は、制御サーバ200から複合機100へ送信される動作命令の一種である。制御サーバ200への送信命令は、複合機100が有する送信対象のデータを、複合機100から制御サーバ200へ送信させる命令である。図5(B)の制御サーバ200への送信命令は、送信命令であることを示す情報と、送信対象のデータのIDと、次回指定URLと、を含む。
複合機100が、アカウント情報ADの送信命令を受信すると、CPU110は、受信した送信命令に従って、制御サーバ200へ、サービス情報リストSLに含まれるアカウント情報AD(図2)を送信する(S16)。具体的には、CPU110は、受信した動作命令が、制御サーバ200への送信命令である場合には、送信命令に含まれる送信対象のデータのIDに基づいて、不揮発性記憶装置120内の送信対象のデータを特定する。S15で制御サーバ200によって送信された送信命令は、アカウント情報ADを示すIDを、送信対象のデータのIDとして含むので、アカウント情報ADが特定される。CPU110は、送信命令に含まれる次回指定URLを宛先URLとして用いて、送信対象のデータを送信する。この結果、送信対象のデータが適切に制御サーバ200に送信される。
このように、制御サーバ200(CPU210)は、複合機100へ、制御サーバ200への送信命令を送信することによって、複合機100に格納された様々な情報を取得することができる。この結果、CPU210は、Fax to Cloud機能などのサーバ連携機能の実行に必要な情報を、複合機100から取得することができる。例えば、保存サービスSN1〜SN3の仕様変更などによって、複合機100から取得すべき情報を変更する必要が生じる可能性がある。このような場合であっても、ベンダが、制御サーバ200から送信されるべき表示画面データを更新することによって、複合機100のコンピュータプログラムPG1を更新することなく、複合機100から新たな情報を取得することができる。
制御サーバ200が、アカウント情報ADを受信すると、CPU210は、受信したサービス選択情報とアカウント情報ADとに基づいて、アカウント選択画面SC5を表す表示画面データを生成する(S17)。具体的には、CPU210は、S14で受信したサービス選択情報に基づいて、選択された保存サービスを特定する。CPU210は、S16で受信したアカウント情報ADから、選択された保存サービスに対応付けられたユーザ名を抽出する。例えば、選択された保存サービスが保存サービスSN2である場合には、図2(B)のサービス情報リストSLに含まれるアカウント情報ADから、「Alice」と「Bob」の2つのユーザ名が抽出される。CPU210は、抽出されたユーザ名を示す選択肢を含むアカウント選択画面SC5を表す表示画面データを生成する。
図4のS18では、CPU210は、複合機100へ、S17で生成した表示画像データによって表されるアカウント選択画面SC5の表示命令を送信する。複合機100が、画面SC5の表示命令を受信すると、CPU110は、該命令に従って、表示部170に、画面SC5を表示する(S19)。図4の例では、アカウント選択画面SC5は、ユーザ名である「Alice」と「Bob」を示す2個の選択肢を含む。ユーザがいずれかの選択肢を選択すると、CPU110は、選択結果を示すアカウント選択情報を制御サーバ200に送信する(S20)。
制御サーバ200が、アカウント選択情報を受信すると、CPU210は、複合機100へ、表示のみモードの設定情報の制御サーバ200への送信命令を送信する(S21)。複合機100が、表示のみモードの設定情報の送信命令を受信すると、CPU110は、CPU110は、受信した送信命令に従って、制御サーバ200へ、図2のFAX一般設定情報FGに含まれる表示のみモードの設定情報を送信する(S22)。
制御サーバ200が、表示のみモードの設定情報を受信すると、CPU210は、機能設定画面SC6を表す表示画面データを生成する(S23)。図6は、機能設定画面SC6を表す表示画面データの生成処理のフローチャートである。
S110では、CPU210は、選択された保存サービスによって保存可能なフォーマット(上述した可能フォーマット)は、JPEGフォーマットのみであるか、任意のフォーマットであるかを判断する。この判断は、不揮発性記憶装置220に格納されたサービス利用情報SA(図2)を参照して、実行される。選択された保存サービスの可能フォーマットがJPEGフォーマットのみである場合(S110:YES)には、フォーマットの選択肢をJPEGフォーマットのみに決定する(S120)。選択された保存サービスの可能フォーマットがJPEGフォーマットのみではない場合(S110:NO)には、フォーマットの選択肢を、JPEGフォーマット、PDF、TIFFの3つのフォーマットに決定する(S115)。
以上のように、フォーマットの選択肢が決定されるのは、本実施例では、保存サービスの可能フォーマットは、JPEGフォーマットのみであるか、任意のフォーマットであるか、のいずれかであり、複合機100がJPEGフォーマット、PDF、TIFFの3つのフォーマットの画像ファイルを生成可能であるからである。一般的には、保存サービスの可能フォーマットであり、かつ、複合機100が生成可能なフォーマットが、選択肢として決定されれば良い。
S125では、CPU210は、図4のS22で受信した表示のみモードの設定情報に基づいて、複合機100において、表示のみモードが有効(ON)であるか無効(OFF)であるかを判断する。表示のみモードが有効である場合には(S125:YES)、CPU210は、バックアップ印刷を実行するか否かをユーザに設定させないように、バックアップ印刷の設定ボタンを表示しないことを決定する(S130)。これは、表示のみモードが有効である場合には、バックアップ印刷を有効に設定しても、後述するFAX受信時の処理(図7)でFAX画像の印刷が行われないので、バックアップ印刷を有効に設定する意味がないからである。バックアップ印刷の設定ボタンが表示されないことは、バックアップ印刷の設定は初期値(無効)に維持されることを意味している。表示のみモードが無効である場合には(S125:NO)、CPU210は、バックアップ印刷を実行するか否かをユーザに設定させるために、バックアップ印刷の設定ボタンを表示すべきことを決定する(S135)。表示のみモードが無効であり、かつ、Fax to Cloud機能が有効である場合には、後述するFAX受信時の処理(図7)で、バックアップ印刷の設定に従って、FAX画像を印刷するか否かが決定されるからである。
S140では、CPU210は、フォーマットの選択肢についての決定結果と、バックアップ印刷の設定ボタンについての決定結果と、に基づいて、機能設定画面SC6を表す表示画像データを生成する。なお、生成される表示画像データは、機能設定画面SC6のサブ画面(後述)を表すデータを含む。
図4のS24では、CPU210は、複合機100へ、S23で生成した表示画像データによって表される機能設定画面SC6の表示命令を送信する。複合機100が、画面SC6の表示命令を受信すると、CPU110は、該命令に従って、表示部170に、画面SC6を表示する(S25)。図4の機能設定画面SC6は、「フォーマット」の設定ボタンと、「バックアップ印刷」の設定ボタンと、「OK」のボタンと、を含む。「フォーマット」の設定ボタンが押下されると、図6のS115またはS120で決定されたフォーマットの選択肢を含むサブ画面SB1が表示部170に表示される。ユーザは、サブ画面SB1を介して、保存サーバへFAX画像データを送信する際に利用されるフォーマット(ファイルフォーマット)を選択することができる。「バックアップ印刷」の設定ボタンは、図6のS130で、該設定ボタンが表示されないことが決定されている場合には表示されず、図6のS135で、該設定ボタンが表示されることが決定されている場合には表示される。「バックアップ印刷」の設定ボタンが押下されると、有効(ON)を示す選択肢と、無効(OFF)を示す選択肢と、を含むサブ画面SB2が表示部170に表示される。ユーザは、サブ画面SB2を介して、バックアップ印刷を有効にするか否かを選択することができる。
ユーザが「OK」のボタンを押下すると、CPU110は、制御サーバ200へ、フォーマットの選択結果と、バックアップ印刷の選択結果と、を示す機能設定情報を送信する(S26)。
制御サーバ200が、機能設定情報を受信すると、CPU210は、複合機100へ、設定確認画面SC7の表示命令を送信する(S27)。複合機100が、画面SC7の表示命令を受信すると、CPU110は、該命令に従って、表示部170に、画面SC7を表示する(S28)。図4の設定確認画面SC7は、上述した画面SC4〜SC6を介して設定された複数個の項目の設定内容の表示と、「OK」のボタンと、「戻る」のボタンと、を含む。
なお、上述した図3のS11にて、Fax to Cloud機能を無効にすることを示す選択肢が選択されたと判断されて(S11:NO)、S27に処理が移行された場合には、S28にて、図4の設定確認画面SC7とは異なる設定確認画面(図示省略)が表示される。この場合の設定確認画面は、設定内容の表示として、Fax to Cloud機能を無効にすることの表示を含む。
設定確認画面SC7にて、「OK」のボタン、または、「戻る」のボタンが押下されると、S29では、CPU110は、制御サーバ200へ、「OK」のボタンが押下されたか「戻る」のボタンが押下されたかを示す確認結果通知を送信する。CPU210は、「戻る」のボタンが押下されたことを示す確認結果通知を受信した場合には、S8、あるいは、S12の処理に戻る(図示省略)。
CPU210は、「OK」のボタンが押下されたことを示す確認結果通知を受信した場合には、複合機100へ、設定情報の書込命令を送信する(S30)。書込命令は、制御サーバ200から複合機100へ送信される動作命令の一種である。書込命令は、書込対象データを、複合機100の不揮発性記憶装置120内の書込対象領域に書き込ませる命令である。図5(C)の書込命令は、書込命令であることを示す情報と、書込対象データと、書込対象領域を指定する書込先情報と、次回指定URLと、を含む。書込先情報は、例えば、書込対象領域のアドレスを示す情報である。
S30で送信される設定情報の書込命令では、書込対象データは、図3、図4の画面SC3〜SC6を介して受け付けられたFax to Cloud機能に関する設定情報である。そして、書込対象領域は、図2のFAX一般設定情報FGのFax to Cloud機能が有効であるか無効であるかを示す設定情報と、Fax to Cloud設定情報FCと、が格納された記憶領域である。
複合機100が、書込命令を受信すると、CPU110は、受信した書込命令に従って、書込対象データを、不揮発性記憶装置220内の書込対象領域に書き込む(S31)。この結果、複合機100のFAX一般設定情報FGやFax to Cloud設定情報FCが、ユーザによる画面SC3〜SC6に対する操作に応じて更新される。S32では、CPU110は、制御サーバ200へ、書込命令に従った書き込みが完了したことを示す書込結果通知を送信する。具体的には、CPU110は、書込命令に含まれる次回指定URLを宛先URLとして用いて、書込結果を示す情報を送信する。
このように、制御サーバ200(CPU210)は、複合機100へ、書込命令を送信することによって、複合機100の不揮発性記憶装置220に様々な情報を書き込むことができる。この結果、例えば、CPU210は、Fax to Cloud機能などのサーバ連携機能の実行に必要な複合機100の設定変更を行うことができる。CPU210は、サーバ連携機能の実行に必要な情報を、複合機100に記憶させることができる。例えば、保存サービスSN1〜SN3の仕様変更などによって、複合機100の設定変更や、新たな情報を複合機100に記憶させることが、必要になる可能性がある。このような場合であっても、ベンダが、制御サーバ200のコンピュータプログラムPG2を、適切な書込命令を送信するように更新することによって、複合機100のコンピュータプログラムPG1を更新することなく、複合機100の設定変更や、新たな情報の複合機100への記憶を、実現できる。
制御サーバ200が、書込結果通知を受信すると、CPU210は、複合機100へ、設定完了画面SC8の表示命令を送信する(S33)。画面SC8の表示命令には、次回指定URL(図5(A))が含まれていない。複合機100が、画面SC8の表示命令を受信すると、CPU110は、該命令に従って、表示部170に、画面SC8を表示する。図4の設定完了画面SC8は、Fax to Cloud機能の処理が完了したことの表示と、「OK」のボタンと、を含む。「OK」のボタンが押下されると、CPU110は、設定処理を終了する。CPU110は、設定完了画面SC8の表示命令に、次回指定URLが含まれていないことによって、設定処理を終了すべきであることを判断することができる。
以上説明した設定処理によれば、制御サーバ200は、図5に示す各種の動作命令を複合機100に送信することによって、ユーザの意図に沿ったFax to Cloud機能の適切な設定を行うことができる。
A−2−3.FAX受信時の処理
複合機100が、電話回線IF190を介してファクシミリデータを受信した場合に、ファクシミリデータの受信に応じて実行される処理(以下、FAX受信時の処理とも呼ぶ)を説明する。図7は、FAX受信時の処理のフローチャートである。
ファクシミリデータが受信されると、S310では、CPU110は、受信したファクシミリデータを、複合機100の不揮発性記憶装置120に格納する。S315では、CPU110は、FAX一般設定情報FG(図2(A))を参照して、表示のみモードが有効(ON)であるか否かを判断する。CPU110は、表示のみモードが有効である場合には(S315:YES)、FAX画像の印刷を行うことなく、S335に処理を進める。すなわち、表示のみモードが有効である場合には、表示のみモードの設定が、後述するバックアップ印刷の設定より優先されて、FAX画像は印刷されない。
CPU110は、表示のみモードが無効である場合には(S315:NO)、S320において、FAX一般設定情報FG(図2(A))を参照して、Fax to Cloud機能が有効(ON)であるか否かを判断する。CPU110は、Fax to Cloud機能が無効である場合には(S320:NO)、S330において、FAX画像の印刷を行い、S335に処理を進める。すなわち、表示のみモードが無効であり(S315:NO)、かつ、Fax to Cloud機能が無効である(S320:NO)場合には、FAX画像は印刷される。
CPU110は、Fax to Cloud機能が有効である場合には(S320:YES)、S325において、Fax to Cloud設定情報FC(図2(B))に基づいて、Fax to Cloud機能におけるバックアップ印刷が有効(ON)であるか否かを判断する。CPU110は、バックアップ印刷が無効である場合には(S325:NO)、FAX画像の印刷を行うことなく、S335に処理を進める。一方、CPU110は、バックアップ印刷が有効である場合には(S325:YES)、S330において、FAX画像の印刷を行って、S335に処理を進める。すなわち、表示のみモードが無効であり(S315:NO)、かつ、Fax to Cloud機能が有効である(S320:YES)場合には、Fax to Cloud機能におけるバックアップ印刷の設定によって、FAX画像が印刷されるか否かが決定される。
S335では、CPU110は、Fax to Cloud機能が有効であるか否かを判断する。CPU110は、Fax to Cloud機能が有効である場合には(S335:YES)、S340において、Fax to Cloud処理を実行する。なお、Fax to Cloud処理を実行する場合には、後述するように、Fax to Cloud処理の中で、ファクシミリデータの削除が行われる。
CPU110は、Fax to Cloud機能が無効である場合には(S335:NO)、S345において、FAX画像の印刷を実行したか否かを判断する。CPU110は、S330にてFAX画像の印刷を実行した場合には(S345:YES)、S350において、ファクシミリデータを不揮発性記憶装置120から削除して、処理を終了する。すなわち、Fax to Cloud機能が無効であり、かつ、FAX画像の印刷が行われた場合には、ファクシミリデータが直ちに削除される。一方、CPU110は、FAX画像の印刷を実行していない場合には(S345:NO)、ファクシミリデータを削除することなく、処理を終了する。すなわち、Fax to Cloud機能が無効であり、かつ、FAX画像の印刷が行われない場合には、ファクシミリデータは不揮発性記憶装置120に格納されたまま維持される。この場合には、ユーザの指示があった場合に、ファクシミリデータの削除が行われる。
A−2−4.Fax to Cloud処理
図8、図9は、Fax to Cloud処理のフローチャートである。S50では、CPU110は、制御サーバ200へ、ファクシミリデータを受信したことを示すFAX受信通知を送信する。すなわち、Fax to Cloud機能が有効である場合には、ファクシミリデータの受信に応じて、複合機100と制御サーバ200との通信が開始される。なお、受信通知には、複合機100のID(クライアントID)が含められる。制御サーバ200が、FAX受信通知を受信すると、CPU210は、エラー情報EI(図2)と、受信通知に含まれるクライアントIDと、に基づいて、複合機100が前回のFax to Cloud処理にてFAX画像データを送信(アップロード)した結果を特定する。CPU210は、特定された前回のFAX画像データの送信でエラーが発生したか否かを判断する(S51)。
CPU210は、前回のFax to Cloud処理におけるFAX画像データの送信でエラーが発生した場合には(S51:YES)、当該エラーが、上述した第1種のエラーであるか否かを判断する(S52)。前回のFax to Cloud処理におけるFAX画像データの送信でエラーが発生したエラーが第1種のエラーである場合には(S52:YES)、後述する前回第1種のエラー発生時の処理が実行される。
前回のFax to Cloud処理におけるFAX画像データの送信でエラーが発生していない場合(S51:NO)、および、前回のFax to Cloud処理におけるFAX画像データの送信で発生したエラーが第1種のエラーではなく、第2種のエラーである場合には(S52:NO)、CPU210は、FAX画像データの保存サーバへの送信を行うべく、S53に処理を進める。
S53では、CPU210は、複合機100へ、サービス情報リストSL(図2)の送信命令を送信する。
複合機100が、サービス情報リストSLの送信命令を受信すると、CPU110は、該命令に従って、制御サーバ200へ、サービス情報リストSLを送信する(S54)。
制御サーバ200が、サービス情報リストSLを受信すると、CPU210は、複合機100へ、FAX受信リストFL(図2)の送信命令を送信する(S55)。複合機100が、FAX受信リストFLの送信命令を受信すると、CPU110は、該送信命令に従って、制御サーバ200へ、FAX受信リストFLを送信する(S56)。この結果、制御サーバ200が、FAX受信リストFLを受信する。
S57では、CPU210は、FAX受信リストFLに基づいて、リストFL内の1個以上のファクシミリデータを1個ずつ処理対象として選択する。選択対象となるファクシミリデータは、複合機100において受信され、かつ、複合機100の不揮発性記憶装置220に格納されており、かつ、当該ファクシミリデータに対応するFAX画像データが保存サーバに送信(アップロード)されていないファクシミリデータである。本実施例では、FAX受信リストFLに含まれる1個以上のエントリEN(図2)に対応する1個上のファクシミリデータが選択対象となる。本実施例では、ファクシミリデータが受信される度に、Fax to Cloud処理が実行されるので、選択対象のファクシミリデータは、1個であることが多い。ただし、例えば、Fax to Cloud機能が無効から有効に変更された直後の処理では、Fax to Cloud機能が無効であったときに受信されたファクシミリデータを含めて、選択対象のファクシミリデータが複数個になる。また、前回の処理で、ネットワーク障害などにより、FAX画像データの保存サーバへの送信が失敗した場合には、送信に失敗したFAX画像データに対応するファクシミリデータを含めて、選択対象のファクシミリデータが複数個になり得る。このような場合には、今回の処理にて、複数個のファクシミリデータについて、それぞれ、FAX画像データが保存サーバへ送信される。
S58では、CPU210は、サービス情報リストSLを参照して、選択対象のアカウントを1個ずつ処理対象として選択する。具体的には、CPU210は、サービス情報リストSLにアカウント情報ADが登録されている1個以上のアカウントのうち、対応するFAX画像送信設定が「ON」である各アカウントを選択対象のアカウントとして抽出する。図2の例では、ユーザ名が「Alice」である保存サービスSN1のアカウントと、ユーザ名が「Bob」である保存サービスSN2のアカウントが、選択対象のアカウントである。同一の保存サービスに対応付けられ、互いにユーザ名が異なる複数個のアカウントが選択対象となる場合もある。また、互いに異なる保存サービスに対応付けられ、同一のユーザ名を有する複数個のアカウントが選択対象となる場合もある。
S59では、CPU210は、処理対象のファクシミリデータ(例えば、図2(C)のFAXIDが「001」のファクシミリデータ)と、処理対象のアカウント(例えば、図2(B)のユーザ名が「Alice」の保存サービスSN1のアカウント)と、に応じた送信開始命令を生成し、複合機100へ、送信開始命令を送信する。送信開始命令は、制御サーバ200から複合機100へ送信される動作命令の一種である。
図10は、Fax to Cloud処理に用いられる動作命令の一例を示す図である。図10(A)の送信開始命令は、送信開始命令であることを示す情報と、対象FAXIDと、対象フォーマット情報と、3種類の送信先URLと、を含む。対象FAXIDは、処理対象のファクシミリデータのFAXID(例えば、図2(C)の「001」)である。対象フォーマット情報は、サービス情報リストSLにおいて、処理対象のアカウントに対応するフォーマット情報(例えば、図2(B)の「JPEG」)である。3種類の送信先URLは、後述するように、アップロード情報要求送信先URLと、アップロード結果送信先URLと、送信完了通知送信先URLと、を含む。3種類の送信先URLは、いずれも制御サーバ200内のリソースを示すURLである。
S59において、複合機100が、送信開始命令を受信すると、CPU110は、送信開始命令に従って、FAX画像データを保存サーバに送信するための処理を開始する。具体的には、S60では、CPU110は、フォーマット変換処理を実行する。フォーマット変換処理は、送信開始命令に含まれる対象FAXIDによって特定されるファクシミリデータ、すなわち、処理対象のファクシミリデータを用いて、FAX画像データを生成する処理である。この処理によって、送信開始命令に含まれる対象フォーマット情報によって示されるフォーマットを有する1個以上の画像ファイルが生成される。このように送信開始命令に対象フォーマット情報を含めることによって、制御サーバ200は、適切なフォーマットのFAX画像データ(1個以上の画像ファイル)を保存サーバに送信するように、複合機100を制御することができる。
ここで、処理対象のファクシミリデータが、Nページ(Nは1以上の整数)分のデータを含み、かつ、対象フォーマット情報によって示されるフォーマットが、PDFあるいはTIFFである場合には、Nページ分のFAX画像データとして、1個の画像ファイルが生成される。これは、PDFやTIFFは、1個のファイルの中に複数個の画像を格納し、各画像を1ページ分の画像として扱うマルチページファイルを構成できるフォーマットだからである。
処理対象のファクシミリデータが、Nページ(Nは1以上の整数)分のデータを含み、かつ、対象フォーマット情報によって示されるフォーマットが、JPEGフォーマットである場合には、Nページ分のFAX画像データとして、N個の画像ファイルが生成される。これは、JPEGフォーマットは、マルチページファイルを構成できないフォーマットであり、1個のファイルに1個の画像を格納するフォーマットだからである。
S61では、CPU110は、制御サーバ200へ、アップロード情報要求を送信する。アップロード情報要求の送信では、送信開始命令に含まれるアップロード情報要求送信先URLが、宛先URLとして用いられる。なお、アップロード情報要求には、S60で生成されたFAX画像データのデータ量(単位は、例えば、バイト)を示す情報が含められる。なお、FAX画像データのデータ量を示す情報は、画像ファイルごとに記述される。例えば、1個のファクシミリデータに対応するFAX画像データとして、N個の画像ファイルが生成されている場合には、アップロード情報要求には、N個の画像ファイルのデータ量をそれぞれ示す情報が含められる。
制御サーバ200がアップロード情報要求を受信すると、CPU210は、図10(B)のアップロード命令を生成する(S62)。
図11は、アップロード命令を生成する処理のフローチャートである。S410では、CPU210は、送信すべきFAX画像データとしての1個以上の画像ファイルのうち、アップロード命令の対象とされる画像ファイル(以下、対象画像ファイルとも呼ぶ)のファイル名を決定する。ファイル名は、例えば、「受信日時_通し番号.フォーマット名」に決定される。例えば、ステップS80にて、FAXID「001」(図2(C))のファクシミリデータを用いて、N個のJPEGフォーマットの画像ファイルが生成された場合であって、N個のJPEGフォーマットのうちの1ページ目の画像ファイルが対象画像ファイルである場合には、ファイル名は、「TM1_001.jpg」に決定される。
S420では、CPU210は、サービス情報リストSLを参照して、処理対象のアカウントに対応する保存サービス(以下、対象の保存サービスとも呼ぶ)の種類を判断する。対象の保存サービスが、保存サービスSN1である場合には、CPU210は、特別な処理を行うことなく、S470に処理を進める。
対象の保存サービスが、保存サービスSN2である場合には、CPU210は、処理対象のアカウントのトークンを用いて、テンポラリトークンを取得する。テンポラリトークンは、使用できる有効期間(例えば、1日)が通常のトークンより短いトークンである。テンポラリトークンは、例えば、所定の生成プログラムを実行することによって生成される。生成プログラムは、例えば、保存サービスSN2の事業者によってAPIとともに公開されている。テンポラリトークンは、CPU210が、保存サービスSN2を提供する保存サーバ320に発行要求を送信することによって、保存サーバ320から取得されても良い。
対象の保存サービスが、保存サービスSN3である場合には、CPU210は、保存サービスSN3を提供する保存サーバ330内に、保存サービスSN3に固有なフォルダを生成する(S450)。例えば、CPU210は、処理対象のアカウントのトークンを用いて、保存サーバ330にアクセスして、FAX画像データを格納するためのフォルダを生成する。S460では、CPU210は、生成したフォルダの識別子であるフォルダIDを取得する。
S470では、CPU210は、対象の保存サービスに応じて、アップロード先URLを決定する。アップロード先URLは、上述したように、保存サービスごとにサービス利用情報SA(図2)に記述されている。
S480では、CPU210は、対象の保存サービスに応じて、アップロード用のテンプレートデータを生成する。このテンプレートデータは、対象の保存サーバへ対象画像ファイルを送信する際に用いられるデータ形式で作成されたデータであり、対象画像ファイルの送信に必要なパラメータ群を含んでいる。テンプレートデータが生成されていれば、当該テンプレートデータに、対象画像ファイルを付加することで、容易に送信すべきデータを生成できる。テンプレートデータは、保存サービスごとに異なっている。例えば、図10(B)に示すように、保存サービスSN1用に生成されるテンプレートデータは、処理対象のアカウントのトークンと、S410で決定されたファイル名と、対象画像ファイルのフォーマット情報と、対象画像ファイルのデータ量情報と、を含む。保存サービスSN2用に生成されるテンプレートデータは、処理対象のアカウントのトークンに代えて、S440にて取得されたテンポラリトークンを含む。保存サービスSN3用に生成されるテンプレートデータは、S460にて取得されたフォルダIDをさらに含む。
図8のS63では、CPU210は、複合機100へ、アップロード命令を送信する。アップロード命令は、制御サーバ200から複合機100へ送信される動作命令の一種である。図10(B)のアップロード命令は、アップロード命令であることを示す情報と、図11のS470にて決定されたアップロード先URLと、図11のS480にて生成されたテンプレートデータと、を含む。
複合機100が、アップロード命令を受信すると、CPU110は、受信したアップロード命令に従って、対象の保存サーバ(例えば、保存サーバ310)へ、対象画像ファイルを送信(アップロード)する(S64)。具体的には、CPU110は、アップロード命令に含まれるテンプレートデータに、対象画像ファイルを付加して、送信対象のデータを生成する。CPU110は、アップロード命令に含まれるアップロード情報要求送信先URLを宛先URLとして用いて、当該送信対象のデータを送信する。1回のアップロード命令に応じて、1個の画像ファイルが保存サーバに送信される。例えば、S60で、Nページ分のFAX画像データとしてN個のJPEGフォーマットの画像ファイルが生成されている場合には、後述するように、S64の処理がN回繰り返し実行される。1回のS64の処理では、N個の画像ファイルのうちの1ページ分の1個の画像ファイルが保存サーバに送信される。
S65では、保存サーバは、保存処理を実行する。具体的には、保存サーバは、複合機100から送信されたデータに含まれるトークンを用いて認証処理を行う。保存サーバは、トークンが真正であると判断する場合には、トークンに対応するアカウントに割り当てられた保存サーバ内の記憶領域に、対象画像ファイルを保存する。保存処理の過程で、エラーが発生した場合には、保存サーバは、対象画像ファイルの保存を完了することなく、保存処理を中断する。
S66では、保存サーバは、複合機100へ、保存処理の結果、すなわち、アップロードの結果を示すアップロード結果通知を送信する。アップロード結果通知は、対象画像ファイルの保存が成功したこと、および、対象画像ファイルの保存が失敗したことのいずれか一方を示す情報を含む。また、アップロード結果通知は、対象画像ファイルの保存が失敗したことを示す情報を含む場合には、失敗の原因となったエラーを示す情報をさらに含む。失敗の原因となったエラ−は、上述したように、第1種のエラー(例えば、認証エラーと、記憶容量の上限違反エラーと、書込権限違反エラー)と、第2種のエラー(例えば、通信障害エラーと、サービス停止エラー)と、のいずれかである。
図9のS67において、複合機100が、保存サーバからアップロード結果通知を受信すると、CPU110は、制御サーバ200へ、受信したアップロード結果通知を送信する。制御サーバ200へのアップロード結果通知の送信では、送信開始命令(図10(A))に含まれるアップロード結果送信先URLが、宛先URLとして用いられる。
制御サーバ200が、アップロード結果通知を受信すると、CPU210は、アップロード結果通知に基づいて、対象画像ファイルの保存が成功したか否かを判断する(S68)。対象画像ファイルの保存が失敗した場合には(S68:NO)、エラー発生時の処理が実行される。
図12は、エラー発生時の処理のフローチャートである。S81では、CPU210は、複合機100へ、FAX画像データの送信(アップロード)の中断を指示する中断命令を送信する。図10(C)の中断命令は、中断命令であることを示す情報を含む。
複合機100が、中断命令を受信すると、CPU110は、該命令に従って、FAX画像データの送信を中断し、制御サーバ200へ、FAX画像データの送信を中断したことを示すアップロード中断通知を送信する(S82)。制御サーバ200へのアップロード中断通知の送信では、図10(A)の送信開始命令に含まれる送信完了通知送信先URLが、宛先URLとして用いられる。
制御サーバ200が、アップロード中断通知を受信すると、制御サーバ200は、S67(図9)で受信したアップロード結果通知に基づいて、エラー情報EI(図2)として発生したエラーを示す情報を保存する(S83)。
S84では、CPU210は、複合機100へ、エラー通知画面SC9の表示命令を送信する。複合機100が、画面SC9の表示命令を受信すると、CPU110は、該命令に従って、表示部170に、エラー通知画面SC9を表示する(S85)。エラー通知画面SC9は、発生したエラーの内容を示すメッセージと、「OK」のボタンと、を含む。「OK」のボタンが押下されると、CPU110は、Fax to Cloud処理を終了する。画面SC9の表示命令には、次回指定URLが含まれていないので、CPU110は、Fax to Cloud処理を終了すべきであることを判断することができる。
一方、対象画像ファイルの保存が成功した場合には(図9のS68:YES)、CPU210は、複合機100へ、FAX画像データの送信(アップロード)の継続を指示する継続命令を送信する(S69)。図10(D)の継続命令は、継続命令であることを示す情報を含む。
複合機100が、継続命令を受信すると、S70において、CPU110は、FAX画像データとしての1個以上の画像ファイルのうち、保存サーバへ送信されていない(すなわち、アップロードされていない)画像ファイルがあるか否かを判断する。すなわち、処理対象のファクシミリデータを用いてS60(図8)にて生成された1個以上の画像ファイルのうち、未送信の画像ファイルがあるか否かが判断される。FAX画像データのフォーマットがJPEGフォーマットである場合には、上述したように、1個の処理対象のファクシミリデータに対して、複数個の画像ファイルが生成され得る。この場合には、S70にて、未送信の画像ファイルがあると判断され得る。FAX画像データのフォーマットがPDFまたはTIFFである場合には、1個の処理対象のファクシミリデータに対して、1個の画像ファイルが生成される。この場合には、S70にて、未送信の画像ファイルがあると判断されることはない。
未送信の画像ファイルがある場合には(S70:YES)、CPU110は、図8のS61に処理を戻す。この結果、未送信の画像ファイルが対象画像ファイルとして選択され、該対象画像ファイルの保存サーバへの送信に関する一連の処理(S61〜S69)が実行される。この結果、S60にてNページ分のN個のJPEGフォーマットの画像ファイルが生成されている場合には、制御サーバ200から複合機100へ、Nページに対応するN回のアップロード命令が送信される(S63)。そして、複合機100は、1回のアップロード命令を受信するたびに、1個ずつ画像ファイルを保存サーバへ送信する(S64)。換言すれば、CPU110は、1回のアップロード命令に対応する1個の画像ファイルの送信を、N回のアップロード命令に従ってN回実行する。したがって、制御サーバ200は、Nページ分のFAX画像データとして、N個の画像ファイルが生成される場合に、適切にFAX画像データを対象の保存サーバに送信するように、複合機100を制御することができる。
未送信の画像ファイルがない場合には(S70:NO)、S71において、CPU110は、制御サーバ200へ、1個のFAX画像データの送信(アップロード)が完了したことを示すアップロード完了通知を送信する。制御サーバ200へのアップロード完了通知の送信では、送信開始命令に含まれる送信完了通知送信先URLが、宛先URLとして用いられる。
制御サーバ200が、アップロード完了通知を受信すると、S72において、CPU210は、選択対象の全てのアカウントを処理対象として選択したか否かを判断する。選択対象の全てのアカウントを選択していない場合には(S72:NO)、CPU210は、図8のS58に処理を戻す。この結果、選択対象の別のアカウントについて、上述したS59〜S71の処理が繰り返される。この結果、選択対象のアカウントの個数がM(Mは1以上の整数)個である場合には、1個の処理対象のファクシミリデータに対応するFAX画像データの送信がM回おこなわれる。
選択対象の全てのアカウントを選択した場合には(S72:YES)、CPU210は、複合機100へ、ファクシミリデータの削除命令を送信する(S73)。削除命令は、制御サーバ200から複合機100へ送信される動作命令の一種である。削除命令は、削除対象のデータを複合機100の不揮発性記憶装置120から削除させる命令である。図10(E)の削除命令は、削除命令であることを示す情報と、削除対象のファクシミリデータのFAXIDと、次回指定URLと、を含む。
複合機100が、削除命令を受信すると、CPU110は、該命令に従って、削除命令に含まれるFAXIDを有するファクシミリデータを不揮発性記憶装置120から削除する(S74)。記憶装置からの削除は、削除対象のデータを別のデータ(例えば、0を表すデータ)に置換することである。これに代えて、記憶装置からの削除は、削除対象のデータが格納された記憶領域への書込を許容すること、すなわち、記憶領域を解放することであっても良い。S75では、CPU110は、制御サーバ200へ、ファクシミリデータの削除が完了したことを示す削除完了通知を送信する。削除完了通知の宛先URLには、削除命令に含まれる次回指定URLが用いられる。なお、CPU110は、ファクシミリデータを不揮発性記憶装置120から削除したときに、併せて、削除されたファクシミリデータを用いて生成されたFAX画像データを揮発性記憶装置130から削除する。
制御サーバ200が、削除完了通知を受信すると、S76において、CPU210は、選択対象の全てのファクシミリデータを処理対象として選択したか否かを判断する。選択対象の全てのファクシミリデータを選択していない場合には(S76:NO)、CPU210は、図8のS57に処理を戻す。この結果、選択対象の別のファクシミリデータについて、上述したS58〜S75の処理が繰り返される。この結果、S56で複合機100から制御サーバ200へ送信されたFAX受信リストFLが、受信済みの複数のファクシミリデータに対応する複数のエントリENを含む場合には、制御サーバ200から複合機100へ、受信済みの複数のファクシミリデータのそれぞれについて、送信開始命令やアップロード命令が送信される(S59、S63)。そして、複合機100は、送信開始命令やアップロード命令に従って、受信済みの複数のファクシミリデータのそれぞれについて、FAX画像データを保存サーバに送信する(S64)。したがって、制御サーバ200は、受信済みの複数のファクシミリデータに対応する複数のFAX画像データを適切な保存サーバに送信するように、複合機100を制御することができる。
選択対象の全てのファクシミリデータを選択した場合には(S76:YES)、CPU210は、今回のFax to Cloud処理におけるFAX画像データの保存サーバへの送信(アップロード)が正常に終了したことを、エラー情報EIに記録する(S77)。
S78では、CPU210は、複合機100へ、終了画面の表示命令を送信する。複合機100が、該終了画面の表示命令を受信すると、CPU110は、該命令に従って、表示部170に、終了画面(図示省略)を表示する(S79)。終了画面は、受信されたファクシミリデータに対応するFAX画像データの保存サーバへの送信が終了したことを示すメッセージと、「OK」のボタンと、を含む。「OK」のボタンが押下されると、CPU110は、Fax to Cloud処理を終了する。終了画面の表示命令には、次回指定URLが含まれていないので、CPU110は、Fax to Cloud処理を終了すべきであることを判断することができる。
図8のS52にて、前回のFax to Cloud処理におけるFAX画像データの送信で第1種のエラーが発生したと判断された場合には(S52:YES)、前回第1種のエラー発生時の処理が実行される。
図13は、前回第1種のエラー発生時の処理のフローチャートである。S91では、CPU210は、複合機100へ、前回エラー通知画面SC10の表示命令を送信する。複合機100が、画面SC10の表示命令を受信すると、CPU110は、該命令に従って、表示部170に、画面SC10を表示する(S92)。前回エラー通知画面SC10は、前回のFax to Cloud処理で発生したエラーの内容を示すメッセージと、「終了」のボタンと、「UPLOAD」のボタンと、を含む。「終了」のボタンは、FAX画像データを保存サーバへ送信することなく、Fax to Cloud処理を終了することを指示するためのボタンである。「UPLOAD」のボタンは、FAX画像データを保存サーバへ送信(アップロード)すべく、Fax to Cloud処理を継続することを指示するためのボタンである。
ユーザは、例えば、第1種のエラーを解消するための処置を実行しておらず、再びFAX画像データの送信を実行すると、同じエラーが発生すると判断する場合には、「終了」のボタンを押下する。ユーザは、例えば、第1種のエラーを解消するための処置を実行済みであり、現在は、FAX画像データの送信が可能であると、判断する場合には、「UPLOAD」のボタンを押下する。
「終了」のボタンと、「UPLOAD」のボタンと、のいずれかが押下されると、CPU110は、制御サーバ200へ、いずれのボタンが押下されたかを示す情報、すなわち、ユーザがいずれの指示を選択したかを示す指示選択情報を送信する(S93)。
制御サーバ200が、指示選択情報を受信すると、CPU210は、指示選択情報に基づいて、Fax to Cloud処理を終了することが指示されたか否かを判断する(S94)。Fax to Cloud処理を終了することが指示されていない場合(S94:NO)、すなわち、Fax to Cloud処理の継続が指示された場合には、CPU210は、図8のS53に進む。この結果、上述したように、FAX画像データの保存サーバへの送信が実行される。
Fax to Cloud処理を終了することが指示された場合(S94:YES)、CPU210は、複合機100へ、終了画面の表示命令を送信する(S95)。複合機100が、当該表示命令を受信すると、CPU110は、受信した表示命令に従って、表示部170に、終了画面(図示省略)を表示する(S96)。終了画面は、Fax to Cloud処理が終了したことを示すメッセージと、「OK」のボタンと、を含む。「OK」のボタンが押下されると、CPU110は、Fax to Cloud処理を終了する。終了画面の表示命令には、次回指定URLが含まれていないので、CPU110は、Fax to Cloud処理を終了すべきであることを判断することができる。
以上の説明から解るように、Fax to Cloud機能が有効な状態で、複合機100が、第1のファクシミリデータを受信すると、当該受信に応じて、複合機100と制御サーバ200とが通信することにより、Fax to Cloud処理(1回目の処理とも呼ぶ)が実行される。この1回目の処理では、複合機100(CPU110)は、制御サーバ200(CPU210)の命令に従って、第1のファクシミリデータに対応する第1のFAX画像データの保存サーバへの送信(アップロード)を試行する(図8のS64)。もし、保存サーバへの送信に失敗した場合には、アップロード結果として、制御サーバ200に失敗の原因となったエラーを示す情報(エラー情報EI(図2))が記録されて第1の処理は終了される(図12のS81〜85)。
その後に、複合機100が、第2のファクシミリデータを受信した場合には、当該受信に応じて、複合機100と制御サーバ200とが通信することにより、Fax to Cloud処理(2回目の処理とも呼ぶ)が実行される。この2回目の処理では、1回目の処理での第1のFAX画像データのアップロード結果が、上述した第1種のエラーを示す場合には(図8のS52:YES)、ユーザからFax to Cloud処理の継続の指示がなければ、Fax to Cloud処理は終了される(図13のS91〜96)。すなわち、第2のファクシミリデータに対応する第2のFAX画像データの保存サーバへの送信は試行されない。また、2回目の処理では、1回目の処理での第1のFAX画像データのアップロード結果が、上述した第2種のエラーを示す場合には(図8のS52:NO)、Fax to Cloud処理は、継続される(図8、図9のS53〜S79)。すなわち、第2のFAX画像データの保存サーバへの送信は試行される(S64)。この結果、複合機100と保存サーバとの間に発生し得る通信の無駄を低減できる。
具体的には、本実施例では、第1種のエラーは、ユーザによる処置がない限り解消し難いエラーである。すなわち、第1のFAX画像データの送信の試行時に、認証エラーや、記憶容量の上限違反エラー、書込権限違反エラーなどの第1種のエラーが発生すると、ユーザ等がなんら処置を施していない場合には、第2のFAX画像データの送信の試行時にも、同じ第1種のエラーが発生する可能性が比較的高い。その結果、2回目の処理で、第2のFAX画像データの送信を試行したにも拘わらずに、1回目の処理で発生した第1種のエラーと同じエラーが発生して、第2のFAX画像データの送信が失敗に終わる可能性が高い。そうすると、通信の無駄が発生してしまう。本実施例によれば、このような不都合を効果的に低減することができる。また、複合機100と制御サーバ200との間の通信の無駄を低減することができる。例えば、図8のS53〜S56、S59、S61、S62の通信が無駄に行われることを抑制することができる。
さらに、第1のFAX画像データの送信の試行時に、通信障害エラーや、サービス停止エラーなどの第2種のエラーが発生しても、第2のFAX画像データの送信の試行時には、第2種のエラーが解消している可能性が比較的高い。本実施例では、上述したように、1回目の処理での第1のFAX画像データのアップロード結果が、上述した第2種のエラーを示す場合には(図8のS52:NO)、第2のFAX画像データの保存サーバへのアップロード(送信)は試行される(S64)。したがって、第1のFAX画像データの送信の試行時にエラーが発生していても、第2のFAX画像データを、保存サーバに適切に送信し得る。
また、上記実施例では、第1のFAX画像データのアップロード結果が第1種のエラーを示し(図8のS52:YES)、かつ、ユーザからのFax to Cloud処理の継続の指示がない場合には(図13のS94:NO)、保存サーバへの第2のFAX画像データの送信は試行されない。換言すれば、第1のFAX画像データのアップロード結果が第1種のエラーを示す場合であっても、ユーザからのFax to Cloud処理の継続の指示がある場合には(図13のS94:YES)、保存サーバへの第2のFAX画像データの送信は試行される(図8のS64)。この結果、複合機100は、ユーザの意図に基づいて、適切に保存サーバへの第2のFAX画像データの送信を試行することができる。そして、第1のFAX画像データのアップロード結果が第2種のエラーを示す場合には、ユーザからの指示の有無に拘わらず、第2のFAX画像データの送信が試行される(図8のS64)。この結果、ユーザの指示操作を低減しつつ、適切に第2のFAX画像データの送信を試行することができる。
第1のFAX画像データのアップロード結果が第1種のエラーを示さない場合、例えば、第1のFAX画像データの送信が正常に終了した場合には(図8のS51:NO)、保存サーバへの第2のFAX画像データの送信が試行される(図8のS64)。したがって、例えば、第1のFAX画像データの送信結果がエラーを示さない場合に、第2のFAX画像データの送信を適切に試行できる。
また、複合機100は、制御サーバ200から送信された送信開始命令(図10(A))やアップロード命令(図10(B))に従って、第2のFAX画像データのアップロードを実行する。すなわち、第2のFAX画像データの送信を試行するか否かは、制御サーバ200が決定している。したがって、制御サーバ200は、動作命令を送信することによって、複合機100による第2のFAX画像データの送信の試行を適切に制御することができる。また、保存サーバへの第1のFAX画像データのアップロード結果は、制御サーバ200に通知される(図9のS67)ので、制御サーバ200は、複合機100による第2のFAX画像データの送信を適切に制御することができる。
以上の説明から解るように、上記実施例における送信開始命令とアップロード命令は、画像データ送信命令の例であり、Fax to Cloud処理の継続の指示は、特定の指示の例である。
B.変形例:
(1)上記実施例では、制御サーバ200のCPU210は、複合機100などのクライアント毎に、第1のFAX画像データの送信の試行時に発生したエラー情報EIを記録している。そして、CPU210は、エラー情報EIに基づいて、第2のFAX画像データの送信を試行するか否かを決定している。これに代えて、図2(B)のファクス画像送信設定が有効(ON)である有効なアカウント情報AD毎に、第1のFAX画像データの送信の試行時に発生したエラー情報EIを記録し、該エラー情報EIに基づいて、第2のFAX画像データの送信を試行するか否かを有効なアカウント情報AD毎に決定してもよい。
この場合には、例えば、CPU210は、1個のファクシミリデータについて、有効なアカウント情報ADごとに、FAX画像データの保存サーバへの送信が完了しているか否かを管理する。CPU210は、そして、全ての有効なアカウント情報ADについて、FAX画像データの保存サーバへの送信が完了した時点で、ファクシミリデータの削除命令を複合機100へ送信する。例えば、第1のアカウント情報と第2のアカウント情報との2つの有効なアカウント情報ADが存在する場合を想定する。1回目の処理で、特定のファクシミリデータに対応するFAX画像データについて、第1のアカウント情報を用いた保存サーバへの送信が成功し、第2のアカウント情報を用いた保存サーバへの送信が失敗した場合には、特定のファクシミリデータは、複合機100から削除されない。そして、2回目の処理で、特定のファクシミリデータに対応するFAX画像データについて、第2のアカウント情報を用いた保存サーバへの送信が再び試行され、当該送信が成功した時点で、特定のファクシミリデータが削除される。
(2)上記実施例では、エラー情報EI(図2)は、制御サーバ200の不揮発性記憶装置220に格納されている(図1)が、これに代えて、複合機100の不揮発性記憶装置120に格納されても良い。この場合には、制御サーバ200は、例えば、図8のS50とS51との間に、複合機100へ、エラー情報EIの送信命令を送信しても良い。そして、複合機100は、当該送信命令に従って、制御サーバ200へ、エラー情報EIを送信しても良い。また、制御サーバ200は、図12のS83に代えて、複合機100へ、発生したエラーの種類を示すエラー情報EIの書込命令を送信しても良い。そして、複合機100は、当該書込命令に従って、不揮発性記憶装置120にエラー情報EIを格納しても良い。
(3)また、上記実施例では、保存サーバへの第2のFAX画像データの送信の試行するか否かを判断する処理(図8のS51、S52)は、制御サーバ200によって実行されている。これに代えて、保存サーバへ第2のFAX画像データの送信を試行するか否かを判断する処理は、複合機100によって実行されても良い。この場合には、例えば、図8のS51、S52、および、図13のS91〜S96の処理は省略される。そして、複合機100の不揮発性記憶装置120には、変形例(1)で示すように、エラー情報EIが格納される。複合機100のCPU110は、アップロード命令を受信したとき(図8のS59)、または、送信開始命令を受信したとき(図8のS63)に、エラー情報EIを参照して、第1のFAX画像データの送信の試行時に第1種のエラーが発生している場合には、保存サーバへの第2のFAX画像データの送信を試行しないと判断する。CPU110は、第1のFAX画像データの送信の試行時に第2種のエラーが発生している場合、および、エラーが発生していない場合には、保存サーバへの第2のFAX画像データの送信の試行すると判断する。
(4)上記実施例の図3、図4、図8、図9、図12、図13の処理は、複合機100と制御サーバ200とが協働して実現している。これらの処理は、複合機100が単体で実行しても良い。この場合には、制御サーバ200は無くても良い。例えば、上記実施例において制御サーバ200の不揮発性記憶装置220に格納されているサービス利用情報SA、解釈情報IP、エラー情報EIは、複合機100の不揮発性記憶装置120に格納される。そして、図3、図4、図8、図9、図12、図13の処理のうち、複合機100と制御サーバ200との通信処理は省略され、制御サーバ200によって実行される処理は、複合機100のCPU110が実行すれば良い。
(5)上記実施例では、第1のFAX画像データの送信の試行時に第1種のエラーが発生している場合には、ユーザからのFAX画像データの送信の継続指示がない限り、保存サーバへの第2のFAX画像データの送信の試行は行われない。これに代えて、第1のFAX画像データの送信の試行時に第1種のエラーが発生している場合には、一旦は、保存サーバへの第2のFAX画像データの送信の試行は行われないが、その後に特定の試行条件が満たされた場合には、保存サーバへの第2のFAX画像データの送信が試行されても良い。特定の試行条件は、例えば、第1種のエラーが発生してから特定期間(例えば、1日)が経過したこと、第1種のエラーが発生してから所定個(例えば、10個)のファクシミリデータが受信されたこと、あるいは、ファクシミリデータを格納する記憶領域の空き容量が基準値以下になったこと、であって良い。
(6)上記実施例では、ファクシミリデータは、電話回線IF190とアナログ電話回線のネットワーク90とを介して受信されるが、インターネット80とネットワークIF180を介して受信されても良い。すなわち、ファクシミリデータは、いわゆるインターネットファクスの仕組みによって受信されても良い。インターネットファクスでは、例えば、所定のフォーマットの画像データを所定の書式で記述されたEメールに添付する形式で送受信される。このEメールの送受信は、例えば、通常のEメールと同様のプロトコル、例えば、SMTP(Simple Mail Transfer Protocol)やPOP(Post Office Protocol)を用いて実行される。また、ファクシミリデータは、電話回線IF190と、インターネット80と、を介して受信されても良い。この場合には、例えば、電話回線IF190は、所定の変換機に接続され、当該変換機がインターネット80と接続される。交換機は、電話回線IF190を介して送受信されるアナログ信号と、インターネット80を介して送受信されるデジタル信号と、の間の変換処理を実行する。
(7)FAX画像データのフォーマットは、ファクシミリデータのフォーマットでも良い。この場合には、フォーマットの変換(S80)は省略され、ファクシミリデータが、FAX画像データとして、そのまま保存サーバに送信(アップロード)される。
(8)上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。