JP5609868B2 - ワークフロー監視制御システム、監視制御方法および監視制御プログラム - Google Patents

ワークフロー監視制御システム、監視制御方法および監視制御プログラム Download PDF

Info

Publication number
JP5609868B2
JP5609868B2 JP2011513400A JP2011513400A JP5609868B2 JP 5609868 B2 JP5609868 B2 JP 5609868B2 JP 2011513400 A JP2011513400 A JP 2011513400A JP 2011513400 A JP2011513400 A JP 2011513400A JP 5609868 B2 JP5609868 B2 JP 5609868B2
Authority
JP
Japan
Prior art keywords
workflow
processing
unit
business application
time
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
JP2011513400A
Other languages
English (en)
Other versions
JPWO2010131778A1 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2011513400A priority Critical patent/JP5609868B2/ja
Publication of JPWO2010131778A1 publication Critical patent/JPWO2010131778A1/ja
Application granted granted Critical
Publication of JP5609868B2 publication Critical patent/JP5609868B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/504Resource capping
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、ワークフロー監視制御システム、ワークフロー監視制御方法およびワークフロー監視制御プログラムに係わり、特に、業務の処理を構成する処理単位の流れであるワークフローを、処理単位ごとに対応するアプリケーションソフトウェアを使用して処理するのに好適なワークフロー監視制御システム、ワークフロー監視制御方法およびワークフロー監視制御プログラムに関する。
複数のサービスを連携して動作させるときに、ユーザの要求の中でも特にレスポンス要件を保証して複数のサービスを組み合わせて実行するようにしたサービス制御システムが本発明の第1の関連技術として提案されている(たとえば特許文献1参照)。
図103は、この第1の関連技術によるサービス制御システムの構成を表わす。このサービス制御システム100は、サービスを提供する第1および第2のサービスプロバイダ101、102と、サービスを要求するクライアントであるサービスリクエスタ103と、第1および第2のサービスプロバイダ101、102のいずれかが提供する提供サービスを複数組み合わせてサービスリクエスタ103に提供するサービスコーディネータ104を備えている。
このようなサービス制御システム100でサービスコーディネータ104は、サービスリクエスタ103から送られてくるリクエスト情報を受信する受信部111と、リクエスト情報の受け付けを拒否する受付拒否情報をサービスリクエスタ103に送信する送信部112と、複数のサービスを連携して動作させるための連携サービス管理部113と、連携サービス管理部113の判断結果に基づいて、受信部111により受信されたリクエスト情報によって求められるサービスグループの各サービスを実行する実行部114と、第1のサービスプロバイダ101が提供する提供サービス115と、第1のサービスプロバイダ101が提供するサービスの処理状況を示す負荷情報116とを記憶する記憶装置(記憶部)117とを備えている。
サービス制御システム100で、サービスリクエスタ103は複数のサービスの内の、いずれかをグループとして組み合わせたサービスグループの各サービスを提供することを求めるリクエスト情報を送信する。サービスコーディネータ104内の受信部111が、このリクエスト情報を受信して連携サービス管理部113に供給する。連携サービス管理部113は、前記したサービスグループの各サービスの現在の提供状況を管理している。連携サービス管理部113は、記憶装置117により記憶された複数のサービス提供条件情報が示すサービス提供条件に基づいて、受信部111により受信されたリクエスト情報が求めるサービスグループの各サービス提供が可能かどうかを判断する。
サービスコーディネータ104内の実行部114は、連携サービス管理部113が判断した結果に基づいて、受信部111によってサービスプロバイダ101から受信されたサービスグループの各サービスを実行し、実行結果をサービスリクエスタ103に提供する。また、送信部112は、連携サービス管理部113が受信部111により受信されたリクエスト情報が求めるサービスグループの各サービス全部を提供することが可能であると判断したか否かを判別する。そして、各サービス全部を提供できない場合には、受信部111により受信されたリクエスト情報の受け付けを拒否する受付拒否情報をサービスリクエスタ103に送信する。
これに対して図104は、第2の関連技術によるサービス制御システムの構成を表わす。このサービス制御システム130を構成する分散サービス制御装置140は、複数のサーバがメッセージ交換により連携して動作するシステム中に配置される。分散サービス制御装置140は、サービスを実行するサーバ(メッセージ処理部)160の前段に中継装置として配置される。
この分散サービス制御装置140のメッセージ受信制御部141は、図示しない他サーバからの処理要求メッセージ142の受信を制御する。メッセージ状態管理部143は、メッセージ重み計算部144と、メッセージ重み保管部145を備えている。メッセージ重み計算部144は、メッセージ受信制御部141から処理要求メッセージ142が送られてきたら、所定のメッセージ重みルールに基づいて、処理要求メッセージ142に対する処理量、すなわちサーバ160での処理時間の予測値を計算する。メッセージ重み計算部144は、計算したサーバ160での処理量を、メッセージ重み情報としてメッセージ重み保管部145に保管する。
メッセージキュー147は、サーバ160への処理要求メッセージ142を一時的に蓄積する。処理要求管理部148は、複数の実行可能なスレッド149と、スレッド群制御部150を備えており、処理要求メッセージ142をサーバ160に送信してその処理を実行させる。ここでスレッド群制御部150は、スレッド149の管理と処理の割り当てを行う。スレッド149は、処理要求メッセージ142をサーバ160に送信し、処理を実行させる。このスレッド149の数が、サーバ160上の並列処理数となる。
サービス品質性能保管部151は、サーバ160の性能要件として、満たされるべきサービス品質要件に関する情報を保管する。制御ルール決定部152は、処理要求メッセージ142に対する処理時間とサービス品質要件に基づいて、メッセージキュー147のサイズと、処理要求管理部148における処理要求メッセージ142の並列処理数の制御を行う。制御ルール決定部152は、メッセージ重みルールを利用して計算されたメッセージ重み情報(サーバ処理量)と、実際のサーバ160での処理時間の測定結果とを用いて、メッセージ重みルールの補正(学習)を行う。
このような構成のサービス制御システム130では、メッセージキュー147に格納された処理要求メッセージ142に対するサーバ160での処理量をメッセージ重み計算部144が計算する。スレッド149は、メッセージキュー147から処理要求メッセージ142を取り出して、サーバ160に処理を実行させる。制御ルール決定部152は、サービス品質要件を満たすように、メッセージキュー147のサイズと、スレッド149の並列処理数とを決定する。
特開2004−362449号公報(第0009段落〜第0018段落、図1) 特開2008−077266号公報(第0029段落、第0031段落〜第0034段落、図1)
このような本発明に関連する関連技術のうちで、図103に示した第1の関連技術は、サービスの処理時間が所定の基準時間内に終了するという合意サービス水準(SLA:Service Level Agreement)を達成するために、予備のサービスプロバイダとしての第2のサービスプロバイダ102を必要とする。その理由は、サービス制御システム100は、同一のサービスを提供する複数のサービスプロバイダから適当なサービスプロバイダを選択できるようにして、1つのサービスプロバイダが使用中のときに他のサービスプロバイダを代わって使用できるようにすると共に、同一のサービスの提供を受けるときの待ち時間の短縮を図って、合意サービス水準を達成できるようにしているためである。
図104に示した第2の関連技術は、サービス品質要件を満たすことができなくなると予想されるときには、処理要求メッセージ142の処理数を抑制している。この一方で、第2の関連技術は、サービス品質要件が満たすことができると予想されるときには、処理要求メッセージ142の処理数を増加させている。これにより、第2の関連技術は、サービス品質を満たしつつ、サーバの処理能力を最大限に引き出した処理を行っている。したがって、幾つかのサービスに対して合意サービス水準を共に達成しようとすると、必要な計算機資源量が大きくなる。
更に、これら第1および第2の関連技術は、合意サービス水準の達成、すなわち、一般にはサービスを提供する際の品質としてのサービス提供品質の下限値を満たす為に、各サービスの実行に十分な計算機資源を割り当てようとする。しかしながら、全体としてのサービス提供品質の下限値が達成できるのであれば、個々のサービスの水準は問わないという場合も存在する。このような場合、第1および第2の関連技術で必要とされる計算機資源量は過大であり、無駄が発生するという問題がある。
本発明の目的は、業務アプリケーションソフトウェアをそれぞれ備えた複数の処理部がワークフローの単位処理を実行するとき、限られた計算機資源で、可能な限り多くのワークフローがサービス提供品質の下限値を満たすことのできるワークフロー監視制御システム、ワークフロー監視制御方法およびワークフロー監視制御プログラムを提供することにある。
本発明の一実施形態のワークフロー監視制御システムは、業務アプリケーションソフトウェアと計算機資源を用いて、それぞれに割り当てられた範囲の業務処理(処理単位)を実行する複数の処理部と接続されて、
業務処理の処理要求(ワークフロー)ごとに実行される処理単位の順序を定義するワークフロー定義を設定するワークフロー定義設定手段と、
前記ワークフロー定義設定手段で設定したワークフロー定義に従って、前記複数の処理部によって処理が完了されたワークフローの品質(サービス提供品質)の許容できる下限値を、前記ワークフローごとに設定するサービス提供品質下限値設定手段と、
前記複数の処理部のそれぞれに配分されている計算機資源の量が現状の値に固定されているという条件の下で、1つの処理部にワークフローが到来してからその処理部での処理が完了するまでの処理時間を、その処理部がそのワークフロー1つを専ら処理する場合の処理時間、及び、複数の処理要求が競合した場合の競合処理方法に応じて処理部ごとに算出し、これら処理部ごとの処理時間をワークフローごとに積算することで、それぞれのワークフローのサービス提供品質を算出するサービス提供品質算出手段と、
前記サービス提供品質算出手段によって算出された、ワークフローのいずれかのサービス提供品質が下限値を下回るとき、これを判別する品質非到達判別手段と、
前記品質非到達判別手段が、いずれかのワークフロー(下回りワークフロー)のサービス提供品質が下限値を下回ることを判別したとき、前記複数の処理部における少なくとも1つの処理部に対する計算機資源の量を再配分することで前記下回りワークフローのサービス提供品質が下限値を下回ることを回避させる計算機資源再配分手段とを具備することを特徴とする。
本発明の一実施形態のワークフロー監視制御方法は、業務処理の処理要求(ワークフロー)を入力して、業務アプリケーションソフトウェアと計算機資源を用いて、それぞれに割り当てられた範囲の業務処理(処理単位)を実行する複数の処理部のそれぞれを予め定めた順番で経由させることでワークフローを実行させるとき、前記複数の処理部のそれぞれに配分されている計算機資源の量が現状の値に固定されているという条件の下で、1つの処理部にワークフローが到来してからその処理部での処理が完了するまでの処理時間を、その処理部がそのワークフロー1つの処理要求を専ら処理する場合の処理時間、及び、複数の処理要求が競合した場合の競合処理方法に応じて処理部ごとに算出し、
これら処理部ごとの処理時間をワークフローごとに積算することで、それぞれのワークフローの業務の完了時における品質(サービス提供品質)を算出し、ワークフローのいずれかのサービス提供品質が、ワークフロー対応に定められた下限値を下回るとき、これを判別し、
何れかのワークフロー(下回りワークフロー)のサービス提供品質が下限値を下回ることを判別したとき、前記複数の処理部の少なくとも1つの処理部に対する計算機資源の量を再配分することで前記下回りワークフローのサービス提供品質が下限値を下回ることを回避させる。
本発明の一実施形態のワークフロー監視制御プログラムは、業務処理の処理要求(ワークフロー)を入力して、業務アプリケーションソフトウェアと計算機資源を用いて、それぞれに割り当てられた範囲の業務処理(処理単位)を実行する複数の処理部のそれぞれを予め定めた順番で経由させることでワークフローを実行させるコンピュータに、
前記複数の処理部のそれぞれに配分されている計算機資源の量が現状の値に固定されているという条件の下で、1つの処理部にワークフローが到来してからその処理部での処理が完了するまでの処理時間を、その処理部がそのワークフロー1つの処理要求を専ら処理する場合の処理時間、及び、複数の処理要求が競合した場合の競合処理方法に応じて処理部ごとに算出し、これら処理部ごとの処理時間をワークフローごとに積算することで、それぞれのワークフローの業務の完了時における品質(サービス提供品質)を算出するサービス提供品質算出処理と
ワークフローのいずれかのサービス提供品質が、ワークフロー対応に定められた下限値を下回るとき、これを判別する品質非到達判別処理と、
いずれかのワークフロー(下回りワークフロー)のサービス提供品質が下限値を下回ることを判別したとき、前記複数の処理部の少なくとも1つの処理部に対する計算機資源の量を再配分することで前記下回りワークフローのサービス提供品質が下限値を下回ることを回避させる計算機資源再配分処理とを実行させることを特徴とする。
本発明は、業務の開始を担当する処理部から業務の完了を担当する処理部までの複数の処理部を予め定めた順番で経由して実行される、各ワークフローの処理完了時点のサービス提供品質を事前に予測することを可能にする。そして、予測したサービス提供品質がサービス提供品質の下限値を下回るワークフローが存在する場合、本発明は、各処理部に対する計算機資源の量を再配分することを可能にする。これにより、本発明は計算機資源の有効活用を図り、より多くのワークフローがサービス提供品質の下限値を満足することを可能とする。
本発明のワークフロー監視制御システムの一構成例である。 本発明のワークフロー監視制御方法の一構成例である。 本発明のワークフロー監視制御プログラムの一構成例である。 本発明が実施されるワークフロー実行システムの一般的な通信環境を表わした説明図である。 本発明の実施の形態によるワークフロー監視制御システムとその周辺の概要を表わしたシステム構成図である。 本実施の形態における通信制御システムを中心とした各システムの構成を表わしたブロック図である。 本実施の形態のワークフロー監視制御システムの全体的な処理動作を示す流れ図である。 本実施の形態による最適優先制御結果計算部の「フローA」としての処理を表わした流れ図である。 本実施の形態による最適優先制御結果計算部の「フローB」としての処理を表わした流れ図である。 本実施の形態における計算機資源追加決定部の処理の様子を表わした流れ図である。 本実施の形態における計算機資源削減決定部の動作を示した流れ図である。 本発明の一動作例におけるワークフロー実行システムの構成の一部を表わしたシステム構成図である。 本動作例で使用される各業務アプリケーションの性能特性を表わした説明図である。 本動作例でそれぞれの業務アプリケーションに初期状態で割り当てられた計算機資源量を示した説明図である。 本動作例で時刻0から合成ワークフローが実行されているときの時刻660のワークフロー監視制御システムの状態を示したシステム構成図である。 本動作例で時刻0から合成ワークフローが実行されているときの時刻660に実行されている合成ワークフローの状態を示した説明図である。 本動作例で起動制御部が状態観測部を初めて起動したとき取得する合成ワークフローの状態および履歴情報の一例を示した説明図である。 本動作例で予測結果に基づいて算出した各業務アプリケーションの予想待ち時間改善量を表わした説明図である。 本動作例で計算機資源を最初に追加した場合の合成ワークフローの状態を示した説明図である。 本動作例で計算機資源を2番目に追加する場合の各業務アプリケーションに対する予想待ち時間改善量を表わした説明図である。 本動作例で計算機資源を2番目に追加した場合における合成ワークフローの状態を示した説明図である。 本動作例で計算機資源を3番目に追加する場合の各業務アプリケーションに対する予想待ち時間改善量を表わした説明図である。 本動作例で計算機資源が3番目に追加された場合における合成ワークフローの状態を示した説明図である。 本動作例で計算機資源を4番目に追加する場合の各業務アプリケーションに対する予想待ち時間改善量を表わした説明図である。 本動作例で計算機資源が4番目に追加された場合における合成ワークフローの状態を示した説明図である。 本動作例で計算機資源を5番目に追加する場合の各業務アプリケーションに対する予想待ち時間改善量を表わした説明図である。 本動作例で計算機資源が5番目に追加された場合における合成ワークフローの状態を示した説明図である。 本動作例で計算機資源を6番目に追加する場合の各業務アプリケーションに対する予想待ち時間改善量を表わした説明図である。 本動作例で計算機資源が6番目に追加された場合における合成ワークフローの状態を示した説明図である。 本動作例で計算機資源を7番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わした説明図である。 本動作例で計算機資源が7番目に追加された場合における合成ワークフローの状態を示した説明図である。 本動作例で時刻720の時点に起動制御部が状態観測部を再度起動した場合における合成ワークフローの状態を示した説明図である。 本動作例で時刻660の時点と同様に将来を予測した場合の合成ワークフローの状態を示した説明図である。 本動作例で時刻0から合成ワークフローが実行された場合の時刻660に実行されている合成ワークフローの状態を示した説明図である。 本動作例で時刻660に起動制御部が状態観測部を初めて起動した場合の状態観測部が取得する合成ワークフローの状態を示した説明図である。 本動作例で最適優先制御結果計算部が予測部を用いて作成したすべての合成ワークフローが完了するまでの合成ワークフローの動作の予測を示した説明図である。 本動作例で計算機資源削減決定部の求めた各業務アプリケーションの利用率を表わした説明図である。 本発明の第1の変形例におけるワークフロー監視制御システムの通信環境についてその要部を表わした説明図である。 第1の変形例におけるワークフロー監視制御システムとその周辺のシステム構成図である。 第1の変形例におけるワークフロー監視制御システムの全体的な処理動作の概要を表わした流れ図である。 第1の変形例における計算機資源追加決定部の処理の様子を表わした流れ図である。 第1の変形例における計算機資源削減決定部の処理を示した流れ図である。 第1の変形例におけるワークフロー監視制御システムの具体的な構成を表わしたシステム構成図である。 第1の変形例で使用される各業務アプリケーションの性能特性を表わした特性図である。 第1の変形例でそれぞれの業務アプリケーションに初期状態で割り当てられた計算機資源量を示した説明図である。 第1の変形例で時刻0から合成ワークフローが実行されているときの時刻660におけるワークフロー監視制御システムの状態を示した説明図である。 第1の変形例の起動制御部が状態観測部を初めて起動したとき取得する合成ワークフローの状態および履歴情報の一例を示したで説明図ある。 第1の変形例における最適優先制御結果計算部の計算した予測結果を示した説明図である。 第1の変形例における予測結果に基づいて算出した各業務アプリケーションの予想待ち時間改善量を表わした説明図である。 第1の変形例で計算機資源を最初に追加した場合の合成ワークフローの状態を示した説明図である。 第1の変形例で計算機資源を2番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わした説明図である。 第1の変形例で計算機資源を2番目に追加した場合の合成ワークフローの状態を示した説明図である。 第1の変形例で計算機資源を3番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わした説明図である。 第1の変形例で計算機資源を3番目に追加した場合の合成ワークフローの状態を示した説明図である。 第1の変形例で計算機資源を4番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わした説明図である。 第1の変形例で計算機資源を4番目に追加した場合の合成ワークフローの状態を示した説明図である。 第1の変形例で計算機資源を5番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わした説明図である。 第1の変形例で計算機資源を5番目に追加した場合の合成ワークフローの状態を示した説明図である。 第1の変形例で時刻720の時点に起動制御部が状態観測部を再度起動した場合における合成ワークフローの状態を示した説明図である。 第1の変形例における時刻660の時点と同様に将来を予測した場合の合成ワークフローの状態を示した説明図である。 第1の変形例における時刻660に実行されている合成ワークフローの状態を示したシステム構成図である。 第1の変形例における時刻660に起動制御部が状態観測部を初めて起動した場合の状態観測部が取得する合成ワークフローの状態を示した説明図である。 第1の変形例で最適優先制御結果計算部が予測部を用いて作成したすべての合成ワークフローが完了するまでの合成ワークフローの動作の予測を示した説明図である。 本発明の第2の変形例としてのワークフロー監視制御システムの通信環境を表わした説明図である。 第2の変形例におけるワークフロー監視制御システムとその周辺のシステム構成の要部を表わしたシステム構成図である。 第2の変形例におけるワークフロー監視制御システムの全体的な処理動作の概要を表わした流れ図である。 第2の変形例で時刻660におけるワークフロー監視制御システムの状態を示した流れ図である。 第2の変形例で起動制御部が状態観測部を初めて起動したとき取得する合成ワークフローの状態および履歴情報の一例を示した説明図である。 第2の変形例ですべての合成ワークフローが完了するまでの合成ワークフローの動作の予測結果を表わした説明図である。 第2の変形例で予測結果に基づいて算出した各業務アプリケーションの予想待ち時間改善量を表わした説明図である。 第2の変形例で計算機資源が最初に追加された場合の合成ワークフローの状態を示した説明図である。 第2の変形例で計算機資源を2番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わした説明図である。 第2の変形例で計算機資源を2番目に追加した場合における合成ワークフローの状態を示した説明図である。 第2の変形例で計算機資源を3番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わした説明図である。 第2の変形例で計算機資源が3番目に追加された場合における合成ワークフローの状態を示した説明図である。 第2の変形例で計算機資源を4番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わした説明図である。 第2の変形例で計算機資源が4番目に追加された場合における合成ワークフローの状態を示した説明図である。 第2の変形例で計算機資源を5番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わした説明図である。 第2の変形例で計算機資源を5番目に追加した場合の合成ワークフローの状態を示した説明図である。 第2の変形例で計算機資源を6番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わした説明図である。 第2の変形例で計算機資源を6番目に追加した場合の合成ワークフローの状態を示した説明図である。 第2の変形例で時刻780の時点に起動制御部が状態観測部を再度起動した場合における合成ワークフローの状態を示した説明図である。 第2の変形例で時刻660の時点と同様に将来を予測した場合の合成ワークフローの状態を示した説明図である。 第2の変形例で時刻660に実行されている合成ワークフローの状態を示した説明図である。 第2の変形例で時刻660に起動制御部が状態観測部を初めて起動した場合の状態観測部が取得する合成ワークフローの状態を示した説明図である。 第2の変形例で最適優先制御結果計算部が予測部を用いて作成したすべての合成ワークフローが完了するまでの合成ワークフローの動作の予測を示した説明図である。 本発明の第3の変形例としてのワークフロー監視制御システムの通信環境を表わした説明図である。 第3の変形例におけるワークフロー監視制御システムとその周辺のシステム構成の要部を表わしたシステム構成図である。 第3の変形例で起動制御部が状態観測部を初めて起動したとき取得する合成ワークフローの状態および履歴情報の一例を示した説明図である。 第3の変形例における最優先制御のみの場合の予測結果を表わした説明図である。 第3の変形例で予測結果に基づいて算出した各業務アプリケーションの予想待ち時間改善量を表わした説明図である。 第3の変形例で計算機資源が最初に追加された場合の合成ワークフローの状態を示した説明図である。 第3の変形例で計算機資源を2番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わした説明図である。 第3の変形例で計算機資源を2番目に追加した場合の合成ワークフローの状態を示した説明図である。 第3の変形例で計算機資源を3番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わした説明図である。 第3の変形例で計算機資源を3番目に追加した場合の合成ワークフローの状態を示した説明図である。 第3の変形例で計算機資源を4番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わした説明図である。 第3の変形例で計算機資源を4番目に追加した場合の合成ワークフローの状態を示した説明図である。 第3の変形例で時刻720の時点に起動制御部が状態観測部を再度起動した場合における合成ワークフローの状態を示した説明図である。 第3の変形例で時刻660の時点と同様に将来を予測した場合の合成ワークフローの状態を示した説明図である。 第3の変形例で時刻660に起動制御部が状態観測部を初めて起動した場合の状態観測部が取得する合成ワークフローの状態を示した説明図である。 第3の変形例で最適優先制御結果計算部が予測部を用いて作成したすべての合成ワークフローが完了するまでの合成ワークフローの動作の予測を示した説明図である。 本発明の第1の関連技術によるサービス制御システムのシステム構成図である。 本発明の第2の関連技術によるサービス制御システムのシステム構成図である。
10 ワークフロー監視制御システム
11 処理部
12 ワークフロー定義設定手段
13 サービス提供品質下限値設定手段
14 サービス提供品質算出手段
15 品質非到達判別手段
16 計算機資源再配分手段
20 ワークフロー監視制御方法
21 サービス提供品質算出ステップ
22 品質非到達判別ステップ
23 計算機資源再配分ステップ
30 ワークフロー監視制御プログラム
31 サービス提供品質算出処理
32 品質非到達判別処理
33 計算機資源再配分処理
201 サブネットワーク
202 ルータ
203 業務アプリケーション
204 ワークフローシステム
205、205A、205B ワークフロー監視制御システム
206 通信監視システム
207 通信制御システム
208 ワークフロー監視システム
209、209A、209B、209C 業務アプリケーション制御システム
210 業務システム
211 ワークフロー定義・業務定義リポジトリ
212 合意サービス水準リポジトリ
213 業務システムリポジトリ
221 ワークフロー定義・業務定義取得部
222 ワークフロー合成部
223 合成ワークフロー定義DB
224 監視情報受信部
225 監視情報解析部
226 監視情報格納DB
227 起動制御部
228 状態観測部
229、229A、229B、229C 最適優先制御結果計算部
230、230A、230B、230C 検証部
231、231A、231B、231C 計算機資源追加決定部
232、232A、232B、232C 計算機資源削減決定部
233、233A、233B、233C 予測部
234 制御履歴格納DB
235 制御信号送信部
236 目標状態管理部
237 制御システム格納DB
242 通信情報保持部
243 通信制御部
245 制御信号受信部
246 制御情報保持部
400、400A、400B ワークフロー実行システム
501 業務アプリケーション(AP)実行部
(a1)〜(f1)、(a2)〜(f2) 合成ワークフロー
図1は、本発明のワークフロー監視制御システムの一構成例を示す。本発明のワークフロー監視制御システム10は、複数の処理部と接続され、ワークフロー定義設定手段12と、サービス提供品質下限値設定手段13と、サービス提供品質算出手段14と、品質非到達判別手段15と、計算機資源再配分手段16とを備えている。
ここで、各処理部(例えば、クラスターシステム)は、業務アプリケーションソフトウェアと計算機資源(例えば、各コンピュータ)を用いて、それぞれに割り当てられた範囲の業務処理(処理単位)を実行する。
ワークフロー定義設定手段12は、ワークフロー定義を記憶域に設定する。
ここで、ワークフローは、業務の処理要求の各々(処理要求のインスタンス)を意味する。ワークフロー定義は、ワークフロー実行システム400(図4、図15)等に入力されたワークフローの各々に対して実行される各処理単位のシーケンスを定義する。各ワークフローは、業務の開始から終了に至る処理単位を割り当てられて実行する各処理部を、ワークフロー定義で定められた順番で経由して処理される。例えば、図15上段に示すワークフローa1乃至f1に対しては、処理単位S1、S2、S3、S4が直列的に実行される。図15下段に示すワークフローa2乃至e2に対しては、条件S13に応じて、処理単位S11、S12、S13、S14、S15、S16が直列的に実行される、又は、処理単位S11、S12、S13、S16が直列的に実行される。各処理部は、他の装置と接続され、業務アプリケーションソフトウェアと計算機資源を備え、ワークフローを入力して各処理単位を実行する。図15において、各処理部は、通信制御システム207nと業務アプリケーション203n(n=1〜7)として記載されている。
処理部等処理部
サービス提供品質下限値設定手段13は、処理部等業務処理を完了したワークフローの品質であるサービス提供品質の許容できる下限値を、ワークフローごとに設定する。サービス提供品質算出手段14は、複数の処理部のそれぞれに配分されている計算機資源の量が現状の値に固定されているという条件の下で、1つの処理部に処理の要求が到来してからその処理部での処理単位が完了するまでの処理時間を、処理部ごとに積算することで、それぞれのワークフローの業務処理の完了時におけるサービス提供品質を算出する。各処理部の処理時間は、その処理部が1つの処理要求を専ら処理する場合に必要とする業務処理の要処理時間を基にして、複数の処理要求が競合した場合にはその競合を反映させて、算出する。品質非到達判別手段15は、ワークフローのいずれかについて、算出されたサービス提供品質がサービス提供品質の下限値を下回るとき、これを判別する。計算機資源再配分手段16は、品質非到達判別手段15が或るワークフローについて算出したサービス提供品質が下限値を下回ることを判別したとき、等少なくとも1つの処理部に計算機資源の量を増加させることで、当該ワークフローのサービス提供品質が下限値を下回ることを回避させる。
図2は、本発明のワークフロー監視制御方法の一構成例を示す。本発明のワークフロー監視制御方法20は、サービス提供品質算出ステップ21と、品質非到達判別ステップ22と、計算機資源再配分ステップ23とを備えている。ここで、サービス提供品質算出ステップ21は、業務アプリケーションソフトウェアと計算機資源を用いて、それぞれ個別に割り当てられた範囲の業務の処理(処理単位)を行う複数の処理部が、予め定めた順番で各処理部を経由する、業務の処理単位の流れとしてのワークフローを実行するとき、複数の処理部のそれぞれに配分されている計算機資源の量が現状の値に固定されているという条件の下で、それぞれのワークフローの業務処理の完了時におけるサービス提供品質を算出する。サービス提供品質は、複数の処理部のそれぞれで、ワークフローに発生する処理開始までの待機時間の有無や量、さらに処理時間を解析して算出される。品質非到達判別ステップ22は、ワークフローのいずれかについて、算出されたサービス提供品質がサービス提供品質の下限値を下回るとき、これを判別する。計算機資源再配分ステップ23は、品質非到達判別ステップ22で或るワークフローのサービス提供品質が下限値を下回ることを判別したとき、複数の処理部に対する計算機資源の量を再配分することで、当該ワークフローのサービス提供品質が下限値を下回ることを回避させる。
図3は、本発明のワークフロー監視制御プログラムの一構成例を示す。本発明のワークフロー監視制御プログラム30は、業務アプリケーションソフトウェアと計算機資源を用いて、それぞれ個別に割り当てられた範囲の業務の処理(処理単位)を行う複数の処理部が、予め定めた順番で各処理部を経由する、業務の処理単位の流れとしてのワークフローを実行するシステムに包含されるコンピュータ(例えば、ワークフロー監視制御システム205)に、サービス提供品質算出処理31と、品質非到達判別処理32と、計算機資源再配分処理33を実行させる。ここで、サービス提供品質算出処理31は、複数の処理部のそれぞれに配分されている計算機資源の量が現状の値に固定されているという条件の下で、それぞれのワークフローの業務処理の完了時におけるサービス提供品質を算出する。品質非到達判別処理32は、ワークフローのいずれかについて、算出されたサービス提供品質が下限値を下回るとき、これを判別する。計算機資源再配分処理33は、品質非到達判別処理32で或るワークフローについてサービス提供品質が下限値を下回ることを判別したとき、複数の処理部に対する計算機資源の量を再配分することで、当該ワークフローのサービス提供品質が下限値を下回ることを回避させる。
<発明の実施の形態>
図4は、本発明が実施されるワークフロー実行システム400の一般的な通信環境を表わす。この通信環境では、複数のサブネットワーク2011、2012、等がこれらサブネットワーク2011、2012、等の持つ管理ポリシ、セキュリティポリシの基で運営されている。更にこれら複数のサブネットワーク2011、2012、等が、ルータ2021、2022、等等の結合手段によって結合されて大きなネットワークを構成している。
たとえば第1のサブネットワーク2011は、第2のサブネットワーク2012と第1のルータ2021によって接続されている。また、第2のサブネットワーク2012は、第3のサブネットワーク2013および第4のサブネットワーク2014と第2のルータ2022によって接続されている。
後に詳しく説明されるワークフローの処理単位の処理を担う業務アプリケーション2031、2032、等は、サブネットワーク2011、2012、等のいずれかに接続された業務システム2101、2104、等上に配備される。図4に示す通信環境で第1および第2の業務アプリケーション2031、2032を配備した業務システム2101は、第1のサブネットワーク2011に接続されている。第3および第4の業務アプリケーション2033、2034を配備した業務システム2104は、第4のサブネットワーク2014に接続されている。
業務アプリケーション2031、2032、等を連携させて、業務開始から複数の処理単位の処理を順次実行することで業務の完了に至るワークフロー処理を実施するワークフローシステム2041、2042、等も、サブネットワーク2011、2012、等のいずれかに接続される。図4に示す通信環境では、第1のワークフローシステム2041は第1のサブネットワーク2011に、第2のワークフローシステム2042は第3のサブネットワーク2013にそれぞれ接続されている。
サブネットワーク2011、2012、等上での通信を監視し、ワークフロー監視制御システム205に監視結果を通知する通信監視システム2061、2062、等は、サブネットワーク2011、2012、等に任意の数だけ接続される。図4に示す通信環境では、第1のサブネットワーク2011には第1の通信監視システム2061が、第3のサブネットワーク2013には第2の通信監視システム2062が、第4のサブネットワーク2014には第3の通信監視システム2063が、それぞれ接続されている。通信監視システム2061、2062、等は、それぞれ業務アプリケーション203およびワークフローシステム204を監視対象とする。一般的には、通信監視システム2061、2062、等は、自分自身と同一のサブネットワーク201に存在する業務アプリケーション203およびワークフローシステム204を監視対象とする。
各通信制御システム2071、2072、等は、サブネットワーク2011、2012、等上での通信をワークフロー監視制御システム205からの制御信号に従って制御する。各通信制御システム2071、2072、等は、サブネットワーク2011、2012、等に任意の数だけ接続される。図4に示す通信環境では、第1のサブネットワーク2011には第1の通信制御システム2071が、第3のサブネットワーク2013には第2の通信制御システム2072が、第4のサブネットワーク2014には第3の通信制御システム2073がそれぞれ接続されている。通信制御システム207は、それぞれ業務アプリケーション203およびワークフローシステム204を制御対象とする。一般的には、通信制御システム207は、自分自身と同一のサブネットワーク201に存在する業務アプリケーション203およびワークフローシステム204を制御対象とする。
ワークフローの動作を監視し、ワークフロー監視制御システム205に通知するワークフロー監視システム2081、2082、等は、ワークフローシステム2041、2042、等に対応して、サブネットワーク2011、2012、等に接続される。図4に示す通信環境では、第1のサブネットワーク2011には第1のワークフロー監視システム2081が、第3のサブネットワーク2013には第2のワークフロー監視システム2082が、それぞれ接続されている。ワークフロー監視システム208は、それぞれワークフローシステム204を監視対象とする。一般的には、ワークフロー監視システム208は、自分自身と同一のサブネットワーク201に存在するワークフローシステム204を監視対象とする。
本発明が実施される一般的な通信環境には、業務アプリケーション203およびワークフローシステム204を監視、制御するワークフロー監視制御システム205が1つ以上存在する。図4を参照すると、ワークフロー監視制御システム205は第2のサブネットワーク2012に接続される。
また、この図4に示された一般的な通信環境には、業務システム2101、2104、等上で実行される業務アプリケーション2031、2032、等の使用する計算機資源量を制御する業務アプリケーション制御システム209が1つ以上存在する。業務アプリケーション制御システム209は、この図に示す例で第2のサブネットワーク2012に接続される。
以上のような通信環境での動作を次に説明する。
第1および第2のワークフローシステム2041、2042ならびに第1〜第4の業務アプリケーション2031〜2034は、相互に連携して業務の処理を実行する。このとき、第1および第2のワークフローシステム2041、2042ならびに第1〜第4の業務アプリケーション2031〜2034は、必要に応じて相互に通信を行う。ワークフローシステム204および業務アプリケーション203が送信した情報は、送信側のワークフローシステム204および業務アプリケーション203を制御対象とする通信制御システム207で受信され、必要に応じた制御が行われる。次にこの情報は受信側のワークフローシステム204ならびに業務アプリケーション203を制御対象とする通信制御システム207に送信され、必要に応じた制御が行われる。次にこの情報は受信側のワークフローシステム204ならびに業務アプリケーション203で受信される。
また、ワークフローシステム204ならびに業務アプリケーション203が情報を送信したことは、送信側のワークフローシステム204ならびにアプリケーションシステム203を監視対象とする通信監視システム206で監視される。ワークフローシステム204および業務アプリケーション203が情報を受信したことは、受信側のワークフローシステム204ならびに業務アプリケーション203を監視対象とする通信監視システム206で監視される。
また、ワークフローシステム204でたとえば業務の進捗があったことは、ワークフローシステム204を監視対象とするワークフロー監視制御システム205で監視される。
以上の図4に示した構成は、特定の組織等を想定したものではなく、一般性を失わない。<発明の実施の形態>
図5は、本発明の一実施の形態におけるワークフロー監視制御システム205とその周辺のシステム構成の要部を表わす。本図は、たとえば図4に示した通信環境を前提としている。
図5は、ワークフロー監視制御システム205と、ワークフローシステム204と、ワークフロー監視システム208と、通信監視システム206と、通信制御システム207と、業務アプリケーション制御システム209と、ワークフローシステム204で実行されるワークフローの定義情報と業務アプリケーション203(図4)の定義情報を格納するワークフロー定義・業務定義リポジトリ211と、合意サービス水準情報を格納する合意サービス水準リポジトリ212および業務システムの配備情報、性能特性情報を格納する業務システムリポジトリ213を示す。ここで、「リポジトリ(repository)」は、容器、貯蔵庫のように、一般にはデータや情報、プログラムを体系立てて保管する場所を意味する。
ワークフロー監視制御システム205は、ワークフロー定義と業務定義を取得するワークフロー定義・業務定義取得部221と、複数のワークフロー定義、業務定義間の通信関係を解析し、相互に通信するワークフロー定義、業務定義を合成した合成ワークフロー定義を生成するワークフロー合成部222と、合成ワークフロー定義を格納する合成ワークフロー定義DB(データベース)223と、ワークフロー監視システム208および通信監視システム206からの監視情報を受信する監視情報受信部224と、監視情報を合成ワークフロー定義に対応付けて解析する監視情報解析部225と、監視情報を格納する監視情報格納DB(データベース)226と、定期的に起動要求を送信する起動制御部227と、現在までの合成ワークフローの状態を取得する状態観測部228と、最適な制御をした場合の合成ワークフローの動作を予測する最適優先制御結果計算部229と、予測結果から合成ワークフローが合意サービス水準を達成すると予想されるかを検証する検証部230と、合意サービス水準を達成するために必要な計算機資源量を計算する計算機資源追加決定部231と、合意サービス水準達成を妨げない計算機資源削減量を計算する計算機資源削減決定部232と、ある時点での合成ワークフローの状態と、業務アプリケーション制御システム209への計算機資源配分量から単位時間後の合成ワークフローの状態を予測する予測部233と、過去の制御履歴を格納する制御履歴格納DB(データベース)234と、制御信号を通信制御システム207に送信する制御信号送信部235と、合意サービス水準を保持する目標状態管理部236と、通信制御システム207同士の対応関係を保持する制御システム格納DB(データベース)237とから構成されている。図5は、通信制御システム207を代表的に1つのみ示す。通信制御システム207が複数存在するときに、制御システム格納DB237は通信制御システム207、ワークフローシステム204の対応関係を保持する。
ここで、合成ワークフローとは、合成ワークフロー定義に従って処理される業務の処理要求(処理対象データ、等)のインスタンス(instance:実体)である。また、合成ワークフロー定義は、複数のワークフロー定義を足し併せて合成したものである。単体ワークフローよりも合成ワークフローの方が現実的には多く使用される。したがって、本明細書に於いて、「合成ワークフロー」という用語は、合成されたワークフローのみでなく、単一のワークフローも含む用語として使用される。
本実施の形態でワークフロー監視制御システム205を中心とした各システムは、概略次のように動作する。説明に於いて、図4および図5が参照される。
ワークフロー定義・業務定義リポジトリ211には、監視制御対象となるワークフローシステム204で実行されるワークフローの定義、業務システム210上で実行される業務アプリケーション203の定義があらかじめ格納されている。また、合意サービス水準リポジトリ212には、監視制御対象となるワークフローシステム204と業務アプリケーション203に設定された合意サービス水準が予め格納されている。ここで、合意サービス水準は、前述したサービス提供品質に対して許容できる下限値の一例である。業務システムリポジトリ213には、業務アプリケーション203を配備可能な業務システム210の配備情報と、業務システム210の性能特性情報と、業務システム210における業務アプリケーション203の配備情報と、業務アプリケーション203への計算機資源配分情報とが格納されている。
ワークフローシステム204および業務アプリケーション203の実行前に、ワークフロー定義・業務定義取得部221はワークフロー定義・業務定義リポジトリ211からワークフロー定義および業務定義を取得する。ワークフロー合成部222は、取得されたワークフロー定義および業務定義から合成ワークフロー定義を作成し、合成ワークフロー定義DB223に格納する。また、目標状態管理部236は、合意サービス水準リポジトリ212から合意サービス水準情報を取得し、保持する。
ワークフローシステム204ならびに業務アプリケーション203が動作すると、業務の進捗と通信の発生をワークフロー監視システム208と通信監視システム206が検知し、監視情報受信部224に通知する。受信した監視情報は監視情報解析部225で合成ワークフロー定義に対応付けて解析され、監視情報格納DB226に格納される。
これと並行して、起動制御部227は定期的に状態観測部228に起動要求を送る。状態観測部228は監視情報格納DB226に格納された監視情報を合成ワークフローDB223に格納された合成ワークフロー定義と対応付け、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報を作成する。更に、状態観測部228は、制御履歴格納DB234から現在の制御条件を取得する。状態観測部228は、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報と、現在の制御条件を最適優先制御結果計算部229に入力する。
最適優先制御結果計算部229は入力された情報を基にして、現在実行されている合成ワークフローに対して最適な優先制御が行われた場合の将来の状態を予測する。この予測は予測部233が業務システムリポジトリ213に格納された業務アプリケーションへの計算機資源配分情報を用いて行う。最適優先制御結果計算部229は予測結果を検証部230に出力する。なお、図1のサービス提供品質算出手段14は、それぞれのワークフローの業務の完了時におけるサービス提供品質を算出する。その算出結果が本実施の形態における予測結果の一例である。
検証部230は予測結果を目標状態管理部236と対比して目標達成状況を判定する。図1の品質非到達判別手段15が、本実施の形態における検証部230の一例であり、ワークフローのいずれかが業務の完了時におけるサービス提供品質の下限値を下回るとき、これを判別する。この結果、検証部230は、予測結果が妥当であれば制御情報を制御履歴格納DB234に格納し、制御信号送信部235によって通信制御システム207と業務アプリケーション制御システム209に予測結果の妥当性を送信して終了する。予測結果が合意サービス水準を達成していなければ、検証部230は、計算機資源追加決定部231に最適優先制御結果計算部229の入力と出力を通知する。
計算機資源追加決定部231は、受け取った最適優先制御結果計算部229の入力と出力を参照して適切な業務アプリケーションに計算機資源を追加する計画を作成し、業務システムリポジトリ213に設定する。品質非到達判別手段15が或るワークフローについてサービス提供品質の下限値を下回ることを判別したとき、計算機資源再配分手段16が複数の処理部に対する計算機資源の量を再配分することで所定のワークフローのサービス提供品質が下限値を下回ることを回避させる。この処理が、本実施の形態の計算機資源を追加する計画の作成の一例である。最適優先制御結果計算部229は、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報とを入力として、再度合成ワークフローに対して最適な優先制御が行われた場合の将来の状態を予測する。
検証部230は、この予測結果が合意サービス水準を大きく超過して達成していると判定した場合、計算機資源削減決定部232に最適優先制御結果計算部229の入力と出力を通知する。計算機資源削減決定部232は、受け取った最適優先制御結果計算部229の入力と出力を参照して、業務アプリケーション203に配分された計算機資源を適切に削減する計画を作成し、業務システムリポジトリ213に設定する。最適優先制御結果計算部229は、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報とを入力として再度合成ワークフローに対して最適な優先制御が行われた場合の将来の状態を予測する。
図6は、本実施の形態における通信制御システムを中心とした各システムの構成を表わす。本図は、図4に示した通信環境で、ワークフロー監視制御システム205が第1の通信制御システム2071と第2の通信制御システム2072と接続されている例を示す。図5に於けるワークフロー監視制御システム205に接続された通信制御システム207が、図6では第1および第2の通信制御システム2071、2072である。第1の通信制御システム2071には、図示を省略した業務システム2101を介して第1の業務アプリケーション2031および第1のワークフローシステム2041が接続されている。同様に、第2の通信制御システム2072には、業務システム2101を介して第2の業務アプリケーション2032および第2のワークフローシステム2042が接続されている。
第1の通信制御システム2071は、第1の業務アプリケーション2031、第1のワークフローシステム2041あるいは他の通信制御システム207(第2の通信制御システム2072等)が送信した情報を受信する通信受信部241と、受信した情報を保持する通信情報保持部242と、受信した情報を保持し続けるか、送信するか、棄却するかを決定する通信制御部243と、業務アプリケーション203、ワークフローシステム204、あるいは、他の通信制御システム207へ情報を送信する通信送信部244と、ワークフロー監視制御システム205からの制御信号を受信する制御信号受信部245と、制御条件に関する情報を保持する制御情報保持部246とから構成されている。
なお、第2の通信制御システム2072は、第1の通信制御システム2071とその構成が同一である。そこで、その構成の説明は省略される。
図6に示した箇所のワークフロー監視制御システム205を中心とした各システムは、概略次のように動作する。
たとえば第1の業務アプリケーション2031や第1のワークフローシステム2041から送信された情報はこれらを制御対象とする第1の通信制御システム2071の通信受信部241で受信され、通信情報保持部242に保持される。通信制御部243は通信情報保持部242に受信された情報が保持された場合と、予め定められた時間になった場合に起動される。そして、通信制御部243は、通信情報保持部242に保持された各通信情報を、制御情報保持部246に格納されている制御条件を参照して、保持する通信情報と送信する通信情報および棄却する通信情報に分類する。
このうち保持する通信情報に分類されたものはそのまま保持され、棄却する通信情報に分類されたものは通信情報保持部242から削除される。送信する通信情報に分類されたものは通信送信部244により受信側の業務アプリケーション203、ワークフローシステム204あるいは第2の通信制御システム2072等の他の通信制御システム207へ送信される。
受信側の第2の業務アプリケーション2032および第2のワークフローシステム2042を制御対象とする第2の通信制御システム2072も同様に動作する。この結果、送信された情報は最終的に受信側の第2の業務アプリケーション2032あるいは第2のワークフローシステム2042で受信される。これと並行して、ワークフロー監視制御システム205は、必要に応じて第1および第2の通信制御システム2071、2072の制御信号受信部245に制御信号を送信する。
制御信号受信部245は受信した制御信号を通信制御部243に通知する。通信制御部243は必要であれば通信情報保持部242に保持された各通信情報について、受信した制御条件を参照し、保持する通信情報と送信する通信情報と棄却する通信情報に分類する。通信制御部243は、保持する通信情報に分類したものはそのまま保持し、棄却する通信情報に分類したものは通信情報保持部242から削除する。棄却が行われると、該当する合成ワークフローの処理はその段階で消失する。これは、該当する業務アプリケーション203および後続の他の業務アプリケーション203がその合成ワークフローの処理を行わなくてよくなったことを意味する。すなわち、棄却の対象となった合成ワークフローの犠牲の下に、他の1つまたは複数の合成ワークフローの処理時間が短縮可能になる。
送信する通信情報に分類されたものは、通信送信部244により受信側の第2の業務アプリケーション2032や第2のワークフローシステム2042を制御対象とする第2の通信制御システム2072の通信受信部241に送信される。その後、通信制御部243は、制御信号を制御情報保持部246に格納する。
図7は、本実施の形態のワークフロー監視制御システムの全体的な処理動作の概要を表わす。本図を図5および図6と共に説明する。ワークフロー監視制御システム205は、図示されないCPU(Central Processing Unit)と、このCPUが実行する制御プログラムを格納するハードディスク等の記憶媒体を備えている。CPUはこの制御プログラムを実行することによって先に説明したワークフロー監視制御システム205内の各部のうちの少なくとも一部をソフトウェアで機能的に実現しても良い。ワークフロー監視制御システム205内の各部、または、CPUは、次に説明する制御を実現する。
起動制御部227は、所定の制御時間が到来するまで待機している(ステップS301)。所定の制御時間が到来すると(Y)、起動制御部227は状態観測部228を起動し、状態観測部228は監視情報格納DB226に格納された監視情報を合成ワークフロー定義DB223に格納された合成ワークフロー定義と対応付ける。そして、状態観測部228は現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報を作成する(ステップS302)。
次に、最適優先制御結果計算部229は、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報と、制御履歴格納DB234から取得した現在の制御条件とを入力する。最適優先制御結果計算部229は入力したこれらの情報を基にして、現在実行されている合成ワークフローの将来の状態を予測する。合成ワークフローの将来の状態の予測結果と最適優先制御結果計算部229への入力は、検証部230に出力される(ステップS303)。
検証部230は予測結果に関して、目標状態管理部236を参照して妥当性を判定する(ステップS304)。この結果、予測結果が妥当であれば(Y)、すなわち、予測結果が合意サービス水準を達成しており、かつこれが合意サービス水準を大幅に超過するようなものでない場合には、検証部230は、制御履歴格納DB234を参照して、制御条件が現行の制御条件と同一であるかを判定する(ステップS305)。同一であれば(Y)、検証部230は制御条件を送信せずに動作を終了し、ワークフロー監視制御システム205はステップS301の処理に戻る(リターン)。
制御条件が現行の制御条件と同一ではない場合には(ステップS305:N)、検証部230は、その同一でない制御条件を制御履歴格納DB234に格納する。そして、制御信号送信部235は通信制御システム207に制御条件を送信する(ステップS306)。この後、ワークフロー監視制御システム205はステップS301の処理に戻る(リターン)。
ステップS304で予測結果が妥当でないと判定される場合(N)は、次の2つの何れかの場合である。1つは、予測結果が合意サービス水準を達成していないと判定された場合である。もう1つは、予測結果が合意サービス水準を大幅に超過したと判定された場合である。したがって、予測結果が妥当でないと判定された場合には(ステップS304:N)、検証部230は、合意サービス水準を未達成か否かの判別をする(ステップS307)。
予測結果が合意サービス水準を達成していないと判定された場合には(Y)、計算機資源追加決定部231が計算機資源を追加すべき適切な業務アプリケーションと追加量を計算する。そして、計算機資源追加決定部231は、追加後の業務アプリケーションの計算機資源割当量を業務システムリポジトリ213に設定し(ステップS308)、最適優先制御結果計算部229は現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報を入力して、現在実行されている合成ワークフローの将来の状態を予測する(ステップS303)。
これに対して、予測結果が合意サービス水準を大幅に超過したと判定された場合には(ステップS307:N)、計算機資源削減決定部232が計算機資源を削減すべき適切な業務アプリケーションと削減量を計算して、削減後の業務アプリケーションの計算機資源割当量を業務システムリポジトリ213に設定する(ステップS309)。予測結果が合意サービス水準を大きく超過していると判定する方法の一例としては、合意サービス水準に対する余裕が最も小さい合成ワークフローの合意サービス水準との差が所定の範囲を超えているか否かにより判定する方法がある。このようにして計算機資源を削減したら、検証部230は、ステップS305の処理に進む。
図8は、最適優先制御結果計算部229の処理の様子を表わす。本図を図5および図6と共に説明する。なお、図8に示した最適優先制御結果計算部229の動作は、監視制御対象と合意サービス水準の内容によって変化する。図8に示した処理動作は一例である。
まず、最適優先制御結果計算部229は、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報と、現在の制御条件を入力する(ステップS321:Y)。この後、最適優先制御結果計算部229は、予測部233を使って、現在実行されている合成ワークフローの状態および履歴情報と業務システムリポジトリ213の情報から、単位時間後の合成ワークフローの状態を予測する(ステップS322)。ここで、単位時間は、合成ワークフローの処理に要する時間に対して十分に短い、予測部233で定めた時間である。
次に、最適優先制御結果計算部229は、すべての合成ワークフローの処理が完了しているか否かを判定する(ステップS323)。すべて終了していると判定された場合には(Y)、最適優先制御結果計算部229は予測された合成ワークフローの状態を検証部230に通知して(ステップS324)、一連の処理を終了する(エンド)。
一方、すべての合成ワークフローの処理が完了していると判定されなかった場合(ステップS323:N)、最適優先制御結果計算部229は、合成ワークフローの状態から、新たに処理を実行可能な業務アプリケーション203が存在しているか否かを判定する(ステップS325)。新たに処理を実行可能な業務アプリケーション203の判定方法の一例は、業務アプリケーション203で処理が行われておらず、かつ、この業務アプリケーション203での処理を待っているワークフローが存在しているか否かを判定する方法である。
新たに処理を実行可能な業務アプリケーション203が存在すると判定された場合(Y)、最適優先制御結果計算部229は、新たに処理を実行可能な業務アプリケーション203を1つ選択する(ステップS326)。そして、選択された業務アプリケーション203について、次の図9に示される「フローB」を実行する(ステップS327)。なお、図8で示される一連の処理が「フローA」である。
「フローB」を行った結果が、これまで得られた「フローB」の結果の中で最も良好なものであった場合には(ステップS328:Y)、最適優先制御結果計算部229は、この得られた結果を最善の結果として保存する(ステップS329)。「フローB」の結果の比較方法の一例は、合意サービス水準を達成できていない合成ワークフローの数が少ないほど良好であり、すべての合成ワークフローが合意サービス水準を達成できている場合は合意サービス水準を超える度合いが大きいほど良好であるとする方法である。
ステップS329で得られた結果を最善の結果として保存したら、最適優先制御結果計算部229は、新規に処理を実行可能な業務アプリケーション203で、まだ「フローB」の処理対象としていない業務アプリケーション203が存在するか否かを判定する(ステップS330)。そのような業務アプリケーション203が存在していると判定された場合には(Y)、最適優先制御結果計算部229は、ステップS326に戻って、該当する業務アプリケーション203が存在しなくなるまで同様の処理を繰り返す。「フローB」の処理対象としていない業務アプリケーション203が存在しなくなったら(ステップS330:N)、最適優先制御結果計算部229は、ステップS329で保存した最善の結果を「フローA」の処理結果として、検証部230に通知し(ステップS331)、「フローA」の処理を終了する(エンド)。
これに対して、ステップS328で「フローB」の処理を行った結果が、これまで得られた「フローB」の処理結果の中で最も良好なものであるとは判定されなかった場合(N)、最適優先制御結果計算部229は、その処理結果を保存することなくステップS330に進む。また、ステップS325で新たに処理を実行可能な業務アプリケーション203が存在していないと判定された場合には(N)、最適優先制御結果計算部229は、ステップS322に処理を戻す。
図9は、図8のステップS327で記した「フローB」の具体的な内容を示す。本図を図5および図6と共に説明する。
「フローB」では、最適優先制御結果計算部229は、まず、選択された業務アプリケーション203で、処理を待っている処理要求を1つ選択する(ステップS351)。そして、最適優先制御結果計算部229は、この選択時点での合成ワークフローの状態を修正し、選択した処理要求を選択された業務アプリケーション203で実行開始した合成ワークフローの状態情報を作成する(ステップS352)。そして、最適優先制御結果計算部229は、このステップS352で作成された合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報と、現在の制御条件を入力として、図8として示した「フローA」を実行する(ステップS353)。
次に、最適優先制御結果計算部229は、この「フローA」の処理結果が「フローB」の実行中に得られた「フローA」の処理結果の中で最も良好なものであるかどうかを判定する(ステップS354)。最も良好なものであると判定された場合には(Y)、最適優先制御結果計算部229は、得られた結果を「フローB」における最善の結果として保存する(ステップS355)。「フローA」の処理結果の比較方法は、すでに説明した「フローB」の結果の比較方法と同じである。
以上のようにしてステップS355で最善の結果を保存したら、最適優先制御結果計算部229は、選択された業務アプリケーション203での処理を待っている処理要求のうち、まだこの「フローB」の中で選択されていない要求が残っているか否かを判定する(ステップS356)。そのような要求が残っていると判定された場合には(Y)、最適優先制御結果計算部229は、ステップS351に戻って、そのような要求が残らなくなるまで、同様の処理を繰り返す。
「フローB」の中で選択されていない要求が残っていないと判定された場合には(ステップS356:N)、最適優先制御結果計算部229は、ステップS355で保存されている最善の処理結果を「フローB」の処理結果として通知して(ステップS357)、「フローB」における一連の処理を終了する(エンド)。
図10は、計算機資源追加決定部の処理の様子を表わし、図11は計算機資源削減決定部の処理を表わす。両図を図5および図6と共に説明する。なお、これらの図は、計算機資源追加決定部231および計算機資源削減決定部232の動作の一例をそれぞれ示す。計算機資源追加決定部231および計算機資源削減決定部232の動作は、監視制御対象と合意サービス水準の内容、業務システムの特性によって変化する。
計算機資源追加決定部231は、まず検証部230から、最適優先制御結果計算部229での予測結果であるすべての合成ワークフローの実行が完了した時点での合成ワークフローの状態と、この状態に至るまでの履歴情報と、検証部230が予測結果の判定に利用した目標状態管理部236の情報を入力する(ステップS371:Y)。計算機資源追加決定部231は、入力した情報から、合意サービス水準が達成不可能な合成ワークフロー群を特定する(ステップS372)。
次に、計算機資源追加決定部231は、計算機資源を追加する業務アプリケーション203と追加量を決定する(ステップS373)。この決定方法の一例は、ステップS372で特定された合成ワークフロー群が各業務アプリケーション203に実行を要求してから実行されるまでの待ち時間(待機時間)の合計が最も大きいと予測された業務アプリケーション203に、最小単位の計算機資源を追加するという方法である。また、この決定方法は、ステップS372で特定された合成ワークフロー群が各業務アプリケーション203に実行を要求してから実行されるまでの待ち時間を業務アプリケーションの実行所要時間で除した値に、業務アプリケーション203に計算機資源を最小単位追加した場合の業務アプリケーション203の実行所要時間改善量を掛けた値を、ステップS372で特定された合成ワークフロー群内のワークフローが各業務アプリケーション203に対して要求しているすべての実行要求について業務アプリケーション203ごとに足し合わせた値を求め、この値が最も大きいと予測された業務アプリケーション203に、最小単位の計算機資源を追加するという方法でも良い。
以上のようにして計算機資源を追加する業務アプリケーション203と追加量を決定したら(ステップS373)、計算機資源追加決定部231は、求められた業務アプリケーション203に対して、求められた計算機資源を追加した状態を業務システムリポジトリ213に保存する(ステップS374)。このようにして計算機資源追加決定部231は、処理を終了する(エンド)。
図11は、計算機資源削減決定部の動作を示す。本図を図5と共に説明する。
計算機資源削減決定部232は、検証部230から、最適優先制御結果計算部229での予測結果であるすべての合成ワークフローの実行が完了した時点での合成ワークフローの状態と、この状態に至るまでの履歴情報と、検証部230が予測結果の判定に利用した目標状態管理部236の情報を入力する(ステップS391:Y)。
計算機資源削減決定部232は次に、この入力した情報から、合意サービス水準に対する余裕が最も小さい合成ワークフローを特定する(ステップS392)。そして、この特定された合成ワークフロー以外の合成ワークフローに対する合意サービス水準の達成という観点から、計算機資源を削減する業務アプリケーション203と削減量を決定する(ステップS393)。この決定方法の一例は、ステップS392で特定された合成ワークフローが予測を行った期間に利用しない業務アプリケーションのうち、待ち時間が最も短いものから最小単位の計算機資源を削減するという方法である。また、この決定方法は、ステップS392で特定された合成ワークフローが予測を行った期間に利用しない業務アプリケーション203のうち、過去一定期間の利用率が最も小さいものから最小単位の計算機資源を削減するという方法であってもよい。
以上のようにしてステップS393で計算機資源を削減する業務アプリケーション203と削減量を決定したら、計算機資源削減決定部232は、求められた業務アプリケーション203から求められた量の計算機資源を削減した状態を業務システムリポジトリ213に保存する(ステップS394)。このようにして計算機資源削減決定部232は、処理を終了する(エンド)。計算機資源の削減に関して、合意サービス水準に対する余裕が最も小さい合成ワークフローを最初に特定する(図11ステップS392)ことは必須の条件ではない。これ以外の手法でも計算機資源の削減は可能である。
以上説明した本発明の実施の形態のワークフロー監視制御システム205は、業務アプリケーションおよびワークフローシステムの構成を変更することなく、ワークフロー実行システム400が合意サービス水準に基づくサービス提供品質を維持する可能性を高めることができる。その理由は、ワークフロー監視制御システム205が業務アプリケーションやワークフローシステムの動作予測を行い、合意サービス水準に基づくサービス提供品質を維持できる適切な動作を発見して、業務アプリケーション203を実行する業務システム210等が適切な動作を行うような制御を行っているためである。また、本実施の形態のワークフロー監視制御システム205が、必要に応じて業務アプリケーションで使用する計算機資源を制御することも、が合意サービス水準に基づくサービス提供品質を維持する可能性を高める。
また、本実施の形態のワークフロー監視制御システム205は、複数の合意サービス水準が設定されている場合でも、ワークフロー実行システム400が合意サービス水準に基づくサービス提供品質を維持する可能性を高める。その理由は、本実施の形態のワークフロー監視制御システム205が、業務アプリケーションと、ワークフローシステムの動作予測を行い、複数の合意サービス水準に基づくサービス提供品質を維持できる適切な動作を発見するためである。
更に、本実施の形態のワークフロー監視制御システム205は、業務アプリケーションを実行するための計算機資源を節約しながら、ワークフロー実行システム400が合意サービス水準に基づくサービス提供品質を維持する可能性を高める。その理由は、本実施の形態のワークフロー監視制御システム205は、業務アプリケーションやワークフローシステムの動作予測を行い、ワークフロー実行システム400が合意サービス水準に基づくサービス提供品質を維持できる範囲内で業務アプリケーションが使用する計算機資源を節約するよう制御するからである。
[動作例1]
次に本発明の動作例を説明する。
図12は、本発明の一動作例におけるワークフロー実行システム400の構成の一部を表わす。本動作例のワークフロー実行システム400には、第1および第2のワークフローシステム2041、2042と、第1〜第7の業務アプリケーション2031〜2037が存在しており、これらがワークフロー監視制御システム205の監視制御対象となっている。ただし、この図ではワークフロー監視制御システム205、第1〜第7の業務アプリケーション2031〜2037を配備した業務システム210(図4参照)の図が省略されている。また、第1および第2のワークフローシステム2041、2042と、第1〜第7の業務アプリケーション2031〜2037、第1〜第7の通信制御システム2071〜2077ならびに第1および第2のワークフロー監視システム2081、2082の接続関係は、図4に示した例示的な接続関係とは異なる。
第1のワークフローシステム2041には1つのワークフロー定義が存在する。このワークフロー定義にしたがって処理されるワークフローは、図12の上半分に示されるスタート(START)からエンド(END)で示される流れにおける各ステップS1〜ステップS4を経る過程で、第1〜第4の業務アプリケーション2031〜2034と順次通信を行う。
第2のワークフローシステム2042にも1つのワークフロー定義が存在する。このワークフロー定義にしたがって処理されるワークフローは、図12の下半分に示されるスタート(START)からエンド(END)で示される流れにおける各ステップS11〜ステップS16を経る過程で、第5、第3、第6および第7の業務アプリケーション2035、2033、2036および2037と順次通信を行う。
ここで、第1の通信制御システム2071はステップS1の処理で第1の業務アプリケーション2031の通信を制御し、第2の通信制御システム2072はステップS2の処理で第2の業務アプリケーション2032の通信を制御する。また、第3の通信制御システム2073はステップS3およびステップS12の処理で第3の業務アプリケーション2033の通信を制御し、第4の通信制御システム2074はステップS4の処理で第4の業務アプリケーション2034の通信を制御する。更に、第5の通信制御システム2075はステップS11の処理で第5の業務アプリケーション2035の通信を制御し、第6の通信制御システム2076はステップS14の処理で第6の業務アプリケーション2036の通信を制御する。更にまた、第7の通信制御システム2077はステップS15およびステップS16の処理で第7の業務アプリケーション2037の通信を制御する。また、第8の通信制御システム2078は第1のワークフローシステム2041全体の通信制御を、第9の通信制御システム2079は第2のワークフローシステム2042全体の通信制御をそれぞれ行う。
図13は、本動作例で使用する各業務アプリケーションの性能特性を表わす。図13は、縦軸に第1〜第7の業務アプリケーション2031〜2037を示し、横軸に計算機資源量として、「10」、「20」等といった単位量の倍数を示しており、各セルに、対応する計算機資源量が与えられた場合の対応するアプリケーションのワークフロー1件当たりの処理時間を示している。たとえば、第1の業務アプリケーション2031は、計算機資源量が10単位のときに、1件当たり10秒で処理を行うが、計算機資源量が倍の20単位になると、1件当たりの処理時間が半分の5秒に短縮する。図13に示した第1〜第7の業務アプリケーション2031〜2037についての性能特性を表わしたデータは、図5に示す業務システムリポジトリ213に格納されている。
図14は、それぞれの業務アプリケーションに初期状態で割り当てられた計算機資源量を示す。第1〜第7の業務アプリケーション2031〜2037に関する初期状態の計算機資源量も、図5に示す業務システムリポジトリ213に格納されている。
計算機資源量のこの割当状況で、図12に示すように第1の業務アプリケーション2031と第5の業務アプリケーション2035は、処理1件あたり5秒で処理を行う。また、第2の業務アプリケーション2032は処理1件あたり8秒で、第3の業務アプリケーション2033は処理1件あたり15秒で、第4の業務アプリケーション2034は処理1件あたり12秒で、第6の業務アプリケーション2036は処理1件あたり10秒で、第7の業務アプリケーション2037は処理1件あたり20秒で、それぞれ処理を行う。
これらワークフロー定義および業務アプリケーション定義は、ワークフロー定義・業務定義リポジトリ211に格納されている。また、図5に示すワークフロー定義・業務定義取得部221およびワークフロー合成部222は、第1のワークフローシステム2041に存在する1つのワークフロー定義と、第1〜第4の業務アプリケーション2031〜2034に存在する計4つの業務アプリケーション定義を合成した1つの合成ワークフロー定義と、第2のワークフローシステム2042に存在する1つのワークフロー定義と、第5、第3、第6および第7の業務アプリケーション2035、2033、2036、2037に存在する計5つの業務アプリケーション定義を合成した1つの合成ワークフロー定義を生成し、合成ワークフロー定義DB223(図5)に格納する。
図12に示したワークフローのワークフロー定義には合意サービス水準が設定されている。第1のワークフローシステム2041に存在する1つのワークフロー定義を中心とする合成ワークフロー定義には、処理を180秒以内に完了することを要求する合意サービス水準が設定されている。また、第2のワークフローシステム2042に存在する1つのワークフロー定義を中心とする合成ワークフロー定義には、合成ワークフロー定義の利用者に応じて2つの合意サービス水準が定義されている。具体的には、例えば、一部の利用者から受けた処理を100秒以内に完了すること、他の利用者から受けた処理を150秒以内に完了することを要求する合意サービス水準が設定されている。このような合意サービス水準は、合意サービス水準リポジトリ212(図5)に格納されている。このように合意サービス水準を利用者別に複数設定することで、それぞれの利用者のサービスの要求度に応じたサービス提供品質を確保することが可能になる。
本動作例のワークフロー実行システム400では、第1のワークフロー監視システム2081が第1のワークフローシステム2041を、第2のワークフロー監視システム2082が第2のワークフローシステム2042を監視対象としている。
初期状態で、各通信制御システム2071〜2079の制御情報保持部246(図6参照)は、それぞれの制御対象が送信する情報を各通信制御システム2071〜2079が即座に送信することを指示する設定情報を保持する。また、制御情報保持部246は、それぞれの制御対象が受信する情報を各通信制御システム2071〜2079が一旦保持して、制御対象の処理時間と同じ間隔で、これらを受信した順に制御対象に送信することを指示する設定情報を保持する。更に、第1および第2のワークフローシステム2041、2042ならびに第1〜第7の業務アプリケーション2031〜2037の間の通信は、通信監視システム206によって監視されている。これらの監視対象および制御対象を定義する情報は、制御システム格納DB237(図5)に格納されている。
その他に、起動制御部227(図5)は、例えば、60秒ごとに状態観測部228(図5)を起動するように設定されている。また、予測部233(図5)は、入力された合成ワークフローの状態の0.1秒後の状態を求めるよう設定されている。
また、検証部230(図5)が、予測結果が合意サービス水準を大きく超過して達成していると判定する状態とは、例えば、すべての合成ワークフローが合意サービス水準で定められた時間の半分以下の時間で完了している状態である。
図15は、時刻0から合成ワークフローが実行されているときの時刻660におけるワークフロー監視制御システムの状態を示す。図16は、時刻0から合成ワークフローが実行されているときの、時刻660に実行されている合成ワークフローの状態を示す。図15で図12と同一部分には同一の符号を付しており、適宜説明を省略する。
図15および図16に示すように、この時刻660において第1のワークフローシステム2041により実行を制御される6個の合成ワークフロー(a1)〜(f1)と、第2のワークフローシステム2042により実行を制御される6個の合成ワークフロー(a2)〜(f2)が存在する。合成ワークフロー(a1)は既に動作を完了している。合成ワークフロー(b1)は第3の業務アプリケーション2033で実行中である。合成ワークフロー(c1)、(d1)、(e1)、(f1)は第3の通信制御システム2073において実行待ち状態で保持されている。合成ワークフロー(a2)は第7の業務アプリケーション2037で実行中であり、合成ワークフロー(b2)は第6の業務アプリケーション2036で実行中である。合成ワークフロー(c2)、(d2)、(e2)は第3の通信制御システム2073において実行待ち状態で保持されており、合成ワークフロー(f2)は第5の業務アプリケーション2035で実行中である。
図15に示されている第2のワークフローシステム2042における6個の合成ワークフロー(a2)〜(f2)のうち、合成ワークフロー(a2)、(b2)、(c2)、(d2)および合成ワークフロー(f2)は与えられた合意サービス水準に従って処理を150秒以内に完了することが求められており、合成ワークフロー(e2)は処理を90秒以内に完了することが求められている。
図17は、起動制御部227が状態観測部228を初めて起動したとき取得する合成ワークフローの状態および履歴情報の一例を示す。本図を、図5および図15と共に説明する。
時刻660において起動制御部227が状態観測部228を初めて起動すると、状態観測部228は図16にあるような合成ワークフローの状態および履歴情報を取得する。
この時点で制御履歴格納DB234には、制御情報保持部246の初期状態である、制御対象が送信する情報は即座に送信し、制御対象が受信する情報を即座に送信するという情報が設定されている。状態観測部228は最適優先制御結果計算部229に、図16にあるような合成ワークフローの状態および履歴情報と、制御履歴格納DB234の情報を入力する。
最適優先制御結果計算部229は、予測部233を利用し、すべての合成ワークフローが完了するまでの合成ワークフローの動作の予測を作成する。最適優先制御結果計算部229はまず、予測部233に時刻660のときの合成ワークフローの状態および履歴情報を通知し、時刻660.1のときの合成ワークフローの状態予測を得る。
時刻を進めながら同様の予測を繰り返し実行していくと、時刻670.102のとき、第3の業務アプリケーション2033が合成ワークフロー(b1)の処理を終えて、新たな合成ワークフローを実行可能となる。このとき第3の業務アプリケーション2033で実行可能な合成ワークフローは、合成ワークフロー(c1)、(d1)、(e1)、(f1)、(c2)、(d2)、(e2)、(f2)である。最適優先制御結果計算部229は、新たに第3の業務アプリケーション2033で処理を実行する処理として、それぞれの合成ワークフローを選んだ場合の将来の状態を予測する。最適優先制御結果計算部229は、これらの予測結果のうち最も良好な結果を、求める予測結果として採用する。図17は、この予測結果を示す。図17によると、合成ワークフロー(d1)、(e1)、(c2)、(d2)、(e2)の処理時間が合意サービス水準に達していない。合意サービス水準の達成を図る為には、計算機資源の追加が必要である。
そこで、計算機資源追加決定部231は、計算機資源を追加する業務アプリケーションと追加量を決定する。このために、計算機資源追加決定部231は、予想待ち時間改善量という概念を用いる。予想待ち時間改善量は、合意サービス水準に達しない合成ワークフロー群が各業務アプリケーション203に実行を要求してから実行されるまでの待ち時間を業務アプリケーションの実行所要時間で除した値に、業務アプリケーションに計算機資源を最小単位追加した場合の業務アプリケーションの実行所要時間改善量を掛けた値を、図10のステップS372で特定された合成ワークフロー群内のワークフローが各業務アプリケーションに対して要求しているすべての実行要求について業務アプリケーション203ごとに足し合わせた値である。そして、計算機資源追加決定部231は、得られた予想待ち時間改善量が最も大きいと予測された業務アプリケーションに対して、最小単位の計算機資源を追加する。
図18は、予測結果に基づいて算出した各業務アプリケーションの予想待ち時間改善量を表わす。図18は、予想待ち時間改善量が最も大きいと予測される業務アプリケーションを求めるため、予測結果に基づいて算出した、各業務アプリケーションの予想待ち時間改善量を示す。
図18によれば、第3の業務アプリケーション2033が最も予想待ち時間改善量が大きい。したがって、この例の場合、計算機資源追加決定部231は、第3の業務アプリケーション2033に計算機資源を追加する。この結果、第3の業務アプリケーション2033に割り当てられる計算機資源は60単位となり、当該アプリケーションの処理所要時間は12.5秒/件となる。
図19は、計算機資源を最初に追加した場合の合成ワークフローの状態を示す。本図を、図5および図15と共に説明する。
最適優先制御結果計算部229は、計算機資源が最初に追加された場合の合成ワークフローの動作予測を、図17の予測結果を求めたときと同じ方法で取得する。図19はこの結果を示す。図19によると、合成ワークフロー(c1)、(d1)は合意サービス水準を達成できるが、合成ワークフロー(c2)、(d2)、(e2)は未だ合意サービス水準を達成できない。このため、計算機資源追加決定部231は、再度計算機資源を追加する業務アプリケーションを選択するために予想待ち時間改善量を求める。
図20は、計算機資源を2番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わす。この図によると、第3の業務アプリケーション2033が最も予想待ち時間改善量が大きい。このため、計算機資源追加決定部231は、第3の業務アプリケーション2033に計算機資源を追加する。これにより、第3の業務アプリケーション2033に割り当てられる計算機資源は70単位となり、当該アプリケーションの処理所要時間は10.714秒/件となる。
この条件で、最適優先制御結果計算部229は、計算機資源が追加された場合の合成ワークフローの動作予測を、図17の予測結果を求めたときと同じ方法で取得する。
図21は、計算機資源が2番目に追加された場合における合成ワークフローの状態を示す。図21によると、合成ワークフロー(c2)、(d2)、(e2)は未だ合意サービス水準を達成できない。このため、計算機資源追加決定部231は、再度計算機資源を追加する業務アプリケーションを選択するために予想待ち時間改善量を求める。
図22は、計算機資源を3番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わす。この図によると、第3の業務アプリケーション2033が最も予想待ち時間改善量が大きい。このため、計算機資源追加決定部231は、第3の業務アプリケーション2033に計算機資源を追加する。これにより、第3の業務アプリケーション2033に割り当てられる計算機資源は80単位となり、当該アプリケーションの処理所要時間は9.375秒/件となる。
この条件で、最適優先制御結果計算部229(図5)は、計算機資源が追加された場合の合成ワークフローの動作予測を、図17の予測結果を求めたときと同じ方法で取得する。
図23は、計算機資源が3番目に追加された場合における合成ワークフローの状態を示す。図23によると、合成ワークフロー(c2)、(d2)、(e2)は未だ合意サービス水準を達成できない。このため、計算機資源追加決定部231は、再度計算機資源を追加する業務アプリケーションを選択するために予想待ち時間改善量を求める。
図24は、計算機資源を4番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わす。この図によると、第7の業務アプリケーション2037が最も予想待ち時間改善量が大きい。このため、計算機資源追加決定部231は、第7の業務アプリケーション2037に計算機資源を追加する。これにより、第7の業務アプリケーション2037に割り当てられる計算機資源は50単位となり、当該アプリケーションの処理所要時間は16秒/件となる。
この条件で、最適優先制御結果計算部229(図5)は、計算機資源が追加された場合の合成ワークフローの動作予測を、図17の予測結果を求めたときと同じ方法で取得する。
図25は、計算機資源が4番目に追加された場合における合成ワークフローの状態を示す。図25によると、合成ワークフロー(d2)、(e2)は合意サービス水準を達成できるが、合成ワークフロー(c2)は未だ合意サービス水準を達成できない。このため、計算機資源追加決定部231は、再度計算機資源を追加する業務アプリケーションを選択するために予想待ち時間改善量を求める。
図26は、計算機資源を5番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わす。この図によると、第3の業務アプリケーション2033が最も予想待ち時間改善量が大きい。このため、計算機資源追加決定部231は、第3の業務アプリケーション2033に計算機資源を追加する。これにより、第3の業務アプリケーション2033に割り当てられる計算機資源は90単位となり、当該アプリケーションの処理所要時間は8.333秒/件となる。
この条件で、最適優先制御結果計算部229(図5)は、計算機資源が追加された場合の合成ワークフローの動作予測を、図17の予測結果を求めたときと同じ方法で取得する。
図27は、計算機資源が5番目に追加された場合における合成ワークフローの状態を示す。図27によると、合成ワークフロー(c2)は未だ合意サービス水準を達成できない。このため、計算機資源追加決定部231は、再度計算機資源を追加する業務アプリケーションを選択するために予想待ち時間改善量を求める。
図28は、計算機資源を6番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わす。この図によると、第7の業務アプリケーション2037が最も予想待ち時間改善量が大きい。このため、計算機資源追加決定部231は、第7の業務アプリケーション2037に計算機資源を追加する。これにより、第7の業務アプリケーション2037に割り当てられる計算機資源は60単位となり、当該アプリケーションの処理所要時間は13.333秒/件となる。
この条件で、最適優先制御結果計算部229(図5)は、計算機資源が追加された場合の合成ワークフローの動作予測を、図17の予測結果を求めたときと同じ方法で取得する。
図29は、計算機資源が6番目に追加された場合における合成ワークフローの状態を示す。図29によると、合成ワークフロー(c2)は未だ合意サービス水準を達成できない。このため、計算機資源追加決定部231は、再度計算機資源を追加する業務アプリケーションを選択するために予想待ち時間改善量を求める。
図30は、計算機資源を7番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わす。この図によると、第7の業務アプリケーション2037が最も予想待ち時間改善量が大きい。このため、計算機資源追加決定部231は、第7の業務アプリケーション2037に計算機資源を追加する。これにより、第7の業務アプリケーション2037に割り当てられる計算機資源は70単位となり、当該アプリケーションの処理所要時間は11.429秒/件となる。
この条件で、最適優先制御結果計算部229(図5)は、計算機資源が追加された場合の合成ワークフローの動作予測を、図17の予測結果を求めたときと同じ方法で取得する。
図31は、計算機資源が7番目に追加された場合における合成ワークフローの状態を示す。図31によると、この条件で、すべての合成ワークフローが合意サービス水準を達成できると予想される。
以上のようにして計算機資源の追加によってすべての合成ワークフローが合意サービス水準を達成できると予想されるようになったら、検証部230は、前述した予測における優先制御条件と計算機資源の追加ならびに削除条件が、前回設定した制御情報と異なっているか否かを判定する。この例の場合、時刻660で初めて制御が行われたので、検証部230は、前回設定した制御情報と異なっていると判定し、制御信号送信部235が制御情報を通信制御システム207に送信する。
図32は、時刻720の時点に起動制御部227が状態観測部228を再度起動した場合における合成ワークフローの状態を示す。この時刻720において、図5に示した起動制御部227が状態観測部228を再度起動すると、状態観測部228はこの図32にあるような合成ワークフローの状態および履歴情報を取得する。図32を図31と比較すると、図12のステップS13で示す条件分岐が原因で、合成ワークフロー(d2)の処理が予測結果と異なっている。これ以外の合成ワークフローは、予測結果どおりに処理が進捗している。
図33は、時刻660の時点と同様に、時刻720の時点で将来を予測した場合の合成ワークフローの状態を示す。この図33に示されるように、この場合はすべての合成ワークフローが合意サービス水準を達成すると予想される。このため、新規の制御は行われない。
次に、この監視対象において、合成ワークフローの状態が異なる場合の動作を説明する。
図34は、時刻0から合成ワークフローが実行された場合の、時刻660に実行されている合成ワークフローの状態を示す。第1のワークフローシステム2041により実行が制御される3個の合成ワークフローと、第2のワークフローシステム2042により実行が制御される2個の合成ワークフローが存在する。時刻660において、合成ワークフロー(a1)は既に動作を完了しており、合成ワークフロー(b1)は第4の業務アプリケーション2034で実行中であり、合成ワークフロー(c1)は第3の業務アプリケーション2033で実行中である。合成ワークフロー(a2)は第7の業務アプリケーション2037で実行中であり、合成ワークフロー(b2)は第5の業務アプリケーション2035で実行中である。第2のワークフローシステム2042における2個の合成ワークフローは与えられた合意サービス水準に従って150秒以内に完了することが求められている。
図35は、時刻660に起動制御部227が状態観測部228を初めて起動した場合の、状態観測部228が取得する合成ワークフローの状態を示す。本図を、図5と共に説明する。このように時刻660において起動制御部227が状態観測部228を初めて起動すると、状態観測部228はこの図35にあるような合成ワークフローの状態および履歴情報を取得する。この時点で、図5に示した制御履歴格納DB234には、制御情報保持部246(図6)の初期状態の情報が設定されている。これは、制御対象が送信する情報は即座に送信し、制御対象が受信する情報は一旦保持して、制御対象の平均処理時間と同じ間隔で受信した順に送信することを通信制御システム207等に指示する情報である。状態観測部228は最適優先制御結果計算部229に、図35に示す合成ワークフローの状態および履歴情報と、制御履歴格納DB234の情報を入力する。
図36は、最適優先制御結果計算部229が予測部233を用いて作成したすべての合成ワークフローが完了するまでの合成ワークフローの動作の予測を示す。図5の最適優先制御結果計算部229が、予測部233を利用して作成した図36に示される合成ワークフローの動作の予測によると、すべての合成ワークフローは合意サービス水準を大幅に超過して達成している。
このため、計算機資源削減決定部232(図5)は、計算機資源を削減する業務アプリケーションと削減量を決定する。ここで計算機資源削減決定部232は、合意サービス水準に対する余裕が最も小さい合成ワークフローが予測対象期間に利用しない業務アプリケーションのうち、過去一定期間の利用率が最も小さいものから最小単位の計算機資源を削減するという方法を採る。そこで、計算機資源削減決定部232(図5)は、合成ワークフロー履歴から、過去一定期間の業務アプリケーション利用率を求める。
図37は、計算機資源削減決定部232の求めた各業務アプリケーションの利用率を表わす。この図37に示した結果が得られた場合、利用率が最も低い業務アプリケーションは第1の業務アプリケーション2031である。また、合意サービス水準に対する余裕が最も小さい合成ワークフローである合成ワークフロー(b1)は、時刻660以降に第1の業務アプリケーション2031を利用しないことが合成ワークフロー定義から判断される。このため、計算機資源削減決定部232は、第1の業務アプリケーション2031から最小単位の計算機資源を削減することを決定する。これにより、第1の業務アプリケーション2031の計算機資源量は、たとえば図14に示した計算機資源量から10単位が削減されて10単位となり、第1の業務アプリケーション2031の処理所要時間は10秒/件となる。
次に、検証部230は、予測における優先制御条件と計算機資源の追加、削除条件が前回設定した制御情報と異なっているか否かを判定する。この場合、時刻660で初めて制御が行われたため、検証部230は、前回設定した制御情報と異なっていると判定し、制御信号送信部235が制御情報を通信制御システム207に送信する。
次に本発明の第1〜第3の変形例を説明する。ここで、第1の変形例では、図4に示した業務アプリケーション2031、2032、等は要求を並列に処理する。また、第2の変形例では、業務アプリケーション2031、2032、等は、要求を時分割処理する。第3の変形例では、業務アプリケーション2031、2032、等は優先制御を行う。
<発明の第1の変形例>
図38は、本発明の第1の変形例のワークフロー監視制御システムの通信環境についてその要部を表わす。この図38は、一例として2つの業務システム2101、2104における第1〜第4の業務アプリケーション2031A〜2034Aを中心にシステムの要部を表わす。図38に示されていない部分は、図4と同一の構成である。図38では、図4と同一部分は同一の符号を付されており、これらの説明は適宜省略される。第1の変形例の説明に於いては、先の実施の形態および動作例で図示した業務アプリケーション203は、業務アプリケーション203Aとして参照される。
第1の業務アプリケーション2031Aは、第1および第2の業務アプリケーション(AP)実行部50111、50112を備えている。また、第2の業務アプリケーション2032Aは、第1および第2の業務アプリケーション実行部50121、50122を備えている。第3の業務アプリケーション2033Aは、第1の業務アプリケーション実行部50131を備えている。第4の業務アプリケーション2034Aは、第1および第2の業務アプリケーション実行部50141、50142を備えている。この図38は、第1〜第4の業務アプリケーション2031A〜2034Aのみを図示しているが、それ以外の図示しない業務アプリケーション2035A等も同様に1台以上の業務アプリケーション実行部501を備えている。また、各業務アプリケーション2031A、2032A等は、必要に応じて2以上の台数の業務アプリケーション実行部501を備えることができる。ここでは、特に断らない限り、図示した第1〜第4の業務アプリケーション2031A〜2034Aが説明される。なお、図に於いて、APEは業務アプリケーション(AP)実行部を意味する。
第1の業務アプリケーション2031Aは、業務システム2101から情報を受信すると、第1および第2の業務アプリケーション実行部50121、50122のうちの業務実行中でないものを選択して業務を実行する。第3および第4の業務アプリケーション2033A、2034Aも同様である。
このワークフロー監視制御システムの通信環境では、各業務システム2101、2104、等上で実行される業務アプリケーション2031A、2032A、等が使用する業務アプリケーション実行部501の数を制御する業務アプリケーション制御システム209Aが1つ以上存在している。この図38に示す例で業務アプリケーション制御システム209Aは、ワークフロー監視制御システム205Aと共に第2のサブネットワーク2012に接続されている。
図39は、この第1の変形例におけるワークフロー監視制御システムとその周辺のシステム構成の要部を表わす。この図39では、図5と同一部分は同一の符号が付されており、これらの説明は適宜省略される。本図を、図38と共に説明する。ワークフロー監視制御システム205Aにおける計算機資源追加決定部231Aは、合意サービス水準を達成するために必要な業務アプリケーション実行部501の数を計算する。また、計算機資源削減決定部232Aは、合意サービス水準達成を妨げない業務アプリケーション実行部501の削減量を計算する。更に、予測部233Aは、ある時点での合成ワークフローの状態と、業務アプリケーション制御システム209Aの業務アプリケーション実行部501の数から単位時間後の合成ワークフローの状態を予測する。業務システムリポジトリ213Aには、業務アプリケーション203Aを配備可能な業務システム210の配備情報と、業務システム210の性能特性情報と、業務システム210における業務アプリケーション203Aの配備情報と、業務アプリケーション203Aの業務アプリケーション実行部数情報とが格納されている。
最適優先制御結果計算部229Aは、入力された情報を基にして、現在実行されている合成ワークフローに対して最適な優先制御が行われた場合の将来の状態を予測する。この予測は予測部233Aが業務システムリポジトリ213Aに格納された業務アプリケーションの業務アプリケーション実行部数情報を用いて行う。最適優先制御結果計算部229Aは予測結果を検証部230Aに出力する。なお、図1のサービス提供品質算出手段14は、それぞれのワークフローの業務の完了時におけるサービス提供品質を算出する。その算出結果が本実施の形態における予測結果の一例である。
検証部230Aは予測結果を目標状態管理部236と対比して目標達成状況を判定する。図1の品質非到達判別手段15が、第1の変形例における検証部230Aの一例であり、ワークフローのいずれかが業務の完了時におけるサービス提供品質の下限値を下回るとき、これを判別する。この結果、検証部203は、予測結果が妥当であれば制御情報を制御履歴格納DB234に格納し、制御信号送信部235によって通信制御システム207と業務アプリケーション制御システム209に予測結果の妥当性を送信して終了する。予測結果が合意サービス水準を達成していなければ、検証部230は、計算機資源追加決定部231Aに最適優先制御結果計算部229Aの入力と出力を通知する。
計算機資源追加決定部231Aは、受け取った最適優先制御結果計算部229Aの入力と出力を参照して適切な業務アプリケーションに計算機資源を追加する計画を作成し、業務システムリポジトリ213Aに設定する。品質非到達判別手段15が或るワークフローについてサービス提供品質の下限値を下回ることを判別したとき、計算機資源再配分手段16が複数の処理部に対する業務アプリケーション実行部501の数の変更による計算機資源の量を再配分することで所定のワークフローのサービス提供品質が下限値を下回ることを回避させるようにする。この処理が、第1の変形例の計算機資源を追加する計画作成の一例である。最適優先制御結果計算部229Aは、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報とを入力として、再度合成ワークフローに対して最適な優先制御が行われた場合の将来の状態を予測する。
検証部230Aは、この予測結果が合意サービス水準を大きく超過して達成していると判定した場合、計算機資源削減決定部232Aに最適優先制御結果計算部229Aの入力と出力を通知する。計算機資源削減決定部232Aは、受け取った最適優先制御結果計算部229Aの入力と出力を参照して、業務アプリケーション203に配分された業務アプリケーション実行部数を適切に削減する計画を作成し、業務システムリポジトリ213Aに設定する。最適優先制御結果計算部229Aは、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報とを入力として再度合成ワークフローに対して最適な優先制御が行われた場合の将来の状態を予測する。
図40は、この第1の変形例におけるワークフロー監視制御システムの全体的な処理動作の概要を表わす。本図を、図39および図6と共に説明する。ただし、図6のワークフロー監視制御システム205は図39のワークフロー監視制御システム205Aと読み替える。
ワークフロー監視制御システム205Aは、図示されないCPUと、このCPUが実行する制御プログラムを格納するハードディスク等の記憶媒体を備えている。CPUはこの制御プログラムを実行することによって先に説明したワークフロー監視制御システム205A内の各部のうちの少なくとも一部をソフトウェアで機能的に実現しても良い。また、ワークフロー監視制御システム205A内の各部、または、CPUは、次に説明する制御を実現する。
起動制御部227は、所定の制御時間が到来するまで待機しており(ステップS301)、動作が停止している。所定の制御時間が到来すると(Y)、起動制御部227は状態観測部228を起動し、状態観測部228は、監視情報格納DB226に格納された監視情報を合成ワークフロー定義DB223に格納された合成ワークフロー定義と対応付ける。そして、状態観測部228は、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報を作成する(ステップS302)。
次に、最適優先制御結果計算部229Aは、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報と、制御履歴格納DB234から取得した現在の制御条件とを入力する。最適優先制御結果計算部229Aは入力したこれらの情報を基にして、現在実行されている合成ワークフローの将来の状態を予測する。合成ワークフローの将来の状態の予測結果と最適優先制御結果計算部229Aへの入力は、検証部230Aに出力される(ステップS303)。
検証部230Aは予測結果に関して、目標状態管理部236を参照して妥当性を判定する(ステップS304)。この結果、予測結果が妥当であれば(Y)、すなわち、予測結果が合意サービス水準を達成しており、かつこれが合意サービス水準を大幅に超過するようなものでない場合には、検証部230Aは、制御履歴格納DB234を参照して、制御条件が現行の制御条件と同一であるかを判定する(ステップS305)。同一であれば(Y)、検証部230Aは、制御条件は送信せずに動作を終了し、ワークフロー監視制御システム205AはステップS301の処理に戻る(リターン)。
制御条件が現行の制御条件と同一ではない場合には(ステップS305:N)、検証部230Aは、その同一でない制御条件を制御履歴格納DB234に格納する。そして、制御信号送信部235は通信制御システム207に制御条件を送信する(ステップS306)。この後、ワークフロー監視制御システム205AはステップS301の処理に戻る(リターン)。
ステップS304で予測結果が妥当でないと判定される(N)場合は、次の2つの何れかの場合である。1つは、予測結果が合意サービス水準を達成していないと判定された場合である。もう1つは、予測結果が合意サービス水準を大幅に超過したと判定された場合である。したがって、予測結果が妥当でないと判定された場合には(ステップS304:N)、検証部230Aは、合意サービス水準を未達成か否かの判別をする(ステップS307)。
予測結果が合意サービス水準を達成していないと判定された場合には(Y)、計算機資源追加決定部231Aが計算機資源を追加すべき適切な業務アプリケーションと追加量を計算する。そして、計算機資源追加決定部231Aは、追加後の業務アプリケーションの業務アプリケーション実行部数を業務システムリポジトリ213Aに設定し(ステップS308A)、最適優先制御結果計算部229Aは現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報を入力として現在実行されている合成ワークフローの将来の状態を予測する(ステップS303)。
これに対して、予測結果が合意サービス水準を大幅に超過したと判定された場合には(ステップS307:N)、計算機資源削減決定部232Aが計算機資源を削減すべき適切な業務アプリケーションと削減量を計算して、削減後の業務アプリケーションの業務アプリケーション実行部数を業務システムリポジトリ213Aに設定する(ステップS309A)。予測結果が合意サービス水準を大きく超過していると判定する方法の一例としては、合意サービス水準に対する余裕が最も小さい合成ワークフローの合意サービス水準との差が所定の範囲を超えているか否かにより判定する方法がある。このようにして計算機資源を削減したら、検証部230は、ステップS305の処理に進む。
図41は、第1の変形例における計算機資源追加決定部231Aの処理の様子を表わし、図42は計算機資源削減決定部232Aの処理の様子を表わす。両図を、図38、図39および図6と共に説明する。なお、これらの図は、計算機資源追加決定部231Aおよび計算機資源削減決定部232Aの動作の一例をそれぞれ示す。計算機資源追加決定部231Aおよび計算機資源削減決定部232Aの動作は、監視制御対象と合意サービス水準の内容、業務システムの特性によって変化する。
計算機資源追加決定部231Aは、まず検証部230Aから、最適優先制御結果計算部229Aでの予測結果であるすべての合成ワークフローの実行が完了した時点での合成ワークフローの状態と、この状態に至るまでの履歴情報と、検証部230Aが予測結果の判定に利用した目標状態管理部236の情報を入力する(ステップS371:Y)。そして、計算機資源追加決定部231Aは、入力した情報から、合意サービス水準が達成不可能な合成ワークフロー群を特定する(ステップS372)。
次に、計算機資源追加決定部231Aは、計算機資源を追加する業務アプリケーション203Aと追加量を決定する(ステップS373)。この決定方法の一例は、ステップS372で特定された合成ワークフロー群が各業務アプリケーション203Aに実行を要求してから実行されるまでの待ち時間(待機時間)の合計が最も大きいと予測された業務アプリケーション203Aに、最小単位の計算機資源を追加するという方法である。また、この決定方法は、ステップS372で特定された合成ワークフロー群が各業務アプリケーション203Aに実行を要求してから実行されるまでの待ち時間を業務アプリケーションの実行所要時間で除した値に、業務アプリケーション203Aに計算機資源を最小単位追加した場合の業務アプリケーション203Aの実行所要時間改善量を掛けた値を、ステップS372で特定された合成ワークフロー群内のワークフローが各業務アプリケーション203Aに対して要求しているすべての実行要求について業務アプリケーション203ごとに足し合わせた値を求め、この値が最も大きいと予測された業務アプリケーション203Aに、最小単位の計算機資源を追加するという方法でも良い。
以上のようにして計算機資源を追加する業務アプリケーション203Aと追加量を決定したら(ステップS373)、計算機資源追加決定部231Aは、求められた業務アプリケーション203Aに対して、求められた計算機資源(業務アプリケーション実行部501)を追加した状態を業務システムリポジトリ213Aに保存する(ステップS374A)。このようにして計算機資源追加決定部231Aは、処理を終了する(エンド)。
図42は、計算機資源削減決定部の動作を示す。本図を、図38および図39と共に説明する。
計算機資源削減決定部232Aは、検証部230Aから、最適優先制御結果計算部229Aでの予測結果であるすべての合成ワークフローの実行が完了した時点での合成ワークフローの状態と、この状態に至るまでの履歴情報と、検証部230Aが予測結果の判定に利用した目標状態管理部236の情報を入力する(ステップS391:Y)。
計算機資源削減決定部232Aは次に、この入力した情報から、合意サービス水準に対する余裕が最も小さい合成ワークフローを特定する(ステップS392)。そして、この特定された合成ワークフロー以外の合成ワークフローに対する合意サービス水準の達成という観点から、計算機資源を削減する業務アプリケーション203Aと削減量を決定する(ステップS393)。この決定方法の一例は、ステップS392で特定された合成ワークフローが予測を行った期間に利用しない業務アプリケーション203Aのうち、待ち時間が最も短いものから最小単位の計算機資源を削減するという方法である。また、この決定方法は、ステップS392で特定された合成ワークフローが予測を行った期間に利用しない業務アプリケーション203Aのうち、過去一定期間の利用率が最も小さいものから最小単位の計算機資源を削減するという方法であってもよい。
以上のようにしてステップS393で計算機資源を削減する業務アプリケーション203Aと削減量を決定したら、計算機資源削減量決定部232Aは、求められた業務アプリケーション203Aから求められた量の計算機資源(業務アプリケーション実行部501)を削減した状態を業務システムリポジトリ213に保存する(ステップS394A)。このようにして計算機資源削減決定部232Aは、処理を終了する(エンド)。計算機資源の削減に関して、合意サービス水準に対する余裕が最も小さい合成ワークフローを最初に特定する(図42ステップS392)ことは必須の条件ではない。これ以外の手法でも計算機資源の削減は可能である。
図43は、この第1の変形例におけるワークフローシステムの具体的な構成を表わし、図12に対応するものである。この第1の変形例のワークフロー実行システム400Aには、第1および第2のワークフローシステム2041、2042と、第1〜第7の業務アプリケーション2031A〜2037Aが存在しており、これらがワークフロー監視制御システム205Aの監視制御対象となっている。ただし、この図ではワークフロー監視制御システム205A、第1〜第7の業務アプリケーション2031A〜2037Aを配備した業務システム210(図38参照)の図示が省略されている。また、第1および第2のワークフローシステム2041、2042と、第1〜第7の業務アプリケーション2031A〜2037A、第1〜第9の通信制御システム2071〜2079ならびに第1および第2のワークフロー監視システム2081、2082の接続関係は、図4あるいは図38に示した例示的な接続関係とは異なる。
第1のワークフローシステム2041には1つのワークフロー定義が存在する。このワークフロー定義にしたがって処理されるワークフローは、図43の上半分に示されるスタート(START)からエンド(END)で示される流れにおける各ステップS1〜ステップS4を経る過程で、第1〜第4の業務アプリケーション2031A〜2034Aと順次通信を行う。
第2のワークフローシステム2042にも1つのワークフロー定義が存在する。このワークフロー定義にしたがって処理されるワークフローは、図43の下半分に示されるスタート(START)からエンド(END)で示される流れにおける各ステップS11〜ステップS16を経る過程で、第5、第3、第6および第7の業務アプリケーション2035A、2033A、2036Aおよび2037Aと順次通信を行う。第1〜第7の業務アプリケーション2031A〜2037Aには、それぞれ所定数の業務アプリケーション(AP)実行部50111、50112、等が配備されている。
ここで、第1の通信制御システム2071はステップS1の処理で第1の業務アプリケーション2031Aの通信を制御し、第2の通信制御システム2072はステップS2の処理で第2の業務アプリケーション2032Aの通信を制御する。また、第3の通信制御システム2073はステップS3およびステップS12の処理で第3の業務アプリケーション2033Aの通信を制御し、第4の通信制御システム2074はステップS4の処理で第4の業務アプリケーション2034Aの通信を制御する。更に、第5の通信制御システム2075はステップS11の処理で第5の業務アプリケーション2035Aの通信を制御し、第6の通信制御システム2076はステップS14の処理で第6の業務アプリケーション2036Aの通信を制御する。更にまた、第7の通信制御システム2077はステップS15およびステップS16の処理で第7の業務アプリケーション2037Aの通信を制御する。また、第8の通信制御システム2078は第1のワークフローシステム2041全体の通信制御を、第9の通信制御システム2079は第2のワークフローシステム2042全体の通信制御をそれぞれ行う。
図44は、この第1の変形例で使用される各業務アプリケーションの性能特性を表わす。図44は、縦軸に第1〜第7の業務アプリケーション2031A〜2037Aを示し、横軸に計算機資源量として、使用する業務アプリケーション実行部501の数を示しており、各セルに、対応する計算機資源量が与えられた場合の対応するアプリケーションのワークフロー1件当たりの処理時間を示している。たとえば、第1の業務アプリケーション2031Aは、計算機資源量が1台の業務アプリケーション実行部501であるときに、1件当たり10秒で処理を行う。計算機資源量が倍の業務アプリケーション実行部501が2台になると、1件当たり10秒である点に変わりないが、2台が処理を行うので、5秒ごとに1件の処理が行われる。図44に示した第1〜第7の業務アプリケーション2031A〜2037Aについての性能特性を表わしたデータは、図39に示す業務システムリポジトリ213Aに格納されている。
図45は、それぞれの業務アプリケーションに初期状態で割り当てられた計算機資源量を示す。第1〜第7の業務アプリケーション2031A〜2037Aに関する初期状態の計算機資源量も、図39に示す業務システムリポジトリ213Aに格納されている。
計算機資源量のこの割当状況で、図44に示すように第1の業務アプリケーション2031Aと第5の業務アプリケーション2035Aは、処理1件あたり5秒で処理を行う。また、第2の業務アプリケーション2032Aは処理1件あたり8秒で、第3の業務アプリケーション2033Aは処理1件あたり15秒で、第4の業務アプリケーション2034Aは処理1件あたり12秒で、第6の業務アプリケーション2036は処理1件あたり10秒で、第7の業務アプリケーション2037は処理1件あたり20秒で、それぞれ処理を行う。
これらワークフロー定義および業務アプリケーション定義は、ワークフロー定義・業務定義リポジトリ211(図39)に格納されている。また、図39に示すワークフロー定義・業務定義取得部221およびワークフロー合成部222は、第1のワークフローシステム2041に存在する1つのワークフロー定義と、第1〜第4の業務アプリケーション2031A〜2034Aに存在する計4つの業務アプリケーション定義を合成した1つの合成ワークフロー定義と、第2のワークフローシステム2042に存在する1つのワークフロー定義と、第5、第3、第6および第7の業務アプリケーション2035A、2033A、2036A、2037Aに存在する計5つの業務アプリケーション定義を合成した1つの合成ワークフロー定義を生成し、合成ワークフロー定義DB223(図39)に格納する。
図43に示したワークフローのワークフロー定義には合意サービス水準が設定されている。第1のワークフローシステム2041に存在する1つのワークフロー定義を中心とする合成ワークフロー定義には、処理を150秒以内に完了することを要求する合意サービス水準が設定されている。また、第2のワークフローシステム2042に存在する1つのワークフロー定義を中心とする合成ワークフロー定義には、合成ワークフロー定義の利用者に応じて2つの合意サービス水準が定義されている。具体的には、例えば、一部の利用者に対しては処理を150秒以内に完了することを、他の利用者に対しては処理を180秒以内に完了することを要求する合意サービス水準が設定されている。このような合意サービス水準は、合意サービス水準リポジトリ212(図39)に格納されている。このように合意サービス水準を利用者別に複数設定することで、それぞれの利用者のサービスの要求度に応じたサービス提供品質を確保することが可能になる。
第1の変形例のワークフロー実行システム400Aでは、第1のワークフロー監視システム2081が第1のワークフローシステム2041を、第2のワークフロー監視システム2082が第2のワークフローシステム2042を監視対象としている。
初期状態で、各通信制御システム2071〜2079の制御情報保持部246(図6参照)は、それぞれの制御対象が送信する情報を各通信制御システム2071〜2079が即座に送信することを指示する設定情報を保持する。また、制御情報保持部246は、それぞれの制御対象が受信する情報を各通信制御システム2071〜2079が一旦保持して、制御対象の処理時間と同じ間隔で、これらを受信した順に制御対象に送信することを指示する設定情報を保持する。更に、第1および第2のワークフローシステム2041、2042ならびに第1〜第7の業務アプリケーション2031A〜2037Aの間の通信は、通信監視システム206(図39)によって監視されている。これらの監視対象および制御対象を定義する情報は、制御システム格納DB237(図39)に格納されている。
その他に、起動制御部227(図39)は、例えば、60秒ごとに状態観測部228(図39)を起動するように設定されている。また、予測部233A(図39)は、入力された合成ワークフローの状態の0.1秒後の状態を求めるよう設定されている。
また、検証部230A(図39)が、予測結果が合意サービス水準を大きく超過して達成していると判定する状態とは、例えば、ある合成ワークフロー定義に属するすべての合成ワークフローが合意サービス水準で定められた時間の3分の2以下の時間で完了している状態である。
図46は、時刻0から合成ワークフローが実行されているときの時刻660におけるワークフロー監視制御システム205Aの状態を示す。また、図47は、起動制御部が状態観測部を初めて起動したとき取得する合成ワークフローの状態および履歴情報の一例を示す。
図46および図47に示すように、この時刻660において第1のワークフローシステム2041により実行が制御される6個の合成ワークフロー(a1)〜(f1)と、第2のワークフローシステム2042により実行が制御される6個の合成ワークフロー(a2)〜(f2)が動作している。合成ワークフロー(a1)は第3の業務アプリケーション2033Aで実行中である。合成ワークフロー(b1)、(c1)、(d1)は第3の通信制御システム2073Aにおいて実行待ち状態に保持されている。合成ワークフロー(e1)、(f1)は、第2の業務アプリケーション2032Aで実行中である。合成ワークフロー(a2)、(b2)は第6の業務アプリケーション2036Aで実行中であり、合成ワークフロー(c2)は第3の業務アプリケーション2033Aで実行中である。合成ワークフロー(d2)、(e2)は第3の通信制御システム2073において実行待ち状態に保持されており、合成ワークフロー(f2)は第5の業務アプリケーション2035Aで実行中である。
図47に示されている第2のワークフローシステム2042における6個の合成ワークフロー(a2)〜(f2)のうちで、合成ワークフロー(a2)、(b2)、(c2)、(d2)および合成ワークフロー(f2)は与えられた合意サービス水準に従って処理を180秒以内に完了することが求められており、合成ワークフロー(e2)は処理を150秒以内に完了することが求められている。
時刻660において起動制御部227が状態観測部228を初めて起動すると、状態観測部228は図47にあるような合成ワークフローの状態および履歴情報を取得する。
この時点で制御履歴格納DB234には、制御情報保持部246の初期状態である、制御対象が送信する情報は即座に送信し、制御対象が受信する情報は一旦保持し、制御対象の平均処理時間と同じ間隔で受信した順に送信するという情報が設定されている。状態観測部228は最適優先制御結果計算部229Aに、図47にあるような合成ワークフローの状態および履歴情報と、制御履歴格納DB234の情報を入力する。
最適優先制御結果計算部229Aは、予測部233Aを利用し、すべての合成ワークフローが完了するまでの合成ワークフローの動作の予測を作成する。最適優先制御結果計算部229Aはまず、予測部233Aに時刻660のときの合成ワークフローの状態および履歴情報を通知し、時刻660.1のときの合成ワークフローの状態予測を得る。
時刻を進めながら同様の予測を繰り返し実行していくと、時刻675.102のとき、第3の業務アプリケーション2033が合成ワークフロー(a1)の処理を終えて、新たな合成ワークフローを実行可能となる。このとき第3の業務アプリケーション2033で実行可能な合成ワークフローは、合成ワークフロー(b1)、(c1)、(d1)、(e1)、(f1)、(d2)、(e2)、(f2)である。最適優先制御結果計算部229Aは、新たに第3の業務アプリケーション2033Aで処理を実行する処理として、それぞれの合成ワークフローを選んだ場合の将来の状態を予測する。最適優先制御結果計算部229Aは、これらの予測結果のうち最も良好な結果を、求める予測結果として採用する。
図48は、最適優先制御結果計算部229Aの計算した予測結果を示す。図48によれば、合成ワークフロー(d1)、(d2)、(e2)、(f2)の処理時間が合意サービス水準に達していない。合意サービス水準の達成を図る為には、計算機資源の追加が必要である。
そこで、計算機資源追加決定部231Aは、計算機資源を追加する業務アプリケーションと追加量を決定する。計算機資源追加決定部231Aは、予想待ち時間改善量という概念を用いる。予想待ち時間改善量とは、合意サービス水準に達しない合成ワークフロー群が各業務アプリケーション203Aに実行を要求してから実行されるまでの待ち時間を業務アプリケーションの実行所要時間で除した値に、業務アプリケーションに業務アプリケーション実行部501(図28)を1台追加した場合の業務アプリケーションの実行待ち時間間隔改善量を掛けた値を、図41のステップS372で特定された合成ワークフロー群内のワークフローが各業務アプリケーション203に対して要求しているすべての実行要求について業務アプリケーション203ごとに足し合わせた値である。そして、計算機資源追加決定部231Aは、得られた予想待ち時間改善量が最も大きいと予測された業務アプリケーションに対して、最小単位の計算機資源を追加する。
図49は、予測結果に基づいて算出した各業務アプリケーションの予想待ち時間改善量を表わす。この図49は、予想待ち時間改善量が最も大きいと予測される業務アプリケーションを求めるため、予測結果に基づいて算出した、各業務アプリケーションの予想待ち時間改善量を示す。
この図49によれば、第3の業務アプリケーション2033Aが最も予想待ち時間改善量が大きい。したがって、この例の場合、計算機資源追加決定部231Aは、第3の業務アプリケーション2033Aに計算機資源を追加する。この結果、第3の業務アプリケーション2033Aには業務アプリケーション実行部501(図38)の1台が追加され、当該アプリケーションには合計3台が割り当てられる。
図50は、計算機資源を最初に追加した場合の合成ワークフローの状態を示す。本図を、図46、図39および図43と共に説明する。
最適優先制御結果計算部229Aは、計算機資源が最初に追加された場合の合成ワークフローの動作の予測を、図17の予測結果を求めたときと同じ方法で取得する。図50はこの結果を示す。このとき、例えば、計算機資源の追加は時刻665に行われる。図50によると、合成ワークフロー(d1)は合意サービス水準を達成可能となったものの、合成ワークフロー(d2)、(e2)、(f2)は未だ合意サービス水準を達成できない。このため、計算機資源追加決定部231Aは、再度計算機資源を追加する業務アプリケーションを選択するために予想待ち時間改善量を求める。
図51は、計算機資源を2番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わす。この図によると、第7の業務アプリケーション2037Aが最も予想待ち時間改善量が大きい。このため、計算機資源追加決定部231Aは、第7の業務アプリケーション2037Aに計算機資源を追加する。これにより、第7の業務アプリケーション2037Aに業務アプリケーション実行部501が1台追加され、当該アプリケーションには合計3台が割り当てられる。
この条件で、最適優先制御結果計算部229A(図39)は、計算機資源が追加された場合の合成ワークフローの動作の予測を図21の予測結果を求めたときと同じ方法で取得する。
図52は、計算機資源を2番目に追加した場合の合成ワークフローの状態を示す。例えば、計算機資源の追加は時刻665に行われる。図52によると、合成ワークフロー(e2)は合意サービス水準を達成可能となったものの、合成ワークフロー(d2)および(f2)は未だ合意サービス水準を達成できない。このため、計算機資源追加決定部231Aは、再度計算機資源を追加する業務アプリケーションを選択するために予想待ち時間改善量を求める。
図53は、計算機資源を3番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わす。この図によると、第3の業務アプリケーション2033Aが最も予想待ち時間改善量が大きい。このため、計算機資源追加決定部231Aは、第3の業務アプリケーション2033Aに計算機資源を追加する。これにより、第3の業務アプリケーション2033Aに業務アプリケーション実行部501が1台追加され、当該アプリケーションには合計4台が割り当てられる。
この条件で、最適優先制御結果計算部229A(図39)は、計算機資源が追加された場合の合成ワークフローの動作の予測を図23の予測結果を求めたときと同じ方法で取得する。
図54は、計算機資源を3番目に追加した場合の合成ワークフローの状態を示す。計算機資源の追加は時刻665に行われるものとする。この図54によると、処理時間は短縮されたものの、合成ワークフロー(d2)および(f2)は未だ合意サービス水準を達成できていない。このため、再度計算機資源を追加する業務アプリケーションを選択するために予想待ち時間改善量を求める。
図55は、計算機資源を4番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わす。この図によると、第7の業務アプリケーション2037Aが最も予想待ち時間改善量が大きい。このため、第7の業務アプリケーション2037Aに計算機資源を追加する。これにより、第7の業務アプリケーション2037Aに業務アプリケーション実行部501が1台追加され、当該アプリケーションには合計4台が割り当てられる。
この条件で、最適優先制御結果計算部229A(図39)は、計算機資源が追加された場合の合成ワークフローの動作の予測を図25の予測結果を求めたときと同じ方法で取得する。
図56は、計算機資源を4番目に追加した場合の合成ワークフローの状態を表わす。例えば、計算機資源の追加は時刻665に行われる。この図56によると、合成ワークフロー(d2)は合意サービス水準を達成可能となったものの、合成ワークフロー(f2)は未だ合意サービス水準を達成できない。このため、計算機資源追加決定部231Aは、再度計算機資源を追加する業務アプリケーションを選択するために予想待ち時間改善量を求める。
図57は、計算機資源を5番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わす。図57によると、第7の業務アプリケーション2037Aが最も予想待ち時間改善量が大きい。このため、計算機資源追加決定部231Aは、第7の業務アプリケーション2037Aに計算機資源を追加する。これにより、第7の業務アプリケーション2037Aに業務アプリケーション実行部501が1台追加され、当該アプリケーションには合計5台が割り当てられる。
この条件で、最適優先制御結果計算部229A(図39)は、計算機資源が追加された場合の合成ワークフローの動作の予測を図27の予測結果を求めたときと同じ方法で取得する。
図58は、計算機資源を5番目に追加した場合の合成ワークフローの状態を表わす。例えば、計算機資源の追加は時刻665に行われる。図58によると、この条件で、すべての合成ワークフローが合意サービス水準を達成できると予想される。
以上のようにして計算機資源の追加によってすべての合成ワークフローが合意サービス水準を達成できると予想されるようになったら、検証部230Aは、前述した予測における優先制御条件と計算機資源の追加ならびに削除条件が、前回設定した制御情報と異なっているか否かを判定する。この例の場合、時刻660で初めて制御が行われたので、検証部230Aは、前回設定した制御情報と異なっていると判定し、制御信号送信部235が制御情報を通信制御システム207に送信する。
図59は、時刻720の時点に起動制御部が状態観測部を再度起動した場合における合成ワークフローの状態を示す。この時刻720において、図39に示した起動制御部227が状態観測部228を再度起動すると、状態観測部228はこの図59にあるような合成ワークフローの状態および履歴情報を取得する。図59を図58と比較すると、図43のステップS13で示す条件分岐が原因で、合成ワークフロー(d2)の処理が予測結果と異なっている。これ以外の合成ワークフローは、予測結果どおりに処理が進捗している。
図60は、時刻660の時点と同様に、時刻720の時点で将来を予測した場合の合成ワークフローの状態を示す。この図60に示されるように、この場合はすべての合成ワークフローが合意サービス水準を達成すると予想される。このため、新規の制御は行われない。
次に、この監視対象において、合成ワークフローの状態が異なる場合の動作を説明する。
図61は、時刻0から合成ワークフローが実行された場合の、時刻660に実行されている合成ワークフローの状態を示す。第1のワークフローシステム2041により実行が制御される3個の合成ワークフローと、第2のワークフローシステム2042により実行が制御される2個の合成ワークフローが動作している。時刻660において、合成ワークフロー(a1)、(b1)は第3の業務アプリケーション2033Aで実行中であり、合成ワークフロー(c1)は第3の通信制御システム2073において実行待ち状態に保持されている。合成ワークフロー(a2)は第6の業務アプリケーション2036Aで実行中であり、合成ワークフロー(b2)は第5の業務アプリケーション2035Aで実行中である。第2のワークフローシステム2042における2個の合成ワークフローは与えられた合意サービス水準に従って180秒以内に完了することが求められている。
図62は、時刻660に起動制御部227が状態観測部228を初めて起動した場合の、状態観測部228が取得する合成ワークフローの状態を示す。本図を、図39と共に説明する。このように時刻660において起動制御部227が状態観測部228を初めて起動すると、状態観測部228はこの図62にあるような合成ワークフローの状態および履歴情報を取得する。この時点で、図39に示した制御履歴格納DB234には、制御情報保持部246(図6)の初期状態の情報が設定されている。これは、制御対象が送信する情報は即座に送信し、制御対象が受信する情報は一旦保持して、制御対象の平均処理時間と同じ間隔で受信した順に送信することを通信制御システム207等に指示する情報である。状態観測部228は最適優先制御結果計算部229Aに、図62に示す合成ワークフローの状態および履歴情報と、制御履歴格納DB234の情報を入力する。
図63は、この最適優先制御結果計算部229Aが予測部233Aを用いて作成したすべての合成ワークフローが完了するまでの合成ワークフローの動作の予測を示す。図39の最適優先制御結果計算部229Aが、予測部233Aを利用して作成した図63に示される合成ワークフローの動作の予測によると、第1のワークフローシステム2041に存在する1つのワークフロー定義を中心とする合成ワークフロー定義に属するすべての合成ワークフローは合意サービス水準を大幅に超過して達成している。
このため、計算資源削減決定部232A(図39)は、計算機資源を削減する業務アプリケーションと削減量を決定する。検証部230Aは、合意サービス水準に対する余裕が最も小さい合成ワークフローが予測を行った期間に利用しない業務アプリケーションのうち、過去一定期間の利用率が最も小さいものから最小単位の計算機資源を削減するという方法を採る。そこで、計算機資源削減決定部232A(図39)は、合成ワークフロー履歴から、過去一定期間の業務アプリケーション利用率を求める。
先に示した図37は、計算機資源削減決定部323Aの求めた各業務アプリケーションの利用率を表わす。図37に示した結果が得られた場合、利用率が最も低い業務アプリケーションは第1の業務アプリケーション2031Aである。また、合意サービス水準に対する余裕が最も小さい合成ワークフローである合成ワークフロー(b2)は、時刻660以降に第1の業務アプリケーション2031Aを利用しないことが合成ワークフロー定義から判断される。このため、計算機資源削減決定部323Aは、第1の業務アプリケーション2031Aから最小単位の計算機資源を削減することを決定する。これにより、第1の業務アプリケーション2031Aの計算機資源量は、例えば図45に示した計算機資源量から業務アプリケーション実行部501が1台削減されて、1台となる。
次に、検証部230Aは、予測における優先制御条件と計算機資源の追加、削除条件が前回設定した制御情報と異なっているか否かを判定する。この場合、時刻660で初めて制御が行われたため、検証部230Aは、前回設定した制御情報と異なっていると判定し、制御信号送信部235が制御情報を通信制御システム207に送信する。
<発明の第2の変形例>
図64は、本発明の第2の変形例としてのワークフロー監視制御システムの通信環境を表わす。図64では、図4と同一部分には同一の符号を付されており、これらの説明は適宜省略される。
この図64に示した通信環境には、業務システム2101、2104、等上で実行される業務アプリケーション2031、2032、等の使用する計算機資源量と、各業務アプリケーション2031、2032、等の使用する計算機資源量を制御する業務アプリケーション制御システム209Bが1つ以上存在している。業務アプリケーション制御システム209Bは、この図に示す例で第2のサブネットワーク2012に接続されている。また、業務アプリケーション2031、2032、等およびワークフローシステム204を監視、制御するワークフロー監視制御システム205Bも1つ以上存在する。ワークフロー監視制御システム205Bは第2のサブネットワーク2012に接続されている。
先の実施の形態では、図4に示された業務アプリケーション制御システム209は、各業務アプリケーション2031、2032、等のいずれかで、複数の合成ワークフローが処理の対象とされたとき、その中で最も優先度の高い合成ワークフローを選択して処理させる。そして、業務アプリケーション制御システム209は、その合成ワークフローの処理が完了した時点で、次に優先度の高い1つの合成ワークフローの処理を開始させる。本発明の第2の変形例では、業務アプリケーション2031、2032、等が処理の対象となる複数の合成ワークフローを時分割で並行して処理する。
図65は、この第2の変形例におけるワークフロー監視制御システムとその周辺のシステム構成の要部を表わす。図65では、図5と同一部分は同一の符号を付されており、これらの説明は適宜省略される。
図65でワークフロー監視制御システム205Bは、ワークフロー定義と業務定義を取得するワークフロー定義・業務定義取得部221と、複数のワークフロー定義、業務定義間の通信関係を解析し、相互に通信するワークフロー定義、業務定義を合成した合成ワークフロー定義を生成するワークフロー合成部222と、合成ワークフロー定義を格納する合成ワークフロー定義DB(データベース)223と、ワークフロー監視システム208および通信監視システム206からの監視情報を受信する監視情報受信部224と、監視情報を合成ワークフロー定義に対応付けて解析する監視情報解析部225と、監視情報を格納する監視情報格納DB(データベース)226と、定期的に起動要求を送信する起動制御部227と、現在までの合成ワークフローの状態を取得する状態観測部228と、最適な制御をした場合の合成ワークフローの動作を予測する最適優先制御結果計算部229Bと、予測結果から合成ワークフローが合意サービス水準を達成すると予想されるかを検証する検証部230Bと、合意サービス水準を達成するために必要な計算機資源量を計算する計算機資源追加決定部231Bと、合意サービス水準達成を妨げない計算機資源の削減量を計算する計算機資源削減決定部232Bと、ある時点での合成ワークフローの状態と、業務アプリケーション制御システム209Bの計算機資源割り当て状況から単位時間後の合成ワークフローの状態を予測する予測部233Bと、過去の制御履歴を格納する制御履歴格納DB(データベース)234と、制御信号を通信制御システム207に送信する制御信号送信部235と、合意サービス水準を保持する目標状態管理部236と、通信制御システム207同士の対応関係を保持する制御システム格納DB(データベース)237とから構成されている。図65は、通信制御システム207を代表的に1つのみ示す。通信制御システム207が複数存在するときに、制御システム格納DB237は通信制御システム207同士の対応関係を保持する。
本実施の形態でワークフロー監視制御システム205Bを中心とした各システムは、概略次のように動作する。各システムの動作を、図64および図65と共に説明する。
ワークフロー定義・業務定義リポジトリ211には、監視制御対象となるワークフローシステム204で実行されるワークフローの定義、業務システム210上で実行される業務アプリケーション203の定義があらかじめ格納されている。また、合意サービス水準リポジトリ212には、監視制御対象となるワークフローシステム204、業務アプリケーション203に設定された合意サービス水準が予め格納されている。ここで、合意サービス水準は、前記したサービス提供品質に対して許容できる下限値の一例である。業務システムリポジトリ213Bには、業務アプリケーション203を配備可能な業務システム210の配備情報と、業務システム210の性能特性情報と、業務システム210における業務アプリケーション203の配備情報と、業務アプリケーション203の計算機資源量情報とが格納されている。
ワークフローシステム204および業務アプリケーション203の実行前に、ワークフロー定義・業務定義取得部221はワークフロー定義・業務定義リポジトリ211からワークフロー定義および業務定義を取得する。ワークフロー合成部222は、取得されたワークフロー定義および業務定義から合成ワークフロー定義を作成し、合成ワークフロー定義DB223に格納する。また、目標状態管理部236は、合意サービス水準リポジトリ212から合意サービス水準情報を取得し、保持する。
ワークフローシステム204ならびに業務アプリケーション203が動作すると、業務の進捗と通信の発生をワークフロー監視システム208と通信監視システム206が検知し、監視情報受信部224に通知する。受信した監視情報は監視情報解析部225で合成ワークフロー定義に対応付けて解析され、監視情報格納DB226に格納される。
これと並行して、起動制御部227は定期的に状態観測部228に起動要求を送る。状態観測部228は監視情報格納DB226に格納された監視情報を合成ワークフローDB223に格納された合成ワークフロー定義と対応付け、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報を作成する。更に、状態観測部228は、制御履歴格納DB234から現在の制御条件を取得する。状態観測部228は、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報と、現在の制御条件を最適優先制御結果計算部229Bに入力する。
最適優先制御結果計算部229Bは入力された情報を基にして、現在実行されている合成ワークフローに対して最適な優先制御が行われた場合の将来の状態を予測する。この予測は予測部233Bが業務システムリポジトリ213Bに格納された業務アプリケーションの計算機資源割り当て量情報を用いて行う。最適優先制御結果計算部229Bは予測結果と入力を検証部230Bに出力する。なお、図1に示したサービス提供品質算出手段14は、それぞれのワークフローの業務の完了時におけるサービス提供品質を算出する。その算出結果が第2の変形例における予測結果の一例である。
検証部230Bは予測結果を目標状態管理部236と対比して目標達成状況を判定する。図1に示した品質非到達判別手段15が、第2の変形例における検証部230Bの一例であり、ワークフローのいずれかが業務の完了時におけるサービス提供品質の下限値を下回るとき、これを判別する。この結果、検証部230Bは、予測結果が妥当であれば制御情報を制御履歴格納DB234に格納し、制御信号送信部235によって通信制御システム207と業務アプリケーション制御システム209Bに予測結果の妥当性を送信して終了する。予測結果が合意サービス水準を達成していなければ、検証部230Bは、計算機資源追加決定部231Bに最適優先制御結果計算部229Bの入力と出力を通知する。
計算機資源追加決定部231Bは、受け取った最適優先制御結果計算部229Bの入力と出力を参照して適切な業務アプリケーションに計算機資源を追加する計画を作成し、業務システムリポジトリ213Bに設定する。図1に示した品質非到達判別手段15が或るワークフローについてサービス提供品質の下限値を下回ることを判別したとき、図1に示した計算機資源再配分手段16が複数の処理部に対する計算機資源の量を再配分することで所定のワークフローのサービス提供品質が下限値を下回ることを回避させる。この処理が、第2の変形例の計算機資源を追加する計画の作成の一例である。最適優先制御結果計算部229Bは、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報とを入力として、再度合成ワークフローに対して最適な優先制御が行われた場合の将来の状態を予測する。
検証部230Bは、この予測結果が合意サービス水準を大きく超過して達成していると判定した場合、計算機資源削減決定部232Bに最適優先制御結果計算部229Bの入力と出力を通知する。計算機資源削減決定部232Bは、受け取った最適優先制御結果計算部229Bの入力と出力を参照して、業務アプリケーション203に配分された計算機資源を業務アプリケーション実行部数の削減によって適切に削減する計画を作成し、業務システムリポジトリ213Bに設定する。最適優先制御結果計算部229Bは、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報とを入力として再度合成ワークフローに対して最適な優先制御が行われた場合の将来の状態を予測する。
図66は、第2の変形例におけるワークフロー監視制御システムの全体的な処理動作の概要を表わす。本図を、図65および図6と共に説明する。ただし、図6のワークフロー監視制御システム205は図65のワークフロー監視制御システム205Bと読み替える。
ワークフロー監視制御システム205Bは、図示されないCPUと、このCPUが実行する制御プログラムを格納するハードディスク等の記憶媒体を備えている。CPUはこの制御プログラムを実行することによって先に説明したワークフロー監視制御システム205B内の各部のうちの少なくとも一部をソフトウェアで機能的に実現しても良い。また、ワークフロー監視制御システム205B内の各部、または、CPUは、次に説明する制御を実現する。
起動制御部227は、所定の制御時間が到来するまで待機しており(ステップS301)、動作が停止している。所定の制御時間が到来すると(Y)、起動制御部227は、状態観測部228を起動し、状態観測部228は、監視情報格納DB226に格納された監視情報を合成ワークフロー定義DB223に格納された合成ワークフロー定義と対応付ける。そして、状態観測部228は現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報を作成する(ステップS302)。
次に、最適優先制御結果計算部229Bは、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報と、制御履歴格納DB234から取得した現在の制御条件とを入力する。最適優先制御結果計算部229Bは入力したこれらの情報を基にして、現在実行されている合成ワークフローの将来の状態を予測する。合成ワークフローの将来の状態の予測結果と最適優先制御結果計算部229Bへの入力は、検証部230Bに出力される(ステップS303)。
検証部230Bは予測結果に関して、目標状態管理部236を参照して妥当性を判定する(ステップS304)。この結果、予測結果が妥当であれば(Y)、すなわち、予測結果が合意サービス水準を達成しており、かつこれが合意サービス水準を大幅に超過するようなものでない場合には、検証部230Bは、制御履歴格納DB234を参照して、制御条件が現行の制御条件と同一であるかを判定する(ステップS305)。同一であれば(Y)、検証部230Bは制御条件を送信せずに動作を終了し、ワークフロー監視制御システム205BはステップS301の処理に戻る(リターン)。
制御条件が現行の制御条件と同一ではない場合には(ステップS305:N)、検証部230Bは、その同一でない制御条件を制御履歴格納DB234に格納する。そして、制御信号送信部235は通信制御システム207に制御条件を送信する(ステップS306)。この後、ワークフロー監視制御システム205BはステップS301の処理に戻る(リターン)。
ステップS304で予測結果が妥当でないと判定される(N)場合は、次の2つの何れかの場合である。1つは、予測結果が合意サービス水準を達成していないと判定された場合である。もう1つは、予測結果が合意サービス水準を大幅に超過したと判定された場合である。したがって、予測結果が妥当でないと判定された場合には(ステップS304:N)、検証部230Bは、合意サービス水準を未達成か否かの判別をする(ステップS307)。
予測結果が合意サービス水準を達成していないと判定された場合には(Y)、計算機資源追加決定部231Bで計算機資源を追加すべき適切な業務アプリケーションと追加量を計算する。そして、計算機資源追加決定部231Bは、追加後の業務アプリケーションの計算機資源割り当て量を業務システムリポジトリ213Bに設定し(ステップS308B)、最適優先制御結果計算部229Bは現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報を入力して、現在実行されている合成ワークフローの将来の状態を予測する(ステップS303)。
これに対して、予測結果が合意サービス水準を大幅に超過したと判定された場合には(ステップS307:N)、計算機資源削減決定部232Bが計算機資源を削減すべき適切な業務アプリケーションと削減量を計算して、削減後の業務アプリケーションの計算機資源割り当て量を業務システムリポジトリ213Bに設定する(ステップS309B)。予測結果が合意サービス水準を大きく超過していると判定する方法の一例としては、合意サービス水準に対する余裕が最も小さい合成ワークフローの合意サービス水準との差が所定の範囲を超えているか否かにより判定する方法がある。このようにして計算機資源を削減したら、検証部230Bは、ステップS305の処理に進む。
先に説明した図10は、計算機資源追加決定部231Bの処理を表わし、図11は計算機資源削減決定部232Bの処理を表わす。なお、これらの図は、計算機資源追加決定部231Bおよび計算機資源削減決定部232Bの動作の一例である。計算機資源追加決定部231Bおよび計算機資源削減決定部232Bの動作は、監視制御対象と合意サービス水準の内容、業務システムの特性によって変化する。これらの図を、図65および図6と共に説明する。
計算機資源追加決定部231Bは、まず検証部230Bから、最適優先制御結果計算部229Bでの予測結果であるすべての合成ワークフローの実行が完了した時点での合成ワークフローの状態と、この状態に至るまでの履歴情報と、検証部230Bが予測結果の判定に利用した目標状態管理部236の情報を入力する(ステップS371:Y)。計算機資源追加決定部231Bは、入力した情報から、合意サービス水準が達成不可能な合成ワークフロー群を特定する(ステップS372)。
次に、計算機資源追加決定部231Bは、計算機資源を追加する業務アプリケーション203と追加量を決定する(ステップS373)。この決定方法の一例は、ステップS372で特定された合成ワークフロー群が各業務アプリケーション203に実行を要求してから実行が完了するまでの時間から、業務アプリケーション203を実行するのに要する最短の時間を引いたものの合計が最も大きいと予測された業務アプリケーション203に、最小単位の計算機資源を追加するという方法である。また、この決定方法は、ステップS372で特定された合成ワークフロー群が各業務アプリケーション203に実行を要求してから実行が完了するまでの時間から、業務アプリケーション203を実行するのに要する最短の時間を引いたものを業務アプリケーション203の実行所要時間で除した値に、業務アプリケーション203に計算機資源を最小単位追加した場合の業務アプリケーション203の実行所要時間改善量を掛けた値を、ステップS372で特定された合成ワークフロー群内のワークフローが各業務アプリケーション203に対して要求しているすべての実行要求について、業務アプリケーション203ごとに足し合わせた値を求め、この値が最も大きいと予測された業務アプリケーション203に、最小単位の計算機資源を追加するという方法でも良い。
以上のようにして計算機資源を追加する業務アプリケーション203と追加量を決定したら(ステップS373)、計算機資源追加決定部231Bは、求められた業務アプリケーション203に対して、求められた計算機資源を追加した状態を業務システムリポジトリ213Bに保存する(ステップS374)。このようにして計算機資源追加決定部231Bは、処理を終了する(エンド)。
先に示した図11は、計算機資源削減決定部232Bの動作を示す。本図を、図65と共に説明する。
計算機資源削減決定部232Bは、検証部230から、最適優先制御結果計算部229Bでの予測結果であるすべての合成ワークフローの実行が完了した時点での合成ワークフローの状態と、この状態に至るまでの履歴情報と、検証部230Bが予測結果の判定に利用した目標状態管理部236の情報を入力する(ステップS391:Y)。
計算機資源削減決定部232Bは次に、この入力した情報から、合意サービス水準に対する余裕が最も小さい合成ワークフローを特定する(ステップS392)。そして、この特定された合成ワークフロー以外の合成ワークフローに対する合意サービス水準の達成という観点から、計算機資源を削減する業務アプリケーション203と削減量を決定する(ステップS393)。この決定方法の一例は、ステップS392で特定された合成ワークフローが予測を行った期間に利用しない業務アプリケーションのうち、待ち時間が最も短いものから最小単位の計算機資源を削減するという方法である。また、この決定方法は、ステップS392で特定された合成ワークフローが予測を行った期間に利用しない業務アプリケーション203のうち、過去一定期間の利用率が最も小さいものから最小単位の計算機資源を削減するという方法であってもよい。
以上のようにしてステップS393で計算機資源を削減する業務アプリケーション203と削減量を決定したら、計算機資源削減決定部232Bは、求められた業務アプリケーション203から求められた量の計算機資源を削減した状態を業務システムリポジトリ213Bに保存する(ステップS394)。このようにして計算機資源削減決定部232Bは、処理を終了する(エンド)。計算機資源の削減に関して、合意サービス水準に対する余裕が最も小さい合成ワークフローを最初に特定する(図11ステップS392)ことは必須の条件ではない。これ以外の手法でも計算機資源の削減は可能である。
図67は、時刻0から合成ワークフローが実行されているときの時刻660におけるワークフロー監視制御システムの状態を示す。図68は、ワークフロー実行システム400Bで時刻0から合成ワークフローが実行されているときの、時刻660に実行されている合成ワークフローの状態を示す。図67および図68に示されるように、時刻660において第1のワークフローシステム2041により実行が制御される6個の合成ワークフロー(a1)〜(f1)と、第2のワークフローシステム2042により実行が制御される6個の合成ワークフロー(a2)〜(f2)が動作している。このうちの合成ワークフロー(a1)、(b1)、(c1)、(d1)、(e1)、(f1)は第3の業務アプリケーション2033で実行中である。更に、合成ワークフロー(a2)は第7の業務アプリケーション2037で実行中であり、合成ワークフロー(b2)、(c2)、(d2)、(e2)は第3の業務アプリケーション2033で実行中である。合成ワークフロー(f2)は第5の業務アプリケーション2035で実行中である。
図67に示されている第1のワークフローシステム2041における6個の合成ワークフロー(a1)〜(f1)は与えられた合意サービス水準に従って処理を150秒以内に完了することが求められている。第2のワークフローシステム2042における6個の合成ワークフロー(a2)〜(f2)のうちで、合成ワークフロー(a2)、(b2)、(c2)、(d2)および合成ワークフロー(f2)は与えられた合意サービス水準に従って処理を180秒以内に完了することが求められており、合成ワークフロー(e2)は処理を150秒以内に完了することが求められている。
図68は、起動制御部227が状態観測部228を初めて起動したとき取得する合成ワークフローの状態および履歴情報の一例を示す。本図を、図65および図67と共に説明する。
時刻660において起動制御部227が状態観測部228を初めて起動すると、状態観測部228は図68にあるような合成ワークフローの状態および履歴情報を取得する。
この時点で制御履歴格納DB234には、制御情報保持部246(図6)の初期状態である、制御対象が送信する情報は即座に送信し、制御対象が受信する情報を即座に送信するという情報が設定されている。状態観測部228は最適優先制御結果計算部229Bに、図68にあるような合成ワークフローの状態および履歴情報と、制御履歴格納DB234の情報を入力する。
最適優先制御結果計算部229Bは、予測部233Bを利用し、すべての合成ワークフローが完了するまでの合成ワークフローの動作の予測を作成する。
図69は、すべての合成ワークフローが完了するまでの合成ワークフローの動作の予測結果を表わす。図69によると、合成ワークフロー(b1)、(c1)、(d1)、(e1)、(f1)、(d2)、(e2)、(f2)の処理時間が合意サービス水準に達していない。合意サービス水準の達成を図る為には、計算機資源の追加が必要である。
そこで、計算機資源追加決定部231Bは、合意サービス水準を達成するために、計算機資源を追加する業務アプリケーションと追加量を決定する。このために、計算機資源追加決定部231Bは、予想待ち時間改善量という概念を用いる。予想待ち時間改善量とは、合意サービス水準に達しない合成ワークフロー群が各業務アプリケーション203に実行を要求してから実行されるまでの待ち時間を業務アプリケーションの実行所要時間で除した値に、業務アプリケーションに最小単位の計算機資源を追加した場合の業務アプリケーションの実行待ち時間間隔改善量を掛けた値を、図10のステップS372で特定された合成ワークフロー群内のワークフローが各業務アプリケーションに対して要求しているすべての実行要求について業務アプリケーション203ごとに足し合わせた値である。そして、計算機資源追加決定部231Bは、得られた予想待ち時間改善量が最も大きいと予測された業務アプリケーションに対して、最小単位の計算機資源を追加する。
図70は、予測結果に基づいて算出した各業務アプリケーションの予想待ち時間改善量を表わす。図70は、予想待ち時間改善量が最も大きいと予測される業務アプリケーションを求めるため、予測結果に基づいて算出した、各業務アプリケーションの予想待ち時間改善量を示す。
図70によれば、第3の業務アプリケーション2033が最も予想待ち時間改善量が大きい。したがって、この例の場合、計算機資源追加決定部231Bは、第3の業務アプリケーション2033に計算機資源を追加する。この結果、第3の業務アプリケーション2033に割り当てられる計算機資源は60単位となり、当該アプリケーションの処理所要時間は12.5秒/件となる(図13および図14参照)。
図71は、計算機資源が最初に追加された場合の合成ワークフローの状態を示す。本図を、図65および図67と共に説明する。最適優先制御結果計算部229Bは、計算機資源が最初に追加された場合の合成ワークフローの動作の予測を図17の予測結果を求めたときと同じ方法で取得する。図71はこの結果を示す。例えば、計算機資源の追加は時刻660に行われる。図71によると、合成ワークフロー(b1)、(c1)、(f1)は合意サービス水準を達成可能となったものの、合成ワークフロー(d1)、(e1)、(d2)、(e2)、(f2)は未だ合意サービス水準を達成できない。このため、計算機資源追加決定部231Bは、再度計算機資源を追加する業務アプリケーションを選択するために予想待ち時間改善量を求める。
図72は、計算機資源を2番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わす。この図によると、第7の業務アプリケーション2037が最も予想待ち時間改善量が大きい。このため、計算機資源追加決定部231Bは、第7の業務アプリケーション2037に計算機資源を追加する。これにより、第7の業務アプリケーション2037に割り当てられる計算機資源は50単位となり、当該アプリケーションの処理所要時間は13.333秒/件となる(図13および図14参照)。この条件で、最適優先制御結果計算部229Bは、計算機資源が追加された場合の合成ワークフローの動作の予測を図21の予測結果を求めたときと同じ方法で取得する。
図73は、計算機資源を2番目に追加した場合における合成ワークフローの状態を示す。本図を、図65および図67と共に説明する。例えば、計算機資源の追加は時刻660に行われる。図73によると、合成ワークフロー(d2)は合意サービス水準を達成可能となったものの、合成ワークフロー(d1)、(e1)、(e2)、(f2)は未だ合意サービス水準を達成できない。このため、計算機資源追加決定部231Bは、再度計算機資源を追加する業務アプリケーションを選択するために予想待ち時間改善量を求める。
図74は、計算機資源を3番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わす。この図によると、第3の業務アプリケーション2033が最も予想待ち時間改善量が大きい。このため、計算機資源追加決定部231Bは、第3の業務アプリケーション2033に計算機資源を追加する。これにより、第3の業務アプリケーション2033に割り当てられる計算機資源は70単位となり、当該アプリケーションの処理所要時間は10.714秒/件となる(図13および図14参照)。
図75は、計算機資源が3番目に追加された場合における合成ワークフローの状態を示す。最適優先制御結果計算部229Bは、計算機資源が追加された場合の合成ワークフローの動作の予測を図23の予測結果を求めたときと同じ方法で取得する。例えば、計算機資源の追加は時刻660に行われる。図75によると、合成ワークフロー(d1)は合意サービス水準を達成可能となったものの、合成ワークフロー(e1)、(e2)、(f2)は未だ合意サービス水準を達成できない。このため、計算機資源追加決定部231Bは、再度計算機資源を追加する業務アプリケーションを選択するために予想待ち時間改善量を求める。
図76は、計算機資源を4番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わす。この図によると、第3の業務アプリケーション2033が最も予想待ち時間改善量が大きい。このため、計算機資源追加決定部231Bは、第3の業務アプリケーション2033に計算機資源を追加する。これにより、第3の業務アプリケーション2033に割り当てられる計算機資源は80単位となり、当該アプリケーションの処理所要時間は9.375秒/件となる(図13および図14参照)。
図77は、計算機資源が4番目に追加された場合における合成ワークフローの状態を示す。最適優先制御結果計算部229Bは、計算機資源が追加された場合の合成ワークフローの動作の予測を図25の予測結果を求めたときと同じ方法で取得する。図77は、この結果を示す。例えば、計算機資源の追加は時刻660に行われる。この図77によると、合成ワークフロー(e1)、(f2)は合意サービス水準を達成可能となったものの、合成ワークフロー(e2)は未だ合意サービス水準を達成できない。このため、計算機資源追加決定部231Bは、再度計算機資源を追加する業務アプリケーションを選択するために予想待ち時間改善量を求める。
図78は、計算機資源を5番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わす。この図によると、第7の業務アプリケーション2037が最も予想待ち時間改善量が大きい。このため、計算機資源追加決定部231Bは、第7の業務アプリケーション2037に計算機資源を追加する。これにより、第7の業務アプリケーション2037に割り当てられる計算機資源は60単位となり、当該アプリケーションの処理所要時間は13.333秒/件となる(図13および図14参照)。
図79は、計算機資源を5番目に追加した場合の合成ワークフローの状態を示す。図78に示した条件で、最適優先制御結果計算部229Bは、計算機資源が追加された場合の合成ワークフローの動作の予測を図27の予測結果を求めたときと同じ方法で取得する。図79はこの結果を示す。例えば、計算機資源の追加は時刻660に行われる。図79によると、合成ワークフロー(e2)は合意サービス水準を達成可能となったものの、合成ワークフロー(f2)は未だ合意サービス水準を達成できない。このため、計算機資源追加決定部231Bは、再度計算機資源を追加する業務アプリケーションを選択するために予想待ち時間改善量を求める。
図80は、計算機資源を6番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わす。この図によると、第7の業務アプリケーション2037が最も予想待ち時間改善量が大きい。このため、計算機資源追加決定部231Bは、第7の業務アプリケーション2037に計算機資源を追加する。これにより、第7の業務アプリケーション2037に割り当てられる計算機資源は70単位となり、当該アプリケーションの処理所要時間は11.429秒/件となる。
図81は、計算機資源を6番目に追加した場合の合成ワークフローの状態を示す。図80に示した条件で、最適優先制御結果計算部229Bは、計算機資源が追加された場合の合成ワークフローの動作の予測を図29の予測結果を求めたときと同じ方法で取得する。図81は、この結果を示す。例えば、計算機資源の追加は時刻660に行われる。図81によると、この条件で、すべての合成ワークフローが合意サービス水準を達成できると予想される。
以上のようにして計算機資源の追加によってすべての合成ワークフローが合意サービス水準を達成できると予想されるようになったら、検証部230Bは、前述した予測における優先制御条件と計算機資源の追加ならびに削除条件が、前回設定した制御情報と異なっているか否かを判定する。この例の場合、時刻660で初めて制御が行われたので、検証部230Bは、前回設定した制御情報と異なっていると判定し、制御信号送信部235が制御情報を通信制御システム207に送信する。
図82は、時刻780の時点に起動制御部が状態観測部を再度起動した場合における合成ワークフローの状態を示す。この時刻780において、図65に示した起動制御部227が状態観測部228を再度起動すると、状態観測部228はこの図82にあるような合成ワークフローの状態および履歴情報を取得する。図82を図81と比較すると、図67のステップS13で示す条件分岐が原因で、合成ワークフロー(d2)の処理が予測結果と異なっている。これ以外の合成ワークフローは、予測結果どおりに処理が進捗している。
図83は、時刻660の時点と同様に、時刻780の時点で将来を予測した場合の合成ワークフローの状態を示す。この図83に示されるように、この場合はすべての合成ワークフローが合意サービス水準を達成すると予想される。このため、新規の制御は行われない。
次に、この監視対象において、合成ワークフローの状態が異なる場合の動作を説明する。
図84は、時刻0から合成ワークフローが実行された場合の、時刻660に実行されている合成ワークフローの状態を示す。第1のワークフローシステム2041により実行が制御される3個の合成ワークフローと、第2のワークフローシステム2042により実行が制御される2個の合成ワークフローが動作している。時刻660において、合成ワークフロー(a1)は完了しており、合成ワークフロー(b1)、(c1)は第3の業務アプリケーション2033で実行中である。また、合成ワークフロー(a2)は第7の業務アプリケーション2037で実行中であり、合成ワークフロー(b2)は第5の業務アプリケーション2035で実行中である。第1のワークフローシステム2041における3個の合成ワークフローは合意サービス水準により150秒以内に完了することが求められている。また、第2のワークフローシステム2042における2個の合成ワークフローは合意サービス水準により180秒以内に完了することが求められている。
図85は、時刻660に起動制御部が状態観測部を初めて起動した場合の、状態観測部が取得する合成ワークフローの状態を示す。本図を、図65と共に説明する。時刻660において起動制御部227が状態観測部228を初めて起動すると、状態観測部228は図85にあるような合成ワークフローの状態および履歴情報を取得する。この時点で、図65に示した制御履歴格納DB234には、制御情報保持部246(図6)の初期状態の情報が設定されている。これは、制御対象が送信する情報は即座に送信し、制御対象が受信する情報は即座に送信することを通信制御システム207等に指示する情報である。状態観測部228は最適優先制御結果計算部229Bに、図85に示す合成ワークフローの状態および履歴情報と、制御履歴格納DB234の情報を入力する。
図86は、この最適優先制御結果計算部229Bが予測部233Bを用いて作成したすべての合成ワークフローが完了するまでの合成ワークフローの動作の予測を示す。図65の最適優先制御結果計算部229Bが、予測部233Bを利用して作成した図86に示される合成ワークフローの動作の予測によると、すべての合成ワークフローは合意サービス水準を大幅に超過して達成している。
このため、計算機資源削減決定部232B(図65)は、計算機資源を削減する業務アプリケーションと削減量を決定する。検証部230Bは、合意サービス水準に対する余裕が最も小さい合成ワークフローが予測を行った期間に利用しない業務アプリケーションのうち、過去一定期間の利用率が最も小さいものから最小単位の計算機資源を削減するという方法を採る。そこで、計算機資源削減決定部232B(図65)は、合成ワークフロー履歴から、過去一定期間の業務アプリケーション利用率を求める。
先に示した図37は、計算機資源削減決定部の求めた各業務アプリケーションの利用率を表わす。この図37に示した結果が得られた場合、利用率が最も低い業務アプリケーションは第1の業務アプリケーション2031である。また、合意サービス水準に対する余裕が最も小さい合成ワークフローである合成ワークフロー(b1)は、時刻660以降に第1の業務アプリケーション2031を利用しないことが合成ワークフロー定義から判断される。このため、計算機資源削減決定部232Bは、第1の業務アプリケーション2031から最小単位の計算機資源を削減することを決定する。これにより、第1の業務アプリケーション2031の計算機資源量は、たとえば図14に示した計算機資源量から10単位が削減されて10単位となり、当該アプリケーションの処理所要時間は10秒/件となる。
次に、検証部230Bは、予測における優先制御条件と計算機資源の追加、削除条件が前回設定した制御情報と異なっているか否かを判定する。この場合、時刻660で初めて制御が行われたため、検証部230Bは、前回設定した制御情報と異なっていると判定し、制御信号送信部235が制御情報を通信制御システム207に送信する。
<発明の第3の変形例>
図87は、本発明の第3の変形例としてのワークフロー監視制御システムの通信環境を表わす。図87では、図4と同一部分には同一の符号を付されており、これらの説明は適宜省略される。
図87に示した通信環境には、業務システム2101、2104、等上で実行される業務アプリケーション2031、2032、等の使用する計算機資源量と、各業務アプリケーション2031、2032、等の使用する計算機資源量を制御する業務アプリケーション制御システム209Cが1つ以上存在している。業務アプリケーション制御システム209Cは、この図に示す例で第2のサブネットワーク2012に接続されている。また、業務アプリケーション2031、2032、等およびワークフローシステム204を監視、制御するワークフロー監視制御システム205Cも1つ以上存在する。ワークフロー監視制御システム205Cは第2のサブネットワーク2012に接続されている。
本発明の第2の変形例では、優先度なしの時分割制御を行った。本発明の第3の変形例では、平常時に優先度なしの時分割制御を行い、サービス提供品質との関係で制御が必要となったときに各業務アプリケーション2031、2032、等間で優先度の制御を行う。
図88は、この第3の変形例におけるワークフロー監視制御システムとその周辺のシステム構成の要部を表わす。図88では、図5と同一部分は同一の符号を付されており、これらの説明は適宜省略される。
図88でワークフロー監視制御システム205Cは、ワークフロー定義と業務定義を取得するワークフロー定義・業務定義取得部221と、複数のワークフロー定義、業務定義間の通信関係を解析し、相互に通信するワークフロー定義、業務定義を合成した合成ワークフロー定義を生成するワークフロー合成部222と、合成ワークフロー定義を格納する合成ワークフロー定義DB(データベース)223と、ワークフロー監視システム208および通信監視システム206からの監視情報を受信する監視情報受信部224と、監視情報を合成ワークフロー定義に対応付けて解析する監視情報解析部225と、監視情報を格納する監視情報格納DB(データベース)226と、定期的に起動要求を送信する起動制御部227と、現在までの合成ワークフローの状態を取得する状態観測部228と、最適な制御をした場合の合成ワークフローの動作を予測する最適優先制御結果計算部229Cと、予測結果から合成ワークフローが合意サービス水準を達成すると予想されるかを検証する検証部230Cと、合意サービス水準を達成するために必要な計算機資源量を計算する計算機資源追加決定部231Cと、合意サービス水準達成を妨げない計算機資源の削減量を計算する計算機資源削減決定部232Cと、ある時点での合成ワークフローの状態と、業務アプリケーション制御システム209Cの計算機資源割り当て状況とプロセスの優先度から単位時間後の合成ワークフローの状態を予測する予測部233Cと、過去の制御履歴を格納する制御履歴格納DB(データベース)234と、制御信号を通信制御システム207に送信する制御信号送信部235と、合意サービス水準を保持する目標状態管理部236と、通信制御システム207同士の対応関係を保持する制御システム格納DB(データベース)237とから構成されている。図65では、通信制御システム207を代表的に1つのみ示す。通信制御システム207が複数存在するときに、制御システム格納DB237は通信制御システム207同士の対応関係を保持する。
第3の変形例でワークフロー監視制御システム205Cを中心とした各システムは、概略次のように動作する。各システムの動作を、図87および図88と共に説明する。
ワークフロー定義・業務定義リポジトリ211には、監視制御対象となるワークフローシステム204で実行されるワークフローの定義、業務システム210上で実行される業務アプリケーション203の定義があらかじめ格納されている。また、合意サービス水準リポジトリ212には、監視制御対象となるワークフローシステム204、業務アプリケーション203に設定された合意サービス水準が予め格納されている。ここで、合意サービス水準は、前記したサービス提供品質に対して許容できる下限値の一例である。業務システムリポジトリ213Cには、業務アプリケーション203を配備可能な業務システム210の配備情報と、業務システム210の性能特性情報と、業務システム210における業務アプリケーション203の配備情報と、業務アプリケーション203の計算機資源量情報とが格納されている。
ワークフローシステム204および業務アプリケーション203の実行前に、ワークフロー定義・業務定義取得部221はワークフロー定義・業務定義リポジトリ211からワークフロー定義および業務定義を取得する。ワークフロー合成部222は、取得されたワークフロー定義および業務定義から合成ワークフロー定義を作成し、合成ワークフロー定義DB223に格納する。また、目標状態管理部236は、合意サービス水準リポジトリ212から合意サービス水準情報を取得し、保持する。
ワークフローシステム204ならびに業務アプリケーション203が動作すると、業務の進捗と通信の発生をワークフロー監視システム208と通信監視システム206が検知し、監視情報受信部224に通知する。受信した監視情報は監視情報解析部225で合成ワークフロー定義に対応付けて解析され、監視情報格納DB226に格納される。
これと並行して、起動制御部227は定期的に状態観測部228に起動要求を送る。状態観測部228は監視情報格納DB226に格納された監視情報を合成ワークフローDB223に格納された合成ワークフロー定義と対応付け、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報を作成する。更に、状態観測部228は、制御履歴格納DB234から現在の制御条件を取得する。状態観測部228は、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報と、現在の制御条件を最適優先制御結果計算部229Cに入力する。
最適優先制御結果計算部229Cは入力された情報を基にして、現在実行されている合成ワークフローに対して最適な優先制御が行われた場合の将来の状態を予測する。この予測は予測部233Cが業務システムリポジトリ213Cに格納された業務アプリケーションの計算機資源割り当て量とプロセスの優先度情報を用いて行う。最適優先制御結果計算部229Cは予測結果と入力を検証部230Cに出力する。なお、図1に示したサービス提供品質算出手段14は、それぞれのワークフローの業務の完了時におけるサービス提供品質を算出する。その算出結果がこの第3の変形例における予測結果の一例である。
検証部230Cは予測結果を目標状態管理部236と対比して目標達成状況を判定する。図1に示した品質非到達判別手段15が、第3の変形例における検証部230Cの一例であり、ワークフローのいずれかが業務の完了時におけるサービス提供品質の下限値を下回るとき、これを判別する。この結果、検証部230は、予測結果が妥当であれば制御情報を制御履歴格納DB234に格納し、制御信号送信部235によって通信制御システム207と業務アプリケーション制御システム209Cに予測結果の妥当性を送信して終了する。予測結果が合意サービス水準を達成していなければ、検証部230Cは、計算機資源追加決定部231Cに最適優先制御結果計算部229Cの入力と出力を通知する。
計算機資源追加決定部231Cは、受け取った最適優先制御結果計算部229Cの入力と出力を参照して適切な業務アプリケーションに計算機資源を追加する計画を作成し、業務システムリポジトリ213Cに設定する。図1に示した品質非到達判別手段15が或るワークフローについてサービス提供品質の下限値を下回ることを判別したとき、図1に示した計算機資源再配分手段16が複数の処理部に対する計算機資源の量を再配分することで所定のワークフローのサービス提供品質が下限値を下回ることを回避させる。この処理が、第3の変形例の計算機資源を追加する計画の作成の一例である。最適優先制御結果計算部229Cは、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報とを入力として、再度合成ワークフローに対して最適な優先制御が行われた場合の将来の状態を予測する。
検証部230Cは、この予測結果が合意サービス水準を大きく超過して達成していると判定した場合、計算機資源削減決定部232Cに最適優先制御結果計算部229Cの入力と出力を通知する。計算機資源削減決定部232Cは、受け取った最適優先制御結果計算部229Cの入力と出力を参照して、業務アプリケーション203に配分された計算機資源を業務アプリケーション実行部数の削減によって適切に削減する計画を作成し、業務システムリポジトリ213Cに設定する。最適優先制御結果計算部229Cは、現在実行されている合成ワークフローの状態および履歴情報と、過去に実行された合成ワークフローの統計情報とを入力として再度合成ワークフローに対して最適な優先制御が行われた場合の将来の状態を予測する。
図66は、第2の変形例におけるワークフロー監視制御システムの全体的な処理動作の概要を表わす。本図は、第3の変形例についても使用できる。図8および図9も同様である。
図10は、計算機資源追加決定部231の処理を表わし、図11は計算機資源削減決定部232の処理を表わす。これらの図も、第3の変形例で使用できる。なお、これらの図は、計算機資源追加決定部231Cおよび計算機資源削減決定部232Cの動作の一例を示す。計算機資源追加決定部231Cおよび計算機資源削減決定部232Cの動作は、監視制御対象と合意サービス水準の内容、業務システムの特性によって変化する。これらの図を、図88および図6と共に説明する。
計算機資源追加決定部231Cは、まず検証部230Cから、最適優先制御結果計算部229Cでの予測結果であるすべての合成ワークフローの実行が完了した時点での合成ワークフローの状態と、この状態に至るまでの履歴情報と、検証部230Cが予測結果の判定に利用した目標状態管理部236の情報を入力する(図10のステップS371:Y)。最適優先制御結果計算部229Cは、入力した情報から、合意サービス水準が達成不可能な合成ワークフロー群を特定する(ステップS372)。
次に、計算機資源追加決定部231Cは、計算機資源を追加する業務アプリケーション203と追加量を決定する(ステップS373)。この決定方法の一例は、ステップS372で特定された合成ワークフロー群が各業務アプリケーション203に実行を要求してから実行が完了するまでの時間から、業務アプリケーション203を実行するのに要する最短の時間を引いたものの合計が最も大きいと予測された業務アプリケーション203に、最小単位の計算機資源を追加するという方法である。また、この決定方法は、ステップS372で特定された合成ワークフロー群が各業務アプリケーション203に実行を要求してから実行が完了するまでの時間から、業務アプリケーション203を実行するのに要する最短の時間を引いたものを業務アプリケーションの実行所要時間で除した値に、業務アプリケーション203に計算機資源を最小単位追加した場合の業務アプリケーション203の実行所要時間改善量を掛けた値を、ステップS372で特定された合成ワークフロー群内のワークフローが各業務アプリケーション203に対して要求しているすべての実行要求について、業務アプリケーション203ごとに足し合わせた値を求め、この値が最も大きいと予測された業務アプリケーション203に、最小単位の計算機資源を追加するという方法でも良い。
以上のようにして計算機資源を追加する業務アプリケーション203と追加量を決定したら(ステップS373)、計算機資源追加決定部231Cは、求められた業務アプリケーション203に対して、求められた計算機資源を追加した状態を業務システムリポジトリ213Cに保存する(ステップS374)。このようにして計算機資源追加決定部231Cは、処理を終了する(エンド)。
先に示した図11は、計算機資源削減決定部の動作を示す。本図を、図88と共に説明する。
計算機資源削減決定部232Cは、検証部230Cから、最適優先制御結果計算部229Cでの予測結果であるすべての合成ワークフローの実行が完了した時点での合成ワークフローの状態と、この状態に至るまでの履歴情報と、検証部230Cが予測結果の判定に利用した目標状態管理部236の情報を入力する(ステップS391:Y)。
計算機資源削減決定部232Cは次に、この入力した情報から、合意サービス水準に対する余裕が最も小さい合成ワークフローを特定する(ステップS392)。そして、この特定された合成ワークフロー以外の合成ワークフローに対する合意サービス水準の達成という観点から、計算機資源を削減する業務アプリケーション203と削減量を決定する(ステップS393)。この決定方法の一例は、ステップS392で特定された合成ワークフローが予測を行った期間に利用しない業務アプリケーションのうち、待ち時間が最も短いものから最小単位の計算機資源を削減するという方法である。また、この決定方法は、ステップS392で特定された合成ワークフローが予測を行った期間に利用しない業務アプリケーション203のうち、過去一定期間の利用率が最も小さいものから最小単位の計算機資源を削減するという方法であってもよい。
以上のようにしてステップS393で計算機資源を削減する業務アプリケーション203と削減量を決定したら、計算機資源削減決定部232Cは、求められた業務アプリケーション203から求められた量の計算機資源を削減した状態を業務システムリポジトリ213Cに保存する(ステップS394)。このようにして計算機資源削減決定部232Cは、処理を終了する(エンド)。計算機資源の削減に関して、合意サービス水準に対する余裕が最も小さい合成ワークフローを最初に特定する(図11ステップS392)ことは必須の条件ではない。これ以外の手法でも計算機資源の削減は可能である。
図12は、第3の変形例でも使用できる。図12に示したワークフローのワークフロー定義には合意サービス水準が設定されている。第1のワークフローシステム2041に存在する1つのワークフロー定義を中心とする合成ワークフロー定義には、処理を150秒以内に完了することを要求する合意サービス水準が設定されている。また、第2のワークフローシステム2042に存在する1つのワークフロー定義を中心とする合成ワークフロー定義には、合成ワークフロー定義の利用者に応じて2つの合意サービス水準が定義されている。具体的には、例えば、一部の利用者に対しては処理を150秒以内に完了することを、他の利用者に対しては処理を180秒以内に完了することを要求する合意サービス水準が設定されている。このような合意サービス水準は、合意サービス水準リポジトリ212(図88)に格納されている。このように合意サービス水準を利用者別に複数設定することで、それぞれの利用者のサービスの要求度に応じたサービス提供品質を確保することが可能になる。
第3の変形例のワークフロー実行システム400C(図示せず)では、第1のワークフロー監視システム2081が第1のワークフローシステム2041を、第2のワークフロー監視システム2082が第2のワークフローシステム2042を監視対象としている。
初期状態で、各通信制御システム2071〜2079の制御情報保持部246(図6参照)は、それぞれの制御対象が送信する情報を通信制御システム2071〜2079が即座に送信することを指示する設定情報を保持する。また、制御情報保持部246は、それぞれの制御対象が受信する情報を即座に各通信制御システム2071〜2079が送信することを指示する設定情報を保持する。制御情報保持部246は、業務アプリケーションがすべてのプロセスを同一の優先度で実行することを指示する設定情報を保持する。更に、第1および第2のワークフローシステム2041、2042ならびに第1〜第7の業務アプリケーション2031〜2037の間の通信は、通信監視システム206によって監視されている。これらの監視対象および制御対象を定義する情報は、制御システム格納DB237(図88)に格納されている。
また、検証部230C(図88)が、予測結果が合意サービス水準を大きく超過して達成していると判定する状態とは、例えば、すべての合成ワークフローが合意サービス水準で定められた時間の3分の2以下の時間で完了している状態である。
起動制御部227(図88)は、例えば、60秒ごとに状態観測部228(図88)を起動するように設定されている。また、予測部233C(図2)は、入力された合成ワークフローの状態の0.1秒後の状態を求めるよう設定されている。
第2の変形例における図67は、第3の変形例における監視対象で、時刻0から合成ワークフローが実行されているときの時刻660におけるワークフロー監視制御システムの状態を示す図としてそのまま利用できる。そこで、本図に関する説明は省略される。
図89は、起動制御部が状態観測部を初めて起動したとき取得する合成ワークフローの状態および履歴情報の一例を示す。本図を、図88および図67と共に説明する。
時刻660において起動制御部227が状態観測部228を初めて起動すると、状態観測部228は図89にあるような合成ワークフローの状態および履歴情報を取得する。
この時点で制御履歴格納DB234には、制御情報保持部246(図6)の初期状態である、制御対象が送信する情報は即座に送信し、制御対象が受信する情報を即座に送信し、業務アプリケーションの全てのプロセスは同一の優先度で実行するという情報が設定されている。状態観測部228は最適優先制御結果計算部229Cに、図89にあるような合成ワークフローの状態および履歴情報と、制御履歴格納DB234の情報を入力する。
最適優先制御結果計算部229Cは、予測部233Cを利用し、すべての合成ワークフローが完了するまでの合成ワークフローの動作の予測を作成する。ワークフロー監視制御システム205Cは、時刻660においていずれかの業務アプリケーションで実行中となっている合成ワークフローに属するプロセスの優先度を制御することにより、既に実行中のプロセスの完了順序と完了時刻を制御する。
図90は、この最優先制御のみの場合の予測結果を表わす。図90によれば、2つの合成ワークフロー(e2)、(f2)の処理時間が合意サービス水準に達していない。合意サービス水準の達成を図る為には、計算機資源の追加が必要である。
そこで、計算機資源追加決定部231Cは、合意サービス水準を達成するために、計算機資源を追加する業務アプリケーションと追加量を決定する。このために、計算機資源追加決定部231Cは、予想待ち時間改善量という概念を用いる。予想待ち時間改善量は、合意サービス水準に達しない合成ワークフロー群が各業務アプリケーション203に実行を要求してから実行されるまでの待ち時間を業務アプリケーションの実行所要時間で除した値に、業務アプリケーションに最小単位の計算機資源を追加した場合の業務アプリケーションの実行待ち時間間隔改善量を掛けた値を、図10のステップS372で特定された合成ワークフロー群内のワークフローが各業務アプリケーション203に対して要求しているすべての実行要求について、業務アプリケーション203ごとに足し合わせた値である。そして、計算機資源追加決定部231Cは、得られた予想待ち時間改善量が最も大きいと予測された業務アプリケーションに対して、最小単位の計算機資源を追加する。
図91は、予測結果に基づいて算出した各業務アプリケーションの予想待ち時間改善量を表わす。この図91は、予想待ち時間改善量が最も大きいと予測される業務アプリケーションを求めるため、予測結果に基づいて算出した、各業務アプリケーションの予想待ち時間改善量を示す。
図91によれば、第3の業務アプリケーション2033が最も予想待ち時間改善量が大きい。したがって、この例の場合、計算機資源追加決定部231Cは、第3の業務アプリケーション2033に計算機資源を追加する。この結果、第3の業務アプリケーション2033に割り当てられる計算機資源は60単位となり、当該アプリケーションの処理所要時間は12.5秒/件となる(図13および図14参照)。
図92は、計算機資源が最初に追加された場合の合成ワークフローの状態を示す。本図を、図88および図67と共に説明する。
最適優先制御結果計算部229Cは、計算機資源が最初に追加された場合の合成ワークフローの動作の予測を図17の予測結果を求めたときと同じ方法で取得する。図92は、この結果を示す。ここで、例えば、計算機資源の追加は時刻660に行われる。図92によると、合成ワークフロー(e2)、(f2)は未だ合意サービス水準を達成できていない。このため、計算機資源追加決定部231Cは、再度計算機資源を追加する業務アプリケーションを選択するために予想待ち時間改善量を求める。
図93は、計算機資源を2番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わす。この図93によると、第3の業務アプリケーション2033が最も予想待ち時間改善量が大きい。このため、計算機資源追加決定部231Cは、第3の業務アプリケーション2033に計算機資源を追加する。これにより、第3の業務アプリケーション2033に割り当てられる計算機資源は70単位となり、当該アプリケーションの処理所要時間は10.714秒/件となる(図13および図14参照)。
この条件で、最適優先制御結果計算部229Cは、計算機資源が追加された場合の合成ワークフローの動作の予測を図21の予測結果を求めたときと同じ方法で取得する。
図94は、計算機資源を2番目に追加した場合の合成ワークフローの状態を示す。ここで、計算機資源の追加は時刻660に行われるものとする。この図94によると、合成ワークフロー(e2)、(f2)は未だ合意サービス水準を達成できない。このため、計算機資源追加決定部231Cは、再度計算機資源を追加する業務アプリケーションを選択するために予想待ち時間改善量を求める。
図95は、計算機資源を3番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わす。この図95によると、第7の業務アプリケーション2037が最も予想待ち時間改善量が大きい。このため、計算機資源追加決定部231Cは、第7の業務アプリケーション2037に計算機資源を追加する。これにより、第7の業務アプリケーション2037に割り当てられる計算機資源は50単位となり、当該アプリケーションの処理所要時間は16秒/件となる(図13および図14参照)。
この条件で、最適優先制御結果計算部229Cは、計算機資源が追加された場合の合成ワークフローの動作の予測を図23の予測結果を求めたときと同じ方法で取得する。
図96は、計算機資源を3番目に追加した場合の合成ワークフローの状態を示す。ここで、計算機資源の追加は時刻660に行われるものとする。この図96によると、合成ワークフロー(e2)は合意サービス水準を達成可能となったものの、合成ワークフロー(f2)は未だ合意サービス水準を達成できていない。このため、再度計算機資源を追加する業務アプリケーションを選択するために予想待ち時間改善量を求める。
図97は、計算機資源を4番目に追加する場合の各業務アプリケーションについて算出された予想待ち時間改善量を表わす。この図97によると、第7の業務アプリケーション2037が最も予想待ち時間改善量が大きい。このため、第7の業務アプリケーション2037に計算機資源を追加する。これにより、第7の業務アプリケーション2037に割り当てられる計算機資源は60単位となり、当該アプリケーションの処理所要時間は13.333秒/件となる。
この条件で、最適優先制御結果計算部229Cは、計算機資源が追加された場合の合成ワークフローの動作の予測を図25の予測結果を求めたときと同じ方法で取得する。
図98は、計算機資源を4番目に追加した場合の合成ワークフローの状態を示す。ここで、例えば、計算機資源の追加は時刻660に行われる。図98によると、この条件で、すべての合成ワークフローが合意サービス水準を達成できると予想される。
以上のようにして計算機資源の追加によってすべての合成ワークフローが合意サービス水準を達成できると予想されるようになったら、検証部230Cは、前述した予測における優先制御条件と計算機資源の追加ならびに削除条件が、前回設定した制御情報と異なっているか否かを判定する。この例の場合、時刻660で初めて制御が行われたので、検証部230Cは、前回設定した制御情報と異なっていると判定し、制御信号送信部235が制御情報を通信制御システム207に送信する。
図99は、時刻720の時点に起動制御部227が状態観測部228を再度起動した場合における合成ワークフローの状態を示す。この時刻720において、図88に示した起動制御部227が状態観測部228を再度起動すると、状態観測部228はこの図99にあるような合成ワークフローの状態および履歴情報を取得する。図99を図98と比較すると、図67のステップS13で示す条件分岐が原因で、合成ワークフロー(d2)の処理が予測結果と異なっている。これ以外の合成ワークフローは、予測結果どおりに処理が進捗している。
図100は、時刻660の時点と同様に、時刻720の時点で将来を予測した場合の合成ワークフローの状態を示す。この図100に示されるように、この場合はすべての合成ワークフローが合意サービス水準を達成すると予想される。このため、新規の制御は行われない。
次に、この監視対象において、合成ワークフローの状態が異なる場合の動作を説明する。
図84は、第3の変形例における時刻0から合成ワークフローが実行された場合の、時刻660に実行されている合成ワークフローの状態を示す図として、そのまま使用できる。すなわち、時刻660には、第1のワークフローシステム2041により実行が制御される3個の合成ワークフローと、第2のワークフローシステム2042により実行が制御される2個の合成ワークフローが存在している。時刻660において、合成ワークフロー(a1)は完了しており、合成ワークフロー(b1)、(c1)は第3の業務アプリケーション2033で実行中である。また、合成ワークフロー(a2)は第7の業務アプリケーション2037で実行中であり、合成ワークフロー(b2)は第5の業務アプリケーション2035で実行中である。第1のワークフローシステム2041における3個の合成ワークフローは与えられた合意サービス水準に従って150秒以内に完了することが求められている。また、第2のワークフローシステム2042における2個の合成ワークフローは与えられた合意サービス水準に従って180秒以内に完了することが求められている。
図101は、時刻660に起動制御部227が状態観測部228を初めて起動した場合の、状態観測部が取得する合成ワークフローの状態を示す。本図を、図88と共に説明する。時刻660において起動制御部227が状態観測部228を初めて起動すると、状態観測部228はこの図101にあるような合成ワークフローの状態および履歴情報を取得する。この時点で、図88に示した制御履歴格納DB234には、制御情報保持部246(図6)の初期状態の情報が設定されている。これは、通信制御システム207等が、制御対象が送信する情報を即座に送信し、制御対象が受信する情報を即座に送信すること、業務アプリケーションのプロセスの優先度はすべて同一であることを指定する情報である。状態観測部228は最適優先制御結果計算部229Cに、図101に示す合成ワークフローの状態および履歴情報と、制御履歴格納DB234の情報を入力する。
図102は、最適優先制御結果計算部229Cが予測部233Cを用いて作成したすべての合成ワークフローが完了するまでの合成ワークフローの動作の予測を示す。図88に示す最適優先制御結果計算部229Cが、予測部233Cを利用して作成した図102に示される合成ワークフローの動作の予測によると、すべての合成ワークフローは合意サービス水準を大幅に超過して達成している。
このため、計算機資源削減決定部232C(図88)は、計算機資源を削減する業務アプリケーションと削減量を決定する。計算機資源削減決定部232Cは、合意サービス水準に対する余裕が最も小さい合成ワークフローが予測を行った期間に利用しない業務アプリケーションのうち、過去一定期間の利用率が最も小さいものから最小単位の計算機資源を削減するという手法を採る。そこで、計算機資源削減決定部232C(図88)は、合成ワークフロー履歴から、過去一定期間の業務アプリケーション利用率を求める。
図37は、計算機資源削減決定部232Cの求めた各業務アプリケーションの利用率を表わす。図37に示した結果が得られた場合、利用率が最も低い業務アプリケーションは第1の業務アプリケーション2031である。また、合意サービス水準に対する余裕が最も小さい合成ワークフローである合成ワークフロー(b1)は、時刻660以降に第1の業務アプリケーション2031を利用しないことが合成ワークフロー定義から判断される。このため、計算機資源削減決定部232Cは、第1の業務アプリケーション2031から最小単位の計算機資源を削減することを決定する。これにより、第1の業務アプリケーション2031の計算機資源量は、たとえば図14に示した計算機資源量から10単位が削減されて10単位となり、当該アプリケーションの処理所要時間は10秒/件となる。
次に、検証部203Cは、予測における優先制御条件と計算機資源の追加、削除条件が前回設定した制御情報と異なっているか否かを判定する。この場合、時刻660で初めて制御が行われたため、検証部203Cは、前回設定した制御情報と異なっていると判定し、制御信号送信部235が制御情報を通信制御システム207に送信する。
本発明は、ワークフローの制御装置や、ワークフロー制御をコンピュータに実現するためのプログラムといった各種用途に適用できる。更に、本発明は、情報提供装置の利用効率向上といった用途にも適用できる。更に、本発明は、情報提供装置の利用する計算機資源の削減といった用途にも適用できる。
本願発明は上記実施形態(及び動作例)に限定されない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更が可能である。
この出願は、2009年5月15日に出願された日本出願特願2009−119120を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (13)

  1. 複数の処理単位のシーケンスの実行要求であるワークフローを入力するシステムであって、業務アプリケーションソフトウェアと計算機資源を用いて、それぞれに割り当てられた処理単位を実行する複数の処理部と接続されて、
    ワークフローごとに実行される処理単位の順序を定義するワークフロー定義を設定するワークフロー定義設定手段と、
    前記ワークフロー定義設定手段で設定したワークフロー定義に従って、前記複数の処理部を経由させることによって処理が完了されたワークフローの品質(サービス提供品質)の許容できる下限値を、前記ワークフローごとに設定するサービス提供品質下限値設定手段と、
    前記複数の処理部のそれぞれに配分されている計算機資源の量が現状の値に固定されているという条件の下で、1つの処理部にワークフローが到来してからその処理部での処理が完了するまでの処理時間を、その処理部がそのワークフロー1つを専ら処理する場合の処理時間、及び、複数の処理要求が競合した場合の競合処理方法に応じて処理部ごとに算出し、これら処理部ごとの処理時間をワークフローごとに積算することで、それぞれのワークフローのサービス提供品質を算出するサービス提供品質算出手段と、
    前記サービス提供品質算出手段によって算出された、ワークフローのいずれかのサービス提供品質が下限値を下回るとき、これを判別する品質非到達判別手段と、
    前記品質非到達判別手段が、いずれかのワークフロー(下回りワークフロー)のサービス提供品質が下限値を下回ることを判別したとき、前記複数の処理部における少なくとも1つの処理部に対する計算機資源の量を再配分することで前記下回りワークフローのサービス提供品質が下限値を下回ることを回避させる計算機資源再配分手段とを具備することを特徴とするワークフロー監視制御システム。
  2. 前記計算機資源再配分手段は、前記複数の処理部のいずれにも使用していない予備的な計算機資源を管理する計算機資源管理手段と、下限値を下回らないワークフローの数が最大数となるように、それぞれのワークフローが前記複数の処理部のいずれかに到来してから当該処理部での処理単位が開始されるまでの時間(待機時間)の調整を行う待機時間調整手段と、前記待機時間調整手段による待機時間の調整後も前記品質非到達判別手段が前記サービス提供品質の下限値を下回るワークフローが存在すると判別するとき、前記複数の処理部における計算機資源の量を前記計算機資源管理手段で管理されている計算機資源の範囲内で増加させる計算機資源増加手段とを具備することを特徴とする請求項1記載のワークフロー監視制御システム。
  3. 前記計算機資源再配分手段は、サービス提供品質が所定範囲を超えて下限値を上回るワークフローが存在するとき、そのワークフローを実行した前記複数の処理部のいずれかの計算機資源量を削減させる計算機資源削減手段とを具備することを特徴とする請求項1記載のワークフロー監視制御システム。
  4. 前記サービス提供品質算出手段は、ワークフローのそれぞれについて、前記複数の処理部のおのおのにおける処理単位の開始時刻と終了時刻を算出することを特徴とする請求項1記載のワークフロー監視制御システム。
  5. 前記サービス提供品質算出手段は、前記複数の処理部のそれぞれについて、計算機資源の量に対する前記処理部の処理単位の開始から終了までの所要時間を示すテーブルを備えており、前記計算機資源増加手段は、前記テーブルを用いて、計算機資源を追加すべき処理部と追加量を決定することを特徴とする請求項2記載のワークフロー監視制御システム。
  6. 前記サービス提供品質算出手段は、前記複数の処理部のそれぞれについて、計算機資源の量に対する前記処理部の処理単位の開始から終了までの所要時間を示すテーブルを備えており、前記計算機資源削減手段は、前記テーブルを用いて、計算機資源を削減する処理部と削減量を算出することを特徴とする請求項3記載のワークフロー監視制御システム。
  7. 計算機資源再配分手段は、前記複数の処理部のいずれかにおける業務アプリケーションソフトウェアを実行する業務アプリケーション実行部の数の増減を行うことで計算機資源の量を再配分することを特徴とする請求項1記載のワークフロー監視制御システム。
  8. 前記複数の処理部のそれぞれは、ワークフローのサービス提供品質が、下限値を下回らない範囲内で、最も優先度の高いワークフローから順に1つずつ処理を開始することを特徴とする請求項1記載のワークフロー監視制御システム。
  9. 前記複数の処理部のそれぞれは、ワークフローのサービス提供品質が、下限値を下回らない範囲内で、優先度を設けることなく時分割で処理することを特徴とする請求項1記載のワークフロー監視制御システム。
  10. 複数の処理単位のシーケンスの実行要求であるワークフローを入力して、業務アプリケーションソフトウェアと計算機資源を用いて、それぞれに割り当てられた処理単位を実行する複数の処理部のそれぞれを予め定めた順番で経由させることでワークフローを実行させるとき、前記複数の処理部のそれぞれに配分されている計算機資源の量が現状の値に固定されているという条件の下で、1つの処理部にワークフローが到来してからその処理部での処理が完了するまでの処理時間を、その処理部がそのワークフロー1つの処理要求を専ら処理する場合の処理時間、及び複数の処理要求が競合した場合の競合処理方法に応じて処理部ごとに算出し、これら処理部ごとの処理時間をワークフローごとに積算することで、それぞれのワークフローの業務の完了時における品質(サービス提供品質)を算出し、
    ワークフローのいずれかのサービス提供品質が、ワークフロー対応に定められた下限値を下回るとき、これを判別し、
    何れかのワークフロー(下回りワークフロー)のサービス提供品質が下限値を下回ることを判別したとき、前記複数の処理部の少なくとも1つの処理部に対する計算機資源の量を再配分することで前記下回りワークフローのサービス提供品質が下限値を下回ることを回避させるワークフロー監視制御方法。
  11. 下限値を下回らないワークフローの数が最大数となるように、それぞれのワークフローが前記複数の処理部のいずれかに到来してから当該処理部での処理単位が開始されるまでの時間(待機時間)の調整を行い、待機時間の調整後も下限値を下回るワークフローが存在すると判別するとき、前記複数の処理部における計算機資源の量を所定の予備的な計算機資源の範囲内で増加させることを特徴とする請求項10記載のワークフロー監視制御方法。
  12. 複数の処理単位のシーケンスの実行要求であるワークフローを入力して、業務アプリケーションソフトウェアと計算機資源を用いて、それぞれに割り当てられた処理単位を実行する複数の処理部のそれぞれを予め定めた順番で経由させることでワークフローを実行させるコンピュータに、
    前記複数の処理部のそれぞれに配分されている計算機資源の量が現状の値に固定されているという条件の下で、1つの処理部にワークフローが到来してからその処理部での処理が完了するまでの処理時間を、その処理部がそのワークフロー1つの処理要求を専ら処理する場合の処理時間、及び、複数の処理要求が競合した場合の競合処理方法に応じて処理部ごとに算出し、これら処理部ごとの処理時間をワークフローごとに積算することで、それぞれのワークフローの業務の完了時における品質(サービス提供品質)を算出するサービス提供品質算出処理と
    ワークフローのいずれかのサービス提供品質が、ワークフロー対応に定められた下限値を下回るとき、これを判別する品質非到達判別処理と、
    いずれかのワークフロー(下回りワークフロー)のサービス提供品質が下限値を下回ることを判別したとき、前記複数の処理部の少なくとも1つの処理部に対する計算機資源の量を再配分することで前記下回りワークフローのサービス提供品質が下限値を下回ることを回避させる計算機資源再配分処理とを実行させることを特徴とするワークフロー監視制御プログラム。
  13. 下限値を下回らないワークフローの数が最大数となるように、それぞれのワークフローが前記複数の処理部のいずれかに到来してから当該処理部での処理単位が開始されるまでの時間(待機時間)の調整を行う待機時間調整処理と、この待機時間調整処理による待機時間の調整後も下限値を下回るワークフローが存在すると判別するとき、前記複数の処理部における計算機資源の量を所定の予備的な計算機資源の範囲内で増加させる計算機資源増加処理とを実行させることを特徴とする請求項12記載のワークフロー監視制御プログラム。
