図面 (/)

技術 情報処理システム、情報処理装置、及び情報処理方法

出願人 株式会社リコー
発明者 波平晃佑林雄一郎杉村和徳張東哲
出願日 2015年3月20日 (5年8ヶ月経過) 出願番号 2015-058021
公開日 2016年10月6日 (4年1ヶ月経過) 公開番号 2016-177613
状態 特許登録済
技術分野 マルチプログラミング ファクシミリ一般 ストアードプログラム
主要キーワード 変更処理内容 コンポーネント部品 処理実行手順 変換コンポーネント OCR処理後 ロジック処理 ドキュメントサービス 変更ルール
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年10月6日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (16)

課題

外部サービス連携した一連の処理に対して動的に処理を追加する。

解決手段

電子データを用いた一連の処理で構成される第1の処理を外部サービスと連携して実行するアプリケーションに関して、アプリ識別情報と第1の処理に関する情報とを関連付けて記憶手段に記憶しておく。アプリ識別情報と電子データに関する情報とを含む要求を受信し、そのアプリ識別情報に関連付けて記憶手段に記憶されている第1の処理に関する情報に基づいて、第1の処理を電子データに対して実行する。そのとき、第1の処理に含まれる一つの処理が実行される前に、その処理の前に実行させるべき処理に関する情報を追加した第2の処理に関する情報を生成するか否かを判定し、それに応じて、必要なら第2の処理に関する情報を生成して第2の処理を電子データに対して実行する。

概要

背景

近年、クラウドコンピューティング等により多種多様外部サービスが提供されるようになってきており、このような外部サービスと機器とが連携して処理を行う技術が知られている。例えば画像形成装置原稿スキャンして取得した画像データを外部ストレージサービス保管する技術が知られている。

また、予め定義された事務フローモデルに基づき、各種処理を実行するコンポーネント部品を制御するための事務フローを生成する技術が知られている(例えば特許文献1参照)。このような技術では、生成された事務フローによりコンポーネント部品が組み合わされて、事務フローを実現する一連の処理が実行される。

概要

外部サービスと連携した一連の処理に対して動的に処理を追加する。電子データを用いた一連の処理で構成される第1の処理を外部サービスと連携して実行するアプリケーションに関して、アプリ識別情報と第1の処理に関する情報とを関連付けて記憶手段に記憶しておく。アプリ識別情報と電子データに関する情報とを含む要求を受信し、そのアプリ識別情報に関連付けて記憶手段に記憶されている第1の処理に関する情報に基づいて、第1の処理を電子データに対して実行する。そのとき、第1の処理に含まれる一つの処理が実行される前に、その処理の前に実行させるべき処理に関する情報を追加した第2の処理に関する情報を生成するか否かを判定し、それに応じて、必要なら第2の処理に関する情報を生成して第2の処理を電子データに対して実行する。

目的

本発明の一実施形態は、上記の点に鑑みてなされたもので、外部サービスと連携した一連の処理に対して動的に処理を追加することを目的とする

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

1以上の情報処理装置により構成される情報処理システムであって、電子データを用いた一連の処理で構成される第1の処理を外部サービス連携して実行するアプリケーション毎に、該アプリケーション識別するアプリ識別情報と、該第1の処理に関する情報とを関連付けて記憶する第1の記憶手段と、前記情報処理システムに接続される1以上の機器のうちの一の機器から前記アプリ識別情報と、該一の機器においてユーザにより指定された電子データに関する情報とを含む要求を受信する受信手段と、前記受信手段で受信した前記要求に含まれる前記アプリ識別情報に関連付けて前記第1の記憶手段に記憶されている前記第1の処理に関する情報に基づく前記第1の処理を、該要求に含まれる前記電子データに関する情報により指定される電子データに対して実行する処理実行手段と、前記処理実行手段により前記第1の処理に含まれる一の処理が実行される前に、該実行される一の処理の前に実行させる処理に関する情報を追加した第2の処理に関する情報を生成するか否かを判定し、該判定結果に応じて前記第2の処理に関する情報を生成する処理変更手段とを有し、前記処理実行手段は、前記処理変更手段により前記第2の処理に関する情報が生成された場合、該生成された前記第2の処理に関する情報に基づく第2の処理を、前記電子データに対して実行する、情報処理システム。

請求項2

前記処理変更手段は、さらに、前記処理実行手段により前記第1の処理又は前記第2の処理が実行された後、該実行された前記第1の処理又は前記第2の処理の後に実行される処理に関する情報を追加した第3の処理に関する情報を生成するか否かを判定し、該判定結果に応じて前記第3の処理に関する情報を生成する、請求項1記載の情報処理システム。

請求項3

前記処理変更手段が前記第2の処理に関する情報を生成する条件に関する情報と、該条件を充足した場合に前記実行される一の処理の前に実行させる処理に関する情報とを関連付けて記憶する第2の記憶手段を有し、前記処理変更手段は、前記処理実行手段により前記第1の処理に含まれる一の処理が実行される前に、前記第2の記憶手段に記憶されている前記条件に関する情報を参照して、該条件を充足するか否かを判定することにより前記第2の処理に関する情報を生成するか否かを判定し、該判定結果に応じて、前記条件を充足すると判定された前記条件に関する情報に関連付けて前記第2の記憶手段に記憶されている前記処理に関する情報を、前記実行される一の処理に関する情報の前に追加した第2の処理に関する情報を生成する、請求項1又は2記載の情報処理システム。

請求項4

前記第2の記憶手段には、電子データに所定の文字列が含まれることを条件とする条件に関する情報と、該条件を充足した場合に実行させる前記電子データを所定のデータ形式に変換させる処理に関する情報とを含み、前記処理変更手段は、前記処理実行手段により前記第1の処理に含まれる一の処理が実行される前に、前記第2の記憶手段に記憶されている前記条件に関する情報を参照して、該一の処理の処理対象となる電子データに所定の文字列が含まれるか否かを判定し、該判定結果に応じて前記実行される一の処理に関する情報の前に前記電子データを所定のデータ形式に変換させる処理に関する情報を追加した前記第2の処理に関する情報を生成する、請求項3記載の情報処理システム。

請求項5

前記処理変更手段は、前記処理実行手段により前記第1の処理に含まれる一の処理が実行される前に、該実行される一の処理の前に実行される処理に関する情報を追加した、又は該実行される一の処理に関する情報を削除若しくは変更した第2の処理に関する情報を生成するか否かを判定し、該判定結果に応じて前記第2の処理に関する情報を生成する、請求項1記載の情報処理システム。

請求項6

情報処理装置であって、電子データを用いた一連の処理で構成される第1の処理を外部サービスと連携して実行するアプリケーション毎に、該アプリケーションを識別するアプリ識別情報と、該第1の処理に関する情報とを関連付けて記憶する第1の記憶手段と、前記情報処理装置に接続される1以上の機器のうちの一の機器から前記アプリ識別情報と、該一の機器においてユーザにより指定された電子データに関する情報とを含む要求を受信する受信手段と、前記受信手段で受信した前記要求に含まれる前記アプリ識別情報に関連付けて前記第1の記憶手段に記憶されている前記第1の処理に関する情報に基づく前記第1の処理を、該要求に含まれる前記電子データに関する情報により指定される電子データに対して実行する処理実行手段と、前記処理実行手段により前記第1の処理に含まれる一の処理が実行される前に、該実行される一の処理の前に実行させる処理に関する情報を追加した第2の処理に関する情報を生成するか否かを判定し、該判定結果に応じて前記第2の処理に関する情報を生成する処理変更手段とを有し、前記処理実行手段は、前記処理変更手段により前記第2の処理に関する情報が生成された場合、該生成された前記第2の処理に関する情報に基づく第2の処理を、前記電子データに対して実行する、情報処理装置。

