(58)【調査した分野】(Int.Cl.,DB名)
前記制御部は、前記更新可能時間帯になる前に、前記ソフトウェア更新用データを前記家電製品に配信することで、前記家電製品内に前記ソフトウェア更新用データを保管させておき、前記更新可能時間帯に前記ソフトウェア更新許可情報を前記家電製品に送信することで、前記家電製品内に保管されていた前記ソフトウェア更新用データを反映させることを特徴とする
請求項1に記載のソフトウェア更新用サーバ。
前記制御部は、前記更新可能時間帯に、前記ソフトウェア更新許可情報と、その対象である前記ソフトウェア更新用データとを前記家電製品に送信することで、送信した前記ソフトウェア更新用データを前記家電製品に反映させることを特徴とする
請求項1に記載のソフトウェア更新用サーバ。
前記制御部は、現在時刻が前記更新可能時間帯になったとき、かつ、前記操作端末の位置情報が前記家電製品の位置情報の近傍に存在するときに、前記利用者の操作端末にソフトウェアの更新を案内することを特徴とする
請求項1に記載のソフトウェア更新用サーバ。
前記制御部は、現在時刻が前記更新可能時間帯になったとき、かつ、前記家電製品が利用中以外の状態であるときに、前記利用者の操作端末にソフトウェアの更新を案内することを特徴とする
請求項1に記載のソフトウェア更新用サーバ。
【発明を実施するための形態】
【0010】
以下、本発明の一実施形態を、図面を参照して詳細に説明する。
【0011】
図1は、ソフトウェア更新方法に関する模式図である。ソフトウェア更新システムは、サーバ(ソフトウェア更新用サーバ)1、広域ネットワーク2、無線LANルータ3、操作端末4、家電製品5で構成されている。
サーバ1は、CPU(Central Processing Unit)と、メモリと、ハードディスクなどの記憶手段(記憶部)と、ネットワークインタフェースとを有するコンピュータとして構成される。
このコンピュータは、CPUが、メモリ上に読み込んだプログラム(アプリケーションや、その略のアプリとも呼ばれる)を実行することにより、各処理部により構成される制御部(制御手段)を動作させる。
【0012】
サーバ1は、広域ネットワーク2の通信プロトコルを利用し、操作端末4、家電製品5と通信するサーバである。サーバ1は、記憶部11と、通信部12と、解析部13と、制御部14とを含めて構成される。
記憶部11には、家電製品5や操作端末4から通知された情報が記憶される。
通信部12は、家電製品5や操作端末4と通信する。
解析部13は、記憶部11に格納されている情報を解析する。
制御部14は、解析部13の解析結果を元に家電製品5のソフトウェア更新制御を行う。
【0013】
操作端末4は、例えば家電製品5の使用者それぞれが所有する好ましくは可搬の端末である。操作端末4は、通信部41と、表示部42と、制御部43とを含めて構成される。
通信部41は、無線LANルータ3を経由して、サーバ1および家電製品5と通信する。家電製品5との通信には、Wi-Fi(Wireless Fidelity、登録商標)などの無線の通信プロトコルが利用される。
表示部42は、タッチパネルなどで構成される。
制御部43は、操作端末4の動作を制御する。
【0014】
無線LANルータ3は、広域ネットワーク2の通信プロトコルおよび無線の通信プロトコルを利用して、操作端末4と家電製品5の無線通信を可能とし、操作端末4や家電製品5から送信されてきた情報を、送信先であるサーバ1に転送し、サーバ1から無線LANルータ3に送信されてきた情報を、送信先である他の機器(操作端末4、家電製品5)に転送する機器である。
【0015】
家電製品5は、無線の通信プロトコルを利用した無線LANルータ3との通信を介して、サーバ1、操作端末4と通信可能な機器である。家電製品5としては、例えば、掃除機や洗濯機、冷蔵庫、エアコンなどを例示できるが、特に制限されない。家電製品5は、通信部51と、記憶部52と、制御部53とを含めて構成される。
通信部51は、家電製品5のログデータを家電動作情報としてサーバ1に送信する。この家電動作情報は、例えば、以下に例示する各種イベントの時刻情報である。
・電源オンの時刻、電源オフの時刻。
・各種家電機能の運転開始時刻、運転終了時刻。
・各種センサが取得した時系列の計測値。
【0016】
また、通信部51は、サーバ1から以下の家電更新用情報を受信する。
・家電製品5に反映されるファームウェア(プログラム)であり、実行形式のバイナリファイルなどで構成される「ソフトウェア更新用データ」。
・ソフトウェア更新用データの更新内容を説明する「ソフトウェア更新説明情報」。
・ソフトウェア更新用データを自身の家電製品5に反映することを許可する旨を示す「ソフトウェア更新許可情報」。
記憶部52には、前記した家電動作情報と、前記した家電更新用情報とが記憶される。
制御部53は、サーバ1からの制御要求に従い、ソフトウェアの更新処理を制御する。
【0017】
図2は、ソフトウェア更新システムの概要を示すシーケンス図である。
S110〜S117は、ソフトウェアを更新する前(前日や先週)の動作を示す。
S110として、サーバ1は、新たな家電更新用情報が存在することを、開発者などから通知される。新たな家電更新用情報には、ソフトウェア更新用データに加えて、その更新内容を説明するソフトウェア更新説明情報が含まれている。
【0018】
S111として、家電製品5は、利用者からの電源ボタンの押下を受け、自身の電源をオンにする。
S112として、家電製品5は、家電更新用情報の有無をサーバ1に確認する。
S113として、サーバ1は、S110で発生した家電更新用情報のソフトウェア更新用データを家電製品5に返信(配信)する。この時点では、まだ利用者からのソフトウェア更新許可情報を受領していないので、ソフトウェア更新用データは、家電製品5内に保管される(つまり、更新保留状態となる)。
【0019】
S114として、家電製品5は、利用者からの機能ボタンの押下を受け、自身の機能を利用させる。機能ボタンとは、例えば、家電製品5が掃除機であるときの掃除機能や、家電製品5がエアコンであるときの冷暖房機能である。
S115として、家電製品5は、無線LANルータ3、広域ネットワーク2を介して、自身の家電動作情報をサーバ1にアップロードする。通知された家電製品5ごとの家電動作情報は、サーバ1の記憶部11に記憶される。家電動作情報は、例えば、S114の利用時間帯を示す。
S116として、家電製品5は、利用者からの電源ボタンの押下を受け、自身の電源をオフにする。
S117として、サーバ1の解析部13は、S116で記憶した家電動作情報の利用時間帯を解析することで、利用者が家電製品5を利用していない時間帯を更新可能時間帯として算出する(詳細は
図5)。
【0020】
S121〜S128は、ソフトウェアを更新するとき(当日)の動作を示す。
S121として、サーバ1の制御部14は、ソフトウェアを更新するように案内する契機として、現在時刻が更新可能時間帯になるまで待機する。
なお、S121で案内する契機として、現在時刻が更新可能時間帯になったときに加えて、以下の(1)または(2)に例示する契機も併せて満たしたときとしてもよい。
(1)操作端末4の位置情報が家電製品5の位置情報の近傍に存在するときを案内する契機とする。位置情報は、例えばGPS(Global Positioning System)から取得する。
これにより、操作端末4の利用者が出張中などで自宅内の家電製品5とは離れている場合、家電製品5の電源ボタンを押せないので、利用者は無駄なソフトウェアの更新案内を受け取らずに済む。
【0021】
(2)家電製品5が利用中以外の状態であるときを案内する契機とする。解析部13が求めた更新可能時間帯は、家電動作情報の利用時間帯を回避するように設定されているので、基本的には更新可能時間帯には家電製品5は利用中にはならない。しかし、普段の平日は外出する利用者が、たまたま休暇に在宅する場合などで予期せぬ家電製品5の利用が発生することもある。
このときには、更新可能時間帯であっても、ソフトウェアの更新案内を送信しないことで、家電製品5の利用を妨げなくて済む。
【0022】
S122として、サーバ1の制御部14は、ソフトウェアの更新案内を操作端末4に通知する。
S123として、操作端末4は、利用者からの操作により、更新案内に従ってソフトウェアを更新する旨の指示の入力を受け付ける。
S124として、操作端末4は、ソフトウェアを更新する旨を示すソフトウェア更新許可情報をサーバ1に送信する。ソフトウェア更新許可情報は、サーバ1の通信部12で受信し、記憶部11に記憶される(詳細は
図4)。
【0023】
S125として、家電製品5は、更新案内に従って利用者からの電源ボタンの押下を受け、自身の電源をオンにする。
S126として、家電製品5は、S112と同様に、家電更新用情報の有無をサーバ1に確認する。
S127として、サーバ1は、S124で受信したソフトウェア更新許可情報を含めた家電更新用情報を家電製品5に返信する。
S128として、家電製品5は、ソフトウェア更新許可情報を受け、S113で保留にされていたソフトウェア更新用データを自身に反映することで、ソフトウェアを更新する。
【0024】
図3は、
図2のシーケンス図の変形例である。
図2のS113がS113bに置き換わり、S127がS127bに置き換わる。
図2では、ソフトウェア更新許可情報を受けるまでは、ソフトウェア更新用データを家電製品5に反映する処理を保留していた。一方、
図3では、ソフトウェア更新許可情報を受けるまでは、ソフトウェア更新用データを家電製品5に反映する処理に加えて、ソフトウェア更新用データを家電製品5にダウンロードする処理も保留する。
【0025】
よって、サーバ1は、1回目の更新確認(S112)を受け、実際はS110でソフトウェア更新用データが存在していても、ソフトウェア更新許可情報を受領していない家電製品5に対しては、ソフトウェア更新用データを配布せずに、更新なしと応答する(S113b)。
そして、サーバ1は、2回目の更新確認(S126)を受け、ソフトウェア更新許可情報を受領した家電製品5に対して、ソフトウェア更新許可情報に加えて、その許可対象となるソフトウェア更新用データも併せて応答する(S127b)。
これにより、ソフトウェア更新時間(ソフトウェア更新用データの反映時間)だけでなく、その前準備となるソフトウェア更新用データのダウンロード時間も家電製品5の利用時間帯と衝突させないで済む。
【0026】
図4は、サーバ1の記憶部11に記憶される時間帯管理情報の一例を示す説明図である。
時間帯管理情報は、ソフトウェア更新対象となる家電製品5のユニークID毎に、解析済みフラグと、更新可能時間帯ごとの詳細情報(第1時間帯、第2時間帯、…、第N時間帯)と、更新済みフラグとを対応付ける情報である。時間帯の個数は、サーバ1内のリソースにより個別に決定される。
解析済みフラグは、解析部13が利用時間帯から更新可能時間帯を解析した(Y)か否か(N)を示す。つまり、
図2のS117が実行された結果として、解析済みフラグが「Y」となる。
【0027】
更新可能時間帯ごとの詳細情報は、ソフトウェア更新許可情報が有るか(Y)無いか(N)を示す「更新許可」と、その更新許可を得るための家電更新用情報を操作端末4に通知済みか(Y)否か(N)を示す「通知済み」と、解析部13により解析された「更新可能時間帯」とで構成される。
つまり、S122が実行された結果として、通知済みが「Y」となり、S124が実行された結果として、更新許可が「Y」となる。なお、利用者に更新を案内したものの、今回は更新を行わない旨の応答があったときには、通知済みが「Y」となり、更新許可が「N」となる。
これらの解析済みフラグ、更新可能時間帯ごとの詳細情報は、一日単位でクリアする。
【0028】
また、時間帯管理情報には、第1時間帯、第2時間帯、…、第N時間帯のうちのいずれかの時間帯でソフトウェア更新許可情報に従って家電製品5にソフトウェア更新用データを反映したか(Y)否か(N)を示す更新済みフラグも、併せて格納されている。つまり、S128が実行された結果として、更新済みフラグが「Y」となる。
【0029】
図5は、利用時間帯および更新可能時間帯の説明図である。
符号101に示すように、サーバ1の通信部12は、家電製品5の利用時間帯として、1回15分間として1日に3回発生した時間帯の情報を家電製品5から受信したとする。1回目の利用時間帯が10:00〜10:15、2回目の利用時間帯が13:00〜13:15、3回目の利用時間帯が17:00〜17:15である。なお、利用時間帯は、各種家電機能の運転開始時刻から運転終了時刻までの時間帯としてもよいし、電源オンの時刻から電源オフの時刻までの時間帯としてもよい。
符号102に示すように、サーバ1の解析部13は、連続する利用時間帯どうしの空き時間を更新可能時間帯として解析する。例えば、1回目の利用時間帯「10:00〜10:15」と、2回目の利用時間帯「13:00〜13:15」との間の空き時間「10:15〜13:00」が、更新可能時間帯(
図4の第1時間帯)である。
また、解析部13は、過去の複数の利用時間帯の統計値として、更新可能時間帯を求めてもよい。例えば、過去3ヶ月の月曜日の午前中の利用時間帯のうちの高頻度な時間帯だけ抽出して、月曜日の午前中の更新可能時間帯としてもよい。
【0030】
図6は、S122の案内情報を表示部42に表示する画面例を示す説明図である。
第1画面111の表示欄111aには、案内情報に含まれるソフトウェア更新説明情報が表示される。ボタン111bは、ソフトウェアを更新する旨を入力するために使用される。ボタン111cは、ソフトウェア更新を行わない(キャンセルする)旨を入力するために使用される。
第1画面111のボタン111bのクリックにより、第2画面112に遷移する。この第2画面112により、操作端末4の利用者は、家電製品5の本体の電源をこれから入れるように案内される(S125に遷移するよう促す)。
【0031】
以下、
図7〜
図9において、ソフトウェア更新システムのうちの1つの装置に着目した動作を説明する。
図7は、サーバ1の解析部13の処理を示すフローチャートである。このフローチャートは、
図2では、ソフトウェアを更新する前(前日や先週)の動作(S110〜S117)に対応する。
解析部13は、新たな家電更新用情報が開発者などから登録されているか否かを判定する(S001)。S001でYesならS002に進み、NoならS001をループする。
解析部13は、
図4の時間帯管理情報内の更新済みフラグを参照することで、ソフトウェアが更新される前の家電製品5を特定する(S002)。
解析部13は、S002で特定した家電製品5ごとに、更新可能時間帯の解析処理を行う。その解析処理を行っていない家電製品5が存在する間は(S003,Yes)、S004に処理を進める。未解析の家電製品5がなくなったら(S003,No)、S001に戻る。
解析部13は、未解析の家電製品5について、過去数日間の家電動作情報が示す利用時間帯から、更新可能時間帯を算出する(S004)。
解析部13は、算出した更新可能時間帯を時間帯管理情報内に記憶する(S005)。
【0032】
図8は、サーバ1の制御部14の処理を示すフローチャートである。このフローチャートは、
図2では、ソフトウェアを更新するとき(当日)の動作(S121〜S128)に対応し、例えば、1時間ごとなどの定期的に実行される。
制御部14は、現在時刻を取得する(S010)。
制御部14は、
図4の時間帯管理情報から各更新可能時間帯を取得する(S011)。
制御部14は、取得した更新可能時間帯を全件(第1時間帯〜第N時間帯)処理したか否かを判定する(S012)。処理していない時間帯が存在する間は(S012,No)、S013に処理を進める。
制御部14は、現在時刻が今回処理中の更新可能時間帯の開始時刻を経過しているか否かを判定する(S013)。S013でYesならS014に進み、NoならS011に戻る。
制御部14は、家電更新用情報を案内情報として操作端末4に送信する(S014)。
制御部14は、
図4の時間帯管理情報の通知済みに「Y」を記録する(S015)。
【0033】
図9は、家電製品5によるソフトウェア更新処理を示すフローチャートである。
家電製品5は、電源がオンされると、自身の家電更新用情報が存在するか否かをサーバ1に確認する(S020)。その確認結果として家電更新用情報が存在する場合(S021、Yes)、S022に処理を進める。家電更新用情報が存在しない場合(S021、No)、通常動作(S114の家電機能)に移行する。
家電製品5は、S020の確認結果として、サーバ1から家電更新用情報を受信する(S022)。受信した家電更新用情報にソフトウェア更新許可情報が含まれている場合(S023、Yes)、家電製品5は、ソフトウェア更新用データを自身に反映し(S024)、自身のシステムを再起動する。
一方、ソフトウェア更新許可情報が存在しない場合(S023、No)、家電製品5は、通常動作に移行する。
【0034】
以上説明した本実施形態では、サーバ1の解析部13は、家電製品5の利用時間帯を重複しないように、更新可能時間帯を解析しておく(
図5参照)。そして、利用者は、操作端末4を介してサーバ1から通知された案内情報(
図6参照)を確認し、ソフトウェア更新許可情報をサーバ1経由で家電製品5に通知する。
これにより、利用者の負担にならないような適切な更新可能時間帯に、家電製品5のソフトウェアを更新させることができる。
【0035】
なお、利用者がソフトウェア更新中の待ち時間を待ちきれずに、手動で家電製品5の電源をオフにしてしまった場合の不具合を例示する。
・次回電源をオンした際、更新前のバージョンで起動する場合には、前回の途中までの更新結果は破棄され、ソフトウェア更新を最初からやり直す必要がある。
・次回電源をオンした際、前回の途中までの更新処理を再開する場合(いわゆるレジューム機能)、ソフトウェア更新が終了するまで家電製品の本来の機能を利用できないなどの制限が生じてしまう。
これらの不具合が発生するのは、そもそも家電製品5の利用時間帯にソフトウェアの更新処理を起動してしまうことが原因である。よって、本実施形態では、このような不具合を回避するため、事前に解析した利用時間帯と重複しないようにソフトウェアの更新処理を起動させるしくみである。
【0036】
なお、本発明は前記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、前記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。
また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段などは、それらの一部または全部を、例えば集積回路で設計するなどによりハードウェアで実現してもよい。
また、前記の各構成、機能などは、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。
【0037】
各機能を実現するプログラム、テーブル、ファイルなどの情報は、メモリや、ハードディスク、SSD(Solid State Drive)などの記録装置、または、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)などの記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。