JP6447054B2 - 情報処理方法、及び情報処理プログラム - Google Patents

情報処理方法、及び情報処理プログラム Download PDF

Info

Publication number
JP6447054B2
JP6447054B2 JP2014240185A JP2014240185A JP6447054B2 JP 6447054 B2 JP6447054 B2 JP 6447054B2 JP 2014240185 A JP2014240185 A JP 2014240185A JP 2014240185 A JP2014240185 A JP 2014240185A JP 6447054 B2 JP6447054 B2 JP 6447054B2
Authority
JP
Japan
Prior art keywords
information
workflow
service
probability
availability
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
JP2014240185A
Other languages
English (en)
Other versions
JP2016103093A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014240185A priority Critical patent/JP6447054B2/ja
Priority to US14/886,956 priority patent/US10229362B2/en
Publication of JP2016103093A publication Critical patent/JP2016103093A/ja
Application granted granted Critical
Publication of JP6447054B2 publication Critical patent/JP6447054B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/04Billing or invoicing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Software Systems (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Automation & Control Theory (AREA)
  • Fuzzy Systems (AREA)
  • Computational Linguistics (AREA)

Description

本発明は、情報処理方法、及び情報処理プログラムに関する。
近年クラウドサービスにより、E-mail(Electronic Mail)やスプレッドシートなど様々なサービスが提供されている。このような様々なクラウドサービスをワークフローエンジンで組み合わせることにより、クラウドサービスを用いたビジネスプロセスを短期間で安価に組み立てることが可能になる。
ワークフローエンジンは、ワークフローに従って担当者やシステムに対して作業を割り当て、タスクを順次実行するソフトウェアである。
ワークフローは、業務の一連の処理手続きを定義した情報である。この一連の処理手続きには、各処理の内容と、一連の処理の実行順や流れを示す情報とが含まれる。
ワークフローに定義される処理の内容には、Software as a Service(SaaS)等のクラウドサービスを利用して行うものが含まれる。このようなクラウドサービスにより提供されるサービスには、E-mailやスプレッドシートなど様々なサービスがある。
一方、例えばE-mailやスプレッドシート等は、それぞれ同様の機能を提供するクラウドサービスが、例えば複数のベンダにより提供されている。よってワークフローの設計において、例えば、クラウドサービスを利用して行う処理については、利用可能な複数の同種のクラウドサービスのうちから、1つが選定されることとなる。ビジネスプロセスを適切に設計するためのクラウドサービスの選定の指標としては、選定対象のクラウドサービスのコストと可用性が考えられる。
クラウドサービスの選定時には、コストと可用性の見積もりが重要となる。仮に設計時にコストや可用性の見積もりを行わずにクラウドサービスの選定を行った場合、そのワークフローが実行された後でコスト超過や低可用性などの問題が顕在化する可能性がある。この場合、ワークフローの再設計や修正が発生するため、コストと時間の無駄が発生する。
ワークフローでは、可用性向上のために類似の機能を持つ複数のクラウドサービスを併用する場合もある。この場合、クラウドサービスを併用することにより、どれだけ可用性が向上し、追加コストが発生するのかを見積もることも重要となる。
国際公開第2013/031129号 国際公開第2011/018827号
Luke Herbert and Robin Sharp, "Using stochastic model checking to provision complex business services," In Proceedings of 14th International IEEE Symposium on High-Assurance Systems Engineering (HASE'12), pp. 98-105, IEEE, 2012. Luke Herbert and Robin Sharp, "Precise Quantitative Analysis of Probabilistic Business Process Model and Notation Workflows," Journal of Computing and Information Science in Engineering, Vol.13, 2013.
しかしながら、設計時におけるワークフローのコストと可用性の事前の見積もりは難しい。これは、ワークフローの構造は条件分岐や処理フローの合流など、複雑な構造を持つため、その構造図を見ただけでは各クラウドサービスが何回呼び出されるかを特定するのが困難だからである。
そこで、1つの側面では、本発明は、新たなワークフローの作成に際しての検討材料を提供するための技術を提供することを目的とする。
一態様による情報処理方法は、条件分岐と手続を含むワークフローを受信した場合、受信したワークフローに含まれる条件分岐に対して定義された分類情報毎に算出された、実行済みの条件分岐において条件が満たされた確率を示す分岐確率情報を格納する記憶部から、受信したワークフローに含まれる条件分岐の分類に対応する分岐確率情報を取得し、ワークフローに含まれる手続きにて提供されるサービスに対してかかるコストを示すコスト情報と、サービスの可用性を示す可用性情報を格納する記憶部から、受信したワークフローに含まれる手続きに対応するコスト情報及び可用性情報を取得し、取得した分岐確率情報に基づいて、受信したワークフローに含まれる手続きの実行確率を算出し、受信したワークフローに含まれる手続きの代替手続きを記述した代替情報を取得し、取得した分岐確率情報、可用性情報、及び代替情報を用いて、代替手続きの実行確率を算出し、算出した手続きの実行確率、算出した代替手続きの実行確率、取得したコスト情報、及び取得した可用性情報を用いて、受信したワークフローが正常終了または異常終了する確率と、受信したワークフローの実行によりかかるコストとを算出する。
一側面によれば、新たなワークフローの作成に際しての検討材料を提供するための技術を提供することができる。
ワークフローの一例を示す。 ワークフローにおけるサービスの代替処理の説明図である。 実施形態に係るワークフローの可用性とコストの算出の流れを示す。 実施形態に係る情報処理装置の機能を図解したブロック図である。 実施形態に係る情報処理装置の構成の一例を示す。 実施形態に係る算出処理の全体の流れの説明図である。 推定部の構成の一例を示す。 分類情報の一例を示す。 代替サービス情報の一例を示す。 傾向情報の一例を示す。 可用性情報の一例を示す。 コスト情報の一例を示す。 実施形態に係るワークフローの一例を示す。 確率モデルの一例を示す。 利用確率モデルの一例を示す。 確率モデル検査ツールを用いた平均コストと平均可用性の算出の一例を示す。 実施形態に係る収集部の情報格納処理の詳細を図解したフローチャートの一例である。 実施形態に係る情報処理装置の平均コストと平均可用性の算出処理の詳細を図解したフローチャートの一例である。 実施形態に係る情報処理装置のハードウェア構成の一例を示す。
先ず、実施形態に係るワークフローについて説明する。図1は、ワークフローの一例を示す。図1に示すワークフローは休暇申請に関する処理手続きを定義したものである。
図1のワークフローにおいて、複数のノード(N1〜N8)がリンク(有向線)で結合されている。ノードは、ワークフローにおいて実行される処理の単位である。また、ノード間を結合するリンクによりノードの実行順序が示される。各ノードは、それぞれ処理対象者を示す情報に対応付けられてもよい。処理対象者は、対応するノードの処理の実行や確認などを行うユーザであり、図1においては、「従業員」、「管理職」として示されている。
処理対象者は、例えばウェブインターフェースを介して、対応するノードの処理で用いられる情報を入力し、また、対応するノードの処理で出力された情報を参照する。尚、処理対象者は、対応する各ノードにおいて何も行わなくてもよい場合もある。
各ノードで実行される処理では、他のシステムによって提供されるサービスが利用されてもよい。他のシステムによって提供されるサービスには、例えばクラウドサービス等がある。このような他のシステムによって提供されるサービス(以下、クラウドサービスとして説明する)を呼び出して利用するノードを、以下の説明では呼び出しノードと記す。具体的には、図1のN5、N6、N7が呼び出しノードに該当する。N5、N6では、SaaSクラウドAのサービスの呼び出しが行われ、N7では、SaaSクラウドBのサービスの呼び出しが行われている。尚、ワークフローのノードの処理を実行する情報処理装置と他のシステムとは通信ネットワークなどを介して接続される。
ワークフローに含まれるノードの中には、処理対象者からの入力を受け付け、入力された情報に基づいて、以降に実行する一連の処理を決定するノードがある。このようなノードを、以下の説明では判断ノードと記す。判断ノードでは、予め分岐の判定で用いる条件(以下、分岐条件と記す)が定義される。そして判断ノードの実行においては、判断ノードの処理対象者から分岐条件に対応する情報(以下、判定入力情報と記す)の入力が受け付けられ、判定入力情報が分岐条件を満たすか否かに応じて、その後に実行する一連の処理が決定される。具体的には、図1のノードN4が判断ノードに該当する。N4では、管理職から判定入力情報の入力が受け付けられ、入力された判定入力情報が分岐条件を満たすか否かに応じて、N5とN6のうちのいずれかのノードに処理が分岐して遷移する。
図1のワークフローにおいて、N1は処理の開始を示すノードである。N2は、従業員が休暇申請を作成する処理を示すノードである。N3は、管理職が休暇申請を確認する処理を示すノードである。N4は、管理職が休暇申請を承認するか否かを判断する処理を示すノードであって、判断結果に応じて後方のN5とN6のどちらのノードに処理を進めるかを決定するノードである。N5は、休暇申請が却下されたことを示すメールが送信される処理を示すノードである。N6は、休暇申請が承認されたことを示すメールが送信される処理を示すノードである。N5及びN6では、SaaSクラウドAにより提供されるE-mailサービスが呼び出され利用される。N7は、休暇申請が承認されたことを示すデータが記録される処理を示すノードである。N7では、SaaSクラウドBにより提供されるスプレッドシートサービスが呼び出され利用される。N8は処理の終了を示すノードである。
ワークフローは、Business Process Modeling Notation(BPMN)やBusiness Process Execution Language(BPEL)等の形式で表現されてもよい。
ワークフローの各ノードは、そのノードの処理を示す情報と処理対象者の識別情報とを含んでもよい。各リンクは、2つのノードの識別情報とそれらの実行順序を示す情報を含んでもよい。分岐ノードは、各ノードが有する情報に加えて、分岐条件を示す情報を含んでもよい。呼び出しノードは、各ノードが有する情報に加えて、そのノードで呼び出すサービスの識別情報を含んでもよい。
ワークフローの各ノードで定義された一連の処理手続きは、ワークフローエンジンによって、ノード間のリンク、及び判断ノードにおける決定の結果に応じた順序で実行される。
ノードで利用されるクラウドサービスにおいては、そのサービスが利用された回数または利用されたデータ量などに応じて料金の支払が発生する。また、クラウドサービスでは、サービスの利用が不能となる場合があり、クラウドサービスの可用性は100%ではない場合がある。ただしクラウドサービスの可用性は、利用者側で向上させることはできない。
ワークフローにおいてクラウドサービスを利用する場合、ワークフロー全体の可用性はクラウドサービスの可用性の影響を受ける。クラウドサービスの可用性は利用者側で向上させることはできないが、クラウドサービスの利用が不可能となることに備えて、代替サービスを利用できるようにワークフローを定義することで、ワークフロー自体の可用性を向上させることができる。
図2は、ワークフローにおけるサービスの代替処理の説明図である。図2(A)には、E-mailを送信する処理を示すノードN11が示されている。N11では、E-mailのサービスを提供するE-mailサービスE1が利用されている。図2(B)では、E-mailサービスE1が利用不能である場合に、E-mailサービスE2を利用して、E-mailの送信処理が行われることが示されている。すなわち、図2(B)のN10のノードにおいて、E-mailサービスE1が利用可能であるか否かの判定が行われ、利用可能であると判定された場合にノードN11が実行され、利用不能であると判定された場合にノードN12が実行される。ノードN12では、E-mailサービスを提供するE-mailサービスE2が利用される。このように、サービスの代替処理をワークフローで定義することにより、ワークフロー全体の可用性を向上させることができる。
次に、実施形態におけるワークフロー全体の可用性とコストの算出について説明する。実施形態においては、過去に実行されたワークフローにおいて処理対象者が示した判断傾向を示す情報に基づいて、見積もり対象のワークフローの判断ノードにおける分岐確率の予測が行われる。この予測結果と、クラウドサービスの可用性及びコストを示す情報を用いて、見積もり対象のワークフロー全体の可用性とコストが算出される。
図3は、実施形態に係るワークフローの可用性とコストの算出の流れを示す。図3においては、先ず、過去に実行されたワークフローの実行ログに基づいて、判断ノードにおける分岐の条件となる事項の処理対象者の判断傾向が算出される。判断傾向は、例えば、承認処理を行う管理職の判断(承認/却下)の傾向である。次に、算出された判断傾向に基づいて、見積もり対象のワークフロー定義に含まれる判断ノードにおいて分岐が行われる確率が推定される。分岐が行われる確率は、判断ノード以降の分岐された各ノードが実行される確率であるともいえる。
推定された確率、及び、サービスのコストを示すコスト情報から、ワークフローが実行された際に平均してかかるコストの推定値(以下、平均コストと記す)が算出される。平均コストは、ワークフローに含まれる各ノードで発生するコストとそのノードに処理が遷移する確率の積の総和である。ノードで発生するコストは、例えば、サービスが利用可能か否かに関わらず、サービスにアクセスした時点で発生するものとしてもよいし、サービスが正常に利用された後に発生するものとしてもよい。
また、推定された確率、及び、サービスの可用性を示す可用性情報から、ワークフロー全体の可用性の推定値(以下、平均可用性と記す)が算出される。平均可用性は、ワークフローにおいて、最終的に処理が正常に完了する状態への遷移確率の総和である。ただし、ワークフローが正常に完了する状態へ遷移しないことの要因は、ワークフローで呼び出されるサービスが利用不能であることによるものであるとする。
次に、実施形態に係る情報処理装置の機能について説明する。図4は、実施形態に係る情報処理装置の機能を図解したブロック図である。図4において情報処理装置1は、記憶部2、取得部3、及び算出部4を含む。
記憶部2は、受信したワークフローに含まれる条件分岐に対して定義された分類情報毎に算出された、実行済みの条件分岐(判断ノード)において条件(分岐条件)が満たされた確率を示す分岐確率情報5を格納する。また、記憶部2は、ワークフローに含まれる手続きにて提供されるサービスに対してかかるコストを示すコスト情報6と、サービスの可用性を示す可用性情報7を格納する。
取得部3は、条件分岐と手続を含むワークフローを受信した場合、記憶部2から、受信したワークフローに含まれる条件分岐の分類に対応する分岐確率情報5を取得する。また、取得部3は、受信したワークフローに含まれる手続きに対応するコスト情報6及び可用性情報7を取得する。
算出部4は、取得部3により取得された分岐確率情報5に基づいて、受信したワークフローに含まれる手続きの実行確率を算出する。そして算出部4は、算出した手続きの実行確率、取得部3により取得されたコスト情報6及び可用性情報7を用いて、受信したワークフローが正常終了または異常終了する確率と、受信したワークフローの実行によりかかるコストとを算出する。
また、取得部3は、受信したワークフローに含まれる手続きの代替手続きを記述した代替情報を取得する。
また、算出部4は、分岐確率情報5、可用性情報7、及び代替情報を用いて、代替手続きの実行確率を算出する。そして算出部4は、手続きの実行確率、代替手続きの実行確率、コスト情報6、及び可用性情報7を用いて、受信したワークフローが正常終了する確率または異常終了する確率と、受信したワークフローの実行によりかかるコストとを算出する。
また、分類情報は、条件分岐の条件を満たすか否かの判定のために用いられる情報を入力するユーザの識別情報に対応した分類情報である。
実施形態の情報処理装置1は、他のワークフローの利用状況を利用して新たなワークフローの実行先を検討するための情報を取得できる。すなわち、未実行のワークフロー全体のコストと可用性の推定値を算出することができる。
1つのワークフロー内で複数のクラウドサービスを呼び出している場合、それらのサービスの間の呼び出し順序を正しく認識しておかなければ、それぞれのサービスがそのワークフロー全体の可用性に与える影響を正しく把握することができない。例えば、ワークフローにおいてサービスA(可用性80%)とサービスB(可用性95%)が直列に呼び出されている場合、サービスBをサービスC(可用性99%)に置き換えたとしても、ワークフロー全体の可用性を80%以上に上げることはできない。これに対して実施形態の情報処理装置1は、ワークフローにおけるノードへの遷移確率と、ノードから呼び出されるサービスの可用性とに基づいて、ワークフロー全体の可用性を算出する。よって、ワークフロー全体の可用性の算出の精度を向上させることができる。
また、実施形態においては、条件分岐に定義された分類毎に条件分岐において過去に入力された情報の傾向を取得して、ワークフロー全体の可用性とコストの推定値を算出している。これにより、未実行のワークフロー全体のコストと可用性の推定値の算出精度を向上させることができる。
また、実施形態の情報処理装置1は、コストと可用性の推定値をまとめて算出する。ワークフロー全体の可用性を上げるには高いコストをかければ可能であるが、コストを抑えれば可用性も低くなる傾向にある。ワークフローの設計においては、コストと可用性の両方を考慮して行うことが重要となる。実施形態では、コストと可用性の推定値をまとめて提示できるので、新たなワークフローの実行先を検討するための、より有用な情報を提供することができる。
また、実施形態においては、ワークフローにおいて使用するサービスや代替サービスを様々な組合せで定義することで、使用するサービスを変更した際や、他のサービスをバックアップとして試用する際のコストや可用性の変化を算出することができる。
また、実施形態においては、条件分岐の分類として、ユーザの識別情報を用いることができる。このような分類毎に算出された分岐確率情報を用いて、可用性とコストの推定値を算出することにより、算出の精度を向上させることができる。
図5は、実施形態に係る情報処理装置の構成の一例を示す。図5において、情報処理装置30は、実行部31、収集部32、記憶部33、及び推定部34を含む。
情報処理装置30は、図4の情報処理装置1の一例である。記憶部33は、図4の記憶部2の一例である。推定部34は、図4の取得部3及び算出部4の一例である。
実行部31は、ワークフロー51(51a)を取得し、取得したワークフロー51aの処理を順次実行する。実行部31は、具体的には例えば、ワークフローエンジンである。尚、実行部31は、情報処理装置30と通信ネットワークなどを介して接続される他の情報処理装置に含まれる構成としてもよいし、複数の他の情報処理装置により実現されてもよい。
ワークフロー51には分類情報61と代替サービス情報62が含まれる。
分類情報61は、ワークフロー51に含まれる判断ノードの分類を示す情報である。具体的には例えば分類情報61は、ワークフロー51のカテゴリもしくは判断ノードの処理対象者の識別情報、またはこれらの組合せ等で示される。
代替サービス情報62は、ノードにおいて呼び出されるサービスが利用不能であった場合に、代替サービスとして呼び出されるサービスを示す情報である。具体的には例えば代替サービス情報62は、サービスの識別情報と、そのサービスが利用不能である場合に次に呼び出される代替サービスの識別情報とを含む。代替サービス情報62は代替情報の一例である。
尚、分類情報61及び代替サービス情報62はワークフロー51とは別の独立した情報としてもよい。
収集部32は、実行部31により実行されたワークフロー51のログを採取する。そして収集部32は、採取したログに基づいて、判断ノードの分類毎に、判断ノードで入力された判定入力情報の割合を算出して、傾向情報41として記憶部33に格納する。
記憶部33は、傾向情報41、可用性情報42、及びコスト情報43を記憶する。傾向情報41は、図4の分岐確率情報5の一例である。可用性情報42は、図4の可用性情報7の一例である。コスト情報43は、図4のコスト情報6の一例である。
傾向情報41は、過去に実行されたワークフロー51の判断ノードにおいて、処理対象者が入力した判定入力情報の傾向を示す情報である。具体的には傾向情報41は、判断ノードの分類毎の、判断ノードで入力された判定入力情報の割合である。傾向情報41は、収集部32により取得され、記憶部33に格納または更新される。傾向情報41の詳細及び判断ノードの分類については、後ほど図10を参照して説明する。
可用性情報42は、ワークフロー51で利用される各サービスの可用性を示す情報である。可用性情報42は、収集部32により取得され、記憶部33に格納または更新される。可用性情報42の詳細は後ほど図11を参照して説明する。
コスト情報43は、ワークフロー51で利用される各サービスのコストを示す情報である。コスト情報43は、収集部32により取得され、記憶部33に格納または更新される。コスト情報43の詳細は後ほど図12を参照して説明する。
推定部34は、見積もり対象のワークフロー51(51b)を取得し、傾向情報41、可用性情報42、コスト情報43に基づいて、平均可用性情報52及び平均コスト情報53を算出して出力する。推定部34の処理の詳細については、後ほど図7を参照して説明する。
次に、実施形態に係る情報処理システムの構成の一例を説明する。図6は、実施形態に係る算出処理の全体の流れの説明図である。
図6において、作成者はワークフロー51を作成する。作成されたワークフロー51は実行部31に入力される。
実行部31は、作成者により作成されたワークフロー51を取得し、取得したワークフロー51に従って、ワークフロー51に定義されたノードの処理を順次実行する。実行部31は、ノードの処理において処理対象者から入力を受け付けることもある。特に判断ノードの実行においては、実行部31は、判断ノードの処理対象者から判定入力情報を取得する。処理対象者からの判定入力情報の取得形式は種々のものでもよく、例えば実行部31は、処理対象者に対して判定入力情報の選択肢を提示し、処理対象者により選択肢の中から選択された情報を取得する形式としてもよい。また実行部31は、ノードの処理においてクラウドサービスを利用することもある。
収集部32は、実行部31により実行されたワークフロー51の実行ログを採取して記録する。また収集部32は、判断ノードが実行された場合に、その判断ノードで入力された判定入力情報を取得する。次に収集部32は、ワークフロー51に含まれる分類情報61または所定の規則に基づいて判断ノードを分類する。そして収集部32は、判断ノードの分類に基づいて、判断ノードで入力された判定入力情報に関する情報を傾向情報として記憶部33に格納する。
判断ノードの分類の基準は、例えば、判断ノードが含まれるワークフロー51の分類や、判断ノードの処理対象者の分類に応じたものであってもよい。ワークフロー51の分類は、例えば、ワークフロー51の目的に応じたものであってもよい。処理対象者の分類は、例えば、処理対象者の役職に応じたものであってもよい。
クラウドサービスを提供するクラウドプロバイダは、各クラウドサービスの利用料(コスト情報43)を利用者に対して公開する。クラウドサービスの利用料の課金形式は、1回利用される毎に課金される形式や、所定の時間または容量を利用するたびに課金される形式など様々なものがある。情報処理装置30は、クラウドサービスプロバイダからコスト情報43を取得して、記憶部33に格納してもよい。
クラウドモニタリングサービスは、クラウドプロバイダから提供されるクラウドサービスの稼働状況を監視して、クラウドサービスの可用性を示す可用性情報42を記録し、その情報をクラウドサービスの利用者に提供する。クラウドモニタリングサービスは、クラウドプロバイダとは独立した第3者的な立場のサービスであってもよい。またクラウドモニタリングサービスの機能は、情報処理装置30のCPUにより提供されてもよい。情報処理装置30は、クラウドモニタリングサービスから可用性情報42を取得して、記憶部33に格納してもよい。
推定部34は、ワークフロー51、傾向情報41、可用性情報42、及びコスト情報43を用いて、ワークフロー51の平均可用性と平均コストの推定値を算出して出力する。
次に、推定部34の詳細について説明する。図7は、推定部34の構成の一例を示す。
図7において推定部34は、ワークフロー51、傾向情報41、代替サービス情報62、可用性情報42、及びコスト情報43を入力として受け付け、ワークフロー51の平均可用性と平均コストの推定値を算出して出力する。推定部34は、確率モデル生成部71、利用確率モデル生成部72、及び算出部73を含む。尚、図7の例においては、ワークフロー51と代替サービス情報62を区別して記すが、代替サービス情報62はワークフロー51に含まれてもよい。
確率モデル生成部71は、ワークフロー51、及び傾向情報41に基づいて、確率モデル81を生成する。確率モデル81は、ワークフロー51に含まれる各判断ノードで分岐条件が満たされる確率の推定値を示す情報が、ワークフロー51に付加された情報である。すなわち、確率モデル81は、ワークフロー51の各ノードを示す情報、各リンクを示す情報、及び、各判断ノードで分岐条件が満たされる確率の推定値を含む。尚、各判断ノードで分岐条件が満たされる確率は、言い換えると、各判断ノードにおいて処理が分岐する確率である。尚、確率モデル81は、確率的Markov Decision Process (MDP)などの状態遷移でモデル化したものを用いてもよい。確率モデル81の具体例は、後ほど図14を参照して説明する。
確率モデル生成部71は、確率モデル81を生成すると、確率モデル81を利用確率モデル生成部72に出力する。
利用確率モデル生成部72は、確率モデル81、代替サービス情報62、可用性情報42、及びコスト情報43に基づいて、利用確率モデル82を生成する。利用確率モデル82は、ワークフロー51に含まれる呼び出しノードにおいて呼び出されるサービスの代替情報、各サービスの可用性を示す情報、及び、各サービスのコストを示す情報が、確率モデル81に付加された情報である。すなわち利用確率モデル82は、各ノードを示す情報、各リンクを示す情報、各判断ノードで分岐条件を満たす確率の推定値、各呼び出しノードで呼び出されるサービスの代替サービスの識別情報を含む。さらに利用確率モデル82は、各呼び出しノードで呼び出されるサービスの可用性情報、及び各呼び出しノードで呼び出されるサービスのコスト情報を含む。尚、利用確率モデル82は、各判断ノードで分岐条件を満たす確率の推定値、及び、各呼び出しノードで呼び出されるサービスの可用性情報を含むことから、利用確率モデル82は、各ノードへの遷移確率を示す情報を含んでいるといえる。利用確率モデル82の具体例については、後ほど図15を参照して説明する。そして利用確率モデル生成部72は、生成した利用確率モデル82を算出部73に出力する。
算出部73は、利用確率モデル82に基づいて、平均可用性と平均コストを算出して出力する。
平均可用性の算出において、算出部73は、利用確率モデル82の開始ノードから正常終了ノードに至る各経路の遷移確率を算出し、算出した各経路の遷移確率の総和を平均可用性として算出する。図7の利用確率モデル82において平均可用性は、利用確率モデル82の開始ノードから最終的に処理が正常に完了するノード(N23)への遷移確率の総和である。
経路1の遷移確率は、「0.7×0.98=0.686」である。経路2の遷移確率は、「0.3×0.99=0.397」である。経路3の遷移確率は、「0.3×0.01×0.995=0.002985」である。よって、平均可用性は、「0.686+0.397+0.002985= 0.985985」である。
平均コストの算出において、算出部73は、利用確率モデル82における各呼び出しノード(N21、N22、N25)で発生するコストとそのコストが発生する確率との積の総和を算出する。
サービスのコストは、サービスが利用可能か否かに関わらずサービスの呼び出しを試みた段階で発生するとして算出する場合と、サービスが利用できた場合にコストが発生するとして算出する場合とが考えられる。
先ず、サービスが利用可能か否かに関わらずサービスの呼び出しを試みた段階でコストが発生するものとした場合について説明する。この場合、呼び出しノードに遷移した段階でコストが発生するため、各サービスのコストが発生する確率は、そのサービスを呼び出す呼び出しノードへの遷移確率と同じになる。従って、算出部73は平均コストの算出において、利用確率モデル82における各呼び出しノード(N21、N22、N25)で発生するコストと、対応する各呼び出しノードへの遷移確率との積の総和を算出する。
図7の利用確率モデル82においては、N21で呼び出されるサービスのコストは「$1」であり、N21への遷移確率は「0.7」である。N22で呼び出されるサービスのコストは「$2」であり、N22への遷移確率は「0.3」である。N25で呼び出されるサービスのコストは「$3」であり、N25への遷移確率は「0.3×0.01」である。よって、平均コストは、「1×0.7+2×0.3+3×0.3×0.01=1.309」、すなわち「$1.309」である。
次に、サービスが利用できた場合にコストが発生するものとした場合について説明する。この場合は、各サービスのコストが発生する確率は、各サービスの呼び出しノードへの遷移確率と各サービスの可用性の積となる。従って、算出部73は平均コストの算出において、利用確率モデル82における各呼び出しノード(N21、N22、N25)で発生するコストと、対応する各呼び出しノードへの遷移確率と、対応する各サービスの可用性の値との積の総和を算出する。
図7の利用確率モデル82においては、N21で呼び出されるサービスのコストと可用性は、それぞれ「$1」、「0.98」であり、N21への遷移確率は「0.7」である。N22で呼び出されるサービスのコストと可用性は、それぞれ「$2」、「0.99」であり、N22への遷移確率は「0.3」である。N25で呼び出されるサービスのコストと可用性は、それぞれ「$3」、「0.995」であり、N25への遷移確率は「0.3×0.01」である。よって、平均コストは、「1×0.7×0.98+2×0.3×0.99+3×0.3×0.01×0.995=1.288955」、すなわち「$1.288955」である。
次に、ワークフロー51に含まれる分類情報61について説明する。分類情報61は、ワークフロー51に含まれる判断ノードの分類を示す情報である。図8は、分類情報61の一例を示す。
図8において、分類情報61は、「対象ワークフロー」、「ワークフローカテゴリ」、「判断ノード」、「承認者」のデータ項目を対応付けた情報である。
「対象ワークフロー」は、見積もり対象のワークフロー51の識別情報である。「ワークフローカテゴリ」は、見積もり対象のワークフロー51が属するグループの識別情報である。「判断ノード」は、見積もり対象のワークフロー51に含まれる判断ノードの識別情報である。「承認者」は、「判断ノード」で示されるノードの処理対象者の識別情報である。尚、「承認者」は、処理対象者が属するグループの識別情報としてもよい。また、実施形態では、判断ノードの分類を示す情報は、「ワークフローカテゴリ」と「承認者」の組合せにより示される情報とする。「ワークフローカテゴリ」と「承認者」の組合せにより示される分類毎に算出された分岐確率情報を用いることにより、可用性とコストの推定値の算出の精度を向上させることができる。
次に、ワークフロー51に含まれる代替サービス情報62について説明する。代替サービス情報62は、呼び出しノードにおいて呼び出されるサービスの識別情報と、そのサービスが利用不能である場合に、代替して呼び出されるサービスの識別情報とを対応付けた情報である。図9は、代替サービス情報62の一例を示す。
図9において、代替サービス情報62は、「サービスID」と「代替サービスID」のデータ項目を対応付けた情報である。
「サービスID」は、呼び出しノードにおいて呼び出されるサービスの識別情報である。「代替サービスID」は、「サービスID」で示されるサービスが利用不能である場合に、代替して呼び出されるサービスの識別情報である。尚、「サービスID」で示されるサービスと「代替サービスID」で示されるサービスとは、同種の機能またはサービスを提供するものであってもよい。
図9の例では、識別情報が「e」のサービスが利用不能である場合に、識別情報が「e」のサービスが呼び出されることを示している。
尚、実施形態では、サービス毎に代替サービスを定義するものとしたが、呼び出しノード毎に代替サービスを定義してもよい。この場合、代替サービス情報62は、呼び出しノードの識別情報と、その呼び出しノードで呼び出されるサービスが利用不能である場合に、代替して呼び出されるサービスの識別情報とを対応付けた情報としてもよい。
次に、傾向情報41について説明する。傾向情報41は、判断ノードの分類を示す情報と、判定入力情報と、対応する判定入力情報が入力された割合とを対応付けて記憶する。図10は、傾向情報41の一例を示す。
図10において、傾向情報41は、「承認者」、「ワークフローカテゴリ」、「判断」、「入力回数」、「総数」、及び「割合」のデータ項目を対応付けて記憶する。「承認者」は、処理対象者の識別情報である。「承認者」は、処理対象者が属するグループの識別情報としてもよい。「ワークフローカテゴリ」は、ワークフロー51が属するグループの識別情報である。「判断」は、判定入力情報を示す。「入力回数」は、「ワークフローカテゴリ」で示されるグループに属するワークフロー51の判断ノードにおいて、「承認者」で示される処理対象者が、「判断」で示される判定入力情報を入力した回数を示す。「総数」は、「ワークフローカテゴリ」で示されるグループに属するワークフロー51の判断ノードにおいて、「承認者」で示される処理対象者が、判定入力情報を入力した総回数を示す。「割合」は、「ワークフローカテゴリ」で示されるグループに属するワークフロー51の判断ノードにおいて、「承認者」で示される処理対象者が、「判断」で示される判定入力情報を入力した割合を示す。尚、「割合」は、対応するレコードの「入力回数」を「総数」で割った値である。また、「割合」は、言い換えると、「ワークフローカテゴリ」で示されるグループに属するワークフロー51の判断ノードにおいて、分岐条件が満たされた確率であるともいえる。
図10の例においては、例えば、「契約関連」のワークフロー51の判断ノードにおいて、「Executive (役員)」が判断入力情報「Yes」を入力した割合が「0.95」であり、「No」を入力した割合が「0.05」であることが示されている。
次に、可用性情報42について説明する。可用性情報42は、ワークフロー51において利用されるサービスの識別情報と、そのサービスの可用性を示す情報を対応付けて記憶する。
図11は、可用性情報42の一例を示す。図11において、可用性情報42は、「ID」、「サービス」、及び「可用性」のデータ項目を対応付けて記憶する。
「ID」は、サービスを一意に識別するための識別情報である。この識別情報は、例えば、提供するサービスの内容やサービスを提供するプロバイダに応じて、一意に定められる。「サービス」は、サービスが提供する内容を示す情報である。「可用性」は、サービスの可用性を示す情報である。尚、可用性情報42に「サービス」のデータ項目は含まれなくてもよい。
図11の例においては、例えば、「E-mail」のサービスを提供する識別情報が「e1」であるサービスの可用性が「0.995」であることが示されている。
次に、コスト情報43について説明する。コスト情報43は、ワークフロー51において利用されるサービスの識別情報と、そのサービスのコストを示す情報を対応付けて記憶する。
図12は、コスト情報43の一例を示す。図12において、コスト情報43は、「ID」、「サービス」、及び「コスト」のデータ項目を対応付けて記憶する。
「ID」は、サービスを一意に識別するための識別情報である。「サービス」は、「ID」で示されるサービスが提供するサービスの内容を示す情報である。「コスト」は、「ID」で示されるサービスのコストを示す情報である。尚、コスト情報43に「サービス」のデータ項目は含まれなくてもよい。また、図12の「ID」と「サービス」は、図11の「ID」と「サービス」にそれぞれ対応してもよい。
図12の例においては、「コスト」は、サービス1回当たりに発生するコストが示されている。例えば、「E-mail」のサービスを提供する識別情報が「e1」であるサービスの1回当たりの利用コストが「1」であることが示されている。
次に、ワークフロー51の平均可用性と平均コストが算出される例を、図13に示すワークフロー51を例に詳細に説明する。尚、この説明では、傾向情報41、可用性情報42、及びコスト情報43は、それぞれ、図10、図11、図12で示したものとする。また、ワークフロー51に含まれる分類情報61、代替サービス情報62は、それぞれ、図8、図9で示したものとする。
図13に示すワークフロー51は、休暇申請のワークフローである。ワークフロー51には、具体的には以下の処理が定義されている。すなわち、ワークフロー51が開始される(n)と、従業員はメールで休暇申請を管理職に提出する(n)。次に管理職は、申請の内容を確認し(n)、承認または却下を決定する(n)。承認された場合(nでYes)、管理職は承認のサインを行う(n)。そして管理職は、申請の結果を確認する(n)。次に承認のサインがあるか否かが判定され(n)、承認のサインがない場合(nでNo)、申請が却下された旨の結果がメールで申請者(従業員)に通知される(n)。一方、承認のサインがある場合(nでYes)、申請が承認された旨の結果がメールで申請者(従業員)に通知され(n)、休暇の情報がスプレッドシートに記録される(n10)。そしてワークフロー51が終了する(n11)。
ワークフロー51において、判断ノードはnである。判断ノードnの分岐条件は、判定入力情報が「承認」を示すことである。判断ノードnでは、判定入力情報として、管理職から承認か却下かを示す情報を取得する。そして、判定入力情報が分岐条件を満たすか否かの判定が行われる。
図13の例では、判断ノードnの分類は、ワークフロー51のカテゴリと、nの処理対象者とによって分類される。図8に示すように、図13のワークフロー51のカテゴリは「就業関連」であり、nの処理対象者は「管理職」である。
またワークフロー51において、呼び出しノードは、n、n、n、n10である。ワークフロー51のn、n、nではメールサービスeが使用される。またn10ではスプレッドシートサービスeが使用される。
尚、変数fは、nで休暇申請が承認されたことを記憶するフラグである。
このような図13のワークフロー51を見積もり対象とした場合に、算出部73が平均可用性情報52と平均コスト情報53を算出する処理の詳細を、図14〜図16を参照して説明する。
先ず、算出部73の確率モデル生成部71は、図13で示すワークフロー51を取得すると、ワークフロー51と傾向情報41とに基づいて、確率モデル81を生成する。
確率モデル81の生成において、先ず、確率モデル生成部71は、見積もり対象ワークフロー51と傾向情報41を取得する。次に確率モデル生成部71は、ワークフロー51に含まれる判断ノードnを抽出し、抽出した判断ノードnの分類を特定する。判断ノードnの分類は、ワークフロー51のカテゴリと処理対象者の情報がそれぞれ、「就業関連」、「管理職」であることにより示される。
次に確率モデル生成部71は、傾向情報41から、特定した分類と同じ分類の判断ノードにおいて、入力された判定入力情報の割合を示す情報を取得する。すなわち、確率モデル生成部71は、図10の傾向情報41において、「ワークフローカテゴリ」が「就業関連」であって、「承認者」が「管理職」であるレコードを抽出する。そして、「判断」が「Yes」、「No」の「割合」がそれぞれ「0.95」、「0.05」であることを示す情報を取得する。
そして確率モデル生成部71は、取得した判定入力情報の割合の情報を、判断ノードで分岐条件が満たされる確率の推定値としてワークフロー51に付加して、確率モデル81を生成する。
図14は、確率モデル81の一例を示す。図14において、確率モデル81は、ワークフロー51の状態を(「ワークフローの各ノード」、「その状態において成立しているフラグ」)の対で表現する。すなわち例えば、ノードnの状態では、成立しているフラグはないので、ノードnは(n、φ)で表現され、ノードnの状態では、フラグfが成立しているので、ノードnは(n、{f})で表現される。
また、確率モデル81におけるワークフロー51の状態遷移は、各ノード間のリンク(順序関係)と、判断ノードにおいて分岐条件が満たされる確率の推定値とで表現される。図14の確率モデル81において、判断ノードnにおいて分岐条件が満たされる確率の推定値は「0.95」であることが表現されている。
そして確率モデル生成部71は、生成した確率モデル81を利用確率モデル生成部72に出力する。
利用確率モデル生成部72は、確率モデル81と、代替サービス情報62と、可用性情報42と、コスト情報43とを用いて、利用確率モデル82を生成する。図15は、利用確率モデル82の一例を示す。
利用確率モデル82の生成において、先ず、利用確率モデル生成部72は、確率モデル81と、代替サービス情報62とを取得する。次に利用確率モデル生成部72は、代替サービス情報62に基づいて、確率モデル81のノードのうち、代替サービスに対応する呼び出しノードを特定する。
図14の例では、代替サービスeに対応する呼び出しノードは、サービスeを利用するノード、すなわち、ノードn、n、nである。
次に利用確率モデル生成部72は、特定した呼び出しノードn、n、nの代替サービスeを呼び出すノードを確率モデル81に追加する。
図14の例では、ノードn、n、nのそれぞれについて、サービスeが利用不可能である場合に、サービスeを呼び出すノードn’、n’、n’を追加する。
次に利用確率モデル生成部72は、可用性情報42に基づいて、各呼び出しノードで呼び出されるサービスの可用性の情報を確率モデル81に付加する。
図11の可用性情報42においては、サービスe、e、eの可用性はそれぞれ、「0.995」、「0.999」、「0.998」と示されている。また、図15の利用確率モデル82では、サービスeを利用するノードn、n、nは、それぞれ、サービスeの利用が可能である場合に、n、n11、n10に遷移する。よって、利用確率モデル82において、ノードnとノードn、ノードnとノードn11、ノードnとノードn10の間のリンクに、遷移確率として、それぞれ、「0.995」が示されている。一方、ノードn、n、nは、それぞれ、サービスeの利用が不能である場合に、n’、n’、n’に遷移する。よって、利用確率モデル82において、ノードnとノードn’、ノードnとノードn’、ノードnとノードn’の間のリンクに、遷移確率として、それぞれ、「0.005」が示されている。代替サービスのない呼び出しノードn10、n’、n’、n’では、サービスが利用可能である場合には、それぞれ、ノードn11、n、n11、n10に遷移する。よって、利用確率モデル82において、ノードn10とノードn11の間のリンクに、遷移確率として「0.999」が示されている。また、ノードn’とn、n’とn11、n’とn10の間のリンクに、遷移確率として、それぞれ、「0.998」が示されている。一方、サービスが利用不能である場合には、ノードn10、n’、n’、n’は、ノードFailに遷移し、ワークフロー51は異常終了する。よって、利用確率モデル82において、ノードn10とFailノードの間のリンクに、遷移確率として「0.001」が示されている。また、ノードn’とFailノード、n’とFailノード、n’とFailノードの間のリンクに、遷移確率として、それぞれ、「0.002」が示されている。
次に利用確率モデル生成部72は、コスト情報43に基づいて、各呼び出しノードで呼び出されるサービスのコストの情報を確率モデル81に付加する。
図12のコスト情報43においては、サービスe、e、eの可用性はそれぞれ、「1」、「2」、「3」と示されている。この場合、図15の利用確率モデル82では、サービスeを利用するノードn、n、nのコストが「1」であることが示されている。また、サービスeを利用するノードn10のコストが「2」であることが示されている。また、サービスeを利用するノードn10のコストが「3」であることが示されている。
以上のようにして、利用確率モデル生成部72は、利用確率モデル82を生成する。利用確率モデル82を生成すると、利用確率モデル生成部72は、利用確率モデル82を算出部73に出力する。
算出部73は、利用確率モデル82に基づいて、平均コストと平均可用性を算出する。算出の方法は、図7において説明したものである。算出部73は、例えば、PRISM等の利用確率モデル検査ツールや、シミュレータを用いて平均コストと平均可用性を算出してもよい。
図16は、確率モデル検査ツールを用いた平均コストと平均可用性の算出の一例を示す。図16(A)は、図15の利用確率モデル82を確率モデル検査ツールの入力形式に変更したものである。図16(B)は、確率モデル検査ツールに対して入力として与えるパラメータの例である。図16(C)は、確率モデル検査ツールにより算出された平均コストと平均可用性の値である。
次に、実施形態に係る収集部32の情報格納処理の動作フローについて説明する。図17は、実施形態に係る収集部32の情報格納処理の詳細を図解したフローチャートの一例である。
図17において、収集部32は可用性情報を取得して記憶部33に格納する(S101)。収集部32は、例えばクラウドモニタリングサービスから可用性情報を取得してもよい。次に収集部32は、コスト情報を取得して記憶部33に格納する(S102)。収集部32は、例えばクラウドサービスプロバイダからコスト情報を取得してもよい。
S103〜S105は、傾向情報の格納処理に関するものである。尚、S101、S102、S103〜S105の実行順序は入れ替わってもよいし、実行のタイミングはそれぞれ独立して所定の時間に行われてもよい。
実行部31はワークフロー51を実行する(S103)。次に収集部32は、S103で実行されたワークフロー51の実行ログを収集する(S104)。そして収集部32は、収集した実行ログに基づいて傾向情報41を更新する(S105)。すなわち収集部32は、先ず、S104で収集した実行ログに基づいて、S103で実行されたワークフロー51に含まれる各判断ノードを抽出し、抽出した判断ノードにおいて入力された判定入力情報を特定する。次に収集部32は、傾向情報41から、抽出した判断ノードと同じ分類を示すレコードのセットを抽出し、特定した判定入力情報に応じて、抽出したレコードのセットの「入力回数」、「総数」、及び「割合」を更新する。そして処理は終了する。
次に、実施形態に係る情報処理装置30の平均コストと平均可用性の算出処理の動作フローについて説明する。図18は、実施形態に係る情報処理装置30の平均コストと平均可用性の算出処理の詳細を図解したフローチャートの一例である。
図18において、先ず、確率モデル生成部71は、ワークフロー51と傾向情報41を用いて、確率モデル81を生成する(S201)。すなわち、確率モデル生成部71は、傾向情報41から、ワークフロー51の判断ノードのそれぞれについて、各判断ノードと同じ分類に属する判断ノードにおいて過去に入力された判定入力情報の入力傾向を示す情報を取得する。入力傾向を示す情報は、具体的には、図10において、判断ノードと同じ分類に属するレコードの「割合」の情報である。そして確率モデル生成部71は、取得した入力傾向を示す情報を、ワークフロー51の各判断ノードにおいて分岐条件が満たされる確率として付加する。具体的には例えば、確率モデル生成部71は、ワークフロー51の各判断ノードに、取得した各判断ノードの入力傾向を示す情報を分岐条件が満たされる確率として対応付ける。
次に利用確率モデル生成部72は、確率モデル81及び可用性情報42に基づいて、確率モデル81で呼び出される各サービスの可用性を示す情報を、確率モデル81に付加する(S202)。具体的には例えば、利用確率モデル生成部72は、確率モデル81で呼び出される各サービスと、取得した各サービスの可用性を示す情報を対応付けて確率モデル81を更新する。
次に利用確率モデル生成部72は、代替サービス情報62において、代替サービスが存在するか否かを判定する(S203)。代替サービスが存在しないと判定した場合(S203でNo)、利用確率モデル生成部72は、処理をS205に遷移させる。一方、代替サービスが存在すると判定した場合(S203でYes)、利用確率モデル生成部72は、代替サービスの情報を、S202の確率モデル81に付加する(S204)。具体的には例えば、利用確率モデル生成部72は、S202の確率モデル81の各呼び出しノードで呼び出されるサービスと、取得した各サービスの代替サービスを示す情報を対応付けて確率モデル81を更新する。
次に利用確率モデル生成部72は、コスト情報43を、S204の確率モデル81に付加し、利用確率モデル82を生成する(S205)。具体的には例えば、利用確率モデル生成部72は、S204の確率モデル81で呼び出される各サービスと、取得した各サービスのコストを示す情報を対応付けて確率モデル81を更新し、利用確率モデル82を生成する。
次に算出部73は、利用確率モデル82を用いて、ワークフロー51の平均可用性と平均コストを算出する(S206)。そして処理は終了する。
次に、実施形態に係る情報処理装置30のハードウェア構成の一例を説明する。図19は、実施形態に係る情報処理装置30のハードウェア構成の一例を示す。
図19において、情報処理装置30は、Central Processing Unit(CPU)91、メモリ92、記憶装置93、読取装置94、入出力装置95、及び通信インターフェース96を含む。CPU91、メモリ92、記憶装置93、読取装置94、入出力装置95、及び通信インターフェース96はバスを介して接続される。
CPU91は、メモリ92を利用して上述のフローチャートの手順を記述したプログラムを実行することにより、実行部31、収集部32、及び推定部34の一部または全部の機能を提供する。尚、実行部31の機能は、情報処理装置30に通信ネットワークなどを介して接続される1以上の他の情報処理装置のCPUにより提供されてもよい。
メモリ92は、例えば半導体メモリであり、Random Access Memory(RAM)領域およびRead Only Memory(ROM)領域を含んで構成される。メモリ92は記憶部33の一部または全部の機能を提供する。記憶装置93は、例えばハードディスクである。なお、記憶装置93は、フラッシュメモリ等の半導体メモリであってもよい。また、記憶装置93は、外部記録装置であってもよい。記憶装置93は、記憶部33の機能を提供してもよい。
読取装置94は、CPU91の指示に従って着脱可能記憶媒体99にアクセスする。着脱可能記憶媒体99は、たとえば、半導体デバイス(USBメモリ等)、磁気的作用により情報が入出力される媒体(磁気ディスク等)、光学的作用により情報が入出力される媒体(CD−ROM、DVD等)などにより実現される。尚、読取装置94は情報処理装置30に含まれなくてもよい。
入出力装置95は、ワークフロー51の入力を受け付け、また、CPU91により算出された平均可用性及び平均コスト情報53を出力する。
通信インターフェース96は、CPU91の指示に従ってネットワークを介して、他の情報処理装置と通信する。
実施形態のプログラムは、例えば、下記の形態で情報処理装置30に提供される。
(1)記憶装置93に予めインストールされている。
(2)着脱可能記憶媒体99により提供される。
(3)プログラムサーバ(図示せず)から通信インターフェース96を介して提供される。
さらに、実施形態の情報処理装置30の一部は、ハードウェアで実現してもよい。或いは、実施形態の情報処理装置30は、ソフトウェアおよびハードウェアの組み合わせで実現してもよい。
尚、実施形態では、コスト情報43は、サービス1回当たりの利用コストを示すものとしたが、サービスの利用時間やデータの使用量に応じて変化するコストの算出式等を示すものとしてもよい。その場合、見積もり対象のワークフロー51の呼び出しノードには、呼び出しノードで利用されるサービスの識別情報と、そのサービスの利用時間またはデータの利用量などの情報を付加してもよい。そしてこれらの情報を用いて、サービスの利用時間やデータの使用量に応じたサービスの平均コストを算出してもよい。
尚、本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
1 情報処理装置
2 記憶部
3 取得部
4 算出部
5 分岐確率情報
6 コスト情報
7 可用性情報
30 情報処理装置
31 実行部
32 収集部
33 記憶部
34 推定部
41 傾向情報
42 可用性情報
43 コスト情報
51 ワークフロー
52 平均可用性情報
53 平均コスト情報
61 分類情報
62 代替サービス情報
71 確率モデル生成部
72 利用確率モデル生成部
73 算出部
81 確率モデル
82 利用確率モデル
91 CPU
92 メモリ
93 記憶装置
94 読取装置
95 入出力装置
96 通信インターフェース
99 着脱可能記憶媒体

Claims (3)

  1. 条件分岐と手続を含むワークフローを受信した場合、受信した該ワークフローに含まれる条件分岐に対して定義された分類情報毎に算出された、実行済みの条件分岐において条件が満たされた確率を示す分岐確率情報を格納する記憶部から、該受信したワークフローに含まれる条件分岐の分類に対応する該分岐確率情報を取得し、
    ワークフローに含まれる手続きにて提供されるサービスに対してかかるコストを示すコスト情報と、該サービスの可用性を示す可用性情報を格納する記憶部から、受信した前記ワークフローに含まれる手続きに対応する前記コスト情報及び前記可用性情報を取得し、
    取得した該分岐確率情報に基づいて、前記受信したワークフローに含まれる手続きの実行確率を算出し、
    前記受信したワークフローに含まれる前記手続きの代替手続きを記述した代替情報を取得し、
    取得した前記分岐確率情報、前記可用性情報、及び前記代替情報を用いて、前記代替手続きの実行確率を算出し、
    算出した前記手続きの実行確率、算出した前記代替手続きの実行確率、取得した前記コスト情報、及び取得した前記可用性情報を用いて、前記受信したワークフローが正常終了または異常終了する確率と、前記受信したワークフローの実行によりかかるコストとを算出する
    処理をコンピュータが実行することを特徴とする情報処理方法。
  2. 前記分類情報は、条件分岐の条件を満たすか否かの判定のために用いられる情報を入力するユーザの識別情報に対応した分類情報である
    ことを特徴とする請求項に記載の情報処理方法。
  3. コンピュータに、
    条件分岐と手続を含むワークフローを受信した場合、受信した該ワークフローに含まれる条件分岐に対して定義された分類情報毎に算出された、実行済みの条件分岐において条件が満たされた確率を示す分岐確率情報を格納する記憶部から、該受信したワークフローに含まれる条件分岐の分類に対応する該分岐確率情報を取得し、
    ワークフローに含まれる手続きにて提供されるサービスに対してかかるコストを示すコスト情報と、該サービスの可用性を示す可用性情報を格納する記憶部から、受信した前記ワークフローに含まれる手続きに対応する前記コスト情報及び前記可用性情報を取得し、
    取得した該分岐確率情報に基づいて、前記受信したワークフローに含まれる手続きの実行確率を算出し、
    前記受信したワークフローに含まれる前記手続きの代替手続きを記述した代替情報を取得し、
    取得した前記分岐確率情報、前記可用性情報、及び前記代替情報を用いて、前記代替手続きの実行確率を算出し、
    算出した前記手続きの実行確率、算出した前記代替手続きの実行確率、取得した前記コスト情報、及び取得した前記可用性情報を用いて、前記受信したワークフローが正常終了または異常終了する確率と、前記受信したワークフローの実行によりかかるコストとを算出する
    処理を実行させることを特徴とする情報処理プログラム。
JP2014240185A 2014-11-27 2014-11-27 情報処理方法、及び情報処理プログラム Active JP6447054B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014240185A JP6447054B2 (ja) 2014-11-27 2014-11-27 情報処理方法、及び情報処理プログラム
US14/886,956 US10229362B2 (en) 2014-11-27 2015-10-19 Information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014240185A JP6447054B2 (ja) 2014-11-27 2014-11-27 情報処理方法、及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2016103093A JP2016103093A (ja) 2016-06-02
JP6447054B2 true JP6447054B2 (ja) 2019-01-09

Family

ID=56079411

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014240185A Active JP6447054B2 (ja) 2014-11-27 2014-11-27 情報処理方法、及び情報処理プログラム

Country Status (2)

Country Link
US (1) US10229362B2 (ja)
JP (1) JP6447054B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104584058A (zh) * 2012-06-29 2015-04-29 惠普发展公司,有限责任合伙企业 容量规划系统
JP2018195040A (ja) * 2017-05-17 2018-12-06 株式会社日立製作所 ビジネスプロセス評価装置及びビジネスプロセス評価方法
WO2024004025A1 (ja) * 2022-06-28 2024-01-04 株式会社日立製作所 ワークフロー管理システム及びその方法並びにそのプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11219393A (ja) * 1998-02-02 1999-08-10 Ricoh Co Ltd ワークフロー支援システムにおける電子文書の処理管理システムおよびその方法,並びにその方法の各工程をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2007156678A (ja) * 2005-12-02 2007-06-21 Canon Software Inc ワークフローシステムおよび滞留電子文書処理方法
US10453029B2 (en) * 2006-08-03 2019-10-22 Oracle International Corporation Business process for ultra transactions
JP2008276641A (ja) * 2007-05-02 2008-11-13 Hitachi Ltd ビジネスプロセス管理方法及びシステム
US8756093B2 (en) * 2007-12-28 2014-06-17 Nec Corporation Method of monitoring a combined workflow with rejection determination function, device and recording medium therefor
US8966492B2 (en) * 2008-01-31 2015-02-24 Nec Corporation Service provision quality control device
JP5211901B2 (ja) * 2008-07-10 2013-06-12 富士通株式会社 ワークフロー実行制御プログラム、ワークフロー実行制御装置、及びワークフロー実行制御方法
US8918792B2 (en) * 2009-05-15 2014-12-23 Nec Corporation Workflow monitoring and control system, monitoring and control method, and monitoring and control program
WO2011018827A1 (ja) 2009-08-13 2011-02-17 株式会社日立製作所 実行環境におけるアプリケーションの適性を評価するシステム及び方法
JP5375627B2 (ja) * 2010-01-21 2013-12-25 株式会社日立製作所 計算機システム、ワークフロー制御方法及びワークフロー制御プログラム
JP5691723B2 (ja) * 2011-03-25 2015-04-01 富士通株式会社 監視方法、情報処理装置および監視プログラム
US9201993B2 (en) * 2011-05-11 2015-12-01 Apple Inc. Goal-driven search of a stochastic process using reduced sets of simulation points
WO2013031129A1 (ja) 2011-08-30 2013-03-07 日本電気株式会社 情報処理装置、情報処理方法、及びプログラム
GB2509635A (en) * 2011-10-06 2014-07-09 Fujitsu Ltd Update control apparatus, update control program, and update control method
US10089441B2 (en) * 2015-06-22 2018-10-02 General Electric Company System-wide probabilistic alerting and activation

Also Published As

Publication number Publication date
JP2016103093A (ja) 2016-06-02
US10229362B2 (en) 2019-03-12
US20160155060A1 (en) 2016-06-02

Similar Documents

Publication Publication Date Title
US20210357835A1 (en) Resource Deployment Predictions Using Machine Learning
Polato et al. Data-aware remaining time prediction of business process instances
Ly et al. Mining staff assignment rules from event-based data
Prasad et al. Prediction of churn behavior of bank customers using data mining tools
Chen et al. Ranking and selection: Efficient simulation budget allocation
US9430745B2 (en) Pre-executing workflow preparation activities based on activity probabilities and system load and capacity threshold requirements
Zheng et al. QoS analysis for web service compositions based on probabilistic QoS
Hussain et al. Integrated AHP-IOWA, POWA framework for ideal cloud provider selection and optimum resource management
Klijn et al. Performance mining for batch processing using the performance spectrum
JP6447054B2 (ja) 情報処理方法、及び情報処理プログラム
US20230259831A1 (en) Real-time predictions based on machine learning models
Perera et al. A rule-based system for automated generation of serverless-microservices architecture
Hernandez-Resendiz et al. Merging event logs for inter-organizational process mining
US11790278B2 (en) Determining rationale for a prediction of a machine learning based model
Park et al. C-RCE: an approach for constructing and managing a cloud service broker
JP5652047B2 (ja) 情報処理装置及び情報処理プログラム
US11775886B2 (en) Combining group-level and item-level information for forecasting by empirical Bayesian deconvolution based technique
US20200218507A1 (en) Data merge processing based on differences between source and merged data
US20140032258A1 (en) Extracting apparatus and extracting method
US20140379409A1 (en) Systems engineering solution analysis
Abbassi et al. Genetic-based approach for ATS and SLA-aware web services composition
Cappiello et al. Strategies for data quality monitoring in business processes
Vathsala et al. Using HMM for predicting response time of web services
JP6726312B2 (ja) シミュレーション方法、システム、及びプログラム
Redlich et al. Introducing a framework for scalable dynamic process discovery

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181016

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181025

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: 20181106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181119

R150 Certificate of patent or registration of utility model

Ref document number: 6447054

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150