(57)【要約】【課題】クライアントに対してはソースファイルを容易に閲覧できるようにし、第三者に対してはソフトウエアの機密性を保持することができること。【解決手段】ネットワークを介してクライアント端末装置１０に所定のプログラムを送信し、所定のプログラムの開発環境を管理するソフトウエア管理サーバ装置２０であって、所定のプログラムは、実行モジュールに埋め込まれた開発環境に関する情報である開発環境情報を取出す機能を有し、開発環境情報を必要とする場合は、開発環境情報を取出し、開発環境情報を必要としない場合は、所定のプログラムを実行し、プログラム翻訳部２０５２およびオブジェクト連携編集部２０５３は、所定のプログラムの実行モジュールを生成し、開発環境情報埋込部２０５１は、生成された実行モジュールに開発環境情報を埋め込み、実行モジュール送信部２０５４は、開発環境情報が埋め込まれた実行モジュールを送信する。【選択図】        図１
2005309594.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してクライアント端末装置に所定のプログラムの実行モジュールを送信し、該所定のプログラムの開発環境を管理するソフトウエア管理サーバ装置であって、
前記所定のプログラムは、前記実行モジュールに埋め込まれた前記開発環境に関する情報である開発環境情報を取出す機能を有し、該開発環境情報を必要とする場合は、該開発環境情報を取出し、該開発環境情報を必要としない場合は、該所定のプログラムを実行し、
前記所定のプログラムの実行モジュールを生成する実行モジュール生成手段と、
前記生成された実行モジュールに前記開発環境情報を埋め込む開発環境情報埋込手段と、
前記開発環境情報が埋め込まれた実行モジュールを送信する実行モジュール送信手段と、
を備えたことを特徴とするソフトウエア管理サーバ装置。
【請求項２】
前記開発環境情報埋込手段は、前記所定のプログラムのソースファイル、該所定のプログラムで定義された複数のヘッダファイル、該ソースファイルと複数のヘッダファイルを機械語に翻訳し、連携編集して、実行ファイルを生成するメークファイルを前記開発環境情報として前記実行モジュールに埋め込むことを特徴とする請求項１に記載のソフトウエア管理サーバ装置。
【請求項３】
前記開発環境情報埋込手段は、前記開発環境の所在場所を示す情報を前記開発環境情報として前記実行モジュールに埋め込むことを特徴とする請求項１に記載のソフトウエア管理サーバ装置。
【請求項４】
前記開発環境情報を暗号化する暗号化手段をさらに備え、
前記開発環境埋込手段は、前記暗号化手段によって暗号化された開発環境情報を前記実行モジュールに埋め込むことを特徴とする請求項１、２または３に記載のソフトウエア管理サーバ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ソフトウエア管理サーバ装置に関し、特にクライアントに対してはソースファイルを容易に閲覧できるようにし、第三者に対してはソフトウエアの機密性を保持することができるソフトウエア管理サーバ装置に関するものである。
【背景技術】
【０００２】
従来、ソフトウエアを提供する場合は、クライアントに実行ファイルで提供するか、またはクライアントにソースファイルと実行ファイルを共に提供していた。クライアントに実行ファイルで提供する場合は、第三者に対するソフトウエアの機密性を容易に保持することができる。また、クライアントにソースファイルと実行ファイルを共に提供する場合は、クライアントはソースファイルを容易に閲覧することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、クライアントに実行ファイルで提供する場合は、第三者に対するソフトウエアの機密性を容易に保持することができるが、クライアントがソースファイルを閲覧したい場合に閲覧することができないという課題があった。また、クライアントにソースファイルと実行ファイルを共に提供する場合は、クライアントはソフトウエアを容易に閲覧することができるが、第三者に対するソフトウエアの機密性を保持することが難しいという課題があった。すなわち、クライアントに対してはソースファイルを容易に閲覧できるようにし、第三者に対してはソフトウエアの機密性を保持することがソフトウエアを提供する場合の課題であった。
【０００４】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、クライアントに対してはソースファイルを容易に閲覧できるようにし、第三者に対してはソフトウエアの機密性を保持することができるソフトウエア管理サーバ装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決し、目的を達成するため、請求項１の発明に係るソフトウエア管理サーバ装置は、ネットワークを介してクライアント端末装置に所定のプログラムの実行モジュールを送信し、該所定のプログラムの開発環境を管理するソフトウエア管理サーバ装置であって、前記所定のプログラムは、前記実行モジュールに埋め込まれた前記開発環境に関する情報である開発環境情報を取出す機能を有し、該開発環境情報を必要とする場合は、該開発環境情報を取出し、該開発環境情報を必要としない場合は、該所定のプログラムを実行し、前記所定のプログラムの実行モジュールを生成する実行モジュール生成手段と、前記生成された実行モジュールに前記開発環境情報を埋め込む開発環境情報埋込手段と、前記開発環境情報が埋め込まれた実行モジュールを送信する実行モジュール送信手段と、を備えたことを特徴とする。
【０００６】
この請求項１の発明によれば、所定のプログラムは、実行モジュールに埋め込まれた開発環境に関する情報である開発環境情報を取出す機能を有し、開発環境情報を必要とする場合は、開発環境情報を取出し、開発環境情報を必要としない場合は、所定のプログラムを実行し、所定のプログラムの実行モジュールを生成し、生成された実行モジュールに開発環境情報を埋め込み、開発環境情報が埋め込まれた実行モジュールを送信することとしたので、クライアントに対してはソースファイルを容易に閲覧できるようにし、第三者に対してはソフトウエアの機密性を保持することができる。
【０００７】
また、請求項２の発明に係るソフトウエア管理サーバ装置は、請求項１の発明において、前記開発環境情報埋込手段は、前記所定のプログラムのソースファイル、該所定のプログラムで定義された複数のヘッダファイル、該ソースファイルと複数のヘッダファイルを機械語に翻訳し、連携編集して、実行ファイルを生成するメークファイルを前記開発環境情報として前記実行モジュールに埋め込むことを特徴とする。
【０００８】
この請求項２の発明によれば、所定のプログラムのソースファイル、所定のプログラムで定義された複数のヘッダファイル、ソースファイルと複数のヘッダファイルを機械語に翻訳し、連携編集して、実行ファイルを生成するメークファイルを開発環境情報として実行モジュールに埋め込むこととしたので、クライアントに対してはソースファイルを容易に閲覧できるようにし、第三者に対してはソフトウエアの機密性を保持することができる。
【０００９】
また、請求項３の発明に係るソフトウエア管理サーバ装置は、請求項１の発明において、前記開発環境情報埋込手段は、前記開発環境の所在場所を示す情報を前記開発環境情報として前記実行モジュールに埋め込むことを特徴とする。
【００１０】
この請求項３の発明によれば、開発環境の所在場所を示す情報を開発環境情報として実行モジュールに埋め込むこととしたので、クライアントに対してはソースファイルを容易に閲覧できるようにし、第三者に対してはソフトウエアの機密性を保持することができる。
【００１１】
また、請求項４の発明に係るソフトウエア管理サーバ装置は、請求項１、２または３の発明において、前記開発環境情報を暗号化する暗号化手段をさらに備え、前記開発環境埋込手段は、前記暗号化手段によって暗号化された開発環境情報を前記実行モジュールに埋め込み、前記クライアント端末装置は、前記暗号化手段によって暗号化された開発環境情報を復号化することを特徴とする。
【００１２】
この請求項４の発明によれば、開発環境情報を暗号化し、暗号化された開発環境情報を実行モジュールに埋め込み、暗号化された開発環境情報を復号化することとしたので、クライアントに対してはソースファイルを容易に閲覧できるようにし、第三者に対してはソフトウエアの機密性を保持することができる。
【発明の効果】
【００１３】
請求項１の発明によれば、所定のプログラムは、実行モジュールに埋め込まれた開発環境に関する情報である開発環境情報を取出す機能を有し、開発環境情報を必要とする場合は、開発環境情報を取出し、開発環境情報を必要としない場合は、所定のプログラムを実行し、所定のプログラムの実行モジュールを生成し、生成された実行モジュールに開発環境情報を埋め込み、開発環境情報が埋め込まれた実行モジュールを送信するよう構成したので、クライアントに対してはソースファイルを容易に閲覧できるようにし、第三者に対してはソフトウエアの機密性を保持することができるという効果を奏する。
【００１４】
また、請求項２の発明によれば、所定のプログラムのソースファイル、所定のプログラムで定義された複数のヘッダファイル、ソースファイルと複数のヘッダファイルを機械語に翻訳し、連携編集して、実行ファイルを生成するメークファイルを開発環境情報として実行モジュールに埋め込むよう構成したので、クライアントに対してはソースファイルを容易に閲覧できるようにし、第三者に対してはソフトウエアの機密性を保持することができるという効果を奏する。
【００１５】
また、請求項３の発明によれば、開発環境の所在場所を示す情報を開発環境情報として実行モジュールに埋め込むよう構成したので、クライアントに対してはソースファイルを容易に閲覧できるようにし、第三者に対してはソフトウエアの機密性を保持することができるという効果を奏する。
【００１６】
また、請求項４の発明によれば、開発環境情報を暗号化し、暗号化された開発環境情報を実行モジュールに埋め込み、暗号化された開発環境情報を復号化するよう構成したので、クライアントに対してはソースファイルを容易に閲覧できるようにし、第三者に対してはソフトウエアの機密性を保持することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１７】
以下に添付図面を参照して、この発明に係るソフトウエア管理サーバ装置の好適な実施の形態を詳細に説明する。実施例１は、開発環境情報として所定のプログラムの開発環境を埋め込んだ所定のプログラムの実行モジュールを提供する場合について説明する。また、実施例２では、開発環境情報として所定のプログラムの開発環境の所在場所のＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を埋め込んだ所定のプログラムの実行モジュールを提供する場合について説明する。
【実施例１】
【００１８】
実施例１では、開発環境情報として所定のプログラムの開発環境を埋め込んだ所定のプログラムの実行モジュールを提供する場合について説明する。ここでは、（１）ソフトウエア管理サーバ装置の概要と主要な特徴、（２）ソフトウエア管理システムの構成、（３）ソフトウエア管理システムのソフトウエア管理手順の順番で説明する。
【００１９】
（１）ソフトウエア管理サーバ装置の概要と主要な特徴
まず、図１を参照して、実施例１に係るソフトウエア管理サーバ装置２０の概要と主要な特徴について説明する。図１は、実施例１に係るソフトウエア管理システム１の構成を示す機能ブロック図である。本発明に係るソフトウエア管理サーバ装置２０は、ネットワークを介してクライアント端末装置に所定のプログラムの実行モジュールを送信し、所定のプログラムの開発環境を管理するソフトウエア管理装置であり、クライアントに対してはソースファイルを容易に閲覧できるようにし、第三者に対してはソフトウエアの機密性を保持することができることを特徴とする。
【００２０】
所定のプログラムは、実行モジュールに埋め込まれた開発環境に関する情報である開発環境情報を取出す機能を有し、開発環境情報を必要とする場合は、開発環境情報を取出し、開発環境情報を必要としない場合は、所定のプログラムを実行し、プログラム翻訳部２０５２およびオブジェクト連携編集部２０５３は、所定のプログラムの実行モジュールを生成し、開発環境情報埋込部２０５１は、生成された実行モジュールに開発環境情報を埋め込み、実行モジュール送信部２０５４は、開発環境情報が埋め込まれた実行モジュールを送信することとしたので、クライアントに対してはソースファイルを容易に閲覧できるようにし、第三者に対してはソフトウエアの機密性を保持することができる。
【００２１】
（２）ソフトウエア管理システムの構成
次に、図１を参照して、ソフトウエア管理システム１の構成について説明する。同図に示すように、ソフトウエア管理システム１は、クライアント端末装置１０、ネットワーク１５、ソフトウエア管理サーバ装置２０を有する。ネットワーク１５は、ＴＣＰ／ＩＰプロトコルに従う通信ネットワークであり、具体的にはインターネット、ＬＡＮ、専用回線などのネットワークである。
【００２２】
クライアント端末装置１０は、ネットワーク１５を介してソフトウエア管理サーバ装置２０と通信を行う通信端末装置であり、ネットワークＩＦ部１０１、入力部１０２、出力部１０３、記憶部１０４、制御部１０５を有する。ネットワークＩＦ部１０１は、ネットワーク１５を介してソフトウエア管理サーバ装置２０と通信を行う通信インタフェースであり、具体的にはネットワークインタフェースカードである。
【００２３】
入力部１０２は、クライアントの要求やデータを入力する入力装置であり、キーボードやマウスである。また、出力部１０３は、ソフトウエア管理サーバ装置２０から送信される入力画面を画像表示し、開発環境を出力する出力装置であり、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、プリンタなどである。
【００２４】
記憶部１０４は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの記憶装置であり、実行モジュール記憶部１０４１を有する。実行モジュール記憶部１０４１は、ソフトウエア管理サーバ装置２０から転送されてきた実行モジュールを記憶する記憶部である。また、制御部１０５は、クライアント端末装置１０の全体を制御する制御部であり、プログラム実行部１０５１、秘密鍵復号化部１０５２を有する。プログラム実行部１０５１は、実行モジュール記憶部１０４１に記憶されている所定のプログラムの実行モジュールをロードし、実行する処理部である。また、秘密鍵復号化部１０５２は、ソフトウエア管理サーバ装置２０から実行モジュールに埋め込まれ、公開鍵で暗号化された開発環境情報を秘密鍵で復号化する処理部である。
【００２５】
ソフトウエア管理サーバ装置２０は、ネットワークＩＦ部２０１、入力部２０２、出力部２０３、記憶部２０４、制御部２０５を有する。ネットワークＩＦ部２０１は、ネットワーク１５を介してクライアント端末装置１０と通信を行う通信インタフェースであり、具体的にはネットワークインタフェースカードである。
【００２６】
入力部２０２は、クライアントの要求やデータを入力する入力装置であり、キーボードやマウスである。また、出力部２０３は、クライアント端末装置１０から送信されるデータを画像表示する出力装置であり、ＬＣＤなどである。
【００２７】
記憶部２０４は、ＨＤＤなどの記憶装置であり、ＩＤ情報データベース記憶部２０４１、開発環境情報記憶部２０４２、プログラム記憶部２０４３、オブジェクトモジュール記憶部２０４４、実行モジュール記憶部２０４５を有する。
【００２８】
ＩＤ情報データベース記憶部２０４１は、クライアントの名称とＩＤ、パスワードなどのＩＤ情報を対応付けるデータベースであるＩＤ情報データベースを記憶する記憶部である。また、開発環境情報記憶部２０４２は、所定のプログラムの開発環境に関する情報である開発環境情報を記憶する記憶部である。また、プログラム記憶部２０４３は、所定のプログラムを記憶する記憶部である。なお、所定のプログラムは、所定のプログラムの実行モジュールに埋め込まれた開発環境に関する情報である開発環境情報を取出す機能を有し、開発環境情報を必要とする場合は、開発環境情報を取出し、開発環境情報を必要としない場合は、所定のプログラムを実行する。
【００２９】
オブジェクトモジュール記憶部２０４４は、所定のプログラムを機械語に翻訳した後に生成されるオブジェクトモジュールを記憶する記憶部である。また、実行モジュール記憶部２０４５は、オブジェクトモジュールを連携編集して生成される実行モジュールを記憶する記憶部である。
【００３０】
制御部２０５は、ソフトウエア管理サーバ装置２０の全体を制御する制御部であり、開発環境情報埋込部２０５１、プログラム翻訳部２０５２、オブジェクト連携編集部２０５３、実行モジュール送信部２０５４を有する。開発環境情報埋込部２０５１は、所定のプログラムの開発環境の情報である開発環境情報を所定のプログラムの実行モジュールに埋め込む処理部であり、公開鍵暗号化部２０５１ａを有する。公開鍵暗号化部２０５１ａは、特定の認証局によって保証された公開鍵を用いて開発環境情報を暗号化する処理部である。
【００３１】
開発環境情報埋込部２０５１は、所定のプログラムのソースファイル、所定のプログラムで定義された複数のヘッダファイル、ソースファイルと複数のヘッダファイルを機械語に翻訳し、連携編集して、実行ファイルを生成するメークファイルを開発環境情報として所定のプログラムの実行モジュールに埋め込む。
【００３２】
ここで、図２を参照して、図１に示す開発環境情報埋込部２０５１の実行モジュールの注記欄への開発環境情報の埋込／取出について説明する。図２は、図１に示す開発環境情報埋込部２０５１の実行モジュールの注記欄への開発環境情報の埋込／取出を説明する説明図である。なお、注記欄は、Ｕｎｉｘ（登録商標）のオブジェクトフォーマットであるＥＬＦフォーマットのプログラムの注記を書き込む欄である。
【００３３】
同図に示すように、開発環境情報埋込部２０５１は、所定のプログラムの実行モジュールの注記欄にソースファイル、ヘッダファイル、ｍａｋｅファイルなどの開発環境情報を埋め込む。このようにして、所定のプログラムの開発環境は、所定のプログラムの実行モジュールに埋め込まれているので、クライアントは、所定のプログラムの開発環境情報を実行モジュールから容易に取出すことができるが、第三者が所定のプログラムの開発環境情報を実行モジュールから取出すことは困難である。
【００３４】
続いて、図３を参照して、図２に示す公開鍵暗号化部の暗号方式について説明する。図３は、図２に示す公開鍵暗号化部の暗号方式について説明する説明図である。公開鍵認証基盤に基づく公開鍵による暗号化方式では、公開鍵の所有者、すなわちクライアントを確認する仕組みが重要である。公開鍵による暗号化方式では、認証局と呼ばれる信頼できる第三者機関は、クライアントが本人であることを保証する。まず、クライアントが自分の公開鍵を認証局に登録し、公開鍵証明書の作成を依頼する。そして、認証局は、クライアントが本人であることを対面などして確認し、公開鍵証明書を作成し、認証局の秘密鍵でデジタル署名をして、発行する。なお、公開鍵証明書には、クライアントの名前、所属などの識別情報およびクライアントの公開鍵を保証するために認証局の秘密鍵で暗号化されたデジタル署名が付与されている。
【００３５】
さらに、ソフトウエア管理サーバ装置２０は、認証局からクライアントの公開鍵と公開鍵証明書を入手する。そして、認証局から入手した証明書のデジタル署名を認証局の公開鍵で検証した後、クライアントの公開鍵によって開発環境情報を暗号化し、暗号化した開発環境情報を実行モジュールに埋め込んでクライアント端末装置１０に送信する。そして、クライアント端末装置１０は、ソフトウエア管理サーバ装置２０から受信した実行モジュールから開発環境情報を取出してクライアントの秘密鍵で復号化する。このようにして、認証局によって保証されたクライアントの公開鍵を用いて開発環境情報を暗号化し、暗号化した開発環境情報をクライアントの秘密鍵で復号化することによって、クライアント本人だけが開発環境情報を入手できることを保証し、第三者に対する開発環境情報の機密性を保持することができる。
【００３６】
図１の説明に戻ると、プログラム翻訳部２０５２は、所定のプログラム、開発環境情報を機械語に翻訳してそれぞれのオブジェクトモジュールを生成し、オブジェクトモジュール記憶部２０４４に記憶させる処理部である。また、オブジェクト連携編集部２０５３は、プログラム翻訳部２０５２によって機械語に翻訳された所定のプログラム、開発環境情報のそれぞれのオブジェクトモジュールを連携編集して実行モジュールを生成し、実行モジュール記憶部２０４５に記憶させる処理部である。また、実行モジュール送信部２０５４は、クライアント端末装置１０の要求により実行モジュール記憶部２０４５に記憶された実行モジュールをクライアント端末装置１０に送信する処理部である。
【００３７】
（３）ソフトウエア管理システムのソフトウエア管理手順
次に、図４を参照して、図１に示すソフトウエア管理システム１のソフトウエア管理手順について説明する。図４は、図１に示すソフトウエア管理システム１のソフトウエア管理手順を示すフローチャートである。
【００３８】
同図に示すように、まず、クライアント端末装置１０が起動し（ステップＳ４０１）、同時に、ソフトウエア管理サーバ装置２０が起動する（ステップＳ４０２）。そして、クライアント端末装置１０は、ソフトウエア管理サーバ装置２０に対して所定のプログラムを要求する（ステップＳ４０３）。
【００３９】
一方、ソフトウエア管理サーバ装置２０は、クライアント端末装置１０から所定のプログラムの要求を受信すると、クライアント端末装置１０に対してＩＤ、パスワードの送信、公開鍵の登録を要求する（ステップＳ４０４）。そして、クライアント端末装置１０は、ソフトウエア管理サーバ装置２０からの要求に応じて認証局にクライアントの公開鍵を登録し（ステップＳ４０５）、クライアントのＩＤ、パスワードを送信する（ステップＳ４０６）。
【００４０】
すると、制御部２０５は、ＩＤ、パスワードをＩＤ情報データベース記憶部２０４１に登録し（ステップＳ４０７）、認証局からクライアントの公開鍵を入手する（ステップＳ４０８）。さらに、公開鍵暗号化部２０５１ａは、開発環境情報記憶部２０４２に記憶されている開発環境情報を取出して、認証局から入手した公開鍵で開発環境情報を暗号化する（ステップＳ４０９）。そして、開発環境情報埋込部２０５１は、公開鍵で暗号化した開発環境情報を機械語に翻訳し、オブジェクトモジュールを生成する（ステップＳ４１０）。
【００４１】
さらに、プログラム翻訳部２０５２は、所定のプログラムを機械語に翻訳し、オブジェクトモジュールを生成する（ステップＳ４１１）。そして、オブジェクト連携編集部２０５３は、所定のプログラムおよび開発環境情報に関するオブジェクトモジュールを連携編集し（ステップＳ４１２）、所定のプログラムの実行モジュールを生成する（ステップＳ４１３）。さらに、実行モジュール送信部２０５４は、クライアント端末装置１０に所定のプログラムの実行モジュールを送信する（ステップＳ４１４）。
【００４２】
一方、クライアント端末装置１０のプログラム実行部１０５１は、ソフトウエア管理サーバ装置２０から受信した所定のプログラムの実行モジュールをロードし（ステップＳ４１５）、所定のプログラムを実行する（ステップＳ４１６）。そして、プログラム実行部１０５１は、クライアントが開発環境情報を必要であるか否かを確認する（ステップＳ４１７）。その結果、クライアントが開発環境情報を必要でない場合は（ステップＳ４１７否定）、プログラム実行部１０５１は、開発環境を取り出さずに所定のプログラムを実行する（ステップＳ４１８）。
【００４３】
一方、クライアントが開発環境情報を必要である場合は（ステップＳ４１７肯定）、プログラム実行部１０５１は、実行モジュールから公開鍵で暗号化された開発環境情報を取出す（ステップＳ４１９）。そして、秘密鍵復号部１０５２は、公開鍵とペアになっている秘密鍵を用いて開発環境情報を復号化し（ステップＳ４２０）、出力部１０３に開発環境を出力する（ステップＳ４２１）。
【００４４】
このように、本手順によれば、公開鍵暗号化部２０５１ａが開発環境情報を公開鍵で暗号化した後、開発環境情報埋込部２０５１が所定のプログラムの実行モジュールに埋め込み、プログラム実行部１０５１が開発環境情報を実行モジュールから取り出した後、秘密鍵復号化部１０５２が秘密鍵で複合化することとしたので、クライアントは、所定のプログラムの実行モジュールから開発環境を容易に取り出すことができるが、第三者は、開発環境を取り出すことはできない。したがって、クライアントに対してはソースファイルを容易に閲覧できるようにし、第三者に対してはソフトウエアの機密性を保持することができる。
【００４５】
上述してきたように、本実施例１では、所定のプログラムは、実行モジュールに埋め込まれた開発環境に関する情報である開発環境情報を取出す機能を有し、開発環境情報を必要とする場合は、開発環境情報を取出し、開発環境情報を必要としない場合は、所定のプログラムを実行し、プログラム翻訳部２０５２およびオブジェクト連携編集部２０５３は、所定のプログラムの実行モジュールを生成し、開発環境情報埋込部２０５１は、生成された実行モジュールに開発環境情報を埋め込み、実行モジュール送信部２０５４は、開発環境情報が埋め込まれた実行モジュールを送信することとしたので、クライアントに対してはソースファイルを容易に閲覧できるようにし、第三者に対してはソフトウエアの機密性を保持することができる。
【００４６】
また、開発環境情報埋込部２０５１は、ＵＮＩＸ（登録商標）のオブジェクトモジュールのフォーマットであるＥＬＦフォーマットの注記欄に開発環境情報を埋め込むこととしたので、クライアントに対してはソースファイルを容易に閲覧できるようにし、第三者に対してはソフトウエアの機密性を保持することができる。
【００４７】
また、開発環境情報埋込部２０５１は、所定のプログラムのソースファイル、所定のプログラムで定義された複数のヘッダファイル、ソースファイルと複数のヘッダファイルを機械語に翻訳し、連携編集して、実行ファイルを生成するメークファイルを開発環境情報として実行モジュールに埋め込むこととしたので、クライアントは、所定のプログラムによって所定のプログラムの開発環境情報を実行モジュールから容易に取り出すことができるが、第三者は所定のプログラムの開発環境情報を実行モジュールから読み取ることができない。したがって、クライアントに対してはソースファイルを容易に閲覧できるようにし、第三者に対してはソフトウエアの機密性を保持することができる。
【００４８】
また、公開鍵暗号化部２０５１ａは、開発環境情報を暗号化し、暗号化された開発環境情報を実行モジュールに埋め込み、暗号化された開発環境情報を復号化することとしたので、クライアントの本人性を保証し、第三者に対する開発環境情報の機密性を保持することができる。したがって、クライアントに対してはソースファイルを容易に閲覧できるようにし、第三者に対してはソフトウエアの機密性を保持することができる。
【実施例２】
【００４９】
実施例２では、開発環境情報として所定のプログラムの開発環境の所在場所のＵＲＬを埋め込んだプログラムの実行モジュールを提供する場合について説明する。まず、図５を参照して、実施例２に係るソフトウエア管理システム１ａの構成について説明する。図５は、実施例２に係るソフトウエア管理システム１ａの構成を示す機能ブロック図である。同図に示すように、実施例１の機能ブロック図との相違は、ソフトウエア管理サーバ装置２０ａの開発環境情報記憶部２０４２、開発環境情報埋込部２０５１、ＩＤ情報認証部２０５５、開発環境送信部２０５６である。ここでは、実施例１と同じ内容については説明を省略する。
【００５０】
開発環境情報記憶部２０４２は、開発環境情報として所定のプログラムの開発環境の所在場所のＵＲＬを記憶する記憶部である。また、開発環境情報埋込部２０５１は、開発環境の所在場所を示す情報であるＵＲＬを開発環境情報として所定のプログラムの実行モジュールに埋め込む。また、ＩＤ情報認証部２０５５は、クライアントの名称とＩＤ、パスワードから、開発環境情報を取出す者が開発環境情報を取出す資格を有する有資格者であるか否かを識別し、また、本人であるか否かを確認する処理部である。また、開発環境送信部２０５５は、クライアント端末装置１０からの要求によって開発環境を送信する処理部である。
【００５１】
次に、図６を参照して、図５に示すソフトウエア管理システム１ａのソフトウエア管理手順について説明する。図６は、図５に示すソフトウエア管理システム１ａのソフトウエア管理手順を示すフローチャートである。図５に示すフローチャートのステップＳ６０１〜ステップＳ６２０は、実施例１のフローチャートのステップＳ４０１〜ステップＳ４２０とまったく同じなので説明は省略し、ステップＳ６２１〜ステップＳ６２７について説明する。
【００５２】
同図に示すように、プログラム実行部１０５１は、所定のプログラムの実行モジュールから開発環境情報を取り出すと、秘密鍵復号化部１０５２は、秘密鍵を用いて開発環境情報を復号化して、復号化した開発環境情報から開発環境の所在場所のＵＲＬを取得する（ステップＳ６２１）。そして、プログラム実行部１０５１は、取得したＵＲＬにアクセスして開発環境を要求する（ステップＳ６２２）。
【００５３】
すると、ＩＤ情報認証部２０５５は、クライアントのＩＤ、パスワードを要求する（ステップＳ６２３）。そして、プログラム実行部１０５１は、ソフトウエア管理サーバ装置２０の要求に応じて、クライアントのＩＤ、パスワードを送信する（ステップＳ６２４）。さらに、ＩＤ情報認証部２０５５は、クライアント端末装置１０から受信したＩＤ、パスワードがＩＤ情報データベース記憶部２０４１に登録されているか否かを調べる（ステップＳ６２５）。
【００５４】
その結果、クライアント端末装置１０から受信したＩＤ、パスワードがＩＤ情報データベース記憶部２０４１に登録されていない場合は（ステップＳ６２５否定）、ＩＤ情報認証部２０５５は、本手順を終了する。一方、クライアント端末装置１０から受信したＩＤ、パスワードがＩＤ情報データベース記憶部２０４１に登録されている場合は（ステップＳ６２５肯定）、開発環境送信部２０５６は、クライアント端末装置１０から要求された開発環境をクライアント端末装置１０に送信する（ステップＳ６２６）。そして、プログラム実行部１０５１は、ソフトウエア管理サーバ装置２０から受信した開発環境を出力する（ステップＳ６２７）。
【００５５】
このように、本手順によれば、公開鍵暗号化部２０５１ａが開発環境の所在場所のＵＲＬを公開鍵で暗号化した後、開発環境情報埋込部２０５１が開発環境情報を実行モジュールに埋め込む。そして、プログラム実行部１０５１が開発環境情報を実行モジュールから取り出した後、秘密鍵復号化部１０５２が秘密鍵で複合化したＵＲＬにアクセスする。さらに、ＩＤ情報認証部２０５５によってクライアントのＩＤ，パスワードが登録されていることが確認された場合に開発環境を取得することができることとしたので、クライアントは、実行モジュールから開発環境を容易に取り出すことができるが、第三者は、開発環境を取り出すことはできない。したがって、クライアントに対してはソースファイルを容易に閲覧できるようにし、第三者に対してはソフトウエアの機密性を保持することができる。
【００５６】
上述してきたように、本実施例２では、開発環境情報埋込部２０５１は、開発環境の所在場所を示す情報であるＵＲＬを開発環境情報として実行モジュールに埋め込むこととしたので、クライアントは、所定のプログラムによって開発環境情報のＵＲＬを知ることができるが、第三者は、ＵＲＬを知ることはできない。したがって、クライアントに対してはソースファイルを容易に閲覧できるようにし、第三者に対してはソフトウエアの機密性を保持することができる。
【００５７】
また、ＩＤ情報認証部２０５５は、開発環境情報を取出す者が開発環境情報を取出す資格を有する有資格者であるか否かを識別し、プログラム実行部１０５１は、ＩＤ情報認証部２０５５によって開発環境情報を取出す者が有資格者であるか否か識別し、また本人であるか否かを確認するよう要求することとしたので、クライアントに対してはソースファイルを容易に閲覧できるようにし、第三者に対してはソフトウエアの機密性を保持することができる。
【００５８】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、上記特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施例にて実施されてもよいものである。
【００５９】
例えば、本実施例１または２では、開発環境情報として開発環境または開発環境の所在場所を示す情報を所定のプログラムの実行モジュールに埋め込む場合について説明したが、これだけに限定されるものではなく、他の開発環境情報、例えば、所定のプログラムを検索する検索プログラムまたはその所在場所を示す情報を埋め込む場合について適用できる。
【００６０】
また、本実施例１または２では、ＵＮＩＸ（登録商標）に適用する場合について説明したが、これだけに限定されるものではなく、他のオペレーティングシステム、例えば、ＬＩＮＵＸに適用することができる。
【００６１】
また、本実施例１または２では、Ｃ言語、Ｆｏｒｔｒａｎなどのコンパイラ言語に適用する場合について説明したが、これだけに限定されるものではなく、他の言語、例えば、ＲＰＧなどのジェネレータ、ＢＡＳＩＣ、ＬＩＳＰ、ＡＰＬなどのインタプリタに適用することができる。
【００６２】
また、本実施例１では、所定のプログラムのソースファイル、所定のプログラムで定義された複数のヘッダファイル、ソースファイルと複数のヘッダファイルを機械語に翻訳し、連携編集して、実行ファイルを生成するメークファイルを開発環境情報として実行モジュールに埋め込む場合について説明したが、これだけに限定されるものではなく、所定のプログラムの実行ファイルを埋め込む場合に適用することができる。例えば、所定のプログラムの実行ファイルを取出して、所定のプログラムを実行させることができる。
【００６３】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６４】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置（ソフトウエア管理サーバ装置）の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６５】
なお、本実施の形態で説明したソフトウエア管理方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【００６６】
（付記１）ネットワークを介してクライアント端末装置に所定のプログラムの実行モジュールを送信し、該所定のプログラムの開発環境を管理するソフトウエア管理サーバ装置であって、
前記所定のプログラムは、前記実行モジュールに埋め込まれた前記開発環境に関する情報である開発環境情報を取出す機能を有し、該開発環境情報を必要とする場合は、該開発環境情報を取出し、該開発環境情報を必要としない場合は、該所定のプログラムを実行し、
前記所定のプログラムの実行モジュールを生成する実行モジュール生成手段と、
前記生成された実行モジュールに前記開発環境情報を埋め込む開発環境情報埋込手段と、
前記開発環境情報が埋め込まれた実行モジュールを送信する実行モジュール送信手段と、
を備えたことを特徴とするソフトウエア管理サーバ装置。
【００６７】
（付記２）前記開発環境情報埋込手段は、ＵＮＩＸ（登録商標）のオブジェクトモジュールのフォーマットであるＥＬＦフォーマットの注記欄に前記開発環境情報を埋め込むことを特徴とする付記１に記載のソフトウエア管理サーバ装置。
【００６８】
（付記３）前記開発環境情報埋込手段は、前記所定のプログラムのソースファイル、該所定のプログラムで定義された複数のヘッダファイル、該ソースファイルと複数のヘッダファイルを機械語に翻訳し、連携編集して、実行ファイルを生成するメークファイルを前記開発環境情報として前記実行モジュールに埋め込むことを特徴とする付記１に記載のソフトウエア管理サーバ装置。
【００６９】
（付記４）前記開発環境情報埋込手段は、前記開発環境の所在場所を示す情報を前記開発環境情報として前記実行モジュールに埋め込むことを特徴とする付記１に記載のソフトウエア管理サーバ装置。
【００７０】
（付記５）前記開発環境情報埋込手段は、前記開発環境を検索する検索プログラムを前記開発環境情報として前記実行モジュールに埋め込むことを特徴とする付記１に記載のソフトウエア管理サーバ装置。
【００７１】
（付記６）前記開発環境情報を暗号化する暗号化手段をさらに備え、
前記開発環境埋込手段は、前記暗号化手段によって暗号化された開発環境情報を前記実行モジュールに埋め込むことを特徴とする付記１〜５のいずれか一つに記載のソフトウエア管理サーバ装置。
【００７２】
（付記７）前記開発環境情報を取出す者が前記開発環境情報を取出す資格を有する有資格者であるか否かを識別し、また本人であるか否かを確認する認証手段をさらに備え、
前記所定のプログラムは、前記認証手段によって前記開発環境情報を取出す者が前記有資格者であるか否か識別し、また前記本人であるか否かを確認するよう要求することを特徴とする付記１に記載のソフトウエア管理サーバ装置。
【００７３】
（付記８）ネットワークを介してクライアント端末装置に所定のプログラムの実行モジュールを送信し、該所定のプログラムの開発環境を管理するソフトウエア管理方法であって、
前記所定のプログラムは、前記実行モジュールに埋め込まれた前記開発環境に関する情報である開発環境情報を取出す機能を有し、該開発環境情報を必要とする場合は、該開発環境情報を取出し、該開発環境情報を必要としない場合は、該所定のプログラムを実行し、
前記所定のプログラムの実行モジュールを生成する実行モジュール生成工程と、
前記生成された実行モジュールに前記開発環境情報を埋め込む開発環境情報埋込工程と、
前記開発環境情報が埋め込まれた実行モジュールを送信する実行モジュール送信工程と、
を含むことを特徴とするソフトウエア管理方法。
【００７４】
（付記９）ネットワークを介してクライアント端末装置に所定のプログラムの実行モジュールを送信し、該所定のプログラムの開発環境を管理するソフトウエア管理プログラムであって、
前記所定のプログラムは、前記実行モジュールに埋め込まれた前記開発環境に関する情報である開発環境情報を取出す機能を有し、該開発環境情報を必要とする場合は、該開発環境情報を取出し、該開発環境情報を必要としない場合は、該所定のプログラムを実行し、
前記所定のプログラムの実行モジュールを生成する実行モジュール生成手順と、
前記生成された実行モジュールに前記開発環境情報を埋め込む開発環境情報埋込手順と、
前記開発環境情報が埋め込まれた実行モジュールを送信する実行モジュール送信手順と、
をコンピュータに実行させることを特徴とするソフトウエア管理プログラム。
【産業上の利用可能性】
【００７５】
以上のように、本発明にかかるソフトウエア管理サーバ装置は、クライアントに対してはソースファイルを容易に閲覧できるようにし、第三者に対してはソフトウエアの機密性を保持することができるソフトウエア管理サーバ装置に適している。
【図面の簡単な説明】
【００７６】
【図１】実施例１に係るソフトウエア管理システムの構成を示す機能ブロック図である。
【図２】図１に示すソフトウエア管理システムによる実行モジュールの注記欄への開発環境情報の埋込／取出を説明する説明図である。
【図３】図２に示す公開鍵暗号化部の暗号方式を説明する説明図である。
【図４】図１に示すソフトウエア管理システムのソフトウエア管理手順を示すフローチャートである。
【図５】実施例２に係るソフトウエア管理システムの構成を示す機能ブロック図である。
【図６】図５に示すソフトウエア管理システムのソフトウエア管理手順を示すフローチャートである。
【符号の説明】
【００７７】
１、１ａ    ソフトウエア管理システム
１０    クライアント端末装置
１５    ネットワーク
２０，２０ａ    ソフトウエア管理サーバ装置
１０１、２０１    ネットワークＩＦ部
１０２、２０２    入力部
１０３、２０３    出力部
１０４    記憶部
１０４１    実行モジュール記憶部
１０５    制御部
１０５１    プログラム実行部
１０５２    秘密鍵復号化部
２０４    記憶部
２０４１    ＩＤ情報データベース記憶部
２０４２    開発環境情報記憶部
２０４３    プログラム記憶部
２０４４    オブジェクトモジュール記憶部
２０４５    実行モジュール記憶部
２０５    制御部
２０５１    開発環境情報埋込部
２０５１ａ    公開鍵暗号化部
２０５２    プログラム翻訳部
２０５３    オブジェクト連携編集部
２０５４    実行モジュール送信部
２０５５    ＩＤ情報認証部
２０５６    開発環境送信部
【図１】
2005309594.tif 000003
【図２】
2005309594.tif 000004
【図３】
2005309594.tif 000005
【図４】
2005309594.tif 000006
【図５】
2005309594.tif 000007
【図６】
2005309594.tif 000008