JP4067784B2 - ルールベースを配信するためのプログラム - Google Patents

ルールベースを配信するためのプログラム Download PDF

Info

Publication number
JP4067784B2
JP4067784B2 JP2001158434A JP2001158434A JP4067784B2 JP 4067784 B2 JP4067784 B2 JP 4067784B2 JP 2001158434 A JP2001158434 A JP 2001158434A JP 2001158434 A JP2001158434 A JP 2001158434A JP 4067784 B2 JP4067784 B2 JP 4067784B2
Authority
JP
Japan
Prior art keywords
rule base
rule
usage
base
information
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.)
Expired - Fee Related
Application number
JP2001158434A
Other languages
English (en)
Other versions
JP2002351664A (ja
Inventor
敦 ▲吉▼田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001158434A priority Critical patent/JP4067784B2/ja
Publication of JP2002351664A publication Critical patent/JP2002351664A/ja
Application granted granted Critical
Publication of JP4067784B2 publication Critical patent/JP4067784B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はルールベースを配信するためのプログラムおよびルールベースを利用するためのプログラムに関し、特に適宜更新されるルールベースを配信するためのプログラムおよび適宜更新されるルールベースを利用するためのプログラムに関する。
【0002】
【従来の技術】
人工知能やエキスパートシステムを構築するための手法の1つとして、ルールベースと呼ばれるものがある。ルールベースは、問題を解決するための知識を、IF(前提条件)〜THEN(動作)形式のプロダクション・ルールとして表したものである。そして、推論エンジンがルールベースを参照し、与えられた問題に対して次々にルールを適用し、解を見つける。
【0003】
ルールベースは、アプリケーションの動作を制御する規則を表すデータとして利用できる。この場合、ルールベースを、インターネット、エクストラネット、またはイントラネットにおいて各利用者に供給することができる。各種業務を遂行するためのアプリケーションプログラムで実現される機能(アプリケーション)に、ルールベースを供給すれば、業務の効率化を図ることができる。
【0004】
ルールベースの供給システムが適用される主な業務としては、たとえば以下のような業務が挙げられる。
・翻訳作業で使用する翻訳辞書の自動配付と管理業務
・文書作成に使用するかな漢字変換辞書の自動配付と管理業務
・文書校正に使用する校正規則辞書の自動配付と管理業務
・ワークフローシステムにおけるワークフロー生成規則データの自動配付と管理業務
図30は、従来のルールベースの運用形態を示す概念図である。従来の運用形態では、ルールベース提供者910側が最新のルールベース911を管理している。そして、ルールベース提供者910がルールベース利用者920にCD−ROM(Compact Disc Read Only Memory)などの媒体でルールベース911を供給するか、WWW(World Wide Web)サーバやftpサーバなどの公開サーバ912にルールベース911を置いておく。ルールベース利用者920は、公開サーバ912のルールベース911を自分でダウンロードし、クライアントコンピュータにインストール/更新する。
【0005】
このように、ルールベース提供者から利用者へルールベースが配付されることで、利用者が、最新の版数のルールベースを使用することができる。なお、ルールベース911を自動配信・自動更新するシステムも近年登場してきている。
【0006】
【発明が解決しようとする課題】
しかし、従来のシステムでは、管理者によるルールベースの作成または編集作業が、利用者の利用状況を加味せずに行われていた。そのため、管理者側が想定していたルールベースの利用状況と、実際に利用者が利用したときの利用状況とが異なることにより、ルールベースに定義されたルールが、実際の運用において非効率的となる場合があった。従来のシステムでは、処理効率の悪いルールをユーザの利用状況に応じて変更することができなかった。そのため、利用者は、非効率的なルールが定義されたルールベースを使用し続けなければならず、業務の非効率化を招いていた。
【0007】
本発明はこのような点に鑑みてなされたものであり、利用者の使用状況に応じてルールベースを更新できる、ルールベースを配信するためのプログラムを提供することを目的とする。
【0008】
【課題を解決するための手段】
本発明では上記課題を解決するために、図1に示すような処理をコンピュータに実行させるためのプログラムが提供される。本発明のプログラムは、少なくとも1つのルールベース利用装置2,3,4にルールベース1aを配信するためのプログラムである。このプログラムは、コンピュータに、ルールベース1aをルールベース利用装置2,3,4に配信させ(ステップS2)、ルールベース利用装置2,3,4におけるルールベース2aの利用状況を示す利用情報2bを、ルールベース利用装置2,3,4から集信させ(ステップS8)、ルールベース利用装置2,3,4から収集した利用情報2bに基づいて、ルールベース1aの改善内容を判断させる(ステップS9)。
【0009】
これにより、コンピュータはルールベース提供装置1として機能する。このルールベース提供装置1を用いることで、ルールベース利用装置2におけるルールベース2aの利用状況を、ルールベース1aに反映させることが可能となる。その結果、ルールベース提供装置1の利用者は、ルールベース利用装置2におけるルールベース2aの利用した処理の効率を向上させるためのルールベース1aの改善内容を得ることができる。そして、得られた改善内容に従ってルールベース1aを編集すれば、ルールベース1aを用いた処理の処理効率を向上させることができる。
【0010】
また、本発明は上記課題を解決するために、ルールベース提供装置1から配信されるルールベース1aを利用するためのプログラムが適用される。このプログラムは、コンピュータに、ルールベース提供装置1から配信されたルールベース1aを更新させ(ステップS4)、格納後のルールベース2aを利用した処理を実行させ(ステップS5)、ルールベース2aの利用状況を監視して、利用状況を示す利用情報2bを生成させ(ステップS6)、生成された利用情報2bを、ルールベース提供装置1に送信させる。
【0011】
これにより、コンピュータはルールベース利用装置2として機能する。ルールベース利用装置2が、ルールベース2aの利用状況を、ルールベース提供装置1に送信することで、ルールベース利用装置2によるルールベース2aの利用状況を、ルールベース1aの編集作業に反映させることができる。
【0012】
また、本発明は上記課題を解決するために、ルールベースを利用するためのプログラムにおいて、コンピュータに、ルールベースを利用した処理を実行し、ルールベースの利用状況を監視して、利用状況を示す利用情報を生成し、利用情報に基づいてルールベースの改善内容を判断し、ルールベースの改善内容に従って、ルールベースを編集する、処理を実行させることを特徴とするプログラムを提供する。
【0013】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図1は、本発明の原理構成図である。本発明は、大別してルールベース提供装置1と複数のルールベース利用装置2,3,4とで構成される。なお、各ルールベース利用装置2,3,4は、それぞれ同様の構成および機能を有しているため、以下、代表的にルールベース利用装置2の構成と機能とを説明する。
【0014】
ルールベース提供装置1は、ルールベース1aと利用統計情報1bとを格納している。ルールベース1aは、問題を解決するための知識をルールの集合で表現したものである。ルールベース1aは、ルールベース利用装置2,3,4に配付するためのものである。利用統計情報1bは、ルールベース利用装置2,3,4におけるルールベースの利用情報2bを集めた統計データである。
【0015】
ルールベース利用装置2は、ルールベース2aと利用情報2bとを有している。ルールベース2aは、ルールベース利用装置2自身が利用するルールベースである。利用情報2bは、ルールベース利用装置2におけるルールベース2aの利用状況を示す情報である。
【0016】
ルールベース提供装置1は、操作入力に応答して、ルールベース1aの適用条件の設定処理を行う(ステップS1)。適用条件は、ルールベース1aをルールベース利用装置2,3,4において利用可能とするための条件(適用開始条件や適用終了条件)である。次に、ルールベース提供装置1は、所定のタイミングで、ルールベース1aと適用条件とをルールベース利用装置2,3,4へ配付する(ステップS2)。すなわち、ルールベース1aと適用条件とが自動配付される。
【0017】
ルールベース利用装置2は、ルールベース提供装置1から配付されたルールベース1aと適用条件とを受信する(ステップS3)。次に、ルールベース利用装置2は、ルールベース提供装置1から受け取った適用条件(適用開始条件)が満たされるのを待って、ルールベース提供装置1から受け取ったルールベース1aを用いて、ルールベース2aを更新する(ステップS4)。なお、ルールベース利用装置2は、適用条件における適用終了条件が満たされると、ルールベース2aを削除する。
【0018】
ルールベース利用装置2は、ルールベース1aを用いて更新されたルールベース2aを利用する(ステップS5)。このとき、ルールベース利用装置2は、ルールベース2aの利用状況を示す利用情報2bを収集する(ステップS6)。そして、ルールベース利用装置2は、収集した利用情報2bを、任意のタイミングでルールベース提供装置1へ送信する(ステップS7)。
【0019】
ルールベース提供装置1は、複数のルールベース利用装置2,3,4から送られる利用情報を集信する(ステップS8)。集信した利用情報は、利用統計情報1bとして、ルールベース提供装置1内に蓄えられる。次に、ルールベース提供装置1は、利用統計情報1bからルールベース1aの改善内容を判断し(ステップS9)、判断した改善内容に応じて、ルールベース1aを編集する(ステップS10)。
【0020】
このようにして、ルールベース提供装置1に、ルールベース1aの適用条件を設定すると、各ルールベース利用装置2,3,4にルールベース1aと適用条件とが自動的に配付される。ルールベース利用装置2,3,4に配付されたルールベース1aは、ルールベース提供装置1においてあらかじめ設定した適用条件が、ルールベース利用装置2,3,4において成立したことが検出されると、自動更新(古い版がない場合はインストール・セットアップ)または削除される。
【0021】
ルールベース利用装置2におけるルールベース2aの利用状況(たとえば、各ルール毎の利用回数やルール間の呼出し回数)を示す利用情報2bは、ルールベース提供装置1に自動的に集められる。そして、ルールベース提供装置1において、各ルールベース利用装置2,3,4から収集した利用情報で構成される利用統計情報1bを元に、利用状況を反映したルールベース1a更新のための編集を行うことができる。
【0022】
このように、ルールベースの利用情報を集信し、その内容に応じてルールベース1aを更新することで、ルールベース利用装置2,3,4におけるルールベースの利用形態に合わせて、ルールベース1aを最適化することができる。これにより、処理効率の高いルールベース1aを構築し、そのルールベース1aをルールベース利用装置2,3,4に提供することができる。その結果、ルールベース利用装置2,3,4におけるルールベースを用いた処理の処理効率が向上する。
【0023】
図2は、本実施の形態を適用するシステムの構成例を示す図である。ルールベース提供装置100には、ネットワーク10を介して、複数のルールベース利用装置200,200a,200bが接続されている。ネットワーク10は、たとえばインターネットのような広域ネットワークである。
【0024】
ルールベース提供装置100は、ルールベースを格納しており、適宜、格納しているルールベースを複数のルールベース利用装置200,200a,200bに配信する。また、ルールベース提供装置100は、各ルールベース利用装置200,200a,200bにおけるルールベースの使用状況を収集し、その使用状況に応じて、ルールベースを編集することができる。
【0025】
ルールベース利用装置200,200a,200bは、ルールベースに基づいた処理を実行するアプリケーションを有している。また、ルールベース利用装置200,200a,200bは、ルールベースの利用状況を、ルールベース提供装置100へ送信することができる。
【0026】
図3は、本発明の実施の形態に用いるルールベース提供装置のハードウェア構成例を示す図である。ルールベース提供装置100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、および通信インタフェース106が接続されている。
【0027】
RAM102は、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103は、OS、アプリケーションプログラム、ルールベースなどが格納される。
【0028】
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。
【0029】
通信インタフェース106は、ネットワーク10に接続されている。ネットワーク10は、たとえばインターネットのような広域ネットワークである。通信インタフェース106は、ネットワーク10を介して、他のコンピュータとの間でデータの送受信を行う。
【0030】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図3では、ルールベース提供装置100のハードウェア構成について説明したが、ルールベース利用装置200,200a,200bも同様のハードウェア構成で実現することができる。
【0031】
図4は、ルールベース提供装置の機能構成例を示すブロック図である。ルールベース提供装置100は、HDD103などの記憶装置に、複数のルールベース111、変換済形式ルールベース112、修正指示生成規則113、ルールベースに関する利用統計情報114を格納している。
【0032】
複数のルールベース111は、ルールベース利用装置200,200a,200bに提供するルール群である。ルールベース111は、たとえば、翻訳作業で使用する翻訳辞書、文書作成に使用するかな漢字変換辞書の自動配付と管理業務、文書校正に使用する校正規則辞書の自動配付と管理業務、ワークフローシステムにおけるワークフロー生成規則データなどである。なお、各ルールベース111には、適用開始/終了条件を設定することができる。
【0033】
変換済形式ルールベース112は、ルールベース111を、自動配付に適した形式に変換した後のデータである。たとえば、ルールベース111の以前の版数からの差分データなどが、変換済形式ルールベース112として格納される。
【0034】
修正指示生成規則113は、修正指示を生成するための生成規則に関する情報である。
利用統計情報114は、ルールベース利用装置200,200a,200bから収集した利用情報を統合させた統計的な情報である。
【0035】
ルールベース提供装置100は、処理機能として、適用開始/終了条件決定装置121、ルールベース形式変換装置122、ルールベース自動配付装置123、修正指示生成装置124、ルールベース編集装置125、利用状況集信装置126、利用統計情報格納装置127、および利用統計情報取得装置128を有している。なお、適用開始/終了条件決定装置121、ルールベース編集装置125、および利用統計情報取得装置128は、入出力装置14との間で情報の送受信を行うためのユーザインタフェースを有している。入出力装置14は、モニタ11、キーボード12およびマウス13で構成される装置である。
【0036】
適用開始/終了条件決定装置121は、ルールベース提供者からの入出力装置14を用いた操作入力に応答して、ルールベース111、ルールベース配付先またはルールベース配付先のグループを選択し、選択されたルールベース111に対して適用開始/終了条件を設定する。
【0037】
ルールベース形式変換装置122は、ルールベース111と、ルールベース111に設定された適用開始/終了条件などの付随情報を、自動配付に適したデータ形式に変換する。ルールベース形式変換装置122は、変換後のデータを、変換済形式ルールベース112としてHDD103などに格納する。
【0038】
ルールベース自動配付装置123は、ルールベース111を配信するための送信側の装置である。ルールベース自動配付装置123は、データ形式変換された変換済形式ルールベース112を、所定のルールベース利用装置200,200a,200bに配信する。
【0039】
修正指示生成装置124は、ルールベース編集装置125からルールベース111に関する利用統計情報を受け取ると、修正指示生成規則113を参照し、ルールベース111の改善内容を判断する。そして、修正指示生成装置124は、改善内容に沿った修正指示を生成し、その修正指示をルールベース編集装置125に渡す。
【0040】
ルールベース編集装置125は、入出力装置14を介したルールベース提供者からの操作入力に応答して、ルールベース111を編集する。たとえば、ルールベース編集装置125は、ルールベース編集装置125は、利用統計情報取得装置128から取得した統計情報を、修正指示生成装置124に渡し、修正指示生成装置124より修正指示を受け取る。そして、ルールベース編集装置125は、修正指示生成装置124より受け取った修正指示に応じて、ルールベース111を編集する。
【0041】
利用状況集信装置126は、ルールベース利用装置200,200a,200bからルールベースの利用状況を集信するための管理者側の装置である。利用状況集信装置126は、ルールベース利用装置200,200a,200bから集信したルールベースの利用状況を示す利用情報を、利用統計情報格納装置127に渡す。
【0042】
利用統計情報格納装置127は、利用状況集信装置126から受け取った、各ルールベース利用装置200,200a,200bにおけるルールベースの利用情報を、利用統計情報114として、HDD103などの記憶装置に格納する。
【0043】
利用統計情報取得装置128は、ルールベース提供者からの入出力装置14を用いた操作入力に応答して、利用統計情報114を取得し、ルールベース編集装置125に渡す。
【0044】
なお、各ルールベース利用装置200,200a,200bは、同様の機能を有しているため、以下の説明では、代表的にルールベース利用装置200の機能について説明する。
【0045】
図5は、ルールベース利用装置の機能構成例を示すブロック図である。ルールベース利用装置200は、HDDなどの記憶装置に、更新待ちルールベース211、ルールベース212、および利用情報213を格納している。
【0046】
更新待ちルールベース211は、ルールベース提供装置100から送られたルールベースである。更新待ちルールベース211は、ルールベースの適用開始条件が満たされるまで蓄えられる。
【0047】
ルールベース212は、ルールベース利用装置200において現在利用されているルールベースである。ルールベース利用装置200は、複数のルールベース212を利用することができる。
【0048】
利用情報213は、ルールベース利用装置200におけるルールベース212の利用状況に関する情報である。
また、ルールベース利用装置200は、処理機能として、ルールベース自動配付装置221、ルールベース復元装置222、ルールベース自動更新装置223、ルールベース利用処理実行装置224、ルールベース利用状況自動収集装置225、および利用状況集信装置226を有している。
【0049】
ルールベース自動配付装置221は、ルールベース提供装置100からルールベースを配信するための受信側の装置である。ルールベース自動配付装置221は、ルールベース提供装置100内のルールベース自動配付装置123から送出されたルールベースを受け取り、ルールベース復元装置222に渡す。
【0050】
ルールベース復元装置222は、ルールベース自動配付装置221から送られたルールベース(配信に適した形式)を、元のデータ形式のルールベースに復元する。ルールベース復元装置222は、復元したルールベースを、更新待ちルールベース211としてHDDなどの記憶装置に格納する。
【0051】
ルールベース自動更新装置223は、更新待ちルールベース211の適用開始条件を逐次判断し、適用開始条件を満たした更新待ちルールベース211を用いて、ルールベース212を更新する。なお、ルールベース自動更新装置223は、更新待ちルールベース211適用以前にルールベース212が存在していない場合には、ルールベース211をルールベース212として格納する。また、更新待ちルールベース211の旧版のルールベースがルールベース212として格納されていた場合には、旧版のルールベース212を新版のルールベースである更新待ちルールベース211に更新する。
【0052】
ルールベース利用処理実行装置224は、ルールベース212を利用するためのアプリケーションである。ルールベース利用処理実行装置224としては、たとえば、翻訳辞書のルールベースを利用するスペルチェックソフトウェアがある。
【0053】
ルールベース利用状況自動収集装置225は、ルールベース利用処理実行装置224によるルールベース212の利用状況を常時監視しており、利用状況に関する利用情報213を、HDDなどの記憶装置に格納する。
【0054】
利用状況集信装置226は、ルールベース提供装置100へルールベース212の利用状況に関する利用情報213を送信するための利用者側の装置である。利用状況集信装置226は、所定のタイミングで、ルールベースの利用状況に関する情報を、ルールベース提供装置100へ送信する。
【0055】
図6は、ルールベースのデータ構造の一例を示す図である。本実施の形態において、ルールベース111は、1つの目的を持ったアプリケーションから使用される変換規則やIF〜THEN形式の規則の集まりである。ルールベースの中のルールをさらに幾つかのルールの集まり(ルール集合)にまとめることでルールを階層化する場合も本発明におけるルールベースに含む。
【0056】
ルールベース111には、ルールベースの識別子(ID:IDentifier)、関連アプリケーション名(関連アプリ)などの情報が設定されている。また、ルールベース111には、ルール111bが複数のルール集合111aに分類して格納されている。各ルール集合111aには、ルール集合111aの識別子(ID)、適用優先順位などの情報が設定されている。
【0057】
各ルール集合111aは、複数のルール111bを有している。各ルール111bには、ルール111bの識別子(ID)、優先順位、ルール111bが適用されるための前提条件、前提条件が成立した場合に関連するアプリケーション(たとえば、ルールベース利用装置200のルールベース利用処理実行装置224)条件成立時の処理などの情報が設定されている。
【0058】
ルールベース111の例としては、機械翻訳システムにおける変換辞書、文書校正システムにおける校正辞書などが挙げられる。
[ルールベース配信処理]
以上のような構成によるルールベース配信処理について、以下に詳細に説明する。
【0059】
図7は、ルールベースの配信処理の動作原理を示す模式図である。ルールベース提供者(以下、管理者という)が入出力装置14を用いて、任意のルールベース111を指定し、指定したルールベース111に対する適用開始条件や適用終了条件を入力すると、それらの情報が適用開始/終了条件決定装置121に渡される。すると、適用開始/終了条件決定装置121により、指定されたルールベース111に対応付けて、適用開始/終了条件21が設定される。
【0060】
また、管理者が入出力装置14を用いて、ルールベース111やルールベース111の配付先またはルールベース111の配付先グループを選択入力すると、それらの情報がルールベース形式変換装置122に渡される。すると、ルールベース形式変換装置122により、適用開始/終了条件21の設定されたルールベース111が、自動配付に適した形式に変換され、変換済形式ルールベース112に格納される。なお、ルールベース形式変換装置122により、適用開始/終了条件21などの付帯情報もルールベースと同様に、自動配付に適した形式に変換することもできる。
【0061】
その後、操作入力によって指定された配付先、または配付グループに含まれるルールベース利用者のルールベース利用装置200,200a,200bに対して、ルールベース自動配付装置123により、変換済形式ルールベース112と適用開始/終了条件21とが配信される。たとえば、ルールベース自動配付装置123は、各ルールベース利用装置200,200a,200bを利用するルールベース利用者のユーザ名、そのルールベース利用者が所属するグループのグループ名、およびルールベース利用者が利用するルールベース利用装置の識別子を対応付けて管理しており、操作入力で指定されたルールベース利用者の使用するルールベース利用装置の識別子を判断し、その識別子のルールベース利用装置に対して、変換済形式のルールベースと適用開始/終了条件21とを送信する。
【0062】
ルールベース利用装置200は、ルールベース自動配付装置221において、変換済形式のルールベースと適用開始/終了条件21とを受け取る。変換済形式ルールベース112は、ルールベース自動配付装置221からルールベース復元装置222に渡される。変換済形式のルールベース112は、ルールベース復元装置222によって元の形式のルールベースに復元され、更新待ちルールベース211としてHDDなどの記憶装置に格納される。
【0063】
また、適用開始/終了条件21は、ルールベース自動配付装置221からルールベース自動更新装置223に渡される。なお、適用開始/終了条件21が配信に適した形式に変換されていた場合には、適用開始/終了条件21は、一度ルールベース復元装置222に渡され、ルールベース復元装置222で元のデータ形式に復元された後、ルールベース自動更新装置223に渡される。
【0064】
適用開始/終了条件21を受け取ったルールベース自動更新装置223は、適用開始/終了条件21が成立するか否かを、ルールベース提供者によりあらかじめ決められたスケジュールでチェックする。そして、適用開始条件が満たされた場合、ルールベース自動更新装置223により適用開始/終了条件21に対応する更新待ちルールベース211が、ルールベース212として、初期導入または、更新登録される。また、既に運用されているルールベース212の適用開始/終了条件21における終了条件が満たされた場合、その適用開始/終了条件21に対応するルールベース212が、ルールベース自動更新装置223により削除される。
【0065】
なお、ルールベースの適用開始/終了条件21はルールベース提供者により任意の時点で変更が可能である。たとえば、ルールベース111の適用開始/終了条件21が管理者により変更された場合は、該当するルールベース111に対して新しく設定された適用開始/終了条件21が付随情報として古い適用開始/終了条件が設定される。新しい適用開始/終了条件21は、ルールベース形式変換装置122を通してルールベース自動配付装置123に登録され、ルールベース利用者のルールベース利用装置200,200a,200bに自動配信される。
【0066】
ルールベース形式変換装置122が行うルールベースの形式変換としては、たとえば、転送中第三者により盗聴されないようにするための暗号化、転送データ量を少なくするためのデータ圧縮、ルールベースやルールベースに付随する情報が更新された場合の更新差分の抽出、またはこれらの処理の組み合わせなどが考えられる。
【0067】
ルールベースの適用開始/終了条件21としては適用開始/終了時刻やそのルールベースを使用するルールベース利用装置200,200a,200bの識別情報(例えばアプリケーションプログラム名とそのバージョンレベル)、条件をチェックする対象となるユーザ/ユーザグループなどが挙げられる。
【0068】
次に、図8〜図11を参照して、ルールベースを配信する際の処理手順について説明する。
図8は、ルールベース提供装置におけるルールベースの適用開始/終了条件設定処理を示すフローチャートである。ルールベース提供装置100において、ルールベース提供者側でルールベースに適用開始/終了条件21を設定する処理は、ルールベース提供者(以下、管理者と表現する)が手動で開始する。すなわち、管理者が、入出力装置14を用いて、適用開始/終了条件決定装置121を起動させることで以下の処理が開始される。以下、図8に示す処理をステップ番号に沿って説明する。
【0069】
[ステップS11]適用開始/終了条件決定装置121は、管理者からの、対象ルールベースと利用者または利用者グループを選択する操作入力を受け付ける。
【0070】
[ステップS12]適用開始/終了条件決定装置121は、管理者からの、適用開始/終了条件21を指定する操作入力を受け付ける。
[ステップS13]適用開始/終了条件決定装置121は、選択されたルールベース111、選択された利用者または利用者グループ、ならびに適用開始/終了条件21のチェックを行い、入力された情報が有効か否かを判断する。入力された情報が有効でない場合とは、たとえば、適用終了時刻が過去の時刻である場合や、選択されたルールベース111を利用する利用者のルールベース利用装置200,200a,200bの識別情報が指定されていない場合などである。
【0071】
入力された情報が有効であれば、処理がステップS14に進められる。入力された情報が無効であれば、処理がステップS11に進められる。
[ステップS14]適用開始/終了条件決定装置121は、管理者により選択されたルールベース111に対して、ステップS12で入力された適用開始/終了条件21を設定する。また、適用開始/終了条件決定装置121は、管理者により選択された利用者、または選択された利用者グループに含まれる利用者を、管理者により選択されたルールベース111の配付先の利用者として、ルールベース自動配付装置123に通知する。
【0072】
[ステップS15]適用開始/終了条件決定装置121は、管理者により選択されたルールベース111に対して、そのルールベース111が更新されたことを示す更新フラグを設定する(フラグをONにする)。なお、ルールベース111の更新フラグは、ルールベース111が作成されたとき、およびルールベース111の内容が更新されたときにもONに設定される。
【0073】
このようにして、管理者により入力された適用開始/終了条件21が、ルールベース提供装置100内に登録される。
次に、適用開始/終了条件21が設定されたルールベース111を自動配付する処理について説明する。
【0074】
図9は、適用開始/終了条件が設定されたルールベースの形式変換処理を示すフローチャートである。図9に示す処理は、あらかじめ設定されたスケジュールに従って開始される。また、図9に示す処理は、ルールベース毎に実行される。なお、ルールベース111の形式変換処理は、図8に示す適用開始/終了条件の設定処理とは非同期に行われる。以下、図9に示す処理を、ステップ番号に沿って説明する。
【0075】
[ステップS21]ルールベース形式変換装置122は、ルールベース111または適用開始/終了条件21が更新されているかどうかを判断する。ルールベース111または適用開始/終了条件21のいずれかが更新されていれば、処理がステップS22に進められる。ルールベース111または適用開始/終了条件21のいずれも更新されていない場合には、形式変換処理が終了する。
【0076】
[ステップS22]ルールベース形式変換装置122は、ルールベース111または適用開始/終了条件21が更新されている場合は、まず、ルールベース111のデータ形式を変換する。形式変換処理は、たとえば、暗号化処理、データ圧縮処理、直前の版数のルールベースとの間の差分抽出処理などである。
【0077】
[ステップS23]ルールベース形式変換装置122は、形式変換後の変換済形式ルールベース112を、ルールベース提供装置100のHDD103などの記憶装置に格納する。
【0078】
次に、変換済形式ルールベース112を自動配信する処理について説明する。図10は、ルールベースを自動配付する処理のフローチャートを示す図である。図10では、ルールベース提供装置100が実行する処理と、ルールベース利用装置200が実行する処理とを並列に記載している。
【0079】
なお、ルールベースの自動配付は、ルールベース毎に、あらかじめ設定されたスケジュールに従って実行される。ルールベースの自動配付における配付の仕組みは、ルールベース提供装置100からルールベース利用装置200へ所定のタイミングで配信するPUSH型配信と、ルールベース利用装置200からルールベース提供装置100へ更新要求を出し、更新されていたらルールベースまたは形式変換されたものを取ってくるPull型配信とがある。
【0080】
PUSH型配信では、ルールベース提供装置100に設定されたスケジュールに従って、ルールベース提供装置100の配信処理が開始される。また、ルールベース提供装置100からのルールベース配信を受けたルールベース利用装置200において、受信処理が開始される。
【0081】
Pull型配信では、ルールベース利用装置200に設定されたスケジュールに従って、ルールベース利用装置200からルールベース提供装置100へ更新要求が出され(図示せず)、ルールベース利用装置200において受信処理が開始される。ルールベース提供装置100では、ルールベース利用装置200からの更新要求に応答しての配信処理が開始される。
【0082】
以下、図10に示す処理を、ステップ番号に沿って説明する。
[ステップS31]ルールベース提供装置100のルールベース自動配付装置123は、ルールベース111またはルールベース111の適用開始/終了条件21が更新されたか否かを判断する。
【0083】
ルールベース111またはルールベース111の適用開始/終了条件21が更新されたか否かは、ルールベース111に設定された更新フラグがONかどうかで判断できる。すなわち、ルールベース111に設定された更新フラグがONであれば、ルールベース111またはルールベース111の適用開始/終了条件21が更新されていると判断し、更新フラグがOFFであれば、ルールベース111またはルールベース111の適用開始/終了条件21は更新されていないと判断する。
【0084】
ルールベース111またはルールベース111の適用開始/終了条件21が更新されている場合には、処理がステップS32に進められる。ルールベース111またはルールベース111の適用開始/終了条件21が更新されていない場合には、配信処理が終了する。
【0085】
[ステップS32]ルールベース提供装置100のルールベース自動配付装置123は、ルールベース111またはルールベース111の適用開始/終了条件21が更新されている場合は、まず、変換済形式ルールベース112とルールベース111の適用開始/終了条件21を、配信先のルールベース利用装置200に配付する。なお、変換済形式ルールベース112は、更新前のルールベースと更新後のルールベースとの差分(更新による差分)のみを配信してもよい。その後、ルールベース提供装置100における処理は、ステップS35に進められる。
【0086】
[ステップS33]ルールベース利用装置200のルールベース配付装置221は、ルールベース提供装置100から送られた変換済形式ルールベース112(または更新による差分)とルールベース111の適用開始/終了条件21とを受信する。
【0087】
[ステップS34]ルールベース利用装置200のルールベース配付装置221は、変換済形式ルールベース112(または更新による差分)とルールベース111の受信結果を、ルールベース提供装置100に通知する。受信結果とは、受信に成功したか否かの情報である。その後、ルールベース利用装置200の処理は、ステップS38に進められる。
【0088】
[ステップS35]ルールベース提供装置100のルールベース自動配付装置123は、ルールベース利用装置200から受信結果を受け取る。
[ステップS36]ルールベース提供装置100のルールベース自動配付装置123は、ルールベース利用装置200から送られた受信結果に基づいて、ルールベースの配信に成功したか否かを判断する。ルールベースの配信に成功した場合には、処理がステップS37に進められ、ルールベースの配信に失敗した場合には、処理がステップS32に進められる。
【0089】
[ステップS37]ルールベース提供装置100のルールベース自動配付装置123は、ルールベース提供装置100のルールベース111に対する更新フラグをOFFにする。その後、ルールベース提供装置100における配信処理が終了する。
【0090】
[ステップS38]ルールベース利用装置200のルールベース配付装置221は、受信結果に基づいて、ルールベースの受信に成功したか否かを判断する。ルールベースの受信に成功した場合には、処理がステップS39に進められ終了し、ルールベースの受信に失敗した場合には、処理がステップS33に進められる。
【0091】
[ステップS39]ルールベース利用装置200のルールベース配付装置221は、ルールベース利用装置200で受信したルールベースに対応する更新フラグをONにする。
【0092】
[ステップS40]ルールベース利用装置200のルールベース復元装置222は、ルールベース自動配付装置221が受信した変換済形式ルールベース112を元のデータ形式に復元し、更新待ちルールベース211として格納する。
【0093】
このようにして、更新されたルールベース111が、所定のスケジュールに従って配付される。なお、ルールベースの配付が途中で失敗した場合、ルールベース利用装置200からすぐに、受信の失敗を示す受信結果をルールベース提供装置100に送信することで、通知失敗時点から配付を再開することができる。
【0094】
また、途中までのデータが正常に受け取れていることが確認できていれば、受け取れなかった残りのデータのみを再送するようにしてもよい。その場合、たとえば、受信結果通知に、正常に受信できたデータを特定するための情報を含めることで、ルールベース提供装置100において、正常に配信できたデータを判断することができる。
【0095】
次に、ルールベース利用装置200におけるルールベースの更新処理について説明する。
図11は、ルールベースの更新処理を示すフローチャートである。ルールベースの更新処理は、ルールベース利用装置200の各更新待ちルールベース211に対して、あらかじめ定められたスケジュールで実行される。以下に、図11に示す処理をステップ番号に沿って説明する。
【0096】
[ステップS51]ルールベース自動更新装置223は、ルールベース212に対応する更新待ちルールベース211があるか否か、およびルールベース212に対応する新たな適用開始/終了条件21があるか否かにより(ルールベースを更新情報があるが否か)を判断する。ルールベース自動更新装置223は、ルールベース212に対応する更新待ちルールベース211、または、ルールベース212に対応する新たな適用開始/終了条件21のいずれか一方を有していれば、ルールベース211の更新情報ありと判断する。
【0097】
ルールベース212の更新情報ありと判断された場合には、処理がステップS52に進められる。ルールベース212の更新情報なしと判断された場合には、更新処理が終了する。
【0098】
[ステップS52]ルールベース自動更新装置223は、ルールベース212の更新フラグがONかOFFかを判断する。更新フラグがONであれば処理がステップS53に進められる。更新フラグがOFFであれば、処理が終了する。
【0099】
[ステップS53]ルールベース自動更新装置223は、ルールベース利用装置200の利用者が、適用開始/終了条件21が適用されるユーザまたはユーザグループに当てはまるかどうかが判断される。適用開始/終了条件21が適用される利用者であれば、処理がステップS54に進められる。適用開始/終了条件21が適用される利用者でなければ、処理が終了する。
【0100】
[ステップS54]ルールベース自動更新装置223は、更新待ちルールベース211の適用開始/終了条件21として設定された条件が成立するかどうかを判断する。
【0101】
たとえば、ルールベース自動更新装置223は、設定条件に時刻が含まれる場合は適用開始/終了時刻と現在の時刻を比較し、現在の時刻が適用始時刻以降、適用終了時刻以前であれば、条件が成立すると判断する。また、ルールベース自動更新装置223は、設定条件に更新待ちルールベース211を使用する装置の識別情報が含まれる場合は、識別情報に該当する装置の有無を判断する。
【0102】
全ての条件が成立した場合には、処理がステップS55に進められる。成立しない条件が少なくとも1つあった場合には、処理が終了する。
[ステップS55]ルールベース自動更新装置223は、ルールベース適用開始/終了条件が成立する場合は、更新待ちルールベース211を用いて、運用状態のルールベース212を更新する。
【0103】
[ステップS56]ルールベース自動更新装置223は、ルールベース212に対応する更新フラグをOFFにする。
[ステップS57]ルールベース自動更新装置223は、ルールベースの付随情報を調べ、ルールベースを利用する装置(アプリケーションソフトウェアも含む)を起動する必要があるかどうかを調べる。装置を起動する必要があれば、処理がステップS58に進められ、装置を起動する必要がなければ処理が終了する。
【0104】
[ステップS58]ルールベース自動更新装置223は、ルールベースを利用する装置の起動が必要な場合は、該当する装置を起動する。
以上のようにして、ルールベース利用装置200内のルールベース212が自動的に更新される。更新処理は、所定のスケジュールに従って行われるため、ルールベース利用装置200の利用者が、ルールベース212の更新タイミングを意識する必要がない。
【0105】
しかも、ルールベース212に対して、管理者が適用開始/終了条件21を設定することができるため、複数のルールベース利用装置200,200a,200bにおいて、特定の日時から同じルールベース212が適用されるようにすることができる。たとえば、企業における業務のワークフローを定義するルールベースがあった場合、社内の組織変更があれば、新しい組織による業務の開始日から、新しいルールベースを全てのルールベース利用装置で一斉に適用させることができる。
【0106】
[ルールベース利用状況集信処理]
次に、ルールベース利用状況集信処理のについて説明する。
図12は、ルールベース利用状況集信処理の動作原理を表す模式図である。本実施の形態では、ルールベース利用装置200側のルールベース212が、個人用ルールベース212aと、配付更新ルールベース212bとで構成されている。個人用ルールベース212aは、ルールベース利用装置200を利用する利用者が個人的に利用するルールベースである。配付更新ルールベース212bは、ルールベース提供装置100から配信されるルールベースである。
【0107】
ルールベース利用処理実行装置224は、個人用ルールベース212aと、配付更新ルールベース212bとを利用して、様々な処理を実行する。ルールベース利用処理実行装置224による個人用ルールベース212aと配付更新ルールベース212bとの利用状況は、ルールベース利用状況自動収集装置225で監視される。そして、ルールベース利用状況自動収集装置225により、ルールベース利用処理実行装置224による個人用ルールベース212aと配付更新ルールベース212bとの利用状況を示す利用情報213が収集され、ルールベース利用装置200のHDD103などの記憶装置に格納される。
【0108】
なお、ルールベース利用状況自動集信装置225は、ルールベース利用処理実行装置224に、組込まれていてもよいし、ルールベース利用処理実行装置224とは別に設けられていてもよい。
【0109】
格納された利用情報213は、利用者側の利用状況集信装置226によって、ルールベース提供装置100に送信される。
ルールベース利用装置200から送信された利用情報213は、ルールベース提供装置100の利用状況集信装置126で受信される。利用状況集信装置126は、各ルールベース利用装置200,200a,200bからの利用情報を受信し、それらを利用統計情報格納装置127に渡す。各利用情報に基づいて、利用統計情報格納装置127によって統計的な利用統計情報114が生成され、ルールベース提供装置100内に格納される。
【0110】
以下に、図13、図14を参照して、利用情報の構成例を説明する。なお、本実施の形態では、各利用者におけるルールベース212の利用情報213は、各ルール/ルール集合ごとの利用回数を集計したもの(利用回数情報)と、各ルール間の呼出し関係を表すグラフ(呼出関係グラフ)などが挙げられる。
【0111】
図13は、利用情報における利用回数情報の構成例を示す図である。図13の例では、利用情報213における利用回数情報213aには、ルール集合毎に、ルール集合IDとルール集合の利用回数が登録されている。そして、各ルール集合を構成するルール毎に、ルールIDとルールの利用回数とが登録されている。
【0112】
各ルール/ルール集合毎の利用回数をカウントする方法としては、たとえば、ルールベース更新後からの利用回数を累計する方法や、一定時間間隔(たとえば1週間や1月間隔)毎に利用回数をカウントする方法などが考えられる。
【0113】
図14は、利用情報における呼出関係グラフの構成例を示す図である。図14の例では、利用情報213における呼出関係グラフ213bには、グラフのノード31〜33をルールまたはルール集合としている。
【0114】
あるルールの動作部分において別のルールを適用するための前提条件をチェックするとき、前者のルールに対応するノードから後者のルールに対応するノードにリンクが設定されている。そして、ルール間の呼出し回数が、各々のルールに対応するノード間のリンクに対して設定されている。呼出し回数の数えかたとしては、たとえば、ルールベース更新からの累積利用日数を数える方法や、一定時間間隔(たとえば1週間や1月間隔)毎に利用回数をカウントする方法などが考えられる。
【0115】
以下に、ルールベースの利用情報集信処理の処理手順について、図15〜図17を参照して説明する。
図15は、ルールベース利用装置での利用情報収集処理を示すフローチャートである。ルールベース利用装置200における利用情報収集処理は、ルールベース利用装置起動時またはルールベース利用装置がルールを利用するたびに起動される。以下、図15に示す処理をステップ番号に沿って説明する。
【0116】
[ステップS61]ルールベース利用状況自動収集装置225は、ルールベース利用処理実行装置224によるルールの利用状況を検出する。たとえば、ルールベース利用状況自動収集装置225は、ルールベース利用処理実行装置224がどのルールを利用したか(またはどのルールの動作部を実行中にどのルールの前提条件をチェックしたか)を検出する。
【0117】
[ステップS62]ルールベース利用状況自動収集装置225は、ルールベース利用処理実行装置224が利用したルールが、統計を取る対象のルールか否かを判断する。なお、統計を取る対象のルールは、そのルールの識別子(たとえばルールID)が、あらかじめルールベース利用状況自動収集装置225に定義されている。
【0118】
統計対象のルールであれば、処理がステップS63に進められる。統計対象のルールでなければ、処理がステップS69に進められる。
[ステップS63]ルールベース利用状況自動収集装置225は、ルールベース利用処理実行装置224により利用されたルールの利用回数、およびそのルールが所属するルール集合の利用回数を1増やす。
【0119】
[ステップS64]ルールベース利用状況自動収集装置225は、ルールベース利用処理実行装置224で利用されたルールにより、ルール間呼出が行われたか否かが判断される。すなわち、適用されたルール(呼出元のルール)に従った動作において、他のルール(呼出先のルール)を適用するかの前提条件が判断され、呼出先のルールを適用すると判断された場合には、ルール間呼出が行われたことになる。ルール間呼出が行われた場合には、処理がステップS65に進められる。ルール間呼出が行われていない場合には、処理がステップS69に進められる。
【0120】
[ステップS65]ルールベース利用状況自動収集装置225は、利用情報213における呼出関係グラフ213bにおいて、呼出元のルールから呼出先のルールへのリンクが生成されているか否かを判断する。リンクが生成されている場合には、処理がステップS68に進められる。リンクが生成されていない場合には、処理がステップS66に進められる。
【0121】
[ステップS66]ルールベース利用状況自動収集装置225は、呼出関係グラフ213bにおいて、呼出元のルールから呼出先のルールへのリンクを生成する。
【0122】
[ステップS67]ルールベース利用状況自動収集装置225は、呼出関係グラフ213bにおいて、呼出元のルールから呼出先のルールへのリンクの使用回数を1に設定する。その後、処理がステップS69に進められる。
【0123】
[ステップS68]ルールベース利用状況自動収集装置225は、呼出関係グラフ213bにおいて、呼出元のルールから呼出先のルールへのリンクの使用回数を1増やす。その後、処理がステップS69に進められる。
【0124】
[ステップS69]ルールベース利用状況自動収集装置225は、ルールベース利用処理実行装置224によるルールベース212の利用が終了したか否かを判断する。ルールベースの利用が終了した場合には処理がステップS70に進められ、ルールベースの利用が終了していない場合には、処理がステップS61に進められる。
【0125】
[ステップS70]ルールベース利用状況自動収集装置225は、利用情報213が更新されたか否かを判断する。利用情報213が更新された場合には、処理がステップS71に進められ、利用情報213が更新されていない場合には、処理が終了する。
【0126】
[ステップS71]ルールベース利用状況自動収集装置225は、利用情報213に対する利用情報更新フラグをONに設定し、処理を終了する。
次に、利用情報213の集信処理について説明する。
【0127】
図16は、利用情報集信処理を示すフローチャートである。図16では、ルールベース提供装置100が実行する処理と、ルールベース利用装置200が実行する処理とを並列に記載している。
【0128】
なお、利用情報213の集信処理は、あらかじめ設定されたスケジュールにしたがって実行される。利用情報213を集信する仕組みには、ルールベース利用装置200からルールベース提供装置100に利用情報213を転送する方法と、ルールベース提供装置100が各ルールベース利用装置200から利用情報213を吸い上げる方法がある。
【0129】
以下、図16に示す処理を、ルールベース提供装置100の処理とルールベース利用装置200の処理とに分けて、ステップ番号に沿って説明する。
ステップS81〜ステップS89は、ルールベース提供装置100における処理である。
【0130】
[ステップS81]ルールベース提供装置100において、利用状況集信装置126が、ルールベース利用装置100から送られた利用統計情報114の状態問い合わせを受け取る。
【0131】
[ステップS82]ルールベース提供装置100の利用状況集信装置126は、利用統計情報114の状態をルールベース利用装置200に通知する。なお、状態の通知には、利用統計情報114がロックされているか否かの情報が含まれる。利用統計情報114がロックされている状態とは、利用統計情報114が他の装置に使用されており、排他制御されている状態である。
【0132】
[ステップS83]ルールベース提供装置100の利用状況集信装置126は、利用統計情報114がロックされた状態か否かを判断する。ロックされていれば、ルールベース提供装置100の処理が終了し、ロックされていなければ、処理がステップS84に進められる。
【0133】
[ステップS84]ルールベース提供装置100の利用状況集信装置126は、利用統計情報114をロックする。
[ステップS85]ルールベース提供装置100の利用状況集信装置126は、ルールベース利用装置200から送られてくる利用情報213を受信する。
【0134】
[ステップS86]ルールベース提供装置100の利用状況集信装置126は、利用情報213の受信結果を、ルールベース利用装置200に通知する。
[ステップS87]ルールベース提供装置100の利用状況集信装置126は、利用情報213の受信が成功したか否かを判断する。受信が成功した場合には、処理がステップS88に進められる。受信が失敗した場合には、処理がステップS85に進められる。
【0135】
[ステップS88]ルールベース提供装置100の利用状況集信装置126は、利用統計情報114を更新する。
[ステップS89]ルールベース提供装置100の利用状況集信装置126は、利用統計情報114のロックを解除し、処理を終了する。
【0136】
ステップS91〜ステップS97は、ルールベース利用装置200における処理である。
以上が、ルールベース提供装置100による利用情報集信処理である。以下に、ルールベース利用装置200による利用情報送出処理を説明する。
【0137】
[ステップS91]ルールベース利用装置200の利用状況集信装置226は、利用情報213が更新されたか否かを判断する。利用情報213が更新された場合には処理がステップS92に進められ、利用情報213が更新されていない場合には、処理が終了する。
【0138】
[ステップS92]ルールベース利用装置200の利用状況集信装置226は、ルールベース提供装置100に対して、利用統計情報114の状態を問い合わせる。
【0139】
[ステップS93]ルールベース利用装置200の利用状況集信装置226は、ルールベース提供装置100から送られた利用統計情報114の状態の通知を受け取る。
【0140】
[ステップS94]ルールベース利用装置200の利用状況集信装置226は、利用統計情報114の状態通知に基づいて、利用統計情報114がロックされた状態か否かを判断する。ロックされていれば、ルールベース利用装置200の処理が終了し、ロックされていなければ、処理がステップS95に進められる。
【0141】
[ステップS95]ルールベース利用装置200の利用状況集信装置226は、利用情報213をルールベース提供装置100に対して送信する。
[ステップS96]ルールベース利用装置200の利用状況集信装置226は、ルールベース提供装置100から送られた利用情報213の受信結果の通知を受け取る。
【0142】
[ステップS97]ルールベース利用装置200の利用状況集信装置226は、ルールベース提供装置100から送られた利用情報213の受信結果の通知に基づいて、利用情報213の送信が成功したか否かを判断する。送信が成功した場合には、ルールベース利用装置200における処理が終了する。送信が失敗した場合には、処理がステップS95に進められる。
【0143】
以上のようにして、ルールベース提供装置100において、複数のルールベース利用装置200,200a,200bにおけるルールベースの利用状況を示す利用情報213を集信することができる。集信した利用情報213に基づいて、ルールベース提供装置100における利用統計情報114が更新される。これにより、ルールベース提供装置100が配信したルールベースが、ルールベース利用装置200,200a,200bにおいてどのように利用されているのかを、ルールベース提供装置100において把握することができる。
【0144】
[ルールベース編集処理]
次に、ルールベース編集処理について説明する。
図17は、ルールベース編集処理の動作原理を表す模式図である。利用統計情報取得装置128は、入出力装置14を用いた管理者からの操作入力により起動される。すると、ルールベース提供装置100内に格納された利用統計情報114が、利用統計情報取得装置128により取り出される。利用統計情報取得装置128により取り出された利用統計情報114は、ルールベース編集装置125に渡される。
【0145】
なお、利用統計情報取得装置128は、利用統計情報114を取り出す際には、利用統計情報114をロックすることで(他の装置からのアクセスを禁止する)、利用統計情報114の排他制御を行う。利用統計情報114をロックしているか否かの状態情報は、利用統計情報取得装置128から利用状況集信装置126に通知される。
【0146】
また、ルール集合修正に関する指示を生成する規則である修正指示生成規則113に基づいて、修正指示生成装置124により、統計情報を元にルール(またはルール集合)を修正させるための修正指示が生成される。生成された修正指示は、ルールベース編集装置125に渡される。
【0147】
すると、ルールベース編集装置125は、管理者からの操作入力に応答し、統計情報と修正指示とを用いてルールベース111の内容を更新する。
なお、ルールベース編集装置125は、ルールベース111を更新すると、ルールベース形式変換装置122を起動する。これにより、更新されたルールベース111が、ルールベース形式変換装置122により、配信に適したデータ形式である変換済形式ルールベース112に変換される。
【0148】
利用統計情報114を用いて、ルールベース111を編集し、ルールベース111内のルールの構造を変えることで、たとえば、ルールを使う処理の応答性能を上げることが可能である。
【0149】
なお、本実施の形態では、ルールの修正案を利用統計情報から生成してルール提供者に提示し、ルール提供者が了解したらルールの更新を行うものとする。
ここで、修正指示生成規則113の内容について説明する。利用統計情報を元にルール集合に対する修正案を生成するための修正指示生成規則として、本実施の形態では、以下の規則が設定されている。
【0150】
(1)ルールを順番に適用していくルール集合
・「ルールの呼び出し回数/ルール集合全体の呼び出し回数」の値が大きい順にルールの優先順位を並べ替える。
【0151】
・上記値が同じ場合、ルールの呼び出し回数、ルール集合の呼び出し回数を期間を区切って取っている場合は、期間ごとのルールの呼び出し回数が増えているものを先に使うようルールを並べ替える。
【0152】
このように、呼出回数の多いルールの優先順位を上げることで、ルールの適用する際の、処理効率が向上する。
(2)ルールの抹消
ルールの呼び出し回数を期間を区切って取っている場合、一定期間以上利用回数が0のルールは抹消する。
【0153】
利用される見込みの少ないルールを抹消することで、呼び出されるルールの抽出効率が向上する。
(3)ルールからルールを呼び出すルール集合の場合(例:推論木)
・ルールの合成
連続して呼び出される可能性の高い複数のルールを合成するような修正指示生成規則を設定する。たとえば、「Rule-A: if C1 then check(Rule-B) check(Rule-C)」というRule-Aを想定する。そして、Rule-Aの呼び出し回数とRule-B, Rule-Cの呼び出し回数を調査させる。たとえば、Rule-Aの呼び出し回数≒Rule-Bの呼び出し回数であれば、Rule-AとRule-Bとを合成したあらたなルールを生成される。
【0154】
合成後のルールの条件部には、Rule-Aの条件部+Rule-Bの条件部とを含ませる。また、合成後のルールの条件部は、Rule-Bの実行部を持たせる(Rule-AがRule-Bの呼び出し以外の手続きを実行部に持つ場合は、Rule-Aの実行部+Rule-Bの実行部を持つ)。
【0155】
ここで、Rule-AとRule-Bとを合成した場合において、Rule-Aの呼び出し回数≒Rule-Cの呼び出し回数の場合には、さらにRule-AとRule-Cとを合成したルールを生成してもよい。この場合、たとえば、さらにRule-A条件部+Rule-C条件部を条件に持ち、Rule-C実行部とRule-A実行部を実行部に持つ新たなルールを別途生成することができる。
【0156】
(4)所属ルール集合の変更
Rule-Aから、Aの所属するルール集合外にあるRule-Bの呼び出し回数が多い(一定の閾値以上)のであればRule-BをRule-Aの所属するルール集合内にコピーする。
【0157】
(5)無駄な呼出の抑制
Rule-AからRule-Bを呼び出しているが、Rule-Bは必ず条件部が成立しない場合は、Rule-AからRule-Bの呼び出しを止める(動作部からルールB呼び出しをはずす)。この修正指示生成規則を適用するには、ルールベース利用状況自動収集装置225において、各ルールの条件部が成功する回数をカウントして、利用情報213に含め、利用統計情報114としてルールベース提供装置100に格納されることが必要である。
【0158】
ルールの条件部を構成する各条件について、ルールベース利用状況自動収集装置225が各ルールの条件部が成功する回数をカウントして、利用情報213に含め、利用統計情報114としてルールベース提供装置100に格納された場合、以下のような変更アドバイスを提示するような修正指示生成規則を設定することができる。
【0159】
(6)ルールの条件評価順序の変更
複数の条件C1〜Cn(nは自然数)を有するRule-Dが if (C1 && C2 && ... Cn) then ... の形式となっており、条件C1〜Cnのそれぞれについて成立した回数もカウントしていれば、条件C1〜Cnを(条件成立回数/ルールの呼び出し回数)の値が大きい順に並べ替える。
【0160】
(7)条件の緩和
上記Rule-Dにおいて、ある条件Ci(iは自然数)について(条件成立回数/ルールの呼び出し回数)の値が一定の閾値より小さい(または0)状態が続く場合は、Ciがないルールを新規に生成する。
【0161】
(8)必ず成立する条件の削除
上記Rule-Dにおいて、ある条件Cj(jは自然数)について条件成立回数=ルールの呼び出し回数(つまりCjはルール呼び出し時には必ず成立している)の状態が続く場合は、Cjがないルールを新規に生成する)。
【0162】
以上のように、利用統計情報114を利用したさまざまな修正指示生成規則113を、ルールベース提供装置100において定義しておくことができる。
以下に、図18、図19を参照して、利用統計情報を取得し、ルールベースを編集する処理について説明する。
【0163】
図18は、利用統計情報取得処理を示すフローチャートである。この処理は、ルールベースの管理者が、入出力装置14を用いて手動でルールベースの編集装置を起動することにより開始される。以下、図18の処理をステップ番号に沿って説明する。
【0164】
[ステップS101]利用統計情報取得装置128は、ルールベースの利用統計情報114に排他ロックを設定する。
[ステップS102]利用統計情報取得装置128は、ルールベースの利用統計情報114を取得する。
【0165】
[ステップS103]修正指示生成装置124は、ルールベースの利用統計情報114と、利用統計情報114からルール集合修正に関する指示を生成する修正指示生成規則113とから、ルールベース111を修正するための指示を生成する。
【0166】
[ステップS104]ルールベース編集装置125が起動され、ルールベース編集装置125により、ルール集合修正に関する指示が表示される。そして、ルールベース編集処理が実行される。ルールベース編集処理の詳細は、図19に示す。
【0167】
[ステップS105]利用統計情報取得装置128は、ルールベースの利用統計情報114に排他ロックを解除する。
図19は、ルールベース編集処理を示すフローチャートである。以下に、図19に示す処理を、ステップ番号に沿って説明する。
【0168】
[ステップS111]ルールベース編集装置125は、表示されている修正指示が管理者に受け入れられたか否かを判断する。これは、管理者による操作入力の内容に基づいて判断される。表示されている修正の指示が受け入れられた場合には、処理がステップS112に進められる。修正指示が受け入れられなかった場合には、処理がステップS115に進められる。
【0169】
[ステップS112]ルールベース編集装置125は、処理対象となるルール集合に対して、修正指示に応じた修正を実行する。
[ステップS113]ルールベース編集装置125は、処理対象となるルール集合に対して、ルール更新フラグをONに設定する。
【0170】
[ステップS114]ルールベース編集装置125は、受け入れられた修正の指示を、画面から削除する。
[ステップS115]ルールベース編集装置125は、管理者によりルールベース111内のルール集合の保存の操作入力があったか否かを判断する。保存の操作入力があった場合には、処理がステップS116に進められる。保存の操作入力がなかった場合には、処理がステップS118に進められる。
【0171】
[ステップS116]ルールベース編集装置125は、処理対象となったルール集合をルールベース111に保存する。
[ステップS117]ルールベース編集装置125は、処理対象となったルール集合をルール更新フラグをOFFに設定する。
【0172】
[ステップS118]ルールベース編集装置125は、管理者により操作終了の指示を示す操作入力があったか否かを判断する。操作終了の操作入力があった場合には、処理がステップS121に進められる。操作終了の操作入力がない場合には、処理がステップS119に進められる。
【0173】
[ステップS119]ルールベース編集装置125は、管理者の操作入力に従って、ルール集合を更新する。
[ステップS120]ルールベース編集装置125は、更新されたルール集合に対して管理者によるその他の更新操作(ルール集合へのルール新規追加、ルールの削除など)が行われた場合、ルール更新フラグをONに設定する。その後、処理がステップS111に進められる。
【0174】
[ステップS121]ルールベース編集装置125は、処理対象とされていたルール集合のルール更新フラグがONか否かを判断する。ルール更新フラグがONであれば、処理がステップS122に進められる。ルール更新フラグがOFFであれば、処理が終了する。
【0175】
[ステップS122]ルールベース編集装置125は、処理対象となったルール集合をルールベース111に保存する。
[ステップS123]ルールベース編集装置125は、処理対象となったルール集合をルール更新フラグをOFFに設定する。その後、処理が、図18に示すステップS104に進められる。
【0176】
以上のようにして、利用統計情報114を有効に利用して、ルールベース111の内容を編集し、ルールベースの最適化を図ることができる。
[本実施の形態の適用例]
本実施の形態におけるルールベース提供システムを、ワークフローに関するルールベースに適用した場合の例を、以下に示す。
【0177】
図20は、本実施の形態が適用されたワークフローシステムの構成例を示す図である。図20の例は、ワークフローシステムにおいてワークフロー処理の起動に関するルールを集めたルールベースを、ワークフローサーバ300から各クライアント400に自動配付・自動更新する例である。
【0178】
なお、以下の説明において、「・・・ツール」あるいは「・・・サーバ(ワークフローサーバを除く)」と言った場合、ワークフローサーバ300またはクライアント400上で実現される処理機能の1つを指すものとする。
【0179】
ワークフローサーバ300には、ワークフロー起動ルールを集めたルールベースのマスター版であるワークフロー起動ルールベース311と、クライアント400から集信した利用情報に基づく統計データである利用統計情報312が格納されている。
【0180】
また、ワークフローサーバ300は、資源更新管理装置321、資源登録ツール322、資源配付サーバ323、統計情報集信サーバ324、およびルールベース編集装置325を有している。
【0181】
資源更新管理装置321は、管理者による入出力装置301を用いた操作入力に応答して、ワークフロー起動ルールベース311の配付先や、更新条件などを含む適用開始/終了条件302、ワークフロー起動ルールベース311の配付タイミング、配付先の決定などを設定する。そして、資源更新管理装置321は、配付する資源(ワークフロー起動ルールベース311およびワークフローエンジン(ワークフロー起動ルールベース311を使用するワークフロークライアントエンジンのプログラム))に対して設定された適用開始/終了条件302に基づいてワークフロー起動ルールベース311やワークフローエンジンの更新を制御する。
【0182】
資源登録ツール322は、資源更新管理装置321による設定に応じて、適用開始/終了条件302やワークフロー起動ルールベース311を、配付対象として資源配付サーバ323に対して登録する。資源配付サーバ323は、資源登録ツール322により配付対象として登録された適用開始/終了条件302やワークフロー起動ルールベース311を、クライアント400に送信する。なお、資源配付サーバ323は、ワークフロー起動ルールベース311を使用するワークフロークライアントエンジンのプログラムを資源として、クライアント400に配付することもできる。
【0183】
統計情報集信サーバ324は、クライアント400から利用情報を集信し、集信した利用情報を、利用統計情報312として格納する。ルールベース編集装置325は、入出力装置301を介した、管理者からの操作入力に応答し、ワークフロー起動ルールベース311を編集する。管理者は、ルールベース編集装置325を通して、各利用者から集められた利用統計情報312に基づくルールベース編集画面を見ながら、ルールベースの編集操作を行う。
【0184】
たとえば、ルールベース編集装置325は、ワークフロー起動ルールベース311を編集に際して、利用統計情報312を利用して改善策を生成し、その改善策を管理者に提示する。そして、ルールベース編集装置325は、監視者が改善策の適用を指示した場合に、改善策に従って、ワークフロー起動ルールベース311を編集する。
【0185】
クライアント400は、資源配付クライアント410、ワークフロー起動ルールベース421、利用情報422、およびワークフローエンジン423を有している。また、資源配付クライアント410は、ルールベース更新差分データ411、資源更新管理装置412および統計情報集信クライアント413を有している。
【0186】
資源配付クライアント410は、資源配付サーバ323から配付される資源を受け取るための機能を有している。ワークフロー起動ルールベース421、ルールベースを利用するワークフローエンジン423、統計情報集信クライアント413、および資源更新管理装置412は、資源配付サーバ323から資源配付クライアント410に自動配付され、クライアント400にインストールされる。
【0187】
ルールベース更新差分データ411は、ワークフロー起動ルールベース421を更新するために使用する差分データである。資源更新管理装置412は、ワークフロー起動ルールベース421やワークフローエンジン423の自動更新を制御する。統計情報集信クライアント413は、ワークフローエンジン423の動作を監視し、ワークフローエンジン423によるルールの利用統計情報を集め、あらかじめ決められたスケジュールでワークフローサーバ300にその利用者によるルールの利用統計情報422を自動転送する。
【0188】
ワークフローエンジン423は、ワークフロー起動ルールベース421を使用してワークフローを制御する機能を有している。利用情報422は、統計情報集信クライアント413によって集められた、ワークフローエンジン423によるワークフロー起動ルールベース421の使用状況を表す情報である。
【0189】
図21は、図20に示すシステムにおけるワークフロー起動ルールベースの一例を示す図である。ワークフロー起動ルールベース311には、利用アプリケーション(利用アプリ)が登録されている。図21の例では、ワークフロー起動ルールベース311は、WF1ワークフローエンジンという名前のワークフローエンジン423で利用される。
【0190】
ルール311aは、ワークフローエンジン423が扱うワークフロー操作(電子メール送信、フォーラム記事登録、共有データベースヘのデータ登録など)ごとのルール集合に分類されている。各ルール311aには、ルールの名称(図の例では、「RS1R001」)、優先順位を表すデータ、ルールの動作部が実行されるための前提条件(if・・・)、前提条件が成立したときの動作(then・・・)が記述される。
【0191】
たとえば、図21のルール311aは、電子メールメッセージの表題に“必読”というキーワードが含まれるときに、添付文書の名前とメッセージの表題を使って、必読文書表示の通知を行うことを示している。
【0192】
図22は、ワークフローサーバにおけるルールベースの適用開始/終了条件を設定するための画面の一例を示す図である。図22の条件設定画面510は、資源更新管理装置321が提供するユーザインタフェースに基づく画面である。
【0193】
条件設定画面510には、ルールベースID入力部511、利用者/グループ名入力部512、設定区分指定部513、利用アプリケーション入力部514、設定日時入力部515、OKボタン516、クリアボタン517、およびキャンセルボタン518が設けられている。
【0194】
ルールベースID入力部511は、条件設定を行う対象のルールベースを指定するための入力領域である。利用者/グループ名入力部512は、ルールベースを配付する対象の利用者を指定するための入力領域である。設定区分指定部513は、有効期限の設定区分を指示するための選択部である。設定区分指定部513には、適用開始(適用開始条件の設定)と適用中止(適用終了条件の設定)との選択項目があり、管理者は、いずれか一方を選択することができる。
【0195】
利用アプリケーション入力部514は、ルールベースを利用するためのアプリケーション(たとえば、ワークフローエンジン)を指定するための入力領域である。設定日時入力部515は、適用日時を指定するための入力領域である。
【0196】
OKボタン516は、入力された内容を確定するためのボタンである。クリアボタン517が、入力された内容を消去するためのボタンである。キャンセルボタン518は、条件設定を取りやめるためのボタンである。
【0197】
このような条件設定画面510により、適用開始/終了条件を設定するルールベース、ルールベースの配付先ユーザ(またはユーザグループ)の選択ができる。また、ルールベースの適用開始/終了条件の設定では、ルールベースの有効期限と、ルールベースを利用するアプリケーションプログラムの名前・版の組み合わせが選択できる。さらに、ルールベースの有効期限として、適用開始、適用終了の2種類の有効期限が設定できる。有効期限の設定は、ルールベースを選択し、これに対して有効期限の設定区分を選ばせ、適用開始または終了日時を入力させる形をとっている。なお、適用開始または終了日時の入力においては、カレンダーを表示して設定させたり、時計を表示して設定させて、管理者に日付等を選択させることで、設定日時を指定させることも可能である。
【0198】
次に、ワークフローシステムにおけるクライアント400側のワークフロー起動ルールベース421の更新例について説明する。
図23は、ワークフロー起動ルールベースの更新例を示す模式図である。図23において、ワークフロー起動ルールベース311は、あらかじめ決められたスケジュールに従って、または、ルールベース提供者の操作により資源登録ツール322により資源配付サーバ323に登録される。資源配付サーバ323への登録時に、ワークフロー起動ルールベース311が以前の版より更新されたものである場合にはByteレベル差分データ313が、資源配付サーバ323によって抽出される。資源配付サーバ323は、このByteレベル差分データ313をクライアント400に配付する。
【0199】
なお、ワークフロー起動ルールベース311が更新されていない場合でも、適用開始/終了条件302が更新されている場合がある。その場合、適用開始/終了条件の差分がByteレベル差分データ313として、資源配付サーバ323に登録される。
【0200】
また、適用開始/終了条件302が資源更新管理装置412に含まれる場合、資源更新管理装置412が管理するワークフロー起動ルールベース421の適用開始/終了条件302が更新されていれば、更新されたデータの差分がワークフローサーバ300の資源配付サーバ323に登録される。そして、資源配付サーバ323より、資源更新管理装置412自体の更新差分として差分データが配付される。
【0201】
クライアント400は、あらかじめ決められたスケジュールで(たとえば毎日午前3時に)資源配付サーバ323に対してワークフロー起動ルールベース311または資源更新管理装置412自身のデータが更新されているかどうかを確認する。更新されている場合(適用開始または終了時刻が更新されている場合も、更新されていると判定する)、クライアント400は、ワークフロー起動ルールベース311とその付随情報、または資源更新管理装置412のデータの更新差分を資源配付サーバ323から取り出す。なお、資源更新管理装置412のデータの更新差分は、即時、クライアント400の資源更新管理装置412に反映される。
【0202】
クライアント400のワークフロー起動ルールベース421を更新する際には、資源更新管理装置412が、ワークフロー起動ルールベース421の更新が済んでいるかどうか、そのワークフロー起動ルールベース421に対する適用開始/終了条件302がその利用者に適用されるものかどうか、適用されるのであれば適用開始/終了条件302が成立するかどうかをチェックする。ワークフロー起動ルールベース421の更新がまだ済んでおらず、適用開始/終了条件302がその利用者に適用されるものでかつ条件が成立する(適用開始時刻を過ぎており、ルールベースを利用するワークフローエンジン423が存在する)のであれば、資源更新管理装置412は、ワークフロー起動ルールベース421に対して、配付された更新差分(Byteレベル差分データ411a)を使って自動更新を行う。
【0203】
図24は、ワークフローサーバにおける利用統計情報の一例を示す図である。図24ではルール集合600内の各ルール610,620,630に対してそのルール610,620,630の呼出し回数(即ち、前提条件をチェックされた回数)と、各ルール610,620,630間の呼出し回数(即ち、呼出し元ルールの動作部において呼出し先ルールの前提条件のチェックを行った回数)を各ルール集合600内の各ルール610,620,630に対して取得するようにしている。
【0204】
図25は、ワークフローシステムにおける利用情報集信の例である。図25では、ワークフローエンジン(WF1)423に外付けされたルールベース利用監視アプリケーション424が、図24で示したようなワークフローエンジン423によるルールベース内の各ルール利用状況のデータを記録している。統計情報集信クライアント413は、あらかじめ決められたスケジュールでワークフローサーバ300側に、HTTPプロトコルを使い、WWWサーバ324aを通して転送している。転送されたデータはWWWサーバ324aから呼び出されるデータ格納機構324bを使って利用統計情報312として格納される。なお、WWWサーバ324aとデータ格納機構324bとにより、図20に示した統計情報集信サーバ324が構成されている。
【0205】
図26は、ワークフローシステムにおけるルール更新情報の一例である。ルール更新情報520は、図25のようにして集められた利用統計情報312から自動生成される。図26に示すルール更新情報520では、2つの指示521,522が設定されている。
【0206】
1つ目の指示521は、ワークフローエンジン423が使用するワークフロー起動ルールベース(RS1)421中のルールR001, R002, R003 に対して、ルールR001の優先順位を1から2に、R002の優先順位を2から3に、R003の優先順位を3から1に変更する指示である。2つめの指示522は、ワークフロー起動ルールベース(RS1)421中のルールR004,R008を合成し、R004の条件部とR008の条件部を条件部に、R004の動作部とR008の動作部を動作部に持つ新しいルールを生成する指示である。
【0207】
管理者が前者(優先順位の変更)の指示521を受け入れると、ルールの優先順位が変更される。管理者が後者(ルールの合成)の指示522を受け入れると、新しいルールが生成され追加される。
【0208】
次に、ワークフローシステムにおいて管理者がルールベースを更新するときのユーザインタフェースによる画面遷移を、図27〜図29を参照して説明する。図27は、ルールベース編集画面の一例を示す図である。ルールベース編集画面530には、ツールバー531、ルールベース表示部532、ルール集合一覧表示部533、新規ボタン534、編集ボタン535、削除ボタン536、複写ボタン537、移動ボタン538、OKボタン539a、適用ボタン539b、およびキャンセルボタン539cが設けられている。
【0209】
ツールバー531には、ファイル操作などに関するコマンドを選択入力するためのツールが登録されている。ルールベース表示部532には、ワークフローサーバ300に登録されているルールベースのリストが表示されている。ルール集合一覧表示部533には、ルールベース表示部532において選択されているルールベースに含まれるルール集合の一覧が表示されている。
【0210】
新規ボタン534は、新規のルールベースを登録する際に押すべきボタンである。編集ボタン535は、ルールベース表示部532において選択されているルールベースを編集する際に押すべきボタンである。削除ボタン536は、ルールベース表示部532において選択されているルールベースを削除する際に押すべきボタンである。複写ボタン537は、ルールベース表示部532において選択されているルールベース、またはルール集合一覧表示部533において選択されているルール集合を複写(複製の生成)する際に押すべきボタンである。移動ボタン538は、ルール集合一覧表示部533において選択されているルール集合を、他のルールベースに移動する際に押すべきボタンである。
【0211】
OKボタン539aは、ルールベース編集画面530において行った操作を確定し、処理を終了する際に押すべきボタンである。適用ボタン539bは、ルールベース編集画面530において行った操作を確定する際に押すべきボタンである(処理は継続される)。キャンセルボタン539cは、ルールベース編集画面530において行った操作を非確定のまま処理を終了する際に押すべきボタンである。
【0212】
図27のルールベース編集画面530の、ルールベース表示部532において編集対象のルールベースを選択され、ルール集合一覧表示部533においてルール集合が選択され、さらに編集ボタン535が押されると、ルール編集画面とルール更新指示画面とが表示される。
【0213】
図28は、ルール編集画面とルール更新指示画面との一例を示す図である。ルール編集画面540には、ルール表示部541、新規ボタン542、編集ボタン543、削除ボタン544、複写ボタン545、移動ボタン546、OKボタン547、適用ボタン548、およびキャンセルボタン549が設けられている。
【0214】
ルール表示部541には、選択されたルール集合に含まれるルールのリストが表示されている。新規ボタン542は、新規のルールを登録する際に押すべきボタンである。編集ボタン543は、ルール表示部541において選択されているルールの内容を編集する際に押すべきボタンである。削除ボタン544は、ルール表示部541において選択されているルールを削除する際に押すべきボタンである。複写ボタン545は、ルール表示部541において選択されているルールを複写(複製の生成)する際に押すべきボタンである。移動ボタン546は、ルール表示部541において選択されているルールを、他のルール集合に移動する際に押すべきボタンである。
【0215】
OKボタン547は、ルール編集画面540において行った操作を確定し、処理を終了する際に押すべきボタンである。適用ボタン548は、ルール編集画面540において行った操作を確定する際に押すべきボタンである(処理は継続される)。キャンセルボタン549は、ルール編集画面540において行った操作を非確定のまま処理を終了する際に押すべきボタンである。
【0216】
ルール更新指示画面550は、利用統計情報を元に生成された画面である。ルール更新指示画面550には、更新指示表示部551,552が設けられている。更新指示表示部551,552には、更新指示内容が表示されている。また、更新指示表示部551には、受け入れボタン553が設けられている。受け入れボタン553が押されると、更新指示表示部551に表示されている内容に従って、ルールベースが更新される。同様に、更新指示表示部552には、受け入れボタン554が設けられている。受け入れボタン554が押されると、更新指示表示部552に表示されている内容に従って、ルールベースが更新される。
【0217】
この状態でルールベースの管理者は、表示されている更新指示を受け入れることができる。ルールベース管理者が更新指示を受け入れると、更新指示の内容にしたがってルールベースが自動的に修正される。
【0218】
ルールベース管理者は、表示された更新指示を受け入れるほかに、ルールを選択して編集することもできる。ルール編集画面540のルール表示部541において編集対象のルールが選択され、編集ボタン543が押されると、ルール内容編集画面が表示される。
【0219】
図29は、ルール内容編集画面の一例を示す図である。ルール内容編集画面560には、優先度設定部561、前提条件設定部562、動作設定部563、前提条件追加ボタン564、前提条件編集ボタン565、前提条件削除ボタン566、動作追加ボタン567、動作編集ボタン568、動作削除ボタン569、OKボタン560a、リセットボタン560b、およびキャンセルボタン560cが設けられている。
【0220】
優先度設定部561は、処理対象となっているルールの優先度を設定するための領域である。前提条件設定部562は、ルールの前提条件を設定するための入力領域である。動作設定部563は、ルールの前提条件を満たしたときに実行すべき動作を設定するための領域である。
【0221】
前提条件追加ボタン564は、前提条件設定部562に設定された前提条件を、処理対象のルールに追加するためのボタンである。前提条件編集ボタン565は、前提条件設定部562に設定されている前提条件を編集する際に押すべきボタンである。前提条件削除ボタン566は、前提条件設定部562に設定されている前提条件を、処理対象のルールから削除するためのボタンである。
【0222】
動作追加ボタン567は、動作設定部563に設定された動作を、処理対象のルールに追加するためのボタンである。動作編集ボタン568は、動作設定部563に設定されている動作を編集する際に押すべきボタンである。動作削除ボタン569は、動作設定部563に設定されている動作を、処置対象のルールから削除するためのボタンである。
【0223】
OKボタン560aは、ルール内容編集画面560で設定した内容を確定し、処理を終了させるためのボタンである。リセット(Reset)ボタン560bは、ルール内容編集画面560の内容を、編集操作開始前の状態に戻すためのボタンである。キャンセルボタン560cは、ルール内容編集画面560で編集した内容を適用せずに処理を終了するためのボタンである。
【0224】
このルール内容編集画面560によって、ルールの優先度の変更と、ルールの前提条件、ルールの動作部分それぞれに対して追加や編集、削除が行える。
[実施の形態の効果]
本発明の効果として、以下を挙げることができる。
【0225】
ルールベースの利用状況を示す利用情報を集信し、その利用情報の集合である利用統計情報に基づいてルールベースを編集するようにしたため、ルールベースの管理者は、利用者によるルールベースの利用状況に応じて、配付するルールベースを更新することができる。これにより、利用者は、自己の使用状況に合わせて処理の効率化が図られたルールベースを利用することができ、ルールベースを利用した作業効率が向上する。たとえば、利用統計情報を利用して、優先順位を変更するようにすることで、利用者は、常時最適化された優先順のルールベースを利用することができる。
【0226】
また、提供者から利用者に配付されるルールベースに対して、適用開始/終了条件を状況に合わせて設定でき、設定した適用開始/終了条件にあわせてルールベースの利用開始や終了が自動的に行われるようになる。
【0227】
なお、上記の説明では、ルールベースを提供するルールベース提供装置とクライアントとがネットワークを介して接続された個別の装置であったが、ルールベース提供装置とクライアントとの機能を1つのコンピュータに搭載することもできる。たとえば、クライアントにルールベース提供装置100における利用統計情報取得装置128、ルールベース編集装置125、修正指示生成装置124の機能を搭載すれば、クライアント単体でルールベースの最適化を行うことができる。すなわち、各クライアントのユーザが、それぞれの使用状況に合ったルールベースを構築することが可能となる。
【0228】
なお、上記の処理機能は、サーバコンピュータとクライアントコンピュータとによって実現することができる。その場合、ルールベース提供装置が有すべき機能の処理内容を記述したサーバプログラム、およびルールベース利用装置が有すべき機能の処理内容を記述したクライアントプログラムが提供される。サーバプログラムをサーバコンピュータで実行することにより、ルールベース提供装置の処理機能がサーバコンピュータ上で実現される。また、クライアントプログラムをクライアントコンピュータで実行することにより、ルールベース利用装置の処理機能がクライアントコンピュータ上で実現される。
【0229】
処理内容を記述したサーバプログラムやクライアントプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disc)などがある。
【0230】
サーバプログラムやクライアントプログラムを流通させる場合には、たとえば、各プログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、クライアントプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータからクライアントコンピュータにクライアントプログラムを転送することもできる。
【0231】
サーバプログラムを実行するサーバコンピュータは、たとえば、可搬型記録媒体に記録されたサーバプログラムを、自己の記憶装置に格納する。そして、サーバコンピュータは、自己の記憶装置からサーバプログラムを読み取り、サーバプログラムに従った処理を実行する。なお、サーバコンピュータは、可搬型記録媒体から直接サーバプログラムを読み取り、そのサーバプログラムに従った処理を実行することもできる。
【0232】
クライアントプログラムを実行するクライアントコンピュータは、たとえば、可搬型記録媒体に記録されたクライアントプログラムもしくはサーバコンピュータから転送されたクライアントプログラムを、自己の記憶装置に格納する。そして、クライアントコンピュータは、自己の記憶装置からクライアントプログラムを読み取り、クライアントプログラムに従った処理を実行する。なお、クライアントコンピュータは、可搬型記録媒体から直接クライアントプログラムを読み取り、そのクライアントプログラムに従った処理を実行することもできる。また、クライアントコンピュータは、サーバコンピュータからクライアントプログラムが転送される毎に、逐次、受け取ったクライアントプログラムに従った処理を実行することもできる。
【0233】
(付記1) 少なくとも1つのルールベース利用装置にルールベースを配信するためのプログラムにおいて、
コンピュータに、
前記ルールベースを前記ルールベース利用装置に配信し、
前記ルールベース利用装置における前記ルールベースの利用状況を示す利用情報を、前記ルールベース利用装置から収集し、
前記ルールベース利用装置から収集した前記利用情報に基づいて、前記ルールベースの改善内容を判断する、
処理を実行させることを特徴とするプログラム。
【0234】
(付記2) 前記ルールベースの前記改善内容に従って、前記ルールベースを編集させることを特徴とする付記1記載のプログラム。
(付記3) 判断した前記改善内容を表示させ、表示させた前記改善内容の適用を指示する操作入力に応答して、前記改善内容に従って前記ルールベースの内容を編集させることを特徴とする付記1記載のプログラム。
【0235】
(付記4) 前記ルールベースの前記ルールベース利用装置への配信は、前記ルールベースの内容が変更された場合に実行させることを特徴とする付記1記載のプログラム。
【0236】
(付記5) 前記ルールベースを利用可能とするための条件が設定された適用条件を、前記ルールベースに対して設定させ、
前記ルールベースの前記ルールベース利用装置への配信の際に、前記ルールベース利用装置に対して前記適用条件を配信させることを特徴とする付記1記載のプログラム。
【0237】
(付記6) ルールベース提供装置から配信されるルールベースを利用するためのプログラムにおいて、
コンピュータに、
前記ルールベース提供装置から配信された前記ルールベースを格納し、
前記ルールベースを利用した処理を実行し、
前記ルールベースの利用状況を監視して、前記利用状況を示す利用情報を生成し、
生成された前記利用情報を、前記ルールベース提供装置に送信する、
処理を実行させることを特徴とするプログラム。
【0238】
(付記7) 前記ルールベースを利用可能とするための条件が設定された適用条件を受け取ると、前記適用条件が満たされている間のみ前記ルールベースを使用可能とさせることを特徴とする付記6記載のプログラム。
【0239】
(付記8) 前記ルールベース提供装置が配信した前記ルールベースが、既に使用している既存ルールベースの新版である場合には、前記既存ルールベースを前記ルールベース提供装置から配信した前記ルールベースに更新させることを特徴とする付記6記載のプログラム。
【0240】
(付記9) 前記ルールベースとともに、前記ルールベースを利用可能とするための条件が設定された適用条件を受け取ると、前記適用条件が満たされるのを待って、前記既存ルールベースを前記ルールベース提供装置から配信した前記ルールベースに更新させることを特徴とする付記8記載のプログラム。
【0241】
(付記10) ルールベースを利用するためのプログラムにおいて、
コンピュータに、
前記ルールベースを利用した処理を実行し、
前記ルールベースの利用状況を監視して、前記利用状況を示す利用情報を生成し、
前記利用情報に基づいて前記ルールベースの改善内容を判断し、
前記ルールベースの前記改善内容に従って、前記ルールベースを編集する、
処理を実行させることを特徴とするプログラム。
【0242】
(付記11) 少なくとも1つのルールベース利用装置に配信するルールベースをコンピュータで管理するためのルールベース管理方法において、
前記ルールベースを前記ルールベース利用装置に配信し、
前記ルールベース利用装置における前記ルールベースの利用状況を示す利用情報を、前記ルールベース利用装置から収集し、
前記ルールベース利用装置から収集した前記利用情報に基づいて、前記ルールベースの改善内容を判断する、
ことを特徴とするルールベース管理方法。
【0243】
(付記12) ルールベース提供装置から配信されるルールベースをコンピュータで利用するためのルールベース利用方法において、
前記ルールベース提供装置から配信された前記ルールベースを格納し、
前記ルールベースを利用した処理を実行し、
前記ルールベースの利用状況を監視して、前記利用状況を示す利用情報を生成し、
生成された前記利用情報を、前記ルールベース提供装置に送信する、
ことを特徴とするルールベース利用方法。
【0244】
(付記13) ルールベースをコンピュータで利用するためのルールベース利用方法において、
前記ルールベースを利用した処理を実行し、
前記ルールベースの利用状況を監視して、前記利用状況を示す利用情報を生成し、
前記利用情報に基づいて前記ルールベースの改善内容を判断し、
前記ルールベースの前記改善内容に従って、前記ルールベースを編集する、
ことを特徴とするルールベース利用方法。
【0245】
(付記14) 少なくとも1つのルールベース利用装置にルールベースを配信するルールベース提供装置において、
前記ルールベースを前記ルールベース利用装置に配信する配信手段と、
前記配信手段が配信した前記ルールベースの前記ルールベース利用装置における利用状況を示す利用情報を、前記ルールベース利用装置から収集する収集手段と、
前記収集手段が前記ルールベース利用装置から収集した前記利用情報に基づいて、前記ルールベースの改善内容を判断する判断手段と、
を有することを特徴とするルールベース提供装置。
【0246】
(付記15) ルールベース提供装置から配信されるルールベースを利用するルールベース利用装置において、
前記ルールベース提供装置から配信された前記ルールベースを格納する格納手段と、
前記格納手段が格納した前記ルールベースを利用した処理を実行する実行手段と、
前記実行手段による前記ルールベースの利用状況を監視して、前記利用状況を示す利用情報を生成する利用情報生成手段と、
前記利用情報生成手段で生成された前記利用情報を、前記ルールベース提供装置に送信する送信手段と、
を有することを特徴とするルールベース利用装置。
【0247】
(付記16) ルールベースを利用するためのルールベース利用装置において、
前記ルールベースを利用した処理を実行する実行手段と、
前記実行手段による前記ルールベースの利用状況を監視して、前記利用状況を示す利用情報を生成する利用情報生成手段と、
前記利用情報生成手段が生成した前記利用情報に基づいて、前記ルールベースの改善内容を判断する判断手段と、
前記判断手段が判断した前記ルールベースの前記改善内容に従って、前記ルールベースを編集する編集手段と、
を有することを特徴とするルールベース利用装置。
【0248】
(付記17) 少なくとも1つのルールベース利用装置にルールベースを配信するためのプログラムを記録したコンピュータ読み取り可能な記録媒体において、
前記コンピュータに、
前記ルールベースを前記ルールベース利用装置に配信し、
前記ルールベース利用装置における前記ルールベースの利用状況を示す利用情報を、前記ルールベース利用装置から収集し、
前記ルールベース利用装置から収集した前記利用情報に基づいて、前記ルールベースの改善内容を判断する、
処理を実行させることを特徴とするプログラムを記録した記録媒体。
【0249】
(付記18) ルールベース提供装置から配信されるルールベースを利用するためのプログラムを記録したコンピュータ読み取り可能な記録媒体において、
前記コンピュータに、
前記ルールベース提供装置から配信された前記ルールベースを格納し、
前記ルールベースを利用した処理を実行し、
前記ルールベースの利用状況を監視して、前記利用状況を示す利用情報を生成し、
生成された前記利用情報を、前記ルールベース提供装置に送信する、
処理を実行させることを特徴とするプログラムを記録した記録媒体。
【0250】
(付記19) ルールベースを利用するためのプログラムを記録したコンピュータ読み取り可能な記録媒体において、
前記コンピュータに、
前記ルールベースを利用した処理を実行し、
前記ルールベースの利用状況を監視して、前記利用状況を示す利用情報を生成し、
前記利用情報に基づいて前記ルールベースの改善内容を判断し、
前記ルールベースの前記改善内容に従って、前記ルールベースを編集する、
処理を実行させることを特徴とするプログラムを記録した記録媒体。
【0251】
【発明の効果】
以上説明したように本発明では、ルールベースの利用状況を示す利用情報を収集し、その利用情報に基づいてルールベースの改善内容を判断するようにしたため、その改善内容に基づいてルールベースを編集することで、利用時の処理効率の高いルールベースを生成することができる。
【図面の簡単な説明】
【図1】本発明の概略を示す概念図である。
【図2】本実施の形態を適用するシステムの構成例を示す図である。
【図3】本発明の実施の形態に用いるルールベース提供装置のハードウェア構成例を示す図である。
【図4】ルールベース提供装置の機能構成例を示すブロック図である。
【図5】ルールベース利用装置の機能構成例を示すブロック図である。
【図6】ルールベースのデータ構造の一例を示す図である。
【図7】ルールベースの配信処理の動作原理を示す模式図である。
【図8】ルールベース提供装置におけるルールベースの適用開始/終了条件設定処理を示すフローチャートである。
【図9】適用開始/終了条件が設定されたルールベースの形式変換処理を示すフローチャートである。
【図10】ルールベースを自動配付する処理のフローチャートを示す図である。
【図11】ルールベースの更新処理を示すフローチャートである。
【図12】ルールベース利用状況集信処理の動作原理を表す模式図である。
【図13】利用情報における利用回数情報の構成例を示す図である。
【図14】利用情報における呼出関係グラフの構成例を示す図である。
【図15】クライアントでの利用情報収集処理を示すフローチャートである。
【図16】利用情報集信処理を示すフローチャートである。
【図17】ルールベース編集処理の動作原理を表す模式図である。
【図18】利用統計情報取得処理を示すフローチャートである。
【図19】ルールベース編集処理を示すフローチャートである。
【図20】本実施の形態が適用されたワークフローシステムの構成例を示す図である。
【図21】図20に示すシステムにおけるワークフロー起動ルールベースの一例を示す図である。
【図22】ワークフローサーバにおけるルールベースの適用開始/終了条件を設定するための画面の一例を示す図である。
【図23】ワークフロー起動ルールベースの更新例を示す模式図である。
【図24】ワークフローサーバにおける利用統計情報の一例を示す図である。
【図25】ワークフローシステムにおける利用情報集信の例である。
【図26】ワークフローシステムにおけるルール更新情報の一例である。
【図27】ルールベース編集画面の一例を示す図である。
【図28】ルール編集画面とルール更新指示画面との一例を示す図である。
【図29】ルール内容編集画面の一例を示す図である。
【図30】従来のルールベースの運用形態を示す概念図である。
【符号の説明】
1 ルールベース提供装置
1a ルールベース
1b 利用統計情報
2,3,4 ルールベース利用装置
2a ルールベース
2b 利用情報
10 ネットワーク
100 ルールベース提供装置
101 CPU
102 RAM
103 ハードディスクドライブ
104 グラフィック処理装置
105 入力インタフェース
106 通信インタフェース
107 バス
200,200a,200b ルールベース利用装置