請求項7

1以上の情報処理装置により構成される情報処理システムであって、電子データを用いた一連の処理で構成される第1の処理を外部サービスと連携して実行するアプリケーション毎に、該アプリケーションを識別するアプリ識別情報と、該第1の処理に関する情報とを関連付けて記憶する第1の記憶手段を有する情報処理システムにおいて、前記情報処理システムに接続される1以上の機器のうちの一の機器から前記アプリ識別情報と、該一の機器においてユーザにより指定された電子データに関する情報とを含む要求を受信する受信手順と、前記受信手順で受信した前記要求に含まれる前記アプリ識別情報に関連付けて前記第1の記憶手段に記憶されている前記第1の処理に関する情報に基づく前記第1の処理を、該要求に含まれる前記電子データに関する情報により指定される電子データに対して実行する処理実行手順と、前記処理実行手順により前記第1の処理に含まれる一の処理が実行される前に、該実行される一の処理の前に実行させる処理に関する情報を追加した第2の処理に関する情報を生成するか否かを判定し、該判定結果に応じて前記第2の処理に関する情報を生成する処理変更手順とを有し、前記処理実行手順は、前記処理変更手順により前記第2の処理に関する情報が生成された場合、該生成された前記第2の処理に関する情報に基づく第2の処理を、前記電子データに対して実行する、情報処理方法

技術分野

0001

本発明は、情報処理システム情報処理装置、及び情報処理方法に関する。

背景技術

0002

近年、クラウドコンピューティング等により多種多様外部サービスが提供されるようになってきており、このような外部サービスと機器とが連携して処理を行う技術が知られている。例えば画像形成装置原稿スキャンして取得した画像データを外部ストレージサービス保管する技術が知られている。

0003

また、予め定義された事務フローモデルに基づき、各種処理を実行するコンポーネント部品を制御するための事務フローを生成する技術が知られている(例えば特許文献1参照)。このような技術では、生成された事務フローによりコンポーネント部品が組み合わされて、事務フローを実現する一連の処理が実行される。

発明が解決しようとする課題

0004

ここで、上記の従来技術においては、予め定義された事務フローモデルに基づき事務フローが生成される。したがって、事務フローを実現する一連の処理に対して、動的に処理を追加等することができなかった。このため、実行される一連の処理の途中で、特定の処理を行う必要が生じた場合、改めて当該特定の処理を含めた一連の処理を実行させる必要があった。

0005

本発明の一実施形態は、上記の点に鑑みてなされたもので、外部サービスと連携した一連の処理に対して動的に処理を追加することを目的とする。

課題を解決するための手段

0006

上記目的を達成するため、本発明の一実施形態は、1以上の情報処理装置により構成される情報処理システムであって、電子データを用いた一連の処理で構成される第1の処理を外部サービスと連携して実行するアプリケーション毎に、該アプリケーション識別するアプリ識別情報と、該第1の処理に関する情報とを関連付けて記憶する第1の記憶手段と、前記情報処理システムに接続される1以上の機器のうちの一の機器から前記アプリ識別情報と、該一の機器においてユーザにより指定された電子データに関する情報とを含む要求を受信する受信手段と、前記受信手段で受信した前記要求に含まれる前記アプリ識別情報に関連付けて前記第1の記憶手段に記憶されている前記第1の処理に関する情報に基づく前記第1の処理を、該要求に含まれる前記電子データに関する情報により指定される電子データに対して実行する処理実行手段と、前記処理実行手段により前記第1の処理に含まれる一の処理が実行される前に、該実行される一の処理の前に実行させる処理に関する情報を追加した第2の処理に関する情報を生成するか否かを判定し、該判定結果に応じて前記第2の処理に関する情報を生成する処理変更手段とを有し、前記処理実行手段は、前記処理変更手段により前記第2の処理に関する情報が生成された場合、該生成された前記第2の処理に関する情報に基づく第2の処理を、前記電子データに対して実行することを特徴とする。

発明の効果

0007

本発明の一実施形態によれば、外部サービスと連携した一連の処理に対して動的に処理を追加することができる。

図面の簡単な説明

0008

第1の実施形態に係る情報処理システムの一例のシステム構成図である。
第1の実施形態に係るサービス提供システムの一例のハードウェア構成図である。
第1の実施形態に係る画像形成装置の一例のハードウェア構成図である。
第1の実施形態に係る情報処理システムの一例の処理ブロック図である。
共通I/F及び固有I/Fの一例を示す図である。
処理内容の一例を示す図である。
第1の実施形態に係るロジック処理部の一例の処理ブロック図である。
第1の実施形態に係るスキャン配信サービスの全体処理の一例のシーケンス図である。
スキャン配信サービスを利用するためのアプリ画面の一例を示す図である。
第1の実施形態に係る配信実行処理の一例のシーケンス図である。
変更ルール情報テーブルの一例を示す図である。
フロー経過情報テーブルの一例の説明するための図である。
変更処理内容の一例を示す図である。
第2の実施形態に係る配信実行処理の一例のシーケンス図である。
変更された処理内容を承認するための画面の一例を示す図である。

実施例

0009

以下、本発明の実施形態について図面を参照しながら詳細に説明する。

0010

[第1の実施形態]
<システム構成>
まず、本実施形態に係る情報処理システム1のシステム構成について、図1を用いて説明する。図1は、第1の実施形態に係る情報処理システムの一例のシステム構成図である。図1に示される情報処理システム1は、サービス提供環境E1、ユーザ環境E2、及び外部ストレージシステム30を含み、インターネット等の広域的ネットワークN1を介して通信可能に接続されている。

0011

サービス提供環境E1は、ネットワークを介してクラウドサービス等の外部サービスを提供するシステム環境である。なお、本実施形態では、外部サービスの具体例としてクラウドサービスを採用して説明するが、ASP(Application Service Provider)によって提供されるサービスやWebサービス等、ネットワークを介して提供されるサービスに関して本実施の形態が適用されてもよい。

0012

サービス提供環境E1は、一台以上の情報処理装置で実現されるサービス提供システム10を有する。サービス提供システム10は、ネットワークを介して、外部サービスと連携した所定のサービスを提供する。例えば、サービス提供システム10は、ユーザ環境E2の画像形成装置20において原稿をスキャンして生成された電子ファイルを、OCR(Optical Character Reader)処理して、外部ストレージシステム30に保存するサービス(スキャン配信サービス)を提供する。本実施形態では、サービス提供システム10は、このようなスキャン配信サービスを提供するものとして説明する。

0013

ただし、サービス提供システム10により提供されるサービスは、これに限られない。サービス提供システム10は、例えば、外部ストレージシステム30に保存されている電子ファイルを、ユーザ環境E2の画像形成装置20で印刷するサービス(クラウドプリントサービス)を提供してもよい。また、サービス提供システム10は、例えば、画像形成装置20において原稿をスキャンして生成された電子ファイルを、OCR処理した後、所定の言語に翻訳(例えば英語から日本語に翻訳)して、外部ストレージシステム30に保存するサービスを提供してもよい。さらに、サービス提供システム10は、例えば、外部ストレージシステム30に保存されている電子ファイルを、ユーザ環境E2のプロジェクタ投影するサービス等を提供してもよい。

0014

なお、サービス提供システム10の全部又は一部は、ユーザ環境E2に設置されていてもよい。すなわち、サービス提供システム10を構成する情報処理装置の全部又は一部は、ユーザ環境E2に包含されていてもよい。

0015

