IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社リコーの特許一覧

特開2023-15432情報処理装置、情報処理システム、情報処理方法及びプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023015432
(43)【公開日】2023-02-01
(54)【発明の名称】情報処理装置、情報処理システム、情報処理方法及びプログラム
(51)【国際特許分類】
   G06F 3/12 20060101AFI20230125BHJP
   G06Q 10/06 20230101ALI20230125BHJP
   G06Q 50/10 20120101ALI20230125BHJP
【FI】
G06F3/12 375
G06F3/12 303
G06F3/12 373
G06Q10/06
G06Q50/10
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2021119205
(22)【出願日】2021-07-20
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(72)【発明者】
【氏名】林 雄一郎
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049AA07
5L049CC11
(57)【要約】
【課題】従来の方法では、所定のワークフローを実行する際に、そのワークフローがどのような契約に基づいて実行されるのかユーザが把握しづらいという課題があった。
【解決手段】情報処理装置10は、利用者端末70に対してカウント対象契約入力画面情報を送信し(ステップS49)、利用者端末70が送信した設定入力情報に基づいて、契約情報管理DB1006に対してアプリケーションのパラメータを設定し、所定のカウント対象契約の一例である課金対象契約に係る課金対象契約情報を登録する(ステップS53)。カウンタコンポーネント219は、所定のワークフローが実行されたとき、設定された所定のカウント対象契約に対応付けてカウント対象のOCRコンポーネントの利用履歴をカウントする(ステップS98)。
【選択図】図24B
【特許請求の範囲】
【請求項1】
利用履歴がカウント対象となるコンポーネントを含む所定のワークフローを実行する情報処理装置であって、
前記所定のワークフローに対して所定のカウント対象契約と対応付けるためのカウント対象契約入力画面を表すカウント対象契約入力画面情報を、通信ネットワークを介してユーザ端末に送信する送信手段と、
送信された前記カウント対象契約入力画面情報に基づいて前記ユーザ端末に表示された前記カウント対象契約入力画面に対する操作に応じて、前記所定のワークフローと前記所定のカウント対象契約を示す所定のカウント対象契約情報とを対応付けて設定する設定手段と、
前記所定のワークフローが実行されたとき、設定された前記所定のカウント対象契約に対応付けて、前記所定のワークフローに含まれる前記コンポーネントの利用履歴をカウントするカウント手段と、
を有する、
情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、更に、
前記ユーザ端末が送信した、前記所定のワークフローを実行可能なテナントを識別するテナント識別情報を受信する受信手段を有し、
前記設定手段は、
受信された前記テナント識別情報と前記カウント対象契約情報とを対応付けて、前記所定のワークフローを設定する、
情報処理装置。
【請求項3】
請求項1又は2に記載の情報処理装置であって、更に、
受信された前記テナント識別情報と、前記ユーザ端末が送信した前記ワークフローを識別するワークフロー識別情報と、に基づいて、前記カウント対象契約入力画面を表すカウント対象契約入力画面情報を生成する生成手段を有する、
情報処理装置。
【請求項4】
前記カウント手段は、
前記所定のワークフローに含まれる前記コンポーネントの利用履歴を、設定された前記所定のカウント対象契約に対応付けられた課金情報としてカウントする、
請求項1乃至3のいずれか一項に記載の情報処理装置。
【請求項5】
前記送信手段は、
前記所定のワークフローが実行される前に、前記所定のカウント対象契約と前記所定のワークフローとが対応付けられた旨の通知を、前記ユーザ端末を含む一以上のユーザ端末に対して送信する、
請求項1乃至4のいずれか一項に記載の情報処理装置。
【請求項6】
請求項1乃至5のいずれか一項に記載の情報処理装置であって、更に、
前記所定のワークフローが実行される前に、前記所定のワークフローが前記所定のカウント対象契約に対応付けられているかを判断する判断手段を有する、
情報処理装置。
【請求項7】
前記送信手段は、
前記判断手段によって、前記所定のワークフローが前記所定のカウント対象契約に対応付けられていないと判断された場合、前記所定の処理実行装置に対して、前記所定のカウント対象契約の設定を促す通知を送信する、
請求項6に記載の情報処理装置。
【請求項8】
前記設定手段は、
前記所定のワークフローを設定するための入力情報を送信する通信端末に対して、前記コンポーネントの利用履歴としてのカウント値を示す変数を埋め込んだ所定の文字列、又は、前記コンポーネントの実行に係る説明文を設定する、
請求項1乃至7のいずれか一項に記載の情報処理装置。
【請求項9】
前記設定手段は、
前記変数を実際にカウントされた前記カウンタ値に置き換えて前記説明文を設定する、
請求項8に記載の情報処理装置。
【請求項10】
請求項1乃至9のいずれか一項に記載の情報処理装置と、前記情報処理装置と通信ネットワークを介して接続されるユーザ端末と、を備える情報処理システムであって、
前記ユーザ端末は、
前記情報処理装置が送信した、前記所定のワークフローに対して所定のカウント対象契約と対応付けるためのカウント対象契約入力画面を表すカウント対象契約入力画面情報に基づいて、前記カウント対象契約入力画面を表示手段に表示する表示制御手段と、
前記表示手段に表示された前記カウント対象契約入力画面に対して、前記所定のワークフローに対応付けられる所定のカウント対象契約を示すカウント対象契約情報の選択を受け付ける受付手段と、
を有する、
情報処理システム。
【請求項11】
利用履歴がカウント対象となるコンポーネントを含む所定のワークフローを実行する情報処理装置が実行する情報処理方法であって、
前記所定のワークフローに対して所定のカウント対象契約と対応付けるためのカウント対象契約入力画面を表すカウント対象契約入力画面情報を、通信ネットワークを介してユーザ端末に送信する送信ステップと、
送信された前記カウント対象契約入力画面情報に基づいて前記ユーザ端末に表示された前記カウント対象契約入力画面に対する操作に応じて、前記所定のワークフローと前記所定のカウント対象契約を示す所定のカウント対象契約情報とを対応付けて設定する設定ステップと、
前記所定のワークフローが実行されたとき、設定された前記所定のカウント対象契約に対応付けて、前記所定のワークフローに含まれる前記コンポーネントの利用履歴をカウントするカウントステップと、
を含む処理を実行する情報処理方法。
【請求項12】
利用履歴がカウント対象となるコンポーネントを含む所定のワークフローを実行する情報処理装置に、
前記所定のワークフローに対して所定のカウント対象契約と対応付けるためのカウント対象契約入力画面を表すカウント対象契約入力画面情報を、通信ネットワークを介してユーザ端末に送信する送信ステップと、
送信された前記カウント対象契約入力画面情報に基づいて前記ユーザ端末に表示された前記カウント対象契約入力画面に対する操作に応じて、前記所定のワークフローと前記所定のカウント対象契約を示す所定のカウント対象契約情報とを対応付けて設定する設定ステップと、
前記所定のワークフローが実行されたとき、設定された前記所定のカウント対象契約に対応付けて、前記所定のワークフローに含まれる前記コンポーネントの利用履歴をカウントするカウントステップと、
を含む処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示内容は、情報処理装置、情報処理システム、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
近年、複数の機能(例えば、スキャン、プリント、メール配信等)を組み合わせた機能を提供するサービス等が知られるようになった。例えば、スキャンにより生成された電子ファイル(画像ファイル)に所定の処理を行った上で、メール配信するサービス等が知られている。このようなサービスは、各機能を実現する一以上の処理が一連の処理として実行されることにより実現される。
【0003】
また、複数の機能から任意の機能を選択して繋ぎ合わせた一連の処理をワークフローとして登録し、登録されている複数のワークフローから任意のワークフローを選択して実行することを可能にするフローシステムが知られている。さらに、複数のユーザの作業による複数の作業工程から構成されるワークフローを実施する前に、ワークフローの処理過程に含まれるユーザ毎に必要となる各機能別使用量を予測算出してからワークフローを実行する技術が開示されている(例えば、特許文献1参照)。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の方法では、所定のワークフローを実行する際に、そのワークフローがどのような契約に基づいて実行されるのかユーザが把握しづらいという課題があった。
【課題を解決するための手段】
【0005】
上述した課題を解決すべく、請求項1に係る発明は、利用履歴がカウント対象となるコンポーネントを含む所定のワークフローを実行する情報処理装置であって、前記所定のワークフローに対して所定のカウント対象契約と対応付けるためのカウント対象契約入力画面を表すカウント対象契約入力画面情報を、通信ネットワークを介してユーザ端末に送信する送信手段と、送信された前記カウント対象契約入力画面情報に基づいて前記ユーザ端末に表示された前記カウント対象契約入力画面に対する操作に応じて、前記所定のワークフローと前記所定のカウント対象契約を示す所定のカウント対象契約情報とを対応付けて設定する設定手段と、前記所定のワークフローが実行されたとき、設定された前記所定のカウント対象契約に対応付けて、前記所定のワークフローに含まれる前記コンポーネントの利用履歴をカウントするカウント手段と、を有する、情報処理装置である。
【発明の効果】
【0006】
本発明によれば、所定のワークフローを実行する際に、ユーザは、そのワークフローがどのような契約に基づいて実行されるのかを把握しやすくなるという効果を奏する。
【図面の簡単な説明】
【0007】
図1】情報処理システムの全体構成の一例を示す図である。
図2】ワークフローアプリの一例を示す図である。
図3】情報処理装置、通信端末、利用者端末及び請求処理システムのハードウエア構成の一例を示す図である。
図4】画像処理装置のハードウエア構成の一例を示す図である。
図5】情報処理システムの機能構成の一例を示す図である。
図6A】アプリ情報管理テーブルの一例を示す概念図である。
図6B】アプリ情報管理テーブルの別の一例を示す概念図である。
図7】データ定義の一例を示す概念図である。
図8】レイアウト情報の一例を示す概念図である。
図9】アプリ設定管理テーブルの一例を示す概念図である。
図10】請求条件管理テーブルの一例を示す概念図である。
図11A】カウント設定管理テーブルの一例を示す概念図である。
図11B】カウント設定管理テーブルの別の一例を示す概念図である。
図12】ロジック処理部の詳細構成の一例を示す図である。
図13】通信端末、利用者端末、画像処理装置及び請求処理システムの機能構成の一例を示す図である。
図14】ワークフロー設定処理の一例を示すシーケンス図である。
図15A】通信端末に表示されるワークフロー入力画面の画面遷移の一例を示す図である。
図15B】通信端末に表示されるワークフロー入力画面の画面遷移の一例を示す図である。
図15C】通信端末に表示されるワークフロー入力画面の画面遷移の一例を示す図である。
図15D】通信端末に表示されるワークフロー入力画面の画面遷移の一例を示す図である。
図16】OCR実行後の出力内容の一例を示す概念図である。
図17】通信端末に表示されるワークフロー入力画面のカウントアップ式入力の一例を示す図である。
図18】通信端末に表示されるワークフロー入力画面におけるエラー表示の一例を示す図である。
図19】通信端末に表示されるワークフロー入力画面における複数のカウンタコンポーネントを表示する一例を示す図である。
図20】アプリケーションの登録処理の一例を示すシーケンス図である。
図21】通信端末に表示されるアプリ登録画面の一例を示す図である。
図22】契約情報管理テーブルの一例を示す概念図である。
図23】利用可能アプリ管理テーブルの一例を示す概念図である。
図24A】課金設定入力処理及び利用可能アプリ登録処理の一例を示すシーケンス図である。
図24B】課金設定入力処理及び利用可能アプリ登録処理の一例を示すシーケンス図である。
図25】利用者端末に表示されるアプリ選択画面の一例を示す図である。
図26】利用者端末に表示されるカウント対象契約入力画面の一例を示す図である。
図27】利用者端末に表示されるアプリ設定完了通知の一例を示す図である。
図28】利用者端末に表示されるカウント対象契約入力画面の一例を示す図である。
図29】ワークフロー実行開始処理の一例を示すシーケンス図である。
図30】画像処理装置に表示されるアプリの実行開始画面の一例を示す図である。
図31】画像処理装置に表示される契約情報の設定を促す画面の一例を示す図である。
図32】ワークフロー実行処理の一例を示すシーケンス図である。
図33A】ワークフロー実行時の詳細処理の一例を示すシーケンス図である。
図33B】ワークフロー実行時の詳細処理の一例を示すシーケンス図である。
図34A】カウント値管理テーブルの一例を示す概念図である。
図34B】カウント値管理テーブルの別の一例を示す概念図である。
図35】第2の実施形態に係るワークフロー実行処理の一例を示すシーケンス図である。
図36A】第2の実施形態に係るワークフロー実行時の詳細処理の一例を示すシーケンス図である。
図36B】第2の実施形態に係るワークフロー実行時の詳細処理の一例を示すシーケンス図である。
【発明を実施するための形態】
【0008】
以下、図面を参照しながら、発明を実施するための形態を説明する。なお、図面の説明において同一要素には同一符号を付し、重複する部分についてはその説明を省略する。
【0009】
●第1の実施形態●
●システム構成
図1は、情報処理システムの全体構成の一例を示す図である。図1に示されている情報処理システム1は、情報処理装置10によって提供されるサービスを実行するアプリを、任意のワークフロー開発者が作成又は更新することが可能なシステムである。
【0010】
情報処理システム1は、情報処理装置10、通信端末60、画像処理装置80及び請求処理システム90を含む。情報処理システム1を構成する情報処理装置10、通信端末60、利用者端末70、画像処理装置80、及び請求処理システム90は、通信ネットワーク5を介して通信することができる。通信ネットワーク5は、インターネット、移動体通信網、LAN(Local Area Network)等によって構築されている。なお、通信ネットワーク5には、有線通信だけでなく、3G(3rd Generation)、4G(4th Generation)、5G(5th Generation)、Wi-Fi(Wireless Fidelity。Wi-Fiは登録商標)、WiMAX(Worldwide Interoperability for Microwave Access)又はLTE(Long Term Evolution)等の無線通信によるネットワークが含まれてもよい。また、情報処理装置10と、通信端末60、利用者端末70及び画像処理装置80は、NFC(Near Field Communication)等の近距離通信技術による通信機能を備えていてもよい。さらに、情報処理システム1は、通信ネットワーク5と接続される各装置及び各端末との間にファイアウォールを設け、ファイアウォールの内側にLAN(Local Area Network)などのプライベートネットワークを構築するようにしてもよい。
【0011】
情報処理装置10は、通信ネットワーク5を介して、各種サービスを提供する。情報処理装置10は、例えば、サービス利用拠点の画像処理装置80において原稿をスキャンして生成された電子ファイルを、OCR(Optical Character Reader)処理して、請求処理システム90に請求する請求サービスを提供する。また、情報処理装置10は、例えば、特定のサービスを提供するクラウドシステムに保存されている電子ファイルを、サービス利用拠点の画像処理装置80で印刷するサービス(クラウドプリントサービス)を提供する。
【0012】
なお、情報処理装置10によって提供されるサービスは、これらに限られず、例えば、特定のサービスを提供するクラウドシステムに保存されている電子ファイルを、サービス利用環境に設置されたプロジェクタで投影するサービス等であってもよいし、画像処理装置80において原稿をスキャンして生成された電子ファイルを、OCR処理の後、所定の言語に翻訳(例えば、英語から日本語)して、特定のサービスを提供するクラウドシステムに保存するサービス等であってもよい。また、本実施形態において、情報処理装置10は、上述のようなクラウドサービスを提供する例を説明するが、情報処理装置10は、例えば、ASP(Application Service Provider)によって提供されるサービス又はWebサービス等、通信ネットワーク5を介した各種サービスを提供する構成であってもよい。
【0013】
また、情報処理装置10は、種々の機能をそれぞれ実現する複数の処理のうちの一以上の処理を組み合わせた一連の処理により実現される各種のサービスを提供するワークフローアプリを有している。ここで、機能とは、文書ファイル又は画像ファイル等の電子ファイルに関する機能である。機能には、例えば、プリント、スキャン、ファクシミリ送信、データ形式の変換、メール配信、OCR処理、加工、圧縮、解凍又はリポジトリへの格納等が挙げられる。
【0014】
ここで、図2を用いて、ワークフローアプリの概略について説明する。図2は、ワークフローアプリの一例を示す図である。ワークフローアプリ(ワークフロー)とは、例えば、ユーザが希望するフローに沿ってサービス処理を行えるように、複数のコンポーネント(機能)を組み合わせて構成したアプリである。ワークフローアプリは、自社製コンポーネントだけで成り立つとは限らず、開発パートナー等の第三者が製作したコンポーネントと組み合わせて開発することもある。そのため、アプリとしては一つであっても、そのアプリを構成する個々のコンポーネントの間の設定値(仕様)がすべて一致するとは限らない。したがって、ワークフローアプリの管理には、アプリを構成するコンポーネント単位での設定値の把握が必要になる。
【0015】
図2に示されているワークフローアプリ300は、OCR実行の処理のコンポーネント301と、ファイルアップロードの処理のコンポーネント302との組み合わせを例示している。なお、ワークフローアプリ300を構成するコンポーネントの数は、二つに限るものではなく、ユーザが希望するフローに応じて適宜設定されてもよい。以下、本実施形態においてワークフローアプリは、アプリと称される。
【0016】
図1に戻り、請求処理システム90は、例えば、実行された各種アプリのサブスクリプションを管理する外部システムである。具体的には、請求処理システム90は、画像処理装置80で実行された所定のアプリを構成する各コンポーネントの利用履歴(処理回数、利用量を含む履歴情報)をカウントすることにより得られたカウント値に対応する従量課金を行うシステムである。請求処理システム90は、例えば、スキャン配信サービスにおいて、請求処理システム90によって貸し出される記憶領域に、OCR処理された電子ファイルのページ数などをカウント値(利用量)として保存(アップロード)する。
【0017】
なお、情報処理装置10及び請求処理システム90は、それぞれ単一のコンピュータによって構築されてもよいし、各装置の各部(機能又は手段)を分割して任意に割り当てられた複数のコンピュータによって構築されてもよい。また、情報処理装置10及び請求処理システム90は、例えば、各機能の全て又は一部を集約させた一台のコンピュータであってもよい。また、情報処理装置10の機能の全て又は一部は、クラウド環境に存在するサーバコンピュータであってもよいし、オンプレミス環境に存在するサーバコンピュータであってもよい。
【0018】
通信端末60は、情報処理装置10からサービスを提供するためのアプリを開発するワークフロー開発者が使用するPC等のコンピュータである。ワークフロー開発者は、アプリ開発拠点において、情報処理装置10が提供するアプリ開発ツールを利用してアプリの開発を行う。ここで、アプリ開発ツールは、複数の機能から任意の機能を選択し、それらを繋ぎ合わせた一連の処理をフローとして登録して実行できるワークフローアプリを開発できるソフトウエアである。これにより、ワークフロー開発者は、アプリ開発ツールを用いて複数の機能を組み合わせ、それらの機能に付随した設定のパラメータを選択することで希望の動作を実現することができる。なお、通信端末60は、PCに限られず、例えば、タブレット端末、スマートフォン、ウェアラブル端末等の端末であってもよい。さらに、通信端末60は、上述したワークフロー開発者がアプリ開発を行う以外にも、情報処理システム1のシステム開発者がシステム開発を行うために使用されるものであってもよい。
【0019】
利用者端末70は、情報処理装置10に対してワークフローの動作に係る設定の入力、少なくとも一以上のテナントで結ばれる課金対象契約等の選択及び設定を行うサービス管理者が使用するPC等のコンピュータである。サービス管理者は、サービス利用拠点において、情報処理装置10が提供するサービス利用ツールを利用してアプリを実行させる。ここで、アプリ利用ツールは、複数のアプリから任意のアプリを選択させ、選択させたアプリに関連付けて所定の課金対象契約を選択させた後、課金対象契約に関連付けられた所定のアプリに係る一連の処理をフローとして実行させるソフトウエアである。これにより、サービス管理者は、サービス利用ツールを用いて選択させたアプリと課金対象契約とを関連付けさせることで、希望の契約(課金契約)に基づいたワークフロー動作をサービス利用者に実現させることができる。なお、利用者端末70は、PCに限られず、例えば、タブレット端末、スマートフォン、ウェアラブル端末等の端末であってもよい。本実施形態において利用者端末70は、ユーザ端末の一例として機能する。
【0020】
画像処理装置80は、情報処理装置10によって提供されるサービスを利用するサービス利用者が使用する装置である。画像処理装置80は、例えば、MFP(Multifunction Peripheral/Printer/Product:複合機)、ファクシミリ、スキャナ、又はプリンタ等の画像処理機能並びに通信機能を備える画像形成装置である。サービス利用者は、サービス利用環境において、画像処理装置80を用いた情報処理装置10によって提供されるサービスに係る処理を行う。
【0021】
なお、サービス利用環境に設置される装置は、画像処理装置80に限られず、PJ(Projector:プロジェクタ)、IWB(Interactive White Board:相互通信が可能な電子式の黒板機能を有する白板)、PC、工作機械等の産業機械、医療機器、3Dプリンタ又は撮像装置、空調システム又は自律走行ロボット等であってもよい。また、画像処理装置80は、サービス利用環境の特定の場所に設置された装置だけでなく、持ち運び可能なハンディプリンタ又はハンディスキャナ等であってもよい。さらに、本実施形態において、サービス管理者又はサービス利用者を、単にユーザと呼ぶ場合もある。
【0022】
また、情報処理装置10が通信端末60に対してデータ(情報)を送信する場合、情報処理装置10は、通信端末60に対してプッシュ通知(送信)によりデータ(情報)を通知(送信)することが可能である。このとき、情報処理装置10は、例えば、プッシュ通知サーバの一例であるFCM(Firebase Cloud Messaging)を利用してプッシュ通知を行うことで実現するようにしてもよい。
【0023】
●ハードウエア構成
続いて、図3及び図4を用いて、実施形態に係る情報処理システムを構成する装置又は端末のハードウエア構成について説明する。なお、図3及び図4に示されている装置又は端末のハードウエア構成は、必要に応じて構成要素が追加又は削除されてもよい。
【0024】
○情報処理装置のハードウエア構成○
図3は、情報処理装置のハードウエア構成の一例を示す図である。情報処理装置10の各ハードウエア構成は、100番台の符号で示されている。情報処理装置10は、コンピュータによって構築されており、図3に示されているように、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、HD(Hard Disk)104、HDD(Hard Disk Drive)コントローラ105、ディスプレイ106、外部機器接続I/F(Interface)108、ネットワークI/F109、バスライン110、キーボード111、ポインティングデバイス112、DVD-RW(Digital Versatile Disk Rewritable)ドライブ114、及びメディアI/F116を備えている。
【0025】
これらのうち、CPU101は、情報処理装置10全体の動作を制御する。ROM102は、IPL(Initial Program Loader)等のCPU101の駆動に用いられるプログラムを記憶する。RAM103は、CPU101のワークエリアとして使用される。HD104は、プログラム等の各種データを記憶する。HDDコントローラ105は、CPU101の制御にしたがってHD104に対する各種データの読出し又は書込みを制御する。ディスプレイ106は、カーソル、メニュー、ウィンドウ、文字、又は画像等の各種情報を表示する。ディスプレイ106は、表示部の一例である。なお、ディスプレイ106は、入力手段を備えたタッチパネルディスプレイであってもよい。外部機器接続I/F108は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USBメモリ又はプリンタ等である。ネットワークI/F109は、通信ネットワーク5を利用してデータ通信をするためのインターフェースである。バスライン110は、図3に示されているCPU101等の各構成要素を電気的に接続するためのアドレスバス又はデータバス等である。
【0026】
また、キーボード111は、文字、数値、各種指示等の入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス112は、各種指示の選択もしくは実行、処理対象の選択、又はカーソルの移動等を行う入力手段の一種である。なお、入力手段は、キーボード111及びポインティングデバイス112のみならず、タッチパネル又は音声入力装置等であってもよい。DVD-RWドライブ114は、着脱可能な記録媒体の一例としてのDVD-RW113に対する各種データの読出し又は書込みを制御する。なお、着脱可能な記録媒体は、DVD-RWに限らず、DVD-R又はBlu-ray Disc(ブルーレイディスク。Blu-rayは登録商標)等であってもよい。メディアI/F116は、フラッシュメモリ等の記録メディア115に対するデータの読出し又は書込み(記憶)を制御する。
【0027】
○通信端末のハードウエア構成○
図3は、通信端末のハードウエア構成の一例を示す図である。通信端末60の各ハードウエア構成は、括弧内の600番台の符号で示されている。通信端末60は、コンピュータによって構築されており、図3に示されているように、情報処理装置10と同様の構成を備えているため、各ハードウエア構成の説明を省略する。
【0028】
○利用者端末のハードウエア構成○
図3は、利用者端末のハードウエア構成の一例を示す図である。利用者端末70の各ハードウエア構成は、括弧内の700番台の符号で示されている。利用者端末70は、コンピュータによって構築されており、図3に示されているように、情報処理装置10と同様の構成を備えているため、各ハードウエア構成の説明を省略する。
【0029】
○請求処理システムのハードウエア構成○
図3は、請求処理システムのハードウエア構成の一例を示す図である。請求処理システム90の各ハードウエア構成は、括弧内の900番台の符号で示されている。請求処理システム90は、コンピュータによって構築されており、図3に示されているように、情報処理装置10と同様の構成を備えているため、各ハードウエア構成の説明を省略する。
【0030】
○画像処理装置のハードウエア構成○
図4は、画像処理装置のハードウエア構成の一例を示す図である。図4に示されているように、画像処理装置80は、コントローラ810、近距離通信部820、エンジン制御部830、操作パネル840及びネットワークI/F850を備えている。これらのうち、コントローラ810は、コンピュータの主要部であるCPU801、システムメモリ(MEM-P)802、ノースブリッジ(NB)803、サウスブリッジ(SB)804、ASIC(Application Specific Integrated Circuit)806、記憶領域であるローカルメモリ(MEM-C)807、HDDコントローラ808、及び記憶領域であるHD809を有する。コントローラ810は、NB803とASIC806との間をAGP(Accelerated Graphics Port)バス821で接続した構成となっている。
【0031】
これらのうち、CPU801は、画像処理装置80の全体制御を行う制御部である。NB803は、CPU801と、MEM-P802、SB804及びAGPバス821とを接続するためのブリッジである。NB803は、MEM-P802に対する読み書き等を制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタ及びAGPターゲットとを有する。MEM-P802は、コントローラ810の各機能を実現させるプログラム及びデータの格納用メモリであるROM802aと、プログラム及びデータの展開、並びにメモリ印刷時の描画用メモリ等として用いるRAM802bとからなる。SB804は、NB803及びPCIバス822と、周辺デバイスとを接続するためのブリッジである。ASIC806は、画像処理用のハードウエア要素を有する画像処理用途向けのIC(Integrated Circuit)である。ASIC806は、AGPバス821、PCIバス822、HDDコントローラ808及びMEM-C807をそれぞれ接続するブリッジの役割を有する。このASIC806は、PCIターゲット及びAGPマスタ、ASIC806の中核をなすアービタ(ARB)、MEM-C807を制御するメモリコントローラ、ハードウエアロジック等により画像データの回転等を行う複数のDMAC(Direct Memory Access Controller)、並びにスキャナ部831及びプリンタ部832との間でPCIバス822を介したデータ転送を行うPCIユニットからなる。なお、ASIC806は、USB(Universal Serial Bus)のインターフェース、又はIEEE1394(Institute of Electrical and Electronics Engineers 1394)のインターフェースを接続するようにしてもよい。
【0032】
また、MEM-C807は、コピー用画像バッファ及び符号バッファとして用いるローカルメモリである。HD809は、画像データの蓄積、印刷時に用いるフォントデータの蓄積及びフォームの蓄積を行うためのストレージである。HDDコントローラ808は、CPU801の制御にしたがってHD809に対するデータの読出又は書込を制御する。AGPバス821は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインターフェースであり、MEM-P802に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。また、近距離通信部820は、近距離通信回路820a及び近距離通信回路820aのアンテナ820bを備えている。近距離通信回路820aは、NFC、Bluetooth(登録商標)、ミリ波無線通信、QRコード(登録商標)、可視光、環境音又は超音波等の近距離無線通信の通信回路である。
【0033】
さらに、エンジン制御部830は、スキャナ部831及びプリンタ部832によって構成されている。スキャナ部831及びプリンタ部832は、誤差拡散又はガンマ変換等の画像処理部分を含む。また、操作パネル840は、現在の設定値又は選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等のパネル表示部840a、並びに濃度の設定条件等の画像形成に関する条件の設定値を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等からなる操作部840bを備えている。コントローラ810は、画像処理装置80全体の制御を行い、例えば、描画、通信、及び操作パネル840からの入力等を制御する。また、ネットワークI/F850は、通信ネットワーク5を利用してデータ通信をするためのインターフェースである。近距離通信回路820a及びネットワークI/F850は、PCIバス822を介して、ASIC806に電気的に接続している。
【0034】
なお、上記各プログラムは、インストール可能な形式又は実行可能な形式のファイルで、コンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。記録媒体の例として、CD-R(Compact Disc Recordable)、DVD(Digital Versatile Disk)、Blu-ray Disc、SDカード又はUSBメモリ等が挙げられる。また、記録媒体は、プログラム製品(Program Product)として、国内又は国外へ提供されることができる。例えば、情報処理装置10は、本発明に係るプログラムが実行されることで本発明に係る情報処理方法を実現する。
【0035】
●機能構成
続いて、図5乃至図13を用いて、実施形態に係る情報処理システムの機能構成について説明する。なお、図5図12及び図13は、図1に示されている装置又は端末のうち、後述の処理又は動作に関連しているものを示す。
【0036】
○情報処理装置の機能構成○
図5は、情報処理装置の機能構成の一例を示す図である。情報処理装置10は、送受信部11、画面情報生成部12、Webサービス処理部13、入出力サービス処理部14、外部システム連携部15、ドキュメントサービス部16、判断部17、カウントサービス部18及び記憶・読出部19を有している。これら各部は、図3に示されている各構成要素のいずれかが、RAM103上に展開された情報処理装置用プログラムに従ったCPU101からの命令によって動作することで実現される機能、又は機能する手段である。また、情報処理装置10は、図3に示されているROM102、HD104及び記録メディア115のうち少なくとも一つのハードウエア資源によって構築される記憶部1000を有している。
【0037】
送受信部11は、主に、ネットワークI/F109に対するCPU101の処理によって実現され、通信ネットワーク5を介して、情報処理装置10と通信可能な通信端末60、利用者端末70、画像処理装置80、及び請求処理システム90との間で各種データ又は情報の送受信を行う。例えば、送受信部11は、通信端末60に対して、複数のコンポーネントを含むワークフローを入力するための入力画面に係る入力画面情報を送信する。また、送受信部11は、複数のコンポーネントを含むワークフローを入力する通信端末60が送信した入力情報を受信する。また、送受信部11は、利用者端末70が送信した、所定のワークフローを実行可能なテナントを識別するテナントID(テナント識別情報の一例)を受信する。また、送受信部11は、所定のワークフローに対して所定の課金対象契約(カウント対象契約の一例)と対応付けるためのカウント対象契約入力画面を表すカウント対象契約入力画面情報を、通信ネットワーク5を介して利用者端末70(ユーザ端末の一例)に送信する。また、送受信部11は、ワークフローの動作に係る設定を入力する利用者端末70が送信した、ワークフローに対する所定の契約(課金対象契約)を示す契約情報(課金対象契約情報)を受信する。また、送受信部11は、利用者端末70が送信した、少なくとも一以上のワークフローから選択された所定のワークフローを識別するための少なくとも一以上のワークフロー識別情報を受信する。また、送受信部11は、所定のワークフローが実行される前に、所定のカウント対象契約と所定のワークフローとが対応付けられた旨の通知を、ワークフローの動作に係る設定を入力する利用者端末70(ユーザ端末)を含む一以上のユーザ端末に対して送信する。また、送受信部11は、判断部17によって所定のワークフローが所定のカウント対象契約(課金対象契約)に対応付けられていないと判断された場合、所定の処理実行装置に対して、所定のカウント対象契約の設定を促す通知を送信する。また、送受信部11は、テナントごとに設定されたタイミングに応じて、カウントされた利用履歴を利用履歴に基づいて請求処理を行う請求処理システム90に送信する。本実施形態において送受信部11は、受信手段及び送信手段のうち少なくとも一方の手段の一例として機能する。
【0038】
画面情報生成部12は、主に、CPU101の処理によって実現され、ワークフロー開発者が通信端末60を用いてワークフローを設定するための画面情報を生成する。また、画面情報生成部12は、送受信部11により受信されたテナントID(テナント識別情報の一例)と、利用者端末70が送信したアプリID(ワークフローを識別するワークフロー識別情報の一例)と、に基づいて、カウント対象契約入力画面を表すカウント対象契約入力画面情報を生成する。本実施形態において、画面情報生成部12は、生成手段の一例として機能する。
【0039】
画面情報生成部12は、通信端末60からの要求に応じて、記憶部1000に記憶されているポータル画面情報350を出力する。ここで、ポータルとは、ブラウザを用いて、アプリケーション(以下、「アプリ」とも記載する)の登録等を行うことができるWebサイトである。ポータル画面情報350は、ポータルのトップ画面(ポータルトップ画面)又はアプリの入力画面等の各種画面が定義された情報である。ポータル画面情報350は、例えば、HTML(HyperText Markup Language)、XHTML(Extensible HyperText Markup Language)、CSS(Cascading Style Sheets)、又はJavaScript(登録商標)等で各種画面が定義された情報である。これにより、通信端末60は、ブラウザを用いて、ポータルトップ画面又はアプリの入力画面等を表示する。したがって、通信端末60を用いるワークフロー開発者は、アプリの入力画面(例えば、後述するワークフロー入力画面)において、アプリ(アプリ情報)の登録操作を行うことができる。
【0040】
Webサービス処理部13は、主に、CPU101の処理によって実現され、ユーザが画像処理装置80を用いて各種サービスを利用するための処理を行う。すなわち、Webサービス処理部13は、画像処理装置80のブラウザに対してWebアプリ(アプリ情報)を提供するアプリサーバとして機能する。Webサービス処理部13は、画面生成部131及びアプリ実行部132を有する。
【0041】
画面生成部131は、画像処理装置80のブラウザからの要求に応じて、記憶部1000に記憶されているアプリ画面情報及び記憶部1000に記憶されているアプリ設定情報を出力する。アプリ画面情報とは、アプリ情報により提供されるサービスを利用するための画面(アプリ画面)の雛形が定義された情報である。アプリ画面情報は、例えば、HTML、XHTML、CSS又はJavaScript等でアプリ画面の雛形が定義された情報である。また、アプリ設定情報は、アプリ(アプリ情報)の各種設定が定義された情報である。アプリ設定情報には、例えば、一連の処理の実行に用いられるパラメータのうち、ユーザにより入力されるパラメータ及びデフォルトで設定されるパラメータ等が定義されている。また、アプリ設定情報には、例えば、ユーザがアプリ画面においてパラメータを入力するための入力項目及びアプリ画面における表示情報(例えば、アプリ名)等が定義されている。アプリ設定情報は、例えば、JSON(JavaScript Object Notation)等でアプリの各種設定が定義された情報である。これにより、画像処理装置80には、ブラウザにより、情報処理装置10が提供するサービスを利用するためのアプリ画面が表示される。
【0042】
アプリ実行部132は、画像処理装置80のブラウザからの要求に応じて、入出力サービス処理部14に対して、アプリ(アプリ情報)の実行要求を出力する。
【0043】
入出力サービス処理部14は、主に、CPU101の処理によって実現され、情報処理装置10が提供するサービスに関する処理を行う。入出力サービス処理部14は、アプリ管理部141、設定部143及びロジック処理部144を有する。
【0044】
アプリ管理部141は、後述するアプリ情報管理DB1001に記憶されているアプリ情報を管理する。アプリ情報とは、一連の処理により実現されるサービスを利用するためのアプリケーションである。換言すれば、情報処理装置10が提供する各種サービスは、アプリ情報により提供される。また、アプリ管理部141は、ロジック処理部144からの要求に応じて、アプリ情報に含まれる処理フロー情報を出力する。処理フロー情報とは、アプリ情報により提供されるサービスを実現する一連の処理が定義された情報である。さらに、アプリ管理部141は、画面情報生成部12からの要求に応じて、アプリ情報を記憶部1000に記憶(登録)させる。これにより、サービスを提供するアプリ情報がアプリ管理部141によって情報処理装置10に登録される。
【0045】
設定部143は、通信端末60に対してワークフロー開発者等が操作(入力)した入力情報、又は通信端末60に表示された所定の画面に対する操作に基づいて、利用履歴がカウント対象となるコンポーネントを含むワークフロー、カウント条件、及び所定の説明文を設定(生成)する。また、設定部143は、課金対象契約情報に対応するテナントを識別するテナント識別情報に関連付けられたワークフロー識別情報のうち、少なくとも一以上のワークフロー識別情報で示されるワークフローを、所定のテナントで利用可能な所定のワークフローとして設定する。また、設定部143は、通信端末60に対して、所定の条件でカウントされるカウント値を示す変数を埋め込んだ所定の文字列又は説明文を設定する。また、設定部143は、通信端末60に対して、コンポーネントの利用履歴としてのカウント値を示す変数を埋め込んだ所定の文字列、又は、コンポーネントの実行に係る説明文を設定する。また設定部143は、カウント値を示す変数を実際にカウントされたカウンタ値に置き換えて説明文を設定する。また、設定部143は、送受信部11によって受信されたテナントID(テナント識別情報の一例)と所定のカウント対象契約情報とを対応付けて、所定のワークフローを設定する。本実施形態において設定部143は、設定手段の一例として機能する。
【0046】
ロジック処理部144は、Webサービス処理部13からの要求に応じて、アプリ情報に示されている処理フロー情報に基づいて、ドキュメントサービス又は外部サービス等の各種サービスの処理を実行する。また、ロジック処理部144は、アプリ管理部141から取得された処理フロー情報に基づいて、アプリが提供するサービスを実現する一連の処理(処理フロー)を実行する。これにより、情報処理装置10は、「ファイルアップロードサービス」等の各種サービスを提供することができる。さらに、ロジック処理部144は、ロジック処理部144内で管理されているコンポーネント群210を構成する各コンポーネントの読出し、取得の機能等も担う。
【0047】
外部システム連携部15は、主に、CPU101の処理によって実現され、請求処理システム90、外部サービス等に対して、ファイルの入出力に関する処理、又はデータの取得もしくは書込みに関する処理等を行うことが可能な機能部である。情報処理装置10は、情報処理装置10と連携して処理を行う請求処理システム90ごとに、それぞれの請求処理システム90に対応する外部システム連携部15を有する。
【0048】
外部システム連携部15は、ファイル処理部151及びデータ処理部152を有する。ファイル処理部151は、請求処理システム90に対して、ファイル関連の処理(例えば、ファイル送信又はファイル取得等)を行う。データ処理部152は、請求処理システム90に対して、ファイル以外のテキストで表現できるデータ処理(例えば、フォルダ一覧の取得等)を行う。
【0049】
ファイル処理部151は、請求処理システム90に保存されている利用履歴、電子ファイルに対する操作(例えば、取得、保存又は編集等)を行うためのAPI(Application Programming Interface)が定義された共通I/F151a及び固有I/F151bを有する。共通I/F151aは、例えば、複数の請求処理システム90間で共通に利用できるAPIであり、全ての請求処理システム90が利用できるファイル操作に関する機能(例えば、ファイルの取得又は保存等)を利用するためのAPI群である。一方、固有I/F151bは、例えば、特定の請求処理システム90において利用できるAPIであり、ある特定の請求処理システム90において利用できるファイル操作に関する機能(例えば、ドキュメントにファイルを付加等)を利用するためのAPI群である。したがって、共通I/F151aは、全ての外部システム連携部15に対して同様に定義される。一方で、固有I/F151bは、固有I/F151bで定義されるAPIが利用可能な特定の請求処理システム90に対応する外部システム連携部15に対して定義される。
【0050】
データ処理部152は、請求処理システム90に保存されている電子ファイルの書誌情報等のメタデータ(例えば、ファイル一覧又はフォルダ一覧等)を取得等するためのAPIが定義された共通I/F152a及び固有I/F152bを有する。共通I/F152aは、複数の請求処理システム90間で共通に利用できるAPIであり、全ての請求処理システム90で利用できるメタデータ取得に関する機能(例えば、ファイル一覧の取得又はフォルダ一覧の取得等)を利用するためのAPI群である。一方、固有I/F152bは、ある特定の請求処理システム90において利用できるAPIであり、ある特定の請求処理システム90において利用できるメタデータ取得等に関する機能(例えば、画像ファイル一覧の取得又は顧客情報の一覧の取得等)を利用するためのAPI群である。したがって、共通I/F152aは、全ての外部システム連携部15に対して同様に定義される。一方で、固有I/F152bは、固有I/F152bで定義されるAPIが利用可能な特定の請求処理システム90に対応する外部システム連携部15に対して定義される。
【0051】
このように、外部システム連携部15は、ファイルの配信のみを行うようなシンプルな処理を実行する場合には、共通I/Fを利用することで、さまざまな連携サービスに対して同じ作法で実現することができる。また、外部システム連携部15は、固有I/Fを利用することで、特定の連携先サービスの機能を広く活用するような連携先サービスに特化した処理を実現することができる。なお、外部システム連携部15は、後述する請求処理システム90に対するカウント値(利用量)の登録(送信)を、カウントサービス部18に代えて実行するようにしてもよい。その場合、カウント値(利用量)を送信するインターフェースは、送受信部11を介して通信ネットワーク5に送信する方式に代えて、外部システム連携部15と請求処理システム90とを直接接続可能なインターフェースで実現するようにしてもよい。
【0052】
ドキュメントサービス部16は、主に、CPU101の処理によって実現され、処理フロー情報に基づく一連の処理(処理フロー)に含まれる所定の処理を実行する。ドキュメントサービス部16は、OCR処理部161及びファイル変換部162を含む機能部を有する。
【0053】
OCR処理部161は、主に、CPU101の処理によって実現され、電子ファイルに対してOCR処理を行う。ファイル変換部162は、電子ファイルに対するフォーマット変換又は画像サイズの変換等を行う。なお、ドキュメントサービス部16は、これら以外にも、例えば、電子ファイルの圧縮又は解凍するための圧縮・解凍処理部、又は電子ファイルのメール送信を行うメール送信部等の種々の機能部が含んでいてもよい。
【0054】
判断部17は、主に、CPU101の処理によって実現され、情報処理装置10における各種判断を行う。また、判断部17は、所定のワークフローが実行される前に、所定のワークフローが所定のカウント対象契約に対応付けられているかを判断する。本実施形態において判断部17は、判断手段の一例として機能する。
【0055】
カウントサービス部18は、主に、CPU101の処理によって実現され、ワークフローが実行された場合、ワークフローに含まれるカウント対象のコンポーネントの利用履歴(例えばカウンタ情報量で示される利用量)をカウントする。カウントサービス部18がカウントするデータは、例えば、カウンタ情報(利用量)である。カウントサービス部18は、例えば、専用のアップロードモジュールをカウントサービス部18に配置し、所定期間ごとのタイミング(頻度)、又は、所定の利用者によって処理が行われたタイミングをトリガとして、ロジック処理部144からデータを収集して請求処理システム90で受信可能なデータ構造のデータに変換する。その後、データ構造が変換されたデータは、所定の利用者(テナント)ごとに設定されたタイミングに応じて、送受信部11によって、通信ネットワーク5を介して請求処理を行う請求処理システム90に送信される。一方、カウントサービス部18に代えて、コンポーネント管理部202(カウンタコンポーネント219)は、ワークフローが実行された場合、ワークフローに含まれるカウント対象のコンポーネントの利用履歴をカウントすることができる。この場合、コンポーネント管理部202(カウンタコンポーネント219)によってカウントされたカウント値(利用量)は、送受信部11から通信ネットワーク5に送信され、さらに通信ネットワーク5から請求処理システム90に送信されるようにしてもよい。本実施形態において、カウントサービス部18は、カウント手段の一例として機能する。
【0056】
記憶・読出部19は、主に、CPU101の処理によって実現され、記憶部1000に、各種データ(又は情報)を記憶したり、記憶部1000から各種データ(又は情報)を読み出したりする。また、記憶部1000は、ワークフローアプリ300及び画面情報生成部12によって提供される画面内容を示すポータル画面情報350を記憶している。本実施形態において記憶・読出部19は、記憶読出手段の一例として機能する。
【0057】
○アプリ情報管理テーブル
図6は、アプリ情報管理テーブルの一例を示す概念図である。記憶部1000には、図6A又は図6Bに示されているようなアプリ情報管理テーブルによって構成されたアプリ情報管理DB1001が構築されている。
【0058】
図6Aに示したアプリ情報管理テーブルでは、アプリ(ワークフロー)を識別するアプリIDごとに、アプリ名、アプリを構成するコンポーネントを識別するコンポーネントID、及びアプリの処理内容を示すアプリ処理情報が関連づけられて管理されている。これらのうち、コンポーネントIDは、コンポーネントを識別する識別情報である。コンポーネントは、例えば、OCR機能、画像変換機能、ファイルアップロード機能を含む。また、コンポーネントは、ワークフローにおける前段(上段)のコンポーネントの利用履歴をカウントするカウントコンポーネントを含む。アプリ処理情報は、ユーザが利用する画面に表示する情報である画面定義、及びアプリにおける処理フローを示す処理フロー情報を含む。また、画面定義は、画面に表示するデータを示すデータ定義及び画面レイアウトを示すレイアウト情報を含む。処理フロー情報は、ドキュメントサービス又は外部システム連携部15の処理等をどのように利用するかを記述している。本実施形態において、アプリIDは、ワークフロー識別情報の一例である。
【0059】
図6Bに示したアプリ情報管理テーブルも、図6Aで示したアプリ情報管理テーブルと管理される項目は同様である。但し、コンポーネントIDで示されたそれぞれのIDのうち、カウンタコンポーネントを識別するコンポーネントIDに代えて、カウント条件を識別する条件No(条件1,2等)が与えられる点が異なる。ここで、条件Noには、それぞれ異なるカウント設定が割り振られている。これにより、図6Bの場合、図6Aのようなワークフローに含まれるカウントコンポーネントをコンポーネントIDによって一意に特定される構成でなくても、ワークフローに挿入される条件Noによってカウント設定を特定することができる。
【0060】
○○データ定義
図7は、データ定義の一例を示す概念図である。図7は、画面定義に含まれるデータ定義が記述された配列を示す。図7に示されているデータ定義は、データID(data_id)、データの名称(data_key)、データ形式(format)及びデータ元(data_source)の組を配列として表現する。これらのうち、データの名称は、処理に対するパラメータとなる。また、データ形式は、画面を構成する要素であり、HTMLのフォーム要素と同じである。データ形式は、例えば、input_text、textarea、select、radio等である。データ元は、データを保持するURL(Uniform Resource Locator)を指定する。データ元は、固定であれば、直接データを記述してもよい。
【0061】
○○レイアウト情報
図8は、レイアウト情報の一例を示す概念図である。図8は、画面定義に含まれるデータ定義のデータID及びそれらを表示する位置情報を保持するレイアウト情報が記述された配列を示す。図8に示されているレイアウト情報は、データID(data_id)、表示名称(display_name)及び位置情報(layout)の組を配列として表現する。このうち、位置情報は、上から順番を指定する形式(order)ではなく、座標情報で表現する形式であってもよい。なお、通信端末60(クライアント側)でブラウザではなくクライアントアプリを用いて画面表示を行う場合、又は複雑な画面構成にしたい場合、情報処理装置10は、レイアウト情報を存在させずに、クライアント側又は画面生成過程でデータ定義を解釈する構成であってもよい。
【0062】
○アプリ設定管理テーブル
図9は、アプリ設定管理テーブルの一例を示す概念図である。記憶部1000には、図9に示されているようなアプリ設定管理テーブルによって構成されたアプリ設定管理DB1002が構築されている。
【0063】
アプリ設定管理テーブルでは、アプリを識別するアプリIDごとに、アプリを構成するコンポーネントを識別するコンポーネントID、及びコンポーネントの設定内容を示す設定情報が関連づけられたアプリ設定情報が管理されている。これらのうち、設定情報は、関連付けられたコンポーネントの設定値(パラメータ)を示す。
【0064】
○請求条件管理テーブル
図10は、請求条件管理テーブルの一例を示す概念図である。記憶部1000には、図10に示されているような請求条件管理テーブルによって構成された請求条件管理DB1003が構築されている。
【0065】
請求条件管理テーブルでは、テナント又はテナントが関連する契約の識別情報を示す契約IDごとに、テナントを識別するテナントID、アプリを識別するアプリID、メールアドレス等を一例とするユーザアカウント、及びカウント対象のコンポーネントの支払いを請求する際の条件を示す請求条件が関連付けられて管理されている。これらのうち、請求条件は、請求する頻度を示す請求頻度、請求単位、及び利用料の算出に用いられる算出式を含む。請求頻度は、例えば、月単位、週単位、利用時に随時等の頻度が設定可能である。請求単位は、例えば、契約単位、テナント単位、ユーザ単位等の単位が設定可能である。算出式は、例えば、処理回数ごと若しくはページごとの利用料(利用料金)が設定可能である。
【0066】
○カウント設定管理テーブル
図11は、カウント設定管理テーブルの一例を示す概念図である。記憶部1000には、図11A又は図11Bに示されているようなカウント設定管理テーブルによって構成されたカウント設定管理DB1004が構築されている。
【0067】
図11Aに示したカウント設定管理テーブルでは、カウンタコンポーネントを識別するカウント設定IDごとに、利用履歴をカウントする条件を示すカウント設定(条件式)が関連付けられて管理されている。これらのうち、カウント設定IDは、図6Aで説明したコンポーネントIDのうち、カウントコンポーネントに対応付けて管理され、次に説明するカウント設定(条件式)を管理するための識別情報である。カウント設定(条件式)は、コンポーネント(OCRコンポーネント)のカウント対象を表す。カウント対象は、例えば、OCRを実行したページ数、ページ数が閾値(例えば、5ページ以上)、実行されたタイミング(例えば、「executions」命令実行時)等を含む。なお、図11Aに示したカウント設定管理テーブルは、図6Aに示したアプリ情報管理テーブルと対となって使用されてもよい。
【0068】
図11Bに示したカウント設定管理テーブルでは、上述したコンポーネントIDに対応したカウント時の条件を示すカウント条件が関連付けられて管理されている。図11Bでは、図11Aに示したカウント設定IDに代えて、条件Noごとに、利用履歴をカウントする条件を示すカウント設定(条件式)が管理されている。つまり、図11Bに示したカウント設定管理テーブルは、図6Bに示したアプリ情報管理テーブルと対となって使用されてもよい。図6Bに示した条件1,2等は、図11Aに示したカウント設定管理DB1004のカウント設定IDの値(CT00001, CT00002等)に対応した条件式が与えられる。条件1は、例えば、カウント設定ID(CT00001)に対応するカウント設定(条件式)の「ocr_pages」が条件式として与えられる。同様に条件2は、例えば、カウント設定ID(CT00002)に対応するカウント設定(条件式)の「ocr_pages」が条件式として与えられる。
【0069】
○ロジック処理部の機能構成○
ここで、図12を用いて、入出力サービス処理部14が有しているロジック処理部144の機能構成について詳細に説明する。図12は、ロジック処理部の詳細構成の一例を示す図である。図12に示されているように、ロジック処理部144は、フロー実行部201、コンポーネント管理部202、カウンタコンポーネント219等の各コンポーネントが用意されるコンポーネント群210を含む。
【0070】
フロー実行部201は、例えば、外部システム連携部15における各種処理、及びドキュメントサービスが利用される順番を記述する処理内容で示された処理を解釈して実行する部分である。フロー実行部201は、処理を実行する際に、処理内容に記載された内容に従ってコンポーネントを呼び出す。なお、各種処理の構成には、コンポーネント名称、処理、オプションパラメータが含まれる。本実施形態において、フロー実行部201は、実行手段の一例として機能する。
【0071】
コンポーネント管理部202は、フロー実行部201から要求された、ワークフローを構成する各コンポーネントを生成する。また、コンポーネント管理部202は、生成した各コンポーネントをコンポーネント群210に登録し、管理する。
【0072】
管理されるコンポーネントには、例えば、OCR(Optical Character Recognition/Reader)、PDF(Portable Document Format)、音声変換、SMB(Server Message Block)、FTP(File Transfer Protocol)、カウンタコンポーネント219が含まれる。また、各コンポーネントには、それぞれのコンポーネントを識別する識別情報(ID)が付与されている。
【0073】
続いて、図13を用いて、通信端末60、画像処理装置80及び請求処理システム90の機能構成について説明する。図13は、通信端末、画像処理装置及び請求処理システムの機能構成の一例を示す図である。
【0074】
○通信端末の機能構成○
通信端末60は、送受信部61、受付部62、表示制御部63、判断部64及び記憶・読出部69を有している。これら各部は、図3に示されている各構成要素のいずれかが、RAM603上に展開された通信端末用プログラムに従ったCPU601からの命令によって動作することで実現される機能、又は機能する手段である。また、通信端末60は、図3に示されているROM602、HD604及び記録メディア615のうち少なくとも一つ以上のハードウエア資源によって構築される記憶部6000を有している。
【0075】
送受信部61は、主に、ネットワークI/F609に対するCPU601の処理によって実現され、通信ネットワーク5を介して、情報処理装置10との間で各種データ又は情報の送受信を行う。また、送受信部61は、受付部62によって受け付けられた一以上のコンポーネントの配置操作に基づくワークフローを設定するための操作情報を、情報処理装置10へ送信する。本実施形態において送受信部61は、送信手段及び受信手段のうち、少なくとも一方の一例として機能する。
【0076】
受付部62は、主に、キーボード611又はポインティングデバイス612に対するCPU601の処理によって実現され、利用者から各種の選択又は入力を受け付ける。また、受付部62は、入力画面に表示された一以上のコンポーネントの配置操作を受け付ける。また、受付部62は、カウント対象のコンポーネントに対して複数のカウント条件の入力を受け付ける。本実施形態において受付部62は、受付手段の一例として機能する。
【0077】
表示制御部63は、主に、CPU601の処理によって実現され、ディスプレイ606に、各種情報、及び画像を表示する。表示制御部63は、例えば、ブラウザを用いて、HTML等により作成された表示画面を、ディスプレイ606に表示させる。また、表示制御部63は、ワークフローを入力するための入力画面をディスプレイ606(表示手段)に表示する。また、表示制御部63は、コンポーネントの配置にエラーが発生した場合、ワークフローが正しく設定されない旨をディスプレイ606(表示手段)に表示する。また、表示制御部63は、情報処理装置10が送信した、所定の条件でカウントされるカウント値を示す変数を設定するための所定の文字列又は説明文をディスプレイ606に表示する。また、表示制御部63は、変数を実際のカウンタ値に置き換えた説明文をディスプレイ606に表示する。本実施形態において表示制御部63は、表示制御手段の一例として機能する。また、本実施形態においてディスプレイ606は、表示手段の一例として機能する。
【0078】
判断部64は、主に、CPU601の処理によって実現され、通信端末60における各種判断を行う。本実施形態において判断部64は、判断手段の一例として機能する。
【0079】
記憶・読出部69は、主に、CPU601の処理によって実現され、記憶部6000に、各種データ(又は情報)を記憶したり、記憶部6000から各種データ(又は情報)を読み出したりする。本実施形態において記憶・読出部69は、記憶読出手段の一例として機能する。
【0080】
○利用者端末の機能構成○
利用者端末70は、送受信部71、受付部72、表示制御部73及び記憶・読出部79を有している。これら各部は、図3に示されている各構成要素のいずれかが、RAM703上に展開された通信端末用プログラムに従ったCPU701からの命令によって動作することで実現される機能、又は機能する手段である。また、利用者端末70は、図3に示されているROM702、HD704及び記録メディア715のうち少なくとも一つ以上のハードウエア資源によって構築される記憶部7000を有している。
【0081】
送受信部71は、主に、ネットワークI/F709に対するCPU701の処理によって実現され、通信ネットワーク5を介して、情報処理装置10との間で各種データ又は情報の送受信を行う。本実施形態において送受信部71は、送信手段及び受信手段のうち、少なくとも一方の一例として機能する。
【0082】
受付部72は、主に、キーボード711又はポインティングデバイス712に対するCPU701の処理によって実現され、利用者から各種の選択又は入力を受け付ける。受付部72は、ディスプレイ706に表示されたカウント対象契約入力画面に対して、所定のワークフローに対応付けられる所定のカウント対象契約を示すカウント対象契約情報の選択を受け付ける。本実施形態において受付部62は、受付手段の一例として機能する。また、本実施形態において、ディスプレイ706は、表示手段の一例として機能する。
【0083】
表示制御部73は、主に、CPU701の処理によって実現され、ディスプレイ706に、各種情報及び画像を表示する。また、表示制御部73は、例えば、ブラウザを用いて、HTML等により作成された表示画面を、ディスプレイ706に表示させる。具体的には、表示制御部73は、少なくとも一以上の課金対象契約に係る課金対象契約情報を、ディスプレイ706に選択的に表示する。また、表示制御部73は、所定の課金対象契約と前記所定のワークフローとが関連付けられた旨の通知をディスプレイ706に表示する。具体的には、表示制御部73は、情報処理装置10が送信した、所定のワークフローに対して所定のカウント対象契約と対応付けるためのカウント対象契約入力画面を表すカウント対象契約入力画面情報に基づいて、カウント対象契約入力画面をディスプレイ706に表示する。本実施形態において表示制御部73は、表示制御手段の一例として機能する。また、本実施形態においてディスプレイ706は、表示手段の一例として機能する。
【0084】
記憶・読出部69は、主に、CPU701の処理によって実現され、記憶部7000に、各種データ(又は情報)を記憶したり、記憶部7000から各種データ(又は情報)を読み出したりする。本実施形態において記憶・読出部79は、記憶読出手段の一例として機能する。
【0085】
○画像処理装置の機能構成○
次に、画像処理装置80は、送受信部81、受付部82、表示制御部83、判断部84、処理実行部85及び記憶・読出部89を有している。これら各部は、図4に示されている各構成要素のいずれかが、HD809からRAM802b上に展開された画像処理装置用のプログラムに従ったCPU801からの命令によって動作することで実現される機能、又は手段である。また、画像処理装置80は、図4に示されているROM802a、及びHD809のうち少なくとも一つ以上のハードウエア資源によって構築される記憶部8000を有している。
【0086】
送受信部81は、主に、ネットワークI/F850に対するCPU801の処理によって実現され、通信ネットワーク5を介して、情報処理装置10との間で各種データ又は情報の送受信を行う。
【0087】
受付部82は、主に、操作パネル840に対するCPU801の処理によって実現され、利用者から各種の選択又は入力を受け付ける。表示制御部83は、主に、CPU801の処理によって実現され、操作パネル840に、各種画像を表示する。表示制御部83は、例えば、ブラウザを用いて、HTML等により作成された表示画面を、操作パネル840に表示する。また、表示制御部83は、情報処理装置10の判断部17によって、所定のワークフローが所定のカウント対象契約に対応付けられていないと判断された場合、すなわち、課金対象契約情報に関連付けられていないワークフローが利用されようとした場合、所定のカウント対象契約の設定を促す通知を操作パネル840に表示する。判断部84は、主に、CPU801の処理によって実現され、画像処理装置80における各種判断を行う。処理実行部85は、主に、エンジン制御部830に対するCPU801の処理によって実現され、画像データの印刷処理を実行する。
【0088】
記憶・読出部89は、主に、CPU801の処理によって実現され、記憶部8000に、各種データ(又は情報)を記憶したり、記憶部8000から各種データ(又は情報)を読み出したりする。
【0089】
○請求処理システムの機能構成○
次に、請求処理システム90は、通信部91、サービス処理部92及び記憶・読出部99を有している。これら各部は、図3に示されている各構成要素のいずれかが、RAM903上に展開された請求処理システム用プログラムに従ったCPU901からの命令によって動作することで実現される機能、又は機能する手段である。また、請求処理システム90は、図3に示されているROM902、HD904及び記録メディア915のうち少なくとも一つ以上のハードウエア資源によって構築される記憶部9000を有している。
【0090】
通信部91は、主に、CPU901の処理によって実現され、情報処理装置10との間で各種データ又は情報の通信を行う。サービス処理部92は、主に、CPU901の処理によって実現され、情報処理装置10からの要求に応じた所定のサービスを提供するための処理を実行する。本実施形態において、所定のサービスとは、複数のコンポーネント(機能)を含む所定のワークフローアプリが実行されることによって提供されるサービスを含む。
【0091】
記憶・読出部99は、主に、CPU901の処理によって実現され、記憶部9000に、各種データ(又は情報)を記憶したり、記憶部9000から各種データ(又は情報)を読み出したりする。
【0092】
●実施形態の処理又は動作
○アプリ登録処理○
続いて、図14乃至図34を用いて、実施形態に係る情報処理システムの処理又は動作について説明する。まず、図14乃至図34を用いて、ワークフロー開発者が新たにアプリを作成し、情報処理装置10が登録するまでの処理について説明する。図14は、ワークフロー設定処理の一例を示すシーケンス図である。
【0093】
まず、ワークフロー開発者が、通信端末60に設けられた入力手段に対する入力操作等を行うことで、通信端末60の送受信部61は、情報処理装置10に対して、設定開始要求を送信する(ステップS11)。これにより、情報処理装置10の送受信部11は、通信端末60が送信した設定開始要求を受信する。このとき、設定開始要求には、契約ID、テナントIDが含まれる。
【0094】
次に、情報処理装置10のロジック処理部144は記憶・読出部19と協働して、コンポーネント群210から、入力画面情報を構成するコンポーネント情報を読み出す(ステップS12)。具体的には、ロジック処理部144は、コンポーネント群210で管理されている各コンポーネントのIDを読み出すことで、各コンポーネントを設定するための画面情報を取得する。さらに、ステップS12では、画面情報生成部12によって記憶部1000の所定領域に記憶されているポータル画面情報350を出力し、通信端末60において各コンポーネントを入力するための画面情報である入力画面情報を生成する。そして、送受信部11は、通信端末60に対して、生成された入力画面情報を送信する(ステップS13)。ここで、各コンポーネントを設定するための画面情報とは、複数のコンポーネントを含むワークフローを設定するための画面情報である。これにより、通信端末60の送受信部61は、情報処理装置10から送信された各コンポーネントを設定するための画面情報である入力画面情報を受信する。
【0095】
次に、通信端末60の表示制御部63は、ステップS13で受信された入力画面情報に基づいて、ワークフロー入力画面6001をディスプレイ606に表示する(ステップS14)。図16は、通信端末に表示されるワークフロー入力画面の画面遷移の一例を示す図である。図15に示されているワークフロー入力画面6001は、ワークフロー開発者がアプリの詳細設定を行うための入力画面である。ワークフロー開発者は、ワークフロー入力画面6001を用いて、ワークフローアプリを構成する各コンポーネント(機能)により実行される処理フローの設定を行う。
【0096】
ワークフロー開発者がワークフロー入力画面6001に対して所望する各コンポーネントに対する入力操作(ドラッグ&ドロップ等)を行った場合、通信端末60の受付部62は、ワークフロー開発者が行った操作(入力)を受け付ける(ステップS15)。
【0097】
<<ワークフロー入力画面の画面遷移>>
続いて、ステップS15でワークフロー開発者が行った操作(入力)に伴う通信端末60の画面遷移について説明する。図15Aは、通信端末に表示されるワークフロー入力画面の画面遷移の一例を示す図である。図15Aに示されているように、通信端末60の表示制御部63は、例えば、ワークフロー開発者の操作に応じて、ディスプレイ606にワークフロー入力画面6001を表示する。ワークフロー入力画面6001において、表示制御部63は、ステップS13で受信したワークフローアプリを構成する各コンポーネントを並べて表示する。具体的には、表示制御部63は、例えば、OCRコンポーネント、FTPコンポーネント、PDFコンポーネント、SMBコンポーネント及びカウンタコンポーネントをワークフロー入力画面6001の所定の領域に並べて表示する。このとき、表示されるコンポーネントは、情報処理装置10で管理されている全てのコンポーネントが表示されるようにしてもよいし、一部のコンポーネントが表示されるようにしてもよい。
【0098】
続いて、ワークフロー開発者がワークフロー入力画面6001に対して任意のコンポーネントを配置した場合の画面遷移について説明する。図15Bは、通信端末に表示されるワークフロー入力画面の画面遷移の一例を示す図である。図15Bに示されているように、ワークフロー開発者は、ワークフロー入力画面6001に表示されている任意のコンポーネントをクリックし、その後、ワークフロー入力画面6001の余白部分をクリックすることでクリックした任意のコンポーネントが配置される。もしくは、ワークフロー入力画面6001に配置された各コンポーネントのうち任意のコンポーネントに対してワークフロー入力画面6001の余白部分にドラッグ&ドロップ等操作を行う。図15Bの場合、ワークフロー開発者は、OCRコンポーネントを選択してドラッグ&ドロップする。これにより、表示制御部63は、ワークフロー入力画面6001においてワークフロー開発者がドロップした位置(座標位置)に、OCRコンポーネントのアイコン等を配置する。
【0099】
続いて、ワークフロー開発者がワークフロー入力画面6001に対してさらに任意のコンポーネントを配置した場合の画面遷移について説明する。図15Cは、通信端末に表示されるワークフロー入力画面の画面遷移の一例を示す図である。図15Cに示されているように、ワークフロー開発者は、ワークフロー入力画面6001に配置したOCRコンポーネントに続いて、ワークフロー入力画面6001の余白部分にSMBコンポーネント及びカウンタコンポーネントの順番でドラッグ&ドロップする。これにより、表示制御部63は、ワークフロー入力画面6001においてワークフロー開発者がドロップした位置(座標位置)に、SMBコンポーネント及びカウンタコンポーネントのアイコン等を配置する。これにより、処理の流れとしては、OCRを実行したファイルをSMBで保存し、その後OCRの実行ページ数をカウントアップするというワークフローが生成される。さらに、OCRコンポーネント、SMBコンポーネント及びカウンタコンポーネント間は、それぞれ矢印で結ばれる。矢印は、ワークフロー開発者がマウス等のポインティングデバイスを用いてそれぞれのコンポーネントをドラッグ&ドロップ等した後のタイミングなどを利用して、互いに結線可能な位置関係にあると判断された場合に結線表示されるようなUI(User Interface)が提供されてもよい。
【0100】
続いて、ワークフロー開発者がワークフロー入力画面6001に対してさらに任意のコンポーネントを配置した場合の画面遷移について説明する。図15Dは、通信端末に表示されるワークフロー入力画面の画面遷移の一例を示す図である。図15Dに示されているように、ワークフロー開発者は、図15Bにおいてワークフロー入力画面6001に配置したOCRコンポーネントに続いて、ワークフロー入力画面6002の余白部分にカウンタコンポーネント及びSMBコンポーネントの順番でドラッグ&ドロップする。これにより、表示制御部63は、ワークフロー入力画面6001においてワークフロー開発者がドロップした位置(座標位置)に、カウンタコンポーネント及びSMBコンポーネントのアイコン等を配置する。これにより、処理の流れとしては、OCRを実行したファイルをカウントアップし、SMBで保存するというワークフローが生成される。さらに、OCRコンポーネント、カウンタコンポーネント及びSMBコンポーネント間は、それぞれ矢印で結ばれる。
【0101】
図15Dの場合、処理の流れとしては、OCRの実行ページ数等をカウントアップし、その後、OCRを実行したファイルをSMBで保存するというワークフローになっている。この場合、OCRの実行ページ数等をカウントアップした後のSMBコンポーネントの処理については、正常に動作するか否かは問わないワークフローの仕様となっている。
【0102】
図14に戻り、送受信部61は、情報処理装置10に対して、ステップS15で受け付けられた操作(入力)に応じた入力情報を送信する(ステップS16)。これにより、情報処理装置10の送受信部11は、通信端末60が送信した入力情報を受信する。この入力情報には、ステップS15でアプリ設定の入力が受け付けられたアプリのアプリID、選択されたカウント対象の情報、カウント条件が含まれる。
【0103】
図16は、OCR実行後の出力内容の一例を示す概念図である。図16に示されているOCR実行後の出力内容として、例えば、ファイル名:「output.pdf」、ファイルサイズ:「307200」、及びページ数:「5」が示されている。
【0104】
情報処理装置10の判断部17は、ステップS16で受信した入力情報に基づいて、設定部143がワークフローを設定可能であるかを判断する(ステップS17)。このとき、判断部17は、設定部143がワークフローを設定可能であるか否かを判断するようにしてもよい。
【0105】
判断部17によってワークフローを設定可能であると判断された場合、入出力サービス処理部14の設定部143は、ステップS16で通信端末60から受信したアプリIDを含む入力情報で示されるカウンタコンポーネント219を含むワークフローをアプリ情報管理DB1001(図6参照)に設定する(ステップS18)。このときに設定される内容は、例えば、アプリIDに対応するアプリ名とコンポーネントIDである。具体的には、設定部143は、ステップS13で送信された入力画面情報に基づいて通信端末60に表示された入力画面に対して操作(入力)された入力情報に応じて、利用履歴がカウント対象となるコンポーネントを含むワークフローを設定する。
【0106】
他方、ステップS17において、判断部17によってワークフローを設定可能でないと判断された場合、情報処理装置10は、以降のステップS18及びS19の処理を行わずこのシーケンスを抜ける。この場合、情報処理装置10の送受信部11は、通信端末60に対して、ワークフローが設定できない旨の通知を送信するようにしてもよい。
【0107】
次に、入出力サービス処理部14のアプリ管理部141は、ステップS16で設定されたアプリ情報管理DB1001(図6参照)に含まれるコンポーネントID又はカウント条件(条件)に関連づけて、記憶・読出部19と協働してカウント設定管理DB1004(図11参照)に登録する(ステップS19)。具体的には、アプリ管理部141は、ステップS16で設定されたアプリ情報管理DB1001(図6参照)に含まれるコンポーネントID又はカウント条件(条件)に関連づけて、カウント設定(条件式)をアプリ設定に含まれるカウント設定として、カウント設定管理DB1004(図11参照)に登録する。
【0108】
このように、情報処理装置10は、ワークフロー開発者等からの操作入力に応じて、複数のコンポーネントを含むワークフローアプリを生成することができる。
【0109】
本実施形態に係る情報処理システムでは、例えば、上述したステップS11及びS13の処理が実行される場合、通信端末60と情報処理装置10との間に他の装置等が存在してもよい。つまり、通信端末60と情報処理装置10との間で送受信される各情報(データ)は、一度他の装置を介して送受信されるような構成であってもよい。上述した構成は、通信端末60と情報処理装置10との間に他の処理ステップが存在しても適用可能である。
【0110】
<<ワークフロー設定時の画面表示例1>>
図17は、通信端末に表示されるワークフロー入力画面のカウントアップ式入力の一例を示す図である。図17に示されているように、通信端末60の表示制御部63は、ディスプレイ606にワークフロー入力画面6101を表示する。図17では、表示制御部63は、図15Dで示したワークフロー入力画面6101に表示されたカウンタコンポーネントに対して、例えば、カウントアップを実行するためのダイアログで示されるカウントアップ式6102をポップアップ表示する。なお、表示されるカウントアップ式6102は、ポップアップ表示されるダイアログに限らず、例えば、ワークフロー開発者等によって配置されたコンポーネントを示す枠内に設けられてもよい。これにより、ワークフロー開発者は、カウントアップ式6102を含むコンポーネントが表示された画面に対して、カウント条件を設定することが可能になる。このような表示方法を採用することで、ポップアップ表示によって他のコンポーネントの表示が塞がれるような状況を回避することも期待できる。図17に示した例では、ワークフロー開発者がOCR後の出力内容として「ocr.pages」という式をカウントアップ式6102に設定しておくと、設定部143によって、図16で説明したように「pages」に対応する値「5」が設定される。これにより、図17で示されたカウントアップ式では、「5」がカウントアップする値に設定される。なお、現在のカウント値をアプリ上で確認する構成として、カウント値を含む説明文をワークフロー設定におけるカウンタコンポーネントの配置から自動的に設定(生成)することも可能である。例えば、「ocr.pages」というカウントアップ式が設定されている場合、設定部143は、ocrで対象のコンポーネントを決定し、pagesでカウント対象を決定する。これらに対し、設定部143は、「現在{{component}}で実行した{{unit}}は{counter}です。」といった定型文に当てはめることで説明文を設定(生成)する。カウントアップ式は、例えば、{{component}}.{{unit}}の形式となっており、ocr.pagesという式の場合、componentがocrキー、unitがpagesキーとなる。このようにキーごとに所定のラベルを保持したうえで、ocrキーに対応するラベルをOCR、pagesに対応するラベルをページ数として管理することで、設定部143は、「現在OCRで実行したページ数は{counter}です。」という定型文を設定(生成)することができる。なお、{counter}は、指定変数であり、アプリ上に表示される際には、そのアプリの現在値に置き換えられる。上述したように、ワークフローは、通信端末60に表示された入力画面に対する操作に応じて、カウント対象のコンポーネントの利用履歴をカウント条件に基づいてカウントするカウンタコンポーネントを含む。そして、ワークフローに含まれるカウンタコンポーネントが実行された場合に、カウント対象のコンポーネントの利用履歴をカウントする。
【0111】
<<ワークフロー設定時の画面表示例2>>
図18は、通信端末に表示されるワークフロー入力画面におけるエラー表示の一例を示す図である。図18に示されているように、通信端末60の表示制御部63は、ディスプレイ606にワークフロー入力画面6201を表示する。図18では、表示制御部63は、ワークフロー開発者によってドラッグ&ドロップされたカウンタコンポーネント、OCRコンポーネント及びSMBコンポーネントのうちカウンタコンポーネントに対して、カウントアップを実行するためのダイアログで示されるカウントアップ式6202をポップアップ表示する。
【0112】
図18に示した例は、情報処理装置10の判断部17が上述したステップS17においてワークフロー設定可否の判断処理を実行した結果、エラーとなった場合に表示される画面例である。具体的には、フロー作成エディタでフローを保存する際に、情報処理装置10の判断部17は、カウントアップ式の「ocr」に対応する処理がカウンタコンポーネントの前段に存在するか否かをチェックする。ここで前段とは、現在処理が実行されているコンポーネントから見て実行済みの処理が配置されている位置をいう。換言すれば、時間軸における過去の処理に対応する位置をいう。他方、後段とは、現在処理が実行されているコンポーネントから見て未実行の処理が配置されている位置をいう。換言すれば、時間軸における未来の処理に対応する位置をいう。チェックした結果、カウントアップ式の「ocr」に対応する処理がカウンタコンポーネントの前段に存在しない場合(すなわち、カウント対象のコンポーネントの前段に、カウンタコンポーネントが配置された場合)は正しくカウントすることができないため、送受信部11は、ワーフクローを設定できない旨を表示する画面である通知画面を示す通知画面情報を、通信端末60に対して送信する。そして、通信端末60の表示制御部63は、情報処理装置10が送信した通知画面情報に基づいて、エラーのダイアログを示すエラー画面6203を表示する。エラー画面6203の表示方法は、図18に示されたように、カウントアップ式6202のダイアログに重ねる形でエラー画面6203のダイアログがポップアップ表示されてもよい。すなわち、情報処理装置10は、通信端末60と協働して利用者にエラー通知を行う。なお、上述した場合以外にも、同一のカウントアップ式で複数カウンタコンポーネントが配置されているケースなどでエラー通知を行う。但し、判断部17による判断処理は、ワークフローの種類を問わず実行されるようにしてもよい。
【0113】
<<ワークフロー設定時の画面表示例3>>
図19は、通信端末に表示されるワークフロー入力画面における複数のカウンタコンポーネントを表示する一例を示す図である。図19に示されているように、通信端末60の表示制御部63は、ディスプレイ606にワークフロー入力画面6301を表示する。図19では、表示制御部63は、ワークフローアプリを構成する各コンポーネント(OCRコンポーネント、OCRコンポーネント、SMBコンポーネント)を順番に並べて表示し、各コンポーネントを矢印で結線している。表示制御部63は、さらに、SMBコンポーネントの後段に二つのカウンタコンポーネントを並列に並べて表示し、前段のSMBコンポーネントからそれぞれに対して矢印で結線している。さらに、表示制御部63は、二つのカウンタコンポーネントの各々に対して、カウントアップ式6302及びカウントアップ式6303のダイアログをそれぞれ関連付けてポップアップ表示する。
【0114】
並列に表示された二つのカウンタコンポーネントのうち、一方のカウンタコンポーネントのカウントアップ式6302のダイアログには「ocr.pages」が与えられ、他方のカウンタコンポーネントのカウントアップ式6303のダイアログには「ocr_jp.pages」が与えられている。このようにして設定されるワークフローでは、OCRコンポーネントが複数配置されている。このような場合は、ワークフロー開発者は、同一のコンポーネントを識別するためのワークフロー内で任意のラベルを設定することができる。ワークフロー開発者によってラベルが設定された場合、各カウンタコンポーネントにおいてラベルを指定した式が与えられれば、それぞれLabel:ocrで出力されたページ数、Label:ocr_jpで出力されたページ数をカウントアップすることができる。
【0115】
○アプリケーション登録処理○
続いて、通信端末に対する設定によるアプリケーション登録処理について説明する。図20は、アプリケーションの登録処理の一例を示すシーケンス図である。
【0116】
まず、ワークフロー開発者が、通信端末60に設けられた入力手段に対する入力操作等を行うことで、通信端末60の送受信部61は、情報処理装置10に対して、設定開始要求を送信する(ステップS21)。これにより、情報処理装置10の送受信部11は、通信端末60が送信した設定開始要求を受信する。このとき、設定開始要求には、契約ID、テナントID及びアプリIDが含まれる。
【0117】
次に、情報処理装置10の記憶・読出部19は、記憶部1000の所定領域に記憶されているパラメータとしての文字列を読み出す(ステップS22)。
【0118】
次に、送受信部11は、ステップS22で読み出された入力画面情報を通信端末60に送信する(ステップS23)。これにより、通信端末60の送受信部61は、情報処理装置10が送信した入力画面情報を受信する。このとき、入力画面情報には、パラメータとしての文字列を含み、画面情報生成部12で生成された画面情報に係る画面情報データが含まれる。
【0119】
<<アプリ登録画面>>
続いて、通信端末60の表示制御部63は、ステップS23で受信された入力画面情報に基づいて、アプリ登録画面6501をディスプレイ606に表示する(ステップS24)。図21は、通信端末に表示されるアプリ登録画面の一例を示す図である。
【0120】
図21に示されているように、アプリ登録画面6501では、例えば、タイプ選択、基本設定、詳細設定、カウンタ設定及び登録の各タブによって分けられた各種登録用の画面が表示される。図21に示した例では、カウンタ設定のタブにおける設定画面が例示されている。また、カウンタ設定のタブにおける設定画面では、カウンタの設定を行うための説明文が表示される。この場合の説明文は、例えば、「現在OCRで実行したページ数は{counter}です。100ページまでは無料です。」といった内容の文がアプリ開発者によって入力される。このとき、説明文には、ページ数を設定するための指定変数{counter}が含まれる。この場合の指定変数は、ワークフロー設定時の画面表示例1で説明したとおりである。
【0121】
図20に戻り、通信端末60の受付部62は、アプリ開発者が入力した説明文中の変数、及び各種設定値(アプリ処理情報)の入力を受け付ける(ステップS25)。
【0122】
続いて、送受信部61は、情報処理装置10に対して、ステップS25で受け付けられた操作(入力)に応じた入力情報を送信する(ステップS26)。これにより、情報処理装置10の送受信部11は、通信端末60が送信した入力情報を受信する。この入力情報には、アプリID、ステップS25でアプリ登録のための入力が受け付けられたアプリ処理情報、入力した文字列及び変数が含まれる。
【0123】
次に、入出力サービス処理部14のアプリ管理部141は、ステップS26で受信された入力情報に基づいて、アプリ処理情報をアプリ情報管理DB1001(図6参照)に登録する(ステップS27)。更に、設定部143は、ワークフロー開発者が入力した変数を実際にカウントされたカウンタ値に置き換えて説明文を設定する。
【0124】
このように、情報処理装置10は、ワークフロー開発者等からの操作入力に応じて、所定のワークフローアプリを登録することができる。
【0125】
○契約情報設定処理
続いて、サービス管理者による契約情報入力時の契約情報設定処理について説明する。
【0126】
○契約情報管理テーブル
図22は、契約情報管理テーブルの一例を示す概念図である。記憶部1000には、図22に示されているような契約情報管理テーブルによって構成された契約情報管理DB1006が構築されている。
【0127】
図22に示した契約情報管理テーブルでは、契約情報を識別する契約IDごとに、テナントを識別するテナントID、アプリID、利用者端末70を利用する利用者を識別するユーザアカウント(管理者IDを含む)、ワークフローが実行される際に課金対象となる契約を示す課金対象契約、課金請求先、ワークフローが実行される際の初期設定となるデフォルトパラメータが関連付けられて管理されている。デフォルトパラメータには、OCR言語、白紙除去、並びに、ファイル及びデータ等を配信する配信先が含まれる。
【0128】
○利用可能アプリ管理テーブル
図23は、利用可能アプリ管理テーブルの一例を示す概念図である。記憶部1000には、図23に示されているような利用可能アプリ管理テーブルによって構成された利用可能アプリ管理DB1007が構築されている。
【0129】
図23に示した利用可能アプリ管理テーブルでは、契約IDごとに、テナントID及びアプリIDが関連付けられて管理されている。利用可能アプリ管理テーブルでは、サービス管理者が利用者端末70にて選択した課金対象契約に対応する契約IDに関連付けられて利用可能となったアプリを識別するアプリIDが、テナントIDとともに管理されている。
【0130】
図24Aは、課金設定入力処理及び利用可能アプリ登録処理の一例を示すシーケンス図である。まず、サービス管理者が、利用者端末70に設けられた入力手段に対する入力操作等を行うことで、利用者端末70の送受信部71は、情報処理装置10に対して設定開始要求を送信する(ステップS41)。これにより、情報処理装置10の送受信部11は、利用者端末70が送信した設定開始要求を受信する。このとき、設定開始要求には、テナントIDが含まれる。なお、ステップS41の処理は、例えば、サービス管理者がテナントIDを入力することによって行われるログイン処理であってもよい。
【0131】
次に、情報処理装置10の記憶・読出部19は、ステップS41で受信したテナントIDを検索キーとして請求条件管理DB1003(図10参照)を検索することにより、対応する契約ID及びアプリIDを読み出す(ステップS42)。
【0132】
次に、画面情報生成部12は、記憶部1000の所定領域に記憶されている画面情報の雛形から、アプリ選択画面情報を生成する(ステップS43)。具体的には、画面情報生成部12は、ステップS42の処理で用いたテナントIDと、請求条件管理DB1003(図10参照)から読み出されたアプリIDとを用いて、例えば、記憶部1000の所定領域に記憶されている画面情報の雛形から、アプリ選択画面に係るアプリ選択画面情報を生成する。このとき、画面情報生成部12に代えて、Webサービス処理部13の画面生成部131が、上述したアプリ選択画面情報を生成してもよい。
【0133】
続いて、送受信部11は、利用者端末70に対してアプリ選択画面情報を送信する(ステップS44)。これにより、利用者端末70の送受信部71は、情報処理装置10が送信したアプリ選択画面情報を受信する。このとき、アプリ選択画面情報には、利用者端末70においてアプリを選択するための画面データであるアプリ選択画面情報(データ)、及びアプリの一覧を示すアプリ一覧情報が含まれる。
【0134】
<<アプリ選択画面>>
続いて、利用者端末70の表示制御部73は、ステップS43で受信されたアプリ選択画面情報に基づいて、アプリ選択画面7101をディスプレイ706に表示する(ステップS45)。図25は、利用者端末に表示されるアプリ選択画面の一例を示す図である。
【0135】
図25に示されているように、アプリ選択画面7101では、例えば、テナントAにおいて登録されたアプリ一覧として、ワークフローアプリAのアイコンとワークフローアプリBのアイコンが表示される。アプリ選択画面7101において、サービス管理者は、ワークフローアプリAを選択(押下又はタップ等)することでワークフローアプリの選択を確定させる。これにより、利用者端末70の受付部72は、サービス管理者の操作に伴うワークフローアプリの選択を受け付ける(ステップS46)。その後、表示制御部73は、アプリ選択画面7101から、選択したアプリの設定画面へ画面を遷移させる。なお、図25に示したように、アプリを選択するために別途設けられたアプリ選択ボタン7151が操作(押下又はタップ等)されることにより、ワークフローアプリの選択が確定されるようなUIが提供されてもよい。アプリ選択画面7101では更に、他のテナント(例えばテナントB)において登録されたワークフローアプリがワークフローアプリC及びワークフローアプリDであれば、ワークフローアプリCのアイコン及びワークフローアプリDのアイコンが表示される。なお、アイコンに代えてボタン等が表示されてもよい。
【0136】
図24Aに戻り、利用者端末70の送受信部71は、情報処理装置10に対してアプリ設定要求を送信する(ステップS47)。これにより、情報処理装置10の送受信部11は、利用者端末70が送信したアプリ設定要求を受信する。このとき、アプリ設定要求には、アプリIDが含まれる。具体的には、送受信部71は、図25に示したようなアプリ選択画面7101においてアプリの選択(ワークフローアプリの選択)の受付が行われた後、選択されたアプリを示すアプリIDを含むアプリ設定要求を情報処理装置10に対して送信する。
【0137】
次に、情報処理装置10の画面情報生成部12は、記憶部1000の所定領域に記憶されている画面情報の雛形から、カウント対象契約入力画面情報を生成する(ステップS48)。具体的には、画面情報生成部12は、ステップS41の処理で受信したテナントIDと、特定されたアプリIDに対応するアプリ(ワークフロー)で設定されるデフォルトパラメータ設定の項目と、に基づいて、例えば、記憶部1000の所定領域に記憶されている画面情報の雛形から、カウント対象契約入力画面に係るカウント対象契約入力画面情報を生成する。このとき、画面情報生成部12に代えて、Webサービス処理部13の画面生成部131が、上述したカウント対象契約入力画面情報を生成してもよい。
【0138】
続いて、送受信部11は、利用者端末70に対してカウント対象契約入力画面情報を送信する(ステップS49)。これにより、利用者端末70の送受信部71は、情報処理装置10が送信したカウント対象契約入力画面情報を受信する。なお、カウント対象契約入力画面は、所定のワークフローに対して所定のカウント対象契約と対応付けるための画面である。このとき、カウント対象契約入力画面情報には、利用者端末70において配信アプリに係る詳細情報を入力するためのデフォルトパラメータ情報、課金対象とするカウント対象契約を選択するための課金設定情報、契約IDが含まれる。具体的には、送受信部11は、ワークフロー開発者が入力した所定のワークフローに対して所定のカウント対象契約と対応付けるためのカウント対象契約入力画面を表すカウント対象契約入力画面情報を、通信ネットワーク5を介して利用者端末70(ユーザ端末)に送信する。
【0139】
本実施形態に係る情報処理システムでは、例えば、上述したステップS41及びS44の処理が実行される場合、利用者端末70と情報処理装置10との間に他の装置等が存在してもよい。つまり、利用者端末70と情報処理装置10との間で送受信される各情報(データ)は、一度他の装置を介して送受信されるような構成であってもよい。上述した構成は、利用者端末70と情報処理装置10との間に他の処理ステップが存在しても適用可能である。
【0140】
<<カウント対象契約入力画面>>
続いて、利用者端末70の表示制御部73は、ステップS49で受信されたカウント対象契約入力画面情報に基づいて、カウント対象契約入力画面7111をディスプレイ706に表示する(ステップS50)。図26は、利用者端末に表示されるカウント対象契約入力画面の一例を示す図である。
【0141】
図26に示されているように、カウント対象契約入力画面7111では、デフォルトパラメータ設定の項目と課金設定の項目が表示されている。デフォルトパラメータの項目では、OCR言語として「日本語」、白紙除去として「あり」、配信先として「フォルダA」がプルダウンキーとあわせて表示されている。これにより、サービス管理者は、それぞれのプルダウンキーを用いて任意のパラメータを再設定することもできる。
【0142】
また、課金設定の項目では、「人事部契約」が表示されている。課金設定についても同様に、サービス管理者は、プルダウンキーを用いて他の課金設定を表す契約を再選択することもできる。そして、サービス管理者は、設定ボタン7161を操作することにより、再設定及び再選択した内容を確定させることができる。一方、サービス管理者は、キャンセルボタン7162を操作することにより、再設定及び再選択した内容又は処理をキャンセルさせることもできる。
【0143】
図24Bは、課金設定入力処理及び利用可能アプリ登録処理の一例を示すシーケンス図である。利用者端末70の受付部72は、サービス管理者が設定及び選択した設定内容を受け付ける(ステップS51)。
【0144】
次に、送受信部71は、情報処理装置10に対して設定入力情報を送信する(ステップS52)。これにより、情報処理装置10の送受信部11は、利用者端末70が送信した設定入力情報を受信する。このとき、設定入力情報にはテナントID、設定対象のアプリID、デフォルトパラメータ設定情報、所定のカウント対象契約の一例である課金対象契約情報と課金対象となる契約の契約IDが含まれる。
【0145】
次に、設定部143は記憶・読出部19と協働して、ステップS52で受信した設定入力情報に基づいて、契約情報管理DB1006(図22参照)に対して、アプリケーションのパラメータを設定し、所定のカウント対象契約の一例である課金対象契約に係る課金対象契約情報を登録する(ステップS53)。具体的には、設定部143は、ステップS52で受信した所定のワークフローと所定の課金対象契約情報(例えば、「人事部契約情報」等)とを対応付けて設定する。この場合の課金対象契約情報は、所定のカウント対象契約を示す所定のカウント対象契約情報の一例である。設定部143は更に、契約情報管理DB1006(図22参照)で管理されている契約IDに対応する課金対象契約情報の一例である課金対象契約、課金請求先、及びデフォルトパラメータをそれぞれ登録する。
【0146】
続いて、設定部143は記憶・読出部19と協働して、ステップS53で登録された契約情報管理DB1006(図22参照)の契約ID及びテナントIDに対応する利用可能アプリを示すアプリIDを、利用可能アプリ管理DB1007(図23参照)に設定して登録する(ステップS54)。具体的には、設定部143及び記憶・読出部19は、ステップS52で利用者端末70(ユーザ端末)から受信した課金対象契約を示す契約IDに基づいて、契約IDに関連付けられたテナントIDと、契約IDに関連付けられることによって利用可能となるアプリ(ワークフローアプリ)のアプリIDと、をそれぞれ対応付けて設定、登録する。
【0147】
続いて、送受信部11は、所定のワークフローが実行される前に、利用者端末70に対して設定完了通知を送信する(ステップS55)。これにより、利用者端末70の送受信部71は、情報処理装置10が送信した設定完了通知を受信する。このときに送信される設定完了通知は電子メール(email)による通知であってもよく、設定完了通知には、通知の宛先となる管理者ユーザアカウント、設定完了通知を表す通知内容が含まれる。更に、このときに送信される設定完了通知は、利用者端末70を利用するユーザ(例えば、サービス管理者)以外にも送信されてよい。この場合、例えば、サービス管理者と同じテナントに所属し、上述したサービス管理者と同等の契約設定権限が与えられた他のサービス管理者に対して、設定完了通知が一斉配信されるようにしてもよい。更に、設定完了通知は、契約情報管理DB1006(図22参照)で管理されるテナントIDに対応付けられたユーザアカウントで表される全てのユーザに対して、一斉配信されるようにしてもよい。これらの配信形態により、利用者端末70を利用する一以上のユーザ(例えば、サービス管理者)は、サービス管理者が所属するテナントと所定のワークフローアプリ(例えば、OCR配信アプリケーション)とが、所定のカウント対象契約に対応付けられたことを、所定のワークフローアプリが実行する前に知ることができる。
【0148】
次に、利用者端末70の表示制御部73は、受信された設定完了通知を含む設定完了通知画面7121(電子メールの内容)をディスプレイ706に表示する(ステップS56)。
【0149】
このように、情報処理装置10は、サービス管理者からの操作入力に応じて、所定のワークフローアプリに対して結ばれる契約情報の一例である課金対象契約情報、及び所定のパラメータを登録することができる。さらに、情報処理装置10は、サービス管理者に代えて一般のサービス利用者からの操作入力に応じて、所定のパラメータを登録することができる。この場合、サービス利用者が実行可能な処理は、上述したステップS41-S50、及びステップS51-S56までの処理のうち、ステップS52における課金対象契約の選択及び設定を除く処理となる。
【0150】
<<アプリ設定完了通知画面>>
図27は、利用者端末に表示されるアプリ設定完了通知の一例を示す図である。図27に示されているように、利用者端末70の表示制御部73は、ステップS55で受信された設定完了通知に基づいて設定完了通知画面7121をディスプレイ706に表示する。設定完了通知画面7121は、例えば電子メール(email)による通知画面であり、宛先には、契約情報管理DB1006(図22参照)で管理されているユーザアカウントのうち、サービス管理者として割り当てられた管理者IDで示される少なくとも一以上の電子メールアドレスが割り当てられている。これにより、少なくとも一以上のサービス管理者はアプリ設定完了通知に係る電子メールを受信することができるため、所定のテナントに所属する利用者が利用するアプリに対して、所定の課金設定契約が結ばれたことを認識することが可能になる。なお、アプリ設定完了通知は、電子メールに限らずチャット等による通知であってもよい。
【0151】
<<配信アプリ設定入力画面>>
図28は、利用者端末に表示される配信アプリ設定入力画面の一例を示す図である。図28に示されているように、配信アプリ設定入力画面7211では、デフォルトパラメータ設定の項目と課金設定の項目が表示されている。デフォルトパラメータの項目では、OCR言語として「日本語」、白紙除去として「あり」、配信先として「フォルダA」がプルダウンキーとあわせて表示されている。これにより、サービス利用拠点のサービス利用者は、それぞれのプルダウンキーを用いて任意のパラメータを再設定することもできる。そして、利用者は、設定ボタン7261を操作することにより、再設定した内容を確定させることができる。一方、利用者は、キャンセルボタン7262を操作することにより、再設定した内容又は処理をキャンセルさせることもできる。なお、サービス利用者が操作可能な配信アプリ設定入力画面7211では、サービス管理者が設定可能な所定の契約に係る契約設定権限が与えられないため、カウント対象契約の一例である課金対象契約(課金設定)の項目は表示されない。
【0152】
○ワークフロー実行処理○
続いて、サービス利用者によるサービス利用時のワークフロー実行処理について説明する。図29は、ワークフロー実行開始処理の一例を示すシーケンス図である。図29では、まず、画像処理装置80の表示制御部83は、操作パネル840にアプリ実行開始画面を表示する(ステップS71)。
【0153】
次に、画像処理装置80の受付部82は、サービス利用者が後述するアプリ実行開始画面に対して操作入力した各種パラメータへの入力及び設定ボタンへの入力を受け付けた後(ステップS72)、送受信部11は、情報処理装置10に対してアプリ実行要求を送信する(ステップS73)。これにより、情報処理装置10の送受信部11は、画像処理装置80が送信したアプリ実行要求を受信する。このとき、アプリ実行要求には、ユーザアカウント、アプリID、パラメータ設定情報及び処理対象データが含まれる。
【0154】
次に、情報処理装置10の記憶・読出部19は、ステップS73で受信されたユーザアカウントを検索キーとして、契約情報管理DB1006(図22参照)で対応する課金対象契約及び契約IDの有無を検索し(ステップS74)、判断部17は、適用する契約があるか否かを判断する(ステップS75)。
【0155】
判断部17によって適用する契約があるか否かが判断され、適用する契約がないと判断された場合、送受信部11は、画像処理装置80に対してアプリ起動不可通知を送信する(ステップS76)。これにより、画像処理装置80の送受信部81は、情報処理装置10が送信したアプリ起動不可通知を受信する。このときのアプリ起動不可通知の内容は、後述する図31に示すような内容が含まれる。具体的には、送受信部11は、所定のカウント対象契約情報に対応付けられていないワークフローが画像処理装置80(所定の処理実行装置の一例)によって実行されようとした場合、画像処理装置80に対して、上述したステップS51-S56で示した所定のカウント対象契約の設定を促す通知を送信する。
【0156】
続いて、画像処理装置80の表示制御部83は、ステップS71で受信されたアプリ起動不可通知に基づいて、操作パネル840にアプリ起動不可通知を表すアプリ起動不可通知通知画面を表示する(ステップS77)。
【0157】
他方、判断部17によって適用する契約があるか否かが判断され、適用する契約があると判断された場合、情報処理装置10は、○A以降の処理を実行する。
【0158】
本実施形態に係る情報処理システムでは、例えば、上述したステップS73及びS76の処理が実行される場合、画像処理装置80と情報処理装置10との間に他の装置等が存在してもよい。つまり、画像処理装置80と情報処理装置10との間で送受信される各情報(データ)は、一度他の装置を介して送受信されるような構成であってもよい。上述した構成は、画像処理装置80と情報処理装置10との間に他の処理ステップが存在しても適用可能である。
【0159】
<<アプリ実行開始画面>>
図30は、画像処理装置に表示されるアプリの実行開始画面の一例を示す図である。図30に示されているように、画像処理装置80の表示制御部83は、操作パネル840にアプリ実行開始画面8101を表示する。アプリ実行開始画面8101では、アプリケーション名(図30に示した例では「OCR配信アプリケーション」)、現在の処理状態、すなわちOCR処理の場合は実行ページ数と無料で実行可能なページ数、パラメータ設定で設定された各種パラメータ、並びに、読み取り設定ボタン8151及びスタートボタン8152が表示される。これにより、サービス利用者は、読み取り設定ボタン8151を操作して読取に関する所定の設定を行った後、スタートボタン8152を操作してOCR配信アプリケーションを実行させることができる。なお、読み取り設定ボタン8151に対する操作及び設定は省略されてもよい。
【0160】
<<アプリ起動不可通知画面>>
図31は、画像処理装置に表示される契約情報の設定を促す画面の一例を示す図である。図31に示されているように、画像処理装置80の表示制御部83は、操作パネル840にアプリ起動不可通知画面8111を表示する。アプリ起動不可通知画面8111は、例えば、アプリ実行開始画面8101に重ねてポップアップ表示されるダイアログであり、所定のアプリケーションが起動できない旨の通知内容が含まれる。さらに、アプリ起動不可通知画面8111には、送信ボタン8161、キャンセルボタン8162が備えられ、サービス利用者は、送信ボタン8161を操作することにより、サービス管理者宛に所定の契約を結ぶ処理を依頼するための電子メールを送信することができる。この場合、電子メールの内容は、情報処理装置10又は画像処理装置80のいずれにおいて生成されてもよく、所定の契約を結ぶための依頼内容であれば、予め設定された内容でもかまわない。
【0161】
図32は、ワークフロー実行処理の一例を示すシーケンス図である。ステップS75の処理において、判断部17によって適用する契約があると判断された場合、入出力サービス処理部14のアプリ管理部141は、処理内容を特定する(ステップS81)。具体的には、アプリ管理部141は、受信したアプリIDを検索キーとしてアプリ情報管理DB1001(図6参照)を検索することにより、対応するアプリ名、アプリを構成するコンポーネントを識別するコンポーネントIDを特定する。さらにアプリ管理部141は、特定したコンポーネントIDを検索キーとしてアプリ設定管理DB1002(図9参照)を検索することにより、設定情報としての言語情報、並びに、宛先及びCC等の送信先情報を特定する。
【0162】
続いて、ドキュメントサービス部16は、特定された処理内容(処理フロー情報)に基づく一連の処理に含まれる所定の処理を実行する(ステップS82)。上述したようにドキュメントサービス部16は、OCR処理部161及びファイル変換部162を含む機能部を有するため、ステップS81で特定された処理内容に応じた処理部によってそれぞれの処理が実行される。
【0163】
○○ワークフロー実行処理の詳細○○
図33は、ワークフロー実行時の詳細処理の一例を示すシーケンス図である。図33Aでは、ステップS81で特定されたワークフローの処理内容として、アプリ情報管理DB1001(図6参照)で管理されているアプリのうち「ワークフローアプリB」が実行される場合を例に説明する。このとき、アプリ情報管理DB1001(図6参照)を構成するそれぞれのデータテーブルと、カウント設定管理DB1004(図11参照)を構成するデータテーブルは、それぞれ図6A及び図11Aで示した内容を例に説明する。
【0164】
図33Aに示されているように、まず、情報処理装置10のフロー実行部201は、実行対象のワークフローBから最初の処理対象のコンポーネントとしてOCRコンポーネントを特定する(ステップS91)。
【0165】
続いて、フロー実行部201は、コンポーネント管理部202に対してOCRコンポーネント実行要求を渡す(ステップS92)。これにより、コンポーネント管理部202は、フロー実行部201からOCRコンポーネント実行要求を受け取る。このとき、OCRコンポーネント実行要求には、ステップS81で特定された対象データのURL、言語情報が含まれる。
【0166】
次に、コンポーネント管理部202は、コンポーネント群210に管理されているステップS71で特定されたOCRコンポーネントを用いたOCR処理を実行する(ステップS93)。
【0167】
次に、コンポーネント管理部202は、フロー実行部201に対して処理完了通知を渡す(ステップS94)。これによりフロー実行部201は、コンポーネント管理部202から処理完了通知を受け取る。このとき、処理完了通知には、対象データのURL及び言語情報が含まれる。
【0168】
次に、フロー実行部201は、ワークフローアプリBの次工程のコンポーネントとしてのカウンタコンポーネントを特定する(ステップS95)。
【0169】
次に、フロー実行部201は、コンポーネント管理部202に対して、カウンタコンポーネント実行要求を渡す(ステップS96)。これにより、コンポーネント管理部202は、フロー実行部201からカウンタコンポーネント実行要求を受け取る。このとき、カウンタコンポーネント実行要求には、カウント対象のコンポーネントであるOCRコンポーネントを識別するコンポーネントID、OCRコンポーネントによる処理結果が含まれる。
【0170】
次に、コンポーネント管理部202は、対象のカウンタコンポーネントを識別するカウント設定ID又はカウンタ条件を検索キーとしてカウント設定管理DB1004(図11AB参照)を検索することにより、対応するカウント設定を読み出す(ステップS97)。
【0171】
次に、コンポーネント管理部202は、ステップS97で読み出されたカウント設定(条件式)で与えられたカウント条件で、ステップS75で特定されたカウンタコンポーネント219によるカウント処理を実行させる(ステップS98)。具体的には、カウンタコンポーネント219は、所定のワークフローが実行されたとき、設定された所定のカウント対象契約に対応付けて、ステップS77で読み出されたカウント設定に基づいてカウント対象のOCRコンポーネントの利用履歴をカウントする。カウンタコンポーネント219は、例えば、カウント設定が「ocr_pages」である場合、利用履歴としてカウント対象のOCRコンポーネントの利用量(例えば、ページ数)をカウントする。また、カウンタコンポーネント219は、例えば、カウント設定が「executions」である場合、利用履歴としてカウント対象のOCRコンポーネントの処理回数をカウントする。このようにカウンタコンポーネント219は、所定のワークフローが実行されたとき、所定のワークフローに含まれるコンポーネント(例えば、OCRコンポーネント)の利用履歴を、設定された所定のカウント対象契約に対応付けられた課金情報としてカウントする。
【0172】
○カウント値管理テーブル
図34は、カウント値管理テーブルの一例を示す概念図である。記憶部1000には、図34A又は図34Bに示されているようなカウント値管理テーブルによって構成されたカウント値管理DB1005が構築されている。
【0173】
図34Aに示したカウント値管理テーブルでは、上述した契約IDごとにテナントID、ユーザアカウント及びカウント値が対応付けて管理されている。図34Bに示したカウント設定管理テーブルでは、上述した契約IDごとにテナントID、ユーザアカウント、キーワード及びカウント値が対応付けて管理されている。これらのうち、キーワードは、通信端末60で入力される任意のラベルに関連付けられる情報であり、上述した「ocr_pages」、「evacuations」等が含まれる。また、カウント値管理テーブルで管理されるカウント値は、例えばページ数である。
【0174】
図33Aに戻り、コンポーネント管理部202は、カウント処理により得られたカウンタ値をカウント値管理DB1005(図22参照)に記憶(登録)し(ステップS99)、フロー実行部201に対して処理完了通知を渡す(ステップS100)。これにより、フロー実行部201は、コンポーネント管理部202から処理完了通知を受け取る。
【0175】
図33Bにおいて、フロー実行部201は、ワークフローアプリBの次工程のコンポーネントとしての画像変換の一例であるPDFコンポーネントを特定する(ステップS101)。
【0176】
次に、フロー実行部201は、コンポーネント管理部202に対して、PDFコンポーネント実行要求を渡す(ステップS102)。これにより、コンポーネント管理部202は、フロー実行部201からPDFコンポーネント実行要求を受け取る。このとき、PDFコンポーネント実行要求には、画像変換対象となるデータのURL等が含まれる。
【0177】
次に、コンポーネント管理部202は、PDFコンポーネントの実行内容の一例として画像変換処理を実行する(ステップS103)。
【0178】
次に、コンポーネント管理部202は、フロー実行部201に対して処理完了通知を渡す(ステップS104)。これによりフロー実行部201は、コンポーネント管理部202から処理完了通知を受け取る。このとき、処理完了通知には、画像変換されたデータのURL等が含まれる。
【0179】
次に、フロー実行部201は、ワークフローアプリBの次工程のコンポーネントとしてのSMBコンポーネントを特定する(ステップS105)。
【0180】
次に、フロー実行部201は、コンポーネント管理部202に対して、SMBコンポーネント実行要求を渡す(ステップS106)。これにより、コンポーネント管理部202は、フロー実行部201からSMBコンポーネント実行要求を受け取る。このとき、SMBコンポーネント実行要求には、変換対象のデータのURL、OCR処理データのURL等が含まれる。
【0181】
次に、コンポーネント管理部202は、SMBコンポーネントの実行内容の一例としてのファイル共有処理等を実行する(ステップS107)。
【0182】
次に、コンポーネント管理部202は、フロー実行部201に対して処理完了通知を渡す(ステップS108)。これによりフロー実行部201は、コンポーネント管理部202から処理完了通知を受け取る。以上の各処理によって、情報処理装置10では、ワークフロー開発者等によって操作(入力)された複数のコンポーネントを含む所定のワークフローが実行される。
【0183】
図32に戻り、情報処理装置10の記憶・読出部19は、ステップS51で受信したアプリIDを検索キーとして請求条件管理DB1003(図10参照)を検索することにより、対応する請求条件を読み出す(ステップS83)。このときに読み出される請求条件には請求頻度、請求単位及び算出式が含まれる。
【0184】
次に、記憶・読出部19は、ステップS51で受信したアカウント情報の一例であるユーザアカウントを検索キーとしてカウント値管理DB1005(図34参照)を検索することにより、対応するカウント値を読み出す(ステップS84)。
【0185】
次に、送受信部11は、利用者が利用したワークフローに対する請求情報を、請求処理システム90に対して送信する(ステップS85)。これにより、請求処理システム90の通信部91は、情報処理装置10が送信した請求情報を受信する。このとき請求情報には、契約ID、テナントID、及びステップS84で読み出されたカウント値が含まれる。つまり、ステップS85において、送受信部11は、テナントごとに設定された条件、タイミング等に応じて、カウントサービス部18によってカウントされた利用履歴(カウント値)を、請求処理システム90に対して送信する。
【0186】
続いて、送受信部11は、画像処理装置80に対して、アプリ実行応答を送信してもよい(ステップS86)。これにより、画像処理装置80の送受信部81は、情報処理装置10が送信したアプリ実行応答を受信することができる。このとき、アプリ実行応答には処理完了通知が含まれる。なお、ステップS86の処理は、必ずしも必要な処理ではないため、省略されてもよい。
【0187】
ステップS85において情報処理装置10が送信した請求情報を受信した後、請求処理システム90のサービス処理部92は、請求情報に含まれるカウント値に基づいて、利用料を算出する(ステップS86)。具体的には、請求処理システム90は、ステップS56で受信した請求情報に含まれるカウント値と記憶部9000に予め記憶した利用者ごとの請求条件とに基づいて、利用料を算出する。なお、記憶部9000に記憶された請求条件は、請求条件管理DB1003に記憶された請求条件と同様である。
【0188】
このように、情報処理装置10は、ワークフロー開発者等による操作(入力)に応じて設定された複数のコンポーネントを含むワークフローを設定することができる。さらに、情報処理装置10は、設定されたワークフローを実行し、実行されたワークフローで得られたカウント値を任意のタイミングで請求処理システム90に対して送信することができる。これにより、請求処理システム90は、受信したカウント値に基づいて、利用料を計算することが可能になる。
【0189】
なお、上述した実施形態では、請求処理システム90が受信した利用履歴(カウント値)に基づいて利用料を算出する例を示したが、これに限らず、情報処理装置10が、実行されたワークフローで得られたカウント値に基づいて利用料を算出するようにしてもよい。この場合、コンポーネント管理部202(カウンタコンポーネント219)は、ステップS83で読み出した請求条件(請求頻度、請求単位、算出式等)にカウント値管理DB1005(図22参照)に記憶したカウント値を乗じた値を利用料として算出する。コンポーネント管理部202によって算出された利用量は、例えば、上述したステップS85の処理タイミングで、送受信部11によって請求処理システム90に送信されるようにしてもよい。
【0190】
また、本実施形態に係る情報処理システムでは、例えば、上述したステップS85の処理が実行される場合、情報処理装置10と請求処理システム90の間に他の装置等が存在してもよい。つまり、情報処理装置10と請求処理システム90との間で送受信される各情報(データ)は、一度他の装置を介して送受信されるような構成であってもよい。上述した構成は、情報処理装置10と請求処理システム90との間に他の処理ステップが存在しても適用可能である。
【0191】
●実施形態の効果
以上説明したように、本実施形態によれば、情報処理装置10は、利用者端末70に対してカウント対象契約入力画面情報を送信し(ステップS49)、利用者端末70が送信した設定入力情報に基づいて、契約情報管理DB1006に対してアプリケーションのパラメータを設定し、所定のカウント対象契約の一例である課金対象契約に係る課金対象契約情報を登録する(ステップS53)。カウンタコンポーネント219は、所定のワークフローが実行されたとき、設定された所定のカウント対象契約に対応付けてカウント対象のOCRコンポーネントの利用履歴をカウントする(ステップS98)。これにより、所定のワークフローを実行する際に、ユーザは、そのワークフローがどのような契約に基づいて実行されるのかを把握しやすくなるという効果を奏する。
●第2の実施形態●
【0192】
次に、第2の実施形態について説明する。なお、第2の実施形態では、ワークフローが実行される際のカウント値を、カウントサービス部18に代えてコンポーネント管理部202(カウンタコンポーネント219)が実行する場合について説明する。そのため、全体のシステム構成、各種ハードウエア資源における各種ハードウエア構成上述した実施形態と同様のため説明を省略する。なお、機能構成については、請求条件管理DB1003(図10参照)及びカウント値管理DB1005(図34参照)を除く各機能構成が、上述した実施形態の機能構成と同様となる。
【0193】
図35は、第2の実施形態に係るワークフロー実行処理の一例を示すシーケンス図である。第2の実施形態では、上述した実施形態のステップS75の処理において、適用する契約がある場合の処理(○A以降の処理)として、以下の処理が実行される。まず、入出力サービス処理部14のアプリ管理部141は、処理内容を特定する(ステップS151)。この処理は、ステップS81で実行された処理と同様のため詳細の説明を省略する。
【0194】
続いて、ドキュメントサービス部16は、特定された処理内容(処理フロー情報)に基づく一連の処理に含まれる所定の処理を実行する(ステップS152)。その後、送受信部11は、画像処理装置80に対して、ステップS86で説明したようにアプリ実行応答を送信してもよい(ステップS153)。
【0195】
○○ワークフロー実行処理の詳細○○
図36は、第2の実施形態に係るワークフロー実行時の詳細処理の一例を示すシーケンス図である。ここで、図36Aに示したステップS161-S168までの処理は、図33Aに示したステップS91-S98までの処理と同様であるため、説明を省略する。カウンタコンポーネントによるカウント処理を実行後、送受信部11は、請求処理システム90に対して請求情報を送信する(ステップS169)。これにより、請求処理システム90の通信部91は、情報処理装置10が送信した請求情報を受信する。このとき請求情報には、契約ID、テナントID、及びステップS168でカウントされたカウント値が含まれる。つまり、ステップS85において、送受信部11は、テナントごとに設定された条件、タイミング等に応じて、カウントサービス部18によってカウントされた利用履歴(カウント値)を、請求処理システム90に対して送信する。
【0196】
次に、請求処理システム90のサービス処理部92は、請求情報に含まれるカウント値に基づいて、利用料を算出する(ステップS181)。具体的には、請求処理システム90は、ステップS169で受信した請求情報に含まれるカウント値に基づいて、利用料を算出する。なお、請求処理システム90において実行される利用料の算出については、例えば、情報処理装置10が管理している処理回数ごと若しくはページごとに利用料(利用料金)を設定して算出することも可能である。
【0197】
続いて図36Bに示したステップS171-S178までの処理は、上述したステップS101-S108までの処理と同様のため、詳細の説明を省略する。
【0198】
●第2の実施形態の効果
以上説明したように、本実施形態によれば、情報処理装置10は、設定された所定のワークフローにおけるカウント対象となるコンポーネントのカウント処理(ステップS168)を実行後、請求処理システム90に対してカウントしたカウント値を送信する(ステップS169)。これにより、第1の実施形態の効果に加えて、情報処理装置10は、利用料を算出するための請求条件、並びにカウントされたカウント値を管理する必要がなくなり、システム構成及び機能構成を簡単にすることが可能になるという効果を奏する。
【0199】
●補足●
上述した各種データテーブル、データ定義等の種類、及び管理されるデータについては一例であり、各実施形態に例示した内容、使用環境等に限定されるものではない。
【0200】
また、上述した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本実施形態における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウエアによって各機能を実行するようプログラミングされたプロセッサ、並びに上述した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)、SOC(System on a chip)、GPU(Graphics Processing Unit)及び従来の回路モジュール等のデバイスを含むものとする。
【0201】
また、上述した実施形態の各種テーブルは、機械学習の学習効果によって生成されたものでもよく、関連づけられている各項目のデータを機械学習にて分類付けすることで、テーブルを使用しなくてもよい。ここで、機械学習とは、コンピュータに人のような学習能力を獲得させるための技術であり,コンピュータが,データ識別等の判断に必要なアルゴリズムを、事前に取り込まれる学習データから自律的に生成し,新たなデータについてこれを適用して予測を行う技術のことをいう。機械学習のための学習方法は、教師あり学習、教師なし学習、半教師学習、強化学習及び深層学習のいずれかの方法でもよく、さらに、これらの学習方法を組み合わせた学習方法でもよく、機械学習のための学習方法は問わない。
【0202】
これまで本発明の一実施形態に係る情報処理装置、情報処理システム、情報処理方法及びプログラムについて説明してきたが、本発明は上述した実施形態に限定されるものではなく、他の実施形態の追加、変更又は削除等、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【0203】
1 情報処理システム
5 通信ネットワーク
10 情報処理装置
11 送受信部(受信手段の一例、送信手段の一例)
18 カウントサービス部(カウント手段の一例)
60 通信端末
61 送受信部(送信手段の一例、受信手段の一例)
62 受付部(受付手段の一例)
63 表示制御部(表示制御手段の一例)
70 利用者端末(ユーザ端末の一例)
73 表示制御部(表示制御手段の一例)
80 画像処理装置(所定の処理実行装置の一例)
83 表示制御部(表示制御手段の一例)
90 請求処理システム
131 画面生成部(生成手段の一例)
143 設定部(設定手段の一例)
201 フロー実行部(実行手段の一例)
219 カウンタコンポーネント(カウント手段の一例)
300 ワークフローアプリ(アプリの一例)
606 ディスプレイ(表示手段の一例)
706 ディスプレイ(表示手段の一例)
【先行技術文献】
【特許文献】
【0204】
【特許文献1】特開2008-65702号公報
図1
図2
図3
図4
図5
図6A
図6B
図7
図8
図9
図10
図11A
図11B
図12
図13
図14
図15A
図15B
図15C
図15D
図16
図17
図18
図19
図20
図21
図22
図23
図24A
図24B
図25
図26
図27
図28
図29
図30
図31
図32
図33A
図33B
図34A
図34B
図35
図36A
図36B