Claims (2)

  1. コンピュータに対してネットワークを介して接続された少なくとも1つのルールベース利用装置にルールベースを配信するためのプログラムにおいて、
    前記コンピュータに、
    評価順に沿って論理演算子で接続された複数の条件を有するルールを含む前記ルールベースを前記ルールベース利用装置に配信し、
    前記ルールベース利用装置における前記ルールベースに含まれる複数のルールそれぞれの呼び出し回数および各ルール内の前記複数の条件それぞれの成立回数を示す利用情報を、前記ルールベース利用装置から収集し、
    前記ルールベース利用装置から収集した前記利用情報において、前記複数の条件を有するルールにおける各条件の成立回数を当該ルールの呼び出し回数で除算した値が大きい順に、当該ルール内の条件の評価順を並べ替えることを、前記ルールベースの改善内容として判断する、
    処理を実行させることを特徴とするプログラム。
  2. コンピュータに対してネットワークを介して接続された少なくとも1つのルールベース利用装置にルールベースを配信するためのプログラムにおいて、
    前記コンピュータに、
    複数の条件を有するルールを含む前記ルールベースを前記ルールベース利用装置に配信し、
    前記ルールベース利用装置における前記ルールベースに含まれる複数のルールそれぞれの呼び出し回数および各ルール内の前記複数の条件それぞれの成立回数を示す利用情報を、前記ルールベース利用装置から収集し、
    前記ルールベース利用装置から収集した前記利用情報において、複数の条件を有するルールにおいて、各条件の成立回数を当該ルールの呼び出し回数で除算した値が所定の閾値より小さくなる条件がある場合は、該当する条件を含まないルールを新規に生成することを、前記ルールベースの改善内容として判断する、
    処理を実行させることを特徴とするプログラム。