ユーザ環境E2は、例えば画像形成装置20を使用するユーザである企業等におけるシステム環境である。ユーザ環境E2は、一台以上の画像形成装置20が例えばLAN(Local Area Network)等のネットワークを介して接続されている。

0016

本実施形態に係る画像形成装置20は、スキャン機能を有する。ただし、画像形成装置20は、スキャン機能以外に、プリント機能コピー機能ファックスFAX通信機能等を備える複合機等でもよい。

0017

外部ストレージシステム30は、ネットワークを介してストレージサービス(又はオンラインストレージ)と呼ばれるクラウドサービスを提供するコンピュータシステムである。ストレージサービスとは、外部ストレージシステム30の記憶領域を貸し出すサービスである。本実施形態では、スキャン配信サービスにおいて、外部ストレージシステム30によって貸し出される記憶領域に、電子ファイルを保存(アップロード)する。

0018

なお、以降では、複数の外部ストレージシステム30について、各々を区別するときは、「外部ストレージシステム301」、「外部ストレージシステム302」等と添え字を用いて記載する。また、外部ストレージシステム301によって提供されるサービスの名称を「ストレージサービスA」、ストレージシステム302によって提供されるサービスの名称を「ストレージサービスB」等とする。

0019

また、外部ストレージシステム30は、複数台の情報処理装置によって実現されるシステムであってもよい。さらに、図1に示される情報処理システム1の構成は一例であって、他の構成であってもよい。例えば、ユーザ環境E2は、画像形成装置20に加えて又は画像形成装置20に代えて、プロジェクタ、電子黒板携帯電話スマートフォン等の各種機器を有していてもよい。

0020

<ハードウェア構成>
次に、本実施形態に係るサービス提供システム10及び画像形成装置20のハードウェア構成について、それぞれ図2及び図3を用いて説明する。

0021

≪サービス提供システム≫
図1に示されるサービス提供システム10は、例えば図2に示されるようなハードウェア構成を有する。図2は、第1の実施形態に係るサービス提供システムの一例のハードウェア構成図である。図2に示すサービス提供システム10は、入力装置11と、表示装置12と、外部I/F13と、RAM(Random Access Memory)14とを有する。また、サービス提供システム10は、ROM(Read Only Memory)15と、CPU(Central Processing Unit)16と、通信I/F17と、HDD(Hard Disk Drive)18とを有する。これらの各ハードウェアは、それぞれがバスBで接続されている。

0022

入力装置11は、キーボードマウスタッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置12は、ディスプレイ等を含み、サービス提供システム10による処理結果を表示する。なお、入力装置11及び表示装置12は、必要なときにサービス提供システム10に接続して利用する形態であってもよい。

0023

通信I/F17は、サービス提供システム10をネットワークN1に接続するインタフェースである。これにより、サービス提供システム10は、通信I/F17を介してデータ通信を行うことができる。

0024

HDD18は、プログラムやデータを格納している不揮発性記憶装置の一例である。格納されるプログラムやデータには、サービス提供システム10全体を制御する基本ソフトウェアであるOS(Operating System)、及びOS上において各種機能を提供するアプリケーションソフトウェア等がある。なお、サービス提供システム10は、HDD108に代え、記憶媒体としてフラッシュメモリを用いるドライブ装置(例えばソリッドステートドライブSSD)を利用するものであってもよい。また、HDD108は、格納しているプログラムやデータを所定のファイルシステム及び/又はDBにより管理している。

0025

外部I/F13は、外部装置とのインタフェースである。外部装置には、記録媒体13a等がある。これにより、サービス提供システム10は、外部I/F13を介して記録媒体13aの読み取り及び/又は書き込みを行うことができる。記録媒体13aには、フレキシブルディスク、CD、DVD、SDメモリカードUSBメモリ等がある。

0026

ROM15は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。ROM15には、サービス提供システム10の起動時に実行されるBIOS(Basic Input/Output System)、OS設定、及びネットワーク設定等のプログラムやデータが格納されている。RAM14は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。

0027

CPU16は、ROM15やHDD18等の記憶装置からプログラムやデータをRAM14上に読み出し、処理を実行することで、サービス提供システム10全体の制御や機能を実現する演算装置である。

0028

本実施形態に係るサービス提供システム10は、上記のハードウェア構成を有することにより、後述するような各種処理を実現できる。

0029

≪画像形成装置≫
図1に示される画像形成装置20は、例えば図3に示されるようなハードウェア構成を有する。図3は、第1の実施形態に係る画像形成装置の一例のハードウェア構成図である。図3に示す画像形成装置20は、コントローラ21と、操作パネル22と、外部I/F23と、通信I/F24と、スキャナ25とを有する。また、コントローラ21は、CPU211と、RAM212と、ROM213と、NVRAM214と、HDD215とを有する。ROM213は、各種プログラムやデータが格納されている。RAM212はプログラムやデータを一時保持する。NVRAM214は、例えば設定情報等が格納されている。また、HDD215は各種プログラムやデータが格納されている。

0030

CPU211は、ROM213やNVRAM214、HDD215等からプログラムやデータ、設定情報等をRAM212上に読み出し、処理を実行することで、画像形成装置20全体の制御や機能を実現する。

0031

操作パネル22は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。外部I/F23は、外部装置とのインタフェースである。外部装置には、記録媒体23a等がある。これにより、画像形成装置20は、外部I/F23を介して記録媒体23aの読み取り及び/又は書き込みを行うことができる。記録媒体23aにはICカード、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。

0032

通信I/F24は、画像形成装置20をネットワークN1に接続するインタフェースである。これにより、画像形成装置20は通信I/F24を介してデータ通信を行うことができる。スキャナ25は原稿を読み取り画像ファイル(電子ファイル)を生成するための読取装置である。

0033

本実施形態に係る画像形成装置20は、上記のハードウェア構成を有することにより、後述するような各種処理を実現できる。

0034

ソフトウェア構成
次に、本実施形態に係る情報処理システム1の処理ブロックについて、図4を用いて説明する。図4は、第1の実施形態に係る情報処理システムの一例の処理ブロック図である。

0035

画像形成装置20は、例えばCPU211等により実現されるブラウザ210を有する。画像形成装置20のユーザは、ブラウザ210を介して、サービス提供システム10により提供されるサービスを利用することができる。このように、本実施形態に係る画像形成装置20では、ブラウザ210が搭載されていればよく、サービスを利用するための専用のアプリケーションを開発等する必要がない。

0036

サービス提供システム10は、サービス処理部110と、ドキュメントサービス部150と、ストレージサービス連携部160とを有する。これら各部は、サービス提供システム10にインストール又はダウンロードされる1以上のプログラムが、CPU16等に実行させる処理により実現される。

0037

また、サービス提供システム10は、アプリ情報記憶部190を有する。このアプリ情報記憶部190は、HDD18により実現される。なお、アプリ情報記憶部190は、サービス提供システム10とネットワークを介して接続される記憶装置等により実現されてもよい。

0038

サービス処理部110は、アプリ管理部120と、ロジック処理部130と、データI/F部140とを有する。

0039

アプリ管理部120は、アプリ情報記憶部190に記憶されているアプリ情報1000を管理する。アプリ管理部120は、ブラウザ210からの要求に応じて、アプリ情報1000に含まれる画面定義に基づくアプリ画面を返信する。これにより、画像形成装置20のブラウザ210には、サービス提供システム10により提供されるサービスを利用するためのアプリ画面が表示される。ここで、アプリ情報1000は、上述したアプリ画面を画像形成装置20に表示させるための画面定義と、当該アプリ情報1000により実現されるサービスの処理内容とが記述された情報である。

