以下に添付図面を参照して、本発明の実施の形態にかかる通知対象決定プログラム、通知対象決定装置、および通知対象決定方法を詳細に説明する。
(通知対象決定装置100の通知対象決定処理の一実施例)
図1は、本実施の形態にかかる通知対象決定装置100の通知対象決定処理の一実施例を示す説明図である。図1において、通知対象決定装置100は、通知対象となる文書の変更内容を決定するコンピュータである。
通知対象決定装置100は、変更対象となる複数の文書のいずれかの文書に対して所定の変更内容の変更が行われた時点を示す変更情報を取得する。変更情報には、例えば、文書の変更内容や変更が行われた日付を示す情報が含まれている。通知対象決定装置100は、文書の変更内容ごとに、該変更内容の変更が行われた時点ごとの変更情報に基づいて、該変更内容を通知対象に決定する。
以下、文書の変更内容として、変更内容Xおよび変更内容Yを例に挙げて、通知対象決定装置100の通知対象決定処理の一実施例について説明する。
まず、通知対象決定装置100は、変更内容Xの変更が行われた時点ごとの変更情報に基づいて、変更内容Xの変更が行われた日ごとの変更件数を計数する。また、通知対象決定装置100は、変更内容Yの変更が行われた時点ごとの変更情報に基づいて、変更内容Xの変更が行われた日ごとの変更件数を計数する。
図1中、グラフ110は、変更内容Xの変更が行われた日ごとの計数結果を時系列に示す時系列分布である。また、グラフ120は、変更内容Yの変更が行われた日ごとの計数結果を時系列に示す時系列分布である。なお、横軸は日付を表し、縦軸は変更件数を表している。
グラフ110によれば、例えば、変更件数が最多の日「7/8」の変更件数に比して、「7/8」以降の変更件数があまり減少しておらず、変更件数の収束傾向から、「7/10」以降も変更内容Xの変更を反映させるべき文書が相当数残っていると推測できる。この場合、通知対象決定装置100は、変更内容Xを通知対象に決定する。すなわち、変更内容Xは、変更が未反映の文書の所有者に通知して早急に反映させるべき変更内容であるから、通知対象に決定される。
グラフ120によれば、例えば、変更件数が最多の日「7/7」以降、変更件数が「0」に収束しており、「7/10」以降に変更内容Yの変更を反映させるべき文書はほとんどないと推測できる。この場合、通知対象決定装置100は、変更内容Yを通知対象に決定しない。すなわち、変更内容Yは、ほとんどの文書に変更が反映済であり、変更の通知を行う必要のない変更内容であるから、通知対象とならない。また、ある文書においてのみ有効な変更、いわゆるカスタマイズ的な変更も、同様に時系列分布から変更を反映させるべき文書はほとんどないと推測でき、通知対象とならない。
このように、本実施の形態にかかる通知対象決定装置100によれば、ある変更内容についての変更件数の収束傾向から、通知対象とする変更内容を決定することができる。具体的には、例えば、上述したように、変更内容の変更件数の収束傾向から、同一の変更内容を反映させるべき文書が相当数存在するか否かを擬似的に推測して、通知対象とする変更内容を決定することができる。
これにより、各文書の所有者に、反映させる必要性が高い変更内容のみを通知し、反映させる必要性が低い変更内容は通知しないようにできる。この結果、各文書の所有者には、反映させる必要性の低い変更内容は通知されず、該変更内容を文書に反映すべきかどうかを判断する必要がなくなり、各所有者の作業負担が軽減される。
(通知対象決定システム200のシステム構成)
次に、本実施の形態にかかる通知対象決定システムのシステム構成について説明する。
図2は、本実施の形態にかかる通知対象決定システムの一例を示すシステム構成図である。図2において、通知対象決定システム200は、通知対象決定装置100と、複数のクライアント端末201と、を含む構成である。通知対象決定システム200において、通知対象決定装置100とクライアント端末201は、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などのネットワーク210を介して通信可能に接続されている。
通知対象決定装置100は、文書部品DB(データベース)202と、文書変更履歴DB203と、作業別分布DB204と、時系列分布DB205と、収束度DB206と、を備える。また、通知対象決定装置100は、各クライアント端末201から受信した変更情報に基づいて、通知対象とする変更内容を決定する。なお、各DB202〜206についての詳細な説明は、図5〜図9を用いて後述する。
クライアント端末201は、変更対象となる文書を有し、文書を変更するコンピュータである。クライアント端末201は、例えば、パーソナル・コンピュータである。また、クライアント端末201は、ネットワーク210上を介して文書の変更情報を通知対象決定装置100に送信する。
なお、上述した説明では、通知対象決定装置100が文書部品DB202を備えることにしたが、クライアント端末201がアクセス可能な他のコンピュータが備えることにしてもよい。
(通知対象決定システム200の通知対象決定処理の一実施例)
次に、図3を用いて本実施の形態にかかる通知対象決定システム200の通知対象決定処理の一実施例について説明する。
図3は、通知対象決定システム200の通知対象決定処理の一実施例を示す説明図である。図3において、クライアント端末201は、各プロジェクトの管理者が使用するコンピュータである。クライアント端末201は、通知対象決定装置100が備える文書部品DB202にアクセス可能である。
ここで、文書部品DB202は、システムの運用管理にかかるシステム監視やバックアップなどの作業項目ごとに部品化された雛形文書(以下、「文書部品T」という)を格納している。また、文書部品Tには、各作業項目に対応する作業内容や作業手順が記載されている。
各プロジェクトの管理者は、クライアント端末201を使用して、運用文書Dを作成する。運用文書Dとは、例えば、プロジェクトごとに作成される運用設計書や運用手順書などの文書である。具体的には、例えば、各プロジェクトの管理者は、クライアント端末201を使用して、文書部品DB202から自プロジェクトの運用管理に必要となる文書部品Tを抽出して組み合わせることで、自プロジェクトの運用文書Dを作成する。
プロジェクトAの運用文書Dを例に挙げると、文書部品DB202から抽出された作業項目「システム起動」、「システム監視」、「バックアップ」、「リストア」に対応する文書部品Tを組み合わせて運用文書Dが作成されている(図3中(1)参照)。
ここで、各プロジェクトの管理者は、運用文書Dの作成後、自プロジェクトのソフトウェアやハードウェアの障害修正やバージョンアップに対応するために運用文書Dを変更する場合がある。プロジェクトAの運用文書Dを例に挙げると、作業項目「バックアップ」の作業内容のうち、ログの保存領域のアドレス「/var/log/syslog」が「/var/adm/message」に変更されている(図3中(2)参照)。
運用文書Dの変更が行われた場合、各プロジェクトの管理者は、クライアント端末201を使用して、通知対象決定装置100に運用文書Dの変更内容に関する変更情報を送信する。図3の例では、プロジェクトAの運用文書Dの変更内容に関する変更情報が通知対象決定装置100に送信されている(図3中(3)参照)。
通知対象決定装置100は、クライアント端末201から各プロジェクトの運用文書Dの変更内容に関する変更情報を受信する。また、通知対象決定装置100は、受信した運用文書Dの変更内容に関する変更情報に基づいて、図2に示した文書変更履歴DB203を作成する。
通知対象決定装置100は、作成した文書変更履歴DB203の記憶内容に基づいて、あるプロジェクトの運用文書Dの変更内容が複数のプロジェクトで反映されるべき変更内容であるか否かを判定し、通知対象とする変更内容を決定する。図3の例では、プロジェクトAの運用文書Dの作業項目「バックアップ」の文書部品Tに対して行われた変更内容が通知対象に決定されている(図3中(4)参照)。
通知対象決定装置100は、通知対象に決定された変更内容を各プロジェクトの管理者に通知する。図3の例では、作業項目「バックアップ」の文書部品Tに対して行われた変更内容が、プロジェクトBの管理者に通知されている(図3中(5)参照)。この結果、プロジェクトBの管理者は、通知された変更内容が自プロジェクトの運用文書Dに反映させるべき変更内容か判断して、反映させるべき場合は自プロジェクトの運用文書Dに反映する。
このように、通知対象決定装置100は、複数のプロジェクトで反映する必要性が高い変更内容のみを各プロジェクトに通知し、反映する必要性が低い変更内容は通知しないようにできる。このため、各プロジェクトの管理者に通知の必要性の低い変更内容は通知されないため、管理者は該変更内容を運用文書Dに反映すべきかどうかを判断する必要がなくなり、管理者の作業負担が軽減される。
(通知対象決定装置100のハードウェア構成)
次に、図4を用いて通知対象決定装置100のハードウェア構成について説明する。
図4は、通知対象決定装置100のハードウェア構成を示すブロック図である。図4において、通知対象決定装置100は、CPU(Central Processing Unit)401と、ROM(Read‐Only Memory)402と、RAM(Random Access Memory)403と、を備えている。また、通知対象決定装置100は、磁気ディスクドライブ404と、磁気ディスク405と、光ディスクドライブ406と、光ディスク407と、を備えている。さらに、通知対象決定装置100は、ディスプレイ408と、I/F(Interface)409と、キーボード410と、マウス411と、スキャナ412と、プリンタ413と、を備えている。また、各構成部はバス400によってそれぞれ接続されている。
ここで、CPU401は、通知対象決定装置100の全体の制御を司る。ROM402は、ブートプログラムなどのプログラムを記憶している。RAM403は、CPU401のワークエリアとして使用される。磁気ディスクドライブ404は、CPU401の制御にしたがって磁気ディスク405に対するデータのリード/ライトを制御する。磁気ディスク405は、磁気ディスクドライブ404の制御で書き込まれたデータを記憶する。
光ディスクドライブ406は、CPU401の制御にしたがって光ディスク407に対するデータのリード/ライトを制御する。光ディスク407は、光ディスクドライブ406の制御で書き込まれたデータを記憶したり、光ディスク407に記憶されたデータをコンピュータに読み取らせたりする。
ディスプレイ408は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ408は、例えば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
インターフェース(以下、「I/F」と略する。)409は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク414に接続され、このネットワーク414を介して他の装置に接続される。そして、I/F409は、ネットワーク414と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F409には、例えばモデムやLANアダプタなどを採用することができる。
キーボード410は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス411は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ412は、画像を光学的に読み取り、通知対象決定装置100内に画像データを取り込む。なお、スキャナ412は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ413は、画像データや文書データを印刷する。プリンタ413には、例えば、レーザプリンタやインクジェットプリンタを採用することができる。なお、図2に示したクライアント端末201についても同様のハードウェア構成により実現することができる。
(文書部品DB202の記憶内容)
次に、図5を用いて、図3に示した文書部品DB202の記憶内容について説明する。
図5は、文書部品DB202の記憶内容の一例を示す説明図である。図5において、文書部品DB202は、部品ID、対象作業項目、関連作業項目、作業周期および部品ファイル名のフィールドを有する。各フィールドに情報を設定することで、各文書部品Tの文書部品情報500−1〜500−4がレコードとして記憶されている。
ここで、部品IDは、文書部品Tを一意に識別する識別子である。対象作業項目は、文書部品Tの作業項目名である。関連作業項目は、対象作業項目の文書部品Tと作業内容が関連する文書部品Tの作業項目名である。作業周期は、対象作業項目の文書部品Tに示された作業内容の作業を行う周期である。部品ファイル名は、文書部品Tのファイル名である。文書部品DB202は、例えば、図4に示したRAM403、磁気ディスク405、光ディスク407などの記憶装置により実現される。
文書部品情報500−3によれば、部品ID「003」に対応する部品ファイル名「003.xml」の文書部品Tに記載されている作業内容を示す作業項目名「バックアップ」を特定することができる。また、「バックアップ」の作業を行う周期「2日」を特定することができる。さらに、「バックアップ」の作業内容と関連する作業内容を示す作業項目名「リストア」を特定することができる。
(文書変更履歴DB203の記憶内容)
次に、図6を用いて、図3に示した文書変更履歴DB203の記憶内容について説明する。
図6は、文書変更履歴DB203の記憶内容の一例を示す説明図である。図6において、文書変更履歴DB203は、プロジェクト、変更日、変更対象作業項目および変更内容のフィールドを有する。各フィールドに情報を設定することで、変更情報600−1〜600−6がレコードとして記憶されている。
ここで、プロジェクトは、運用文書Dに変更を行ったプロジェクトの名称である。変更日は、運用文書Dが変更された日付である。変更対象作業項目は、変更が行われた箇所を含む文書部品Tの作業項目名である。変更内容は、運用文書D中の変更された箇所の変更前後の内容である。文書変更履歴DB203は、例えば、図4に示したRAM403、磁気ディスク405、光ディスク407などの記憶装置により実現される。
例えば、変更情報600−1によれば、変更内容「挿入:「テープ挿入完了を確認する」」の変更が行われた変更日「7/6」、変更が行われた作業内容に対応する作業項目名「バックアップ」、変更を行ったプロジェクト名「A」を特定することができる。
(作業別分布DB204の記憶内容)
次に、図7を用いて、図3に示した作業別分布DB204の記憶内容について説明する。
図7は、作業別分布DB204の記憶内容の一例を示す説明図である。図7において、作業別分布DB204は、変更内容、変更対象作業項目および作業別変更件数のフィールドを有する。各フィールドに情報を設定することで、作業内容別の変更件数の作業別情報700−1〜700−5がレコードとして記憶されている。
ここで、変更内容は、運用文書D中の変更された箇所の変更前後の内容である。変更対象作業項目は、変更が行われた箇所を含む文書部品Tの作業項目名である。作業別変更件数は、文書変更履歴DB203から、変更内容ごとに、作業項目名ごとの変更件数を計数した値である。作業別分布DB204は、例えば、図4に示したRAM403、磁気ディスク405、光ディスク407などの記憶装置により実現される。
例えば、作業別情報700−1によれば、変更内容「置換:「/var/log/syslog」→「/var/adm/message」」の変更が、作業項目名「システム起動」の作業内容に対して行われた変更件数「0」を特定することができる。
(時系列分布DB205の記憶内容)
次に、図8を用いて、図3に示した時系列分布DB205の記憶内容について説明する。
図8は、時系列分布DB205の記憶内容の一例を示す説明図である。図8において、時系列分布DB205は、変更内容、変更日、日別変更件数および変更件数補正値のフィールドを有する。各フィールドに情報を設定することで、日ごとの変更件数の分布情報800−1〜800−5がレコードとして記憶されている。
ここで、変更内容は、運用文書D中の変更された箇所の変更前後の内容である。変更日は、文書が変更された日である。日別変更件数は、文書変更履歴DB203から、変更内容ごとに、変更日ごとの変更件数を計数した値である。変更件数補正値は、日別変更件数の補正に用いる値である。時系列分布DB205は、例えば、図4に示したRAM403、磁気ディスク405、光ディスク407などの記憶装置により実現される。
分布情報800−4によれば、変更内容「置換:「/var/log/syslog」→「/var/adm/message」」の変更が、変更日「7/9」において行われた変更件数「1」を特定することができる。また、変更件数を補正する場合に使用する変更件数補正値「9」を特定することができる。
(収束度DB206の記憶内容)
次に、図9を用いて、図3に示した収束度DB206の記憶内容について説明する。
図9は、収束度DB206の記憶内容の一例を示す説明図である。図9において、収束度DB206は、変更内容および収束度のフィールドを有する。各フィールドに情報を設定することで、各変更内容の収束度情報900−1〜900−3がレコードとして記憶されている。
ここで、変更内容は、運用文書D中の変更された箇所の変更前後の内容である。収束度は、各変更内容の変更件数が収束傾向にある度合である。収束度DB206は、例えば、図4に示したRAM403、磁気ディスク405、光ディスク407などの記憶装置により実現される。
収束度情報900−2によれば、変更内容「置換:「/var/log/syslog」→「/var/adm/message」」の変更件数の収束度「1.25」を特定することができる。
(通知対象決定装置100の機能的構成)
図10は、通知対象決定装置100の機能的構成を示す機能ブロック図である。図10に示すように、通知対象決定装置100は、取得部1001と、計数部1002と、算出部1003と、決定部1004と、出力部1005と、平均算出部1006と、項目別計数部1007と、補正部1008と、を含む構成である。
この制御部となる機能(取得部1001〜補正部1008)は、具体的には、例えば、図4に示したROM402、RAM403、磁気ディスク405、光ディスク407などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、または、I/F409により、その機能を実現する。また、各機能部(取得部1001〜補正部1008)の処理結果は、特に指定する場合を除いて、例えば、RAM403、磁気ディスク405、光ディスク407などの記憶装置に記憶される。
取得部1001は、変更対象となる複数の文書のいずれかの文書に対して変更が行われた時点を示す変更情報を取得する機能を有する。ここで、変更対象となる文書とは、例えば、各プロジェクトが使用する運用文書Dである(図1参照)。また、変更情報とは、文書に対して変更が行われた時点や変更内容を示す情報であり、例えば、図6に示した変更情報600−1〜600−6である。なお、変更が行われた時点として、例えば、変更が行われた年月日時分秒を示すことにしてもよい。
具体的には、例えば、取得部1001は、クライアント端末201(図2参照)からの受信により変更情報を取得することにしてもよく、また、ライブラリやデータベースからの抽出により変更情報を取得することにしてもよい。さらに、取得部1001は、図4に示したキーボード410やマウス411を用いたユーザの操作入力により、変更情報を取得することにしてもよい。取得された変更情報は、例えば、図6に示した文書変更履歴DB203に記憶される。
計数部1002は、取得部1001によって取得された所定の変更内容の変更が行われた時点ごとの変更情報に基づいて、所定期間を区切って分割された期間ごとに、期間内に所定の変更内容の変更が行われた変更件数を計数する機能を有する。所定の変更内容とは、例えば、文書変更履歴DB203に保持された変更内容であって、通知の要否を判定する対象として選択された変更内容である。
ここで、所定期間は、任意に設定可能であり、例えば、通知対象決定装置100が通知要否の判定を行う日(以下、「判定日」という)の所定日数前の日から、判定日までの期間である。所定期間を区切って分割された期間とは、例えば、所定期間内の各日である。変更件数とは、例えば、日ごとに計数した変更件数である。
具体的には、例えば、計数部1002は、文書変更履歴DB203の中から、所定期間内に変更日が含まれる、所定の変更内容の変更情報を抽出する。そして、計数部1002は、抽出した変更情報の変更日を参照して、所定期間内の日ごとの変更件数を計数する。計数された計数結果は、例えば、図8に示した時系列分布DB205に記憶される。
算出部1003は、計数部1002によって計数された期間ごとの変更件数に基づいて、所定の変更内容の変更が行われた変更件数の収束度合を示す指標値を算出する機能を有する。ここで、指標値とは、例えば、上述した各変更内容の変更件数が収束傾向にある度合を示す収束度である。
例えば、算出部1003は、複数の期間のうち変更件数が最大となる第1の期間の変更件数と、複数の期間の第1の期間以降の期間のうち変更件数が最大となる第2の期間の変更件数とに基づいて、収束度を算出することにしてもよい。ここで、第2の期間とは、第1の期間の始期以降であればよく、第1の期間と第2の期間に重複期間があってもよい。
具体的には、例えば、算出部1003は、変更件数が最大となる変更日(以下、「最多変更日」という)の変更件数が、最多変更日の翌日以降の変更日のうち変更件数が最大となる変更日(以下、「次点変更日」という)の変更件数に占める割合を収束度として算出する。
また、算出部1003は、第1の期間の変更件数と、平均算出部1006によって算出された変更件数の平均値とに基づいて、収束度を算出することにしてもよい。具体的には、例えば、算出部1003は、最多変更日の変更件数が、後述する平均算出部1006によって算出された変更件数の平均値に占める割合を収束度として算出する。
また、算出部1003は、第1の期間の変更件数と、第1の期間以降の期間のうち補正部1008によって補正された補正後の変更件数が最大となる第2の期間の変更件数とに基づいて、収束度を算出することにしてもよい。具体的には、例えば、算出部1003は、最多変更日の変更件数が、最多変更日の翌日以降の変更日のうち後述する補正部1008によって補正された補正後の変更件数が最大となる変更日の変更件数に占める割合を収束度として算出する。
これにより、算出部1003は、変更件数が収束傾向にあるか否かを示す収束度を算出することができる。なお、上述した説明では、算出部1003は、最多変更日の変更件数が、次点変更日の変更件数に占める割合を収束度として算出したが、これに限らない。例えば、算出部1003は、収束度として、次点変更日の変更件数が、最多変更日の変更件数に占める割合を算出してもよい。
決定部1004は、算出部1003によって算出された収束度合を示す指標値が、予め定められた閾値を超える場合に、変更件数が収束していないと判断して、所定の変更内容を通知対象に決定する機能を有する。ここで、上記閾値は、例えば、予め設定されて、ROM402、RAM403、磁気ディスク405、光ディスク407などの記憶装置に記憶されている。
具体的には、決定部1004は、算出部1003によって算出された収束度が閾値α以上であるか否かを判定し、閾値α以上である場合には、変更件数が収束していないと判断して、所定の変更内容を通知対象に決定する。これにより、決定部1004は、通知要否の判定対象として選択した所定の変更内容が、他プロジェクトに通知を要する変更内容であるか否かを判定し、通知を要する場合には、所定の変更内容を通知対象に決定できる。
なお、算出部1003が収束度として次点変更日の変更件数が最多変更日の変更件数に占める割合を算出する場合、決定部1004が、収束度が閾値α以下である場合に、変更件数が収束していないと判断して、所定の変更内容を通知対象に決定することになる。また、決定部1004は、収束度が所定の範囲の値である場合に、変更件数が収束していないと判断して、所定の変更内容を通知対象に決定してもよい。
出力部1005は、決定部1004によって決定された決定結果を出力する機能を有する。ここで、決定結果とは、通知対象に決定された変更内容である。具体的には、例えば、出力部1005は、決定部1004によって通知対象に決定された変更内容を、図4に示した、ディスプレイ408または、プリンタ413に出力する。また、出力部1005は、図4に示したI/F409を介して各クライアント端末201に通知対象に決定された変更内容を送信してもよい。これにより、出力部1005は、通知対象に決定された変更内容のみを通知することができる。
また、出力部1005は、決定部1004によって通知対象に決定された変更内容と、該変更内容の変更が行われた作業項目を示す項目情報とを出力する機能を有する。ここで、該変更内容の変更が行われた作業項目を示す項目情報とは、変更が行われた箇所を含む文書部品Tの作業項目名である。これにより、出力部1005は、通知対象に決定された変更内容と、該変更内容の変更が行われた作業項目と、を出力することができる。
また、出力部1005は、通知対象に決定された変更内容の変更が行われた作業項目に関連する他の作業項目を示す項目情報を出力する機能を有する。ここで、関連する他の作業項目を示す項目情報とは、上述した関連作業項目名である。これにより、出力部1005は、通知対象に決定された変更内容と、該変更内容の変更が行われた作業項目と、該作業項目の関連項目と、を出力することができる。
平均算出部1006は、複数の期間のうち第1の期間以降の期間の変更件数の平均値を算出する機能を有する。具体的には、例えば、平均算出部1006は、最多変更日以降の各変更日の変更件数の平均値を算出する。
また、平均算出部1006は、複数の期間のうち第1の期間以降の期間の補正部1008によって補正された補正後の変更件数の平均値を算出することにしてもよい。具体的には、例えば、平均算出部1006は、最多変更日以降の各変更日における補正部1008によって補正された補正後の変更件数の平均値を算出する。これにより、平均算出部1006は、最多変更日の翌日以降の各変更日の変更件数の平均値を算出することができる。
項目別計数部1007は、所定の変更内容の変更が行われた時点ごとの変更情報に基づいて、作業項目ごとに、所定の変更内容の変更が行われた変更件数を計数する機能を有する。具体的には、例えば、項目別計数部1007は、文書変更履歴DB203から所定の変更内容を含むレコードをすべて抽出し、抽出したレコードに基づいて、作業項目名ごとに変更件数を計数する。これにより、項目別計数部1007は、作業項目ごとの変更件数を計数することができる。
補正部1008は、項目別計数部1007によって計数された作業項目ごとの変更件数のうち、互いに関連する第1および第2の作業項目の変更件数に基づいて、第1の期間以降の期間の変更件数を補正する機能を有する。互いに関連する第1および第2の作業項目とは、例えば、上述した「バックアップ」と「リストア」である。
具体的には、例えば、補正部1008は、文書部品DB202から各作業項目に関連する関連作業項目を取得する。そして、補正部1008は、項目別計数部1007によって計数された各作業項目の変更件数が関連作業項目の変更件数より少ない場合、最多変更日の翌日以降の変更日の変更件数を補正する。例えば、補正部1008は、文書部品DB202から関連作業項目の作業周期を取得し、最多変更日の作業周期後の変更日の変更件数を補正する。
補正部1008は、第1の作業項目の変更件数と第2の作業項目の変更件数との差分を表す変更件数を、第1の期間以降の期間の変更件数に加算することにより、第1の期間以降の期間の変更件数を補正することにしてもよい。具体的には、例えば、補正部1008は、作業項目の変更件数と関連作業項目の変更件数との差分を、最多変更日の作業周期後の変更日の変更件数に加算する。これにより、補正部1008は、各プロジェクトの管理者の変更漏れと推測される変更の変更件数を加算することができる。
なお、決定部1004は、最多変更日の変更件数が次点変更日の変更件数に占める割合が閾値α1以下、かつ、最多変更日の変更件数が変更件数の平均値に占める割合が閾値α2以下である場合に、変更件数が収束していないと判断することにしてもよい。そして、決定部1004は、所定の変更内容を通知対象に決定することにしてもよい。
(運用文書Dの変更内容の通知要否の判定の具体例)
次に、図11〜図19を用いて、運用文書Dの変更内容の通知要否の判定の具体例について説明する。
まず、図11を用いて、通知対象決定装置100による所定期間における変更件数の収束度を算出するために使用する作業別分布DB204と時系列分布DB205の作成について説明する。
図11は、通知対象決定装置100による時系列分布DB205および作業別分布DB204の作成の具体例を示す説明図である。図11に示すように、通知対象決定装置100は、各クライアント端末201から変更情報を受信し、文書変更履歴DB203を作成している。
ここで、通知対象決定装置100は、所定期間における変更件数の収束度を算出するために、作業別分布DB204と時系列分布DB205とを作成する。ここでは、通知対象決定装置100は、日ごとの変更件数を計数し、変更件数の収束傾向に基づいて、通知要否を判定する。
具体的には、通知対象決定装置100は、文書変更履歴DB203から、変更内容ごとに、各変更日における変更件数を計数する。これにより、通知対象決定装置100は、時系列分布DB205を作成する。また、通知対象決定装置100は、変更内容ごとに、変更対象となった作業項目ごとの変更件数を計数する。これにより、通知対象決定装置100は、作業別分布DB204を作成する。
次に、図12および図13を用いて、時系列分布DB205の変更件数の補正について説明する。
図12は、通知対象決定装置100による時系列分布DB205の変更件数の補正の内容を示す説明図である。図12の(A)に示すように、通知対象決定装置100は、時系列分布DB205から、変更件数の収束度を算出する。収束度とは、変更件数が収束傾向にある度合を示す評価値であり、該変更内容が複数のプロジェクトに反映されるべき変更内容であるかを判定するための値である。
具体的には、例えば、通知対象決定装置100は、所定期間内で最も変更件数が多い変更日(最多変更日)の変更件数が、最多変更日以降の変更日のうち最も変更件数の多い変更日(次点変更日)の変更件数に占める割合を、収束度として算出する。
ただし、通知対象決定装置100は、最多変更日の変更件数に下限の閾値βを設け、最多変更日の変更件数が閾値β以下の場合、収束度を算出せずに通知不要と判定するようにしてもよい。これにより、あるプロジェクトにおいてのみ有効な変更、いわゆるプロジェクトのシステムに対応するためのカスタマイズ的な変更が行われた場合に、他のプロジェクトに変更を通知してしまうことを防止することができる。
また、図12の(B)および(C)に示すように、作業別分布DB204を参照して、時系列分布DB205の変更件数を修正するようにしてもよい。例えば、図12の(B)のように、作業内容に関連性のある作業項目である「バックアップ」および「リストア」の変更件数に差がある場合、変更件数の少ない作業項目の件数を変更件数の多い作業項目と同じ変更件数に補正する。
これにより、本来行われると推測される作業項目の変更件数を補正して、各クライアント端末201の管理者による変更漏れに対応することができる。この際、時系列分布DB205では、図12の(C)に示すように、最多変更日の作業周期後の変更日の変更件数を補正する。これにより、少なくとも作業周期内に変更されるべきであった変更を計数することができる。
ここで、変更件数の補正について、文書変更履歴DB203内の変更内容「置換:「/var/log/syslog」→「/var/adm/message」」を例に挙げて具体的に説明を行う。
図13は、通知対象決定装置100による時系列分布DB205変更件数の補正の具体例を示す説明図である。ここで、図13に示すように、通知対象決定装置100は、文書部品DB202から作業項目と関連作業項目を検索する。ここで、作業別分布DB204のうち、作業項目「バックアップ」および関連作業項目「リストア」の変更件数は、それぞれ「10」と「2」であり変更件数に「8」の差分がある。
この場合、通知対象決定装置100は、変更件数の少ない「リストア」の変更件数「2」を「バックアップ」の変更件数「10」と同じ値まで補正する。この際、時系列分布DB205において、最多変更日「7/7」から「リストア」の作業周期「2日」後の変更日「7/9」の変更件数に補正を反映する。すなわち、変更日「7/9」の変更件数「1」に差分値「8」を加算して変更件数補正値「9」に補正する。
そして、通知対象決定装置100は、補正後の時系列分布DB205を用いて、最多変更日の変更件数と、次点変更日の変更件数と、から収束度を算出する。また、後述の図14に示すように、通知対象決定装置100が、時系列データの平滑化のために、移動平均を用いて収束度を算出するようにしてもよい。
図14は、通知対象決定装置100による平滑化された時系列分布DB205を用いた収束度の算出の具体例を示す説明図である。図14に示すように、各変更日の変更件数にその翌日の変更件数を加算した値を各変更日の変更件数合計値として算出して、変更件数合計値を用いて収束度を算出する。すなわち、各変更日の翌日の変更件数を用いて移動平均を算出し、時系列データを平滑化している。
まず、文書変更履歴DB203内の変更内容「置換:「/var/log/syslog」→「/var/adm/message」」を例に挙げる。通知対象決定装置100は、補正前の変更件数合計値が最多となる変更日「7/7」の変更件数合計値「15」が、「7/7」以降の変更日であって補正後の変更件数が最多となる変更日「7/8」の変更件数「12」に占める割合を、収束度として算出する。すなわち、収束度は「1.25」となる。
次に、文書変更履歴DB203内の変更内容「置換:「IPアドレスX.X.X.X」→「IPアドレスY.Y.Y.Y」」を例に挙げる。通知対象決定装置100は、変更件数合計値が最多となる変更日「7/6」の変更件数合計値「10」が、「7/6」以降の変更日であって補正後の変更件数が最多となる変更日「7/7」の変更件数「3」に占める割合を、収束度として算出する。すなわち、収束度は「3.33」となる。
また、文書変更履歴DB203内の変更内容「挿入:「テープ挿入完了を確認する」」を例に挙げる。通知対象決定装置100は、変更件数合計値が最多となる変更日「7/7」の変更件数合計値「20」が、「7/7」以降の変更日であって補正後の変更件数が最多となる変更日「7/8」の変更件数「19」に占める割合を、収束度として算出する。すなわち、収束度は「1.05」となる。また、後述の図15および図16に示すように、変更件数の平均値を用いて収束度を算出するようにしてもよい。
図15は、通知対象決定装置100による変更件数の平均値を用いた収束度の算出の内容を示す説明図である。図15に示すように、通知対象決定装置100は、収束度の算出には、所定期間内で最も変更件数が多い変更日(最多変更日)の変更件数が、該変更日以降の各変更日の変更件数の平均件数に占める割合を、収束度として算出してもよい。
このように広い期間における変更件数の平均値に基づいて収束度を算出することにより、変更件数の偶発的な減少に左右されず、所定期間全体の変更件数の収束傾向を示す収束度を算出することができる。
図16は、通知対象決定装置100による変更件数の平均値を用いた収束度の算出の具体例を示す説明図である。図16を用いて、具体的に説明する。まず、文書変更履歴DB203内の変更内容「置換:「/var/log/syslog」→「/var/adm/message」」を例に挙げる。通知対象決定装置100は、補正前の変更件数が最多となる変更日「7/7」の変更件数「12」が、「7/7」以降の各変更日の平均件数「6」に占める割合を、収束度として算出する。すなわち、収束度は「2」となる。
次に、文書変更履歴DB203内の変更内容「置換:「IPアドレスX.X.X.X」→「IPアドレスY.Y.Y.Y」」を例に挙げる。通知対象決定装置100は、変更件数が最多となる変更日「7/6」の変更件数「8」が、「7/6」以降の各変更日の平均件数「1.67」に占める割合を、収束度として算出する。すなわち、収束度は「6」となる。
また、文書変更履歴DB203内の変更内容「挿入:「テープ挿入完了を確認する」」を例に挙げる。通知対象決定装置100は、変更件数が最多となる変更日「7/8」の変更件数「11」が、「7/8」以降の各変更日の平均件数「8」に占める割合を、収束度として算出する。すなわち、収束度は「1.38」となる。
ここで、最多変更日を用いて収束度を算出するのではなく、変更件数が閾値β以上の変更日から任意の変更日を選択して選択した変更日の変更件数を用いて収束度を算出することとしてもよい。また、複数の変更日の組み合わせから、複数の収束度を算出し、算出した複数の収束度の平均値を所定期間の収束度として採用してもよい。そして、後述の図17に示すように、通知対象決定装置100は、算出した収束度を用いて、各変更内容が各プロジェクトに通知を要する変更内容であるか否かを判定する。
図17は、通知対象決定装置100による変更内容の通知要否の判定の内容を示す説明図である。図17に示すように、収束度が低い変更内容は、今後もまだ同一内容の変更を行うプロジェクトが残っている可能性があると推定されるため、通知を要すると判定できる。一方で、収束度が高い変更内容は、すでに、ほぼすべてのプロジェクトにおいて、同一内容の変更が行われていると考えられるため、通知は不要と判定できる。具体的には、後述の図18に示すように、収束度DBの収束度を参照して、閾値α以上の収束度の変更内容を通知対象に決定する。
図18は、通知対象決定装置100による変更内容の通知要否判定の内容を示す説明図である。ここでは、閾値αを「2」としたため、変更内容「置換:「/var/log/syslog」→「/var/adm/message」」および、変更内容「挿入:「テープ挿入完了を確認する」」が通知対象に決定される。次に、図19を用いて、変更通知の具体例について説明する。
図19は、運用文書Dの変更内容の通知要否の判定の具体例を示す説明図である。ここで、通知対象決定装置100は、通知対象に決定された変更内容を通知する。通知対象決定装置100は、例えば、通知対象に決定された変更内容「置換:「/var/log/syslog」→「/var/adm/message」」および、変更内容「挿入:「テープ挿入完了を確認する」を通知する。
また、通知対象決定装置100は、文書変更履歴DB203を参照して、各変更内容の変更対象となった作業項目を合わせて通知することとしてもよい。この場合、例えば、変更内容「置換:「/var/log/syslog」→「/var/adm/message」」に関しては、作業項目「システム監視」、「バックアップ」、「リストア」が併せて通知される。また、変更内容「挿入:「テープ挿入完了を確認する」に関しては、作業項目「バックアップ」、「リストア」が併せて通知される。
この変更内容の通知は、電子メールを用いて各クライアント端末201の管理者に個別に通知することとしてもよいし、ネットワーク上の共用掲示板に記載することとしてもよい。また、通知対象決定装置100は、文書変更履歴DB203を参照して、該変更内容の変更を行っていないクライアント端末201のみに変更内容を通知してもよい。さらに、通知対象決定装置100は、通知対象決定装置100のユーザに変更内容の通知を行い、ユーザが文書部品DB202の文書部品Tそのものを変更するようにしてもよい。
このように、通知対象決定装置100は、変更内容ごとの変更件数の収束度に基づいて、変更を未反映のプロジェクトが同一内容の変更を行う可能性があるかを推測して、変更内容の通知要否を判定する。これにより、複数のプロジェクトに反映されるべき変更内容のみを各クライアント端末201に通知することができ、各クライアント端末201の管理者の作業負担を削減できる。
ここでは、通知対象決定装置100は、変更件数を用いて収束度を算出したが、所定期間内に行われた変更ごとの時間間隔を用いて収束度を算出することにしてもよい。例えば、通知対象決定装置100は、所定期間内に行われた変更の時間間隔が最長の時間間隔が、該最長の時間間隔以降の変更ごとの時間間隔のうち最長の時間間隔に占める割合を、収束度として算出してもよい。
(通知対象決定装置100による文書変更履歴DB203の作成処理)
次に、図20に示した通知対象決定装置100による文書変更履歴DB203の作成処理について説明する。
図20は、通知対象決定装置100による文書変更履歴DB203の作成処理の詳細を示すフローチャートである。図20に示すように、まず、CPU401は、各クライアント端末201から変更が行われた文書データを受信したか否かを判断する(ステップS2001)。
ここで、CPU401は、文書データを受信するのを待って(ステップS2001:No)、文書データを受信した場合(ステップS2001:Yes)、受信した文書データのうちの未選択の作業項目を選択する(ステップS2002)。そして、CPU401は、選択した作業項目の文書部品Tに記載されている作業内容と、文書部品DB202に記憶されている同一の作業項目の文書部品Tに記載されている作業内容と、を比較する(ステップS2003)。
ここで、CPU401は、比較結果から、受信した文書データに変更箇所があるか否か判定する(ステップS2004)。変更箇所がない場合(ステップS2004:No)、ステップS2002に戻る。
一方、変更箇所がある場合(ステップS2004:Yes)、CPU401は、比較結果から変更内容を検出する(ステップS2005)。また、CPU401は、受信した文書データのタイムスタンプから変更日を検出する(ステップS2006)。
そして、CPU401は、受信した文書データを送信したプロジェクト名、変更日、変更された作業項目、変更内容を文書変更履歴DB203にレコードとして格納する(ステップS2007)。
次に、CPU401は、受信した文書データ内の全対象作業項目が選択されたか否か判定する(ステップS2008)。選択されていない場合(ステップS2008:No)、ステップS2002に戻る。一方、選択されている場合(ステップS2008:Yes)、CPU401は、文書変更履歴DB203の作成処理を終了する。これにより、受信した文書データから変更情報を抽出して、文書変更履歴DB203を作成することができる。
(作業別分布DB204および時系列分布DB205の作成処理)
次に、図21を用いて通知対象決定装置100による作業別分布DB204および時系列分布DB205の作成処理について説明する。
図21は、通知対象決定装置100による作業別分布DB204および時系列分布DB205の作成処理の詳細を示すフローチャートである。図21に示すように、まず、CPU401は、所定期間内の変更情報を文書変更履歴DB203から取得する(ステップS2101)。
次に、CPU401は、取得した変更情報に含まれる変更内容の種類を取得する(ステップS2102)。そして、CPU401は、取得した変更内容の種類から未選択の変更内容を1つ選択する(ステップS2103)。
ここで、CPU401は、選択した変更内容を含む変更情報を抽出する(ステップS2104)。そして、CPU401は、抽出した変更情報から、作業項目ごとに変更件数を計数し(ステップS2105)、計数した変更件数から作業別分布DB204を作成する(ステップS2106)。
また、CPU401は、抽出した変更情報から、変更日ごとに変更件数を計数し(ステップS2107)、計数した変更件数から時系列分布DB205を作成する(ステップS2108)。
次に、CPU401は、全変更内容の種類が選択されたか否か判定する(ステップS2109)。選択されていない場合(ステップS2109:No)、ステップS2103に戻る。一方、選択されている場合(ステップS2109:Yes)、CPU401は、作業別分布DB204および時系列分布DB205の作成処理を終了する。
(通知対象決定装置100による平滑化された時系列分布DB205を用いた収束度算出処理)
次に、図22および図23を用いて通知対象決定装置100による変更件数の収束度算出処理について説明する。ここでは、各変更日を集計開始日として、所定日数分の変更件数の合計値を用いて収束度を算出する例を挙げる。
図22および図23は、通知対象決定装置100による平滑化された時系列分布DB205を用いた収束度算出処理の詳細を示すフローチャートである。図22に示すように、まず、CPU401は、時系列分布DB205に含まれる変更内容の種類を取得する(ステップS2201)。
次に、CPU401は、取得した変更内容の種類から未選択の変更内容を1つ選択する(ステップS2202)。そして、CPU401は、時系列分布DB205から、選択した変更内容を含むレコードを取得する(ステップS2203)。
ここで、CPU401は、取得したレコードに基づいて、所定期間内の最初の変更日を集計開始日として変更件数合計値を集計する(ステップS2204)。ここで、変更件数合計値は、集計開始日となった変更日とその翌日以降の集計日数分の変更件数との和として集計される。すなわち、変更件数合計値は、変更日ごとに移動平均をとった値である。
次に、CPU401は、変更件数合計値の集計開始日(変更日)を1日ずつずらしながら集計日数分の変更件数合計値を集計する(ステップS2205)。そして、CPU401は、所定期間内の全集計開始日の変更件数合計値を集計したか否か判定する(ステップS2206)。
全集計開始日の変更件数合計値を集計していない場合(ステップS2206:No)、ステップS2205に戻る。一方、全集計開始日の変更件数合計値を集計した場合(ステップS2206:Yes)、CPU401は、変更件数合計値が最大となる集計開始日および該集計開始日における変更件数合計値を記憶装置に保持する(ステップS2207)。そして、CPU401は、図23のステップS2301に進む。
図23において、CPU401は、記憶装置に保持した変更件数合計値が閾値βより大きいか否か判定する(ステップS2301)。ここで、閾値βは、例えば、変更件数合計値の最小値と、変更件数収束度評価部で影響度の大小を判定するための変更件数収束度規定値の積によって求められる。
ここで、閾値β以下の場合(ステップS2301:No)、CPU401は、収束度を「0」に設定し(ステップS2302)、ステップS2310に進む。一方、閾値βより大きい場合(ステップS2301:Yes)、CPU401は、後述する変更件数補正処理を行う(ステップS2303)。
次に、CPU401は、変更件数合計値が最大となる集計開始日の翌日以降において、集計開始日を1日ずつずらしながら集計日数分の集計件数合計値を算出する(ステップS2304)。そして、CPU401は、変更件数合計値が最大となる集計開始日の翌日以降における全集計開始日の変更件数合計値を算出したか否か判定する(ステップS2305)。
全集計開始日の変更件数合計値を算出していない場合(ステップS2305:No)、ステップS2304に戻る。一方、全集計開始日の変更件数合計値を算出した場合(ステップS2305:Yes)、CPU401は、算出した全集計開始日の変更件数合計値のうち、変更件数合計値が最大となる集計開始日および該集計開始日における変更件数合計値を記憶装置に保持する(ステップS2306)。
次に、CPU401は、記憶装置に保持した変更件数合計値が0より大きいか判定する(ステップS2307)。0より大きい場合(ステップS2307:Yes)、CPU401は、収束度を算出して(ステップS2308)、ステップS2310に進む。ここで、収束度は、変更件数合計値が最大となる集計開始日の翌日以降における最大の変更件数合計値に対する変更件数合計値が最大となる集計開始日の変更件数合計値の割合であるとする。
一方、0である場合(ステップS2307:No)、CPU401は、収束度を「最大」に設定して(ステップS2309)、ステップS2310に進む。収束度の「最大」とは、ステップS2308における0の除算を回避するために便宜的に設けた値であり、閾値α以上の値であればよい。
そして、CPU401は、選択した変更内容と算出した収束度とをレコードとして収束度DB206に格納して(ステップS2310)、全変更内容が選択されたか否かを判定する(ステップS2311)。選択されていない場合(ステップS2311:No)、ステップS2202に戻る。一方、選択されている場合(ステップS2311:Yes)、変更件数の収束度算出処理を終了する。
(通知対象決定装置100による変更件数の平均値を用いた収束度算出処理)
次に、図24に示した通知対象決定装置100による変更件数の収束度算出処理について説明する。ここでは、変更件数の平均値を用いて収束度を算出する例を挙げる。
図24は、通知対象決定装置100による変更件数の平均値を用いた収束度算出処理の詳細を示すフローチャートである。図24に示すように、まず、CPU401は、時系列分布DB205に含まれる変更内容の種類を取得する(ステップS2401)。
次に、CPU401は、取得した変更内容の種類から未選択の変更内容を1つ選択する(ステップS2402)。そして、CPU401は、時系列分布DB205から、選択した変更内容を含むレコードを取得する(ステップS2403)。
ここで、CPU401は、取得したレコードに基づいて、変更件数が最大となる変更日および該変更日における変更件数を記憶装置に保持する(ステップS2404)。そして、CPU401は、記憶装置に保持した変更件数が閾値βより大きいか否か判定する(ステップS2405)。
ここで、閾値β以下の場合(ステップS2405:No)、CPU401は、収束度を「0」に設定し(ステップS2406)、ステップS2313に進む。一方、閾値βより大きい場合(ステップS2405:Yes)、CPU401は、最多変更日が、判定日と同日か否かを判定する(ステップS2407)。ここで、判定日とは、所定期間の末日である。
ここで、同日の場合(ステップS2407:Yes)、CPU401は、収束度を「最大」に設定し(ステップS2408)、ステップS2413に進む。収束度の「最大」とは、ステップS2410において使用する最多変更日の翌日以降の変更日の変更件数のデータが存在しないため便宜的に設けた値であり、閾値α以上の値であればよい。
一方、同日ではない場合(ステップS2407:No)、CPU401は、後述する変更件数補正処理を行う(ステップS2409)。そして、CPU401は、最多変更日の翌日以降の変更日の変更件数の平均件数を算出する(ステップS2410)。次に、CPU401は、算出した平均件数が0より大きいか否かを判定する(ステップS2411)。
ここで、0である場合(ステップS2411:No)、CPU401は、収束度を「最大」として(ステップS2408)、ステップS2413に進む。収束度の「最大」とは、ステップS2412における0の除算を回避するために便宜的に設けた値であり、閾値α以上の値であればよい。
一方、0より大きい場合(ステップS2411:Yes)、CPU401は、平均件数に対する最多変更件数の割合を収束度として算出する(ステップS2412)。
そして、CPU401は、選択した変更内容と算出した収束度とをレコードとして収束度DB206に格納して(ステップS2413)、全変更内容が選択されたか否かを判定する(ステップS2414)。選択されていない場合(ステップS2414:No)、ステップS2402に戻る。一方、選択されている場合(ステップS2414:Yes)、変更件数の収束度算出処理を終了する。
(通知対象決定装置100による変更件数の補正処理)
次に、図25および図26に示した通知対象決定装置100による変更件数の補正処理について説明する。
図25および図26は、通知対象決定装置100による変更件数の補正処理の詳細を示すフローチャートである。図25に示すように、まず、CPU401は、作業別分布DB204に含まれる変更内容の種類を取得する(ステップS2501)。
次に、CPU401は、取得した変更内容の種類から未選択の変更内容を1つ選択する(ステップS2502)。そして、CPU401は、作業別分布DB204から、選択した変更内容を含むすべてのレコードを取得する(ステップS2503)。
次に、CPU401は、取得したレコードの中から未選択の作業項目を1つ選択する(ステップS2504)。そして、CPU401は、選択した作業項目の関連作業項目を文書部品DB202から検索する(ステップS2505)。そして、図26のステップS2601に進む。
図26において、CPU401は、選択した作業項目の関連作業が存在するか否か判定する(ステップS2601)。関連作業が存在しない場合(ステップS2601:No)、ステップS2609に進む。
一方、関連作業が存在する場合(ステップS2601:Yes)、CPU401は、選択した作業項目の作業別変更件数と関連作業の作業別変更件数とを取得する(ステップS2602)。
次に、CPU401は、選択した作業項目の作業別変更件数と関連作業の作業別変更件数との差が閾値γより大きいか否か判定する(ステップS2603)。ここで、閾値γ以下の場合(ステップS2603:No)、ステップS2609に進む。
一方、閾値γより大きい場合(ステップS2603:Yes)、CPU401は、選択した作業項目の作業別変更件数と関連作業の作業別変更件数とのうち、変更件数の少ない方の作業周期を文書部品DB202から取得する(ステップS2604)。
次に、CPU401は、選択した変更内容を含むすべてのレコードを時系列分布DB205から取得する(ステップS2605)。そして、CPU401は、取得したレコードから、変更件数が最大となる変更日(最多変更日)を取得する(ステップS2606)。
次に、CPU401は、取得した最多変更日に作業周期日数を加算した日付(以下、「補正対象日」という)が判定日より前か否か判定する(ステップS2607)。判定日より前ではない場合(ステップS2607:No)、ステップS2609に進む。
一方、判定日より前である場合(ステップS2607:Yes)、CPU401は、時系列分布DB205の補正対象日の変更件数に、選択した作業項目の作業別変更件数と関連作業の作業別変更件数との差分値を加算する(ステップS2608)。
そして、CPU401は、全作業項目が選択されたか否かを判定する(ステップS2609)。選択されていない場合(ステップS2609:No)、ステップS2504に戻る。
一方、選択されている場合(ステップS2609:Yes)、CPU401は、全変更内容が選択されたか否かを判定する(ステップS2610)。選択されていない場合(ステップS2610:No)、ステップS2502に戻る。一方、選択されている場合(ステップS2610:Yes)、変更件数の補正処理を終了する。
(通知対象決定装置100による変更内容の通知要否判定処理)
次に、図27に示した通知対象決定装置100による変更内容の通知要否判定処理について説明する。
図27は、通知対象決定装置100による変更内容の通知要否判定処理の詳細を示すフローチャートである。図27に示すように、まず、CPU401は、収束度DB206に含まれる変更内容の種類を取得する(ステップS2701)。
次に、CPU401は、取得した変更内容の種類から未選択の変更内容を1つ選択する(ステップS2702)。そして、CPU401は、収束度DB206から、選択した変更内容の収束度を取得する(ステップS2703)。
次に、CPU401は、取得した収束度が「最大」であるか否か判定する(ステップS2704)。ここで、「最大」でない場合(ステップS2704:No)、CPU401は、取得した収束度が閾値α以上であるか否か判定する(ステップS2705)。ここで、閾値αより小さい場合(ステップS2705:No)、CPU401は、選択した変更内容は複数のプロジェクトに関連する変更内容であると判定して(ステップS2706)、ステップS2708に進む。
一方、「最大」である場合(ステップS2704:Yes)、または、閾値α以上である場合(ステップS2705:Yes)、CPU401は、選択した変更内容は他のプロジェクトとは関連しない変更内容であると判定して(ステップS2707)、ステップS2708に進む。
そして、CPU401は、全変更内容が選択されたか否かを判定する(ステップS2708)。選択されていない場合(ステップS2708:No)、ステップS2702に戻る。一方、選択されている場合(ステップS2708:Yes)、変更件数の収束度算出処理を終了する。
(通知対象決定装置100による変更内容の通知処理)
次に、図28に示した通知対象決定装置100による変更内容の通知処理について説明する。
図28は、通知対象決定装置100による変更内容の通知処理の詳細を示すフローチャートである。図28に示すように、まず、CPU401は、複数のプロジェクトに関連すると判定された変更内容が存在するか判定する(ステップS2801)。ここで、該変更内容が存在しない場合(ステップS2801:No)、変更内容の通知処理を終了する。
一方、該変更内容が存在する場合(ステップS2801:Yes)、CPU401は、複数のプロジェクトに関連すると判定された変更内容の種類から、未選択の変更内容を1つ選択する(ステップS2802)。そして、CPU401は、文書変更履歴DB203から、選択した変更内容を含む変更情報をすべて取得し、取得した変更情報に含まれる作業項目を抽出する(ステップS2803)。
さらに、CPU401は、抽出した各作業項目の関連作業項目を、文書部品DB202から抽出する(ステップS2804)。そして、CPU401は、選択した変更内容と、抽出した作業項目と、抽出した関連作業項目と、を含む変更通知文を作成し、各クライアント端末201に通知する(ステップS2805)。
そして、CPU401は、複数のプロジェクトに関連すると判定された変更内容のすべてが選択されたか否かを判定する(ステップS2806)。選択されていない場合(ステップS2806:No)、ステップS2802に戻る。一方、選択されている場合(ステップS2806:Yes)、変更内容の通知処理を終了する。
このように、上述した実施の形態にかかる通知対象決定装置100は、変更内容ごとの変更件数の収束度に基づいて、同一内容の変更を反映させるプロジェクトが相当数残っているかを推測して、変更内容の通知要否を判定する。そのため、通知対象決定装置100は、反映させる必要性の高い変更内容のみをクライアント端末201の管理者に通知することができ、クライアント端末201の管理者は反映させる必要性の低い変更内容について文書に反映すべきかどうかを判断する必要がなくなり作業負担が軽減される。
また、通知対象決定装置100は、最多変更日の変更件数と次点変更日の変更件数に基づいて収束度を算出する。そのため、通知対象決定装置100は、変更が増加傾向にある期間での収束度を算出することなく、最多変更日以降の変更件数が減少傾向にある期間での収束度を算出できる。これにより、通知対象決定装置100は、変更内容を反映させるプロジェクトが相当数残っているかを適切に推測して、通知対象とする変更内容を決定できる。
また、通知対象決定装置100は、広い期間における変更件数の平均値に基づいて収束度を算出することにより、変更件数の偶発的な減少に左右されず、所定期間全体の変更件数の収束傾向を示す収束度を算出することができる。そのため、通知対象決定装置100は、偶発的な変更件数の減少があっても、変更内容を反映させるプロジェクトが相当数残っているかを適切に推測して、通知対象とする変更内容を決定できる。
また、通知対象決定装置100は、作業項目ごとの変更件数に基づいて、関連する作業同士の変更件数に差があるか否かを判定して、変更日ごとの変更件数を補正する。そのため、通知対象決定装置100は、各クライアント端末201の管理者による変更漏れによる変更件数の減少によって見かけ上変更件数が収束した場合でも、変更漏れを考慮した収束度を算出することができる。これにより、通知対象決定装置100は、本来行われるべき変更件数を考慮して変更件数が収束しているかを判断し、変更内容を反映させるプロジェクトが相当数残っているかを適切に推測して、通知対象とする変更内容を決定できる。
また、通知対象決定装置100は、変更日ごとの変更件数を補正した上で、広い期間における変更件数の平均値に基づいて収束度を算出することにより、クライアント端末201の管理者による変更漏れや変更件数の偶発的な減少に左右されず、所定期間全体の変更件数の収束傾向を示す収束度を算出することができる。そのため、通知対象決定装置100は、偶発的な変更件数の減少があっても、変更内容を反映させるプロジェクトが相当数残っているかを適切に推測して、通知対象とする変更内容を決定できる。
また、実際の運用作業では各作業項目の作業は作業周期ごとに行われており、クライアント端末201の管理者による変更漏れは最多変更日からの作業周期以内に発生していると考えられる。ここで、通知対象決定装置100は、変更件数の補正において、作業項目の変更件数より関連作業項目の変更件数が大きい場合、それぞれの差分値を、最多変更日から作業項目の作業周期後の変更日の変更件数に加算する。そのため、通知対象決定装置100は、実際の運用に合わせた変更件数の補正を行うことができる。
なお、本実施の形態で説明した通知対象決定方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本通知対象決定プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本通知対象決定プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)変更対象となる複数の文書のいずれかの文書に対して所定の変更内容の変更が行われた時点を示す変更情報を記憶する変更情報記憶手段に記憶された前記変更内容の変更が行われた時点ごとの前記変更情報に基づいて、所定期間を区切って分割された期間ごとに、前記期間内に前記変更内容の変更が行われた変更件数を計数する計数工程と、
前記計数工程によって計数された前記期間ごとの変更件数に基づいて、前記変更内容の変更が行われた変更件数の収束度合を示す指標値を算出する算出工程と、
前記算出工程によって算出された前記収束度合を示す指標値が、予め定められた閾値を超える場合に、前記変更件数が収束していないと判断して、前記変更内容を通知対象に決定する決定工程と、
前記決定工程によって決定された決定結果を出力する出力工程と、
をコンピュータに実行させることを特徴とする通知対象決定プログラム。
(付記2)前記算出工程は、
前記所定期間を区切って分割された複数の期間のうち前記変更件数が最大となる第1の期間の変更件数と、前記複数の期間の前記第1の期間以降の期間のうち前記変更件数が最大となる第2の期間の変更件数とに基づいて、前記指標値を算出することを特徴とする付記1に記載の通知対象決定プログラム。
(付記3)前記コンピュータに、
前記複数の期間のうち前記第1の期間以降の期間の変更件数の平均値を算出する平均算出工程を実行させ、
前記算出工程は、
前記第1の期間の変更件数と、前記平均算出工程によって算出された前記変更件数の平均値とに基づいて、前記指標値を算出することを特徴とする付記1または2に記載の通知対象決定プログラム。
(付記4)前記文書は、作業の内容を表す作業項目ごとの部分文書を含み、
前記変更情報は、前記文書のうち前記変更内容の変更が行われた箇所を含む部分文書の作業項目を示す項目情報を含み、
前記コンピュータに、
前記変更内容の変更が行われた時点ごとの前記変更情報に基づいて、前記作業項目ごとに、前記変更内容の変更が行われた変更件数を計数する項目別計数工程と、
前記項目別計数工程によって計数された前記作業項目ごとの変更件数のうち、互いに関連する第1および第2の作業項目の変更件数に基づいて、前記第1の期間以降の期間の変更件数を補正する補正工程と、を実行させ、
前記算出工程は、
前記第1の期間の変更件数と、前記第1の期間以降の期間のうち前記補正工程によって補正された補正後の変更件数が最大となる第2の期間の変更件数とに基づいて、前記指標値を算出することを特徴とする付記2に記載の通知対象決定プログラム。
(付記5)前記文書は、作業の内容を表す作業項目ごとの部分文書を含み、
前記変更情報は、前記文書のうち前記変更内容の変更が行われた箇所を含む部分文書の作業項目を示す項目情報を含み、
前記コンピュータに、
前記変更内容の変更が行われた時点ごとの前記変更情報に基づいて、前記作業項目ごとに、前記変更内容の変更が行われた変更件数を計数する項目別計数工程と、
前記項目別計数工程によって計数された前記作業項目ごとの変更件数のうち、互いに関連する第1および第2の作業項目の変更件数に基づいて、前記第1の期間以降の期間の変更件数を補正する補正工程と、を実行させ、
前記平均算出工程は、
前記複数の期間のうち前記第1の期間以降の期間の前記補正工程によって補正された補正後の変更件数の平均値を算出することを特徴とする付記3に記載の通知対象決定プログラム。
(付記6)前記補正工程は、
前記第1の作業項目の変更件数と前記第2の作業項目の変更件数との差分を表す変更件数を、前記第1の期間以降の期間の変更件数に加算することを特徴とする付記4または5に記載の通知対象決定プログラム。
(付記7)前記算出工程は、
前記第1の期間の変更件数と前記第2の期間の変更件数との比率を求めることにより、前記指標値を算出し、
前記決定工程は、
前記算出工程によって算出された前記指標値と所定の閾値とを比較することにより、前記変更内容を通知対象に決定することを特徴とする付記2に記載の通知対象決定プログラム。
(付記8)前記算出工程は、
前記第1の期間の変更件数と前記平均算出工程によって算出された前記変更件数の平均値との比率を求めることにより、前記指標値を算出し、
前記決定工程は、
前記算出工程によって算出された前記指標値と所定の閾値とを比較することにより、前記変更内容を通知対象に決定することを特徴とする付記3に記載の通知対象決定プログラム。
(付記9)前記出力工程は、
前記決定工程によって前記通知対象に決定された変更内容と、前記変更内容の変更が行われた作業項目を示す項目情報とを出力することを特徴とする付記4〜6のいずれか一つに記載の通知対象決定プログラム。
(付記10)前記出力工程は、
さらに、前記変更内容の変更が行われた作業項目に関連する他の作業項目を示す項目情報を出力することを特徴とする付記9に記載の通知対象決定プログラム。
(付記11)変更対象となる複数の文書のいずれかの文書に対して所定の変更内容の変更が行われた時点を示す変更情報を記憶する変更情報記憶手段と、
前記変更情報記憶手段に記憶された前記変更内容の変更が行われた時点ごとの前記変更情報に基づいて、所定期間を区切って分割された期間ごとに、前記期間内に前記変更内容の変更が行われた変更件数を計数する計数手段と、
前記計数手段によって計数された前記期間ごとの変更件数に基づいて、前記変更内容の変更が行われた変更件数の収束度合を示す指標値を算出する算出手段と、
前記算出手段によって算出された前記収束度合を示す指標値が、予め定められた閾値を超える場合に、前記変更件数が収束していないと判断して、前記変更内容を通知対象に決定する決定手段と、
前記決定手段によって決定された決定結果を出力する出力手段と、
を備えることを特徴とする通知対象決定装置。
(付記12)前記算出手段は、
前記所定期間を区切って分割された複数の期間のうち前記変更件数が最大となる第1の期間の変更件数と、前記複数の期間の前記第1の期間以降の期間のうち前記変更件数が最大となる第2の期間の変更件数とに基づいて、前記指標値を算出することを特徴とする付記11に記載の通知対象決定装置。
(付記13)前記複数の期間のうち前記第1の期間以降の期間の変更件数の平均値を算出する平均算出手段を備え、
前記算出手段は、
前記第1の期間の変更件数と、前記平均算出手段によって算出された前記変更件数の平均値とに基づいて、前記指標値を算出することを特徴とする付記11または12に記載の通知対象決定装置。
(付記14)前記文書は、作業の内容を表す作業項目ごとの部分文書を含み、
前記変更情報は、前記文書のうち前記変更内容の変更が行われた箇所を含む部分文書の作業項目を示す項目情報を含み、
前記変更内容の変更が行われた時点ごとの前記変更情報に基づいて、前記作業項目ごとに、前記変更内容の変更が行われた変更件数を計数する項目別計数手段と、
前記項目別計数手段によって計数された前記作業項目ごとの変更件数のうち、互いに関連する第1および第2の作業項目の変更件数に基づいて、前記第1の期間以降の期間の変更件数を補正する補正手段と、を備え、
前記算出手段は、
前記第1の期間の変更件数と、前記第1の期間以降の期間のうち前記補正手段によって補正された補正後の変更件数が最大となる第2の期間の変更件数とに基づいて、前記指標値を算出することを特徴とする付記12に記載の通知対象決定装置。
(付記15)前記文書は、作業の内容を表す作業項目ごとの部分文書を含み、
前記変更情報は、前記文書のうち前記変更内容の変更が行われた箇所を含む部分文書の作業項目を示す項目情報を含み、
前記変更内容の変更が行われた時点ごとの前記変更情報に基づいて、前記作業項目ごとに、前記変更内容の変更が行われた変更件数を計数する項目別計数手段と、
前記項目別計数手段によって計数された前記作業項目ごとの変更件数のうち、互いに関連する第1および第2の作業項目の変更件数に基づいて、前記第1の期間以降の期間の変更件数を補正する補正手段と、を備え、
前記平均算出手段は、
前記複数の期間のうち前記第1の期間以降の期間の前記補正手段によって補正された補正後の変更件数の平均値を算出することを特徴とする付記13に記載の通知対象決定装置。
(付記16)前記補正手段は、
前記第1の作業項目の変更件数と前記第2の作業項目の変更件数との差分を表す変更件数を、前記第1の期間以降の期間の変更件数に加算することを特徴とする付記14または15に記載の通知対象決定装置。
(付記17)前記算出手段は、
前記第1の期間の変更件数と前記第2の期間の変更件数との比率を求めることにより、前記指標値を算出し、
前記決定手段は、
前記算出手段によって算出された前記指標値と所定の閾値とを比較することにより、前記変更内容を通知対象に決定することを特徴とする付記12に記載の通知対象決定装置。
(付記18)前記算出手段は、
前記第1の期間の変更件数と前記平均算出手段によって算出された前記変更件数の平均値との比率を求めることにより、前記指標値を算出し、
前記決定手段は、
前記算出手段によって算出された前記指標値と所定の閾値とを比較することにより、前記変更内容を通知対象に決定することを特徴とする付記13に記載の通知対象決定装置。
(付記19)前記出力手段は、
前記決定手段によって前記通知対象に決定された変更内容と、前記変更内容の変更が行われた作業項目を示す項目情報とを出力することを特徴とする付記14〜16のいずれか一つに記載の通知対象決定装置。
(付記20)前記出力手段は、
さらに、前記変更内容の変更が行われた作業項目に関連する他の作業項目を示す項目情報を出力することを特徴とする付記19に記載の通知対象決定装置。
(付記21)コンピュータが、
変更対象となる複数の文書のいずれかの文書に対して所定の変更内容の変更が行われた時点を示す変更情報を記憶する変更情報記憶手段に記憶された前記変更内容の変更が行われた時点ごとの前記変更情報に基づいて、所定期間を区切って分割された期間ごとに、前記期間内に前記変更内容の変更が行われた変更件数を計数し、
計数した前記期間ごとの変更件数に基づいて、前記変更内容の変更が行われた変更件数の収束度合を示す指標値を算出し、
算出した前記収束度合を示す指標値が、予め定められた閾値を超える場合に、前記変更件数が収束していないと判断して、前記変更内容を通知対象に決定し、
決定した決定結果を出力する、
処理を実行することを特徴とする通知対象決定方法。
(付記22)前記指標値を算出する処理は、
前記複数の期間のうち前記変更件数が最大となる第1の期間の変更件数と、前記複数の期間の前記第1の期間以降の期間のうち前記変更件数が最大となる第2の期間の変更件数とに基づいて、前記指標値を算出することを特徴とする付記21に記載の通知対象決定方法。
(付記23)前記コンピュータが、
前記複数の期間のうち前記第1の期間以降の期間の変更件数の平均値を算出する処理を実行し、
前記指標値を算出する処理は、
前記第1の期間の変更件数と、算出された前記変更件数の平均値とに基づいて、前記指標値を算出することを特徴とする付記21または22に記載の通知対象決定方法。
(付記24)前記文書は、作業の内容を表す作業項目ごとの部分文書を含み、
前記変更情報は、前記文書のうち前記変更内容の変更が行われた箇所を含む部分文書の作業項目を示す項目情報を含み、
前記コンピュータが、
前記変更内容の変更が行われた時点ごとの前記変更情報に基づいて、前記作業項目ごとに、前記変更内容の変更が行われた変更件数を計数し、
計数された前記作業項目ごとの変更件数のうち、互いに関連する第1および第2の作業項目の変更件数に基づいて、前記第1の期間以降の期間の変更件数を補正する処理を実行し、
前記指標値を算出する処理は、
前記第1の期間の変更件数と、前記第1の期間以降の期間のうち補正された補正後の変更件数が最大となる第2の期間の変更件数とに基づいて、前記指標値を算出することを特徴とする付記22に記載の通知対象決定方法。
(付記25)前記文書は、作業の内容を表す作業項目ごとの部分文書を含み、
前記変更情報は、前記文書のうち前記変更内容の変更が行われた箇所を含む部分文書の作業項目を示す項目情報を含み、
前記コンピュータが、
前記変更内容の変更が行われた時点ごとの前記変更情報に基づいて、前記作業項目ごとに、前記変更内容の変更が行われた変更件数を計数し、
計数された前記作業項目ごとの変更件数のうち、互いに関連する第1および第2の作業項目の変更件数に基づいて、前記第1の期間以降の期間の変更件数を補正する処理を実行し、
前記平均値を算出する処理は、
前記複数の期間のうち前記第1の期間以降の期間の補正された補正後の変更件数の平均値を算出することを特徴とする付記23に記載の通知対象決定方法。
(付記26)前記第1の期間以降の期間の変更件数を補正する処理は、
前記第1の作業項目の変更件数と前記第2の作業項目の変更件数との差分を表す変更件数を、前記第1の期間以降の期間の変更件数に加算することを特徴とする付記24または25に記載の通知対象決定方法。
(付記27)前記指標値を算出する処理は、
前記第1の期間の変更件数と前記第2の期間の変更件数との比率を求めることにより、前記指標値を算出し、
前記変更内容を通知対象に決定する処理は、
算出された前記指標値と所定の閾値とを比較することにより、前記変更内容を通知対象に決定することを特徴とする付記22に記載の通知対象決定方法。
(付記28)前記指標値を算出する処理は、
前記第1の期間の変更件数と算出された前記変更件数の平均値との比率を求めることにより、前記指標値を算出し、
前記変更内容を通知対象に決定する処理は、
算出された前記指標値と所定の閾値とを比較することにより、前記変更内容を通知対象に決定することを特徴とする付記23に記載の通知対象決定方法。
(付記29)前記決定した決定結果を出力する処理は、
前記通知対象に決定された変更内容と、前記変更内容の変更が行われた作業項目を示す項目情報とを出力することを特徴とする付記24〜26のいずれか一つに記載の通知対象決定方法。
(付記30)前記決定した決定結果を出力する処理は、
さらに、前記変更内容の変更が行われた作業項目に関連する他の作業項目を示す項目情報を出力することを特徴とする付記29に記載の通知対象決定方法。