(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-14
(45)【発行日】2024-08-22
(54)【発明の名称】家電システム
(51)【国際特許分類】
H04Q 9/00 20060101AFI20240815BHJP
H04Q 9/02 20060101ALI20240815BHJP
【FI】
H04Q9/00 301D
H04Q9/02 B
(21)【出願番号】P 2020147025
(22)【出願日】2020-09-01
【審査請求日】2023-05-01
(73)【特許権者】
【識別番号】503376518
【氏名又は名称】東芝ライフスタイル株式会社
(74)【代理人】
【識別番号】100141139
【氏名又は名称】及川 周
(74)【代理人】
【識別番号】100205785
【氏名又は名称】▲高▼橋 史生
(74)【代理人】
【識別番号】100203297
【氏名又は名称】橋口 明子
(74)【代理人】
【識別番号】100175824
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100135301
【氏名又は名称】梶井 良訓
(72)【発明者】
【氏名】瀧川 正史
【審査官】岩田 玲彦
(56)【参考文献】
【文献】特開2007-078221(JP,A)
【文献】国際公開第2019/163259(WO,A1)
【文献】特開2006-243997(JP,A)
【文献】特開2020-118388(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04Q 9/00
H04Q 9/02
(57)【特許請求の範囲】
【請求項1】
家電機器を動作させるプログラムを記憶する記憶部と、
ユーザの位置情報を取得する情報取得部と、
更新プログラムがある場合、前記家電機器の動作終了後、または前記家電機器の使用状態を終了させる
前記ユーザの操作が受け付けられた後に、前記記憶部に記憶された前記プログラムを前記更新プログラムにより更新する更新部
であって、前記プログラムの更新に必要な所要時間を推定し、前記所要時間の長さが閾値未満の場合、前記家電機器の動作終了後、または前記家電機器の使用状態を終了させる前記ユーザの操作が受け付けられた後に前記プログラムを更新し、前記所要時間の長さが前記閾値以上である場合、前記ユーザの位置情報または前記ユーザの位置情報に基づき得られる情報が所定条件を満たす場合に前記プログラムを更新する更新部と、
を備え
る家電システム。
【請求項2】
前記家電機器の動作終了後、または前記家電機器の使用状態を終了させる前記ユーザの操作が受け付けられた後であって、前記家電機器の次回使用時よりも前の時間である更新可能時間を推定する推定部をさらに備え、
前記更新部は、前記プログラムの更新に必要な所要時間を推定し、前記所要時間が前記更新可能時間内に収まる場合に前記プログラムを更新する、
請求項1に記載の家電システム。
【請求項3】
家電機器を動作させるプログラムを記憶する記憶部と、
前記家電機器の動作終了後、または前記家電機器の使用状態を終了させ
るユーザの操作が受け付けられた後であって、前記家電機器の次回使用時よりも前の時間である更新可能時間を推定する推定部
と、
更新プログラムがある場合、前記家電機器の動作終了後、または前記家電機器の使用状態を終了させる前記ユーザの操作が受け付けられた後に、前記記憶部に記憶された前記プログラムを前記更新プログラムにより更新する更新部であって、前記プログラムの更新に必要な所要時間を推定し、前記所要時間の長さが閾値未満である場合、前記家電機器の動作終了後、または前記家電機器の使用状態を終了させる前記ユーザの操作が受け付けられた後に前記プログラムを更新し、前記所要時間の長さが前記閾値以上である場合、前記推定部により推定された前記更新可能時間と前記所要時間とを比較し、前記所要時間が前記更新可能時間内に収まる場合に前記プログラムを更新する
更新部と
を備える家電システム。
【請求項4】
前記更新部は、前記更新プログラムの一部をサーバからダウンロードし、前記更新プログラムの一部をダウンロードするのに要した時間に基づき前記所要時間を推定する、
請求項2または請求項3に記載の家電システム。
【請求項5】
前記推定部は、前記家電機器の履歴情報に基づき、前記更新可能時間を推定する、
請求項2から請求項4のうちいずれか1項に記載の家電システム。
【請求項6】
前記推定部は、前記家電機器と同じ住居内に配置された別の家電機器の履歴情報に基づき、前記更新可能時間を推定する、
請求項2から請求項4のうちいずれか1項に記載の家電システム。
【請求項7】
前記推定部は、前記家電機器と同じ住居内に配置された前記家電機器を含む複数の家電機器の履歴情報、または、前記家電機器と同じ住居内に配置された前記家電機器とは異なる複数の家電機器の履歴情報に基づき、前記更新可能時間を推定する、
請求項2から請求項4のうちいずれか1項に記載の家電システム。
【請求項8】
前記ユーザの位置情報を取得する情報取得部をさらに備え、
前記推定部は、前記ユーザの位置情報に基づき前記更新可能時間を推定する、
請求項2から請求項7のうちいずれか1項に記載の家電システム。
【請求項9】
前記家電機器に電力を供給する二次電池をさらに備え、
前記更新部は、前記プログラムの更新に必要な消費電力または所要時間を推定し、前記二次電池の残容量で前記プログラムの更新が可能な場合に、前記家電機器の動作終了後、または前記家電機器の使用状態を終了させる前記ユーザの操作が受け付けられた後に前記プログラムを更新する、
請求項1から請求項
8のうちいずれか1項に記載の家電システム。
【請求項10】
前記更新部は、前記プログラムを記憶する前記記憶部の記憶領域を複数の領域に分割し、前記複数の領域の1つずつを書き換え単位として前記プログラムを少しずつ更新する、
請求項1から請求項
9のうちいずれか1項に記載の家電システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、家電システムに関する。
【背景技術】
【0002】
家電機器を動作させるプログラムを記憶するとともに、サーバから更新プログラムをダウンロードして上記プログラムを更新する家電機器が知られている。このような家電機器は、さらなる利便性の向上が期待されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明が解決しようとする課題は、利便性の向上を図ることができる家電システムを提供することである。
【課題を解決するための手段】
【0005】
実施形態の家電システムは、家電機器を動作させるプログラムを記憶する記憶部と、ユーザの位置情報を取得する情報取得部と、更新プログラムがある場合、前記家電機器の動作終了後、または前記家電機器の使用状態を終了させる前記ユーザの操作が受け付けられた後に、前記記憶部に記憶された前記プログラムを前記更新プログラムにより更新する更新部であって、前記プログラムの更新に必要な所要時間を推定し、前記所要時間の長さが閾値未満の場合、前記家電機器の動作終了後、または前記家電機器の使用状態を終了させる前記ユーザの操作が受け付けられた後に前記プログラムを更新し、前記所要時間の長さが前記閾値以上である場合、前記ユーザの位置情報または前記ユーザの位置情報に基づき得られる情報が所定条件を満たす場合に前記プログラムを更新する更新部と、を備える。
【図面の簡単な説明】
【0006】
【
図1】第1実施形態の家電機器の周囲環境を示す図。
【
図2】第1実施形態の家電機器のハードウェア構成を示すブロック図。
【
図3】第1実施形態の家電機器のシステム構成を示すブロック図。
【
図4】第1実施形態の更新可能時間の一例を示す図。
【
図5】第1実施形態のプログラムの更新に関する制御の一例を示すフローチャート。
【
図6】第2実施形態の家電システムの構成を示す図。
【
図7】第3実施形態の家電システムの構成を示す図。
【
図8】第3実施形態の情報取得部が取得する履歴情報の例を示す図。
【
図9】第4実施形態の家電システムの構成を示す図。
【
図10】第5実施形態の家電システムの構成を示す図。
【
図11】第6実施形態の記憶部の記憶領域を示す図。
【発明を実施するための形態】
【0007】
以下、実施形態の家電システムを、図面を参照して説明する。以下の説明では、同一または類似の機能を有する構成に同一の符号を付す。そして、それら構成の重複する説明は省略する場合がある。「XXに基づく」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含み得る。「XXに基づく」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含み得る。「XXまたはYY」とは、XXとYYのうちいずれか一方の場合に限定されず、XXとYYの両方の場合も含み得る。これは選択的要素が3つ以上の場合も同様である。「XX」および「YY」は、任意の要素(例えば任意の情報)である。本明細書では、データベースを「DB」と表記する場合がある。
【0008】
以下では、いくつかの実施形態について説明する。第1実施形態は、「家電システム」が1台の家電機器のみにより実現される例である。一方で、第2実施形態は、「家電システム」が家電機器とサーバ(例えばクラウドサーバ)とにより実現される例である。
【0009】
(第1実施形態)
<1.家電機器の周囲環境>
図1は、家電機器100の周囲環境を示す図である。家電機器100は、ユーザUの住居内に配置される。家電機器100は、例えば、使用後に電源がOFFになる家電機器である。家電機器100は、例えば、洗濯機、掃除機、炊飯器、電子レンジ、またはエアコン(空気調和機)であるが、これらに限定されない。洗濯機および電子レンジは、使用後に電源が自動的にOFFになる家電機器の例である。掃除機、炊飯器、およびエアコンは、使用後にユーザUによって電源がOFFにされる家電機器の例である。本実施形態では、家電機器100により、家電システム1の一例が構成されている。以下では、家電機器100が洗濯機である場合を例に取り上げて説明する。
【0010】
家電機器100は、ユーザUの住居内に配置されたルータRとモデムM、およびネットワークNWを介して、サーバ200と通信可能である。家電機器100は、当該家電機器100を動作させるプログラムOP(
図3参照)を記憶している。家電機器100は、プログラムOPの更新に用いられる更新プログラムUPがサーバ200にある場合、ネットワークNWを介して、更新プログラムUPをサーバ200からダウンロード可能である。ネットワークNWは、例えば、インターネット、セルラー網、Wi-Fi網、LPWA(Low Power Wide Area)、WAN(Wide Area Network)、LAN(Local Area Network)、その他の公衆回線、専用回線などを状況に応じて利用すればよい。
【0011】
サーバ200は、1台以上のサーバ装置200a(例えばクラウドサーバ)により構成される。サーバ200は、「サーバシステム」と称されてもよい。サーバ200は、ネットワークNW中のルータに含まれる情報処理部など、エッジコンピューティングやフォグコンピューティングを行う情報処理部を含んでもよい。サーバ200には、家電機器100のプログラムOPの更新に用いられる更新プログラムUPが格納される。
【0012】
端末機器300は、例えば、ユーザUが所有する携帯端末機器であり、スマートフォンやタブレット端末機器などである。端末機器300は、ネットワークNWを介して、サーバ200と通信可能である。端末機器300は、画像または映像が表示される表示装置310を有する。端末機器300には、家電機器100の遠隔操作を行うためのアプリケーションプログラムがインストールされている。ただし、端末機器300は、必須の構成要素ではない。
【0013】
<2.家電機器の構成>
次に、家電機器100の構成について説明する。
【0014】
<2.1 家電機器のハードウェア構成>
図2は、家電機器100のハードウェア構成を示すブロック図である。家電機器100は、例えば、通信モジュール10、電気部品20、表示装置30、操作部40、CPU(Central Processing Unit)50、RAM(Random Access Memory)60、およびROM(Read Only Memory)70を有する。
【0015】
通信モジュール10は、ルータRと通信を行うモジュールである。通信モジュールは、例えば無線LANモジュールであるが、これに限定されない。
【0016】
電気部品20は、家電機器100の主機能を実現するために家電機器100を動作させる装置である。電気部品20は、例えば、洗濯機における洗濯槽駆動モータ、掃除機における電動送風機やブラシモータ、炊飯器におけるヒータ、電子レンジにおけるマイクロ波発信装置やテーブル駆動モータ、またはエアコンにおける圧縮機や送風機である。
【0017】
表示装置30は、表示画面を有し、画像または映像が表示される。表示装置30には、家電機器100の動作状態や設定状態が表示可能である。表示装置30は、液晶ディスプレイまたは有機EL(Electro Luminescence)ディスプレイなどである。以下では、端末機器300の表示装置310と家電機器100の表示装置30とを区別しない場合は、単に「表示装置DD」と称する。
【0018】
操作部40は、家電機器100に設けられてユーザUによって操作可能な操作部である。操作部40は、例えば、表示装置30と重ねて配置されたタッチセンサ(タッチパネル)である。操作部40は、例えば、CPU50の制御に基づき表示装置30の表示画面上に実現されるソフトウェアスイッチを含む。これに代えて、操作部40は、家電機器100に設けられた物理的なボタンやスイッチなどでもよい。
【0019】
CPU50は、ハードウェアプロセッサの一例である。CPU50は、ROM70に記憶されたプログラムOPを実行する。これにより、CPU50は、通信モジュール10、電気部品20、表示装置30、および操作部40を制御し、家電機器100を動作させる。ここで「ROMに記憶されたプログラムを実行する」とは、ROM70に記憶されたプログラムがROM70から直接に読み出されて実行される場合に限定されず、ROM70に記憶されたプログラムの一部または全部がRAM60にロードされ、RAM60にあるプログラムが実行される場合も含み得る。
【0020】
RAM60は、揮発性のメモリ部品である。RAM60は、例えばDRAM(Dynamic Random Access Memory)またはSRAM(Static Random Access Memory)であるが、これらに限定されない。RAM60は、CPU50にワークエリアを提供する。RAM60には、家電機器100の動作時に、ROM70に記憶されたプログラムOPがロードされる。例えば、RAM60の記憶容量は、ROM70の記憶容量と比べて小さい。RAM60は、必須の構成要素ではなく、省略されてもよい。RAM60は、「第2メモリ部品」の一例である。なお、RAM60の記憶容量がROM70の記憶容量に比べて小さくなくても良い。例えば、ROM70が圧縮されたプログラムOP(以下、圧縮データと称する)を記憶している場合、RAM60において圧縮データをロードして圧縮データの圧縮を解除するとする。この場合、RAM60が必要とする記憶容量はROM70が必要とする記憶容量に比べて小さくない。また、RAM60は、プログラムOPの実行中に使用する所定のデータを蓄積記憶する場合もある。この場合、RAM60が必要とする記憶容量はROM70が必要とする記憶容量に比べて小さくない。
【0021】
ROM70は、不揮発性のメモリ部品である。ROM70は、家電機器100を動作させるプログラムOP(
図3参照)を記憶する。プログラムOPは、例えば、家電機器100のファームウェアである。ROM70は、例えばEEPROM(Electrically Erasable Programmable Read-Only Memory)であり、記憶するプログラムOPの一部または全部を書き換え可能である。ROM70は、「第1メモリ部品」の一例である。
【0022】
<2.2 家電機器のシステム構成>
図3は、家電機器100のシステム構成を示すブロック図である。家電機器100は、操作受付部110、情報出力部120、動作制御部130、推定部140、更新部150、および記憶部160を有する。操作受付部110、情報出力部120、動作制御部130、推定部140、および更新部150は、例えば、CPU50がプログラムOPを実行することで実現される。ただし、これら機能部の一部または全部は、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、またはFPGA(Field Programmable Gate Array)などのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアとの協働によって実現されてもよい。記憶部160は、例えばROM70により実現される。
【0023】
操作受付部110は、操作部40に対して行われたユーザUの操作に基づき、家電機器100に対する操作を受け付け可能である。操作受付部110は、端末機器300により家電機器100が遠隔操作可能である場合、端末機器300に対して行われたユーザUの操作に基づき、サーバ200を介して家電機器100に対する操作を受け付け可能である。
【0024】
操作受付部110は、家電機器100の電源をONにするユーザUの操作、および家電機器100の電源をOFFにするユーザUの操作などを受け付ける。家電機器100の電源をOFFにするユーザUの操作は、「家電機器の使用状態を終了させるユーザの操作」の一例である。ただし「家電機器の使用状態を終了させるユーザの操作」とは、電源をOFFにする操作に限定されず、「終了」や「停止」に対応するボタン(ソフトウェアにより実現される仮想的なボタンも含む)を押す操作や、家電機器100をスリープ状態(低消費電力状態)に移行させる操作なども含み得る。
【0025】
情報出力部120は、更新プログラムUPがある場合、家電機器100の動作終了後、または家電機器100の使用状態を終了させるユーザUの操作が操作受付部110により受け付けられた後に、記憶部160に記憶されたプログラムOPの更新を行うか否かの確認を出力させる。「更新プログラムがある場合」とは、更新プログラムUPがサーバ200にある場合に限定されず、サーバ200から既にダウンロードされて家電機器100の内部(例えばRAM60)にある場合も含む。
【0026】
「確認を出力させる」とは、例えば、確認内容を示す情報を表示装置DDに表示させることを意味する。1つの例では、情報出力部120は、「更新プログラムが見つかりました。更新しますか?」などの確認を表示装置DDに表示させる。ただし「確認を出力させる」とは、家電機器100が音声対話機能を持つ場合や、家電機器100がスマートスピーカのような音声対話装置と直接またはサーバ200を介して通信可能である場合は、確認内容を示す情報を音声にて出力させる場合を含み得る。表示装置DDおよび音声対話装置の各々は、「報知部」の一例である。
【0027】
本明細書で「家電機器の動作終了後」とは、家電機器100の主機能の動作終了後(電気部品20の動作終了後)を意味する。家電機器100の動作終了後とは、洗濯機における洗濯動作の終了後、電子レンジにおける加熱動作の終了後などである。本明細書で「家電機器の使用状態を終了させるユーザの操作が操作受付部により受け付けられた後」とは、掃除機における吸引動作を終了させる操作の後、炊飯器における保温動作を終了させる操作の後、またはエアコンにおける空気調和動作を終了させる操作の後などである。一方で、家電機器100に異常が生じたため家電機器100の動作が終了した場合(例えば、洗濯機において衣服の偏りがある場合)は、上記確認は出力されず、プログラムOPの更新は行われなくてもよい。
【0028】
上記に代えて、情報出力部120は、家電機器100の動作開始前、または家電機器100の動作中に上記確認を出力してもよい。本明細書で「家電機器の動作開始前」とは、家電機器100の主機能の動作開始前(電気部品20の動作開始前)を意味する。家電機器100の動作開始前とは、例えば、洗濯機における洗濯動作の開始前、掃除機における吸引動作の開始前、炊飯器における炊飯動作の開始前、電子レンジにおける加熱動作の開始前、エアコンにおける空気調和動作の開始前である。「家電機器の動作中」とは、例えば、電気部品20が駆動中の時間を意味し、電気部品20の動作が一時的に中断(休止)している時間も含む。「電気部品の動作が一時的に中断している時間」とは、室温が目標温度帯内にあるためエアコンが停止している時間などである。
【0029】
ある1つの例では、情報出力部120は、更新プログラムUPがある場合、家電機器100の電源をONにするユーザUの操作が操作受付部110により受け付けられた後であって、ユーザUの次の操作が操作受付部110により受け付けられる前の時間に上記確認を出力する。この場合、情報出力部120は、「更新プログラムが見つかりました。動作終了後に更新しますか?」などの確認を出力させる。ユーザUの操作が操作受付部110により受け付けられるタイミングは、ユーザUの意識が家電機器100(または端末機器300)に向いている状態である。このため、そのタイミングで上記確認を出力すると、ユーザUの注意をより引きやすくなる。
【0030】
ある1つの例では、情報出力部120は、更新プログラムUPがある場合であっても、後述するようにプログラムOPの更新に必要な所要時間RTが更新可能時間UAT内に収まらない場合は、上記確認を出力させなくてもよい。すなわち、情報出力部120は、上記所要時間RTが上記更新可能時間UAT内に収まる場合のみ、上記確認を出力させてもよい。
【0031】
情報出力部120は、プログラムOPの更新中に、プログラムOPの更新の進捗状況を示す情報を表示装置DDに出力してもよい。プログラムOPの更新の進捗状況を示す情報は、例えば、プログラムOPの更新の進捗状況が何パーセントであるかを示す表示や、それに相当する図形(例えば進捗状況を示すバーや円グラフ)の表示である。
【0032】
動作制御部130は、電気部品20の動作を制御することで、家電機器100の動作を制御する。例えば、動作制御部130は、操作受付部110により受け付けられたユーザUの操作に基づき、電気部品20の動作を制御する。
【0033】
推定部140は、プログラムOPの更新に利用可能な更新可能時間UAT(
図4参照)を推定する。更新可能時間UATは、家電機器100の動作終了後、または家電機器100の使用状態を終了させるユーザUの操作が操作受付部110により受け付けられた後であって、家電機器100の次回使用時よりも前の時間である。
【0034】
本明細書で「家電機器の動作終了後、または家電機器の使用状態を終了させるユーザの操作が受け付けられた後であって、家電機器の次回使用時よりも前の時間」とは、家電機器100の動作終了直後、または家電機器100の使用状態を終了させるユーザの操作が受け付けられた直後が更新可能時間UATの開始時刻となる場合に限定されない。更新可能時間UATの開始時刻は、家電機器100の動作終了時または家電機器100の使用状態を終了させるユーザUの操作が受け付けられた時に対して時間が空けられた後でもよい。例えば、後述するように更新プログラムUPの一部が先にダウンロードされ、プログラムOPの更新に必要な所要時間が算出される場合、更新可能時間UATの開始時刻は、上記所要時間を算出する処理が終わった時点よりも後に設定されてもよい。
【0035】
図4は、更新可能時間UATの一例を示す図である。なお
図4では説明の便宜上、一部の曜日に関する更新可能時間UATだけに符号を付している。
図4に示す例は、平日の毎日朝に洗濯機(家電機器100)が2回使用され、土曜日と日曜日はそれぞれ午後に洗濯機(家電機器100)が2回使用される場合を示す。この場合、更新可能時間UATは、ある日における1回目の洗濯動作の終了後であって2回目の洗濯の開始よりも前の時間(さらに言えば、2回目の洗濯の開始に対して余裕時間(マージン)を空けた時間)、および、ある日の2回目の洗濯動作の終了後であって次の日の1回目の洗濯の開始よりも前の時間(さらに言えば、1回目の洗濯の開始に対して余裕時間(マージン)を空けた時間)である。このような家電機器100の動作履歴および/または操作履歴(操作ログ)を示す履歴情報は、電気部品20の動作履歴、および/または操作受付部110により受け付けられたユーザUの操作に基づき収集される。そして、家電機器100は、収集した履歴情報を、記憶部160の履歴データベースHIに蓄積する。
【0036】
別の例では、家電機器100がエアコンである場合で、毎日8:00~23:00の間にエアコンが使用されていたとする。この場合、上記時間帯に対して前後に余裕時間を持たせた24:00~翌7:00の間が更新可能時間UATとなる。
【0037】
本実施形態では、家電機器100は、直近の所定期間に取得された家電機器100の履歴情報に基づき、家電機器100の更新可能時間UATを推定する。例えば、家電機器100の記憶部160は、更新可能時間UATを推定するための推定モデルEMを記憶している。推定モデルEMは、履歴データベースHIに蓄積された情報に基づき機械学習が行われることで生成された学習済みモデルである。
【0038】
例えば、推定モデルEMは、ニューラルネットワークによる学習済みモデルである。この場合、推定モデルEMは、入力データである過去の所定期間における家電機器100の履歴情報と、そのときの正解データである実際の家電機器100の次回使用時の時刻とが対応付けられた教師データを用いて学習されている。例えば、推定モデルEMは、入力データである過去の所定期間における複数回の家電機器100の使用時の曜日および時刻と、正解データである実際の家電機器100の次回使用時の時刻とが対応付けられた教師データを用いて学習されている。ただし、推定モデルEMは、機械学習による学習済みモデルに限らず、統計学または数学的な手法で生成されたモデルなどでもよい。
【0039】
本実施形態では、推定部140は、直近の所定期間における家電機器100の履歴情報(例えば、直近の所定期間における複数回の家電機器100の使用時の曜日および時刻)を推定モデルEMに入力することで、家電機器100の次回使用時の推定時刻を取得する。そして、推定部140は、直近の家電機器100の使用時の時刻と、家電機器100の次回使用時の推定時刻とに基づき、更新可能時間UATの長さを推定する。なお本明細書で「更新可能時間を推定する」とは、更新可能時間UATの長さを推定する場合に限定されず、ある長さの更新可能時間UAT(例えば30分の更新可能時間UAT)が存在するか否かのみを推定する場合も含み得る。
【0040】
更新部150は、更新プログラムUPがある場合、家電機器100の動作終了後、または家電機器100の使用状態を終了させるユーザUの操作が受け付けられた後に、記憶部160に記憶されたプログラムOPを更新プログラムUPにより更新する。「家電機器の動作終了後」とは、上述したように、家電機器100の主機能の動作終了後(電気部品20の動作終了後)を意味し、家電機器100が洗濯機の場合は洗濯動作の終了後、電子レンジにおける加熱動作の終了後などである。さらに言えば、「家電機器の動作終了後」とは、家電機器100の主機能の動作終了後であって、家電機器100の電源が自動でOFFになる前を意味する。「プログラムを更新する」とは、記憶部160(ROM70)に記憶されているプログラムOPを更新プログラムUPに書き換えることを意味する。ただし、「プログラムを更新する」とは、プログラムOPの全部を更新する場合に限定されず、プログラムOPの一部だけを更新する場合も含み得る。
【0041】
本実施形態では、更新部150は、通信モジュール10を介してサーバ200と通信を行い、サーバ200に更新プログラムUPがあるか否かを判定する。更新部150は、サーバ200に新しい更新プログラムUPがあると判定した場合、その旨を示す信号を情報出力部120に出力する。この信号を受信することで、情報出力部120は、プログラムOPの更新を行うか否かの確認を出力させる。そして、更新部150は、上記確認に対してプログラムOPの更新を行う旨のユーザUの操作が操作受付部110により受け付けられた場合、家電機器100の動作終了後、または家電機器100の使用状態を終了させるユーザUの操作が受け付けられた後に、プログラムOPを更新する。本実施形態では、更新部150は、記憶部160に記憶されたプログラムOPを更新プログラムUPにより更新した後、家電機器100の電源を自動的にOFFにする。
【0042】
ここで本実施形態では、更新部150は、プログラムOPの更新に必要な所要時間RT(
図4参照)を推定する。そして、更新部150は、推定された所要時間RTが更新可能時間UAT内に収まる場合に、更新可能時間UAT内にプログラムOPを更新する。
【0043】
詳しく述べると、更新プログラムUPがサーバ200にある場合、プログラムOPの更新に必要な時間は、更新プログラムUPをサーバ200からRAM60にダウンロードするのに必要な時間、現在のプログラムOPを記憶部160(ROM70)から消去するのに必要な時間、更新プログラムUPをRAM60から記憶部160(ROM70)に転送するのに必要な時間、更新プログラムUPを記憶部160(ROM70)に書き込むのに必要な時間などの合計時間である。プログラムOPの更新に必要な時間は、更新プログラムUPが圧縮されている場合は、更新プログラムUPを解凍するのに必要な時間も含む。
【0044】
ここで、更新プログラムUPをダウンロードするのに必要な時間は、家電機器100が配置された住居のネットワーク環境(光回線の利用/モバイルルータの利用など)や、ネットワークの通信料金のプラン(高速タイプ/節約タイプ(低速タイプ)など)によって大きく異なる。そこで、本実施例の更新部150は、更新プログラムUPの一部をサーバ200からダウンロードしてRAM60に書き込む。そして、更新部150は、更新プログラムUPの一部をダウンロードするのに要した時間に基づき、更新プログラムUPの全体をダウンロードするのに必要な時間を推定する。ダウンロードする更新プログラムUPの一部は、例えば、更新プログラムUPの全体の10分の1であるが、これに限定されない。
【0045】
また、現在のプログラムOPを記憶部160から消去するのに必要な時間、更新プログラムUPをRAM60から記憶部160(ROM70)に転送するのに必要な時間、更新プログラムUPを記憶部160に書き込むのに必要な時間、および更新プログラムUPを解凍するのに必要な時間は、例えば、家電機器100の仕様(家電機器100のCPU50の性能など)によって決まる。このため、更新部150は、家電機器100の仕様に応じた計算式を予め記憶しており、更新プログラムUPのデータ量と上記計算式により、現在のプログラムOPを記憶部160から消去するのに必要な時間、更新プログラムUPをRAM60から記憶部160(ROM70)に転送するのに必要な時間、更新プログラムUPを記憶部160に書き込むのに必要な時間、および更新プログラムUPを解凍するのに必要な時間を推定する。
【0046】
そして、更新部150は、例えば、更新プログラムUPの全体をダウンロードするのに必要な時間、現在のプログラムOPを記憶部160から消去するのに必要な時間、更新プログラムUPをRAM60から記憶部160(ROM70)に転送するのに必要な時間、更新プログラムUPを記憶部160に書き込むのに必要な時間、更新プログラムUPが圧縮されている場合は解凍するのに必要な時間、および予め設定された所定の余裕時間(マージン)を合計することで、プログラムOPの更新に必要な所要時間RTを推定する。更新部150は、推定された所要時間RTが更新可能時間UAT内に収まるか否かを判定する。そして、更新部150は、推定された所要時間RTが更新可能時間UAT内に収まると判定した場合に、更新可能時間UAT内にプログラムOPを更新する。なお、余裕時間は、所要時間RTの設定と、更新可能時間UATの設置とのうちいずれか一方のみで考慮されてもよい。
【0047】
<3.制御フロー>
図5は、プログラムOPの更新に関する制御の一例を示すフローチャートである。まず、更新部150は、所定のタイミング(例えば家電機器100の電源がONにされたとき)、サーバ200と通信を行い、サーバ200に新しい更新プログラムUPがあるか否かを判定する(S101)。更新部150は、サーバ200に更新プログラムUPがない場合(S101:NO)、本フローを終了する。一方で、更新部150は、サーバ200に更新プログラムUPがある場合(S101:YES)、S102の処理に進む。これに代えて、更新部150は、サーバ200からプッシュ通知を受け取ることで、サーバ200に新しい更新プログラムUPがあることを認識してもよい。
【0048】
次に、更新部150は、サーバ200に新しい更新プログラムUPがある場合、更新プログラムUPの一部をダウンロードする(S102)。このダウンロードの少なくとも一部は、例えば、家電機器100の電気部品20の動作(例えば、洗濯機の場合における洗濯動作、掃除機の場合における吸引動作)と並行して行われる。次に、更新部150は、更新プログラムUPの一部をダウンロードするのに要した時間に基づき、更新プログラムUPの全体をダウンロードするのに必要な時間を含むプログラムOPの更新に必要な所要時間RTを推定する(S103)。
【0049】
次に、推定部140は、家電機器100の履歴情報に基づき、更新可能時間UATを推定する(S104)。例えば、推定部140は、直近の所定期間に取得された家電機器100の履歴情報(例えば、直近の所定期間における複数回の家電機器100の使用時の曜日および時刻)に基づき、家電機器100の更新可能時間UATを推定する。なお、S104は、S102およびS103よりも先に行われてもよい。そして、推定部140は、所要時間RTが更新可能時間UAT内に収まるか否かを判定する(S105)。
【0050】
情報出力部120は、所要時間RTが更新可能時間UAT内に収まらない場合(S105:NO)、今回の使用時におけるプログラムOPの更新を見送り、S109に進む。この場合、家電機器100の次回の使用時に、S104から処理が再開される。
【0051】
一方で、情報出力部120は、所要時間RTが更新可能時間UAT内に収まる場合(S105:YES)、家電機器100の動作終了後、または家電機器100の使用状態を終了させるユーザUの操作が操作受付部110により受け付けられた後に、プログラムOPの更新を行うか否かの確認を出力させる(S106)。
【0052】
次に、操作受付部110は、上記確認に対してプログラムOPの更新を行う旨のユーザUの操作があるか否かを判定する(S107)。更新部150は、プログラムOPの更新を行う旨のユーザUの操作がある場合(S107:YES)、プログラムOPを更新する(S108)。「プログラムの更新を行う旨のユーザの操作がある場合」とは、例えば、上記確認に対して「はい」という回答を選択するユーザUの操作が操作受付部110により受け付けられた場合である。これにより、更新部150は、更新プログラムUPの残りをダウンロードし、記憶部160に記憶されているプログラムOPを更新プログラムUPに書き換える。このとき、情報出力部120は、更新の進捗状況を示す情報を出力する。そして、更新部150は、プログラムOPの更新が完了した場合、家電機器100の電源をOFFにし(S109)、本フローの処理を終了する。
【0053】
一方で、更新部150は、プログラムOPの更新を行う旨のユーザUの操作がない場合(S107:NO)、プログラムOPを更新せずに、S109に進む。「プログラムの更新を行う旨のユーザの操作がない場合」とは、例えば、上記確認に対して「いいえ」という回答を選択するユーザUの操作が操作受付部110により受け付けられた場合である。この場合、家電機器100の次回の使用時に、S104から処理が再開される。
【0054】
<4.利点>
本実施形態では、家電機器100は、家電機器100を動作させるプログラムOPを記憶する記憶部160と、更新プログラムUPがある場合、家電機器100の動作終了後、または家電機器100の使用状態を終了させるユーザUの操作が受け付けられた後に、記憶部160に記憶されたプログラムOPを更新プログラムUPにより更新する更新部150とを有する。このような構成によれば、家電機器100が使用されないタイミングを有効利用してプログラムOPを更新することができる。これにより、プログラムOPの更新中に家電機器100が使用できなくなるというユーザUの不利益を避けることができる。これにより、利便性の向上を図ることができる。また上記構成によれば、プログラムOPの更新用に余剰のROM領域を設けることや、プログラムの更新手順が複雑化することを抑制することができる。これにより、家電機器100の低コスト化を図ることができる。
【0055】
(第1実施形態の変形例)
次に、第1実施形態の1つの変形例について説明する。なお以下に説明する以外の構成は、第1実施形態の構成と同様である。
【0056】
本変形例の更新部150は、例えば第1実施形態と同様の方法により、プログラムOPの更新に必要な所要時間RTを推定する。そして、更新部150は、推定された所要時間RTの長さが閾値未満である場合、家電機器100の動作終了後、または家電機器100の使用状態を終了させるユーザUの操作が操作受付部110により受け付けられた後にプログラムOPを更新する。すなわち、更新部150は、推定された所要時間RTの長さが閾値未満である場合は、所要時間RTが更新可能時間UAT内に収まるか否かの判定を行うことなく、家電機器100の動作終了後、または家電機器100の使用状態を終了させるユーザUの操作が操作受付部110により受け付けられた後にプログラムOPを更新する。
【0057】
一方で、更新部150は、推定された所要時間RTが上記閾値以上である場合、その旨を示す信号を推定部140に出力する。推定部140は、上記信号を更新部150から受け取ることに応じて、家電機器100の履歴情報に基づき、更新可能時間UATを推定する。そして、更新部150は、第1実施形態と同様に、推定された所要時間RTが更新可能時間UAT内に収まるか否かを判定する。この場合、更新部150は、推定された所要時間RTが更新可能時間UAT内に収まる場合、更新可能時間UAT内にプログラムOPを更新する。一方で、更新部150は、推定された所要時間RTが更新可能時間UAT内に収まらない場合、プログラムOPの更新を見送る。このような構成によっても、第1実施形態と同様に、ユーザUの利便性を向上させることができる場合がある。
【0058】
(第2実施形態)
次に、第2実施形態について説明する。第2実施形態は、推定部140がサーバ200に設けられた点、および家電機器100と同じ住居内に配置された別の家電機器100の履歴情報に基づき家電機器100の更新可能時間UATが推定される点で、第1実施形態とは異なる。以下に説明する以外の構成は、第1実施形態の構成と同様である。
【0059】
図6は、第2実施形態の家電システム1の構成を示す図である。本実施形態では、家電システム1は、例えば、家電機器100と、家電機器400と、サーバ200とを含む。
【0060】
家電機器400は、家電機器100と同じ住居に配置された別の家電機器である。以下では説明の便宜上、家電機器400を「周囲家電機器400」と称する。周囲家電機器400は、家電機器100の更新可能時間UATを判定するための履歴情報を提供する家電機器である。周囲家電機器400は、例えば、洗濯機、掃除機、炊飯器、電子レンジ、エアコン、冷蔵庫、照明機器、テレビジョン受像機であるが、これらに限定されない。例えば、周囲家電機器400は、家電機器100とは異なる種類の家電機器である。例えば、周囲家電機器400は、家電機器100と比べて使用頻度または使用時間が長い家電機器である。周囲家電機器400は、電源が常にONである家電機器でもよい。以下では、周囲家電機器400が冷蔵庫である場合を例に取り上げて説明する。
【0061】
周囲家電機器400は、ユーザUの住居内に配置されたルータRとモデムM、およびネットワークNWを介して、サーバ200と通信可能である。周囲家電機器400は、所定の周期で、周囲家電機器400の動作履歴および/または操作履歴(操作ログ)を示す履歴情報をサーバ200に送信する。例えば、冷蔵庫である周囲家電機器400は、冷蔵庫の扉の開閉動作および/または冷蔵庫の内部の温度履歴などをサーバ200に送信する。
【0062】
サーバ200は、例えば、情報取得部210、推定部220、および記憶部230を有する。情報取得部210および推定部220は、サーバ200に搭載されたCPUがプログラムを実行することで実現される。ただし、これら機能部の一部または全部は、ASIC、PLD、またはFPGAなどのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアとの協働によって実現されてもよい。記憶部230は、例えば、HDD(Hard Disk Drive)および/またはフラッシュメモリなどにより実現される。これらは後述する情報取得部210A、210B、推定部220A、220Bでも同様である。本実施形態では、情報出力部120、操作受付部110、および更新部150は、第1実施形態と同様に、家電機器100に設けられている。ただし、これら機能部の一部または全部は、家電機器100に代えて、サーバ200に設けられてもよい。また逆に、情報取得部210および推定部220の機能の一部または全部は、サーバ200に代えて、家電機器100に設けられてもよい。
【0063】
情報取得部210は、周囲家電機器400の履歴情報を周囲家電機器400から受信することで取得する。情報取得部210は、取得した周囲家電機器400の履歴情報を記憶部230の履歴データベースHIに蓄積する。さらに情報取得部210は、操作受付部110により受け付けられたユーザUの操作を示す情報、および/または、家電機器100の動作を示す情報を家電機器100から取得する。情報取得部210により取得された情報は、推定部140に出力される。
【0064】
本実施形態では、推定部140は、直近の所定期間に取得された周囲家電機器400の履歴情報に基づき、家電機器100の更新可能時間UATを推定する。例えば、サーバ200の記憶部230は、更新可能時間UATを推定するための推定モデルEMを記憶している。推定モデルEMは、履歴データベースHIに蓄積された情報に基づき機械学習が行われることで生成された学習済みモデルである。本実施形態では、推定モデルEMは、入力データである過去の所定期間における周囲家電機器400の履歴情報と、正解データである実際の家電機器100の次回使用時の時刻とが対応付けられた教師データを用いて学習されている。本実施形態では、推定部140は、直近の所定期間における周囲家電機器400の履歴情報を推定モデルEMに入力することで、家電機器100の次回使用時の推定時刻を取得する。そして、推定部140は、直近の家電機器100の使用時の時刻と、家電機器100の次回使用時の推定時刻とに基づき、更新可能時間UATの長さ(またはある長さの更新可能時間UATの有無)を推定する。
【0065】
ある1つの例では、周囲家電機器400がエアコンである場合で、毎日8:00~23:00の間にエアコンが使用されていたとする。この場合、上記時間帯に対して余裕時間を持った24:00~翌7:00の間が家電機器100(例えば洗濯機)の更新可能時間UATとなる。
【0066】
このような構成によれば、第1実施形態と同様に、ユーザUの利便性の向上を図ることができる。さらに本実施形態では、推定部140は、家電機器100と同じ住居内に配置された周囲家電機器400の履歴情報に基づき、家電機器100の更新可能時間UATを推定する。このような構成によれば、より高い精度で更新可能時間UATを推定することができる場合がある。
【0067】
(第3実施形態)
次に、第3実施形態について説明する。第3実施形態は、複数の家電機器100の履歴情報に基づき家電機器100の更新可能時間UATが推定される点で、第2実施形態とは異なる。以下に説明する以外の構成は、第2実施形態の構成と同様である。
【0068】
図7は、第3実施形態の家電システム1の構成を示す図である。本実施形態では、家電システム1は、情報取得部210および推定部220に代えて、情報取得部210Aおよび推定部220Aを有する。
【0069】
情報取得部210Aは、家電機器100の履歴情報を家電機器100から受信することで取得する。さらに、情報取得部210Aは、複数の周囲家電機器400の履歴情報を、複数の周囲家電機器400からそれぞれ受信することで取得する。複数の周囲家電機器400は、例えば互いに異なる種類の家電機器を含む。例えば、複数の周囲家電機器400は、洗濯機、掃除機、炊飯器、電子レンジ、エアコン、冷蔵庫、照明機器、テレビジョン受像機から選択される2つ以上の異なる家電機器である。情報取得部210Aは、取得した家電機器100および周囲家電機器400の履歴情報を記憶部230の履歴データベースHIに蓄積する。
【0070】
図8は、情報取得部210Aが取得する履歴情報の例を示す図である。情報取得部210Aは、例えば、冷蔵庫である周囲家電機器400から扉の開閉動作を示す履歴情報、テレビジョン受像機である周囲家電機器400から電源のON/OFF状態を示す履歴情報、エアコンである周囲家電機器400から電源のON/OFF状態を示す履歴情報、洗濯機である家電機器100から洗濯動作の開始および終了を示す履歴情報を取得する。
【0071】
本実施形態では、家電機器100は、直近に取得された家電機器100周囲家電機器400の履歴情報に基づき、家電機器100の更新可能時間UATを推定する。例えば、サーバ200の記憶部160は、更新可能時間UATを推定するための推定モデルEMを記憶している。推定モデルEMは、履歴データベースHIに蓄積された情報に基づき機械学習が行われることで生成された学習済みモデルである。
【0072】
本実施形態では、推定モデルEMは、入力データである過去の所定期間における家電機器100および複数の周囲家電機器400の履歴情報と、正解データである実際の家電機器100の次回使用時の時刻とが対応付けられた教師データを用いて学習されている。本実施形態では、推定部220Aは、直近の所定期間における家電機器100および複数の周囲家電機器400の履歴情報を推定モデルEMに入力することで、家電機器100の次回使用時の推定時刻を取得する。そして、推定部220Aは、直近の家電機器100の使用時の時刻と、家電機器100の次回使用時の推定時刻とに基づき、更新可能時間UATの長さ(またはある長さの更新可能時間UATの有無)を推定する。なお、上述した例に代えて、推定部220Aは、家電機器100と、1台の周囲家電機器400のみの履歴情報に基づいて更新可能時間UATを推定してもよく、家電機器100とは異なる複数の周囲家電機器400のみの履歴情報(すなわち、家電機器100の履歴情報は含まない)に基づいて更新可能時間UATを推定してもよい。
【0073】
このような構成によれば、第1実施形態と同様に、ユーザUの利便性の向上を図ることができる。さらに本実施形態では、推定部220Aは、家電機器100と同じ住居内に配置された家電機器100を含む複数の家電機器の履歴情報、または、家電機器100と同じ住居内に配置された家電機器100とは異なる複数の周囲家電機器400の履歴情報に基づき、家電機器100の更新可能時間UATを推定する。このような構成によれば、より高い精度で更新可能時間UATを推定することができる場合がある。
【0074】
(第4実施形態)
次に、第4実施形態について説明する。第4実施形態は、ユーザの位置情報に基づき家電機器100の更新可能時間UATが推定される点で、第2実施形態とは異なる。以下に説明する以外の構成は、第2実施形態の構成と同様である。
【0075】
図9は、第4実施形態の家電システム1の構成を示す図である。本実施形態では、家電システム1は、情報取得部210および推定部220に代えて、情報取得部210Bおよび推定部220Bを有する。
【0076】
情報取得部210Bは、所定の周期で、ユーザUの端末機器300から端末機器300の位置情報を取得する。端末機器300の位置情報は、「ユーザの位置情報」の一例である。端末機器300の位置情報は、例えば、GNSS(Global Navigation Satellite System)衛星からの受信信号に基づき算出される位置情報である。情報取得部210Bは、取得した端末機器300の位置情報の履歴を記憶部230の履歴データベースHIに蓄積する。
【0077】
本実施形態では、推定部220Bは、端末機器300の位置情報に基づき、家電機器100の更新可能時間UATを推定する。例えば、サーバ200の記憶部230は、更新可能時間UATを推定するための推定モデルEMを記憶している。推定モデルEMは、履歴データベースHIに蓄積された情報に基づき機械学習が行われることで生成された学習済みモデルである。本実施形態では、推定モデルEMは、入力データである過去の端末機器300の位置情報(例えば過去の所定期間における端末機器300の位置情報)と、正解データである実際の家電機器100の次回使用時の時刻とが対応付けられた教師データを用いて学習されている。本実施形態では、推定部220Bは、直近の端末機器300の位置情報(例えば直近の所定期間における端末機器300の位置情報)を推定モデルEMに入力することで、家電機器100の次回使用時の推定時刻を取得する。そして、推定部220Bは、直近の家電機器100の使用時の時刻と、家電機器100の次回使用時の推定時刻とに基づき、更新可能時間UATの長さ(または、ある長さの更新可能時間UATの有無)を推定する。
【0078】
ある1つの例では、推定部220Bは、端末機器300の位置情報と、端末機器300の位置情報に関する過去の履歴に基づき、住居からユーザUが離れたユーザUの不在時間を推定する。そして、推定部140は、ユーザUの不在時間に余裕時間(マージン)を持たせた時間を更新可能時間UATとする。
【0079】
このような構成によれば、第1実施形態と同様に、ユーザUの利便性の向上を図ることができる。さらに本実施形態では、推定部220Bは、ユーザUの位置情報に基づき家電機器100の更新可能時間UATを推定する。このような構成によれば、より高い精度で更新可能時間UATを推定することができる場合がある。なお、端末機器300の位置情報は、同じ住居に住む全てのユーザUの端末機器300の位置情報が用いられてもよいし、家電機器100を主に使用する1人または複数のユーザUの端末機器300の位置情報でもよい。
【0080】
(第4実施形態の変形例)
次に、第4実施形態のいくつかの変形例について説明する。なお以下に説明する以外の構成は、第4実施形態の構成と同様である。
【0081】
(第1変形例)
第1変形例の更新部150は、推定された所要時間RTが更新可能時間UAT内に収まるか否かに代えて、ユーザUの位置情報が所定条件を満たすか否か(例えば、ユーザUの位置が自宅から所定距離以上離れているか否か)を判定する。そして、第1変形例の更新部150は、ユーザUの位置情報が所定条件を満たす場合(例えば、ユーザUの位置が自宅から所定距離以上離れる場合)に、一定時間の更新可能時間UATがあると判定する。このような構成によれば、更新可能時間UATの有無をより簡単に判定することができる。
【0082】
(第2変形例)
第2変形例の更新部150は、例えば第1実施形態と同様の方法により、プログラムOPの更新に必要な所要時間RTを推定する。そして、更新部150は、推定された所要時間RTの長さが閾値未満である場合、家電機器100の動作終了後、または家電機器100の使用状態を終了させるユーザUの操作が操作受付部110により受け付けられた後にプログラムOPを更新する。すなわち、更新部150は、推定された所要時間RTの長さが閾値未満である場合は、ユーザUの位置情報(端末機器300の位置情報)の内容に関わらず、家電機器100の動作終了後、または家電機器100の使用状態を終了させるユーザUの操作が操作受付部110により受け付けられた後にプログラムOPを更新する。
【0083】
一方で、更新部150は、推定された所要時間RTが上記閾値以上である場合、その旨を示す信号を推定部140に出力する。推定部140は、上記信号を更新部150から受け取ることに応じて、端末機器300の位置情報に基づき、更新可能時間UATを推定する。そして、更新部150は、第1実施形態と同様に、推定された所要時間RTが更新可能時間UAT内に収まるか否かを判定する。この場合、更新部150は、推定された所要時間RTが更新可能時間UAT内に収まる場合、更新可能時間UAT内にプログラムOPを更新する。一方で、更新部150は、推定された所要時間RTが更新可能時間UAT内に収まらない場合、プログラムOPの更新を見送る。このような構成によっても、第1実施形態と同様に、ユーザUの利便性を向上させることができる場合がある。更新可能時間UATは、「ユーザの位置情報に基づいて得られる情報」の一例である。
【0084】
ただし上記第1変形例と同様に、第2変形例の更新部150は、推定された所要時間RTが更新可能時間UAT内に収まるか否かに代えて、ユーザUの位置情報が所定条件を満たすか否か(例えば、ユーザUの位置が自宅から所定距離以上離れているか否か)を判定してもよい。すなわち、更新部150は、推定された所要時間RTが上記閾値以上である場合、ユーザUの位置情報が所定条件を満たす否か(例えば、ユーザUの位置が自宅から所定距離以上離れているか否か)を判定し、ユーザUの位置情報が所定条件を満たす場合(例えば、ユーザUの位置が自宅から所定距離以上離れている場合)、プログラムOPを更新してもよい。
【0085】
(第5実施形態)
次に、第5実施形態について説明する。第5実施形態は、家電機器100が有する二次電池171の残容量に基づきプログラムOPを更新するか否かを判定する点で、第1実施形態とは異なる。以下に説明する以外の構成は、第1実施形態の構成と同様である。
【0086】
図10は、第5実施形態の家電システム1の構成を示す図である。本実施形態では、家電システム1は、第1実施形態と同様に、家電機器100のみにより実現される。ただし、家電システム1は、第2実施形態などと同様に、家電機器100とサーバ200とにより実現されてもよい。家電機器100は、二次電池ユニット170を含む。二次電池ユニット170は、充電式の二次電池171と、二次電池171の充放電および残容量を管理する制御部172とを含む。家電機器100は、二次電池171から供給される電力により動作する。以下では、家電機器100が掃除機(例えばスティックタイプの掃除機)である場合を例に取り上げて説明する。
【0087】
本実施形態では、更新部150は、プログラムOPの更新に必要な消費電力を推定する。そして、更新部150は、二次電池171の残容量でプログラムOPの更新が可能な場合に、家電機器100の動作終了後、または家電機器100の使用状態を終了させるユーザUの操作が操作受付部110により受け付けられた後にプログラムOPを更新する。
【0088】
詳しく述べると、更新部150は、二次電池ユニット170の制御部172と通信を行い、二次電池171の残容量を示す情報を取得する。そして、更新部150は、二次電池171の残容量に基づき、二次電池171の残容量で供給可能な消費電力を算出する。また、更新部150は、プログラムOPの更新に必要な消費電力を推定する。プログラムOPの更新に必要な消費電力は、更新プログラムUPをダウンロードする際に家電機器100の通信モジュール10で消費される電力、プログラムOPを更新する際にCPU50で消費される電力、および記憶部160の書き換えで消費される電力などである。そして、更新部150は、プログラムOPの更新に必要な消費電力が二次電池171の残容量で供給可能な消費電力内に収まる場合に、プログラムOPを更新させる。
【0089】
このような構成によれば、第1実施形態と同様に、ユーザUの利便性の向上を図ることができる。さらに本実施形態では、更新部150は、二次電池171の残容量でプログラムOPの更新が可能な場合にプログラムOPを更新する。このような構成によれば、プログラムOPの更新中に二次電池171の残容量が無くなり、更新ができなくなることを抑制することができる。
【0090】
なお、更新部150は、プログラムOPの更新に必要な消費電力に代えて、第1実施形態と同様に、プログラムOPの更新に必要な所要時間RTを推定する。さらに、更新部150は、更新部150は、二次電池171の残容量に基づき、二次電池171の残容量で更新部150の動作を継続できる動作可能時間の長さを算出する。そして、更新部150は、推定された所要時間RTが上記動作可能時間内である場合に、プログラムOPを更新させる。
【0091】
(第6実施形態)
次に、第6実施形態について説明する。第6実施形態は、記憶部160の記憶領域が複数の領域に分割され、当該複数の領域の1つずつを書き換え単位としてプログラムOPが少しずつ更新される点で、第1実施形態とは異なる。以下に説明する以外の構成は、第1実施形態の構成と同様である。
【0092】
ここで、第6実施形態は、第1から第5の実施形態と組み合わせても実施可能であるが、第1から第5の実施形態とは独立しても実施可能である。言い換えると、第6実施形態は、電源が常にON状態である家電機器100でも実施可能である。このため、以下の説明では、家電機器100の一例として、家電機器100が冷蔵庫である場合の例も含めて説明する。
【0093】
図11は、記憶部160(ROM70)の記憶領域を示す図である。本実施形態では、更新部150は、記憶部160の記憶領域を複数の領域に分割する。「分割する」とは、例えば、番地(アドレス)に応じて分けて管理することを意味し、特定の態様に限定されない。
【0094】
詳しく述べると、記憶部160は、家電機器100を動作させるプログラムOP(以下では区別のため「動作プログラムOP」と称する)に加えて、ブートローダ(Boot Loader)BLと、アップデータUD(Updater)とを記憶する。
【0095】
ブートローダBLは、動作プログラムOPとアップデータUDのどちらのプログラムを実行するかを判定し、動作プログラムOPとアップデータUDとのうちいずれか一方を実行するプログラムである。
【0096】
アップデータUDは、更新プログラムUPがある場合に、更新プログラムUPを利用して動作プログラムOPを更新する(動作プログラムOPを更新プログラムUPに書き換える)処理を実行するプログラムである。アップデータUDは、通信モジュール10を動作させるプログラムを含む通信機能に関するプログラム、動作プログラムOPを書き換えるためのプログラム、動作プログラムOPの更新に関して表示が必要な場合は表示に関するプログラムなどを含む。
【0097】
更新部150は、まず、記憶部160の記憶領域を、更新が必要ない第1領域R1と、更新が必要な第2領域R2とに分割する。第1領域R1は、ブートローダBLを記憶した領域R1a(番地0x00000000で始まる領域)と、アップデータUD記憶した領域R1b(番地0xXXXXXXXXで始まる領域)とを含む。一方で、第2領域R2は、動作プログラムOPを記憶する領域(番地0xYYYYYYYYで始まる領域)を含む。
【0098】
更新部150は、さらに、更新が必要な第2領域R2を、複数の領域に分割する。複数の領域は、それぞれ動作プログラムOPの一部(以下「モジュールMP」と称する)を記憶した複数の領域R2a(ブロック1~N(Nは2以上の整数))と、付属領域R2bとを含む。
【0099】
モジュールMPは、動作プログラムOPを少しずつ更新する場合において、動作プログラムOPの書き換え単位となる纏まりである。例えば、モジュールMPは、動作プログラムOPに含まれるメインプログラムにより呼び出されるサブプログラムである。モジュールMPは、家電機器100において制御対象が異なる部分ごとに分かれていると好ましい。例えば、モジュールMPは、家電機器100の通信モジュールを制御するプログラム、家電機器100の表示装置DDを制御するプログラム、家電機器100の電気部品20を制御するプログラムごとに分かれている。家電機器100が冷蔵庫の場合、電気部品20を制御するプログラムは、例えば、冷蔵庫の圧縮機および送風機を制御するプログラムである。なお、家電機器100の通信モジュールを制御するプログラムは、更新の対象外として、第1領域R1に記憶されてもよい。
【0100】
本実施形態では、RAM60の容量は、ROM70の容量よりも小さい。動作プログラムOPの全データ量は、RAM60の容量よりも大きい。しかしながら、上記書き換え単位(モジュールMP)のデータ量は、RAM60の容量よりも小さい。
【0101】
付属領域R2bは、動作プログラムOPの更新に関する情報や、動作プログラムOPのバージョン、チェックサム、各ブロックの更新マップなどが記憶を記憶する。ただし、付属領域R2bは、別のROM70に記憶されてもよい。また、更新マップが設けられることに代えて、各ブロックが更新されたか否かを示すフラグや時刻などが各ブロックに埋め込まれてもよい。
【0102】
本実施形態では、更新部150は、プログラムOPを更新する場合(例えば、家電機器100の動作終了後、または家電機器100の使用状態を終了させるユーザの操作が受け付けられた後にプログラムOPを更新する場合)、上述のように分割した第2領域R2の複数の領域R2aの1つずつを書き換え単位として動作プログラムOPを少しずつ更新する。
【0103】
すなわち、更新部150は、まず、更新プログラムUPのなかで上記1つの書き換え単位に対応するモジュールMPをサーバ200からRAM60にダウンロードして保存する。そして、更新部150は、ダウンロードしたモジュールMPを用いて、ROM70に記憶された動作プログラムOPのなかで上記モジュールMPに対応する部分を更新する。そして、当該モジュールMPに関する更新が完了した後、RAM60に保存されたモジュールMPを消去し、更新プログラムUPのなかで上記1つの書き換え単位に対応する別のモジュールMPをサーバ200からRAM60にダウンロードして保存する。以下、上述した処理を繰り返すことで、更新部150は、動作プログラムOPを少しずつ更新する。
【0104】
ここで、更新部150は、記憶部160の複数の領域R2aの1つずつを書き換え単位として動作プログラムOPを少しずつ更新する場合、家電機器100にとって重要でない機能を先に更新し、家電機器100にとって重要な機能を後から更新する。例えば、複数のモジュールMPが、(A)家電機器100の通信モジュール10を制御するプログラム、(B)家電機器100の表示装置DDを制御するプログラム、(C)家電機器100の機能維持に関連する部品を制御するプログラム(例えば、冷蔵庫における除霜ヒータを制御するプログラム)、(D)家電機器100の主機能の動作を制御するプログラム(例えば、冷蔵庫における圧縮機や送風機を制御するプログラム)に分かれている場合、更新部は、(A)、(B)、(C)、(D)の順に動作プログラムOPを少しずつ更新する。なお、(D)は更新されなくてもよい。
【0105】
例えば家電機器100が冷蔵庫である場合、更新部150は、(D)のプログラムにより家電機器100を動作させた状態(例えば、冷蔵庫における圧縮機や送風機を動作させた状態)で、(A)、(B)、(C)を順に更新する。そして最後に、家電機器100の主機能の動作を止めた状態で、(D)を更新する。このような構成によれば、家電機器100の主機能の動作が停止する時間を短くすることができる。例えば、冷蔵庫において冷却機能が停止する時間を短くすることができる。
【0106】
このような構成によれば、動作プログラムOPの更新の途中にネットワークNWに関する不意の通信途絶が生じた場合でも、通信回復後に更新の途中から処理を続けることができる。さらに、RAM60の容量を小さくすることができる。
【0107】
(参考形態)
次に、1つの参考形態について説明する。
図12は、参考形態の家電システム1Xの構成を示す図である。本参考形態の家電システム1Xは、上述した実施形態と同様に、1つの家電機器100のみにより実現されてもよく、家電機器100とサーバ200とにより実現されてもよい。なお以下に説明する以外の構成は、第1実施形態または第2実施形態の構成と同様である。
【0108】
家電システム1Xの家電機器100は、例えば、操作受付部110X、情報出力部120X、動作制御部130X、更新部150X、および記憶部160を有する。操作受付部110X、情報出力部120X、動作制御部130X、および更新部150Xの全部または一部は、CPUがプログラムOPを実行することで実現される。ただし、これら機能部の一部または全部は、ASIC、PLD、またはFPGAなどのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアとの協働によって実現されてもよい。
【0109】
本参考形態では、更新部150Xは、所定のタイミング(例えば、家電機器100の電源がONにされたタイミング)で、サーバ200と通信を行い、更新プログラムUPがあるか否かを判定する。更新部150Xは、サーバ200に更新プログラムUPがある場合、サーバ200から更新プログラムUPをダウンロードし、プログラムOPの更新処理を開始する。本参考形態では、アップデータUDにより、プログラムOPの更新中も操作受付部110Xおよび情報出力部120Xの後述する機能を維持する。
【0110】
本参考形態では、情報出力部120Xは、プログラムOPの更新中に家電機器100を動作させるユーザUの操作が操作受付部110Xにより受け付けられた場合、プログラムOPの更新であり、動作の予約設定が受け付け可能である通知を表示装置DDに出力する。
【0111】
そして、操作受付部110Xは、プログラムOPの更新中に、家電機器100動作の予約設定(例えば、洗濯機における洗濯動作の予約設定)を受け付ける。この場合、動作制御部130Xは、プログラムOPの更新が完了した後、予約設定に応じた動作を実行する。このような家電機器100によっても利便性の向上を図ることができる。
【0112】
以上、いくつかの実施形態および変形例について説明したが、実施形態は上記例に限定されない。上述した複数の実施形態および変形例は、適宜組み合わせて実現されてもよい。
【0113】
以上説明した少なくともひとつの実施形態によれば、家電機器は、当該家電機器の動作終了後、または当該家電機器の使用状態を終了させるユーザの操作が受け付けられた後に、記憶部に記憶されたプログラムを更新プログラムにより更新する。このような構成によれば、利便性を高めることができる。
【0114】
以下、いくつかの家電システムを付記する。
[1]家電機器を動作させるプログラムを記憶する記憶部と、
前記家電機器の動作終了後、または前記家電機器の使用状態を終了させるユーザの操作が受け付けられた後であって、前記家電機器の次回使用時よりも前の時間である更新可能時間を推定する推定部と、
前記プログラムの更新に必要な所要時間を推定し、前記所要時間が前記更新可能時間内に収まる場合、前記更新可能時間内に前記プログラムを更新する更新部と、
を備えた家電システム。
【0115】
このような構成によれば、家電機器が使用されないタイミングを有効利用してプログラムを更新することができる。これにより、利便性の向上を図ることができる。なお、このような家電システムでは、プログラムの更新は、家電機器の動作終了後、または家電機器の使用状態を終了させるユーザの操作が受け付けられた後に行われてもよいが、家電機器の動作終了前、または家電機器の使用状態を終了させるユーザの操作が受け付けられた前に行われてもよい。
【0116】
[2]家電機器を動作させるプログラムを記憶する記憶部と、
前記記憶部の記憶領域を複数の領域に分割し、前記複数の領域の1つずつを書き換え単位として前記プログラムを少しずつ更新する更新部と、
を備えた家電システム。
【0117】
このような構成によれば、プログラムの更新の途中にネットワークに関する不意の通信途絶が生じた場合でも、通信回復後に更新の途中から処理を続けることができる。さらに、RAMの容量を小さくすることができる。なお、このような家電システムでは、プログラムの更新は、家電機器の動作終了後、または家電機器の使用状態を終了させるユーザの操作が受け付けられた後に行われてもよいが、家電機器の動作終了前、または家電機器の使用状態を終了させるユーザの操作が受け付けられた前に行われてもよい。
【0118】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0119】
1…家電システム、10…通信モジュール、20…電気部品、30…表示装置、40…操作部、50…CPU、60…RAM、70…ROM、100…家電機器、110…操作受付部、120…情報出力部、130…動作制御部、140…推定部、150…更新部、160…記憶部、170…二次電池ユニット、171…二次電池、172…制御部、200…サーバ、300…端末機器、310…表示装置、400…周囲家電機器、R…ルータ、U…ユーザ、M…モデム、HI…履歴DB、EM…推定モデル、UP…更新プログラム、NW…ネットワーク