JP2023009753A - 情報処理装置、情報処理システム、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理システム、情報処理方法及びプログラム Download PDF

Info

Publication number
JP2023009753A
JP2023009753A JP2021113282A JP2021113282A JP2023009753A JP 2023009753 A JP2023009753 A JP 2023009753A JP 2021113282 A JP2021113282 A JP 2021113282A JP 2021113282 A JP2021113282 A JP 2021113282A JP 2023009753 A JP2023009753 A JP 2023009753A
Authority
JP
Japan
Prior art keywords
workflow
information processing
component
information
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021113282A
Other languages
English (en)
Inventor
雄一郎 林
Yuichiro Hayashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2021113282A priority Critical patent/JP2023009753A/ja
Priority to US17/807,238 priority patent/US20230010119A1/en
Publication of JP2023009753A publication Critical patent/JP2023009753A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Educational Administration (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Development Economics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Facsimiles In General (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】複数のコンポーネントを含むワークフローが実行された場合に、実行されたワークフローに含まれるコンポーネントごとに利用履歴をカウントするためのカウント方法を設定可能にすることを目的とする。【解決手段】情報処理装置10の送受信部11は、通信端末60に対して、各コンポーネントを設定するための画面情報である入力画面情報を送信する(ステップS13)。設定部143は、ステップS16で通信端末60から受信した入力情報で示されるカウンタコンポーネント219を含むワークフローをアプリ情報管理DB1001に設定する(ステップS18)。その後、コンポーネント管理部202は、ワークフローに含まれるカウンタコンポーネント219によるカウント処理を実行させる(ステップS78)。【選択図】図14

Description

本開示内容は、情報処理装置、情報処理システム、情報処理方法及びプログラムに関する。
近年、複数の機能(例えば、スキャン、プリント、メール配信等)を組み合わせた機能を提供するサービス等が知られるようになった。例えば、スキャンにより生成された電子ファイル(画像ファイル)に所定の処理を行った上で、メール配信するサービス等が知られている。このようなサービスは、各機能を実現する一以上の処理が一連の処理として実行されることにより実現される。
また、複数の機能から任意の機能を選択して繋ぎ合わせた一連の処理をワークフローとして登録し、登録されている複数のワークフローから任意のワークフローを選択して実行することを可能にするフローシステムが知られている。さらに、複数のユーザの作業による複数の作業工程から構成されるワークフローを実施する前に、ワークフローの処理過程に含まれるユーザ毎に必要となる各機能別使用量を予測算出してからワークフローを実行する技術が開示されている(例えば、特許文献1参照)。
しかしながら、従来の方法では、複数のコンポーネントを含むワークフローが実行された場合に、実行されたワークフローに含まれるコンポーネントごとに利用履歴をカウントするためのカウント方法を設定することができないという課題があった。
上述した課題を解決すべく、請求項1に係る発明は、所定のサービスを提供する情報処理装置であって、当該情報処理装置と通信可能な通信端末に対して、複数のコンポーネントを含むワークフローに関する入力をするための入力画面に係る入力画面情報を送信する第1の送信手段と、送信された前記入力画面情報に基づいて前記通信端末に表示された前記入力画面に対する操作に応じて、利用履歴がカウント対象となるコンポーネントを含む前記ワークフローを設定する設定手段と、設定された前記ワークフローが実行された場合、当該ワークフローに含まれる前記カウント対象のコンポーネントの利用履歴をカウントするカウント手段と、を有する情報処理装置である。
本発明によれば、複数のコンポーネントを含むワークフローが実行された場合に、設定されたカウント方法に応じたコンポーネントの利用履歴をカウントすることができるという効果を奏する。
情報処理システムの全体構成の一例を示す図である。 ワークフローアプリの一例を示す図である。 情報処理装置、通信端末及び請求処理システムのハードウエア構成の一例を示す図である。 画像処理装置のハードウエア構成の一例を示す図である。 情報処理システムの機能構成の一例を示す図である。 アプリ情報管理テーブルの一例を示す概念図である。 アプリ情報管理テーブルの別の一例を示す概念図である。 データ定義の一例を示す概念図である。 レイアウト情報の一例を示す概念図である。 アプリ設定管理テーブルの一例を示す概念図である。 請求条件管理テーブルの一例を示す概念図である。 カウント設定管理テーブルの一例を示す概念図である。 カウント設定管理テーブルの別の一例を示す概念図である。 ロジック処理部の詳細構成の一例を示す図である。 通信端末、画像処理装置及び請求処理システムの機能構成の一例を示す図である。 ワークフロー設定処理の一例を示すシーケンス図である。 通信端末に表示されるワークフロー入力画面の画面遷移の一例を示す図である。 通信端末に表示されるワークフロー入力画面の画面遷移の一例を示す図である。 通信端末に表示されるワークフロー入力画面の画面遷移の一例を示す図である。 通信端末に表示されるワークフロー入力画面の画面遷移の一例を示す図である。 OCR実行後の出力内容の一例を示す概念図である。 通信端末に表示されるワークフロー入力画面のカウントアップ式入力の一例を示す図である。 通信端末に表示されるワークフロー入力画面におけるエラー表示の一例を示す図である。 通信端末に表示されるワークフロー入力画面における複数のカウンタコンポーネントを表示する一例を示す図である。 請求情報送信処理の一例を示すシーケンス図である。 ワークフロー実行時の詳細処理の一例を示すシーケンス図である。 ワークフロー実行時の詳細処理の一例を示すシーケンス図である。 カウント値管理テーブルの一例を示す概念図である。 カウント値管理テーブルの別の一例を示す概念図である。 情報処理システムの機能構成の別の一例を示す図である。 アプリ情報管理テーブルの別の一例を示す概念図である。 カウント対象管理テーブルの一例を示す概念図である。 ワークフロー開発者によるワークフロー設定処理の別の一例を示すシーケンス図である。 ワークフロー実行時の詳細処理の一例を示すシーケンス図である。 ワークフロー実行時の詳細処理の一例を示すシーケンス図である。
以下、図面を参照しながら、発明を実施するための形態を説明する。なお、図面の説明において同一要素には同一符号を付し、重複する部分についてはその説明を省略する。
●実施形態●
●システム構成
図1は、情報処理システムの全体構成の一例を示す図である。図1に示されている情報処理システム1は、情報処理装置10によって提供されるサービスを実行するアプリを、任意のワークフロー開発者が作成又は更新することが可能なシステムである。
情報処理システム1は、情報処理装置10、通信端末60、画像処理装置80及び請求処理システム90を含む。情報処理システム1を構成する情報処理装置10、通信端末60、画像処理装置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及び画像処理装置80は、NFC(Near Field Communication)等の近距離通信技術による通信機能を備えていてもよい。さらに、情報処理システム1は、通信ネットワーク5と接続される各装置及び各端末との間にファイアウォールを設け、ファイアウォールの内側にLAN(Local Area Network)などのプライベートネットワークを構築するようにしてもよい。
情報処理装置10は、通信ネットワーク5を介して、各種サービスを提供する。情報処理装置10は、例えば、サービス利用拠点の画像処理装置80において原稿をスキャンして生成された電子ファイルを、OCR(Optical Character Reader)処理して、請求処理システム90に請求する請求サービスを提供する。また、情報処理装置10は、例えば、特定のサービスを提供するクラウドシステムに保存されている電子ファイルを、サービス利用拠点の画像処理装置80で印刷するサービス(クラウドプリントサービス)を提供する。
なお、情報処理装置10によって提供されるサービスは、これらに限られず、例えば、特定のサービスを提供するクラウドシステムに保存されている電子ファイルを、サービス利用環境に設置されたプロジェクタで投影するサービス等であってもよいし、画像処理装置80において原稿をスキャンして生成された電子ファイルを、OCR処理の後、所定の言語に翻訳(例えば、英語から日本語)して、特定のサービスを提供するクラウドシステムに保存するサービス等であってもよい。また、本実施形態において、情報処理装置10は、上述のようなクラウドサービスを提供する例を説明するが、情報処理装置10は、例えば、ASP(Application Service Provider)によって提供されるサービス又はWebサービス等、通信ネットワーク5を介した各種サービスを提供する構成であってもよい。
また、情報処理装置10は、種々の機能をそれぞれ実現する複数の処理のうちの一以上の処理を組み合わせた一連の処理により実現される各種のサービスを提供するワークフローアプリを有している。ここで、機能とは、文書ファイル又は画像ファイル等の電子ファイルに関する機能である。機能には、例えば、プリント、スキャン、ファクシミリ送信、データ形式の変換、メール配信、OCR処理、加工、圧縮、解凍又はリポジトリへの格納等が挙げられる。
ここで、図2を用いて、ワークフローアプリの概略について説明する。図2は、ワークフローアプリの一例を示す図である。ワークフローアプリ(ワークフロー)とは、例えば、ユーザが希望するフローに沿ってサービス処理を行えるように、複数のコンポーネント(機能)を組み合わせて構成したアプリである。ワークフローアプリは、自社製コンポーネントだけで成り立つとは限らず、開発パートナー等の第三者が製作したコンポーネントと組み合わせて開発することもある。そのため、アプリとしては一つであっても、そのアプリを構成する個々のコンポーネントの間の設定値(仕様)がすべて一致するとは限らない。したがって、ワークフローアプリの管理には、アプリを構成するコンポーネント単位での設定値の把握が必要になる。
図2に示されているワークフローアプリ300は、OCR実行の処理のコンポーネント301と、ファイルアップロードの処理のコンポーネント302との組み合わせを例示している。なお、ワークフローアプリ300を構成するコンポーネントの数は、二つに限るものではなく、ユーザが希望するフローに応じて適宜設定されてもよい。以下、本実施形態においてワークフローアプリは、アプリと称される。
図1に戻り、請求処理システム90は、例えば、実行された各種アプリのサブスクリプションを管理する外部システムである。具体的には、請求処理システム90は、画像処理装置80で実行された所定のアプリを構成する各コンポーネントの利用履歴(処理回数、利用量を含む履歴情報)をカウントすることにより得られたカウント値に対応する従量課金を行うシステムである。請求処理システム90は、例えば、スキャン配信サービスにおいて、請求処理システム90によって貸し出される記憶領域に、OCR処理された電子ファイルのページ数などをカウント値(利用量)として保存(アップロード)する。
なお、情報処理装置10及び請求処理システム90は、それぞれ単一のコンピュータによって構築されてもよいし、各装置の各部(機能又は手段)を分割して任意に割り当てられた複数のコンピュータによって構築されてもよい。また、情報処理装置10及び請求処理システム90は、例えば、各機能の全て又は一部を集約させた一台のコンピュータであってもよい。また、情報処理装置10の機能の全て又は一部は、クラウド環境に存在するサーバコンピュータであってもよいし、オンプレミス環境に存在するサーバコンピュータであってもよい。
通信端末60は、情報処理装置10からサービスを提供するためのアプリを開発するワークフロー開発者が使用するPC等のコンピュータである。ワークフロー開発者は、アプリ開発拠点において、情報処理装置10が提供するアプリ開発ツールを利用してアプリの開発を行う。ここで、アプリ開発ツールは、複数の機能から任意の機能を選択し、それらを繋ぎ合わせた一連の処理をフローとして登録して実行できるワークフローアプリを開発できるソフトウエアである。これにより、ワークフロー開発者は、アプリ開発ツールを用いて複数の機能を組み合わせ、それらの機能に付随した設定のパラメータを選択することで希望の動作を実現することができる。なお、通信端末60は、PCに限られず、例えば、タブレット端末、スマートフォン、ウェアラブル端末等の端末であってもよい。さらに、通信端末60は、上述したワークフロー開発者がアプリ開発を行う以外にも、情報処理システム1のシステム開発者がシステム開発を行うために使用されるものであってもよい。
画像処理装置80は、情報処理装置10によって提供されるサービスを利用するサービス利用者が使用する装置である。画像処理装置80は、例えば、MFP(Multifunction Peripheral/Printer/Product:複合機)、ファクシミリ、スキャナ、又はプリンタ等の画像処理機能並びに通信機能を備える画像形成装置である。サービス利用者は、サービス利用環境において、画像処理装置80を用いた情報処理装置10によって提供されるサービスに係る処理を行う。
なお、サービス利用環境に設置される装置は、画像処理装置80に限られず、PJ(Projector:プロジェクタ)、IWB(Interactive White Board:相互通信が可能な電子式の黒板機能を有する白板)、PC、工作機械等の産業機械、医療機器、3Dプリンタ又は撮像装置、空調システム又は自律走行ロボット等であってもよい。また、画像処理装置80は、サービス利用環境の特定の場所に設置された装置だけでなく、持ち運び可能なハンディプリンタ又はハンディスキャナ等であってもよい。
また、情報処理装置10が通信端末60に対してデータ(情報)を送信する場合、情報処理装置10は、通信端末60に対してプッシュ通知(送信)によりデータ(情報)を通知(送信)することが可能である。このとき、情報処理装置10は、例えば、プッシュ通知サーバの一例であるFCM(Firebase Cloud Messaging)を利用してプッシュ通知を行うことで実現するようにしてもよい。
●ハードウエア構成
続いて、図3及び図4を用いて、実施形態に係る情報処理システムを構成する装置又は端末のハードウエア構成について説明する。なお、図3及び図4に示されている装置又は端末のハードウエア構成は、必要に応じて構成要素が追加又は削除されてもよい。
○情報処理装置のハードウエア構成○
図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を備えている。
これらのうち、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等の各構成要素を電気的に接続するためのアドレスバス又はデータバス等である。
また、キーボード111は、文字、数値、各種指示等の入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス112は、各種指示の選択もしくは実行、処理対象の選択、又はカーソルの移動等を行う入力手段の一種である。なお、入力手段は、キーボード111及びポインティングデバイス112のみならず、タッチパネル又は音声入力装置等であってもよい。DVD-RWドライブ114は、着脱可能な記録媒体の一例としてのDVD-RW113に対する各種データの読出し又は書込みを制御する。なお、着脱可能な記録媒体は、DVD-RWに限らず、DVD-R又はBlu-ray Disc(ブルーレイディスク。Blu-rayは登録商標)等であってもよい。メディアI/F116は、フラッシュメモリ等の記録メディア115に対するデータの読出し又は書込み(記憶)を制御する。
○通信端末のハードウエア構成○
図3は、通信端末のハードウエア構成の一例を示す図である。通信端末60の各ハードウエア構成は、括弧内の600番台の符号で示されている。通信端末60は、コンピュータによって構築されており、図3に示されているように、情報処理装置10と同様の構成を備えているため、各ハードウエア構成の説明を省略する。
○請求処理システムのハードウエア構成○
図3は、請求処理システムのハードウエア構成の一例を示す図である。請求処理システム90の各ハードウエア構成は、括弧内の900番台の符号で示されている。請求処理システム90は、コンピュータによって構築されており、図3に示されているように、情報処理装置10と同様の構成を備えているため、各ハードウエア構成の説明を省略する。
○画像処理装置のハードウエア構成○
図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で接続した構成となっている。
これらのうち、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)のインターフェースを接続するようにしてもよい。
また、MEM-C807は、コピー用画像バッファ及び符号バッファとして用いるローカルメモリである。HD809は、画像データの蓄積、印刷時に用いるフォントデータの蓄積及びフォームの蓄積を行うためのストレージである。HDDコントローラ808は、CPU801の制御にしたがってHD809に対するデータの読出又は書込を制御する。AGPバス821は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインターフェースであり、MEM-P802に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。また、近距離通信部820は、近距離通信回路820a及び近距離通信回路820aのアンテナ820bを備えている。近距離通信回路820aは、NFC、Bluetooth(登録商標)、ミリ波無線通信、QRコード(登録商標)、可視光、環境音又は超音波等の近距離無線通信の通信回路である。
さらに、エンジン制御部830は、スキャナ部831及びプリンタ部832によって構成されている。スキャナ部831及びプリンタ部832は、誤差拡散又はガンマ変換等の画像処理部分を含む。また、操作パネル840は、現在の設定値又は選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等のパネル表示部840a、並びに濃度の設定条件等の画像形成に関する条件の設定値を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等からなる操作部840bを備えている。コントローラ810は、画像処理装置80全体の制御を行い、例えば、描画、通信、及び操作パネル840からの入力等を制御する。また、ネットワークI/F850は、通信ネットワーク5を利用してデータ通信をするためのインターフェースである。近距離通信回路820a及びネットワークI/F850は、PCIバス822を介して、ASIC806に電気的に接続している。
なお、上記各プログラムは、インストール可能な形式又は実行可能な形式のファイルで、コンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。記録媒体の例として、CD-R(Compact Disc Recordable)、DVD(Digital Versatile Disk)、Blu-ray Disc、SDカード又はUSBメモリ等が挙げられる。また、記録媒体は、プログラム製品(Program Product)として、国内又は国外へ提供されることができる。例えば、情報処理装置10は、本発明に係るプログラムが実行されることで本発明に係る情報処理方法を実現する。
●機能構成
続いて、図5乃至図13を用いて、実施形態に係る情報処理システムの機能構成について説明する。なお、図5、図12及び図13は、図1に示されている装置又は端末のうち、後述の処理又は動作に関連しているものを示す。
○情報処理装置の機能構成○
図5は、情報処理装置の機能構成の一例を示す図である。情報処理装置10は、送受信部11、画面情報生成部12、Webサービス処理部13、入出力サービス処理部14、外部システム連携部15、ドキュメントサービス部16、判断部17、カウントサービス部18及び記憶・読出部19を有している。これら各部は、図3に示されている各構成要素のいずれかが、RAM103上に展開された情報処理装置用プログラムに従ったCPU101からの命令によって動作することで実現される機能、又は機能する手段である。また、情報処理装置10は、図3に示されているROM102、HD104及び記録メディア115のうち少なくとも一つのハードウエア資源によって構築される記憶部1000を有している。
送受信部11は、主に、ネットワークI/F109に対するCPU101の処理によって実現され、通信ネットワーク5を介して、情報処理装置10と通信可能な通信端末60、画像処理装置80、及び請求処理システム90との間で各種データ又は情報の送受信を行う。例えば、送受信部11は、情報処理装置10と通信可能な通信端末60に対して、複数のコンポーネントを含むワークフローを入力するための入力画面に係る入力画面情報を送信する。この場合、本実施形態において送受信部11は、第1の送信手段の一例として機能する。また、送受信部11は、テナントごとに設定されたタイミングに応じて、カウントされた利用履歴を、利用履歴に基づいて請求処理を行う請求処理システム90に送信する。この場合、本実施形態において送受信部11は、第2の送信手段の一例として機能する。
画面情報生成部12は、主に、CPU101の処理によって実現され、ワークフロー開発者が通信端末60を用いてワークフローを設定するための画面情報を生成する。本実施形態において、画面情報生成部12は、生成手段の一例として機能する。
画面情報生成部12は、通信端末60からの要求に応じて、記憶部1000に記憶されているポータル画面情報350を出力する。ここで、ポータルとは、ブラウザを用いて、アプリケーション(以下、「アプリ」とも記載する)の登録等を行うことができるWebサイトである。ポータル画面情報350は、ポータルのトップ画面(ポータルトップ画面)又はアプリの入力画面等の各種画面が定義された情報である。ポータル画面情報350は、例えば、HTML(HyperText Markup Language)、XHTML(Extensible HyperText Markup Language)、CSS(Cascading Style Sheets)、又はJavaScript(登録商標)等で各種画面が定義された情報である。これにより、通信端末60は、ブラウザを用いて、ポータルトップ画面又はアプリの入力画面等を表示させる。したがって、通信端末60を用いるワークフロー開発者は、アプリの入力画面(例えば、後述するワークフロー入力画面)において、アプリ(アプリ情報)の登録操作を行うことができる。
Webサービス処理部13は、主に、CPU101の処理によって実現され、ユーザが画像処理装置80を用いて各種サービスを利用するための処理を行う。すなわち、Webサービス処理部13は、画像処理装置80のブラウザに対してWebアプリ(アプリ情報)を提供するアプリサーバとして機能する。Webサービス処理部13は、画面生成部131及びアプリ実行部132を有する。
画面生成部131は、画像処理装置80のブラウザからの要求に応じて、記憶部1000に記憶されているアプリ画面情報及び記憶部1000に記憶されているアプリ設定情報を出力する。アプリ画面情報とは、アプリ情報により提供されるサービスを利用するための画面(アプリ画面)の雛形が定義された情報である。アプリ画面情報は、例えば、HTML、XHTML、CSS又はJavaScript等でアプリ画面の雛形が定義された情報である。また、アプリ設定情報は、アプリ(アプリ情報)の各種設定が定義された情報である。アプリ設定情報には、例えば、一連の処理の実行に用いられるパラメータのうち、ユーザにより入力されるパラメータ及びデフォルトで設定されるパラメータ等が定義されている。また、アプリ設定情報には、例えば、ユーザがアプリ画面においてパラメータを入力するための入力項目及びアプリ画面における表示情報(例えば、アプリ名)等が定義されている。アプリ設定情報は、例えば、JSON(JavaScript Object Notation)等でアプリの各種設定が定義された情報である。これにより、画像処理装置80には、ブラウザにより、情報処理装置10が提供するサービスを利用するためのアプリ画面が表示される。
アプリ実行部132は、画像処理装置80のブラウザからの要求に応じて、入出力サービス処理部14に対して、アプリ(アプリ情報)の実行要求を出力する。
入出力サービス処理部14は、主に、CPU101の処理によって実現され、情報処理装置10が提供するサービスに関する処理を行う。入出力サービス処理部14は、アプリ管理部141、設定部143及びロジック処理部144を有する。
アプリ管理部141は、後述するアプリ情報管理DB1001に記憶されているアプリ情報を管理する。アプリ情報とは、一連の処理により実現されるサービスを利用するためのアプリケーションである。換言すれば、情報処理装置10が提供する各種サービスは、アプリ情報により提供される。また、アプリ管理部141は、ロジック処理部144からの要求に応じて、アプリ情報に含まれる処理フロー情報を出力する。処理フロー情報とは、アプリ情報により提供されるサービスを実現する一連の処理が定義された情報である。さらに、アプリ管理部141は、画面情報生成部12からの要求に応じて、アプリ情報を記憶部1000に記憶(登録)させる。これにより、サービスを提供するアプリ情報がアプリ管理部141によって情報処理装置10に登録される。
設定部143は、通信端末60に対してワークフロー開発者等が操作(入力)した入力情報、又は通信端末60に表示された所定の画面に対する操作に基づいて、利用履歴がカウント対象となるコンポーネントを含むワークフロー、カウント条件、及び所定の説明文を設定(生成)する。本実施形態において設定部143は、設定手段の一例として機能する。
ロジック処理部144は、Webサービス処理部13からの要求に応じて、アプリ情報に示されている処理フロー情報に基づいて、ドキュメントサービス又は外部サービス等の各種サービスの処理を実行する。また、ロジック処理部144は、アプリ管理部141から取得された処理フロー情報に基づいて、アプリが提供するサービスを実現する一連の処理(処理フロー)を実行する。これにより、情報処理装置10は、「ファイルアップロードサービス」等の各種サービスを提供することができる。さらに、ロジック処理部144は、ロジック処理部144内で管理されているコンポーネント群210を構成する各コンポーネントの読出し、取得の機能等も担う。
外部システム連携部15は、主に、CPU101の処理によって実現され、請求処理システム90、外部サービス等に対して、ファイルの入出力に関する処理、又はデータの取得もしくは書込みに関する処理等を行うことが可能な機能部である。情報処理装置10は、情報処理装置10と連携して処理を行う請求処理システム90ごとに、それぞれの請求処理システム90に対応する外部システム連携部15を有する。
外部システム連携部15は、ファイル処理部151及びデータ処理部152を有する。ファイル処理部151は、請求処理システム90に対して、ファイル関連の処理(例えば、ファイル送信又はファイル取得等)を行う。データ処理部152は、請求処理システム90に対して、ファイル以外のテキストで表現できるデータ処理(例えば、フォルダ一覧の取得等)を行う。
ファイル処理部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に対して定義される。
データ処理部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に対して定義される。
このように、外部システム連携部15は、ファイルの配信のみを行うようなシンプルな処理を実行する場合には、共通I/Fを利用することで、さまざまな連携サービスに対して同じ作法で実現することができる。また、外部システム連携部15は、固有I/Fを利用することで、特定の連携先サービスの機能を広く活用するような連携先サービスに特化した処理を実現することができる。なお、外部システム連携部15は、後述する請求処理システム90に対するカウント値(利用量)の登録(送信)を、カウントサービス部18に代えて実行するようにしてもよい。その場合、カウント値(利用量)を送信するインターフェースは、送受信部11を介して通信ネットワーク5に送信する方式に代えて、外部システム連携部15と請求処理システム90とを直接接続可能なインターフェースで実現するようにしてもよい。
ドキュメントサービス部16は、主に、CPU101の処理によって実現され、処理フロー情報に基づく一連の処理(処理フロー)に含まれる所定の処理を実行する。ドキュメントサービス部16は、OCR処理部161及びファイル変換部162を含む機能部を有する。
OCR処理部161は、主に、CPU101の処理によって実現され、電子ファイルに対してOCR処理を行う。ファイル変換部162は、電子ファイルに対するフォーマット変換又は画像サイズの変換等を行う。なお、ドキュメントサービス部16は、これら以外にも、例えば、電子ファイルの圧縮又は解凍するための圧縮・解凍処理部、又は電子ファイルのメール送信を行うメール送信部等の種々の機能部が含んでいてもよい。
判断部17は、主に、CPU101の処理によって実現され、情報処理装置10における各種判断を行う。判断部17は、通信端末60に表示された入力画面に対する操作に応じて、設定部143がワークフローを設定可能であるかを判断する。本実施形態において判断部17は、判断手段の一例として機能する。
カウントサービス部18は、主に、CPU101の処理によって実現され、ワークフローが実行された場合、ワークフローに含まれるカウント対象のコンポーネントの利用履歴(例えばカウンタ情報量で示される利用量)をカウントする。カウントサービス部18がカウントするデータは、例えば、カウンタ情報(利用量)である。カウントサービス部18は、例えば、専用のアップロードモジュールをカウントサービス部18に配置し、所定期間ごとのタイミング(頻度)、又は、所定の利用者によって処理が行われたタイミングをトリガとして、ロジック処理部144からデータを収集して請求処理システム90で受信可能なデータ構造のデータに変換する。その後、データ構造が変換されたデータは、所定の利用者(テナント)ごとに設定されたタイミングに応じて、送受信部11によって、通信ネットワーク5を介して請求処理を行う請求処理システム90に送信される。また、別の実施形態として、コンポーネント管理部202(カウンタコンポーネント219)は、カウントサービス部18に代えて、ワークフローが実行された場合、ワークフローに含まれるカウント対象のコンポーネントの利用履歴をカウントする。この場合、コンポーネント管理部202(カウンタコンポーネント219)によってカウントされたカウント値(利用量)は、送受信部11から通信ネットワーク5に送信され、さらに通信ネットワーク5から請求処理システム90に送信されるようにしてもよい。本実施形態において、カウントサービス部18は、カウント手段の一例として機能する。
記憶・読出部19は、主に、CPU101の処理によって実現され、記憶部1000に、各種データ(又は情報)を記憶したり、記憶部1000から各種データ(又は情報)を読み出したりする。また、記憶部1000は、ワークフローアプリ300及び画面情報生成部12によって提供される画面内容を示すポータル画面情報350を記憶している。本実施形態において記憶・読出部19は、記憶読出手段の一例として機能する。
○アプリ情報管理テーブル
図6は、アプリ情報管理テーブルの一例を示す概念図である。記憶部1000には、図6A又は図6Bに示されているようなアプリ情報管理テーブルによって構成されたアプリ情報管理DB1001が構築されている。
図6Aに示したアプリ情報管理テーブルでは、アプリを識別するアプリIDごとに、アプリ名、アプリを構成するコンポーネントを識別するコンポーネントID、及びアプリの処理内容を示すアプリ処理情報が関連づけられて管理されている。これらのうち、コンポーネントIDは、コンポーネントを識別する識別情報である。コンポーネントは、例えば、OCR機能、画像変換機能、ファイルアップロード機能を含む。また、コンポーネントは、ワークフローにおける前段(上段)のコンポーネントの利用履歴をカウントするカウントコンポーネントを含む。アプリ処理情報は、ユーザが利用する画面に表示する情報である画面定義、及びアプリにおける処理フローを示す処理フロー情報を含む。また、画面定義は、画面に表示するデータを示すデータ定義及び画面レイアウトを示すレイアウト情報を含む。処理フロー情報は、ドキュメントサービス又は外部システム連携部15の処理等をどのように利用するかを記述している。
図6Bに示したアプリ情報管理テーブルも、図6Aで示したアプリ情報管理テーブルと管理される項目は同様である。但し、コンポーネントIDで示されたそれぞれのIDのうち、カウンタコンポーネントを識別するコンポーネントIDに代えて、カウント条件を識別する条件No(条件1,2等)が与えられる点が異なる。ここで、条件Noには、それぞれ異なるカウント設定が割り振られている。これにより、図6Bの場合、図6Aのようなワークフローに含まれるカウントコンポーネントをコンポーネントIDによって一意に特定される構成でなくても、ワークフローに挿入される条件Noによってカウント設定を特定することができる。
○○データ定義
図7は、データ定義の一例を示す概念図である。図7は、画面定義に含まれるデータ定義が記述された配列を示す。図7に示されているデータ定義は、データID(data_id)、データの名称(data_key)、データ形式(format)及びデータ元(data_source)の組を配列として表現する。これらのうち、データの名称は、処理に対するパラメータとなる。また、データ形式は、画面を構成する要素であり、HTMLのフォーム要素と同じである。データ形式は、例えば、input_text、textarea、select、radio等である。データ元は、データを保持するURL(Uniform Resource Locator)を指定する。データ元は、固定であれば、直接データを記述してもよい。
○○レイアウト情報
図8は、レイアウト情報の一例を示す概念図である。図8は、画面定義に含まれるデータ定義のデータID及びそれらを表示する位置情報を保持するレイアウト情報が記述された配列を示す。図8に示されているレイアウト情報は、データID(data_id)、表示名称(display_name)及び位置情報(layout)の組を配列として表現する。このうち、位置情報は、上から順番を指定する形式(order)ではなく、座標情報で表現する形式であってもよい。なお、通信端末60(クライアント側)でブラウザではなくクライアントアプリを用いて画面表示を行う場合、又は複雑な画面構成にしたい場合、情報処理装置10は、レイアウト情報を存在させずに、クライアント側又は画面生成過程でデータ定義を解釈する構成であってもよい。
○アプリ設定管理テーブル
図9は、アプリ設定管理テーブルの一例を示す概念図である。記憶部1000には、図9に示されているようなアプリ設定管理テーブルによって構成されたアプリ設定管理DB1002が構築されている。
アプリ設定管理テーブルでは、アプリを識別するアプリIDごとに、アプリを構成するコンポーネントを識別するコンポーネントID、及びコンポーネントの設定内容を示す設定情報が関連づけられたアプリ設定情報が管理されている。これらのうち、設定情報は、関連付けられたコンポーネントの設定値(パラメータ)を示す。
○請求条件管理テーブル
図10は、請求条件管理テーブルの一例を示す概念図である。記憶部1000には、図10に示されているような請求条件管理テーブルによって構成された請求条件管理DB1003が構築されている。
請求条件管理テーブルでは、テナント又はテナントが関連する契約の識別情報を示す契約IDごとに、テナントを識別するテナントID、アプリを識別するアプリID、メールアドレス等を一例とするユーザアカウント、及びカウント対象のコンポーネントの支払いを請求する際の条件を示す請求条件が関連付けられて管理されている。これらのうち、請求条件は、請求する頻度を示す請求頻度、請求単位、及び利用料の算出に用いられる算出式を含む。請求頻度は、例えば、月単位、週単位、利用時に随時等の頻度が設定可能である。請求単位は、例えば、契約単位、テナント単位、ユーザ単位等の単位が設定可能である。算出式は、例えば、処理回数ごと若しくはページごとの利用料(利用料金)が設定可能である。
○カウント設定管理テーブル
図11は、カウント設定管理テーブルの一例を示す概念図である。記憶部1000には、図11A又は図11Bに示されているようなカウント設定管理テーブルによって構成されたカウント設定管理DB1004が構築されている。
図11Aに示したカウント設定管理テーブルでは、カウンタコンポーネントを識別するカウント設定IDごとに、利用履歴をカウントする条件を示すカウント設定(条件式)が関連付けられて管理されている。これらのうち、カウント設定IDは、図6Aで説明したコンポーネントIDのうち、カウントコンポーネントに対応付けて管理され、次に説明するカウント設定(条件式)を管理するための識別情報である。カウント設定(条件式)は、コンポーネント(OCRコンポーネント)のカウント対象を表す。カウント対象は、例えば、OCRを実行したページ数、ページ数が閾値(例えば、5ページ以上)、実行されたタイミング(例えば、「executions」命令実行時)等を含む。なお、図11Aに示したカウント設定管理テーブルは、図6Aに示したアプリ情報管理テーブルと対となって使用されてもよい。
図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」が条件式として与えられる。
○ロジック処理部の機能構成○
ここで、図12を用いて、入出力サービス処理部14が有しているロジック処理部144の機能構成について詳細に説明する。図12は、ロジック処理部の詳細構成の一例を示す図である。図12に示されているように、ロジック処理部144は、フロー実行部201、コンポーネント管理部202、カウンタコンポーネント219等の各コンポーネントが用意されるコンポーネント群210を含む。
フロー実行部201は、例えば、外部システム連携部15における各種処理、及びドキュメントサービスが利用される順番を記述する処理内容で示された処理を解釈して実行する部分である。フロー実行部201は、処理を実行する際に、処理内容に記載された内容に従ってコンポーネントを呼び出す。なお、各種処理の構成には、コンポーネント名称、処理、オプションパラメータが含まれる。本実施形態において、フロー実行部201は、実行手段の一例として機能する。
コンポーネント管理部202は、フロー実行部201から要求された、ワークフローを構成する各コンポーネントを生成する。また、コンポーネント管理部202は、生成した各コンポーネントをコンポーネント群210に登録し、管理する。
管理されるコンポーネントには、例えば、OCR(Optical Character Recognition/Reader)、PDF(Portable Document Format)、音声変換、SMB(Server Message Block)、FTP(File Transfer Protocol)、カウンタコンポーネント219が含まれる。また、各コンポーネントには、それぞれのコンポーネントを識別する識別情報(ID)が付与されている。
続いて、図13を用いて、通信端末60、画像処理装置80及び請求処理システム90の機能構成について説明する。図13は、通信端末、画像処理装置及び請求処理システムの機能構成の一例を示す図である。
○通信端末の機能構成○
通信端末60は、送受信部61、受付部62、表示制御部63、判断部64及び記憶・読出部69を有している。これら各部は、図3に示されている各構成要素のいずれかが、RAM603上に展開された通信端末用プログラムに従ったCPU601からの命令によって動作することで実現される機能、又は機能する手段である。また、通信端末60は、図3に示されているROM602、HD604及び記録メディア615のうち少なくとも一つ以上のハードウエア資源によって構築される記憶部6000を有している。
送受信部61は、主に、ネットワークI/F609に対するCPU601の処理によって実現され、通信ネットワーク5を介して、情報処理装置10との間で各種データ又は情報の送受信を行う。また、送受信部61は、受付部62によって受け付けられた一以上のコンポーネントの配置操作に基づくワークフローを設定するための操作情報を、情報処理装置10へ送信する。本実施形態において送受信部61は、送信手段及び受信手段のうち、少なくとも一方の一例として機能する。
受付部62は、主に、キーボード611又はポインティングデバイス612に対するCPU601の処理によって実現され、利用者から各種の選択又は入力を受け付ける。また、受付部62は、入力画面に表示された一以上のコンポーネントの配置操作を受け付ける。また、受付部62は、カウント対象のコンポーネントに対して複数のカウント条件の入力を受け付ける。本実施形態において受付部62は、受付手段の一例として機能する。
表示制御部63は、主に、CPU601の処理によって実現され、ディスプレイ606に、各種情報及び画像を表示させる。また、表示制御部63は、例えば、ブラウザを用いて、HTML等により作成された表示画面を、ディスプレイ606に表示させる。また、表示制御部63は、ワークフローを入力するための入力画面をディスプレイ606(表示手段)に表示する。また、表示制御部63は、コンポーネントの配置にエラーが発生した場合、ワークフローが正しく設定されない旨をディスプレイ606(表示手段)に表示する。本実施形態において表示制御部63は、表示制御手段の一例として機能する。
判断部64は、主に、CPU601の処理によって実現され、通信端末60における各種判断を行う。本実施形態において判断部64は、判断手段の一例として機能する。
記憶・読出部69は、主に、CPU601の処理によって実現され、記憶部6000に、各種データ(又は情報)を記憶したり、記憶部6000から各種データ(又は情報)を読み出したりする。本実施形態において記憶・読出部69は、記憶読出手段の一例として機能する。
○画像処理装置の機能構成○
次に、画像処理装置80は、送受信部81、受付部82、表示制御部83、判断部84、処理実行部85及び記憶・読出部89を有している。これら各部は、図4に示されている各構成要素のいずれかが、HD809からRAM802b上に展開された画像処理装置用のプログラムに従ったCPU801からの命令によって動作することで実現される機能、又は手段である。また、画像処理装置80は、図4に示されているROM802a、及びHD809のうち少なくとも一つ以上のハードウエア資源によって構築される記憶部8000を有している。
送受信部81は、主に、ネットワークI/F850に対するCPU801の処理によって実現され、通信ネットワーク5を介して、情報処理装置10との間で各種データ又は情報の送受信を行う。
受付部82は、主に、操作パネル840に対するCPU801の処理によって実現され、利用者から各種の選択又は入力を受け付ける。表示制御部83は、主に、CPU801の処理によって実現され、操作パネル840に、各種画像を表示させる。また、表示制御部83は、例えば、ブラウザを用いて、HTML等により作成された表示画面を、操作パネル840に表示させる。判断部84は、主に、CPU801の処理によって実現され、画像処理装置80における各種判断を行う。処理実行部85は、主に、エンジン制御部830に対するCPU801の処理によって実現され、画像データの印刷処理を実行する。
記憶・読出部89は、主に、CPU801の処理によって実現され、記憶部8000に、各種データ(又は情報)を記憶したり、記憶部8000から各種データ(又は情報)を読み出したりする。
○請求処理システムの機能構成○
次に、請求処理システム90は、通信部91、サービス処理部92及び記憶・読出部99を有している。これら各部は、図3に示されている各構成要素のいずれかが、RAM903上に展開された請求処理システム用プログラムに従ったCPU901からの命令によって動作することで実現される機能、又は機能する手段である。また、請求処理システム90は、図3に示されているROM902、HD904及び記録メディア915のうち少なくとも一つ以上のハードウエア資源によって構築される記憶部9000を有している。
通信部91は、主に、CPU901の処理によって実現され、情報処理装置10との間で各種データ又は情報の通信を行う。サービス処理部92は、主に、CPU901の処理によって実現され、情報処理装置10からの要求に応じた所定のサービスを提供するための処理を実行する。本実施形態において、所定のサービスとは、複数のコンポーネント(機能)を含む所定のワークフローアプリが実行されることによって提供されるサービスを含む。
記憶・読出部99は、主に、CPU901の処理によって実現され、記憶部9000に、各種データ(又は情報)を記憶したり、記憶部9000から各種データ(又は情報)を読み出したりする。
●実施形態の処理又は動作
○アプリ登録処理○
続いて、図14乃至図22を用いて、実施形態に係る情報処理システムの処理又は動作について説明する。まず、図14乃至図22を用いて、ワークフロー開発者が新たにアプリを作成し、情報処理装置10が登録するまでの処理について説明する。図14は、ワークフロー設定処理の一例を示すシーケンス図である。
まず、ワークフロー開発者が、通信端末60に設けられた入力手段に対する入力操作等を行うことで、通信端末60の送受信部61は、情報処理装置10に対して、設定開始要求を送信する(ステップS11)。これにより、情報処理装置10の送受信部11は、通信端末60が送信した設定開始要求を受信する。このとき、設定開始要求には、契約ID、テナントIDが含まれる。
次に、情報処理装置10のロジック処理部144は記憶・読出部19と協働して、コンポーネント群210から、入力画面情報を構成するコンポーネント情報を読み出す(ステップS12)。具体的には、ロジック処理部144は、コンポーネント群210で管理されている各コンポーネントのIDを読み出すことで、各コンポーネントを設定するための画面情報を取得する。さらに、ステップS12では、画面情報生成部12によって記憶部1000の所定領域に記憶されているポータル画面情報350を出力し、通信端末60において各コンポーネントを入力するための画面情報である入力画面情報を生成する。そして、送受信部11は、通信端末60に対して、生成された入力画面情報を送信する(ステップS13)。ここで、各コンポーネントを設定するための画面情報とは、複数のコンポーネントを含むワークフローを設定するための画面情報である。これにより、通信端末60の送受信部61は、情報処理装置10から送信された各コンポーネントを設定するための画面情報である入力画面情報を受信する。
次に、通信端末60の表示制御部63は、ステップS13で受信された入力画面情報に基づいて、ワークフロー入力画面6001をディスプレイ606に表示させる(ステップS14)。図16は、通信端末に表示されるワークフロー入力画面の画面遷移の一例を示す図である。図15に示されているワークフロー入力画面6001は、ワークフロー開発者がアプリの詳細設定を行うための入力画面である。ワークフロー開発者は、ワークフロー入力画面6001を用いて、ワークフローアプリを構成する各コンポーネント(機能)により実行される処理フローの設定を行う。
ワークフロー開発者がワークフロー入力画面6001に対して所望する各コンポーネントに対する入力操作(ドラッグ&ドロップ等)を行った場合、通信端末60の受付部62は、ワークフロー開発者が行った操作(例えば、コンポーネント入力)を受け付ける(ステップS15)。
<<ワークフロー入力画面の画面遷移>>
続いて、ステップS15でワークフロー開発者が行った操作(入力)に伴う通信端末60の画面遷移について説明する。図15Aは、通信端末に表示されるワークフロー入力画面の画面遷移の一例を示す図である。図15Aに示されているように、通信端末60の表示制御部63は、例えば、ワークフロー開発者の操作に応じて、ディスプレイ606にワークフロー入力画面6001を表示する。ワークフロー入力画面6001において、表示制御部63は、ステップS13で受信したワークフローアプリを構成する各コンポーネントを並べて表示する。具体的には、表示制御部63は、例えば、OCRコンポーネント、FTPコンポーネント、PDFコンポーネント、SMBコンポーネント及びカウンタコンポーネントをワークフロー入力画面6001の所定の領域に並べて表示する。このとき、表示されるコンポーネントは、情報処理装置10で管理されている全てのコンポーネントが表示されるようにしてもよいし、一部のコンポーネントが表示されるようにしてもよい。
続いて、ワークフロー開発者がワークフロー入力画面6001に対して任意のコンポーネントを配置した場合の画面遷移について説明する。図15Bは、通信端末に表示されるワークフロー入力画面の画面遷移の一例を示す図である。図15Bに示されているように、ワークフロー開発者は、ワークフロー入力画面6001に表示されている任意のコンポーネントをクリックし、その後、ワークフロー入力画面6001の余白部分をクリックすることでクリックした任意のコンポーネントが配置される。もしくは、ワークフロー入力画面6001に配置された各コンポーネントのうち任意のコンポーネントに対してワークフロー入力画面6001の余白部分にドラッグ&ドロップ等操作を行う。図15Bの場合、ワークフロー開発者は、OCRコンポーネントを選択してドラッグ&ドロップする。これにより、表示制御部63は、ワークフロー入力画面6001においてワークフロー開発者がドロップした位置(座標位置)に、OCRコンポーネントのアイコン等を配置する。
続いて、ワークフロー開発者がワークフロー入力画面6001に対してさらに任意のコンポーネントを配置した場合の画面遷移について説明する。図15Cは、通信端末に表示されるワークフロー入力画面の画面遷移の一例を示す図である。図15Cに示されているように、ワークフロー開発者は、ワークフロー入力画面6001に配置したOCRコンポーネントに続いて、ワークフロー入力画面6001の余白部分にSMBコンポーネント及びカウンタコンポーネントの順番でドラッグ&ドロップする。これにより、表示制御部63は、ワークフロー入力画面6001においてワークフロー開発者がドロップした位置(座標位置)に、SMBコンポーネント及びカウンタコンポーネントのアイコン等を配置する。これにより、処理の流れとしては、OCRを実行したファイルをSMBで保存し、その後OCRの実行ページ数をカウントアップするというワークフローが生成される。さらに、OCRコンポーネント、SMBコンポーネント及びカウンタコンポーネント間は、それぞれ矢印で結ばれる。矢印は、ワークフロー開発者がマウス等のポインティングデバイスを用いてそれぞれのコンポーネントをドラッグ&ドロップ等した後のタイミングなどを利用して、互いに結線可能な位置関係にあると判断された場合に結線表示されるようなUI(User Interface)が提供されてもよい。
続いて、ワークフロー開発者がワークフロー入力画面6001に対してさらに任意のコンポーネントを配置した場合の画面遷移について説明する。図15Dは、通信端末に表示されるワークフロー入力画面の画面遷移の一例を示す図である。図15Dに示されているように、ワークフロー開発者は、図15Bにおいてワークフロー入力画面6001に配置したOCRコンポーネントに続いて、ワークフロー入力画面6002の余白部分にカウンタコンポーネント及びSMBコンポーネントの順番でドラッグ&ドロップする。これにより、表示制御部63は、ワークフロー入力画面6001においてワークフロー開発者がドロップした位置(座標位置)に、カウンタコンポーネント及びSMBコンポーネントのアイコン等を配置する。これにより、処理の流れとしては、OCRを実行したファイルをカウントアップし、SMBで保存するというワークフローが生成される。さらに、OCRコンポーネント、カウンタコンポーネント及びSMBコンポーネント間は、それぞれ矢印で結ばれる。
図15Dの場合、処理の流れとしては、OCRの実行ページ数等をカウントアップし、その後、OCRを実行したファイルをSMBで保存するというワークフローになっている。この場合、OCRの実行ページ数等をカウントアップした後のSMBコンポーネントの処理については、正常に動作するか否かは問わないワークフローの仕様となっている。
図14に戻り、送受信部61は、情報処理装置10に対して、ステップS15で受け付けられた操作(入力)に応じた入力情報を送信する(ステップS16)。これにより、情報処理装置10の送受信部11は、通信端末60が送信した入力情報を受信する。この入力情報には、ステップS15でアプリ設定の入力が受け付けられたアプリのアプリID、選択されたカウント対象の情報、カウント条件が含まれる。
図16は、OCR実行後の出力内容の一例を示す概念図である。図16に示されているOCR実行後の出力内容として、例えば、ファイル名:「output.pdf」、ファイルサイズ:「307200」、及びページ数:「5」が示されている。
情報処理装置10の判断部17は、ステップS16で受信した入力情報に基づいて、設定部143がワークフローを設定可能であるかを判断する(ステップS17)。このとき、判断部17は、設定部143がワークフローを設定可能であるか否かを判断するようにしてもよい。
判断部17によってワークフローを設定可能であると判断された場合、入出力サービス処理部14の設定部143は、ステップS16で通信端末60から受信したアプリIDを含む入力情報で示されるカウンタコンポーネント219を含むワークフローをアプリ情報管理DB1001(図6参照)に設定する(ステップS18)。このときに設定される内容は、例えば、アプリIDに対応するアプリ名とコンポーネントIDである。具体的には、設定部143は、ステップS13で送信された入力画面情報に基づいて通信端末60に表示された入力画面に対して操作(入力)された入力情報に応じて、利用履歴がカウント対象となるコンポーネントを含むワークフローを設定する。
他方、ステップS17において、判断部17によってワークフローを設定可能でないと判断された場合、情報処理装置10は、以降のステップS18及びS19の処理を行わずこのシーケンスを抜ける。この場合、情報処理装置10の送受信部11は、通信端末60に対して、ワークフローが設定できない旨の通知を送信するようにしてもよい。
次に、入出力サービス処理部14のアプリ管理部141は、ステップS16で設定されたアプリ情報管理DB1001(図6参照)に含まれるコンポーネントID又はカウント条件(条件)に関連づけて、記憶・読出部19と協働してカウント設定管理DB1004(図11参照)に登録する(ステップS19)。具体的には、アプリ管理部141は、ステップS16で設定されたアプリ情報管理DB1001(図6参照)に含まれるコンポーネントID又はカウント条件(条件)に関連づけて、カウント設定(条件式)をアプリ設定に含まれるカウント設定として、カウント設定管理DB1004(図11参照)に登録する。
このように、情報処理装置10は、ワークフロー開発者等からの操作入力に応じて、複数のコンポーネントを含むワークフローアプリを生成することができる。
本実施形態に係る情報処理システムでは、例えば、上述したステップS11及びS13の処理が実行される場合、通信端末60と情報処理装置10との間に他の装置等が存在してもよい。つまり、通信端末60と情報処理装置10との間で送受信される各情報(データ)は、一度他の装置を介して送受信されるような構成であってもよい。上述した構成は、通信端末60と情報処理装置10との間に他の処理ステップが存在しても適用可能である。
<<ワークフロー設定時の画面表示例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}です。」という定型文を設定(生成)することができる。上述したように、ワークフローは、通信端末60に表示された入力画面に対する操作に応じて設定されたカウント条件に基づいてカウント対象のコンポーネントの利用履歴をカウント条件に基づいてカウントするカウンタコンポーネントを含む。そして、ワークフローに含まれるカウンタコンポーネントが実行された場合に、カウンタコンポーネントは、カウント対象のコンポーネントの利用履歴をカウントする。
<<ワークフロー設定時の画面表示例2>>
図18は、通信端末に表示されるワークフロー入力画面におけるエラー表示の一例を示す図である。図18に示されているように、通信端末60の表示制御部63は、ディスプレイ606にワークフロー入力画面6201を表示する。図18では、表示制御部63は、ワークフロー開発者によってドラッグ&ドロップされたカウンタコンポーネント、OCRコンポーネント及びSMBコンポーネントのうちカウンタコンポーネントに対して、カウントアップを実行するためのダイアログで示されるカウントアップ式6202をポップアップ表示する。
図18に示した例は、情報処理装置10の判断部17が上述したステップS17においてワークフロー設定可否の判断処理を実行した結果、エラーとなった場合に表示される画面例である。具体的には、フロー作成エディタでフローを保存する際に、情報処理装置10の判断部17は、カウントアップ式の「ocr」に対応する処理がカウンタコンポーネントの前段に存在するか否かをチェックする。ここで前段とは、現在処理が実行されているコンポーネントから見て実行済みの処理が配置されている位置をいう。換言すれば、時間軸における過去の処理に対応する位置をいう。他方、後段とは、現在処理が実行されているコンポーネントから見て未実行の処理が配置されている位置をいう。換言すれば、時間軸における未来の処理に対応する位置をいう。チェックした結果、カウントアップ式の「ocr」に対応する処理がカウンタコンポーネントの前段に存在しない場合(すなわち、カウント対象のコンポーネントの前段に、カウンタコンポーネントが配置された場合)は正しくカウントすることができないため、送受信部11は、ワーフクローを設定できない旨を表示する画面である通知画面を示す通知画面情報を、通信端末60に対して送信する。そして、通信端末60の表示制御部63は、情報処理装置10が送信した通知画面情報に基づいて、エラーのダイアログを示すエラー画面6203を表示する。エラー画面6203の表示方法は、図18に示されたように、カウントアップ式6202のダイアログに重ねる形でエラー画面6203のダイアログがポップアップ表示されてもよい。すなわち、情報処理装置10は、通信端末60と協働して利用者にエラー通知を行う。なお、上述した場合以外にも、同一のカウントアップ式で複数カウンタコンポーネントが配置されているケースなどでエラー通知を行う。但し、判断部17による判断処理は、ワークフローの種類を問わず実行されるようにしてもよい。
<<ワークフロー設定時の画面表示例3>>
図19は、通信端末に表示されるワークフロー入力画面における複数のカウンタコンポーネントを表示する一例を示す図である。図19に示されているように、通信端末60の表示制御部63は、ディスプレイ606にワークフロー入力画面6301を表示する。図19では、表示制御部63は、ワークフローアプリを構成する各コンポーネント(OCRコンポーネント、OCRコンポーネント、SMBコンポーネント)を順番に並べて表示し、各コンポーネントを矢印で結線している。表示制御部63は、さらに、SMBコンポーネントの後段に二つのカウンタコンポーネントを並列に並べて表示し、前段のSMBコンポーネントからそれぞれに対して矢印で結線している。さらに、表示制御部63は、二つのカウンタコンポーネントの各々に対して、カウントアップ式6302及びカウントアップ式6303のダイアログをそれぞれ関連付けてポップアップ表示する。
並列に表示された二つのカウンタコンポーネントのうち、一方のカウンタコンポーネントのカウントアップ式6302のダイアログには「ocr.pages」が与えられ、他方のカウンタコンポーネントのカウントアップ式6303のダイアログには「ocr_jp.pages」が与えられている。このようにして設定されるワークフローでは、OCRコンポーネントが複数配置されている。このような場合は、ワークフロー開発者は、同一のコンポーネントを識別するためのワークフロー内で任意のラベルを設定することができる。ワークフロー開発者によってラベルが設定された場合、各カウンタコンポーネントにおいてラベルを指定した式が与えられれば、それぞれLabel:ocrで出力されたページ数、Label:ocr_jpで出力されたページ数をカウントアップすることができる。
○ワークフロー実行処理○
続いて、サービス利用者によるサービス利用時のワークフロー実行処理について説明する。図20は、請求情報送信処理の一例を示すシーケンス図である。図20では、テナントごとに設定されたタイミングに応じて、ワークフローに含まれるカウンタコンポーネントによってカウントされた利用履歴に基づいて請求処理システム90に送信するまでの処理が示されている。まず、画像処理装置80の送受信部81は、情報処理装置10に対して処理要求を送信する(ステップS51)。これにより、情報処理装置10の送受信部11は、画像処理装置80が送信した処理要求を受信する。このとき、処理要求には、処理対象データ、アプリID、アカウント情報が含まれる。
次に、入出力サービス処理部14のアプリ管理部141は、処理内容を特定する(ステップS52)。具体的には、アプリ管理部141は、受信したアプリIDを検索キーとしてアプリ情報管理DB1001(図6参照)を検索することにより、対応するアプリ名、アプリを構成するコンポーネントを識別するコンポーネントIDを特定する。さらにアプリ管理部141は、特定したコンポーネントIDを検索キーとしてアプリ設定管理DB1002(図9参照)を検索することにより、設定情報としての言語情報、並びに、宛先及びCC等の送信先情報を特定する。
続いて、ドキュメントサービス部16は、特定された処理内容(処理フロー情報)に基づく一連の処理に含まれる所定の処理を実行する(ステップS53)。上述したようにドキュメントサービス部16は、OCR処理部161及びファイル変換部162を含む機能部を有するため、ステップS52で特定された処理内容に応じた処理部によってそれぞれの処理が実行される。
○○ワークフロー実行処理の詳細○○
図21は、ワークフロー実行時の詳細処理の一例を示すシーケンス図である。図21では、ステップS52で特定されたワークフローの処理内容として、アプリ情報管理DB1001(図6参照)で管理されているアプリのうち「ワークフローアプリB」が実行される場合を例に説明する。このとき、アプリ情報管理DB1001(図6参照)を構成するそれぞれのデータテーブルと、カウント設定管理DB1004(図11参照)を構成するデータテーブルは、それぞれ図6A及び図11Aで示した内容を例に説明する。
図21Aに示されているように、まず、情報処理装置10のフロー実行部201は、実行対象のワークフローBから最初の処理対象のコンポーネントとしてOCRコンポーネントを特定する(ステップS71)。
続いて、フロー実行部201は、コンポーネント管理部202に対してOCRコンポーネント実行要求を渡す(ステップS72)。これにより、コンポーネント管理部202は、フロー実行部201からOCRコンポーネント実行要求を受け取る。このとき、OCRコンポーネント実行要求には、ステップS52で特定された対象データのURL、言語情報が含まれる。
次に、コンポーネント管理部202は、コンポーネント群210に管理されているステップS71で特定されたOCRコンポーネントを用いたOCR処理を実行する(ステップS73)。
次に、コンポーネント管理部202は、フロー実行部201に対して処理完了通知を渡す(ステップS74)。これによりフロー実行部201は、コンポーネント管理部202から処理完了通知を受け取る。このとき、処理完了通知には、対象データのURL及び言語情報が含まれる。
次に、フロー実行部201は、ワークフローアプリBの次工程のコンポーネントとしてのカウンタコンポーネントを特定する(ステップS75)。
次に、フロー実行部201は、コンポーネント管理部202に対して、カウンタコンポーネント実行要求を渡す(ステップS76)。これにより、コンポーネント管理部202は、フロー実行部201からカウンタコンポーネント実行要求を受け取る。このとき、カウンタコンポーネント実行要求には、カウント対象のコンポーネントであるOCRコンポーネントを識別するコンポーネントID、OCRコンポーネントによる処理結果が含まれる。
次に、コンポーネント管理部202は、対象のカウンタコンポーネントを識別するカウント設定ID又はカウンタ条件を検索キーとしてカウント設定管理DB1004(図11AB参照)を検索することにより、対応するカウント設定を読み出す(ステップS77)。
次に、コンポーネント管理部202は、ステップS75で特定されたカウンタコンポーネント219によるカウント処理を実行させる(ステップS78)。具体的には、カウンタコンポーネント219は、ステップS77で読み出されたカウント設定に基づいて、カウント対象のOCRコンポーネントの利用履歴をカウントする。カウンタコンポーネント219は、例えば、カウント設定が「ocr_pages」である場合、利用履歴としてカウント対象のOCRコンポーネントの利用量(例えば、ページ数)をカウントする。また、カウンタコンポーネント219は、例えば、カウント設定が「executions」である場合、利用履歴としてカウント対象のOCRコンポーネントの処理回数をカウントする。
○カウント値管理テーブル
図22は、カウント値管理テーブルの一例を示す概念図である。記憶部1000には、図22A又は図22Bに示されているようなカウント値管理テーブルによって構成されたカウント値管理DB1005が構築されている。
図22Aに示したカウント値管理テーブルでは、上述した契約IDごとにテナントID、ユーザアカウント及びカウント値が対応付けて管理されている。図22Bに示したカウント設定管理テーブルでは、上述した契約IDごとにテナントID、ユーザアカウント、キーワード及びカウント値が対応付けて管理されている。これらのうち、キーワードは、通信端末60で入力される任意のラベルに関連付けられる情報であり、上述した「ocr_pages」、「evacuations」等が含まれる。また、カウント値管理テーブルで管理されるカウント値は、例えばページ数である。
図21Aに戻り、コンポーネント管理部202は、カウント処理により得られたカウンタ値をカウント値管理DB1005(図22参照)に記憶(登録)し(ステップS79)、フロー実行部201に対して処理完了通知を渡す(ステップS80)。これにより、フロー実行部201は、コンポーネント管理部202から処理完了通知を受け取る。なお、上述したようにOCRコンポーネントの実行後にカウンタコンポーネント219によってカウント処理が実行される場合は、コンポーネント管理部202は、カウント処理により得られたカウント値をカウント値管理DB(図22参照)に登録させなくてもよい。その場合は、送受信部11は、カウンタコンポーネント219によってカウント値が得られた時点で、通信ネットワーク5を介して請求処理システム90にカウント値を送信するようにしてもよい。
図21Bにおいて、フロー実行部201は、ワークフローアプリBの次工程のコンポーネントとしての画像変換の一例であるPDFコンポーネントを特定する(ステップS81)。
次に、フロー実行部201は、コンポーネント管理部202に対して、PDFコンポーネント実行要求を渡す(ステップS82)。これにより、コンポーネント管理部202は、フロー実行部201からPDFコンポーネント実行要求を受け取る。このとき、PDFコンポーネント実行要求には、画像変換対象となるデータのURL等が含まれる。
次に、コンポーネント管理部202は、PDFコンポーネントの実行内容の一例として画像変換処理を実行する(ステップS83)。
次に、コンポーネント管理部202は、フロー実行部201に対して処理完了通知を渡す(ステップS84)。これによりフロー実行部201は、コンポーネント管理部202から処理完了通知を受け取る。このとき、処理完了通知には、画像変換されたデータのURL等が含まれる。
次に、フロー実行部201は、ワークフローアプリBの次工程のコンポーネントとしてのSMBコンポーネントを特定する(ステップS85)。
次に、フロー実行部201は、コンポーネント管理部202に対して、SMBコンポーネント実行要求を渡す(ステップS86)。これにより、コンポーネント管理部202は、フロー実行部201からSMBコンポーネント実行要求を受け取る。このとき、SMBコンポーネント実行要求には、変換対象のデータのURL、OCR処理データのURL等が含まれる。
次に、コンポーネント管理部202は、SMBコンポーネントの実行内容の一例としてのファイル共有処理等を実行する(ステップS87)。
次に、コンポーネント管理部202は、フロー実行部201に対して処理完了通知を渡す(ステップS88)。これによりフロー実行部201は、コンポーネント管理部202から処理完了通知を受け取る。以上の各処理によって、情報処理装置10では、ワークフロー開発者等によって操作(入力)された複数のコンポーネントを含む所定のワークフローが実行される。
図20に戻り、情報処理装置10の記憶・読出部19は、ステップS51で受信したアプリIDを検索キーとして請求条件管理DB1003(図10参照)を検索することにより、対応する請求条件を読み出す(ステップS54)。このときに読み出される請求条件には請求頻度、請求単位及び算出式が含まれる。
次に、記憶・読出部19は、ステップS51で受信したアカウント情報の一例であるユーザアカウントを検索キーとしてカウント値管理DB1005(図22参照)を検索することにより、対応するカウント値を読み出す(ステップS55)。
次に、送受信部11は、利用者が利用したワークフローに対する請求情報を、請求処理システム90に対して送信する(ステップS56)。これにより、請求処理システム90の通信部91は、情報処理装置10が送信した請求情報を受信する。このとき請求情報には、契約ID、テナントID、及びステップS55で読み出されたカウント値が含まれる。つまり、ステップS56において、送受信部11は、テナントごとに設定された条件、タイミング等に応じて、カウントサービス部18によってカウントされた利用履歴(カウント値)を、請求処理システム90に対して送信する。
次に、請求処理システム90のサービス処理部92は、請求情報に含まれるカウント値に基づいて、利用料を算出する(ステップS57)。具体的には、請求処理システム90は、ステップS56で受信した請求情報に含まれるカウント値と記憶部9000に予め記憶した利用者ごとの請求条件とに基づいて、利用料を算出する。なお、記憶部9000に記憶された請求条件は、請求条件管理DB1003に記憶された請求条件と同様である。
このように、情報処理装置10は、ワークフロー開発者等による操作(入力)に応じて設定された複数のコンポーネントを含むワークフローを設定することができる。さらに、情報処理装置10は、設定されたワークフローを実行し、実行されたワークフローで得られたカウント値を任意のタイミングで請求処理システム90に対して送信することができる。これにより、請求処理システム90は、受信したカウント値に基づいて、利用料を計算することが可能になる。
なお、上述した実施形態では、請求処理システム90が受信した利用履歴(カウント値)に基づいて利用料を算出する例を示したが、これに限らず、情報処理装置10が、実行されたワークフローで得られたカウント値に基づいて利用料を算出するようにしてもよい。この場合、コンポーネント管理部202(カウンタコンポーネント219)は、ステップS54で読み出した請求条件(請求頻度、請求単位、算出式等)にカウント値管理DB1005(図22参照)に記憶したカウント値を乗じた値を利用料として算出する。コンポーネント管理部202によって算出された利用量は、例えば、上述したステップS56の処理タイミングで、送受信部11によって請求処理システム90に送信されるようにしてもよい。
本実施形態に係る情報処理システムでは、例えば、上述したステップS51の処理が実行される場合、画像処理装置80と情報処理装置10との間に他の装置等が存在してもよい。つまり、画像処理装置80と情報処理装置10との間で送受信される各情報(データ)は、一度他の装置を介して送受信されるような構成であってもよい。上述した構成は、画像処理装置80と情報処理装置10との間に他の処理ステップが存在しても適用可能である。
また、本実施形態に係る情報処理システムでは、例えば、上述したステップS57の処理が実行される場合、情報処理装置10と請求処理システム90の間に他の装置等が存在してもよい。つまり、画像処理装置80と情報処理装置10との間で送受信される各情報(データ)は、一度他の装置を介して送受信されるような構成であってもよい。上述した構成は、画像処理装置80と情報処理装置10との間に他の処理ステップが存在しても適用可能である。
●実施形態の効果
以上説明したように、本実施形態によれば、情報処理装置10は、通信端末60に対して、取得された各コンポーネントを設定するための画面情報を送信し(ステップS13)、通信端末60から受信した入力情報で示されるカウンタコンポーネント219を含むワークフローをアプリ情報管理DB1001(図6参照)に設定する(ステップS18)。その後、情報処理装置10は、ワークフローに含まれるカウンタコンポーネント219によるカウント処理を実行する(ステップS78)。これにより、情報処理システム1は、複数のコンポーネントを含むワークフローが実行された場合に、設定されたカウント方法に応じたコンポーネントの利用履歴をカウントすることができるという効果を奏する。
さらに、情報処理システム1は、ワークフローに対応するテナントごとに設定された請求条件、又はタイミング等に応じて、カウントされた利用履歴を請求処理システム90に対して送信する(ステップS57)ため、設定したワークフローの処理が実行される処理タイミングと独立した自由なタイミングで、ワークフローの処理に伴う従量課金処理を行うことが可能となる。
さらに、情報処理システム1は、任意のコンポーネントを含むワークフローを入力可能なUIを、開発者が使用する通信端末60上に提供する(ステップS14)ので、ワークフロー開発者は、自由度の高いワークフローアプリの開発を行うことが可能となる。
●実施形態の変形例●
次に、実施形態の変形例について説明する。図23は、情報処理システムの機能構成の別の一例を示す図である。実施形態の変形例では、カウントアップ対象のコンポーネントを予め入出力サービス処理部14で設定しておく形態である。つまり、上述した実施形態における機能構成の比較において、入出力サービス処理部14内のロジック処理部144に含まれていたカウンタコンポーネント219に代えて、カウント処理部20をロジック処理部144の外部に配置した点が異なる。さらに、記憶部1000に構築されているカウント設定管理DB1004(図11参照)に代えて、カウント対象管理DB1006(図25参照)を新たに構築した点が異なる。なお、システム構成及び各システムを構成するハードウエア資源は上述した実施形態と同様である。
図24は、アプリ情報管理テーブルの別の一例を示す概念図である。図6A及び図6Bで示したアプリ情報管理DB1001との相違点は、コンポーネントIDにおいて、カウンタコンポーネント219に対応するコンポーネントIDが管理対象外となっている点である。この相違点は、上述したカウント処理部20がカウンタコンポーネント219に代えてロジック処理部144の外部に配置されたことによる。
○カウント対象管理テーブル
図25は、カウント対象管理テーブルの一例を示す概念図である。記憶部1000には、図25に示されているようなカウント対象管理テーブルによって構成されたカウント対象管理DB1006が構築されている。カウント対象管理テーブルでは、コンポーネントIDとカウント設定が関連づけられて管理されている。このカウント対象管理テーブルでは、OCR処理及びメール送信に係るコンポーネントIDに対してそれぞれカウント設定の内容が与えられるが、それら以外のコンポーネントIDにはカウント設定は与えられない。
○アプリ登録処理○
続いて、図26及び図27を用いて、実施形態の変形例に係る情報処理システムの処理又は動作について説明する。まず、図26を用いて、ワークフロー開発者が新たにアプリを作成し、情報処理装置10が登録するまでの処理について説明する。図26は、ワークフロー開発者によるワークフロー設定処理の別の一例を示すシーケンス図である。図26において、ステップS101乃至S108までの各処理は、図14に示したステップS11乃至S18までの各処理と同様であるため説明を省略する。
続いて、入出力サービス処理部14のアプリ管理部141は、ステップS16で設定されたアプリ情報管理DB1001(図6参照)に含まれるコンポーネントID又はカウント条件(条件)に関連づけて、記憶・読出部19と協働してカウント対象管理DB1006(図25参照)に登録する(ステップS109)。具体的には、アプリ管理部141は、ステップS16で設定されたアプリ情報管理DB1001(図6参照)に含まれるコンポーネントIDに関連づけて、カウント対象となるコンポーネントIDに対応したカウント設定を、カウント対象管理DB1006(図25参照)の対応するカウント設定の項目に登録する。
○○ワークフロー実行処理の詳細○○
図27は、ワークフロー実行時の詳細処理の一例を示すシーケンス図である。図27Aにおいて、ステップS121-S124までの各処理は、上述した図21AのステップS71-S74までの各処理と同様であるため、説明を省略する。
続いて、フロー実行部201は、コンポーネントIDを検索キーとしてカウント対象管理DB1006(図25参照)を検索することにより、対応するカウント設定の有無からカウント対象の有無を判断する(ステップS125)。この処理では、OCR処理がカウント対象であると判断される。
カウント対象がある場合、フロー実行部201は、カウント処理部20に対してカウント処理実行要求を渡す(ステップS126)。これにより、カウント処理部20は、フロー実行部201が渡したカウント処理実行要求を受け取る。このとき、カウント処理実行要求には、カウント対象であるOCR処理のコンポーネントID、カウント設定、処理結果等が含まれる。
次に、カウント処理部20は、カウンタ処理を実行し(ステップS127)、算出されたカウンタ値をカウント値管理DB1005(図22参照)に登録する(ステップS128)。
次に、カウント処理部20は、フロー実行部201に対して、処理完了通知を渡す(ステップS129)。これにより、フロー実行部201は、カウント処理部20が渡した処理完了通知を受け取る。
カウント処理部20が渡した処理完了通知を受け取った後のステップS130-S133までの各処理は、上述した図21BのステップS81-S84までの各処理と同様であるため、説明を省略する。
続いて、フロー実行部201は、コンポーネントIDを検索キーとしてカウント対象管理DB1006(図25参照)を検索することにより、対応するカウント設定の有無からカウント対象の有無を判断する(ステップS134)。この処理では、SMB処理がカウント対象であると判断される。
カウント対象がある場合、フロー実行部201は、設定されたワークフローアプリの次工程のコンポーネントを特定する(ステップS135)。なお、ステップS136-S138までの各処理は、上述した図21BのステップS86-S88までの各処理と同様であるため、説明を省略する。
続いて、フロー実行部201は、フロー実行部201は、コンポーネントIDを検索キーとしてカウント対象管理DB1006(図25参照)を検索することにより、対応するカウント設定の有無から、さらにカウント対象の有無を判断する(ステップS139)。
●実施形態の変形例の効果
以上説明したように、本実施形態によれば、実施形態で示したロジック処理部144の内部に含まれていたカウンタコンポーネント219に代えて、カウント処理部20をロジック処理部144の外部に配置し、さらに、記憶部1000に構築されているカウント設定管理DB1004(図11参照)に代えて、カウント対象管理DB1006(図25参照)を新たに構築した。これにより、ワークフローごとにカウント方式を設定する方法に代えて、コンポーネントごとにカウント対象(設定)を管理するため、例えば、コンポーネントの種類に応じたカウント設定を一律に管理することが可能になる。
●補足●
上述した各種データテーブル、データ定義等の種類、及び管理されるデータについては一例であり、各実施形態に例示した内容、使用環境等に限定されるものではない。
また、上述した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本実施形態における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウエアによって各機能を実行するようプログラミングされたプロセッサ、並びに上述した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)、SOC(System on a chip)、GPU(Graphics Processing Unit)及び従来の回路モジュール等のデバイスを含むものとする。
また、上述した実施形態の各種テーブルは、機械学習の学習効果によって生成されたものでもよく、関連づけられている各項目のデータを機械学習にて分類付けすることで、テーブルを使用しなくてもよい。ここで、機械学習とは、コンピュータに人のような学習能力を獲得させるための技術であり,コンピュータが,データ識別等の判断に必要なアルゴリズムを、事前に取り込まれる学習データから自律的に生成し,新たなデータについてこれを適用して予測を行う技術のことをいう。機械学習のための学習方法は、教師あり学習、教師なし学習、半教師学習、強化学習及び深層学習のいずれかの方法でもよく、さらに、これらの学習方法を組み合わせた学習方法でもよく、機械学習のための学習方法は問わない。
これまで本発明の一実施形態に係る情報処理装置、情報処理システム、情報処理方法及びプログラムについて説明してきたが、本発明は上述した実施形態に限定されるものではなく、他の実施形態の追加、変更又は削除等、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
1 情報処理システム
5 通信ネットワーク
10 情報処理装置
11 送受信部(第1の送信手段の一例、第2の送信手段の一例)
17 判断部(判断手段の一例)
18 カウントサービス部(カウント手段の一例)
60 通信端末
61 送受信部(送信手段の一例、受信手段の一例)
62 受付部(受付手段の一例)
63 表示制御部(表示制御手段の一例)
80 画像処理装置
90 請求処理システム
131 画面生成部(生成手段の一例)
143 設定部(設定手段の一例)
201 フロー実行部(実行手段の一例)
219 カウンタコンポーネント(カウント手段の一例)
300 ワークフローアプリ(アプリの一例)
606 ディスプレイ(表示手段の一例)
特開2008-65702号公報