0040

また、アプリ管理部120は、ロジック処理部130からの要求に応じて、アプリ情報1000に含まれる処理内容を返信する。処理内容には、詳細は後述するが、スキャン配信サービス等のサービス提供システム10により提供されるサービスを実現するための一連の処理が記述されている。

0041

ロジック処理部130は、ブラウザ210からの要求に応じて、アプリ管理部120から処理内容を取得する。そして、ロジック処理部130は、取得した処理内容に基づきドキュメントサービス部150やストレージサービス連携部160のファイル処理部170に対して、処理の実行を要求する。これにより、サービス提供システム10による各種サービスが、画像形成装置20に提供される。なお、ロジック処理部130の詳細な処理ブロックについては、後述する。

0042

データI/F部140は、ブラウザ210からの要求に応じて、ストレージサービス連携部160のデータ処理部180に対して、所定の要求(例えばフォルダ一覧の取得等の要求)を行う。

0043

ドキュメントサービス部150は、サービス提供システム10により提供されるサービスを実現するためのプログラム(モジュール)群である。ドキュメントサービス部150には、例えば、電子ファイルに対してOCR処理を実行するOCR処理151、電子ファイルをパスワード付き電子ファイルに変換する機密変換処理152等が含まれる。なお、ドキュメントサービス部150は、例えば、電子ファイルを画像形成装置20が印刷可能な印刷データに変換するプログラム、電子ファイルの圧縮又は解凍するためのプログラム、言語の翻訳処理を行うためのプログラム等が含まれてもよい。

0044

ストレージサービス連携部160は、ロジック処理部130及びデータI/F部140からの要求に応じて、外部ストレージシステム30に対して、各種処理の実行を要求する。ここで、サービス提供システム10は、外部ストレージシステム30毎に、ストレージサービス連携部160をそれぞれ有する。すなわち、サービス提供システム10は、外部ストレージシステム301に対して処理を要求するためのストレージサービスA連携部1601、外部ストレージシステム302に対して処理を要求するためのストレージサービスB連携部1602等を有する。このように、サービス提供システム10は、連携して処理を行う外部ストレージシステム30毎に、それぞれ対応するストレージサービス連携部160を有する。なお、以降では、複数のストレージサービス連携部160について、各々を区別するときは、上記のように「ストレージサービスA連携部1601」、「ストレージサービスB連携部1602」等と添え字を用いて記載する。

0045

ストレージサービス連携部160は、上述したように、ロジック処理部130からの要求を受け付けるファイル処理部170と、データI/F部140からの要求を受け付けるデータ処理部180とを有する。

0046

ファイル処理部170は、外部ストレージシステム30に保存されている電子ファイルに対する操作(例えば、取得、保存、編集等)を行うためのAPI(Application Programming Interface)が定義された共通I/F171及び固有I/F172を有する。共通I/F171は、複数の外部ストレージシステム30間で共通に利用できるAPIであり、例えば図5(a)に示すようなAPIが挙げられる。換言すれば、ファイル処理部170の共通I/F171は、すべての外部ストレージシステム30が利用できるファイル操作に関する機能(例えば、ファイルの取得、保存等)を利用するためのAPI群である。一方、固有I/F172は、特定の外部ストレージシステム30において利用できるAPIであり、例えば図5(b)に示すようなAPIが挙げられる。換言すれば、ファイル処理部170の固有I/F172は、ある特定の外部ストレージシステム30において利用できるファイル操作に関する機能(例えば、ファイルの編集等)を利用するためのAPI群である。したがって、共通I/F171は、すべてのストレージサービス連携部160に対して同様に定義される一方、固有I/F171は、当該固有I/F171で定義されるAPIが利用可能な特定のストレージサービス連携部160に対して定義される。

0047

一方、データ処理部180は、外部ストレージシステム30に保存されている電子ファイルの書誌情報等のメタデータ(例えば、ファイル一覧、フォルダ一覧等)を取得等するためのAPIが定義された共通I/F181及び固有I/F182を有する。共通I/F181は、複数の外部ストレージシステム30間で共通に利用できるAPIであり、例えば図5(c)に示すようなAPIが挙げられる。換言すれば、データ処理部180の共通I/F181は、すべての外部ストレージシステム30で利用できるメタデータ取得等の機能を利用するためのAPI群である。一方、固有I/F182は、ある特定の外部ストレージシステム30において利用できるAPIであり、例えば図5(d)に示すようなAPIが挙げられる。換言すれば、データ処理部180の固有I/F182は、ある特定の外部ストレージシステム30において利用できるメタデータ取得等の機能(例えば、画像ファイル一覧の取得等)を利用するためのAPI群である。したがって、共通I/F181は、すべてのストレージサービス連携部160に対して同様に定義される一方、固有I/F181は、当該固有I/F181で定義されるAPIが利用可能な特定のストレージサービス連携部160に対して定義される。なお、ストレージサービス連携部160の追加等は、SDK(Software Development Kit)を用いて行うことができる。

0048

ここで、図5に示されるように共通I/F171及び固有I/F172で定義されるAPIは、「外部サービス名(ストレージサービス名)」を指定することで利用することができる(すなわち、「ストレージサービス名」が可変部分として定義されている)。

0049

アプリ情報記憶部190は、アプリ情報1000を記憶する。アプリ情報1000は、アプリ画面を画像形成装置20に表示させるための画面定義と、サービス提供システム10により提供されるサービスを実現するため一連の処理を示す処理内容とが記述された情報である。アプリ情報1000は、アプリ情報1000を一意に識別するためのアプリID毎に、アプリ情報記憶部190に記憶されている。本実施形態では、ストレージサービスAと連携したスキャン配信サービスを実現するためのアプリ情報を「アプリ情報10001」とし、このアプリ情報10001のアプリIDを「app001」とする。

0050

ここで、アプリ情報10001に含まれる処理内容を図6に示す。図6は、処理内容の一例を示す図である。図6に示す処理内容1100は、スキャンして生成された電子ファイルについて、OCR処理した後、ストレージサービスAの指定されたフォルダに配信する一連の処理を示している。図6に示す処理内容1100の「flowId」にはアプリ情報10001において処理内容を一意に識別するためのフローID「flow1」が定義されている。また、図6に示す処理内容1100の「flowDetails」には、処理内容を構成するオペレーション1101及び1101が定義されている。ここで、オペレーションとは、サービス提供システム10により提供されるサービスを実現するための一連の処理が定義された処理内容を構成する各処理のことである。すなわち、処理内容は、1以上のオペレーションが定義されることにより構成される。

0051

図6に示す処理内容1100は、OCR処理を実行するオペレーション1101及びストレージサービスAへの配信(アップロード)処理を実行するオペレーション1102で構成されている。より具体的には、オペレーション1101は、英語でOCR処理を実行してPDF(Portable Document Format)形式で処理結果を出力する。また、オペレーション1102は、ストレージサービスAの指定されたフォルダIDのフォルダに電子ファイルを配信(アップロード)する。

0052

なお、図6に示す処理内容1100は、スキャン配信サービスを実現するための一例である。スキャン配信サービスは、例えば、ドキュメントサービス部150に含まれるプログラムにより実現される各種処理を、さらに組み合わせた一連の処理により実現されてもよい。例えば、スキャン配信サービスは、「スキャンされた電子ファイルについて、OCR処理を行った後、英語を日本語に翻訳して、ストレージサービスAの指定されたフォルダに配信する」等であってもよい。

0053

また、アプリ情報10001には、複数の処理内容が含まれてもよい。すなわち、アプリ情報1000には、フローIDが異なる複数の処理内容が含まれてもよい。

