アプリケーション処理制御システム及び方法
【課題】処理の挙動を制御するための様々なポリシの評価と実行をアプリケーションに設定することなく適用し、アプリケーションの品質、ポリシの評価、アクションの実行に係るパフォーマンスを損なうことなく、ポリシの適用を実現するシステムを提供すること。
【解決手段】アプリケーション処理制御システムにおいて、環境監視部は、システム構成インフラストラクチャが動作する環境を表すシステム環境情報を収集する。ポリシ評価構成部は、実行される処理の内容を表すアクションを有する第1のポリシが与えられ、システム環境情報に基づいて、アプリケーションに適した第1のポリシを第2のポリシとして生成する。ポリロジック生成実行部は、第2のポリシのアクションに該当する実行ロジックを生成し、実行ロジックをポリシロジックとして出力する。処理割込部は、アプリケーションに対するリクエスト処理時にポリシロジックを実行する。
【解決手段】アプリケーション処理制御システムにおいて、環境監視部は、システム構成インフラストラクチャが動作する環境を表すシステム環境情報を収集する。ポリシ評価構成部は、実行される処理の内容を表すアクションを有する第1のポリシが与えられ、システム環境情報に基づいて、アプリケーションに適した第1のポリシを第2のポリシとして生成する。ポリロジック生成実行部は、第2のポリシのアクションに該当する実行ロジックを生成し、実行ロジックをポリシロジックとして出力する。処理割込部は、アプリケーションに対するリクエスト処理時にポリシロジックを実行する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のプログラムモジュールのセットにより構成されるアプリケーションの処理フロー、挙動のポリシに従った制御、ポリシの管理を行うシステムに関する。
【背景技術】
【0002】
従来のシステムの一例が、特許文献1に記載されている。このシステムは、ポリシ管理装置、サービス層を具備し、サービス層は、解析手段、要求手段、制御手段を備えている。ポリシ管理装置は、ポリシを管理し、サービス層からの要求に応じてポリシを提供する。アプリケーションが終了し外部に通信をする際、解析手段は、アプリケーションのパラメタを解析し、要求手段は、ポリシ管理装置へポリシを要求し、制御手段は、そのポリシに従ってアクションを実行する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−358206号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来のシステムは、次のような問題点がある。
【0005】
まず、第1の問題点として、従来のシステムでは、アプリケーションの再利用性に制約が生じることである。
【0006】
その理由として、アプリケーションをポリシに基づいて処理のフローをコントロールするためには、ポリシの評価と実行のトリガとなるロジックをアプリケーションに設定しておく必要があり、それが他のシステムへの流用、品質維持の妨げになることがある。このようなポリシの評価、実行に係る一連の処理は本来、非機能要件であり、システム構成やシステム運用者の運用ポリシにより変化し得るものである。従って、システムによりアプリケーションの設定に手を加えるといった必要性が生じ、その結果、アプリケーションのテストのやり直し等の品質評価を再度実施する必要性が生じる。つまり、ソフトウェア品質管理、コスト面に悪影響がある。このようなアプリケーションの処理中の制御が困難であるため、特許文献1では、アプリケーション終了時にポリシを評価、実行する手法を提案している。
【0007】
次に、第2の問題点として、従来のシステムでは、ポリシの評価とアクションの実行に係るオーバーヘッドが大きいということである。
【0008】
その理由として、これまでの技術のアプローチはポリシを管理するアプリケーションが動作している装置とは異なる装置へポリシの評価とアクションの実行を依頼し、評価、実行する形態であるため、実行までに時間が費やされ、それによる通信コストが高くなる。
【0009】
本発明の目的は、処理の挙動を制御するための様々なポリシの評価と実行をアプリケーションに設定することなく適用し、アプリケーションの品質、ポリシの評価、アクションの実行に係るパフォーマンスを損なうことなく、ポリシの適用を実現することができるアプリケーション処理制御システムを提供することにある。
【課題を解決するための手段】
【0010】
本発明のアプリケーション処理制御システムは、システム構成インフラストラクチャと、環境監視部と、ポリシ評価構成部と、ポリロジック生成実行部と、処理割込部とを具備している。システム構成インフラストラクチャは、アプリケーションが搭載されるハードウェア、アプリケーションが搭載される装置上のソフトウェアを表している。環境監視部は、システム構成インフラストラクチャが動作する環境を表すシステム環境情報を収集する。ポリシ評価構成部は、実行される処理の内容を表すアクションを有する第1のポリシが与えられ、システム環境情報に基づいて、アプリケーションに適した第1のポリシを第2のポリシとして生成する。ポリロジック生成実行部は、第2のポリシのアクションに該当する実行ロジックを生成し、実行ロジックをポリシロジックとして出力する。処理割込部は、アプリケーションに対するリクエスト処理時にポリシロジックを実行する。
【発明の効果】
【0011】
本発明のアプリケーション処理制御システムは、次のような効果がある。
【0012】
まず、第1の効果として、アプリケーションの品質の観点において、品質に影響を与えることなく、柔軟に適用できるポリシによりアプリケーションのコントロールが可能となることにある。
【0013】
その理由として、アプリケーションに変更を加えることなく、アプリケーション外部から挙動をコントロールする技術と組み合わせてポリシの適用を行うことにより、品質に関わるアプリケーションの変更を施すことなく、ポリシを適用できるためである。これは、アプリケーション200の保守の面において非常に重要な要素である。
【0014】
次に、第2の効果として、ポリシの評価、アクションの実行に際して、実行時間などのパフォーマンスを向上させることにある。
【0015】
その理由として、ポリシをロジック化し実行するので、従来のコンピュータシステムのようなポリシの取得、評価、アクションの実行に係る一連の通信処理などを実施しないためである。即ち、ポリシの評価とアクションの実行に係るオーバーヘッドを削減することができる。
【0016】
このように、本発明のアプリケーション処理制御システムは、処理の挙動を制御するための様々なポリシの評価と実行をアプリケーションに実装することなく適用し、アプリケーションの品質、ポリシの評価、アクションの実行に係るパフォーマンスを損なうことなく、ポリシの適用を実現することができる。
【図面の簡単な説明】
【0017】
【図1】図1は、本発明の実施形態によるアプリケーション処理制御システムの構成を示すブロック図である。
【図2】図2は、本発明の実施形態によるアプリケーション処理制御システムにおけるポリシの構成要素を示している。
【図3】図3は、本発明の実施形態によるアプリケーション処理制御システムの動作として、環境監視部101及びポリシ評価構成部102の動作を示すフローチャートである。
【図4】図4は、本発明の実施形態によるアプリケーション処理制御システムの動作として、ポリシロジック生成実行部103の動作を示すフローチャートである。
【図5】図5は、本発明の実施形態によるアプリケーション処理制御システムの動作として、処理割込部104の動作を示すフローチャートである。
【図6】図6は、本発明の実施形態によるアプリケーション処理制御システムの動作として、アプリケーション実行時(リクエスト処理時)の処理割込部104の動作を示すフローチャートである。
【図7】図7は、本発明の実施形態によるアプリケーション処理制御システムの構成を示している(具体例)。
【図8】図8は、本発明の実施形態によるアプリケーション処理制御システムの動作において、ポリシ評価構成部102に入力されるポリシの構成要素を示している(具体例)。
【図9】図9は、本発明の実施形態によるアプリケーション処理制御システムの動作において、ポリシ評価構成部102に出力されるポリシの構成要素を示している(具体例)。
【図10】図10は、本発明の実施形態によるアプリケーション処理制御システムの動作において、図9のポリシの実行時の条件のロジックを示している(具体例)。
【図11】図11は、本発明の実施形態によるアプリケーション処理制御システムの動作において、図9のポリシの実行時の条件及びアクションのロジックを示している(具体例)。
【図12】図12は、本発明の実施形態によるアプリケーション処理制御システムの動作において、コールバックロジックを示している(具体例)。
【図13】図13は、本発明の実施形態によるアプリケーション処理制御システムの動作において、割り込みアスペクトを示している(具体例)。
【発明を実施するための形態】
【0018】
以下に添付図面を参照して、本発明の実施形態によるアプリケーション処理制御システムについて詳細に説明する。
【0019】
[構成]
図1は、本発明の実施形態によるアプリケーション処理制御システムの構成を示すブロック図である。アプリケーション処理制御システムは、システム構成インフラストラクチャ100(以下、システム構成インフラ100と称する)、環境監視部101、ポリシ評価構成部102、ポリロジック生成実行部103、処理割込部104、アプリケーション200を具備している。
【0020】
アプリケーション処理制御システムは、更に、CPU(Central Processing Unit)(図示しない)と、ハードディスク、メモリ等の記録媒体である記録装置(図示しない)と、を具備している。記憶装置には、コンピュータに実行させるためのコンピュータプログラムが記憶されている。CPUは、起動時などに記憶装置からコンピュータプログラムを読み取って実行する。コンピュータプログラムは、環境監視部101、ポリシ評価構成部102、ポリロジック生成実行部103、処理割込部104を含んでいる。また、環境監視部101、ポリシ評価構成部102、ポリロジック生成実行部103、処理割込部104は個別に設けられた装置でもよい。
【0021】
システム構成インフラ100は、アプリケーション200が搭載される装置、ルータ、ハブなどシステムを構成するために必要なネットワーク機器などのハードウェア、又は、アプリケーション200が搭載される装置上のソフトウェア(オペレーティングシステム、ミドルウェア等)を表している。
【0022】
環境監視部101は、システム構成インフラ100が動作する環境を表すシステム環境情報(システムの利用状況を表すリソース情報)を収集する。
【0023】
ポリシ評価構成部102には、システム管理者により第1のポリシが与えられる。ポリシ評価構成部102は、例えばデータベースなどの保持部を備え、第1のポリシを入力したときに、保持部により保存する。
【0024】
図2は、ポリシの構成要素を示している。第1のポリシは、ポリシ識別子、ポリシ適用部位、コンディション、アクションを含んでいる。
【0025】
ポリシ識別子は、自己のポリシを識別する一意な名前である。
【0026】
ポリシ適用部位とは、アプリケーション200内でポリシ評価を実行する位置を表す情報である。これは、例えば、特定のメソッドの実行時、特定のパラメタへの参照時、設定時などであり、メソッドシグネチャの形式やアノテーションなどのマーキングによって表現される。
【0027】
コンディションとは、後述するアクションを実行するための条件を表し、環境条件を含み、更に、実行時の条件を含む場合もある。
【0028】
環境条件は、アプリケーション200が動作する所望の環境を表す情報であり、コンピュータのメモリ搭載量、CPUの種別、クロック周波数、ハードディスクの搭載量などの条件である。例えば、メモリ搭載量が1GB以下、ハードディスクの搭載量が500GB以下といった条件である。
【0029】
実行時の条件は、アプリケーション200の利用者、つまりリクエストを送信したユーザID、ユーザが属するロールなどのリクエストに付帯する情報についての条件である。例えば、ユーザIDがUSER−Aである、ユーザが属するロールが管理者である、などの条件である。
【0030】
アクションは、コンディションに適合するリクエストがあった場合に実行される処理の内容を表している。これは、例えば処理Bを実行する、処理を中断するなどである。
【0031】
そこで、ポリシ評価構成部102は、システム環境情報により第1のポリシのコンディションを評価する。評価の結果、システム環境情報が表す環境とコンディションの環境条件が表す環境とが合致し、コンディションに更に実行時の条件が含まれている場合、ポリシ評価構成部102は、第1のポリシのコンディションから環境条件を除去した新たなポリシを第2のポリシとして生成する。このように、ポリシ評価構成部102と、システム環境情報に基づいて、アプリケーション200に適した第1のポリシを第2のポリシとして生成する。ポリシ評価構成部102は、第2のポリシをポリロジック生成実行部103に送信する。
【0032】
ポリロジック生成実行部103は、ポリシ評価構成部102から送信された第2のポリシを受信する。ポリロジック生成実行部103は、第2のポリシのコンディションを評価するための条件評価文を生成し、第2のポリシのアクションに該当する実行ロジックを生成する。ポリロジック生成実行部103は、上記の条件評価文と上記の実行ロジックを合成したものをポリシロジックである生成する。ポリロジック生成実行部103は、ポリシロジックを第2のポリシのポリシ識別子と共に記録装置に保存し、第2のポリシのポリシ識別子とポリシ適用部位とを処理割込部104に送信する。
【0033】
処理割込部104は、ポリロジック生成実行部103から送信された第2のポリシのポリシ識別子とポリシ適用部位とを受信する。このとき、処理割込部104は、自身へコールバックを実行するためのロジックであるコールバックロジックを生成する。コールバックロジックは、第2のポリシのポリシ識別子を含んでいる。処理割込部104は、第2のポリシのポリシ適用部位が表す位置でコールバックロジックを実行するためのロジックである割り込みアスペクトを生成する。処理割込部104は、この割り込みアスペクトをアプリケーション200に適用する。アプリケーション200に対するリクエスト処理が発生したときに、割り込みアスペクトがリクエスト処理に割り込み、コールバックロジックが実行される。この場合、処理割込部104は、コールバックロジックに含まれるポリシ識別子に従って、記録装置からポリシロジックを読み出し、そのポリシロジックを実行する。
【0034】
[動作]
次に、本発明の実施形態によるアプリケーション処理制御システムの動作について詳細に説明する。
【0035】
図3は、環境監視部101及びポリシ評価構成部102の動作を示すフローチャートである。
【0036】
まず、環境監視部101は、システムの環境情報を受信、収集する(ステップA201)。このシステムの環境情報は、システム管理者によって環境監視部101に入力されることもある。
【0037】
次に、ポリシ評価部102は、システムの環境情報により第1のポリシのコンディションを評価する。ここで評価するコンディションは、環境条件である。環境条件が複数存在する場合、その全てを評価する(ステップA202)。
【0038】
次に、ポリシ評価部102は、上記の第1のポリシに対して、合致しなかった環境条件があるか否かを判定する(ステップA203)。
【0039】
合致しない環境条件があった場合(ステップA203−Y)、ポリシ評価部102は、処理を終了する。
【0040】
合致する環境条件があった場合(ステップA203−N)、ポリシ評価部102は、第1のポリシに実行時の条件が含まれるかを判定する(ステップA204)。
【0041】
第1のポリシに実行時の条件が含まれない場合(ステップA204−N)、ポリシ評価部102は、直ちに第1のポリシの実行する処理内容に定義されている処理を実行する(ステップA205)。
【0042】
第1のポリシに実行時の条件が含まれる場合(ステップA204−Y)、ポリシ評価部102は、第1のポリシのコンディションから環境条件を除去した新たなポリシを第2のポリシとして生成する(ステップA206)。
【0043】
次に、ポリシ評価部102は、生成した第2のポリシをポリシロジック生成実行部103に送信する。
【0044】
図4は、ポリシロジック生成実行部103の動作を示すフローチャートである。
【0045】
まず、ポリシロジック生成実行部103は、ポリシ評価部102から送信された第2のポリシを受信する(ステップA301)。
【0046】
次に、ポリシロジック生成実行部103は、第2のポリシのコンディションを評価するための条件評価文を生成する(ステップA302)。条件評価文は、一般的なif−thenルールにより表現される。
【0047】
次に、ポリシロジック生成実行部103は、第2のポリシのアクションに該当する実行ロジックを生成する(ステップA303)。実行ロジックは、例えば、あるメソッドの呼び出しや、ある別のアプリケーション200の呼び出しや異常終了などを表すロジックである。
【0048】
次に、ポリシロジック生成実行部103は、条件評価文と実行ロジックとを合成したポリシロジックを生成し、第2のポリシのポリシ識別子とセットで記録装置に保存する(ステップA304)。
【0049】
次に、ポリシロジック生成実行部103は、第2のポリシのポリシ識別子及びポリシ適用部位を処理割込部104に送信する(ステップA305)。
【0050】
図5は、処理割込部104の動作を示すフローチャートである。
【0051】
まず、処理割込部104は、ポリシロジック生成実行部103から送信された第2のポリシのポリシ識別子及びポリシ適用部位を受信し、記録装置に保存する(ステップA401)。
【0052】
次に、処理割込部104は、ポリシ識別子を指定し、且つ、自身へコールバックを実行するロジックであるコールバックロジックを生成する(ステップA402)。これは、一般的には処理割込部104のAPIとして定義されたメソッドへの呼び出しロジックである表現される。
【0053】
次に、処理割込部104は、第2のポリシのポリシ適用部位が表す位置でコールバックロジックを実行するためのロジックである割り込みアスペクトを生成する(ステップA403)。割り込みアスペクトは、アプリケーション200の実装アーキテクチャにより異なるロジック形式となる。本発明では、このロジック形式については言及しないものとするが、Java(登録商標)言語であるならば、EclipseプロジェクトのAspectJなどにより定義された形式である。
【0054】
次に、処理割込部104は、上述の割り込みアスペクトをアプリケーション200に適用する(ステップA404)。これは、例えばJava(登録商標)言語であるならば、クラスロードをコントロールするJava(登録商標)エージェントに設定する。
【0055】
図6は、アプリケーション実行時(リクエスト処理時)の処理割込部104の動作を示すフローチャートである。
【0056】
まず、アプリケーション200に対するリクエスト処理が発生したときに、上述の割り込みアスペクトが処理に割り込み、上述のコールバックロジックが実行される(ステップA411)。これにより、アプリケーション200の処理が一時中断され、処理割込部104が呼び出される。
【0057】
次に、処理割込部104は、上述のコールバックロジックに指定されているポリシ識別子に従って、記録装置からポリシロジックを読み出し、それを取得する(ステップA412)。
【0058】
次に、処理割込部104は、上述のポリシロジックを実行する(ステップA413)。これにより、アプリケーション200の処理がポリシロジックに従ってコントロールされることになる。
【0059】
[効果]
本発明の実施形態によるアプリケーション処理制御システムは、次のような効果がある。
【0060】
まず、第1の効果として、アプリケーションの品質の観点において、品質に影響を与えることなく、柔軟に適用できるポリシによりアプリケーションのコントロールが可能となることにある。
【0061】
その理由として、アプリケーションに変更を加えることなく、アプリケーション外部から挙動をコントロールする技術と組み合わせてポリシの適用を行うことにより、品質に関わるアプリケーションの変更を施すことなく、ポリシを適用できるためである。これは、アプリケーション200の保守の面において非常に重要な要素である。
【0062】
次に、第2の効果として、ポリシの評価、アクションの実行に際して、実行時間などのパフォーマンスを向上させることにある。
【0063】
その理由として、ポリシをロジック化しポリシ適用部位で実行するので、従来のシステムのようなポリシの取得、評価、アクションの実行に係る一連の通信処理などを実施しないためである。即ち、ポリシの評価とアクションの実行に係るオーバーヘッドを削減することができる。
【0064】
このように、本発明の実施形態によるアプリケーション処理制御システムは、処理の挙動を制御するための様々なポリシの評価と実行をアプリケーションに設定することなく適用し、アプリケーションの品質、ポリシの評価、アクションの実行に係るパフォーマンスを損なうことなく、ポリシの適用を実現することができる。
【0065】
(具体例)
次に、具体的な例を用いて、本発明の実施形態によるアプリケーション処理制御システムを説明する。
【0066】
[構成]
図7に示されるように、本発明の実施形態によるアプリケーション処理制御システムは、更に、サーバ装置300、管理装置301を具備している。
【0067】
サーバ装置300、管理装置301の各々は、CPU(図示しない)と、ハードディスク、メモリ等の記録媒体である記録装置(図示しない)とを具備している。記憶装置には、コンピュータに実行させるためのコンピュータプログラムが記憶されている。CPUは、起動時などに記憶装置からコンピュータプログラムを読み取って実行する。管理装置301内のコンピュータプログラムは、環境監視部101、ポリシ評価構成部102を含み、サーバ装置300内のコンピュータプログラムは、ポリロジック生成実行部103、処理割込部104を含んでいる。サーバ装置300の記憶装置は、0.8GByteのメモリであるものとする。
【0068】
[動作]
まず、システム管理者は、第1のポリシの登録を行う。具体例では図8に示されるような第1のポリシを登録するものとする。第1のポリシのポリシ識別子をP1000とし、第1のポリシのポリシ適用部位を「Before(enterApplication())」、つまりアプリケーション200の入口となるメソッドが呼びだされる直前とする。第1のポリシが有効となるコンディションは、環境条件として該当アプケーションが動作している装置のメモリ搭載量が1GByte以下であること、実行時の条件としてアプリケーション200へ入力されるデータの量が0.5MByte以上であることを指定している。第1のポリシのアクションとして「Throw Exception」つまり異常終了することを指定している。
【0069】
このような第1のポリシが入力されている前提で各部の動作を以下に説明する。
【0070】
まず、環境監視部101はサーバ装置300のメモリ積載量を取得する。これは、一般的にはオペレーティングシステムのシステム情報を取得するツール等によって行う。こうしてメモリ積載量として0.8GByteという値を得る。次に、ポリシ評価構成部102は、環境監視部101からサーバ装置300のメモリ積載量を取得する。
【0071】
次に、ポリシ評価構成部102は、入力された第1のポリシを評価する。コンディションの環境条件として「該当アプケーションが動作している装置のメモリ搭載量が1GByte以下であること」があるためこれを評価すると、サーバ装置300のメモリ搭載量は0.8GByteであるためこのコンディションに合致する。次に、第1のポリシに合致しなかった環境条件があるかを判定すると、上記で述べた通り全ての環境に合致しているため処理を続行する。次に、コンディションに実行時の条件があるか判定すると、「アプリケーション200へ入力されるデータの量が0.5MByte以上」という条件があるため、これは真となる。次に、第1のポリシのコンディションから環境条件を削除したポリシを新たに構成し直す。その結果、図9に示されるような第2のポリシが得られる。これをサーバ装置300上のポリシロジック生成実行部103に送信する。
【0072】
次に、ポリシロジック生成実行部103は、ポリシ評価構成部102から送信された第2のポリシを受信する。次に、ポリシロジック生成実行部103は、受信した第2のポリシからコンディションの実行時の条件を抽出し、条件評価文を生成する。Java(登録商標)言語を想定した場合、これは、例えば図10に示されるような条件評価文となる。次に、ポリシロジック生成実行部103は、第2のポリシのアクションを抽出し、該当アクションを実行するロジックを生成する。同じく、Java(登録商標)言語を想定した場合、これは上記の条件評価文と結合して、例えば図11に示されるような実行ロジックとなる。次に、ポリシロジック生成実行部103は、生成した条件評価文及び実行ロジックを合成したものをポリシロジックである生成し、第2のポリシのポリシ識別子P1000と共に記録装置に保存する。次に、ポリシロジック生成実行部103は、第2のポリシのポリシ識別子P1000及びポリシ適用部位「Before(enterApplication())」を処理割込部104に送信する。
【0073】
次に、処理割込部104は、ポリシロジック生成実行部103から送信された第2のポリシのポリシ識別子P1000及びポリシ適用部位を受信する。次に、処理割込部104は、第2のポリシの識別子を含み、且つ、自身へのコールバックを実行するためのロジックであるコールバックロジックを生成する。これは、Java(登録商標)言語を想定するならば、例えば図12に示されるようなロジックとなる。次に、処理割込部104は、第2のポリシのポリシ適用部位が表す位置でコールバックロジックを実行するためのロジックである割り込みアスペクトを生成する。これは、Java(登録商標)言語用に提供されているAspectJの利用を想定すると、図13に示されるような定義となる。次に、処理割込部104は、割り込みアスペクトをアプリケーション200に適用する。これは、Java(登録商標)言語用のAspectJを想定するならば、AspectJのアスペクト適用APIに上述の割り込みアスペクトを入力することである。
【0074】
次に、アプリケーション200に対して入力、つまりリクエストがあった際の動作について説明する。アプリケーション200がポリシ適用部位に到達した際、上述の割り込みアスペクトが実行され、処理割込部104への上述のコールバックロジックが実行される。このとき、コールバックロジックには、第2のポリシのポリシ識別子P1000及びコールバックロジックそのもののデータが含まれている。このため、処理割込部104は、ポリシ識別子P1000に該当するポリシロジックを記録装置から読み出し、そのポリシロジックを実行する。この場合、図11に示されるようなポリシロジックが実行される。具体例では、入力つまりinputが0.6GByteであったとすると、上述のポリシロジックの条件判定は真となり、例外を送出する処理が実行され、処理が異常終了される。
【0075】
以上により、アプリケーション200へのポリシの適用と実行が完了する。
【0076】
[効果]
本発明の実施形態によるアプリケーション処理制御システムでは、具体例において上述のような構成を想定した場合に、アプリケーション200の実行をポリシに従ってコントロールする。これにより、本発明の実施形態によるアプリケーション処理制御システムは、アプリケーション200の動作をポリシに従い外部からコントロールし、アプリケーション200の変更を伴わず、品質を維持したまま挙動を制御できる。
【符号の説明】
【0077】
100 システム構成インフラ、
101 環境監視部、
102 ポリシ評価構成部、
103 ポリロジック生成実行部、
104 処理割込部、
200 アプリケーション、
300 サーバ装置、
301 管理装置
【技術分野】
【0001】
本発明は、複数のプログラムモジュールのセットにより構成されるアプリケーションの処理フロー、挙動のポリシに従った制御、ポリシの管理を行うシステムに関する。
【背景技術】
【0002】
従来のシステムの一例が、特許文献1に記載されている。このシステムは、ポリシ管理装置、サービス層を具備し、サービス層は、解析手段、要求手段、制御手段を備えている。ポリシ管理装置は、ポリシを管理し、サービス層からの要求に応じてポリシを提供する。アプリケーションが終了し外部に通信をする際、解析手段は、アプリケーションのパラメタを解析し、要求手段は、ポリシ管理装置へポリシを要求し、制御手段は、そのポリシに従ってアクションを実行する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−358206号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来のシステムは、次のような問題点がある。
【0005】
まず、第1の問題点として、従来のシステムでは、アプリケーションの再利用性に制約が生じることである。
【0006】
その理由として、アプリケーションをポリシに基づいて処理のフローをコントロールするためには、ポリシの評価と実行のトリガとなるロジックをアプリケーションに設定しておく必要があり、それが他のシステムへの流用、品質維持の妨げになることがある。このようなポリシの評価、実行に係る一連の処理は本来、非機能要件であり、システム構成やシステム運用者の運用ポリシにより変化し得るものである。従って、システムによりアプリケーションの設定に手を加えるといった必要性が生じ、その結果、アプリケーションのテストのやり直し等の品質評価を再度実施する必要性が生じる。つまり、ソフトウェア品質管理、コスト面に悪影響がある。このようなアプリケーションの処理中の制御が困難であるため、特許文献1では、アプリケーション終了時にポリシを評価、実行する手法を提案している。
【0007】
次に、第2の問題点として、従来のシステムでは、ポリシの評価とアクションの実行に係るオーバーヘッドが大きいということである。
【0008】
その理由として、これまでの技術のアプローチはポリシを管理するアプリケーションが動作している装置とは異なる装置へポリシの評価とアクションの実行を依頼し、評価、実行する形態であるため、実行までに時間が費やされ、それによる通信コストが高くなる。
【0009】
本発明の目的は、処理の挙動を制御するための様々なポリシの評価と実行をアプリケーションに設定することなく適用し、アプリケーションの品質、ポリシの評価、アクションの実行に係るパフォーマンスを損なうことなく、ポリシの適用を実現することができるアプリケーション処理制御システムを提供することにある。
【課題を解決するための手段】
【0010】
本発明のアプリケーション処理制御システムは、システム構成インフラストラクチャと、環境監視部と、ポリシ評価構成部と、ポリロジック生成実行部と、処理割込部とを具備している。システム構成インフラストラクチャは、アプリケーションが搭載されるハードウェア、アプリケーションが搭載される装置上のソフトウェアを表している。環境監視部は、システム構成インフラストラクチャが動作する環境を表すシステム環境情報を収集する。ポリシ評価構成部は、実行される処理の内容を表すアクションを有する第1のポリシが与えられ、システム環境情報に基づいて、アプリケーションに適した第1のポリシを第2のポリシとして生成する。ポリロジック生成実行部は、第2のポリシのアクションに該当する実行ロジックを生成し、実行ロジックをポリシロジックとして出力する。処理割込部は、アプリケーションに対するリクエスト処理時にポリシロジックを実行する。
【発明の効果】
【0011】
本発明のアプリケーション処理制御システムは、次のような効果がある。
【0012】
まず、第1の効果として、アプリケーションの品質の観点において、品質に影響を与えることなく、柔軟に適用できるポリシによりアプリケーションのコントロールが可能となることにある。
【0013】
その理由として、アプリケーションに変更を加えることなく、アプリケーション外部から挙動をコントロールする技術と組み合わせてポリシの適用を行うことにより、品質に関わるアプリケーションの変更を施すことなく、ポリシを適用できるためである。これは、アプリケーション200の保守の面において非常に重要な要素である。
【0014】
次に、第2の効果として、ポリシの評価、アクションの実行に際して、実行時間などのパフォーマンスを向上させることにある。
【0015】
その理由として、ポリシをロジック化し実行するので、従来のコンピュータシステムのようなポリシの取得、評価、アクションの実行に係る一連の通信処理などを実施しないためである。即ち、ポリシの評価とアクションの実行に係るオーバーヘッドを削減することができる。
【0016】
このように、本発明のアプリケーション処理制御システムは、処理の挙動を制御するための様々なポリシの評価と実行をアプリケーションに実装することなく適用し、アプリケーションの品質、ポリシの評価、アクションの実行に係るパフォーマンスを損なうことなく、ポリシの適用を実現することができる。
【図面の簡単な説明】
【0017】
【図1】図1は、本発明の実施形態によるアプリケーション処理制御システムの構成を示すブロック図である。
【図2】図2は、本発明の実施形態によるアプリケーション処理制御システムにおけるポリシの構成要素を示している。
【図3】図3は、本発明の実施形態によるアプリケーション処理制御システムの動作として、環境監視部101及びポリシ評価構成部102の動作を示すフローチャートである。
【図4】図4は、本発明の実施形態によるアプリケーション処理制御システムの動作として、ポリシロジック生成実行部103の動作を示すフローチャートである。
【図5】図5は、本発明の実施形態によるアプリケーション処理制御システムの動作として、処理割込部104の動作を示すフローチャートである。
【図6】図6は、本発明の実施形態によるアプリケーション処理制御システムの動作として、アプリケーション実行時(リクエスト処理時)の処理割込部104の動作を示すフローチャートである。
【図7】図7は、本発明の実施形態によるアプリケーション処理制御システムの構成を示している(具体例)。
【図8】図8は、本発明の実施形態によるアプリケーション処理制御システムの動作において、ポリシ評価構成部102に入力されるポリシの構成要素を示している(具体例)。
【図9】図9は、本発明の実施形態によるアプリケーション処理制御システムの動作において、ポリシ評価構成部102に出力されるポリシの構成要素を示している(具体例)。
【図10】図10は、本発明の実施形態によるアプリケーション処理制御システムの動作において、図9のポリシの実行時の条件のロジックを示している(具体例)。
【図11】図11は、本発明の実施形態によるアプリケーション処理制御システムの動作において、図9のポリシの実行時の条件及びアクションのロジックを示している(具体例)。
【図12】図12は、本発明の実施形態によるアプリケーション処理制御システムの動作において、コールバックロジックを示している(具体例)。
【図13】図13は、本発明の実施形態によるアプリケーション処理制御システムの動作において、割り込みアスペクトを示している(具体例)。
【発明を実施するための形態】
【0018】
以下に添付図面を参照して、本発明の実施形態によるアプリケーション処理制御システムについて詳細に説明する。
【0019】
[構成]
図1は、本発明の実施形態によるアプリケーション処理制御システムの構成を示すブロック図である。アプリケーション処理制御システムは、システム構成インフラストラクチャ100(以下、システム構成インフラ100と称する)、環境監視部101、ポリシ評価構成部102、ポリロジック生成実行部103、処理割込部104、アプリケーション200を具備している。
【0020】
アプリケーション処理制御システムは、更に、CPU(Central Processing Unit)(図示しない)と、ハードディスク、メモリ等の記録媒体である記録装置(図示しない)と、を具備している。記憶装置には、コンピュータに実行させるためのコンピュータプログラムが記憶されている。CPUは、起動時などに記憶装置からコンピュータプログラムを読み取って実行する。コンピュータプログラムは、環境監視部101、ポリシ評価構成部102、ポリロジック生成実行部103、処理割込部104を含んでいる。また、環境監視部101、ポリシ評価構成部102、ポリロジック生成実行部103、処理割込部104は個別に設けられた装置でもよい。
【0021】
システム構成インフラ100は、アプリケーション200が搭載される装置、ルータ、ハブなどシステムを構成するために必要なネットワーク機器などのハードウェア、又は、アプリケーション200が搭載される装置上のソフトウェア(オペレーティングシステム、ミドルウェア等)を表している。
【0022】
環境監視部101は、システム構成インフラ100が動作する環境を表すシステム環境情報(システムの利用状況を表すリソース情報)を収集する。
【0023】
ポリシ評価構成部102には、システム管理者により第1のポリシが与えられる。ポリシ評価構成部102は、例えばデータベースなどの保持部を備え、第1のポリシを入力したときに、保持部により保存する。
【0024】
図2は、ポリシの構成要素を示している。第1のポリシは、ポリシ識別子、ポリシ適用部位、コンディション、アクションを含んでいる。
【0025】
ポリシ識別子は、自己のポリシを識別する一意な名前である。
【0026】
ポリシ適用部位とは、アプリケーション200内でポリシ評価を実行する位置を表す情報である。これは、例えば、特定のメソッドの実行時、特定のパラメタへの参照時、設定時などであり、メソッドシグネチャの形式やアノテーションなどのマーキングによって表現される。
【0027】
コンディションとは、後述するアクションを実行するための条件を表し、環境条件を含み、更に、実行時の条件を含む場合もある。
【0028】
環境条件は、アプリケーション200が動作する所望の環境を表す情報であり、コンピュータのメモリ搭載量、CPUの種別、クロック周波数、ハードディスクの搭載量などの条件である。例えば、メモリ搭載量が1GB以下、ハードディスクの搭載量が500GB以下といった条件である。
【0029】
実行時の条件は、アプリケーション200の利用者、つまりリクエストを送信したユーザID、ユーザが属するロールなどのリクエストに付帯する情報についての条件である。例えば、ユーザIDがUSER−Aである、ユーザが属するロールが管理者である、などの条件である。
【0030】
アクションは、コンディションに適合するリクエストがあった場合に実行される処理の内容を表している。これは、例えば処理Bを実行する、処理を中断するなどである。
【0031】
そこで、ポリシ評価構成部102は、システム環境情報により第1のポリシのコンディションを評価する。評価の結果、システム環境情報が表す環境とコンディションの環境条件が表す環境とが合致し、コンディションに更に実行時の条件が含まれている場合、ポリシ評価構成部102は、第1のポリシのコンディションから環境条件を除去した新たなポリシを第2のポリシとして生成する。このように、ポリシ評価構成部102と、システム環境情報に基づいて、アプリケーション200に適した第1のポリシを第2のポリシとして生成する。ポリシ評価構成部102は、第2のポリシをポリロジック生成実行部103に送信する。
【0032】
ポリロジック生成実行部103は、ポリシ評価構成部102から送信された第2のポリシを受信する。ポリロジック生成実行部103は、第2のポリシのコンディションを評価するための条件評価文を生成し、第2のポリシのアクションに該当する実行ロジックを生成する。ポリロジック生成実行部103は、上記の条件評価文と上記の実行ロジックを合成したものをポリシロジックである生成する。ポリロジック生成実行部103は、ポリシロジックを第2のポリシのポリシ識別子と共に記録装置に保存し、第2のポリシのポリシ識別子とポリシ適用部位とを処理割込部104に送信する。
【0033】
処理割込部104は、ポリロジック生成実行部103から送信された第2のポリシのポリシ識別子とポリシ適用部位とを受信する。このとき、処理割込部104は、自身へコールバックを実行するためのロジックであるコールバックロジックを生成する。コールバックロジックは、第2のポリシのポリシ識別子を含んでいる。処理割込部104は、第2のポリシのポリシ適用部位が表す位置でコールバックロジックを実行するためのロジックである割り込みアスペクトを生成する。処理割込部104は、この割り込みアスペクトをアプリケーション200に適用する。アプリケーション200に対するリクエスト処理が発生したときに、割り込みアスペクトがリクエスト処理に割り込み、コールバックロジックが実行される。この場合、処理割込部104は、コールバックロジックに含まれるポリシ識別子に従って、記録装置からポリシロジックを読み出し、そのポリシロジックを実行する。
【0034】
[動作]
次に、本発明の実施形態によるアプリケーション処理制御システムの動作について詳細に説明する。
【0035】
図3は、環境監視部101及びポリシ評価構成部102の動作を示すフローチャートである。
【0036】
まず、環境監視部101は、システムの環境情報を受信、収集する(ステップA201)。このシステムの環境情報は、システム管理者によって環境監視部101に入力されることもある。
【0037】
次に、ポリシ評価部102は、システムの環境情報により第1のポリシのコンディションを評価する。ここで評価するコンディションは、環境条件である。環境条件が複数存在する場合、その全てを評価する(ステップA202)。
【0038】
次に、ポリシ評価部102は、上記の第1のポリシに対して、合致しなかった環境条件があるか否かを判定する(ステップA203)。
【0039】
合致しない環境条件があった場合(ステップA203−Y)、ポリシ評価部102は、処理を終了する。
【0040】
合致する環境条件があった場合(ステップA203−N)、ポリシ評価部102は、第1のポリシに実行時の条件が含まれるかを判定する(ステップA204)。
【0041】
第1のポリシに実行時の条件が含まれない場合(ステップA204−N)、ポリシ評価部102は、直ちに第1のポリシの実行する処理内容に定義されている処理を実行する(ステップA205)。
【0042】
第1のポリシに実行時の条件が含まれる場合(ステップA204−Y)、ポリシ評価部102は、第1のポリシのコンディションから環境条件を除去した新たなポリシを第2のポリシとして生成する(ステップA206)。
【0043】
次に、ポリシ評価部102は、生成した第2のポリシをポリシロジック生成実行部103に送信する。
【0044】
図4は、ポリシロジック生成実行部103の動作を示すフローチャートである。
【0045】
まず、ポリシロジック生成実行部103は、ポリシ評価部102から送信された第2のポリシを受信する(ステップA301)。
【0046】
次に、ポリシロジック生成実行部103は、第2のポリシのコンディションを評価するための条件評価文を生成する(ステップA302)。条件評価文は、一般的なif−thenルールにより表現される。
【0047】
次に、ポリシロジック生成実行部103は、第2のポリシのアクションに該当する実行ロジックを生成する(ステップA303)。実行ロジックは、例えば、あるメソッドの呼び出しや、ある別のアプリケーション200の呼び出しや異常終了などを表すロジックである。
【0048】
次に、ポリシロジック生成実行部103は、条件評価文と実行ロジックとを合成したポリシロジックを生成し、第2のポリシのポリシ識別子とセットで記録装置に保存する(ステップA304)。
【0049】
次に、ポリシロジック生成実行部103は、第2のポリシのポリシ識別子及びポリシ適用部位を処理割込部104に送信する(ステップA305)。
【0050】
図5は、処理割込部104の動作を示すフローチャートである。
【0051】
まず、処理割込部104は、ポリシロジック生成実行部103から送信された第2のポリシのポリシ識別子及びポリシ適用部位を受信し、記録装置に保存する(ステップA401)。
【0052】
次に、処理割込部104は、ポリシ識別子を指定し、且つ、自身へコールバックを実行するロジックであるコールバックロジックを生成する(ステップA402)。これは、一般的には処理割込部104のAPIとして定義されたメソッドへの呼び出しロジックである表現される。
【0053】
次に、処理割込部104は、第2のポリシのポリシ適用部位が表す位置でコールバックロジックを実行するためのロジックである割り込みアスペクトを生成する(ステップA403)。割り込みアスペクトは、アプリケーション200の実装アーキテクチャにより異なるロジック形式となる。本発明では、このロジック形式については言及しないものとするが、Java(登録商標)言語であるならば、EclipseプロジェクトのAspectJなどにより定義された形式である。
【0054】
次に、処理割込部104は、上述の割り込みアスペクトをアプリケーション200に適用する(ステップA404)。これは、例えばJava(登録商標)言語であるならば、クラスロードをコントロールするJava(登録商標)エージェントに設定する。
【0055】
図6は、アプリケーション実行時(リクエスト処理時)の処理割込部104の動作を示すフローチャートである。
【0056】
まず、アプリケーション200に対するリクエスト処理が発生したときに、上述の割り込みアスペクトが処理に割り込み、上述のコールバックロジックが実行される(ステップA411)。これにより、アプリケーション200の処理が一時中断され、処理割込部104が呼び出される。
【0057】
次に、処理割込部104は、上述のコールバックロジックに指定されているポリシ識別子に従って、記録装置からポリシロジックを読み出し、それを取得する(ステップA412)。
【0058】
次に、処理割込部104は、上述のポリシロジックを実行する(ステップA413)。これにより、アプリケーション200の処理がポリシロジックに従ってコントロールされることになる。
【0059】
[効果]
本発明の実施形態によるアプリケーション処理制御システムは、次のような効果がある。
【0060】
まず、第1の効果として、アプリケーションの品質の観点において、品質に影響を与えることなく、柔軟に適用できるポリシによりアプリケーションのコントロールが可能となることにある。
【0061】
その理由として、アプリケーションに変更を加えることなく、アプリケーション外部から挙動をコントロールする技術と組み合わせてポリシの適用を行うことにより、品質に関わるアプリケーションの変更を施すことなく、ポリシを適用できるためである。これは、アプリケーション200の保守の面において非常に重要な要素である。
【0062】
次に、第2の効果として、ポリシの評価、アクションの実行に際して、実行時間などのパフォーマンスを向上させることにある。
【0063】
その理由として、ポリシをロジック化しポリシ適用部位で実行するので、従来のシステムのようなポリシの取得、評価、アクションの実行に係る一連の通信処理などを実施しないためである。即ち、ポリシの評価とアクションの実行に係るオーバーヘッドを削減することができる。
【0064】
このように、本発明の実施形態によるアプリケーション処理制御システムは、処理の挙動を制御するための様々なポリシの評価と実行をアプリケーションに設定することなく適用し、アプリケーションの品質、ポリシの評価、アクションの実行に係るパフォーマンスを損なうことなく、ポリシの適用を実現することができる。
【0065】
(具体例)
次に、具体的な例を用いて、本発明の実施形態によるアプリケーション処理制御システムを説明する。
【0066】
[構成]
図7に示されるように、本発明の実施形態によるアプリケーション処理制御システムは、更に、サーバ装置300、管理装置301を具備している。
【0067】
サーバ装置300、管理装置301の各々は、CPU(図示しない)と、ハードディスク、メモリ等の記録媒体である記録装置(図示しない)とを具備している。記憶装置には、コンピュータに実行させるためのコンピュータプログラムが記憶されている。CPUは、起動時などに記憶装置からコンピュータプログラムを読み取って実行する。管理装置301内のコンピュータプログラムは、環境監視部101、ポリシ評価構成部102を含み、サーバ装置300内のコンピュータプログラムは、ポリロジック生成実行部103、処理割込部104を含んでいる。サーバ装置300の記憶装置は、0.8GByteのメモリであるものとする。
【0068】
[動作]
まず、システム管理者は、第1のポリシの登録を行う。具体例では図8に示されるような第1のポリシを登録するものとする。第1のポリシのポリシ識別子をP1000とし、第1のポリシのポリシ適用部位を「Before(enterApplication())」、つまりアプリケーション200の入口となるメソッドが呼びだされる直前とする。第1のポリシが有効となるコンディションは、環境条件として該当アプケーションが動作している装置のメモリ搭載量が1GByte以下であること、実行時の条件としてアプリケーション200へ入力されるデータの量が0.5MByte以上であることを指定している。第1のポリシのアクションとして「Throw Exception」つまり異常終了することを指定している。
【0069】
このような第1のポリシが入力されている前提で各部の動作を以下に説明する。
【0070】
まず、環境監視部101はサーバ装置300のメモリ積載量を取得する。これは、一般的にはオペレーティングシステムのシステム情報を取得するツール等によって行う。こうしてメモリ積載量として0.8GByteという値を得る。次に、ポリシ評価構成部102は、環境監視部101からサーバ装置300のメモリ積載量を取得する。
【0071】
次に、ポリシ評価構成部102は、入力された第1のポリシを評価する。コンディションの環境条件として「該当アプケーションが動作している装置のメモリ搭載量が1GByte以下であること」があるためこれを評価すると、サーバ装置300のメモリ搭載量は0.8GByteであるためこのコンディションに合致する。次に、第1のポリシに合致しなかった環境条件があるかを判定すると、上記で述べた通り全ての環境に合致しているため処理を続行する。次に、コンディションに実行時の条件があるか判定すると、「アプリケーション200へ入力されるデータの量が0.5MByte以上」という条件があるため、これは真となる。次に、第1のポリシのコンディションから環境条件を削除したポリシを新たに構成し直す。その結果、図9に示されるような第2のポリシが得られる。これをサーバ装置300上のポリシロジック生成実行部103に送信する。
【0072】
次に、ポリシロジック生成実行部103は、ポリシ評価構成部102から送信された第2のポリシを受信する。次に、ポリシロジック生成実行部103は、受信した第2のポリシからコンディションの実行時の条件を抽出し、条件評価文を生成する。Java(登録商標)言語を想定した場合、これは、例えば図10に示されるような条件評価文となる。次に、ポリシロジック生成実行部103は、第2のポリシのアクションを抽出し、該当アクションを実行するロジックを生成する。同じく、Java(登録商標)言語を想定した場合、これは上記の条件評価文と結合して、例えば図11に示されるような実行ロジックとなる。次に、ポリシロジック生成実行部103は、生成した条件評価文及び実行ロジックを合成したものをポリシロジックである生成し、第2のポリシのポリシ識別子P1000と共に記録装置に保存する。次に、ポリシロジック生成実行部103は、第2のポリシのポリシ識別子P1000及びポリシ適用部位「Before(enterApplication())」を処理割込部104に送信する。
【0073】
次に、処理割込部104は、ポリシロジック生成実行部103から送信された第2のポリシのポリシ識別子P1000及びポリシ適用部位を受信する。次に、処理割込部104は、第2のポリシの識別子を含み、且つ、自身へのコールバックを実行するためのロジックであるコールバックロジックを生成する。これは、Java(登録商標)言語を想定するならば、例えば図12に示されるようなロジックとなる。次に、処理割込部104は、第2のポリシのポリシ適用部位が表す位置でコールバックロジックを実行するためのロジックである割り込みアスペクトを生成する。これは、Java(登録商標)言語用に提供されているAspectJの利用を想定すると、図13に示されるような定義となる。次に、処理割込部104は、割り込みアスペクトをアプリケーション200に適用する。これは、Java(登録商標)言語用のAspectJを想定するならば、AspectJのアスペクト適用APIに上述の割り込みアスペクトを入力することである。
【0074】
次に、アプリケーション200に対して入力、つまりリクエストがあった際の動作について説明する。アプリケーション200がポリシ適用部位に到達した際、上述の割り込みアスペクトが実行され、処理割込部104への上述のコールバックロジックが実行される。このとき、コールバックロジックには、第2のポリシのポリシ識別子P1000及びコールバックロジックそのもののデータが含まれている。このため、処理割込部104は、ポリシ識別子P1000に該当するポリシロジックを記録装置から読み出し、そのポリシロジックを実行する。この場合、図11に示されるようなポリシロジックが実行される。具体例では、入力つまりinputが0.6GByteであったとすると、上述のポリシロジックの条件判定は真となり、例外を送出する処理が実行され、処理が異常終了される。
【0075】
以上により、アプリケーション200へのポリシの適用と実行が完了する。
【0076】
[効果]
本発明の実施形態によるアプリケーション処理制御システムでは、具体例において上述のような構成を想定した場合に、アプリケーション200の実行をポリシに従ってコントロールする。これにより、本発明の実施形態によるアプリケーション処理制御システムは、アプリケーション200の動作をポリシに従い外部からコントロールし、アプリケーション200の変更を伴わず、品質を維持したまま挙動を制御できる。
【符号の説明】
【0077】
100 システム構成インフラ、
101 環境監視部、
102 ポリシ評価構成部、
103 ポリロジック生成実行部、
104 処理割込部、
200 アプリケーション、
300 サーバ装置、
301 管理装置
【特許請求の範囲】
【請求項1】
アプリケーションが搭載されるハードウェア、前記アプリケーションが搭載される装置上のソフトウェアを表すシステム構成インフラストラクチャと、
前記システム構成インフラストラクチャが動作する環境を表すシステム環境情報を収集する環境監視部と、
実行される処理の内容を表すアクションを有する第1のポリシが与えられ、前記システム環境情報に基づいて、前記アプリケーションに適した前記第1のポリシを第2のポリシとして生成するポリシ評価構成部と、
前記第2のポリシの前記アクションに該当する実行ロジックを生成し、前記実行ロジックを前記ポリシロジックとして出力するポリロジック生成実行部と、
前記アプリケーションに対するリクエスト処理時に前記ポリシロジックを実行する処理割込部と
を具備するアプリケーション処理制御システム。
【請求項2】
前記第1のポリシは、
前記アプリケーションが動作する所望の環境を表す環境条件を含むコンディション
を更に有し、
前記ポリシ評価構成部は、
前記システム環境情報により前記第1のポリシの前記コンディションを評価し、
前記評価の結果、前記システム環境情報が表す環境と前記コンディションの前記環境条件が表す環境とが合致し、前記コンディションに更に実行時の条件が含まれている場合、前記第1のポリシの前記コンディションから前記環境条件を除去したポリシを前記第2のポリシとして生成する
請求項1に記載のアプリケーション処理制御システム。
【請求項3】
前記ポリロジック生成実行部は、
前記第2のポリシの前記コンディションを評価するための条件評価文を生成し、
前記条件評価文と前記実行ロジックを合成した前記ポリシロジックを生成する
請求項2に記載のアプリケーション処理制御システム。
【請求項4】
前記第1、2のポリシは、
前記アプリケーション内でポリシ評価を実行する位置を表すポリシ適用部位
を更に含み、
前記処理割込部は、
自身へコールバックを実行するためのロジックであるコールバックロジックを生成し、
前記第2のポリシの前記ポリシ適用部位が表す位置で前記コールバックロジックを実行するためのロジックである割り込みアスペクトを生成し、
前記割り込みアスペクトを前記アプリケーションに適用し、
前記アプリケーションに対するリクエスト処理が発生したときに、前記割り込みアスペクトが前記リクエスト処理に割り込み、前記コールバックロジックが実行された場合、前記ポリシロジックを実行する
請求項1〜3のいずれかに記載のアプリケーション処理制御システム。
【請求項5】
前記第1、2のポリシは、
自己を識別するポリシ識別子
を更に含み、
前記ポリロジック生成実行部は、
前記ポリシロジックを前記第2のポリシの前記ポリシ識別子と共に記録装置に保存し、
前記コールバックロジックは、前記第2のポリシの前記ポリシ識別子を含み、
前記処理割込部は、
前記アプリケーションに対する前記リクエスト処理が発生したときに、前記割り込みアスペクトが前記リクエスト処理に割り込み、前記コールバックロジックが実行された場合、前記コールバックロジックに含まれる前記ポリシ識別子に従って、前記記録装置から前記ポリシロジックを読み出し、前記ポリシロジックを実行する
請求項4に記載のアプリケーション処理制御システム。
【請求項6】
前記環境監視部及び前記ポリシ評価構成部を備えた管理装置と、
前記ポリロジック生成実行部及び前記処理割込部を備えたサーバ装置と
を更に具備する請求項1〜5のいずれかに記載のアプリケーション処理制御システム。
【請求項7】
請求項1又は2に記載のアプリケーション処理制御システムに適用される前記ポリシ評価構成部であるポリシ評価構成装置。
【請求項8】
請求項1〜5のいずれかに記載のアプリケーション処理制御システムに適用される前記ポリロジック生成実行部であるポリロジック生成実行装置。
【請求項9】
請求項1〜5のいずれかに記載のアプリケーション処理制御システムに適用される前記処理割込部である処理割込装置。
【請求項10】
請求項1〜5のいずれかに記載のアプリケーション処理制御システムに適用される前記環境監視部及び前記ポリシ評価構成部を具備する管理装置。
【請求項11】
請求項1〜5のいずれかに記載のアプリケーション処理制御システムに適用される前記ポリロジック生成実行部及び前記処理割込部を具備するサーバ装置。
【請求項12】
システム構成インフラストラクチャが動作する環境を表すシステム環境情報を収集するステップと、前記システム構成インフラストラクチャは、アプリケーションが搭載されるハードウェア、前記アプリケーションが搭載される装置上のソフトウェアを表し、
実行される処理の内容を表すアクションを有する第1のポリシを入力するステップと、
前記システム環境情報に基づいて、前記アプリケーションに適した前記第1のポリシを第2のポリシとして生成するステップと、
前記第2のポリシの前記アクションに該当する実行ロジックを生成するステップと、
前記実行ロジックを前記ポリシロジックとして出力するステップと、
前記アプリケーションに対するリクエスト処理時に前記ポリシロジックを実行するステップと
を具備するアプリケーション処理制御方法。
【請求項13】
前記第1のポリシは、
前記アプリケーションが動作する所望の環境を表す環境条件を含むコンディション
を更に有し、
前記第2のポリシを生成するステップは、
前記システム環境情報により前記第1のポリシの前記コンディションを評価するステップと、
前記評価の結果、前記システム環境情報が表す環境と前記コンディションの前記環境条件が表す環境とが合致し、前記コンディションに更に実行時の条件が含まれている場合、前記第1のポリシの前記コンディションから前記環境条件を除去したポリシを前記第2のポリシとして生成するステップと
を含む請求項12に記載のアプリケーション処理制御方法。
【請求項14】
前記ポリシロジックを出力するステップは、
前記第2のポリシの前記コンディションを評価するための条件評価文を生成するステップと、
前記条件評価文と前記実行ロジックを合成した前記ポリシロジックを生成するステップと
を含む請求項13に記載のアプリケーション処理制御方法。
【請求項15】
前記第1、2のポリシは、
前記アプリケーション内でポリシ評価を実行する位置を表すポリシ適用部位
を更に含み、
前記ポリシロジックを実行するステップは、
自身へコールバックを実行するためのロジックであるコールバックロジックを生成するステップと、
前記第2のポリシの前記ポリシ適用部位が表す位置で前記コールバックロジックを実行するためのロジックである割り込みアスペクトを生成するステップと、
前記割り込みアスペクトを前記アプリケーションに適用するステップと、
前記アプリケーションに対するリクエスト処理が発生したときに、前記割り込みアスペクトが前記リクエスト処理に割り込み、前記コールバックロジックが実行された場合、前記ポリシロジックを実行するステップと
を含む請求項12〜14のいずれかに記載のアプリケーション処理制御方法。
【請求項16】
前記第1、2のポリシは、
自己を識別するポリシ識別子
を更に含み、
前記ポリシロジックを出力するステップは、
前記ポリシロジックを前記第2のポリシの前記ポリシ識別子と共に記録装置に保存するステップ
を更に含み、
前記コールバックロジックは、前記第2のポリシの前記ポリシ識別子を含み、
前記ポリシロジックを実行するステップは、
前記アプリケーションに対する前記リクエスト処理が発生したときに、前記割り込みアスペクトが前記リクエスト処理に割り込み、前記コールバックロジックが実行された場合、
前記コールバックロジックに含まれる前記ポリシ識別子に従って、前記記録装置から前記ポリシロジックを読み出すステップと、
前記ポリシロジックを実行するステップと
を更に含む請求項15に記載のアプリケーション処理制御システム。
【請求項17】
請求項12〜16のいずれかに記載のアプリケーション処理制御方法の各ステップをコンピュータに実行させるコンピュータプログラム。
【請求項18】
請求項12又は13に記載のアプリケーション処理制御方法に適用され、前記第1のポリシを入力するステップと、前記第2のポリシを生成するステップとの各ステップをコンピュータであるポリシ評価構成装置に実行させるコンピュータプログラム。
【請求項19】
請求項12〜16のいずれかに記載のアプリケーション処理制御方法に適用され、前記実行ロジックを生成するステップと、前記ポリシロジックを出力するステップとの各ステップをコンピュータであるポリロジック生成実行装置に実行させるコンピュータプログラム。
【請求項20】
請求項12〜16のいずれかに記載のアプリケーション処理制御方法に適用され、前記ポリシロジックを実行するステップをコンピュータである処理割込装置に実行させるコンピュータプログラム。
【請求項21】
請求項12〜16のいずれかに記載のアプリケーション処理制御方法に適用され、前記システム環境情報を収集するステップと、前記第1のポリシを入力するステップと、前記第2のポリシを生成するステップとの各ステップをコンピュータである管理装置に実行させるコンピュータプログラム。
【請求項22】
請求項12〜16のいずれかに記載のアプリケーション処理制御方法に適用され、前記実行ロジックを生成するステップと、前記ポリシロジックを出力するステップと、前記ポリシロジックを実行するステップとの各ステップをコンピュータであるサーバ装置に実行させるコンピュータプログラム。
【請求項1】
アプリケーションが搭載されるハードウェア、前記アプリケーションが搭載される装置上のソフトウェアを表すシステム構成インフラストラクチャと、
前記システム構成インフラストラクチャが動作する環境を表すシステム環境情報を収集する環境監視部と、
実行される処理の内容を表すアクションを有する第1のポリシが与えられ、前記システム環境情報に基づいて、前記アプリケーションに適した前記第1のポリシを第2のポリシとして生成するポリシ評価構成部と、
前記第2のポリシの前記アクションに該当する実行ロジックを生成し、前記実行ロジックを前記ポリシロジックとして出力するポリロジック生成実行部と、
前記アプリケーションに対するリクエスト処理時に前記ポリシロジックを実行する処理割込部と
を具備するアプリケーション処理制御システム。
【請求項2】
前記第1のポリシは、
前記アプリケーションが動作する所望の環境を表す環境条件を含むコンディション
を更に有し、
前記ポリシ評価構成部は、
前記システム環境情報により前記第1のポリシの前記コンディションを評価し、
前記評価の結果、前記システム環境情報が表す環境と前記コンディションの前記環境条件が表す環境とが合致し、前記コンディションに更に実行時の条件が含まれている場合、前記第1のポリシの前記コンディションから前記環境条件を除去したポリシを前記第2のポリシとして生成する
請求項1に記載のアプリケーション処理制御システム。
【請求項3】
前記ポリロジック生成実行部は、
前記第2のポリシの前記コンディションを評価するための条件評価文を生成し、
前記条件評価文と前記実行ロジックを合成した前記ポリシロジックを生成する
請求項2に記載のアプリケーション処理制御システム。
【請求項4】
前記第1、2のポリシは、
前記アプリケーション内でポリシ評価を実行する位置を表すポリシ適用部位
を更に含み、
前記処理割込部は、
自身へコールバックを実行するためのロジックであるコールバックロジックを生成し、
前記第2のポリシの前記ポリシ適用部位が表す位置で前記コールバックロジックを実行するためのロジックである割り込みアスペクトを生成し、
前記割り込みアスペクトを前記アプリケーションに適用し、
前記アプリケーションに対するリクエスト処理が発生したときに、前記割り込みアスペクトが前記リクエスト処理に割り込み、前記コールバックロジックが実行された場合、前記ポリシロジックを実行する
請求項1〜3のいずれかに記載のアプリケーション処理制御システム。
【請求項5】
前記第1、2のポリシは、
自己を識別するポリシ識別子
を更に含み、
前記ポリロジック生成実行部は、
前記ポリシロジックを前記第2のポリシの前記ポリシ識別子と共に記録装置に保存し、
前記コールバックロジックは、前記第2のポリシの前記ポリシ識別子を含み、
前記処理割込部は、
前記アプリケーションに対する前記リクエスト処理が発生したときに、前記割り込みアスペクトが前記リクエスト処理に割り込み、前記コールバックロジックが実行された場合、前記コールバックロジックに含まれる前記ポリシ識別子に従って、前記記録装置から前記ポリシロジックを読み出し、前記ポリシロジックを実行する
請求項4に記載のアプリケーション処理制御システム。
【請求項6】
前記環境監視部及び前記ポリシ評価構成部を備えた管理装置と、
前記ポリロジック生成実行部及び前記処理割込部を備えたサーバ装置と
を更に具備する請求項1〜5のいずれかに記載のアプリケーション処理制御システム。
【請求項7】
請求項1又は2に記載のアプリケーション処理制御システムに適用される前記ポリシ評価構成部であるポリシ評価構成装置。
【請求項8】
請求項1〜5のいずれかに記載のアプリケーション処理制御システムに適用される前記ポリロジック生成実行部であるポリロジック生成実行装置。
【請求項9】
請求項1〜5のいずれかに記載のアプリケーション処理制御システムに適用される前記処理割込部である処理割込装置。
【請求項10】
請求項1〜5のいずれかに記載のアプリケーション処理制御システムに適用される前記環境監視部及び前記ポリシ評価構成部を具備する管理装置。
【請求項11】
請求項1〜5のいずれかに記載のアプリケーション処理制御システムに適用される前記ポリロジック生成実行部及び前記処理割込部を具備するサーバ装置。
【請求項12】
システム構成インフラストラクチャが動作する環境を表すシステム環境情報を収集するステップと、前記システム構成インフラストラクチャは、アプリケーションが搭載されるハードウェア、前記アプリケーションが搭載される装置上のソフトウェアを表し、
実行される処理の内容を表すアクションを有する第1のポリシを入力するステップと、
前記システム環境情報に基づいて、前記アプリケーションに適した前記第1のポリシを第2のポリシとして生成するステップと、
前記第2のポリシの前記アクションに該当する実行ロジックを生成するステップと、
前記実行ロジックを前記ポリシロジックとして出力するステップと、
前記アプリケーションに対するリクエスト処理時に前記ポリシロジックを実行するステップと
を具備するアプリケーション処理制御方法。
【請求項13】
前記第1のポリシは、
前記アプリケーションが動作する所望の環境を表す環境条件を含むコンディション
を更に有し、
前記第2のポリシを生成するステップは、
前記システム環境情報により前記第1のポリシの前記コンディションを評価するステップと、
前記評価の結果、前記システム環境情報が表す環境と前記コンディションの前記環境条件が表す環境とが合致し、前記コンディションに更に実行時の条件が含まれている場合、前記第1のポリシの前記コンディションから前記環境条件を除去したポリシを前記第2のポリシとして生成するステップと
を含む請求項12に記載のアプリケーション処理制御方法。
【請求項14】
前記ポリシロジックを出力するステップは、
前記第2のポリシの前記コンディションを評価するための条件評価文を生成するステップと、
前記条件評価文と前記実行ロジックを合成した前記ポリシロジックを生成するステップと
を含む請求項13に記載のアプリケーション処理制御方法。
【請求項15】
前記第1、2のポリシは、
前記アプリケーション内でポリシ評価を実行する位置を表すポリシ適用部位
を更に含み、
前記ポリシロジックを実行するステップは、
自身へコールバックを実行するためのロジックであるコールバックロジックを生成するステップと、
前記第2のポリシの前記ポリシ適用部位が表す位置で前記コールバックロジックを実行するためのロジックである割り込みアスペクトを生成するステップと、
前記割り込みアスペクトを前記アプリケーションに適用するステップと、
前記アプリケーションに対するリクエスト処理が発生したときに、前記割り込みアスペクトが前記リクエスト処理に割り込み、前記コールバックロジックが実行された場合、前記ポリシロジックを実行するステップと
を含む請求項12〜14のいずれかに記載のアプリケーション処理制御方法。
【請求項16】
前記第1、2のポリシは、
自己を識別するポリシ識別子
を更に含み、
前記ポリシロジックを出力するステップは、
前記ポリシロジックを前記第2のポリシの前記ポリシ識別子と共に記録装置に保存するステップ
を更に含み、
前記コールバックロジックは、前記第2のポリシの前記ポリシ識別子を含み、
前記ポリシロジックを実行するステップは、
前記アプリケーションに対する前記リクエスト処理が発生したときに、前記割り込みアスペクトが前記リクエスト処理に割り込み、前記コールバックロジックが実行された場合、
前記コールバックロジックに含まれる前記ポリシ識別子に従って、前記記録装置から前記ポリシロジックを読み出すステップと、
前記ポリシロジックを実行するステップと
を更に含む請求項15に記載のアプリケーション処理制御システム。
【請求項17】
請求項12〜16のいずれかに記載のアプリケーション処理制御方法の各ステップをコンピュータに実行させるコンピュータプログラム。
【請求項18】
請求項12又は13に記載のアプリケーション処理制御方法に適用され、前記第1のポリシを入力するステップと、前記第2のポリシを生成するステップとの各ステップをコンピュータであるポリシ評価構成装置に実行させるコンピュータプログラム。
【請求項19】
請求項12〜16のいずれかに記載のアプリケーション処理制御方法に適用され、前記実行ロジックを生成するステップと、前記ポリシロジックを出力するステップとの各ステップをコンピュータであるポリロジック生成実行装置に実行させるコンピュータプログラム。
【請求項20】
請求項12〜16のいずれかに記載のアプリケーション処理制御方法に適用され、前記ポリシロジックを実行するステップをコンピュータである処理割込装置に実行させるコンピュータプログラム。
【請求項21】
請求項12〜16のいずれかに記載のアプリケーション処理制御方法に適用され、前記システム環境情報を収集するステップと、前記第1のポリシを入力するステップと、前記第2のポリシを生成するステップとの各ステップをコンピュータである管理装置に実行させるコンピュータプログラム。
【請求項22】
請求項12〜16のいずれかに記載のアプリケーション処理制御方法に適用され、前記実行ロジックを生成するステップと、前記ポリシロジックを出力するステップと、前記ポリシロジックを実行するステップとの各ステップをコンピュータであるサーバ装置に実行させるコンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2010−237935(P2010−237935A)
【公開日】平成22年10月21日(2010.10.21)
【国際特許分類】
【出願番号】特願2009−84812(P2009−84812)
【出願日】平成21年3月31日(2009.3.31)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】
【公開日】平成22年10月21日(2010.10.21)
【国際特許分類】
【出願日】平成21年3月31日(2009.3.31)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】
[ Back to top ]