(57)【要約】【課題】クラウドサーバを利用するアプリケーションプログラムであって、クラウドサーバへのアクセスの利便性を向上させる技術を提供すること。【解決手段】スキャンアプリ４１は、ＰＣ１のＣＰＵ１１によって実行可能であって、ＣＰＵ１１に、スキャナ２およびクラウドサーバを利用する一連の処理であるワークフローを示すワークフロー情報を含むエクスポートファイルからワークフロー情報を読み込み、読み込んだワークフロー情報によって示されるワークフローに対するインポート指示を受け付けた場合に、クラウドサーバへの認証に用いるトークンを取得する複数の取得方法のうち１つを選択し、インポート指示の対象となったワークフローの実行指示を受け付けた場合に、選択された取得方法で取得されたトークンを用いてクラウドサーバにアクセスする処理を実行させる。【選択図】図８
2020145549.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置のコンピュータによって実行可能なアプリケーションプログラムであって、
前記コンピュータに、
画像処理装置およびクラウドサーバを利用する一連の処理であるワークフローを示すワークフロー情報を含むエクスポートファイルから前記ワークフロー情報を読み込む読込処理と、
前記読込処理にて読み込まれた前記ワークフロー情報によって示されるワークフローに対するインポート指示を受け付けた場合に、前記クラウドサーバへの認証に用いる認証情報を取得する複数の取得方法のうち１つを選択する選択処理と、
前記インポート指示の対象となった前記ワークフローの実行指示を受け付けた場合に、前記選択処理で選択された取得方法で取得された認証情報を用いて前記クラウドサーバにアクセスするアクセス処理と、
を実行させる、
ことを特徴とするアプリケーションプログラム。
【請求項２】
請求項１に記載するアプリケーションプログラムにおいて、
前記複数の取得方法には、第１方法が含まれ、
前記第１方法は、前記情報処理装置のメモリに記憶されたテーブルであって、前記クラウドサーバの識別情報と前記認証情報とを関連付けた前記テーブルである第１テーブルから前記認証情報を取得する取得方法であり、
さらに前記コンピュータに、
前記選択処理にて前記第１方法が選択されなかった場合に、前記第１テーブル以外から前記認証情報を取得する取得方法で前記認証情報を取得し、前記インポート指示の対象となった前記ワークフローの識別情報を、取得した前記認証情報と関連付けて第２テーブルに登録する登録処理を実行させ、
前記アクセス処理では、
前記選択処理にて前記第１方法が選択されていた場合に、前記第１方法で取得された前記認証情報を用いて前記クラウドサーバにアクセスし、前記選択処理にて前記第１方法が選択されていなかった場合に、前記登録処理によって前記ワークフローの識別情報と関連付けられた前記認証情報を前記第２テーブルから読み出し、読み出した前記認証情報を用いて前記クラウドサーバにアクセスする、
ことを特徴とするアプリケーションプログラム。
【請求項３】
請求項２に記載するアプリケーションプログラムにおいて、
前記登録処理では、
前記選択処理にて前記第１方法が選択された場合も、前記第１方法によって取得された前記認証情報と、前記インポート指示の対象となった前記ワークフローの識別情報とを関連付けて前記第２テーブルに登録し、
前記アクセス処理では、
前記選択処理にて前記第１方法が選択されていた場合に、前記登録処理によって前記ワークフローの識別情報と関連付けられた前記認証情報を前記第２テーブルから読み出し、読み出した前記認証情報を用いて前記クラウドサーバにアクセスする、
ことを特徴とするアプリケーションプログラム。
【請求項４】
請求項２または請求項３に記載するアプリケーションプログラムにおいて、
前記第２テーブルには、複数のワークフローを登録可能であり、
前記複数の取得方法には、第２方法が含まれ、
前記第２方法は、前記第２テーブルから前記認証情報を取得する取得方法であり、
前記登録処理では、
前記選択処理にて前記第２方法が選択された場合、前記インポート指示の対象となったワークフローに設定されているクラウドサーバと同じクラウドサーバを利用する別のワークフローの識別情報が前記第２テーブルに有る場合に、前記第２方法として、前記第２テーブルから前記別のワークフローに関連付けられた認証情報を取得し、前記インポート指示の対象となった前記ワークフローの識別情報を、取得した前記認証情報と関連付けて前記第２テーブルに登録する、
ことを特徴とするアプリケーションプログラム。
【請求項５】
請求項２から請求項４のいずれか１つに記載するアプリケーションプログラムにおいて、
前記複数の取得方法には、第３方法が含まれ、
前記第３方法は、前記クラウドサーバから新たに認証情報を取得する取得方法であり、
前記登録処理では、
前記選択処理にて前記第３方法が選択された場合、前記第３方法として、前記インポート指示の対象となったワークフローに設定されているクラウドサーバへのアクセスに必要な情報の入力を受け付け、入力された前記情報を用いてそのクラウドサーバにアクセスし、そのクラウドサーバから新たに認証情報を取得し、前記インポート指示の対象となった前記ワークフローの識別情報を、取得した前記認証情報と関連付けて前記第２テーブルに登録する、
ことを特徴とするアプリケーションプログラム。
【請求項６】
請求項２から請求項５のいずれか１つに記載するアプリケーションプログラムにおいて、
前記情報処理装置には、前記クラウドサーバを利用する別のアプリケーションプログラムが組み込まれており、前記別のアプリケーションプログラムは、前記クラウドサーバにアクセスする場合、前記情報処理装置のメモリに記憶されたテーブルであって、前記クラウドサーバの識別情報と前記認証情報とを関連付けた前記テーブルである第３テーブルから前記認証情報を取得し、取得した前記認証情報を用いて前記クラウドサーバにアクセスし、
前記複数の取得方法には、第４方法が含まれ、
前記第４方法は、前記第３テーブルから前記認証情報を取得する取得方法であり、
前記登録処理では、
前記選択処理にて前記第４方法が選択された場合、前記第４方法として、前記第３テーブルの中に前記インポート指示の対象となったワークフローに設定されているクラウドサーバと同じクラウドサーバの識別情報に関連付けられた認証情報を取得し、前記インポート指示の対象となった前記ワークフローの識別情報を、取得した前記認証情報と関連付けて前記第２テーブルに登録する、
ことを特徴とするアプリケーションプログラム。
【請求項７】
請求項２から請求項６のいずれか１つに記載するアプリケーションプログラムにおいて、
前記エクスポートファイルには、前記認証情報を含ませることが可能であり、
前記複数の取得方法には、第５方法が含まれ、
前記第５方法は、前記エクスポートファイルから前記認証情報を取得する取得方法であり、
前記登録処理では、
前記選択処理にて前記第５方法が選択された場合、前記第５方法として、前記エクスポートファイルから前記認証情報を取得し、前記インポート指示の対象となった前記ワークフローの識別情報を、取得した前記認証情報と関連付けて前記第２テーブルに登録する、
ことを特徴とするアプリケーションプログラム。
【請求項８】
請求項７に記載するアプリケーションプログラムにおいて、
前記エクスポートファイルには、前記認証情報が含まれる場合と含まれない場合とがあり、
前記選択処理では、
前記エクスポートファイルに前記認証情報が含まれている場合、前記第５方法を選択する、
ことを特徴とするアプリケーションプログラム。
【請求項９】
請求項１から請求項８のいずれか１つに記載するアプリケーションプログラムにおいて、
前記エクスポートファイルには、前記複数の取得方法の１つを特定する特定情報を含ませることが可能であり、
前記選択処理では、
前記ワークフロー情報を読み込んだ前記エクスポートファイルに前記特定情報が含まれる場合、前記特定情報によって特定される取得方法を選択する、
ことを特徴とするアプリケーションプログラム。
【請求項１０】
請求項９に記載するアプリケーションプログラムにおいて、
前記エクスポートファイルには、前記特定情報によって示される取得方法以外の方法の選択可否を示す変更情報が含まれ、
前記選択処理では、
前記エクスポートファイルに含まれる前記変更情報が選択可を示す場合、前記複数の取得方法の１つを選択させる画面を前記情報処理装置の表示デバイスに表示させ、前記画面を介して取得方法の選択を受け付ける、
ことを特徴とするアプリケーションプログラム。
【請求項１１】
請求項１０に記載するアプリケーションプログラムにおいて、
前記選択処理では、
前記画面での選択肢のデフォルトは、前記特定情報によって特定される取得方法である、
ことを特徴とするアプリケーションプログラム。
【請求項１２】
請求項９から請求項１１のいずれか１つに記載するアプリケーションプログラムにおいて、
前記コンピュータに、
ワークフローのエクスポート指示を受け付けた場合に、前記複数の取得方法のうちの１つの選択を受け付け、選択された取得方法を特定する前記特定情報を、前記エクスポート指示に応じて生成される前記エクスポートファイルに含める付加処理を実行させる、
ことを特徴とするアプリケーションプログラム。
【請求項１３】
コンピュータを備える情報処理装置において、
前記コンピュータは、
画像処理装置およびクラウドサーバを利用する一連の処理であるワークフローを示すワークフロー情報を含むエクスポートファイルから前記ワークフロー情報を読み込む読込処理と、
前記読込処理にて読み込まれた前記ワークフロー情報によって示されるワークフローに対するインポート指示を受け付けた場合に、前記クラウドサーバへの認証に用いる認証情報を取得する複数の取得方法のうち１つを選択する選択処理と、
前記インポート指示の対象となった前記ワークフローの実行指示を受け付けた場合に、前記選択処理で選択された取得方法で取得された認証情報を用いて前記クラウドサーバにアクセスするアクセス処理と、
を実行する、
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示される技術分野は、クラウドサーバを利用するアプリケーションプログラムおよび情報処理装置に関するものである。
【背景技術】
【０００２】
近年、パーソナルコンピュータやスマートフォン等の情報処理装置から、インターネット上のクラウドサーバに、データのアップロードないしダウンロードを行う技術が知られている。例えば、特許文献１には、スキャナで読み取った読取データを、サーバにアップロードする構成が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−４５４６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
クラウドサーバを利用する場合、クラウドサーバから提供される認証情報を用いてクラウドサーバにアクセスする。特許文献１に記載の技術では、この認証情報の取得や利用に関する詳細な開示はなく、改善の余地がある。
【０００５】
本明細書には、クラウドサーバを利用するアプリケーションプログラムであって、クラウドサーバへのアクセスの利便性を向上させる技術を開示する。
【課題を解決するための手段】
【０００６】
この課題の解決を目的としてなされたアプリケーションプログラムは、情報処理装置のコンピュータによって実行可能なアプリケーションプログラムであって、前記コンピュータに、画像処理装置およびクラウドサーバを利用する一連の処理であるワークフローを示すワークフロー情報を含むエクスポートファイルから前記ワークフロー情報を読み込む読込処理と、前記読込処理にて読み込まれた前記ワークフロー情報によって示されるワークフローに対するインポート指示を受け付けた場合に、前記クラウドサーバへの認証に用いる認証情報を取得する複数の取得方法のうち１つを選択する選択処理と、前記インポート指示の対象となった前記ワークフローの実行指示を受け付けた場合に、前記選択処理で選択された取得方法で取得された認証情報を用いて前記クラウドサーバにアクセスするアクセス処理と、を実行させる、ことを特徴としている。
【０００７】
本明細書に開示されるアプリケーションプログラムは、ワークフローをインポートする際に、複数の取得方法から認証情報の取得方法を選択し、選択された取得方法によって取得された認証情報を用いて、クラウドサーバにアクセスする。つまり、ワークフローごとに、クラウドサーバへアクセスするための認証情報を使い分けることができることから、ユーザの利便性が高まることが期待できる。
【０００８】
上記アプリケーションプログラムが組み込まれた情報処理装置、アプリケーションプログラムを格納するコンピュータにて読取可能な記憶媒体、及びアプリケーションプログラムの機能を実現するための制御方法も、新規で有用である。
【発明の効果】
【０００９】
本明細書に開示される技術によれば、クラウドサーバを利用するアプリケーションプログラムであって、クラウドサーバへのアクセスの利便性を向上させる技術が実現される。
【図面の簡単な説明】
【００１０】
【図１】ＰＣの電気的構成を示すブロック図である。
【図２】ワークフローテーブルの例を示す説明図である。
【図３】認証情報テーブルの例を示す説明図である。
【図４】固有トークンテーブルの例を示す説明図である。
【図５】エクスポート処理の手順を示すフローチャートである。
【図６】認証形式の選択画面の例を示す説明図である。
【図７】インポート処理の手順を示すフローチャートである。
【図８】認証形式の選択画面の例を示す説明図である。
【図９】認証形式の変更不可画面の例を示す説明図である。
【図１０】トークン決定処理の手順を示すフローチャートである。
【図１１】ワークフロー実行処理の手順を示すフローチャートである。
【図１２】別アプリとトークンを共有する構成の例を示す説明図である。
【発明を実施するための形態】
【００１１】
アプリケーションプログラム（以下、「アプリ」とする）を具体化した実施の形態について、添付図面を参照しつつ詳細に説明する。本形態は、パーソナルコンピュータ（以下、「ＰＣ」とする）にて実行されるアプリであって、読取機能を有するデバイスを制御するスキャンアプリを開示するものである。
【００１２】
本形態のＰＣ１は、図１に示すように、スキャナ２やインターネット１００に接続され、スキャナ２やインターネット１００を利用して各種のプログラムを実行可能な装置である。ＰＣ１は、情報処理装置の一例である。ＰＣ１に代えて、例えば、タブレットコンピュータ、スマートフォンであってもよい。
【００１３】
スキャナ２は、原稿の画像を読み取って画像データを取得し、取得した画像データをＰＣ１に送信する機能を有する。スキャナ２は、画像処理装置の一例である。ＰＣ１に接続されるスキャナ２は、１台に限らず、複数台でも良い。また、ＰＣ１には、スキャナに限らず、コピー機、複合機、ＦＡＸ装置、デジタルカメラ等、画像データを取得してＰＣ１に送信できる装置が接続されていればよい。
【００１４】
本形態のＰＣ１は、スキャナ２から送信される画像データを受信する機能と、クラウドサーバにアクセスする機能と、を有する。ＰＣ１は、例えば、図１に示すように、インターネット１００を介して、クラウドサーバ１０１と、クラウドサーバ１０２と、に接続される。図１では、ＰＣ１に２つのクラウドサーバ１０１と１０２が接続されている状態を例示しているが、アクセス可能なクラウドサーバの数はさらに多く、実際に接続されるクラウドサーバの数は限定されない。
【００１５】
ＰＣ１のユーザは、ＰＣ１を介して、各クラウドサーバによって提供されるサービスを利用できる。各クラウドサーバを利用するサービスは、１以上のストレージサーバや認証用サーバを管理し、管理するストレージサーバに対するデータのアップロードやダウンロードのサービスを提供する。ストレージサーバの１つが認証サーバを兼ねていても良い。以下では、１つのサービスにて管理されるストレージサーバや認証用サーバを区別せず、まとめて「クラウドサーバ」と呼ぶ。
【００１６】
本形態のＰＣ１は、図１に示すように、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、不揮発性メモリ１４と、を含む制御基板１０を備えている。さらに、ユーザインタフェース（以下、「ユーザＩＦ」とする）１５と、ネットワークインタフェース（以下、「ネットワークＩＦ」とする）１６と、ＵＳＢインタフェース（以下、「ＵＳＢ−ＩＦ」とする）１７と、を備え、これらが制御基板１０に電気的に接続されている。ＣＰＵ１１は、コンピュータの一例である。ＣＰＵ１１のバッファ、ＲＯＭ１２、ＲＡＭ１３、不揮発性メモリ１４は、メモリの一例である。
【００１７】
ＲＯＭ１２には、ＰＣ１を起動するための起動プログラム等が記憶されている。ＲＡＭ１３は、各種の処理が実行される際の作業領域として、あるいは、データを一時的に記憶する記憶領域として利用される。不揮発性メモリ１４は、例えば、ＨＤＤ、フラッシュメモリであり、各種のプログラムや画像データ等のデータや各種設定を記憶する領域として利用される。
【００１８】
ＣＰＵ１１は、ＲＯＭ１２や不揮発性メモリ１４から読み出したプログラムに従って、また、ユーザの操作に基づいて、各種の処理を実行する。なお、図１中の制御基板１０は、ＰＣ１の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にＰＣ１に存在する単一のハードウェアを表すとは限らない。
【００１９】
ユーザＩＦ１５は、ユーザによる操作を受け付けるとともに情報の表示を行うハードウェアを含む。すなわち、ユーザＩＦ１５は、入力受け付け機能と表示機能との両方を備える。ユーザＩＦ１５は、表示デバイスの一例である。ユーザＩＦ１５は、タッチパネル等の入力機能と表示機能との両方を備えるデバイスであっても良いし、ディスプレイとキーボードやマウスとの組み合わせであっても良い。
【００２０】
ネットワークＩＦ１６は、インターネット１００を介してクラウドサーバ等の外部装置と通信を行うためのハードウェアを含む。ネットワークＩＦ１６の通信方式は、無線でも有線でもよく、ＬＡＮ、Ｗｉ−Ｆｉ（登録商標）など、どのような規格の方式でもよい。また、ＵＳＢ−ＩＦ１７は、スキャナ２との通信を行うためのハードウェアを含む。なお、スキャナ２との通信方式は、ネットワークＩＦ１６によるものであっても良い。
【００２１】
ＰＣ１の不揮発性メモリ１４には、オペレーティングシステム（以下、「ＯＳ」とする）４０と、スキャンアプリ４１と、ブラウザ４２と、を含む、各種のプログラムやデータが記憶されている。ＯＳ４０の一部は、ＲＯＭ１２に含まれていてもよい。スキャンアプリ４１は、スキャナ２を利用した各種の処理を行うプログラムである。スキャンアプリ４１の詳細に付いては、後述する。ブラウザ４２は、ウェブページを表示するプログラムである。
【００２２】
なお、スキャンアプリ４１が記憶される媒体は、不揮発性メモリ１４に限らない。また、メモリの一例、および、スキャンアプリ４１が記憶される媒体は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００２３】
続いて、本形態のスキャンアプリ４１について説明する。スキャンアプリ４１は、ユーザの指示に基づいて、スキャナ２への読み取り設定や読み取り実行の指示等の送信、スキャナ２にて読み取った画像データの受信や表示、受信した画像データの保存等を行うプログラムである。
【００２４】
なお、以下の説明における処理およびフローチャートの各処理ステップは、基本的に、スキャンアプリ４１などのプログラムに記述された命令に従ったＣＰＵ１１の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」等の処理は、ＣＰＵ１１の処理を表している。ＣＰＵ１１による処理は、ＰＣ１のＯＳ４０の他のモジュールとデータ交換するためのＩＦ（ＡＰＩとも呼ばれる）を用いたハードウェア制御も含む。本明細書では、ＯＳ４０の記載を省略して各プログラムの動作を説明する。すなわち、以下の説明において、「プログラムＰがハードウェアＨを制御する」という趣旨の記載は、「プログラムＰがＯＳ４０のＡＰＩを用いてハードウェアＨを制御する」ことを指してもよい。
【００２５】
なお、「取得」は要求を必須とはしない概念で用いる。すなわち、ＣＰＵ１１が要求することなくデータを受信するという処理も、「ＣＰＵ１１がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「要求する」、「指示する」とは、要求していることを示す情報や、指示していることを示す情報を相手に出力することを示す概念である。また、要求していることを示す情報や指示していることを示す情報のことを、単に、「要求」、「指示」とも記載する。
【００２６】
また、プログラムに記述された命令に従ったＣＰＵ１１の処理を、省略した文言で記載することがある。例えば、「ＣＰＵ１１が行う」、「スキャンアプリ４１が行う」のように記載することがある。また、プログラムに記述された命令に従ったＣＰＵ１１の処理を、「プログラムＡが行う」のようにＣＰＵを省略した文言で記載することがある。また、ＣＰＵ１１による処理であって、情報Ａが事柄Ｂであることを示しているか否かを判断する処理を、「情報Ａから、事柄Ｂであるか否かを判断する」のように概念的に記載することがある。また、ＣＰＵ１１による処理であって、情報Ａが事柄Ｂであることを示しているか、事柄Ｃであることを示しているかを判断する処理を、「情報Ａから、事柄Ｂであるか事柄Ｃであるかを判断する」のように概念的に記載することがある。
【００２７】
本形態のスキャンアプリ４１は、ワークフローに関する各種の処理の指示を受け付ける。ワークフローは、スキャンと保存とを含む一連の処理の情報である。具体的には、ワークフローには、スキャナ２に原稿の画像を読み取らせる際の各種の設定であるスキャン設定の情報と、読み取り結果である画像データを保存する保存先を示す情報を含む保存設定の情報とが含まれる。
【００２８】
本形態のスキャンアプリ４１は、例えば、ワークフローの作成や実行の指示を受け付ける。スキャンアプリ４１は、不揮発性メモリ１４内の所定の領域に、例えば、図２に示すようなワークフローテーブル８１を備え、ユーザの指示に基づいて作成した各ワークフローの情報をワークフローレコードとしてワークフローテーブル８１に記憶する。また、ユーザによるワークフローの指定とその実行の指示に基づいて、指定されたワークフローのワークフローレコードをワークフローテーブル８１から読み出し、ワークフローレコードに含まれるスキャン設定の情報に基づくスキャン動作と保存設定の情報に基づく保存動作とを実行する。
【００２９】
なお、以下では、「ワークフローレコード」を、単に、「ワークフロー」と記載する。すなわち、「ワークフローを記憶する」とは、「ワークフローの情報をワークフローレコードとして記憶する」という意味であり、「ワークフローを実行する」とは、「ワークフローレコードが示すワークフローを実行する」という意味である。
【００３０】
ワークフローテーブル８１について説明する。図２に示すワークフローテーブル８１は、複数のワークフローのそれぞれについて、ワークフローの名称８１１と、スキャン設定８１２と、保存先８１３と、保存場所８１４と、使用トークン８１５と、を含む。ワークフローの名称８１１は、各ワークフローを識別する情報である。スキャン設定８１２は、スキャンを実行させるスキャナの指定の他、読取解像度、カラー読み取りかモノクロ読み取りかの設定など、スキャンに関する設定を含む情報である。
【００３１】
保存先８１３は、クラウドサーバへの保存か、ＰＣへの保存かを区別する情報である。本形態のスキャンアプリ４１は、画像データの保存先として、ＰＣ１の不揮発性メモリ１４への保存と所定のクラウドサーバへのアップロードとの選択を受け付ける。保存場所８１４は、保存先８１３がＰＣへの保存であれば、保存場所のフォルダを示す情報であり、保存先８１３がクラウドサーバへの保存であれば、アップロードするサービスを示す情報である。スキャンアプリ４１にはアップロード可能な複数のサービスが登録されており、スキャンアプリ４１は、そのうちの１つの選択を受け付けると、保存場所８１４として、ユーザによって選択されたサービスの情報を記憶する。
【００３２】
使用トークン８１５は、保存先８１３がクラウドサーバへの保存である場合に、当該ワークフローにて使用するトークンの取得方法を示す情報である。クラウドサーバへのアップロードには、認証手続きが必要である。クラウドサーバを管理する各サービスは、例えば、ＯＡｕｔｈ２．０を用いた認証方式による管理システムを備えている。ＯＡｕｔｈ２．０を用いた認証方式では、予めユーザのアカウント情報をクラウドサーバに送信することでサービスから発行されたトークンを取得しておき、当該サービスの利用に際して、取得したトークンを添付してリクエストを送信する。トークンは、認証情報の一例である。
【００３３】
使用トークン８１５について説明する。本形態のスキャンアプリ４１は、認証手続きが行われてトークンを取得した場合、例えば、図３に示すような認証情報テーブル８２として、取得したトークンを、サービスを示す情報に関連付けて不揮発性メモリ１４に記憶させる。図３中で、「サービスＡ」等は、サービスを示す情報であり、「トークンＡ」等は、該当するサービスを利用するためのトークンを示す情報である。図３は、スキャンアプリ４１にて利用可能な３種類のサービスのうち、「サービスＡ」と「サービスＢ」のトークンが取得済みであって、それぞれのトークンが記憶されており、「サービスＣ」についてはトークンが未取得である状態の例である。認証情報テーブル８２は、第１テーブルの一例である。
【００３４】
スキャンアプリ４１は、認証手続きが完了しているサービスへのアップロードに際しては、認証情報テーブル８２に記憶しているトークンを使用することができる。つまり、スキャンアプリ４１は、ワークフローを用いずにクラウドサーバへのアップロードの指示を受け付けた場合、当該サービスのトークンが認証情報テーブル８２に記憶されていれば、認証情報テーブル８２から読み出したトークンを添付して当該サービスへリクエストを送信することができる。認証情報テーブル８２に記憶されているトークンは、スキャンアプリ４１が当該サービスを利用する際に共通して使用されるデフォルトのトークンである。図２に示すワークフローテーブル８１では、認証情報テーブル８２から読み出したトークンを使用するワークフローについて、使用トークン８１５として「デフォルト」を示す情報が記憶される。
【００３５】
一方、同じサービスを利用する場合でも、ワークフローの実行時には、デフォルトのトークンとは異なるアカウントを使用したい場合もある。例えば、複数人で共用するＰＣで実行するワークフローの場合や、作成したワークフローを複数人で共用する場合には、共有のアカウントをデフォルトのアカウントとし、デフォルトのアカウントとは異なるアカウントを個人のアカウントとすることが考えられる。スキャンアプリ４１は、ワークフローの実行時に用いるトークンとして、認証情報テーブル８２に記憶しているデフォルトのトークンを取得した際のアカウント以外のアカウントにて取得したトークンである、固有のトークンの使用を受け付ける。図２に示すワークフローテーブル８１では、デフォルト以外の固有のトークンを使用するワークフローについて、使用トークン８１５として「固有」を示す情報が記憶される。
【００３６】
図２に示すワークフローテーブル８１の使用トークン８１５は、固有のトークンを用いるかデフォルトのトークンを用いるかの別を示す情報が記憶される。トークン自体は、ワークフローテーブル８１には記憶されない。なお、スキャンアプリ４１は、固有のアカウントでの認証手続きによって取得された固有のトークンを、そのトークンを使用するワークフローの識別情報と関連付けて、例えば、図４に示すような固有トークンテーブル８３に記憶する。図４中で、「スキャンアップＢ」等は、ワークフローを示す情報であり、「トークンＣ」等は、該当するワークフローの実行時に使用するトークンを示す情報である。図４の例では、名称が「スキャンアップＢ」、「スキャンアップＣ」のワークフローにそれぞれ、固有のトークンが登録されている。固有トークンテーブル８３は、第２テーブルの一例である。なお、固有トークンテーブル８３には、複数のワークフローを登録可能である。
【００３７】
なお、固有トークンテーブル８３に記憶されているトークンは、例えば、他のワークフローの作成時にそのワークフローの識別情報と関連付けて記憶された固有のトークンである。また、固有トークンテーブル８３に記憶されているトークンは、期限切れなどの理由で、後述するように更新されても良い。
【００３８】
本形態のスキャンアプリ４１は、ワークフローに関する処理として、ワークフローの作成や実行の他、作成したワークフローのエクスポート、エクスポートされたワークフローのインポート、の各指示を受け付ける。ワークフローのエクスポートは、ワークフローテーブル８１に記憶されているワークフローの情報を所定のファイル形式のファイルとして、スキャンアプリ４１の外の領域に記憶させる処理である。ワークフローのインポートは、エクスポートされたファイルを読み込み、スキャンアプリ４１にて使用する形式としてワークフローテーブル８１に記憶する処理である。
【００３９】
本形態のスキャンアプリ４１においてワークフローをエクスポートするエクスポート処理の手順について、図５のフローチャートを参照して説明する。このエクスポート処理は、スキャンアプリ４１にてワークフローの指定と指定されたワークフローをエクスポートするエクスポート指示とを受け付けたことを契機に、ＣＰＵ１１にて実行される。以下では、エクスポート指示にて指定されたワークフローは、クラウドサーバのサービスを利用するワークフローであるものとして説明する。
【００４０】
エクスポート処理では、ＣＰＵ１１は、エクスポートの対象として指定されたワークフローをワークフローテーブル８１から読み出す（Ｓ１０１）。そして、ＣＰＵ１１は、エクスポートするワークフローに設定する認証形式を選択させる画面を、ユーザＩＦ１５に表示させる（Ｓ１０２）。認証形式は、ワークフローをインポートしたスキャンアプリ４１にてインポートしたワークフローを実行する場合に、クラウドサーバのサービスを利用するために使用するトークンの取得方法の種類である。スキャンアプリ４１では、認証形式の情報をエクスポートファイルに含ませることができる。
【００４１】
認証形式の選択画面の例を図６に示す。図６に示す選択画面５１では、３種類の認証形式から１つを選択する選択ボタン５１１と、インポート時の認証形式の変更を許容しない設定を受け付ける設定欄５１２と、が表示されている。選択画面５１の選択ボタン５１１としては、例えば、（Ａ）インポート先のデフォルト、（Ｂ）インポート時にトークン取得、（Ｃ）トークンの埋め込み、の３種類の選択肢が表示される。ＣＰＵ１１は、選択ボタン５１１のうちから１つの選択を受け付ける。
【００４２】
（Ａ）は、デフォルトのトークン、すなわち、インポート先のスキャンアプリ４１の認証情報テーブル８２に記憶されているトークンを使用することを示す。（Ｂ）は、このエクスポートファイルをインポートした時に、インポートしたユーザに、個別にトークンを取得する動作を促すことを示す。（Ｃ）は、エクスポートファイルにトークンを含ませることを示す。
【００４３】
（Ａ）は、例えば、複数のＰＣでスキャンアプリ４１を使用しているユーザが同じワークフローを他のＰＣで使用したい場合や、インポート先のそれぞれのアカウントでワークフローを使用してもらいたい場合に選択される。（Ｂ）は、例えば、スキャンアプリ４１でクラウドサーバへのアップロードを初めて使用するユーザに渡すエクスポートファイルで選択される。（Ａ）と（Ｂ）が選択された場合、エクスポートファイルにはトークンが含まれていないので、エクスポートによるトークンの漏洩の可能性は無い。
【００４４】
一方、（Ｃ）が選択された場合、作成されたエクスポートファイルには、サービスを使用するためのトークンが含まれる。（Ｃ）は、例えば、アカウントの情報を公開せずに、複数のユーザで同じアカウントを使用する場合に選択される。（Ｃ）が選択されて作成されたエクスポートファイルをインポートした場合、インポート時にトークンも取得できることから、認証手続きを必要としない。
【００４５】
図５のエクスポート処理の説明に戻る。ＣＰＵ１１は、表示させた選択画面５１にて、認証形式の選択を受け付けたか否かを判断する（Ｓ１０３）。選択を受け付けていないと判断した場合（Ｓ１０３：ＮＯ）、ＣＰＵ１１は、受け付けるまで待機する。選択を受け付けたと判断した場合（Ｓ１０３：ＹＥＳ）、ＣＰＵ１１は、選択画面５１に（Ｃ）で示したトークンを埋め込む認証形式が選択されたか否かを判断する（Ｓ１０４）。
【００４６】
（Ｃ）、すなわちトークンを埋め込む認証形式が選択されたと判断した場合（Ｓ１０４：ＹＥＳ）、ＣＰＵ１１は、エクスポートするワークフローの情報にトークンを追加する（Ｓ１０５）。具体的には、エクスポートするワークフローの使用トークン８１５が「デフォルト」であれば、認証情報テーブル８２から該当するトークンを読み出して、エクスポートファイルに追加する。また、エクスポートするワークフローの使用トークン８１５が「固有」であれば、固有トークンテーブル８３から該当するトークンを読み出して、エクスポートファイルに追加する。
【００４７】
一方、トークンを埋め込む認証形式が選択されていないと判断した場合（Ｓ１０４：ＮＯ）、ＣＰＵ１１は、エクスポートするワークフローの情報に認証形式を示す情報を追加する（Ｓ１０６）。認証形式を示す情報は、選択画面５１にて（Ａ）が選択されたか（Ｂ）が選択されたかを示す情報である。認証形式を示す情報は、特定情報の一例である。
【００４８】
そして、ＣＰＵ１１は、選択画面５１の設定欄５１２にて、インポート時の認証形式の変更を不可とする設定を受け付けたか否かを判断する（Ｓ１０７）。変更を不可とする設定を受け付けたと判断した場合（Ｓ１０７：ＹＥＳ）、ＣＰＵ１１は、エクスポートするワークフローの情報に変更不可情報を追加する（Ｓ１０８）。変更不可情報は、インポート時に認証形式の変更を許可しないことを示す情報である。変更不可情報は、変更情報の一例である。なお、変更不可の場合に変更不可情報を追加する代わりに、認証形式の選択可否を示す情報を追加しても良い。つまり、変更可能とする場合にも情報を追加しても良い。
【００４９】
Ｓ１０８の後、または、変更を不可とする設定を受け付けていないと判断した場合（Ｓ１０７：ＮＯ）、ＣＰＵ１１は、エクスポートファイルを作成する（Ｓ１０９）。エクスポートファイルには、指定されたワークフローに含まれるスキャン設定や保存設定の他、Ｓ１０５、Ｓ１０６、Ｓ１０８にて追加された認証に関する情報が含まれる。Ｓ１０９は、付加処理の一例である。さらに、ＣＰＵ１１は、作成したエクスポートファイルを指定された場所に記憶し（Ｓ１１０）、エクスポート処理を終了する。
【００５０】
次に、本形態のスキャンアプリ４１においてワークフローをインポートするインポート処理の手順について、図７のフローチャートを参照して説明する。このインポート処理は、スキャンアプリ４１にてエクスポートファイルの指定とインポートを実行するインポート指示とを受け付けたことを契機に、ＣＰＵ１１にて実行される。以下では、インポート指示の対象となったワークフローは、クラウドサーバのサービスを利用するワークフローであるものとして説明する。
【００５１】
インポート処理では、ＣＰＵ１１は、指定されたエクスポートファイルを読み込む（Ｓ２０１）。Ｓ２０１は、読込処理の一例である。エクスポートファイルは、前述したエクスポート処理のＳ１０９にて作成されたファイルであり、ワークフローの設定内容を示す情報であるワークフロー情報と認証形式を示す情報とが含まれる。エクスポートファイルには、さらに、変更不可情報が含まれる場合がある。変更不可情報は、前述したエクスポート処理のＳ１０８にて追加される情報であり、インポート時の認証形式の変更を許可しない情報である。
【００５２】
そして、ＣＰＵ１１は、読み込んだエクスポートファイルに変更不可情報が含まれているか否かを判断する（Ｓ２０２）。変更不可情報が含まれていないと判断した場合（Ｓ２０２：ＮＯ）、ＣＰＵ１１は、インポートするワークフローを実行する際に使用する認証形式の選択を受け付ける画面を、ユーザＩＦ１５に表示させる（Ｓ２０３）。
【００５３】
インポート時の認証形式の選択を受け付ける画面の例を図８に示す。図８に示す選択画面５２では、３種類または４種類の認証形式から１つを選択する選択ボタン５２１が表示される。図８に示す選択画面５２では、使用可能な認証形式として、（Ａ）デフォルトのトークン、（Ｂ）ログインしてトークン取得、（Ｃ）他のワークフローと同じトークン、の３種類が選択可能である。
【００５４】
（Ａ）は、このエクスポートファイルをインポートして実行する場合に、実行するスキャンアプリ４１の認証情報テーブル８２に記憶されているデフォルトのトークンを使用することを示す。（Ｂ）は、インポート時に、ワークフローの実行時に利用するサービスにログインし、個別のトークンを取得することを示す。（Ｃ）は、ワークフローテーブル８１に記憶されているワークフローのうち、インポートするワークフローと同じサービスを利用するワークフローがある場合、そのワークフローにて使用しているトークンをインポートするワークフローでも使用することを示す。
【００５５】
図８に示す選択画面５２を表示させる際、ＣＰＵ１１は、エクスポートファイルに含まれている認証形式を示す情報に基づいて、エクスポートファイルにて指定されている認証形式がデフォルトの選択肢として選択されている状態で選択画面５２を表示させる。エクスポートファイルに含まれる認証形式を示す情報は、エクスポート処理のＳ１０６にて追加される情報である。例えば、図６に示したように、エクスポート時に選択画面５１にて（Ａ）デフォルトのトークンが選択された場合、選択画面５２では、図８に示すように（Ａ）デフォルトのトークンの選択肢が選択状態となる。
【００５６】
さらに、エクスポートファイルにトークンが埋め込まれている場合には、（Ｄ）埋め込まれているトークン、が選択可能である。図８に示す選択画面５２にて破線で囲んだ選択肢５２２は、エクスポートファイルにトークンが埋め込まれていない場合には表示されない。前述したエクスポート処理のＳ１０５にてワークフローの情報にトークンが追加されたエクスポートファイルには、トークンが埋め込まれている。（Ｄ）は、エクスポートファイルに埋め込まれているトークンを使用することを示す選択肢であり、エクスポートファイルにトークンが埋め込まれている場合には、ＣＰＵ１１は、（Ｄ）をデフォルトの選択肢とする。
【００５７】
そして、ＣＰＵ１１は、表示した選択画面５２にて、使用するトークンの選択を受け付けたか否かを判断する（Ｓ２０４）。選択を受け付けていないと判断した場合（Ｓ２０４：ＮＯ）、ＣＰＵ１１は、選択を受け付けるまで待機する。
【００５８】
一方、エクスポートファイルに変更不可情報が含まれていると判断した場合（Ｓ２０２：ＹＥＳ）、ＣＰＵ１１は、変更不可を示す変更不可画面をユーザＩＦ１５に表示させる（Ｓ２０５）。
【００５９】
認証形式の変更不可を示す画面の例を図９に示す。図９に示す変更不可画面５３では、エクスポートファイルに設定されている認証形式を示す情報を表示させる。変更不可情報が含まれているエクスポートファイルをインポートする場合、スキャンアプリ４１は、インポート時の認証形式の選択は受け付けない。図９に示す変更不可画面５３にて破線で囲んだ箇所５３１には、エクスポートファイルにて設定されている認証形式を示す情報が表示される。例えば、エクスポート時に選択画面５１にて（Ａ）デフォルトのトークンが指定された場合、変更不可画面５３では、図９に示すように（Ａ）デフォルトのトークンが指定されていることを示す情報が表示される。
【００６０】
選択画面５２にて使用するトークンの選択を受け付けたと判断した場合（Ｓ２０４：ＹＥＳ）、または、Ｓ２０５の後、ＣＰＵ１１は、インポートするワークフローの実行時に使用するトークンの取得方法を決定するトークン決定処理を実行する（Ｓ２０６）。トークン決定処理の手順について、図１０のフローチャートを参照して説明する。
【００６１】
トークン決定処理では、ＣＰＵ１１は、エクスポートファイルに埋め込まれたトークンを使用するか否かを判断する（Ｓ３０１）。エクスポートファイルにトークンが含まれており、かつ変更不可が設定されている場合には、ＣＰＵ１１は、Ｓ３０１にてＹＥＳと判断する。または、エクスポートファイルにトークンが含まれており、かつ選択画面５２にてそのトークンを使用することが選択された場合にも、ＣＰＵ１１は、Ｓ３０１にてＹＥＳと判断する。
【００６２】
エクスポートファイルに埋め込まれたトークンを使用しないと判断した場合（Ｓ３０１：ＮＯ）、ＣＰＵ１１は、ログインしてトークンを取得するか否かを判断する（Ｓ３０２）。エクスポートファイルにトークンが含まれていない場合、または、含まれているトークン以外を使用することが選択された場合、ＣＰＵ１１は、Ｓ３０１にてＮＯと判断する。ログインしてトークンを取得しないと判断した場合（Ｓ３０２：ＮＯ）、ＣＰＵ１１は、他のワークフローと同じトークンを使用するか否かを判断する（Ｓ３０３）。Ｓ３０１〜Ｓ３０３の各処理は、選択処理の一例である。
【００６３】
他のワークフローと同じトークンを使用すると判断した場合（Ｓ３０３：ＹＥＳ）、ＣＰＵ１１は、ワークフローを選択させるための選択画面をユーザＩＦ１５に表示させる（Ｓ３０４）。エクスポートファイルに変更不可が設定されておらず、選択画面５２にて他のワークフローと同じトークンが選択された場合、ＣＰＵ１１は、Ｓ３０３にてＹＥＳと判断する。
【００６４】
Ｓ３０４では、ＣＰＵ１１は、ワークフローテーブル８１に記憶されているワークフローのうち、インポート対象のワークフローと同じサービスを使用するワークフローの抽出を試行し、抽出されたワークフローの名称の一覧をユーザＩＦ１５に表示させる。そして、ＣＰＵ１１は、表示させたワークフローの名称の一覧から、ワークフローの選択を受け付けたか否かを判断する（Ｓ３０５）。選択を受け付けていない場合には（Ｓ３０５：ＮＯ）、ＣＰＵ１１は、受け付けるまで待機する。
【００６５】
ワークフローの選択を受け付けたと判断した場合（Ｓ３０５：ＹＥＳ）、ＣＰＵ１１は、選択されたワークフローに関連付けられたトークンが固有トークンテーブル８３に記憶されているか否かを判断する（Ｓ３０６）。固有トークンテーブル８３にトークンが有ると判断した場合（Ｓ３０６：ＹＥＳ）、ＣＰＵ１１は、そのトークンをインポートするワークフローにて固有のトークンとして使用すると決定する（Ｓ３０７）。他のワークフローに関連付けられたトークンを取得する取得方法は、第２方法の一例である。
【００６６】
なお、Ｓ３０３にてＹＥＳと判断した場合であっても、インポートするワークフローと同じサービスを使用するワークフローがワークフローテーブル８１に記憶されていない場合には、ＣＰＵ１１は、Ｓ３０４とＳ３０５とをスキップして、Ｓ３０６にてＮＯと判断する。
【００６７】
一方、ログインしてトークンを取得すると判断した場合（Ｓ３０２：ＮＯ）、ＣＰＵ１１は、ブラウザ４２（図１参照）を起動して、インポートするワークフローに設定されているサービスのログイン画面を表示させる（Ｓ３０８）。ＣＰＵ１１は、ブラウザ４２を介してユーザ操作によってアカウント情報等の入力を受け付け、受け付けた情報をクラウドサーバに送信する。そして、ＣＰＵ１１は、クラウドサーバからトークンを取得したか否かを判断する（Ｓ３０９）。クラウドサーバからトークンを取得したと判断した場合（Ｓ３０９：ＹＥＳ）、ＣＰＵ１１は、取得したトークンを固有のトークンとして使用すると決定する（Ｓ３０７）。クラウドサーバからトークンを取得する取得方法は、第３方法の一例である。
【００６８】
また、エクスポートファイルに含まれているトークンを使用すると判断した場合（Ｓ３０１：ＹＥＳ）、ＣＰＵ１１は、含まれているトークンを固有のトークンとして使用すると決定する（Ｓ３０７）。エクスポートファイルに含まれているトークンを取得する取得方法は、第５方法の一例である。
【００６９】
Ｓ３０７にて固有のトークンとして使用するトークンの取得方法が決定した後、ＣＰＵ１１は、決定した方法でトークンを取得して、取得したトークンの情報をインポートするワークフローの識別情報と関連付けて固有トークンテーブル８３に登録し（Ｓ３１０）、トークン決定処理を終了して、インポート処理に戻る。Ｓ３１０は、登録処理の一例である。
【００７０】
具体的には、Ｓ３０１にてＹＥＳと判断した場合、エクスポートファイルに含まれているトークンを固有トークンテーブル８３に登録する。Ｓ３０６にてＹＥＳと判断した場合、固有トークンテーブル８３に記憶されているトークンをコピーして固有トークンテーブル８３に登録する。Ｓ３０９にてＹＥＳと判断した場合、クラウドサーバから取得したトークンを固有トークンテーブル８３に登録する。なお、Ｓ３１０では、ＣＰＵ１１は、さらに、インポートするワークフローの使用トークン８１５を「固有」とする。
【００７１】
一方、選択されたワークフローに関連付けられたトークンが固有トークンテーブル８３に記憶されていないと判断した場合（Ｓ３０６：ＮＯ）、または、クラウドサーバからトークンを取得しなかったと判断した場合（Ｓ３０９：ＮＯ）、ＣＰＵ１１は、同じサービスを使用するデフォルトのトークンが認証情報テーブル８２に記憶されているか否かを判断する（Ｓ３１１）。同じサービスのデフォルトのトークンが有ると判断した場合（Ｓ３１１：ＹＥＳ）、ＣＰＵ１１は、そのトークンを使用するか否かを判断する（Ｓ３１２）。ＣＰＵ１１は、例えば、デフォルトのトークンの使用可否をユーザに問い合わせる。
【００７２】
そして、デフォルトのトークンの使用が許可されたと判断した場合（Ｓ３１２：ＹＥＳ）または、他のワークフローと同じトークンを使用しないと判断した場合（Ｓ３０３：ＮＯ）、ＣＰＵ１１は、デフォルトのトークンを使用すると決定し（Ｓ３１３）、トークン決定処理を終了して、インポート処理に戻る。Ｓ３１３では、ＣＰＵ１１は、インポートするワークフローの使用トークン８１５を「デフォルト」とする。デフォルトのトークンを使用する、すなわち、認証情報テーブル８２からトークンを取得する取得方法は、第１方法の一例である。
【００７３】
なお、ＣＰＵ１１は、Ｓ３１３にて、認証情報テーブル８２からトークンを読み出してインポートするワークフローの識別情報と関連付けて固有トークンテーブル８３に登録し、このワークフローの使用トークン８１５を「固有」としても良い。スキャンアプリ４１は、後述するように、使用トークン８１５が「固有」であるワークフローの実行時には、固有トークンテーブル８３からトークンを読み出して使用する。この場合の取得方法も、トークンを認証情報テーブル８２から取得することから、第１方法の一例である。
【００７４】
一方、同じサービスのデフォルトのトークンが無いと判断した場合（Ｓ３１１：ＮＯ）、または、デフォルトのトークンの使用が拒否されたと判断した場合（Ｓ３１２：ＮＯ）、ＣＰＵ１１は、ワークフローのインポートをキャンセルすると決定し（Ｓ３１４）、トークン決定処理を終了して、インポート処理に戻る。
【００７５】
図７のインポート処理の説明に戻る。トークン決定処理の後、トークン決定処理にてインポートをキャンセルすると決定したか否かを判断する（Ｓ２０７）。キャンセルしないと判断した場合（Ｓ２０７：ＮＯ）、ＣＰＵ１１は、インポート対象のワークフローのワークフロー情報と、トークン決定処理にて決定された使用トークン８１５の情報とを、ワークフローの識別情報と関連付けてワークフローテーブル８１に記憶する（Ｓ２０８）。キャンセルすると判断した場合（Ｓ２０７：ＹＥＳ）、または、Ｓ２０８の後、ＣＰＵ１１は、インポート処理を終了する。
【００７６】
なお、エクスポートファイルの作成時に選択可能な認証形式の選択肢は、図６に示した例に限らない。例えば、さらに、インポート先の選択に任せる、という選択肢があっても良い。インポート先の選択に任せることが選択された場合、エクスポートファイルには、インポート先の選択に任せることを示す情報が含まれると良い。また、認証形式を選択せずにエクスポートファイルを作成する、という選択肢があっても良い。認証形式を選択しないことが選択された場合、認証形式の情報を含まないエクスポートファイルとしても良いし、インポート先の選択に任せることを示す情報が含まれるエクスポートファイルとしても良い。さらに、これらのエクスポートファイルを作成する場合には、エクスポートファイルに変更不可情報を含ませないとしても良い。
【００７７】
また、スキャンアプリ４１は、エクスポートファイルの作成時に認証形式の選択を受け付けない仕様であっても良い。そのようなスキャンアプリ４１では、認証形式の情報を含まないエクスポートファイルが作成される。
【００７８】
インポート先の選択に任せることを示す情報が含まれるエクスポートファイル、または、認証形式の情報を含まないエクスポートファイルをインポートする場合、インポート処理では、ＣＰＵ１１は、変更不可情報の有無に関わらずＳ２０３を実行するとしても良い。さらにその場合、ＣＰＵ１１は、認証形式の選択画面に表示されるデフォルトの選択肢を、例えば、図８に示した選択画面５２中の（Ａ）等に固定するとしても良いし、前回実行したインポート処理のＳ２０４にて選択された選択肢としても良い。
【００７９】
続いて、本形態のスキャンアプリ４１においてワークフローを実行するワークフロー実行処理の手順について、図１１のフローチャートを参照して説明する。スキャンアプリ４１は、不揮発性メモリ１４に記憶されているワークフローテーブル８１からワークフローの１つを選択する操作と、選択されたワークフローの実行を指示する操作とを受け付ける。このワークフロー実行処理は、スキャンアプリ４１にて、ワークフローの選択とワークフローの実行指示を受け付けたことを契機に、ＣＰＵ１１にて実行される。
【００８０】
ワークフロー実行処理では、ＣＰＵ１１は、まず、ワークフローテーブル８１から選択されたワークフローのワークフローレコードを読み出す（Ｓ４０１）。ＣＰＵ１１は、読み出した情報に基づいて、選択されたワークフローのスキャン設定８１２に従って、スキャナ２にスキャンを行わせ、画像データを取得する（Ｓ４０２）。
【００８１】
さらに、ＣＰＵ１１は、選択されたワークフローの保存先８１３の情報に基づいて、クラウドサーバへの保存が設定されているか否かを判断する（Ｓ４０３）。クラウドサーバへの保存が設定されていないと判断した場合（Ｓ４０３：ＮＯ）、すなわち、ＰＣへの保存が設定されていると判断した場合、ＣＰＵ１１は、Ｓ４０２にて取得した画像データを、保存場所８１４に指定されているフォルダに保存して（Ｓ４０４）、ワークフロー実行処理を終了する。
【００８２】
一方、クラウドサーバへの保存が設定されていると判断した場合（Ｓ４０３：ＹＥＳ）、ＣＰＵ１１は、使用トークン８１５に「デフォルト」が記憶されているか否かを判断する（Ｓ４０５）。使用トークン８１５が「デフォルト」である、すなわち、デフォルトのトークンを使用すると判断した場合（Ｓ４０５：ＹＥＳ）、ＣＰＵ１１は、保存場所８１４に記憶されているサービスに対応するトークンを、認証情報テーブル８２から読み出す（Ｓ４０６）。
【００８３】
一方、デフォルトのトークンを使用しないと判断した場合（Ｓ４０５：ＮＯ）、つまり、固有のトークンを使用する場合、ＣＰＵ１１は、このワークフローの識別情報に関連付けて記憶されているトークンを、固有トークンテーブル８３から読み出す（Ｓ４０７）。
【００８４】
ＣＰＵ１１は、Ｓ４０６またはＳ４０７にて読み出したトークンが有効であるか否かを判断する（Ｓ４０８）。ＣＰＵ１１は、例えば、前述したインポート処理にて固有トークンテーブル８３にトークンを記憶する際に、トークンの有効期限も記憶し、記憶している有効期限に基づいて、Ｓ４０８の判断を行う。つまり、ＣＰＵ１１は、現在時刻がＳ４０６またはＳ４０７にて読み出したトークンの有効期限を過ぎている場合には、ＣＰＵ１１は、トークンが有効ではないと判断する。あるいは、ＣＰＵ１１は、後述するアップロードのリクエストをクラウドサーバに送信し、その結果に基づいてトークンが有効であるか否かを判断しても良い。その場合、ＣＰＵ１１は、アップロードに成功した場合には、ワークフロー実行処理を終了し、アップロードに失敗した場合には、Ｓ４０８にてＮＯと判断して、Ｓ４０９に進む。
【００８５】
トークンが有効ではないと判断した場合（Ｓ４０８：ＮＯ）、ＣＰＵ１１は、再認証を行う（Ｓ４０９）。ＣＰＵ１１は、例えば、ブラウザ４２を介して指定されたサービスのログイン画面を表示させ、ユーザに再認証を促す。なお、再認証するか否かをユーザに問い合わせても良い。さらに、ＣＰＵ１１は、再認証によってトークンを取得したか否かを判断する（Ｓ４１０）。
【００８６】
再認証に失敗した場合や、再認証を行わない指示を受け付けた場合など、サービスからトークンを取得できなかった場合（Ｓ４１０：ＮＯ）、ＣＰＵ１１は、ワークフローを実行できなかったことを報知して（Ｓ４１１）、ワークフロー実行処理を終了する。なお、この場合、ＣＰＵ１１は、ワークフロー実行処理を終了する前に、Ｓ４０２にて取得した画像データを削除する。
【００８７】
再認証にてトークンを取得したと判断した場合（Ｓ４１０：ＹＥＳ）、ＣＰＵ１１は、取得したトークンを、読み出したトークンに上書きして記憶する（Ｓ４１２）。つまり、Ｓ４０６にて認証情報テーブル８２から読み出したトークンが期限切れであった場合には、認証情報テーブル８２のトークンを更新する。また、Ｓ４０７にて固有トークンテーブル８３から読み出したトークンが期限切れであった場合には、固有トークンテーブル８３のトークンを更新する。
【００８８】
さらに、ＣＰＵ１１は、有効期限切れであったトークンが他のワークフローの固有トークンと共通であるか否かを判断する（Ｓ４１３）。具体的には、ＣＰＵ１１は、固有トークンテーブル８３に記憶されている他のワークフローの識別情報に関連付けて、有効期限切れであったトークンと同じトークンが記憶されているか否かを判断する。他のワークフローと共通のトークンであると判断した場合（Ｓ４１３：ＹＥＳ）、ＣＰＵ１１は、固有トークンテーブル８３の該当するトークンを今回取得したトークンで更新する（Ｓ４１４）。
【００８９】
トークンが有効であると判断した場合（Ｓ４０８：ＹＥＳ）、または、他のワークフローと共通のトークンではないと判断した場合（Ｓ４１３：ＮＯ）、または、Ｓ４１４の後、ＣＰＵ１１は、取得したトークンを用いて、Ｓ４０２にて取得した画像データをサービスにアップロードし（Ｓ４１５）、ワークフロー実行処理を終了する。Ｓ４１５は、アクセス処理の一例である。
【００９０】
なお、ＰＣ１には、クラウドサーバのサービスを利用するアプリであってスキャンアプリ４１以外のアプリである別アプリが備えられていても良い。そして、スキャンアプリ４１は、別アプリとトークンを共有できても良い。ＰＣ１は、例えば、図１２に示すように、スキャンアプリ４１にて管理する認証情報テーブル８２や固有トークンテーブル８３とは別に、スキャンアプリ４１と別アプリとのいずれからも参照可能な所定の領域に、共有トークンテーブル９１を備え、サービスの識別情報と関連付けてトークンの情報を共有トークンテーブル９１に記憶するとしても良い。共有トークンテーブル９１は、第３テーブルの一例である。
【００９１】
この場合、スキャンアプリ４１は、例えば、トークン決定処理のＳ３０３やＳ３０６にてＮＯと判断した場合、作成中のワークフローにて利用するサービスの識別情報と関連付けられたトークンの情報が共有トークンテーブル９１に有れば、共有トークンテーブル９１からトークンの情報を取得して、インポートするワークフローの固有のトークンとして使用しても良い。共有トークンテーブル９１からトークンを取得する取得方法は、第４方法の一例である。
【００９２】
なお、スキャンアプリ４１は、認証情報テーブル８２に代えて、共有トークンテーブル９１を備えても良い。つまり、デフォルトのトークンは、共有トークンテーブル９１に登録されるとしても良い。
【００９３】
以上、詳細に説明したように、本形態のスキャンアプリ４１によれば、ＰＣ１は、ワークフロー情報をインポートする際、トークンの取得方法を選択し、選択された取得方法によって取得されたトークンをクラウドサーバへのアクセスに用いる。これにより、クラウドサーバへアクセスするためのトークンを使い分けることができ、ユーザの利便性が高まる。
【００９４】
例えば、本形態のスキャンアプリ４１は、ワークフロー情報をインポートする際、認証情報テーブル８２に登録されているトークンを取得する取得方法が選択可能であり、この取得方法が選択されなかった場合に認証情報テーブル８２以外からトークンを取得し、取得したトークンをそのワークフローに関連付けて固有トークンテーブル８３に登録する。そして、クラウドサーバにアクセスする際には、デフォルトのトークンが選択されていた場合には、認証情報テーブル８２からトークンを読み出して利用する。デフォルトのトークンが選択されていなかった場合には、固有トークンテーブル８３からトークンを読み出して利用する。これにより、個別のアカウントでクラウドサーバを利用したい場合と、共用のアカウントでクラウドサーバを利用したい場合とに応じてトークンを使い分けることができ、ワークフローを実行する際には、ユーザの認証操作を省略できるとともに、用途に合わせて適切なアカウントでクラウドサーバを利用できる。
【００９５】
また、本形態のスキャンアプリ４１は、認証情報テーブル８２に登録されているトークンの使用が選択されなかった場合、同じクラウドサーバを利用するトークンを固有トークンテーブル８３から読み出して取得する。同じクラウドサーバであれば同じアカウントを利用する可能性が高いことから、そのトークンを読み出すことで、クラウドサーバに実際にアクセスすることなくトークンを取得できる。また、クラウドサーバに実際にアクセスすれば、確実にトークンを取得できる。また、共有トークンテーブル９１が有れば、別アプリと共通のトークンを取得できる。
【００９６】
また、本形態のスキャンアプリ４１では、エクスポートファイルにトークンを含ませることができ、インポート時には、エクスポートファイルから含まれているトークンを取得する取得方法を選択できる。例えば、エクスポートファイルを作成したユーザが別のＰＣで同じワークフローを他のユーザに使用させる場合、エクスポートファイルをインポートするだけで同じトークンを使用できることから、ワークフローを複数のユーザで利用し易くなる。さらに、アカウントを公開する必要がなく、クラウドサーバに実際にアクセスして認証手続きを行う機会を減らすことができる。
【００９７】
また、本形態のスキャンアプリ４１では、エクスポートファイルに認証形式の情報を含ませることができ、インポート時にその情報に従ってトークンを取得できることから、エクスポートファイルを生成したユーザが、インポートされるワークフローで使用される認証形式を選択できる。さらに、エクスポートファイルに変更不可情報を含ませることができることから、エクスポートファイルを生成したユーザの選択を優先できる。一方、変更不可情報が含まれていない場合には、インポートしたユーザの選択が優先される。
【００９８】
なお、本実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、ＰＣ１に接続される画像処理装置は、スキャナ等の画像データを取得する装置に限らず、プリンタ等の画像データに基づく印刷を行う装置であっても良い。つまり、本明細書に開示される技術は、読み取りと保存とを含む一連の処理を記憶するワークフローに限らず、クラウドサーバから画像データをダウンロードして印刷する一連の処理を記憶するワークフローに適用することも可能である。
【００９９】
また、例えば、変更不可情報の有無に関わらず、認証形式の選択は受け付けず（すなわち、Ｓ２０３とＳ２０４とを実行せず）、エクスポートファイルに設定されている情報に基づいてトークンを決定するとしても良い。また、選択可能な認証形式の種類は、図示の例に限らず、より多くの種類から選択できても良いし、より少ない種類であっても良い。また、例えば、認証形式の変更が不可である場合の変更不可画面５３は、表示しなくても良い。
【０１００】
また、例えば、ワークフローテーブル８１の使用トークン８１５の欄は、無くてもよい。その場合には、ワークフロー実行処理では、Ｓ４０５に代えて、固有トークンテーブル８３を検索し、選択されているワークフローの識別情報が記憶されていればＳ４０７に進み、記憶されていなければＳ４０６に進んでデフォルトのトークンを使用するとしても良い。
【０１０１】
また、例えば、他のワークフローと同じアカウントを使用するとの選択を受け付けた場合（Ｓ３０３にてＹＥＳと判断した場合）であっても、同じサービスを使用するワークフローが無い場合や固有のトークンを用いるワークフローが無い場合には、デフォルトのトークンを使用するか否かを判断するとしたが、エラーとしてユーザの再選択を受け付けても良い。また、新規のアカウントを使用するとの選択を受け付けた場合（Ｓ３０２にてＹＥＳと判断した場合）であっても、トークンの取得に失敗した場合には、デフォルトのトークンを使用するか否かを判断するとしたが、エラーとしてユーザの再選択を受け付けても良い。
【０１０２】
また、例えば、トークン決定処理のＳ３１１やＳ３１２にてＮＯと判断した場合、ワークフローのインポートをキャンセルするとしたが、トークンの取得方法を決定しないままでワークフローをインポートしても良い。例えば、固有トークンテーブル８３にトークンを記憶しないで、使用トークン８１５を「固有」としたワークフローを作成しても良い。この場合、ワークフローの実行時には、ワークフロー実行処理のＳ４０７にて読み出しに失敗することから、ＣＰＵ１１は、Ｓ４０８にてＮＯと判断し、Ｓ４０９に進んで再認証の手続きを行うことになる。
【０１０３】
また、例えば、トークン決定処理のＳ３０９にて、新規のアカウントのトークンを取得した場合であって、そのサービスに対するデフォルトのトークンが認証情報テーブル８２に記憶されていない場合には、取得したトークンをデフォルトのトークンとして認証情報テーブル８２に記憶しても良い。また、デフォルトのトークンにするか否かをユーザに問い合わせても良い。
【０１０４】
また、ワークフロー実行処理では、スキャンの実行タイミングは保存方法が決定してからでも良い。具体的には、Ｓ４０４やＳ４１５の直前に行っても良い。
【０１０５】
また、例えば、クラウドサーバは、選択できなくても良い。例えば、スキャンアプリ４１でのアップロードを行うクラウドサーバは、固定であっても良い。また、例えば、認証情報テーブル８２では、サービスの情報だけでなく、ユーザ情報とも関連付けて、トークンを記憶するとしても良い。
【０１０６】
また、例えば、ワークフローテーブル８１や認証情報テーブル８２に記憶されているトークンを読み出した際に、トークンが有効であるか否かを確認しても良い。ＣＰＵ１１は、例えば、クラウドサーバに問い合わせても良い。あるいは、ＣＰＵ１１は、トークンを記憶する際に、有効期限や有効使用回数等の情報をも記憶しておき、読み出したトークンが有効であるか否かを判断しても良い。
【０１０７】
また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
【０１０８】
また、実施の形態に開示されている処理は、単一のＣＰＵ、複数のＣＰＵ、ＡＳＩＣなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【０１０９】
１  ＰＣ
２  スキャナ
１１  ＣＰＵ
１４  不揮発性メモリ
４１  スキャンアプリ
８２  認証情報テーブル
８３  固有トークンテーブル
【図１】
2020145549.tif 000003
【図２】
2020145549.tif 000004
【図３】
2020145549.tif 000005
【図４】
2020145549.tif 000006
【図５】
2020145549.tif 000007
【図６】
2020145549.tif 000008
【図７】
2020145549.tif 000009
【図８】
2020145549.tif 000010
【図９】
2020145549.tif 000011
【図１０】
2020145549.tif 000012
【図１１】
2020145549.tif 000013
【図１２】
2020145549.tif 000014