0054

次に、本実施形態に係るロジック処理部130の詳細な処理ブロックについて、図7を用いて説明する。図7は、第1の実施形態に係るロジック処理部の一例の処理ブロック図である。ロジック処理部130は、フロー実行部131と、コンポーネント管理部132と、コンポーネント群133と、フロー経過管理部134と、フロー変更部135と、フロー経過情報記憶部136と、変更ルール情報記憶部137とを有する。

0055

フロー実行部131は、ブラウザ210からスキャン配信サービスの処理の実行要求を受け付けると、アプリ管理部120を介して、アプリ情報1000から処理内容を取得する。そして、フロー実行部131は、アプリ情報1000から取得した処理内容に定義されたオペレーションに従ってコンポーネントに対して処理の実行を要求する。なお、ここで、コンポーネントとは、各種処理を実行するためのモジュール等であり、例えばクラスや関数等で定義される。

0056

また、フロー実行部131は、コンポーネントから処理結果を受け取ると、フロー経過情報の更新をフロー経過管理部134に要求する。ここで、フロー経過情報とは、処理内容に定義されたオペレーションのうち実行済のオペレーションに関する情報である。

0057

さらに、フロー実行部131は、処理内容に定義されたオペレーションに従ってコンポーネントに対して処理の実行を要求する前、又は処理を実行したコンポーネントから処理結果を受け取った後に、処理内容の変更要否の判定をフロー変更部135に要求する。このように、本実施形態に係るサービス提供システム10では、処理内容に定義されたオペレーションに従った処理の実行前又は実行後に、処理内容の変更要否を判定する。そして、後述するように、この判定結果に応じて、フロー変更部135により処理内容が変更される。このようにして、一連の処理を示す処理内容が動的に変更される。

0058

コンポーネント管理部132は、フロー実行部131からの要求に応じて、コンポーネントの生成を行う。なお、コンポーネントの生成とは、例えばクラスで定義されたコンポーネントを、メモリ(例えばRAM14)上に展開することを意味する。

0059

コンポーネント群133は、コンポーネントの集合である。コンポーネント群133には、外部ストレージシステム30に電子ファイルを配信するための配信コンポーネント1331、電子ファイルにOCR処理を行うためのOCRコンポーネント1332が含まれる。また、コンポーネント群133には、電子ファイルをパスワード付き電子ファイルに変換するための機密変換コンポーネント1333が含まれる。なお、コンポーネント群133には、これら以外にも、例えば、外部ストレージシステム30から電子ファイルを取得するための取得コンポーネントや外部ストレージシステム30を利用するための認証情報を取得するための認証コンポーネント等が含まれてもよい。

0060

このように、コンポーネント群133には、処理内容に定義されたオペレーションの処理を実行するコンポーネントが定義されている。したがって、フロー実行部131は、処理内容に定義されたオペレーションに従って、オペレーションに対応するコンポーネントに処理の実行を要求することで、サービス提供システム10により提供されるサービスを実現するための一連の処理が実行される。

0061

さらに、これらの各コンポーネントは、コンポーネント共通I/F1330を有する。コンポーネント共通I/F1330は、各コンポーネントに対して共通に定義されたAPIであり、コンポーネントを生成するためのAPIと、コンポーネントに対して処理の実行を要求するためのAPIとが含まれる。このように、各コンポーネントがコンポーネント共通I/F1330を有するようにすることで、コンポーネントの追加等に伴う影響を局所化することができる。これにより、コンポーネントの追加等の開発に要する工数を削減することができる。

0062

フロー経過管理部134は、フロー実行部131からフロー経過情報を受け取った場合に、受け取ったフロー経過情報に含まれる情報をフロー経過情報記憶部136に記憶させる。

0063

フロー変更部135は、フロー実行部131からの要求に応じて、変更ルール情報記憶部137に記憶されている変更ルール情報テーブル1371に基づき、処理内容の変更要否を判定する。そして、フロー変更部135は、判定結果に応じて処理内容を変更する。ここで、処理内容を変更するとは、処理内容に新たにオペレーションの定義を追加した処理内容を生成すること、又は処理内容に定義されたオペレーションを削除若しくは変更した処理内容を生成することを意味する。

0064

フロー経過情報記憶部136は、フロー経過情報テーブル1361を記憶する。フロー経過情報テーブル1361は、処理内容に定義されたオペレーションの実行状況が管理される。これにより、フロー経過管理部134は、一連の処理を示す処理内容に定義された各オペレーションについて、どこまでのオペレーションが実行済であるのかを管理することができる。なお、フロー経過情報テーブル1361の詳細については後述する。

0065

変更ルール情報記憶部137は、変更ルール情報テーブル1371を記憶する。変更ルール情報テーブル1371は、処理内容を変更するためにフロー変更部135により参照される情報であり、処理内容を変更するための条件と当該条件を充足した際の変更内容とが管理されている。なお、変更ルール情報テーブル1371の詳細については後述する。

0066

以上のように、本実施形態に係るサービス提供システム10は、一連の処理を示す処理内容に定義されたオペレーションに従った処理の実行前又は実行後に、変更ルール情報テーブル1371に基づき、処理内容の変更要否を判定する。そして、サービス提供システム10は、判定結果に応じて処理内容が変更される。これにより、サービス提供システム10により実行される処理内容が動的に変更される。

0067

<処理の詳細>
次に、本実施形態に係る情報処理システム1の処理の詳細について説明する。

0068

≪スキャン配信サービスの全体処理≫
まず、画像形成装置20のユーザが本実施形態に係るスキャン配信サービスを利用する場合の全体的な処理について、図8を用いて説明する。図8は、第1の実施形態に係るスキャン配信サービスの全体処理の一例のシーケンス図である。

0069

まず、画像形成装置20のユーザは、ブラウザ210を用いて、サービス提供システム10により提供されるサービスの一覧を取得するための操作を行う。すると、画像形成装置20は、サービスの一覧の取得要求をサービス提供システム10のサービス処理部110に送信する(ステップS801)。そして、サービス処理部110のアプリ管理部120は、当該取得要求を受信すると、サービス提供システム10により提供されるサービスの一覧を画像形成装置20に送信する。これにより、画像形成装置20のブラウザ210により、画像形成装置20の操作パネル22にサービス提供システム10により提供されるサービスの一覧が表示される。なお、サービスの一覧には、サービス提供システム10により提供されるサービスのサービス名と、このサービスを実現するためのアプリ情報1000のアプリIDと、このアプリ情報1000に含まれる処理内容のフローIDとが含まれる。

0070

ユーザは、画像形成装置20の操作パネル22に表示されたサービスの一覧から、自身が利用を所望するサービスを選択する。すると、ブラウザ210は、選択されたサービスを実現するためのアプリ情報1000のアプリIDをアプリ管理部120に送信する(ステップS802)。ここでは、ユーザによりストレージサービスAにスキャン配信するためのサービス「スキャン配信サービス」の利用が選択されたものとする。したがって、ブラウザ210は、アプリ情報10001のアプリID「app001」をアプリ管理部120に送信する。そして、アプリ管理部120は、ブラウザ210から受け取ったアプリID「app001」のアプリ情報10001に含まれる画面定義に基づきHTML(HyperText Markup Language)形式のアプリ画面を生成し、ブラウザ210に送信する。

0071

ブラウザ210は、アプリ管理部120から受け取ったアプリ画面を受信すると、例えば図9に示すようなアプリ画面1500を、操作パネル22に表示させる(ステップS803)。図9は、ストレージサービスAにスキャン配信するスキャン配信サービスを利用するためのアプリ画面1500である。

0072

