(57)【特許請求の範囲】
【請求項１】
端末装置と、ネットワークを介して前記端末装置に接続されるサーバ装置と、を備える計算機システムであって、
前記サーバ装置は、
前記ネットワークに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
前記端末装置にインストールすることができる複数のソフトウェアモジュールの依存関係を示す依存関係情報を保持し、
前記端末装置にインストールされているソフトウェアモジュールのアンインストールが前記端末装置によって要求された場合、前記依存関係情報に基づいて、前記要求されたアンインストールの実行によって、前記端末装置にインストールされているいずれかのソフトウェアモジュールが依存するソフトウェアモジュールがアンインストールされるか否かを判定し、
前記端末装置にインストールされているいずれかのソフトウェアモジュールが依存するソフトウェアモジュールがアンインストールされると判定された場合、前記要求されたアンインストールの実行を許可しないことを示す情報を前記端末装置に送信することを特徴とする計算機システム。
【請求項２】
前記依存関係情報は、前記各ソフトウェアモジュールのバージョンを示す情報を含み、
前記サーバ装置は、
前記端末装置にインストールされているソフトウェアモジュールのアンインストールに加えて、前記アンインストールを要求されたソフトウェアモジュールの新しいバージョンのインストールが前記端末装置によって要求された場合、前記依存関係情報に基づいて、前記端末装置にインストールされているソフトウェアモジュールのうち、前記アンインストールを要求されたソフトウェアモジュールに依存するソフトウェアモジュールを特定し、
前記特定されたソフトウェアモジュールの新しいバージョンであって、かつ、前記インストールを要求されたソフトウェアモジュールに依存するソフトウェアモジュールが、前記依存関係情報に登録されているか否かを判定し、
前記特定されたソフトウェアモジュールの新しいバージョンであって、かつ、前記インストールを要求されたソフトウェアモジュールに依存するソフトウェアモジュールが、前記依存関係情報に登録されていないと判定された場合、前記要求されたアンインストールの実行によって、前記端末装置にインストールされているいずれかのソフトウェアモジュールが依存するソフトウェアモジュールがアンインストールされると判定することを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記サーバ装置は、
前記端末装置へのインストールが許可されないソフトウェアモジュールの組み合わせを示す規則情報をさらに保持し、
前記端末装置へのソフトウェアモジュールのインストールが前記端末装置によって要求された場合、前記規則情報に基づいて、前記インストールを要求されたソフトウェアモジュールと組み合わせてインストールすることが許可されないソフトウェアモジュールが前記端末装置に既にインストールされているか否かを判定し、
前記インストールを要求されたソフトウェアモジュールと組み合わせてインストールすることが許可されないソフトウェアモジュールが前記端末装置に既にインストールされていると判定された場合、前記要求されたソフトウェアモジュールのインストールが許可されないことを示す情報を前記端末装置に送信することを特徴とする請求項１または２に記載の計算機システム。
【請求項４】
前記端末装置は、前記要求されたソフトウェアモジュールのインストールが許可されないことを示す情報を受信した場合、前記要求されたインストールを実行できないことを示す情報、及び、前記インストールを要求されたソフトウェアモジュールと組み合わせてインストールすることが許可されないソフトウェアモジュールのアンインストールを推奨することを示す情報の少なくとも一方を表示することを特徴とする請求項３に記載の計算機システム。
【請求項５】
前記規則情報は、前記各ソフトウェアモジュールの優先度を示す情報を含み、
前記サーバ装置は、前記インストールを要求されたソフトウェアモジュールと組み合わせてインストールすることが許可されないソフトウェアモジュールが前記端末装置に既にインストールされていると判定された場合、前記要求されたソフトウェアモジュールのインストールが許可されないことを示す情報と共に、前記各ソフトウェアモジュールの優先度を示す情報を前記端末装置に送信し、
前記端末装置は、
前記インストールを要求されたソフトウェアモジュールの優先度が、前記インストールを要求されたソフトウェアモジュールと組み合わせてインストールすることが許可されないソフトウェアモジュールの優先度より低い場合、前記要求されたインストールを実行できないことを示す情報を表示し、
前記インストールを要求されたソフトウェアモジュールの優先度が、前記インストールを要求されたソフトウェアモジュールと組み合わせてインストールすることが許可されないソフトウェアモジュールの優先度より高い場合、前記インストールを要求されたソフトウェアモジュールと組み合わせてインストールすることが許可されないソフトウェアモジュールのアンインストールを推奨することを示す情報を表示することを特徴とする請求項４に記載の計算機システム。
【請求項６】
前記端末装置は、
前記端末装置が実行するアプリケーションの識別子と、前記アプリケーションを実行するために使用される前記端末装置の資源の使用量の閾値と、を含む条件を保持し、
前記アプリケーションを実行するために使用される前記端末装置の資源の実際の使用量が前記閾値を超える場合、前記端末装置の実際の使用状態が前記条件を満たすと判定し、前記端末装置の実際の使用状態が前記条件を満たす場合、前記端末装置において実際に実行されている複数のアプリケーションの識別子及び前記端末装置の資源の実際の使用量を含む資源使用情報を前記サーバ装置に送信し、
前記サーバ装置は、
前記端末装置から受信した資源使用情報を保持し、
前記保持された資源使用情報における出現頻度が所定の閾値より高い前記複数のアプリケーションの組み合わせに対応するソフトウェアモジュールの組み合わせを前記規則情報に追加することを特徴とする請求項５に記載の計算機システム。
【請求項７】
前記端末装置は、前記資源使用情報に含まれる前記複数のアプリケーションの識別子に対応する前記ソフトウェアモジュールの組み合わせが前記規則情報に登録されている場合、前記登録されている組み合わせに含まれるソフトウェアモジュールのうち、前記優先度がより低いソフトウェアモジュールのアンインストールを推奨することを示す情報を表示することを特徴とする請求項６に記載の計算機システム。
【請求項８】
前記条件は、前記アプリケーションの動作状態を示す情報をさらに含み、
前記端末装置は、前記アプリケーションの実際の動作状態ごとの前記資源の実際の使用量が、前記条件に含まれる、前記実際の動作状態と同一の動作状態ごとの前記閾値を超える場合、前記端末装置の実際の使用状態が前記条件を満たすと判定し、
前記資源使用情報は、前記端末装置の実際の使用状態が前記条件を満たす場合の前記アプリケーションの実際の動作状態を示す情報をさらに含むことを特徴とする請求項６または７に記載の計算機システム。
【請求項９】
前記計算機システムは、ネットワークを介して前記サーバ装置に接続される第２端末装置をさらに備え、
前記第２端末装置は、
複数のソフトウェアモジュールの依存関係を示す情報を入力されると、前記入力された情報を前記依存関係情報として格納し、
前記ソフトウェアモジュールを識別する情報を入力されると、前記依存関係情報に基づいて、前記入力された情報によって識別されるソフトウェアモジュールが依存する一つ以上のソフトウェアモジュールを識別する情報、または、前記入力された情報によって識別されるソフトウェアモジュールに依存する一つ以上のソフトウェアモジュールを識別する情報を表示することを特徴とする請求項１から８のいずれか一つに記載の計算機システム。
【請求項１０】
ネットワークを介して端末装置に接続されるサーバ装置であって、
前記ネットワークに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
前記端末装置にインストールすることができる複数のソフトウェアモジュールの依存関係を示す依存関係情報を保持し、
前記端末装置にインストールされているソフトウェアモジュールのアンインストールが前記端末装置によって要求された場合、前記依存関係情報に基づいて、前記要求されたアンインストールの実行によって、前記端末装置にインストールされているいずれかのソフトウェアモジュールが依存するソフトウェアモジュールがアンインストールされるか否かを判定し、
前記端末装置にインストールされているいずれかのソフトウェアモジュールが依存するソフトウェアモジュールがアンインストールされると判定された場合、前記要求されたアンインストールの実行を許可しないことを示す情報を前記端末装置に送信することを特徴とするサーバ装置。
【請求項１１】
前記依存関係情報は、前記各ソフトウェアモジュールのバージョンを示す情報を含み、
前記サーバ装置は、
前記端末装置にインストールされているソフトウェアモジュールのアンインストールに加えて、前記アンインストールを要求されたソフトウェアモジュールの新しいバージョンのインストールが前記端末装置によって要求された場合、前記依存関係情報に基づいて、前記端末装置にインストールされているソフトウェアモジュールのうち、前記アンインストールを要求されたソフトウェアモジュールに依存するソフトウェアモジュールを特定し、
前記特定されたソフトウェアモジュールの新しいバージョンであって、かつ、前記インストールを要求されたソフトウェアモジュールに依存するソフトウェアモジュールが、前記依存関係情報に登録されているか否かを判定し、
前記特定されたソフトウェアモジュールの新しいバージョンであって、かつ、前記インストールを要求されたソフトウェアモジュールに依存するソフトウェアモジュールが、前記依存関係情報に登録されていないと判定された場合、前記要求されたアンインストールの実行によって、前記端末装置にインストールされているいずれかのソフトウェアモジュールが依存するソフトウェアモジュールがアンインストールされると判定することを特徴とする請求項１０に記載のサーバ装置。
【請求項１２】
前記サーバ装置は、
前記端末装置へのインストールが許可されないソフトウェアモジュールの組み合わせを示す規則情報をさらに保持し、
前記端末装置へのソフトウェアモジュールのインストールが前記端末装置によって要求された場合、前記規則情報に基づいて、前記インストールを要求されたソフトウェアモジュールと組み合わせてインストールすることが許可されないソフトウェアモジュールが前記端末装置に既にインストールされているか否かを判定し、
前記インストールを要求されたソフトウェアモジュールと組み合わせてインストールすることが許可されないソフトウェアモジュールが前記端末装置に既にインストールされていると判定された場合、前記要求されたソフトウェアモジュールのインストールが許可されないことを示す情報を前記端末装置に送信することを特徴とする請求項１０または１１に記載のサーバ装置。
【請求項１３】
ネットワークを介してサーバ装置に接続される端末装置であって、
前記端末装置は、
前記ネットワークに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続される入出力装置と、を備え、
前記端末装置にインストールされているソフトウェアモジュールを識別する情報を保持し、
前記端末装置が実行するアプリケーションの識別子と、前記アプリケーションを実行するために使用される前記端末装置の資源の使用量の閾値と、を含む条件を保持し、
前記アプリケーションを実行するために使用される前記端末装置の資源の実際の使用量が前記閾値を超える場合、前記端末装置の実際の使用状態が前記条件を満たすと判定し、前記端末装置の実際の使用状態が前記条件を満たす場合、前記端末装置において実際に実行されている複数のアプリケーションの識別子及び前記端末装置の資源の実際の使用量を含む資源使用情報を前記サーバ装置に送信し、
前記端末装置にインストールされているソフトウェアモジュールのアンインストールを要求する場合、前記アンインストールを要求されたソフトウェアモジュールを識別する情報を前記サーバ装置に送信し、
前記要求されたアンインストールが許可されることを示す情報を前記サーバ装置から受信すると、前記要求されたアンインストールを実行し、
前記要求されたアンインストールが許可されないことを示す情報を前記サーバ装置から受信すると、前記要求されたアンインストールが許可されないことを前記入出力装置に表示し、
前記端末装置へのソフトウェアモジュールのインストールを要求する場合、前記インストールを要求されたソフトウェアモジュールを識別する情報を前記サーバ装置に送信し、
前記要求されたインストールが許可されることを示す情報を前記サーバ装置から受信すると、前記要求されたインストールを実行し、
前記要求されたインストールが許可されないことを示す情報を前記サーバ装置から受信すると、前記要求されたインストールを実行できないことを示す情報、及び、前記端末装置に既にインストールされているソフトウェアモジュールのアンインストールを推奨することを示す情報の少なくとも一方を表示することを特徴とする端末装置。
【請求項１４】
ネットワークを介してサーバ装置に接続される端末装置であって、
前記端末装置は、
前記ネットワークに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続される入出力装置と、を備え、
複数のソフトウェアモジュールの依存関係を示す依存関係情報を入力されると、前記入力された情報を前記サーバ装置に送信し、
前記ソフトウェアモジュールを識別する情報を入力されると、前記依存関係情報に基づいて、前記入力された情報によって識別されるソフトウェアモジュールが依存する一つ以上のソフトウェアモジュールを識別する情報、または、前記入力された情報によって識別されるソフトウェアモジュールに依存する一つ以上のソフトウェアモジュールを識別する情報を表示することを特徴とする端末装置。
【請求項１５】
ネットワークを介してサーバ装置に接続される端末装置のソフトウェアアップデート方法であって、
前記サーバ装置は、
前記ネットワークに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
前記端末装置にインストールすることができる複数のソフトウェアモジュールの依存関係を示す依存関係情報を保持し、
前記ソフトウェアアップデート方法は、
前記端末装置にインストールされているソフトウェアモジュールのアンインストールが前記端末装置によって要求された場合、前記サーバ装置が、前記依存関係情報に基づいて、前記要求されたアンインストールの実行によって、前記端末装置にインストールされているいずれかのソフトウェアモジュールが依存するソフトウェアモジュールがアンインストールされるか否かを判定する第１手順と、
前記端末装置にインストールされているいずれかのソフトウェアモジュールが依存するソフトウェアモジュールがアンインストールされると判定された場合、前記サーバ装置が、前記要求されたアンインストールの実行を許可しないことを示す情報を前記端末装置に送信する第２手順と、を含むことを特徴とするソフトウェアアップデート方法。
【請求項１６】
前記依存関係情報は、前記各ソフトウェアモジュールのバージョンを示す情報を含み、
前記第１手順は、
前記端末装置にインストールされているソフトウェアモジュールのアンインストールに加えて、前記アンインストールを要求されたソフトウェアモジュールの新しいバージョンのインストールが前記端末装置によって要求された場合、前記サーバ装置が、前記依存関係情報に基づいて、前記端末装置にインストールされているソフトウェアモジュールのうち、前記アンインストールを要求されたソフトウェアモジュールに依存するソフトウェアモジュールを特定する手順と、
前記サーバ装置が、前記特定されたソフトウェアモジュールの新しいバージョンであって、かつ、前記インストールを要求されたソフトウェアモジュールに依存するソフトウェアモジュールが、前記依存関係情報に登録されているか否かを判定する手順と、
前記特定されたソフトウェアモジュールの新しいバージョンであって、かつ、前記インストールを要求されたソフトウェアモジュールに依存するソフトウェアモジュールが、前記依存関係情報に登録されていないと判定された場合、前記サーバ装置が、前記要求されたアンインストールの実行によって、前記端末装置にインストールされているいずれかのソフトウェアモジュールが依存するソフトウェアモジュールがアンインストールされると判定する手順と、を含むことを特徴とする請求項１５に記載のソフトウェアアップデート方法。
【請求項１７】
前記サーバ装置は、前記端末装置へのインストールが許可されないソフトウェアモジュールの組み合わせを示す規則情報をさらに保持し、
前記ソフトウェアアップデート方法は、さらに、
前記端末装置へのソフトウェアモジュールのインストールが前記端末装置によって要求された場合、前記サーバ装置が、前記規則情報に基づいて、前記インストールを要求されたソフトウェアモジュールと組み合わせてインストールすることが許可されないソフトウェアモジュールが前記端末装置に既にインストールされているか否かを判定する第３手順と、
前記インストールを要求されたソフトウェアモジュールと組み合わせてインストールすることが許可されないソフトウェアモジュールが前記端末装置に既にインストールされていると判定された場合、前記サーバ装置が、前記要求されたソフトウェアモジュールのインストールが許可されないことを示す情報を前記端末装置に送信する第４手順と、を含むことを特徴とする請求項１５または１６に記載のソフトウェアアップデート方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムにおけるソフトウェア管理技術に関し、特に、カーナビゲーションシステム等の移動端末におけるソフトウェアアップデート技術に関する。
【背景技術】
【０００２】
特許文献１には、インストールするのに有効な依存ソフトウェア更新の最大の群を判定するシステムが記載されている。具体的には、特許文献１によれば、端末にインストールするソフトウェア群の依存関係を調査し、更新の妥当性を検証するシステムが提供される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１８２７８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１においては、ソフトウェア群の依存関係の定義情報を編集できない第三者ベンダから公開されるソフトウェアを端末にインストールした場合、端末上の既存ソフトウェアの動作に不具合が発生することがある（課題１）。
【０００５】
さらに、依存関係に問題が無い組み合わせのソフトウェアモジュール（以降、モジュールと記載する）群がインストールされた場合であっても、端末性能（処理性能または記憶域）が低い場合は操作性低下等の不具合が発生することがある（課題２）。
【課題を解決するための手段】
【０００６】
本発明で開示するシステムは、各ベンダから通信回線を介して登録されるモジュール群の依存性定義情報を保持し、移動端末へのモジュール群のインストール可否を検証するモジュール依存性管理機構を提供する。
【０００７】
また、本発明で開示するシステムは、アプリケーションの組み合わせインストール可否を判定するための組み合わせインストール可否判定機構を提供する。当該機構では判定のためのルール記述テーブルを機種毎に保持する。
【０００８】
また、本発明で開示するシステムは、移動端末でのモジュールインストール時に、ネットワーク経由で前記インストール可否判定機構を有するサーバにインストール可否を問い合わせて、可であればインストールし、不可であればその旨を移動端末使用者に通知する、組み合わせインストール可否問い合わせ機構を提供する。
【０００９】
上記機構の提供によって課題１が解決される。
【００１０】
また、本発明で開示するシステムは、操作性低下事象が発生する条件（例えば処理負荷値及び記憶域使用値等）をあらかじめ移動端末に設定しておくことで、移動端末が当該条件に合致した場合にサーバに対して動作中のアプリケーション識別子、それらの動作状態、及びリソース使用状況を通知する性能制約抵触検出機構を提供する。
【００１１】
また、本発明で開示するシステムは、移動端末から送信されるリソース使用状況を解析して操作性低下事象が発生するアプリケーションの組み合わせを抽出し、ルール記述テーブルに新たなルールとして記載するルール記述テーブル生成機構を提供する。
【００１２】
上記機構の提供によって課題２が解決される。
【００１３】
具体的には、本発明の代表的な一例は、端末装置と、ネットワークを介して前記端末装置に接続されるサーバ装置と、を備える計算機システムであって、前記サーバ装置は、前記ネットワークに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、前記端末装置にインストールすることができる複数のソフトウェアモジュールの依存関係を示す依存関係情報を保持し、前記端末装置にインストールされているソフトウェアモジュールのアンインストールが前記端末装置によって要求された場合、前記依存関係情報に基づいて、前記要求されたアンインストールの実行によって、前記端末装置にインストールされているいずれかのソフトウェアモジュールが依存するソフトウェアモジュールがアンインストールされるか否かを判定し、前記端末装置にインストールされているいずれかのソフトウェアモジュールが依存するソフトウェアモジュールがアンインストールされると判定された場合、前記要求されたアンインストールの実行を許可しないことを示す情報を前記端末装置に送信することを特徴とする。
【発明の効果】
【００１４】
本発明の一実施形態によれば、異なるベンダから提供される異なるサイトから通信回線を介して配信されるモジュール群を端末にインストールする場合であっても、不具合の発生を抑止することができ、操作性低下／処理遅延増大等の不具合が発生しない組み合わせのモジュールをインストールすることができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態の計算機システムの全体構成を示すブロック図である。
【図２】本発明の実施形態のモジュール依存性記憶部に保持される、端末にインストールする全てのモジュール間依存関係の定義情報を示す説明図である。
【図３】本発明の実施形態の組み合わせインストール可否判定ルール記述テーブルのフォーマットを示す説明図である。
【図４】本発明の実施形態の性能制約抵触条件のフォーマットを示す説明図である。
【図５】本発明の実施形態のリソース使用状況のフォーマットを示す説明図である。
【図６】本発明の実施形態において実行されるルール抽出処理を示すフローチャートである。
【図７】本発明の実施形態のモジュール登録部の操作画面を示す説明図である。
【図８】本発明の実施形態のモジュール依存性表示部の操作画面を示す説明図である。
【図９】本発明の実施形態において実行されるインストール可否判定処理を示すフローチャートである。
【図１０】本発明の実施形態において実行される組み合わせインストール可否判定処理を示すフローチャートである。
【図１１】本発明の実施形態において実行される性能制約抵触検出処理を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明を実施するための最良の形態を説明する。
【００１７】
図１は、本発明の実施形態の計算機システムの全体構成を示すブロック図である。
【００１８】
本実施形態の計算機システムは、サーバ１００、端末２００及びモジュール開発ベンダ端末３００を備える。これらは、ネットワーク５００を介して相互に接続される。
【００１９】
サーバ１００は、ＣＰＵ５１、メインメモリ５３、入出力装置５４、通信インタフェース（ＩＦ）５５及び記憶装置５８を備え、これらはバス等の通信線５９によって接続される。
【００２０】
ＣＰＵ５１は、記憶装置５８に格納されるプログラム及びデータをメインメモリ５３に読み込み、実行することによって、種々の処理を行う。これらのプログラム及びデータは、予め記憶装置５８に格納されていてもよいし、ＣＤ−ＲＯＭ等の記憶媒体から入力されてもよいし、ネットワーク５００経由で他の装置からダウンロードされてもよい。あるいは、上記のプログラムによって実現されるものと同等の機能が、専用のハードウェアによって実現されてもよい。その場合、サーバ１００は、それらの機能を実現する専用のハードウェアを備える。
【００２１】
入出力装置５４は、視聴者または使用者による情報の入力及びそれらへの情報の出力を司る装置であり、例えば、ディスプレイ、スピーカ、キーボード及びタッチパネル等の少なくとも一つを含んでもよい。
【００２２】
記憶装置５８は、例えばハードディスクドライブのようなデータ記憶装置である。
【００２３】
通信インタフェース５５は、ネットワーク５００に接続され、ネットワーク５００を介して、他の装置（例えば端末２００及びモジュール開発ベンダ端末３００）と通信する。
【００２４】
端末２００は、車両などの移動体に搭載される、あるいは歩行者に携帯される端末である。
【００２５】
端末２００は、ＣＰＵ４３、メインメモリ４４、記憶装置４５、入出力装置４６及び通信インタフェース（ＩＦ）４７を備え、これらはバス等の通信線によって接続される。
【００２６】
ＣＰＵ４３は、記憶装置４５に格納されるプログラム及びデータをメインメモリ４４に読み込み、実行することによって、種々の処理を行う。これらのプログラム及びデータは、予め記憶装置５８に格納されていてもよいし、ネットワーク５００経由で他の装置（例えばモジュール開発ベンダ端末３００）からダウンロードされてもよい。
【００２７】
記憶装置４５は、例えばハードディスクドライブまたはフラッシュメモリのようなデータ記憶装置である。
【００２８】
入出力装置４６は、視聴者または使用者による情報の入力及びそれらへの情報の出力を司る装置であり、例えば、ディスプレイ、スピーカ、キーボード及びタッチパネル等の少なくとも一つを含んでもよい。
【００２９】
通信インタフェース４７は、有線または無線によってネットワーク５００に接続され、ネットワーク５００を介して、他の装置（例えばサーバ１００及びモジュール開発ベンダ端末３００）と通信する。
【００３０】
通信インタフェース４７は、ＩＥＥＥ８０２規格、近距離無線通信規格等に準拠し、これらによってアクセスポイント（図示省略）、基地局４００、または携帯電話等の他端末（図示省略）と接続される。
【００３１】
ネットワーク５００には基地局４００が接続される。基地局４００は、ＩＥＥＥ８０２規格に基づく無線通信の基地局、または、携帯電話端末または組み込み型データ通信用ＩＣを介して端末２００に接続される基地局である。携帯電話端末は近距離無線通信インタフェースまたは有線ケーブルを介して端末２００に接続される。
【００３２】
端末２００は基地局４００との無線通信を行い、基地局４００を介してインターネットなどの通信回線（すなわちネットワーク５００）を経由してサーバ１００に接続することができる。
【００３３】
サーバ１００の記憶装置５８には、インストール可否判定部５、モジュール依存性管理部１、性能制約抵触条件設定部２５、リソース使用状況受信部３３、組み合わせインストール可否判定ルール生成処理部４１及び組み合わせインストール可否判定部２１などのプログラム、ならびに、モジュール依存性記憶部３、性能制約抵触条件記憶部（サーバ側）２７、リソース使用状況蓄積部３５及び組み合わせインストール可否判定ルール記述テーブル２３などのデータが格納される。
【００３４】
端末２００の記憶装置４５には、インストール処理部７及びリソース使用状況送信部３１などのプログラム、ならびに、モジュール構成情報記憶部９及び性能制約抵触条件記憶部（端末側）２９などのデータが格納される。
【００３５】
モジュール開発ベンダ端末３００の構成は、サーバ１００または端末２００と同様であるため、詳細な図示及び説明を省略する。
【００３６】
モジュール開発ベンダ端末３００の記憶装置（図示省略）には、モジュール登録部６１及びモジュール依存性表示部６３などのプログラムが格納される。
【００３７】
なお、本実施形態では、端末２００が車載端末または携帯端末等の移動端末である例を説明するが、端末２００がどのような装置であっても本発明を適用することができる。例えば、端末２００が一般的な計算機（例えばいわゆるパーソナルコンピュータ）であってもよい。
【００３８】
図２は、本発明の実施形態のモジュール依存性記憶部３に保持される、端末２００にインストールする全てのモジュール間依存関係の定義情報を示す説明図である。
【００３９】
モジュール依存性記憶部３は、端末２００にインストールする全てのモジュールのモジュール間依存関係を有向グラフ化して、全モジュール依存関係有向グラフとして保持する。モジュール依存性管理部１は、サードパーティモジュール開発ベンダが新規モジュールの配布を開始、あるいは、旧モジュールの配布を停止する場合に、前記有向グラフを編集する。インストール可否判定部５は、端末２００から送信される、端末２００が搭載するモジュールに関する情報を記載したモジュール構成情報、インストール／アンインストールを要求されたモジュールに関する情報、及び前記有向グラフを照合し、インストール／アンインストールを要求されたモジュールのインストール／アンインストール可否を判定する。なお、モジュールのバージョンアップは旧バージョンモジュールのアンインストールと新バージョンのインストールの双方の処理を行うものと定義する。すなわち、モジュールのバージョンアップ要求は、旧バージョンのモジュールのアンインストール要求及び新バージョンのモジュールのインストール要求の組み合わせと等価である。また、モジュールは単一のサーバ１００のみから配布されるとは限らない。
【００４０】
図２の例では、８個のモジュールが全モジュール依存関係有向グラフに登録され、それによって８個のモジュール間の依存関係が定義される。図２において、実線または点線の円がモジュールを示す。
【００４１】
より詳細には、細い実線の円は、端末２００にインストールされているモジュール（すなわち端末２００のモジュール構成情報記憶部９に記載されるモジュール）のうち、アンインストールを要求されていないモジュールを示す。太い点線の円は、端末２００にインストールされているモジュールのうち、アンインストールを要求されたモジュールを示す。太い実線の円は、端末２００にまだインストールされていないが、端末２００へのインストールを要求されたモジュールを示す。細い点線の円は、端末２００にインストールされておらず、インストールを要求されてもいないが、全モジュール依存関係有向グラフには登録されている（すなわち端末２００にインストールされ得る）モジュールを示す。
【００４２】
各円の中に表示された文字は、各モジュールの識別子を示す。以下、例えば識別子「ａ」によって識別されるモジュールをモジュールａと記載する。他のモジュールについても同様である。本実施形態において、各モジュールを識別するために、各モジュールの識別子と、バージョン番号と、の組が管理されてもよい。図２において、円の中にアルファベットと数字との組が記載されている場合、アルファベットがモジュールの識別子、数字がバージョン番号である。例えば、モジュールｃ−２は、モジュールｃ−１の新しいバージョンである。
【００４３】
円と別の円とを接続する矢印は、モジュール間の依存関係を示す。例えばモジュールｂからモジュールａに向かう矢印は、モジュールｂがモジュールａに依存していること、言い換えると、モジュールｂが動作するためにモジュールａがインストールされている必要があることを示す。このような依存関係は、例えば、モジュールａがモジュールｂによって利用されるライブラリである場合などに相当する。
【００４４】
なお、図２に示す全モジュール依存関係有向グラフは、モジュール開発ベンダ端末３００から送信された情報に基づいて作成される（図７参照）。
【００４５】
ここで、図２を用いたインストール可否判定処理について説明する。
【００４６】
図９は、本発明の実施形態において実行されるインストール可否判定処理を示すフローチャートである。
【００４７】
最初に、インストール処理部７がモジュールのバージョンアップ要求をサーバ１００に送信する（ステップ９１）。このバージョンアップ要求は、少なくとも、これからアンインストールされる旧バージョンのモジュールを識別する情報、及び、これからインストールされる新バージョンのモジュールを識別する情報を含む。
【００４８】
サーバ１００のインストール可否判定部５は、端末２００が要求されたバージョンアップを実行した場合に、いずれかのモジュールが依存しているモジュールが端末２００からアンインストールされるか否かを判定する（ステップ９２）。
【００４９】
その結果、いずれかのモジュールが依存しているモジュールがアンインストールされると判定された場合、インストール可否判定部５は、バージョンアップ不可（すなわち、バージョンアップが許可されない）と判定する（ステップ９３）。この場合、サーバ１００は、バージョンアップが許可されないことを示す情報を端末２００に送信してもよい。この情報を受信した端末２００は、バージョンアップが許可されないことを示す情報を入出力装置４６に表示してもよい。
【００５０】
一方、いずれのモジュールが依存しているモジュールもアンインストールされないと判定された場合、インストール可否判定部５は、バージョンアップ可（すなわち、バージョンアップが許可される）と判定する（ステップ９４）。この場合、サーバ１００は、バージョンアップが許可されることを示す情報を端末２００に送信してもよい。この情報を受信した端末２００は、要求されたバージョンアップを実行する。
【００５１】
ここで、具体例として、ステップ９１において、モジュールｃ−１からモジュールｃ−２へのバージョンアップが要求された場合について説明する。
【００５２】
要求されたバージョンアップが実行されれば、モジュールｃ−１がアンインストールされ、モジュールｃ−２がインストールされることになる。モジュールｃ−１にはモジュールｄ−１が依存しているため、モジュールｃ−１がアンインストールされると、モジュールｄ−１が動作できなくなる。このため、もしモジュールｄ−２が全モジュール依存関係有向グラフに登録されていなければ、ステップ９２において、モジュールｄ−１が依存するモジュールｃ−１がアンインストールされると判定され、ステップ９３においてバージョンアップ不可と判定される。
【００５３】
しかし、図２の例では、モジュールｄ−１のより新しいバージョンであるモジュールｄ−２が全モジュール依存関係有向グラフに登録されているので、モジュールｃ−２のバージョンアップに伴いモジュールｄ−２をインストールすることができる。しかし、モジュールｄ−１にはモジュールｆが依存しているため、モジュールｄ−１がアンインストールされるとモジュールｆが動作できなくなる。しかも、モジュールｄ−２に依存するモジュールｆの新しいバージョンは登録されていない。このため、モジュールｃ−１からモジュールｃ−２へのバージョンアップが実行され、さらに、それに伴いモジュールｄ−１からモジュールｄ−２へのバージョンアップが実行された場合には、モジュールｆが依存しているモジュールｄ−１がアンインストールされるため（ステップ９２）、モジュールｆの動作に不具合が発生する可能性があると判定される。この場合、インストール可否判定部５は、ステップ９３において、モジュールｃ−１からモジュールｃ−２へのバージョンアップが不可であると判定する。
【００５４】
以上、モジュールのバージョンアップが要求された場合について説明したが、モジュールのアンインストールが要求された場合にも同様の処理によってアンインストールの可否が判定される。
【００５５】
例えば、ステップ９１においてモジュールｃ−１のアンインストールが要求された場合、ステップ９２において、モジュールｄ−１に依存するモジュールｃ−１がアンインストールされると判定される。この場合、ステップ９３においてモジュールｃ−１のアンインストール不可と判定される。一方、ステップ９１においてモジュールｂのアンインストールが要求された場合、いずれのモジュールもモジュールｂに依存していない。このため、ステップ９２において、いずれのモジュールが依存するモジュールもアンインストールされないと判定される。この場合、ステップ９４において、モジュールｂのアンインストール可と判定される。
【００５６】
図３は、本発明の実施形態の組み合わせインストール可否判定ルール記述テーブル２３のフォーマットを示す説明図である。
【００５７】
組み合わせインストール可否判定ルール記述テーブル２３は、ＣＰＵクロック数及びメモリ容量等の端末間差異に起因する端末処理性能差、あるいは、機種情報の差異に応じて各々定義されるテーブルであり、当該テーブルには組み合わせて端末２００にインストールされた場合に、例えばハードウェア資源の処理負荷の上昇などに起因する操作性低下などの現象が発生するモジュールの組み合わせ情報が記載される。
【００５８】
より詳細には、組み合わせインストール可否判定ルール記述テーブル２３は、組み合わせ番号２３１、モジュール識別子２３２及び優先度２３３を含む。組み合わせ番号２３１は、インストールされた場合に操作性低下などの現象が発生するモジュールの組み合わせを識別する番号である。モジュール識別子２３２は、各組み合わせに含まれるモジュールの識別子である。優先度２３３は、端末２００にインストールされる（または端末２００からアンインストールされずに残される）モジュールの優先度を示す。例えば、優先度２３３の値「１」が最も高い優先度を示し、優先度２３３の値が大きいほど低い優先度を示してもよい。
【００５９】
組み合わせインストール可否判定部２１は、（１）端末２００から送信される、端末２００が搭載するモジュール情報を記載したモジュール構成情報と、（２）インストールを要求されたモジュールに関する情報と、を参照し、これら端末２００から送信される情報に含まれるモジュール識別子を抽出し、抽出したモジュール識別子の組み合わせの中に、組み合わせインストール可否判定ルール記述テーブル２３に記載される組み合わせが含まれる場合には、インストール不可と判定する。
【００６０】
ここで、組み合わせインストール可否判定処理について説明する。
【００６１】
図１０は、本発明の実施形態において実行される組み合わせインストール可否判定処理を示すフローチャートである。
【００６２】
インストール処理部７は、モジュール開発ベンダから取得したモジュールのインストールを要求された場合、そのインストールを実行する前に、通信回線を経由して、サーバ１００の組み合わせインストール可否判定部２１に、当該モジュール（すなわちインストールを要求されたモジュール）のインストール可否を問い合わせる（ステップ１０１）。この問い合わせは、端末２００が搭載するモジュール情報を記載したモジュール構成情報、及び、当該モジュールに関する情報を含む。
【００６３】
組み合わせインストール可否判定部２１は、組み合わせインストール可否判定ルール記述テーブル２３を参照して、当該モジュールのインストール可否を判定する（ステップ１０２）。具体的には、組み合わせインストール可否判定部２１は、組み合わせインストール可否判定ルール記述テーブル２３の組み合わせ番号２３１及びモジュール識別子２３２を参照して、当該モジュールと同じ組み合わせに含まれるモジュールが既に端末２００にインストールされているか否かを判定する。そのようなモジュールが既に端末２００にインストールされている場合、インストール不可と判定され、インストールされていない場合、インストール可と判定される。
【００６４】
インストール可と判定された場合、組み合わせインストール可否判定部２１は、インストールを許可することを示す通知を端末２００に送信する。この通知を受信した端末２００のインストール処理部７は、当該モジュールのインストール処理を実行する（ステップ１０３）。
【００６５】
インストール不可と判定された場合、組み合わせインストール可否判定部２１は、組み合わせインストール可否判定ルール記述テーブル２３に記載されたインストール優先度情報と共に端末２００に対してインストール不可通知を送信する（ステップ１０４）。ここで送信されるインストール優先度情報は、当該モジュール、及び、当該モジュールと同じ組み合わせに含まれる、既にインストールされているモジュールの、優先度２３３の値を含む。
【００６６】
インストール処理部７は、インストール不可通知を受信した場合、受信した通知に含まれる前記インストール優先度情報に従って、使用者に対してインストール不可通知及び既にインストールされているモジュールのアンインストール推奨通知の少なくとも一方を提示する（ステップ１０５）。これらの通知は、端末２００の入出力装置４６を介して提示される。例えば、当該モジュールの優先度が既にインストールされているモジュールの優先度より低い場合、インストール不可通知が提示され、その他の場合に既にインストールされているモジュールのアンインストール推奨通知が提示されてもよい。
【００６７】
端末２００の使用者は、提示された通知を参照して、既にインストールされているモジュールのアンインストールを実行するか否かを選択することができる。この選択を示す情報は、端末２００の入出力装置４６を介して入力される。入力された情報に基づいて、インストール処理部７は、使用者が既にインストールされているモジュールのアンインストールを選択したか否かを判定する（ステップ１０６）。
【００６８】
使用者が既にインストールされているモジュールのアンインストールを選択した場合、インストール処理部７は、その選択に従って、アンインストール処理を実行する（ステップ１０７）。具体的には、インストール処理部７が、使用者の選択に従って、既にインストールされているモジュールのアンインストールを要求すると（ステップ９１）、その要求に応じて図９のステップ９２以降の処理が実行され、ステップ９４においてアンインストール可と判定された場合にアンインストールが実行される。
【００６９】
ステップ１０３またはステップ１０７が実行されると、組み合わせインストール可否判定処理が終了する。一方、ステップ１０６においてアンインストールが選択されなかった場合、ステップ１０７が実行されずに組み合わせインストール可否判定処理が終了する。
【００７０】
組み合わせインストール可否判定ルール記述テーブル２３は、どのような方法で作成されてもよい。例えば、端末の使用者によって手動で作成されてもよいし、以下に説明するように、性能制約抵触条件に基づいて作成されてもよい。
【００７１】
図４は、本発明の実施形態の性能制約抵触条件のフォーマットを示す説明図である。
【００７２】
性能制約抵触条件記憶部（サーバ側）２７は、ＣＰＵクロック数及びメモリ容量のような、端末２００ごとのハードウェア資源等に起因する端末処理性能、あるいは、端末２００ごとの機種情報に応じて各々定義されるテーブル形式データとして性能制約抵触条件を記憶する。
【００７３】
性能制約抵触条件とは、アプリケーションが端末上で動作した場合に移動端末の画面操作時の使用性低下または処理待ち時間の増加といった不具合を生じ得る条件である。この条件は、アプリケーションの識別子、その動作状態２７３、アプリケーションが消費する端末２００上のＣＰＵ４３及びメインメモリ４４等のリソースの使用状況上限値、及び、それらの条件の継続時間として記述される。本条件はこれらの記述の組み合わせとして記述されてもよい。アプリケーションの動作状態を条件記述要素の一つとして記述することで、アプリケーションが上記のように記述された動作状態となる可能性が無い端末２００においては、そのアプリケーションについて、組み合わせＯＫという判定を行うことが可能になる。
【００７４】
本実施形態の計算機システムは、複数の端末２００を含み、それらの端末２００が互いに異なる機種であってもよい。機種ごとに、搭載されたＣＰＵクロック数及びメモリ容量等のハードウェア資源の量が異なってもよい。ハードウェア資源の量が異なれば、一般に、性能制約抵触条件も異なる。図４には、例として、ある機種（機種１）の端末２００の性能制約抵触条件のフォーマットを示す。この性能制約抵触条件は、その端末２００の性能制約抵触条件記憶部（端末側）２９及びサーバ１００の性能制約抵触条件記憶部（サーバ側）２７に記憶される。各端末２００の性能制約抵触条件記憶部（端末側）２９には、その端末２００の性能制約抵触条件が記憶され、サーバ１００の性能制約抵触条件記憶部（サーバ側）２７には、複数の端末２００の性能制約抵触条件が記憶される。
【００７５】
図４の例において、性能制約抵触条件は、番号２７１、アプリケーション識別子２７２、アプリケーション動作状態２７３、ＣＰＵ使用率２７４、メモリ使用量２７５及び継続時間２７６を含む。
【００７６】
番号２７１は、不具合を生じ得る条件の組み合わせを識別する。アプリケーション識別子２７２は、アプリケーションの種類を識別する。アプリケーション動作状態２７３は、アプリケーションの動作状態を識別する。
【００７７】
例えば、図４の番号２７１の値「１」に対応するアプリケーション識別子２７２として「ナビゲーション」及び「オーディオ」が記憶される。「ナビゲーション」に対応するアプリケーション動作状態２７３、ＣＰＵ使用率２７４及び継続時間２７６として、それぞれ、「経路探索中」、「３０％以上」及び「４秒以上」が記憶される。一方、「オーディオ」に対応するアプリケーション動作状態２７３、ＣＰＵ使用率２７４及び継続時間２７６として、それぞれ、「再生中」、「４０％以上」及び「５秒以上」が記憶される。これは、ナビゲーション機能を実現するためのモジュールが経路探索のためにＣＰＵ時間の３０％以上を使用する状態が４秒以上継続し、かつ、オーディオ機能を実現するためのモジュールが音声再生のためにＣＰＵ時間の４０％以上を使用する状態が５秒以上継続した場合、処理待ち時間の増加のような不具合が発生する可能性があることを示す。
【００７８】
リソース使用状況送信部３１は、性能制約抵触条件記憶部（端末側）２９が保持する性能制約抵触条件を参照し、端末２００の状態が性能制約抵触条件に合致したことを検出して不具合が発生したと判定した際に、（１）サーバ１００に対して端末２００のリソース使用状況を送信し、（２）当該不具合を回避するためのモジュールアンインストール等のロールバック処理の実行に誘導するための誘導文／警告文を端末使用者に対して提示する。
【００７９】
図５は、本発明の実施形態のリソース使用状況のフォーマットを示す説明図である。
【００８０】
リソース使用状況は、端末種別情報（図示省略）を含み、さらに、端末２００の状態が性能制約抵触条件に合致した時点における、端末２００上で動作するアプリケーションの識別子３１１、そのアプリケーションの動作状態３１２、そのアプリケーションによるＣＰＵ使用率３１３及びメモリ使用量３１４の一覧情報を含む。
【００８１】
サーバ１００のリソース使用状況受信部３３は端末２００から上記のリソース使用状況を受信し、リソース使用状況蓄積部３５に格納する。なお、一度の不具合の発生の際に送信されたリソース使用状況に含まれる複数のアプリケーション識別子が、一つの組として格納される。このため、リソース使用状況蓄積部３５に格納された情報を参照することによって、不具合の発生回数に対する、リソース使用状況に含まれるアプリケーションの組の出現頻度を算出することができる。
【００８２】
図１１は、本発明の実施形態において実行される性能制約抵触検出処理を示すフローチャートである。
【００８３】
性能制約抵触条件設定部２５は、端末２００から送信される機種等の端末種別情報に対応する性能制約抵触条件を参照し、当該条件を端末２００に送信する。端末２００は当該条件を受信して性能制約抵触条件記憶部（端末側）２９に格納する（ステップ１１１）。
【００８４】
端末２００に対する当該条件の送信は、性能制約抵触条件設定部２５が端末２００から定期的に送信される前記端末種別情報の受信を契機として実行されてもよい。或いは、サーバ１００がサーバ１００側の性能制約条件を更新した場合に、性能制約抵触条件設定部２５が各々の端末２００に対して端末種別情報の送信を要求し、その要求に応じて端末種別情報を受信したことを契機として実行されてもよい。
【００８５】
リソース使用状況送信部３１は、性能制約抵触条件記憶部（端末側）２９が保持する性能制約抵触条件を参照して、不具合が発生したか否かを判定する（ステップ１１２）。具体的には、リソース使用状況送信部３１は、端末２００の状態が性能制約抵触条件を満たすことを検出した場合、不具合が発生したと判定する。
【００８６】
不具合が発生したと判定された場合、リソース使用状況送信部３１は、サーバ１００に対して端末２００のリソース使用状況を送信する（ステップ１１３）。リソース使用状況を受信したサーバ１００は、組み合わせインストール可否判定ルール記述テーブル２３を参照して、受信したリソース使用状況に含まれるアプリケーションを実現するためのモジュールに対応する優先度情報（すなわち優先度２３３の値）を端末２００に送信してもよい。
【００８７】
次に、リソース使用状況送信部３１は、組み合わせインストール可否判定ルール記述テーブル２３の優先度情報に基づいて、優先的にアンインストールされるモジュールを決定する（ステップ１１４）。例えば、優先度が最も低いモジュールを、最も優先的にアンインストールされるモジュールとして決定してもよい。
【００８８】
ただし、サーバ１００が全てのベンダによって提供される全てのモジュールを把握できるとは限らないため、送信されたリソース使用状況に含まれるアプリケーションを実現するためのモジュールが組み合わせインストール可否判定ルール記述テーブル２３に登録されていない場合がある。この場合、リソース使用状況送信部３１は、優先的にアンインストールされるモジュールを優先度情報に依存せずに決定する必要がある。例えば、リソース使用状況送信部３１は、最も新しくインストールされたモジュールを、優先的にアンインストールされるモジュールとして決定してもよい。
【００８９】
次に、リソース使用状況送信部３１は、当該不具合を回避するためのモジュールアンインストール等のロールバック処理の実行に誘導するための誘導文／警告文を端末２００の使用者に対して提示する（ステップ１１５）。このとき提示される誘導文は、例えば、ステップ１１４において決定されたアプリケーションをアンインストールするように端末２００の使用者を誘導する。
【００９０】
組み合わせインストール可否判定ルール生成処理部４１は、リソース使用状況蓄積部３５に蓄積されたデータを参照し、インストール不可である条件を抽出し、抽出した条件を組み合わせインストール可否判定ルール記述テーブル２３に記載する。この抽出処理では、単一の端末機種に関して収集される複数のリソース使用状況情報を解析し、例えば当該情報への出現頻度が所定の閾値より高いアプリケーションの組み合わせを新たにインストール不可条件として定義し、前記組み合わせインストール可否判定ルール記述テーブル２３に記載する。
【００９１】
図６は、本発明の実施形態において実行されるルール抽出処理を示すフローチャートである。
【００９２】
組み合わせインストール可否判定ルール生成処理部４１は、既存の組み合わせインストール可否判定ルール記述テーブル２３を参照する（ステップ７１）。
【００９３】
次に、組み合わせインストール可否判定ルール生成処理部４１は、リソース使用状況蓄積部３５のデータを解析し、当該データにおける出現頻度が所定の閾値を超えるアプリケーションの組み合わせを抽出する（ステップ７３）。
【００９４】
次に、組み合わせインストール可否判定ルール生成処理部４１は、ステップ７３で抽出された組み合わせが既存の組み合わせインストール可否判定ルール記述テーブル２３に含まれるか否かを判定する（ステップ７５）。
【００９５】
ステップ７５の判定結果がＮｏの場合（すなわち、抽出された組み合わせが既存の組み合わせインストール可否判定ルール記述テーブル２３に含まれないと判定された場合）、組み合わせインストール可否判定ルール生成処理部４１は、組み合わせインストール可否判定ルール記述テーブル２３に抽出された組み合わせを新規ルールとして追加する。具体的には、組み合わせインストール可否判定ルール生成処理部４１は、ステップ７３で抽出された各アプリケーションを実現するためのモジュールの組み合わせを組み合わせインストール可否判定ルール記述テーブル２３に追加する。このとき、優先度２３３の値は、種々の規則に基づいて決定され得る。例えば、アプリケーションごとに予め優先度が決定されていてもよい。その場合、各アプリケーションを実現するためのモジュールの優先度２３３として、そのアプリケーションについて予め設定された優先度が登録される。あるいは、新しくインストールされたモジュールほど、そのモジュールに対応する優先度２３３に、低い優先度を示す値が登録されてもよい。
【００９６】
ステップ７５の判定結果がＹｅｓの場合、組み合わせインストール可否判定ルール記述テーブル２３にルールを追加せずにルール抽出処理を終了する。
【００９７】
端末２００が移動端末のように潤沢なハードウェア資源を持たない装置であるほど、インストールされるモジュールの組み合わせによって、操作性の低下等の不具合が発生しやすい。このような場合にも、上記のように組み合わせインストールの可否を判定することによって、不具合の発生を防ぐことができるため、本実施形態は移動端末のような装置に特に好適に利用することができる。
【００９８】
図７は、本発明の実施形態のモジュール登録部６１の操作画面を示す説明図である。
【００９９】
図７に示す操作画面は、モジュール開発ベンダ端末３００の入出力装置（図示省略）によって表示される。この操作画面は、登録するモジュール名称及びバージョン番号が入力される入力欄６５、登録または登録解除を選択する選択欄６６、入力欄６５に入力されたモジュールが依存する全てのモジュールが表示される表示欄６７、及び、処理実行のためのボタン６８を備える。
【０１００】
モジュール開発ベンダ端末３００の操作者は、モジュール登録部６１の操作画面を操作することでモジュールを登録または登録解除する。登録または登録解除されたモジュールの依存関係を示す情報は、モジュール開発ベンダ端末３００からサーバ１００に送信される。サーバ１００のモジュール依存性管理部１は、受信した情報が反映されるように、モジュール依存性記憶部３に格納された既存の全モジュール依存関係有向グラフを更新する。
【０１０１】
図７の例では、入力欄６５に「module-l」、選択欄６６に「登録」、表示欄６７に「module-d」、「module-e」及び「module-f」が表示されている。これらは、操作者が新たに「module-l」なるモジュールを登録しようとしていること、及び、「module-l」が三つのモジュールすなわち「module-d」、「module-e」及び「module-f」に依存することを示す。「module-l」がさらに他のモジュールにも依存する場合、操作者は、「module-l」が依存する全てのモジュールが表示欄６７に表示されるように、モジュールの依存関係を入力することができる。
【０１０２】
なお、図７では省略されているが、実際には各モジュールの名称に加えてバージョン番号も入力及び表示される。
【０１０３】
図８は、本発明の実施形態のモジュール依存性表示部６３の操作画面を示す説明図である。
【０１０４】
図８に示す操作画面は、モジュール開発ベンダ端末３００の入出力装置（図示省略）によって表示される。モジュール依存性表示部６３は、操作者が全モジュール依存関係有向グラフから単一のモジュールを選択した場合、選択されたモジュールが直接または間接的に依存するモジュールのリストを視覚化して表示する。
【０１０５】
具体的には、操作画面は、入力欄６９、選択欄６２及び表示欄６４を備える。入力欄６９には、操作者によってそれに関する依存関係の表示を要求されたモジュールの名称及びバージョン番号が入力される。操作者は、選択欄６２を操作することによって、表示される依存関係の種類（すなわち「依存」または「被依存」）を選択することができる。表示欄６４には、入力欄６９及び選択欄６２を介して表示を要求されたモジュールの依存関係が表示される。
【０１０６】
表示欄６４は、階層欄及び名称欄を含む。名称欄には、入力欄６９に入力されたモジュールとの間に依存関係を有するモジュールの名称及びバージョンが表示される。階層欄には、入力欄６９に入力されたモジュールと、名称欄に表示されたモジュールとの間の依存関係の階層が表示される。この階層を参照することによって、モジュールが直接依存しているか間接的に依存しているかを知ることができる。
【０１０７】
図８の例では、入力欄６９に「module-l」、選択欄６２に「被依存」、表示欄６４のうち名称欄に「module-a」、「module-b」及び「module-c」、それらに対応する階層欄に「１」、「２」及び「３」がそれぞれ表示される。この場合、表示欄６４には、入力欄６９に入力されたモジュールに依存するモジュールのリストが表示される。すなわち、この場合、「module-a」、「module-b」及び「module-c」なるモジュールが「module-l」なるモジュールに依存する。
【０１０８】
ただし、この例において「module-c」に対応する階層が「２」であることは、「module-c」が直接にではなく他のモジュールを介して間接的に「module-l」に依存することを示す。例えば、「module-a」が「module-l」に依存し、「module-c」が「module-a」に依存する場合、「module-c」に対応する階層は「２」となる。
【０１０９】
なお、選択欄６２において「依存」が選択された場合、表示欄６４には、入力欄６９に入力されたモジュールが依存するモジュールのリストが表示される。すなわち、この場合、「module-l」は、「module-a」、「module-b」及び「module-c」に依存する。
【０１１０】
図８では省略されているが、実際には各モジュールの名称に加えてバージョン番号も入力及び表示される。
【０１１１】
上記の画面を参照することによって、使用者は、これからインストールするモジュールがバージョン情報を持つモジュールであった場合にはバージョンが上がることで影響を受けるモジュール、即ち、旧バージョンに依存するモジュールおよび間接的に依存するモジュールのリストを一覧し、当該モジュールの新しいバージョンへの更新に伴って依存関係の検証が必要なモジュール群を把握することができる。
【０１１２】
本実施形態は、上記の構成によって各処理フローを実現することによって、異なるベンダから提供される異なるサイトから通信回線を解して配信されるモジュール群を端末にインストールする場合であっても不具合発生を抑止することを可能にし、操作性低下または処理遅延増大等の不具合が発生しない組み合わせでモジュールをインストールすることを可能にする。
【産業上の利用可能性】
【０１１３】
本発明は、ソフトウェアモジュールをインストールする計算機システムに幅広く利用することができる。特に、本発明は、カーナビゲーション装置等、潤沢なハードウェア資源を持たない移動端末に好適に利用することができる。
【符号の説明】
【０１１４】
１  モジュール依存性管理部
３  モジュール依存性記憶部
５  インストール可否判定部
７  インストール処理部
９  モジュール構成情報記憶部
２１  組み合わせインストール可否判定部
２３  組み合わせインストール可否判定ルール記述テーブル
２５  性能制約抵触条件設定部
２７  性能制約抵触条件記憶部（サーバ側）
２９  性能制約抵触条件記憶部（端末側）
３１  リソース使用状況送信部
３３  リソース使用状況受信部
３５  リソース使用状況蓄積部
４１  組み合わせインストール可否判定ルール生成処理部
５１  ＣＰＵ
５３  メインメモリ
５４  入出力装置
５５  通信インタフェース
５８  記憶装置
５９  バス等の信号線
６１  モジュール登録部
６３  モジュール依存性表示部
１００  サーバ
２００  端末
３００  モジュール開発ベンダ端末
４００  基地局
５００  ネットワーク
【図１】
0005444563.tif 000002
【図２】
0005444563.tif 000003
【図３】
0005444563.tif 000004
【図４】
0005444563.tif 000005
【図５】
0005444563.tif 000006
【図６】
0005444563.tif 000007
【図７】
0005444563.tif 000008
【図８】
0005444563.tif 000009
【図９】
0005444563.tif 000010
【図１０】
0005444563.tif 000011
【図１１】
0005444563.tif 000012