JP6331302B2 - 情報処理システム、情報取得装置、サーバ、プログラムおよび情報処理方法 - Google Patents

情報処理システム、情報取得装置、サーバ、プログラムおよび情報処理方法 Download PDF

Info

Publication number
JP6331302B2
JP6331302B2 JP2013192407A JP2013192407A JP6331302B2 JP 6331302 B2 JP6331302 B2 JP 6331302B2 JP 2013192407 A JP2013192407 A JP 2013192407A JP 2013192407 A JP2013192407 A JP 2013192407A JP 6331302 B2 JP6331302 B2 JP 6331302B2
Authority
JP
Japan
Prior art keywords
server
information
workflow
executed
information acquisition
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.)
Active
Application number
JP2013192407A
Other languages
English (en)
Other versions
JP2015061141A (ja
Inventor
八木 敦子
敦子 八木
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 JP2013192407A priority Critical patent/JP6331302B2/ja
Priority to US14/484,766 priority patent/US20150081757A1/en
Publication of JP2015061141A publication Critical patent/JP2015061141A/ja
Application granted granted Critical
Publication of JP6331302B2 publication Critical patent/JP6331302B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • 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
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • 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
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1275Print workflow management, e.g. defining or changing a workflow, cross publishing
    • 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
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Facsimiles In General (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、複数の処理を実行する情報処理システム、情報取得装置、サーバ、プログラムおよび情報処理方法に関する。
従来、プリンタ、スキャナおよびファクシミリ等の機能を有する複合機は、複数の処理の手順を予め定義したワークフローを、スキャナ等により取り込んだ画像データに対して実行する機能を有する(例えば、特許文献1参照)。ワークフローを定義することにより、複合機は、取り込んだ画像データを、指定されたフォルダーに自動で送信したり、自動でメール送信したりすることができる。
また、サーバがワークフローを実行するシステムも知られている。このシステムでは、複合機が取り込んだ画像データをサーバに送信し、サーバがワークフローにより定義された複数の処理を実行する。このようなシステムによれば、複合機では実行が困難であるような処理(例えば、画像補正処理および文字認識処理等)を含むワークフローを実行することができる。
ところで、従来、ワークフローを実行する装置は、複合機またはサーバの何れか一方であった。しかし、近年、複合機の機能が向上したことにより、比較的に負荷の重い処理も実行可能となってきた。そこで、複合機とサーバとがより効率良くワークフローを実行することが望まれる。
そこで、本発明は、上記に鑑みてなされたものであって、ワークフロー情報により定義された複数の処理を効率良く実行する情報処理システム、情報取得装置、サーバ、プログラムおよび情報処理方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明に係る情報処理システムは、データを取得する情報取得装置とサーバとを備え、ワークフロー情報に定義された複数の処理を実行する情報処理システムであって、前記ワークフロー情報は、複数の処理の順序を定義し、前記情報取得装置および前記サーバは、前記ワークフロー情報に定義された複数の処理のそれぞれを一方が実行し、前記情報取得装置は、前記複数の処理の中に前記サーバが実行すべき処理を含むことが前記ワークフロー情報に記述されている場合であって前記サーバの処理負荷が予め定められた値以下である場合に、前記サーバが実行すべき処理の前に、対象データを前記サーバに送信し、前記サーバは、前記対象データを受信して、前記ワークフロー情報により定義されている複数の処理のうち前記サーバが実行すべき処理を実行することを特徴とする。
本発明によれば、ワークフロー情報により定義された複数の処理を効率良く実行することができる。
図1は、実施形態に係る情報処理システムの構成を示す図である。 図2は、情報処理システムにより実行される複数の処理と、実行主体との関係を示す図である。 図3は、複合機およびワークフローサーバの機能構成を示す図である。 図4は、ワークフロー情報に含まれる設定情報の一例を示す図である。 図5は、ワークフローの実行のシーケンスを示す図である。 図6は、最初に実行主体を判定し、判定した実行主体でワークフローを実行する場合のフロー図である。 図7は、ワークフロー情報に含まれる処理毎の設定情報(プラグイン情報)の一例を示す図である。 図8は、処理毎に実行主体を判定し、判定した実行主体でワークフローを実行する場合のフロー図である。 図9は、最初にジョブキュー数に基づいて実行主体を判定し、判定した実行主体でワークフローを実行する場合のフロー図である。 図10は、処理毎にジョブキュー数に基づいて実行主体を判定し、判定した実行主体でワークフローを実行する場合のフロー図である。 図11は、最初に実行主体を判断するフローを実行するか、処理毎に実行主体を判断するフローを実行するかを、ジョブキュー数に基づいて切り替える場合のフロー図である。 図12は、ワークフローサーバで実行できない処理を含むワークフローを実行する場合のフロー図である。 図13は、変形例に係る情報処理システムが備える複合機およびワークフローサーバの機能構成を示す図である。 図14は、変形例に係るワークフロー情報に含まれる処理毎の設定情報(プラグイン情報)の一例を示す図である。 図15は、装置の保有能力を示す機器情報の一例を示す図である。 図16は、装置の保有能力を示す機器情報の他の例を示す図である。 図17は、変形例に係る情報処理システムにおいて、処理毎に実行主体を判断して、ワークフローを実行する場合のフロー図である。 図18は、変形例に係る情報処理システムにおいて、最初に実行主体を判断して、ワークフローを実行する場合のフロー図である。 図19は、実施形態に係る情報処理システムがクラウドシステムに適用された場合の構成を示す図である。 図20は、複合機のハードウェア構成の一例を示す図である。 図21は、ワークフローサーバのハードウェア構成の一例を示す図である。
以下に、本発明に係る実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。
図1は、実施形態に係る情報処理システム10の構成を示す図である。情報処理システム10は、一例として、複合機20と、クライアント端末21と、携帯機器22と、ワークフローサーバ30と、データ蓄積装置31と、中継装置32と、データ出力装置33とを備える。
複合機20、クライアント端末21、携帯機器22、ワークフローサーバ30、中継装置32およびデータ出力装置33は、ネットワーク40を介して接続される。また、データ蓄積装置31は、中継装置32を介してネットワーク40に接続される。データ蓄積装置31は、ネットワーク40に直接接続されていてもよい。
ネットワーク40は、LAN(Local Area Network)またはLANがルータを介して接続されたWAN(Wide Area Network)であってもよい。また、ネットワーク40は、インターネットまたは電話通信回線等を含んでいてもよい。また、ネットワーク40は、有線で構成されていてもよいし、一部または全部が無線により構成されていてもよい。
複合機20は、スキャナ機能およびファクシミリ機能の少なくとも1つを有し、データを取得する情報取得装置として機能する。これとともに複合機20は、通信機能および表示機能等を有する。さらに、複合機20は、プログラムを予め記憶し、プログラムに従ってデータ処理を実行する情報処理装置として機能する。複合機20は、一例として、用紙をスキャンして画像データを取り込み、取り込んだ画像データに対してプログラムに従ったデータ処理を実行する。
クライアント端末21は、デスクトップ型コンピュータ、ノート型コンピュータ、ワークステーションまたは電子黒板等である。クライアント端末21は、画像の撮像、音声入力、通信媒体からの情報入力、および、記憶媒体から情報の読み出し等により、情報を取得する情報取得装置である。また、クライアント端末21は、通信機能および表示機能等を有する。さらに、クライアント端末21は、プログラムを予め記憶し、プログラムに従ってデータ処理を実行する情報処理装置として機能する。
携帯機器22は、スマートフォン、タブレット端末、携帯電話機およびデジタルカメラ等のユーザにより携帯される機器である。携帯機器22は、画像の撮像、音声入力、通信媒体からの情報入力、および、記憶媒体から情報の読み出し等により、情報を取得する情報取得装置である。また、携帯機器22は、通信機能および表示機能等を有する。さらに、携帯機器22は、プログラムを予め記憶し、プログラムに従ってデータ処理を実行する情報処理装置として機能する。
なお、複合機20、クライアント端末21および携帯機器22は、ワークフローサーバ30に対してワークフローの実行を要求することができる。情報処理システム10は、複合機20、クライアント端末21および携帯機器22以外の情報取得装置を備えてもよい。
ワークフローサーバ30は、一台以上のコンピュータにより構成される。ワークフローサーバ30は、通信機能を有し、さらに、プログラムを予め記憶し、プログラムに従ってデータ処理を実行する情報処理装置として機能する。
ワークフローサーバ30は、ワークフロー情報を予め記憶する。ワークフロー情報は、複数の処理の順序を定義する情報である。ここで、ワークフローの実行主体となる情報処理装置は、ワークフローサーバ30、および、このワークフローサーバ30に対してネットワーク40を介してワークフローの実行を要求する情報取得装置(例えば、複合機20、クライアント端末21または携帯機器22)である。
ワークフローサーバ30は、ワークフローの実行を要求する情報取得装置(複合機20、クライアント端末21または携帯機器22)に対して、要求されたワークフロー情報を提供する。そして、ワークフローサーバ30は、ワークフローの実行を要求してきた情報取得装置とともに、ワークフロー情報に定義された複数の処理を実行する。より具体的には、ワークフローサーバ30およびワークフローの実行を要求してきた情報処理装置は、ワークフロー情報に定義された複数の処理のそれぞれを、定義された順序で、何れか一方が実行する。ワークフローサーバ30およびワークフローの実行を要求してきた情報取得装置は、実行主体が変更する場合には、処理対象となる対象データをネットワーク40を介して受け渡しをする。
データ蓄積装置31は、一台以上のコンピュータにより構成される。データ蓄積装置31は、通信機能および情報蓄積機能を有する。データ蓄積装置31は、一例として、ファイルサーバまたはメールサーバ等である。データ蓄積装置31は、ワークフローの実行結果であるデータを、ワークフローサーバ30または情報取得装置(例えば、複合機20、クライアント端末21または携帯機器22)から受信して、内部に蓄積する。
中継装置32は、ワークフローサーバ30または情報取得装置(例えば、複合機20、クライアント端末21または携帯機器22)と、データ蓄積装置31との間のデータ転送を中継する。
データ出力装置33は、通信機能および情報出力機能を有する。データ出力装置33は、一例として、表示装置、プリンタ、プロジェクタ、電子黒板または音声出力装置等である。データ出力装置33は、ワークフローの実行結果であるデータを、ワークフローサーバ30または情報取得装置(例えば、複合機20、クライアント端末21または携帯機器22)から受信して、受信したデータを外部に出力する。データ出力装置33は、情報取得装置(例えば、複合機20、クライアント端末21または携帯機器22)と一体的に構成されていてもよい。
このような情報処理システム10は、ワークフローサーバ30と、ワークフロー情報が提供された複合機20、クライアント端末21または携帯機器22とにより、ワークフロー情報に定義された複数の処理を実行する。
以下、ワークフローサーバ30と複合機20とが連携して複数の処理を実行する場合を例にとって説明する。
図2は、情報処理システム10により実行される複数の処理と、実行主体との関係を示す図である。ワークフロー情報には、複数の処理の内容および順序が定義される。ワークフロー情報は、コンピュータにより解釈が可能なデータ形式で記述がされる。ワークフロー情報は、一例として、XML(Extensible Markup Language)により記述される。
ワークフロー情報では、一例として、各種のデータ処理(データ圧縮処理、文字認識処理(OCR)、フィルタリング処理、データ合成処理、特定のデータ形式への符号化処理、特定のファイル形式への変換処理(例えばPDF化処理)等)を定義することができる。また、ワークフロー情報では、一例として、データを外部に出力する処理(印刷処理、表示処理、音声出力処理、データのサーバへの配信(アップロード)処理、および、メール配信処理等)を定義することができる。また、ワークフロー情報では、一例として、データを取り込む処理(例えば、スキャン処理、撮像処理、メール受信処理、および、ファクシミリ受信処理等)を定義することもできる。
また、ワークフロー情報には、処理の実行順序が定義される。それぞれの処理を実行する装置は、前段の処理の結果である対象データを受け取り、受け取った対象データに対して処理を実行する。
ワークフローの処理対象となる対象データは、一例として、画像データである。これに代えて、処理対象となる対象データは、一例として、動画像データ、テキストデータ、音声データおよびコンピュータプログラム等のどのようなデータであってもよい。
情報処理システム10では、ワークフロー情報により定義されている複数の処理のうち、一部を複合機20(情報取得装置)が実行し、残りの一部をワークフローサーバ30が実行してもよい。
例えば、図2に示されるように、ワークフロー情報に5つの処理が定義されている場合において、複合機20は、1番目の処理(フィルタリング)、2番目の処理(天地識別)および3番目の処理(画像補正)を実行する。そして、ワークフローサーバ30は、4番目の処理(OCR)および5番目の処理(配信)を実行する。この場合、実行主体が切り替わる処理と処理との間において、対象データおよびワークフロー情報が、複合機20(情報取得装置)からワークフローサーバ30へと転送される。
また、情報処理システム10は、ワークフロー情報により定義されている複数の処理の全部を、複合機20(情報取得装置)またはワークフローサーバ30の一方が実行してもよい。ワークフローサーバ30が複数の処理の全部を実行する場合には、複数の処理の実行の前に、複合機20(情報取得装置)が取得した対象データおよびワークフロー情報が、複合機20(情報取得装置)からワークフローサーバ30へと転送される。
ここで、ワークフロー情報が定義する複数の処理の中に、ワークフローサーバ30が必ず実行すべき処理(特定の処理)が含まれる場合がある。このような処理を含む場合、ワークフロー情報には、定義している複数の処理の中に、ワークフローサーバ30が必ず実行すべき処理が含まれることが記述される。これに代えて、または、これに加えて、ワークフロー情報には、定義している複数の処理のそれぞれについて、ワークフローサーバ30が必ず実行すべきかが記述されていてもよい。
ワークフロー情報に、ワークフローサーバ30が実行すべき処理が存在する場合、ワークフローサーバ30が実行すべき処理の前に、複合機20(情報取得装置)は、対象データをワークフローサーバ30に送信する。そして、ワークフローサーバ30は、対象データを受信して、ワークフロー情報により定義されている複数の処理のうち、ワークフローサーバ30が実行すべき処理以後の処理を実行する。
これにより、情報処理システム10によれば、ワークフロー情報により定義された複数の処理のそれぞれを、複合機20(情報取得装置)またはワークフローサーバ30の何れか一方が実行できる。これとともに、情報処理システム10によれば、ワークフローサーバ30が実行すべき処理を、ワークフローサーバ30に実行させることができる。
図3は、複合機20およびワークフローサーバ30の機能構成を示す図である。ワークフローサーバ30は、処理実行部61と、ワークフロー記憶部62と、リモート通信部63と、フロー制御部64と、ジョブ記憶部65と、ジョブ取得部66とを備える。
処理実行部61は、ワークフロー情報に定義されたそれぞれの処理を実行する。処理実行部61は、複数の処理部71を有する。複数の処理部71のそれぞれは、互いに異なる処理を実行する。複数の処理部71のそれぞれは、フロー制御部64により呼び出されたプラグインプログラムをプロセッサが実行することにより実現される。
例えば、処理実行部61は、文字認識用プラグインプログラムが予め登録されており、文字認識用プラグインプログラムが呼び出されることにより、文字認識処理(OCR処理)を実行する。また、例えば、処理実行部61は、メール配信用プラグインプログラムが予め登録されており、メール配信用プラグインプログラムが呼び出されることにより、メール配信処理を実行する。
ワークフロー記憶部62は、管理者等により登録された少なくとも1つのワークフロー情報を記憶する。リモート通信部63は、ネットワーク40を介して複合機20および他の装置等と通信をする。
フロー制御部64は、処理実行部61により実行される複数の処理の実行順序を、ワークフロー情報に従い制御する。より具体的には、フロー制御部64は、リモート通信部63を介して、複合機20からのワークフロー情報の選択を受け、選択されたワークフロー情報をワークフロー記憶部62から読み出す。フロー制御部64は、読み出したワークフロー情報をリモート通信部63を介して複合機20に送信する。そして、フロー制御部64は、リモート通信部63を介して複合機20から対象データを受信した場合、ワークフロー情報に定義されている処理を処理実行部61に実行させる。
また、リモート通信部63は、複合機20または他の装置からネットワーク40を介して、ワークフローの実行指示であるジョブを受信する。ジョブ記憶部65は、リモート通信部63が受信したジョブを一時的に格納する。ジョブ取得部66は、処理実行部61のリソースの空き状況に応じてジョブ記憶部65に記憶されているジョブを取得し、取得したジョブをフロー制御部64に渡す。フロー制御部64は、ジョブ取得部66から渡されたジョブに示されるワークフロー情報に従って、処理の実行を制御する。
複合機20は、処理実行部61と、リモート通信部63と、フロー制御部64と、ジョブ記憶部65と、ジョブ取得部66と、実行場所判定部67と、機能実行部68と、機能制御部69とを備える。
複合機20の処理実行部61、リモート通信部63およびフロー制御部64は、ワークフローサーバ30が備える処理実行部61、リモート通信部63およびフロー制御部64と同様の機能および構成を有する。ただし、複合機20内のフロー制御部64は、ワークフロー情報をリモート通信部63を介して、ワークフローサーバ30から取得する。
また、複合機20内の処理実行部61は、ワークフローサーバ30の処理実行部61とは、実行可能な処理の内容が異なっていてもよい。すなわち、複合機20の処理実行部61は、ワークフローサーバ30の処理実行部61と異なる種類のプラグインプログラムが登録されていてもよい。
複合機20内のリモート通信部63は、ワークフローサーバ30からネットワーク40を介して、ワークフロー情報等を含む処理実行指示であるジョブを受信する。複合機20内のジョブ記憶部65は、受信したジョブを一時的に格納する。複合機20内のジョブ取得部66は、複合機20内の処理実行部61のリソースの空き状況に応じてジョブ記憶部65に記憶されているジョブを取得し、取得したジョブをフロー制御部64に渡す。複合機20内のフロー制御部64は、ジョブ取得部66から渡されたジョブに含まれるワークフロー情報に従って、処理の実行を制御する。
実行場所判定部67は、ワークフロー情報に定義された処理を、ワークフローサーバ30で実行すべきか、複合機20で実行すべきかを判定する。実行場所判定部67は、ワークフロー情報に定義された処理をワークフローサーバ30で実行すべきであると判定した場合には、対象データおよびワークフロー情報をリモート通信部63を介してワークフローサーバ30に送信させる。
機能実行部68は、複合機20が備える特有の機能を実行する。機能実行部68は、一例として、スキャン部81と、プリント部82と、ファクシミリ部83と、表示入力部84とを有する。
スキャン部81は、原稿台にセットされた用紙をスキャンして画像データを取得する。プリント部82は、用紙に画像等を印刷する。ファクシミリ部83は、電話回線を介してファクシミリの送信または受信をする。表示入力部84は、ユーザに対して情報を表示し、また、ユーザからの操作情報を入力する。
機能制御部69は、機能実行部68により実行される機能を制御する。機能制御部69は、ワークフロー情報に機能実行部68により実行される処理が定義されている場合には、フロー制御部64からの呼び出しに応じて機能実行部68に処理を実行させる。
図4は、ワークフロー情報に含まれる設定情報の一例を示す図である。ワークフロー情報には、例えば、図4に示されるような情報が記述される。
図4に示すワークフロー情報には、“<isServerRequired>”および“</isServerRequired>”のタグが記述される。このタグ内には、“true”または“false”が記述される。trueの場合、定義している複数の処理の中に、ワークフローサーバ30が実行すべき処理が含まれることを示す。また、falseの場合、定義している複数の処理の中に、ワークフローサーバ30が実行すべき処理が含まれないことを示す。
図5は、ワークフローの実行のシーケンスを示す図である。複合機20およびワークフローサーバ30は、ワークフローを実行する場合、例えば、図5に示すようなシーケンスで処理を進める。
まず、ステップS11において、ユーザは、複合機20に対してスキャン開始を指示する。スキャン開始の指示を受けると、続いて、ステップS12において、複合機20は、スキャン処理を実行して、用紙をスキャンして画像データ(対象データ)を取得する。
なお、本例では、複合機20を用いる例を説明しているが、他の機器によるデータの取得処理であってもよい。例えば、撮像装置が静止画像データまたは動画像データを取得する処理であってもよい。また、例えば、クライアント端末21がメールを受信する処理であってもよいし、記録媒体からデータを読み出す処理であってもよい。また、電子黒板が、手書きで記載された情報を読み取る処理であってもよい。
続いて、ステップS13において、複合機20は、ワークフローサーバ30に対して、ワークフローの選択画面の取得要求を送信する。続いて、ステップS14において、ワークフローサーバ30は、ワークフローの選択画面を複合機20に送信する。続いて、ステップS15において、複合機20は、取得したワークフローの選択画面を表示する。
続いて、ステップS16において、ユーザは、複合機20に対してワークフローの選択操作をする。選択操作がされると、続いて、ステップS17において、複合機20は、ユーザにより選択されたワークフローに対応するワークフロー情報の取得要求を、ワークフローサーバ30に送信する。続いて、ステップS18において、ワークフローサーバ30は、対応するワークフロー情報を複合機20に送信する。
続いて、ステップS19において、ユーザは、複合機20に対してワークフローの実行開始の指示を与える。実行開始の指示を受けると、ステップS20において、複合機20は、ワークフロー情報を解析する。具体的には、複合機20は、図4に示す“<isServerRequired>”および“</isServerRequired>”のタグ内の情報を解析する。そして、ステップS21において、複合機20は、ワークフロー情報により定義された複数の処理に、ワークフローサーバ30が実行すべき処理を含むか否かを判定する。
複合機20は、ワークフロー情報により定義された複数の処理に、ワークフローサーバ30が実行すべき処理を含むと判定した場合、ワークフローサーバ30により処理を実行させる。ワークフローサーバ30が処理を実行する場合、ステップS22において、複合機20は、対象データおよびワークフロー情報を、ワークフローサーバ30に送信する。そして、ワークフローサーバ30は、対象データおよびワークフロー情報を受信する。続いて、ステップS23−1、…、ステップS23−Nにおいて、ワークフローサーバ30は、ワークフロー情報により定義されている複数の処理を順次に実行する。
また、複合機20は、ワークフロー情報により定義された複数の処理に、ワークフローサーバ30が実行すべき処理を含まないと判定した場合、自身が処理を実行する。複合機20が処理を実行する場合には、複合機20は、対象データ等をワークフローサーバ30に送信しない。そして、ステップS24−1、…、ステップS24−Nにおいて、複合機20は、ワークフロー情報により定義されている複数の処理を順次に実行する。
図6は、最初に実行主体を判定し、判定した実行主体でワークフローを実行する場合のフロー図である。図5で示したシーケンスを実行する場合、複合機20およびワークフローサーバ30は、図6に示すフローを実行する。
まず、ステップS101において、複合機20は、ワークフローの選択画面を表示する。続いて、ステップS102において、複合機20は、選択画面に対する操作を受け付けて、実行すべきワークフローを選択する。
続いて、ステップS103において、複合機20は、選択されたワークフロー情報をワークフローサーバ30から取得する。続いて、ステップS104において、複合機20は、ユーザからの操作に応じて、ワークフローの実行を開始する。
ワークフローの実行を開始すると、まず、ステップS105において、複合機20は、ワークフロー情報を解析する。続いて、ステップS106において、複合機20は、解析結果に基づき、ワークフロー情報により定義された複数の処理に、ワークフローサーバ30が実行すべき処理を含むか否かを判定する。
ワークフロー情報により定義された複数の処理に、ワークフローサーバ30が実行すべき処理を含まない場合(ステップS106のNo)、複合機20は、フローをステップS107に進める。ステップS107において、複合機20は、ワークフロー情報により定義された複数の処理の全てを、順次に実行する。そして、複合機20は、終端の処理まで実行すると、本フローを終了する。
ワークフロー情報により定義された複数の処理に、ワークフローサーバ30が実行すべき処理を1つでも含む場合(ステップS106のYes)、複合機20は、フローをステップS108に進める。ステップS108において、複合機20は、対象データおよびワークフロー情報を、ワークフローサーバ30に送信する。続いて、ステップS109において、ワークフローサーバ30は、受信した対象データおよびワークフロー情報に基づき、ワークフロー情報により定義されている複数の処理の全てを順次に実行する。そして、ワークフローサーバ30は、終端の処理まで実行すると、本フローを終了する。
以上のように、複合機20は、ワークフロー情報に定義された複数の処理の実行前に、ワークフローサーバ30が実行すべき処理を含むかを判断し、ワークフローサーバ30が実行すべき処理を含む場合には、対象データをワークフローサーバ30に送信する。そして、ワークフローサーバ30は、ワークフロー情報に定義された複数の処理を最初から実行する。これにより、情報処理システム10によれば、ワークフローサーバ30が実行すべき処理を、ワークフローサーバ30に実行させることができる。
図7は、ワークフロー情報に含まれる処理毎の設定情報(プラグイン情報)の一例を示す図である。ワークフロー情報には、定義している複数の処理のそれぞれについて、例えば、図7に示されるような設定情報が記述される。
図7に示すワークフロー情報には、“<pluginInfo>”および“</pluginInfo>”のタグが記述される。このタグ内には、1つの処理(プラグイン)に対して設定される情報が記述される。
また、“<pluginInfo>”および“</pluginInfo>”のタグ内には、“<isServerRequired>”および“</isServerRequired>”のタグが記述される。このタグ内には、“true”または“false”が記述される。trueの場合、対応する処理が、ワークフローサーバ30が実行すべき処理であることを示す。また、falseの場合、対応する処理が、ワークフローサーバ30が実行すべき処理ではないこと(ワークフローサーバ30が実行しても他の機器が実行してもよいこと)を示す。
図8は、処理毎に実行主体を判定し、判定した実行主体でワークフローを実行する場合のフロー図である。複合機20およびワークフローサーバ30は、ワークフロー情報に、図7に示されるような、複数の処理のそれぞれについてワークフローサーバ30が実行すべき処理であるかが記述されている場合には、図8に示すフローチャートを実行する。
まず、ステップS201からステップS204までにおいて、複合機20は、図6のステップS101からステップS104までと同様の処理を実行する。
ワークフローの実行を開始すると、ステップS205において、複合機20は、ワークフロー情報を参照して、最初の処理の設定情報(プラグイン情報)を解析する。具体的には、複合機20は、図7に示す、対応する処理の<pluginInfo>”および“</pluginInfo>”のタグ内における、“<isServerRequired>”および“</isServerRequired>”のタグ内の情報を解析する。そして、ステップS206において、複合機20は、当該処理が、ワークフローサーバ30が実行すべき処理であるか否かを判定する。
当該処理が、ワークフローサーバ30が実行すべき処理ではない場合(ステップS206のNo)、複合機20は、フローをステップS207に進める。そして、ステップS207において、複合機20は、当該処理を実行する。続いて、ステップS208において、複合機20は、当該処理が終端の処理であるか否かを判断する。
終端の処理である場合(ステップS208のYes)、複合機20は、本フローを終了する。終端の処理ではない場合(ステップS208のNo)、続いて、ステップS209において、複合機20は、ワークフロー情報を参照して、次の処理の設定情報(プラグイン情報)を解析する。そして、ステップS209を終えると、複合機20は、フローをステップS206に戻して、次の処理について、ワークフローサーバ30が実行すべき処理であるか否かを判定する。
当該処理が、ワークフローサーバ30が実行すべき処理である場合(ステップS206のYes)、複合機20は、フローをステップS210に進める。ステップS210において、複合機20は、対象データおよびワークフロー情報を、ワークフローサーバ30に送信する。ここで、対象データは、直前の処理までを実行して得られたデータである。
続いて、ステップS211において、ワークフローサーバ30は、受信した対象データおよびワークフロー情報に基づき、当該処理を含めて以後の処理を順次に実行する。そして、ワークフローサーバ30は、終端の処理まで実行すると、本フローを終了する。
以上のように、複合機20は、ワークフロー情報により定義された複数の処理のそれぞれについて、ワークフローサーバ30が実行すべき処理であるか否かを判断する。そして、全ての処理が、ワークフローサーバ30が実行すべき処理ではない場合には、複合機20は、全ての処理を実行する。また、ワークフローサーバ30が実行すべき処理が存在する場合には、複合機20は、ワークフローサーバ30が実行すべき処理の直前までの各処理を実行し、その後に、対象データをワークフローサーバ30に送信する。そして、ワークフローサーバ30は、ワークフローサーバ30が実行すべき処理および以後の処理を実行する。これにより、情報処理システム10によれば、ワークフローサーバ30が実行すべき処理を、ワークフローサーバ30に実行させることができる。
なお、ワークフローサーバ30は、複合機20から対象データおよびワークフロー情報を受信した後において、ワークフローサーバ30が実行すべき処理ではない処理を実行する場合には、再度、対象データおよびワークフロー情報を複合機20に送信してもよい。この場合、複合機20は、再度、ステップS206からの処理を繰り返して、以後の処理を実行する。これにより、複合機20およびワークフローサーバ30は、処理毎に実行主体を切り替えながら、ワークフロー情報に定義された複数の処理を実行することができる。もっとも、この場合においては、複合機20およびワークフローサーバ30は、例えばネットワーク40のトラフィックが混雑しており、ワークフローの処理時間が長くなる場合には、ワークフローサーバ30から複合機20へと対象データ等を戻さずに、ワークフローサーバ30で処理を完了させる方が好ましい。
図9は、最初にジョブキュー数に基づいて実行主体を判定し、判定した実行主体でワークフローを実行する場合のフロー図である。複合機20およびワークフローサーバ30は、図9に示すフローを実行してもよい。なお、図9に示すフローは、図6に示すフローと略同一であるので、以下、図6に示すフローとの相違点を除き説明を省略する。
複合機20は、ステップS103の後に、ステップS301のフローを実行する。ステップS301において、複合機20は、ワークフローサーバ30からジョブキュー数を取得する。ジョブキュー数は、ワークフローサーバ30が保持している、実行が完了していないジョブの数を示す。従って、ジョブキュー数は、値が大きければ、ワークフローサーバ30の処理負荷が大きいことを示し、小さければ、ワークフローサーバ30の処理負荷が小さいことを示す。複合機20は、ステップS301を終えると、フローをステップS104に進める。
また、ステップS105の後に、ステップS302において、複合機20は、取得したジョブキュー数が、閾値以下であるか否かを判断する。すなわち、複合機20は、ワークフローサーバ30の処理負荷が予め定められた値以下であるか否かを判断する。
取得したジョブキュー数が、閾値以下である場合には(ステップS302のYes)、複合機20は、フローをステップS108に進める。取得したジョブキュー数が、閾値以下でない場合(ステップS302のNo)、複合機20は、フローをステップS106に進める。
以上のように、複合機20は、ワークフローサーバ30のジョブキュー数が閾値以下である場合には(すなわち、ワークフローサーバ30の処理負荷が予め定められた値以下である場合には)、取得したデータをワークフローサーバ30に送信する。これにより、情報処理システム10によれば、ワークフローサーバ30が実行すべき処理を含むか否かに関わらず、ワークフローサーバ30の処理負荷が低い場合には、ワークフローサーバ30にワークフローを実行させることができる。
図10は、処理毎にジョブキュー数に基づいて実行主体を判定し、判定した実行主体でワークフローを実行する場合のフロー図である。複合機20およびワークフローサーバ30は、図10に示すフローを実行してもよい。なお、図10に示すフローは、図8に示すフローと略同一であるので、以下、図8に示すフローとの相違点を除き説明を省略する。
複合機20は、ステップS203の後に、ステップS401のフローを実行する。ステップS401において、複合機20は、ワークフローサーバ30からジョブキュー数を取得する。そして、複合機20は、ステップS401を終えると、フローをステップS204に進める。
また、ステップS206において、ワークフローサーバ30が実行すべき処理ではないと判断した場合(ステップS206のNo)、複合機20は、フローをステップS402に進める。ステップS402において、複合機20は、取得したジョブキュー数が、閾値以下であるか否かを判断する。すなわち、複合機20は、ワークフローサーバ30の処理負荷が予め定められた値以下であるか否かを判断する。
取得したジョブキュー数が、閾値以下である場合には(ステップS402のYes)、複合機20は、フローをステップS210に進める。取得したジョブキュー数が、閾値以下でない場合(ステップS402のNo)、複合機20は、フローをステップS207に進める。
以上のように、複合機20は、複数の処理のそれぞれ毎にワークフローサーバ30のジョブキュー数が閾値以下であるか否かを判断する。そして、複合機20は、ワークフローサーバ30のジョブキュー数が閾値以下である場合には(すなわち、ワークフローサーバ30の処理負荷が予め定められた値以下である場合には)、取得したデータをワークフローサーバ30に送信する。また、複合機20は、ワークフローサーバ30のジョブキュー数が閾値以下ではない場合には(すなわち、ワークフローサーバ30の処理負荷が予め定められた値以下ではない場合には)、当該処理を実行する。
これにより、情報処理システム10によれば、ワークフローサーバ30が実行すべき処理であるか否かに関わらず、ワークフローサーバ30の処理負荷が低い場合には、ワークフローサーバ30に当該処理を実行させることができる。
図11は、最初に実行主体を判断するフローを実行するか、処理毎に実行主体を判断するフローを実行するかを、ジョブキュー数に基づいて切り替える場合のフロー図である。複合機20およびワークフローサーバ30は、図11に示すフローを実行してもよい。
まず、ステップS501からステップS503までにおいて、複合機20は、図6のステップS101からステップS103までと同様の処理を実行する。続いて、ステップS504において、複合機20は、ワークフローサーバ30からジョブキュー数を取得する。
続いて、ステップS505において、複合機20は、ユーザからの操作に応じて、ワークフローの実行を開始する。ワークフローの実行を開始すると、ステップS506において、複合機20は、取得したジョブキュー数が、閾値以下であるか否かを判断する。すなわち、複合機20は、ワークフローサーバ30の処理負荷が予め定められた値以下であるか否かを判断する。
取得したジョブキュー数が、閾値以下である場合には(ステップS506のYes)、複合機20は、フローをステップS507に進める。
ステップS507では、複合機20およびワークフローサーバ30は、図6のステップS105からステップS109と同様の処理を実行する。すなわち、ステップS507において、複合機20およびワークフローサーバ30は、ワークフロー情報により定義された複数の処理前において、複合機20またはワークフローサーバ30の何れを実行主体とするかを判断するフローを実行する。
また、取得したジョブキュー数が、閾値以下ではない場合には(ステップS506のNo)、複合機20は、フローをステップS508に進める。
ステップS508では、複合機20およびワークフローサーバ30は、図8のステップS205からステップS211と同様の処理を実行する。すなわち、ステップS508において、複合機20およびワークフローサーバ30は、ワークフロー情報により定義された複数の処理のそれぞれ毎に、複合機20またはワークフローサーバ30の何れを実行主体とするかを判断するフローを実行する。
これにより、情報処理システム10によれば、ワークフローサーバ30の処理負荷が低い場合には、ワークフローサーバ30にワークフロー情報により定義された複数の処理を実行させることができる。そして、情報処理システム10によれば、ワークフローサーバ30の処理負荷が低くない場合には、ワークフローサーバ30が実行すべきか否かを、処理毎に判断して、ワークフローサーバ30が実行すべき場合に、ワークフローサーバ30に当該処理以降の処理を実行させることができる。
図12は、ワークフローサーバ30で実行できない処理を含むワークフローを実行する場合のフロー図である。ワークフロー情報には、例えば、データの取得処理として、スキャン処理、画像撮像処理および音声取得処理等を定義することができる。このような情報取得装置の特有の機能を利用した処理がワークフロー情報に定義されている場合、ワークフローサーバ30では当該処理を実行することができない。そこで、このような場合には、複合機20およびワークフローサーバ30は、図12に示すフローを実行する。
まず、ステップS601からステップS604までにおいて、複合機20は、図6のステップS101からステップS104までと同様の処理を実行する。
ワークフローの実行を開始すると、ステップS605において、複合機20は、ワークフロー情報を解析する。続いて、ステップS606において、複合機20は、ワークフロー情報の解析結果に基づき、ワークフローサーバ30で実行できないデータ取得処理が定義されているか否かを判断する。例えば、複合機20は、スキャン処理が定義されているか否かを判断する。
ワークフローサーバ30で実行できない処理が定義されている場合には(ステップS606のYes)、複合機20は、ステップS607にフローを進める。また、ワークフローサーバ30で実行できない処理が定義されていない場合には(ステップS606のNo)、複合機20は、ステップS608にフローを進める。
ステップS607において、複合機20は、当該処理(ワークフローサーバ30で実行できないデータ取得処理)を実行する。ステップS607を終えると、複合機20は、フローをステップS608に進める。
そして、ステップS608からステップS611においては、複合機20およびワークフローサーバ30は、図6のステップS106からステップS109と同様の処理を実行する。
これにより、情報処理システム10によれば、ワークフロー情報の先頭にワークフローサーバ30により実行できないデータ取得処理が定義されている場合であっても、ワークフロー情報に定義された処理を確実に実行することができる。
図13は、変形例に係る情報処理システム10が備える複合機20およびワークフローサーバ30の機能構成を示す図である。
変形例に係る情報処理システム10は、図3に示した情報処理システム10と略同一の機能および構成を有するので、同一の機能ブロックには同一の符号を付けて相違点を除き説明を省略する。
変形例に係る複合機20は、保有能力記憶部91と、能力判定部92とを、さらに備える。保有能力記憶部91は、この複合機20が有するハードウェア的およびソフトウェア的な能力を記憶する。
例えば、保有能力記憶部91は、この複合機20が有するプロセッサのクロックスピード、メモリサイズ、ハードディスクの容量、通信インターフェースのバージョン等を記憶する。また、保有能力記憶部91は、この複合機20にインストールされているメソッド、ライブラリまたはプログラム等の内容を記憶する。
能力判定部92は、保有能力記憶部91に記憶されている保有能力が、ワークフロー情報により定義されている複数の処理を実行するために要求される要求能力を満たすか否かを判断する。
ワークフロー情報により定義されている複数の処理を実行するために要求される要求能力は、ワークフロー情報に記述されている。要求能力は、一例として、処理を実行する装置に対して要求するプロセッサのクロックスピード、メモリサイズ、ハードディスクの容量、通信インターフェースのバージョン等である。また、要求能力は、処理を実行する装置にインストールされているメソッド、ライブラリまたはプログラム等である。
図14は、ワークフロー情報に含まれる処理毎の設定情報(プラグイン情報)の一例を示す図である。変形例に係るワークフロー情報には、定義している複数の処理のそれぞれについて、例えば、図14に示されるような設定情報が記述される。
図14に示すワークフロー情報には、“<pluginInfo>”および“</pluginInfo>”のタグが記述される。このタグ内には、1つの処理(プラグイン)に対して設定される情報が記述される。
また、“<pluginInfo>”および“</pluginInfo>”のタグ内には、“<RequiredSpec>”および“</RequiredSpec>”のタグが記述される。このタグ内には、例えば、当該処理を実行するために装置に要求する、プロセッサのクロックスピード、メモリサイズ、ハードディスクの容量、通信インターフェースのバージョン等が記述される。
また、“<pluginInfo>”および“</pluginInfo>”のタグ内には、“<RequiredMethod>”および“</RequiredMethod>”のタグが記述される。このタグ内には、例えば、当該処理を実行するために装置にインストールされていなければならない、メソッド、ライブラリまたはプログラム等が記述される。
図15は、装置の保有能力を示す機器情報の一例を示す図である。図16は、装置の保有能力を示す機器情報の他の例を示す図である。
保有能力記憶部91は、一例として、図15および図16に示されるような、XML文書で記述された保有能力情報を記憶する。
図15および図16に示すように、保有能力情報には、“<AvailableSpec>”および“</AvailableSpec>”のタグが記述される。このタグ内には、当該装置が保有しているハードウェアデバイスの能力(例えば、プロセッサのクロックスピード、メモリサイズ、ハードディスクの容量、通信インターフェースのバージョン等)が記述される。
また、保有能力情報には、“<AvailableMethod>”および“</AvailableMethod>”のタグが記述される。このタグ内には、当該装置にインストールされている、メソッド、ライブラリまたはプログラム等が記述される。
図17は、変形例に係る情報処理システム10において、処理毎に実行主体を判断して、ワークフローを実行する場合のフロー図である。変形例に係る複合機20およびワークフローサーバ30は、ワークフローを実行する場合、例えば、図17に示すフローを実行する。
まず、ステップS701において、複合機20は、ワークフローの選択画面を表示する。続いて、ステップS702において、複合機20は、選択画面に対する操作を受け付けて、実行すべきワークフローを選択する。
続いて、ステップS703において、複合機20は、選択されたワークフロー情報をワークフローサーバ30から取得する。続いて、ステップS704において、複合機20は、保有能力情報を取得する。具体的には、図15および図16で示したようなXML文書を取得する。続いて、ステップS705において、複合機20は、ユーザからの操作に応じて、ワークフローの実行を開始する。
ワークフローの実行を開始すると、ステップS706において、複合機20は、ワークフロー情報を参照して、最初の処理の設定情報(プラグイン情報)を解析する。具体的には、複合機20は、図14に示す、対応する処理の<pluginInfo>”および“</pluginInfo>”のタグ内における、“<RequiredSpec>”および“</RequiredSpec>”のタグ内の情報を解析する。
続いて、ステップS707において、複合機20は、当該装置の保有能力が、当該処理を実行するための要求される能力を満たすか否かを判断する。複合機20は、当該装置の保有能力が、当該処理を実行するために要求される能力を満たす場合には(ステップS707のYes)、フローをステップS708に進める。そして、ステップS708において、複合機20は、当該処理を実行する。続いて、ステップS709において、複合機20は、当該処理が終端の処理であるか否かを判断する。
終端の処理である場合(ステップS709のYes)、複合機20は、本フローを終了する。終端の処理ではない場合(ステップS709のNo)、続いて、ステップS710において、複合機20は、ワークフロー情報を参照して、次の処理の設定情報(プラグイン情報)を解析する。そして、ステップS710を終えると、複合機20は、フローをステップS707に戻して、次の処理について、当該装置の保有能力が、当該処理を実行するための要求される能力を満たすか否かを判断する。
複合機20は、当該装置の保有能力が、当該処理を実行するために要求される能力を満たさない場合には(ステップS707のNo)、複合機20は、フローをステップS711に進める。ステップS711において、複合機20は、対象データおよびワークフロー情報を、ワークフローサーバ30に送信する。ここで、対象データは、直前の処理までを実行して得られたデータである。
続いて、ワークフローサーバ30は、受信した対象データおよびワークフロー情報に基づき、当該処理を含めて以後の処理を順次に実行する。そして、ワークフローサーバ30は、終端の処理まで実行すると、本フローを終了する。
以上のように、複合機20は、ワークフロー情報により定義された複数の処理のそれぞれについて、当該装置の保有能力が当該処理を実行するために要求される能力を満たすか否かを判断する。そして、全ての処理について、保有能力が要求能力を満たす場合には、複合機20は、全ての処理を実行する。また、保有能力が要求能力を満たさない処理が存在する場合には、複合機20は、保有能力が要求能力を満たさない処理の直前までの各処理を実行し、その後に、対象データをワークフローサーバ30に送信する。そして、ワークフローサーバ30は、保有能力が要求能力を満たさない処理および以後の処理を実行する。これにより、情報処理システム10によれば、保有能力が要求能力を満たさない処理を、ワークフローサーバ30に実行させることができる。
図18は、変形例に係る情報処理システム10において、最初に実行主体を判断して、ワークフローを実行する場合のフロー図である。ワークフロー情報は、図14に示すような処理毎(プラグイン毎)の要求能力に代えてまたは処理毎の要求能力に加えて、定義されている複数の処理の全体に対して、当該処理を実行するために装置に要求する要求能力が記述されていてもよい。
この場合、変形例に係る複合機20およびワークフローサーバ30は、ワークフローを実行する場合、図18に示すフローで処理を進める。
まず、ステップS801からステップS805までにおいて、複合機20は、図17のステップS701からステップS705までと同様の処理を実行する。
ワークフローの実行を開始すると、ステップS806において、複合機20は、ワークフロー情報を参照して、設定情報を解析する。続いて、ステップS807において、複合機20は、解析結果に基づき、当該装置の保有能力が、複数の処理の全てを実行するための要求される能力を満たすか否かを判断する。
複合機20は、当該装置の保有能力が、複数の処理の全てを実行するために要求される能力を満たす場合には(ステップS807のYes)、フローをステップS808に進める。ステップS808において、複合機20は、ワークフロー情報により定義された複数の処理の全てを、順次に実行する。そして、複合機20は、終端の処理まで実行すると、本フローを終了する。
当該装置の保有能力が、複数の処理の全てを実行するために要求される能力を満たさない場合には(ステップS807のNo)、複合機20は、フローをステップS809に進める。ステップS809において、複合機20は、対象データおよびワークフロー情報を、ワークフローサーバ30に送信する。続いて、ステップS810において、ワークフローサーバ30は、受信した対象データおよびワークフロー情報に基づき、ワークフロー情報により定義されている複数の処理の全てを順次に実行する。そして、ワークフローサーバ30は、終端の処理まで実行すると、本フローを終了する。
以上のように、複合機20は、ワークフロー情報に定義された複数の処理の実行前に、当該装置の保有能力が複数の処理の全てを実行するために要求される能力を満たすかを判断し、当該装置の保有能力が複数の処理の全てを実行するために要求される能力を満たさない場合には、対象データをワークフローサーバ30に送信する。そして、ワークフローサーバ30は、ワークフロー情報に定義された複数の処理を最初から実行する。これにより、情報処理システム10によれば、当該装置の保有能力が複数の処理の全てを実行するために要求される能力を満たさない処理を、ワークフローサーバ30に実行させることができる。
図19は、実施形態に係る情報処理システム10がクラウドシステム500に適用された場合の構成を示す図である。
本実施形態の情報処理システム10は、クラウドシステム500に適用することもできる。クラウドシステム500は、一例として、企業内ネットワークシステム510と、サービス提供システム520とを備える。企業内ネットワークシステム510とサービス提供システム520とはインターネットを介して接続される。
企業内ネットワークシステム510では、複合機20およびクライアント端末21等が、ネットワーク40を介して接続される。また、企業内ネットワークシステム510内の各機器は、ファイアウォール511を介して、外部のサーバ等と接続される。従って、複合機20等は、外部のサーバ等へとアクセスできるが、サーバ等から直接アクセスはされない。
サービス提供システム520は、複数のサービス提供装置522を有する。複数のサービス提供装置522は、複数台の情報処理装置により構成されていてもよいし、複数の装置が1台の情報処理装置により構成されていてもよい。
ここで、ある1つのサービス提供装置522は、情報処理システム10におけるワークフローサーバ30の機能を、企業内ネットワークシステム510内の複合機20等に提供する。
アクセス制御装置521は、企業内ネットワークシステム510内の複合機20等が、サービス提供システム520にアクセスするための認証を行う。ここで、サービス提供システム520への認証には、例えば企業毎に割り当てられた組織コードと呼ばれるコードが用いられる。企業内ネットワークシステム510内の各機器は、アクセス制御装置521による認証が成功すると、それぞれのサービス提供装置522にアクセスすることができる。
このようなクラウドシステム500によれば、ワークフローサーバ30を企業内ネットワークシステム510内に設けなくてもよいので、高価なサーバ等を設置せずにワークフローサーバ30の機能を実現することができる。
図20は、複合機20のハードウェア構成の一例を示す図である。複合機20は、一例として、コントローラ110と、オペレーションパネル125と、ファクシミリコントロールユニット(FCU)126と、撮像部127と、印刷部128とを有する。
コントローラ110は、CPU111(Central Processing Unit)と、ASIC112(Application Specific Integrated Circuit)と、NB113(ノースブリッジ)と、SB114(サウスブリッジ)と、MEM−P115(システムメモリ)と、MEM−C116(ローカルメモリ)と、HDD117(ハードディスクドライブ)と、メモリカードスロット118と、NIC119(ネットワークインタフェースコントローラ)と、USBデバイス120と、IEEE1394デバイス121と、セントロニクスデバイス122とを有する。
CPU111は、種々の情報処理を実行するためのICであり、OS(Operating System)またはプラットホーム上で、アプリケーションをプロセス単位で並列的に実行する。ASIC112は、画像処理用の半導体デバイスである。NB113は、CPU111とASIC112とを接続するためのブリッジである。SB114は、NB113と周辺機器等とを接続するためのブリッジである。ASIC112とNB113とは、例えばAGP(Accelerated Graphics Port)を介して接続されている。
MEM−P115は、NB113に接続されたメモリである。MEM−C116は、ASIC112に接続されたメモリである。HDD117は、ASIC112に接続されたストレージであり、画像データ蓄積、文書データ蓄積、プログラム蓄積、フォントデータ蓄積およびフォームデータ蓄積等を行うために使用される。
HDD117には、種々のアプリケーションプログラム(コピープログラム、スキャナプログラム、プリンタプログラム、ファックスプログラム等)が記憶されている。また、HDD117には、各種のプラグインプログラムが記憶されている。プラグインプログラムは、ワークフロー情報に定義された各種の処理を実行するためのプログラムである。これらのプログラムは、インストール可能な形式または実行可能な形式のファイルである。また、HDD117には、ワークフロー処理プログラムが記憶されている。ワークフロー処理プログラムは、ワークフロー情報を解析して、必要なプラグインプログラムを呼び出して、ワークフロー情報に応じた処理を実行させるためのプログラムである。
メモリカードスロット118は、SB114に接続され、メモリカード124をセット(挿入)するために使用される。メモリカード124は、USBメモリ等のフラッシュメモリであり、ワークフロー処理プログラムおよびプラグインプログラムを配布するために使用される。また、ワークフロー処理プログラムおよびプラグインプログラムは、所定のサーバから複合機20にダウンロードすることで配布することもできる。
NIC119は、ネットワーク40等を介してMACアドレス等を使用したデータ通信を行うためのコントローラである。USBデバイス120は、USB(Universal Serial Bus)規格に準拠したシリアルポートを提供するためのデバイスである。IEEE1394デバイス121は、IEEE1394規格に準拠したシリアルポートを提供するためのデバイスである。セントロニクスデバイス122は、セントロニクス仕様に準拠したパラレルポートを提供するためのデバイスである。NIC119と、USBデバイス120と、IEEE1394デバイス121と、セントロニクスデバイス122とは、PCI(Peripheral Component Interconnect)バスを介してNB113およびSB114に接続されている。
オペレーションパネル125は、ユーザが複合機20に入力を行うためのハードウェア(操作部)であるとともに、複合機20がメニュー画面を表示するハードウェア(表示部)である。オペレーションパネル125は、ASIC112に接続されている。FCU126と撮像部127と印刷部128とは、PCIバスを介してASIC112に接続されている。
撮像部127は、コンタクトガラスに載置された原稿を光学的に走査して、その反射光をA/D変換して画像処理を施し、カラーまたはモノクロの画像データを生成する。
印刷部128は、例えばタンデム型の感光ドラムを有し、画像データまたはクライアント端末21等から受信したPDL(Page Description Language)データに基づきレーザビームを変調し感光ドラムを走査して潜像を形成する。そして、印刷部128は、潜像にトナーを付着して現像した1ページ毎の画像を用紙に熱と圧力で転写する。印刷部128は、このような電子写真方式のプロッタに限られず、液滴を吐出して画像を形成するインクジェット型のプロッタエンジンでもよい。
FCU126は、NIC119を介してネットワーク40に接続し例えばT.37,T.38の規格に対応した通信手順または公衆通信網に接続し例えばG3、G4規格に対応した通信手順に従い画像データの送受信を行う。また、FCU126は、複合機20の電源がOFFのときに画像データを受信しても、印刷部128を起動して画像データを用紙に印刷することができる。
図21は、ワークフローサーバ30のハードウェア構成の一例を示す図である。
ワークフローサーバ30は、CPU301と、ROM(Read Only Memory)302と、RAM(Random Access Memory)303と、HDD304と、ディスプレイ320が接続されたグラフィックボード305と、入力装置306と、メディアドライブ307と、ネットワーク通信部308とを有する。CPU301、ROM302、RAM303、HDD304、グラフィックボード305、入力装置306、メディアドライブ307、および、ネットワーク通信部308は、バスにより接続されている。
CPU301は、HDD304に記憶されたプログラムをRAM303に展開して実行し、各部品を制御して入出力を行ったり、データの加工を行ったりする。ROM302には、BIOS(Basic Input/Output System)およびブートストラップローダをHDD304からRAM303に読み出すスタートプログラムが記憶されている。ブートストラップローダは、OSをHDD304からRAM303に読み出す。
HDD304は、不揮発性のメモリであればよくSSD(Solid State Drive)などでもよい。HDD304は、OSおよびデバイスドライバを記憶している。さらに、HDD304には、ワークフロー処理プログラムが記憶されている。また、HDD304には、各種のプラグインプログラムが記憶されている。これらのプログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータで読み取り可能な記録メディアに記録して配布される。また、プログラムは、サーバからダウンロードすることにより配布されてもよい。
ディスプレイ320には、プログラムが指示し、グラフィックボード305が作成したGUI画面が表示される。入力装置306は、例えば、キーボードまたはマウス等であり、ユーザの操作を受け付ける。メディアドライブ307は、コンパクトディスク、DVD(Digital Versatile Disk)およびブルーレイディスクなどの光学メディアに対してデータを読み書きする。また、メディアドライブ307は、フラッシュメモリなどのメモリカードに対してデータを読み書きしてもよい。ネットワーク通信部308は、例えばLANに接続するためのイーサネット(登録商標)カードである。
以上、本実施の形態の情報処理装置(複合機20およびワークフローサーバ30等)は、CPUなどの制御装置と、ROM(Read Only Memory)やRAMなどの記憶装置と、HDD、CDドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
本実施形態の情報処理装置で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、本実施形態の情報処理装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態の情報処理装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、本実施形態のプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
本実施の形態の情報処理装置で実行されるプログラムは、上述した各部(処理実行部61およびフロー制御部64)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記記憶媒体からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、処理実行部61およびフロー制御部64が主記憶装置上に生成されるようになっている。
10 情報処理システム
20 複合機
21 クライアント端末
22 携帯機器
30 ワークフローサーバ
31 データ蓄積装置
32 中継装置
33 データ出力装置
40 ネットワーク
61 処理実行部
62 ワークフロー記憶部
63 リモート通信部
64 フロー制御部
65 ジョブ記憶部
66 ジョブ取得部
67 実行場所判定部
68 機能実行部
69 機能制御部
71 処理部
81 スキャン部
82 プリント部
83 ファクシミリ部
84 表示入力部
91 保有能力記憶部
92 能力判定部
110 コントローラ
111 CPU
112 ASIC
113 NB
114 SB
115 MEM−P
116 MEM−C
117 HDD
118 メモリカードスロット
119 NIC
120 USBデバイス
121 IEEE1394デバイス
122 セントロニクスデバイス
124 メモリカード
125 オペレーションパネル
126 FCU
127 撮像部
128 印刷部
301 CPU
302 ROM
303 RAM
304 HDD
305 グラフィックボード
306 入力装置
307 メディアドライブ
308 ネットワーク通信部
320 ディスプレイ
500 クラウドシステム
510 企業内ネットワークシステム
511 ファイアウォール
520 サービス提供システム
521 アクセス制御装置
522 サービス提供装置
特開2008−97586号公報

Claims (13)

  1. データを取得する情報取得装置とサーバとを備え、ワークフロー情報に定義された複数の処理を実行する情報処理システムであって、
    前記ワークフロー情報は、複数の処理の順序を定義し、
    前記情報取得装置および前記サーバは、前記ワークフロー情報に定義された複数の処理のそれぞれを一方が実行し、
    前記情報取得装置は、前記複数の処理の中に前記サーバが実行すべき処理を含むことが前記ワークフロー情報に記述されている場合であって前記サーバの処理負荷が予め定められた値以下である場合に、前記サーバが実行すべき処理の前に、対象データを前記サーバに送信し、
    前記サーバは、前記対象データを受信して、前記ワークフロー情報により定義されている複数の処理のうち前記サーバが実行すべき処理を実行する
    情報処理システム。
  2. 前記情報取得装置は、前記ワークフロー情報に定義された複数の処理の実行前に、前記サーバが実行すべき処理を含むかを判断し、前記サーバが実行すべき処理を含む場合には、前記対象データを前記サーバに送信し、
    前記サーバは、前記ワークフロー情報に定義された前記複数の処理を実行する
    請求項1に記載の情報処理システム。
  3. 前記ワークフロー情報には、前記複数の処理のそれぞれについて、前記サーバが実行すべき処理であるかが記述され、
    前記情報取得装置は、前記ワークフロー情報により定義された複数の処理のそれぞれについて、前記サーバが実行すべき処理であるかを判断し、
    前記サーバが実行すべき処理ではない場合には、前記情報取得装置は、前記サーバが実行すべき処理ではない処理を実行し、
    前記サーバが実行すべき処理である場合には、前記情報取得装置は、前記対象データを前記サーバに送信し、前記サーバは、前記サーバが実行すべき処理を実行する
    請求項1に記載の情報処理システム。
  4. 前記情報取得装置は、前記サーバが実行すべき処理でない場合であっても、前記サーバの処理負荷が予め定められた値以下である場合には、前記対象データを前記サーバに送信する
    請求項に記載の情報処理システム。
  5. 前記情報取得装置は、前記ワークフロー情報に、前記サーバが実行できない処理を含むかを判断し、
    前記サーバが実行できない処理を含む場合には、前記情報取得装置は、少なくとも前記サーバが実行できない処理を実行した後に、前記対象データを前記サーバに送信し、前記サーバは、以後の処理を実行する
    請求項1からの何れか一項に記載の情報処理システム。
  6. データを取得する情報取得装置とサーバとを備え、ワークフロー情報に定義された複数の処理を実行する情報処理システムであって、
    前記ワークフロー情報は、複数の処理の順序を定義し、
    前記情報取得装置および前記サーバは、前記ワークフロー情報に定義された複数の処理のそれぞれを一方が実行し、
    前記情報取得装置は、前記ワークフロー情報により定義された複数の処理に、装置の保有能力が前記ワークフロー情報に記述された要求能力を満たさない処理が含まれている場合、装置の保有能力が前記ワークフロー情報に記述された要求能力を満たさない処理の前に、対象データを前記サーバに送信し、
    前記サーバは、前記対象データを受信して、前記ワークフロー情報により定義されている複数の処理のうち、前記情報取得装置の保有能力が前記ワークフロー情報に記述された要求能力を満たさない処理を実行する
    情報処理システム。
  7. 前記情報取得装置は、前記ワークフロー情報に定義された複数の処理の実行前に、装置の保有能力が要求能力を満たすか否かを判断し、
    装置の保有能力が要求能力を満たさない処理が含まれている場合には、前記情報取得装置は、取得した前記データを前記サーバに送信し、前記サーバは、前記ワークフロー情報に定義された前記複数の処理を実行する
    請求項に記載の情報処理システム。
  8. 前記ワークフロー情報には、前記複数の処理のそれぞれについて、実行するために装置に要求する能力が記述され、
    前記情報取得装置は、前記ワークフロー情報により定義された複数の処理のそれぞれについて、装置の保有能力が要求能力を満たすか否かを判断し、
    装置の保有能力が要求能力を満たす場合には、前記情報取得装置は、処理を実行し、
    装置の保有能力が要求能力を満たさない場合には、前記情報取得装置は、前記対象データを前記サーバに送信し、前記サーバは、装置の保有能力が要求能力を満たさない処理および以後の処理を実行する
    請求項に記載の情報処理システム。
  9. 請求項1からの何れか一項に記載の情報処理システムに備えられる情報取得装置。
  10. コンピュータを請求項に記載の情報取得装置として機能させるためのプログラム。
  11. 請求項1からの何れか一項に記載の情報処理システムに備えられるサーバ。
  12. コンピュータを請求項11に記載のサーバとして機能させるためのプログラム。
  13. データを取得する情報取得装置とサーバとを備え、ワークフロー情報に定義された複数の処理を実行する情報処理システムで実行される情報処理方法であって、
    前記ワークフロー情報は、複数の処理の順序を定義し、
    前記情報取得装置および前記サーバが、前記ワークフロー情報に定義された複数の処理のそれぞれを一方が実行し、
    前記情報取得装置が、前記複数の処理の中に前記サーバが実行すべき処理を含むことが前記ワークフロー情報に記述されている場合であって前記サーバの処理負荷が予め定められた値以下である場合に、前記サーバが実行すべき処理の前に、対象データを前記サーバに送信し、
    前記サーバが、前記対象データを受信して、前記ワークフロー情報により定義されている複数の処理のうち、前記サーバが実行すべき処理を実行する
    情報処理方法。
JP2013192407A 2013-09-17 2013-09-17 情報処理システム、情報取得装置、サーバ、プログラムおよび情報処理方法 Active JP6331302B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013192407A JP6331302B2 (ja) 2013-09-17 2013-09-17 情報処理システム、情報取得装置、サーバ、プログラムおよび情報処理方法
US14/484,766 US20150081757A1 (en) 2013-09-17 2014-09-12 Information processing system and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013192407A JP6331302B2 (ja) 2013-09-17 2013-09-17 情報処理システム、情報取得装置、サーバ、プログラムおよび情報処理方法

Publications (2)

Publication Number Publication Date
JP2015061141A JP2015061141A (ja) 2015-03-30
JP6331302B2 true JP6331302B2 (ja) 2018-05-30

Family

ID=52668998

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013192407A Active JP6331302B2 (ja) 2013-09-17 2013-09-17 情報処理システム、情報取得装置、サーバ、プログラムおよび情報処理方法

Country Status (2)

Country Link
US (1) US20150081757A1 (ja)
JP (1) JP6331302B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6303505B2 (ja) * 2014-01-07 2018-04-04 株式会社リコー 情報処理システム、情報処理方法、機器、及びプログラム
JP6464755B2 (ja) 2014-03-18 2019-02-06 株式会社リコー 情報処理装置、情報処理方法及びプログラム
JP6841098B2 (ja) * 2017-03-10 2021-03-10 株式会社リコー 情報処理システム、画像処理装置、情報処理方法、及びプログラム
JP6819387B2 (ja) * 2017-03-17 2021-01-27 株式会社リコー 画像処理装置、情報処理システム、情報処理方法、及びプログラム
JP7098967B2 (ja) * 2018-03-07 2022-07-12 株式会社リコー 電子機器、プログラム、ワークフロー実行制御方法及び情報処理システム
JP7234612B2 (ja) * 2018-11-30 2023-03-08 株式会社リコー 情報処理システム及び情報処理方法
JP2020127095A (ja) * 2019-02-01 2020-08-20 株式会社リコー 情報処理システム、電子黒板、及びプログラム
JP2023070932A (ja) * 2021-11-10 2023-05-22 キヤノン株式会社 画像形成システム、画像制御装置、制御方法、及びプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004030636A (ja) * 1997-11-19 2004-01-29 Fujitsu Ltd ワークフロー管理システム及びコンピュータ読み取り可能な記憶媒体
US20080040417A1 (en) * 2006-08-09 2008-02-14 Gearworks, Inc. System and method for allocating workflow operations to a computing device
US20080247004A1 (en) * 2007-04-03 2008-10-09 Michael Yeung System and method for workflow control of scanned document input
JP2009048533A (ja) * 2007-08-22 2009-03-05 Konica Minolta Business Technologies Inc 処理実行システム、処理実行装置、処理実行方法および処理実行プログラム
JP2009272990A (ja) * 2008-05-09 2009-11-19 Konica Minolta Business Technologies Inc ワークフロー実行制御方法、画像処理装置、およびコンピュータプログラム
JP5495629B2 (ja) * 2008-07-04 2014-05-21 キヤノン株式会社 ワークフロー制御方法、制御装置及びプログラム
JP5131223B2 (ja) * 2009-02-17 2013-01-30 コニカミノルタビジネステクノロジーズ株式会社 ワークフロー実行装置、ワークフロー実行方法およびワークフロー実行プログラム
JP5482363B2 (ja) * 2009-07-31 2014-05-07 株式会社リコー 画像処理システム、画像処理装置及び画像処理方法
US8700773B2 (en) * 2009-12-07 2014-04-15 Microsoft Corporation Load balancing using redirect responses
JP5890692B2 (ja) * 2012-01-13 2016-03-22 キヤノン株式会社 撮像装置、制御方法及びプログラム

Also Published As

Publication number Publication date
US20150081757A1 (en) 2015-03-19
JP2015061141A (ja) 2015-03-30

Similar Documents

Publication Publication Date Title
JP6331302B2 (ja) 情報処理システム、情報取得装置、サーバ、プログラムおよび情報処理方法
JP6264800B2 (ja) 情報処理システム、情報処理装置、プログラムおよび情報処理方法
US9661040B2 (en) Collaboration processing apparatus, collaboration processing system, and program
US20150339561A1 (en) Image forming apparatus, image forming method, and storage medium
US10379797B2 (en) Image forming apparatus that notifies a server, based on data size information, whether a portable document format is supported, and related method of controlling printing and printing system
JP2008186458A (ja) 異なるフォーマットで符号化された電子ドキュメントの出力を開始するシステムおよび方法
EP3145166A1 (en) Information processing system and information processing method for carrying out workflows using user specific settings
JP2006109459A (ja) 印刷支援装置、印刷処理装置、文書処理システム、印刷支援装置の制御方法、印刷支援制御プログラム、およびコンピュータ読み取り可能な記録媒体
US10009483B2 (en) Information processing apparatus, control method, and storage medium for performing print data transmission methods suitable for each situation by causing an image forming apparatus to acquire print data by a suitable method based on whether the image forming apparatus can acquire the print data from a conversion server
US20180302529A1 (en) Image forming apparatus, method of controlling the same, and storage medium
US9606753B2 (en) Data processing apparatus for transmitting print data, method for controlling date processing apparatus, and storage medium
US20120127502A1 (en) Method of performing operations in image forming apparatus, image forming apparatus and image forming system for performing the method
US10402131B2 (en) Image processing apparatus and method to form image on sheet using page image data and object information
US9473650B2 (en) Image reading apparatus, image reading method, image processing system, and storage medium
KR20190113577A (ko) 인쇄 시스템, 인쇄방법, 화상 형성장치 및 그 제어방법과, 컴퓨터 프로그램
US8810840B2 (en) Image forming system, output management method, and program product, configured to determine type of PDL in output data
JP2008283441A (ja) 画像処理システム、画像読取装置、および制御プログラム
US9749481B2 (en) Image processing apparatus capable of transmitting image data, control method therefor, and storage medium storing control program therefor
JP2016148923A (ja) 画像形成装置、画像形成方法、及び画像形成プログラム
US10915283B2 (en) Communication device, control method, and non-transitory computer-readable storage medium for print job with post-processing
JP7087755B2 (ja) データ送信システム、およびデータ送信装置
US10264143B2 (en) Image forming apparatus
JP7013977B2 (ja) 画像処理装置、画像処理システム、及びプログラム
JP2009303124A (ja) 情報処理装置及びその制御方法、プログラム、並びに、画像処理装置及びその制御方法、プログラム
US9529556B2 (en) Information processing apparatus, data processing method, and computer program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160908

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170601

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170613

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180316

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180416

R151 Written notification of patent or utility model registration

Ref document number: 6331302

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151