(57)【要約】【課題】  従来のソフトウェアおよび関連するライブラリファイルの自動配布を行うソフトウェア配布システムでは、クライアント側に一度ダウンロードしたソフトウェアはネットワークに接続していなくても実行することが可能であった。このため、配布時にユーザ認証等による配布制限を行っても、ダウンロードしたソフトウェアを容易に複製して起動することが可能であった。【解決手段】  本発明は、ソフトウェアをダウンロードする際、単体では実行不可能な２つ以上のファイルに分割し、ソフトウェア終了時に合成ファイルおよび分割ファイルの一部を削除することで、ダウンロードしたソフトウェアの起動に関するユーザ認証を一貫して管理できるソフトウェア配布システムを提供することができる。【選択図】  図１
2007109157.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続されたサーバ／クライアント型のシステムであって、
ユーザの認証を行う認証手段を有するクライアントが送信する認証情報を、認証手段を有するサーバに送信し前記サーバから返された値によりアプリケーションへのアクセス権を制御するアクセス権制御手段と、
実行可能な配布ファイルを分割する分割手段と、
前記アクセス権に基づいてソフトウェアを配布する配布手段
を備えるサーバと、
ソフトウェアを起動する起動手段と、
前記分割ファイルを合成する合成手段と、
ソフトウェア終了時に合成ファイルおよび分割ファイルの一部を削除する削除手段
を備えるクライアント
から成ることを特徴とするソフトウェア配布システム。
【請求項２】
ネットワークに接続されたサーバ／クライアント型のシステムであって、
ユーザの認証を行う認証工程を有するクライアントが送信する認証情報を、認証工程を有するサーバに送信し前記サーバから返された値でアプリケーションへのアクセス権を制御するアクセス権制御工程と、
実行可能な配布ファイルを分割する分割工程と、
前記アクセス権に基づいてソフトウェアを配布する配布工程
を備えるサーバと、
ソフトウェアを起動する起動工程と、
前記分割ファイルを合成する合成工程と、
ソフトウェア終了時に合成ファイルおよび分割ファイルの一部を削除する削除工程
を備えるクライアント
から成ることを特徴とするソフトウェア配布プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアの配布と更新、ダウンロードしたソフトウェアの起動に関するユーザ認証を一貫して管理できるソフトウェア配布システムに関する。
【背景技術】
【０００２】
インターネット等のネットワークに接続されたサーバ／クライアント型システムであって、ソフトウェアおよび関連するライブラリファイルの自動配布を行うソフトウェア配布システムが存在する。また、クライアント側でソフトウェア起動時に必要となるライブラリファイルを自動的に更新する機能を有するソフトウェア配布システムが存在する。
【０００３】
従来例としては、例えば特許文献１をあげることが出来る。
【特許文献１】特開２００２−００７１３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のソフトウェア配布システムでは、クライアント側に一度ダウンロードしたソフトウェアは、ネットワークに接続していなくても実行することが可能であった。このため、配布時にユーザ認証等による配布制限を行っても、ダウンロードしたソフトウェアを容易に複製して起動することが可能であった。ダウンロードしたソフトウェアの起動を制限するには、認証機能をソフトウェアに組み込むか、ダウンロードしたファイルの起動を制限する認証システムを新たに導入する等の必要があった。
【０００５】
そこで、本発明では、ソフトウェアの配布と更新、ダウンロードしたソフトウェアの起動に関するユーザ認証を一貫して管理することができるソフトウェア配布システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明にかかるソフトウェア配布システムおよび配布プログラムは、
ネットワークに接続されたサーバ／クライアント型のシステムであって、
ユーザの認証を行う認証手段を有するクライアントが送信する認証情報を、認証手段を有するサーバに送信し前記サーバから返された値でアプリケーションへのアクセス権を制御するアクセス権制御手段と、
実行可能な配布ファイルを分割する分割手段と、
前記アクセス権に基づいてソフトウェアを配布する配布手段
を備えるサーバと、
ソフトウェアを起動する起動手段と、
前記分割ファイルを合成する合成手段と、
ソフトウェア終了時に合成ファイルおよび分割ファイルの一部を削除する削除手段
を備えるクライアント
から成ることを特徴とする。
【発明の効果】
【０００７】
ソフトウェアの配布や更新を行うソフトウェア配布システムにおいて、ソフトウェアダウンロード時に単体では実行不可能な2つ以上のファイルに分割し、ソフトウェア終了時に合成ファイルおよび分割ファイルの一部を削除することで、ダウンロードしたソフトウェアの起動に関するユーザ認証を一貫して管理できるソフトウェア配布システムを提供することができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明にかかる一実施形態のソフトウェア配布システムについて図面を参照して詳細に説明する。
【０００９】
図１は、本発明の実施形態におけるソフトウェア配布システム構成図である。図１において、101はネットワーク104を介してソフトウェア管理クライアント102にソフトウェアを配布するソフトウェア管理サーバである。ネットワーク104は、TCP/IPを通信プロトコルとするイントラネットであると仮定し、ソフトウェア管理サーバ101、ソフトウェア管理クライアント102、認証サーバ103は、TCP/IP上で相互に通信可能であるとする。
【００１０】
認証手段108は、ユーザがソフトウェア管理クライアント102を起動したときに認証情報117が存在しているかを確認し、存在していない場合はソフトウェア管理サーバ101にアクセスしてユーザ認証を行う手段である。認証手段112は、ソフトウェア管理サーバ101が認証サーバ103にアクセスすると起動し、ソフトウェア管理クライアント102にログインフォーム118を送信する手段である。ソフトウェア管理クライアント102の表示デバイス120上にログインフォームが表示されると、ユーザは入力デバイス121を用いてユーザＩＤとパスワードを入力し、認証サーバ103に送信する。認証手段112は、送信されたユーザＩＤとパスワードの整合性をユーザリスト119の情報を元に確認する手段である。アクセス権制御手段105は、認証サーバ103から送信されたユーザＩＤのソフトウェアに対するアクセス権をアクセス権リスト115から抽出し、ソフトウェアへのアクセスを制御する手段である。分割手段106は、分割情報を記載したソフトウェア情報ファイル114を元に、実行可能なソフトウェアを単体では実行不可能な２つ以上のファイルに分割する手段である。配布手段107は、分割したファイルおよびソフトウェア情報ファイル114をソフトウェア管理クライアント102に配布する手段である。合成手段109は、ソフトウェア情報ファイル116を元に、ダウンロードした分割ファイルを実行可能なソフトウェアに合成する手段である。起動手段110は、合成されたソフトウェアを実行する手段である。削除手段111は、ソフトウェア終了時に合成ファイルおよび分割ファイルの一部を削除する手段である。
【００１１】
図2〜7は、ユーザがソフトウェア管理クライアントを起動してから、ソフトウェアを終了するまでのフローチャート図である。以下、詳細に説明する。
【００１２】
[Step1-1]
ユーザがソフトウェア管理クライアントを起動し、実行するソフトウェアをソフトウェア管理サーバに要求する。
【００１３】
[Step1-2]
ソフトウェア管理クライアントは認証手段を起動し、認証手段は次の処理を実行する。
【００１４】
[Step1-2-1]
ソフトウェア管理クライアントに認証情報が存在するか確認する。存在する場合は、Step1-3に進む。存在しない場合は、Step1-2-2に進む。
【００１５】
今、認証情報は存在しないものとして、Step1-2-2に処理を進める。
【００１６】
[Step1-2-2]
ソフトウェア管理サーバにアクセスする。
【００１７】
[Step1-2-3]
ソフトウェア管理サーバは認証サーバにアクセスする。
【００１８】
[Step1-2-4]
認証サーバはログインフォームをソフトウェア管理クライアントに送信する。
【００１９】
[Step1-2-5]
ソフトウェア管理クライアントはログインフォームを表示デバイス上に表示する。今、ログインフォームは図８のような構成で表示されているものとする。
【００２０】
[Step1-2-6]
ユーザはログインフォーム中のテキスト入力部にユーザＩＤとパスワードを入力し、送信ボタンを選択し、入力したデータを認証サーバに送信する。
【００２１】
今、ユーザは以下のデータを入力したものとする。
【００２２】
｛ユーザＩＤ、パスワード｝＝｛higuchi、 canon｝
[Step1-2-7]
認証サーバは、ユーザリストからユーザＩＤと一致するＩＤを持つレコードを抽出する。今、ユーザリストには図９に示すようなデータが保存されているものとする。
【００２３】
[Step1-2-8]
ユーザＩＤとパスワードが一致するレコードが存在するならば、ユーザＩＤをソフトウェア管理サーバに送信する。存在しないならば、エラーメッセージをソフトウェア管理クライアントに送信し、処理を終了する。
【００２４】
今、ユーザＩＤとパスワードが一致するレコードが存在したものとし、ユーザＩＤをソフトウェア管理サーバに送信する。
【００２５】
[Step1-3]
ソフトウェア管理サーバは、アクセス権制御手段を起動する。起動されたアクセス権制御手段は、認証サーバから送信されたユーザＩＤのソフトウェアに対するアクセス権をアクセス権リストから抽出し、ソフトウェアへのアクセス権があるか判定する。アクセス権がない場合、エラーメッセージをソフトウェア管理クライアントに送信し、処理を終了する。アクセス権がある場合、Step1-4に進む。
【００２６】
今、要求したソフトウェアに対するアクセス権があったものとする。
【００２７】
[Step1-4]
ソフトウェア管理サーバは分割手段を起動し、分割手段は次の処理を実行する。
【００２８】
[Step1-4-1]
ソフトウェア管理サーバはソフトウェア情報ファイルから分割情報を抽出する。
【００２９】
ソフトウェア情報ファイルの例を図１０に示す。
【００３０】
今、以下の分割情報が抽出されたものとする。
【００３１】
<version="1.0">
<target="/software/archive/software1.0.jar">
<filename="divide1.jar">
<file="core.class"/>
</filename>
<other="divide2.jar"/>
</target>
</version>
これは、要求されたソフトウェアが実行するのに必要な"/software/archive"ディレクトリにある"software1.0.jar"アーカイブファイルから、"core.class"ファイルを抽出して"divide1.jar"ファイルを作成し、残りのファイルから"divide2.jar"ファイルを作成することが示されている。
【００３２】
[Step1-4-2]
ソフトウェア管理サーバは、抽出した分割情報に基づいて実行可能なソフトウェアを単体では実行不可能な2つ以上のファイルに分割する。
【００３３】
[Step1-5]
ソフトウェア管理サーバは配布手段を起動し、配布手段は次の処理を実行する。
【００３４】
[Step1-5-1]
ソフトウェア管理サーバはソフトウェア情報ファイルから、ソフトウェアの実行に必要なファイルセットを特定する。今、以下のデータが抽出されたものとする。
【００３５】
<version="1.0">
<fileset>
<filepath="/software/archive/divide1.jar"/>
<filepath="/software/archive/divide2.jar"/>
<filepath="/software/lib/lib.jar"/>
<fileset>
</version>
これは、要求したソフトウェアが実行するのに必要なファイルは、"/software/archive"ディレクトリにある"divide1.jar"ファイルと"divide2.jar"ファイル、"/software/lib"ディレクトリにある"lib.jar"ファイルであることが示されている。
【００３６】
[Step1-5-2]
ソフトウェア管理サーバは、抽出したデータを記述したソフトウェア情報ファイルをソフトウェア管理クライアントに送信する。
【００３７】
[Step1-5-3]
ソフトウェア管理クライアントは、保存ディレクトリにソフトウェア情報ファイルが存在するか確認する。存在する場合はStep1-5-4に進む。存在しない場合はStep1-5-6に進む。
【００３８】
今、以下の内容が記述されたソフトウェア情報ファイルが存在したものとして、Step1-5-4に進む。
【００３９】
<version="1.0">
<fileset>
<filepath="/software/archive/divide1.jar"/>
<filepath="/software/archive/divide2.jar"/>
<filepath="/software/lib/lib.jar"/>
<fileset>
</version>
[Step1-5-4]
ソフトウェア管理クライアントは、Step1-5-2で送信されたソフトウェア情報ファイルと保存ディレクトリにあるソフトウェア情報ファイルのバージョン情報を比較する。ソフトウェア管理クライアントにあるバージョン情報のほうが古い場合、Step1-5-6に進む。バージョン情報が等しい場合Step1-5-5に進む。
【００４０】
今、両者のバージョン情報は等しいので、Step1-5-5に進む。
【００４１】
[Step1-5-5]
ソフトウェア管理クライアントは、ソフトウェア情報ファイルに記述されたファイルセットが保存ディレクトリに存在するか確認する。全て存在する場合はStep1-6に進む。一部のファイルが存在しない場合は、Step1-5-6に進む。
【００４２】
[Step1-5-6]
ソフトウェア管理クライアントは、ダウンロードが必要なファイルセットを、ソフトウェア管理サーバに要求する。
【００４３】
[Step1-5-7]
ソフトウェア管理サーバは、要求されたファイルセットをソフトウェア管理クライアントに送信する。
【００４４】
[Step1-5-8]
Step1-5-7で送信されたソフトウェアに必要なファイルセットを、ソフトウェア保存ディレクトリに保存する。今、以下の場所にファイルセットを保存したものとする。
【００４５】
C:\software\1.0\
[Step1-6]
ソフトウェア管理クライアントは合成手段を起動し、合成手段は次の処理を実行する。
【００４６】
[Step1-6-1]
ソフトウェア管理クライアントはソフトウェア情報ファイルから合成情報を抽出する。
【００４７】
今、以下の分割情報が抽出されたものとする。
【００４８】
<version="1.0">
<target="/software/archive/software1.0.jar">
<filename="divide1.jar">
<file="core.class"/>
</filename>
<other="divide2.jar">
</other>
</target>
</version>
これは、要求されたソフトウェアが実行するのに必要な"software1.0.jar"ファイルは、"/software/archive"ディレクトリにある"divide1.jar"ファイルおよび"divide2.jar"ファイルを合成して作成することを示されている。
【００４９】
[Step1-6-2]
ソフトウェア管理サーバは、抽出した合成情報に基づいて実行可能なソフトウェアに合成する。
【００５０】
[Step1-7]
ソフトウェア管理クライアントは起動手段を起動し、Step1-6で合成したファイルを用いてソフトウェアを実行する。
【００５１】
[Step1-8]
ソフトウェア終了後、ソフトウェア管理クライアントは削除手段を起動し、Step1-6で合成したファイルおよびソフトウェア情報ファイルに基づいて分割ファイルの一部を削除する。
【００５２】
これにより、ダウンロードしたソフトウェアの起動に関するユーザ認証を一貫して管理することができる。
【図面の簡単な説明】
【００５３】
【図１】実施形態のソフトウェア配布システム構成図である。
【図２】実施形態のソフトウェア配布システムのフローチャート図である。
【図３】認証手段を示すフローチャート図である。
【図４】アクセス権制御手段を示すフローチャート図である。
【図５】分割手段を示すフローチャート図である。
【図６】配布手段を示すフローチャート図である。
【図７】合成手段を示すフローチャート図である。
【図８】ログインフォームのイメージ図である。
【図９】ユーザリストの例を示す図である。
【図１０】ソフトウェア情報ファイルの例を示す図である。
【図１】
2007109157.tif 000003
【図２】
2007109157.tif 000004
【図３】
2007109157.tif 000005
【図４】
2007109157.tif 000006
【図５】
2007109157.tif 000007
【図６】
2007109157.tif 000008
【図７】
2007109157.tif 000009
【図８】
2007109157.tif 000010
【図９】
2007109157.tif 000011
【図１０】
2007109157.tif 000012