(57)【要約】【課題】  電力の供給状況に応じて、ユーザーによる使用を妨げずにソフトウェアを更新できる電子機器及び更新制御方法を提供すること。【解決手段】  実施形態によれば、電子機器は、バッテリーによって供給される電力を用いて駆動され、配信情報受信手段、第１残量推定手段及びファイル受信手段を具備する。配信情報受信手段は、サーバーによって配信されるファイルと当該ファイルの優先度とを示す配信情報を受信する。第１残量推定手段は、前記ファイルのダウンロードが完了した際の前記バッテリーの第１残量を推定する。ファイル受信手段は、前記第１残量が前記優先度に基づくしきい値以上である場合、前記サーバーから前記ファイルを受信する。【選択図】図２
2013114499.tif 000002
【特許請求の範囲】
【請求項１】
バッテリーによって供給される電力を用いて駆動される電子機器であって、
サーバーによって配信されるファイルと当該ファイルの優先度とを示す配信情報を受信する配信情報受信手段と、
前記ファイルのダウンロードが完了した際の前記バッテリーの第１残量を推定する第１残量推定手段と、
前記第１残量が前記優先度に基づくしきい値以上である場合、前記サーバーから前記ファイルを受信するファイル受信手段とを具備する電子機器。
【請求項２】
前記受信されたファイルのインストールが完了した際の前記バッテリーの第２残量を推定する第２残量推定手段と、
前記第２残量が前記優先度に基づくしきい値以上である場合、前記ファイルを用いたインストールを実行するインストール手段とをさらに具備する請求項１記載の電子機器。
【請求項３】
前記優先度に基づくしきい値は、前記優先度が高いほど小さな値が設定される請求項１記載の電子機器。
【請求項４】
前記ファイルは、前記電子機器にインストールされたソフトウェアを更新するためのファイルである請求項１記載の電子機器。
【請求項５】
前記第１残量推定手段は、前記ファイルのサイズと前記電子機器の消費電力とに基づいて、前記第１残量を推定する請求項１記載の電子機器。
【請求項６】
前記第１残量推定手段は、前記ファイルのサイズ、前記電子機器の消費電力、前記電子機器に設けられたリソースによるスループット、及び前記サーバーとの間のネットワークのデータ伝送速度に基づいて、前記第１残量を推定する請求項１記載の電子機器。
【請求項７】
前記第２残量推定手段は、前記ファイルのサイズと前記電子機器の消費電力とに基づいて、前記第２残量を推定する請求項２記載の電子機器。
【請求項８】
前記第２残量推定手段は、前記ファイルのサイズと前記電子機器の消費電力と前記電子機器に設けられたリソースによるスループットとに基づいて、前記第２残量を推定する請求項２記載の電子機器。
【請求項９】
バッテリーによって供給される電力を用いて駆動される電子機器の更新を制御する更新制御方法であって、
サーバーによって配信されるファイルと当該ファイルの優先度とを示す配信情報を受信し、
前記ファイルのダウンロードが完了した際の前記バッテリーの第１残量を推定し、
前記第１残量が前記優先度に基づくしきい値以上である場合、前記サーバーから前記ファイルを受信する更新制御方法。
【請求項１０】
前記受信されたファイルのインストールが完了した際の前記バッテリーの第２残量を推定し、
前記第２残量が前記優先度に基づくしきい値以上である場合、前記ファイルを用いたインストールを実行する請求項９記載の更新制御方法。
【請求項１１】
前記優先度に基づくしきい値は、前記優先度が高いほど小さな値が設定される請求項９記載の更新制御方法。
【請求項１２】
前記ファイルは、前記電子機器にインストールされたソフトウェアを更新するためのファイルである請求項９記載の更新制御方法。
【請求項１３】
前記第１残量を推定することは、前記ファイルのサイズと前記電子機器の消費電力とに基づいて、前記第１残量を推定する請求項９記載の更新制御方法。
【請求項１４】
前記第１残量を推定することは、前記ファイルのサイズ、前記電子機器の消費電力、前記電子機器に設けられたリソースによるスループット、及び前記サーバーとの間のネットワークのデータ伝送速度に基づいて、前記第１残量を推定する請求項９記載の更新制御方法。
【請求項１５】
前記第２残量を推定することは、前記ファイルのサイズと前記電子機器の消費電力とに基づいて、前記第２残量を推定する請求項１０記載の更新制御方法。
【請求項１６】
前記第２残量を推定することは、前記ファイルのサイズと前記電子機器の消費電力と前記電子機器に設けられたリソースによるスループットとに基づいて、前記第２残量を推定する請求項１０記載の更新制御方法。
【請求項１７】
ネットワークを介して相互に接続されたサーバー装置とクライアント装置とによって構成される配信制御システムであって、
前記サーバー装置は、
前記クライアント装置に配信するファイルと当該ファイルの優先度とを示す配信情報を前記クライアント装置に送信し、
前記クライアント装置による要求に応じて前記ファイルを前記クライアント装置に送信するように構成され、
前記クライアント装置は、
バッテリーによって供給される電力を用いて駆動され、
前記配信情報を受信し、
前記ファイルのダウンロードが完了した際の前記バッテリーの第１残量を推定し、
前記第１残量が前記優先度に基づくしきい値以上である場合、前記サーバーから前記ファイルを受信するように構成される配信制御システム。
【請求項１８】
前記クライアント装置は、さらに、
前記受信されたファイルのインストールが完了した際の前記バッテリーの第２残量を推定し、
前記第２残量が前記優先度に基づくしきい値以上である場合、前記ファイルを用いたインストールを実行する請求項１７記載の配信制御システム。
【請求項１９】
前記優先度に基づくしきい値は、前記優先度が高いほど小さな値が設定される請求項１７記載の配信制御システム。
【請求項２０】
前記ファイルは、前記クライアント装置にインストールされたソフトウェアを更新するためのファイルである請求項１７記載の配信制御システム。
【請求項２１】
前記クライアント装置は、前記ファイルのサイズと前記電子機器の消費電力とに基づいて、前記第１残量を推定する請求項１７記載の配信制御システム。
【請求項２２】
前記クライアント装置は、前記ファイルのサイズ、前記電子機器の消費電力、前記電子機器に設けられたリソースによるスループット、及び前記サーバーとの間のネットワークのデータ伝送速度に基づいて、前記第１残量を推定する請求項１７記載の配信制御システム。
【請求項２３】
前記クライアント装置は、前記ファイルのサイズと前記電子機器の消費電力とに基づいて、前記第２残量を推定する請求項１８記載の配信制御システム。
【請求項２４】
前記クライアント装置は、前記ファイルのサイズと前記電子機器の消費電力と前記電子機器に設けられたリソースによるスループットとに基づいて、前記第２残量を推定する請求項１８記載の配信制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、配信されるファイルを用いて更新される電子機器及び該機器に適用される更新制御方法に関する。
【背景技術】
【０００２】
多数のコンピュータが利用される社内や学校内では、それらコンピュータで多様なソフトウェア（アプリケーションプログラム）が利用されている。そのようなソフトウェアは、例えば、コンピュータそれぞれのユーザーによってインストールされる。しかし、コンピュータそれぞれのユーザーがソフトウェアをインストールする場合には、ユーザーがインストール作業を行うことによる作業コストの問題や、不要なソフトウェアや誤ったソフトウェアがインストールされてしまう問題等が生じることがある。そのため、それらコンピュータに接続されたサーバーが、コンピュータ（すなわち、クライアントコンピュータ）にインストールされるソフトウェアを管理することにより、必要なソフトウェアやソフトウェアを更新するためのファイルをクライアントコンピュータに配信し、インストール（更新）する方法が利用されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２１６４３６号公報
【特許文献２】特開平１１−３４５１１４号公報
【特許文献３】特開２００３−１４０９０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、クライアントであるコンピュータは、バッテリーから供給される電力で駆動されることがある。例えば、ノートブックタイプのコンピュータやスマートフォンのようなモバイル機器は、外部ＡＣ電源から電力を供給されていないとき、バッテリーによって供給される電力で駆動される。バッテリーから供給される電力で駆動されているコンピュータでは、バッテリーの容量や使用状況等によって稼働時間が変動する。
【０００５】
上述のサーバーによるソフトウェア管理方法では、クライアントが、サーバーからソフトウェアをダウンロードする処理やソフトウェアをインストールする処理を実行することによって電力が消費される。そのため、バッテリー駆動のクライアントコンピュータでは、そのような処理が実行されることによって稼働時間が短くなってしまう。また、クライアントコンピュータでは、インストールの途中でバッテリーから電力が供給されなくなり、ソフトウェアのインストールが失敗することによって、そのソフトウェアが正しく動作しなくなる可能性がある。
【０００６】
本発明は、電力の供給状況に応じて、ユーザーによる使用を妨げずにソフトウェアを更新できる電子機器及び更新制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
実施形態によれば、電子機器は、バッテリーによって供給される電力を用いて駆動され、配信情報受信手段、第１残量推定手段及びファイル受信手段を具備する。配信情報受信手段は、サーバーによって配信されるファイルと当該ファイルの優先度とを示す配信情報を受信する。第１残量推定手段は、前記ファイルのダウンロードが完了した際の前記バッテリーの第１残量を推定する。ファイル受信手段は、前記第１残量が前記優先度に基づくしきい値以上である場合、前記サーバーから前記ファイルを受信する。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係る配信制御システムの例を示す概念図。
【図２】同実施形態の配信制御システムに設けられたサーバー装置とクライアント装置との構成の例を示すブロック図。
【図３】同実施形態の配信制御システムによって用いられる優先度情報の例を示す図。
【図４】同実施形態の配信制御システムによって用いられる優先度に基づく処理条件の例を示す図。
【図５】同実施形態の配信制御システムによって用いられる配信ファイル情報の例を示す図。
【図６】同実施形態の配信制御システムに設けられたサーバー装置によって用いられる処理状態情報の例を示す図。
【図７】同実施形態の配信制御システムに設けられたクライアント装置によって用いられる処理状態情報の例を示す図。
【図８】同実施形態の配信制御システムに設けられたサーバー装置によって表示される優先度設定画面の例を示す図。
【図９】同実施形態の配信制御システムに設けられたサーバー装置によって表示される配信ファイル設定画面の例を示す図。
【図１０】同実施形態の配信制御システムに設けられたサーバー装置によって実行される配信ファイル管理処理の手順の例を示すフローチャート。
【図１１】同実施形態の配信制御システムに設けられたサーバー装置によって実行される配信制御処理の手順の例を示すフローチャート。
【図１２】同実施形態の配信制御システムに設けられたクライアント装置によって実行される更新制御処理の手順の例を示すフローチャート。
【図１３】同実施形態の配信制御システムに設けられたクライアント装置のシステム構成の例を示すブロック図。
【図１４】同実施形態の配信制御システムに設けられたサーバー装置のシステム構成の例を示すブロック図。
【発明を実施するための形態】
【０００９】
以下、実施の形態について図面を参照して説明する。
【００１０】
まず、図１を参照して、実施形態に係る配信制御システム１の例について説明する。  
配信制御システム１は、管理サーバー２と１以上のクライアント３１，３２，３３とがネットワーク４を介して相互に接続されるクライアント・サーバーシステムである。管理サーバー２は、例えば、サーバーコンピュータとして実現され得る。クライアント３１，３２，３３は、ノートブックタイプのパーソナルコンピュータ（ＰＣ）として実現され得る。また、クライアント３１，３２，３３は、タブレットタイプのＰＣ、ＰＤＡ、スマートフォン、携帯電話機のような携帯情報端末としても実現され得る。
【００１１】
管理サーバー２は、クライアント３１，３２，３３にインストールされるファイル（データ）２２を管理する。クライアント３１，３２，３３にインストールされるファイル２２は、例えば、クライアント３１，３２，３３に既にインストールされたアプリケーションプログラムを更新するためのファイル、セキュリティパッチ（セキュリティ上の脆弱性を修正するためのモジュール）、アンチウィルスソフトウェアのパターンファイル等である。また、ファイル２２は、ソフトウェア（アプリケーションプログラム）自体をインストールするためのファイルであってもよい。
【００１２】
管理サーバー２は、クライアント３１，３２，３３にインストールされるファイルを管理するためのサーバーソフトウェア２１を実行する。サーバーソフトウェア２１は、クライアント３１，３２，３３のそれぞれにインストールされるファイル２２を決定し、クライアント３１，３２，３３による配信要求に応じてファイル２２を配信する。
【００１３】
クライアント３１，３２，３３は、管理サーバー２によって配信されたファイル２２Ａを用いたインストールを実行する。クライアント３１，３２，３３は、管理サーバー２にからファイル２２Ａをダウンロードし、インストールするためのクライアントソフトウェア３Ａを実行する。クライアントソフトウェア３Ａは、クライアント３１，３２，３３の電源状態等を考慮して、管理サーバー２にファイル２２Ａの配信を要求する。クライアントソフトウェア３Ａは、管理サーバー２によって送信されたファイル２２Ａを受信（ダウンロード）し、受信したファイル２２Ａをクライアント３１，３２，３３にインストールする。クライアントソフトウェア３Ａは、例えば、クライアントのバッテリー残量が所定量以上であるときや、クライアントが外部ＡＣ電源からの電力で駆動されているときに、ファイル２２Ａの配信を要求し、受信したファイル２２Ａをインストールする。また、クライアントソフトウェア３Ａは、例えば、クライアントのバッテリー残量が所定量未満であっても、管理サーバー２から配信されるファイル２２Ａが緊急性の高いファイルであるとき、そのファイル２２Ａの配信を要求し、受信したファイル２２Ａをインストールする。
【００１４】
これにより、クライアント３１，３２，３３は、バッテリー残量等の電力の供給状況と、ファイルをインストールすべき緊急性（すなわち、ファイルの優先度）とに応じて、クライアント３１，３２，３３上のソフトウェアの更新を制御する。また、クライアント３１，３２，３３のユーザーは、各自でファイルをインストールする必要がないので、クライアント３１，３２，３３に不要なファイルがインストールされないようにすることができる。
【００１５】
図２は、配信制御システム１に設けられるサーバー装置２とクライアント装置３１との構成の例を示す。サーバー装置２とクライアント装置３１とは、無線ＬＡＮのようなネットワーク４を介して相互に接続されている。
【００１６】
サーバー装置２では、配信制御プログラム（サーバーソフトウェア）２１が実行される。配信制御プログラム２１は、クライアント装置３１にインストールされるファイルを管理し、クライアント装置３１にファイルを配信する。配信制御プログラム２１は、配信情報生成部２１１、入力制御部２１２、表示制御部２１３、配信情報送信部２１４、ファイル配信部２１５、及び処理状態更新部２１６を備える。
【００１７】
入力制御部２１２は、キーボードやポインティングデバイス等を用いた入力操作を検出する。入力制御部２１２は、検出された入力操作を示す情報を配信情報生成部２１１等に出力する。
【００１８】
配信情報生成部２１１は、クライアント装置３１に配信されるファイル２２を所定の格納場所（記憶領域）９４に配置する。具体的には、例えば、入力制御部２１２によって、ユーザーによる所定の操作が検出されたことに応じて、配信情報生成部２１１はファイル２２を所定の格納場所９４に配置する。また、ファイル２２は、ユーザーが所定のディレクトリ（フォルダ）にファイル２２を移動させる操作を行なったことによって、所定の格納場所９４に配置されてもよい。配置されるファイル２２は、上述のように、クライアント３１，３２，３３に既にインストールされたアプリケーションプログラムを更新するためのファイル、セキュリティパッチ、アンチウィルスソフトウェアのパターンファイル等である。配信情報生成部２１１は、クライアント装置３１に配信されるファイルが配置されたことを表示制御部２１３に通知する。
【００１９】
表示制御部２１３は、配信情報生成部２１１による通知に応じて、又はユーザーによる要求（入力操作）に応じて、ファイル２２の優先度を設定するための優先度設定画面をディスプレイの画面に表示する。入力制御部２１２は、優先度設定画面を用いた入力操作を検出し、検出された入力操作を示す情報を配信情報生成部２１１に出力する。優先度設定画面の例については、図８を参照して後述する。  
配信情報生成部２１１は、優先度設定画面を用いた入力操作に基づいて、優先度情報９４１を生成する。優先度情報９４１は、例えば、記憶装置９４内の所定の領域に格納される。
【００２０】
図３は、優先度情報９４１の一構成例を示す。優先度情報９４１は、クライアント装置３１に配信される複数のファイル２２に対応する複数のエントリを含む。各エントリは、例えば、「ファイル名」、「優先度」及び「サイズ」を含む。あるファイルに対応するエントリにおいて、「ファイル名」は、そのファイルに付与された名称を示す。「優先度」は、そのファイルが、クライアント装置３１によって優先的に処理される度合いを示す。したがって、セキュリティパッチやアンチウィルスソフトウェアのウィルスパターンファイル等の迅速にインストールすべきファイルには、高い優先度が設定される。クライアント装置３１は、「優先度」の値に関連付けられた処理条件に基づいて、当該ファイルを処理する（すなわち、ダウンロード／インストールする）。また、「サイズ」は、そのファイルのサイズ（データサイズ）を示す。「サイズ」に設定された値は、例えば、そのファイルを処理するために要する時間を算出（推定）するために用いられる。
【００２１】
図３では、ファイル“ＡＰ１”の「優先度」が“１”に設定され、その「サイズ」が１００ＫＢであること、ファイル“ＡＰ２”の「優先度」が“３”に設定され、その「サイズ」が３５ＫＢであること、及びファイル“ＡＰ３”の「優先度」が“４”に設定され、その「サイズ」が１．２ＭＢことが示されている。
【００２２】
また、図４は、「優先度」の値に関連付けられた処理条件の例を示す。この処理条件では、例えば、優先度が高いほど（すなわち、「優先度」に設定された値が小さいほど）、処理終了時のバッテリーの残量が少ない場合であっても、ファイルのダウンロードやインストールのような処理が実行される。そして、例えば、優先度が低いほど（すなわち、「優先度」に設定された値が大きいほど）、処理終了時のバッテリーの残量が少ない場合には、ファイルのダウンロードやインストールのような処理が実行されない。図４に示すように、例えば、「優先度」に“１”が設定されたファイルは、処理終了時のバッテリーの残量が満充電時の容量の５％以上である場合に処理される。「優先度」に“２”が設定されたファイルは、処理終了時のバッテリーの残量が満充電時の容量の１０％以上である場合に処理される。「優先度」に“３”が設定されたファイルは、処理終了時のバッテリーの残量が満充電時の容量の２０％以上である場合に処理される。「優先度」に“４”が設定されたファイルは、処理終了時のバッテリーの残量が満充電時の容量の３０％以上である場合に処理される。「優先度」に“５”が設定されたファイルは、処理終了時のバッテリーの残量が満充電時の容量の４０％以上である場合に処理される。
【００２３】
なお、処理条件は、例えば、バッテリーの残量ではなく、電力の供給源（電源）に基づく条件であってもよい。具体的には、例えば、「優先度」に“１”が設定されたファイルは、バッテリー又は外部ＡＣ電源によって電力が供給されている場合に処理される（すなわち、電源状態によらず処理される）。「優先度」に“２”が設定されたファイルは、外部ＡＣ電源によって電力が供給されている場合に処理される。つまり、緊急性が高い「優先度」“１”のファイルは、電力の供給源に関わらず処理され、緊急性が低い「優先度」“２”のファイルは、外部ＡＣ電源によって電力が供給されている場合にのみ処理される。
【００２４】
配信情報生成部２１１は、優先度情報９４１の生成が完了したことを表示制御部２１３に通知する。
【００２５】
表示制御部２１３は、配信情報生成部２１１による通知に応じて、又はユーザーによる要求に応じて、クライアント装置３１に配信されるファイルを設定するための配信ファイル設定画面を表示する。入力制御部２１２は、配信ファイル設定画面を用いた入力操作を検出し、検出された入力操作を示す情報を配信情報生成部２１１に出力する。配信ファイル設定画面の例については、図９を参照して後述する。  
配信情報生成部２１１は、配信ファイル設定画面を用いた入力に基づいて、配信ファイル情報９４２と処理状態情報９４３とを生成する。配信情報生成部２１１は、生成された配信ファイル情報９４２と処理状態情報９４３とを、例えば、記憶装置９４内の格納する。
【００２６】
図５は、配信ファイル情報９４２の一構成例を示す。配信ファイル情報９４２は、例えば、複数のクライアント装置３１に対応する複数のエントリを含む。各エントリは、例えば、「クライアント名」と「配信ファイル」とを含む。あるクライアント装置３１に対応するエントリにおいて、「クライアント名」は、そのクライアント装置３１に付与された名称を示す。この名称は、そのクライアント装置３１を一意に識別可能な名称である。したがって「クライアント名」には、そのクライアント装置３１に一意に割り当てられる識別情報（ＩＤ）が設定されてもよい。また、「配信ファイル」は、そのクライアント装置３１に配信されるファイルを示す。つまり、「配信ファイル」に示されるファイルが、そのクライアント装置３１にダウンロードされ、インストールされる。
【００２７】
図５では、クライアント装置“ＣＬ１”に、ファイル“ＡＰ１”，“ＡＰ２”，“ＡＰ３”が配信され、クライアント装置“ＣＬ２”に、ファイル“ＡＰ１”が配信され、クライアント装置“ＣＬ３”に、ファイル“ＡＰ１”，“ＡＰ３”が配信されることが示されている。
【００２８】
また、図６は、サーバー装置２によって用いられる処理状態情報９４３の一構成例を示す。処理状態情報９４３は、複数のファイルに対応する複数のエントリを含む。各エントリは、例えば、「ファイル名」と「処理状態」とを含む。あるファイルに対応するエントリにおいて、「ファイル名」はそのファイルに付与されたファイルの名称を示す。「処理状態」は、各クライアント装置３１でのそのファイルの処理状態を示す。「処理状態」は、例えば、クライアント装置３１毎の「ダウンロード」及び「インストール」を含む。すなわち、「ダウンロード」は、対象のクライアント装置（例えば、“ＣＬ１”）において、そのファイルのダウンロードが完了したか否かを示す。また、「インストール」は、対象のクライアント装置において、そのファイルのインストールが完了したか否かを示す。なお、記号“○”はダウンロード／インストールが完了したこと、記号“×”はダウンロード／インストールが完了していないこと、記号“−”は、ダウンロード／インストールが行なわれないことを示す。
【００２９】
図６では、例えば、クライアント装置“ＣＬ１”において、ファイル“ＡＰ１”のダウンロード及びインストールと、ファイル“ＡＰ２”のダウンロード及びインストールと、ファイル“ＡＰ３”のダウンロードとが完了し、ファイル“ＡＰ３”のインストールが完了していないことが示されている。
【００３０】
また、配信情報送信部２１４は、クライアント装置３１から配信情報（優先度情報９４１及び配信ファイル情報９４２）の送信が要求されたことに応じて、クライアント装置３１に対応する配信ファイル情報９４２と優先度情報９４１とを該クライアント装置３１に送信する。例えば、クライアント装置“ＣＬ１”によって配信情報の送信が要求されたとき、配信情報送信部２１４は、配信ファイル情報９４２から“ＣＬ１”に対応する配信ファイルのリスト（図５に示す例では、“ＡＰ１”，“ＡＰ２”及び“ＡＰ３”）を抽出する。そして、配信情報送信部２１４は、抽出された、“ＣＬ１”に対応する配信ファイルのリストと、優先度情報９４１とを、クライアント装置“ＣＬ１”に送信する。
【００３１】
ファイル配信部２１５は、クライアント装置３１（配信情報受信部３１２）によるファイル２２の送信（ダウンロード）の要求に応じて、その要求されたファイル２２を記憶装置９４から読み出す。そして、ファイル配信部２１５は、読み出したファイル２２をクライアント装置３１に送信する。
【００３２】
処理状態更新部２１６は、クライアント装置３１（ダウンロード部３１４）によってダウンロードの完了が通知されたことに応じて、処理状態情報９４３を更新する。クライアント装置３１は、ダウンロードの完了を通知するとき、ダウンロードが完了したファイルの名称（例えば、“ＡＰ１”）を通知する。処理状態更新部２１６は、処理状態情報９４３の内のクライアント装置３１に対応するエントリに対して、そのファイルのダウンロードが完了したことを記述する。
【００３３】
処理状態更新部２１６は、クライアント装置３１（インストール部３１６）によってインストールの完了が通知されたことに応じて、処理状態情報９４３を更新する。クライアント装置３１は、インストールの完了を通知するとき、インストールが完了したファイルの名称（例えば、“ＡＰ１”）を通知する。処理状態更新部２１６は、処理状態情報９４３の内のクライアント３１に対応するエントリに対して、そのファイルのインストールが完了したことを記述する。
【００３４】
なお、配信情報送信部２１４は、処理状態情報９４３をさらに用いて、クライアント装置３１に送信する配信情報を決定してもよい。配信情報送信部２１４は、処理状態情報９４３を用いることにより、クライアント装置３１によって既にダウンロード／インストールされたファイル２２の情報を除いた配信ファイル情報９４２を配信することができる。
【００３５】
また、クライアント装置３１では、更新制御プログラム（クライアントソフトウェア）３Ａが実行される。更新制御プログラム３Ａは、管理サーバー２によって配信されたファイル２２Ａを用いたインストールを実行する。更新制御プログラム３Ａは、電源状態監視部３１１、配信情報受信部３１２、第１残量推定部３１３、ダウンロード部３１４、第２残量推定部３１５、及びインストール部３１６を備える。
【００３６】
電源状態監視部３１１は、クライアント装置３１の電源状態を監視する。具体的には、電源状態監視部３１１は、クライアント装置３１に対して、バッテリーと外部ＡＣ電源のいずれから電力が供給されているかを監視する。また、電源状態監視部３１１は、バッテリーの満充電時の充電容量、バッテリー残量、消費電力（例えば、１分間当たりの消費電力量）等を監視する。バッテリーは、長期間使用されることによって、蓄電能力が低下したり、電力消費が早くなることがある。そのため、電源状態監視部３１１は、現在の（実際の）バッテリーの満充電時の充電容量、バッテリー残量、消費電力等を検出する。また、監視によって得られた、電力が供給される電源、バッテリーの満充電時の充電容量、バッテリー残量、消費電力等を示す情報は、電源状態情報８４１として記憶装置８４等に保存される。
【００３７】
なお、電源状態を検出する方法は、例えばコンピュータのベンダーによって、提供されるインターフェースが異なるので、電源状態監視部３１１は、そのインターフェースに応じた方法で電源状態を検出する。なお、クライアント装置３１がＡＣＰＩ（Advanced Configuration and Power Interface）規格に準拠している際には、ＡＣＰＩ規格に応じた方法で電源状態を検出することができる。
【００３８】
また、配信情報受信部３１２は、サーバー装置２に対して、クライアント装置３１に対応する優先度情報８４２と配信ファイル情報８４３とを含む配信情報の送信を要求する。配信情報受信部３１２は、例えば、前回、サーバー装置２から配信情報を受信してから所定の期間が（例えば、１時間）が経過したときや、ユーザーによる要求があったとき、サーバー装置２に配信情報の送信を要求する。そして、配信情報受信部３１２は、サーバー装置２によって送信された、クライアント装置３１に対応する優先度情報８４２及び配信ファイル情報８４３を受信する。配信情報受信部３１２は、受信した優先度情報８４２及び配信ファイル情報８４３を第１残量推定部３１３に出力する。
【００３９】
第１残量推定部３１３は、配信情報受信部３１２によって出力された優先度情報８４２及び配信ファイル情報８４３と、記憶装置８４に格納された処理状態情報８４４とを用いて、配信ファイル情報８４３に示されるファイルをダウンロードするか否かを決定する。第１残量推定部３１３は、配信ファイル情報８４３に示される１以上のファイルを、優先度が高いものから順にダウンロードするか否か決定する。つまり、第１残量推定部３１３は、配信ファイル情報８４３に示される１以上のファイルを、優先度が高いものから順に処理対象ファイルに設定する。
【００４０】
第１残量推定部３１３は、電源状態情報８４１を用いて、処理対象ファイルのダウンロードが完了した際のバッテリーの残量（以下、第１残量とも称する）を推定する。具体的には、第１残量推定部３１３は、優先度情報８４２に示される処理対象のファイルのサイズＳ１、クライアント装置３１に設けられたＣＰＵ、メモリ、記憶装置（ＨＤＤ）等のリソースによるスループット、クライアント装置３１とサーバー装置２との間のネットワーク４によるデータの伝送速度等に基づいて、処理対象ファイルをダウンロードするために要する時間Ｔ１を算出する。
【００４１】
なお、処理対象ファイルをダウンロードするために要する時間Ｔ１は、処理対象のファイルのサイズＳ１を、クライアント装置３１に設けられたＣＰＵ、メモリ、記憶装置等のリソースに基づくスループットと、クライアント装置３１とサーバー装置２との間のネットワーク４によるデータの伝送速度とに基づく定数Ｃ１で割った値であってもよい。定数Ｃ１は、クライアント装置３１に設けられたリソースのスループットが高いほど、またネットワーク４のデータ伝送速度が速いほど大きくなる。つまり、第１残量推定部３１３は、次式により、処理対象ファイルをダウンロードするために要する時間Ｔ１を算出する。  
Ｔ１＝Ｓ１／Ｃ１  
例えば、定数Ｃ１＝２０であって、２００ＭＢ（＝Ｓ１）のファイルをダウンロードすることを想定した場合、ファイルをダウンロードするために要する時間Ｔ１は１０分である。
【００４２】
次いで、第１残量推定部３１３は、電源状態情報８４１から、満充電時のバッテリーの容量ＢＦと、現在のバッテリー残量Ｂ１と、１分間当たりの消費電力量Ｗ１とを読み出す。そして、第１残量推定部３１３は、次式により、処理対象のファイルのダウンロードが完了した際の第１残量ＢＤを算出する。  
ＢＤ＝（Ｂ１−Ｗ１×Ｔ１）／ＢＦ  
この第１残量ＢＤは、バッテリーの満充電時の容量ＢＦに対する、ダウンロード完了時の残量の割合（％）を示す。
【００４３】
また、第１残量推定部３１３は、優先度情報８４２を用いて、処理対象ファイルに関連付けられた優先度を検出する。そして、第１残量推定部３１３は、第１残量ＢＤが、検出された優先度に対応するダウンロード条件を満たすかどうかを判定する。第１残量推定部３１３は、例えば、ダウンロード条件として、第１残量ＢＤが優先度に基づくしきい値以上であるか否かを判定する。
【００４４】
ダウンロード条件は、図４を参照して上述したように、優先度が高いほど、処理終了時のバッテリーの残量が少ない場合であっても、ファイルのダウンロードが実行されるように規定されている。つまり、優先度に基づくしきい値は、優先度が高いほど小さな値が設定される。例えば、ファイル“ＡＰ１”の優先度が“１”である場合、第１残量推定部３１３は、第１残量ＢＤが５％以上であるか否かを判定する。また、ファイル“ＡＰ２”の優先度が“３”である場合、第１残量推定部３１３は、第１残量ＢＤが２０％以上であるか否かを判定する。なお、第１残量推定部３１３は、クライアント装置３１に対して、外部ＡＣ電源から電力が供給されているとき、優先度に対応するダウンロード条件を満たすと判定してもよい。第１残量推定部３１３は、第１残量ＢＤがダウンロード条件を満たすか否かを示す判定結果をダウンロード部３１４に出力する。
【００４５】
ダウンロード部３１４は、第１残量推定部３１３によって出力された判定結果を用いて、優先度に基づくダウンロード条件が満たされる場合、サーバー装置２に処理対象ファイルの送信を要求する。そして、ダウンロード部３１４は、サーバー装置２によって送信された処理対象ファイルを受信する。ダウンロード部３１４は、処理対象ファイル２２Ａを記憶装置８４等に格納する。また、ダウンロード部３１４は、記憶装置８４に格納された処理状態情報８４４に、受信した処理対象ファイル２２Ａに対応するエントリを追加し、当該エントリにダウンロードが完了したことを記述する。この処理状態情報８４４を用いることにより、サーバー装置２から既にダウンロードされたファイル２２Ａが、再度ダウンロードされてしまうことを避けることができる。
【００４６】
図７は、クライアント装置３１によって用いられる処理状態情報８４４の一構成例を示す。処理状態情報８４４は、複数のファイルに対応する複数のエントリを含む。各エントリは、例えば、「ファイル名」、「ダウンロード」及び「インストール」を含む。あるファイルに対応するエントリにおいて、「ファイル名」は、そのファイルに付与された名称を示す。「ダウンロード」は、そのファイルのダウンロードが完了したか否かを示す。また、「インストール」は、そのファイルのインストールが完了したか否かを示す。なお、記号“○”はダウンロード／インストールが完了したこと、記号“×”はダウンロード／インストールが完了していないことを示す。
【００４７】
図７では、ファイル“ＡＰ１”のダウンロード及びインストールが完了し、ファイル“ＡＰ２のダウンロード及びインストールが完了し、ファイル“ＡＰ３”のダウンロードが完了し、インストールが完了していないことが示されている。
【００４８】
ダウンロード部３１４は、処理対象ファイル２２Ａのダウンロードが完了したことを第２残量推定部３１５とサーバー装置２（処理状態更新部２１６）とに通知する。
【００４９】
なお、第１残量ＢＤが優先度に基づくダウンロード条件を満たさない場合には、処理対象ファイルのダウンロード（及びインストール）は延期される。そして、以降にダウンロード条件が満たされたタイミングで処理対象ファイルのダウンロードが実行される。
【００５０】
第２残量推定部３１５は、ダウンロード部３１４による通知に応じて、処理対象ファイル２２Ａをインストールするか否かを決定する。第２残量推定部３１５は、電源状態情報８４１を用いて、処理対象ファイル２２Ａのインストールが完了した際のバッテリーの残量（以下、第２残量とも称する）を推定する。具体的には、第２残量推定部３１５は、優先度情報８４２に示される処理対象のファイル２２ＡのサイズＳ１、クライアント装置３１に設けられたＣＰＵ、メモリ、記憶装置（ＨＤＤ）等のリソースによるスループット等に基づいて、処理対象ファイル２２Ａをインストールするために要する時間Ｔ２を算出する。
【００５１】
なお、処理対象ファイル２２Ａをインストールするために要する時間Ｔ２は、処理対象のファイル２２ＡのサイズＳ１を、クライアント装置３１に設けられたＣＰＵ、メモリ、記憶装置等のリソースに基づくスループットに基づく定数Ｃ２で割った値であってもよい。定数Ｃ２は、クライアント装置３１に設けられたリソースのスループットが高いほど大きくなる。つまり、第２残量推定部３１５は、次式により、処理対象ファイル２２Ａをインストールするために要する時間Ｔ２を算出する。  
Ｔ２＝Ｓ１／Ｃ２  
例えば、定数Ｃ２＝４０であって、２００ＭＢ（＝Ｓ１）のファイル２２Ａをインストールすることを想定した場合、ファイル２２Ａをインストールするために要する時間Ｔ２は５分である。
【００５２】
次いで、第２残量推定部３１５は、電源状態情報８４１から、満充電時のバッテリーの容量ＢＦと、現在のバッテリー残量Ｂ２と、１分間当たりの消費電力量Ｗ２とを読み出す。そして、第２残量推定部３１５は、次式により、処理対象のファイル２２Ａのインストールが完了した際の第２残量ＢＩを算出する。  
ＢＩ＝（Ｂ２−Ｗ２×Ｔ２）／ＢＦ  
この第２残量ＢＩは、バッテリーの満充電時の容量ＢＦに対する、インストール完了時の残量の割合（％）を示す。
【００５３】
また、第２残量推定部３１５は、優先度情報８４２を用いて、処理対象ファイル２２Ａに関連付けられた優先度を検出する。そして、第２残量推定部３１５は、第２残量ＢＩが、検出された優先度に対応するインストール条件を満たすかどうかを判定する。第２残量推定部３１５は、例えば、インストール条件として、第２残量ＢＩが優先度に基づくしきい値以上であるか否かを判定する。
【００５４】
インストール条件は、図４を参照して上述したように、優先度が高いほど、処理終了時のバッテリーの残量が少ない場合であっても、ファイル２２Ａのインストールが実行されるように規定されている。つまり、優先度に基づくしきい値は、優先度が高いほど小さな値が設定される。例えば、ファイル“ＡＰ１”の優先度が“１”である場合、第２残量推定部３１５は、第２残量ＢＩが５％以上であるか否かを判定する。また、ファイル“ＡＰ２”の優先度が“３”である場合、第２残量推定部３１５は、第２残量ＢＩが２０％以上であるか否かを判定する。なお、第２残量推定部３１５は、クライアント装置３１に対して、外部ＡＣ電源から電力が供給されているとき、優先度に対応するインストール条件を満たすと判定してもよい。第２残量推定部３１５は、第２残量ＢＩがインストール条件を満たすか否かを示す判定結果をインストール部３１６に出力する。
【００５５】
インストール部３１６は、第２残量推定部３１５によって出力された判定結果を用いて、優先度に基づくインストール条件が満たされる場合、処理対象ファイル２２Ａを用いたインストールを実行する。そして、インストール部３１６は、処理対象ファイル２２Ａのインストールが完了（成功）したことに応じて、処理状態情報８４４に含まれる、処理対象ファイル２２Ａに対応するエントリにインストールが完了したことを記述する。この処理状態情報８４４を用いることにより、クライアント装置３１に既にインストールされたファイル２２Ａが、再度インストールされてしまうことを避けることができる。インストール部３１６は、処理対象ファイル２２Ａのインストールが完了したことをサーバー装置２（処理状態更新部２１６）に通知する。
【００５６】
なお、第２残量ＢＩが優先度に基づくインストール条件を満たさない場合には、処理対象ファイル２２Ａのインストールは延期される。そして、以降にインストール条件が満たされたタイミングで処理対象ファイル２２Ａのインストールが実行される。
【００５７】
以上の構成により、電力の供給状況に応じて、ユーザーによる使用を妨げずにクライアント装置３１のソフトウェアを更新できる。第１残量推定部３１３は、サーバー装置２からファイル２２Ａをダウンロードする前に、ダウンロードが完了した際のバッテリーの第１残量を推定する。そして、ダウンロード部３１４は、第１残量がファイル２２Ａの優先度に基づくダウンロード条件を満たす場合に、ファイル２２Ａをダウンロードする。これにより、ダウンロード中にバッテリーから電力が供給されなくなり、ダウンロードが失敗することを避けることができる。また、第２残量推定部３１５は、ダウンロードしたファイル２２Ａをインストールする前に、インストールが完了した際のバッテリーの第２残量を推定する。そして、インストール部３１６は、第２残量がファイル２２Ａの優先度に基づくインストール条件を満たす場合に、ファイル２２Ａをインストールする。これにより、インストール中にバッテリーから電力が供給されなくなり、インストールが失敗することを避けることができる。また、ダウンロード部３１４及びインストール部３１６は、バッテリー残量が十分でない際には、緊急性（優先度）が高いファイル以外をダウンロード／インストールせずに、ダウンロード／インストールによって電力が消費されないようにする。これにより、ダウンロード／インストールによってクライアント装置３１の稼働時間が削減され、ユーザーによる作業が妨げられることを回避することができる。
【００５８】
また、図８は、サーバー装置２で用いられる優先度設定画面の例を示す。優先度設定画面５は、ファイル一覧表示エリア５１、詳細表示エリア５２、優先度入力エリア５３、ＯＫボタン５４等を含む。ファイル一覧表示エリア５１は、クライアント装置３１に配信されるファイル２２（例えば、“ＡＰＰ１”〜“ＡＰＰ３”）を示すファイルボタン５１Ａ，５１Ｂ，５１Ｃを含む。
【００５９】
詳細表示エリア５２には、ファイルボタン５１Ａ，５１Ｂ，５１Ｃの内、選択された一つのボタンに対応するファイルに関する情報が表示される。詳細表示エリア５２に表示される情報は、例えば、そのファイルに関連するソフトウェア（アプリケーションプログラム）や、そのファイルを用いたインストールによる効果（例えば、セキュリティパッチの適用、ウィルスパターンファイルの更新、プログラムのバグの修正、ソフトウェアの機能の改良等）を示す。優先度入力エリア５３は、ファイルボタン５１Ａ，５１Ｂ，５１Ｃの内、選択された一つのボタンに対応するファイルの優先度を入力するためのエリアである。優先度入力エリア５３では、例えば、リスト表示ボタン５３Ａが押されたことに応じて、優先度として設定可能な数値のリスト（例えば、１から５までの整数を含むリスト）が表示される。そして、リストから選択された一つの数値が、選択されたファイルの優先度に設定される。ＯＫボタン５４は、優先度設定画面５を用いた設定を確定するためのボタンである。優先度設定画面５の表示は、例えば、ＯＫボタン５４が押されたことに応じて終了する。
【００６０】
具体的には、ユーザーは、例えば、ファイルボタン５１Ａ，５１Ｂ，５１Ｃの内の一つのボタン５１Ａ（すなわち、優先度を設定するファイルに対応するボタン）を選択し、ボタン５１に対応するファイル（“ＡＰＰ１”）に関する情報を詳細表示エリア５２で確認する。そして、ユーザーは、優先度入力エリア５３（リスト表示ボタン５３Ａに応じて表示されるリスト）を用いて、例えば、緊急性の高いファイルには高い優先度（例えば、“１”）を設定し、緊急性の低いファイルには低い優先度（例えば、“５”）を設定する。
【００６１】
また、図９は、サーバー装置２で用いられる配信ファイル設定画面の例を示す。配信ファイル設定画面６は、例えば、クライアント一覧表示エリア６１、ファイル一覧表示エリア６２、ＯＫボタン６３等を含む。クライアント一覧表示エリア６１は、サーバー装置２に接続されたクライアント装置３１（例えば、“ＣＬ１”〜“ＣＬ３”）に対応するクライアントボタン６１Ａ，６１Ｂ，６１Ｃを含む。また、ファイル一覧表示エリア６２は、クライアント装置３１に配信されるファイル２２（例えば、“ＡＰＰ１”〜“ＡＰＰ３”）を示すファイルチェックボタン６２Ａ，６２Ｂ，６２Ｃを含む。ファイルチェックボタン６２Ａ，６２Ｂ，６２Ｃは、クライアントボタン６１Ａ，６１Ｂ，６１Ｃの内、選択された一つのボタンに対応するクライアント装置に配信されるファイル２２Ａを選択するためのボタンである。ＯＫボタン６３は、配信ファイル設定画面６を用いた設定を確定するためのボタンである。配信ファイル設定画面６の表示は、例えば、ＯＫボタン６３が押されたことに応じて終了する。
【００６２】
具体的には、ユーザーは、例えば、クライアントボタン６１Ａ，６１Ｂ，６１Ｃの内の１つのボタン６１Ｃ（“ＣＬ３”に対応するクライアントボタン６１Ｃ）を選択する。そして、ユーザーは、ファイルチェックボタン６２Ａ，６２Ｃを選択すること（チェック状態にすること）によって、クライアント装置“ＣＬ３”に対して、ファイル“ＡＰＰ１”及び“ＡＰＰ３”を配信することを設定する。
【００６３】
次いで、図１０のフローチャートを参照して、サーバー装置２によって実行される配信ファイル管理処理の手順の例を説明する。  
まず、配信情報生成部２１１は、クライアント装置３１に配信されるファイル２２を所定の格納場所（記憶領域）９４に配置する（ブロックＢ１１）。
【００６４】
次いで、表示制御部２１３は、ファイル２２の優先度を設定するための優先度設定画面５を表示する（ブロックＢ１２）。入力制御部２１２は、優先度設定画面５を用いた入力を検出する。そして、配信情報生成部２１１は、優先度設定画面５を用いた入力に基づいて、優先度情報９４１を生成する（ブロックＢ１３）。
【００６５】
また、表示制御部２１３は、クライアント装置３に配信されるファイルを設定するための配信ファイル設定画面６を表示する（ブロックＢ１４）。入力制御部２１２は、配信ファイル設定画面６を用いた入力を検出する。そして、配信情報生成部２１１は、配信ファイル設定画面６を用いた入力に基づいて、配信ファイル情報９４２と処理状態情報９４３とを生成する（ブロックＢ１５）。
【００６６】
また、図１１のフローチャートは、サーバー装置２によって実行される配信制御処理の手順の例を示す。  
まず、配信情報送信部２１４は、クライアント装置３から配信情報（優先度情報９４１及び配信ファイル情報９４２）の送信が要求されたか否か判定する（ブロックＢ２１）。配信情報の送信が要求されている場合（ブロックＢ２１のＹＥＳ）、配信情報送信部２１４は、クライアント装置３に対応する優先度情報９４１と配信ファイル情報９４２とを送信する（ブロックＢ２２）。
【００６７】
配信情報の送信が要求されていない場合（ブロックＢ２１のＮＯ）、ファイル配信部２１５は、クライアント装置３によってファイル２２の送信（ダウンロード）が要求されているか否かを判定する（ブロックＢ２３）。ファイル２２の送信が要求されている場合（ブロックＢ２３のＹＥＳ）、ファイル配信部２１５は、その要求されたファイルをクライアント装置３に送信する（ブロックＢ２４）。
【００６８】
ファイルの送信が要求されていない場合（ブロックＢ２３のＮＯ）、処理状態更新部２１６は、クライアント装置３によってダウンロードの完了が通知されているか否かを判定する（ブロックＢ２５）。ダウンロードの完了が通知されている場合（ブロックＢ２５のＹＥＳ）、処理状態更新部２１６は、処理状態情報９４３を更新する（ブロックＢ２６）。クライアント装置３は、ダウンロードの完了を通知するとき、ダウンロードが完了したファイルの名称（例えば、“ＡＰ１”）を通知する。処理状態更新部２１６は、処理状態情報９４３の内のクライアント装置３に対応するエントリに対して、そのファイルのダウンロードが完了したことを記述する。
【００６９】
ダウンロードの完了が通知されていない場合（ブロックＢ２５のＮＯ）、処理状態更新部２１６は、クライアント装置３によってインストールの完了が通知されているか否かを判定する（ブロックＢ２７）。インストールの完了が通知されている場合（ブロックＢ２７のＹＥＳ）、処理状態更新部２１６は、処理状態情報９４３を更新する（ブロックＢ２８）。クライアント装置３は、インストールの完了を通知するとき、インストールが完了したファイルの名称（例えば、“ＡＰ１”）を通知する。処理状態更新部２１６は、処理状態情報９４３の内のクライアント装置３に対応するエントリに対して、そのファイルのインストールが完了したことを記述する。
【００７０】
以上の処理により、クライアント装置３に配信されるファイル２２を管理し、クライアント装置３による要求に応じて配信情報とファイル２２とを送信することができる。
【００７１】
次いで、図１２のフローチャートを参照して、クライアント装置３１によって実行される更新制御処理の手順の例を説明する。  
まず、配信情報受信部３１２は、更新制御処理を開始するタイミングであるか否かを判定する（ブロックＢ３０１）。配信情報受信部３１２は、例えば、前回、サーバー装置２から配信情報を受信してから所定の期間が（例えば、１時間）が経過したときや、ユーザーによる要求があったとき、更新制御処理を開始するタイミングであると判定する。更新制御処理を開始するタイミングでない場合（ブロックＢ３０１のＮＯ）、ブロックＢ３０１に戻り、再度、更新制御処理を開始するタイミングであるか否かを判定する。
【００７２】
更新制御処理を開始するタイミングである場合（ブロックＢ３０１のＹＥＳ）、配信情報受信部３１２は、サーバー装置２に対して、クライアント装置３１に対応する優先度情報９４１及び配信ファイル情報９４２の送信を要求する（ブロックＢ３０２）。そして、配信情報受信部３１２は、サーバー装置２によって送信された、クライアント装置３１に対応する優先度情報９４１及び配信ファイル情報９４２（すなわち、優先度情報８４２及び配信ファイル情報８４３）を受信する（ブロックＢ３０３）。
【００７３】
次いで、第１残量推定部３１３は、処理状態情報８４４を用いて、配信ファイル情報８４３に示されるファイル（以下、第１ファイルとも称する）２２Ａがダウンロード済みであるか否かを判定する（ブロックＢ３０４）。第１ファイル２２Ａがダウンロード済みでない場合（ブロックＢ３０４のＮＯ）、第１残量推定部３１３は、優先度情報８４２から第１ファイル２２Ａに関連付けられた優先度を検出し、優先度に基づくダウンロード条件が満たされるか否かを判定する（ブロックＢ３０５）。具体的には、第１残量推定部３１３は、第１ファイル２２Ａのダウンロードが完了した際のバッテリーの第１残量を推定する。このバッテリーの残量は、例えば、バッテリーの満充電時の容量に対する、ダウンロード完了時の残量の割合（％）で示される。また、第１残量推定部３１３は、第１ファイル２２Ａに関連付けられた優先度に基づいて、優先度に基づくダウンロード条件を決定する。このダウンロード条件は、図４を参照して上述したように、優先度が高いほど、処理終了時のバッテリーの残量が少ない場合であっても、ファイルのダウンロードが実行されるように規定される。したがって例えば、第１残量推定部３１３は、推定されたバッテリーの第１残量が満充電時の容量の５％以上である場合に、優先度“１”に対応するダウンロード条件を満たすと判定する。
【００７４】
優先度に基づくダウンロード条件が満たされない場合（例えば、バッテリーの第１残量が十分でない場合）（ブロックＢ３０５のＮＯ）、ブロックＢ３０１に戻る。
【００７５】
一方、優先度に基づくダウンロード条件が満たされる場合（ブロックＢ３０５のＹＥＳ）、ダウンロード部３１４は、サーバー装置２に第１ファイル２２Ａの送信を要求する（ブロックＢ３０６）。そして、ダウンロード部３１４は、サーバー装置２によって送信された第１ファイル２２Ａを受信する（ブロックＢ３０７）。また、ダウンロード部３１４は、記憶装置８４に格納された処理状態情報８４４に、受信した第１ファイル２２Ａに対応するエントリを追加し、当該エントリにダウンロードが完了したことを記述する（ブロックＢ３０８）。そして、ダウンロード部３１４は、第１ファイルのダウンロードが完了したことをサーバー装置２に通知する（ブロックＢ３０９）。
【００７６】
次いで、第２残量推定部３１５は、優先度情報８４２から第１ファイル２２Ａに関連付けられた優先度を検出し、優先度に基づくインストール条件が満たされるか否かを判定する（ブロックＢ３１０）。具体的には、第２残量推定部３１５は、第１ファイル２２Ａのインストールが完了した際のバッテリーの第２残量を推定する。このバッテリーの第２残量は、例えば、バッテリーの満充電時の容量に対する、インストール完了時の残量の割合（％）で示される。また、第２残量推定部３１５は、第１ファイル２２Ａに関連付けられた優先度に基づいて、優先度に基づくインストール条件を決定する。このインストール条件は、図４を参照して上述したように、優先度が高いほど、処理終了時のバッテリーの残量が少ない場合であっても、ファイルのインストールが実行されるように規定される。したがって例えば、第２残量推定部３１５は、推定されたバッテリーの第２残量が満充電時の容量の５％以上である場合に、優先度“１”に対応するインストール条件を満たすと判定する。
【００７７】
優先度に基づくインストール条件が満たされない場合（例えば、バッテリーの第２残量が十分でない場合）（ブロックＢ３１０のＮＯ）、ブロックＢ３０１に戻る。
【００７８】
一方、優先度に基づくインストール条件が満たされる場合（ブロックＢ３１０のＹＥＳ）、インストール部３１６は、第１ファイル２２Ａを用いたインストールを実行する（ブロックＢ３１１）。そして、インストール部３１６は、記憶装置８４に格納された処理状態情報８４４に含まれる、第１ファイル２２Ａに対応するエントリにインストールが完了したことを記述する（ブロックＢ３１２）。また、インストール部３１６は、第１ファイル２２Ａのインストールが完了したことをサーバー装置２に通知する（ブロックＢ３１３）。
【００７９】
次いで、配信情報受信部３１２は、配信ファイル情報８４３に、他の処理すべきファイルが示されているか否かを判定する（ブロックＢ３１４）。配信ファイル情報８４３に他の処理すべきファイルが示されている場合（ブロックＢ３１４のＹＥＳ）、ブロックＢ３０４に戻り、そのファイルに関する処理を実行する。配信ファイル情報８４３に他の処理すべきファイルが示されていない場合（ブロックＢ３１４のＮＯ）、ブロックＢ３０１に戻る。
【００８０】
また、第１ファイル２２Ａがダウンロード済みである場合（ブロックＢ３０４のＹＥＳ）、第２残量推定部３１５は、処理状態情報８４４を用いて、第１ファイル２２Ａがインストール済みであるか否かを判定する（ブロックＢ３１５）。第１ファイル２２Ａがインストール済みでない場合（ブロックＢ３１５のＮＯ）、ブロックＢ３１０に進む。一方、第１ファイル２２Ａがインストール済みである場合（ブロックＢ３１５のＹＥＳ）、ブロックＢ３１４に進む。
【００８１】
以上の処理により、電力の供給状況に応じて、ファイル２２Ａのダウンロード及びインストールを制御し、優先度が低いファイル２２Ａではユーザーによるクライアント装置３１の使用が妨げられないようにすることができる。
【００８２】
次いで、図１３は、クライアント装置３１のシステム構成の例を示す。クライアント装置３１は、ＣＰＵ（Central Processing Unit）８１、主メモリ８２、ネットワークコントローラ８３、Ｉ／Ｏデバイス８４、記憶装置８５、グラフィクスコントローラ８６、ＬＣＤ（Liquid Crystal Display）８７、ＥＣ／ＫＢＣ８８、キーボード（ＫＢ）８９、バッテリー８０Ａ、ＡＣアダプタ８０Ｂ等を備える。
【００８３】
ＣＰＵ８１は各種プログラムを実行するプロセッサである。ＣＰＵ８１は、各種演算処理を実行すると共に、クライアント装置３１内の各部を制御する。
【００８４】
主メモリ８２は、ＣＰＵ８１によって実行される、オペレーティングシステム３Ｃ、更新制御プログラム３Ａのような各種アプリケーションプログラム、及び各種データを格納するためのメインメモリである。主メモリ８２には、例えばＯＳ３Ｃ及び更新制御プログラム３Ａがロードされている。
【００８５】
ネットワークコントローラ８３は、例えばＥｔｈｅｒｎｅｔ（登録商標）規格の有線通信を実行する有線通信デバイスや、ＩＥＥＥ  ８０２．１１規格の無線通信を実行する無線通信デバイスである。クライアント装置３１は、ネットワークコントローラ８３を用いることにより、サーバー装置２との通信を実行する。
【００８６】
Ｉ／Ｏデバイス８４は、クライアント装置３１に対するデータの入出力を実行するための各種入出力デバイスである。また、記憶装置８５は、各種プログラムやデータを格納するための不揮発性の記憶装置である。記憶装置８５に格納された各種プログラムやデータは、クライアント装置３１内の各部による要求に応じて、主メモリ８２へロードされる。主メモリ８２にロードされる更新制御プログラム３Ａの動作は、図２等を参照して説明した通りである。
【００８７】
グラフィクスコントローラ８６は、クライアント装置３１のディスプレイモニタとして使用されるＬＣＤ８７を制御する。このグラフィクスコントローラ８６によって生成される表示信号はＬＣＤ８７に送られる。グラフィクスコントローラ８６及びＬＣＤ８７を用いることにより、例えば、ユーザーによる操作に応じた画面を表示することができる。
【００８８】
エンベデッドコントローラ／キーボードコントローラ（ＥＣ／ＫＢＣ）８８は、電力管理を行うためのエンベデッドコントローラと、キーボード８９やポインティングデバイスを制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。このＥＣ／ＫＢＣ８８は、ユーザーによる操作に応じて本クライアント装置３１をパワーオン／パワーオフする機能を有している。ＥＣ／ＫＢＣ８８は、ＡＣアダプタ８０Ｂを介して外部から供給される電力、又はバッテリー８０Ａから供給される電力を用いて、クライアント装置３１内の各部に電力を供給する。換言すれば、クライアント装置３１は、ＡＣ商用電源のような外部電源、又はバッテリー８０Ａによって駆動される。ＡＣアダプタ１０６はクライアント装置３１外に設けることもできる。
【００８９】
更新制御プログラム３Ａの電源状態監視部３１１は、ＯＳ３ＣやＥＣ／ＫＢＣ８８を介して、バッテリー８０Ａによって供給される電力と外部電源によって供給される電力とを監視し、またバッテリー８０Ａの満充電時の容量や現在のバッテリー８０Ａの残量、クライアント装置３１の消費電力等を検出することができる。
【００９０】
また、図１４は、サーバー装置２のシステム構成の例を示す。サーバー装置２は、ＣＰＵ（Central Processing Unit）９１、主メモリ９２、ネットワークコントローラ９３、Ｉ／Ｏデバイス９４、記憶装置９５、グラフィクスコントローラ９６、ＬＣＤ（Liquid Crystal Display）９７、ＥＣ／ＫＢＣ９８、キーボード（ＫＢ）９９、ＡＣアダプタ９０等を備える。
【００９１】
ＣＰＵ９１は各種プログラムを実行するプロセッサである。ＣＰＵ９１は、各種演算処理を実行すると共に、サーバー装置２内の各部を制御する。
【００９２】
主メモリ９２は、ＣＰＵ９１によって実行される、オペレーティングシステム２３、配信制御プログラム２１のような各種アプリケーションプログラム、及び各種データを格納するためのメインメモリである。主メモリ９２には、例えばＯＳ２３及び配信制御プログラム２１がロードされている。
【００９３】
ネットワークコントローラ９３は、例えばＥｔｈｅｒｎｅｔ（登録商標）規格の有線通信を実行する有線通信デバイスや、ＩＥＥＥ  ８０２．１１規格の無線通信を実行する無線通信デバイスである。サーバー装置２は、ネットワークコントローラ９３を用いることにより、クライアント装置３１との通信を実行する。
【００９４】
Ｉ／Ｏデバイス９４は、サーバー装置２に対するデータの入出力を実行するための各種入出力デバイスである。また、記憶装置９５は、各種プログラムやデータを格納するための不揮発性の記憶装置である。記憶装置９５に格納された各種プログラムやデータは、サーバー装置２内の各部による要求に応じて、主メモリ９２へロードされる。主メモリ９２にロードされる配信制御プログラム２１の動作は、図２等を参照して説明した通りである。
【００９５】
グラフィクスコントローラ９６は、サーバー装置２のディスプレイモニタとして使用されるＬＣＤ９７を制御する。このグラフィクスコントローラ９６によって生成される表示信号はＬＣＤ９７に送られる。グラフィクスコントローラ９６及びＬＣＤ９７を用いることにより、例えば、ユーザーによる操作に応じた画面を表示することができる。
【００９６】
エンベデッドコントローラ／キーボードコントローラ（ＥＣ／ＫＢＣ）９８は、電力管理を行うためのエンベデッドコントローラと、キーボード９９やポインティングデバイスを制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。このＥＣ／ＫＢＣ９８は、ユーザーによる操作に応じて本サーバー装置２をパワーオン／パワーオフする機能を有している。ＥＣ／ＫＢＣ９８は、ＡＣアダプタ９０を介して外部から供給される電力を用いて、サーバー装置２内の各部に電力を供給する。換言すれば、サーバー装置２は、ＡＣ商用電源のような外部電源によって駆動される。ＡＣアダプタ９０はサーバー装置２外に設けることもできる。
【００９７】
以上説明したように、本実施形態によれば、電力の供給状況に応じて、ユーザーによる使用を妨げずにソフトウェアを更新できる。ダウンロード部３１４及びインストール部３１６は、バッテリー残量が十分でない際には、緊急性（優先度）が高いファイル以外をダウンロード／インストールせずに、ダウンロード／インストールによって電力が消費されないようにする。これにより、ダウンロード／インストールによってクライアント装置３１の稼働時間が短くなり、ユーザーによるクライアント装置３１の使用が妨げられることを回避することができる。
【００９８】
また、電力使用のピーク時（例えば、昼間の時間帯）には、節電のために、クライアント装置３１をバッテリーによって供給される電力を用いて駆動させることが想定される。そのような場合には、クライアント装置３１は、例えば、昼間に（クライアント装置３１がバッテリー駆動されるとき）、緊急性が高いファイルだけをダウンロード／インストールし、夜間に（クライアント装置３１が外部電源によって駆動されるとき）、緊急性が高いファイル以外をダウンロード／インストールするように、ソフトウェアの更新を制御することができる。
【００９９】
なお、本実施形態の配信管理処理、配信制御処理及び更新制御処理の手順は全てソフトウェアによって実行することができる。このため、配信管理処理、配信制御処理及び更新制御処理の手順を実行するプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【０１００】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１０１】
２…サーバー装置、２１…配信制御プログラム、２１１…配信情報生成部、２１２…入力制御部、２１３…表示制御部、２１４…配信情報送信部、２１５…ファイル配信部、２１６…処理状態更新部、２２，２２Ａ…ファイル、３１…クライアント装置、３Ａ…更新制御プログラム、３１１…電源状態監視部、３１２…配信情報送信部、３１３…第１残量推定部、３１４…ダウンロード部、３１５…第２残量推定部、３１６…インストール部、８４…記憶装置、８４１…電源状態情報、８４２…優先度情報、８４３…配信ファイル情報、８４４…処理状態情報、９４…記憶装置、９４１…優先度情報、９４２…配信ファイル情報、９４３…処理状態情報。
【図１】
2013114499.tif 000003
【図２】
2013114499.tif 000004
【図３】
2013114499.tif 000005
【図４】
2013114499.tif 000006
【図５】
2013114499.tif 000007
【図６】
2013114499.tif 000008
【図７】
2013114499.tif 000009
【図８】
2013114499.tif 000010
【図９】
2013114499.tif 000011
【図１０】
2013114499.tif 000012
【図１１】
2013114499.tif 000013
【図１２】
2013114499.tif 000014
【図１３】
2013114499.tif 000015
【図１４】
2013114499.tif 000016