(57)【特許請求の範囲】
【請求項１】
サーバ装置であって、
クライアント装置にインストールされているソフトウェアのバージョンからアップデート対象のソフトウェアのバージョンまでの差分アップデータの合計サイズを取得する取得手段と、
前記取得手段で取得された差分アップデータの合計サイズとフルアップデータのサイズとを比較する比較手段と、
前記比較手段での比較の結果、差分アップデータの合計サイズが、フルアップデータのサイズ以下の場合、前記差分アップデータを選択し、差分アップデータの合計サイズが、フルアップデータのサイズより大きい場合、前記フルアップデータを選択し、選択したデータをアップデータとしてクライアント装置に送信する送信手段と、
前記フルアップデータ、及び前記差分アップデータが公開された際に、前記比較手段での比較の結果、フルアップデータのサイズが、差分アップデータの合計サイズ以下である場合、差分アップデータの合計サイズがフルアップデータのサイズを下回るまで古い差分アップデータを前記サーバ装置から削除する削除手段と、
を有することを特徴とするサーバ装置。
【請求項２】
前記取得手段は、前記クライアント装置から通知された前記クライアント装置にインストールされているソフトウェアのバージョンからアップデート対象のソフトウェアのバージョンまでの差分アップデータのファイルサイズを加算することにより前記差分アップデータの合計サイズを取得することを特徴とする請求項１記載のサーバ装置。
【請求項３】
前記送信手段は、前記クライアント装置が差分アップデータに対応していない場合、前記比較手段での比較の結果によらず、前記フルアップデータを選択し、選択したフルアップデータをアップデータとしてクライアント装置に送信することを特徴とする請求項１又は２記載のサーバ装置。
【請求項４】
クライアント装置にインストールされているソフトウェアのバージョンからアップデート対象のソフトウェアのバージョンまでの差分アップデータの合計サイズを取得する取得手段と、
前記取得手段で取得された差分アップデータの合計サイズとフルアップデータのサイズとを比較する比較手段と、
前記比較手段での比較の結果、差分アップデータの合計サイズが、フルアップデータのサイズ以下の場合、前記差分アップデータをサーバ装置から取得し、差分アップデータの合計サイズが、フルアップデータのサイズより大きい場合、前記フルアップデータをサーバ装置から取得し、取得したデータをアップデータとしてインストールし、取得したデータをアップデータとしてインストールした際にアップデートに失敗した場合、取得したデータとは別のデータをサーバ装置に要求し、取得した前記別のデータをアップデータとしてインストールするインストール手段と、
を有することを特徴とするクライアント装置。
【請求項５】
前記取得手段は、クライアント装置にインストールされているソフトウェアのバージョンからサーバ装置に置かれているアップデート対象のソフトウェアのバージョンまでの差分アップデータのファイルサイズを加算することにより前記差分アップデータの合計サイズを取得することを特徴とする請求項４記載のクライアント装置。
【請求項６】
サーバ装置が実行する情報処理方法であって、
クライアント装置にインストールされているソフトウェアのバージョンからアップデート対象のソフトウェアのバージョンまでの差分アップデータの合計サイズを取得する取得ステップと、
前記取得ステップで取得された差分アップデータの合計サイズとフルアップデータのサイズとを比較する比較ステップと、
前記比較ステップでの比較の結果、差分アップデータの合計サイズが、フルアップデータのサイズ以下の場合、前記差分アップデータを選択し、差分アップデータの合計サイズが、フルアップデータのサイズより大きい場合、前記フルアップデータを選択し、選択したデータをアップデータとしてクライアント装置に送信する送信ステップと、
前記フルアップデータ、及び前記差分アップデータが公開された際に、前記比較ステップでの比較の結果、フルアップデータのサイズが、差分アップデータの合計サイズ以下である場合、差分アップデータの合計サイズがフルアップデータのサイズを下回るまで古い差分アップデータを前記サーバ装置から削除する削除ステップと、
を含むことを特徴とする情報処理方法。
【請求項７】
クライアント装置が実行する情報処理方法であって、
クライアント装置にインストールされているソフトウェアのバージョンからアップデート対象のソフトウェアのバージョンまでの差分アップデータの合計サイズを取得する取得ステップと、
前記取得ステップで取得された差分アップデータの合計サイズとフルアップデータのサイズとを比較する比較ステップと、
前記比較ステップでの比較の結果、差分アップデータの合計サイズが、フルアップデータのサイズ以下の場合、前記差分アップデータをサーバ装置から取得し、差分アップデータの合計サイズが、フルアップデータのサイズより大きい場合、前記フルアップデータをサーバ装置から取得し、取得したデータをアップデータとしてインストールし、取得したデータをアップデータとしてインストールした際にアップデートに失敗した場合、取得したデータとは別のデータをサーバ装置に要求し、取得した前記別のデータをアップデータとしてインストールするインストールステップと、
を含むことを特徴とする情報処理方法。
【請求項８】
コンピュータに、
クライアント装置にインストールされているソフトウェアのバージョンからアップデート対象のソフトウェアのバージョンまでの差分アップデータの合計サイズを取得する取得ステップと、
前記取得ステップで取得された差分アップデータの合計サイズとフルアップデータのサイズとを比較する比較ステップと、
前記比較ステップでの比較の結果、差分アップデータの合計サイズが、フルアップデータのサイズ以下の場合、前記差分アップデータを選択し、差分アップデータの合計サイズが、フルアップデータのサイズより大きい場合、前記フルアップデータを選択し、選択したデータをアップデータとしてクライアント装置に送信する送信ステップと、
前記フルアップデータ、及び前記差分アップデータが公開された際に、前記比較ステップでの比較の結果、フルアップデータのサイズが、差分アップデータの合計サイズ以下である場合、差分アップデータの合計サイズがフルアップデータのサイズを下回るまで古い差分アップデータを前記コンピュータから削除する削除ステップと、
を実行させるためのプログラム。
【請求項９】
コンピュータに、
コンピュータにインストールされているソフトウェアのバージョンからアップデート対象のソフトウェアのバージョンまでの差分アップデータの合計サイズを取得する取得ステップと、
前記取得ステップで取得された差分アップデータの合計サイズとフルアップデータのサイズとを比較する比較ステップと、
前記比較ステップでの比較の結果、差分アップデータの合計サイズが、フルアップデータのサイズ以下の場合、前記差分アップデータをサーバ装置から取得し、差分アップデータの合計サイズが、フルアップデータのサイズより大きい場合、前記フルアップデータをサーバ装置から取得し、取得したデータをアップデータとしてインストールし、取得したデータをアップデータとしてインストールした際にアップデートに失敗した場合、取得したデータとは別のデータをサーバ装置に要求し、取得した前記別のデータをアップデータとしてインストールするインストールステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置、クライアント装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、クライアント装置がサーバからソフトウェアの更新ファイルをダウンロードして更新処理することが行われていた（特許文献１参照）。また、サーバが新しいバージョンと直前のバージョンとの差分を保持し、複数の差分を１つの配布ファイルにまとめてクライアントに送付することが行われている（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１４８８４０号公報
【特許文献２】特開平７−４４３９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
差分ファイルは新しい版とその直前の版との差分だけで構成されるため、ファイルサイズは小さい。しかしながら、複数の差分ファイルそれぞれには共通するデータがある。そのため、差分ファイルの数が多いときはファイルサイズが大きくなり、目的とするバージョンのソフトウェアをインスールするためのフルアップデータのファイルサイズの方が小さくなることがある。この場合、古いバージョンのソフトウェアを差分ファイルを使ってアップデートするよりも、古いバージョンのソフトウェアをアンインストールして目的とするバージョンのソフトウェアをインストールし直す方が、通信負荷や処理負荷が軽減される。しかしながら、ユーザは差分アップデータかフルアップデータのいずれを使う方が効率よくソフトウェアをアップデートすることができるかをバージョン毎に判断するには手間がかかる問題がある。
【０００５】
本発明はこのような問題点に鑑みなされたもので、ユーザに手間をかけることなく、ダウンロードに余計な時間や負荷を要さない方法でソフトウェアをアップデートすることを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明は、サーバ装置であって、クライアント装置にインストールされているソフトウェアのバージョンからアップデート対象のソフトウェアのバージョンまでの差分アップデータの合計サイズを取得する取得手段と、前記取得手段で取得された差分アップデータの合計サイズとフルアップデータのサイズとを比較する比較手段と、前記比較手段での比較の結果、差分アップデータの合計サイズが、フルアップデータのサイズ以下の場合、前記差分アップデータを選択し、差分アップデータの合計サイズが、フルアップデータのサイズより大きい場合、前記フルアップデータを選択し、選択したデータをアップデータとしてクライアント装置に送信する送信手段と、前記フルアップデータ、及び前記差分アップデータが公開された際に、前記比較手段での比較の結果、フルアップデータのサイズが、差分アップデータの合計サイズ以下である場合、差分アップデータの合計サイズがフルアップデータのサイズを下回るまで古い差分アップデータを前記サーバ装置から削除する削除手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ユーザに手間をかけることなく、ダウンロードに余計な時間や負荷を要さない方法でソフトウェアをアップデートすることができる。
【図面の簡単な説明】
【０００８】
【図１】サーバ装置とクライアント装置とのハードウェア構成の一例を示す図である。
【図２】サーバ装置１００が、クライアント装置１２０にインストールされているアプリをアップデートするシステムの構成を示す図である。
【図３】サーバ装置１００の外部記憶装置１０４に記憶されているアップデータに関する情報を含む管理ファイル３００の一例を示す図である。
【図４】クライアント装置１２０がサーバ装置１００からアップデータを受信し、アプリをアップデートする情報処理の一例を示すフローチャートである。
【図５】アプリの更新情報を示す画面５０１の一例を示す図である。
【図６】サーバ装置１００がクライアント装置１２０へアップデータを送信する情報処理の一例を示すフローチャートである。
【図７】クライアント装置１２０の手順を示すフローチャートである。
【図８】クライアント装置１２０がアップデータをダウンロードできず、アップデートに失敗した場合に、別のアップデータでリトライする処理の一例を示すフローチャートである。
【図９】制御部１０１がサーバ装置１００の古い差分アップデータを削除する手順を示すフローチャートである。
【図１０】古い差分アップデータを削除する一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
（実施形態１）
以下、図面を参照して、本発明の実施形態を詳細に説明する。
本実施形態のサーバ装置とクライアント装置とのハードウェア構成の一例を図１の図を参照して説明する。図１は、サーバ装置とクライアント装置とのハードウェア構成の一例を示す図である。サーバ装置やクライアント装置はそれぞれ単一のコンピュータ装置で実現してもよいし、必要に応じた複数のコンピュータ装置に各機能を分散して実現するようにしてもよい。複数のコンピュータ装置で構成される場合は、互いに通信可能なようにＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）等で接続されている。
図１において、サーバ装置１００とクライアント装置１２０とはネットワーク１１１を介して通信可能である。サーバ装置１００の全体は制御部１０１、クライアント装置１２０の全体は制御部１２１で制御され、制御部１０１及び１２０は例えばＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）である。変更を必要としないプログラムやパラメータはＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）１０２及び１２２にそれぞれ格納される。外部装置等から供給されるプログラムやデータはＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）１０３及び１２３にそれぞれ一時記憶される。オペレーティングシステムやＷｅｂブラウザプログラム、本実施形態のアップデート対象のアプリケーションソフトウェアプログラム等が、クライアント装置１２０の外部記憶装置１２４に記憶される。また、オペレーティングシステムやアップデート対象のアプリケーションソフトウェアプログラムの更新処理に必要なデータ等がサーバ装置１００の外部記憶装置１０４に記憶される。操作入力ＩＦ１２５は、ユーザの操作を受け、データを入力するポインティングデバイスやキーボード１１３等の入力デバイスとのインターフェイスである。表示ＩＦ１２６は、クライアント装置１２０の保持するデータや供給されたデータを表示するための表示器１１０とのインターフェイスである。ネットワークＩＦ１０７及び１２７は、インターネット等のネットワーク回線に接続するためのインターフェイスである。システムバス１０９及び１２９は、各ユニットを通信可能に接続する。
【００１１】
図２は、サーバ装置１００が、クライアント装置１２０にインストールされているアプリケーションソフトウェアプログラム（以下、アプリ）をアップデートするシステムの構成を示す図である。本実施形態では、クライアント装置１２０にインストール済みのアプリのバージョンは６．５であり、サーバ装置１００は、アプリの最新のバージョンとして７．０を保持しているものとする。
【００１２】
図３は、サーバ装置１００の外部記憶装置１０４に記憶されているアップデータに関する情報を含む管理ファイル３００の一例を示す図である。アップデータは、差分アップデータとフルアップデータとの２種類を用意する。差分アップデータとは、クライアント装置１２０にインストール済みのアプリをあるバージョンからあるバージョンへアップデートするためのデータである。フルアップデータとは、クライアント装置１２０にインストール済みのアプリをアンインストールし、あるバージョンのソフトウェアをインストールするためのデータである。
差分アップデータのファイルサイズは、フルアップデータのファイルサイズに比べて小さい。しかし、クライアント装置１２０にインストール済みのアプリのバージョンからサーバ装置１００に存在する最新のアプリのバージョンとの差が大きい場合には差分アップデータの数が多くなる。差分アップデータには共通のファイルもあることから、多数の差分アップデータが必要な場合、差分アップデータの合計のファイルサイズがフルアップデータのファイルサイズに比べて大きくなることもある。ファイルサイズが大きくなると、通信負荷がかかり、ダウンロードの時間も長くなってしまう。
【００１３】
図４は、クライアント装置１２０がサーバ装置１００からアップデータを受信し、アプリをアップデートする情報処理の一例を示すフローチャートである。
Ｓ４０１において、制御部１２１は、サーバ装置１００に対してアプリの種別及びバージョンを送信し、アップデータを要求する。Ｓ４０２において、制御部１２１は、サーバ装置１００からアップデータを受信したか判断する。Ｓ４０３において、制御部１２１は、サーバ装置１００から受信したアップデータを用いてアプリのアップデート処理を実行する。
【００１４】
図５は、アプリの更新情報を示す画面５０１の一例を示す図である。クライアント装置１２０がサーバ装置１００にインストール済みのアプリの種別とそのバージョンとを通知すると、サーバ装置１００は、前記アプリの最新バージョンに関する情報をクライアント装置１２０に送信する。クライアント装置１２０、は受信した情報に基づき、画面５０１を表示器１１０に表示する。画面５０１には最新の領域５０２は、現在、インストールされているアプリのバージョン番号、最新のアプリのバージョン番号を表示する。そして、ユーザがポインティングデバイスやキーボード１１３を操作することによりボタン５０３を選択したことを検知すると、クライアント装置１２０は、アプリのアップデートをサーバ装置１００に要求する。
【００１５】
図６は、サーバ装置１００がクライアント装置１２０へアップデータを送信する情報処理の一例を示すフローチャートである。
Ｓ６０１において、制御部１０１は、クライアント装置１２０からアップデータのダウンロードを要求されたか判断する。
ダウンロードが要求された場合、Ｓ６０２において、制御部１０１は、対応する差分アップデータが存在するか否かを、クライアント装置１２０から通知されたアプリの種別及びバージョンを参照して判断する。差分アップデータに対応していない場合、Ｓ６０７において、制御部１０１は、フルアップデータを選択する。差分アップデータに対応している場合、Ｓ６０３において、制御部１０１はフルアップデータのサイズ（Ｓｉｚｅ＿Ｆｕｌｌ）を取得する。
Ｓ６０４において、制御部１０１は、差分アップデータの合計サイズ（Ｓｉｚｅ＿Ｄｉｆｆ）を取得する。制御部１０１は、差分アップデータの合計サイズを、クライアント装置１２０から通知されたアプリのバージョンから、最新のバージョンまでに含まれる差分アップデータのファイルサイズを加算することにより取得する。
【００１６】
次に、Ｓ６０５において、制御部１０１は、差分アップデータの合計サイズがフルアップデータのサイズ以下（Ｓｉｚｅ＿Ｄｉｆｆ  ≦  Ｓｉｚｅ＿Ｆｕｌｌ）であるか否か、両者を比較し、比較の結果、判断する。差分アップデータの合計サイズがフルアップデータのサイズ以下（Ｓｉｚｅ＿Ｄｉｆｆ  ≦  Ｓｉｚｅ＿Ｆｕｌｌ）である場合、制御部１０１は、Ｓ６０６に進む。Ｓ６０６おいて、制御部１０１は、クライアント装置１２０から通知されたアプリのバージョンから、最新のバージョンまでの差分アップデータを選択する。差分アップデータの合計サイズがフルアップデータのサイズより大きい（Ｓｉｚｅ＿Ｄｉｆｆ  ≦  Ｓｉｚｅ＿Ｆｕｌｌではない）場合、Ｓ６０７において、制御部１０１は、フルアップデータを選択する。
Ｓ６０８において、制御部１０１は、選択したフルアップデータ又は差分アップデータをクライアント装置１２０へ送信する。
【００１７】
（実施形態２）
本実施形態では、クライアント装置１２０がフルアップデータ又は差分アップデータの何れかを選択してサーバ装置１００から取得し、アップデートする。
図７は、クライアント装置１２０の手順を示すフローチャートである。
Ｓ７０１において、制御部１２１は、サーバ装置１００から管理ファイル３００を取得する。
Ｓ７０２において、制御部１２１は、既にインストールされて外部記憶装置１２４に記憶されているアプリのバージョンを取得する。
Ｓ７０３において、制御部１２１は、管理ファイルからフルアップデータのサイズ（Ｓｉｚｅ＿Ｆｕｌｌ）を取得する。
Ｓ７０４において、制御部１２１は、管理ファイルから差分アップデータのサイズ（Ｓｉｚｅ＿Ｄｉｆｆ）を取得する。差分アップデータのサイズを取得するために、制御部１２１は、各々の差分ファイルに付随された管理ファイルから、差分ファイルのサイズを取得する。そして、制御部１２１は、Ｓ７０２で取得した既存のアプリのバージョンからアプリの最新のバージョンまでの差分アップデータのファイルサイズの合計を算出する。
【００１８】
Ｓ７０５において、制御部１２１は、Ｓｉｚｅ＿Ｄｉｆｆ  ≦  Ｓｉｚｅ＿Ｆｕｌｌであるか否かを判断する。Ｓｉｚｅ＿Ｄｉｆｆ  ≦  Ｓｉｚｅ＿Ｆｕｌｌである場合、Ｓ７０６において、制御部１２１は、サーバ装置１００に差分アップデータを要求し、取得する。Ｓｉｚｅ＿Ｄｉｆｆ  ≦  Ｓｉｚｅ＿Ｆｕｌｌではない場合、Ｓ７０７において、制御部１２１は、サーバ装置１００にフルアップデータを要求し、取得する。
Ｓ７０８において、制御部１２１は、Ｓ７０６で取得した差分アップデータ又はＳ７０７で取得したフルアップデータを利用してアプリのアップデート処理を実行する。
【００１９】
（実施形態３）
図８は、クライアント装置１２０がアップデータをダウンロードできず、アップデートに失敗した場合に、別のアップデータでリトライする処理の一例を示すフローチャートである。
制御部１２１は、アップデータに基づいてアプリのアップデート処理を実行し（Ｓ４０３又はＳ７０８）、その後、Ｓ８０１において、アプリのアップデートが成功したかを判別する。
失敗した場合、Ｓ８０２において、制御部１２１は、異なるアップデータをサーバ装置１００へ要求する。例えば、差分アップデータを用いたアップデートに失敗した場合は、サーバ装置１００へフルアップデータを要求する。
Ｓ８０３において、制御部１２１は、サーバ装置１００から、要求したアップデータを取得したか否かを判定する。サーバ装置からアップデータを取得すると、Ｓ４０３又はＳ７０８において、制御部１２１は、再度、アプリのアップデート処理を新たに取得されたアップデータを用いて実行する。
【００２０】
（実施形態４）
図９は、制御部１０１がサーバ装置１００の古い差分アップデータを削除する手順を示すフローチャートである。
Ｓ９０１において、制御部１０１は、アップデータが公開されたかを判断する。ここで述べるアップデータは、差分アップデータ、フルアップデータを指す。
アップデータが公開された場合、Ｓ９０２において、制御部１０１は、フルアップデータサイズ（Ｓｉｚｅ＿Ｆｕｌｌ）を取得する。
Ｓ９０３において、制御部１０１は、差分アップデータのサイズ（Ｓｉｚｅ＿Ｄｉｆｆ）を取得する。ここで述べる差分アップデータのサイズとは、サーバ装置１００に置かれている全ての差分アップデータの合計サイズを指す。
Ｓ９０４において、制御部１０１は、Ｓｉｚｅ＿Ｆｕｌｌ  ≦  Ｓｉｚｅ＿Ｄｉｆｆ  であるか否か、つまり、フルアップデータのサイズが、差分アップデータの合計サイズ以下であるか否か、を判断する。Ｓｉｚｅ＿Ｆｕｌｌ  ≦  Ｓｉｚｅ＿Ｄｉｆｆである場合、古い差分アップデータをサーバ装置１００に置いていたとしても、制御部１０１は、フルアップデータをアップデート手段として制御部１２１に通知する。そのため、古い差分アップデータをサーバ装置に置いておく必要が無い。
したがって、Ｓ９０５において、制御部１０１は、古い差分アップデータをサーバ装置１００から削除する。
Ｓｉｚｅ＿Ｆｕｌｌ  ≦  Ｓｉｚｅ＿Ｄｉｆｆではない場合、古い差分アップデータを削除する必要が無いため、制御部１０１は、何も処理を行わない。
これによって、過去の不要な差分アップデータを削除できるため、サーバ装置１００の負荷を下げることができる。
【００２１】
図１０は、古い差分アップデータを削除する一例を示す図である。図１０の例では、現在、アップデータが公開されているサーバ装置と準備中のサーバ装置とが存在する。
公開中のサーバ装置１００１には、ふたつのアップデータが公開されている。ひとつはバージョン６．９のフルアップデータである。もうひとつは、バージョン６．９までの差分アップデータである。差分アップデータは、バージョン６．６から６．７、６．７から６．８、６．８から６．９の３つから構成された例である。
準備中のサーバ装置１００２には、バージョン７．０のフルアップデータ及びバージョン６．９から７．０までの差分アップデータが置かれている。これらのアップデータを準備中から公開中にステータスを変更する。
公開中のサーバ装置１００３は、準備中のサーバ装置１００２からバージョン６．９から７．０の差分アップデータが移動された構成図である。
【００２２】
次に、準備中のサーバ装置１００４にあるバージョン７．０のフルアップデータを公開中に変更する。公開中のサーバ装置１００５は、準備中のサーバ装置１００４からバージョン７．０のフルアップデータが移動された構成図である。このとき準備中のサーバ装置１００６には、アップデータは存在しない。公開中のサーバ装置１００５には、バージョン７．０のフルアップデータとバージョン７．０の差分アップデータとが存在する。バージョン７．０のフルアップデータと差分アップデータとが公開された時点で、公開中のサーバ装置１００５は、両者のアップデータのサイズを比較する。このとき、バージョン７．０の差分アップデータは、バージョン６．９から７．０の差分アップデータが追加されたことにより、バージョン７．０のフルアップデータのサイズを上回っている。
例えば、クライアント装置のアプリバージョンが６．６の場合、バージョン７．０のフルアップデータのサイズのほうが差分アップデータのサイズよりも小さいので、フルアップデータを使用してアップデートすることを意味する。つまり、バージョン６．６から６．７の差分アップデータは、サーバ装置に公開されていたとしても、クライアントアプリからダウンロードされることは無くなってしまう。このようなファイルをサーバ装置に置いておくことは、サーバ装置に負荷が掛かる要因になる。そこで、公開中のサーバ装置１００７は、差分アップデータのサイズがフルアップデータのサイズを下回るまで、最も古い差分アップデータから順番に差分アップデータを削除する。本実施形態では、バージョン６．６から６．７の差分アップデータが公開中のサーバ装置１００７から削除されたことを示している。
【００２３】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００２４】
以上、上述した各実施形態によれば、ソフトウェアをアップデートする場合、差分アップデータとフルアップデーとタのうち、ファイルサイズが小さい方を自動的に選択してアップデートが行われる。したがって、ユーザに手間をかけることなく、ダウンロードに余計な時間や負荷を要さない方法でソフトウェアをアップデートすることができる。
【００２５】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００２６】
１００  サーバ装置、１２０  クライアント装置
【図１】
0005787688.tif 000002
【図２】
0005787688.tif 000003
【図３】
0005787688.tif 000004
【図４】
0005787688.tif 000005
【図５】
0005787688.tif 000006
【図６】
0005787688.tif 000007
【図７】
0005787688.tif 000008
【図８】
0005787688.tif 000009
【図９】
0005787688.tif 000010
【図１０】
0005787688.tif 000011