(57)【特許請求の範囲】
【請求項１】
ネットワークに接続された複数のコンピュータへのプログラム配付を管理するプログラム配付管理システムにおいて、
いずれかの前記コンピュータ上で実行されるプログラムの配付状況を示す情報を提供する配付情報提供手段と、
前記プログラムの参照先にあたる前記実行プログラムの種類に関する情報を提供する参照情報提供手段と、
前記配付情報提供手段から得られた情報と、前記参照情報提供手段から得られた情報とに基づいて、前記実行プログラムの参照先となる前記実行プログラムが配付されている場所を導き出す参照先管理手段と、
を備えることを特徴とするプログラム配付管理システム。
【請求項２】
請求項１記載のプログラム配付管理システムにおいて、
前記参照先管理手段は、導き出した前記実行プログラムの参照先を、前記実行プログラムに伝える伝達手段を備えることを特徴としたプログラム配付管理システム。
【請求項３】
請求項２記載のプログラム配付管理システムにおいて、
前記伝達手段は、前記実行プログラムを配付またはインストールする際に、前記実行プログラムが参照する参照先実行プログラムの所在を、前記参照情報提供手段から取り出し、前記実行プログラムに伝える手段を備えることを特徴としたプログラム配付管理システム。
【請求項４】
請求項２記載のプログラム配付管理システムにおいて、
実行プログラムを配付されたコンピュータは、
前記伝達手段を介して前記参照情報提供手段にアクセスし、前記配付された実行プログラムが参照する参照先実行プログラムの所在を取り出す手段を備えることを特徴としたプログラム配付管理システム。
【請求項５】
請求項２記載のプログラム配付管理システムにおいて、
前記参照先管理手段は、
配付した前記実行プログラムが参照する参照先実行プログラムの所在を求め、  前記伝達手段は、求めた前記所在をすでに配付した前記実行プログラムに対して、伝えることを特徴としたプログラム配付管理システム。
【請求項６】
請求項１記載のプログラム配付管理システムにおいて、
前記参照先管理手段は、
前記コンピュータに前記実行プログラムを配付する手段と、
前記実行プログラムの参照先が無い場合、前記配付手段が前記コンピュータに前記実行プログラムを配付またはインストールすることを保留させる手段とを備えることを特徴としたプログラム配付管理システム。
【請求項７】
請求項１記載のプログラム配付管理システムにおいて、
前記参照先管理手段は、
前記コンピュータに前記実行プログラムを配付する手段と、
前記実行プログラムを参照先とする、保留状態の配付処理またはインストール処理の有無を確認する手段と、
ある場合は、保留状態の配付処理またはインストール処理を実行する手段とを備えることを特徴としたプログラム配付管理システム。
【請求項８】
ネットワークに接続された複数のコンピュータに配付されたプログラムの削除を管理するプログラム管理システムにおいて、
前記プログラムの参照先にあたる前記実行プログラムの種類に関する情報を提供する参照情報提供手段と、
前記参照情報提供手段から得られた情報に基づいて、前記実行プログラムの参照先となる前記実行プログラムが配付されている場所を導き出す参照先管理手段とを備え、
前記参照先管理手段は、
前記実行プログラムの削除を行う際に、削除する前記実行プログラムを参照先とする他の前記実行プログラムを、削除することを特徴としたプログラム管理システム。
【請求項９】
コンピュータに読み込まれ、実行され、前記コンピュータに、他のコンピュータへの実行プログラムの配付を管理させるに必要なプログラムとデータとを記憶した記憶媒体であって、
前記プログラムは、前記データを用いて、前記コンピュータに、
いずれかの前記他のコンピュータ上で実行されるプログラムの配付状況を示す情報を提供させ、
前記プログラムの参照先にあたる前記実行プログラムの種類に関する情報を提供させ、
前記配付状況を示す情報と、前記実行プログラムの種類に関する情報とに基づいて、前記実行プログラムの参照先となる前記実行プログラムが配付されている場所を導き出させることを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はネットワークシステムにおける、コンピュータ機器に対するソフトウェアの配付方法に関する。
【０００２】
【従来の技術】
多数のコンピュータが使われる環境で、コンピュータ上で実行されるプログラム（実行プログラム、アプリケーション、またはＡＰという）をインストールする場合、手作業では煩雑となるため、特開平6-12348号公報等で記載されているように、ネットワークを介したソフト配付機能が用いられる。このようなソフト配付機能を用いることで、一度に多数のコンピュータに対してＡＰを配付・インストールでき、作業の煩雑さが軽減される。
【０００３】
ＡＰはそのＡＰ単体で動作するものもあるが、他のＡＰと連携して動作するものもある。たとえばアプリケーションＡを実行するためにアプリケーションＢが必要な場合、アプリケーションＡのみを配付・インストールしてもアプリケーションＢがなければアプリケーションＡは動作しない。そのことをふまえ、ＡＰの依存関係に基づいてＡＰの配付を行うことが、特開平10-83280号公報で記載されている。この技術によれば、アプリケーションＡがアプリケーションＢに依存しているという情報を定義しておき、アプリケーションＡを配付する際に、その依存情報を参照し、依存関係にあるアプリケーションＢも併せて配付するというものである。
【０００４】
【発明が解決しようとする課題】
従来の技術の項で述べた通り、ＡＰがその実行のために他のＡＰが必要となるケースがある。
【０００５】
さらに、ＡＰが動作するコンピュータ（以下、マシンまたは稼働機ともいう）が互いに依存関係にある複数のＡＰについて同一である場合と、異なる場合がある。たとえばクライアント・サーバ・プログラムでは、クライアントプログラムはサーバプログラムに依存しており、クライアントプログラムのみでは動作しない。
【０００６】
このような、稼働機の異なるＡＰ間での依存関係に関して次の二つの問題点がある。
【０００７】
(1)  ＡＰの配付・インストール時の問題
あるアプリケーションＡが他のアプリケーションＢに依存しており、アプリケーションＡのインストールの際にアプリケーションＢがインストールされているマシンのＩＤの入力が必要な場合がある。たとえば、データベースアプリケーションの場合、データベースクライアントのインストールの際にデータベースサーバが入っているマシンＩＤの入力作業が必要となる。そのような場合、データベースクライアントがデータベースサーバに依存するということは決められているものの、両者を結びつける手だてが無いため、前記の入力作業が必要になる。
【０００８】
また、アプリケーションＡがアプリケーションＢに依存している場合、アプリケーションＢのインストール先が確定しない限りアプリケーションＡをインストールできない。アプリケーションＢのインストール前でも、アプリケーションＢのインストール先が決まっているなら、そのインストール先をあらかじめ指定しておくことが考えられるが、その入力作業は手作業となり、間違いが発生する可能性がある。
【０００９】
(2)  ＡＰの削除時の問題
あるアプリケーションＡが他のアプリケーションＢに依存していて、マシン１でアプリケーションＢが、その他多数のマシンでアプリケーションＡが稼働している時に、仮にマシン１上のアプリケーションＢを削除するとしたら、その影響範囲がどこまで及ぶかを事前に調べる場合、次のような作業が必要となる。すなわち、人（そのＡＰを管理する者）がアプリケーションＢに依存しているＡＰを調査し、アプリケーションＡがアプリケーションＢに依存していることを把握し、さらにアプリケーションＡが入っているマシンを調べる必要があった。その上、アプリケーションＡが別のアプリケーションＣに依存されていれば、さらにアプリケーションＣの追跡も必要になり、人手で行う場合、非常に煩雑な作業になる。
【００１０】
また、あるマシン１上でアプリケーションＢが稼働していて、他のマシン上でアプリケーションＢに依存しているアプリケーションＡが稼働している場合に、アプリケーションＢをマシン１からマシン２に切り替えて稼働させたい場合、前記削除時の影響範囲調査と同様な調査を行う上、アプリケーションＡの参照先を、マシン１からマシン２に変更する必要があり、人手で行う場合の作業が煩雑になる。
【００１１】
前記特開平10-83280号公報で記載されている方法は、同一マシン内での依存関係を定義し、処理するものとなっており、稼働機の異なるＡＰ間での依存関係にまつわるこれらの問題を解決するものではない。
【００１２】
本発明は、マシンの異なるＡＰ同士に依存関係がある場合の、ＡＰの配付・削除等の管理作業の煩雑さを軽減する技術の提供を目的とする。
【００１３】
【課題を解決するための手段】
上記目的を達成するために、本発明は、稼働機の異なるＡＰ間の参照状況を管理する手段を備える。
【００１４】
具体的には、本発明は、ＡＰ間の依存関係をデータの形で定義し、前記依存関係の参照状況に関する情報と、ＡＰの配付状況に関する情報とを提供する手段を備え、さらに前記参照状況提供手段と前記配付状況提供手段を用いて、ＡＰの配付や削除、ＡＰの参照先の更新等を指示する管理手段を備えるものである。
【００１５】
さらに本発明は、ＡＰを実行する機能、前記ＡＰ参照管理手段から命令を受け取る機能、配付される前記ＡＰを受け取る機能、配付された前記ＡＰをインストールする機能、インストールされていた前記ＡＰを削除（アンインストール）する機能、前記ＡＰの参照先を前記ＡＰに伝える機能、を有するＡＰ実行手段を持つ。
【００１６】
なお、本発明におけるこれらの手段は、一般的には、コンピュータのメモリに導入されてＣＰＵによって実行されるプログラムとして実現される。さらに、これらのプログラムは、通常、可搬型記憶媒体を介して、または他のコンピュータから伝送媒体を介して、導入されるものである。
【００１７】
【発明の実施の形態】
本発明のシステム構成例を図１に示す。構成要素は大きく分けて管理機10とターゲット機20の２つである。
【００１８】
本発明の特徴の一つは、ＡＰ間の依存関係に基づいてＡＰの参照先を自動決定する手段を有することである。その決定内容をターゲット機20に伝える方法として、本実施例では次の三つの方法を使用する。
【００１９】
第一の方法は、管理機10からターゲット機20に対してＡＰを配付する時にすでに参照先が決まっており、ＡＰ配付と同時に参照先情報をターゲット機20に送るケースで、以下この設定方法をSTATICと呼ぶ。
【００２０】
第二の方法は、ターゲット機20の方から情報提供手段105にアクセスし、参照先情報を得る方法で、以下DOWNLOADと呼ぶ。
【００２１】
第三の方法は、ＡＰ配付後に管理機10からターゲット機20に対して参照情報を通知する方法で、以下NOTIFICATIONと呼ぶ。なお、本発明の実施に当たって前記三つの方法すべてが必要というわけではなく、必要な方法のみ使用しても良い。
【００２２】
本実施例では、ＡＰ登録の際に、ＡＰの配付を管理する者、すなわち配付管理者が処理の実行を指示することを想定しており、ＡＰの管理処理の途中に、処理内容に選択肢が発生した場合には、配付管理者に随時確認を求める形としているが、処理の選択内容が固定等の理由で配付管理者の介在が不要な場合には、配付管理者に確認を求める処理部分を省略可能である。
【００２３】
管理機10の役目は、ターゲット機20上のＡＰの配付や参照関係を管理することである。また、ターゲット機20の役目は主な役目はＡＰを実行することであり、そのＡＰの実行に必要となるインストールや参照先の設定などを行うほか、ＡＰのアンインストール機能も有する。
【００２４】
管理機10、ターゲット機20は、たとえば図２に示すハードウェア構成を採る。すなわち、ＣＰＵ41、メモリ42、キーボード43、ディスプレイ44、ハードディスクドライブ45、ネットワークインターフェース46などのハードウェア部品を持つ。そして、管理機10とターゲット機20間はネットワーク50によって接続し、管理機10とターゲット機20間で相互にデータの送受信が可能にする。
【００２５】
以下、管理機10、ターゲット機20それぞれについての詳細を説明する。
【００２６】
１．管理機10
管理機10は、配付状況テーブル103、参照状況テーブル104、配付待ちバッファ101を持つ。さらに管理機１０は、たとえば図２に示すハードウェア４０において、メモリ４２に格納されているプログラムがＣＰＵ４１によって実行されることにより実現されるＡＰ管理処理102、情報提供手段105を持つ。管理機10はこれらの構成によりＡＰの内容を定義したＡＰパッケージ31およびターゲット機20にＡＰを配付する内容をまとめた配付パッケージ32を処理する。各構成要素について説明する。
【００２７】
配付状況テーブル103は、ターゲット機20に配付したＡＰの一覧を保持する機能を有する。その内容はたとえば図４に示すように、ＡＰＩＤ1031とマシンＩＤ1032のペアを格納すれば良い。ＡＰＩＤは、他の種類のＡＰと区別し、ＡＰを一意に特定するための名前である。また、マシンＩＤはターゲット機20を一意に特定するための名前で、たとえばターゲット機20のホスト名を設定すれば良い。
【００２８】
参照状況テーブル104は、ＡＰ間の参照状況を示す情報を保持する。その内容はたとえば図５に示すように、参照元マシンＩＤ1041、参照元ＡＰＩＤ1042、参照先マシンＩＤ1043、参照先ＡＰＩＤ1044、参照先数1045、通知要否1046、初回参照アクション1047を組み合わせたもの（レコード）のリストとなっている。
【００２９】
参照元マシンＩＤ1041は参照をしている側のＡＰが入っているターゲット機20のＩＤを入れる。参照元ＡＰＩＤ1042は参照をしている側のＡＰのＩＤを入れる。参照先マシンＩＤ1043は参照されている側のＡＰが入っているターゲット機20のＩＤを入れる。参照先ＡＰＩＤ1044は参照されている側のＡＰのＩＤを入れる。参照先数1045は参照先のマシンＩＤをいくつ指定できるかを規定する値を入れる。通知要否1046は参照先マシンＩＤ1043の内容が変更された時に、参照元のターゲット機20にその旨を通知するかどうかを指定する。初回参照アクション1047は、参照先が確定した時に実行する処理を定義する。
【００３０】
配付待ちバッファ101は、参照先未定等の理由ですぐに配付しないＡＰの配付パッケージ32を保持する。
【００３１】
ＡＰパッケージ31はＡＰ固有の情報をまとめたもので、ＡＰのインストール／アンインストール、参照先の設定方法に関する情報を持つ。図３はＡＰパッケージ31の構成例で、ＡＰＩＤ311、インストール用ファイル群312、処理定義313、依存関係定義314の情報からなる。ＡＰＩＤ311は他のＡＰと区別するための識別名を示す。インストール用ファイル群312はＡＰのインストールやアンインストール、プログラムの実行時に必要となるファイルをまとめたものである。処理定義313は、インストール、アンインストール、参照先設定を行う場合の手続きを示したものである。インストール3131とアンインストール3132ではそれぞれ処理プログラムの名称を指定し、参照先設定3133には参照先が変更されたことをＡＰ本体に伝える方法を定義する。
【００３２】
依存関係定義314にはそのＡＰが必要とするＡＰＩＤ3141、設定数3142、設定方法3143、属性名3144を定義する。設定数3142にはいくつのマシンと参照可能か、たとえば「一つのみ」や「複数可能」などを定義する。設定方法3143には、参照先の情報を取得する方法、すなわち前記STATIC、前記DOWNLOAD、前記NOTIFICATIONのいずれかあるいはそれらの組み合わせを定義する。属性名3144には参照先の情報の格納先の識別名を定義する。たとえばそのＡＰが、ＡＰ固有の定義ファイル内に特定のプロパティ名で参照先を記入することでＡＰに対して参照先を伝えるタイプである場合、その定義ファイル名とプロパティ名を属性名3144に記述する。
【００３３】
配付パッケージ32の内容は、図６に示すように配付ＩＤ321、配付先322、ＡＰＩＤ323、インストール用ファイル群324、処理定義325、インストールフラグ326、参照先327のリストからなる。配付ＩＤ321は配付パッケージ32の識別名で、他の配付パッケージ32と区別するために備える。配付先322には、配付パッケージ32の配付先のターゲット機20の識別名を規定する。ＡＰＩＤ323、インストール用ファイル群324、処理定義327についてはＡＰパッケージ31での同名のものと同じ内容である。インストールフラグ326にはターゲット機20にＡＰが配付された後、続けてインストールを行うかを示す情報を定義する。参照先327のリストは、参照先をＡＰに伝える方法を定義したものを並べたものである。参照先327の個数は一つだけでも良い。各参照先設定327には、さらに参照先ＡＰＩＤ3271、設定方法3272（前記STATIC、前記DOWNLOAD、前記NOTIFICATIONのいずれかまたはそれらの組み合わせ）、属性名3273（参照先をＡＰに伝える時に使われる情報の識別名）、属性値（参照先のマシンＩＤ）3274、情報取得タイミング3275（参照先情報を前記DOWNLOADで取得する場合に、マシン起動時、ＡＰ起動時、一定周期のいずれかまたはそれらの組み合わせ）を定義する。
【００３４】
ＡＰ管理処理102はＡＰの登録、ＡＰの削除、参照状況の表示、参照先情報提供の四つの機能を有する。それぞれについて説明する。
【００３５】
(1)  ＡＰの登録
ＡＰ登録処理の概要は次の通り。ターゲット機20上で実行する個々のＡＰの内容が定義されたＡＰパッケージ31の内容に基づいて、管理機10上の配付状況テーブル103、参照状況テーブル104を参照し、ターゲット機20にＡＰを配付するか、あるいは配付待ちバッファ101に配付内容（配付パッケージ32）を格納する。
【００３６】
ＡＰ登録処理の詳細を図１０の処理フローに基づき説明する。
【００３７】
（ステップ8101）
配付管理者に処理対象のＡＰパッケージ31とその配付先ターゲット機20を指定させる。その際、図１４に示すようなユーザインターフェイス画面を使って、配付物9101であるＡＰパッケージ31のＩＤの入力と、配付先9102であるターゲット機20をリストの中から選択を行えば良い。
【００３８】
（ステップ8102）
配付管理者が指定したＡＰパッケージ31から配付パッケージ32を作成する。配付パッケージ32内のＡＰＩＤ323、インストール用ファイル群324、処理定義325は、ＡＰパッケージ31内の同名の情報をコピーする。また、配付パッケージ32内の配付先322には、配付管理者が指定した内容を入れる。ＡＰパッケージ31内の依存関係定義314内の情報の属性名3142と設定方法3143を、配付パッケージ32内の同名の項目にコピーする。配付パッケージ32内のインストールフラグ326は1（インストールする）に設定する。
【００３９】
（ステップ8103）
参照先を探す。すなわち、ＡＰパッケージ31内の依存関係定義内に記されている他のＡＰがすでにどこかのターゲット機20に配付されているかどうかを、配付状況テーブル103を参照して確認する。もしもどこかに配付済みの場合には、その配付先を参照先として設定して良いかを配付管理者に確認する。
【００４０】
（ステップ8105）
配付管理者が「配付先を参照先として良い」を選択した場合、参照状況テーブル104にレコードを追加する。追加するレコードの内容は、参照元マシンＩＤ1041にＡＰの配付先を、参照元ＡＰＩＤ1042にＡＰＩＤを、参照先マシンＩＤ1043に参照先である前記参照先のマシンＩＤを、参照先ＡＰＩＤ1044に参照先ＡＰのＩＤを、ＡＰ参照数1045にＡＰパッケージ31内のＡＰの設定数3142を、初回参照時のアクション1047に空白、を設定する。なお通知要否1046には、ＡＰパッケージ31内の設定方法3143にNOTIFICATIONが含まれているなら要を、そうでない場合には否を入れる。
【００４１】
（ステップ8108）
配付パッケージ32内の属性定義内の属性値に参照先のマシンＩＤを設定する。
【００４２】
（ステップ8111）
、配付パッケージ32の配付を実行して処理を終了する。
【００４３】
（ステップ8104）
どこにも配付されていない場合には、配付を待つかどうか、言い換えると、参照先ＡＰが配付されるまで処理中のＡＰの配付を保留するかどうか、を配付管理者に確認する。
【００４４】
（ステップ8107）
配付管理者が「配付を待つ」を選択した場合、配付パッケージ32を配付待ちバッファ101に登録する。
【００４５】
（ステップ8110）
参照状況テーブル104にレコードを追加する。追加するレコードの内容は、参照元マシンＩＤ1041にＡＰの配付先を、参照元ＡＰＩＤ1042にＡＰＩＤを、参照先マシンＩＤ1043に空白を、参照先ＡＰＩＤ1044に参照先ＡＰのＩＤを、ＡＰ参照数1045にＡＰパッケージ内のＡＰの設定数3142を、初回参照時のアクション1047に「配付バッファ上にある配付パッケージ32（現在処理中の配付パッケージ32）を配付する」を、設定する。なお通知要否1046には、ＡＰパッケージ31内の設定方法3143にNOTIFICATIONが含まれているなら要を、そうでない場合には否を入れる。そして配付パッケージ32内の属性定義内の属性値に参照先のマシンＩＤを入れて、配付パッケージ32の配付を実行して処理を終了する。
【００４６】
（ステップ8106）
配付管理者が「配付を待たない」を選択した場合、さらに配付管理者にインストールを待つかどうかを確認する。
【００４７】
（ステップ8109）
ステップ8106で、配付管理者が「インストールを待つ」と選択した場合、参照状況テーブル104にレコードを追加する。追加するレコードの内容は、参照元マシンＩＤ1041にＡＰの配付先を、参照元ＡＰＩＤ1042にＡＰＩＤを、参照先マシンＩＤ1043に空白を、参照先ＡＰＩＤ1044に参照先ＡＰのＩＤを、ＡＰ参照数1045にＡＰパッケージ内のＡＰの設定数3142を、初回参照時のアクション1047に「配付先上にある配付ＡＰ（現在処理中の配付パッケージ32内のＡＰＩＤで特定されるＡＰ）をインストールする」を、設定する。
【００４８】
なお通知要否1046には、ＡＰパッケージ31内の設定方法3143にNOTIFICATIONが含まれているなら要を、そうでない場合には否を入れる。そして配付パッケージ32内の属性定義内の属性値に参照先のマシンＩＤを設定する。
【００４９】
（ステップ8112）
ステップ8106で、配付管理者が「インストールを待たない」を選択した場合、参照状況テーブル104にレコードを追加する。追加するレコードの内容は、参照元マシンＩＤ1041にＡＰの配付先を、参照元ＡＰＩＤ1042にＡＰＩＤを、参照先マシンＩＤ1043に空白を、参照先ＡＰＩＤ1044に参照先ＡＰのＩＤを、ＡＰ参照数1045にＡＰパッケージ内のＡＰの設定数3142を、初回参照時のアクション1047に空白を、設定する。なお通知要否1046には、ＡＰパッケージ31内の設定方法3143にNOTIFICATIONが含まれているなら要を、そうでない場合には否を入れる。
【００５０】
（ステップ8113）
配付パッケージ32の配付を実行して、処理を終了する。
【００５１】
フローチャートには記述していないが、参照先ＡＰが複数ある場合には、それぞれの参照先ＡＰに対して図８内の参照先の有無判断以後の処理を繰り返す。
【００５２】
配付パッケージ32の配付処理の内容について説明する。
【００５３】
最初にターゲット機20に対して配付パッケージ32の配付指示を発行する。その内容は、図９に示すように、配付のコマンド識別ＩＤ3301と配付パッケージ32の二つの情報を含む。
【００５４】
配付状況テーブル103にレコードを追加する。追加するレコードは、ＡＰＩＤ1031に配付パッケージ32内のＡＰＩＤを、マシンＩＤ1032に配付パッケージ32内のマシンＩＤを、設定する。
【００５５】
参照状況テーブル104の中から、今回配付したＡＰを参照しているレコード（「参照先ＡＰ」が今回処理しているＡＰＩＤであるもの）を検索する。
【００５６】
もしもレコードが見つからなかった場合には、何もせず復帰する。
【００５７】
見つかったら、見つかったレコード毎に図１１に示す以下の待機物処理を行う。
【００５８】
（ステップ8201）
見つかった該レコードの参照先マシンＩＤ1043の項目の内容をチェックし、空白（参照先が未確定）かどうかを判定する。
【００５９】
（ステップ8204）
空白なら、配付パッケージ32内の配付先322に入っているマシンＩＤの個数が、該レコードの参照先数1045に入っている値を越えているかどうかをチェックする。
【００６０】
（ステップ8205）
越えているなら、配付管理者にどの参照先を残すかを選択させる。その際、図１５に示すようなユーザインターフェイス画面を使って、残すマシンＩＤを選択させればよい。
【００６１】
（ステップ8207）
選択されたマシンＩＤのみ該レコードの参照先マシンＩＤ1043に入れる。ステップ8204でのチェック結果が、「越えていない」ならば、現在処理中の配付パッケージ32内の配付先322を、該レコードの参照先マシンＩＤ1043に入れる。
【００６２】
（ステップ8209）
該レコードの初回参照アクション1047の内容をチェックする。
【００６３】
（ステップ8212）
内容が配付待ちなら、その配付待ちの配付パッケージ32に所在が確定した参照先の情報を設定し、その配付パッケージ32の配付を実行し（ただし、その配付待ちの配付パッケージ32が複数の参照先を持っており、他に配付待ちの参照先があれば配付しない）し、復帰する。
【００６４】
（ステップ8211）
内容がインストール待ちかどうかをチェックする。インストール待ちでもないなら、ステップ8210へ移る。
【００６５】
（ステップ8214）
インストール待ちならば、インストール待ちのターゲット機20にインストール指示を、図９に示すようにＡＰＩＤ3312と参照先3313のリストを付けて発行する（ただし、そのインストール待ちのＡＰが複数の参照先を持っており、他にインストール待ちあるいは配付待ちの参照先があればインストール指示を発行しない）。
【００６６】
（ステップ8210）
該レコードの通知要否1046の項目をチェックする。通知不要なら何もせず復帰（配付処理を終了）する。
【００６７】
（ステップ8213）
通知が必要な場合には該レコードの参照元マシン1041が示すターゲット機20に対して図９の参照先設定の形式333に従って通知を発行し、復帰（配付処理を終了）する。
【００６８】
（ステップ8203）
ステップ8201において、前記参照先マシンＩＤ1043の項目チェックの結果が空白でないなら、既存の項目を更新するかどうかを配付管理者に問い合わせる。配付管理者が「更新しない」と選択したら復帰（配付処理を終了）する。
【００６９】
（ステップ8206）
配付管理者が「更新する」と選択したら、既存の参照先マシンＩＤと今回の配付先マシンＩＤを合わせた中から必要な参照先マシンＩＤを配付管理者に選択させる。
【００７０】
（ステップ8208）
選択された参照先のみ該レコードの参照先マシンＩＤ1043に登録し、ステップ8210へ移る。
【００７１】
(2)  ＡＰの削除
削除処理は、特定のターゲット機20上のＡＰを削除するための指示をターゲット機20上の管理コマンド処理201に発行することにより行う。なお、そのＡＰの削除に伴って、そのＡＰを利用している他のＡＰの削除あるいは参照先の変更を行う。
【００７２】
（ステップ8301）
具体的な処理としては、最初に配付管理者に、図１６に示すようなユーザインターフェイス画面を用いて、ＡＰＩＤとマシンＩＤの組み合わせを選択させて、削除対象のＡＰのＡＰＩＤとマシンＩＤを指定させる。
【００７３】
以下、指定されたＡＰを削除する手順について、図１２に示したフローに基づき説明する。
【００７４】
（ステップ8303）
指定されたＡＰを参照先とするレコードを、参照状況テーブル104から検索する。
【００７５】
（ステップ8305）
見つかったら、見つかったそれぞれのレコードについて、次の処理を実行する。
【００７６】
（ステップ8307）
該レコードの参照先マシンＩＤ1043の内容をチェックし、削除対象のＡＰが稼働しているマシン以外に参照しているマシンがあるかどうかを判定する。
【００７７】
（ステップ8309）
削除対象以外のマシンを参照しているなら、参照先マシンＩＤ1043から削除対象となっているマシンＩＤを取り除く。
【００７８】
（ステップ8314）
該レコードの通知要否1046をチェックする。
【００７９】
（ステップ8315）
通知要なら該レコードの参照先マシンＩＤ1041で規定されるターゲット機に対して該ＡＰに関する参照先設定の通知333（図９）を発行する。
【００８０】
（ステップ8308）
ステップ8307で、削除対象以外に参照先が無い場合、配付管理者にＡＰを削除するかどうか確認を取る。
【００８１】
（ステップ8310）
「削除する」と指定された場合、該レコードのＡＰについて図１２で示したＡＰの削除を実行（再帰の呼び出しを実行）する。
【００８２】
（ステップ8311）
「削除しない」と指定された場合、さらに他のマシンに参照先を変更するかどうかを配付管理者に確認する。
【００８３】
（ステップ8312、8313）
ステップ8311で、「変更する」と指定された場合、さらに他に参照先があるかどうかを参照状態テーブルでチェックし、他に参照先があるなら配付管理者にどれを選択するかを指定させ、該レコードの参照先マシンＩＤ1043を選択された内容に更新し、他に参照先が無いなら該レコードの参照先マシンＩＤ1043は空白とする。
【００８４】
（ステップ8302）
前記削除対象ＡＰの参照元ＡＰの処理が終わったら、配付状況テーブル103から削除対象のＡＰに関するレコードを取り除く。
【００８５】
（ステップ8304）
参照状況テーブル104から削除対象のＡＰに関するレコードを削除する。
【００８６】
（ステップ8306）
削除対象のマシンに対して、図９のアンインストール332の形式で、削除対象ＡＰの削除（アンインストール）を、削除対象ＡＰが配付されているターゲット機20に指示する。
【００８７】
(3)  参照状況の表示
ＡＰの削除処理と同様なロジックで、ＡＰとそのＡＰを参照するＡＰの一覧を表示することが可能である。
【００８８】
表示画面例を図１７に示す。結果表示エリア9401に参照されているＡＰのリストが表示されている。かっこの外はＡＰＩＤでかっこの中はマシンＩＤを示している。たとえば、先頭のAPPf  (PCe)は、PCe上のAPPfというＡＰから参照されていることを示している。入れ子状態の参照は、表示位置をずらすことで表現すれば良い。たとえば、結果表示エリア9401内の３行目のAPPd  (PCd)は、表示位置がずれている。これは、表示対象のＡＰ（APPa  (PCa)、タイトルバーに表示）を直接参照しているのではなく、２行目のAPPb  (PCe)を参照していることを表現している。
【００８９】
図１８は、図１７の変形例で、参照ツリー表示エリア9401は図１７と同様だが、参照ツリー表示エリア9401内の各行は選択可能になっており、その行の一つを選択すること（9403）で、その行に関する詳細情報（参照元、参照先それぞれについて、参照状況テーブル104の内容）を詳細表示エリア9402に表示する。
【００９０】
(4)  参照先情報提供
前述した通り、管理機10とターゲット機20間の参照先情報の受け渡し方法の一つにDOWNLOADがあり、その場合、情報問い合わせ手段202から情報提供手段105に対して参照先に関する問い合わせが発行され、それに対して情報提供手段105が参照先を返答する。
【００９１】
情報問い合わせ手段202と情報提供手段105間でやりとりされる情報の形式は図８に示した通りで、問い合わせ34の場合、「問い合わせ」を示す種別コード341とリクエスト元のターゲット機20のマシンＩＤ342、参照元となるＡＰＩＤ343、参照先ＡＰＩＤ344を送信する。それに対する応答は、同様に「応答」を示す種別コード351と参照先マシンＩＤ352が送信される。
【００９２】
情報提供手段105はターゲット機20からの問い合わせを受けると、参照状況テーブル104から、ターゲット機20から送られてきた問い合わせ34に含まれるマシンＩＤ342とＡＰＩＤ343と参照ＡＰＩＤ344に一致するレコードを検索し、該レコードの参照先マシンＩＤ1043の内容をターゲット機20に返答する。
【００９３】
２．ターゲット機20
ターゲット機20はＡＰを実行することが主たる役目だが、本実施例に関して次の二つの機能を有する。すなわち、(1)ＡＰ管理処理102からコマンド処理に発行されるコマンドの処理、(2)情報問い合わせ手段202から情報提供手段105への問い合わせである。
【００９４】
これらの機能を実現するために、ターゲット機20は、ＡＰ管理テーブル203を持ち、さらに、たとえば図２に示すハードウェア４０において、メモリ４２に格納されているプログラムがＣＰＵ４１によって実行されることにより実現される管理コマンド処理201と情報問い合わせ手段202とを持つ（図１参照）。
【００９５】
ＡＰ管理テーブル203は、ＡＰの管理に必要な情報をまとめたものである。その構成は図７に示したように、配付済みのＡＰそれぞれについて、そのＡＰのＡＰＩＤ2031、処理定義2032、参照先2033のリストを含む。処理定義2032と参照先2033のリストは配付パッケージ32内の同名のものと同じで、配付時に配付パッケージ32のコピーをＡＰ管理テーブル203内に作る。
【００９６】
コマンド処理201は、管理機10からターゲット機20に発行されるコマンドの処理を行う機能を有する。情報問い合わせ手段202は、ターゲット機20から管理機10に対して特定のＡＰの参照先を問い合わせる処理を行う。
【００９７】
(1)  ＡＰ管理処理102からコマンド処理201に発行されるコマンドの処理
管理コマンド処理201は、管理機10から発行（指示）されるターゲット機20用ＡＰ制御用コマンドを処理する。コマンドの種類は、配付ＡＰの受け取り、インストール、インストール済みＡＰのアンインストール、参照先設定の四つである。
【００９８】
管理コマンド処理201に処理の流れを図１３に基づいて説明する。
【００９９】
（ステップ8403）
最初に、管理機10からの指示（コマンド）の種類をチェックする。
【０１００】
（ステップ8403）
指示の種類が配付3301なら、配付パッケージ32を受け取る。
【０１０１】
（ステップ8405）
配付パッケージ32内のＡＰＩＤ323と処理定義325と参照先327のリストの内容をＡＰ管理テーブル203に登録する。
【０１０２】
（ステップ8409）
配付パッケージ32内のインストールフラグ324が1（インストールを行う）であれば、ステップ8410へ移る。
【０１０３】
（ステップ8410）
配付パッケージ32内にあるＡＰのインストールを、配付パッケージ32内「処理定義」のインストールの項目の内容に従って行う。
【０１０４】
（ステップ8404）
指示の種類がインストールなら、ステップ8410へ移る。
【０１０５】
（ステップ8406、8410）
ＡＰ管理テーブル203内にある該ＡＰのレコードの処理定義2032内にあるインストールの定義3131に基づいて、ＡＰのインストールを実行する。
【０１０６】
（ステップ8407、8408）
指示の種類がアンインストールなら、ＡＰ管理テーブル203内にある該ＡＰのレコード内の処理定義2032内にあるアンインストール3132の内容に基づいてアンインストールを行う。
【０１０７】
（ステップ8411）
ＡＰ管理テーブル203から該ＡＰの情報を取り除く。
【０１０８】
（ステップ8412、8413）
指示の種類が参照先設定なら、ＡＰ管理テーブル203内にある該ＡＰのレコード2030内の個々の参照先2033の依存ＡＰＩＤ3271の内容を確認し、送られてきた参照先ＡＰＩＤ3334と同じ項目を探し、見つけた参照先2033の属性名3273を取得する。また、参照先設定コマンド333に含まれる参照先マシンＩＤ3333の内容をその属性値とする。
【０１０９】
（ステップ8414）
ＡＰ管理テーブル内の該ＡＰのレコード2030内の処理定義2032内の設定方法3272で指定されている方法で、前記取得した属性名3273と前記属性値をＡＰに設定する。
【０１１０】
(2)  情報問い合わせ手段202から情報提供手段105への問い合わせ
前述した通り、ＡＰの参照先情報を管理機10からターゲット機20に伝達する方法の一つにDOWNLOADがある。これはターゲット機20から管理機10へ特定の参照ＡＰの所在（配付先）を問い合わせるものである。
【０１１１】
DOWNLOADを行うか否か、DOWNLOADを行う時期（タイミング）はいつか、についてはＡＰの配付パッケージ32内で定義されていて、配付済みＡＰについてはそのコピーがＡＰ管理テーブル203中の参照先2033のリスト内に存在する。それらの情報に従って、ターゲット機20から管理機10に対して問い合わせを発行する。
【０１１２】
問い合わせ処理では、最初に、情報問い合わせ手段202が情報提供手段105に対して問い合わせを発行する。問い合わせの形式は図８の問い合わせ34の通りで、問い合わせを示す識別コード341とターゲット機20のマシンＩＤ342、問い合わせたいＡＰＩＤ343とその参照先ＡＰＩＤ344を情報提供手段105に送信する。そして情報提供手段105から図８の応答35の形式で、応答を示す識別コード351と参照先マシンＩＤ352が送られてくる。送られてきた参照先マシンＩＤ352をＡＰに伝える方法は、前記コマンド処理の参照先設定と同様である。
【０１１３】
以上説明した実施例の効果は次の通り。
【０１１４】
(1)  ＡＰの配付・インストール時
従来、ＡＰをインストールする際に、参照先ＡＰの所在を入力しなければならなかった。これに比べ、本発明の機能である参照先を自動検出する機能、およびＡＰに対して参照先を設定する機能により、参照先が単数の場合は人手による入力は不要になる。また、参照先が複数の場合でかつ一つを選択しなければならない場合でも、選択可能なものから選ぶ形となるため、存在しない参照先を選択するというミスを防ぐことができる。このように、ＡＰの参照先指定に関する入力作業負担を軽減できる。
【０１１５】
さらに本発明は、前記ＡＰ参照先管理手段から前記ＡＰ実行手段へＡＰの参照先を伝える方法を複数備えており、必要に応じて適切な伝達方法を選択できる。
【０１１６】
第一の伝達方法はＡＰ配付時に伝える方法、第二の伝達方法はＡＰ配付後にＡＰ実行手段からＡＰ参照先管理手段に要求を発行することで伝える方法、第三の伝達方法はＡＰ配付後にＡＰ参照先管理手段からＡＰ手段に直接通知することで伝える方法である。
【０１１７】
第一の伝達方法は、ＡＰ配付時にＡＰに対する参照先の初期設定に使用できる。なお、参照先が一度設定されたら変化しない性質の参照先の場合、第二、第三の方法は不要で、第一の方法だけでよい。
【０１１８】
第二の伝達方法は、参照先が変更になる場合に有効な方法である。この方法の利点は、ＡＰ実行手段の都合の良い時期に情報が取得可能であること。
【０１１９】
第三の伝達方法は、第二の方法と同様に参照先が変更になる場合に有効な方法で、参照先管理側でのＡＰの登録や削除等による参照先の変更を即、ＡＰ実行手段に伝えられるという利点がある。
【０１２０】
第二、第三の方法は、両方とも配付後に参照先を変更するために用いられるが、それぞれ一長一短あるため、実際には両方を併用すると良い。すなわち、ＡＰ実行手段の起動時に第二の方法で参照先を更新し、それ以後、ＡＰ実行手段稼働中は第三の方法を使用する。こうすることで、両者のメリットを生かせる。
【０１２１】
さらに本発明は、依存先ＡＰが配付された等の理由で参照先が確定したことによって、依存元ＡＰを配付・インストールする機能を有する。これによって、依存先ＡＰを配付する前に依存元ＡＰを配付登録できる。
【０１２２】
参照先確定による配付と参照先確定によるインストール、両者の違いは参照先確定からの処理量にある。すなわち、前者は参照先確定をきっかけに配付とインストールが行われるのに対し、後者は参照先確定後、即インストールが行われる。これにより、後者の方が、参照先確定からインストール処理完までの待ち時間が短くなる。サイズが大きいＡＰを配付する場合等、待ち時間が気になる場合には、後者の方法を使って事前配付しておくと良い。
【０１２３】
(2)  ＡＰの削除時
従来は、ＡＰ削除時にそのＡＰに依存しているＡＰを検出する作業と、ＡＰ削除時にそのＡＰに依存している他のＡＰの参照先を変更する作業が、煩雑であった。
【０１２４】
本発明によって、前者の問題は、本発明の特定のＡＰに依存するＡＰの一覧を表示する機能によって、解決できる。
【０１２５】
後者の問題についても、依存元ＡＰを自動検出した後、削除対象のＡＰに代わる参照先を指定するだけで、依存元ＡＰの参照先を自動更新するため解決できる。これらにより、ＡＰの配付管理者の管理作業を軽減できる。
【０１２６】
【発明の効果】
以上述べたように、本発明によれば、ＡＰ同士に依存関係がある場合の、ＡＰの配付・削除等の管理作業の煩雑さを軽減することが可能になる。
【図面の簡単な説明】
【図１】システム構成図。
【図２】ハードウェア構成。
【図３】ＡＰパッケージの構造。
【図４】配付状況テーブルの構造。
【図５】参照状況テーブルの構造。
【図６】配付パッケージの構造。
【図７】ＡＰ管理テーブルの構造。
【図８】参照先の問い合わせ形式。
【図９】処理コマンド形式。
【図１０】ＡＰ登録のフロー。
【図１１】待機物処理のフロー。
【図１２】ＡＰ削除のフロー。
【図１３】管理コマンド処理のフロー。
【図１４】画面例：ＡＰの登録。
【図１５】画面例：参照先の選択。
【図１６】画面例：削除対象の選択。
【図１７】画面例：参照関係の表示例１。
【図１８】画面例：参照関係の表示例２。
【符号の説明】
10・・・管理機、20・・・ターゲット機、31・・・ＡＰパッケージ、
32・・・配付パッケージ、33・・・処理コマンド、34・・・参照先の問い合わせ、
35・・・参照先の問い合わせ応答、101・・・配付待ちバッファ、
102・・・ＡＰ管理処理、103・・・配付状況テーブル、104・・・参照状況テーブル、
105・・・情報提供手段、201・・・管理コマンド処理、202・・・情報問い合わせ手段、
203・・・ＡＰ管理テーブル。
【図１】
0003861538.tif 000002
【図２】
0003861538.tif 000003
【図３】
0003861538.tif 000004
【図４】
0003861538.tif 000005
【図５】
0003861538.tif 000006
【図６】
0003861538.tif 000007
【図７】
0003861538.tif 000008
【図８】
0003861538.tif 000009
【図９】
0003861538.tif 000010
【図１０】
0003861538.tif 000011
【図１１】
0003861538.tif 000012
【図１２】
0003861538.tif 000013
【図１３】
0003861538.tif 000014
【図１４】
0003861538.tif 000015
【図１５】
0003861538.tif 000016
【図１６】
0003861538.tif 000017
【図１７】
0003861538.tif 000018
【図１８】
0003861538.tif 000019