(57)【特許請求の範囲】
【請求項１】
コンピュータに対してネットワークを介して接続された少なくとも１つのルールベース利用装置にルールベースを配信するためのプログラムにおいて、
前記コンピュータに、
評価順に沿って論理演算子で接続された複数の条件を有するルールを含む前記ルールベースを前記ルールベース利用装置に配信し、
前記ルールベース利用装置における前記ルールベースに含まれる複数のルールそれぞれの呼び出し回数および各ルール内の前記複数の条件それぞれの成立回数を示す利用情報を、前記ルールベース利用装置から収集し、
前記ルールベース利用装置から収集した前記利用情報において、前記複数の条件を有するルールにおける各条件の成立回数を当該ルールの呼び出し回数で除算した値が大きい順に、当該ルール内の条件の評価順を並べ替えることを、前記ルールベースの改善内容として判断する、
処理を実行させることを特徴とするプログラム。
【請求項２】
コンピュータに対してネットワークを介して接続された少なくとも１つのルールベース利用装置にルールベースを配信するためのプログラムにおいて、
前記コンピュータに、
複数の条件を有するルールを含む前記ルールベースを前記ルールベース利用装置に配信し、
前記ルールベース利用装置における前記ルールベースに含まれる複数のルールそれぞれの呼び出し回数および各ルール内の前記複数の条件それぞれの成立回数を示す利用情報を、前記ルールベース利用装置から収集し、
前記ルールベース利用装置から収集した前記利用情報において、複数の条件を有するルールにおいて、各条件の成立回数を当該ルールの呼び出し回数で除算した値が所定の閾値より小さくなる条件がある場合は、該当する条件を含まないルールを新規に生成することを、前記ルールベースの改善内容として判断する、
処理を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はルールベースを配信するためのプログラムおよびルールベースを利用するためのプログラムに関し、特に適宜更新されるルールベースを配信するためのプログラムおよび適宜更新されるルールベースを利用するためのプログラムに関する。
【０００２】
【従来の技術】
人工知能やエキスパートシステムを構築するための手法の１つとして、ルールベースと呼ばれるものがある。ルールベースは、問題を解決するための知識を、ＩＦ（前提条件）〜ＴＨＥＮ（動作）形式のプロダクション・ルールとして表したものである。そして、推論エンジンがルールベースを参照し、与えられた問題に対して次々にルールを適用し、解を見つける。
【０００３】
ルールベースは、アプリケーションの動作を制御する規則を表すデータとして利用できる。この場合、ルールベースを、インターネット、エクストラネット、またはイントラネットにおいて各利用者に供給することができる。各種業務を遂行するためのアプリケーションプログラムで実現される機能（アプリケーション）に、ルールベースを供給すれば、業務の効率化を図ることができる。
【０００４】
ルールベースの供給システムが適用される主な業務としては、たとえば以下のような業務が挙げられる。
・翻訳作業で使用する翻訳辞書の自動配付と管理業務
・文書作成に使用するかな漢字変換辞書の自動配付と管理業務
・文書校正に使用する校正規則辞書の自動配付と管理業務
・ワークフローシステムにおけるワークフロー生成規則データの自動配付と管理業務
図３０は、従来のルールベースの運用形態を示す概念図である。従来の運用形態では、ルールベース提供者９１０側が最新のルールベース９１１を管理している。そして、ルールベース提供者９１０がルールベース利用者９２０にＣＤ−ＲＯＭ(Compact Disc Read Only Memory)などの媒体でルールベース９１１を供給するか、ＷＷＷ(World Wide Web)サーバやｆｔｐサーバなどの公開サーバ９１２にルールベース９１１を置いておく。ルールベース利用者９２０は、公開サーバ９１２のルールベース９１１を自分でダウンロードし、クライアントコンピュータにインストール／更新する。
【０００５】
このように、ルールベース提供者から利用者へルールベースが配付されることで、利用者が、最新の版数のルールベースを使用することができる。なお、ルールベース９１１を自動配信・自動更新するシステムも近年登場してきている。
【０００６】
【発明が解決しようとする課題】
しかし、従来のシステムでは、管理者によるルールベースの作成または編集作業が、利用者の利用状況を加味せずに行われていた。そのため、管理者側が想定していたルールベースの利用状況と、実際に利用者が利用したときの利用状況とが異なることにより、ルールベースに定義されたルールが、実際の運用において非効率的となる場合があった。従来のシステムでは、処理効率の悪いルールをユーザの利用状況に応じて変更することができなかった。そのため、利用者は、非効率的なルールが定義されたルールベースを使用し続けなければならず、業務の非効率化を招いていた。
【０００７】
本発明はこのような点に鑑みてなされたものであり、利用者の使用状況に応じてルールベースを更新できる、ルールベースを配信するためのプログラムを提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明では上記課題を解決するために、図１に示すような処理をコンピュータに実行させるためのプログラムが提供される。本発明のプログラムは、少なくとも１つのルールベース利用装置２，３，４にルールベース１ａを配信するためのプログラムである。このプログラムは、コンピュータに、ルールベース１ａをルールベース利用装置２，３，４に配信させ（ステップＳ２）、ルールベース利用装置２，３，４におけるルールベース２ａの利用状況を示す利用情報２ｂを、ルールベース利用装置２，３，４から集信させ（ステップＳ８）、ルールベース利用装置２，３，４から収集した利用情報２ｂに基づいて、ルールベース１ａの改善内容を判断させる（ステップＳ９）。
【０００９】
これにより、コンピュータはルールベース提供装置１として機能する。このルールベース提供装置１を用いることで、ルールベース利用装置２におけるルールベース２ａの利用状況を、ルールベース１ａに反映させることが可能となる。その結果、ルールベース提供装置１の利用者は、ルールベース利用装置２におけるルールベース２ａの利用した処理の効率を向上させるためのルールベース１ａの改善内容を得ることができる。そして、得られた改善内容に従ってルールベース１ａを編集すれば、ルールベース１ａを用いた処理の処理効率を向上させることができる。
【００１０】
また、本発明は上記課題を解決するために、ルールベース提供装置１から配信されるルールベース１ａを利用するためのプログラムが適用される。このプログラムは、コンピュータに、ルールベース提供装置１から配信されたルールベース１ａを更新させ（ステップＳ４）、格納後のルールベース２ａを利用した処理を実行させ（ステップＳ５）、ルールベース２ａの利用状況を監視して、利用状況を示す利用情報２ｂを生成させ（ステップＳ６）、生成された利用情報２ｂを、ルールベース提供装置１に送信させる。
【００１１】
これにより、コンピュータはルールベース利用装置２として機能する。ルールベース利用装置２が、ルールベース２ａの利用状況を、ルールベース提供装置１に送信することで、ルールベース利用装置２によるルールベース２ａの利用状況を、ルールベース１ａの編集作業に反映させることができる。
【００１２】
また、本発明は上記課題を解決するために、ルールベースを利用するためのプログラムにおいて、コンピュータに、ルールベースを利用した処理を実行し、ルールベースの利用状況を監視して、利用状況を示す利用情報を生成し、利用情報に基づいてルールベースの改善内容を判断し、ルールベースの改善内容に従って、ルールベースを編集する、処理を実行させることを特徴とするプログラムを提供する。
【００１３】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本発明の原理構成図である。本発明は、大別してルールベース提供装置１と複数のルールベース利用装置２，３，４とで構成される。なお、各ルールベース利用装置２，３，４は、それぞれ同様の構成および機能を有しているため、以下、代表的にルールベース利用装置２の構成と機能とを説明する。
【００１４】
ルールベース提供装置１は、ルールベース１ａと利用統計情報１ｂとを格納している。ルールベース１ａは、問題を解決するための知識をルールの集合で表現したものである。ルールベース１ａは、ルールベース利用装置２，３，４に配付するためのものである。利用統計情報１ｂは、ルールベース利用装置２，３，４におけるルールベースの利用情報２ｂを集めた統計データである。
【００１５】
ルールベース利用装置２は、ルールベース２ａと利用情報２ｂとを有している。ルールベース２ａは、ルールベース利用装置２自身が利用するルールベースである。利用情報２ｂは、ルールベース利用装置２におけるルールベース２ａの利用状況を示す情報である。
【００１６】
ルールベース提供装置１は、操作入力に応答して、ルールベース１ａの適用条件の設定処理を行う（ステップＳ１）。適用条件は、ルールベース１ａをルールベース利用装置２，３，４において利用可能とするための条件（適用開始条件や適用終了条件）である。次に、ルールベース提供装置１は、所定のタイミングで、ルールベース１ａと適用条件とをルールベース利用装置２，３，４へ配付する（ステップＳ２）。すなわち、ルールベース１ａと適用条件とが自動配付される。
【００１７】
ルールベース利用装置２は、ルールベース提供装置１から配付されたルールベース１ａと適用条件とを受信する（ステップＳ３）。次に、ルールベース利用装置２は、ルールベース提供装置１から受け取った適用条件（適用開始条件）が満たされるのを待って、ルールベース提供装置１から受け取ったルールベース１ａを用いて、ルールベース２ａを更新する（ステップＳ４）。なお、ルールベース利用装置２は、適用条件における適用終了条件が満たされると、ルールベース２ａを削除する。
【００１８】
ルールベース利用装置２は、ルールベース１ａを用いて更新されたルールベース２ａを利用する（ステップＳ５）。このとき、ルールベース利用装置２は、ルールベース２ａの利用状況を示す利用情報２ｂを収集する（ステップＳ６）。そして、ルールベース利用装置２は、収集した利用情報２ｂを、任意のタイミングでルールベース提供装置１へ送信する（ステップＳ７）。
【００１９】
ルールベース提供装置１は、複数のルールベース利用装置２，３，４から送られる利用情報を集信する（ステップＳ８）。集信した利用情報は、利用統計情報１ｂとして、ルールベース提供装置１内に蓄えられる。次に、ルールベース提供装置１は、利用統計情報１ｂからルールベース１ａの改善内容を判断し（ステップＳ９）、判断した改善内容に応じて、ルールベース１ａを編集する（ステップＳ１０）。
【００２０】
このようにして、ルールベース提供装置１に、ルールベース１ａの適用条件を設定すると、各ルールベース利用装置２，３，４にルールベース１ａと適用条件とが自動的に配付される。ルールベース利用装置２，３，４に配付されたルールベース１ａは、ルールベース提供装置１においてあらかじめ設定した適用条件が、ルールベース利用装置２，３，４において成立したことが検出されると、自動更新（古い版がない場合はインストール・セットアップ）または削除される。
【００２１】
ルールベース利用装置２におけるルールベース２ａの利用状況（たとえば、各ルール毎の利用回数やルール間の呼出し回数）を示す利用情報２ｂは、ルールベース提供装置１に自動的に集められる。そして、ルールベース提供装置１において、各ルールベース利用装置２，３，４から収集した利用情報で構成される利用統計情報１ｂを元に、利用状況を反映したルールベース１ａ更新のための編集を行うことができる。
【００２２】
このように、ルールベースの利用情報を集信し、その内容に応じてルールベース１ａを更新することで、ルールベース利用装置２，３，４におけるルールベースの利用形態に合わせて、ルールベース１ａを最適化することができる。これにより、処理効率の高いルールベース１ａを構築し、そのルールベース１ａをルールベース利用装置２，３，４に提供することができる。その結果、ルールベース利用装置２，３，４におけるルールベースを用いた処理の処理効率が向上する。
【００２３】
図２は、本実施の形態を適用するシステムの構成例を示す図である。ルールベース提供装置１００には、ネットワーク１０を介して、複数のルールベース利用装置２００，２００ａ，２００ｂが接続されている。ネットワーク１０は、たとえばインターネットのような広域ネットワークである。
【００２４】
ルールベース提供装置１００は、ルールベースを格納しており、適宜、格納しているルールベースを複数のルールベース利用装置２００，２００ａ，２００ｂに配信する。また、ルールベース提供装置１００は、各ルールベース利用装置２００，２００ａ，２００ｂにおけるルールベースの使用状況を収集し、その使用状況に応じて、ルールベースを編集することができる。
【００２５】
ルールベース利用装置２００，２００ａ，２００ｂは、ルールベースに基づいた処理を実行するアプリケーションを有している。また、ルールベース利用装置２００，２００ａ，２００ｂは、ルールベースの利用状況を、ルールベース提供装置１００へ送信することができる。
【００２６】
図３は、本発明の実施の形態に用いるルールベース提供装置のハードウェア構成例を示す図である。ルールベース提供装置１００は、ＣＰＵ(Central Processing Unit)１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ(Random Access Memory)１０２、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、および通信インタフェース１０６が接続されている。
【００２７】
ＲＡＭ１０２は、ＣＰＵ１０１に実行させるＯＳ(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３は、ＯＳ、アプリケーションプログラム、ルールベースなどが格納される。
【００２８】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。
【００２９】
通信インタフェース１０６は、ネットワーク１０に接続されている。ネットワーク１０は、たとえばインターネットのような広域ネットワークである。通信インタフェース１０６は、ネットワーク１０を介して、他のコンピュータとの間でデータの送受信を行う。
【００３０】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図３では、ルールベース提供装置１００のハードウェア構成について説明したが、ルールベース利用装置２００，２００ａ，２００ｂも同様のハードウェア構成で実現することができる。
【００３１】
図４は、ルールベース提供装置の機能構成例を示すブロック図である。ルールベース提供装置１００は、ＨＤＤ１０３などの記憶装置に、複数のルールベース１１１、変換済形式ルールベース１１２、修正指示生成規則１１３、ルールベースに関する利用統計情報１１４を格納している。
【００３２】
複数のルールベース１１１は、ルールベース利用装置２００，２００ａ，２００ｂに提供するルール群である。ルールベース１１１は、たとえば、翻訳作業で使用する翻訳辞書、文書作成に使用するかな漢字変換辞書の自動配付と管理業務、文書校正に使用する校正規則辞書の自動配付と管理業務、ワークフローシステムにおけるワークフロー生成規則データなどである。なお、各ルールベース１１１には、適用開始／終了条件を設定することができる。
【００３３】
変換済形式ルールベース１１２は、ルールベース１１１を、自動配付に適した形式に変換した後のデータである。たとえば、ルールベース１１１の以前の版数からの差分データなどが、変換済形式ルールベース１１２として格納される。
【００３４】
修正指示生成規則１１３は、修正指示を生成するための生成規則に関する情報である。
利用統計情報１１４は、ルールベース利用装置２００，２００ａ，２００ｂから収集した利用情報を統合させた統計的な情報である。
【００３５】
ルールベース提供装置１００は、処理機能として、適用開始／終了条件決定装置１２１、ルールベース形式変換装置１２２、ルールベース自動配付装置１２３、修正指示生成装置１２４、ルールベース編集装置１２５、利用状況集信装置１２６、利用統計情報格納装置１２７、および利用統計情報取得装置１２８を有している。なお、適用開始／終了条件決定装置１２１、ルールベース編集装置１２５、および利用統計情報取得装置１２８は、入出力装置１４との間で情報の送受信を行うためのユーザインタフェースを有している。入出力装置１４は、モニタ１１、キーボード１２およびマウス１３で構成される装置である。
【００３６】
適用開始／終了条件決定装置１２１は、ルールベース提供者からの入出力装置１４を用いた操作入力に応答して、ルールベース１１１、ルールベース配付先またはルールベース配付先のグループを選択し、選択されたルールベース１１１に対して適用開始／終了条件を設定する。
【００３７】
ルールベース形式変換装置１２２は、ルールベース１１１と、ルールベース１１１に設定された適用開始／終了条件などの付随情報を、自動配付に適したデータ形式に変換する。ルールベース形式変換装置１２２は、変換後のデータを、変換済形式ルールベース１１２としてＨＤＤ１０３などに格納する。
【００３８】
ルールベース自動配付装置１２３は、ルールベース１１１を配信するための送信側の装置である。ルールベース自動配付装置１２３は、データ形式変換された変換済形式ルールベース１１２を、所定のルールベース利用装置２００，２００ａ，２００ｂに配信する。
【００３９】
修正指示生成装置１２４は、ルールベース編集装置１２５からルールベース１１１に関する利用統計情報を受け取ると、修正指示生成規則１１３を参照し、ルールベース１１１の改善内容を判断する。そして、修正指示生成装置１２４は、改善内容に沿った修正指示を生成し、その修正指示をルールベース編集装置１２５に渡す。
【００４０】
ルールベース編集装置１２５は、入出力装置１４を介したルールベース提供者からの操作入力に応答して、ルールベース１１１を編集する。たとえば、ルールベース編集装置１２５は、ルールベース編集装置１２５は、利用統計情報取得装置１２８から取得した統計情報を、修正指示生成装置１２４に渡し、修正指示生成装置１２４より修正指示を受け取る。そして、ルールベース編集装置１２５は、修正指示生成装置１２４より受け取った修正指示に応じて、ルールベース１１１を編集する。
【００４１】
利用状況集信装置１２６は、ルールベース利用装置２００，２００ａ，２００ｂからルールベースの利用状況を集信するための管理者側の装置である。利用状況集信装置１２６は、ルールベース利用装置２００，２００ａ，２００ｂから集信したルールベースの利用状況を示す利用情報を、利用統計情報格納装置１２７に渡す。
【００４２】
利用統計情報格納装置１２７は、利用状況集信装置１２６から受け取った、各ルールベース利用装置２００，２００ａ，２００ｂにおけるルールベースの利用情報を、利用統計情報１１４として、ＨＤＤ１０３などの記憶装置に格納する。
【００４３】
利用統計情報取得装置１２８は、ルールベース提供者からの入出力装置１４を用いた操作入力に応答して、利用統計情報１１４を取得し、ルールベース編集装置１２５に渡す。
【００４４】
なお、各ルールベース利用装置２００，２００ａ，２００ｂは、同様の機能を有しているため、以下の説明では、代表的にルールベース利用装置２００の機能について説明する。
【００４５】
図５は、ルールベース利用装置の機能構成例を示すブロック図である。ルールベース利用装置２００は、ＨＤＤなどの記憶装置に、更新待ちルールベース２１１、ルールベース２１２、および利用情報２１３を格納している。
【００４６】
更新待ちルールベース２１１は、ルールベース提供装置１００から送られたルールベースである。更新待ちルールベース２１１は、ルールベースの適用開始条件が満たされるまで蓄えられる。
【００４７】
ルールベース２１２は、ルールベース利用装置２００において現在利用されているルールベースである。ルールベース利用装置２００は、複数のルールベース２１２を利用することができる。
【００４８】
利用情報２１３は、ルールベース利用装置２００におけるルールベース２１２の利用状況に関する情報である。
また、ルールベース利用装置２００は、処理機能として、ルールベース自動配付装置２２１、ルールベース復元装置２２２、ルールベース自動更新装置２２３、ルールベース利用処理実行装置２２４、ルールベース利用状況自動収集装置２２５、および利用状況集信装置２２６を有している。
【００４９】
ルールベース自動配付装置２２１は、ルールベース提供装置１００からルールベースを配信するための受信側の装置である。ルールベース自動配付装置２２１は、ルールベース提供装置１００内のルールベース自動配付装置１２３から送出されたルールベースを受け取り、ルールベース復元装置２２２に渡す。
【００５０】
ルールベース復元装置２２２は、ルールベース自動配付装置２２１から送られたルールベース（配信に適した形式）を、元のデータ形式のルールベースに復元する。ルールベース復元装置２２２は、復元したルールベースを、更新待ちルールベース２１１としてＨＤＤなどの記憶装置に格納する。
【００５１】
ルールベース自動更新装置２２３は、更新待ちルールベース２１１の適用開始条件を逐次判断し、適用開始条件を満たした更新待ちルールベース２１１を用いて、ルールベース２１２を更新する。なお、ルールベース自動更新装置２２３は、更新待ちルールベース２１１適用以前にルールベース２１２が存在していない場合には、ルールベース２１１をルールベース２１２として格納する。また、更新待ちルールベース２１１の旧版のルールベースがルールベース２１２として格納されていた場合には、旧版のルールベース２１２を新版のルールベースである更新待ちルールベース２１１に更新する。
【００５２】
ルールベース利用処理実行装置２２４は、ルールベース２１２を利用するためのアプリケーションである。ルールベース利用処理実行装置２２４としては、たとえば、翻訳辞書のルールベースを利用するスペルチェックソフトウェアがある。
【００５３】
ルールベース利用状況自動収集装置２２５は、ルールベース利用処理実行装置２２４によるルールベース２１２の利用状況を常時監視しており、利用状況に関する利用情報２１３を、ＨＤＤなどの記憶装置に格納する。
【００５４】
利用状況集信装置２２６は、ルールベース提供装置１００へルールベース２１２の利用状況に関する利用情報２１３を送信するための利用者側の装置である。利用状況集信装置２２６は、所定のタイミングで、ルールベースの利用状況に関する情報を、ルールベース提供装置１００へ送信する。
【００５５】
図６は、ルールベースのデータ構造の一例を示す図である。本実施の形態において、ルールベース１１１は、１つの目的を持ったアプリケーションから使用される変換規則やＩＦ〜ＴＨＥＮ形式の規則の集まりである。ルールベースの中のルールをさらに幾つかのルールの集まり（ルール集合）にまとめることでルールを階層化する場合も本発明におけるルールベースに含む。
【００５６】
ルールベース１１１には、ルールベースの識別子（ＩＤ：IDentifier）、関連アプリケーション名（関連アプリ）などの情報が設定されている。また、ルールベース１１１には、ルール１１１ｂが複数のルール集合１１１ａに分類して格納されている。各ルール集合１１１ａには、ルール集合１１１ａの識別子（ＩＤ）、適用優先順位などの情報が設定されている。
【００５７】
各ルール集合１１１ａは、複数のルール１１１ｂを有している。各ルール１１１ｂには、ルール１１１ｂの識別子（ＩＤ）、優先順位、ルール１１１ｂが適用されるための前提条件、前提条件が成立した場合に関連するアプリケーション（たとえば、ルールベース利用装置２００のルールベース利用処理実行装置２２４）条件成立時の処理などの情報が設定されている。
【００５８】
ルールベース１１１の例としては、機械翻訳システムにおける変換辞書、文書校正システムにおける校正辞書などが挙げられる。
［ルールベース配信処理］
以上のような構成によるルールベース配信処理について、以下に詳細に説明する。
【００５９】
図７は、ルールベースの配信処理の動作原理を示す模式図である。ルールベース提供者（以下、管理者という）が入出力装置１４を用いて、任意のルールベース１１１を指定し、指定したルールベース１１１に対する適用開始条件や適用終了条件を入力すると、それらの情報が適用開始／終了条件決定装置１２１に渡される。すると、適用開始／終了条件決定装置１２１により、指定されたルールベース１１１に対応付けて、適用開始／終了条件２１が設定される。
【００６０】
また、管理者が入出力装置１４を用いて、ルールベース１１１やルールベース１１１の配付先またはルールベース１１１の配付先グループを選択入力すると、それらの情報がルールベース形式変換装置１２２に渡される。すると、ルールベース形式変換装置１２２により、適用開始／終了条件２１の設定されたルールベース１１１が、自動配付に適した形式に変換され、変換済形式ルールベース１１２に格納される。なお、ルールベース形式変換装置１２２により、適用開始／終了条件２１などの付帯情報もルールベースと同様に、自動配付に適した形式に変換することもできる。
【００６１】
その後、操作入力によって指定された配付先、または配付グループに含まれるルールベース利用者のルールベース利用装置２００，２００ａ，２００ｂに対して、ルールベース自動配付装置１２３により、変換済形式ルールベース１１２と適用開始／終了条件２１とが配信される。たとえば、ルールベース自動配付装置１２３は、各ルールベース利用装置２００，２００ａ，２００ｂを利用するルールベース利用者のユーザ名、そのルールベース利用者が所属するグループのグループ名、およびルールベース利用者が利用するルールベース利用装置の識別子を対応付けて管理しており、操作入力で指定されたルールベース利用者の使用するルールベース利用装置の識別子を判断し、その識別子のルールベース利用装置に対して、変換済形式のルールベースと適用開始／終了条件２１とを送信する。
【００６２】
ルールベース利用装置２００は、ルールベース自動配付装置２２１において、変換済形式のルールベースと適用開始／終了条件２１とを受け取る。変換済形式ルールベース１１２は、ルールベース自動配付装置２２１からルールベース復元装置２２２に渡される。変換済形式のルールベース１１２は、ルールベース復元装置２２２によって元の形式のルールベースに復元され、更新待ちルールベース２１１としてＨＤＤなどの記憶装置に格納される。
【００６３】
また、適用開始／終了条件２１は、ルールベース自動配付装置２２１からルールベース自動更新装置２２３に渡される。なお、適用開始／終了条件２１が配信に適した形式に変換されていた場合には、適用開始／終了条件２１は、一度ルールベース復元装置２２２に渡され、ルールベース復元装置２２２で元のデータ形式に復元された後、ルールベース自動更新装置２２３に渡される。
【００６４】
適用開始／終了条件２１を受け取ったルールベース自動更新装置２２３は、適用開始／終了条件２１が成立するか否かを、ルールベース提供者によりあらかじめ決められたスケジュールでチェックする。そして、適用開始条件が満たされた場合、ルールベース自動更新装置２２３により適用開始／終了条件２１に対応する更新待ちルールベース２１１が、ルールベース２１２として、初期導入または、更新登録される。また、既に運用されているルールベース２１２の適用開始／終了条件２１における終了条件が満たされた場合、その適用開始／終了条件２１に対応するルールベース２１２が、ルールベース自動更新装置２２３により削除される。
【００６５】
なお、ルールベースの適用開始／終了条件２１はルールベース提供者により任意の時点で変更が可能である。たとえば、ルールベース１１１の適用開始／終了条件２１が管理者により変更された場合は、該当するルールベース１１１に対して新しく設定された適用開始／終了条件２１が付随情報として古い適用開始／終了条件が設定される。新しい適用開始／終了条件２１は、ルールベース形式変換装置１２２を通してルールベース自動配付装置１２３に登録され、ルールベース利用者のルールベース利用装置２００，２００ａ，２００ｂに自動配信される。
【００６６】
ルールベース形式変換装置１２２が行うルールベースの形式変換としては、たとえば、転送中第三者により盗聴されないようにするための暗号化、転送データ量を少なくするためのデータ圧縮、ルールベースやルールベースに付随する情報が更新された場合の更新差分の抽出、またはこれらの処理の組み合わせなどが考えられる。
【００６７】
ルールベースの適用開始／終了条件２１としては適用開始／終了時刻やそのルールベースを使用するルールベース利用装置２００，２００ａ，２００ｂの識別情報（例えばアプリケーションプログラム名とそのバージョンレベル）、条件をチェックする対象となるユーザ／ユーザグループなどが挙げられる。
【００６８】
次に、図８〜図１１を参照して、ルールベースを配信する際の処理手順について説明する。
図８は、ルールベース提供装置におけるルールベースの適用開始／終了条件設定処理を示すフローチャートである。ルールベース提供装置１００において、ルールベース提供者側でルールベースに適用開始／終了条件２１を設定する処理は、ルールベース提供者（以下、管理者と表現する）が手動で開始する。すなわち、管理者が、入出力装置１４を用いて、適用開始／終了条件決定装置１２１を起動させることで以下の処理が開始される。以下、図８に示す処理をステップ番号に沿って説明する。
【００６９】
［ステップＳ１１］適用開始／終了条件決定装置１２１は、管理者からの、対象ルールベースと利用者または利用者グループを選択する操作入力を受け付ける。
【００７０】
［ステップＳ１２］適用開始／終了条件決定装置１２１は、管理者からの、適用開始／終了条件２１を指定する操作入力を受け付ける。
［ステップＳ１３］適用開始／終了条件決定装置１２１は、選択されたルールベース１１１、選択された利用者または利用者グループ、ならびに適用開始／終了条件２１のチェックを行い、入力された情報が有効か否かを判断する。入力された情報が有効でない場合とは、たとえば、適用終了時刻が過去の時刻である場合や、選択されたルールベース１１１を利用する利用者のルールベース利用装置２００，２００ａ，２００ｂの識別情報が指定されていない場合などである。
【００７１】
入力された情報が有効であれば、処理がステップＳ１４に進められる。入力された情報が無効であれば、処理がステップＳ１１に進められる。
［ステップＳ１４］適用開始／終了条件決定装置１２１は、管理者により選択されたルールベース１１１に対して、ステップＳ１２で入力された適用開始／終了条件２１を設定する。また、適用開始／終了条件決定装置１２１は、管理者により選択された利用者、または選択された利用者グループに含まれる利用者を、管理者により選択されたルールベース１１１の配付先の利用者として、ルールベース自動配付装置１２３に通知する。
【００７２】
［ステップＳ１５］適用開始／終了条件決定装置１２１は、管理者により選択されたルールベース１１１に対して、そのルールベース１１１が更新されたことを示す更新フラグを設定する（フラグをＯＮにする）。なお、ルールベース１１１の更新フラグは、ルールベース１１１が作成されたとき、およびルールベース１１１の内容が更新されたときにもＯＮに設定される。
【００７３】
このようにして、管理者により入力された適用開始／終了条件２１が、ルールベース提供装置１００内に登録される。
次に、適用開始／終了条件２１が設定されたルールベース１１１を自動配付する処理について説明する。
【００７４】
図９は、適用開始／終了条件が設定されたルールベースの形式変換処理を示すフローチャートである。図９に示す処理は、あらかじめ設定されたスケジュールに従って開始される。また、図９に示す処理は、ルールベース毎に実行される。なお、ルールベース１１１の形式変換処理は、図８に示す適用開始／終了条件の設定処理とは非同期に行われる。以下、図９に示す処理を、ステップ番号に沿って説明する。
【００７５】
［ステップＳ２１］ルールベース形式変換装置１２２は、ルールベース１１１または適用開始／終了条件２１が更新されているかどうかを判断する。ルールベース１１１または適用開始／終了条件２１のいずれかが更新されていれば、処理がステップＳ２２に進められる。ルールベース１１１または適用開始／終了条件２１のいずれも更新されていない場合には、形式変換処理が終了する。
【００７６】
［ステップＳ２２］ルールベース形式変換装置１２２は、ルールベース１１１または適用開始／終了条件２１が更新されている場合は、まず、ルールベース１１１のデータ形式を変換する。形式変換処理は、たとえば、暗号化処理、データ圧縮処理、直前の版数のルールベースとの間の差分抽出処理などである。
【００７７】
［ステップＳ２３］ルールベース形式変換装置１２２は、形式変換後の変換済形式ルールベース１１２を、ルールベース提供装置１００のＨＤＤ１０３などの記憶装置に格納する。
【００７８】
次に、変換済形式ルールベース１１２を自動配信する処理について説明する。図１０は、ルールベースを自動配付する処理のフローチャートを示す図である。図１０では、ルールベース提供装置１００が実行する処理と、ルールベース利用装置２００が実行する処理とを並列に記載している。
【００７９】
なお、ルールベースの自動配付は、ルールベース毎に、あらかじめ設定されたスケジュールに従って実行される。ルールベースの自動配付における配付の仕組みは、ルールベース提供装置１００からルールベース利用装置２００へ所定のタイミングで配信するＰＵＳＨ型配信と、ルールベース利用装置２００からルールベース提供装置１００へ更新要求を出し、更新されていたらルールベースまたは形式変換されたものを取ってくるＰｕｌｌ型配信とがある。
【００８０】
ＰＵＳＨ型配信では、ルールベース提供装置１００に設定されたスケジュールに従って、ルールベース提供装置１００の配信処理が開始される。また、ルールベース提供装置１００からのルールベース配信を受けたルールベース利用装置２００において、受信処理が開始される。
【００８１】
Ｐｕｌｌ型配信では、ルールベース利用装置２００に設定されたスケジュールに従って、ルールベース利用装置２００からルールベース提供装置１００へ更新要求が出され（図示せず）、ルールベース利用装置２００において受信処理が開始される。ルールベース提供装置１００では、ルールベース利用装置２００からの更新要求に応答しての配信処理が開始される。
【００８２】
以下、図１０に示す処理を、ステップ番号に沿って説明する。
［ステップＳ３１］ルールベース提供装置１００のルールベース自動配付装置１２３は、ルールベース１１１またはルールベース１１１の適用開始／終了条件２１が更新されたか否かを判断する。
【００８３】
ルールベース１１１またはルールベース１１１の適用開始／終了条件２１が更新されたか否かは、ルールベース１１１に設定された更新フラグがＯＮかどうかで判断できる。すなわち、ルールベース１１１に設定された更新フラグがＯＮであれば、ルールベース１１１またはルールベース１１１の適用開始／終了条件２１が更新されていると判断し、更新フラグがＯＦＦであれば、ルールベース１１１またはルールベース１１１の適用開始／終了条件２１は更新されていないと判断する。
【００８４】
ルールベース１１１またはルールベース１１１の適用開始／終了条件２１が更新されている場合には、処理がステップＳ３２に進められる。ルールベース１１１またはルールベース１１１の適用開始／終了条件２１が更新されていない場合には、配信処理が終了する。
【００８５】
［ステップＳ３２］ルールベース提供装置１００のルールベース自動配付装置１２３は、ルールベース１１１またはルールベース１１１の適用開始／終了条件２１が更新されている場合は、まず、変換済形式ルールベース１１２とルールベース１１１の適用開始／終了条件２１を、配信先のルールベース利用装置２００に配付する。なお、変換済形式ルールベース１１２は、更新前のルールベースと更新後のルールベースとの差分（更新による差分）のみを配信してもよい。その後、ルールベース提供装置１００における処理は、ステップＳ３５に進められる。
【００８６】
［ステップＳ３３］ルールベース利用装置２００のルールベース配付装置２２１は、ルールベース提供装置１００から送られた変換済形式ルールベース１１２（または更新による差分）とルールベース１１１の適用開始／終了条件２１とを受信する。
【００８７】
［ステップＳ３４］ルールベース利用装置２００のルールベース配付装置２２１は、変換済形式ルールベース１１２（または更新による差分）とルールベース１１１の受信結果を、ルールベース提供装置１００に通知する。受信結果とは、受信に成功したか否かの情報である。その後、ルールベース利用装置２００の処理は、ステップＳ３８に進められる。
【００８８】
［ステップＳ３５］ルールベース提供装置１００のルールベース自動配付装置１２３は、ルールベース利用装置２００から受信結果を受け取る。
［ステップＳ３６］ルールベース提供装置１００のルールベース自動配付装置１２３は、ルールベース利用装置２００から送られた受信結果に基づいて、ルールベースの配信に成功したか否かを判断する。ルールベースの配信に成功した場合には、処理がステップＳ３７に進められ、ルールベースの配信に失敗した場合には、処理がステップＳ３２に進められる。
【００８９】
［ステップＳ３７］ルールベース提供装置１００のルールベース自動配付装置１２３は、ルールベース提供装置１００のルールベース１１１に対する更新フラグをＯＦＦにする。その後、ルールベース提供装置１００における配信処理が終了する。
【００９０】
［ステップＳ３８］ルールベース利用装置２００のルールベース配付装置２２１は、受信結果に基づいて、ルールベースの受信に成功したか否かを判断する。ルールベースの受信に成功した場合には、処理がステップＳ３９に進められ終了し、ルールベースの受信に失敗した場合には、処理がステップＳ３３に進められる。
【００９１】
［ステップＳ３９］ルールベース利用装置２００のルールベース配付装置２２１は、ルールベース利用装置２００で受信したルールベースに対応する更新フラグをＯＮにする。
【００９２】
［ステップＳ４０］ルールベース利用装置２００のルールベース復元装置２２２は、ルールベース自動配付装置２２１が受信した変換済形式ルールベース１１２を元のデータ形式に復元し、更新待ちルールベース２１１として格納する。
【００９３】
このようにして、更新されたルールベース１１１が、所定のスケジュールに従って配付される。なお、ルールベースの配付が途中で失敗した場合、ルールベース利用装置２００からすぐに、受信の失敗を示す受信結果をルールベース提供装置１００に送信することで、通知失敗時点から配付を再開することができる。
【００９４】
また、途中までのデータが正常に受け取れていることが確認できていれば、受け取れなかった残りのデータのみを再送するようにしてもよい。その場合、たとえば、受信結果通知に、正常に受信できたデータを特定するための情報を含めることで、ルールベース提供装置１００において、正常に配信できたデータを判断することができる。
【００９５】
次に、ルールベース利用装置２００におけるルールベースの更新処理について説明する。
図１１は、ルールベースの更新処理を示すフローチャートである。ルールベースの更新処理は、ルールベース利用装置２００の各更新待ちルールベース２１１に対して、あらかじめ定められたスケジュールで実行される。以下に、図１１に示す処理をステップ番号に沿って説明する。
【００９６】
［ステップＳ５１］ルールベース自動更新装置２２３は、ルールベース２１２に対応する更新待ちルールベース２１１があるか否か、およびルールベース２１２に対応する新たな適用開始／終了条件２１があるか否かにより（ルールベースを更新情報があるが否か）を判断する。ルールベース自動更新装置２２３は、ルールベース２１２に対応する更新待ちルールベース２１１、または、ルールベース２１２に対応する新たな適用開始／終了条件２１のいずれか一方を有していれば、ルールベース２１１の更新情報ありと判断する。
【００９７】
ルールベース２１２の更新情報ありと判断された場合には、処理がステップＳ５２に進められる。ルールベース２１２の更新情報なしと判断された場合には、更新処理が終了する。
【００９８】
［ステップＳ５２］ルールベース自動更新装置２２３は、ルールベース２１２の更新フラグがＯＮかＯＦＦかを判断する。更新フラグがＯＮであれば処理がステップＳ５３に進められる。更新フラグがＯＦＦであれば、処理が終了する。
【００９９】
［ステップＳ５３］ルールベース自動更新装置２２３は、ルールベース利用装置２００の利用者が、適用開始／終了条件２１が適用されるユーザまたはユーザグループに当てはまるかどうかが判断される。適用開始／終了条件２１が適用される利用者であれば、処理がステップＳ５４に進められる。適用開始／終了条件２１が適用される利用者でなければ、処理が終了する。
【０１００】
［ステップＳ５４］ルールベース自動更新装置２２３は、更新待ちルールベース２１１の適用開始／終了条件２１として設定された条件が成立するかどうかを判断する。
【０１０１】
たとえば、ルールベース自動更新装置２２３は、設定条件に時刻が含まれる場合は適用開始／終了時刻と現在の時刻を比較し、現在の時刻が適用始時刻以降、適用終了時刻以前であれば、条件が成立すると判断する。また、ルールベース自動更新装置２２３は、設定条件に更新待ちルールベース２１１を使用する装置の識別情報が含まれる場合は、識別情報に該当する装置の有無を判断する。
【０１０２】
全ての条件が成立した場合には、処理がステップＳ５５に進められる。成立しない条件が少なくとも１つあった場合には、処理が終了する。
［ステップＳ５５］ルールベース自動更新装置２２３は、ルールベース適用開始／終了条件が成立する場合は、更新待ちルールベース２１１を用いて、運用状態のルールベース２１２を更新する。
【０１０３】
［ステップＳ５６］ルールベース自動更新装置２２３は、ルールベース２１２に対応する更新フラグをＯＦＦにする。
［ステップＳ５７］ルールベース自動更新装置２２３は、ルールベースの付随情報を調べ、ルールベースを利用する装置（アプリケーションソフトウェアも含む）を起動する必要があるかどうかを調べる。装置を起動する必要があれば、処理がステップＳ５８に進められ、装置を起動する必要がなければ処理が終了する。
【０１０４】
［ステップＳ５８］ルールベース自動更新装置２２３は、ルールベースを利用する装置の起動が必要な場合は、該当する装置を起動する。
以上のようにして、ルールベース利用装置２００内のルールベース２１２が自動的に更新される。更新処理は、所定のスケジュールに従って行われるため、ルールベース利用装置２００の利用者が、ルールベース２１２の更新タイミングを意識する必要がない。
【０１０５】
しかも、ルールベース２１２に対して、管理者が適用開始／終了条件２１を設定することができるため、複数のルールベース利用装置２００，２００ａ，２００ｂにおいて、特定の日時から同じルールベース２１２が適用されるようにすることができる。たとえば、企業における業務のワークフローを定義するルールベースがあった場合、社内の組織変更があれば、新しい組織による業務の開始日から、新しいルールベースを全てのルールベース利用装置で一斉に適用させることができる。
【０１０６】
［ルールベース利用状況集信処理］
次に、ルールベース利用状況集信処理のについて説明する。
図１２は、ルールベース利用状況集信処理の動作原理を表す模式図である。本実施の形態では、ルールベース利用装置２００側のルールベース２１２が、個人用ルールベース２１２ａと、配付更新ルールベース２１２ｂとで構成されている。個人用ルールベース２１２ａは、ルールベース利用装置２００を利用する利用者が個人的に利用するルールベースである。配付更新ルールベース２１２ｂは、ルールベース提供装置１００から配信されるルールベースである。
【０１０７】
ルールベース利用処理実行装置２２４は、個人用ルールベース２１２ａと、配付更新ルールベース２１２ｂとを利用して、様々な処理を実行する。ルールベース利用処理実行装置２２４による個人用ルールベース２１２ａと配付更新ルールベース２１２ｂとの利用状況は、ルールベース利用状況自動収集装置２２５で監視される。そして、ルールベース利用状況自動収集装置２２５により、ルールベース利用処理実行装置２２４による個人用ルールベース２１２ａと配付更新ルールベース２１２ｂとの利用状況を示す利用情報２１３が収集され、ルールベース利用装置２００のＨＤＤ１０３などの記憶装置に格納される。
【０１０８】
なお、ルールベース利用状況自動集信装置２２５は、ルールベース利用処理実行装置２２４に、組込まれていてもよいし、ルールベース利用処理実行装置２２４とは別に設けられていてもよい。
【０１０９】
格納された利用情報２１３は、利用者側の利用状況集信装置２２６によって、ルールベース提供装置１００に送信される。
ルールベース利用装置２００から送信された利用情報２１３は、ルールベース提供装置１００の利用状況集信装置１２６で受信される。利用状況集信装置１２６は、各ルールベース利用装置２００，２００ａ，２００ｂからの利用情報を受信し、それらを利用統計情報格納装置１２７に渡す。各利用情報に基づいて、利用統計情報格納装置１２７によって統計的な利用統計情報１１４が生成され、ルールベース提供装置１００内に格納される。
【０１１０】
以下に、図１３、図１４を参照して、利用情報の構成例を説明する。なお、本実施の形態では、各利用者におけるルールベース２１２の利用情報２１３は、各ルール／ルール集合ごとの利用回数を集計したもの（利用回数情報）と、各ルール間の呼出し関係を表すグラフ（呼出関係グラフ）などが挙げられる。
【０１１１】
図１３は、利用情報における利用回数情報の構成例を示す図である。図１３の例では、利用情報２１３における利用回数情報２１３ａには、ルール集合毎に、ルール集合ＩＤとルール集合の利用回数が登録されている。そして、各ルール集合を構成するルール毎に、ルールＩＤとルールの利用回数とが登録されている。
【０１１２】
各ルール／ルール集合毎の利用回数をカウントする方法としては、たとえば、ルールベース更新後からの利用回数を累計する方法や、一定時間間隔（たとえば１週間や１月間隔）毎に利用回数をカウントする方法などが考えられる。
【０１１３】
図１４は、利用情報における呼出関係グラフの構成例を示す図である。図１４の例では、利用情報２１３における呼出関係グラフ２１３ｂには、グラフのノード３１〜３３をルールまたはルール集合としている。
【０１１４】
あるルールの動作部分において別のルールを適用するための前提条件をチェックするとき、前者のルールに対応するノードから後者のルールに対応するノードにリンクが設定されている。そして、ルール間の呼出し回数が、各々のルールに対応するノード間のリンクに対して設定されている。呼出し回数の数えかたとしては、たとえば、ルールベース更新からの累積利用日数を数える方法や、一定時間間隔（たとえば１週間や１月間隔）毎に利用回数をカウントする方法などが考えられる。
【０１１５】
以下に、ルールベースの利用情報集信処理の処理手順について、図１５〜図１７を参照して説明する。
図１５は、ルールベース利用装置での利用情報収集処理を示すフローチャートである。ルールベース利用装置２００における利用情報収集処理は、ルールベース利用装置起動時またはルールベース利用装置がルールを利用するたびに起動される。以下、図１５に示す処理をステップ番号に沿って説明する。
【０１１６】
［ステップＳ６１］ルールベース利用状況自動収集装置２２５は、ルールベース利用処理実行装置２２４によるルールの利用状況を検出する。たとえば、ルールベース利用状況自動収集装置２２５は、ルールベース利用処理実行装置２２４がどのルールを利用したか（またはどのルールの動作部を実行中にどのルールの前提条件をチェックしたか）を検出する。
【０１１７】
［ステップＳ６２］ルールベース利用状況自動収集装置２２５は、ルールベース利用処理実行装置２２４が利用したルールが、統計を取る対象のルールか否かを判断する。なお、統計を取る対象のルールは、そのルールの識別子（たとえばルールＩＤ）が、あらかじめルールベース利用状況自動収集装置２２５に定義されている。
【０１１８】
統計対象のルールであれば、処理がステップＳ６３に進められる。統計対象のルールでなければ、処理がステップＳ６９に進められる。
［ステップＳ６３］ルールベース利用状況自動収集装置２２５は、ルールベース利用処理実行装置２２４により利用されたルールの利用回数、およびそのルールが所属するルール集合の利用回数を１増やす。
【０１１９】
［ステップＳ６４］ルールベース利用状況自動収集装置２２５は、ルールベース利用処理実行装置２２４で利用されたルールにより、ルール間呼出が行われたか否かが判断される。すなわち、適用されたルール（呼出元のルール）に従った動作において、他のルール（呼出先のルール）を適用するかの前提条件が判断され、呼出先のルールを適用すると判断された場合には、ルール間呼出が行われたことになる。ルール間呼出が行われた場合には、処理がステップＳ６５に進められる。ルール間呼出が行われていない場合には、処理がステップＳ６９に進められる。
【０１２０】
［ステップＳ６５］ルールベース利用状況自動収集装置２２５は、利用情報２１３における呼出関係グラフ２１３ｂにおいて、呼出元のルールから呼出先のルールへのリンクが生成されているか否かを判断する。リンクが生成されている場合には、処理がステップＳ６８に進められる。リンクが生成されていない場合には、処理がステップＳ６６に進められる。
【０１２１】
［ステップＳ６６］ルールベース利用状況自動収集装置２２５は、呼出関係グラフ２１３ｂにおいて、呼出元のルールから呼出先のルールへのリンクを生成する。
【０１２２】
［ステップＳ６７］ルールベース利用状況自動収集装置２２５は、呼出関係グラフ２１３ｂにおいて、呼出元のルールから呼出先のルールへのリンクの使用回数を１に設定する。その後、処理がステップＳ６９に進められる。
【０１２３】
［ステップＳ６８］ルールベース利用状況自動収集装置２２５は、呼出関係グラフ２１３ｂにおいて、呼出元のルールから呼出先のルールへのリンクの使用回数を１増やす。その後、処理がステップＳ６９に進められる。
【０１２４】
［ステップＳ６９］ルールベース利用状況自動収集装置２２５は、ルールベース利用処理実行装置２２４によるルールベース２１２の利用が終了したか否かを判断する。ルールベースの利用が終了した場合には処理がステップＳ７０に進められ、ルールベースの利用が終了していない場合には、処理がステップＳ６１に進められる。
【０１２５】
［ステップＳ７０］ルールベース利用状況自動収集装置２２５は、利用情報２１３が更新されたか否かを判断する。利用情報２１３が更新された場合には、処理がステップＳ７１に進められ、利用情報２１３が更新されていない場合には、処理が終了する。
【０１２６】
［ステップＳ７１］ルールベース利用状況自動収集装置２２５は、利用情報２１３に対する利用情報更新フラグをＯＮに設定し、処理を終了する。
次に、利用情報２１３の集信処理について説明する。
【０１２７】
図１６は、利用情報集信処理を示すフローチャートである。図１６では、ルールベース提供装置１００が実行する処理と、ルールベース利用装置２００が実行する処理とを並列に記載している。
【０１２８】
なお、利用情報２１３の集信処理は、あらかじめ設定されたスケジュールにしたがって実行される。利用情報２１３を集信する仕組みには、ルールベース利用装置２００からルールベース提供装置１００に利用情報２１３を転送する方法と、ルールベース提供装置１００が各ルールベース利用装置２００から利用情報２１３を吸い上げる方法がある。
【０１２９】
以下、図１６に示す処理を、ルールベース提供装置１００の処理とルールベース利用装置２００の処理とに分けて、ステップ番号に沿って説明する。
ステップＳ８１〜ステップＳ８９は、ルールベース提供装置１００における処理である。
【０１３０】
［ステップＳ８１］ルールベース提供装置１００において、利用状況集信装置１２６が、ルールベース利用装置１００から送られた利用統計情報１１４の状態問い合わせを受け取る。
【０１３１】
［ステップＳ８２］ルールベース提供装置１００の利用状況集信装置１２６は、利用統計情報１１４の状態をルールベース利用装置２００に通知する。なお、状態の通知には、利用統計情報１１４がロックされているか否かの情報が含まれる。利用統計情報１１４がロックされている状態とは、利用統計情報１１４が他の装置に使用されており、排他制御されている状態である。
【０１３２】
［ステップＳ８３］ルールベース提供装置１００の利用状況集信装置１２６は、利用統計情報１１４がロックされた状態か否かを判断する。ロックされていれば、ルールベース提供装置１００の処理が終了し、ロックされていなければ、処理がステップＳ８４に進められる。
【０１３３】
［ステップＳ８４］ルールベース提供装置１００の利用状況集信装置１２６は、利用統計情報１１４をロックする。
［ステップＳ８５］ルールベース提供装置１００の利用状況集信装置１２６は、ルールベース利用装置２００から送られてくる利用情報２１３を受信する。
【０１３４】
［ステップＳ８６］ルールベース提供装置１００の利用状況集信装置１２６は、利用情報２１３の受信結果を、ルールベース利用装置２００に通知する。
［ステップＳ８７］ルールベース提供装置１００の利用状況集信装置１２６は、利用情報２１３の受信が成功したか否かを判断する。受信が成功した場合には、処理がステップＳ８８に進められる。受信が失敗した場合には、処理がステップＳ８５に進められる。
【０１３５】
［ステップＳ８８］ルールベース提供装置１００の利用状況集信装置１２６は、利用統計情報１１４を更新する。
［ステップＳ８９］ルールベース提供装置１００の利用状況集信装置１２６は、利用統計情報１１４のロックを解除し、処理を終了する。
【０１３６】
ステップＳ９１〜ステップＳ９７は、ルールベース利用装置２００における処理である。
以上が、ルールベース提供装置１００による利用情報集信処理である。以下に、ルールベース利用装置２００による利用情報送出処理を説明する。
【０１３７】
［ステップＳ９１］ルールベース利用装置２００の利用状況集信装置２２６は、利用情報２１３が更新されたか否かを判断する。利用情報２１３が更新された場合には処理がステップＳ９２に進められ、利用情報２１３が更新されていない場合には、処理が終了する。
【０１３８】
［ステップＳ９２］ルールベース利用装置２００の利用状況集信装置２２６は、ルールベース提供装置１００に対して、利用統計情報１１４の状態を問い合わせる。
【０１３９】
［ステップＳ９３］ルールベース利用装置２００の利用状況集信装置２２６は、ルールベース提供装置１００から送られた利用統計情報１１４の状態の通知を受け取る。
【０１４０】
［ステップＳ９４］ルールベース利用装置２００の利用状況集信装置２２６は、利用統計情報１１４の状態通知に基づいて、利用統計情報１１４がロックされた状態か否かを判断する。ロックされていれば、ルールベース利用装置２００の処理が終了し、ロックされていなければ、処理がステップＳ９５に進められる。
【０１４１】
［ステップＳ９５］ルールベース利用装置２００の利用状況集信装置２２６は、利用情報２１３をルールベース提供装置１００に対して送信する。
［ステップＳ９６］ルールベース利用装置２００の利用状況集信装置２２６は、ルールベース提供装置１００から送られた利用情報２１３の受信結果の通知を受け取る。
【０１４２】
［ステップＳ９７］ルールベース利用装置２００の利用状況集信装置２２６は、ルールベース提供装置１００から送られた利用情報２１３の受信結果の通知に基づいて、利用情報２１３の送信が成功したか否かを判断する。送信が成功した場合には、ルールベース利用装置２００における処理が終了する。送信が失敗した場合には、処理がステップＳ９５に進められる。
【０１４３】
以上のようにして、ルールベース提供装置１００において、複数のルールベース利用装置２００，２００ａ，２００ｂにおけるルールベースの利用状況を示す利用情報２１３を集信することができる。集信した利用情報２１３に基づいて、ルールベース提供装置１００における利用統計情報１１４が更新される。これにより、ルールベース提供装置１００が配信したルールベースが、ルールベース利用装置２００，２００ａ，２００ｂにおいてどのように利用されているのかを、ルールベース提供装置１００において把握することができる。
【０１４４】
［ルールベース編集処理］
次に、ルールベース編集処理について説明する。
図１７は、ルールベース編集処理の動作原理を表す模式図である。利用統計情報取得装置１２８は、入出力装置１４を用いた管理者からの操作入力により起動される。すると、ルールベース提供装置１００内に格納された利用統計情報１１４が、利用統計情報取得装置１２８により取り出される。利用統計情報取得装置１２８により取り出された利用統計情報１１４は、ルールベース編集装置１２５に渡される。
【０１４５】
なお、利用統計情報取得装置１２８は、利用統計情報１１４を取り出す際には、利用統計情報１１４をロックすることで（他の装置からのアクセスを禁止する）、利用統計情報１１４の排他制御を行う。利用統計情報１１４をロックしているか否かの状態情報は、利用統計情報取得装置１２８から利用状況集信装置１２６に通知される。
【０１４６】
また、ルール集合修正に関する指示を生成する規則である修正指示生成規則１１３に基づいて、修正指示生成装置１２４により、統計情報を元にルール（またはルール集合）を修正させるための修正指示が生成される。生成された修正指示は、ルールベース編集装置１２５に渡される。
【０１４７】
すると、ルールベース編集装置１２５は、管理者からの操作入力に応答し、統計情報と修正指示とを用いてルールベース１１１の内容を更新する。
なお、ルールベース編集装置１２５は、ルールベース１１１を更新すると、ルールベース形式変換装置１２２を起動する。これにより、更新されたルールベース１１１が、ルールベース形式変換装置１２２により、配信に適したデータ形式である変換済形式ルールベース１１２に変換される。
【０１４８】
利用統計情報１１４を用いて、ルールベース１１１を編集し、ルールベース１１１内のルールの構造を変えることで、たとえば、ルールを使う処理の応答性能を上げることが可能である。
【０１４９】
なお、本実施の形態では、ルールの修正案を利用統計情報から生成してルール提供者に提示し、ルール提供者が了解したらルールの更新を行うものとする。
ここで、修正指示生成規則１１３の内容について説明する。利用統計情報を元にルール集合に対する修正案を生成するための修正指示生成規則として、本実施の形態では、以下の規則が設定されている。
【０１５０】
（１）ルールを順番に適用していくルール集合
・「ルールの呼び出し回数／ルール集合全体の呼び出し回数」の値が大きい順にルールの優先順位を並べ替える。
【０１５１】
・上記値が同じ場合、ルールの呼び出し回数、ルール集合の呼び出し回数を期間を区切って取っている場合は、期間ごとのルールの呼び出し回数が増えているものを先に使うようルールを並べ替える。
【０１５２】
このように、呼出回数の多いルールの優先順位を上げることで、ルールの適用する際の、処理効率が向上する。
（２）ルールの抹消
ルールの呼び出し回数を期間を区切って取っている場合、一定期間以上利用回数が０のルールは抹消する。
【０１５３】
利用される見込みの少ないルールを抹消することで、呼び出されるルールの抽出効率が向上する。
（３）ルールからルールを呼び出すルール集合の場合(例:推論木)
・ルールの合成
連続して呼び出される可能性の高い複数のルールを合成するような修正指示生成規則を設定する。たとえば、「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とを合成したあらたなルールを生成される。
【０１５４】
合成後のルールの条件部には、Rule-Aの条件部＋Rule-Bの条件部とを含ませる。また、合成後のルールの条件部は、Rule-Bの実行部を持たせる（Rule-AがRule-Bの呼び出し以外の手続きを実行部に持つ場合は、Rule-Aの実行部＋Rule-Bの実行部を持つ）。
【０１５５】
ここで、Rule-AとRule-Bとを合成した場合において、Rule-Aの呼び出し回数≒Rule-Cの呼び出し回数の場合には、さらにRule-AとRule-Cとを合成したルールを生成してもよい。この場合、たとえば、さらにRule-A条件部＋Rule-C条件部を条件に持ち、Rule-C実行部とRule-A実行部を実行部に持つ新たなルールを別途生成することができる。
【０１５６】
（４）所属ルール集合の変更
Rule-Aから、Aの所属するルール集合外にあるRule-Bの呼び出し回数が多い（一定の閾値以上）のであればRule-BをRule-Aの所属するルール集合内にコピーする。
【０１５７】
（５）無駄な呼出の抑制
Rule-AからRule-Bを呼び出しているが、Rule-Bは必ず条件部が成立しない場合は、Rule-AからRule-Bの呼び出しを止める（動作部からルールB呼び出しをはずす）。この修正指示生成規則を適用するには、ルールベース利用状況自動収集装置２２５において、各ルールの条件部が成功する回数をカウントして、利用情報２１３に含め、利用統計情報１１４としてルールベース提供装置１００に格納されることが必要である。
【０１５８】
ルールの条件部を構成する各条件について、ルールベース利用状況自動収集装置２２５が各ルールの条件部が成功する回数をカウントして、利用情報２１３に含め、利用統計情報１１４としてルールベース提供装置１００に格納された場合、以下のような変更アドバイスを提示するような修正指示生成規則を設定することができる。
【０１５９】
（６）ルールの条件評価順序の変更
複数の条件C1〜Cn（ｎは自然数）を有するRule-Dが if (C1 && C2 && ... Cn) then ... の形式となっており、条件C1〜Cnのそれぞれについて成立した回数もカウントしていれば、条件C1〜Cnを(条件成立回数／ルールの呼び出し回数)の値が大きい順に並べ替える。
【０１６０】
（７）条件の緩和
上記Rule-Dにおいて、ある条件Ci（ｉは自然数）について(条件成立回数／ルールの呼び出し回数)の値が一定の閾値より小さい（または０）状態が続く場合は、Cｉがないルールを新規に生成する。
【０１６１】
（８）必ず成立する条件の削除
上記Rule-Dにおいて、ある条件Cj（ｊは自然数）について条件成立回数＝ルールの呼び出し回数（つまりCjはルール呼び出し時には必ず成立している）の状態が続く場合は、Cjがないルールを新規に生成する）。
【０１６２】
以上のように、利用統計情報１１４を利用したさまざまな修正指示生成規則１１３を、ルールベース提供装置１００において定義しておくことができる。
以下に、図１８、図１９を参照して、利用統計情報を取得し、ルールベースを編集する処理について説明する。
【０１６３】
図１８は、利用統計情報取得処理を示すフローチャートである。この処理は、ルールベースの管理者が、入出力装置１４を用いて手動でルールベースの編集装置を起動することにより開始される。以下、図１８の処理をステップ番号に沿って説明する。
【０１６４】
［ステップＳ１０１］利用統計情報取得装置１２８は、ルールベースの利用統計情報１１４に排他ロックを設定する。
［ステップＳ１０２］利用統計情報取得装置１２８は、ルールベースの利用統計情報１１４を取得する。
【０１６５】
［ステップＳ１０３］修正指示生成装置１２４は、ルールベースの利用統計情報１１４と、利用統計情報１１４からルール集合修正に関する指示を生成する修正指示生成規則１１３とから、ルールベース１１１を修正するための指示を生成する。
【０１６６】
［ステップＳ１０４］ルールベース編集装置１２５が起動され、ルールベース編集装置１２５により、ルール集合修正に関する指示が表示される。そして、ルールベース編集処理が実行される。ルールベース編集処理の詳細は、図１９に示す。
【０１６７】
［ステップＳ１０５］利用統計情報取得装置１２８は、ルールベースの利用統計情報１１４に排他ロックを解除する。
図１９は、ルールベース編集処理を示すフローチャートである。以下に、図１９に示す処理を、ステップ番号に沿って説明する。
【０１６８】
［ステップＳ１１１］ルールベース編集装置１２５は、表示されている修正指示が管理者に受け入れられたか否かを判断する。これは、管理者による操作入力の内容に基づいて判断される。表示されている修正の指示が受け入れられた場合には、処理がステップＳ１１２に進められる。修正指示が受け入れられなかった場合には、処理がステップＳ１１５に進められる。
【０１６９】
［ステップＳ１１２］ルールベース編集装置１２５は、処理対象となるルール集合に対して、修正指示に応じた修正を実行する。
［ステップＳ１１３］ルールベース編集装置１２５は、処理対象となるルール集合に対して、ルール更新フラグをＯＮに設定する。
【０１７０】
［ステップＳ１１４］ルールベース編集装置１２５は、受け入れられた修正の指示を、画面から削除する。
［ステップＳ１１５］ルールベース編集装置１２５は、管理者によりルールベース１１１内のルール集合の保存の操作入力があったか否かを判断する。保存の操作入力があった場合には、処理がステップＳ１１６に進められる。保存の操作入力がなかった場合には、処理がステップＳ１１８に進められる。
【０１７１】
［ステップＳ１１６］ルールベース編集装置１２５は、処理対象となったルール集合をルールベース１１１に保存する。
［ステップＳ１１７］ルールベース編集装置１２５は、処理対象となったルール集合をルール更新フラグをＯＦＦに設定する。
【０１７２】
［ステップＳ１１８］ルールベース編集装置１２５は、管理者により操作終了の指示を示す操作入力があったか否かを判断する。操作終了の操作入力があった場合には、処理がステップＳ１２１に進められる。操作終了の操作入力がない場合には、処理がステップＳ１１９に進められる。
【０１７３】
［ステップＳ１１９］ルールベース編集装置１２５は、管理者の操作入力に従って、ルール集合を更新する。
［ステップＳ１２０］ルールベース編集装置１２５は、更新されたルール集合に対して管理者によるその他の更新操作（ルール集合へのルール新規追加、ルールの削除など）が行われた場合、ルール更新フラグをＯＮに設定する。その後、処理がステップＳ１１１に進められる。
【０１７４】
［ステップＳ１２１］ルールベース編集装置１２５は、処理対象とされていたルール集合のルール更新フラグがＯＮか否かを判断する。ルール更新フラグがＯＮであれば、処理がステップＳ１２２に進められる。ルール更新フラグがＯＦＦであれば、処理が終了する。
【０１７５】
［ステップＳ１２２］ルールベース編集装置１２５は、処理対象となったルール集合をルールベース１１１に保存する。
［ステップＳ１２３］ルールベース編集装置１２５は、処理対象となったルール集合をルール更新フラグをＯＦＦに設定する。その後、処理が、図１８に示すステップＳ１０４に進められる。
【０１７６】
以上のようにして、利用統計情報１１４を有効に利用して、ルールベース１１１の内容を編集し、ルールベースの最適化を図ることができる。
［本実施の形態の適用例］
本実施の形態におけるルールベース提供システムを、ワークフローに関するルールベースに適用した場合の例を、以下に示す。
【０１７７】
図２０は、本実施の形態が適用されたワークフローシステムの構成例を示す図である。図２０の例は、ワークフローシステムにおいてワークフロー処理の起動に関するルールを集めたルールベースを、ワークフローサーバ３００から各クライアント４００に自動配付・自動更新する例である。
【０１７８】
なお、以下の説明において、「・・・ツール」あるいは「・・・サーバ（ワークフローサーバを除く）」と言った場合、ワークフローサーバ３００またはクライアント４００上で実現される処理機能の１つを指すものとする。
【０１７９】
ワークフローサーバ３００には、ワークフロー起動ルールを集めたルールベースのマスター版であるワークフロー起動ルールベース３１１と、クライアント４００から集信した利用情報に基づく統計データである利用統計情報３１２が格納されている。
【０１８０】
また、ワークフローサーバ３００は、資源更新管理装置３２１、資源登録ツール３２２、資源配付サーバ３２３、統計情報集信サーバ３２４、およびルールベース編集装置３２５を有している。
【０１８１】
資源更新管理装置３２１は、管理者による入出力装置３０１を用いた操作入力に応答して、ワークフロー起動ルールベース３１１の配付先や、更新条件などを含む適用開始／終了条件３０２、ワークフロー起動ルールベース３１１の配付タイミング、配付先の決定などを設定する。そして、資源更新管理装置３２１は、配付する資源（ワークフロー起動ルールベース３１１およびワークフローエンジン（ワークフロー起動ルールベース３１１を使用するワークフロークライアントエンジンのプログラム））に対して設定された適用開始／終了条件３０２に基づいてワークフロー起動ルールベース３１１やワークフローエンジンの更新を制御する。
【０１８２】
資源登録ツール３２２は、資源更新管理装置３２１による設定に応じて、適用開始／終了条件３０２やワークフロー起動ルールベース３１１を、配付対象として資源配付サーバ３２３に対して登録する。資源配付サーバ３２３は、資源登録ツール３２２により配付対象として登録された適用開始／終了条件３０２やワークフロー起動ルールベース３１１を、クライアント４００に送信する。なお、資源配付サーバ３２３は、ワークフロー起動ルールベース３１１を使用するワークフロークライアントエンジンのプログラムを資源として、クライアント４００に配付することもできる。
【０１８３】
統計情報集信サーバ３２４は、クライアント４００から利用情報を集信し、集信した利用情報を、利用統計情報３１２として格納する。ルールベース編集装置３２５は、入出力装置３０１を介した、管理者からの操作入力に応答し、ワークフロー起動ルールベース３１１を編集する。管理者は、ルールベース編集装置３２５を通して、各利用者から集められた利用統計情報３１２に基づくルールベース編集画面を見ながら、ルールベースの編集操作を行う。
【０１８４】
たとえば、ルールベース編集装置３２５は、ワークフロー起動ルールベース３１１を編集に際して、利用統計情報３１２を利用して改善策を生成し、その改善策を管理者に提示する。そして、ルールベース編集装置３２５は、監視者が改善策の適用を指示した場合に、改善策に従って、ワークフロー起動ルールベース３１１を編集する。
【０１８５】
クライアント４００は、資源配付クライアント４１０、ワークフロー起動ルールベース４２１、利用情報４２２、およびワークフローエンジン４２３を有している。また、資源配付クライアント４１０は、ルールベース更新差分データ４１１、資源更新管理装置４１２および統計情報集信クライアント４１３を有している。
【０１８６】
資源配付クライアント４１０は、資源配付サーバ３２３から配付される資源を受け取るための機能を有している。ワークフロー起動ルールベース４２１、ルールベースを利用するワークフローエンジン４２３、統計情報集信クライアント４１３、および資源更新管理装置４１２は、資源配付サーバ３２３から資源配付クライアント４１０に自動配付され、クライアント４００にインストールされる。
【０１８７】
ルールベース更新差分データ４１１は、ワークフロー起動ルールベース４２１を更新するために使用する差分データである。資源更新管理装置４１２は、ワークフロー起動ルールベース４２１やワークフローエンジン４２３の自動更新を制御する。統計情報集信クライアント４１３は、ワークフローエンジン４２３の動作を監視し、ワークフローエンジン４２３によるルールの利用統計情報を集め、あらかじめ決められたスケジュールでワークフローサーバ３００にその利用者によるルールの利用統計情報４２２を自動転送する。
【０１８８】
ワークフローエンジン４２３は、ワークフロー起動ルールベース４２１を使用してワークフローを制御する機能を有している。利用情報４２２は、統計情報集信クライアント４１３によって集められた、ワークフローエンジン４２３によるワークフロー起動ルールベース４２１の使用状況を表す情報である。
【０１８９】
図２１は、図２０に示すシステムにおけるワークフロー起動ルールベースの一例を示す図である。ワークフロー起動ルールベース３１１には、利用アプリケーション（利用アプリ）が登録されている。図２１の例では、ワークフロー起動ルールベース３１１は、ＷＦ１ワークフローエンジンという名前のワークフローエンジン４２３で利用される。
【０１９０】
ルール３１１ａは、ワークフローエンジン４２３が扱うワークフロー操作（電子メール送信、フォーラム記事登録、共有データベースヘのデータ登録など）ごとのルール集合に分類されている。各ルール３１１ａには、ルールの名称（図の例では、「RS1R001」）、優先順位を表すデータ、ルールの動作部が実行されるための前提条件（if・・・）、前提条件が成立したときの動作（then・・・）が記述される。
【０１９１】
たとえば、図２１のルール３１１ａは、電子メールメッセージの表題に“必読”というキーワードが含まれるときに、添付文書の名前とメッセージの表題を使って、必読文書表示の通知を行うことを示している。
【０１９２】
図２２は、ワークフローサーバにおけるルールベースの適用開始／終了条件を設定するための画面の一例を示す図である。図２２の条件設定画面５１０は、資源更新管理装置３２１が提供するユーザインタフェースに基づく画面である。
【０１９３】
条件設定画面５１０には、ルールベースＩＤ入力部５１１、利用者／グループ名入力部５１２、設定区分指定部５１３、利用アプリケーション入力部５１４、設定日時入力部５１５、ＯＫボタン５１６、クリアボタン５１７、およびキャンセルボタン５１８が設けられている。
【０１９４】
ルールベースＩＤ入力部５１１は、条件設定を行う対象のルールベースを指定するための入力領域である。利用者／グループ名入力部５１２は、ルールベースを配付する対象の利用者を指定するための入力領域である。設定区分指定部５１３は、有効期限の設定区分を指示するための選択部である。設定区分指定部５１３には、適用開始（適用開始条件の設定）と適用中止（適用終了条件の設定）との選択項目があり、管理者は、いずれか一方を選択することができる。
【０１９５】
利用アプリケーション入力部５１４は、ルールベースを利用するためのアプリケーション（たとえば、ワークフローエンジン）を指定するための入力領域である。設定日時入力部５１５は、適用日時を指定するための入力領域である。
【０１９６】
ＯＫボタン５１６は、入力された内容を確定するためのボタンである。クリアボタン５１７が、入力された内容を消去するためのボタンである。キャンセルボタン５１８は、条件設定を取りやめるためのボタンである。
【０１９７】
このような条件設定画面５１０により、適用開始／終了条件を設定するルールベース、ルールベースの配付先ユーザ（またはユーザグループ）の選択ができる。また、ルールベースの適用開始／終了条件の設定では、ルールベースの有効期限と、ルールベースを利用するアプリケーションプログラムの名前・版の組み合わせが選択できる。さらに、ルールベースの有効期限として、適用開始、適用終了の２種類の有効期限が設定できる。有効期限の設定は、ルールベースを選択し、これに対して有効期限の設定区分を選ばせ、適用開始または終了日時を入力させる形をとっている。なお、適用開始または終了日時の入力においては、カレンダーを表示して設定させたり、時計を表示して設定させて、管理者に日付等を選択させることで、設定日時を指定させることも可能である。
【０１９８】
次に、ワークフローシステムにおけるクライアント４００側のワークフロー起動ルールベース４２１の更新例について説明する。
図２３は、ワークフロー起動ルールベースの更新例を示す模式図である。図２３において、ワークフロー起動ルールベース３１１は、あらかじめ決められたスケジュールに従って、または、ルールベース提供者の操作により資源登録ツール３２２により資源配付サーバ３２３に登録される。資源配付サーバ３２３への登録時に、ワークフロー起動ルールベース３１１が以前の版より更新されたものである場合にはＢｙｔｅレベル差分データ３１３が、資源配付サーバ３２３によって抽出される。資源配付サーバ３２３は、このＢｙｔｅレベル差分データ３１３をクライアント４００に配付する。
【０１９９】
なお、ワークフロー起動ルールベース３１１が更新されていない場合でも、適用開始／終了条件３０２が更新されている場合がある。その場合、適用開始／終了条件の差分がＢｙｔｅレベル差分データ３１３として、資源配付サーバ３２３に登録される。
【０２００】
また、適用開始／終了条件３０２が資源更新管理装置４１２に含まれる場合、資源更新管理装置４１２が管理するワークフロー起動ルールベース４２１の適用開始／終了条件３０２が更新されていれば、更新されたデータの差分がワークフローサーバ３００の資源配付サーバ３２３に登録される。そして、資源配付サーバ３２３より、資源更新管理装置４１２自体の更新差分として差分データが配付される。
【０２０１】
クライアント４００は、あらかじめ決められたスケジュールで（たとえば毎日午前３時に）資源配付サーバ３２３に対してワークフロー起動ルールベース３１１または資源更新管理装置４１２自身のデータが更新されているかどうかを確認する。更新されている場合（適用開始または終了時刻が更新されている場合も、更新されていると判定する）、クライアント４００は、ワークフロー起動ルールベース３１１とその付随情報、または資源更新管理装置４１２のデータの更新差分を資源配付サーバ３２３から取り出す。なお、資源更新管理装置４１２のデータの更新差分は、即時、クライアント４００の資源更新管理装置４１２に反映される。
【０２０２】
クライアント４００のワークフロー起動ルールベース４２１を更新する際には、資源更新管理装置４１２が、ワークフロー起動ルールベース４２１の更新が済んでいるかどうか、そのワークフロー起動ルールベース４２１に対する適用開始／終了条件３０２がその利用者に適用されるものかどうか、適用されるのであれば適用開始／終了条件３０２が成立するかどうかをチェックする。ワークフロー起動ルールベース４２１の更新がまだ済んでおらず、適用開始／終了条件３０２がその利用者に適用されるものでかつ条件が成立する（適用開始時刻を過ぎており、ルールベースを利用するワークフローエンジン４２３が存在する）のであれば、資源更新管理装置４１２は、ワークフロー起動ルールベース４２１に対して、配付された更新差分（Byteレベル差分データ４１１ａ）を使って自動更新を行う。
【０２０３】
図２４は、ワークフローサーバにおける利用統計情報の一例を示す図である。図２４ではルール集合６００内の各ルール６１０，６２０，６３０に対してそのルール６１０，６２０，６３０の呼出し回数（即ち、前提条件をチェックされた回数）と、各ルール６１０，６２０，６３０間の呼出し回数（即ち、呼出し元ルールの動作部において呼出し先ルールの前提条件のチェックを行った回数）を各ルール集合６００内の各ルール６１０，６２０，６３０に対して取得するようにしている。
【０２０４】
図２５は、ワークフローシステムにおける利用情報集信の例である。図２５では、ワークフローエンジン（ＷＦ１）４２３に外付けされたルールベース利用監視アプリケーション４２４が、図２４で示したようなワークフローエンジン４２３によるルールベース内の各ルール利用状況のデータを記録している。統計情報集信クライアント４１３は、あらかじめ決められたスケジュールでワークフローサーバ３００側に、ＨＴＴＰプロトコルを使い、ＷＷＷサーバ３２４ａを通して転送している。転送されたデータはＷＷＷサーバ３２４ａから呼び出されるデータ格納機構３２４ｂを使って利用統計情報３１２として格納される。なお、ＷＷＷサーバ３２４ａとデータ格納機構３２４ｂとにより、図２０に示した統計情報集信サーバ３２４が構成されている。
【０２０５】
図２６は、ワークフローシステムにおけるルール更新情報の一例である。ルール更新情報５２０は、図２５のようにして集められた利用統計情報３１２から自動生成される。図２６に示すルール更新情報５２０では、２つの指示５２１，５２２が設定されている。
【０２０６】
１つ目の指示５２１は、ワークフローエンジン４２３が使用するワークフロー起動ルールベース(RS1)４２１中のルールR001, R002, R003 に対して、ルールR001の優先順位を１から２に、R002の優先順位を２から３に、R003の優先順位を３から１に変更する指示である。２つめの指示５２２は、ワークフロー起動ルールベース(RS1)４２１中のルールR004,R008を合成し、R004の条件部とR008の条件部を条件部に、R004の動作部とR008の動作部を動作部に持つ新しいルールを生成する指示である。
【０２０７】
管理者が前者（優先順位の変更）の指示５２１を受け入れると、ルールの優先順位が変更される。管理者が後者（ルールの合成）の指示５２２を受け入れると、新しいルールが生成され追加される。
【０２０８】
次に、ワークフローシステムにおいて管理者がルールベースを更新するときのユーザインタフェースによる画面遷移を、図２７〜図２９を参照して説明する。図２７は、ルールベース編集画面の一例を示す図である。ルールベース編集画面５３０には、ツールバー５３１、ルールベース表示部５３２、ルール集合一覧表示部５３３、新規ボタン５３４、編集ボタン５３５、削除ボタン５３６、複写ボタン５３７、移動ボタン５３８、ＯＫボタン５３９ａ、適用ボタン５３９ｂ、およびキャンセルボタン５３９ｃが設けられている。
【０２０９】
ツールバー５３１には、ファイル操作などに関するコマンドを選択入力するためのツールが登録されている。ルールベース表示部５３２には、ワークフローサーバ３００に登録されているルールベースのリストが表示されている。ルール集合一覧表示部５３３には、ルールベース表示部５３２において選択されているルールベースに含まれるルール集合の一覧が表示されている。
【０２１０】
新規ボタン５３４は、新規のルールベースを登録する際に押すべきボタンである。編集ボタン５３５は、ルールベース表示部５３２において選択されているルールベースを編集する際に押すべきボタンである。削除ボタン５３６は、ルールベース表示部５３２において選択されているルールベースを削除する際に押すべきボタンである。複写ボタン５３７は、ルールベース表示部５３２において選択されているルールベース、またはルール集合一覧表示部５３３において選択されているルール集合を複写（複製の生成）する際に押すべきボタンである。移動ボタン５３８は、ルール集合一覧表示部５３３において選択されているルール集合を、他のルールベースに移動する際に押すべきボタンである。
【０２１１】
ＯＫボタン５３９ａは、ルールベース編集画面５３０において行った操作を確定し、処理を終了する際に押すべきボタンである。適用ボタン５３９ｂは、ルールベース編集画面５３０において行った操作を確定する際に押すべきボタンである（処理は継続される）。キャンセルボタン５３９ｃは、ルールベース編集画面５３０において行った操作を非確定のまま処理を終了する際に押すべきボタンである。
【０２１２】
図２７のルールベース編集画面５３０の、ルールベース表示部５３２において編集対象のルールベースを選択され、ルール集合一覧表示部５３３においてルール集合が選択され、さらに編集ボタン５３５が押されると、ルール編集画面とルール更新指示画面とが表示される。
【０２１３】
図２８は、ルール編集画面とルール更新指示画面との一例を示す図である。ルール編集画面５４０には、ルール表示部５４１、新規ボタン５４２、編集ボタン５４３、削除ボタン５４４、複写ボタン５４５、移動ボタン５４６、ＯＫボタン５４７、適用ボタン５４８、およびキャンセルボタン５４９が設けられている。
【０２１４】
ルール表示部５４１には、選択されたルール集合に含まれるルールのリストが表示されている。新規ボタン５４２は、新規のルールを登録する際に押すべきボタンである。編集ボタン５４３は、ルール表示部５４１において選択されているルールの内容を編集する際に押すべきボタンである。削除ボタン５４４は、ルール表示部５４１において選択されているルールを削除する際に押すべきボタンである。複写ボタン５４５は、ルール表示部５４１において選択されているルールを複写（複製の生成）する際に押すべきボタンである。移動ボタン５４６は、ルール表示部５４１において選択されているルールを、他のルール集合に移動する際に押すべきボタンである。
【０２１５】
ＯＫボタン５４７は、ルール編集画面５４０において行った操作を確定し、処理を終了する際に押すべきボタンである。適用ボタン５４８は、ルール編集画面５４０において行った操作を確定する際に押すべきボタンである（処理は継続される）。キャンセルボタン５４９は、ルール編集画面５４０において行った操作を非確定のまま処理を終了する際に押すべきボタンである。
【０２１６】
ルール更新指示画面５５０は、利用統計情報を元に生成された画面である。ルール更新指示画面５５０には、更新指示表示部５５１，５５２が設けられている。更新指示表示部５５１，５５２には、更新指示内容が表示されている。また、更新指示表示部５５１には、受け入れボタン５５３が設けられている。受け入れボタン５５３が押されると、更新指示表示部５５１に表示されている内容に従って、ルールベースが更新される。同様に、更新指示表示部５５２には、受け入れボタン５５４が設けられている。受け入れボタン５５４が押されると、更新指示表示部５５２に表示されている内容に従って、ルールベースが更新される。
【０２１７】
この状態でルールベースの管理者は、表示されている更新指示を受け入れることができる。ルールベース管理者が更新指示を受け入れると、更新指示の内容にしたがってルールベースが自動的に修正される。
【０２１８】
ルールベース管理者は、表示された更新指示を受け入れるほかに、ルールを選択して編集することもできる。ルール編集画面５４０のルール表示部５４１において編集対象のルールが選択され、編集ボタン５４３が押されると、ルール内容編集画面が表示される。
【０２１９】
図２９は、ルール内容編集画面の一例を示す図である。ルール内容編集画面５６０には、優先度設定部５６１、前提条件設定部５６２、動作設定部５６３、前提条件追加ボタン５６４、前提条件編集ボタン５６５、前提条件削除ボタン５６６、動作追加ボタン５６７、動作編集ボタン５６８、動作削除ボタン５６９、ＯＫボタン５６０ａ、リセットボタン５６０ｂ、およびキャンセルボタン５６０ｃが設けられている。
【０２２０】
優先度設定部５６１は、処理対象となっているルールの優先度を設定するための領域である。前提条件設定部５６２は、ルールの前提条件を設定するための入力領域である。動作設定部５６３は、ルールの前提条件を満たしたときに実行すべき動作を設定するための領域である。
【０２２１】
前提条件追加ボタン５６４は、前提条件設定部５６２に設定された前提条件を、処理対象のルールに追加するためのボタンである。前提条件編集ボタン５６５は、前提条件設定部５６２に設定されている前提条件を編集する際に押すべきボタンである。前提条件削除ボタン５６６は、前提条件設定部５６２に設定されている前提条件を、処理対象のルールから削除するためのボタンである。
【０２２２】
動作追加ボタン５６７は、動作設定部５６３に設定された動作を、処理対象のルールに追加するためのボタンである。動作編集ボタン５６８は、動作設定部５６３に設定されている動作を編集する際に押すべきボタンである。動作削除ボタン５６９は、動作設定部５６３に設定されている動作を、処置対象のルールから削除するためのボタンである。
【０２２３】
ＯＫボタン５６０ａは、ルール内容編集画面５６０で設定した内容を確定し、処理を終了させるためのボタンである。リセット（Reset）ボタン５６０ｂは、ルール内容編集画面５６０の内容を、編集操作開始前の状態に戻すためのボタンである。キャンセルボタン５６０ｃは、ルール内容編集画面５６０で編集した内容を適用せずに処理を終了するためのボタンである。
【０２２４】
このルール内容編集画面５６０によって、ルールの優先度の変更と、ルールの前提条件、ルールの動作部分それぞれに対して追加や編集、削除が行える。
［実施の形態の効果］
本発明の効果として、以下を挙げることができる。
【０２２５】
ルールベースの利用状況を示す利用情報を集信し、その利用情報の集合である利用統計情報に基づいてルールベースを編集するようにしたため、ルールベースの管理者は、利用者によるルールベースの利用状況に応じて、配付するルールベースを更新することができる。これにより、利用者は、自己の使用状況に合わせて処理の効率化が図られたルールベースを利用することができ、ルールベースを利用した作業効率が向上する。たとえば、利用統計情報を利用して、優先順位を変更するようにすることで、利用者は、常時最適化された優先順のルールベースを利用することができる。
【０２２６】
また、提供者から利用者に配付されるルールベースに対して、適用開始／終了条件を状況に合わせて設定でき、設定した適用開始／終了条件にあわせてルールベースの利用開始や終了が自動的に行われるようになる。
【０２２７】
なお、上記の説明では、ルールベースを提供するルールベース提供装置とクライアントとがネットワークを介して接続された個別の装置であったが、ルールベース提供装置とクライアントとの機能を１つのコンピュータに搭載することもできる。たとえば、クライアントにルールベース提供装置１００における利用統計情報取得装置１２８、ルールベース編集装置１２５、修正指示生成装置１２４の機能を搭載すれば、クライアント単体でルールベースの最適化を行うことができる。すなわち、各クライアントのユーザが、それぞれの使用状況に合ったルールベースを構築することが可能となる。
【０２２８】
なお、上記の処理機能は、サーバコンピュータとクライアントコンピュータとによって実現することができる。その場合、ルールベース提供装置が有すべき機能の処理内容を記述したサーバプログラム、およびルールベース利用装置が有すべき機能の処理内容を記述したクライアントプログラムが提供される。サーバプログラムをサーバコンピュータで実行することにより、ルールベース提供装置の処理機能がサーバコンピュータ上で実現される。また、クライアントプログラムをクライアントコンピュータで実行することにより、ルールベース利用装置の処理機能がクライアントコンピュータ上で実現される。
【０２２９】
処理内容を記述したサーバプログラムやクライアントプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ(Digital Versatile Disc)、ＤＶＤ−ＲＡＭ(Random Access Memory)、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)、ＣＤ−Ｒ(Recordable)／ＲＷ(ReWritable)などがある。光磁気記録媒体には、ＭＯ(Magneto-Optical disc)などがある。
【０２３０】
サーバプログラムやクライアントプログラムを流通させる場合には、たとえば、各プログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、クライアントプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータからクライアントコンピュータにクライアントプログラムを転送することもできる。
【０２３１】
サーバプログラムを実行するサーバコンピュータは、たとえば、可搬型記録媒体に記録されたサーバプログラムを、自己の記憶装置に格納する。そして、サーバコンピュータは、自己の記憶装置からサーバプログラムを読み取り、サーバプログラムに従った処理を実行する。なお、サーバコンピュータは、可搬型記録媒体から直接サーバプログラムを読み取り、そのサーバプログラムに従った処理を実行することもできる。
【０２３２】
クライアントプログラムを実行するクライアントコンピュータは、たとえば、可搬型記録媒体に記録されたクライアントプログラムもしくはサーバコンピュータから転送されたクライアントプログラムを、自己の記憶装置に格納する。そして、クライアントコンピュータは、自己の記憶装置からクライアントプログラムを読み取り、クライアントプログラムに従った処理を実行する。なお、クライアントコンピュータは、可搬型記録媒体から直接クライアントプログラムを読み取り、そのクライアントプログラムに従った処理を実行することもできる。また、クライアントコンピュータは、サーバコンピュータからクライアントプログラムが転送される毎に、逐次、受け取ったクライアントプログラムに従った処理を実行することもできる。
【０２３３】
（付記１）  少なくとも１つのルールベース利用装置にルールベースを配信するためのプログラムにおいて、
コンピュータに、
前記ルールベースを前記ルールベース利用装置に配信し、
前記ルールベース利用装置における前記ルールベースの利用状況を示す利用情報を、前記ルールベース利用装置から収集し、
前記ルールベース利用装置から収集した前記利用情報に基づいて、前記ルールベースの改善内容を判断する、
処理を実行させることを特徴とするプログラム。
【０２３４】
（付記２）  前記ルールベースの前記改善内容に従って、前記ルールベースを編集させることを特徴とする付記１記載のプログラム。
（付記３）  判断した前記改善内容を表示させ、表示させた前記改善内容の適用を指示する操作入力に応答して、前記改善内容に従って前記ルールベースの内容を編集させることを特徴とする付記１記載のプログラム。
【０２３５】
（付記４）  前記ルールベースの前記ルールベース利用装置への配信は、前記ルールベースの内容が変更された場合に実行させることを特徴とする付記１記載のプログラム。
【０２３６】
（付記５）  前記ルールベースを利用可能とするための条件が設定された適用条件を、前記ルールベースに対して設定させ、
前記ルールベースの前記ルールベース利用装置への配信の際に、前記ルールベース利用装置に対して前記適用条件を配信させることを特徴とする付記１記載のプログラム。
【０２３７】
（付記６）  ルールベース提供装置から配信されるルールベースを利用するためのプログラムにおいて、
コンピュータに、
前記ルールベース提供装置から配信された前記ルールベースを格納し、
前記ルールベースを利用した処理を実行し、
前記ルールベースの利用状況を監視して、前記利用状況を示す利用情報を生成し、
生成された前記利用情報を、前記ルールベース提供装置に送信する、
処理を実行させることを特徴とするプログラム。
【０２３８】
（付記７）  前記ルールベースを利用可能とするための条件が設定された適用条件を受け取ると、前記適用条件が満たされている間のみ前記ルールベースを使用可能とさせることを特徴とする付記６記載のプログラム。
【０２３９】
（付記８）  前記ルールベース提供装置が配信した前記ルールベースが、既に使用している既存ルールベースの新版である場合には、前記既存ルールベースを前記ルールベース提供装置から配信した前記ルールベースに更新させることを特徴とする付記６記載のプログラム。
【０２４０】
（付記９）  前記ルールベースとともに、前記ルールベースを利用可能とするための条件が設定された適用条件を受け取ると、前記適用条件が満たされるのを待って、前記既存ルールベースを前記ルールベース提供装置から配信した前記ルールベースに更新させることを特徴とする付記８記載のプログラム。
【０２４１】
（付記１０）  ルールベースを利用するためのプログラムにおいて、
コンピュータに、
前記ルールベースを利用した処理を実行し、
前記ルールベースの利用状況を監視して、前記利用状況を示す利用情報を生成し、
前記利用情報に基づいて前記ルールベースの改善内容を判断し、
前記ルールベースの前記改善内容に従って、前記ルールベースを編集する、
処理を実行させることを特徴とするプログラム。
【０２４２】
（付記１１）  少なくとも１つのルールベース利用装置に配信するルールベースをコンピュータで管理するためのルールベース管理方法において、
前記ルールベースを前記ルールベース利用装置に配信し、
前記ルールベース利用装置における前記ルールベースの利用状況を示す利用情報を、前記ルールベース利用装置から収集し、
前記ルールベース利用装置から収集した前記利用情報に基づいて、前記ルールベースの改善内容を判断する、
ことを特徴とするルールベース管理方法。
【０２４３】
（付記１２）  ルールベース提供装置から配信されるルールベースをコンピュータで利用するためのルールベース利用方法において、
前記ルールベース提供装置から配信された前記ルールベースを格納し、
前記ルールベースを利用した処理を実行し、
前記ルールベースの利用状況を監視して、前記利用状況を示す利用情報を生成し、
生成された前記利用情報を、前記ルールベース提供装置に送信する、
ことを特徴とするルールベース利用方法。
【０２４４】
（付記１３）  ルールベースをコンピュータで利用するためのルールベース利用方法において、
前記ルールベースを利用した処理を実行し、
前記ルールベースの利用状況を監視して、前記利用状況を示す利用情報を生成し、
前記利用情報に基づいて前記ルールベースの改善内容を判断し、
前記ルールベースの前記改善内容に従って、前記ルールベースを編集する、
ことを特徴とするルールベース利用方法。
【０２４５】
（付記１４）  少なくとも１つのルールベース利用装置にルールベースを配信するルールベース提供装置において、
前記ルールベースを前記ルールベース利用装置に配信する配信手段と、
前記配信手段が配信した前記ルールベースの前記ルールベース利用装置における利用状況を示す利用情報を、前記ルールベース利用装置から収集する収集手段と、
前記収集手段が前記ルールベース利用装置から収集した前記利用情報に基づいて、前記ルールベースの改善内容を判断する判断手段と、
を有することを特徴とするルールベース提供装置。
【０２４６】
（付記１５）  ルールベース提供装置から配信されるルールベースを利用するルールベース利用装置において、
前記ルールベース提供装置から配信された前記ルールベースを格納する格納手段と、
前記格納手段が格納した前記ルールベースを利用した処理を実行する実行手段と、
前記実行手段による前記ルールベースの利用状況を監視して、前記利用状況を示す利用情報を生成する利用情報生成手段と、
前記利用情報生成手段で生成された前記利用情報を、前記ルールベース提供装置に送信する送信手段と、
を有することを特徴とするルールベース利用装置。
【０２４７】
（付記１６）  ルールベースを利用するためのルールベース利用装置において、
前記ルールベースを利用した処理を実行する実行手段と、
前記実行手段による前記ルールベースの利用状況を監視して、前記利用状況を示す利用情報を生成する利用情報生成手段と、
前記利用情報生成手段が生成した前記利用情報に基づいて、前記ルールベースの改善内容を判断する判断手段と、
前記判断手段が判断した前記ルールベースの前記改善内容に従って、前記ルールベースを編集する編集手段と、
を有することを特徴とするルールベース利用装置。
【０２４８】
（付記１７）  少なくとも１つのルールベース利用装置にルールベースを配信するためのプログラムを記録したコンピュータ読み取り可能な記録媒体において、
前記コンピュータに、
前記ルールベースを前記ルールベース利用装置に配信し、
前記ルールベース利用装置における前記ルールベースの利用状況を示す利用情報を、前記ルールベース利用装置から収集し、
前記ルールベース利用装置から収集した前記利用情報に基づいて、前記ルールベースの改善内容を判断する、
処理を実行させることを特徴とするプログラムを記録した記録媒体。
【０２４９】
（付記１８）  ルールベース提供装置から配信されるルールベースを利用するためのプログラムを記録したコンピュータ読み取り可能な記録媒体において、
前記コンピュータに、
前記ルールベース提供装置から配信された前記ルールベースを格納し、
前記ルールベースを利用した処理を実行し、
前記ルールベースの利用状況を監視して、前記利用状況を示す利用情報を生成し、
生成された前記利用情報を、前記ルールベース提供装置に送信する、
処理を実行させることを特徴とするプログラムを記録した記録媒体。
【０２５０】
（付記１９）  ルールベースを利用するためのプログラムを記録したコンピュータ読み取り可能な記録媒体において、
前記コンピュータに、
前記ルールベースを利用した処理を実行し、
前記ルールベースの利用状況を監視して、前記利用状況を示す利用情報を生成し、
前記利用情報に基づいて前記ルールベースの改善内容を判断し、
前記ルールベースの前記改善内容に従って、前記ルールベースを編集する、
処理を実行させることを特徴とするプログラムを記録した記録媒体。
【０２５１】
【発明の効果】
以上説明したように本発明では、ルールベースの利用状況を示す利用情報を収集し、その利用情報に基づいてルールベースの改善内容を判断するようにしたため、その改善内容に基づいてルールベースを編集することで、利用時の処理効率の高いルールベースを生成することができる。
【図面の簡単な説明】
【図１】本発明の概略を示す概念図である。
【図２】本実施の形態を適用するシステムの構成例を示す図である。
【図３】本発明の実施の形態に用いるルールベース提供装置のハードウェア構成例を示す図である。
【図４】ルールベース提供装置の機能構成例を示すブロック図である。
【図５】ルールベース利用装置の機能構成例を示すブロック図である。
【図６】ルールベースのデータ構造の一例を示す図である。
【図７】ルールベースの配信処理の動作原理を示す模式図である。
【図８】ルールベース提供装置におけるルールベースの適用開始／終了条件設定処理を示すフローチャートである。
【図９】適用開始／終了条件が設定されたルールベースの形式変換処理を示すフローチャートである。
【図１０】ルールベースを自動配付する処理のフローチャートを示す図である。
【図１１】ルールベースの更新処理を示すフローチャートである。
【図１２】ルールベース利用状況集信処理の動作原理を表す模式図である。
【図１３】利用情報における利用回数情報の構成例を示す図である。
【図１４】利用情報における呼出関係グラフの構成例を示す図である。
【図１５】クライアントでの利用情報収集処理を示すフローチャートである。
【図１６】利用情報集信処理を示すフローチャートである。
【図１７】ルールベース編集処理の動作原理を表す模式図である。
【図１８】利用統計情報取得処理を示すフローチャートである。
【図１９】ルールベース編集処理を示すフローチャートである。
【図２０】本実施の形態が適用されたワークフローシステムの構成例を示す図である。
【図２１】図２０に示すシステムにおけるワークフロー起動ルールベースの一例を示す図である。
【図２２】ワークフローサーバにおけるルールベースの適用開始／終了条件を設定するための画面の一例を示す図である。
【図２３】ワークフロー起動ルールベースの更新例を示す模式図である。
【図２４】ワークフローサーバにおける利用統計情報の一例を示す図である。
【図２５】ワークフローシステムにおける利用情報集信の例である。
【図２６】ワークフローシステムにおけるルール更新情報の一例である。
【図２７】ルールベース編集画面の一例を示す図である。
【図２８】ルール編集画面とルール更新指示画面との一例を示す図である。
【図２９】ルール内容編集画面の一例を示す図である。
【図３０】従来のルールベースの運用形態を示す概念図である。
【符号の説明】
１  ルールベース提供装置
１ａ  ルールベース
１ｂ  利用統計情報
２，３，４  ルールベース利用装置
２ａ  ルールベース
２ｂ  利用情報
１０  ネットワーク
１００  ルールベース提供装置
１０１  ＣＰＵ
１０２  ＲＡＭ
１０３  ハードディスクドライブ
１０４  グラフィック処理装置
１０５  入力インタフェース
１０６  通信インタフェース
１０７  バス
２００，２００ａ，２００ｂ  ルールベース利用装置
【図１】
0004067784.tif 000002
【図２】
0004067784.tif 000003
【図３】
0004067784.tif 000004
【図４】
0004067784.tif 000005
【図５】
0004067784.tif 000006
【図６】
0004067784.tif 000007
【図７】
0004067784.tif 000008
【図８】
0004067784.tif 000009
【図９】
0004067784.tif 000010
【図１０】
0004067784.tif 000011
【図１１】
0004067784.tif 000012
【図１２】
0004067784.tif 000013
【図１３】
0004067784.tif 000014
【図１４】
0004067784.tif 000015
【図１５】
0004067784.tif 000016
【図１６】
0004067784.tif 000017
【図１７】
0004067784.tif 000018
【図１８】
0004067784.tif 000019
【図１９】
0004067784.tif 000020
【図２０】
0004067784.tif 000021
【図２１】
0004067784.tif 000022
【図２２】
0004067784.tif 000023
【図２３】
0004067784.tif 000024
【図２４】
0004067784.tif 000025
【図２５】
0004067784.tif 000026
【図２６】
0004067784.tif 000027
【図２７】
0004067784.tif 000028
【図２８】
0004067784.tif 000029
【図２９】
0004067784.tif 000030
【図３０】
0004067784.tif 000031