JP2004206353A - ソフトウェアのインストール方法 - Google Patents
ソフトウェアのインストール方法 Download PDFInfo
- Publication number
- JP2004206353A JP2004206353A JP2002373846A JP2002373846A JP2004206353A JP 2004206353 A JP2004206353 A JP 2004206353A JP 2002373846 A JP2002373846 A JP 2002373846A JP 2002373846 A JP2002373846 A JP 2002373846A JP 2004206353 A JP2004206353 A JP 2004206353A
- Authority
- JP
- Japan
- Prior art keywords
- software
- file
- version
- files
- link 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】アップデート前後のソフトウェアの新しいバージョンと古いバージョンを実行可能にしつつ、新バージョンの記憶容量を低減する。
【解決手段】コンピュータに格納された第1のソフトウェアを実行可能に保持しつつ、第1のソフトウェアをバージョンアップした第2のソフトウェアをコンピュータにインストールする方法を提供する。この方法は、第2のソフトウェアを構成する各ファイルについて、第1のソフトウェアの各ファイルと同一か異なるかを判断する。そして同一である場合には、同一と判断された第1のソフトウェアのファイルを第2のソフトウェアのファイルとして利用できるようにリンク付けを行う。一方異なる場合には、異なると判断された第2のソフトウェアのファイルをインストールする。同一のファイルを重複してインストールすることはないので、バージョンアップ後のソフトウェアの記憶容量を低減できる。
【選択図】 図3
【解決手段】コンピュータに格納された第1のソフトウェアを実行可能に保持しつつ、第1のソフトウェアをバージョンアップした第2のソフトウェアをコンピュータにインストールする方法を提供する。この方法は、第2のソフトウェアを構成する各ファイルについて、第1のソフトウェアの各ファイルと同一か異なるかを判断する。そして同一である場合には、同一と判断された第1のソフトウェアのファイルを第2のソフトウェアのファイルとして利用できるようにリンク付けを行う。一方異なる場合には、異なると判断された第2のソフトウェアのファイルをインストールする。同一のファイルを重複してインストールすることはないので、バージョンアップ後のソフトウェアの記憶容量を低減できる。
【選択図】 図3
Description
【0001】
【発明の属する技術分野】
本発明は、ソフトウェアの更新(アップデート)を行う際の処理に関し、より具体的には同一のソフトウェアの新しいバージョンと古いバージョンの両方を実行可能にしつつ、必要な記憶容量を低減する技術に関する。
【0002】
【従来の技術】
ソフトウェアメーカーがコンピュータのソフトウェアを改良し機能を変更すると、それまでの古いバージョンのソフトウェアを新しいバージョンのソフトウェアに更新する、いわゆる「バージョンアップ」が行われる。バージョンアップの多くは、一部の実行モジュール/ライブラリのみを変更しまたは追加するマイナーバージョンアップである。
【0003】
ユーザが、バージョンアップされたソフトウェアへ更新(アップデート)する際の負担軽減を目的として、近年のソフトウェアメーカーは、アップデータ/インストーラと呼ばれるアップデートを自動化するソフトウェアを用意することが多い。アップデータ/インストーラは、ユーザのコンピュータ(PC)で実行されて既存のソフトウェアを上書きし、または全く別の記憶スペースに記憶して、バージョンアップされたソフトウェアをPCにインストールする。後者の例として、種々のバージョンを生成してその各々を記憶する技術が存在する(特許文献1参照)。
【0004】
ユーザによっては、例えばこれまでのバージョンとの互換性を確認する等の目的で、アップデート後の新しいバージョンと古いバージョンの両方を実行可能にしたい場合がある。既存のソフトウェアを上書きしてしまうとユーザの希望には対応できないため、別の記憶スペースに新しいバージョンを記憶する方法が採用されている。
【0005】
【特許文献1】
特開平6−342369(
【0006】段落、図3)
【発明が解決しようとする課題】
しかし別の記憶スペースに記憶する手法では、新しいバージョンの全ての関連ファイルがインストールされてしまい、それらのファイルサイズに応じた多くの記憶容量が必要となる。その理由は、アップデータ/インストーラは、新たなインストールであるとして全ての実行モジュール/ライブラリをPCにインストールするからである。記憶容量を多く消費するという問題は、特に部分的な変更・追加しか行われないマイナーバージョンアップの場合に顕著である。
【0006】
本発明の目的は、アップデート前後のソフトウェアの新しいバージョンと古いバージョンを実行可能にしつつ、新バージョンの記憶容量を低減することである。
【0007】
【課題を解決するための手段】
本発明による方法は、コンピュータに格納された第1のソフトウェアを実行可能に保持しつつ、該第1のソフトウェアをバージョンアップした第2のソフトウェアを該コンピュータにインストールする。この方法は、前記第2のソフトウェアを構成する1以上のファイルの各々について、前記第1のソフトウェアを構成する1以上のファイルと同一か異なるかを判断するステップと、同一である場合には、同一と判断された前記第1のソフトウェアの当該ファイルを前記第2のソフトウェアのファイルとして利用できるようにリンク付けを行うステップと、異なる場合には、異なると判断された前記第2のソフトウェアの当該ファイルをインストールするステップとを有する。これにより上記目的が達成される。
【0008】
前記リンク付けを行うステップは、前記第1のソフトウェアの当該ファイルが格納された第1の領域を特定するリンク情報を生成するステップと、前記第2のソフトウェアが格納される第2の領域に、生成したリンク情報を含むリンク情報ファイルを生成するステップとを有していてもよい。
【0009】
前記第1のソフトウェアを構成する前記1以上のファイルの各々には、当該ファイルの属性を表す第1のファイル識別情報が付随しており、前記第2のソフトウェアを構成する前記1以上のファイルの各々には、当該ファイルの属性を表す第2のファイル識別情報が付随しており、前記判断するステップは、前記第2のファイル識別情報の各々が、前記第1のファイル識別情報の各々と同一か異なるかを判断するステップであってもよい。
【0010】
前記第1のファイル識別情報および前記第2のファイル識別情報は、少なくともファイル名および作成日時を含んでもよい。
【0011】
前記第2の領域に、前記リンク情報により特定された前記ファイルを移動するステップと、前記第2の領域を特定する新たなリンク情報を生成するステップと、前記第1の領域に、前記新たなリンク情報を含む新たなリンク情報ファイルを生成するステップとを有してもよい。
【0012】
前記ファイルを移動するステップは、デフォルトで実行するソフトウェアとして、前記第2のソフトウェアが選択された場合に実行してもよい。
【0013】
本発明によれば、上述のソフトウェアのインストール方法により第1のソフトウェアおよび第2のソフトウェアをインストールしたコンピュータにおいて、該第2のソフトウェアをバージョンアップした第3のソフトウェアを該コンピュータにインストールする方法も得られる。この方法は、前記第3のソフトウェアを構成する1以上のファイルの各々について、前記第1のソフトウェアおよび前記第2のソフトウェアの少なくとも一方を構成する1以上のファイルと同一か異なるかを判断するステップと、同一である場合には、同一と判断された前記第1のソフトウェアおよび前記第2のソフトウェアの当該ファイルを前記第3のソフトウェアのファイルとして利用できるようにリンク付けを行うステップと、異なる場合には、異なると判断された前記第3のソフトウェアの当該ファイルをインストールするステップとを有していてもよい。
【0014】
【発明の実施の形態】
以下、添付の図面を参照して、本発明の実施の形態1および2を説明する。まず本明細書では、以下のように用語を定義する。
【0015】
バージョンアップ:ソフトウェアの提供者(ソフトウェアメーカー等)が既存のバージョン(旧バージョン)のソフトウェアを変更(修正・追加)して、新たなバージョン(新バージョン)のソフトウェアを生成すること。後述のようにソフトウェアは特定の処理を実行するモジュール、汎用的に利用できる関数やデータ・ファイルであるライブラリ等の集合であることから、バージョンアップは、個々のモジュール、ライブラリ毎にも観念される。
【0016】
旧バージョン:バージョンアップされる前のバージョン
新バージョン:バージョンアップされた後のバージョン
アップデート:ユーザが、コンピュータ上の旧バージョンのソフトウェアを新バージョンのソフトウェアに更新すること
インストール:ソフトウェアをコンピュータ上で使用できる(実行可能な)ように組み込むこと
【0017】
(実施の形態1)
図1は、実施の形態1による処理を実行するコンピュータ10の外観を示す図である。コンピュータ10は、データを入力するキーボード11−1とマウス11−2、データの保持、加工・演算等の主要な情報処理を行う本体部12、および、演算・保持等されたデータを表示するディスプレイ13を含む。
【0018】
図2は、コンピュータ10の構成を示すブロック図である。コンピュータ10は、中央処理部(CPU)21と、入力部22と、メモリ23と、出力部24と、通信部25と、ハードディスクドライブ(HDD)26とを備えている。コンピュータ10は、ハードディスクドライブ26内にソフトウェアを保持する。
【0019】
以下では、旧バージョンのソフトウェアを新バージョンのソフトウェアにアップデートする処理を説明する。まず前提として、ソフトウェアは、特定の処理を実行するモジュール、汎用的に利用できる関数やデータであるライブラリ、個別具体的なデータ等の集合として構成されている。ソフトウェアのアップデートは、モジュール、ライブラリのデータファイル単位で行われる。モジュール、ライブラリの各データファイルには、そのデータファイルのファイル名、格納されるフォルダ名、作成日時、データサイズ等の、データファイルの属性を表す情報が付随する。好ましくは少なくともファイル名および作成日時を含む。本明細書ではデータファイルの属性を表すこの情報を「ファイル識別情報」と称する。ファイル識別情報によれば、ファイルの同一性を識別できる。2つのファイルについてファイル識別情報が一致した場合には同じファイルであると識別でき、異なった場合には別のファイルであると識別できる。例えば同じファイル名であっても、作成日時が異なる場合には別のファイルであると判断できる。ファイル識別情報は、データファイルの個々に保持されていてもよいし、データファイルとは別個にデータファイルのひとつとして一括して保持されていてもよい。
【0020】
本発明の処理に基づいて動作するコンピュータ10は、ソフトウェアをアップデートした後でも、旧バージョンのソフトウェアと新バージョンのソフトウェアのいずれも実行できる。アップデートの際には、コンピュータ10は、新バージョンのデータファイルのうち旧バージョンから変更のない同一のデータファイルが存在すると、旧バージョンのそのデータファイルを利用する。新バージョンのデータファイルと同一のファイルが重複して記憶されるのではないことに留意されたい。
【0021】
旧バージョンのデータファイルを利用するために、新バージョンの記憶領域には共通するデータファイルと同名のデータファイルが作成される。そのファイルには旧バージョンのデータファイルへのリンク付けを行うリンク情報が規定される。リンク付けとは、そのデータファイルの実体が保存されている格納領域の指定をいう。本明細書ではリンク付けされたデータファイルは、「リンク情報ファイル」と称される。リンク情報ファイルにもまた、両方のデータファイルに共通するファイル識別情報が付随する。コンピュータ10は、実行しようとするデータファイルがリンク情報ファイルであるとき、そのファイルに規定されたデータファイルの実体が保存されている格納領域から実体のデータファイルを読み出して実行する。このような構成によれば、データファイルの実体を1つにできるために記憶容量を抑えられるとともに、コンピュータ10は、バージョン毎のデータファイル群を別々に管理し、実行できる。
【0022】
以下コンピュータ10の各構成要素を説明する。CPU21は、メモリ23に読み込まれた後述のアップデート実行プログラムを実行することにより、コンピュータ10の動作を総合的に制御する。その動作は図3を参照して後述する。入力部22は、ユーザがデータを入力し、コンピュータ10を操作するキーボード11−1とマウス11−2(図1)等である。メモリ23は、データを格納する主記憶装置として機能するランダムアクセスメモリ(RAM)である。メモリ23には、アップデート実行プログラムをはじめとして、アップデート前または後のソフトウェアが読み込まれ、実行される。出力部24は、CPU21の処理結果等を表示するディスプレイ13(図2)等である。通信部25は、コンピュータ10の外部からのデータを受け取るインターフェースであり、例えばネットワーク(図示せず)との接続を確保するためのLANインターフェース、フレキシブルディスクドライブ、CD−ROMドライブ(図示せず)等との接続を確保するインターフェースである。本明細書では、通信部25を介して受け取るデータは、ソフトウェアのアップデートに必要な新たなバージョンのデータである。
【0023】
ハードディスクドライブ26は、大容量のデータを記憶できる2次記憶装置である。ハードディスクドライブ26は、本発明による処理を行うアップデート実行プログラム26−1と、旧バージョンのソフトウェア26−2と、新バージョンのソフトウェア26−3とを記憶する。新バージョンのソフトウェア26−3は、1以上の新バージョンのデータファイル26−4と、1以上のリンク情報ファイル26−5とを含む。
【0024】
続いて図3を参照して、コンピュータ10の処理を説明する。図3は、コンピュータ10がソフトウェアを新バージョンへアップデートする処理手順を示すフローチャートである。この処理は主としてCPU21(図2)がアップデート実行プログラム26−1(図2)をメモリ23に読み込み、そのプログラムを実行することにより行われる。アップデート実行プログラム26−1は、ソフトウェアのバージョンアップを行う、いわゆるインストールプログラムである。
【0025】
まずCPU21は、新バージョンのソフトウェア更新要求を受け取る(ステップS31)。更新要求は、ユーザにより入力部22(図2)から入力され、またはバージョンアップされたソフトウェアを格納したCD−ROMがCD−ROMドライブ(図示せず)に装填され検出されることにより得られる。CPU21は、更新要求を受け取るとアップデートの対象となるソフトウェアを特定し、新バージョンのソフトウェアを構成するファイル毎に、以下の処理を行う。
【0026】
まずCPU21は、新バージョンに含まれるファイルのファイル識別情報と、旧バージョンに含まれるファイルのファイル識別情報とを比較し(ステップS32)、それらが一致したか否かを判断する(ステップS33)。ファイル識別情報はそのデータファイルの作成日付、データサイズ等を含むことから、そのファイルがバージョンアップされていた場合には、新バージョンと旧バージョンのファイル識別情報は一致しない。ファイル識別情報が一致しなかった場合(ステップS33の”NO”の場合)には、新バージョンのファイルをハードディスクドライブ26にインストールする(ステップS35)。新バージョンのファイルはその時までにハードディスクドライブ26に保持されていないからである。新バージョンのファイルは、図2における新バージョンデータファイル26−4に相当する。
【0027】
一方バージョンアップされていない場合には、双方のファイル識別情報は一致する。これは当該ファイルはバージョンアップされていないが新バージョンのソフトウェアでも用いられていることを表す。ファイル識別情報が一致した場合(ステップS33の”YES”の場合)には、CPU21は新バージョンが格納されている、または格納されつつある領域に、リンク情報ファイル26−5(図2)を生成する(ステップS34)。リンク情報ファイル26−5には、旧バージョンおよび新バージョンに共通して用いられているファイル名が付される。ただしリンク情報ファイルはプログラムがコーディングされた実行可能ファイルではなく、旧バージョンの当該ファイルの実体が格納された領域を特定する情報(リンク情報)を規定したファイルである。なお「格納された領域」とは、ハードディスクドライブ26のアドレスのみならず、例えば階層構造のファイルシステムにおける特定の階層(フォルダまたはディレクトリ)内であってもよい。このように、バージョンアップされたファイルを、リンク情報を規定したリンク情報ファイルとして保持するので、同一の内容が重複して記憶されることはない。よって新バージョンのソフトウェアをハードディスクドライブ26の別の領域にそのまま記憶する場合と比較して、記憶容量を低減できる。
【0028】
図4を参照して、旧バージョンのソフトウェアを新バージョンへアップデートする処理を具体的に説明する。図4の(a)は、バージョンアップ前の旧バージョンのソフトウェアの構造を示す概念図である。このソフトウェアは、記号A〜Hで表される実行モジュール、ライブラリ、データ等のファイルから構成されている。このソフトウェアでは、例えばモジュールAが実行されると、他のデータファイルB、モジュール(ライブラリ)CおよびDを呼び出して処理が行われる。さらにモジュール(ライブラリ)Cは必要に応じてデータファイルEおよびFを呼び出し、またモジュール(ライブラリ)Dは必要に応じてデータファイルGおよびHを呼び出して処理を行う。図のモジュール、ライブラリ、データの一部には、そのファイルのデータサイズが記載されている。
【0029】
図4の(b)は、図3で説明した処理に基づいてアップデートされた新バージョンのソフトウェアの構造を示す概念図である。コンピュータ10は、図3の処理に基づいて、ファイルA,B,GおよびHについてはバージョンアップされていないと判断し、これらのファイルをリンク情報ファイルとして生成する。図の斜線で示したファイルA,B,GおよびHが上述のリンク情報ファイルである。一方モジュールCにより呼び出されるデータファイルEEおよびFFは、バージョンアップされたファイルであると判断し、新たにインストールされている。
【0030】
図4の(c)は、データファイルA,B,GおよびHと、それらのリンク先の実体ファイルの位置との対応を示すリストである。リンク情報ファイルは各データファイル名と同じファイル名を持ち、かつリンク先実体ファイルの記憶位置の情報を規定する。このリストは理解を容易にするための例であるが、このリストをファイルとして規定してもよい。これによりリンク情報ファイルおよびその参照先を一元的に管理でき、データファイル毎に、どのバージョンのデータファイルにリンクされているかが容易に判断でき、ファイル操作に関連してコンピュータ10に要求される検索処理が容易になる。
【0031】
リンク情報ファイルを生成することにより、図4の(b)に示すようにデータファイルA,B,GおよびHのファイルサイズは実体ファイルのファイルサイズに拘らず実質的には0メガバイトとなる(厳密には数バイト必要である)。よって新バージョンのソフトウェア(約60メガバイト)をそのままインストールすると60メガバイトの容量が必要となるのに対して、本発明によれば図4の(a)に示すように約20メガバイトにまで削減できる。既に約60メガバイトの旧バージョンのソフトウェアがインストールされていることに鑑みれば、新バージョンのソフトウェアに要する記憶容量が小さい方がよいのは言うまでもない。
【0032】
なおコンピュータ10のオペレーティングシステム(OS)としてUNIX(登録商標)やその互換OSを採用する場合には、ソフトウェアリンク機能(シンボリックリンク機能)を用いてリンク情報ファイルを生成することもできる。リンク情報をOSが生成して管理することにより、さらに簡略化された処理を実現できる。
【0033】
ただし、ソフトウェアの新バージョンと複数の旧バージョンとが実行可能にされている場合には、複数のバージョンにわたってバージョンアップされていない特定のファイルへのリンクが連鎖することがある。これでは実体ファイルに至るまでのアクセス数が増加し、参照遅延の影響が無視できなくなる。よって頻繁にアクセスするバージョンをユーザがデフォルトで実行するソフトウェアとして指定できるようにして、そのバージョンの構成ファイルを全て実体ファイルに変更すればよい。これにより参照時間の遅延を防止することができる。なお頻繁にアクセスするバージョン以外のバージョンでは、その構成ファイルの一部はリンク情報ファイルに変更され、リンク先となる実体ファイルが指定されることとなる。
【0034】
なお複数のバージョンが存在する状態でさらに新たなバージョンをインストールする場合には、新バージョンのファイルごとに、リンク先のバージョンが異なるようにすることもできる。これは、全てのバージョンのファイル識別情報を、新バージョンのファイル識別情報と比較することにより実現される。ファイル識別情報が一致した場合には、バージョンを問わずリンク情報ファイルの生成が行われる。
【0035】
続いて、上述の処理(図3)により新旧バージョンのソフトウェアが並存するコンピュータ10(図1)において、あるバージョンの特定のファイル(例えば実行可能モジュールファイル)を移動しまたは消去する際の処理を説明する。このような処理が必要となる理由は、あるバージョンの実体ファイルが他のバージョンからリンク先として規定されている場合に、何らの手当てなく移動または消去すると問題を生ずるからである。
【0036】
図5は、ファイルの操作処理の手順を示すフローチャートである。この処理は主としてCPU21(図2)により行われる。コンピュータ10は、ユーザから、またはソフトウェアの処理に応じて、ファイルの移動/消去命令を受け取る(ステップS51)。「ソフトウェアの処理に応じて」とは、例えばソフトウェアのアンインストールを行うソフトウェアが、ファイルの移動/消去命令を発する場合を表す。そして各リンク情報ファイルに規定されたリンク情報に基づいて、対象となるファイルに関連するリンクを確認する(ステップS52)。この処理に際しては、図4の(c)に示すファイルと各ファイルのリンク先実体ファイルの位置との対応を示すリストを用いることが有効である。全てのリンク情報ファイルを検索して確認すると、リンク情報ファイルの数に応じたアクセスが必要となり時間を要するからである。
【0037】
その後、リンク情報に基づいて対象となるファイルがリンク先として指定されているか否かを判定する(ステップS53)。リンク先として指定されていなければ、他のファイルに影響はないためそのファイルの移動または消去が実行される(ステップS54)。
【0038】
一方リンク先として指定されていた場合(ステップS53の”YES”の場合)には、さらに、対象となるファイルが複数のバージョンを構成する他のファイルからリンクされているか否かを判定する(ステップS55)。「リンクされている」に該当する例を挙げると、複数のバージョンのファイルから同時に複数のリンク情報が設定されている場合や、直接のリンクは単一のリンク情報ファイルからのみ設定されているが、そのリンク情報ファイルが2以上のリンク先として設定されている場合である。なお、この判定においても図4の(c)に示すリストの使用が有効である。
【0039】
対象となるファイルが複数のバージョンを構成する他のファイルからリンクされている場合(ステップS55の”YES”の場合)には、主に使用するバージョンを選択する(ステップS56)。選択はユーザの指示に基づいて行ってもよいし、CPU21(図2)が実行される頻度の統計を取り、その頻度が最も高いバージョンを自動的に選択してもよい。これにより1つのバージョンが特定される。一方ステップ55において、対象となるファイルが複数のバージョンを構成する他のファイルからリンクされていなかった場合(ステップS55の”YES”の場合)にも、リンクを設けている1つのバージョンが特定される。
【0040】
1つのバージョンが特定されると、そのバージョンのデータファイルの保存先にリンク先のファイルの実体を移動する(ステップS57)。通常は管理の容易等のためにバージョン毎にフォルダ(ディレクトリ)を分けて格納しているため、ファイルの実体は、特定されたバージョンが格納されたフォルダに移動されることとなる。なお、そのフォルダには同名のリンク情報ファイルが既に存在するので、リンク情報ファイルが実体ファイルと置換される。一方、実体ファイルが存在していたバージョンのフォルダには、新たにリンク情報ファイルが生成される。このリンク情報ファイルはいうまでもなく、特定されたバージョンが格納されたフォルダの当該実体ファイルへのリンク情報を有する。
【0041】
実体ファイルが移動されたので、その後は他のリンク情報ファイルにおいても、実体ファイルの当初の存在位置を移動後の位置に変更する(ステップS58)。これにより、どのバージョンのソフトウェアでも実行可能な状態を維持できる。
【0042】
以上、本発明の実施の形態を説明した。本発明による処理はコンピュータ上で行われるため、図3および図5に示す処理をコーディングしたコンピュータプログラムとして実現できる。コンピュータプログラムは、コンピュータが読み取り可能な媒体上に保持でき、例えばソフトウェアのインストールを行うインストーラ/アップデータとして、またはOSの機能の一部として実現される。
【0043】
【発明の効果】
バージョンアップ後のソフトウェアのファイルが、前のバージョンから変更がなく同一である場合には、前バージョンのファイルをバージョンアップ後のソフトウェアのファイルとして利用できるようにリンク付けを行う。同一のファイルを重複してインストールすることはないので、バージョンアップ後のソフトウェアの記憶容量を低減できる。
【図面の簡単な説明】
【図1】実施の形態1による処理を実行するコンピュータの外観を示す図である。
【図2】コンピュータの構成を示すブロック図である。
【図3】コンピュータがソフトウェアを新バージョンへアップデートする処理手順を示すフローチャートである。
【図4】(a)は、バージョンアップ前の旧バージョンのソフトウェアの構造を示す概念図である。(b)は、図3で説明した処理に基づいてアップデートされた新バージョンのソフトウェアの構造を示す概念図である。(c)は、データファイルA,B,GおよびHと、それらのリンク先の実体ファイルの位置との対応を示すリストである。
【図5】ファイルの操作処理の手順を示すフローチャートである。
【符号の説明】
10 コンピュータ、 11−1 キーボード、 11−2 マウス、 12本体部、 13 ディスプレイ、 21 中央処理部(CPU)、 22 入力部、 23 メモリ、 24 出力部、 25 通信部、 26 ハードディスクドライブ(HDD)、 26−1 アップデート実行プログラム、 26−2 旧バージョンのソフトウェア、 26−3 新バージョンのソフトウェア、26−4 新バージョンのデータファイル、 26−5 リンク情報ファイル
【発明の属する技術分野】
本発明は、ソフトウェアの更新(アップデート)を行う際の処理に関し、より具体的には同一のソフトウェアの新しいバージョンと古いバージョンの両方を実行可能にしつつ、必要な記憶容量を低減する技術に関する。
【0002】
【従来の技術】
ソフトウェアメーカーがコンピュータのソフトウェアを改良し機能を変更すると、それまでの古いバージョンのソフトウェアを新しいバージョンのソフトウェアに更新する、いわゆる「バージョンアップ」が行われる。バージョンアップの多くは、一部の実行モジュール/ライブラリのみを変更しまたは追加するマイナーバージョンアップである。
【0003】
ユーザが、バージョンアップされたソフトウェアへ更新(アップデート)する際の負担軽減を目的として、近年のソフトウェアメーカーは、アップデータ/インストーラと呼ばれるアップデートを自動化するソフトウェアを用意することが多い。アップデータ/インストーラは、ユーザのコンピュータ(PC)で実行されて既存のソフトウェアを上書きし、または全く別の記憶スペースに記憶して、バージョンアップされたソフトウェアをPCにインストールする。後者の例として、種々のバージョンを生成してその各々を記憶する技術が存在する(特許文献1参照)。
【0004】
ユーザによっては、例えばこれまでのバージョンとの互換性を確認する等の目的で、アップデート後の新しいバージョンと古いバージョンの両方を実行可能にしたい場合がある。既存のソフトウェアを上書きしてしまうとユーザの希望には対応できないため、別の記憶スペースに新しいバージョンを記憶する方法が採用されている。
【0005】
【特許文献1】
特開平6−342369(
【0006】段落、図3)
【発明が解決しようとする課題】
しかし別の記憶スペースに記憶する手法では、新しいバージョンの全ての関連ファイルがインストールされてしまい、それらのファイルサイズに応じた多くの記憶容量が必要となる。その理由は、アップデータ/インストーラは、新たなインストールであるとして全ての実行モジュール/ライブラリをPCにインストールするからである。記憶容量を多く消費するという問題は、特に部分的な変更・追加しか行われないマイナーバージョンアップの場合に顕著である。
【0006】
本発明の目的は、アップデート前後のソフトウェアの新しいバージョンと古いバージョンを実行可能にしつつ、新バージョンの記憶容量を低減することである。
【0007】
【課題を解決するための手段】
本発明による方法は、コンピュータに格納された第1のソフトウェアを実行可能に保持しつつ、該第1のソフトウェアをバージョンアップした第2のソフトウェアを該コンピュータにインストールする。この方法は、前記第2のソフトウェアを構成する1以上のファイルの各々について、前記第1のソフトウェアを構成する1以上のファイルと同一か異なるかを判断するステップと、同一である場合には、同一と判断された前記第1のソフトウェアの当該ファイルを前記第2のソフトウェアのファイルとして利用できるようにリンク付けを行うステップと、異なる場合には、異なると判断された前記第2のソフトウェアの当該ファイルをインストールするステップとを有する。これにより上記目的が達成される。
【0008】
前記リンク付けを行うステップは、前記第1のソフトウェアの当該ファイルが格納された第1の領域を特定するリンク情報を生成するステップと、前記第2のソフトウェアが格納される第2の領域に、生成したリンク情報を含むリンク情報ファイルを生成するステップとを有していてもよい。
【0009】
前記第1のソフトウェアを構成する前記1以上のファイルの各々には、当該ファイルの属性を表す第1のファイル識別情報が付随しており、前記第2のソフトウェアを構成する前記1以上のファイルの各々には、当該ファイルの属性を表す第2のファイル識別情報が付随しており、前記判断するステップは、前記第2のファイル識別情報の各々が、前記第1のファイル識別情報の各々と同一か異なるかを判断するステップであってもよい。
【0010】
前記第1のファイル識別情報および前記第2のファイル識別情報は、少なくともファイル名および作成日時を含んでもよい。
【0011】
前記第2の領域に、前記リンク情報により特定された前記ファイルを移動するステップと、前記第2の領域を特定する新たなリンク情報を生成するステップと、前記第1の領域に、前記新たなリンク情報を含む新たなリンク情報ファイルを生成するステップとを有してもよい。
【0012】
前記ファイルを移動するステップは、デフォルトで実行するソフトウェアとして、前記第2のソフトウェアが選択された場合に実行してもよい。
【0013】
本発明によれば、上述のソフトウェアのインストール方法により第1のソフトウェアおよび第2のソフトウェアをインストールしたコンピュータにおいて、該第2のソフトウェアをバージョンアップした第3のソフトウェアを該コンピュータにインストールする方法も得られる。この方法は、前記第3のソフトウェアを構成する1以上のファイルの各々について、前記第1のソフトウェアおよび前記第2のソフトウェアの少なくとも一方を構成する1以上のファイルと同一か異なるかを判断するステップと、同一である場合には、同一と判断された前記第1のソフトウェアおよび前記第2のソフトウェアの当該ファイルを前記第3のソフトウェアのファイルとして利用できるようにリンク付けを行うステップと、異なる場合には、異なると判断された前記第3のソフトウェアの当該ファイルをインストールするステップとを有していてもよい。
【0014】
【発明の実施の形態】
以下、添付の図面を参照して、本発明の実施の形態1および2を説明する。まず本明細書では、以下のように用語を定義する。
【0015】
バージョンアップ:ソフトウェアの提供者(ソフトウェアメーカー等)が既存のバージョン(旧バージョン)のソフトウェアを変更(修正・追加)して、新たなバージョン(新バージョン)のソフトウェアを生成すること。後述のようにソフトウェアは特定の処理を実行するモジュール、汎用的に利用できる関数やデータ・ファイルであるライブラリ等の集合であることから、バージョンアップは、個々のモジュール、ライブラリ毎にも観念される。
【0016】
旧バージョン:バージョンアップされる前のバージョン
新バージョン:バージョンアップされた後のバージョン
アップデート:ユーザが、コンピュータ上の旧バージョンのソフトウェアを新バージョンのソフトウェアに更新すること
インストール:ソフトウェアをコンピュータ上で使用できる(実行可能な)ように組み込むこと
【0017】
(実施の形態1)
図1は、実施の形態1による処理を実行するコンピュータ10の外観を示す図である。コンピュータ10は、データを入力するキーボード11−1とマウス11−2、データの保持、加工・演算等の主要な情報処理を行う本体部12、および、演算・保持等されたデータを表示するディスプレイ13を含む。
【0018】
図2は、コンピュータ10の構成を示すブロック図である。コンピュータ10は、中央処理部(CPU)21と、入力部22と、メモリ23と、出力部24と、通信部25と、ハードディスクドライブ(HDD)26とを備えている。コンピュータ10は、ハードディスクドライブ26内にソフトウェアを保持する。
【0019】
以下では、旧バージョンのソフトウェアを新バージョンのソフトウェアにアップデートする処理を説明する。まず前提として、ソフトウェアは、特定の処理を実行するモジュール、汎用的に利用できる関数やデータであるライブラリ、個別具体的なデータ等の集合として構成されている。ソフトウェアのアップデートは、モジュール、ライブラリのデータファイル単位で行われる。モジュール、ライブラリの各データファイルには、そのデータファイルのファイル名、格納されるフォルダ名、作成日時、データサイズ等の、データファイルの属性を表す情報が付随する。好ましくは少なくともファイル名および作成日時を含む。本明細書ではデータファイルの属性を表すこの情報を「ファイル識別情報」と称する。ファイル識別情報によれば、ファイルの同一性を識別できる。2つのファイルについてファイル識別情報が一致した場合には同じファイルであると識別でき、異なった場合には別のファイルであると識別できる。例えば同じファイル名であっても、作成日時が異なる場合には別のファイルであると判断できる。ファイル識別情報は、データファイルの個々に保持されていてもよいし、データファイルとは別個にデータファイルのひとつとして一括して保持されていてもよい。
【0020】
本発明の処理に基づいて動作するコンピュータ10は、ソフトウェアをアップデートした後でも、旧バージョンのソフトウェアと新バージョンのソフトウェアのいずれも実行できる。アップデートの際には、コンピュータ10は、新バージョンのデータファイルのうち旧バージョンから変更のない同一のデータファイルが存在すると、旧バージョンのそのデータファイルを利用する。新バージョンのデータファイルと同一のファイルが重複して記憶されるのではないことに留意されたい。
【0021】
旧バージョンのデータファイルを利用するために、新バージョンの記憶領域には共通するデータファイルと同名のデータファイルが作成される。そのファイルには旧バージョンのデータファイルへのリンク付けを行うリンク情報が規定される。リンク付けとは、そのデータファイルの実体が保存されている格納領域の指定をいう。本明細書ではリンク付けされたデータファイルは、「リンク情報ファイル」と称される。リンク情報ファイルにもまた、両方のデータファイルに共通するファイル識別情報が付随する。コンピュータ10は、実行しようとするデータファイルがリンク情報ファイルであるとき、そのファイルに規定されたデータファイルの実体が保存されている格納領域から実体のデータファイルを読み出して実行する。このような構成によれば、データファイルの実体を1つにできるために記憶容量を抑えられるとともに、コンピュータ10は、バージョン毎のデータファイル群を別々に管理し、実行できる。
【0022】
以下コンピュータ10の各構成要素を説明する。CPU21は、メモリ23に読み込まれた後述のアップデート実行プログラムを実行することにより、コンピュータ10の動作を総合的に制御する。その動作は図3を参照して後述する。入力部22は、ユーザがデータを入力し、コンピュータ10を操作するキーボード11−1とマウス11−2(図1)等である。メモリ23は、データを格納する主記憶装置として機能するランダムアクセスメモリ(RAM)である。メモリ23には、アップデート実行プログラムをはじめとして、アップデート前または後のソフトウェアが読み込まれ、実行される。出力部24は、CPU21の処理結果等を表示するディスプレイ13(図2)等である。通信部25は、コンピュータ10の外部からのデータを受け取るインターフェースであり、例えばネットワーク(図示せず)との接続を確保するためのLANインターフェース、フレキシブルディスクドライブ、CD−ROMドライブ(図示せず)等との接続を確保するインターフェースである。本明細書では、通信部25を介して受け取るデータは、ソフトウェアのアップデートに必要な新たなバージョンのデータである。
【0023】
ハードディスクドライブ26は、大容量のデータを記憶できる2次記憶装置である。ハードディスクドライブ26は、本発明による処理を行うアップデート実行プログラム26−1と、旧バージョンのソフトウェア26−2と、新バージョンのソフトウェア26−3とを記憶する。新バージョンのソフトウェア26−3は、1以上の新バージョンのデータファイル26−4と、1以上のリンク情報ファイル26−5とを含む。
【0024】
続いて図3を参照して、コンピュータ10の処理を説明する。図3は、コンピュータ10がソフトウェアを新バージョンへアップデートする処理手順を示すフローチャートである。この処理は主としてCPU21(図2)がアップデート実行プログラム26−1(図2)をメモリ23に読み込み、そのプログラムを実行することにより行われる。アップデート実行プログラム26−1は、ソフトウェアのバージョンアップを行う、いわゆるインストールプログラムである。
【0025】
まずCPU21は、新バージョンのソフトウェア更新要求を受け取る(ステップS31)。更新要求は、ユーザにより入力部22(図2)から入力され、またはバージョンアップされたソフトウェアを格納したCD−ROMがCD−ROMドライブ(図示せず)に装填され検出されることにより得られる。CPU21は、更新要求を受け取るとアップデートの対象となるソフトウェアを特定し、新バージョンのソフトウェアを構成するファイル毎に、以下の処理を行う。
【0026】
まずCPU21は、新バージョンに含まれるファイルのファイル識別情報と、旧バージョンに含まれるファイルのファイル識別情報とを比較し(ステップS32)、それらが一致したか否かを判断する(ステップS33)。ファイル識別情報はそのデータファイルの作成日付、データサイズ等を含むことから、そのファイルがバージョンアップされていた場合には、新バージョンと旧バージョンのファイル識別情報は一致しない。ファイル識別情報が一致しなかった場合(ステップS33の”NO”の場合)には、新バージョンのファイルをハードディスクドライブ26にインストールする(ステップS35)。新バージョンのファイルはその時までにハードディスクドライブ26に保持されていないからである。新バージョンのファイルは、図2における新バージョンデータファイル26−4に相当する。
【0027】
一方バージョンアップされていない場合には、双方のファイル識別情報は一致する。これは当該ファイルはバージョンアップされていないが新バージョンのソフトウェアでも用いられていることを表す。ファイル識別情報が一致した場合(ステップS33の”YES”の場合)には、CPU21は新バージョンが格納されている、または格納されつつある領域に、リンク情報ファイル26−5(図2)を生成する(ステップS34)。リンク情報ファイル26−5には、旧バージョンおよび新バージョンに共通して用いられているファイル名が付される。ただしリンク情報ファイルはプログラムがコーディングされた実行可能ファイルではなく、旧バージョンの当該ファイルの実体が格納された領域を特定する情報(リンク情報)を規定したファイルである。なお「格納された領域」とは、ハードディスクドライブ26のアドレスのみならず、例えば階層構造のファイルシステムにおける特定の階層(フォルダまたはディレクトリ)内であってもよい。このように、バージョンアップされたファイルを、リンク情報を規定したリンク情報ファイルとして保持するので、同一の内容が重複して記憶されることはない。よって新バージョンのソフトウェアをハードディスクドライブ26の別の領域にそのまま記憶する場合と比較して、記憶容量を低減できる。
【0028】
図4を参照して、旧バージョンのソフトウェアを新バージョンへアップデートする処理を具体的に説明する。図4の(a)は、バージョンアップ前の旧バージョンのソフトウェアの構造を示す概念図である。このソフトウェアは、記号A〜Hで表される実行モジュール、ライブラリ、データ等のファイルから構成されている。このソフトウェアでは、例えばモジュールAが実行されると、他のデータファイルB、モジュール(ライブラリ)CおよびDを呼び出して処理が行われる。さらにモジュール(ライブラリ)Cは必要に応じてデータファイルEおよびFを呼び出し、またモジュール(ライブラリ)Dは必要に応じてデータファイルGおよびHを呼び出して処理を行う。図のモジュール、ライブラリ、データの一部には、そのファイルのデータサイズが記載されている。
【0029】
図4の(b)は、図3で説明した処理に基づいてアップデートされた新バージョンのソフトウェアの構造を示す概念図である。コンピュータ10は、図3の処理に基づいて、ファイルA,B,GおよびHについてはバージョンアップされていないと判断し、これらのファイルをリンク情報ファイルとして生成する。図の斜線で示したファイルA,B,GおよびHが上述のリンク情報ファイルである。一方モジュールCにより呼び出されるデータファイルEEおよびFFは、バージョンアップされたファイルであると判断し、新たにインストールされている。
【0030】
図4の(c)は、データファイルA,B,GおよびHと、それらのリンク先の実体ファイルの位置との対応を示すリストである。リンク情報ファイルは各データファイル名と同じファイル名を持ち、かつリンク先実体ファイルの記憶位置の情報を規定する。このリストは理解を容易にするための例であるが、このリストをファイルとして規定してもよい。これによりリンク情報ファイルおよびその参照先を一元的に管理でき、データファイル毎に、どのバージョンのデータファイルにリンクされているかが容易に判断でき、ファイル操作に関連してコンピュータ10に要求される検索処理が容易になる。
【0031】
リンク情報ファイルを生成することにより、図4の(b)に示すようにデータファイルA,B,GおよびHのファイルサイズは実体ファイルのファイルサイズに拘らず実質的には0メガバイトとなる(厳密には数バイト必要である)。よって新バージョンのソフトウェア(約60メガバイト)をそのままインストールすると60メガバイトの容量が必要となるのに対して、本発明によれば図4の(a)に示すように約20メガバイトにまで削減できる。既に約60メガバイトの旧バージョンのソフトウェアがインストールされていることに鑑みれば、新バージョンのソフトウェアに要する記憶容量が小さい方がよいのは言うまでもない。
【0032】
なおコンピュータ10のオペレーティングシステム(OS)としてUNIX(登録商標)やその互換OSを採用する場合には、ソフトウェアリンク機能(シンボリックリンク機能)を用いてリンク情報ファイルを生成することもできる。リンク情報をOSが生成して管理することにより、さらに簡略化された処理を実現できる。
【0033】
ただし、ソフトウェアの新バージョンと複数の旧バージョンとが実行可能にされている場合には、複数のバージョンにわたってバージョンアップされていない特定のファイルへのリンクが連鎖することがある。これでは実体ファイルに至るまでのアクセス数が増加し、参照遅延の影響が無視できなくなる。よって頻繁にアクセスするバージョンをユーザがデフォルトで実行するソフトウェアとして指定できるようにして、そのバージョンの構成ファイルを全て実体ファイルに変更すればよい。これにより参照時間の遅延を防止することができる。なお頻繁にアクセスするバージョン以外のバージョンでは、その構成ファイルの一部はリンク情報ファイルに変更され、リンク先となる実体ファイルが指定されることとなる。
【0034】
なお複数のバージョンが存在する状態でさらに新たなバージョンをインストールする場合には、新バージョンのファイルごとに、リンク先のバージョンが異なるようにすることもできる。これは、全てのバージョンのファイル識別情報を、新バージョンのファイル識別情報と比較することにより実現される。ファイル識別情報が一致した場合には、バージョンを問わずリンク情報ファイルの生成が行われる。
【0035】
続いて、上述の処理(図3)により新旧バージョンのソフトウェアが並存するコンピュータ10(図1)において、あるバージョンの特定のファイル(例えば実行可能モジュールファイル)を移動しまたは消去する際の処理を説明する。このような処理が必要となる理由は、あるバージョンの実体ファイルが他のバージョンからリンク先として規定されている場合に、何らの手当てなく移動または消去すると問題を生ずるからである。
【0036】
図5は、ファイルの操作処理の手順を示すフローチャートである。この処理は主としてCPU21(図2)により行われる。コンピュータ10は、ユーザから、またはソフトウェアの処理に応じて、ファイルの移動/消去命令を受け取る(ステップS51)。「ソフトウェアの処理に応じて」とは、例えばソフトウェアのアンインストールを行うソフトウェアが、ファイルの移動/消去命令を発する場合を表す。そして各リンク情報ファイルに規定されたリンク情報に基づいて、対象となるファイルに関連するリンクを確認する(ステップS52)。この処理に際しては、図4の(c)に示すファイルと各ファイルのリンク先実体ファイルの位置との対応を示すリストを用いることが有効である。全てのリンク情報ファイルを検索して確認すると、リンク情報ファイルの数に応じたアクセスが必要となり時間を要するからである。
【0037】
その後、リンク情報に基づいて対象となるファイルがリンク先として指定されているか否かを判定する(ステップS53)。リンク先として指定されていなければ、他のファイルに影響はないためそのファイルの移動または消去が実行される(ステップS54)。
【0038】
一方リンク先として指定されていた場合(ステップS53の”YES”の場合)には、さらに、対象となるファイルが複数のバージョンを構成する他のファイルからリンクされているか否かを判定する(ステップS55)。「リンクされている」に該当する例を挙げると、複数のバージョンのファイルから同時に複数のリンク情報が設定されている場合や、直接のリンクは単一のリンク情報ファイルからのみ設定されているが、そのリンク情報ファイルが2以上のリンク先として設定されている場合である。なお、この判定においても図4の(c)に示すリストの使用が有効である。
【0039】
対象となるファイルが複数のバージョンを構成する他のファイルからリンクされている場合(ステップS55の”YES”の場合)には、主に使用するバージョンを選択する(ステップS56)。選択はユーザの指示に基づいて行ってもよいし、CPU21(図2)が実行される頻度の統計を取り、その頻度が最も高いバージョンを自動的に選択してもよい。これにより1つのバージョンが特定される。一方ステップ55において、対象となるファイルが複数のバージョンを構成する他のファイルからリンクされていなかった場合(ステップS55の”YES”の場合)にも、リンクを設けている1つのバージョンが特定される。
【0040】
1つのバージョンが特定されると、そのバージョンのデータファイルの保存先にリンク先のファイルの実体を移動する(ステップS57)。通常は管理の容易等のためにバージョン毎にフォルダ(ディレクトリ)を分けて格納しているため、ファイルの実体は、特定されたバージョンが格納されたフォルダに移動されることとなる。なお、そのフォルダには同名のリンク情報ファイルが既に存在するので、リンク情報ファイルが実体ファイルと置換される。一方、実体ファイルが存在していたバージョンのフォルダには、新たにリンク情報ファイルが生成される。このリンク情報ファイルはいうまでもなく、特定されたバージョンが格納されたフォルダの当該実体ファイルへのリンク情報を有する。
【0041】
実体ファイルが移動されたので、その後は他のリンク情報ファイルにおいても、実体ファイルの当初の存在位置を移動後の位置に変更する(ステップS58)。これにより、どのバージョンのソフトウェアでも実行可能な状態を維持できる。
【0042】
以上、本発明の実施の形態を説明した。本発明による処理はコンピュータ上で行われるため、図3および図5に示す処理をコーディングしたコンピュータプログラムとして実現できる。コンピュータプログラムは、コンピュータが読み取り可能な媒体上に保持でき、例えばソフトウェアのインストールを行うインストーラ/アップデータとして、またはOSの機能の一部として実現される。
【0043】
【発明の効果】
バージョンアップ後のソフトウェアのファイルが、前のバージョンから変更がなく同一である場合には、前バージョンのファイルをバージョンアップ後のソフトウェアのファイルとして利用できるようにリンク付けを行う。同一のファイルを重複してインストールすることはないので、バージョンアップ後のソフトウェアの記憶容量を低減できる。
【図面の簡単な説明】
【図1】実施の形態1による処理を実行するコンピュータの外観を示す図である。
【図2】コンピュータの構成を示すブロック図である。
【図3】コンピュータがソフトウェアを新バージョンへアップデートする処理手順を示すフローチャートである。
【図4】(a)は、バージョンアップ前の旧バージョンのソフトウェアの構造を示す概念図である。(b)は、図3で説明した処理に基づいてアップデートされた新バージョンのソフトウェアの構造を示す概念図である。(c)は、データファイルA,B,GおよびHと、それらのリンク先の実体ファイルの位置との対応を示すリストである。
【図5】ファイルの操作処理の手順を示すフローチャートである。
【符号の説明】
10 コンピュータ、 11−1 キーボード、 11−2 マウス、 12本体部、 13 ディスプレイ、 21 中央処理部(CPU)、 22 入力部、 23 メモリ、 24 出力部、 25 通信部、 26 ハードディスクドライブ(HDD)、 26−1 アップデート実行プログラム、 26−2 旧バージョンのソフトウェア、 26−3 新バージョンのソフトウェア、26−4 新バージョンのデータファイル、 26−5 リンク情報ファイル
Claims (7)
- コンピュータに格納された第1のソフトウェアを実行可能に保持しつつ、該第1のソフトウェアをバージョンアップした第2のソフトウェアを該コンピュータにインストールする方法であって、
前記第2のソフトウェアを構成する1以上のファイルの各々について、前記第1のソフトウェアを構成する1以上のファイルと同一か異なるかを判断するステップと、
同一である場合には、同一と判断された前記第1のソフトウェアの当該ファイルを前記第2のソフトウェアのファイルとして利用できるようにリンク付けを行うステップと、
異なる場合には、異なると判断された前記第2のソフトウェアの当該ファイルをインストールするステップと
を有するソフトウェアのインストール方法。 - 前記リンク付けを行うステップは、
前記第1のソフトウェアの当該ファイルが格納された第1の領域を特定するリンク情報を生成するステップと、
前記第2のソフトウェアが格納される第2の領域に、生成したリンク情報を含むリンク情報ファイルを生成するステップと
を有する、請求項1に記載のソフトウェアのインストール方法。 - 前記第1のソフトウェアを構成する前記1以上のファイルの各々には、当該ファイルの属性を表す第1のファイル識別情報が付随しており、前記第2のソフトウェアを構成する前記1以上のファイルの各々には、当該ファイルの属性を表す第2のファイル識別情報が付随しており、
前記判断するステップは、前記第2のファイル識別情報の各々が、前記第1のファイル識別情報の各々と同一か異なるかを判断するステップである、請求項2に記載のソフトウェアのインストール方法。 - 前記第1のファイル識別情報および前記第2のファイル識別情報は、少なくともファイル名および作成日時を含む、請求項3に記載のソフトウェアのインストール方法。
- 前記第2の領域に、前記リンク情報により特定された前記ファイルを移動するステップと、
前記第2の領域を特定する新たなリンク情報を生成するステップと、
前記第1の領域に、前記新たなリンク情報を含む新たなリンク情報ファイルを生成するステップと
を有する、請求項2に記載のソフトウェアのインストール方法。 - 前記ファイルを移動するステップは、デフォルトで実行するソフトウェアとして、前記第2のソフトウェアが選択された場合に実行される、請求項5に記載のソフトウェアのインストール方法。
- 請求項1に記載のソフトウェアのインストール方法により第1のソフトウェアおよび第2のソフトウェアをインストールしたコンピュータにおいて、該第2のソフトウェアをバージョンアップした第3のソフトウェアを該コンピュータにインストールする方法であって、
前記第3のソフトウェアを構成する1以上のファイルの各々について、前記第1のソフトウェアおよび前記第2のソフトウェアの少なくとも一方を構成する1以上のファイルと同一か異なるかを判断するステップと、
同一である場合には、同一と判断された前記第1のソフトウェアおよび前記第2のソフトウェアの当該ファイルを前記第3のソフトウェアのファイルとして利用できるようにリンク付けを行うステップと、
異なる場合には、異なると判断された前記第3のソフトウェアの当該ファイルをインストールするステップと
を有するソフトウェアのインストール方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002373846A JP2004206353A (ja) | 2002-12-25 | 2002-12-25 | ソフトウェアのインストール方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002373846A JP2004206353A (ja) | 2002-12-25 | 2002-12-25 | ソフトウェアのインストール方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004206353A true JP2004206353A (ja) | 2004-07-22 |
Family
ID=32812025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002373846A Pending JP2004206353A (ja) | 2002-12-25 | 2002-12-25 | ソフトウェアのインストール方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004206353A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012058961A (ja) * | 2010-09-08 | 2012-03-22 | Yamatake Corp | ファイル編集装置、その制御方法、およびプログラム |
JP2014167778A (ja) * | 2013-02-28 | 2014-09-11 | Kyocera Document Solutions Inc | 電子機器、及びアプリケーション記憶プログラム |
JP2019133508A (ja) * | 2018-02-01 | 2019-08-08 | 日本電気株式会社 | 分散型構成管理装置、分散型構成管理方法、及び、分散型構成管理プログラム |
JP2020528629A (ja) * | 2017-07-25 | 2020-09-24 | オーロラ ラブズ リミテッド | 車両ecuソフトウェアのためのソフトウェアデルタ更新の構築およびツールチェーンに基づく異常検出 |
CN112114905A (zh) * | 2020-09-29 | 2020-12-22 | 中国银行股份有限公司 | 软件版本切换方法及装置 |
WO2024010177A1 (ko) * | 2022-07-04 | 2024-01-11 | 삼성전자 주식회사 | 보안 회로의 애플릿을 갱신하기 위한 전자 장치 및 그의 동작 방법 |
-
2002
- 2002-12-25 JP JP2002373846A patent/JP2004206353A/ja active Pending
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012058961A (ja) * | 2010-09-08 | 2012-03-22 | Yamatake Corp | ファイル編集装置、その制御方法、およびプログラム |
JP2014167778A (ja) * | 2013-02-28 | 2014-09-11 | Kyocera Document Solutions Inc | 電子機器、及びアプリケーション記憶プログラム |
JP7169340B2 (ja) | 2017-07-25 | 2022-11-10 | オーロラ ラブズ リミテッド | 車両ecuソフトウェアのためのソフトウェアデルタ更新の構築およびツールチェーンに基づく異常検出 |
US11467823B2 (en) | 2017-07-25 | 2022-10-11 | Aurora Labs Ltd. | Constructing software delta updates for controller software and abnormality detection based on toolchain |
US11526348B2 (en) | 2017-07-25 | 2022-12-13 | Aurora Labs Ltd. | Detecting anomalies online using controller processing activity |
US11822917B2 (en) | 2017-07-25 | 2023-11-21 | Aurora Labs Ltd. | Detecting anomalies online using controller processing activity |
US11416242B2 (en) | 2017-07-25 | 2022-08-16 | Aurora Labs Ltd. | Roll back of data delta updates |
US11422794B2 (en) | 2017-07-25 | 2022-08-23 | Aurora Labs Ltd. | Using data deltas in controllers and managing interdependencies between software versions in controllers using tool chain |
US11422793B2 (en) | 2017-07-25 | 2022-08-23 | Aurora Labs Ltd. | Orchestrator reporting of probability of downtime from machine learning process |
US11442721B2 (en) | 2017-07-25 | 2022-09-13 | Aurora Labs Ltd. | Opportunistic software updates during select operational modes |
US11635955B2 (en) | 2017-07-25 | 2023-04-25 | Aurora Labs Ltd. | Roll back of data delta updates |
US11829750B2 (en) | 2017-07-25 | 2023-11-28 | Aurora Labs Ltd. | Orchestrator reporting of probability of downtime from machine learning process |
US11900103B2 (en) | 2017-07-25 | 2024-02-13 | Aurora Labs Ltd. | Self-healing learning system for one or more controllers |
JP2020528629A (ja) * | 2017-07-25 | 2020-09-24 | オーロラ ラブズ リミテッド | 車両ecuソフトウェアのためのソフトウェアデルタ更新の構築およびツールチェーンに基づく異常検出 |
US11455165B2 (en) | 2017-07-25 | 2022-09-27 | Aurora Labs Ltd. | Hot updates to controller software using tool chain |
US11650808B2 (en) | 2017-07-25 | 2023-05-16 | Aurora Labs Ltd. | Hot updates to controller software using tool chain |
US11650807B2 (en) | 2017-07-25 | 2023-05-16 | Aurora Labs Ltd. | Self-healing learning system for one or more controllers |
US11704111B2 (en) | 2017-07-25 | 2023-07-18 | Aurora Labs Ltd. | Using data deltas in controllers and managing interdependencies between software versions in controllers using tool chain |
US11789720B2 (en) | 2017-07-25 | 2023-10-17 | Aurora Labs Ltd. | Opportunistic software updates during select operational modes |
JP2019133508A (ja) * | 2018-02-01 | 2019-08-08 | 日本電気株式会社 | 分散型構成管理装置、分散型構成管理方法、及び、分散型構成管理プログラム |
JP7095296B2 (ja) | 2018-02-01 | 2022-07-05 | 日本電気株式会社 | 分散型構成管理装置、分散型構成管理方法、及び、分散型構成管理プログラム |
CN112114905A (zh) * | 2020-09-29 | 2020-12-22 | 中国银行股份有限公司 | 软件版本切换方法及装置 |
CN112114905B (zh) * | 2020-09-29 | 2023-09-26 | 中国银行股份有限公司 | 软件版本切换方法及装置 |
WO2024010177A1 (ko) * | 2022-07-04 | 2024-01-11 | 삼성전자 주식회사 | 보안 회로의 애플릿을 갱신하기 위한 전자 장치 및 그의 동작 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5007046B2 (ja) | コンポーネントベースのソフトウェア・プロダクトの保守 | |
US7703090B2 (en) | Patch un-installation | |
US6434744B1 (en) | System and method for patching an installed application program | |
KR100467438B1 (ko) | 저장 매체 내의 파일을 관리하기 위한 방법 및 장치 | |
US7840957B2 (en) | Computer program and apparatus for updating installed software programs by comparing update times | |
US7765542B2 (en) | Method and system for describing and extracting application information | |
US7984088B2 (en) | Method for supporting multiple filesystem implementations | |
US7779402B2 (en) | System and method for fine grain method update of an application to provide continuous availability | |
JP4855714B2 (ja) | コンピュータオペレーティングシステムに渡ってコンピュータファイルへのアクセスを行うシステムおよび方法 | |
EP3678019B1 (en) | Mirror image upgrading method and device | |
JP3627034B2 (ja) | クライアント/サーバをベースにした多重プロセッサ・ファイル・システム | |
US7191436B1 (en) | Computer system utility facilitating dynamically providing program modifications for identified programs | |
US20030093420A1 (en) | Method and system for retrieving sharable information using a hierarchically dependent directory structure | |
US7886270B2 (en) | Methods, systems, and computer program products for file version control management | |
JPH10283189A (ja) | 内蔵実行可能アプリケーション及びコンピュータ読み取り可能な記憶媒体並びに内蔵実行可能アプリケーションの作成方法及びその作成システム | |
JPH04297934A (ja) | データ処理システム | |
US7716664B2 (en) | Metadata-based application model for large applications | |
JP2004206353A (ja) | ソフトウェアのインストール方法 | |
JP4828842B2 (ja) | 再インストールソフト作成方法,再インストールソフト作成プログラム,インストール方法,インストールプログラムおよびコンピュータ装置 | |
US6915512B1 (en) | Software editing with indication of format and processing state of each process of the software | |
JPH11282687A (ja) | プログラム自動改版方法 | |
US7389515B1 (en) | Application deflation system and method | |
JP2002023964A (ja) | コンピュータ・システムにおける記録媒体に記憶された情報の制御方法 | |
US20060069883A1 (en) | Directory server and data processing method in directory server | |
JP2008059494A (ja) | ミドルウェア選択制御装置 |