(57)【特許請求の範囲】
【請求項１】
クラウドサービスを利用する利用者の認証情報と、前記利用者毎に前記クラウドサービスへのデータの格納が失敗した場合の対応情報とを記憶する記憶手段、
画像処理装置から前記利用者の利用者情報、前記クラウドサービスへの格納対象となるデータ及び前記クラウドサービスへの格納要求を受信する受信手段、
前記クラウドサービスへの格納要求に応じて、前記利用者の認証情報と、前記クラウドサービスへの格納対象となるデータとを前記クラウドサービスに送信する送信手段、
前記クラウドサービスへのデータの格納に失敗した場合には、該失敗した格納の格納要求を行った利用者に対応する前記対応情報を参照して、対応方法を前記利用者に送信する第２の送信手段、
を有することを特徴とする中継装置。
【請求項２】
前記第２の送信手段は、利用者毎に対応方法の処理を行うページへのリンクが張られたＵＲＬ情報を送信する、
ことを特徴とする請求項１に記載の中継装置。
【請求項３】
前記第２の送信手段は、失敗の原因に応じて対応方法の内容を変更して利用者に送信する、
ことを特徴とする請求項１又は２に記載の中継装置。
【請求項４】
コンピュータを、
クラウドサービスを利用する利用者の認証情報と、前記利用者毎に前記クラウドサービスへのデータの格納が失敗した場合の対応情報とを記憶する記憶手段、
画像処理装置から前記利用者の利用者情報、前記クラウドサービスへの格納対象となるデータ及び前記クラウドサービスへの格納要求を受信する受信手段、
前記クラウドサービスへの格納要求に応じて、前記利用者の認証情報と、前記クラウドサービスへの格納対象となるデータとを前記クラウドサービスに送信する送信手段、
前記クラウドサービスへのデータの格納に失敗した場合には、該失敗した格納の格納要求を行った利用者に対応する前記対応情報を参照して、対応方法を前記利用者に送信する第２の送信手段、
として機能させるための中継処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置及び中継処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、クラウドを利用するシステムにおいて、クラウドへのアクセスに障害が発生した場合のユーザの利便性の低下を抑えることを課題とし、クラウドシステムによって提唱されるサービスを画像形成装置において利用するために画像形成装置とクラウドシステムとの間で情報を仲介するクラウド中継サーバであって、クラウドシステムへの情報の格納要求及び格納するべき情報を画像形成装置から取得するジョブ制御部と、格納するべき情報及び格納要求をクラウドシステムへ送信し、クラウドシステムとの通信が不可能であることを認識する入出力制御モジュールとクラウドシステムとの通信が不可能である場合に、格納するべき情報を一次記憶部に格納する同期制御モジュールとを含むことが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−０２５３８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
画像処理装置が読み込んだデータの保存先を選定すると、選定先のクラウドにアップロードする技術がある。クラウドでの障害発生によりアップロードが完了しない場合、単に失敗通知が送信されるだけであり、ユーザは折を見てリトライする必要があった。一方で、特許文献１に記載の技術では、中継サーバを経由して、画像処理装置が読み込んだデータをクラウドにアップロードしたときに、そのアップロードが完了しなくても中継サーバにスキャンデータを保存して、ユーザには処理の完了通知を行っておき、その後自動的にアップロードのリトライを行い、処理を完了することが開示されている。
現在では複数のクラウドを利用するユーザが存在するが、特許文献１に記載の技術では、クラウドへのアップロードが完了しなくてもユーザには完了通知が届いているので、例えば、クラウドへのアップロードが失敗した場合に、他のクラウドに格納させたい等の対応を選択することは想定されていない。
本発明は、画像処理装置が読み込んだデータをクラウドに格納するにあたって、クラウドへのデータの格納に失敗した場合、利用者毎の情報に基づいた対応内容を、利用者に送信するようにした中継装置及び中継処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００５】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、クラウドサービスを利用する利用者の認証情報と、前記利用者毎に前記クラウドサービスへのデータの格納が失敗した場合の対応情報とを記憶する記憶手段、画像処理装置から前記利用者の利用者情報、前記クラウドサービスへの格納対象となるデータ及び前記クラウドサービスへの格納要求を受信する受信手段、前記クラウドサービスへの格納要求に応じて、前記利用者の認証情報と、前記クラウドサービスへの格納対象となるデータとを前記クラウドサービスに送信する送信手段、前記クラウドサービスへのデータの格納に失敗した場合には、該失敗した格納の格納要求を行った利用者に対応する前記対応情報を参照して、対応方法を前記利用者に送信する第２の送信手段、を有することを特徴とする中継装置である。
【０００６】
請求項２の発明は、前記第２の送信手段は、利用者毎に対応方法の処理を行うページへのリンクが張られたＵＲＬ情報を送信する、ことを特徴とする請求項１に記載の中継装置である。
【０００７】
請求項３の発明は、前記第２の送信手段は、失敗の原因に応じて対応方法の内容を変更して利用者に送信する、ことを特徴とする請求項１又は２に記載の中継装置である。
【０００８】
請求項４の発明は、コンピュータを、クラウドサービスを利用する利用者の認証情報と、前記利用者毎に前記クラウドサービスへのデータの格納が失敗した場合の対応情報とを記憶する記憶手段、画像処理装置から前記利用者の利用者情報、前記クラウドサービスへの格納対象となるデータ及び前記クラウドサービスへの格納要求を受信する受信手段、前記クラウドサービスへの格納要求に応じて、前記利用者の認証情報と、前記クラウドサービスへの格納対象となるデータとを前記クラウドサービスに送信する送信手段、前記クラウドサービスへのデータの格納に失敗した場合には、該失敗した格納の格納要求を行った利用者に対応する前記対応情報を参照して、対応方法を前記利用者に送信する第２の送信手段、として機能させるための中継処理プログラムである。
【発明の効果】
【０００９】
請求項１の中継装置によれば、画像処理装置が読み込んだデータをクラウドに格納するにあたって、クラウドへのデータの格納に失敗した場合の対応内容が利用者の情報に関わらず同じである場合に比較して、利用者毎の情報に基づいた対応内容を、利用者に送信することができる。
【００１０】
請求項２の中継装置によれば、利用者毎に対応方法の処理を行うページに、利用者を導くことができる。
【００１１】
請求項３の中継装置によれば、失敗の原因に応じて対応方法の内容を変更することができる。
【００１２】
請求項４の中継処理プログラムによれば、画像処理装置が読み込んだデータをクラウドに格納するにあたって、クラウドへのデータの格納に失敗した場合の対応内容が利用者の情報に関わらず同じである場合に比較して、利用者毎の情報に基づいた対応内容を、利用者に送信することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施の形態の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態を利用したシステム構成例を示す説明図である。
【図３】本実施の形態による処理例を示すフローチャートである。
【図４】本実施の形態による処理例を示すフローチャートである。
【図５】アクセストークン管理テーブルのデータ構造例を示す説明図である。
【図６】ユーザ設定管理テーブルのデータ構造例を示す説明図である。
【図７】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図１は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、全ての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という意味を有する記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００１５】
本実施の形態である情報処理装置１００は、画像処理装置２１０とクラウドサービス提供装置２５０との間の中継装置としての機能を有するものであって、図１の例に示すように、通信回線インタフェース１０５、入出力制御モジュール１１０、ジョブ制御モジュール１２０、画像処理モジュール１３０、画像入出力制御モジュール１４０、一時記憶モジュール１５０、ユーザ情報管理モジュール１６０、失敗時のＵＲＬリスト生成モジュール１７０、失敗時の完了通知モジュール１８０を有している。
情報処理装置１００は、画像処理装置２１０で読み取られた画像データをクラウドサービス提供装置２５０に格納する。その際に、クラウドサービス提供装置２５０へのデータの格納に失敗することがあり、情報処理装置１００は、その格納失敗への対応方法を利用者に送信する。
【００１６】
画像処理装置２１０は、情報処理装置１００と通信可能に接続されており、画像を読み込むことが可能な装置である。例えば、複写機、ファックス、スキャナ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）、カメラ等がある。なお、画像処理装置２１０を利用するには、利用者（以下、ユーザともいう）が登録されていることを確認する処理（ログイン処理）を行う。例えば、利用者によってキーボード等が操作され、利用者情報（ユーザＩＤ：ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）、パスワード等を受け付けて、予め登録されたものと照合するようにしてもよいし、ＩＣカードリーダー等を用いて利用者が所持しているＩＣカードを読み取り、ＩＣカード内に記憶されている情報を照合するようにしてもよいし、その他、指紋等の生体認証を用いるようにしてもよい。
【００１７】
クラウドサービス提供装置２５０は、情報処理装置１００と通信可能に接続されており、クラウドサービスの一例として、データを保存するサービスを提供する。例えば、画像処理装置２１０が読み込んだデータを保存し（アップロード）、ユーザ端末２８０からそのデータの読み込み（ダウンロード）が行われる。その場合、画像処理装置２１０の読み込みを行った利用者と、ユーザ端末２８０の利用者は同一人物であることを保証する。また、他の利用者との間でデータの共有に使用してもよい。
ユーザ端末２８０は、情報処理装置１００と通信可能に接続されており、クラウドサービス提供装置２５０に格納したデータにアクセスし、そして、情報処理装置１００から送信されてきた対応方法を受信して、表示する装置である。また、その対応方法にしたがった利用者の操作によって、対応処理を行うようにしてもよい。ユーザ端末２８０として、例えば、通信機能を有しているパーソナルコンピュータ、携帯情報端末（スマートフォンを含む携帯電話、タブレット型携帯端末等）等が該当する。ユーザ端末２８０を利用する際にも、ログイン処理が行われる。ただし、携帯情報端末のように、常に、同じ利用者が利用していることを前提としているユーザ端末２８０にあっては、利用毎のログイン処理を不要としてもよい。
【００１８】
通信回線インタフェース１０５は、入出力制御モジュール１１０と接続されており、画像処理装置２１０、クラウドサービス提供装置２５０、ユーザ端末２８０と通信可能に接続されている。通信回線インタフェース１０５は、画像処理装置２１０、クラウドサービス提供装置２５０、ユーザ端末２８０との通信を行う。具体的には、情報処理装置１００が通信回線を介して画像処理装置２１０、クラウドサービス提供装置２５０、ユーザ端末２８０等の他の機器と通信するためのインタフェースであり、例えば、Ｅｔｈｅｒｎｅｔ（登録商標）やＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インタフェースが用いられる。
入出力制御モジュール１１０は、通信回線インタフェース１０５、ジョブ制御モジュール１２０、画像入出力制御モジュール１４０、失敗時の完了通知モジュール１８０と接続されている。入出力制御モジュール１１０は、通信回線インタフェース１０５を介して、画像処理装置２１０から利用者の利用者情報（例えば、ユーザＩＤ）、クラウドサービス提供装置２５０への格納対象となるデータ及びクラウドサービス提供装置２５０への格納要求を受信する。具体的には、通信回線インタフェース１０５を介しての通信を制御し、また、外部からの不正なアクセスやウィルスを監視し、セキュアな状態を保つ機能を有する。
ジョブ制御モジュール１２０は、入出力制御モジュール１１０、画像処理モジュール１３０、画像入出力制御モジュール１４０、失敗時のＵＲＬリスト生成モジュール１７０、失敗時の完了通知モジュール１８０と接続されている。ジョブ制御モジュール１２０は、画像処理装置２１０からデータを受信して情報処理装置１００で処理するジョブについて、処理の順番を制御する。例えば、そのデータに対して画像処理を行ってからクラウドサービス提供装置２５０に送信する場合は、画像処理モジュール１３０に処理を依頼し、その後、画像入出力制御モジュール１４０に処理を依頼する。
特に、クラウドサービス提供装置２５０へのデータの格納が失敗した場合は、失敗時のＵＲＬリスト生成モジュール１７０と、失敗時の完了通知モジュール１８０を呼び出して、対応方法を利用者に送信するように制御する。より具体的には、ＲＥＳＴ  Ｉ／Ｆ（ＲＥｐｒｅｓｅｎｔａｔｉｏｎａｌ  Ｓｔａｔｅ  Ｔｒａｎｓｆｅｒ  ＩｎｔｅｒＦａｃｅ）の解釈機能を有しており、クラウドサービス提供装置２５０等との連携処理を行う。
画像処理モジュール１３０は、ジョブ制御モジュール１２０と接続されている。画像処理モジュール１３０は、画像処理を行うソフトウェア・プログラムによって構成されるモジュールである。画像処理として、例えば、ノイズ除去、色変換、ファイルのフォーマット変換、文字認識処理等がある。
【００１９】
画像入出力制御モジュール１４０は、クラウドアクセスＡＰＩ１４５を有しており、入出力制御モジュール１１０、ジョブ制御モジュール１２０、一時記憶モジュール１５０と接続されている。画像入出力制御モジュール１４０は、クラウドサービス提供装置２５０にアクセスする処理を行うモジュールである。図１の例に示すように、画像入出力制御モジュール１４０は、内部のクラウドアクセスＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）１４５の機能に基づいて、クラウドサービス提供装置２５０との間で情報のやり取りを行う。そして、画像入出力制御モジュール１４０は、クラウドサービス提供装置２５０にデータを格納するジョブの場合は、入出力制御モジュール１１０を使用してクラウドにファイルをアップロードする。逆に、クラウドサービス提供装置２５０からデータを取得するジョブの場合は、入出力制御モジュール１１０を使用してクラウドサービス提供装置２５０からデータをダウンロードする。
クラウドアクセスＡＰＩ１４５は、ユーザ情報管理モジュール１６０と接続されている。クラウドアクセスＡＰＩ１４５は、クラウドサービス提供装置２５０への格納要求に応じて、利用者の認証情報と、クラウドサービス提供装置２５０への格納対象となるデータとを、入出力制御モジュール１１０を介してクラウドサービス提供装置２５０に送信する。なお、利用者の認証情報は、ユーザ情報管理モジュール１６０内の利用者情報とその利用者の認識情報を対応させて記憶しているテーブルを用いて、画像処理装置２１０から受け取った利用者情報に対応する認識情報を抽出すればよい。
一時記憶モジュール１５０は、画像入出力制御モジュール１４０と接続されている。一時記憶モジュール１５０は、画像処理装置２１０が読み込んだデータを一時的に記憶する。
【００２０】
ユーザ情報管理モジュール１６０は、画像入出力制御モジュール１４０のクラウドアクセスＡＰＩ１４５、失敗時のＵＲＬリスト生成モジュール１７０と接続されている。ユーザ情報管理モジュール１６０は、ユーザに関連付けられた情報を管理する。ユーザ情報管理モジュール１６０は、例えば、クラウドサービス提供装置２５０を利用する利用者の認証情報（以下、アクセストークンとも言う）と、その利用者毎にクラウドサービス提供装置２５０へのデータの格納が失敗した場合の対応情報とを記憶する。ここで「データの格納が失敗した場合」とは、画像処理装置２１０によって読み込まれた画像データ（スキャンデータとも言われる）を、クラウドサービス提供装置２５０に格納するにあたって、その画像データをクラウドサービス提供装置２５０に格納できなかった場合をいう。その場合、画像処理装置２１０による原因、クラウドサービス提供装置２５０による原因、画像処理装置２１０とクラウドサービス提供装置２５０の間の通信回線等の原因がある。
また、ユーザ情報管理モジュール１６０は、ユーザを、本実施の形態において一意に識別するための情報（ユーザＩＤ）、ユーザの名称、ユーザに通知するためのアドレス（メールアドレス等）、そのユーザが利用可能なクラウドサービス等を記憶していてもよい。また、ユーザの登録等を行うようにしてもよい。
【００２１】
具体的には、ユーザ情報管理モジュール１６０は、アクセストークン管理テーブル５００、ユーザ設定管理テーブル６００を記憶している。
図５は、アクセストークン管理テーブル５００のデータ構造例を示す説明図である。アクセストークン管理テーブル５００は、ユーザＩＤ欄５１０、クラウドサービスＩＤ欄５２０、アクセス情報欄５３０を有している。アクセストークン管理テーブル５００は、各ユーザのクラウドサービスにアクセスするための認証情報を管理している。ユーザＩＤ欄５１０は、ユーザＩＤを記憶している。クラウドサービスＩＤ欄５２０は、そのユーザＩＤのユーザが利用可能なクラウドサービスを、本実施の形態において一意に識別するための情報（クラウドサービスＩＤ）を記憶している。アクセス情報欄５３０は、そのクラウドサービスにアクセスするための認証情報を記憶している。ここでの認証情報は、画像処理装置２１０が読み込んだデータを格納するクラウドサービスを利用するための情報であって、具体的には、ログイン処理に必要な情報であり、アクセストークン、パスワード等を含む。
図６は、ユーザ設定管理テーブル６００のデータ構造例を示す説明図である。ユーザ設定管理テーブル６００は、ユーザＩＤ欄６１０、設定欄６２０を有している。ユーザＩＤ欄６１０は、ユーザＩＤを記憶している。設定欄６２０は、そのユーザＩＤのユーザにおける設定（クラウドサービス提供装置２５０へのデータの格納が失敗した場合の対応情報）を記憶している。
【００２２】
失敗時のＵＲＬリスト生成モジュール１７０は、ジョブ制御モジュール１２０、ユーザ情報管理モジュール１６０と接続されている。失敗時のＵＲＬリスト生成モジュール１７０は、ユーザ情報管理モジュール１６０にアクセスして、利用者毎に対応方法の処理を行うページへのリンクが張られたＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）情報を生成する。このページには、対応方法の処理が記載されたページを含めてもよい。
失敗時の完了通知モジュール１８０は、入出力制御モジュール１１０、ジョブ制御モジュール１２０と接続されている。失敗時の完了通知モジュール１８０は、クラウドサービス提供装置２５０へのデータの格納に失敗した場合には、一時記憶モジュール１５０内の対応情報を参照して、対応方法を利用者に送信する。ここでの送信としては、電子メール、チャット、電子掲示板、ソーシャルメディアを用いた通知、プッシュ通知等であってもよい。
また、失敗時の完了通知モジュール１８０は、失敗時のＵＲＬリスト生成モジュール１７０によって生成されたＵＲＬ情報を送信するようにしてもよい。
また失敗時の完了通知モジュール１８０は、失敗の原因に応じて対応方法の内容を変更して利用者に送信するようにしてもよい。
【００２３】
図２は、本実施の形態を利用したシステム構成例を示す説明図である。
情報処理装置１００、画像処理装置２１０Ａ、画像処理装置２１０Ｂ、画像処理装置２１０Ｃ、クラウドサービス提供装置２５０Ａ、クラウドサービス提供装置２５０Ｂ、クラウドサービス提供装置２５０Ｃ、ユーザ端末２８０Ａ、ユーザ端末２８０Ｂ、ユーザ端末２８０Ｃは、通信回線２９０を介してそれぞれ接続されている。通信回線２９０は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット、イントラネット等であってもよい。
画像処理装置２１０は、ユーザの操作によって、画像を読み込んで、クラウドサービス提供装置２５０が指定され、その画像データを格納させるための格納要求が、情報処理装置１００に送信される。この場合、画像処理装置２１０は、ユーザＩＤ、クラウドサービス提供装置２５０の指定、画像データ、格納要求を、情報処理装置１００に送信する。情報処理装置１００は、これらの情報を受信して、そのユーザＩＤの認証情報を用いて、そのクラウドサービス提供装置２５０に画像データを格納する。クラウドサービス提供装置２５０は、その画像データを格納し、そのユーザが利用するユーザ端末２８０からのアクセスを受ける。また、情報処理装置１００は、クラウドサービス提供装置２５０に画像データの格納を失敗した場合は、その失敗への対応方法を、そのユーザに送信する。
【００２４】
図３は、本実施の形態（画像処理装置２１０、情報処理装置１００、クラウドサービス提供装置２５０）による処理例を示すフローチャートである。具体的には、画像処理装置２１０においてスキャンにより生成された画像を情報処理装置１００を介してクラウドサービス提供装置２５０に格納するフローを実行する例を示している。
【００２５】
図３の例に示すように、まず、画像処理装置２１０が、ディスプレイパネルに対するユーザの操作等に応じて、スキャン及びクラウドサービス提供装置２５０へのファイル格納の機能を提供するアプリケーションを起動する（ステップＳ３０２）。
起動したアプリケーションのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）においてユーザが操作を行うことにより、画像処理装置２１０はスキャンを実行する（ステップＳ３０４）。
スキャンの実行により画像データを生成すると、画像処理装置２１０は、クラウドサービス提供装置２５０へのファイルの格納要求及び画像情報を情報処理装置１００に送信する（ステップＳ３０６）。
【００２６】
画像処理装置２１０から情報を受信した情報処理装置１００においては、ジョブ制御モジュール１２０が要求の内容を処理し、画像入出力制御モジュール１４０に処理を受け渡す。すなわち、ジョブ制御モジュール１２０が、画像処理装置２１０からの機能要求を取得する要求取得部として機能する。そして、画像入出力制御モジュール１４０は、クラウドサービス提供装置２５０へのファイル格納要求を送信する（ステップＳ３０８）。すなわち、画像入出力制御モジュール１４０が、画像処理装置２１０からの機能要求に基づいてクラウドサービス提供装置２５０に要求を送信する要求送信部として機能する。なお、画像データに対して、必要に応じて、ノイズ除去等の画像処理を画像処理モジュール１３０が行い、その結果の画像データをクラウドサービス提供装置２５０に格納するようにしてもよい。
【００２７】
図４は、本実施の形態（情報処理装置１００）による処理例を示すフローチャートである。
ステップＳ４０２では、クラウドアクセスＡＰＩ１４５でクラウドサービス提供装置２５０にアクセスする。具体的には、画像処理装置２１０から、ユーザＩＤ、クラウドサービス提供装置２５０の指定を受け取っているので、その情報とアクセストークン管理テーブル５００のユーザＩＤ欄５１０、クラウドサービスＩＤ欄５２０で合致している行におけるアクセス情報欄５３０内のアクセストークンを用いて、指定されているクラウドサービス提供装置２５０にアクセスする。
【００２８】
ステップＳ４０４では、クラウドサービス提供装置２５０へのアクセスが成功したか否かを判断し、アクセスが成功した場合はステップＳ４１０へ進み、それ以外の場合はステップＳ４０６へ進む。具体的には、画像入出力制御モジュール１４０は、クラウドアクセスＡＰＩ１４５の機能により、ファイルの格納が成功又は失敗したことを認識する。例えば、ファイル格納要求に対するタイムアウト処理などによって、失敗したことを認識する。ファイルの格納が失敗したことが認識されると、格納要求に係る画像データを一時記憶モジュール１５０に格納する。
【００２９】
ステップＳ４０６では、失敗時のＵＲＬリスト生成モジュール１７０で、ＵＲＬリストを生成する。
ステップＳ４０８では、失敗時の完了通知モジュール１８０で、ＵＲＬリストをユーザに通知する。
ステップＳ４１０では、正常終了する。
【００３０】
次に、失敗時のＵＲＬリスト生成モジュール１７０、失敗時の完了通知モジュール１８０による対応方法の生成処理例（＜１＞〜＜３＞）を説明する。
＜１＞
図５の例では、ユーザ１２３４は、クラウドサービスである「ＧＤｄｄｄｄ」と「ＥｖｖｖＮｎｎｎ」と「Ｂｂｂ」にはアクセスできる。
しかし、ユーザ２３４５は、クラウドサービスである「ＧＤｄｄｄｄ」と「Ｂｂｂ」にはアクセスできるが、「ＥｖｖｖＮｎｎｎ」にはアクセスできない。
例えば、ユーザ１２３４の操作によって、画像処理装置２１０で読み込んだ画像データを、「ＧＤｄｄｄｄ」にアップロードしようとしたときに、「ＧＤｄｄｄｄ」へのアクセスが何らかの問題により失敗した場合は、他のクラウドサービスである「ＥｖｖｖＮｎｎｎ」、「Ｂｂｂ」へアップロードするためのＵＲＬ（ＲＥＳＴリクエスト）を、ユーザに通知する。
また、通知するクラウドサービスとして、失敗した「ＧＤｄｄｄｄ」へアップロードするためのＵＲＬを含めるようにしてもよい。この場合、「ＧＤｄｄｄｄ」は単なるリトライ用として、「ＥｖｖｖＮｎｎｎ」と「Ｂｂｂ」は代替サービスのリストということになる。
さらに、ユーザ２３４５が同じことをした場合は、「ＥｖｖｖＮｎｎｎ」と「Ｂｂｂ」へのＵＲＬのみ返され、「ＧＤｄｄｄｄ」はリストに含まれないようにする。つまり、同じ画像データについて、クラウドサービスＡへの格納が連続して複数回失敗した場合は、対応方法として、クラウドサービスＡ以外のクラウドサービスを利用するように推薦するようにしてもよい。なお、失敗の回数として、閾値を設けるようにしてもよい。
【００３１】
＜２＞
ユーザ情報管理モジュール１６０では、図６の例に示すようなユーザ設定管理テーブル６００を保持・管理している。このユーザ設定管理テーブル６００を用いて、対応方法を生成するようにしてもよい。つまり、この対応方法を受け取ったユーザは、これらの選択肢の中から選択することができる。
図６の例に示すユーザ設定管理テーブル６００の場合、ユーザ１２３４に対して、クラウドサービスへの画像データの格納に失敗した場合、次のリストを対応方法として送信する。
・サービス指定（前述の＜１＞によって生成されたリストを利用する）
・キャンセル（一時記憶モジュール１５０内に記憶されている画像データを削除する）
・ダウンロード（一時記憶モジュール１５０内に記憶されている画像データを、ユーザ端末２８０にダウンロードする）
これらの各対応方法は、その処理を行うためのＵＲＬを、失敗時のＵＲＬリスト生成モジュール１７０が生成して、そのＵＲＬにアクセスした場合に、そのアクセスを情報処理装置１００が検知して、そのＵＲＬに対応した処理を行う。
ユーザ２３４５の場合は、「サービス指定」、「キャンセル」のＵＲＬが通知され、「ダウンロード」のＵＲＬは通知されない。
ユーザ３４５６の場合は、「ダウンロード」のＵＲＬのみが通知される。
【００３２】
＜３＞
＜１＞で前述したように、リトライ用のＵＲＬをリストに加える際に、エラー原因に応じて、ＵＲＬを追加変更する。
＜１＞において、クラウドサービスである「ＧＤｄｄｄｄ」に画像データをアップロードしようとしたときに、「ＧＤｄｄｄｄ」にアップロードできるデータ量の上限を超過しているといった原因で失敗している場合は何度リトライしてもエラーになる。
そのため、以下のように、エラー原因に応じて、ＵＲＬを追加・変更する。
３．１）エラーの原因がユーザ側にあり、ユーザの手続きによってエラーが解消できる場合、その手続きを行えるページやヘルプページのＵＲＬを、ＵＲＬリストに追加する。そして、リトライ先のＵＲＬは、ＵＲＬリストに残しておく。
例えば、前述のように、データ量の上限を超過しているためエラーとなったが、料金を支払うことで上限を上に変更できるような場合、その料金支払いのためのＵＲＬを、対応方法として追加する。また、ユーザの操作によって、エラーが解消するような場合（クラウドのアプリケーションをアンインストールし、再インストールによりエラーが解消できる可能性がある場合等）、そのための操作を解説したページへのＵＲＬを、対応方法として追加する。
３．２）エラーの原因がユーザ側に無く、リトライしても無駄なエラー（クラウド内部のエラー等）の場合、リトライ先のＵＲＬは、ＵＲＬリストから除く。
３．３）エラーの原因が通信回線２９０の一時的な輻輳等、リトライすればアップロードできる可能性があるエラーの場合は、リトライ先のＵＲＬをＵＲＬに追加する。
なお、エラーの原因は、クラウドサービス提供装置２５０に画像データを格納した際に、クラウドサービス提供装置２５０等から返信されてきたエラーコードによって判断すればよい。
【００３３】
失敗時のＵＲＬリスト生成モジュール１７０が生成するＵＲＬリスト例について説明する。つまり、ユーザ端末２８０で受信する対応方法（選択肢）の提示方法例を以下に説明する。
（１）  失敗通知の文面の中で、選択肢のＵＲＬを直接提示する。そのＵＲＬがクリックされると、そのＵＲＬに対応した作業を実行する。
（２）  失敗通知の中では、対応を選択するためのＵＲＬがあり、そのＵＲＬがクリックされると、選択肢がリストされているページをブラウザで表示する。
（３）  （１）と（２）の組み合わせ。例えば、（１）で、その作業に失敗した場合は、（２）における画面に転送することを行ってもよい。
（１）では、ユーザが操作するのは、その失敗通知内（失敗通知として電子メールを利用した場合は、電子メールソフト内）だけである。なお、ブラウザで表示する必要があるのは、その作業結果だけである。
（２）では、エラーが起きた後に、代替クラウドサービスの設定を行って、そちらに格納すること等ができることとなる。
【００３４】
図７を参照して、本実施の形態の情報処理装置のハードウェア構成例について説明する。図７に示す構成は、例えばパーソナルコンピュータ（ＰＣ）等によって構成されるものであり、スキャナ等のデータ読み取り部７１７と、プリンタ等のデータ出力部７１８を備えたハードウェア構成例を示している。
【００３５】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７０１は、前述の実施の形態において説明した各種のモジュール、すなわち、通信回線インタフェース１０５、入出力制御モジュール１１０、ジョブ制御モジュール１２０、画像処理モジュール１３０、画像入出力制御モジュール１４０、クラウドアクセスＡＰＩ１４５、ユーザ情報管理モジュール１６０、失敗時のＵＲＬリスト生成モジュール１７０、失敗時の完了通知モジュール１８０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００３６】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）７０２は、ＣＰＵ７０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）７０３は、ＣＰＵ７０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバス等から構成されるホストバス７０４により相互に接続されている。
【００３７】
ホストバス７０４は、ブリッジ７０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バス等の外部バス７０６に接続されている。
【００３８】
キーボード７０８、マウス等のポインティングデバイス７０９は、操作者により操作される入力デバイスである。ディスプレイ７１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）等があり、各種情報をテキストやイメージ情報として表示する。
【００３９】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）７１１は、ハードディスク（フラッシュメモリ等であってもよい）を内蔵し、ハードディスクを駆動し、ＣＰＵ７０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクは、一時記憶モジュール１５０等としての機能を実現させる。さらに、その他の各種データ、各種コンピュータ・プログラム等が格納される。
【００４０】
ドライブ７１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体７１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース７０７、外部バス７０６、ブリッジ７０５、及びホストバス７０４を介して接続されているＲＡＭ７０３に供給する。リムーバブル記録媒体７１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００４１】
接続ポート７１４は、外部接続機器７１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート７１４は、インタフェース７０７、及び外部バス７０６、ブリッジ７０５、ホストバス７０４等を介してＣＰＵ７０１等に接続されている。通信部７１６は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部７１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部７１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００４２】
なお、図７に示す情報処理装置のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図７に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図７に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器（携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む）、情報家電、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００４３】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００４４】
１００…情報処理装置
１０５…通信回線インタフェース
１１０…入出力制御モジュール
１２０…ジョブ制御モジュール
１３０…画像処理モジュール
１４０…画像入出力制御モジュール
１４５…クラウドアクセスＡＰＩ
１５０…一時記憶モジュール
１６０…ユーザ情報管理モジュール
１７０…失敗時のＵＲＬリスト生成モジュール
１８０…失敗時の完了通知モジュール
２１０…画像処理装置
２５０…クラウドサービス提供装置
２８０…ユーザ端末
２９０…通信回線
【図１】
0006610082.tif 000002
【図２】
0006610082.tif 000003
【図３】
0006610082.tif 000004
【図４】
0006610082.tif 000005
【図５】
0006610082.tif 000006
【図６】
0006610082.tif 000007
【図７】
0006610082.tif 000008