Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4864557B2 - ソフトウェアの更新処理プログラム及び更新処理装置 - Google Patents
[go: Go Back, main page]

JP4864557B2 - ソフトウェアの更新処理プログラム及び更新処理装置 - Google Patents

ソフトウェアの更新処理プログラム及び更新処理装置 Download PDF

Info

Publication number
JP4864557B2
JP4864557B2 JP2006165729A JP2006165729A JP4864557B2 JP 4864557 B2 JP4864557 B2 JP 4864557B2 JP 2006165729 A JP2006165729 A JP 2006165729A JP 2006165729 A JP2006165729 A JP 2006165729A JP 4864557 B2 JP4864557 B2 JP 4864557B2
Authority
JP
Japan
Prior art keywords
software
version
update
time
information
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
JP2006165729A
Other languages
English (en)
Other versions
JP2007334636A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006165729A priority Critical patent/JP4864557B2/ja
Priority to US11/594,612 priority patent/US7840957B2/en
Publication of JP2007334636A publication Critical patent/JP2007334636A/ja
Application granted granted Critical
Publication of JP4864557B2 publication Critical patent/JP4864557B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明はソフトウェアの更新処理プログラム及び更新処理装置に関し、特に情報処理装置にインストールされている旧版数ソフトウェアを要求された任意の新版数ソフトウェアに更新するソフトウェアの更新処理プログラム及び更新処理装置に関する。
情報処理装置にインストールされ、所定の処理機能を実現させるソフトウェアは、必要に応じて適宜バージョンアップされている。したがって、問題の解決や所定の機能を実行させるためには、バージョンアップされたソフトウェアを情報処理装置にインストールするアップデート作業が必要になる。
従来のアップデート作業には、任意の新版数のソフトウェア全体を一度にアップデートする(以下、全更新とする)方法と、旧版数から更新された差分データのみをアップデートする(以下、部分更新とする)方法とがあり、全更新・部分更新のどちらにするかは予め決められていた。
全更新する場合は、本来変更が必要ないファイルを含めて書き換えが行われるため、更新データ量が多くなり、作業効率が良くない。一方、部分更新する場合は、必要な箇所のみ書き換えが行われるため、更新データ量は少ない。しかし、インストールされている旧版数と任意の新版数との間に複数段階の版数があった場合、段階ごとに各ファイルの版数の差分を書き換えていかなければならず、作業が煩雑になるという問題があった。たとえば、1版から3版への更新の場合、まず、1版から2版への差分書き換えを行い、次に、2版から3版への差分書き換えを行う必要があった。
そこで、版数段階ごとの差分ファイルを生成し、任意の旧版数から任意の新版数にアップデートするために必要な差分ファイルの組み合わせを求め、インストールを行うインストーラが提案されている(たとえば、特許文献1参照)。
特開平10−260820号公報
しかし、従来のソフトウェアのアップデートでは、設定されたアップデート方法が必ずしも時間的に最短であるとは限らないという問題点があった。
上述のように、必要な部分のみ更新する部分更新における更新データ量は、全更新の場合より少ない。しかし、個別差分データごとに、データの格納アドレスを特定して書き換える処理を行わなければならない。したがって、書換箇所が多い場合などには、書換位置のサーチ、あるいは、差分データの結合や分解などの時間が増大し、結果として処理時間が長くなることがある。これに対し、全更新では、書換位置のサーチなどに要する時間は必要ない。このため、部分更新する際の変更箇所の数や差分データサイズ、ネットワーク上の転送速度、装置性能などによっては、部分更新より全更新の方が処理に要する時間が短い場合がある。しかしながら、従来のソフトウェアのアップデートでは、更新に要する処理時間を考慮した更新方法の選択がなされていなかった。
また、情報処理装置には、装置内に複数の版数のソフトウェアを格納して運用するものがある。たとえば、カーナビゲーションシステムの端末装置や携帯電話機などには、用途に応じた処理の切り替えなどのため、同じソフトウェアについて複数の版数を装置内に格納しているものがある。このような装置では、装置内に複数の版数を格納していても、アップデートはそれぞれの版数ごとに独立して行われていた。たとえば、格納されている最も古い旧版数を最新版数にアップデートしようとした場合、この旧版数と最新版数の差分データを管理サーバなどから取得し、アップデートを行っていた。すなわち、アップデートされる差分データが装置内に格納されている他の版数にあったとしても、新たにこの差分データを管理サーバなどから取得していた。このため、管理サーバより取得しなければならない差分データ量が多くなり、処理に要する時間も長くなっていた。
本発明はこのような点に鑑みてなされたものであり、ソフトウェアのアップデートに要する時間を最短にすることが可能なソフトウェアの更新処理プログラム及び更新処理装置を提供することを目的とする。
本発明では上記課題を解決するために、図1に示すような処理をコンピュータに実行させるためのソフトウェアの更新処理プログラムが提供される。本発明に係るソフトウェアの更新処理プログラムは、情報処理装置10に適用され、コンピュータに以下の処理を実行させることができる。情報処理装置10は、ソフトウェア記憶手段13、版数情報取得手段14、処理時間算出手段15、処理選択手段16、及び更新手段17を具備し、情報処理装置10にインストールされている旧版数ソフトウェアを、要求された任意の新版数ソフトウェアに更新する処理を行う。なお、ここでは、更新対象のソフトウェア格納領域について、アップデート前にソフトウェア記憶手段13に格納されていたソフトウェアの版数を旧版数、アップデート後にソフトウェア記憶手段13に格納されているソフトウェアの版数を新版数とする。
ソフトウェア記憶手段13には、予め用意された領域に任意の版数のソフトウェアが格納されている。版数情報取得手段14は、所定の版数のソフトウェアに関する版数情報が記録される版数管理情報から、要求された任意の新版数ソフトウェアの版数情報を取得する。処理時間算出手段15は、取得した新版数ソフトウェアの版数情報と、ソフトウェア記憶手段13に格納されている更新対象の旧版数ソフトウェアの版数情報とに基づき、更新処理に要する時間を算出する。第1に、旧版数ソフトウェア全体を新版数ソフトウェアへ更新する全更新処理による更新処理時間を算出する。第2に、旧版数ソフトウェアと新版数ソフトウェアとの第1の差分データを更新する部分更新処理による更新処理時間を算出する。第3に、ソフトウェア記憶手段13に格納されている旧版数ソフトウェアと新版数ソフトウェアとの間の中間版数ソフトウェアを旧版数ソフトウェアの格納領域に複写した後、中間版数ソフトウェアと新版数ソフトウェアとの第2の差分データを更新する複写後更新処理による更新処理時間を算出する。なお、中間版数ソフトウェアは、旧版数ソフトウェアよりも新版数ソフトウェアに近い版数であり、新版数ソフトウェアに対し、旧版数ソフトウェアよりも類似している。処理選択手段16は、処理時間算出手段15によって算出された各々の更新処理時間を比較し、最も更新時間が短い更新処理を選択する。更新手段17は、処理選択手段16によって選択された全更新処理、部分更新処理、または複写後更新処理のいずれかによって、ソフトウェア記憶手段13に格納されている旧版数ソフトウェアを新版数ソフトウェアに更新する。
このような情報処理装置10によれば、ソフトウェア記憶手段13に格納されている旧版数ソフトウェアを要求された新版数ソフトウェアにアップデートする場合、まず、版数情報取得手段14が、要求された任意の新版数ソフトウェアに関する版数情報を取得する。次に、処理時間算出手段15が、取得した新版数ソフトウェアの版数情報と、旧版数ソフトウェアの版数情報とに基づき、全更新処理、部分更新処理、及び複写後更新処理それぞれの更新処理時間を算出する。処理選択手段16は、算出されたそれぞれの更新処理時間を比較し、最も時間の短い更新処理を選択する。そして、更新手段17が、選択された更新処理を用いてソフトウェア記憶手段13の旧版数ソフトウェアを要求された任意の新版数ソフトウェアに更新する。これにより、最も処理時間の短い処理手順でアップデートが行われる。
本発明では、情報処理装置にインストールされている旧版数のソフトウェアをアップデートする場合に、実行可能な更新処理手順それぞれについて、更新に要する更新処理時間を算出する。そして、時間的に最短の更新処理手順を選択し、選択された更新処理手順に従ってアップデートを行う。これにより、転送データサイズ、データ転送時間、及びソフトウェア記憶領域への書き込み時間などのシステム環境に応じて更新処理時間が変動する更新処理手順のうち、更新処理時間が最短の更新処理手順によるアップデートを行うことができる。
この結果、どのような環境下においても、情報処理装置のソフトウェアのアップデートを最短で実行することが可能となる。
以下、本発明の実施の形態を図面を参照して説明する。まず、実施の形態に適用される発明の概念について説明し、その後、実施の形態の具体的な内容を説明する。
図1は、実施の形態に適用される発明の概念図である。
本発明に係るアップデートシステムは、必要に応じてソフトウェアをアップデートする情報処理装置10と、アップデートに利用される複数版数のソフトウェアを管理する管理サーバ20とが、図示しないネットワークを介して接続する。
情報処理装置10は、管理情報記憶手段11、時間情報記憶手段12、ソフトウェア記憶手段13の各記憶手段と、版数情報取得手段14、処理時間算出手段15、処理選択手段16、及び更新手段17の各処理手段を具備し、状況に応じてソフトウェア記憶手段13に格納されている複数バージョンのシステムソフトウェアを使い分けて動作する。
システムソフトウェアは、複数のコンポーネントから構成されており、各コンポーネントも版数によって管理されている。すなわち、システムソフトウェアの版数は、そのシステムソフトウェアに属するコンポーネントの種類、または、コンポーネントの版数が変わるごとに更新される。
管理情報記憶手段11は、ソフトウェア記憶手段13に用意されているシステムA領域13a及びシステムB領域13bを管理するための管理情報を格納する。管理情報には、ソフトウェア記憶手段13に格納されている全システムソフトウェアに関する全体情報と、システム領域ごとに、格納されているシステムソフトウェアの版数、このシステムソフトウェアに属するコンポーネント名、そのコンポーネントの版数やサイズなどの版数情報が設定される領域別情報とがある。
時間情報記憶手段12は、処理時間算出手段15が各更新処理による更新処理時間を算出する際に参照する時間情報を格納する。時間情報には、管理サーバ20からアップデートに用いるデータを転送する転送時間を算出するための転送時間情報、転送されたデータをソフトウェア記憶手段13に書き込む書換時間を算出するための書換時間情報、及びソフトウェア記憶手段13内でデータをコピーする複写時間を算出するための複写時間情報がある。転送時間情報として、たとえば、サイズ当たりの転送時間が設定される。この転送時間情報は、管理サーバ20とのネゴシエーション時のデータ転送速度から計算した値や、過去のダウンロード時の実績値などから算出される。同様に、書換時間情報として、ソフトウェア記憶手段13にデータを書き込む際のサイズあたりの書換時間や、サイズ当たりの複写時間、書換位置サーチのためなどのオーバヘッド時間などが設定される。複写時間情報として、サイズ当たりの複写時間が設定される。書換時間情報及び複写時間情報は、情報処理装置10の基本性能に基づく装置固有の値として、予め設定される。
ソフトウェア記憶手段13は、インストールされたシステムソフトウェアを複数格納するメモリ領域を具備する。図の例では、システムA領域13aと、システムB領域13bの2つの領域が用意されており、それぞれ異なる版数のシステムソフトウェアが格納されている。
版数情報取得手段14は、図示しない入力手段を介してアップデートの指示が入力されると、管理サーバ20に対し、指示に応じた版数のシステムソフトウェアに関する版数情報を要求する。たとえば、最新版に更新する場合は、最新版のシステムソフトウェアに関する版数情報を要求する。そして、管理サーバ20から要求した版数の版数情報を受信したら、この版数情報を処理時間算出手段15へ送る。
処理時間算出手段15は、版数情報取得手段14から取得した新たにインストールする新版数のシステムソフトウェアの版数情報を用いて、全更新処理、部分更新処理、及び複写後更新処理それぞれの処理による更新処理時間の予想値を算出する。全更新処理の場合は、新版数のシステムソフトウェアの全データで旧版数のシステムソフトウェア領域を更新するために要する時間を算出する。部分更新処理の場合は、旧版数ソフトウェアと新版数ソフトウェアの差分データで旧版数ソフトウェア領域を更新するための時間を算出する。なお、差分データは、双方のシステムソフトウェアの版数情報に基づき、各コンポーネントの版数を比較することによって検出する。すなわち、差分データは、双方のシステムソフトウェアの版数が異なるコンポーネントの集合を意味する。複写後更新の場合は、ソフトウェア記憶手段13に格納されている旧版数と新版数の間の中間版数のシステムソフトウェアを選択する。版数はソフトウェアの変更があるごとに更新されるので、旧版数よりも新版数に近い中間版数のソフトウェアは、旧版数と比較して、より新版数に類似していると推定できる。そして、中間版数のシステムソフトウェアで旧版数のシステムソフトウェア領域を書き換えた後、中間版数と新版数との差分データで中間版数のシステムソフトウェアに更新された旧版数のシステムソフトウェア領域を更新するために要する時間を算出する。算出した結果は、処理選択手段16へ送る。更新処理時間の算出の詳細は、後述する。
処理選択手段16は、処理時間算出手段15によって算出された、全更新処理、部分更新処理、及び複写後更新処理それぞれによる更新処理時間を比較し、最も時間の短い更新処理を選択する。
更新手段17は、処理選択手段16の選択した更新処理を用いて、対象の旧版数のシステムソフトウェアが格納されているソフトウェア記憶手段13の領域を、新版数のシステムソフトウェアに更新する。全更新が選択された場合は、管理サーバ20に対し、新版数のシステムソフトウェアに属する全データを要求し、転送された全データをソフトウェア記憶手段13の該当領域に書き込む。部分更新が選択された場合は、管理サーバ20に対し、旧版数のシステムソフトウェアから更新された差分データを要求し、転送された差分データによってソフトウェア記憶手段13に格納されている旧版数のシステムソフトウェアの該当領域を更新する。複写後更新が選択された場合は、ソフトウェア記憶手段13内で、複写元の版数のシステムソフトウェアに属する全データを対象の旧版数ソフトウェアの領域に複写する。続いて、管理サーバ20に対し、複写元の版数のシステムソフトウェアと新版数のシステムソフトウェアとの差分データを要求し、転送された差分データによって、旧版数のシステムソフトウェアの領域に格納されている複写元の版数のシステムソフトウェアの該当領域を更新する。さらに、管理情報記憶手段11に格納されている管理情報を更新し、旧版数のシステムソフトウェアの版数情報を削除し、新たにインストールした新版数のシステムソフトウェアの版数情報を登録する。
一方、管理サーバ20は、版数管理情報記憶手段21及びシステムソフトウェア記憶手段22の記憶手段と、版数情報通知手段23、差分データ抽出手段24、及び転送処理手段25を具備する。
版数管理情報記憶手段21には、システムソフトウェア記憶手段22に格納されているシステムソフトウェアの版数に関する版数管理情報が格納されている。
システムソフトウェア記憶手段22には、情報処理装置10のアップデートに利用される複数版数のシステムソフトウェアが格納されている。
版数情報通知手段23は、情報処理装置10から要求された版数のシステムソフトウェアに関する版数情報を版数管理情報記憶手段21から読み出し、読み出したデータを情報処理装置10へ送信する。
差分データ抽出手段24は、情報処理装置10から要求された新版数ソフトウェアと旧版数ソフトウェアの差分データをシステムソフトウェア記憶手段22から抽出し、転送処理手段25へ出力する。差分データには、全データも含まれる。
転送処理手段25は、差分データ抽出手段24が抽出した差分データを情報処理装置10へ転送する。
ここで、全更新、部分更新、及び複写後更新それぞれの更新処理手順と更新処理時間算出について説明する。以下の説明では、情報処理装置10のソフトウェア記憶手段13には、異なる3つの版数のシステムソフトウェアを格納するため、システムA領域13a、システムB領域13b、及びシステムC領域13cが用意されているとする。
図2は、実施の形態に適用される全更新処理を示した図である。
図に示したように、情報処理装置10のソフトウェア記憶手段13のシステムA領域13aには第1版、システムB領域13bには第2版、及びシステムC領域には第3版のシステムソフトウェアが格納されている。システムソフトウェアは、版数が大きくなるほど新しいものになっている。以下、最も古い第1版を最新の第4版にアップデートする場合について説明する。
全更新では、管理サーバ20に対し、第4版のシステムソフトウェアに属する全コンポーネントのデータを要求する。管理サーバ20は、要求に従って第4版の全コンポーネント・データを転送する。情報処理装置10では、転送された第4版の全コンポーネント・データを、第1版が格納されているシステムA領域13aに書き込み、システムソフトウェアを第1版から第4版にアップデートする。
ゆえに、更新処理に要する時間は、全体転送時間と全体書換時間とであり、
更新処理時間= [サイズ当たりの転送時間]×[全体サイズ]+[サイズ当たりの書換時間]×[全体サイズ] ・・・(1)
によって算出することができる。なお、サイズ当たりの転送時間は、管理サーバ20から情報処理装置10にデータを転送するために要する時間であり、時間情報記憶手段12に転送時間情報として設定されている。全体サイズは、第4版22aの全コンポーネント・データのサイズであり、版数情報取得手段14が取得した新版数のシステムソフトウェアの版数情報に基づいて算出される。サイズ当たりの書換時間は、ソフトウェア記憶手段13にデータ書き込みを行うために要する時間であり、時間情報記憶手段12に書換時間情報として設定されている。
全更新処理は、全データに対し、差分データ(コンポーネント数)が大きいような場合、部分更新処理などより処理時間が短くなる可能性がある。
図3は、実施の形態に適用される部分更新処理を示した図である。図2と同じものには同じ番号を付す。
部分更新では、旧版数のシステムソフトウェアから更新されたコンポーネントのコンポーネント・データのみを更新する。情報処理装置10は、管理サーバ20から取得した最新版数の版数情報と、更新対象の旧版数の版数情報とを比較し、版数が異なっているコンポーネント、すなわち、更新されているコンポーネントを検出する。そして、管理サーバ20に対し、更新されているコンポーネントのデータを要求する。管理サーバ20は、要求に従って、指定されたコンポーネントのデータを転送する。図の例では、更新されているコンポーネントとして、コンポーネント221、222、223が検出され、管理サーバ20に対してデータが要求される。管理サーバ20は、システムソフトウェア記憶手段22から該当するコンポーネント・データを抽出し、情報処理装置10に転送する。情報処理装置10では、取得した各コンポーネント・データを第1版が格納されているシステムA領域13aの対応領域221c、222c、223cに書き込み、第4版にアップデートする。
ゆえに、更新処理に要する時間は、各コンポーネントのデータ転送時間と、各コンポーネントの書換時間とに、書換位置のサーチなどのオーバヘッドを加えた時間であり、
更新処理時間= [サイズ当たりの転送時間]×[差分サイズ]+[サイズ当たりの書換時間]×[差分サイズ]+オーバヘッド時間 ・・・(2)
によって算出することができる。なお、差分サイズは、更新される各コンポーネント・データの合計サイズであり、管理サーバ20側で管理しているシステムソフトウェアの版数ごとの差分データのサイズである。部分更新処理では、差分データのみを更新するため、全データに対し、差分データ(コンポーネント数)が小さい場合は、全更新処理よりも処理時間が短くなる可能性が高い。
図4は、実施の形態に適用される複写後更新処理を示した図である。図2、図3と同じものには同じ番号を付す。
複写後更新では、情報処理装置10では、まず、各システムソフトウェアの版数情報に基づき、ソフトウェア記憶手段13に格納されているシステムソフトウェアのうち、所望する新版数(この例では、最新版の第4版)と最も差分の小さい版を検出する。ここでは、第3版のシステムソフトウェアが最新版との差分が最も小さく、コンポーネント223のみが異なるとする。そこで、最新版に最も類似すると判定された第3版のシステムソフトウェアを、第3版が格納されているシステムC領域13cから読み出し、第1版が格納されているシステムA領域13aに複写する。その後、第3版と第4版(最新版)の差分であるコンポーネント223を管理サーバ20に要求する。管理サーバ20は、要求に従って、指定されたコンポーネント223のデータを転送する。情報処理装置10では、取得したコンポーネント223によって第1版が格納されているシステムA領域13aの対応領域223cを更新し、第4版にアップデートする。
ゆえに、更新処理に要する時間は、全体の複写時間、各コンポーネントのデータ転送時間と書換時間、及びオーバヘッド時間とを合算した時間であり、
更新処理時間= [サイズ当たりの複写時間]×[全体サイズ]+[サイズ当たりの転送時間]×[差分サイズ]+[サイズ当たりの書換時間]×[差分サイズ]+オーバヘッド時間 ・・・(3)
によって算出することができる。なお、サイズ当たりの複写時間は、ソフトウェア記憶手段13内でデータを複写するために要する時間であり、時間情報記憶手段12に複写時間情報として設定されている。通常、ネットワークなどを介さない装置内での複写に要する時間は、ネットワークを介して行われる処理時間よりはるかに短い。また、差分データ(コンポーネント数)を部分更新の場合より少なくできるので、複写時間を考慮しても全更新や部分更新よりも処理時間が短くなる場合がある。
図1に戻って、このような構成の情報処理装置10と管理サーバ20とにおけるアップデート処理について説明する。
情報処理装置10では、図示しない入力手段を介して、所定の版数へのアップデートが指示されると、版数情報取得手段14が、アップデート・データを管理する管理サーバ20に対し、指定された版数のソフトウェアに関する版数管理情報を要求する。管理サーバ20の版数情報通知手段23は、要求を受信すると、版数管理情報記憶手段21から該当する版数情報を読み出し、情報処理装置10へ送信する。版数情報取得手段14は、受信した版数情報を処理時間算出手段15へ送る。
処理時間算出手段15では、全更新、部分更新、及び複写後更新に要する更新処理時間を算出する。全更新による更新処理時間は、式(1)を用いて、新版数の全データの転送時間と書換時間から算出する。部分更新による更新処理時間は、式(2)を用いて、更新される各コンポーネント・データの転送時間と書換時間、及びオーバヘッド時間から算出する。更新対象のコンポーネントは、ソフトウェア記憶手段13に格納されている更新対象の旧版数のシステムソフトウェアの版数情報を管理情報記憶手段11から読み出し、版数情報取得手段14が取得した新版数のシステムソフトウェアの版数情報と比較して検出する。複写後更新による更新処理時間は、式(3)を用いて、新版数に類似した版数のシステムソフトウェアへの複写時間、複写した版数から更新が必要な各コンポーネント・データの転送時間と書換時間、及びオーバヘッド時間から算出する。複写元の版数は、ソフトウェア記憶手段13に格納されている旧版数以外の版数のシステムソフトウェアに関する版数情報を管理情報記憶手段11から読み出し、版数情報取得手段14が取得した新版数のシステムソフトウェアの版数情報と比較して検出する。また、複写後のシステムソフトウェアからさらに更新が必要なコンポーネントは、複写元のシステムソフトウェアの版数情報と、新版数のシステムソフトウェアの版数情報を比較して検出する。なお、情報処理装置10に1つのシステムを格納する領域しか用意されていない場合は、複写後更新による更新処理時間は算出しない。
処理選択手段16は、処理時間算出手段15が算出した、全更新による更新処理時間、部分更新による更新処理時間、及び複写後更新処理が実行可能であった場合は複写後更新による更新処理時間を比較し、最も更新処理時間が短い更新方法を選択する。更新手段17は、処理選択手段16が選択した更新処理に基づき、更新対象の旧版数のシステムソフトウェアが格納されているソフトウェア記憶手段13の領域を、要求された新版数のシステムソフトウェアに書き換え、アップデートを完了する。なお、アップデートに伴って、管理情報記憶手段11の管理情報も更新される。
以上の処理手順が実行されることにより、状況に応じて変化するそれぞれの更新処理手順における更新処理時間が算出され、算出された更新処理時間に基づき、今回のアップデートにおいて時間的に最短となる更新処理手順が決定されて実行される。したがって、どのような状況下においても、最も処理時間の短い処理手順でアップデートを行うことができる。
なお、上記の説明では、管理サーバ20が保有するコンポーネントをダウンロードしてソフトウェアの更新処理を行うとしたが、CD(Compact Disc)などの記録媒体に記録されたコンポーネントを読み出してソフトウェア更新処理を行う場合にも本発明を適用することができる。たとえば、予め、記録媒体の所定の領域に、コンポーネントとコンポーネントの格納情報とともに、版数管理情報を記録しておく。情報処理装置10の版数情報取得手段14では、記録媒体の所定の領域に格納されている版数管理情報を読み出し、任意の新版数ソフトウェアの版数情報を取得する。処理時間算出手段15では、全更新処理、部分更新処理、及び複写後更新処理による更新処理時間をそれぞれ算出する。このとき、転送時間は、記録媒体からのデータ転送時間とする。また、記録媒体のシークタイムなどを考慮し、オーバヘッド時間を算出してもよい。処理選択手段16は、更新処理時間が最短の更新処理を選択する。そして、更新手段17は、管理サーバ20からコンポーネントを取得する代わりに、記録媒体からコンポーネントを読み出し、選択された更新処理を実行する。
このように、任意の版数のソフトウェアが格納されている記録媒体を用いる場合にも、最短時間でアップデートを行うことができる。
以下、実施の形態を、装置内に複数の版数のソフトウェアシステムを格納する領域を具備し、用途によってソフトウェアシステムを切り替えて運用されるクライアントのアップデートシステムに適用した場合を例に図面を参照して詳細に説明する。
図5は、本発明の実施の形態のシステム構成を示す構成である。
本発明の実施の形態のアップデートシステムは、不特定多数のクライアント、図では、クライアントa100a、クライアントb100b、クライアントc100c、及びクライアントd100dが、ネットワーク300を介して複数版数のソフトウェアシステムのデータを管理する管理サーバ200と接続する。
クライアントa100aは、複数のソフトウェアシステム(以下、システムとする)を記憶する記憶部130を具備し、記憶部130に格納されているシステムを切り替えて運用される。図の例では、記憶部130には、システムA131、システムB132、システムC133、及びシステムD134の4つのシステムを格納する領域が確保されている。本実施の形態のアップデート処理部180は、図示しない入力手段によってアップデート指示が入力されると、記憶部130に格納されているシステムのうち、最も古い版数のシステム・データを削除し、そのシステム領域を最新版数のシステム・データに更新するアップデート処理を行う。なお、内部構成を図示していないクライアントb100b、クライアントc100c、及びクライアントd100dは、クライアントa100aと同様の構成をとる。
管理サーバ200は、データベース210に格納されている複数の版数のシステムに属するコンポーネントのデータを管理する。また、ネットワーク300を介して不定期に入力されるクライアントからの要求を受けて、版数管理情報や要求された版数のコンポーネントのデータを要求元のクライアントに提供する。
ここで、クライアント100のハードウェア構成について説明する。図6は、本実施の形態のクライアントのハードウェア構成例を示すブロック図である。
クライアント100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、通信インタフェース106が接続されている。
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納されている。また、RAM102には、CPU101による処理に必要な各種データが格納されている。HDD103には、OSやアプリケーションのプログラムが格納されている。複数のシステムを記憶する記憶部130は、このHDD103に設けられる。グラフィック処理装置104には、モニタ108が接続されており、CPU101からの命令に従って画像をモニタ108の画面に表示させる。入力インタフェース105には、キーボード109aやマウス109bが接続されており、キーボード109aやマウス109bから送られてくる信号を、バス107を介してCPU101に送信する。なお、入力インタフェース105には、リモートコントローラなどが接続されていてもよい。通信インタフェース106は、ネットワーク300に接続されており、ネットワーク300を介して管理サーバ200との間でデータの送受信を行う。
このようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図6には、クライアントのハードウェア構成を示したが、管理サーバのハードウェア構成も同様である。
次に、クライアントのアップデート処理に関するソフトウェア構成について説明する。
図7は、本実施の形態のクライアントのアップデート処理部のソフトウェア構成例を示すブロック図である。図5と同じものには同じ番号を付し、説明は省略する。図には、アップデート処理部180とともに、アップデート処理部180と関連する通信処理部190及び各記憶部を示している。
本発明の実施の形態のクライアントのアップデート処理部180は、管理サーバ200から最新版のシステムに関する版数情報を取得する版数情報取得部140、それぞれの更新処理方法による更新処理時間を算出する処理時間算出部150、アップデート処理時間が最短の更新方法を選択する選択部160、及び選択された更新方法でアップデートを行う更新部170を具備し、アップデート指示が入力されると、最も古いシステムを最新版に更新する。また、管理情報記憶部110は、記憶部130に格納されているシステムに関する管理情報を格納する記憶手段である。時間情報記憶部120は、更新処理時間算出時に必要な各種パラメータの値を格納する記憶手段である。記憶部130は、複数の異なる版数のシステムを格納する記憶手段であり、それぞれの領域には、a、b、cの3つのコンポーネントより構成される任意の版数のシステムが格納されている。図では、A−aは、システムA領域131のコンポーネントaを表す。同様に、A−bは、システム領域A131のコンポーネントbを表し、A−cは、システムA領域131のコンポーネントcを表す。システムB領域132、システムC領域133、及びシステムD領域134についても同様である。通信処理部190は、クライアント100と管理サーバ200との間の通信を制御する。
版数情報取得部140は、通信処理部190を介して管理サーバ200に対し、インストールする最新版数のシステムに関する版数情報を要求し、これを取得する。
処理時間算出部150は、全更新処理時要する時間を算出する全更新処理時間算出(モジュール)151、部分更新処理時間算出(モジュール)152、及び複写後更新処理時間算出(モジュール)153を具備し、それぞれの処理による更新処理時間を算出する。選択部160は、処理時間算出部150が算出した更新処理時間に基づき、処理時間が最短の更新処理を選択する。
更新部170は、全更新処理を行う全更新処理(モジュール)171、部分更新処理を行う部分更新処理(モジュール)172、及び複写後更新処理を行う複写後更新処理(モジュール)173を具備し、選択部160の選択に基づいて、このうちの1つのモジュールによる更新処理を実行させる。
次に、管理情報記憶部110及び時間情報記憶部120に格納されている管理情報と時間情報について説明する。
図8は、本実施の形態のクライアントが具備する管理情報の一例を示す図である。
管理情報記憶部110には、管理情報として、クライアント100が保有する全システムに関する全体情報401と、各領域に格納されている個別のシステムに関する領域別情報402とがある。
全体情報401には、クライアント100が保有する所有システム数と、システムが有するコンポーネント数が設定される。図の例では、記憶部130には、システム版数3、4、5、6の4世代のシステムが格納されていること、及び、システムは、コンポーネント名a、b、cの3つのコンポーネントを有していることが設定されている。
領域別情報402には、記憶部130に用意されている領域(システムA領域、システムB領域、システムC領域、及びシステムD領域)ごとに、そのシステム版数、このシステム版数に属するコンポーネントの版数と、データサイズが設定されている。たとえば、システムD領域には、コンポーネントaの版数が1(サイズ=100KB)、コンポーネントbの版数が2(サイズ=110KB)、コンポーネントcの版数が5(サイズ=130KB)であるシステム版数6が格納されていることが設定されている。同様に、システムC領域には、コンポーネントaは版数が1(サイズ=100KB)、コンポーネントbは版数が2(サイズ=110KB)、コンポーネントcは版数が4(サイズ=120KB)であるシステム版数5が格納されていることが設定されている。システムB領域には、コンポーネントaは版数が1(サイズ=100KB)、コンポーネントbは版数が1(サイズ=100KB)、コンポーネントcは版数が4(サイズ=120KB)であるシステム版数4が格納されていることが設定されている。そして、システムA領域には、コンポーネントaは版数が1(サイズ=100KB)、コンポーネントbは版数が1(サイズ=100KB)、コンポーネントcは版数が3(サイズ=120KB)であるシステム版数3が格納されていることが設定されている。
図9は、本実施の形態のクライアントが具備する時間情報の一例を示す図である。
時間情報記憶部120には、時間情報として、管理サーバ200からデータをダウンロードする転送時間を算出するための転送時間情報411、記憶部130のデータを書き換える時間を算出するための書換時間情報412、及び記憶部130内のデータコピー時間を算出するための複写時間情報413が格納されている。
転送時間情報411は、サイズ当たりの転送時間であり、管理サーバ200との通信時に実際の転送時間の計測値に基づき設定される。たとえば、更新処理を行った際に、通信に要した転送時間を計測し、そのときの転送データサイズからサイズ当たりの転送時間を算出する。算出した値は、転送時間情報411に登録しておき、次回の更新処理で利用する。また、更新処理を行う前に、規定サイズのダミーのデータを送受信し、このときの転送時間とデータサイズから算出してもよい。
書換時間情報412は、サイズ当たりの書換時間と、オーバヘッド(書換準備時間)とである。これらの値は、CPUの性能など装置に固有の値であるので、予め、装置性能に応じた固定値が設定される。図の例では、サイズ当たりの書換時間が、2.5秒/MB、オーバヘッド時間が1.0秒に設定されている。なお、オーバヘッド時間は、正確にはコンポーネント数などに応じて変化するが、その変化分は小さいので固定としている。必要であれば、コンポーネント数に応じた変数データとしてもよい。
複写時間情報413は、サイズ当たりの複写時間が設定される。サイズ当たりの複写時間は、書換時間と同様、装置に固有の値であるので、予め装置性能に応じて設定される。
次に、管理サーバ側が保持する情報について説明する。
図10は、本実施の形態の管理サーバが具備する版数管理情報の一例を示す図である。
管理サーバ200のデータベース210には、各システム版数のコンポーネントのデータとともに、システム版数を管理するための版数管理情報が格納されている。版数管理情報には、管理サーバ200が管理するシステム版数全体の全体情報421と、システム版数ごとの版数別情報422とがある。
全体情報421には、管理サーバ200が保有する所有システム世代数と、現在管理している管理システム数、及びシステムが有するコンポーネント数が設定される。図の例では、システム版数1から7の7世代のシステムを保有して管理しており、システムはコンポーネント名a、b、cの3つのコンポーネントを有していることが設定されている。
版数別情報422には、管理対象のシステム版数ごとに、そのシステム版数の値、このシステム版数に属するコンポーネントの版数と、データサイズが設定されている。その構成要素は、図8に示したクライアント100の管理情報と同様である。
以上の構成のアップデートシステムによるアップデート動作及びアップデート方法について説明する。
図11は、本実施の形態におけるクライアントと管理サーバ間のやり取りを示した図である。図5と同じものには同じ番号を付し、説明は省略する。なお、管理サーバ200の版数情報通知部230は、図1に示した版数情報通知手段23、差分データ抽出部240は、差分データ抽出手段24、及び転送処理部250は、転送処理手段25と同様の処理を実行する。
クライアント100に対し、アップデート要求が入力されると、クライアント100の版数情報取得部140は、管理サーバ200に対し、最新版のシステムに関する版数情報要求メッセージ501を送信する。このとき、版数情報要求メッセージ501には、管理情報記憶部110に格納されている管理情報(領域別情報402)を参照し、クライアント100が保有するシステムの中で最も新しい版数(=6)に関する保有版数情報を添付し、管理サーバ200に保有する最新版数を通知する。管理サーバ200は、版数情報要求メッセージ501を受信すると、版数情報通知部230が、データベース210に格納されている版数管理情報の版数別情報422から、最新版数(=7)の版数情報を抽出する。なお、版数情報通知の際に、クライアント100から送信されたクライアント100が保有する最新の版数と、管理サーバ200が保有する最新版数とを照合し、一致しているかどうかを判定してもよい。一致している場合、クライアント100は最新版数を保有していると判定し、アップデートの必要がない旨をクライアント100に通知する。一致していない場合は、管理サーバ200の持つ最新版数の版数情報を最新版数情報メッセージ502に添付し、応答メッセージとして送信する。この場合の最新版数情報メッセージ502には、最新版(=7)の版数情報(システム版数=7、コンポーネントaは、版数=1、サイズ=100KB、コンポーネントbは、版数=2、サイズ=110KB、コンポーネントcは、版数=6、サイズ=150KB)が設定されている。
最新版数情報メッセージ502を受信したクライアント100は、更新対象をシステムA領域に格納されている最も古い版数3とし、処理時間算出部150で、全更新処理、部分更新処理、及び複写後更新処理に要する処理時間を算出する。そして、算出結果に基づき、選択部160により最短の処理時間の更新処理を選択する。
図の例を用いて具体的に説明する。
全更新の場合は、最新版数情報メッセージ502に基づき、最新版(=7)の全データサイズとして、各コンポーネントの合計サイズを算出する。図の例では、全データサイズ=コンポーネントa(100)+コンポーネントb(110)+コンポーネントc(150)=360KBとなる。算出された全データサイズ、転送時間情報411に設定されるサイズ当たり転送時間、及び書換時間情報412に設定されるサイズ当たり書換時間を式(1)に代入し、全更新の更新処理時間を算出する。
部分更新の場合は、更新対象の旧版数(=7)の版数情報を管理情報記憶部110から読み出し、最新版数情報メッセージ502の最新版(=7)に属するコンポーネントの版数と比較する。この場合、コンポーネントbとコンポーネントcとが更新されていることがわかる。そこで、最新版数情報メッセージ502のコンポーネントb及びコンポーネントcのデータサイズと、転送時間情報411に設定されるサイズ当たり転送時間、及び書換時間情報412に設定されるサイズ当たり書換時間とオーバヘッド時間とを式(2)に代入し、部分更新の更新処理時間を算出する。
複写後更新の場合は、まず、複写元のシステムを検索する。最新版数情報メッセージ502の最新版(=7)の各コンポーネントの版数と、管理情報記憶部110に格納されているクライアント100が保持する各システムのコンポーネントの版数を比較し、最も類似する版数を検出する。この例では、コンポーネントcのみが異なるシステムD領域の版数6のシステムと、システムC領域の版数5のシステムが検出される。複数検出された場合、予め設定されるルールに従って複写元を決める。たとえば、「複数検出された場合、より新しい版数を選択する。」というルールであれば、版数6のシステムが選択される。また、「複数検出された場合、複写データサイズが小さい方を選択する。」というルールであれば、版数5が選択される。ルールは、システムに応じて適宜設定される。こうして選択された版数の全データサイズと、サイズ当たりの複写時間とから、式(3)の前半の複写に要する時間が算出される。また、さらに式(3)の後半部のダウンロードされるコンポーネントcに関する更新処理時間は、部分更新処理と同様にして算出される。
選択部160は、上記の処理手順で算出された更新処理時間を比較し、最短の処理時間の更新処理を選択する。ここでは、部分更新処理が選択されたとする。
更新部170は、選択された更新処理に従ってアップデート処理を行う。ここでは、部分更新処理が選択されたので、管理サーバ200に対し、必要なコンポーネントを指定した差分データ要求メッセージ503を送信する。図の例では、コンポーネントbとコンポーネントcが必要であるので、必要個数(=2)と、各コンポーネント名(bとc)がメッセージに設定されている。なお、全更新処理が選択された場合は、全コンポーネント(aとbとc)を差分データとして要求する。また、複写後更新処理が選択された場合は、複写元の版数のシステム・データで対象のシステムA領域を書き換えた後、差分データとしてコンポーネントcを要求するメッセージを送信する。
管理サーバ200の差分データ抽出部240は、差分データ要求メッセージ503を受信すると、メッセージを解析し、要求されたコンポーネント・データをデータベース210から抽出する。そして、抽出したコンポーネント・データを差分データメッセージ504に添付し、転送処理部250によって、応答メッセージとしてクライアント100へ送信する。差分データメッセージ504には、要求されたコンポーネントについて、コンポーネント名、版数、サイズとともにデータが添付されている。
クライアント100の更新部170は、差分データメッセージ504を受信すると、メッセージに含まれるデータで該当コンポーネントを更新する。また、管理情報記憶部110の管理情報も更新する。
以上の処理手順が実行され、最短の処理時間でアップデートが行われるようになる。
次に、本実施の形態のアップデート方法による処理手順について、クライアント100、管理サーバ200の順に説明する。
図12は、本実施の形態のクライアントのアップデート処理手順を示したフローチャートである。
クライアント100は、アップデート指示(最新版へのアップデート)が入力されると、処理を開始する。
[ステップS11] 更新対象の旧システム版数の版数情報とともに、最新版数情報を要求する版数情報要求メッセージ501を管理サーバ200へ送信する。更新対象のシステムは、たとえば、最も古い版数など、あらかじめ設定されたルールに基づいて選択される。また、ユーザがアップデート要求時に指定できるようにしてもよい。
[ステップS12] 版数情報要求メッセージ501に対する応答メッセージとして、最新版数情報メッセージ502が管理サーバ200から送信されるのを待つ。最新版数情報メッセージ502を受信したら、処理をステップS13へ進める。
[ステップS13] 最新版数情報メッセージ502を受信したら、最新版数情報メッセージ502に含まれる最新版数情報を取り出し、クライアント100が保有するシステムの管理情報、時間情報を参照して、各更新処理に要する更新処理時間を算出する。全更新処理による更新処理時間は、最新版数情報から最新版数の全データサイズを算出し、式(1)を用いて算出する。部分更新処理による更新処理時間は、最新版数情報と管理情報に基づき、最新版数と更新対象の旧システム版数との差分データを検出し、式(2)を用いて算出する。複写後更新処理による更新処理時間は、最新版数情報と管理情報に基づき、複写元の版数を決定するとともに、最新版数と複写元の版数との差分データを検出する。そして、これらのデータを式(3)に適用し、算出する。
[ステップS14] ステップS13による更新処理時間算出結果を比較し、処理時間が最短の更新処理を選択する。そして、選択された更新処理が複写後更新処理であるかどうかを判定する。複写後更新処理でなければ、処理をステップS16へ進める。
[ステップS15] 複写後更新処理が選択された場合、複写元に決定されたシステムを更新対象の旧システム版数の領域にコピーする。
[ステップS16] 差分データ(更新に必要なコンポーネント)を要求する差分データ要求メッセージ503を生成し、管理サーバ200へ送信する。全更新処理の場合、差分データは、全コンポーネント・データになる。部分更新処理の場合、差分データは、旧システム版数と最新版との差分のコンポーネント・データになる。複写後更新処理の場合、差分データは、複写元のシステム版数と最新版との差分のコンポーネント・データになる。
[ステップS17] 差分データ要求メッセージ503に対する応答メッセージとして、差分データメッセージ504が管理サーバ200から送信されるのを待つ。差分データメッセージ504を受信したら、処理をステップS18へ進める。
[ステップS18] ステップS17で受信した差分データメッセージ504に基づき、旧システム版数の領域を更新する。
以上の処理手順が実行されることにより、クライアント100は、アップデート要求があると、実行可能な各更新処理に要する更新処理時間を算出する。そして、処理時間が最短の更新処理を選択し、アップデート処理を行う。
図13は、本実施の形態の管理サーバのアップデート処理手順を示したフローチャートである。
管理サーバ200は、クライアント100からの要求メッセージを受信すると、その要求に応じて処理を行う。
[ステップS21] クライアント100から要求メッセージを受信すると、要求メッセージが最新版の版数情報を要求する版数情報要求メッセージ501であるかどうかを判定する。版数情報要求メッセージ501でなければ、処理をステップS23へ進める。
[ステップS22] 受信した要求メッセージが、版数情報要求メッセージである場合、データベース210に格納されている最新版の版数情報を読み出し、最新版数情報メッセージ502を生成してクライアント100に送信し、処理を終了する。なお、受信した版数情報要求メッセージ501に設定されるクライアント100が保有する最新のシステム版数が、最新版である場合には、クライアント100に対し、更新の必要がないことを通知する。
[ステップS23] 受信した要求メッセージが版数情報要求メッセージ501でない場合、要求メッセージが差分データ要求メッセージ503であるかどうかを判定する。差分データ要求メッセージ503でない場合、処理を終了する。
[ステップS24] 受信した要求メッセージが差分データ要求メッセージ503の場合、要求された差分データ(指定コンポーネント)のデータを抽出し、差分データメッセージ504としてクライアント100に送信し、処理を終了する。なお、全更新の場合は、クライアント100が差分データ要求メッセージ503に全コンポーネントを指定してくるので、指定に従って全データを送信する。
以上の処理手順が実行されることにより、クライアント100は、管理サーバ200から所望のデータを取得することができる。
このように、アップデートに必要な差分データの指定や、更新処理の選択はクライアント100で実行し、管理サーバ200は、要求されたデータを抽出して送信する処理のみを実行する。図5に示したように、管理サーバ200は、不特定多数のクライアントからの要求を処理するため、管理サーバ200に負荷がかかると、クライアント100のアップデート処理が遅延する恐れがある。したがって、クライアント100で差分データの決定処理などをすべて行うことにより、管理サーバ200の負荷を軽減し、システム全体の処理効率を上げることができる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、クライアントの情報処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
(付記1) インストールされている旧版数のソフトウェアを要求された任意の新版数のソフトウェアに更新するソフトウェアの更新処理プログラムにおいて、
コンピュータを、
所定の版数のソフトウェアに関する版数情報が記録される版数管理情報から、要求された任意の新版数ソフトウェアの版数情報を取得する版数情報取得手段、
取得した前記新版数ソフトウェアの版数情報と、ソフトウェア記憶手段に格納されている更新対象の旧版数ソフトウェアの版数情報とに基づき、前記旧版数ソフトウェア全体を前記新版数ソフトウェアへ更新する全更新処理による更新処理時間、前記旧版数ソフトウェアと前記新版数ソフトウェアとの第1の差分データを更新する部分更新処理による更新処理時間、及び前記ソフトウェア記憶手段に格納されている前記旧版数ソフトウェアと前記新版数ソフトウェアとの間の中間版数ソフトウェアを前記旧版数ソフトウェアの格納領域に複写した後、前記中間版数ソフトウェアと前記新版数ソフトウェアとの第2の差分データを更新する複写後更新処理による更新処理時間をそれぞれ算出する処理時間算出手段、
前記処理時間算出手段によって算出された各々の更新処理時間を比較し、最も更新時間が短い更新処理を選択する処理選択手段、
前記処理選択手段によって選択された前記全更新処理、前記部分更新処理、または前記複写後更新処理のいずれかによって、前記ソフトウェア記憶手段に格納されている前記旧版数ソフトウェアを前記新版数ソフトウェアに更新する更新手段、
として機能させることを特徴とするソフトウェアの更新処理プログラム。
(付記2) 前記処理時間算出手段は、
前記全更新処理による更新処理時間を、前記新版数ソフトウェアの全データを対象データとし、前記対象データを前記新版数ソフトウェアが格納される領域から前記コンピュータに転送する転送時間を算出するとともに、転送された前記対象データで前記旧版数ソフトウェアが格納されている該当領域を書き換える書換時間とを算出し、前記全データを対象とする前記転送時間と前記書換時間を合算して算出し、
前記部分更新処理による更新処理時間を、前記旧版数ソフトウェアの前記新版数ソフトウェアに対する前記第1の差分データを前記対象データとして前記転送時間、前記書換時間及び前記書換位置の位置決めを含むオーバヘッド時間を算出し、前記第1の差分データを対象とする前記転送時間、前記書換時間、及び前記オーバヘッド時間を合算して算出し、
前記ソフトウェア記憶手段に複数の異なる版数のソフトウェアが格納されている場合に、前記複写後更新処理による更新処理時間を、前記ソフトウェア記憶手段に格納されている前記中間版数ソフトウェアの全データを前記旧版数ソフトウェアが格納されている該当領域へ複写する複写時間と、前記中間版数ソフトウェアの前記新版数ソフトウェアに対する前記第2の差分データを前記対象データとして前記転送時間、前記書換時間、前記オーバヘッド時間を算出し、前記第2の差分データを対象とする前記転送時間、前記書換時間、及び前記オーバヘッド時間と、前記複写時間とを合算して算出する、
ことを特徴とする付記1記載のソフトウェアの更新処理プログラム。
(付記3) 前記版数情報には、各々版数によって更新管理がされる複数のコンポーネントから成る前記ソフトウェアに関し、前記所定の版数のソフトウェアに属する前記コンポーネントの版数が設定されており、
前記処理時間算出手段は、前記旧版数ソフトウェアの版数情報または前記中間版数ソフトウェアの版数情報と、前記新版数ソフトウェアの版数情報とに基づき、双方の版数に属する前記コンポーネントの版数を照合し、異なる版数の前記コンポーネントの集合を前記第1の差分データ及び前記第2の差分データとする、
ことを特徴とする付記1記載のソフトウェアの更新処理プログラム。
(付記4) 前記処理時間算出手段は、
前記ソフトウェア記憶手段に複数の異なる版数のソフトウェアが格納されている場合に、前記新版数ソフトウェアの版数情報と、前記ソフトウェア記憶手段に格納されている前記複数の異なる版数のソフトウェアそれぞれの版数情報とを比較し、前記新版数ソフトウェアに属するコンポーネントの版数に最も類似する版数情報を有するソフトウェアを前記中間版数ソフトウェアとして前記複写後更新処理による更新処理時間を算出する、
ことを特徴とする付記3記載のソフトウェアの更新処理プログラム。
(付記5) 前記新版数ソフトウェアは、前記コンピュータとネットワークを介して接続する管理サーバに格納されており、
前記版数情報取得手段は、前記新版数ソフトウェアを管理する前記管理サーバに対し、前記新版数ソフトウェアに関する版数情報の要求を送信し、要求に応じて前記管理サーバが生成した前記新版数ソフトウェアに関する版数情報を受信することによって、前記新版数ソフトウェアの版数情報を取得し、
前記処理時間算出手段は、要求データが前記管理サーバから前記ネットワークを介して転送される時間を前記転送時間とし、
前記更新手段は、前記処理選択手段によって前記全更新処理が選択された場合は、前記新版数ソフトウェアの全データを前記管理サーバに要求し、前記部分更新処理が選択された場合は、前記第1の差分データを前記管理サーバに要求し、前記複写後更新処理が選択された場合は、前記第2の差分データを前記管理サーバに要求し、要求に応じて前記管理サーバが送信したデータを受信し、受信データに基づき該当領域を更新する、
ことを特徴とする付記1記載のソフトウェアの更新処理プログラム。
(付記6) 前記処理時間算出手段は、前記全更新処理による更新処理時間を、
前記新版数ソフトウェアに属する全データを、前記ネットワークを介して前記管理サーバから転送する場合に要する全データ転送時間と、前記管理サーバより転送された前記新版数ソフトウェアに属する全データで前記ソフトウェア記憶手段の該当領域を書き換える全データ書換時間とを算出し、算出された前記全データ転送時間と前記全データ書換時間とを合算して求める、
ことを特徴とする付記5記載のソフトウェアの更新処理プログラム。
(付記7) 前記版数情報には、各々版数によって更新管理がされる複数のコンポーネントから成る前記ソフトウェアに関し、前記所定の版数のソフトウェアに属する前記コンポーネントの版数が設定されており、
前記処理時間算出手段は、前記部分更新による更新処理時間を、
前記新版数ソフトウェアに属するコンポーネントの版数と、前記旧版数ソフトウェアに属するコンポーネントの版数とを照合して、版数が異なる更新が必要なコンポーネントを特定し、前記更新が必要なコンポーネントのデータを、前記ネットワークを介して前記管理サーバから転送する場合に要するコンポーネント転送時間と、前記管理サーバより転送された前記更新が必要なコンポーネントのデータで前記ソフトウェア記憶手段の該当領域を書き換えるコンポーネント書換時間と、書換時のオーバヘッド時間とを算出し、算出された前記コンポーネント転送時間、前記コンポーネント書換時間、及び前記オーバヘッド時間を合算して求める、
ことを特徴とする付記5記載のソフトウェアの更新処理プログラム。
(付記8) 前記版数情報には、各々版数によって更新管理がされる複数のコンポーネントから成る前記ソフトウェアに関し、前記所定の版数のソフトウェアに属する前記コンポーネントの版数が設定されており、
前記処理時間算出手段は、前記複写後部分更新による更新処理時間を、
前記旧版数ソフトウェアの領域を前記中間版数ソフトウェアで書き換える複写時間と、前記新版数ソフトウェアに属するコンポーネントの版数と、前記中間版数ソフトウェアに属するコンポーネントの版数とを照合して特定される前記更新が必要なコンポーネントのデータを前記管理サーバから転送する前記コンポーネント転送時間と、前記管理サーバより転送された前記更新が必要なコンポーネントのデータで前記ソフトウェア記憶手段の該当領域を書き換える前記コンポーネント書換時間と、前記オーバヘッド時間とを算出し、算出された前記複写時間、前記コンポーネント転送時間、前記コンポーネント書換時間、及び前記オーバヘッド時間を合算して求める、
ことを特徴とする付記5記載のソフトウェアの更新処理プログラム。
(付記9) 前記処理時間算出手段は、
前記ネットワークを介して前記管理サーバから転送する場合に要する転送時間を、前記更新処理によるデータ転送時に計測して計測データを保管しておくか、あるいは、前記処理時間算出手段による処理時間算出の前にダミーデータを転送して計測して、実際のデータ転送時間を用いて前記更新処理時間を算出する、
ことを特徴とする付記5記載のソフトウェアの更新処理プログラム。
(付記10) 前記版数情報取得手段は、前記管理サーバに対し、前記ソフトウェア記憶手段に格納されている前記ソフトウェアのうち最も新しい版数に関する保有版数情報を前記版数情報の要求に添付して送信し、前記保有版数情報に基づき更新の要否を判定する前記管理サーバから更新不要の通知を受信した場合は、以降の更新処理を行わない、
ことを特徴とする付記5記載のソフトウェアの更新処理プログラム。
(付記11) 前記新版数ソフトウェアは、前記コンピュータが読み取り可能な記録媒体に格納されており、
前記版数情報取得手段は、前記記録媒体の所定の領域に格納されている前記新版数ソフトウェアに関する版数情報を読み出して取得し、
前記更新手段は、前記処理選択手段によって前記全更新処理が選択された場合は、前記新版数ソフトウェアの全データを前記記録媒体から読み出し、前記部分更新処理が選択された場合は、前記第1の差分データを前記記録媒体から読み出し、前記複写後更新処理が選択された場合は、前記第2の差分データを前記記録媒体から読み出し、読み出したデータに基づき該当領域を更新する、
ことを特徴とする付記1記載のソフトウェアの更新処理プログラム。
(付記12) インストールされている旧版数のソフトウェアを要求された任意の新版数のソフトウェアに更新するソフトウェアの更新処理装置において、
前記インストールされたソフトウェアを格納するソフトウェア記憶手段と、
所定の版数のソフトウェアに関する版数情報が記録される版数管理情報から、要求された任意の新版数ソフトウェアの版数情報を取得する版数情報取得手段と、
取得した前記新版数ソフトウェアの版数情報と、前記ソフトウェア記憶手段に格納されている更新対象の旧版数ソフトウェアの版数情報とに基づき、前記旧版数ソフトウェア全体を前記新版数ソフトウェアへ更新する全更新処理による更新処理時間、前記旧版数ソフトウェアと前記新版数ソフトウェアとの第1の差分データを更新する部分更新処理による更新処理時間、及び前記ソフトウェア記憶手段に格納されている前記旧版数ソフトウェアと前記新版数ソフトウェアとの間の中間版数ソフトウェアを前記旧版数ソフトウェアの格納領域に複写した後、前記中間版数ソフトウェアと前記新版数ソフトウェアとの第2の差分データを更新する複写後更新処理による更新処理時間をそれぞれ算出する処理時間算出手段と、
前記処理時間算出手段によって算出された各々の更新処理時間を比較し、最も更新時間が短い更新処理を選択する処理選択手段と、
前記処理選択手段によって選択された前記全更新処理、前記部分更新処理、または前記複写後更新処理のいずれかによって、前記ソフトウェア記憶手段に格納されている前記旧版数ソフトウェアを前記新版数ソフトウェアに更新する更新手段と、
を有することを特徴とするソフトウェアの更新処理装置。
(付記13) 前記処理時間算出手段は、
前記全更新処理による更新処理時間を、前記新版数ソフトウェアの全データを対象データとし、前記対象データを前記新版数ソフトウェアが格納される領域から前記コンピュータに転送する転送時間を算出するとともに、転送された前記対象データで前記旧版数ソフトウェアが格納されている該当領域を書き換える書換時間とを算出し、前記全データを対象とする前記転送時間と前記書換時間を合算して算出し、
前記部分更新処理による更新処理時間を、前記旧版数ソフトウェアの前記新版数ソフトウェアに対する前記第1の差分データを前記対象データとして前記転送時間、前記書換時間及び前記書換位置の位置決めを含むオーバヘッド時間を算出し、前記第1の差分データを対象とする前記転送時間、前記書換時間、及び前記オーバヘッド時間を合算して算出し、
前記ソフトウェア記憶手段に複数の異なる版数のソフトウェアが格納されている場合に、前記複写後更新処理による更新処理時間を、前記ソフトウェア記憶手段に格納されている前記中間版数ソフトウェアの全データを前記旧版数ソフトウェアが格納されている該当領域へ複写する複写時間と、前記中間版数ソフトウェアの前記新版数ソフトウェアに対する前記第2の差分データを前記対象データとして前記転送時間、前記書換時間、前記オーバヘッド時間を算出し、前記第2の差分データを対象とする前記転送時間、前記書換時間、及び前記オーバヘッド時間と、前記複写時間とを合算して算出する、
ことを特徴とする付記12記載のソフトウェアの更新処理装置。
(付記14) 前記版数情報には、各々版数によって更新管理がされる複数のコンポーネントから成る前記ソフトウェアに関し、前記所定の版数のソフトウェアに属する前記コンポーネントの版数が設定されており、
前記処理時間算出手段は、前記旧版数ソフトウェアの版数情報または前記中間版数ソフトウェアの版数情報と、前記新版数ソフトウェアの版数情報とに基づき、双方の版数に属する前記コンポーネントの版数を照合し、異なる版数の前記コンポーネントの集合を前記第1の差分データ及び第2の差分データとする、
ことを特徴とする付記12記載のソフトウェアの更新処理装置。
(付記15) 前記処理時間算出手段は、
前記ソフトウェア記憶手段に複数の異なる版数のソフトウェアが格納されている場合に、前記新版数ソフトウェアの版数情報と、前記ソフトウェア記憶手段に格納されている前記複数の異なる版数のソフトウェアそれぞれの版数情報とを比較し、前記新版数ソフトウェアに属するコンポーネントの版数に最も類似する版数情報を有するソフトウェアを前記中間版数ソフトウェアとして前記複写後更新処理による更新処理時間を算出する、
ことを特徴とする付記14記載のソフトウェアの更新処理装置。
(付記16) 前記新版数ソフトウェアは、前記コンピュータとネットワークを介して接続する管理サーバに格納されており、
前記版数情報取得手段は、前記新版数ソフトウェアを管理する前記管理サーバに対し、前記新版数ソフトウェアに関する版数情報の要求を送信し、要求に応じて前記管理サーバが生成した前記新版数ソフトウェアに関する版数情報を受信することによって、前記新版数ソフトウェアの版数情報を取得し、
前記処理時間算出手段は、要求データが前記管理サーバから前記ネットワークを介して転送される時間を前記転送時間とし、
前記更新手段は、前記処理選択手段によって前記全更新処理が選択された場合は、前記新版数ソフトウェアの全データを前記管理サーバに要求し、前記部分更新処理が選択された場合は、前記第1の差分データを前記管理サーバに要求し、前記複写後更新処理が選択された場合は、前記第2の差分データを前記管理サーバに要求し、要求に応じて前記管理サーバが送信したデータを受信し、受信データに基づき該当領域を更新する、
ことを特徴とする付記12記載のソフトウェアの更新処理装置。
(付記17) 前記処理時間算出手段は、前記全更新処理による更新処理時間を、
前記新版数ソフトウェアに属する全データを、前記ネットワークを介して前記管理サーバから転送する場合に要する全データ転送時間と、前記管理サーバより転送された前記新版数ソフトウェアに属する全データで前記ソフトウェア記憶手段の該当領域を書き換える全データ書換時間とを算出し、算出された前記全データ転送時間と前記全データ書換時間とを合算して求める、
ことを特徴とする付記16記載のソフトウェアの更新処理装置。
(付記18) 前記版数情報には、各々版数によって更新管理がされる複数のコンポーネントから成る前記ソフトウェアに関し、前記所定の版数のソフトウェアに属する前記コンポーネントの版数が設定されており、
前記処理時間算出手段は、前記部分更新による更新処理時間を、
前記新版数ソフトウェアに属するコンポーネントの版数と、前記旧版数ソフトウェアに属するコンポーネントの版数とを照合して、版数が異なる更新が必要なコンポーネントを特定し、前記更新が必要なコンポーネントのデータを、前記ネットワークを介して前記管理サーバから転送する場合に要するコンポーネント転送時間と、前記管理サーバより転送された前記更新が必要なコンポーネントのデータで前記ソフトウェア記憶手段の該当領域を書き換えるコンポーネント書換時間と、書換時のオーバヘッド時間とを算出し、算出された前記コンポーネント転送時間、前記コンポーネント書換時間、及び前記オーバヘッド時間を合算して求める、
ことを特徴とする付記16記載のソフトウェアの更新処理装置。
(付記19) 前記版数情報には、各々版数によって更新管理がされる複数のコンポーネントから成る前記ソフトウェアに関し、前記所定の版数のソフトウェアに属する前記コンポーネントの版数が設定されており、
前記処理時間算出手段は、前記複写後部分更新による更新処理時間を、
前記旧版数ソフトウェアの領域を前記中間版数ソフトウェアで書き換える複写時間と、前記新版数ソフトウェアに属するコンポーネントの版数と、前記中間版数ソフトウェアに属するコンポーネントの版数とを照合して特定される前記更新が必要なコンポーネントのデータを前記管理サーバから転送する前記コンポーネント転送時間と、前記管理サーバより転送された前記更新が必要なコンポーネントのデータで前記ソフトウェア記憶手段の該当領域を書き換える前記コンポーネント書換時間と、前記オーバヘッド時間とを算出し、算出された前記複写時間、前記コンポーネント転送時間、前記コンポーネント書換時間、及び前記オーバヘッド時間を合算して求める、
ことを特徴とする付記16記載のソフトウェアの更新処理装置。
(付記20) 前記処理時間算出手段は、
前記ネットワークを介して前記管理サーバから転送する場合に要する転送時間を、前記更新処理によるデータ転送時に計測して計測データを保管しておくか、あるいは、前記処理時間算出手段による処理時間算出の前にダミーデータを転送して計測して、実際のデータ転送時間を用いて前記更新処理時間を算出する、
ことを特徴とする付記16記載のソフトウェアの更新処理装置。
(付記21) 前記版数情報取得手段は、前記管理サーバに対し、前記ソフトウェア記憶手段に格納されている前記ソフトウェアのうち最も新しい版数に関する保有版数情報を前記版数情報の要求に添付して送信し、前記保有版数情報に基づき更新の要否を判定する前記管理サーバから更新不要の通知を受信した場合は、以降の更新処理を行わない、
ことを特徴とする付記16記載のソフトウェアの更新処理装置。
(付記22) 前記新版数ソフトウェアは、前記コンピュータが読み取り可能な記録媒体に格納されており、
前記版数情報取得手段は、前記記録媒体の所定の領域に格納されている前記新版数ソフトウェアに関する版数情報を読み出して取得し、
前記更新手段は、前記処理選択手段によって前記全更新処理が選択された場合は、前記新版数ソフトウェアの全データを前記記録媒体から読み出し、前記部分更新処理が選択された場合は、前記第1の差分データを前記記録媒体から読み出し、前記複写後更新処理が選択された場合は、前記第2の差分データを前記記録媒体から読み出し、読み出したデータに基づき該当領域を更新する、
ことを特徴とする付記12記載のソフトウェアの更新処理装置。
(付記23) インストールされている旧版数のソフトウェアを要求された任意の新版数のソフトウェアに更新するソフトウェアの更新処理プログラムを記録したコンピュータ読み取り可能な記録媒体において、
コンピュータを、
所定の版数のソフトウェアに関する版数情報が記録される版数管理情報から、要求された任意の新版数ソフトウェアの版数情報を取得する版数情報取得手段、
取得した前記新版数ソフトウェアの版数情報と、ソフトウェア記憶手段に格納されている更新対象の旧版数ソフトウェアの版数情報とに基づき、前記旧版数ソフトウェア全体を前記新版数ソフトウェアへ更新する全更新処理による更新処理時間、前記旧版数ソフトウェアと前記新版数ソフトウェアとの第1の差分データを更新する部分更新処理による更新処理時間、及び前記ソフトウェア記憶手段に格納されている前記旧版数ソフトウェアと前記新版数ソフトウェアとの間の中間版数ソフトウェアを前記旧版数ソフトウェアの格納領域に複写した後、前記中間版数ソフトウェアと前記新版数ソフトウェアとの第2の差分データを更新する複写後更新処理による更新処理時間をそれぞれ算出する処理時間算出手段、
前記処理時間算出手段によって算出された各々の更新処理時間を比較し、最も更新時間が短い更新処理を選択する処理選択手段、
前記処理選択手段によって選択された前記全更新処理、前記部分更新処理、または前記複写後更新処理のいずれかによって、前記ソフトウェア記憶手段に格納されている前記旧版数ソフトウェアを前記新版数ソフトウェアに更新する更新手段、
として機能させることを特徴とするソフトウェアの更新処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
(付記24) 前記処理時間算出手段は、
前記全更新処理による更新処理時間を、前記新版数ソフトウェアの全データを対象データとし、前記対象データを前記新版数ソフトウェアが格納される領域から前記コンピュータに転送する転送時間を算出するとともに、転送された前記対象データで前記旧版数ソフトウェアが格納されている該当領域を書き換える書換時間とを算出し、前記全データを対象とする前記転送時間と前記書換時間を合算して算出し、
前記部分更新処理による更新処理時間を、前記旧版数ソフトウェアの前記新版数ソフトウェアに対する前記第1の差分データを前記対象データとして前記転送時間、前記書換時間及び前記書換位置の位置決めを含むオーバヘッド時間を算出し、前記第1の差分データを対象とする前記転送時間、前記書換時間、及び前記オーバヘッド時間を合算して算出し、
前記ソフトウェア記憶手段に複数の異なる版数のソフトウェアが格納されている場合に、前記複写後更新処理による更新処理時間を、前記ソフトウェア記憶手段に格納されている前記中間版数ソフトウェアの全データを前記旧版数ソフトウェアが格納されている該当領域へ複写する複写時間と、前記中間版数ソフトウェアの前記新版数ソフトウェアに対する前記第2の差分データを前記対象データとして前記転送時間、前記書換時間、前記オーバヘッド時間を算出し、前記第2の差分データを対象とする前記転送時間、前記書換時間、及び前記オーバヘッド時間と、前記複写時間とを合算して算出する、
ことを特徴とする付記23記載のソフトウェアの更新処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
(付記25) 前記版数情報には、各々版数によって更新管理がされる複数のコンポーネントから成る前記ソフトウェアに関し、前記所定の版数のソフトウェアに属する前記コンポーネントの版数が設定されており、
前記処理時間算出手段は、前記旧版数ソフトウェアの版数情報または前記中間版数ソフトウェアの版数情報と、前記新版数ソフトウェアの版数情報とに基づき、双方の版数に属する前記コンポーネントの版数を照合し、異なる版数の前記コンポーネントの集合を前記第1の差分データ及び前記第2の差分データとする、
ことを特徴とする付記23記載のソフトウェアの更新処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
(付記26) 前記処理時間算出手段は、
前記ソフトウェア記憶手段に複数の異なる版数のソフトウェアが格納されている場合に、前記新版数ソフトウェアの版数情報と、前記ソフトウェア記憶手段に格納されている前記複数の異なる版数のソフトウェアそれぞれの版数情報とを比較し、前記新版数ソフトウェアに属するコンポーネントの版数に最も類似する版数情報を有するソフトウェアを前記中間版数ソフトウェアとして前記複写後更新処理による更新処理時間を算出する、
ことを特徴とする付記25記載のソフトウェアの更新処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
(付記27) 前記新版数ソフトウェアは、前記コンピュータとネットワークを介して接続する管理サーバに格納されており、
前記版数情報取得手段は、前記新版数ソフトウェアを管理する前記管理サーバに対し、前記新版数ソフトウェアに関する版数情報の要求を送信し、要求に応じて前記管理サーバが生成した前記新版数ソフトウェアに関する版数情報を受信することによって、前記新版数ソフトウェアの版数情報を取得し、
前記処理時間算出手段は、要求データが前記管理サーバから前記ネットワークを介して転送される時間を前記転送時間とし、
前記更新手段は、前記処理選択手段によって前記全更新処理が選択された場合は、前記新版数ソフトウェアの全データを前記管理サーバに要求し、前記部分更新処理が選択された場合は、前記第1の差分データを前記管理サーバに要求し、前記複写後更新処理が選択された場合は、前記第2の差分データを前記管理サーバに要求し、要求に応じて前記管理サーバが送信したデータを受信し、受信データに基づき該当領域を更新する、
ことを特徴とする付記23記載のソフトウェアの更新処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
(付記28) 前記処理時間算出手段は、前記全更新処理による更新処理時間を、
前記新版数ソフトウェアに属する全データを、前記ネットワークを介して前記管理サーバから転送する場合に要する全データ転送時間と、前記管理サーバより転送された前記新版数ソフトウェアに属する全データで前記ソフトウェア記憶手段の該当領域を書き換える全データ書換時間とを算出し、算出された前記全データ転送時間と前記全データ書換時間とを合算して求める、
ことを特徴とする付記27記載のソフトウェアの更新処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
(付記29) 前記版数情報には、各々版数によって更新管理がされる複数のコンポーネントから成る前記ソフトウェアに関し、前記所定の版数のソフトウェアに属する前記コンポーネントの版数が設定されており、
前記処理時間算出手段は、前記部分更新による更新処理時間を、
前記新版数ソフトウェアに属するコンポーネントの版数と、前記旧版数ソフトウェアに属するコンポーネントの版数とを照合して、版数が異なる更新が必要なコンポーネントを特定し、前記更新が必要なコンポーネントのデータを、前記ネットワークを介して前記管理サーバから転送する場合に要するコンポーネント転送時間と、前記管理サーバより転送された前記更新が必要なコンポーネントのデータで前記ソフトウェア記憶手段の該当領域を書き換えるコンポーネント書換時間と、書換時のオーバヘッド時間とを算出し、算出された前記コンポーネント転送時間、前記コンポーネント書換時間、及び前記オーバヘッド時間を合算して求める、
ことを特徴とする付記27記載のソフトウェアの更新処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
(付記30) 前記版数情報には、各々版数によって更新管理がされる複数のコンポーネントから成る前記ソフトウェアに関し、前記所定の版数のソフトウェアに属する前記コンポーネントの版数が設定されており、
前記処理時間算出手段は、前記複写後部分更新による更新処理時間を、
前記旧版数ソフトウェアの領域を前記中間版数ソフトウェアで書き換える複写時間と、前記新版数ソフトウェアに属するコンポーネントの版数と、前記中間版数ソフトウェアに属するコンポーネントの版数とを照合して特定される前記更新が必要なコンポーネントのデータを前記管理サーバから転送する前記コンポーネント転送時間と、前記管理サーバより転送された前記更新が必要なコンポーネントのデータで前記ソフトウェア記憶手段の該当領域を書き換える前記コンポーネント書換時間と、前記オーバヘッド時間とを算出し、算出された前記複写時間、前記コンポーネント転送時間、前記コンポーネント書換時間、及び前記オーバヘッド時間を合算して求める、
ことを特徴とする付記27記載のソフトウェアの更新処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
(付記31) 前記処理時間算出手段は、
前記ネットワークを介して前記管理サーバから転送する場合に要する転送時間を、前記更新処理によるデータ転送時に計測して計測データを保管しておくか、あるいは、前記処理時間算出手段による処理時間算出の前にダミーデータを転送して計測して、実際のデータ転送時間を用いて前記更新処理時間を算出する、
ことを特徴とする付記27記載のソフトウェアの更新処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
(付記32) 前記版数情報取得手段は、前記管理サーバに対し、前記ソフトウェア記憶手段に格納されている前記ソフトウェアのうち最も新しい版数に関する保有版数情報を前記版数情報の要求に添付して送信し、前記保有版数情報に基づき更新の要否を判定する前記管理サーバから更新不要の通知を受信した場合は、以降の更新処理を行わない、
ことを特徴とする付記27記載のソフトウェアの更新処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
(付記33) 前記新版数ソフトウェアは、前記コンピュータが読み取り可能な記録媒体に格納されており、
前記版数情報取得手段は、前記記録媒体の所定の領域に格納されている前記新版数ソフトウェアに関する版数情報を読み出して取得し、
前記更新手段は、前記処理選択手段によって前記全更新処理が選択された場合は、前記新版数ソフトウェアの全データを前記記録媒体から読み出し、前記部分更新処理が選択された場合は、前記第1の差分データを前記記録媒体から読み出し、前記複写後更新処理が選択された場合は、前記第2の差分データを前記記録媒体から読み出し、読み出したデータに基づき該当領域を更新する、
ことを特徴とする付記23記載のソフトウェアの更新処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
実施の形態に適用される発明の概念図である。 実施の形態に適用される全更新処理を示した図である。 実施の形態に適用される部分更新処理を示した図である。 実施の形態に適用される複写後更新処理を示した図である。 本発明の実施の形態のシステム構成を示す構成図である。 本実施の形態のクライアントのハードウェア構成例を示すブロック図である。 本実施の形態のクライアントのアップデート処理部のソフトウェア構成例を示すブロック図である。 本実施の形態のクライアントが具備する管理情報の一例を示す図である。 本実施の形態のクライアントが具備する時間情報の一例を示す図である。 本実施の形態の管理サーバが具備する版数管理情報の一例を示す図である。 本実施の形態におけるクライアントと管理サーバ間のやり取りを示した図である。 本実施の形態のクライアントのアップデート処理手順を示したフローチャートである。 本実施の形態の管理サーバのアップデート処理手順を示したフローチャートである。
符号の説明
10 情報処理装置
11 管理情報記憶手段
12 時間情報記憶手段
13 ソフトウェア記憶手段
13a システムA領域
13b システムB領域
14 版数情報取得手段
15 処理時間算出手段
16 処理選択手段
17 更新手段
20 管理サーバ
21 版数管理情報記憶手段
22 システムソフトウェア記録手段
23 版数情報通知手段
24 差分データ抽出手段
25 転送処理手段