JP2011513400A 2009-05-15 2010-05-13 ワークフロー監視制御システム、監視制御方法および監視制御プログラム Active JP5609868B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011513400A JP5609868B2 (ja) 2009-05-15 2010-05-13 ワークフロー監視制御システム、監視制御方法および監視制御プログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009119120 2009-05-15
JP2009119120 2009-05-15
JP2011513400A JP5609868B2 (ja) 2009-05-15 2010-05-13 ワークフロー監視制御システム、監視制御方法および監視制御プログラム
PCT/JP2010/058495 WO2010131778A1 (ja) 2009-05-15 2010-05-13 ワークフロー監視制御システム、監視制御方法および監視制御プログラム

Publications (2)

Publication Number Publication Date
JPWO2010131778A1 JPWO2010131778A1 (ja) 2012-11-08
JP5609868B2 true JP5609868B2 (ja) 2014-10-22

Family

ID=43085143

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011513400A Active JP5609868B2 (ja) 2009-05-15 2010-05-13 ワークフロー監視制御システム、監視制御方法および監視制御プログラム

Country Status (3)

Country Link
US (1) US8918792B2 (ja)
JP (1) JP5609868B2 (ja)
WO (1) WO2010131778A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170062235A (ko) * 2015-11-27 2017-06-07 삼성에스디에스 주식회사 서비스 처리 시스템 및 방법

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8938740B2 (en) * 2010-03-11 2015-01-20 Nec Corporation Resource allocation apparatus, resource allocation method, and computer readable medium
SG2011031804A (en) * 2011-05-03 2015-03-30 Eutech Cybernetics Pte Ltd Computer implemented method and system for analyzing business processes
US20130070056A1 (en) * 2011-09-20 2013-03-21 Nexus Environmental, LLC Method and apparatus to monitor and control workflow
JP2013250760A (ja) * 2012-05-31 2013-12-12 Brother Ind Ltd 中継サーバ
JP6172649B2 (ja) 2012-12-19 2017-08-02 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報処理装置、プログラム、及び、情報処理方法
US9515899B2 (en) 2012-12-19 2016-12-06 Veritas Technologies Llc Providing optimized quality of service to prioritized virtual machines and applications based on quality of shared resources
JP6357787B2 (ja) * 2014-02-07 2018-07-18 日本電気株式会社 データ処理装置
US9619771B2 (en) * 2014-04-05 2017-04-11 Parsable, Inc. Systems and methods for digital workflow and communication
JP6447054B2 (ja) * 2014-11-27 2019-01-09 富士通株式会社 情報処理方法、及び情報処理プログラム
US20170031600A1 (en) 2015-07-30 2017-02-02 Netapp Inc. Real-time analysis for dynamic storage
JP2017102777A (ja) * 2015-12-03 2017-06-08 富士通株式会社 負荷分散処理サーバ、負荷分散処理方法、及び、システム
US10346211B2 (en) * 2016-02-05 2019-07-09 Sas Institute Inc. Automated transition from non-neuromorphic to neuromorphic processing
US10650045B2 (en) 2016-02-05 2020-05-12 Sas Institute Inc. Staged training of neural networks for improved time series prediction performance
US10642896B2 (en) 2016-02-05 2020-05-05 Sas Institute Inc. Handling of data sets during execution of task routines of multiple languages
US10795935B2 (en) 2016-02-05 2020-10-06 Sas Institute Inc. Automated generation of job flow definitions
US10650046B2 (en) 2016-02-05 2020-05-12 Sas Institute Inc. Many task computing with distributed file system
US10545792B2 (en) * 2016-09-12 2020-01-28 Seven Bridges Genomics Inc. Hashing data-processing steps in workflow environments
US10331485B2 (en) 2016-11-18 2019-06-25 Huawei Technologies Co., Ltd. Method and system for meeting multiple SLAS with partial QoS control
CN107203416B (zh) * 2017-05-17 2020-08-21 维沃移动通信有限公司 一种终端操作方法及移动终端
JP6926746B2 (ja) * 2017-07-07 2021-08-25 株式会社リコー 情報処理装置、情報処理システム及び情報処理プログラム
JP6984087B2 (ja) * 2017-10-11 2021-12-17 日本電信電話株式会社 サービス開発システム、リソース予測方法及びサービス開発プログラム
US10474977B2 (en) * 2017-10-27 2019-11-12 International Business Machines Corporation Cognitive learning workflow execution
US10462024B1 (en) 2017-11-15 2019-10-29 Chicago Mercantile Exchange Inc. State generation system for a sequential stage application
US11562223B2 (en) * 2018-04-24 2023-01-24 EMC IP Holding Company LLC Deep reinforcement learning for workflow optimization
WO2019207790A1 (ja) * 2018-04-27 2019-10-31 三菱電機株式会社 データ処理装置、タスク制御方法及びプログラム
US11467858B2 (en) * 2019-03-27 2022-10-11 Amazon Technologies, Inc. Techniques for performing continuation workflows
US11366681B2 (en) 2019-03-27 2022-06-21 Amazon Technologies, Inc. Chaining virtual machines

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009054003A (ja) * 2007-08-28 2009-03-12 Fujifilm Corp 画像処理装置及びプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058947B1 (en) * 2000-05-02 2006-06-06 Microsoft Corporation Resource manager architecture utilizing a policy manager
JP2004362449A (ja) 2003-06-06 2004-12-24 Mitsubishi Electric Corp サービス提供装置及びサービスコーディネータ装置及びサービス提供方法及びサービスコーディネート方法及びプログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体
US8566828B2 (en) * 2003-12-19 2013-10-22 Stmicroelectronics, Inc. Accelerator for multi-processing system and method
US20060101467A1 (en) * 2004-10-18 2006-05-11 International Business Machines Corporation Process execution management based on resource requirements and business impacts
KR101096000B1 (ko) * 2004-10-28 2011-12-19 텔레콤 이탈리아 소시에떼 퍼 아찌오니 통신 서비스 및/또는 네트워크 관리를 위한 플랫폼내자원관리방법, 이에 따른 플랫폼 및 컴퓨터 프로그램 제품
US8146090B2 (en) * 2005-09-29 2012-03-27 Rockstar Bidco, LP Time-value curves to provide dynamic QoS for time sensitive file transfer
US8676974B2 (en) 2005-09-29 2014-03-18 International Business Machines Corporation Quality of service (QoS) based planning in web services aggregation
US20100242048A1 (en) * 2006-04-19 2010-09-23 Farney James C Resource allocation system
JP4370313B2 (ja) 2006-07-10 2009-11-25 三菱電機株式会社 制御装置、制御装置のプロセス制御方法およびプロセス制御プログラム
JP2008077266A (ja) 2006-09-20 2008-04-03 Nec Corp サービス制御装置、分散サービス制御システム、サービス制御方法、及び、プログラム
WO2008152687A1 (ja) * 2007-06-11 2008-12-18 Fujitsu Limited ワークフロー定義変更プログラム、ワークフロー定義変更方法およびワークフロー定義変更装置
US8090974B1 (en) * 2008-02-08 2012-01-03 Joviandata, Inc. State machine controlled dynamic distributed computing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009054003A (ja) * 2007-08-28 2009-03-12 Fujifilm Corp 画像処理装置及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170062235A (ko) * 2015-11-27 2017-06-07 삼성에스디에스 주식회사 서비스 처리 시스템 및 방법
KR102387930B1 (ko) * 2015-11-27 2022-04-15 삼성에스디에스 주식회사 서비스 처리 시스템 및 방법

