以下、図面を参照して、一実施形態に係る情報配信システムについて説明する。以下の実施形態の構成は例示であり、情報配信システムの実施形態の構成には限定されない。以下、図1から図7の図面に基づいて、情報配信システムを説明する。
<実施形態>
本実施形態の情報配信システムは、複数の情報処理装置を含む。各情報処理装置は、例えば、無線LAN、BT等の無線ネットワークに接続するためのインターフェース(無線ネットワーク・インターフェース部)を備える。無線LANの規格として、例えば、IEEE 802.11、Wi-Fi(Wireless Fidelity:登録商標)等が例示できる。無線ネットワーク・インターフェース部を備える情報処理装置として、例えば、携帯電話機、スマートフォン、PC、ノートPC、タブレットPC、PDA、デジタルカメラ、ゲーム機等が例示できる。
ここで、無線ネットワーク・インターフェース部は、例えば、情報処理装置が有するUSB(Universal Serial Bus)ポート等の拡張インターフェースを介して装着されたWLANアダプタ等によって提供されるとしてもよい。無線ネットワーク・インターフェース部を備える情報処理装置であれば、例えば、ナビゲーション装置、デジタルオーディオプレイヤー、腕時計型やリストバンド型、グラス型といった利用者(以下、ユーザとも称す)の身体に装着可能なウェアラブル式の電子機器であってもよい。
無線ネットワーク・インターフェース部を備える情報処理装置では、例えば、FOTA等(Firmware On-The-Air)により、無線通信を介したプログラムの更新が可能である。
FOTAにより、情報処理装置は、例えば、フラッシュメモリ等に記憶されたファームウェアプログラム等の更新を、無線通信を介して行うことが可能になる。無線ネットワーク・インターフェース部を備える情報処理装置では、例えば、プログラム等の製造元から配信された更新データを、無線通信を介して直接的に入手し、インストールすることが可能になる。
図1Aに、FOTAによる、無線通信を介したプログラム等の更新データ配信についての説明図を例示する。図1Aに例示の説明図において、サーバ100は、無線ネットワーク・インターフェース部を備える情報処理装置10に搭載されたファームウェア等のプログラム更新を行う情報処理装置である。サーバ100と情報処理装置10とは、無線ネットワークNを介して接続される。無線ネットワークNには、例えば、通信速度の高いデータ通信が可能な、3G(3rd Generation)・LTE(Long Term Evolution)等の通信規
格が含まれる。なお、無線ネットワークNには、ファームウェア等のプログラム更新の対象となる、複数の情報処理装置10が接続し得る。
サーバ100は、情報処理装置10のフラッシュメモリといった不揮発性の記憶デバイスに記憶されたファームウェアプログラム等を書き換えるための更新データ(FOTA書換えプログラム)10aを保持する。更新データ10aは、例えば、サーバ100が備える記憶装置に保持される。なお、以下の説明では、上記の更新データを“特定動作バイナリデータ”或いは、単に“バイナリデータ”とも称する。また、情報処理装置10が備える、無線ネットワーク・インターフェース部を単に“無線LAN機能”とも称する。
図1Aの経路R1に示すように、情報処理装置10は、例えば、無線ネットワークNを介し、サーバ100を宛先として特定動作バイナリデータ10aの問合せ(以下、配信要求とも称す)を送信する。情報処理装置10からのサーバ100を宛先とした特定動作バイナリデータ10aの問合せは、例えば、無線LANの通信規格で定義されるプロトコルに沿って行われる。
無線ネットワークNを介して特定動作バイナリデータ10aの問合せを受信したサーバ100は、例えば、情報処理装置10からの問合せに応じてサーバ100が保持する特定動作バイナリデータ10aを配信する。図1Aの経路R2に示すように、サーバ100が保持する特定動作バイナリデータ10aは、情報処理装置10を宛先として無線ネットワークNを介して配信される。
サーバ100から配信された特定動作バイナリデータ10aは、情報処理装置10に受信される。情報処理装置10に受信された特定動作バイナリデータ10aは、例えば、情報処理装置10の備えるRAM(Random Access Memory)等の作業領域に一時的に記憶される。情報処理装置10は、例えば、受信した特定動作バイナリデータ10aをRAM等の所定の作業領域に展開して実行する。特定動作バイナリデータ10aの実行により、情報処理装置10のフラッシュメモリ等に格納されたファームウェアプログラム等を対象として更新処理(書換え処理)が実行される。
情報処理装置10は、例えば、フラッシュメモリ等に格納された更新対象のプログラムを複写し、複写したプログラムをRAM等の所定の領域に一時的に退避する。そして、情報処理装置10は、特定動作バイナリデータ10aに基づいて、フラッシュメモリ上の更新対象となるプログラムの更新処理(書き換え処理)を実行する。更新処理の終了後、情報処理装置10では、更新処理後のプログラムに基づいてセルフチェックが実行される。
図1Aの経路3に示すように、セルフチェックの結果は、例えば、特定動作バイナリデータ10aによる更新処理の結果を示すチェックレポートとして、無線ネットワークNを介し、情報処理装置10からサーバ100に送信される。
なお、セルフチェックの結果が異常を示す場合には、情報処理装置10は、例えば、RAM等の所定の領域に退避させた更新前のプログラムに基づいて、フラッシュメモリ等に記憶されたプログラムを更新前の状態に復帰させる。一方、セルフチェックの結果が正常を示す場合には、情報処理装置10では、例えば、RAM等の所定の領域に退避させた更新前のプログラムが消去される。情報処理装置10では、更新後のプログラムに基づいて各種情報処理機能が提供される。
サーバ100は、例えば、情報処理装置10から送信されたチェックレポートを受信し、該サーバ100の備える、或いは、サーバ100が接続するデータベース(以下、DBとも称す)に蓄積する。無線ネットワークNに接続された複数の情報処理装置10のそれぞれが送信するチェックレポートは、サーバ100を介して収集される。サーバ100が収集してDBに蓄積された、情報処理装置10毎のチェックレポートは、例えば、特定動作バイナリデータ10aの配信サービスを提供するための情報資源として使用される。
ところで、無線LAN機能を有する情報処理装置10は、例えば、Wi-Fi等で接続され
た無線ネットワークの親機として機能させることが可能である。親機として機能する情報処理装置10は、Wi-Fi等で接続された無線ネットワークの子機となる情報処理装置に対
して、Wi-Fi等の通信規格で定義される無線電波を使用した双方向のデータ通信ネットワ
ークを提供する。
例えば、図1Aに例示の情報処理装置10は、サーバ100から配信された特定動作バイナリデータ10aをRAM等の所定の領域に保持し、特定動作バイナリデータ10aの配信元として機能することが可能である。そして、Wi-Fi等の無線ネットワークの親機と
して機能する情報処理装置10は、例えば、該無線ネットワークに接続された子機となる情報処理装置に対し、保持された特定動作バイナリデータ10aの配信元として機能することが可能になる。
図1Bに、情報処理装置10を親機とする無線ネットワークによる情報配信システムの説明図を例示する。図1Bに例示の情報配信システム1は、情報処理装置10が親機として機能するWi-Fi等の無線ネットワークN1に、複数の情報処理装置20が子機として接
続するシステム例である。図1Bにおいて、情報処理装置10は、情報処理装置10を販売する事業者等の有する情報処理装置であり、情報処理装置20は、例えば、購入者等に販売前の物流倉庫等に存在する情報処理装置であると想定する。また、情報処理装置10、20は同様のハードウェア構成を備え、それぞれに搭載されたファームウェアプログラム等は、例えば、特定動作バイナリデータ10aの配信を受け、更新されるものとする。
情報処理装置10では、上述したように、例えば、サーバ100から配信された特定動作バイナリデータ10aが保持される。そして、情報処理装置10は、特定動作バイナリデータ10aの配信元として機能することで、子機として無線ネットワークN1に接続された情報処理装置20に搭載されたファームウェアプログラム等を一斉に更新することが可能になる。
なお、図1Bに例示の情報処理装置10、20には、予め無線ネットワークN1を構成するための識別情報であるSSID(Service Set Identifier、以下、特定SSIDとも称す)が割り当てられているものと想定する。無線ネットワークN1を識別する情報は、情報処理装置10を親機とする無線LANの論理的なグループを識別する情報であればよく、MAC(Media Access Control)アドレス(BSSID:Basic Service Set Identifier)等の情報が含まれるとしてもよい。
図1Bに例示の情報処理装置10は、例えば、管理者等の入力操作を契機として、記憶デバイスの所定の領域に保持された特定動作バイナリデータ10aを配信する配信元として機能する。情報処理装置10は、例えば、管理者等の入力操作を契機として、予め割り当てられた特定SSIDに基づく無線ネットワークN1を開設する。
情報処理装置10は、例えば、100msといった所定の周期間隔で、特定SSIDが含まれるデータパケットをビーコン信号として発信する。ビーコン信号には、例えば、ビーコン送信間隔、接続周波数(チャネル)、通信速度等の、無線ネットワークN1に接続する情報処理装置20との間でのデータ通信に係る各種パラメータがビーコン情報として含まれる。
なお、情報処理装置10が発信するビーコン信号の電波強度は、情報処理装置10との間の相対距離に応じて減衰する。情報処理装置10は、ビーコン信号の到達する空間(接続可能領域)内に存在する複数の情報処理装置20との間で、特定SSIDで識別される無線ネットワークN1を開設する。
図1Bに例示の情報処理装置20は、例えば、Wi-Fi等の通信規格で定義される無線電
波についてのスキャン処理を行う。スキャン処理は、例えば、100msといった所定の周期間隔で実行される。スキャン処理の結果、情報処理装置20は、情報処理装置10の発信するビーコン信号を受信し、該受信したビーコン信号に含まれるビーコン情報に基づいて、情報処理装置10との間のデータ通信に係る接続周波数等を特定する。
情報処理装置20は、例えば、受信したビーコン情報に基づいて情報処理装置10が開設した無線ネットワークN1に接続する。情報処理装置20は、例えば、受信したビーコン情報に、予め割り当てられた特定SSIDが含まれている場合には、該特定SSIDを発信する情報処理装置10に対する接続要求を実行する。
情報処理装置20は、例えば、ビーコン情報に含まれる特定SSIDを指定した接続要求を情報処理装置10に送信する。接続要求には、情報処理装置20のMACアドレスや情報処理装置20を一意に識別する無線ネットワークN1上の名称が、情報処理装置20を識別する識別情報として含まれる。情報処理装置10は、情報処理装置20から送信された接続要求を受信し、情報処理装置20に対する接続の可否を応答することで、無線ネットワークN1に対する接続が完了する。上述の、情報処理装置10と情報処理装置20との間の接続手順は、例えば、Wi-Fi等の無線LANの通信規格で定義されるプロトコルに沿って実行される。
接続完了後の情報処理装置20と情報処理装置10との間では、無線ネットワークN1を介して、情報処理装置10の保持する特定動作バイナリデータ10aの配信処理が実行される。例えば、図1Bの経路R4に示すように、情報処理装置20は、特定SSIDを指定して特定動作バイナリデータ10aの問合せを情報処理装置10に送信する。情報処理装置20からの問合せを受信した情報処理装置10は、問合せに応じて記憶デバイスに保持された特定動作バイナリデータ10aを配信する。情報処理装置10は、例えば、図1Bの経路R5に示すように、問合せを送信した情報処理装置20のMACアドレス等の識別情報を宛先として特定動作バイナリデータ10aを配信する。
情報処理装置20は、特定動作バイナリデータ10aを受信すると共に、特定動作バイナリデータ10aに基づいてフラッシュメモリ等に格納されたファームウェアプログラム等の更新処理(書換え処理)を実行する。情報処理装置20では、例えば、図1Aで説明した、特定動作バイナリデータ10aに基づく更新処理が実行される。更新処理の終了後、情報処理装置20では、例えば、更新処理後のプログラムに基づいてセルフチェックが実行される。
セルフチェックの結果は、例えば、図1Bの経路R6に示すように、チェックレポートとして、情報処理装置20から情報処理装置10に無線ネットワークN1を介して送信される。チェックレポートには、配信された特定動作バイナリデータ10aを一意に識別する、製造番号等の識別情報が含まれる。
特定動作バイナリデータ10aを配信した情報処理装置10は、無線ネットワークN1に接続された複数の情報処理装置20についてのチェックレポートを収集する。情報配信システム1では、親機として機能する情報処理装置10が、特定動作バイナリデータ10
aを配信するサーバ100に替わり、子機として接続された各情報処理装置20の更新処理の結果を集約することが可能になる。親機になる情報処理装置10に、特定動作バイナリデータ10aの配信機能を持たせることで、限定された範囲での更新処理の実施、更新処理の結果の収集が容易に行うことが可能になる。
図1Bに例示の、情報配信システム1において、情報処理装置20からの問合せの同時アクセス数が、無線LANの親機として機能する情報処理装置10の性能等で規定される同時配信可能数を超えるケースが想定される。情報処理装置20からの問合せの同時アクセス数が同時配信可能数を超える場合には、特定動作バイナリデータ10aを配信するための通信速度の低下や、情報処理装置10が配信元として機能するためのプログラムの動作停止(ハングアップ)を発生させる虞がある。
通信速度の低下が発生した場合には、情報処理装置20との間の単位時間当たりのデータ通信量が低下するため、特定動作バイナリデータ10aに基づくプログラム等の更新処理の完了に時間が費やされてしまう。情報処理装置20が、例えば、内蔵する電池等を電源とする制約状態では、情報処理装置20の稼働時間は電池等に蓄電された電力量に比例する。このため、情報処理装置20では、電池等に蓄電された電力量が少ない場合には、特定動作バイナリデータ10aに基づくプログラム等の更新処理の完了前に電力が消費されてしまい、未更新となる虞がある。
また、情報処理装置10にハングアップが発生した場合には、例えば、ハングアップの度毎に、ハングアップを解消するための再起動操作等が行われてしまう。このため、無線ネットワークN1に接続する複数の情報処理装置20に対する特定動作バイナリデータ10aの配信効率が低下してしまう。
<<配信時刻を指定した配信形態>>
上記の課題を解決するため、例えば、情報処理装置20からの問合せの同時アクセス数が情報処理装置10の同時配信可能数を超える場合には、情報処理装置10は、特定動作バイナリデータ10aの配信時刻を指定し、同時アクセスの調停を図ることが可能である。同時アクセスの調停を行うことで、情報処理装置10は、複数の情報処理装置20からの同時アクセス数が情報処理装置10の同時配信可能数を超える状態を回避することができる。
図1Cに、特定動作バイナリデータ10aの配信時刻を指定する形態の情報配信システム1の説明図を例示する。図1Cにおいて、情報処理装置10、20、特定動作バイナリデータ10aの配信経路R4−R6は、図1Bで説明した通りである。また、情報処理装置30は、特定動作バイナリデータ10aの配信時刻が指定される子機としての情報処理装置20である。無線ネットワークN1に接続する情報処理装置10と情報処理装置20、30との間では、例えば、Wi-Fi等の無線LANの通信規格で定義されるプロトコルに沿ってデータ通信が行われる。
図1Cに例示のように、情報処理装置10は、複数の情報処理装置20からの同時アクセス数が性能等で規定される同時配信可能数を超えた場合には、同時アクセスが発生した情報処理装置20の中から情報処理装置30を選定する。そして、情報処理装置10は、経路R7に示すように、情報処理装置30に対し、特定動作バイナリデータ10aの配信時刻を指定し、指定した配信時刻まで該バイナリデータ10aの取得を待つよう「待機」の指示を行う。情報処理装置10は、例えば、経路R4に示す情報処理装置30からの特定動作バイナリデータ10aの問合せに対応して、情報処理装置30に対する「待機」の指示を特定動作バイナリデータ10aの配信時刻と共に送信する。
情報処理装置30は、特定動作バイナリデータ10aの問合せに対する応答に配信時刻および「待機」指示が含まれている場合には、指定された配信時刻をRAM等の記憶デバイスの所定の領域に一時的に記憶する。そして、情報処理装置30は、例えば、指定された配信時刻に基づいて計時処理を開始すると共に、自装置の状態を省電力モードのsleep
状態に移行させる。情報処理装置30では、指定された特定動作バイナリデータ10aの配信時刻に到達するまでの期間、sleep状態が継続される。
情報処理装置30は、計時処理で計測された期間が指定された特定動作バイナリデータ10aの配信時刻に到達した場合には、自装置の状態をsleep状態から運用状態に復帰さ
せる。運用状態に復帰した情報処理装置10は、例えば、無線ネットワークN1を識別する特定SSIDを指定した、特定動作バイナリデータ10aの問合せを情報処理装置10に送信する。
情報処理装置10は、例えば、sleep状態から復帰した情報処理装置30からの問合せ
に応じて、特定動作バイナリデータ10aを配信する。情報処理装置30では、配信された特定動作バイナリデータ10aに基づいてファームウェアプログラム等の更新処理(書換え処理)が実行される。情報処理装置30は、更新処理後のファームウェアプログラム等に基づいてセルフチェックを行い、セルフチェックの結果をチェックレポートとして情報処理装置10に送信する。
図1Cに例示の情報配信システム1では、情報処理装置10は、特定動作バイナリデータ10aの配信時刻を指定した待機指示を行うことで、同時アクセス数が情報処理装置10の同時配信可能数を超える状態を回避することが可能になる。また、待機指示を受けた情報処理装置30では、特定動作バイナリデータ10aの配信指定時刻までsleep状態に移行するため、待機期間中の電力消費を抑制することが可能になる。
<<サブ親機を指定した配信形態>>
なお、情報処理装置10は、複数の情報処理装置20からの同時アクセスが存在する場合、配信された特定動作バイナリデータ10aに基づいて更新処理の完了を送信してきた情報処理装置20を“サブ親機”に指定することが可能である。ここで、“サブ親機”とは、情報処理装置10の代理装置として、特定動作バイナリデータ10aの配信を行う情報処理装置20である。情報処理装置10の代理装置が情報処理装置10に代わって特定動作バイナリデータ10aの配信を行うことを代理配信と呼ぶ。
そして、情報処理装置10は、同時アクセスが発生した情報処理装置20の中から、サブ親機として指定された情報処理装置20を介して特定動作バイナリデータ10aを受信する情報処理装置20の選定を行う。情報処理装置10は、サブ親機に指定された情報処理装置20と並行して特定動作バイナリデータ10aの配信を行うことで、複数の情報処理装置20からの配信要求に基づく同時アクセスを分散できる。情報処理装置10は、複数の情報処理装置20からの同時アクセス数が同時配信可能数を超える状態になることを事前に抑制し、回避することが可能になる。
図1Dに、サブ親機を指定する形態の情報配信システム1の説明図を例示する。図1Dにおいて、情報処理装置10、20、特定動作バイナリデータ10aの配信経路R4−R6は、図1B等で説明した通りである。また、情報処理装置40は、サブ親機として指定された情報処理装置20であり、特定動作バイナリデータ10aの代理配信を行う。情報処理装置50は、サブ親機として指定された情報処理装置40を介して、特定動作バイナリデータ10aが配信される情報処理装置20である。
図1Dの無線ネットワークN1に接続する情報処理装置10と情報処理装置20、40
、50との間では、図1Cと同様に、Wi-Fi等の無線LANの通信規格で定義されるプロ
トコルに沿ってデータ通信が行われる。また、情報処理装置40と情報処理装置50との間のデータ通信についても同様である。
図1Dに例示の情報配信システム1では、情報処理装置10は、複数の情報処理装置20からの同時アクセスが存在する場合、サブ親機として特定動作バイナリデータ10aの代理配信を行う情報処理装置40を選定する。情報処理装置40は、例えば、同時アクセスが発生した情報処理装置20の中から選定される。情報処理装置10は、例えば、同時アクセスが発生した情報処理装置20の中から、経路R6に示す、配信された特定動作バイナリデータ10aに基づいてプログラム等の更新処理の完了を送信する情報処理装置40をサブ親機として選定する。
情報処理装置10は、例えば、選定した情報処理装置40の更新処理の完了の送信に含まれるMACアドレス等を取得し、該MACアドレス等とサブ親機を示す識別子とを対応付けて記憶デバイスの所定の領域に一時的に記憶する。そして、情報処理装置10は、例えば、図1Dの経路R8に示すように、情報処理装置40に対し、特定動作バイナリデータ10aの代理配信を行うサブ親機の指示を含む応答を送信する。
情報処理装置40は、例えば、経路8に示す応答にサブ親機の指示が含まれる場合には、情報処理装置10から配信された特定動作バイナリデータ10aの保持を継続する。情報処理装置40は、例えば、RAM等の記憶デバイスに一時的に記憶された特定動作バイナリデータ10aの保持を継続する。そして情報処理装置40は、情報処理装置40を宛先とした特定動作バイナリデータ10aの問合せ(配信要求)を受信するまで待機する。
また、情報処理装置10は、同時アクセスが発生した情報処理装置20の中から、経路R4に示す、特定動作バイナリデータ10aの問合せを送信する情報処理装置20を情報処理装置50に選定する。情報処理装置10は、例えば、経路R9に示すように、情報処理装置50からの配信要求に対し、サブ親機として選定された情報処理装置40からの特定動作バイナリデータ10aの受信指示を応答に含めて送信する。経路R9に示す応答には、例えば、サブ親機に選定された情報処理装置40のMACアドレス等が含まれる。
情報処理装置50は、経路R9に示す応答に、サブ親機からの特定動作バイナリデータ10aの受信指示が含まれる場合には、例えば、サブ親機になる情報処理装置40の識別情報であるMACアドレス等を取得し、記憶デバイスに一時的に記憶する。そして、情報処理装置50は、例えば、経路R10に示すように、取得したサブ親機となる情報処理装置40のMACアドレス等を宛先として、特定動作バイナリデータ10aの問合せを送信する。経路R10に示す問合せには、例えば、情報処理装置50のMACアドレス等の識別情報が含まれる。
情報処理装置50から送信された特定動作バイナリデータ10aの問合せは、待機中の情報処理装置40に受信される。情報処理装置40は、例えば、経路R10に示す情報処理装置50からの特定動作バイナリデータ10aの問合せを受信した場合には、情報処理装置50のMACアドレス等の識別情報を取得し、記憶デバイスに一時的に記憶する。そして、情報処理装置40は、経路R11に示すように、情報処理装置50のMACアドレス等を宛先として記憶デバイスに保持された特定動作バイナリデータ10aを応答に含めて送信する。特定動作バイナリデータ10aは、情報処理装置40を介して情報処理装置50に代理配信される。情報処理装置50では、情報処理装置10に替わり代理配信された特定動作バイナリデータ10aに基づいて、ファームウェアプログラム等の更新処理が行われる。
図1Dの形態では、情報処理装置10は、同時アクセスが発生した複数の情報処理装置20の中の更新処理の完了を送信してきた情報処理装置40を特定動作バイナリデータ10aの代理配信するためのサブ親機として指定できる。そして、情報処理装置10は、同時アクセスが発生した複数の情報処理装置20の中の配信問合せを送信してきた情報処理装置50をサブ親機が代理配信する特定動作バイナリデータ10aの受信する子機として選定できる。
図1Dの情報配信システム1では、情報処理装置10は、自装置に対する子機からの配信要求を分散できるため、同時アクセス数が情報処理装置10の同時配信可能数を超える状態になることを抑制し、回避することが可能になる。情報配信システム1では、情報処理装置10は、サブ親機と並行して子機に対する特定動作バイナリデータ10aの配信が可能になるため、該バイナリデータ10aの配信処理期間を短縮することができる。情報配信システム1では、特定動作バイナリデータ10aの配信効率を向上させることが期待できる。
図1Cに例示の特定動作バイナリデータ10aの配信時刻を指定する形態、図1Dに例示のサブ親機を指定する形態では、それぞれに子機から親機への配信要求についての同時アクセス数の増加を回避することが可能である。しかし、情報配信システム1に含まれる情報処理装置20等の電力消費および特定動作バイナリデータ10aの配信効率の観点から、更なる性能向上が期待される。
<<第1実施形態>>
次に説明する、情報配信システム1の特定動作バイナリデータ10aの配信形態(以下、本実施形態とも称する)では、親機になる情報処理装置10、配信要求を送信する子機としての情報処理装置20は、以下の処理を行う。
すなわち、親機として機能する情報処理装置10は、無線ネットワークN1に存在する子機に対して、特定動作バイナリデータ10aの配信要求を行う際の基準時刻を設定し、発信する。また、子機として情報配信システム1に接続する情報処理装置20は、それぞれの電池等に蓄電された電力量を検知する。
そして、それぞれの情報処理装置20は、基準時刻から自装置で検知された電力量に対応したオフセット時間の経過後に、親機である情報処理装置10に対して特定動作バイナリデータ10aの配信要求を送信する。ここで、オフセット時間は、例えば、検知された電力量に反比例した期間が予め割り当てられる。ただし、オフセット時間は、電力量に反比例する代わりに、例えば、検知された電力量とともに減少するものであればよい。例えば、オフセット時間は、電力量に対して、直線的あるいは曲線的に減少するものでもよい。
この結果、本実施形態の情報配信システム1では、情報処理装置10には、無線ネットワークN1に接続する複数の情報処理装置20から、電力量の多い順に特定動作バイナリデータ10aの配信要求が送信されることになる。情報処理装置10は、例えば、配信要求を受信した順に、特定動作バイナリデータ10aを代理配信するサブ親機として指定することが可能になる。情報処理装置10は、電池等に蓄電された電力量が相対的に多い情報処理装置20から順に、サブ親機を指定することが可能になる。
本実施形態の情報配信システム1では、子機として接続する情報処理装置20の中から電池等に蓄電された電力量が相対的に多い情報処理装置20をサブ親機として指定することが可能になる。本実施形態の情報配信システム1では、電池等に蓄電された電力量の相対的に少ない情報処理装置20がサブ親機として指定される状態を防止することができる
。サブ親機に指定された、電池等に蓄電された電力量の少ない情報処理装置20の電力枯渇の助長や電力枯渇による特定動作バイナリデータ10aの代理配信の失敗を未然に抑止することができる。
〔装置構成〕
図2に、本実施形態の情報配信システム1の、親機として機能する情報処理装置10のハードウェア構成の一例を例示する。なお、図2に例示のハードウェア構成例は、子機として機能する情報処理装置20、サブ親機として機能する情報処理装置40についても適用される。
図2に例示の情報処理装置10は、接続バスB1によって相互に接続されたCPU(Central Processing Unit)11、主記憶部12、補助記憶部13、入力部14、出力部15、通信部16を有する。主記憶部12及び補助記憶部13は、情報処理装置10が読み取り可能な記録媒体である。
情報処理装置10は、CPU11が補助記憶部13に記憶されたプログラムを主記憶部12の作業領域に実行可能に展開し、プログラムの実行を通じて周辺機器の制御を行う。これにより、情報処理装置10は、所定の目的に合致した機能を提供することができる。
CPU11は、情報処理装置10全体の制御を行う中央処理演算装置である。CPU11は、補助記憶部13に格納されたプログラムに従って処理を行う。主記憶部12は、CPU11がプログラムやデータをキャッシュしたり、作業領域を展開したりする記憶媒体である。主記憶部12は、例えば、フラッシュメモリ、RAMやROM(Read Only Memory)を含む。フラッシュメモリには、例えば、特定動作バイナリデータ10aが更新処理の対象とするファームウェアプログラム等が記憶される。なお、CPU11は、マイコン、チップセット等であってもよい。
補助記憶部13は、各種のプログラム及び各種のデータを読み書き自在に記録媒体に格納する。補助記憶部13は、外部記憶装置とも呼ばれる。補助記憶部13には、例えば、OS(Operating System)、各種プログラム、各種テーブル等が格納される。OSは、通信部16を介して接続される外部装置等とのデータの受け渡しを行う通信インターフェースプログラムを含む。外部装置等には、例えば、有線ネットワーク、無線ネットワークN、N1上のPCやサーバ等、子機或いはサブ親として機能する他の情報処理装置、外部記憶装置等が含まれる。
補助記憶部13は、例えば、EPROM(Erasable Programmable ROM)、ソリッドス
テートドライブ装置、ハードディスクドライブ(HDD、Hard Disk Drive)装置等であ
る。また、補助記憶部13としては、例えば、CDドライブ装置、DVDドライブ装置、BDドライブ装置等が提示できる。記録媒体としては、例えば、不揮発性半導体メモリ(フラッシュメモリ)を含むシリコンディスク、ハードディスク、CD、DVD、BD、USB(Universal Serial Bus)メモリ、SD(Secure Digital)メモリカード等がある。
入力部14は、操作者等からの操作指示等を受け付ける。入力部14は、入力ボタン、タッチセンサ14a、ポインティングデバイス、マイクロフォン等の入力デバイスである。入力部14には、キーボード、ワイヤレスリモコン等が含まれるとしてもよい。ポインティングデバイスには、例えば、タッチセンサ14aと出力部15のLCD(Liquid Crystal Display)15a等の表示デバイスとを組合せたタッチパネル、マウス、トラックボール、ジョイスティック等が含まれる。
出力部15は、CPU11で処理されるデータや主記憶部13に記憶されたデータを出
力する。出力部15は、LCD15a、PDP(Plasma Display Panel)、EL(Electroluminescence)パネル、有機ELパネル、プリンタ、スピーカ等の出力デバイスである。
通信部16は、例えば、情報処理装置10に接続する有線ネットワーク、無線ネットワークN1等とのインターフェースである。通信部16には、アンテナ16aが含まれる。有線ネットワークには、例えば、インターネット等の公衆ネットワーク、携帯電話網等のネットワーク、LAN(Local Area Network)等が含まれる。無線ネットワークN等については、図1A、1B等で説明した。通信部16は、例えば、無線LANの通信規格で定義される無線電波を使用し、アンテナ16aを介して、無線ネットワークN等に接続する子機となる情報処理装置との間で双方向のデータ通信を行う。
情報処理装置10は、CPU11が補助記憶部13に記憶されているOS、各種プログラムや各種データを主記憶部12に読み出して実行することにより、対象プログラムの実行と共に、図2に例示の各処理手段を提供する。情報処理装置10は、対象プログラムの実行により、例えば、図2に例示する、子端末動作実行部101、サブ親端末動作実行部102、親端末動作実行部103、タイマ部104を提供する。なお、上記の各処理手段のいずれか、あるいは、これらの一部がハードウェア回路によって動作するものであってもよい。
また、情報処理装置10は、以上の各処理手段が参照し、或いは、管理するデータの格納先として、例えば、子端末接続状況保持部201、特定動作実行結果情報保持部202、サブ親端末動作状況保持部203を補助記憶部13に備える。また、情報処理装置10は、例えば、補助記憶部13に、特定動作データ保持部204、親端末ネットワークID保持部205、サブ親動作データ保持部206を備える。
〔処理ブロック構成〕
図3A−3Cに、本実施形態の情報配信システム1に含まれる情報処理装置10の処理ブロックの説明図を例示する。図3Aは、情報配信システム1の親機として機能する情報処理装置10(以下、親端末とも称す)の処理ブロックの説明図であり、図3Bは、子機として機能する情報処理装置10(以下、子端末とも称す)の処理ブロックの説明図である。また、図3Cは、情報配信システム1のサブ親機(以下、サブ親端末とも称す)として機能する情報処理装置10の処理ブロックの説明図である。
(親端末)
図3Aの説明図において、特定動作バイナリデータ10aを配信する情報配信システム1の親端末として機能する情報処理装置10では、図2に例示の各処理手段の中の親端末動作実行部103、タイマ部104が動作する。また、親端末として機能する情報処理装置10では、上記の各処理手段が参照し、或いは、管理データの格納先として子端末接続状況保持部201、特定動作実行結果情報保持部202、サブ親端末動作状況保持部203が動作する。同様にして、親端末として機能する情報処理装置10では、特定動作データ保持部204、親端末ネットワークID保持部205が動作する。
なお、特定動作データ保持部204には、情報配信システム1内の子端末、サブ親端末として機能する情報処理装置10に配信される特定動作バイナリデータ10aが保持される。また、親端末ネットワークID保持部205には、情報配信システム1で使用される無線ネットワークN1の特定SSID等を含む複数の識別情報が保持される。親端末ネットワークID保持部205には、例えば、サブ親端末として指定された情報処理装置10が無線ネットワークを開設するために使用されるSSIDが含まれる。
親端末として機能する情報処理装置10は、例えば、入力部14を介して、情報配信システム1の親端末になるための、管理者等の操作入力指示を受け付ける。情報処理装置10は、入力部14を介して受け付けた管理者等の操作入力指示を親端末動作実行部103に引き渡す。なお、管理者等の操作入力指示には、例えば、子端末が情報処理装置10に対して配信要求を行う際に基準になる基準時刻(一斉動作時刻とも称す)が含まれるとしてもよい。管理者等の操作入力指示に基準時刻が含まれる場合には、情報処理装置10は、入力部14を介して受け付けた、親端末になるための操作入力指示と基準時刻とを関連付けて親端末動作実行部103に引き渡す。
親端末動作実行部103は、例えば、入力部14からの操作入力指示の引き渡しを契機として、特定データ保持部204を参照し、特定動作バイナリデータ10aを取得する。同様にして、親端末動作実行部103は、親端末ネットワークID保持部205を参照し、無線ネットワークN1の特定SSID等の識別情報を取得する。親端末動作実行部103は、取得した特定動作バイナリデータ10a、特定SSID等の識別情報を関連付けて主記憶部12の所定の領域に一時的に記憶する。親端末動作実行部103は、操作入力指示に基準時刻が含まれている場合には、該基準時刻を上述の各データに関連付けて記憶する。
なお、親端末動作実行部103は、操作入力指示に基準時刻が含まれていない場合には、タイマ部104で計測されている時刻情報に基づいて基準時刻を設定する。例えば、親端末動作実行部103は、タイマ部104で計測されている時刻情報に予め設定された単位時間を足し合わせた基準時刻を設定する。ここで単位時間として、例えば、1分、3分等の分単位の単位時間が例示できる。
親端末動作実行部103は、例えば、親端末ネットワークID保持部205から取得した特定SSID等に基づいて、図1B等に例示の無線ネットワークN1を開設する。無線ネットワークN1の開設については、図1Bで説明した。
親端末動作実行部103は、例えば、子端末が情報処理装置10に対して配信要求を行う際に基準になる基準時刻をビーコン情報に含めデータパケットを生成する。生成されたデータパケットは、例えば、通信部16を介し、情報処理装置10が親端末として機能する無線ネットワークN1内にビーコン信号として発信される。
ここで、親端末として機能する情報処理装置10の通信部16は、「複数の情報受信装置との間でデータ通信する通信部」の一例である。
無線ネットワークN1内に存在する子端末は、例えば、100msといった所定の周期間隔で、親端末が発信するビーコン信号を監視する。そして、子端末はビーコン情報に含まれる基準時刻と子端末の電力量に応じたオフセット時間に基づいて、特定動作バイナリデータ10aの配信要求を送信する。なお、子端末として機能する情報処理装置10については、図3Bで説明する。
子端末から送信された配信要求は、図3Aに例示の通信部16を介して親端末として機能する情報処理装置10に受信される。無線ネットワークN1内に存在する複数の子端末から送信された配信要求は、例えば、それぞれの子端末の電池等に蓄電された電力量が相対的に多い順に、親端末として機能する情報処理装置10に受信される。通信部16で受信された配信要求は、接続バスB1を介して親端末動作実行部103に引き渡される。なお、通信部16で受信された配信要求には、例えば、子端末のMACアドレス等の識別情報が含まれる。
親端末動作実行部103は、例えば、配信要求を発生した子端末に対し、配信要求を受け付けた順に、特定動作バイナリデータ10aが含まれる受信応答を送信する。但し、親端末動作実行部103は、受け付けた配信要求の数量が特定動作バイナリデータ10aの配信処理を行うための処理数(同時配信可能数)を超える場合には、子端末に対し、アクセス時刻を指定した待機指示を受信応答として送信する。
例えば、無線LANの通信規格等で定義される通信速度を確保するための、親端末の同時配信可能数が3台であると想定する。また、無線ネットワークN1内に存在する子端末の台数が7台であると想定する。親端末では、7台の子端末からの配信要求が、それぞれの電力量の多い順に応じて受信される。
親端末動作実行部103は、例えば、配信要求を受け付けた子端末の台数が3台目までは、配信要求を発生した子端末に対し、特定動作バイナリデータ10aが含まれる受信応答を送信する。そして、親端末動作実行部103は、例えば、4台目以降の子端末に対して、配信要求のアクセス時刻を指定した待機指示を受信応答として送信する。
無線ネットワークN1に接続する7台の子端末の中の、電力量の相対的に多い3台の子端末には特定動作バイナリデータ10aが配信される。また、無線ネットワークN1に接続する7台の子端末の中の、電力量の相対的に少ない4台の子端末には、配信要求を受け付けるためのアクセス時刻が指定された待機指示が送信される。なお、4台目以降の子端末に対する配信要求のアクセス時刻の指定は、例えば、情報配信システム1を構成する親端末、子端末の性能、無線ネットワークN1の通信規格等に応じて設定が可能である。
親端末動作実行部103は、例えば、配信要求に含まれるMACアドレス等の子端末を識別する識別情報を取得する。そして、親端末動作実行部103は、取得した識別情報と、該識別情報を有する子端末への特定動作バイナリデータ10aの配信状態を対応付けて記憶する。子端末毎の識別情報に対応付けた特定動作バイナリデータ10aの配信状態は、例えば、子端末接続状況保持部201に記憶される。
特定動作バイナリデータ10aが配信された子端末からは、図1B等の経路R6に示すように、例えば、更新処理の結果がチェックレポートとして送信される。子端末から送信されたチェックレポートは、図3Aに例示の通信部16を介して親端末として機能する情報処理装置10に受信される。通信部16を介して受信されたチェックレポートは、接続バスB1を介して親端末動作実行部103に引き渡される。
親端末動作実行部103は、例えば、無線ネットワークN1内に存在する複数の子端末から送信されたチェックレポートを収集し、収集した各チェックレポートを特定動作実行結果情報保持部202に記憶する。親端末動作実行部103は、例えば、子端末毎の識別情報に対応付けたチェックレポートを特定動作実行結果情報保持部202に記憶する。
また、親端末動作実行部103は、例えば、待機指示を行った子端末と特定動作バイナリデータ10aの配信処理を行うための処理数(同時配信可能数)とに基づいて、サブ親端末として機能するサブ親端末の選定を行う。サブ親端末は、例えば、親端末から配信された特定動作バイナリデータ10aに基づいて更新処理を実行し、更新処理の結果をチェックレポートとして送信した子端末の中から選定される。
例えば、無線ネットワークN1内に存在する子端末の台数が7台であり、親端末の同時配信可能数が3台の場合には、配信要求を送信した4台目以降の子端末が待機状態になる。すると、無線ネットワークN1内に存在する待機状態の子端末の台数は4台であり、親端末の同時配信可能数の3台を超えることになる。このため、例えば、待機状態を指定した4台の子端末から配信要求を受けた場合には、4番目に配信要求を受け付けた子端末に対して再び待機指示が行われることになる。再待機指示が繰り返される場合には、情報配信システム1の特定動作バイナリデータ10aの配信効率が低下することになる。
上記の再待機指示の発生を回避するため、親端末動作実行部103は、例えば、子端末からのチェックレポートの受信時点で、待機状態にある子端末の台数と同時配信可能数との比較を実行する。親端末動作実行部103は、例えば、待機状態にある子端末の台数が親端末の同時配信可能数を超えているような場合には、チェックレポートが受信された子端末をサブ親端末に指定する。そして、親端末動作実行部103は、例えば、待機状態に指定した子端末の中で同時配信可能数を超える子端末からの配信要求に対し、特定動作バイナリデータ10aの代理配信を指定したサブ親端末から、データを取得するように指示を行う。
情報配信システム1では、例えば、図1C等で説明したように、サブ親端末を選定することで、特定動作バイナリデータ10aの配信が並行して実施できる。情報配信システム1では、特定動作バイナリデータ10aの配信について、待機状態にある子端末の数量を軽減し、待機状態の期間を短縮することができる。情報配信システム1では、特定動作バイナリデータ10aの配信効率を向上できる。
なお、サブ親端末に指定された情報処理装置10については、図3Cで説明する。また、サブ親端末から特定動作バイナリデータ10aを取得する指示を受けた子端末については、図3Bで説明する。
図3Aの説明図に戻り、親端末動作実行部103は、チェックレポートを送信した子端末に対し、例えば、サブ親端末として機能するための無線ネットワークのSSIDを指定した受信応答を送信する。サブ親端末として機能するためのSSIDは、管理者等により予め割り当てられ、例えば、親端末ネットワークID保持部205に保持される。
また、サブ親端末に指定された子端末への受信応答には、サブ親端末として機能する動作期間が含まれる。サブ親端末になる子端末では、情報処理装置10としての運用期間は、電池等に蓄電された電力量に制限されるからである。本実施形態の情報配信システム1では、サブ親端末としての動作期間を指定することで、サブ親端末に選定された子端末の早期の電力枯渇等を事前に防止する。
サブ親端末の動作期間の指定は、例えば、3分間といった単位時間を固定値として予め保持し、該固定値を割り当てるとしてもよい。また、管理者等の操作入力指示としてサブ親端末の動作期間を受け付けるとしてもよい。
また、動作期間の指定は、サブ親端末の電力量、サブ親端末の台数、待機状態にある子端末の台数等に対応して決定するとしてもよい。例えば、子端末は、チェックレポートの送信の際に、検知した自装置の電力量をデータパケットに含めて送信することで、親端末ではサブ親端末になる子端末の電力量が特定できる。他の例として、サブ親端末の指定を受けた子端末は、自装置の電力量を検知し親端末に送信するとしてもよい。親端末は、サブ親端末受信した電力量に基づいて、上述のサブ親端末の台数、待機状態にある子端末の台数等に対応した動作期間を決定することができる。親端末は、例えば、サブ親端末から送信された電力量に対する受信応答として、決定した動作期間を送信すればよい。
親端末動作実行部103は、サブ親端末へ指定した動作期間の経過後に、該サブ親端末が継続して特定動作バイナリデータ10aの代理配信を行うか否かを決定する。サブ親端末として代理配信を継続するか否かは、例えば、サブ親端末の電力量に対応して決定され
る。
親端末動作実行部103は、例えば、動作期間の経過後にサブ親端末から送信される電力量を受信する。親端末動作実行部103は、例えば、動作期間の経過後に受信した電力量、サブ親端末の台数、待機状態にある子端末の台数等に対応して、特定動作バイナリデータ10aの代理配信の継続の可否を決定する。親端末動作実行部103は、例えば、動作期間の経過後に送信された電力量に対する受信応答として、代理配信の継続の可否をサブ親端末に送信する。
親端末動作実行部103は、上述のサブ親端末に指定した子端末の動作状況を、例えば、サブ親動作状況保持部203に記憶する。親端末動作実行部103は、例えば、サブ親端末のMACアドレス等の識別情報、サブ親端末のSSID、動作時間、電力量、継続の可否等を対応付けてサブ親端末の動作状況を記憶する。サブ親動作状況保持部203では、上述した動作状況がサブ親端末毎に管理される。
サブ親端末の選定後、親端末動作実行部103は、待機状態の子端末の中で同時配信可能数を超える子端末からの配信要求に対し、サブ親端末が開設する無線ネットワークのSSID、サブ親端末への再アクセス時刻が指定された応答を送信する。サブ親端末のSSID等が指定された応答を受信した子端末では、サブ親端末を介して代理配信された特定動作バイナリデータ10aが受信される。
親端末動作実行部103は、サブ親端末を介して特定動作バイナリデータ10aの代理配信が行われる子端末の情報に基づいて、子端末接続状況保持部201に記憶された配信状態を更新する。待機状態の子端末に対する特定動作バイナリデータ10aの配信状態は、サブ親端末から代理配信される状態に更新される。
(子端末)
図3Bの説明図において、親端末から配信される特定動作バイナリデータ10aを子端末として受信する情報処理装置10では、図2に例示の各処理手段の中の子端末動作実行部101、タイマ部104が動作する。また、子端末として機能する情報処理装置10では、上記の各処理手段が参照し、或いは、管理データの格納先として、特定データ保持部204、親端末ネットワークID保持部205が動作する。
子端末としての特定動作データ保持部204には、親端末、或いは、サブ親端末から配信された特定動作バイナリデータ10aが保持される。また、親端末ネットワークID保持部205には、親端末、或いは、サブ親端末が使用する無線ネットワークのSSID等の識別情報が保持される。
子端末として機能する情報処理装置10は、例えば、情報配信システム1の親端末が発信するビーコン信号等を定期的に監視する。例えば、子端末として機能する情報処理装置10は、内蔵された電池等の充電の開始、充電の完了、電池等に蓄電された電力量が一定量に到達したとき等を契機として、子端末動作実行部101を起動する。なお、子端末動作実行部101の起動の契機は、管理者等の保持する親端末からの、BT、NFC(Near
field radio communication)を介した起動指示としてもよい。
子端末動作実行部101は、例えば、親端末ネットワークID保持部205に保持された、親端末、或いは、サブ親端末が使用する無線ネットワークのSSID等に基づいて、通信部16を介して無線LANの通信規格で定義される無線電波を受信する。なお、子端末動作実行部101は、例えば、親端末、或いは、サブ親端末が使用する無線ネットワークのSSID等が受信されない場合には、sleep状態に移行する。そして、子端末動作実
行部101は、例えば、タイマ部104で計測されている時刻情報に基づいて、一定期間の周期間隔でsleep状態から復帰し、無線電波の受信を繰り返す。
ここで、子端末として機能する情報処理装置10の通信部16は、「情報配信装置および副情報配信装置との間でデータ通信する通信部」の一例である。
子端末動作実行部101は、例えば、親端末、或いは、サブ親端末が使用する無線ネットワークのSSID等を受信すると、Wi-Fi等の無線LANの通信規格で定義されるプロ
トコルに沿って親端末との間の接続手順を完了させる。情報配信システム1の子端末は、図1B等で説明したように、親端末が開設した無線ネットワークN1に接続する。
無線ネットワークN1に接続した子端末動作実行部101は、例えば、親端末の発信するビーコン情報から、特定動作バイナリデータ10aの配信要求を行う際に基準になる基準時刻を取得する。取得した基準時刻は、例えば、子端末の主記憶部12の所定の領域に一時的に記憶される。
子端末動作実行部101は、例えば、電池等に蓄電された電力量を検知する。そして、子端末動作実行部101は、検知した電力量に基づいて配信要求を行うためのオフセット時間を算出する。子端末動作実行部101は、オフセット時間と基準時刻に基づいて、特定動作バイナリデータ10aの配信要求を行うための時刻を特定する。
子端末動作実行部101は、例えば、タイマ部104で計測された時刻情報と、オフセット時間および基準時刻から特定された時刻に基づいて、特定動作バイナリデータ10aの配信要求を送信する。
子端末動作実行部101は、配信要求に対して親端末から配信された特定動作バイナリデータ10aを受信し、受信した該バイナリデータ10aを特定データ保持部204に格納する。そして、子端末動作実行部101は、特定動作バイナリデータ10aに基づいてフラッシュメモリ等に記憶されたファームウェアプログラム等の更新処理を実行する。特定動作バイナリデータ10aに基づく更新処理については、図1C等で説明した。
子端末動作実行部101は、更新処理後のファームウェアプログラム等に基づいてセルフチェックを行い、セルフチェックの結果をチェックレポートとして親端末に送信する。なお、子端末動作実行部101は、チェックレポートを送信する際に自装置の電力量を検知し、検知した電力量をチェックレポートに含め、親端末に送信する。
チェックレポートの送信に対する親端末からの応答にサブ親端末としての動作指定が含まれていない場合には、子端末動作実行部101は、sleep状態に移行する。sleep状態に移行後の子端末では、親端末が開設した無線ネットワークN1の定期監視が行われる。
チェックレポートの送信に対する親端末からの応答にサブ親端末としての動作指定が含まれている場合には、子端末動作実行部101は、サブ親動作実行部102を起動する。サブ親動作実行部102が起動された子端末では、例えば、子端末動作実行部101の機能を終了し、サブ親端末の機能状態に移行する。サブ親端末については、図3Cで説明する。
子端末動作実行部101は、配信要求に対して親端末から送信された待機指示応答を受信する。子端末動作実行部101は、待機指示応答に含まれるアクセス時刻を取得し、該アクセス時刻に到達するまでの期間、sleep状態に移行する。子端末動作実行部101は
、例えば、タイマ部104で計測された時刻情報とアクセス時刻に基づいて、sleep状態
から復帰し、特定動作バイナリデータ10aの配信要求を親端末に送信する。
なお、子端末動作実行部101は、例えば、待機指示応答にサブ親端末が開設する無線ネットワークのSSIDが含まれる場合には、サブ親端末が開設する無線ネットワークのSSIDを宛先として配信要求を行う。子端末動作実行部101は、サブ親端末から代理配信された特定動作バイナリデータ10aを受信し、受信した該バイナリデータ10aを特定データ保持部204に格納する。
子端末動作実行部101は、サブ親端末から代理配信された特定動作バイナリデータ10aに基づいてフラッシュメモリ等に記憶されたファームウェアプログラム等の更新処理を実行する。そして、子端末動作実行部101は、セルフチェックの結果と自装置の電力量をチェックレポートに含め、親端末に送信する。
(サブ親端末)
図3Cの説明図において、特定動作バイナリデータ10aの代理配信を行うサブ親端末として機能する情報処理装置10では、図2に例示の各処理手段の中のサブ親端末動作実行部102、タイマ部104が動作する。また、サブ親端末として機能する情報処理装置10では、上記の各処理手段が参照し、或いは、管理データの格納先として、特定データ保持部204、親端末ネットワークID保持部205、サブ親動作データ保持部206が動作する。
サブ親端末としての特定動作データ保持部204には、親端末から配信された特定動作バイナリデータ10aが保持される。また、親端末ネットワークID保持部205には、親端末、或いは、サブ親端末が使用する無線ネットワークのSSID等の識別情報が保持される。
図3Bで説明したように、子端末では、チェックレポートの送信に対する親端末からの応答にサブ親端末としての動作指定が含まれている場合には、図3Cに例示のサブ親動作実行部102が起動する。子端末の子端末動作実行部101は、例えば、サブ親端末の動作指定が含まれた親端末からの応答データを起動したサブ親端末動作実行部102に引き渡す。サブ親端末動作実行部102は、例えば、子端末動作実行部101から引き渡された応答データを、サブ親動作データ保持部206に格納する。
サブ親動作データ保持部206に格納される応答データには、サブ親端末が開設する無線ネットワークのSSID、サブ親端末として特定動作バイナリデータ10aを代理配信する動作期間が含まれる。なお、以下の説明では、サブ親端末が開設する無線ネットワークのSSIDを“SSID2”、SSID2で識別される無線ネットワークを“無線ネットワークN2”とも称する。
なお、応答データには、例えば、サブ親端末が開設する無線ネットワークN2で使用されるチャンネル帯が含まれるとしてもよい。親端末の無線ネットワークN1とサブ親端末の無線ネットワークN2で使用する無線電波の干渉を避けるためである。親端末は、例えば、サブ親端末の指定を行う際に、サブ親端末の台数、待機状態にある子端末の台数等に基づいて、サブ親端末の使用するチャンネル帯を割り当てるとしてもよい。
サブ親動作実行部102は、親端末から指定されたSSID2を識別情報とする無線ネットワークN2を開設する。無線ネットワークN2の開設については、図1Bで説明した無線ネットワークN1と同様である。
サブ親動作実行部102は、例えば、Wi-Fi等の無線LANの通信規格で定義されるプ
ロトコルに沿って無線ネットワークN2に存在する子端末との間の接続手順を完了させる。なお、無線ネットワークN2に接続する子端末は、例えば、親端末からサブ親端末を介して特定動作バイナリデータ10aの配信を受けるように指定された子端末である。
サブ親動作実行部102は、無線ネットワークN2に存在する子端末からの特定動作バイナリデータ10aの配信要求を受信する。配信要求を受信したサブ親動作実行部102は、特定データ保持部204に格納された特定動作バイナリデータ10aを取得する。そして、サブ親端末動作実行部102は、配信要求を送信した子端末に対し、取得した特定動作バイナリデータ10aを応答として代理配信する。無線ネットワークN2に存在する子端末には、サブ親端末が代理配信する特定動作バイナリデータ10aが受信される。
サブ親動作実行部102は、例えば、タイマ部104で計測された時刻情報が、サブ親動作データ保持部206に保持された動作期間に到達するまでの間、特定動作バイナリデータ10aの代理配信を継続する。
サブ親動作実行部102は、親端末から指定された動作期間が満了した場合には、自装置の電力量を取得する。そして、サブ親動作実行部102は、親端末が開設する無線ネットワークN1に接続し、取得した電力量が含まれるサブ親動作完了を送信する。
サブ親動作実行部102は、サブ親動作完了の送信に対する親端末からの応答を受信する。そして、サブ親動作実行部102は、親端末からの応答にサブ親継続の指示が含まれていない場合には、サブ親動作を終了し、sleep状態に移行する。sleep状態に移行後のサブ親端末では、親端末が開設した無線ネットワークN1の子端末として定期監視が行われる。
サブ親動作実行部102は、親端末からの応答にサブ親継続の指示が含まれている場合には、SSID2で識別される無線ネットワークN2のサブ親端末を継続する。サブ親動作実行部102は、親端末からの応答に含まれる動作期間等に基づいて、サブ親動作データ保持部206を更新する。サブ親動作実行部102では、サブ親継続の指示に含まれる動作期間等に基づいて、上述した、特定動作バイナリデータ10aを親端末に替わり代理配信するサブ親端末の動作が繰り返される。
〔処理フロー〕
以下、図4A−4Fに例示のフローチャートを参照し、本実施形態の情報配信システム1の配信処理を説明する。図4A−4Dは、親端末として機能する情報処理装置10の配信処理のフローチャートの例示である。また、図4Eは子端末として機能する情報処理装置10の配信データを受信する受信処理のフローチャートの例示である。図4Fは、サブ親端末として機能する情報処理装置10の代理配信処理のフローチャートの例示である。
本実施形態の情報配信システム1における情報処理装置10は、例えば、補助記憶部13等に記憶された各種プログラムや各種データを読み出して実行することで、図4A−4Fに例示の処理を行う。なお、以下の説明では、親端末となる情報処理装置10は“情報配信装置10”、子端末となる情報処理装置10は“情報受信装置10”、サブ親端末となる情報処理装置10は、“副情報配信装置10”とも称す。
(親端末)
図4Aに例示のフローチャートにおいて、親端末として機能する情報配信装置10の配信処理の開始は、例えば、管理者等による操作入力指示の受け付けのときが例示できる。情報配信装置10は、例えば、入力部14を介して管理者等の操作入力指示を受け付ける。管理者等の操作入力指示には、例えば、特定データ保持部204に格納された特定動作バイナリデータ10aの配信指示、子端末が親端末に対して配信要求を行う際の基準になる基準時刻といった制御情報が含まれる。
なお、制御情報には、例えば、配信処理を行うための子端末の処理数(同時配信可能数)、サブ親端末を指定するための電力量、サブ親端末の指定台数、サブ親端末の動作期間、サブ親端末を完了するための電力量等が含まれるとしてもよい。情報配信装置10は、例えば、入力部14を介して受け付けた制御情報を主記憶部12の所定の領域に一時的に記憶する。
情報配信装置10は、例えば、特定データ保持部204を参照し、特定動作バイナリデータ10aを取得する。同様に、情報配信装置10は、例えば、親端末ネットワークID保持部205を参照し、Wi-Fi等の無線ネットワークN1を識別する特定SSIDを取得する。情報配信装置10は、取得した特定動作バイナリデータ10a、特定SSIDを関連付けて主記憶部12の所定の領域に一時的に記憶する。
情報配信装置10は、例えば、親端末ネットワークID保持部205から取得した特定SSID等に基づいて、特定動作バイナリデータ10aを配信するための無線ネットワークN1を開設する(S1)。無線ネットワークN1の開設については、図1B等で説明した。
情報配信装置10は、無線ネットワークN1に存在する子端末との間で、無線LANの通信規格で定義されるプロトコルに沿って接続手順を完了する。接続手順完了後、情報配信装置10は、例えば、子端末が親端末に対して配信要求を行う際の基準になる基準時刻をビーコン情報に含め、無線ネットワークN1に発信する。情報配信装置10は、無線ネットワークN1に存在する子端末からの、情報配信装置10を宛先とするアクセスが受信されるまで待機する。
S2の処理では、情報配信装置10は、例えば、無線ネットワークN1に存在する子端末からの、情報配信装置10を宛先とするアクセスを受信する。そして、情報配信装置10は、受信されたアクセスに含まれる情報に基づいて、子端末から送信されたアクセスの種類を判定する。受信されたアクセスは、例えば、特定動作バイナリデータ10aの配信要求、配信された特定動作バイナリデータ10aに基づく更新処理の結果報告、サブ親端末からのサブ親動作完了の確認の3種類に判定される。
情報配信装置10は、例えば、受信されたアクセスが特定動作バイナリデータ10aの配信要求を示す場合には(S2,特定データ配信要求)、S3の処理に移行する。また、情報配信装置10は、例えば、受信されたアクセスが特定動作バイナリデータ10aに基づく更新処理の結果報告を示す場合には(S2,特定動作結果報告)、S4の処理に移行する。同様にして、情報配信装置10は、例えば、受信されたアクセスがサブ親端末からのサブ親動作完了の確認を示す場合には(S2,サブ親動作完了確認)、S5の処理に移行する。
情報配信装置10では、情報配信装置10を宛先とするアクセスが受信される度毎に、S2−S5の処理が繰り返し実行される。なお、図3B等で説明したように、子端末の特定動作バイナリデータ10aの配信要求は、ビーコン情報に含まれる基準時刻にそれぞれの電力量に対応したオフセット時間を足し合わせて送信される。このため、子端末からの配信要求は、例えば、子端末間の電力量の相対的に多い順で、情報配信装置10に受信される。
((特定動作データ配信要求応答処理))
次に、図4Bに例示のフローチャートを参照し、図4Aに例示のS3の処理を説明する。本実施形態の情報配信装置10では、図4Bに例示のS11−S16の処理により、子端末に対する特定動作バイナリデータ10aの配信、アクセス時刻を指定した待機指示、サブ親端末へのアクセス指示が行われる。
図4Bに例示のフローチャートにおいて、S11の処理では、情報配信装置10は、例えば、子端末接続状況保持部201を参照し、子端末に対する特定動作バイナリデータ10aの配信状態を取得する。子端末接続状況保持部201には、子端末毎の識別情報に対応付けた特定動作バイナリデータ10aの配信状態が格納される。
子端末接続状況保持部201には、子端末毎に、例えば、親端末からの配信実行、親端末からの配信待機、配信データによる更新完了、サブ親端末X(X=1−n)、サブ親端末からの代理配信といった、配信状態が格納される。なお、サブ親端末に付与される“X”は、サブ親端末の識別番号を表し、“n”は、無線LAN等の通信規格に基づく同時起動の最大サブ親端末数を表す。
情報配信装置10は、例えば、取得した配信状態に基づいて配信実行中の子端末の台数と同時配信可能数とを比較し、配信要求を受信した子端末への特定バイナリデータ10aの配信の可否を判定する。
情報配信装置10は、例えば、配信実行中の子端末の台数が同時配信可能数に到達していない場合には(S11,N;親端末の同時配信可能数内)、S12の処理に移行する。一方、情報配信装置10は、例えば、配信実行中の子端末の台数が同時配信可能数に到達している場合には(S11,Y;親端末の同時配信可能数以上)、S13の処理に移行する。
S12の処理では、情報配信装置10は、例えば、配信要求を送信した子端末に対し、特定動作バイナリデータ10aを含むデータパケットを受信応答として配信する。そして、情報配信装置10は、子端末のMACアドレス等の識別情報に基づいて子端末接続状況保持部201に格納された特定動作バイナリデータ10aの配信状態を更新する。S12の処理で特定動作バイナリデータ10aが配信された子端末の配信状態は、親端末からの配信実行状態に更新される。情報配信装置10は、S12の処理の実行後、図4Aに例示のS2の処理に移行する。
S13の処理では、情報配信装置10は、例えば、サブ親動作状況保持部203を参照し、サブ親端末に指定した副情報配信装置10の動作状況を取得する。サブ親動作状況保持部203に格納されるサブ親端末の動作状況は、図3Aで説明した。
S14の処理では、情報配信装置10は、例えば、S11の処理で取得した子端末の配信状態と、S13の処理で取得したサブ親端末の動作状況に基づいて、特定動作バイナリデータ10aの代理配信の可否を判定する。
情報配信装置10は、例えば、サブ親端末の動作状況からサブ親端末が動作中であり、且つ、子端末の配信状態からサブ親端末に特定動作バイナリデータ10aを配信するための空きがあるかを判定する。例えば、情報配信装置10は、サブ親端末が動作中であり、サブ親端末から代理配信を受ける子端末の台数が同時配信可能数に到達していない場合には、サブ親端末からの特定動作バイナリデータ10aの代理配信が可能と判定する。なお、サブ親端末の同時配信可能数は、情報配信装置10と同数であるとする。
情報配信装置10は、例えば、サブ親端末が動作中であり、且つ、サブ親端末に代理配
信を行うための空きがあるといった条件を満たす場合には(S14,Y)、S16の処理に移行する。一方、情報配信装置10は、例えば、サブ親端末が動作中であり、且つ、サブ親端末に代理配信を行うための空きがあるといった条件を満たさない場合には(S14,N)、S15の処理に移行する。
S15の処理では、情報配信装置10は、例えば、配信要求を送信した子端末に対し、特定動作バイナリデータ10aの配信についての待機指示を含む応答(配信待ち応答)を送信する。配信待ち応答には、例えば、子端末が配信要求を送信するアクセス時刻の指定、配信要求の宛先(情報配信装置10)が含まれる。なお、配信要求のアクセス時刻の指定は、例えば、情報配信システム1の規模、親端末、子端末の性能、無線ネットワークN1の通信規格等に応じて設定される。
情報配信装置10は、子端末のMACアドレス等の識別情報に基づいて子端末接続状況保持部201に格納された特定動作バイナリデータ10aの配信状態を更新する。S15の処理で、配信待ち応答が送信された子端末の配信状態は、親端末からの配信待機状態に更新される。情報配信装置10は、S15の処理の実行後、図4Aに例示のS2の処理に移行する。
S16の処理では、情報配信装置10は、例えば、配信要求を送信した子端末に対し、サブ親端末が開設する無線ネットワークN2の識別情報(SSID2)を含む応答(サブ親へのアクセス指定応答)を送信する。サブ親へのアクセス指定応答には、例えば、子端末がサブ親端末へ配信要求を送信するアクセス時刻の指定が含まれる。なお、配信要求のアクセス時刻の指定は、例えば、情報配信システム1の規模、親端末、子端末の性能、無線ネットワークN2の通信規格等に応じて設定される。また、サブ親端末が開設する無線ネットワークN2については、図3A、3Cで説明した。
情報配信装置10は、子端末のMACアドレス等の識別情報に基づいて子端末接続状況保持部201に格納された特定動作バイナリデータ10aの配信状態を更新する。S16の処理で、サブ親へのアクセス指定応答が送信された子端末の配信状態は、サブ親端末からの代理配信状態に更新される。情報配信装置10は、S16の処理の実行後、図4Aに例示のS2の処理に移行する。
((特定動作結果報告応答処理))
次に、図4Cに例示のフローチャートを参照し、図4Aに例示のS4の処理を説明する。本実施形態の情報配信装置10では、図4Cに例示のS21−S27の処理により、子端末の特定動作バイナリデータ10aに基づく更新処理結果の収集、サブ親端末への動作指示が行われる。なお、図3A等で説明したように、子端末からの特定動作バイナリデータ10aに基づく更新処理の結果は、チェックレポートとして送信される。
図4Cに例示のフローチャートにおいて、S21の処理では、情報配信装置10は、例えば、子端末から送信された特定動作バイナリデータ10aに基づく更新処理の結果報告(チェックレポート)を受信する。そして、情報配信装置10は、例えば、受信した更新処理の結果報告を、子端末のMACアドレス等の識別情報に対応付けて特定動作実行結果情報保持部202に記憶する(S21)。特定動作実行結果情報保持部202には、情報配信システム1に存在する複数の子端末から送信された特定動作バイナリデータ10aに基づく更新処理の結果報告が蓄積される。
また、情報配信装置10は、例えば、受信した更新処理の結果報告に含まれる子端末の電力量を取得する。取得した子端末の電力量は、例えば、子端末のMACアドレス等の識別情報に対応付けて主記憶部12の所定の領域に一時的に記憶される。
S22の処理では、情報配信装置10は、子端末接続状況保持部201を参照し、子端末に対する特定動作バイナリデータ10aの配信状態を取得する。そして、情報配信装置10は、例えば、取得した配信状態に基づいて、親端末からの配信待機状態にある子端末の台数[A]を算出する。同様にして、情報配信装置10は、サブ親端末からの代理配信状態にある子端末から、稼働中のサブ親端末の台数を算出する。情報配信装置10は、例えば、算出された稼働中のサブ親端末の台数に基づく同時配信可能数と自装置の同時配信可能数を足し合わせ、情報配信システム1の同時配信可能数[B]を算出する。算出された数値[A]、[B]は、S23の処理に引き渡される。
S23の処理では、情報配信装置10は、例えば、S22の処理から引き渡された数値[A]、[B]が、“[A]>[B]”を満たすか否かを判定する。情報配信装置10は、例えば、S22の処理から引き渡された数値が、“[A]>[B]”を満たさない場合には(S23,N)、S24の処理に移行する。一方、情報配信装置10は、例えば、S22の処理から引き渡された数値が、“[A]>[B]”を満たす場合には(S23,Y)、S25の処理に移行する。
S24の処理では、情報配信装置10は、例えば、特定動作バイナリデータ10aに基づく更新処理の結果報告を送信した子端末に対し、該更新処理の結果報告の受信応答を送信する。情報配信装置10は、受信応答が送信された子端末について、例えば、子端末接続状況保持部201に格納された特定動作バイナリデータ10aの配信状態を更新する。S24の処理で、更新処理の結果報告に対して受信応答が送信された子端末の配信状態は、例えば、更新完了状態に更新される。情報配信装置10は、S24の処理の実行後、図4Aに例示のS2の処理に移行する。
S25の処理では、情報配信装置10は、更新処理の結果報告を送信した子端末をサブ親端末に指定するか否かの判定を行う。S25の判定処理が行われる場合には、配信待機状態にある子端末の台数[A]が、(親端末+動作中のサブ親端末)の1回の同時配信可能数[B]を超えている状態にある。このため、S25の判定処理の時点で、実行中の配信が全て完了しても、配信待機状態にある子端末に対して、配信待機の指示が再び発生することになる。情報配信装置10は、配信待機の再指示を抑制するため、処理対象の子端末がサブ親端末として指定可能か否かを判定する。
処理対象の子端末がサブ親端末として指定可能か否かの判定は、例えば、処理対象の子端末の電力量、無線LAN等の通信規格に基づく同時起動のサブ親端末数(電波干渉を回避するためのチャンネル制限)等を条件として判定することが可能である。
情報配信装置10は、例えば、S21の処理で取得した子端末の電力量が、管理者等の制御情報に含まれるサブ親端末を指定するための電力量以上であることを判定する。また、情報配信装置10は、例えば、S22の処理で取得した起動中のサブ親端末の台数が管理者等の制御情報に含まれるサブ親端末の指定台数に到達していないことを判定する。
情報配信装置10は、例えば、上述した条件(その他サブ親起動条件)を満たさない場合には(S25,N)、処理対象の子端末に対してサブ親端末の指定は行わず、S24の処理に移行する。一方、情報配信装置10は、例えば、上述した条件(その他サブ親起動条件)を満たす場合には(S25,Y)、処理対象の子端末をサブ親端末に指定するため、S26の処理に移行する。
S26の処理では、情報配信装置10は、例えば、親端末ネットワークID保持部205を参照し、サブ親端末に割り当てるSSID2を取得する。また、情報配信装置10は、管理者等の制御情報に含まれるサブ親端末の動作期間を取得する。そして、情報配信装置10は、例えば、更新処理の結果報告を送信した子端末に対し、サブ親端末動作指定を含む応答を送信する。サブ親端末動作指定には、例えば、サブ親端末が開設する無線ネットワークN2を識別するSSID2が含まれる。また、サブ親端末動作指定には、サブ親端末として特定動作バイナリデータ10aを代理配信するための動作期間が含まれる。サブ親端末の動作期間については、図3A等で説明した。
S27の処理では、情報配信装置10は、S26の処理で子端末に応答した、サブ親端末動作指定の情報をサブ親動作状況保持部203に格納する。サブ親動作指定の情報は、例えば、子端末のMACアドレス等の識別情報に対応付けて格納される。
また、情報配信装置10は、サブ親端末動作指定を含む応答が送信された子端末について、例えば、子端末接続状況保持部201に格納された特定動作バイナリデータ10aの配信状態を更新する。更新処理の結果報告に対してサブ親動作指定を含む応答が送信された子端末の配信状態は、例えば、サブ親端末X(X=1−n)に更新される。情報配信装置10は、S27の処理の実行後、図4Aに例示のS2の処理に移行する。
((サブ親動作完了確認受信応答処理))
次に、図4Dに例示のフローチャートを参照し、図4Aに例示のS5の処理を説明する。本実施形態の情報配信装置10では、図4Dに例示のS31−S37の処理により、サブ親端末としての動作完了指示、動作継続指示が行われる。なお、図3C等で説明したように、サブ親端末から送信されたサブ親動作完了には、動作完了時に取得された電力量が含まれる。
図4Dに例示のフローチャートにおいて、S31の処理では、情報配信装置10は、例えば、サブ親端末から送信されたサブ親動作完了の通知を受信する。そして情報配信装置10は、サブ親動作完了の通知に含まれるサブ親端末の電力量を取得する。取得されたサブ親端末の電力量は、例えば、サブ親端末を識別するMACアドレス等の識別情報に対応付けられて主記憶部12の所定の領域に一時的に記憶される。
また、S31の処理では、情報配信装置10は、子端末接続状況保持部201を参照し、子端末に対する特定動作バイナリデータ10aの配信状態を取得する。そして、情報配信装置10は、例えば、取得した配信状態に基づいて、親端末からの配信待機状態にある子端末の台数[A]を算出する。同様にして、情報配信装置10は、サブ親端末からの代理配信状態にある子端末から、稼働中のサブ親端末の台数を算出する。情報配信装置10は、例えば、稼働中のサブ親端末の台数に基づく同時配信可能数と自装置の同時配信可能数を足し合わせ、情報配信システム1の同時配信可能数[B]を算出する。算出された数値[A]はS33の処理に引き渡される。
S32の処理では、情報配信装置10は、サブ親端末が現状の稼働数から一つ減少した状態での、情報配信システム1の同時配信可能数[B1]を算出する。算出された数値[B1]はS33の処理に引き渡される。
S33の処理では、情報配信装置10は、例えば、S31の処理から引き渡された数値[A]、S32の処理から引き渡された数値[B1]が、“[A]>[B1]”を満たすか否かを判定する。情報配信装置10は、例えば、数値[A]、[B1]が、“[A]>[B1]”を満たさない場合には(S33,N)、S34の処理に移行する。一方、情報配信装置10は、例えば、数値[A]、[B1]が、“[A]>[B1]”を満たす場合には(S33,Y)、S36の処理に移行する。
S34の処理では、情報配信装置10は、例えば、サブ親動作完了を通知したサブ親端末に対し、サブ親動作完了指示が含まれる応答を送信する。そして、情報配信装置10は、サブ親動作状況保持部203に格納された、処理対象のサブ親端末の動作状況を更新する(S35)。
動作状況の更新として、例えば、サブ親端末の識別情報に対応付けられたサブ親端末動作指定の情報を消去することが例示できる。なお、動作状況の更新として情報配信装置10は、例えば、サブ親端末の識別情報に対応付けられたサブ親端末動作指定の情報をサブ親動作完了の通知に含まれた電力量で上書きするとしてもよい。
また、S35の処理では、情報配信装置10は、サブ親端末のMACアドレス等の識別情報に基づいて子端末接続状況保持部201に格納された特定動作バイナリデータ10aの配信状態を更新する。サブ親動作完了指示を含む応答が送信されたサブ親端末の配信状態は、更新完了状態に更新される。情報配信装置10は、S35の処理の実行後、図4Aに例示のS2の処理に移行する。
S36の処理では、情報配信装置10は、サブ親動作完了を報告したサブ親端末の、サブ親端末動作を継続するか否かの判定を行う。S36の判定処理が行われる場合には、配信待機状態にある子端末の台数[A]が、(親端末+動作中のサブ親端末−1)の1回の同時配信可能数[B1]を超えている状態にある。このため、S36の判定処理の時点で、実行中の配信が全て完了しても、配信待機状態にある子端末に対して、配信待機の指示が再び発生することになる。情報配信装置10は、配信待機の再指示を抑制するため、処理対象のサブ親端末に対するサブ親端末動作を継続するか否かを判定する。
処理対象のサブ親端末に対するサブ親端末動作継続の判定は、例えば、処理対象のサブ親端末の電力量等を条件とすることが可能である。例えば、情報配信装置10は、S31の処理で取得したサブ親端末の電力量が、管理者等の制御情報に含まれるサブ親端末を指定するための電力量以上であることを判定する。
情報配信装置10は、例えば、上述した条件を満たさない場合には(S36,N)、処理対象のサブ親端末に対してサブ親端末動作継続の指示は行わず、S34の処理に移行する。一方、情報配信装置10は、例えば、上述した条件を満たす場合には(S36,Y)、処理対象のサブ親端末に対してサブ親端末動作の継続を指示するため、S37の処理に移行する。
S37の処理では、情報配信装置10は、例えば、管理者等の制御情報に含まれるサブ親端末の動作期間を取得する。そして、情報配信装置10は、例えば、サブ親動作完了を通知したサブ親端末に対し、サブ親端末継続指定を含む応答を送信する。サブ親端末継続指定には、サブ親端末として特定動作バイナリデータ10aを代理配信するための動作期間が含まれる。
なお、サブ親端末として動作する期間は、例えば、処理対象のサブ親端末の電力量、配信待機状態にある子端末の台数[A]、(親端末+動作中のサブ親端末−1)の1回の同時配信可能数[B1]に基づいて決定するとしてもよい。情報配信装置10は、S37の処理でサブ親端末に応答した、サブ親端末継続指定の情報に基づいてサブ親動作状況保持部203を更新する。情報配信装置10は、S37の処理の実行後、図4Aに例示のS2の処理に移行する。
(子端末)
次に、図4Eに例示のフローチャートを参照し、子端末として機能する情報受信装置1
0の特定動作バイナリデータ10aの受信処理を説明する。図4Eに例示のフローチャートにおいて、情報受信装置10の受信処理の開始は、例えば、情報配信システム1の親端末が発信するビーコン信号等の受信のときが例示できる。
情報受信装置10は、例えば、親端末ネットワークID保持部205を参照し、保持された特定SSIDを取得する。そして、情報受信装置10は、通信部16を介してWi-Fi
等の無線LANの通信規格で定義される無線電波を受信する(S1)。情報受信装置10は、例えば、取得した特定SSIDに基づいて、受信した無線電波から親端末が開設する無線ネットワークN1を特定する(S42)。
情報受信装置10は、例えば、特定SSIDに基づいて親端末が開設する無線ネットワークN1を特定しない場合には(S42,N)、sleep状態に移行する。情報受信装置10は、例えば、タイマ部104で計測されている時刻情報に基づいて一定期間の周期間隔でsleep状態から復帰し、親端末が開設する無線ネットワークN1を特定するまで無線電波の受信を繰り返す。
一方、情報受信装置10は、例えば、特定SSIDに基づいて親端末が開設する無線ネットワークN1を特定した場合には(S42,Y)、無線LANの通信規格で定義されるプロトコルに沿って親端末との間の接続手順を完了させる。そして、情報受信装置10は、S43の処理に移行する。
S43の処理では、情報受信装置10は、例えば、親端末の発信するビーコン信号に含まれる基準時刻(一斉動作時刻)を取得する。情報受信装置10は、取得した基準時刻を主記憶部12の所定の領域に一時的に記憶する。
S44の処理では、情報受信装置10は、自装置の電池等に蓄電された電力量を検知する。そして、情報受信装置10は、検知した電力量に対応するオフセット時間を算出する。例えば、情報受信装置10は、電力量とオフセット時間の対応関係を定義したテーブル等を予め補助記憶部13に保持する。そして、情報受信装置10は、検知した電力量および電力量とオフセット時間の対応関係に基づいて、自装置のオフセット時間を算出するとすればよい。
情報受信装置10は、例えば、親端末から取得した基準時刻に算出されたオフセット時間を足し合わせ、自装置が親端末に対して特定動作バイナリデータ10aの配信要求を送信する時刻を特定する。情報受信装置10は、例えば、タイマ部104で計測された時刻が、特定動作バイナリデータ10aの配信要求を送信する時刻に到達するまで待機する。そして、情報受信装置10は、タイマ部104で計測された時刻が、特定動作バイナリデータ10aの配信要求を送信する時刻に到達すると、親端末の特定SSIDを宛先とした配信要求を送信する(S46)。
S47の処理では、情報受信装置10は、例えば、特定動作バイナリデータ10aの配信要求に対する親端末からの応答を受信する。そして、情報受信装置10は、親端末から受信した応答が、特定動作バイナリデータ10aの配信応答であるか待ち応答であるかを判定する。なお、待ち応答には、親端末を宛先とする待機指示応答、サブ親端末を宛先とするサブ親へのアクセス指定応答が含まれる。待機指示応答では、親端末への再アクセス時刻が指定され、サブ親へのアクセス指定応答では、サブ親端末への再アクセス時刻が指定される。
情報受信装置10は、例えば、親端末から受信した応答が、待ち応答である場合には(S47、待ち応答)、S55の処理に移行する。情報受信装置10は、受信した待ち応答から、特定動作バイナリデータ10aの配信要求を行うための再アクセス指定時刻を取得する。また、情報受信装置10は、待ち応答に再アクセス先指定が含まれる場合には、該再アクセス先指定を取得する(S55−S56)。再アクセス先指定として、例えば、親端末が開設した無線ネットワークN1の特定SSID、或いは、サブ親端末が開設する無線ネットワークN2のSSID2が指定される。
情報受信装置10は、例えば、親端末から指定された再アクセス時刻に到達するまでの期間、sleep状態に移行する(S57)。そして、情報受信装置10は、例えば、タイマ
部104で計測された時刻情報に基づいて、再アクセス時刻への到達を検知し、sleep状
態から復帰する。
情報受信装置10は、例えば、再アクセス時刻への到達を契機として特定動作バイナリデータ10aの配信要求を送信する(S58)。情報受信装置10では、例えば、親端末の特定SSID、或いは、サブ親端末のSSID2を宛先として特定バイナリデータ10aの配信要求が送信される。情報受信装置10は、S58の処理後、S46の処理に移行する。
一方、情報受信装置10は、例えば、親端末から受信した応答が、特定動作バイナリデータ10aの配信応答である場合には(S47、特定データ配信応答)、S48の処理に移行する。情報受信装置10は、親端末から送信された配信応答を受信し、配信応答に含まれる特定動作バイナリデータ10aを取得する(S48−S49)。取得された特定バイナリデータ10aは、例えば、特定データ保持部204に格納される。
S50の処理では、情報受信装置10は、例えば、取得した特定バイナリデータ10aに基づいてフラッシュメモリ等に記憶されたファームウェアプログラム等の更新処理を実行する。特定動作バイナリデータ10aに基づく更新処理については、図1C等で説明した。
情報受信装置10は、例えば、更新処理後のファームウェアプログラム等に基づいてセルフチェックを行い、セルフチェックの結果を含むチェックレポートを生成する。チェックレポートには、例えば、配信された特定動作バイナリデータ10aの製造番号、情報受信装置10を一意に識別する製造番号、更新処理の成否、更新処理後の各種確認値等が含まれる。
情報受信装置10は、例えば、無線LANの通信規格で定義されるプロトコルに沿って、親端末が開設する無線ネットワークN1に接続する(S51)。そして、情報受信装置10は、生成したチェックレポートを特定動作結果報告として親端末に送信する(S52)。なお、情報受信装置10は、例えば、チェックレポートを送信する際に自装置の電力量を検知し、検知した電力量を特定動作結果報告に含め、親端末に送信する。
情報受信装置10は、特定動作結果報告に対する親端末からの応答(特定動作結果報告応答)を受信する(S53)。そして、情報受信装置10は、例えば、受信した親端末からの特定動作結果報告応答に、サブ親端末としての動作指定(サブ親動作指定)が含まれているかを判定する(S54)。特定動作結果報告応答には、例えば、サブ親端末動作指定の有無、サブ親端末が開設する無線ネットワークN2の識別情報(SSID2)、サブ親端末の動作期間等が含まれる。
なお、特定動作結果報告応答には、例えば、無線ネットワークN2で使用されるチャンネル帯が含まれるとしてもよい。親端末の無線ネットワークN1とサブ親端末の無線ネットワークN2で使用する無線電波の干渉を避けるためである。
情報受信装置10は、例えば、特定動作結果報告応答にサブ親動作指定が含まれていない場合(サブ親端末動作指定なし)には(S54,N)、図4Eに例示の受信処理を終了する。受信処理の終了後、例えば、情報受信装置10はsleep状態に移行する。sleep状態に移行した情報受信装置10では、無線ネットワークN1の定期監視が継続して実行される。
一方、情報受信装置10は、例えば、特定動作結果報告応答にサブ親動作指定が含まれている場合には(S54,Y)、S59の処理に移行する。S59の処理は、図4Fで詳細を説明する。
(サブ親端末)
次に、図4Fに例示のフローチャートを参照し、図4Eに例示のS59の処理を説明する。本実施形態の情報配信システム1では、図4Fに例示のS61−S68の処理により、更新処理完了後の情報受信装置10が、特定動作バイナリデータ10aの代理配信を行うサブ親端末(副情報配信装置10)として機能する。
図4Fに例示のフローチャートにおいて、S61の処理では、副情報配信装置10は、例えば、図4EのS53の処理で受信した親端末からの応答から、サブ親端末が開設する無線ネットワークN2の識別情報(SSID2)を取得する。同様にして、副情報配信装置10は、親端末からの応答に含まれるサブ親端末の動作期間を取得する。副情報配信装置10は、例えば、取得したサブ親端末が開設する無線ネットワークN2の識別情報(SSID2)、サブ親端末の動作期間をサブ親動作データ保持部206に格納する。
なお、副情報配信装置10は、図4EのS53の処理で受信した親端末からの応答に、無線ネットワークN2で使用されるチャンネル帯が含まれる場合には、該チャンネル帯を取得し、サブ親動作データ保持部206に格納する。
副情報配信装置10は、親端末から指定されたSSID2を識別情報とする無線ネットワークN2を開設する。無線ネットワークN2の開設については、図1Bで説明した無線ネットワークN1と同様である。副情報配信装置10は、例えば、親端末からサブ親端末を介して特定動作バイナリデータ10aの配信を受けるように指定された子端末からの接続要求を受信するまで待機する。そして、副情報配信装置10は、接続要求を送信した子端末との間で、Wi-Fi等の無線LANの通信規格で定義されるプロトコルに沿って接続手
順を完了させる。
副情報配信装置10は、例えば、SSID2を宛先とした子端末からの、特定動作バイナリデータ10aの配信要求を受信する(S62)。副情報配信装置10は、例えば、特定データ保持部204を参照し、特定動作バイナリデータ10aを取得する。そして、副情報配信装置10は、子端末から送信された配信要求に対する応答に、取得した特定動作バイナリデータ10aを含めて送信する(S63)。
副情報配信装置10は、例えば、S61の処理で取得したサブ親端末の動作期間とタイマ部104で計測された時刻情報に基づいて、サブ親端末動作期間の満了到達を判定する(S64)。
副情報配信装置10は、例えば、タイマ部104で計測された時刻情報がサブ親端末動作期間の満了に到達していない場合には(S64,サブ親動作期間)、S62の処理に移行し、S62−S64の処理を繰り返す。一方、副情報配信装置10は、例えば、タイマ部104で計測された時刻情報がサブ親端末動作期間の満了に到達した場合には(S64
,サブ親動作期間満了)、S65の処理に移行する。
S65の処理では、副情報配信装置10は、例えば、特定SSIDを宛先として親端末が開設する無線ネットワークN1に接続し、サブ親端末の動作完了の通知(サブ親動作完了確認)を送信する。なお、副情報配信装置10は、例えば、サブ親端末動作期間の満了を契機として自装置の電力量を検知し、検知した電力量をサブ親動作完了確認に含め送信する。
副情報配信装置10は、サブ親動作完了確認の送信に対する親端末からの応答(サブ親動作完了確認応答)を受信する(S66)。そして、副情報配信装置10は、受信したサブ親動作完了確認応答に、サブ親端末の動作を継続する指示(サブ親端末継続指定)が含まれているかを判定する(S67)。図4Dで説明したように、サブ親動作完了確認応答では、サブ親端末継続指定が含まれない場合には、サブ親端末の動作を完了するためのサブ親動作完了指示が含まれる。
副情報配信装置10は、例えば、サブ親動作完了確認応答がサブ親端末継続指定を含む場合には(S67,Y)、S68の処理に移行する。S68の処理では、副情報配信装置10は、例えば、サブ親端末継続指定に含まれる情報を取得する。サブ親端末継続指定には、図4Dで説明したように、継続して特定動作バイナリデータ10aを代理配信するための動作期間(サブ親再動作期間)が含まれる。
副情報配信装置10は、例えば、取得したサブ親再動作期間に基づいて、サブ親動作データ保持部206を更新する。S61の処理で、サブ親動作データ保持部206に保持されたサブ親端末としての動作期間は、サブ親再動作期間に更新される。副情報配信装置10は、サブ親動作データ保持部206の更新後、S64の処理に移行する。副情報配信装置10では、サブ親再動作期間の満了に到達するまでの期間、S62−S64の処理が繰り返される。副情報配信装置10が開設する無線ネットワークN2では、例えば、副情報配信装置10のSSID2を宛先とした子端末からの配信要求に基づいて、特定動作バイナリデータ10aの代理配信が継続される。
一方、副情報配信装置10は、例えば、サブ親動作完了確認応答がサブ親動作完了指示を含む場合には(S67,N)、サブ親端末としての動作を終了する。サブ親端末としての動作を終了した副情報配信装置10は、情報受信装置10に移行する。移行後の情報受信装置10では、例えば、図4Eに例示の受信処理が終了する。情報受信装置10は、例えば、sleep状態に移行し、親端末の開設する無線ネットワークN1の定期監視を継続す
る。
ここで、情報配信装置10で実行されるS1−S3、S11−S16の処理は、複数の情報受信装置に対してデータの配信要求を送信する基準時を配信すると共に複数の情報受信装置から送信された所定のデータの配信要求の受信順に基づいて、副情報配信装置を決定する第1送信処理ステップの一例である。また、情報配信装置10のCPU11等は、複数の情報受信装置に対してデータの配信要求を送信する基準時を配信すると共に複数の情報受信装置から送信された所定のデータの配信要求の受信順に基づいて、副情報配信装置を決定する第1送信処理部の一例として、S1−S3、S11−S16の処理を実行する。
また、情報配信装置10で実行されるS16の処理は、副情報配信装置に決定した情報受信装置を除く他の情報受信装置に対して副情報配信装置の識別情報を送信する第2送信処理ステップの一例である。また、情報配信装置10のCPU11等は、副情報配信装置に決定した情報受信装置を除く他の情報受信装置に対して副情報配信装置の識別情報を送
信する第2送信処理部の一例として、S16の処理を実行する。
また、情報受信装置10で実行されるS44の処理は、自装置の電池残量を検知する検知ステップの一例である。また、情報受信装置10のCPU11等は、自装置の電池残量を検知する検知部の一例として、S44の処理を実行する。
また、情報受信装置10で実行されるS43の処理は、情報配信装置から配信された基準時を受信する通信ステップの一例である。また、情報受信装置10のCPU11等は、情報配信装置から配信された基準時を受信する通信部の一例として、S43の処理を実行する。
また、情報受信装置10で実行されるS44−S45の処理は、電池残量に基づくオフセット時間を算出し、基準時からオフセット時間が経過した時に、データの配信要求を情報配信装置に送信する配信要求処理ステップの一例である。また、情報受信装置10のCPU11等は、電池残量に基づくオフセット時間を算出し、基準時からオフセット時間が経過した時に、データの配信要求を情報配信装置に送信する配信要求処理部の一例として、S44−S45の処理を実行する。
また、情報受信装置10で実行されるS54、S59の処理は、情報配信装置からの指示情報に基づいて、情報配信装置から配信されたデータを情報配信装置に代わって他の情報受信装置に配信する代理配信処理ステップの一例である。また、情報受信装置10のCPU11等は、情報配信装置からの指示情報に基づいて、情報配信装置から配信されたデータを情報配信装置に代わって他の情報受信装置に配信する代理配信処理部の一例として、S54、S59の処理を実行する。
また、情報受信装置10で実行されるS58の処理は、副情報配信装置の識別情報に基づいて、副情報配信装置が配信するデータを受信する受信処理ステップの一例である。また、情報受信装置10のCPU11等は、副情報配信装置の識別情報に基づいて、副情報配信装置が配信するデータを受信する受信処理部の一例として、S58の処理を実行する。
〔処理シーケンス〕
次に、図5A−5Cを参照し、本実施形態の情報配信システム1に含まれる親端末、子端末、サブ親端末についての、特定動作バイナリデータ10aの配信処理に係る処理シーケンスを説明する。なお、図5A−5Cに例示の処理シーケンスは、例えば、親端末、サブ親端末の同時配信可能数が3台の例である。
図5Aに例示の処理シーケンスにおいて、親端末Bは、特定SSIDで識別されるWi-Fi等の無線ネットワークN1の親機として機能する情報配信装置10である。子端末C1
−C7は、無線ネットワークN1に存在する子機として機能する情報受信装置10である。なお、経路R4、R5、R7は、例えば、図1C等で説明した特定動作バイナリデータ10aの配信処理に係る送受信経路を表す。
また、テーブルZ1−Z7は、子端末接続状況保持部201に格納される特定動作バイナリデータ10aの配信状態を表す。各テーブルにおいて、数値“1−7”は、順に、子端末C1−C7を識別する識別情報である。また、各数値に対応付けられた配信状態“親”は、特定動作バイナリデータ10aが親端末Bから配信された状態(配信実行状態)を表す。同様にして、各数値に対応付けられた配信状態“待”は、親端末Bから配信待機を指示された状態(配信待機状態)を表す。
図5Aに例示の処理シーケンスにおいて、親端末Bは、特定SSID等に基づいて、特定動作バイナリデータ10aを配信するための無線ネットワークN1を開設する。子端末C1−C7では、親端末Bの発信するビーコン信号に基づいて、特定SSIDで識別される無線ネットワークN1が特定される。親端末Bと子端末C1−C7との間では、無線LANの通信規格で定義されるプロトコルに沿って接続手順が完了する。
子端末C1−C7は、親端末Bの発信するビーコン信号に含まれる基準時刻(一斉動作時刻)TSを取得すると共に、自端末の電池等に蓄電された電力量を検知する。そして、子端末C1−C7は、それぞれの自端末で検知された電力量に対応するオフセット時間と基準時刻TSとに基づいて、特定動作バイナリデータ10aの配信要求(データ要求)を親端末Bに送信する。
例えば、検知される電力量は、電池等に蓄電される最大電力量に対する比率(電池残量)として表すことが可能である。図5Aでは、例えば、子端末C1の電池残量は90%であると想定する。同様にして、子端末C2−C7のそれぞれの電池残量は、順に、85%、80%、75%、70%、65%、60%であると想定する。子端末C1−C7のそれぞれのオフセット時間T1−T7は電池残量に反比例して算出される。このため、オフセット時間T1−T7の相対的な大小関係は、T1<T2<T3<T4<T5<T6<T7となる。
この結果、基準時刻TSをデータ要求のためのアクセス開始時刻とし、それぞれのオフセット時間T1−T7を足し合わせた時刻でデータ要求を行う場合では、子端末間のデータ要求の送信順は、電池残量が相対的に多い順になる。例えば、相対的に電池残量の最も多い子端末C1が最短期間でデータ要求を送信し、電池残量の最も少ない子端末C7が最後にデータ要求を送信する。親端末Bへのデータ要求の送信順は、子端末C1→子端末C2→子端末C3→子端末C4→子端末C5→子端末C6→子端末C7の順となる。
例えば、子端末C1は、親端末Bに対して時刻(TS+T1)でデータ要求を送信する(経路R4)。親端末Bは、子端末C1のデータ要求を受信し、特定動作バイナリデータ10aが含まれる応答(データ配信応答)を子端末C1に送信する(経路R5)。データ配信応答後、子端末接続状況保持部201に格納される子端末C1の特定動作バイナリデータ10aの配信状態は、テーブルZ1に示すように、親端末Bの配信実行状態へ更新される。
親端末Bは、時刻(TS+T2)で送信された子端末C2からのデータ要求、時刻(TS+T3)で送信された子端末C3からのデータ要求に対し、子端末C1と同様の処理を行い、子端末接続状況保持部201の配信状態を更新する。テーブルZ2、Z3に示すように、子端末C2、C3の特定動作バイナリデータ10aの配信状態は、親端末Bからの配信実行状態へ更新される。
データ配信応答が送信された子端末C1では、データ配信応答の受信時から、特定動作バイナリデータ10aを受信するための受信期間TR1が開始される。受信期間TR1は、親端末Bから子端末C1に配信された特定動作バイナリデータ10aの受信が完了するまで継続する。子端末C2,C3においても同様にして、データ配信応答の受信時を開始時期として、それぞれに配信された特定動作バイナリデータ10aの受信が完了するまでの間、受信期間TR2、TR3が継続する。
子端末C3へのデータ配信応答後、親端末Bは、時刻(TS+T4)で送信された子端末C4からのデータ要求を受信する。子端末C4のデータ要求を受信した時点では、親端末Bの特定動作バイナリデータ10aの配信処理数は、同時配信可能数に到達している。
また、子端末C1−C3では、それぞれに受信期間TR1−TR3が継続されている。このため、親端末Bが開設した無線ネットワークN1内には、親端末Bと並行して特定動作バイナリデータ10aの代理配信を行うための、サブ親端末に指定する子端末が存在しない。
親端末Bは、子端末C4からのデータ要求に対し、経路7に示す、特定動作バイナリデータ10aの配信についての待機指示を含む応答(待ち応答)を送信する。親端末Bは、自端末を配信要求の宛先として、配信要求のアクセス時刻を指定した待ち応答を送信する。親端末Bは、待ち応答の送信後、子端末接続状況保持部201に格納される子端末C4の配信状態を、親端末Bからの配信待機状態に更新する(テーブルZ4)。
親端末Bは、時刻(TS+T5)で送信された子端末C5からのデータ要求、時刻(TS+T6)で送信された子端末C6からのデータ要求、時刻(TS+T7)で送信された子端末C7からのデータ要求に対し、子端末C4と同様の処理を行う。子端末C5−C7のデータ要求を受信した時点では、親端末Bは同時配信可能数に到達しており、子端末C1−C3では、受信期間TR1−TR3が継続されている。子端末C5−C7のデータ要求を受信した時点では、親端末Bと並行して代理配信を行うための、サブ親端末に指定する子端末が存在しないからである。
子端末C5−C7からのデータ要求に対しては、親端末Bを配信要求の宛先とした、配信要求のアクセス時刻を指定した待ち応答が送信される。また、子端末接続状況保持部201に格納される子端末C5−C7の配信状態は、親端末Bからの配信待機状態に更新される(テーブルZ5−Z7)。
待ち応答が送信された子端末C4では、待ち応答の受信時を開始時期として、指定されたアクセス時刻に到達するまでの間、sleep状態での待機期間TW4が継続する。同様に
して、子端末C5−C7においても、待ち応答の受信時を開始時期として、指定されたアクセス時刻に到達するまでの間、sleep状態での待機期間TW5−TW7がそれぞれに継
続する。図5Aに例示の処理シーケンスは、図5Bに例示する処理シーケンスに移行する。
図5Bに例示の処理シーケンスにおいて、経路R4−R11は、例えば、図1C、1D等で説明した特定動作バイナリデータ10aの配信処理に係る送受信経路を表す。また、テーブルZ8−Z14は、子端末接続状況保持部201に格納される特定動作バイナリデータ10aの配信状態を表す。各テーブルにおいて、数値“1−7”は、順に、子端末C1−C7を識別する識別情報である。各数値に対応付けられた配信状態“親”は、特定動作バイナリデータ10aが親端末Bから配信された状態(配信実行状態)を表す。同様にして、各数値に対応付けられた配信状態“待”は、親端末Bから配信待機を指示された状態(配信待機状態)を表す。また、丸囲みされた数値“1”は、サブ親端末に指定された子端末C1を表す。
図5Bに例示の処理シーケンスにおいて、子端末C1では受信期間TR1の終了後、受信した特定動作バイナリデータ10aに基づいてフラッシュメモリ等に記憶されたファームウェアプログラム等の更新処理が実行される。更新処理は、更新期間TM1で示すように、受信期間TR1の終了を開始時としてチェックレポートの生成が完了するまでの期間に実行される。
更新期間TM1の終了後、子端末C1は、生成したチェックレポートを特定動作バイナリデータ10aに基づく特定動作結果報告(結果報告)として親端末Bに送信する(経路R6)。子端末C1は、チェックレポートを送信する際に自端末の電池残量を検知し、検
知した電池残量を特定動作結果報告に含め、親端末Bに送信する。
親端末Bは、子端末C1から送信された結果報告を受信し、子端末C1の電池残量を取得する。なお、結果報告に含まれるチェックレポートの内容は、子端末C1の識別情報に対応付けて特定動作実行結果情報保持部202に蓄積される。
子端末C1からの結果報告を受信した時点では、テーブルZ7に示すように、配信待機状態にある子端末の台数[A]は4台である。また、動作中のサブ親端末は存在しないため、(親端末+動作中のサブ親端末)の同時配信可能数[B]は3台になる。親端末Bは、“[A]>[B]”の状態を解消するため、子端末C1がサブ親端末としての動作条件を満たすかの判定を行い、サブ親端末の動作指定を行う。子端末C1には、結果報告に含まれた電池残量と動作中のサブ親端末の台数とに基づいて、サブ親端末としての動作指定が行われる。
子端末C1の結果報告に対し、経路R8に示すように、親端末Bは、サブ親端末動作指定を含む応答(報告応答)を送信する。サブ親端末動作指定には、サブ親端末の動作期間、サブ親端末が開設する無線ネットワークN2を識別するSSID2が含まれる。
親端末Bは、報告応答の送信後、子端末C1へ送信したサブ親端末動作としての指定情報を子端末C1の識別情報に対応付けてサブ親動作状況保持部203に格納する。同様にして、テーブルZ8に示すように、親端末Bは、子端末接続状況保持部201に格納された子端末C1の配信状態を、更新完了状態に更新する。
報告応答を受信した子端末C1は、サブ親端末動作指定のSSID2をビーコン情報として発信し、無線ネットワークN2を開設する(サブ親化)。無線ネットワークN2を介した特定バイナリデータ10aの代理配信は、子端末C1のサブ親動作期間SB1の満了まで継続される。サブ親化した子端末C1は、SSID2を宛先としたデータ要求を受信するまで待機する(要求待)。
子端末C2では受信期間TR2の終了後、子端末C3では受信期間TR3の終了後、それぞれに、受信した特定動作バイナリデータ10aに基づいてフラッシュメモリ等に記憶されたファームウェアプログラム等の更新処理が実行される。子端末C2,C3では、子端末C1と同様にして、更新期間TM2,TM3に更新処理が行われる。更新処理の結果としてチェックレポートが生成される。
更新期間TM2の終了後、子端末C1と同様にして子端末C2は、チェックレポートおよび自端末の電池残量を含む結果報告を親端末Bに送信する。子端末C2のチェックレポートの内容は、子端末C2の識別情報に対応付けて特定動作実行結果情報保持部202に蓄積される。
子端末C2からの結果報告を受信した時点では、テーブルZ8に示すように、配信待機状態にある子端末の台数[A]は4台である。しかし、サブ親化した子端末C1が動作中のため、(親端末+動作中のサブ親端末)の同時配信可能数[B]は6台になる。親端末Bは、“[A]<[B]”であるため、子端末C2に対するサブ親動作端末の指定は行わない。
子端末C2の結果報告に対し、経路R12に示すように、親端末Bは、サブ親端末動作指定を含まない報告応答を送信する。親端末Bは、報告応答の送信後、子端末接続状況保持部201に格納された子端末C2の配信状態を、更新完了状態に更新する(テーブルZ9)。報告応答を受信した子端末C2では、親端末Bから配信された特定動作バイナリデ
ータ10aの受信処理が完了する(完了)。
親端末Bは、更新期間TM3の終了後に子端末C3から送信される結果報告に対し、子端末C2と同様の処理を行う。すなわち、親端末Bは、子端末C3の識別情報に対応付けたチェックレポートの内容を特定動作実行結果情報保持部202に蓄積し、サブ親端末動作指定を含まない報告応答を送信する(経路R12)。子端末C3からの結果報告を受信した時点では、(親端末+動作中のサブ親端末)の同時配信可能数[B]は6台であり、配信待機状態にある子端末の台数[A]の4台を上回るためである。
親端末Bは、報告応答の送信後、子端末接続状況保持部201に格納された子端末C3の配信状態を、更新完了状態に更新する(テーブルZ10)。報告応答を受信した子端末C3では、親端末Bから配信された特定動作バイナリデータ10aの受信処理が完了する(完了)。
待ち応答が送信された子端末C4は、指定されたアクセス時刻に到達すると、親端末Bを宛先としたデータ再要求を送信する(経路R4)。子端末C4のデータ再要求を受信した時点では、テーブルZ10に示すように、配信実行状態の子端末数は“0”台であり、親端末Bの同時配信可能数内である。このため、親端末Bは、子端末C4のデータ再要求に対し、特定動作バイナリデータ10aが含まれる応答(データ配信応答)を送信する(経路R5)。
親端末Bは、データ配信応答後、子端末接続状況保持部201に格納された子端末C4の配信状態を、配信待機状態から親端末Bの配信実行状態に更新する(テーブルZ11)。データ配信応答が送信された子端末C4では、データ配信応答の受信時を開始時期として、特定動作バイナリデータ10aの受信が完了するまで、受信期間TR4が継続する。
子端末C5においても、指定したアクセス時刻への到達を契機として、親端末Bを宛先とするデータ再要求が送信される。子端末C5のデータ再要求を受信した時点では、テーブルZ11に示すように、配信実行状態の子端末数は“1”台であり、親端末Bの同時配信可能数内である。このため、親端末Bは、子端末C5のデータ再要求に対し、特定動作バイナリデータ10aが含まれる応答(データ配信応答)を送信する。
親端末Bは、子端末C5へのデータ配信応答後、子端末接続状況保持部201に格納された子端末C5の配信状態を、配信待機状態から親端末Bの配信実行状態に更新する(テーブルZ12)。子端末C5では、データ配信応答の受信時を開始時期として、特定動作バイナリデータ10aの受信が完了するまで、受信期間TR5が継続する。
子端末C6においても、指定したアクセス時刻への到達を契機として、親端末Bを宛先とするデータ再要求が送信される。子端末C6のデータ再要求を受信した時点では、テーブルZ12に示すように、配信実行状態の子端末数は“2”台であり、親端末Bの同時配信可能数内である。このため、親端末Bは、子端末C6のデータ再要求に対し、特定動作バイナリデータ10aが含まれる応答(データ配信応答)を送信する。
親端末Bは、子端末C6へのデータ配信応答後、子端末接続状況保持部201に格納された子端末C6の配信状態を、配信待機状態から親端末Bの配信実行状態に更新する(テーブルZ13)。子端末C6では、データ配信応答の受信時を開始時期として、特定動作バイナリデータ10aの受信が完了するまで、受信期間TR6が継続する。
子端末C7においても、指定したアクセス時刻への到達を契機として、親端末Bを宛先とするデータ再要求が送信される。しかし、子端末C7のデータ再要求を受信した時点で
は、テーブルZ13に示すように、配信実行状態の子端末数は“3”台であり、親端末Bの同時配信可能数に到達する。但し、テーブルZ13の丸囲み数値に示すように、サブ親化した子端末C1(サブ親端末1とも称す)が動作中であり、サブ親端末としての同時配信可能数には到達していない状態(配信空き状態)である。
親端末Bは、子端末C7に対する特定動作バイナリデータ10aの配信を並行して実行するため、子端末C7に対して、サブ親端末1を介して特定動作バイナリデータ10aを取得する指示を行う。
親端末Bは、子端末C7のデータ再要求に対し、サブ親端末1が開設する無線ネットワークN2の識別情報(SSID2)、サブ親端末1へのアクセス時刻指定を含む応答(サブ親からの取得指示)を送信する(経路R9)。親端末Bは、子端末C7に対するサブ親からの取得指示後、子端末接続状況保持部201に格納された子端末C7の配信状態を、配信待機状態からサブ親端末1の配信実行状態に更新する(テーブルZ14)。
子端末C7では、SSID2に基づいてサブ親端末1が開設した無線ネットワークN2が特定される。サブ親端末1と子端末C7との間では、無線LANの通信規格で定義されるプロトコルに沿って接続手順が完了する。
経路R10に示すように、子端末C7は、サブ親端末1に対して、SSID2を宛先とする特定動作バイナリデータ10aの配信要求を送信する(サブ親へ取得要求)。サブ親動作期間SB1のサブ親端末1は、子端末C7の特定動作バイナリデータ10aの配信要求を受信し、特定動作バイナリデータ10aが含まれる応答を子端末C7に送信する(経路R11)。子端末C7では、サブ親端末1の応答の受信時を開始時期として、代理配信された特定動作バイナリデータ10aの受信完了のときまで、受信期間TR7が継続する。図5Bに例示の処理シーケンスは、図5Cに例示する処理シーケンスに移行する。
図5Cに例示の処理シーケンスにおいて、経路R6,R12は、図5B等で説明した通りである。また、テーブルZ15−Z19は、子端末接続状況保持部201に格納される特定動作バイナリデータ10aの配信状態を表す。各テーブル中の記載は、図5B等で説明した通りである。
図5Cに例示の処理シーケンスにおいて、受信期間TR4終了後の子端末C4では、受信した特定動作バイナリデータ10aに基づいてフラッシュメモリ等に記憶されたファームウェアプログラム等の更新処理が実行される。更新処理は、更新期間TM4で示すように、受信期間TR4の終了を開始時としてチェックレポートの生成が完了するまでの期間に実行される。
子端末C5−C7についても同様の処理が行われる。子端末C5では受信期間TR5の終了を開始時とする更新期間TM5、子端末C6では受信期間TR5の終了を開始時とする更新期間TM6でチェックリポートの生成が実行される。子端末C7では、受信期間TR7の終了を開始時とする更新期間TM7でチェックリポートの生成が実行される。
更新期間TM4の終了後、子端末C4は、生成したチェックレポートを結果報告として親端末Bに送信する(経路R6)。子端末C4は、チェックレポートを送信する際に自端末の電池残量を検知し、検知した電池残量を結果報告に含め、親端末Bに送信する。子端末C4のチェックレポートの内容は、子端末C4の識別情報に対応付けて特定動作実行結果情報保持部202に蓄積される。
子端末C4からの結果報告を受信した時点では、テーブルZ14に示すように、配信待
機状態にある子端末は存在しない。親端末Bは、子端末C4の結果報告に対し、経路R12に示すように、サブ親端末動作指定を含まない報告応答を送信する。親端末Bは、報告応答の送信後、子端末接続状況保持部201に格納された子端末C4の配信状態を、更新完了状態に更新する(テーブルZ15)。報告応答を受信した子端末C4では、親端末Bから配信された特定動作バイナリデータ10aの受信処理が完了する(完了)。
親端末Bでは、更新期間TM5の終了後に子端末C5から送信される結果報告、更新期間TM6の終了後に子端末C6から送信される結果報告、更新期間TM7の終了後に子端末C7から送信される結果報告に対し、子端末C4と同様の処理が行われる。親端末Bは、子端末C5−C7の各識別情報に対応付けたチェックレポートの内容を特定動作実行結果情報保持部202に蓄積し、サブ親端末動作指定を含まない報告応答を送信する(各経路R12)。子端末C5−C7からの結果報告を受信した時点では、配信待機状態の子端末は存在しないからである。
親端末Bは、報告応答の送信後、子端末接続状況保持部201に格納された子端末C5−C7の配信状態を、更新完了状態に更新する(テーブルZ16−Z18)。報告応答を受信した子端末C5−C7では、それぞれに、親端末Bから配信された特定動作バイナリデータ10aの受信処理が完了する(完了)。
サブ親端末に指定された子端末C1は、サブ親端末の動作期間SB1満了後(一定時間後)、経路R13に示すように、親端末Bに対し、サブ親端末の動作完了の通知(サブ親動作完了確認)を送信する。サブ親動作完了確認は、特定SSIDを宛先として送信される(サブ親完了確認要求)。また、サブ親動作完了確認には、サブ親端末の動作期間の満了を契機として検知された電池残量が含まれる。
サブ親端末からのサブ親完了確認要求を受信した時点では、テーブルZ18に示すように、配信待機状態にある子端末は存在しない。このため、親端末Bは、サブ親端末からのサブ親完了確認要求に対し、経路R14に示すように、サブ親動作完了指示を含む応答(サブ親完了応答)を送信する。親端末Bは、サブ親完了応答の送信後、サブ親動作状況保持部203に格納された、サブ親端末の動作状況を更新する。そして、親端末Bは、サブ親完了応答に基づいて、子端末接続状況保持部201に格納された子端末C1−C7の配信状態を更新する(テーブルZ19)。サブ親完了応答を受信したサブ親端末では、特定動作バイナリデータ10aの代理配信を行うサブ親端末としての動作が完了する(サブ親動作完了)。
以上、説明したように、本実施形態の情報配信システム1では、情報配信装置10は、無線ネットワークN1に存在する子端末に対して、特定動作バイナリデータ10aの配信要求を行う際の基準時刻を設定できる。子端末の情報受信装置10は、それぞれの電池等に蓄電された電力量を検知し、検知された電力量に対応したオフセット期間を算出できる。それぞれの情報受信装置10は、基準時刻を開始時刻としてオフセット期間の経過後に、情報配信装置10に対して特定動作バイナリデータ10aの配信要求を送信できる。
この結果、本実施形態の情報配信システム1では、情報配信装置10は、例えば、無線ネットワークN1に接続する複数の子端末に対し、電力量の多い順に特定動作バイナリデータ10aの配信要求を実行するよう調停することが可能になる。情報配信装置10は、同時配信可能数内の子端末に対し、電力量の多い順に特定動作バイナリデータ10aを優先的に配信することができる。
なお、本実施形態の情報配信システム1では、情報配信装置10は、同時配信可能数を超えた子端末に対し、アクセス先およびアクセス時刻を指定した待機指示を送信すること
ができる。情報配信装置10は、例えば、サブ親端末が動作中の場合には、同時配信可能数を超えた子端末に対し、サブ親端末を経由して特定動作バイナリデータ10aの取得を行うように指示できる。情報配信装置10では、同時配信可能数を超える子端末からの配信要求の集中を抑制すると共に、サブ親端末と並行して特定動作バイナリデータ10aの配信を行うことで配信効率が向上できる。また、待機指示を受けた情報受信装置10は、指定されたアクセス時刻までsleep状態に移行する。子端末としての情報受信装置10で
は、待機時の電力消費が抑制できる。
本実施形態の情報配信システム1では、情報配信装置10は、電池等に蓄電された電力量が相対的に多い子端末から順に、サブ親端末の指定を行うことができる。情報配信装置10は、電池等に蓄電された電力量の相対的に少ない子端末がサブ親端末に指定される状態を防止できる。また、本実施形態の情報配信システム1では、情報配信装置10は、サブ親端末に対し、特定動作バイナリデータ10aを代理配信するための動作期間を指定することができる。そして、サブ親端末としての副情報配信装置10は、指定された動作期間の満了時に、自装置の電力量を検知し、検知した電力量を動作完了確認要求に含めて親端末に送信できる。
本実施形態の情報配信システム1では、情報配信装置10は、動作完了確認要求に含まれるサブ親端末の電力量、待機状態にある子端末の数量、親端末およびサブ親端末での同時配信可能数に基づいて、サブ親端末の動作継続を判定できる。情報配信システム1では、サブ親端末に指定された副情報配信装置10の電力枯渇の助長や電力枯渇による特定動作バイナリデータ10aの代理配信の失敗を未然に抑止することができる。本実施形態の情報配信システム1では、電池残量の少ない装置による情報配信の失敗する可能性を低減できる技術が提供できる。
<<第2実施形態>>
次に説明する、第2実施形態(以下、本実施形態とも称す)の情報配信システム1では、子端末は、親端末が開設した無線ネットワークN1を特定した後、自装置の電力量を検知し、検知した電力量を付加した配信要求を親端末に送信する。親端末である情報配信装置10は、開設した無線ネットワークN1に存在する子端末を特定するため、一定期間に亘り、それぞれの子端末が発信する配信要求を受信する。
本実施形態の情報配信システム1の親端末である情報配信装置10は、一定期間で受信された配信要求に基づいて、子端末間の相対的な電力量の大小を特定する。そして、情報配信装置10は、特定した子端末間の相対的な電力量の大小、および、一定期間に受信された子端末の数量(台数)に基づいて、サブ親端末として機能する副情報配信装置10を各子端末の中から特定する。
本実施形態の情報配信システム1では、無線ネットワークN1に存在する子端末間の相対的な電力量の大小、および、子端末の数量に基づいた、(親端末+サブ親端末)による同時配信可能数の動的な割り当てが可能になる。本実施形態の情報配信システム1においても、電池等に蓄電された電力量の相対的に少ない子端末がサブ親端末として指定される状態を防止することができる。サブ親端末に指定された、電池等に蓄電された電力量の少ない副情報配信装置10の電力枯渇の助長や電力枯渇による特定動作バイナリデータ10aの代理配信の失敗を未然に抑止することができる。
〔装置構成および処理ブロック構成〕
本実施形態の情報配信システム1の、親端末として機能する情報配信装置10のハードウェア構成は、例えば、図2に例示の第1実施形態の情報処理装置10と同様である。また、本実施形態の情報配信システム1の、子端末として機能する情報受信装置10、サブ
親端末として機能する副情報配信装置10についても、図2に例示のハードウェア構成が適用される。
同様にして、図3Aに例示の、親端末の処理ブロックの説明図、図3Bに例示の子端末の処理ブロックの説明図、図3Cに例示のサブ親端末の処理ブロックの説明図は、本実施形態の情報配信システム1の親端末、子端末、サブ親端末に適用される。
但し、本実施形態の情報配信装置10で実行される親端末動作実行部103では、各子端末からの配信要求に含まれる電力量に基づいて生成されたリストが子端末接続状況保持部201に格納される。また、親端末動作実行部103では、各子端末からの配信要求に含まれる電力量に基づいて、特定動作バイナリデータ10aの配信前にサブ親端末の割り当てが実行される。本実施形態の親端末として機能する情報配信装置10で実行されるリストの生成、サブ親端末の割り当てについては、図6A,6Bで詳細を説明する。
また、本実施形態の子端末として機能する情報受信装置10の、子端末動作実行部101では、配信要求の送信前に自装置の電力量が検知され、検知した電力量を含む配信要求が送信される。本実施形態の子端末として機能する情報受信装置10については、図6Cで詳細を説明する。
〔処理フロー〕
以下、図6A−6Cに例示のフローチャートを参照し、第1実施形態の情報配信システム1と相違する本実施形態の配信処理を説明する。親端末として機能する本実施形態の情報配信装置10では、例えば、図4A、4Dに例示のフローチャートを図6A、6Bに例示のフローチャートに替えて、配信処理が行われる。また、子端末として機能する本実施形態の情報受信装置10では、例えば、図4Eに例示のフローチャートを図6Cに例示のフローチャートに替えて、特定動作バイナリデータ10aの受信処理が行われる。なお、サブ親端末として機能する副情報配信装置10では、例えば、図4Fに例示の第1実施形態と同様の代理配信処理が行われる。
(親端末)
図6Aに例示のフローチャートにおいて、親端末として機能する本実施形態の情報配信装置10の配信処理の開始は、例えば、管理者等による操作入力指示の受け付けのときが例示できる。情報配信装置10は、例えば、入力部14を介して管理者等の操作入力指示を受け付ける。管理者等の操作入力指示には、例えば、特定データ保持部204に格納された特定動作バイナリデータ10aの配信指示、開設した無線ネットワークN1に存在する子端末の台数等を確定するための受信待ち期間(一定期間)等の制御情報が含まれる。受信待ち期間は、例えば、情報配信システム1の規模、無線ネットワークN1の領域範囲、親端末および子端末の性能等に応じて、一定期間が設定される。
制御情報には、例えば、子端末に対して同時に配信処理が行える処理数(同時配信可能数)、サブ親端末の動作期間、サブ親端末を完了するための電力量等が含まれるとしてもよい。なお、サブ親端末の同時配信可能数は、親端末と同数であるとする。情報配信装置10は、例えば、入力部14を介して受け付けた制御情報を主記憶部12の所定の領域に一時的に記憶する。
情報配信装置10は、例えば、特定データ保持部204を参照し、特定動作バイナリデータ10aを取得する。同様に、情報配信装置10は、例えば、親端末ネットワークID保持部205を参照し、Wi-Fi等の無線ネットワークN1を識別する特定SSIDを取得する。情報配信装置10は、取得した特定動作バイナリデータ10a、特定SSIDを関連付けて主記憶部12の所定の領域に一時的に記憶する。
情報配信装置10は、例えば、親端末ネットワークID保持部205から取得した特定SSID等に基づいて、特定動作バイナリデータ10aを配信するための無線ネットワークN1を開設する(S71)。無線ネットワークN1の開設については、図1B等で説明した。
情報配信装置10は、無線ネットワークN1に存在する各子端末との間で、無線LANの通信規格で定義されるプロトコルに沿って接続手順を完了する。接続手順完了後、情報配信装置10は、無線ネットワークN1に存在する各子端末からの、情報配信装置10を宛先とする配信要求のアクセスが受信されるまで待機する(S72)。
情報配信装置10は、無線ネットワークN1に存在する各子端末からの、特定動作バイナリデータ10aの配信要求を受信する(S73)。子端末から送信された配信要求には、子端末毎のMACアドレス等の識別情報、子端末毎に検知された電池等に蓄電された電力量が含まれる。配信要求に含まれる電力量は、例えば、電池等の最大蓄電量に対する比率(電池残量)として表すことができる。
情報配信装置10は、例えば、子端末から送信された配信要求に含まれる子端末毎の識別情報、電力量(電池残量)を取得する。そして、情報配信装置10は、例えば、子端末毎の識別情報に取得した電池残量を対応付けた、要求子端末リストを生成する。情報配信装置10は、例えば、生成した要求子端末リストを子端末接続状況保持部201に格納する(S74)。子端末接続状況保持部201には、例えば、子端末毎の電池残量が相対的に多い順に整列された状態で、要求子端末リストが格納される。
情報配信装置10は、要求子端末リストを生成した子端末に対して、特定動作バイナリデータ10aの配信についての待機指示を含む応答(待ち応答)を送信する(S75)。待ち応答には、例えば、子端末が配信要求を送信するアクセス時刻の指定、配信要求の宛先(情報配信装置10)が含まれる。情報配信装置10は、例えば、開設した無線ネットワークN1に存在する子端末の台数等を確定するための受信待ち期間(一定期間)の経過後に、待機後の子端末からの配信要求のアクセス時刻が到来するよう時刻指定を行う。
S76の処理では、情報配信装置10は、例えば、開設した無線ネットワークN1に存在する子端末の台数等を確定するための受信待ち期間が経過したかを判定する。情報配信装置10は、例えば、タイマ部104等で計測された時刻が、受信待ち期間の経過を示す場合には(S76,Y)、S77の処理に移行する。一方、情報配信装置10は、例えば、タイマ部104等で計測された時刻が、受信待ち期間の経過を示さない場合には(S77,N)、S72の処理に移行し、受信待ち期間が経過するまで、S72−S76の処理を繰り返す。
S77の処理に移行した情報配信装置10では、S78−S85の処理により、無線ネットワークN1に存在する子端末の数量に対応したサブ親端末の割り当てが実行される。S78−S85の処理により、要求子端末リストが生成された子端末の中から、相対的に電池残量が多い順に、無線ネットワークN1に存在する子端末の数量に対応したサブ親端末の指定およびサブ親端末の数量が動的に割り当てられる。
情報配信装置10は、例えば、無線ネットワークN1に存在する特定動作バイナリデータ10aの配信対象となる子端末の台数を“N”に設定する。また、情報配信装置10は、配信対象となる子端末の台数に対して想定されるサブ親端末の動作台数を“i”に設定する(S78)。
情報配信装置10は、例えば、S74の処理で子端末接続状況保持部201に格納された要求子端末リストを取得する。そして、情報配信装置10は、取得した要求子端末リストに含まれる子端末の台数から、無線ネットワークN1に存在する特定動作バイナリデータ10aの配信対象となる子端末の台数“N”を特定する(S79)。
情報配信装置10は、例えば、サブ親端末の想定動作台数“i”に初期値“0”を設定し、設定したサブ親端末の想定動作台数をS81の処理に引き渡す(S80)。情報配信装置10は、S80の処理から引き渡されたサブ親端末の想定動作台数“i”に基づいて、次に示す[A1]、[B2]の数値を算出する(S81)。
・[A1]=(親端末+サブ親端末の想定動作台数“i”)で同時配信可能な処理数
・[B2]=(要求子端末数“N”−“i”)
S81の処理で算出された数値[A1]、[B2]は、S82の処理に引き渡される。
S82の処理では、情報配信装置10は、S82の処理から引き渡された数値[A1]、[B2]について、条件“[A1]>[B2]”を満たすか否かを判定する。情報配信装置10は、例えば、S82の処理から引き渡された数値[A1]、[B2]が条件“[A1]>[B2]”を満たす場合には(S82,Y)、S83の処理に移行する。S83の処理では、情報配信装置10は、条件“[A1]>[B2]”を満たすと判定された処理対象の“i”をサブ親動作台数(i)に決定し、決定されたサブ親台数(i)を主記憶部12の所定の領域に一時的に記憶し、S86の処理に移行する。
一方、情報配信装置10は、例えば、S82の処理から引き渡された数値[A1]、[B2]が条件“[A1]>[B2]”を満たさない場合には(S82,N)、S84の処理に移行する。
S84の処理では、情報配信装置10は、例えば、要求子端末リストの“i+1”番目に整列された子端末が、その他サブ親起動条件を満たしているかを判定する。その他サブ親起動条件については、図4CのS25の処理で説明した。情報配信装置10は、例えば、要求子端末リストの“i+1”番目に整列された子端末が、その他サブ親起動条件を満たしていない場合には(S84,N)、S83の処理に移行する。情報配信装置10では、これ以上の数量のサブ親動作の割り当ては不可能と判断できるからである。
一方、情報配信装置10は、例えば、要求子端末リストの“i+1”番目に整列された子端末が、その他サブ親起動条件を満たしている場合には(S84,Y)、S85の処理に移行する。S85の処理では、情報配信装置10は、処理対象の想定サブ親動作台数“i”の数値を“1”インクリメントし、S81の処理に移行する。情報配信装置10では、S81−S85の処理が繰り返して実行され、無線ネットワークN1に存在する配信対象の子端末の台数“N”に動的に対応したサブ親端末の数量が決定される。情報配信装置10では、要求子端末リストが生成された子端末の中から、相対的に電池残量の多い順にサブ親端末への割り当てが行われる。
S86の処理では、情報配信装置10は、S78−S85の処理で割り出されたサブ親端末の数量に基づいて、「配信割り当てリスト」を生成する。「配信割り当てリスト」には、例えば、相対的に電池残量の多い順に、子端末が格納される。情報配信装置10では、「配信割り当てリスト」でサブ親端末に割り当てられた子端末に対し、電池残量の多い順に、親端末の配信する特定動作バイナリデータ10aが受信できるように配信調整される。また、情報配信装置10では、サブ親端末に割り当てられた子端末を除く、他の子端末について、親端末の配信する特定動作バイナリデータ10aの配信待ちが割り当てられる。
情報配信装置10は、例えば、生成した「配信割り当てリスト」を子端末接続状況保持
部201に格納する。そして、情報配信装置10は、S2の処理に移行し、S3,S87、S5の処理を実行する。S2,S3,S5の処理については、図4A、4B、4D等で説明した。本実施形態の情報配信装置10では、図4C等に例示のS4の処理に替えて、図6Bに例示のS87の処理が実行される。
((特定動作結果報告応答処理))
次に、図6Bに例示のフローチャートを参照し、図6Aに例示のS87の処理を説明する。本実施形態の情報配信装置10では、例えば、図4Cに例示のS22−S23の処理に替えて、図6Bに例示のS91−S92の処理が実行される。情報配信装置10は、S91−S92の処理により、特定動作バイナリデータ10aに基づく更新処理の結果報告を送信した子端末が、図6AのS86等の処理でサブ親端末に割り当て予定の端末であるかの判定が行われる。
図6Bに例示のフローチャートにおいて、S21の処理では、図4Cに例示の処理と同様の処理が行われる。すなわち、情報配信装置10は、例えば、子端末から送信された特定動作バイナリデータ10aに基づく更新処理の結果報告(チェックレポート)を受信する。そして、情報配信装置10は、例えば、受信した更新処理の結果報告を、子端末のMACアドレス等の識別情報に対応付けて特定動作実行結果情報保持部202に記憶する。特定動作実行結果情報保持部202には、情報配信システム1に存在する複数の子端末から送信された特定動作バイナリデータ10aに基づく更新処理の結果報告が蓄積される。なお、S21の処理では、受信した更新処理の結果報告に含まれる子端末の電力量である電池残量が取得される。
図6Bに例示のフローチャートにおいて、S91の処理では、情報配信装置10は、例えば、子端末接続状況保持部201を参照し、「配信割り当てリスト」を取得する。そして、情報配信装置10は、取得した「配信割り当てリスト」に基づいて、処理中の子端末が、サブ親端末として割り当て予定の端末であるかを判定する(S92)。
情報配信装置10は、例えば、処理中の子端末が、サブ親端末として割り当て予定の端末である場合には(S92,Y)、S25の処理に移行する。一方、情報配信装置10は、例えば、処理中の子端末が、サブ親端末として割り当て予定の端末でない場合には(S92,N)、S24の処理に移行する。
S24の処理では、情報配信装置10は、例えば、特定動作バイナリデータ10aに基づく更新処理の結果報告を送信した子端末に対し、該更新処理の結果報告の受信応答を送信する。情報配信装置10は、受信応答が送信された子端末について、例えば、子端末接続状況保持部201に格納された特定動作バイナリデータ10aの配信状態を更新する。S24の処理では、更新処理の結果報告に対して受信応答が送信された子端末の配信状態は、例えば、更新完了状態に更新される。情報配信装置10は、S24の処理の実行後、図6Aに例示のS2の処理に移行する。
S25の処理では、図4Cに例示のS25の処理に示すように、更新処理の結果報告を送信した子端末がサブ親端末としての動作条件を満たしているかの判定が行われる。情報配信装置10は、処理対象の子端末がサブ親端末としての動作条件を満たしている場合には(S25,Y)、図4Cに例示のS26−S27の処理が実行される。
情報配信装置10は、例えば、親端末ネットワークID保持部205を参照し、サブ親端末に割り当てるSSID2を取得する。また、情報配信装置10は、管理者等の制御情報に含まれるサブ親端末の動作期間を取得する。そして、情報配信装置10は、例えば、更新処理の結果報告を送信した子端末に対し、サブ親端末動作指定を含む応答を送信する
。サブ親端末動作指定には、例えば、サブ親端末が開設する無線ネットワークN2を識別するSSID2が含まれる。また、サブ親端末動作指定には、サブ親端末として特定動作バイナリデータ10aを代理配信するための動作期間が含まれる。サブ親端末の動作期間については、図3A等で説明した。
情報配信装置10は、S26の処理で子端末に応答した、サブ親端末動作指定の情報をサブ親動作状況保持部203に格納する。また、情報配信装置10は、サブ親端末動作指定を含む応答が送信された子端末について、例えば、子端末接続状況保持部201に格納された特定動作バイナリデータ10aの配信状態を更新する。情報配信装置10は、S27の処理の実行後、図6Aに例示のS2の処理に移行する。
一方、情報配信装置10は、処理対象の子端末がサブ親端末としての動作条件を満たしていない場合には(S25,N)、S24の処理が実行される。S24の処理では、更新処理の結果報告に対して受信応答が送信された子端末の配信状態は、例えば、更新完了状態に更新される。情報配信装置10は、S24の処理の実行後、図6Aに例示のS2の処理に移行する。
(子端末)
次に、図6Cに例示のフローチャートを参照し、本実施形態の子端末として機能する情報受信装置10の特定動作バイナリデータ10aの受信処理を説明する。本実施形態の情報受信装置10では、例えば、図4Eに例示のS43−S46の処理に替え、図6Cに例示のS93−S94の処理が実行される。
図6Cに例示のフローチャートにおいて、本実施形態の情報受信装置10では、S41−S42の処理後、S93の処理が実行される。S41−S42の処理は、図4Eで説明した。
S93の処理では、情報受信装置10は、自装置の電池等に蓄電された電力量を検知する。ここで、電力量は、例えば、電池等の最大蓄電量に対する比率(電池残量)として表すことができる。情報受信装置10は、例えば、検知した電力量(電池残量)をS94の処理に引き渡す。
S94の処理では、情報受信装置10は、S93の処理で検知された電力量を取得する。そして、情報受信装置10は、取得した電力量を特定動作バイナリデータ10aの配信要求に付加して送信する。子端末の電力量が付加された配信要求は、親端末の特定SSIDを宛先として送信される。
S94の処理後、本実施形態の情報受信装置10では、S47−S59の処理が実行される。情報受信装置10では、第1実施形態と同様に、図4Eに例示のS47−S59の処理が実行される。
ここで、情報配信装置10で実行されるS77−S83,S91−S92,S25−S27の処理は、複数の情報受信装置から、それぞれの情報受信装置の電池残量に応じてデータを配信する副情報配信装置を決定すると共に副情報配信装置に指示情報を送信する第1送信処理ステップの一例である。また、情報配信装置10のCPU11等は、複数の情報受信装置から、それぞれの情報受信装置の電池残量に応じてデータを配信する副情報配信装置を決定すると共に副情報配信装置に指示情報を送信する第1送信処理部の一例としてS77−S83,S91−S92,S25−S27の処理を実行する。
また、情報配信装置10で実行されるS16の処理は、副情報配信装置に決定した情報
受信装置を除く他の情報受信装置に対して副情報配信装置の識別情報を送信する第2送信処理ステップの一例である。また、情報配信装置10のCPU11等は、副情報配信装置に決定した情報受信装置を除く他の情報受信装置に対して副情報配信装置の識別情報を送信する第2送信処理部の一例として、S16の処理を実行する。
また、情報受信装置10で実行されるS93の処理は、自装置の電池残量を検知する検知ステップの一例である。また、情報受信装置10のCPU11等は、自装置の電池残量を検知する検知部の一例として、S93の処理を実行する。
また、情報受信装置10で実行されるS94の処理は、検知した電池残量とともにデータの配信要求を情報配信装置に送信する配信要求処理ステップの一例である。また、情報受信装置10のCPU11等は、検知した電池残量とともにデータの配信要求を情報配信装置に送信する配信要求処理部の一例として、S94の処理を実行する。
また、情報受信装置10で実行されるS54、S59の処理は、情報配信装置からの指示情報に基づいて、情報配信装置から配信されたデータを情報配信装置に代わって他の情報受信装置に配信する代理配信処理ステップの一例である。また、情報受信装置10のCPU11等は、情報配信装置からの指示情報に基づいて、情報配信装置から配信されたデータを情報配信装置に代わって他の情報受信装置に配信する代理配信処理部の一例として、S54、S59の処理を実行する。
また、情報受信装置10で実行されるS58の処理は、副情報配信装置の識別情報に基づいて、副情報配信装置が配信するデータを受信する受信処理ステップの一例である。また、情報受信装置10のCPU11等は、副情報配信装置の識別情報に基づいて、副情報配信装置が配信するデータを受信する受信処理部の一例として、S58の処理を実行する。
〔処理シーケンス〕
次に、図7A−7Cを参照し、本実施形態の情報配信システム1に含まれる親端末、子端末、サブ親端末についての、特定動作バイナリデータ10aの配信処理に係る処理シーケンスを説明する。なお、図7A−7Cに例示の処理シーケンスは、例えば、親端末、サブ親端末の同時配信可能数が3台の例である。
図7A−7Cに例示の処理シーケンスにおいて、親端末Bは、図5A−5Cに例示の第1実施形態と同様に、特定SSIDで識別されるWi-Fi等の無線ネットワークN1の親端
末として機能する情報配信装置10である。同様にして、子端末C1−C7は、無線ネットワークN1に存在する子端末として機能する情報受信装置10である。同様にして、経路R4−R14は、例えば、図5A−5C等で説明した特定動作バイナリデータ10aの配信処理に係る送受信経路を表す。
子端末C1−C7のそれぞれの電力量は、例えば、電池等に蓄電される最大電力量に対する比率(電池残量)として表すことができる。図7A−7Cに例示の子端末C1−C7のそれぞれの電池残量は、図5A−5Cに例示の第1実施形態と同様に、順に、90%、85%、80%、75%、70%、65%、60%であるとする。
また、テーブルZ20−Z21は、子端末C1−C7の電池残量が付加された特定動作バイナリデータ10aの配信要求に基づいて生成される要求子端末リスト例である。要求子端末リストは、例えば、親端末Bの子端末接続状況保持部201に格納される。
なお、各テーブルにおいて、数値“1−7”は、順に、子端末C1−C7を識別する識
別情報である。各数値に対応付けられた配信状態“親”は、特定動作バイナリデータ10aが親端末Bから配信された状態(配信実行状態)を表し、配信状態“待”は、親端末Bから配信待機を指示された状態(配信待機状態)を表す。同様にして、配信状態“サ1”は、サブ親端末に指定された子端末C1から代理配信された状態を表す。
図7Aに例示の処理シーケンスにおいて、親端末Bは、特定SSID等に基づいて、特定動作バイナリデータ10aを配信するための無線ネットワークN1を開設する(WiFiネット開設)。子端末C1−C7では、親端末Bの発信するビーコン信号に基づいて、特定SSIDで識別される無線ネットワークN1が特定される(親端末検出)。親端末Bと子端末C1−C7との間では、例えば、無線LANの通信規格で定義されるプロトコルに沿って接続手順が完了する。
本実施形態の情報配信システム1では、親端末Bは、例えば、WiFiネット開設後、開設した無線ネットワークN1に存在する子端末の台数等を確定するための受信待ち期間(データ要求待ち期間TWB:一定期間)に移行する。なお、データ要求待ち期間TWBは、例えば、情報配信システム1の規模、無線ネットワークN1の領域範囲、親端末および子端末の性能等に応じて設定される。
また、本実施形態の情報配信システム1では、無線ネットワークN1に存在する各子端末は、例えば、親端末検出順に特定動作バイナリデータ10aの配信要求を送信する。図7Aの例では、子端末C1→子端末C7→子端末C2→子端末C4→子端末C3→子端末C6→子端末C5の順で、親端末Bに対し、特定動作バイナリデータ10aの配信要求が送信される。
データ要求待ち期間TWBの親端末Bでは、子端末C1−C7から送信された、特定動作バイナリデータ10aの配信要求(データ要求)を、それぞれに受信する(経路R4)。そして、親端末Bは、それぞれの配信要求に付加された電池残量の情報を取得し、要求子端末リストを生成する。生成された要求子端末リストは、子端末接続状況保持部201に格納される。
データ要求待ち期間TWBの親端末Bは、子端末C1−C7のデータ要求に対し、それぞれに、特定動作バイナリデータ10aの配信についての待機指示を含む応答(配信待ち応答)を送信する(経路7)。親端末Bから子端末C1−C7への配信待ち応答は、子端末C1→子端末C7→子端末C2→子端末C4→子端末C3→子端末C6→子端末C5の順で送信される。配信待ち応答後、子端末接続状況保持部201に格納される子端末C1−C7の特定動作バイナリデータ10aの配信状態は、親端末Bからの配信待機状態へ更新される。
なお。配信待ち応答には、例えば、配信要求の宛先を親端末とした、子端末が配信要求するときのアクセス時刻の指定が含まれる。親端末Bは、例えば、データ要求待ち期間TWBの経過後に、待機指示を受けた子端末C1−C7の配信要求のアクセス時刻が到来するよう時刻指定を行う。
配信待ち応答が送信された子端末C1では、配信待ち応答の受信時を開始時期として、指定されたアクセス時刻に到達するまでの間、sleep状態での待機期間TW1が継続する
。同様にして、子端末C2−C7においても、配信待ち応答の受信時を開始時期として、指定されたアクセス時刻に到達するまでの間、sleep状態での待機期間TW2−TW7が
それぞれに継続する。
子端末C5のデータ要求に対する配信待ち応答の送信後、データ要求待ち期間TWBの
親端末Bでは、各子端末の識別情報にそれぞれの電池残量を対応付けた要求子端末リストが生成される。要求子端末リストは、テーブルZ20に示すように、電池残量の大小順に整列される。親端末Bでは、子端末C1→子端末C7→子端末C2→子端末C4→子端末C3→子端末C6→子端末C5の順で受信された配信要求に基づいて、電池残量の大小順に整列された各子端末の識別情報が格納された要求子端末リストが生成される。
親端末Bでは、テーブルZ20に例示の要求子端末リストに基づいて、特定動作バイナリデータ10aの配信処理に係るサブ親端末の数量、および、子端末へのサブ親端末の割り当てが行われる。親端末Bは、例えば、配信処理に係るサブ親端末の数量を“1”台とし、相対的に電池残量の最も大きい子端末C1をサブ親端末に割り当てる。また、親端末Bは、子端末C1−C7に対する、特定動作バイナリデータ10aの配信順を、サブ親端末に割り当てた子端末C1を最先とする、電池残量の大小順に配信されるように割り当てる。
親端末Bでは、テーブルZ21の“1回目”カラムに示すように、子端末C1−C3に対して、順に、親端末Bからの配信割り当て(“親”)が行われる。また、子端末C4−C7に対しては、順に、配信待ち応答の割り当て(“待”)が行われる。
子端末C1では、待機期間TW1の経過後、親端末Bを宛先として特定動作バイナリデータ10aの配信要求が再送信される(データ再要求:経路R4)。子端末C2−C7についても同様にして、それぞれの待機期間TW2−TW7の経過後、親端末Bを宛先として特定動作バイナリデータ10aの配信要求が再送信される(データ再要求:経路R4)。親端末Bに対する、データ再要求は、子端末C1→子端末C7→子端末C2→子端末C4→子端末C3→子端末C6→子端末C5の順で送信される。各子端末から送信されたデータ再要求は親端末Bに受信される。
親端末Bは、子端末C1のデータ再要求に対し、テーブルZ21の配信割り当てを参照し、特定動作バイナリデータ10aが含まれる応答(データ配信応答:経路R5)を送信する。データ配信応答後、子端末接続状況保持部201に格納される子端末C1の特定動作バイナリデータ10aの配信状態は、親端末Bからの配信実行状態へ更新される。
データ配信応答が送信された子端末C1では、データ配信応答の受信時から、特定動作バイナリデータ10aを受信するための受信期間TR1が開始される。受信期間TR1は、親端末Bから子端末C1に配信された特定動作バイナリデータ10aの受信が完了するまで継続する。
子端末C1へのデータ配信応答後の、親端末Bは、子端末C7のデータ再要求に対し、テーブルZ21の配信割り当てを参照し、特定動作バイナリデータ10aの配信についての待機指示を含む応答(配信待ち応答:経路R7)を送信する。配信待ち応答には、配信要求の宛先を親端末Bとした、子端末が配信要求するときのアクセス時刻の指定が含まれる。なお、親端末Bは、テーブルZ21の配信割り当てを参照し、自端末への配信要求のアクセス順が、子端末C4→子端末C5→子端末C6→子端末C7となるよう、アクセス時刻の指定を行う。
親端末Bは、子端末C7への配信待ち応答後、子端末接続状況保持部201に格納される子端末C7の特定動作バイナリデータ10aの配信状態について、親端末Bからの配信待機状態を継続する。配信待ち応答が送信された子端末C7では、配信待ち応答の受信時を開始時期として、指定されたアクセス時刻に到達するまでの間、sleep状態での待機期
間TW71が継続する。
子端末C7への配信待ち応答後の、親端末Bは、子端末C2データ再要求に対し、テーブルZ21の配信割り当てを参照し、特定動作バイナリデータ10aが含まれる応答(データ配信応答:経路R5)を送信する。データ配信応答後、子端末接続状況保持部201に格納される子端末C2の特定動作バイナリデータ10aの配信状態は、親端末Bからの配信実行状態へ更新される。
子端末C2では、子端末C1と同様に、データ配信応答の受信時から、特定動作バイナリデータ10aを受信するための受信期間TR2が開始される。受信期間TR2は、親端末Bから子端末C2に配信された特定動作バイナリデータ10aの受信が完了するまで継続する。
子端末C2へのデータ配信応答後の、親端末Bは、子端末C4のデータ再要求に対し、テーブルZ21の配信割り当てを参照し、特定動作バイナリデータ10aの配信についての待機指示を含む応答(配信待ち応答:経路R7)を送信する。配信待ち応答には、配信要求の宛先を親端末とした、子端末が配信要求を送信するアクセス時刻の指定が含まれる。また、子端末接続状況保持部201に格納される子端末C4の特定動作バイナリデータ10aの配信状態は、親端末Bからの配信待機状態が継続される。子端末C4では、配信待ち応答の受信時を開始時期として、指定されたアクセス時刻に到達するまでの間、再び、sleep状態での待機期間TW41が継続する。
子端末C4への配信待ち応答後の、親端末Bは、子端末C3データ再要求に対し、テーブルZ21の配信割り当てを参照し、特定動作バイナリデータ10aが含まれる応答(データ配信応答:経路R5)を送信する。そして、子端末接続状況保持部201に格納される子端末C3の特定動作バイナリデータ10aの配信状態は、親端末Bからの配信実行状態へ更新される。
子端末C3では、データ配信応答の受信時から、特定動作バイナリデータ10aを受信するための受信期間TR3が開始される。受信期間TR3は、親端末Bから子端末C3に配信された特定動作バイナリデータ10aの受信が完了するまで継続する。
子端末C6、C5の順に受信したデータ再要求に対し、親端末Bは、テーブルZ21の配信割り当てを参照し、それぞれに特定動作バイナリデータ10aの配信についての待機指示を含む応答(配信待ち応答:経路R7)を送信する。配信待ち応答には、配信要求の宛先を親端末とした、子端末が配信要求を送信するアクセス時刻の指定が含まれる。子端末接続状況保持部201に格納される子端末C5、C6の特定動作バイナリデータ10aの配信状態は、親端末Bからの配信待機状態が継続される。
子端末C5では、配信待ち応答の受信時を開始時期として、指定されたアクセス時刻に到達するまでの間、再び、sleep状態での待機期間TW51が継続する。同様にして、子
端末C6においても、配信待ち応答の受信時を開始時期として、指定されたアクセス時刻に到達するまでの間、再び、sleep状態での待機期間TW61が継続する。図7Aに例示
の処理シーケンスは、図7Bに例示する処理シーケンスに移行する。
図7Bに例示の処理シーケンスにおいて、子端末C1では受信期間TR1の終了後、受信した特定動作バイナリデータ10aに基づいてフラッシュメモリ等に記憶されたファームウェアプログラム等の更新処理が実行される。更新処理は、更新期間TM1で示すように、受信期間TR1の終了を開始時としてチェックレポートの生成が完了するまでの期間に実行される。
更新期間TM1の終了後、子端末C1は、生成したチェックレポートを特定動作バイナ
リデータ10aに基づく特定動作結果報告(結果報告)として親端末Bに送信する(経路R6)。子端末C1は、チェックレポートを送信する際に自端末の電池残量を検知し、検知した電池残量を特定動作結果報告に含め、親端末Bに送信する。
親端末Bは、子端末C1から送信された結果報告を受信し、子端末C1の電池残量を取得する。なお、結果報告に含まれるチェックレポートの内容は、子端末C1の識別情報に対応付けて特定動作実行結果情報保持部202に蓄積される。
また、親端末Bは、子端末接続状況保持部201に格納された配信割り当てリストを参照し、結果報告を送信した子端末C1が、サブ親端末として割り当て予定の端末であることを特定する。そして、親端末Bは、子端末C1の結果報告に対し、サブ親端末動作指定を含む応答(報告応答)を送信する(経路R8)。サブ親端末動作指定には、サブ親端末の動作期間、サブ親端末が開設する無線ネットワークN2を識別するSSID2が含まれる。
親端末Bは、報告応答の送信後、子端末C1へ送信したサブ親端末動作としての指定情報を子端末C1の識別情報に対応付けてサブ親動作状況保持部203に格納する。同様にして、親端末Bは、子端末接続状況保持部201に格納された子端末C1の配信状態を、更新完了状態に更新する(テーブルZ21、“2回目”カラムの“1”)。
報告応答を受信した子端末C1は、サブ親端末動作指定のSSID2をビーコン情報として発信し、無線ネットワークN2を開設する(サブ親化)。無線ネットワークN2を介した特定バイナリデータ10aの代理配信は、子端末C1のサブ親動作期間SB1の満了まで継続される。サブ親化した子端末C1は、SSID2を宛先としたデータ要求を受信するまで待機する(要求待)。
子端末C2では受信期間TR2の終了後、子端末C3では受信期間TR3の終了後、それぞれに、受信した特定動作バイナリデータ10aに基づいてフラッシュメモリ等に記憶されたファームウェアプログラム等の更新処理が実行される。子端末C2,C3では、子端末C1と同様にして、更新期間TM2,TM3に更新処理が行われる。更新処理の結果としてチェックレポートが生成される。
更新期間TM2の終了後、子端末C2は、チェックレポートおよび自端末の電池残量を含む結果報告を親端末Bに送信する。同様にして、更新期間TM3の終了後、子端末C3は、チェックレポートおよび自端末の電池残量を含む結果報告を親端末Bに送信する。親端末Bでは、子端末C2、C3のチェックレポートの内容は、それぞれの識別情報に対応付けて特定動作実行結果情報保持部202に蓄積される。
親端末Bは、子端末接続状況保持部201に格納された配信割り当てリストを参照し、結果報告を送信した子端末C2、C3が、サブ親端末として割り当て予定の端末でないことを特定する。親端末Bは、子端末C2、C3の結果報告に対し、それぞれに、サブ親端末動作指定を含まない報告応答を送信する(経路R12)。
親端末Bは、報告応答の送信後、子端末接続状況保持部201に格納された子端末C2、C3の配信状態を、更新完了状態に更新する(テーブルZ21、“2回目”カラムの“2”および“3”)。報告応答を受信した子端末C2、C3では、それぞれに親端末Bから配信された特定動作バイナリデータ10aの受信処理が完了する(完了)。
待機期間TW41の経過後、子端末C4は、sleep状態から復帰し、親端末Bを宛先と
したデータ再要求を送信する(経路R4)。子端末C4のデータ再要求を受信した時点で
は、テーブルZ21の“2回目”カラムに示すように、子端末C1−C3は更新完了状態であり、親端末Bを配信先とする配信実行状態の子端末数は“0”台である。このため、親端末Bでは、自端末の同時配信可能数に到達するまでの子端末台数について、特定動作バイナリデータ10aの配信割り当てが行われる。
親端末Bは、子端末C4のデータ再要求に対し、特定動作バイナリデータ10aが含まれる応答(データ配信応答)を送信する(経路R5)。そして、親端末Bは、子端末接続状況保持部201に格納された子端末C4の配信状態を、配信待機状態から親端末Bの配信実行状態に更新する。子端末C4では、データ配信応答の受信時を開始時期として、特定動作バイナリデータ10aの受信が完了するまで、受信期間TR4が継続される。
子端末C5、C6についても同様にして、それぞれ、待機期間TW51、TW61の経過後、sleep状態から復帰し、親端末Bを宛先としたデータ再要求が送信される(経路R
4)。親端末Bでは、子端末C4と同様にして、自端末の同時配信可能数に到達するまでの子端末台数について、特定動作バイナリデータ10aの配信割り当てが行われる。
親端末Bは、子端末C5、C6のデータ再要求に対し、それぞれに、特定動作バイナリデータ10aが含まれる応答(データ配信応答)を送信する(経路R5)。そして、親端末Bは、子端末接続状況保持部201に格納された子端末C5、C6の配信状態を、配信待機状態から親端末Bの配信実行状態に更新する。
子端末C5では、データ配信応答の受信時を開始時期として、特定動作バイナリデータ10aの受信が完了するまで、受信期間TR5が継続される。子端末C6では、データ配信応答の受信時を開始時期として、特定動作バイナリデータ10aの受信が完了するまで、受信期間TR6が継続される。
待機期間TW71の経過後、sleep状態から復帰した子端末C7においても、親端末B
を宛先としたデータ再要求が送信される(経路R4)。子端末C7のデータ再要求を受信した時点では、テーブルZ21の“2回目”カラムに示すように、親端末Bを配信先とする配信実行状態の子端末数は“3”台であり、親端末Bの同時配信可能数に到達している。親端末Bは、子端末C7に対する特定動作バイナリデータ10aの配信を実行するため、子端末C7に対して、サブ親化した子端末C1(サブ親端末1とも称す)を介して特定動作バイナリデータ10aを取得する指示を行う。
親端末Bは、子端末C7のデータ再要求に対し、経路R9に示す、サブ親端末1が開設する無線ネットワークN2の識別情報(SSID2)、サブ親端末1へのアクセス時刻指定を含む応答(サブ親からの取得指示)を送信する。親端末Bは、子端末C7へのサブ親からの取得指示後、子端末接続状況保持部201に格納された子端末C7の配信状態を、配信待機状態からサブ親端末1の配信実行状態に更新する。
子端末C7では、SSID2に基づいてサブ親端末1が開設した無線ネットワークN2が特定される。サブ親端末1と子端末C7との間では、無線LANの通信規格で定義されるプロトコルに沿って接続手順が完了する。
経路R10に示すように、子端末C7は、サブ親端末1に対して、SSID2を宛先とする特定動作バイナリデータ10aの配信要求を送信する(サブ親へ取得要求)。サブ親動作期間SB1のサブ親端末1は、子端末C7の特定動作バイナリデータ10aの配信要求を受信し、特定動作バイナリデータ10aが含まれる応答を子端末C7に送信する(経路R11)。
子端末C7では、サブ親端末1からの応答の受信時を開始時期として、代理配信された特定動作バイナリデータ10aの受信が完了するまで、受信期間TR7が継続する。図7Bに例示の処理シーケンスは、図7Cに例示する処理シーケンスに移行する。
図7Cに例示の処理シーケンスにおいて、受信期間TR4終了後の子端末C4では、受信した特定動作バイナリデータ10aに基づいてフラッシュメモリ等に記憶されたファームウェアプログラム等の更新処理が実行される。更新処理は、更新期間TM4で示すように、受信期間TR4の終了を開始時としてチェックレポートの生成が完了するまでの期間に実行される。
子端末C5−C7についても同様の処理が行われる。子端末C5では受信期間TR5の終了を開始時とする更新期間TM5、子端末C6では受信期間TR6の終了を開始時とする更新期間TM6でチェックリポートの生成が実行される。子端末C7では、受信期間TR7の終了を開始時とする更新期間TM7でチェックリポートの生成が実行される。
更新期間TM4の終了後、子端末C4は、生成したチェックレポートを結果報告として親端末Bに送信する(経路R6)。子端末C4は、チェックレポートを送信する際に自端末の電池残量を検知し、検知した電池残量を結果報告に含め、親端末Bに送信する。子端末C4のチェックレポートの内容は、子端末C4の識別情報に対応付けて特定動作実行結果情報保持部202に蓄積される。
テーブルZ21の“2回目”カラムに示すように、子端末C7へのサブ親からの取得指示を送信した時点で、配信待機状態にある子端末は存在しない。このため、子端末C7へのサブ親からの取得指示を送信した後に受信された子端末C4からの結果報告に対し、親端末Bは、サブ親端末動作指定を含まない報告応答を送信する(経路R12)。
親端末Bは、報告応答の送信後、子端末接続状況保持部201に格納された子端末C4の配信状態を、更新完了状態に更新する。報告応答を受信した子端末C4では、親端末Bから配信された特定動作バイナリデータ10aの受信処理が完了する(完了)。
親端末Bでは、更新期間TM5の終了後に子端末C5から送信される結果報告、更新期間TM6の終了後に子端末C6から送信される結果報告、更新期間TM7の終了後に子端末C7から送信される結果報告に対し、子端末C4と同様の処理が行われる。子端末C5−C7からの結果報告を受信した時点においても、配信待機状態の子端末は存在しないからである。
親端末Bは、子端末C5−C7の各識別情報に対応付けたチェックレポートの内容を特定動作実行結果情報保持部202に蓄積し、サブ親端末動作指定を含まない報告応答を送信する(各経路R12)。親端末Bは、報告応答の送信後、子端末接続状況保持部201に格納された子端末C5−C7の配信状態を、更新完了状態に更新する。報告応答を受信した子端末C5−C7では、それぞれに、親端末Bから配信された特定動作バイナリデータ10aの受信処理が完了する(完了)。
サブ親端末に指定された子端末C1は、サブ親端末の動作期間SB1満了後(一定時間後)、親端末Bに対し、サブ親端末の動作完了の通知(サブ親動作完了確認)を送信する(経路R13)。サブ親動作完了確認は、特定SSIDを宛先として送信される(サブ親完了確認要求)。また、サブ親動作完了確認には、サブ親端末の動作期間の満了を契機として検知された電池残量が含まれる。
サブ親端末からのサブ親完了確認要求を受信した時点では、配信待機状態にある子端末
は存在しない。このため、親端末Bは、サブ親端末からのサブ親完了確認要求に対し、サブ親動作完了指示を含む応答(サブ親完了応答)を送信する(経路R14)。
親端末Bは、サブ親完了応答の送信後、サブ親動作状況保持部203に格納された、サブ親端末の動作状況を更新する。サブ親完了応答を受信したサブ親端末では、特定動作バイナリデータ10aの代理配信を行うサブ親端末としての動作が完了する(サブ親動作完了)。
以上、説明したように、本実施形態の情報配信システム1では、子端末としての情報受信装置10は、自装置の電池等に蓄電された電力量(電池残量)を検知し、検知した電力量を特定動作バイナリデータ10aの配信要求に含め送信できる。親端末としての情報配信装置10は、各子端末からの配信要求を、開設した無線ネットワークN1に存在する子端末の台数等を確定するために設けた受信待ち期間で受信することができる。受信待ち期間は、例えば、情報配信システム1の規模、無線ネットワークN1の領域範囲、親端末および子端末の性能等に応じて、一定期間が設定される。
情報配信装置10は、受信待ち期間に受信した子端末からの配信要求に基づいて、要求子端末リストを生成できる。要求子端末リストでは、子端末毎の識別情報にそれぞれの電力量が対応付けられて格納される。要求子端末リストでは、子端末毎の電力量が相対的に多い順に整列された状態で管理される。
情報配信装置10は、配信要求を受け付けた子端末の数量、親端末およびサブ親端末の同時配信可能数に基づいて、特定動作バイナリデータ10aの代理配信を行うサブ親端末を動的に割り当てることができる。情報配信装置10は、要求子端末リストの中で電力量の相対的に多い子端末を、特定動作バイナリデータ10aの配信開始前に、サブ親端末として予定することができる。
また、情報配信装置10は、要求子端末リストの相対的な電力量の大小関係に基づいて、子端末に対する特定動作バイナリデータ10aの「配信割り当てリスト」が生成できる。情報配信装置10では、「配信割り当てリスト」でサブ親端末に割り当てられた子端末に対し、電力量の多い順に、親端末の配信する特定動作バイナリデータ10aが受信できるように配信調整される。また、情報配信装置10では、サブ親端末に割り当てられた子端末を除く、他の子端末について、電力量の多い順に、親端末の配信する特定動作バイナリデータ10aの配信待ちが割り当てられる。
この結果、本実施形態の情報配信システム1では、情報配信装置10は、例えば、無線ネットワークN1に接続する複数の子端末に対し、電力量の多い順に特定動作バイナリデータ10aを配信するよう調停できる。情報配信システム1では、特定動作バイナリデータ10aの配信開始前に、電力量の相対的に多い子端末から順にサブ親端末として割り当てることができる。情報配信システム1では、特定動作バイナリデータ10aの配信開始前に、電力量の相対的に少ない子端末がサブ親端末に指定される状態を防止できる。
《コンピュータが読み取り可能な記録媒体》
コンピュータその他の機械、装置(以下、コンピュータ等)に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等
から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、CD−R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやROM等がある。
《その他》
以上の実施形態は、さらに以下の付記と呼ぶ態様を含む。以下の各付記に含まれる構成要素は、他の付記に含まれる構成と組み合わせることができる。
(付記1)
データを配信する情報配信装置と、前記データを受信する複数の情報受信装置と、を含む情報配信システムにおいて、
前記情報配信装置は、
前記複数の情報受信装置との間でデータ通信する通信部と、
前記複数の情報受信装置から、それぞれの情報受信装置の電池残量に応じて前記データを配信する副情報配信装置を決定すると共に前記副情報配信装置に指示情報を送信する第1送信処理部と、
前記副情報配信装置に決定した情報受信装置を除く他の情報受信装置に対して前記副情報配信装置の識別情報を送信する第2送信処理部と、を備え、
前記情報受信装置は、
前記情報配信装置および前記副情報配信装置との間でデータ通信する通信部と、
自装置の電池残量を検知する検知部と、
前記検知した電池残量と共に前記データの配信要求を前記情報配信装置に送信する配信要求処理部と、
前記情報配信装置からの指示情報に基づいて、前記情報配信装置から配信された前記データを前記情報配信装置に代わって他の情報受信装置に配信する代理配信処理部と、
前記副情報配信装置の識別情報に基づいて、前記副情報配信装置が配信する前記データを受信する受信処理部と、
を備える、
情報配信システム。
(付記2)
複数の情報受信装置との間でデータ通信する通信部と、
前記複数の情報受信装置から、それぞれの情報受信装置の電池残量に応じてデータを配信する副情報配信装置を決定すると共に前記副情報配信装置に指示情報を送信する第1送信処理部と、
前記副情報配信装置に決定した情報受信装置を除く他の情報受信装置に対して前記副情報配信装置の識別情報を送信する第2送信処理部と、
を備える情報配信装置。
(付記3)
前記第1送信処理部は、前記複数の情報受信装置に対して前記データの配信要求を送信する基準時を配信すると共に前記複数の情報受信装置から送信された前記データの配信要求の受信順に基づいて、前記副情報配信装置を決定する、付記2に記載の情報配信装置。(付記4)
前記第1送信処理部は、さらに、前記複数の情報受信装置の数量が、前記データの配信要求に対応して配信できる同時配信可能数を超えることを条件として、前記副情報配信装置を決定する、付記2または3に記載の情報配信装置。
(付記5)
前記第1送信処理部は、前記副情報配信装置の動作期間を前記指示情報に含める、請求項2または付記3に記載の情報配信装置。
(付記6)
前記第1送信処理部は、前記副情報配信装置の電池残量、稼働中の副情報配信装置の数量、前記複数の情報受信装置の数量に対応して前記副情報配信装置の動作期間を決定する、付記5に記載の情報配信装置。
(付記7)
前記第1送信処理部は、前記副情報配信装置の動作期間の経過後に、前記データの配信継続を決定する、付記5または6に記載の情報配信装置。
(付記8)
前記第1送信処理部は、動作期間の経過後の前記副情報配信装置の電池残量、稼働中の副情報配信装置の数量、前記複数の情報受信装置の数量に対応して、前記データの配信継続を決定する、付記7に記載の情報配信装置。
(付記9)
前記第2送信処理部は、前記副情報配信装置の識別情報に、前記副情報配信装置に対して前記データの配信要求を送信する時刻情報を含める、付記2に記載の情報配信装置。
(付記10)
情報配信装置および副情報配信装置との間でデータ通信する通信部と、
自装置の電池残量を検知する検知部と、
前記検知した電池残量とともに前記データの配信要求を前記情報配信装置に送信する配信要求処理部と、
前記情報配信装置からの指示情報に基づいて、前記情報配信装置から配信された前記データを前記情報配信装置に代わって他の情報受信装置に配信する代理配信処理部と、
前記副情報配信装置の識別情報に基づいて、前記副情報配信装置が配信する前記データを受信する受信処理部と、
を備える情報受信装置。
(付記11)
前記通信部は、前記情報配信装置から配信された基準時を受信し、
前記配信要求処理部は、前記電池残量に基づくオフセット時間を算出し、前記基準時からオフセット時間が経過した時に、前記データの配信要求を前記情報配信装置に送信する付記10に記載の情報受信装置。
(付記12)
前記代理配信処理部は、さらに、前記指示情報に含まれる動作期間の経過したときに、前記検知部で検知された電池残量を前記情報配信装置に送信する、付記10に記載の情報受信装置。
(付記13)
前記通信部は、前記識別情報に含まれる前記データの配信要求を送信する時刻情報を受信し、
前記受信処理部は、前記時刻情報が経過したときに、前記データの配信要求を前記副情報配信装置に送信する付記10に記載の情報受信装置。
(付記14)
複数の情報受信装置との間でデータ通信するコンピュータに、
前記複数の情報受信装置から、それぞれの情報受信装置の電池残量に応じてデータを配信する副情報配信装置を決定すると共に前記副情報配信装置に指示情報を送信する第1送信処理ステップと、
前記副情報配信装置に決定した情報受信装置を除く他の情報受信装置に対して前記副情報配信装置の識別情報を送信する第2送信処理ステップと、
を実行させるための情報配信プログラム。
(付記15)
情報配信装置および副情報配信装置との間でデータ通信するコンピュータに、
自装置の電池残量を検知する検知ステップと、
前記検知した電池残量と共に前記データの配信要求を前記情報配信装置に送信する配信要求処理ステップと、
前記情報配信装置からの指示情報に基づいて、前記情報配信装置から配信された前記データを前記情報配信装置に代わって他の情報受信装置に配信する代理配信処理ステップと、
前記副情報配信装置の識別情報に基づいて、前記副情報配信装置が配信する前記データを受信する受信処理ステップと、
を実行させるための情報受信プログラム。