Claims (5)

  1. インストールされている旧版数ソフトウェアを要求された任意の新版数ソフトウェアに更新するソフトウェアの更新処理プログラムにおいて、
    コンピュータを、
    所定の版数のソフトウェアに関する版数情報が記録される版数管理情報から、要求された任意の新版数ソフトウェアの版数情報を取得する版数情報取得手段、
    取得した前記新版数ソフトウェアの版数情報と、ソフトウェア記憶手段に格納されている更新対象の旧版数ソフトウェアの版数情報とに基づき、前記旧版数ソフトウェア全体を前記新版数ソフトウェアへ更新する全更新処理による更新処理時間、前記旧版数ソフトウェアと前記新版数ソフトウェアとの第1の差分データを更新する部分更新処理による更新処理時間、及び前記ソフトウェア記憶手段に格納されている前記旧版数ソフトウェアと前記新版数ソフトウェアとの間の中間版数ソフトウェアを前記旧版数ソフトウェアの格納領域に複写した後、前記中間版数ソフトウェアと前記新版数ソフトウェアとの第2の差分データを更新する複写後更新処理による更新処理時間をそれぞれ算出する処理時間算出手段、
    前記処理時間算出手段によって算出された各々の更新処理時間を比較し、最も更新時間が短い更新処理を選択する処理選択手段、
    前記処理選択手段によって選択された前記全更新処理、前記部分更新処理、または前記複写後更新処理のいずれかによって、前記ソフトウェア記憶手段に格納されている前記旧版数ソフトウェアを前記新版数ソフトウェアに更新する更新手段、
    として機能させることを特徴とするソフトウェアの更新処理プログラム。
  2. 前記処理時間算出手段は、
    前記全更新処理による更新処理時間を、前記新版数ソフトウェアの全データを対象データとし、前記対象データを前記新版数ソフトウェアが格納される領域から前記コンピュータに転送する転送時間を算出するとともに、転送された前記対象データで前記旧版数ソフトウェアが格納されている該当領域を書き換える書換時間とを算出し、前記全データを対象とする前記転送時間と前記書換時間を合算して算出し、
    前記部分更新処理による更新処理時間を、前記旧版数ソフトウェアの前記新版数ソフトウェアに対する前記第1の差分データを前記対象データとして前記転送時間、前記書換時間及び前記書換位置の位置決めを含むオーバヘッド時間を算出し、前記第1の差分データを対象とする前記転送時間、前記書換時間、及び前記オーバヘッド時間を合算して算出し、
    前記ソフトウェア記憶手段に複数の異なる版数のソフトウェアが格納されている場合に、前記複写後更新処理による更新処理時間を、前記ソフトウェア記憶手段に格納されている前記中間版数ソフトウェアの全データを前記旧版数ソフトウェアが格納されている該当領域へ複写する複写時間と、前記中間版数ソフトウェアの前記新版数ソフトウェアに対する前記第2の差分データを前記対象データとして前記転送時間、前記書換時間、前記オーバヘッド時間を算出し、前記第2の差分データを対象とする前記転送時間、前記書換時間、及び前記オーバヘッド時間と、前記複写時間とを合算して算出する、
    ことを特徴とする請求項1記載のソフトウェアの更新処理プログラム。
  3. 前記版数情報には、各々版数によって更新管理がされる複数のコンポーネントから成る前記ソフトウェアに関し、前記所定の版数のソフトウェアに属する前記コンポーネントの版数が設定されており、
    前記処理時間算出手段は、前記旧版数ソフトウェアの版数情報または前記中間版数ソフトウェアの版数情報と、前記新版数ソフトウェアの版数情報とに基づき、双方の版数に属する前記コンポーネントの版数を照合し、異なる版数の前記コンポーネントの集合を前記第1の差分データ及び前記第2の差分データとする、
    ことを特徴とする請求項1記載のソフトウェアの更新処理プログラム。
  4. 前記新版数ソフトウェアは、前記コンピュータとネットワークを介して接続する管理サーバに格納されており、
    前記版数情報取得手段は、前記新版数ソフトウェアを管理する前記管理サーバに対し、前記新版数ソフトウェアに関する版数情報の要求を送信し、要求に応じて前記管理サーバが生成した前記新版数ソフトウェアに関する版数情報を受信することによって、前記新版数ソフトウェアの版数情報を取得し、
    前記処理時間算出手段は、要求データが前記管理サーバから前記ネットワークを介して転送される時間を前記転送時間とし、
    前記更新手段は、前記処理選択手段によって前記全更新処理が選択された場合は、前記新版数ソフトウェアの全データを前記管理サーバに要求し、前記部分更新処理が選択された場合は、前記第1の差分データを前記管理サーバに要求し、前記複写後更新処理が選択された場合は、前記第2の差分データを前記管理サーバに要求し、要求に応じて前記管理サーバが送信したデータを受信し、受信データに基づき該当領域を更新する、
    ことを特徴とする請求項1記載のソフトウェアの更新処理プログラム。
  5. インストールされている旧版数ソフトウェアを要求された任意の新版数ソフトウェアに更新するソフトウェアの更新処理装置において、
    前記インストールされたソフトウェアを格納するソフトウェア記憶手段と、
    所定の版数のソフトウェアに関する版数情報が記録される版数管理情報から、要求された任意の新版数ソフトウェアの版数情報を取得する版数情報取得手段と、
    取得した前記新版数ソフトウェアの版数情報と、前記ソフトウェア記憶手段に格納されている更新対象の旧版数ソフトウェアの版数情報とに基づき、前記旧版数ソフトウェア全体を前記新版数ソフトウェアへ更新する全更新処理による更新処理時間、前記旧版数ソフトウェアと前記新版数ソフトウェアとの第1の差分データを更新する部分更新処理による更新処理時間、及び前記ソフトウェア記憶手段に格納されている前記旧版数ソフトウェアと前記新版数ソフトウェアとの間の中間版数ソフトウェアを前記旧版数ソフトウェアの格納領域に複写した後、前記中間版数ソフトウェアと前記新版数ソフトウェアとの第2の差分データを更新する複写後更新処理による更新処理時間をそれぞれ算出する処理時間算出手段と、
    前記処理時間算出手段によって算出された各々の更新処理時間を比較し、最も更新時間が短い更新処理を選択する処理選択手段と、
    前記処理選択手段によって選択された前記全更新処理、前記部分更新処理、または前記複写後更新処理のいずれかによって、前記ソフトウェア記憶手段に格納されている前記旧版数ソフトウェアを前記新版数ソフトウェアに更新する更新手段と、
    を有することを特徴とするソフトウェアの更新処理装置。
