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

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

▶ 京セラドキュメントソリューションズ株式会社の特許一覧

特開2024-177111情報処理システム、画像形成システム、及び情報処理方法
<>
  • 特開-情報処理システム、画像形成システム、及び情報処理方法 図1
  • 特開-情報処理システム、画像形成システム、及び情報処理方法 図2
  • 特開-情報処理システム、画像形成システム、及び情報処理方法 図3
  • 特開-情報処理システム、画像形成システム、及び情報処理方法 図4
  • 特開-情報処理システム、画像形成システム、及び情報処理方法 図5
  • 特開-情報処理システム、画像形成システム、及び情報処理方法 図6
  • 特開-情報処理システム、画像形成システム、及び情報処理方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024177111
(43)【公開日】2024-12-19
(54)【発明の名称】情報処理システム、画像形成システム、及び情報処理方法
(51)【国際特許分類】
   G06F 9/52 20060101AFI20241212BHJP
【FI】
G06F9/52 150Z
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2024091086
(22)【出願日】2024-06-05
(31)【優先権主張番号】18/331,940
(32)【優先日】2023-06-09
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVASCRIPT
(71)【出願人】
【識別番号】000006150
【氏名又は名称】京セラドキュメントソリューションズ株式会社
(74)【代理人】
【識別番号】100097113
【弁理士】
【氏名又は名称】堀 城之
(74)【代理人】
【識別番号】100162363
【弁理士】
【氏名又は名称】前島 幸彦
(74)【代理人】
【識別番号】100194283
【弁理士】
【氏名又は名称】村上 大勇
(72)【発明者】
【氏名】庄司 秀典
(57)【要約】
【課題】画像形成のワークフローを介して、クラウド及びローカルのタスクを組みあわせて自動化できる情報処理システムを提供する。
【解決手段】
クラウドサーバー1は、クラウド制御部100と、クラウドタスク実行部110とを備える。クラウド制御部100は、ワークフローの各タスクをクラウドサーバー1又はローカルサーバー2に振り分ける。クラウドタスク実行部110は、クラウドサーバー1に振り分けられたタスクを実行する。ローカルサーバー2は、クライアント制御部200と、ローカルタスク実行部210とを備える。クライアント制御部200は、クラウドサーバー1から振り分けられたタスクの実行結果330をクラウドサーバー1との間で送受信する。ローカルタスク実行部210は、ローカルサーバー2に振り分けられたタスクを実行する。
【選択図】図3
【特許請求の範囲】
【請求項1】
クラウド装置とローカル装置とを備え、文書に対する画像形成のワークフローを実行する情報処理システムであって、
前記クラウド装置は、
前記ワークフローの各タスクを前記クラウド装置又は前記ローカル装置に振り分けるクラウド制御部と、
前記クラウド制御部により前記クラウド装置に振り分けられたタスクを実行するクラウドタスク実行部とを備え、
前記ローカル装置は、
前記クラウド装置から、前記ローカル装置に振り分けられたタスク及びタスクの実行結果を前記クラウド装置との間で送受信するクライアント制御部と、
前記クライアント制御部により取得された、前記ローカル装置に振り分けられたタスクを実行するローカルタスク実行部とを備える
ことを特徴とする情報処理システム。
【請求項2】
前記クラウド制御部は、
前記ワークフローの実行を指示するユーザーの権限情報により、各前記タスクの振り分けを変更する
ことを特徴とする請求項1に記載の情報処理システム。
【請求項3】
前記クラウド制御部は、
前記権限情報として、前記ローカル装置で実行されるアプリの権限に応じて、各前記タスクの振り分けを変更する
ことを特徴とする請求項2に記載の情報処理システム。
【請求項4】
前記クラウド制御部は、
実行可能な権限及びユーザーを指定し、前記ローカル装置でアプリを実行するためのスクリプトを加えた前記ワークフローを生成する
ことを特徴とする請求項3に記載の情報処理システム。
【請求項5】
前記クラウド制御部は、
前記ワークフローの実行の進捗を他の装置からの求めに応じて提示する
ことを特徴とする請求項1に記載の情報処理システム。
【請求項6】
クラウド装置とローカル装置とを備え、文書に対する画像形成のワークフローを実行する画像形成システムであって、
前記クラウド装置は、
前記ワークフローの各タスクを前記クラウド装置又は前記ローカル装置に振り分けるクラウド制御部と、
前記クラウド制御部により前記クラウド装置に振り分けられたタスクを実行するクラウドタスク実行部とを備え、
前記ローカル装置は、
前記クラウド装置から、前記ローカル装置に振り分けられたタスク及びタスクの実行結果を前記クラウド装置との間で送受信するクライアント制御部と、
前記クライアント制御部により取得された、前記ローカル装置に振り分けられたタスクを実行するローカルタスク実行部とを備える
ことを特徴とする画像形成システム。
【請求項7】
前記クラウド制御部は、
前記ワークフローの実行を指示するユーザーの権限情報により、各前記タスクの振り分けを変更する
ことを特徴とする請求項6に記載の画像形成システム。
【請求項8】
前記クラウド制御部は、
前記権限情報として、前記ローカル装置で実行されるアプリの権限に応じて、各前記タスクの振り分けを変更する
ことを特徴とする請求項7に記載の画像形成システム。
【請求項9】
前記クラウド制御部は、
実行可能な権限及びユーザーを指定し、前記ローカル装置でアプリを実行するためのスクリプトを加えた前記ワークフローを生成する
ことを特徴とする請求項8に記載の画像形成システム。
【請求項10】
前記クラウド制御部は、
前記ワークフローの実行の進捗を他の装置からの求めに応じて提示する
ことを特徴とする請求項6に記載の画像形成システム。
【請求項11】
クラウド装置とローカル装置とを備え、文書に対する画像形成のワークフローを実行する情報処理システムにより実行される情報処理方法であって、
前記クラウド装置により、前記ワークフローの各タスクを前記クラウド装置又は前記ローカル装置に振り分け、
前記クラウド装置により、前記クラウド装置に振り分けられたタスクを実行し、
前記ローカル装置により、前記クラウド装置から前記ローカル装置に振り分けられたタスクを受信し、
前記ローカル装置により、前記ローカル装置に振り分けられたタスクを実行し、
前記ローカル装置により、タスクの実行結果を前記クラウド装置に送信する
ことを特徴とする情報処理方法。
【請求項12】
前記ワークフローの実行を指示するユーザーの権限情報により、各前記タスクの振り分けを変更する
ことを特徴とする請求項11に記載の情報処理方法。
【請求項13】
前記権限情報として、前記ローカル装置で実行されるアプリの権限に応じて、各前記タスクの振り分けを変更する
ことを特徴とする請求項12に記載の情報処理方法。
【請求項14】
実行可能な権限及びユーザーを指定し、前記ローカル装置でアプリを実行するためのスクリプトを加えた前記ワークフローを生成する
ことを特徴とする請求項13に記載の情報処理方法。
【請求項15】
前記ワークフローの実行の進捗を他の装置からの求めに応じて提示する
ことを特徴とする請求項11に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特にクラウド装置とローカル装置とを備え、文書に対する画像形成のワークフローを実行する情報処理システム、画像形成システム、及び情報処理方法に関する。
【背景技術】
【0002】
従来から、文書や画像を印刷可能な複合機(Multifunctional Peripheral, MFP)等の画像形成装置が存在する。
画像形成装置を含む、分散して各種タスクを実行する情報処理システムも存在する。
【0003】
典型的な技術として、特許文献1を参照すると、コンピュータネットワークに接続された、省電力モードを有する複数のプリンターによる分散処理を管理するサーバーのダイナミックジョブスケジューラ(DJS)により、それらプリンターの機器情報及び動作状況を取得し、機器情報および動作状況に基づき、分散処理の対象機器を選択して、分散処理の要求元であるクライアントPCのタスクマネージャ(TM)に通知するシステムが記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006-343955号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1の技術は、いわゆるクラウド側のタスクと、イントラネット等のローカル(域内)側のタスクとを組みあわせてワークフローにて自動化して処理することはできなかった。
【課題を解決するための手段】
【0006】
本発明の情報処理システムは、クラウド装置とローカル装置とを備え、文書に対する画像形成のワークフローを実行する情報処理システムであって、前記クラウド装置は、前記ワークフローの各タスクを前記クラウド装置又は前記ローカル装置に振り分けるクラウド制御部と、前記クラウド制御部により前記クラウド装置に振り分けられたタスクを実行するクラウドタスク実行部とを備え、前記ローカル装置は、前記クラウド装置から振り分けられたタスク及びタスクの実行結果を前記クラウド装置との間で送受信するクライアント制御部と、前記クライアント制御部により取得された、前記ローカル装置に振り分けられたタスクを実行するローカルタスク実行部とを備えることを特徴とする。
本発明の画像形成システムは、クラウド装置とローカル装置とを備え、文書に対する画像形成のワークフローを実行する画像形成システムであって、前記クラウド装置は、前記ワークフローの各タスクを前記クラウド装置又は前記ローカル装置に振り分けるクラウド制御部と、前記クラウド制御部により前記クラウド装置に振り分けられたタスクを実行するクラウドタスク実行部とを備え、前記ローカル装置は、前記クラウド装置から振り分けられたタスク及びタスクの実行結果を前記クラウド装置との間で送受信するクライアント制御部と、前記クライアント制御部により取得された、前記ローカル装置に振り分けられたタスクを実行するローカルタスク実行部とを備えることを特徴とする。
本発明の情報処理方法は、クラウド装置とローカル装置とを備え、文書に対する画像形成のワークフローを実行する情報処理システムにより実行される情報処理方法であって、前記クラウド装置により、前記ワークフローの各タスクを前記クラウド装置又は前記ローカル装置に振り分け、前記クラウド装置により、前記クラウド装置に振り分けられたタスクを実行し、前記ローカル装置により、前記クラウド装置から前記ローカル装置に振り分けられたタスクを受信し、前記ローカル装置により、前記ローカル装置に振り分けられたタスクを実行し、前記ローカル装置により、タスクの実行結果を前記クラウド装置に送信することを特徴とする。
【発明の効果】
【0007】
本発明によれば、ワークフローの各タスクをクラウドサーバー又はローカルサーバーに振り分け、ローカルサーバーにて、クラウドサーバーから振り分けられたタスクの実行結果をクラウドサーバーとの間で送受信することで、クラウド側及びローカル側のタスクを組みあわせて自動化できる情報処理システムを提供することができる。
【図面の簡単な説明】
【0008】
図1】本発明の画像形成装置の実施の形態に係る情報処理システムのシステム構成図である。
図2図1に示すクラウドサーバー及びローカルサーバーの制御構成を示すブロック図である。
図3】本発明の実施の形態に係る情報処理システムの機能構成を示すブロック図である。
図4】本発明の実施の形態に係るワークフロー作成処理のフローチャートである。
図5】本発明の実施の形態に係るタスク振り分け実行処理のフローチャートである。
図6図5に示すタスク振り分け実行処理の概念図である。
図7】本発明の実施の形態に係るファイル復元処理のフローチャートである。
【発明を実施するための形態】
【0009】
<実施の形態>
〔画像形成システムXのシステム構成〕
まず、図1を参照して、画像形成システムXのシステム構成について説明する。
本発明の実施の形態に係る画像形成システムXは、クラウドサーバー1、ローカルサーバー2、画像形成装置3、端末4、ネットワーク5等から構成される情報処理システムの一例である。
【0010】
クラウドサーバー1は、本実施形態に係るクラウド装置の一例である。クラウドサーバー1は、例えば、PC(Personal Computer)サーバー、専用機、及び汎用機等で構成されていてもよい。クラウドサーバー1は、ローカルサーバー2や画像形成装置3等と接続され、主に課金やサービスの対応を行うためのサーバーである。
また、本実施形態においては、クラウドサーバー1は、主に画像形成装置3からキャプチャーされた原稿の文書データ300(図3)を、後述するワークフローとして設定された処理の流れに従い、各画像形成装置3と、ローカルサーバー2とに分担して実行させる。このワークフローは、後述するように、例えば、画像処理、OCR(Optical Character Recognition)処理、分類処理、及び、Eメールや共有フォルダー(文書ボックス、保存フォルダー)や業務若しくは事務用のDMS(Document Management System)等への送信処理を含んでいてもよい。
【0011】
ローカルサーバー2は、本実施形態に係るローカル装置の一例である。ローカルサーバー2は、例えば、イントラネット内の画像形成装置3を制御するイントラネット用のサーバー、画像形成装置3用の専用アプリをインストールしたPC、スマートフォン、NAS(Network-Attached Storage)、高機能な画像形成装置等の情報処理装置である。ローカルサーバー2は、ローカル側にある画像形成装置3との間で、各種データを送受信可能である。
また、ローカルサーバー2は、クラウド側のクラウドサーバー1から各種データを送受信して、分担された処理を実行する。このため、ローカルサーバー2が、ルーター等の機能を備えていてもよい。
【0012】
画像形成装置3は、MFP、ネットワークスキャナー、ドキュメントスキャナー、ネットワークFAX、スキャナー機能付きのプリンター等である。画像形成装置3は、クラウドサーバー1と接続するためのアプリケーションソフトウェア(Application Software、以下、単に「アプリ」という。)を実行してもよい。
本実施形態において、画像形成装置3は、セットされた原稿を読み取る(スキャン)機能、及び文書を印刷や電子文書化する画像形成機能を備えていてもよい。なお、画像形成装置3は、ネットワーク5のイントラネット、又はUSB(Universal Serial Bus)等でローカルサーバー2と接続されてもよい。
【0013】
端末4は、PC、スマートフォン、携帯電話、タブレット端末、専用端末、PDA(Personal Digital Assistant)等である。端末4は、クラウドサーバー1やローカルサーバー2にアクセスするためのウェブブラウザー、画像形成システムX用のデバイスドライバー、その他の専用アプリ等のアプリをインストールし、実行することが可能である。これにより、端末4を使用するユーザーは、クラウドサーバー1へアクセスし、UI(User Interface)にて指示を伝えることが可能となる。
【0014】
ネットワーク5はIP(Internet Protocol)ネットワーク等である。図1に示す構成例では、ネットワーク5は、クラウド側とローカル側とに分離されている。
このネットワーク5のクラウド側は、インターネットや携帯電話網等のWAN(Wide Area Network、広域ネットワーク)であり、いわゆる「クラウド」である。図1の例では、このネットワーク5のクラウド側に、クラウドサーバー1と端末4とが接続されている。
一方、ネットワーク5のローカル側は、イントラネット(Intranet)、LAN(Local Area Network、域内ネットワーク)、専用線等である。図1の例では、ネットワーク5のローカル側に、ローカルサーバー2と画像形成装置3とが接続されている。
【0015】
このネットワーク5のクラウド側とローカル側との間は、ルーター(Router)やゲートウェイ(Gateway)等を含むファイアーウォール6が構成されていてもよい。このファイアーウォール6は、特定のルールが設定され、特定のポートのパケット等を透過させるようにしてもよい。
なお、クラウド側とローカル側との間は、VPN(Virtual Private Network)が設定されてもよい。さらに、画像形成装置3は、クラウド側に存在してもよい。また、端末4も、ローカル側に存在してもよい。
【0016】
次に、図2により、クラウドサーバー1及びローカルサーバー2の制御構成について説明する。本実施形態においては、クラウドサーバー1及びローカルサーバー2は、同様の構成を備える例について説明する。
クラウドサーバー1及びローカルサーバー2は、制御部10、20、ネットワーク送受信部15、及び記憶部19、29を含んでいる。
【0017】
制御部10、20は、GPP(General Purpose Processor)、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)、ASIC(Application Specific Processor、特定用途向けプロセッサー)等の情報処理部である。
制御部10、20は、記憶部19、29のROMやSSDやHDDに記憶されている制御プログラムを読み出して、この制御プログラムをRAMに展開させて実行することで、後述する機能ブロックの各構成要素として動作させられる。また、制御部10、20のGPU等は、OCRの高速化機能等を備えていてもよい。
【0018】
ネットワーク送受信部15は、ネットワーク5に接続するためのLANボードや無線送受信機等を含むネットワーク接続部である。
【0019】
記憶部19、29は、一時的でない記録媒体の記憶部である。記憶部19、29は、主記憶部として、RAM(Random Access Memory)等を含んでいてもよい。また、記憶部19、29は、補助記憶部として、ROM(Read Only Memory)及びHDD(Hard Disk Drive)等を含んでいてもよい。ROMは、フラッシュメモリーで構成されていてもよく、eMMC(embedded Multi Media Card)、SSD(Solid State Drive)等であってもよい。また、記憶部19、29は、各種フラッシュメモリーや光学記録媒体等の外部記憶媒体を含んでいてもよい。
【0020】
後述するように記憶部19、29には、クラウドサーバー1及びローカルサーバー2でそれぞれのデータが格納されている。さらに、記憶部19、29の補助記憶部には、後述するワークフローの実行や画像形成装置3の動作制御を行うための制御プログラムが格納されていてもよい。また、記憶部19、29には、ファイル送受信のための公開鍵及び秘密鍵等も含まれていてもよい。さらに、記憶部19、29には、ユーザー毎の文書ボックス(保存フォルダー、共有フォルダー)、クラウドサーバー1やローカルサーバー2で実行可能なアプリ、性能、機能等に関する情報を格納していてもよい。
【0021】
なお、制御部10、20は、GPU内蔵CPU、チップ・オン・モジュールパッケージ、SOC(System On a Chip)等のように、一体的に形成されていてもよい。
また、制御部10、20は、RAMやROMやフラッシュメモリー等を内蔵していてもよい。
【0022】
〔画像形成システムXの制御構成〕
ここで、図3を参照し、本発明の実施の形態に係る画像形成システムXの制御構成について説明する。
以下では、クラウドサーバー1が、クラウドサーバー1及びローカルサーバー2に、一連のタスクであるワークフローの処理を分担して行わせる例について説明する。
【0023】
クラウドサーバー1の制御部10は、クラウド制御部100、クラウドタスク実行部110、及び更新蓄積部120を備えている。
クラウドサーバー1の記憶部19は、クラウド格納部190を含んでいる。
ローカルサーバー2の制御部20は、クライアント制御部200及びローカルタスク実行部210を備えている。
ローカルサーバー2の記憶部29は、ローカル格納部290を含んでいる。
【0024】
クラウド制御部100は、ワークフロー情報320に設定されたワークフローの各タスクをクラウドサーバー1又はローカルサーバー2に振り分け、配信、又は分配する(以下、単に「振り分け」という。)。
クラウド制御部100は、ワークフローの実行を指示するユーザーの権限情報310により、各タスクの振り分けを変更することが可能である。
または、クラウド制御部100は、権限情報310として、ローカルサーバー2で実行されるアプリの権限に応じて、振り分けを変更することも可能である。
さらに、クラウド制御部100は、実行可能な権限及びユーザーを指定することが可能である。そして、クラウド制御部100は、ローカルサーバー2でアプリを実行するためのスクリプトを加えたワークフローを生成することも可能である。
加えて、クラウド制御部100は、ワークフローの実行の進捗を他の装置からの求めに応じて提示することも可能である。本実施形態においては、他の装置として、端末4又は画像形成装置3からのユーザーのアクセスにより、この提示を行うことが可能である。
さらに加えて、クラウド制御部100は、ワークフローで処理される文書データ300のメタデータに基づいて、保存先及びアプリの実行について、設定及び制限することも可能である。
【0025】
また、本実施形態においては、クラウド制御部100は、端末4から文書データ300を取得して、一時的に記憶部19に格納することも可能である。
さらに、クラウド制御部100は、ユーザーの指示により、更新情報340をローカルサーバー2に送信することも可能である。これにより、タスクファイル400をバージョン毎に復元可能となる。ここで、クラウド制御部100は、ユーザーの指示に基づいて、更新情報340を選択して、ローカルサーバー2のローカル格納部290に格納されたタスクファイル400を、古いバージョンへ復元させることが可能である。
または、クラウド制御部100は、ワークフローの実行結果330に基づいて、更新情報340を選択して、古いバージョンへ復元させてもよい。
この場合、具体的には、クラウド制御部100は、ワークフローの実行結果330が失敗であった場合、失敗する前のバージョンに復元させることが可能であってもよい。
【0026】
クラウドタスク実行部110は、クラウド制御部100によりクラウドサーバー1に振り分けられたタスクを実行する。
本実施形態においては、クラウドタスク実行部110は、クラウド制御部100にてクラウドサーバー1で実行すると判断されたタスクを、各アプリで実行させ、実行結果330を取得する。
【0027】
更新蓄積部120は、クラウド制御部100によりローカルサーバー2に振り分けられたタスクファイル400の更新情報340を蓄積する。
【0028】
クライアント制御部200は、文書データ300、タスクファイル400、クラウドサーバー1から振り分けられたタスクの実行結果330、及び更新情報340をクラウドサーバー1との間で送受信する。具体的には、クライアント制御部200は、記憶部29に格納された文書データ300、タスクの入力データや出力データを、クラウドサーバー1に送信することも可能である。
より具体的には、クライアント制御部200は、ワークフロー情報320に含まれるローカルサーバー2に振り分けられたタスクを取得して、ローカル側の処理をローカルタスク実行部210により実行させる。
さらに、クライアント制御部200は、クライアントのローカルサーバー2で実行され、画像形成装置3等から送信された各タスクの出力データを文書データ300又はタスクファイル400として取得することが可能である。加えて、クライアント制御部200は、クラウドサーバー1へ、次のタスクの入力データとして文書データ300又はタスクファイル400を受け渡すことも可能である。
そして、クライアント制御部200は、実行結果330を、クラウド側に送信することも可能である。
【0029】
ローカルタスク実行部210は、クライアント制御部200により取得された、ローカルサーバー2に振り分けられたタスクを実行する。
本実施形態においては、ローカルタスク実行部210は、クラウド制御部100にてローカルサーバー2で実行すると判断されたタスクを、各アプリで実行させ、実行結果330を取得する。この際、ローカルタスク実行部210は、受け取ったタスクに関連するタスクファイル400をローカル格納部290に保存、又はアプリに渡して実行させることが可能である。
また、本実施形態においては、ローカルタスク実行部210は、画像形成装置3から文書データ300を取得して、一時的に記憶部29に格納することも可能である。
また、ローカルタスク実行部210は、画像形成装置3から、ワークフローの各タスクの出力データ等を取得して、タスクファイル400として記憶部19に格納することも可能である。
【0030】
クラウド格納部190は、ワークフローに関してクラウド側で保存、蓄積されるファイルを格納するデータベースやクラウドストレージ等である。詳細については、以下で説明する。
【0031】
ローカル格納部290は、ワークフローに関してローカル側で保存、蓄積されるファイルを格納するデータベースやローカルストレージ等である。これも詳細については、以下で説明する。
【0032】
ここで、クラウド格納部190及びローカル格納部290に格納されるファイルの詳細について説明する。
本実施形態においては、クラウド格納部190は、文書データ300、権限情報310、ワークフロー情報320、実行結果330、及び更新情報340を格納する。
本実施形態においては、ローカル格納部290は、タスクファイル400を格納する。
【0033】
文書データ300は、ワークフローにおける各種処理の対象となるデータである。本実施形態において、文書データ300は、画像形成装置3のスキャナーにより読み取られた原稿(ドキュメント)の画像データのファイル、ユーザーにより作成されて端末4から取得されたファイル等であってもよい。このうち、画像データは、例えば、BMPのようなビットマップデータ(bitmap data)、TIFFやjpgのような圧縮されたビットマップデータ、PDF(Portable Document Format)のような電子文書データ等であってもよい。また、文書データ300は、ワードプロセッサー、スプレッドシート、プレゼンテーション等のアプリのファイルであってもよい。また、文書データ300は、画像形成装置3又はクラウドサーバー1のユーザーの文書ボックス内に、以前に保存されたファイルであってもよい。または、文書データ300は、端末4や他のクラウドのサーバー等から取得されたファイルであってもよい。または、その他の種類のデータが文書データ300であってもよい。
【0034】
さらに、文書データ300は、単独のファイルではなく、複数のファイルの集合であってもよい。または、文書データ300は、ページ単位の画像データやページデータの集合であってもよい。加えて、文書データ300は、上述の各タスクの処理の進行程度に対応して、各種文字データ、中間データ、タスクファイル400を含ませるようにしてもよい。
【0035】
さらに、文書データ300は、メタデータを含んでいてもよい。このメタデータは、例えば、ユーザーのID(identification)、名前、企業名、金額、税金等についての情報を取得可能か否か、可能の場合のその種類等の情報等を含んでいてもよい。また、文書データ300は、例えば、ユーザーやグループのEメールのアドレス、アプリのアドレス、文書ボックス(保存フォルダー、共有フォルダー)のアドレス、又は各アプリの名称やアドレス、各アプリのアカウントの情報等を含んでいてもよい。このユーザーのID等は、課金やサービスのデータベースでも、用いられてもよい。
【0036】
権限情報310は、ワークフローの実行を指示するユーザーの権限の情報である。権限情報310は、例えば、ユーザー毎に、アカウント設定、ローカルサーバー2の各アプリの権限等の情報が含まれていてもよい。このうち、アカウント設定は、クラウドサーバー1、ローカルサーバー2、又はローカルサーバー2で実行されるローカルアプリにアクセスするためのユーザーのID、パスワード、ユーザーの所属するグループ、Eメールのアドレス、文書ボックス(保存フォルダー、共有フォルダー)のアドレス、又はDMSのアプリ名やアカウント等を含んでいてもよい。
【0037】
ワークフロー情報320は、ユーザーが実行を指示する一連のタスクである「ワークフロー」についての処理の流れの設定を含む情報である。ワークフロー情報320は、例えば、原稿のキャプチャーに関するスキャンワークフローの場合、画像処理、OCR処理、分類処理、送信処理のタスクの処理の順番、各タスクのパラメーター等の設定を含んでいる。ワークフロー情報320は、例えば、タスクを実行するためのスクリプト、「マクロ」(macro)、RPA(Robotic Process Automation)ツールの設定(以下、これらを単に「スクリプト」という。)を含んでいてもよい。このスクリプトは、ローカルサーバー2のアプリを実行する際のアカウントや内容の設定を含んでいてもよい。
また、ワークフロー情報320は、画像形成装置3にインストールされたアプリにより、又はローカルサーバー2若しくはクラウドサーバー1から、画像形成装置3、ローカルサーバー2、又はクラウドサーバー1の管理者等が設定可能である。
【0038】
実行結果330は、ワークフローのタスクの実行結果を示すファイルである。実行結果330は、例えば、XML(Extensible Markup Language)やJSON(JavaScript Object Notification)形式等のファイルであってもよい。加えて、実行結果330は、例えば、タスク毎に、成功したか失敗したかを示すフラグ、文字や数値の設定等を含んでいてもよい。さらに、実行結果330は、文書データ300がタスクで処理された結果のデータそのものを含んでいてもよい。この結果のデータには、タスクファイル400と同様のデータがパッケージングされていてもよい。加えて、実行結果330は、タスクの実行のログデータとして、ワークフロー毎又はタスク毎に蓄積されてもよい。
【0039】
更新情報340は、クラウド制御部100によりローカルサーバー2に振り分けられたタスクに関するタスクファイル400の更新データである。本実施形態においては、更新情報340は、ローカルサーバー2で実行されたアプリのタスクファイル400のファイルキャッシュであってもよい。より具体的には、更新情報340は、ローカルサーバー2のローカル格納部290のタスクファイル400をバージョン管理し、識別するための各種情報が含まれていてもよい。この各種情報は、例えば、ファイル名及びパス(アドレス)、日時、バージョン情報を含んでいてもよい。さらに、更新情報340は、バージョン間のタスクファイル400の更新分(差分)の差分データが、そのまま、暗号化、又は圧縮化された状態で含まれていてもよい。
【0040】
タスクファイル400は、ワークフローの各タスクのファイルである。すなわち、各タスクのアプリで実行する又は実行された後の中間データを、タスクファイル400として格納してもよい。具体的には、タスクファイル400は、例えば、文書データ300がOCRされた文字データ、スプレッドシートの文字や数値データ、DMSや会計情報のファイル、その他の電子文書のファイル等であってもよい。この各タスクのタスクファイル400は、ワークフローのタスクの進行に従って更新されてもよい。すなわち、各タスクファイル400の差分が、ファイルキャッシュのような形式で、上述の更新情報340となってもよい。
【0041】
ここで、クラウドサーバー1の制御部10は、記憶部19に記憶された制御プログラムを実行することで、クラウド制御部100、クラウドタスク実行部110、及び更新蓄積部120として機能させられる。
また、ローカルサーバー2の制御部20は、記憶部29に記憶された制御プログラムを実行することで、クライアント制御部200、及びローカルタスク実行部210として機能させられる。
また、上述の画像形成システムXの各部は、本発明の画像形成方法を実行するハードウェア資源となる。
なお、上述の機能構成の一部又は任意の組み合わせをICやプログラマブルロジックやFPGA(Field-Programmable Gate Array)等でハードウェア的、回路的に構成してもよい。
【0042】
〔画像形成システムXによるワークフロー作成処理〕
次に、図4を参照して、本発明の実施の形態に係る画像形成システムXによるワークフロー作成処理の説明を行う。
本実施形態に係るワークフロー作成処理では、ユーザーがクラウドサーバー1へアクセスし、ワークフローを作成する。この際、ワークフロー情報320に、ユーザーのアプリの実行可能な権限等を指定する。また、ワークフロー情報320は、ローカルサーバー2でアプリを実行するためのスクリプト等を加えてもよい。
本実施形態に係るるワークフロー作成処理は、主にクラウドサーバー1の制御部10が、記憶部19に記憶されたプログラムを、各部と協働し、ハードウェア資源を用いて実行する。
以下で、図4のフローチャートを参照して、本実施形態に係るワークフロー作成処理の詳細をステップ毎に説明する。
【0043】
(ステップS101)
まず、クラウド制御部100が、クラウドログイン処理を行う。
本実施形態においては、画像形成システムXの管理者等のユーザーが、端末4からウェブブラウザーやワークフロー用の専用アプリ(以下、単に「専用アプリ」という。)により、クラウドサーバー1へログインする。
この際、クラウド制御部100は、権限情報310のアカウント設定を基に認証を行ってもよい。
【0044】
(ステップS102)
次に、クラウド制御部100が、ワークフロー指示取得処理を行う。
認証が成功した後、端末4の表示部上に、ウェブブラウザーや専用アプリにより、ワークフロー作成画面のUIが表示される。このUIに基づいて、クラウド制御部100は、ユーザーの指示を取得して、ワークフロー情報320を生成する。
本実施形態においては、一例として、後述するように図6に示す紙文書のスキャンとアップロード(T1)、OCR(T2)、価格と取引先情報の抽出(T3)、会計情報の更新(T4)、PDF化して保存(T5)を一連の作業(タスク)として含むワークフロー情報320が生成される。すなわち、クラウド制御部100は、ユーザーの指定により、実行するアプリの内容や実行の順番を設定することが可能である。
この際、ユーザーの権限によって、生成可能なワークフローが制限されてもよい。具体的には、クラウド制御部100は、取引先情報や会計情報にアクセス可能なユーザーであれば、このようなワークフローを作成可能としてもよい。
【0045】
(ステップS103)
次に、クラウド制御部100が、ローカルサーバー指定処理を行う。
クラウド制御部100は、ユーザーの指定したタスクがローカルサーバー2で行うものであった場合に、連携先のローカルサーバー2を指定して、ワークフロー情報320に設定する。この際に、クラウド制御部100は、ローカルサーバー2でアプリを実行するためのスクリプトを加えたワークフローを生成する。このスクリプトは、ユーザーにより、事前に設定されても、トランスフォーマー等の自動生成用AI(Artificial Intelligence)で生成されてもよい。
【0046】
(ステップS104)
次に、クラウド制御部100が、権限ユーザー指定処理を行う。
クラウド制御部100は、権限情報310のユーザーの権限に基づいて、ワークフローを実行可能な権限と、当該ユーザーとをワークフロー情報320に設定する。クラウド制御部100は、このワークフロー情報320を、クラウド格納部190に格納する。
以上により、本発明の実施の形態に係るワークフロー作成処理を終了する。
【0047】
〔画像形成システムXによるタスク振り分け実行処理〕
次に、図5図6を参照して、本発明の実施の形態に係る画像形成システムXによるタスク振り分け実行処理の説明を行う。
本実施形態に係るタスク振り分け実行処理では、ワークフローを介して、クラウド側、ローカル側のタスクを組みあわせて自動化する。
本実施形態に係るタスク振り分け実行処理では、主に、クラウド側ではクラウドサーバー1の制御部10が記憶部19に格納されたプログラムを、ローカル側ではローカルサーバー2の制御部20が記憶部29に格納されたプログラムを、各部と協働し、ハードウェア資源を用いて実行する。
以下で、図5のフローチャートを参照して、本実施形態に係るタスク振り分け実行処理の詳細をステップ毎に説明する。
【0048】
(ステップS111)
まず、クラウドサーバー1のクラウド制御部100が、ワークフロー開始処理を行う。
ここでは、端末4からユーザーがログインする。この処理は、上述の図4にて説明したステップS101のクラウドログイン処理と同様である。この上で、クラウドアプリにて、ユーザーは、任意のワークフローを選択し、実行を指示する。すると、クラウド制御部100は、ローカルサーバー2へワークフローの開始の指示を送信する。
または、クラウド制御部100は、ローカル側の設定に応じて、ワークフローを選択し、実行を指示することも可能である。すなわち、画像形成装置3やローカル側の端末から、ユーザーがクラウドサーバー1にログインして、ワークフローを選択し、実行を指示することも可能である。
または、クラウド制御部100は、画像形成装置3にワークフローを実行する設定がされていた場合、ローカルサーバー2を介して、ユーザーによるボタン等の指示を取得して、この指示に基づいてワークフローを選択し、開始してもよい。
【0049】
(ステップS211)
ここで、ローカルサーバー2のクライアント制御部200が、クライアント開始処理を行う。
ワークフローの指示をクラウドサーバー1から受信すると、ローカルサーバー2のクライアント制御部200が実行開始され、クラウドサーバー1からの指示やファイルの受信待ちとなる。この際、ローカル側とクラウド側との通信は、公開鍵暗号等でセキュアに行うようにすることが可能である。これにより、ワークフローに応じて、ローカル側の処理を実行することが可能となる。
または、このクライアント制御部200は、常駐等の方式で、常時、実行しておいてもよく、ローカルサーバー2のタスクマネージャーやCRON等のOSの設定に応じて実行してもよい。
【0050】
(ステップS112)
再び、クラウドサーバー1の処理について説明する。クラウドサーバー1のクラウド制御部100が、タスク分配処理を行う。
クラウド制御部100は、ワークフローの進行に応じて、ワークフロー情報320を参照し、各タスクについて、クラウドサーバー1又はローカルサーバー2に振り分ける。すなわち、クラウド制御部100は、クラウド側のアプリで実行されるタスクをクラウドサーバー1に振り分ける。一方、ローカル側のアプリで実行されるタスクをローカルサーバー2に振り分ける。
具体的には、例えば、クラウド制御部100は、文書データ300の取得について、ユーザーが文書データ300を直接、クラウド側にアップロードする場合、クラウドサーバー1に振り分けてもよい。または、クラウド制御部100は、文書データ300を画像形成装置3からスキャンしてアップロードする場合、ローカルサーバー2に振り分けてもよい。
【0051】
ここで、クラウド制御部100は、権限情報310を参照し、ワークフローの実行を指示するユーザーの権限情報310により、各タスクの振り分けを変更することも可能である。
具体的には、例えば、ユーザーの権限情報310において画像形成装置3にてスキャンする権限がない場合、クラウド制御部100は、クラウドサーバー1へ文書データ300の取得のタスクを振り分けてもよい。すなわち、クラウド制御部100は、クラウドサーバー1へのファイルのアップロードのみ認めるとしてもよい。または、ユーザーがクラウドサーバー1のファイルのアクセス権限等がない場合は、ローカルサーバー2側でタスクを実行するように振り分けてもよい。
【0052】
また、クラウド制御部100は、ローカルサーバー2で実行されるアプリの権限に応じて、振り分けを変更することも可能である。
具体的には、例えば、クラウド制御部100は、ログインしているユーザーに、ローカルサーバー2の当該タスク関連のアプリ(以下、「ローカルアプリ」という。)の実行権限がある場合は、当該タスクをローカルサーバー2へ振り分けてもよい。
逆に、クラウド制御部100は、ログインしているユーザーにローカルアプリの実行権限がなく、クラウドサーバー1の当該タスク関連のアプリ(以下、「クラウドアプリ」という。)については実行権限がある場合は、当該タスクをクラウドサーバー1へ振り分けてもよい。
【0053】
加えて、クラウド制御部100は、ワークフローで処理される文書データ300のメタデータに基づいて、保存先及びアプリの実行について、設定及び制限を行うことも可能である。この場合、ワークフローの実行より前に、どの文書データ300をワークフローで用いるか、ユーザーの指示により、ワークフロー情報320に設定することが可能であってもよい。
【0054】
(ステップS113)
次に、クラウド制御部100が、タスクをクラウドで実行させるか否かを判断する。クラウド制御部100は、クラウドサーバー1に振り分けられたタスクについて、Yesと判断する。クラウド制御部100は、それ以外の場合、すなわちローカルサーバー2に振り分けられたタスクについては、Noと判断する。
Yesの場合、クラウド制御部100は、処理をステップS114に進める。
Noの場合、クラウド制御部100は、処理をステップS212に進める。
【0055】
(ステップS114)
クラウドサーバー1に振り分けられたタスクの場合、クラウドタスク実行部110が、クラウドタスク実行処理を行う。
クラウドタスク実行部110は、ワークフローのクラウドサーバー1に振り分けられたタスクを実行する。具体的には、クラウドタスク実行部110は、ワークフロー情報320の設定に従い、例えば、タスクのコマンドを発行することで、クラウドアプリを実行させる。この際、クラウドタスク実行部110は、クラウドアプリを実行させるスクリプトにより任意の処理を実行可能である。このクラウドアプリの実行結果330やタスクファイル400は、その後のクラウド側のタスクに引き渡されても、ローカル側のローカルアプリ用にローカルサーバー2へ送信されてもよい。すなわち、当該タスクの実行結果330のファイルを取得して、次のタスクの入力データとして受け渡してもよい。
クラウドタスク実行部110は、その後、処理をステップS115に進める。
【0056】
(ステップS212)
ローカルサーバー2に振り分けられたタスクの場合、クライアント制御部200が、タスク受信処理を行う。
クライアント制御部200は、クラウドサーバー1からローカルサーバー2に振り分けられたタスクの指示、このタスクのタスクファイル400等を受信し、ローカル格納部290に格納する。この際、クライアント制御部200は、暗号化された指示やタスクファイル400の復号化を行ってもよい。または、クライアント制御部200は、指示やタスクファイル400を、ローカルタスク実行部210に直接、受け渡してもよい。
【0057】
(ステップS213)
次に、ローカルタスク実行部210が、ローカルタスク実行処理を行う。
ローカルタスク実行部210は、ローカルサーバー2に振り分けられたワークフローのタスクを実行する。具体的には、ローカルタスク実行部210は、ワークフロー情報320の設定に従い、タスクをローカルアプリに実行させる。この際、ローカルタスク実行部210は、クラウドサーバー1から取得されてもよいタスクファイル400を用いてもよい。または、ローカルタスク実行部210は、ローカルサーバー2の設定に基づいて、タスクの指示のみで、ローカルアプリを実行してもいい。これらの際、ローカルタスク実行部210は、スクリプトにより任意の処理を実行させることが可能である。
ここで、ローカルアプリの実行の結果としてタスクファイル400が生成されることもあり得る。この場合、本実施形態において、ローカルタスク実行部210は、このタスクファイル400をローカル格納部290に格納する。この上で、ローカルタスク実行部210は、以前のバージョンのタスクファイル400との差分のファイルキャッシュを、更新情報340として生成する。
【0058】
(ステップS214)
次に、クライアント制御部200が、実行結果送信処理を行う。
クライアント制御部200は、実行結果330、タスクファイル400、文書データ300等をクラウド側に返信する。これにより、文書データ300やタスクファイル400が加工されたり、クラウドサーバー1とローカルサーバー2との間で、他のファイルがやりとりされたりする。結果として、クラウドタスク実行部110及びローカルタスク実行部210は、各タスクを、一連のタスクであるワークフローとして処理させる。
なお、ローカルタスク実行部210は、実行結果330やタスクファイル400の一時ファイルを作成して送信したり、ページ等の特定単位でデータを送受信したりしてもよい。また、ローカルタスク実行部210は、ローカルアプリの実行やファイルの生成等でエラーが発生した場合は、この情報を実行結果330として送信することも可能である。
【0059】
(ステップS215)
次に、クライアント制御部200が、更新情報送信処理を行う。
クライアント制御部200は、ローカルアプリの実行の結果生成されたタスクファイル400の更新情報340をクラウドサーバー1へ送信する。
【0060】
(ステップS115)
ここで、再び、クラウドサーバー1での処理について説明する。クラウドサーバー1のクラウド制御部100及び更新蓄積部120が、結果更新蓄積処理を行う。
この際、クラウド制御部100は、実行結果330をクラウド格納部190に格納する。この際、クラウド制御部100は、ローカル側の実行結果330をログとしてクラウド格納部190に格納してもよい。
また、クラウド制御部100は、更新情報340も取得する。
更新蓄積部120は、このローカル側のタスクファイル400の更新情報340を、ファイルキャッシュとして、タスクファイル400のバージョン毎にクラウド格納部190に格納する。
【0061】
(ステップS116)
ここで、クラウド制御部100が、進捗提示処理を行う。
この処理にて、クラウド制御部100は、ワークフローの実行の進捗を他の装置からの求めに応じて提示することが可能である。
具体的には、端末4や画像形成装置3からログインしたユーザーが指示した場合、クラウド制御部100は、ワークフローのタスクの実行状況を提示する。これにより、ユーザーは、端末4のウェブブラウザーや専用アプリ、画像形成装置3の操作パネル等から、実行状況を確認可能である。すなわち、ユーザーは、ワークフローの処理が完了したり、エラーが発生したり、停止していたりした場合は、UIを介して、これらを確認可能である。
なお、クラウド制御部100は、ワークフローのタスクが完了したことを、電子メール、SMS(Short Message Service)、SNS(Social Networking Service)、メッセンジャーサービス、IRC(Internet Relay Chat)等で、ユーザーに直接通知することも可能である。
【0062】
(ステップS117)
次に、クラウド制御部100が、全てのタスクを実行したか否かを判断する。クラウド制御部100は、ワークフローの全てのタスクが完了した場合に、Yesと判断する。ここで、クラウド制御部100は、ワークフローがエラーで停止した場合も、Yesと判断してもよい。クラウド制御部100は、それ以外の場合には、Noと判断する。
Yesの場合、クラウド制御部100は、タスク振り分け実行処理を終了する。エラーの場合は、ユーザーにその旨を通知することが可能である。
Noの場合、クラウド制御部100は、処理をステップS112に戻して、ワークフローのタスクの実行を続ける。
以上により、本発明の実施の形態に係るタスク振り分け実行処理を終了する。
【0063】
ここで、図6を参照して、このタスク振り分け実行処理の具体例について説明する。
図6は、ワークフロー情報320に含まれる一連のタスクT1~タスクT5を実行する例を示している。この例のワークフローでは、一連のタスクを実行するため、クラウドアプリとローカルアプリを組み合わせて実行する必要がある。このため、クラウドサーバー1が、それぞれのタスクを、クラウドサーバー1とローカルサーバー2とに振り分ける。具体的には、クラウドアプリではOCR処理を行い、ローカルサーバー2にしか格納されていない会計のローカルアプリにて会計情報の更新を行う。
【0064】
一連のタスクの実行を自動化するため、ユーザーが作成したワークフローを実行させる。
まず、タスクT1として、画像形成装置3にてユーザーがログインして、ワークフローの指示を行い、紙文書のスキャンが行われる。そして、文書データ300が、クラウド側にアップロードされる。
次に、タスクT2として、アップロードされた文書データ300がOCR処理される。
次に、タスクT3として、このOCRで取得された文字及び数値のデータがタスクファイル400として引き渡されて、価格と取引先の情報が抽出される。
次に、タスクT4として、この価格と取引先の情報がタスクファイル400として、ローカルサーバー2へ送信され、会計のローカルアプリが実行される。これにより、会計情報が更新され、この会計情報がタスクファイル400の新しいバージョンとして、ローカル格納部290に格納される。この際、新しいバージョンのタスクファイル400と古い会計情報との差分ファイルであるファイルキャッシュが、更新情報340として生成される。この上で、このタスクファイル400の少なくとも一部が実行結果330に含められ、生成された更情報と供に、クラウドサーバー1に送信される。
次に、タスクT5として、実行結果330を受信したクラウドサーバー1は、これをPDF化して、このPDFをクラウド格納部190に格納する。また、クラウドサーバー1は、更新情報340も受信し、ログとしてクラウド格納部190に格納する。
以上により、ワークフローの実行が完了する。
【0065】
〔画像形成システムXによるファイル復元処理〕
次に、図7を参照して、本発明の実施の形態に係る画像形成システムXによるワークフローにおけるファイル復元処理の説明を行う。
この本実施形態に係るファイル復元処理では、クラウド側に格納された更新情報340に基づいて、ワークフロー情報320を介して古いバージョンのタスクファイル400を復元する。すなわち、ワークフローを逆に戻り、保存されたタスクファイル400を過去のバージョンに戻すことができる。この際、クラウド側には更新情報340であるファイルキャッシュしか格納していないため、クラウド側の容量は圧迫しない。
本実施形態に係るファイル復元処理は、主にクラウド側ではクラウドサーバー1の制御部10が記憶部19に格納されたプログラムを、ローカル側ではローカルサーバー2の制御部20が記憶部29に格納されたプログラムを、各部と協働し、ハードウェア資源を用いて実行する。
以下で、図7のフローチャートを参照して、本実施形態に係るファイル復元処理の詳細をステップ毎に説明する。
【0066】
(ステップS121)
まず、クラウド制御部100が、クラウドログイン処理を行う。
ここでは、ユーザーが端末4又は画像形成装置3を介して、クラウドアプリにログインする。このログインは、処理は、図4のステップS101及び図5のステップS111と、同様の処理で行う。
【0067】
(ステップS122)
ここで、クラウドサーバー1のクラウド制御部100が、ワークフローが成功したか否かを判断する。クラウド制御部100は、ワークフローの実行結果330のログを参照し、ワークフローの一連のタスクが成功し、ワークフローの実行が完了した場合に、Yesと判断する。それ以外の場合、クラウド制御部100は、ワークフローが失敗したとして、Noと判断する。クラウド制御部100は、例えば、ワークフローの実行結果330が、少なくとも一つ失敗であった場合に、ワークフローの一連のタスクが失敗したと判断可能である。
Yesの場合、クラウド制御部100は、処理をステップS123に進める。
Noの場合、クラウド制御部100は、処理をステップS124に進める。
【0068】
(ステップS123)
ワークフローが成功した場合、クラウド制御部100が、更新ファイル選択処理を行う。
クラウド制御部100は、UIによるユーザーの指示により、タスクファイル400のファイル名等を選択する。この上で、クラウド制御部100は、古いバージョンに戻したいタスクファイル400を出力した際のワークフローの更新情報340を選択する。すなわち、この更新情報340は、復元させるタスクファイル400を出力した際のファイルキャッシュである。
【0069】
(ステップS124)
ワークフローが失敗した場合、クラウド制御部100が、失敗結果選択処理を行う。
クラウド制御部100は、ワークフローの実行結果330が失敗であった場合、その失敗の際の更新情報340を選択する。これにより、失敗する前のバージョンに復元させるタスクファイル400を出力したワークフローの更新情報340を選択可能となる。
【0070】
(ステップS125)
ここで、クラウド制御部100が、更新情報送信処理を行う。
クラウド制御部100は、ローカルサーバー2に、復元させるタスクファイル400のファイルキャッシュとなる更新情報340と、復元の指示(コマンド)を送信する。ここで、クラウド制御部100は、そのバージョンまでに、複数の前のバージョンがある場合は、複数の更新情報340を送信してもよい。
【0071】
(ステップS221)
ここで、ローカルサーバー2のクライアント制御部200が、該当するタスクファイル400が存在するか否かを判断する。クライアント制御部200は、クラウドサーバー1から更新情報340と復元の指示とを受信し、ローカル格納部290にて、復元するためのタスクファイル400が存在するかどうかを検索する。クライアント制御部200は、該当するタスクファイル400が存在する場合、Yesと判断する。クライアント制御部200は、それ以外の場合、つまり、何らかの理由でタスクファイル400が消去されたり改変されていたりした場合、Noと判断する。
Yesの場合、クライアント制御部200は、処理をステップS222に進める。
Noの場合、クライアント制御部200は、処理をステップS224に進める。
【0072】
(ステップS222)
該当するタスクファイル400が存在する場合、クライアント制御部200が、ファイル復元処理を行う。
クライアント制御部200は、古いバージョンのタスクファイル400を復元するファイル復元を実行する。具体的には、クライアント制御部200は、ローカル格納部290に格納された当該タスクファイル400を読み出し、更新情報340のファイルキャッシュに基づいて、古いバージョンに復元したファイルを生成する。
【0073】
(ステップS223)
次に、クライアント制御部200が、キャッシュ保存処理を行う。
クライアント制御部200は、復元実行前のタスクファイル400をファイルキャッシュとして、別途、ローカル格納部290に格納する。すなわち、このファイルは、新しいバージョンであり、念のためバックアップされる。
【0074】
(ステップS224)
ここで、クライアント制御部200が、復元結果送信処理を行う。
クライアント制御部200は、タスクファイル400を古いバージョンに戻したことをクラウドアプリに通知する。
または、該当タスクファイル400が存在しない場合、クライアント制御部200は、その旨をクラウドアプリに通知することも可能である。
さらに、クライアント制御部200は、古いバージョンに復元したタスクファイル400自体を、クラウドサーバー1へ送信してもよい。これにより、ユーザーが端末4又は画像形成装置3からクラウドサーバー1へアクセスし、古いバージョンのタスクファイル400をダウンロードして取得することも可能となる。
または、クライアント制御部200は、古いバージョン又は上述の新しいバージョンのファイルキャッシュについても、更新情報340として、再度、クラウドサーバー1へ送信してもよい。
以上により、本発明の実施の形態に係るファイル復元処理を終了する。
【0075】
以上のように構成することで、以下のような効果を得ることができる。
典型的な技術では、クラウドアプリで処理したファイルは、クラウド側に保存される。すなわち、クラウドアプリの処理結果を、直接、ローカルサーバーやクライアントPCに保存することはできなかった。
しかしながら、ユーザーの環境によっては、画像形成用のワークフローにおいては、タスクの処理後に、ローカル側へ次のタスクのファイルを受け渡す必用がある場合があった。この場合、一旦、クラウド側にあるタスクのファイルを、ローカル側に保存する必要があった。このため、二度手間となっていた。
このため、クラウド側のタスクとローカル側のタスクとを組みあわせてワークフローにて自動化して処理する情報処理システムが求められていた。
【0076】
これに対して、本発明の実施の形態に係る画像形成システムXは、クラウドサーバー1とローカルサーバー2とを備え、文書に対する画像形成のワークフローを実行する情報処理システムであって、クラウドサーバー1は、ワークフローの各タスクをクラウドサーバー1又はローカルサーバー2に振り分けるクラウド制御部100と、クラウド制御部100によりクラウドサーバー1に振り分けられたタスクを実行するクラウドタスク実行部110とを備え、ローカルサーバー2は、タスク及びタスクの実行結果330をクラウドサーバー1との間で送受信するクライアント制御部200と、クライアント制御部200により取得された、ローカルサーバー2に振り分けられたタスクを実行するローカルタスク実行部210とを備えることを特徴とする。
【0077】
このように構成することで、クラウド側のタスクとローカル側のタスクとを組みあわせてワークフローにて自動化して処理することが可能となる。すなわち、ローカルサーバー2に、クラウドからタスクを受け取るクライアント制御部200を備えて、クラウドサーバー1からタスクを受け取って処理することができる。これにより、画像形成のワークフローにおいて、クラウド側とローカル側のタスクを組みあわせて自動化できる。
【0078】
また、本発明の実施の形態に係る画像形成システムXにおいて、クラウド制御部100は、ワークフローの実行を指示するユーザーの権限情報310により、各タスクの振り分けを変更することを特徴とする。
このように構成することで、クラウド側で管理されているユーザーの権限情報310等を用いて、ローカル側の処理内容を制限することができる。これにより、権限情報310に設定されたユーザーのアカウント設定等に基づいて、タスクファイル400の保存先、アプリの実行等を設定したり、制限したりすることができる。これにより、クラウド側のユーザーの情報等を用いて、ローカル側のタスクの内容を設定、制限することができる。
【0079】
また、本発明の実施の形態に係る画像形成システムXにおいて、クラウド制御部100は、権限情報310として、ローカルサーバー2で実行されるアプリの権限に応じて、各タスクの振り分けを変更することを特徴とする。
このように構成することで、ローカル側で連携するローカルアプリの権限に応じて、タスクの処理の内容や順番を変更することができる。よって、より柔軟にワークフロー上のタスクを実行させることができる。また、より確実にタスクを処理することができる。
【0080】
また、本発明の実施の形態に係る画像形成システムXにおいて、クラウド制御部100は、実行可能な権限及びユーザーを指定し、ローカルサーバー2でアプリを実行するためのスクリプトを加えたワークフローを生成することを特徴とする。
このように構成することで、ローカル側で確実にローカルアプリを実行することが可能となる。よって、ワークフローにおいて、確実に、クラウド側とローカル側とを連携して一連のタスクを実行させることが可能となる。
【0081】
また、本発明の実施の形態に係る画像形成システムXにおいて、クラウド制御部100は、ワークフローの実行の進捗を他の装置からの求めに応じて提示することを特徴とする。
このように構成することで、ワークフローがどこまで進んだか、どこで失敗したかを、UI等でユーザーが確認することができる。すなわち、ローカル側の実行結果330のログがクラウド側に格納されているため、クラウドの専用アプリのUI等を介して、ローカル側のタスクの実行の進捗も確認できる。よって、ローカルのワークフローをクラウド側で管理したいというユーザーのニーズに応えることができる。
【0082】
また、典型的な技術では、クラウド側とローカルPCとで同期してファイルを持つことが可能であった。しかしながら、ユーザーの「クラウド側にファイルを置きたくない」、「クラウド側のストレージコストを極力少なくしたい」等の要求には応えられなかった。
【0083】
これに対して、本発明の実施の形態に係る画像形成システムXは、クラウドサーバー1とローカルサーバー2とを備え、文書に対する画像形成のワークフローを実行する情報処理システムであって、クラウドサーバー1は、ワークフローの各タスクをクラウドサーバー1又はローカルサーバー2に振り分けるクラウド制御部100と、クラウド制御部100によりローカルサーバー2に振り分けられたタスクに関するタスクファイル400の更新情報340を蓄積する更新蓄積部120とを備え、ローカルサーバー2は、クラウドサーバー1から振り分けられたタスクの実行結果330、及び更新情報340をクラウドサーバー1との間で送受信するクライアント制御部200と、クライアント制御部200により取得された、ローカルサーバー2に振り分けられたタスクに関するタスクファイル400を格納するローカル格納部290とを備えることを特徴とする。
【0084】
このように構成し、ローカル側に実際のタスクファイル400を格納し、クラウド側には更新情報340のみを備えることで、クラウド側にはタスクファイル400を置く必要がなくなる。すなわち、クラウド側に更新情報340として、バージョン管理用のファイルキャッシュを保存し、ワークフローを介して古いバージョンのファイルを復元できる。加えて、クラウド側にタスクファイル400自体を蓄積しないので、クラウド側のストレージコストを低減することができる。さらに、セキュリティーも高めることができる。
【0085】
また、本発明の実施の形態に係る画像形成システムXにおいて、クラウド制御部100は、ワークフローのユーザーの指示により、更新情報340をローカルサーバー2に送信し、クライアント制御部200は、ローカル格納部290に格納されたタスクファイル400を、更新情報340に基づいて古いバージョンに復元することを特徴とする。
このように構成することで、ワークフローを逆に辿り、ローカル側に格納されたタスクファイル400を、過去のバージョンに戻すことができる。このため、ユーザーの使い勝手がよくなる。
【0086】
また、本発明の実施の形態に係る画像形成システムXにおいて、クラウド制御部100は、ワークフローの実行結果330に基づいて、更新情報340を選択して、タスクファイル400を古いバージョンへ復元させることを特徴とする。
このように構成することで、ユーザーの指示に基づいて、任意の古いバージョンのタスクファイル400を復元することができる。このため、ユーザーの利便性を高めることができる。
【0087】
また、本発明の実施の形態に係る画像形成システムXにおいて、クラウド制御部100は、ワークフローの実行結果330が失敗であった場合、タスクファイル400を、失敗する前のバージョンに復元させることを特徴とする。
このように構成することで、ワークフローの一連のタスクの途中で失敗したとしても、その直前の状態に戻すことが可能となる。よって、ワークフロー情報320を修正して、再度、ワークフローを実行することが容易になり、ユーザーの利便性を高めることができる。
【0088】
〔他の実施の形態〕
なお、上述の実施形態においては、既に設定されたワークフロー情報320で、タスクの振り分けを行う例について記載した。
しかしながら、本発明の他の実施の形態に係る画像形成システムXにおいて、クラウド制御部100は、ワークフローで処理される文書データ300のメタデータに基づいて、保存先及びアプリの実行について、設定及び制限を行ってもよい。
【0089】
このように構成することで、文書データ300のメタデータに応じて、保存先やアプリの実行を動的に設定や制限すること等が可能となる。このため、例えば、ユーザーのアップロードした文書データ300に応じて、ワークフロー情報320を選択することができる。加えて、選択されたワークフロー情報320に設定された条件によりタスクの振り分けを変更することもできる。すなわち、文書データ300のメタデータの設定により、各タスクをクラウド側に振り分けるか、ローカル側に振り分けるかを変更するといったことが可能となる。
このため、例えば、ワークフローの各タスクについて、ローカルサーバー2のローカルアプリを使用する権限がないユーザーの文書データ300についてはクラウドサーバー1で、クラウドアプリを実行させることができる。逆に、クラウドサーバー1のクラウドアプリを使用する権限がないユーザーの文書データ300についてはローカルサーバー2でローカルアプリを実行させることができる。
【0090】
また、上述の実施の形態においては、クラウドサーバー1とローカルサーバー2とで一連のタスクを分担するように記載した。しかしながら、いずれかの装置で一連のタスクの全てを実行してもよい。たとえば、ローカルサーバー2で処理した方が、処理時間や利便性やセキュリティー等で利便性が高い場合、ローカルサーバー2で一連のタスクの全てを実行してもよい。または、ローカルサーバー2にクライアント制御部200のみが備えられているような構成では、ローカルサーバー2で単にタスクファイル400の蓄積のみを行い、実際のタスクは全てクラウドサーバー1で行うといった構成も可能である。
【0091】
また、上述の実施形態では、クラウド装置としてクラウドサーバー1、ローカル装置としてローカルサーバー2とを備える例について記載した。
しかしながら、ローカル側のローカル装置は、ユーザーのクライアントPC又は画像形成装置3であってもよい。ローカル装置が高機能な画像形成装置3の場合、画像処理、OCR処理、分類処理、及び送信処理等の一連のタスクを全て実行してもよい。また、クラウドサーバー1にも、タスクの実行を分担させてもよい。
このように構成することで、設置環境に対応して、一連のタスクを最適な効率及び速度で実行することができる。
【0092】
また、上述の実施の形態では、図1において、ローカルサーバー2を一つのみ備える例について説明した。しかしながら、ローカルサーバー2は、複数存在してもよい。この際に、ローカルサーバー2は、イントラネット毎に存在してもよい。この上で、各ローカルサーバー2及び画像形成装置3へ、タスクを分担してもよい。また、クラウドサーバー1自体も複数存在してもよい。
このように構成することで、各装置に柔軟にタスクを分担して効率的に処理することが可能となる。
【0093】
また、上述の実施の形態では、実行結果330の取得を、ワークフローのタスクの実行後に行うように記載した。
しかしながら、クラウドサーバー1による実行結果330の取得は、ローカル側で連続するタスクの実行が完了した又は失敗した後、又はクラウド側及びローカル側の全てのタスクが終了又は失敗した後であってもよい。
このように構成することで、実行結果330の取得についての処理負荷やネットワークの負荷を軽減させることができ、実行時の装置の状態に則した実行結果330を取得することができる。よって、効率的に各タスクの処理を実行させる可能性を高めることができる。
【0094】
また、本発明は、画像形成装置3以外のドキュメント読取装置にも適用できる。また、ネットワーク5を用いずに、ドキュメント読取装置とローカルサーバー2とが直接接続されたような構成であってもよい。すなわち、ネットワークスキャナー、スキャナーをUSB等で別途接続したサーバー等を用いる構成であってもよい。
このように構成することで、画像形成装置3以外のドキュメント読取装置においても、タスクを分担して高速で効率的に処理させることが可能となる。
【0095】
また、上述の実施の形態では、画像形成のワークフローとして、原稿のキャプチャーに関するスキャンワークフローの各タスクの分担について記載した。しかしながら、これ以外の種類のワークフローにも対応可能である。また、画像処理、OCR処理、抽出処理、分類処理、送信処理以外のタスクも分担可能である。
このように構成することで、柔軟にタスクを分担して実行可能となる。
【0096】
また、クラウドサーバー1及びローカルサーバー2は、制御部10、20の他にも、OCR処理や分類処理等を高速に実行するための制御演算部を備えていてもよい。この制御演算部は、人工ニューラルネットワーク等の特定の演算を高速に実行するためのASICやDSPや外付けのアクセレレーター等であってもよい。
【0097】
また、本明細書で使用される用語において、単数形「a」、「an」、及び「the」は、文脈にて明確に別段の指示をしない限り、複数形も含む。
【0098】
また、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。
【符号の説明】
【0099】
1 クラウドサーバー
2 ローカルサーバー
3 画像形成装置
4 端末
5 ネットワーク
6 ファイアーウォール
10、20 制御部
15 ネットワーク送受信部
19、29 記憶部
100 クラウド制御部
110 クラウドタスク実行部
120 更新蓄積部
190 クラウド格納部
200 クライアント制御部
210 ローカルタスク実行部
290 ローカル格納部
300 文書データ
310 権限情報
320 ワークフロー情報
330 実行結果
340 更新情報
400 タスクファイル
X 画像形成システム
図1
図2
図3
図4
図5
図6
図7