以下に本発明の実施の形態を説明するが、本明細書に記載した発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が明細書に記載されていることを確認するためのものである。従って、明細書には記載されているが、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
さらに、この記載は、明細書に記載されている発明が、全て請求されていることを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出願、または追加される発明の存在を否定するものではない。
請求項1に記載のソフトウェア利用管理システムは、ネットワーク(例えば、図1のインターネット4)を介して接続された第1の情報処理装置(例えば、図1のソフトウェア動作管理サーバ1)および第2の情報処理装置(例えば、図1のパーソナルコンピュータ3)を含むソフトウェア利用管理システムであって、前記第1の情報処理装置は、前記第1の情報処理装置と前記第2の情報処理装置との接続状態が第1の接続状態(例えば、オンライン通信できる状態)であるときに前記第2の情報処理装置に所定のプログラムを実行させるための第1の情報(例えば、ライセンス許可)を、前記第2の情報処理装置に提供する提供手段(例えば、図12のステップS85の処理を実行する図4の認証処理部81)と、前記第1の情報処理装置と前記第2の情報処理装置との接続状態が第2の接続状態(例えば、オンライン通信できない状態)であるときに前記第2の情報処理装置に前記所定のプログラムの実行させるための第2の情報(例えば、図5の許可データ)を生成し、前記第2の情報を前記第2の情報処理装置に付与する付与手段(例えば、図12のステップS86の処理を実行する図4の許可データ生成部84および許可データ送信部85)と、を備え、前記第2の情報処理装置は、前記所定のプログラムを実行するために必要な前記第1の情報を、前記第1の情報処理装置から取得する第1の取得手段(例えば、図7のステップS6の処理を実行する図6のライセンス管理部101)と、前記第1の情報処理装置との接続状態が前記第1の接続状態である場合、前記第1の取得手段により取得された前記第1の情報に基づいて、前記所定のプログラムを実行する第1の実行手段(例えば、図8のステップS11の処理を実行する図6のアプリケーション起動制御部102)と、前記所定のプログラムを実行するために必要な前記第2の情報を、前記第1の情報処理装置から取得する第2の取得手段(例えば、図10のステップS42の処理を実行する図6のライセンス管理部101)と、前記第1の情報処理装置との接続状態が前記第2の接続状態である場合、前記第2の取得手段により取得された前記第2の情報に基づいて、前記所定のプログラムを実行する第2の実行手段(例えば、図15のステップS145の処理を実行する図6のアプリケーション起動制御部102)とを備える。
請求項2に記載のソフトウェア利用管理方法は、ネットワーク(例えば、図1のインターネット4)を介して接続された第1の情報処理装置(例えば、図1のソフトウェア動作管理サーバ1)および第2の情報処理装置(例えば、図1のパーソナルコンピュータ3)を含むソフトウェア利用管理システムのソフトウェア利用管理方法であって、前記第1の情報処理装置は、前記第1の情報処理装置と前記第2の情報処理装置との接続状態が第1の接続状態(例えば、オンライン通信できる状態)であるときに前記第2の情報処理装置に所定のプログラムを実行させるための第1の情報(例えば、ライセンス許可)を、前記第2の情報処理装置に提供し(例えば、図12のステップS85の処理により提供し)、前記第1の情報処理装置と前記第2の情報処理装置との接続状態が第2の接続状態(例えば、オンライン通信できない状態)であるときに前記第2の情報処理装置に前記所定のプログラムを実行させるための第2の情報(例えば、図5の許可データ)を生成して、前記第2の情報を前記第2の情報処理装置に付与し(例えば、図12のステップS86の処理により付与し)、前記第2の情報処理装置は、前記所定のプログラムを実行するために必要な前記第1の情報を、前記第1の情報処理装置から取得し(例えば、図7のステップS6の処理により取得し)、前記第1の情報処理装置との接続状態が前記第1の接続状態である場合、取得された前記第1の情報に基づいて、前記所定のプログラムを実行し(例えば、図8のステップS11の処理により実行し)、前記所定のプログラムを実行するために必要な前記第2の情報を、前記第1の情報処理装置から取得し(例えば、図10のステップS42の処理により取得し)、前記第1の情報処理装置との接続状態が前記第2の接続状態である場合、取得された前記第2の情報に基づいて、前記所定のプログラムを実行する(例えば、図15のステップS145の処理により実行する)。
請求項3に記載の情報処理装置は、ネットワーク(例えば、図1のインターネット4)を介して他の情報処理装置(例えば、図1のパーソナルコンピュータ3)と接続される情報処理装置(例えば、図1のソフトウェア動作管理サーバ1)であって、前記情報処理装置と前記他の情報処理装置との接続状態が第1の接続状態(例えば、オンライン通信できる状態)であるときに前記他の情報処理装置に所定のプログラムを実行させるための第1の情報(例えば、ライセンス許可)を、前記他の情報処理装置に提供する提供手段(例えば、図12のステップS85の処理を実行する図4の認証処理部81)と、前記情報処理装置と前記他の情報処理装置との接続状態が第2の接続状態(例えば、オンライン通信できない状態)であるときに前記他の情報処理装置に前記所定のプログラムを実行させるための第2の情報(例えば、図5の許可データ)を生成し、前記第2の情報を前記他の情報処理装置に付与する付与手段(例えば、図12のステップS86の処理を実行する図4の許可データ生成部84および許可データ送信部85)とを備える。
請求項4に記載の情報処理装置は、前記他の情報処理装置による前記所定のプログラムの実行状況に関するデータ(例えば、図6のオフライン利用状況データ107)を収集する収集手段(例えば、図13のステップS111の処理を実行する図4の利用状況管理部82)をさらに備えるようにすることができる。
請求項5に記載の情報処理装置は、前記第2の情報には、前記他の情報処理装置のユーザによる前記所定のプログラムの実行条件(例えば、図5の許可データの各項目と内容)が記述されるようにすることができる。
請求項6に記載の情報処理装置は、前記収集手段が、前記他の情報処理装置のユーザ毎に前記所定のプログラムの実行状況に関するデータを収集して前記ユーザ毎の実行状況のデータベース(例えば、図14の利用状況データベース)を生成するようにすることができる。
請求項7に記載の情報処理装置は、前記付与手段が、前記実行状況のデータベースに基づいて、前記ユーザ毎に前記所定のプログラムの実行条件(例えば、図5の許可データの内容)を設定して前記第2の情報を生成するようにすることができる。
請求項8に記載の情報処理方法は、ネットワーク(例えば、図1のインターネット4)を介して他の情報処理装置(例えば、図1のパーソナルコンピュータ3)と接続される情報処理装置(例えば、図1のソフトウェア動作管理サーバ1)の情報処理方法であって、前記情報処理装置と前記他の情報処理装置との接続状態が第1の接続状態(例えば、オンライン通信できる状態)であるときに前記他の情報処理装置に所定のプログラムを実行させるための第1の情報(例えば、ライセンス許可)を、前記他の情報処理装置に提供する提供ステップ(例えば、図12のステップS85)と、前記情報処理装置と前記他の情報処理装置との接続状態が第2の接続状態(例えば、オンライン通信できない状態)であるときに前記他の情報処理装置に前記所定のプログラムを実行させるための第2の情報(例えば、図5の許可データ)を生成し、前記第2の情報を前記他の情報処理装置に付与する付与ステップ(例えば、図12のステップS86)とを含む。
請求項9に記載のプログラムは、ネットワーク(例えば、図1のインターネット4)を介して他の情報処理装置(例えば、図1のパーソナルコンピュータ3)と接続される情報処理装置(例えば、図1のソフトウェア動作管理サーバ1)のプログラムであって、前記情報処理装置と前記他の情報処理装置との接続状態が第1の接続状態(例えば、オンライン通信できる状態)であるときに前記他の情報処理装置に所定のプログラムを実行させるための第1の情報(例えば、ライセンス許可)の、前記他の情報処理装置への提供を制御する提供制御ステップ(例えば、図12のステップS85)と、前記情報処理装置と前記他の情報処理装置との接続状態が第2の接続状態(例えば、オンライン通信できない状態)であるときに前記他の情報処理装置に前記所定のプログラムを実行させるための第2の情報(例えば、図5の許可データ)を生成し、前記第2の情報の前記他の情報処理装置への付与を制御する付与制御ステップ(例えば、図12のステップS86)とをコンピュータに実行させる。
請求項10に記載の記録媒体は、ネットワーク(例えば、図1のインターネット4)を介して他の情報処理装置(例えば、図1のパーソナルコンピュータ3)と接続される情報処理装置(例えば、図1のソフトウェア動作管理サーバ1)のプログラムが記録されている記録媒体であって、前記情報処理装置と前記他の情報処理装置との接続状態が第1の接続状態(例えば、オンライン通信できる状態)であるときに前記他の情報処理装置に所定のプログラムを実行させるための第1の情報(例えば、ライセンス許可)の、前記他の情報処理装置への提供を制御する提供制御ステップ(例えば、図12のステップS85)と、前記情報処理装置と前記他の情報処理装置との接続状態が第2の接続状態(例えば、オンライン通信できない状態)であるときに前記他の情報処理装置に前記所定のプログラムを実行させるための第2の情報(例えば、図5の許可データ)を生成し、前記第2の情報の前記他の情報処理装置への付与を制御する付与制御ステップ(例えば、図12のステップS86)とをコンピュータに実行させるプログラムが記録される。
請求項11に記載の情報処理装置は、ネットワーク(例えば、図1のインターネット4)を介して情報管理装置(例えば、図1のソフトウェア動作管理サーバ1)と接続される情報処理装置(例えば、図1のパーソナルコンピュータ3)であって、所定のプログラムを実行するために必要な前記第1の情報を、前記情報管理装置から取得する第1の取得手段(例えば、図7のステップS6の処理を実行する図6のライセンス管理部101)と、前記情報管理装置との接続状態が前記第1の接続状態である場合、前記第1の取得手段により取得された前記第1の情報に基づいて、前記所定のプログラムを実行する第1の実行手段(例えば、図8のステップS11の処理を実行する図6のアプリケーション起動制御部102)と、前記所定のプログラムを実行するために必要な前記第2の情報を、前記情報管理装置から取得する第2の取得手段(例えば、図10のステップS42の処理を実行する図6のライセンス管理部101)と、前記情報管理装置との接続状態が前記第2の接続状態である場合、前記第2の取得手段により取得された前記第2の情報に基づいて、前記所定のプログラムを実行する第2の実行手段(例えば、図15のステップS145の処理を実行する図6のアプリケーション起動制御部102)とを備える。
請求項12に記載の情報処理装置は、前記第2の接続状態は、前記情報処理装置が前記情報管理装置と通信しない状態(例えば、通信設備の無い場所に移動された場合、または通信回線の混雑、故障やメンテナンスなどにより、ソフトウェア動作管理サーバ1にアクセスできないような状態)であるようにすることができる。
請求項14に記載の情報処理装置は、前記第2の情報には、前記情報処理装置のユーザによる前記所定のプログラムの実行条件(例えば、図5の許可データの内容)が記述されているようにすることができる。
請求項15に記載の情報処理装置は、前記第2の情報に記述された前記実行条件に基づいて、前記情報処理装置のユーザによる前記所定のプログラムの実行の可否を判定する判定手段(例えば、図6の利用条件判定部103)をさらに備えるようにすることができる。
請求項16に記載の情報処理装置は、前記第2の情報に基づいて実行された前記所定のプログラムの実行状況に関するデータ(例えば、図6のオフライン利用状況データ106)を記録する記録手段(例えば、図15のステップS146の処理を実行する図6の利用状況モニタ部104)をさらに備えるようにすることができる。
請求項17に記載の情報処理方法は、ネットワーク(例えば、図1のインターネット4)を介して情報管理装置(例えば、図1のソフトウェア動作管理サーバ1)と接続される情報処理装置(例えば、図1のパーソナルコンピュータ3)の情報処理方法であって、所定のプログラムを実行するために必要な前記第1の情報を、前記情報管理装置から取得する第1の取得ステップ(例えば、図7のステップS6)と、前記情報管理装置との接続状態が前記第1の接続状態である場合、前記第1の取得ステップの処理により取得された前記第1の情報に基づいて、前記所定のプログラムを実行する第1の実行ステップ(例えば、図8のステップS11)と、前記所定のプログラムを実行するために必要な前記第2の情報を、前記情報管理装置から取得する第2の取得ステップ(例えば、図10のステップS42)と、前記情報管理装置との接続状態が前記第2の接続状態である場合、前記第2の取得ステップの処理により取得された前記第2の情報に基づいて、前記所定のプログラムを実行する第2の実行ステップ(例えば、図15のステップS145)とを含む。
請求項18に記載のプログラムは、ネットワーク(例えば、図1のインターネット4)を介して情報管理装置(例えば、図1のソフトウェア動作管理サーバ1)と接続される情報処理装置(例えば、図1のパーソナルコンピュータ3)のプログラムであって、所定のプログラムを実行するために必要な前記第1の情報の、前記情報管理装置からの取得を制御する第1の取得制御ステップ(例えば、図7のステップS6)と、前記情報管理装置との接続状態が前記第1の接続状態である場合、前記第1の取得制御ステップの処理により取得された前記第1の情報に基づいて、前記所定のプログラムの実行を制御する第1の実行制御ステップ(例えば、図8のステップS11)と、前記所定のプログラムを実行するために必要な前記第2の情報の、前記情報管理装置からの取得を制御する第2の取得制御ステップ(例えば、図10のステップS42)と、前記情報管理装置との接続状態が前記第2の接続状態である場合、前記第2の取得制御ステップの処理により取得された前記第2の情報に基づいて、前記所定のプログラムの実行を制御する第2の実行制御ステップ(例えば、図15のステップS145)とをコンピュータに実行させる。
請求項19に記載の記録媒体は、ネットワーク(例えば、図1のインターネット4)を介して情報管理装置(例えば、図1のソフトウェア動作管理サーバ1)と接続される情報処理装置(例えば、図1のパーソナルコンピュータ3)のプログラムが記録されている記録媒体であって、所定のプログラムを実行するために必要な前記第1の情報の、前記情報管理装置からの取得を制御する第1の取得制御ステップ(例えば、図7のステップS6)と、前記情報管理装置との接続状態が前記第1の接続状態である場合、前記第1の取得制御ステップの処理により取得された前記第1の情報に基づいて、前記所定のプログラムの実行を制御する第1の実行制御ステップ(例えば、図8のステップS11)と、前記所定のプログラムを実行するために必要な前記第2の情報の、前記情報管理装置からの取得を制御する第2の取得制御ステップ(例えば、図10のステップS42)と、前記情報管理装置との接続状態が前記第2の接続状態である場合、前記第2の取得制御ステップの処理により取得された前記第2の情報に基づいて、前記所定のプログラムの実行を制御する第2の実行制御ステップ(例えば、図15のステップS145)とをコンピュータに実行させるプログラムが記録される。
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本発明のソフトウェア利用管理システムにおけるネットワーク接続例を示す。
ソフトウェア動作管理サーバ1、WEBサーバ2、パーソナルコンピュータ3−1乃至パーソナルコンピュータ3−nは、インターネット4を介して、相互に接続されている。ここでは、ソフトウェア動作管理サーバ1を1つだけ図示して説明しているが、例えば、ソフトウェア利用管理システムを用いてユーザに提供されるソフトウェアの種類が多いときなど、必要に応じて、複数のソフトウェア動作管理サーバ1に同様の処理を実行させるようにしてもよい。また、ソフトウェア動作管理サーバ3の機能を、WEBサーバ2と同一のサーバ上に構築するようにしてもよい。
ソフトウェア動作管理サーバ1は、所定のユーザが保有するパーソナルコンピュータ3−1乃至3−nによる、例えば、財務分析、利益計画、予算編成、財務予想、業績評価等を行うことができるソフトウェア(アプリケーションプログラム)の利用を管理するものである。ソフトウェア動作管理サーバ1の管理者(すなわち、ソフトウェア利用管理システムを利用したソフトウェア提供サービス(以下、本サービスと称する)の提供者)とユーザは、ユーザが使用を希望したソフトウェアに対する利用許可に関する契約を締結し、ユーザは、本サービスの提供者から、対応するソフトウェアを利用する場合のユーザ認証に用いられる、例えば、ユーザIDやパスワードの交付を受ける。
ソフトウェア動作管理サーバ1は、図12を参照して後述する処理により、インターネット4を介して、ユーザが保有するパーソナルコンピュータ3−1乃至3−nから送信される信号に従って、認証処理を行い、正しく認証された場合、対応するソフトウェアのライセンス許可を、所定のユーザが保有するパーソナルコンピュータ3−1乃至3−nに送信し、パーソナルコンピュータ3−1乃至3−nから送信されるソフトウェアの利用に関する情報に基づいて、課金処理を行う。
また、ソフトウェア動作管理サーバ1は、パーソナルコンピュータ3−1乃至3−nから送信される情報に基づいて、各ユーザによるソフトウェアの利用状況(例えば、利用回数、利用時間など)を、図14を参照して後述する利用状況データベースとして記録する。
なお、ソフトウェア動作管理サーバ1は、ソフトウェア動作管理サーバ1内外からの通信要求を全て捕捉し、恣意的に通過させたり禁止したりすることによって、必要なサービスだけをユーザに提供しつつセキュリティを確保することができる、いわゆるファイアーウォールによって保護されているため、不正アクセスを防止し、情報の安全性を確保することができる。
ソフトウェア動作管理サーバ1は、WEBサーバ2に、自分自身のアドレスを含む、ユーザ情報を記載したウェブコンテンツ、および、契約によって本サービスを受けることができるユーザに対する認証情報を登録している。WEBサーバ2は、契約を締結している所定のユーザが有するパーソナルコンピュータ3−1乃至3−nのいずれかから、インターネット4を介してアクセスされ、例えば、ユーザIDやパスワードなどの入力を受け、入力されたユーザIDやパスワードが正しいか否かを判断することによって認証処理を行い、正しく認証された場合にのみ、ユーザ情報が記載されたウェブコンテンツを、インターネット4を介して閲覧可能とする。
なお、ユーザ情報を、ソフトウェア管理サーバ1内に保存させておき、WEBサーバ2が、ユーザ認証の実行時に、ソフトウェア管理サーバ1に対してユーザ情報を問い合わせ、ソフトウェア管理サーバ1は、WEBサーバ2の問い合わせに対して返答するようにすることにより、ユーザ情報のセキュリティを向上させることができる。
また、WEBサーバ2は、ソフトウェア動作管理サーバ1のアドレスを含む、ユーザ情報を記載したウェブコンテンツではなく、例えば、ユーザ情報を、インターネット4を介してダウンロードすることができるようなウェブコンテンツを用意することにより、契約を締結しているユーザが、ユーザ情報を得ることができるようにしてもよい。
ユーザが保有するパーソナルコンピュータ3−1乃至3−nは、図7を参照して後述する処理により、インターネット4を介して、WEBサーバ2にアクセスし、ソフトウェア動作管理サーバ1のアドレスを含む、ユーザ情報を閲覧し、ソフトウェア動作管理サーバ1にアクセスして、ユーザ認証を行い、所定のソフトウェアのライセンス利用申請を送信し、ライセンス許可を得て、所定のソフトウェアを利用し、所定のソフトウェアによる処理の終了後、インターネット4を介して、ソフトウェア使用に関する情報を送信する。
また、本システムにより、ユーザが有するパーソナルコンピュータ3−1乃至3−nにおいて利用可能となる各種のアプリケーションプログラムは、例えば、パーソナルコンピュータ3−1乃至3−nに予め保存されるようにし、ソフトウェア動作管理サーバ1から送信されるライセンス許可を得た場合にのみ利用可能なように、ライセンス許可に、所定の情報(この情報がなければ、対応するソフトウェアを起動することができないような特殊な情報)を含ませるにしてもよい。あるいは、パーソナルコンピュータ3−1乃至3−nには、対応するアプリケーションプログラムを予め記録させず、ユーザがサービスを利用する毎に、対応するアプリケーションプログラム(ソフトウェア)の全部、もしくは一部が、ソフトウェア動作管理サーバ1から送信されるようにし、そのソフトウェアによる処理の終了後に、使用済みのソフトウェアが、パーソナルコンピュータ3−1乃至3−nから消去されるようにしてもよい。
また、例えば、ソフトウェア動作管理サーバ1とパーソナルコンピュータ3−1乃至3−nの接続が、常時接続であるような場合、業務処理を実行するアプリケーションプログラム本体の全てをソフトウェア動作管理サーバ1の記録媒体(例えば、図2を用いて後述するHDD(hard disk drive)19など)に格納しておき、パーソナルコンピュータ3は、通信回線を通じてソフトウェア動作管理サーバ1の記録媒体内のアプリケーションプログラム本体に常時アクセスしながら、処理を実行するようにしてもよい。なお、これ以降は、各種のアプリケーションプログラムが、パーソナルコンピュータ3−1乃至3−nに予め保存されているものとして説明する。
さらに、パーソナルコンピュータ3−1乃至3−nは、例えば、通信設備の無い場所に移動された場合、または通信回線の混雑、故障やメンテナンスなどにより、ソフトウェア動作管理サーバ1にアクセスできないような場合(動作管理サーバ1とオンラインで通信できないなどの場合)、図15を参照して後述するように、都度、ソフトウェア動作管理サーバ1からライセンス許可を得ることなく、インターネット4を介する通信を行わずに、オフラインで所定のソフトウェアを利用することもできる。
以下、パーソナルコンピュータ3−1乃至3−nを特に区別する必要のない場合は、総称して、パーソナルコンピュータ3と称するものとする。
次に、図2は、図1のソフトウェア動作管理サーバ1の構成を示すブロック図である。
CPU(Central Processing Unit)11は、入出力インターフェース12および内部バス13を介して、例えば、オペレータが入力部14を用いて入力した各種指令に対応する信号や、インターネット4およびネットワークインターフェース15を介して、パーソナルコンピュータ3から入力された信号を受け、それらの信号に基づいた各種処理を実行する。ROM(Read Only Memory)16は、CPU11が使用するプログラム(例えば、パーソナルコンピュータ3との認証処理を実行し所定のソフトウェアのライセンス許可を送出するプログラムや、課金計算処理を行うプログラム、あるいは、ユーザのソフトウェア利用状況を分析するプログラムなど)や演算用のパラメータなどのうちの基本的に固定のデータを格納する。RAM(Random Access Memory)17は、CPU11の実行において使用するプログラムや、その実行において適宜変化するパラメータを格納する。CPU11、ROM16、およびRAM17は、内部バス13により相互に接続されている。
内部バス13は、入出力インターフェース12とも接続されている。入力部14は、例えば、キーボードやマウスからなり、CPU11に各種の指令を入力するとき操作される。表示部18は、例えば、CRT(Cathode Ray Tube)等からなり、各種情報をテキスト、あるいはイメージなどで表示する。HDD19は、ハードディスクを駆動し、パーソナルコンピュータ3を有するユーザとの契約や認証に関する情報や、各種ソフトウェアの利用状況に関する情報(例えば、図7、または図10を参照して後述する処理により、パーソナルコンピュータ3から受信する管理テーブルの記録内容やオフライン利用状況データなど)を記載した情報テーブルのデータを記録する。ドライブ20には、必要に応じて磁気ディスク21、光ディスク22、光磁気ディスク23、および半導体メモリ24が装着され、データの授受を行う。ネットワークインターフェース15は、インターネット4と接続され、例えば、パーソナルコンピュータ3などとの情報の授受を行う。
なお、WEBサーバ2は、HDD19に、ユーザとの契約や認証に関する情報や、各種ソフトウェアの利用状況に関する情報に代わり、パーソナルコンピュータ3がインターネット4を介して閲覧可能であるウェブコンテンツに対応するデータが記録されている以外は、基本的に、ソフトウェア動作管理サーバ1と同様の構成を有するので、その説明を省略する。
次に、図3は、図1のパーソナルコンピュータ3の構成を示すブロック図である。なお、図2を用いて説明したソフトウェア動作管理サーバ1と対応する部分には、部分には同一の符号を付してあり、その説明は適宜省略する。
CPU31は、図2を用いて説明したCPU11と同様に、入出力インターフェース12および内部バス13を介して、ユーザが入力部14を用いて入力した各種指令に対応する信号、ネットワークインターフェース15を介して、パーソナルコンピュータ3に接続された、例えば、図示しないUSBマウスなどの入力装置や、図示しない他の情報処理装置から入力される信号、もしくは、インターネット4およびネットワークインターフェース15を介して、ソフトウェア動作管理サーバ1から入力された信号を受け、それらの信号に基づいた各種処理を実行する。
ROM32およびHDD33には、CPU31によって実行される、各種アプリケーションソフトウェアが記録されている。ROM32もしくはHDD33には、例えば、電子メールソフトウェア、ワードプロセッサソフトウェア、表計算ソフトウェアなど、パーソナルコンピュータ3を使用するユーザの使用目的に応じて、様々なアプリケーションソフトウェアが記録可能である。ここでは、ROM32もしくはHDD33に記録されているアプリケーションソフトウェアの中に、インターネット4を介して、WEBサーバ2にアクセスし、ウェブコンテンツを閲覧することができるウェブブラウザソフトウェアと、本サービスの提供者との契約により、所定の処理の実行後、利用することが許可される所定のアプリケーションプログラムなどのソフトウェアが含まれている。
本サービスにより提供されるソフトウェアは、CPU31により、ROM32もしくはHDD33から読み出され、RAM17にロードされて起動された時点においては、ソフトウェア動作管理サーバ1からライセンス許可を受けるための処理しか行えない状態であり、ソフトウェア動作管理サーバ1からライセンス許可を受けたのち、実際の業務に用いられる処理(例えば、財務分析、利益計画、予算編成、財務予想、業績評価などのうち、本サービスの供給者との使用契約に基づいた処理)が実行可能な状態になる。
図3は、ソフトウェア動作管理サーバ1のCPU11により実行され、所定のユーザが保有するパーソナルコンピュータ3による、例えば、財務分析、利益計画、予算編成、財務予想、業績評価等を行うアプリケーションプログラムなどのソフトウェアの利用を管理するソフトウェアの機能的構成例を示すブロック図である。
認証管理部81は、インターネット4を介してアクセスしてきたパーソナルコンピュータ3の認証を行い、パーソナルコンピュータ3(のユーザ)が正しく認証された場合、パーソナルコンピュータ3にライセンス許可を送信することにより、パーソナルコンピュータ3による各種のアプリケーションプログラム(本サービスの契約の対象となるアプリケーションプログラム)の利用を可能にする。また、認証管理部81は、パーソナルコンピュータ3が利用したアプリケーションプログラムの種類、利用時間などの情報を利用状況データベース83に記録する。
利用状況管理部82は、パーソナルコンピュータ3が、オフラインで利用したアプリケーションプログラムの種類、回数、時間などが記述された情報を、インターネット4を介してパーソナルコンピュータ3から受信し、これらの情報を利用状況データベース83に記録する。このようにすることで、オフラインであっても、パーソナルコンピュータ3(のユーザ)によるアプリケーションプログラムの利用状況を正確に把握できる。
許可データ生成部84は、図13を参照して後述する処理により、利用状況データベース83に記録された情報に基づいて、オフラインでのアプリケーションプログラムの利用条件が記述された許可データを生成し、許可データ送信部85は、許可データをインターネット4を介してパーソナルコンピュータ3に送信する。
図5は、許可データの例を示す図である。この例では、許可データの第1番目の項目として「有効期限」が設けられており、その内容として「2004/6/25」と記述されている。これは、この許可データの有効期限が西暦2004年6月25日であることを表してしる。許可データの第2番目の項目としては「オフライン利用可否」が設けられており、その内容として「可」と記述されている。これは、この許可データがパーソナルコンピュータ3によるオフラインでのアプリケーションプログラムの利用を許可するものであることを表している。
許可データの第3番目の項目としては「利用可能アプリケーション」が設けられており、その内容として「A,B,C」と記述されている。これは、この許可データに基づいて、パーソナルコンピュータ3がオフラインで利用できるアプリケーション(アプリケーションプログラム)が、アプリケーションA,アプリケーションB,またはアプリケーションCであることを表している。許可データの第4番目の項目としては「登録ユーザ」が設けられており、その内容として「○○」と記述されている。これは、この許可データに基づいて、パーソナルコンピュータ3を使ってオフラインでアプリケーションを利用できるユーザのユーザ名(またはID)が○○であることを表している。
許可データの第5番目の項目としては「利用可能回数」が設けられており、その内容として「10回」と記述されている。これは、この許可データに基づいて、パーソナルコンピュータ3を使ってオフラインでアプリケーションを利用できる回数が10回であることを表している。許可データの第6番目の項目としては「利用可能時間」が設けられており、その内容として「12時間」と記述されている。これは、この許可データに基づいて、パーソナルコンピュータ3を使ってオフラインでアプリケーションを利用できる延べ時間が12時間であることを表している。
許可データにはこの他、適宜必要な情報が記述されるようにしてもよい。
許可データは、パーソナルコンピュータ3がソフトウェア動作管理サーバ1にインターネット4を介してアクセスしたとき、図13を参照して後述する処理により生成され、パーソナルコンピュータ3に送信される。許可データを取得したパーソナルコンピュータ3は、その後、許可データに基づいて、オフラインでアプリケーションを利用することが可能となる。また、許可データは、利用状況データベース83に記録された情報に基づいて、ユーザ毎に生成される。
従って、ユーザの利用状況に応じて許可データの内容を変更することができる。例えば、利用状況データベースに記録された過去1ヶ月間のアプリケーションの利用回数が所定の回数を超えているユーザには、許可データの「利用可能回数」に対応する値を大きくし、利用状況データベースに記録された過去1ヶ月間のアプリケーションの利用回数が所定の回数以下のユーザには、許可データの「利用可能回数」の値を小さくするなど、全てのユーザに対して一律にオフラインでのアプリケーションの利用を許可するのではなく、そのユーザの利用状況に応じた利用条件を、許可データを用いて設定し、ユーザ毎にオフラインでのアプリケーションの利用を許可することができる。
このように、パーソナルコンピュータ3がソフトウェア動作管理サーバ1とオンラインで通信できる場合、上述したライセンス許可に基づいて、アプリケーションが実行され、パーソナルコンピュータ3がソフトウェア動作管理サーバ1とオンラインで通信できない場合、上述した許可データに基づいて、アプリケーションが実行される。その結果、オフラインでのアプリケーションの利用を可能にしてユーザの利便性を高めるとともに、より確実にライセンスを管理できる。
図6は、パーソナルコンピュータ3のCPU31により実行され、ソフトウェア動作管理サーバ1によりその利用が管理される、例えば、財務分析、利益計画、予算編成、財務予想、業績評価等を行うアプリケーションプログラムなど(ソフトウェア)の実行を制御するソフトウェアの機能的構成例を示すブロック図である。
ライセンス管理部101は、ソフトウェア動作管理サーバ1に対して、認証要求、ライセンス申請を行い、ソフトウェア動作管理サーバ1からライセンス許可、および許可データを取得する。アプリケーション起動制御部102は、ライセンス管理部101により取得されたライセンス許可に基づいて、アプリケーションの起動を制御する。また、オフラインでアプリケーションを利用する場合、利用条件判定部103が上述した許可データに基づいて利用条件を判定し、アプリケーション起動制御部102は、利用条件判定部103の判定結果に基づいて、アプリケーションの起動を制御する。
利用状況モニタ部104は、パーソナルコンピュータ3が利用したアプリケーションの利用状況を監視し、動作ログなどの情報を管理テーブル106に記録するとともに、オフラインでアプリケーションが利用された場合、オフラインで利用されたアプリケーションの種類、回数、時間などの情報をオフライン利用状況データ107として記憶する。
利用状況送信部105は、パーソナルコンピュータ3がインターネット4を介してソフトウェア動作管理サーバ1にアクセスしたとき、管理テーブル106、およびオフライン利用状況データ107の情報をソフトウェア動作管理サーバ1に送信する。
次に、図7のフローチャートを参照して、パーソナルコンピュータ3の処理について説明する。この処理は、パーソナルコンピュータ3がインターネット4を介してソフトウェア動作管理サーバとの通信が可能な場合に実行される。なお、パーソナルコンピュータ3が通信設備の無い場所に移動された場合、または通信回線の混雑、故障やメンテナンスなどにより、ソフトウェア動作管理サーバ1にアクセスできないような場合の処理については、図15を参照して後述する。
ステップS1において、ライセンス管理部101は、インターネット4上に公開されているウェブコンテンツを閲覧するためのブラウザソフトを、HDD33もしくはROM32から読み出して、RAM17にロードして起動し、インターネット4を介して、所定のWEBサーバ2にアクセスする。
ステップS2において、ライセンス管理部101は、本サービスの供給者との契約により、使用契約が締結されているソフトウェア(アプリケーションプログラム)を、HDD33もしくはROM32から読み出してRAM17にロードして起動し、それと同時に、ステップS1においてアクセスしたWEBサーバ2から、ソフトウェア動作管理サーバ1のアドレスを含むユーザ情報(後述する図11において、WEBサーバ2が送出するユーザ情報)を取得する。このときパーソナルコンピュータ3は、ソフトウェア動作管理サーバ1からライセンス許可を受けるための処理を行うことはできるが、まだ、実際の業務に用いられるような処理(例えば、財務分析、利益計画、予算編成、財務予想、業績評価などのうち、本サービスの供給者との使用契約に基づいた処理)は実行できない状態であり、ソフトウェア動作管理サーバ1からライセンス許可を受けたのち、実際の業務に用いられるような処理(本サービスの供給者との使用契約に基づいた処理)が実行可能な状態になる。
ステップS3において、ライセンス管理部101は、WEBサーバ2との通信を終了し、ステップS4において、ステップS2において取得したアドレスを基に、インターネット4を介して、ソフトウェア動作管理サーバ1にアクセスする。
ステップS5において、ライセンス管理部101は、ユーザ認証およびライセンス利用の申請を、インターネット4を介して、ソフトウェア動作管理サーバ1に送信する。
ステップS6において、ライセンス管理部101は、ソフトウェア動作管理サーバ1から、インターネット4、ネットワークインターフェース15、入出力インターフェース12および内部バス13を介して、ステップS5で送信したライセンス利用申請に対する応答を受信する。
ステップS7においてライセンス管理部101は、ステップS6で受信された応答がライセンス許可であるか否かを判定し、ライセンス許可ではないと判定された場合、ステップS8に進み、エラーメッセージを表示部18に表示させて、処理が終了される。
ステップS7において、ステップS6で受信された応答がライセンス許可であると判定された場合、ライセンス管理部101は、ステップS9において、図10を参照して後述する許可データ更新処理を実行する。これにより、ソフトウェア動作管理サーバ1から許可データが取得され、HDD33の所定の領域に記憶される。
ステップS9の処理の後、ステップS10においてソフトウェア動作管理サーバ1との通信が終了される。ステップS7において、ライセンス許可を受けたため、この後、RAM14にロードされたアプリケーションの実行が可能となる。図8のステップS11においてアプリケーション起動制御部102は、アプリケーションを実行する。
ステップS12において、利用状況モニタ部104は、ステップS11で実行されたアプリケーションの動作ログを管理テーブル106に記録する。管理テーブル106に記録されるデータは、例えば、ソフトウェア動作管理サーバ1が実行する課金処理およびデータ解析処理などに用いられる。
図9に、管理テーブル106に記録されるデータの一例を示す。この例では、利用されたアプリケーションで用いられるコマンド毎に、例えば、コマンドの実行回数を示すコマンドカウンタ、そのコマンドの実行時間を示すコマンド実行時間、生成されたデータの容量や、発生したエラーの内容などを示すコマンド付属情報、および、これらの情報が管理テーブルに記録された時間を示すログ更新時刻などが記録されている。
ステップS13において、アプリケーション起動制御部102は、入力部14から入力されるユーザの操作を示す信号に基づいて、アプリケーションの利用が終了したか否かを判定する。ステップS13において、アプリケーションの利用が終了していないと判断された場合、処理は、ステップS11に戻り、それ以降の処理が繰り返される。
ステップS13において、アプリケーションの利用が終了したと判定された場合、ライセンス管理部101は、ステップS14において、インターネット4を介して、ソフトウェア動作管理サーバ1にアクセスし、ステップS15において、ソフトウェア利用ライセンス返却要求と、管理テーブル106の記録内容を、インターネット4を介して、ソフトウェア動作管理サーバ1に送信し、テップS16において、ソフトウェア動作管理サーバ1との通信を終了する。このとき、ソフトウェア動作管理サーバ1から、パーソナルコンピュータ3に課金情報などが送信され、送信された課金情報が表示部18に表示されるようにしてもよい。
この例では、ステップS10において、一旦、パーソナルコンピュータ3とソフトウェア動作管理サーバ1との通信が終了され、ステップS14において、再びパーソナルコンピュータ3とソフトウェア動作管理サーバ1との通信が行われるようにしたが、パーソナルコンピュータ3が常時接続などの接続形態でインターネット4に接続されている場合、ステップS10とステップS14の処理を省略するようにすることも可能である。
また、この例では、ステップS15において、管理テーブル106の記録内容を、インターネット4を介して、ソフトウェア動作管理サーバ1に送信するようにしたが、ステップS9の処理において、管理テーブル106の記録内容がオフライン利用状況データ107とともにソフトウェア動作管理サーバ1に送信されるようにしてもよい。
このようにして、ソフトウェア動作管理サーバ1によりその利用が管理される、例えば、財務分析、利益計画、予算編成、財務予想、業績評価等を行うアプリケーションが実行される。
次に図10のフローチャートを参照して、図7のステップS9の許可データ更新処理の詳細について説明する。
ステップS43において、利用状況送信部105は、オフラインで利用されたアプリケーションの種類、回数、時間などの情報からなるオフライン利用状況データ107をソフトウェア動作管理サーバ1に送信する。このとき、管理テーブル106の記録内容がオフライン利用状況データ107とともにソフトウェア動作管理サーバ1に送信されるようにしてもよい。
ステップS42において、ライセンス管理部101は、後述する図13のステップS115の処理でソフトウェア動作管理サーバ1から送信される許可データを受信する。ステップS43において、ライセンス管理部101は、ステップS42で受信した許可データをHDD33の所定の領域に記憶し、許可データを更新する。例えば、過去に取得された許可データがHDD33の所定の領域に既に記憶されていた場合、ライセンス管理部101は、新しい許可データを上書きする。
このように、パーソナルコンピュータ3がソフトウェア動作管理サーバ1にアクセスするとき(ソフトウェア動作管理サーバ1とオンラインで通信するとき)、オフラインでアプリケーションを利用するために必要な許可データが取得され、これ以後、パーソナルコンピュータ3のユーザは、上述した処理によって取得された許可データに基づいて、図15を参照して後述するようにオフラインでアプリケーションを利用することが可能となる。このようにすることで、常に最新の許可データを取得することができる。従って、そのユーザの最新の利用状況に応じた許可データを提供でき、ユーザの利便性を高めることができる。
次に、図11のフローチャートを参照して、図7と図8を参照して説明した処理と並行して実行される、WEBサーバ2の処理について説明する。
ステップS61において、WEBサーバ2のCPU11(図2は、ソフトウェア動作管理サーバ1としてだけではなく、WEBサーバ2の構成を示すものとしても参照される)は、インターネット4、ネットワークインターフェース15、入出力インターフェース12、および内部バス13を介して、ユーザのパーソナルコンピュータ3からのアクセス(図7のステップS1)を受け付ける。
ステップS62において、CPU11は、パーソナルコンピュータ3を利用するユーザが契約によって利用可能なアプリケーションを管理する、ソフトウェア動作管理サーバ1のアドレスを含んだユーザ情報を送出する。なお、ユーザ情報を、ソフトウェア管理サーバ1内に保存させておき、WEBサーバ2が、ユーザ認証の実行時に、ソフトウェア管理サーバ1に対してユーザ情報を問い合わせ、ソフトウェア管理サーバ1からの返答を受けることができるようにすることにより、ユーザ情報のセキュリティを向上させるようにすることも可能である。
そして、ステップS23において、図7のステップS3におけるユーザのパーソナルコンピュータ3の処理により、パーソナルコンピュータ3との通信が終了され、処理が終了される。
次に、図12のフローチャートを参照して、図7と図8を参照して説明した処理と並行して実行されるソフトウェア動作管理サーバ1の処理について説明する。
ステップS81において、認証管理部81は、ユーザのパーソナルコンピュータ3からのアクセス(図7のステップS4)を受け付け、ステップS82において、パーソナルコンピュータ3から、インターネット4を介して送信(図7のステップS5)されたユーザ認証およびライセンス利用申請を受信する。
ステップS83において、認証管理部81は、ステップS82において受信された、ユーザ認証およびライセンス利用申請を送信したパーソナルコンピュータ3のユーザのユーザ認証が正しく終了し、ライセンス利用が認められたか否かを判定する。
ステップS83において、ユーザ認証が正しく終了しなかったと判断された場合、もしくはライセンス利用が認められなかったと判断された場合、ステップS84において、認証管理部81は、インターネット4を介して、エラーメッセージをパーソナルコンピュータ3に送信して、処理が終了される。
ステップS83において、ユーザ認証が正しく終了し、ライセンス利用が認められたと判定された場合、認証管理部81は、ステップS85において、インターネット4を介して、ライセンス許可をライセンス利用申請に対する応答としてパーソナルコンピュータ3に送信する。
ステップS86において、利用状況管理部82、許可データ生成部84、および許可データ送信部85は、図13を参照して後述する許可データ付与処理を実行する。これにより、パーソナルコンピュータ3のユーザのオフライン利用状況データが取得され、ユーザの利用状況に基づく許可データが生成されてパーソナルコンピュータ3に送信される。
ステップS87において、図7のステップS10におけるパーソナルコンピュータ3の処理により、パーソナルコンピュータ3との通信が終了される。
ステップS88において、CPU11は、対応するソフトウェアの動作に必要な情報(例えば、ステップS85においてライセンス許可を与えられたアプリケーションの種類やパーソナルコンピュータ3の利用者のユーザID、利用開始時刻など)などを、HDD19の利用状況データベース83に記憶する。
ステップS89において、認証管理部81は、パーソナルコンピュータ3からのアクセス(図8のステップS14)を受け、ステップS90において、インターネット4を介してパーソナルコンピュータ3が図8のステップS15で送信した、ライセンス返却要求と、管理テーブル106の記録内容を受信する。これによりパーソナルコンピュータ3によるアプリケーションの利用が終了したものと判断され、利用状況データベースにアプリケーションの利用終了時刻などの情報が記憶される。
そして、ステップS91において、図8のステップS16におけるパーソナルコンピュータ3の処理により、パーソナルコンピュータとの通信が終了され、処理は終了される。このとき、例えば、ソフトウェア動作管理サーバ1から課金情報などが、パーソナルコンピュータ3に送信されるようにしてもよい。
なお、パーソナルコンピュータ3が常時接続などの接続形態でインターネット4に接続されており、図7と図8を参照して上述したパーソナルコンピュータ3の処理においてステップS10とステップS14の処理が省略されている場合、ステップS87とステップS89の処理は省略される。
このようにして、パーソナルコンピュータ3における、例えば、財務分析、利益計画、予算編成、財務予想、業績評価等を行うアプリケーション(本サービス提供者との契約により利用可能なアプリケーション)の利用がソフトウェア動作管理サーバ1によって管理される。
次に、図13のフローチャートを参照して、図12のステップS86の許可データ付与処理の詳細について説明する。
ステップS111において、利用状況管理部82は、図10のステップS41でパーソナルコンピュータ3が送信したオフライン利用状況データを受信する。上述したように、このとき、オフライン利用状況データとともに、管理テーブル106の記録内容がパーソナルコンピュータ3から送信され、利用状況管理部82は、オフライン利用状況データと、管理テーブル106の記録内容とを受信するようにしてもよい。
ステップS112において、利用状況管理部82は、ステップS111で受信されたオフライン利用状況データを利用状況データベース83に記憶する。
このようにして、ユーザの利用状況が記憶された利用状況データベース83の例を図14に示す。この例では、利用状況データベース83に、ユーザ1、ユーザ2、ユーザ3、・・・の利用状況が記憶されている。なお、利用状況データベースの内容は、ユーザ毎に所定の間隔(例えば、1ヶ月毎)にクリアされて更新される。
同図に示されるように、ユーザ1は、過去の所定の期間(例えば、1ヶ月間)にアプリケーション(本サービス提供者との契約によって利用可能なアプリケーション)を2回利用している。ユーザ1の第1回目の利用は、その利用開始日時が「2004/05/25/14/00(西暦2004年5月25日14時00分を表す)」であり、その利用終了時刻が「2004/05/25/14/30(西暦2004年5月25日14時30分を表す)」であり、利用されたアプリケーション(利用アプリケーション)はアプリケーションAとされている。
また、このときのアプリケーションの利用(利用区分)は、オンラインとされており、パーソナルコンピュータ3がインターネット4を介してソフトウェア動作管理サーバと通信可能な状態で利用されたこと(図7と図8を参照して上述した処理により実行された)を表している。
ユーザ1の第2回目の利用は、その利用開始日時が「2004/05/28/12/00(西暦2004年5月28日12時00分を表す)」であり、その利用終了時刻が「2004/05/28/12/15(西暦2004年5月28日12時15分を表す)」であり、利用されたアプリケーション(利用アプリケーション)はアプリケーションBとされている。
また、このときのアプリケーションの利用(利用区分)は、オフラインとされており、パーソナルコンピュータ3が通信設備の無い場所に移動されたか、または通信回線の混雑、故障やメンテナンスなどにより、ソフトウェア動作管理サーバ1にアクセスできない状態で利用されたこと(図15を参照して後述する処理により実行された)を表している。
利用状況データベース83には、必要に応じて、これら以外の他の項目も記憶されるようにしてもよい。
同様にして、ユーザ2、ユーザ3、・・・の利用状況が、利用状況データベース83に記憶されている。
図13に戻って、ステップS113において、許可データ生成部84は、図12のステップS82において受信した、ユーザ認証に対応するパーソナルコンピュータ3のユーザの利用状況を、利用状況データベース83の記憶内容に基づいて解析し、ステップS114において、許可データ生成部84は、ステップS113の解析結果に基づいて、図5を参照して上述した許可データを生成する。
このとき、許可データの利用条件(許可データの各項目の内容)は、例えば、予め定められたルールに基づいて設定され、例えば、利用状況データベースに記録された過去1ヶ月間のアプリケーションの利用回数が所定の回数を超えているユーザには、許可データの「利用可能回数」に対応する値を大きくし、利用状況データベースに記録された過去1ヶ月間のアプリケーションの利用回数が所定の回数以下のユーザには、許可データの「利用可能回数」の値を小さくするなど、そのユーザの利用状況に応じた利用条件が設定される。
そして、ステップS115において、許可データ送信部85は、ステップS114で生成された許可データをパーソナルコンピュータ3に送信する。
このようにして、ユーザ毎に、個別に利用条件が設定された許可データが送信される。
次に、図15のフローチャートを参照して、パーソナルコンピュータ3によるオフラインアプリケーション利用処理について説明する。この処理は、例えば、パーソナルコンピュータ3が通信設備の無い場所に移動された場合、または通信回線の混雑、故障やメンテナンスなどにより、ソフトウェア動作管理サーバ1にアクセスできないような場合、あるいはまた、非常に短時間の間だけ、アプリケーションを利用するので、あえてソフトウェア動作管理サーバとの通信を行いたくないような場合であって、かつユーザにより契約によって利用可能なアプリケーションの利用(起動)が指令された場合、実行される。
ステップS141において、ライセンス管理部101は、HDD33の所定の領域を検索し、ステップS142において、許可データが記憶されているか否かを判定する。
ステップS142において許可データが記憶されていると判定された場合、ステップS143において、利用条件判定部103は、図16を参照して後述する利用条件判定処理を実行する。これにより、ユーザが所望するアプリケーションのオフラインでの利用可否が判定され、利用可能である場合、利用可能フラグがONに設定され、利用不可能である場合、利用可能フラグがOFFに設定される。
ステップS144において、アプリケーション起動制御部102は、利用可能フラグがONであるか否かを判定し、利用可能フラグがONであると判定された場合、ステップS145に進み、アプリケーションを起動する。
ステップS146において、利用状況モニタ部104は、ステップS145で起動されたアプリケーションの利用状況をオフライン利用状況データ107として記録する。
ステップS147において、アプリケーション起動制御部102は、アプリケーションの利用が終了されたか否かを判定し、アプリケーションの利用が終了されたと判定されるまで待機する。ステップS147において、アプリケーションの利用が終了されたと判定された場合、処理は終了される。また、このとき、オフライン利用状況データ107に利用終了時刻が記述される。
ステップS142において、許可データが記憶されていないと判定された場合、またはステップS144において、利用可能フラグはONではないと判定された場合、ステップS148に進み、表示部18にエラーメッセージを表示させ、処理が終了する。
このようにして、パーソナルコンピュータ3のユーザによるオフラインでのアプリケーションの利用が行われる。このようにすることで、パーソナルコンピュータ3が通信設備の無い場所に移動された場合、または通信回線の混雑、故障やメンテナンスなどにより、ソフトウェア動作管理サーバ1にアクセスできないような場合であっても、ユーザは所望のアプリケーションを利用することができる。
次に、図16のフローチャートを参照して、図15のステップS143の利用条件判定処理の詳細について説明する。
ステップS161において、利用条件判定部103は、ステップS141の処理により検索された許可データは、有効期限内のものか否かを判定する。図16の処理が実行される日時が図5の許可データの項目「有効期限」の内容に記述された日時以前である場合、許可データは、有効期限内のものであると判定され、処理はステップS162に進む。
ステップS162において利用条件判定部103は、この許可データにおいてオフライン利用が許可されているか否かを判定する。図5の許可データの項目「オフライン利用可否」の内容に「可」と記述されている場合、この許可データにおいて、オフライン利用が許可されていると判定され、処理はステップS163に進む。
ステップS163において利用条件判定部103は、ユーザが利用を希望する(起動が指令された)アプリケーションが、この許可データによりオフライン利用できるアプリケーションか否かを判定する。いま、起動が指令されたアプリケーション(の種類)が図5の許可データの項目「利用可能アプリケーション」の内容に記述されている場合、この許可データによりオフライン利用ができると判定され、処理はステップS164に進む。
ステップS164において利用条件判定部103は、パーソナルコンピュータ3のユーザが、この許可データに登録されたユーザか否かを判定する。パーソナルコンピュータ3にログインしているユーザのユーザ名(またはID)が図5の許可データの項目「登録ユーザ」の内容に記述されている場合、この許可データに登録されたユーザであると判定され、処理はステップS165に進む。
ステップS165において、利用条件判定部103は、オフライン利用状況データ107を参照する。そして、このとき参照されたオフライン利用状況データ107に基づいて、後述するステップS166またはS167の処理による判定を行う。
ステップS166において利用条件判定部103は、利用できる回数を超えていないか否かを判定する。このとき、オフライン利用状況データ107に基づいて、過去の所定の期間(例えば1ヶ月間)に、パーソナルコンピュータ3のユーザがオフラインでアプリケーションを利用した回数が計算される。計算された回数が図5の許可データの項目「利用可能回数」の内容に記述されている値未満である場合、利用できる回数を超えていないと判定され、処理はステップS167に進む。
ステップS167において利用条件判定部103は、利用できる時間を超過していないか否かを判定する。オフライン利用状況データ107に基づいて、過去の所定の期間(例えば1ヶ月間)に、パーソナルコンピュータ3のユーザがオフラインでアプリケーションを利用した延べ時間が計算される。計算された延べ時間が図5の許可データの項目「利用可能時間」の内容に記述されている値を超えていない場合、利用できる時間を超過していないと判定され、処理はステップS168に進む。
ステップS168において、利用条件判定部103は、この許可データに基づくオフラインでのアプリケーションの利用が可能であることを表す利用可能フラグをONに設定する。
一方、ステップS161において、許可データは有効期限内のものではないと判定された場合、ステップS162において、オフライン利用が許可されていないと判定された場合、ステップS163においてオフラインで利用できるアプリケーションではないと判定された場合、ステップS164において、許可データに登録されたユーザではないと判定された場合、ステップS166において、利用できる回数を超えていると判定された場合、またはステップS167において、利用できる時間を超過していると判定された場合、処理は、ステップS168に進み、利用可能フラグがOFFに設定される。
このようにして、許可データに設定された利用条件に基づいて、オフラインでのアプリケーションの利用可否が判定される。許可データはユーザ毎に提供されるので、オフラインでの利用であっても、詳細な利用条件を設定することにより、確実なライセンス管理を行うことができる。
上述した一連の処理をハードウェアで実現するか、ソフトウェアで実現するかは問わない。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータなどに、ネットワークインターフェース15を介して接続されるインターネット4や光ディスク22などのリムーバブルメディアからインストールされる。
なお、本明細書において上述した一連の処理を実行するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。