(57)【要約】【課題】ライセンス認証に用いる外部サーバの機能を簡略化すること。【解決手段】情報処理装置１００は、プログラムの起動操作を受け付けると、プログラムのライセンス情報と、該ライセンス情報の記憶エリア情報とを該プログラムに対応付けて記憶する記憶装置７０を参照して、起動操作を受け付けたプログラムに対応付けられた、記憶エリア情報とライセンス情報とを特定する。情報処理装置１００は、特定した記憶エリア情報に応じた記憶エリアに、特定したライセンス情報が情報処理装置１００に対応付けて記憶されているか否かを判定する。情報処理装置１００は、ライセンス情報が情報処理装置に対応付けて記憶されていない場合には、起動操作に応じたプログラムの起動処理を抑制する。【選択図】図１
2017126261.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置にインストールされたプログラムのライセンス認証方法において、
前記プログラムの起動操作を受け付けると、プログラムのライセンス情報と、該ライセンス情報の記憶エリア情報とを該プログラムに対応付けて記憶する記憶部を参照して、起動操作を受け付けた前記プログラムに対応付けられた記憶エリア情報とライセンス情報とを特定し、
特定した前記記憶エリア情報に応じた記憶エリアに、特定した前記ライセンス情報が前記情報処理装置に対応付けて記憶されているか否かを判定し、
前記ライセンス情報が前記情報処理装置に対応付けて記憶されていない場合には、前記起動操作に応じた前記プログラムの起動処理を抑制する、
処理をコンピュータが実行することを特徴とするライセンス認証方法。
【請求項２】
情報処理装置にインストールされたプログラムのライセンス認証方法において、
前記プログラムの起動操作を受け付けると、プログラムのライセンス情報と、該ライセンス情報の記憶エリア情報とを該プログラムに対応付けて記憶する記憶部を参照して、起動操作を受け付けた前記プログラムに対応付けられた、記憶エリア情報とライセンス情報とを特定し、
特定した前記記憶エリア情報に応じた記憶エリアに、特定した前記ライセンス情報が記憶されているか否かを判定し、
前記ライセンス情報が記憶されていない場合には、前記記憶エリアに前記ライセンス情報を前記情報処理装置に対応付けて記憶した後に、前記起動操作に応じた前記プログラムの起動処理を実行する
処理をコンピュータが実行することを特徴とするライセンス認証方法。
【請求項３】
前記記憶エリア情報に応じた記憶エリアに、特定した前記ライセンス情報が記憶されており、かつ、前記ライセンス情報が前記情報処理装置に対応付けて記憶されている場合には、前記起動操作に応じた前記プログラムの起動処理を実行することを特徴とする請求項１または２に記載のライセンス認証方法。
【請求項４】
前記プログラムの終了操作を受け付けた場合に、前記記憶エリア情報に応じた記憶エリアに記憶された、前記情報処理装置に対応付けられた前記ライセンス情報を削除することを特徴とする請求項１〜３のいずれか一つに記載のライセンス認証方法。
【請求項５】
コンピュータに、
インストールされたプログラムの起動操作を受け付けると、プログラムのライセンス情報と、該ライセンス情報の記憶エリア情報とを該プログラムに対応付けて記憶する記憶部を参照して、起動操作を受け付けた前記プログラムに対応付けられた記憶エリア情報とライセンス情報とを特定し、
特定した前記記憶エリア情報に応じた記憶エリアに、特定した前記ライセンス情報が前記コンピュータに対応付けて記憶されているか否かを判定し、
前記ライセンス情報が前記コンピュータに対応付けて記憶されていない場合には、前記起動操作に応じた前記プログラムの起動処理を抑制する、
処理を実行させることを特徴とするライセンス認証プログラム。
【請求項６】
コンピュータに、
インストールされたプログラムの起動操作を受け付けると、プログラムのライセンス情報と、該ライセンス情報の記憶エリア情報とを該プログラムに対応付けて記憶する記憶部を参照して、起動操作を受け付けた前記プログラムに対応付けられた、記憶エリア情報とライセンス情報とを特定し、
特定した前記記憶エリア情報に応じた記憶エリアに、特定した前記ライセンス情報が記憶されているか否かを判定し、
前記ライセンス情報が記憶されていない場合には、前記記憶エリアに前記ライセンス情報を前記コンピュータに対応付けて記憶した後に、前記起動操作に応じた前記プログラムの起動処理を実行する
処理を実行させることを特徴とするライセンス認証プログラム。
【請求項７】
インストールされたプログラムの起動操作を受け付けると、プログラムのライセンス情報と、該ライセンス情報の記憶エリア情報とを該プログラムに対応付けて記憶する記憶部を参照して、起動操作を受け付けた前記プログラムに対応付けられた記憶エリア情報とライセンス情報とを特定する特定部と、
前記記憶エリア情報に応じた記憶エリアに、特定した前記ライセンス情報が前記コンピュータに対応付けて記憶されているか否かを判定し、前記ライセンス情報が前記コンピュータに対応付けて記憶されていない場合には、前記起動操作に応じた前記プログラムの起動処理を抑制する起動制御部と
を有することを特徴とする情報処理装置。
【請求項８】
インストールされたプログラムの起動操作を受け付けると、プログラムのライセンス情報と、該ライセンス情報の記憶エリア情報とを該プログラムに対応付けて記憶する記憶部を参照して、起動操作を受け付けた前記プログラムに対応付けられた、記憶エリア情報とライセンス情報とを特定する特定部と、
前記記憶エリア情報に応じた記憶エリアに、特定した前記ライセンス情報が記憶されているか否かを判定し、前記ライセンス情報が記憶されていない場合には、前記記憶エリアに前記ライセンス情報を自情報処理装置に対応付けて記憶した後に、前記起動操作に応じた前記プログラムの起動処理を実行する起動制御部と
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ライセンス認証方法等に関する。
【背景技術】
【０００２】
プログラムのライセンス認証を行う方式として、スタンドアロン方式がある。一例として、スタンドアロン方式の従来技術１、２について説明する。
【０００３】
図８は、従来技術１を説明するための図である。従来技術１では、サポートセンター１０ａが、エンドユーザ１０ｂに対してライセンスキー５を発行する。エンドユーザ１０ｂは、ライセンスキー５を端末装置１０ｃに入力し、端末装置１０ｃは、入力されたライセンス５に基づいて、プログラムの起動を許容する。
【０００４】
従来技術１では、端末装置単独で、ライセンス認証を行うものであるため、ライセンスキーが複製されると、不正をチェックすることができない。例えば、不正にコピーしたライセンスキー５を端末装置１０ｄに入力した場合に、端末装置１０ｄは、他の端末装置１０ｃで同一のライセンスキー５が用いられていることを判定できず、プログラムの起動を許容してしまう。
【０００５】
図９は、従来技術２を説明するための図である。従来技術２では、エンドユーザ２０ｂが、端末装置２０ｃのＭＡＣ（Media  Access  Control）アドレス６ａをサポートセンター２０ｂに送信する。サポートセンター２０ｂでは、ＭＡＣアドレス６ａを基にして、ライセンスキー６ａを生成し、エンドユーザ２０ｂにライセンスキー６ａを発行する。エンドユーザ２０ｂは、ライセンスキー６ｂを端末装置２０ｃに入力し、端末装置２０ｃは、入力されたライセンスキー６ｂに基づいて、プログラムの起動を許容する。
【０００６】
ここで、悪意のあるエンドユーザ２０ｂが、端末装置２０ｃの故障を理由にして、端末装置２０ｄのＭＡＣアドレスを、サポートセンター２０ａに送信して、ライセンスキーの再発行を依頼する場合がある。サポートセンター２０ａは、本当に端末装置２０ｃが故障しているかを判断できないので、ＭＡＣアドレス７ａを基にして、ライセンスキー７ｂを生成し、エンドユーザ２０ｂにライセンスキー７ａを発行することになる。これにより、悪意のあるエンドユーザ２０ｂは、端末装置２０ｃ，２０ｄの双方でプログラムを起動できてしまう。
【０００７】
スタンドアロン方式の問題点を解消するものとして、ネットワークライセンス方式がある。図１０は、ネットワークライセンス方式の従来技術を説明するための図である。図１０に示す例では、システム３０ａ，３０ｂと、ライセンスサーバ３５とが含まれる。システム３０ａ，３０ｂは、所定のプログラムを起動する場合に、ラインセンスサーバ３５とデータ通信を行う。システム３０ａ，３０ｂは、ライセンスサーバ３５に、プログラムを起動することを許容された場合に、プログラムを起動する。
【０００８】
例えば、ライセンスサーバ３５は、システム３０ａ，３０ｂから通知されるＵＳＢ（Universal  Serial  Bus）のハードウェア情報や、ＭＡＣアドレス等に基づいて、プログラムの起動を許容するか否かを判定する。このように、ネットワーク上のライセンスサーバ３５を設けることで、不正にライセンスキーを複製することや、虚偽の故障を理由にしたライセンスキーを再発行することを防止することができる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１１−１００２２７号公報
【特許文献２】特開２０１１−６０２４１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述した従来技術では、ライセンス認証に用いる外部サーバの機能を簡略化することができないという問題がある。
【００１１】
例えば、上記のネットワークライセンス方式では、認証対象となるシステムが起動される度に、システムとデータ通信を行うため、システムの数が多くなると、ライセンスサーバ３５の負荷や、ライセンスを認証するための処理が複雑になる場合がある。
【００１２】
１つの側面では、本発明は、ライセンス認証に用いる外部サーバの機能を簡略化することができるライセンス認証方法、ライセンス認証プログラムおよび情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
第１の案では、コンピュータが下記の処理を実行する。コンピュータは、プログラムの起動操作を受け付けると、プログラムのライセンス情報と、該ライセンス情報の記憶エリア情報とを該プログラムに対応付けて記憶する記憶部を参照する。コンピュータは、起動操作を受け付けたプログラムに対応付けられた、記憶エリア情報とライセンス情報とを特定する。コンピュータは、特定した記憶エリア情報に応じた記憶エリアに、特定したライセンス情報が情報処理装置に対応付けて記憶されているか否かを判定する。コンピュータは、ライセンス情報が情報処理装置に対応付けて記憶されていない場合には、起動操作に応じたプログラムの起動処理を抑制する。
【発明の効果】
【００１４】
ライセンス認証に用いる外部サーバの機能を簡略化することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本実施例に係るシステムの構成を示す図である。
【図２】図２は、情報処理装置の起動制御を説明するための図（１）である。
【図３】図３は、情報処理装置の起動制御を説明するための図（２）である。
【図４】図４は、本実施例に係る情報処理装置の一例を示す図である。
【図５】図５は、本実施例に係る情報処理装置の処理手順を示すフローチャート（１）である。
【図６】図６は、本実施例に係る情報処理装置の処理手順を示すフローチャート（２）である。
【図７】図７は、ライセンス認証プログラムを実行するコンピュータの一例を示す図である。
【図８】図８は、従来技術１を説明するための図である。
【図９】図９は、従来技術２を説明するための図である。
【図１０】図１０は、ネットワークライセンス方式の従来技術を説明するための図である。
【発明を実施するための形態】
【００１６】
以下に、本願の開示するライセンス認証方法、ライセンス認証プログラムおよび情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１７】
図１は、本実施例に係るシステムの構成を示す図である。図１に示すように、このシステムは、サーバ６０と、記憶装置７０と、情報処理装置１００ａ，１００ｂ，１００ｃとを有する。サーバ６０と、情報処理装置１００ａ〜１００ｃとは、インターネット等のネットワーク５０を介して相互に接続される。また、情報処理装置１００ａ〜１００ｃと、記憶装置７０とは、有線ＬＡＮ（Local  Area  Network）や無線ＬＡＮ等によって相互に接続される。
【００１８】
ここでは一例として、情報処理装置１００ａ〜１００ｃを示すが、このシステムは、その他の情報処理装置を含んでいても良い。また、情報処理装置１００ａ〜１００ｃは、ネットワーク５０を介して、記憶装置７０に接続されていても良いし、情報処理装置１００ａ〜１００ｃの内いずれかの情報処理装置に、記憶装置７０を配置し、情報処理装置１００ａ〜１００ｃが、この記憶装置７０にアクセスするように設定しても良い。以下の説明では、情報処理装置１００ａ〜１００ｃをまとめて、適宜、情報処理装置１００と表記する。
【００１９】
サーバ６０は、情報処理装置１００にライセンスキーを発行する装置である。例えば、サーバ６０は、ランダムに複数のライセンスキーを生成し、生成したライセンスキーを、情報処理装置１００に発行する。また、サーバ６０は、契約内容に応じて、発行するライセンスキーの種類を調整しても良い。
【００２０】
例えば、サーバ６０は、ｎ台の情報処理装置１００で、プログラムの起動を許容する場合には、ｎ種類のライセンスキーを、各情報処理装置１００に発行する。ｎは自然数である。情報処理装置１００の数が、ｎよりも大きい場合には、一部の情報処理装置１００に、同一のライセンスキーが割り当てられることになる。
【００２１】
記憶装置７０は、認証テーブル７０ａを記憶する記憶部である。認証テーブル７０ａは、情報処理装置１００のホスト名と、情報処理装置１００に発行されたライセンスキーとの組を保持するテーブルである。この認証テーブル７０ａは、後述する情報処理装置１００にアクセスされ、情報処理装置１００が、プログラムの起動を許容するか否かを判定する場合に利用される。
【００２２】
情報処理装置１００は、ユーザからプログラムの起動操作を受け付けた場合に、情報処理装置１００のライセンスキーおよび自情報処理装置１００のホスト名と、認証テーブル７０ａとを基にして、プログラムの起動制御を行う装置である。情報処理装置１００がプログラム起動時にアクセスする、認証テーブル７０ａの位置は、起動対象のプログラムに指定されているものとする。
【００２３】
図２及び図３は、情報処理装置の起動制御を説明するための図である。情報処理装置１００ａ，１００ｂ，１００ｃのホスト名を、それぞれ「情報処理装置１００ａ」、「情報処理装置１００ｂ」、「情報処理装置１００ｃ」とする。
【００２４】
図２について説明する。前提として、サーバ６０は、３種類のライセンスキーを生成する。サーバ６０は、情報処理装置１００ａにライセンスキー「００１」を発行する。サーバ６０は、情報処理装置１００ｂにライセンスキー「００２」を発行する。サーバ６０は、情報処理装置１００ｃにライセンスキー「００３」を発行する。また、初期の段階で、記憶装置７０の認証テーブル７０ａは、ブランクになっているものとする。
【００２５】
情報処理装置１００ａは、プログラムの起動操作を受け付けると、プログラムに指定される記憶装置７０の認証テーブル７０ａにアクセスする。情報処理装置１００ａは、認証テーブル７０ａにライセンスキー「００１」が記憶されていない場合に、ライセンスキー「００１」とホスト名「情報処理装置１００ａ」との組を、認証テーブル７０ａに登録した後、プログラムの起動を許容する。その後、情報処理装置１００ａは、プログラムの終了要求を受け付けると、認証テーブル７０ａからライセンスキー「００１」とホスト名「情報処理装置１００ａ」との組を、削除する。
【００２６】
情報処理装置１００ｂは、プログラムの起動操作を受け付けると、プログラムに指定される記憶装置７０の認証テーブル７０ａにアクセスする。情報処理装置１００ｂは、認証テーブル７０ａにライセンスキー「００２」が記憶されていない場合に、ライセンスキー「００２」とホスト名「情報処理装置１００ｂ」との組を、認証テーブル７０ａに登録した後、プログラムの起動を許容する。その後、情報処理装置１００ｂは、プログラムの終了要求を受け付けると、認証テーブル７０ａからライセンスキー「００２」とホスト名「情報処理装置１００ｂ」との組を、削除する。
【００２７】
情報処理装置１００ｃは、プログラムの起動操作を受け付けると、プログラムに指定される記憶装置７０の認証テーブル７０ａにアクセスする。情報処理装置１００ｃは、認証テーブル７０ａにライセンスキー「００３」が記憶されていない場合に、ライセンスキー「００３」とホスト名「情報処理装置１００ｃ」との組を、認証テーブル７０ａに登録した後、プログラムの起動を許容する。その後、情報処理装置１００ｃは、プログラムの終了要求を受け付けると、認証テーブル７０ａからライセンスキー「００３」とホスト名「情報処理装置１００ｃ」との組を、削除する。
【００２８】
図３について説明する。前提として、サーバ６０は、２種類のライセンスキーを生成する。サーバ６０は、情報処理装置１００ａおよび情報処理装置１００ｂにライセンスキー「００１」を発行する。サーバ６０は、情報処理装置１００ｃにライセンスキー「００２」を発行する。また、初期の段階で、記憶装置７０の認証テーブル７０ａは、ブランクになっているものとする。また、情報処理装置１００ａは、情報処理装置１００ｂよりも先に、プログラムの起動操作を受け付けるものとする。
【００２９】
情報処理装置１００ａは、プログラムの起動操作を受け付けると、プログラムに指定される記憶装置７０の認証テーブル７０ａにアクセスする。情報処理装置１００ａは、認証テーブル７０ａにライセンスキー「００１」が記憶されていない場合に、ライセンスキー「００１」とホスト名「情報処理装置１００ａ」との組を、認証テーブル７０ａに登録した後、プログラムの起動を許容する。その後、情報処理装置１００ａは、プログラムの終了要求を受け付けると、認証テーブル７０ａからライセンスキー「００１」とホスト名「情報処理装置１００ａ」との組を、削除する。
【００３０】
情報処理装置１００ｂは、プログラムの起動操作を受け付けると、プログラムに指定される記憶装置７０の認証テーブル７０ａにアクセスする。ここで、情報処理装置１００ａでプログラムが起動している間は、認証テーブル７０ａには、ライセンスキー「００１」およびホスト名「情報処理装置１００ａ」の組が登録されている。情報処理装置１００ｂは、認証テーブル７０ａにライセンスキー「００１」が記憶されており、かつ、ライセンスキー「００１」に対応するホスト名「情報処理装置１００ａ」が、自ホスト名「情報処理装置１００ｂ」と異なるため、起動操作を受け付けたプログラムを実行しない。
【００３１】
情報処理装置１００ｃは、プログラムの起動操作を受け付けると、プログラムに指定される記憶装置７０の認証テーブル７０ａにアクセスする。情報処理装置１００ｃは、認証テーブル７０ａにライセンスキー「００３」が記憶されていない場合に、ライセンスキー「００３」とホスト名「情報処理装置１００ｃ」との組を、認証テーブル７０ａに登録した後、プログラムの起動を許容する。その後、情報処理装置１００ｃは、プログラムの終了要求を受け付けると、認証テーブル７０ａからライセンスキー「００２」とホスト名「情報処理装置１００ｃ」との組を、削除する。
【００３２】
続いて、図３を用いて、情報処理装置１００の例外的処理の一例について説明する。情報処理装置１００ａが、上記処理により、プログラムを起動して、ライセンスキー「００１」およびホスト名「情報処理装置１００ａ」を登録した後に、２重起動操作を受け付けた場合について説明する。２重起動操作は、起動中のプログラムを終了する前に、再度の起動操作を行うものである。この場合には、記憶装置７０の認証テーブル７０ａに、ライセンスキー「００１」およびホスト名「情報処理装置１００ａ」が、残ったままとなる。
【００３３】
ここで、情報処理装置１００ａは、プログラムの２重起動操作を受け付けると、プログラムに指定される記憶装置７０の認証テーブル７０ａにアクセスする。認証テーブル７０ａには、ライセンスキー「００１」およびホスト名「情報処理装置１００ａ」の組が登録されている。情報処理装置１００ａは、認証テーブル７０ａにライセンスキー「００１」が記憶されており、かつ、ライセンスキー「００１」に対応するホスト名「情報処理装置１００ａ」が、自ホスト名「情報処理装置１００ａ」と同じである場合には、２重起動操作を受け付けたプログラムを起動させる。その後、情報処理装置１００ａは、プログラムの終了要求を受け付けると、認証テーブル７０ａからライセンスキー「００１」とホスト名「情報処理装置１００ａ」との組を、削除する。
【００３４】
次に、図１〜３に示した情報処理装置１００ａの構成の一例について説明する。情報処理装置１００ｂ，１００ｃの構成は、情報処理装置１００ａと同様であるため、説明を省略する。図４は、本実施例に係る情報処理装置の一例を示す図である。
【００３５】
図４に示すように、この情報処理装置１００ａは、通信部１１０と、入力部１２０と、表示部１３０と、記憶部１４０と、制御部１５０とを有する。
【００３６】
通信部１１０は、ネットワーク５０を介して、サーバ６０とデータ通信を実行する処理部である。また、通信部１１０は、有線ＬＡＮまたは無線ＬＡＮを介して、情報処理装置１００ｂ，１００ｃ、記憶装置７０とデータ通信を実行する。通信部１１０は、通信装置に対応する。後述する制御部１５０は、通信部１１０を介して、サーバ６０、記憶装置７０とデータ通信を実行する。
【００３７】
入力部１２０は、各種の情報を情報処理装置１００ａに入力するための入力装置である。入力部１２０は、キーボードやマウス、タッチパネル等に対応する。例えば、ユーザは、入力部１２０を操作して、プログラムの起動操作を行う。
【００３８】
表示部１２０は、制御部１５０から出力される情報を表示する表示装置である。表示部１３０は、ディスプレイやタッチパネル等に対応する。
【００３９】
記憶部１４０は、実行プログラム１４０ａと、アクセス場所定義ファイル１４０ｂと、ライセンスキー１４０ｃと、ホスト名情報１４０ｄとを有する。なお、アクセス場所定義ファイル１４０ｂは、実行プログラム１４０ａに含まれていても良い。例えば、記憶部１４０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。
【００４０】
実行プログラム１４０ａは、起動対象となるプログラムである。実行プログラム１４０ａは、後述する制御部１５０により読み出されて、起動される。
【００４１】
アクセス場所定義ファイル１４０ｂは、記憶装置７０に格納される認証テーブル７０ａの位置を示す情報である。
【００４２】
ライセンスキー１４０ｃは、サーバ６０から発行されるライセンスキーの情報である。
【００４３】
ホスト名情報１４０ｄは、情報処理装置１００ａのホスト名の情報である。
【００４４】
制御部１５０は、取得部１５０ａと、特定部１５０ｂと、起動制御部１５０ｃとを有する。制御部１５０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）や、ＦＰＧＡ（Field  Programmable  Gate  Array）などの集積装置に対応する。また、制御部１６０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等の電子回路に対応する。
【００４５】
取得部１５０ａは、各種の情報を取得し、取得した情報を記憶部１４０に格納する処理部である。例えば、取得部１５０ａは、サーバ６０からライセンスキー１４０ｃを取得した場合には、取得したライセンスキー１４０ｃを記憶部１４０に格納する。
【００４６】
特定部１５０ｂは、実行プログラム１４０ａの起動操作を受け付けた場合に、アクセス場所定義ファイル１４０ｂを参照して、認証テーブル７０ａの位置を特定する処理部である。特定部１５０ｂは、特定した認証テーブル７０ａの位置を起動制御部１５０ｃに出力する。
【００４７】
起動制御部１５０ｃは、認証テーブル７０ａと、ライセンスキー１４０ｃおよびホスト名情報１４０ｄとを基にして、実行プログラム１４０ａを起動するか否かを判定する処理部である。起動制御部１５０ｃは、実行プログラム１４０ａを起動すると判定した場合には、実行プログラム１４０ａを読み出して、起動させる。以下において、起動制御部１５０ｃの処理の一例について説明する。
【００４８】
起動制御部１５０ｃは、特定部１５０ｂから受け付けた認証テーブル７０ａの位置を基にして、認証テーブル７０ａにアクセスする。起動制御部１５０ｃは、認証テーブル７０ａとライセンスキー１４０ｃとを比較して、ライセンスキー１４０ｃと同一のライセンスキーが、認証テーブル７０ａに格納されているか否かを判定する。
【００４９】
起動制御部１５０ｃのライセンスキー１４０ｃと同一のライセンスキーが、認証テーブル７０ａに格納されていない場合の処理について説明する。起動制御部１５０ｃは、認証テーブル７０ａに、ライセンスキー１４０ｃと、ホスト名との組を、認証テーブル７０ａに格納した後に、実行プログラム１４０ａを読み出して起動させる。起動制御部１５０ｃは、ホスト名の情報を、ホスト名情報１４０ｄから取得する。
【００５０】
続いて、起動制御部１５０ｃのライセンスキー１４０ｃと同一のライセンスが、認証テーブル７０ａに格納されている場合の処理について説明する。起動制御部１５０ｃは、認証テーブル７０ａに格納されたライセンスキー１４０ｃと同一のライセンスキーに対応付けられたホスト名が、ホスト名情報１４０ｄと同一であるか否かを判定する。起動制御部１５０ｃは、ホスト名が、ホスト名情報１４０ｄと同一である場合には、実行プログラム１４０ａを読み出して起動させる。
【００５１】
これに対して、起動制御部１５０ｃは、ホスト名が、ホスト名情報１４０ｄと異なる場合には、実行プログラム１４０ａを起動しない。起動制御部１５０ｃは、実行プログラム１４０ａを起動しない場合には、エラー等を表示部１３０に表示させる。
【００５２】
続いて、起動制御部１５０ｃが、起動中の実行プログラム１４０ａに対する終了操作を受け付けた場合の処理について説明する。起動制御部１５０ｃは、認証テーブル７０ａにアクセスし、ライセンスキー１４０ｃと、ホスト名情報１４０ｄのホスト名との組を検索する。起動制御部１５０ｃは、検索したライセンスキー１４０ｃとホスト名との組のレコードを認証テーブル７０ａから削除する。
【００５３】
なお、起動制御部１５０ｃは、上記処理において、特定部１５０ｂが特定した場所に、認証テーブル７０ａが存在しない場合には、実行プログラム１４０ａを起動しない。また、起動制御部１５０ｃは、記憶部１４０にライセンスキー１４０ｃが存在しない場合には、実行プログラム１４０ａを起動しない。起動制御部１５０ｃは、実行プログラム１４０ａを起動しない場合には、エラー等を表示部１３０に表示させる。
【００５４】
次に、本実施例に係る情報処理装置１００の処理手順の一例について説明する。図５及び図６は、本実施例に係る情報処理装置の処理手順を示すフローチャートである。図５に示すように、情報処理装置１００の特定部１５０ｂは、アクセス場所定義ファイル１４０ｂを検索する（ステップＳ１０１）。
【００５５】
特定部１５０ｂは、アクセス場所定義ファイル１４０ｂが有る場合には（ステップＳ１０２，Ｙｅｓ）、ステップＳ１０３に移行する。一方、特定部１５０ｂは、アクセス場所定義ファイル１４０ｂが無い場合には（ステップＳ１０２，Ｎｏ）、ステップＳ１１２に移行する。
【００５６】
特定部１５０ｂは、アクセス場所定義ファイル１４０ｂに基づいて、アクセス場所を特定する（ステップＳ１０３）。情報処理装置１００の起動制御部１５０ｃは、アクセス場所に認証テーブル７０ａが有るか否かを判定する（ステップＳ１０４）。起動制御部１５０ｃは、アクセス場所に認証テーブル７０ａが無い場合には（ステップＳ１０４，Ｎｏ）、ステップＳ１１２に移行する。
【００５７】
一方、起動制御部１５０ｃは、アクセス場所に認証テーブル７０ａが有る場合には（ステップＳ１０４，Ｙｅｓ）、ライセンスキー１４０ｃを検索する（ステップＳ１０５）。起動制御部１５０ｃは、ライセンスキー１４０ｃが無い場合には（ステップＳ１０６，Ｎｏ）、ステップＳ１１２に移行する。
【００５８】
一方、起動制御部１５０ｃは、ライセンスキー１４０ｃが有る場合には（ステップＳ１０６，Ｙｅｓ）、ライセンスキー１４０ｃを取得する（ステップＳ１０７）。起動制御部１５０ｃは、ホスト名情報１４０ｄからホスト名を取得する（ステップＳ１０８）。
【００５９】
起動制御部１５０ｃは、認証テーブル７０ａに、ライセンスキー１４０ｃと同一のライセンスキーが存在するか否かを判定する（ステップＳ１０９）。起動制御部１５０ｃは、ライセンスキー１４０ｃと同一のラインセンスキーが存在しない場合には（ステップＳ１１０，Ｎｏ）、図６のステップＳ１１３に移行する。
【００６０】
一方、起動制御部１５０ｃは、ライセンスキー１４０ｃと同一のライセンスキーが存在する場合には（ステップＳ１１０，Ｙｅｓ）、該当するライセンスキーに対応するホスト名も同一であるか否かを判定する（ステップＳ１１１）。起動制御部１５０ｃは、ホスト名も同一である場合には（ステップＳ１１１，Ｙｅｓ）、図６のステップＳ１１３に移行する。
【００６１】
一方、起動制御部１５０ｃは、ホスト名が異なる場合には（ステップＳ１１１，Ｎｏ）、認証失敗であると判定し、実行プログラム１４０ａを起動しない（ステップＳ１１２）。
【００６２】
図６の説明に移行する。起動制御部１５０ｃは、認証成功であると判定する（ステップＳ１１３）。起動制御部１５０ｃは、アクセス場所の認証テーブル７０ａに、ライセンスキー１４０ｃとホスト名とを対応付けて登録する（ステップＳ１１４）。起動制御部１５０ｃは、実行プログラム１４０ａを起動する（ステップＳ１１５）。
【００６３】
起動制御部１５０ｃは、起動中の実行プログラム１４０ａに対する終了操作を受け付けたか否かを判定する（ステップＳ１１６）。起動制御部１５０ｃは、起動中の実行プログラム１４０ａに対する終了操作を受け付けていない場合には（ステップＳ１１６，Ｎｏ）、再度、ステップＳ１１６に移行する。
【００６４】
起動制御部１５０ｃは、起動中の実行プログラム１４０ａに対する終了操作を受け付けた場合には（ステップＳ１１６，Ｙｅｓ）、アクセス場所の認証テーブル７０ａからライセンスキーとホスト名とを削除する（ステップＳ１１７）。起動制御部１５０ｃは、起動中の実行プログラム１４０ａを終了させる（ステップＳ１１８）。
【００６５】
次に、本実施例に係る情報処理装置１００の効果について説明する。情報処理装置１００は、実行プログラム１４０ａの起動操作を受け付けた場合に、アクセス場所定義ファイル１４０ｂを基にして、認証テーブル７０ａの位置を特定する。情報処理装置１００は、認証テーブル７０ａに記憶されたライセンスキー１４０ｃに対応するホスト名が、自情報処理装置１００のホスト名と異なる場合に、起動操作に応じた実行プログラム１４０ａを起動しない。情報処理装置１００が係る処理を実行することにより、サーバ６０の機能を簡略化することができる。例えば、サーバ６０は、ライセンスキーを情報処理装置１００に発行するだけで、同一のライセンスキーに対応する実行プログラムを、複数の情報処理装置１００で同時に起動されることを防止することができる。
【００６６】
情報処理装置１００は、認証テーブル７０ａに、ライセンスキー１４０ｃと同一のライセンスキーが登録されていない場合に、ライセンスキー１４０ｃと自情報処理装置１００のホスト名との組を、認証テーブル７０ａに格納し、実行プログラム１４０ａを起動する。情報処理装置１００が係る処理を実行することで、サーバ６０の機能を簡略化することができる。例えば、サーバ６０は、ライセンスキーを情報処理装置１００に発行するだけで、ライセンスキーに対応する各実行プログラムを、複数の情報処理装置１００で適切に起動できる。
【００６７】
情報処理装置１００は、認証テーブル７０ａに、ライセンスキー１４０ｃと同一のライセンスキーが登録されており、対応するホスト名も同一である場合に、実行プログラム１４０ａを起動する。このため、終了処理を行う前に、２重起動操作を受け付けた場合でも、実行プログラムを適切に起動させることができる。
【００６８】
情報処理装置１００は、実行プログラムの終了操作を受け付けた場合には、認証テーブル７０ａから、ライセンスキー１４０ｃと、自情報処理装置１００のホスト名との組のレコードを削除する。このため、同一のライセンスキーを複数の情報処理装置１００に発行するだけで、実行プログラムの同時起動を抑止しつつ、異なる情報処理装置１００で、実行プログラムを起動させることができる。
【００６９】
次に、上記実施例に示した情報処理装置１００と同様の機能を実現するライセンス認証プログラムを実行するコンピュータの一例について説明する。図７は、ライセンス認証プログラムを実行するコンピュータの一例を示す図である。
【００７０】
図７に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０１と、ユーザからのデータの入力を受け付ける入力装置２０２と、ディスプレイ２０３とを有する。また、コンピュータ２００は、記憶媒体からプログラム等を読み取る読み取り装置２０４と、ネットワーク５０を介して他のコンピュータとの間でデータの授受を行うインターフェース装置２０５とを有する。また、コンピュータ２００は、各種情報を一時記憶するＲＡＭ２０６と、ハードディスク装置２０７とを有する。そして、各装置２０１〜２０７は、バス２０８に接続される。
【００７１】
ハードディスク装置２０７は、特定プログラム２０７ａ、起動制御プログラム２０７ｂを有する。ＣＰＵ２０１は、特定プログラム２０７ａ、起動制御プログラム２０７ｂを読み出してＲＡＭ２０６に展開する。特定プログラム２０７ａは、特定プロセス２０６ａとして機能する。起動制御プログラム２０７ｂは、起動制御プロセス２０６ｂとして機能する。特定プロセス２０６ａの処理は、特定部１５０ｂの処理に対応する。起動制御プロセス２０６ｂの処理は、起動制御部１５０ｃの処理に対応する。
【００７２】
なお、特定プログラム２０７ａ、起動制御プログラム２０７ｂについては、必ずしも最初からハードディスク装置２０７に記憶させておかなくても良い。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ２００が特定プログラム２０７ａ、起動制御プログラム２０７ｂを読み出して実行するようにしてもよい。
【００７３】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００７４】
（付記１）情報処理装置にインストールされたプログラムのライセンス認証方法において、
前記プログラムの起動操作を受け付けると、プログラムのライセンス情報と、該ライセンス情報の記憶エリア情報とを該プログラムに対応付けて記憶する記憶部を参照して、起動操作を受け付けた前記プログラムに対応付けられた記憶エリア情報とライセンス情報とを特定し、
特定した前記記憶エリア情報に応じた記憶エリアに、特定した前記ライセンス情報が前記情報処理装置に対応付けて記憶されているか否かを判定し、
前記ライセンス情報が前記情報処理装置に対応付けて記憶されていない場合には、前記起動操作に応じた前記プログラムの起動処理を抑制する、
処理をコンピュータが実行することを特徴とするライセンス認証方法。
【００７５】
（付記２）情報処理装置にインストールされたプログラムのライセンス認証方法において、
前記プログラムの起動操作を受け付けると、プログラムのライセンス情報と、該ライセンス情報の記憶エリア情報とを該プログラムに対応付けて記憶する記憶部を参照して、起動操作を受け付けた前記プログラムに対応付けられた、記憶エリア情報とライセンス情報とを特定し、
特定した前記記憶エリア情報に応じた記憶エリアに、特定した前記ライセンス情報が記憶されているか否かを判定し、
前記ライセンス情報が記憶されていない場合には、前記記憶エリアに前記ライセンス情報を前記情報処理装置に対応付けて記憶した後に、前記起動操作に応じた前記プログラムの起動処理を実行する
処理をコンピュータが実行することを特徴とするライセンス認証方法。
【００７６】
（付記３）前記記憶エリア情報に応じた記憶エリアに、特定した前記ライセンス情報が記憶されており、かつ、前記ライセンス情報が前記情報処理装置に対応付けて記憶されている場合には、前記起動操作に応じた前記プログラムの起動処理を実行することを特徴とする付記１または２に記載のライセンス認証方法。
【００７７】
（付記４）前記プログラムの終了操作を受け付けた場合に、前記記憶エリア情報に応じた記憶エリアに記憶された、前記情報処理装置に対応付けられた前記ライセンス情報を削除することを特徴とする付記１〜３のいずれか一つに記載のライセンス認証方法。
【００７８】
（付記５）コンピュータに、
インストールされたプログラムの起動操作を受け付けると、プログラムのライセンス情報と、該ライセンス情報の記憶エリア情報とを該プログラムに対応付けて記憶する記憶部を参照して、起動操作を受け付けた前記プログラムに対応付けられた記憶エリア情報とライセンス情報とを特定し、
特定した前記記憶エリア情報に応じた記憶エリアに、特定した前記ライセンス情報が前記コンピュータに対応付けて記憶されているか否かを判定し、
前記ライセンス情報が前記コンピュータに対応付けて記憶されていない場合には、前記起動操作に応じた前記プログラムの起動処理を抑制する、
処理を実行させることを特徴とするライセンス認証プログラム。
【００７９】
（付記６）コンピュータに、
インストールされたプログラムの起動操作を受け付けると、プログラムのライセンス情報と、該ライセンス情報の記憶エリア情報とを該プログラムに対応付けて記憶する記憶部を参照して、起動操作を受け付けた前記プログラムに対応付けられた、記憶エリア情報とライセンス情報とを特定し、
特定した前記記憶エリア情報に応じた記憶エリアに、特定した前記ライセンス情報が記憶されているか否かを判定し、
前記ライセンス情報が記憶されていない場合には、前記記憶エリアに前記ライセンス情報を前記コンピュータに対応付けて記憶した後に、前記起動操作に応じた前記プログラムの起動処理を実行する
処理を実行させることを特徴とするライセンス認証プログラム。
【００８０】
（付記７）前記記憶エリア情報に応じた記憶エリアに、特定した前記ライセンス情報が記憶されており、かつ、前記ライセンス情報が前記コンピュータに対応付けて記憶されている場合には、前記起動操作に応じた前記プログラムの起動処理を実行することを特徴とする付記５または６に記載のライセンス認証プログラム。
【００８１】
（付記８）前記プログラムの終了操作を受け付けた場合に、前記記憶エリア情報に応じた記憶エリアに記憶された、前記情報記憶装置に対応付けられた前記ライセンス情報を削除することを特徴とする付記５〜７のいずれか一つに記載のライセンス認証プログラム。
【００８２】
（付記９）インストールされたプログラムの起動操作を受け付けると、プログラムのライセンス情報と、該ライセンス情報の記憶エリア情報とを該プログラムに対応付けて記憶する記憶部を参照して、起動操作を受け付けた前記プログラムに対応付けられた記憶エリア情報とライセンス情報とを特定する特定部と、
前記記憶エリア情報に応じた記憶エリアに、特定した前記ライセンス情報が前記コンピュータに対応付けて記憶されているか否かを判定し、前記ライセンス情報が前記コンピュータに対応付けて記憶されていない場合には、前記起動操作に応じた前記プログラムの起動処理を抑制する起動制御部と
を有することを特徴とする情報処理装置。
【００８３】
（付記１０）インストールされたプログラムの起動操作を受け付けると、プログラムのライセンス情報と、該ライセンス情報の記憶エリア情報とを該プログラムに対応付けて記憶する記憶部を参照して、起動操作を受け付けた前記プログラムに対応付けられた、記憶エリア情報とライセンス情報とを特定する特定部と、
前記記憶エリア情報に応じた記憶エリアに、特定した前記ライセンス情報が記憶されているか否かを判定し、前記ライセンス情報が記憶されていない場合には、前記記憶エリアに前記ライセンス情報を自情報処理装置に対応付けて記憶した後に、前記起動操作に応じた前記プログラムの起動処理を実行する起動制御部と
を有することを特徴とする情報処理装置。
【００８４】
（付記１１）前記起動制御部は、前記記憶エリア情報に応じた記憶エリアに、特定した前記ライセンス情報が記憶されており、かつ、前記ライセンス情報が前記情報処理装置に対応付けて記憶されている場合には、前記起動操作に応じた前記プログラムの起動処理を実行することを特徴とする付記９または１０に記載の情報処理装置。
【００８５】
（付記１２）前記起動制御部は、前記プログラムの終了操作を受け付けた場合に、前記記憶エリア情報に応じた記憶エリアに記憶された、前記情報処理装置に対応付けられた前記ライセンス情報を削除することを特徴とする付記９〜１１のいずれか一つに記載の情報処理装置。
【符号の説明】
【００８６】
５０  ネットワーク
６０  サーバ
７０  記憶装置
１００ａ，１００ｂ，１００ｃ  情報処理装置
【図１】
2017126261.tif 000003
【図２】
2017126261.tif 000004
【図３】
2017126261.tif 000005
【図４】
2017126261.tif 000006
【図５】
2017126261.tif 000007
【図６】
2017126261.tif 000008
【図７】
2017126261.tif 000009
【図８】
2017126261.tif 000010
【図９】
2017126261.tif 000011
【図１０】
2017126261.tif 000012