次に、ユーザは、図9に示すアプリ画面1500において、ファイル名入力欄1502にスキャンにより生成される電子ファイルに付与する所望のファイル名を入力する。また、ユーザは、保存先フォルダID入力欄1503にスキャンにより生成される電子ファイルを保存するストレージサービスAのフォルダのフォルダIDを入力する。ここでは、ファイル名入力欄1502にファイル名「test」及び保存先フォルダID入力欄1503に保存先のフォルダのフォルダID「/folder1」が入力されたものとする。なお、図9に示すアプリ画面1500では、OCR言語選択欄1501には英語でOCR処理を行うことを示す「English」が選択されているが、ユーザが所望の言語をしてもよい。

0073

また、図9に示すアプリ画面1500では、ストレージサービスAにおける保存先フォルダのフォルダIDをユーザが直接入力するものとしたが、保存先フォルダをフォルダ一覧からユーザが選択できるようにしてもよい。すなわち、例えばデータI/F140がデータ処理部180を介してストレージサービスAのフォルダ一覧を取得し、取得されたフォルダ一覧からユーザが保存先フォルダを選択できるようにしてもよい。

0074

そして、ユーザは、画像形成装置20のスキャナ25に原稿をセットした上で、スキャン実行ボタン1504を押下する(ステップS804)。これにより、画像形成装置20のスキャナ25により原稿が読み取られ、ファイル名入力欄1502に入力されたファイル名の電子ファイルが生成される(ステップS805)。そして、画像形成装置20は、生成された電子ファイルをストレージサービスAに配信するための配信実行処理を行う(ステップS806)。この配信実行処理について、図10を用いて詳細に説明する。

0075

ここで、図10に示す配信実行処理では、スキャンして生成した電子ファイルをOCR処理した後に、当該OCR処理後の電子ファイルをパスワード付き電子ファイルに変換する処理を動的に追加する場合について説明する。したがって、図10に示す配信実行処理では、このように動的に処理が追加された結果(処理内容が変更された結果)、当該追加された処理により変換されたパスワード付き電子ファイルがストレージサービスAに配信(アップロード)される。

0076

≪配信実行処理≫
図10は、第1の実施形態に係る配信実行処理の一例のシーケンス図である。

0077

まず、ブラウザ210は、スキャン配信サービスの処理の実行要求をフロー実行部131に送信する(ステップS1001)。ここで、当該実行要求には、アプリID「app001」、実行される処理内容のフローID「flow1」、スキャンにより生成された電子ファイル、保存先フォルダのフォルダID等が含まれる。そして、フロー実行部131は、処理の実行要求を受け付けると、アプリ管理部120を介して、当該処理の実行要求に含まれるアプリID「app001」のアプリ情報10001からフローID「flow1」の処理内容を取得する(ステップS1002)。すなわち、フロー実行部131は、図6に示す処理内容1100を取得する。

0078

フロー実行部131は、処理内容に基づき実行されるジョブを一意に識別するためのジョブIDを発行する(ステップS1003)。ここでは、ジョブID「Job001」が発行されたものとする。

0079

次に、フロー実行部131は、処理内容の変更要否の判定をフロー変更部135に要求する(ステップS1004)。ここで、当該判定要求には、ステップS1002で取得した処理内容1100、及びスキャンにより生成された電子ファイルを示すデータ等が含まれる。なお、電子ファイルには、例えば入力ストリームを示す「InputStream」や電子ファイルの保存先パスを示す「LocalFilePath」等の各種のデータ型が定義されているが、このようなデータ型を意識することなく扱われる電子ファイルを単に「データ」と表す。

0080

そして、フロー変更部135は、変更ルール情報テーブル1371を参照して、処理内容の変更要否を判定する(ステップS1005)。

0081

ここで、フロー変更部135は、例えば図11に示すような変更ルール情報テーブル1371を参照して、処理内容の変更要否を判定する。より具体的には、フロー変更部135は、図11に示す変更ルール情報テーブル1371の「変更条件」を参照して、該当する変更条件が存在するか否かを判定する。換言すれば、フロー変更部135は、処理内容に新たにオペレーションの定義を追加した処理内容、又は処理内容に定義されたオペレーションを削除若しくは変更した処理内容を生成するか否かを判定する。

0082

そして、フロー変更部135は、該当する変更条件が存在する場合、処理内容の変更が必要であると判定する一方、該当する変更条件が存在しない場合、処理内容の変更は不要であると判定する。ここでは、フロー変更部135は、変更不要を示す判定結果を得たものとする。すると、フロー変更部135は、判定結果をフロー実行部131に送信する。

0083

次に、フロー実行部131は、処理内容に定義されたオペレーションに従って、コンポーネントの取得をコンポーネント管理部132に要求する(ステップS1006)。より具体的には、フロー実行部131は、図6に示す処理内容1100のオペレーション1101に基づき、OCRコンポーネント1332の取得をコンポーネント管理部132に要求する。

0084

コンポーネント管理部132は、OCRコンポーネント1332の取得要求を受け付けると、OCRコンポーネント1332を生成する(ステップS1007)。OCRコンポーネント1332の生成は、コンポーネント共通I/F1330に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。そして、OCRコンポーネント1332が生成されると、コンポーネント管理部132は、OCRコンポーネント1332をフロー実行部131に返却する。これは、例えば、コンポーネント管理部132は、OCRコンポーネント1332が展開されたメモリ(例えばRAM14)上のアドレスを、フロー実行部131に返却すればよい。

0085

フロー実行部131は、生成されたOCRコンポーネント1332に対して、データを指定して処理の実行を要求する(ステップS1008)。

0086

OCRコンポーネント1332は、フロー実行部131からデータを指定した処理の実行要求を受け取ると、指定されたデータに対して処理を実行する(ステップS1009)。より具体的には、OCRコンポーネント1332は、ドキュメントサービス部150のOCR処理151に対して処理の実行を要求し、OCR処理151が指定されたデータ(すなわち、電子ファイル)に対してOCR処理を実行する。そして、OCRコンポーネント1332は、処理結果をフロー実行部131に返信する。なお、ここで、返信される処理結果は、スキャンにより生成された電子ファイルをOCR処理された後のデータ(より具体的には、PDF形式の電子ファイル)である。

0087

次に、フロー実行部131は、フロー経過情報の更新をフロー経過管理部134に要求する(ステップS1010)。ここで、フロー経過情報には、ステップS1003で発行されたジョブID「Job001」と、処理内容1100のフローID「flow1」と、実行されたOCRコンポーネント1332に対応するオペレーション1101のオペレーション名「ocr」とが含まれる。

0088

続いて、フロー経過管理部134は、フロー経過情報に含まれるジョブIDと、処理内容のフローIDと、オペレーション名とに基づき、フロー経過情報記憶部136のフロー経過情報テーブル1361を更新する(ステップS1011)。より具体的には、図12(a)に示すように、フロー経過情報テーブル1361に、ジョブID「Job001」、アプリID「app001」、フローID「flow1」、オペレーション「ocr」のレコードを追加する。これにより、ジョブID「Job001」のジョブにおいて、アプリID「app001」のフローID「flow1」で特定される処理内容1100に含まれるオペレーション1101が実行済であることが管理される。そして、フロー経過管理部134は、更新が完了したことを示す更新結果をフロー実行部131に送信する。

0089

次に、フロー実行部131は、処理内容の変更要否の判定をフロー変更部135に要求する(ステップS1012)。ここで、当該判定要求には、ステップS1002で取得した処理内容1100、及びステップS1009でOCR処理された後のデータ等が含まれる。

0090

そして、フロー変更部135は、変更ルール情報テーブル1371を参照して、処理内容の変更要否を判定する(ステップS1013)。

