電子機器及び更新制御方法
【課題】 電力の供給状況に応じて、ユーザーによる使用を妨げずにソフトウェアを更新できる電子機器及び更新制御方法を提供すること。
【解決手段】 実施形態によれば、電子機器は、バッテリーによって供給される電力を用いて駆動され、配信情報受信手段、第1残量推定手段及びファイル受信手段を具備する。配信情報受信手段は、サーバーによって配信されるファイルと当該ファイルの優先度とを示す配信情報を受信する。第1残量推定手段は、前記ファイルのダウンロードが完了した際の前記バッテリーの第1残量を推定する。ファイル受信手段は、前記第1残量が前記優先度に基づくしきい値以上である場合、前記サーバーから前記ファイルを受信する。
【解決手段】 実施形態によれば、電子機器は、バッテリーによって供給される電力を用いて駆動され、配信情報受信手段、第1残量推定手段及びファイル受信手段を具備する。配信情報受信手段は、サーバーによって配信されるファイルと当該ファイルの優先度とを示す配信情報を受信する。第1残量推定手段は、前記ファイルのダウンロードが完了した際の前記バッテリーの第1残量を推定する。ファイル受信手段は、前記第1残量が前記優先度に基づくしきい値以上である場合、前記サーバーから前記ファイルを受信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、配信されるファイルを用いて更新される電子機器及び該機器に適用される更新制御方法に関する。
【背景技術】
【0002】
多数のコンピュータが利用される社内や学校内では、それらコンピュータで多様なソフトウェア(アプリケーションプログラム)が利用されている。そのようなソフトウェアは、例えば、コンピュータそれぞれのユーザーによってインストールされる。しかし、コンピュータそれぞれのユーザーがソフトウェアをインストールする場合には、ユーザーがインストール作業を行うことによる作業コストの問題や、不要なソフトウェアや誤ったソフトウェアがインストールされてしまう問題等が生じることがある。そのため、それらコンピュータに接続されたサーバーが、コンピュータ(すなわち、クライアントコンピュータ)にインストールされるソフトウェアを管理することにより、必要なソフトウェアやソフトウェアを更新するためのファイルをクライアントコンピュータに配信し、インストール(更新)する方法が利用されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−216436号公報
【特許文献2】特開平11−345114号公報
【特許文献3】特開2003−140902号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、クライアントであるコンピュータは、バッテリーから供給される電力で駆動されることがある。例えば、ノートブックタイプのコンピュータやスマートフォンのようなモバイル機器は、外部AC電源から電力を供給されていないとき、バッテリーによって供給される電力で駆動される。バッテリーから供給される電力で駆動されているコンピュータでは、バッテリーの容量や使用状況等によって稼働時間が変動する。
【0005】
上述のサーバーによるソフトウェア管理方法では、クライアントが、サーバーからソフトウェアをダウンロードする処理やソフトウェアをインストールする処理を実行することによって電力が消費される。そのため、バッテリー駆動のクライアントコンピュータでは、そのような処理が実行されることによって稼働時間が短くなってしまう。また、クライアントコンピュータでは、インストールの途中でバッテリーから電力が供給されなくなり、ソフトウェアのインストールが失敗することによって、そのソフトウェアが正しく動作しなくなる可能性がある。
【0006】
本発明は、電力の供給状況に応じて、ユーザーによる使用を妨げずにソフトウェアを更新できる電子機器及び更新制御方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
実施形態によれば、電子機器は、バッテリーによって供給される電力を用いて駆動され、配信情報受信手段、第1残量推定手段及びファイル受信手段を具備する。配信情報受信手段は、サーバーによって配信されるファイルと当該ファイルの優先度とを示す配信情報を受信する。第1残量推定手段は、前記ファイルのダウンロードが完了した際の前記バッテリーの第1残量を推定する。ファイル受信手段は、前記第1残量が前記優先度に基づくしきい値以上である場合、前記サーバーから前記ファイルを受信する。
【図面の簡単な説明】
【0008】
【図1】実施形態に係る配信制御システムの例を示す概念図。
【図2】同実施形態の配信制御システムに設けられたサーバー装置とクライアント装置との構成の例を示すブロック図。
【図3】同実施形態の配信制御システムによって用いられる優先度情報の例を示す図。
【図4】同実施形態の配信制御システムによって用いられる優先度に基づく処理条件の例を示す図。
【図5】同実施形態の配信制御システムによって用いられる配信ファイル情報の例を示す図。
【図6】同実施形態の配信制御システムに設けられたサーバー装置によって用いられる処理状態情報の例を示す図。
【図7】同実施形態の配信制御システムに設けられたクライアント装置によって用いられる処理状態情報の例を示す図。
【図8】同実施形態の配信制御システムに設けられたサーバー装置によって表示される優先度設定画面の例を示す図。
【図9】同実施形態の配信制御システムに設けられたサーバー装置によって表示される配信ファイル設定画面の例を示す図。
【図10】同実施形態の配信制御システムに設けられたサーバー装置によって実行される配信ファイル管理処理の手順の例を示すフローチャート。
【図11】同実施形態の配信制御システムに設けられたサーバー装置によって実行される配信制御処理の手順の例を示すフローチャート。
【図12】同実施形態の配信制御システムに設けられたクライアント装置によって実行される更新制御処理の手順の例を示すフローチャート。
【図13】同実施形態の配信制御システムに設けられたクライアント装置のシステム構成の例を示すブロック図。
【図14】同実施形態の配信制御システムに設けられたサーバー装置のシステム構成の例を示すブロック図。
【発明を実施するための形態】
【0009】
以下、実施の形態について図面を参照して説明する。
【0010】
まず、図1を参照して、実施形態に係る配信制御システム1の例について説明する。
配信制御システム1は、管理サーバー2と1以上のクライアント31,32,33とがネットワーク4を介して相互に接続されるクライアント・サーバーシステムである。管理サーバー2は、例えば、サーバーコンピュータとして実現され得る。クライアント31,32,33は、ノートブックタイプのパーソナルコンピュータ(PC)として実現され得る。また、クライアント31,32,33は、タブレットタイプのPC、PDA、スマートフォン、携帯電話機のような携帯情報端末としても実現され得る。
【0011】
管理サーバー2は、クライアント31,32,33にインストールされるファイル(データ)22を管理する。クライアント31,32,33にインストールされるファイル22は、例えば、クライアント31,32,33に既にインストールされたアプリケーションプログラムを更新するためのファイル、セキュリティパッチ(セキュリティ上の脆弱性を修正するためのモジュール)、アンチウィルスソフトウェアのパターンファイル等である。また、ファイル22は、ソフトウェア(アプリケーションプログラム)自体をインストールするためのファイルであってもよい。
【0012】
管理サーバー2は、クライアント31,32,33にインストールされるファイルを管理するためのサーバーソフトウェア21を実行する。サーバーソフトウェア21は、クライアント31,32,33のそれぞれにインストールされるファイル22を決定し、クライアント31,32,33による配信要求に応じてファイル22を配信する。
【0013】
クライアント31,32,33は、管理サーバー2によって配信されたファイル22Aを用いたインストールを実行する。クライアント31,32,33は、管理サーバー2にからファイル22Aをダウンロードし、インストールするためのクライアントソフトウェア3Aを実行する。クライアントソフトウェア3Aは、クライアント31,32,33の電源状態等を考慮して、管理サーバー2にファイル22Aの配信を要求する。クライアントソフトウェア3Aは、管理サーバー2によって送信されたファイル22Aを受信(ダウンロード)し、受信したファイル22Aをクライアント31,32,33にインストールする。クライアントソフトウェア3Aは、例えば、クライアントのバッテリー残量が所定量以上であるときや、クライアントが外部AC電源からの電力で駆動されているときに、ファイル22Aの配信を要求し、受信したファイル22Aをインストールする。また、クライアントソフトウェア3Aは、例えば、クライアントのバッテリー残量が所定量未満であっても、管理サーバー2から配信されるファイル22Aが緊急性の高いファイルであるとき、そのファイル22Aの配信を要求し、受信したファイル22Aをインストールする。
【0014】
これにより、クライアント31,32,33は、バッテリー残量等の電力の供給状況と、ファイルをインストールすべき緊急性(すなわち、ファイルの優先度)とに応じて、クライアント31,32,33上のソフトウェアの更新を制御する。また、クライアント31,32,33のユーザーは、各自でファイルをインストールする必要がないので、クライアント31,32,33に不要なファイルがインストールされないようにすることができる。
【0015】
図2は、配信制御システム1に設けられるサーバー装置2とクライアント装置31との構成の例を示す。サーバー装置2とクライアント装置31とは、無線LANのようなネットワーク4を介して相互に接続されている。
【0016】
サーバー装置2では、配信制御プログラム(サーバーソフトウェア)21が実行される。配信制御プログラム21は、クライアント装置31にインストールされるファイルを管理し、クライアント装置31にファイルを配信する。配信制御プログラム21は、配信情報生成部211、入力制御部212、表示制御部213、配信情報送信部214、ファイル配信部215、及び処理状態更新部216を備える。
【0017】
入力制御部212は、キーボードやポインティングデバイス等を用いた入力操作を検出する。入力制御部212は、検出された入力操作を示す情報を配信情報生成部211等に出力する。
【0018】
配信情報生成部211は、クライアント装置31に配信されるファイル22を所定の格納場所(記憶領域)94に配置する。具体的には、例えば、入力制御部212によって、ユーザーによる所定の操作が検出されたことに応じて、配信情報生成部211はファイル22を所定の格納場所94に配置する。また、ファイル22は、ユーザーが所定のディレクトリ(フォルダ)にファイル22を移動させる操作を行なったことによって、所定の格納場所94に配置されてもよい。配置されるファイル22は、上述のように、クライアント31,32,33に既にインストールされたアプリケーションプログラムを更新するためのファイル、セキュリティパッチ、アンチウィルスソフトウェアのパターンファイル等である。配信情報生成部211は、クライアント装置31に配信されるファイルが配置されたことを表示制御部213に通知する。
【0019】
表示制御部213は、配信情報生成部211による通知に応じて、又はユーザーによる要求(入力操作)に応じて、ファイル22の優先度を設定するための優先度設定画面をディスプレイの画面に表示する。入力制御部212は、優先度設定画面を用いた入力操作を検出し、検出された入力操作を示す情報を配信情報生成部211に出力する。優先度設定画面の例については、図8を参照して後述する。
配信情報生成部211は、優先度設定画面を用いた入力操作に基づいて、優先度情報941を生成する。優先度情報941は、例えば、記憶装置94内の所定の領域に格納される。
【0020】
図3は、優先度情報941の一構成例を示す。優先度情報941は、クライアント装置31に配信される複数のファイル22に対応する複数のエントリを含む。各エントリは、例えば、「ファイル名」、「優先度」及び「サイズ」を含む。あるファイルに対応するエントリにおいて、「ファイル名」は、そのファイルに付与された名称を示す。「優先度」は、そのファイルが、クライアント装置31によって優先的に処理される度合いを示す。したがって、セキュリティパッチやアンチウィルスソフトウェアのウィルスパターンファイル等の迅速にインストールすべきファイルには、高い優先度が設定される。クライアント装置31は、「優先度」の値に関連付けられた処理条件に基づいて、当該ファイルを処理する(すなわち、ダウンロード/インストールする)。また、「サイズ」は、そのファイルのサイズ(データサイズ)を示す。「サイズ」に設定された値は、例えば、そのファイルを処理するために要する時間を算出(推定)するために用いられる。
【0021】
図3では、ファイル“AP1”の「優先度」が“1”に設定され、その「サイズ」が100KBであること、ファイル“AP2”の「優先度」が“3”に設定され、その「サイズ」が35KBであること、及びファイル“AP3”の「優先度」が“4”に設定され、その「サイズ」が1.2MBことが示されている。
【0022】
また、図4は、「優先度」の値に関連付けられた処理条件の例を示す。この処理条件では、例えば、優先度が高いほど(すなわち、「優先度」に設定された値が小さいほど)、処理終了時のバッテリーの残量が少ない場合であっても、ファイルのダウンロードやインストールのような処理が実行される。そして、例えば、優先度が低いほど(すなわち、「優先度」に設定された値が大きいほど)、処理終了時のバッテリーの残量が少ない場合には、ファイルのダウンロードやインストールのような処理が実行されない。図4に示すように、例えば、「優先度」に“1”が設定されたファイルは、処理終了時のバッテリーの残量が満充電時の容量の5%以上である場合に処理される。「優先度」に“2”が設定されたファイルは、処理終了時のバッテリーの残量が満充電時の容量の10%以上である場合に処理される。「優先度」に“3”が設定されたファイルは、処理終了時のバッテリーの残量が満充電時の容量の20%以上である場合に処理される。「優先度」に“4”が設定されたファイルは、処理終了時のバッテリーの残量が満充電時の容量の30%以上である場合に処理される。「優先度」に“5”が設定されたファイルは、処理終了時のバッテリーの残量が満充電時の容量の40%以上である場合に処理される。
【0023】
なお、処理条件は、例えば、バッテリーの残量ではなく、電力の供給源(電源)に基づく条件であってもよい。具体的には、例えば、「優先度」に“1”が設定されたファイルは、バッテリー又は外部AC電源によって電力が供給されている場合に処理される(すなわち、電源状態によらず処理される)。「優先度」に“2”が設定されたファイルは、外部AC電源によって電力が供給されている場合に処理される。つまり、緊急性が高い「優先度」“1”のファイルは、電力の供給源に関わらず処理され、緊急性が低い「優先度」“2”のファイルは、外部AC電源によって電力が供給されている場合にのみ処理される。
【0024】
配信情報生成部211は、優先度情報941の生成が完了したことを表示制御部213に通知する。
【0025】
表示制御部213は、配信情報生成部211による通知に応じて、又はユーザーによる要求に応じて、クライアント装置31に配信されるファイルを設定するための配信ファイル設定画面を表示する。入力制御部212は、配信ファイル設定画面を用いた入力操作を検出し、検出された入力操作を示す情報を配信情報生成部211に出力する。配信ファイル設定画面の例については、図9を参照して後述する。
配信情報生成部211は、配信ファイル設定画面を用いた入力に基づいて、配信ファイル情報942と処理状態情報943とを生成する。配信情報生成部211は、生成された配信ファイル情報942と処理状態情報943とを、例えば、記憶装置94内の格納する。
【0026】
図5は、配信ファイル情報942の一構成例を示す。配信ファイル情報942は、例えば、複数のクライアント装置31に対応する複数のエントリを含む。各エントリは、例えば、「クライアント名」と「配信ファイル」とを含む。あるクライアント装置31に対応するエントリにおいて、「クライアント名」は、そのクライアント装置31に付与された名称を示す。この名称は、そのクライアント装置31を一意に識別可能な名称である。したがって「クライアント名」には、そのクライアント装置31に一意に割り当てられる識別情報(ID)が設定されてもよい。また、「配信ファイル」は、そのクライアント装置31に配信されるファイルを示す。つまり、「配信ファイル」に示されるファイルが、そのクライアント装置31にダウンロードされ、インストールされる。
【0027】
図5では、クライアント装置“CL1”に、ファイル“AP1”,“AP2”,“AP3”が配信され、クライアント装置“CL2”に、ファイル“AP1”が配信され、クライアント装置“CL3”に、ファイル“AP1”,“AP3”が配信されることが示されている。
【0028】
また、図6は、サーバー装置2によって用いられる処理状態情報943の一構成例を示す。処理状態情報943は、複数のファイルに対応する複数のエントリを含む。各エントリは、例えば、「ファイル名」と「処理状態」とを含む。あるファイルに対応するエントリにおいて、「ファイル名」はそのファイルに付与されたファイルの名称を示す。「処理状態」は、各クライアント装置31でのそのファイルの処理状態を示す。「処理状態」は、例えば、クライアント装置31毎の「ダウンロード」及び「インストール」を含む。すなわち、「ダウンロード」は、対象のクライアント装置(例えば、“CL1”)において、そのファイルのダウンロードが完了したか否かを示す。また、「インストール」は、対象のクライアント装置において、そのファイルのインストールが完了したか否かを示す。なお、記号“○”はダウンロード/インストールが完了したこと、記号“×”はダウンロード/インストールが完了していないこと、記号“−”は、ダウンロード/インストールが行なわれないことを示す。
【0029】
図6では、例えば、クライアント装置“CL1”において、ファイル“AP1”のダウンロード及びインストールと、ファイル“AP2”のダウンロード及びインストールと、ファイル“AP3”のダウンロードとが完了し、ファイル“AP3”のインストールが完了していないことが示されている。
【0030】
また、配信情報送信部214は、クライアント装置31から配信情報(優先度情報941及び配信ファイル情報942)の送信が要求されたことに応じて、クライアント装置31に対応する配信ファイル情報942と優先度情報941とを該クライアント装置31に送信する。例えば、クライアント装置“CL1”によって配信情報の送信が要求されたとき、配信情報送信部214は、配信ファイル情報942から“CL1”に対応する配信ファイルのリスト(図5に示す例では、“AP1”,“AP2”及び“AP3”)を抽出する。そして、配信情報送信部214は、抽出された、“CL1”に対応する配信ファイルのリストと、優先度情報941とを、クライアント装置“CL1”に送信する。
【0031】
ファイル配信部215は、クライアント装置31(配信情報受信部312)によるファイル22の送信(ダウンロード)の要求に応じて、その要求されたファイル22を記憶装置94から読み出す。そして、ファイル配信部215は、読み出したファイル22をクライアント装置31に送信する。
【0032】
処理状態更新部216は、クライアント装置31(ダウンロード部314)によってダウンロードの完了が通知されたことに応じて、処理状態情報943を更新する。クライアント装置31は、ダウンロードの完了を通知するとき、ダウンロードが完了したファイルの名称(例えば、“AP1”)を通知する。処理状態更新部216は、処理状態情報943の内のクライアント装置31に対応するエントリに対して、そのファイルのダウンロードが完了したことを記述する。
【0033】
処理状態更新部216は、クライアント装置31(インストール部316)によってインストールの完了が通知されたことに応じて、処理状態情報943を更新する。クライアント装置31は、インストールの完了を通知するとき、インストールが完了したファイルの名称(例えば、“AP1”)を通知する。処理状態更新部216は、処理状態情報943の内のクライアント31に対応するエントリに対して、そのファイルのインストールが完了したことを記述する。
【0034】
なお、配信情報送信部214は、処理状態情報943をさらに用いて、クライアント装置31に送信する配信情報を決定してもよい。配信情報送信部214は、処理状態情報943を用いることにより、クライアント装置31によって既にダウンロード/インストールされたファイル22の情報を除いた配信ファイル情報942を配信することができる。
【0035】
また、クライアント装置31では、更新制御プログラム(クライアントソフトウェア)3Aが実行される。更新制御プログラム3Aは、管理サーバー2によって配信されたファイル22Aを用いたインストールを実行する。更新制御プログラム3Aは、電源状態監視部311、配信情報受信部312、第1残量推定部313、ダウンロード部314、第2残量推定部315、及びインストール部316を備える。
【0036】
電源状態監視部311は、クライアント装置31の電源状態を監視する。具体的には、電源状態監視部311は、クライアント装置31に対して、バッテリーと外部AC電源のいずれから電力が供給されているかを監視する。また、電源状態監視部311は、バッテリーの満充電時の充電容量、バッテリー残量、消費電力(例えば、1分間当たりの消費電力量)等を監視する。バッテリーは、長期間使用されることによって、蓄電能力が低下したり、電力消費が早くなることがある。そのため、電源状態監視部311は、現在の(実際の)バッテリーの満充電時の充電容量、バッテリー残量、消費電力等を検出する。また、監視によって得られた、電力が供給される電源、バッテリーの満充電時の充電容量、バッテリー残量、消費電力等を示す情報は、電源状態情報841として記憶装置84等に保存される。
【0037】
なお、電源状態を検出する方法は、例えばコンピュータのベンダーによって、提供されるインターフェースが異なるので、電源状態監視部311は、そのインターフェースに応じた方法で電源状態を検出する。なお、クライアント装置31がACPI(Advanced Configuration and Power Interface)規格に準拠している際には、ACPI規格に応じた方法で電源状態を検出することができる。
【0038】
また、配信情報受信部312は、サーバー装置2に対して、クライアント装置31に対応する優先度情報842と配信ファイル情報843とを含む配信情報の送信を要求する。配信情報受信部312は、例えば、前回、サーバー装置2から配信情報を受信してから所定の期間が(例えば、1時間)が経過したときや、ユーザーによる要求があったとき、サーバー装置2に配信情報の送信を要求する。そして、配信情報受信部312は、サーバー装置2によって送信された、クライアント装置31に対応する優先度情報842及び配信ファイル情報843を受信する。配信情報受信部312は、受信した優先度情報842及び配信ファイル情報843を第1残量推定部313に出力する。
【0039】
第1残量推定部313は、配信情報受信部312によって出力された優先度情報842及び配信ファイル情報843と、記憶装置84に格納された処理状態情報844とを用いて、配信ファイル情報843に示されるファイルをダウンロードするか否かを決定する。第1残量推定部313は、配信ファイル情報843に示される1以上のファイルを、優先度が高いものから順にダウンロードするか否か決定する。つまり、第1残量推定部313は、配信ファイル情報843に示される1以上のファイルを、優先度が高いものから順に処理対象ファイルに設定する。
【0040】
第1残量推定部313は、電源状態情報841を用いて、処理対象ファイルのダウンロードが完了した際のバッテリーの残量(以下、第1残量とも称する)を推定する。具体的には、第1残量推定部313は、優先度情報842に示される処理対象のファイルのサイズS1、クライアント装置31に設けられたCPU、メモリ、記憶装置(HDD)等のリソースによるスループット、クライアント装置31とサーバー装置2との間のネットワーク4によるデータの伝送速度等に基づいて、処理対象ファイルをダウンロードするために要する時間T1を算出する。
【0041】
なお、処理対象ファイルをダウンロードするために要する時間T1は、処理対象のファイルのサイズS1を、クライアント装置31に設けられたCPU、メモリ、記憶装置等のリソースに基づくスループットと、クライアント装置31とサーバー装置2との間のネットワーク4によるデータの伝送速度とに基づく定数C1で割った値であってもよい。定数C1は、クライアント装置31に設けられたリソースのスループットが高いほど、またネットワーク4のデータ伝送速度が速いほど大きくなる。つまり、第1残量推定部313は、次式により、処理対象ファイルをダウンロードするために要する時間T1を算出する。
T1=S1/C1
例えば、定数C1=20であって、200MB(=S1)のファイルをダウンロードすることを想定した場合、ファイルをダウンロードするために要する時間T1は10分である。
【0042】
次いで、第1残量推定部313は、電源状態情報841から、満充電時のバッテリーの容量BFと、現在のバッテリー残量B1と、1分間当たりの消費電力量W1とを読み出す。そして、第1残量推定部313は、次式により、処理対象のファイルのダウンロードが完了した際の第1残量BDを算出する。
BD=(B1−W1×T1)/BF
この第1残量BDは、バッテリーの満充電時の容量BFに対する、ダウンロード完了時の残量の割合(%)を示す。
【0043】
また、第1残量推定部313は、優先度情報842を用いて、処理対象ファイルに関連付けられた優先度を検出する。そして、第1残量推定部313は、第1残量BDが、検出された優先度に対応するダウンロード条件を満たすかどうかを判定する。第1残量推定部313は、例えば、ダウンロード条件として、第1残量BDが優先度に基づくしきい値以上であるか否かを判定する。
【0044】
ダウンロード条件は、図4を参照して上述したように、優先度が高いほど、処理終了時のバッテリーの残量が少ない場合であっても、ファイルのダウンロードが実行されるように規定されている。つまり、優先度に基づくしきい値は、優先度が高いほど小さな値が設定される。例えば、ファイル“AP1”の優先度が“1”である場合、第1残量推定部313は、第1残量BDが5%以上であるか否かを判定する。また、ファイル“AP2”の優先度が“3”である場合、第1残量推定部313は、第1残量BDが20%以上であるか否かを判定する。なお、第1残量推定部313は、クライアント装置31に対して、外部AC電源から電力が供給されているとき、優先度に対応するダウンロード条件を満たすと判定してもよい。第1残量推定部313は、第1残量BDがダウンロード条件を満たすか否かを示す判定結果をダウンロード部314に出力する。
【0045】
ダウンロード部314は、第1残量推定部313によって出力された判定結果を用いて、優先度に基づくダウンロード条件が満たされる場合、サーバー装置2に処理対象ファイルの送信を要求する。そして、ダウンロード部314は、サーバー装置2によって送信された処理対象ファイルを受信する。ダウンロード部314は、処理対象ファイル22Aを記憶装置84等に格納する。また、ダウンロード部314は、記憶装置84に格納された処理状態情報844に、受信した処理対象ファイル22Aに対応するエントリを追加し、当該エントリにダウンロードが完了したことを記述する。この処理状態情報844を用いることにより、サーバー装置2から既にダウンロードされたファイル22Aが、再度ダウンロードされてしまうことを避けることができる。
【0046】
図7は、クライアント装置31によって用いられる処理状態情報844の一構成例を示す。処理状態情報844は、複数のファイルに対応する複数のエントリを含む。各エントリは、例えば、「ファイル名」、「ダウンロード」及び「インストール」を含む。あるファイルに対応するエントリにおいて、「ファイル名」は、そのファイルに付与された名称を示す。「ダウンロード」は、そのファイルのダウンロードが完了したか否かを示す。また、「インストール」は、そのファイルのインストールが完了したか否かを示す。なお、記号“○”はダウンロード/インストールが完了したこと、記号“×”はダウンロード/インストールが完了していないことを示す。
【0047】
図7では、ファイル“AP1”のダウンロード及びインストールが完了し、ファイル“AP2のダウンロード及びインストールが完了し、ファイル“AP3”のダウンロードが完了し、インストールが完了していないことが示されている。
【0048】
ダウンロード部314は、処理対象ファイル22Aのダウンロードが完了したことを第2残量推定部315とサーバー装置2(処理状態更新部216)とに通知する。
【0049】
なお、第1残量BDが優先度に基づくダウンロード条件を満たさない場合には、処理対象ファイルのダウンロード(及びインストール)は延期される。そして、以降にダウンロード条件が満たされたタイミングで処理対象ファイルのダウンロードが実行される。
【0050】
第2残量推定部315は、ダウンロード部314による通知に応じて、処理対象ファイル22Aをインストールするか否かを決定する。第2残量推定部315は、電源状態情報841を用いて、処理対象ファイル22Aのインストールが完了した際のバッテリーの残量(以下、第2残量とも称する)を推定する。具体的には、第2残量推定部315は、優先度情報842に示される処理対象のファイル22AのサイズS1、クライアント装置31に設けられたCPU、メモリ、記憶装置(HDD)等のリソースによるスループット等に基づいて、処理対象ファイル22Aをインストールするために要する時間T2を算出する。
【0051】
なお、処理対象ファイル22Aをインストールするために要する時間T2は、処理対象のファイル22AのサイズS1を、クライアント装置31に設けられたCPU、メモリ、記憶装置等のリソースに基づくスループットに基づく定数C2で割った値であってもよい。定数C2は、クライアント装置31に設けられたリソースのスループットが高いほど大きくなる。つまり、第2残量推定部315は、次式により、処理対象ファイル22Aをインストールするために要する時間T2を算出する。
T2=S1/C2
例えば、定数C2=40であって、200MB(=S1)のファイル22Aをインストールすることを想定した場合、ファイル22Aをインストールするために要する時間T2は5分である。
【0052】
次いで、第2残量推定部315は、電源状態情報841から、満充電時のバッテリーの容量BFと、現在のバッテリー残量B2と、1分間当たりの消費電力量W2とを読み出す。そして、第2残量推定部315は、次式により、処理対象のファイル22Aのインストールが完了した際の第2残量BIを算出する。
BI=(B2−W2×T2)/BF
この第2残量BIは、バッテリーの満充電時の容量BFに対する、インストール完了時の残量の割合(%)を示す。
【0053】
また、第2残量推定部315は、優先度情報842を用いて、処理対象ファイル22Aに関連付けられた優先度を検出する。そして、第2残量推定部315は、第2残量BIが、検出された優先度に対応するインストール条件を満たすかどうかを判定する。第2残量推定部315は、例えば、インストール条件として、第2残量BIが優先度に基づくしきい値以上であるか否かを判定する。
【0054】
インストール条件は、図4を参照して上述したように、優先度が高いほど、処理終了時のバッテリーの残量が少ない場合であっても、ファイル22Aのインストールが実行されるように規定されている。つまり、優先度に基づくしきい値は、優先度が高いほど小さな値が設定される。例えば、ファイル“AP1”の優先度が“1”である場合、第2残量推定部315は、第2残量BIが5%以上であるか否かを判定する。また、ファイル“AP2”の優先度が“3”である場合、第2残量推定部315は、第2残量BIが20%以上であるか否かを判定する。なお、第2残量推定部315は、クライアント装置31に対して、外部AC電源から電力が供給されているとき、優先度に対応するインストール条件を満たすと判定してもよい。第2残量推定部315は、第2残量BIがインストール条件を満たすか否かを示す判定結果をインストール部316に出力する。
【0055】
インストール部316は、第2残量推定部315によって出力された判定結果を用いて、優先度に基づくインストール条件が満たされる場合、処理対象ファイル22Aを用いたインストールを実行する。そして、インストール部316は、処理対象ファイル22Aのインストールが完了(成功)したことに応じて、処理状態情報844に含まれる、処理対象ファイル22Aに対応するエントリにインストールが完了したことを記述する。この処理状態情報844を用いることにより、クライアント装置31に既にインストールされたファイル22Aが、再度インストールされてしまうことを避けることができる。インストール部316は、処理対象ファイル22Aのインストールが完了したことをサーバー装置2(処理状態更新部216)に通知する。
【0056】
なお、第2残量BIが優先度に基づくインストール条件を満たさない場合には、処理対象ファイル22Aのインストールは延期される。そして、以降にインストール条件が満たされたタイミングで処理対象ファイル22Aのインストールが実行される。
【0057】
以上の構成により、電力の供給状況に応じて、ユーザーによる使用を妨げずにクライアント装置31のソフトウェアを更新できる。第1残量推定部313は、サーバー装置2からファイル22Aをダウンロードする前に、ダウンロードが完了した際のバッテリーの第1残量を推定する。そして、ダウンロード部314は、第1残量がファイル22Aの優先度に基づくダウンロード条件を満たす場合に、ファイル22Aをダウンロードする。これにより、ダウンロード中にバッテリーから電力が供給されなくなり、ダウンロードが失敗することを避けることができる。また、第2残量推定部315は、ダウンロードしたファイル22Aをインストールする前に、インストールが完了した際のバッテリーの第2残量を推定する。そして、インストール部316は、第2残量がファイル22Aの優先度に基づくインストール条件を満たす場合に、ファイル22Aをインストールする。これにより、インストール中にバッテリーから電力が供給されなくなり、インストールが失敗することを避けることができる。また、ダウンロード部314及びインストール部316は、バッテリー残量が十分でない際には、緊急性(優先度)が高いファイル以外をダウンロード/インストールせずに、ダウンロード/インストールによって電力が消費されないようにする。これにより、ダウンロード/インストールによってクライアント装置31の稼働時間が削減され、ユーザーによる作業が妨げられることを回避することができる。
【0058】
また、図8は、サーバー装置2で用いられる優先度設定画面の例を示す。優先度設定画面5は、ファイル一覧表示エリア51、詳細表示エリア52、優先度入力エリア53、OKボタン54等を含む。ファイル一覧表示エリア51は、クライアント装置31に配信されるファイル22(例えば、“APP1”〜“APP3”)を示すファイルボタン51A,51B,51Cを含む。
【0059】
詳細表示エリア52には、ファイルボタン51A,51B,51Cの内、選択された一つのボタンに対応するファイルに関する情報が表示される。詳細表示エリア52に表示される情報は、例えば、そのファイルに関連するソフトウェア(アプリケーションプログラム)や、そのファイルを用いたインストールによる効果(例えば、セキュリティパッチの適用、ウィルスパターンファイルの更新、プログラムのバグの修正、ソフトウェアの機能の改良等)を示す。優先度入力エリア53は、ファイルボタン51A,51B,51Cの内、選択された一つのボタンに対応するファイルの優先度を入力するためのエリアである。優先度入力エリア53では、例えば、リスト表示ボタン53Aが押されたことに応じて、優先度として設定可能な数値のリスト(例えば、1から5までの整数を含むリスト)が表示される。そして、リストから選択された一つの数値が、選択されたファイルの優先度に設定される。OKボタン54は、優先度設定画面5を用いた設定を確定するためのボタンである。優先度設定画面5の表示は、例えば、OKボタン54が押されたことに応じて終了する。
【0060】
具体的には、ユーザーは、例えば、ファイルボタン51A,51B,51Cの内の一つのボタン51A(すなわち、優先度を設定するファイルに対応するボタン)を選択し、ボタン51に対応するファイル(“APP1”)に関する情報を詳細表示エリア52で確認する。そして、ユーザーは、優先度入力エリア53(リスト表示ボタン53Aに応じて表示されるリスト)を用いて、例えば、緊急性の高いファイルには高い優先度(例えば、“1”)を設定し、緊急性の低いファイルには低い優先度(例えば、“5”)を設定する。
【0061】
また、図9は、サーバー装置2で用いられる配信ファイル設定画面の例を示す。配信ファイル設定画面6は、例えば、クライアント一覧表示エリア61、ファイル一覧表示エリア62、OKボタン63等を含む。クライアント一覧表示エリア61は、サーバー装置2に接続されたクライアント装置31(例えば、“CL1”〜“CL3”)に対応するクライアントボタン61A,61B,61Cを含む。また、ファイル一覧表示エリア62は、クライアント装置31に配信されるファイル22(例えば、“APP1”〜“APP3”)を示すファイルチェックボタン62A,62B,62Cを含む。ファイルチェックボタン62A,62B,62Cは、クライアントボタン61A,61B,61Cの内、選択された一つのボタンに対応するクライアント装置に配信されるファイル22Aを選択するためのボタンである。OKボタン63は、配信ファイル設定画面6を用いた設定を確定するためのボタンである。配信ファイル設定画面6の表示は、例えば、OKボタン63が押されたことに応じて終了する。
【0062】
具体的には、ユーザーは、例えば、クライアントボタン61A,61B,61Cの内の1つのボタン61C(“CL3”に対応するクライアントボタン61C)を選択する。そして、ユーザーは、ファイルチェックボタン62A,62Cを選択すること(チェック状態にすること)によって、クライアント装置“CL3”に対して、ファイル“APP1”及び“APP3”を配信することを設定する。
【0063】
次いで、図10のフローチャートを参照して、サーバー装置2によって実行される配信ファイル管理処理の手順の例を説明する。
まず、配信情報生成部211は、クライアント装置31に配信されるファイル22を所定の格納場所(記憶領域)94に配置する(ブロックB11)。
【0064】
次いで、表示制御部213は、ファイル22の優先度を設定するための優先度設定画面5を表示する(ブロックB12)。入力制御部212は、優先度設定画面5を用いた入力を検出する。そして、配信情報生成部211は、優先度設定画面5を用いた入力に基づいて、優先度情報941を生成する(ブロックB13)。
【0065】
また、表示制御部213は、クライアント装置3に配信されるファイルを設定するための配信ファイル設定画面6を表示する(ブロックB14)。入力制御部212は、配信ファイル設定画面6を用いた入力を検出する。そして、配信情報生成部211は、配信ファイル設定画面6を用いた入力に基づいて、配信ファイル情報942と処理状態情報943とを生成する(ブロックB15)。
【0066】
また、図11のフローチャートは、サーバー装置2によって実行される配信制御処理の手順の例を示す。
まず、配信情報送信部214は、クライアント装置3から配信情報(優先度情報941及び配信ファイル情報942)の送信が要求されたか否か判定する(ブロックB21)。配信情報の送信が要求されている場合(ブロックB21のYES)、配信情報送信部214は、クライアント装置3に対応する優先度情報941と配信ファイル情報942とを送信する(ブロックB22)。
【0067】
配信情報の送信が要求されていない場合(ブロックB21のNO)、ファイル配信部215は、クライアント装置3によってファイル22の送信(ダウンロード)が要求されているか否かを判定する(ブロックB23)。ファイル22の送信が要求されている場合(ブロックB23のYES)、ファイル配信部215は、その要求されたファイルをクライアント装置3に送信する(ブロックB24)。
【0068】
ファイルの送信が要求されていない場合(ブロックB23のNO)、処理状態更新部216は、クライアント装置3によってダウンロードの完了が通知されているか否かを判定する(ブロックB25)。ダウンロードの完了が通知されている場合(ブロックB25のYES)、処理状態更新部216は、処理状態情報943を更新する(ブロックB26)。クライアント装置3は、ダウンロードの完了を通知するとき、ダウンロードが完了したファイルの名称(例えば、“AP1”)を通知する。処理状態更新部216は、処理状態情報943の内のクライアント装置3に対応するエントリに対して、そのファイルのダウンロードが完了したことを記述する。
【0069】
ダウンロードの完了が通知されていない場合(ブロックB25のNO)、処理状態更新部216は、クライアント装置3によってインストールの完了が通知されているか否かを判定する(ブロックB27)。インストールの完了が通知されている場合(ブロックB27のYES)、処理状態更新部216は、処理状態情報943を更新する(ブロックB28)。クライアント装置3は、インストールの完了を通知するとき、インストールが完了したファイルの名称(例えば、“AP1”)を通知する。処理状態更新部216は、処理状態情報943の内のクライアント装置3に対応するエントリに対して、そのファイルのインストールが完了したことを記述する。
【0070】
以上の処理により、クライアント装置3に配信されるファイル22を管理し、クライアント装置3による要求に応じて配信情報とファイル22とを送信することができる。
【0071】
次いで、図12のフローチャートを参照して、クライアント装置31によって実行される更新制御処理の手順の例を説明する。
まず、配信情報受信部312は、更新制御処理を開始するタイミングであるか否かを判定する(ブロックB301)。配信情報受信部312は、例えば、前回、サーバー装置2から配信情報を受信してから所定の期間が(例えば、1時間)が経過したときや、ユーザーによる要求があったとき、更新制御処理を開始するタイミングであると判定する。更新制御処理を開始するタイミングでない場合(ブロックB301のNO)、ブロックB301に戻り、再度、更新制御処理を開始するタイミングであるか否かを判定する。
【0072】
更新制御処理を開始するタイミングである場合(ブロックB301のYES)、配信情報受信部312は、サーバー装置2に対して、クライアント装置31に対応する優先度情報941及び配信ファイル情報942の送信を要求する(ブロックB302)。そして、配信情報受信部312は、サーバー装置2によって送信された、クライアント装置31に対応する優先度情報941及び配信ファイル情報942(すなわち、優先度情報842及び配信ファイル情報843)を受信する(ブロックB303)。
【0073】
次いで、第1残量推定部313は、処理状態情報844を用いて、配信ファイル情報843に示されるファイル(以下、第1ファイルとも称する)22Aがダウンロード済みであるか否かを判定する(ブロックB304)。第1ファイル22Aがダウンロード済みでない場合(ブロックB304のNO)、第1残量推定部313は、優先度情報842から第1ファイル22Aに関連付けられた優先度を検出し、優先度に基づくダウンロード条件が満たされるか否かを判定する(ブロックB305)。具体的には、第1残量推定部313は、第1ファイル22Aのダウンロードが完了した際のバッテリーの第1残量を推定する。このバッテリーの残量は、例えば、バッテリーの満充電時の容量に対する、ダウンロード完了時の残量の割合(%)で示される。また、第1残量推定部313は、第1ファイル22Aに関連付けられた優先度に基づいて、優先度に基づくダウンロード条件を決定する。このダウンロード条件は、図4を参照して上述したように、優先度が高いほど、処理終了時のバッテリーの残量が少ない場合であっても、ファイルのダウンロードが実行されるように規定される。したがって例えば、第1残量推定部313は、推定されたバッテリーの第1残量が満充電時の容量の5%以上である場合に、優先度“1”に対応するダウンロード条件を満たすと判定する。
【0074】
優先度に基づくダウンロード条件が満たされない場合(例えば、バッテリーの第1残量が十分でない場合)(ブロックB305のNO)、ブロックB301に戻る。
【0075】
一方、優先度に基づくダウンロード条件が満たされる場合(ブロックB305のYES)、ダウンロード部314は、サーバー装置2に第1ファイル22Aの送信を要求する(ブロックB306)。そして、ダウンロード部314は、サーバー装置2によって送信された第1ファイル22Aを受信する(ブロックB307)。また、ダウンロード部314は、記憶装置84に格納された処理状態情報844に、受信した第1ファイル22Aに対応するエントリを追加し、当該エントリにダウンロードが完了したことを記述する(ブロックB308)。そして、ダウンロード部314は、第1ファイルのダウンロードが完了したことをサーバー装置2に通知する(ブロックB309)。
【0076】
次いで、第2残量推定部315は、優先度情報842から第1ファイル22Aに関連付けられた優先度を検出し、優先度に基づくインストール条件が満たされるか否かを判定する(ブロックB310)。具体的には、第2残量推定部315は、第1ファイル22Aのインストールが完了した際のバッテリーの第2残量を推定する。このバッテリーの第2残量は、例えば、バッテリーの満充電時の容量に対する、インストール完了時の残量の割合(%)で示される。また、第2残量推定部315は、第1ファイル22Aに関連付けられた優先度に基づいて、優先度に基づくインストール条件を決定する。このインストール条件は、図4を参照して上述したように、優先度が高いほど、処理終了時のバッテリーの残量が少ない場合であっても、ファイルのインストールが実行されるように規定される。したがって例えば、第2残量推定部315は、推定されたバッテリーの第2残量が満充電時の容量の5%以上である場合に、優先度“1”に対応するインストール条件を満たすと判定する。
【0077】
優先度に基づくインストール条件が満たされない場合(例えば、バッテリーの第2残量が十分でない場合)(ブロックB310のNO)、ブロックB301に戻る。
【0078】
一方、優先度に基づくインストール条件が満たされる場合(ブロックB310のYES)、インストール部316は、第1ファイル22Aを用いたインストールを実行する(ブロックB311)。そして、インストール部316は、記憶装置84に格納された処理状態情報844に含まれる、第1ファイル22Aに対応するエントリにインストールが完了したことを記述する(ブロックB312)。また、インストール部316は、第1ファイル22Aのインストールが完了したことをサーバー装置2に通知する(ブロックB313)。
【0079】
次いで、配信情報受信部312は、配信ファイル情報843に、他の処理すべきファイルが示されているか否かを判定する(ブロックB314)。配信ファイル情報843に他の処理すべきファイルが示されている場合(ブロックB314のYES)、ブロックB304に戻り、そのファイルに関する処理を実行する。配信ファイル情報843に他の処理すべきファイルが示されていない場合(ブロックB314のNO)、ブロックB301に戻る。
【0080】
また、第1ファイル22Aがダウンロード済みである場合(ブロックB304のYES)、第2残量推定部315は、処理状態情報844を用いて、第1ファイル22Aがインストール済みであるか否かを判定する(ブロックB315)。第1ファイル22Aがインストール済みでない場合(ブロックB315のNO)、ブロックB310に進む。一方、第1ファイル22Aがインストール済みである場合(ブロックB315のYES)、ブロックB314に進む。
【0081】
以上の処理により、電力の供給状況に応じて、ファイル22Aのダウンロード及びインストールを制御し、優先度が低いファイル22Aではユーザーによるクライアント装置31の使用が妨げられないようにすることができる。
【0082】
次いで、図13は、クライアント装置31のシステム構成の例を示す。クライアント装置31は、CPU(Central Processing Unit)81、主メモリ82、ネットワークコントローラ83、I/Oデバイス84、記憶装置85、グラフィクスコントローラ86、LCD(Liquid Crystal Display)87、EC/KBC88、キーボード(KB)89、バッテリー80A、ACアダプタ80B等を備える。
【0083】
CPU81は各種プログラムを実行するプロセッサである。CPU81は、各種演算処理を実行すると共に、クライアント装置31内の各部を制御する。
【0084】
主メモリ82は、CPU81によって実行される、オペレーティングシステム3C、更新制御プログラム3Aのような各種アプリケーションプログラム、及び各種データを格納するためのメインメモリである。主メモリ82には、例えばOS3C及び更新制御プログラム3Aがロードされている。
【0085】
ネットワークコントローラ83は、例えばEthernet(登録商標)規格の有線通信を実行する有線通信デバイスや、IEEE 802.11規格の無線通信を実行する無線通信デバイスである。クライアント装置31は、ネットワークコントローラ83を用いることにより、サーバー装置2との通信を実行する。
【0086】
I/Oデバイス84は、クライアント装置31に対するデータの入出力を実行するための各種入出力デバイスである。また、記憶装置85は、各種プログラムやデータを格納するための不揮発性の記憶装置である。記憶装置85に格納された各種プログラムやデータは、クライアント装置31内の各部による要求に応じて、主メモリ82へロードされる。主メモリ82にロードされる更新制御プログラム3Aの動作は、図2等を参照して説明した通りである。
【0087】
グラフィクスコントローラ86は、クライアント装置31のディスプレイモニタとして使用されるLCD87を制御する。このグラフィクスコントローラ86によって生成される表示信号はLCD87に送られる。グラフィクスコントローラ86及びLCD87を用いることにより、例えば、ユーザーによる操作に応じた画面を表示することができる。
【0088】
エンベデッドコントローラ/キーボードコントローラ(EC/KBC)88は、電力管理を行うためのエンベデッドコントローラと、キーボード89やポインティングデバイスを制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。このEC/KBC88は、ユーザーによる操作に応じて本クライアント装置31をパワーオン/パワーオフする機能を有している。EC/KBC88は、ACアダプタ80Bを介して外部から供給される電力、又はバッテリー80Aから供給される電力を用いて、クライアント装置31内の各部に電力を供給する。換言すれば、クライアント装置31は、AC商用電源のような外部電源、又はバッテリー80Aによって駆動される。ACアダプタ106はクライアント装置31外に設けることもできる。
【0089】
更新制御プログラム3Aの電源状態監視部311は、OS3CやEC/KBC88を介して、バッテリー80Aによって供給される電力と外部電源によって供給される電力とを監視し、またバッテリー80Aの満充電時の容量や現在のバッテリー80Aの残量、クライアント装置31の消費電力等を検出することができる。
【0090】
また、図14は、サーバー装置2のシステム構成の例を示す。サーバー装置2は、CPU(Central Processing Unit)91、主メモリ92、ネットワークコントローラ93、I/Oデバイス94、記憶装置95、グラフィクスコントローラ96、LCD(Liquid Crystal Display)97、EC/KBC98、キーボード(KB)99、ACアダプタ90等を備える。
【0091】
CPU91は各種プログラムを実行するプロセッサである。CPU91は、各種演算処理を実行すると共に、サーバー装置2内の各部を制御する。
【0092】
主メモリ92は、CPU91によって実行される、オペレーティングシステム23、配信制御プログラム21のような各種アプリケーションプログラム、及び各種データを格納するためのメインメモリである。主メモリ92には、例えばOS23及び配信制御プログラム21がロードされている。
【0093】
ネットワークコントローラ93は、例えばEthernet(登録商標)規格の有線通信を実行する有線通信デバイスや、IEEE 802.11規格の無線通信を実行する無線通信デバイスである。サーバー装置2は、ネットワークコントローラ93を用いることにより、クライアント装置31との通信を実行する。
【0094】
I/Oデバイス94は、サーバー装置2に対するデータの入出力を実行するための各種入出力デバイスである。また、記憶装置95は、各種プログラムやデータを格納するための不揮発性の記憶装置である。記憶装置95に格納された各種プログラムやデータは、サーバー装置2内の各部による要求に応じて、主メモリ92へロードされる。主メモリ92にロードされる配信制御プログラム21の動作は、図2等を参照して説明した通りである。
【0095】
グラフィクスコントローラ96は、サーバー装置2のディスプレイモニタとして使用されるLCD97を制御する。このグラフィクスコントローラ96によって生成される表示信号はLCD97に送られる。グラフィクスコントローラ96及びLCD97を用いることにより、例えば、ユーザーによる操作に応じた画面を表示することができる。
【0096】
エンベデッドコントローラ/キーボードコントローラ(EC/KBC)98は、電力管理を行うためのエンベデッドコントローラと、キーボード99やポインティングデバイスを制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。このEC/KBC98は、ユーザーによる操作に応じて本サーバー装置2をパワーオン/パワーオフする機能を有している。EC/KBC98は、ACアダプタ90を介して外部から供給される電力を用いて、サーバー装置2内の各部に電力を供給する。換言すれば、サーバー装置2は、AC商用電源のような外部電源によって駆動される。ACアダプタ90はサーバー装置2外に設けることもできる。
【0097】
以上説明したように、本実施形態によれば、電力の供給状況に応じて、ユーザーによる使用を妨げずにソフトウェアを更新できる。ダウンロード部314及びインストール部316は、バッテリー残量が十分でない際には、緊急性(優先度)が高いファイル以外をダウンロード/インストールせずに、ダウンロード/インストールによって電力が消費されないようにする。これにより、ダウンロード/インストールによってクライアント装置31の稼働時間が短くなり、ユーザーによるクライアント装置31の使用が妨げられることを回避することができる。
【0098】
また、電力使用のピーク時(例えば、昼間の時間帯)には、節電のために、クライアント装置31をバッテリーによって供給される電力を用いて駆動させることが想定される。そのような場合には、クライアント装置31は、例えば、昼間に(クライアント装置31がバッテリー駆動されるとき)、緊急性が高いファイルだけをダウンロード/インストールし、夜間に(クライアント装置31が外部電源によって駆動されるとき)、緊急性が高いファイル以外をダウンロード/インストールするように、ソフトウェアの更新を制御することができる。
【0099】
なお、本実施形態の配信管理処理、配信制御処理及び更新制御処理の手順は全てソフトウェアによって実行することができる。このため、配信管理処理、配信制御処理及び更新制御処理の手順を実行するプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【0100】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0101】
2…サーバー装置、21…配信制御プログラム、211…配信情報生成部、212…入力制御部、213…表示制御部、214…配信情報送信部、215…ファイル配信部、216…処理状態更新部、22,22A…ファイル、31…クライアント装置、3A…更新制御プログラム、311…電源状態監視部、312…配信情報送信部、313…第1残量推定部、314…ダウンロード部、315…第2残量推定部、316…インストール部、84…記憶装置、841…電源状態情報、842…優先度情報、843…配信ファイル情報、844…処理状態情報、94…記憶装置、941…優先度情報、942…配信ファイル情報、943…処理状態情報。
【技術分野】
【0001】
本発明の実施形態は、配信されるファイルを用いて更新される電子機器及び該機器に適用される更新制御方法に関する。
【背景技術】
【0002】
多数のコンピュータが利用される社内や学校内では、それらコンピュータで多様なソフトウェア(アプリケーションプログラム)が利用されている。そのようなソフトウェアは、例えば、コンピュータそれぞれのユーザーによってインストールされる。しかし、コンピュータそれぞれのユーザーがソフトウェアをインストールする場合には、ユーザーがインストール作業を行うことによる作業コストの問題や、不要なソフトウェアや誤ったソフトウェアがインストールされてしまう問題等が生じることがある。そのため、それらコンピュータに接続されたサーバーが、コンピュータ(すなわち、クライアントコンピュータ)にインストールされるソフトウェアを管理することにより、必要なソフトウェアやソフトウェアを更新するためのファイルをクライアントコンピュータに配信し、インストール(更新)する方法が利用されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−216436号公報
【特許文献2】特開平11−345114号公報
【特許文献3】特開2003−140902号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、クライアントであるコンピュータは、バッテリーから供給される電力で駆動されることがある。例えば、ノートブックタイプのコンピュータやスマートフォンのようなモバイル機器は、外部AC電源から電力を供給されていないとき、バッテリーによって供給される電力で駆動される。バッテリーから供給される電力で駆動されているコンピュータでは、バッテリーの容量や使用状況等によって稼働時間が変動する。
【0005】
上述のサーバーによるソフトウェア管理方法では、クライアントが、サーバーからソフトウェアをダウンロードする処理やソフトウェアをインストールする処理を実行することによって電力が消費される。そのため、バッテリー駆動のクライアントコンピュータでは、そのような処理が実行されることによって稼働時間が短くなってしまう。また、クライアントコンピュータでは、インストールの途中でバッテリーから電力が供給されなくなり、ソフトウェアのインストールが失敗することによって、そのソフトウェアが正しく動作しなくなる可能性がある。
【0006】
本発明は、電力の供給状況に応じて、ユーザーによる使用を妨げずにソフトウェアを更新できる電子機器及び更新制御方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
実施形態によれば、電子機器は、バッテリーによって供給される電力を用いて駆動され、配信情報受信手段、第1残量推定手段及びファイル受信手段を具備する。配信情報受信手段は、サーバーによって配信されるファイルと当該ファイルの優先度とを示す配信情報を受信する。第1残量推定手段は、前記ファイルのダウンロードが完了した際の前記バッテリーの第1残量を推定する。ファイル受信手段は、前記第1残量が前記優先度に基づくしきい値以上である場合、前記サーバーから前記ファイルを受信する。
【図面の簡単な説明】
【0008】
【図1】実施形態に係る配信制御システムの例を示す概念図。
【図2】同実施形態の配信制御システムに設けられたサーバー装置とクライアント装置との構成の例を示すブロック図。
【図3】同実施形態の配信制御システムによって用いられる優先度情報の例を示す図。
【図4】同実施形態の配信制御システムによって用いられる優先度に基づく処理条件の例を示す図。
【図5】同実施形態の配信制御システムによって用いられる配信ファイル情報の例を示す図。
【図6】同実施形態の配信制御システムに設けられたサーバー装置によって用いられる処理状態情報の例を示す図。
【図7】同実施形態の配信制御システムに設けられたクライアント装置によって用いられる処理状態情報の例を示す図。
【図8】同実施形態の配信制御システムに設けられたサーバー装置によって表示される優先度設定画面の例を示す図。
【図9】同実施形態の配信制御システムに設けられたサーバー装置によって表示される配信ファイル設定画面の例を示す図。
【図10】同実施形態の配信制御システムに設けられたサーバー装置によって実行される配信ファイル管理処理の手順の例を示すフローチャート。
【図11】同実施形態の配信制御システムに設けられたサーバー装置によって実行される配信制御処理の手順の例を示すフローチャート。
【図12】同実施形態の配信制御システムに設けられたクライアント装置によって実行される更新制御処理の手順の例を示すフローチャート。
【図13】同実施形態の配信制御システムに設けられたクライアント装置のシステム構成の例を示すブロック図。
【図14】同実施形態の配信制御システムに設けられたサーバー装置のシステム構成の例を示すブロック図。
【発明を実施するための形態】
【0009】
以下、実施の形態について図面を参照して説明する。
【0010】
まず、図1を参照して、実施形態に係る配信制御システム1の例について説明する。
配信制御システム1は、管理サーバー2と1以上のクライアント31,32,33とがネットワーク4を介して相互に接続されるクライアント・サーバーシステムである。管理サーバー2は、例えば、サーバーコンピュータとして実現され得る。クライアント31,32,33は、ノートブックタイプのパーソナルコンピュータ(PC)として実現され得る。また、クライアント31,32,33は、タブレットタイプのPC、PDA、スマートフォン、携帯電話機のような携帯情報端末としても実現され得る。
【0011】
管理サーバー2は、クライアント31,32,33にインストールされるファイル(データ)22を管理する。クライアント31,32,33にインストールされるファイル22は、例えば、クライアント31,32,33に既にインストールされたアプリケーションプログラムを更新するためのファイル、セキュリティパッチ(セキュリティ上の脆弱性を修正するためのモジュール)、アンチウィルスソフトウェアのパターンファイル等である。また、ファイル22は、ソフトウェア(アプリケーションプログラム)自体をインストールするためのファイルであってもよい。
【0012】
管理サーバー2は、クライアント31,32,33にインストールされるファイルを管理するためのサーバーソフトウェア21を実行する。サーバーソフトウェア21は、クライアント31,32,33のそれぞれにインストールされるファイル22を決定し、クライアント31,32,33による配信要求に応じてファイル22を配信する。
【0013】
クライアント31,32,33は、管理サーバー2によって配信されたファイル22Aを用いたインストールを実行する。クライアント31,32,33は、管理サーバー2にからファイル22Aをダウンロードし、インストールするためのクライアントソフトウェア3Aを実行する。クライアントソフトウェア3Aは、クライアント31,32,33の電源状態等を考慮して、管理サーバー2にファイル22Aの配信を要求する。クライアントソフトウェア3Aは、管理サーバー2によって送信されたファイル22Aを受信(ダウンロード)し、受信したファイル22Aをクライアント31,32,33にインストールする。クライアントソフトウェア3Aは、例えば、クライアントのバッテリー残量が所定量以上であるときや、クライアントが外部AC電源からの電力で駆動されているときに、ファイル22Aの配信を要求し、受信したファイル22Aをインストールする。また、クライアントソフトウェア3Aは、例えば、クライアントのバッテリー残量が所定量未満であっても、管理サーバー2から配信されるファイル22Aが緊急性の高いファイルであるとき、そのファイル22Aの配信を要求し、受信したファイル22Aをインストールする。
【0014】
これにより、クライアント31,32,33は、バッテリー残量等の電力の供給状況と、ファイルをインストールすべき緊急性(すなわち、ファイルの優先度)とに応じて、クライアント31,32,33上のソフトウェアの更新を制御する。また、クライアント31,32,33のユーザーは、各自でファイルをインストールする必要がないので、クライアント31,32,33に不要なファイルがインストールされないようにすることができる。
【0015】
図2は、配信制御システム1に設けられるサーバー装置2とクライアント装置31との構成の例を示す。サーバー装置2とクライアント装置31とは、無線LANのようなネットワーク4を介して相互に接続されている。
【0016】
サーバー装置2では、配信制御プログラム(サーバーソフトウェア)21が実行される。配信制御プログラム21は、クライアント装置31にインストールされるファイルを管理し、クライアント装置31にファイルを配信する。配信制御プログラム21は、配信情報生成部211、入力制御部212、表示制御部213、配信情報送信部214、ファイル配信部215、及び処理状態更新部216を備える。
【0017】
入力制御部212は、キーボードやポインティングデバイス等を用いた入力操作を検出する。入力制御部212は、検出された入力操作を示す情報を配信情報生成部211等に出力する。
【0018】
配信情報生成部211は、クライアント装置31に配信されるファイル22を所定の格納場所(記憶領域)94に配置する。具体的には、例えば、入力制御部212によって、ユーザーによる所定の操作が検出されたことに応じて、配信情報生成部211はファイル22を所定の格納場所94に配置する。また、ファイル22は、ユーザーが所定のディレクトリ(フォルダ)にファイル22を移動させる操作を行なったことによって、所定の格納場所94に配置されてもよい。配置されるファイル22は、上述のように、クライアント31,32,33に既にインストールされたアプリケーションプログラムを更新するためのファイル、セキュリティパッチ、アンチウィルスソフトウェアのパターンファイル等である。配信情報生成部211は、クライアント装置31に配信されるファイルが配置されたことを表示制御部213に通知する。
【0019】
表示制御部213は、配信情報生成部211による通知に応じて、又はユーザーによる要求(入力操作)に応じて、ファイル22の優先度を設定するための優先度設定画面をディスプレイの画面に表示する。入力制御部212は、優先度設定画面を用いた入力操作を検出し、検出された入力操作を示す情報を配信情報生成部211に出力する。優先度設定画面の例については、図8を参照して後述する。
配信情報生成部211は、優先度設定画面を用いた入力操作に基づいて、優先度情報941を生成する。優先度情報941は、例えば、記憶装置94内の所定の領域に格納される。
【0020】
図3は、優先度情報941の一構成例を示す。優先度情報941は、クライアント装置31に配信される複数のファイル22に対応する複数のエントリを含む。各エントリは、例えば、「ファイル名」、「優先度」及び「サイズ」を含む。あるファイルに対応するエントリにおいて、「ファイル名」は、そのファイルに付与された名称を示す。「優先度」は、そのファイルが、クライアント装置31によって優先的に処理される度合いを示す。したがって、セキュリティパッチやアンチウィルスソフトウェアのウィルスパターンファイル等の迅速にインストールすべきファイルには、高い優先度が設定される。クライアント装置31は、「優先度」の値に関連付けられた処理条件に基づいて、当該ファイルを処理する(すなわち、ダウンロード/インストールする)。また、「サイズ」は、そのファイルのサイズ(データサイズ)を示す。「サイズ」に設定された値は、例えば、そのファイルを処理するために要する時間を算出(推定)するために用いられる。
【0021】
図3では、ファイル“AP1”の「優先度」が“1”に設定され、その「サイズ」が100KBであること、ファイル“AP2”の「優先度」が“3”に設定され、その「サイズ」が35KBであること、及びファイル“AP3”の「優先度」が“4”に設定され、その「サイズ」が1.2MBことが示されている。
【0022】
また、図4は、「優先度」の値に関連付けられた処理条件の例を示す。この処理条件では、例えば、優先度が高いほど(すなわち、「優先度」に設定された値が小さいほど)、処理終了時のバッテリーの残量が少ない場合であっても、ファイルのダウンロードやインストールのような処理が実行される。そして、例えば、優先度が低いほど(すなわち、「優先度」に設定された値が大きいほど)、処理終了時のバッテリーの残量が少ない場合には、ファイルのダウンロードやインストールのような処理が実行されない。図4に示すように、例えば、「優先度」に“1”が設定されたファイルは、処理終了時のバッテリーの残量が満充電時の容量の5%以上である場合に処理される。「優先度」に“2”が設定されたファイルは、処理終了時のバッテリーの残量が満充電時の容量の10%以上である場合に処理される。「優先度」に“3”が設定されたファイルは、処理終了時のバッテリーの残量が満充電時の容量の20%以上である場合に処理される。「優先度」に“4”が設定されたファイルは、処理終了時のバッテリーの残量が満充電時の容量の30%以上である場合に処理される。「優先度」に“5”が設定されたファイルは、処理終了時のバッテリーの残量が満充電時の容量の40%以上である場合に処理される。
【0023】
なお、処理条件は、例えば、バッテリーの残量ではなく、電力の供給源(電源)に基づく条件であってもよい。具体的には、例えば、「優先度」に“1”が設定されたファイルは、バッテリー又は外部AC電源によって電力が供給されている場合に処理される(すなわち、電源状態によらず処理される)。「優先度」に“2”が設定されたファイルは、外部AC電源によって電力が供給されている場合に処理される。つまり、緊急性が高い「優先度」“1”のファイルは、電力の供給源に関わらず処理され、緊急性が低い「優先度」“2”のファイルは、外部AC電源によって電力が供給されている場合にのみ処理される。
【0024】
配信情報生成部211は、優先度情報941の生成が完了したことを表示制御部213に通知する。
【0025】
表示制御部213は、配信情報生成部211による通知に応じて、又はユーザーによる要求に応じて、クライアント装置31に配信されるファイルを設定するための配信ファイル設定画面を表示する。入力制御部212は、配信ファイル設定画面を用いた入力操作を検出し、検出された入力操作を示す情報を配信情報生成部211に出力する。配信ファイル設定画面の例については、図9を参照して後述する。
配信情報生成部211は、配信ファイル設定画面を用いた入力に基づいて、配信ファイル情報942と処理状態情報943とを生成する。配信情報生成部211は、生成された配信ファイル情報942と処理状態情報943とを、例えば、記憶装置94内の格納する。
【0026】
図5は、配信ファイル情報942の一構成例を示す。配信ファイル情報942は、例えば、複数のクライアント装置31に対応する複数のエントリを含む。各エントリは、例えば、「クライアント名」と「配信ファイル」とを含む。あるクライアント装置31に対応するエントリにおいて、「クライアント名」は、そのクライアント装置31に付与された名称を示す。この名称は、そのクライアント装置31を一意に識別可能な名称である。したがって「クライアント名」には、そのクライアント装置31に一意に割り当てられる識別情報(ID)が設定されてもよい。また、「配信ファイル」は、そのクライアント装置31に配信されるファイルを示す。つまり、「配信ファイル」に示されるファイルが、そのクライアント装置31にダウンロードされ、インストールされる。
【0027】
図5では、クライアント装置“CL1”に、ファイル“AP1”,“AP2”,“AP3”が配信され、クライアント装置“CL2”に、ファイル“AP1”が配信され、クライアント装置“CL3”に、ファイル“AP1”,“AP3”が配信されることが示されている。
【0028】
また、図6は、サーバー装置2によって用いられる処理状態情報943の一構成例を示す。処理状態情報943は、複数のファイルに対応する複数のエントリを含む。各エントリは、例えば、「ファイル名」と「処理状態」とを含む。あるファイルに対応するエントリにおいて、「ファイル名」はそのファイルに付与されたファイルの名称を示す。「処理状態」は、各クライアント装置31でのそのファイルの処理状態を示す。「処理状態」は、例えば、クライアント装置31毎の「ダウンロード」及び「インストール」を含む。すなわち、「ダウンロード」は、対象のクライアント装置(例えば、“CL1”)において、そのファイルのダウンロードが完了したか否かを示す。また、「インストール」は、対象のクライアント装置において、そのファイルのインストールが完了したか否かを示す。なお、記号“○”はダウンロード/インストールが完了したこと、記号“×”はダウンロード/インストールが完了していないこと、記号“−”は、ダウンロード/インストールが行なわれないことを示す。
【0029】
図6では、例えば、クライアント装置“CL1”において、ファイル“AP1”のダウンロード及びインストールと、ファイル“AP2”のダウンロード及びインストールと、ファイル“AP3”のダウンロードとが完了し、ファイル“AP3”のインストールが完了していないことが示されている。
【0030】
また、配信情報送信部214は、クライアント装置31から配信情報(優先度情報941及び配信ファイル情報942)の送信が要求されたことに応じて、クライアント装置31に対応する配信ファイル情報942と優先度情報941とを該クライアント装置31に送信する。例えば、クライアント装置“CL1”によって配信情報の送信が要求されたとき、配信情報送信部214は、配信ファイル情報942から“CL1”に対応する配信ファイルのリスト(図5に示す例では、“AP1”,“AP2”及び“AP3”)を抽出する。そして、配信情報送信部214は、抽出された、“CL1”に対応する配信ファイルのリストと、優先度情報941とを、クライアント装置“CL1”に送信する。
【0031】
ファイル配信部215は、クライアント装置31(配信情報受信部312)によるファイル22の送信(ダウンロード)の要求に応じて、その要求されたファイル22を記憶装置94から読み出す。そして、ファイル配信部215は、読み出したファイル22をクライアント装置31に送信する。
【0032】
処理状態更新部216は、クライアント装置31(ダウンロード部314)によってダウンロードの完了が通知されたことに応じて、処理状態情報943を更新する。クライアント装置31は、ダウンロードの完了を通知するとき、ダウンロードが完了したファイルの名称(例えば、“AP1”)を通知する。処理状態更新部216は、処理状態情報943の内のクライアント装置31に対応するエントリに対して、そのファイルのダウンロードが完了したことを記述する。
【0033】
処理状態更新部216は、クライアント装置31(インストール部316)によってインストールの完了が通知されたことに応じて、処理状態情報943を更新する。クライアント装置31は、インストールの完了を通知するとき、インストールが完了したファイルの名称(例えば、“AP1”)を通知する。処理状態更新部216は、処理状態情報943の内のクライアント31に対応するエントリに対して、そのファイルのインストールが完了したことを記述する。
【0034】
なお、配信情報送信部214は、処理状態情報943をさらに用いて、クライアント装置31に送信する配信情報を決定してもよい。配信情報送信部214は、処理状態情報943を用いることにより、クライアント装置31によって既にダウンロード/インストールされたファイル22の情報を除いた配信ファイル情報942を配信することができる。
【0035】
また、クライアント装置31では、更新制御プログラム(クライアントソフトウェア)3Aが実行される。更新制御プログラム3Aは、管理サーバー2によって配信されたファイル22Aを用いたインストールを実行する。更新制御プログラム3Aは、電源状態監視部311、配信情報受信部312、第1残量推定部313、ダウンロード部314、第2残量推定部315、及びインストール部316を備える。
【0036】
電源状態監視部311は、クライアント装置31の電源状態を監視する。具体的には、電源状態監視部311は、クライアント装置31に対して、バッテリーと外部AC電源のいずれから電力が供給されているかを監視する。また、電源状態監視部311は、バッテリーの満充電時の充電容量、バッテリー残量、消費電力(例えば、1分間当たりの消費電力量)等を監視する。バッテリーは、長期間使用されることによって、蓄電能力が低下したり、電力消費が早くなることがある。そのため、電源状態監視部311は、現在の(実際の)バッテリーの満充電時の充電容量、バッテリー残量、消費電力等を検出する。また、監視によって得られた、電力が供給される電源、バッテリーの満充電時の充電容量、バッテリー残量、消費電力等を示す情報は、電源状態情報841として記憶装置84等に保存される。
【0037】
なお、電源状態を検出する方法は、例えばコンピュータのベンダーによって、提供されるインターフェースが異なるので、電源状態監視部311は、そのインターフェースに応じた方法で電源状態を検出する。なお、クライアント装置31がACPI(Advanced Configuration and Power Interface)規格に準拠している際には、ACPI規格に応じた方法で電源状態を検出することができる。
【0038】
また、配信情報受信部312は、サーバー装置2に対して、クライアント装置31に対応する優先度情報842と配信ファイル情報843とを含む配信情報の送信を要求する。配信情報受信部312は、例えば、前回、サーバー装置2から配信情報を受信してから所定の期間が(例えば、1時間)が経過したときや、ユーザーによる要求があったとき、サーバー装置2に配信情報の送信を要求する。そして、配信情報受信部312は、サーバー装置2によって送信された、クライアント装置31に対応する優先度情報842及び配信ファイル情報843を受信する。配信情報受信部312は、受信した優先度情報842及び配信ファイル情報843を第1残量推定部313に出力する。
【0039】
第1残量推定部313は、配信情報受信部312によって出力された優先度情報842及び配信ファイル情報843と、記憶装置84に格納された処理状態情報844とを用いて、配信ファイル情報843に示されるファイルをダウンロードするか否かを決定する。第1残量推定部313は、配信ファイル情報843に示される1以上のファイルを、優先度が高いものから順にダウンロードするか否か決定する。つまり、第1残量推定部313は、配信ファイル情報843に示される1以上のファイルを、優先度が高いものから順に処理対象ファイルに設定する。
【0040】
第1残量推定部313は、電源状態情報841を用いて、処理対象ファイルのダウンロードが完了した際のバッテリーの残量(以下、第1残量とも称する)を推定する。具体的には、第1残量推定部313は、優先度情報842に示される処理対象のファイルのサイズS1、クライアント装置31に設けられたCPU、メモリ、記憶装置(HDD)等のリソースによるスループット、クライアント装置31とサーバー装置2との間のネットワーク4によるデータの伝送速度等に基づいて、処理対象ファイルをダウンロードするために要する時間T1を算出する。
【0041】
なお、処理対象ファイルをダウンロードするために要する時間T1は、処理対象のファイルのサイズS1を、クライアント装置31に設けられたCPU、メモリ、記憶装置等のリソースに基づくスループットと、クライアント装置31とサーバー装置2との間のネットワーク4によるデータの伝送速度とに基づく定数C1で割った値であってもよい。定数C1は、クライアント装置31に設けられたリソースのスループットが高いほど、またネットワーク4のデータ伝送速度が速いほど大きくなる。つまり、第1残量推定部313は、次式により、処理対象ファイルをダウンロードするために要する時間T1を算出する。
T1=S1/C1
例えば、定数C1=20であって、200MB(=S1)のファイルをダウンロードすることを想定した場合、ファイルをダウンロードするために要する時間T1は10分である。
【0042】
次いで、第1残量推定部313は、電源状態情報841から、満充電時のバッテリーの容量BFと、現在のバッテリー残量B1と、1分間当たりの消費電力量W1とを読み出す。そして、第1残量推定部313は、次式により、処理対象のファイルのダウンロードが完了した際の第1残量BDを算出する。
BD=(B1−W1×T1)/BF
この第1残量BDは、バッテリーの満充電時の容量BFに対する、ダウンロード完了時の残量の割合(%)を示す。
【0043】
また、第1残量推定部313は、優先度情報842を用いて、処理対象ファイルに関連付けられた優先度を検出する。そして、第1残量推定部313は、第1残量BDが、検出された優先度に対応するダウンロード条件を満たすかどうかを判定する。第1残量推定部313は、例えば、ダウンロード条件として、第1残量BDが優先度に基づくしきい値以上であるか否かを判定する。
【0044】
ダウンロード条件は、図4を参照して上述したように、優先度が高いほど、処理終了時のバッテリーの残量が少ない場合であっても、ファイルのダウンロードが実行されるように規定されている。つまり、優先度に基づくしきい値は、優先度が高いほど小さな値が設定される。例えば、ファイル“AP1”の優先度が“1”である場合、第1残量推定部313は、第1残量BDが5%以上であるか否かを判定する。また、ファイル“AP2”の優先度が“3”である場合、第1残量推定部313は、第1残量BDが20%以上であるか否かを判定する。なお、第1残量推定部313は、クライアント装置31に対して、外部AC電源から電力が供給されているとき、優先度に対応するダウンロード条件を満たすと判定してもよい。第1残量推定部313は、第1残量BDがダウンロード条件を満たすか否かを示す判定結果をダウンロード部314に出力する。
【0045】
ダウンロード部314は、第1残量推定部313によって出力された判定結果を用いて、優先度に基づくダウンロード条件が満たされる場合、サーバー装置2に処理対象ファイルの送信を要求する。そして、ダウンロード部314は、サーバー装置2によって送信された処理対象ファイルを受信する。ダウンロード部314は、処理対象ファイル22Aを記憶装置84等に格納する。また、ダウンロード部314は、記憶装置84に格納された処理状態情報844に、受信した処理対象ファイル22Aに対応するエントリを追加し、当該エントリにダウンロードが完了したことを記述する。この処理状態情報844を用いることにより、サーバー装置2から既にダウンロードされたファイル22Aが、再度ダウンロードされてしまうことを避けることができる。
【0046】
図7は、クライアント装置31によって用いられる処理状態情報844の一構成例を示す。処理状態情報844は、複数のファイルに対応する複数のエントリを含む。各エントリは、例えば、「ファイル名」、「ダウンロード」及び「インストール」を含む。あるファイルに対応するエントリにおいて、「ファイル名」は、そのファイルに付与された名称を示す。「ダウンロード」は、そのファイルのダウンロードが完了したか否かを示す。また、「インストール」は、そのファイルのインストールが完了したか否かを示す。なお、記号“○”はダウンロード/インストールが完了したこと、記号“×”はダウンロード/インストールが完了していないことを示す。
【0047】
図7では、ファイル“AP1”のダウンロード及びインストールが完了し、ファイル“AP2のダウンロード及びインストールが完了し、ファイル“AP3”のダウンロードが完了し、インストールが完了していないことが示されている。
【0048】
ダウンロード部314は、処理対象ファイル22Aのダウンロードが完了したことを第2残量推定部315とサーバー装置2(処理状態更新部216)とに通知する。
【0049】
なお、第1残量BDが優先度に基づくダウンロード条件を満たさない場合には、処理対象ファイルのダウンロード(及びインストール)は延期される。そして、以降にダウンロード条件が満たされたタイミングで処理対象ファイルのダウンロードが実行される。
【0050】
第2残量推定部315は、ダウンロード部314による通知に応じて、処理対象ファイル22Aをインストールするか否かを決定する。第2残量推定部315は、電源状態情報841を用いて、処理対象ファイル22Aのインストールが完了した際のバッテリーの残量(以下、第2残量とも称する)を推定する。具体的には、第2残量推定部315は、優先度情報842に示される処理対象のファイル22AのサイズS1、クライアント装置31に設けられたCPU、メモリ、記憶装置(HDD)等のリソースによるスループット等に基づいて、処理対象ファイル22Aをインストールするために要する時間T2を算出する。
【0051】
なお、処理対象ファイル22Aをインストールするために要する時間T2は、処理対象のファイル22AのサイズS1を、クライアント装置31に設けられたCPU、メモリ、記憶装置等のリソースに基づくスループットに基づく定数C2で割った値であってもよい。定数C2は、クライアント装置31に設けられたリソースのスループットが高いほど大きくなる。つまり、第2残量推定部315は、次式により、処理対象ファイル22Aをインストールするために要する時間T2を算出する。
T2=S1/C2
例えば、定数C2=40であって、200MB(=S1)のファイル22Aをインストールすることを想定した場合、ファイル22Aをインストールするために要する時間T2は5分である。
【0052】
次いで、第2残量推定部315は、電源状態情報841から、満充電時のバッテリーの容量BFと、現在のバッテリー残量B2と、1分間当たりの消費電力量W2とを読み出す。そして、第2残量推定部315は、次式により、処理対象のファイル22Aのインストールが完了した際の第2残量BIを算出する。
BI=(B2−W2×T2)/BF
この第2残量BIは、バッテリーの満充電時の容量BFに対する、インストール完了時の残量の割合(%)を示す。
【0053】
また、第2残量推定部315は、優先度情報842を用いて、処理対象ファイル22Aに関連付けられた優先度を検出する。そして、第2残量推定部315は、第2残量BIが、検出された優先度に対応するインストール条件を満たすかどうかを判定する。第2残量推定部315は、例えば、インストール条件として、第2残量BIが優先度に基づくしきい値以上であるか否かを判定する。
【0054】
インストール条件は、図4を参照して上述したように、優先度が高いほど、処理終了時のバッテリーの残量が少ない場合であっても、ファイル22Aのインストールが実行されるように規定されている。つまり、優先度に基づくしきい値は、優先度が高いほど小さな値が設定される。例えば、ファイル“AP1”の優先度が“1”である場合、第2残量推定部315は、第2残量BIが5%以上であるか否かを判定する。また、ファイル“AP2”の優先度が“3”である場合、第2残量推定部315は、第2残量BIが20%以上であるか否かを判定する。なお、第2残量推定部315は、クライアント装置31に対して、外部AC電源から電力が供給されているとき、優先度に対応するインストール条件を満たすと判定してもよい。第2残量推定部315は、第2残量BIがインストール条件を満たすか否かを示す判定結果をインストール部316に出力する。
【0055】
インストール部316は、第2残量推定部315によって出力された判定結果を用いて、優先度に基づくインストール条件が満たされる場合、処理対象ファイル22Aを用いたインストールを実行する。そして、インストール部316は、処理対象ファイル22Aのインストールが完了(成功)したことに応じて、処理状態情報844に含まれる、処理対象ファイル22Aに対応するエントリにインストールが完了したことを記述する。この処理状態情報844を用いることにより、クライアント装置31に既にインストールされたファイル22Aが、再度インストールされてしまうことを避けることができる。インストール部316は、処理対象ファイル22Aのインストールが完了したことをサーバー装置2(処理状態更新部216)に通知する。
【0056】
なお、第2残量BIが優先度に基づくインストール条件を満たさない場合には、処理対象ファイル22Aのインストールは延期される。そして、以降にインストール条件が満たされたタイミングで処理対象ファイル22Aのインストールが実行される。
【0057】
以上の構成により、電力の供給状況に応じて、ユーザーによる使用を妨げずにクライアント装置31のソフトウェアを更新できる。第1残量推定部313は、サーバー装置2からファイル22Aをダウンロードする前に、ダウンロードが完了した際のバッテリーの第1残量を推定する。そして、ダウンロード部314は、第1残量がファイル22Aの優先度に基づくダウンロード条件を満たす場合に、ファイル22Aをダウンロードする。これにより、ダウンロード中にバッテリーから電力が供給されなくなり、ダウンロードが失敗することを避けることができる。また、第2残量推定部315は、ダウンロードしたファイル22Aをインストールする前に、インストールが完了した際のバッテリーの第2残量を推定する。そして、インストール部316は、第2残量がファイル22Aの優先度に基づくインストール条件を満たす場合に、ファイル22Aをインストールする。これにより、インストール中にバッテリーから電力が供給されなくなり、インストールが失敗することを避けることができる。また、ダウンロード部314及びインストール部316は、バッテリー残量が十分でない際には、緊急性(優先度)が高いファイル以外をダウンロード/インストールせずに、ダウンロード/インストールによって電力が消費されないようにする。これにより、ダウンロード/インストールによってクライアント装置31の稼働時間が削減され、ユーザーによる作業が妨げられることを回避することができる。
【0058】
また、図8は、サーバー装置2で用いられる優先度設定画面の例を示す。優先度設定画面5は、ファイル一覧表示エリア51、詳細表示エリア52、優先度入力エリア53、OKボタン54等を含む。ファイル一覧表示エリア51は、クライアント装置31に配信されるファイル22(例えば、“APP1”〜“APP3”)を示すファイルボタン51A,51B,51Cを含む。
【0059】
詳細表示エリア52には、ファイルボタン51A,51B,51Cの内、選択された一つのボタンに対応するファイルに関する情報が表示される。詳細表示エリア52に表示される情報は、例えば、そのファイルに関連するソフトウェア(アプリケーションプログラム)や、そのファイルを用いたインストールによる効果(例えば、セキュリティパッチの適用、ウィルスパターンファイルの更新、プログラムのバグの修正、ソフトウェアの機能の改良等)を示す。優先度入力エリア53は、ファイルボタン51A,51B,51Cの内、選択された一つのボタンに対応するファイルの優先度を入力するためのエリアである。優先度入力エリア53では、例えば、リスト表示ボタン53Aが押されたことに応じて、優先度として設定可能な数値のリスト(例えば、1から5までの整数を含むリスト)が表示される。そして、リストから選択された一つの数値が、選択されたファイルの優先度に設定される。OKボタン54は、優先度設定画面5を用いた設定を確定するためのボタンである。優先度設定画面5の表示は、例えば、OKボタン54が押されたことに応じて終了する。
【0060】
具体的には、ユーザーは、例えば、ファイルボタン51A,51B,51Cの内の一つのボタン51A(すなわち、優先度を設定するファイルに対応するボタン)を選択し、ボタン51に対応するファイル(“APP1”)に関する情報を詳細表示エリア52で確認する。そして、ユーザーは、優先度入力エリア53(リスト表示ボタン53Aに応じて表示されるリスト)を用いて、例えば、緊急性の高いファイルには高い優先度(例えば、“1”)を設定し、緊急性の低いファイルには低い優先度(例えば、“5”)を設定する。
【0061】
また、図9は、サーバー装置2で用いられる配信ファイル設定画面の例を示す。配信ファイル設定画面6は、例えば、クライアント一覧表示エリア61、ファイル一覧表示エリア62、OKボタン63等を含む。クライアント一覧表示エリア61は、サーバー装置2に接続されたクライアント装置31(例えば、“CL1”〜“CL3”)に対応するクライアントボタン61A,61B,61Cを含む。また、ファイル一覧表示エリア62は、クライアント装置31に配信されるファイル22(例えば、“APP1”〜“APP3”)を示すファイルチェックボタン62A,62B,62Cを含む。ファイルチェックボタン62A,62B,62Cは、クライアントボタン61A,61B,61Cの内、選択された一つのボタンに対応するクライアント装置に配信されるファイル22Aを選択するためのボタンである。OKボタン63は、配信ファイル設定画面6を用いた設定を確定するためのボタンである。配信ファイル設定画面6の表示は、例えば、OKボタン63が押されたことに応じて終了する。
【0062】
具体的には、ユーザーは、例えば、クライアントボタン61A,61B,61Cの内の1つのボタン61C(“CL3”に対応するクライアントボタン61C)を選択する。そして、ユーザーは、ファイルチェックボタン62A,62Cを選択すること(チェック状態にすること)によって、クライアント装置“CL3”に対して、ファイル“APP1”及び“APP3”を配信することを設定する。
【0063】
次いで、図10のフローチャートを参照して、サーバー装置2によって実行される配信ファイル管理処理の手順の例を説明する。
まず、配信情報生成部211は、クライアント装置31に配信されるファイル22を所定の格納場所(記憶領域)94に配置する(ブロックB11)。
【0064】
次いで、表示制御部213は、ファイル22の優先度を設定するための優先度設定画面5を表示する(ブロックB12)。入力制御部212は、優先度設定画面5を用いた入力を検出する。そして、配信情報生成部211は、優先度設定画面5を用いた入力に基づいて、優先度情報941を生成する(ブロックB13)。
【0065】
また、表示制御部213は、クライアント装置3に配信されるファイルを設定するための配信ファイル設定画面6を表示する(ブロックB14)。入力制御部212は、配信ファイル設定画面6を用いた入力を検出する。そして、配信情報生成部211は、配信ファイル設定画面6を用いた入力に基づいて、配信ファイル情報942と処理状態情報943とを生成する(ブロックB15)。
【0066】
また、図11のフローチャートは、サーバー装置2によって実行される配信制御処理の手順の例を示す。
まず、配信情報送信部214は、クライアント装置3から配信情報(優先度情報941及び配信ファイル情報942)の送信が要求されたか否か判定する(ブロックB21)。配信情報の送信が要求されている場合(ブロックB21のYES)、配信情報送信部214は、クライアント装置3に対応する優先度情報941と配信ファイル情報942とを送信する(ブロックB22)。
【0067】
配信情報の送信が要求されていない場合(ブロックB21のNO)、ファイル配信部215は、クライアント装置3によってファイル22の送信(ダウンロード)が要求されているか否かを判定する(ブロックB23)。ファイル22の送信が要求されている場合(ブロックB23のYES)、ファイル配信部215は、その要求されたファイルをクライアント装置3に送信する(ブロックB24)。
【0068】
ファイルの送信が要求されていない場合(ブロックB23のNO)、処理状態更新部216は、クライアント装置3によってダウンロードの完了が通知されているか否かを判定する(ブロックB25)。ダウンロードの完了が通知されている場合(ブロックB25のYES)、処理状態更新部216は、処理状態情報943を更新する(ブロックB26)。クライアント装置3は、ダウンロードの完了を通知するとき、ダウンロードが完了したファイルの名称(例えば、“AP1”)を通知する。処理状態更新部216は、処理状態情報943の内のクライアント装置3に対応するエントリに対して、そのファイルのダウンロードが完了したことを記述する。
【0069】
ダウンロードの完了が通知されていない場合(ブロックB25のNO)、処理状態更新部216は、クライアント装置3によってインストールの完了が通知されているか否かを判定する(ブロックB27)。インストールの完了が通知されている場合(ブロックB27のYES)、処理状態更新部216は、処理状態情報943を更新する(ブロックB28)。クライアント装置3は、インストールの完了を通知するとき、インストールが完了したファイルの名称(例えば、“AP1”)を通知する。処理状態更新部216は、処理状態情報943の内のクライアント装置3に対応するエントリに対して、そのファイルのインストールが完了したことを記述する。
【0070】
以上の処理により、クライアント装置3に配信されるファイル22を管理し、クライアント装置3による要求に応じて配信情報とファイル22とを送信することができる。
【0071】
次いで、図12のフローチャートを参照して、クライアント装置31によって実行される更新制御処理の手順の例を説明する。
まず、配信情報受信部312は、更新制御処理を開始するタイミングであるか否かを判定する(ブロックB301)。配信情報受信部312は、例えば、前回、サーバー装置2から配信情報を受信してから所定の期間が(例えば、1時間)が経過したときや、ユーザーによる要求があったとき、更新制御処理を開始するタイミングであると判定する。更新制御処理を開始するタイミングでない場合(ブロックB301のNO)、ブロックB301に戻り、再度、更新制御処理を開始するタイミングであるか否かを判定する。
【0072】
更新制御処理を開始するタイミングである場合(ブロックB301のYES)、配信情報受信部312は、サーバー装置2に対して、クライアント装置31に対応する優先度情報941及び配信ファイル情報942の送信を要求する(ブロックB302)。そして、配信情報受信部312は、サーバー装置2によって送信された、クライアント装置31に対応する優先度情報941及び配信ファイル情報942(すなわち、優先度情報842及び配信ファイル情報843)を受信する(ブロックB303)。
【0073】
次いで、第1残量推定部313は、処理状態情報844を用いて、配信ファイル情報843に示されるファイル(以下、第1ファイルとも称する)22Aがダウンロード済みであるか否かを判定する(ブロックB304)。第1ファイル22Aがダウンロード済みでない場合(ブロックB304のNO)、第1残量推定部313は、優先度情報842から第1ファイル22Aに関連付けられた優先度を検出し、優先度に基づくダウンロード条件が満たされるか否かを判定する(ブロックB305)。具体的には、第1残量推定部313は、第1ファイル22Aのダウンロードが完了した際のバッテリーの第1残量を推定する。このバッテリーの残量は、例えば、バッテリーの満充電時の容量に対する、ダウンロード完了時の残量の割合(%)で示される。また、第1残量推定部313は、第1ファイル22Aに関連付けられた優先度に基づいて、優先度に基づくダウンロード条件を決定する。このダウンロード条件は、図4を参照して上述したように、優先度が高いほど、処理終了時のバッテリーの残量が少ない場合であっても、ファイルのダウンロードが実行されるように規定される。したがって例えば、第1残量推定部313は、推定されたバッテリーの第1残量が満充電時の容量の5%以上である場合に、優先度“1”に対応するダウンロード条件を満たすと判定する。
【0074】
優先度に基づくダウンロード条件が満たされない場合(例えば、バッテリーの第1残量が十分でない場合)(ブロックB305のNO)、ブロックB301に戻る。
【0075】
一方、優先度に基づくダウンロード条件が満たされる場合(ブロックB305のYES)、ダウンロード部314は、サーバー装置2に第1ファイル22Aの送信を要求する(ブロックB306)。そして、ダウンロード部314は、サーバー装置2によって送信された第1ファイル22Aを受信する(ブロックB307)。また、ダウンロード部314は、記憶装置84に格納された処理状態情報844に、受信した第1ファイル22Aに対応するエントリを追加し、当該エントリにダウンロードが完了したことを記述する(ブロックB308)。そして、ダウンロード部314は、第1ファイルのダウンロードが完了したことをサーバー装置2に通知する(ブロックB309)。
【0076】
次いで、第2残量推定部315は、優先度情報842から第1ファイル22Aに関連付けられた優先度を検出し、優先度に基づくインストール条件が満たされるか否かを判定する(ブロックB310)。具体的には、第2残量推定部315は、第1ファイル22Aのインストールが完了した際のバッテリーの第2残量を推定する。このバッテリーの第2残量は、例えば、バッテリーの満充電時の容量に対する、インストール完了時の残量の割合(%)で示される。また、第2残量推定部315は、第1ファイル22Aに関連付けられた優先度に基づいて、優先度に基づくインストール条件を決定する。このインストール条件は、図4を参照して上述したように、優先度が高いほど、処理終了時のバッテリーの残量が少ない場合であっても、ファイルのインストールが実行されるように規定される。したがって例えば、第2残量推定部315は、推定されたバッテリーの第2残量が満充電時の容量の5%以上である場合に、優先度“1”に対応するインストール条件を満たすと判定する。
【0077】
優先度に基づくインストール条件が満たされない場合(例えば、バッテリーの第2残量が十分でない場合)(ブロックB310のNO)、ブロックB301に戻る。
【0078】
一方、優先度に基づくインストール条件が満たされる場合(ブロックB310のYES)、インストール部316は、第1ファイル22Aを用いたインストールを実行する(ブロックB311)。そして、インストール部316は、記憶装置84に格納された処理状態情報844に含まれる、第1ファイル22Aに対応するエントリにインストールが完了したことを記述する(ブロックB312)。また、インストール部316は、第1ファイル22Aのインストールが完了したことをサーバー装置2に通知する(ブロックB313)。
【0079】
次いで、配信情報受信部312は、配信ファイル情報843に、他の処理すべきファイルが示されているか否かを判定する(ブロックB314)。配信ファイル情報843に他の処理すべきファイルが示されている場合(ブロックB314のYES)、ブロックB304に戻り、そのファイルに関する処理を実行する。配信ファイル情報843に他の処理すべきファイルが示されていない場合(ブロックB314のNO)、ブロックB301に戻る。
【0080】
また、第1ファイル22Aがダウンロード済みである場合(ブロックB304のYES)、第2残量推定部315は、処理状態情報844を用いて、第1ファイル22Aがインストール済みであるか否かを判定する(ブロックB315)。第1ファイル22Aがインストール済みでない場合(ブロックB315のNO)、ブロックB310に進む。一方、第1ファイル22Aがインストール済みである場合(ブロックB315のYES)、ブロックB314に進む。
【0081】
以上の処理により、電力の供給状況に応じて、ファイル22Aのダウンロード及びインストールを制御し、優先度が低いファイル22Aではユーザーによるクライアント装置31の使用が妨げられないようにすることができる。
【0082】
次いで、図13は、クライアント装置31のシステム構成の例を示す。クライアント装置31は、CPU(Central Processing Unit)81、主メモリ82、ネットワークコントローラ83、I/Oデバイス84、記憶装置85、グラフィクスコントローラ86、LCD(Liquid Crystal Display)87、EC/KBC88、キーボード(KB)89、バッテリー80A、ACアダプタ80B等を備える。
【0083】
CPU81は各種プログラムを実行するプロセッサである。CPU81は、各種演算処理を実行すると共に、クライアント装置31内の各部を制御する。
【0084】
主メモリ82は、CPU81によって実行される、オペレーティングシステム3C、更新制御プログラム3Aのような各種アプリケーションプログラム、及び各種データを格納するためのメインメモリである。主メモリ82には、例えばOS3C及び更新制御プログラム3Aがロードされている。
【0085】
ネットワークコントローラ83は、例えばEthernet(登録商標)規格の有線通信を実行する有線通信デバイスや、IEEE 802.11規格の無線通信を実行する無線通信デバイスである。クライアント装置31は、ネットワークコントローラ83を用いることにより、サーバー装置2との通信を実行する。
【0086】
I/Oデバイス84は、クライアント装置31に対するデータの入出力を実行するための各種入出力デバイスである。また、記憶装置85は、各種プログラムやデータを格納するための不揮発性の記憶装置である。記憶装置85に格納された各種プログラムやデータは、クライアント装置31内の各部による要求に応じて、主メモリ82へロードされる。主メモリ82にロードされる更新制御プログラム3Aの動作は、図2等を参照して説明した通りである。
【0087】
グラフィクスコントローラ86は、クライアント装置31のディスプレイモニタとして使用されるLCD87を制御する。このグラフィクスコントローラ86によって生成される表示信号はLCD87に送られる。グラフィクスコントローラ86及びLCD87を用いることにより、例えば、ユーザーによる操作に応じた画面を表示することができる。
【0088】
エンベデッドコントローラ/キーボードコントローラ(EC/KBC)88は、電力管理を行うためのエンベデッドコントローラと、キーボード89やポインティングデバイスを制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。このEC/KBC88は、ユーザーによる操作に応じて本クライアント装置31をパワーオン/パワーオフする機能を有している。EC/KBC88は、ACアダプタ80Bを介して外部から供給される電力、又はバッテリー80Aから供給される電力を用いて、クライアント装置31内の各部に電力を供給する。換言すれば、クライアント装置31は、AC商用電源のような外部電源、又はバッテリー80Aによって駆動される。ACアダプタ106はクライアント装置31外に設けることもできる。
【0089】
更新制御プログラム3Aの電源状態監視部311は、OS3CやEC/KBC88を介して、バッテリー80Aによって供給される電力と外部電源によって供給される電力とを監視し、またバッテリー80Aの満充電時の容量や現在のバッテリー80Aの残量、クライアント装置31の消費電力等を検出することができる。
【0090】
また、図14は、サーバー装置2のシステム構成の例を示す。サーバー装置2は、CPU(Central Processing Unit)91、主メモリ92、ネットワークコントローラ93、I/Oデバイス94、記憶装置95、グラフィクスコントローラ96、LCD(Liquid Crystal Display)97、EC/KBC98、キーボード(KB)99、ACアダプタ90等を備える。
【0091】
CPU91は各種プログラムを実行するプロセッサである。CPU91は、各種演算処理を実行すると共に、サーバー装置2内の各部を制御する。
【0092】
主メモリ92は、CPU91によって実行される、オペレーティングシステム23、配信制御プログラム21のような各種アプリケーションプログラム、及び各種データを格納するためのメインメモリである。主メモリ92には、例えばOS23及び配信制御プログラム21がロードされている。
【0093】
ネットワークコントローラ93は、例えばEthernet(登録商標)規格の有線通信を実行する有線通信デバイスや、IEEE 802.11規格の無線通信を実行する無線通信デバイスである。サーバー装置2は、ネットワークコントローラ93を用いることにより、クライアント装置31との通信を実行する。
【0094】
I/Oデバイス94は、サーバー装置2に対するデータの入出力を実行するための各種入出力デバイスである。また、記憶装置95は、各種プログラムやデータを格納するための不揮発性の記憶装置である。記憶装置95に格納された各種プログラムやデータは、サーバー装置2内の各部による要求に応じて、主メモリ92へロードされる。主メモリ92にロードされる配信制御プログラム21の動作は、図2等を参照して説明した通りである。
【0095】
グラフィクスコントローラ96は、サーバー装置2のディスプレイモニタとして使用されるLCD97を制御する。このグラフィクスコントローラ96によって生成される表示信号はLCD97に送られる。グラフィクスコントローラ96及びLCD97を用いることにより、例えば、ユーザーによる操作に応じた画面を表示することができる。
【0096】
エンベデッドコントローラ/キーボードコントローラ(EC/KBC)98は、電力管理を行うためのエンベデッドコントローラと、キーボード99やポインティングデバイスを制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。このEC/KBC98は、ユーザーによる操作に応じて本サーバー装置2をパワーオン/パワーオフする機能を有している。EC/KBC98は、ACアダプタ90を介して外部から供給される電力を用いて、サーバー装置2内の各部に電力を供給する。換言すれば、サーバー装置2は、AC商用電源のような外部電源によって駆動される。ACアダプタ90はサーバー装置2外に設けることもできる。
【0097】
以上説明したように、本実施形態によれば、電力の供給状況に応じて、ユーザーによる使用を妨げずにソフトウェアを更新できる。ダウンロード部314及びインストール部316は、バッテリー残量が十分でない際には、緊急性(優先度)が高いファイル以外をダウンロード/インストールせずに、ダウンロード/インストールによって電力が消費されないようにする。これにより、ダウンロード/インストールによってクライアント装置31の稼働時間が短くなり、ユーザーによるクライアント装置31の使用が妨げられることを回避することができる。
【0098】
また、電力使用のピーク時(例えば、昼間の時間帯)には、節電のために、クライアント装置31をバッテリーによって供給される電力を用いて駆動させることが想定される。そのような場合には、クライアント装置31は、例えば、昼間に(クライアント装置31がバッテリー駆動されるとき)、緊急性が高いファイルだけをダウンロード/インストールし、夜間に(クライアント装置31が外部電源によって駆動されるとき)、緊急性が高いファイル以外をダウンロード/インストールするように、ソフトウェアの更新を制御することができる。
【0099】
なお、本実施形態の配信管理処理、配信制御処理及び更新制御処理の手順は全てソフトウェアによって実行することができる。このため、配信管理処理、配信制御処理及び更新制御処理の手順を実行するプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【0100】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0101】
2…サーバー装置、21…配信制御プログラム、211…配信情報生成部、212…入力制御部、213…表示制御部、214…配信情報送信部、215…ファイル配信部、216…処理状態更新部、22,22A…ファイル、31…クライアント装置、3A…更新制御プログラム、311…電源状態監視部、312…配信情報送信部、313…第1残量推定部、314…ダウンロード部、315…第2残量推定部、316…インストール部、84…記憶装置、841…電源状態情報、842…優先度情報、843…配信ファイル情報、844…処理状態情報、94…記憶装置、941…優先度情報、942…配信ファイル情報、943…処理状態情報。
【特許請求の範囲】
【請求項1】
バッテリーによって供給される電力を用いて駆動される電子機器であって、
サーバーによって配信されるファイルと当該ファイルの優先度とを示す配信情報を受信する配信情報受信手段と、
前記ファイルのダウンロードが完了した際の前記バッテリーの第1残量を推定する第1残量推定手段と、
前記第1残量が前記優先度に基づくしきい値以上である場合、前記サーバーから前記ファイルを受信するファイル受信手段とを具備する電子機器。
【請求項2】
前記受信されたファイルのインストールが完了した際の前記バッテリーの第2残量を推定する第2残量推定手段と、
前記第2残量が前記優先度に基づくしきい値以上である場合、前記ファイルを用いたインストールを実行するインストール手段とをさらに具備する請求項1記載の電子機器。
【請求項3】
前記優先度に基づくしきい値は、前記優先度が高いほど小さな値が設定される請求項1記載の電子機器。
【請求項4】
前記ファイルは、前記電子機器にインストールされたソフトウェアを更新するためのファイルである請求項1記載の電子機器。
【請求項5】
前記第1残量推定手段は、前記ファイルのサイズと前記電子機器の消費電力とに基づいて、前記第1残量を推定する請求項1記載の電子機器。
【請求項6】
前記第1残量推定手段は、前記ファイルのサイズ、前記電子機器の消費電力、前記電子機器に設けられたリソースによるスループット、及び前記サーバーとの間のネットワークのデータ伝送速度に基づいて、前記第1残量を推定する請求項1記載の電子機器。
【請求項7】
前記第2残量推定手段は、前記ファイルのサイズと前記電子機器の消費電力とに基づいて、前記第2残量を推定する請求項2記載の電子機器。
【請求項8】
前記第2残量推定手段は、前記ファイルのサイズと前記電子機器の消費電力と前記電子機器に設けられたリソースによるスループットとに基づいて、前記第2残量を推定する請求項2記載の電子機器。
【請求項9】
バッテリーによって供給される電力を用いて駆動される電子機器の更新を制御する更新制御方法であって、
サーバーによって配信されるファイルと当該ファイルの優先度とを示す配信情報を受信し、
前記ファイルのダウンロードが完了した際の前記バッテリーの第1残量を推定し、
前記第1残量が前記優先度に基づくしきい値以上である場合、前記サーバーから前記ファイルを受信する更新制御方法。
【請求項10】
前記受信されたファイルのインストールが完了した際の前記バッテリーの第2残量を推定し、
前記第2残量が前記優先度に基づくしきい値以上である場合、前記ファイルを用いたインストールを実行する請求項9記載の更新制御方法。
【請求項11】
前記優先度に基づくしきい値は、前記優先度が高いほど小さな値が設定される請求項9記載の更新制御方法。
【請求項12】
前記ファイルは、前記電子機器にインストールされたソフトウェアを更新するためのファイルである請求項9記載の更新制御方法。
【請求項13】
前記第1残量を推定することは、前記ファイルのサイズと前記電子機器の消費電力とに基づいて、前記第1残量を推定する請求項9記載の更新制御方法。
【請求項14】
前記第1残量を推定することは、前記ファイルのサイズ、前記電子機器の消費電力、前記電子機器に設けられたリソースによるスループット、及び前記サーバーとの間のネットワークのデータ伝送速度に基づいて、前記第1残量を推定する請求項9記載の更新制御方法。
【請求項15】
前記第2残量を推定することは、前記ファイルのサイズと前記電子機器の消費電力とに基づいて、前記第2残量を推定する請求項10記載の更新制御方法。
【請求項16】
前記第2残量を推定することは、前記ファイルのサイズと前記電子機器の消費電力と前記電子機器に設けられたリソースによるスループットとに基づいて、前記第2残量を推定する請求項10記載の更新制御方法。
【請求項17】
ネットワークを介して相互に接続されたサーバー装置とクライアント装置とによって構成される配信制御システムであって、
前記サーバー装置は、
前記クライアント装置に配信するファイルと当該ファイルの優先度とを示す配信情報を前記クライアント装置に送信し、
前記クライアント装置による要求に応じて前記ファイルを前記クライアント装置に送信するように構成され、
前記クライアント装置は、
バッテリーによって供給される電力を用いて駆動され、
前記配信情報を受信し、
前記ファイルのダウンロードが完了した際の前記バッテリーの第1残量を推定し、
前記第1残量が前記優先度に基づくしきい値以上である場合、前記サーバーから前記ファイルを受信するように構成される配信制御システム。
【請求項18】
前記クライアント装置は、さらに、
前記受信されたファイルのインストールが完了した際の前記バッテリーの第2残量を推定し、
前記第2残量が前記優先度に基づくしきい値以上である場合、前記ファイルを用いたインストールを実行する請求項17記載の配信制御システム。
【請求項19】
前記優先度に基づくしきい値は、前記優先度が高いほど小さな値が設定される請求項17記載の配信制御システム。
【請求項20】
前記ファイルは、前記クライアント装置にインストールされたソフトウェアを更新するためのファイルである請求項17記載の配信制御システム。
【請求項21】
前記クライアント装置は、前記ファイルのサイズと前記電子機器の消費電力とに基づいて、前記第1残量を推定する請求項17記載の配信制御システム。
【請求項22】
前記クライアント装置は、前記ファイルのサイズ、前記電子機器の消費電力、前記電子機器に設けられたリソースによるスループット、及び前記サーバーとの間のネットワークのデータ伝送速度に基づいて、前記第1残量を推定する請求項17記載の配信制御システム。
【請求項23】
前記クライアント装置は、前記ファイルのサイズと前記電子機器の消費電力とに基づいて、前記第2残量を推定する請求項18記載の配信制御システム。
【請求項24】
前記クライアント装置は、前記ファイルのサイズと前記電子機器の消費電力と前記電子機器に設けられたリソースによるスループットとに基づいて、前記第2残量を推定する請求項18記載の配信制御システム。
【請求項1】
バッテリーによって供給される電力を用いて駆動される電子機器であって、
サーバーによって配信されるファイルと当該ファイルの優先度とを示す配信情報を受信する配信情報受信手段と、
前記ファイルのダウンロードが完了した際の前記バッテリーの第1残量を推定する第1残量推定手段と、
前記第1残量が前記優先度に基づくしきい値以上である場合、前記サーバーから前記ファイルを受信するファイル受信手段とを具備する電子機器。
【請求項2】
前記受信されたファイルのインストールが完了した際の前記バッテリーの第2残量を推定する第2残量推定手段と、
前記第2残量が前記優先度に基づくしきい値以上である場合、前記ファイルを用いたインストールを実行するインストール手段とをさらに具備する請求項1記載の電子機器。
【請求項3】
前記優先度に基づくしきい値は、前記優先度が高いほど小さな値が設定される請求項1記載の電子機器。
【請求項4】
前記ファイルは、前記電子機器にインストールされたソフトウェアを更新するためのファイルである請求項1記載の電子機器。
【請求項5】
前記第1残量推定手段は、前記ファイルのサイズと前記電子機器の消費電力とに基づいて、前記第1残量を推定する請求項1記載の電子機器。
【請求項6】
前記第1残量推定手段は、前記ファイルのサイズ、前記電子機器の消費電力、前記電子機器に設けられたリソースによるスループット、及び前記サーバーとの間のネットワークのデータ伝送速度に基づいて、前記第1残量を推定する請求項1記載の電子機器。
【請求項7】
前記第2残量推定手段は、前記ファイルのサイズと前記電子機器の消費電力とに基づいて、前記第2残量を推定する請求項2記載の電子機器。
【請求項8】
前記第2残量推定手段は、前記ファイルのサイズと前記電子機器の消費電力と前記電子機器に設けられたリソースによるスループットとに基づいて、前記第2残量を推定する請求項2記載の電子機器。
【請求項9】
バッテリーによって供給される電力を用いて駆動される電子機器の更新を制御する更新制御方法であって、
サーバーによって配信されるファイルと当該ファイルの優先度とを示す配信情報を受信し、
前記ファイルのダウンロードが完了した際の前記バッテリーの第1残量を推定し、
前記第1残量が前記優先度に基づくしきい値以上である場合、前記サーバーから前記ファイルを受信する更新制御方法。
【請求項10】
前記受信されたファイルのインストールが完了した際の前記バッテリーの第2残量を推定し、
前記第2残量が前記優先度に基づくしきい値以上である場合、前記ファイルを用いたインストールを実行する請求項9記載の更新制御方法。
【請求項11】
前記優先度に基づくしきい値は、前記優先度が高いほど小さな値が設定される請求項9記載の更新制御方法。
【請求項12】
前記ファイルは、前記電子機器にインストールされたソフトウェアを更新するためのファイルである請求項9記載の更新制御方法。
【請求項13】
前記第1残量を推定することは、前記ファイルのサイズと前記電子機器の消費電力とに基づいて、前記第1残量を推定する請求項9記載の更新制御方法。
【請求項14】
前記第1残量を推定することは、前記ファイルのサイズ、前記電子機器の消費電力、前記電子機器に設けられたリソースによるスループット、及び前記サーバーとの間のネットワークのデータ伝送速度に基づいて、前記第1残量を推定する請求項9記載の更新制御方法。
【請求項15】
前記第2残量を推定することは、前記ファイルのサイズと前記電子機器の消費電力とに基づいて、前記第2残量を推定する請求項10記載の更新制御方法。
【請求項16】
前記第2残量を推定することは、前記ファイルのサイズと前記電子機器の消費電力と前記電子機器に設けられたリソースによるスループットとに基づいて、前記第2残量を推定する請求項10記載の更新制御方法。
【請求項17】
ネットワークを介して相互に接続されたサーバー装置とクライアント装置とによって構成される配信制御システムであって、
前記サーバー装置は、
前記クライアント装置に配信するファイルと当該ファイルの優先度とを示す配信情報を前記クライアント装置に送信し、
前記クライアント装置による要求に応じて前記ファイルを前記クライアント装置に送信するように構成され、
前記クライアント装置は、
バッテリーによって供給される電力を用いて駆動され、
前記配信情報を受信し、
前記ファイルのダウンロードが完了した際の前記バッテリーの第1残量を推定し、
前記第1残量が前記優先度に基づくしきい値以上である場合、前記サーバーから前記ファイルを受信するように構成される配信制御システム。
【請求項18】
前記クライアント装置は、さらに、
前記受信されたファイルのインストールが完了した際の前記バッテリーの第2残量を推定し、
前記第2残量が前記優先度に基づくしきい値以上である場合、前記ファイルを用いたインストールを実行する請求項17記載の配信制御システム。
【請求項19】
前記優先度に基づくしきい値は、前記優先度が高いほど小さな値が設定される請求項17記載の配信制御システム。
【請求項20】
前記ファイルは、前記クライアント装置にインストールされたソフトウェアを更新するためのファイルである請求項17記載の配信制御システム。
【請求項21】
前記クライアント装置は、前記ファイルのサイズと前記電子機器の消費電力とに基づいて、前記第1残量を推定する請求項17記載の配信制御システム。
【請求項22】
前記クライアント装置は、前記ファイルのサイズ、前記電子機器の消費電力、前記電子機器に設けられたリソースによるスループット、及び前記サーバーとの間のネットワークのデータ伝送速度に基づいて、前記第1残量を推定する請求項17記載の配信制御システム。
【請求項23】
前記クライアント装置は、前記ファイルのサイズと前記電子機器の消費電力とに基づいて、前記第2残量を推定する請求項18記載の配信制御システム。
【請求項24】
前記クライアント装置は、前記ファイルのサイズと前記電子機器の消費電力と前記電子機器に設けられたリソースによるスループットとに基づいて、前記第2残量を推定する請求項18記載の配信制御システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2013−114499(P2013−114499A)
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願番号】特願2011−260802(P2011−260802)
【出願日】平成23年11月29日(2011.11.29)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願日】平成23年11月29日(2011.11.29)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]