(57)【要約】【課題】業務ネットワークシステム内の各サーバ装置のソフトウエアを保守する際に、各サーバ装置が提供する各種サービスの利用者の規模に応じて最適な保守の実行日を提案できる装置としてコンピュータを機能させるための保守日程提案プログラムを、提供する。【解決手段】保守日程提案装置１０では、保守日程提案プログラム１４に従ったＣＰＵ１０ａが、保守が必要なソフトウエアの名称を入力画面２１を通じて受け付けると、それらソフトウエアがインストールされたサーバ装置を割り出し、割り出したサーバ装置のそれぞれについて、入力画面２１において指定された緊急度，及び、そのサーバ装置が提供する業務サービスの顧客規模とその稼働状態とその停止不可期間情報とに応じて、最適な保守の実行期日を決定する。【選択図】図５
2005275573.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
業務ネットワークシステム内のサーバ装置を識別するためのサーバ識別情報と、そのサーバ装置にインストールされているソフトウエアを識別するためのソフトウエア識別情報と、そのソフトウエアの機能を利用してそのサーバ装置において動作する業務サービスを識別するためのサービス識別情報と、その業務サービスの稼働を停止すべきでない期間を定義する停止不可期間情報とを対応づけて記憶装置に記憶する記憶手段，
何れかのソフトウエア識別情報を指定する情報を入力装置において受け付ける受付手段，
前記受付手段によって受け付けられたソフトウエア識別情報に対応するサーバ識別情報を前記記憶装置から全て読み出す読出手段，
前記読出手段によって読み出された全てのサーバ識別情報のそれぞれについて、そのサーバ識別情報に対応して前記記憶装置から読み出されるサービス識別情報のうち、利用者数が所定数を上回る業務サービスのサービス識別情報を特定する処理を行う優先サービス特定手段，
前記読出手段によって読み出された全てのサーバ識別情報のそれぞれについて、前記優先サービス特定手段によって特定されたサービス識別情報に対応して前記記憶装置から読み出される停止不可期間情報に基づいて、そのサーバ識別情報の示すサーバ装置についての停止可能期間を決定する処理を行う停止可能期間決定手段，
前記読出手段によって読み出された全てのサーバ識別情報のそれぞれについて、前記期間決定手段によって決定された停止可能期間に基づいてそのサーバ識別情報の示すサーバ装置の稼働を停止すべき期日を、表示装置に表示する表示手段
として機能させる
ことを特徴とする最適保守日提案プログラム。
【請求項２】
前記記憶手段は、前記サーバ識別情報，前記ソフトウエア識別情報，前記サービス識別情報，及び、停止不可期間情報とともに、その業務サービスが稼働しているか否かを示す稼働状態情報を、対応付けて記憶装置に記憶し、
前記優先サービス特定手段は、前記読出手段によって読み出された全てのサーバ識別情報のそれぞれについて、そのサーバ識別情報に対応して前記記憶装置から読み出されるサービス識別情報のうち、利用者数が所定数を上回っているとともに稼働中である業務サービスのサービス識別情報を特定する処理を行う
ことを特徴とする請求項１記載の最適保守日提案プログラム。
【請求項３】
前記受付手段は、何れかのソフトウエア識別情報を指定する情報とともに、保守を実行すべき日にちが含まれてもよい期間の日数を指定する日数制限情報を、前記入力装置において受け付け、
前記停止可能期間決定手段は、前記受付手段において受け付けられた日数制限情報にて指定される日数の範囲内で、前記停止可能期間を決定する
ことを特徴とする請求項１又は２記載の最適保守日提案プログラム。
【請求項４】
前記受付手段は、何れかのソフトウエア識別情報を指定する情報，及び、前記日数制限情報とともに、ソフトウエアに対する保守作業の重要性に対応した緊急度情報を、前記入力装置において受け付け、
前記優先サービス特定手段は、前記緊急度情報に対応する重要性に応じて、前記サービス識別情報の中から幾つかを特定するための条件を、変化させる
ことを特徴とする請求項２又は３記載の最適保守日提案プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、業務ネットワークシステム内の各サーバ装置のソフトウエアを保守する際の最適な保守の実行日を提案する装置としてコンピュータを機能させるための最適保守日提案プログラムに、関する。
【背景技術】
【０００２】
周知のように、多くの業務ネットワークシステムでは、財務会計や顧客管理などの業務サービスを提供するためのプログラムが、ネットワークを介して多数のクライアント装置に接続された一つ以上のサーバ装置に、分散してインストールされている。また、最近の業務サービスプログラムは、文章編集ツールや表計算ツールや描画ツールや発表ツールなどのアプリケーションプログラムからなる事務用ソフトウエアスイートの一部機能を利用して動作するように、開発されている。
【特許文献１】特開平０９−１４７０１４号公報
【特許文献２】特開平１０−１７１６３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
前述した業務ネットワークシステムでは、サーバ装置内のオペレーティングシステムソフトウエアや事務用ソフトウエアスイートに対し、バージョンアップやウイルス対策修正やバグ修正などのためのパッチを当てる作業が、管理担当者によって行われる。
【０００４】
このような保守作業では、作業対象となるオペレーティングシステムソフトウエアや事務用ソフトウエアスイートの稼働を一旦停止したりサーバ装置を再起動させたりする必要がある場合がある。この場合、作業対象となるソフトウエア上で動作する業務サービスも一旦機能を停止させねばならなくなる。
【０００５】
このため、管理担当者は、業務サービスの機能停止に因る業務上の支障が利用者にできるだけ及ばないような最適な保守の実行日を、保守作業が行われるべきサーバ装置のそれぞれについて決定し、且つ、利用者に対して事前に通告している。
【０００６】
ところが、従来、管理担当者は、どのサーバ装置に対してどの日に保守作業を行うかを決定するのに、その経験と勘を頼りにしていたため、業務サービスと連携して動作する他のサーバ装置上の業務サービスに対する影響を見逃してしまったり、利用者の多い業務サービスを利用頻度の高い日に停止させてしまったりすることがあった。
【０００７】
本発明は、前述したような従来の事情に鑑みてなされたものであり、その課題は、業務ネットワークシステム内の各サーバ装置のソフトウエアを保守する際に、各サーバ装置が提供する業務サービスの利用者の規模に応じて最適な保守の実行日を提案できる装置としてコンピュータを機能させるための最適保守日提案プログラムを、提供することにある。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために発明された最適保守日提案プログラムは、コンピュータを、業務ネットワークシステム内のサーバ装置を識別するためのサーバ識別情報と、そのサーバ装置にインストールされているソフトウエアを識別するためのソフトウエア識別情報と、そのソフトウエアの機能を利用してそのサーバ装置において動作する業務サービスを識別するためのサービス識別情報と、その業務サービスの稼働を停止すべきでない期間を定義する停止不可期間情報とを対応づけて記憶装置に記憶する記憶手段，何れかのソフトウエア識別情報を指定する情報を入力装置において受け付ける受付手段，前記受付手段によって受け付けられたソフトウエア識別情報に対応するサーバ識別情報を前記記憶装置から全て読み出す読出手段，前記読出手段によって読み出された全てのサーバ識別情報のそれぞれについて、そのサーバ識別情報に対応して前記記憶装置から読み出されるサービス識別情報のうち、利用者数が所定数を上回る業務サービスのサービス識別情報を特定する処理を行う優先サービス特定手段，前記読出手段によって読み出された全てのサーバ識別情報のそれぞれについて、前記優先サービス特定手段によって特定されたサービス識別情報に対応して前記記憶装置から読み出される停止不可期間情報に基づいて、そのサーバ識別情報の示すサーバ装置についての停止可能期間を決定する処理を行う停止可能期間決定手段，前記読出手段によって読み出された全てのサーバ識別情報のそれぞれについて、前記期間決定手段によって決定された停止可能期間に基づいてそのサーバ識別情報の示すサーバ装置の稼働を停止すべき期日を、表示装置に表示する表示手段として機能させることを、特徴としている。
【０００９】
このように構成されると、何れかソフトウエア識別情報が入力装置に入力された場合には、そのソフトウエア識別情報にて示されるソフトウエアがインストールされているサーバ装置が特定され、特定されたサーバ装置のそれぞれについての稼働を停止すべき期日が、そのサーバ装置が提供する業務サービスのうち、所定の上限値を上回った利用者数を持つ業務サービスの停止不可期間情報に基づいて、決定され、決定された各サーバ装置についての期日が、表示装置に表示される。つまり、操作者が、保守作業をすべきソフトウエアのソフトウエア識別情報を入力装置に入力するだけで、業務サービスの利用者の規模に応じて最適な保守の実行日を、簡単に決定することができる。
【発明の効果】
【００１０】
以上に説明したように、本発明によれば、業務ネットワークシステム内の各サーバ装置のソフトウエアを保守する際に、各サーバ装置が提供する業務サービスの利用者の規模に応じて最適な保守の実行日を、提案することができるようになる。
【発明を実施するための最良の形態】
【００１１】
以下、添付図面に基づいて、本発明を実施するための形態について、詳しく説明する。
【００１２】
本発明の実施形態である保守日程提案装置は、いわゆる業務ネットワークシステム内の各サーバ装置のソフトウエアを保守する際にその保守の最適な日程を提案するためのコンピュータである。なお、業務ネットワークシステムは、ネットワークを介して多数のクライアント装置に接続された一つ以上のサーバ装置に、財務会計や顧客管理などの業務サービスを提供するための業務サービスプログラムが、分散してインストールされたシステムである。
【００１３】
図１は、本実施形態の保守日程提案装置１０を概略的に示す構成図である。保守日程提案装置１０は、ＣＰＵ［Central Processing Unit］１０ａ，ＲＡＭ［Random Access Memory］１０ｂ，表示装置１０ｃ，入力装置１０ｄ，ＦＤＤ［Flexible Disk Drive］１０ｅ，ＣＤＤ［Compact Disk Drive］１０ｆ，及び、ＨＤＤ［Hard Disk Drive］１０ｇを、備えており、これらハードウエア１０ａ〜１０ｇは、バスＢを介して互いに接続されている。
【００１４】
ＣＰＵ１０ａは、保守日程提案装置１０全体を制御するための中央処理装置である。ＲＡＭ１０ｂは、ＣＰＵ１０ａが各種プログラムを実行するに際しての作業領域が展開される主記憶装置である。
【００１５】
表示装置１０ｃは、ＣＰＵ１０ａによって生成された画面データに基づいて各種画面を表示するための装置であり、具体的には液晶ディスプレイやブラウン管ディスプレイである。入力装置１０ｄは、操作者からの入力を受け付けるための装置であり、具体的にはキーボードやマウスやタッチスクリーンである。
【００１６】
ＦＤＤ１０ｅ及びＣＤＤ１０ｆは、コンピュータ可読媒体であるフレキシブルディスクＦＤやコンパクトディスクＣＤからデータやプログラムを読み出したりこれらディスクＦＤ，ＣＤに書き込んだりするための補助記憶装置であり、ディスクＦＤ，ＣＤを着脱自在に装着するための機構を、備えている。
【００１７】
ＨＤＤ１０ｇは、保守日程提案装置１０に内蔵され或いは外付けされる補助記憶装置であり、ＣＰＵ１０ａによってＲＡＭ１０ｂ上に読み出されて実行される各種プログラムを格納している。このＨＤＤ１０ｇには、ハードウエアとソフトウエアとを統合的に管理するためのＯＳ［Operating System］ソフトウエアの他、本発明に係るプログラム及びテーブルとして、ソフトウエア管理テーブル１１，連携情報管理テーブル１２，アクセス履歴テーブル１３，及び、保守日程提案プログラム１４が、記録されている。
【００１８】
ソフトウエア管理テーブル１１は、上記業務ネットワークシステムの有するサーバ装置とそれにインストールされているソフトウエアとの対応関係を記録しておくためのテーブルである。図２は、ソフトウエア管理テーブル１１のデータ構造の一例を示す図である。図２のソフトウエア管理テーブル１１は、上記業務ネットワークシステムの有するサーバ装置と同じ数のレコードを、有している。各レコードは、「サーバ識別情報」，「ＯＳ」，及び、「ソフトウエアスイート」のフィールドを、有している。
【００１９】
ここで、「サーバ識別情報」は、上記業務ネットワークシステムの有するサーバ装置を個別に識別するために各サーバ装置に一意に割り当てられた識別情報であるサーバ識別情報が記録されるフィールドである。また、「ＯＳ」は、そのサーバ装置にインストールされているＯＳソフトウエアの名称が記録されるフィールドである。また、「ソフトウエアスイート」は、そのサーバ装置にインストールされているソフトウエアスイートの名称が記録されるフィールドである。なお、ソフトウエアスイートは、文章編集ツールや表計算ツールや描画ツールや発表ツールなどの事務用の機能をコンピュータに付加するためのソフトウエアの集合体である。
【００２０】
連携情報管理テーブル１２は、上記業務ネットワークシステムの有するサーバ装置とそれによって提供される業務サービスを機能させる業務サービスプログラムとの対応関係を記録しておくためのテーブルである。図３は、連携情報管理テーブル１２のデータ構造の一例を示す図である。図３の連携情報管理テーブル１２は、上記業務ネットワークシステムによって提供される業務サービスと同じ数のレコードを、有している。各レコードは、「サーバ識別情報」，「本サービス名」，「連携サービス名１」，「連携サービス名２」，…，「稼働状態」，「動作確認時間」，及び、「締め日」のフィールドを、有している。
【００２１】
ここで、「サーバ識別情報」は、その業務サービスを提供するサーバ装置のサーバ識別情報が記録されるフィールドである。また、「本サービス名」は、上記業務ネットワークシステムが各クライアント装置の操作者に提供するための業務サービスのうち、そのサーバ装置のＯＳソフトウエアやソフトウエアスイートの機能を利用してそのサーバ装置において稼働する業務サービスの名称が本サービス名として記録されるフィールドである。また、「連携サービス名１」，「連携サービス名２」，…は、何れも、本サービス名の業務サービスによる機能や生成情報を利用して稼働する他の業務サービスが存在する場合にそれら他の業務サービスの名称が連携サービス名として記録されるフィールドである。
【００２２】
また、「稼働状態」は、その本サービス名の業務サービスがサーバ装置において運用中であるか待機中であるを示す稼働状態情報が記録されるフィールドである。また、「動作確認時間」は、その業務サービスをコンピュータに機能させるための業務サービスプログラムを起動してからその業務サービスが正常に稼働した状態となったことを確認するまでに必要な時間が記録されるフィールドである。また、「締め日」は、その本サービス名の業務サービスへの情報の入力やその業務サービスの情報の利用が集中するためにその業務サービスの稼働を停止すべきでない日にちが停止不可期間情報として記録されるフィールドである。
【００２３】
なお、ソフトウエア管理テーブル１１及び連携情報管理テーブル１２は、前述した記憶手段に相当する。
【００２４】
アクセス履歴テーブル１３は、上記業務ネットワークシステムのクライアント装置が各業務サービスにアクセスした回数を日々記録するためのテーブルである。図４は、アクセス履歴テーブル１３のデータ構造の一例を示す図である。図４のアクセス履歴テーブル１３は、上記業務ネットワークシステムによって提供される業務サービスと同じ数のレコードを、有している。各レコードは、年月日が記述された一日毎のフィールドを、有している。
【００２５】
このアクセス履歴テーブル１３の各セルには、アクセス数が記録されており、このアクセス数は、その業務サービスが稼働するサーバ装置に付加されたアクセスカウンタモジュールプログラムによって生成される数値である。なお、アクセスカウンタモジュールプログラムによる処理の内容は、一般的であるので詳しくは説明しないが、簡単に説明すると、このモジュールプログラムに従ったＣＰＵ１０ａは、業務サービスのそれぞれについて、各クライアント装置から受けたアクセスの回数を一日間カウントし、その日が経過すると、アクセス履歴テーブル１３における各業務サービスのレコードのその日用のフィールドに、アクセス数を記録する。
【００２６】
以上のように構成される保守日程提案装置１０において実行される処理の内容について、詳しく説明する。
【００２７】
保守日程提案装置１０のＣＰＵ１０ａは、その入力装置１０ｄが操作されることによって、保守日程提案プログラム１４の起動を指示されると、その保守日程提案プログラム１４をＨＤＤ１０ｇから読み込んで、保守日程提案処理を実行する。図５は、保守日程提案処理の内容を示すフローチャートである。
【００２８】
保守日程提案処理の開始後、最初のステップＳ１０１では、ＣＰＵ１０ａは、入力画面を表示装置１０ｃに表示する。図６は、入力画面２１の一例を示す図である。図６の入力画面２１には、五個のプルダウンリストボックス２１ａ〜２１ｅが、示されている。五個のプルダウンリストボックス２１ａ〜２１ｅのうち、一個目のプルダウンリストボックス２１ａは、バージョンアップやウイルス対策修正やバグ修正のためのパッチをあてるべき保守対象となるソフトウエアの名称を入力するためのものである。なお、本実施形態では、このプルダウンリストボックス３１ａに入力されるソフトウエアの名称は、ＯＳソフトウエアの名称，及び、ソフトウエアスイートの名称の何れかである。
【００２９】
二個目のプルダウンリストボックス２１ｂは、そのソフトウエアのバージョン番号を入力するためのものである。三個目のプルダウンリストボックス２１ｃは、パッチを当てる作業に掛かる時間を入力するためのものである。四個目のプルダウンリストボックス２１ｄは、そのソフトウエアにパッチを当てた際にサーバ装置の再起動が必要であるか否かを指定する情報を入力するためのものである。五個目のプルダウンリストボックス２１ｅは、そのパッチを当てる作業をどの程度早めに行うべきかを示す情報である緊急度を入力するするためのものである。なお、本実施形態では、緊急度は、高度，中度，低度の三段階となっており、そのうちの何れか一つが、五個目のプルダウンリストボックス２１ｅに入力されることとなる。
【００３０】
また、図６の入力画面２１には、一個のテキストボックス２１ｆが示されている。このテキストボックス２１ｆは、パッチを当てる作業を何日以内に行うべきかを指定する日数制限情報を入力するためのテキストボックスであり、最も高い緊急度を示す「高度」が五個目のプルダウンリストボックス２１ｅに入力された場合にのみ機能する。
【００３１】
また、図６の入力画面２１には、上記五個のプルダウンリストボックス２１ａ〜２１ｅを通じて保守対象として指定されたソフトウエアに関する情報が記述される一覧表２１ｇが、示されている。また、図６の入力画面２１には、五個のプルダウンリストボックス２１ａ〜２１ｅに入力された各情報からなるレコードを一覧表２１ｇに登録しようとする操作者によってクリックされる登録ボタン２１ｈが、示されている。なお、この登録ボタン２１ｈがクリックされる毎に、一覧表２１ｇには、レコードが一つずつ順に追加登録されることとなる。
【００３２】
また、図６の入力画面２１には、一覧表２１ｇへの保守対象の登録を済ませた操作者によってクリックされる実行ボタン２１ｉが、示されている。
【００３３】
ＣＰＵ１０ａは、図６に示されるような入力画面２１を表示装置１０ｃに表示した後、ステップＳ１０２へ処理を進める。
【００３４】
ステップＳ１０２では、ＣＰＵ１０ａは、入力画面２１の実行ボタン２１ｉがクリックされるまで、待機する（Ｓ１０２；ＮＯ）。そして、実行ボタン２１ｉがクリックされると（Ｓ１０２；ＹＥＳ）、ＣＰＵ１０ａは、ステップＳ１０３へ処理を進める。
【００３５】
なお、ステップＳ１０１及びＳ１０２を実行するＣＰＵ１０ａは、前述した受付手段に相当する。
【００３６】
ステップＳ１０３では、ＣＰＵ１０ａは、第１ワークテーブル３１を生成する。図７は、第１ワークテーブル３１のデータ構造の一例を示す図である。図７の第１ワークテーブル３１には、各レコードの有するフィールドとして、「サーバ識別情報」，「緊急度」，「保守所要時間」，及び、「保守可能期間」のフィールドが、用意されている。
【００３７】
ここで、「サーバ識別情報」は、後述の処理によって抽出されたサーバ識別情報がそれぞれ記録されるフィールドである。また、「緊急度」は、そのサーバ識別情報の示すサーバ装置内において保守対象となっているソフトウエアに指定されている緊急度のうちの最も高いものが記録されるフィールドである。また、「保守所要時間」は、そのサーバ識別情報のサーバ装置を保守するために必要な時間が後述の処理によって記録されるフィールドである。また、「保守可能期間」は、そのサーバ識別情報の示すサーバ装置を停止しても良い日を示す保守可能期間情報が後述の処理によって記録されるフィールドである。
【００３８】
ＣＰＵ１０ａは、レコードを一つも有していない上記の第１ワークテーブル３１を新たに生成した後、ステップＳ１０４へ処理を進める。
【００３９】
ステップＳ１０４では、ＣＰＵ１０ａは、サーバ特定処理を実行する。図８は、サーバ特定処理の内容を示すフローチャートである。
【００４０】
サーバ特定処理の開始後、ＣＰＵ１０ａは、まず、第１処理ループＬ１を実行する。具体的には、ＣＰＵ１０ａは、入力画面２１の一覧表２１ｇに入力されたレコードを一つずつ処理対象として特定することによって、ステップＳ２０１〜Ｓ２０８を全てのレコードに対して順に実行する。
【００４１】
ステップＳ２０１では、ＣＰＵ１０ａは、処理対象レコード中の保守対象ソフトウエア名を検索条件として、図２のソフトウエア管理テーブル１１を検索する。
【００４２】
次のステップＳ２０２では、ＣＰＵ１０ａは、保守対象ソフトウエア名に対応するサーバ識別情報を図２のソフトウエア管理テーブル１１から検出できたか否かを、判別する。そして、ＣＰＵ１０ａは、保守対象ソフトウエア名に対応するサーバ識別情報を図２のソフトウエア管理テーブル１１から検出できなかったと判断した場合（Ｓ２０２；ＮＯ）、ステップＳ２０５へ処理を進め、保守対象ソフトウエア名に対応するサーバ識別情報を図２のソフトウエア管理テーブル１１から検出できたと判断した場合（Ｓ２０２；ＹＥＳ）、ステップＳ２０３へ処理を進める。
【００４３】
ステップＳ２０３では、ＣＰＵ１０ａは、ステップＳ２０２において検出されたサーバ識別情報と同じサーバ識別情報が図７の第１ワークテーブル３１に既に記録されているか否かを、判別する。そして、ステップＳ２０２において検出されたサーバ識別情報と同じサーバ識別情報が図７の第１ワークテーブル３１に未だ記録されていないと判断した場合（Ｓ２０３；ＮＯ）、ＣＰＵ１０ａは、ステップＳ２０４へ処理を進める。
【００４４】
ステップＳ２０４では、ＣＰＵ１０ａは、ステップＳ２０２において検出されたサーバ識別情報を持つ新たなレコードを、図７の第１ワークテーブル３１に追加する。但し、追加されるレコードの「保守可能期間」フィールドには、情報が含まれていない。また、ＣＰＵ１０ａは、その新たなレコード中の保守所要時間については、そのサーバ識別情報に対応する動作確認時間を、連携情報管理テーブル１２から読み出し、読み出した中で最大の動作確認時間に対して処理対象レコード中の所要時間を加算することによって、取得している。追加後、ＣＰＵ１０ａは、この処理対象レコードに対する第１処理ループＬ１の実行を終了する。
【００４５】
一方、ステップＳ２０３において、ステップＳ２０２において検出されたサーバ識別情報と同じサーバ識別情報が図７の第１ワークテーブル３１に記録されていると判断した場合（Ｓ２０３；ＹＥＳ）、ＣＰＵ１０ａは、ＣＰＵ１０ａは、ステップＳ２０５へ処理を進める。
【００４６】
ステップＳ２０５では、ＣＰＵ１０ａは、処理対象レコード中の緊急度がその処理対象レコードと同じサーバ識別情報について既に図７の第１ワークテーブル３１に記録済の緊急度よりも高いか否かを、判別する。そして、ＣＰＵ１０ａは、処理対象レコード中の緊急度がその処理対象レコードと同じサーバ識別情報について既に図７の第１ワークテーブル３１に記録済の緊急度と同じか低いと判断した場合（Ｓ２０５；ＮＯ）、ステップＳ２０７へ処理を進め、処理対象レコード中の緊急度がその処理対象レコードと同じサーバ識別情報について既に図７の第１ワークテーブル３１に記録済の緊急度よりも高いと判断した場合（Ｓ２０５；ＹＥＳ）、ステップＳ２０６へ処理を進める。
【００４７】
ステップＳ２０６では、ＣＰＵ１０ａは、図７の第１ワークテーブル３１における処理対象レコードと同じサーバ識別情報を含むレコードにおいて、処理対象レコードの緊急度を上書き更新する。更新後、ＣＰＵ１０ａは、ステップＳ２０７へ処理を進める。
【００４８】
ステップＳ２０７では、ＣＰＵ１０ａは、処理対象レコードについて上記のように算出される保守所要時間がその処理対象レコードと同じサーバ識別情報について既に図７の第１ワークテーブル３１に記録済の保守所要時間よりも長いか否かを、判別する。そして、ＣＰＵ１０ａは、処理対象レコードの保守所要時間がその処理対象レコードと同じサーバ識別情報について既に図７の第１ワークテーブル３１に記録済の保守所要時間よりも短い場合（Ｓ２０７；ＮＯ）、この処理対象レコードに対する第１処理ループＬ１の実行を終了し、処理対象レコードの保守所要時間がその処理対象レコードと同じサーバ識別情報について既に図７の第１ワークテーブル３１に記録済の保守所要時間よりも長い場合（Ｓ２０７；ＹＥＳ）、ステップＳ２０８へ処理を進める。
【００４９】
ステップＳ２０８では、ＣＰＵ１０ａは、図７の第１ワークテーブル３１における処理対象レコードと同じサーバ識別情報を含むレコードにおいて、処理対象レコードの保守所要時間を上書き更新する。更新後、ＣＰＵ１０ａは、この処理対象レコードに対する第１処理ループＬ１の実行を終了する。
【００５０】
ＣＰＵ１０ａは、このような第１処理ループＬ１を、入力画面２１の一覧表２１ｇに入力されたレコードに対して順に実行し、全てのレコードについて第１処理ループＬ１を実行し終えると、図８のサーバ特定処理を終了し、図５の保守日程提案処理におけるステップＳ１０５へ処理を進める。
【００５１】
なお、ステップＳ１０４，第２処理ループＬ２，及び、ステップＳ２０１〜Ｓ２０８を実行するＣＰＵ１０ａは、前述した読出手段に相当する。
【００５２】
ステップＳ１０５では、ＣＰＵ１０ａは、保守実行期日決定処理を実行する。図９は、保守実行期日決定処理の内容を示すフローチャートである。
【００５３】
保守実行期日決定処理の開始後、ＣＰＵ１０ａは、第２処理ループＬ２を実行する。具体的には、ＣＰＵ１０ａは、図７の第１ワークテーブル３１に記録されレコードを一つずつ処理対象として特定することによって、ステップＳ３０１〜Ｓ３０４を全てのレコードに対して順に実行する。
【００５４】
ステップＳ３０１では、ＣＰＵ１０ａは、第２ワークテーブル３２，第３ワークテーブル３３，及び、図示せぬ第４ワークテーブルを生成する。図１０は、第２ワークテーブル３２のデータ構造の一例を示す図であり、図１１は、第３ワークテーブル３３のデータ構造の一例を示す図である。
【００５５】
図１０の第２ワークテーブル３２には、各レコードの有するフィールドとして、「本サービス名」，「稼働状態」，「締め日」，及び、「延べ顧客数」のフィールドが、用意されている。ここで、「本サービス名」は、図３の連携情報管理テーブル１２において処理対象レコード中のサーバ識別情報に対応する本サービス名がそれぞれ記録されるフィールドである。また、「稼働状態」及び「締め日」は、その本サービス名に対応する稼働状態情報及び停止不可期間情報がそれぞれ記録されるフィールドである。また、「延べ顧客数」は、その本サービス名の業務サービスを所定期間（Ｎ日間）内に利用した顧客の一日毎の延べ数が後述の処理によって記録されるフィールドである。
【００５６】
図１１の第３ワークテーブル３３には、各レコードの有するフィールドとして、「本サービス名」，「一日前」，「二日前」，…，「Ｎ日前」のフィールドが、用意されている。ここで、「本サービス名」は、図３の連携情報管理テーブル１２において処理対象レコード中のサーバ識別情報に対応する本サービス名がそれぞれ記録されるフィールドである。また、「１日前」，「二日前」，…，「Ｎ日前」は、この保守実行期日決定処理を実行している日から所定のＮ日間だけ遡った日までの間の全ての日にちのそれぞれについて、本サービス名の業務サービス及びそれに連携する業務サービスに対してその日にあったアクセスの延べ数を計数して得られた値が、後述の処理によって記録されるフィールドである。
【００５７】
ＣＰＵ１０ａは、レコードを一つも有していない上記の第２ワークテーブル３２，第３ワークテーブル３３，及び、図示せぬ第４ワークテーブルをそれぞれ新たに生成した後、ステップＳ３０２へ処理を進める。
【００５８】
ステップＳ３０２では、ＣＰＵ１０ａは、顧客数積算処理を実行する。図１２及び図１３は、顧客数積算処理の内容を示すフローチャートである。
【００５９】
顧客数積算処理の開始後、最初のステップＳ４０１では、ＣＰＵ１０ａは、処理対象レコード中のサーバ識別情報に対応する本サービス名と稼働状態情報と停止不可期間情報とを、図３の連携情報管理テーブル１２から読み出して、図１０の第２ワークテーブル３２の「本サービス名」，「稼働状態」，及び、「締め日」のフィールドに記録する。
【００６０】
このステップＳ４０１の実行後、ＣＰＵ１０ａは、第３処理ループＬ３を実行する。具体的には、ＣＰＵ１０ａは、図１０の第２ワークテーブル３２に記録されている本サービス名を一つずつ処理対象として特定することによって、ステップＳ４１１〜Ｓ４１６，第４処理ループＬ４，及び、ステップＳ４１７〜Ｓ４２０を、全てのレコードに対して順に実行する。
【００６１】
ステップＳ４１１では、ＣＰＵ１０ａは、処理対象本サービス名を図１１の第３ワークテーブル３３に記録する。記録後、ＣＰＵ１０ａは、ステップＳ４１２へ処理を進める。
【００６２】
ステップＳ４１２では、ＣＰＵ１０ａは、変数ｎに０を代入し、ステップＳ４１３へ処理を進める。
【００６３】
ステップＳ４１３では、ＣＰＵ１０ａは、変数ｎを１だけインクリメントし、ステップＳ４１４へ処理を進める。
【００６４】
ステップＳ４１４では、ＣＰＵ１０ａは、この保守実行期日決定処理を実行している日からｎ日間だけ遡った日における処理対象本サービス名に対応するアクセス数を、図４のアクセス履歴テーブル１３から読み出す。
【００６５】
次のステップＳ４１５では、ＣＰＵ１０ａは、図１１の第３ワークテーブル３３における処理対象本サービス名を持つレコードの「ｎ日前」のフィールドに、ステップＳ４１４において読み出したアクセス数を記録する。
【００６６】
次のステップＳ４１６では、ＣＰＵ１０ａは、処理対象（第２処理ループＬ２の処理対象）のレコードのサーバ識別情報と処理対象（第３処理ループＬ３の処理対象）の本サービス名とに対応する連携サービス名を、図３の連携情報管理テーブル１２から読み出す。
【００６７】
このステップＳ４１６の実行後、ＣＰＵ１０ａは、第４処理ループＬ４を実行する。具体的には、ＣＰＵ１０ａは、ステップＳ４１６において読み出された連携サービス名を一つずつ処理対象として特定することによって、ステップＳ４６１〜Ｓ４６３を全ての連携サービス名に対して順に実行する。
【００６８】
ステップＳ４６１では、ＣＰＵ１０ａは、処理対象の連携サービス名が既に第４ワークテーブル（図示略）に記録されているか否かを、判別する。なお、図示せぬ第４ワークテーブルは、図１１の第３ワークテーブル３３にアクセス数を記録していく際に、同一の業務サービスについてのアクセス数を二重に積算するのを防止するために利用されるテーブルであり、具体的には、業務サービスの名称を記録しておくためのテーブルとなっている。
【００６９】
そして、ＣＰＵ１０ａは、処理対象の連携サービス名が既に第４ワークテーブル（図示略）に記録されていると判断した場合（Ｓ４６１；ＹＥＳ）、この処理対象連携サービス名に対する第４処理ループＬ４の実行を終了し、処理対象の連携サービス名が未だ第４ワークテーブル（図示略）に記録されていないと判断した場合（Ｓ４６１；ＮＯ）、ステップＳ４６２へ処理を進める。
【００７０】
ステップＳ４６２では、ＣＰＵ１０ａは、この保守実行期日決定処理を実行している日からｎ日間だけ遡った日における処理対象連携サービス名に対応するアクセス数を、図４のアクセス履歴テーブル１３から読み出す。
【００７１】
次のステップＳ４６３では、ＣＰＵ１０ａは、図１１の第３ワークテーブル３３における処理対象本サービス名を持つレコードの「ｎ日前」のフィールド中の値に、ステップＳ４６２において読み出したアクセス数を加算する。加算後、ＣＰＵ１０ａは、この処理対象連携サービス名に対する第４処理ループＬ４の実行を終了する。
【００７２】
ＣＰＵ１０ａは、このような第４処理ループＬ４を、ステップＳ４１６において読み出された連携サービス名に対して順に実行し、全ての連携サービス名について第４処理ループＬ４を実行し終えると、ステップＳ４１７へ処理を進める。
【００７３】
ステップＳ４１７では、ＣＰＵ１０ａは、変数ｎが所定の上限値Ｎに達しているか否かを、判別する。そして、ＣＰＵ１０ａは、変数ｎが所定の上限値Ｎに達していないと判断した場合（Ｓ４１７；ＮＯ）、ステップＳ４１３へ処理を戻し、変数ｎが所定の上限値Ｎに達していると判断した場合（Ｓ４１７；ＹＥＳ）、ステップＳ４１８へ処理を進める。
【００７４】
ステップＳ４１８では、ＣＰＵ１０ａは、ステップＳ４１６において読み出された連携サービス名のうち、第４ワークテーブル（図示略）に記録されていないものを、第４ワークテーブル（図示略）に追加記録する。
【００７５】
次のステップＳ４１９では、ＣＰＵ１０ａは、図１１の第３ワークテーブル３３中の全てのレコードのそれぞれについて、「１日前」，「２日前」，…，「Ｎ日前」のフィールド中の値を合算することによって、処理対象本サービス名についての延べ顧客数を、算出する。
【００７６】
次のステップＳ４２０では、ＣＰＵ１０ａは、処理対象本サービス名について算出された延べ顧客数を、図１０の第２ワークテーブル３２における処理対象本サービス名を持つレコードの「延べ顧客数」フィールドに記録する。記録後、ＣＰＵ１０ａは、処理対象本サービス名に対する第３処理ループＬ３の実行を終了する。
【００７７】
ＣＰＵ１０ａは、このような第３処理ループＬ３を、図１０の第２ワークテーブル３２に記録されているレコードに対して順に実行し、全てのレコードについて第３処理ループＬ３を実行し終えると、図１２及び図１３の顧客数積算処理を終了し、第２処理ループＬ２中のステップＳ３０３へ処理を進める。
【００７８】
ステップＳ３０３では、ＣＰＵ１０ａは、保守可能期間決定処理を実行する。図１４乃至図１６は、保守可能期間決定処理の内容を示すフローチャートである。
【００７９】
保守可能期間決定処理の開始後、最初のステップＳ５０１では、ＣＰＵ１０ａは、処理対象レコード中の緊急度が低度であるか否かを、判別する。そして、処理対象レコード中の緊急度が低度であると判断した場合（Ｓ５０１；ＹＥＳ）、ＣＰＵ１０ａは、ステップＳ５０２へ処理を進める。
【００８０】
ステップＳ５０２では、ＣＰＵ１０ａは、延べ顧客数の判定に用いる上限値を「０」に設定する。
【００８１】
次のステップＳ５０３では、ＣＰＵ１０ａは、１からＮまでの数値をそれぞれＲＡＭ１０ｂ内において一時記憶する。
【００８２】
このステップＳ５０３の実行後、ＣＰＵ１０ａは、第５処理ループＬ５を実行する。具体的には、ＣＰＵ１０ａは、図１０の第２ワークテーブル３２中の本サービス名を一つずつ処理対象として特定することによって、ステップＳ５５１及びＳ５５２を、各本サービス名に対して順に実行する。
【００８３】
ステップＳ５５１では、ＣＰＵ１０ａは、図１０の第２ワークテーブル３２から、処理対象本サービス名に対応する延べ顧客数を読み出し、この延べ顧客数がこの時点で設定されている上限値を超過しているか否かを、判別する。そして、ＣＰＵ１０ａは、処理対象本サービス名に対応する延べ顧客数が上限値を超過していないたと判断した場合（Ｓ５５１；ＮＯ）、この処理対象本サービス名に対する第５処理ループＬ５の実行を終了し、処理対象本サービス名に対応する延べ顧客数が上限値を超過していると判断した場合（Ｓ５５１；ＹＥＳ）、ステップＳ５５２へ処理を進める。
【００８４】
なお、ステップＳ５５１を実行するＣＰＵ１０ａは、前述した優先サービス特定手段に相当する。
【００８５】
ステップＳ５５２では、ＣＰＵ１０ａは、図１０の第２ワークテーブル３２から、処理対象本サービス名に対応する停止不可期間情報（「締め日」フィールド内の情報）を読み出し、保守可能期間決定処理の実行日からこの停止不可期間情報に含まれる日にちまでの日数に相当する数値を、ＲＡＭ１０ｂ内の数値から削除する。削除後、ＣＰＵ１０ａは、この処理対象本サービス名に対する第５処理ループＬ５の実行を終了する。
【００８６】
ＣＰＵ１０ａは、このような第５処理ループＬ５を、図１０の第２ワークテーブル３２中の本サービス名に対して順に実行し、全ての本サービス名について第５処理ループＬ５を実行し終えると、ステップＳ５０４へ処理を進める。
【００８７】
ステップＳ５０４では、ＣＰＵ１０ａは、ＲＡＭ１０ｂ内に一時記憶しておいた数値が残っているか否かを、判別する。そして、ＲＡＭ１０ｂ内に一時記憶しておいた数値が残っていなかった場合（Ｓ５０４；ＮＯ）、ＣＰＵ１０ａは、ステップＳ５０５へ処理を進める。
【００８８】
ステップＳ５０５では、ＣＰＵ１０ａは、延べ顧客数の判定に用いる上限値を、この時点で設定されている値から、所定量だけ増加させる。この後、ＣＰＵ１０ａは、ステップＳ５０３へ処理を戻す。
【００８９】
一方、ステップＳ５０４において、ＲＡＭ１０ｂ内に一時記憶しておいた数値が残っていた場合（Ｓ５０４；ＹＥＳ）、ＣＰＵ１０ａは、ステップＳ５０６へ処理を進める。
【００９０】
ステップＳ５０６では、ＣＰＵ１０ａは、ＲＡＭ１０ｂ内に残っている全ての数値のそれぞれについて、保守可能期間決定処理の実行日からその数値と同じ日数だけ加算した日にちをそれぞれ算出する。
【００９１】
次のステップＳ５０７では、ＣＰＵ１０ａは、ステップＳ５０６において算出した各日にちからなる保守可能期間を、図７の第１ワークテーブル３１における処理対象レコードの「保守可能期間」フィールドに記録する。記録後、ＣＰＵ１０ａは、図１４の保守可能期間決定処理を終了して、図９の保守実行期日決定処理におけるステップＳ３０４へ処理を進める。
【００９２】
なお、ステップＳ５０６及びＳ５０７は、前述した停止可能期間決定手段に相当する。
【００９３】
一方、ステップＳ５０１において、処理対象レコード中の緊急度が低度でないと判断した場合（Ｓ５０１；ＮＯ）、ＣＰＵ１０ａは、ステップＳ５０８へ処理を進める。
【００９４】
ステップＳ５０８では、ＣＰＵ１０ａは、処理対象レコード中の緊急度が中度であるか否かを、判別する。そして、処理対象レコード中の緊急度が中度であると判断した場合（Ｓ５０８；ＹＥＳ）、ＣＰＵ１０ａは、ステップＳ５０９へ処理を進める。
【００９５】
ステップＳ５０９では、ＣＰＵ１０ａは、延べ顧客数の判定に用いる上限値を「０」に設定する。
【００９６】
次のステップＳ５１０では、ＣＰＵ１０ａは、１からＮまでの数値をそれぞれＲＡＭ１０ｂ内において一時記憶する。
【００９７】
このステップＳ５１０の実行後、ＣＰＵ１０ａは、第６処理ループＬ６を実行する。具体的には、ＣＰＵ１０ａは、図１０の第２ワークテーブル３２中の本サービス名を一つずつ処理対象として特定することによって、ステップＳ５６１〜Ｓ５６３を、各本サービス名に対して順に実行する。
【００９８】
ステップＳ５６１では、ＣＰＵ１０ａは、図１０の第２ワークテーブル３２から、処理対象本サービス名に対応する稼働状態情報を読み出し、この稼働状態情報が「運用中」を示すものであるか否かを、判別する。そして、ＣＰＵ１０ａは、処理対象本サービス名に対応する稼働状態情報が「運用中」でないと判断した場合（Ｓ５６１；ＮＯ）、この処理対象本サービス名に対する第６処理ループＬ６の実行を終了し、処理対象本サービス名に対応する稼働状態情報が「運用中」であると判断した場合（Ｓ５６１；ＹＥＳ）、ステップＳ５６２へ処理を進める。
【００９９】
ステップＳ５６２では、ＣＰＵ１０ａは、図１０の第２ワークテーブル３２から、処理対象本サービス名に対応する延べ顧客数を読み出し、この延べ顧客数がこの時点で設定されている上限値を超過しているか否かを、判別する。そして、ＣＰＵ１０ａは、処理対象本サービス名に対応する延べ顧客数が上限値を超過していないと判断した場合（Ｓ５６２；ＮＯ）、この処理対象本サービス名に対する第６処理ループＬ６の実行を終了し、処理対象本サービス名に対応する延べ顧客数が上限値を超過していると判断した場合（Ｓ５６２；ＹＥＳ）、ステップＳ５６３へ処理を進める。
【０１００】
なお、ステップＳ５６１及びＳ５６２を実行するＣＰＵ１０ａは、前述した優先サービス特定手段に相当する。
【０１０１】
ステップＳ５６３では、ＣＰＵ１０ａは、図１０の第２ワークテーブル３２から、処理対象本サービス名に対応する停止不可期間情報（「締め日」フィールド内の情報）を読み出し、保守可能期間決定処理の実行日からこの停止不可期間情報に含まれている日にちまでの日数に相当する数値を、ＲＡＭ１０ｂ内の数値から削除する。削除後、ＣＰＵ１０ａは、この処理対象本サービス名に対する第６処理ループＬ６の実行を終了する。
【０１０２】
ＣＰＵ１０ａは、このような第６処理ループＬ６を、図１０の第２ワークテーブル３２中の本サービス名に対して順に実行し、全ての本サービス名について第６処理ループＬ６を実行し終えると、ステップＳ５１１へ処理を進める。
【０１０３】
ステップＳ５１１では、ＣＰＵ１０ａは、ＲＡＭ１０ｂ内に一時記憶しておいた数値が残っているか否かを、判別する。そして、ＲＡＭ１０ｂ内に一時記憶しておいた数値が残っていなかった場合（Ｓ５１１；ＮＯ）、ＣＰＵ１０ａは、ステップＳ５１２へ処理を進める。
【０１０４】
ステップＳ５１２では、ＣＰＵ１０ａは、延べ顧客数の判定に用いる上限値を、この時点で設定されている値から、所定量だけ増加させる。この後、ＣＰＵ１０ａは、ステップＳ５１０へ処理を戻す。
【０１０５】
一方、ステップＳ５１１において、ＲＡＭ１０ｂ内に一時記憶しておいた数値が残っていた場合（Ｓ５１１；ＹＥＳ）、ＣＰＵ１０ａは、ステップＳ５１３へ処理を進める。
【０１０６】
ステップＳ５１３では、ＣＰＵ１０ａは、ＲＡＭ１０ｂ内に残っている全ての数値のそれぞれについて、保守可能期間決定処理の実行日からその数値と同じ日数だけ加算した日にちを算出する。
【０１０７】
次のステップＳ５１４では、ＣＰＵ１０ａは、ステップＳ５１３において算出した各日にちからなる保守可能期間を、図７の第１ワークテーブル３１における処理対象レコードの「保守可能期間」フィールドに記録する。記録後、ＣＰＵ１０ａは、図１４の保守可能期間決定処理を終了して、図９の保守実行期日決定処理におけるステップＳ３０４へ処理を進める。
【０１０８】
なお、ステップＳ５１３及びＳ５１４は、前述した停止可能期間決定手段に相当する。
【０１０９】
一方、ステップＳ５０８において、処理対象レコード中の緊急度が中度でないと判断した場合（Ｓ５０８；ＮＯ）、ＣＰＵ１０ａは、処理対象レコード中の緊急度が高度であるとして、ステップＳ５１５へ処理を進める。
【０１１０】
ステップＳ５１５では、ＣＰＵ１０ａは、延べ顧客数の判定に用いる上限値を「０」に設定する。
【０１１１】
次のステップＳ５１６では、ＣＰＵ１０ａは、図６の入力画面２１におけるテキストボックス２１ｆに入力された日数を読み出し、１からその日数と同じ数までの数値をそれぞれＲＡＭ１０ｂ内において一時記憶する。
【０１１２】
このステップＳ５１６の実行後、ＣＰＵ１０ａは、第７処理ループＬ７を実行する。具体的には、ＣＰＵ１０ａは、図１０の第２ワークテーブル３２中の本サービス名を一つずつ処理対象として特定することによって、ステップＳ５７１〜Ｓ５７３を、各本サービス名に対して順に実行する。
【０１１３】
ステップＳ５７１では、ＣＰＵ１０ａは、図１０の第２ワークテーブル３２から、処理対象本サービス名に対応する稼働状態情報を読み出し、この稼働状態情報が「運用中」を示すものであるか否かを、判別する。そして、ＣＰＵ１０ａは、処理対象本サービス名に対応する稼働状態情報が「運用中」でないと判断した場合（Ｓ５７１；ＮＯ）、この処理対象本サービス名に対する第７処理ループＬ７の実行を終了し、処理対象本サービス名に対応する稼働状態情報が「運用中」であると判断した場合（Ｓ５７１；ＹＥＳ）、ステップＳ５７２へ処理を進める。
【０１１４】
ステップＳ５７２では、ＣＰＵ１０ａは、図１０の第２ワークテーブル３２から、処理対象本サービス名に対応する延べ顧客数を読み出し、この延べ顧客数がこの時点で設定されている上限値を超過しているか否かを、判別する。そして、ＣＰＵ１０ａは、処理対象本サービス名に対応する延べ顧客数が上限値を超過していないと判断した場合（Ｓ５７２；ＮＯ）、この処理対象本サービス名に対する第７処理ループＬ７の実行を終了し、処理対象本サービス名に対応する延べ顧客数が上限値を超過していると判断した場合（Ｓ５７２；ＹＥＳ）、ステップＳ５７３へ処理を進める。
【０１１５】
なお、ステップＳ５７１及びＳ５７２を実行するＣＰＵ１０ａは、前述した優先サービス特定手段に相当する。
【０１１６】
ステップＳ５７３では、ＣＰＵ１０ａは、図１０の第２ワークテーブル３２から、処理対象本サービス名に対応する停止不可期間情報（「締め日」フィールド内の情報）を読み出し、保守可能期間決定処理の実行日からこの停止不可期間情報に含まれる日にちまでの日数に相当する数値を、ＲＡＭ１０ｂ内の数値から削除する。削除後、ＣＰＵ１０ａは、この処理対象本サービス名に対する第７処理ループＬ７の実行を終了する。
【０１１７】
ＣＰＵ１０ａは、このような第７処理ループＬ７を、図１０の第２ワークテーブル３２中の本サービス名に対して順に実行し、全ての本サービス名について第６処理ループＬ６を実行し終えると、ステップＳ５１７へ処理を進める。
【０１１８】
ステップＳ５１７では、ＣＰＵ１０ａは、ＲＡＭ１０ｂ内に一時記憶しておいた数値が残っているか否かを、判別する。そして、ＲＡＭ１０ｂ内に一時記憶しておいた数値が残っていなかった場合（Ｓ５１７；ＮＯ）、ＣＰＵ１０ａは、ステップＳ５１８へ処理を進める。
【０１１９】
ステップＳ５１８では、ＣＰＵ１０ａは、延べ顧客数の判定に用いる上限値を、この時点で設定されている値から、所定量だけ増加させる。この後、ＣＰＵ１０ａは、ステップＳ５１６へ処理を戻す。
【０１２０】
一方、ステップＳ５１７において、ＲＡＭ１０ｂ内に一時記憶しておいた数値が残っていた場合（Ｓ５１７；ＹＥＳ）、ＣＰＵ１０ａは、ステップＳ５１９へ処理を進める。
【０１２１】
ステップＳ５１９では、ＣＰＵ１０ａは、ＲＡＭ１０ｂ内に残っている全ての数値のそれぞれについて、保守可能期間決定処理の実行日からその数値と同じ日数だけ加算した日にちを算出する。
【０１２２】
次のステップＳ５２０では、ＣＰＵ１０ａは、ステップＳ５１９において算出した各日にちからなる保守可能期間を、図７の第１ワークテーブル３１における処理対象レコードの「保守可能期間」フィールドに記録する。記録後、ＣＰＵ１０ａは、図１４の保守可能期間決定処理を終了して、図９の保守実行期日決定処理におけるステップＳ３０４へ処理を進める。
【０１２３】
なお、ステップＳ５１９及びＳ５２０を実行するＣＰＵ１０ａは、前述した停止可能期間決定手段に相当する。
【０１２４】
ステップＳ３０４では、ＣＰＵ１０ａは、図１０の第２ワークテーブル３２，図１１の第３ワークテーブル３３，及び、第４ワークテーブル（図示略）を削除する。削除後、ＣＰＵ１０ａは、処理対象レコードに対する第２処理ループＬ２の実行を終了する。
【０１２５】
ＣＰＵ１０ａは、このような第２処理ループＬ２を、図７の第１ワークテーブル３１中の各レコードに対して順に実行し、全てのレコードについて第２処理ループＬ２を実行し終えると、ステップＳ３１１へ処理を進める。
【０１２６】
ステップＳ３１１では、ＣＰＵ１０ａは、図７の第１ワークテーブル３１内のサーバ識別情報のそれぞれについて、その保守可能期間中の日にちのうち、現時点に最も近い日にちを、保守実行期日として決定する。決定後、ＣＰＵ１０ａは、図９の保守実行期日決定処理を終了し、図５の保守日程提案処理におけるステップＳ１０６へ処理を進める。
【０１２７】
ステップＳ１０６では、ＣＰＵ１０ａは、ステップＳ３１１において決定された保守実行期日と、図７の第１ワークテーブル３１中の各レコードとに基づいて、保守日程案提示画面を表示装置１０ｃに表示する。図１７は、保守日程案提示画面２２の一例を示す図である。図１７の保守日程案提示画面２２には、保守実行期日と保守所要時間とが、記述されている。また、図１７の保守日程案提示画面２２には、第１ワークテーブル３１中の各サーバ識別情報にて示される各サーバ装置において運用中の業務サービスの名称が、列挙されている。ＣＰＵ１０ａは、このような保守日程案提示画面２２を表示装置１０ｃに表示した後、図５の保守日程提案処理を終了する。
【０１２８】
なお、ステップＳ１０６を実行するＣＰＵ１０ａは、前述した表示手段に相当する。
【０１２９】
以上のような処理が実行されるため、本実施形態の保守日程提案装置１０は、以下に記述するように作用する。
【０１３０】
上記業務ネットワークシステムの管理者は、何れかのサーバ装置にインストールされているＯＳソフトウエアや事務用ソフトウエアスイートにパッチを当てる必要が生じた場合、保守日程提案装置１０の入力装置１０ｄを操作することによって、保守日程提案プログラム１４を起動する。
【０１３１】
すると、保守日程提案装置１０の表示装置１０ｃには、図６に示されるような入力画面２１が、表示される（Ｓ１０１）。管理者は、この入力画面２１の一個目のプルダウンリストボックス２１ａに、パッチを当てる必要が生じたソフトウエアの名称を入力するとともに、残りのプルダウンリストボックス２１ｂ〜２１ｅに、そのパッチを当てる際の保守作業の条件を入力し、登録ボタン２１ｈをクリックする。
【０１３２】
そして、管理者は、このような入力作業を、パッチを当てる必要のあるソフトウエアの数だけ行った後、実行ボタン２１ｉをクリックする（Ｓ１０２）。すると、保守日程提案装置１０は、パッチを当てるという保守作業が必要なソフトウエアがインストールされているサーバ装置を割り出し（Ｓ１０３，Ｌ１，Ｓ２０１〜Ｓ２０８）、割り出したサーバ装置のそれぞれについて、入力画面２１において指定された緊急度，及び、そのサーバ装置が提供する業務サービスの顧客規模とその稼働状態とその停止不可期間情報とに応じて、保守実行期日を決定する（Ｓ１０５，Ｌ２，Ｓ３１１）。
【０１３３】
ここで、保守日程提案装置１０は、緊急度が低度である場合（Ｓ５０１；ＹＥＳ）には、まず、その実行日から所定のＮ日間までの各日にちが、そのサーバ装置が提供する全ての業務サービスの停止不可期間情報にて示される日にちにて満たされているかを、判別する（Ｓ５０２，Ｌ５，Ｓ５０４）。そして、保守日程提案装置１０は、何れかの日にちが残されていれば、その実行日に最も近い日を保守実行期日として決定し（Ｓ５０４；ＹＥＳ，Ｓ５０６，Ｓ５０７）、何れの日にちも残されていなければ、延べ顧客数が上限値を超過しない業務サービスが出てくるまで、上限値を徐々に増加させる（Ｓ５０４；ＮＯ，Ｓ５０５，Ｓ５０３，Ｌ５）。
【０１３４】
また、保守日程提案装置１０は、緊急度が中度である場合（Ｓ５０１；ＮＯ，Ｓ５０８；ＹＥＳ）には、まず、その実行日から所定のＮ日間までの各日にちが、そのサーバ装置における運用中の業務サービスの停止不可期間情報にて示される日にちにて満たされているかを、判別する（Ｓ５１０，Ｌ６，Ｓ５１１）。そして、保守日程提案装置１０は、何れかの日にちが残されていれば、その実行日に最も近い日を保守実行期日として決定し（Ｓ５１１；ＹＥＳ，Ｓ５１３，Ｓ５１４）、何れの日にちも残されていなければ、延べ顧客数が上限値を超過しない運用中の業務サービスが出てくるまで、上限値を徐々に増加させる（Ｓ５１１；ＮＯ，Ｓ５１２，Ｓ５１０，Ｌ６）。
【０１３５】
さらに、保守日程提案装置１０は、緊急度が高度である場合（Ｓ５０１；ＮＯ，Ｓ５０８；ＮＯ）には、まず、その実行日から、図６の入力画面２１において指定された日数までの日にちが、そのサーバ装置における運用中の業務サービスの停止不可期間情報にて示される日にちにて満たされているかを、判別する（Ｓ５１６，Ｌ７，Ｓ５１７）。そして、保守日程提案装置１０は、何れかの日にちが残されていれば、その実行日に最も近い日を保守実行期日として決定し（Ｓ５１７；ＹＥＳ，Ｓ５１９，Ｓ５２０）、何れの日にちも残されていなければ、延べ顧客数が上限値を超過しない運用中の業務サービスが出てくるまで、上限値を徐々に増加させる（Ｓ５１７；ＮＯ，Ｓ５１８，Ｓ５１６，Ｌ７）。
【０１３６】
そして、保守日程提案装置１０は、上記のようにして、各サーバ装置について決定した保守実行期日を、保守日程案提示画面２２を表示装置１０ｃに表示することによって、管理者に通知する。
【０１３７】
以上のように作用するため、本実施形態の保守日程提案装置１０は、業務ネットワークシステム内の各サーバ装置を保守する際に、各サーバ装置が提供する業務サービスの利用者の規模に応じてその保守に最適な日程を、管理者に提案することができる。つまり、管理者は、ソフトウエアの保守作業に係る条件を入力画面２１に入力するだけで、業務サービスの利用者の規模に応じて最適な保守の実行日を、簡単に決定することができる。
【図面の簡単な説明】
【０１３８】
【図１】本実施形態の保守日程提案装置を概略的に示す構成図
【図２】ソフトウエア管理テーブルのデータ構造の一例を示す図
【図３】連携情報管理テーブルのデータ構造の一例を示す図
【図４】アクセス履歴テーブルのデータ構造の一例を示す図
【図５】保守日程提案処理の内容を示すフローチャート
【図６】入力画面の一例を示す図
【図７】第１ワークテーブルのデータ構造の一例を示す図
【図８】サーバ特定処理の内容を示すフローチャート
【図９】保守実行期日決定処理の内容を示すフローチャート
【図１０】第２ワークテーブルのデータ構造の一例を示す図
【図１１】第３ワークテーブルのデータ構造の一例を示す図
【図１２】顧客数積算処理の内容を示すフローチャート
【図１３】顧客数積算処理の内容を示すフローチャート
【図１４】保守可能期間決定処理の内容を示すフローチャート
【図１５】保守可能期間決定処理の内容を示すフローチャート
【図１６】保守可能期間決定処理の内容を示すフローチャート
【図１７】保守日程案提示画面の一例を示す図
【符号の説明】
【０１３９】
１０    保守日程提案装置
１０ａ  ＣＰＵ
１０ｂ  ＲＡＭ
１０ｃ  表示装置
１０ｄ  入力装置
１０ｅ  ＦＤＤ
１０ｆ  ＣＤＤ
１０ｇ  ＨＣＤＤ
１１    ソフトウエア管理テーブル
１２    連携情報管理テーブル
１３    アクセス履歴テーブル
１４    保守日程提案プログラム
２１    入力画面
２２    保守日程案提示画面
３１    第１ワークテーブル
３２    第２ワークテーブル
３３    第３ワークテーブル
【図１】
2005275573.tif 000003
【図２】
2005275573.tif 000004
【図３】
2005275573.tif 000005
【図４】
2005275573.tif 000006
【図５】
2005275573.tif 000007
【図６】
2005275573.tif 000008
【図７】
2005275573.tif 000009
【図８】
2005275573.tif 000010
【図９】
2005275573.tif 000011
【図１０】
2005275573.tif 000012
【図１１】
2005275573.tif 000013
【図１２】
2005275573.tif 000014
【図１３】
2005275573.tif 000015
【図１４】
2005275573.tif 000016
【図１５】
2005275573.tif 000017
【図１６】
2005275573.tif 000018
【図１７】
2005275573.tif 000019