0091

ここで、フロー変更部135は、例えば図11に示すような変更ルール情報テーブル1371を参照して、処理内容の変更要否を判定する。より具体的には、フロー変更部135は、図11に示す変更ルール情報テーブル1371の「変更条件」を参照して、該当する変更条件が存在するか否かを判定する。換言すれば、フロー変更部135は、処理内容に新たにオペレーションの定義を追加した処理内容、又は処理内容に定義されたオペレーションを削除若しくは変更した処理内容を生成するか否かを判定する。

0092

そして、フロー変更部135は、該当する変更条件が存在する場合、処理内容の変更が必要であると判定する一方、該当する変更条件が存在しない場合、処理内容の変更は不要であると判定する。ここでは、データ(PDF形式の電子ファイル)に「パスワード」との文言が含まれていたことにより、フロー変更部135は、変更ルールID「1」の変更条件に該当すると判定したものとする。

0093

すると、フロー変更部135は、ステップS1002で取得した処理内容を、上記のステップS1013で変更条件に該当すると判定された変更ルールIDの変更内容に基づき変更する(ステップS1014)。より具体的には、フロー変更部135は、ステップS1013で変更条件に該当すると判定された変更ルールID「1」の変更内容に基づき、処理内容1100を図13に示す変更処理内容2000に変更する。すなわち、フロー変更部135は、処理内容1100において実行済のオペレーション1101の次に、変更ルールID「1」の変更内容に基づき、PDF形式の電子ファイルをパスワード付きPDF形式の電子ファイルに変換するオペレーション2100を追加する。このようにして、本実施形態に係るサービス提供システム10では、フロー実行部131により実行される処理内容が動的に変更される。そして、フロー変更部135は、変更処理内容2000をフロー実行部131に送信する。

0094

次に、フロー実行部131は、ステップS1014で変更された処理内容(すなわち、変更処理内容2000)に定義されたオペレーションに従って、コンポーネントの取得をコンポーネント管理部132に要求する(ステップS1015)。より具体的には、フロー実行部131は、図13に示す変更処理内容2000のオペレーション1101の次に定義されたオペレーション2100に基づき、機密変換コンポーネント1333の取得をコンポーネント管理部132に要求する。

0095

コンポーネント管理部132は、機密変換コンポーネント1333の取得要求を受け付けると、機密変換コンポーネント1333を生成する(ステップS1016)。機密変換コンポーネント1333の生成は、コンポーネント共通I/F1330に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。そして、機密変換コンポーネント1333が生成されると、コンポーネント管理部132は、機密変換コンポーネント1333をフロー実行部131に返却する。これは、例えば、コンポーネント管理部132は、機密変換コンポーネント1333が展開されたメモリ(例えばRAM14)上のアドレスを、フロー実行部131に返却すればよい。

0096

フロー実行部131は、生成された機密変換コンポーネント1333に対して、データを指定して処理の実行を要求する(ステップS1017)。ここで、指定されるデータは、具体的には、ステップS1009でOCRコンポーネント1332から処理結果として返信されたデータである。

0097

機密変換コンポーネント1333は、フロー実行部131からデータを指定した処理の実行要求を受け取ると、指定されたデータに対して処理を実行する(ステップS1018)。より具体的には、機密変換コンポーネント1333は、ドキュメントサービス部150の機密変換処理152に対して処理の実行を要求し、機密変換処理152が指定されたデータに対してパスワードを付加する処理を行う。すなわち、機密変換処理152は、指定された電子ファイルを、パスワード付き電子ファイルに変換する。そして、機密変換コンポーネント1333は、処理結果をフロー実行部131に返信する。なお、ここで、返信される処理結果は、パスワードを付加したデータ(より具体的には、パスワード付きPDF形式の電子ファイル)である。

0098

次に、フロー実行部131は、フロー経過情報の更新をフロー経過管理部134に要求する(ステップS1019)。ここで、フロー経過情報には、ジョブID「Job001」と、変更処理内容2000のフローID「flow1」と、実行された機密変換コンポーネント1333に対応するオペレーション2100のオペレーション名「pdf2securepdf」とが含まれる。

0099

続いて、フロー経過管理部134は、フロー経過情報に含まれるジョブIDと、処理内容(変更処理内容)のフローIDと、オペレーション名とに基づき、フロー経過情報記憶部136のフロー経過情報テーブル1361を更新する(ステップS1020)。より具体的には、図12(b)に示すように、フロー経過情報テーブル1361に、ジョブID「Job001」、アプリID「app001」、フローID「flow1」で特定されるレコードに、オペレーション「pdf2securepdf」を追加する。これにより、ジョブID「Job001」のジョブにおいて、アプリID「app001」のフローID「flow1」で特定される変更処理内容2000に含まれるオペレーション1101及び2100が実行済であることが管理される。そして、フロー経過管理部134は、更新が完了したことを示す更新結果をフロー実行部131に送信する。

0100

次に、フロー実行部131は、処理内容(変更処理内容)の変更要否の判定をフロー変更部135に要求する(ステップS1021)。ここで、当該判定要求には、変更処理内容2000、ステップS1018でパスワードが付加されたデータ等が含まれる。

0101

そして、フロー変更部135は、変更ルール情報テーブル1371を参照して、処理内容(変更処理内容)の変更要否を判定する(ステップS1022)。ここでは、ステップS1005と同様に、フロー変更部135は、変更不要を示す判定結果を得たものとする、すると、フロー変更部135は、判定結果をフロー実行部131に送信する。

0102

次に、フロー実行部131は、変更処理内容2000に定義されたオペレーションに従って、コンポーネントの取得をコンポーネント管理部132に要求する(ステップS1023)。より具体的には、フロー実行部131は、図13に示す変更処理内容2000のオペレーション2100の次に定義されたオペレーション1102に基づき、配信コンポーネント1331の取得をコンポーネント管理部132に要求する。

0103

コンポーネント管理部132は、配信コンポーネント1331の取得要求を受け付けると、配信コンポーネント1331を生成する(ステップS1024)。配信コンポーネント1331の生成は、コンポーネント共通I/F1330に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。そして、配信コンポーネント1331が生成されると、コンポーネント管理部132は、配信コンポーネント1331をフロー実行部131に返却する。これは、例えば、コンポーネント管理部132は、配信コンポーネント1331が展開されたメモリ(例えばRAM14)上のアドレスを、フロー実行部131に返却すればよい。

0104

フロー実行部131は、生成された配信コンポーネント1331に対して、データを指定して処理の実行を要求する(ステップS1025)。ここで、指定されるデータは、具体的には、ステップS1018で機密変換コンポーネント1333から処理結果として返信されたデータである。

0105

配信コンポーネント1331は、フロー実行部131からデータを指定した処理の実行要求を受け取ると、指定されたデータに対して処理を実行する(ステップS1026)。より具体的には、配信コンポーネント1331は、ストレージサービスA連携部1601のファイル処理部1701に対して、共通I/F1711として定義されているファイル保存のAPIを用いて、データの配信実行を要求する。すなわち、配信コンポーネント1331は、ストレージサービスA連携部1601のファイル処理部1701に対して、図5(a)に示すAPIとして「外部サービス名/process/folder」を用いて、例えば「service-a/process/folder?path=/floder1&name=test」と指定する。これにより、ストレージサービスAのフォルダパス「/folder1」のフォルダに、ファイル名「test」のデータ(具体的には、パスワード付きPDF形式の電子ファイル)が配信される。そして、配信コンポーネント1331は、データの配信処理の結果をフロー実行部131に送信する。

0106

