(57)【要約】【課題】サーバ用ソフトウェアとクライアント用ソフトウェアとのライセンス管理を適切に行えるようにする。【解決手段】情報処理装置は、媒体接続部に接続された記憶媒体から識別情報を読込む読込部５１と、読込んだ識別情報がサーバとしての識別情報であるかクライアントとしての識別情報であるかを判定する判定部５２と、サーバとしての識別情報であると判定されるとサーバとしてのソフトウェアの実行を許可し、クライアントとしての識別情報であると判定されるとクライアントとしてのソフトウェアの実行を許可する実行部５４とを備える。【選択図】      図４
2011028326.tif 000002
【特許請求の範囲】
【請求項１】
複数台の情報処理装置をネットワークで接続し、前記各情報処理装置のうち１台をサーバとして使用し、残りをクライアントとして使用するサーバ・クライアントシステムにおいて、
前記情報処理装置にて実行されるソフトウェアのライセンスを保護する識別情報を記憶してなる記憶媒体として、前記サーバとしての識別情報を記憶してなるサーバ用記憶媒体と前記クライアントとしての識別情報を記憶してなるクライアント用記憶媒体とを備え、
前記各情報処理装置は、
前記記憶媒体を着脱自在に接続する媒体接続部と、
この媒体接続部に接続された記憶媒体から前記識別情報を読込む読込手段と、
この読込手段により読込んだ識別情報が前記サーバとしての識別情報であるか前記クライアントとしての識別情報であるかを判定する判定手段と、
この判定手段により前記サーバとしての識別情報であると判定されるとサーバとしてのソフトウェアの実行を許可し、前記クライアントとしての識別情報であると判定されるとクライアントとしてのソフトウェアの実行を許可する制御手段と、
を具備したことを特徴とするサーバ・クライアントシステム。
【請求項２】
前記制御手段は、前記判定手段により判定された識別情報が前記クライアントとしての識別情報であるとき、前記ネットワークを介して接続される他の情報処理装置に対して、前記媒体接続部に前記サーバとしての識別情報を記憶してなる前記記憶媒体が接続されているか否かを問い合わせ、前記サーバとしての識別情報を記憶してなる前記記憶媒体が接続されている旨の応答を受信したことを条件に、クライアントとしてのソフトウェアの実行を許可することを特徴とする請求項１記載のサーバ・クライアントシステム。
【請求項３】
ネットワークを介して接続される他の情報処理装置との間でサーバ・クライアントシステムを構築する情報処理装置において、
ソフトウェアのライセンスを保護する識別情報を記憶してなる記憶媒体を着脱自在に接続する媒体接続部と、
この媒体接続部に接続された記憶媒体から前記識別情報を読込む読込手段と、
この読込手段により読込んだ識別情報がサーバとしての識別情報であるかクライアントとしての識別情報であるかを判定する判定手段と、
この判定手段により前記サーバとしての識別情報であると判定されるとサーバとしてのソフトウェアの実行を許可し、前記クライアントとしての識別情報であると判定されるとクライアントとしてのソフトウェアの実行を許可する制御手段と、
を具備したことを特徴とする情報処理装置。
【請求項４】
前記制御手段は、前記判定手段により判定された識別情報が前記クライアントとしての識別情報であるとき、前記ネットワークを介して接続される他の情報処理装置に対して、前記媒体接続部に前記サーバとしての識別情報を記憶してなる前記記憶媒体が接続されているか否かを問い合わせ、前記サーバとしての識別情報を記憶してなる前記記憶媒体が接続されている旨の応答を受信したことを条件に、クライアントとしてのソフトウェアの実行を許可することを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記ネットワークを介して接続される他の情報処理装置からの問合せに対して前記判定手段による判定結果を取得し、この判定結果が前記サーバとしての識別情報であるとき、前記ネットワークを介してクライアントとしてのソフトウェアの実行を許可する旨の応答を送信する応答手段、
をさらに具備したことを特徴とする請求項４記載の情報処理装置。
【請求項６】
ソフトウェアのライセンスを保護する識別情報を記憶してなる記憶媒体を着脱自在に接続する媒体接続部を備え、ネットワークを介して接続される他の情報処理装置との間でサーバ・クライアントシステムを構築する情報処理装置を、
前記媒体接続部に接続された記憶媒体から前記識別情報を読込む読込手段、
この読込手段により読込んだ識別情報がサーバとしての識別情報であるかクライアントとしての識別情報であるかを判定する判定手段、
この判定手段により前記サーバとしての識別情報であると判定されるとサーバとしてのソフトウェアの実行を許可し、前記クライアントとしての識別情報であると判定されるとクライアントとしてのソフトウェアの実行を許可する制御手段、
として機能させるためのソフトウェア管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ・クライアントシステム及びこのシステムを構築するための情報処理装置並びにこの装置にインストールされるソフトウェアの管理プログラムに関する。
【背景技術】
【０００２】
パーソナルコンピュータ等の情報処理装置にインストールされるアプリケーションプログラム等のソフトウェアに関し、不正コピーやライセンス数を超えてのインストールを防止するための方法の１つに、プロテクタを用いる方法がある。
【０００３】
この方法は、ソフトウェアとともにプロテクタとして称される記憶媒体をユーザに提供し、情報処理装置にてソフトウェアを実行する際、ユーザはプロテクタを情報処理装置に接続する。情報処理装置は、ソフトウェアの実行が指令されるとプロテクタの記憶情報（ＩＤコード）を読み込み、この記憶情報の正当性を判定し、正当であると判定されたときのみ当該ソフトウェアの実行を許可する。プロテクタが接続されていない場合、あるいは記憶情報が正当でないと判定されたときには、当該ソフトウェアの実行は許可されない。（例えば、特許文献１参照）
ところで、複数の情報処理装置をネットワークで接続し、そのうちの１台をサーバとして使用し、残りをクライアントとして使用して、サーバ・クライアントシステムを構築する場合がある。このようなシステムにおいても、各情報処理装置にそれぞれプロテクタを接続することによって、ソフトウェアのライセンス管理を確実に実現することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般に、サーバ・クライアントシステムにおいて、サーバとして使用される情報処理装置にインストールされるサーバ用ソフトウェアと、クライアントとして使用される情報処理装置にインストールされるクライアント用ソフトウェアとは異なる。このため、サーバとして使用していた情報処理装置が故障したためにクライアントとして使用している情報処理装置のうちの１台を一時的にサーバとして代替することがあるが、このような場合、代替用の情報処理装置では、クライアント用ソフトウェアのアンインストールを行った後、サーバ用ソフトウェアをインストールしなければならず、復旧作業に時間を要する。
【０００５】
そこで、サーバ用ソフトウェアとクライアント用ソフトウェアとを共通にすることが考えられる。ソフトウェアを共通にすることによって、クライアントをサーバとして代替する場合もソフトウェアのアンインストールやインストールが不要となるため、復旧に要する時間が大幅に短縮される。しかしながら、ソフトウェアを共通にした場合には、そのソフトウェアに対するプロテクタも共通となるため、サーバ用ソフトウェアとクライアント用ソフトウェアとのライセンス管理を別々に行えないという問題が生じる。
【０００６】
本発明はこのような事情に基づいてなされたもので、その目的とするところは、サーバ用ソフトウェアとクライアント用ソフトウェアとを共通にしても、サーバ用ソフトウェアとクライアント用ソフトウェアとのライセンス管理を適切に行うことができるサーバ・クライアントシステム及びこのシステムに用いられる情報処理装置並びにこの装置にインストールされるソフトウェアの管理プログラムを提供しようとするものである。
【課題を解決するための手段】
【０００７】
本発明は、複数台の情報処理装置をネットワークで接続し、各情報処理装置のうち１台をサーバとして使用し、残りをクライアントとして使用するサーバ・クライアントシステムにおいて、情報処理装置にて実行されるソフトウェアのライセンスを保護する識別情報を記憶してなる記憶媒体として、サーバとしての識別情報を記憶してなるサーバ用記憶媒体とクライアントとしての識別情報を記憶してなるクライアント用記憶媒体とを用意する。そして各情報処理装置は、記憶媒体を着脱自在に接続する媒体接続部と、この媒体接続部に接続された記憶媒体から前記識別情報を読込む読込手段と、この読込手段により読込んだ識別情報がサーバとしての識別情報であるかクライアントとしての識別情報であるかを判定する判定手段と、この判定手段によりサーバとしての識別情報であると判定されるとサーバとしてのソフトウェアの実行を許可し、クライアントとしての識別情報であると判定されるとクライアントとしてのソフトウェアの実行を許可する制御手段とを備えたものである。
【発明の効果】
【０００８】
かかる手段を講じた本発明によれば、サーバ用ソフトウェアとクライアント用ソフトウェアとを共通にしても、サーバ用ソフトウェアとクライアント用ソフトウェアとのライセンス管理を適切に行うことができる効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態であるサーバ・クライアントシステムの全体構成図。
【図２】同実施形態において、サーバまたはクライアントとして用いられる情報処理装置の要部構成を示すブロック図。
【図３】同実施形態において、ソフトウェアのライセンスを保護する識別情報を記憶してなる記憶媒体として用いられるプロテクタの要部構成を示すブロック図。
【図４】同実施形態において、情報処理装置に実装されるソフトウェアの概念図。
【図５】同実施形態において、情報処理装置のＣＰＵが実行するメイン処理の手順を示す流れ図。
【図６】同実施形態において、情報処理装置のＣＰＵが実行する問合せ割込処理の手順を示す流れ図。
【発明を実施するための形態】
【００１０】
以下、本発明の一実施形態を、図面を用いて説明する。  
図１は、本実施形態に係るサーバ・クライアントシステムの構成図である。本システムは、１台のサーバ１と、複数台のクライアント２とからなる。サーバ１と各クライアント２とは、ＬＡＮ（Local Area Network）等のネットワーク３によって双方向通信自在に接続されている。サーバ１及びクライアント２には、いずれもパーソナルコンピュータ等の情報処理装置４が適用されている。
【００１１】
情報処理装置４は、図２に示すように、制御部本体としてのＣＰＵ（Central Processing Unit）１１、主記憶としてのＲＯＭ（Read Only Memory）１２及びＲＡＭ（Random Access Memory）１３、補助記憶としてのＨＤＤ（Hard Disk Drive）装置１４の他、キーボードコントローラ１５、表示コントローラ１６、ネットワークインターフェース１７及び複数のデバイスインターフェース１８，１９を備えている。そしてＣＰＵ１１と、ＲＯＭ１２、ＲＡＭ１３、ＨＤＤ装置１４、キーボードコントローラ１５、表示コントローラ１６、ネットワークインターフェース１７及び各デバイスインターフェース１８，１９とを、アドレスバス，データバス等のバスライン２０で接続している。
【００１２】
キーボードコントローラ１５は、図示しないキーボードからの操作キーに対応した信号を取り込み、処理する。表示コントローラ１６は、図示しないディスプレイに対する画面表示を制御する。ネットワークインターフェース１７は、ネットワーク３を介して接続される他の情報処理装置４との間で行うデータ通信を司る。デバイスインターフェース１８，１９は、選択的に接続されるプリンタ、メモリカード、マウス等の各種デバイスとの間で行うデータ通信を司る。そして本実施形態では、いずれかのデバイスインターフェース（図２ではデバイスインターフェース１９）に、ソフトウェアのライセンス管理用プロテクタ（以下、単にプロテクタと称する）３０を着脱自在に接続する。ここに、デバイスインターフェース１８，１９は、媒体接続部として機能する。
【００１３】
上記プロテクタ３０は、図３に示すように、デバイスインターフェース１８，１９に接続可能なインターフェース用コネクタ３１と、フラッシュメモリ３２と、このメモリ３２に記憶されたデータの読出機能を備えた制御部３３とを備えている。そしてメモリ３２には、ライセンス管理対象のソフトウェアを識別するための識別情報としてプロテクトＩＤを記憶している。
【００１４】
情報処理装置４のソフトウェア構造を、図４を用いて概念的に説明すると、情報処理装置４は、基本プログラムとしてＯＳ（Operating System）４１を実装し、さらにこのＯＳ４１の管理下で動作するソフトウェアとして、ミドルウェア４２とアプリケーションプログラム４３とを実装している。因みに、これらのソフトウェア（ＯＳ４１、ミドルウェア４２、アプリケーションプログラム４３）は、ＲＯＭ１２またはＨＤＤ装置１４に保存している。
【００１５】
アプリケーションプログラム４３は、業務別の複数のプログラムファイルによって構成される。本実施形態では、サーバ１としての情報処理装置４に用いられるサーバ用ソフトウェアや、クライアント２としての情報処理装置４に用いられるクライアント用ソフトウェアを含め、各情報処理装置４に実装されるアプリケーションプログラム４３を共通にしている。
【００１６】
ただし、このソフトウェア（アプリケーションプログラム４３）のライセンスを管理するプロテクタ３０については、サーバであることを識別するプロテクトＩＤ（本実施形態では“SERVER”とする）をメモリ３２に記憶したサーバ用プロテクタ３０Ｓと、クライアントであることを識別するプロテクトＩＤ（本実施形態では“CLIENT”とする）をメモリ３２に記憶したクライアント用プロテクタ３０Ｃとがある。
【００１７】
ミドルウェア４２は、上記サーバ用プロテクタ３０Ｓまたはクライアント用プロテクタ３０Ｃによってアプリケーションプログラム４３のライセンス管理を情報処理装置４に実現させるためのソフトウェア管理プログラムである。具体的には、当該情報処理装置４を、プロテクトＩＤ読込部（読込手段）５１、プロテクトＩＤ判定部（判定手段）５２、プロテクトＩＤ通信部５３及びアプリケーション実行部（制御手段）５４として機能させる。
【００１８】
かかる構成の情報処理装置４は、図示しない電源スイッチの投入又はリセットボタンの投入により起動すると、ＣＰＵ１１が、図６の流れ図に示す手順のメイン処理を実行する。先ず、ＣＰＵ１１は、メモリクリア等の初期化処理１３を実行する（ＳＴ１）。そして、初期化処理が終了したならば、例えばディスプレイにメニュー画面を表示させて、機能（メニュー）の選択を受け付ける（ＳＴ２）。
【００１９】
上記メニュー画面には、サーバ業務用のメニューとクライアント業務用のメニューとが選択可能に表示されている。そこでユーザは、キーボード等の入力デバイスを操作して所望のメニューを選択しその実行を指令する操作を行う。あるいは、終了を指令する操作を行う。
【００２０】
メニュー画面を表示させたＣＰＵ１１は、選択機能を判定する（ＳＴ３）。いずれかの業務メニューが選択されその実行が指令された場合には、アプリケーションの実行と判定する。その場合、ＣＰＵ１１は、デバイスインターフェース１８，１９にプロテクタ３０が接続されているか確認する（ＳＴ４）。プロテクタ３０が接続されている場合（ＳＴ４のＹＥＳ）、ＣＰＵ１１は、ミドルウェア４２のプロテクトＩＤ読込部５１及びプロテクトＩＤ判定部５２を動作させる。すなわち、いずれかのデバイスインターフェース１８，１９に接続されたプロテクタ３０のメモリ３２からプロテクトＩＤを読み込ませ、このプロテクトＩＤが“SERVER”であるか“CLIENT”であるかを判定させる（ＳＴ５）。
【００２１】
プロテクトＩＤが“SERVER”であった場合、ＣＰＵ１１は、ミドルウェア４２のアプリケーション実行部５４を動作させる。すなわち、選択された業務メニューに該当するプログラムファイルのアプリケーションソフトウェアを実行させる（ＳＴ８）。当該アプリケーションソフトウェアが終了すると、ＣＰＵ１１は、ディスプレイにメニュー画面を表示させて、次の機能選択を受け付ける（ＳＴ２）。
【００２２】
一方、プロテクトＩＤが“CLIENT”であった場合、ＣＰＵ１１は、ミドルウェア４２のプロテクトＩＤ通信部５３を動作させる。すなわち、ネットワーク３を介して接続される他の情報処理装置４に対して、サーバライセンスの問合せを行う（ＳＴ６）。
【００２３】
この問合せを受けた情報処理装置４のＣＰＵ１１は、図６に示す手順の割込処理を実行する。先ず、デバイスインターフェース１８，１９にプロテクタ３０が接続されているか確認する（ＳＴ２１）。プロテクタ３０が接続されている場合（ＳＴ２１のＹＥＳ）、ＣＰＵ１１は、ミドルウェア４２のプロテクトＩＤ読込部５１及びプロテクトＩＤ判定部５２を動作させる。すなわち、いずれかのデバイスインターフェース１８，１９に接続されたプロテクタ３０のメモリ３２からプロテクトＩＤを読み込ませ、このプロテクトＩＤが“SERVER”であるか“CLIENT”であるかを判定させる（ＳＴ２２）。
【００２４】
プロテクトＩＤが“SERVER”であった場合、ＣＰＵ１１は、ミドルウェア４２のプロテクトＩＤ通信部５３を動作させる。すなわち、問合せのあった他の情報処理装置４に対して許可応答信号を返信する（ＳＴ２３：応答手段）。これに対し、プロテクタ３０が接続されていない場合（ＳＴ２１のＮＯ）、あるいはプロテクトＩＤが“CLIENT”であった場合には、ＣＰＵ１１は、何も処理をしない。
【００２５】
したがって、サーバライセンスの問合せを行った情報処理装置４以外の他の情報処理装置４のなかに、サーバ用プロテクタ３０Ｓを接続してなるものが１台存在していた場合には、問合せを行った情報処理装置４に対して許諾応答が返信されるが、１台も存在しない場合には許諾応答波返信されない。
【００２６】
サーバライセンスの問合せを行った情報処理装置４のＣＰＵ１１は、他の情報処理装置４からの応答を待機する（ＳＴ７）。所定の時間内に、ネットワークインターフェース１７を介して許諾応答信号を受信したならば（ＳＴ７のＹＥＳ）、ＣＰＵ１１は、ミドルウェア４２のアプリケーション実行部５４を動作させる。すなわち、選択されたメニューに該当するプログラムファイルのアプリケーションソフトウェアを実行させる（ＳＴ８）。当該アプリケーションソフトウェアが終了すると、ＣＰＵ１１は、ディスプレイにメニュー画面を表示させて、次の機能選択を受け付ける（ＳＴ２）。
【００２７】
これに対し、所定時間が経過しても許諾応答を受信できなかった場合（ＳＴ７のＮＯ）、あるいは、デバイスインターフェース１８，１９にプロテクタ３０が接続されていなかった場合（ＳＴ４のＮＯ）、ＣＰＵ１１は、ディスプレイに所定のエラー画面を表示させる（ＳＴ９）。そして、エラー解除操作が行われるのを待機し（ＳＴ１０）、キーボード等の入力デバイスを介してエラー解除操作が行われたならば（ＳＴ１０のＹＥＳ）、ＣＰＵ１１は、上記エラー画面を消去する（ＳＴ１１）。そして、ディスプレイにメニュー画面を表示させて、次の機能選択を受け付ける（ＳＴ２）。
【００２８】
しかして、機能選択受付時において、終了を指令する操作が行われた場合には、ＣＰＵ１１は、終了処理を実行して（ＳＴ１２）、今回の処理を終了する。
【００２９】
このように、本実施形態のサーバ・クライアントシステムにおいては、サーバ１として機能させる情報処理装置４と、各クライアント２として機能させる情報処理装置４とにそれぞれ実装されるソフトウェア（サーバ用ソフトウェアとクライアント用ソフトウェア）を共通にしている。ただし、このソフトウェアのライセンスを保護するためのプロテクタ３０に関しては、サーバであることを識別するプロテクトＩＤ “SERVER”を記憶したサーバ用プロテクタ３０Ｓと、クライアントであることを識別するプロテクトＩＤ “CLIENT”を記憶したクライアント用プロテクタ３０Ｃの２種類を用意している。そしてユーザは、サーバ１として機能させる１台の情報処理装置４に対してはサーバ用プロテクタ３０Ｓを接続し、クライアント２として機能させる他の情報処理装置４に対してはクライアント用プロテクタ３０ｂを接続する。
【００３０】
こうすることにより、サーバ用プロテクタ３０Ｓが接続されている情報処理装置４において、サーバ業務用のメニューが選択されると、当該情報処理装置４は、図５のＳＴ４，ＳＴ５，ＳＴ８の順で動作する。すなわち、サーバとしての業務メニューのアプリケーションソフトウェアが実行される。
【００３１】
また、クライアント用プロテクタ３０Ｃが接続されている情報処理装置４において、クライアント業務用のメニューが選択されると、当該情報処理装置４は、図５のＳＴ４，ＳＴ５，ＳＴ６の順で動作する。すなわち、ネットワーク３を介して接続された他の情報処理装置４に対してサーバライセンスの問合せが行われる。
【００３２】
この問い合わせに対し、サーバ用プロテクタ３０Ｓが接続されている情報処理装置４は、図６のＳＴ２１，ＳＴ２２，ＳＴ２３の順で動作する。すなわち、問合せ元の情報処理装置４に対して許可応答が返信される。そして、この許可応答を受信した情報処理装置４は、図５のＳＴ７，ＳＴ８の順で動作する。すなわち、クライアントとしての業務メニューのアプリケーションソフトウェアが実行される。
【００３３】
このように、サーバ用ソフトウェアとクライアント用ソフトウェアとを共通にしても、２種類のプロテクタ３０Ｓ，３０Ｃを使い分けることによって、サーバ用ソフトウェアとクライアント用ソフトウェアとのライセンス管理を適切に行うことができる。
【００３４】
ところで、サーバとして機能させていた情報処理装置４に故障が発生した場合は、クライアントとして機能させているいずれかの情報処理装置４をサーバとして機能させる必要がある。このような場合、本実施形態では、新たにサーバとして機能させる情報処理装置４からクライアント用プロテクタ３０Ｃを外し、故障した情報処理装置から外したサーバ用プロテクタ３０Ｓを新たに接続する。それだけで、当該情報処理装置４においては、サーバとしての業務メニューのアプリケーションソフトウェアの実行が可能となる。また、他の情報処理装置４においても、ネットワーク上にサーバ用プロテクタ３０Ｓを接続してなる情報処理装置が存在するので、クライアントとしての業務メニューのアプリケーションソフトウェアの実行が可能である。したがって、ソフトウェアのアンインストールやインストールが不要であるので、サーバの故障に対して手間なく短時間の間にシステムを復旧させることができる。
【００３５】
なお、この実施形態では、ソフトウェア管理用プログラムを、情報処理装置４の内部記憶装置（ＨＤＤ装置１４またはＲＯＭ１２）に予め記憶しているものとして説明したが、これに限らず同様のプログラムをネットワークから装置にダウンロードしても良いし、記録媒体に記憶させたものを装置にインストールしてもよい。記録媒体としては、ＣＤ−ＲＯＭ等プログラムを記憶でき、かつ装置が読み取り可能な記録媒体であれば、その形態は何れの形態であっても良い。またこのように予めインストールやダウンロードにより得る機能は装置内部のＯＳ等と協働してその機能を実現させるものであってもよい。
【００３６】
この他、前記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を組合わせてもよい。
【符号の説明】
【００３７】
１…サーバ、２…クライアント、３…ネットワーク、４…情報処理装置、１１…ＣＰＵ、３０…プロテクタ、５１…プロテクトＩＤ読込部、５２…プロテクトＩＤ判定部、５３…プロテクトＩＤ通信部、５４…アプリケーション実行部。
【先行技術文献】
【特許文献】
【００３８】
【特許文献１】特開２００８−１４０１７５号公報
【図１】
2011028326.tif 000003
【図２】
2011028326.tif 000004
【図３】
2011028326.tif 000005
【図４】
2011028326.tif 000006
【図５】
2011028326.tif 000007
【図６】
2011028326.tif 000008