Also Published As

Publication number Publication date
US8918792B2 (en) 2014-12-23
JPWO2010131778A1 (ja) 2012-11-08
US20120054768A1 (en) 2012-03-01
WO2010131778A1 (ja) 2010-11-18

Similar Documents

Publication Publication Date Title
JP5609868B2 (ja) ワークフロー監視制御システム、監視制御方法および監視制御プログラム
US8793695B2 (en) Information processing device and information processing method
US20140181839A1 (en) Capacity-based multi-task scheduling method, apparatus and system
CN108810100B (zh) 一种主节点的选举方法、装置及设备
Yao et al. Haste: Hadoop yarn scheduling based on task-dependency and resource-demand
CN111752965B (zh) 一种基于微服务的实时数据库数据交互方法和系统
US8572621B2 (en) Selection of server for relocation of application program based on largest number of algorithms with identical output using selected server resource criteria
US11838384B2 (en) Intelligent scheduling apparatus and method
CN112162865A (zh) 服务器的调度方法、装置和服务器
EP4383074A1 (en) Service processing method and apparatus, server, storage medium, and computer program product
JP2005141605A (ja) 予測に基づいた計算機リソース配分方法
CN102096602A (zh) 一种任务调度方法及其系统和设备
Yao et al. New scheduling algorithms for improving performance and resource utilization in hadoop YARN clusters
US11438271B2 (en) Method, electronic device and computer program product of load balancing
CN112910937B (zh) 容器集群中的对象调度方法、装置、服务器和容器集群
KR20110010577A (ko) 배치 처리 다중화 방법
CN112015549B (zh) 一种基于服务器集群的调度节点的选择抢占方法及系统
CN110764887A (zh) 任务重调度方法、系统及相关设备、装置
CN116010064A (zh) Dag作业调度和集群管理的方法、系统及装置
CN111240824A (zh) 一种cpu资源调度方法及电子设备
CN116360922A (zh) 集群资源调度方法、装置、计算机设备和存储介质
CN111913784A (zh) 任务调度方法及装置、网元、存储介质
CN115629854A (zh) 分布式任务调度方法、系统、电子设备和存储介质
CN113051063B (zh) 分布式任务的任务调度方法、装置及电子设备
JP2009169787A (ja) ワークフロー監視制御システム、監視制御方法および監視制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140408

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140522

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140818

R150 Certificate of patent or registration of utility model

Ref document number: 5609868

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150