(57)【要約】【課題】  使用権限が認められたユーザであっても、例えばアプリケーション自体に機密性の高い要素が含まれる場合等において、そのセキュリティを維持することが可能なシステムを提供する。【解決手段】  ユーザ認証を行なうための認証サーバ１１と、認証サーバ１１から送信されるユーザ情報と取得した位置情報とに基づいてアクセス制御を行なう制御手段７０と、ダウンロード可能なアプリケーションリストを生成する生成手段８０と、アプリケーションを起動するのに必要な実行ファイルセットの情報を管理する情報管理手段１００と、前記実行ファイルセットを配付する配付手段９０とを有するアプリケーション管理サーバ１０と、クライアント端末の位置情報を検出する検出手段６０と、配付手段９０によって配付された実行ファイルセットを起動する起動手段１１０とを有するクライアント３０とを含むアプリケーション配付システム等を提供する。【選択図】  図１
2005135002.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続されたサーバ／クライアント型のシステムであって、
ユーザ認証を行なうための第１の認証手段を有する認証サーバと、
前記認証サーバから送信されるユーザ情報と位置情報取得手段によって取得する位置情報とに基づいてアクセス制御を行なうアクセス制御手段と、ダウンロード可能なアプリケーションリストを生成するアプリケーションリスト生成手段と、アプリケーションを起動するのに必要な実行ファイルセットの情報を管理するアプリケーション情報管理手段と、前記実行ファイルセットを配付する配付手段とを有するアプリケーション管理サーバと、
ユーザ認証を行なうための第２の認証手段と、クライアント端末の位置情報を検出する位置情報検出手段と、前記配付手段によって配付された実行ファイルセットを起動する起動手段とを有するクライアントと
を含むことを特徴とするアプリケーション配付システム。
【請求項２】
ネットワークに接続されたサーバ／クライアント型のシステムにおけるユーザ認証を行なうためのサーバ装置であって、
ユーザ情報と位置情報取得手段によって取得する位置情報とに基づいてアクセス制御を行なうアクセス制御手段と、
ダウンロード可能なアプリケーションリストを生成するアプリケーションリスト生成手段と、
アプリケーションを起動するのに必要な実行ファイルセットの情報を管理するアプリケーション情報管理手段と、
前記実行ファイルセットを配付する配付手段と
を含むことを特徴とするサーバ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ情報と位置情報によってアクセス制御されたアプリケーションの配付、バージョンアップ、バージョンダウンを一貫して行なうアプリケーション配付システム及びサーバ装置に関するものである。
【背景技術】
【０００２】
Ｗｅｂサーバやファイルサーバなど、インターネットやイントラネットを利用してユーザにアプリケーションを提供するシステムが広く普及し、ユーザはネットワーク上のサーバからアプリケーションをパーソナルコンピュータ（ＰＣ）にダウンロードし、インストールすることで、ＰＣ上でアプリケーションを実行することが可能になっている。また、ユーザがＰＣ上にダウンロードし、インストールしたアプリケーションが更新された場合、ユーザは再度ダウンロードし、インストールする必要があるが、更新情報を監視し、アプリケーションが更新されたら、ＰＣ上のアプリケーションを更新する機能を持つアプリケーションも存在する。
【０００３】
また、位置情報の取得方法では、ＩＰアドレスやドメイン情報によりネットワーク上の接続場所を特定する方法や、ＧＰＳ（Global Positioning System）による地球上での現在位置を算出するシステムと地図情報システムとの組み合わせにより、ユーザのシステム利用場所を特定するシステムが広く普及している。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のアプリケーション配付システムにおけるアクセス制御では、１ユーザは１アプリケーションに対して同一権限で制御されていた。しかしながら、同一ユーザ、同一アプリケーションであっても、例えばアプリケーション自体に機密性の高い要素が含まれる場合、社外での利用を制限する必要があるなど、利用場所によりアクセス権を変更しなければならない場合があった。
【０００５】
本発明は上述の問題点にかんがみてなされたものであり、同一ユーザ、同一アプリケーションであっても、利用場所に応じてアクセス権の変更を可能とするアプリケーション配付システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は上記課題を解決するために、ネットワークに接続されたサーバ／クライアント型のシステムであって、ユーザ認証を行なうための第１の認証手段を有する認証サーバと、前記認証サーバから送信されるユーザ情報と位置情報取得手段によって取得する位置情報とに基づいてアクセス制御を行なうアクセス制御手段と、ダウンロード可能なアプリケーションリストを生成するアプリケーションリスト生成手段と、アプリケーションを起動するのに必要な実行ファイルセットの情報を管理するアプリケーション情報管理手段と、前記実行ファイルセットを配付する配付手段とを有するアプリケーション管理サーバと、ユーザ認証を行なうための第２の認証手段と、クライアント端末の位置情報を検出する位置情報検出手段と、前記配付手段によって配付された実行ファイルセットを起動する起動手段とを有するクライアントとを含むことを特徴とするアプリケーション配付システム等を提供する。
【発明の効果】
【０００７】
本発明によれば、アプリケーションのダウンロード、更新、バージョンダウンを行なう際に、ユーザ情報と位置情報からアクセス権を設定してアクセス制御を行なうようにしたので、同一ユーザの同一アプリケーションに対するアクセス権であっても、利用場所に応じてアクセス権を変更することができる。
【発明を実施するための最良の形態】
【０００８】
図１は、本発明におけるアプリケーション配付システムの概略構成図である。
図１において、１０はネットワーク２０を介してアプリケーション管理クライアント３０にアプリケーションを配付するアプリケーション管理サーバである。
【０００９】
アプリケーション管理クライアント３０の認証手段４０は、ユーザが当該アプリケーション管理クライアント３０を起動したときに認証情報２００が存在しているかを確認し、存在していない場合はアプリケーション管理サーバ１０にアクセスしてユーザ認証を行なう手段である。
【００１０】
また、認証サーバ１１の認証手段４１は、アプリケーション管理サーバ１０が当該認証サーバ１１にアクセスすると起動し、アプリケーション管理クライアント３０にログインフォーム２１０を送信する。ここで、ログインフォーム２１０が表示デバイス１２０上に表示されると、ユーザは入力デバイス１３０を用いてユーザＩＤとパスワードを入力し、これらを認証サーバ１１に送信する。認証手段４１は、送信されたユーザＩＤとパスワードの整合性をユーザリスト２２０の情報を元に確認するという手段である。
【００１１】
アプリケーション管理サーバ１０の位置情報取得手段５０は、アプリケーション管理クライアント３０に位置情報を要求し、アプリケーション管理クライアント３０の位置情報検出手段６０により検出された位置情報２３０を受信して取得する手段である。
【００１２】
アプリケーション管理サーバ１０のアクセス権制御手段７０は、認証サーバ１１から送信されたユーザＩＤのアプリケーションに対するアクセス権をアクセス制御リスト２４０から抽出し、アプリケーションへのアクセスを制御する手段である。
【００１３】
アプリケーション管理サーバ１０のアプリケーションリスト生成手段８０は、アプリケーション管理サーバ１０にアクセスしているユーザが利用可能なアプリケーションをアプリケーション情報ファイル２５０から抽出し、リスト作成する機能を有する手段である。
【００１４】
アプリケーション管理サーバ１０の配付手段９０は、アプリケーション情報管理手段１００を起動し、アプリケーション情報ファイル２５０から起動に必要な実行ファイルセット２６０の情報を抽出し、抽出された実行ファイルセット２６０をアプリケーション管理クライアント３０に送信する手段である。
【００１５】
アプリケーション管理クライアント３０の起動手段１１０は、ダウンロードされた実行ファイルセット２６０を実行する手段である。 ここで、ユーザはアプリケーションのダウンロードを行なうために、アプリケーション管理クライアント３０を起動する。アプリケーション管理クライアント３０では認証手段４０を起動し、認証情報２００が存在するかを確認する。存在しない場合は、アプリケーション管理サーバ１０にアクセスして認証を要求する。そして、認証を要求されたアプリケーション管理サーバ１０は認証サーバ１１にアクセスを行なう。
【００１６】
アプリケーション管理サーバ１０からアクセスされた認証サーバ１１は、認証手段４１を起動して認証処理を実行する。認証が終了したら、当該ユーザのユーザＩＤをアプリケーション管理サーバ１０に送信する。アプリケーション管理サーバ１０では位置情報取得手段５０を起動し、アプリケーション管理クライアント３０に位置情報を要求する。
【００１７】
アプリケーション管理クライアント３０は、位置情報検出手段６０を起動して位置情報２３０を検出し、検出された位置情報２３０をアプリケーション管理サーバ１０に送信する。
【００１８】
アプリケーション管理サーバ１０は、アクセス権制御手段７０を起動して認証情報２００と位置情報２３０からユーザが利用可能なアプリケーションを抽出する。そして、アプリケーションリスト生成手段８０は、抽出されたアプリケーションのリストを生成し、アプリケーション管理クライアント３０に送信する。
【００１９】
アプリケーション管理クライアント３０は、表示デバイス１２０上にアプリケーションリストを表示し、ユーザによりダウンロードするアプリケーションが選択される。アプリケーション管理サーバ１０では配付手段９０を起動する。この配付手段９０は、アプリケーション情報管理手段１００を起動し、アプリケーション情報ファイル２５０から実行に必要な実行ファイルの情報を抽出し、抽出された情報から実行ファイル２６０を特定してアプリケーション管理クライアント３０に実行ファイル２６０を送信する。アプリケーション管理クライアント３０では送信された実行ファイルセット２６０をユーザのローカルディスク上に保存する。
【００２０】
以上の処理により、ユーザは現在の利用場所で利用可能なアプリケーションをダウンロードすることができる。
【００２１】
次に、ユーザがアプリケーションの更新要求を行なった場合の処理を説明する。
まず、ユーザは、アプリケーション管理クライアント３０が表示するアプリケーションリストから更新したいアプリケーションを選択し、更新を要求する。そして、アプリケーション管理クライアント３０がアプリケーション管理サーバ１０に対してユーザにより選択されたアプリケーションのＩＤと保存されているアプリケーションのバージョン番号を送信する。
【００２２】
そして、アプリケーション管理サーバ１０では位置情報取得手段５０を起動し、アプリケーション管理クライアント３０に位置情報を要求する。アプリケーション管理クライアント３０では位置情報検出手段６０を起動し、位置情報２３０をアプリケーション管理サーバ１０に送信する。
【００２３】
そして、アプリケーション管理サーバ１０ではアプリケーション情報管理手段１００を起動し、認証情報２００と取得した位置情報２３０から利用可能でかつ最新バージョン番号を抽出し、アプリケーション管理クライアント３０から送信されたバージョン番号と比較する。ここで、更新されている場合は、最新バージョン番号をアプリケーション管理クライアント３０に送信し、アプリケーション管理クライアント３０はダウンロードを要求する。
【００２４】
以上の処理により、現在位置で利用可能であれば、アプリケーションの更新を行なうことができる。また、ユーザがアプリケーションの起動を要求したときも同様に、現在位置を確認しいぇアプリケーションの更新を行なってからアプリケーションを起動する。
【００２５】
次に、アプリケーションのバージョンを戻す処理を行なう。
ユーザは、アプリケーション管理クライアント３０が表示するアプリケーションリストからバージョンダウンしたいアプリケーションを選択し、バージョンダウンメニューからバージョンダウンを要求する。そして、アプリケーション管理クライアント３０は、戻したいバージョン番号を入力するためのウィンドウを表示してバージョン番号の入力を促し、入力されたバージョン番号をアプリケーション管理サーバ１０に送信してダウンロードを要求する。
【００２６】
これ以後の処理は、アプリケーションのダウンロードと同様の処理である。これにより、ユーザが要求したアプリケーションのバージョンが現在位置で利用可能であれば、要求されたバージョンに戻すことができる。 以上の処理で本発明を実施することができる。
【００２７】
［実施例１］
以下、本発明における実施例を図面を参照して詳細に説明する。
図１において、ネットワーク２０は、ＴＣＰ／ＩＰを通信プロトコルとするイントラネットであると仮定する。アプリケーション管理サーバ１０は、ＴＣＰ／ＩＰ上でアプリケーション管理クライアント３０、認証サーバ１１との通信機能を持つと仮定する。また、アプリケーション情報ファイル２５０，アクセス制御リスト２４０は、図２，図３に示すようにＸＭＬ形式で記述されているものとする。また、各アプリケーションのバージョンは、図２に示すような木構造で表現された親子兄弟関係で管理されているものとする。また、ユーザリスト２２０には、図４に示すようなユーザが登録されているものとする。
【００２８】
ここで、図５〜図１１を用いて、ユーザがアプリケーションをダウンロードするまでの処理の流れを具体的に説明する。
【００２９】
まず、図５のステップＳ１−１（[STEP１-１]）では、ユーザがアプリケーション管理クライアント３０を起動する。続いて、ステップＳ１−２（[STEP１-２]）では、アプリケーション管理クライアント３０において認証手段４０を起動し、認証手段４０が以下の処理を実行する。
【００３０】
まず、図６のステップＳ１−２−１（[STEP１-２-１]）では、認証情報２００が存在するか否かを判断する。この判断の結果、存在すると判断された場合には、図５のステップＳ１−３（STEP１-３）に進む。一方、存在しないと判断された場合には、ステップＳ１−２−２（STEP１-２-２）に進む。
【００３１】
続いて、ステップＳ１−２−２（STEP１-２-２）では、アプリケーション管理サーバ１０にアクセスを行なう。続いて、ステップＳ１−２−３（[STEP１-２-３]）では、アプリケーション管理サーバ１０から認証サーバ１１にアクセスを行なう。
【００３２】
続いて、ステップＳ１−２−４（STEP１-２-４）では、認証サーバ１１からログインフォーム２１０をアプリケーション管理クライアント３０に送信する。続いて、ステップＳ１−２−５（STEP１-２-５）では、アプリケーション管理クライアント３０はログインフォーム２１０を表示デバイス１２０上に表示する。ここで、このログインフォーム２１０は、図１２に示すような構成で表示されているものとする。
【００３３】
続いて、ステップＳ１−２−６（STEP１-２-６）では、ユーザがログインフォーム２１０中のテキスト入力部にユーザＩＤとパスワードを入力し、送信ボタンを選択して、入力したデータを認証サーバ１１に送信する。ここで、本ステップにおいて、ユーザが以下のデータを入力したものとする。
[ユーザＩＤ, パスワード] ＝ [yoshida, canon]
【００３４】
続いて、図７のステップＳ１−２−７（STEP１-２-７）では、認証サーバ１１において、ユーザリスト２２０からユーザＩＤと一致するＩＤを持つレコードを抽出する。続いて、ステップＳ１−２−８（STEP１-２-８）では、ユーザＩＤと一致するＩＤを持つデータが存在するか否かを判断する。この判断の結果、ユーザＩＤと一致するＩＤを持つデータが存在すると判断された場合には、ステップＳ１−２−９（STEP１-２-９）に進む。一方、ユーザＩＤと一致するＩＤを持つデータが存在しないと判断された場合には、エラーメッセージをアプリケーション管理クライアント３０に送信し、処理を終了する。ここで、以下のデータが取得できたものとする。
[ユーザＩＤ, パスワード] ＝ [yoshida, canon]
【００３５】
続いて、ステップＳ１−２−９（STEP１-２-９）では、ステップＳ１−２−６（STEP１-２-６）で送信されたデータとステップＳ１−２−８（STEP１-２-８）で取得したデータとを比較し、ユーザＩＤとパスワードが一致するかを判断する。この判断の結果、一致しないと判断された場合には、エラーメッセージをアプリケーション管理サーバ１０に送信し、処理を終了する。一方、一致すると判断された場合には、ステップＳ１−２−１０（STEP１-２-１０）に進んで、ユーザＩＤをアプリケーション管理サーバ１０に送信する。その後、ステップＳ１−３（STEP１-３）に進む。
【００３６】
続いて、図５のステップＳ１−３（STEP１-３）では、アプリケーション管理サーバ１０において位置情報手段５０を起動し、位置情報取得手段５０が以下の処理を実行する。
【００３７】
まず、図８のステップＳ１−３−１（STEP１-３-１）では、起動された位置情報取得手段５０において、アプリケーション管理クライアント３０に位置情報を要求する。
【００３８】
続いて、ステップＳ１−３−２（STEP１-３-２）では、アプリケーション管理クライアント３０において、位置情報検出手段６０を起動する。そして、起動された位置情報検出手段６０は現在位置を取得し、アプリケーション管理サーバ１０に対して、取得した現在の位置情報２３０を送信する。ここで、アプリケーション管理クライアントの利用端末は、以下のＩＰアドレスでイントラネット２０に接続しているものとする。
ＩＰ Address ＝ １９２.１６８.０.１１
この検出されたＩＰアドレスをアプリケーション管理サーバ１０に送信する。その後、図５のステップＳ１−４（STEP１-４）の処理に移行する。
【００３９】
続いて、ステップＳ１−４（STEP１-４）では、アプリケーション管理サーバ１０において、アクセス権制御手段７０を起動し、アクセス権制御手段７０が以下の処理を実行する。
【００４０】
まず、図９のステップＳ１−４−１（STEP１-４-１）では、起動されたアクセス権制御手段７０において、アクセス制御リスト２４０からユーザＩＤが含まれるアプリケーションＩＤが存在するか否かを判断する。この判断の結果、ユーザＩＤが含まれるアプリケーションＩＤが存在しない（抽出できない）と判断された場合には、エラーメッセージをアプリケーション管理クライアント３０に送信し、処理を終了する。一方、ユーザＩＤが含まれるアプリケーションＩＤが存在すると判断された場合には、ステップＳ１−４−２（STEP１-４-２）に進む。ここでは、以下のアプリケーションＩＤが取得できたものとする。
Application ＩＤ ＝ [１, ３]
これは、ユーザＩＤを持つユーザにおいて、アプリケーションＩＤが１と３のアプリケーションをダウンロード可能であることを示す。
【００４１】
続いて、ステップＳ１−４−２（STEP１-４-２）では、アクセス権制御手段７０においてステップＳ１−４−１（STEP１-４-１）で取得したアプリケーションＩＤにアクセス可能な位置情報２３１を抽出し、ステップＳ１−３−２（STEP１-３-２）で送信された位置情報２３０が抽出された位置情報２３１に属しているか否かを判断する。この判断の結果、位置情報２３０が位置情報２３１に属していると判断された場合には、ステップＳ１−５（STEP１-５）に進む。一方、位置情報２３０が位置情報２３１に属していないと判断された場合には、エラーメッセージをアプリケーション管理クライアントに送信し、処理を終了する。
【００４２】
ここで、アクセス制御リストからは、以下の情報レコードが取得できたものとする。
｛１, １９２.１６８.２５５.２５５｝
｛１, １７２.１６.１０.１０｝
｛３, １９２.１６８.２５５.２５５｝
【００４３】
上記の情報レコードは、｛Application ＩＤ, ＩＰ Address｝の形式で記述されている。今、アプリケーションＩＤ１のアプリケーションは端末がＩＰアドレス１９２.１６８.０.０から１９２.１６８.２５４.２５４の範囲に属しているＩＰアドレスで接続している場合、また１７２.１６.１０.１０のＩＰアドレスで接続している場合にダウンロード可能であり、アプリケーションＩＤ３のアプリケーションは端末がＩＰアドレスの１９２.１６８.０.０から１９２.１６８.２５４.２５４に含まれるＩＰアドレスで接続されている場合にダウンロード可能であることを示している。今端末が接続しているＩＰアドレスは１９２.１６８.０.１１であるため、アプリケーションＩＤ１，３のアプリケーションはダウンロード可能であることが確認できる。
【００４４】
続いて、図５のステップＳ１−５（STEP１-５）に進み、アプリケーション管理サーバ１０において、アプリケーションリスト生成手段８０を起動し、アプリケーションリスト生成手段８０が以下の処理を実行する。
【００４５】
まず、図１０のステップＳ１−５−１（STEP１-５-１）では、アプリケーション情報ファイル２５０から、ステップＳ１−４（STEP１-４）で取得したダウンロード可能なアプリケーションＩＤと一致するアプリケーション情報が存在するか否かを判断する。この判断の結果、アプリケーション情報が存在しないと判断された場合には、エラーメッセージをアプリケーション管理クライアント３０に送信し、処理を終了する。一方、アプリケーション情報が存在すると判断された場合には、ステップＳ１−５−２（STEP１-５-２）に進む。
【００４６】
続いて、ステップＳ１−５−２（STEP１-５-２）では、ステップＳ１−５−１（STEP１-５-１）で取得したアプリケーション情報からアプリケーションリストを生成し、アプリケーション管理クライアント３０に送信する。
【００４７】
続いて、図５のステップＳ１−６（STEP１-６）に進み、アプリケーション管理クライアント３０において、ステップＳ１−５−２（STEP１-５-２）で送信されたアプリケーションリストを表示デバイス１２０上に表示する。ここで、表示デバイス１２０上には、図１３に示すようなアプリケーションリストが表示されている。
【００４８】
続いて、ステップＳ１−７（STEP１-７）では、ユーザが入力デバイス１３０を用いて、表示されているアプリケーションリストからダウンロードしたいアプリケーションを選択し、ダウンロードを要求する。ここで、ユーザは、アプリケーションＩＤが１のアプリケーションを選択したものとする。
【００４９】
続いて、ステップＳ１−８（STEP１-８）では、アプリケーション管理クライアント３０において、選択されたアプリケーションのアプリケーションＩＤをアプリケーション管理サーバ１０に送信する。ここで、アプリケーション管理クライアント３０は、アプリケーションＩＤ=１をアプリケーション管理クライアントサーバ１０に送信したものとする。
【００５０】
続いて、ステップＳ１−９（STEP１-９）では、アプリケーション管理サーバ１０において配付手段９０を起動し、配付手段９０が以下の処理を実行する。
【００５１】
まず、図１１のステップＳ１−９−１（STEP１-９-１）では、アプリケーション情報管理手段１００を起動し、アプリケーション情報ファイル２５０から、ステップＳ１−８（STEP１-８）で送信されたアプリケーションＩＤを持つアプリケーションの実行に必要な実行ファイルセット２６０を特定する。
【００５２】
ここで、ステップＳ１−８（STEP１-８）では、アプリケーションＩＤ＝１のものが送信されたため、以下のデータが抽出されたものとする。
<fileset>
<file path="/applications/archive/appilcation１_１.０.１.jar"/>
<file path="/applications/lib/lib１.jar"/>
<file path="/applications/lib/lib２.jar"/>
</fileset>
これは、アプリケーションＩＤ１のアプリケーションが実行するのに必要なファイルは、 "/applications/archive/"ディレクトリに置かれている"appilcation１_１.０.１.jar"と、"/applications/lib/"ディレクトリに置かれている"lib１.jar"、"lib２.jar"であることが示されている。
【００５３】
続いて、ステップＳ１−９−２（STEP１-９-２）では、ステップＳ１−９−１（STEP１-９-１）で特定した実行ファイルセット２６０をアプリケーション管理クライアント３０に送信する。
【００５４】
続いて、図５のステップＳ１−１０（STEP１-１０）に進み、アプリケーション管理クライアント３０において、ステップＳ１−９−２（STEP１-９-２）で送信された実行ファイルセット２６０をアプリケーション保存ディレクトリに保存する。ここでは、以下の場所にファイルを保存したものとする。
C:\applications\application１\１.０.１\
【００５５】
ここまでの処理が、ユーザがアプリケーション管理クライアント３０を起動してから、利用したいアプリケーションをダウンロードするまでの処理の流れである。
【００５６】
次に、図１４，図１５を用いて、アプリケーションを更新する処理の流れを具体的に説明する。ここでは、まず、図５に示すステップＳ１−１（STEP１-１）からステップＳ１−２（STEP１-２）までの処理が終了しているものとする。
【００５７】
ステップＳ２−１（STEP２-１）では、ユーザがアプリケーションを選択し、更新を要求する。ここで、アプリケーション管理クライアント３０には、図１６に示すのようなウィンドウで表示されているものとする。また、メニューには、図１７に示すような項目があるものとする。このとき、ユーザは、アプリケーションリストから更新したいアプリケーションを選択し、メニューの更新項目を選択する。
【００５８】
続いて、ステップＳ２−２（STEP２-２）では、アプリケーション管理クライアント３０からアプリケーション管理サーバ１０に対して、ステップＳ２−１（STEP２-１）でユーザが選択したアプリケーションのアプリケーションＩＤと、現在アプリケーション保存ディレクトリに保存されているアプリケーションのバージョン番号を送信し、更新情報を要求する。ここで、アプリケーション保存ディレクトリに保存されているバージョン番号は１.０.１であるので、アプリケーションＩＤ＝１、バージョン番号＝１.０.１をアプリケーション管理サーバ１０に送信する。
【００５９】
続いて、ステップＳ２−３（STEP２-３）では、ステップＳ１−３（STEP１-３）の処理を実行する。続いて、ステップＳ２−４（STEP２-４）では、アプリケーション管理サーバ１０において、アクセス権制御手段７０を起動する。ここで、アクセス権制御手段７０は、アクセス制御リスト２４０からステップＳ２−２（STEP２-２）で送信されたアプリケーションＩＤにアクセス可能な位置情報を抽出し、ステップＳ２−３（STEP２-３）で取得した位置情報２３０が今抽出した位置情報２３１に属しているかを確認する。位置情報２３０が位置情報２３１に属しているならば、ステップＳ２−５（STEP２-５）に処理を進める。一方属していないならば、エラーメッセージをアプリケーション管理クライアント３０に送信し、処理を終了する。
【００６０】
続いて、ステップＳ２−５（STEP２-５）では、アプリケーション管理サーバ１０において、アプリケーション情報管理手段１００を起動し、起動されたアプリケーション情報管理手段１００が以下の処理を実行する。
【００６１】
まず、図１５のステップＳ２−５−１（STEP２-５-１）では、送信されたアプリケーションＩＤと一致するＩＤを持つアプリケーション情報をアプリケーション情報ファイル２５０から抽出し、最新バージョン番号を取得する。ここでは、以下のバージョン番号が取得できたものとする。
Version ＝ １.０.２
【００６２】
続いて、ステップＳ２−５−２（STEP２-５-２）では、ステップＳ２−５−１（STEP２-５-１）で取得したバージョン番号とステップＳ２−２（STEP２-２）でアプリケーション管理クライアント３０から送信されたバージョン番号を比較し、更新されているか否かを判断する。この判断の結果、ステップＳ２−５−１（STEP２-５-１）で取得されたバージョン番号の方が新しい（更新されている）と判断された場合は、ステップＳ２−５−３（STEP２-５-３）に進んで、ステップＳ２−５−１（STEP２-５-１）で取得したバージョン番号をアプリケーション管理クライアント３０に送信する。一方、更新されていないと判断された場合は、ステップＳ２−５−４（STEP２-５-４）に進んで、ステップＳ２−２（STEP２-２）でアプリケーション管理クライアント３０から送信されたバージョン番号をアプリケーション管理クライアント３０に送信する。
【００６３】
ここで、ステップＳ２−５−１（STEP２-５-１）で取得したバージョン番号とステップＳ２−２（STEP２-２）でアプリケーション管理クライアント３０から送信されたバージョン番号をアプリケーション情報ファイル２５０に記載されている木構造から検証してみると、ステップＳ２−２（STEP２-２）で送信されたバージョン番号はversion ＝ １.０.１、ステップＳ２−５−１（STEP２-５-１）で取得したバージョン番号はversion ＝ １.０.２であり、ステップＳ２−５−１（STEP２-５-１）で取得したバージョン番号の方が新しいため、ステップＳ２−５−１（STEP２-５-１）で取得したバージョン番号をアプリケーション管理クライアント３０に送信する。
【００６４】
続いて、図１４のステップＳ２−６（STEP２-６）では、アプリケーション管理クライアント３０において、ステップＳ２−５−２（STEP２-５-２）で送信されたバージョン番号とステップＳ２−２（STEP２-２）で送信したバージョン番号を比較し、一致する否かを判断する。この判断の結果、一致すると判断された場合には、本処理を終了する。一方、一致しないと判断された場合には、ステップＳ２−７（STEP２-７）に進む。ここでは、送信したバージョン番号と異なるため、ステップＳ２−７（STEP２-７）に処理を進める。
【００６５】
続いて、ステップＳ２−７（STEP２-７）では、アプリケーション管理クライアント３０において、アプリケーションＩＤとステップＳ２−６（STEP２-６）で取得したバージョン番号をアプリケーション管理サーバ１０に送信し、ダウンロードを要求する。
【００６６】
続いて、ステップＳ２−８（STEP２-８）では、ステップＳ１−８（STEP１-８）からステップＳ１−１０（STEP１-１０）までと同様の処理を行なう。ここまでが、ユーザのアプリケーション更新要求からアプリケーションが更新されるまでの処理の流れである。
【００６７】
次に、図１８を用いて、ユーザが明示的にアプリケーションの更新を要求するのではなく、アプリケーションの起動を要求した際に更新状況を確認して更新、起動するまでの処理の流れを具体的に説明する。ここでも、まず、図５に示すステップＳ１−１（STEP１-１）からステップＳ１−２（STEP１-２）までの処理が終了しているものとする。
【００６８】
ステップＳ３−１（STEP３-１）では、ユーザがアプリケーションを選択し、起動を要求する。ここで、ユーザはアプリケーションＩＤ＝１のアプリケーションを選択したものとする。
【００６９】
続いて、ステップＳ３−２（STEP３-２）では、図１４に示したステップＳ２−２（STEP２-２）からステップＳ２−８（STEP２-８）までと同様の処理を行なう。
【００７０】
続いて、ステップＳ３−３（STEP３-３）では、アプリケーション管理クライアント３０において起動手段１１０を起動し、起動手段１１０はステップＳ３−２（STEP３-２）で更新した実行ファイルセット２６０を実行する。この処理によって、ユーザがアプリケーションの更新を意識すること無く、アプリケーションの更新を行なうことができる。
【００７１】
次に、図１９を用いて、アプリケーションのバージョンを以前のバージョンに戻す処理の流れを具体的に説明する。ここでも、まず、図５に示すステップＳ１−１（STEP１-１）からステップＳ１−２（STEP１-２）までの処理が終了しているものとする。
【００７２】
ステップＳ４−１（STEP４-１）では、ユーザがアプリケーションを選択し、バージョンダウンを要求する。ここで、アプリケーション管理クライアント３０には、図１６に示すようなウィンドウで表示されているものとする。また、メニューには、図１７に示すような項目があるものとする。このとき、ユーザは、アプリケーションリストからバージョンダウンしたいアプリケーションを選択し、メニューのバージョンダウン項目を選択する。
【００７３】
続いて、ステップＳ４−２（STEP４-２）では、アプリケーション管理クライアント３０において、バージョン入力ウィンドウを表示デバイス１２０上に表示する。ここで、バージョン入力ウィンドウには、図２０に示すような表示のウィンドウであるものとする。
【００７４】
続いて、ステップＳ４−３（STEP４-３）では、ユーザがバージョン入力ウィンドウのテキスト入力部にバージョン番号を入力し、送信ボタンを選択する。
【００７５】
続いて、ステップＳ４−４（STEP４-４）では、図１４のステップＳ２−３（STEP２-３）、ステップＳ２−４（STEP２-４）と同様の処理を行なう。
【００７６】
続いて、ステップＳ４−５（STEP４-５）では、図５のステップＳ１−９（STEP１-９）、ステップＳ１−１０（STEP１-１０）と同様の処理を行なう。以上の処理により、ユーザが要求するバージョンにアプリケーションを戻すことができる。
【００７７】
なお、本実施例においては、位置情報をＩＰアドレスとしたが、ＧＰＳによって算出された地球上での現在位置と、アクセス可能範囲を地図上のエリアで決定した地図情報からアクセス制御を行なうことも可能である。また、アプリケーションだけでなく、バージョン管理された電子データ等でも、本発明により位置情報によるアクセス制御されたダウンロード、バージョンアップ、バージョンダウンが実施可能である。
【００７８】
［実施例２］
本発明の実施例２において、上述した実施例１と異なるのは、クライアント端末４１１、４１２がアプリケーション管理サーバ１０と同一イントラネット２０内に接続されているのではなく、図２１に示すようにイントラネット２１，２２に接続し、プロキシサーバ４０１，４０２を介してインターネット３００に接続されている点である。また、アプリケーション管理サーバ１０はイントラネット２０に接続され、プロキシサーバ４００を介してインターネット３００に接続されている。
【００７９】
図２１において、プロキシサーバ４００，４０１，４０２は、ＴＣＰ／ＩＰを通信プロトコルとするインターネット３００に接続されていると仮定する。プロキシサーバ４００，４０１，４０２は、それぞれグローバルＩＰアドレス１７２.１６.０.１０、１７２.１６.１０.１０、１７２.１６.２０.１０を持ち、ＴＣＰ／ＩＰを通信プロトコルとするイントラネット２０，２１，２２に各々接続されているとする。また、クライアント端末４１０，４１１，４１２は、アプリケーション管理クライアント３０，３１，３２を装備し、各々イントラネット２０，２１，２２に接続し、その接続しているイントラネット内で管理されているプライベートＩＰアドレスを持つものとする。アプリケーション管理サーバ１０は、イントラネット２０に接続されていると仮定する。図２２を用いて、この場合の処理の流れを具体的に説明する。
【００８０】
ステップＳ５−１（STEP５-１）では、ユーザがクライアント端末４１１のアプリケーション管理クライアント３１を起動する。続いて、ステップＳ５−２（STEP５-２）では、図５のステップＳ１−２（STEP１-２）までの処理と同様である。
【００８１】
続いて、ステップＳ５−３（STEP５-３）では、アプリケーション管理サーバ１０において、位置情報取得手段５０を起動する。
【００８２】
続いて、ステップＳ５−４（STEP５-４）では、位置情報取得手段５０において、プロキシサーバ４０１の位置情報２３２を取得する。ここでは、ステップＳ５−２（STEP５-２）で送信された認証要求は、プロキシサーバ４０１を経由している。このため、認証要求のヘッダ情報におけるリクエスト元のＩＰアドレスは、プロキシサーバ４０１のＩＰアドレスとなっている。よって、このヘッダ情報のＩＰアドレスからプロキシサーバ４０１の位置情報２３２を取得できる。このとき、以下のＩＰアドレスが取得できたものとする。
１７２.１６.１０.１０
【００８３】
続いて、ステップＳ５−５（STEP５-５）では、図５のステップＳ１−４（STEP１-４）以降の処理と同様である。以上の処理により、プロキシサーバを介してインターネット接続されたネットワーク環境であっても、位置情報によるアクセス制御が可能となる。
【００８４】
［実施例３］
本発明の実施例３において、上述した他の実施例と異なるのは、位置情報取得手段５０とアクセス制御手段がアプリケーション管理クライアントに存在する点である。
図２３は、本発明の実施例３における代表的なシステム構成図である。また、図２４を用いて、本発明の実施例３における更新を伴うアプリケーション起動処理の流れを具体的に説明する。ここで、図５のステップＳ１−２（STEP１-２）のユーザ認証処理が終了し、ユーザＩＤがアプリケーション管理クライアントに送信されているものとする。また、アクセス権制御リスト２４１は、図３のように記述されているものとする。
【００８５】
まず、図２４のステップＳ６−１（STEP６-１）では、図１８のステップＳ３−１（STEP３-１）と同様の処理を行なう。続いて、ステップＳ６−２（STEP６-２）では、図１４のステップＳ２−２（STEP２-２）と同様の処理を行なう。
【００８６】
続いて、ステップＳ６−３（STEP６-３）では、アプリケーション管理クライアント３３において位置情報検出手段６１を起動し、位置情報２３３を検出する。位置情報２３３の検出処理については、図８のステップＳ１−３−２（STEP１-３-２）と同様の処理を行なう。
【００８７】
続いて、ステップＳ６−４（STEP６-４）では、アプリケーション管理クライアント３３においてアクセス制御手段７１を起動し、ユーザＩＤとステップＳ６−３（STEP６-３）で取得した位置情報２３３、ステップＳ６−２（STEP６-２）で取得したアプリケーションＩＤからアプリケーションＩＤを持つアプリケーションが現ユーザ、現在位置で利用可能か否かを判断する。この判断の結果、利用可能と判断された場合には、ステップＳ６−５（STEP６-５）進み、一方、利用可能でないと判断された場合には、エラーメッセージを表示デバイス上に表示して処理を終了する。ここでは、ユーザＩＤは１であり、位置情報２３３であるＩＰアドレスは"１９２.１６８.０.１０"である。また、アプリケーションＩＤは１である。ここで、アクセス制御リスト２４１からアプリケーションＩＤのデータを抽出すると、アクセス可能なユーザにユーザＩＤ＝１が含まれており、アクセス可能な位置にＩＰ Address ＝ １９２.１６８.０.１０が含まれている。従って、現在アプリケーションＩＤ１のアプリケーションにはアクセス可能であるため、ステップＳ６−５（STEP６-５）に処理を進める。
【００８８】
続いて、ステップＳ６−５（STEP６-５）では、図１４のステップＳ２−５（STEP２-５）、ステップＳ２−６（STEP２-６）と同様の処理を行なう。続いて、ステップＳ６−６（STEP６-６）では、図１８のステップＳ３−３（STEP３-３）と同様の処理を行なう。
以上の処理により、アクセス制御手段がアプリケーション管理クライアントに存在する場合の処理が実施できる。
【図面の簡単な説明】
【００８９】
【図１】本発明におけるアプリケーション配付システムの概略構成図である。
【図２】アプリケーション情報ファイルの例を示した図である。
【図３】アクセス制御リストの例を示した図である。
【図４】ユーザリストの例を示した図である。
【図５】アプリケーションをダウンロードするまでの処理手順を示したフローチャートである。
【図６】認証手段における処理手順を示したフローチャートである。
【図７】認証手段における処理手順を示したフローチャートである。
【図８】位置情報取得手段における処理手順を示したフローチャートである。
【図９】アクセス権制御手段における処理手順を示したフローチャートである。
【図１０】アプリケーションリスト生成手段における処理手順を示したフローチャートである。
【図１１】配付手段における処理手順を示したフローチャートである。
【図１２】ログインフォームのイメージ図である。
【図１３】ダウンロードアプリケーションリストのイメージ図である。
【図１４】アプリケーション更新の処理手順を示したフローチャートである。
【図１５】アプリケーション情報管理手段における処理手順を示したフローチャートである。
【図１６】アプリケーション管理クライアントのイメージ図である。
【図１７】アプリケーション管理クライアントのメニューのイメージ図である。
【図１８】更新を伴うアプリケーション起動の処理手順を示したフローチャートである。
【図１９】アプリケーションバージョンダウンの処理手順を示したフローチャートである。
【図２０】バージョン入力ウィンドウのイメージ図である。
【図２１】本発明の実施例２におけるアプリケーション配付システムの概略構成図である。
【図２２】本発明の実施例２におけるアプリケーション配付システムの処理手順を示したフローチャートである。
【図２３】本発明の実施例３におけるアプリケーション配付システムの概略構成図である。
【図２４】本発明の実施例３におけるアプリケーション配付システムの処理手順を示したフローチャートである。
【符号の説明】
【００９０】
１０  アプリケーション管理サーバ
１１  認証サーバ
２０、２１、２２  イントラネット
３０、３１、３２、３３  アプリケーション管理クライアント
４０、４１  認証手段
５０  位置情報取得手段
６０、６１  位置情報検出手段
７０、７１  アクセス権制御手段
８０  アプリケーションリスト生成手段
９０  配付手段
１００  アプリケーション情報管理手段
１１０  起動手段
１２０  表示デバイス
１３０  入力デバイス
２００  認証情報
２１０  ログインフォーム
２２０  ユーザリスト
２３０、２３３  位置情報
２４０、２４１  アクセス制御リスト
２５０  アプリケーション情報ファイル
２６０  実行ファイルセット
３００  インターネット
４００、４０１、４０２  プロキシサーバ
４１０、４１１、４１２  クライアント端末
【図１】
2005135002.tif 000003
【図２】
2005135002.tif 000004
【図３】
2005135002.tif 000005
【図４】
2005135002.tif 000006
【図５】
2005135002.tif 000007
【図６】
2005135002.tif 000008
【図７】
2005135002.tif 000009
【図８】
2005135002.tif 000010
【図９】
2005135002.tif 000011
【図１０】
2005135002.tif 000012
【図１１】
2005135002.tif 000013
【図１２】
2005135002.tif 000014
【図１３】
2005135002.tif 000015
【図１４】
2005135002.tif 000016
【図１５】
2005135002.tif 000017
【図１６】
2005135002.tif 000018
【図１７】
2005135002.tif 000019
【図１８】
2005135002.tif 000020
【図１９】
2005135002.tif 000021
【図２０】
2005135002.tif 000022
【図２１】
2005135002.tif 000023
【図２２】
2005135002.tif 000024
【図２３】
2005135002.tif 000025
【図２４】
2005135002.tif 000026