Claims (15)

  1. 所定のサービスを提供する情報処理装置であって、
    当該情報処理装置と通信可能な通信端末に対して、複数のコンポーネントを含むワークフローに関する入力をするための入力画面に係る入力画面情報を送信する第1の送信手段と、
    送信された前記入力画面情報に基づいて前記通信端末に表示された前記入力画面に対する操作に応じて、利用履歴がカウント対象となるコンポーネントを含む前記ワークフローを設定する設定手段と、
    設定された前記ワークフローが実行された場合、当該ワークフローに含まれる前記カウント対象のコンポーネントの利用履歴をカウントするカウント手段と、
    を有する情報処理装置。
  2. 前記設定手段は、前記入力画面に対する操作に応じて前記カウント対象のコンポーネントに対するカウント条件を設定し、
    前記カウント手段は、設定された前記カウント条件に基づいて、前記利用履歴をカウントする、
    請求項1に記載の情報処理装置。
  3. 前記ワークフローは、前記通信端末に表示された前記入力画面に対する操作に応じて設定されたカウント条件に基づいて前記カウント対象のコンポーネントの利用履歴をカウントするカウンタコンポーネントを含み、
    前記カウント手段は、前記ワークフローに含まれる前記カウンタコンポーネントが実行された場合に、前記カウント対象のコンポーネントの前記利用履歴をカウントする、
    請求項2に記載の情報処理装置。
  4. 前記情報処理装置は、更に、前記通信端末に表示された前記入力画面に対する操作に応じて、前記設定手段が前記ワークフローを設定可能であるかを判断する判断手段を有し、
    前記判断手段は、前記入力画面において配置された前記カウンタコンポーネントの配置位置に基づいて判断する、
    請求項3に記載の情報処理装置。
  5. 前記入力画面に対する操作に応じて表示された画面に対する操作に基づいて、前記設定手段は、前記カウント条件を設定する、
    請求項1乃至4のいずれか一項に記載の情報処理装置。
  6. 前記利用履歴は、前記カウント対象のコンポーネントの処理回数を含み、
    前記カウント手段は、前記処理回数をカウントする、
    請求項1乃至5のいずれか一項に記載の情報処理装置。
  7. 前記利用履歴は、前記カウント対象のコンポーネントの利用量を含み、
    前記カウント手段は、前記利用量をカウントする、
    請求項1乃至5のいずれか一項に記載の情報処理装置。
  8. 前記情報処理装置は、更に、
    前記カウント手段がカウントした前記利用履歴を、請求処理を行う請求処理システムに送信する第2の送信手段を有する、
    請求項6又は7に記載の情報処理装置。
  9. 前記第2の送信手段は、設定されたタイミングに応じて、前記カウントされた前記利用履歴を前記請求処理システムに送信する、
    請求項8に記載の情報処理装置。
  10. 前記判断手段は、前記カウンタコンポーネントが、前記カウント対象のコンポーネントの前段に配置された場合、前記ワークフローを設定できないと判断し、
    前記第1の送信手段は、前記ワーフクローを設定できない旨を表示する画面である通知画面を示す通知画面情報を前記通信端末に対して送信する、
    請求項4乃至9のいずれか一項に記載の情報処理装置。
  11. 請求項1乃至10のいずれか一項に記載の情報処理装置と、前記情報処理装置と通信可能な通信端末と、を備える情報処理システムであって、
    前記通信端末は、
    前記ワークフローを入力するための入力画面を表示手段に表示する表示制御手段と、
    前記入力画面に表示された一以上のコンポーネントの配置操作を受け付ける受付手段と、
    受け付けられた前記一以上のコンポーネントの配置操作に基づく前記ワークフローを設定するための操作情報を、前記情報処理装置へ送信する送信手段と、
    を有する情報処理システム。
  12. 前記受付手段は、
    前記カウント対象のコンポーネントに対して複数のカウント条件の入力を受け付ける、
    請求項11に記載の情報処理システム。
  13. 前記表示制御手段は、
    前記コンポーネントの配置にエラーが発生した場合、前記ワークフローが正しく設定されない旨を前記表示手段に表示する、
    請求項11に記載の情報処理システム。
  14. 所定のサービスを提供する複数のコンポーネントを有する情報処理装置が実行する情報処理方法であって、
    当該情報処理装置と通信可能な通信端末に対して、前記複数のコンポーネントを含むワークフローに関する入力をするための入力画面に係る入力画面情報を送信する第1の送信ステップと、
    送信された前記入力画面情報に基づいて前記通信端末に表示された前記入力画面に対する操作に応じて、利用履歴がカウント対象となるコンポーネントを含む前記ワークフローを設定する設定ステップと、
    設定された前記ワークフローが実行された場合、当該ワークフローに含まれる前記カウント対象のコンポーネントの利用履歴をカウントするカウントステップと、
    を含む処理を実行する情報処理方法。
  15. 所定のサービスを提供する複数のコンポーネントを有する情報処理装置に、
    当該情報処理装置と通信可能な通信端末に対して、前記複数のコンポーネントを含むワークフローに関する入力をするための入力画面に係る入力画面情報を送信する第1の送信ステップと、
    送信された前記入力画面情報に基づいて前記通信端末に表示された前記入力画面に対する操作に応じて、利用履歴がカウント対象となるコンポーネントを含む前記ワークフローを設定する設定ステップと、
    設定された前記ワークフローが実行された場合、当該ワークフローに含まれる前記カウント対象のコンポーネントの利用履歴をカウントするカウントステップと、
    を含む処理を実行させるプログラム。