JP2001158434A 2001-05-28 2001-05-28 ルールベースを配信するためのプログラム Expired - Fee Related JP4067784B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001158434A JP4067784B2 (ja) 2001-05-28 2001-05-28 ルールベースを配信するためのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001158434A JP4067784B2 (ja) 2001-05-28 2001-05-28 ルールベースを配信するためのプログラム

Publications (2)

Publication Number Publication Date
JP2002351664A JP2002351664A (ja) 2002-12-06
JP4067784B2 true JP4067784B2 (ja) 2008-03-26

Family

ID=19002162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001158434A Expired - Fee Related JP4067784B2 (ja) 2001-05-28 2001-05-28 ルールベースを配信するためのプログラム

Country Status (1)

Country Link
JP (1) JP4067784B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5476834B2 (ja) * 2009-07-24 2014-04-23 株式会社リコー 情報処理装置、ワークフローシステム、ワークフロー管理方法、プログラムおよび記録媒体
JP6392599B2 (ja) * 2014-09-12 2018-09-19 国立大学法人電気通信大学 学習分類子システム、学習分類子生成方法及びプログラム

Also Published As

Publication number Publication date
JP2002351664A (ja) 2002-12-06

Similar Documents

Publication Publication Date Title
CN111880837B (zh) 一种支持动态扩展及可视化配置的业务流程引擎系统
US5835911A (en) Software distribution and maintenance system and method
JP4986418B2 (ja) プロジェクトデータのキャッシュおよび同期をとる方法およびシステム
US10353889B2 (en) Monitoring alignment of computer file states across a group of users
US7827199B2 (en) Centralized configuration data management for distributed clients
JP5055410B2 (ja) 装置管理システム及びそのシステムにおける装置管理命令スケジューリング方法
JP4060272B2 (ja) ピア・ツー・ピア・コラボレーション・システムを管理するための方法および装置
US20020004824A1 (en) Method and apparatus for automatically deploying data and simultaneously Executing computer program scripts in a computer network
JP2005502118A (ja) 完全なエンドツーエンド・ソフトウェア送達プロセス管理のための統合システムおよび方法
JP5079039B2 (ja) 管理仲介装置、画像形成装置、管理仲介プログラム及び管理仲介プログラムを記録した記録媒体
JP2000067130A (ja) ワークフロー管理システム
JP2002108728A (ja) 障害情報の掲載方法およびプロバイダ設備
JPS63239552A (ja) データ処理を複数の制御位置にわたって分散させるための装置
US20070294672A1 (en) Support apparatus, program, information processing system and suport method
JP2014170525A (ja) 情報処理システム
JP2007087232A (ja) システム構成変更によるポリシ修正を容易にするポリシ作成方法、及びポリシ管理方法
US8024800B2 (en) File attachment processing method and system
WO2012028957A2 (en) A system and method for running applications on a platform
JP4067784B2 (ja) ルールベースを配信するためのプログラム
JP4361819B2 (ja) バージョンアップ制御プログラム、バージョンアップ制御方法、地域センタ装置、およびサービス提供システム
CN115098574A (zh) 多数据源的数据转存方法、系统、终端设备及存储介质
JP2002230250A (ja) ワークフロー連携処理装置、ワークフロー連携処理システム、ワークフローシステムの連携方法、そのためのプログラムおよび記録媒体
JP3471203B2 (ja) ネットワークシステム
JPH0954734A (ja) ネットワークを活用したソフトウェア流通・保守システムおよび方法
JP2000339156A (ja) ライセンス管理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071112

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080109

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

Free format text: PAYMENT UNTIL: 20110118

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110118

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120118

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130118

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130118

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140118

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees