(57)【特許請求の範囲】
【請求項１】
デバイスを遠隔制御するゲートウェイがもつリソースのリソース量が記憶されるアーキテクチャ情報テーブルと、
前記ゲートウェイにインストールできるプログラムのプログラム名と当該プログラムによるリソースの消費量とが記憶されるレコードで構成されるリソース情報テーブルと、
を備える管理システムが行うゲートウェイ管理方法であって、
前記管理システムに構成されたリソース不足当否判定部が、前記アーキテクチャ情報テーブルから当該リソース量を読み出し、
前記リソース不足当否判定部が、前記リソース情報テーブルから、新たにインストールされようとしているプログラムのプログラム名を含むレコード内の消費量を読み出し、
前記リソース不足当否判定部が、前記リソース情報テーブルから、前記ゲートウェイにインストールされたプログラムのプログラム名を含むレコード内の消費量を読み出し、
前記リソース不足当否判定部が、新たにインストールされようとしているプログラムのプログラム名により読み出された前記消費量と、ゲートウェイにインストールされたプログラムのプログラム名により読み出された前記消費量の総和と、の和を計算し、当該和と前記読み出されたリソース量とを用いた比較により、前記新たにインストールされようとしているプログラムがインストールされた場合にリソースが不足するか否かを判定し、
前記管理システムに構成された管理部が、判定結果が表示および視認され、インストールの中止の指示が通知された場合、前記新たにインストールされようとしているプログラムのインストールを中止する
ことを特徴とするゲートウェイ管理方法。
【請求項２】
デバイスを遠隔制御するゲートウェイがもつリソースのリソース量が記憶されるアーキテクチャ情報テーブルと、
前記ゲートウェイにインストールできるプログラムのプログラム名と当該プログラムによるリソースの消費量とが記憶されるレコードで構成されるリソース情報テーブルと、
を備える管理システムが行うゲートウェイ管理方法であって、
前記管理システムに構成されたリソース不足当否判定部が、前記アーキテクチャ情報テーブルから当該リソース量を読み出し、
前記リソース不足当否判定部が、前記リソース情報テーブルから、新たにインストールされようとしているプログラムのプログラム名を含むレコード内の消費量を読み出し、
前記リソース不足当否判定部が、前記リソース情報テーブルから、前記ゲートウェイにインストールされたプログラムのプログラム名を含むレコード内の消費量を読み出し、
前記リソース不足当否判定部が、新たにインストールされようとしているプログラムのプログラム名により読み出された前記消費量と、ゲートウェイにインストールされたプログラムのプログラム名により読み出された前記消費量の総和と、の和を計算し、当該和と前記読み出されたリソース量とを用いた比較により、前記新たにインストールされようとしているプログラムがインストールされた場合にリソースが不足するか否かを判定し、
前記管理システムに構成された管理部が、リソースが不足すると判定された場合、前記新たにインストールされようとしているプログラムのインストールを中止する
ことを特徴とするゲートウェイ管理方法。
【請求項３】
デバイスを遠隔制御するプログラムをインストールするインストール命令で指定されたプログラムをインストールし、インストールされたプログラムをアンインストールするアンインストール命令内のプログラム名のプログラムをアンインストールするゲートウェイがもつリソースのリソース量が記憶されるアーキテクチャ情報テーブルと、
前記ゲートウェイにインストールできるプログラムのプログラム名と当該プログラムによるリソースの消費量とが記憶されるレコードで構成されるリソース情報テーブルと、
前記ゲートウェイにインストールできるプログラムのプログラム名と当該プログラムの優先度を示すプログラム使用優先度とが記憶されるレコードで構成されるプログラム情報テーブルと、
を備える管理システムが行うゲートウェイ管理方法であって、
前記管理システムに構成されたリソース不足当否判定部が、前記アーキテクチャ情報テーブルから当該リソース量を読み出し、
前記リソース不足当否判定部が、前記リソース情報テーブルから、新たにインストールされようとしているプログラムのプログラム名を含むレコード内の消費量を読み出し、
前記リソース不足当否判定部が、前記プログラム情報テーブルから、新たにインストールされようとしているプログラムのプログラム名を含むレコード内のプログラム使用優先度を読み出し、
前記リソース不足当否判定部が、前記ゲートウェイにインストールされた複数のプログラムのプログラム名のそれぞれにつき、前記プログラム情報テーブルから、当該プログラム名を含むレコード内のプログラム使用優先度を読み出して当該プログラム使用優先度および当該プログラム名の組を作成し、
前記リソース不足当否判定部が、新たにインストールされようとしているプログラムのプログラム名により読み出された前記プログラム使用優先度より低いプログラム使用優先度以上のプログラム使用優先度を含む組内のプログラム名を読み出し、前記リソース情報テーブルから、当該読み出したプログラム名を含むレコード内の消費量を読み出し、新たにインストールされようとしているプログラムのプログラム名により読み出された前記消費量と、前記低いプログラム使用優先度以上のプログラム使用優先度により読み出された前記消費量の総和と、の和を計算し、当該和と前記読み出されたリソース量とを用いた比較により、前記低いプログラム使用優先度未満のプログラム使用優先度のプログラムがアンインストールされ、前記新たにインストールされようとしているプログラムがインストールされた場合にリソースが不足するか否かを判定することを、２以上の前記低いプログラム使用優先度について行い、
前記管理システムに構成された管理部が、それぞれの判定結果が表示および視認され、いずれかの判定結果が選択されて続行が指示され、当該選択結果が通知された場合、前記作成された組から、当該通知された選択結果に対応する処理結果が得られたときの前記低いプログラム使用優先度未満のプログラム使用優先度を含む組を選択し、当該組内のプログラム名を読み出し、当該プログラム名を含むアンインストール命令と、前記新たにインストールされようとしているプログラムを指定したインストール命令とを作成し、
前記管理システムに構成されたゲートウェイインタフェース部が、当該アンインストール命令と当該インストール命令とを前記ゲートウェイに送信する
ことを特徴とするゲートウェイ管理方法。
【請求項４】
デバイスを遠隔制御するプログラムをインストールするインストール命令で指定されたプログラムをインストールし、インストールされたプログラムをアンインストールするアンインストール命令内のプログラム名のプログラムをアンインストールするゲートウェイがもつリソースのリソース量が記憶されるアーキテクチャ情報テーブルと、
前記ゲートウェイにインストールできるプログラムのプログラム名と当該プログラムによるリソースの消費量とが記憶されるレコードで構成されるリソース情報テーブルと、
前記ゲートウェイにインストールできるプログラムのプログラム名と当該プログラムの優先度を示すプログラム使用優先度とが記憶されるレコードで構成されるプログラム情報テーブルと、
を備える管理システムが行うゲートウェイ管理方法であって、
前記管理システムに構成されたリソース不足当否判定部が、前記アーキテクチャ情報テーブルから当該リソース量を読み出し、
前記リソース不足当否判定部が、前記リソース情報テーブルから、新たにインストールされようとしているプログラムのプログラム名を含むレコード内の消費量を読み出し、
前記リソース不足当否判定部が、前記プログラム情報テーブルから、新たにインストールされようとしているプログラムのプログラム名を含むレコード内のプログラム使用優先度を読み出し、
前記リソース不足当否判定部が、前記ゲートウェイにインストールされた複数のプログラムのプログラム名のそれぞれにつき、前記プログラム情報テーブルから、当該プログラム名を含むレコード内のプログラム使用優先度を読み出して当該プログラム使用優先度および当該プログラム名の組を作成し、
前記リソース不足当否判定部が、新たにインストールされようとしているプログラムのプログラム名により読み出された前記プログラム使用優先度より低いプログラム使用優先度以上のプログラム使用優先度を含む組内のプログラム名を読み出し、前記リソース情報テーブルから、当該読み出したプログラム名を含むレコード内の消費量を読み出し、
前記リソース不足当否判定部が、新たにインストールされようとしているプログラムのプログラム名により読み出された前記消費量と、前記低いプログラム使用優先度以上のプログラム使用優先度により読み出された前記消費量の総和と、の和を計算し、当該和と前記読み出されたリソース量とを用いた比較により、前記低いプログラム使用優先度未満のプログラム使用優先度のプログラムがアンインストールされ、前記新たにインストールされようとしているプログラムがインストールされた場合にリソースが不足するか否かを判定し、
前記管理システムに構成された管理部が、リソースが不足しないと判定された場合、前記作成された組から、前記低いプログラム使用優先度未満のプログラム使用優先度を含む組を選択し、当該組内のプログラム名を読み出し、当該プログラム名を含むアンインストール命令と、前記新たにインストールされようとしているプログラムを指定したインストール命令とを作成し、
前記管理システムに構成されたゲートウェイインタフェース部が、当該アンインストール命令と当該インストール命令とを前記ゲートウェイに送信する
ことを特徴とするゲートウェイ管理方法。
【請求項５】
デバイスを遠隔制御するゲートウェイがもつリソースのリソース量が記憶されるアーキテクチャ情報テーブルと、
前記ゲートウェイにインストールできるプログラムのプログラム名と当該プログラムによるリソースの消費量とが記憶されるレコードで構成されるリソース情報テーブルと、
前記アーキテクチャ情報テーブルから当該リソース量を読み出し、前記リソース情報テーブルから、新たにインストールされようとしているプログラムのプログラム名を含むレコード内の消費量を読み出し、前記リソース情報テーブルから、前記ゲートウェイにインストールされたプログラムのプログラム名を含むレコード内の消費量を読み出し、新たにインストールされようとしているプログラムのプログラム名により読み出された前記消費量と、ゲートウェイにインストールされたプログラムのプログラム名により読み出された前記消費量の総和と、の和を計算し、当該和と前記読み出されたリソース量とを用いた比較により、前記新たにインストールされようとしているプログラムがインストールされた場合にリソースが不足するか否かを判定するリソース不足当否判定部と、
判定結果が表示および視認され、インストールの中止の指示が通知された場合、前記新たにインストールされようとしているプログラムのインストールを中止する管理部と
を備えることを特徴とする管理システム。
【請求項６】
デバイスを遠隔制御するゲートウェイがもつリソースのリソース量が記憶されるアーキテクチャ情報テーブルと、
前記ゲートウェイにインストールできるプログラムのプログラム名と当該プログラムによるリソースの消費量とが記憶されるレコードで構成されるリソース情報テーブルと、
前記アーキテクチャ情報テーブルから当該リソース量を読み出し、前記リソース情報テーブルから、新たにインストールされようとしているプログラムのプログラム名を含むレコード内の消費量を読み出し、前記リソース情報テーブルから、前記ゲートウェイにインストールされたプログラムのプログラム名を含むレコード内の消費量を読み出し、新たにインストールされようとしているプログラムのプログラム名により読み出された前記消費量と、ゲートウェイにインストールされたプログラムのプログラム名により読み出された前記消費量の総和と、の和を計算し、当該和と前記読み出されたリソース量とを用いた比較により、前記新たにインストールされようとしているプログラムがインストールされた場合にリソースが不足するか否かを判定するリソース不足当否判定部と、
リソースが不足すると判定された場合、前記新たにインストールされようとしているプログラムのインストールを中止する管理部と
を備えることを特徴とする管理システム。
【請求項７】
デバイスを遠隔制御するプログラムをインストールするインストール命令で指定されたプログラムをインストールし、インストールされたプログラムをアンインストールするアンインストール命令内のプログラム名のプログラムをアンインストールするゲートウェイがもつリソースのリソース量が記憶されるアーキテクチャ情報テーブルと、
前記ゲートウェイにインストールできるプログラムのプログラム名と当該プログラムによるリソースの消費量とが記憶されるレコードで構成されるリソース情報テーブルと、
前記ゲートウェイにインストールできるプログラムのプログラム名と当該プログラムの優先度を示すプログラム使用優先度とが記憶されるレコードで構成されるプログラム情報テーブルと、
前記アーキテクチャ情報テーブルから当該リソース量を読み出し、前記リソース情報テーブルから、新たにインストールされようとしているプログラムのプログラム名を含むレコード内の消費量を読み出し、前記リソース不足当否判定部が、前記プログラム情報テーブルから、新たにインストールされようとしているプログラムのプログラム名を含むレコード内のプログラム使用優先度を読み出し、前記ゲートウェイにインストールされた複数のプログラムのプログラム名のそれぞれにつき、前記プログラム情報テーブルから、当該プログラム名を含むレコード内のプログラム使用優先度を読み出して当該プログラム使用優先度および当該プログラム名の組を作成し、新たにインストールされようとしているプログラムのプログラム名により読み出された前記プログラム使用優先度より低いプログラム使用優先度以上のプログラム使用優先度を含む組内のプログラム名を読み出し、前記リソース情報テーブルから、当該読み出したプログラム名を含むレコード内の消費量を読み出し、新たにインストールされようとしているプログラムのプログラム名により読み出された前記消費量と、前記低いプログラム使用優先度以上のプログラム使用優先度により読み出された前記消費量の総和と、の和を計算し、当該和と前記読み出されたリソース量とを用いた比較により、前記低いプログラム使用優先度未満のプログラム使用優先度のプログラムがアンインストールされ、前記新たにインストールされようとしているプログラムがインストールされた場合にリソースが不足するか否かを判定することを、２以上の前記低いプログラム使用優先度について行うリソース不足当否判定部と、
それぞれの判定結果が表示および視認され、いずれかの判定結果が選択されて続行が指示され、当該選択結果が通知された場合、前記作成された組から、当該通知された選択結果に対応する処理結果が得られたときの前記低いプログラム使用優先度未満のプログラム使用優先度を含む組を選択し、当該組内のプログラム名を読み出し、当該プログラム名を含むアンインストール命令と、前記新たにインストールされようとしているプログラムを指定したインストール命令とを作成する管理部と、
当該アンインストール命令と当該インストール命令とを前記ゲートウェイに送信するゲートウェイインタフェース部と
を備えることを特徴とする管理システム。
【請求項８】
デバイスを遠隔制御するプログラムをインストールするインストール命令で指定されたプログラムをインストールし、インストールされたプログラムをアンインストールするアンインストール命令内のプログラム名のプログラムをアンインストールするゲートウェイがもつリソースのリソース量が記憶されるアーキテクチャ情報テーブルと、
前記ゲートウェイにインストールできるプログラムのプログラム名と当該プログラムによるリソースの消費量とが記憶されるレコードで構成されるリソース情報テーブルと、
前記ゲートウェイにインストールできるプログラムのプログラム名と当該プログラムの優先度を示すプログラム使用優先度とが記憶されるレコードで構成されるプログラム情報テーブルと、
前記アーキテクチャ情報テーブルから当該リソース量を読み出し、前記リソース情報テーブルから、新たにインストールされようとしているプログラムのプログラム名を含むレコード内の消費量を読み出し、前記プログラム情報テーブルから、新たにインストールされようとしているプログラムのプログラム名を含むレコード内のプログラム使用優先度を読み出し、前記ゲートウェイにインストールされた複数のプログラムのプログラム名のそれぞれにつき、前記プログラム情報テーブルから、当該プログラム名を含むレコード内のプログラム使用優先度を読み出して当該プログラム使用優先度および当該プログラム名の組を作成し、新たにインストールされようとしているプログラムのプログラム名により読み出された前記プログラム使用優先度より低いプログラム使用優先度以上のプログラム使用優先度を含む組内のプログラム名を読み出し、前記リソース情報テーブルから、当該読み出したプログラム名を含むレコード内の消費量を読み出し、新たにインストールされようとしているプログラムのプログラム名により読み出された前記消費量と、前記低いプログラム使用優先度以上のプログラム使用優先度により読み出された前記消費量の総和と、の和を計算し、当該和と前記読み出されたリソース量とを用いた比較により、前記低いプログラム使用優先度未満のプログラム使用優先度のプログラムがアンインストールされ、前記新たにインストールされようとしているプログラムがインストールされた場合にリソースが不足するか否かを判定するリソース不足当否判定部と、
リソースが不足しないと判定された場合、前記作成された組から、前記低いプログラム使用優先度未満のプログラム使用優先度を含む組を選択し、当該組内のプログラム名を読み出し、当該プログラム名を含むアンインストール命令と、前記新たにインストールされようとしているプログラムを指定したインストール命令とを作成する管理部と、
当該アンインストール命令と当該インストール命令とを前記ゲートウェイに送信するゲートウェイインタフェース部と
を備えることを特徴とする管理システム。
【請求項９】
請求項１ないし４のいずれかに記載のゲートウェイ管理方法を管理システムに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲートウェイでのリソース不足を回避するゲートウェイ管理方法に関するものである。
【背景技術】
【０００２】
近年では、個人宅の各種家電機器などのデバイスがゲートウェイなる装置により制御される。例えば、非特許文献１では、ゲートウェイにＪａｖａ（登録商標）ベースのフレームワークを配置し、その上でバンドルなるプログラムをインストールおよび実行して、デバイスを制御する仕組みが提案されている。
【非特許文献１】OSGi Service Platform, The OSGi Alliance, Release 3, ISBN1586033155, ISBN4274905594 C3055(ページ３９〜ページ８７（４．２３節の冒頭））
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、ゲートウェイがもつＣＰＵの処理能力やメモリの記憶容量といったリソースには限りがあり、新たなプログラムのインストールおよび実行によるリソース不足に起因して、デバイスが制御不能となったり、制御における応答速度が低下したり、ゲートウェイ自体が不安定になる可能性があるのだが、現状ではリソース不足が生じるか否かを判定できない。
【０００４】
また、ゲートウェイでは、インストールされているプログラムによるメリットよりも、新たなプログラムをインストールして実行した場合のメリットの方が大きい場合がある。また、そのようなメリットの小さいつまり使用する優先度の低いプログラムをアンインストールしてから新たなプログラムつまり使用する優先度の低いプログラムをインストールして実行した場合にはリソース不足が生じない場合がある。
【０００５】
しかしながら、仮に上記判定が可能だとしても、それだけでは、このような形でリソース不足が生じないようにして新たなプログラムをインストールし実行することができない。
【０００６】
そのため、机上で様々な場合を想定して、リソース不足が生じるか否かを検討しなければならず、多大な時間と労力を要した。また、時間と労力を惜しんで、プログラムが消費するリソースの量を多く見積もったり、優先度の高いプログラムだけをインストールし実行させるという運用をとらざるをえず、つまり、リソースが有効に活用されていない場合がある。
【０００７】
本発明は、上記の課題に鑑みてなされたものであり、その目的とするところは、ゲートウェイに新たなプログラムをインストールしたときに生じるリソース不足を回避できるゲートウェイ管理方法を提供することにある。
【０００８】
また、他の目的は、リソース不足が生じないようにして新たなプログラムをインストールできるゲートウェイ管理方法を提供することにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、請求項１の本発明は、デバイスを遠隔制御するゲートウェイがもつリソースのリソース量が記憶されるアーキテクチャ情報テーブルと、前記ゲートウェイにインストールできるプログラムのプログラム名と当該プログラムによるリソースの消費量とが記憶されるレコードで構成されるリソース情報テーブルと、を備える管理システムが行うゲートウェイ管理方法であって、前記管理システムに構成されたリソース不足当否判定部が、前記アーキテクチャ情報テーブルから当該リソース量を読み出し、前記リソース不足当否判定部が、前記リソース情報テーブルから、新たにインストールされようとしているプログラムのプログラム名を含むレコード内の消費量を読み出し、前記リソース不足当否判定部が、前記リソース情報テーブルから、前記ゲートウェイにインストールされたプログラムのプログラム名を含むレコード内の消費量を読み出し、前記リソース不足当否判定部が、新たにインストールされようとしているプログラムのプログラム名により読み出された前記消費量と、ゲートウェイにインストールされたプログラムのプログラム名により読み出された前記消費量の総和と、の和を計算し、当該和と前記読み出されたリソース量とを用いた比較により、前記新たにインストールされようとしているプログラムがインストールされた場合にリソースが不足するか否かを判定し、前記管理システムに構成された管理部が、判定結果が表示および視認され、インストールの中止の指示が通知された場合、前記新たにインストールされようとしているプログラムのインストールを中止することを特徴とするゲートウェイ管理方法をもって解決手段とする。
【００１０】
請求項２の本発明は、デバイスを遠隔制御するゲートウェイがもつリソースのリソース量が記憶されるアーキテクチャ情報テーブルと、前記ゲートウェイにインストールできるプログラムのプログラム名と当該プログラムによるリソースの消費量とが記憶されるレコードで構成されるリソース情報テーブルと、を備える管理システムが行うゲートウェイ管理方法であって、前記管理システムに構成されたリソース不足当否判定部が、前記アーキテクチャ情報テーブルから当該リソース量を読み出し、前記リソース不足当否判定部が、前記リソース情報テーブルから、新たにインストールされようとしているプログラムのプログラム名を含むレコード内の消費量を読み出し、前記リソース不足当否判定部が、前記リソース情報テーブルから、前記ゲートウェイにインストールされたプログラムのプログラム名を含むレコード内の消費量を読み出し、前記リソース不足当否判定部が、新たにインストールされようとしているプログラムのプログラム名により読み出された前記消費量と、ゲートウェイにインストールされたプログラムのプログラム名により読み出された前記消費量の総和と、の和を計算し、当該和と前記読み出されたリソース量とを用いた比較により、前記新たにインストールされようとしているプログラムがインストールされた場合にリソースが不足するか否かを判定し、前記管理システムに構成された管理部が、リソースが不足すると判定された場合、前記新たにインストールされようとしているプログラムのインストールを中止することを特徴とするゲートウェイ管理方法をもって解決手段とする。
【００１１】
請求項３の本発明は、デバイスを遠隔制御するプログラムをインストールするインストール命令で指定されたプログラムをインストールし、インストールされたプログラムをアンインストールするアンインストール命令内のプログラム名のプログラムをアンインストールするゲートウェイがもつリソースのリソース量が記憶されるアーキテクチャ情報テーブルと、前記ゲートウェイにインストールできるプログラムのプログラム名と当該プログラムによるリソースの消費量とが記憶されるレコードで構成されるリソース情報テーブルと、前記ゲートウェイにインストールできるプログラムのプログラム名と当該プログラムの優先度を示すプログラム使用優先度とが記憶されるレコードで構成されるプログラム情報テーブルと、を備える管理システムが行うゲートウェイ管理方法であって、前記管理システムに構成されたリソース不足当否判定部が、前記アーキテクチャ情報テーブルから当該リソース量を読み出し、前記リソース不足当否判定部が、前記リソース情報テーブルから、新たにインストールされようとしているプログラムのプログラム名を含むレコード内の消費量を読み出し、前記リソース不足当否判定部が、前記プログラム情報テーブルから、新たにインストールされようとしているプログラムのプログラム名を含むレコード内のプログラム使用優先度を読み出し、前記リソース不足当否判定部が、前記ゲートウェイにインストールされた複数のプログラムのプログラム名のそれぞれにつき、前記プログラム情報テーブルから、当該プログラム名を含むレコード内のプログラム使用優先度を読み出して当該プログラム使用優先度および当該プログラム名の組を作成し、前記リソース不足当否判定部が、新たにインストールされようとしているプログラムのプログラム名により読み出された前記プログラム使用優先度より低いプログラム使用優先度以上のプログラム使用優先度を含む組内のプログラム名を読み出し、前記リソース情報テーブルから、当該読み出したプログラム名を含むレコード内の消費量を読み出し、新たにインストールされようとしているプログラムのプログラム名により読み出された前記消費量と、前記低いプログラム使用優先度以上のプログラム使用優先度により読み出された前記消費量の総和と、の和を計算し、当該和と前記読み出されたリソース量とを用いた比較により、前記低いプログラム使用優先度未満のプログラム使用優先度のプログラムがアンインストールされ、前記新たにインストールされようとしているプログラムがインストールされた場合にリソースが不足するか否かを判定することを、２以上の前記低いプログラム使用優先度について行い、前記管理システムに構成された管理部が、それぞれの判定結果が表示および視認され、いずれかの判定結果が選択されて続行が指示され、当該選択結果が通知された場合、前記作成された組から、当該通知された選択結果に対応する処理結果が得られたときの前記低いプログラム使用優先度未満のプログラム使用優先度を含む組を選択し、当該組内のプログラム名を読み出し、当該プログラム名を含むアンインストール命令と、前記新たにインストールされようとしているプログラムを指定したインストール命令とを作成し、前記管理システムに構成されたゲートウェイインタフェース部が、当該アンインストール命令と当該インストール命令とを前記ゲートウェイに送信することを特徴とするゲートウェイ管理方法をもって解決手段とする。
【００１２】
請求項４の本発明は、デバイスを遠隔制御するプログラムをインストールするインストール命令で指定されたプログラムをインストールし、インストールされたプログラムをアンインストールするアンインストール命令内のプログラム名のプログラムをアンインストールするゲートウェイがもつリソースのリソース量が記憶されるアーキテクチャ情報テーブルと、前記ゲートウェイにインストールできるプログラムのプログラム名と当該プログラムによるリソースの消費量とが記憶されるレコードで構成されるリソース情報テーブルと、前記ゲートウェイにインストールできるプログラムのプログラム名と当該プログラムの優先度を示すプログラム使用優先度とが記憶されるレコードで構成されるプログラム情報テーブルと、を備える管理システムが行うゲートウェイ管理方法であって、前記管理システムに構成されたリソース不足当否判定部が、前記アーキテクチャ情報テーブルから当該リソース量を読み出し、前記リソース不足当否判定部が、前記リソース情報テーブルから、新たにインストールされようとしているプログラムのプログラム名を含むレコード内の消費量を読み出し、前記リソース不足当否判定部が、前記プログラム情報テーブルから、新たにインストールされようとしているプログラムのプログラム名を含むレコード内のプログラム使用優先度を読み出し、前記リソース不足当否判定部が、前記ゲートウェイにインストールされた複数のプログラムのプログラム名のそれぞれにつき、前記プログラム情報テーブルから、当該プログラム名を含むレコード内のプログラム使用優先度を読み出して当該プログラム使用優先度および当該プログラム名の組を作成し、前記リソース不足当否判定部が、新たにインストールされようとしているプログラムのプログラム名により読み出された前記プログラム使用優先度より低いプログラム使用優先度以上のプログラム使用優先度を含む組内のプログラム名を読み出し、前記リソース情報テーブルから、当該読み出したプログラム名を含むレコード内の消費量を読み出し、前記リソース不足当否判定部が、新たにインストールされようとしているプログラムのプログラム名により読み出された前記消費量と、前記低いプログラム使用優先度以上のプログラム使用優先度により読み出された前記消費量の総和と、の和を計算し、当該和と前記読み出されたリソース量とを用いた比較により、前記低いプログラム使用優先度未満のプログラム使用優先度のプログラムがアンインストールされ、前記新たにインストールされようとしているプログラムがインストールされた場合にリソースが不足するか否かを判定し、前記管理システムに構成された管理部が、リソースが不足しないと判定された場合、前記作成された組から、前記低いプログラム使用優先度未満のプログラム使用優先度を含む組を選択し、当該組内のプログラム名を読み出し、当該プログラム名を含むアンインストール命令と、前記新たにインストールされようとしているプログラムを指定したインストール命令とを作成し、
前記管理システムに構成されたゲートウェイインタフェース部が、当該アンインストール命令と当該インストール命令とを前記ゲートウェイに送信することを特徴とするゲートウェイ管理方法をもって解決手段とする。
【００１３】
請求項５の本発明は、デバイスを遠隔制御するゲートウェイがもつリソースのリソース量が記憶されるアーキテクチャ情報テーブルと、前記ゲートウェイにインストールできるプログラムのプログラム名と当該プログラムによるリソースの消費量とが記憶されるレコードで構成されるリソース情報テーブルと、前記アーキテクチャ情報テーブルから当該リソース量を読み出し、前記リソース情報テーブルから、新たにインストールされようとしているプログラムのプログラム名を含むレコード内の消費量を読み出し、前記リソース情報テーブルから、前記ゲートウェイにインストールされたプログラムのプログラム名を含むレコード内の消費量を読み出し、新たにインストールされようとしているプログラムのプログラム名により読み出された前記消費量と、ゲートウェイにインストールされたプログラムのプログラム名により読み出された前記消費量の総和と、の和を計算し、当該和と前記読み出されたリソース量とを用いた比較により、前記新たにインストールされようとしているプログラムがインストールされた場合にリソースが不足するか否かを判定するリソース不足当否判定部と、判定結果が表示および視認され、インストールの中止の指示が通知された場合、前記新たにインストールされようとしているプログラムのインストールを中止する管理部とを備えることを特徴とする管理システムをもって解決手段とする。
【００１４】
請求項６の本発明は、デバイスを遠隔制御するゲートウェイがもつリソースのリソース量が記憶されるアーキテクチャ情報テーブルと、前記ゲートウェイにインストールできるプログラムのプログラム名と当該プログラムによるリソースの消費量とが記憶されるレコードで構成されるリソース情報テーブルと、前記アーキテクチャ情報テーブルから当該リソース量を読み出し、前記リソース情報テーブルから、新たにインストールされようとしているプログラムのプログラム名を含むレコード内の消費量を読み出し、前記リソース情報テーブルから、前記ゲートウェイにインストールされたプログラムのプログラム名を含むレコード内の消費量を読み出し、新たにインストールされようとしているプログラムのプログラム名により読み出された前記消費量と、ゲートウェイにインストールされたプログラムのプログラム名により読み出された前記消費量の総和と、の和を計算し、当該和と前記読み出されたリソース量とを用いた比較により、前記新たにインストールされようとしているプログラムがインストールされた場合にリソースが不足するか否かを判定するリソース不足当否判定部と、リソースが不足すると判定された場合、前記新たにインストールされようとしているプログラムのインストールを中止する管理部とを備えることを特徴とする管理システムをもって解決手段とする。
【００１５】
請求項７の本発明は、デバイスを遠隔制御するプログラムをインストールするインストール命令で指定されたプログラムをインストールし、インストールされたプログラムをアンインストールするアンインストール命令内のプログラム名のプログラムをアンインストールするゲートウェイがもつリソースのリソース量が記憶されるアーキテクチャ情報テーブルと、前記ゲートウェイにインストールできるプログラムのプログラム名と当該プログラムによるリソースの消費量とが記憶されるレコードで構成されるリソース情報テーブルと、前記ゲートウェイにインストールできるプログラムのプログラム名と当該プログラムの優先度を示すプログラム使用優先度とが記憶されるレコードで構成されるプログラム情報テーブルと、前記アーキテクチャ情報テーブルから当該リソース量を読み出し、前記リソース情報テーブルから、新たにインストールされようとしているプログラムのプログラム名を含むレコード内の消費量を読み出し、前記リソース不足当否判定部が、前記プログラム情報テーブルから、新たにインストールされようとしているプログラムのプログラム名を含むレコード内のプログラム使用優先度を読み出し、前記ゲートウェイにインストールされた複数のプログラムのプログラム名のそれぞれにつき、前記プログラム情報テーブルから、当該プログラム名を含むレコード内のプログラム使用優先度を読み出して当該プログラム使用優先度および当該プログラム名の組を作成し、新たにインストールされようとしているプログラムのプログラム名により読み出された前記プログラム使用優先度より低いプログラム使用優先度以上のプログラム使用優先度を含む組内のプログラム名を読み出し、前記リソース情報テーブルから、当該読み出したプログラム名を含むレコード内の消費量を読み出し、新たにインストールされようとしているプログラムのプログラム名により読み出された前記消費量と、前記低いプログラム使用優先度以上のプログラム使用優先度により読み出された前記消費量の総和と、の和を計算し、当該和と前記読み出されたリソース量とを用いた比較により、前記低いプログラム使用優先度未満のプログラム使用優先度のプログラムがアンインストールされ、前記新たにインストールされようとしているプログラムがインストールされた場合にリソースが不足するか否かを判定することを、２以上の前記低いプログラム使用優先度について行うリソース不足当否判定部と、それぞれの判定結果が表示および視認され、いずれかの判定結果が選択されて続行が指示され、当該選択結果が通知された場合、前記作成された組から、当該通知された選択結果に対応する処理結果が得られたときの前記低いプログラム使用優先度未満のプログラム使用優先度を含む組を選択し、当該組内のプログラム名を読み出し、当該プログラム名を含むアンインストール命令と、前記新たにインストールされようとしているプログラムを指定したインストール命令とを作成する管理部と、当該アンインストール命令と当該インストール命令とを前記ゲートウェイに送信するゲートウェイインタフェース部とを備えることを特徴とする管理システムをもって解決手段とする。
【００１６】
請求項８の本発明は、デバイスを遠隔制御するプログラムをインストールするインストール命令で指定されたプログラムをインストールし、インストールされたプログラムをアンインストールするアンインストール命令内のプログラム名のプログラムをアンインストールするゲートウェイがもつリソースのリソース量が記憶されるアーキテクチャ情報テーブルと、前記ゲートウェイにインストールできるプログラムのプログラム名と当該プログラムによるリソースの消費量とが記憶されるレコードで構成されるリソース情報テーブルと、前記ゲートウェイにインストールできるプログラムのプログラム名と当該プログラムの優先度を示すプログラム使用優先度とが記憶されるレコードで構成されるプログラム情報テーブルと、前記アーキテクチャ情報テーブルから当該リソース量を読み出し、前記リソース情報テーブルから、新たにインストールされようとしているプログラムのプログラム名を含むレコード内の消費量を読み出し、前記プログラム情報テーブルから、新たにインストールされようとしているプログラムのプログラム名を含むレコード内のプログラム使用優先度を読み出し、前記ゲートウェイにインストールされた複数のプログラムのプログラム名のそれぞれにつき、前記プログラム情報テーブルから、当該プログラム名を含むレコード内のプログラム使用優先度を読み出して当該プログラム使用優先度および当該プログラム名の組を作成し、新たにインストールされようとしているプログラムのプログラム名により読み出された前記プログラム使用優先度より低いプログラム使用優先度以上のプログラム使用優先度を含む組内のプログラム名を読み出し、前記リソース情報テーブルから、当該読み出したプログラム名を含むレコード内の消費量を読み出し、新たにインストールされようとしているプログラムのプログラム名により読み出された前記消費量と、前記低いプログラム使用優先度以上のプログラム使用優先度により読み出された前記消費量の総和と、の和を計算し、当該和と前記読み出されたリソース量とを用いた比較により、前記低いプログラム使用優先度未満のプログラム使用優先度のプログラムがアンインストールされ、前記新たにインストールされようとしているプログラムがインストールされた場合にリソースが不足するか否かを判定するリソース不足当否判定部と、リソースが不足しないと判定された場合、前記作成された組から、前記低いプログラム使用優先度未満のプログラム使用優先度を含む組を選択し、当該組内のプログラム名を読み出し、当該プログラム名を含むアンインストール命令と、前記新たにインストールされようとしているプログラムを指定したインストール命令とを作成する管理部と、当該アンインストール命令と当該インストール命令とを前記ゲートウェイに送信するゲートウェイインタフェース部とを備えることを特徴とする管理システムをもって解決手段とする。
【００１７】
請求項９の本発明は、請求項１ないし４のいずれかに記載のゲートウェイ管理方法を管理システムに実行させるコンピュータプログラムをもって解決手段とする。
【発明の効果】
【００１８】
本発明によれば、インストールを中止するので、ゲートウェイ２に新たなプログラムをインストールしたときに生じるリソース不足を回避することができる。
【００１９】
また、他のプログラムをアンインストールするので、リソース不足が生じないようにして新たなプログラムをインストールすることができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態を図面を参照して説明する。
【００２１】
［第１の実施の形態］
図１は、第１の実施の形態に係るシステム構成図である。
【００２２】
管理システム１は、各ユーザ宅に配置されたホームゲートウェイと称される装置（ゲートウェイという）２に対し、インターネットなどの通信網Ｎ１を介して接続される。また、ゲートウェイ２は、ホームネットワークと称される通信網ＨＮを介して、各種家電機器やＡＶ機器などのデバイス３に接続される。また、ゲートウェイ２のユーザが使用するコンピュータ４と管理システム１は通信網Ｎ２（通信網Ｎ１と共通でもよい）で接続される。
【００２３】
ゲートウェイ２は、オペレーティングシステム、Ｊａｖａ（登録商標）のＶＭ（または．ＮＥＴ  Ｆｒａｍｅｗｏｒｋ）、ＯＳＧｉ（または相当のミドルウェア）で構成されるような実行環境２１と、ＯＳＧｉのバンドル（プログラム）などで構成されるエージェント２２と、エージェント２２と他のプログラム間のインタフェースであるアプリケーションプログラムインタフェース（ＡＰＩ）２３とを備え、デバイス３を制御するプログラムがインストールされて実行される。インストールとは、プログラムを実行可能とすることであり、プログラムの実行とは、プログラムによりデバイスを遠隔制御可能にすることである。ゲートウェイ２は、インストールされたプログラムのプログラム名によりプログラムをアンインストールできるようになっている。アンインストールとは、プログラムを実行不能とすることである。つまり、デバイスを遠隔制御不能にすることである。
【００２４】
管理システム１は、管理システム１の動作を管理する管理部１１と、各種テーブルを備えたデータベース部１２と、ゲートウェイ２にインストールするプログラムを配信するプログラム配信部１３と、ゲートウェイ２との通信のためのゲートウェイインタフェース部１４と、管理システム１のオペレータにより操作される入力装置や当該オペレータのための表示を行う表示装置との通信のためのオペレータインタフェース部１５と、ゲートウェイ２のユーザがオペレータとなって操作するコンピュータ４との通信のためのユーザインタフェース部１６と、ゲートウェイ２でのリソース不足の当否を判定するリソース不足当否判定部１７とを備える。
【００２５】
データベース部１２は、管理システム１のオペレータに関する情報が記憶されるオペレータ情報テーブル１２１と、ゲートウェイ２に関する情報が記憶されるゲートウェイ２情報テーブル１２２と、ゲートウェイ２とプログラムの組に関する情報が記憶されるゲートウェイ２−プログラム情報テーブル１２３と、ゲートウェイ２がもつリソースに関する情報が記憶されるリソース情報テーブル１２４と、ゲートウェイ２の設計様式（アーキテクチャ）に関する情報が記憶されるアーキテクチャ情報テーブル１２５と、プログラムに関する情報が記憶されるプログラム情報テーブル１２６とを備える。
【００２６】
なお、データベース部１２は、例えば、リレーショナルデータベースの技術を利用して実現される。
【００２７】
プログラム配信部１３は、ゲートウェイ２にインストールされるプログラム（ＯＳＧｉのバンドル）を、アクセス元のゲートウェイ２に送信するようになっている。
【００２８】
なお、プログラム配信部１３は、HTTP サーバや、FTPサーバで構成することができる。
【００２９】
管理システム１は、図示しない表示装置と入力装置を備え、オペレータインタフェース部１５は、入力装置に対する操作内容を管理部１１に伝え、また、管理部１１の指示により表示装置への表示を行うようになっている。
【００３０】
なお、管理システム１は、例えば、Servlet,EJB,Relational Databaseで構成される。また、Web ServerとPHP,Relational Database による構成も可能である。また、CORBA,Web Serviceによる構成も可能である。
【００３１】
コンピュータ４は、図示しない表示装置と入力装置を備え、管理システム１のユーザインタフェース部１６は、コンピュータ４からその入力装置に対する操作内容を示す情報を受信し、その情報により操作内容を管理部１１に伝え、また、管理部１１の指示によりコンピュータ４へ表示内容を送信し、コンピュータ４がこの表示内容を表示装置に表示するようになっている。
【００３２】
図２は、オペレータ情報テーブル１２１の一例を示す。オペレータ情報テーブル１２１は、管理システム１のオペレータごとのレコードで構成され、各レコードは、対応するオペレータのオペレータ名およびパスワードが記憶される。
【００３３】
なお、オペレータ情報テーブル１２１は、例えば、テーブル名を「operator」、オペレータ名を「user」、パスワードを「passwd」として、以下のスキーマにより、実現される。  
CREATE TABLE operator(
user   text PRIMARY KEY,
passwd text,
realname text,
level  integer
);
【００３４】
図３は、ゲートウェイ２情報テーブル１２２の一例を示す。ゲートウェイ２情報テーブル１２２は、ゲートウェイ２ごとのレコードで構成され、各レコードは、対応するゲートウェイ２のゲートウェイＩＤ、当該ゲートウェイ２のアドレス、当該ゲートウェイ２を使用するユーザのユーザ名およびパスワード、当該ゲートウェイ２の設計様式（アーキテクチャ）を示すアーキテクチャＩＤが記憶される。
【００３５】
なお、ゲートウェイ２情報テーブル１２２は、例えば、テーブル名を「hgw」、アドレスを「address」、ユーザ名「user」、パスワードを「passwd」、アーキテクチャＩＤを「arcType」として、以下のスキーマにより、実現される。  
CREATE TABLE hgw (
hgwid   integer PRIMARY KEY,
address text,
user    text,
passwd  text,
arcType integer REFERENCES architecture(arcType),
...
);
【００３６】
図４は、ゲートウェイ２−プログラム情報テーブル１２３の一例を示す。ゲートウェイ２−プログラム情報テーブル１２３は、１つのゲートウェイ２とその中の１つのプログラムとの組ごとのレコードで構成され、各レコードは、対応するゲートウェイ２を示すゲートウェイＩＤ、対応するプログラムのプログラム名が記憶される。
【００３７】
なお、ゲートウェイ２−プログラム情報テーブル１２３は、例えば、テーブル名を「installedBundle」、ゲートウェイＩＤを「hgwid」、プログラム名を「bundleNo」として、以下のスキーマにより、実現される。  
CREATE TABLE installedBundle(
hgwid   integer REFERENCES hgw (hgwid),
bundleNo integer REFERENCES bundleData(bundleNo),
);
【００３８】
図５は、リソース情報テーブル１２４の一例を示す。リソース情報テーブル１２４は、１つのプログラムとそれが消費する１つリソースの組ごとのレコードで構成され、各レコードは、対応するプログラムのプログラム名、対応するリソースのリソース名、当該プログラムによる当該リソースについての消費量の複数のゲートウェイ２での平均である平均消費量、分散である消費量分散、最小のものである最小消費量、最大のものである最大消費量が記憶される。
【００３９】
なお、リソース情報テーブル１２４は、例えば、テーブル名を「resource」、プログラム名を「bundleNo」、リソース名を「type」、アーキテクチャＩＤを「arcType」、最小消費量を「min」、最大消費量を「max」、平均消費量を「ave」、消費量分散を「variant」として、以下のスキーマにより、実現される。  
CREATE TABLE resource (
bundleNo ingeger REFERENCES bundleData( bundleNo),
type text,
arcType integer REFERENCES architecture(arcType),
min  numeric,
max  numeric,
ave  numeric,
variant numeric,
PRIMARY KEY( bundleNo, type, arcType)
);
【００４０】
図６は、アーキテクチャ情報テーブル１２５の一例を示す。アーキテクチャ情報テーブル１２５は、アーキテクチャごとのレコードで構成され、各レコードは、対応するアーキテクチャを示すアーキテクチャＩＤ、当該アーキテクチャをもつゲートウェイ２が備えるＣＰＵの処理能力を示すＣＰＵリソース量、当該アーキテクチャをもつゲートウェイ２が備えるメモリの記憶容量を示すメモリリソース量、当該アーキテクチャをもつゲートウェイ２が備えるハードディスクの記憶容量を示すハードディスクリソース量、当該アーキテクチャをもつゲートウェイ２が備える上りの通信容量を示す上り通信リソース量、当該アーキテクチャをもつゲートウェイ２が備える下りの通信容量を示す下り通信リソース量、当該上り通信リソース量および下り通信リソース量の合計を示す示す総通信リソース量が記憶される。
【００４１】
なお、アーキテクチャ情報テーブル１２５は、テーブル名を「architecture」、アーキテクチャＩＤを「arcType」、ＣＰＵリソース量を「cpu」、メモリリソース量を「memory」、ハードディスクリソース量を「hdd」、総通信リソース量を「net」、上り通信リソース量を「netup」、下り通信リソース量を「netdown」として、以下のスキーマにより、実現される。  
CREATE TABLE architecture{
arcType integer PRIMARY KEY,
name   text,
desc   text,
cpu    numeric,
memory numeric,
hdd    numeric,
net    numeric,
netup  numeric,
netdown numeric,
};
【００４２】
図７は、プログラム情報テーブル１２６の一例を示す。プログラム情報テーブル１２６は、プログラムごとのレコードで構成され、各レコードは、対応するプログラムのプログラム名、当該プログラムが記憶される場所を示すＵＲＬ（Uniform Resource Locator）とが記憶される。
【００４３】
なお、プログラム情報テーブル１２６は、テーブル名を「bundleData」、プログラム名を「bundleNo」、プログラムのＵＲＬを「bundleurl」として、以下のスキーマにより、実現される。  
CREATE TABLE bundleData (
bundleNo   integer PRIMARY KEY,
bundlename text,
bundleurl  text,
);
【００４４】
（第１の実施の形態の動作）
図８は、第１の実施の形態のシーケンス図である。
【００４５】
管理システム１のオペレータの操作でオペレータインタフェース部１５からオペレータ名およびパスワードの組（またはユーザの操作でコンピュータ４からユーザインタフェース部１６が受信したユーザ名およびパスワードの組）が管理部１１に与えられる（Ｓ１）。管理部１１は、オペレータインタフェース部１５から与えられた組がオペレータ情報テーブル１２１にあること、またはユーザインタフェース部１６から与えられた組がゲートウェイ２情報テーブル１２２に有ることを確認する（Ｓ２）。
【００４６】
ここで、ゲートウェイ２情報テーブル１２２が使用された場合、該当の１以上のレコードのそれぞれに含まれるゲートウェイＩＤが読み出される。
【００４７】
読み出されたゲートウェイＩＤが２個以上の場合、その２個以上のゲートウェイＩＤに対応するゲートウェイ２を選択する操作と、そのゲートウェイ２に新たにインストールするプログラムを指定する操作とがコンピュータ４になされ、それにより、そのゲートウェイ２のゲートウェイＩＤと、そのプログラムのＵＲＬが、管理部１１を介してリソース不足当否判定部１７に与えられる。
【００４８】
読み出されたゲートウェイＩＤが１個の場合、そのゲートウェイＩＤに対応するゲートウェイ２に新たにインストールするプログラムを指定する操作がコンピュータ４になされ、それにより、そのゲートウェイ２のゲートウェイＩＤと、そのプログラムのＵＲＬが、管理部１１を介してリソース不足当否判定部１７に与えられる。
【００４９】
一方、オペレータ情報テーブル１２１が使用された場合、予め設定された２個以上のゲートウェイＩＤに対応するゲートウェイ２の１つを選択する操作と、そのゲートウェイ２に新たにインストールするプログラムを指定する操作とが管理システム１のオペレータによりなされ、それにより、そのゲートウェイ２のゲートウェイＩＤと、そのプログラムのＵＲＬが、管理部１１を介してリソース不足当否判定部１７に与えられる。
【００５０】
次に、リソース不足当否判定部１７が行う処理について説明するが、ここでの途中結果はメモリなどに記憶され、必要時に読み出される。
【００５１】
まず、リソース不足当否判定部１７は、そのゲートウェイ２がもつリソース量を取得する。ここでは、リソース不足当否判定部１７は、ゲートウェイ２情報テーブル１２２から、与えられたゲートウェイＩＤを含むレコード内のアーキテクチャＩＤを読み出し、アーキテクチャ情報テーブル１２５から、そのアーキテクチャＩＤを含むレコード内の各リソース量（ＣＰＵリソース量など）を読み出す（Ｓ１０）。
【００５２】
また、リソース不足当否判定部１７は、その新たにインストールするプログラムによる消費量などを取得する。ここでは、リソース不足当否判定部１７は、プログラム情報テーブル１２６から、与えられたＵＲＬを含むレコード内のプログラム名を読み出し、リソース情報テーブル１２４から、そのプログラム名と１つのリソース名（例えば、ＣＰＵ）の組につき、リソース情報テーブル１２４から、その組を含むレコード内の平均消費量、消費量分散、最大消費量、最小消費量を読み出し、他のリソース名についても同様にする（Ｓ１１）。
【００５３】
また、リソース不足当否判定部１７は、ゲートウェイ２の各プログラムによる消費量などの総和などを計算する。ここでは、リソース不足当否判定部１７は、ゲートウェイ２−プログラム情報テーブル１２３から、与えられたゲートウェイＩＤを含むレコード内のプログラム名の全てを読み出し、読み出したプログラム名の１つと１つのリソース名（例えば、ＣＰＵ）の組につき、リソース情報テーブル１２４から、その組を含むレコード内の平均消費量、消費量分散、最大消費量、最小消費量を読み出し、他のプログラム名についても、同様にし、平均消費量の総和、消費量分散の総和、最大消費量の総和、最小消費量の総和を計算する。また、他のリソース名についても、同様に総和を計算する（Ｓ１２）。
【００５４】
なお、この消費量分散の総和、つまり、各ゲートウェイ２における分散の総和は、統計的に、各ゲートウェイ２での消費量の総和の分散に等しくなることが知られている。
【００５５】
そして、リソース不足当否判定部１７は、新たにインストールするプログラムがインストールされた場合の消費量を計算する。ここでは、１つのリソース名（例えば、ＣＰＵ）についてステップＳ１１で読み出した平均消費量と当該リソース名についてステップＳ１２で計算した平均消費量の総和との和（新たにインストールするプログラムがインストールされた場合の平均消費量）を計算し、消費量分散、最大消費量、最小消費量についても同様の和を計算し、他のリソース名についても計算する（Ｓ１３）。
【００５６】
次に、リソース不足当否判定部１７は、新たにインストールするプログラムがインストールされた場合にリソースが不足するか否かの判定と不足する確率の計算を行う（Ｓ１４）。ここでは、以下の４つの処理を行う。
【００５７】
（Ｓ１４−１）最大消費量を用いた判定：リソース不足当否判定部１７は、アーキテクチャ情報テーブル１２５から読み出された、１つのリソース名（例えば、ＣＰＵ）についてのリソース量と予め設定された率との積を計算し、最大消費量とそのリソース名の組について計算した和が当該積より大きいか否かを判定し、当該積未満と判定された場合は、他のリソース名についても、１つのリソース名づつ順次に同様の判定を行う。その過程において、いずれかの判定において積より大きいと判定されたら、この最大消費量を用いた判定結果を「リソース不足」とし、この時点で、この最大消費量について判定を終了し、一方、いずれの判定においても積より大きいと判定されないで終了したら、この最大消費量を用いた判定結果を「リソース不足なし」とする。
【００５８】
なお、率は、可変可能とするのが好ましい。率を１とすると、最も判定結果が「リソース不足」になりにくく、率を０に近づけると、判定結果が「リソース不足なし」になりやすくなる。判定結果は表示され、インストール中止か続行かの判断材料となるので、リソース不足を確実に防止する程度に応じて率を定めればよい。以下、率について同じである。
【００５９】
また、この最大消費量について判定は、関数により実現できる、つまり、関数名を「checkMax」とし、変数typeがリソース名「cpu」、「memory」、「hdd」、「net」、「netup」、「netdown」をとるものとし、そのリソース名についての消費量を関数Ｍ[type]とし、最大消費量とそのリソース名の組について計算した和を関数Ｔ [type][max]とし、「リソース不足」を「false」、「リソース不足なし」を「true」とすると、以下のスキーマにより、実現される。  
double margin = 1.0
boolean checkMax(T,M){
for t in (cpu,menory,hdd,net,netup,netdown){
if( M[t] * margin < T[type][max] ) return false;
}
return true;
}
【００６０】
（Ｓ１４−２）平均消費量を用いた判定：リソース不足当否判定部１７は、アーキテクチャ情報テーブル１２５から読み出された、１つのリソース名（例えば、ＣＰＵ）についてのリソース量と予め設定された率との積を計算し、平均消費量とそのリソース名の組について計算した和が当該積より大きいか否かを判定し、当該積未満と判定された場合は、他のリソース名についても、１つのリソース名づつ順次に同様の判定を行う。その過程において、いずれかの判定において積より大きいと判定されたら、この平均消費量を用いた判定結果を「リソース不足」とし、この時点で、この平均消費量について判定を終了し、一方、いずれの判定においても積より大きいと判定されないで終了したら、この平均消費量を用いた判定結果を「リソース不足なし」とする。
【００６１】
なお、この平均消費量について判定は、関数により実現できる、つまり、関数名を「checkAve」とし、変数typeがリソース名「cpu」、「memory」、「hdd」、「net」、「netup」、「netdown」をとるものとし、そのリソース名についての消費量を関数Ｍ[type]とし、平均消費量とそのリソース名の組について計算した和を関数Ｔ [type][ave]とし、「リソース不足」を「false」、「リソース不足なし」を「true」とすると、以下のスキーマにより、実現される。  
double margin = 1.0
boolean checkAve(T,M){
for type in (cpu,memory,hdd,net,netup,netdown){
if( M[type] * margin < T[type][ave] ) return false;
)
return true;
}
【００６２】
（Ｓ１４−３）最小消費量を用いた判定：リソース不足当否判定部１７は、アーキテクチャ情報テーブル１２５から読み出された、１つのリソース名（例えば、ＣＰＵ）についてのリソース量と予め設定された率との積を計算し、最小消費量とそのリソース名の組について計算した和が当該積より大きいか否かを判定し、当該積未満と判定された場合は、他のリソース名についても、１つのリソース名づつ順次に同様の判定を行う。その過程において、いずれかの判定において積より大きいと判定されたら、この最小消費量を用いた判定結果を「リソース不足」とし、この時点で、この最小消費量について判定を終了し、一方、いずれの判定においても積より大きいと判定されないで終了したら、この最小消費量を用いた判定結果を「リソース不足なし」とする。
【００６３】
なお、この最小消費量について判定は、関数により実現できる、つまり、関数名を「checkMin」とし、変数typeがリソース名「cpu」、「memory」、「hdd」、「net」、「netup」、「netdown」をとるものとし、そのリソース名についての消費量を関数Ｍ[type]とし、最小消費量とそのリソース名の組について計算した和を関数Ｔ [type][min]とし、「リソース不足」を「false」、「リソース不足なし」を「true」とすると、以下のスキーマにより、実現される。  
double margin = 1.0
boolean checkMin(T,M){
for type in (cpu,memory,hdd,net,netup,netdown){
if( M[type] * margin < T[type][min] )return false;
}
return true;
}
【００６４】
（Ｓ１４−４）確率を求める処理：リソース不足当否判定部１７は、アーキテクチャ情報テーブル１２５から読み出された、１つのリソース名（例えば、ＣＰＵ）についてのリソース量（例えば、ＣＰＵリソース量）をＭ、平均消費量とそのリソース名の組について計算した和をＳａ、消費量分散とそのリソース名の組について計算した和をＳｖとして、式（１）に示すｕを計算する。
【数１】
0004709066.tif 000002
【００６５】
そして、そのｕを用い、リソース不足となる確率Ｑ（ｕ）を計算する。確率Ｑ（ｕ）は、正規分布の累積関数であり、図９に示すような標準正規分布関数を−∞からｕまで積分した値が得られる。よって、確率Ｑ（ｕ）は単純増加関数であり、Ｑ（−∞）＝０、Ｑ（０）＝０．５、Ｑ（∞）＝１となる。リソース不足当否判定部１７は、他のリソース名についても、同じ計算を行う。
【００６６】
そして、管理部１１は、図１０ように、最大消費量、平均消費量、最小消費量を用いた判定結果（「リソース不足なし」か「リソース不足」か）と、各リソース名について求めた確率Ｑ（ｕ）を、オペレータインタフェース部１５をして管理システム１の表示装置に（またはユーザインタフェース部１６をしてコンピュータ４の表示装置に）表示させる（Ｓ１５）。これにより、判定結果および確率が、管理システム１のオペレータまたはユーザにより視認されることとなる。
【００６７】
なお、１つのリソース名（例えば、ＣＰＵ）についての確率Ｑ（ｕ）を計算し、それが予め設定された閾値より大きいか否かを判定し、当該閾値未満と判定された場合は、他のリソース名についても、１つのリソース名づつ順次に同様の判定を行い、その過程において、いずれかの判定において閾値より大きいと判定されたら、この確率を用いた判定結果を「リソース不足」とし、この時点で、この確率について判定を終了し、一方、いずれの判定においても閾値より大きいと判定されないで終了したら、この確率を用いた判定結果を「リソース不足なし」とし、そして、判定結果が得られたら、それをオペレータインタフェース部１５をして管理システム１において（またはユーザインタフェース部１６をしてコンピュータ４において）表示させてもよい。
【００６８】
なお、この処理は、関数により実現できる、つまり、関数名を「checkSta」とし、変数typeがリソース名「cpu」、「memory」、「hdd」、「net」、「netup」、「netdown」をとるものとし、そのリソース名についての消費量を関数Ｍ[type]とし、平均消費量とそのリソース名の組について計算した和を関数Ｔ [type][ave]とし、消費量分散とそのリソース名の組について計算した和を関数Ｔ [type][varient]とし、「リソース不足」を「false」、「リソース不足なし」を「true」とすると、以下のスキーマにより、実現される。  
double threshould = 0.1;
double calc_Q(type,T,M){
u = ( M[type] - T[type][ave] ) / sprt( T[type][variant] );
return Q(u);
}
boolean checkSta(T,M){
for type in (cpu,memory,hdd,net,netup,netdown){
if( calc_Q(type,T,M) > threshould )return false;
}
return true;
}
【００６９】
さて、管理システム１のオペレータの操作（図１０における中止ボタンＢ１０１をクリックする操作）でオペレータインタフェース部１５からのインストールの中止の指示が（またはユーザの操作（図１０における中止ボタンＢ１０１をクリックする操作）でコンピュータ４からネットワークＮ２とユーザインタフェース部１６を介して中止の指示）が通知された場合、管理部１１はその時点で処理を終える（図８：Ｓ１６）。つまり、インストールを中止する。
【００７０】
一方、管理システム１のオペレータやユーザの操作（図１０における続行ボタンＢ１０２をクリックする操作）でインストールの続行の指示が通知された場合、管理部１１は、プログラム情報テーブル１２６から、リソース不足当否判定部１７に与えたＵＲＬ（新たにインストールするプログラムのＵＲＬ）を含むレコード内のプログラム名を読み出し、当該プログラム名と当該ＵＲＬと含むインストール命令を作成する。そして、管理部１１は、ゲートウェイ２情報テーブル１２２から、リソース不足当否判定部１７に与えたゲートウェイＩＤ（新たにプログラムをインストールするゲートウェイ２のゲートウェイＩＤ）を含むレコード内のアドレスを読み出し、ゲートウェイインタフェース部１４をして、作成したインストール命令を、読み出したアドレスのゲートウェイ２に対して送信させる（図８：Ｓ１７）。
【００７１】
インストール命令を送信されたゲートウェイ２では、エージェント２２が、インストール命令に含まれるＵＲＬによりプログラム配信部１３にアクセスして、そのＵＲＬの場所に記憶された、新たにインストールするプログラムをプログラム配信部１３から自身に送信させ（Ｓ１８）、それをインストールし、かつ、当該インストール命令に含まれるプログラム名によりアンインストールできるようにする（Ｓ１９）。
【００７２】
このとき、ゲートウェイ２−プログラム情報テーブル１２３には、インストールされたゲートウェイ２のゲートウェイＩＤと、インストールされたプログラムのプログラム名とを含むレコードが作成される。
【００７３】
なお、ステップＳ１５では、判定結果などを表示させないで、その代わりに、判定結果などにより、インストールを続行するか否かを判定し、続行すると判定した場合、例えば、最大消費量、平均消費量、最小消費量を用いた判定結果が全て「リソース不足なし」であるという条件と、各リソース名について求めた確率Ｑ（ｕ）が全て予め設定した閾値以下であるという条件の両方の条件が成立した場合は、ステップＳ１７を行って、Ｓ１８とＳ１９が行われるようにし、一方、続行しないと判定した場合、例えば、１つ以上の判定結果が「リソース不足」であるという条件と、１つ以上の確率Ｑ（ｕ）が予め設定した閾値より大きいという条件の一方または両方が成立した場合は、その時点で処理を終えるようにしてもよい。
【００７４】
したがって、第１の実施の形態によれば、インストールを中止するので、ゲートウェイ２に新たなプログラムをインストールしたときに生じるリソース不足を回避することができる。
【００７５】
［第２の実施の形態］
次に、第２の実施の形態を説明する。第２の実施の形態は、第１の実施の形態に対して、プログラム情報テーブル１２６と動作が異なる。なお、プログラム情報テーブル１２６の符号は流用する。
【００７６】
図１１は、プログラム情報テーブル１２６の一例を示す。プログラム情報テーブル１２６は、プログラムごとのレコードで構成され、各レコードは、対応するプログラムのプログラム名およびＵＲＬと、当該プログラムをゲートウェイ２にインストールする優先度を示すプログラム使用優先度とが記憶される。プログラム使用優先度は、優先度が最も低いときに０が設定され、優先度が高いほど大きな正の整数が設定される
なお、プログラム情報テーブル１２６は、テーブル名を「bundleData」、プログラム名を「bundleNo」、ＵＲＬを「bundleurl」、プログラム使用優先度を「level」として、以下のスキーマにより、実現される。  
CREATE TABLE bundleData (
bundleNo   integer PRIMARY KEY,
bundlename text,
bundleurl  text,
level      integer
);
【００７７】
（第２の実施の形態の動作）
図１２は、第２の実施の形態のシーケンス図である。
【００７８】
ステップＳ１０までは、第１の実施の形態と同様であり、説明を省略する。続いて、リソース不足当否判定部１７は、プログラム情報テーブル１２６から、新たにインストール命令するプログラムのＵＲＬを含むレコード内のプログラム名とプログラム使用優先度（これをプログラム使用優先度Ａという）を読み出し、リソース情報テーブル１２４から、そのプログラム名と１つのリソース名（例えば、ＣＰＵ）の組につき、リソース情報テーブル１２４から、その組を含むレコード内の平均消費量、消費量分散、最大消費量、最小消費量を読み出し、他のリソース名についても同様にする（Ｓ１１Ａ）。
【００７９】
そして、以下の処理で使用する変数Ｎに「０」を設定し、続く、ステップＳ１１Ｂでは、リソース不足当否判定部１７は、ゲートウェイ２−プログラム情報テーブル１２３から、与えられたゲートウェイＩＤを含むレコード内のプログラム名を全て読み出し、当該各プログラム名につき、プログラム情報テーブル１２６から、当該プログラム名を含むレコード内のプログラム使用優先度を読み出して当該プログラム使用優先度および当該プログラム名の組を作成する（Ｓ１１Ｂ）。これらの組は、例えば、管理システム１のメモリなどに記憶する。
【００８０】
そして、変数Ｎ以上のプログラム使用優先度を含む組内のプログラム名を読み出し、読み出したプログラム名の１つと１つのリソース名（例えば、ＣＰＵ）の組につき、リソース情報テーブル１２４から、その組を含むレコード内の平均消費量、消費量分散、最大消費量、最小消費量を読み出し、他のプログラム名についても、同様にし、読み出した平均消費量の総和、消費量分散の総和、最大消費量の総和、最小消費量の総和を計算する。また、他のリソース名についても、同様に総和を計算する（Ｓ１２Ａ）。
【００８１】
そして、第１の実施の形態と同様に、ステップＳ１３、Ｓ１４を行う。
【００８２】
次に、変数Ｎに１を加算し、それが、プログラム使用優先度Ａより低いか否かを判定し（Ｓ１４Ａ）、ＹＥＳ（低い）と判定された場合は、ステップＳ１１Ｂに戻り、一方、ＮＯ（同じか高い）と判定された場合は、図１３のように、プログラム使用優先度Ａ、変数Ｎに値が設定された各段階で得られた判定結果と確率を、オペレータインタフェース部１５をして管理システム１の表示装置（またはユーザインタフェース部１６をしてコンピュータ４の表示装置に）表示させる（図１２：Ｓ１５Ａ）。これにより、各段階の判定結果および確率が、管理システム１のオペレータまたはユーザにより視認されることとなる。
【００８３】
さて、その後、第１の実施の形態と同様の中止の操作（図１３における中止ボタンＢ１３１をクリックする操作）によりインストールが中止される（図１２：Ｓ１６）。一方、いずれかの判定結果を選択する操作（図１３における複数の続行ボタンＢ１３２のいずれかをクリックする操作）がなされ、その選択結果が管理部１１に通知されると、管理部１１は、ステップＳ１１Ｂで作成された組から、通知された選択結果に対応する処理結果が得られた段階で変数Ｎに設定されていた値が１以上ならその値未満のプログラム使用優先度を含む組を選択し、その組内のプログラム名を全て読み出し、その読み出したプログラム名を含むアンインストール命令を作成する。また、管理部１１は、プログラム情報テーブル１２６から、新たにインストールするプログラムのＵＲＬを含むレコード内のプログラム名を読み出し、当該プログラム名と当該ＵＲＬと含むインストール命令を作成する。そして、管理部１１は、ゲートウェイ２情報テーブル１２２から、新たにプログラムをインストールするゲートウェイ２のゲートウェイＩＤを含むレコード内のアドレスを読み出し、ゲートウェイインタフェース部１４をして、作成したアンインストール命令とインストール命令を、読み出したアドレスのゲートウェイ２に対して送信させる（図１２：Ｓ１７Ａ）。
【００８４】
アンインストール命令とインストール命令とを送信されたゲートウェイ２では、エージェント２２が、そのアンインストール命令に含まれるプログラム名に対応するプログラムをアンインストールする（Ｓ１８Ａ）。そして、第１の実施の形態と同様に、ステップＳ１８、Ｓ１９を行う。
【００８５】
なお、変数Ｎを１づつ増加しいく各段階の判定結果により、変数Ｎを増加させて次の段階に進むか、処理を中止するかを選択してもよい。つまり、例えば、最大消費量、平均消費量、最小消費量を用いた判定結果が全て「リソース不足なし」であるという条件と、各リソース名について求めた確率Ｑ（ｕ）が全て予め設定した閾値以下であるという条件の両方の条件が成立した場合は、変数Ｎを増加させて、その変数Ｎでの判定結果を求め、一方、例えば、１つ以上の判定結果が「リソース不足」であるという条件と、１つ以上の確率Ｑ（ｕ）が予め設定した閾値より大きいという条件の一方または両方が成立した場合は、その時点で処理を終えるようにしてもよい。
【００８６】
したがって、第２の実施の形態によれば、他のプログラムをアンインストールするので、リソース不足が生じないようにして新たなプログラムをインストールすることができる。
【００８７】
なお、上記のゲートウェイ管理方法を管理システム１に実行させるコンピュータプログラムは、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのコンピュータ読み取り可能な記録媒体に格納し、陳列などして流通させたり、当該コンピュータプログラムをインターネットなどの通信網を介して伝送させてもよい。
【図面の簡単な説明】
【００８８】
【図１】第１の実施の形態に係るシステム構成図
【図２】オペレータ情報テーブル１２１の一例
【図３】ゲートウェイ２情報テーブル１２２の一例
【図４】ゲートウェイ２−プログラム情報テーブル１２３の一例
【図５】リソース情報テーブル１２４の一例
【図６】アーキテクチャ情報テーブル１２５の一例
【図７】プログラム情報テーブル１２６の一例
【図８】第１の実施の形態のシーケンス図
【図９】確率Ｑ（ｕ）の説明図
【図１０】判定結果と確率の表示例
【図１１】プログラム情報テーブル１２６の一例
【図１２】第２の実施の形態のシーケンス図
【図１３】判定結果と確率の表示例
【符号の説明】
【００８９】
１…管理システム
２…ゲートウェイ
３…デバイス
１１…管理部
１２…データベース部
１３…プログラム配信部
１４…ゲートウェイインタフェース部
１５…オペレータインタフェース部
１６…ユーザインタフェース部
１７…リソース不足当否判定部
２１…実行環境
２２…エージェント
１２１…オペレータ情報テーブル
１２２…ゲートウェイ情報テーブル
１２３…プログラム情報テーブル
１２４…リソース情報テーブル
１２５…アーキテクチャ情報テーブル
１２６…プログラム情報テーブル
【図１】
0004709066.tif 000003
【図２】
0004709066.tif 000004
【図３】
0004709066.tif 000005
【図４】
0004709066.tif 000006
【図５】
0004709066.tif 000007
【図６】
0004709066.tif 000008
【図７】
0004709066.tif 000009
【図８】
0004709066.tif 000010
【図９】
0004709066.tif 000011
【図１０】
0004709066.tif 000012
【図１１】
0004709066.tif 000013
【図１２】
0004709066.tif 000014
【図１３】
0004709066.tif 000015