JP5444563B2 - 計算機システム、サーバ装置、端末装置及びソフトウェアアップデート方法 - Google Patents

計算機システム、サーバ装置、端末装置及びソフトウェアアップデート方法 Download PDF

Info

Publication number
JP5444563B2
JP5444563B2 JP2009253995A JP2009253995A JP5444563B2 JP 5444563 B2 JP5444563 B2 JP 5444563B2 JP 2009253995 A JP2009253995 A JP 2009253995A JP 2009253995 A JP2009253995 A JP 2009253995A JP 5444563 B2 JP5444563 B2 JP 5444563B2
Authority
JP
Japan
Prior art keywords
software module
terminal device
requested
information
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009253995A
Other languages
English (en)
Other versions
JP2011100260A (ja
Inventor
淳史 清水
辰昭 長船
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2009253995A priority Critical patent/JP5444563B2/ja
Publication of JP2011100260A publication Critical patent/JP2011100260A/ja
Application granted granted Critical
Publication of JP5444563B2 publication Critical patent/JP5444563B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、計算機システムにおけるソフトウェア管理技術に関し、特に、カーナビゲーションシステム等の移動端末におけるソフトウェアアップデート技術に関する。
特許文献1には、インストールするのに有効な依存ソフトウェア更新の最大の群を判定するシステムが記載されている。具体的には、特許文献1によれば、端末にインストールするソフトウェア群の依存関係を調査し、更新の妥当性を検証するシステムが提供される。
特開2005−182784号公報
上記特許文献1においては、ソフトウェア群の依存関係の定義情報を編集できない第三者ベンダから公開されるソフトウェアを端末にインストールした場合、端末上の既存ソフトウェアの動作に不具合が発生することがある(課題1)。
さらに、依存関係に問題が無い組み合わせのソフトウェアモジュール(以降、モジュールと記載する)群がインストールされた場合であっても、端末性能(処理性能または記憶域)が低い場合は操作性低下等の不具合が発生することがある(課題2)。
本発明で開示するシステムは、各ベンダから通信回線を介して登録されるモジュール群の依存性定義情報を保持し、移動端末へのモジュール群のインストール可否を検証するモジュール依存性管理機構を提供する。
また、本発明で開示するシステムは、アプリケーションの組み合わせインストール可否を判定するための組み合わせインストール可否判定機構を提供する。当該機構では判定のためのルール記述テーブルを機種毎に保持する。
また、本発明で開示するシステムは、移動端末でのモジュールインストール時に、ネットワーク経由で前記インストール可否判定機構を有するサーバにインストール可否を問い合わせて、可であればインストールし、不可であればその旨を移動端末使用者に通知する、組み合わせインストール可否問い合わせ機構を提供する。
上記機構の提供によって課題1が解決される。
また、本発明で開示するシステムは、操作性低下事象が発生する条件(例えば処理負荷値及び記憶域使用値等)をあらかじめ移動端末に設定しておくことで、移動端末が当該条件に合致した場合にサーバに対して動作中のアプリケーション識別子、それらの動作状態、及びリソース使用状況を通知する性能制約抵触検出機構を提供する。
また、本発明で開示するシステムは、移動端末から送信されるリソース使用状況を解析して操作性低下事象が発生するアプリケーションの組み合わせを抽出し、ルール記述テーブルに新たなルールとして記載するルール記述テーブル生成機構を提供する。
上記機構の提供によって課題2が解決される。
具体的には、本発明の代表的な一例は、端末装置と、ネットワークを介して前記端末装置に接続されるサーバ装置と、を備える計算機システムであって、前記サーバ装置は、前記ネットワークに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、前記端末装置にインストールすることができる複数のソフトウェアモジュールの依存関係を示す依存関係情報を保持し、前記端末装置にインストールされているソフトウェアモジュールのアンインストールが前記端末装置によって要求された場合、前記依存関係情報に基づいて、前記要求されたアンインストールの実行によって、前記端末装置にインストールされているいずれかのソフトウェアモジュールが依存するソフトウェアモジュールがアンインストールされるか否かを判定し、前記端末装置にインストールされているいずれかのソフトウェアモジュールが依存するソフトウェアモジュールがアンインストールされると判定された場合、前記要求されたアンインストールの実行を許可しないことを示す情報を前記端末装置に送信することを特徴とする。
本発明の一実施形態によれば、異なるベンダから提供される異なるサイトから通信回線を介して配信されるモジュール群を端末にインストールする場合であっても、不具合の発生を抑止することができ、操作性低下/処理遅延増大等の不具合が発生しない組み合わせのモジュールをインストールすることができる。
本発明の実施形態の計算機システムの全体構成を示すブロック図である。 本発明の実施形態のモジュール依存性記憶部に保持される、端末にインストールする全てのモジュール間依存関係の定義情報を示す説明図である。 本発明の実施形態の組み合わせインストール可否判定ルール記述テーブルのフォーマットを示す説明図である。 本発明の実施形態の性能制約抵触条件のフォーマットを示す説明図である。 本発明の実施形態のリソース使用状況のフォーマットを示す説明図である。 本発明の実施形態において実行されるルール抽出処理を示すフローチャートである。 本発明の実施形態のモジュール登録部の操作画面を示す説明図である。 本発明の実施形態のモジュール依存性表示部の操作画面を示す説明図である。 本発明の実施形態において実行されるインストール可否判定処理を示すフローチャートである。 本発明の実施形態において実行される組み合わせインストール可否判定処理を示すフローチャートである。 本発明の実施形態において実行される性能制約抵触検出処理を示すフローチャートである。
以下、本発明を実施するための最良の形態を説明する。
図1は、本発明の実施形態の計算機システムの全体構成を示すブロック図である。
本実施形態の計算機システムは、サーバ100、端末200及びモジュール開発ベンダ端末300を備える。これらは、ネットワーク500を介して相互に接続される。
サーバ100は、CPU51、メインメモリ53、入出力装置54、通信インタフェース(IF)55及び記憶装置58を備え、これらはバス等の通信線59によって接続される。
CPU51は、記憶装置58に格納されるプログラム及びデータをメインメモリ53に読み込み、実行することによって、種々の処理を行う。これらのプログラム及びデータは、予め記憶装置58に格納されていてもよいし、CD−ROM等の記憶媒体から入力されてもよいし、ネットワーク500経由で他の装置からダウンロードされてもよい。あるいは、上記のプログラムによって実現されるものと同等の機能が、専用のハードウェアによって実現されてもよい。その場合、サーバ100は、それらの機能を実現する専用のハードウェアを備える。
入出力装置54は、視聴者または使用者による情報の入力及びそれらへの情報の出力を司る装置であり、例えば、ディスプレイ、スピーカ、キーボード及びタッチパネル等の少なくとも一つを含んでもよい。
記憶装置58は、例えばハードディスクドライブのようなデータ記憶装置である。
通信インタフェース55は、ネットワーク500に接続され、ネットワーク500を介して、他の装置(例えば端末200及びモジュール開発ベンダ端末300)と通信する。
端末200は、車両などの移動体に搭載される、あるいは歩行者に携帯される端末である。
端末200は、CPU43、メインメモリ44、記憶装置45、入出力装置46及び通信インタフェース(IF)47を備え、これらはバス等の通信線によって接続される。
CPU43は、記憶装置45に格納されるプログラム及びデータをメインメモリ44に読み込み、実行することによって、種々の処理を行う。これらのプログラム及びデータは、予め記憶装置58に格納されていてもよいし、ネットワーク500経由で他の装置(例えばモジュール開発ベンダ端末300)からダウンロードされてもよい。
記憶装置45は、例えばハードディスクドライブまたはフラッシュメモリのようなデータ記憶装置である。
入出力装置46は、視聴者または使用者による情報の入力及びそれらへの情報の出力を司る装置であり、例えば、ディスプレイ、スピーカ、キーボード及びタッチパネル等の少なくとも一つを含んでもよい。
通信インタフェース47は、有線または無線によってネットワーク500に接続され、ネットワーク500を介して、他の装置(例えばサーバ100及びモジュール開発ベンダ端末300)と通信する。
通信インタフェース47は、IEEE802規格、近距離無線通信規格等に準拠し、これらによってアクセスポイント(図示省略)、基地局400、または携帯電話等の他端末(図示省略)と接続される。
ネットワーク500には基地局400が接続される。基地局400は、IEEE802規格に基づく無線通信の基地局、または、携帯電話端末または組み込み型データ通信用ICを介して端末200に接続される基地局である。携帯電話端末は近距離無線通信インタフェースまたは有線ケーブルを介して端末200に接続される。
端末200は基地局400との無線通信を行い、基地局400を介してインターネットなどの通信回線(すなわちネットワーク500)を経由してサーバ100に接続することができる。
サーバ100の記憶装置58には、インストール可否判定部5、モジュール依存性管理部1、性能制約抵触条件設定部25、リソース使用状況受信部33、組み合わせインストール可否判定ルール生成処理部41及び組み合わせインストール可否判定部21などのプログラム、ならびに、モジュール依存性記憶部3、性能制約抵触条件記憶部(サーバ側)27、リソース使用状況蓄積部35及び組み合わせインストール可否判定ルール記述テーブル23などのデータが格納される。
端末200の記憶装置45には、インストール処理部7及びリソース使用状況送信部31などのプログラム、ならびに、モジュール構成情報記憶部9及び性能制約抵触条件記憶部(端末側)29などのデータが格納される。
モジュール開発ベンダ端末300の構成は、サーバ100または端末200と同様であるため、詳細な図示及び説明を省略する。
モジュール開発ベンダ端末300の記憶装置(図示省略)には、モジュール登録部61及びモジュール依存性表示部63などのプログラムが格納される。
なお、本実施形態では、端末200が車載端末または携帯端末等の移動端末である例を説明するが、端末200がどのような装置であっても本発明を適用することができる。例えば、端末200が一般的な計算機(例えばいわゆるパーソナルコンピュータ)であってもよい。
図2は、本発明の実施形態のモジュール依存性記憶部3に保持される、端末200にインストールする全てのモジュール間依存関係の定義情報を示す説明図である。
モジュール依存性記憶部3は、端末200にインストールする全てのモジュールのモジュール間依存関係を有向グラフ化して、全モジュール依存関係有向グラフとして保持する。モジュール依存性管理部1は、サードパーティモジュール開発ベンダが新規モジュールの配布を開始、あるいは、旧モジュールの配布を停止する場合に、前記有向グラフを編集する。インストール可否判定部5は、端末200から送信される、端末200が搭載するモジュールに関する情報を記載したモジュール構成情報、インストール/アンインストールを要求されたモジュールに関する情報、及び前記有向グラフを照合し、インストール/アンインストールを要求されたモジュールのインストール/アンインストール可否を判定する。なお、モジュールのバージョンアップは旧バージョンモジュールのアンインストールと新バージョンのインストールの双方の処理を行うものと定義する。すなわち、モジュールのバージョンアップ要求は、旧バージョンのモジュールのアンインストール要求及び新バージョンのモジュールのインストール要求の組み合わせと等価である。また、モジュールは単一のサーバ100のみから配布されるとは限らない。
図2の例では、8個のモジュールが全モジュール依存関係有向グラフに登録され、それによって8個のモジュール間の依存関係が定義される。図2において、実線または点線の円がモジュールを示す。
より詳細には、細い実線の円は、端末200にインストールされているモジュール(すなわち端末200のモジュール構成情報記憶部9に記載されるモジュール)のうち、アンインストールを要求されていないモジュールを示す。太い点線の円は、端末200にインストールされているモジュールのうち、アンインストールを要求されたモジュールを示す。太い実線の円は、端末200にまだインストールされていないが、端末200へのインストールを要求されたモジュールを示す。細い点線の円は、端末200にインストールされておらず、インストールを要求されてもいないが、全モジュール依存関係有向グラフには登録されている(すなわち端末200にインストールされ得る)モジュールを示す。
各円の中に表示された文字は、各モジュールの識別子を示す。以下、例えば識別子「a」によって識別されるモジュールをモジュールaと記載する。他のモジュールについても同様である。本実施形態において、各モジュールを識別するために、各モジュールの識別子と、バージョン番号と、の組が管理されてもよい。図2において、円の中にアルファベットと数字との組が記載されている場合、アルファベットがモジュールの識別子、数字がバージョン番号である。例えば、モジュールc−2は、モジュールc−1の新しいバージョンである。
円と別の円とを接続する矢印は、モジュール間の依存関係を示す。例えばモジュールbからモジュールaに向かう矢印は、モジュールbがモジュールaに依存していること、言い換えると、モジュールbが動作するためにモジュールaがインストールされている必要があることを示す。このような依存関係は、例えば、モジュールaがモジュールbによって利用されるライブラリである場合などに相当する。
なお、図2に示す全モジュール依存関係有向グラフは、モジュール開発ベンダ端末300から送信された情報に基づいて作成される(図7参照)。
ここで、図2を用いたインストール可否判定処理について説明する。
図9は、本発明の実施形態において実行されるインストール可否判定処理を示すフローチャートである。
最初に、インストール処理部7がモジュールのバージョンアップ要求をサーバ100に送信する(ステップ91)。このバージョンアップ要求は、少なくとも、これからアンインストールされる旧バージョンのモジュールを識別する情報、及び、これからインストールされる新バージョンのモジュールを識別する情報を含む。
サーバ100のインストール可否判定部5は、端末200が要求されたバージョンアップを実行した場合に、いずれかのモジュールが依存しているモジュールが端末200からアンインストールされるか否かを判定する(ステップ92)。
その結果、いずれかのモジュールが依存しているモジュールがアンインストールされると判定された場合、インストール可否判定部5は、バージョンアップ不可(すなわち、バージョンアップが許可されない)と判定する(ステップ93)。この場合、サーバ100は、バージョンアップが許可されないことを示す情報を端末200に送信してもよい。この情報を受信した端末200は、バージョンアップが許可されないことを示す情報を入出力装置46に表示してもよい。
一方、いずれのモジュールが依存しているモジュールもアンインストールされないと判定された場合、インストール可否判定部5は、バージョンアップ可(すなわち、バージョンアップが許可される)と判定する(ステップ94)。この場合、サーバ100は、バージョンアップが許可されることを示す情報を端末200に送信してもよい。この情報を受信した端末200は、要求されたバージョンアップを実行する。
ここで、具体例として、ステップ91において、モジュールc−1からモジュールc−2へのバージョンアップが要求された場合について説明する。
要求されたバージョンアップが実行されれば、モジュールc−1がアンインストールされ、モジュールc−2がインストールされることになる。モジュールc−1にはモジュールd−1が依存しているため、モジュールc−1がアンインストールされると、モジュールd−1が動作できなくなる。このため、もしモジュールd−2が全モジュール依存関係有向グラフに登録されていなければ、ステップ92において、モジュールd−1が依存するモジュールc−1がアンインストールされると判定され、ステップ93においてバージョンアップ不可と判定される。
しかし、図2の例では、モジュールd−1のより新しいバージョンであるモジュールd−2が全モジュール依存関係有向グラフに登録されているので、モジュールc−2のバージョンアップに伴いモジュールd−2をインストールすることができる。しかし、モジュールd−1にはモジュールfが依存しているため、モジュールd−1がアンインストールされるとモジュールfが動作できなくなる。しかも、モジュールd−2に依存するモジュールfの新しいバージョンは登録されていない。このため、モジュールc−1からモジュールc−2へのバージョンアップが実行され、さらに、それに伴いモジュールd−1からモジュールd−2へのバージョンアップが実行された場合には、モジュールfが依存しているモジュールd−1がアンインストールされるため(ステップ92)、モジュールfの動作に不具合が発生する可能性があると判定される。この場合、インストール可否判定部5は、ステップ93において、モジュールc−1からモジュールc−2へのバージョンアップが不可であると判定する。
以上、モジュールのバージョンアップが要求された場合について説明したが、モジュールのアンインストールが要求された場合にも同様の処理によってアンインストールの可否が判定される。
例えば、ステップ91においてモジュールc−1のアンインストールが要求された場合、ステップ92において、モジュールd−1に依存するモジュールc−1がアンインストールされると判定される。この場合、ステップ93においてモジュールc−1のアンインストール不可と判定される。一方、ステップ91においてモジュールbのアンインストールが要求された場合、いずれのモジュールもモジュールbに依存していない。このため、ステップ92において、いずれのモジュールが依存するモジュールもアンインストールされないと判定される。この場合、ステップ94において、モジュールbのアンインストール可と判定される。
図3は、本発明の実施形態の組み合わせインストール可否判定ルール記述テーブル23のフォーマットを示す説明図である。
組み合わせインストール可否判定ルール記述テーブル23は、CPUクロック数及びメモリ容量等の端末間差異に起因する端末処理性能差、あるいは、機種情報の差異に応じて各々定義されるテーブルであり、当該テーブルには組み合わせて端末200にインストールされた場合に、例えばハードウェア資源の処理負荷の上昇などに起因する操作性低下などの現象が発生するモジュールの組み合わせ情報が記載される。
より詳細には、組み合わせインストール可否判定ルール記述テーブル23は、組み合わせ番号231、モジュール識別子232及び優先度233を含む。組み合わせ番号231は、インストールされた場合に操作性低下などの現象が発生するモジュールの組み合わせを識別する番号である。モジュール識別子232は、各組み合わせに含まれるモジュールの識別子である。優先度233は、端末200にインストールされる(または端末200からアンインストールされずに残される)モジュールの優先度を示す。例えば、優先度233の値「1」が最も高い優先度を示し、優先度233の値が大きいほど低い優先度を示してもよい。
組み合わせインストール可否判定部21は、(1)端末200から送信される、端末200が搭載するモジュール情報を記載したモジュール構成情報と、(2)インストールを要求されたモジュールに関する情報と、を参照し、これら端末200から送信される情報に含まれるモジュール識別子を抽出し、抽出したモジュール識別子の組み合わせの中に、組み合わせインストール可否判定ルール記述テーブル23に記載される組み合わせが含まれる場合には、インストール不可と判定する。
ここで、組み合わせインストール可否判定処理について説明する。
図10は、本発明の実施形態において実行される組み合わせインストール可否判定処理を示すフローチャートである。
インストール処理部7は、モジュール開発ベンダから取得したモジュールのインストールを要求された場合、そのインストールを実行する前に、通信回線を経由して、サーバ100の組み合わせインストール可否判定部21に、当該モジュール(すなわちインストールを要求されたモジュール)のインストール可否を問い合わせる(ステップ101)。この問い合わせは、端末200が搭載するモジュール情報を記載したモジュール構成情報、及び、当該モジュールに関する情報を含む。
組み合わせインストール可否判定部21は、組み合わせインストール可否判定ルール記述テーブル23を参照して、当該モジュールのインストール可否を判定する(ステップ102)。具体的には、組み合わせインストール可否判定部21は、組み合わせインストール可否判定ルール記述テーブル23の組み合わせ番号231及びモジュール識別子232を参照して、当該モジュールと同じ組み合わせに含まれるモジュールが既に端末200にインストールされているか否かを判定する。そのようなモジュールが既に端末200にインストールされている場合、インストール不可と判定され、インストールされていない場合、インストール可と判定される。
インストール可と判定された場合、組み合わせインストール可否判定部21は、インストールを許可することを示す通知を端末200に送信する。この通知を受信した端末200のインストール処理部7は、当該モジュールのインストール処理を実行する(ステップ103)。
インストール不可と判定された場合、組み合わせインストール可否判定部21は、組み合わせインストール可否判定ルール記述テーブル23に記載されたインストール優先度情報と共に端末200に対してインストール不可通知を送信する(ステップ104)。ここで送信されるインストール優先度情報は、当該モジュール、及び、当該モジュールと同じ組み合わせに含まれる、既にインストールされているモジュールの、優先度233の値を含む。
インストール処理部7は、インストール不可通知を受信した場合、受信した通知に含まれる前記インストール優先度情報に従って、使用者に対してインストール不可通知及び既にインストールされているモジュールのアンインストール推奨通知の少なくとも一方を提示する(ステップ105)。これらの通知は、端末200の入出力装置46を介して提示される。例えば、当該モジュールの優先度が既にインストールされているモジュールの優先度より低い場合、インストール不可通知が提示され、その他の場合に既にインストールされているモジュールのアンインストール推奨通知が提示されてもよい。
端末200の使用者は、提示された通知を参照して、既にインストールされているモジュールのアンインストールを実行するか否かを選択することができる。この選択を示す情報は、端末200の入出力装置46を介して入力される。入力された情報に基づいて、インストール処理部7は、使用者が既にインストールされているモジュールのアンインストールを選択したか否かを判定する(ステップ106)。
使用者が既にインストールされているモジュールのアンインストールを選択した場合、インストール処理部7は、その選択に従って、アンインストール処理を実行する(ステップ107)。具体的には、インストール処理部7が、使用者の選択に従って、既にインストールされているモジュールのアンインストールを要求すると(ステップ91)、その要求に応じて図9のステップ92以降の処理が実行され、ステップ94においてアンインストール可と判定された場合にアンインストールが実行される。
ステップ103またはステップ107が実行されると、組み合わせインストール可否判定処理が終了する。一方、ステップ106においてアンインストールが選択されなかった場合、ステップ107が実行されずに組み合わせインストール可否判定処理が終了する。
組み合わせインストール可否判定ルール記述テーブル23は、どのような方法で作成されてもよい。例えば、端末の使用者によって手動で作成されてもよいし、以下に説明するように、性能制約抵触条件に基づいて作成されてもよい。
図4は、本発明の実施形態の性能制約抵触条件のフォーマットを示す説明図である。
性能制約抵触条件記憶部(サーバ側)27は、CPUクロック数及びメモリ容量のような、端末200ごとのハードウェア資源等に起因する端末処理性能、あるいは、端末200ごとの機種情報に応じて各々定義されるテーブル形式データとして性能制約抵触条件を記憶する。
性能制約抵触条件とは、アプリケーションが端末上で動作した場合に移動端末の画面操作時の使用性低下または処理待ち時間の増加といった不具合を生じ得る条件である。この条件は、アプリケーションの識別子、その動作状態273、アプリケーションが消費する端末200上のCPU43及びメインメモリ44等のリソースの使用状況上限値、及び、それらの条件の継続時間として記述される。本条件はこれらの記述の組み合わせとして記述されてもよい。アプリケーションの動作状態を条件記述要素の一つとして記述することで、アプリケーションが上記のように記述された動作状態となる可能性が無い端末200においては、そのアプリケーションについて、組み合わせOKという判定を行うことが可能になる。
本実施形態の計算機システムは、複数の端末200を含み、それらの端末200が互いに異なる機種であってもよい。機種ごとに、搭載されたCPUクロック数及びメモリ容量等のハードウェア資源の量が異なってもよい。ハードウェア資源の量が異なれば、一般に、性能制約抵触条件も異なる。図4には、例として、ある機種(機種1)の端末200の性能制約抵触条件のフォーマットを示す。この性能制約抵触条件は、その端末200の性能制約抵触条件記憶部(端末側)29及びサーバ100の性能制約抵触条件記憶部(サーバ側)27に記憶される。各端末200の性能制約抵触条件記憶部(端末側)29には、その端末200の性能制約抵触条件が記憶され、サーバ100の性能制約抵触条件記憶部(サーバ側)27には、複数の端末200の性能制約抵触条件が記憶される。
図4の例において、性能制約抵触条件は、番号271、アプリケーション識別子272、アプリケーション動作状態273、CPU使用率274、メモリ使用量275及び継続時間276を含む。
番号271は、不具合を生じ得る条件の組み合わせを識別する。アプリケーション識別子272は、アプリケーションの種類を識別する。アプリケーション動作状態273は、アプリケーションの動作状態を識別する。
例えば、図4の番号271の値「1」に対応するアプリケーション識別子272として「ナビゲーション」及び「オーディオ」が記憶される。「ナビゲーション」に対応するアプリケーション動作状態273、CPU使用率274及び継続時間276として、それぞれ、「経路探索中」、「30%以上」及び「4秒以上」が記憶される。一方、「オーディオ」に対応するアプリケーション動作状態273、CPU使用率274及び継続時間276として、それぞれ、「再生中」、「40%以上」及び「5秒以上」が記憶される。これは、ナビゲーション機能を実現するためのモジュールが経路探索のためにCPU時間の30%以上を使用する状態が4秒以上継続し、かつ、オーディオ機能を実現するためのモジュールが音声再生のためにCPU時間の40%以上を使用する状態が5秒以上継続した場合、処理待ち時間の増加のような不具合が発生する可能性があることを示す。
リソース使用状況送信部31は、性能制約抵触条件記憶部(端末側)29が保持する性能制約抵触条件を参照し、端末200の状態が性能制約抵触条件に合致したことを検出して不具合が発生したと判定した際に、(1)サーバ100に対して端末200のリソース使用状況を送信し、(2)当該不具合を回避するためのモジュールアンインストール等のロールバック処理の実行に誘導するための誘導文/警告文を端末使用者に対して提示する。
図5は、本発明の実施形態のリソース使用状況のフォーマットを示す説明図である。
リソース使用状況は、端末種別情報(図示省略)を含み、さらに、端末200の状態が性能制約抵触条件に合致した時点における、端末200上で動作するアプリケーションの識別子311、そのアプリケーションの動作状態312、そのアプリケーションによるCPU使用率313及びメモリ使用量314の一覧情報を含む。
サーバ100のリソース使用状況受信部33は端末200から上記のリソース使用状況を受信し、リソース使用状況蓄積部35に格納する。なお、一度の不具合の発生の際に送信されたリソース使用状況に含まれる複数のアプリケーション識別子が、一つの組として格納される。このため、リソース使用状況蓄積部35に格納された情報を参照することによって、不具合の発生回数に対する、リソース使用状況に含まれるアプリケーションの組の出現頻度を算出することができる。
図11は、本発明の実施形態において実行される性能制約抵触検出処理を示すフローチャートである。
性能制約抵触条件設定部25は、端末200から送信される機種等の端末種別情報に対応する性能制約抵触条件を参照し、当該条件を端末200に送信する。端末200は当該条件を受信して性能制約抵触条件記憶部(端末側)29に格納する(ステップ111)。
端末200に対する当該条件の送信は、性能制約抵触条件設定部25が端末200から定期的に送信される前記端末種別情報の受信を契機として実行されてもよい。或いは、サーバ100がサーバ100側の性能制約条件を更新した場合に、性能制約抵触条件設定部25が各々の端末200に対して端末種別情報の送信を要求し、その要求に応じて端末種別情報を受信したことを契機として実行されてもよい。
リソース使用状況送信部31は、性能制約抵触条件記憶部(端末側)29が保持する性能制約抵触条件を参照して、不具合が発生したか否かを判定する(ステップ112)。具体的には、リソース使用状況送信部31は、端末200の状態が性能制約抵触条件を満たすことを検出した場合、不具合が発生したと判定する。
不具合が発生したと判定された場合、リソース使用状況送信部31は、サーバ100に対して端末200のリソース使用状況を送信する(ステップ113)。リソース使用状況を受信したサーバ100は、組み合わせインストール可否判定ルール記述テーブル23を参照して、受信したリソース使用状況に含まれるアプリケーションを実現するためのモジュールに対応する優先度情報(すなわち優先度233の値)を端末200に送信してもよい。
次に、リソース使用状況送信部31は、組み合わせインストール可否判定ルール記述テーブル23の優先度情報に基づいて、優先的にアンインストールされるモジュールを決定する(ステップ114)。例えば、優先度が最も低いモジュールを、最も優先的にアンインストールされるモジュールとして決定してもよい。
ただし、サーバ100が全てのベンダによって提供される全てのモジュールを把握できるとは限らないため、送信されたリソース使用状況に含まれるアプリケーションを実現するためのモジュールが組み合わせインストール可否判定ルール記述テーブル23に登録されていない場合がある。この場合、リソース使用状況送信部31は、優先的にアンインストールされるモジュールを優先度情報に依存せずに決定する必要がある。例えば、リソース使用状況送信部31は、最も新しくインストールされたモジュールを、優先的にアンインストールされるモジュールとして決定してもよい。
次に、リソース使用状況送信部31は、当該不具合を回避するためのモジュールアンインストール等のロールバック処理の実行に誘導するための誘導文/警告文を端末200の使用者に対して提示する(ステップ115)。このとき提示される誘導文は、例えば、ステップ114において決定されたアプリケーションをアンインストールするように端末200の使用者を誘導する。
組み合わせインストール可否判定ルール生成処理部41は、リソース使用状況蓄積部35に蓄積されたデータを参照し、インストール不可である条件を抽出し、抽出した条件を組み合わせインストール可否判定ルール記述テーブル23に記載する。この抽出処理では、単一の端末機種に関して収集される複数のリソース使用状況情報を解析し、例えば当該情報への出現頻度が所定の閾値より高いアプリケーションの組み合わせを新たにインストール不可条件として定義し、前記組み合わせインストール可否判定ルール記述テーブル23に記載する。
図6は、本発明の実施形態において実行されるルール抽出処理を示すフローチャートである。
組み合わせインストール可否判定ルール生成処理部41は、既存の組み合わせインストール可否判定ルール記述テーブル23を参照する(ステップ71)。
次に、組み合わせインストール可否判定ルール生成処理部41は、リソース使用状況蓄積部35のデータを解析し、当該データにおける出現頻度が所定の閾値を超えるアプリケーションの組み合わせを抽出する(ステップ73)。
次に、組み合わせインストール可否判定ルール生成処理部41は、ステップ73で抽出された組み合わせが既存の組み合わせインストール可否判定ルール記述テーブル23に含まれるか否かを判定する(ステップ75)。
ステップ75の判定結果がNoの場合(すなわち、抽出された組み合わせが既存の組み合わせインストール可否判定ルール記述テーブル23に含まれないと判定された場合)、組み合わせインストール可否判定ルール生成処理部41は、組み合わせインストール可否判定ルール記述テーブル23に抽出された組み合わせを新規ルールとして追加する。具体的には、組み合わせインストール可否判定ルール生成処理部41は、ステップ73で抽出された各アプリケーションを実現するためのモジュールの組み合わせを組み合わせインストール可否判定ルール記述テーブル23に追加する。このとき、優先度233の値は、種々の規則に基づいて決定され得る。例えば、アプリケーションごとに予め優先度が決定されていてもよい。その場合、各アプリケーションを実現するためのモジュールの優先度233として、そのアプリケーションについて予め設定された優先度が登録される。あるいは、新しくインストールされたモジュールほど、そのモジュールに対応する優先度233に、低い優先度を示す値が登録されてもよい。
ステップ75の判定結果がYesの場合、組み合わせインストール可否判定ルール記述テーブル23にルールを追加せずにルール抽出処理を終了する。
端末200が移動端末のように潤沢なハードウェア資源を持たない装置であるほど、インストールされるモジュールの組み合わせによって、操作性の低下等の不具合が発生しやすい。このような場合にも、上記のように組み合わせインストールの可否を判定することによって、不具合の発生を防ぐことができるため、本実施形態は移動端末のような装置に特に好適に利用することができる。
図7は、本発明の実施形態のモジュール登録部61の操作画面を示す説明図である。
図7に示す操作画面は、モジュール開発ベンダ端末300の入出力装置(図示省略)によって表示される。この操作画面は、登録するモジュール名称及びバージョン番号が入力される入力欄65、登録または登録解除を選択する選択欄66、入力欄65に入力されたモジュールが依存する全てのモジュールが表示される表示欄67、及び、処理実行のためのボタン68を備える。
モジュール開発ベンダ端末300の操作者は、モジュール登録部61の操作画面を操作することでモジュールを登録または登録解除する。登録または登録解除されたモジュールの依存関係を示す情報は、モジュール開発ベンダ端末300からサーバ100に送信される。サーバ100のモジュール依存性管理部1は、受信した情報が反映されるように、モジュール依存性記憶部3に格納された既存の全モジュール依存関係有向グラフを更新する。
図7の例では、入力欄65に「module-l」、選択欄66に「登録」、表示欄67に「module-d」、「module-e」及び「module-f」が表示されている。これらは、操作者が新たに「module-l」なるモジュールを登録しようとしていること、及び、「module-l」が三つのモジュールすなわち「module-d」、「module-e」及び「module-f」に依存することを示す。「module-l」がさらに他のモジュールにも依存する場合、操作者は、「module-l」が依存する全てのモジュールが表示欄67に表示されるように、モジュールの依存関係を入力することができる。
なお、図7では省略されているが、実際には各モジュールの名称に加えてバージョン番号も入力及び表示される。
図8は、本発明の実施形態のモジュール依存性表示部63の操作画面を示す説明図である。
図8に示す操作画面は、モジュール開発ベンダ端末300の入出力装置(図示省略)によって表示される。モジュール依存性表示部63は、操作者が全モジュール依存関係有向グラフから単一のモジュールを選択した場合、選択されたモジュールが直接または間接的に依存するモジュールのリストを視覚化して表示する。
具体的には、操作画面は、入力欄69、選択欄62及び表示欄64を備える。入力欄69には、操作者によってそれに関する依存関係の表示を要求されたモジュールの名称及びバージョン番号が入力される。操作者は、選択欄62を操作することによって、表示される依存関係の種類(すなわち「依存」または「被依存」)を選択することができる。表示欄64には、入力欄69及び選択欄62を介して表示を要求されたモジュールの依存関係が表示される。
表示欄64は、階層欄及び名称欄を含む。名称欄には、入力欄69に入力されたモジュールとの間に依存関係を有するモジュールの名称及びバージョンが表示される。階層欄には、入力欄69に入力されたモジュールと、名称欄に表示されたモジュールとの間の依存関係の階層が表示される。この階層を参照することによって、モジュールが直接依存しているか間接的に依存しているかを知ることができる。
図8の例では、入力欄69に「module-l」、選択欄62に「被依存」、表示欄64のうち名称欄に「module-a」、「module-b」及び「module-c」、それらに対応する階層欄に「1」、「2」及び「3」がそれぞれ表示される。この場合、表示欄64には、入力欄69に入力されたモジュールに依存するモジュールのリストが表示される。すなわち、この場合、「module-a」、「module-b」及び「module-c」なるモジュールが「module-l」なるモジュールに依存する。
ただし、この例において「module-c」に対応する階層が「2」であることは、「module-c」が直接にではなく他のモジュールを介して間接的に「module-l」に依存することを示す。例えば、「module-a」が「module-l」に依存し、「module-c」が「module-a」に依存する場合、「module-c」に対応する階層は「2」となる。
なお、選択欄62において「依存」が選択された場合、表示欄64には、入力欄69に入力されたモジュールが依存するモジュールのリストが表示される。すなわち、この場合、「module-l」は、「module-a」、「module-b」及び「module-c」に依存する。
図8では省略されているが、実際には各モジュールの名称に加えてバージョン番号も入力及び表示される。
上記の画面を参照することによって、使用者は、これからインストールするモジュールがバージョン情報を持つモジュールであった場合にはバージョンが上がることで影響を受けるモジュール、即ち、旧バージョンに依存するモジュールおよび間接的に依存するモジュールのリストを一覧し、当該モジュールの新しいバージョンへの更新に伴って依存関係の検証が必要なモジュール群を把握することができる。
本実施形態は、上記の構成によって各処理フローを実現することによって、異なるベンダから提供される異なるサイトから通信回線を解して配信されるモジュール群を端末にインストールする場合であっても不具合発生を抑止することを可能にし、操作性低下または処理遅延増大等の不具合が発生しない組み合わせでモジュールをインストールすることを可能にする。
本発明は、ソフトウェアモジュールをインストールする計算機システムに幅広く利用することができる。特に、本発明は、カーナビゲーション装置等、潤沢なハードウェア資源を持たない移動端末に好適に利用することができる。
1 モジュール依存性管理部
3 モジュール依存性記憶部
5 インストール可否判定部
7 インストール処理部
9 モジュール構成情報記憶部
21 組み合わせインストール可否判定部
23 組み合わせインストール可否判定ルール記述テーブル
25 性能制約抵触条件設定部
27 性能制約抵触条件記憶部(サーバ側)
29 性能制約抵触条件記憶部(端末側)
31 リソース使用状況送信部
33 リソース使用状況受信部
35 リソース使用状況蓄積部
41 組み合わせインストール可否判定ルール生成処理部
51 CPU
53 メインメモリ
54 入出力装置
55 通信インタフェース
58 記憶装置
59 バス等の信号線
61 モジュール登録部
63 モジュール依存性表示部
100 サーバ
200 端末
300 モジュール開発ベンダ端末
400 基地局
500 ネットワーク

Claims (17)

  1. 端末装置と、ネットワークを介して前記端末装置に接続されるサーバ装置と、を備える計算機システムであって、
    前記サーバ装置は、
    前記ネットワークに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
    前記端末装置にインストールすることができる複数のソフトウェアモジュールの依存関係を示す依存関係情報を保持し、
    前記端末装置にインストールされているソフトウェアモジュールのアンインストールが前記端末装置によって要求された場合、前記依存関係情報に基づいて、前記要求されたアンインストールの実行によって、前記端末装置にインストールされているいずれかのソフトウェアモジュールが依存するソフトウェアモジュールがアンインストールされるか否かを判定し、
    前記端末装置にインストールされているいずれかのソフトウェアモジュールが依存するソフトウェアモジュールがアンインストールされると判定された場合、前記要求されたアンインストールの実行を許可しないことを示す情報を前記端末装置に送信することを特徴とする計算機システム。
  2. 前記依存関係情報は、前記各ソフトウェアモジュールのバージョンを示す情報を含み、
    前記サーバ装置は、
    前記端末装置にインストールされているソフトウェアモジュールのアンインストールに加えて、前記アンインストールを要求されたソフトウェアモジュールの新しいバージョンのインストールが前記端末装置によって要求された場合、前記依存関係情報に基づいて、前記端末装置にインストールされているソフトウェアモジュールのうち、前記アンインストールを要求されたソフトウェアモジュールに依存するソフトウェアモジュールを特定し、
    前記特定されたソフトウェアモジュールの新しいバージョンであって、かつ、前記インストールを要求されたソフトウェアモジュールに依存するソフトウェアモジュールが、前記依存関係情報に登録されているか否かを判定し、
    前記特定されたソフトウェアモジュールの新しいバージョンであって、かつ、前記インストールを要求されたソフトウェアモジュールに依存するソフトウェアモジュールが、前記依存関係情報に登録されていないと判定された場合、前記要求されたアンインストールの実行によって、前記端末装置にインストールされているいずれかのソフトウェアモジュールが依存するソフトウェアモジュールがアンインストールされると判定することを特徴とする請求項1に記載の計算機システム。
  3. 前記サーバ装置は、
    前記端末装置へのインストールが許可されないソフトウェアモジュールの組み合わせを示す規則情報をさらに保持し、
    前記端末装置へのソフトウェアモジュールのインストールが前記端末装置によって要求された場合、前記規則情報に基づいて、前記インストールを要求されたソフトウェアモジュールと組み合わせてインストールすることが許可されないソフトウェアモジュールが前記端末装置に既にインストールされているか否かを判定し、
    前記インストールを要求されたソフトウェアモジュールと組み合わせてインストールすることが許可されないソフトウェアモジュールが前記端末装置に既にインストールされていると判定された場合、前記要求されたソフトウェアモジュールのインストールが許可されないことを示す情報を前記端末装置に送信することを特徴とする請求項1または2に記載の計算機システム。
  4. 前記端末装置は、前記要求されたソフトウェアモジュールのインストールが許可されないことを示す情報を受信した場合、前記要求されたインストールを実行できないことを示す情報、及び、前記インストールを要求されたソフトウェアモジュールと組み合わせてインストールすることが許可されないソフトウェアモジュールのアンインストールを推奨することを示す情報の少なくとも一方を表示することを特徴とする請求項3に記載の計算機システム。
  5. 前記規則情報は、前記各ソフトウェアモジュールの優先度を示す情報を含み、
    前記サーバ装置は、前記インストールを要求されたソフトウェアモジュールと組み合わせてインストールすることが許可されないソフトウェアモジュールが前記端末装置に既にインストールされていると判定された場合、前記要求されたソフトウェアモジュールのインストールが許可されないことを示す情報と共に、前記各ソフトウェアモジュールの優先度を示す情報を前記端末装置に送信し、
    前記端末装置は、
    前記インストールを要求されたソフトウェアモジュールの優先度が、前記インストールを要求されたソフトウェアモジュールと組み合わせてインストールすることが許可されないソフトウェアモジュールの優先度より低い場合、前記要求されたインストールを実行できないことを示す情報を表示し、
    前記インストールを要求されたソフトウェアモジュールの優先度が、前記インストールを要求されたソフトウェアモジュールと組み合わせてインストールすることが許可されないソフトウェアモジュールの優先度より高い場合、前記インストールを要求されたソフトウェアモジュールと組み合わせてインストールすることが許可されないソフトウェアモジュールのアンインストールを推奨することを示す情報を表示することを特徴とする請求項4に記載の計算機システム。
  6. 前記端末装置は、
    前記端末装置が実行するアプリケーションの識別子と、前記アプリケーションを実行するために使用される前記端末装置の資源の使用量の閾値と、を含む条件を保持し、
    前記アプリケーションを実行するために使用される前記端末装置の資源の実際の使用量が前記閾値を超える場合、前記端末装置の実際の使用状態が前記条件を満たすと判定し、前記端末装置の実際の使用状態が前記条件を満たす場合、前記端末装置において実際に実行されている複数のアプリケーションの識別子及び前記端末装置の資源の実際の使用量を含む資源使用情報を前記サーバ装置に送信し、
    前記サーバ装置は、
    前記端末装置から受信した資源使用情報を保持し、
    前記保持された資源使用情報における出現頻度が所定の閾値より高い前記複数のアプリケーションの組み合わせに対応するソフトウェアモジュールの組み合わせを前記規則情報に追加することを特徴とする請求項5に記載の計算機システム。
  7. 前記端末装置は、前記資源使用情報に含まれる前記複数のアプリケーションの識別子に対応する前記ソフトウェアモジュールの組み合わせが前記規則情報に登録されている場合、前記登録されている組み合わせに含まれるソフトウェアモジュールのうち、前記優先度がより低いソフトウェアモジュールのアンインストールを推奨することを示す情報を表示することを特徴とする請求項6に記載の計算機システム。
  8. 前記条件は、前記アプリケーションの動作状態を示す情報をさらに含み、
    前記端末装置は、前記アプリケーションの実際の動作状態ごとの前記資源の実際の使用量が、前記条件に含まれる、前記実際の動作状態と同一の動作状態ごとの前記閾値を超える場合、前記端末装置の実際の使用状態が前記条件を満たすと判定し、
    前記資源使用情報は、前記端末装置の実際の使用状態が前記条件を満たす場合の前記アプリケーションの実際の動作状態を示す情報をさらに含むことを特徴とする請求項6または7に記載の計算機システム。
  9. 前記計算機システムは、ネットワークを介して前記サーバ装置に接続される第2端末装置をさらに備え、
    前記第2端末装置は、
    複数のソフトウェアモジュールの依存関係を示す情報を入力されると、前記入力された情報を前記依存関係情報として格納し、
    前記ソフトウェアモジュールを識別する情報を入力されると、前記依存関係情報に基づいて、前記入力された情報によって識別されるソフトウェアモジュールが依存する一つ以上のソフトウェアモジュールを識別する情報、または、前記入力された情報によって識別されるソフトウェアモジュールに依存する一つ以上のソフトウェアモジュールを識別する情報を表示することを特徴とする請求項1から8のいずれか一つに記載の計算機システム。
  10. ネットワークを介して端末装置に接続されるサーバ装置であって、
    前記ネットワークに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
    前記端末装置にインストールすることができる複数のソフトウェアモジュールの依存関係を示す依存関係情報を保持し、
    前記端末装置にインストールされているソフトウェアモジュールのアンインストールが前記端末装置によって要求された場合、前記依存関係情報に基づいて、前記要求されたアンインストールの実行によって、前記端末装置にインストールされているいずれかのソフトウェアモジュールが依存するソフトウェアモジュールがアンインストールされるか否かを判定し、
    前記端末装置にインストールされているいずれかのソフトウェアモジュールが依存するソフトウェアモジュールがアンインストールされると判定された場合、前記要求されたアンインストールの実行を許可しないことを示す情報を前記端末装置に送信することを特徴とするサーバ装置。
  11. 前記依存関係情報は、前記各ソフトウェアモジュールのバージョンを示す情報を含み、
    前記サーバ装置は、
    前記端末装置にインストールされているソフトウェアモジュールのアンインストールに加えて、前記アンインストールを要求されたソフトウェアモジュールの新しいバージョンのインストールが前記端末装置によって要求された場合、前記依存関係情報に基づいて、前記端末装置にインストールされているソフトウェアモジュールのうち、前記アンインストールを要求されたソフトウェアモジュールに依存するソフトウェアモジュールを特定し、
    前記特定されたソフトウェアモジュールの新しいバージョンであって、かつ、前記インストールを要求されたソフトウェアモジュールに依存するソフトウェアモジュールが、前記依存関係情報に登録されているか否かを判定し、
    前記特定されたソフトウェアモジュールの新しいバージョンであって、かつ、前記インストールを要求されたソフトウェアモジュールに依存するソフトウェアモジュールが、前記依存関係情報に登録されていないと判定された場合、前記要求されたアンインストールの実行によって、前記端末装置にインストールされているいずれかのソフトウェアモジュールが依存するソフトウェアモジュールがアンインストールされると判定することを特徴とする請求項10に記載のサーバ装置。
  12. 前記サーバ装置は、
    前記端末装置へのインストールが許可されないソフトウェアモジュールの組み合わせを示す規則情報をさらに保持し、
    前記端末装置へのソフトウェアモジュールのインストールが前記端末装置によって要求された場合、前記規則情報に基づいて、前記インストールを要求されたソフトウェアモジュールと組み合わせてインストールすることが許可されないソフトウェアモジュールが前記端末装置に既にインストールされているか否かを判定し、
    前記インストールを要求されたソフトウェアモジュールと組み合わせてインストールすることが許可されないソフトウェアモジュールが前記端末装置に既にインストールされていると判定された場合、前記要求されたソフトウェアモジュールのインストールが許可されないことを示す情報を前記端末装置に送信することを特徴とする請求項10または11に記載のサーバ装置。
  13. ネットワークを介してサーバ装置に接続される端末装置であって、
    前記端末装置は、
    前記ネットワークに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続される入出力装置と、を備え、
    前記端末装置にインストールされているソフトウェアモジュールを識別する情報を保持し、
    前記端末装置が実行するアプリケーションの識別子と、前記アプリケーションを実行するために使用される前記端末装置の資源の使用量の閾値と、を含む条件を保持し、
    前記アプリケーションを実行するために使用される前記端末装置の資源の実際の使用量が前記閾値を超える場合、前記端末装置の実際の使用状態が前記条件を満たすと判定し、前記端末装置の実際の使用状態が前記条件を満たす場合、前記端末装置において実際に実行されている複数のアプリケーションの識別子及び前記端末装置の資源の実際の使用量を含む資源使用情報を前記サーバ装置に送信し、
    前記端末装置にインストールされているソフトウェアモジュールのアンインストールを要求する場合、前記アンインストールを要求されたソフトウェアモジュールを識別する情報を前記サーバ装置に送信し、
    前記要求されたアンインストールが許可されることを示す情報を前記サーバ装置から受信すると、前記要求されたアンインストールを実行し、
    前記要求されたアンインストールが許可されないことを示す情報を前記サーバ装置から受信すると、前記要求されたアンインストールが許可されないことを前記入出力装置に表示し、
    前記端末装置へのソフトウェアモジュールのインストールを要求する場合、前記インストールを要求されたソフトウェアモジュールを識別する情報を前記サーバ装置に送信し、
    前記要求されたインストールが許可されることを示す情報を前記サーバ装置から受信すると、前記要求されたインストールを実行し、
    前記要求されたインストールが許可されないことを示す情報を前記サーバ装置から受信すると、前記要求されたインストールを実行できないことを示す情報、及び、前記端末装置に既にインストールされているソフトウェアモジュールのアンインストールを推奨することを示す情報の少なくとも一方を表示することを特徴とする端末装置。
  14. ネットワークを介してサーバ装置に接続される端末装置であって、
    前記端末装置は、
    前記ネットワークに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続される入出力装置と、を備え、
    複数のソフトウェアモジュールの依存関係を示す依存関係情報を入力されると、前記入力された情報を前記サーバ装置に送信し、
    前記ソフトウェアモジュールを識別する情報を入力されると、前記依存関係情報に基づいて、前記入力された情報によって識別されるソフトウェアモジュールが依存する一つ以上のソフトウェアモジュールを識別する情報、または、前記入力された情報によって識別されるソフトウェアモジュールに依存する一つ以上のソフトウェアモジュールを識別する情報を表示することを特徴とする端末装置。
  15. ネットワークを介してサーバ装置に接続される端末装置のソフトウェアアップデート方法であって、
    前記サーバ装置は、
    前記ネットワークに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
    前記端末装置にインストールすることができる複数のソフトウェアモジュールの依存関係を示す依存関係情報を保持し、
    前記ソフトウェアアップデート方法は、
    前記端末装置にインストールされているソフトウェアモジュールのアンインストールが前記端末装置によって要求された場合、前記サーバ装置が、前記依存関係情報に基づいて、前記要求されたアンインストールの実行によって、前記端末装置にインストールされているいずれかのソフトウェアモジュールが依存するソフトウェアモジュールがアンインストールされるか否かを判定する第1手順と、
    前記端末装置にインストールされているいずれかのソフトウェアモジュールが依存するソフトウェアモジュールがアンインストールされると判定された場合、前記サーバ装置が、前記要求されたアンインストールの実行を許可しないことを示す情報を前記端末装置に送信する第2手順と、を含むことを特徴とするソフトウェアアップデート方法。
  16. 前記依存関係情報は、前記各ソフトウェアモジュールのバージョンを示す情報を含み、
    前記第1手順は、
    前記端末装置にインストールされているソフトウェアモジュールのアンインストールに加えて、前記アンインストールを要求されたソフトウェアモジュールの新しいバージョンのインストールが前記端末装置によって要求された場合、前記サーバ装置が、前記依存関係情報に基づいて、前記端末装置にインストールされているソフトウェアモジュールのうち、前記アンインストールを要求されたソフトウェアモジュールに依存するソフトウェアモジュールを特定する手順と、
    前記サーバ装置が、前記特定されたソフトウェアモジュールの新しいバージョンであって、かつ、前記インストールを要求されたソフトウェアモジュールに依存するソフトウェアモジュールが、前記依存関係情報に登録されているか否かを判定する手順と、
    前記特定されたソフトウェアモジュールの新しいバージョンであって、かつ、前記インストールを要求されたソフトウェアモジュールに依存するソフトウェアモジュールが、前記依存関係情報に登録されていないと判定された場合、前記サーバ装置が、前記要求されたアンインストールの実行によって、前記端末装置にインストールされているいずれかのソフトウェアモジュールが依存するソフトウェアモジュールがアンインストールされると判定する手順と、を含むことを特徴とする請求項15に記載のソフトウェアアップデート方法。
  17. 前記サーバ装置は、前記端末装置へのインストールが許可されないソフトウェアモジュールの組み合わせを示す規則情報をさらに保持し、
    前記ソフトウェアアップデート方法は、さらに、
    前記端末装置へのソフトウェアモジュールのインストールが前記端末装置によって要求された場合、前記サーバ装置が、前記規則情報に基づいて、前記インストールを要求されたソフトウェアモジュールと組み合わせてインストールすることが許可されないソフトウェアモジュールが前記端末装置に既にインストールされているか否かを判定する第3手順と、
    前記インストールを要求されたソフトウェアモジュールと組み合わせてインストールすることが許可されないソフトウェアモジュールが前記端末装置に既にインストールされていると判定された場合、前記サーバ装置が、前記要求されたソフトウェアモジュールのインストールが許可されないことを示す情報を前記端末装置に送信する第4手順と、を含むことを特徴とする請求項15または16に記載のソフトウェアアップデート方法。
JP2009253995A 2009-11-05 2009-11-05 計算機システム、サーバ装置、端末装置及びソフトウェアアップデート方法 Expired - Fee Related JP5444563B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009253995A JP5444563B2 (ja) 2009-11-05 2009-11-05 計算機システム、サーバ装置、端末装置及びソフトウェアアップデート方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009253995A JP5444563B2 (ja) 2009-11-05 2009-11-05 計算機システム、サーバ装置、端末装置及びソフトウェアアップデート方法

Publications (2)

Publication Number Publication Date
JP2011100260A JP2011100260A (ja) 2011-05-19
JP5444563B2 true JP5444563B2 (ja) 2014-03-19

Family

ID=44191390

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009253995A Expired - Fee Related JP5444563B2 (ja) 2009-11-05 2009-11-05 計算機システム、サーバ装置、端末装置及びソフトウェアアップデート方法

Country Status (1)

Country Link
JP (1) JP5444563B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2821918A4 (en) * 2012-03-01 2015-12-16 Nec Corp SYSTEM CONSTRUCTION PROCEDURE CREATING DEVICE, SYSTEM CONSTRUCTION PROCEDURE CREATING METHOD, AND PROGRAM
CN106155746B (zh) * 2016-07-13 2019-12-03 珠海豹趣科技有限公司 一种安装文件处理方法及装置、服务器

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112766A (ja) * 1998-10-06 2000-04-21 Nec Corp ソフトウェア配布システム
JP2000339142A (ja) * 1999-05-28 2000-12-08 Nec Software Okinawa Ltd セキュリティチェック機能付きインストール及びアンインストール制御装置と方法
JP3861538B2 (ja) * 1999-12-15 2006-12-20 株式会社日立製作所 プログラム配付管理システム
JP4402889B2 (ja) * 2003-02-19 2010-01-20 株式会社日立製作所 ソフトウェアのバージョンアッププログラム、およびバージョンアップ方法
JP2005044011A (ja) * 2003-07-24 2005-02-17 Hitachi Ltd ソフトウェアパッケージ管理方法
JP2006065790A (ja) * 2004-08-30 2006-03-09 Fujitsu Ltd アンインストール処理プログラム、及びアンインストール管理プログラム
JP4577225B2 (ja) * 2006-01-31 2010-11-10 セイコーエプソン株式会社 情報処理装置、情報処理装置の制御方法および制御プログラム
JP2008041057A (ja) * 2006-08-10 2008-02-21 Ricoh Co Ltd 画像処理装置、画像形成装置、プログラム管理方法及びプログラムを管理する管理プログラム
JP5213428B2 (ja) * 2007-12-13 2013-06-19 キヤノン株式会社 画像形成装置監視システム、画像形成装置、ファームウェア変更方法、及びプログラム

Also Published As

Publication number Publication date
JP2011100260A (ja) 2011-05-19

Similar Documents

Publication Publication Date Title
US10185555B2 (en) Method for automatically determining application recommendation result based on auxiliary information and associated computer readable medium and user interface
JP5252352B2 (ja) 情報端末装置、情報端末管理システム及びプログラム
US7779427B2 (en) Automated application configuration using device-provided data
KR102003850B1 (ko) 단말의 애플리케이션 제공 방법 및 그 단말
US8739298B2 (en) Method and system for enforcing a license dependency rule for a software application
US20060271924A1 (en) Method and apparatus for automating updates to dependencies
US8516472B2 (en) Information processing apparatus for efficiently informing information associated with update details of software and control method thereof
US8856685B2 (en) Method and system for providing web content on a mobile device
US20130139142A1 (en) Information processing apparatus and information processing system
US7895590B2 (en) Update at shutdown
US20150067668A1 (en) Installation engine and package format
WO2008069431A1 (en) Download server and method for installing and updating application program using partitioning of shared library
JP5608163B2 (ja) 仮想化環境と結合されたアプリケーション実行方法
JP5444563B2 (ja) 計算機システム、サーバ装置、端末装置及びソフトウェアアップデート方法
CN101663666B (zh) 二进制码验证服务
CN109933976B (zh) 一种安卓应用相似性检测方法、移动终端及存储装置
US20180349131A1 (en) Windows support of a pluggable ecosystem for universal windows application stores
CN111475819B (zh) 识别异常终端设备的方法及装置、存储介质、电子设备
US20220334820A1 (en) System and method for intermediate software upgrades for information handling systems
CN113656063A (zh) 一种系统版本更换方法、装置、设备及计算机可读介质
KR100781693B1 (ko) 휴대 단말기의 펌웨어 업그레이드 제공 방법 및 그 시스템
KR102073274B1 (ko) 분산 시스템의 임계 상황을 판단하는 방법 및 그 시스템
KR101091464B1 (ko) 업그레이드 메시지를 이용한 무선 업그레이드 시스템 및 방법
KR101771438B1 (ko) 이동통신 단말기 및 이의 어플리케이션 설치 방법
WO2023055438A1 (en) Dynamic resource determination for system update

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120425

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120823

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120823

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120823

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130625

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130910

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131108

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131205

R150 Certificate of patent or registration of utility model

Ref document number: 5444563

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees