JP2018156596A - Information processing device, information processing program and information processing system - Google Patents
Information processing device, information processing program and information processing system Download PDFInfo
- Publication number
- JP2018156596A JP2018156596A JP2017054981A JP2017054981A JP2018156596A JP 2018156596 A JP2018156596 A JP 2018156596A JP 2017054981 A JP2017054981 A JP 2017054981A JP 2017054981 A JP2017054981 A JP 2017054981A JP 2018156596 A JP2018156596 A JP 2018156596A
- Authority
- JP
- Japan
- Prior art keywords
- workflow
- execution
- unit
- information processing
- load
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 claims abstract description 72
- 230000008569 process Effects 0.000 claims abstract description 61
- 238000012545 processing Methods 0.000 claims description 40
- 238000004891 communication Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 16
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013404 process transfer Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
本発明は、情報処理装置、情報処理プログラムおよび情報処理システムに関する。 The present invention relates to an information processing apparatus, an information processing program, and an information processing system.
従来から、1以上の処理による処理手順を定義したワークフローを用いて業務などを実施することが行われている。例えば、組織体内などで完結するオンプレミスのシステムにおいてワークフローを実行する技術が知られている。また、特許文献1には、インターネット上で提供されるクラウドサービスにおいてワークフローを実行する技術が開示されている。 2. Description of the Related Art Conventionally, operations and the like are performed using a workflow that defines a processing procedure using one or more processes. For example, a technique for executing a workflow in an on-premises system completed within an organization or the like is known. Patent Document 1 discloses a technique for executing a workflow in a cloud service provided on the Internet.
さらに、特許文献2には、オンプレミスのシステムと、クラウドサービスとを併用してワークフローを実行する技術が開示されている。特許文献2では、ワークフローに含まれる処理のうち、クラウドサービスで実行する処理と、オンプレミスのシステムで実行する処理とを識別し、処理の順序を並べ替え、クラウドサービスで実行する処理を纏めるようにしている。特許文献2の技術によれば、クラウドサービスと、オンプレミスのシステム内のデバイスとの間の通信処理を抑制できる。 Furthermore, Patent Document 2 discloses a technique for executing a workflow by using an on-premises system and a cloud service together. In Patent Document 2, among the processes included in the workflow, the processes executed by the cloud service and the processes executed by the on-premises system are identified, the order of the processes is rearranged, and the processes executed by the cloud service are summarized. ing. According to the technique of Patent Document 2, communication processing between a cloud service and a device in an on-premises system can be suppressed.
ところで、例えばオンプレミスのシステムによる第1のサービスと、クラウドサービスといった第2のサービスとで機能が同等のワークフローが提供されている場合がある。従来の技術では、このような場合であっても、第1のサービスと第2のサービスとで、ユーザがワークフローを定義した際に選択したサービスにより提供されるワークフローしか実行できなかった。 By the way, for example, a workflow having the same function may be provided by a first service based on an on-premises system and a second service such as a cloud service. In the conventional technology, even in such a case, only the workflow provided by the service selected when the user defines the workflow can be executed between the first service and the second service.
例えば、ユーザが第1のサービスにより提供されるワークフローを選択し、第1のサービスのシステムにおいてワークフローの処理を実行するサーバで高負荷の処理が実行されている一方で、第2のサービスではワークフローの処理が行われておらず、低負荷状態である場合を考える。従来の技術では、このような場合であっても、ワークフローは、ユーザの選択に従い、第1のサービスのシステムにおけるサーバにおいて実行されていた。そのため、ワークフローによる処理の終了まで長時間を要する、メモリ不足などを引き起こしてシステム全体を停止させてしまう、などの問題が生じるおそれがあった。この問題は、上述した特許文献3においても、解消できていない。 For example, a user selects a workflow provided by a first service, and a high-load process is executed on a server that executes the workflow process in the system of the first service, while a workflow is executed in the second service. Consider the case where the above process is not performed and the load is low. In the conventional technique, even in such a case, the workflow is executed on the server in the first service system according to the user's selection. For this reason, there is a possibility that problems such as a long time required for completion of the processing by the workflow and a stop of the entire system due to a memory shortage may occur. This problem cannot be solved even in Patent Document 3 described above.
本発明は、上記に鑑みてなされたものであって、ワークフローの実行に複数のサービスを利用可能である場合に、ワークフローを効率的に実行可能とすることを目的とする。 The present invention has been made in view of the above, and an object of the present invention is to enable efficient execution of a workflow when a plurality of services can be used for execution of the workflow.
上述した課題を解決し、目的を達成するために、本発明は、1以上の処理の処理手順を示すワークフローを実行する第1の実行部と、全ての処理が第1の実行部で実行される第1のワークフローと、第1のワークフローが外部の第2の実行部で実行される外部ワークフローと互換可能な処理を含む場合に、外部ワークフローを含み、第1のワークフローと処理内容が対応する第2のワークフローと、を作成する作成部と、第1の実行部の負荷および第2の実行部の負荷のうち少なくとも第1の実行部の負荷を取得する取得部と、実行部によるワークフローの実行を制御する制御部と、を備え、制御部は、取得部により取得された第1の実行部の負荷を用いて、第1のワークフローおよび第2のワークフローのうち何れを実行するかを選択する。 In order to solve the above-described problems and achieve the object, the present invention executes a first execution unit that executes a workflow indicating a processing procedure of one or more processes, and all the processes are executed by the first execution unit. The first workflow, and the first workflow includes a process compatible with the external workflow executed by the external second execution unit, the external workflow is included, and the first workflow corresponds to the processing content A creation unit that creates a second workflow, an acquisition unit that acquires at least a load of the first execution unit among a load of the first execution unit and a load of the second execution unit, and a workflow of the execution unit A control unit that controls execution, and the control unit selects which of the first workflow and the second workflow to execute using the load of the first execution unit acquired by the acquisition unit Do
本発明によれば、ワークフローの実行に複数のサービスを利用可能である場合に、ワークフローを効率的に実行可能にできるという効果を奏する。 According to the present invention, when a plurality of services can be used for executing a workflow, the workflow can be efficiently executed.
以下に添付図面を参照して、情報処理装置、情報処理プログラムおよび情報処理システムの実施形態を詳細に説明する。図1は、実施形態に係る情報処理システムの一例の構成を示す。図1において、情報処理システム1は、例えばLAN(Local Area Network)によるネットワーク2に接続されるサーバ20と、ネットワーク2からインターネット3を介して接続されるサーバ30とを含む。情報処理システム1は、さらに、ネットワーク2に接続されるMFP(Multi Function Printer)10とパーソナルコンピュータ(PC)40とを含んでもよい。
Exemplary embodiments of an information processing apparatus, an information processing program, and an information processing system will be described below in detail with reference to the accompanying drawings. FIG. 1 illustrates an exemplary configuration of an information processing system according to an embodiment. In FIG. 1, the information processing system 1 includes a
ネットワーク2は、例えば1つの組織体内で閉じた、所謂オンプレミスのネットワークであり、サーバ20は、オンプレミスのシステムにおけるサービスを提供する。MFP10は、プリンタ機能、スキャナ機能、複写機能、FAX機能など複数の機能を1の筐体で実現した複合機である。PC40は、一般的なパーソナルコンピュータであって、サーバ20にログインしてサーバ20の機能を利用することができる。また、PC40は、MFP10に対して印刷ジョブを送信することもできる。サーバ30は、クラウドネットワーク上のサーバである。
The network 2 is a so-called on-premises network closed in, for example, one organization, and the
ここで、サーバ20は、オンプレミスのシステムに対して、その組織の業務のための処理など、その組織に特有の処理を提供する。一方、サーバ30は、クラウドネットワークに接続される、複数の異なるオンプレミスのシステム(組織)が利用するための汎用的な処理を提供する。
Here, the
このような構成において、情報処理システム1は、1以上の処理による処理手順を定義したワークフローによるサービスを提供できる。ワークフロー(WF)は、処理を実行するコンポーネントと、コンポーネントの順序とが定義される。例えば、画像データをPDF(Portable Document Format)データに変換し、変換されたPDFデータを電子メールを用いて所定の宛先に転送する処理が定義されたワークフローを考える。この場合、例えば、当該ワークフローには、PDF変換を行うPDF変換コンポーネントと、データを電子メールで所定の宛先に送信する電子メール送信コンポーネントが定義される。 In such a configuration, the information processing system 1 can provide a service based on a workflow that defines a processing procedure based on one or more processes. In the workflow (WF), components for executing processing and the order of components are defined. For example, consider a workflow in which processing for converting image data into PDF (Portable Document Format) data and transferring the converted PDF data to a predetermined destination using an electronic mail is considered. In this case, for example, a PDF conversion component that performs PDF conversion and an e-mail transmission component that transmits data to a predetermined destination by e-mail are defined in the workflow.
ワークフローの定義およびコンポーネントは、サーバ20および30に保存される。ワークフローは、サーバ20に保存されるコンポーネントのみを用いて定義してもよいし、サーバ30に保存されるコンポーネントのみを用いて定義してもよい。さらに、ワークフローは、サーバ20に保存されるコンポーネントと、サーバ30に保存されるコンポーネントとを混在して定義してもよい。
Workflow definitions and components are stored on
例えば、MFP10は、サーバ20あるいはサーバ30に対してワークフローの実行を要求することができる。例えば、MFP10のスキャナ機能により取得した画像データに対して、上述した、画像データをPDFデータに変換して電子メールにより所定の宛先に転送する処理が定義されたワークフローを適用するものとする。この場合、MFP10においてスキャン機能により画像データを取得し、サーバ20にアクセスして当該ワークフローの実行を要求する。サーバ20は、この要求に応じて当該ワークフローを呼び出して、ワークフローの定義に従い、PDF変換コンポーネントを実行してスキャン機能により取得した画像データをPDFデータに変換し、次に電子メール送信コンポーネントを実行して、PDF変換コンポーネントにより変換されたPDFデータを、電子メールにより、指定された宛先に送信する。
For example, the MFP 10 can request the
このように、ワークフローを用いることで、様々な機能を容易に実行することが可能である。 As described above, various functions can be easily executed by using the workflow.
また、実施形態に係る情報処理システム1では、オンプレミスのサーバ20においてワークフローを作成する際に、サーバ20が保存するコンポーネントのみを用いたワークフロー(第1のワークフローとする)を作成する。それと共に、実施形態に係る情報処理システム1では、サーバ20においてワークフローを作成する際に、ワークフローに含まれるコンポーネントのうち、クラウドネットワーク上のサーバ30が保存するワークフローまたはコンポーネントと互換性のあるコンポーネントを、サーバ30が保持する当該ワークフローまたはコンポーネントと置き換えたワークフロー(第2のワークフローとする)も作成する。ワークフローの要求元、例えばMFP10には、第1のワークフローが提示される。
In the information processing system 1 according to the embodiment, when a workflow is created in the on-
その上で、サーバ20は、当該第1のワークフローの実行時に、少なくともサーバ20におけるワークフロー実行に関する負荷を取得し、取得した負荷に基づき、当該第1のワークフローを実行するか、サーバ30が保存するワークフローまたはコンポーネントを含む第2のワークフローを実行するかを決定する。これにより、実施形態に係る情報処理システム1では、ワークフローの実行に複数のサービスを利用可能な場合に、ワークフローによる処理を効率的に実行可能となる。
In addition, when the first workflow is executed, the
図2は、実施形態に適用可能なサーバ20の一例のハードウェア構成を示す。図2において、サーバ20は、CPU(Central Processing Unit)2000と、ROM(Read Only Memory)2001と、RAM(Random Access Memory)2002と、ストレージ2003と、通信I/F2004とを含み、これら各部がバス2010により互いに通信可能に接続される。ストレージ2003は、ハードディスクドライブや不揮発性半導体メモリにより構成される保存媒体である。ストレージ2003は、CPU2000が動作するための各種プログラムやデータが格納される。
FIG. 2 shows an exemplary hardware configuration of the
CPU2000は、ストレージ2003やROM2001に予め格納されるプログラムに従い、RAM2002をワークエリアとして用いて動作し、サーバ20の全体の動作を制御する。通信I/F2004は、CPU2000の指示に従い、ネットワーク2を介した通信を制御する。
The
図2の例では、ストレージ2003がサーバ20に内蔵されているように示されているが、これはこの例に限定されない。例えば、ストレージ2003は、サーバ20に対して直接的、あるいは、ネットワーク2を介して接続される外部保存装置であってもよい。また、図1および図2の例では、サーバ20が1台のコンピュータにより構成されているように示しているが、これはこの例に限定されず、サーバ20は、複数台のコンピュータが分散して動作することで構成してもよい。
In the example of FIG. 2, the
また、クラウドネットワーク上のサーバ30も、図2に示すサーバ20と同等の構成にて実現可能であるので、ここでの詳細な説明を省略する。
Further, the
図3は、実施形態に係るサーバ20および30の機能を説明するための一例の機能ブロック図である。図3において、オンプレミスのサーバ20は、通信部200と、取得部201と、作成部202と、管理部203と、実行部204と、WF(ワークフロー)定義保存部210と、コンポーネント保存部220と、を含む。
FIG. 3 is a functional block diagram illustrating an example of the functions of the
これらのうち、WF定義保存部210およびコンポーネント保存部220は、例えばストレージ2003の所定領域を用いて構成される。また、通信部200、取得部201、作成部202、管理部203および実行部204は、CPU2000上で実施形態に係る情報処理プログラムが実行されることで形成される。これに限らず、通信部200、取得部201、作成部202、管理部203および実行部204の一部または全部を、互いに協働して動作するハードウェア回路により構成してもよい。
Among these, the WF
サーバ20における各機能を実現するための情報処理プログラムは、インストール可能な形式または実行可能な形式のファイルでCD(Compact Disk)、フレキシブルディスク(FD)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供される。これに限らず、当該操作プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供してもよい。また、当該操作プログラムをインターネットなどのネットワークを経由して提供または配布するように構成してもよい。
An information processing program for realizing each function in the
当該操作プログラムは、上述した各部(通信部200、取得部201、作成部202、管理部203および実行部204)を含むモジュール構成となっている。実際のハードウェアとしては、CPU2000がストレージ2003などの保存媒体から当該操作プログラムを読み出して実行することにより、上述した各部がRAM2002などの主記憶装置上にロードされ、通信部200、取得部201、作成部202、管理部203および実行部204が主記憶装置上に生成されるようになっている。
The operation program has a module configuration including the above-described units (
図3において、WF定義保存部210は、WF(ワークフロー)定義211a、211b、…が保存される。WF定義保存部210に含まれる各WF定義211a、211b、…は、それぞれ、1以上のコンポーネントの組み合わせと、各コンポーネントによる処理の順序を示す情報と、プリセットされた情報と、ワークフローを識別するためのワークフローIDと、が関連付けられて含まれる。
In FIG. 3, the WF
コンポーネント保存部220は、各WF定義211a、211b、…で用いるための各コンポーネント221a、221b、…が保存される。各コンポーネント221a、221b、…は、コンポーネントを識別するためのコンポーネントIDと、コンポーネントのバージョン情報と、が関連付けられて含まれる。
The
通信部200は、通信I/F2004を制御して、ネットワーク2に対する通信を行う。通信部200は、これにより、ネットワーク2を介してインターネット3に接続し、ネットワーク2およびインターネット3を介してサーバ30と通信を行うことができる。取得部201は、サーバ20におけるワークフローの実行に関する負荷を取得する。取得部201は、サーバ30におけるワークフローの実行に関する負荷をさらに取得することもできる。
The
作成部202は、コンポーネント保存部220に保存される各コンポーネント221a、221b、…を用いてWF定義211a、211b、…を作成する。作成部202は、作成したWF定義211a、211b、…を、WF定義保存部210に保存させる。管理部203は、WF定義保存部210に保存される各WF定義211a、211b、…を、例えばワークフローIDに基づき管理する。また、管理部203は、コンポーネント保存部220に保存される各コンポーネント221a、221b、…を、コンポーネントIDおよびバージョン情報に基づき管理する。
The
実行部204は、利用者の操作や特定のイベントに基づき、指定されたワークフローを実行させる。例えば、実行部204は、MFP10からの指示に応じて、管理部203に管理されるWF定義211a、211b、…から指定されたWF定義を取得して、取得したWF定義に含まれる各コンポーネントを実行する。
The
図3において、クラウドネットワーク上のサーバ30は、通信部300と、管理部301と、実行部302と、WF定義保存部310と、コンポーネント保存部320と、を含む。これらのうち、通信部300、管理部301および実行部302は、サーバ30が備えるCPU上で所定のプログラムが動作されることで実現される。また、WF定義保存部310およびコンポーネント保存部320は、サーバ30が備えるストレージの所定の保存領域が用いられる。
In FIG. 3, the
WF定義保存部310は、WF定義311a、311b、…が保存される。各WF定義311a、311b、…の構成は、上述したWF定義211a、211b、…と同様である。コンポーネント保存部320は、各WF定義311a、311b、…で用いるための各コンポーネント321a、321b、…が保存される。管理部301は、WF定義保存部310に保存される各WF定義311a、311b、…と、コンポーネント保存部320に保存される各コンポーネント321a、321b、…とを管理する。
The WF
通信部300は、サーバ30が備える通信I/Fを制御して、インターネット3に対する通信を行う。通信部300は、これにより、インターネット3を介してネットワーク2に接続し、インターネット3およびネットワーク2を介してサーバ20と通信を行うことができる。
The communication unit 300 controls the communication I / F included in the
実行部302は、特定のイベントに基づき、指定されたワークフローを実行させる。例えば、実行部302は、サーバ20からの指示に応じて、管理部301に管理されるWF定義311a、311b、…から指定されたWF定義を取得して、取得したWF定義に含まれる各コンポーネントを実行する。
The
ここで、サーバ20のコンポーネント保存部220に保存されるコンポーネント221’は、サーバ30の実行部302に対して、WF定義保存部310に保存される各WF定義311a、311b、…に定義されるワークフローの実行を指示することができる。また、サーバ30においてWF定義保存部310に保存される各WF定義311a、311b、…に定義される各ワークフローは、例えばサーバ20のコンポーネント221’からの指示に応じて、サーバ20のWF定義211a、211b、…に含まれるコンポーネントとして実行させることができる。
Here, the
なお、上述したサーバ20に含まれる各コンポーネント211a、211b、…、および、サーバ30に含まれる各コンポーネント311a、311b、…は、実行する処理を、外部の連携サーバや連携サービスに転送することができるようになっている。
The
(実施形態に係る処理)
次に、実施形態に係る処理について説明する。図4は、実施形態に係るワークフローの作成処理を示す一例のフローチャートである。この図4に示すフローチャートによる処理は、オンプレミスのサーバ20において、例えば作成部202により実行される。
(Processing according to the embodiment)
Next, processing according to the embodiment will be described. FIG. 4 is a flowchart illustrating an example of workflow creation processing according to the embodiment. The process according to the flowchart shown in FIG. 4 is executed by, for example, the
ステップS100で、作成部202は、例えばPC40からの指示に応じて、オンプレミス用のワークフロー(WF)のワークフロー定義を作成する。オンプレミス用のワークフローは、オンプレミスのネットワーク2に接続されるサーバ20において実行されるワークフローである。作成部202は、例えば、サーバ20のコンポーネント保存部220に保存される各コンポーネント221a、221b、…を用いて、オンプレミス用のワークフローのワークフロー定義を作成する。
In step S100, the
このとき、作成部202は、作成したワークフローの、オンプレミス用のネットワーク2外、例えばクラウドネットワーク上のサーバ30における実行を禁止する設定を行うことができる。例えば、作成するワークフローが機密情報を扱う処理を含む場合に、当該ワークフローのサーバ30における実行を禁止すると言った適用が考えられる。作成部202は、例えば、オンプレミス用のネットワーク2外での実行を禁止することを示す禁止フラグを、作成したワークフローのWF定義に設定する。
At this time, the
次のステップS101で、作成部202は、ステップS100で作成したオンプレミス用のワークフロー(WF定義)をWF定義保存部210に保存する。次のステップS102で、作成部202は、ステップS101で保存したオンプレミス用のワークフロー(以下、対象ワークフロー)を解析する。
In the next step S101, the
次のステップS103で、作成部202は、ステップS102の解析結果に基づき、対象ワークフローがクラウドネットワーク上のサーバ30にて実行可能か否かを判定する。例えば、作成部202は、対象ワークフローに禁止フラグが含まれる場合、対象ワークフローがサーバ30にて実行不可であると判定し(ステップS103、「No」)、図4のフローチャートによる一連の処理を終了させる。一方、作成部202は、ステップS103で対象ワークフローがサーバ30にて実行可能であると判定した場合(ステップS103、「Yes」)、処理をステップS104に移行させる。
In the next step S103, the
ステップS104で、作成部202は、対象ワークフローに含まれるコンポーネントから1つを対象コンポーネントとして取得して、取得した対象コンポーネントを解析する。次のステップS105で、作成部202は、対象コンポーネントの解析結果に基づき、クラウドネットワーク上のサーバ30のWF定義保存部310における対象コンポーネントと互換性のあるワークフローの有無が確認される。このステップS105の処理の詳細については、後述する。
In step S104, the
次のステップS106で、作成部202は、ステップS105での確認の結果、サーバ30のWF定義保存部310に、対象コンポーネントと互換性のあるワークフロー(以下、互換ワークフロー)のワークフロー定義が保存されているか否かを判定する。保存されていないと判定した場合(ステップS106、「No」)、処理がステップS108に移行される。一方、作成部202は、ステップS106で、保存されていると判定した場合(ステップS106、「Yes」)、処理をステップS107に移行させる。
In the next step S106, as a result of the confirmation in step S105, the
ステップS107で、作成部202は、対象ワークフローにおいて、対象コンポーネントを、当該対象ワークフローと互換性のある、サーバ30上の互換ワークフローと置き換えた置換ワークフローを作成し、作成した置換ワークフローのワークフロー定義を、WF定義保存部210に保存する。すなわち、WF定義保存部210には、対象ワークフローのWF定義と、当該対象ワークフローに対応する置換ワークフローのWF定義とが保存されていることになる。
In step S107, the
なお、ステップS107において、既に対象ワークフローに対応する置換ワークフローが存在する場合は、当該置換ワークフローのワークフロー定義が互換ワークフローのワークフロー定義により更新される。 In step S107, if a replacement workflow corresponding to the target workflow already exists, the workflow definition of the replacement workflow is updated with the workflow definition of the compatible workflow.
次のステップS108で、作成部202は、対象ワークフローに含まれる全てのコンポーネントについてステップS104〜ステップS107の処理が完了したか否かを判定する。完了していないと判定した場合(ステップS108、「No」)、作成部202は、処理をステップS104に戻し、対象ワークフローに含まれる次のコンポーネントについて、ステップS104以降の処理を実行する。
In the next step S108, the
一方、作成部202は、対象ワークフローに含まれる全てのコンポーネントについてステップS104〜ステップS107の処理が完了したと判定した場合(ステップS108、「Yes」)、図4のフローチャートにおける一連の処理を終了させる。
On the other hand, when the
図5は、実施形態に係る、互換ワークフローの有無確認の処理を示す一例のフローチャートである。この図5のフローチャートによる処理は、上述した図4のフローチャートのステップS105において実行される処理である。 FIG. 5 is a flowchart illustrating an example of a process for confirming the existence of a compatible workflow according to the embodiment. The process according to the flowchart of FIG. 5 is a process executed in step S105 of the flowchart of FIG. 4 described above.
ステップS200およびステップS201で、作成部202は、対象コンポーネントのコンポーネントIDおよびバージョン情報を取得する。次のステップS202で作成部202は、取得したコンポーネントIDおよびバージョン情報に基づき互換コンポーネントチェックテーブルを参照する。
In step S200 and step S201, the
互換コンポーネントチェックテーブルは、オンプレミスのサーバ20のコンポーネント保存部220に保存される各コンポーネント221a、221b、…と、クラウドネットワーク上のサーバ30のWF保存部310に保存される各WF定義311a、311b、…による各ワークフローとにおいて、互換性のあるコンポーネントとワークフローとの組を示すエントリが格納される。
The compatible component check table includes
より具体的には、互換コンポーネントチェックテーブルは、オンプレミスのコンポーネントのコンポーネントIDおよびバージョン情報をキーとして、当該コンポーネントと互換性のある、クラウドネットワーク上のワークフローのワークフローIDが関連付けられたエントリが格納される。この互換コンポーネントチェックテーブルは、予め作成され、例えばクラウドネットワーク上のサーバ30において保存される。
More specifically, the compatible component check table stores an entry associated with the workflow ID of the workflow on the cloud network that is compatible with the component, using the component ID and version information of the on-premises component as a key. . This compatible component check table is created in advance and stored in the
次のステップS203で、作成部202は、互換コンポーネントチェックテーブルに、ステップS200およびステップS201で取得したコンポーネントIDおよびバージョン情報に対応するエントリが存在するか否かを判定する。存在すると判定した場合(ステップS203、「Yes」)、作成部202は、処理をステップS205に移行させる。
In the next step S203, the
ステップS205で、作成部202は、存在すると判定したエントリに格納されるクラウドネットワーク上のワークフローのワークフローIDを、互換ワークフローのワークフローIDであるとして取得する。作成部202は、互換ワークフローのワークフローIDを取得すると、図5のフローチャートによる処理を終了させて、処理を、図4のフローチャートにおけるステップS106に移行させる。
In step S205, the
一方、作成部202は、ステップS203で、対応するエントリが存在しないと判定した場合(ステップS203、「No」)、処理をステップS204に移行させる。
On the other hand, when it is determined in step S203 that the corresponding entry does not exist (step S203, “No”), the
ステップS204で、作成部202は、ステップS200およびステップS201で取得したコンポーネントIDおよびバージョン情報に基づき、オンプレミス用互換コンポーネントチェックテーブルを参照する。オンプレミス用互換コンポーネントチェックテーブルは、上述した互換コンポーネントチェックテーブルと同様の構成を有するテーブルであって、オンプレミスのサーバ20において保存される。
In step S204, the
例えば、オンプレミスのワークフローサービスにおいて、オンプレミスで特注のコンポーネントなどがある場合、この特注コンポーネントに対応する、クラウドネットワーク上のワークフローの組み合わせを、このオンプレミス用互換コンポーネントチェックテーブルに登録しておく。特注コンポーネントは、例えばMFP10に機能を追加するための特注のプラグインを適用することができる。これにより、この特注プラグインの処理も、オンプレミスで実行できる可能性がある。 For example, in the on-premises workflow service, when there is a custom-made component on-premises, a combination of workflows on the cloud network corresponding to the custom-made component is registered in the on-premises compatible component check table. For the custom component, for example, a custom plug-in for adding a function to the MFP 10 can be applied. As a result, this custom plug-in process may also be executed on-premises.
ステップS204で、オンプレミス用互換コンポーネントチェックテーブルの参照が完了すると、作成部202は、処理を、上述したステップS205に移行させる。
When the reference to the on-premises compatible component check table is completed in step S204, the creating
図6は、実施形態に係る、サーバ20において実行部204がワークフローを実行する処理を示す一例のフローチャートである。ここで実行されるワークフローは、上述した図4のフローチャートにおいて対象ワークフローとして作成されたワークフローであって、対応する置換ワークフローも作成、保存されているものとする。
FIG. 6 is a flowchart illustrating an example of processing executed by the
ステップS300で、実行部204は、オンプレミス用のワークフローである対象ワークフローに基づく処理(例えば置換ワークフローによる処理)を、クラウドネットワーク上のサーバ30において実行可能であるか否かを判定する。実行部204は、対象ワークフローのワークフロー定義に禁止フラグが含まれている場合に、対象ワークフローに基づく処理のサーバ30における実行が不可であると判定し(ステップS300、「No」)、処理をステップS307に移行させる。
In step S300, the
実行部204は、ステップS307で、オンプレミス用のワークフローすなわち対象ワークフローを実行させて、図6のフローチャートによる一連の処理を終了させる。
In step S307, the
一方、実行部204は、対象ワークフローに基づく処理がサーバ30において実行可能であると判定した場合(ステップS300、「Yes」)、処理をステップS301に移行させる。ステップS301で、実行部204は、取得部201に対して、サーバ20のワークフロー実行に関する負荷を取得するよう依頼する。次のステップS302で、取得部201は、この依頼に応じて、負荷の比較対象がクラウドネットワーク上のサーバ30であるか否かを判定する。取得部201は、負荷の比較対象がサーバ30ではないと判定すると(ステップS302、「No」)、処理をステップS304に移行させる。
On the other hand, when the
一方、取得部201は、比較対象がサーバ30であると判定した場合(ステップS302、「Yes」)、処理をステップS303に移行させ、サーバ30のワークフロー実行に関する負荷を取得する。取得部201は、サーバ30のワークフロー実行に関する負荷を取得すると、処理をステップS304に移行させる。
On the other hand, if the
なお、ステップS302の処理において、負荷の比較対象がクラウドネットワーク上のサーバ30であるか否かは、予め決められているものとする。
In the process of step S302, it is assumed that whether the load comparison target is the
ステップS304で、取得部201は、取得したサーバ20、あるいは、サーバ20および30の、ワークフロー実行に関する負荷を比較する。次のステップS305で、取得部201は、ステップS304での取得部201による負荷の比較結果に応じて、ワークフローをクラウドネットワーク上のサーバ30で実行させるか否かを判定する。
In step S304, the
取得部201は、ワークフローをサーバ30で実行させると判定した場合(ステップS305、「Yes」)、処理をステップS306に移行させる。ステップS306で、実行部204は、クラウド用ワークフローすなわち置換ワークフローを実行する。一方、取得部201は、ワークフローをサーバ30で実行させないと判定した場合(ステップS305、「No」)、処理をステップS307に移行させる。ステップS307で、実行部204は、オンプレミス用ワークフローすなわち対象ワークフローを実行する。
If the
ステップS304の比較処理、および、ステップS305の判定処理について、より具体的に説明する。取得部201は、ステップS302で負荷の比較対象がサーバ30ではないと判定され、処理がステップS302から直接的にステップS304に移行した場合、サーバ20におけるワークフロー実行に関する負荷を閾値と比較する。例えば、取得部201は、サーバ20において、ワークフローの実行に関して処理待ちのジョブが閾値以上(例えば100個以上)ある場合に、ステップS305で、クラウド用ワークフローを実行すると判定し、処理をステップS306に移行させる。
The comparison process in step S304 and the determination process in step S305 will be described more specifically. When the
また、取得部201は、ステップS302で負荷の比較対象がサーバ30であるとしてステップS303でサーバ30の負荷を取得した場合、ステップS304において、ステップS301で取得したサーバ20の負荷と、ステップS303で取得したサーバ30の負荷と、を比較する。取得部201は、ステップS304の比較の結果、ステップS305で、サーバ20とサーバ30とのうち、負荷の小さい方のサーバで、当該サーバに対応するワークフローを実行させる。
Further, if the load comparison target is the
すなわち、取得部201は、ステップS304で、サーバ20よりもサーバ30の方が負荷が小さいことを示す比較結果を得た場合、ステップS305で、クラウド用ワークフローを実行すると判定し、処理をステップS306に移行させる。一方、取得部201は、ステップS304で、サーバ30よりもサーバ20の方が負荷が小さいことを示す比較結果を得た場合、ステップS305で、オンプレミス用ワークフローを実行すると判定し、処理をステップS307に移行させる。
That is, if the
このように、実施形態に係る情報処理システム1では、ワークフロー定義の作成時に、コンポーネントとしてオンプレミス用のコンポーネントのみを用いた対象ワークフローと、コンポーネントの一部をクラウド用のワークフローで置換した置換ワークフローとを作成する。その上で、情報処理システム1は、オンプレミス用のサーバ20におけるワークフロー実行に関する負荷、あるいは、サーバ20およびクラウド用のサーバ30それぞれにおけるワークフロー実行に関する負荷に基づき、対象ワークフローを実行するか、置換ワークフローを実行するかを選択する。そのため、実施形態に係る情報処理システム1では、ワークフローの実行に複数のサービス(例えば、オンプレミス用のサーバ20、および、クラウド用のサーバ30)を利用可能な場合に、ワークフローによる処理を効率的に実行可能となる。
As described above, in the information processing system 1 according to the embodiment, when creating a workflow definition, a target workflow using only an on-premises component as a component and a replacement workflow in which a part of the component is replaced with a cloud workflow. create. Then, the information processing system 1 executes the target workflow based on the load related to the workflow execution in the on-
なお、上述の各実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。 Each of the above-described embodiments is a preferred embodiment of the present invention, but is not limited thereto, and various modifications can be made without departing from the gist of the present invention.
1 情報処理システム
2 ネットワーク
3 インターネット
10 MFP
20,30 サーバ
40 PC
200,300 通信部
201 取得部
202 作成部
203,301 管理部
204,302 実行部
210,310 WF定義保存部
220,320 コンポーネント保存部
1 Information processing system 2 Network 3 Internet 10 MFP
20, 30
200, 300
Claims (8)
全ての処理が前記第1の実行部で実行される第1のワークフローと、
前記第1のワークフローが外部の第2の実行部で実行される外部ワークフローと互換可能な処理を含む場合に、該外部ワークフローを含み、該第1のワークフローと処理内容が対応する第2のワークフローと、
を作成する作成部と、
前記第1の実行部の負荷および前記第2の実行部の負荷のうち少なくとも前記第1の実行部の負荷を取得する取得部と、
前記実行部によるワークフローの実行を制御する制御部と、
を備え、
前記制御部は、
前記取得部により取得された前記第1の実行部の前記負荷を用いて、前記第1のワークフローおよび前記第2のワークフローのうち何れを実行するかを選択する
情報処理装置。 A first execution unit that executes a workflow indicating a processing procedure of one or more processes;
A first workflow in which all processing is executed by the first execution unit;
When the first workflow includes a process compatible with an external workflow executed by an external second execution unit, the second workflow includes the external workflow and corresponds to the processing content of the first workflow When,
A creation section for creating
An acquisition unit that acquires at least the load of the first execution unit among the load of the first execution unit and the load of the second execution unit;
A control unit that controls execution of the workflow by the execution unit;
With
The controller is
An information processing apparatus that selects which of the first workflow and the second workflow to execute using the load of the first execution unit acquired by the acquisition unit.
前記第1の実行部の前記負荷が閾値以上の場合に、前記第2のワークフローを選択する
請求項1に記載の情報処理装置。 The controller is
The information processing apparatus according to claim 1, wherein the second workflow is selected when the load of the first execution unit is equal to or greater than a threshold value.
前記第2の実行部の負荷が前記第1の実行部の負荷よりも小さい場合に、前記第2のワークフローを選択する
請求項1に記載の情報処理装置。 The controller is
The information processing apparatus according to claim 1, wherein the second workflow is selected when a load on the second execution unit is smaller than a load on the first execution unit.
前記第1のワークフローに含まれる1の前記処理に、1以上の前記外部ワークフローを対応付ける
請求項1乃至請求項3の何れか1項に記載の情報処理装置。 The creating unit
4. The information processing apparatus according to claim 1, wherein one or more external workflows are associated with one of the processes included in the first workflow. 5.
前記第1のワークフローに含まれる1以上の前記処理に、1の前記外部ワークフローを対応付ける
請求項1乃至請求項4の何れか1項に記載の情報処理装置。 The creating unit
The information processing apparatus according to any one of claims 1 to 4, wherein one external workflow is associated with one or more processes included in the first workflow.
前記第1のワークフローが含む前記処理の設定値と、該処理と互換可能な前記外部ワークフローの設定値との対応付けを行う
請求項1乃至請求項5の何れか1項に記載の情報処理装置。 The creating unit
The information processing apparatus according to claim 1, wherein the processing setting value included in the first workflow is associated with the setting value of the external workflow compatible with the processing. .
1以上の処理を含み、全ての該処理が前記実行ステップにより実行される第1のワークフローと、
前記第1のワークフローが外部の実行部で実行される外部ワークフローと互換可能な処理を含む場合に、該外部ワークフローを含み、該第1のワークフローと処理内容が対応する第2のワークフローと、
を作成する作成ステップと、
前記第1の実行ステップによる負荷および前記外部の実行部の負荷のうち、少なくとも前記第1の実行ステップによる負荷を取得する取得ステップと、
前記実行ステップによるワークフローの実行を制御する制御ステップと、
をコンピュータに実行させるための情報処理プログラムであって、
前記制御ステップは、
前記取得ステップにより取得された前記第1の実行ステップの前記負荷を用いて、前記第1のワークフローおよび前記第2のワークフローのうち何れを実行するかを選択する
情報処理プログラム。 An execution step for executing a workflow indicating a processing procedure of one or more processes;
A first workflow including one or more processes, wherein all the processes are executed by the execution step;
When the first workflow includes a process compatible with an external workflow executed by an external execution unit, the second workflow including the external workflow and corresponding to the processing content of the first workflow;
A creation step to create a
An acquisition step of acquiring at least a load due to the first execution step among the load due to the first execution step and the load of the external execution unit;
A control step for controlling execution of the workflow by the execution step;
An information processing program for causing a computer to execute
The control step includes
An information processing program that selects which of the first workflow and the second workflow to execute using the load of the first execution step acquired in the acquisition step.
前記第1の情報処理装置は、
1以上の処理の処理手順を示すワークフローを実行する第1の実行部を備え、
前記第2の情報処理装置は、
前記ワークフローを実行する第2の実行部と、
全ての処理が前記第2の実行部で実行される第1のワークフローと、
前記第1のワークフローが前記第1の実行部で実行される外部ワークフローと互換可能な処理を含む場合に、該外部ワークフローを含み、該第1のワークフローと処理内容が対応する第2のワークフローと、
を作成する作成部と、
前記第1の実行部の負荷および前記第2の実行部の負荷のうち少なくとも前記第1の実行部の負荷を取得する取得部と、
前記実行部によるワークフローの実行を制御する制御部と、
を備え、
前記制御部は、
前記取得部により取得された前記第1の実行部の前記負荷を用いて、前記第1のワークフローおよび前記第2のワークフローのうち何れを実行するかを選択する
情報処理システム。 An information processing system including a first information processing device and a second information processing device,
The first information processing apparatus includes:
A first execution unit that executes a workflow indicating a processing procedure of one or more processes;
The second information processing apparatus
A second execution unit for executing the workflow;
A first workflow in which all processes are executed by the second execution unit;
When the first workflow includes a process compatible with the external workflow executed by the first execution unit, the second workflow includes the external workflow, and the first workflow corresponds to the processing content. ,
A creation section for creating
An acquisition unit that acquires at least the load of the first execution unit among the load of the first execution unit and the load of the second execution unit;
A control unit that controls execution of the workflow by the execution unit;
With
The controller is
An information processing system that selects which of the first workflow and the second workflow to execute using the load of the first execution unit acquired by the acquisition unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017054981A JP2018156596A (en) | 2017-03-21 | 2017-03-21 | Information processing device, information processing program and information processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017054981A JP2018156596A (en) | 2017-03-21 | 2017-03-21 | Information processing device, information processing program and information processing system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018156596A true JP2018156596A (en) | 2018-10-04 |
Family
ID=63716766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017054981A Pending JP2018156596A (en) | 2017-03-21 | 2017-03-21 | Information processing device, information processing program and information processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018156596A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021180346A (en) * | 2020-05-11 | 2021-11-18 | コニカミノルタ株式会社 | Information processing device and control method |
-
2017
- 2017-03-21 JP JP2017054981A patent/JP2018156596A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021180346A (en) * | 2020-05-11 | 2021-11-18 | コニカミノルタ株式会社 | Information processing device and control method |
JP7494553B2 (en) | 2020-05-11 | 2024-06-04 | コニカミノルタ株式会社 | Information processing device and control method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8848213B2 (en) | Object-based network scanning | |
US9383950B2 (en) | Information processing system, information processing apparatus, and process execution method | |
JP5906594B2 (en) | Cooperation system, image processing apparatus, cooperation control method, cooperation control program, and recording medium | |
JP6248493B2 (en) | Data processing apparatus, data processing method, and data processing program | |
US20140055809A1 (en) | Apparatus and system for controlling output of data | |
US9692927B2 (en) | Device, information processing system, and information processing method | |
EP3557403B1 (en) | Image forming system and image forming method | |
US20180375929A1 (en) | Cooperation system | |
JP6303505B2 (en) | Information processing system, information processing method, device, and program | |
JP2010219625A (en) | Data distribution system, image processing apparatus, image forming apparatus, data distribution method, distribution management program and recording medium | |
US9524453B2 (en) | Image forming device, method of switching modes, and computer-readable recording medium | |
JP4474440B2 (en) | Provision of services using multifunction peripherals (MFPs) | |
JP5371611B2 (en) | Data processing system, server, server control method, and program | |
JP5104122B2 (en) | Image forming apparatus and program | |
JP2018156596A (en) | Information processing device, information processing program and information processing system | |
US9922296B2 (en) | Distribution apparatus, distribution method, and recording medium | |
US20160006891A1 (en) | Image reading apparatus, image reading method, image processing system, and storage medium | |
JP5083124B2 (en) | Control device, workflow control program, and workflow control method | |
JP5504691B2 (en) | Information processing apparatus, program, recording medium, and method | |
JP2010204960A (en) | Data distribution system, image processing device, image forming device, data distribution method, distribution managing program, and recording medium | |
JP2016100634A (en) | Image processing apparatus and control method therefor, information processing device and control method therefor, and program | |
US11200088B2 (en) | Information processing system, information processing method, and information processing apparatus | |
CN115705170A (en) | Information processing apparatus, information processing method, and computer readable medium | |
JP2006154894A (en) | Mail transmitting device | |
JP2016058827A (en) | Information processing system, information processor, information processing method, and information processing program |