JP2006165729A 2006-06-15 2006-06-15 ソフトウェアの更新処理プログラム及び更新処理装置 Expired - Fee Related JP4864557B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006165729A JP4864557B2 (ja) 2006-06-15 2006-06-15 ソフトウェアの更新処理プログラム及び更新処理装置
US11/594,612 US7840957B2 (en) 2006-06-15 2006-11-08 Computer program and apparatus for updating installed software programs by comparing update times

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006165729A JP4864557B2 (ja) 2006-06-15 2006-06-15 ソフトウェアの更新処理プログラム及び更新処理装置

Publications (2)

Publication Number Publication Date
JP2007334636A JP2007334636A (ja) 2007-12-27
JP4864557B2 true JP4864557B2 (ja) 2012-02-01

Family

ID=38862983

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006165729A Expired - Fee Related JP4864557B2 (ja) 2006-06-15 2006-06-15 ソフトウェアの更新処理プログラム及び更新処理装置

Country Status (2)

Country Link
US (1) US7840957B2 (ja)
JP (1) JP4864557B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180088924A1 (en) * 2016-09-23 2018-03-29 Kiushan Pirzadeh Update migration system and method

Families Citing this family (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8479189B2 (en) 2000-11-17 2013-07-02 Hewlett-Packard Development Company, L.P. Pattern detection preprocessor in an electronic device update generation system
US7409685B2 (en) 2002-04-12 2008-08-05 Hewlett-Packard Development Company, L.P. Initialization and update of software and/or firmware in electronic devices
US9134989B2 (en) * 2002-01-31 2015-09-15 Qualcomm Incorporated System and method for updating dataset versions resident on a wireless device
US20040068724A1 (en) * 2002-08-30 2004-04-08 Gardner Richard Wayne Server processing for updating dataset versions resident on a wireless device
DE10241957A1 (de) * 2002-09-10 2004-03-18 Siemens Ag Datenkommunikationssystem, Rechner, sowie Verfahren zur Aktualisierung von auf einem Rechner eines Datenkommunikationsystems gespeicherter Software
US9092286B2 (en) * 2002-12-20 2015-07-28 Qualcomm Incorporated System to automatically process components on a device
US8555273B1 (en) 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
US8626146B2 (en) 2003-10-29 2014-01-07 Qualcomm Incorporated Method, software and apparatus for performing actions on a wireless device using action lists and versioning
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
US7971199B1 (en) * 2004-05-03 2011-06-28 Hewlett-Packard Development Company, L.P. Mobile device with a self-updating update agent in a wireless network
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US7818734B2 (en) 2005-01-21 2010-10-19 Callwave, Inc. Methods and systems for transferring data over a network
EP2025095A2 (en) 2006-06-08 2009-02-18 Hewlett-Packard Development Company, L.P. Device management in a network
EP2047420A4 (en) 2006-07-27 2009-11-18 Hewlett Packard Development Co USER EXPERIENCE AND DEPENDENCE MANAGEMENT IN A MOBILE DEVICE
US8255790B2 (en) * 2006-09-08 2012-08-28 Microsoft Corporation XML based form modification with import/export capability
US7974993B2 (en) * 2006-12-04 2011-07-05 Microsoft Corporation Application loader for support of version management
US9280337B2 (en) * 2006-12-18 2016-03-08 Adobe Systems Incorporated Secured distribution of software updates
US8056070B2 (en) * 2007-01-10 2011-11-08 Goller Michael D System and method for modifying and updating a speech recognition program
JP5293595B2 (ja) * 2007-03-20 2013-09-18 富士通株式会社 コンピュータプログラム、更新システム、及びプログラム実行装置
CN101636720A (zh) * 2007-03-20 2010-01-27 株式会社爱可信 具备应用程序更新管理功能的终端、应用程序更新管理程序以及系统
WO2008146677A1 (ja) * 2007-05-24 2008-12-04 Nec Corporation 仮想マシン管理装置、仮想マシン管理方法および仮想マシン管理プログラム
CA2687883C (en) 2007-06-19 2014-07-08 Qualcomm Incorporated Methods and apparatus for dataset synchronization in a wireless environment
US20090133014A1 (en) * 2007-11-16 2009-05-21 Nokia Corporation Methods, apparatuses and computer program product for automatic download of software dependencies on installation
US8280917B1 (en) 2007-12-21 2012-10-02 Emc Corporation Batching content management operations to facilitate efficient database interactions
US8131884B1 (en) * 2007-12-21 2012-03-06 Emc Corporation Reusing system configuration information and metadata for related operations
JP5136105B2 (ja) * 2008-02-13 2013-02-06 富士通株式会社 データ搭載装置、及びデータ搭載装置のアップグレード方法
US9075496B1 (en) * 2008-05-15 2015-07-07 Open Invention Network, Llc Encapsulation of software support tools
US8745611B2 (en) * 2008-06-05 2014-06-03 Accenture Global Services Limited Software upgrade analysis system
US8572580B2 (en) * 2008-07-28 2013-10-29 Microsoft Corporation Computer application packages with customizations
US8140552B2 (en) * 2008-09-19 2012-03-20 International Business Machines Corporation Method and apparatus for optimizing lead time for service provisioning
JP5223707B2 (ja) * 2009-02-05 2013-06-26 富士通株式会社 ソフトウェア更新指示プログラム、ソフトウェア更新指示方法、および情報処理装置
JP5476834B2 (ja) * 2009-07-24 2014-04-23 株式会社リコー 情報処理装置、ワークフローシステム、ワークフロー管理方法、プログラムおよび記録媒体
JP5478986B2 (ja) * 2009-08-21 2014-04-23 株式会社日立ソリューションズ 情報機器及びプログラム
JP2011055248A (ja) * 2009-09-02 2011-03-17 Fuji Xerox Co Ltd ソフトウエアの更新・追加管理装置、ソフトウエアの更新・追加管理プログラム及び複合機
JP2011081561A (ja) * 2009-10-06 2011-04-21 Canon Inc 情報処理装置
JP5541666B2 (ja) 2009-10-15 2014-07-09 キヤノン株式会社 画像形成装置、画像形成装置の制御方法及びプログラム
US9122558B2 (en) 2009-11-09 2015-09-01 Bank Of America Corporation Software updates using delta patching
US9128799B2 (en) 2009-11-09 2015-09-08 Bank Of America Corporation Programmatic creation of task sequences from manifests
US8972974B2 (en) 2009-11-09 2015-03-03 Bank Of America Corporation Multiple invocation points in software build task sequence
US9176898B2 (en) 2009-11-09 2015-11-03 Bank Of America Corporation Software stack building using logically protected region of computer-readable medium
US8584113B2 (en) * 2009-11-09 2013-11-12 Bank Of America Corporation Cross-updating of software between self-service financial transaction machines
US20110113416A1 (en) * 2009-11-09 2011-05-12 Bank Of America Corporation Network-Enhanced Control Of Software Updates Received Via Removable Computer-Readable Medium
JP5500999B2 (ja) * 2010-01-13 2014-05-21 キヤノン株式会社 情報処理装置およびその制御方法およびプログラム
JP2012048540A (ja) * 2010-08-27 2012-03-08 Canon Inc 画像処理装置及びその制御方法、情報処理システム、並びにプログラム
US8631111B2 (en) * 2011-01-12 2014-01-14 Hitachi, Ltd. Method and apparatus of selection interface by queue and workload for storage operation
US9207928B2 (en) * 2011-01-17 2015-12-08 Bladelogic, Inc. Computer-readable medium, apparatus, and methods of automatic capability installation
JP2012163994A (ja) * 2011-02-03 2012-08-30 Nec Corp ソフトウェア管理システム、ソフトウェア管理装置、制御方法、及びプログラム
US20120227036A1 (en) * 2011-03-01 2012-09-06 International Business Machines Corporation Local Server Management of Software Updates to End Hosts Over Low Bandwidth, Low Throughput Channels
JPWO2012131933A1 (ja) * 2011-03-30 2014-07-24 富士通株式会社 情報処理装置、プログラム、および解析方法
US8752000B2 (en) 2011-07-29 2014-06-10 Allscripts Software, Llc Portal for automated software installation and configuration
JP5787688B2 (ja) * 2011-09-16 2015-09-30 キヤノン株式会社 サーバ装置、クライアント装置、情報処理方法及びプログラム
JP2013161401A (ja) * 2012-02-08 2013-08-19 Fujitsu Ltd ファームウェアの更新制御方法、基地局装置、通信システム及びプログラム
US9817656B2 (en) 2012-08-24 2017-11-14 Ca, Inc. Hot rollback of updated agent
US9798557B2 (en) 2012-08-24 2017-10-24 Ca, Inc. Injection of updated classes for a java agent
US9110939B2 (en) * 2012-10-05 2015-08-18 Here Global B.V. Method and apparatus for providing incremental database updates based on delta pages
JP6053450B2 (ja) * 2012-10-26 2016-12-27 株式会社Pfu 情報処理装置、方法およびプログラム
JP6102220B2 (ja) * 2012-11-28 2017-03-29 株式会社リコー 画像処理システム及びその情報処理方法
GB2508599A (en) 2012-12-04 2014-06-11 Ibm Software version management when downgrading software
US9298443B2 (en) 2013-02-14 2016-03-29 International Business Machines Corporation System and method for determining when cloud virtual machines need to be updated
JP5957785B2 (ja) * 2013-03-29 2016-07-27 株式会社 日立マネジメントパートナー 案件保守管理装置、案件保守管理方法及び案件保守管理プログラム
JP5860436B2 (ja) * 2013-06-14 2016-02-16 京セラドキュメントソリューションズ株式会社 ソフトウェア更新プログラムおよびソフトウェア更新装置
WO2015037079A1 (ja) * 2013-09-11 2015-03-19 富士通株式会社 更新情報適用プログラム,更新情報適用方法,および情報処理装置
US9600262B2 (en) 2013-09-19 2017-03-21 International Business Machines Corporation System, method and program product for updating virtual machine images
JP6238724B2 (ja) * 2013-12-19 2017-11-29 キヤノン株式会社 ネットワークシステム、配信システム、制御方法およびプログラム
JP2015142167A (ja) * 2014-01-27 2015-08-03 富士通株式会社 管理装置、管理プログラムおよびネットワーク装置の設定情報管理方法
JP6298711B2 (ja) 2014-05-19 2018-03-20 株式会社日立製作所 分散処理システム
JP6281413B2 (ja) 2014-05-28 2018-02-21 富士通株式会社 ファームウェア更新装置、ストレージ制御装置およびプログラム
US9223569B1 (en) * 2014-06-17 2015-12-29 International Business Machines Corporation Automatic software catalog content creation based on bio-inspired computing prediction
JP6432320B2 (ja) * 2014-12-05 2018-12-05 富士通株式会社 情報処理装置、更新時間推定プログラム、及び更新時間推定方法
JP6350308B2 (ja) * 2015-01-28 2018-07-04 住友電気工業株式会社 光トランシーバ
US11334605B2 (en) * 2015-06-04 2022-05-17 Here Global B.V. Incremental update of compressed navigational databases
US9652218B2 (en) * 2015-06-17 2017-05-16 International Business Machines Corporation Feature exploitation evaluator
US9740473B2 (en) 2015-08-26 2017-08-22 Bank Of America Corporation Software and associated hardware regression and compatibility testing system
US9792109B2 (en) * 2015-09-30 2017-10-17 Apple Inc. Software updating
US10250437B2 (en) * 2015-10-29 2019-04-02 Arista Networks, Inc. Method and system for configuring network devices
JP6555096B2 (ja) * 2015-11-18 2019-08-07 富士通株式会社 情報処理装置およびプログラム更新制御方法
JP6728744B2 (ja) * 2016-02-19 2020-07-22 日本電気株式会社 データ提供システム、データ提供方法、データ提供装置、更新対象装置及びコンピュータ・プログラム
US10360044B2 (en) * 2016-09-13 2019-07-23 Nutanix, Inc. Massively parallel autonomous reimaging of nodes in a computing cluster
JP6803279B2 (ja) * 2017-03-28 2020-12-23 クラリオン株式会社 車載装置、地図更新システム
CN107239307B (zh) * 2017-05-31 2020-12-04 北京小米移动软件有限公司 版本更新信息的显示方法及装置
US20190196805A1 (en) * 2017-12-21 2019-06-27 Apple Inc. Controlled rollout of updates for applications installed on client devices
JP6930949B2 (ja) * 2018-08-02 2021-09-01 株式会社日立製作所 ソフトウェア配信システム、ソフトウェア配信サーバ、及びソフトウェア配信方法
CN110879713B (zh) * 2018-09-06 2023-06-20 山东华软金盾软件股份有限公司 一种android端强加密插件热更新管理方法
CN111327646A (zh) * 2018-12-13 2020-06-23 杭州海康威视数字技术股份有限公司 一种室内机升级方法和系统
CN111949287B (zh) * 2019-05-16 2024-06-14 北京京东尚科信息技术有限公司 软件升级方法和装置
KR102693699B1 (ko) * 2019-09-06 2024-08-12 삼성전자 주식회사 전자 장치에서 어플리케이션 업데이트 시 런타임 성능 개선 방법 및 장치
JP7251416B2 (ja) * 2019-09-06 2023-04-04 富士通株式会社 情報処理プログラムおよび情報処理方法
WO2021051341A1 (zh) * 2019-09-19 2021-03-25 深圳市大疆创新科技有限公司 系统运行方法、系统、可移动平台及存储介质
US11209980B2 (en) * 2019-09-30 2021-12-28 International Business Machines Corporation Storing difference between current data version and one of multiple data versions in a dispersed storage network memory
CN110750546B (zh) * 2019-10-21 2023-07-25 中国民航信息网络股份有限公司 一种数据库的更新方法及装置
CN111090444A (zh) * 2019-12-03 2020-05-01 航天信息股份有限公司 版本升级方法、装置、存储介质及电子设备
US11474803B2 (en) * 2019-12-30 2022-10-18 EMC IP Holding Company LLC Method and system for dynamic upgrade predictions for a multi-component product
US12039323B2 (en) 2020-04-21 2024-07-16 Hewlett-Packard Development Company, L.P. BIOS updates
US11561672B1 (en) 2020-07-24 2023-01-24 Tableau Software, LLC Compatibility-based feature management for data prep applications
CN112328296B (zh) * 2020-11-30 2024-04-02 北京百度网讯科技有限公司 针对跨平台应用的软件更新方法、装置、设备和介质
JP2023078562A (ja) * 2021-11-26 2023-06-07 東芝キヤリア株式会社 空調システム管理装置および空調システム管理方法
US12360761B2 (en) * 2021-11-29 2025-07-15 Dell Products L.P. Machine learning-based prediction of completion time of software code changes
US12363167B2 (en) 2022-05-18 2025-07-15 Sophos Limited Deduplication of endpoint images
US12260208B2 (en) * 2022-10-04 2025-03-25 Sophos Limited Pausing automatic software updates of virtual machines
CN115543430A (zh) * 2022-11-01 2022-12-30 中国船舶重工集团海装风电股份有限公司 一种风力发电机组软件版本管理方法及系统
KR102763977B1 (ko) * 2022-12-23 2025-02-05 현대오토에버 주식회사 차량 제어기 최적 업데이트 장치 및 방법
US20240427592A1 (en) * 2023-06-21 2024-12-26 Red Hat, Inc. Dual software version capability through qubit storage

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805898A (en) * 1995-02-24 1998-09-08 International Business Machines Corporation Method and apparatus for estimating installation time in a data processing system
KR100286008B1 (ko) * 1995-12-30 2001-04-16 윤종용 소프트웨어 프로그램 자동 갱신방법
JPH10260820A (ja) 1997-03-19 1998-09-29 Toshiba Corp ソフトウェアツールのインストーラ、インストール方法及びインストール媒体
US7185332B1 (en) * 1998-03-25 2007-02-27 Symantec Corporation Multi-tiered incremental software updating
US6052531A (en) * 1998-03-25 2000-04-18 Symantec Corporation Multi-tiered incremental software updating
JP3597051B2 (ja) * 1998-07-31 2004-12-02 株式会社ソニー・コンピュータエンタテインメント データ処理システム及び方法、並びにデータ処理装置及び方法
US6289511B1 (en) * 1998-09-29 2001-09-11 Telephonaktiebolaget Lm Ericsson Method and system for distributing software in a telecommunications network
US6438750B1 (en) * 1999-06-18 2002-08-20 Phoenix Technologies Ltd. Determining loading time of an operating system
JP3671759B2 (ja) * 1999-08-26 2005-07-13 株式会社日立製作所 ソフトウェア配布方法およびシステム
JP2001273122A (ja) * 2000-03-23 2001-10-05 Hitachi Ltd 並列計算システムのプログラムインストール方法及び装置
US20030233649A1 (en) * 2002-06-14 2003-12-18 Scott Reimert Maintaining software in computers in a network
JP4328328B2 (ja) * 2003-10-23 2009-09-09 富士通株式会社 ソフトウエア開発ツールプログラム
WO2005088452A1 (ja) * 2004-03-16 2005-09-22 Matsushita Electric Industrial Co., Ltd. コンピュータプログラムの更新をする端末装置及び更新方法
US10162618B2 (en) * 2004-12-03 2018-12-25 International Business Machines Corporation Method and apparatus for creation of customized install packages for installation of software
US7694292B2 (en) * 2005-03-07 2010-04-06 Siemens Aktiengesellschaft System and method for reduction of wait time for software updates

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180088924A1 (en) * 2016-09-23 2018-03-29 Kiushan Pirzadeh Update migration system and method
US10613849B2 (en) * 2016-09-23 2020-04-07 Visa International Service Association Update migration system and method

Also Published As

Publication number Publication date
JP2007334636A (ja) 2007-12-27
US7840957B2 (en) 2010-11-23
US20070294684A1 (en) 2007-12-20

Similar Documents

Publication Publication Date Title
JP4864557B2 (ja) ソフトウェアの更新処理プログラム及び更新処理装置
CN102804132B (zh) 基于目录的软件组件管理
US7958210B2 (en) Update management method and update management unit
US6795835B2 (en) Migration of computer personalization information
JP2018028715A (ja) ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム
US20080244619A1 (en) External storage device and method of automatically operating the same
US11593230B2 (en) Efficient mechanism for data protection against cloud region failure or site disasters and recovery time objective (RTO) improvement for backup applications
EP4020197B1 (en) Methods and apparatus for loading of a container image
JPWO2006067841A1 (ja) 仮想マシン管理プログラムおよび仮想マシン管理方法
US8234359B2 (en) System and method for remotely re-imaging a computer system
US20070118499A1 (en) Method and system for collecting and restoring application state information
US7904422B2 (en) System for deploying data from deployment-source device to deployment-destination device
JP2008146408A (ja) データ記憶装置、そのデータ再配置方法、プログラム
JP4755244B2 (ja) 情報生成方法、情報生成プログラム及び情報生成装置
JP2003288211A (ja) ネットワーク管理プログラム
JP4854973B2 (ja) 記憶制御プログラム、記憶制御方法、記憶制御装置および記憶制御システム
US20070277033A1 (en) Method for re-imaging a computer system
JP2009187456A (ja) ファームウェアアップデートシステム、情報処理装置、ファームウェアアップデート方法及びプログラム
JP2004206353A (ja) ソフトウェアのインストール方法
JP2006040065A (ja) データ記憶装置およびデータ記憶方法
JP2012164252A (ja) ソフトウェア更新システム及びソフトウェア更新管理方法
JPH10124359A (ja) キャッシュ選択方法およびデータ処理システム
JP2003186676A (ja) ソフトウェアのアンインストール方式
US12353356B2 (en) File processing apparatus, file processing method, and storage medium
JP2007079773A (ja) ソフトウエア配布サーバ及びソフトウエア配布方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111017

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: 20111108

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111109

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141118

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees