JP5800685B2 - 情報処理装置及びサーバ、制御方法、プログラム及び記録媒体 - Google Patents

情報処理装置及びサーバ、制御方法、プログラム及び記録媒体 Download PDF

Info

Publication number
JP5800685B2
JP5800685B2 JP2011240662A JP2011240662A JP5800685B2 JP 5800685 B2 JP5800685 B2 JP 5800685B2 JP 2011240662 A JP2011240662 A JP 2011240662A JP 2011240662 A JP2011240662 A JP 2011240662A JP 5800685 B2 JP5800685 B2 JP 5800685B2
Authority
JP
Japan
Prior art keywords
program
version
update data
stored
information processing
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
JP2011240662A
Other languages
English (en)
Other versions
JP2012128836A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2011240662A priority Critical patent/JP5800685B2/ja
Priority to US13/299,776 priority patent/US8818969B2/en
Publication of JP2012128836A publication Critical patent/JP2012128836A/ja
Application granted granted Critical
Publication of JP5800685B2 publication Critical patent/JP5800685B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

本発明は、プログラムの更新データにより、当該プログラムを異なるバージョンに更新する技術に関する。
PC等の情報処理装置ではアプリケーション等のプログラムを使用することで、様々な処理を実行することができる。このようなプログラムは、CD−ROM等のプログラムが記録された記録媒体により提供されるか、インターネットを介してサーバからのダウンロードにより入手可能である。
上述したようなプログラムの中にはバージョン管理され、機能修正や新機能の追加等により新たなバージョンへの更新用に更新データが提供されるものがある。このような更新データを用いたプログラムの更新には、次の2通りの方法がある。
更新に係る1つの方法は、プログラムの全体を更新する全更新データを用いて、新たなバージョンのプログラムをインストールする方法である。具体的には、既にインストールされている、更新前のバージョンのプログラムをアンインストールし、更新後のバージョンのプログラムである全更新データを用いてプログラムを再度インストールすることにより、プログラムの全体を更新する。
更新に係るもう1つの方法は、プログラムのデータのうち、変更が生じた一部のデータのみを更新する差分更新データを用いて、新たなバージョンのプログラムに変更する方法である。具体的には、差分更新データは、更新前のバージョンから更新後のバージョンの差分データを更新前のバージョンのプログラムに追加するか、変更が生じたファイルをファイル単位で上書きすることにより、更新後のバージョンのプログラムに更新する。
全更新データを用いる更新方法に比べ、差分更新データを用いる更新方法は、提供される更新データを例えばインターネットを介して取得する際にダウンロードするデータ量を少なくすることができるため、更新に要する時間を短縮することが可能になる。
プログラムの更新は、上述したようなアプリケーション等に限らず、情報処理装置の動作を司るオペレーティングシステム等の基本プログラムにおいても行われる。アプリケーション等のプログラムの中には、基本プログラムとして提供される一部のプログラムを使用して動作するものも存在するため、基本プログラムの更新により当該プログラムが動作しなくなることがある。
特許文献1には、基本プログラム及び当該基本プログラムを使用して動作するプログラムのそれぞれで、自プログラムのバージョンに適合する他のプログラムのバージョンを管理することで、他のプログラムが動作しなくなることを回避する方法が開示されている。具体的には、更新時に更新後の他のプログラムのバージョンが自プログラムのバージョンに適合しないバージョンである場合は、他のプログラムの更新を行わないように制御している。
特許第04029448号明細書
しかしながら、特許文献1のように自プログラムのバージョンに適合する他のプログラムのバージョンを管理する場合、例えば基本プログラムには多数存在するアプリケーション等のプログラムの適合するバージョンを管理しなければならない。また、適合するバージョンが記憶されていないプログラムは、一方のプログラムの更新後の動作が保証されない。
また、上述したように依存関係の存在するプログラム(依存プログラム)では次のような問題もある。例えばオペレーティングシステム等の基本プログラムの更新により、依存プログラムが動作しなくなり、当該依存プログラムを動作させるために差分更新データにより更新を行う場合を考える。このとき、動作しない依存プログラムへの差分更新データのインストールを試みた場合に、例えばレジストリ更新やCOM(Component Object Model)登録に失敗することがある。具体的には、動作しない依存プログラムを基本プログラムで動作可能なバージョンまで更新するまでに、複数のバージョンの差分更新データを用いる必要がある場合に、動作しないバージョンを経由するため、更新用のプログラムが動作せずに失敗することがある。
さらに、例えば依存プログラムが、当該依存プログラムの動作に必要なクラスライブラリであって、基本プログラムでも提供されているクラスライブラリを伴ってインストールされる場合を考える。このような場合、基本プログラムの更新が行われた際にクラスライブラリが更新されることがあり、依存プログラムはクラスライブラリの下位互換性がない場合は動作しなくなってしまう。このとき、依存プログラムの差分更新データを用いて更新を行ったとしても、提供するクラスライブラリに変更がない場合は差分更新データにクラスライブラリのデータが含まれないため、依存プログラムは動作しない。
本発明は、上述の問題点に鑑みてなされたものであり、第1のプログラムの更新により動作不可能になった、当該第1のプログラムを使用して動作する第2のプログラムを、適切な更新データを用いて動作可能なバージョンに更新することを目的とする。
前述の目的を達成するために、本発明の情報処理装置は、以下の構成を備える。
第1のプログラムを使用して動作する第2のプログラムを、更新データを用いて更新する情報処理装置であって、第1のプログラム及び第2のプログラムが記憶された記憶手段と、記憶手段に記憶されている第1及び第2のプログラムのバージョンを取得する取得手段と、第1のプログラムのバージョンごとに動作可能な第2のプログラムのバージョンが示された動作情報と、取得手段により取得されたバージョンとに基づいて、記憶されている第1のプログラムのバージョンで動作可能な第2のプログラムのバージョンの1つを、記憶されている第2のプログラムの更新後のバージョンとして設定する設定手段と、記憶されている第2のプログラムを更新後のバージョンに更新するために用いる更新データを、当該更新後のバージョン、記憶されている第2のプログラムのバージョン、及び動作情報から決定する決定手段と、を備え、決定手段は、記憶されている第2のプログラムのバージョンが記憶されている第1のプログラムのバージョンで動作可能なバージョンではない場合、第2のプログラムの全体を、記憶されている第1のプログラムのバージョンで動作可能な第2のプログラムのバージョンに更新する全更新データを含む1つ以上の更新データを、更新するために用いる更新データとして決定し、記憶されている第2のプログラムのバージョンが記憶されている第1のプログラムのバージョンで動作可能なバージョンである場合、全更新データを含まない、第2のプログラムの一部のデータを更新する差分更新データの1つ以上を、更新するために用いる更新データとして決定することを特徴とする。
このような構成により本発明によれば、第1のプログラムの更新により動作不可能になった、当該第1のプログラムを使用して動作する第2のプログラムを、適切な更新データを用いて動作可能なバージョンに更新することを可能とする。
本発明の実施形態に係るサーバ及びPCの機能構成を示したブロック図 実施形態に係るサーバ及びPCそれぞれの記録媒体に記録されている情報を示した図 実施形態に係る動作情報の一例を示した図 実施形態1に係る依存プログラム更新処理のフローチャート 実施形態1に係る更新データ決定処理のフローチャート 実施形態2に係る依存プログラム更新処理のフローチャート 実施形態2に係る更新データ送信処理のフローチャート 実施形態2に係る更新データ決定処理のフローチャート 変形例に係る更新データ決定処理のフローチャート
[実施形態1]
以下、本発明の好適な一実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、情報処理装置の一例としての、オペレーティングシステム(第1のプログラム)を使用して動作する依存プログラム(第2のプログラム)を更新データにより更新することが可能なPCに、本発明を適用した例を説明する。しかし、本発明は、第1のプログラムを使用して動作する第2のプログラムを更新データにより更新することが可能な任意の機器に適用可能である。
なお、本実施形態においてPCは、依存プログラムを更新する更新データをネットワーク上のサーバから取得するものとして説明するが、本発明の実施はこれに限らない。即ち、依存プログラムの更新データは例えばCD−ROMやDVD−ROM等の記録媒体に記録され、PCの備えるインタフェースを介して当該記録媒体から取得されるものであっても構わない。
また、本明細書において、「全更新データ」とは、依存プログラムの全体またはファイルを更新するデータであり、依存プログラムがいかなるバージョンであっても、特定のバージョンに更新可能なデータを指すものとする。また「差分更新データ」とは、依存プログラムの一部のデータまたはファイルを更新するデータであり、依存プログラムを、特定のバージョンから他の特定のバージョンに更新可能なデータを指すものとする。
<サーバ100及びPC200の構成>
図1は、本発明の実施形態に係るサーバ100及びPC200の機能構成を示すブロック図である。
サーバ100において、制御部101は例えばCPUであり、サーバ100が備える各ブロックの動作を制御する。具体的には制御部101は、サーバ100が備える各ブロックの動作プログラムをROM102より読み出し、RAM103に展開して実行することにより各ブロックの動作を制御する。ROM102は、書き換え可能な不揮発性メモリであり、サーバ100が備える各ブロックの動作プログラムに加え、各ブロックの動作に必要なパラメータ等の情報を記憶する。RAM103は、書き換え可能な揮発性メモリであり、サーバ100が備える各ブロックの動作において生成されたデータを一時的に格納する記憶領域として用いられる。
なお、本実施形態ではサーバ100が備える各ブロックの動作を当該ブロックの動作プログラムにより制御するものとして説明するが、本発明の実施はこれに限らず、各ブロックは当該動作プログラムと同様の処理を行う回路で構成されてもよい。
記録媒体104は、例えばサーバ100に備えられている内蔵メモリや、HDDやメモリカード等のサーバ100に着脱可能に接続される記録装置であり、本実施形態では図2(a)に示すような情報が記録されているものとする。具体的には記録媒体104は、PC200で実行されるオペレーティングシステムのバージョンごとに、当該バージョンのオペレーティングシステムで動作可能な依存プログラムのバージョンが示された動作情報を記録している。即ち、図3に示すような、依存プログラムのバージョンごとに、オペレーティングシステムのそれぞれのバージョンで動作可能であるか否かを示した情報が記録されている。また、記録媒体104は、PC200に記録されている依存プログラムを異なるバージョンの依存プログラムに更新するための、全更新データ及び差分更新データの2種類の更新データが記録されている。更新データは、サーバ100が提供可能な依存プログラムのバージョンのそれぞれについて、少なくとも差分更新データが記録媒体104に記録されており、全更新を行う可能性があるバージョンについては全更新データも提供可能に記録されているものとする。なお、動作情報には依存プログラムのバージョンのそれぞれについて、全更新データが存在するか否かを示す情報が記録されている。
通信部105は、サーバ100が備えるデータ送受信のための通信インタフェースであり、本実施形態ではインターネットを介してPC200と接続する。通信部105は、PC200から更新データの要求を受信すると、制御部101の制御により、記録媒体104に記憶されている更新データのうち、当該要求された更新データをPC200に送信する。
PC200において、PC制御部201は例えばCPUであり、PC200が備える各ブロックの動作を制御する。具体的にはPC制御部201は、PC200が備える各ブロックの動作プログラムをPC−ROM202より読み出し、PC−RAM203に展開して実行することにより各ブロックの動作を制御する。PC−ROM202は、書き換え可能な不揮発性メモリであり、PC200が備える各ブロックの動作プログラムに加え、各ブロックの動作に必要なパラメータ等の情報を記憶する。PC−RAM203は、書き換え可能な揮発性メモリであり、PC200が備える各ブロックの動作において生成されたデータを一時的に格納する記憶領域として用いられる。
なお、本実施形態ではPC200が備える各ブロックの動作を当該ブロックの動作プログラムにより制御するものとして説明するが、本発明の実施はこれに限らず、各ブロックは当該動作プログラムと同様の処理を行う回路で構成されてもよい。
PC記録媒体204は、例えばPC200に備えられている内蔵メモリや、HDDやメモリカード等のPC200に着脱可能に接続される記録装置であり、本実施形態では図2(b)に示すような情報が記録されているものとする。PC記録媒体204は、オペレーティングシステム及び依存プログラムのデータ、及び当該オペレーティングシステム及び依存プログラムそれぞれのバージョンを管理するバージョンを記録している。
PC通信部205は、PC200が備えるデータ送受信のための通信インタフェースであり、本実施形態ではインターネットを介してサーバ100と接続する。PC通信部205は、PC制御部201の制御により、PC記録媒体204に記録されている依存プログラムを更新するための更新データが後述するPC更新データ決定部208で決定された場合に、当該決定された更新データの要求をサーバ100に送信する。また、PC通信部205は送信した更新データの要求に応じてサーバ100から更新データを受信する。
操作入力部206は、例えばキーボードやマウス等のPC200が備える、ユーザからの入力を受け付けるユーザインタフェースであり、ユーザから入力された操作内容を解析し、PC制御部201に伝送する。表示部207は、PC200が備える、またはPC200に接続されたLCD等の表示装置であり、オペレーティングシステム及び依存プログラムのGUIデータ等を表示する。
PC更新データ決定部208は、サーバ100に要求する、PC200に記録されている依存プログラムを更新するための更新データを決定するブロックである。具体的にはPC更新データ決定部208は、PC記録媒体204に記録されているオペレーティングシステム及び依存プログラムのバージョンを参照する。そして、PC更新データ決定部208は、PC200のオペレーティングシステムのバージョンで動作する依存プログラムのバージョンへの更新データを、現在PC記録媒体204に記録されている依存プログラムのバージョンに応じて決定する。
<依存プログラム更新処理>
このような構成をもつ本実施形態のPC200の依存プログラム更新処理について、図4のフローチャートを用いて具体的な処理を説明する。当該フローチャートに対応する処理は、PC制御部201が、例えばPC記録媒体204に記憶されている対応する処理プログラムを読み出し、PC−RAM203に展開して実行することにより実現することができる。なお、本依存プログラム更新処理は、例えば当該依存プログラムが起動された際に開始されるものとして説明する。
S401で、PC制御部201は、PC記録媒体204に記録されている依存プログラム及びオペレーティングシステムのバージョンを取得する。具体的にはPC制御部201は、PC記録媒体204に記録されている、オペレーティングシステム及び依存プログラムのバージョンを読み出し、それぞれのプログラムのバージョンを取得する。
S402で、PC制御部201は、PC通信部205を介してサーバ100に、オペレーティングシステムのバージョンごとに、動作する依存プログラムのバージョンが示された動作情報を送信させるための要求コマンドを送信する。そしてS403で、PC制御部201は、PC通信部205を介して、サーバ100から動作情報を受信するまで処理を待機する。
サーバ100から動作情報を受信すると、S404でPC制御部201は、受信した動作情報に、PC200のオペレーティングシステムのバージョンにおける依存プログラムの動作に関する情報が存在しているかを判断する。即ち、サーバ100が当該オペレーティングシステムのバージョンに対する更新データを提供可能であるか否かを判断する。PC制御部201は動作情報にPC200のオペレーティングシステムのバージョンに係る情報が存在している場合は処理をS406に移し、存在していない場合は処理をS405に移す。
動作情報にPC200のオペレーティングシステムのバージョンに係る情報が存在していない場合、S405でPC制御部201は、表示部207に当該オペレーティングシステムのバージョンに依存プログラムが対応していないことを通知するGUIを表示する。その後、PC制御部201は本依存プログラム更新処理を完了する。
S406でPC制御部201は、動作情報を参照し、依存プログラムの更新後のバージョンを決定する。具体的にはPC制御部201は、動作情報を参照し、PC200のオペレーティングシステムのバージョンで動作する依存プログラムのバージョンのうち、最新のバージョンを更新後のバージョンとして決定する。例えば図3のように動作情報が構成されていた場合、PC200のオペレーティングシステムのバージョンが「b」であった場合は、当該バージョンbで動作する依存プログラムのバージョンのうちの最新のバージョンは、「1.4」に決定される。
なお、本実施形態では、オペレーティングシステムのバージョンで動作する依存プログラムのバージョンのうちの最新のバージョンを、更新後のバージョンとして決定する方法について説明するが、本発明の実施はこれに限らない。即ち、依存プログラムの更新後のバージョンは、ユーザが所望するバージョンであってもよく、例えば本ステップで動作する依存プログラムのバージョンのリストを表示部207に表示させてユーザに選択可能としてもよい。
S407で、PC制御部201は、S406で決定された依存プログラムの更新後のバージョンが、現在PC記録媒体204に記録されている依存プログラムのバージョンと異なるか否かを判断する。PC制御部201はPC記録媒体204に記録されている依存プログラムのバージョンとS406で決定された更新後のバージョンが異なる場合は処理をS409に移し、同一である場合は処理をS408に移す。
S408で、PC制御部201は本依存プログラム更新処理において更新を行う必要がないため、表示部207に依存プログラムの更新が不要であることを通知するGUIを表示させる。そしてPC制御部201は、本依存プログラム更新処理を完了する。
S409で、PC制御部201は、サーバ100に要求する更新データを決定する、更新データ決定処理を実行する。ここで、PC200で実行される当該更新データ決定処理について、図5を参照して詳細に説明する。
(更新データ決定処理(PC))
S501で、PC制御部201は、PC記録媒体204に記憶されているオペレーティングシステム及び依存プログラムのバージョン、サーバ100から受信した動作情報、及び更新後のバージョンの情報をPC更新データ決定部208に入力する。そしてPC更新データ決定部208はPC制御部201の制御に基づき、動作情報を参照して現在の依存プログラムのバージョンが、PC200のオペレーティングシステムのバージョンで動作するバージョンであるか否かを判断する。
即ち、本ステップにおいて、PC制御部201は、現在の依存プログラムのバージョンがPC200のオペレーティングシステムのバージョンで動作するバージョンであるとPC更新データ決定部208により判断された場合は、処理をS502に移す。またPC制御部201は、現在の依存プログラムのバージョンがPC200のオペレーティングシステムのバージョンで動作しないバージョンであるとPC更新データ決定部208により判断された場合は、処理をS503に移す。
S502で、PC更新データ決定部208はPC制御部201の制御に基づき、現在の依存プログラムのバージョンから更新後のバージョンまでの各バージョン間についてサーバ100が有する差分更新データを、全て要求すると決定する。即ち、現在の依存プログラムのバージョンが、PC200のオペレーティングシステムのバージョンで動作が保証されるため、当該依存プログラムの更新は、一部のデータを更新する差分更新データのみで行うことができる。
S503で、PC更新データ決定部208はPC制御部201の制御に基づき、更新後のバージョン以下の、PC200のオペレーティングシステムのバージョンで動作可能なバージョンのうち、全更新データを提供可能なバージョンが存在するか否かを判断する。具体的にはPC更新データ決定部208は動作情報を参照し、更新後のバージョン以下の更新データであって、PC200のオペレーティングシステムのバージョンで動作可能なバージョンの全更新データが存在するか否かを判断する。
PC制御部201は、更新後のバージョン以下の、オペレーティングシステムのバージョンで動作可能なバージョンのうち、全更新データを提供可能なバージョンが存在するとPC更新データ決定部208により判断された場合は、処理をS504に移す。またPC制御部201は、更新後のバージョン以下の、オペレーティングシステムのバージョンで動作可能なバージョンのうち、全更新データを提供可能なバージョンが存在しないとPC更新データ決定部208により判断された場合は、処理をS505に移す。
S504で、PC更新データ決定部208はPC制御部201の制御により、更新後のバージョン以下の全更新データを提供可能な依存プログラムのバージョンのうち、オペレーティングシステムで動作可能な最新のバージョンの全更新データを要求すると決定する。
全更新データは現在の依存プログラムのバージョンに関わらず全体を更新するため、現在の依存プログラムのバージョンがオペレーティングシステムで動作しないバージョンであっても、動作可能なバージョンに1つの全更新データで更新できる。即ち、動作可能なバージョンに依存プログラムを更新した後は、S502と同様に更新後のバージョンまではデータ量の少ない差分更新データのみを用いることで更新可能である。
つまり、本実施形態のようにインターネットを介して更新データをダウンロードする場合は、ダウンロードするデータ量を少なくすることで、依存プログラムの更新処理に係る時間を短縮することができる。このため、本実施形態ではオペレーティングシステムで動作可能なバージョンのうち、更新後のバージョン以下であって、全更新データを提供可能な最も新しいバージョンの全更新データを少なくとも要求することで、更新処理に係る時間を短縮する。
なお、PC更新データ決定部208は、更新後のバージョンへの全更新データが存在しない場合は、サーバ100に要求する更新データとして、上述したように要求する全更新データから更新後のバージョンまでの間の差分更新データも要求するものとする。即ち、PC更新データ決定部208は、PC200のオペレーティングシステムのバージョンで動作可能な、少なくとも1つの全更新データを含む、最小のデータ量で更新後のバージョンに更新可能な更新データの組み合わせを要求すると決定する。しかしながら、本発明の実施はこれに限らず、少なくともオペレーティングシステムのバージョンで動作可能な全更新データを用いて更新することで、依存プログラムが当該オペレーティングシステムで動作しない場合であっても更新可能な効果を奏する。
S505で、PC制御部201は、PC記録媒体204に記録されている依存プログラムを、PC200のオペレーティングシステムのバージョンで動作可能なバージョンに更新することができないと判断する。そしてPC制御部201は、表示部207に依存プログラムの更新が不可能であることを通知するGUIを表示させ、本更新データ決定処理及び依存プログラム更新処理を完了する。
このように更新データ決定処理により、サーバ100に要求する更新データが決定された後、PC制御部201はS410で、当該決定された要求する更新データを要求するコマンドを、PC通信部205を介してサーバ100に送信する。そしてS411で、PC制御部201は要求した更新データがPC通信部205で受信されるまで処理を待機する。
S412で、PC制御部201はS411で受信した更新データを用いてPC記録媒体204に記録されている依存プログラムの更新を行う。具体的にはPC制御部201は、受信した更新データのうち、依存プログラムのバージョンが古いものから順に更新データを適用することにより、更新後のバージョンの依存プログラムに更新する。
以上説明したように、本実施形態の情報処理装置は、記憶している第1のプログラムを使用して動作する第2のプログラムを更新する際に次のように処理する。具体的には情報処理装置は、第1のプログラムのバージョンごとに動作可能な第2のプログラムのバージョンが示された動作情報と、第1及び第2のプログラムのバージョンに基づき、更新後のバージョンを設定する。このとき情報処理装置は、記憶されている第2のプログラムのバージョンが、記憶されている第1のプログラムで動作可能なバージョンであるか否かにより更新に用いる更新データを決定する。第2のプログラムが第1のプログラムで動作可能なバージョンではない場合、第2のプログラムの全体を、第1のプログラムで動作可能な第2のプログラムのバージョンに更新する全更新データを含む1つ以上の更新データを更新データとして決定する。また第2のプログラムが第1のプログラムで動作可能なバージョンである場合、全更新データを含まず、第2のプログラムの一部のデータを更新する差分更新データの1つ以上を更新データとして決定する。
このようにすることで、情報処理装置は、第1のプログラムの更新により動作不可能になった、当該第1のプログラムを使用して動作する第2のプログラムを、適切な更新データを用いて動作可能なバージョンに更新することができる。
[実施形態2]
上述した実施形態では、PC200に記録されている依存プログラムを、オペレーティングシステムのバージョンで動作可能なバージョンに更新するために必要な更新データを、PC更新データ決定部208で決定して要求する方法について説明した。本実施形態では、当該更新するために必要な更新データを、サーバ100が備える更新データ決定部106にて決定してPC200に送信する方法について説明する。即ち、PC200からサーバ100に対し、動作情報の送信及び決定した更新データの送信の要求を2回に分けて送信する必要がなく、PC200は1回の更新データの要求のみで最適な更新データを受信することができる。
<サーバ100及びPC200の構成>
本実施形態のサーバ100及びPC200の機能構成は、上述した実施形態1と略同一であるが、サーバ100には更新データ決定部106が追加され、PC200からはPC更新データ決定部208が削除された構成となる。
更新データ決定部106は、PC200に送信する、PC200に記録されている依存プログラムを更新するための更新データを決定するブロックである。具体的には更新データ決定部106は、PC200のオペレーティングシステム及び依存プログラムのバージョンを取得する。そして、更新データ決定部106は、PC200のオペレーティングシステムのバージョンで動作する依存プログラムのバージョンへの更新データを、現在PC200に記録されている依存プログラムのバージョンに応じて決定する。
<依存プログラム更新処理>
このような構成をもつ本実施形態のPC200の依存プログラム更新処理について、図6のフローチャートを用いて具体的な処理を説明する。当該フローチャートに対応する処理は、PC制御部201が、例えばPC記録媒体204に記憶されている対応する処理プログラムを読み出し、PC−RAM203に展開して実行することにより実現することができる。なお、本依存プログラム更新処理は、例えば当該依存プログラムが起動された際に開始されるものとして説明する。また、本依存プログラム更新処理において、実施形態1の依存プログラム更新処理と同様の処理を行うブロックに付いては、同一の参照番号を付して説明を省略し、本実施形態に特徴的な処理の説明のみに留めるものとする。
S601で、PC制御部201は、PC通信部205を介してサーバ100に、S401で取得したバージョンを送信するとともに、依存プログラムの更新データを送信させるための要求コマンドを送信する。そしてS602で、PC制御部201は、PC通信部205を介してサーバ100からコマンドを受信するまで処理を待機し、コマンドを受信すると処理をS603に移す。
S603で、PC制御部201は受信したコマンドが、更新データの送信に係るコマンドである場合は処理をS412に移す。またPC制御部201は、当該更新データの送信以外のコマンドである場合は処理をS604に移し、当該受信したコマンドに応じた処理を行い、本依存プログラム更新処理を完了する。
<更新データ送信処理>
一方、サーバ100での更新データ決定処理について、図7のフローチャートを用いて具体的な処理を説明する。当該フローチャートに対応する処理は、制御部101が、例えばROM102に記憶されている対応する処理プログラムを読み出し、PC−RAM203に展開して実行することにより実現することができる。なお、本更新データ送信処理は、例えば通信部105においてPC200からの更新データの要求コマンドを受信した場合に開始されるものとして説明する。
S701で、制御部101は、記録媒体104に記録されている動作情報に、受信したバージョンに含まれている、PC200のオペレーティングシステムのバージョンにおける依存プログラムの動作に関する情報が存在しているかを判断する。即ち、制御部101は、当該オペレーティングシステムのバージョンに対する更新データが記録媒体104に記録されているか否かを判断する。制御部101は、動作情報にPC200のオペレーティングシステムのバージョンに係る情報が存在している場合は処理をS703に移し、存在していない場合は処理をS702に移す。
動作情報にオペレーティングシステムのバージョンに係る情報が存在していない場合、S702で制御部101は、PC200に対し通信部105を介して当該オペレーティングシステムのバージョンに依存プログラムが対応していないこと示すコマンドを送信する。その後制御部101は、本更新データ送信処理を完了する。なお、当該対応していないことを示すコマンドをPC200が受信すると、PC制御部201は表示部207に、依存プログラムがオペレーティングシステムのバージョンに対応していないことを示すGUIデータを表示させればよい。
S703で、制御部101は、動作情報を参照し、PC200に記録されている依存プログラムの更新後のバージョンを決定する。具体的には制御部101は、動作情報を参照し、PC200のオペレーティングシステムのバージョンで動作する依存プログラムのバージョンのうち、最新のバージョンを更新後のバージョンとして決定する。
なお、本実施形態では、オペレーティングシステムのバージョンで動作する依存プログラムのバージョンのうちの最新のバージョンを、更新後のバージョンとして決定する方法について説明するが、本発明の実施はこれに限らない。即ち、依存プログラムの更新後のバージョンは、ユーザが所望するバージョンであってもよく、例えば本ステップで動作する依存プログラムのバージョンのリストをPC200に送信し、表示部207に表示させてユーザに選択可能としてもよい。
S704で、制御部101は、S703で決定された依存プログラムの更新後のバージョンが、PC200に記録されている依存プログラムのバージョンと異なるか否かを判断する。制御部101は、PC200から受信したバージョンを参照し、PC200に記録されている依存プログラムのバージョンとS703で決定された更新後のバージョンが異なる場合は処理をS706に移し、同一である場合は処理をS705に移す。
S705で、制御部101は本更新データ送信処理において更新を行う必要がないため、依存プログラムの更新が不要であることを示すコマンドを送信し、本更新データ送信処理を完了する。なお、当該更新が不要であることを示すコマンドをPC200が受信すると、PC制御部201は、表示部207に依存プログラムの更新が不要であることを通知するGUIを表示させればよい。
S706で、制御部101は、PC200に送信する更新データを決定する、更新データ決定処理を実行する。ここで、サーバ100で実行される当該更新データ決定処理について、図8を参照して詳細に説明する。
(更新データ決定処理(サーバ))
S801で、制御部101は、受信したPC200に記憶されているオペレーティングシステム及び依存プログラムのバージョン、記録媒体104に記録されている動作情報、及び更新後のバージョンの情報を更新データ決定部106に入力する。そして更新データ決定部106は制御部101の制御に基づき、動作情報を参照して現在の依存プログラムのバージョンが、PC200のオペレーティングシステムのバージョンで動作するバージョンであるか否かを判断する。
即ち、本ステップにおいて、制御部101は、現在の依存プログラムのバージョンがPC200のオペレーティングシステムのバージョンで動作するバージョンであると更新データ決定部106により判断された場合は、処理をS802に移す。また制御部101は、現在の依存プログラムのバージョンがPC200のオペレーティングシステムのバージョンで動作しないバージョンであると更新データ決定部106により判断された場合は、処理をS803に移す。
S802で、更新データ決定部106は制御部101の制御に基づき、現在の依存プログラムのバージョンから更新後のバージョンまでの各バージョン間について記録媒体104に記録されている差分更新データを、全て送信すると決定する。即ち、現在の依存プログラムのバージョンが、PC200のオペレーティングシステムのバージョンで動作が補償されるため、当該依存プログラムの更新は、一部のデータを更新する差分更新データのみで行うことができる。
S803で、更新データ決定部106は制御部101の制御に基づき、更新後のバージョン以下の、PC200のオペレーティングシステムのバージョンで動作可能なバージョンのうち、全更新データを提供可能なバージョンが存在するか否かを判断する。具体的には更新データ決定部106は動作情報を参照し、更新後のバージョン以下の更新データであって、PC200のオペレーティングシステムのバージョンで動作可能なバージョンの全更新データが存在するか否かを判断する。
制御部101は、更新後のバージョン以下の、オペレーティングシステムのバージョンで動作可能なバージョンのうち、全更新データを提供可能なバージョンが存在すると更新データ決定部106により判断された場合は、処理をS804に移す。また制御部101は、更新後のバージョン以下の、オペレーティングシステムのバージョンで動作可能なバージョンのうち、全更新データを提供可能なバージョンが存在しないと更新データ決定部106により判断された場合は、処理をS805に移す。
S804で、更新データ決定部106は制御部101の制御により、更新後のバージョン以下の全更新データを提供可能な依存プログラムのバージョンのうち、オペレーティングシステムで動作可能な最新のバージョンの全更新データを送信すると決定する。
本実施形態のようにインターネットを介して更新データを送信する場合は、送信するデータ量を少なくすることで、依存プログラムの更新データの送信に係る時間を短縮することができる。このため、本実施形態ではオペレーティングシステムで動作可能なバージョンのうち、更新後のバージョン以下であって、全更新データを提供可能な最も新しいバージョンの全更新データを少なくとも送信することで、送信に係る時間を短縮する。
なお、更新データ決定部106は、更新後のバージョンへの全更新データが存在しない場合は、サーバ100に送信する更新データとして、上述したように送信する全更新データから更新後のバージョンまでの間の差分更新データも送信するものとする。即ち、更新データ決定部106は、PC200のオペレーティングシステムのバージョンで動作可能な、少なくとも1つの全更新データを含む、最小のデータ量で更新後のバージョンに更新可能な更新データの組み合わせを送信すると決定する。しかしながら、本発明の実施はこれに限らず、少なくともオペレーティングシステムのバージョンで動作可能な全更新データを送信して更新させることで、依存プログラムが当該オペレーティングシステムで動作しない場合であっても更新可能な効果を奏する。
S805で、制御部101は、PC200に記録されている依存プログラムを、PC200のオペレーティングシステムのバージョンで動作可能なバージョンに更新することができないと判断する。そして制御部101は依存プログラムの更新が不可能であることを示すコマンドを、通信部105を介してPC200に送信し、本更新データ決定処理及び更新データ送信処理を完了する。なお、当該更新が不可能であることを示すコマンドをPC200が受信すると、PC制御部201は、表示部207に依存プログラムの更新が不可能であることを通知するGUIを表示させればよい。
このように更新データ決定処理により、サーバ100に送信する更新データが決定された後、制御部101はS707で、当該決定された更新データを送信することを示すコマンドとともに当該決定された更新データを、通信部105を介してPC200に送信する。
以上説明したように、本実施形態のサーバは、情報処理装置から第1のプログラムを使用して動作する第2のプログラムの更新するための更新データを要求されると次のように処理する。具体的にはサーバは、第1のプログラムのバージョンごとに動作可能な第2のプログラムのバージョンが示された動作情報と、第1及び第2のプログラムのバージョンに基づき、更新後のバージョンを設定する。このときサーバは、情報処理装置に記憶されている第2のプログラムのバージョンが、情報処理装置に記憶されている第1のプログラムで動作可能なバージョンであるか否かにより、当該情報処理装置に対して送信する更新データを決定する。第2のプログラムが第1のプログラムで動作可能なバージョンではない場合、第2のプログラムの全体を、第1のプログラムで動作可能な第2のプログラムのバージョンに更新する全更新データを含む1つ以上の更新データを、送信する更新データとして決定する。また第2のプログラムが第1のプログラムで動作可能なバージョンである場合、全更新データを含まず、第2のプログラムの一部のデータを更新する差分更新データの1つ以上を送信する更新データとして決定する。
このようにすることで、情報処理装置は、第1のプログラムの更新により動作不可能になった、当該第1のプログラムを使用して動作する第2のプログラムを、サーバから受信した適切な更新データを用いて動作可能なバージョンに更新することができる。
なお、上述した実施形態1及び2では、第1のプログラムがオペレーティングシステムである場合について説明したが、本発明の実施がこれに限られないことは容易に理解されよう。即ち、第1のプログラムは、例えばブラウザ等のアプリケーションやライブラリ等、別のプログラムのプラットホームになり得るプログラムであってよく、第2のプログラムが当該第1のプログラムを利用して動作するものであれば本発明は適用可能である。
[変形例]
上述した実施形態1及び2では、更新データ決定処理において、現在の依存プログラムのバージョンがPC200のオペレーティングシステムのバージョンで動作するバージョンであるか否かにより、更新データを差分更新データのみとするか、あるいは全更新データを含む更新データとするかを判断する(S501、S801)ものとして説明した。しかしながら、更新データの決定方法はこれに限られなくてよい。
上述したように、全更新データは差分更新データに比べてデータ容量が大きくなり、更新データの送受信に時間を要する。このため、更新データは差分更新データのみで構成された方が、総データ量が小さくなり、更新データの送受信に係る時間を短縮することができると考えられる。
本変形例では、更新データが1以上の差分更新データのみで提供可能か否かを判断することにより、提供する更新データを決定する方法について説明する。
<更新データ決定処理(PC)>
本変形例のPC200の更新データ決定処理について、図9のフローチャートを用いて具体的な処理を説明する。当該フローチャートに対応する処理は、PC制御部201が、例えばPC記録媒体204に記憶されている対応する処理プログラムを読み出し、PC−RAM203に展開して実行することにより実現することができる。なお、本変形例の更新データ決定処理において、上述した実施形態1と同様の処理を行うステップについては同一の参照番号を付して説明を省略し、本変形例において特徴的なステップの説明に留める。なお、本変形例ではPC200の更新データ決定処理について説明するが、本変形は実施形態2のサーバ100の更新データ決定処理においても同様に適用可能であることは容易に想像されよう。
S901で、PC制御部201は、PC記録媒体204に記憶されているオペレーティングシステム及び依存プログラムのバージョン、サーバ100から受信した動作情報、及び更新後のバージョンの情報をPC更新データ決定部208に入力する。そしてPC更新データ決定部208はPC制御部201の制御に基づき、動作情報を参照して現在の依存プログラムのバージョンから更新後のバージョンまでの更新に必要な全ての差分更新データの各々について、次の判断を行う。PC更新データ決定部208は、各差分更新データによる更新後の依存プログラムのバージョンが、PC200のオペレーティングシステムのバージョンで動作するバージョンあるか否かを判断する。そしてPC制御部201は、現在の依存プログラムのバージョンから更新後のバージョンまでの更新に必要な差分更新データの全てが、更新後の依存プログラムのバージョンがPC200のオペレーティングシステムのバージョンで動作するバージョンであるとPC更新データ決定部208により判断された場合は処理をS502に移す。またPC制御部201は、現在の依存プログラムのバージョンから更新後のバージョンまでの更新に必要な差分更新データのいずれかが、更新後の依存プログラムのバージョンがPC200のオペレーティングシステムのバージョンで動作しないバージョンであるとPC更新データ決定部208により判断された場合は処理をS503に移す。
このようにすることで、例えばPC200のオペレーティングシステムのバージョンで動作する依存プログラムのバージョンが、「1.1〜1.2」及び「1.4〜1.6」のように、動作不可能なバージョンが一時的にあるような場合であっても、更新データを差分更新データのみで構成するか、あるいは全更新データを含める必要があるかを適切に判断して、更新データを決定することができる。
[その他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (21)

  1. 第1のプログラムを使用して動作する第2のプログラムを、更新データを用いて更新する情報処理装置であって、
    前記第1のプログラム及び前記第2のプログラムが記憶された記憶手段と、
    前記記憶手段に記憶されている第1及び第2のプログラムのバージョンを取得する取得手段と、
    前記第1のプログラムのバージョンごとに動作可能な前記第2のプログラムのバージョンが示された動作情報と、前記取得手段により取得された前記バージョンとに基づいて、前記記憶されている第1のプログラムのバージョンで動作可能な前記第2のプログラムのバージョンの1つを、前記記憶されている第2のプログラムの更新後のバージョンとして設定する設定手段と、
    前記記憶されている第2のプログラムを前記更新後のバージョンに更新するために用いる更新データを、当該更新後のバージョン、前記記憶されている第2のプログラムのバージョン、及び前記動作情報から決定する決定手段と、を備え、
    前記決定手段は、
    前記記憶されている第2のプログラムのバージョンが前記記憶されている第1のプログラムのバージョンで動作可能なバージョンではない場合、前記第2のプログラムの全体を、前記記憶されている第1のプログラムのバージョンで動作可能な前記第2のプログラムのバージョンに更新する全更新データを含む1つ以上の更新データを、前記更新するために用いる更新データとして決定し、
    前記記憶されている第2のプログラムのバージョンが前記記憶されている第1のプログラムのバージョンで動作可能なバージョンである場合、前記全更新データを含まない、前記第2のプログラムの一部のデータを更新する差分更新データの1つ以上を、前記更新するために用いる更新データとして決定する
    ことを特徴とする情報処理装置。
  2. サーバと通信する通信手段と、
    前記決定手段により決定された、前記更新するために用いる更新データを、前記通信手段を介して前記サーバに要求する要求手段と、をさらに備えることを特徴とする請求項1に記載の情報処理装置。
  3. 前記決定手段は、前記動作情報を前記サーバから前記通信手段を介して取得することを特徴とする請求項2に記載の情報処理装置。
  4. 前記要求手段は、前記決定手段により決定された前記全更新データが前記サーバに存在しない場合に、前記記憶されている第1のプログラムのバージョンで動作可能な前記第2のプログラムのバージョンのうち、当該全更新データにより更新された場合の前記第2のプログラムのバージョンよりも古いバージョンに、前記記憶されている第2のプログラムを更新する全更新データと、当該古いバージョンに更新された前記記憶されている第2のプログラムを当該古いバージョンから前記更新後のバージョンに更新する差分更新データとを要求することを特徴とする請求項2または3に記載の情報処理装置。
  5. 前記設定手段は、前記記憶されている第2のプログラムの更新後のバージョンを、前記記憶されている第1のプログラムのバージョンで動作可能な第2のプログラムのバージョンのうちからユーザに選択させることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 第1のプログラムを使用して動作する第2のプログラムを、更新データを用いて更新する情報処理装置であって、
    前記第1のプログラム及び前記第2のプログラムが記憶された記憶手段と、
    前記記憶手段に記憶されている第1及び第2のプログラムのバージョンを取得する取得手段と、
    前記第1のプログラムのバージョンごとに動作可能な前記第2のプログラムのバージョンが示された動作情報と、前記取得手段により取得された前記バージョンとに基づいて、前記記憶されている第1のプログラムのバージョンで動作可能な前記第2のプログラムのバージョンの1つを、前記記憶されている第2のプログラムの更新後のバージョンとして設定する設定手段と、
    前記記憶されている第2のプログラムを前記更新後のバージョンに更新するために用いる更新データを、当該更新後のバージョン、前記記憶されている第2のプログラムのバージョン、及び前記動作情報から決定する決定手段と、を備え、
    前記決定手段は、
    前記記憶されている第2のプログラムを前記更新後のバージョンに更新するために必要となる1以上の差分更新データを利用する場合において、各々の差分更新データによる更新後の前記第2のプログラムのバージョンの全てが、前記第1のプログラムのバージョンで動作可能なバージョンである場合、前記1以上の差分更新データを、前記更新するために用いる更新データとして決定し、
    前記1以上の差分更新データのうちの少なくとも一つを利用した更新後の前記第2のプログラムのバージョンが、前記第1のプログラムのバージョンで動作不可能なバージョンである場合、前記第2のプログラムの全体を、前記記憶されている第1のプログラムのバージョンで動作可能な前記第2のプログラムのバージョンに更新する全更新データを含む1つ以上の更新データを、前記更新するために用いる更新データとして決定する
    ことを特徴とする情報処理装置。
  7. サーバと通信する通信手段と、
    前記決定手段により決定された、前記更新するために用いる更新データを、前記通信手段を介して前記サーバに要求する要求手段と、をさらに備えることを特徴とする請求項6に記載の情報処理装置。
  8. 前記要求手段は、前記決定手段により決定された前記全更新データが前記サーバに存在しない場合に、前記記憶されている第1のプログラムのバージョンで動作可能な前記第2のプログラムのバージョンのうち、当該全更新データにより更新された場合の前記第2のプログラムのバージョンよりも古いバージョンに、前記記憶されている第2のプログラムを更新する全更新データと、当該古いバージョンに更新された前記記憶されている第2のプログラムを当該古いバージョンから前記更新後のバージョンに更新する差分更新データとを要求することを特徴とする請求項7に記載の情報処理装置。
  9. 第1のプログラムと、当該第1のプログラムを使用して動作する第2のプログラムが記憶された記憶手段を備え、当該第2のプログラムを、更新データを用いて更新する情報処理装置の制御方法であって、
    前記情報処理装置の取得手段が、前記記憶手段に記憶されている第1及び第2のプログラムのバージョンを取得する取得工程と、
    前記情報処理装置の設定手段が、前記第1のプログラムのバージョンごとに動作可能な前記第2のプログラムのバージョンが示された動作情報と、前記取得工程において取得された前記バージョンとに基づいて、前記記憶されている第1のプログラムのバージョンで動作可能な前記第2のプログラムのバージョンの1つを、前記記憶されている第2のプログラムの更新後のバージョンとして設定する設定工程と、
    前記情報処理装置の決定手段が、前記記憶されている第2のプログラムを前記更新後のバージョンに更新するために用いる更新データを、当該更新後のバージョン、前記記憶されている第2のプログラムのバージョン、及び前記動作情報から決定する決定工程と、を備え、
    前記決定手段は前記決定工程において、
    前記記憶されている第2のプログラムのバージョンが前記記憶されている第1のプログラムのバージョンで動作可能なバージョンではない場合、前記第2のプログラムの全体を、前記記憶されている第1のプログラムのバージョンで動作可能な前記第2のプログラムのバージョンに更新する全更新データを含む1つ以上の更新データを、前記更新するために用いる更新データとして決定し、
    前記記憶されている第2のプログラムのバージョンが前記記憶されている第1のプログラムのバージョンで動作可能なバージョンである場合、前記全更新データを含まない、前記第2のプログラムの一部のデータを更新する差分更新データの1つ以上を、前記更新するために用いる更新データとして決定する
    ことを特徴とする情報処理装置の制御方法。
  10. 第1のプログラムと、当該第1のプログラムを使用して動作する第2のプログラムが記憶された記憶手段を備え、当該第2のプログラムを、更新データを用いて更新する情報処理装置の制御方法であって、
    前記情報処理装置の取得手段が、前記記憶手段に記憶されている第1及び第2のプログラムのバージョンを取得する取得工程と、
    前記情報処理装置の設定手段が、前記第1のプログラムのバージョンごとに動作可能な前記第2のプログラムのバージョンが示された動作情報と、前記取得工程において取得された前記バージョンとに基づいて、前記記憶されている第1のプログラムのバージョンで動作可能な前記第2のプログラムのバージョンの1つを、前記記憶されている第2のプログラムの更新後のバージョンとして設定する設定工程と、
    前記情報処理装置の決定手段が、前記記憶されている第2のプログラムを前記更新後のバージョンに更新するために用いる更新データを、当該更新後のバージョン、前記記憶されている第2のプログラムのバージョン、及び前記動作情報から決定する決定工程と、を備え、
    前記決定手段は前記決定工程において、
    前記記憶されている第2のプログラムを前記更新後のバージョンに更新するために必要となる1以上の差分更新データを利用する場合において、各々の差分更新データによる更新後の前記第2のプログラムのバージョンの全てが、前記第1のプログラムのバージョンで動作可能なバージョンである場合、前記1以上の差分更新データを、前記更新するために用いる更新データとして決定し、
    前記1以上の差分更新データのうちの少なくとも一つを利用した更新後の前記第2のプログラムのバージョンが、前記第1のプログラムのバージョンで動作不可能なバージョンである場合、前記第2のプログラムの全体を、前記記憶されている第1のプログラムのバージョンで動作可能な前記第2のプログラムのバージョンに更新する全更新データを含む1つ以上の更新データを、前記更新するために用いる更新データとして決定する
    ことを特徴とする情報処理装置の制御方法。
  11. コンピュータを、請求項1乃至8のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
  12. コンピュータを、請求項1乃至8のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラムを記録した記録媒体。
  13. 第1のプログラム、及び当該第1のプログラムを使用して動作する第2のプログラムが記憶された情報処理装置と通信する通信手段と、
    前記情報処理装置に記憶されている第1及び第2のプログラムのバージョンを、前記通信手段を介して取得する取得手段と、
    前記第1のプログラムのバージョンごとに動作可能な前記第2のプログラムのバージョンが示された動作情報と、前記第2のプログラムのバージョンごとに当該バージョンに前記第2のプログラムを更新するために用いる更新データとが記憶された記憶手段と、
    前記取得手段により取得された前記バージョンと、前記記憶手段に記憶されている前記動作情報とに基づいて、前記情報処理装置に記憶されている第1のプログラムのバージョンで動作可能な前記第2のプログラムのバージョンの1つを、前記情報処理装置に記憶されている第2のプログラムの更新後のバージョンとして設定する設定手段と、
    前記情報処理装置に記憶されている第2のプログラムを前記更新後のバージョンに更新するために用いる更新データを、当該更新後のバージョン、前記情報処理装置に記憶されている第2のプログラムのバージョン、及び前記動作情報から決定する決定手段と、
    前記決定手段により決定された前記更新するために用いる更新データを、前記通信手段を介して前記情報処理装置に送信する送信手段と、を備え
    前記決定手段は、
    前記情報処理装置に記憶されている第2のプログラムのバージョンが前記情報処理装置に記憶されている第1のプログラムで動作可能なバージョンではない場合、前記第2のプログラムの全体を、前記情報処理装置に記憶されている第1のプログラムのバージョンで動作可能な前記第2のプログラムのバージョンに更新する全更新データを含む1つ以上の更新データを、前記更新するために用いる更新データとして決定し、
    前記情報処理装置に記憶されている第2のプログラムのバージョンが前記情報処理装置に記憶されている第1のプログラムで動作可能なバージョンである場合、前記全更新データを含まない、前記第2のプログラムの一部のデータを更新する差分更新データの1つ以上を、前記更新するために用いる更新データとして決定する
    ことを特徴とするサーバ。
  14. 前記送信手段は、前記決定手段により決定された前記全更新データが前記記憶手段に記憶されていない場合に、前記情報処理装置に記憶されている第1のプログラムのバージョンで動作可能な前記第2のプログラムのバージョンのうち、当該全更新データにより更新された場合の前記第2のプログラムのバージョンよりも古いバージョンに、前記情報処理装置に記憶されている第2のプログラムを更新する全更新データと、当該古いバージョンに更新された前記情報処理装置に記憶されている第2のプログラムを当該古いバージョンから前記更新後のバージョンに更新する差分更新データとを送信することを特徴とする請求項13に記載のサーバ。
  15. 前記設定手段は、前記情報処理装置に記憶されている第2のプログラムの更新後のバージョンを、前記記憶されている第1のプログラムのバージョンで動作可能な第2のプログラムのバージョンのうちからユーザに選択させることを特徴とする請求項13または14に記載のサーバ。
  16. 第1のプログラム、及び当該第1のプログラムを使用して動作する第2のプログラムが記憶された情報処理装置と通信する通信手段と、
    前記情報処理装置に記憶されている第1及び第2のプログラムのバージョンを、前記通信手段を介して取得する取得手段と、
    前記第1のプログラムのバージョンごとに動作可能な前記第2のプログラムのバージョンが示された動作情報と、前記第2のプログラムのバージョンごとに当該バージョンに前記第2のプログラムを更新するために用いる更新データとが記憶された記憶手段と、
    前記取得手段により取得された前記バージョンと、前記記憶手段に記憶されている前記動作情報とに基づいて、前記情報処理装置に記憶されている第1のプログラムのバージョンで動作可能な前記第2のプログラムのバージョンの1つを、前記情報処理装置に記憶されている第2のプログラムの更新後のバージョンとして設定する設定手段と、
    前記情報処理装置に記憶されている第2のプログラムを前記更新後のバージョンに更新するために用いる更新データを、当該更新後のバージョン、前記情報処理装置に記憶されている第2のプログラムのバージョン、及び前記動作情報から決定する決定手段と、
    前記決定手段により決定された前記更新するために用いる更新データを、前記通信手段を介して前記情報処理装置に送信する送信手段と、を備え、
    前記決定手段は、
    前記情報処理装置に記憶されている第2のプログラムを、前記更新後のバージョンに更新するために必要となる1以上の差分更新データを利用する場合において、各々の差分更新データによる更新後の前記第2のプログラムのバージョンの全てが、前記情報処理装置に記憶されている第1のプログラムのバージョンで動作可能なバージョンである場合、前記1以上の差分更新データを、前記更新するために用いる更新データとして決定し、
    前記1以上の差分更新データのうちの少なくとも一つを利用した更新後の前記第2のプログラムのバージョンが、前記情報処理装置に記憶されている前記第1のプログラムのバージョンで動作不可能なバージョンである場合、前記第2のプログラムの全体を、前記情報処理装置に記憶されている第1のプログラムのバージョンで動作可能な前記第2のプログラムのバージョンに更新する全更新データを含む1つ以上の更新データを、前記更新するために用いる更新データとして決定する
    ことを特徴とするサーバ。
  17. 前記送信手段は、前記決定手段により決定された前記全更新データが前記記憶手段に記憶されていない場合に、前記情報処理装置に記憶されている第1のプログラムのバージョンで動作可能な前記第2のプログラムのバージョンのうち、当該全更新データにより更新された場合の前記第2のプログラムのバージョンよりも古いバージョンに、前記情報処理装置に記憶されている第2のプログラムを更新する全更新データと、当該古いバージョンに更新された前記情報処理装置に記憶されている第2のプログラムを当該古いバージョンから前記更新後のバージョンに更新する差分更新データとを送信することを特徴とする請求項16に記載のサーバ。
  18. 第1のプログラムを使用して動作する第2のプログラムのバージョンごとに当該バージョンに前記第2のプログラムを更新するために用いる更新データと、前記第1のプログラムのバージョンごとに動作可能な前記第2のプログラムのバージョンが示された動作情報とが記憶された記憶手段を備えるサーバの制御方法であって、
    前記サーバの通信手段が、前記第1のプログラム及び前記第2のプログラムが記憶された情報処理装置と通信する通信工程と、
    前記サーバの取得手段が、前記情報処理装置に記憶されている第1及び第2のプログラムのバージョンを前記通信工程において取得する取得工程と、
    前記サーバの設定手段が、前記取得工程において取得された前記バージョンと、前記記憶手段に記憶されている前記動作情報とに基づいて、前記情報処理装置に記憶されている第1のプログラムのバージョンで動作可能な前記第2のプログラムのバージョンの1つを、前記情報処理装置に記憶されている第2のプログラムの更新後のバージョンとして設定する設定工程と、
    前記サーバの決定手段が、前記情報処理装置に記憶されている第2のプログラムを前記更新後のバージョンに更新するために用いる更新データを、当該更新後のバージョン、前記情報処理装置に記憶されている第2のプログラムのバージョン、及び前記動作情報から決定する決定工程と、
    前記サーバの送信手段が、前記決定工程において決定された前記更新するために用いる更新データを、前記通信工程において前記情報処理装置に送信する送信工程と、を備え
    前記決定手段は前記決定工程において、
    前記情報処理装置に記憶されている第2のプログラムのバージョンが前記情報処理装置に記憶されている第1のプログラムで動作可能なバージョンではない場合、前記第2のプログラムの全体を、前記情報処理装置に記憶されている第1のプログラムのバージョンで動作可能な前記第2のプログラムのバージョンに更新する全更新データを含む1つ以上の更新データを前記更新するために用いる更新データとして決定し、
    前記情報処理装置に記憶されている第2のプログラムのバージョンが前記情報処理装置に記憶されている第1のプログラムで動作可能なバージョンである場合、前記全更新データを含まない、前記第2のプログラムの一部のデータを更新する差分更新データの1つ以上を、前記更新するために用いる更新データとして決定する
    ことを特徴とするサーバの制御方法。
  19. 第1のプログラムを使用して動作する第2のプログラムのバージョンごとに当該バージョンに前記第2のプログラムを更新するために用いる更新データと、前記第1のプログラムのバージョンごとに動作可能な前記第2のプログラムのバージョンが示された動作情報とが記憶された記憶手段を備えるサーバの制御方法であって、
    前記サーバの通信手段が、前記第1のプログラム及び前記第2のプログラムが記憶された情報処理装置と通信する通信工程と、
    前記サーバの取得手段が、前記情報処理装置に記憶されている第1及び第2のプログラムのバージョンを前記通信工程において取得する取得工程と、
    前記サーバの設定手段が、前記取得工程において取得された前記バージョンと、前記記憶手段に記憶されている前記動作情報とに基づいて、前記情報処理装置に記憶されている第1のプログラムのバージョンで動作可能な前記第2のプログラムのバージョンの1つを、前記情報処理装置に記憶されている第2のプログラムの更新後のバージョンとして設定する設定工程と、
    前記サーバの決定手段が、前記情報処理装置に記憶されている第2のプログラムを前記更新後のバージョンに更新するために用いる更新データを、当該更新後のバージョン、前記情報処理装置に記憶されている第2のプログラムのバージョン、及び前記動作情報から決定する決定工程と、
    前記サーバの送信手段が、前記決定工程において決定された前記更新するために用いる更新データを、前記通信工程において前記情報処理装置に送信する送信工程と、を備え
    前記決定手段は前記決定工程において、
    前記情報処理装置に記憶されている第2のプログラムを、前記更新後のバージョンに更新するために必要となる1以上の差分更新データを利用する場合において、各々の差分更新データによる更新後の前記第2のプログラムのバージョンの全てが、前記情報処理装置に記憶されている第1のプログラムのバージョンで動作可能なバージョンである場合、前記1以上の差分更新データを、前記更新するために用いる更新データとして決定し、
    前記1以上の差分更新データのうちの少なくとも一つを利用した更新後の前記第2のプログラムのバージョンが、前記情報処理装置に記憶されている前記第1のプログラムのバージョンで動作不可能なバージョンである場合、前記第2のプログラムの全体を、前記情報処理装置に記憶されている第1のプログラムのバージョンで動作可能な前記第2のプログラムのバージョンに更新する全更新データを含む1つ以上の更新データを、前記更新するために用いる更新データとして決定する
    ことを特徴とするサーバの制御方法。
  20. コンピュータを、請求項13乃至17のいずれか1項に記載のサーバの各手段として機能させるためのプログラム。
  21. コンピュータを、請求項13乃至17のいずれか1項に記載のサーバの各手段として機能させるためのプログラムを記録したコンピュータが読み取り可能な記録媒体。
JP2011240662A 2010-11-26 2011-11-01 情報処理装置及びサーバ、制御方法、プログラム及び記録媒体 Expired - Fee Related JP5800685B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011240662A JP5800685B2 (ja) 2010-11-26 2011-11-01 情報処理装置及びサーバ、制御方法、プログラム及び記録媒体
US13/299,776 US8818969B2 (en) 2010-11-26 2011-11-18 Information processing apparatus and server, control method, and recording medium

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010264293 2010-11-26
JP2010264293 2010-11-26
JP2011240662A JP5800685B2 (ja) 2010-11-26 2011-11-01 情報処理装置及びサーバ、制御方法、プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2012128836A JP2012128836A (ja) 2012-07-05
JP5800685B2 true JP5800685B2 (ja) 2015-10-28

Family

ID=46127311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011240662A Expired - Fee Related JP5800685B2 (ja) 2010-11-26 2011-11-01 情報処理装置及びサーバ、制御方法、プログラム及び記録媒体

Country Status (2)

Country Link
US (1) US8818969B2 (ja)
JP (1) JP5800685B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130042231A1 (en) * 2011-08-10 2013-02-14 Ford Global Technologies, Llc Methods and Apparatus for Software Updating
JP6053450B2 (ja) * 2012-10-26 2016-12-27 株式会社Pfu 情報処理装置、方法およびプログラム
CN104090806B (zh) * 2014-07-18 2018-04-10 百度在线网络技术(北京)有限公司 升级包、升级请求的处理方法及装置
CN106873960B (zh) * 2016-07-13 2020-07-21 阿里巴巴集团控股有限公司 一种应用软件的更新方法和设备
JP7423972B2 (ja) * 2019-10-18 2024-01-30 ブラザー工業株式会社 インストールプログラム、情報処理装置、および通信システム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0429448A (ja) 1990-05-23 1992-01-31 Mitsubishi Electric Corp 双方向充電コードレス電話機
WO2001025964A2 (en) * 1999-10-01 2001-04-12 Accenture Llp Base service architectures for netcentric computing systems
US20030217359A1 (en) * 2002-03-11 2003-11-20 Canon Kabushiki Kaisha Image processing apparatus, method of controlling the same and program
JP3976650B2 (ja) * 2002-09-04 2007-09-19 日本電気株式会社 ソフトウェアのライセンス管理方式および方法、並びに記録媒体
CN101668166A (zh) * 2003-12-18 2010-03-10 松下电器产业株式会社 用于存储、认证以及执行应用程序的方法
JP2006065790A (ja) * 2004-08-30 2006-03-09 Fujitsu Ltd アンインストール処理プログラム、及びアンインストール管理プログラム
JP5164391B2 (ja) * 2007-02-07 2013-03-21 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
JP2009230398A (ja) * 2008-03-21 2009-10-08 Fuji Xerox Co Ltd ソフトウェア更新支援装置およびソフトウェア更新支援プログラム
JP2010198155A (ja) * 2009-02-24 2010-09-09 Fujitsu Ten Ltd プログラム更新装置、プログラム更新方法、及び情報処理装置
US20110099547A1 (en) * 2009-10-28 2011-04-28 Gaurav Banga Approaches for installing software using bios

Also Published As

Publication number Publication date
US20120136844A1 (en) 2012-05-31
JP2012128836A (ja) 2012-07-05
US8818969B2 (en) 2014-08-26

Similar Documents

Publication Publication Date Title
US10642593B2 (en) Logical migration of applications and data
JP5800685B2 (ja) 情報処理装置及びサーバ、制御方法、プログラム及び記録媒体
US8782636B2 (en) Information processing apparatus, control method thereof, and program
JP2009230398A (ja) ソフトウェア更新支援装置およびソフトウェア更新支援プログラム
JP6265732B2 (ja) 管理装置、管理装置の制御方法及びプログラム
JP2009230400A (ja) 印刷システムおよびソフトウェア導入装置およびソフトウェア導入プログラム
JP2024040145A (ja) 電子機器、情報処理システムおよび情報処理方法
WO2017036197A1 (zh) 一种网元模型管理方法及装置
CN107924303B (zh) 电子设备
US8214330B2 (en) Information processing apparatus, information processing method, and computer program product
JP2003288211A (ja) ネットワーク管理プログラム
CN103455543A (zh) 文档管理服务器和文档管理方法
JP2007034573A (ja) アプリケーションサーバ、ネットワークアプリケーションシステム、サポート情報自動更新プログラム、および該プログラムを記録した記録媒体
JP4788128B2 (ja) 実行環境整備システム、実行環境整備装置および実行環境整備方法
JP5787688B2 (ja) サーバ装置、クライアント装置、情報処理方法及びプログラム
JP5760618B2 (ja) 管理装置および管理方法
JP6995516B2 (ja) 情報処理装置、インストーラ
JP2008083963A (ja) 文書管理システム
JP2006129362A (ja) デジタル複合機
JP2015106274A (ja) インストール制御プログラム、記録媒体及びインストール制御方法
JP2009217318A (ja) 情報機器制御装置、ドライバ更新システム、ドライバ更新方法、およびドライバプログラム
JP2004259224A (ja) 周辺装置
JP2019204152A (ja) 情報処理装置、情報処理装置のアップデート方法、及びプログラム
JP2009217319A (ja) ファイル生成装置、ドライバ更新システム、ファイル生成方法、およびファイル生成プログラム
JP2011253430A (ja) 情報処理システム、クライアント、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141029

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150717

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150825

LAPS Cancellation because of no payment of annual fees