(57)【特許請求の範囲】
【請求項１】
コンピュータに、
ユーザが利用している第１装置を識別する第１個体情報と前記第１装置に実装されている第１ソフトウェアの製品名と、発生したエラーを示す第１エラー情報とを含む、前記第１ソフトウェアに対するサポート依頼を取得し、
前記製品名のソフトウェアに関して前記ユーザと締結されたサポート契約の適用対象となっている第２ソフトウェアが実装されている第２装置を識別する第２個体情報を記憶する記憶部を参照し、前記サポート依頼に示される前記第１個体情報と一致する前記第２個体情報が前記記憶部に記憶されておらず、かつ前記記憶部に記憶されている前記第２個体情報の数が、前記サポート契約に基づいてサポート可能なソフトウェア数を示すサポート数未満である場合、前記サポート依頼に示される前記第１個体情報を前記第２個体情報として前記記憶部に格納し、
前記第１個体情報と一致する前記第２個体情報が前記記憶部に記憶されている場合、前記第１装置から、前記第１ソフトウェアが出力した第２エラー情報を取得し、前記第１エラー情報と一致する前記第２エラー情報が存在しない場合、前記第１ソフトウェアにエラーが発生していないことを示すメッセージを出力する、
処理を実行させる管理プログラム。
【請求項２】
前記記憶部は、前記第２装置それぞれの前記第２個体情報に対応付けて、前記サポート数分のサポート契約特定番号のうちの１つを記憶しており、
前記格納では、前記サポート契約特定番号が対応付けられた前記第２個体情報の中に前記第１個体情報と一致するものがなく、かつ前記第２個体情報に対応付けられていない前記サポート契約特定番号が少なくとも１つ存在する場合、前記第１個体情報に対応付けて、前記第２個体情報に対応付けられていない前記サポート契約特定番号のうちの１つを前記記憶部に格納する、
請求項１記載の管理プログラム。
【請求項３】
前記記憶部は、前記ユーザが有する装置のうち、前記製品名のソフトウェアが実装された実装済装置を識別する実装済個体情報に対応付けて、前記ユーザに販売した前記製品名のソフトウェアの数分のソフトウェア出荷特定番号のうちの１つを記憶しており、前記実装済個体情報のうち、前記サポート契約特定番号が対応付けられた前記実装済個体情報が、前記第２個体情報として区別されており、
前記格納では、前記サポート依頼に示される前記第１個体情報と一致する前記実装済個体情報に対応付けて、前記実装済個体情報に対応付けられていない前記サポート契約特定番号を前記記憶部に格納する、
請求項２記載の管理プログラム。
【請求項４】
前記コンピュータに、さらに、
前記ユーザが有する装置から前記製品名のソフトウェアがアンインストールされたことを検知した場合、アンインストールが行われた装置を識別する個体情報と一致する前記第２個体情報を、前記記憶部から削除し、
前記ユーザが有する装置に前記製品名のソフトウェアがインストールされたことを検知した場合、インストールが行われた装置を識別する個体情報を、削除された前記第２個体情報に対応付けられていた前記サポート契約特定番号に対応付けて、新たな前記第２個体情報として前記記憶部に格納する、
請求項２または３記載の管理プログラム。
【請求項５】
前記コンピュータに、さらに、
前記記憶部に記憶されている前記第２個体情報の数が、前記サポート契約に基づいてサポート可能なソフトウェア数を示すサポート数未満である場合、サポート適用対象が未確定の前記サポート契約を示す第１オブジェクトと、前記第１装置を示す第２オブジェクトとを表示する画面データを、前記ユーザが使用する端末装置に送信する、
請求項１ないし４のいずれかに記載の管理プログラム。
【請求項６】
前記コンピュータに、さらに、
前記ユーザが有する装置に前記製品名のソフトウェアがインストールされたことを検知した場合、前記製品名のソフトウェアがインストールされた装置の数を示すインストール検出本数をカウントアップし、
前記インストール検出本数が、前記ユーザに出荷した前記製品名のソフトウェアの数を超えた場合、インストール数超過を示すメッセージを出力する、
請求項１ないし５のいずれかに記載の管理プログラム。
【請求項７】
コンピュータが、
ユーザが利用している第１装置を識別する第１個体情報と前記第１装置に実装されている第１ソフトウェアの製品名と、発生したエラーを示す第１エラー情報とを含む、前記第１ソフトウェアに対するサポート依頼を取得し、
前記製品名のソフトウェアに関して前記ユーザと締結されたサポート契約の適用対象となっている第２ソフトウェアが実装されている第２装置を識別する第２個体情報を記憶する記憶部を参照し、前記サポート依頼に示される前記第１個体情報と一致する前記第２個体情報が前記記憶部に記憶されておらず、かつ前記記憶部に記憶されている前記第２個体情報の数が、前記サポート契約に基づいてサポート可能なソフトウェア数を示すサポート数未満である場合、前記サポート依頼に示される前記第１個体情報を前記第２個体情報として前記記憶部に格納し、前記第１個体情報と一致する前記第２個体情報が前記記憶部に記憶されている場合、前記第１装置から、前記第１ソフトウェアが出力した第２エラー情報を取得し、前記第１エラー情報と一致する前記第２エラー情報が存在しない場合、前記第１ソフトウェアにエラーが発生していないことを示すメッセージを出力する、
管理方法。
【請求項８】
所定の製品名のソフトウェアに関してユーザと締結されたサポート契約の適用対象となっている第２ソフトウェアが実装されている第２装置を識別する第２個体情報を記憶する記憶部と、
前記ユーザが利用している第１装置を識別する第１個体情報と前記第１装置に実装されている第１ソフトウェアの製品名と、発生したエラーを示す第１エラー情報とを含む、前記第１ソフトウェアに対するサポート依頼を取得し、前記記憶部を参照し、前記サポート依頼に示される前記第１個体情報と一致する前記第２個体情報が前記記憶部に記憶されておらず、かつ前記記憶部に記憶されている前記第２個体情報の数が、前記サポート契約に基づいてサポート可能なソフトウェア数を示すサポート数未満である場合、前記サポート依頼に示される前記第１個体情報を前記第２個体情報として前記記憶部に格納し、前記第１個体情報と一致する前記第２個体情報が前記記憶部に記憶されている場合、前記第１装置から、前記第１ソフトウェアが出力した第２エラー情報を取得し、前記第１エラー情報と一致する前記第２エラー情報が存在しない場合、前記第１ソフトウェアにエラーが発生していないことを示すメッセージを出力する処理部と、
を有する管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理プログラム、管理方法、管理装置、サポート依頼プログラム、およびサポート依頼装置に関する。
【背景技術】
【０００２】
企業がコンピュータシステムを運用していると、様々な問題が発生する。問題は、機器の設定の間違いが原因だったり、ソフトウェアのバグが原因だったり、様々な原因で発生する。そのため発生したすべての問題に対して、企業が独自に迅速に対応するのは難しい。そこで、コンピュータシステムの運用をサポートするサービスがある。【０００３】
コンピュータシステムの運用のサポートには、ハードウェアのサポートとソフトウェアのサポートとがある。ソフトウェアに対するサポートは、正規に販売された製品に対してのみ行われる。ソフトウェアは不正コピーが容易であるため、例えばソフトウェアに個体特定のための識別番号が設定される。ソフトウェアに対してサポートをする際には、識別番号に基づいてネットワーク経由で特定のソフトウェアの動作状況を調査し、そのソフトウェアの使用ライセンスの範囲内の使用であることを確認した上で、そのソフトウェアに対するサポートが行われる。【０００４】
ネットワーク経由でコンピュータシステムをサポートする技術としては、例えば機器固有情報を用いて、クライアント操作端末とネットワーク機器とを簡便に接続する技術がある。またソフトウェアの不正コピーを防止する技術としては、流通ソフトウェアの配布先を、識別子を含む情報によって管理し、不正コピーを監視する技術がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−９９７２０号公報
【特許文献２】特開平８−１９０５２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ソフトウェアの高度なサポートサービスは、サービス契約を締結した顧客に対してのみ提供される。サービス契約は、ソフトウェア１本ずつ個別に行われる。ソフトウェアに個体識別番号があれば、その個体識別番号によって契約したサービスの対象となるソフトウェアを特定できる。【０００７】
その一方、個体特定のための識別番号が存在しないソフトウェアを対象としたサポートサービスを提供する場合もある。従来は、個体識別番号を有していないソフトウェア１本ずつについて、サポート契約が締結されているかどうかを判断することができない。そのため顧客は、１つのサポートサービスを、複数のソフトウェアで使いまわすことが可能となっている。例えば、同種のソフトウェアを１０本購入し、そのうちの１本についてのみサポート契約を締結している顧客を想定する。この顧客からトラブルに対するサポートの問い合わせを受けたとき、サポートサービス提供者側では、トラブルが発生したソフトウェアがサポート対象のソフトウェアなのかどうかを確認する手段がない。そのため顧客は、１本のソフトウェアに対するサポート契約で、それ以外の任意のソフトウェアに対するサポートを受けることが可能となっている。【０００８】
１つの側面では、本発明は、個体識別番号を有していないソフトウェアに対するサポート契約の有無を判断できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
１つの案では、以下の処理をコンピュータに実行させる管理プログラムが提供される。
管理プログラムに基づいて、コンピュータは、ユーザが利用している第１装置を識別する第１個体情報と第１装置に実装されている第１ソフトウェアの製品名とを含む、第１ソフトウェアに対するサポート依頼を取得する。そしてコンピュータは、製品名のソフトウェアに関してユーザと締結されたサポート契約の適用対象となっている第２ソフトウェアが実装されている第２装置を識別する第２個体情報を記憶する記憶部を参照し、サポート依頼に示される第１個体情報と一致する第２個体情報が記憶部に記憶されておらず、かつ記憶部に記憶されている第２個体情報の数が、サポート契約に基づいてサポート可能なソフトウェア数を示すサポート数未満である場合、サポート依頼に示される第１個体情報を第２個体情報として記憶部に格納する。
【発明の効果】
【００１０】
１態様によれば、個体識別番号を有していないソフトウェアに対するサポート契約の有無の判断が可能となる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】第１の実施の形態に係る装置の機能構成例を示す図である。
【図２】第２の実施の形態のシステム構成例を示す図である。
【図３】管理装置のハードウェアの一構成例を示す図である。
【図４】各装置の機能の一例を示すブロック図である。
【図５】ハードウェア出荷情報ＤＢの一例を示す図である。
【図６】ソフトウェア出荷情報ＤＢの一例を示す図である。
【図７】サポート契約管理ＤＢの一例を示す図である。
【図８】ソフトウェアインストール数超過テーブルの一例を示す図である。
【図９】ソフトウェア契約状態管理テーブルの一例を示す図である。
【図１０】ソフトウェアインストール時の処理の一例を示す図である。
【図１１】サポート問い合わせの処理の一例を示す図である。
【図１２】問い合わせ時操作画面の一例を示す図である。
【図１３】サポート契約選択後の問い合わせ時操作画面の一例を示す図である。
【図１４】複数のサーバへのソフトウェアのインストール時の処理の一例を示す図である。
【図１５】不正なサポートの問い合わせに対する処理の一例を示す図である。
【図１６】エラーが発生していない場合の問い合わせ時操作画面の一例を示す図である。
【図１７】ソフトウェアインストール数超過抑止処理の一例を示す図である。
【図１８】インストール数超過のアラートが表示された問い合わせ時操作画面の一例を示す図である。
【図１９】ソフトウェアのアンインストール時の処理の一例を示す図である。
【図２０】ソフトウェアの再インストール時の処理の一例を示す図である。
【図２１】契約期間自動チェック処理の一例を示す図である。
【図２２】サポート契約が期限切れの場合の問い合わせ時操作画面の一例を示す図である。
【図２３】リモートエージェントからの情報取得処理の手順の一例を示すフローチャート（１／３）である。
【図２４】リモートエージェントからの情報取得処理の手順の一例を示すフローチャート（２／３）である。
【図２５】リモートエージェントからの情報取得処理の手順の一例を示すフローチャート（３／３）である。
【図２６】問い合わせ対応処理の手順の一例を示すフローチャート（１／２）である。
【図２７】問い合わせ対応処理の手順の一例を示すフローチャート（２／２）である。
【図２８】契約期間自動チェック処理の手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第１の実施の形態〕
まず、第１の実施の形態について説明する。第１の実施の形態は、個体識別番号を有していないソフトウェアに対するサポート契約の有無の判断が可能な管理装置である。
【００１３】
図１は、第１の実施の形態に係る装置の機能構成例を示す図である。管理装置１０は、ユーザが管理しているユーザ運用システム１にネットワークを介して接続されている。ユーザ運用システム１には、製品名「ソフトａ」のソフトウェアが実装された複数の装置１ａ，１ｂ，１ｃと、ユーザがサポート依頼２ａ〜２ｄに使用する端末装置１ｄとが含まれる。サポート依頼は、ユーザが利用している装置を識別する個体情報、その装置に実装されているソフトウェアの製品名、および発生したエラーを示すエラー情報を含む。ここで、サポート依頼におけるサポートの対象となるソフトウェアを第１ソフトウェア、第１ソフトウェアが実装されている装置を第１装置、第１装置の個体情報を第１個体情報とする。
【００１４】
装置１ａ，１ｂ，１ｃは、例えばサーバなどのコンピュータである。装置１ａ，１ｂ，１ｃには、個体情報が付与されている。個体情報は、製造時に付与されるシリアル番号や、通信に使用するハードウェアアドレスなどである。
【００１５】
管理装置１０は、製品名「ソフトａ」のソフトウェアのサポートを行うサポートサービス会社が管理するコンピュータである。管理装置１０は、記憶部１１と処理部１２とを有する。記憶部１１は、例えば管理装置１０が有するメモリまたはストレージ装置である。処理部１２は、例えば管理装置１０が有するプロセッサまたはプロセッサに類する演算回路である。
【００１６】
記憶部１１は、サポート契約情報１１ａと契約状態管理情報１１ｂとを記憶する。サポート契約情報１１ａは、ユーザとの間で締結された、製品名「ソフトａ」のソフトウェアに対するサポート契約に関する情報である。サポート契約情報１１ａには、例えばソフトウェア１本分のサポート契約ごとに、そのサポート契約を識別するサポート契約特定番号が設定されている。サポート契約特定番号の数によって、サポート可能なソフトウェアの本数（サポート数）が示される。
【００１７】
契約状態管理情報１１ｂには、製品名「ソフトａ」のソフトウェアに関してユーザと締結されたサポート契約の適用対象となっているソフトウェアが実装されている装置を識別する個体情報を記憶する。ここで、サポート契約の適用対象となっているソフトウェアを第２ソフトウェア、第２ソフトウェアが実装されている装置を第２装置、第２装置の個体情報を第２個体情報とする。図１の例では、装置１ａ，１ｂが第２装置に相当し、これらの装置１ａ，１ｂの個体情報「ＭＡ００１」と「ＭＡ００２」が、第２個体情報として契約状態管理情報１１ｂに示されている。第２個体情報には、例えば第２装置に実装されているソフトウェアを特定するソフトウェア出荷特定番号や、そのソフトウェアに適用されるサポート契約を識別するサポート契約特定番号が対応付けられている。
【００１８】
処理部１２は、端末装置１ｄからのサポート依頼２ａ〜２ｄに応じて、適用可能なサポート契約の有無を判断する。例えば処理部１２は、端末装置１ｄからサポート依頼２ａ〜２ｄを取得する。次に処理部１２は、記憶部１１を参照し、サポート契約の適用条件を判定する。適用条件の判定では、例えば処理部１２は、サポート依頼に示される第１個体情報と一致する第２個体情報が記憶部１１に記憶されておらず、かつ記憶部１１に記憶されている第２個体情報の数がサポート数未満であるかどうかを判定する。処理部１２は、適用条件が満たされた場合、サポート依頼に示される第１個体情報を第２個体情報として記憶部１１に格納する。
【００１９】
図１の例では、最初に装置１ａでエラーが発生し、端末装置１ｄから１件目のサポート依頼２ａが出力されている。サポート依頼２ａを取得した処理部１２は、サポート契約の適用条件が満たされていると判定し、装置１ａに実装されているソフトウェアに、サポート契約特定番号「ＳＤＫ００１」のサポート契約を適用している。そして処理部１２は、契約状態管理情報１１ｂに、サポート依頼２ａに示されている第１個体情報「ＭＡ００１」を、第２個体情報として設定している。これにより、サポート依頼２ａが正当に受け付けられたことになり、サポート依頼２ａに応じたサポートが実施される。
【００２０】
２番目に装置１ｂでエラーが発生し、端末装置１ｄから２件目のサポート依頼２ｂが出力されている。サポート依頼２ｂを取得した処理部１２は、サポート契約の適用条件が満たされていると判定し、装置１ｂに実装されているソフトウェアに、サポート契約特定番号「ＳＤＫ００２」のサポート契約を適用している。そして処理部１２は、契約状態管理情報１１ｂに、サポート依頼２ｂに示されている第１個体情報「ＭＡ００２」を、第２個体情報として設定している。これにより、サポート依頼２ｂが正当に受け付けられたことになり、サポート依頼２ｂに応じたサポートが実施される。
【００２１】
３番目に装置１ｃでエラーが発生し、端末装置１ｄから３件目のサポート依頼２ｃが出力されている。サポート依頼２ｃを取得した処理部１２は、第２個体情報の数がサポート数（２本）に達しているため、サポート契約の適用条件が満たされていないと判定し、装置１ｃに実装されているソフトウェアへのサポート契約の適用を拒否する。この場合、処理部１２は、例えば、追加のサポート契約を求めるメッセージを端末装置１ｄに出力する。
【００２２】
このときユーザが、エラーが発生した装置を詐称する場合もあり得る。例えばエラーが発生したのが装置１ｃであるにもかかわらず、装置１ａの個体情報「ＭＡ００１」を第１個体情報として含むサポート依頼２ｄが、端末装置１ｄから送信されたものとする。この場合、サポート依頼２ｄを受信した処理部１２は、契約状態管理情報１１ｂを参照して、既に第１個体情報に示される装置１ａに実装されているソフトウェアには、サポート契約特定番号「ＳＤＫ００１」のサポート契約が適用されていることを認識する。
【００２３】
そこで処理部１２は、装置１ａにアクセスし、装置１ａに実装されている製品名「ソフトａ」のソフトウェアのエラー情報を取得する。処理部１２は、サポート依頼２ｄに含まれるエラー情報と一致するエラー情報が、装置１ａから取得できたか否かを判断する。一致するエラー情報が取得できた場合、サポート依頼が正当であると判断できる。図１の例では、実際にエラーが発生したのは装置１ｃであるため、一致するエラー情報が取得できない。この場合、処理部１２は、エラーが発生していないことを示すメッセージを、端末装置１ｄに送信する。
【００２４】
このようにして、個体識別番号を有していないソフトウェアに対するサポート契約の有無を的確に判断することができる。すなわち第１の実施の形態では、管理装置１０は、ソフトウェアに対してサポート契約を適用した場合、適用したサポート契約に対応付けて、そのソフトウェアが実装されている装置の個体情報を、第２個体情報として記憶する。以後、管理装置１０は、第２個体情報に示される装置に実装されてソフトウェアについてのサポート依頼について、サポート契約が存在するものと判断する。
【００２５】
第２個体情報として記憶できる個体情報の数は、サポート契約によってサポート可能な数（サポート数）までである。従って、ユーザがサポート契約を超えた本数のソフトウェアについてのサポート依頼を行っても、サポート数を超えた分のサポートが実施されることが抑止される。
【００２６】
さらに、管理装置１０は、エラー情報の照合を行っているため、ユーザがエラー発生した装置を偽った場合、装置が誤っていることを検出できる。その結果、ユーザの不正によってサポート契約の適用範囲外のソフトウェアのサポートが実施されることを抑止することができる。
【００２７】
なお、記憶部１１の契約状態管理情報１１ｂには、第２装置それぞれの第２個体情報に対応付けて、サポート数分のサポート契約特定番号のうちの１つが記憶されている。この場合、サポート依頼を取得した処理部１２は、例えば、サポート契約特定番号が対応付けられた第２個体情報の中に第１個体情報と一致するものがなく、かつ第２個体情報に対応付けられていないサポート契約特定番号が少なくとも１つ存在することを確認する。処理部１２は、これらのことが確認できたときに、第１個体情報に対応付けて、第２個体情報に対応付けられていないサポート契約特定番号のうちの１つを記憶部１１に格納するようにしてもよい。このように、第２個体情報に対応付けられていないサポート契約特定番号が存在する場合にのみ、新たな第２個体情報の格納を行うことで、サポート対象のソフトウェアの本数が、サポート契約に示すサポート数を超えないことを保証できる。
【００２８】
また、第２個体情報に対応付けられていないサポート契約特定番号が少なくとも１つ存在することを、ユーザの端末装置１ｄに表示させ、適用可能なサポート契約の存在をユーザに告知することもできる。例えば処理部１２は、第２個体情報の数がサポート数未満である場合、サポート適用対象が未確定のサポート契約を示す第１オブジェクトと、第１装置を示す第２オブジェクトとを表示する画面データを、ユーザが使用する端末装置１ｄに送信する。画面データに基づいて、第１オブジェクトと第２オブジェクトとが端末装置１ｄの画面に表示される。これにより、ユーザは、第１装置に実装されているソフトウェアに適用可能なサポート契約があることを容易に認識できる。
【００２９】
端末装置１ｄでは、例えば、第１オブジェクトと第２オブジェクトとを関連付ける入力に応じて、第１装置を識別する第１個体情報と第１装置に実装されている第１ソフトウェアの製品名とを含む、第１ソフトウェアに対するサポート依頼を管理装置１０に送信する。これによりサポート依頼を容易に行うことができる。また管理装置１０では、端末装置１ｄにおける第１オブジェクトと第２オブジェクトとの関連付けに基づくサポート依頼しか受け付けないようにする。これにより、サポート契約を超えたサポート依頼が出されることを抑止できる。例えば図１に示すサポート依頼２ｃのようなサポート依頼の発生を抑止し、無駄な処理を減らすことができる。
【００３０】
さらに管理装置１０は、各装置１ａ，１ｂ，１ｃに対する製品名「ソフトａ」のソフトウェアのインストールの有無を監視してもよい。その場合、記憶部１１に、ユーザが有する装置のうち、製品名のソフトウェアが実装された装置（実装済装置）を識別する個体情報（実装済個体情報）に対応付けて、ユーザに販売した製品名のソフトウェアの数分のソフトウェア出荷特定番号のうちの１つを記憶する。記憶した実装済個体情報のうち、サポート契約特定番号が対応付けられた実装済個体情報を、第２個体情報として区別することができる。この場合、処理部１２は、サポート依頼に示される第１個体情報と一致する実装済個体情報に対応付けて、実装済個体情報に対応付けられていないサポート契約特定番号を記憶部１１に格納する。
【００３１】
このように、ソフトウェアがいずれかの装置にインストールされるごとに、そのソフトウェアにソフトウェア出荷特定番号を付与することで、以後、そのソフトウェアをソフトウェア出荷特定番号によって管理できる。例えばソフトウェアと、そのソフトウェアに適用されるサポート契約との対応関係を、ソフトウェア出荷特定番号とサポート契約特定番号との対応関係で表すことができる。
【００３２】
さらに、管理装置１０は、各装置１ａ，１ｂ，１ｃに対する製品名「ソフトａ」のソフトウェアのアンインストールの有無を監視してもよい。例えば処理部１２は、ユーザが有する装置から製品名「ソフトａ」のソフトウェアがアンインストールされたことを検知した場合、アンインストールが行われた装置を識別する個体情報と一致する第２個体情報を、記憶部１１から削除する。アンインストールされたソフトウェアが別の装置にインストールされることもある。この場合、管理装置１０の処理部１２は、アンインストールされたソフトウェアが、他の装置にインストールされたことを検知する。そして処理部１２は、インストールが行われた装置を識別する個体情報を、アンインストール時に削除された第２個体情報に対応付けられていたサポート契約特定番号に対応付けて、新たな第２個体情報として記憶部１１に格納する。
【００３３】
これにより、サポート契約の適用対象のソフトウェアを実行する装置を変更した場合でも、そのソフトウェアに対するサポート契約を維持することができる。
さらに処理部１２は、ユーザが有する装置に製品名「ソフトａ」のソフトウェアがインストールされたことを検知した場合、その製品名のソフトウェアがインストールされた装置の数を示すインストール検出本数をカウントアップするようにしてもよい。そして処理部１２は、インストール検出本数が、ユーザに出荷した製品名のソフトウェアの数を超えた場合、インストール数超過を示すメッセージを出力する。これにより、出荷本数を超えたソフトウェアの使用を抑止することができる。
【００３４】
なお、管理装置１０の機能は、例えば管理プログラムを管理装置１０に実行させることで実現できる。また端末装置１ｄの機能は、例えばサポート依頼プログラムを端末装置１ｄに実行させることで実現できる。
【００３５】
〔第２の実施の形態〕
次に第２の実施の形態について説明する。
図２は、第２の実施の形態のシステム構成例を示す図である。顧客企業３０は、サービス提供業者４０から、コンピュータシステムに関する各種サービスの提供を受ける。例えば顧客企業３０は、コンピュータなどのサーバ３１〜３４をサービス提供業者４０から購入し、サービス提供業者４０によるサーバ３１〜３４の保守サービスを受ける。また顧客企業３０は、各サーバ３１〜３４にインストールするソフトウェアをサービス提供業者４０から購入する。そして顧客企業３０は、購入したソフトウェアのサポートサービスを、サービス提供業者４０から受ける。例えば顧客企業３０は、ネットワーク２０に接続された端末装置３５を用いて管理装置１００にアクセスし、サポート契約におけるサポート対象となるソフトウェアを指定する。そして顧客企業３０からサービス提供業者４０へ、サポート対象となるソフトウェアに関するトラブル対処方法などの問い合わせを行う。
【００３６】
サービス提供業者４０は、顧客企業３０に納入したサーバ３１〜３４の保守や、各サーバ３１〜３４にインストールされたソフトウェアのサポートサービスを提供する。サービスの提供は、例えばネットワーク２０経由で行われる。その場合、サービス提供業者４０側の端末装置４１や管理装置１００が、ネットワーク２０を介して顧客企業３０内のサーバ３１〜３４に接続される。
【００３７】
端末装置４１は、サービス提供業者４０のコールセンタにいるオペレータが使用するコンピュータである。オペレータは、端末装置４１を用いて顧客企業３０に販売したサーバ３１〜３４の種別、ソフトウェアの種別、ソフトウェアのサポートサービスの契約内容を確認する。そしてオペレータは、ソフトウェアのサポートの問い合わせを受け、契約の範囲内で、問い合わせに対するサポートを行う。例えばサービス提供業者４０は、サポートサービスの契約に応じて、顧客企業３０に対してソフトウェアのサポートライセンスを発行する。ソフトウェアのサポートライセンスは、そのソフトウェアに対するサポートを受ける権利を示している。
【００３８】
管理装置１００は、顧客企業３０に販売したソフトウェアのサポートライセンスを管理するコンピュータである。
なお図２に示すサーバ３１〜３４は、第１の実施の形態に示した装置１ａ，１ｂ，１ｃの一例である。図２に示す管理装置１００は、第１の実施の形態に示した管理装置１０の一例である。図２に示す端末装置３５または端末装置４１は、第１の実施の形態に示した端末装置１ｄの一例である。
【００３９】
図３は、管理装置のハードウェアの一構成例を示す図である。管理装置１００は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１には、バス１０９を介してメモリ１０２と複数の周辺機器が接続されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、またはＤＳＰ（Digital Signal Processor）である。プロセッサ１０１がプログラムを実行することで実現する機能の少なくとも一部を、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現してもよい。
【００４０】
メモリ１０２は、管理装置１００の主記憶装置として使用される。メモリ１０２には、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ１０２には、プロセッサ１０１による処理に必要な各種データが格納される。メモリ１０２としては、例えばＲＡＭ（Random Access Memory）などの揮発性の半導体記憶装置が使用される。
【００４１】
バス１０９に接続されている周辺機器としては、ストレージ装置１０３、グラフィック処理装置１０４、入力インタフェース１０５、光学ドライブ装置１０６、機器接続インタフェース１０７およびネットワークインタフェース１０８がある。
【００４２】
ストレージ装置１０３は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置１０３は、コンピュータの補助記憶装置として使用される。ストレージ装置１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置１０３としては、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）を使用することができる。
【００４３】
グラフィック処理装置１０４には、モニタ２１が接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令に従って、画像をモニタ２１の画面に表示させる。モニタ２１としては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００４４】
入力インタフェース１０５には、キーボード２２とマウス２３とが接続されている。入力インタフェース１０５は、キーボード２２やマウス２３から送られてくる信号をプロセッサ１０１に送信する。なお、マウス２３は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００４５】
光学ドライブ装置１０６は、レーザ光などを利用して、光ディスク２４に記録されたデータの読み取りを行う。光ディスク２４は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク２４には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００４６】
機器接続インタフェース１０７は、管理装置１００に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース１０７には、メモリ装置２５やメモリリーダライタ２６を接続することができる。メモリ装置２５は、機器接続インタフェース１０７との通信機能を搭載した記録媒体である。メモリリーダライタ２６は、メモリカード２７へのデータの書き込み、またはメモリカード２７からのデータの読み出しを行う装置である。メモリカード２７は、カード型の記録媒体である。
【００４７】
ネットワークインタフェース１０８は、ネットワーク２０に接続されている。ネットワークインタフェース１０８は、ネットワーク２０を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００４８】
以上のようなハードウェア構成によって、管理装置１００における第２の実施の形態の処理機能を実現することができる。なお、サーバ３１〜３４や端末装置４１も、図３に示した管理装置１００と同様のハードウェアにより実現することができる。また、第１の実施の形態に示した装置も、図３に示した管理装置１００と同様のハードウェアにより実現することができる。
【００４９】
管理装置１００は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施の形態の処理機能を実現する。管理装置１００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、管理装置１００に実行させるプログラムをストレージ装置１０３に格納しておくことができる。プロセッサ１０１は、ストレージ装置１０３内のプログラムの少なくとも一部をメモリ１０２にロードし、プログラムを実行する。また管理装置１００に実行させるプログラムを、光ディスク２４、メモリ装置２５、メモリカード２７などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ１０１からの制御により、ストレージ装置１０３にインストールされた後、実行可能となる。またプロセッサ１０１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００５０】
次に、ソフトウェアのサポートライセンスの管理のために各装置に実装される機能について説明する。
図４は、各装置の機能の一例を示すブロック図である。顧客企業３０内のサーバ３１は、リモートエージェント３１ａを有する。リモートエージェント３１ａは、ソフトウェアがインストールされたとき、インストールされたことを示すインストール情報を管理装置１００に送信する。またリモートエージェント３１ａは、ソフトウェアがアンインストールされたとき、アンインストールされたことを示すアンインストール情報を管理装置１００に送信する。さらにリモートエージェント３１ａは、ソフトウェアのエラーログを管理装置１００に送信する。サーバ３２〜３４も、サーバ３１と同様の機能を有している。
【００５１】
顧客企業３０が有する端末装置３５は、ブラウザ３５ａを有する。ブラウザ３５ａは、ＷＷＷ（World Wide Web）により管理装置１００にアクセスし、管理装置１００で提供されるコンテンツを表示する。サービス提供業者４０が有する端末装置４１も、端末装置３５と同様の機能を有する。
【００５２】
管理装置１００は、ハードウェア出荷情報ＤＢ（データベース）１１０、ソフトウェア出荷情報ＤＢ１２０、サポート契約管理ＤＢ１３０、インシデントＤＢ１４０、サポートライセンス管理部１５０、および画面制御部１６０を有する。
【００５３】
ハードウェア出荷情報ＤＢ１１０は、顧客企業３０に販売したサーバ３１〜３４に関する情報を格納するデータベースである。ソフトウェア出荷情報ＤＢ１２０は、顧客企業３０に販売したソフトウェアに関する情報を格納するデータベースである。サポート契約管理ＤＢ１３０は、顧客企業３０との間で締結したソフトウェアのサポート契約に関する情報を格納するデータベースである。インシデントＤＢ１４０は、サーバ３１〜３４で発生したエラーメッセージに関する情報を格納するデータベースである。
【００５４】
サポートライセンス管理部１５０は、顧客企業３０に販売したソフトウェアのサポートライセンスを管理する。例えばサポートライセンス管理部１５０は、ソフトウェアインストール数超過テーブル１５１とソフトウェア契約状態管理テーブル１５２とを用いて、サポートライセンスを管理する。ソフトウェアインストール数超過テーブル１５１は、ソフトウェアの製品ごとの、顧客企業３０内のサーバ３１〜３４へのインストール数を管理するデータテーブルである。ソフトウェア契約状態管理テーブル１５２は、顧客企業３０に販売した各ソフトウェアへの、サポート契約の有無を管理するデータテーブルである。
【００５５】
またサポートライセンス管理部１５０は、顧客企業３０に納入された各サーバ３１〜３４に対して、ネットワーク２０経由でアクセスすることができる。例えばサポートライセンス管理部１５０には、各サーバ３１〜３４のシリアル番号に対応付けて、サーバのＩＰアドレスが登録されている。そしてサポートライセンス管理部１５０は、各サーバ３１〜３４から、ソフトウェアのインストールまたはアンインストールの情報や、インストールされたソフトウェアが出力したエラーログを収集することができる。
【００５６】
画面制御部１６０は、顧客企業３０内の端末装置３５のブラウザ３５ａに、顧客企業３０に販売したサーバ３１〜３４やソフトウェア、および、顧客企業３０と締結したサポート契約に関する情報を表示させる。また画面制御部１６０は、サービス提供業者４０内のオペレータが使用する端末装置４１内のブラウザへも、顧客企業３０に販売したサーバ３１〜３４やソフトウェア、および、顧客企業３０と締結したサポート契約に関する情報を表示させることができる。
【００５７】
なお図４に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
次に、図５〜図９を参照し、管理装置１００内の各ＤＢまたはテーブルに格納されるデータについて、具体的に説明する。
【００５８】
図５は、ハードウェア出荷情報ＤＢの一例を示す図である。ハードウェア出荷情報ＤＢ１１０には、顧客企業３０に販売したサーバのハードウェア出荷情報を示すレコードが格納されている。ハードウェア出荷情報には、製品名、シリアル番号、顧客会社名、および出荷日が含まれる。製品名は、販売したサーバの名称である。シリアル番号は、販売したサーバを一意に識別するための個体識別番号である。顧客会社名は、顧客企業３０の名称である。出荷日は、サーバを顧客企業３０に出荷した日付である。
【００５９】
図６は、ソフトウェア出荷情報ＤＢの一例を示す図である。ソフトウェア出荷情報ＤＢ１２０には、顧客企業３０に販売したソフトウェアのソフトウェア出荷情報を示すレコードが格納されている。ソフトウェア出荷情報には、製品名、バージョン、製品コード、顧客会社名、出荷日、およびソフトウェア出荷特定番号が含まれる。製品名は、販売したソフトウェアの名称である。バージョンは、販売したソフトウェアのバージョン番号である。製品コードは、販売したソフトウェアの製品種別を識別する識別子である。顧客会社名は、顧客企業３０の名称である。出荷日は、ソフトウェアを顧客企業３０に出荷した日付である。ソフトウェア出荷特定番号は、出荷されたソフトウェアを一意に識別する個体識別番号である。
【００６０】
図７は、サポート契約管理ＤＢの一例を示す図である。サポート契約管理ＤＢ１３０には、顧客企業３０と締結したソフトウェアのサポート契約の内容を示すレコードが格納されている。サポート契約の内容には、製品名、顧客会社名、出荷日、サポート契約特定番号、サービス契約日、サービス開始日、およびサービス終了日が含まれる。製品名は、サポート契約においてサポートの対象とするソフトウェアの名称である。顧客会社名は、サポート契約を締結した顧客企業の名称である。出荷日は、サポート対象のソフトウェアの出荷日である。サポート契約特定番号は、締結されたサポート契約を一意に特定する個体識別番号である。サービス契約日は、サポート契約が締結された日付である。サービス開始日は、サポートを開始する日付である。サービス終了日は、サポート契約が満了する日付である。
【００６１】
図８は、ソフトウェアインストール数超過テーブルの一例を示す図である。ソフトウェアインストール数超過テーブル１５１には、ソフトウェアの製品のインストール状況を示すレコードが格納されている。ソフトウェアインストール数超過テーブル１５１内のレコードには、製品名、バージョン、顧客会社名、出荷本数、インストール検出本数、および超過フラグが含まれる。製品名は、インストール数管理対象のソフトウェアの製品名である。バージョンは、インストール数管理対象のソフトウェアのバージョン番号である。顧客会社名は、インストール数管理対象のソフトウェアのインストール先の顧客企業３０の名称である。出荷本数は、該当顧客企業３０に出荷した、インストール数管理対象のソフトウェアの本数である。インストール検出本数は、インストール数管理対象のソフトウェアがインストールされている顧客企業３０内のサーバの数（インストール本数）である。超過フラグは、インストール本数が出荷本数を超えていないかどうかを示すフラグである。例えばインストール本数が出荷本数を超えていない場合、超過フラグに「０」が設定される。インストール本数が出荷本数を超えた場合、超過フラグに「１」が設定される。
【００６２】
図９は、ソフトウェア契約状態管理テーブルの一例を示す図である。ソフトウェア契約状態管理テーブル１５２には、ソフトウェアのサポート契約の状態を示すレコードが格納されている。
【００６３】
ソフトウェア契約状態管理テーブル１５２のレコードには、サーバのシリアル番号、ソフトウェア出荷特定番号、サポート契約特定番号、契約特定フラグ、および契約期間満了フラグが含まれる。サーバのシリアル番号は、管理対象のソフトウェアがインストールされたサーバの個体識別番号である。ソフトウェア出荷特定番号は、管理対象のソフトウェアを一意に識別する個体識別番号である。サポート契約特定番号は、ソフトウェア出荷特定番号に対応するソフトウェアに適用されるサポート契約を一意に特定する個体識別番号である。契約特定フラグは、ソフトウェアに適用されるサポート契約の有無を示すフラグである。例えばサポート契約がない場合、契約特定フラグに「０」が設定される。サーバとソフトウェアのサポート契約との組み合わせが一意に決定され、サポートサービスが提供可能となったときに、契約特定フラグに「１」が設定される。契約期間満了フラグは、適用されるサポート契約が満了したか否かを示すフラグである。例えばサポート契約が満了していなければ、契約期間満了フラグに「０」が設定される。サポート契約が満了していれば、契約期間満了フラグに「１」が設定される。
【００６４】
以上のような構成の管理装置１００により、ソフトウェアに対するサポート契約が管理される。サポート契約の管理は、顧客企業３０のいずれかのサーバにソフトウェアがインストールされた時から開始される。
【００６５】
図１０は、ソフトウェアインストール時の処理の一例を示す図である。図１０の例では、サーバ名「サーバＡ」、シリアル番号「ＭＡ００１」のサーバ３１に、製品名「ソフトａ」、バージョン「９．０」のソフトウェア３１ｂがインストールされたものとする。
【００６６】
管理装置１００のサポートライセンス管理部１５０は、定期的に各サーバ３１〜３４から情報を収集する（ステップＳ１１）。例えばサポートライセンス管理部１５０は、サーバ３１のリモートエージェント３１ａに対して、インストールされているソフトウェアに関する情報の取得要求を送信する。ソフトウェア３１ｂのインストール後の最初の取得要求を受信したリモートエージェント３１ａは、取得要求に応じて、インストール情報をサポートライセンス管理部１５０に送信する。送信されるインストール情報には、サーバ３１のシリアル番号「ＭＡ００１」、ソフトウェア３１ｂの製品名「ソフトａ」、ソフトウェア３１ｂのバージョン「９．０」が含まれる。
【００６７】
インストール情報を受信したサポートライセンス管理部１５０は、インストール情報に含まれるサーバのシリアル番号を検索キーとして、ハードウェア出荷情報ＤＢ１１０を検索する。そしてサポートライセンス管理部１５０は、検索キーを含むレコードから顧客会社名を取得する（ステップＳ１２）。ハードウェア出荷情報ＤＢ１１０の内容が図５に示す通りの場合、シリアル番号「ＭＡ００１」で検索をすると、先頭のレコードが合致する。そしてサポートライセンス管理部１５０は、そのレコードに設定されている顧客会社名「Ｆ社」を取得する。
【００６８】
次にサポートライセンス管理部１５０は、取得した顧客会社名、およびインストール情報に含まれるソフトウェアの製品名とソフトウェアのバージョンに合致するレコードを、ソフトウェア出荷情報ＤＢ１２０から検索する。そしてサポートライセンス管理部１５０は、該当するレコードすべての通し番号を作成し、その通し番号をソフトウェア出荷特定番号として、ソフトウェア出荷情報ＤＢ１２０内の該当するレコードに設定する（ステップＳ１３）。例えば、図６に示したソフトウェア出荷情報ＤＢ１２０では、製品名「ソフトａ」、バージョン「９．０」、顧客会社名「Ｆ社」のレコードが３つある。この場合、サポートライセンス管理部１５０は、３つのレコードに示されているソフトウェアそれぞれに対するソフトウェア出荷特定番号として、例えば「ＩＡＰ００１〜ＩＡＰ００３」を生成し、各レコードに設定する。
【００６９】
またサポートライセンス管理部１５０は、インストール情報を受信すると、ソフトウェアインストール数超過テーブル１５１における、インストールされたソフトウェアのインストール数を更新する（ステップＳ１４）。図１０の例であれば、サポートライセンス管理部１５０は、ソフトウェアインストール数超過テーブル１５１に製品名「ソフトａ」、バージョン「９．０」、顧客会社名「Ｆ社」に合致するレコードがなければ、対応するレコードを追加する。レコード追加時のインストール検出本数の初期値は「１」である。またサポートライセンス管理部１５０は、ソフトウェアインストール数超過テーブル１５１に製品名「ソフトａ」、バージョン「９．０」、顧客会社名「Ｆ社」に合致するレコードがあれば、対応するレコードのインストール検出本数に「１」を加算する。
【００７０】
さらにサポートライセンス管理部１５０は、ソフトウェアがインストールされたサーバ３１のシリアル番号とソフトウェア出荷特定番号のうちの１つとの組に対応するレコードを、ソフトウェア契約状態管理テーブル１５２に登録する（ステップＳ１５）。新たに登録するレコードのソフトウェア出荷特定番号は、取得した顧客会社名、ソフトウェアの製品名、およびソフトウェアのバージョンの組に対応するソフトウェア出荷特定番号のうち、未使用のものが用いられる。未使用のソフトウェア出荷特定番号とは、ソフトウェア契約状態管理テーブル１５２内の他のレコードに設定されていないソフトウェア出荷特定番号である。例えばサポートライセンス管理部１５０は、ソフトウェア契約状態管理テーブル１５２に、サーバのシリアル番号「ＭＡ００１」、ソフトウェア出荷特定番号「ＩＡＰ００１」のレコードを登録する。なお、新たにソフトウェア契約状態管理テーブル１５２に追加されるレコードの契約特定フラグは「０」であり、契約期間満了フラグも「０」である。
【００７１】
このようにして、顧客企業３０のいずれかのサーバにソフトウェアがインストールされると、その情報が管理装置１００で収集されＤＢやデータテーブルが更新される。その後、顧客企業３０が、インストールしたソフトウェアに関するサポートを受けたいとき、顧客企業からサービス提供業者４０へのサポート問い合わせが行われる。
【００７２】
図１１は、サポート問い合わせの処理の一例を示す図である。顧客企業３０内でサーバ３１〜３４を用いてソフトウェアを使用するユーザ５１は、ソフトウェアのサポートを受けるとき、端末装置３５を用いて管理装置１００内の問い合わせ用のＷｅｂページにアクセスする。すると管理装置１００の画面制御部１６０から、問い合わせ時操作画面を示す画面データが端末装置３５に送信される。これにより、端末装置３５に問い合わせ時操作画面が表示される。ユーザ５１は、問い合わせ時操作画面を操作して、サポート対象とするソフトウェアに適用するサポート契約を選択する。
【００７３】
図１２は、問い合わせ時操作画面の一例を示す図である。例えばユーザ５１が顧客企業３０のアカウントで管理装置１００にログインすると、端末装置３５には、顧客企業３０に販売されたサーバのリストが表示される。ユーザ５１がサーバのリストから、サポートを受けるソフトウェアがインストールされているサーバを選択すると、端末装置３５に、図１２に示すような問い合わせ時操作画面６１が表示される。
【００７４】
問い合わせ時操作画面６１には、機器表示部６１ａ、ソフトウェア表示部６１ｂ、およびサポート契約表示部６１ｃが含まれる。機器表示部６１ａには、ユーザ５１が選択したサーバに関する情報が表示される。ソフトウェア表示部６１ｂには、機器表示部６１ａに示されているサーバにインストールされているソフトウェアに対応するオブジェクトが表示される。ソフトウェアに対応するオブジェクトには、対応するソフトウェアの製品名が示されている。サポート契約表示部６１ｃには、顧客企業３０が締結しているサポート契約のうち、適用対象が未定のものに対応するオブジェクトが表示される。サポート契約に対応するオブジェクトには、サポート契約の製品名が示される。
【００７５】
ユーザ５１は、端末装置３５に対して、ソフトウェアに対して適用するサポート契約の選択操作を行う。例えばユーザ５１は、サポート契約表示部６１ｃ内のオブジェクトの１つを、ドラッグアンドドロップにより、ソフトウェア表示部６１ｂ内のソフトウェアのオブジェクトに重ねる。次にユーザは、問い合わせ時操作画面６１内でプルダウンメニュー６１ｄを表示させる。プルダウンメニュー６１ｄには、「問い合わせを行う」というコマンドが含まれている。ユーザ５１がこのコマンドを選択すると、顧客企業３０の端末装置３５からサービス提供業者４０の端末装置４１へ、問い合わせ情報が送信される。問い合わせ情報には、適用対象のソフトウェアの製品名（ソフトａ）とバージョン（９．０）、そのソフトウェアがインストールされているサーバのシリアル番号（ＭＡ００１）、および適用するサポート契約のサポート契約特定番号（ＳＤＫ００１）が含まれる。
【００７６】
このような端末装置３５からは、問い合わせ時操作画面６１を介して問い合わせを行うようにすることで、サポート契約の対象となるソフトウェア数以上のソフトウェアがサポート契約対象として指定されることが抑止される。すなわち、サポート契約表示部６１ｃには、適用対象が未定のサポート契約に対応するオブジェクトしか表示されないため、サポート契約によりサポート可能な本数以上のソフトウェアに対して、サポート契約を割り当てることはできない。
【００７７】
以下、図１１の説明に戻る。
管理装置１００のサポートライセンス管理部１５０は、端末装置３５からの問い合わせ情報を受け付ける（ステップＳ２１）。問い合わせ情報を受信したサポートライセンス管理部１５０は、サーバのシリアル番号（ＭＡ００１）、ソフトウェアとサポート契約特定番号（ＳＤＫ００１）との組に対応するレコードを、ソフトウェア契約状態管理テーブル１５２から検索する。該当するレコードが存在する場合とは、ユーザ５１の指定した通りのサポート契約が、問い合わせ対象のソフトウェアに適用されている場合である。該当するレコードが存在しない場合、サポートライセンス管理部１５０は、ソフトウェア契約状態管理テーブル１５２内のサーバのシリアル番号（ＭＡ００１）に合致するレコードに、問い合わせ情報に示されるサポート契約特定番号（ＳＤＫ００１）を設定する（ステップＳ２２）。この際、サポートライセンス管理部１５０は、サポート契約特定番号（ＳＤＫ００１）を設定したレコードの契約特定フラグに「１」を設定する。
【００７８】
以後、選択したサポート契約が、ユーザ５１が指定したサーバにインストールされているソフトウェアに適用される。サポート契約の適用が確定すると、画面制御部１６０は、端末装置３５に表示される問い合わせ時操作画面６１を更新する。
【００７９】
図１３は、サポート契約選択後の問い合わせ時操作画面の一例を示す図である。サポート契約が選択されると、サポート契約表示部６１ｃには「サポート契約有」と表示される。このような状態になれば、以後ユーザ５１は自由にサポートの問い合わせを行うことができる。
【００８０】
例えばユーザ５１は、電話機５２を用いてサービス提供業者４０にサポート問い合わせの電話をする（図１１参照）。そしてユーザ５１は、電話に出たオペレータ５３に、サポート対象のソフトウェアの製品名（ソフトａ）と、そのソフトウェアがインストールされているサーバのシリアル番号（ＭＡ００１）を伝える。オペレータ５３は、端末装置４１を用いて、該当サーバにインストールされた該当ソフトウェアへのサポート契約の有無を、管理装置１００に問い合わせる。そして端末装置４１が、管理装置１００からサポート契約がある旨の応答を受信した場合、オペレータ５３は、ユーザ５１からの問い合わせに対するサポートを実施する。
【００８１】
なお、サポート契約の有無の問い合わせには、例えばサポート対象のソフトウェアの製品名とバージョン番号、およびそのソフトウェアがインストールされているサーバのシリアル番号が含まれる。管理装置１００では、サポート契約の有無の問い合わせがあると、サポートライセンス管理部１５０が、ソフトウェア出荷情報ＤＢ１２０からサポート対象のソフトウェアに対応するソフトウェア出荷特定番号を取得する。次にサポートライセンス管理部１５０は、ソフトウェア契約状態管理テーブル１５２において、サポート契約の有無の問い合わせに示されるサーバのシリアル番号と取得したソフトウェア出荷特定番号との組に対応するレコードを検索する。そしてサポートライセンス管理部１５０は、検索で合致したレコードの契約特定フラグが「１」であれば、サポート契約があると判断する。サポートライセンス管理部１５０は、サポート契約の有無の判断結果を、端末装置４１に通知する。
【００８２】
このように、出荷前のソフトウェアに個体識別番号が付与されていなくても、出荷されたソフトウェアにソフトウェア出荷特定番号を付与しておくことで、ソフトウェア出荷特定番号によって個々のソフトウェアのサポート契約の有無を判断可能となる。
【００８３】
次に、同じ製品名のソフトウェアが複数のサーバにインストールされた場合について説明する。
図１４は、複数のサーバへのソフトウェアのインストール時の処理の一例を示す図である。図１４は、製品名「ソフトａ」、バージョン「９．０」のソフトウェア３２ｂ，３３ｂを、サーバ３２，３３にインストールした場合の例を示している。
【００８４】
管理装置１００のサポートライセンス管理部１５０は、サーバ３２のリモートエージェント３２ａとサーバ３３のリモートエージェント３３ａとから情報を収集し、インストール情報を取得する（ステップＳ３１）。そして図１０の例と同様に、サポートライセンス管理部１５０は、顧客会社名の取得（ステップＳ３２）、ソフトウェア出荷特定番号の設定（ステップＳ３３）、インストール数の更新（ステップＳ３４）、ソフトウェア契約状態登録（ステップＳ３５）を行う。
【００８５】
これにより、ソフトウェア契約状態管理テーブル１５２には、サーバのシリアル番号「ＭＡ００２」、「ＭＡ００３」に対応するレコードが追加される。
図１４の例では、顧客企業３０において、３台のサーバ３１〜３３に製品名「ソフトａ」のソフトウェアがインストールされた状態となっている。それに対し、図７に示すように、顧客企業が締結している該当ソフトウェアに対するサポート契約は、ソフトウェア２本分である。例えば図１４に示す状態から、シリアル番号が「ＭＡ００２」のサーバ３２にインストールされているソフトウェアに対して、サポート契約特定番号「ＳＤＫ００２」のサポート契約を適用した場合を考える。この場合、顧客企業３０は、サーバ３１，３２にインストールされた製品名「ソフトａ」のソフトウェアについてはサポート契約が存在するが、サーバ３３にインストールされた製品名「ソフトａ」のソフトウェアについてはサポート契約が存在しない状態となる。
【００８６】
この状態においてサーバ３３にインストールされた製品名「ソフトａ」のソフトウェアの動作に問題が発生したとき、ユーザ５１が、問題が発生したサーバのシリアル番号を偽ってサポートの問い合わせを行う可能性がある。このような不正なサポートの問い合わせがあった場合、管理装置１００により、その問い合わせが不正であることが検知され、例えば不正な問い合わせであることがオペレータ５３に通知される。
【００８７】
図１５は、不正なサポートの問い合わせに対する処理の一例を示す図である。図１５の例では、シリアル番号「ＭＡ００３」のサーバ３３にインストールされたソフトウェアでエラーが発生している。しかし、該当ソフトウェアに対するサポート契約はない。このときユーザ５１が、シリアル番号「ＭＡ００１」のサーバ３１にインストールされているソフトウェア３１ｂでエラーが発生したと詐称して、コールセンタに電話による問い合わせを行ったものとする。
【００８８】
この場合、コールセンタのオペレータ５３は、電話による問い合わせに応じて、端末装置４１を用いて、シリアル番号「ＭＡ００１」のサーバ３１にインストールされた製品名「ソフトａ」のソフトウェアに対するサポート契約の有無を問い合わせる。例えばオペレータ５３は、端末装置４１による管理装置１００にアクセスし、図１３と同様の問い合わせ時操作画面を表示させる。そしてオペレータ５３は、端末装置４１に対して、ユーザ５１が電話で申告したシリアル番号「ＭＡ００１」のサーバ３１にインストールされている製品名「ソフトａ」の問い合わせ操作を行う。
【００８９】
管理装置１００では、サポートライセンス管理部１５０が、端末装置４１を用いたオペレータ５３からの問い合わせを受け付ける（ステップＳ４１）。サポートライセンス管理部１５０は、ソフトウェア契約状態管理テーブル１５２を参照する。そしてサポートライセンス管理部１５０は、シリアル番号「ＭＡ００１」のサーバ３１内のソフトウェア（ソフトウェア特定番号「ＩＡＰ００１」）に対して、サポート契約特定番号「ＳＤＫ００１」のサポート契約が存在することを認識する。
【００９０】
そこでサポートライセンス管理部１５０は、シリアル番号「ＭＡ００１」のサーバ３１からエラーログを収集する（ステップＳ４２）。例えばサポートライセンス管理部１５０は、サーバ３１内のリモートエージェント３１ａに対して、ソフトウェア３１ｂのエラーログ３１ｃを要求する。リモートエージェント３１ａはエラーログ３１ｃを、サポートライセンス管理部１５０に送信する。図１５の例では、エラーが発生したのはサーバ３１ではなくサーバ３３であるため、送信されたエラーログ３１ｃにはエラーの発生が記録されていない。
【００９１】
サポートライセンス管理部１５０は、取得したエラーログ３１ｃに基づいて、サーバ３１ではエラーが発生していないことを認識する。そしてサポートライセンス管理部１５０は、エラーが発生していないことを示すメッセージを、端末装置４１の問い合わせ時操作画面に表示させる（ステップＳ４３）。
【００９２】
図１６は、エラーが発生していない場合の問い合わせ時操作画面の一例を示す図である。端末装置４１の問い合わせ時操作画面６２には、図１３に示した問い合わせ時操作画面６１と同様に、機器表示部６２ａ、ソフトウェア表示部６２ｂ、サポート契約表示部６２ｃが含まれている。そして問い合わせ時操作画面６２には、「発生エラーなし」とのメッセージ６２ｄが表示されている。
【００９３】
オペレータ５３は、問い合わせ時操作画面６２を確認し、ユーザ５１が問い合わせた対象のソフトウェアを偽っていることを認識する。すなわち、ユーザ５１の不正を検知できる。ユーザ５１の問い合わせが不正である場合、オペレータ５３は、問い合わせに対するサポートを断る。この際、オペレータ５３は、サポート契約の追加購入をユーザ５１に促してもよい。
【００９４】
なお上記の例では、ユーザ５１が電話で問い合わせを行った場合であるため、オペレータ５３が使用する端末装置４１に「発生エラーなし」とのメッセージ６２ｄを表示している。それに対し、ユーザ５１が端末装置３５を用いてオンラインで問い合わせを実行することも可能である。オンラインでの問い合わせにおいて、ユーザ５１が、エラーが発生したソフトウェアを偽った場合、図１６と同様の問い合わせ時操作画面が、端末装置３５に表示される。
【００９５】
このように、ユーザ５１の申告内容に沿ってサーバからエラーログを収集し、該当するエラーの発生の有無を確認できる。その結果、ユーザ５１による不正行為を検出することができる。
【００９６】
顧客企業３０で行われる不正行為としては、販売した本数を超えた装置へのソフトウェアのインストール行為もある。例えば、図６に示したソフトウェア出荷情報ＤＢ１２０には、顧客企業３０に対して、製品名「ソフトａ」のソフトウェアを３本販売していることが示されている。この場合、顧客企業３０は、該当ソフトウェアを４台以上のサーバにインストールする権利を有していない。しかし、顧客企業３０において、購入したソフトウェアの本数を超過した数のサーバに、そのソフトウェアがインストールされることがある。管理装置１００は、このようなソフトウェアの超過インストールを抑止することもできる。
【００９７】
図１７は、ソフトウェアインストール数超過抑止処理の一例を示す図である。図１７の例では、製品名「ソフトａ」のソフトウェアが既に３台のサーバ３１〜３３にインストールされているときに、同じソフトウェア３４ｂが４台目のサーバ３４にインストールされた場合である。
【００９８】
管理装置１００のサポートライセンス管理部１５０は、サーバ３４のリモートエージェント３４ａから情報を収集し、ソフトウェア３４ｂがインストールされたことを示すインストール情報を取得する（ステップＳ５１）。その後、サポートライセンス管理部１５０は、顧客会社名の取得（ステップＳ５２）、ソフトウェア出荷特定番号の設定（ステップＳ５３）、インストール数の更新（ステップＳ５４）を行う。
【００９９】
インストール数の更新では、ソフトウェアインストール数超過テーブル１５１における、製品名「ソフトａ」、バージョン「９．０」、顧客会社名「Ｆ社」に対応するレコードのインストール検出本数に１が加算される。図１７の例では、インストール検出本数が「４」に更新されている。このときサポートライセンス管理部１５０は、更新後のインストール検出本数と、同じレコードの出荷本数とを比較し、出荷本数の方が少ない場合、そのレコードの超過フラグに「１」を設定する。
【０１００】
サポートライセンス管理部１５０は、超過フラグに「１」を設定した場合、顧客企業３０の端末装置３５またはコールセンタの端末装置４１へのアラート通知を行う（ステップＳ５５）。例えばサポートライセンス管理部１５０は、端末装置３５からのアクセスがあった場合に送信する、問い合わせ時操作画面の画面データに、アラート通知を挿入する。これにより、ユーザ５１が端末装置３５を用いて管理装置１００にアクセスしたときに、端末装置３５にアラートを表示させることができる。
【０１０１】
図１８は、インストール数超過のアラートが表示された問い合わせ時操作画面の一例を示す図である。ユーザ５１が端末装置３５を用いて管理装置１００にアクセスし、シリアル番号「ＭＡ００４」のサーバ３４についての問い合わせ時操作画面６３を表示させたものとする。この問い合わせ時操作画面６３には、機器表示部６３ａ、ソフトウェア表示部６３ｂ、サポート契約表示部６３ｃが含まれる。ソフトウェア表示部６３ｂには、インストール数超過を示すアラートメッセージ６３ｄが表示されている。
【０１０２】
このようなアラートメッセージ６３ｄを表示することで、追加のソフトウェアの購入を促すことができる。
次に、ソフトウェアをアンインストールした場合の処理について説明する。第２の実施の形態では、ソフトウェアがサポート契約の適用対象となっている場合、そのソフトウェアがサーバからアンインストールされ、他のサーバにインストールされても、サポート契約が有効となるように管理される。
【０１０３】
図１９は、ソフトウェアのアンインストール時の処理の一例を示す図である。図１９の例では、製品名「ソフトａ」のソフトウェアが３台のサーバ３１〜３３にインストールされている状態で、サーバ３１のソフトウェアをアンインストールしたときの処理を示している。なおサポート契約は、サーバ３１とサーバ３２とにインストールされているソフトウェアに適用されている。
【０１０４】
管理装置１００のサポートライセンス管理部１５０は、サーバ３１のリモートエージェント３１ａから情報を収集し、ソフトウェア３１ｂがアンインストールされたことを示すアンインストール情報を取得する（ステップＳ６１）。例えばサーバ３１のリモートエージェント３１ａは、過去にインストールを検知したソフトウェアの製品名とバージョンとを、インストール済ソフトウェア情報として記憶しておく。そしてリモートエージェント３１ａは、インストール済ソフトウェア情報に示されるソフトウェアの存在が検知できなくなった場合、そのソフトウェアのアンインストール情報を、サポートライセンス管理部１５０に送信する。アンインストール情報には、例えばサーバ３１のシリアル番号「ＭＡ００１」、ソフトウェアの製品名「ソフトａ」、およびソフトウェアのバージョン番号「９．０」が含まれる。
【０１０５】
アンインストール情報を取得したサポートライセンス管理部１５０は、顧客会社名の取得（ステップＳ６２）、インストール数の更新（ステップＳ６３）を行う。さらにサポートライセンス管理部１５０は、ソフトウェア契約状態管理テーブル１５２に設定されているソフトウェア契約状態を更新する（ステップＳ６４）。例えばサポートライセンス管理部１５０は、ソフトウェア契約状態管理テーブル１５２内の、アンインストール情報に示されるサーバ３１のシリアル番号「ＭＡ００１」が設定されたレコードから、サーバ３１のシリアル番号を削除する。またサポートライセンス管理部１５０は、サーバ３１のシリアル番号を削除したレコードの契約特定フラグを「０」に初期化する。
【０１０６】
このように、ソフトウェア契約状態管理テーブル１５２には、アンインストールされたソフトウェアのソフトウェア出荷特定情報「ＩＡＰ００１」とサポート契約特定番号「ＳＤＫ００１」とを対応付けたレコードが、削除されずに残される。このような状態で製品名「ソフトａ」のソフトウェアが他のサーバに再インストールされたとき、サポート契約特定番号「ＳＤＫ００１」に示されるサポート契約が、再インストールされたソフトウェアに有効に適用される。
【０１０７】
図２０は、ソフトウェアの再インストール時の処理の一例を示す図である。図２０の例では、サーバ名「サーバＣ」、シリアル番号「ＭＡ００４」のサーバ３４に、製品名「ソフトａ」、バージョン「９．０」のソフトウェア３４ｂがインストールされたものとする。
【０１０８】
管理装置１００のサポートライセンス管理部１５０は、サーバ３４のリモートエージェント３４ａから情報を収集し、インストール情報を取得する（ステップＳ７１）。そして図１０の例と同様に、サポートライセンス管理部１５０は、顧客会社名の取得（ステップＳ７２）、ソフトウェア出荷特定番号の設定（ステップＳ７３）、インストール数の更新（ステップＳ７４）を行う。
【０１０９】
さらにサポートライセンス管理部１５０は、ソフトウェア契約状態管理テーブル１５２における、ソフトウェア契約状態の更新を行う（ステップＳ７５）。例えばサポートライセンス管理部１５０は、サーバのシリアル番号が登録されていないレコードを、ソフトウェア契約状態管理テーブル１５２から検索する。そしてサポートライセンス管理部１５０は、該当するレコードのサーバのシリアル番号として、ステップＳ７１で取得したサーバのシリアル番号「ＭＡ００４」を設定する。またサポートライセンス管理部１５０は、サーバのシリアル番号を設定したレコードの契約特定フラグに「１」を設定する。
【０１１０】
このようにして、サポート契約の対象となったソフトウェアを実行するサーバを変更しても、そのソフトウェアに対するサポート契約を継続することができる。
なおサポート契約には、有効期限が定められている。第２の実施の形態では、管理装置１００が各サポート契約の有効期限を管理し、有効期限を過ぎたサポート契約は無効とする。
【０１１１】
図２１は、契約期間自動チェック処理の一例を示す図である。なお図２１に示す処理は、定期的に実行される。
サポートライセンス管理部１５０は、現在の日時情報を取得する（ステップＳ８１）。例えばサポートライセンス管理部１５０は、管理装置１００内の時計機能から日時情報を取得する。またサポートライセンス管理部１５０は、ネットワーク２０を介してＮＴＰ（Network Time Protocol）サーバにアクセスし、正確な日時情報を取得してもよい。
【０１１２】
次にサポートライセンス管理部１５０は、サポート契約管理ＤＢ１３０から、期限切れのサポート契約のサポート契約特定番号を取得する（ステップＳ８２）。例えばサポートライセンス管理部１５０は、サポート契約管理ＤＢ１３０内の各レコードのサービス終了日と、現在の日時の日付とを比較する。そしてサポートライセンス管理部１５０は、サービス終了日が現在の日時の日付より前のレコードのサポート契約特定番号を、サポート契約管理ＤＢ１３０から抽出する。図２１の例では、サポート契約特定番号「ＳＤＫ００２」が取得されている。
【０１１３】
そしてサポートライセンス管理部１５０は、ソフトウェア契約状態管理テーブル１５２内の、抽出したサポート契約特定番号に対応するレコードに示されるソフトウェア契約状態を更新する（ステップＳ８３）。例えばサポートライセンス管理部１５０は、抽出したサポート契約特定番号を含むレコードから、サポート契約特定番号を削除する。またサポートライセンス管理部１５０は、そのレコードの契約特定フラグに「０」を設定し、契約期間満了フラグに「１」を設定する。
【０１１４】
このようにして、管理装置１００において、サポート契約の期間が満了したソフトウェアについては、契約期間満了フラグ「１」が設定される。その後、顧客企業３０のユーザ５１が端末装置３５を介して、サポート契約の期間が満了したソフトウェアの問い合わせをしようとすると、問い合わせ時操作画面に、サポート契約が切れたことを示すメッセージが表示される。
【０１１５】
図２２は、サポート契約が期限切れの場合の問い合わせ時操作画面の一例を示す図である。問い合わせ時操作画面６４には、機器表示部６４ａ、ソフトウェア表示部６４ｂ、サポート契約表示部６４ｃが含まれている。サポート契約表示部６４ｃには、サポート契約が切れていることを示す契約切れメッセージ６４ｄが表示されている。また問い合わせ時操作画面６４の上部に、新たなサポート契約の締結を促す契約提案メッセージ６４ｅが表示されている。
【０１１６】
このような画面を表示することで、顧客企業３０に新規のサポート契約の締結を促すことができる。
以下、管理装置１００が実行する処理の詳細な手順を、フローチャートを参照して説明する。
【０１１７】
図２３は、リモートエージェントからの情報取得処理の手順の一例を示すフローチャート（１／３）である。以下、図２３に示す処理をステップ番号に沿って説明する。
［ステップＳ１０１］サポートライセンス管理部１５０は、顧客企業３０のサーバ３１〜３４内のリモートエージェントから情報を取得する。取得する情報は、ソフトウェアがインストールされたことを示すインストール情報、またはソフトウェアがアンインストールされたことを示すアンインストール情報である。取得する情報には、サーバのシリアル番号、ソフトウェアの製品名、ソフトウェアのバージョン、ソフトウェアのインストール／アンインストールの種別が含まれる。
【０１１８】
［ステップＳ１０２］サポートライセンス管理部１５０は、リモートエージェントから取得した情報に含まれるサーバのシリアル番号に対応する顧客会社名を、ハードウェア出荷情報ＤＢ１１０から取得する。例えばサポートライセンス管理部１５０は、取得した情報に含まれるサーバのシリアル番号を含むレコードを、ハードウェア出荷情報ＤＢ１１０から検索する。サポートライセンス管理部１５０は、該当するレコードから顧客会社名を取得する。
【０１１９】
［ステップＳ１０３］サポートライセンス管理部１５０は、ソフトウェア出荷情報ＤＢ１２０から、顧客企業３０に出荷したソフトウェアの一覧を取得する。例えばサポートライセンス管理部１５０は、ステップＳ１０１で取得したソフトウェアの製品名とソフトウェアのバージョン、およびステップＳ１０２で取得した顧客会社名を含むレコードを、ソフトウェア出荷情報ＤＢ１２０から検索する。そしてサポートライセンス管理部１５０は、該当するレコードそれぞれに含まれる製品名、バージョン、製品コード、ソフトウェア出荷特定番号を取得する。ソフトウェア出荷特定番号は、設定されていないレコードもある。
【０１２０】
［ステップＳ１０４］サポートライセンス管理部１５０は、ステップＳ１０３で取得したソフトウェアの一覧を、ソフトウェア出荷特定番号の昇順で並べ替える。
［ステップＳ１０５］サポートライセンス管理部１５０は、ソフトウェア出荷特定番号が未設定のソフトウェアについて、ソフトウェアの昇順の通し番号となるソフトウェア出荷特定番号を作成する。
【０１２１】
［ステップＳ１０６］サポートライセンス管理部１５０は、ソフトウェア出荷情報ＤＢ１２０内のソフトウェア出荷特定番号が未設定のレコードに、ステップＳ１０５で作成したソフトウェア出荷特定番号を設定する。
【０１２２】
［ステップＳ１０７］サポートライセンス管理部１５０は、リモートエージェントから取得した情報が、インストール情報か否かを判断する。インストール情報を取得した場合、サポートライセンス管理部１５０は、処理をステップＳ１１１（図２４参照）に進める。アンインストール情報を取得した場合、サポートライセンス管理部１５０は、処理をステップＳ１２１（図２５参照）に進める。
【０１２３】
図２４は、リモートエージェントからの情報取得処理の手順の一例を示すフローチャート（２／３）である。以下、図２４に示す処理をステップ番号に沿って説明する。
［ステップＳ１１１］サポートライセンス管理部１５０は、ソフトウェアインストール数超過テーブル１５１における、インストールされたソフトウェアの出荷本数を最新の値に更新し、インストールされたソフトウェアのインストール検出本数に１を加算する。ソフトウェアの出荷本数の最新の値は、ソフトウェア出荷情報ＤＢ１２０における、インストールされたソフトウェアと同一製品名かつ同一バージョンのレコードの数である。
【０１２４】
［ステップＳ１１２］サポートライセンス管理部１５０は、インストールされたソフトウェアの出荷本数が、そのソフトウェアのインストール検出本数未満か否かを判断する。サポートライセンス管理部１５０は、ソフトウェアの出荷本数がインストール検出本数未満であれば、処理をステップＳ１１３に進める。サポートライセンス管理部１５０は、ソフトウェアの出荷本数がインストール検出本数以上であれば、処理をステップＳ１１４に進める。
【０１２５】
［ステップＳ１１３］サポートライセンス管理部１５０は、インストール数超過を示すアラートが含まれる問い合わせ時操作画面（図１８参照）を、顧客企業３０の端末装置３５に表示させる。その後、サポートライセンス管理部１５０は処理を終了する。
【０１２６】
［ステップＳ１１４］サポートライセンス管理部１５０は、インストールされたソフトウェアと同じ製品名およびバージョンのソフトウェア出荷特定番号のうち、ソフトウェア契約状態管理テーブル１５２に未登録のソフトウェア出荷特定番号があるか否かを判断する。サポートライセンス管理部１５０は、未登録のソフトウェア出荷特定番号がある場合、処理をステップＳ１１５に進める。またサポートライセンス管理部１５０は、すべてのソフトウェア出荷特定番号が登録済みであれば、処理を終了する。
【０１２７】
［ステップＳ１１５］サポートライセンス管理部１５０は、ソフトウェア契約状態管理テーブル１５２においてサーバのシリアル番号に関連付けられていないソフトウェア出荷特定番号のうちの１つを、ソフトウェア出荷情報ＤＢ１２０から抽出する。
【０１２８】
［ステップＳ１１６］サポートライセンス管理部１５０は、抽出したソフトウェア出荷特定番号がソフトウェア契約状態管理テーブル１５２に未登録か否かを判断する。サポートライセンス管理部１５０は、未登録であれば処理をステップＳ１１７に進める。またサポートライセンス管理部１５０は、登録済みであれば処理をステップＳ１１８に進める。抽出したソフトウェア出荷特定番号が登録済みとなる場合とは、ソフトウェアのアンインストールが行われた場合である（図１９参照）。
【０１２９】
［ステップＳ１１７］サポートライセンス管理部１５０は、ソフトウェア契約状態管理テーブル１５２にレコードを追加する。追加するレコードには、取得したインストール情報に示されるサーバのシリアル番号、ステップＳ１１５で抽出したソフトウェア出荷特定番号、契約特定フラグ「０」が設定される。その後、処理が終了する。
【０１３０】
［ステップＳ１１８］サポートライセンス管理部１５０は、ソフトウェア契約状態管理テーブル１５２内のステップＳ１１５で抽出したソフトウェア出荷特定番号が設定されたレコードに対して、取得したインストール情報に示されるサーバのシリアル番号を設定する。その後、処理が終了する。
【０１３１】
図２５は、リモートエージェントからの情報取得処理の手順の一例を示すフローチャート（３／３）である。以下、図２５に示す処理をステップ番号に沿って説明する。
［ステップＳ１２１］サポートライセンス管理部１５０は、ソフトウェアインストール数超過テーブル１５１における、インストールされたソフトウェアの出荷本数を最新の値に更新し、インストールされたソフトウェアのインストール検出本数から１を減算する。
【０１３２】
［ステップＳ１２２］サポートライセンス管理部１５０は、ソフトウェア契約状態管理テーブル１５２から、アンインストール情報に示されるサーバのシリアル番号に合致するレコードを抽出する。
【０１３３】
［ステップＳ１２３］サポートライセンス管理部１５０は、抽出したレコードの契約特定フラグが「０」か否かを判断する。サポートライセンス管理部１５０は、契約特定フラグが「０」であれば処理をステップＳ１２４に進める。またサポートライセンス管理部１５０は、契約特定フラグが「１」であれば処理をステップＳ１２５に進める。
【０１３４】
［ステップＳ１２４］サポートライセンス管理部１５０は、抽出したレコードをソフトウェア契約状態管理テーブル１５２から削除する。その後、処理が終了する。
［ステップＳ１２５］サポートライセンス管理部１５０は、ソフトウェア契約状態管理テーブル１５２における抽出したレコードのサーバのシリアル番号を「−」に初期化する。
【０１３５】
［ステップＳ１２６］サポートライセンス管理部１５０は、ソフトウェア契約状態管理テーブル１５２における抽出したレコードの契約特定フラグを「０」に初期化する。その後、処理が終了する。
【０１３６】
図２３〜図２５に示したように、ソフトウェアがインストールされた場合、そのソフトウェアのソフトウェア出荷特定番号に対応付けて、インストール先のサーバのシリアル番号がソフトウェア契約状態管理テーブル１５２に設定される（図１０、図２０参照）。またサポート契約が適用されているソフトウェアがアンインストールされた場合、そのソフトウェアのソフトウェア出荷特定番号に対応するソフトウェア契約状態管理テーブル１５２内のレコードから、サーバのシリアル番号が削除される（図１９参照）。サポート契約が適用されていないソフトウェアがアンインストールされた場合、そのソフトウェアのソフトウェア出荷特定番号に対応するレコードが、ソフトウェア契約状態管理テーブル１５２から削除される。
【０１３７】
次に、問い合わせがあったときの対応処理について説明する。
図２６は、問い合わせ対応処理の手順の一例を示すフローチャート（１／２）である。以下、図２６に示す処理をステップ番号に沿って説明する。
【０１３８】
［ステップＳ２０１］サポートライセンス管理部１５０は、顧客企業の端末装置３５、または電話問い合わせを受けたオペレータ５３が使用する端末装置４１から、問い合わせ情報を取得する。問い合わせ情報には、サーバのシリアル番号、サポート契約特定番号、発生したエラーのエラーコードが含まれる。
【０１３９】
［ステップＳ２０２］サポートライセンス管理部１５０は、ステップＳ２０１で取得した問い合わせ情報に示されるサーバのシリアル番号に合致するレコードを、ソフトウェア契約状態管理テーブル１５２から取得する。
【０１４０】
［ステップＳ２０３］サポートライセンス管理部１５０は、ステップＳ２０２において合致するレコードが取得できたか否かを判断する。ステップＳ２０２において該当するレコードが取得できない場合とは、サポート契約が適用されているソフトウェアが、サーバからアンインストールされた場合である。サポートライセンス管理部１５０は、レコードが取得できた場合、処理をステップＳ２０４に進める。またサポートライセンス管理部１５０は、レコードが取得できなかった場合、処理をステップＳ２２１（図２７参照）に進める。
【０１４１】
［ステップＳ２０４］サポートライセンス管理部１５０は、取得したレコードが、契約特定フラグが「０」であり、かつサポート契約特定番号が「−（空欄）」であるという条件を満たすか否かを判断する。サポートライセンス管理部１５０は、条件が満たされる場合、処理をステップＳ２０５に進める。またサポートライセンス管理部１５０は、条件が満たされない場合、処理をステップＳ２０７に進める。
【０１４２】
［ステップＳ２０５］サポートライセンス管理部１５０は、ソフトウェア契約状態管理テーブル１５２における取得したレコードに、問い合わせ情報に示されるサポート契約特定番号を設定する。
【０１４３】
第２の実施の形態では、図１２、図１３に示したような問い合わせ時操作画面６１に基づいて問い合わせが行われる。そのため、問い合わせ情報に含まれるサポート契約特定番号は、適用対象のソフトウェアが未定のサポート契約のサポート契約特定番号である。従って、異なるレコードに同じサポート契約特定番号が重複して設定されることはない。すなわち、サポート契約特定番号の数分のソフトウェアしかサポート契約の適用対象とはならない。
【０１４４】
なお、問い合わせ時操作画面６１以外からでも、問い合わせを行えるようにすることもできる。その場合、問い合わせ情報に含まれるサポート契約特定番号が、適用対象のソフトウェアが未定のサポート契約のものである保証がなくなってしまう。そこでサポートライセンス管理部１５０は、例えばステップＳ２０５の処理を実施する前に、問い合わせ情報に含まれるサポート契約特定番号が、ステップＳ２０２で取得したレコード以外のレコードに設定されていないことを確認する。またサポートライセンス管理部１５０は、ステップＳ２０５の処理を実施する前に、問い合わせ情報に含まれるサポート契約特定番号が、サポート契約管理ＤＢ１３０のいずれかのレコードに設定されていることを確認する。サポートライセンス管理部１５０は、これらの確認事項が確認できたとき、ステップＳ２０５の処理を実行する。これにより、誤ったサポート契約特定番号が設定されることを抑止できる。
【０１４５】
［ステップＳ２０６］サポートライセンス管理部１５０は、ソフトウェア契約状態管理テーブル１５２における取得したレコードの契約特定フラグに「１」を設定する。サポートライセンス管理部１５０は、その後、処理をステップＳ２０９に進める。
【０１４６】
［ステップＳ２０７］サポートライセンス管理部１５０は、取得したレコードのサポート契約特定番号と、取得した問い合わせ情報に示されるサポート契約特定番号とが一致するか否かを判断する。サポートライセンス管理部１５０は、サポート契約特定番号が一致する場合、処理をステップＳ２０９に進める。またサポートライセンス管理部１５０は、サポート契約特定番号が一致しない場合、処理をステップＳ２０８に進める。
【０１４７】
［ステップＳ２０８］サポートライセンス管理部１５０は、問い合わせ対象のソフトウェアには、問い合わせ情報に示されたサポート契約特定番号のサポート契約とは別のサポート契約が適用されている旨のメッセージを、端末装置３５または端末装置４１に表示させる。その後、処理が終了する。
【０１４８】
［ステップＳ２０９］サポートライセンス管理部１５０は、問い合わせ情報に示されているサーバのシリアル番号によってサーバを特定し、該当サーバのリモートエージェントからソフトウェアのエラーログを取得する。
【０１４９】
［ステップＳ２１０］サポートライセンス管理部１５０は、問い合わせ情報に示されているエラーコードが、ステップＳ２０９で取得したエラーログに含まれているか否かを判断する。サポートライセンス管理部１５０は、該当するエラーコードがある場合、処理を終了する。またサポートライセンス管理部１５０は、該当するエラーコードがない場合、処理をステップＳ２１１に進める。
【０１５０】
［ステップＳ２１１］サポートライセンス管理部１５０は、問い合わせ情報に示されているサーバとは別のサーバにおけるエラーの可能性があることを示すアラートを、端末装置３５または端末装置４１に表示する。例えば、図１６に示すような問い合わせ時操作画面６２が表示される。その後、処理が終了する。
【０１５１】
図２７は、問い合わせ対応処理の手順の一例を示すフローチャート（２／２）である。以下、図２７に示す処理をステップ番号に沿って説明する。
［ステップＳ２２１］サポートライセンス管理部１５０は、問い合わせ情報に示されるサポート契約特定番号に合致するレコードを、ソフトウェア契約状態管理テーブル１５２から取得する。
【０１５２】
［ステップＳ２２２］サポートライセンス管理部１５０は、ソフトウェア契約状態管理テーブル１５２内の取得したレコードに、問い合わせ情報に示されるサーバのシリアル番号を設定する。
【０１５３】
［ステップＳ２２３］サポートライセンス管理部１５０は、ソフトウェア契約状態管理テーブル１５２内の取得したレコードの契約特定フラグに「１」を設定する。
［ステップＳ２２４］サポートライセンス管理部１５０は、問い合わせ情報に示されているサーバのシリアル番号によってサーバを特定し、該当サーバのリモートエージェントからソフトウェアのエラーログを取得する。
【０１５４】
［ステップＳ２２５］サポートライセンス管理部１５０は、問い合わせ情報に示されているエラーコードが、ステップＳ２２４で取得したエラーログに含まれているか否かを判断する。サポートライセンス管理部１５０は、該当するエラーコードがある場合、処理を終了する。またサポートライセンス管理部１５０は、該当するエラーコードがない場合、処理をステップＳ２２６に進める。
【０１５５】
［ステップＳ２２６］サポートライセンス管理部１５０は、問い合わせ情報に示されているサーバとは別のサーバにおけるエラーの可能性があることを示すアラートを、端末装置３５または端末装置４１に表示する。
【０１５６】
このようにして、問い合わせ情報に示されているサーバでソフトウェアのエラーが発生していなければアラートを表示することで、誤ったソフトウェアについてサポートが実施されることを抑止することができる。
【０１５７】
次に、契約期間の自動チェック処理について詳細に説明する。
図２８は、契約期間自動チェック処理の手順の一例を示すフローチャートである。以下、図２８に示す処理をステップ番号に沿って説明する。なお契約期間自動チェック処理は、所定期間間隔（例えば１日）で定期的に実行される。
【０１５８】
［ステップＳ３０１］サポートライセンス管理部１５０は、現在日時を取得する。
［ステップＳ３０２］サポートライセンス管理部１５０は、サポート契約管理ＤＢ１３０から、サービス終了日が現在の日付よりも前のレコードから、サポート契約特定番号を取得する。
【０１５９】
［ステップＳ３０３］サポートライセンス管理部１５０は、ステップＳ３０２において、契約期限切れのサポート契約を示すサポート契約特定番号が取得できたか否かを判断する。サポートライセンス管理部１５０は、該当するサポート契約特定番号が取得できた場合、処理をステップＳ３０４に進める。またサポートライセンス管理部１５０は、該当するサポート契約特定番号が取得できなかった場合、処理を終了する。
【０１６０】
［ステップＳ３０４］サポートライセンス管理部１５０は、取得したサポート契約特定番号と合致するレコードを、ソフトウェア契約状態管理テーブル１５２から取得する。
［ステップＳ３０５］サポートライセンス管理部１５０は、ソフトウェア契約状態管理テーブル１５２内の取得したレコードのサポート契約特定番号を、「−」（空欄）に初期化する。
【０１６１】
［ステップＳ３０６］サポートライセンス管理部１５０は、ソフトウェア契約状態管理テーブル１５２内の取得したレコードの契約特定フラグを、「０」に初期化する。
［ステップＳ３０７］サポートライセンス管理部１５０は、ソフトウェア契約状態管理テーブル１５２内の取得したレコードの契約期間満了フラグに「１」を設定する。その後、処理が終了する。
【０１６２】
このようにして、契約期間の自動チェックが行われ、契約期間が満了したサポート契約が適用されていたソフトウェアが検出され、そのソフトウェアに関連付けて契約状態満了フラグが設定される。その結果、以後、契約期間が満了したサポート契約が適用されていたソフトウェアに関するサポートの問い合わせがあっても、図２２に示すような契約切れのメッセージを端末装置３５，４１に表示させることができる。その結果、契約期間が切れたサポート契約を適用したサポートの実施が抑止される。
【０１６３】
〔その他の実施の形態〕
第２の実施の形態では、顧客企業３０内のサーバ３１〜３４にリモートエージェントを実装し、管理装置１００はリモートエージェントから情報を取得しているが、他の方法で情報を取得することもできる。例えばサーバ３１〜３４内に、エラーログの外部出力を行う情報送信回路が組み込まれている場合がある。このような情報送信回路がある場合、リモートエージェントに代えて、情報送信回路からエラーログなどの情報を取得することもできる。
【０１６４】
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【符号の説明】
【０１６５】
１  ユーザ運用システム
１ａ，１ｂ，１ｃ  装置
１ｄ  端末装置
２ａ，２ｂ，２ｃ，２ｄ サポート依頼
１０  管理装置
１１  記憶部
１１ａ  サポート契約情報
１１ｂ  契約状態管理情報
１２  処理部
【図１】
0006725856.tif 000002
【図２】
0006725856.tif 000003
【図３】
0006725856.tif 000004
【図４】
0006725856.tif 000005
【図５】
0006725856.tif 000006
【図６】
0006725856.tif 000007
【図７】
0006725856.tif 000008
【図８】
0006725856.tif 000009
【図９】
0006725856.tif 000010
【図１０】
0006725856.tif 000011
【図１１】
0006725856.tif 000012
【図１２】
0006725856.tif 000013
【図１３】
0006725856.tif 000014
【図１４】
0006725856.tif 000015
【図１５】
0006725856.tif 000016
【図１６】
0006725856.tif 000017
【図１７】
0006725856.tif 000018
【図１８】
0006725856.tif 000019
【図１９】
0006725856.tif 000020
【図２０】
0006725856.tif 000021
【図２１】
0006725856.tif 000022
【図２２】
0006725856.tif 000023
【図２３】
0006725856.tif 000024
【図２４】
0006725856.tif 000025
【図２５】
0006725856.tif 000026
【図２６】
0006725856.tif 000027
【図２７】
0006725856.tif 000028
【図２８】
0006725856.tif 000029