JP6108455B2 - ソフトウェア使用制御システム - Google Patents

ソフトウェア使用制御システム Download PDF

Info

Publication number
JP6108455B2
JP6108455B2 JP2013134379A JP2013134379A JP6108455B2 JP 6108455 B2 JP6108455 B2 JP 6108455B2 JP 2013134379 A JP2013134379 A JP 2013134379A JP 2013134379 A JP2013134379 A JP 2013134379A JP 6108455 B2 JP6108455 B2 JP 6108455B2
Authority
JP
Japan
Prior art keywords
license
client
software
licenses
license management
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013134379A
Other languages
English (en)
Other versions
JP2015014817A (ja
Inventor
徹 大渕
徹 大渕
田島 裕之
裕之 田島
雅之 滝脇
雅之 滝脇
Original Assignee
株式会社日本デジタル研究所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日本デジタル研究所 filed Critical 株式会社日本デジタル研究所
Priority to JP2013134379A priority Critical patent/JP6108455B2/ja
Publication of JP2015014817A publication Critical patent/JP2015014817A/ja
Application granted granted Critical
Publication of JP6108455B2 publication Critical patent/JP6108455B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、ソフトウェア使用制御システムに関し、特に会計事務所および一般企業で使用される会計・税務に関するソフトウェア使用制御に関する。
従来、ソフトウェアの販売は使用許諾権(ライセンス)の販売になるため、一つのライセンスが付与されたソフトウェアを複数台のコンピューターへインストールすることは原則として禁止されており、ソフトウェアのライセンス数を超過しての使用はできないことが多い。
コンピューター単位でライセンスを付与してソフトウェアの使用を制限するノードロックライセンス方式では、ハードウェアにライセンスが依存するため、コンピューターが他の用途で利用されている時など、ソフトウェアの使用が出来ない不便がある。このため、他の利用者が、そのソフトウェアを試用して、使いやすさ等を体験することもできず、追加でライセンスを購入することを躊躇する結果、事業所全体としての作業効率を向上させる機会を失うことにもなる。
ノードロックライセンス方式の不便さを補う手段として、ソフトウェアを使用する時のみライセンスをコンピューター単位で一時的に付与するフローティングライセンス方式がある。
会計事務所では、多数の顧問先企業の月々の決算業務や税務申告を行っている。とりわけ税務申告においては、税制改正などによって、ソフトウェアを最新のバージョンにしたり、使用頻度の少ないソフトウェア(例えば、相続税)などを使用する場合に、利用するソフトウェアのラインセンスのみを必要な時に購入して使用する形態が普及している。
複数の所員から構成される会計事務所においては、業務効率の面から前述のフローティングライセンス方式での利用が好まれる傾向がある。
また、ソフトウェアのライセンスを管理する際に、ライセンスを管理するサーバーとして、インターネット等のWAN(ワイドエリアネットワーク)を介して接続されたサーバーを用いた管理システムが構築されることがある。
例えば、WAN回線が障害等でライセンスを取得できないことによる不都合を解消する技術として、特許文献1がある。かかる技術によれば、外部のライセンス管理サーバーから、WAN回線を介して、事務所内のサーバーに、ライセンス管理情報を一時的に伝送することで、以降は、事務所内のサーバーにライセンス管理が全面的に委譲されるため、WAN回線に障害が発生しても、問題は生じない。
しかし、ライセンス管理サーバーから遮断された事務所内サーバーでライセンス管理が行われるため、各端末において適切にライセンスを管理しているかどうかは不明であり、アプリケーションプログラム提供者はリスクを負うことにもなり、また、動的なライセンス配布管理に対応しがたいという不都合が生じる。
また、従前からCADソフトなどにおいてもライセンス利用の考えが利用されている。CADなどの場合は、ライセンスを発行するベンダーからライセンスを入手して、CADを利用する者が事務所内に設置したライセンス管理サーバーにライセンスを格納し、さらにライセンス利用を許可する端末固有のMACアドレスなどを利用して、ライセンスの使用制限を行うローカルでの利用が主流であり、ライセンス利用の都度、インターネットなどを介してベンダーのライセンス管理サーバーへアクセスする形態ではないため、動的なライセンス配布管理に対応しがたいという不都合が生じる。
特開2001−5659号公報
フローティングライセンス方式では、ライセンス管理サーバーを使用してライセンスの管理を行う方法が一般的である。このような方式では、クライアントサーバ型の形態を取り、クライアント機でソフトウェアの起動がされるとその起動数をカウントして、同時使用できるソフトウェアの数を制限する。
近年では、インターネット等の広域ネットワークを利用したライセンス管理サーバーの利用が普及しているが、通信障害があった場合は、ライセンスの取得が出来ないなどの問題がある。また、ライセンスの購入時期、有効期間、契約状況などによっては、同時使用できるソフトウェアの数を単純に制限する方法では不都合な場合がある。
さらには、使用するソフトウェアのプログラムの管理やクライアント機への配信方法、ライセンスの管理などが複雑化するという問題がある。
そこで本発明は、一般企業の事務所や会計事務所にて使用される 会計・税務に関するソフトウェアの使用に関して、クライアント機と、インターネットを介して接続する外部のライセンス管理サーバーを設けることで、通信障害発生時のライセンス管理や、必要に応じて、会計事務所内にクライアント機へプログラムの配信とライセンス管理を行う事務所内サーバーを配すること等により、プログラムの配信ないし同時起動数の管理を行って、インストールの効率化を図ることを目的とする。
本願発明は、1以上のクライアントPCにおけるアプリケーションソフトウェアのライセンス使用を管理するソフトウェア使用制御システムにおいて、
ライセンス契約の内容が登録される契約情報テーブルと、ライセンスの使用状況が登録されるライセンス管理テーブルとを少なくとも記憶する記憶手段と、
前記契約情報テーブルおよび前記ライセンス管理テーブルを参照して個別のクライアントPCにおけるアプリケーションソフトウェアのライセンス管理を行うライセンス管理手段とを具え、
前記契約情報テーブルには、何台のクライアントPCに前記アプリケーションソフトウェアをインストールしてよいかを定めたインストールライセンスと、インストールされたクライアントPCのうち同時に何台で当該アプリケーションソフトウェアを利用してよいかを定めた同時起動ライセンスとの数および期間が登録されており、
前記ライセンス管理手段は、
(1)前記クライアントPCから前記アプリケーションソフトウェアのインストール要求を受けた場合に、前記インストールライセンスの数およびそれぞれの有効期間と、現在使用されているインストールライセンスの数を確認し、現在使用されているインストールライセンス数が有効なインストールライセンスの数未満である場合に新たにインストールライセンスを付与し、
(2)前記アプリケーションソフトウェアの起動要求を受けた場合に、少なくとも前記同時起動ライセンスの数および有効期間と、現在使用されている同時起動ライセンスの数とを確認し、現在使用されている同時起動ライセンス数が有効な同時起動ライセンスの数未満である場合に新たに同時起動ライセンスを付与することを特徴とする。
また、前記契約情報テーブルがさらに、前記同時起動ライセンスのうち所定のクライアントPC用に確保される同時起動ライセンスを規定する占有使用欄を具えるとともに、
前記ライセンス管理手段は、前記アプリケーションソフトウェアの起動要求を受けた場合に、前記同時起動ライセンスのうち前記所定のクライアントPC用に確保されたものを除いた数を前記有効な同時起動ライセンスの数として抽出して、現在使用されている同時起動ライセンス数が有効な同時起動ライセンスの数未満である場合に新たに同時起動ライセンスを付与することが好ましい。
さらに、システムが前記クライアントPCおよび/または前記事務所内サーバーを含み、
前記クライアントPCおよび/または前記事務所内サーバーは、前記同時起動ライセンスの要求時に前記ライセンス管理サーバーとの接続障害を検知した場合に、
(a)前記通信ネットワークへアクセスできない場合に、前記アプリケーションソフトウェアを第1の期間だけ起動可能とし、
(b)前記通信ネットワークへアクセス可能であり、且つ前記ライセンス管理サーバーのメンテナンス情報が取得できない場合に、前記アプリケーションソフトウェアを第2の期間だけ起動可能とし、
(c)前記通信ネットワークへアクセス可能であり、且つ前記ライセンス管理サーバーのメンテナンス情報が取得できた場合に、期間の制限なく前記アプリケーションソフトウェアを起動可能とすることが好ましい。
本発明によれば、アプリケーションソフトウェアのライセンスが、各事務所が前提としてソフトウェアを使用する権利について締結する上位概念としての「ソフトウェアライセンス」と、事務所毎に何台のクライアントPCに当該ソフトウェアをインストールしてよいかを決めた中位概念としての「インストールライセンス」と、インストールされたクライアントPCのうち同時に何台で当該ソフトウェアを利用してよいかを決めた下位概念としての「同時起動ライセンス」とで規定され、それぞれの契約に基づいて各種ライセンスチェックが行われるため、様々なライセンス態様に適切に対応したソフトウェア制御を実現することができる。
また、本発明によれば、ライセンスの追加購入や利用停止、同時起動数の制御などが効率的に可能となる。
さらに、障害の状況に応じて段階的にオフライン利用状態を設定することで、ライセンス管理サーバーへのアクセス無しでも限度内でソフトウェアの使用が可能となる。
図1は、ソフトウェア使用制御システム100の全体構成を示すブロック図である。 図2は、ライセンス管理サーバー10の構成を示すブロック図である。 図3は、事務所内サーバー20の構成を示すブロック図である。 図4は、クライアントPC30の構成を示すブロック図である。 図5は、本発明によるソフトウェア使用制御システムで管理されるライセンスの態様や種類を説明する概念図である。 図6は、ライセンス管理サーバー10に保存される各事務所のライセンス内容を登録する契約情報管理テーブルの一実施例を示す図である。 図7は、各事務所におけるソフトウェアアプリケーションのインストール台数と同時起動台数を管理するためのライセンス管理テーブルを示す図である。 図8は、事務所内サーバー20および/またはクライアントPC30からライセンス管理サーバー10へ接続する際の認証用IDとパスワードを管理する認証管理テーブルの一実施例を示す図である。 図9は、事務所内サーバー20が当該事務所内のクライアントPC30を管理するためのクライアントPC情報管理テーブルを示す図である。 図10は、ライセンス管理サーバー10に登録されるアプリケーションソフトウェアを管理するためのアプリ管理テーブルを示す図である。 図11は、クライアントPC30に特定のアプリケーションソフトウェアをインストールする手順を説明する図である。 図12は、クライアントPC30のインストール処理の詳細を説明するフロー図である。 図13は、ライセンス管理サーバー10のフローティングライセンス許可フローを示す図である。 図14は、ライセンス管理サーバー10に記録される死活監視ログを示す図である。 図15は、図13に示すフローティングライセンス許可フローの別の実施例を説明する図である。 図16は、障害発生時の動作モード(0〜3)を規定した動作モード管理テーブルを示す図である。 図17は、障害発生を検知した場合にその記録とオフライン起動回数や時間を記録する障害管理テーブルを示す図である。 図18は、ライセンス管理サーバー10で記録される障害履歴テーブルを示す図である。 図19は、外部ネットワークやライセンス管理サーバー10のメンテナンス時および障害発生時等において、事業所内サーバー20がライセンス管理サーバー10のライセンス管理を一時的に代替する場合のフローティングライセンス許可フローを説明する図である。 図20は、本願システム全体についての処理の流れを示すシーケンス図である。 図21は、ライセンス管理サーバー10に障害が発生するかメンテナンス中によりオフライン処理を許可するシーケンス図である。 図22は、インターネットアクセス障害が発生した際のオフライン処理を許可するシーケンス図である。 図23は、第2実施例にかかるソフトウェア制御システムの全体構成を示す図である。 図24は、第2実施例におけるアプリケーションソフトウェアの起動から終了までの流れを説明するシーケンス図である。 図25は、第2実施例におけるライセンス管理サーバー230の障害またはメンテナンス時のオフライン動作シーケンスを示す図である。 図26は、第2実施例におけるインターネットアクセス障害時のオフライン動作シーケンスを示す図である。 図27は、アプリケーションソフトウェアを利用中の端末が故障した場合の起動ライセンスの解放と別の端末に起動ライセンスを割り当てる処理を説明するシーケンス図である。 図28は、クライアントPC230で既にアプリケーションソフトウェアが起動している状態において、ライセンス管理サーバー210の障害発生またはメンテナンス、あるいはインターネット接続障害が発生した場合の処理フローを示す。 図29は、第3実施例にかかる契約情報テーブルの一例を示す図である。 図30は、第3実施例にかかるクライアント端末30に表示される管理画面の一例を示す図である。
以下に添付図面を参照して、この発明に係るソフトウェア使用制御システムの実施例を詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
第1実施例は、会計事務所内に事務所内サーバーおよび1以上のクライアントPCが設置されており、会計事務所からインターネットを介してライセンス管理サーバーと接続してソフトウェアを使用する形態の例を説明する。
[実施例1に係るソフトウェア使用制御システムの構成]
まず、図1を用いて、第1の実施形態に係るソフトウェア使用制御システムの構成について説明する。図1は、第1の実施形態に係るソフトウェア使用制御システムの構成を示すブロック図である。
図1に例示するように、第1の実施形態に係るソフトウェア使用制御システム100は、ライセンス管理サーバー10と、事務所内サーバー20と、1以上のクライアントPC(Personal Computer)30a、30b・・・とを備える。また、本実施例のソフトウェア使用制御システム100では、ライセンス管理サーバー10と事務所サーバー20はインターネット40を介して接続されており、事務所内サーバー20とクライアントPC30は事務所内でLAN接続されている。複数のクライアントPC30a、30b・・・について、特に区別無く説明する場合には、クライアントPCと記載する。
ライセンス管理サーバー100は、ソフトウェアの使用に関する情報や、ユーザーの契約に関する情報に基づいてライセンスを管理するサーバーであり、事務所内サーバー20からソフトウェア起動要求を受け付け、ライセンスの使用状況を確認して起動の許可/不許可を事務所サーバーへ通知すると共に、ソフトウェアの使用状況の監視(死活監視)などを行う。
事務所内サーバー20は、会計事務所や企業の事務所内に設置されたサーバー装置であり、同事務所内に設置されたクライアントPC30に接続され、クライアントPC30の情報管理や、ライセンス管理サーバー10への接続を管理する。本実施例ではアプリケーションソフトウェアをクライアントPC30へ配信する機能も有する。例えば、事務所内サーバー20は、クライアントPC30からソフトウェアライセンスの使用要求を受け付け、インターネット40を介してライセンス管理サーバー10へ使用の許可を要求する。あるいは、必要に応じて、ライセンス管理サーバー10に逐次使用の許可を要求せず、自機内の管理情報により、直接にクライアントPC30の使用要求を許可する処理を行うことができる。
クライアントPC30は、例えば、デスクトップ型PC、タブレット型PC、ノート型PC等の情報処理装置であり、事務所内で使用されるコンピューター端末である。クライアントPC30は、事前準備として、固有のIDが割り当てられ保持している。そして、LAN接続されている事務所サーバー20から所望するアプリケーションソフトウェアをダウンロードしてインストールし、アプリケーションソフトウェアを使用することができる。
以下に、図2−4を参照しながら、ライセンス管理サーバー10の構成、事務所内サーバー20の構成、クライアントPC30の構成を順に説明していく。
[ライセンス管理サーバーの構成]
まず、図2を用いて、図1に示したライセンス管理サーバー10の構成を説明する。図2は、実施例1に係るライセンス管理サーバー10の構成を示すブロック図である。図2に示すように、このライセンス管理サーバー10は、制御部11と、記憶部12と、通信部13とを具える。以下にこれら各部の処理を説明する。
制御部11は、各種の処理手順などを規定したプログラムをRAM(ランダムアクセスメモリ)上にロードしてCPUが各処理ステップを実行することにより構成されるものであって、各種の処理を実行制御する機能を有し、所要データを一時的に格納するためのワークメモリ(RAM等)を有し、これらによって種々の処理を実行する。制御部11はプログラムないし機能モジュールとして、ソフトウェアアプリケーションを使用する契約事務所の情報を処理する事務所情報制御部と、事務所内サーバー20やクライアントPC30からの接続認証を行う外部端末認証部と、各クライアントPC30のインストールライセンス情報を処理するインストールライセンス制御部と、同時起動ライセンス情報制御部とを備える。
記憶部12は、制御部11による各種処理に必要なデータおよびプログラムを格納するものであり、事務所毎のライセンス契約情報などを登録した各種管理テーブルや、事務所内サーバー20へ配信するプログラムを記憶する。アプリケーションプログラム登録部には、各アプリケーションプログラムが登録されており、適宜、最新のバージョンのものに更新可能に構成されている。ただし、アプリケーションプログラム登録部はライセンス管理サーバー内に必ずしも設けられる必要はなく、別のサーバー内に設けられ、ここから各アプリケーションプログラムが配信されるように構成してもよい。
通信部13は、接続される事務所内サーバー20との間でやり取りする各種情報に関する通信を制御する。具体的には、通信部13は、事務所IDやライセンス要求されるソフトウェアIDなどを事務所サーバー20から受信し、ライセンスの許可情報を事務所内サーバー20へ通知する。
[事務所内サーバーの構成]
次に、図3を用いて、図1に示した事務所内サーバー20の構成を説明する。図3は、実施例1に係る事務所内サーバー20の構成を示すブロック図である。図3に示すように、この事務所サーバー20は、制御部21と、記憶部22と、通信部23とを具える。以下にこれら各部の処理を説明する。
制御部21は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部21のプログラムないし機能モジュールとして、各クライアントPC30にインストールプログラムを配信するインストールプログラムインストール制御部と、ライセンス管理サーバー20と接続するためのライセンス管理サーバーアクセス制御部と、クライアントPC30から接続を処理するクライアントPCアクセス制御部と、アプリケーション制御部とを備える。
記憶部22は、制御部による各種処理に必要なデータおよびプログラムを格納するものであり、各種管理テーブルや、クライアントPCへ配信するアプリケーションプログラムを記憶する。アプリケーションプログラム登録部には、契約に係る各アプリケーションプログラムが登録されており、これらは適宜ライセンス管理サーバー10から最新のバージョンのものに更新可能に構成されるとともに、インストールライセンスが割り当てられるクライアントPC30に適宜ダウンロードないし更新させることができる。
通信部23は、接続されるライセンス管理サーバー10とクライアントPC30との間でやり取りする各種情報に関する通信を制御する。具体的には、通信部23は、事務所内でLAN接続されているクライアントPC30から、ライセンスの使用許可を要求されるソフトウェアのIDなどを受信し、インターネット40を介してライセンス管理サーバー10へライセンスの使用許可を要求し、ライセンス管理サーバー10から受信したライセンスの使用許可情報を受信し、クライアントPC30へ通知する。
[クライアントPCの構成]
次に、図4を用いて、図1に示したクライアントPC30の構成を説明する。図4は、実施例1に係るクライアントPC30の構成を示すブロック図である。図4に示すように、このクライアントPC30は、制御部31と、記憶部32と、通信部33と、入力部34と、出力部35とを具える。以下にこれら各部の処理を説明する。
制御部31は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。本発明に直接関連するモジュールとして、ソフトウェア情報取得部と、ソフトウェア管理部とを備える。その他に当然ながらアプリケーションソフトウェアを実行する機能も有する。
記憶部32は、制御部31による各種処理に必要なデータおよびプログラムを格納するものであり、各種管理テーブル、アプリケーションプログラムを記憶する。
通信部33は、事務所内サーバー20とクライアントPC30との間でやり取りする各種情報に関する通信を制御する。具体的には、通信部33は、事務所内でLAN接続されている事務所内サーバー20(を介してライセンス管理サーバー10)へライセンスの使用許可を要求し、事務所サーバー20から通知されるライセンスの使用許可情報を受信する。
入力部34は、使用するアプリケーションソフトの選択指示などを入力するものであり、キーボードやマウス、マイクなどを備えて構成される。また、出力部35は、モニタ(ディスプレイ、タッチパネル)やスピーカを備えて構成される。
[ライセンス形態・概念の説明]
図5は、本発明によるソフトウェア使用制御システムで管理されるライセンスの態様や種類を説明する概念図である。本出願において、アプリケーションソフトウェアのライセンスは、各事務所が前提としてソフトウェアを使用する権利について締結する上位概念としての「ソフトウェアライセンス」と、事務所毎に何台のクライアントPC30に当該ソフトウェアをインストールしてよいかを決めた中位概念としての「インストールライセンス」と、インストールされたクライアントPCのうち同時に何台で当該ソフトウェアを利用してよいかを決めた下位概念としての「同時起動ライセンス」が規定されている。
図5(a)に示す例では、「法人税申告書」作成ソフトウェアについて、これを利用する事務所がソフトウェアライセンスを1年間で契約し、その後継続してもう1年間契約を延長している。そして、ソフトウェアライセンスと同時に2本のインストールライセンスが契約され、その後に契約期間半ばでインストールライセンスが1本追加されている。あくまでも契約内容はソフトウェア提供者と利用者が合意すれば任意に設定できるが、本図に示す例ではインストールライセンスの利用期間はソフトウェアライセンスに付随し、追加されたインストールライセンスはソフトウェアライセンスの終期とともに1年未満で終了する。本例ではソフトウェアライセンスが1年延長されたことに伴いインストールライセンスは3本とも1年間延長される。本図では明示しないが、インストールライセンスとは別に同時起動ライセンスを設定することができ、同時起動ライセンスはインストールライセンスの数以下となる。これらがライセンス管理サーバー10で管理され、契約数を超えるクライアントPC30にソフトウェアをインストールすることはできず、同時起動ライセンスの契約数を超えるクライアントPC30で当該ソフトウェアを同時に利用することができない。
図5(b)では、同時起動ライセンスの契約例を示す。前提として事務所とソフトウェア提供者側でソフトウェアライセンスが締結され、少なくとも3本のインストールライセンスが購入されている。図5に示すように、最初に1年間を期限とする2本の同時起動ライセンスが購入され、1本は1年後にもう1年間継続され、1本は1年後に契約を更新しないことにより消滅する。また、最初の1年経過前にもう1年間の同時起動ライセンスがもう1本追加購入され、これは購入から1年間有効であり、1年経過後に更新されずに消滅する。したがって、図5に示すように、最初は2本の同時起動ライセンスが存在し、その後に1本追加されて3本となり、その後に1本が契約継続、1本が契約満了して同時起動ライセンスは2本となり、その後に、追加された1本の契約期間が満了して最終的に1本が残る。このように、ソフトウェア提供者と利用者(事務所)の間ではソフトウェアライセンス、インストールライセンス、同時起動ライセンスという3つの概念を用いて様々な形態のライセンスを設定することができ、これらの様々なライセンスに適切に対応したソフトウェア制御が本発明のシステムにより実現される。
[各種テーブルの説明]
(1)契約情報管理テーブル(ライセンス管理サーバー・事務所内サーバー)
図6は、ライセンス管理サーバー10に保存される各事務所のライセンス内容を登録する契約情報管理テーブルの一実施例を示す図である。本図に示すように、契約情報管理テーブルには、事務所ID、アプリID、ソフトウェアライセンス(始期−終期)、インストールライセンス(始期−終期)、および同時起動ライセンス(始期−終期)の登録欄が設けられている。この契約情報管理テーブルには、アプリケーションソフトウェアの提供者と各事務所の間で締結される契約に応じて、各事務所が契約したアプリケーションソフトウェア毎に、インストールライセンスの数および各々の始期と終期、同時起動ライセンスの数および各々の始期と終期が登録される。終期は、図5の概念に基づき、始期と使用期間(図の例では年単位だが1ヶ月、1週間単位の管理でもよい)の情報を元にして決定され、テーブルに記録される。ここで、同時起動ライセンスの数は常にインストールライセンスの数と同じか少なく設定される。新たにライセンスが購入されるか期間更新されると、図5の概念に基づいて終期が設定され、新たな終期に関して契約情報管理テーブルが更新される。また、ライセンス管理サーバー10は少なくとも1日1回契約情報管理テーブルをチェックし、ライセンスの終期が経過したものを削除するか無効フラグを立てる。このようにして、図5で示したような多様なライセンス形態を柔軟に記録・管理することができる。なお、契約情報管理テーブルの事務所毎の登録内容が当該事務所の事務所内サーバー20に随時通知され、事務所内サーバー20では当該事務所についての同じ契約内容を保持する。
(2)ライセンス管理テーブル(ライセンス管理サーバー・事務所内サーバー)
図7a、bは、ライセンス管理サーバー10および必要に応じて事務所内サーバー20が保有する、各事務所におけるソフトウェアアプリケーションのインストール台数と同時起動台数をアクティブに管理するためのライセンス管理テーブルの2種類の実施例を示す。図7aに示す例では、ライセンス管理テーブルは、各事務所が契約したアプリケーションソフトウェア毎に、当該事務所におけるインストール済みクライアントPC30のIDと、当該アプリケーションソフトウェアを現在起動しているクライアントPC30のID(これらを「PCID」と称す。)とが登録される。ここで、事務所IDはライセンス管理サーバー10では事務所毎の情報を記録し、事務所内サーバー20では、当該事務所の情報だけを記録する。インストール済みPCID欄と、起動PCID欄は事務所内サーバー20からの通知等により随時更新される。すなわち、事務所側からインストール要求を受けるとライセンス管理サーバー10は契約情報テーブル(図6)のインストールライセンス数とライセンス管理テーブル(図7)のインストール済みPC数を確認して、ライセンス内であれば新たにインストールライセンスを付与し、インストール済み通知に含まれるPCIDをライセンス管理テーブルに登録する。同様に、起動要求を受けたら契約情報テーブル(図6)とライセンス管理テーブル(図7)を参照して、同時起動PC数が同時起動ライセンス数未満であれば同時起動ライセンスを付与し、起動済み通知に含まれるPCIDをライセンス管理テーブルに登録する。事務所内サーバー20からいずれかのクライアントPC30のアプリケーションソフトウェアの終了報告を受けると、ライセンス管理サーバー10はライセンス管理テーブルの該当する同時起動PCIDを削除する。さらに、ライセンス管理サーバー10は定期的にアプリケーションソフトウェアを起動しているクライアントPC30またはこれを監視する事務所内サーバー20から起動中通知を受け取って各クライアントPCにおけるアプリケーションの死活監視を行い、起動中であると登録されたクライアントPCから定期的な起動中通知を1度でも取得できない場合、あるいは定期的な起動中通知を取得できずに所定期間経過の場合に、ライセンス管理テーブルの起動PCIDから当該クライアントPCの分を削除する。このほか、ライセンス管理サーバー10は、アプリケーションソフトウェアを起動しているクライアントPC30またはこれを監視する事務所内サーバー20に対して、定期的に起動中であるか否かを問い合わせることで、上記のような各クライアントPCにおけるアプリケーションの死活監視を行い、ライセンス管理テーブルの起動PCIDから当該クライアントPCの分を削除することもできる。これにより同時起動ライセンスのデッドロックを防止することができる。
図7bに示す別の実施例では、ライセンス管理テーブルは、各事務所のアプリケーション毎に、インストール可能台数、インストール済みPC台数、同時起動可能台数、および同時起動PC台数を管理する。このうち、インストール可能台数と同時起動可能台数は、契約情報テーブル(図6)を参照することにより適宜更新される。インストール済み台数と同時起動台数は事務所内サーバー20からの通知により随時更新される。ライセンス管理サーバー10は、事務所内サーバー20からインストール要求または起動要求を受けると、このライセンス管理テーブルを参照して、ライセンス内であればライセンスを付与するとともにテーブルを更新する。図7(a)のように各PCIDを登録するほか、図7(b)のように全体として何台インストール/起動されているかを管理するだけでもフローティングライセンス管理を行うことができる。同時起動数はアプリケーションの終了通知を受けると1つ減じられるが、本例の場合も各クライアントPCにおけるアプリケーションソフトウェアの死活監視を行って、定期的な起動中通知を1度でも取得できない場合、あるいは定期的な起動中通知を取得できずに所定期間経過の場合には、当該クライアントPCではアプリケーションソフトウェアが最早使用されていないものと判断して、同時起動数を1つ減らしてもよい。
以上は、主にライセンス管理サーバー10が主体となって、事務所内サーバー20を介して、各クライアントPC30の起動要求を管理する処理を説明したが、事務所内サーバー20が、ライセンス管理サーバー10に逐次クライアントPC30の起動要求を通知せずに、事務所内サーバー20が主体となって、前記のライセンス管理テーブル(図7aないし図7b)を利用して、各クライアントPC30の起動要求を管理することができる。この場合において、各ライセンス管理テーブルは、ライセンス管理サーバー10の記憶部に格納されたもののうち、当該事務所にかかる部分のみを事務所内サーバー20が共用して利用するようにしてもよいし、必要に応じて事務所内サーバー20の記憶部に格納され随時ライセンス管理サーバー10と同期されるテーブルを利用するようにしてもよい。
(3)認証管理テーブル(ライセンス管理サーバー)
図8は、ライセンス管理サーバー10が保有する、事務所内サーバー20および/またはクライアントPC30からライセンス管理サーバー10へ接続する際の認証用IDとパスワードを管理するテーブルの一実施例を示す。本図に示す例では、認証ライセンス管理テーブルには、事務所ID、認証パスワード、事務所サーバーの接続先アドレスが登録される。ライセンス管理サーバー10は事務所内サーバー20やクライアントPC30から接続要求を受けると、要求に含まれるIDとパスワードを照合して合致した場合に接続を許可する。
(4)クライアントPC情報管理テーブル(事務所内サーバー・ライセンス管理サーバー)
図9は、事務所内サーバー20が当該事務所内のクライアントPC30を管理するためのテーブルを示す。このクライアントPC情報管理テーブルには、クライアントPCIDと、各クライアントPCの名称(任意、例えば「田中事務員専用PC」等)が登録される。これと同じものが通知されてライセンス管理サーバー10が保有するようにしてもよい。
(5)アプリ管理テーブル(ライセンス管理サーバー・事務所内サーバー)
図10は、ライセンス管理サーバー10に登録されるアプリケーションソフトウェアを管理するためのテーブルを示す。このアプリ管理テーブルは、アプリID、アプリ名、およびバージョン情報が登録される。アプリケーションソフトウェアの新たなバージョンがライセンス管理サーバー10に登録されるとこのテーブルが更新される(すなわち最新のバージョンを記録している)。ライセンス管理サーバー10は、起動要求を受けた際に要求に含まれるアプリIDとバージョン情報に基づいてアプリ管理テーブルを確認し、要求にかかるクライアントPC30にインストールされているアプリケーションが登録されたバージョンより古いものである場合(通常は、バージョンの値が小さい場合)にはバージョンアップを通知することができる。また、アプリ管理テーブルに新たなバージョンが登録された場合に、図7aのライセンス管理テーブルを参照してどの事務所のどのクライアントPCに当該アプリケーションソフトウェアがインストールされているかを抽出し、これらのクライアントPCにバージョンアップの案内が自動的に発信されるように構成してもよい。なお、ライセンス管理サーバー10と事務所内サーバー20が定期的に通信することにより、事務所内サーバー20が同一のアプリ管理テーブルを保持するようにしてもよい。
[事務所内サーバーからクライアントPCへのアプリインストール]
図11は、クライアントPC30に特定のアプリケーションソフトウェアをインストールする手順を説明する図である。前提として、ライセンス管理サーバー10の記憶手段に、インストール処理を実行するためのプログラムであるインストーラーと、ライセンス管理サーバー10に接続するための接続ツールと、ソフトウェアアプリケーションのパッケージとの最新版が登録されており、事務所内サーバー20からライセンス管理サーバー10に定期的に通信することにより、これらのプログラムやツールが事務所内サーバー20の共有フォルダにコピーされている。接続ツールには、ライセンス管理サーバー10と接続するための接続アドレス等が含まれている。クライアントPC30は、事務所内サーバー20の共有フォルダにアクセスして、インストーラーや接続ツールを取得して、所望するアプリケーションプログラムのインストールを行う。本実施例では、アプリケーションプログラムを事務所内サーバーに記憶しておき、事務所内サーバーからクライアントPCにインストールさせる例を説明するが、アプリを事務所内サーバーに記憶せず、外部のライセンス管理サーバーから、アプリケーションプログラムをダイレクトにダウンロードするように構成してもよい。クライアントPC30のインストール処理の詳細を、図12を用いて説明する。
図12に示すように、まずクライアントPC30から事務所内サーバー20の共有フォルダを参照して、インストーラーをダウンロードする(a1−a2)。このインストーラーを起動すると、事務所内サーバー20の共有フォルダから接続ツールをダウンロードする(a4)。取得した接続ツールにはライセンス管理サーバー10の接続先アドレスや、アプリケーションプログラムのID等が含まれている。接続ツールを起動すると(a5)、事務所内サーバー20を介して自動的にライセンス管理サーバー10にインストールライセンス要求が発信される(a6)。このインストールライセンス要求には事務所ID、クライアントPCのPCID、サーバー接続用の認証パスワード、アプリID等が含まれる。ライセンス管理サーバー10はライセンス管理テーブル(図7)や必要に応じて契約情報テーブル(図6)を参照して、当該事務所におけるインストール済みライセンス数が購入されたインストールライセンス数より少なければ、インストールライセンスを付与する旨返信する(a7)。これを受けてクライアントPC30はソフトウェアパッケージをダウンロードしてアプリケーションソフトウェアをインストールし(a8)、事務所内サーバー20を介してライセンス管理サーバー10にインストールライセンス使用通知を送信する(a9)。ライセンス管理サーバー10はライセンス管理テーブル(図7)に新たなクライアントPC30にアプリケーションソフトウェアがインストールされたことを記録する。これは、図7aの場合はインストール済みPCID欄に当該クライアントPCのPCIDを記録し、図7bの場合はインストール済み数を1つ加算する。
[ライセンス管理サーバーのフローティングライセンス許可フロー]
図13は、ライセンス管理サーバー10のフローティングライセンス許可フローを示したものである。フローティングライセンスのチェックは、大まかには、(必要に応じて)インストールライセンスのチェックと、同時起動ライセンスのチェックといった段階的、階層的なチェック手順で構成される。クライアントPC30でアプリケーションソフトウェアを起動しようとすると、事務所内サーバー20を介して、ライセンス管理サーバー10に対して起動ライセンス要求が発信される(b1−b2)。起動ライセンス要求には、少なくとも事務所ID、アプリIDが含まれ、任意で(必要に応じて)端末のPCIDが含まれる。ここで、「任意で(必要時応じて)」としているのは、事務所内サーバーが必要な数の同時起動ライセンスを取得後、端末に対して割り振るようにした場合には、ライセンス管理サーバー側に端末のPCIDを通知する必要がないことによる。ライセンス管理サーバー10では、アプリケーションソフトウェアの起動ライセンス要求を受け取ると、記憶部に記録された契約情報テーブル(図6)を参照して(b3)、最初に当該ソフトウェアの契約が存在するかのソフトウェアライセンスのチェックを行う(b4)。すなわち、事務所IDとアプリIDからソフトウェアライセンスの有無と有効期間を確認し、ライセンスがない場合や有効期間外である場合には、ライセンス要求を拒絶する。この場合、クライアントPC30には「アプリケーションを起動できません」のメッセージが表示され、アプリケーションの起動自体を制限するか、必要に応じて一部起動したアプリケーションが強制終了される(b12)。別の実施例では、より具体的に「ソフトウェアライセンスが購入されていません。」等のメッセージを表示するようにしてもよい。
ソフトウェアライセンスが確認されたら、次に、インストールライセンスのチェックを行う(b6)。ここでは、図7のライセンス管理テーブルを参照して,インストール数がライセンス内であるかを確認する(b7)。図7aに示す実施例では、起動要求に含まれるPCIDがインストール済みPCID欄に登録されているかを確認する。図7bに示す実施例では、当該アプリケーションソフトウェアのインストール済み数がインストール可能数を越えていないかチェックする。問題があればライセンスを拒絶する(b12へ)。問題なければ、次に、同時起動ライセンスのチェックを行う(b8)。これは、図7aの実施例の場合、図6の契約情報テーブルの同時起動ライセンス数を確認し、図7aのライセンス管理テーブルの起動PCID数がライセンス数未満であれば新たな起動ライセンスを許可する。図7bの実施例の場合、同時起動可能数が同時起動台数より少なければ新たな起動ライセンスを許可する(b9−b10)。これがクライアントPC30に通知され、アプリケーションが起動される(b11)。起動ライセンスを付与した場合にはライセンス管理テーブル(図7)に記録される。
以上は、主にライセンス管理サーバー10が主体となって、事務所内サーバー20を介して、各クライアントPC30の起動要求を管理する処理を説明したが、事務所内サーバー20が主体となって、前記のライセンス管理テーブル(図7aないし図7b)を利用して、各クライアントPC30の起動要求を管理するようにしてもよい。この場合の各ライセンス管理テーブルを利用した処理フローは同様である。
例えば、当該事務所における法人税のアプリケーションプログラムの同時起動数の契約情報が3台の場合に、既に2台起動している場合には、3台目の起動要求は同時起動ライセンスの範囲内であるため起動が許可され、ライセンス管理サーバー10が保有するライセンス管理テーブルに、3台目の起動を許可したことが記録される。この状態からさらに他の端末からの法人税のアプリケーションプログラムの起動要求があった場合には、起動要求が許可されないことになる。起動要求が許可されない場合、アプリケーションの起動自体を制限すると共に、クライアントPC30には「アプリケーションを起動できません」のメッセージが表示される。この場合にユーザーは、後述の図30のようなフローティング起動状況画面を表示させて、起動したいアプリの使用(起動)状況を確認して、空きが出ないかを確認するようにしてもよい。あるいは、ライセンス管理サーバー10または事務所内サーバー20が、起動要求が許可されなかったアプリについて、いずれかの端末での使用が終了して起動ライセンスに空きが生じた場合に、許可されなかったクライアントPC30に対して空きが生じたことを通知するように構成してもよい。
いずれかのクライアントPC30でアプリケーションプログラムが終了した場合にもライセンス管理サーバー10に通知され、ライセンス管理テーブルに起動終了が反映される。さらに、アプリケーションプログラムを実行する各クライアントPC30からは定期的にアプリケーションの使用報告がライセンス管理サーバー10に送信され、これがライセンス管理サーバー10で図14に示すような死活監視ログとして記録される。ライセンス管理サーバー10は周期的に図7のライセンス管理テーブルと図14の死活監視ログを参照して、起動中であると登録されたクライアントPCから定期的な起動中通知を1度でも取得できない場合、あるいは、定期的な起動中通知を取得できずに所定期間経過の場合には、ライセンス管理テーブルの起動PCIDから当該クライアントPCの分を削除する。これにより同時起動ライセンスのデッドロックを防止することができる。
図15は、図13に示すフローティングライセンス許可フローの別の実施例を説明する図である。図15に示すフローチャートは、インストールライセンスのチェックにかかるステップb6−b7がない以外は図13に示すものと同一である。同じ処理には同じ符号を付して示している。このように、フローティングライセンスの許可にあたり、インストールライセンスのチェックを行わず、ソフトウェアライセンスと同時起動ライセンスのチェックのみを行って起動を許可するようにしてもよい。さらなる別の実施例では、ステップb4−b5のソフトウェアライセンスを省略してもよい(図示せず)。なお、インストールライセンスの確認のステップ(b6−b7)がないのは、アプリを起動できるということはそもそもインストールライセンが有効であることを前提とするため省略したものである。
このように、インストールライセンスと同時起動ライセンスという異なる概念を柔軟に組み合わせて多様なライセンスを定義することができる。このような柔軟なライセンス構造のイメージを図13、図15の右側に示している。例えば、タイプAのライセンス構造では、アプリケーションソフトウェア(例えば、法人税申告書や減価償却等)のソフトウェアライセンスの構成として、利用を開始する利用開始日と利用の終了時を示す利用期限日の情報が第1の階層として構成され、第2の階層には、インストールライセンスに基づくソフトウェアのアクティベーション(有効化、ここではインストールを意味する)があり、第3の階層として、同時起動ライセンスに基づいて起動が許可されたフローティング(起動数)が割り当てられている様子を示している。
タイプBのライセンス構造の場合は、ソフトウェアライセンスの第1の階層として、インストールライセンスと同時起動ライセンスとが同列に割り当てられており、利用開始日と利用期限日の情報が第2の階層として同時起動ライセンスの下の階層に割り当てられている。このような階層構造を前提として、インストールライセンスと同時起動ライセンスとを複合的、階層的に用いることで、フローティングライセンスの多面的な管理が可能となる。
特にタイプBの構成をとった場合には、ソフトウェアライセンスの下層にインストールライセンスと同時起動ライセンスを並列的に設定できるので、例えば、同じ会社の本店と支店であっても、独立したフローティングライセンス管理が可能となるといった、より柔軟なフローティングライセンス管理が可能となる。
ここで、図13等に示すNETライセンスとは、事務所との契約によってライセンス管理サーバーに登録されたインストールライセンスや同時起動ライセンスに基づいて、事務所側クライアントPCからインストール要求/起動要求があった場合に、ライセンスチェックを行ったうえで実際に付与されるライセンス(インストールライセンスまたは同時起動ライセンス)にあたる概念である。すなわち、ライセンス管理サーバー側から見て、個別の事務所の、個別のアプリについて、契約上のライセンスと実際に付与したライセンスとを区別するために便宜上言い換えたものであって、契約上のライセンス(ライセンス許可可能数)に対する実際に付与されたライセンスをNETライセンスと称している。
[外部のライセンス管理サーバーの接続障害時の処理]
本発明のソフトウェア制御システムはさらに、ライセンス管理サーバー10の障害発生、ライセンス管理サーバー10のメンテナンス中、あるいはインターネット接続障害によりライセンス管理サーバー10と通信できない場合にも、クライアントPCでアプリケーションソフトウェアを起動できるようにする機能を有する。以下、これについて詳細に説明する。
[障害発生時に使用するテーブル類の説明]
(6)動作モード管理テーブル(事務所内サーバー・クライアントPC)
図16は、障害発生時の動作モード(0〜3)を規定したテーブルである。動作モード0は障害が発生していない通常動作時であって、クライアントPCのアプリケーションソフトウェアも上述した通常動作を行う動作モードである。動作モード1はライセンス管理サーバー10がメンテナンス中の場合に、時間制限を課すことなくオフライン動作を許可する動作モードである。この場合に、予め事務所内サーバー20にメンテナンス期間が通知され記録されるか、ライセンス管理サーバー10の前段にある認証サーバー(図示せず)にメンテナンス情報が記録され接続要求があった場合にその旨が返信されるようにする。動作モード2はライセンス管理サーバー10に障害が発生した場合に、X時間(例えば12時間)だけオフライン動作を許可する動作モードである。動作モード3はインターネット接続に障害が発生した場合にY時間(例えば6時間)だけオフライン動作を許可する動作モードである。インターネット障害としては、ハブやルーターの故障、接続ケーブルの故障、インターネットプロバイダーのメンテナンスや障害発生などが含まれる。この動作モード管理テーブルは事務所内サーバー20および/または各クライアントPCに登録される。なお、上記のX時間とY時間はアプリケーションソフトウェアの提供者側で任意に設定することができるが、利用者側では変更できないように構成する。例えば、ライセンス管理サーバー10に設定可能な大元となる動作モード管理テーブルが登録されており、事務所内サーバー20および/または各クライアントPC30がアプリケーションソフトウェアをダウンロードする際に当該動作モード管理テーブルを変更不能な形態で取り込むようにすることが考えられる。
(7)障害管理テーブル(事務所内サーバー・クライアントPC)
図17は、障害発生を検知した場合にその記録とオフライン起動回数や時間を記録するテーブルである。障害管理テーブルには、障害事象と、障害発生日時の他、オフライン起動回数や起動時間が記録される。この情報は障害回復時にライセンス管理サーバー10に通知され、ライセンス管理サーバー10でも記録される。
(8)ライセンス管理サーバー10の障害履歴テーブル
図18は、ライセンス管理サーバー10で記録される障害履歴テーブルである。このテーブルには、事務所ID、事務所名称、合計オフライン起動回数、合計オフライン起動時間等が記録される。ライセンス管理サーバー10は、障害回復時にクライアントPC30または事務所内サーバー20から図17のように記録された障害情報を取得して、障害履歴テーブルに障害発生回数とオフライン起動時間を加算する。この記録に基づいて、オフライン起動への追加課金等の管理を行うことが考えられる。
[障害発生時のフローティングライセンス許可フロー]
図19は、外部ネットワークの障害発生時(プロバイダのメンテナンス含む)やライセンス管理サーバー10のメンテナンス時および障害発生時等において、事業所内サーバー20がライセンス管理サーバー10のライセンス管理を一時的に代替している場合のフローティングライセンス許可フローを示している。
まず、クライアントPC30において、所望のアプリを起動しようとすると(c1)、事務所内サーバー20を介して、ライセンス管理サーバー10に起動ライセンスの要求処理が実行される(c2)。ここで何ら障害が発生していない場合は、図13または図15に示すライセンスチェックが行われ(c4)、起動ライセンスが付与されて(c5)、クライアントPC30は動作モード0(図16参照)でアプリケーションソフトウェアが起動して通常動作が行われる(c6)。
ステップc3において起動ライセンス要求に対する応答が所定期間ない場合、前記の障害ないしメンテナンスの状況の確認が行われる。最初にインターネットの接続をチェックし(c7)、インターネットアクセスに対する応答があって(c8)、ライセンス管理サーバー10のメンテナンス中の情報が取得された場合には、動作モード1のオフライン動作許可モードに移行し、基本的に、メンテナンス中である限り、時間制限無くオフライン動作が許可される。時間制限なくオフライン動作を許可するのは、事務所やクライアントPC側に責任はなく、ライセンス管理サーバー10の都合であることによる。
次に、ステップC8でインターネットアクセスに対する応答がある場合において、メンテナンス情報が取得できない場合には(c9:N)、事務所内サーバー20またはクライアントPC30はライセンス管理サーバー10に障害が発生していると判断し、図16の動作モード管理テーブルが参照され、X時間(例えば12時間)の動作モード1に移行する。ライセンス管理サーバー10の障害時にX時間(例えば12時間)とすることで、すぐに復旧する場合や、比較的長時間のダウンにも対応するという柔軟な対応が可能となる。なお、この第1実施例では、事務所内サーバー20が存在するので、あえて上記のようなオフライン動作モードに移行させずに、事務所内サーバー20の記憶部に格納された各種管理テーブルを利用して、クライアントPC30の使用要求(起動要求)に対し許可するサービスを継続することもできる。また、すでに、起動ライセンスを取得してアプリを起動して利用している端末については、後述の図28の説明と同様に、特にオフライン動作モードに移行することなく、検出した障害状況ないしメンテナンス状況を記録するに留め、そのまま自機で使用したい間だけ当該アプリを使用することができる。
さらに、ステップc7でインターネットの接続をチェックし、インターネットアクセスに対する応答がない場合(c8:N、外部ネットワークの障害、サービスプロバイダのメンテナンス等)、動作モード3でY時間(例えば6時間)のオフライン動作を許可することとし、同様に、すぐに復旧する場合や、比較的長時間のダウンにも対応するという柔軟な対応が可能となる。
このように、オフライン時に事務所内サーバー20がライセンス管理を代替可能な時間を、障害やメンテナンスの状況、レベルに応じて可変にすることで、柔軟な対応が可能となる。
なお、予め、ライセンス管理サーバーから、自己がメンテナンス中であってサービス応答できない予定日時の情報が事務所内サーバーに通知され、その予定日時情報を元に、図19ステップc10のオフライン動作モード1に移行するようにしてもよい。
クライアントPC30におけるオフライン起動時間は事務所内サーバー20および/またはクライアントPC30の障害管理テーブル(図17)に記録され、オフライン起動許可された時間経過後にライセンス管理サーバー10との通信が復旧していなければアプリケーションソフトウェアが強制終了される。後に障害が復旧した際には、ライセンス管理サーバー10に障害管理テーブルの情報が通知され、ライセンス管理サーバー10側の障害履歴テーブル(図18)にも記録される。
[アプリケーションの起動から終了までの全体の処理の流れ]
図20は、アプリケーションの起動から終了までの、クライアントPC、事務所内サーバー、ライセンス管理サーバーで構成されるシステム全体についての処理の流れを示すシーケンス図である。本シーケンス図は図13、図15のフローチャートの処理に対応している。
オペレーターが、クライアントPC30においてキーボードやマウスを操作するか、携帯端末を介したリモート操作により、画面上のアプリ起動アイコン(図示せず)を操作してアプリケーションプログラムを起動しようとすると、クライアントPC30から事務所内サーバー20を介して、ライセンス管理サーバー10に対して接続要求およびアプリ起動要求が通知される。あるいは、逐次、ライセンス管理サーバーに、クライアントPC30の使用要求を通知して許可を受けるというスキームを経ずに、事務所内サーバーが主体となって、自機内に格納した各種管理テーブルないしライセンス管理サーバー側に格納された各種管理テーブルに基づいて、クライアントPC30の使用要求を許可するようにしてもよい。この場合、図20において、事務所内サーバー20とライセンス管理サーバー10へと間の通信は、必要に応じて(事務所内サーバー20の記憶部にライセンス管理テーブルを記録しない場合等)、ライセンス管理サーバー内のライセンス管理テーブルなどの参照処理を行う場合や所定のタイミングでのライセンス管理テーブルや契約情報テーブルの参照処理を行う場合を除いて、クライアントPC30と事務所内サーバー20との間の通信だけで、起動要求〜起動許可等のライセンス管理が遂行される。
ライセンス管理サーバー10では、かかる接続要求および起動要求通知を受け取ると、認証管理テーブル(図8)を参照してIDとパスワードの照合を行い、認証が成功したらライセンスチェック処理過程(図13)に移行する。ここでは、図6の契約情報テーブルと図7のライセンス管理テーブルが参照され、ソフトウェアライセンス有効期限内か、当該起動要求があった端末が、インストールライセンスが付与され、すでに起動しようとするアプリケーションプログラムがインストールされた端末であるかどうかを判定する。
なお、ここで、図10のアプリ管理テーブルを参照して、起動要求にかかるアプリケーションソフトウェアのバージョンを判定し、バージョンが最新のものでない場合には、起動に先立って、最新のバージョンに更新するように事務所内サーバー20を介して制御するようにしてもよい。
インストールライセンスの適切性が確認できたら、次に同時起動数の確認処理に移行する。同時起動数の確認処理では、起動要求のあった事務所において、当該アプリケーションプログラムについて、他のクライアントPC30の起動済み状況に照らして、契約情報に係る同時起動数の範囲内にあるかの確認が行われる。なお、図15で説明したように、インストールライセンスのチェックは省略することができる。
より具体的には、図6の契約情報テーブルを参照して当該事務所において同時に何台まで起動可能かを確認しつつ、図7のライセンス管理テーブルを参照して、当該事務所において、他の端末が、当該起動要求のあったアプリを使用している状況をリアルタイムで確認する。そして、最大同時起動数の値の範囲内にあると判定する場合には、起動許可を通知する(起動ライセンス発行)。このとき、ライセンス状態管理テーブル(図7)の起動PCID欄に要求にかかるクライアント端末30のPCIDを記録するか、同時起動数の値を1つ加算して更新登録する。例えば、図7bのID「1004」の事務所では、アプリID「A001」のアプリケーションソフトウェアについて、同時起動数が2となっているが、新たな起動要求を許可した場合には、この数値を2から3に更新することになる。
このようにして起動ライセンスが発行されると、事務所内サーバー20が、クライアントPC30に対して、当該起動要求のあったアプリケーションソフトウェアの起動を許可する。そして、クライアントPC30において、初めて、当該起動要求のあったアプリケーションソフトウェアの起動がなされる。
また、クライアントPC30において、アプリケーションソフトウェアの終了処理がなされると、データのセーブ(登録)処理に並行して、アプリ終了通知が事務所内サーバー20を経由してライセンス管理サーバー10に通知される。ライセンス管理サーバー10では、当該終了通知のあった事務所の当該アプリについて、ライセンス管理テーブルの同時起動数を一つ減じるか起動PCID欄から当該PCIDを削除する。
このように、事務所あるいは事業者に対して1以上のインストールライセンスを予め配布しておき、当該事務所または事業者が所有する複数のコンピューター端末のうち、アプリケーションプログラムを利用する可能性のある端末を予め決定して、アプリケーションプログラムをプレインストールしておくことで、同時起動ライセンス数の範囲内で、必要なクライアントPC30ですぐにアプリケーションソフトウェアが使用可能となる。
このことは、例えば会計事務所における会計処理などの場合に、多数の税務会計処理に係るアプリケーションプログラムを随時切替えながら業務を遂行することが求められる用途において、インストールや各種の初期設定の時間を省き、必要な端末で直ちにアプリケーションプログラムを使用可能とすることができる点で有用である。
特に、会計事務所の顧問先に対する会計税務サービスや、企業において本店の支店に対する会計処理や、親会社の子会社に対する会計処理においては、複数の顧問先ないし支店等に対し、その顧問先等の業種、業務に応じて、複数のアプリケーションプログラムを駆使して、随時切替えながら処理することが求められるため、特に効果的である。
また、インストールライセンスが割り当てられた端末に、予めアプリケーションプログラムをプレインストールしておくのみならず、ライセンス管理サーバー10と事務所内サーバー20が連携して、最新のアプリケーションプログラムを随時更新するようにすることができ、税制改正や会計基準の変更等により頻繁なアプリケーションプログラムの更新が必要となるような税務会計分野での用途に、特に効果的である。
このように、ソフトウェアライセンスと、インストールライセンスと、同時起動ライセンスとを、多面的、複合的、有機的に活用することで、特に税務会計分野でのアプリケーションプログラムのフローティングライセンスの使い勝手を飛躍的に向上させることができる。
[ライセンス管理サーバーオフライン処理]
図21、22を用いて、図19のフローチャートで説明したオフライン動作のシステム全体の処理を説明する。図21は、ライセンス管理サーバー10に障害が発生するかメンテナンス中によりオフライン処理を許可するシーケンス図である。クライアントPC30のアプリ起動時に、事務所サーバー20を介してライセンス管理サーバー10に起動ライセンス要求が発信される。しかしライセンス管理サーバー10に障害が発生しており、ライセンス許可/拒絶の応答が所定期間返信されずにタイムアウトすると、クライアントPC30から最初にインターネットアクセスチェックがなされ、インターネットアクセスが正常であればライセンス管理サーバー10のメンテナンス情報が確認される。ここでメンテナンス情報が取得できればクライアントPC30はオフライン動作モード1で時間制限なくオフライン動作が許可され、メンテナンス情報が確認できなければライセンス管理サーバー10の障害として動作モード2でY時間のオフライン動作が許可される。アプリケーションプログラムの利用が終了した場合には事務所内サーバー20に通知され、起動回数やオフライン起動時間が記録される。
図22は、サーバー障害ではなく、インターネットアクセス障害が発生した際のオフライン処理を許可するシーケンス図である。本シーケンスでは、アプリケーションプログラムの起動要求が通信障害によりライセンス管理サーバー10に届かずタイムアウトすることにより、クライアントPC30からインターネットアクセスチェックを行うと通信障害が確認され、この場合に事務所内サーバー20が動作モード3によりY時間のオフライン動作を許可する。なお、この第1実施例では、事務所内サーバー20が存在するので、あえて上記のようなオフライン動作モードに移行させずに、事務所内サーバー20の記憶部に格納された各種管理テーブルを利用して、クライアントPC30の使用要求(起動要求)に対し許可するサービスを継続することもできる。
以上、本発明の第1の実施例について詳細に説明したが、本発明は上記の構成および動作に限定されるものではない。本発明の目的である柔軟なフローティングライセンス管理を実現できる限りにおいて、システムの各構成要素やテーブル詳細、処理の詳細などは適宜変更することができる。例えば、上記には所望の動作を達成する上で最小限のテーブル構成および処理構成を示しているが、他に様々な改良や変更を加えることができる。例えばライセンス管理サーバー10、事務所内サーバー20、クライアントPC30の1以上で、インストールライセンスに基づくアプリケーションソフトウェアのインストール日時や起動ライセンスに基づく起動時間等をテーブルに記録してもよい。さらに、本発明のシステムは事務所内サーバー20を設けなくても実現することができる。これについて以下に説明する。
[システム構成]
図23は、第2実施例にかかるソフトウェア制御システムの全体構成を示す図である。図23に示すように、本実施例のソフトウェア制御システム200は、外部のライセンス管理サーバー210と、事務所内の複数のクライアントPC230とがインターネット40を介して接続されている。本実施例のライセンス管理サーバー210は、第1実施例のライセンス管理サーバー10の構成とほぼ同様であり、図6の契約情報テーブル、図7のライセンス管理テーブル、図8の認証管理テーブル、図9のクライアントPC情報管理テーブル、図10のアプリ管理テーブル、図18の障害履歴テーブル等を備えている。通信部33は、接続される各クライアントPC230との間でやり取りする各種情報に関する通信を制御する。具体的には、通信部33は、事務所IDやライセンス要求されるアプリIDなどを各クライアントPC230から受信し、ライセンスの許可情報を各クライアントPC230へ通知する。一方、事務所側の各クライアントPC230は、第1実施例において事務所内サーバー20が保有していた各種テーブル(当該事務所または当該クライアントPC230の情報のみを有する契約情報テーブル、ライセンス管理テーブル、認証管理テーブル、図16の動作モード管理テーブル、図17の障害管理テーブル等)の一部または全部を備える。
[動作フロー]
(1)ソフトウェアインストール
本実施例において、各クライアントPC30でアプリケーションソフトウェアをインストールする処理は基本的に第1実施例の処理と同様であり、事務所内サーバー20がないのでクライアントPC230とライセンス管理サーバー210が直接やりとりを行ってアプリインストールが行われる。
ここで、ライセンス管理サーバー210からクライアントPC230へのアプリインストール処理の詳細を、事務所内サーバーからのインストールの処理フロー図である図12を流用して説明する。まず、クライアントPC230から、インストールのために、ライセンス管理サーバー210にアクセスすると、ライセンス管理サーバー210では、記憶部に格納した契約情報テーブル(図6)および認証管理テーブル(図8)を参照し、契約情報及び事務所IDと認証パスワードを用いて、当該クライアントPC230が、インストールしようとしているソフトウェアライセンスについて所定の契約に係る事務所に属している端末であることを認識し、ライセンス管理サーバーへ接続が許可され、インストーラーをダウンロードする(ステップa1〜a2)。以降は、クライアントPC230が直接ライセンス管理サーバー210にアクセスする点を除けば、a3〜a9のステップを実行してアプリをインストールする処理は同様であり、本実施例において各処理の詳細はこの構成の変更に合わせて適宜調整されるが、これらは当業者であれば自明な変更であるためその詳細な説明は省略する。
なお、クライアントPC230にアプリをインストールする際に(ステップa8)、ライセンス管理サーバー210の記憶部に格納された契約情報テーブル(図6)、およびライセンス管理テーブル(図7)あるいは、ライセンス管理サーバー210が、クライアントPC230と共通に保有しているクライアントPC情報管理テーブル(図9)やアプリ管理テーブル(図10)等、ないし、クライアントPC230が記憶部に格納しているアプリ管理テーブル(図10)やインストールアプリ管理テーブル(図9)等に、それぞれインストールしたアプリケーションソフトウェアの情報(例えば、当該アプリケーションソフトウェアのアプリIDやバージョン情報、当該アプリケーションソフトウェアがどの事務所のどの端末にインストールされたかの関連付け情報、インストールした日付情報、ライセンス有効日付やライセンス期限の情報等)の登録が行われる。
(2)フローティングライセンス管理
図24は、アプリケーションソフトウェアの起動から終了までの流れを説明するシーケンス図である。フローティングライセンス管理も第1実施例とほぼ同様であり、事務所内サーバーを介さずにクライアントPC230とライセンス管理サーバー210が直接やりとりを行ってライセンス管理が行われる。ライセンスチェックの詳細は図13、図15で示す第1実施例のものと同様である。また、障害発生後にアプリケーションソフトウェアを起動しようとする際の障害発生時のフローも図19に示す第1実施例の動作と同様であり、障害事象に応じて動作モード1〜3のいずれかでオフライン動作が可能となっている。図25に、ライセンス管理サーバー230の障害またはメンテナンス時のオフライン動作シーケンスを示し、図26に、インターネットアクセス障害時のオフライン動作シーケンスを示す。
図27は、起動ライセンスを受けて特定の端末(例えばクライアントPC230a)がアプリケーションソフトウェアを利用している場合に、当該クライアントPC230aが故障した場合の起動ライセンスの解放と別の端末に起動ライセンスを割り当てる処理を説明するシーケンス図である。最初のクライアントPC230aからの要求に応じて起動ライセンスが付与され、当該クライアントPC230aでアプリケーションソフトウェアを使用している場合、定期的にライセンス管理サーバー210に使用報告が上げられ、図14の死活監視管理テーブルに記録される。ライセンス管理サーバー210は定期的に死活監視管理テーブルを参照して、定期的に起動中であるか否かを問い合わせを行って応答がなかった場合、または定期的なクライアントPCからの起動中通知を1度でも取得できない場合、もしくは定期的な起動中通知を取得できずに所定期間経過の場合には、障害その他の理由により当該クライアントPC230aは最早アプリケーションソフトウェアを使用していないものと判断する。この場合、ライセンス管理サーバー210は図7のライセンス管理テーブルで起動PCID欄から当該クライアントPC230aを削除するか(図7aの場合)、同時起動数から1台減じて(図7bの場合)テーブルを更新し、他のクライアントPCで当該アプリケーションソフトウェアを利用できるようにする。以降に他のクライアントPC(例えばクライアントPC230b)から起動ライセンス要求があった場合にはライセンス管理テーブルを参照して当該クライアントPC230bに起動ライセンスが別途付与される。このように、所定期間報告のないクライアント端末の起動ライセンスを適宜解放することにより、同時起動ライセンスが定数に達してデッドロックしてしまう事態を解消することができる。
(3)アプリケーションが既に起動している場合に障害が発生した場合の処理フロー
図28は、例えば図13に示すライセンス許可フローにより起動ライセンスが付与され、クライアントPC230で既にアプリケーションソフトウェアが起動している状態において、ライセンス管理サーバー210の障害発生またはメンテナンス、あるいはインターネット接続障害が発生した場合の処理フローを示す。前提として、正常な手続により起動ライセンスが付与されており、クライアントPC230でアプリケーションソフトウェアが使用中である(d1)。アプリケーションソフトウェアないしクライアントPC230は定期的にアプリケーションの使用報告をライセンス管理サーバー210に対して行っている(d2)。ライセンス管理サーバー210はこれを図14の死活監視管理テーブルに蓄積し、各クライアントPC230におけるアプリケーションソフトウェアの死活監視を行っている。いずれかの時点で、定期報告に対するライセンス管理サーバー210の応答が所定期間得られなかった場合(d3)、クライアントPC230はライセンス管理サーバー210のメンテナンス情報を取得できるかチェックする(d4)。これは前述したように、予めライセンス管理サーバー210側からメンテナンス予告通知を受けていれば自PC内のその登録場所を参照し、あるいはメンテナンス管理サーバー210の前段にある認証サーバー(図示せず)にメンテナンス情報を問い合わせることにより行われる。
ここでライセンス管理サーバー210が現在メンテナンス中であるとの情報が取得できれば(d5:Y)、クライアントPC230の障害管理テーブル(図17)に日時とサーバーメンテナンス中であるとの情報を記録する(d10)。また、メンテナンス情報が取得できない場合(d5:N)、インターネットアクセスチェックを行って(d6)、インターネットアクセスが正常である場合は(d7)、ライセンス管理サーバー210の障害発生を障害管理テーブルに記録する(d9)。インターネットアクセスが不可能である場合は、障害管理テーブルに通信障害発生を記録する(d8)。いずれの場合も、障害事象や日時を障害管理テーブルに記録するに留め、特別なオフライン動作モードに移行することなく、既に起動しているアプリケーションソフトウェアは自機において当該ソフトウェアの使用の継続を希望する限り、使用終了を行うまで継続利用可能とする(d11)。定期的にライセンス管理サーバー210への報告試行は続けられ、サーバー210との通信が正常に復帰したら障害管理テーブル(図17)の内容がサーバー210に報告される。このように、正常時に付与された起動ライセンスに基づいてアプリケーションソフトウェアを使用している場合に何らかの障害が発生しても、クライアントPC230において継続してアプリケーションソフトウェアを使用できるようにすることにより、ユーザーの便宜となる。
図29、30を用いて、本発明のさらなる実施例について説明する。本実施例は、上述した実施例1ないし実施例2におけるフローティングライセンスについて、例えば会計事務所の所長専用PCなどの優先的にアプリケーションソフトウェアを利用すべき端末に占有使用する権利を確保する運用形態である。図29は、実施例1におけるライセンス管理サーバー10および/または事務所内サーバー20とクライアントPC30に登録される契約情報テーブルの一例を示す図である。なお、実施例2における図23のライセンス管理サーバー210ないしクライアントPC230においても同様の処理が可能であるが、以下の説明では、説明の簡略化のため、実施例1の各装置の符号を用いて説明する。この契約情報テーブルには図6に示す契約情報テーブルの内容に加え占有使用欄が設けられており、この占有使用欄は設定フラグと、占有使用権が設定される端末のPCID(図9参照)が登録される。設定フラグは、専用使用権の有効/無効を示すフラグであり、フラグが有効な場合は契約された同時起動ライセンスのうち占有使用権が設定された端末のために設定台数分だけ他のクライアント端末30への割り当てが制限される。ここで設定フラグを設けているのは、例えば設定した端末の利用者が休暇をとっている場合などに、占有使用権を解放して他の端末がアプリケーションソフトウェアを利用できるようにするためである。本実施例の占有使用権の概念は、上記実施例1と2のいずれの形態にも適用することができる。本実施例ではクライアント端末毎のライセンス管理が必要となるため、ライセンス管理テーブルは図7(a)に示すものが用いられる。
占有使用権の設定は、予めクライアント端末30または事務所内サーバー20からライセンス管理サーバー10へ申請することにより行われる。この申請は例えば設定画面を呼び出して行うことができ、申請には少なくとも占有使用を設定する端末のPCIDが含まれる。ライセンス管理サーバー10はこの申請を受け取ると、図29の契約情報テーブルの占有使用欄にPCIDを登録し、デフォルトでは占有使用フラグをONにする。
フローティングライセンスの管理は図13または図15とほぼ同様であるが、ステップb8の同時起動ライセンスのチェック処理において、ライセンス管理サーバー10は、ライセンスを要求する端末のPCIDが占有使用欄に登録されていれば常に起動ライセンスを発行し、図7のライセンス管理テーブルを更新する。起動ライセンスの要求にかかる端末のPCIDが占有使用欄に登録されていなければ、契約情報テーブルにて占有使用権の設定台数とフラグ、同時起動ライセンス数を取得し、次に図7(a)のライセンス管理テーブルを参照して、同時起動ライセンス数に占有使用権のある台数を除いた上で、同時起動ライセンスが余っていれば起動ライセンスを付与してライセンス管理テーブルを更新する。このようにして、同時起動ライセンスのうち占有使用が設定された端末には常にライセンスが確保され、例えば会計事務所の所長などがいつでもアプリケーションソフトウェアを利用できる態勢が確保される。
さらに、クライアント端末30側で事務所内における現在のアプリケーション使用端末の把握や起動ライセンスの解放要求、占有使用権の解除などを設定できるようにしてもよい。図30は、クライアント端末30のモニタ画面、または事務所内サーバーあるいはライセンス管理サーバーがサービスするウェブページに表示される管理画面の一例を示す図である。図30に示す管理画面には、アプリケーションソフトウェア毎のインストールライセンス・同時起動ライセンスの契約数と現在の導入済み/起動済み数の概要が反映されたフローティング起動状況概要ウィンドウ41と、事務所内の起動状況の詳細を示すフローティングライセンス起動状況詳細ウィンドウ42と、管理画面を表示する端末に占有使用権が設定されている場合の占有使用解除ボタン43と、任意の起動中端末の起動中状態を停止する起動権解放ボタン44とを具える。この画面は専用アイコンやアプリ上のボタン押下などで任意に呼び出し可能に構成することができ、また例えばアプリケーションソフトウェアの起動時に同時起動ライセンスがすべて使用されており起動ライセンスの発行が拒否される場合に自動的に表示されるようにしてもよい。
フローティングライセンス起動状況概要ウィンドウ41は、例えばクライアント端末30がライセンス管理サーバー10からその時点における契約情報テーブル(図29)とライセンス管理テーブル(図7(a))の内容を取得し、当該事務所で契約しているアプリケーションソフトウェア名、ライセンスID(図10のアプリIDに対応)、インストールライセンス数、インストール済みPCID数、同時起動ライセンス数、同時起動PCID数を並べて表示される。フローティングライセンス軌道状況詳細ウィンドウ42は、さらにクライアントPC情報管理テーブル(図23)の内容を取得し、アプリケーションソフトウェアとクライアント端末ごとに利用期限と、占有使用権の有無、起動中であるか否か、起動ライセンスを解放したかの欄を並べて表示される。
この管理画面を表示するクライアント端末30が占有使用権を有する場合、すなわち図29の契約情報テーブルの占有使用欄にPCIDが登録された端末である場合には、占有使用解除ボタン43がアクティブに表示される。上述したようにこの端末はアプリケーションソフトウェアの占有使用が可能であり、すなわち同時起動ライセンスがいつでも確保されている。例えばこの端末に不具合が生じたり、端末を持ち出して顧問先や得意先に出張するような場合および自宅に持ち帰ってアプリ利用以外の用途に用いる場合、さらにはユーザーが休暇を取るなどで暫くアプリケーションソフトウェアを使用しない場合、占有使用解除ボタン43を押下すると、必須ではないが確認画面を経た後にライセンス管理サーバー10に占有解除申請が送信される。ここで、占有使用の端末が故障した場合には、別の端末から、事務所内サーバーあるいはライセンス管理サーバーがサービスするウェブページにアクセスして、図30の管理画面を表示して、占有解除申請を送信するようにしてもよい。ライセンス管理サーバー10は図29の契約情報テーブルの占有使用フラグをOFFに切り替える。これにより、当該クライアント端末の占有使用権が一時的に解除され、必要に応じて他の端末に起動ライセンスが付与されることになる。占有使用解除中はボタン43が「占有使用開始」のように表示され、例えば端末の修理が終了したり、ユーザーが休暇から戻ったりした際にこのボタン43を再び押下するとライセンス管理サーバー10に占有使用申請が送られ、契約情報テーブルの占有使用フラグが再びONにされる。
さらに、例えば既にアプリケーションソフトウェアを使用している端末に不具合が生じたり、端末を持ち出して顧問先や得意先に出張したり、端末を自宅に持ち帰ってアプリ利用以外の用途に用いたりするような場合、あるいはいずれかの端末のユーザーが昼休憩などで離席しているような場合に、特定のクライアント端末を指定して起動ライセンスを解放することができる。例えば、図30の画面上のフローティングライセンス起動情報詳細ウィンドウ42のいずれかのライセンスを反転表示させ、起動権解放ボタン44を押下すると、これがライセンス管理サーバー10に通知され、サーバー10は通知に含まれるPCIDとアプリIDからライセンスを特定して解放する。このことがクライアント端末30に返信され、フローティングライセンス起動状況詳細ウィンドウ42の起動権解放欄に表示される。これにより他のクライアント端末が起動ライセンスを取得できるようになる。この場合、クライアントPC30のモニタ画面、または事務所内サーバーあるいはライセンス管理サーバーがサービスするウェブページに表示される管理画面のいずれか一つ、あるいは複数の画面利用を組み合わせて、起動権の解放を制御できるようにしてもよい。一実施例では、予め占有使用登録されている端末の起動権は解放できないようにして、重要な端末で起動できなくなるような不便を防止するようにしてもよい。使用中にも拘わらず起動ライセンスを失ったクライアント端末では、例えば確認画面が表示され、データ保存の機会が与えられた上で、アプリケーションソフトウェアが強制終了されるようにしてもよい。
さらに、図30のようなフローティングライセンス起動情報詳細ウィンドウ42によれば、他の端末利用者が当該アプリの同時起動ライセンスを全て使い切っていることにより当該アプリの起動要求を却下された端末利用者や、事務所長などの管理者が、事務所内でどのアプリにどれだけの同時起動ライセンスが確保され、そのうちどれだけの同時起動ライセンスが使用されているのか、起動ライセンスの空きがあるのかないのか、あるいは所望のアプリの同時起動ライセンスが解放されたのかどうかを確認して待機したり、アプリケーションソフトウェアを使っている端末の利用者に今後の使用予定を問い合わせる等に活用することができる。
あるいは、使用したいアプリについて、起動ライセンスに空きがない場合には、図30の表示画面に、別途、予約ボタンを設ける等して、同時起動数に空きができた場合に、優先的に使用できるようにしてもよい。
上記に説明した本願発明によれば、ソフトウェアライセンスの下位に設けられた、インストールライセンスないし同時起動ライセンスを初めとする各種の複合的、階層的なライセンス概念を導入することにより、各種の事務所(会社、会計事務所等)の特性や、多様なソフトウェアの体系に対応したフローティングライセンスの管理を、事務所側に専門的な担当者を割り当てることなく、簡易に遂行することができる。
また、ソフトウェアライセンスを構成する各種のライセンス概念、たとえば、インストールライセンスを、同時起動ライセンスとは別枠で構成するなど、複数ないし階層的なライセンス概念を導入することとしたので、インストールライセンスの概念により、所定の端末において、常に、自動的に最新のアプリケーションプログラムを格納しておいた上で、アプリを使用したい場合に、同時起動ライセンスの範囲内で、直ちに、最新のアプリを利用できるという管理を行うことができる。これにより、税務会計分野の業務アプリのように、税制改正や会計基準等の改正により、頻繁にアプリの更新をしなければならない用途に特に好適である。
また、フローティングライセンスの管理において、ライセンス管理サーバーと、ライセンスを付与されるクライアントPCとの間で、何らの工夫も加えずに、インターネット等のWAN回線(外部ネットワーク)を利用した場合、ライセンス管理サーバーのメンテナンスや障害発生時や外部ネットワークのメンテナンスや障害発生時に、フローティングライセンスを適切に付与したり管理できないという不都合が生じうるが、本願発明によれば、状況に応じて段階的なオフライン動作モードに移行することで、フローティングライセンスの管理および発行を継続できる。
このように、安全かつ適切にフローティングライセンスの管理の仕組みを提供したので、最小限のライセンスだけ導入して事務所内の複数の端末で利用可能とすることで、利用者においてコストを削減しつつ、いわゆる試用のような形で複数の担当者がアプリケーションソフトウェアを利用して使いやすさ等を体験したり使用方法の練習をしたりすることが可能となり、追加でライセンスを導入する契機を提供することができる。
また、追加でライセンスを購入することを誘引する結果、事業所全体としての作業効率を向上させる機会を提供することができる。
本発明は、アプリケーションプログラムのライセンスを配布して、アプリケーションプログラムを所定期間、必要な本数だけ利用するフローティングライセンスサービスシステムに利用することができる。
10、210 ライセンス管理サーバー
20、220 事務所内サーバー
30、230 クライアントPC
11、21、31 制御部
12、22、32 記憶部
13、23、33 通信部
41 フローティング起動状況概要ウィンドウ
42 フローティングライセンス起動状況詳細ウィンドウ
43 占有使用解除ボタン
44 起動権解放ボタン
100、200 ソフトウェア管理システム

Claims (6)

  1. ユーザー側の1以上のクライアントPCにおけるアプリケーションソフトウェアのライセンス使用を管理するソフトウェア使用制御システムにおいて、前記クライアントPCと直接あるいは前記ユーザー側の事務所内サーバーを介して通信ネットワークで接続されるライセンス管理サーバーを具え、当該ライセンス管理サーバーが、
    前記ユーザー毎のライセンス契約の内容が登録される契約情報テーブルと、前記ユーザー毎のライセンスの使用状況が登録されるライセンス管理テーブルとを少なくとも記憶する記憶手段と、
    前記契約情報テーブルおよび前記ライセンス管理テーブルを参照して個別のクライアントPCにおけるアプリケーションソフトウェアのライセンス管理を行うライセンス管理手段とを具え、
    前記契約情報テーブルには、各ユーザーが特定のアプリケーションソフトウェアを使用する権利について締結するソフトウェアライセンスと、ユーザー毎に何台のクライアントPCに前記アプリケーションソフトウェアをインストールしてよいかを定めたインストールライセンスと、インストールされたクライアントPCのうち同時に何台で当該アプリケーションソフトウェアを利用してよいかを定めた同時起動ライセンスの数および期間が登録されており、
    前記ライセンス管理手段は、
    (1)前記クライアントPCから直接あるいは前記ユーザー側の事務所内サーバーを介して前記アプリケーションソフトウェアのインストール要求を受けた場合に、前記ソフトウェアライセンスの有無および有効期間と、前記インストールライセンスの数およびそれぞれの有効期間と、現在使用されているインストールライセンスの数を確認し、現在使用されているインストールライセンス数が有効なインストールライセンスの数未満である場合に新たにインストールライセンスを付与し、
    (2)前記クライアントPCから直接あるいは前記ユーザー側の事務所内サーバーを介して前記アプリケーションソフトウェアの起動要求を受けた場合に、少なくとも前記同時起動ライセンスの数および有効期間と、現在使用されている同時起動ライセンスの数とを確認し、現在使用されている同時起動ライセンス数が有効な同時起動ライセンスの数未満である場合に新たに同時起動ライセンスを付与することを特徴とするソフトウェア使用制御システム。
  2. 請求項1に記載のソフトウェア使用制御システムにおいて、前記契約情報テーブルがさらに、前記同時起動ライセンスのうち所定のクライアントPC用に確保される同時起動ライセンスを規定する占有使用欄を具えるとともに、
    前記ライセンス管理手段は、前記アプリケーションソフトウェアの起動要求を受けた場合に、前記同時起動ライセンスのうち前記所定のクライアントPC用に確保されたものを除いた数を前記有効な同時起動ライセンスの数として抽出して、現在使用されている同時起動ライセンス数が有効な同時起動ライセンスの数未満である場合に新たに同時起動ライセンスを付与することを特徴とするソフトウェア使用制御システム。
  3. 請求項1または2に記載のソフトウェア使用制御システムにおいて、当該システムが前記クライアントPCおよび/または前記事務所内サーバーを含んでおり、
    前記クライアントPCおよび/または前記事務所内サーバーは、前記同時起動ライセンスの要求時に前記ライセンス管理サーバーとの接続障害を検知した場合に、
    (a)前記通信ネットワークへアクセスできない場合に、前記アプリケーションソフトウェアを第1の期間だけ起動可能とし、
    (b)前記通信ネットワークへアクセス可能であり、且つ前記ライセンス管理サーバーのメンテナンス情報が取得できない場合に、前記アプリケーションソフトウェアを第2の期間だけ起動可能とし、
    (c)前記通信ネットワークへアクセス可能であり、且つ前記ライセンス管理サーバーのメンテナンス情報が取得できた場合に、期間の制限なく前記アプリケーションソフトウェアを起動可能とすることを特徴とするソフトウェア使用制御システム。
  4. 請求項1乃至3に記載のソフトウェア使用制御システムにおいて、前記クライアントPCが、前記ライセンス管理サーバーの記憶手段の登録内容のうち当該ユーザーにかかる契約情報とライセンス使用状況を取得して表示するライセンス状況表示手段を具えることを特徴とするソフトウェア使用制御システム。
  5. 請求項4に記載のソフトウェア使用制御システムにおいて、前記クライアントPCがさらに、所定のクライアントPCを指定して前記同時起動ライセンスの解放、あるいは前記同時起動ライセンスのうち前記所定のクライアントPC用に確保された同時起動ライセンスの解放を前記ライセンス管理サーバーに要求するライセンス解放要求手段を具えることを特徴とするソフトウェア使用制御システム。
  6. 請求項1に記載のソフトウェア使用制御システムにおいて、前記ユーザー側に配置されて前記ユーザー側の1以上のクライアントPCおよび前記ライセンス管理サーバーと接続される事務所内サーバーを具え、当該事務所内サーバーは、
    少なくとも当該ユーザーに関するライセンス契約の内容が登録される事務所内サーバー契約情報テーブルと、各クライアントPCにおけるライセンスの使用状況が登録される事務所内サーバーライセンス管理テーブルとを記憶する記憶手段と、
    個々のクライアントPCにおけるアプリケーションソフトウェアのライセンス管理を行う事務所内サーバーライセンス管理手段とを具え、
    前記事務所内サーバー契約情報テーブルには、前記ライセンス管理サーバーの契約情報テーブルのうち、当該ユーザーにかかるインストールライセンスと、当該ユーザーにかかる同時起動ライセンスの数および期間が登録され、
    前記事務所内サーバーライセンス管理手段は、
    (1)前記クライアントPCから前記アプリケーションソフトウェアのインストール要求を受けた場合に、前記インストールライセンスの数およびそれぞれの有効期間と、現在使用されているインストールライセンスの数を確認し、現在使用されているインストールライセンス数が有効なインストールライセンスの数未満である場合に新たにインストールライセンスを付与し、
    (2)前記クライアントPCから前記アプリケーションソフトウェアの起動要求を受けた場合に、少なくとも前記同時起動ライセンスの数および有効期間と、現在使用されている同時起動ライセンスの数とを確認し、現在使用されている同時起動ライセンス数が有効な同時起動ライセンスの数未満である場合に新たに同時起動ライセンスを付与することを特徴とするソフトウェア使用制御システム。
JP2013134379A 2013-05-31 2013-06-26 ソフトウェア使用制御システム Active JP6108455B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013134379A JP6108455B2 (ja) 2013-05-31 2013-06-26 ソフトウェア使用制御システム

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2013116420 2013-05-31
JP2013116420 2013-05-31
JP2013116675 2013-06-03
JP2013116675 2013-06-03
JP2013134379A JP6108455B2 (ja) 2013-05-31 2013-06-26 ソフトウェア使用制御システム

Publications (2)

Publication Number Publication Date
JP2015014817A JP2015014817A (ja) 2015-01-22
JP6108455B2 true JP6108455B2 (ja) 2017-04-05

Family

ID=52436532

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013134379A Active JP6108455B2 (ja) 2013-05-31 2013-06-26 ソフトウェア使用制御システム

Country Status (1)

Country Link
JP (1) JP6108455B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11768922B2 (en) 2018-08-02 2023-09-26 Nec Solution Innovators, Ltd. License management device, program execution device and method

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6481449B2 (ja) * 2015-03-24 2019-03-13 大日本印刷株式会社 セットアップ管理システム
JP6304153B2 (ja) * 2015-07-13 2018-04-04 京セラドキュメントソリューションズ株式会社 ライセンス管理システムおよびライセンス管理方法
JP6661395B2 (ja) 2016-01-29 2020-03-11 キヤノン株式会社 ライセンス管理サーバ、ライセンス管理システム、プログラム
JP6476402B2 (ja) 2016-05-20 2019-03-06 システムメトリックス株式会社 認証システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06223040A (ja) * 1993-01-26 1994-08-12 Omron Corp ソフトウェアライセンス管理システム
JP3506176B2 (ja) * 2001-03-01 2004-03-15 ダイキン工業株式会社 情報処理装置および情報処理方法、ライセンス管理システム、並びにプログラム
JP2005301379A (ja) * 2004-04-07 2005-10-27 Hitachi Ltd ソフトウェア資源管理方法およびシステム
JP2010204886A (ja) * 2009-03-03 2010-09-16 Seiko Epson Corp ライセンス管理装置及びプログラム
JP5365286B2 (ja) * 2009-03-18 2013-12-11 株式会社リコー 情報処理装置、インストール管理方法、インストール管理プログラム、および遠隔管理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11768922B2 (en) 2018-08-02 2023-09-26 Nec Solution Innovators, Ltd. License management device, program execution device and method

Also Published As

Publication number Publication date
JP2015014817A (ja) 2015-01-22

Similar Documents

Publication Publication Date Title
RU2628203C2 (ru) Лицензирование приложения с использованием поставщиков синхронизации
JP6108455B2 (ja) ソフトウェア使用制御システム
EP2140366B1 (en) Method and system for managing virtual and real machines
CN102438041B (zh) 高可用性场服务器组的升级
US8769478B2 (en) Aggregation of multiple headless computer entities into a single computer entity group
US20080005787A1 (en) Software Distribution and License Management System
KR102010421B1 (ko) 인증서 사용 관리 시스템 및 인증서 사용 관리 방법
US20020129128A1 (en) Aggregation of multiple headless computer entities into a single computer entity group
US20120290455A1 (en) System and Method for Providing Computer Services
KR20090106541A (ko) 시간 기반 권한부여
JP2012256248A (ja) クラウドシステム、クラウドサービスのライセンス管理方法、およびプログラム
US20120246704A1 (en) Mobile software entitlements manager
MX2012009022A (es) Estructura de concesion de licencias de funciones genericas.
JP5615440B2 (ja) 情報管理システム及び情報管理方法
JP2008204120A (ja) コンピュータシステム
CN115102840B (zh) 云服务运维管理方法和系统
US20150296051A1 (en) Methods, remote access systems, client computing devices, and server devices for use in remote access systems
JP5090809B2 (ja) 管理サーバおよび管理方法およびプログラムおよび記録媒体
JP6740037B2 (ja) ソフトウェア配信システム、及びそのソフトウェア配信方法
WO2015136643A1 (ja) コンピュータ環境管理システム
JPH09190393A (ja) 情報処理方法とその装置と情報処理システム
JP2003256064A (ja) ライセンス管理方法,ライセンス管理サーバ,ライセンス取得クライアント、ライセンス管理プログラム及び記録媒体
JP5907292B2 (ja) 設備備品予約システム、情報処理装置、制御方法、及びプログラム
JP5488523B2 (ja) 設備備品予約システム、情報処理装置、制御方法、及びプログラム
US11805177B2 (en) On-demand start and stop of managed systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160509

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170228

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170302

R150 Certificate of patent or registration of utility model

Ref document number: 6108455

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250