JP2021113282A 2021-07-08 2021-07-08 情報処理装置、情報処理システム、情報処理方法及びプログラム Pending JP2023009753A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021113282A JP2023009753A (ja) 2021-07-08 2021-07-08 情報処理装置、情報処理システム、情報処理方法及びプログラム
US17/807,238 US20230010119A1 (en) 2021-07-08 2022-06-16 Information processing apparatus, information processing system, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021113282A JP2023009753A (ja) 2021-07-08 2021-07-08 情報処理装置、情報処理システム、情報処理方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2023009753A true JP2023009753A (ja) 2023-01-20

Family

ID=84798245

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021113282A Pending JP2023009753A (ja) 2021-07-08 2021-07-08 情報処理装置、情報処理システム、情報処理方法及びプログラム

Country Status (2)

Country Link
US (1) US20230010119A1 (ja)
JP (1) JP2023009753A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023015432A (ja) * 2021-07-20 2023-02-01 株式会社リコー 情報処理装置、情報処理システム、情報処理方法及びプログラム
JP2023031795A (ja) * 2021-08-25 2023-03-09 キヤノン株式会社 情報処理装置、情報処理システム、情報処理方法、およびプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10117713B4 (de) * 2000-04-25 2017-05-24 Heidelberger Druckmaschinen Ag Druckmaschine mit geregelter Einstellungskontrolle
JP4345721B2 (ja) * 2005-07-14 2009-10-14 コニカミノルタビジネステクノロジーズ株式会社 管理システム
JP4854435B2 (ja) * 2006-09-08 2012-01-18 キヤノン株式会社 ワークフロー管理装置及びワークフロー管理方法
JP5854664B2 (ja) * 2011-06-29 2016-02-09 キヤノン株式会社 印刷システム、印刷システムのワークフロー管理方法及びプログラム
JP5747877B2 (ja) * 2012-07-20 2015-07-15 コニカミノルタ株式会社 画像処理連携システム、画像処理連携方法、携帯情報装置、画像処理装置及び連携プログラム
US10120758B2 (en) * 2015-03-10 2018-11-06 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method for implementing a system rollback process
US11455166B2 (en) * 2021-02-26 2022-09-27 Slack Technologies, Llc Hosting event-based applications

