(57)【特許請求の範囲】
【請求項１】
バッテリ駆動される移動可能な外部装置と無線通信により接続される情報処理装置であって、
前記外部装置のバッテリ残量と、前記外部装置との間の距離とに基づいて、前記外部装置が委託される処理の実行に使用可能な前記外部装置の電力量である実効バッテリ残量を算出する実効バッテリ残量算出手段と、
前記実効バッテリ残量に基づいて、前記外部装置に対して実行を委託する処理を決定する決定手段と、
前記決定手段が決定した処理を前記外部装置が実行するために必要なデータを、前記外部装置に対して送信する送信手段と、を備えることを特徴とする情報処理装置。
【請求項２】
前記実効バッテリ残量算出手段は、前記外部装置との間の距離に基づいて前記外部装置との間の無線通信で消費される通信消費電力を算出し、前記外部装置のバッテリ残量から前記通信消費電力を減算して、前記実効バッテリ残量を算出することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記外部装置のバッテリ残量は、前記外部装置のバッテリ容量に対する残量の割合を表したものであり、
前記実効バッテリ残量算出手段は、前記外部装置のバッテリ容量に基づいて前記外部装置のバッテリ残量を電力量に換算し、換算した電力量から前記通信消費電力を減算して、前記実効バッテリ残量を算出することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記実効バッテリ残量算出手段は、さらに前記外部装置が備える演算装置の処理能力の情報を用いて、前記実効バッテリ残量を、前記外部装置により処理可能なデータ量に換算して算出することを特徴とする請求項１〜３のいずれか一項に記載の情報処理装置。
【請求項５】
少なくとも前記バッテリ残量を前記外部装置から取得する情報取得手段をさらに備え、
前記実効バッテリ残量算出手段は、前記情報取得手段により取得された前記外部装置のバッテリ残量と、前記外部装置との間の距離とに基づいて、前記実効バッテリ残量を算出することを特徴とする請求項１〜４のいずれか一項に記載の情報処理装置。
【請求項６】
前記情報取得手段は、少なくとも前記バッテリ残量を前記外部装置から定期的に取得することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記外部装置との間のパケットの送受信に要する時間に基づいて、前記外部装置との間の距離を算出する距離算出手段をさらに備え、
前記実効バッテリ残量算出手段は、前記外部装置のバッテリ残量と、前記距離算出手段により算出された前記外部装置との間の距離とに基づいて、前記実効バッテリ残量を算出することを特徴とする請求項１〜６のいずれか一項に記載の情報処理装置。
【請求項８】
前記距離算出手段は、前記外部装置との間の距離の算出を定期的に行うことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記決定手段は、前記実効バッテリ残量が閾値以下の外部装置に対しては、処理の実行を委託しないと決定することを特徴とする請求項１〜８のいずれか一項に記載の情報処理装置。
【請求項１０】
ユーザによる操作に応じて前記閾値を設定する閾値設定手段をさらに備えることを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
バッテリ駆動される移動可能な外部装置と無線通信により接続される情報処理装置に、
前記外部装置のバッテリ残量と、前記外部装置との間の距離とに基づいて、前記外部装置が委託される処理の実行に使用可能な前記外部装置の電力量である実効バッテリ残量を算出する機能と、
算出した前記実効バッテリ残量に基づいて、前記外部装置に対して実行を委託する処理を決定する機能と、
決定した処理を前記外部装置が実行するために必要なデータを、前記外部装置に対して送信する機能と、を実現させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バッテリ駆動される移動可能な外部装置と無線通信により接続される情報処理装置および情報処理プログラムに関する。
【背景技術】
【０００２】
近年、情報処理装置が備える演算装置（ＣＰＵコア）の動作周波数の限界から、情報処理装置で実行する処理を分散化させる流れがある。一方で、情報ネットワーク上の複数の情報処理装置で処理を分散して行うネットワーク分散処理サービスが普及している。また、ノートＰＣや携帯電話機、タブレット端末などの無線通信機能を備えた移動可能な情報処理装置（モバイル端末）の普及に伴い、情報ネットワークは、固定的なものからアドホックのような形態をとるようになってきている。アドホックネットワークでは、ネットワークのノードとしてモバイル端末が使用される。固定ネットワークでは、ノードとなる各情報処理装置に対してコンセントから常時電源が供給されていたが、モバイル端末はバッテリを使用するため、ネットワーク内での各ノードのバッテリの管理が重要となってくる。
【０００３】
従来、ネットワーク内の各ノードのバッテリを管理する技術としては、特許文献１に記載されたものが知られている。特許文献１に記載の技術は、ネットワーク内の各ノードが、自ノードのバッテリ寿命に対応するスリープモードの識別表示をネットワーク内の他のノードに送信し、このスリープモードと調和するように、ノード間の通信を行うというものである。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の特許文献１に記載されている技術では、各ノードのスリープモードに応じてネットワーク内におけるノード間の通信を制御することができるものの、ネットワーク内の複数のモバイル端末で処理を分散して行う場合に、各モバイル端末のバッテリの状態は反映されない。このため、バッテリ残量が多いモバイル端末よりもバッテリ残量が少ないモバイル端末に、より負荷の大きい処理の実行が委託されることがあり、この場合には、負荷の大きい処理の実行が委託されたモバイル端末のバッテリが消耗することによってノードの消失を招くといった問題がある。
【０００５】
また、モバイル端末間で無線通信によりデータを伝送する際には電力が消費され、このデータ伝送に伴う電力消費量はデータ伝送の距離、つまりモバイル端末間の距離が長いほど大きくなる。しかしながら、上記の特許文献１に記載されている技術では、モバイル端末間の距離の情報は反映されないため、遠方のモバイル端末に負荷の大きい処理の実行が委託された場合に、当該モバイル端末のバッテリ残量によっては、データ伝送に伴う電力消費の影響でバッテリが消耗し、ノードの消失を招くといった問題がある。
【０００６】
本発明は、上記に鑑みてなされたものであって、外部装置に実行を委託する処理を適切に決定し、特定の外部装置のバッテリが消耗してノードの消失を招くといった問題を有効に回避することができる情報処理装置および情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明にかかる情報処理装置は、バッテリ駆動される移動可能な外部装置と無線通信により接続される情報処理装置であって、前記外部装置のバッテリ残量と、前記外部装置との間の距離とに基づいて、前記外部装置が委託される処理の実行に使用可能な前記外部装置の電力量である実効バッテリ残量を算出する実効バッテリ残量算出手段と、前記実効バッテリ残量に基づいて、前記外部装置に対して実行を委託する処理を決定する決定手段と、前記決定手段が決定した処理を前記外部装置が実行するために必要なデータを、前記外部装置に対して送信する送信手段と、を備えることを特徴とする。
【０００８】
また、本発明にかかる情報処理プログラムは、バッテリ駆動される移動可能な外部装置と無線通信により接続される情報処理装置に、前記外部装置のバッテリ残量と、前記外部装置との間の距離とに基づいて、前記外部装置が委託される処理の実行に使用可能な前記外部装置の電力量である実効バッテリ残量を算出する機能と、算出した前記実効バッテリ残量に基づいて、前記外部装置に対して実行を委託する処理を決定する機能と、決定した処理を前記外部装置が実行するために必要なデータを、前記外部装置に対して送信する機能と、を実現させるものである。
【発明の効果】
【０００９】
本発明によれば、外部装置に実行を委託する処理を、当該外部装置のバッテリ残量と、当該外部装置との間の距離とに基づいて決定するようにしているので、特定の外部装置のバッテリが消耗してノードの消失を招くといった問題を有効に回避することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、情報ネットワークの概略構成図である。
【図２】図２は、複数のタスクを含むアプリケーションプログラムの一例を概念的に示す図である。
【図３】図３は、情報ネットワーク内の各情報処理装置の共通のハードウェア構成を示す図である。
【図４】図４は、タスクの実行を他の情報処理装置に委託する情報処理装置において実現される機能構成を示す機能ブロック図である。
【図５】図５は、実効バッテリ残量を説明する模式図である。
【図６】図６は、実効バッテリ残量算出部により算出された他の情報処理装置の実効バッテリ残量を一覧表として示した図である。
【図７】図７は、タスクの実行が委託される側の情報処理装置において実現される機能構成を示す機能ブロック図である。
【図８−１】図８−１は、情報処理装置Ａが、図２に示したアプリケーションプログラムに含まれるタスクＴ１〜Ｔ４の実行を、情報ネットワーク内の他の情報処理装置Ｂ〜Ｅに委託する場合の一連の動作を示したシーケンス図である。
【図８−２】図８−２は、情報処理装置Ａが、図２に示したアプリケーションプログラムに含まれるタスクＴ１〜Ｔ４の実行を、情報ネットワーク内の他の情報処理装置Ｂ〜Ｅに委託する場合の一連の動作を示したシーケンス図である。
【図９】図９は、第２の実施形態にかかる情報処理装置の機能ブロック図である。
【図１０】図１０は、第３の実施形態にかかる情報処理装置の機能ブロック図である。
【図１１】図１１は、第６の実施形態にかかる情報処理装置の機能ブロック図である。
【図１２】図１２は、ユーザが閾値を数値入力するためのタスク送信制御設定画面の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、この発明にかかる情報処理装置および情報処理プログラムの最良な実施の形態を詳細に説明する。
【００１２】
（第１の実施形態）
図１は、本実施形態にかかる情報処理装置をネットワークノードとして備える情報ネットワークの概略構成図である。情報処理装置Ａ〜Ｅは、それぞれバッテリ駆動される移動可能なモバイル端末であり、無線通信により他の情報処理装置（外部装置）と接続される。この情報ネットワークでは、１つのアプリケーションプログラムに含まれる複数のタスクを、複数の情報処理装置で分散して実行することを可能にしている。以下では、情報処理装置Ａ内に図２に示すようなアプリケーションプログラムがあり、情報処理装置Ａが、このアプリケーションプログラムに含まれるメインタスクＴ０以外の複数のタスク（タスクＴ１、タスクＴ２、タスクＴ３、タスクＴ４）の実行を、情報処理装置Ｂ〜Ｅに委託して、タスクの分散処理を行うものとして説明する。なお、図２には各タスクＴ１〜Ｔ４のＣＰＵ負荷率も合わせて示しており、各タスクＴ１〜Ｔ４のＣＰＵ負荷率は、タスクＴ３＞タスクＴ１＞タスクＴ４＞タスクＴ２の関係にあるものとする。
【００１３】
図３は、情報処理装置Ａ〜Ｅの共通のハードウェア構成を示す図である。以下では、情報処理装置Ａ〜Ｅを特に区別して説明する場合を除き、単に「情報処理装置」と表記する。情報処理装置は、アンテナ１、ＲＦ部２、ベースバンド変復調部３、プロトコル制御部４、バス５、ＲＡＭ６、ＣＰＵ７、ＲＯＭ８、バッテリ残量検出部９およびバッテリ１０を備えている。
【００１４】
アンテナ１、ＲＦ部２、ベースバンド変復調部３およびプロトコル制御部４は、他の情報処理装置との間での無線通信を実行する部分である。ベースバンド変復調部３は、例えば、直交周波数分割多重（ＯＦＤＭ：Orthogonal  Frequency  Division  Multiplexing）信号を処理する機能を有する。また、プロトコル制御部４は、他の情報処理装置（外部装置）との間での無線通信に必要なプロトコル変換を行う。
【００１５】
ＲＡＭ６は、他の情報処理装置（外部装置）との間で送受信されるデータパケットの格納およびＣＰＵ７のワークエリアとして用いられるメモリである。ＲＯＭ８は、ＣＰＵ７により実行される各種アプリケーションプログラムや、後述する各機能構成を実現するための情報処理プログラムなどの各種制御プログラムを格納するプログラムメモリである。ＣＰＵ７は、ＲＡＭ６をワークエリアとして利用して、ＲＯＭ８に格納された制御プログラムを実行することによって情報処理装置の全体を制御する演算装置である。ここで、図２に例示したアプリケーションプログラムは、ＣＰＵ７により実行されるものとする。
【００１６】
本実施形態の情報処理装置は、バッテリ１０を電源として駆動される。このバッテリ１０の残量は、バッテリ残量検出部９によって検出される。上記のプロトコル制御部４、ＲＡＭ６、ＣＰＵ７、ＲＯＭ８およびバッテリ残量検出部９は、バス５を介して相互に接続されている。なお、図３ではバッテリ残量検出部９をハードウェアで構成した例を例示しているが、バッテリ残量検出部９の機能をソフトウェアによって実現するようにしてもよい。
【００１７】
図４は、タスクの実行を他の情報処理装置に委託する情報処理装置（本例では情報処理装置Ａ）において、ＣＰＵ７がＲＯＭ８に格納された情報処理プログラムを実行することによって実現される機能構成を示す機能ブロック図である。ＣＰＵ７が情報処理プログラムを実行することにより、情報処理装置Ａには、送受信制御部１１、バッテリ残量情報取得部１２、距離算出部１３、実効バッテリ残量算出部１４、タスク振り分け決定部１５およびタスク送信制御部１６の各機能構成が実現される。
【００１８】
送受信制御部１１は、上述したアンテナ１、ＲＦ部２、ベースバンド変復調部３およびプロトコル制御部４の動作を制御して、情報ネットワーク内の他の情報処理装置Ｂ〜Ｅとの間でのパケットの送受信を行う。送受信制御部１１には、受信制御部１１ａと送信制御部１１ｂとが設けられている。受信制御部１１ａは、情報ネットワーク内の他の情報処理装置Ｂ〜Ｅから自装置である情報処理装置Ａ宛に無線通信によって送られるパケットを受信して、受信したパケットをＲＡＭ６に格納する。送信制御部１１ｂは、後述するバッテリ残量情報取得部１２や距離算出部１３、タスク送信制御部１６などにより作成されてＲＡＭ６に格納されたパケットをＲＡＭ６から読み出し、読み出したパケットを、情報ネットワーク内の他の情報処理装置Ｂ〜Ｅのうちで当該パケットの宛先として指定されている情報処理装置宛に送信する。
【００１９】
バッテリ残量情報取得部１２は、情報ネットワーク内の他の情報処理装置Ｂ〜Ｅからバッテリ残量情報を取得する。ここで、バッテリ残量情報とは、情報処理装置Ｂ〜Ｅのバッテリ残量検出部９によって検出された各情報処理装置Ｂ〜Ｅにおけるバッテリ１０の残量を、全容量に対する残量の割合（百分率）で表した情報であり、情報処理装置Ｂ〜Ｅのそれぞれで生成されたものである。
【００２０】
バッテリ残量情報取得部１２が他の情報処理装置Ｂ〜Ｅからバッテリ残量情報を取得する具体的な方法としては、例えば以下のような方法が考えられる。バッテリ残量情報取得部１２は、まず、情報ネットワーク内の他の情報処理装置Ｂ〜Ｅに対してバッテリ残量情報の送信を要求するパケットを生成してＲＡＭ６に格納する。ＲＡＭ６に格納されたパケットは、送信制御部１１ｂによって各情報処理装置Ｂ〜Ｅ宛に送信される。そして、このバッテリ残量情報の送信要求に対する応答として各情報処理装置Ｂ〜Ｅからバッテリ残量情報を示したパケットが情報処理装置Ａ宛に送信されると、このパケットが受信制御部１１ａによって受信され、ＲＡＭ６に格納される。バッテリ残量情報取得部１２は、このＲＡＭ６に格納された情報処理装置Ｂ〜Ｅからのパケットを読み出して、各情報処理装置Ｂ〜Ｅのバッテリ残量情報を取得する。
【００２１】
なお、以上は、情報ネットワーク内のノードとして情報処理装置Ａ〜Ｅのみが存在することを前提として説明したが、実際の情報ネットワークには、より多くの情報処理装置がノードとして存在することが想定される。この場合、情報ネットワーク内のノードとして存在する全ての情報処理装置に対して以上のような処理を行ってバッテリ残量情報を取得する必要はなく、予め定めた数の情報処理装置、あるいは分散処理を行うタスクの数に応じて設定される数の情報処理装置に対して以上のような処理を行ってバッテリ残量情報を取得すればよい。このことは、後述する距離算出部１３が情報ネットワーク内の他の情報処理装置との間の距離を算出する処理についても同様である。
【００２２】
距離算出部１３は、情報ネットワーク内の他の情報処理装置Ｂ〜Ｅとの間のパケットの送受信に要する時間に基づいて、他の情報処理装置Ｂ〜Ｅとの間の距離を算出する。
【００２３】
距離算出部１３が他の情報処理装置Ｂ〜Ｅとの間の距離を算出する具体的な方法としては、例えば以下のような方法が考えられる。距離算出部１３は、まず、情報ネットワーク内の他の情報処理装置Ｂ〜Ｅに対して距離計測用のパケットを生成してＲＡＭ６に格納する。ＲＡＭ６に格納された距離計測用のパケットは、送信制御部１１ｂによって各情報処理装置Ｂ〜Ｅ宛に送信される。このとき、送信制御部１１ｂは、距離計測用のパケットを各情報処理装置Ｂ〜Ｅ宛に送信した時刻をＲＡＭ６などに記憶させておく。
【００２４】
距離計測用のパケットを受信した他の情報処理装置Ｂ〜Ｅでは、この距離計測用のパケットへの応答として、ＡＣＫパケットを生成して情報処理装置Ａ宛に送信する。このとき、各情報処理装置Ｂ〜Ｅは、ＡＣＫパケットに当該ＡＣＫパケットの生成に要した時間（情報処理装置Ｂ〜Ｅでの処理に要した時間）を付加して送信する。各情報処理装置Ｂ〜ＥからＡＣＫパケットが情報処理装置Ａ宛に送信されると、このＡＣＫパケットが受信制御部１１ａによって受信され、ＲＡＭ６に格納される。このとき、受信制御部１１ａは、各情報処理装置Ｂ〜ＥからＡＣＫパケットを受信した時刻をＲＡＭ６などに記憶させておく。
【００２５】
距離算出部１３は、ＲＡＭ６に格納された情報処理装置Ｂ〜ＥからのＡＣＫパケットと、これに対応する距離計測用のパケットの送信時刻およびＡＣＫパケットの受信時刻をＲＡＭ６から読み出す。そして、距離計測用のパケットの送信時刻とＡＣＫパケットの受信時刻との差分の時間から、ＡＣＫパケットに付加された情報処理装置Ｂ〜Ｅでの処理に要した時間を減算して、各情報処理装置Ｂ〜Ｅとの間でのパケットの送受信に要する時間を算出する。ここで、２つの情報処理装置の間で無線通信によりパケットを送受信するのに要する時間は、これら２つの情報処理装置の間の距離に比例する。距離算出部１３は、各情報処理装置Ｂ〜Ｅとの間でのパケットの送受信に要する時間として算出した値を、例えば予め用意されたパケットの送受信に要する時間と距離との関係式などに当てはめて、各情報処理装置Ｂ〜Ｅまでの距離を各々算出する。
【００２６】
実効バッテリ残量算出部１４は、バッテリ残量情報取得部１２により取得された情報処理装置Ｂ〜Ｅのバッテリ残量情報と、距離算出部１３により算出された情報処理装置Ｂ〜Ｅまでの距離の情報とに基づいて、各情報処理装置Ｂ〜Ｅの実効バッテリ残量を算出する。ここで、実効バッテリ残量とは、図５に示すように、各情報処理装置Ｂ〜Ｅのバッテリ１０のバッテリ残量Ｂｒのうちで、無線通信によって消費される電力（以下、通信消費電力という。）Ｂｍを除いた電力量Ｂｎ、つまり、委託されたタスクを実行するのに使用可能な電力量を表したものである。
【００２７】
無線通信により消費される通信消費電力Ｂｍは、情報処理装置Ａからの距離が離れている情報処理装置ほど大きな値となる。実効バッテリ残量算出部１４は、距離算出部１３により算出された各情報処理装置Ｂ〜Ｅまでの距離に基づいて、各情報処理装置Ｂ〜Ｅとの間で所定データ量のデータを送受信した場合に情報処理装置Ｂ〜Ｅで消費されると見込まれる電力量を通信消費電力Ｂｍとして算出する。そして、実効バッテリ残量算出部１４は、バッテリ残量情報取得部１２により取得されたバッテリ残量情報から導かれる各情報処理装置Ｂ〜Ｅのバッテリ残量Ｂｒから、算出した各情報処理装置Ｂ〜Ｅの通信消費電力Ｂｍを減算して、各情報処理装置Ｂ〜Ｅの実効バッテリ残量Ｂｎを算出する。なお、実効バッテリ残量Ｂｎは、バッテリ残量情報と同様の百分率で表される値として算出するようにしてもよいし、電力量（ｋＷｈ）として算出するようにしてもよい。
【００２８】
タスク振り分け決定部１５は、アプリケーションプログラム内の複数のタスクの実行を他の情報処理装置Ｂ〜Ｅに委託する場合に、実効バッテリ残量算出部１４により算出された各情報処理装置Ｂ〜Ｅの実効バッテリ残量に応じて、実効バッテリ残量が大きい情報処理装置ほどＣＰＵ負荷率の高いタスクが振り分けられるように、タスクの振り分け（つまり、どの情報処理装置に対してどのタスクの実行を委託するか）を決定する。具体的には、タスク振り分け決定部１５は、図２に示したアプリケーションプログラム内のタスクＴ１〜Ｔ４の実行を情報処理装置Ｂ〜Ｅに委託する場合、実効バッテリ残量算出部１４により算出された各情報処理装置Ｂ〜Ｅの実効バッテリ残量が例えば図６に示した例のようになっていれば、情報処理装置ＢにはタスクＴ３の実行を委託し、情報処理装置ＣにはタスクＴ２の実行を委託し、情報処理装置ＤにはタスクＴ４の実行を委託し、情報処理装置ＥにはタスクＴ１の実行を委託するように、各情報処理装置Ｂ〜Ｅに対するタスクＴ１〜Ｔ４の振り分けを決定する。なお、タスクＴ１〜Ｔ４のＣＰＵ負荷率は、各タスクＴ１〜Ｔ４のプログラムコードのデータサイズに基づいて算出することができる。
【００２９】
タスク送信制御部１６は、タスク振り分け決定部１５により決定されたタスクの振り分けに従って、振り分けられたタスクを各情報処理装置Ｂ〜Ｅが実行するために必要なデータ（プログラムコードや参照データ、実行命令など）を格納したパケットを生成し、ＲＡＭ６に格納する。ＲＡＭ６に格納された各情報処理装置Ｂ〜Ｅ宛のパケットは、送信制御部１１ｂによって各情報処理装置Ｂ〜Ｅ宛に送信される。上記の例では、情報処理装置Ｂに対してはタスクＴ３を実行するために必要なデータを格納したパケットが送信され、情報処理装置Ｃに対してはタスクＴ２を実行するために必要なデータを格納したパケットが送信され、情報処理装置Ｄに対してはタスクＴ４を実行するために必要なデータを格納したパケットが送信され、情報処理装置Ｅに対してはタスクＴ１を実行するために必要なデータを格納したパケットが送信される。
【００３０】
そのほか、情報処理装置Ａには、実行を委託したタスクの処理結果を情報処理装置Ｂ〜Ｅから受信して、受信した処理結果をマージし、メインタスクの処理結果と合わせて、一連のアプリケーションプログラムの実行結果として出力する機能などが設けられるが、これらの処理は本実施形態において特徴的な部分ではないため、詳細な説明は省略する。
【００３１】
図７は、タスクの実行が委託される側の情報処理装置（本例では情報処理装置Ｂ〜Ｅ）において実現される機能構成を示す機能ブロック図である。タスクの実行が委託される側の情報処理装置Ｂ〜Ｅは、図７に示すように、送受信制御部２１、バッテリ残量情報生成部２２、距離計測用パケット処理部２３およびタスク実行管理部２４を有する。
【００３２】
送受信制御部２１は、タスクの実行を他の情報処理装置に委託する情報処理装置（本例では情報処理装置Ａ）において実現される送受信制御部１１と同様、アンテナ１、ＲＦ部２、ベースバンド変復調部３およびプロトコル制御部４の動作を制御して、情報ネットワーク内の他の情報処理装置との間でのパケットの送受信を行う。送受信制御部２１には、受信制御部２１ａと送信制御部２１ｂとが設けられている。受信制御部２１ａは、情報ネットワーク内の他の情報処理装置から自装置宛に無線通信によって送られるパケットを受信して、受信したパケットをＲＡＭ６に格納する。送信制御部２１ｂは、後述するバッテリ残量情報生成部２２や距離計測用パケット処理部２３、タスク実行管理部２４などにより作成されてＲＡＭ６に格納されたパケットをＲＡＭ６から読み出し、読み出したパケットを、情報ネットワーク内の他の情報処理装置のうちで当該パケットの宛先として指定されている情報処理装置宛に送信する。
【００３３】
バッテリ残量情報生成部２２は、情報処理装置Ａから送信されたバッテリ残量情報の送信を要求するパケットが受信制御部２１ａにより受信されると、バッテリ残量検出部９によるバッテリ１０の残量の検出値を読み込み、バッテリ１０の残量を全容量に対する割合（百分率）で表した情報であるバッテリ残量情報を生成する。そして、バッテリ残量情報生成部２２は、このバッテリ残量情報を格納したパケットを生成し、生成したパケットをＲＡＭ６に格納する。このＲＡＭ６に格納されたバッテリ残量情報を格納したパケットは、送信制御部２１ｂによって情報処理装置Ａ宛に送信される。
【００３４】
距離計測用パケット処理部２３は、情報処理装置Ａから送信された距離計測用のパケットが受信制御部２１ａにより受信されると、この距離計測用のパケットへの応答としてＡＣＫパケットを生成する。このとき、距離計測用パケット処理部２３は、当該ＡＣＫパケットの生成に要した処理時間をカウントしておき、この処理時間をＡＣＫパケットに付加してＲＡＭ６に格納する。このＲＡＭ６に格納されたＡＣＫパケットは、送信制御部２１ｂによって情報処理装置Ａ宛に送信される。
【００３５】
タスク実行管理部２４は、情報処理装置Ａからタスクを実行するために必要なデータを格納したパケットが送信され、このパケットが受信制御部２１ａにより受信されてＲＡＭ６に格納されると、このパケットに含まれるタスク実行命令に従って指定されたタスクを実行する。そして、タスク実行管理部２４は、タスクの処理結果を格納したパケットを生成し、ＲＡＭ６に格納する。このＲＡＭ６に格納されたタスクの処理結果を格納したパケットは、送信制御部２１ｂによって情報処理装置Ａ宛に送信される。
【００３６】
なお、情報ネットワークのネットワークノードとなる各情報処理装置Ａ〜Ｅは、他の情報処理装置に対してタスクの実行を委託しないときは図７に示した機能構成を備えており、他の情報処理装置に対してタスクの実行を委託する場合に、ＣＰＵ７がＲＯＭ８に格納された情報処理プログラムを実行することによって、図４に示した機能構成を実現する。
【００３７】
図８−１および図８−２は、情報処理装置Ａが、図２に示したアプリケーションプログラムに含まれるタスクＴ１〜Ｔ４の実行を、情報ネットワーク内の他の情報処理装置Ｂ〜Ｅに委託する場合の一連の動作を示したシーケンス図である。
【００３８】
情報処理装置Ａは、図２に示したアプリケーションプログラムを起動した後、まず情報処理装置Ｂに対して、距離計測用のパケットを送信する（ステップＳ１０１）。このとき、情報処理装置Ａは、情報処理装置Ｂに対して距離計測用のパケットを送信した時刻を記憶しておく。
【００３９】
情報処理装置Ｂは、情報処理装置Ａから送信された距離計測用のパケットを受信すると、この距離計測用のパケットに対する応答としてＡＣＫパケットを生成し、当該ＡＣＫパケットの生成に要した時間をＡＣＫパケットに付加して、情報処理装置Ａに対して送信する（ステップＳ１０２）。
【００４０】
情報処理装置Ａは、情報処理装置Ｂから送信されたＡＣＫパケットを受信すると、情報処理装置Ｂに対して距離計測用のパケットを送信した時刻と情報処理装置ＢからのＡＣＫパケットを受信した時刻との差分の時間から、ＡＣＫパケットに付加された情報処理装置Ｂでの処理に要した時間を減算して、情報処理装置Ｂとの間でのパケットの送受信に要する時間を算出し、この算出した時間から、情報処理装置Ｂまでの距離を算出する（ステップＳ１０３）。
【００４１】
次に、情報処理装置Ａは、情報処理装置Ｂに対して、バッテリ残量情報の送信を要求するパケットを送信する（ステップＳ１０４）。
【００４２】
情報処理装置Ｂは、情報処理装置Ａから送信されたバッテリ残量情報の送信を要求するパケットを受信すると、このパケットに対する応答として、バッテリ残量検出部９により検出されたバッテリ１０の残量を百分率で表したバッテリ残量情報を生成し、当該バッテリ残量情報を格納したパケットを生成して、情報処理装置Ａに対して送信する（ステップＳ１０５）。
【００４３】
情報処理装置Ａは、情報処理装置Ｂから送信されたバッテリ残量情報を格納したパケットを受信すると、このパケットを解析して情報処理装置Ｂのバッテリ残量情報を取得する（ステップＳ１０６）。
【００４４】
次に、情報処理装置Ａは、情報処理装置Ｃに対しても同様に距離計測用のパケットを送信し、情報処理装置ＣからのＡＣＫパケットを受信して、情報処理装置Ｃとの間でのパケット送受信に要する時間から、情報処理装置Ｃまでの距離を算出する（ステップＳ１０７〜ステップＳ１０９）。その後、情報処理装置Ａは、情報処理装置Ｃに対しても同様にバッテリ残量情報の送信を要求するパケットを送信し、情報処理装置Ｃからバッテリ残量情報が格納されたパケットを受信して、情報処理装置Ｃのバッテリ残量情報を取得する（ステップＳ１１０〜ステップＳ１１２）。
【００４５】
次に、情報処理装置Ａは、情報処理装置Ｄに対しても同様に距離計測用のパケットを送信し、情報処理装置ＤからのＡＣＫパケットを受信して、情報処理装置Ｄとの間でのパケット送受信に要する時間から、情報処理装置Ｄまでの距離を算出する（ステップＳ１１３〜ステップＳ１１５）。その後、情報処理装置Ａは、情報処理装置Ｄに対しても同様にバッテリ残量情報の送信を要求するパケットを送信し、情報処理装置Ｄからバッテリ残量情報が格納されたパケットを受信して、情報処理装置Ｄのバッテリ残量情報を取得する（ステップＳ１１６〜ステップＳ１１８）。
【００４６】
次に、情報処理装置Ａは、情報処理装置Ｅに対しても同様に距離計測用のパケットを送信し、情報処理装置ＥからのＡＣＫパケットを受信して、情報処理装置Ｅとの間でのパケット送受信に要する時間から、情報処理装置Ｅまでの距離を算出する（ステップＳ１１９〜ステップＳ１２１）。その後、情報処理装置Ａは、情報処理装置Ｅに対しても同様にバッテリ残量情報の送信を要求するパケットを送信し、情報処理装置Ｅからバッテリ残量情報が格納されたパケットを受信して、情報処理装置Ｅのバッテリ残量情報を取得する（ステップＳ１２２〜ステップＳ１２４）。
【００４７】
次に、情報処理装置Ａは、各情報処理装置Ｂ〜Ｅから取得したバッテリ残量情報と、各情報処理装置Ｂ〜Ｅまでの距離の情報とに基づいて、各情報処理装置Ｂ〜Ｅのタスクの処理に使用可能な実効バッテリ残量を算出する（ステップＳ１２５）。ここでは、各情報処理装置Ｂ〜Ｅの実効バッテリ残量が、図６に示した例のように算出されたものとする。
【００４８】
次に、情報処理装置Ａは、算出した各情報処理装置Ｂ〜Ｅの実効バッテリ残量に応じて、実効バッテリ残量が大きい情報処理装置ほどＣＰＵ負荷率の高いタスクが振り分けられるように、各情報処理装置Ｂ〜Ｅに対するタスクの振り分けを決定する（ステップＳ１２６）。ここでは、情報処理装置ＢにはタスクＴ３、情報処理装置ＣにはタスクＴ２、情報処理装置ＤにはタスクＴ４、情報処理装置ＥにはタスクＴ１がそれぞれ振り分けられる。
【００４９】
次に、情報処理装置Ａは、情報処理装置Ｂに対してタスクＴ３を実行するために必要なデータを格納したパケットを送信し（ステップＳ１２７）、情報処理装置Ｃに対してタスクＴ２を実行するために必要なデータを格納したパケットを送信し（ステップＳ１２８）、情報処理装置Ｄに対してタスクＴ４を実行するために必要なデータを格納したパケットを送信し（ステップＳ１２９）、情報処理装置Ｅに対してタスクＴ１を実行するために必要なデータを格納したパケットを送信する（ステップＳ１３０）。
【００５０】
その後、情報処理装置Ｂは、タスクＴ３の処理を実行して（ステップＳ１３１）、タスクＴ３の処理結果を格納したパケットを情報処理装置Ａに対して送信する（ステップＳ１３２）。また、情報処理装置Ｃは、タスクＴ２の処理を実行して（ステップＳ１３３）、タスクＴ２の処理結果を格納したパケットを情報処理装置Ａに対して送信する（ステップＳ１３４）。また、情報処理装置Ｄは、タスクＴ４の処理を実行して（ステップＳ１３５）、タスクＴ４の処理結果を格納したパケットを情報処理装置Ａに対して送信する（ステップＳ１３６）。また、情報処理装置Ｅは、タスクＴ１の処理を実行して（ステップＳ１３７）、タスクＴ１の処理結果を格納したパケットを情報処理装置Ａに対して送信する（ステップＳ１３８）。
【００５１】
以上、具体的な例を挙げながら詳細に説明したように、本実施形態にかかる情報処理装置は、情報ネットワーク内の他の情報処理装置からバッテリ残量の情報を取得するとともに、他の情報処理装置までの距離を算出し、これらバッテリ残量の情報と距離の情報とに基づいて、他の情報処理装置でのタスクの処理に使用可能な実効バッテリ残量を算出するようにしている。そして、算出した実効バッテリ残量が大きい情報処理装置ほどＣＰＵ負荷率の高いタスクが振り分けられるように、他の情報処理装置に対するタスクの振り分けを決定し、振り分けたタスクを他の情報処理装置が実行するために必要なデータを他の情報処理装置に送信するようにしている。したがって、この情報処理装置によれば、情報ネットワーク内の他の情報処理装置に対して、実行を委託するタスクを適切に割り振ることができ、特定の情報処理装置のバッテリが消耗してノードの消失を招くといった問題を有効に回避することができる。
【００５２】
（第２の実施形態）
次に、第２の実施形態について説明する。第２の実施形態は、情報ネットワーク内の他の情報処理装置にタスクの実行を委託する情報処理装置が、他の情報処理装置（外部装置）のバッテリ残量情報と他の情報処理装置までの距離の情報とに加え、他の情報処理装置のバッテリ容量の情報も加味して実効バッテリ残量を算出し、タスクの振り分けを行うようにした例である。以下、第１の実施形態と共通する部分は重複した説明を省略し、本実施形態において特徴的な部分についてのみ説明する。
【００５３】
図９は、第２の実施形態にかかる情報処理装置の機能ブロック図である。この図９に示す機能構成は、タスクの実行を他の情報処理装置に委託する情報処理装置（上述した例では情報処理装置Ａ）において実現されるものであり、図４に示した第１の実施形態の構成に対して、バッテリ容量情報取得部１７が付加されている。
【００５４】
本実施形態では、バッテリ残量情報の送信を要求するパケットに対する応答として他の情報処理装置（上述した例では情報処理装置Ｂ〜Ｅ）がバッテリ残量情報を格納したパケットを送信する際に、当該パケットに、バッテリ残量情報に加えてバッテリ容量情報を格納して送信する。ここで、バッテリ容量情報は、他の情報処理装置のバッテリ１０の容量（満充電の状態での電力量）を示した情報である。
【００５５】
バッテリ容量情報取得部１７は、バッテリ残量情報の送信を要求するパケットに対する応答として他の情報処理装置（上述した例では情報処理装置Ｂ〜Ｅ）から送信されたパケットが受信制御部１１ａによって受信され、ＲＡＭ６に格納されると、このＲＡＭ６に格納されたパケットを読み出して、他の情報処理装置のバッテリ容量情報を取得する。
【００５６】
なお、情報ネットワーク内の各情報処理装置におけるバッテリ１０の容量は経時的に変化するものではなく、バッテリ容量情報は固定的な情報である。したがって、情報ネットワーク内の他の情報処理装置のバッテリ容量情報を、予めＲＡＭ６などに格納しておくようにすることも可能である。この場合、バッテリ容量情報取得部１７は、他の情報処理装置との間のパケット送受信を行うことなく、ＲＡＭ６に格納されている他の情報処理装置のバッテリ容量情報を必要に応じて取得すればよい。
【００５７】
本実施形態では、実効バッテリ残量算出部１４は、バッテリ残量情報取得部１２により取得された他の情報処理装置のバッテリ残量情報と、バッテリ容量情報取得部１７により取得された他の情報処理装置のバッテリ容量情報と、距離算出部１３により算出された他の情報処理装置までの距離の情報とに基づいて、他の情報処理装置の実効バッテリ残量をそれぞれ算出する。具体的には、実効バッテリ残量算出部１４は、バッテリ残量情報取得部１２により取得されたバッテリ残量情報と、バッテリ容量情報取得部１７により取得されたバッテリ容量情報とから、他の情報処理装置のバッテリ残量を電力量（ｋＷｈ）としてそれぞれ算出する。そして、算出したバッテリ残量から、距離算出部１３により算出された他の情報処理装置までの距離の情報から導かれる通信消費電力を減算することによって、実効バッテリ残量を電力量として算出する。
【００５８】
タスク振り分け決定部１５は、第１の実施形態と同様に、実効バッテリ残量算出部１４により算出された他の情報処理装置の実効バッテリ残量に応じて、実効バッテリ残量が大きい情報処理装置ほどＣＰＵ負荷率の高いタスクが振り分けられるように、タスクの振り分けを決定する。また、タスク送信制御部１６は、第１の実施形態と同様に、タスク振り分け決定部１５により決定されたタスクの振り分けに従って、振り分けられたタスクを他の情報処理装置が実行するために必要なデータを格納したパケットを他の情報処理装置に送信する制御を行う。
【００５９】
以上のように、本実施形態にかかる情報処理装置では、他の情報処理装置のバッテリ残量情報と他の情報処理装置までの距離の情報とに加え、他の情報処理装置のバッテリ容量の情報も加味して実効バッテリ残量を算出し、タスクの振り分けを行うようにしているので、情報ネットワーク内の他の情報処理装置のバッテリ容量に差があったとしても、実効バッテリ容量を正確に算出して、実行を委託するタスクを適切に割り振ることができる。
【００６０】
（第３の実施形態）
次に、第３の実施形態について説明する。第３の実施形態は、情報ネットワーク内の他の情報処理装置にタスクの実行を委託する情報処理装置が、他の情報処理装置（外部装置）のバッテリ残量情報と他の情報処理装置までの距離の情報と他の情報処理装置のバッテリ容量の情報とに加え、他の情報処理装置のＣＰＵ能力の情報も加味して実効バッテリ残量を算出し、タスクの振り分けを行うようにした例である。以下、第１の実施形態や第２の実施形態と共通する部分は重複した説明を省略し、本実施形態において特徴的な部分についてのみ説明する。
【００６１】
図１０は、第３の実施形態にかかる情報処理装置の機能ブロック図である。この図１０に示す機能構成は、タスクの実行を他の情報処理装置に委託する情報処理装置（上述した例では情報処理装置Ａ）において実現されるものであり、図９に示した第２の実施形態の構成に対して、ＣＰＵ能力情報取得部１８が付加されている。
【００６２】
本実施形態では、バッテリ残量情報の送信を要求するパケットに対する応答として他の情報処理装置（上述した例では情報処理装置Ｂ〜Ｅ）がバッテリ残量情報やバッテリ容量情報を格納したパケットを送信する際に、当該パケットに、バッテリ残量情報やバッテリ容量情報に加えてＣＰＵ能力情報を格納して送信する。ここで、ＣＰＵ能力情報は、他の情報処理装置が備えるＣＰＵ７の処理能力を示した情報である。また、ここでいうＣＰＵ７の処理能力とは、ＣＰＵ７が所定量のデータ処理を行うのに消費する電力量を表すパラメータであり、ＣＰＵ７の処理能力が高い場合は所定量のデータ処理を行うのに消費する電力量が少なく、逆にＣＰＵ７の処理能力が低い場合は所定量のデータ処理を行うのに消費する電力量が大きいことを意味する。つまり、同じＣＰＵ負荷率のデータ処理を行う場合であっても、ＣＰＵ７の処理能力が高ければ消費電力が少なく、ＣＰＵ７の処理能力が低ければ消費電力が大きくなる。
【００６３】
ＣＰＵ能力情報取得部１８は、バッテリ残量情報の送信を要求するパケットに対する応答として他の情報処理装置（上述した例では情報処理装置Ｂ〜Ｅ）から送信されたパケットが受信制御部１１ａによって受信され、ＲＡＭ６に格納されると、このＲＡＭ６に格納されたパケットを読み出して、他の情報処理装置のＣＰＵ能力情報を取得する。
【００６４】
なお、情報ネットワーク内の各情報処理装置におけるＣＰＵ７の処理能力は経時的に変化するものではなく、ＣＰＵ能力情報は、バッテリ容量情報と同様に固定的な情報である。したがって、情報ネットワーク内の他の情報処理装置のＣＰＵ能力情報を、予めＲＡＭ６などに格納しておくようにすることも可能である。この場合、ＣＰＵ能力情報取得部１８は、他の情報処理装置との間のパケット送受信を行うことなく、ＲＡＭ６に格納されている他の情報処理装置のＣＰＵ能力情報を必要に応じて取得すればよい。
【００６５】
本実施形態では、実効バッテリ残量算出部１４は、バッテリ残量情報取得部１２により取得された他の情報処理装置のバッテリ残量情報と、バッテリ容量情報取得部１７により取得された他の情報処理装置のバッテリ容量情報と、距離算出部１３により算出された他の情報処理装置までの距離の情報と、ＣＰＵ能力情報取得部１８により取得された他の情報処理装置のＣＰＵ能力情報とに基づいて、他の情報処理装置の実効バッテリ残量をそれぞれ算出する。具体的には、実効バッテリ残量算出部１４は、バッテリ残量情報取得部１２により取得されたバッテリ残量情報と、バッテリ容量情報取得部１７により取得されたバッテリ容量情報とから、他の情報処理装置のバッテリ残量を電力量（ｋＷｈ）としてそれぞれ算出する。そして、算出したバッテリ残量から、距離算出部１３により算出された他の情報処理装置までの距離の情報から導かれる通信消費電力を減算する。そして、得られた電力量と、ＣＰＵ能力情報取得部１８により取得されたＣＰＵ能力情報で示されるＣＰＵ７の処理能力とから、実行バッテリ残量を、処理可能なデータ量（ＣＰＵ負荷率に相当）に換算して算出する。
【００６６】
タスク振り分け決定部１５は、第１の実施形態や第２の実施形態と同様に、実効バッテリ残量算出部１４により算出された他の情報処理装置の実効バッテリ残量に応じて、実効バッテリ残量が大きい情報処理装置ほどＣＰＵ負荷率の高いタスクが振り分けられるように、タスクの振り分けを決定する。また、タスク送信制御部１６は、第１の実施形態や第２の実施形態と同様に、タスク振り分け決定部１５により決定されたタスクの振り分けに従って、振り分けられたタスクを他の情報処理装置が実行するために必要なデータを格納したパケットを他の情報処理装置に送信する制御を行う。
【００６７】
以上のように、本実施形態にかかる情報処理装置では、他の情報処理装置のバッテリ残量情報と他の情報処理装置までの距離の情報と他の情報処理装置のバッテリ容量の情報とに加え、他の情報処理装置のＣＰＵ能力の情報も加味し、実効バッテリ残量を処理可能なデータ量に換算して算出し、タスクの振り分けを行うようにしているので、情報ネットワーク内の他の情報処理装置が備えるＣＰＵ７の処理能力に差があったとしても、実行を委託するタスクを適切に割り振ることができる。
【００６８】
（第４の実施形態）
次に、第４の実施形態について説明する。第４の実施形態は、情報ネットワーク内の他の情報処理装置にタスクの実行を委託する情報処理装置が、他の情報処理装置との間で定期的にパケット送受信を行って、他の情報処理装置のバッテリ残量情報を定期的に取得するとともに、他の情報処理装置までの距離を定期的に算出するようにした例である。なお、第４の実施形態にかかる情報処理装置の機能構成は、図４に示した第１の実施形態の構成と同じである。ただし、バッテリ残量情報取得部１２による処理内容および距離算出部１３による処理内容が、第１の実施形態とは若干相違する。以下、第１の実施形態との相違点についてのみ説明する。
【００６９】
本実施形態では、バッテリ残量情報取得部１２は、予め定められた所定周期で定期的に、情報ネットワーク内の他の情報処理装置に対してバッテリ残量情報の送信を要求するパケットを生成する。バッテリ残量情報取得部１２により定期的に生成されたパケットは、送信制御部１１ｂによってその都度、他の情報処理装置宛に送信される。そして、このパケットに対する応答として他の情報処理装置から逐次送信されるパケットが受信制御部１１ａにより受信され、ＲＡＭ６に格納されると、バッテリ残量情報取得部１２は、その都度、他の情報処理装置から送信されたパケットをＲＡＭ６から読み出して他の情報処理装置のバッテリ残量情報を取得する。
【００７０】
バッテリ残量情報取得部１２は、以上のようにして他の情報処理装置のバッテリ残量情報を定期的に取得し、取得した他の情報処理装置のバッテリ残量情報を、最新の情報が保持されるように、ＲＡＭ６などのメモリに上書きしながら記憶させる。そして、他の情報処理装置に対してタスクの振り分けを行う場合に、メモリに記憶しておいた他の情報処理装置の最新のバッテリ残量情報を読み出して、実効バッテリ残量算出部１４に受け渡す。なお、バッテリ残量情報取得部１２は、バッテリ残量情報が取得できなかった他の情報処理装置については、パケット送受信に失敗したことを示す識別情報により、それまで記憶されていた情報を上書きしておくようにしてもよい。これにより、例えば電源オフや無線通信の圏外となることで正常にパケット送受信を行うことができない情報処理装置を、予めタスクの振り分けの対象から除外することができる。
【００７１】
また、本実施形態では、距離算出部１３は、予め定められた所定周期で定期的に、情報ネットワーク内の他の情報処理装置に対して距離計測用のパケットを生成する。距離算出部１３により定期的に生成された距離計測用のパケットは、送信制御部１１ｂによってその都度、他の情報処理装置宛に送信される。そして、この距離計測用のパケットに対する応答として他の情報処理装置から逐次送信されるＡＣＫパケットが受信制御部１１ａにより受信され、ＲＡＭ６に格納されると、距離算出部１３は、その都度、第１の実施形態と同様の方法により、他の情報処理装置との間でのパケット送受信に要した時間から他の情報処理装置までの距離を算出する。
【００７２】
距離計測部１３は、以上のようにして他の情報処理装置までの距離を定期的に算出し、算出した他の情報処理装置までの距離の情報を、最新の情報が保持されるように、ＲＡＭ６などのメモリに上書きしながら記憶させる。そして、他の情報処理装置に対してタスクの振り分けを行う場合に、メモリに記憶しておいた他の情報処理装置までの距離の最新の情報を読み出して、実効バッテリ残量算出部１４に受け渡す。この場合も、ＡＣＫパケットが受信できなかった他の情報処理装置については、パケット送受信に失敗したことを示す識別情報により、それまで記憶されていた情報を上書きしておくようにしてもよい。これにより、例えば電源オフや無線通信の圏外となることで正常にパケット送受信を行うことができない情報処理装置を、予めタスクの振り分けの対象から除外することができる。
【００７３】
以上のように、本実施形態にかかる情報処理装置では、他の情報処理装置との間で定期的にパケット送受信を行って、他の情報処理装置のバッテリ残量情報を定期的に取得するとともに、他の情報処理装置までの距離報を定期的に算出し、最新の情報をメモリに保持するようにしているので、他の情報処理装置に対してタスクの振り分けを行うときにパケット送受信を行ってバッテリ残量情報の取得や距離の算出を行う場合に比べて、タスクの振り分けを迅速に行って処理時間の短縮を図ることができる。また、バッテリ残量情報が取得できない、あるいは距離計測用のパケットに対するＡＣＫパケットを受信できなかった他の情報処理装置について、パケット送受信に失敗したことを示す識別情報を保持しておくことで、例えば電源オフや無線通信の圏外となることで正常にパケット送受信を行うことができない情報処理装置を、予めタスクの振り分けの対象から除外することができ、タスクの振り分けを効率よく行うことができる。
【００７４】
（第５の実施形態）
次に、第５の実施形態について説明する。第５の実施形態は、情報ネットワーク内の他の情報処理装置にタスクの実行を委託する情報処理装置が、他の情報処理装置に対するタスクの振り分けを行う場合に、実効バッテリ残量が所定の閾値以下の情報処理装置に対してはタスクを振り分けないようにした例である。なお、第５の実施形態にかかる情報処理装置の機能構成は、図４に示した第１の実施形態の構成と同じである。ただし、タスク振り分け決定部１５による処理内容が、第１の実施形態とは若干相違する。以下、第１の実施形態との相違点についてのみ説明する。
【００７５】
本実施形態では、タスク振り分け決定部１５は、アプリケーションプログラム内の複数のタスクの実行を他の情報処理装置に委託する場合に、実効バッテリ残量算出部１４により算出された各情報処理装置の実効バッテリ残量を予め定められた閾値Ｔｈと比較し、実効バッテリ残量が閾値Ｔｈ以下となっている情報処理装置は、タスクの振り分けの対象から除外する。そして、実効バッテリ残量が閾値Ｔｈを超えている情報処理装置を対象として、実効バッテリ残量が大きい情報処理装置ほどＣＰＵ負荷率の高いタスクが振り分けられるように、タスクの振り分けを決定する。
【００７６】
具体的には、上述した第１の実施形態で説明した例のように、情報処理装置Ａが図２に示したアプリケーションプログラム内のタスクＴ１〜Ｔ４の実行を情報処理装置Ｂ〜Ｅに委託する場合に、実効バッテリ残量算出部１４により算出された各情報処理装置Ｂ〜Ｅの実効バッテリ残量が例えば図６に示した例のようになっており、実効バッテリ残量に対する閾値Ｔｈが例えば３０％に設定されていれば、情報処理装置Ａのタスク振り分け決定部１５は、まず、情報処理装置Ｃをタスクの振り分けの対象から除外する。そして、残った情報処理装置Ｂ，Ｄ，Ｅのうちで、実効バッテリ残量が最も大きい情報処理装置ＢにはタスクＴ２およびタスクＴ３の実行を委託し、情報処理装置ＤにはタスクＴ４の実行を委託し、情報処理装置ＥにはタスクＴ１の実行を委託するように、各情報処理装置Ｂ，Ｄ，Ｅに対するタスクＴ１〜Ｔ４の振り分けを決定する。
【００７７】
以上のように、本実施形態にかかる情報処理装置では、情報ネットワーク内の他の情報処理装置のうちで、実効バッテリ残量が所定の閾値Ｔｈ以下の情報処理装置に対してはタスクを振り分けないようにしているので、既にバッテリ残量が少ない情報処理装置の電力消費を抑え、特定の情報処理装置のバッテリが消耗してノードの消失を招くといった問題をより有効に回避することができる。
【００７８】
（第６の実施形態）
次に、第６の実施形態について説明する。第６の実施形態は、第５の実施形態と同様に実効バッテリ残量が閾値Ｔｈ以下の情報処理装置に対してはタスクを振り分けないようにし、且つ、その閾値Ｔｈをユーザの操作に応じて設定するようにした例である。以下、第５の実施形態との相違点についてのみ説明する。
【００７９】
図１１は、第６の実施形態にかかる情報処理装置の機能ブロック図である。この図１１に示す機能構成は、タスクの実行を他の情報処理装置に委託する情報処理装置（上述した例では情報処理装置Ａ）において実現されるものであり、図４に示した第１の実施形態の構成に対して、閾値設定部１９が付加されている。
【００８０】
閾値設定部１９は、情報処理装置が備える図示しない表示装置に、メニュー画面の一つとして例えば図１２に示すようなタスク送信制御設定画面を表示させる。この図１２に示すタスク送信制御設定画面には、実効バッテリ残量に対する閾値Ｔｈをユーザが数値入力するための設定項目が設けられている。ユーザがこの設定項目に所望の数値を入力すると、閾値設定部１９は、ユーザによって入力された数値を閾値Ｔｈに設定し、設定した閾値Ｔｈをタスク振り分け決定部１５に受け渡す。
【００８１】
タスク振り分け決定部１５は、アプリケーションプログラム内の複数のタスクの実行を他の情報処理装置に委託する場合に、実効バッテリ残量算出部１４により算出された各情報処理装置の実効バッテリ残量を、ユーザ操作に応じて閾値設定部１９によって設定された閾値Ｔｈと比較し、実効バッテリ残量が閾値Ｔｈ以下となっている情報処理装置は、タスクの振り分けの対象から除外する。そして、実効バッテリ残量が閾値Ｔｈを超えている情報処理装置を対象として、実効バッテリ残量が大きい情報処理装置ほどＣＰＵ負荷率の高いタスクが振り分けられるように、タスクの振り分けを決定する。
【００８２】
以上のように、本実施形態にかかる情報処理装置では、情報ネットワーク内の他の情報処理装置のうちで、実効バッテリ残量が閾値Ｔｈ以下の情報処理装置に対してはタスクを振り分けないようにし、且つ、その閾値Ｔｈをユーザ操作に応じて設定できるようにしているので、既にバッテリ残量が少ない情報処理装置の電力消費を抑え、特定の情報処理装置のバッテリが消耗してノードの消失を招くといった問題をより有効に回避することができるとともに、ユーザの意向を反映させた、よりフレキシブルな運用が可能となる。
【００８３】
なお、上述した各実施形態にかかる情報処理装置で実行される情報処理プログラムは、ＲＯＭ８などに予め組み込まれて提供される。また、上述した各実施形態にかかる情報処理装置で実行される情報処理プログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital Versatile Disc）などのコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。さらに、上述した各実施形態にかかる情報処理装置で実行される情報処理プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述した各実施形態にかかる情報処理装置で実行される情報処理プログラムを、インターネットなどのネットワーク経由で提供または配布するように構成してもよい。
【００８４】
上述した各実施形態にかかる情報処理装置で実行される情報処理プログラムは、上述した各部（送受信制御部１１、バッテリ残量情報取得部１２、距離算出部１３、実効バッテリ残量算出部１４、タスク振り分け決定部１５、タスク送信制御部１６、バッテリ容量情報取得部１７、ＣＰＵ能力情報取得部１８、閾値設定部１９）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ７（プロセッサ）が上記ＲＯＭ８から情報処理プログラムを読み出して実行することにより上記各部がＲＡＭ６（主記憶装置）上にロードされ、送受信制御部１１、バッテリ残量情報取得部１２、距離算出部１３、実効バッテリ残量算出部１４、タスク振り分け決定部１５、タスク送信制御部１６、バッテリ容量情報取得部１７、ＣＰＵ能力情報取得部１８、閾値設定部１９が主記憶装置上に生成されるようになっている。
【００８５】
なお、本発明は、上述した各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上述した各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００８６】
７  ＣＰＵ
９  バッテリ残量検出部
１０  バッテリ
１１  送受信制御部
１２  バッテリ残量情報取得部
１３  距離算出部
１４  実効バッテリ残量算出部
１５  タスク振り分け決定部
１６  タスク送信制御部
１７  バッテリ容量情報取得部
１８  ＣＰＵ能力情報取得部
１９  閾値設定部
【先行技術文献】
【特許文献】
【００８７】
【特許文献１】特開２００６−２０３８６８号公報
【図１】
0005510234.tif 000002
【図２】
0005510234.tif 000003
【図３】
0005510234.tif 000004
【図４】
0005510234.tif 000005
【図５】
0005510234.tif 000006
【図６】
0005510234.tif 000007
【図７】
0005510234.tif 000008
【図８−１】
0005510234.tif 000009
【図８−２】
0005510234.tif 000010
【図９】
0005510234.tif 000011
【図１０】
0005510234.tif 000012
【図１１】
0005510234.tif 000013
【図１２】
0005510234.tif 000014