JP5212381B2 - フィードフォーワード制御方法、サービス提供品質制御装置、システム、プログラム及びその記録媒体 - Google Patents

フィードフォーワード制御方法、サービス提供品質制御装置、システム、プログラム及びその記録媒体 Download PDF

Info

Publication number
JP5212381B2
JP5212381B2 JP2009551596A JP2009551596A JP5212381B2 JP 5212381 B2 JP5212381 B2 JP 5212381B2 JP 2009551596 A JP2009551596 A JP 2009551596A JP 2009551596 A JP2009551596 A JP 2009551596A JP 5212381 B2 JP5212381 B2 JP 5212381B2
Authority
JP
Japan
Prior art keywords
workflow
control
unit
service
vector value
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
JP2009551596A
Other languages
English (en)
Other versions
JPWO2009096519A1 (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 JP2009551596A priority Critical patent/JP5212381B2/ja
Publication of JPWO2009096519A1 publication Critical patent/JPWO2009096519A1/ja
Application granted granted Critical
Publication of JP5212381B2 publication Critical patent/JP5212381B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5096Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5025Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Description

本発明は、インターネットの利用の有無を問わず、複数の業務アプリケーションシステム群をサービス群として定義し、これらをワークフロー管理システム、ビジネスプロセス管理システムを用いて任意に連携させ、ビジネスプロセスとして実施・運用する際に、当該ビジネスプロセスを起動するサービス利用者とビジネスプロセス並びにそこから呼び出されるサービス群を提供するサービス提供者との間で契約として取り決められた合意サービス水準に基づくサービス提供品質を維持するためのフィードフォーワード制御方法、サービス提供品質制御装置、システム、プログラム及びその記録媒体に関する。
複数の業務アプリケーションシステム群をサービス群として定義し、これらをワークフロー管理システム、ビジネスプロセス管理システムを用いて任意に連携させ、ビジネスプロセスとして実施・運用する際に、ビジネスプロセスを起動するサービス利用者とビジネスプロセス及びそこから呼び出されるサービス群を提供するサービス提供者との間で契約として取り決められた合意サービス水準に基づくサービス提供品質を維持するためには、単なる処理要求に応じて発生する通信のトラフィック制御のみならず、複数の通信関係を束ね、複合的に組み合わせて実施される複雑な構造を持つサービス、ビジネスプロセスの安定化が必要である。
このためには、トラヒック制御技術、シミュレーション技術及び制御方法技術という三つの技術の融合が必要となる。
特許文献1に開示される「ビジネスプロセス定義を用いた事前リソース割り当て方法」は、将来の計算機リソース使用量を予測して、事前に計算機リソースを適切に割り当てるものである。すなわち、特許文献1には、将来の計算機リソース使用量の予測方法に関する発明が開示されている。
特許文献1に開示される発明は、ビジネスプロセス定義から抽出するサービスの呼出関係を用いた計算機リソース使用量の予測方法を備え、計算機リソース使用量予測ステップにおいて、新たなビジネスプロセスをシステムに配布するよりも前に計算機リソース予測使用量を計算し、計算機リソース予測使用量が所定値を超えるサービス実行計算機に対して、そのサービス実行計算機とは異なる計算機を新たなサービス実行計算機として割り当てるものである。
特許文献1に開示される発明によれば、ビジネスプログラムの配布時に従来の計算機リソース使用量を適切に予測でき、予測した計算機リソース使用量からリソースが不足する計算機を見つけ出し、計算機リソースを追加するような運用を実現できる。
特許文献2に開示される「サービス提供装置及びサービスコーディネータ装置及びサービス提供方法及びサービスコーディネート方法及びプログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体」は、サービス提供装置あるいはサービスコーディネータ装置、又はサービス提供方法あるいはサービスコーディネート方法に関するもので、特にサービス連携制御に関するものである。
特許文献2に開示される発明は、複数のサービスのサービス提供条件を示すSLA(Service Level Agreement)情報を記憶する記憶装置と、複数のサービスのうちいくつかをグループとして組み合わせた連携サービスの各サービスを提供することを求めるリクエスト情報を受信する受信部と、連携サービスの各サービスの現在の提供状況を管理し、記憶装置に記憶されたSLA情報が示す条件に基づいて、受信されたリクエスト情報が求める連携サービスの各サービスを提供することが可能か否かを判断する連携サービス管理部と、判断された結果に基づいて、受信部によって受信されたリクエスト情報が求める連携サービスの各サービスの提供を実行する実行部とを備えるものであり、ユーザ要件の中でも特にレスポンス要件を保証して複数のサービスを組み合わせて実行できる装置を提供することを目的としている。
特許文献3に開示される「自律管理システム向けポリシシミュレータ」は、計算機群を自律的に管理するシステム、特に、自律管理ポリシのシミュレーション手段に関するものである。
特許文献3に開示される発明は、自律管理システムの挙動を分析するシミュレータにおいて、システム構成、負荷分散設定、システムの負荷条件、ソフトウェアの性能情報、ソフトウェアの過渡的な挙動、及び検証対象の自律管理ポリシを入力とし、ある時刻のシステムの過渡現象を考慮した挙動(リソース使用量、応答時間、処理量)を計算し、その挙動に自律管理ポリシを適用し、次時刻のシステム構成、負荷分散設定を判断し、変更されたシステム構成、負荷分散設定を使用して次時刻のシミュレーションを行うもので、ポリシ制御による自律管理システムにおいて、ポリシ作成時に低コスト、迅速にポリシの妥当性を検証することを目的としている。
特許文献4に開示される「トラフィック制御装置およびそれを用いたサービスシステム」は、分散情報システムにおけるクライアント装置とサーバ装置データ通信中継システムとを用いたクライアント装置とサーバ装置との間のデータ通信方法と、それを用いたサーバアクセスのサービスに関するものである。
特許文献4に開示される発明は、クライアントからサーバへの要求を、トラフィック制御装置を経由して行い、トラフィック制御装置は、クライアントからの要求を制御する手段と、クライアントのデータ受信能力を判定する手段と、サーバに対する同時接続数を制御する手段とを持ち、サーバのリソースを十分に利用できるように、かつ、サーバの性能以上に要求を転送しないように、サーバの同時接続数を制御する。そして、クライアントに対しては、要求のあったサービスの提供にある一定時間以上かかることが予想される場合には、要求を拒否し、ある一定時間以内にサービスを提供できることが予想された場合には、要求を受け付ける。これにより、クライアントのネットワーク特性が多様な状況下で、サーバのスループットを維持し、かつサーバがダウンしないようにする。さらに、アクセス集中時にクライアントが不確定な長時間サービス待ち状態にならないようなサービス提供を可能としている。
特許文献5に開示される「トラフィック制御方法およびそのシステム」は、ネットワークのサービス品質維持に関するものである。これは、ネットワーク上の機器間のサービス品質を維持することを目的とし、少なくとも一つのクライアントと該クライアントにネットワークを介してサービスを提供する少なくとも一つのサーバ群との間にトラフィック制御装置を置き、そのクライアントとサーバ装置群間に存在する複数回線の回線使用率及びその間のデータ通信能力を監視し、そのデータ通信能力が低下した場合には、トラフィック制御装置が回線使用率の監視情報に基づいて各回線の中からボトルネックとなる回線を特定し、ボトルネック回線に対してトラフィック制御を行うものである。
特許文献6に開示される「監視制御システム、制御装置のシミュレーション方法及び記録媒体」は、監視制御システムにおけるデータの授受や各装置の演算実行状態の管理及び協調を行う機能を持った監視制御システム及び制御装置のシミュレーション方法に関するものである。
特許文献6に開示される発明は、監視制御システムの品質や信頼性向及び制御性能向上のために、シミュレーション試験や制御設計結果の反映を容易に且つ安定して実行することを目的としている。そして、プラントなどの制御対象からの制御量を入力とし監視及び制御を行う制御装置と制御パラメータ及び制御ソフトウェアを設計する制御設計部と、設計された制御パラメータ及び制御ソフトウェアを制御装置へ入力するための保守ツールと、設計された制御ソフトウェア及び制御パラメータを模擬して制御する制御装置モデルと制御対象の動特性の模擬演算結果を実行する制御対象モデルと、制御対象の運転データ及び制御装置モデルや、制御対象モデルの実行結果となるデータを保存し表示するデータ表示部、及び制御設計部、制御装置モデル、制御対象モデル及びデータ表示部と必要に応じて一部または全部を組み合わせ、協調して動作させる管理部とがネットワークを介して接続された監視制御システムを提供するものである。
特開2007−148469号公報 特開2004−362449号公報 特開2005−196601号公報 特開2005−184165号公報 特許第3750621号公報 特開2001−290516号公報
上記特許文献1〜6は、トラフィック制御技術に関するもの、シミュレーション技術に関するもの及び制御方式に関するものの三つに大別される。そして、これらのそれぞれについて課題が存在する。
1番目の課題は、異なった制御対象を前提としたために所望の制御を実現できない「適正制御案の評価機能の欠如」という課題である。
2番目の課題は、一部の機能が欠落しているために所望の制御を実現できない「制御指向の評価機能・実行機能の欠如」という課題である。
3番目の課題は、複雑な制御案について妥当性を立証できないために所望の制御の実行を保証できない「制御案の補正・検証機能の欠如」という課題である。
特許文献1に開示される発明は、サービス呼出関係を把握した上で現状の計算機リソースの利用状況を把握し、その上で将来の計算機リソースの需要についても算出し、その上で計算機リソースが不足する事態となれば、計算機リソースを追加する運用を行う。ただし、特許文献1に開示される発明は、取り扱う計測量が計算機リソースの予想使用量のみであり、計算機利用者とサービス提供者とが合意するべきSLAではない。
このため、シミュレーション等のしくみが簡単な構造であり、予め定義されているアクションをイベント時の実行条件に設定して、あるタイミングでイベントが指し示す値が実行条件を満足しているかのみを判定してアクションを実施しているに留まっている。
しかし、SLAを想定する場合、サービス品質は種々の構成要素から定義され、計算機リソースだけを制御対象とするわけではない。
このため、あるタイミングでイベントが指し示す値が実行条件を満足しているかの判定のみならず、その実施結果について結果をシミュレーションして推定・検証する必要があるが、特許文献1にはそのような構成要素は定義されていない。これは、「制御案の補正・検証機能の欠如」に該当する。
特許文献2に開示される発明は、SLAで定義された処理件数をサービスコーディネータとサービスプロバイダとの間で交換し、その枠内で処理する方式である。
しかし、特許文献2に開示される発明は、実現するべきSLAは、単位時間当たりの処理件数のみであり、平均応答時間や要求の棄却率、MTBF(Mean Time Between Failures)等の他の一般的なSLAは対象となっていない。
さらに、特許文献1にて想定しているサービス品質や呼び出し関係に関連する複雑な構造や、平均応答時間、要求棄却率の時間変動を計測し、制御対象の状態を推定するためのシミュレーション等の仕組みは、この構成要素として定義されていない。
複雑なものを対象とする場合、シミュレーション等の仕組みが必要になる。しかし、特許文献2に開示される発明は、制御を実施する上で状況計測〜制御対象の状態推定という一連のプロセスを実現できず、ある任意時間のサービス品質状態に基づいた適切な制御を実現できない。これは、「適正制御案の評価機能の欠如」に該当する。
特許文献3に開示される発明は、システムの状態把握を行うためのシミュレータに関するものであり、特に時間に応じて変動する状態、過渡現象も取り扱える。
しかし、取り扱っている情報はサーバ、ストレージに関するものが中心であり、計算機利用者とサービス提供者とが合意すべきSLAではなく、サービス提供品質の制御というよりも適用ポリシの検証を目的としている。
このため、ポリシについて具体的な定義がなく、かつ、サービス提供品質の制御に関連する機能は含んでいない。このため、シミュレーション結果として求めた状況計測〜制御対象の状態推定、制御実施の具体的な手順が明確化されておらず、SLA維持の施策案が不明確である。これは、「制御指向の評価機能・実行機能の欠如」に該当する。
特許文献4に開示される発明は、クライアント装置とサーバ装置データ通信中継システムとを用い、発生する通信メッセージを全て捕捉し、その計測結果を基に通信メッセージの棄却、待ち合わせ、同時接続数の制御を行う。
そして、評価の一つとして宛先が指定されている処理要求の平均応答時間と内部キューに保持されている処理要求数の積算結果とを最大待ち時間と比較して制御内容を決めることが可能である。
しかし、評価方式、制御内容の簡潔な方法では、サービス品質や呼び出し関係に関連する複雑な構造への対応は難しい。
複雑なものを対象とする場合、シミュレーションが必要となる。しかし、特許文献4に開示される発明で実現できるのは、個々の処理要求を単純に合わせた際のトラフィック制御に留まり、それらを複合的に組み合わせて実施される複雑な構造を持つサービスに対して、ある任意時点での品質状態に基づいた制御は困難である。制御対象が目的に対して限定されてしまうことから、特許文献4の課題も「適正制御案の評価機能の欠如」に該当する。
特許文献5に開示される発明は、特許文献4と同様に中継を行うトラフィック制御装置を置き、発生する通信メッセージを捕捉し、複数回線の回線使用率及びその間のデータ通信能力を監視して帯域を確保することで、ネットワーク上の機器間のサービス品質を維持する制御を行うものである。
しかし、特許文献5のような簡潔な評価方式及び制御内容では、サービス品質や呼び出し関係に関連する複雑な構造への対応が難しい。
複雑なものを対象とする場合、シミュレーションが必要となる。しかし、特許文献5に開示される発明で実現できるのは、データ通信回線のトラフィック制御に留まり、それらを複合的に組み合わせて実施される複雑な構造を持つサービスに対して、ある任意時点での品質状態に基づいた制御実施は困難である。制御対象が目的に対して限定されてしまうことから、特許文献5の課題も「適正制御案の評価機能の欠如」に該当する。
特許文献6に開示される発明は、主にプラントにおける制御を対象としており、情報・通信分野のサービス品質に関する制御とは狙いが異なる。したがって、シミュレーション試験は必要に応じて適宜実施できるものの、制御を目的として実施することは想定されていない。
例えば、シミュレーション試験には一定の計算コストが発生するが、そのための制約を定義する機能が存在していない。さらに、制御を行う上でどの施策を優先的に行うかについてポリシを与える機能が存在していない。
このため、特許文献6に開示される発明は、状況計測〜制御対象の状態推定、制御実施の具体的な手順が明確化されていないため、SLA維持の施策案が不明確である。これは、「制御指向の評価機能・実行機能の欠如」に該当する。
このように、合意サービス水準に基づくサービスを提供するに当たっては、「適正制御案の評価機能の欠如」、「制御指向の評価機能・実行機能の欠如」、「制御案の補正・検証機能の欠如」という課題を解決する技術は提供されていなかった。
本発明は係る問題に鑑みてなされたものであり、インターネットの利用の有無を問わず、複数の業務アプリケーションシステム群をサービス群として定義し、これらをワークフロー管理システム、ビジネスプロセス管理システムを用いて任意に連携させ、ビジネスプロセスとして実施・運用する際に、当該ビジネスプロセスを起動するサービス利用者と、ビジネスプロセス並びにそこから呼び出されるサービス群を提供するサービス提供者との間で契約として取り決められた合意サービス水準に基づくサービス提供品質を維持するための制御機能を、「適正制御案の評価機能の欠如」、「制御指向の評価機能・実行機能の欠如」、「制御案の補正・検証機能の欠如」という課題を解決して実現するフィードフォーワード制御方法、サービス提供品質制御装置、システム、プログラム及び及びそれを記録した記録媒体を提供することを目的とする。
上記目的を達成するため、本発明は、第1の態様として、複数の業務アプリケーションシステム群の起動状態及び操作順序の定義を維持管理し、制御するワークフローのそれぞれの要素ワークフロー部分を、ワークフローエンジンを実装した複数のワークフロー管理システムが独立・分散して管理及び実行している環境下で、分散された要素ワークフロー部分の実行を統合監視する機能に伴い、全体ワークフローの記述に関するサービス提供品質、又は複数利用者ごとに取り決めた合意サービス水準を維持することを目的とする合意サービス水準制御装置であって、全体ワークフローの記述ごとに制御目標の目標状態ベクトル値として定義された、全体ワークフローのサービス提供条件を示す合意サービス水準情報を格納する手段と、可計測かつ統計処理のみで計算可能な要素ワークフロー部分又は当該要素ワークフロー部分から呼び出されるサービスに関する計測統計量を算出する計測統計量データ計算手段と、計測統計量から所定のサンプリング周期でサンプリングを実施し、直前のサンプリング時刻における計測統計量の現状態ベクトル値及び規定周期前のサンプリング時刻における計測統計量の履歴状態ベクトル値を算出する状態観測手段と、計測統計量の現状態ベクトル値及び履歴状態ベクトル値を基に、目標状態ベクトル値と同義の状態ベクトル成分からなる状態推定ベクトル値群を、外挿によって未来時刻で補償した上で推定するシミュレーション処理手段と、制御操作に関するポリシ記述を管理するポリシ記述管理手段と、シミュレーション処理手段が推定した状態推定ベクトル値と合意サービス水準情報を制御目標とする目標状態ベクトル値とを順次比較した上で制御偏差を算出し、制御操作が必要か否かを判断する判断手段と、制御操作が必要と判断される場合には、ポリシ記述管理手段が管理するポリシ記述に基づいて全体ワークフローの記述の実行環境を自装置内で仮想的に変化させた上で、シミュレーション処理手段及び判断手段を再実行し、所定回数を上限として制御偏差が所定値以下となるまで実行環境の評価条件を調整する調整手段と、調整手段による評価条件の調整の結果、もはや制御操作が必要と判断されない場合に、実行環境の変化を確定させる手段とを有することを特徴とする合意サービス水準に基づくサービス提供品質制御装置を提供するものである。
また、上記目的を達成するため、本発明は、第2の態様として、要素ワークフロー部分の記述を格納する手段及び該要素ワークフロー部分を実行するワークフローエンジンを備えた複数のワークフロー処理装置と、上記本発明の第1の態様に係る合意サービス水準に基づくサービス提供品質制御装置とを有することを特徴とするサービス提供品質制御システムを提供するものである。
また、上記目的を達成するため、本発明は、第3の態様として、明確に定義された制御対象及びそれに関係する物理事象のうち、可計測かつ統計処理のみで計算可能な計測統計量データ及び制御対象の制御目標で直接計測不可能な目標状態ベクトル値を定義する手順と、計測制御量データから所定のサンプリング周期でサンプリングを実施し、直前のサンプリング時刻における計測統計量の現状態ベクトル値及び規定周期前のサンプリング時刻における計測統計量の履歴状態ベクトル値を算出する手順と、計測統計量の現状態ベクトル値及び履歴状態ベクトル値を基に、目標状態ベクトル値と同義の状態ベクトル成分からなる状態推定ベクトル値群を、外挿によって未来時刻で補償した上でシミュレーションして推定する手順と、シミュレーションによって推定された状態推定ベクトル値と目標状態ベクトル値とを順次比較して制御偏差を算出し、制御操作が必要であるか否かを判断する手順と、制御操作が必要な場合に、制御偏差を満たすための制御操作量を仮決めする手順と、仮決めした制御操作量を追加して、シミュレーションと同義の新たなシミュレーションを実施し、目標状態ベクトル値と同義の状態ベクトル成分からなる状態推定ベクトル値を算出した後、該状態推定ベクトル値を目標状態ベクトル値と比較して新たな制御偏差を算出し、更に制御操作量が必要な場合は、所定回数を上限として制御操作量が確定するまで、仮決めする制御操作量を追加・条件を厳しくする手順と、制御操作量を追加する必要のない場合に、制御操作を実施する手順を含むことを特徴とするフィードフォワード制御方法を提供するものである。
また、上記目的を達成するため、本発明は、第4の態様として、可計測かつ統計処理のみで計算可能なサービスに関する計測統計量データを持ち、サービス提供条件を示す合意サービス水準情報を制御目標の目標状態ベクトル値として定義する手順と、サービスに関する計測制御量データを基に直前のサンプリング時刻における計測統計量の現状態ベクトル値及び規定周期前のサンプリング時刻における計測統計量の履歴状態ベクトル値を算出する手順と、計測統計量の現状態ベクトル値及び履歴状態ベクトル値を基に、目標状態ベクトル値と同義の状態ベクトル成分からなる状態推定ベクトル値群を、外挿によって未来時刻で補償した上でシミュレーションして推定する手順と、推定された状態推定ベクトル値と目標状態ベクトル値とを順次比較して制御偏差を算出し、制御操作の必要有無を判断する手順と、制御操作が必要な場合に、制御偏差を満たすための制御操作として、サービス実行処理系の処理系の数、ハードウェア資源の割付け量増減、メッセージ投入抑制量の増減を仮決めする手順と、仮決めされた当該処理系の数、ハードウェア資源の割付け量増減や、メッセージ投入抑制量増減の操作を仮想的に追加して、シミュレーションと同等の新たなシミュレーションによる推定を改めて実施し、サービス提供条件を示す合意サービス水準情報と比較し、これを満足するか否かを判断し、更に新たな処理系の数、ハードウェア資源の割付け量増減や、新たなメッセージ投入抑制量増減の操作が必要と判断される場合は、所定回数を上限として合意サービス水準情報を満足するまで、当該新たな処理系の数、ハードウェア資源の割付け量増減や、新たなメッセージ投入抑制量増減を仮想的に実施する手順と、合意サービス水準情報を満足する場合に、実際に処理系の数、ハードウェア資源の割付け量増減や、新たなメッセージ投入抑制量増減を実施する制御操作を実施する手順とを実行することを特徴とする合意サービス水準に基づくサービス提供品質制御方法を提供するものである。
また、上記目的を達成するため、本発明は、第5の態様として、コンピュータを、複数業務アプリケーションシステム群の起動状態、操作順序の定義を維持管理し、制御するワークフローのそれぞれの要素ワークフロー部分を、ワークフローエンジンを実装した複数のワークフロー管理システムが独立・分散して管理、実行している環境下で、要素ワークフロー部分を実施する際に発生するイベント群を当該全体のワークフローの記述に明確に位置付け、当該イベント群以外のイベント群と関連付けてイベント格納手段に記録する手段と、分散された要素ワークフロー部分の実行を統合監視する機能に伴い、全体のワークフローの記述ごとに、そのサービス提供条件を示す合意サービス水準情報を制御目標の目標状態ベクトル値として定義する手段と、可計測かつ統計処理のみで計算可能な要素ワークフロー部分や当該要素ワークフロー部分から呼び出されるサービスに関する計測統計量データの計算手段と、計測統計量データの計算手段が算出するデータから、所定のサンプリング周期でサンプリングを実施し、直前のサンプリング時刻における計測統計量の現状態ベクトル値及び規定周期前のサンプリング時刻における計測統計量の履歴状態ベクトル値を算出する状態観測に関する手段と、計測統計量の現状態ベクトル値、及び履歴状態ベクトル値を基に、目標状態ベクトル値と同義の状態ベクトル成分からなる状態推定ベクトル値群を、外挿によって所定回数未来時刻で補償した上で推定するシミュレーション処理手段と、制御操作に関するポリシ記述を管理する手段と、シミュレーション処理によって推定した当該状態推定ベクトル値と合意サービス水準情報を制御目標とする目標状態ベクトル値とを順次比較して制御偏差を算出し、制御操作が必要であるか否かを判断する手段と、制御操作が必要と判断される場合、ポリシ記述から、複数ワークフロー管理システムの内の特定要素ワークフロー部分を実行するワークフローエンジン数を仮決めで増減し、仮決めされた当該ワークフローエンジン数を仮想的に増減した上でシミュレーションと制御操作が必要であるか否かの判断とを再実行し、更に新たなワークフローエンジン数の増減が必要と判断される場合には、所定回数を上限として、制御偏差が満足できるまで、当該新たなワークフローエンジン数を増減する評価条件を調整する手段と、調整手段による評価条件の調整の結果、もはや制御操作が必要でないと判断する場合、実際に当該ワークフローエンジン数を増減するための手続きに変換する調整操作に関する手段と、として機能させることを特徴とする合意サービス水準に基づくサービス提供品質制御プログラムを提供するものである。
また、上記目的を達成するため、本発明は、第6の態様として、上記本発明の第5の態様に係るサービス提供品質制御プログラムを記録した記録媒体を提供するものである。
本発明によれば、複数の業務アプリケーションシステム群をサービス群として定義し、これらをワークフロー管理システム、ビジネスプロセス管理システムを用いて任意に連携させ、ビジネスプロセスとして実施・運用する際に、当該ビジネスプロセスを起動するサービス利用者と、ビジネスプロセス並びにそこから呼び出されるサービス群を提供するサービス提供者との間で契約として取り決められた合意サービス水準に基づくサービス提供品質を維持するフィードフォーワード制御方法、サービス提供品質制御装置、システム、プログラム及び及びそれを記録した記録媒体を提供できる。
図1に示すように、本発明に係るサービス提供品質制御装置500は、複数の業務アプリケーションシステム群の起動状態及び操作順序の定義を維持管理し、制御するワークフローのそれぞれの要素ワークフロー部分を、ワークフローエンジンを実装した複数のワークフロー管理システムが独立・分散して管理及び実行している環境下で、分散された要素ワークフロー部分の記述を収集・管理し、収集した分散された要素ワークフロー部分の記述を合成し、全体ワークフローの記述を再生し、分散された要素ワークフロー部分の実行を統合監視する機能に伴い、全体ワークフローの記述に関するサービス提供品質、又は複数利用者ごとに取り決めた合意サービス水準を維持することを目的とし、全体ワークフローの記述ごとに制御目標の目標状態ベクトル値として定義された、全体ワークフローのサービス提供条件を示す合意サービス水準情報を格納する合意サービス水準情報格納部501と、可計測かつ統計処理のみで計算可能な要素ワークフロー部分又は当該要素ワークフロー部分から呼び出されるサービスに関する計測統計量を算出する計測統計量データ計算部502と、計測統計量から所定のサンプリング周期でサンプリングを実施し、直前のサンプリング時刻における計測統計量の現状態ベクトル値及び規定周期前のサンプリング時刻における計測統計量の履歴状態ベクトル値を算出する状態観測部503と、計測統計量の現状態ベクトル値及び履歴状態ベクトル値を基に、目標状態ベクトル値と同義の状態ベクトル成分からなる状態推定ベクトル値群を、外挿によって未来時刻で補償した上で推定するシミュレーション処理部504と、制御操作に関するポリシ記述を管理するポリシ記述管理部505と、シミュレーション処理部504が推定した状態推定ベクトル値と合意サービス水準情報を制御目標とする目標状態ベクトル値とを順次比較した上で制御偏差を算出し、制御操作が必要か否かを判断する判断部506と、制御操作が必要と判断される場合には、ポリシ記述管理部505が管理するポリシ記述に基づいて全体ワークフローの記述の実行環境を仮想的に変化させた上で、シミュレーション処理部504及び判断部505を再実行し、所定回数を上限として制御偏差が所定値以下となるまで実行環境の評価条件を調整する調整部507と、調整部506による評価条件の調整の結果、もはや制御操作が必要と判断されない場合に、実行環境の変化を確定させる確定部508とを有する。
図2に示すように、サービス提供品質制御装置500は、要素ワークフロー部分の記述を格納するwf定義602及び要素ワークフロー部分を実行するワークフローエンジン601を備えた複数のワークフロー処理装置600に接続されてサービス提供品質制御システムを構成する。
このような構成をとることにより、「適正制御案の評価機能の欠如」、「制御指向の評価機能・実行機能の欠如」、「制御案の補正・検証機能の欠如」という課題を解決しつつ、複数の業務アプリケーションシステム群をサービス群として定義し、これらをワークフロー管理システム、ビジネスプロセス管理システムを用いて任意に連携させ、ビジネスプロセスとして実施・運用する際に、当該ビジネスプロセスを起動するサービス利用者と、ビジネスプロセス並びにそこから呼び出されるサービス群を提供するサービス提供者との間で契約として取り決められた合意サービス水準に基づくサービス提供品質を維持できる。
以下、本発明の好適な実施の形態について説明する。
〔第1の実施形態〕
本発明を好適に実施した第1の実施形態について説明する。
図3に、本実施形態に係るサービス提供品質制御装置が適用される環境の一例を示す。本実施形態に係るサービス提供品質制御装置が適用されるのは、インターネットを含めた複数のサブネットワークが、そのサブネットワークの持つ管理ポリシ、セキュリティポリシの集合の下で、ルータ等によって結合されて大きなネットワークを構成している一般的なネットワーク環境である。
サブネットワーク101は、サブネットワーク102及びサブネットワーク103とルータ106を介して連結されている。また、サブネットワーク102は、サブネットワーク105とルータ108を介して連結されている。さらに、サブネットワーク105は、サブネットワーク104とルータ107を介して連結されている。
サブネットワーク101〜105は、インターネットを構成するものであっても良いし、企業や団体が管理するローカルなネットワークであっても良い。
また、ルータ106〜108は、独自のポリシに基づくものであり、インターネットとローカルネットワークとを連結する場合には、ファイヤウォールとしての機能を備えていても良い。
業務アプリケーションシステム7〜12は、サブネットワーク101〜105のいずれかに接続される。また、業務アプリケーションシステム7〜12の間を連結してワークフロー処理を実施するワークフローシステム1〜3及びネットワーク上の構成で種々の制御などを行うProxyシステム4も同様に、サブネットワーク101〜105のいずれかに接続される。さらに、合意サービス水準に基づくサービス提供品質制御装置の主要な機能を提供するモニタシステム5も、サブネットワーク101〜105のいずれかに接続される。
図3においては、業務アプリケーションシステム7、8及びワークフローシステム1が接続されているサブネットワーク101が一つの組織内、部門内に配置されていると想定している。
また、図3においては、業務アプリケーションシステム9、10及びワークフローシステム2がサブネットワーク103に接続されているサブネットワーク103が一つの組織内、部門内に配置されていることを想定している。
さらに、図3においては、業務アプリケーションシステム11、12とProxyシステム4とが接続されているサブネットワーク104と、ワークフローシステム3が接続されているサブネットワーク5とが、各々一つの部門内に配置されていると想定している。
また、図3においては、サブネットワーク102がインターネットなどの組織外ネットワークであると想定しており、共通的な機能を提供するモニタシステム5はサブネットワーク102に接続されている。
図4に、本実施形態に係るサービス提供品質制御装置の構成を示す。
サービス提供品質制御装置は、分散ワークフロー管理方式に基づく複数のワークフローシステム1、2、及び独自実装で配置されるワークフローシステム3、並びにワークフローシステム3の分散ワークフロー管理方法への仲介を行うProxyシステム4、ワークフローシステム1、2及びProxyシステム4から各種イベント情報を収集した後、整理、統合、格納するための管理コンソール81、関連するリポジトリ6を有する。なお、独自実装のワークフローシステム3を複数備え、これらをProxyシステム4がまとめて仲介するようにしても良い。
図4に示すように、ワークフローシステム1は、複数の業務アプリケーションシステム7、8と通信する。また、ワークフローシステム2は、複数の業務アプリケーションシステム9、10と通信する。さらに、ワークフローシステム3は、複数の業務アプリケーションシステム11、12とProxyシステム4を介して通信する。
業務アプリケーションシステム7〜12は、それぞれデータ通信部13〜18を有する。
図5に示すように、ワークフローシステム1は、データ通信部13と通信するためのアダプタ19を有するとともに、データ通信部14と通信するためにアダプタ20を別に有する。これらのアダプタは、ワークフローシステム1に含まれるワークフローエンジン29、29’が操作順序を制御した結果、必要な通信を業務アプリケーションシステム7、8と行う際に通信プロトコル上の差異、並びに操作を扱う。
なお、ワークフローエンジン29、29’がアダプタ19、20を介して通信する場合、操作プロキシ48を介在させて実施する。これは、制御を実施する際の制御装置部の一つとして作用するものである。なお、アダプタ19、20の機能を操作プロキシ48に含めて実装するようにしても良い。
同様に、図6に示すように、ワークフローシステム2は、データ通信部15と通信するためのアダプタ21を有するとともに、データ通信部16と通信するためにアダプタ22を別に有する。これらのアダプタは、ワークフローシステム2に含まれるワークフローエンジン32が操作順序を制御した結果、必要な通信を業務アプリケーションシステム9、10と行う際に通信プロトコル上の差異、並びに操作を扱う。
なお、ワークフローエンジン32がアダプタ21、22を介して通信する場合、操作プロキシ49を介在させて実施する。これは、制御を実施する際の制御装置部の一つとして作用するものである。なお、アダプタ21、22の機能を操作プロキシ49に含めて実装するようにしても良い。
同様に、図7に示すように、ワークフローシステム3は、データ通信部17と通信するためのアダプタ23を有するとともに、データ通信部18と通信するためにアダプタ24を別に有する。これらのアダプタは、ワークフローシステム3に含まれるワークフローエンジン37が操作順序を操作した結果、必要な通信を業務アプリケーションシステム11、12と行う際に通信プロトコルの差異、並びに操作を扱うものである。
なお、ワークフローシステム3は、独自実装の既存ワークフローエンジンであるため、データ通信部17とアダプタ23との間の通信、及びデータ通信部18とアダプタ24との間の通信は、Proxyシステム4内のプロキシ部35を介して行われる。
ワークフローシステム1〜3は、一つの計算機上に構成されてもよいし、複数の計算機上に分散して構成されても良い。
ワークフローエンジン29、29’の挙動は、ワークフローシステム1に含まれるワークフロー定義31で定義される。ワークフローエンジン29、29’は、仮想化技術又はグリッドにて実装された別のプログラム実行体でも良い。また、スレッド、プログラムプロセスのように一つの実行体イメージの中で複数起動するものでも良い。また、ワークフローエンジン29、29’は、同じワークフロー定義を実施しても良く、あるワークフロー定義の部分を分担して実施しても良い。その形態は、ワークフローシステム1に応じて決まる。なお、ワークフローエンジン29、29’の起動、停止は、ワークフローシステム1の環境によって制御される。
ワークフロー定義31は、分散配置されている他のワークフローシステム2、Proxyシステム4を介して通信されるワークフローシステム3からの処理要求・処理応答メッセージに関するイベント、及び複数の業務アプリケーションシステム7、8との通信の結果発生する処理要求・処理応答メッセージに関するイベントが発生した場合に、ワークフローエンジン29、29’がどのような次状態となり、どのような処理要求、処理応答メッセージを発するかを規定している。
通常、ワークフロー定義31は、ワークフローエンジン29、29’の実施する挙動のみを記述し、標準化された形式であるWS-BPEL(Web Service Business Process Execution Language)及びWDSL(Web Service Definition Language)を始めとするプロセス、サービス記述等で記述される。
ワークフローエンジン32の挙動は、ワークフローシステム2に含まれるワークフロー定義34で定義される。ここでは、分散配置されている他のワークフローシステム1、Proxyシステム4を介して通信されるワークフローシステム3からの処理要求・処理応答メッセージに関するイベント、及び複数の業務アプリケーションシステム9、10との通信の結果発生する処理要求・処理応答メッセージに関するイベントが発生した場合に、ワークフローエンジン32がどのような次状態となり、どのような処理要求、処理応答メッセージを発するかを規定している。
通常、ワークフロー定義34は、ワークフローエンジン32の挙動のみを記述し、標準化された形式であるWS-BPELとWSDLを始めとするプロセス、サービス記述等で記述される。
ワークフローエンジン37の挙動は、ワークフローシステム3に含まれるワークフロー定義39で定義される。ここでは、他のワークフローシステム1、2からProxyシステム4を介して通信される処理要求、処理応答メッセージに関するイベント、及び業務アプリケーションシステム11、12からProxyシステム4を介して通信される処理要求、処理応答メッセージに関するイベントが発生した場合に、ワークフローエンジン37がどのような次状態となり、どのような処理要求・処理応答メッセージを発するかを規定している。
なお、ワークフローシステム3は、独自実装の既存のワークフローエンジンであるため、ワークフロー定義39は、標準化された形式であるWS-BPEL及びWSDLで記述されるとは限らない。その場合、後述するワークフロー定義・サービス定義取得部59が、それらを標準化された形式、例えばWS-BPEL及びWSDLなどに変換する。
ワークフローシステム1で発生する処理要求・処理応答メッセージに関するイベントは、ワークフローシステム1内に複数存在するイベント抽出部によって検出される。データ通信部13とアダプタ19との間の通信は、アダプタ19内に仕込まれたMsgイベント抽出部25によって全て検出される。同様に、データ通信部14とアダプタ20との間の通信は、アダプタ20内に仕込まれたMsgイベント抽出部26によって全て検出される。ワークフローエンジン29、29’の挙動は、Engイベント抽出部30によって検出される。
Msgイベント抽出部25、26及びEngイベント抽出部30によって抽出されたイベント情報は、ワークフローシステム1内のイベントデータ保持部40に一時的に保管され、適宜、共通データ送信部41によってモニタリングシステム5へ転送される。
ワークフローシステム2で発生する処理要求・処理応答メッセージに関するイベントは、ワークフローシステム2内に複数存在するイベント抽出部によって検出される。データ通信部15とアダプタ21との間の通信は、アダプタ21内に仕込まれたMsgイベント抽出部27によって全て検出される。同様に、データ通信部16とアダプタ22との間の通信は、アダプタ22内に仕込まれたMsgイベント抽出部28によって全て検出される。ワークフローエンジン32の挙動は、Engイベント抽出部33によって検出される。
Msgイベント抽出部27、28及びEngイベント抽出部33によって抽出されたイベント情報は、ワークフローシステム2内のイベントデータ保持部42に一時的に保管され、適宜、共通データ送信部43によってモニタシステム5へ転送される。
ワークフローシステム3で発生する処理要求・処理応答メッセージに関するイベント群の収集は、独自実装の既存ワークフローエンジンであるため、ワークフローシステム1や2で発生する処理要求・処理応答メッセージに関するイベントとは処理方式が異なる。データ通信部17とアダプタ23との間の通信は、プロキシ部35を介して行われるため、発生する処理要求・処理応答メッセージに関するイベントは、Proxyシステム4内のプロキシ部35に連結された、Prxイベント抽出部36によって検出される。データ通信部18とアダプタ24との間の通信で発生する処理要求・処理応答メッセージに関するイベントも、Prxイベント抽出部36によって検出される。
イベント検出部36によって抽出されたイベント情報は、Proxyシステム4内のイベントデータ保持部45に一時的に保管される。
これに対して、ワークフローエンジン37の挙動は、ワークフローシステム3内に配置されたEngイベント抽出部38によって検出される。その後、ワークフローシステム3内に配置された共通データ送信部47を用いて、イベントに関するデータを適宜、Proxyシステム4へ送信する。
その後、Proxyシステム4は、自身の共通データ受信部46を用いて、イベントに関するデータを収集し、Proxyシステム4内のイベントデータ保持部45に一時的に保管する。
イベントデータ保管部45に一時的に保管したイベントに関する全てのデータは、適宜、共通データ送信部44によってモニタシステム5へ転送される。
図8に示すように、モニタシステム5は、ワークフロー定義・サービス定義取得部59、ワークフロー定義合成部60、合成ワークフロー定義61、イベントデータ受信部62、イベントデータ関係付け部63、計測制御量管理部64、イベント・統計格納データデータベース(DB)65、メタデータ管理部66、計測統計量データ計算部67、パフォーマンスデータ管理部68、起動制御部69、状態観測部70、補償機能付きシミュレーション処理部71、目標状態ベクトル値管理部72、検出部73、評価条件調整部74、ポリシ記述管理部75、調整操作部76、計測状態ベクトル値処理部77、長期補償検出部78、バッファ部79及び実施条件指定部80を有する。
ワークフロー定義・サービス定義取得部59は、ワークフロー定義31、34、39を受信し、一部変換を施す。ワークフロー定義・サービス定義取得部59は、外部に置かれたリポジトリ6へのアクセスが可能である。ワークフロー定義合成部60は、ワークフロー定義・サービス定義取得部59が得た全てのワークフロー定義から統合されたワークフロー定義を合成する。合成ワークフロー定義61は、合成したワークフロー定義を格納管理する。
イベントデータ受信部62は、ワークフローシステム1、2及びProxyシステム4からイベントに関する全てのデータを受信する。イベント・統計格納DB65は、統合・合成したワークフロー定義を格納管理する合成ワークフロー定義61を参照し、イベントデータ受信部62が受ける全てのイベントデータを整理、関係付けて保持する。計測制御量管理部64は、イベント・統計格納DB65を管理する。イベントデータ関係付け部63は、先の関係付けの実処理を行う。
メタデータ管理部66は、単位時間当たりのメッセージ流通量や、通信失敗によって棄却されたメッセージ数や、統合・合成ワークフローの処理件数等のシミュレーションを利用して推定することなく統計処理のみで事実事項を導出把握できる各種パラメータ群に相当する計測統計量群を計算する際に、計算能力を向上する目的で、合成ワークフロー定義61やリポジトリ6から統合・合成したワークフロー定義とその要素記述とを取り出してメモリ上に管理する。
計測統計量データ計算部67は、イベント・統計格納DB65に格納されている全てのイベントデータのうち、関連するイベントデータを取り出し、メタデータ管理部66上にて管理される統合・合成したワークフロー定義とその要素記述を参照して計測統計量群を算出する。パフォーマンスデータ管理部68は、計測統計量群を算出したのち、その算出結果を後続の評価・計算で高速に処理するため、メモリ上に管理する。計測統計量データ計算部67は、図1に示した構成における計測統計量データ計算部502に相当する。
起動制御部69は、管理コンソール81から指定され、サービス提供品質制御装置2を運用する際に参照される各種実行条件、各種パラメータ値群を管理している実施条件指定部80、及び計測統計量群を元にシミュレーションを実施して状態推定を行い、それをもとに制御を行うためにサンプリング周期を指定して、後述する補償機能付きシミュレーション処理部71などを起動する。
状態観測部70は、制御対象である合意サービス水準に関する任意時点の状態推定のため、制御のサンプリング周期で直前の、及び1サンプリング周期以前に計測された計測統計量群から成るベクトル値群を、メタデータ管理部66から入手した情報と関連させ、パフォーマンスデータ管理部68から入手するとともに、それらを維持管理する。状態観測部70は、図1に示した構成における状態観測部503に相当する。
目標状態ベクトル値管理部72は、サービス提供品質制御装置によって実現されるべき、合意サービス水準に関する目標値群やベクトル値群で管理する。目標状態値ベクトル値管理部72は、図1に示した構成における合意サービス水準格納部501に相当する。補償機能付きシミュレーション処理部71は、計測統計量群からなるベクトル値群や後述する各種制御装置部に与えるべき操作量を指定した後、それらを元に任意時点の合意サービス水準に関する状態推定・評価を行う。補償機能付きシミュレーション処理部71は、図1に示した構成におけるシミュレーション処理部504に相当する。検出部73は、補償機能付きシミュレーション処理部71が推定・評価する任意の時点の合意サービス水準に関する状態についてのベクトル値群と目標状態ベクトル管理部72が管理する合意サービス水準に関する目標値群のベクトル値群とを比較して制御偏差を求める。検出部73は、図1に示した構成における判断部506に相当する。
評価条件調整部74は、検出部73が計算する制御偏差が合意サービス水準に関する目標値群のベクトル値群を満足できない水準の場合、各種制御装置部に与えるべき操作量を随時仮決めし、改めて補償機能付きシミュレーション処理部71を使って許容指定回数まで推定・評価し、合意サービス水準に関する目標値群のベクトル値群を満足できるように制御施策上の調整を行う。評価条件調整部74は、図1に示した構成における調整部507に相当する。ポリシ記述管理部75は、評価条件調整部74が操作量を仮決めする際に参照するべきポリシ等を管理する。ポリシ記述管理部75は、図1に示した構成におけるポリシ記述管理部505に相当する。
調整操作部76は、検出部73が計算する制御偏差が複数のサービス利用者ごとに取り決めた合意サービス水準(以下、合意サービス水準)に関する目標値群のベクトル値群を満足する水準、又は評価条件調整部74が調整し、各種制御装置部に与えるべき操作量を取り決めた後、合意サービス水準に関する目標値群のベクトル値群を満足する水準の場合に、各種制御装置部に実際の操作量を指示する。調整操作部76は、図1に示した構成における確定部508に相当する。バッファ部79は、調整操作部76が実際の操作量を指示する際に補償機能付きシミュレーション処理部71が推定・評価した指定時点の合意サービス水準に関する状態についてのベクトル値群を保持する。
計測状態ベクトル値処理部77は、補償機能付きシミュレーション処理部71が指定時点で合意サービス水準に関する状態についてのベクトル値群を推定・評価する段階で参照する固定的なパラメータ値群を正しく維持できるように、補償機能付きシミュレーション処理部71が推定・評価した合意サービス水準に関する状態についてのベクトル値群に相当する実測のベクトル値群を過去に遡って、イベント・統計格納DB65に格納されている全てのイベントデータから計算し、管理する。
長期補償検出部78は、計測状態ベクトル値処理部77が管理する合意サービス水準に関する状態についてのベクトル値群に相当する実測のベクトル値群と、補償機能付きシミュレーション処理部71による推定・評価の後でバッファ部79に保持された複数時点の合意サービス水準に関する状態についてのベクトル値群とを比較して、ポリシ記述管理部75が管理し、評価条件調整部74が操作量を仮決めする際に参照するポリシ等を更新、維持する。
合意サービス水準に関する状態についてのベクトル値群は、通常、ワークフロー定義31、34、39等の全てのワークフロー定義から、ワークフロー合成部60が合成・定義し、合成ワークフロー定義61として管理される単位で定義されることとなる。従って、ワークフロー定義31レベルのワークフローが一部異なるため、サービス利用者が複数存在する場合は、複数のベクトル値群を持つこととなる。
調整操作部76が各種制御装置部に実際の操作量を指示する場合、複数制御操作が実施されることもあり得る。例えば、ワークフローシステム1の場合、ワークフローエンジン29と同等な別のワークフローエンジン29’が存在するため、処理負荷の状況に応じて、ワークフローエンジン29’の追加起動や、停止について制御されることもある。
さらに、ワークフローシステム1の場合、操作プロキシ48も制御装置部の一つとして作用する。このために、操作プロキシ48には強制棄却部50と投入抑制部51と、キュー管理部52とが設けられている。
ワークフローシステム1中のワークフローエンジン29、29’がアダプタ19、20を介して通信する場合、操作プロキシ48を介在させて実行する。そこで、通信上のメッセージの流通を投入抑制部51によって一時的に抑制したり、キュー管理部52に含めたり、又はキュー管理部52に含まれる通信上のメッセージを合意サービス水準を維持する範囲で強制棄却部50を用いて棄却したりする。
これにより、例えば業務アプリケーションシステム7、8などが処理上のボトルネックとなっている場合、抑制・棄却等により整流化を実現できる。そして、同じく制御装置部として作用する操作プロキシ49、後述のプロキシ部35と合わせて、合成ワークフロー定義61にて管理される単位全体を実施する上で、ボトルネック箇所を特定し、整流化を促進することで、単位全体のスループットを改善できる。
ワークフローシステム1と同様の目的で、ワークフローシステム2の操作プロキシ49も制御装置部の一つとして作用する。このため、操作プロキシ49には強制棄却部53と、投入抑制部54とキュー管理部55とが設けられている。
ワークフローシステム1と同様の目的で、ワークフローシステム3内のアダプタ23とデータ通信部17との間の通信、ワークフローシステム3内のアダプタ24とデータ通信部18との間の通信に介在するProxyシステム4内のプロキシ部35も制御装置部の一つとして作用する。
このために、プロキシ部35には、強制棄却部50に相当する強制脚部56と、投入制御部51に相当する投入制御部57と、キュー管理部52に相当するキュー管理部58とが設けられている。
本実施形態に係るサービス提供品質制御装置の動作について以下に説明する。
〈定義事項〉
ここで、ワークフロー定義31、34等から呼び出される全てのサービス集合を下記記号(A)で表現する。また、行列式の成分表示等で利用される自然数集合を下記記号(B)で表現する。これに対して、時刻や各種パラメータ値が実数を取る場合、その実数集合を下記記号(C)で表現する。
Figure 0005212381
ワークフロー定義31、34等やワークフロー合成部60によって合成されるワークフロー定義を構成するワークフロー要素とは、下記式(1)のタプルで表現される直積の部分集合である。
Figure 0005212381
また、どのワークフロー定義の下での起動かを意味するコンテキスト集合を下記記号(D)で表現し、発呼側サービス集合を下記記号(E)、着呼側サービス集合を下記記号(F)で表現する。さらに、下記記号(G)に示す0以上の自然数集合は呼出のべ回数、下記記号(H)に示す0以上の自然数集合は呼出繰り返し回数を意味する。また、発呼側サービス集合と着呼側サービス集合とには下記式(2)の関係が成り立つ。
Figure 0005212381
Figure 0005212381
ワークフロー定義は、ワークフロー要素の冪集合を用いて下記式(3)で表現される。
Figure 0005212381
ここで、任意ワークフロー定義を特定するプロセス定義関数:nameとは、下記式(4)で与えられる1対1写像である。
Figure 0005212381
〈計測時の動作〉
図9、図10、図11及び図15を用いて、合意サービス水準に基づくサービス提供品質制御装置の計測時の動作を説明する。
サービスの品質を計測するため、分散配置された通常のワークフローエンジンからイベント情報を収集する際の手順について図9を用いて説明する。
ワークフローエンジン29、29’が、業務アプリケーションシステム7に通信する場合、ワークフロー定義31に基づいて操作プロキシ48に向け、処理要求メッセージm1を送信する。処理要求メッセージm1は、Webサービス等で成される場合もあり、XML(eXtensible Markup Language)等を用いて定義される。
操作プロキシ48は、処理要求メッセージm1を受信すると、投入抑制部51により一時的に抑制してから処理要求メッセージm1をキュー管理部52に含めるか、キュー管理部52に含めた後で強制棄却部50を用いて棄却するか、処理要求メッセージm1と同等内容の処理要求メッセージm2をアダプタ19へ送信するかのいずれかを、処理要求メッセージm1の内容に応じて行う。
操作プロキシ48が、抑制、棄却、アダプタ19への送信のいずれを行うかは、調整操作部76が各種制御装置部に指示する操作量に関する制御メッセージ群の内容に依存して決まる。
投入抑制部51に対しては、抑制する処理要求メッセージ群、処理応答メッセージ群の種類の指定、抑制の定量的な程度を表現する操作量等が、調整操作部76から抑制メッセージc52によって指定される。
強制棄却部50に対しては、棄却する処理要求メッセージ群、処理応答メッセージ群の種類の指定、棄却率等の定量的な程度を表現する操作量等が、調整操作部76から制御メッセージc51によっての指定される。
制御メッセージc51、c52によって何も指定されていない処理要求メッセージ群、処理応答メッセージ群は、特に操作なく通常の通信を実施することを指定していると見なされる。
調整操作部76が各種制御装置部に指示する操作量に関する制御メッセージ群には、ワークフローシステム1の環境に対して指示する制御メッセージc50も含まれる。
ワークフローシステム1の環境は、制御メッセージc50を受信すると、ワークフローエンジン29、29’の起動・停止について評価し、必要に応じてワークフローエンジン29を起動、停止、処理内容の変更等の制御を行う制御コマンドc53を送信するとともに、ワークフローエンジン29’を起動、停止、処理内容の変更等の制御を行う制御コマンド54も送信する。
アダプタ19では、処理要求メッセージm2を、業務アプリケーションシステム7が受け入れられるような通信プロトコル並びに手順へ変換し、新たな処理要求メッセージm3として業務アプリケーションシステム7内のデータ通信部13へ送信する。
データ通信部13は、処理要求メッセージm3を受信し、業務アプリケーションシステム7に引き渡す。その結果、必要であれば新たな処理応答メッセージm4が生成され、データ通信部13からアダプタ19へと戻される。
アダプタ19は、処理応答メッセージm4を予め規定されている通信プロトコル並びに手順へ変換し、処理応答メッセージm5として操作プロキシ48へ戻す。
操作プロキシ48は、処理応答メッセージm5を受信すると、投入抑制部51によって一時的に抑制してから処理応答メッセージm5をキュー管理部52に含めるか、キュー管理部52に含めた後で強制棄却部50を用いて棄却するか、処理応答メッセージm5と同等内容の処理応答メッセージm6として処理要求メッセージm1を送信後に受信待ち状態となっているワークフローエンジン29又は29’に戻すかのいずれかを、処理応答メッセージm5の内容に応じて行う。
ワークフローエンジン29が処理応答メッセージm6を受信した場合は、ワークフロー定義31に基づき、次の挙動を決定する。例えば、その結果、業務アプリケーションシステム8に通信する場合、ワークフロー定義31に基づいて、今度は操作プロキシ48に処理要求メッセージm7を送信する。処理要求メッセージm7も、Webサービス等で成される場合もあり、XML等を用いて定義される。
操作プロキシ48は、処理要求メッセージm7を受信すると、投入抑制部51によって一時的に抑制してから処理要求メッセージm7をキュー管理部52に含めるか、キュー管理部52に含めた後で強制棄却部50を用いて棄却するか、処理要求メッセージm7と同等の内容の処理要求メッセージm8としてアダプタ20へ送信するかのいずれかを、処理要求メッセージm7の内容に応じて行う。
アダプタ20では、処理要求メッセージm8を業務アプリケーションシステム8が受け入れられるような通信プロトコル及び手順へ変換し、新たな処理要求メッセージm9として業務アプリケーションシステム8内のデータ通信部14へ送信する。
データ通信部14は、処理要求メッセージm9を受信し、業務アプリケーションシステム8に引き渡す。その結果必要であれば、新たな処理応答メッセージm10が生成され、データ通信部14からアダプタ20へ戻される。
アダプタ20内では、処理応答メッセージm10を予め規定されている通信プロトコル、並びに手順へ変換し、処理応答メッセージm11として操作プロキシ48に戻す。
操作プロキシ48は、処理応答メッセージm11を受信すると、投入抑制部51によって一時的に抑制してから処理応答メッセージm11をキュー管理部52に含めるか、キュー管理部52に含めた後で強制棄却部50を用いて棄却するか、処理応答メッセージm11と同等内容の処理応答メッセージm12として、処理要求メッセージm7の送信後に受信待ち状態となっているワークフローエンジン29に戻すかのいずれかを、処理応答メッセージm11の内容に応じて行う。
ワークフローエンジン29は、ワークフロー定義31に基づいて次の挙動を決定するが、別のワークフローシステム2と通信する場合がある。その場合は、ワークフロー定義31に基づいてワークフローシステム2を目的先として操作プロキシ48に処理要求メッセージm86を送信する。処理要求メッセージm86もWebサービス等で成される場合もあり、XML等を用いて定義される。
操作プロキシ48は、処理要求メッセージm86を受信すると、投入抑制部51によって一時的に抑制してから処理要求メッセージm86をキュー管理部52に含めるか、キュー管理部52に含めた後で強制棄却部50を用いて棄却するか、処理要求メッセージm86と同等の内容の処理要求メッセージm25としてワークフローシステム2へ送信するかのいずれかを、処理要求メッセージm86の内容に応じて行う。
処理要求メッセージm25に応じて、ワークフローシステム2からは処理応答メッセージm26が送信され、操作プロキシ48へ送られる。
操作プロキシ48は、処理応答メッセージm26を受信すると、投入抑制部51によって一時的に抑制してから処理応答メッセージm26をキュー管理部52に含めるか、キュー管理部52に含めた後で強制棄却部50を用いて棄却するか、処理応答メッセージm26と同等の内容の処理応答メッセージm87として、処理要求メッセージm86の送信後に受信待ち状態となっているワークフローエンジン29へ戻すかのいずれかを、処理応答メッセージm26の内容に応じて行う。
ワークフローシステム1で発生する処理要求・処理応答メッセージに関するイベントは、ワークフローシステム1内に複数存在するイベント抽出部によって抽出される。具体的には、アダプタ19にはMsgイベント抽出部25が仕込まれている。
Msgイベント抽出部25は、アダプタ19が処理要求メッセージm2を受信した段階でこれを検出し、メッセージに関するイベントm17として記録する。また、Msgイベント抽出部25は、アダプタ19が処理要求メッセージm2を業務アプリケーションシステム7が受け入れられるような通信プロトコル及び手順へ変換し、処理要求メッセージm3として送信した段階でこれを検出し、メッセージに関するイベントm18として記録する。
同様に、Msgイベント抽出部25は、アダプタ19が処理応答メッセージm4をデータ通信部13から受信した段階でこれを検出し、メッセージに関するイベントm19として記録する。また、Msgイベント抽出部25は、アダプタ19が処理応答メッセージm4を変換して処理応答メッセージm5として操作プロキシ48へ送信した段階でこれを検出し、メッセージに関するイベントm20として記録する。
同様に、アダプタ20にはMsgイベント抽出部26が仕込まれている。
Msgイベント抽出部26は、Msgイベント抽出部25と同じ要領で、処理要求メッセージm8を検出し、メッセージに関するイベントm21として記録する。さらに、処理要求メッセージm9を検出し、メッセージに関するイベントm22として記録する。さらに、処理応答メッセージm10を検出し、メッセージに関するイベントm23として記録する。さらに、処理応答メッセージm11を検出し、メッセージに関するイベントm24として記録する。
ワークフローエンジン29、29’の挙動は、Engイベント抽出部30によって検出される。ワークフローエンジン29、29’から発生したメッセージ及び受信されたメッセージに関する一連のイベントは、全てEngイベント抽出部30が扱う。
アダプタ19に向けてワークフローエンジン29から操作プロキシ48へ引き渡された処理要求メッセージm1は、Engイベント抽出部30で検出され、エンジンにおけるメッセージに関するイベントm13として記録される。同様に、アダプタ19から操作プロキシ48を介してワークフローエンジン29に戻された処理応答メッセージm6はEngイベント抽出部30で検出され、エンジンにおけるメッセージに関するイベントm14として記録される。
さらに、アダプタ20にワークフローエンジン29から操作プロキシ48へ引き渡された処理要求メッセージm7は、Engイベント抽出部30で検出され、エンジンにおけるメッセージに関するイベントm15として記録される。同様に、アダプタ20から操作プロキシ48を介してワークフローエンジン29へ戻された処理応答メッセージm12はEngイベント抽出部30で検出され、エンジンにおけるメッセージに関するイベントm16として記録される。
さらに、別のワークフローシステム2と通信する場合も同様に扱う。ワークフローシステム2との通信のために、ワークエンジン29から操作プロキシ48へ送信された処理要求メッセージm86はEngイベント抽出部30で検出され、エンジンにおけるメッセージに関するイベントm27として記録される。また、ワークフローエンジン2からの処理応答メッセージc52に対応する処理応答メッセージm87もEngイベント抽出部30で検出され、エンジンにおけるメッセージに関するイベントm28として記録される。
Msgイベント抽出部25で記録されたメッセージに関するイベントm17〜m20、及びMsgイベント抽出部26で記録されたメッセージに関するイベントm21〜m24、並びにEngイベント抽出部30で検出したエンジンにおけるメッセージに関するイベントm13〜m15、m27、m28の各々は、ワークフローシステム1内のイベントデータ保持部40に記録され、一時的に保管される。その後、共通データ送信部41によって所定のフォーマットでイベントデータ転送メッセージm29が適宜作成され、モニタシステム5へ転送される。
モニタシステム5は、イベントに関する全てのデータを受信するイベントデータ受信部62を有しており、イベントデータ転送メッセージm29を受信する。
ここではワークフローシステム1におけるイベントに関するデータの収集及び、イベントデータのモニタシステム5への転送について説明したが、ワークフローシステム2においても同様である。
次に、サービスの品質を計測するため、独自実装の既存ワークフローエンジン37からProxyシステム4を介してイベント情報を収集する手順について図10を用いて説明する。
ワークフローエンジン37が、業務アプリケーションシステム11に通信する場合、ワークフロー定義39に基づいてアダプタ23に処理要求メッセージm30を送信する。処理要求メッセージm30は、Webサービスで成される場合もあり、その場合にはXML等を用いて定義されるが、ワークフローシステム3は独自実装の既存ワークフローエンジンであることから、データ通信部17とアダプタ23との間の通信、及びデータ通信部18とアダプタ24との間の通信はProxyシステム4内のプロキシ部35を介して実現され、必ずしもWebサービス等で成されるとは限らない。
アダプタ23では、処理要求メッセージm30を業務アプリケーションシステム11が受け入れられるような通信プロトコル及び手順に変換し、新たな処理要求メッセージm31として、業務アプリケーションシステム11内のデータ通信部17に向けて送信する。
ワークフローシステム3と業務アプリケーションシステム11との通信はProxyシステム4内のプロキシ部35を介して実現されるため、プロキシ部35が処理要求メッセージm31を一旦受け、データ通信部17に向けて処理要求メッセージm32として送信し直すことによって、アダプタ23からデータ通信部17への処理要求メッセージの送信が実現される。
プロキシ部35は、処理要求メッセージm31を受信すると、投入制御部57によって一時的に抑制してから処理要求メッセージm31をキュー管理部58に含めるか、キュー管理部58に含めた後で強制棄却部56を用いて棄却するか、処理要求メッセージm32として送信し直すかのいずれかを、処理要求メッセージm31の内容に応じて行う。
プロキシ部35が抑制、棄却、データ通信部17への処理要求メッセージm32の送信のいずれを行うかは、調整操作部76が各種制御装置部に指示する操作量に関する制御メッセージ群の内容に依存して決まる。
投入抑制部57に対しては、抑制する処理要求メッセージ群、処理応答メッセージ群の種類の指定、抑制の定量的な程度を表現する操作量等が、調整操作部76から制御メッセージc56によって指定される。
強制棄却部56に対しては、棄却する処理要求メッセージ群、処理応答メッセージ群の種類の指定、棄却率等の定量的な程度を表現する操作量等が、調整操作部76から制御メッセージc55によって指定される。
制御メッセージc55、c56によって何も指定されていない処理要求メッセージ群、処理応答メッセージ群は、特に操作なく通常の通信を実施することが指定されているものとする。
データ通信部17は、処理要求メッセージm32を受信すると、業務アプリケーションシステム11に引き渡す。その結果、必要であれば、新たな処理応答メッセージm33が生成され、データ通信部17からアダプタ23に向けて応答される。
この場合も業務アプリケーションシステム11とワークフローシステム3との通信はProxyシステム4のプロキシ部35を介して実現されるため、プロキシ部35が処理応答メッセージm33を一旦受け、さらにアダプタ23に向けて処理応答メッセージm34として送信し直すことによって、データ通信部17からアダプタ23への処理応答メッセージの送信が実現される。
プロキシ部35は、処理応答メッセージm33を受信すると、投入抑制部57によって一時的に抑制してから応答メッセージm33をキュー管理部58に含めるか、応答メッセージm33をキュー管理部58に含めた後で強制棄却部56を用いて棄却するか、処理応答メッセージm34として送信し直すかのいずれかを、処理応答メッセージm33の内容に応じて行う。
アダプタ23は、プロキシ部35から処理応答メッセージm34を受信したら、それを予め規定されている通信プロトコル及び手順に変換し、処理応答メッセージm35としてワークフローエンジン37に戻す。
ワークフローエンジン37は、ワークフロー定義39に基づいて次の挙動を決定する。その結果、業務アプリケーションシステム12と通信する場合は、ワークフロー定義39に基づいて今度はアダプタ24に処理要求メッセージm36を送信する。
アダプタ24では、処理要求メッセージm36を業務アプリケーションシステム12が受け入れられるような通信プロトコル及び手順に変換し、新たな処理要求メッセージm37として業務アプリケーションシステム12内のデータ通信部18に向けて送信する。
ワークフローシステム3と業務アプリケーションシステム11との通信はProxyシステム4内のプロキシ部35を介して実現されるため、プロキシ部35が処理要求メッセージm37を一旦受け、データ通信部18に向けて新処理要求メッセージm38として送信し直すことによってアダプタ24からデータ通信部18への処理要求メッセージの送信が実現される。
プロキシ部35は、処理要求メッセージm37を受信すると、投入制御部57によって一時的に抑制してから処理要求メッセージm37をキュー管理部58に含めるか、処理要求メッセージm37をキュー管理部58に含めた後で強制棄却部56を用いて棄却するか、処理要求メッセージm38として送信し直すかのいずれかを、処理要求メッセージm37の内容に応じて行う。
データ通信部18は、処理要求メッセージm38を受信したら、業務アプリケーションシステム12に引き渡す。その結果、必要であれば新たな処理応答メッセージm39が生成され、データ通信部18からアダプタ24に向けて応答される。
この場合も、業務アプリケーションシステム12とワークフローシステム3との通信はProxyシステム4内のプロキシ部35を介して実現されるため、プロキシ部35が処理応答メッセージm39を一旦受け、さらにアダプタ24に向けて処理応答メッセージm40として送信し直すことによって、データ通信部18からアダプタ24への処理応答メッセージの送信が実現される。
プロキシ部35は、処理応答メッセージm39を受信すると、投入抑制部57によって一時的に抑制してから処理応答メッセージm39をキュー管理部58に含めるか、処理応答メッセージm39をキュー管理部58に含めた後で強制棄却部56を用いて棄却するか、処理応答メッセージm40として送信し直すかのいずれかを、処理応答メッセージm39の内容に応じて行う。
アダプタ24内は、プロキシ部35から処理応答メッセージm40を受信したら、それを予め規定されている通信プロトコル及び手順に変換し、処理応答メッセージm41としてワークフローエンジン37に戻す。
ワークフローエンジン37は、ワークフロー定義39に基づいて次の挙動を決定するが、その際に別のワークフローシステム2と通信する場合がある。その場合は、ワークフロー定義39に基づいて今度はワークフローシステム2を目的先としてプロキシ部35に処理要求メッセージm88を送信する。処理要求メッセージm88は、Webサービス等で成されるとは限らず、任意の表現によって定義される。
プロキシ部35は、処理要求メッセージm88を受信すると、投入抑制部57によって一時的に抑制してから処理要求メッセージm88をキュー管理部58に含めるか、処理要求メッセージm88をキュー管理部58に含めた後で強制棄却部56を用いて棄却するか、処理要求メッセージm48としてワークフローシステム2へ送信するかのいずれかを、処理要求メッセージm88の内容に応じて行う。
処理要求メッセージm48の結果は、処理応答メッセージm49としてプロキシ部35に戻される。
プロキシ部35は、処理応答メッセージm49を受信すると、投入抑制部57によって一時的に抑制してから処理応答メッセージm49をキュー管理部58に含めるか、処理応答メッセージm49をキュー管理部58に含めた後で強制棄却部56を用いて棄却するか、又は処理応答メッセージm49と同等の内容の処理応答メッセージm89として処理要求メッセージm88の送信後に受信待ち状態となっているワークフローエンジン37に戻すかのいずれかを、処理応答メッセージm49の内容に応じて行う。
ワークフローシステム3で発生する処理要求・処理応答メッセージに関するイベント群の検出は、独自実装の既存のワークフローエンジンであるため、通常の処理方式とは異なる方法(ワークフローシステム1、2とは異なる方法)が採用される。
データ通信部17とアダプタ23との間の通信は、プロキシ部35を介して行われるため、発生する処理要求・処理応答メッセージに関するイベントは、Proxyシステム4内のプロキシ部35に連結されたPrxイベント抽出部36によって検出される。データ通信部18とアダプタ24との間の通信で発生する処理要求・処理応答メッセージに関するイベントもPrxイベント抽出部36によって検出される。
Prxイベント抽出部36は、アダプタ23が処理要求メッセージm31を送信し、プロキシ部35が受信し、それをデータ通信部17に向けて処理要求メッセージm32として送信した段階でこれを検出し、メッセージに関するイベントm50として記録する。また、Prxイベント抽出部36は、データ通信部17が処理応答メッセージm33を送信し、プロキシ部35が受信し、それをアダプタ23に向けて処理応答メッセージm34として送信した段階でこれを検出し、メッセージに関するイベントm51として記録する。
同様に、Prxイベント抽出部36は、アダプタ24が処理要求メッセージm37を送信し、プロキシ部35が受信し、それをデータ通信部18に向けて処理要求メッセージm38として送信した段階でこれを検出し、メッセージに関するイベントm52として記録する。また、Prxイベント抽出部36は、データ通信部18が処理応答メッセージm39を送信し、プロキシ部35が受信し、それをアダプタ24に向けて処理応答メッセージm40として送信した段階でこれを検出し、メッセージに関するイベントm53として記録する。
Prxイベント抽出部36によって抽出されたイベント情報は、Proxyシステム4内のイベントデータ保持部45に一時的に保管される。
これに対して、ワークフローエンジン37の挙動は、ワークフローシステム3内に配置されたEngイベント抽出部38によって検出される。
例えば、アダプタ23に引き渡された処理要求メッセージm30はEngイベント抽出部38で検出され、エンジンにおけるメッセージに関するイベントm42として記録され。同様に、アダプタ23から引き渡された処理応答メッセージm35はEngイベント抽出部38で検出され、エンジンにおけるメッセージに関するイベントm43として記録される。
さらに、アダプタ24に引き渡された処理要求メッセージm36は、Engイベント抽出部38で検出され、エンジンにおけるメッセージに関するイベントm44として記録される。同様に、アダプタ24から引き渡された処理応答メッセージm41はEngイベント検出部38で検出され、エンジンにおけるメッセージに関するイベントm45として記録される。
さらに、別のワークフローシステム2と通信する場合も同様に扱い、ワークフローシステム2に送信した処理要求メッセージm88はEngイベント抽出部38で検出され、エンジンにおけるメッセージに関するイベントm46として記録される。また、処理要求メッセージm88の結果として戻される処理応答メッセージm89もEngイベント抽出部38で検出され、エンジンにおけるメッセージに関するイベントm47として記録される。
その後、ワークフローシステム3内に配置された共通データ送信部47を用いて、所定のフォーマットにてイベントデータ転送メッセージm54が作成され、イベントに関するデータはProxyシステム4に適宜転送される。
その後、Proxyシステム4は自身の共通データ受信部46を用いて、イベントに関するイベントデータ転送メッセージm54を受信し、Proxyシステム4内のイベントデータ保持部45に一時的に保管する。
その後、共通データ送信部44によって、所定のフォーマットにてイベントデータ転送メッセージm55が作成され、モニタシステム5に適宜転送される
モニタシステム5には、イベントに関する全てのデータを受信するイベントデータ受信部62が設けられており、イベントデータ転送メッセージm55を受信する。
図11に、分散配置されたワークフローエンジンに独自に保持されているワークフロー定義を収集し、統合・合成されたワークフロー定義を生成する際の手順、及び計測したデータを加工して制御目的で供するための手順の概要を示す。
また、図15に、本実施形態に係るサービス提供品質制御装置の制御手順を示す。図11及び図15を用いて、計測したデータを加工して制御目的で供するための手順について説明する。
ワークフローシステム1に含まれるワークフローエンジン29、29’の挙動は、ワークフロー定義31で定義される。通常、ワークフロー定義31は、ワークフローエンジン29、29’の挙動のみを記述し、標準化された形式であるWS-BPEL及びWSDLを始めとするプロセス、サービス記述等で記述される。
ワークフローシステム2に含まれるワークフローエンジン32の挙動は、ワークフロー定義34で定義される。通常、ワークフロー定義34は、ワークフローエンジン32の挙動のみを記述し、標準化された形式であるWS-BPEL及びWSDLを始めとするプロセス、サービス記述等で記述される。
ワークフローシステム3に含まれるワークフローエンジン37の挙動は、ワークフロー定義39で定義される。ここで、ワークフローシステム3は独自実装の既存ワークフローエンジンであるため、ワークフロー定義39は、標準化された形式であるWS-BPEL及びWSDLで記述されるとは限らない。
ワークフロー定義31は定義転送メッセージm60として、ワークフロー定義34は定義転送メッセージm61として、ワークフロー定義39は定義転送メッセージm62として、モニタシステム5内のワークフロー定義・サービス定義取得部59へ適宜転送される。
ワークフロー定義・サービス定義取得部59は、定義転送メッセージm60、m61、m62を受信すると、その定義転送メッセージの形式を判断する。標準化された形式であるWS-BPELやWSDLではない他の形式の定義転送メッセージm62を受信したのであれば、予めワークフロー定義・サービス定義取得部59内部に設けられている処理系によって、標準化された形式であるWS-BPEL及びWSDLに等価変換した後で保持・管理する。
WS-BPEL及びWSDLのような標準記述以外の形式でワークフロー定義39が記述される形式でも、通常はWS-BPEL及びWSDLの標準形式とほぼ等価な情報項目を持つことが一般的である。
以上から、本実施形態に係るサービス提供品質制御装置では、WS-BPEL及びWSDLの標準形式に等価的に変換可能なもののみを対象としている。
その後、ワークフロー定義・サービス定義取得部59は、定義転送メッセージm60、m61、m52を受信又は変換にすることよって得られた、標準化形式であるWS-BPEL及びWSDLによるワークフロー定義31、34、39相当の情報を全て内部に保持する。なお、外部に設けられたリポジトリ6に保存することも可能である。
モニタシステム5内には、ワークフロー定義・サービス定義取得部59が管理するワークフロー定義31、34、39相当の情報や他の情報を元に、統合されたワークフロー定義を新たに合成するワークフロー合成部60と、合成したワークフロー定義を格納管理する合成ワークフロー定義61とが設けられている。
ワークフロー合成部60は、要素となる全てのワークフロー定義を得るため、ワークフロー定義・サービス定義取得部59を適宜起動する。ワークフロー定義・サービス定義取得部59は、リポジトリ6に対して問い合わせm85を実施することにより、既に内部で保持しているワークフロー定義31、34、39相当の情報の他に、統合・合成ワークフローの要素となる残りの全てのワークフロー定義・サービス定義情報m64を入手する。リポジトリ6を備えない構成の場合には、この問い合わせは行わない。
その後、ワークフロー定義・サービス定義取得部59は、統合・合成ワークフローの要素となるワークフロー定義31、34、39相当の情報及び、ワークフロー定義・サービス定義情報m64相当の情報を、全てのワークフロー定義・サービス定義情報m65として、ワークフロー合成部60に引き渡す。
ワークフロー合成部60は、統合・合成されたワークフロー定義を生成するとともに、統合・合成されたワークフロー定義を生成するための元情報になった全てのワークフロー定義・サービス定義情報m65とともに統合・合成されたワークフロー定義の一式m66を合成ワークフロー定義61へ渡す。なお、ワークフロー合成部60が、統合・合成されたワークフロー定義を生成する手順は、特開2007−257513号公報に開示されているような公知の方法を適用可能である。
従って、合成ワークフロー定義61には、ワークフロー定義31、34、39相当の情報と、全てのワークフロー定義・サービス定義情報m64相当の情報と、統合・合成されたワークフロー定義とが含まれて管理されている。
ワークフローシステム1の各種イベント抽出部によって抽出されたイベント情報は、ワークフローシステム1内のイベントデータ保持部40に一時的に保管され、適宜、共通データ送信部41によってイベントデータ転送メッセージm29としてモニタシステム5へ転送される。モニタシステム5では、イベントに関する全てのデータを受信するイベントデータ受信部62がイベントデータ転送メッセージm29を受信して処理する。
ワークフローシステム2の各種イベント抽出部によって抽出されたイベント情報は、ワークフローシステム2内のイベントデータ保持部42に一時的に保管され、適宜、共通データ送信部43によってイベントデータ転送メッセージm63としてモニタシステム5へ転送される。モニタシステム5では、イベントデータ受信部62がイベントデータ転送メッセージm63を受信して処理する。
これに対して、Proxyシステム4の各種イベント抽出部によって抽出されたイベント情報は、Proxyシステム4内のイベントデータ保持部45に一時的に保管される。
また、Proxyシステム4と連携するワークフローシステム3内の各種イベント抽出部によって抽出されたイベント情報は、ワークフローシステム3内の共通データ送信部47からイベントデータ転送メッセージm54としてProxyシステム4へ送信される。
Proxyシステム4には、共通データ受信部46が設けられており、これを用いてイベントデータ転送メッセージm54を受信する。その後、イベントデータ転送メッセージm54に記載された全てのイベント情報は、イベントデータ保持部45に一時的に保管される。
イベントデータ保持部45内に一時的に保管した、イベントに関する全てのデータは、適宜、共通データ送信部44によってイベントデータ転送メッセージm55としてモニタシステム5へ転送される。モニタシステム5では、イベントデータ受信部62がイベントデータ転送メッセージm55を受信して処理する。
イベントデータ受信部62は、イベントに関する全てのデータm67を、イベントデータ関係付け部63に引き渡す。イベントデータ関係付け部63は、統合・合成したワークフロー定義を格納管理する合成ワークフロー定義61を参照し、内部に管理されるサービス定義・プロセス定義情報m68を検索、参照しながら、イベントに関する全てのデータm67の各々がどのサービス・プロセスのメッセージインスタンスに相当するかを整理、関係付け、かつ現在イベント・統計格納DB65にて管理されるメッセージインスタンス群m69を検索の上で、関係付ける。その後、新たなメッセージインスタンスm70のレコードとしてイベント・統計格納DB65に格納する。
イベント・統計格納DB65には、イベントに関する全てのデータm67の各々のみが保持・管理されるだけではなく、サービスごとの単位時間当たりのメッセージ流通量や、通信失敗によって棄却されたメッセージ数等の統計処理のみで事実事項を導出把握できる各種パラメータ群に相当する計測統計量群が計算された後、保持・管理される。これらは、サービスの挙動を表すパラメータを意味する。
ここでのサービスとは、業務アプリケーションシステム7を呼び出すためのデータ通信部13、及び業務アプリケーションシステム8を呼び出すためのデータ通信部14を、WSDLのサービス記述等で仮想化して定義したインタフェースを意味する。
同様に、業務アプリケーションシステム9を呼び出すためのデータ通信部15、及び業務アプリケーションシステム10を呼び出すためのデータ通信部16、並びに業務アプリケーションシステム11を呼び出すためのデータ通信部18をWSDLのサービス記述等で仮想化して定義したインタフェースもサービスに相当する。
サービスごとの各種パラメータ群に相当する計測統計量群は、サービスのいくつかを選択して組み合わせて構成される複雑な構造を持つ統合・合成ワークフローの処理件数等、シミュレーションを利用して推定しなければ算出できない性質のものではなく、計測できるものに限る。さらに、時刻的な要素に依存して決まる場合も存在する。
スカラ量を持つサービスごとの各種パラメータ群を任意時刻tの下で定式化すると、下記式(5)のような、行列式(Z)で与えられる。これは、時刻tにおいてスカラ量を持つ全ての可観測(厳密には「可計測」)な選択パラメータの集合を構成し、可観測である記号(A)で表した上記全てのサービス集合に対して行列表現したものである。
Figure 0005212381
これに対して、後述する合意サービス水準に関するパラメータ群を意味するベクトル値群は、時刻tに対する行列式γ(i,s)(t)から非線形写像を通して求められ、下記記号(I)で表される全てのワークフロー定義集合の要素におけるスカラ量を持つワークフローに関する評価パラメータの集合を下記式(6)の行列式(Y)で表現したものとして定義される。
Figure 0005212381
Figure 0005212381
なお、式(6)のワークフロー定義とは、ワークフロー定義31、34やワークフロー合成部60によって合成・統合されたワークフロー定義のいずれでも良い。
以上の計算の処理能力を向上するため、いくつかの前処理が実施される。この前処理は、図15のステップS101に相当する。
図11において、メタデータ管理部66は、統合・合成されたワークフロー定義m73や、それを生成するための元情報となった全てのワークフロー定義31、34、39相当の情報及び他の全てのワークフロー定義・サービス定義情報m64の情報を定義情報一式m74として合成ワークフロー定義61やリポジトリ6から取り出し、メモリ上に管理する。
その後、メタデータ管理部66は、全ての統合・合成されたワークフロー定義m73と末端のサービス定義との関係を定義情報一式m74から求める。これは、例えばWhileループ、条件分岐等を加味して累積呼出度数として定義される。Whileループの最大数を度数とカウントし、条件分岐をそれぞれ1度数としてカウントし、最大度数で規格化したもので計算され、統合・合成されたワークフロー定義と末端のサービス定義とに応じた行列式で表現される。その後、この情報もメモリ上に管理する。
この行列式は、度数を変数dで表すと、式(7)、(8)で表される。
Figure 0005212381
図11において、計測統計量群を算出する計測統計量データ計算部67は、サービス定義ごとに、計測統計量群を求める。統合・合成されたワークフロー定義が別のワークフロー要素と一致するような場合は、必要かつ可能であれば、要素ワークフロー定義ごと、統合・合成されたワークフロー定義ごとにも、該当する計測統計量群を求める。このため、計測統計量データ計算部67は、統合・合成されたワークフロー定義の一覧m75と、一覧m75の各々を生成するための元情報となった全てのワークフロー定義・サービス定義m76とをメタデータ管理部66から入手し、メモリ上に管理する。
その後、イベント・統計格納DB65に格納されている全てのイベントデータの中から算出対象に関係するイベントデータを取り出すため、計測統計量データ計算部67は、イベント・統計格納DB65を管理する計測制御量データ管理部64に検索要求m71を適宜送信する。検索要求m71は、計算内容に依存するため、常に同じ内容になるとは限らない。計測制御量データ管理部64は、検索要求m71を受信すると、イベント・統計格納DB65を検索し、その結果を計測統計量データ計算部67へ送信する。これにより、計測統計量データ計算部67は、算出対象に関係するイベントデータの一覧m72を得る。これは、図15のステップS102に相当する。
その後、計測統計量データ計算部67は、統合・合成されたワークフロー定義の一覧m75と、一覧m75の各々を生成するための元情報となった全てのワークフロー定義・サービス定義m76とを参照して、計測統計量群として算出されるパラメータ群を順次算出する。これは、図15のステップS103に相当する。
その後、算出された計測統計量群は、計測制御量データ管理部64及びパフォーマンスデータ管理部68に格納される。これは、図15のステップS104に相当する。以上の処理は、図15にも示すように、計測統計量群を構成・定義するパラメータ数分だけ実施される(ステップS105)。
ここで、具体例として、パラメータ1、2の現時点での算出値、時刻的な要素を含んだ算出値等を求める場合を例示する。計測統計量データ計算部67は、パラメータ1の算出から実施する。
現時点でのパラメータ1を算出するため、計測統計量データ計算部67は、イベント・統計格納DB65を管理する計測制御量データ管理部64に検索要求m71を送信する。この結果、計測制御量データ管理部64は、イベント・統計格納DB65を検索し、その結果計測統計量データ計算部67は、算出対象に関係するイベントデータの一覧m72を得る(ステップS102)。その後、計測統計量データ計算部67は、現時点のパラメータ1の値を算出する(ステップS103)。
その後、パラメータ1の算出結果を揮発させることなく維持・管理するため、イベント・統計格納DB65に格納する。このため、計測統計量データ計算部67は、算出結果を含めた更新要求m77を計測制御量データ管理部64へ送信する。これにより、パラメータ1の算出結果は、イベント・統計格納DB65に時刻情報とともに格納される(ステップS104)。
また、当該パラメータ1を算出した後、その算出結果を後続の評価・計算で高速に処理するため、計測統計量データ計算部67はメモリ上に値を管理するパフォーマンスデータ管理部68に対して、算出結果を含めた更新要求m77に相当する管理要求m81を送信する。これによりパフォーマンスデータ管理部68において、パラメータ1の算出結果が時刻情報とともに管理される(ステップS104)。
同様に、現時点のパラメータ2を算出するため(ステップS105/No)、計測統計量データ計算部67は、イベント・統計格納DB65を管理する計測制御量データ管理部64に検索要求m71とは異なる検索要求m71’を送信する。この結果、計測制御量データ管理部64は、イベント・統計格納DB65を検索し、その結果、計測統計量データ計算部67は算出対象に関係するイベントデータの一覧m72’を得る(ステップS102)。その後、計測統計量データ計算部67は、現時点でのパラメータ2の値を算出する(ステップS103)。
パラメータ2の算出結果もイベント・統計格納DB65に格納するため、計測統計量データ計算部67は、算出結果を含めた更新要求m78を計測制御量データ管理部64に送信する。これにより、パラメータ2の算出結果は、イベント・統計格納DB65に時刻情報とともに格納される(ステップS104)。
パラメータ2を算出した後も、その算出結果を後続の評価・計算で高速に処理するため、計測統計量データ計算部67は、メモリ上に値を管理するパフォーマンスデータ管理部68に対して、算出結果を含めた更新要求m78に相当する管理要求m82を送信する。これにより、パフォーマンスデータ管理部68にて、パラメータ2の算出結果が時刻情報とともに管理される(ステップS104)。
同様に、指定時刻時点または現時点までのパラメータ1の累積値・平均値を算出するため(ステップS105/No)、計測統計量データ計算部67は、イベント・統計格納DB65を管理する計測制御量データ管理部64に検索要求m71の一部を変更した新たな検索要求m71を送信する。これを受けて計測制御量データ管理部64はイベント・統計格納DB65を検索し、その結果、計測統計量データ計算部67は算出対象に関係するイベントデータの一覧m72を得る(ステップS102)。その後、計測統計量データ計算部67は、パラメータ1の各種の値を算出する(ステップS103)。
パラメータ1の指定時刻時点の算出結果及び統計処理に関する算出結果も、イベント・統計格納DB65に格納するため、計測統計量データ計算部67は、算出結果を含めた更新要求m79を計測制御量データ管理部64に送信する。これにより、パラメータ1の指定時刻時点の算出結果及び統計処理に関する算出結果は、イベント・統計格納DB65に時刻情報とともに格納される(ステップS104)。
パラメータ1の指定時刻時点の算出結果及び統計処理に関する算出結果も、その結果を後続の評価・計算で高速に処理するため、計測統計量データ計算部67は、メモリ上に値を管理するパフォーマンスデータ管理部68に対して計測統計量算出結果を含めた更新要求m79に相当する管理要求m83を送信する。これによりパフォーマンスデータ管理部68において、パラメータ1の指定時刻時点の算出結果及び統計処理に関する算出結果が時刻とともに管理される(ステップS104)。
同様に、指定時刻時点又は現時点までのパラメータ2の累積値・平均値等を算出するため(ステップS105/No)、計測統計量データ計算部67は、イベント・統計格納DB65を管理する計測制御量データ管理部64に検索要求m71’の一部を変更した新たな検索要求m71’を送信する。これを受けて計測制御量データ管理部64はイベント・統計格納DB65を検索し、その結果、計測統計量データ計算部67は算出対象に関係するイベントデータの一覧m72’を得る(ステップS102)。その後、計測統計量データ計算部67は、パラメータ2の各種の値を算出する(ステップS103)。
パラメータ2の指定時刻時点の算出結果及び統計処理に関する算出結果も、イベント・統計格納DB65に格納するため、計測統計量計算部67は、算出結果を含めた更新要求m80を計測制御量データ管理部64に送信する。これにより、パラメータ2の指定時刻時点の算出結果及び統計処理に関する算出結果は、イベント・統計格納DB65に時刻情報とともに格納される(ステップS104)。
パラメータ2の指定時刻時点の算出結果及び統計処理に関する算出結果も、その結果を後続の評価・計算で高速に処理するために、計測統計量計算部67は、メモリ上に値を管理するパフォーマンスデータ管理部68に対して、算出結果を含めた更新要求m80に相当する管理要求m84を送信する。これにより、パフォーマンスデータ管理部68にて、パラメータ2の指定時刻時点の算出結果及び統計処理に関する算出結果が時刻情報とともに管理される(ステップS104)。
上記の事項を、計測統計量群を構成・定義するパラメータ数分だけ(ステップS105/Yesとなるまで)繰り返し適宜実施する。特に、時刻に関連するパラメータを扱うので定期的に計算を行う。
〈制御時の動作〉
本実施形態に係るサービス提供品質制御装置の制御時の動作について、図12〜図21を用いて説明する。
図12、13に、本実施形態に係るサービス品質制御装置のサービス品質制御時の動作を示す。図15〜17は、制御手順を示すフローチャートである。図18は、操作候補を選別する際の手順を示すフローチャートである。図19〜21は、制御操作策定を実施する手順を示すフローチャートである。
状態観測部70は、起動制御部69からサンプリング周期に応じた起動要求c1を受けると、パフォーマンスデータ管理部68がメモリ上で管理している複数のパラメータ群に関する現在の値及び累積値・平均値等を得る。例えば、現時点のパラメータ1の算出結果c4、現時点までのパラメータ1の累積値・平均値c5、現時点のパラメータ2の算出結果c6、現時点までのパラメータ2の累積値・平均値c7である。上記のように、パラメータ1、パラメータ2は、統計処理のみで事実事項を把握できる性質のものであり、サービスの挙動を意味するパラメータ群である。
さらに、状態観測部70は、メタデータ管理部66がメモリ上に管理している統合・合成されたワークフロー定義の一覧c2と、一覧c2の各々を生成するための元情報となった全てのワークフロー定義・サービス定義の定義情報一式c3とを入手する。その後、パラメータ1及びパラメータ2をサービス定義ごとに集計し、パラメータ1及びパラメータ2等を要素元とするベクトル値を定義する。その後、サービス群のベクトル値を全てのサービスで序列化した上記式(5)で表現される行列を定義する。
そして、サンプリングした時刻の状態を意味する行列をサンプリング時刻の状態行列c8として保持する。これに対して、状態行列c8のサンプリング時刻よりも1サンプリング周期遡り、算出され保持管理されている行列c8と同等のサンプリング時刻1周期前の状態行列c9も引き続き保持される。これは図15のステップS106に相当する。
その後、状態観測部70は、「サンプリング時刻の状態行列c8」及び「サンプリング時刻1周期前の状態行列c9」と、「全てのサービスを呼び出している要素ワークフローについて定義し、ワークフロー定義31、34、39に相当してサービス群と要素ワークフロー群との関係を示し、定義情報一式c3に相当する定義情報一式c10」と、「統合・合成されたワークフロー定義の一覧c2に相当する統合・合成されたワークフロー定義の一式c11」とを引数・入力として、補償機能付きシミュレーション処理部71を起動するための起動(Invoke)コマンドc12を送信する。
補償機能付きシミュレーション処理部71は、サンプリング時刻の状態行列c8及びサンプリング時刻1周期前の状態行列c9から導出される時間補正後の同等行列を元に、統合・合成されたワークフロー定義の一式c11ごとに対する合意サービス水準に関するパラメータ群を意味するベクトル値群c14を推定計算する。なお、この値はシミュレーション時間の補償を実施した形で複数算出される。
補償機能付きシミュレーション処理部71の構成を図14に示す。補償機能付きシミュレーション処理部71は、内部に挙動関数を1以上有する。そしてシミュレーション処理時間に応じて、同じイメージを持つ挙動関数120が複数生成される。挙動関数120では、フィードフォーワード制御に伴う推定のための手続きや、シミュレーションに伴う演算時間遅れ補償を含んでのシミュレーションの実行回数等の管理等の起動管理も行う。
挙動関数120は、三つの部分から構成される。
一つ目は、定義情報一式c10のうち、要素ワークフローについて定義及び統合・合成されたワークフロー定義の一覧c11に関連し、ワークフローの持つ順序機械的な挙動をシミュレートする順序機械シミュレーション部121、121’である。
二つ目は、定義情報一式c10のうち、全ての末端のサービス群の挙動特性を表現し、指定条件下での挙動をシミュレートするサービス特性関数計算部124である。
三つ目は、補償機能付きシミュレーション処理部71が、シミュレーション実施後に外部に戻す合意サービス水準に関するパラメータに基づくベクトル値群を計算処理するために挙動関数120内に設けられた処理系130である。
サービス特性関数計算部124は、可観測で線形性を持つ末端のサービス群を、等価な振る舞いを定義して扱うのに対して、順序機械シミュレーション部121、121’は、ワークフローの持つ順序機械的な挙動をシミュレートし、その動作タイミングのみを等価的に扱う。
この動作は、Seiichi Koizumi, Kazuya Koyama, “Workload-aware Business Process Simulation with Statistical Service Analysis and Timed Petri Net”, Proceedings of the 2007 IEEE International Conference on Web Service (ICWS 2007), 2007. に参照される公知の原理に基づいた動作を適用可能である。
順序機械シミュレーション部121、121’は、統合・合成されたワークフロー定義の一式c11の定義数に応じて複数生成され、処理上の待ち合わせ制約以外は独立に実行される。これに対して、サービス特性関数計算部124は一つのみ生成される。
サービス特性関数計算部124には、全ての末端サービス群の挙動に関する事前計測の特性データを保持している。例えば、業務アプリケーションシステム7の挙動に関する特性データは業務アプリケーションシステム挙動特性定数125で表現される。これは単純なスカラ量の場合もあるし、決められたパラメータ値の組み合わせであるベクトル量やテンソル量の場合もある。
同様に、業務アプリケーションシステム8の挙動に関する特性データは、業務アプリケーションシステム挙動特性定数126で表現される。同様に、業務アプリケーションシステム9の挙動に関する特性データは、業務アプリケーションシステム挙動特性定数127で表現される。同様に、業務アプリケーションシステム10の挙動に関する特性データは、業務アプリケーションシステム挙動特性定数128で表現される。
そして、サービス特性関数計算部124に、ある時点の計測統計量群のパラメータ群を与えると、業務アプリケーションシステム挙動特性定数125〜128に基づいて、評価対象とする別パラメータ群が算出される。例えば、サービスごとに要求されるサービス要求到着率というパラメータ群をサービス特性関数計算部124に与えることで、平均応答時間などのパラメータ群が算出される。
サービス特性関数計算部124は、等価的な振る舞いを算出する関数である。このため、サービスが複雑な構成を持つ場合でもモデルとしては対応可能となる。ただし、線形性を持ち可観測で等価的な振る舞い定義ができる特性を持つもののみが対象となる。例えば、業務アプリケーションシステム7と業務アプリケーションシステム10とで、表だって定義されていない何らかの関連があり、業務アプリケーションシステム7のパラメータ群の変動に応じて、因果関係として何らかの変動が、業務アプリケーションシステム10に見られる場合、その挙動特性等を取り扱うことができるようになる。
業務アプリケーションシステム挙動特性定数125〜128は、固定的に保持することも可能であるが、通常は起動時に設定され、補償機能付きシミュレーション処理部71の起動中はメモリ上に適当な定数として保持される。
順序機械シミュレーション部121、121’の各々は、統合・合成されたワークフロー定義の各々に基づいて生成される。それらは、統合・合成されたワークフロー定義が呼び出している要素ワークフローモデル群122、123を内部に有する。要素ワークフローモデル群122、123は、WS-BPELで記載される情報であるワークフロー定義31、34、39を等価変換して定義される。
要素ワークフローモデル群122、123の記述方法は、ペトリネットや順序機械などで定義されるが、ここではペトリネットを利用するものとする。なお、順序機械など他の方法で要素ワークフローモデル122、123を実現しても良い。
補償機能付きシミュレーション処理部71が動作する場合は、起動コマンドc12を受け付けた後、統合・合成されたワークフロー定義の一式c11の定義数に応じて順序機械シミュレーション部121、121’が複数生成され、その各々に定義情報一式c10に基づいて統合・合成されたワークフロー定義が呼び出している要素ワークフローモデル群122、123が生成される。
補償機能付きシミュレーション処理部71における処理を開始する場合、順序機械シミュレーション部121が起動し、先頭に位置付けられる要素ワークフローモデル群122に対して、統合・合成されたワークフロー定義の一式c11の各々に対して期待されるサービス要求到着率に応じたペトリネットのトークンを発火させる。このトークンは複数発生する。
任意のトークンが任意のプレースに到着し、次のアクションの発火条件が揃った場合、順序機械シミュレーション部121はその際のアクションを実施させる。アクションの一つが業務アプリケーションシステム8を呼び出す場合、サンプリング時刻1周期前の状態行列c9と、サンプリング時刻の状態行列c8とから導出される時刻補償後の同等行列を元にサービス特性関数計算部124を呼び出す。その後、サービス特性関数計算部124は、評価対象とする別パラメータ群を算出し、処理系130にトークンの指定とともにパラメータ群c80を送付する。その後、サービス特性関数計算部124は、処理を順序機械シミュレーション部121へ戻す。
パラメータ群c80は、サービスごとに要求されるサービス要求到着率に対する平均応答時間などが相当する。
上記の手順で、一つのトークンに対してペトリネット終了状態になるまでアクションを実施する。そして、上記処理を複数のトークンに対して並行して実施する。
処理系130は、算出されたパラメータ群c80をトークンの指定とともに受信する。その後、複数発生するパラメータ群c80をトークンごとにとりまとめ、パラメータ群c80の要素ごとに総和などの計算処理を行い、計算パラメータ群c81を求める。この計算処理は、パラメータの内容に応じて利用する数式が異なる。以上の一連の手続を繰り返すことで、ある統合・合成されたワークフロー定義の処理一つに対する実行内容をシミュレートできる。
トークンが複数発生するため、計算パラメータ群c81に対する統計処理を実施することで、処理系130は統合・合成されたワークフロー定義の一式c11ごとに対する合意サービス水準に関するパラメータ群を意味するベクトル値群c14を計算できることになる。
これは、順序機械シミュレーション部121、121’は、統合・合成されたワークフロー定義の一式c11の定義数に応じて複数生成されるので、統合・合成されたワークフロー定義の一式c11に含まれる総数分の計算を補償機能付きシミュレーション処理部71の1回のシミュレーションで実行することになるためである。
この結果を受けて、補償機能付きシミュレーション処理部71は、合意サービス水準に関するパラメータ群を意味するベクトル値群c14をシミュレーション実施後に外部に戻すことになる。
なお、補償機能付きシミュレーション処理部71内部の挙動関数120は、シミュレーションに伴う演算時間遅れ補償、及びフィードフォーワードに伴う推定のための手続を行う。ここで補償の際に参照される補償条件に応じて、統合・合成されたワークフロー定義の一式c11ごとに対する合意サービス水準に関するパラメータ群を意味するベクトル値群c14の値も変わってくる。
以上の補償機能付きシミュレーション処理部71の起動に伴う一連の手続は、図15のステップS107及びS108に相当する。
なお、合意サービス水準に関するパラメータ群は、上記式(6)と同型を持つ行列式で定義されるが、シミュレーションに伴う演算時間遅れ補償、及びフィードフォーワードに伴う推定を含む。シミュレーションに伴う演算時間遅れ補償及びフィードフォーワードに伴う推定の方法と時間軸に対する振る舞い定義については、図22を用いて後段で説明する。
その後、補償機能付きシミュレーション処理部71は、図15のステップS107、S108について、p回(pは1以上の整数)だけ繰り返し実施する(ステップS109)。サービス提供品質制御装置では、補償機能付きシミュレーション処理部71による推定計算総数は、制御の1サンプリング周期で最大2p回実施されることになるが、そのうちの前半のp回をこの段階で連続的に実施する。
その後、後の評価に利用するため、「統合・合成されたワークフロー定義の一式c11ごとに対する合意サービス水準に関するパラメータ群を意味するベクトル値群c14」と同じ値を持つベクトル値群c14’をバッファ部79に時刻とともに出力し、管理・保持する。図15のステップS110に相当する。
その後、「統合・合成されたワークフロー定義の一式c11ごとに対する合意サービス水準に関するパラメータ群」を意味するベクトル値群c14を評価する目的で、補償機能付きシミュレーション処理部71は、ベクトル値群c14を引数・入力として、検出部73を起動するための再起動コマンドc15を検出部73へ送信する。
検出部73は、起動後の初期化処理にて、目標状態ベクトル値管理部72が管理する複数サービス利用者ごとに取り決めた「合意サービス水準に関する目標値群のベクトル値群c16」を事前に読み込んでいる。
合意サービス水準に関する目標値群のベクトル値群c16は、大きく三つの部分から構成される。一つ目は、合意サービス水準に関する目標値群のベクトル値群そのもの、二つ目は、目標状態ベクトル値管理部72が合意サービス水準に関する目標値群のベクトル群c16を管理コンソール81にて登録する際に入力される相対優先度に関する情報c62に相当する情報、三つ目は、合意サービス水準に関する目標値群のベクトル値群を構成するパラメータ値群間の相対情報に相当する情報である。
一つ目の部分を定式化すると、下記式(9)で与えられる。
Figure 0005212381
ここではスカラ量を持つ全てのワークフローの評価パラメータ集合全ての要素に関して何らかの評価値が指定され、時間変動なく一定と見なされる。これがSLA情報を制御目標とする目標状態ベクトル値として定義される。
二つ目の部分を任意の優先度関数pt(m)を用いて定式化すると、下記式(10)で与えられる。
Figure 0005212381
三つ目の部分 を任意のパラメータ間の優先度関数pp(j,m)を用いて定式化すると、下記式(11)で与えられる。
Figure 0005212381
上記の三つの部分を元に検出部73は、優先度評価の固有値を事前に計算する。
図13において、検出部73は、再起動コマンドc15を補償機能付きシミュレーション処理部71から受信すると、合意サービス水準に関する目標値群のベクトル値群c16から計算される優先度評価の固有値(式(9))と、ベクトル値群c14(式(6))とをもとに、新たに制御偏差行列を推定計算する。
ただし、これには推定値が含まれるため、単純に式(6)の形式を用いることができず、式(12)に記す同型の推定値にて表現される。(下記(J)に示す表示形式が、シミュレーション時間を補償した、補償時刻Δtにおける推定値を意味する。)
Figure 0005212381
式(12)において、制御偏差は式(9)で表現される目標値に対するずれ幅として表現される。ここで偏差の計算にあたっては特別な評価関数は用いない。逆に単純差分で定義できるように各種パラメータの定義が工夫される。
式(12)などで計算される制御偏差に基づき、制御条件を判定する。これは図16のステップS111に相当する。この手順では、ベクトル値群c14が十分であり、かつ目標値群のベクトル値群c16の全てを上回っているか否かを評価するため、全てのベクトル値群の成分に対して実施する(ステップS112)。
なお、ベクトル値群c14が十分であっても目標値群のベクトル値群c16の全てを上回っていない場合も存在する。この場合は、例えば、合意サービス水準に関する目標値群のベクトル値群c16を構成するパラメータ値群間の相対情報を用いて、重大な影響を与えるか否かを判断しても良い。
検出部73は、制御条件を判定した結果、制御偏差が満足できるものではない場合、又は事前に制御偏差を満足していても制御条件の変更がなされていない場合は、評価条件調整部74を起動することになる(ステップS113/No)。なお、図16においては、制御偏差が満足できるものでない場合に[No]となる。さらに、事前に制御偏差を満足していても制御条件の変更がなされていない場合は[YES{制御条件変更フラグ未セット}]となる(ステップS113/Yes)。
図13においては、評価条件調整部74を起動するため、検出部73は起動コマンドc17を送信する。送信においては、下記式(13)で与えられる優先度評価の固有値や、上記式(12)で与えられる制御偏差行列のシミュレーション時間の補償推定値などの必要な情報を引数で渡す。なお、起動コマンドc17の送信に先立ち、制御の1サンプリング周期内で補償機能付きシミュレーション処理部71を規定回数以上実施しているか否かの判定を行う(ステップS114)。
Figure 0005212381
上記判定の結果、既に規定回数のp以上実施していた場合は(ステップS114/Yes)、操作失敗とみなす。この結果、図16のステップS115で記されたように、制御条件の変更が成されていない状態に戻し、図16のステップS116を実施するためのアラームc91を送信する。
これに対して、補償機能付きシミュレーション処理部71を規定回数以上実施しておらず(ステップS114/No)、起動コマンドc17を受けて評価条件調整部74が起動すると、制御のための操作を開始する。評価条件調整部74は、図18に示す手順に基づき、図16のステップS117に相当する処理を実施する。
ステップS117での処理を詳細に説明する。
評価条件調整部74は、統合・合成されたワークフロー定義と全てのワークフロー定義・サービス定義の一覧とから個々のサービス定義に関する呼出度数について計算した行列値(上記式(7)で定義される行列値)に関するデータc82をメタデータ管理部66から取り出して読み込む。これは図18のステップS201に相当する。
また、評価条件調整部74は、検出部73が起動コマンドc17を送信する際に引数として指定した、式(12)で表現される制御偏差行列のシミュレーション時間の補償の推定値を入手する。これは図18のステップS202に相当する。
また、評価条件調整部74は、検出部73が起動コマンドc17を送信する際に引数として指定した式(13)で表現される優先度評価の固有値を入手する。ここで式(13)は評価を重畳するので、式(10)と式(11)との単純積で計算される。これは図18のステップS203に相当する。
評価条件調整部74が制御操作対象を選定するため、統合・合成されたワークフロー定義レベルの統合プロセスの全体評価を鳥瞰する必要がある。これは任意時刻tにて下記式(14)で表現される。
Figure 0005212381
式(14)では式(13)の転置行列をもとに、下記式(15)で与えられるクロネッカーのδ(u,v)を関数に持つ特殊行列を掛けている。この特殊行列は、計算された結果生成される新たな行列に対して、対角部分の要素であるときは1を、それ以外は0の値を持つ。この結果、作成される(m,m)行列の対角部分の値を取ることで、実数値を持つ任意時刻t時の統合プロセスの評価済み偏差ベクトルは下記式(16)のように定義できる。なお、偏差行列は推定値偏差行列(式(12))を用いる。
Figure 0005212381
Figure 0005212381
この結果、評価条件調整部74は、上記式(16)と式(7)とを通して補償された任意時刻t+Δtに対するサービスの影響度を推定できる。これは図18のステップS204に相当する。
また、評価条件調整部74は、評価感度・ボトルネックの評価のため、パフォーマンスデータ管理部68に管理されている該当する計測統計量データc83を取り出す。これは図18のステップS205に相当する。
その後、評価条件調整部74は、評価済み偏差ベクトル(式(16))と呼出度数について計算した行列値(式(7))とを基に、サービス影響度のモデル化の計算を下記式(17)によって行う。これは、図18のステップS206に相当する
Figure 0005212381
その後、評価条件調整部74は、式(17)によって計算されるサービス影響度のモデル化と計測統計量データc83とを基に一次結合した評価式を下記式(18)のように定義する。上記式(17)は、総合プロセスの論点から、サービスの影響度を推定しているが、感度・ボトルネックの点で妥当でない場合も存在する。そこで、式(5)からボトルネックを意味する妥当なスカラ量であるパラメータを選択し、末端サービスに関するベクトルとして式(18)のように表現する。一次結合の際の重み付けパラメータは、制御を実施する前段階で実施されるキャリブレーション時に計測、指定されたもので固有値、又は後述する自律調整時の対象パラメータである。これは図18のステップS207に相当する。
Figure 0005212381
その後、評価条件調整部74は、ある順序で並び替える非線形写像を定義する。そして、サービスのベクトル値として表現される評価式(18)に対して、各成分間の比較を行い、相互比較等を通してサービス評価を実施する。
相互比較の方式は、評価式のベクトル成分をスカラ量として見なし、単純に大小ソートする方法でも構わない。これにより評価条件調整部74は、制御操作対象とするサービスを特定する。これは図18のステップS208に相当する。
続けて評価条件調整部74は、操作候補のサービスを選定・指定する。これは、図18のステップS209に相当する。以上により、制御操作対象の選定手順を終了する(ステップS210)。
その後、評価条件調整部74は、図16のステップS118に相当する処理を実施する。これは、適正な操作量を決定するために、補正機能付きシミュレーション処理部71を使ってp回評価する場合、成功するまで毎回、追加する仮操作量の記録を取っておき、失敗時にさらに追加する仮操作量を指定することで、仮操作条件を厳しいものにするためのものである。ここでは、仮操作したサービスの位置に関する情報も読み込まれる。
その後、評価条件調整部74は、図16のステップS119に相当する処理を実施する。処理の詳細については、図19〜21のフローチャートに示す。評価条件調整部74は、制御操作に対する適用順番、及び評価関数を得るためにポリシ記述管理部75から、制御操作に対するポリシ定義情報c19を得る。
その後、評価条件調整部74は、図19のステップS301から処理を開始すると、図16のステップS118時に把握した、仮操作したサービスの位置に関する情報を取得する。これは、図18のステップS208で特定した操作対象のサービス群から選択されるものである。この動作は、図19ではステップS302に相当する。
その後、評価条件調整部74は、図16のステップS118時に得た、実施済み操作量についての指定の有無を判断する(ステップS303)。1回目の操作の場合(ステップS303/No)、特に実施済み操作量についての指定は存在しないので、次の判断である図16のステップS111における検出部による制御偏差の条件判定(ステップS307)まで進む。
これに対して、1回以上の操作を実施している場合は(ステップS303/Yes)、さらに、実施済み操作条件の次にできる操作を判定する(ステップS304)。この判定は、制御操作に対するポリシ定義情報c19を元に判定する。
ここで、次に実施できる操作が存在する場合は(ステップS304/存在)、評価条件調整部74は、次の判断である図16のステップS111における検出部による制御偏差の条件判定(ステップS307)まで進む。
これに対して、既に仮操作したサービスの位置を変えても、次に実施できる操作が存在しない場合(ステップS304/存在せず)、図19のステップS305に進む。この状態で、実施済みの操作量についての指定は存在していないが、1度シミュレーションによる推定計算、及び検出部73による制御条件の判定した結果、実施できる操作が存在しうる可能性も残るので、図19のステップS305を実施するためのアラームc84を送信する。その後、評価条件調整部74は、図19のステップS306に処理を移し、一連の制御装置部群の仮設定量設定を終了する。
実施済み操作条件の次にできる操作が存在する場合、評価条件調整部74は、図16のステップS111における検出部による制御偏差の条件判定で、適合しているか否かを判断する(ステップS307)。
条件判定で適合していない場合は(ステップS307/No)、[NO]が選択され、さらに次の判断であるデフォルト指定よりも制御操作に対するポリシ定義情報c19を優先して判定するか否かについて判断する(ステップS312)。なお、デフォルト指定の意味については後段で説明する。優先する場合は(ステップS312/Yes)[YES]を選択して図20のステップS313に進む。これに対して、優先しない場合は(ステップS312/No)、[NO]を選択し、図20のステップS315に進む。
図16のステップS111における検出部73による制御偏差の条件判定で、適合しているか否かを判断した結果、適合している場合は[YES]が選択され(ステップS307/Yes)、さらに次の判断であるデフォルト指定よりも制御操作に対するポリシ定義情報c19を優先して判定するか否かについて判断する(ステップS308)。優先する場合は(ステップS308/Yes)、[YES]を選択し、図19のステップS309に進む。これに対して優先しない場合は(ステップS308/No)[NO]を選択し、図21のステップS322に進む。
図16のステップS111における検出部による制御偏差の条件判定で適合している場合(ステップS307/Yes)、十二分な実施環境であることとなる。そこで、さらに効率的なサービス実行ができるか否かを判断することが必要となる。そのため、サービス実行処理系のCPU資源・メモリ資源等を削減することで有効利用を実施できるか否かを評価する。
ここで、制御操作には少なくとも4種類の操作手法が存在する。
一番目のものは、サービス実行処理系のCPU資源・メモリ資源等の追加など資源操作に関するものである。これを“資源操作による制御操作手法”と称することとする。これは具体的には、図12のワークフローシステム1の環境が制御メッセージc50を受信するとワークフローエンジン29、29’の起動・停止について評価し、必要に応じてワークフローエンジン29を起動・停止、処理内容の変更等の制御を行う制御コマンドc53を送信するととともに、同様にワークフローエンジン29’を起動・停止、処理内容の変更等の制御を行う制御コマンドc54を送信することなどが相当する。
二番目のものは、サービス実行処理系に対するメッセージ投入抑制を実施することに関するものであり、ボトルネックとなっている処理よりも上流側にあるサービス処理群の整流化に基づくものである。これを、“制約に対する整流化による制御操作手法”と称することとする。具体的には、プロキシ部35の任意メッセージ受信後、相当するメッセージを送信する前に、その内容に応じて、投入抑制部57によって一時的に抑制し、受信した任意のメッセージをキュー管理部58に含めることなどが相当する。
三番目のものは、実施状況中のサービスを取り決められた範囲で強制的に棄却することによってサービス実行処理系のCPU資源・メモリ資源等の開放を行うことである。これは具体的には、プロキシ部35の任意メッセージ受信後相当するメッセージを送信する前にその内容に応じて投入抑制部57によって一時的に抑制し、強制棄却部56を用いて強制的に棄却することなどが相当する。これを、“強制棄却による制御操作手法”と称する。
四番目のものは、末端のサービスの呼出順序を合意サービス水準に関する目標値群のベクトル値群c16を満足するように動的に変更することである。この方法の具体例については、統合・合成したワークフローを定義する段階で、変更を加え再配布することで末端のサービス呼出定義を並行可能化し、これによって実現する。これを“再編成による制御操作手法”と呼ぶ。
前述のデフォルト指定とは、上記の4種類の操作手法のうち、一番目、二番目、三番目のものを図20、図21のステップS317、ステップS321、ステップS319、ステップS320、ステップS324、ステップS325のように組織したものを意味する。
これに対して、制御操作に対するポリシ定義情報c19では、上記の4種類の操作手法を含んだ任意の評価関数として定義される。デフォルト指定よりも制御操作に対するポリシ定義情報c19を優先して判定するか否かについて判断する際に優先の[YES]を選択し、図20のステップS313、S314に進んだ場合も、デフォルト指定と同じく上記4種類の操作手法のうち、一番目、二番目、三番目のものも実施されるとともに、より効果的な操作手法が存在する場合は、操作手法を利用することが可能となる。
図20のステップS313に進むと、図16のステップS118時に把握した制御操作に対するポリシ定義情報c19を基に実施済み操作量について判定する。その後、制御操作に対するポリシ定義情報c19を改めて参照し、次操作を特定し、図20のステップS314に進む。
図19のステップS309に進むと、図16のステップS118時に把握した制御操作に対するポリシ定義情報c19を元に実施済み操作量について判定する。その後、制御操作に対するポリシ定義情報c19を改めて参照し、次操作を特定し、図19のステップS310に進む。
図16のS111における検出部73による制御偏差の条件判定で、適合しておらず(ステップS307/No)、かつ制御操作に対するポリシ定義情報c19を優先せずにデフォルト指定を優先した場合(ステップS312/No)、評価条件調整部74は、図20のステップS315に処理を進める。
ステップS315に進むと、図16のステップS118時に把握した、制御操作に対するポリシ定義情報c19を基に実施済み操作量について判定する。その後、制御操作に対するポリシ定義情報c19を改めて参照し、次操作・仮操作したサービス位置に関する情報も判定する。
デフォルト指定の場合、仮操作を施すサービスに対して通信を行うワークフローエンジンや関連する処理系に対して、その処理台数を追加することで、単位ワークフローエンジン当たりの処理サービス件数を減じることが構成上可能か否かを判断する(ステップS316)。ここで、処理台数を追加することが可能な場合(ステップS316/Yes)[YES]を選択し、図20のステップS317に進む。
仮操作を施すサービスに対して通信を行うワークフローエンジンや関連する処理系に対して、処理台数を追加することが不可能な場合(ステップS316/No)、[NO]を選択し、抑制操作に関する判断を行う(ステップS318)。抑制操作とは、上記の4種類の操作手法のうち、二番目の“制約に対する整流化による制御操作方法”に相当する。
抑制操作に関する判断において、仮操作を施すサービスに対して抑制操作を既に実施していない場合は(ステップS318/No)、まず抑制操作を優先的に実施するため、[NO]を選択し、ステップS321に進む。抑制操作はサービス実行処理系に対するメッセージ投入抑制を実施するため、メッセージの棄却等が発生せず、より安全なため、優先的に実施を試みる。
ここで、抑制操作に関する判断において、仮操作を施すサービスに対して抑制操作を既に実施している場合は(ステップS318/Yes)、これ以上の抑制操作が効果的でないと判断し、強制棄却操作を実施するため[YES]を選択し、図20のステップS319に進む。ここで、強制棄却操作とは、上記の4種類の操作手法のうち、三番目の“強制棄却による制御操作手法”に相当する。
図16のステップS111における検出部73による制御偏差の条件判定で適合しており(ステップS307/Yes)、かつ制御操作に対するポリシ定義情報c19を優先せずにデフォルト指定を優先した場合(ステップS308/No)、評価条件調整部74は、図21のステップS322に処理を進める。
ステップS322に進むと、図16のステップS118時に把握した制御操作に対するポリシ定義情報c19を基に実施済み操作量について判定する。その後、制御操作に対するポリシ定義情報c19を改めて参照し、次操作、仮操作したサービスの位置に関する情報も判定する。
ステップS322では、前述のように十二分な実施環境である。そのため、デフォルト指定の場合、仮操作を施すサービスに対して通信を行うワークフローエンジンや関連する処理系に対して、その処理台数を削減し、単位ワークフローエンジン当たりの処理サービス件数を効率化することが構成上可能か否かを判断する(ステップS323)。ここで、処理台数を削減することが可能な場合(ステップS323/Yes)、[YES]を選択し、図21のステップS324に進む。
仮操作を施すサービスに対して通信を行うワークフローエンジンや関連する処理系に対して処理台数を削減することが不可能な場合(ステップS323/No)、[NO]を選択し図21のステップS325に進む。
評価条件調整部74は、図20のステップS314において、制御操作に対するポリシ定義情報c19で指定される次操作を指定し、追加する仮操作量記述を仮制御操作一覧指定情報c21に追加する。その後、図19のステップS311に進む。
図20のステップS321において、評価条件調整部74は、仮操作を施すサービス実行処理系に対するメッセージ投入抑制を実施するため、抑制操作を指定する。その際、任意の評価関数に基づいて抑制操作に関するパラメータである抑制時間、抑制に関する比率等が決定される。その後、評価条件調整部74は、追加する仮操作量記述を仮操作一覧指定情報c21に追加する。その後、図19のステップS311に進む。
図20のステップS319において、評価条件調整部74は、仮操作を施すサービスに対して強制棄却操作を行うため、強制棄却操作を指定する。その際、任意の評価関数に基づいて、許容しうる強制棄却数等のパラメータが決定される。その後、評価条件調整部74は、追加する仮操作量記述を仮制御操作一覧指定情報c21に追加する。その後、図19のステップS311に進む。
図20のステップS320において、評価条件調整部74は、強制棄却操作によって引き起こされる補償動作に関する見積もりを行う。その後、評価条件調整部74は、追加する仮操作量記述として、追加のシミュレーション条件を仮制御操作一覧指定情報c21に追加する。その後、図19のステップS311に進む。
評価条件調整部74は、図19のステップS310において、制御操作に対するポリシ定義情報c19で指定される次操作を指定し、追加する仮操作量記述を仮制御操作一覧指定情報c21に追加する。その後、図19のステップS311に進む。
図21のステップS324において、評価条件調整部74は、仮操作を施すサービスに対して通信を行うワークフローエンジン、関連する処理系に対する処理台数削減操作を指定する。その際、任意の評価関数に基づいて処理台数が決定される。その後、評価条件調整部74は、追加する仮操作量記述を仮制御操作一覧指定情報c21に追加する。その後、図19のステップS311に進む。
図21のステップS325において、評価条件調整部74は、仮操作を施すサービス実行処理系に対するメッセージ投入抑制を変更するため、指定サービスへの到着率抑制解除操作を指定する。その際、任意の評価関数に基づいて解除操作に関する評価を行い、解除操作の内容を決定する。抑制の解除を行うことで整流化が崩れるため、ボトルネックとなっているサービスの位置が変化することが起こりうる。しかし、不必要な抑制を解除することで、仮操作を施すサービスに対して通信を行うワークフローエンジンや、関連する処理系に関する利用可能な容量を相対的に増加することができる。
その後、評価条件調整部74は、変更・解除する仮操作量記述を仮制御操作一覧指定情報c21に追加する。その後、図19のステップS311に進む。
図19のステップS311では、ステップS314、S317、S321、S319、S320、S310、S324、S325によって処理された結果、更新された仮操作サービス位置に関する情報を仮制御操作一覧指定情報c21に追加する。その後、ステップS306に進む。
図19のステップS306では、既に評価した回数がp回に達していない場合、次回目の評価を行うため、評価条件調整部74は、時刻補償を行った上で、仮制御操作一覧指定情報c21を引数に追加して、補償機能付きシミュレーション処理部71を再起動する再起動コマンドc20を送信する。これにより、図16のステップS119に相当する処理を終了させる。
その後、評価条件調整部74は、図16のステップS120として、仮制御操作一覧指定情報c21に相当する情報を、内部的に保存する。これにより、適正な操作量を決定するために、補償機能付きシミュレーション処理部71を使ってp回評価する場合、各回で追加した仮操作量の記録、及び仮操作したサービス位置の記録が取られ、図16のステップS118時に得た実施済み操作量についての指定を特定することが可能となる。
その後、評価条件調整部74は、制御条件の変更がなされていることを記すため、図16のステップS121にて制御条件変更フラグをセットする。そして、評価条件調整部74は、処理を終了する。
補償機能付きシミュレーション処理部71が、再起動コマンドc20によって再起動すると、既に引数として与えられていた「サンプリング時刻状態行列c8」、「サンプリング時刻1周期前の状態行列c9」、「全てのサービスを呼び出している要素ワークフローについて定義し、ワークフロー定義31、34、39に相当してサービス群と要素ワークフロー群との関係について定義し、定義情報一式c3に相当する定義情報一式c10」、「統合・合成されたワークフロー定義の一覧c2に相当する統合・合成されたワークフロー定義の一式c11」を継承し、さらに仮制御操作一覧指定情報c21が参照されることになる。
さらに、補償機能付きシミュレーション処理部71は、必要に応じて仮制御操作一覧指定情報c21の参照先情報であり、ポリシ記述管理部75が管理する制御操作に対するポリシ定義情報c13を得る。
補償機能付きシミュレーション処理部71は、その後、統合・合成されたワークフロー定義の一覧c2に相当する統合・合成されたワークフロー定義の一式c11に基づいて、全ての統合・合成されたワークフロー定義に対して、図16のステップS122を実施する。
この結果、下記式(19)で表される行列式を得る。これは、補償された時刻t+Δtに対してスカラ量を持つ全ての可観測(厳密には「可計測」)な選択パラメータ集合を構成し可観測である全てのサービス集合(上記記号(A))に対して行列表現した式γ(I,s)(t+Δt1)に対してあるポリシに従って作為変動させ、上記式(6)と同一の非線形写像を通して求められ、全ての評価パラメータ集合(スカラ量)、全てのプロセス定義集合(上記記号(I))の要素に対して、実数推定値を持つことを意味する。その場合、時刻補償値は、図20で後述するように変化するため、時刻t+Δt2となる。なお、識別子Cは、制御操作後の評価を意味する。
Figure 0005212381
その後、仮制御操作一覧指定情報c21に基づき、新たに計算された「統合・合成されたワークフロー定義の一式c11ごとに対する合意サービス水準に関するパラメータ群」を意味するベクトル値群c14を再評価する目的で、ベクトル値群c14を引数・入力として検出部73を起動するための再起動コマンドc15を再送信する(ステップS123/Yes)。
検出部73は、起動後の初期化処理にて、複数サービス利用者ごとに取り決められた「合意サービス水準に関する目標値群のベクトル値群c16」を、前回と同様に目標状態ベクトル値管理部72から事前に読み込んでいる。そして、前回と同様に、新たな制御偏差行列を計算し、新規制御偏差に基づき、制御条件を判定する。これは、図16のステップS111に戻されるループに相当する。
検出部73は、仮制御操作一覧指定情報c21に基づく制御条件を判定した結果、制御偏差を満足し、制御条件の変更がなされている場合は(ステップS113/Yes)、評価条件調整部74を起動する代わりに、調整操作部76を起動する。図13では、調整操作部76を起動するために、検出部73は、起動コマンドc18を送信する。この場合、図16では[YES{制御条件変更フラグセット}]という形で指定される。
調整操作部76は、起動後、各種制御装置部群に実際の操作量を指示するため、評価条件調整部74が内部保存している仮制御操作一覧指定情報c21に相当する仮制御操作一覧指定情報c22を読み出し、仮制御操作一覧指定情報c22を確定し、実際の操作量を扱う制御メッセージ等に変換した後で送信する。これは、図16のステップS124に相当する。
その後、調整制御部76は、一連の制御操作を終了したため、図16のステップS125によって制御条件変更フラグをリセットし、初期状態に戻す。そして、調整操作部76は、処理を終了する。
その後、各種制御装置部群は、制御メッセージを受信すると、図16のステップS126にて、実際の制御操作を実行する。
制御メッセージの具体例として、図20のステップS321において指定される抑制操作の場合、操作プロキシ48内の投入抑制部51に対して送信される制御メッセージc52、又は、プロキシ部35内の投入抑制部57に対して送信される制御メッセージc56等がある。制御メッセージc52、c56では、抑制する処理要求メッセージ群、処理応答メッセージ群の種類の指定、抑制の定量的な程度を表現するメトリクス等が指定され、これを受けて実際の制御操作が実施される。
制御メッセージの別の具体例として、図20のステップS319において指定される強制棄却操作の場合、操作プロキシ48内の強制棄却部50に対して送信される制御メッセージc51、又は、プロキシ部35内の強制棄却部56に対して送信される制御メッセージc55などがある。
制御メッセージc51、c55は、棄却する処理要求メッセージ群、処理応答メッセージ群の種類の指定、棄却率等の定量的な程度を表現するメトリクス等が指定され、これを受けて実際の制御操作が実施される。
さらに、制御メッセージの別の具体例として、図20のステップS317において指定されるワークフローエンジン、関連する処理系に対する処理台数加減操作の場合、ワークフローシステム1の環境に対して、送信される制御メッセージc50がある。
その結果、ワークフローシステムの環境は、制御メッセージc50を受信すると、ワークフローエンジン29、29’の起動・停止について評価し、必要に応じてワークフローエンジン29を起動・停止、処理内容の変更等の制御を行う制御コマンドc53を送信するとともに、同様にワークフローエンジン29’を起動・停止、処理内容の変更等の制御を行う制御コマンドc54も送信する。
その後、合意サービス水準に基づくサービス提供品質制御装置の処理は、図15のステップS101直後に戻される。そして、この1周期はデジタル制御の1サンプリング周期内で実施される。
〈最適実施例の自律調整時の動作説明〉
図13において、起動制御部69は、補償機能付きシミュレーション処理部71が指定時点で複数サービス利用者ごとに取り決めた合意サービス水準に関する状態についてのベクトル値群を推定・評価する段階で参照する固定的なパラメータ値群を正しく維持できるように、自律調整の一つである長期補償処理を起動する。
起動制御部69は、長期補償処理のため、計測状態ベクトル値処理部77を起動する起動コマンドc23を送信する。図15のステップS104が終了したことを受けて実行される図15のステップS401に相当する動作である。この動作は図13の動作とは並行して行われる動作である。なお、手順21は、全てのサンプリング周期に従って起動されるとは限らず、複数サンプリング周期に1度の起動も考えられる。
図13において、計測状態ベクトル値処理部77は、補償機能付きシミュレーション処理部71が推定・評価した合意サービス水準に関する状態についてのベクトル値群に相当する実測のベクトル値群を、イベント・統計格納DB65に格納されている全てのイベントデータ、又は任意の有効なイベントデータから遡って計算する。
以上のような処理を行うために、計測状態ベクトル値処理部77は、起動コマンドc23を受信すると、メタデータ管理部66がメモリ上に管理している統合・合成されたワークフロー定義の一覧c24と、一覧c24の各々を生成するための元情報となった全てのワークフロー定義・サービス定義の定義情報一式c25を入手する。
さらに計測状態ベクトル値処理部77は、パフォーマンスデータ管理部68がメモリ上で管理している複数のパラメータ群に関する現在の値、及び累積値・平均値等を得る。例えば、現時点のパラメータ1の算出結果及び現時点までのパラメータ1の累積値・平均値c26、現時点のパラメータ2の検出結果及び現時点までのパラメータ2の累積値・平均値c27である。
さらに、計測状態ベクトル値処理部77は、統合・合成されたワークフロー定義の一覧c24と、一覧c24の各々を生成するための元情報となった全てのワークフロー定義・サービス定義の定義情報一式c25とを元にして、イベント・統計格納DB65に検索をかけ、関連する全てのイベントデータc85を入手し、これを遡って統合・合成されたワークフロー定義の一覧c24相当のパラメータ群を計算した後、合意サービス水準に関する状態に関する実測ベクトル値群c86に変換する。
合意サービス水準に関する状態に関する実測ベクトル値群c86は、補償機能付きシミュレーション処理部71が推定・評価する指定時点の複数サービス利用者ごとに取り決めた合意サービス水準に関する状態についてのベクトル値群とは異なり、別の任意の方法で求めた実測のベクトル値群を意味する。
その後、計測状態ベクトル値処理部77は、合意サービス水準に関する状態に関する実測ベクトル値群c86を自ら記録・保持する。図17ではステップS402に相当する。
その後、計測状態ベクトル値処理部77は、長期補償検出部78を起動する起動コマンドc28を送信する。起動の際には、実測ベクトル値群c86相当の情報が引数、実測ベクトル値群c29として渡される。これは、図17ではステップS403に相当する。
長期補償検出部78は、計測状態ベクトル値処理部77が管理する合意サービス水準に関する状態に関する実測ベクトル値群c86相当の実測ベクトル値群c29と、バッファ部79に保持され、補償機能付きシミュレーション処理部71が推定・評価した、複数サービス利用者ごとに取り決められた合意サービス水準に関する状態についてのベクトル値群と比較する。
長期補償検出部78は、バッファ部79から合意サービス水準に関するパラメータを意味するベクトル値群c30を入手する。ベクトル値群c30は、統合・合成されたワークフロー定義の一式c11ごとに対する合意サービス水準に関するパラメータ群を意味するベクトル値群c14’と同一の内容を持つ。これは、図17では、図13のステップS110が完了したことを受けて実行されるステップS404に相当する。
その後、長期補償検出部78は、実測ベクトル値群c29と、合意サービス水準に関するパラメータ群を意味するベクトル値群c30とを比較する。その結果、ポリシ記述管理部75にて管理され、4種類の操作手法を含んだ任意の評価関数と記録される制御操作に対するポリシ定義情報c19の同定パラメータや、補償の条件式等に、経時変化等による誤差が認められる場合は、ポリシ記述更新コマンドc31や補償条件更新コマンドc32をポリシ記述管理部75に送信する。
これは、上記式(18)指定される1次結合の際の重み付けパラメータ等である。
ポリシ記述管理部75は、ポリシ記述更新コマンドc31や補償条件式更新コマンドc32を受信すると、制御操作に対するポリシ定義情報c19の同定パラメータや補償の条件式等を更新維持する。これにより、補償機能付きシミュレーション処理部71の推定・評価は一定の精度を維持することが可能となる。これは、図17ではステップS405に相当する。
以上により、起動制御部69が起動し、長期補償検出部78によって実施された長期補償処理は終了する。
〈最適実施例の初期設定時、及び設定時の動作説明〉
図12、13を用いて、本実施形態に係る合意サービス水準に基づくサービス提供品質制御装置の初期設定時、設定時の動作を具体的に説明する。
モニタシステム5には、サービス提供品質制御装置を運用する際に参照される各種実行条件、各種パラメータ値群を管理している実施条件指定部80が設けられている。実施条件指定部80では、起動制御部69がデジタル制御を行うためにサンプリング周期等の一連のパラメータ等や、アドレス情報等が管理される。
管理コンソール81を用いて、実施条件指定部80が管理するパラメータを更新する場合は、実施条件指定部80に対して、起動コマンドc65が送信され、更新する旨のコマンド内容と更新するべきパラメータ名群とパラメータ値群c66等とが指定される。更新の結果は、実施条件指定部80で管理され、管理コンソール81に表示される。
管理コンソール81を用いて、実施条件指定部80の管理するパラメータを確認する場合は、実施条件指定部80に対して起動コマンドc65が送信され、検索する旨のコマンド内容と検索するパラメータ名群やその応答形式を指定した情報c67とが指定される。検索の結果は、管理コンソール81に表示される。
サービス提供品質制御装置によって実現されるべき、複数サービス利用者ごとに取り決めた合意サービス水準に関する目標値群は、目標状態ベクトル値管理部72にてベクトル値群で管理される。これは、通常SLAと称されるものの一部である。
合意サービス水準に関する目標値群のベクトル値群は、合意サービス水準に関する目標値群のベクトル値群c16と等価の構造をもち、大きく三つの部分から構成される。
一番目は、合意サービス水準に関する目標値群のベクトル値群そのもの、二番目は、相対優先度に関する情報に相当するもの、三番目は、合意サービス水準に関する目標値群のベクトル値群を構成するパラメータ値群間の相対情報に相当するものである。
管理コンソール81を用いて、目標状態ベクトル値管理部72の管理するパラメータを更新する場合は、目標状態ベクトル値管理部72に対して、起動コマンドをc64が送信される。更新の結果は目標状態ベクトル値管理部72に管理され、管理コンソール81に表示される。
起動コマンドc64は引数として、合意サービス水準に関する目標値群のベクトル値群c63、その特定情報c87等を含む。この場合、特定情報c87は、メタデータ管理部66が管理する統合・合成されたワークフロー定義m73や、これを生成するための元情報となった全てのワークフロー定義・サービス定義情報に相当する。
さらに、起動コマンドc64の引数としては、特定情報c87に関連付けられ、特定情報c87が指し示す統合・合成されたワークフローや、他ワークフロー・他サービスに関する相対優先度に関する情報c62、及び、特定情報c87に関連付けられ合意サービス水準に関する目標値群のベクトル値群c63を構成するパラメータ値群間の相対情報c88が存在する。
管理コンソール81を用いて、目標状態ベクトル管理部72の管理するパラメータを検索する場合は、目標状態ベクトル値管理部72に対して起動コマンドc89が送信される。
起動コマンドc89は、特定情報c87やその応答形式を指定した情報c90を引数として含む。検索の結果は管理コンソール81に表示される。
サービス提供品質制御装置によって実現されるべき制御内容は、ポリシ記述管理部75にて管理され、4種類の操作手法を含んで構成される。ポリシ記述管理部75では、制御操作に対するポリシ定義情報c19として定義され、同定パラメータや補償の条件式等で表現される。サービス提供品質制御装置の初期制御データについては、外部から指定する必要がある。
管理コンソール81を用いて、ポリシ記述管理部75にて管理される初期制御データを更新する場合は、ポリシ記述管理部75に対して、起動コマンドc60が送信される。起動コマンドc60には、指定パラメータ値群c61が引数として含まれる。更新の結果は、ポリシ記述管理部75で管理され、管理コンソール81に表示される。
〈制御方法の説明〉
本実施形態に係る合意サービス水準に基づくサービス提供品質制御を実現するため制御方法を実行する機能モジュール構成を図23に示す。
制御方法を実行する機能モジュールとして、サービス提供品質、または複数サービス利用者ごとに取り決めた合意サービス水準等の制御対象200、実際に決められた操作を実施することで制御対象200に対して制御・維持を働きかける制御装置部223、単位時間当たりのメッセージ流通量等の制御対象200に関する物理現象のうち、シミュレーションを利用して推定せずに統計処理のみで計測できる物理現象を表現する各種計測統計量群を算出する計測統計量データ計算部203、物理現象を意味するイベントに関する形式的な意味等を管理するメタデータ管理部201、発生する全てのイベントを関連づけて管理する計測制御量データ管理部204、計測統計量群を算出した後、その算出結果を後続計算で利用するため管理するパフォーマンスデータ管理部202を含む。
さらに、制御方法を実行する機能モジュールとして、デジタル制御を行うためにサンプリング周期を指定して、種々のモジュールを起動する起動制御部205、制御対象200に対する任意時点の状態推定のため、パフォーマンスデータ管理部202から各種情報を入手し、デジタル制御のサンプリング周期で直前に計測された計測統計量群から成るベクトル値群を現状態ベクトル値207、及び1サンプリング周期以前に計測された計測統計量から成るベクトル値群を履歴状態ベクトル値208として算出・保持する状態観測部206を含む。
さらに、制御方法を実行する機能モジュールとして、制御対象200の制御目標に関する目標値群をベクトル値群で表現する目標状態ベクトル値216、及び現状態ベクトル値207、履歴状態ベクトル値208や、後述する各種制御装置部223に与えるべき操作量を仮決めした後、それらを元に制御対象200に関する任意時点の状態推定・評価を行う補償機能付きシミュレーション処理部211、補償機能付きシミュレーション処理部211が推定する制御対象200の任意時点の状態に関する推定状態ベクトル値215と、推定状態ベクトル値215と目標状態ベクトル値216とを比較して制御偏差を求め、判断実施する検出部217も含む。
さらに、制御方法を実行する機能モジュールとして、制御偏差が制御操作を必要とする場合、制御装置部223に与えるべき制御操作量を随時仮決めし、候補操作ベクトル量221として一時的に保存するとともに、これから変更条件ベクトル値212を計算し、改めて補償機能付きシミュレーション処理部211を使って許容指定回数まで推定・評価し、制御偏差が制御操作を必要としない水準まで、制御操作量の指定調整を行う評価条件調整部218と、評価条件調整部218が制御操作量を仮決めする際に参照されるポリシ記述部219とを含む。
さらに、制御方法を実行する機能モジュールとして、検出部217が求める制御偏差が制御操作を必要としない状況にある場合に、仮決めした制御操作量である候補操作ベクトル量221を最終的な制御操作量である確定操作ベクトル222に変換する調整操作部220を含む。
さらに、制御方法を実行する機能モジュールとして、補償機能付きシミュレーション処理部211が指定時点で精度良く制御対象に関する状態推定・評価できるように推定段階で参照される補償条件210と、ポリシ記述部219等を適切に維持できるように、制御対象の状態ベクトル値に相当する実測ベクトル値群を過去に遡って、全てのイベントから検算し、計測状態ベクトル213を算出する計測状態ベクトル値処理部209と、計測状態ベクトル213を元に、補償条件210やポリシ記述部219を更新、維持する長期補償検出部214とを含む。
この制御方法を実行する機能モジュールを、さらに大きな機能モジュールと定義する場合は、計測器224、状態推定器225、調整器226、制御器227、長期補償器228に分類される。計測器224には、メタデータ管理部201、パフォーマンスデータ管理部202、計測統計量データ計算部203、及び計測制御量データ管理部204がそれぞれ一つの機能モジュールとして分類される。
状態推定器225には、起動制御部205、状態観測部206、現状態ベクトル値207、履歴状態ベクトル値208、補償機能付きシミュレーション処理部211の一部の機能、補償条件210が含まれる。
調整器226には、補償機能付きシミュレーション処理部211の一部の機能、補償条件210、推定状態ベクトル215、目標状態ベクトル216、検出部217、変更条件ベクトル212、評価条件調整部218、ポリシ記述部219が含まれる。
制御器227には、制御装置部223、候補操作ベクトル221、確定操作ベクトル222、調整操作部220が含まれる。
長期補償器228には、計測状態ベクトル213、計測状態ベクトル値処理部209、補償条件210、長期補償検出部214、推定状態ベクトル値215が含まれる。
メタデータ管理部201は、図13でのモニタシステム5内のメタデータ管理部66に相当する。
パフォーマンスデータ管理部202は、図13でのモニタシステム5内のパフォーマンスデータ管理部68に相当する。
計測統計量データ計算部203は、図13でのモニタシステム5内の計測統計量データ計算部67に相当する。
計測統計量データ管理部204は、図13でのモニタシステム5内の計測制御量データ管理部64に相当する。
起動制御部205は、図13でのモニタシステム5内の起動制御部69に相当する。
状態観測部206は、図13でのモニタシステム5内の状態観測部70に相当する。
現状態ベクトル値207は、図13のモニタシステム5内のサンプリング時刻状態行列c8に相当する。
履歴状態ベクトル値208は、図13のモニタシステム5内のサンプリング時刻1周期前の状態行列c9に相当する。
補償機能付きシミュレーション処理部211は、図13でのモニタシステム5内の補償機能付きシミュレーション処理部71に相当する。
補償条件210は、図13のモニタシステム5内の同名の補償機能付きシミュレーション処理部71が利用するもので、図13では特に明示的に定義はされていない。
推定状態ベクトル値215は、図13のモニタシステム5内のベクトル値群c14に相当する。
目標状態ベクトル値216は、図13のモニタシステム5内の目標状態ベクトル値管理部72の管理する複数サービス利用者ごとに取り決められた合意サービス水準に関する目標値群のベクトル群c16に相当する。
検出部217は、図13でのモニタシステム5内の検出部73に相当する。
変更条件ベクトル値212は、図13のモニタシステム5内の評価条件調整部74が扱う仮操作量記述の仮制御操作一覧指定情報c21の一部に相当する。
評価条件調整部218は、図13でのモニタシステム5内の評価条件調整部74に相当する。
ポリシ記述部219は、図13のモニタシステム5内のポリシ記述管理部75が管理し、評価条件調整部74が操作量を仮決めする際に参照するポリシ等に相当する。
制御装置部223は、図13でのProxyシステム4内の強制棄却部56や、投入抑制部57に相当する。
候補操作ベクトル量221は、図13のモニタシステム5内の評価条件調整部74が扱う仮制御操作一覧指定情報c22に相当する。
確定操作ベクトル量222は、図13のモニタシステム5内の評価条件調整部74が扱う仮制御操作一覧指定情報c22に相当する。
調整操作部220は、図13のモニタシステム5内の調整操作部76に相当する。
計測状態ベクトル値213は、図13のモニタシステム5内の実測ベクトル値群c29に相当する。
計測状態ベクトル値処理部209は、図13のモニタシステム5内の計測状態ベクトル値処理部77に相当する。
長期補償検出部214は、図13のモニタシステム5内の長期補償検出部78に相当する。
各機能モジュールの動作について説明する。
計測制御量データ管理部204は、制御対象200に関する物理現象のうち、シミュレーションを利用して推定せずに、統計処理のみで計測できる物理事象を意味するイベントを時刻とともにスカラ量として、かつ、任意のコンテキストに従って関連づけてイベント情報i30として取り込む。
計測統計量データ計算部203は、制御対象200に関する物理事象のうち、シミュレーションを利用して推定せずに、統計処理のみで計測できる物理事象を表現する各種計測統計量群を算出する。算出は、メタデータ管理部201が管理する物理事象を意味するイベントが所属するカテゴリ単位で実施される。図13の場合は、これがサービス定義ごととなる。
計測統計量計算部203は、カテゴリ単位ごとに計測統計量群を求める。このため、メタデータ管理部201からカテゴリ単位や、制御対象200で扱う管理単位に関する形式的な意味の情報i3を入手する。これらの情報はベクトル値の次元数に相当する。また、情報i4は、図13では統合・合成されたワークフロー定義一覧m75と、これを生成するための元情報となった全てのワークフロー定義・サービス定義m76に相当する。
その後、計測統計量データ計算部203は、情報i4に相当する形式的な意味等の情報i3ごとに管理されているイベントを関係付けて管理する計測統計量データ管理部204から、イベントに関するデータi1を取り出し、計測統計量群として定義されるパラメータ群として定義されるパラメータ群i2を順次算出する。イベントに関するデータi1は、図13での算出対象に関係するイベントのデータ一覧m72に相当する。
その後、算出された計測統計量群として定義されるパラメータ群i2は、パフォーマンスデータ管理部202に渡される。算出された計測統計量群として定義されるパラメータ群i2は、図13での更新要求m77に相当する。この処理は、計測統計量群を構成・定義するパラメータ数分だけ実施され、時刻を含めて管理される。
状態観測部206は、起動制御部205からサンプリング周期に応じた起動要求i9を受けると、パフォーマンスデータ管理部202が管理している複数の計測統計量を構成・定義するパラメータ群に関する現在の値、及び累積値・平均値等i6を得る。起動要求i9は、図13では起動要求c1に相当し、パラメータ群に関する現在の値及び累積値・平均値等i6は、図13では算出結果c4等に相当する。
さらに、状態観測部206は、メタデータ管理部201からカテゴリ単位や、制御対象200で扱う管理単位に関する形式的な意味等を情報i5を得る。情報i5は、図13では統合・合成されたワークフロー定義の一覧c2と、一覧c2の各々を生成するための元情報となった全てのワークフロー定義・サービス定義の定義情報一式c3に相当する。
その後、パラメータ群に関する現在の値、及び累積値・平均値等i6をカテゴリ単位ごとに集計し、カテゴリ単位ごとに計測統計量群から成るベクトル値群を算出し、ベクトル値群を全てのカテゴリ単位で序列化した行列を上記式(5)のように定義する。
そして、サンプリングした時間周期で直前に計測された計測統計量群から成る現状態ベクトル値207と同値の現状状態ベクトル値i7、及び1サンプリング周期以前に計測された計測統計量群から成る履歴状態ベクトル208と同値の履歴状態ベクトル値i8を生成・保持する。
その後、状態観測部206は、現状態ベクトル値207と同値の現状状態ベクトル値i11、履歴状態ベクトル値208と同値の履歴状態ベクトル値i12と、カテゴリ単位や制御対象200で扱う管理単位に関する形式的な意味等の情報i5と等価な情報i10を引数・入力として、補償機能付きシミュレーション処理部211を起動する。情報i10は、図13の起動コマンドc12の引数に相当する。
補償機能付きシミュレーション処理部211は、補償条件210の設定定常値i13を参照し、フィードフォーワードに伴う推定のための手続き、シミュレーションにともなう演算時間遅れ補償を含み、規定回数以内でシミュレーションを実行し、推定値i14を計算し、制御対象200の任意時点の状態に関する推定状態ベクトル値215を生成する。これは図13での合意サービス水準に関するパラメータ群を意味するベクトル値群c14に相当する。
補償機能付きシミュレーション処理部211は、シミュレーションに伴う演算時間遅れ補償、及びフィードフォーワードに伴う推定のための計算を行う。図22に、時間軸に対する処理の振る舞いを概念的に示す。
図22の横軸250は、可観測な実数実連続時間を意味し、実数変数tで表現される。これに対して、曲線251は、制御対象200の状態を示す可観測な実数実連続時間tに対するベクトル関数のうち、任意の一成分を取り出したスカラ関数の記すスカラ量遷移の軌跡である。
期間253は、デジタル制御のサンプリング周期を意味し、定数Tで定義される。時刻252は、サンプリング周期Tに対して変数qで表現されるq回目のサンプリング時刻を表す時刻値であり、下記式(20)で表される。これに対して時刻254は、(q+1)回目のサンプリング時刻を表す時刻値であり、下記式(21)で表される。
t(q+1)=t+T(q−1) ・・・(20)
t(q)=t+Tq ・・・(21)
時刻255は、平均の計測評価時間を意味し、補償機能付きシミュレーション処理部211を使って制御操作に関する条件を算出するのに要する平均時間コストを意味する。これを定数T (ave)で表現する。これに対して、制御操作期間を定数f¢で表現する。定数f¢は0であることが好ましい。時刻256は、通常、平均の計測期間と制御操作期間の和を表し、下記式(22)で表される。
Δ+T (ave) ・・・(22)
本実施形態においては、補償機能付きシミュレーション処理部211は、推定のための計算は1サンプリング周期に対して任意の2p回を総数として実施する。
この場合、定数pとは、検出部217を使って補償機能付きシミュレーション処理部211が推定する制御対象200の任意時点での状態に関する推定状態ベクトル215と、推定状態ベクトル215と目標状態ベクトル216とを比較して制御偏差を求め、判断するための最大ループ回数とに相当する。
この制御方式で検出部217を使って最大p回の制御偏差を算出、判断するのは、制御対象200の任意時点の状態が、例えば非線形性を持ち簡単には定式化されないため、推定値算出が極めて難しく、ある程度のポリシを持つものの、制御操作について試行錯誤を許容することを前提としているためである。
検出部217による判断の結果、p回までに制御偏差の判断条件を満足できない場合もある。この場合、時刻256は、最大許容計測評価期間を意味することになり、補償機能付きシミュレーション処理部211を規定回数実施しうるのに許容できる限界時間を意味する。これを定数T (max)で表現すると、時刻256は下記式(23)で表される。
t=t+T(q−1)+T (max) ・・・(23)
この制御方式では、補償機能付きシミュレーション処理部211のような計算量を要する構成モジュールが存在する。このため演算時間遅れに対して、なんらかの補正を行う必要がある。これを「演算時間遅れ補償」と称する。これは、二つの点で重要である。
一つは、定数pの設定条件であり、定数pが成立するためには、演算時間遅れを考慮して上限を設ける必要がある。補償機能付きシミュレーション処理部211、検出部217、評価条件調整部218の全てを含んだ平均演算時間を定数Tとした場合、下記式(24)が成立するように定数pが設定される必要がある。
(ave)/2p<T ・・・(24)
もう一つは、検出部217を使って制御偏差を算出・判断するため、補償機能付きシミュレーション処理部211が起動する時刻についても時間補償を行う必要がある。補償機能付きシミュレーション処理部211の演算コストの影響が大きいほど重要となってくる。
このため、本実施形態の制御方式では、平均計測評価期間T (ave)を、補償機能付きシミュレーション処理部211による推定計算総数2pで分割した時間を単位時間として定義する。1回目の単位時間258は下記式(25)で表される。
t=t+T(q−1)+T (max)/2p ・・・(25)
この制御方式では、補償機能付きシミュレーション処理部211による推定計算総数2pのうち、前半のp回では連続的に推定計算を実施し、後半のp回で評価条件調整部218が制御操作量を仮設定する時刻時点の制御対象200に関する状態推定の計算を行う。
これに対して後半のp回では、前半のp回で推定計算した指定時点の制御対象200に関する状態を入力として、評価条件調整部218が制御操作量を仮設定した状況下の、制御対象200に関する状態を推定計算する。
具体的には、下記式(26)で計算される時刻259において、t=t+T(q−2)t+T(q−1)時点の上記式(5)の行列値(K)、(L)をもとに、線形外挿を用いて補償し、補償機能付きシミュレーション処理部211を用いて下記式(27)で表現される値を推定する。なお、表示形式(Z)は推定値を意味する。
t=t+T(q−1)+T (ave)/2p ・・・(26)
Figure 0005212381
Figure 0005212381
また、下記式(28)で計算される時刻260において、上記式(5)のもとに、線形外挿を用いて補償し、補償機能付きシミュレーション処理部211を用いて、下記式(29)で表される値を推定する。なお、表示形式(Z)は、シミュレーション時間を補償した補償時刻Δtにおける推定値を意味する。
t=t+T(q−1)+T (ave)/p ・・・(28)
Figure 0005212381
一般には式(30)で計算される時刻において、上記式(5)をもとに線形外挿を用いて補償し、補償機能付きシミュレーション処理部211を用いて下記式(31)で表される値を推定する。なお、上記表示形式(Z)は、シミュレーション時間を補償した補償時刻Δtにおける推定値を意味する。
t=t+T(q−1)+r・T (ave)/2p ・・・(30)
Figure 0005212381
また、下記式(32)で計算される時刻261において、上記式(26)で計算される時刻259で推定した上記式(27)をもとに、検出部217が判断し、上記式(12)、式(17)、式(18)を用いて制御するべきサービスを判定した上、評価条件調整部218が制御操作量を仮決めし、補償機能付きシミュレーション処理部211を用いて下記式(33)を再推定する。なお、上記表示形式(Z)は、シミュレーション時間を補償した補償時刻Δtにおける推定値を意味し、識別子Cは制御操作後の評価を意味する。
Figure 0005212381
その後、上記式(12)と同型で制御操作御の評価を意味し、下記記号(M)であらわされる制御偏差を評価する。制御偏差の全ての成分が負となる場合は制御する必要はない。異なる場合は、下記式(34)を実施し、次の制御操作量を評価する。
Figure 0005212381
q←q+1 ・・・(34)
一般に、下記式(35)で表される時刻で推定した下記式(36)をもとに検出部217が判断し、上記式(12)、式(17)、式(18)を用いて制御するべきサービスを判定した上、評価条件調整部218が制御操作量を仮決めし、補償機能付きシミュレーション処理部211を用いて下記式(37)で再推定する。なお、表示形式(J)は、シミュレーション時間を補償した補償時刻Δtにおける推定値を意味し、識別子Cは制御操作後の評価を意味する。
Figure 0005212381
その後、上記式(12)と同型で制御操作後の評価を意味する制御偏差(表示形式(M))を評価する。制御偏差の全ての成分が負となる場合は制御する必要はない。
図20での過渡現象について説明する。通常、制御対象に制御操作を実施しても、即座に望ましい状態になるとは限らない。このため、時間に対して過渡現象が発生する。制御操作を実行してからスカラ関数で示すスカラ量遷移が安定するまでを過渡期間と呼ぶ。これは、制御対象200でも同様であり、過渡期間を定数τで表現する。時刻257は、過渡現象安定化までのみなし時刻を意味し、下記式(38)で表される。
t=t+T(q−1)+T (max)+τ ・・・(38)
上記式(25)から式(37)の各式を算出する処理は、図15ではステップS108に相当する。上記式(6)と同型の式にて表現されるが、時間補償値となる。
その後、補償機能付きシミュレーション処理部211は、図15のステップS107、S108相当の処理について、全回数繰り返し実施する。なお、図22に示すとおり、制御対象200の任意時点の状態に関する推定状態ベクトル値215は、補償条件210の設定定常値i13に応じて値が変わってくる。
補償機能付きシミュレーション処理部211は、推定状態ベクトル215を評価する目的で、検出部217を起動する。その際の引数・入力は図13では再起動コマンドc15の引数に相当する。
検出部217は、制御対象200で扱う管理単位ごとに定義される目標状態ベクトル値216を事前に保持する。検出部217は、優先度の固有値を事前に計算している。
その後、検出部217は、目標値群のベクトル値群216と同値なベクトル値i17と、推定状態ベクトル値215と同値なベクトル値i16とからシミュレーション時間の補償を実施した形で、制御偏差行列を推定計算する。
検出部217は、制御偏差に基づいて制御条件を判定する。この判定基準はいくつか存在しうる。制御条件を判定した結果制御偏差が満足できるものでない場合は、評価条件調整部218を起動する。
評価条件調整部218の起動においては、制御偏差行列のシミュレーション時間の補償の推定値等の必要情報は引数i18で渡される。また、評価条件調整部218の起動に先立ち、1回の制御のサンプリング周期内で、補償機能付きシミュレーション処理部211を規定回数以上実施しているか否かを判定する。引数i18は、図13では起動コマンドc17の引数に相当する。
上記判定の結果、既に規定回数のp以上実施している場合は、操作失敗と見なす。操作失敗時の挙動についてはここでは規定しない。
これに対して、補償機能付きシミュレーション処理部211を規定回数以上実施していない場合、補償機能付きシミュレーション処理部211が起動される。その際、評価条件調整部218は、ポリシ記述部219を元に制御操作量を仮決めする。
制御操作量を仮決めするにあたっては、複数の制御装置群の中から制御候補とする制御装置部223を選択する方法と、操作方法の内容について選択する方法とが重要となる。
複数の制御装置部群の中から、制御候補とする制御装置部223を選択する方法については、例えば、制御偏差値を並び替え、制御対象200で扱う管理単位のうち最も大きな制御偏差値に関係した管理単位を扱う制御装置部223を選択することが一例として挙げられる。ただし、これ以外の方法も適用可能である。
さらに、操作方法の内容について選択する方法では、制御操作量そのものの種類と大きさとを決定する方法が重要となる。制御操作量そのものの種類は、ポリシ記述部219に記載され、主に四つの方法から選択される。
一番目は、制御対象200で扱う管理単位のうち、最も大きな制御偏差値に関係した管理単位を移動させるか、又は制御偏差値を現象させることにより、その管理単位に関係する物理事象の処理能力を局所的に強化することである。これは、上記の“資源操作による制御操作手法”に相当する。
二番目は、制御対象200で扱う管理単位のうち、最も大きな制御偏差値に関係した管理単位を移動させることによって、その管理単位以外の管理単位に関係する物理事象の処理能力を平滑化し、制御対象200に関する物理事象の処理能力を全体的に向上させる方法である。これは、上記の“制約に対する整流化による制御操作手法”に相当する。
三番目は、制御対象200に関する物理事象が許容できる以上の発生が確認される場合に、制御対象200で扱う管理単位のうち、最も大きな制御偏差値を減少させることによって、制御対象200に関する物理事象を強制的に一部放棄し、処理能力を許容できる程度に保つ方法である。これは、上記の“強制棄却による制御操作手法”に相当する。
四番目は、制御対象200で扱う管理単位のうち、最も大きな制御偏差値に関係した管理単位を移動させるか、または制御偏差値を減少させることによって、その管理単位に関係する処理手順を変更し、物理事象の処理能力を時間的に分散化させることである。これは、上記の“再編成による制御操作手法”に相当する。
制御操作量の手続の例は、図18の手順に相当する。また、仮決めされた制御操作量は全て候補操作ベクトル221として保持するため、更新情報i23によって最新のものが記録される。
更新情報i23は、補償機能付きシミュレーション処理部211を規定回数まで繰り返して呼び出すたびに、その指定内容を追加し、厳しくしていく。
仮決めされた制御操作量はi21として算出され、その後、評価条件調整部218は変更条件ベクトル値212を生成する。その後、変更条件ベクトル212を参照させるように、引数i19で参照先を指定し、補償機能付きシミュレーション処理部211を再起動する。
再起動した結果、補償機能付きシミュレーション処理部211は、変更条件ベクトル値212から同値のベクトル値i22を参照し、シミュレーション時間を補償した補償時刻時点での制御操作後の制御対象200の状態に関する推定状態ベクトル値215を再計算する。
検出部217は、再度起動され、再計算された制御偏差に基づき、制御条件を判定する。制御条件の判定の結果、制御偏差が満足するものであり、制御条件の変更がなされている場合は、評価条件調整部218を起動する代わりに調整操作部220を起動する。その際の必要情報は引数i24で渡される。引数i24は、図13では起動コマンドc18の引数に相当する。
調整操作部220は、起動後、各種制御装置部群に実際の操作量を指示するため、候補操作ベクトル量221からベクトル値i25を得る。その後、調整操作部220は、ベクトル値i25から最終的な制御操作量である確定操作ベクトル量222と同値なベクトル値i26に変換する。そして、必要情報を引数i27として制御装置部223を起動する。
制御装置部223は、通常、複数存在しており、確定操作ベクトル量222から必要なスカラ量、又はベクトル値i28を取り出し、各制御操作を実施する。各制御装置部223の制御操作量i29に応じて、制御対象200が制御され、所望の状態を得る。
必要なスカラ値又はベクトル値i28は、図12では操作プロキシ48内の強制棄却部50に対して送信される制御メッセージc51、又はプロキシ部35内の強制棄却部56に対して送信される制御メッセージc55となる。
起動制御部205は、補償機能付きシミュレーション処理部211が指定時点で精度良く制御対象に関する状態推定・評価できるように、推定段階で参照される補償条件210、ポリシ記述部219等に適切に維持できるように計測状態ベクトル値処理部209を指定時間周期で起動する。その際に必要な引数はi33で渡される。
計測状態ベクトル値処理部209は、起動すると、パフォーマンスデータ管理部202が管理している複数の計測統計量群を構成・定義するパラメータ群に関する現在の値、及び累積値・平均値等i31を得る。さらに、計測状態ベクトル値処理部209は、メタデータ管理部201からカテゴリ単位や制御対象200で扱う管理単位に関する形式的な意味等の情報i32を得る。
その後、計測状態ベクトル値処理部209は、制御対象200の状態ベクトル値に相当する実測ベクトル値群を過去に遡って全てのイベントから検算し、計測状態ベクトル213と同値のベクトル値i34を算出する。その後、計測状態ベクトル値213を生成する。
その後、計測状態ベクトル値処理部209は、長期補償検出部214を起動する。その際に必要な引数はi36で渡される。長期補償検出部214は、計測状態ベクトル213と同値のベクトル値i34と、補償機能付きシミュレーション処理部211が生成した制御対処200の該当時点の状態に関する推定状態ベクトル値215と同値のベクトル値i37とを各々読み込み両者を比較する。
比較の結果、ポリシ記述部219、補償条件210に経時変化等による誤差が認められる場合は、補償条件210を補正更新する情報i38及びポリシ記述部219を補正更新する情報i39を生成し、長期補償検出部214は、補償条件210及びポリシ記述部219を補正更新する。
このように、本実施形態においては、シミュレーション処理機能が未来時刻でp回の推定・算出した状態推定ベクトル値とSLA情報を制御目標とする目標状態ベクトル値とを順次比較、制御偏差を算出し、制御操作の必要有無を判断・検出する方法で制御を行うため、複雑な実行条件も取り扱える。また、制御対象及び評価機能・実行機能の構造が明確である。このため、上記「制御案の補正・検証機能の欠如」、「適正制御案の評価機能の欠如」、「制御指向の評価機能・実行機能の欠如」という各問題を解決できる。
なお、ここではリポジトリ6を有する構成を例としたが、必ずしもこれを備えている必要はない。
〔第2の実施形態〕
本発明を好適に実施した第2の実施形態について説明する。
図24に、本実施形態に係るサービス提供品質制御装置の構成を示す。本実施形態においては、合意サービス水準に基づくサービス提供品質制御装置をサービスプロバイダ運営体が保持して、サービスとして定義する場合の例である。
ワークフローシステム1、ワークフローシステム2、ワークフローシステム3、Proxyシステム4、及びモニタシステム5の構成は、第1の実施形態と同様である。これらは、サービスデリバリプラットフォーム運営体・マッシュアップサービス運営体110によって管理される。
サービス提供品質管理装置は、業務アプリケーションシステム7〜12に接続されている。
サービス提供品質制御装置の動作は第1の実施形態と同様であり、サービス提供品質制御装置をサービスプロバイダ運営体が保持して、サービスとして定義する場合においても上記「制御案の補正・検証機能の欠如」、「適正制御案の評価機能の欠如」、「制御指向の評価機能・実行機能の欠如」という各問題を解決しつつ、複数の業務アプリケーションシステム群をサービス群として定義し、これらをワークフロー管理システム、ビジネスプロセス管理システムを用いて任意に連携させ、ビジネスプロセスとして実施・運用する際に、当該ビジネスプロセスを起動するサービス利用者と、ビジネスプロセス並びにそこから呼び出されるサービス群を提供するサービス提供者との間で契約として取り決められた合意サービス水準に基づくサービス提供品質を維持できる。
〔第3の実施形態〕
本発明を好適に実施した第3の実施形態について説明する。
図25に、本実施形態に係るサービス提供品質制御装置の構成を示す。本実施形態においては、合意サービス水準に基づくサービス提供品質制御装置をサービスプロバイダ運営体が保持して、サービスとして定義する場合の例である。
ワークフローシステム1、ワークフローシステム2、ワークフローシステム3、Proxyシステム4、モニタシステム5、及び業務アプリケーションシステム7〜12の構成は、第1の実施形態と同様である。これらは、アプリケーションサービスプロバイダ・サービスプロバイダ運営体111によって管理される。
サービス提供品質制御装置の動作は第1の実施形態と同様であり、サービス提供品質制御装置をサービスプロバイダ運営体が保持して、サービスとして定義する場合においても上記「制御案の補正・検証機能の欠如」、「適正制御案の評価機能の欠如」、「制御指向の評価機能・実行機能の欠如」という各問題を解決しつつ、複数の業務アプリケーションシステム群をサービス群として定義し、これらをワークフロー管理システム、ビジネスプロセス管理システムを用いて任意に連携させ、ビジネスプロセスとして実施・運用する際に、当該ビジネスプロセスを起動するサービス利用者と、ビジネスプロセス並びにそこから呼び出されるサービス群を提供するサービス提供者との間で契約として取り決められた合意サービス水準に基づくサービス提供品質を維持できる。
なお、上記各実施形態は本発明の好適な実施の一例であり、本発明はこれらに限定されることはない。
例えば、上記実施形態においては、サンプリング時刻1周期前の計測統計量の履歴状態を用いてシミュレーションを行う場合を例としたが、サンプリング時刻の1周期前に限定されることはなく、規定周期前の計測統計量の履歴状態を用いてシミュレーションを行うことも可能である。
このように、本発明は様々な変形が可能である。
この出願は、2008年1月31日に出願された日本出願特願2008−021544を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明に係る合意サービス水準に基づくサービス提供品質制御装置の構成を示す図である。 本発明に係るサービス提供品質制御システムの構成を示すずである。 本発明が実施される環境について、一般的に記した図である。 本発明の好適な形態である合意サービス水準に基づくサービス提供品質制御装置の構成を記した図である。 本発明の好適な形態である合意サービス水準に基づくサービス提供品質制御装置の構成を記した図である。 本発明の好適な形態である合意サービス水準に基づくサービス提供品質制御装置の構成を記した図である。 本発明の好適な形態である合意サービス水準に基づくサービス提供品質制御装置の構成を記した図である。 本発明の好適な形態である合意サービス水準に基づくサービス提供品質制御装置の構成を記した図である。 本発明の好適な形態であるサービス提供品質制御装置の内、サービスの品質を計測するため、分散配置された通常のワークフローエンジンからイベント情報を収集する際の手順概要を記した図である。 本発明の好適な形態であるサービス提供品質制御装置の内、サービスの品質を計測するため、独自実装の既存ワークフローエンジンからProxyシステムを介してイベント情報を収集する際の手順概要を記した図である。 本発明の好適な形態であるサービス提供品質制御装置の内、分散配置されたワークフローエンジンに独自に保持されているワークフロー定義を収集し、統合・合成されたWf定義を生成する際の手順、並びに計測したデータを加工して、制御目的で供するための手順概要を記した図である。 本発明の好適な形態であるサービス提供品質制御装置の内、合意サービス水準に基づくサービス提供品質制御を実施する際の手順概要を記した図である。 本発明の好適な形態であるサービス提供品質制御装置の内、合意サービス水準に基づくサービス提供品質制御を実施する際の手順概要を記した図である。 本発明の好適な形態であるサービス提供品質制御装置で用いる補償機能付きシミュレーション処理部の構成について記した概要図である。 本発明である合意サービス水準に基づくサービス提供品質制御を実施する上での制御方法に基づいて、実施される制御手順の概要を記したフローチャート図である。 本発明である合意サービス水準に基づくサービス提供品質制御を実施する上での制御方法に基づいて、実施される制御手順の概要を記したフローチャート図である。 本発明である合意サービス水準に基づくサービス提供品質制御を実施する上での制御方法に基づいて実施される、操作候補を選別する際の手順について記したフローチャート図である。 本発明である合意サービス水準に基づくサービス提供品質制御を実施する上での制御方法に基づいて実施される、制御操作策定を実施する手順について記したフローチャート図である。 本発明である合意サービス水準に基づくサービス提供品質制御を実施する上での制御方法に基づいて実施される、制御操作策定を実施する手順について記したフローチャート図である。 本発明である合意サービス水準に基づくサービス提供品質制御を実施する上での制御方法に基づいて実施される、制御操作策定を実施する手順について記したフローチャート図である。 本発明である合意サービス水準に基づくサービス提供品質制御を実施する上での制御方法に基づいて実施される、制御操作策定を実施する手順について記したフローチャート図である。 本発明である合意サービス水準に基づくサービス提供品質制御を実施する上での制御方法について、時間軸に対する処理の振る舞いを概念的に表した図である。 本発明である合意サービス水準に基づくサービス提供品質制御を実施する上での制御方法を定義したブロック線図である。 本発明の別形態である合意サービス水準に基づくサービス提供品質制御機能・システムを提供するサービスプロバイダ運営体の内、サービスデリバリプラットフォーム(SDP)を運営する場合の構成概要例を記した図である。 本発明の別形態である合意サービス水準に基づくサービス提供品質制御機能・システムを提供するサービスプロバイダ運営体の内、アプリケーションサービスプロバイダ(ASP)を運営する場合の構成概要例を記した図である。
符号の説明
1、2、3 ワークフローシステム
4 Proxyシステム
5 モニタシステム
6 リポジト、
7、8、9、10、11、12 業務アプリケーションシステム
13、14、15、16、17、18 データ通信部
19、20、21、22、23、24 アダプタ
25、26、27、28Msgイベント抽出部
29、29’、32、37 ワークフローエンジン
30、33、38 Engイベント抽出部
31、34、39、 ワークフロー定義
35 プロキシ部
36 Prxイベント抽出部
40、42、45、47 イベントデータ保持部
41、43、44、46 共通データ送信部
48、49操作プロキシ
50、53、56 強制棄却部
51、54、57 投入抑制部
52、55、58 キュー管理部
59 ワークフロー定義・サービス定義取得部
60 Wf合成部
61 合成Wf定義
62 イベントデータ受信部
63 イベントデータ関係付け部
64 計測制御量データ管理部
65 イベント・統計格納DB
66 メタデータ管理部
67 計測統計量データ計算部
68 パフォーマンスデータ管理部
69 起動制御部
70 状態観測部
71 補償機能付きシミュレーション処理部
72 目標状態ベクトル値管理部
73 検出部
74 評価条件調整部
75 ポリシ記述管理部
76 調整操作部
77 計測状態ベクトル値処理部
78 長期補償検出部
79 バッファ部
80 実施条件指定部
81 管理コンソール
101、102、103、104、105 サブネットワーク
106、107、108 ルータ
110 サービスデリバリプラットフォーム運営体・マッシュアップサービス運営体
111 アプリケーションサービスプロバイダ・サービスプロバイダ運営体
120 挙動関数
121、121’ 順序機械シミュレーション部
122 要素ワークフローモデル群
123 要素ワークフローモデル群
124 サービス特性関数計算部
125、126、127、128 業務アプリケーションシステム挙動特性定数
130 処理系
200 制御対象
201 メタデータ管理部
202 パフォーマンスデータ管理部
203 計測統計量データ計算部
204 計測制御量データ管理部
205 起動制御部
206 状態観測部
207 現状態ベクトル値
208 履歴状態ベクトル値
209 計測状態ベクトル値処理部
210 補償条件
211 補償機能付きシミュレーション処理部
212 変更条件ベクトル値
213 計測状態ベクトル値
214 長期補償検出部
215 推定状態ベクトル値
216 目標状態ベクトル値
217 検出部
218 評価条件調整部
219 ポリシ記述部
220 調整操作部
221 候補操作ベクトル量
222 確定操作ベクトル量
223 制御装置部
224 計測器
225 状態推定器
226 調整器
227 制御器
228 長期補償器
250 横軸
251 曲線
252、254、255、256、257、259、260、261 時刻
253 期間
258 1回目の単位時刻
c1 起動要求
c2、c24 統合・合成されたワークフロー定義の一覧
c3、c25 全てのワークフロー定義・サービス定義の定義情報一式
c4 現時点のパラメータ1の算出結果
c5 現時点迄のパラメータ1の累積値、平均値
c6 現時点のパラメータ2の算出結果
c7 現時点迄のパラメータ2の累積値、平均値
c8 サンプリング時刻状態行列
c9 サンプリング時刻1周期前の状態行列
c10 定義情報一式
c11 統合・合成されたワークフロー定義の一式
c12、c17、c18、c23、c28、c60、c64、c65、c89 起動(Invoke)コマンド
c13、c19 制御操作に対するポリシ定義情報
c14、c14’、c30 合意サービス水準に関するパラメータ群を意味するベクトル値群
c15、c20 再起動(Invoke)コマンド
c16、c63 合意サービス水準に関する目標値群のベクトル値群
c21、c22 仮制御操作一覧指定情報
c26 現時点のパラメータ1算出結果、現時点迄のパラメータ1累積値、平均値
c27 現時点のパラメータ2算出結果、現時点迄のパラメータ2累積値、平均値
c29 実測ベクトル値群
c31 ポリシ記述更新コマンド
c32 補償条件式更新コマンド
c50、c51、c52、c55、c56 制御メッセージ
c53、c54 制御コマンド
c61 指定パラメータ値群
c62 相対優先度に関する情報
c66 更新するべきパラメータ名群とパラメータ値群
c67 応答形式を指定した情報
c80 パラメータ群
c81 算パラメータ群
c82 サービス定義に関する呼出度数について計算した行列値に関するデータ
c83 計測統計量データ
c84、c91 アラーム
c85 全てのイベントデータ
c86 合意サービス水準に関する状態に関する実測ベクトル値群
c87 特定情報
c88 パラメータ値群間の相対情報
c90 応答形式を指定した情報
i1 イベントに関するデータ
i2 パラメータ群
i3 形式的な意味等の情報
i4、i10 情報
i5 形式的な意味等の情報
i6 パラメータ群に関する現在の値、並びに累積値、平均値等
i7、i11 現状状態ベクトル値
i8、i12 履歴状態ベクトル値
i9 起動要求
i13 設定定常値
i14 推定値
i16、i37 推定状態ベクトル値と同値なベクトル値
i17 目標値群のベクトル値と同値なベクトル値
i18、i19、i24、i27、i33、i36 引数
i21 仮決めされた制御操作量
i23 更新情報
i25 該当ベクトル値
i26 ベクトル値
i28 必要なスカラ値、もしくはベクトル値
i29 制御操作量
i30 イベント情報
i31 現在の値、並びに累積値、平均値等
i32 管理単位に関する形式的な意味等の情報
i34 計測状態ベクトル値と同値のベクトル値
i38、i39 補正更新する情報
m1、m2、m3、m7、m8、m9、m25、m30、m31、m32、m36、m37、m38、m48、m86、m88 処理要求メッセージ
m4、m5、m6、m10、m11、m12、m26、m33、m34、m35、m49、m87、m89 処理応答メッセージ
m13、m14、m15、m16、m17、m18、m19、m20、m21、m22、m23、m24、m27、m28、m39、m40、m41、m47 イベント
m29、m54、m55、m63 イベントデータ転送メッセージ
m42、m43、m44、m45、m46、m50、m51、m52、m53 メッセージに関するイベント
m60、m61、m62 定義転送メッセージ
m64 ワークフロー定義・サービス定義情報
m65 ワークフロー定義情報・サービス定義
m66 統合・合成されたワークフロー定義の一式
m67 イベントに関する全てのデータ
m68 サービス定義・プロセス定義情報
m69 メッセージインスタンス群
m70 メッセージインスタンス
m71、m71’ 検索要求
m72、m72’ イベントデータの一覧
m73 統合・合成されたワークフロー定義
m74 定義情報一式
m75 統合・合成されたワークフロー定義の一覧
m76 全てのワークフロー定義・サービス定義
m77、m78、m79、m80 更新要求
m81、m82、m83、m84 管理要求
m85 問い合わせ

Claims (21)

  1. 複数の業務アプリケーションシステム群の起動状態及び操作順序の定義を維持管理し、制御するワークフローのそれぞれの要素ワークフロー部分を、ワークフローエンジンを実装した複数のワークフロー管理システムが独立・分散して管理及び実行している環境下で、分散された前記要素ワークフロー部分の実行を統合監視する機能に伴い、全体ワークフローの記述に関するサービス提供品質、又は複数利用者ごとに取り決めた合意サービス水準を維持することを目的とする合意サービス水準制御装置であって、
    前記全体ワークフローの記述ごとに制御目標の目標状態ベクトル値として定義された、前記全体ワークフローのサービス提供条件を示す合意サービス水準情報を格納する手段と、
    可計測かつ統計処理のみで計算可能な要素ワークフロー部分又は当該要素ワークフロー部分から呼び出されるサービスに関する計測統計量を算出する計測統計量データ計算手段と、
    前記計測統計量から所定のサンプリング周期でサンプリングを実施し、直前のサンプリング時刻における計測統計量の現状態ベクトル値及び規定周期前のサンプリング時刻における計測統計量の履歴状態ベクトル値を算出する状態観測手段と、
    前記計測統計量の現状態ベクトル値及び前記履歴状態ベクトル値を基に、前記目標状態ベクトル値と同義の状態ベクトル成分からなる状態推定ベクトル値群を、外挿によって未来時刻で補償した上で推定するシミュレーション処理手段と、
    制御操作に関するポリシ記述を管理するポリシ記述管理手段と、
    前記シミュレーション処理手段が推定した状態推定ベクトル値と前記合意サービス水準情報を制御目標とする目標状態ベクトル値とを順次比較した上で制御偏差を算出し、制御操作が必要か否かを判断する判断手段と、
    前記制御操作が必要と判断される場合には、前記ポリシ記述管理手段が管理する前記ポリシ記述に基づいて前記全体ワークフローの記述の実行環境を自装置内で仮想的に変化させた上で、前記シミュレーション処理手段及び前記判断手段を再実行し、所定回数を上限として前記制御偏差が所定値以下となるまで前記実行環境の評価条件を調整する調整手段と、
    前記調整手段による評価条件の調整の結果、もはや前記制御操作が必要と判断されない場合に、実行環境の変化を確定させる手段とを有することを特徴とする合意サービス水準に基づくサービス提供品質制御装置。
  2. 前記分散された要素ワークフロー部分の記述を収集・管理する手段と、
    収集した前記分散された要素ワークフロー部分の記述を合成し、前記全体ワークフローの記述を再生するワークフロー合成手段を含むことを特徴とする、請求項1記載のサービス提供品質制御装置。
  3. 前記シミュレーション処理手段は、前記サンプリング周期のうち、計測に許容される平均計測評価期間を2p(pは1以上の整数)に等期間で時分割して、p回未来時刻で補償した上で前記状態推定ベクトル値群を推定し、
    前記調整手段は、前記p回を上限として実行環境の評価条件を調整することを特徴と請求項1又は2記載のサービス提供品質制御装置。
  4. 前記要素ワークフロー部分のうち、前記標準形式で記述されていないものを前記標準形式に変換する手段と、
    前記要素ワークフロー部分の記述を所定の標準形式で管理する手段とを有することを特徴とする請求項1から3のいずれか1項記載の合意サービス水準に基づくサービス提供品質制御装置。
  5. 前記シミュレーション処理手段とは別の手順にて、該シミュレーション処理手段の推定結果と等価な等価データを算出する手段と、
    前記シミュレーション処理手段の推定結果と前記等価データとを比較し、前記ポリシ記述及び前記シミュレーション処理手段が参照する補償条件の少なくとも一方を補償する必要があるか否かを判断する手段と、
    前記ポリシ記述及び前記シミュレーション処理手段が参照する補償条件の少なくとも一方を定期的に捕正する長期補償手段とを有することを特徴とする請求項1から4のいずれか1項記載の合意サービス水準に基づくサービス提供品質制御装置。
  6. 前記目標状態ベクトル値と前記状態推定ベクトル値とを順次比較して制御偏差を算出する場合に、前記合意サービス水準情報に関する優先度、並びに、全体ワークフローの記述を構成する複数の要素ワークフロー部分の記述及びそこから呼び出されるサービス群の構成上の複雑さを評価した値、並びに、可計測かつ統計処理のみで計算可能な要素ワークフロー部分や該要素ワークフロー部分から呼び出されるサービスに関する計測統計量データの値を考慮して、ボトルネック箇所を特定する手段を有することを特徴とする請求項1から5のいずれか1項記載の合意サービス水準に基づくサービス提供品質制御装置。
  7. 前記ポリシ記述として、ワークフローエンジン数を仮決めで増減すること、当該ワークフローエンジンのサービス実行処理系に対するメッセージの投入を一時的に抑制し、ボトルネックとなっている処理を整流化すること、及び前記メッセージを棄却することの少なくともいずれかを含み、
    当該ワークフローエンジンが実装された複数のワークフロー管理システム内、もしくは隣接する形で、前記メッセージの投入を一時的に抑制する手段、及び前記メッセージを棄却する手段を有することを特徴とする請求項1から6のいずれか1項記載の合意サービス水準に基づくサービス提供品質制御装置。
  8. 前記ポリシ記述において、前記全体ワークフローの記述ごとに、前記合意サービス水準情報を制御目標として満足できるように、前記要素ワークフロー部分の呼び出し部分、及びそこから呼び出されるサービス呼出定義部分を動的に並行可能化することを含むとともに、
    末端のサービス呼出定義を並行可能化する手段を有することを特徴とする請求項7に記載の合意サービス水準に基づくサービス提供品質制御装置。
  9. 前記要素ワークフロー部分の記述を格納する手段及び該要素ワークフロー部分を実行するワークフローエンジンを備えた複数のワークフロー処理装置と、請求項1から8のいずれか1項記載の合意サービス水準に基づくサービス提供品質制御装置とを有することを特徴とするサービス提供品質制御システム。
  10. 明確に定義された制御対象及びそれに関係する物理事象のうち、可計測かつ統計処理のみで計算可能な計測統計量データ及び前記制御対象の制御目標で直接計測不可能な目標状態ベクトル値を定義する手順と、
    前記計測制御量データから所定のサンプリング周期でサンプリングを実施し、直前のサンプリング時刻における計測統計量の現状態ベクトル値及び規定周期前のサンプリング時刻における計測統計量の履歴状態ベクトル値を算出する手順と、
    前記計測統計量の前記現状態ベクトル値及び前記履歴状態ベクトル値を基に、前記目標状態ベクトル値と同義の状態ベクトル成分からなる状態推定ベクトル値群を、外挿によって未来時刻で補償した上でシミュレーションして推定する手順と、
    前記シミュレーションによって推定された前記状態推定ベクトル値と前記目標状態ベクトル値とを順次比較して制御偏差を算出し、制御操作が必要であるか否かを判断する手順と、
    前記制御操作が必要な場合に、前記制御偏差を満たすための制御操作量を仮決めする手順と、
    仮決めした前記制御操作量を追加して、前記シミュレーションと同義の新たなシミュレーションを実施し、前記目標状態ベクトル値と同義の状態ベクトル成分からなる状態推定ベクトル値を算出した後、該状態推定ベクトル値を前記目標状態ベクトル値と比較して新たな制御偏差を算出し、更に制御操作量が必要な場合は、所定回数を上限として前記制御操作量が確定するまで、仮決めする制御操作量を追加・条件を厳しくする手順と、
    前記制御操作量を追加する必要のない場合に、制御操作を実施する手順を含むことを特徴とするフィードフォワード制御方法。
  11. サービス提供条件を示す合意サービス水準情報を制御目標の目標状態ベクトル値として定義し、
    前記制御偏差を満たすための制御操作として、サービス実行処理系の処理系の数、ハードウェア資源の割付け量増減、メッセージ投入抑制量の増減のいずれか一つ以上を含むことを特徴とする請求項10記載のフィードフォワード制御方法。
  12. 可計測かつ統計処理のみで計算可能なサービスに関する計測統計量データを持ち、サービス提供条件を示す合意サービス水準情報を制御目標の目標状態ベクトル値として定義する手順と、
    前記サービスに関する計測制御量データを基に直前のサンプリング時刻における計測統計量の現状態ベクトル値及び規定周期前のサンプリング時刻における計測統計量の履歴状態ベクトル値を算出する手順と、
    前記計測統計量の前記現状態ベクトル値及び前記履歴状態ベクトル値を基に、前記目標状態ベクトル値と同義の状態ベクトル成分からなる状態推定ベクトル値群を、外挿によって未来時刻で補償した上でシミュレーションして推定する手順と、
    推定された状態推定ベクトル値と前記目標状態ベクトル値とを順次比較して制御偏差を算出し、制御操作の必要有無を判断する手順と、
    前記制御操作が必要な場合に、前記制御偏差を満たすための制御操作として、サービス実行処理系の処理系の数、ハードウェア資源の割付け量増減、メッセージ投入抑制量の増減を仮決めする手順と、
    仮決めされた当該処理系の数、ハードウェア資源の割付け量増減や、メッセージ投入抑制量増減の操作を仮想的に追加して、前記シミュレーションと同等の新たなシミュレーションによる推定を改めて実施し、前記サービス提供条件を示す合意サービス水準情報と比較し、これを満足するか否かを判断し、更に新たな処理系の数、ハードウェア資源の割付け量増減や、新たなメッセージ投入抑制量増減の操作が必要と判断される場合は、所定回数を上限として前記合意サービス水準情報を満足するまで、当該新たな処理系の数、ハードウェア資源の割付け量増減や、新たなメッセージ投入抑制量増減を仮想的に実施する手順と、
    前記合意サービス水準情報を満足する場合に、実際に処理系の数、ハードウェア資源の割付け量増減や、新たなメッセージ投入抑制量増減を実施する制御操作を実施する手順とを実行することを特徴とする合意サービス水準に基づくサービス提供品質制御方法。
  13. コンピュータを、
    複数業務アプリケーションシステム群の起動状態、操作順序の定義を維持管理し、制御するワークフローのそれぞれの要素ワークフロー部分を、ワークフローエンジンを実装した複数のワークフロー管理システムが独立・分散して管理、実行している環境下で、要素ワークフロー部分を実施する際に発生するイベント群を当該全体のワークフローの記述に明確に位置付け、当該イベント群以外のイベント群と関連付けてイベント格納手段に記録する手段と、
    分散された要素ワークフロー部分の実行を統合監視する機能に伴い、前記全体のワークフローの記述ごとに、そのサービス提供条件を示す合意サービス水準情報を制御目標の目標状態ベクトル値として定義する手段と、
    可計測かつ統計処理のみで計算可能な要素ワークフロー部分や当該要素ワークフロー部分から呼び出されるサービスに関する計測統計量データの計算手段と、
    前記計測統計量データの計算手段が算出するデータから、所定のサンプリング周期でサンプリングを実施し、直前のサンプリング時刻における計測統計量の現状態ベクトル値及び規定周期前のサンプリング時刻における計測統計量の履歴状態ベクトル値を算出する状態観測に関する手段と、
    前記計測統計量の前記現状態ベクトル値、及び前記履歴状態ベクトル値を基に、前記目標状態ベクトル値と同義の状態ベクトル成分からなる状態推定ベクトル値群を、外挿によって所定回数未来時刻で補償した上で推定するシミュレーション処理手段と、
    制御操作に関するポリシ記述を管理する手段と、
    前記シミュレーション処理によって推定した当該状態推定ベクトル値と前記合意サービス水準情報を制御目標とする目標状態ベクトル値とを順次比較して制御偏差を算出し、制御操作が必要であるか否かを判断する手段と、
    前記制御操作が必要と判断される場合、前記ポリシ記述から、複数ワークフロー管理システムの内の特定要素ワークフロー部分を実行するワークフローエンジン数を仮決めで増減し、仮決めされた当該ワークフローエンジン数を仮想的に増減した上で前記シミュレーションと前記制御操作が必要であるか否かの判断とを再実行し、更に新たなワークフローエンジン数の増減が必要と判断される場合には、所定回数を上限として、前記制御偏差が満足できるまで、当該新たなワークフローエンジン数を増減する評価条件を調整する手段と、
    前記調整手段による評価条件の調整の結果、もはや前記制御操作が必要でないと判断する場合、実際に当該ワークフローエンジン数を増減するための手続きに変換する調整操作に関する手段と、として機能させることを特徴とする合意サービス水準に基づくサービス提供品質制御プログラム。
  14. 前記コンピュータを、
    分散する要素ワークフロー部分の記述を収集・管理する手段と、
    複数の当該分散する要素ワークフロー部分の記述を合成し、全体のワークフローの記述を再生するワークフロー合成手段と、として機能させることを特徴とする請求項13記載の合意サービス水準に基づくサービス提供品質制御プログラム。
  15. 前記コンピュータを、
    前記要素ワークフロー部分の記述を収集する手段と、
    前記要素ワークフロー部分の記述を所定の標準形式で管理する手段と、
    前記要素ワークフロー部分のうち、前記標準形式で記述されていないものを前記標準形式に変換する手段と、として機能させることを特徴とする請求項13又は14記載の合意サービス水準に基づくサービス提供品質制御プログラム。
  16. 前記コンピュータを、
    前記シミュレーション処理手段とは別の手順にて、該シミュレーション処理手段の推定結果と等価な等価データを算出する手段と、
    前記推定結果と前記等価データとを比較して、前記ポリシ記述及び前記シミュレーション処理手段が参照する補償条件の少なくとも一方を補償する必要があるか否かを判断する手段と、
    前記ポリシ記述及び前記シミュレーション処理手段が参照する補償条件の少なくとも一方を定期的に捕正する長期補償手段と、として機能させることを特徴とする請求項13から15のいずれか1項記載の合意サービス水準に基づくサービス提供品質制御プログラム。
  17. 前記コンピュータを、
    前記目標状態ベクトル値と前記状態推定ベクトル値とを順次比較して制御偏差を算出する場合に、前記合意サービス水準情報に関する優先度、並びに、全体ワークフローの記述を構成する複数の要素ワークフロー部分の記述及びそこから呼び出されるサービス群の構成上の複雑さを評価した値、並びに、可計測で統計処理のみで計算できる要素ワークフロー部分や該要素ワークフロー部分から呼び出されるサービスに関する計測統計量データの値を考慮して、ボトルネック箇所を特定する手段として機能させることを特徴とする請求項13から16のいずれか1項記載の合意サービス水準に基づくサービス提供品質制御プログラム。
  18. 前記ポリシ記述において、ワークフローエンジン数を仮決めで増減すること、当該ワークフローエンジンのサービス実行処理系に対するメッセージの投入を一時的に抑制し、ボトルネックとなっている処理を整流化すること、前記メッセージを棄却することを含み、
    前記コンピュータを、
    当該ワークフローエンジンが実装された複数のワークフロー管理システム内、もしくは隣接する形で、前記メッセージの投入を一時的に抑制する手段、及び前記メッセージを棄却する手段として機能させることを特徴とする請求項13から17のいずれか1項記載の合意サービス水準に基づくサービス提供品質制御プログラム。
  19. 前記ポリシ記述において、前記全体ワークフローの記述ごとに、前記合意サービス水準情報を制御目標として満足できるように、前記要素ワークフロー部分の呼び出し部分、及びそこから呼び出されるサービス呼出定義部分を動的に並行可能化することを含むとともに、
    前記ワークフロー合成手段は、末端のサービス呼出定義を並行可能化する機能を有することを特徴とする請求項18に記載の合意サービス水準に基づくサービス提供品質制御プログラム。
  20. コンピュータに、
    サービス提供品質、もしくは複数サービス利用者ごとに取り決めた合意サービス水準等を制御対象とし、可計測かつ統計処理のみで計算できるサービスに関する計測統計量データを持ち、サービス提供条件を示す合意サービス水準情報を制御目標の目標状態ベクトル値として定義する手順と、
    前記サービスに関する計測制御量データを基に直前のサンプリング時刻における計測統計量の現状態ベクトル値及び規定周期前のサンプリング時刻における計測統計量の履歴状態ベクトル値を算出する手順と、
    前記計測統計量の前記現状態ベクトル値及び前記履歴状態ベクトル値を基に、前記目標状態ベクトル値と同義の状態ベクトル成分からなる状態推定ベクトル値群を、外挿によって所定回数未来時刻で補償した上で推定する推定手順と、
    推定された前記状態推定ベクトル値と前記目標状態ベクトル値とを順次比較して制御偏差を算出し、制御操作が必要か否かを判断する手順と、
    前記制御操作が必要な場合に、制御操作として、サービス実行処理系の数、ハードウェア資源の割付け量増減、メッセージ投入抑制量の増減を仮決めする手順と、
    仮決めされた前記処理系の数、ハードウェア資源の割付け量増減、メッセージ投入抑制量増減の操作を仮想的に追加して、前記推定手順と同義の新たな推定を改めて実施する手順と、
    前記新たな推定結果が、前記合意サービス水準情報を満足するか否かを判断する手順と、
    更に新たな処理系の数、ハードウェア資源の割付け量増減や、新たなメッセージ投入抑制量増減等の操作が必要と判断した場合に、所定回数を上限として前記合意サービス水準情報を満足するまで、当該新たな処理系の数、ハードウェア資源の割付け量増減や、新たなメッセージ投入抑制量増減を仮想的に実施する手順と、
    前記合意サービス水準情報を満足する場合は、実際に処理系の数、ハードウェア資源の割付け量増減や、新たなメッセージ投入抑制量増減を実施する制御操作を実施する手順と、を実行させることを特徴とする合意サービス水準に基づくサービス提供品質制御プログラム。
  21. 請求項13から20のいずれか1項記載のサービス提供品質制御プログラムを記録した記録媒体。
JP2009551596A 2008-01-31 2009-01-30 フィードフォーワード制御方法、サービス提供品質制御装置、システム、プログラム及びその記録媒体 Active JP5212381B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009551596A JP5212381B2 (ja) 2008-01-31 2009-01-30 フィードフォーワード制御方法、サービス提供品質制御装置、システム、プログラム及びその記録媒体

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008021544 2008-01-31
JP2008021544 2008-01-31
PCT/JP2009/051573 WO2009096519A1 (ja) 2008-01-31 2009-01-30 フィードフォーワード制御方法、サービス提供品質制御装置、システム、プログラム及びその記録媒体
JP2009551596A JP5212381B2 (ja) 2008-01-31 2009-01-30 フィードフォーワード制御方法、サービス提供品質制御装置、システム、プログラム及びその記録媒体

Publications (2)

Publication Number Publication Date
JPWO2009096519A1 JPWO2009096519A1 (ja) 2011-05-26
JP5212381B2 true JP5212381B2 (ja) 2013-06-19

Family

ID=40912862

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009551596A Active JP5212381B2 (ja) 2008-01-31 2009-01-30 フィードフォーワード制御方法、サービス提供品質制御装置、システム、プログラム及びその記録媒体

Country Status (3)

Country Link
US (1) US8966492B2 (ja)
JP (1) JP5212381B2 (ja)
WO (1) WO2009096519A1 (ja)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009108344A1 (en) 2008-02-29 2009-09-03 Vkernel Corporation Method, system and apparatus for managing, modeling, predicting, allocating and utilizing resources and bottlenecks in a computer network
US8935701B2 (en) 2008-03-07 2015-01-13 Dell Software Inc. Unified management platform in a computer network
US8250198B2 (en) * 2009-08-12 2012-08-21 Microsoft Corporation Capacity planning for data center services
US8644146B1 (en) * 2010-08-02 2014-02-04 Sprint Communications Company L.P. Enabling user defined network change leveraging as-built data
US9230314B2 (en) * 2010-11-08 2016-01-05 Nec Corporation Information processing device having a function to control QoS of media analysis system
WO2012075622A1 (en) * 2010-12-07 2012-06-14 Sap Ag Implemantion of a process based on a user-defined sub-task sequence
US8964901B2 (en) 2011-01-07 2015-02-24 Massachusetts Institute Of Technology Analog/digital co-design methodology to achieve high linearity and low power dissipation in a radio frequency (RF) receiver
US8644437B2 (en) * 2011-01-07 2014-02-04 Massachusetts Institute Of Technology Digital compensation of a nonlinear system
JP2012150661A (ja) * 2011-01-19 2012-08-09 Toshiba Corp プロセッサ動作検査システム、及びその検査方法
US8644391B2 (en) * 2011-05-12 2014-02-04 National Cheng Kung University Space exploration method of reconfigurable motion compensation architecture
US8812679B2 (en) * 2011-06-29 2014-08-19 International Business Machines Corporation Managing computing environment entitlement contracts and associated resources using cohorting
US8775593B2 (en) 2011-06-29 2014-07-08 International Business Machines Corporation Managing organizational computing resources in accordance with computing environment entitlement contracts
US20130006793A1 (en) 2011-06-29 2013-01-03 International Business Machines Corporation Migrating Computing Environment Entitlement Contracts Based on Seller and Buyer Specified Criteria
US9760917B2 (en) 2011-06-29 2017-09-12 International Business Machines Corporation Migrating computing environment entitlement contracts between a seller and a buyer
US9646278B2 (en) 2011-07-14 2017-05-09 International Business Machines Corporation Decomposing a process model in an enterprise intelligence (‘EI’) framework
US9659266B2 (en) 2011-07-14 2017-05-23 International Business Machines Corporation Enterprise intelligence (‘EI’) management in an EI framework
US9639815B2 (en) * 2011-07-14 2017-05-02 International Business Machines Corporation Managing processes in an enterprise intelligence (‘EI’) assembly of an EI framework
US9495222B1 (en) * 2011-08-26 2016-11-15 Dell Software Inc. Systems and methods for performance indexing
US20130111430A1 (en) * 2011-10-27 2013-05-02 Yin Wang Providing goods or services
US9305029B1 (en) 2011-11-25 2016-04-05 Sprint Communications Company L.P. Inventory centric knowledge management
US8707316B1 (en) * 2012-01-05 2014-04-22 The Boeing Company Methods and systems for mission-driven quality of service management
US8856291B2 (en) * 2012-02-14 2014-10-07 Amazon Technologies, Inc. Providing configurable workflow capabilities
US10095994B2 (en) * 2012-03-19 2018-10-09 Sap Se Service level agreement translation for service oriented systems
US9436921B2 (en) 2012-06-21 2016-09-06 International Business Machines Corporation Intelligent service management and process control using policy-based automation and predefined task templates
US8958470B2 (en) 2012-07-26 2015-02-17 Massachusetts Institute Of Technology Method and apparatus for sparse polynomial equalization of RF receiver chains
DE102012220109A1 (de) * 2012-11-05 2014-05-08 Deere & Company Einrichtung zur Erfassung des Betriebszustands einer Arbeitsmaschine
US9736041B2 (en) * 2013-08-13 2017-08-15 Nec Corporation Transparent software-defined network management
JP6357787B2 (ja) * 2014-02-07 2018-07-18 日本電気株式会社 データ処理装置
JP6244453B2 (ja) * 2014-04-16 2017-12-06 クラリオン株式会社 データ配信システム及びデータ配信方法
KR102248787B1 (ko) * 2014-08-28 2021-05-06 삼성전자 주식회사 Gpu의 리소스에 대한 전력 소비 제어방법 및 장치
JP6447054B2 (ja) * 2014-11-27 2019-01-09 富士通株式会社 情報処理方法、及び情報処理プログラム
US9575803B2 (en) * 2015-02-13 2017-02-21 International Business Machines Corporation Determining an ordering to use to open and close programs that call other programs
US10402765B1 (en) 2015-02-17 2019-09-03 Sprint Communications Company L.P. Analysis for network management using customer provided information
US10453325B2 (en) 2015-06-01 2019-10-22 Apple Inc. Creation of reminders using activity state of an application
US9603123B1 (en) 2015-06-04 2017-03-21 Apple Inc. Sending smart alerts on a device at opportune moments using sensors
US10235863B2 (en) 2015-06-05 2019-03-19 Apple Inc. Smart location-based reminders
JP6227841B1 (ja) * 2016-02-17 2017-11-08 株式会社日立製作所 データ処理システム及びデータ処理方法
JP6801267B2 (ja) * 2016-07-04 2020-12-16 富士通株式会社 評価プログラム、評価方法、評価装置および情報処理装置
JP6766495B2 (ja) * 2016-07-21 2020-10-14 富士通株式会社 プログラム、コンピュータ及び情報処理方法
US10193822B1 (en) * 2016-08-18 2019-01-29 Amazon Technologies, Inc. Predictive auto-scaling and reactive auto-scaling for network accessible messaging services
EP3287960B1 (en) * 2016-08-25 2024-05-15 ABB Schweiz AG Computer system and method to process alarm signals
US10545792B2 (en) * 2016-09-12 2020-01-28 Seven Bridges Genomics Inc. Hashing data-processing steps in workflow environments
JP6803788B2 (ja) * 2017-03-29 2020-12-23 三菱重工業株式会社 情報処理装置、情報処理方法およびプログラム
CN107944770B (zh) * 2017-12-25 2021-07-06 泰康保险集团股份有限公司 照料护理服务的质量评估方法、装置、***和服务器
US11334050B2 (en) * 2018-12-19 2022-05-17 Francotyp-Postalia Gmbh Authentication system and authentication method for executing a work process on an object
US11516096B2 (en) * 2020-06-17 2022-11-29 Red Hat, Inc. Automatically managing performance of software in a distributed computing environment
US20220215142A1 (en) * 2021-01-05 2022-07-07 Capital One Services, Llc Extensible Agents in Agent-Based Generative Models

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004528775A (ja) * 2001-04-10 2004-09-16 ネットヴィエムジー, インコーポレーテッド インテリジェント配信に関するネットワークサービスレベルを保証するシステム及び方法
JP2006508427A (ja) * 2002-10-07 2006-03-09 ガートナー インコーポレイテッド ビジネスパフォーマンスを評価するための方法及びシステム
WO2006045337A1 (en) * 2004-10-28 2006-05-04 Telecom Italia S.P.A. Method for managing resources in a platform for telecommunication service and/or network management, corresponding platform and computer program product therefor

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3730740B2 (ja) * 1997-02-24 2006-01-05 株式会社日立製作所 並列ジョブ多重スケジューリング方法
US6240090B1 (en) * 1997-12-19 2001-05-29 Telefonaktiebolaget Lm Ericcson (Publ) Self-configuring processors in an asynchronous transfer mode switch
US6633940B1 (en) * 1999-10-11 2003-10-14 Ati International Srl Method and apparatus for processing interrupts in a computing system
US6741698B1 (en) * 2000-01-27 2004-05-25 Avaya Technology Corp. Call management system using dynamic threshold adjustment
JP2001290516A (ja) 2000-04-10 2001-10-19 Toshiba Corp 監視制御システム、制御装置のシミュレーション方法及び記憶媒体
US20020083076A1 (en) * 2000-10-30 2002-06-27 Wucherer Thomas A. Intelligent object builder
US7092929B1 (en) * 2000-11-08 2006-08-15 Bluefire Systems, Inc. Method and apparatus for planning analysis
US7116639B1 (en) * 2000-12-21 2006-10-03 International Business Machines Corporation System and method for determining network discrete utilization
US7324966B2 (en) * 2001-01-22 2008-01-29 W.W. Grainger Method for fulfilling an order in an integrated supply chain management system
US7065496B2 (en) * 2002-02-13 2006-06-20 Tangoe, Inc. System for managing equipment, services and service provider agreements
JP3750621B2 (ja) 2002-03-19 2006-03-01 株式会社日立情報システムズ トラフィック制御方法及びそのシステム
US7222245B2 (en) * 2002-04-26 2007-05-22 Hewlett-Packard Development Company, L.P. Managing system power based on utilization statistics
US7496655B2 (en) * 2002-05-01 2009-02-24 Satyam Computer Services Limited Of Mayfair Centre System and method for static and dynamic load analyses of communication network
US20040230404A1 (en) * 2002-08-19 2004-11-18 Messmer Richard Paul System and method for optimizing simulation of a discrete event process using business system data
US7159221B1 (en) * 2002-08-30 2007-01-02 Unisys Corporation Computer OS dispatcher operation with user controllable dedication
JP4051703B2 (ja) * 2003-03-31 2008-02-27 日本電気株式会社 シングルプロセッサ向けosによる並列処理システム、並列処理プログラム
US7523483B2 (en) * 2003-05-12 2009-04-21 I2 Technologies Us, Inc. Determining a policy parameter for an entity of a supply chain
JP2004362449A (ja) 2003-06-06 2004-12-24 Mitsubishi Electric Corp サービス提供装置及びサービスコーディネータ装置及びサービス提供方法及びサービスコーディネート方法及びプログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2005184165A (ja) 2003-12-17 2005-07-07 Hitachi Ltd トラフィック制御装置およびそれを用いたサービスシステム
JP2005196601A (ja) 2004-01-09 2005-07-21 Hitachi Ltd 自律管理システム向けポリシシミュレータ
US8346909B2 (en) * 2004-01-22 2013-01-01 International Business Machines Corporation Method for supporting transaction and parallel application workloads across multiple domains based on service level agreements
US20050188075A1 (en) * 2004-01-22 2005-08-25 International Business Machines Corporation System and method for supporting transaction and parallel services in a clustered system based on a service level agreement
US8417499B2 (en) * 2004-03-31 2013-04-09 International Business Machines Corporation Enabling real-time testing of on-demand infrastructure to predict service level agreement compliance
US8200805B2 (en) * 2004-06-28 2012-06-12 Neuse Douglas M System and method for performing capacity planning for enterprise applications
US7430498B2 (en) * 2004-09-07 2008-09-30 The Boeing Company System, method and computer program product for developing a system-of-systems architecture model
JP2007148469A (ja) 2005-11-24 2007-06-14 Hitachi Ltd ビジネスプロセス定義を用いた事前リソース割り当て方法
US20070180061A1 (en) * 2006-02-02 2007-08-02 International Business Machines Corporation Methods and apparatus for interactive specification of context-sensitive sevice level agreements; for provisioning of resources required during service delivery events regulated by service level agreements; and for monitoring compliance with service level agreements during service delivery events
US8126756B2 (en) * 2006-08-07 2012-02-28 International Business Machines Corporation Method and system for real time measurement data adjudication and service level evaluation
US7739094B1 (en) * 2006-11-22 2010-06-15 Cadence Design Systems, Inc. Method and apparatus for designing an emulation chip using a selectable fastpath topology
US20080126751A1 (en) * 2006-11-27 2008-05-29 Shay Mizrachi Scheduler hint method and system to improve network interface controller (nic) receive (rx) processing cache performance
KR100748187B1 (ko) * 2007-06-01 2007-08-10 인하대학교 산학협력단 노드 가용도 예측 기반의 그리드 네트워크 혼잡 제어 장치및 방법
US8312464B2 (en) * 2007-08-28 2012-11-13 International Business Machines Corporation Hardware based dynamic load balancing of message passing interface tasks by modifying tasks
US8782779B2 (en) * 2007-09-26 2014-07-15 Hewlett-Packard Development Company, L.P. System and method for achieving protected region within computer system
US20100254312A1 (en) * 2008-12-11 2010-10-07 Adapt4, Llc Dynamically transformed channel set routing
US20130272121A1 (en) * 2012-04-17 2013-10-17 Cygnus Broadband, Inc. Systems and methods for application-aware admission control in a communication network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004528775A (ja) * 2001-04-10 2004-09-16 ネットヴィエムジー, インコーポレーテッド インテリジェント配信に関するネットワークサービスレベルを保証するシステム及び方法
JP2006508427A (ja) * 2002-10-07 2006-03-09 ガートナー インコーポレイテッド ビジネスパフォーマンスを評価するための方法及びシステム
WO2006045337A1 (en) * 2004-10-28 2006-05-04 Telecom Italia S.P.A. Method for managing resources in a platform for telecommunication service and/or network management, corresponding platform and computer program product therefor

Also Published As

Publication number Publication date
JPWO2009096519A1 (ja) 2011-05-26
US8966492B2 (en) 2015-02-24
US20110004885A1 (en) 2011-01-06
WO2009096519A1 (ja) 2009-08-06

Similar Documents

Publication Publication Date Title
JP5212381B2 (ja) フィードフォーワード制御方法、サービス提供品質制御装置、システム、プログラム及びその記録媒体
Mandelbaum et al. Data-driven appointment-scheduling under uncertainty: The case of an infusion unit in a cancer center
CN103002005B (zh) 云服务监测***
JP5313990B2 (ja) 応答時間に基づいてサービスリソース消費を推定すること
Hu et al. Web service recommendation based on time series forecasting and collaborative filtering
Müller et al. Comprehensive explanation of SLA violations at runtime
Steiger et al. An improved batch means procedure for simulation output analysis
US20140188446A1 (en) System performance prediction method, information processing device, and control program thereof
CN108390775B (zh) 一种基于spice的用户体验质量评价方法及***
CN110198339A (zh) 一种基于QoE感知的边缘计算任务调度方法
CN113472659B (zh) 转发路径的确定方法、装置及sdn控制器
Zhang et al. Workload service requirements analysis: A queueing network optimization approach
Cao et al. A deep reinforcement learning approach to multi-component job scheduling in edge computing
Xiao et al. AoI-aware incentive mechanism for mobile crowdsensing using stackelberg game
JP4872702B2 (ja) 分散ワークフローシミュレーションシステム、方法、及び、プログラム
Liu et al. Queueing-model-based adaptive control of multi-tiered web applications
JP2009118275A (ja) トラヒック分析装置、方法、およびプログラム
CN109711555A (zh) 一种预测深度学习模型单轮迭代时间的方法和***
JP6608731B2 (ja) 対価設定装置及び対価設定方法
JP4956380B2 (ja) 通信帯域算出装置、方法、およびプログラム
US10855743B1 (en) Efficient video transfer system
CN107203871B (zh) 基于Activiti与任务调度优化的海洋设备检定***
JP2022172503A (ja) 衛星観測計画立案システム、衛星観測計画立案方法、および衛星観測計画立案プログラム
AU2011221395A1 (en) Performance monitoring system
CN111177640A (zh) 一种数据中心运维工作绩效评价***

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110706

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111024

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111024

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130211

R150 Certificate of patent or registration of utility model

Ref document number: 5212381

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160308

Year of fee payment: 3