説明

情報処理端末、ソフトウェアを更新するための方法、および、情報処理端末にソフトウェアを更新させるためのプログラム

【課題】連携している端末間においてソフトウェアを更新する。
【解決手段】端末100は、ソフトウェア120と、更新機能110とを含む。更新情報ファイル310または更新情報ファイル410から取得されたバーション情報と、バーション情報とが一致したら、端末100は、ソフトウェア120の更新が不要であると判断する。端末100は、サーバ300からソフトウェア120の更新用ファイル320をダウンロードする。端末100が、ソフトウェア220の更新は必要であると判断すると、端末100は、サーバ400から、ソフトウェア220の更新用ファイル420をダウンロードして、ダウンロードした更新用ファイル420を端末200にアップロードする。端末100は、端末200に更新指示を送る。端末200は、更新指示を受けると、ソフトウェア220の更新(インストール等)を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウエア、ファームウエア、OS(Operating System:オペレーティングシステム)、アプリケーション、プログラムその他の更新を必要とするプログラムを更新する技術に関する。
【背景技術】
【0002】
ソフトウェアを更新するための技術として、たとえば、特開2005−128848号公報(特許文献1)は、「クライアントが有する複数のソフトウェアを更新する場合であっても、極めて長時間を要することなく、HTTPを使用しない環境であっても容易にソフトウェアの更新を行なうことができるソフトウェア更新管理システム」を開示している([要約]の[課題]参照)。このソフトウェア更新管理システムによると、「FTPプロトコルを用いてクライアント25a等からFTPサーバ55へ情報ファイル42を転送しFTPサーバ55からクライアント25a等へインストーラ・ファイル96を転送することにより、HTTPプロトコルを使用しない環境であっても容易に情報ファイル42およびインストーラ・ファイル96の転送を行なうことができる。複数のクライアント25a等が有する複数のソフトウェアについて情報ファイル42をFTPサーバ55へ転送することにより複数のクライアント25a等が有する複数のソフトウェアを更新する場合であっても長時間を要することなくソフトウェアの更新を行なうことができる」というものである([要約]の[解決手段])。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−128848号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術は、2またはそれ以上の複数の端末のソフトウェアが連携して動作し、かつ、別のサーバからソフトウェア更新を行うシステムに対応していない。すなわち、端末同士が連携している場合、全ての更新が完了しないとソフトウェアの基本機能の動作を開始できない。
【0005】
また、ソフトウェア更新用ファイルは、端末毎に別のサーバに置かれるが、ソフトウェア更新用ファイルのアップロードと、端末の更新の開始とを適切に行わないと、更新が正しく行われない。これは、一般に、別々のサーバが別々に管理されているためであり、また、全てのソフトウェア更新用ファイルは同時にサーバにアップロードされないからである。そして、たとえば、最初に第1のソフトウェア更新用ファイルをアップロードして、当該ソフトウェア更新用ファイルを使う第1の端末が更新を行った場合、もし、もう一つの第2の端末用の第2のソフトウェア更新用ファイルがまだサーバにアップロードされていない場合、連携している第1の端末と第2の端末とは正しく動作しなくなる。たとえば、第1の端末と第2の端末とが情報を交換する際、第1の端末および第2の端末は、情報を交換する形式を互いに知る必要があるが、もしこの情報を交換する形式が更新されて、第1の端末だけが更新された場合、第1の端末における当該形式は、更新されていない第2の端末における当該形式とは異なることになり、結果として、正しく情報交換ができなくなる。
【0006】
したがって、連携している複数の端末においてソフトウェアを正しく更新するための技術が必要とされている。
【0007】
本願発明は、上述のような問題点を解決するためになされたものであって、その目的は、ソフトウェアを確実に更新することができる情報端末を提供することである。他の目的は、連携する複数の情報端末において、ソフトウェアを確実に更新するための方法を提供することである。さらに他の目的は、情報端末に、ソフトウェアを確実に更新させるためのプログラムを提供することである。
【課題を解決するための手段】
【0008】
一実施の形態に従う情報処理端末は、通信インターフェイスと、ソフトウェアを更新するための第1の更新機能を実現するためのプロセッサと、プロセッサに接続されて、第1のソフトウェアを格納するためのメモリとを備える。プロセッサは、第1のソフトウェアのための第1の更新用ファイルの最新バージョン情報、および、情報処理端末と通信可能な他の装置に格納されている第2のソフトウェアのための第2の更新用ファイルの最新バーション情報を含む更新情報ファイルを、通信インターフェイスを介して取得し、第1のソフトウェアのバージョン情報と、更新情報ファイルに含まれる最新バージョン情報とに基づいて、第1のソフトウェアの更新が必要であるか否かを判断し、第1のソフトウェアの更新が必要である場合に、通信インターフェイスを介して第1の更新用ファイルを取得し、第1の更新用ファイルを用いて第1のソフトウェアを更新し、第2のソフトウェアのバージョン情報と、更新情報ファイルに含まれる最新バージョン情報とに基づいて、第2のソフトウェアの更新が必要であるか否かを判断し、第2のソフトウェアの更新が必要である場合に、通信インターフェイスを介して第2の更新用ファイルを取得し、取得した第2の更新用ファイルを他の装置に送信するように構成されている。
【0009】
上記の構成によれば、第1のソフトウェアと第2のソフトウェアとが連携してしる場合でも、更新後の第1のソフトウェアと第2のソフトウェアとの基本機能を動作させることにより、第1のソフトウェアと第2のソフトウェアとは、問題なく動作する。
【0010】
好ましくは、プロセッサは、第1のソフトウェアの更新用ファイルを、第1のサーバから取得し、第2のソフトウェアの更新用ファイルを、第2のサーバから取得し、更新情報ファイルを、第1のサーバまたは第2のサーバから取得し、最新の第1の更新用ファイルおよび第2の更新用ファイルが有効にされてから、最新の更新情報ファイルは有効にされている。
【0011】
上記構成によれば、たとえば、第1のソフトウェアの更新用ファイルと第2のソフトウェアの更新用ファイルとが、それぞれ、第1のサーバと第2のサーバとにおいて有効にされてから、更新情報ファイルが有効に(アップロード)されている。すなわち、更新用ファイルの更新が不要な場合、その更新用ファイルはすでに有効である(すでに有効であるが、再度同じファイルをアップロードしてもよい)。更新用ファイルの更新が必要な場合、新しい更新用ファイルがアップロードされる。更新情報ファイルは、第1のソフトウェアの更新用ファイルの最新情報と、第2のソフトウェアの更新用ファイルの最新情報とを保持しているため、いずれかの更新用ファイルにおいて更新があった場合、当該更新情報ファイルの更新も必要となる。
【0012】
更新機能は、更新情報ファイルから更新の確認を行うため、更新情報ファイルと更新用ファイルとの間に矛盾がない。たとえば、更新情報ファイルがアップロードされてから、第2のソフトウェアの更新用ファイルがアップロードされた場合、第2のソフトウェアの更新用ファイルがアップロードされる前に、更新機能が第2のソフトウェアの更新用ファイルをダウンロードしようとする可能性がある。この場合、ソフトウェアの更新は、適切に行われない。
【0013】
好ましくは、プロセッサは、第1の更新機能とは異なる第2の更新機能を実現するように構成されている。第1の更新機能は、第1のソフトウェアによって実現され、第1の更新機能には、更新情報ファイルに含まれる内容と同じ内容を含む更新情報が関連付けられる。プロセッサは、第2の更新機能を実行することにより、第1のソフトウェアを更新する。情報処理端末に対して与えられる命令に基づいて、または、第1の更新機能の実行に応じて、プロセッサは、第2の更新機能を実行するように構成されている。第1の更新機能の実行に基づいて第2の更新機能が実行されるとき、プロセッサは、更新情報ファイルと更新情報とに基づいて、第1のソフトウェアを更新するように構成されている。第1のソフトウェアが実行された時点において、プロセッサは、第1のソフトウェアの更新が必要であるか否かを確認するように構成されている。
【0014】
上記の構成によれば、第2の更新機能が第1のソフトウェアの更新を行うが、第1の更新機能も、第1のソフトウェアの更新の必要性を確認することができる。したがって、情報処理端末とサーバとがアンドロイド(登録商標)・オペレーティング・システム(Android(登録商標)OS)で作動するシステムである場合、第2の更新機能の一例として、アンドロイド(登録商標)(Android(登録商標))更新機能が更新の確認を行なわないように設定されている場合でも、第1のソフトウェアの更新の確認と更新とを行うことができる。すなわち、第1のソフトウェアと第2のソフトウェアとの連携機能の更新が必須の場合でも、第1のソフトウェアの更新の必要性を確認することができるので、情報処理端末のユーザに更新を促すことができる。
【0015】
好ましくは、更新情報ファイルは、第2のサーバに保存されている。第2のソフトウェアの最新の更新用ファイルが有効にされ、次に、第1のソフトウェアの最新の更新用ファイルが有効にされ、最後に、更新情報ファイルが有効にされる。
【0016】
上記の構成によれば、(1)最新の第2のソフトウェアの更新用ファイルが有効にされ、(2)次に、最新の第1のソフトウェアの更新用ファイルが有効にされ、(3)最後に、更新情報ファイルが有効にされている。すなわち、更新用ファイルの更新が不要な場合、その更新用ファイルはすでに有効であり、更新用ファイルの更新が必要な場合、新しい更新用ファイルがアップロードされる。また、第1の更新機能は、第1のソフトウェアが立ち上がった時点にも更新の必要性を確認する。
【0017】
よって、情報処理端末とサーバとが、たとえば、アンドロイド(登録商標)・システムである場合、上記の処理(1)と(2)とが行なわれた時点から、アンドロイド(登録商標)・マーケット(Android(登録商標) Market)を通して第1のソフトウェアの更新が可能になる。ここで、第1のソフトウェアの更新が行なわれた場合、更新された第1のソフトウェア内部の更新情報が、更新情報ファイルより最新である。このとき、処理(3)は、まだ行なわれていない。ここで、第1のソフトウェアが更新された時点で、第1の更新機能は、第2のソフトウェアの確認を行い、更新情報に基づいて、更新が必要か否かを判断し、更新が必要であると判断すると第2のソフトウェアを更新する。ここで、処理(1)が行なわれていない場合、第2のソフトウェアが正しく更新されない。よって、処理(1)を処理(2)の前に行う必要がある。また、たとえば、第2の更新機能の一例としてのアンドロイド(登録商標)・更新機能が更新の確認をしない設定になっている場合、第1の更新機能は、最新情報を更新情報ファイルから確認することができ、情報処理端末は、そのユーザに更新依頼を通知することができる。この時点で、第1のソフトウェアの更新用ファイルがアンドロイド(登録商標)・マーケットにアップロードされていない場合、第1のソフトウェアを正確に更新できなくなるため、処理(2)は、処理(3)の前に実行される。
【0018】
他の実施の形態に従うと、情報処理端末がソフトウェアを更新するための方法が提供される。情報処理端末は、通信インターフェイスと、ソフトウェアを更新するための第1の更新機能を実現するためのプロセッサと、プロセッサに接続されて、第1のソフトウェアを格納するためのメモリとを備えている。この方法は、プロセッサが、第1のソフトウェアのための第1の更新用ファイルの最新バージョン情報、および、情報処理端末と通信可能な他の装置に格納されている第2のソフトウェアのための第2の更新用ファイルの最新バーション情報を含む更新情報ファイルを、通信インターフェイスを介して取得するステップと、プロセッサが、第1のソフトウェアのバージョン情報と、更新情報ファイルに含まれる最新バージョン情報とに基づいて、第1のソフトウェアの更新が必要であるか否かを判断するステップと、プロセッサが、第1のソフトウェアの更新が必要である場合に、通信インターフェイスを介して第1の更新用ファイルを取得し、第1の更新用ファイルを用いて第1のソフトウェアを更新するステップと、プロセッサが、第2のソフトウェアのバージョン情報と、更新情報ファイルに含まれる最新バージョン情報とに基づいて、第2のソフトウェアの更新が必要であるか否かを判断するステップと、プロセッサが、第2のソフトウェアの更新が必要である場合に、通信インターフェイスを介して第2の更新用ファイルを取得するステップと、プロセッサが、取得した第2の更新用ファイルを他の装置に送信するステップとを含む。
【0019】
他の実施の形態に従うと、情報処理端末にソフトウェアを更新させるためのプログラムが提供される。情報処理端末は、通信インターフェイスと、ソフトウェアを更新するための第1の更新機能を実現するためのプロセッサと、プロセッサに接続されて、第1のソフトウェアを格納するためのメモリとを備えている。プログラムは、プロセッサに、第1のソフトウェアのための第1の更新用ファイルの最新バージョン情報、および、情報処理端末と通信可能な他の装置に格納されている第2のソフトウェアのための第2の更新用ファイルの最新バーション情報を含む更新情報ファイルを、通信インターフェイスを介して取得するステップと、第1のソフトウェアのバージョン情報と、更新情報ファイルに含まれる最新バージョン情報とに基づいて、第1のソフトウェアの更新が必要であるか否かを判断するステップと、第1のソフトウェアの更新が必要である場合に、通信インターフェイスを介して第1の更新用ファイルを取得し、第1の更新用ファイルを用いて第1のソフトウェアを更新するステップと、第2のソフトウェアのバージョン情報と、更新情報ファイルに含まれる最新バージョン情報とに基づいて、第2のソフトウェアの更新が必要であるか否かを判断するステップと、第2のソフトウェアの更新が必要である場合に、通信インターフェイスを介して第2の更新用ファイルを取得するステップと、取得した第2の更新用ファイルを他の装置に送信するステップとを実行させる。
【発明の効果】
【0020】
ある実施の形態において、連携している複数の端末においてソフトウェアが正しく更新される。
【0021】
この発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解されるこの発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【0022】
【図1】サーバ1100と通信可能な端末1000におけるソフトウェアの更新ソフトウェアの更新の一例を表わす図である。
【図2】本実施の形態に係る端末およびサーバの概略構成を表わす図である。
【図3】端末100がアンドロイド(登録商標)端末である例を表わす図である。
【図4】端末100,101,200,1000のハードウェア構成を表わすブロック図である。
【図5】サーバ300,301,400,1100として機能するコンピュータシステム500のハードウェア構成を表わすブロック図である。
【図6】端末100が実行する一連の処理の一部を表わすフローチャートである。
【発明を実施するための形態】
【0023】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0024】
まず、図1を参照して、ある局面においてソフトウェアを更新するための方法の一例を説明する。図1は、サーバ1100と通信可能な端末1000におけるソフトウェアの更新ソフトウェアの更新の一例を表わす図である。
【0025】
なお、本実施の形態においては、ソフトウェアとは、ファームウェア、OS(Operating System)、アプリケーション、プログラム等を含むものとする。
【0026】
端末1000は、ソフトウェアの更新を必要とする情報処理端末である。端末1000は、更新機能1010と、更新が行われるソフトウェア1020とを含む。更新機能1010は、たとえば、CPU(Central Processing Unit)その他の情報処理装置(以下「プロセッサ」ともいう。)が更新のための命令を実行することにより実現される。
【0027】
なお、他の局面において、更新機能1010を実現するための命令は、ソフトウェア1020に含まれる構成であってもよい。
【0028】
サーバ1100は、ソフトウェアの更新情報1110と、ソフトウェア1020の更新用ファイル1120とを含む。サーバ1100は、メモリやプロセッサその他の周知の構成を有するコンピュータ装置によって実現される。たとえば、更新情報1110は、当該メモリに格納されている。更新情報1110は、ソフトウェアのバーション情報等を含む。なお、他の局面において、更新情報1110は、たとえば、ファイル名そのものであってもよい。
【0029】
更新は、図1に示されるように、以下の手順で行なわれる。まず、ステップS1において、新しい更新用ファイル1120および更新情報1110が、サーバにアップロードされる。このアップロードは、たとえば、当該サーバの管理者によって行なわれ得る。
【0030】
ステップS2において、端末1000は、定期的に、サーバ1100から、更新情報1110を取得する。取得方法として、たとえば、端末1000がサーバ1100にアクセスして、更新情報1110を取りに行く方法や、逆に、サーバ1100が、端末1000にアクセスして、更新情報1110を端末1000に送信する方法が考えられる。
【0031】
ステップS3において、端末1000は、当該端末1000にインストールされているソフトウェアのバーション情報を取得する。
【0032】
ステップS4において、端末1000は、各バージョン情報を比較することにより、更新の必要性を確認する。たとえば、端末1000は、ステップS2において更新情報1110から取得したバーション情報と、ステップS3において取得したバーション情報とが一致した場合には、端末1000は、当該更新が不要であると判断する。一方、ステップS2において取得されたバーション情報がステップS3において取得された情報より新しい場合には、端末1000は、当該更新が必要であると判断する。なお、バージョン情報が新しいか否かの確認は、たとえば、バーションの番号の大小に基づいて、または、バーション情報が時刻情報を含む場合にはその時刻情報の新旧に基づいて、行なわれる。また、他の局面において、更新の必要性の判断は、バーションが新しいか否かのみに限られず、たとえば、バーションが他のバージョンとは異なる場合にも、端末1000は、当該更新が必要であると判断してもよい。
【0033】
ステップS4において、端末1000は、更新が必要であると判断すると、ステップS5において、端末1000は、サーバ1100から、ソフトウェア更新用ファイルをダウンロードする。
【0034】
ステップS6において、端末1000は、ステップS5においてダウンロードされたファイルを用いて、端末1000のメモリに保存されているソフトウェア1020を更新する。
【0035】
なお、ある局面において、ステップS4とステップS5における更新の態様は、端末1000の仕組みに依存する。更新の対象がアプリケーションプログラムの場合、端末1000は、ソフトウェア更新用ファイル(すなわち、当該アプリケーションプログラムの更新用データ)を適切な場所(たとえば、更新のためにメモリに確保された領域)にダウンロードして、再びインストールすることになる。別の局面において、端末1000がオペレーティングシステムを更新する場合、通常、ファイルシステムは、複数のパーティションに分割される。起動時に、ブートパーティションの機能が、オペレーティングシステムが格納されているパーティションから当該オペレーティングシステムを起動する。そして、オペレーティングシステムの更新の際、端末1000は、新しいオペレーティングシステムを古いオペレーティングシステムが格納されているパーティションとは別のパーティションに保存する。端末1000は、オペレーティングシステムを再起動する際、新しいオペレーティングシステムが保存されているパーティションにアクセスして、当該新しいオペレーティングシステムを起動する。
【0036】
次に、図2を参照して、本発明の実施の形態に係る更新システムについてさらに説明する。図2は、本実施の形態に係る端末およびサーバの概略構成を表わす図である。
【0037】
図2に示されるように、本実施の形態に係る更新システムは、端末100と、端末200と、サーバ300と、サーバ400とを備える。端末100および端末200が更新を必要とする。端末100および端末200は、たとえば、タブレット端末、タブレット型コンピュータ、スマートフォンその他の通信機能を有する情報処理装置である。通信機能は、無線通信および有線通信のいずれであってもよい。また、通信の態様は、特に限られない。
【0038】
端末100は、更新機能110とソフトウェア120とを含む。更新機能110は、端末100が有するプロセッサが当該更新機能を実現するためのプログラムを実行することにより実現される。ソフトウェア120は、メモリ(図示しない)に格納されている。ソフトウェア120は、オペレーティングシステム、アプリケーションプログラムのいずれであってもよい。
【0039】
端末200は、ソフトウェア220を含む。ソフトウェア220は、メモリ(図示しない)に格納されている。ソフトウェア220は、オペレーティングシステム、アプリケーションプログラムのいずれであってもよい。
【0040】
なお、他の局面において、端末100に含まれる更新機能110は、ソフトウェア120に含まれてもよい。
【0041】
サーバ300は、更新情報ファイル310と、ソフトウェア120の更新用ファイル320とを保持する。サーバ300は、プロセッサ、メモリその他の周知の構成を有するコンピュータ装置によって実現される。更新情報ファイル310と更新用ファイル320とは、ハードディスク、フラッシュメモリその他の記憶装置(図示しない)に格納されている。更新情報ファイル310は、ソフトウェア120の更新用ファイル320のバージョン情報と、ソフトウェア220の更新用ファイル420のバージョン情報とを含む。
【0042】
サーバ400は、更新情報ファイル410と、更新用ファイル420とを保持している。サーバ400も、プロセッサ、メモリその他の周知の構成を有するコンピュータ装置によって実現される。更新情報ファイル410は、更新情報ファイル310と同じである。すなわち、更新情報ファイル410は、ソフトウェア120の更新用ファイル320のバージョン情報と、ソフトウェア220の更新用ファイル420のバージョン情報とを含む。
【0043】
なお、サーバ300およびサーバ400が、常に、更新情報ファイル310および更新情報ファイル410をそれぞれ保持している必要はなく、少なくともいずれかが当該更新情報ファイルを有していればよい。
【0044】
ある局面において、端末200は、たとえば、温度や電力を測定するために常に動作している機器である。端末100は、文字、数値または画像を表示するための機能を有する表示装置である。端末100は、端末200との間で通信を確立することにより、そのユーザが希望する時に端末200によって測定された結果を受信し、端末100のディスプレイ(図示しない)に当該結果を表示することができる。すなわち、端末100と端末200とは、連携する。この連携は、たとえば、端末100と端末200とが通信ネットワークを介して互いにデータや情報を交換することである。この場合、ある局面において、端末100と端末200とは、データや情報を交換するための形式を、予め知っている。すなわち、交換の形式を示すデータは、端末100および端末200に保持されている。あるいは、他の局面において、端末100および端末200は、データや情報を交換する前に、交換の形式を示すデータを通信することにより、当該形式を知ることができる。
【0045】
ある局面において、ソフトウェア120の更新と、ソフトウェア220の更新とは、更新機能110によって実現される。すなわち、端末200に保存されているソフトウェア220の更新は、端末100によって行なわれることになる。
【0046】
[ソフトウェアの更新]
ある局面におけるソフトウェアの更新の手順は、たとえば、以下のとおりである。
【0047】
ステップ(1) まず、ソフトウェア120の更新用ファイル320とソフトウェア220の更新用ファイル420とが、サーバ300とサーバ400にそれぞれアップロードされる。各更新用ファイル320,420のアップロードの順は、特に限られず、サーバ300またはサーバ400の管理者が任意に決定し得る。なお、アップロードされるのは、新しいファイルのみであってもよい。たとえば、ソフトウェア120の更新用ファイル320のみが新しくなった場合、管理者は、更新用ファイル320のみを、サーバ300にアップロードすればよい。
【0048】
ステップ(2) ソフトウェア120の更新用ファイル320のアップロードと、ソフトウェア220の更新用ファイル420のアップロードとが確認されると、管理者は、各更新用ファイル320,420の最新情報を含んだ更新情報ファイル310または更新情報ファイル410を、サーバ300またはサーバ400のいずれかにアップロードする。なお、更新情報ファイル310,410がアップロードされる際、サーバ300,400上の古い更新情報ファイル310,410は、上書きされる。
【0049】
ステップ(3) 端末100は、定期的に、サーバ300から、更新情報ファイル310を、または、サーバ400から、更新情報ファイル410を取得する。取得のパターンとして、端末100がサーバ300に更新情報ファイル310を取りに行く態様、端末100がサーバ400に更新情報ファイル410を取りに行く態様、または、サーバ300およびサーバ400のいずれかのサーバが、当該サーバに保存されている更新情報ファイル310または410を端末100に送る態様が考えられる。
【0050】
ステップ(4A) 端末100は、端末100にインストールされているソフトウェア120のバーション情報を、更新情報ファイル310または更新情報ファイル410から取得する。
【0051】
ステップ(4B) 端末100は、端末200にインストールされているソフトウェア220のバーション情報を、更新情報ファイル310または更新情報ファイル410から取得する。
【0052】
ステップ(5A) 端末100は、ソフトウェア120の更新の必要性を確認する。たとえば、これは、ステップ(3)において更新情報ファイル310または更新情報ファイル410から取得されたバーション情報と、ステップ(4A)で取得されたバーション情報とが一致したら、端末100は、ソフトウェア120の更新が不要であると判断する。一方、ステップ(3)で取得されたバーション情報がステップ(4A)で取得された情報より新しい場合、端末100は、当該更新が必要であると判断する。
【0053】
なお、バージョン情報が新しいか否かの確認は、たとえば、バーションの番号の大小に基づいて、または、バーション情報が時刻情報を含んでいる場合には当該時刻情報の新旧に基づいて、行なわれる。また、更新の判断は、この態様に限られない。たとえば、バーションが新しいか否かではなく、各バーションが互いに異なる場合も、端末100は、ソフトウェアの更新が必要であると判断してもよい。
【0054】
ステップ(5B) 端末100は、ソフトウェア220の更新の必要性を確認する。確認の態様は、ステップ(5A)における態様と同じである。
【0055】
ステップ(6A) もし、ステップ(5A)において、端末100が、ソフトウェア120の更新が必要であると判断すると、端末100は、サーバ300からソフトウェア120の更新用ファイル320をダウンロードする。なお、更新情報ファイル310は、ダウンロード先のサーバを識別する名称と、更新用ファイルの名称とを、例えばURL(Uniform Resource Locator)を用いて指定してもよい。
【0056】
ステップ(6B) もし、ステップ5Bにおいて、端末100が、ソフトウェア220の更新は必要であると判断した場合、端末100は、サーバ400から、ソフトウェア220の更新用ファイル420をダウンロードして、ダウンロードした更新用ファイル420を端末200にアップロードする。このため、端末200は、更新用ファイル420の受信を受け入れる機能があるとする。なお、更新情報ファイル410は、ダウンロード先のサーバとファイル名とを、例えばURLで指定してもよい。
【0057】
ステップ(7A) 端末100は、ステップ(6A)においてダウンロードされたファイルを用いて、ソフトウェア120の更新(たとえば、インストール等)を行なう。
【0058】
ステップ(7B) 端末100は、ステップ(6B)において、サーバ400からダウンロードされた更新用ファイル420を端末200にアップロードする。この後、端末200は、更新用ファイルを受け終わったら、たとえば、自動的に更新処理(インストール等)を開始することができる。または、アップロード後、端末100は、端末200に更新指示を送り、端末200は、更新指示を受けると、ソフトウェア220の更新処理を行なうことができる。
【0059】
上述のように、ソフトウェア120の更新は、ステップ4A,5A,6A,7Aの順に従う。同様に、ソフトウェア220の更新は、ステップ4B,5B,6B,7Bの順に従う。なお、同一のステップ番号におけるAとBが行なわれる順序は、特に限られない。ステップ4x,5x,6x,7x(xは、AまたはB)の順に従っていれば、ソフトウェアの更新は、たとえば、ステップ4B,5B,6B,7B,4A,5A,6A,7Aの順であってもよい。
【0060】
なお、ソフトウェア120およびソフトウェア220の両方が、毎回更新されると限らない。たとえば、ソフトウェア120とソフトウェア220とが全体として連携しているけれども、ソフトウェア120においてソフトウェア220が連携していない部分が更新された場合、ソフトウェア120更新用ファイル(320)のみからソフトウェア120(120)のみを更新すればよい。この場合、ステップ(5B)におけるソフトウェア220の更新は、不要となる。
【0061】
なお、更新機能110は、ソフトウェア120とソフトウェア220の基本機能が全ての更新が完了するまでに開始しないように、当該基本機能の実行を管理する。
【0062】
更新機能110がソフトウェア120に含まれ、さらに、ソフトウェア120の更新がソフトウェア220の前に行われる場合、端末100は、更新の確認を、ソフトウェア120が実行される時にも行なうことが望ましい。その理由は、ソフトウェア120は、更新の際に再インストールされ、再インストール時に、更新機能110の動作が停止されてしまうためである。すなわち、ソフトウェア120が更新されて再起動されたときに、再度、更新の確認をする際に、ソフトウェア220の更新が行なわれることになる。
【0063】
なお、端末200に相当する端末(すなわち、端末100と通信可能な端末)は、複数であってもよい。この場合、各端末のためのソフトウェア更新用ファイルが、それぞれ必要になり、更新情報ファイル410にも全てのソフトウェア更新用ファイルの情報が必要となる。更新機能も全ての端末に対応する必要があるが、これらの更新は、繰り返し処理になる。また、それぞれのソフトウェア更新用ファイルは、同一のサーバ、または、別個のサーバのいずれにあってもよい。
【0064】
なお、サーバ300とサーバ400とは、論理的に別個のサーバであり、物理的に同一のサーバ(すなわち、同一のコンピュータ装置)であってもよい。たとえば、ある局面において、ある企業が、物理的なサーバを運営し、他の企業は、そのサーバを借りて経営を行なう場合がある。サーバ300が、ある企業によって借りられるサーバであり、サーバ400が別の企業によって借りられるサーバである場合、サーバ300とサーバ400とは、論理的に別であり、管理も別となる。しかしながら、サーバ300およびサーバ400のいずれも、物理的には、サーバを運営している企業に設置される同一のコンピュータ装置となることがある。
【0065】
[具体例]
次に、図3を参照して、本発明の実施の形態のより詳細な一例について説明する。図3は、端末100がアンドロイド(登録商標)(Android(登録商標))端末である例を表わす図である。なお、図2に示される構成と同じ構成の説明は繰り返さない。以下では、図2の構成との差異の構成を説明する。
【0066】
図3を参照して、端末101は、いわゆるアンドロイド(登録商標)端末である。アンドロイド(登録商標)端末は、Android(登録商標) OS(アンドロイド(登録商標)・オペレーティング・システム)を使った端末である。アンドロイド(登録商標)端末では、ソフトウェアは、アプリ(アプリケーション)と読ばれている。また、更新用のファイルは、apkファイルの形式である。
【0067】
アンドロイド(登録商標)端末のアプリの更新は、Android(登録商標) Market(アンドロイド(登録商標)・マーケット)を使って行なわれる。アンドロイド(登録商標)・マーケットは、アンドロイド(登録商標)端末側のアンドロイド(登録商標)・マーケット・アプリと、サーバ側のアンドロイド(登録商標)・マーケット・サーバとによって構成される。図3の例では、アンドロイド(登録商標)・マーケット・アプリは、更新機能130であり、サーバ301は、アンドロイド(登録商標)・マーケット・サーバとして機能している。
【0068】
アンドロイド(登録商標)マーケットの更新として、端末101は、端末101にインストールされているソフトウェア121のバーションとサーバ301にあるソフトウェア更新用ファイルのバーションとを確認する。端末101は、更新が必要と判断すると、モニタの画面上のステータスバーに、更新が必要である旨の通知を表示する。ユーザは、その通知を見ると、ユーザ自身の意思で(すなわち、端末101を操作することにより)、アンドロイド(登録商標)・マーケット・アプリを起動して、ソフトウェア121を更新する。
【0069】
ここで、ユーザは、さらに、たとえば、以下のような動作を選択できる。
(1)端末101に更新の確認をさせない。
【0070】
(2)ソフトウェアの更新が必要な場合、アンドロイド(登録商標)・マーケット・アプリを立ち上げずに、端末101に自動的に更新させる。
【0071】
(3)ソフトウェアの更新が必要な場合であっても、更新を行なわない。
ところで、アンドロイド(登録商標)・マーケット・サーバには、アンドロイド(登録商標)・アプリ以外のソフトウェアを置くことができない。
【0072】
また、アンドロイド(登録商標)・マーケット・サーバに新しい更新用ファイル321がアップロードされると、端末101は、更新用ファイル321を用いて、ソフトウェア121を更新することが可能になる。
【0073】
ある局面において、更新機能110は、ソフトウェア121に含まれる。さらに、ソフトウェア121には、更新情報111が追加される。更新情報111は、更新情報ファイル410に含まれる情報と同じ情報を含む。しかしながら、更新情報111および更新情報ファイル410の両方が最新であると限らない。たとえば、ソフトウェア121が更新されていない場合、ソフトウェア121の更新情報111は、更新情報ファイル410よりも古い状態になる。また、ソフトウェア121がアンドロイド(登録商標)・マーケットから更新され、更新情報ファイル410がまだ更新されていない場合がある。この場合、更新情報111は、更新情報ファイル410より新しい状態になる。
【0074】
図3に示される場合の更新方法は、図2に示される場合の更新方法に対して、サーバ301,400に情報をアップロードする順序と、ソフトウェア121を更新する方法とが異なる。
【0075】
ある局面において、サーバ301,400に情報をアップロードする順序は、以下のとおりである。
【0076】
(1)まず、新しい更新用ファイル420がある場合に、更新用ファイル420をサーバ400にアップロードする。
【0077】
(2)次に、新しい更新用ファイル321がある場合に、更新用ファイル321をサーバ300にアップロードする。
【0078】
(3)最後に、更新用ファイル420または更新用ファイル321が新しくなった場合、この情報が更新された更新情報ファイル410は、サーバ400にアップロードされる。ソフトウェアの更新をこの順番に行なうことにより、ソフトウェア121またはソフトウェア220の更新を正しく行うことができる。
【0079】
上述のように、ソフトウェア121の更新の確認は、通常は、アンドロイド(登録商標)・マーケットの機能から行われるが、ユーザは更新の確認をしない選択もできる。その代わりに、更新機能110は、ソフトウェア121の更新の確認をすることができる。更新が必要であれば、更新機能110は、更新機能130を用いてソフトウェア121を更新することを、端末101のユーザに促してもよい。たとえば、ソフトウェア121とソフトウェア220との連携機能の更新が必須の場合でも、端末101は、更新を確認することができ、ユーザに更新を促すことができる。
【0080】
[ハードウェア構成]
図4を参照して、本実施の形態に係る端末の具体的構成について説明する。図4は、端末100,101,200,1000のハードウェア構成を表わすブロック図である。
【0081】
本実施の形態に係る端末は、一例としてアンドロイド(登録商標)端末が示されているが、これに限られない。当該端末は、サーバとの通信機能と、当該端末と連携している他の端末との通信機能と、ソフトウェアの更新機能を有する端末であればよい。
【0082】
端末100,101,200,1000は、通信装置13と、チューナ12と、アンテナ14,15と、CPU(Central Processing Unit)10と、音声信号処理回路11と、測位処理部25と、測位信号受信フロントエンド部24と、GPS(Global Positioning System)アンテナ23と、カメラ17と、スピーカ27と、フラッシュメモリ18と、RAM(Random Access Memory)19と、ROM(Read Only Memory)20と、モニタ28と、バックライト29と、マイク26と、LED(Light Emitting Diode)30と、メモリカード駆動装置21と、データ通信I/F(Interface)31と、バイブレータ32と、センサ610とを備える。メモリカード駆動装置21には、メモリカード22が装着され得る。
【0083】
アンテナ14は、ワンセグ放送その他のテレビジョン放送信号を受信する。チューナ12は、CPU10の命令に従って番組を選局し、映像信号および音声信号をCPU10に伝送する。他の局面において、アンテナ14は、ラジオ放送を受信してもよい。アンテナ15によって受信された信号は、通信装置13によってフロントエンド処理が行なわれた後、処理後の信号は、CPU10に送られる。
【0084】
センサ610は、端末100,101,200,1000の姿勢を検知する。ある局面において、センサ610は、加速度センサとして実現される。センサ610は、端末100,101,200,1000が水平方向に対して傾いている角度を検出する。検出結果は、CPU10に入力される。
【0085】
CPU10は、端末100,101,200,1000に対して与えられる命令に基づいて端末100,101,200,1000の動作を制御するための処理を実行する。CPU10は、通信装置13から送られた信号に基づいて予め規定された処理を実行し、処理後の信号を音声信号処理回路11に送出する。音声信号処理回路11は、その信号に対して予め規定された信号処理を実行し、処理後の信号をスピーカ27に送出する。スピーカ27は、その信号に基づいて音声を出力する。
【0086】
スイッチ16は、端末100,101,200,1000に対する操作を受け付ける。スイッチ16は、物理的な操作キー、または、タッチパネル等で実現されるソフトウェアキーのいずれによっても構成される。
【0087】
マイク26は、端末100,101,200,1000に対する発話を受け付けて、発話された音声に対応する信号を音声信号処理回路11に対して送出する。音声信号処理回路11は、その信号に基づいて通話のために予め規定された処理を実行し、処理後の信号をCPU10に対して送出する。CPU10は、その信号を送信用のデータに変換し、変換後のデータを通信装置13に対して送出する。通信装置13は、そのデータを用いて送信用の信号を生成し、アンテナ15に向けてその信号を送出する。
【0088】
フラッシュメモリ18は、CPU10から送られるデータを格納する。また、CPU10は、フラッシュメモリ18に格納されているデータを読み出し、そのデータを用いて予め規定された処理を実行する。
【0089】
RAM19は、スイッチ16に対して行なわれた操作に基づいてCPU10によって生成されるデータを一時的に保持する。ROM20は、端末100,101,200,1000に予め定められた動作を実行させるためのプログラムあるいはデータを格納している。CPU10は、ROM20から当該プログラムまたはデータを読み出し、端末100,101,200,1000の動作を制御する。
【0090】
メモリカード駆動装置21は、メモリカード22に格納されているデータを読み出し、CPU10に送出する。逆にメモリカード駆動装置21は、CPU10によって出力されるデータを、メモリカード22の空き領域に書き込む。
【0091】
音声信号処理回路11は、上述のような通話のための信号処理を実行する。なお、図1に示される例では、CPU10と音声信号処理回路11とが別個の構成として示されているが、他の局面において、CPU10と音声信号処理回路11とが一体として構成されていてもよい。
【0092】
モニタ28は、CPU10から取得されるデータに基づいて、当該データによって規定される画像を表示する。たとえば、フラッシュメモリ18が格納している静止画像、動画像、文書、音楽ファイルの属性(当該ファイルの名前、演奏者、演奏時間など)を表示する。ある局面において、モニタ28は、二次元の画像と三次元の画像とを表示することができる。三次元の画像の表示は、たとえば、視差バリアを形成することによって実現されるが、三次元の表示のために他の方式が用いられてもよい。また、他の局面において、モニタ28は、タッチパネル式のディスプレイであってもよい。この場合、タッチパネルの機構は特に限られない。なお、画像を表示するための手段の態様は、モニタ28に限られず、たとえば、有機EL(Electro Luminescence)パネルを用いたモニタであってもよい。
【0093】
バックライト29は、発光することにより、モニタ28に対して光を供給する。ある局面において、バックライト29は、CPU10からの制御信号に基づいて光量を増加させ、または減少させることができる。
【0094】
LED30は、CPU10からの信号に基づいて、予め定められた発光動作を実現する。たとえば、LED30が複数の色を表示可能な場合には、LED30は、CPU10から出力される信号に含まれるデータに関連付けられている色で発光する。発光の態様(間隔、発光する色の数、点滅パターンなど)は特に限られない。
【0095】
データ通信I/F31は、データ通信用のケーブルの装着を受け付ける。データ通信I/F31は、CPU10から出力される信号を当該ケーブルに対して送出する。あるいは、データ通信I/F31は、当該ケーブルを介して受信されるデータを、CPU10に対して送出する。
【0096】
バイブレータ32は、CPU10から出力される命令に基づいて、フラッシュメモリ18において設定されている周波数で発振する。
【0097】
GPSアンテナ23は、GPS衛星から発信される信号を受信し、受信した信号を測位信号受信フロントエンド部24に送出する。測位信号受信フロントエンド部24は、少なくとも3つ(望ましくは4つ以上)のGSP衛星から受信した各信号に基づいてパターンマッチングを行ない、各信号に含まれるコードパターンと端末100,101,200,1000が保持するコードパターンとが一致した場合に、その信号を測位処理部25に送出する。
【0098】
測位処理部25は、その信号を用いて、測位処理を実行し、当該信号を受信した端末100,101,200,1000の位置を算出する。CPU10は、その算出結果をモニタ28に表示する。ある局面において、モニタ28は、測位処理部25が算出した端末100,101,200,1000の位置情報(たとえば緯度、経度、高度など)を地図上に重ねて表示してもよい。他の局面において、モニタ28は、カメラ17によって撮影された場所の画像と、当該場所の位置情報とを重ねて表示してもよい。
【0099】
[具体的な動作]
ある局面において、CPU10は、ソフトウェア120のための更新用ファイル320の最新バージョン情報、および、端末100と通信可能な他の端末200に格納されているソフトウェア220のための更新用ファイル420の最新バーション情報を含む更新情報ファイル410を、データ通信I/F31を介して、サーバ400から取得する。
【0100】
CPU10は、フラッシュメモリ18から、ソフトウェア120のバージョン情報を取得する。CPU10は、取得したバージョン情報と、更新情報ファイル310に含まれる最新バージョン情報とに基づいて、ソフトウェア120の更新が必要であるか否かを判断する。CPU10は、ソフトウェア120の更新が必要であると判断すると、データ通信I/F31を介して、サーバ300から更新用ファイル320を取得し、更新用ファイル320を用いてソフトウェア120を更新する。
【0101】
CPU10は、さらに、ソフトウェア220のバージョン情報と、更新情報ファイル410に含まれる最新バージョン情報とに基づいて、ソフトウェア220の更新が必要であるか否かを判断する。CPU10は、ソフトウェア220の更新が必要である場合に、データ通信I/F31を介して、サーバ400から、更新用ファイル420を取得する。CPU10は、取得した更新用ファイル420を、データ通信I/F31を介して端末200に送信する。端末200が、更新指示を必要とする構成である場合、CPU10は、ソフトウェア220を更新する指示を、端末200に与える。
【0102】
好ましくは、CPU10は、ソフトウェア120の更新用ファイル320を、サーバから300から取得する。CPU10は、ソフトウェア220の更新用ファイルを、サーバ400から取得する。CPU10は、更新情報ファイル310をサーバ300から取得し、または、更新情報ファイル410をサーバ400から取得する。最新の更新用ファイル320が有効にされてから、最新の更新情報ファイル310は有効にされる。更新情報ファイル410が有効にされてから、更新用ファイル420は有効にされる。
【0103】
好ましくは、CPU10は、第1の更新機能とは異なる第2の更新機能を実現するように構成されている。第1の更新機能は、ソフトウェア120によって実現される。第1の更新機能には、更新情報ファイル410に含まれる内容と同じ内容を含む更新情報111が関連付けられている。
【0104】
CPU10は、第2の更新機能を実行することにより、ソフトウェア120を更新する。CPU10は、端末101に対して与えられる命令に基づいて、または、第1の更新機能の実行に応じて、第2の更新機能を実行するように構成されている。第1の更新機能の実行に基づいて第2の更新機能が実行されるとき、CPU10は、更新情報ファイル410と更新情報111とに基づいて、ソフトウェア120を更新する。
【0105】
ソフトウェア120が実行された時点において、CPU10は、ソフトウェア120の更新が必要であるか否かを確認する。
【0106】
好ましくは、更新情報ファイル410は、第2のサーバに保存されている。第2のソフトウェアの最新の更新用ファイル420が有効にされ、次に、ソフトウェア120の最新の更新用ファイル320が有効にされ、最後に、更新情報ファイル410が有効にされる。
【0107】
[サーバのハードウェア構成]
次に、図5を参照して、本実施の形態に係るサーバ300,301,400,1100の具体的構成について説明する。図5は、サーバ300,301,400,1100として機能するコンピュータシステム500のハードウェア構成を表わすブロック図である。
【0108】
コンピュータシステム500は、主たる構成要素として、プログラムを実行するCPU1と、コンピュータシステム500の使用者による指示の入力を受けるマウス2およびキーボード3と、CPU1によるプログラムの実行により生成されたデータ、又はマウス2若しくはキーボード3を介して入力されたデータを揮発的に格納するRAM4と、データを不揮発的に格納するハードディスク5と、光ディスク駆動装置6と、モニタ8と、通信IF(Interface)9とを備える。各構成要素は、相互にバスによって接続されている。光ディスク駆動装置6には、CD−ROM9その他の光ディスクが装着される。
【0109】
コンピュータシステム500における処理は、各ハードウェアおよびCPU1により実行されるソフトウェアによって実現される。このようなソフトウェアは、ハードディスク5に予め格納されている場合がある。また、ソフトウェアは、CD−ROM9その他のコンピュータ読み取り可能なデータ記録媒体に格納されて、プログラム製品として流通している場合もある。あるいは、当該ソフトウェアは、インターネットその他のネットワークに接続されている情報提供事業者によってダウンロード可能なプログラム製品として提供される場合もある。このようなソフトウェアは、光ディスク駆動装置6その他のデータ読取装置によってデータ記録媒体から読み取られて、あるいは、通信IF7を介してダウンロードされた後、ハードディスク5に一旦格納される。そのソフトウェアは、CPU1によってハードディスク5から読み出され、RAM4に実行可能なプログラムの形式で格納される。CPU1は、そのプログラムを実行する。
【0110】
図5に示されるコンピュータシステム500を構成する各構成要素は、一般的なものである。コンピュータシステム500の各ハードウェアの動作は周知であるので、詳細な説明は繰り返さない。
【0111】
なお、データ記録媒体としては、CD−ROM、FD(Flexible Disk)、ハードディスクに限られず、磁気テープ、カセットテープ、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、IC(Integrated Circuit)カード(メモリカードを含む)、光カード、マスクROM、EPROM(Electronically Programmable Read-Only Memory)、EEPROM(Electronically Erasable Programmable Read-Only Memory)、フラッシュROMなどの半導体メモリ等の固定的にプログラムを担持する媒体でもよい。
【0112】
ここでいうプログラムとは、CPUにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含み得る。
【0113】
[制御構造]
図4および図6を参照して、本実施の形態に係る端末100の制御構造について説明する。図6は、端末100が実行する一連の処理の一部を表わすフローチャートである。
【0114】
ステップS610にて、端末100のCPU10は、ソフトウェア120の更新用ファイル320の最新バージョン情報、および、ソフトウェア220の更新用ファイル420の最新バーション情報を含む更新情報ファイル310を、サーバ300から取得する。あるいは、他の局面において、CPU10は、更新情報ファイル310に含まれる情報と同じ情報を含む更新情報ファイル410を、サーバ400から取得する。
【0115】
ステップS615にて、CPU10は、ソフトウェア120のバーション情報を、フラッシュメモリ18に既に格納されているソフトウェア120から取得する。
【0116】
ステップS620にて、CPU10は、取得したバージョン情報と、更新情報ファイルに含まれる最新バージョン情報とを比較する。
【0117】
ステップS625にて、CPU10は、バージョン情報の比較の結果に基づいて、ソフトウェア120の更新が必要であるか否かを判断する。CPU10は、更新が必要であると判断すると(ステップS625にてYES)、制御をステップS630に切り替える。創でない場合には(ステップS625にてNO)、CPU10は、制御をステップS635に切り替える。
【0118】
ステップS630にて、CPU10は、ソフトウェア120の更新用ファイル320を用いて、ソフトウェア120を更新する。
【0119】
ステップS635にて、CPU10は、端末200において用いられているソフトウェア220のバージョン情報と、更新用ファイル320(または更新用ファイル420)に含まれる最新バージョン情報とを比較する。
【0120】
ステップS640にて、CPU10は、バージョン情報の比較の結果に基づいて、ソフトウェア220の更新が必要であるか否かを判断する。CPU10は、ソフトウェア220の更新が必要であると判断すると(ステップS640にてYES)、制御をステップS645に切り替える。そうでない場合には(ステップS640にてNO)、CPU10は、処理を終了する。
【0121】
ステップS645にて、CPU10は、ソフトウェア220の更新用ファイル420を、サーバ400から取得する。
【0122】
ステップS650にて、CPU10は、ソフトウェア220の更新用ファイル420を端末200に転送する。
【0123】
端末200が更新指示を必要とする場合、ステップS655にて、CPU10は、ソフトウェア220を更新する指示を、端末200に送信する。
【0124】
以上のようにして、本実施の形態によると、連携している複数の端末100,200においてソフトウェアが正しく更新される。
【0125】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0126】
1,10 CPU、2 マウス、3 キーボード、4,19 RAM、5 ハードディスク、6 光ディスク駆動装置、8,28 モニタ、9,20 ROM、11 音声信号処理回路、12 チューナ、13 通信装置、14,15,23 アンテナ、16 スイッチ、17 カメラ、18 フラッシュメモリ、21 メモリカード駆動装置、22 メモリカード、24 測位信号受信フロントエンド部、25 測位処理部、26 マイク、27 スピーカ、29 バックライト、32 バイブレータ、100,101,200,1000 端末、300,400 サーバ、500 コンピュータシステム。