Also Published As

Publication number Publication date
US20230010119A1 (en) 2023-01-12

Similar Documents

Publication Publication Date Title
US20200380200A1 (en) Information processing apparatus and method and non-transitory computer readable medium
US20230010119A1 (en) Information processing apparatus, information processing system, and information processing method
JP7293652B2 (ja) 情報処理システム、サーバ装置、情報処理方法、及びプログラム
KR20210111294A (ko) 전자 콘텐츠에서 실행 가능한 주석을 위한 확장 가능한 프레임워크
US11184493B2 (en) Information processing system, information processing method, and apparatus for extending a workflow
US9875511B1 (en) Method and system for desktop-invoked image or video capture
US11729331B2 (en) Service providing system to generate duplicated application and transmit it to the electronic device for display on a display, information processing method, and non-transitory recording medium
US11436299B2 (en) Information processing system, server apparatus, and information processing method
EP3933678A1 (en) Information processing system, data output system, image processing method, and carrier means
US11743410B2 (en) Information processing apparatus, information processing system, and information processing method
JP7196600B2 (ja) 情報処理システム、サーバ装置、情報処理方法、及びプログラム
US11470217B2 (en) Service providing system with controlled display, information processing system, display control method, and non-transitory recording medium
US20220197477A1 (en) Information processing apparatus and non-transitory computer readable medium storing program
US11587348B2 (en) Document classification system and non-transitory computer readable recording medium storing document classification program
US20230297543A1 (en) Data management device, data management system, and recording medium
JP2023139498A (ja) 推奨管理装置、推奨管理システム、推奨管理方法及びプログラム
JP2018081414A (ja) 情報処理装置及び情報処理プログラム
JP2023137727A (ja) 推奨管理装置、推奨管理システム、推奨管理方法及びプログラム
JP2024069788A (ja) 文書管理システム、文書管理装置、文書管理方法及びプログラム
JP2020101999A (ja) 情報処理システム、情報処理装置、情報処理方法及びプログラム
JP2023066237A (ja) 情報処理システム、サービス提供システム、アプリ実行方法
JP2022088988A (ja) 情報処理システム、サービス提供システム、処理実行方法
JP2023156225A (ja) 情報処理システム、画像保存システム、画像保存方法、プログラム
JP2023110498A (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
JP2021174480A (ja) 情報処理装置、サービス統合システム、サービス統合方法およびプログラム

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20231025