(57)【要約】【課題】ユーザの利便性を確保しつつ、管理者の負担を軽減し、ソフトウェアの不正使用の防止を図ることができるソフトウェア管理システム等を提供する。【解決手段】クライアントは、ソフトウェアの起動を検出すると、ソフトウェア管理サーバに対して起動許可要求を行う。ソフトウェア管理サーバは、ライセンスデータベースを参照して、起動コード（［許可］［不許可］［未登録］等）を返信する。起動コード［許可］の場合、クライアントは、ソフトウェアを起動し、起動コード［不許可］の場合、ソフトウェアの起動を中止し、起動コード［未登録］の場合、ソフトウェア管理サーバに登録要求を行い、当該ソフトウェアがライセンスデータベースに登録される。【選択図】　図２
2004062561.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア管理サーバと１又は複数のクライアントとがネットワークを介して接続され、前記クライアント上の１又は複数のソフトウェアの利用を管理するソフトウェア管理システムであって、
前記ソフトウェア管理サーバは、
前記ソフトウェアの属性情報を有するライセンス情報と、前記クライアントにおける前記ソフトウェアの利用履歴を有する履歴情報と、を前記クライアント毎に登録、保持する保持手段と、
前記クライアントから前記ソフトウェアの属性情報と共に前記ソフトウェアの起動許可要求が送られると、前記ライセンス情報に基づいて、当該ソフトウェアの登録有無及び起動可否を判定し、判定結果を前記クライアントに送信する判定手段と、
前記クライアントから前記ソフトウェアの登録情報と共に前記ソフトウェアの登録要求が送られると、前記ライセンス情報に登録する登録手段と、
を具備し、
前記クライアントは、
前記ソフトウェアの起動を検出すると、前記ソフトウェア管理サーバに対して、前記ソフトウェアの属性情報と共に前記ソフトウェアの起動許可要求を送信する起動許可要求手段と、
前記判定結果が未登録の場合、前記ソフトウェア管理サーバに対して、前記ソフトウェアの登録情報を送信すると共に前記ソフトウェアの登録要求を行う登録要求手段と、
前記判定結果が起動可の場合、または、前記判定結果が送信されなかった場合、前記ソフトウェアの起動を行う起動手段と、
前記判定結果が起動不可の場合、警告を行う警告手段と、
を具備すること特徴とするソフトウェア管理システム。
【請求項２】
前記ソフトウェア管理サーバは、さらに、
前記履歴情報に基づいて、前記クライアント毎に所定の期間利用されていない不使用ソフトウェアを抽出する不使用ソフトウェア抽出手段と、
前記クライアントに対して、前記不使用ソフトウェアの存在確認及び登録存廃の確認を要求する確認要求手段と、
前記クライアントから前記不使用ソフトウェアが存在しない旨の応答又は前記不使用ソフトウェアの登録を廃止する旨の応答が送られた場合、当該不使用ソフトウェアの登録を前記ライセンス情報から抹消する登録抹消手段と、
を具備し、
前記クライアントは、さらに、
前記ソフトウェア管理サーバからの要求に応じて、前記不使用ソフトウェアの存在確認及び登録存廃の確認を行い、確認結果を返信する確認結果返信手段を具備することを特徴とする請求項１に記載のソフトウェア管理システム。
【請求項３】
前記ソフトウェア管理サーバは、さらに、
ＩＰスキャンにより稼働クライアントを抽出する手段と、
前記抽出した稼働クライアントに対して応答要求を行い、応答がなかった場合、警告を行う無応答警告手段と、
を具備することを特徴とする請求項１に記載のソフトウェア管理システム。
【請求項４】
前記属性情報は、ライセンスナンバ又はシリアルナンバを含み、前記判定手段は、このライセンスナンバ又はシリアルナンバを照合することにより、前記ソフトウェアの起動可否を判定することを特徴とする請求項１から請求項３のいずれかに記載のソフトウェア管理システム。
【請求項５】
前記利用履歴は、前記ソフトウェアの起動及び終了の履歴を含み、前記クライアントから前記ソフトウェアの起動又は終了を検出した旨が送られると、当該起動又は終了の履歴を前記保持手段に保持することを特徴とする請求項１から請求項３のいずれか記載のソフトウェア管理システム。
【請求項６】
１又は複数のクライアントにネットワークを介して接続され、前記クライアント上の１又は複数のソフトウェアの利用を管理するソフトウェア管理サーバであって、
前記ソフトウェアの属性情報を有するライセンス情報と、前記クライアントにおける前記ソフトウェアの利用履歴を有する履歴情報と、を前記クライアント毎に登録、保持する保持手段と、
前記クライアントから前記ソフトウェアの属性情報と共に前記ソフトウェアの起動許可要求が送られると、前記ライセンス情報に基づいて、当該ソフトウェアの登録有無及び起動可否を判定し、判定結果を前記クライアントに送信する判定手段と、
を具備することを特徴とするソフトウェア管理サーバ。
【請求項７】
前記クライアントから前記ソフトウェアの登録情報と共に前記ソフトウェアの登録要求が送られると、前記ライセンス情報に登録する登録手段を具備することを特徴とする請求項６に記載のソフトウェア管理サーバ。
【請求項８】
前記履歴情報に基づいて、前記クライアント毎に所定の期間利用されていない不使用ソフトウェアを抽出する不使用ソフトウェア抽出手段と、
前記クライアントに対して、前記不使用ソフトウェアの存在確認及び登録存廃の確認を要求する確認要求手段と、
前記クライアントから前記不使用ソフトウェアが存在しない旨の応答又は前記不使用ソフトウェアの登録を廃止する旨の応答が送られた場合、当該不使用ソフトウェアの登録を前記ライセンス情報から抹消する登録抹消手段と、
を具備することを特徴とする請求項６に記載のソフトウェア管理サーバ。
【請求項９】
ＩＰスキャンにより稼働クライアントを抽出する手段と、
前記抽出した稼働クライアントに対して応答要求を行い、応答がなかった場合、警告を行う無応答警告手段と、
を具備することを特徴とする請求項６に記載のソフトウェア管理サーバ。
【請求項１０】
前記属性情報は、ライセンスナンバ又はシリアルナンバを含み、前記判定手段は、このライセンスナンバ又はシリアルナンバを照合することにより、前記ソフトウェアの起動可否を判定することを特徴とする請求項６から請求項９のいずれかに記載のソフトウェア管理サーバ。
【請求項１１】
前記利用履歴は、前記ソフトウェアの起動及び終了の履歴を含み、前記クライアントから前記ソフトウェアの起動又は終了を検出した旨が送られると、当該起動又は終了の履歴を前記保持手段に保持することを特徴とする請求項６から請求項９のいずれかに記載のソフトウェア管理サーバ。
【請求項１２】
ソフトウェア管理サーバにネットワークを介して接続され、１又は複数のソフトウェアを利用する、１又は複数のクライアントであって、前記ソフトウェアの起動を検出すると、前記ソフトウェア管理サーバに対して、前記ソフトウェアの属性情報と共に前記ソフトウェアの起動許可要求を送信する起動許可要求手段と、
前記判定結果が未登録の場合、前記ソフトウェア管理サーバに対して、前記ソフトウェアの登録情報を送信すると共に前記ソフトウェアの登録要求を行う登録要求手段と、
を具備すること特徴とするクライアント。
【請求項１３】
前記判定結果が起動可の場合、または、前記判定結果が送信されなかった場合、前記ソフトウェアの起動を行う起動手段と、
前記判定結果が起動不可の場合、警告を行う警告手段と、
を具備すること特徴とする請求項１２に記載のクライアント。
【請求項１４】
前記ソフトウェア管理サーバからの要求に応じて、所定のソフトウェアの存在確認及び登録存廃の確認を行い、確認結果を返信する確認結果返信手段を具備することを特徴とする請求項１２に記載のクライアント。
【請求項１５】
１又は複数のクライアントにネットワークを介して接続され、前記クライアント上の１又は複数のソフトウェアの利用を管理するソフトウェア管理サーバが実行するソフトウェア管理方法であって、
前記ソフトウェアの属性情報を有するライセンス情報と、前記クライアントにおける前記ソフトウェアの利用履歴を有する履歴情報と、を前記クライアント毎に登録、保持する保持工程と、
前記クライアントから前記ソフトウェアの属性情報と共に前記ソフトウェアの起動許可要求が送られると、前記ライセンス情報に基づいて、当該ソフトウェアの登録有無及び起動可否を判定し、判定結果を前記クライアントに送信する判定工程と、
を具備することを特徴とするソフトウェア管理方法。
【請求項１６】
前記クライアントから前記ソフトウェアの登録情報と共に前記ソフトウェアの登録要求が送られると、前記ライセンス情報に登録する登録工程を具備することを特徴とする請求項１５に記載のソフトウェア管理方法。
【請求項１７】
前記履歴情報に基づいて、前記クライアント毎に所定の期間利用されていない不使用ソフトウェアを抽出する不使用ソフトウェア抽出工程と、
前記クライアントに対して、前記不使用ソフトウェアの存在確認及び登録存廃の確認を要求する確認要求工程と、
前記クライアントから前記不使用ソフトウェアが存在しない旨の応答又は前記不使用ソフトウェアの登録を廃止する旨の応答が送られた場合、当該不使用ソフトウェアの登録を前記ライセンス情報から抹消する登録抹消工程と、
を具備することを特徴とする請求項１５に記載のソフトウェア管理方法。
【請求項１８】
ＩＰスキャンにより稼働クライアントを抽出する工程と、
前記抽出した稼働クライアントに対して応答要求を行い、応答がなかった場合、警告を行う無応答警告工程と、
を具備することを特徴とする請求項１５に記載のソフトウェア管理方法。
【請求項１９】
前記属性情報は、ライセンスナンバ又はシリアルナンバを含み、前記判定工程は、このライセンスナンバ又はシリアルナンバを照合することにより、前記ソフトウェアの起動可否を判定することを特徴とする請求項１５から請求項１８のいずれかに記載のソフトウェア管理方法。
【請求項２０】
前記利用履歴は、前記ソフトウェアの起動及び終了の履歴を含み、前記クライアントから前記ソフトウェアの起動又は終了を検出した旨が送られると、当該起動又は終了の履歴を保持することを特徴とする請求項１５から請求項１８のいずれかに記載のソフトウェア管理方法。
【請求項２１】
ソフトウェア管理サーバにネットワークを介して接続され、１又は複数のソフトウェアを利用する、１又は複数のクライアントが実行するソフトウェア管理方法であって、
前記ソフトウェアの起動を検出すると、前記ソフトウェア管理サーバに対して、前記ソフトウェアの属性情報と共に前記ソフトウェアの起動許可要求を送信する起動許可要求工程と、
前記判定結果が未登録の場合、前記ソフトウェア管理サーバに対して、前記ソフトウェアの登録情報を送信すると共に前記ソフトウェアの登録要求を行う登録要求工程と、
を具備すること特徴とするソフトウェア管理方法。
【請求項２２】
前記判定結果が起動可の場合、または、前記判定結果が送信されなかった場合、前記ソフトウェアの起動を行う起動工程と、
前記判定結果が起動不可の場合、警告を行う警告工程と、
を具備すること特徴とする請求項２１に記載のソフトウェア管理方法。
【請求項２３】
前記ソフトウェア管理サーバからの要求に応じて、所定のソフトウェアの存在確認及び登録存廃の確認を行い、確認結果を返信する確認結果返信工程を具備することを特徴とする請求項２１に記載のソフトウェア管理方法。
【請求項２４】
コンピュータを請求項６から請求項１１のいずれかに記載のソフトウェア管理サーバとして機能させるプログラム。
【請求項２５】
コンピュータを請求項６から請求項１１のいずれかに記載のソフトウェア管理サーバとして機能させるプログラムを記録した記録媒体。
【請求項２６】
コンピュータを請求項１２または請求項１４に記載のクライアントとして機能させるプログラム。
【請求項２７】
コンピュータを請求項１２または請求項１４に記載のクライアントとして機能させるプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のクライアントがネットワークを介して接続されたソフトウェア管理システム等に関する。より詳細には、クライアント上のアプリケーション等のソフトウェアの管理を行うソフトウェア管理システム等に関する。
【０００２】
【従来の技術】
昨今、ソフトウェアのライセンス管理に関して、違法複製等に関する法規制の遵守、各ソフトウェアの利用規定の遵守が強く求められている。
企業全体、または、企業のフロアレベルであっても、数百台に及ぶコンピュータ端末装置が存在し、異動や組織改編により頻繁に利用者や機器構成が変わるような環境にあっては、業務用アプリケーション等のソフトウェアの管理に関し多大な労力を要する。
これは、ソフトウェア毎に利用規定が異なることや、同一ソフトウェアであってもバージョンによりライセンスが異なる場合があること、物理的な媒体による管理が不可能であることに起因する。
【０００３】
これらの課題に対処するため、サーバと複数のクライアントがネットワークに接続されている環境におけるソフトウェア管理は、サーバ側でソフトウェアのライセンス管理を行い、クライアント側からの依頼によりライセンスを与えるという提案がある。
また、サーバのダウン時、ソフトウェアが使用できなくなる事態を回避すべく、クライアントへのソフトウェアインストール時のみサーバに接続し、起動時にはサーバへの照合を省略できる仕組みも提案されている。
【０００４】
【発明が解決しようとする課題】
しかしながら、従来の技術では、サーバ側で登録されていないソフトウェアを使用する場合、起動を許さないか、無関心であるかのどちらかである。
起動を許さない処置をされている場合は、登録を行うサーバ管理者が不在の場合、新たなソフトウェアの登録が完了するまで当該ソフトウェアを使用できない事態が起き、ユーザの利便性を著しく損なうという問題点がある。
無関心である場合は、不正なソフトウェアであっても制限なく自由に使用できてしまうという問題点がある。
【０００５】
また、最近は、ソフトウェアがプレインストールされたクライアント、パーソナルコンピュータ等を導入する場合も多いが、バンドルソフトウェアが多数の場合は、これらのソフトウェアを登録するという煩雑な作業が発生する。
【０００６】
また、ソフトウェアのバージョン管理については、一般にライセンス番号に変化がない場合は、登録情報の更新を怠ったり、インターネットから自動的に直接バージョンアップされてしまう場合は、管理者すらバージョンアップに気付かない場合もあり、非常に把握が困難である。
【０００７】
本発明は、以上の問題点に鑑みてなされたものであり、ユーザの利便性を確保しつつ、管理者の負担を軽減し、ソフトウェアの不正使用の防止を図ることができるソフトウェア管理システム等を提供することを目的とする。
【０００８】
【課題を解決するための手段】
前述した目的を達成するために第１の発明は、ソフトウェア管理サーバと１又は複数のクライアントとがネットワークを介して接続され、前記クライアント上の１又は複数のソフトウェアの利用を管理するソフトウェア管理システムであって、前記ソフトウェア管理サーバは、前記ソフトウェアの属性情報を有するライセンス情報と、前記クライアントにおける前記ソフトウェアの利用履歴を有する履歴情報と、を前記クライアント毎に登録、保持する保持手段と、前記クライアントから前記ソフトウェアの属性情報と共に前記ソフトウェアの起動許可要求が送られると、前記ライセンス情報に基づいて、当該ソフトウェアの登録有無及び起動可否を判定し、判定結果を前記クライアントに送信する判定手段と、前記クライアントから前記ソフトウェアの登録情報と共に前記ソフトウェアの登録要求が送られると、前記ライセンス情報に登録する登録手段と、を具備し、前記クライアントは、前記ソフトウェアの起動を検出すると、前記ソフトウェア管理サーバに対して、前記ソフトウェアの属性情報と共に前記ソフトウェアの起動許可要求を送信する起動許可要求手段と、前記判定結果が未登録の場合、前記ソフトウェア管理サーバに対して、前記ソフトウェアの登録情報を送信すると共に前記ソフトウェアの登録要求を行う登録要求手段と、前記判定結果が起動可の場合、または、前記判定結果が送信されなかった場合、前記ソフトウェアの起動を行う起動手段と、前記判定結果が起動不可の場合、警告を行う警告手段と、を具備すること特徴とするソフトウェア管理システムである。
【０００９】
また、前記ソフトウェア管理サーバは、さらに、前記履歴情報に基づいて、前記クライアント毎に所定の期間利用されていない不使用ソフトウェアを抽出する不使用ソフトウェア抽出手段と、前記クライアントに対して、前記不使用ソフトウェアの存在確認及び登録存廃の確認を要求する確認要求手段と、前記クライアントから前記不使用ソフトウェアが存在しない旨の応答又は前記不使用ソフトウェアの登録を廃止する旨の応答が送られた場合、当該不使用ソフトウェアの登録を前記ライセンス情報から抹消する登録抹消手段と、を具備し、前記クライアントは、さらに、前記ソフトウェア管理サーバからの要求に応じて、前記不使用ソフトウェアの存在確認及び登録存廃の確認を行い、確認結果を返信する確認結果返信手段を具備することが望ましい。
【００１０】
また、前記ソフトウェア管理サーバは、さらに、ＩＰスキャンにより稼働クライアントを抽出する手段と、前記抽出した稼働クライアントに対して応答要求を行い、応答がなかった場合、警告を行う無応答警告手段と、を具備することが望ましい。
【００１１】
また、前記属性情報は、ライセンスナンバ又はシリアルナンバを含み、前記判定手段は、このライセンスナンバ又はシリアルナンバを照合することにより、前記ソフトウェアの起動可否を判定することが望ましい。
【００１２】
また、前記利用履歴は、前記ソフトウェアの起動及び終了の履歴を含み、前記クライアントから前記ソフトウェアの起動又は終了を検出した旨が送られると、当該起動又は終了の履歴を前記保持手段に保持することが望ましい。
【００１３】
第１の発明では、クライアントは、ソフトウェアの起動を検出すると、ソフトウェア管理サーバに対して、当該ソフトウェアの属性情報、クライアントＩＤ等を送信して起動許可を要求する。ソフトウェア管理サーバは、送信された情報とライセンス情報とを照合し、起動可否、登録の有無等を判定し、判定結果を返信する。
【００１４】
クライアントは、判定結果が「未登録」を示すものである場合、ソフトウェア管理サーバに対して、登録情報を送信して当該ソフトウェアの登録要求を行う。ソフトウェア管理サーバは、登録要求に応じてライセンス情報に当該ソフトウェアの登録を行う。また、クライアントは、判定結果が「起動可」を示すものである場合、あるいは、判定結果が送信されなかった場合、起動処理をＯＳ（Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）に渡し、当該ソフトウェアが起動する。また、クライアントは、判定結果が「起動不可」を示すものである場合、警告表示したり、当該ソフトウェアの起動を中止したりする。
【００１５】
さらに、ソフトウェア管理サーバは、履歴情報に基づいて、所定の期間利用されていない（起動されていない）不使用ソフトウェアを抽出し、クライアントに対して、当該不使用ソフトウェアの存在確認及び登録存廃を確認するよう要求する。クライアントは、当該不使用ソフトウェアの存在（ハードディスク等にインストールされているかどうか）、登録存廃（サーバ側の登録を削除するかどうか）等を確認し、確認結果をソフトウェア管理サーバに送信する。確認結果が「存在しない」あるいは「登録を廃止する」を示すものである場合、ソフトウェア管理サーバは、ライセンス情報から当該不使用ソフトウェアの登録を削除する。
【００１６】
さらに、ソフトウェア管理サーバは、ＩＰスキャンにより稼働クライアントを抽出し、当該稼働クライアントに対して応答要求を行い、応答がなかった場合、本来管理下にあるべきクライアントが管理下にない旨の警告表示等を行い、管理者等に注意を喚起する。尚、ＩＰスキャンは、対象たるクライアントのＩＰアドレスの範囲、ドメイン等を予め設定し、ＰＩＮＧ等により定期的に又は不定期に応答を要求することにより行う。
【００１７】
「ソフトウェア」は、主として、クライアント上で使用されるアプリケーション等のソフトウェアである。
「ライセンス情報」は、ソフトウェアの登録有無、起動可否等を判断する際に参照される情報であり、クライアント毎及びソフトウェア毎に登録、記録される。ライセンス情報は、いかなる構成であっても構わないが、例えば、クライアントＩＤ、ソフトウェアの属性情報等を有する。
【００１８】
「属性情報」は、ソフトウェアを特定するための属性情報（ソフトウェア属性）であって、例えば、実行形式ファイル名、ファイルサイズ、インストール日時等である。また、属性情報は、必要に応じて、ライセンスナンバ、シリアルナンバ、ソフトウェア名、バージョン、その他、使用許可条件等を含むようにしてもよい。
「登録情報」は、ソフトウェアの登録に必要な情報であり、例えば、上記の属性情報等である。
【００１９】
「履歴情報」は、ソフトウェアの利用履歴に関する情報、ソフトウェア管理サーバにおける処理の履歴に関する情報等を有する。履歴情報は、いかなる構成であっても構わないが、例えば、クライアントにおけるソフトウェアの利用履歴に関するものである場合、クライアントＩＤ、ソフトウェアの属性情報、ソフトウェアの利用履歴等を対応付けて記録する。
「利用履歴」は、ソフトウェアの使用開始日時（起動開始日時）、使用終了日時（起動終了日時）等である。
【００２０】
「判定結果」は、登録有無、起動可否等の判定結果である。ソフトウェア管理サーバは、この判定結果を起動コード（［許可］［不許可］［未登録］等）等を用いてクライアントに送信する。
【００２１】
ソフトウェア管理サーバは、クライアント上のソフトウェア毎に起動許可を与えるので、ソフトウェアの不正使用を防止、牽制することができる。また、ソフトウェア管理サーバは、未登録のソフトウェアに関しては、最初の起動時にクライアントに登録情報を送信させて登録処理を行うので、管理者による登録作業が不要である。また、ソフトウェアの最初の起動時に登録処理が行われ、そのまま当該ソフトウェアを使用することができるので、クライアントのユーザの利便性を損なわない。また、判定結果が送信されなかった場合、典型的にはソフトウェア管理サーバがダウンしている場合であっても、クライアントは、ソフトウェアを起動可能であるので、クライアントのユーザの利便性を損なうことはない。この場合、次回のソフトウェア起動時に同様の手続きが求められるため、登録の機会が失われる事はない。
【００２２】
また、ソフトウェア管理サーバは、クライアントに対して不使用ソフトウェアに関する存在の確認、登録の存廃の確認等を要求し、この確認結果に基づいてライセンス情報を更新する。従って、ソフトウェア管理サーバは、長期間使用されていないソフトウェアのライセンスを回収することができ、資産の有効利用を図ると共にライセンス取得に係る経済的負担も軽減される。
【００２３】
また、ソフトウェア管理サーバは、稼働クライアントに対して応答要求を行い、応答がなかったクライアントに関して警告表示等の警告動作を行い、管理者に注意を促す。従って、クライアントがスタンドアロン状態でソフトウェア管理サーバに無断でソフトウェアを使用するのを防止したり、ソフトウェア管理システムが機能していない不正の可能性のあるクライアントに対する処置を講ずることができる。
【００２４】
第２の発明は、１又は複数のクライアントにネットワークを介して接続され、前記クライアント上の１又は複数のソフトウェアの利用を管理するソフトウェア管理サーバであって、前記ソフトウェアの属性情報を有するライセンス情報と、前記クライアントにおける前記ソフトウェアの利用履歴を有する履歴情報と、を前記クライアント毎に登録、保持する保持手段と、前記クライアントから前記ソフトウェアの属性情報と共に前記ソフトウェアの起動許可要求が送られると、前記ライセンス情報に基づいて、当該ソフトウェアの登録有無及び起動可否を判定し、判定結果を前記クライアントに送信する判定手段と、を具備することを特徴とするソフトウェア管理サーバである。
【００２５】
第２の発明は、第１の発明のソフトウェア管理システムにおいて用いられるソフトウェア管理サーバに関する発明である。
【００２６】
第３の発明は、ソフトウェア管理サーバにネットワークを介して接続され、１又は複数のソフトウェアを利用する、１又は複数のクライアントであって、前記ソフトウェアの起動を検出すると、前記ソフトウェア管理サーバに対して、前記ソフトウェアの属性情報と共に前記ソフトウェアの起動許可要求を送信する起動許可要求手段と、前記判定結果が未登録の場合、前記ソフトウェア管理サーバに対して、前記ソフトウェアの登録情報を送信すると共に前記ソフトウェアの登録要求を行う登録要求手段と、を具備すること特徴とするクライアントである。
【００２７】
第３の発明は、第１の発明のソフトウェア管理システムにおいて用いられるクライアントに関する発明である。
【００２８】
第４の発明は、１又は複数のクライアントにネットワークを介して接続され、前記クライアント上の１又は複数のソフトウェアの利用を管理するソフトウェア管理サーバが実行するソフトウェア管理方法であって、前記ソフトウェアの属性情報を有するライセンス情報と、前記クライアントにおける前記ソフトウェアの利用履歴を有する履歴情報と、を前記クライアント毎に登録、保持する保持工程と、前記クライアントから前記ソフトウェアの属性情報と共に前記ソフトウェアの起動許可要求が送られると、前記ライセンス情報に基づいて、当該ソフトウェアの登録有無及び起動可否を判定し、判定結果を前記クライアントに送信する判定工程と、を具備することを特徴とするソフトウェア管理方法である。
【００２９】
第４の発明は、第２の発明のソフトウェア管理サーバが実行するソフトウェア管理方法に関する発明である。
【００３０】
第５の発明は、ソフトウェア管理サーバにネットワークを介して接続され、１又は複数のソフトウェアを利用する、１又は複数のクライアントが実行するソフトウェア管理方法であって、前記ソフトウェアの起動を検出すると、前記ソフトウェア管理サーバに対して、前記ソフトウェアの属性情報と共に前記ソフトウェアの起動許可要求を送信する起動許可要求工程と、前記判定結果が未登録の場合、前記ソフトウェア管理サーバに対して、前記ソフトウェアの登録情報を送信すると共に前記ソフトウェアの登録要求を行う登録要求工程と、を具備すること特徴とするソフトウェア管理方法である。
【００３１】
第５の発明は、第３の発明のクライアントが実行するソフトウェア管理方法に関する発明である。
【００３２】
第６の発明は、コンピュータを第２の発明のソフトウェア管理サーバとして機能させるプログラムである。
第７の発明は、コンピュータを第２の発明のソフトウェア管理サーバとして機能させるプログラムを記録した記録媒体である。
【００３３】
第８の発明は、コンピュータを第３の発明のクライアントとして機能させるプログラムである。
第９の発明は、コンピュータを第３の発明のクライアントとして機能させるプログラムを記録した記録媒体である。
【００３４】
上述のプログラムをＣＤ−ＲＯＭ等の記録媒体に保持させて流通させてもよいし、このプログラムを通信回線を介して送受することもできる。
【００３５】
【発明の実施の形態】
以下に、添付図面を参照しながら、本発明に係るソフトウェア管理システム、情報提供サーバ、ソフトウェア管理サーバ等の好適な実施形態について詳細に説明する。なお、以下の説明および添付図面において、略同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略することにする。
【００３６】
図１は、本実施の形態に係るソフトウェア管理システム１０１の概略構成を示す図である。
【００３７】
図１に示すように、ソフトウェア管理システム１０１は、管理者１１３のソフトウェア管理サーバ１０３、ユーザ１１６のクライアント１０６等が、ネットワーク１０２により接続されて構成される。通常、複数のクライアント１０６がネットワーク１０２に接続される。
尚、以下の説明では、「ソフトウェア」は、主として、クライアント上で使用されるアプリケーション等のソフトウェアを示す。
【００３８】
ネットワーク１０２は、インターネット、ローカルエリアネットワーク（ＬＡＮ）等のネットワークであり、有線、無線を問わない。尚、通信に関しては、例えば、ソフトウェア管理サーバ、クライアントの通信ポートを予め設定し、ＩＰ（Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ）のソケット通信を使用することができる。
【００３９】
ソフトウェア管理サーバ１０３は、ライセンスデータベース１０４、履歴データベース１０５等を有する。
ソフトウェア管理サーバ１０３は、クライアント上でのソフトウェアの起動に際し、クライアント毎にライセンス情報（後述する）をライセンスデータベースに登録したり、ライセンス情報に基づいて当該ソフトウェアの起動の可否を与えたりする。また、ソフトウェア管理サーバ１０３は、クライアント毎に履歴情報（起動、終了等）を履歴データベースに記録し、この履歴情報に基づいてソフトウェアの使用状況の把握を行ったりする。これらの処理は、ソフトウェア管理サーバ１０３上のサーバ常駐ソフトウェア等により実現される。
【００４０】
ライセンスデータベース１０４は、ライセンス情報を記録する。ライセンス情報は、ソフトウェアの登録有無、起動可否等を判断する際に参照される情報であり、クライアント毎及びソフトウェア毎に登録、記録される。
ライセンス情報は、いかなる構成であっても構わないが、例えば、クライアントＩＤ、ソフトウェア属性、利用許可条件（起動許可条件）等を有する。
【００４１】
クライアントＩＤは、クライアントを特定する数字、文字、記号等からなる符号列である。また、クライアントＩＤに対応させて、クライアントの機種名、管理責任者等の付帯情報を記録するようにしてもよい。
ソフトウェア属性は、ソフトウェアを特定するための属性情報であって、例えば、実行形式ファイル名、ファイルサイズ、インストール日時等であり、必要に応じて、ライセンスナンバ、シリアルナンバ、ソフトウェア名、バージョン、その他、使用許可条件等を含ませてもよい。
【００４２】
使用許可条件（起動許可条件、利用許可条件）は、ソフトウェアの使用（起動）を許可する条件であり、例えば、使用期限、ライセンスナンバの要否、シリアルナンバの要否等である。尚、この使用許可条件を上記のソフトウェア属性の構成要素とすることもできる。
【００４３】
履歴データベース１０５は、履歴情報を記録する。履歴情報は、クライアントにおけるソフトウェアの使用履歴に関する情報、ソフトウェア管理サーバにおける処理の履歴に関する情報を有する。履歴情報は、必要に応じて、クライアント毎、ソフトウェア毎等に記録される。
履歴情報は、いかなる構成であっても構わないが、例えば、クライアントにおけるソフトウェアの使用履歴等に関するものである場合、クライアントＩＤ、ソフトウェア属性、使用開始日時（起動開始日時）、使用終了日時（起動終了日時）等を対応付けて記録する。
【００４４】
クライアント１０６は、ソフトウェアの起動を監視し、起動を検出した場合、ソフトウェア管理サーバ１０３に当該ソフトウェアの起動許可を要求し、ソフトウェア管理サーバ１０３からの応答（起動コード）に応じて、当該ソフトウェアの起動、登録、警告、起動中止（終了）等を行う。また、クライアント１０６は、ソフトウェア管理サーバ１０３からの動作確認の応答要求に応答したり、登録ソフトウェアの存在確認を行い、登録の存廃に関する要求、通知をソフトウェア管理サーバ１０３に送る。これらの処理は、クライアント１０６上のクライアント常駐ソフトウェアにより実現される。
【００４５】
次に、ソフトウェア管理システム１０１の処理概要について説明する。
図２は、ソフトウェア管理システム１０１の処理概要を示す図である。
【００４６】
まず、ユーザがクライアント１０６上でソフトウェア２０１を起動すると、クライアント常駐ソフトウェア２０２は、ソフトウェアの起動を検出する（ステップ２５１）。クライアント常駐ソフトウェア２０２は、ソフトウェア管理サーバ１０３にクライアントＩＤ、ソフトウェア属性等を送信し、ソフトウェア２０１の起動許可要求を行う（ステップ２５２）。
【００４７】
サーバ常駐ソフトウェア２０４は、ライセンスデータベース１０４を検索し（ステップ２５３）、ソフトウェアの起動可否を示す起動コードを生成し（ステップ２５４）、クライアント１０６に送信する（ステップ２５５）。
【００４８】
起動コードが「許可」を示す場合、クライアント常駐ソフトウェア２０２は、ソフトウェア２０１の実行処理をＯＳ２０３に渡し、ソフトウェア２０１が起動する（ステップ２５６）。
起動コードが「不許可」を示す場合、クライアント常駐ソフトウェア２０２は、ソフトウェア２０１の実行処理をＯＳ２０３に渡さず、ソフトウェア２０１に対して起動中止命令を出し、ソフトウェア２０１の起動が中止される（ステップ２５７）。この時、ユーザには不許可の理由及び、不許可である旨のメッセージを表示する。
【００４９】
起動コードが「未登録」を示す場合、クライアント常駐ソフトウェア２０２は、ソフトウェア管理サーバ１０３にソフトウェア２０１の登録を要求する（ステップ２５８）。
サーバ常駐ソフトウェア２０４は、ライセンスデータベース１０４に登録を行い（ステップ２５９）、上記のステップ２５４〜ステップ２５６の処理を経てソフトウェア２０１が起動する。
【００５０】
尚、起動コード生成、送信（ステップ２５４）、登録（ステップ２５９）等の処理を行った際、サーバ常駐ソフトウェア２０４は、履歴データベース１０５に処理の履歴（ログファイル等）を保存する（ステップ２６２）。また、起動許可要求（ステップ２５２）、登録要求（ステップ２５８）、終了通知（ステップ２６０）等を受信した旨を履歴データベースに保存するようにしてもよい。
【００５１】
また、ＯＳ２０３は、通常の定義のとおりのＯｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍであり、クライアント１０６のハードウェア資源、ソフトウェア資源の管理を行い、ユーザの操作があったときにその操作情報を必要なモジュールに通知したり、表示の要求があったときにこれを本クライアントの制御下にある表示デバイスに対して、その内容を表示させる。
【００５２】
次に、ユーザがクライアント１０６上でソフトウェア２０１を終了すると、クライアント常駐ソフトウェア２０２は、ソフトウェアの終了を検出する（ステップ２５９）。クライアント常駐ソフトウェア２０２は、ソフトウェア管理サーバ１０３にクライアントＩＤ、ソフトウェア属性等を送信し、ソフトウェア２０１の終了通知を行い（ステップ２６０）、ソフトウェア２０１の終了処理をＯＳ２０３に渡し、ソフトウェア２０１が終了する（ステップ２６１）。
【００５３】
尚、サーバ常駐ソフトウェア２０４は、終了通知を受けると（ステップ２６０）、履歴データベース１０５に処理の履歴（ログファイル等）を保存する（ステップ２６２）。
【００５４】
尚、終了通知については、実装上その機能を備えることが望ましいものとして、上述のように説明したが、ライセンス管理上必須の機能ではない。すなわち、上記の終了通知機能がない場合であっても、ライセンス管理は可能である。終了通知は、使用頻度や使用時間を計測可能とし、より効果的な管理を行えるようにするものである。従って、終了通知の機能を有する場合であっても、有しない場合であっても、共に、本発明の技術的思想、技術的範囲に属するものと解される。
【００５５】
以下、図３乃至図６を参照しながら、ソフトウェア管理システム１０１の処理手順を詳しく説明する。
【００５６】
まず、ソフトウェアの起動に係る処理について説明する。
図３は、ソフトウェアの起動に係る処理手順を示すフローチャートである。
【００５７】
クライアント１０６（クライアント常駐ソフトウェア２０２）は、ソフトウェアが起動しようとすると、起動を検出する（ＯＳフック）（ステップ３０１）。クライアント１０６は、起動を検出したソフトウェアに係るソフトウェア属性（実行形式ファイル名、ファイルサイズ、インストール日時等）を取得し（ステップ３０２）、このソフトウェア属性をクライアントＩＤと共にソフトウェア管理サーバ１０３に送信し、当該ソフトウェアの起動許可要求を行う（ステップ３０３）。
【００５８】
ソフトウェア管理サーバ１０３（サーバ常駐ソフトウェア２０４）は、送られたソフトウェア属性及びクライアントＩＤに基づいてライセンスデータベース１０４のライセンス情報を検索する（ステップ３０４）。
【００５９】
当該ソフトウェアに対応するライセンス情報が登録されている場合（ステップ３０５のＹｅｓ）、ソフトウェア管理サーバ１０３は、ライセンス情報の使用許可条件（起動許可条件）等に基づいて起動許可を与えてよいかどうかを判定する（ステップ３０６）。
【００６０】
起動許可を与える場合（ステップ３０６のＹｅｓ）、ソフトウェア管理サーバ１０３は、起動コード［許可］を生成し、送信する（ステップ３０７）。クライアント１０６は、ソフトウェアの実行処理をＯＳに渡し、ソフトウェアを起動する（ステップ３０８）。
【００６１】
起動を許可しない場合（ステップ３０６のＮｏ）、ソフトウェア管理サーバ１０３は、起動コード［不許可］を生成し、送信する（ステップ３０９）。クライアント１０６は、ソフトウェアの実行処理をＯＳに渡さず、ソフトウェアに対して起動中止命令を出し、ソフトウェアの起動を中止する（ステップ３１０）。この時、ユーザには不許可の理由及び、不許可である旨のメッセージを表示する。
【００６２】
当該ソフトウェアに対応するライセンス情報が登録されていない場合（ステップ３０５のＮｏ）、ソフトウェア管理サーバ１０３は、起動コード［未登録］を生成し、送信する（ステップ３１１）。
【００６３】
クライアント１０６は、起動コード［未登録］を受け取ると当該ソフトウェアが未登録である旨、登録を促すメッセージ等を表示する。クライアント１０６は、クライアントＩＤ、ソフトウェア属性等、登録に係る情報（登録情報）をソフトウェア管理サーバ１０３に送信し、登録を要求する（ステップ３１２）。尚、登録に係る情報の送信に関しては、クライアント１０６が自動的に取得可能な情報（クライアントＩＤ、実行形式ファイル名、ファイルサイズ、インストール日時等）を自動的に送信するようにしてもよい。また、必要に応じて、ライセンスナンバ、シリアルナンバ、ソフトウェア名、バージョン等の入力を促し、これらの入力情報を併せて送信するようにしてもよく、この場合、より精度の高いソフトウェア管理が可能となる。
【００６４】
ソフトウェア管理サーバ１０３は、送られた登録に係る情報（登録情報）に基づいて、当該ソフトウェアに対応するライセンス情報をライセンスデータベース１０４に登録し（ステップ３１３）、ソフトウェア管理サーバ１０３及びクライアント１０６は、ステップ３０６からステップ３１０の処理を行う。
【００６５】
起動コード生成、送信（ステップ３０７、ステップ３０９、ステップ３１１）、登録（ステップ３１３）等の処理を行った際、ソフトウェア管理サーバ１０３は、履歴データベース１０５に処理の履歴（ログファイル等、例えば、「どのクライアントからいつ起動の要求があったか」、「どのクライアントにどのソフトウェアの起動を許可したか、許可しなかったか」等）を保存する（ステップ３１４）。
【００６６】
次に、ソフトウェアの終了に係る処理について説明する。
図４は、ソフトウェアの終了に係る処理手順を示すフローチャートである。
【００６７】
クライアント１０６（クライアント常駐ソフトウェア２０２）は、ソフトウェアが終了しようとすると、終了を検出する（ＯＳフック）（ステップ４０１）。クライアント１０６は、終了を検出したソフトウェアに係るソフトウェア属性（実行形式ファイル名、ファイルサイズ、インストール日時等）を取得し（ステップ４０２）、このソフトウェア属性をクライアントＩＤと共にソフトウェア管理サーバ１０３に送信し、当該ソフトウェアの終了通知を行い、ソフトウェアの終了処理をＯＳに渡し、ソフトウェアを終了させる（ステップ４０３）。
【００６８】
ソフトウェア管理サーバ１０３（サーバ常駐ソフトウェア２０４）は、クライアントＩＤ、ソフトウェア属性等と共に終了通知を受けると、必要に応じて、ライセンスデータベース１０４を検索し、ライセンス情報を更新する（ステップ４０４）。
【００６９】
終了通知の受信、ライセンスデータベース１０４の更新等の処理行った際、ソフトウェア管理サーバ１０３は、履歴データベース１０５に処理の履歴（ログファイル等）（例えば、「どのクライアントからいつ終了の通知があったか」等）を保存する（ステップ４０５）。
【００７０】
以上の過程を経て、図３及び図４について説明したように、クライアントは、ソフトウェアの起動を検出すると、ソフトウェア管理サーバに対して起動許可要求を行う。ソフトウェア管理サーバは、ライセンスデータベースを参照して、起動コード（［許可］［不許可］［未登録］等）を返信する。起動コード［許可］の場合、クライアントは、ソフトウェアを起動し、起動コード［不許可］の場合、ソフトウェアの起動を中止し、起動コード［未登録］の場合、ソフトウェア管理サーバに登録要求を行い、当該ソフトウェアに対応するライセンス情報がライセンスデータベースに登録される。
また、クライアントは、ソフトウェアの終了を検出すると、ソフトウェア管理サーバに対して終了通知を行う。
ソフトウェア管理サーバは、ソフトウェアの起動、終了に係る処理に関する履歴情報（ログファイル等）を履歴データベースに記録する。
【００７１】
ソフトウェア管理サーバは、クライアント上のソフトウェア毎に起動許可を与えるので、ソフトウェアの不正使用を防止、牽制することができる。また、ソフトウェア管理サーバは、未登録のソフトウェアに関しては、最初の起動時にクライアントに登録情報を送信させて登録処理を行うので、管理者による登録作業が不要である。また、ソフトウェアの最初の起動時に登録処理が行われ、そのまま当該ソフトウェアを使用することができるので、クライアントのユーザの利便性を損なわない。また、ソフトウェアがプレインストールされたクライアントであっても、ソフトウェア起動時に登録処理が行われるので、必要なソフトウェアのみを登録することができる。また、クライアントにおけるソフトウェアの起動、終了等に関する履歴情報（ログファイル等）を履歴データベースに記録するので、ソフトウェア管理サーバは、この履歴情報を参照して様々な観点からデータを抽出し、統計、一覧を作成することができる。
【００７２】
次に、図５を参照しながら、ソフトウェア管理システムにおける「動作監査」に係る処理について説明する。
図５は、動作監査、すなわち、クライアント１０６（クライアント常駐ソフトウェア２０２）の動作確認に係る処理手順を示すフローチャートである。
【００７３】
動作監査は、ソフトウェア管理サーバが管理するクライアントが正常に動作しているかどうかを確認するものである。具体的には、動作監査処理では、ソフトウェア管理サーバとクライアント間で情報の授受が可能であるかどうか、すなわち、ソフトウェア管理サーバからの応答要求にクライアント（クライアント常駐ソフトウェア）が応答するかどうかを確認する処理が行われる。
【００７４】
ソフトウェア管理サーバ１０３（サーバ常駐ソフトウェア２０４）は、クライアントに対してＩＰスキャンを行い（ステップ５０１）、稼働クライアント一覧を生成する（ステップ５０２）。尚、ＩＰスキャンは、対象たるクライアントのＩＰアドレスの範囲、ドメイン等を予め設定し、ＰＩＮＧ等により応答を要求することにより行う。
ソフトウェア管理サーバ１０３は、稼働クライアント一覧から事前登録機器（プリンタ装置等、監査の必要のないＩＰ機器）に関するものを除去する（ステップ５０３）。
【００７５】
ソフトウェア管理サーバ１０３は、稼働クライアント一覧に示されたクライアント１０６に対して応答要求を行う（ステップ５０４、ステップ５０５）。
クライアント１０６（クライアント常駐ソフトウェア２０２）は、正常に動作している場合、応答する（ステップ５０６）。
ソフトウェア管理サーバ１０３は、クライアント１０６から応答がなかった場合（ステップ５０７のＮｏ）、警告表示等の警告動作を行い、管理者に注意を促す（ステップ５０８）。
【００７６】
ソフトウェア管理サーバ１０３及びクライアント１０６は、稼働クライアント一覧分、上記のステップ５０５〜ステップ５０８の処理を繰り返す（ステップ５０４）。
【００７７】
ソフトウェア管理サーバ１０３は、上述のステップ５０１〜ステップ５０８に係る処理の履歴（ログファイル等）（例えば、「どのクライアントをいつ監査したか」、「どのクライアントから応答があったか、応答がなかったか」、「どのクライアントに警告を行ったか」等）を履歴データベース１０５に保存する（ステップ５０９）。
【００７８】
以上の過程を経て、図５について説明したように、ソフトウェア管理サーバは、稼働クライアントに対して応答要求を行い、応答がなかったクライアントに関して警告表示等の警告動作を行い、管理者に注意を促す。従って、クライアントがスタンドアロン状態でソフトウェア管理サーバに無断でソフトウェアを使用するのを防止したり、ソフトウェア管理システムが機能していない不正の可能性のあるクライアントに対する処置を講ずることができる。
ここではＩＰスキャンの後、逐次応答を求める方法を示したが、ブロードキャストにて応答を求め、クライアントから個別に応答を得てもよい。
【００７９】
次に、図６を参照しながら、ソフトウェア管理システムにおける「不使用監査」に係る処理について説明する。
図６は、不使用監査、すなわち、登録されているソフトウェアであって、所定の期間使用されていないものについて、登録の存廃の確認及び当該削除の確認に係る処理手順を示すフローチャートである。
【００８０】
ソフトウェア管理サーバ１０３（サーバ常駐ソフトウェア２０４）は、ライセンスデータベース１０４及び履歴データベース１０５に基づいて、所定の期間使用されていない登録済ソフトウェアの一覧（不使用ソフトウェア一覧）を生成する（ステップ６０１）。
尚、「所定の期間」とは、継続して使用されていない期間等である。また、所定の期間使用されているかどうかについては、使用頻度等を考慮するようにしてもよい。
【００８１】
ソフトウェア管理サーバ１０３は、クライアント１０６に対して、不使用ソフトウェア一覧に示されたソフトウェア（確認対象ソフトウェア）毎に、当該ソフトウェアの存在確認・必要確認を要求する（ステップ６０２、ステップ６０３）。
【００８２】
クライアント１０６（クライアント常駐ソフトウェア２０２）は、確認対象ソフトウェアを検索し（ステップ６０４）、存在した場合（ステップ６０５のＹｅｓ）、さらに、必要なソフトウェアであるかどうかを判断しあるいは入力し、不要である場合（ステップ６０６のＹｅｓ）、当該ソフトウェアを削除し（アンインストール）（ステップ６０７）、併せて、登録削除要求を行う（ステップ６０８）。
【００８３】
ソフトウェア管理サーバ１０３及びクライアント１０６は、不使用ソフトウェア一覧分、上記のステップ６０３〜ステップ６０９の処理を繰り返す（ステップ６０２）。
【００８４】
ソフトウェア管理サーバ１０３は、上述のステップ６０１〜ステップ６０９に係る処理の履歴（ログファイル等）（例えば、「どのクライアントに登録の存廃の確認及び当該削除の確認を行ったか」等）を履歴データベース１０５に保存する（ステップ６１０）。
【００８５】
尚、ソフトウェア管理サーバ１０３は、不使用ソフトウェア一覧をクライアント１０６毎に生成することもできる。上記のステップ６０２の繰り返し処理（ステップ６０２、ステップ６０３〜ステップ６０９）では、確認対象ソフトウェア毎に繰り返し処理を行うものとして説明したが、クライアント毎に確認対象ソフトウェアをまとめて処理するようにしてもよい。
【００８６】
この場合、ソフトウェア管理サーバ１０３は、１のクライアントに係る確認対象ソフトウェアの全てについて、一度に、当該クライアントに存在・必要確認要求を行うことができ（ステップ６０３）、クライアントは、複数のソフトウェア分について、登録削除要求（ステップ６０８）、登録削除処理（ステップ６０９）等をまとめて行うことにより、ソフトウェア管理サーバ及びクライアントの双方の処理の負担を軽減することができる。
【００８７】
以上の過程を経て、図６について説明したように、ソフトウェア管理サーバは、履歴データベースを参照して、所定の期間使用されていないソフトウェアをクライアント毎に把握し、当該クライアントに対して、当該ソフトウェアに関する存在の確認、登録の存廃の確認等を要求する。ソフトウェア管理サーバは、クライアントからの登録削除要求等の応答に基づいて、ライセンスデータベースのライセンス情報を更新する。従って、ソフトウェア管理サーバは、長期間使用されていないソフトウェアのライセンスを回収することができ、資産の有効利用を図ると共にライセンス取得に係る経済的負担も軽減される。
【００８８】
以上、添付図面を参照しながら、本発明に係るソフトウェア管理システム、ソフトウェア管理サーバ、クライアント等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【００８９】
図２〜図６等に示す処理を行うプログラムをＣＤ−ＲＯＭ等の記録媒体に保持させて流通させてもよいし、このプログラムを通信回線を介して送受することもできる。
【００９０】
本発明に係るソフトウェア管理システムは、ソフトウェア管理サーバ、クライアントのＯＳに依存するものではないことを確認的に注記する。
また、クライアント側では、クライアント常駐ソフトウェアを常駐させ、ソフトウェア管理サーバ側では、サーバ常駐ソフトウェアを常駐させたが、これに限られず、ハードディスク等の記録媒体から、必要に応じて、ソフトウェア、プログラム等を呼び出すようにしてもよい。
【００９１】
また、ネットワーク等を介した通信に関しては、必ずしもソケット通信を用いる必要はなく、例えば、ブロードキャスト通信、マルチキャスト通信等の通信プロトコルを用いるようにしてもよい。
【００９２】
また、上記の図３に関する説明では、クライアントは、ソフトウェア管理サーバからの起動許可（起動コード［許可］）を待ってソフトウェアを起動したが、サーバ側の処理とクライアント側の処理を非同期化することもできる。この場合、ソフトウェア管理サーバが動作していない場合（ダウン状態の場合）であっても、クライアントは、起動許可を待たずにソフトウェアを起動可能である。従って、クライアントにおいて、ソフトウェア管理サーバのダウン時におけるタイムアウト待ち時間等をなくすことができる。
【００９３】
さらに、ソフトウェア管理サーバは、ダウン状態から回復後、サーバ側の処理を行い、起動不許可、未登録の場合は、管理者に対して警告表示したり、当該クライアントに対して警告メッセージ、登録勧告メッセージ等を送信したり、表示させたりすることができる。
【００９４】
また、ユーザの利便性を確保するため、明確に違反であるものを除き、ソフトウェアの起動は基本的に許可すると共に、ソフトウェア起動時のチェックによりライセンス情報を更新し、利用実態をリアルタイムまたは事後的に把握することで、ソフトウェア利用の健全化を図ることができる。
また、従来の煩わしい登録作業等に係る管理者の負担を軽減することができる。
また、長期間利用されていないライセンスを把握し、クライアント等のハードウェアの撤去等により遊休となったライセンスの有効利用を図ることができる。また、プレインストールソフトウェアの入ったクライアントを新たにネットワークに参加させる際のソフトウェア登録作業に係る負担を低減することができる。
また、不正ソフトの起動を試みた履歴を取り、管理者に対し適切な指導ができるようにすることができる。
【００９５】
次に、本発明のソフトウェア管理システムに係る他の実施の形態について説明する。
上記の図３及び図４の説明において、ソフトウェア個々の起動、終了毎に、ソフトウェア管理サーバ及びクライアント間の処理が行われるものとして説明したが、クライアントの起動（電源ＯＮ）、終了（電源ＯＦＦ）時にまとめて行うようにしてもよい。この場合のクライアント１０６及びソフトウェア管理サーバ１０３の処理の概要（（１）〜（５））を以下に示す。
【００９６】
（１）クライアント１０６は、電源ＯＮ時に、ソフトウェア管理サーバ１０３から「起動コード一覧」（ライセンスデータベース１０４から抽出した、当該クライアントに関して登録済のソフトウェア全てに関する起動コードの一覧）を取得し、クライアント側で一時的に保持する。
（２）クライアント１０６（クライアント常駐ソフトウェア２０２）は、ソフトウェアの起動時に、一時的に保持した「起動コード一覧」を参照して、ソフトウェアを起動したり、ライセンスデータベース１０４への登録処理を進めたり、当該ソフトウェアを起動させないようにしたりする。
（３）クライアント１０６は、ソフトウェアの起動、終了その他の処理に関する履歴情報を一時的に保持する。
（４）クライアント１０６は、電源ＯＦＦ時にそれまで一時的に保持していた履歴情報をサーバに送信する。
（５）ソフトウェア管理サーバ１０３は、送られた履歴情報に基づいて、サーバ側の履歴データベースを更新する。
尚、クライアント側での起動コード一覧、履歴情報の一時的保持に関しては、クライアントのメモリ上、ハードディスク上等で行う。
【００９７】
以上説明したように、クライアントは、クライアントを起動時（電源ＯＮ）にソフトウェア管理サーバから「起動コード一覧」を取得し、終了（電源ＯＦＦ）するまでの間、ソフトウェアの起動、終了等に関する履歴情報を一時的に保持し、終了時（電源ＯＦＦ）にそれまで保持していた履歴情報をまとめてソフトウェア管理サーバに送信する。
【００９８】
このように、ソフトウェア管理サーバ及びクライアント間の処理は、ソフトウェア個々の起動、終了毎ではなく、クライアントの起動（電源ＯＮ）、終了（電源ＯＦＦ）時にまとめてが行われるので、クライアント及びソフトウェア管理サーバの処理負担が軽減される。
【００９９】
尚、クライアント及びソフトウェア管理サーバ間の処理の時点は、起動時（電源ＯＮ）、終了時（電源ＯＦＦ）に限られず、任意にまた複数回設定することも可能である。
【０１００】
【発明の効果】
以上、詳細に説明したように本発明によれば、ユーザの利便性を確保しつつ、管理者の負担を軽減し、ソフトウェアの不正使用の防止を図ることができるソフトウェア管理システム等を提供することができる。
【図面の簡単な説明】
【図１】本実施の形態に係るソフトウェア管理システム１０１の概略構成を示す図
【図２】ソフトウェア管理システム１０１の処理概要を示す図
【図３】ソフトウェアの起動に係る処理手順を示すフローチャート
【図４】ソフトウェアの終了に係る処理手順を示すフローチャート
【図５】動作監査に係る処理手順を示すフローチャート
【図６】不使用監査に係る処理手順を示すフローチャート
【符号の説明】
１０１………ソフトウェア管理システム
１０２………ネットワーク
１０３………ソフトウェア管理サーバ
１０４………ライセンスデータベース
１０５………履歴データベース
１０６………クライアント
１１３………管理者
１１６………ユーザ
２０１………ソフトウェア
２０２………クライアント常駐ソフトウェア
２０３………ＯＳ
２０４………サーバ常駐ソフトウェア
【図１】
2004062561.tif 000003
【図２】
2004062561.tif 000004
【図３】
2004062561.tif 000005
【図４】
2004062561.tif 000006
【図５】
2004062561.tif 000007
【図６】
2004062561.tif 000008