(57)【特許請求の範囲】
【請求項１】
スキャナを含む入出力デバイスにスキャン処理を行わせるスキャン処理システムであって、
端末装置から前記入出力デバイスにおいて行うスキャン処理のスキャン設定の登録を受け付けるスキャン設定登録手段と、
一意のコード情報を発行する認証管理手段と、
前記入出力デバイスのブラウザからの要求に応じて、画面定義を含むデバイスアプリ情報を前記ブラウザに配信するアプリ配信手段と、
前記端末装置から登録を受け付けた前記スキャン設定と、前記登録に対して前記端末装置に返された前記コード情報と、を対応付けて保存し、前記デバイスアプリ情報に含まれる画面定義に基づいて表示される画面からユーザ操作により前記コード情報が前記入出力デバイスから送信されると、該コード情報と対応付けて保存している前記スキャン設定を前記入出力デバイスに送信して、前記入出力デバイスに前記スキャン設定に従ったスキャン処理を行わせ、前記デバイスアプリ情報に含まれる画面定義に基づいて表示される画面からユーザ操作によりユーザ認証情報が前記ブラウザから送信されると、ユーザ認証に成功したユーザが登録した前記スキャン設定に従ったスキャン処理を前記入出力デバイスに行わせる命令配信手段と、
を有するスキャン処理システム。
【請求項２】
前記端末装置から前記入出力デバイスにスキャン処理を行わせるための一連の処理を含むフローの登録要求を受け付け、前記フローの登録要求に含まれる前記一連の処理のフロー設定に基づき、前記スキャン設定登録手段を含む複数の処理手段に前記一連の処理を行わせるフロー制御手段、
を更に有する請求項１記載のスキャン処理システム。
【請求項３】
前記複数の処理手段は、前記端末装置から前記入出力デバイスにおいて行うスキャン処理のスキャン設定を含む前記フローのパラメータを受け付ける前記スキャン設定登録手段と、
前記入出力デバイスでスキャン処理された画像データを取得する画像データ取得手段と、
前記端末装置が取得可能な保存先に前記画像データを保存する配信処理手段と、
を有することを特徴とする請求項２記載のスキャン処理システム。
【請求項４】
前記命令配信手段は、前記認証管理手段により認証されたユーザのユーザトークンと対応付けて保存されている前記認証されたユーザが登録した前記スキャン設定の一覧を前記入出力デバイスに送信して、ユーザにより選択された前記スキャン設定を前記入出力デバイスに送信し、前記入出力デバイスに前記スキャン設定に従ったスキャン処理を行わせること
を特徴とする請求項１乃至３何れか一項記載のスキャン処理システム。
【請求項５】
スキャナを含む入出力デバイスにスキャン処理を行わせる情報処理装置であって、
端末装置から前記入出力デバイスにおいて行うスキャン処理のスキャン設定の登録を受け付けるスキャン設定登録手段と、
一意のコード情報を発行する認証管理手段と、
前記入出力デバイスのブラウザからの要求に応じて、画面定義を含むデバイスアプリ情報を前記ブラウザに配信するアプリ配信手段と、
前記端末装置から登録を受け付けた前記スキャン設定と、前記登録に対して前記端末装置に返された前記コード情報と、を対応付けて保存し、前記デバイスアプリ情報に含まれる画面定義に基づいて表示される画面からユーザ操作により前記コード情報が前記入出力デバイスから送信されると、該コード情報と対応付けて保存している前記スキャン設定を前記入出力デバイスに送信して、前記入出力デバイスに前記スキャン設定に従ったスキャン処理を行わせ、前記デバイスアプリ情報に含まれる画面定義に基づいて表示される画面からユーザ操作によりユーザ認証情報が前記ブラウザから送信されると、ユーザ認証に成功したユーザが登録した前記スキャン設定に従ったスキャン処理を前記入出力デバイスに行わせる命令配信手段と、
を有する情報処理装置。
【請求項６】
スキャナを含む入出力デバイスにスキャン処理を行わせる情報処理装置を、
端末装置から前記入出力デバイスにおいて行うスキャン処理のスキャン設定の登録を受け付けるスキャン設定登録手段、
一意のコード情報を発行する認証管理手段、
前記入出力デバイスのブラウザからの要求に応じて、画面定義を含むデバイスアプリ情報を前記ブラウザに配信するアプリ配信手段、
前記端末装置から登録を受け付けた前記スキャン設定と、前記登録に対して前記端末装置に返された前記コード情報と、を対応付けて保存し、前記デバイスアプリ情報に含まれる画面定義に基づいて表示される画面からユーザ操作により前記コード情報が前記入出力デバイスから送信されると、該コード情報と対応付けて保存している前記スキャン設定を前記入出力デバイスに送信して、前記入出力デバイスに前記スキャン設定に従ったスキャン処理を行わせ、前記デバイスアプリ情報に含まれる画面定義に基づいて表示される画面からユーザ操作によりユーザ認証情報が前記ブラウザから送信されると、ユーザ認証に成功したユーザが登録した前記スキャン設定に従ったスキャン処理を前記入出力デバイスに行わせる命令配信手段、
として機能させるためのプログラム。
【請求項７】
スキャナを含む入出力デバイスと、該入出力デバイスにスキャン処理を行わせるスキャン処理システムと、を有する情報処理システムであって、
端末装置から前記入出力デバイスにおいて行うスキャン処理のスキャン設定の登録を受け付けるスキャン設定登録手段と、
一意のコード情報を発行する認証管理手段と、
前記入出力デバイスのブラウザからの要求に応じて、画面定義を含むデバイスアプリ情報を前記ブラウザに配信するアプリ配信手段と、
前記端末装置から登録を受け付けた前記スキャン設定と、前記登録に対して前記端末装置に返された前記コード情報と、を対応付けて保存し、前記デバイスアプリ情報に含まれる画面定義に基づいて表示される画面からユーザ操作により前記コード情報が前記入出力デバイスから送信されると、該コード情報と対応付けて保存している前記スキャン設定を前記入出力デバイスに送信して、前記入出力デバイスに前記スキャン設定に従ったスキャン処理を行わせ、前記デバイスアプリ情報に含まれる画面定義に基づいて表示される画面からユーザ操作によりユーザ認証情報が前記ブラウザから送信されると、ユーザ認証に成功したユーザが登録した前記スキャン設定に従ったスキャン処理を前記入出力デバイスに行わせる命令配信手段と、
を有する情報処理システム。
【請求項８】
スキャナを含む入出力デバイスにスキャン処理を行わせるスキャン処理システムにおいて実行される連携処理方法であって、
端末装置から前記入出力デバイスにおいて行うスキャン処理のスキャン設定の登録を受け付けるスキャン設定登録ステップと、
一意のコード情報を発行する認証管理ステップと、
前記入出力デバイスのブラウザからの要求に応じて、画面定義を含むデバイスアプリ情報を前記ブラウザに配信するアプリ配信ステップと、
前記端末装置から登録を受け付けた前記スキャン設定と、前記登録に対して前記端末装置に返された前記コード情報と、を対応付けて保存し、前記デバイスアプリ情報に含まれる画面定義に基づいて表示される画面からユーザ操作により前記コード情報が前記入出力デバイスから送信されると、該コード情報と対応付けて保存している前記スキャン設定を前記入出力デバイスに送信して、前記入出力デバイスに前記スキャン設定に従ったスキャン処理を行わせ、前記デバイスアプリ情報に含まれる画面定義に基づいて表示される画面からユーザ操作によりユーザ認証情報が前記ブラウザから送信されると、ユーザ認証に成功したユーザが登録した前記スキャン設定に従ったスキャン処理を前記入出力デバイスに行わせる命令配信ステップと、
を有する連携処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャン処理システム、情報処理装置、プログラム、情報処理システム及び連携処理方法に関する。
【背景技術】
【０００２】
近年、クラウドコンピューティング等の技術の進歩により多種多様なサービスが提供されるようになった。ＭＦＰのようなドキュメントの入出力デバイスとクラウドのサービスとを連携させて原稿をスキャンし、業務フローを実現するパターンが多数あることは従来から知られている。
【０００３】
例えば画像処理装置が提供するサービス（画像処理機能）と、クラウドシステムの提供するサービスを連携させて利用するシステムがあった（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、入出力デバイスとクラウドのサービスを提供するサービス提供システムとが連携してスキャンを行うフローの場合、ユーザは解像度や保存指定などのスキャン設定を入出力デバイス側で行うため、スキャン操作が煩雑であるという問題があった。
【０００５】
本発明の一実施形態は、上記の点に鑑みてなされたものであり、入出力デバイス側でのスキャン操作の手間を低減できるスキャン処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の一実施形態は、スキャナを含む入出力デバイスにスキャン処理を行わせるスキャン処理システムであって、端末装置から前記入出力デバイスにおいて行うスキャン処理のスキャン設定の登録を受け付けるスキャン設定登録手段と、一意のコード情報を発行する認証管理手段と、前記入出力デバイスのブラウザからの要求に応じて、画面定義を含むデバイスアプリ情報を前記ブラウザに配信するアプリ配信手段と、前記端末装置から登録を受け付けた前記スキャン設定と、前記登録に対して前記端末装置に返された前記コード情報と、を対応付けて保存し、前記デバイスアプリ情報に含まれる画面定義に基づいて表示される画面からユーザ操作により前記コード情報が前記入出力デバイスから送信されると、該コード情報と対応付けて保存している前記スキャン設定を前記入出力デバイスに送信して、前記入出力デバイスに前記スキャン設定に従ったスキャン処理を行わせ、前記デバイスアプリ情報に含まれる画面定義に基づいて表示される画面からユーザ操作によりユーザ認証情報が前記ブラウザから送信されると、ユーザ認証に成功したユーザが登録した前記スキャン設定に従ったスキャン処理を前記入出力デバイスに行わせる命令配信手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明の一実施形態によれば入出力デバイス側でのスキャン操作の手間を低減できる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態に係る情報処理システムの一例の構成図である。
【図２】第１の実施形態に係るコンピュータの一例のハードウェア構成図である。
【図３】第１の実施形態に係る画像形成装置の一例のハードウェア構成図である。
【図４】第１の実施形態に係る情報処理システムの一例の処理ブロック図である。
【図５】ＰＩＮコードを用いて行うスキャン配信処理の一例のシーケンス図（１／２）である。
【図６】ＰＩＮコードを用いて行うスキャン配信処理の一例のシーケンス図（２／２）である。
【図７】各種パラメータの関係について説明する図である。
【図８】フローパラメータの一例の説明図である。
【図９】ジョブパラメータの一例の説明図である。
【図１０】コマンドパラメータの一例の説明図である。
【図１１】ファイルパラメータの一例の説明図である。
【図１２】コマンドパラメータとＰＩＮコードとを対応付けるテーブルの一例の構成図である。
【図１３】外部アプリケーションにおけるアプリ登録時の一例の画面遷移図である。
【図１４】外部アプリケーションにおけるスキャンジョブ登録時の一例の画面遷移図である。
【図１５】ブラウザにおけるスキャンジョブ実行時の一例の画面遷移図である。
【図１６】ログインして行うスキャン配信処理の一例のシーケンス図である。
【図１７】ブラウザにおけるスキャンジョブ実行時の他の例の画面遷移図である。
【図１８】第３の実施形態に係る情報処理システムの一例の処理ブロック図である。
【図１９】サインインして行うスキャン登録処理の一例のシーケンス図である。
【図２０】コマンド登録リクエスト及びコマンド登録レスポンスの一例を示す構成図である。
【図２１】スキャン実行処理の一例のシーケンス図である。
【図２２】コマンド状態取得・結果取得処理の一例のシーケンス図である。
【図２３】コマンド状態取得リクエスト及びコマンド状態取得レスポンスの一例を示す構成図である。
【図２４】スキャンファイル取得リクエスト及びスキャンファイル取得レスポンスの一例を示す構成図である。
【図２５】第４の実施形態に係る情報処理システムの一例の構成図である。
【図２６】第４の実施形態に係る情報処理システムの一例の処理ブロック図である。
【図２７】スキャンファイルの一例の構成図である。
【図２８】分類情報の一例の構成図である。
【図２９】スキャンファイルの保存先や保管方法を決定する処理の一例のフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面を参照しながら詳細に説明する。
【００１０】
［第１の実施形態］
＜システム構成＞
図１は、第１の実施形態に係る情報処理システムの一例の構成図である。図１に示される情報処理システム１はサービス提供環境Ｅ１、ユーザ環境Ｅ２及び外部ストレージシステム４０を含み、インターネット等の広域的なネットワークＮ１を介して通信可能に接続されている。
【００１１】
サービス提供環境Ｅ１は、ネットワークＮ１を介してクラウドサービス等のサービスを提供するシステム環境である。本実施形態では、サービスの一例としてクラウドサービスを採用して説明するが、ＡＳＰ（Application Service Provider）により提供されるサービスやＷｅｂサービス等のサービスであってもよい。
【００１２】
サービス提供環境Ｅ１は、一台以上の情報処理装置で実現されるサービス提供システム１０を有する。サービス提供システム１０は、ネットワークＮ１を介して所定のサービスを提供する。例えば、サービス提供システム１０は、ユーザ環境Ｅ２の画像形成装置２０において原稿をスキャンして生成された電子ファイルを、外部ストレージシステム４０に保存するサービス（スキャン配信サービス）を提供する。第１の実施形態に係る情報処理システム１では、サービス提供システム１０が、このようなスキャン配信サービスを提供するものとして説明する。
【００１３】
なお、サービス提供システム１０の全部又は一部は、ユーザ環境Ｅ２に設置されていてもよい。すなわち、サービス提供システム１０を構成する情報処理装置の全部又は一部はユーザ環境Ｅ２に包含されていてもよい。
【００１４】
ユーザ環境Ｅ２は、例えば画像形成装置２０を使用するユーザである企業等のシステム環境である。ユーザ環境Ｅ２は、画像形成装置２０、端末装置３０が例えばＬＡＮなどのネットワークＮ２を介して接続されている。第１の実施形態に係る画像形成装置２０はスキャン機能を有する装置である。なお、画像形成装置２０はスキャン機能以外にプリント機能、コピー機能やファックス（ＦＡＸ）通信機能などを備える複合機などの電子機器であってもよい。第１の実施形態に係る端末装置３０は、一般的なＯＳなどが搭載されたデスクトップＰＣ、ノートＰＣ、スマートフォンや携帯電話、タブレットＰＣなど、ユーザが操作可能な装置である。
【００１５】
外部ストレージシステム４０は、ネットワークＮ１を介してストレージサービス（又はオンラインストレージ）と呼ばれるクラウドサービスを提供するコンピュータシステムである。ストレージサービスとは、外部ストレージシステム４０のストレージの記憶領域を貸し出すサービスである。
【００１６】
第１の実施形態では、スキャン配信サービスにおいて、外部ストレージシステム４０によって貸し出される記憶領域に、スキャンされた電子ファイルを保存（アップロード）する。なお、外部ストレージシステム４０は、複数台の情報処理装置によって実現されるシステムであってもよい。
【００１７】
図１の情報処理システム１の構成は一例であって、他の構成であってもよい。例えば画像形成装置２０は複数台あってもよい。また、端末装置３０はネットワークＮ１に接続されていてもよい。
【００１８】
＜ハードウェア構成＞
≪コンピュータ≫
図１のサービス提供システム１０、外部ストレージシステム４０を実現する一台以上の情報処理装置は図２に示すようなハードウェア構成のコンピュータにより実現される。また、図１の端末装置３０も図２に示すようなハードウェア構成のコンピュータにより実現される。
【００１９】
図２は第１の実施形態に係るコンピュータの一例のハードウェア構成図である。図２に示したコンピュータ５００は、入力装置１１と、表示装置１２と、外部Ｉ／Ｆ１３と、ＲＡＭ１４と、ＲＯＭ１５と、ＣＰＵ１６と、通信Ｉ／Ｆ１７と、ＨＤＤ１８とを有する。これらの各ハードウェアは、それぞれがバスＢで接続されている。
【００２０】
入力装置１１は、キーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置１２は、ディスプレイ等を含み、コンピュータ５００による処理結果を表示する。なお、入力装置１１及び表示装置１２は、必要なときに接続して利用する形態であってもよい。
【００２１】
通信Ｉ／Ｆ１７は、コンピュータ５００をネットワークＮ１に接続するインタフェースである。これにより、コンピュータ５００は、通信Ｉ／Ｆ１７を介してデータ通信を行うことができる。ＨＤＤ１８は、プログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータには、コンピュータ５００全体を制御する基本ソフトウェアであるＯＳ、及びＯＳ上において各種機能を提供するアプリケーションソフトウェア等がある。
【００２２】
なお、コンピュータ５００はＨＤＤ１８に代え、記憶媒体としてフラッシュメモリを用いるドライブ装置（例えばソリッドステートドライブ：ＳＳＤ）を利用してもよい。ＨＤＤ１８は格納しているプログラムやデータを所定のファイルシステム及び／又はＤＢにより管理している。
【００２３】
外部Ｉ／Ｆ１３は外部装置とのインタフェースである。外部装置には、記録媒体１３ａ等がある。これにより、コンピュータ５００は、外部Ｉ／Ｆ１３を介して記録媒体１３ａの読み取り及び／又は書き込みを行うことができる。記録媒体１３ａには、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００２４】
ＲＯＭ１５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１５には、コンピュータ５００の起動時に実行されるＢＩＯＳ（Basic Input/Output System）、ＯＳ設定、及びネットワーク設定等のプログラムやデータが格納されている。ＲＡＭ１４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。
【００２５】
ＣＰＵ１６は、ＲＯＭ１５やＨＤＤ１８等の記憶装置からプログラムやデータをＲＡＭ１４上に読み出し、処理を実行することで、コンピュータ５００全体の制御や機能を実現する演算装置である。
【００２６】
サービス提供システム１０、外部ストレージシステム４０を実現する一台以上の情報処理装置はコンピュータ５００のハードウェア構成により、後述するような各種処理を実現できる。また、端末装置３０もコンピュータ５００のハードウェア構成により、後述する各種処理を実現できる。
【００２７】
≪画像形成装置≫
図１に示される画像形成装置２０は例えば図３に示すハードウェア構成を有する。図３は、第１の実施形態に係る画像形成装置の一例のハードウェア構成図である。図３に示す画像形成装置２０は、コントローラ２１と、操作パネル２２と、外部Ｉ／Ｆ２３と、通信Ｉ／Ｆ２４と、プリンタ２５と、スキャナ２６とを有する。
【００２８】
また、コントローラ２１は、ＣＰＵ２１１と、ＲＡＭ２１２と、ＲＯＭ２１３と、ＮＶＲＡＭ２１４と、ＨＤＤ２１５とを有する。ＲＯＭ２１３は、各種プログラムやデータが格納されている。ＲＡＭ２１２はプログラムやデータを一時保持する。ＮＶＲＡＭ２１４は例えば設定情報等が格納されている。また、ＨＤＤ２１５は各種プログラムやデータが格納されている。
【００２９】
ＣＰＵ２１１は、ＲＯＭ２１３やＮＶＲＡＭ２１４、ＨＤＤ２１５等からプログラムやデータ、設定情報等をＲＡＭ２１２上に読み出し、処理を実行することで、画像形成装置２０全体の制御や機能を実現する。
【００３０】
操作パネル２２は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。外部Ｉ／Ｆ２３は、外部装置とのインタフェースである。外部装置には、記録媒体２３ａ等がある。これにより、画像形成装置２０は、外部Ｉ／Ｆ２３を介して記録媒体２３ａの読み取り及び／又は書き込みを行うことができる。なお、記録媒体２３ａにはＩＣカード、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００３１】
通信Ｉ／Ｆ２４は、画像形成装置２０をネットワークＮ２に接続するインタフェースである。これにより、画像形成装置２０は通信Ｉ／Ｆ２４を介してデータ通信を行うことができる。
【００３２】
プリンタ２５は印刷データを被搬送物に印刷するための印刷装置である。例えば被搬送物は紙、コート紙、厚紙、ＯＨＰ、プラスチックフィルム、プリプレグ、銅箔など、紙に限定されない。また、スキャナ２６は原稿から画像データ（電子データ）を読み取り、画像ファイル（電子ファイル）を生成するための読取装置である。
【００３３】
第１の実施形態に係る画像形成装置２０は、上記したハードウェア構成を有することにより、後述するような各種処理を実現できる。
【００３４】
＜ソフトウェア構成＞
第１の実施形態に係る情報処理システム１は例えば図４に示されるような処理ブロックにより実現することができる。図４は、第１の実施形態に係る情報処理システムの一例の処理ブロック図である。
【００３５】
画像形成装置２０はブラウザ５１が搭載されている。画像形成装置２０のユーザはブラウザ５１を介して、サービス提供システム１０により提供されるサービスを利用することができる。このように、第１の実施形態に係る画像形成装置２０では、ブラウザ５１が搭載されていればよい。ブラウザ５１はサービス提供システム１０にアクセスし、サービス提供システム１０から取得したＷｅｂコンテンツを表示できる。
【００３６】
サービス提供システム１０は、ネットワークＮ１を介してクラウドサービス等のサービスを提供するシステム環境である。サービス提供システム１０は、ファイルサービス部１０２、入出力サービス処理部１０３、認証管理部１０４、デバイスサービス部１０５、スキャンファイル記憶部１０６及びデバイスアプリ情報記憶部１０７を有する。
【００３７】
なお、スキャンファイル記憶部１０６及びデバイスアプリ情報記憶部１０７は、サービス提供システム１０とネットワークＮ１を介して接続される記憶装置等により実現されてもよい。
【００３８】
ファイルサービス部１０２はデータ管理部１１２を有する。データ管理部１１２は例えばスキャンファイル１３１の管理、ファイルトークンの発行及び検証を行う。入出力サービス処理部１０３は、フロー制御部１１３及びコンポーネント群１１４を有する。
【００３９】
例えばＰＩＮコードによるスキャンを実施した後、そのファイルを外部ストレージシステム４０に保管するなどの業務フローを記した一連の処理は、外部アプリケーション３１からフロー制御部１１３へフロー登録される。フロー制御部１１３はフローパラメータに基づいてジョブを作成し、コンポーネント群１１４から各コンポーネントを呼び出す。
【００４０】
ここでコンポーネントとは各種処理を実行するためのモジュール等であり、例えばクラスや関数等で定義される。例えばスキャンコンポーネント１２３はスキャンコマンドを発行する。ファイル入力コンポーネント１２１はスキャンコマンドで保存したファイルを取得して、次のコンポーネントへ渡す。配信コンポーネント１２２は外部ストレージシステム４０にファイルを保存する。認証管理部１０４は、アプリトークン、ＰＩＮコードの発行及び検証を行う。
【００４１】
デバイスサービス部１０５は、命令配信部１１５及びアプリ配信部１１６を有する。命令配信部１１５はスキャンコンポーネント１２３から発行されたスキャンコマンドを処理する。ＰＩＮコードを用いたスキャンであれば、命令配信部１１５は認証管理部１０４へＰＩＮコードの発行を要求し、ＰＩＮコードを取得する。
【００４２】
アプリ配信部１１６は画像形成装置２０のブラウザ５１上で表示、実行されるデバイスアプリ情報のＷｅｂコンテンツを配信する。例えばアプリ配信部１１６は、ブラウザ５１からの要求に応じて、デバイスアプリ情報１３２に含まれる画面定義に基づく画面を返信する。これにより、画像形成装置２０のブラウザ５１には、サービス提供システム１０により提供されるサービスを利用するための画面が表示される。
【００４３】
スキャンファイル記憶部１０６はスキャンファイル１３１を記憶する。デバイスアプリ情報記憶部１０７はデバイスアプリ情報１３２を記憶する。デバイスアプリ情報１３２はＨＴＭＬやＣＳＳなどで記述された画面レイアウトの定義と、サービスを実現するための一例の処理を示す処理内容と、が記述されている。
【００４４】
端末装置３０は外部アプリケーション３１が搭載されている。外部アプリケーション３１は入出力サービス処理部１０３のＡＰＩを利用し、クラウドのサービスやモバイルアプリケーションなどをユーザに提供する。また、外部ストレージシステム４０はユーザにストレージの記憶領域を貸し出し、その記憶領域にスキャンファイルなどを保存させるシステム環境である。
【００４５】
＜処理の詳細＞
次に、第１の実施形態に係る情報処理システム１の処理の詳細について説明する。
【００４６】
《スキャン配信サービスの全体処理》
図５及び図６は、ＰＩＮコードを用いて行うスキャン配信処理の一例のシーケンス図である。図５及び図６ではＰＩＮコードを用いてスキャンしたスキャンファイルを外部ストレージシステム４０へ保存する一連の流れを説明する。
【００４７】
ステップＳ１１において、ユーザは端末装置３０の外部アプリケーション３１上でアプリ登録を要求する。図１３は外部アプリケーションにおけるアプリ登録時の一例の画面遷移図である。ユーザはアプリ登録画面１０００にユーザ名、パスワードなどの事前に登録されたユーザ認証情報を入力した後で「ログインしてアプリ登録」ボタンを押下する。
【００４８】
ステップＳ１２に進み、外部アプリケーション３１はサービス提供システム１０の認証管理部１０４にユーザ認証を要求する。ユーザ認証が成功すれば、認証管理部１０４はアプリトークンを発行し、外部アプリケーション３１に返す。外部アプリケーション３１はアプリ登録完了画面１００１を表示し、ユーザにアプリ登録の完了を通知する。アプリ登録は初回利用時に必要となる。
【００４９】
ステップＳ１３に進み、ユーザはスキャンｔｏ外部ストレージのフローの開始を外部アプリケーション３１に指示する。なお、ユーザは例えば図１４に示すスキャンジョブ登録画面１０１０からスキャンｔｏ外部ストレージのフローの開始を外部アプリケーション３１に指示できる。
【００５０】
図１４は、外部アプリケーションにおけるスキャンジョブ登録時の一例の画面遷移図である。ユーザは図１４のスキャンジョブ登録画面１０１０からスキャン設定と保存先選択とを行ったあと、スキャン開始ボタンを押下することで、スキャンｔｏ外部ストレージのフローの開始を外部アプリケーション３１に指示できる。
【００５１】
スキャンｔｏ外部ストレージのフローの開始を指示された外部アプリケーション３１は図１４のスキャンジョブ登録中画面１０１１を表示する。図１４ではユーザへの分かりやすさからスキャンｔｏ外部ストレージのフローのことをスキャンジョブと呼んでいる。
【００５２】
ステップＳ１４に進み、外部アプリケーション３１はフロー制御部１１３に図８に示す構成のフローパラメータを指定してフロー登録を要求する。図８はフローパラメータの一例の説明図である。図８はアプリトークンと「フロー１」から「フロー３」のフローパラメータとが含まれている。
【００５３】
「フロー１」はスキャンのフローパラメータである。したがって、図８の「フロー１パラメータ」には解像度、原稿種類、ファイル形式などのパラメータが一例として含まれている。
【００５４】
「フロー２」はファイル入力のフローパラメータである。したがって、図８の「フロー２パラメータ」にはスキャンアップロード先、ファイルトークンなどのパラメータが一例として含まれている。
【００５５】
「フロー３」は、配信のフローパラメータである。したがって、図８の「フロー３パラメータ」には、配信元ＵＲＬ、配信先ＵＲＬなどのパラメータが一例として含まれる。なお、図８では各パラメータに含まれる情報を＜パラメータ名＞：＜値＞で表している。
【００５６】
外部アプリケーション３１から図８のフローパラメータを指定したフロー登録の要求を受け付けたサービス提供システム１０のフロー制御部１１３は図９に示す各フローに対してのジョブを作成する。
【００５７】
図９はジョブパラメータの一例の説明図である。図９の「ジョブパラメータ１」は図８の「フロー１」に対して作成されたものである。また、図９の「ジョブパラメータ２」は図８の「フロー２」に対して作成されたものである。図９の「ジョブパラメータ３」は図８の「フロー３」に対して作成されたものである。
【００５８】
ステップＳ１５に進み、フロー制御部１１３は図９の「ジョブ１パラメータ」によりスキャンのフローを実行する。ステップＳ１６に進み、フロー制御部１１３は「ジョブ１パラメータ」を指定してスキャン実行をスキャンコンポーネント１２３に要求する。
【００５９】
スキャン実行を要求されたスキャンコンポーネント１２３は「ジョブ１パラメータ」から図１０に示すコマンドパラメータを作成する。図１０はコマンドパラメータの一例の説明図である。図１０のコマンドパラメータは図９の「ジョブ１パラメータ」から作成されたものである。
【００６０】
ステップＳ１７に進み、スキャンコンポーネント１２３は図１０のコマンドパラメータと図９の「ジョブ１パラメータ」に含まれていたアプリトークンを指定して命令配信部１１５にコマンド送信を行う。ステップＳ１８に進み、命令配信部１１５はステップＳ１７のコマンド送信の引数であるアプリトークンを利用して認証管理部１０４からＰＩＮコードを取得する。なお、ＰＩＮコードは一時コードの一例である。
【００６１】
ステップＳ１９に進み、命令配信部１１５はコマンドパラメータとＰＩＮコードとを対応付けて図１２に示すようなテーブルに保存する。図１２は、コマンドパラメータとＰＩＮコードとを対応付けるテーブルの一例の構成図である。図１２に示すようにコマンドパラメータは所定の形式（例えばＪＳＯＮ形式）などに従って記載されている。
【００６２】
ステップＳ２０に進み、命令配信部１１５は図１０のコマンドパラメータと対応付けたＰＩＮコードをスキャンコンポーネント１２３に返す。その後、ＰＩＮコードはフロー制御部１１３を介して外部アプリケーション３１に返される。外部アプリケーション３１はＰＩＮコードを返されると、例えば図１４のスキャンジョブ登録成功画面１０１２を表示する。スキャンジョブ登録成功画面１０１２はサービス提供システム１０側から返されたＰＩＮコードを表示する。したがって、端末装置３０を操作しているユーザは図１０のコマンドパラメータと対応付けられたＰＩＮコードを知ることができる。
【００６３】
ステップＳ２１に進み、ユーザは画像形成装置２０のブラウザ５１を起動する。ブラウザ５１はサービス提供システム１０のアプリ配信部１１６のＵＲＬをデフォルトのＵＲＬとして保持しているものとする。ブラウザ５１は起動されるとステップＳ２２においてアプリ配信部１１６からデバイスアプリ情報１３２を取得する。取得されたデバイスアプリ情報１３２は画像形成装置２０上のブラウザ５１上で実行／表示される。
【００６４】
ステップＳ２３に進み、ブラウザ５１は図１５の初期画面１０２０を表示する。図１５はブラウザにおけるスキャンジョブ実行時の一例の画面遷移図である。図１５に示した画面はデバイスアプリ情報１３２の画面定義に基づいて表示される。図１５の初期画面１０２０には「ＰＩＮコードで実行」ボタンが設けられている。ユーザにより「ＰＩＮコードで実行」ボタンが押下されると、ブラウザ５１は図１５のＰＩＮコード画面１０２１を表示する。
【００６５】
ＰＩＮコード画面１０２１にはＰＩＮコードを入力する欄が設けられている。ステップＳ２４においてユーザは図１４のスキャンジョブ登録成功画面１０１２に表示されたＰＩＮコードをＰＩＮコード画面１０２１に入力してＯＫボタンを押下する。ステップＳ２５に進み、ブラウザ５１はＰＩＮコードによるジョブ実行を開始する。
【００６６】
ステップＳ２６に進み、ブラウザ５１はＰＩＮコードを指定してコマンド取得を命令配信部１１５に要求する。命令配信部１１５はＰＩＮコードの検証を認証管理部１０４に依頼する。認証管理部１０４は検証を依頼されたＰＩＮコードが正しければ、命令配信部１１５に許可を返す。
【００６７】
許可を返された命令配信部１１５はステップＳ２８に進み、ＰＩＮコードと対応付けられているコマンドパラメータを図１２のテーブルから取得し、ブラウザ５１に返す。ブラウザ５１はステップＳ２９において、コマンド種別を判定する。ブラウザ５１はステップＳ３０に進み、コマンドパラメータに含まれるコマンドＩＤを指定して、命令配信部１１５にコマンド開始を要求する。
【００６８】
ステップＳ３１に進み、命令配信部１１５はデータ管理部１１２から図１１のファイルパラメータを取得する。図１１はファイルパラメータの一例の説明図である。図１１に示したファイルパラメータにはスキャンアップロード先ＵＲＬとファイルトークンとが含まれている。ステップＳ３２に進み、命令配信部１１５はファイルパラメータをブラウザ５１に返す。
【００６９】
ステップＳ３３に進み、ブラウザ５１は、図１２のコマンドパラメータに含まれる「フロー１パラメータ」に従い、スキャンを実行する。ステップＳ３４に進み、ブラウザ５１はデータ管理部１１２に図１１のファイルパラメータを指定してスキャンファイルの保存を要求する。スキャンファイルの保存が完了すると、データ管理部１１２はブラウザ５１に完了通知を行う。
【００７０】
ステップＳ３５に進み、ブラウザ５１は命令配信部１１５にコマンドＩＤを指定してコマンド完了通知を行う。ステップＳ３６に進み、命令配信部１１５はコマンドパラメータに含まれる「ジョブ２パラメータ」を指定して、フロー実行をフロー制御部１１３に要求する。
【００７１】
なお、ステップＳ３６では「ジョブ２パラメータ」に含まれる「フロー２パラメータ」のスキャンアップロード先ＵＲＬ及びファイルトークンが図１１のファイルパラメータの内容により埋められる。また、ステップＳ３７に進み、フロー制御部１１３はファイル入力コンポーネント１２１に「ジョブ２パラメータ」を指定して、ファイル入力実行を要求する。
【００７２】
ファイル入力コンポーネント１２１はステップＳ３８に進み、スキャンアップロード先ＵＲＬを指定してデータ管理部１１２にファイル取得を要求し、データ管理部１１２からファイルトークンを取得する。ファイル入力コンポーネント１２１は「フロー２パラメータ」のファイルトークンを埋めた「ジョブ２パラメータ」をフロー制御部１１３に返す。
【００７３】
ステップＳ３９に進み、フロー制御部１１３は「ジョブ３パラメータ」の配信元ＵＲＬとファイルトークンとを埋めて図９の「ジョブ３パラメータ」により配信のフローを実行する。ステップＳ４０に進み、フロー制御部１１３は「ジョブ３パラメータ」を指定して配信実行を配信コンポーネント１２２に要求する。
【００７４】
ステップＳ４１に進み、配信コンポーネント１２２は「ジョブ３パラメータ」のファイルトークンを利用して配信元ＵＲＬからスキャンファイルを取得し、配信先ＵＲＬである外部ストレージシステム４０に保存する。配信コンポーネント１２２は外部ストレージシステム４０から返された完了通知をフロー制御部１１３に返す。
【００７５】
この後、ユーザはステップＳ４３において外部アプリケーション３１の画面操作によりスキャンファイルの画像取得を指示する。ステップＳ４４において外部アプリケーション３１は外部ストレージシステム４０からスキャンファイルの画像を取得し、表示する。
【００７６】
図５及び図６に示したシーケンス図で扱うフローパラメータ、ジョブパラメータ及びコマンドパラメータの関係は図７に示すようになる。図７は各種パラメータの関係について説明する図である。
【００７７】
フローパラメータは「フロー１パラメータ」「フロー２パラメータ」及び「フロー３パラメータ」を持つ。また「ジョブ１パラメータ」は「フロー１パラメータ」及び「ジョブ２パラメータ」を持つ。また「ジョブ２パラメータ」は「フロー２パラメータ」を持つ。また「ジョブ３パラメータ」は「フロー３パラメータ」を持つ。また「コマンドパラメータ」は「フロー１パラメータ」及び「ジョブ２パラメータ」を持つ。
【００７８】
以上、第１の実施形態に係る情報処理システム１によれば、サービス提供システム１０がスキャン配信のフローを処理する機能（フロー登録、フロー処理、ＰＩＮコードの発行と検証、ファイルの一時保管など）を持つことができる。したがって、スキャン配信のフローの仕様変更や障害等があっても、画像形成装置２０側のアプリケーションの変更が不要となるため、画像形成装置２０側のアプリケーションの開発・保守が容易となる。
【００７９】
また、第１の実施形態に係る情報処理システム１によれば、ユーザは画像形成装置２０においてＰＩＮコードを入力すれば、スキャン設定を画像形成装置２０側で行う必要がなくなるため、画像形成装置２０側でのスキャン操作の手間を低減できる。
【００８０】
［第２の実施形態］
第１の実施形態はＰＩＮコードを用いて、スキャン配信のフローを行っていた。第２の実施形態はログインしてスキャン配信のフローを行うものである。なお、第２の実施形態は一部を除いて第１の実施形態と同様であるため、適宜説明を省略する。
【００８１】
図１６はログインして行うスキャン配信処理の一例のシーケンス図である。図１６のステップＳ５１の処理の前には、図５に示したステップＳ１１〜Ｓ２３と同様な処理が行われる。
【００８２】
ブラウザ５１は図１７の初期画面１０２０を表示する。図１７はブラウザにおけるスキャンジョブ実行時の他の例の画面遷移図である。図１７に示した画面はデバイスアプリ情報１３２の画面定義に基づいて表示される。図１７の初期画面１０２０には「ログインして実行」及び「ＰＩＮコードで実行」ボタンが設けられている。
【００８３】
なお、ユーザにより「ＰＩＮコードで実行」ボタンが押下されるとブラウザ５１はＰＩＮコード画面１０２１を表示し、第１の実施形態で説明した処理を行う。また、ユーザにより「ログインして実行」ボタンが押下されるとブラウザ５１はユーザ認証画面１０２２を表示する。ユーザ認証画面１０２２には、ユーザ名とパスワードとを入力する欄が設けられている。
【００８４】
ステップＳ５１においてユーザはユーザ名とパスワードとをユーザ認証画面１０２２に入力してログインボタンを押下する。ステップＳ５２においてブラウザ５１はサービス提供システム１０の認証管理部１０４に対してユーザ認証を行い、ユーザトークンを取得する。ステップＳ５３に進み、ブラウザ５１はユーザトークンを指定してサービス提供システム１０の命令配信部１１５からログインに成功したユーザが登録したコマンド一覧を取得し、コマンド一覧を含むコマンド選択画面１０２３を表示する。
【００８５】
ステップＳ５５に進み、ユーザはコマンド選択画面１０２３のコマンド一覧から実行したいコマンドを選択してＯＫボタンを押下する。ステップＳ５６に進み、ブラウザ５１はユーザに選択されたコマンドのコマンドパラメータに含まれるコマンドＩＤを指定して命令配信部１１５にコマンド開始を要求する。なお、ステップＳ５６以降の処理は図５及び図６のステップＳ３０以降の処理と同様であるため、説明を省略する。
【００８６】
なお、図１７のＰＩＮコード画面１０２１及びコマンド選択画面１０２３の「スキャンジョブセッティング」ボタンが押下されると、ブラウザ５１はスキャンジョブの設定画面１０２４を表示する。ユーザはスキャンジョブの設定画面１０２４からスキャンジョブの設定変更を行うこともできる。
【００８７】
図１６に示したログインして行うスキャン配信処理は例えばＰＩＮコードを忘れた場合などに有効である。
【００８８】
以上、第２の実施形態に係る情報処理システム１によれば、第１の実施形態に係る情報処理システム１の効果を、ＰＩＮコードに代えてユーザ認証により実現できる。ユーザは画像形成装置２０においてユーザ認証を行えば、スキャン設定を画像形成装置２０側で行う必要がなくなるため、画像形成装置２０側でのスキャン操作の手間を低減できる。
【００８９】
［第３の実施形態］
第３の実施形態はサービス提供システム１０に用意したサービス提供システムＡＰＩ３０１を用いてスキャン配信のフローを行うものである。なお、第３の実施形態は一部を除いて第１及び第２の実施形態と同様であるため、適宜説明を省略する。
【００９０】
＜ソフトウェア構成＞
第３の実施形態に係る情報処理システム１は例えば図１８に示される処理ブロックにより実現することができる。図１８は、第３の実施形態に係る情報処理システムの一例の処理ブロック図である。
【００９１】
画像形成装置２０はブラウザ５１が搭載されている。また、画像形成装置２０には機器ＳＤＫ  ＡＰＩ３３１が用意されている。ブラウザ５１は機器ＳＤＫ  ＡＰＩ３３１を介して、スキャン実行部３３２、プリント実行部３３３、イベント検知部３３４及び機器情報蓄積部３３５を利用できる。また、ブラウザ５１はサービス提供システム１０からＷｅｂコンテンツを取得して表示できる。
【００９２】
サービス提供システム１０は、ネットワークＮ１を介してクラウドサービス等のサービスを提供するシステム環境である。サービス提供システム１０は、ファイルサービス部１０２、入出力サービス処理部１０３、認証管理部１０４、デバイスサービス部１０５、スキャンファイル記憶部１０６、デバイスアプリ情報記憶部１０７及びサービス提供システムＡＰＩ３０１を有する。
【００９３】
サービス提供システムＡＰＩ３０１は、ジョブＡＰＩ３０２及び認証ＡＰＩ３０３を有する。端末装置３０の外部アプリケーション３１は、ジョブＡＰＩ３０２を介して入出力サービス処理部１０３を利用できる。また、外部アプリケーション３１は認証ＡＰＩ３０３を介して認証管理部１０４を利用できる。
【００９４】
図１８の入出力サービス処理部１０３は、ファイル変換部３１１及びコマンド処理部３１２を有する。ファイル変換部３１１はファイル変換に関する処理を行う。コマンド処理部３１２はコマンドに関する処理を行う。デバイスサービス部１０５は、命令配信部１１５、アプリ配信部１１６及び利用履歴部３２１を有する。利用履歴部３２１は利用履歴情報の登録や取得に関する処理を行う。デバイスアプリ情報記憶部１０７はデバイスアプリ情報１３２を記憶する。デバイスアプリ情報１３２はＨＴＭＬやＣＳＳなどで記述された画面レイアウトの定義と、サービスを実現するための一例の処理を示す処理内容と、が記述されている。デバイスアプリ情報１３２の処理内容にはジョブ処理部、機器情報送信部及び機器情報管理部が含まれている。
【００９５】
デバイスアプリ情報１３２は、ＨＴＭＬやＣＳＳで記述された画面定義や、Ｊａｖａｓｃｒｉｐｔ（登録商標）などのスクリプト言語で記述されたジョブ処理部などのコンテンツを含む構成である。ダウンロードされたデバイスアプリ情報１３２は画像形成装置２０上のブラウザ５１上で実行／表示される。このように、画像形成装置２０はサービス提供システム１０上に配置されたデバイスアプリ情報１３２をダウンロードしてブラウザ５１上で実行することにより後述のジョブ処理部３４１を実現する。
【００９６】
＜処理の詳細＞
次に、第３の実施形態に係る情報処理システム１の処理の詳細について説明する。
【００９７】
《スキャン配信サービスの全体処理》
図１９は、サインインして行うスキャン登録処理の一例のシーケンス図である。ユーザはステップＳ１０１において、端末装置３０の外部アプリケーション３１上でユーザＩＤ及びパスワードを指定し、サインインを要求する。
【００９８】
ステップＳ１０２に進み、外部アプリケーション３１はサービス提供システム１０に用意されたサービス提供システムＡＰＩ３０１の認証ＡＰＩ３０３に、ユーザＩＤ及びパスワードを指定し、サインインを要求する。認証ＡＰＩ３０３は認証管理部１０４に認証を要求する。認証が成功すれば、認証管理部１０４は認証トークンを発行し、認証ＡＰＩ３０３を介して外部アプリケーション３１に返す。
【００９９】
ステップＳ１０４に進み、外部アプリケーション３１はサービス提供システム１０に用意されたサービス提供システムＡＰＩ３０１のジョブＡＰＩ３０２に、図２０（Ａ）のコマンド登録リクエストによりコマンド登録を要求する。図２０はコマンド登録リクエスト及びコマンド登録レスポンスの一例を示す構成図である。
【０１００】
ステップＳ１０５においてジョブＡＰＩ３０２は認証トークンの検証を認証管理部１０４に依頼する。認証管理部１０４は検証を依頼された認証トークンの検証を行い、検証結果が正しければ一時コードをジョブＡＰＩ３０２に返す。
【０１０１】
認証トークンの検証結果が正しければ、ジョブＡＰＩ３０２はステップＳ１０６において一時コードを指定し、入出力サービス処理部１０３のコマンド処理部３１２にコマンド登録を要求する。コマンド処理部３１２はステップＳ１０７において、一時コードを指定してコマンド登録を命令配信部１１５に要求する。命令配信部１１５は一時コードと対応付けてコマンドを保存する。ステップＳ１０８に進み、命令配信部１１５はジョブ登録完了の履歴登録を利用履歴部３２１に要求する。利用履歴部３２１はジョブ登録完了の利用履歴情報を登録しておく。
【０１０２】
また、ステップＳ１０９に進み、コマンド処理部３１２はコマンドと対応付けて保存した一時コードを含む図２０（Ｂ）のようなコマンド登録レスポンスをジョブＡＰＩ３０２に返す。ジョブＡＰＩ３０２は図２０（Ｂ）のようなコマンド登録レスポンスを外部アプリケーション３１に返す。
【０１０３】
外部アプリケーション３１は図２０（Ｂ）のようなコマンド登録レスポンスを返されると一時コードを表示する。したがって、端末装置３０を操作しているユーザはコマンドと対応付けられた一時コードを知ることができる。なお、図１９のシーケンス図ではユーザが外部アプリケーション３１を操作する例を示したが、ＰＣや他システムを操作するものであってもよい。
【０１０４】
図２１はスキャン実行処理の一例のシーケンス図である。ステップＳ１１１ではユーザが画像形成装置２０のブラウザ５１に一時コードを入力し、一時コードによるジョブ実行を指示する。
【０１０５】
ステップＳ１１２に進み、ブラウザ５１は画像形成装置２０のブラウザ５１上で実行されているジョブ処理部３４１に一時コードによるジョブ実行を要求する。ステップＳ１１３においてジョブ処理部３４１は一時コードを指定して命令取得を命令配信部１１５に要求する。ステップＳ１１４に進み、命令配信部１１５は一時コードの検証を認証管理部１０４に依頼する。認証管理部１０４は検証を依頼された一時コードが正しければ、命令配信部１１５に許可を返す。
【０１０６】
許可を返された命令配信部１１５は一時コードと対応付けられているコマンドをジョブ処理部３４１に返す。ステップＳ１１５に進み、ジョブ処理部３４１は命令配信部１１５に処理中を指定して命令状態変更を要求する。ステップＳ１１６に進み、命令配信部１１５は処理中の履歴登録を利用履歴部３２１に要求する。利用履歴部３２１はジョブ登録完了から処理中に利用履歴情報を変更する。
【０１０７】
ステップＳ１１７に進み、ジョブ処理部３４１はスキャン実行部３３２にスキャンを実行させる。また、ステップＳ１１８に進み、ジョブ処理部３４１はデータ管理部１１２にスキャンファイルを保存させる。ステップＳ１１９に進み、ジョブ処理部３４１は命令配信部１１５にジョブ完了を指定して命令状態変更を要求する。ステップＳ１２０に進み、命令配信部１１５はジョブ完了の履歴登録を利用履歴部３２１に要求する。そして、利用履歴部３２１は処理中からジョブ完了に利用履歴情報を変更する。
【０１０８】
図２２はコマンド状態取得・結果取得処理の一例のシーケンス図である。ステップＳ１３１に進み、外部アプリケーション３１はサービス提供システム１０に用意されたサービス提供システムＡＰＩ３０１の認証ＡＰＩ３０３に、認証を要求する。ステップＳ１３２に進み、認証ＡＰＩ３０３は認証管理部１０４に認証を要求する。認証が成功すれば認証管理部１０４は認証トークンを発行し、認証ＡＰＩ３０３を介して外部アプリケーション３１に返す。
【０１０９】
ステップＳ１３３に進み、外部アプリケーション３１は例えば図２３に示す認証トークン及びコマンドＩＤを指定してジョブＡＰＩ３０２にコマンド状態の取得を要求する。図２３はコマンド状態取得リクエスト及びコマンド状態取得レスポンスの一例を示す構成図である。
【０１１０】
ステップＳ１３４に進み、ジョブＡＰＩ３０２はコマンドＩＤを指定してコマンド状態を利用履歴部３２１から取得する。また、ステップＳ１３５に進み、ジョブＡＰＩ３０２は認証トークンの検証を認証管理部１０４に依頼する。認証管理部１０４は検証を依頼された認証トークンの検証を行い、検証結果をジョブＡＰＩ３０２に返す。認証トークンの検証結果が正しければ、ジョブＡＰＩ３０２は利用履歴部３２１から取得したコマンド状態を図２３（Ｂ）に示すようなコマンド状態取得レスポンスにより外部アプリケーション３１に返す。
【０１１１】
図２２のステップＳ１３６以下は、スキャン結果を取得する処理を表している。外部アプリケーション３１はステップＳ１３６において、サービス提供システム１０に用意されたサービス提供システムＡＰＩ３０１の認証ＡＰＩ３０３に、認証を要求する。ステップＳ１３７に進み、認証ＡＰＩ３０３は認証管理部１０４に認証を要求する。
【０１１２】
認証が成功すれば認証管理部１０４は認証トークンを発行し、認証ＡＰＩ３０３を介して外部アプリケーション３１に返す。ステップＳ１３８に進み、外部アプリケーション３１は例えば図２４に示すように認証トークン及びファイル識別子を指定してジョブＡＰＩ３０２にスキャン結果の取得を要求する。図２４はスキャンファイル取得リクエスト及びスキャンファイル取得レスポンスの一例を示す構成図である。
【０１１３】
ステップＳ１３９に進み、ジョブＡＰＩ３０２はファイル識別子を指定してファイルをデータ管理部１１２から取得する。また、ステップＳ１４０に進み、ジョブＡＰＩ３０２は認証トークンの検証を認証管理部１０４に依頼する。認証管理部１０４は検証を依頼された認証トークンの検証を行い、検証結果をジョブＡＰＩ３０２に返す。認証トークンの検証結果が正しければ、ジョブＡＰＩ３０２はデータ管理部１１２から取得したファイルを図２４（Ｂ）に示すようなスキャンファイル取得レスポンスにより外部アプリケーション３１に返す。
【０１１４】
以上、第３の実施形態に係る情報処理システム１は、サービス提供システム１０に画像形成装置２０を操作するサービス提供システムＡＰＩ３０１を用意する。サービス提供システム１０は外部ストレージシステム４０との連携を行い、また、画像形成装置２０の操作パネル２２に表示するコンテンツを持つことができる。
【０１１５】
したがって、第３の実施形態に係る情報処理システム１によれば、外部ストレージシステム４０との連携の柔軟性や画像形成装置２０を利用する外部アプリケーション３１の開発効率を高めることができる。なお、サービス提供システムＡＰＩ３０１には、ジョブのコマンド登録、状態取得、スキャンファイルのアップロード、スキャンファイルのダウンロードなどのＡＰＩを用意する。
【０１１６】
画像形成装置２０に搭載されるアプリケーションの開発ではないため、第３の実施形態に係る情報処理システム１では、画像形成装置２０の内部の仕様や振る舞いを知らずとも画像形成装置２０を利用する外部アプリケーション３１を開発できる。また、サービス提供システムＡＰＩ３０１をＨＴＭＬ＋ＪａｖａＳｃｒｉｐｔで操作できる程度にまで簡単にすることで、第３の実施形態に係る情報処理システム１は画像形成装置２０を操作するＷｅｂアプリの開発が容易となる。
【０１１７】
［第４の実施形態］
第４の実施形態は第１〜第３の実施形態に示したスキャン配信サービスにおいて、原稿をスキャンして生成された電子ファイルを自動的に分類して、外部ストレージシステム４０に保存するものである。なお、第４の実施形態は一部を除いて第１〜第３の実施形態と同様であり、適宜説明を省略する。
【０１１８】
＜システム構成＞
図２５は、第４の実施形態に係る情報処理システムの一例の構成図である。図２５の情報処理システム１は、図１の情報処理システム１の１つの外部ストレージシステム４０を４つの外部ストレージシステム４０Ａ〜４０Ｄに置き換えたものである。なお、外部ストレージシステム４０Ａ〜４０Ｄの何れでもよい場合は単に外部ストレージシステム４０と呼ぶ。
【０１１９】
＜ソフトウェア構成＞
第４の実施形態に係る情報処理システム１は例えば図２６に示される処理ブロックにより実現することができる。図２６は、第４の実施形態に係る情報処理システムの一例の処理ブロック図である。図２６に示される情報処理システム１は図１８の情報処理システム１にステータスチェック部４２１が追加された構成である。ステータスチェック部４２１はスキャンできる状態であるかを画像形成装置２０に問い合わせるステータスチェック要求を行う。
【０１２０】
＜処理の詳細＞
次に、第４の実施形態に係る情報処理システム１の処理の詳細について説明する。
【０１２１】
《スキャンジョブの登録及び実行》
スキャンジョブの登録処理は、図１９のシーケンス図と同様である。スキャンジョブの実行処理は、一部を除いて図２１のシーケンス図と同様である。なお、第４の実施形態では図２１のシーケンス図のステップＳ１１８の処理後、例えば図２７に示すような構成のスキャンファイルがスキャンファイル記憶部１０６に保存されている。
【０１２２】
図２７は、スキャンファイルの一例の構成図である。図２７に示したスキャンファイルはファイル情報、拡張情報及び画像データを有する構成である。ファイル情報はファイル名などのスキャンファイルに関する情報である。拡張情報は、サービス提供システム１０又は画像形成装置２０で抽出された画像データに関する情報である。画像データは原稿をスキャンした画像の実データである。拡張情報は、例えば画像データにＯＣＲなどの画像処理を行うことにより抽出される情報であり、その画像データに関する特徴を表している情報である。
【０１２３】
外部アプリケーション３１は図２７に示す構成のスキャンファイルをサービス提供システム１０から受信する。外部アプリケーション３１は、図２８に示すような分類情報に基づき、図２７に示したスキャンファイルの保存先を決定する。図２８は分類情報の一例の構成図である。
【０１２４】
図２８の分類情報は外部ストレージシステム名、キーワード、禁止条件、保管方法などの項目を有している。図２８の分類情報は、キーワード、禁止条件及び保管方法を外部ストレージシステム４０Ａ〜４０Ｄと対応付けている。
【０１２５】
例えば図２８の分類情報の「キーワード」を図２７のファイル情報や拡張情報に有しているスキャンファイルがあれば、外部アプリケーション３１は、その「キーワード」を有する分類情報のレコードを選択する。ただし、外部アプリケーション３１は、図２８の分類情報の「禁止条件」を図２７のファイル情報や拡張情報に有しているスキャンファイルの場合、その「キーワード」を有する分類情報のレコードであっても選択しない。
【０１２６】
ファイル情報や拡張情報に「ＭＯＮ，数学」のキーワードが含まれるスキャンファイルの場合は、外部ストレージシステム名「Ａ」の外部ストレージシステム４０Ａがスキャンファイルの保存先として選択される。また、ファイル情報や拡張情報に「ＭＯＮ，数学」のキーワードが含まれるスキャンファイルの場合は、保管方法として「ＲＯＯＴに保存」が選択される。
【０１２７】
また、ファイル情報や拡張情報に禁止条件「化学」が含まれるスキャンファイルの場合はファイル情報や拡張情報に「ＴＵＥ，科学」のキーワードが含まれていても、スキャンファイルの保存先として選択されない。
【０１２８】
例えば外部アプリケーション３１は図２９に示すような手順でスキャンファイルの保存先や保管方法を決定する。図２９はスキャンファイルの保存先や保管方法を決定する処理の一例のフローチャートである。
【０１２９】
ステップＳ２０１において、外部アプリケーション３１は、図２７のスキャンファイルのファイル情報や拡張情報を参照する。ステップＳ２０２に進み、外部アプリケーション３１はスキャンファイルのファイル情報や拡張情報に基づき、分類情報からキーワードが一致するレコードを選択する。
【０１３０】
また、ステップＳ２０３において、外部アプリケーション３１はステップＳ２０２で選択したレコードのうち、禁止条件が一致するレコードを除外する。そして、ステップＳ２０４に進み、外部アプリケーション３１はステップＳ２０２で選択され、ステップＳ２０３で除外されずに残ったレコードから、スキャンファイルの保存先及び保管方法を決定できる。
【０１３１】
なお、図２７のスキャンファイルはサービス提供システム１０でＯＣＲなどの画像処理を行うことにより抽出された情報を拡張情報として有する例を示したが、ＯＣＲなどの画像処理を端末装置３０で行うようにしてもよい。この場合は、スキャンファイルはファイル情報及び画像データを有する構成となる。
【０１３２】
端末装置３０の外部アプリケーション３１はファイル情報及び画像データを有しているスキャンファイルに基づき、画像データにＯＣＲなどの画像処理を行うことにより拡張情報を抽出する。なお、拡張情報を抽出したあとの処理は、サービス提供システム１０でＯＣＲなどの画像処理を行うことにより抽出された情報を拡張情報として有する例と同様である。
【０１３３】
さらに、上記では外部アプリケーション３１がスキャンファイルの保存先及び保管方法を決定する例を示したが、図２８の分類情報をサービス提供システム１０に備えることによりサービス提供システム１０で決定してもよい。この場合、決定したスキャンファイルの保存先及び保管方法は、例えば図２７のスキャンファイルの拡張情報を利用してサービス提供システム１０から外部アプリケーション３１に通知してもよい。
【０１３４】
第４の実施形態によれば、原稿をスキャンして生成された電子ファイルのファイル情報や拡張情報に基づきスキャンファイルを分類して、そのスキャンファイルの保存先や保管方法を自動的に選択することができる。
【０１３５】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。スキャンコンポーネント１２３はスキャン設定登録手段の一例である。認証管理部１０４は認証管理手段の一例である。命令配信部１１５は命令配信手段の一例である。
【０１３６】
フロー制御部１１３はフロー制御手段の一例である。ファイル入力コンポーネント１２１は画像データ取得手段の一例である。配信コンポーネント１２２は配信処理手段の一例である。画像形成装置２０は入出力デバイスの一例である。サービス提供システム１０はスキャン処理システムの一例である。
【符号の説明】
【０１３７】
１    情報処理システム
１０    サービス提供システム
２０    画像形成装置
３０    端末装置
３１    外部アプリケーション
４０、４０Ａ〜４０Ｄ    外部ストレージシステム
５１    ブラウザ
１０２    ファイルサービス部
１０３    入出力サービス処理部
１０４    認証管理部
１０５    デバイスサービス部
１０６    スキャンファイル記憶部
１０７    デバイスアプリ情報記憶部
１１２    データ管理部
１１３    フロー制御部
１１４    コンポーネント群
１１５    命令配信部
１１６    アプリ配信部
１２１    ファイル入力コンポーネント
１２２    配信コンポーネント
１２３    スキャンコンポーネント
１３１    スキャンファイル
１３２    デバイスアプリ情報
３０１    サービス提供システムＡＰＩ
３０２    ジョブＡＰＩ
３０３    認証ＡＰＩ
３１１    ファイル変換部
３１２    コマンド処理部
３２１    利用履歴部
４２１    ステータスチェック部
Ｎ１、Ｎ２    ネットワーク
【先行技術文献】
【特許文献】
【０１３８】
【特許文献１】特開２０１４−２７４９２号公報
【図１】
0006686752.tif 000002
【図２】
0006686752.tif 000003
【図３】
0006686752.tif 000004
【図４】
0006686752.tif 000005
【図５】
0006686752.tif 000006
【図６】
0006686752.tif 000007
【図７】
0006686752.tif 000008
【図８】
0006686752.tif 000009
【図９】
0006686752.tif 000010
【図１０】
0006686752.tif 000011
【図１１】
0006686752.tif 000012
【図１２】
0006686752.tif 000013
【図１３】
0006686752.tif 000014
【図１４】
0006686752.tif 000015
【図１５】
0006686752.tif 000016
【図１６】
0006686752.tif 000017
【図１７】
0006686752.tif 000018
【図１８】
0006686752.tif 000019
【図１９】
0006686752.tif 000020
【図２０】
0006686752.tif 000021
【図２１】
0006686752.tif 000022
【図２２】
0006686752.tif 000023
【図２３】
0006686752.tif 000024
【図２４】
0006686752.tif 000025
【図２５】
0006686752.tif 000026
【図２６】
0006686752.tif 000027
【図２７】
0006686752.tif 000028
【図２８】
0006686752.tif 000029
【図２９】
0006686752.tif 000030