【特許請求の範囲】
【請求項1】
情報処理端末であって、
通信インターフェイスと、
ソフトウェアを更新するための第1の更新機能を実現するためのプロセッサと、
前記プロセッサに接続されて、第1のソフトウェアを格納するためのメモリとを備え、
前記プロセッサは、
前記第1のソフトウェアのための第1の更新用ファイルの最新バージョン情報、および、前記情報処理端末と通信可能な他の装置に格納されている第2のソフトウェアのための第2の更新用ファイルの最新バーション情報を含む更新情報ファイルを、前記通信インターフェイスを介して取得し、
前記第1のソフトウェアのバージョン情報と、前記更新情報ファイルに含まれる最新バージョン情報とに基づいて、前記第1のソフトウェアの更新が必要であるか否かを判断し、
前記第1のソフトウェアの更新が必要である場合に、前記通信インターフェイスを介して前記第1の更新用ファイルを取得し、前記第1の更新用ファイルを用いて前記第1のソフトウェアを更新し、
前記第2のソフトウェアのバージョン情報と、前記更新情報ファイルに含まれる最新バージョン情報とに基づいて、前記第2のソフトウェアの更新が必要であるか否かを判断し、
前記第2のソフトウェアの更新が必要である場合に、前記通信インターフェイスを介して前記第2の更新用ファイルを取得し、
取得した前記第2の更新用ファイルを前記他の装置に送信するように構成されている、情報処理端末。
【請求項2】
前記プロセッサは、
前記第1のソフトウェアの更新用ファイルを、第1のサーバから取得し、
前記第2のソフトウェアの更新用ファイルを、第2のサーバから取得し、
前記更新情報ファイルを、前記第1のサーバまたは前記第2のサーバから取得し、
最新の前記第1の更新用ファイルおよび前記第2の更新用ファイルが有効にされてから、最新の更新情報ファイルは有効にされている、請求項1に記載の情報処理端末。
【請求項3】
前記プロセッサは、前記第1の更新機能とは異なる第2の更新機能を実現するように構成されており、
前記第1の更新機能は、前記第1のソフトウェアによって実現され、前記第1の更新機能には、前記更新情報ファイルに含まれる内容と同じ内容を含む更新情報が関連付けられ、
前記プロセッサは、前記第2の更新機能を実行することにより、前記第1のソフトウェアを更新し、
前記情報処理端末に対して与えられる命令に基づいて、または、前記第1の更新機能の実行に応じて、前記プロセッサは、前記第2の更新機能を実行するように構成されており、
前記第1の更新機能の実行に基づいて前記第2の更新機能が実行されるとき、前記プロセッサは、前記更新情報ファイルと前記更新情報とに基づいて、前記第1のソフトウェアを更新し、
前記第1のソフトウェアが実行された時点において、前記プロセッサは、前記第1のソフトウェアの更新が必要であるか否かを確認するように構成されている、請求項1または2に記載の情報処理端末。
【請求項4】
前記更新情報ファイルは、前記第2のサーバに保存され、
前記第2のソフトウェアの最新の更新用ファイルが有効にされ、次に、前記第1のソフトウェアの最新の更新用ファイルが有効にされ、最後に、前記更新情報ファイルが有効にされる、請求項3に記載の情報処理端末。
【請求項5】
情報処理端末がソフトウェアを更新するための方法であって、前記情報処理端末は、通信インターフェイスと、ソフトウェアを更新するための第1の更新機能を実現するためのプロセッサと、前記プロセッサに接続されて、第1のソフトウェアを格納するためのメモリとを備えており、前記方法は、
前記プロセッサが、前記第1のソフトウェアのための第1の更新用ファイルの最新バージョン情報、および、前記情報処理端末と通信可能な他の装置に格納されている第2のソフトウェアのための第2の更新用ファイルの最新バーション情報を含む更新情報ファイルを、前記通信インターフェイスを介して取得するステップと、
前記プロセッサが、前記第1のソフトウェアのバージョン情報と、前記更新情報ファイルに含まれる最新バージョン情報とに基づいて、前記第1のソフトウェアの更新が必要であるか否かを判断するステップと、
前記プロセッサが、前記第1のソフトウェアの更新が必要である場合に、前記通信インターフェイスを介して前記第1の更新用ファイルを取得し、前記第1の更新用ファイルを用いて前記第1のソフトウェアを更新するステップと、
前記プロセッサが、前記第2のソフトウェアのバージョン情報と、前記更新情報ファイルに含まれる最新バージョン情報とに基づいて、前記第2のソフトウェアの更新が必要であるか否かを判断するステップと、
前記プロセッサが、前記第2のソフトウェアの更新が必要である場合に、前記通信インターフェイスを介して前記第2の更新用ファイルを取得するステップと、
前記プロセッサが、取得した前記第2の更新用ファイルを前記他の装置に送信するステップとを含む、ソフトウェアを更新するための方法。
【請求項6】
情報処理端末にソフトウェアを更新させるためのプログラムであって、前記情報処理端末は、通信インターフェイスと、ソフトウェアを更新するための第1の更新機能を実現するためのプロセッサと、前記プロセッサに接続されて、第1のソフトウェアを格納するためのメモリとを備えており、前記プログラムは、前記プロセッサに、
前記第1のソフトウェアのための第1の更新用ファイルの最新バージョン情報、および、前記情報処理端末と通信可能な他の装置に格納されている第2のソフトウェアのための第2の更新用ファイルの最新バーション情報を含む更新情報ファイルを、前記通信インターフェイスを介して取得するステップと、
前記メモリから、前記第1のソフトウェアのバージョン情報と、前記更新情報ファイルに含まれる最新バージョン情報とに基づいて、前記第1のソフトウェアの更新が必要であるか否かを判断するステップと、
前記第1のソフトウェアの更新が必要である場合に、前記通信インターフェイスを介して前記第1の更新用ファイルを取得し、前記第1の更新用ファイルを用いて前記第1のソフトウェアを更新するステップと、
前記第2のソフトウェアのバージョン情報と、前記更新情報ファイルに含まれる最新バージョン情報とに基づいて、前記第2のソフトウェアの更新が必要であるか否かを判断するステップと、
前記第2のソフトウェアの更新が必要である場合に、前記通信インターフェイスを介して前記第2の更新用ファイルを取得するステップと、
取得した前記第2の更新用ファイルを前記他の装置に送信するステップとを実行させる、プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2013−97711(P2013−97711A)
【公開日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願番号】特願2011−242207(P2011−242207)
【出願日】平成23年11月4日(2011.11.4)
【特許番号】特許第5192070号(P5192070)
【特許公報発行日】平成25年5月8日(2013.5.8)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】