次に、フロー実行部131は、フロー経過情報の更新をフロー経過管理部134に要求する(ステップS1027)。ここで、フロー経過情報には、ジョブID「Job001」と、変更処理内容2000のフローID「flow1」と、実行された配信コンポーネント1331に対応するオペレーション1101のオペレーション名「uploadFile」とが含まれる。

0107

続いて、フロー経過管理部134は、フロー経過情報に含まれるジョブIDと、処理内容(変更処理内容)のフローIDと、オペレーション名とに基づき、フロー経過情報記憶部136のフロー経過情報テーブル1361を更新する(ステップS1028)。より具体的には、図12(c)に示すように、フロー経過情報テーブル1361に、ジョブID「Job001」、アプリID「app001」、フローID「flow1」で特定されるレコードに、オペレーション「uploadFile」を追加する。これにより、ジョブID「Job001」のジョブにおいて、アプリID「app001」のフローID「flow1」で特定される変更処理内容2000に含まれるオペレーション1101、2100、及び1102が実行済であることが管理される。そして、フロー経過管理部134は、更新が完了したことを示す更新結果をフロー実行部131に送信する。

0108

次に、フロー実行部131は、処理内容(変更処理内容)の変更要否の判定をフロー変更部135に要求する(ステップS1029)。ここで、当該判定要求には、変更処理内容2000、ステップS1026でストレージサービスAに配信(アップロード)されたデータ等が含まれる。

0109

そして、フロー変更部135は、変更ルール情報テーブル1371を参照して、処理内容(変更処理内容)の変更要否を判定する(ステップS1030)。ここでは、ステップS1005及びステップS1022と同様に、フロー変更部135は、変更不要を示す判定結果を得たものとする、すると、フロー変更部135は、判定結果をフロー実行部131に送信する。最後に、フロー実行部131は、データの配信処理が完了したことを示す処理結果をブラウザ210に送信する。これにより、本実施形態に係る配信実行処理が完了する。

0110

なお、本実施形態に係る配信実行処理では、上記のステップS1014において処理内容に対する変更内容として、実行済みのオペレーションの次に新たなオペレーションを追加する場合について説明したが、これに限られない。すなわち、処理内容に対する変更内容として、実行済みのオペレーションの次に定義されているオペレーションを削除又は変更してもよい。また、変更内容として追加するオペレーション、削除するオペレーション、及び変更するオペレーションは、1つに限られず、複数のオペレーションであってもよい。換言すれば、変更ルール情報テーブル1371の変更条件に合致した場合の変更内容は、例えば情報処理システム1の管理者等が任意に設定することができる。

0111

このように、本実施形態に係るサービス提供システム10では、一連の処理を示す処理内容を実行する際に、この処理内容を動的に変更することができる。したがって、本実施形態に係るサービス提供システム10では、アプリ情報記憶部190で管理される処理内容の増大を抑制させることできる。例えば、アプリ情報記憶部190には利用頻度が高い基本的な処理内容を管理しておく一方で、データの特性等に応じて行われる固有の処理は動的に追加等されるような構成にすることで、アプリ情報記憶部190に管理される処理内容の数を抑制することができる。このため、サービス提供システム10の管理者に対しては処理内容の管理負担を軽減させることができるとともに、ユーザに対しては処理内容により実現されるサービスを選択する場合等の操作負担を軽減させることができる。

0112

[第2の実施形態]
次に、第2の実施形態に係る情報処理システム1について説明する。第2の実施形態に係る情報処理システム1に含まれるサービス提供システム10は、フロー変更部135により処理内容が変更された場合、変更された処理内容で処理を続行させるか否かをユーザに選択させるものである。これにより、ユーザは、動的に変更された処理内容について、自身で変更内容を確認した上で、処理を続行させることができるようになる。なお、以降では、第1の実施形態と実質的に同一の機能を有する箇所及び同一の処理を行う箇所については、第1の実施形態と同一の符号を用いて、その説明を省略する。

0113

<処理の詳細>
次に、本実施形態に係る情報処理システム1の処理の詳細について説明する。

0114

≪配信実行処理≫
第2の実施形態に係る配信実行処理について、図14を用いて説明する。図14は、第2の実施形態に係る配信実行処理の一例のシーケンス図である。

0115

フロー実行部131は、フロー変更部135から変更処理内容2000を受け取ると、変更処理内容2000をブラウザ210に送信する(ステップS1401)。また、このとき、フロー実行部131は、ブラウザ210に例えば図15に示すような承認画面3000を表示させるための画面定義をアプリ管理部120から取得し、取得した画面定義に基づき生成されるアプリ画面をブラウザ210に送信する。

0116

ブラウザ210は、フロー実行部131から変更処理内容2000及びアプリ画面を受け取ると、変更処理内容2000及びアプリ画面に基づき図15に示すような承認画面3000を表示させる(ステップS1402)。ユーザは、図15に示す承認画面3000を確認することにより、処理内容が変更されたことを知ることができる。ユーザが承認画面3000において「はい」ボタン3001が選択されると、ブラウザ210は、ユーザにより処理内容の変更が承認されたことを示す情報をフロー実行部131に送信する。これにより、フロー実行部131により変更処理内容2000に従った処理が実行される。

0117

一方、ユーザが承認画面3000において「いいえ」ボタン3002が選択されると、ブラウザ210は、ユーザにより処理内容の変更が拒否されたことを示す情報をフロー実行部131に送信する。このとき、フロー実行部131は、変更処理内容2000に従った処理を中止(すなわち、ジョブID「Job001」を中止)させる。ただし、フロー実行部131は、変更処理内容2000に従った処理を中止させるのではなく、変更前の処理内容1100に従った処理を行うようにしてもよい。

0118

<まとめ>
以上のように、第1の実施形態に係るサービス提供システム10は、各コンポーネントに対して処理の実行を要求する前、又は処理を実行したコンポーネントから処理結果を受け取った後に、変更ルール情報テーブル1371を参照して、処理内容の変更要否を判定する。そして、サービス提供システム10は、変更ルール情報テーブル1371の変更条件に合致する場合、処理内容を、合致した変更条件に対応する変更内容に変更する。これにより、本実施形態に係るサービス提供システム10では、処理内容を動的に変更させることができる。したがって、本実施形態に係るサービス提供システム10では、アプリ情報記憶部190で管理される処理内容の増大を抑制させることできる。

0119

また、第2の実施形態に係るサービス提供システム10は、処理内容が変更された場合に、ユーザに変更内容を確認させることができる。これにより、ユーザは、動的に変更された処理内容を確認した上で、変更された処理内容で処理を続行させるか否かを選択することができる。したがって、サービス提供システム10により動的に変更された処理内容がユーザの意図しないものであった場合等において、ユーザの意図しない処理が行われることを防止することができる。

0120

なお、アプリ情報記憶部190は、第1の記憶手段の一例である。フロー実行部131は、受信手段及び処理実行手段の一例である。フロー変更部135は、処理変更手段の一例である。変更ルール情報記憶部137は、第2の記憶手段の一例である。

0121

なお、本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。

0122

1情報処理システム
10サービス提供システム
20画像形成装置
30外部ストレージシステム
110サービス処理部
120アプリ管理部
130ロジック処理部
131フロー実行部
132コンポーネント管理部
133コンポーネント群
134フロー経過管理部
135 フロー変更部
136 フロー経過情報記憶部
137変更ルール情報記憶部
140 データI/F部
150ドキュメントサービス部
151OCR処理
152機密変換処理
160ストレージサービス連携部
170ファイル処理部
180データ処理部
190アプリ情報記憶部

先行技術

0123

特許第5112085号公報

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