(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-21
(45)【発行日】2024-07-01
(54)【発明の名称】通信装置、制御方法、及びプログラム
(51)【国際特許分類】
G06F 3/12 20060101AFI20240624BHJP
B41J 29/38 20060101ALI20240624BHJP
H04N 1/00 20060101ALI20240624BHJP
G06F 8/65 20180101ALI20240624BHJP
【FI】
G06F3/12 330
G06F3/12 303
G06F3/12 385
B41J29/38 205
B41J29/38 104
H04N1/00 127A
H04N1/00 885
G06F8/65
(21)【出願番号】P 2020197652
(22)【出願日】2020-11-27
【審査請求日】2023-11-27
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】小野口 量大
【審査官】佐賀野 秀一
(56)【参考文献】
【文献】特開2007-148629(JP,A)
【文献】特開2015-001872(JP,A)
【文献】特開2006-231775(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/12
B41J 29/38
H04N 1/00
G06F 8/65
(57)【特許請求の範囲】
【請求項1】
所定のプログラムを有する通信装置であって、
前記所定のプログラムのアップデートを前記通信装置が自動で実行する機能である自動アップデート機能を有効化する設定及び前記自動アップデート機能を無効化する設定のうち少なくとも一方を受け付ける受け付け手段と、
前記自動アップデート機能を有効化する設定が受け付けられた場合、前記所定のプログラムのバージョンが最新のバージョンでなく、且つ前記通信装置が印刷機能である所定の機能を実行していない状態である所定の状態が所定の時間継続したことに基づいて、前記所定のプログラムのアップデートを自動で実行し、前記自動アップデート機能を無効化する設定が受け付けられた場合、前記所定のプログラムのアップデートを自動で実行しないアップデート手段と、
前記所定の状態が特定の時間継続したことに基づいて、前記通信装置を省電力状態に移行させる制御手段と、
前記所定の時間として設定されている時間を変更するための操作及び、前記特定の時間として設定されている時間を変更するための操作のうち少なくとも一方の操作を受け付ける操作受け付け手段と、
前記少なくとも一方の操作が受け付けられたことにより、前記所定の時間として設定されている時間が、前記特定の時間として設定されている時間より長くなったことに基づいて、前記所定の時間として設定されている時間が、前記特定の時間として設定されている時間より長くならないようにするための所定の処理を実行する処理手段と、
を有し、
前記省電力状態における前記通信装置の消費電力は、前記所定の状態における前記通信装置の消費電力より小さいことを特徴とする通信装置。
【請求項2】
前記所定の状態が継続している時間をカウントするカウント手段と、
前記所定の状態が所定の時間継続したか否かを、前記カウントされた時間に基づいて判定する判定手段と、
前記自動アップデート機能を有効化する設定が受け付けられた場合、前記所定のプログラムのバージョンが最新のバージョンでなく、且つ前記所定の状態が所定の時間継続したと判定されたことに基づいて、前記所定のプログラムのアップデートが自動で実行されることを特徴とする請求項1に記載の通信装置。
【請求項3】
前記所定の状態でなくなった場合、前記カウントされた時間がリセットされることを特徴とする請求項2に記載の通信装置。
【請求項4】
前記自動アップデート機能を無効化する設定が受け付けられた場合、前記所定の状態が継続している時間がカウントされないことを特徴とする請求項2又は3に記載の通信装置。
【請求項5】
前記所定の処理は、前記所定の時間として設定されている時間及び前記特定の時間として設定されている時間のうち少なくとも一方を変更する処理であることを特徴とする請求項1乃至4のいずれか1項に記載の通信装置。
【請求項6】
前記所定の処理は、前記所定の時間として設定されている時間及び前記特定の時間として設定されている時間のうち少なくとも一方を変更するようユーザを促す処理であることを特徴とする請求項1乃至4のいずれか1項に記載の通信装置。
【請求項7】
前記所定の時間として設定されている時間が、前記特定の時間として設定されている時間より長いか否かを判定する時間判定手段をさらに有し、
前記所定の時間として設定されている時間が、前記特定の時間として設定されている時間より長いと判定されたことに基づいて、前記所定の処理が実行されることを特徴とする請求項1乃至6のいずれか1項に記載の通信装置。
【請求項8】
前記所定の時間として設定されている時間を変更するための操作及び、前記特定の時間として設定されている時間を変更するための操作のうち少なくとも一方が受け付けられたことに基づいて、前記所定の時間として設定されている時間が、前記特定の時間として設定されている時間より長いか否かが判定されることを特徴とする請求項7に記載の通信装置。
【請求項9】
前記所定の状態は、前記所定のプログラムのバージョンが最新のバージョンでなく、且つ前記通信装置が前記所定の機能及び特定の画面を表示する機能を実行していない状態であることを特徴とする請求項1乃至8のいずれか1項に記載の通信装置。
【請求項10】
前記特定の画面は、前記通信装置の無線接続を設定するためのネットワーク設定画面であることを特徴とすることを特徴とする請求項9に記載の通信装置。
【請求項11】
前記所定の状態は、前記通信装置にエラーが生じていない状態であることを特徴とする請求項1乃至10のいずれか1項に記載の通信装置。
【請求項12】
前記通信装置の外部のサーバから、前記所定のプログラムのアップデートを実行するためのアップデートデータを受信する受信手段を有し、
前記アップデートデータに基づいて、前記所定のプログラムのアップデートが実行されることを特徴とする請求項1乃至11のいずれか1項に記載の通信装置。
【請求項13】
前記所定のプログラムのバージョンが最新のバージョンでなく、且つ前記所定の状態が前記所定の時間継続したことに基づいて、前記アップデートデータが受信されることを特徴とする請求項12に記載の通信装置。
【請求項14】
最新のバージョンに関する情報を前記通信装置の外部のサーバから受信する情報受信手段と、
前記受信された最新のバージョンに関する情報に基づいて、前記所定のプログラムのバージョンが最新のバージョンであるか否かを判定するバージョン判定手段をさらに有することを特徴とする請求項1乃至13のいずれか1項に記載の通信装置。
【請求項15】
前記所定のプログラムは、ファームウェアであることを特徴とする請求項1乃至14のいずれか1項に記載の通信装置。
【請求項16】
前記通信装置はプリンタであることを特徴とする請求項1乃至15のいずれか1項に記載の通信装置。
【請求項17】
前記通信装置はインクジェットプリンタであることを特徴とする請求項1乃至16のいずれか1項に記載の通信装置。
【請求項18】
所定のプログラムを有する通信装置のコンピュータを、
前記所定のプログラムのアップデートを前記通信装置が自動で実行する機能である自動アップデート機能を有効化する設定及び前記自動アップデート機能を無効化する設定のうち少なくとも一方を受け付ける受け付け手段と、
前記自動アップデート機能を有効化する設定が受け付けられた場合、前記所定のプログラムのバージョンが最新のバージョンでなく、且つ前記通信装置が印刷機能である所定の機能を実行していない状態である所定の状態が所定の時間継続したことに基づいて、前記所定のプログラムのアップデートを自動で実行し、前記自動アップデート機能を無効化する設定が受け付けられた場合、前記所定のプログラムのアップデートを自動で実行しないアップデート手段と、
前記所定の状態が特定の時間継続したことに基づいて、前記通信装置を省電力状態に移行させる制御手段と、
前記所定の時間として設定されている時間を変更するための操作及び、前記特定の時間として設定されている時間を変更するための操作のうち少なくとも一方の操作を受け付ける操作受け付け手段と、
前記少なくとも一方の操作が受け付けられたことにより、前記所定の時間として設定されている時間が、前記特定の時間として設定されている時間より長くなったことに基づいて、前記所定の時間として設定されている時間が、前記特定の時間として設定されている時間より長くならないようにするための所定の処理を実行する処理手段と、
として機能させ、
前記省電力状態における前記通信装置の消費電力は、前記所定の状態における前記通信装置の消費電力より小さいことを特徴とするプログラム。
【請求項19】
所定のプログラムを有する通信装置の制御方法であって、
前記所定のプログラムのアップデートを前記通信装置が自動で実行する機能である自動アップデート機能を有効化する設定及び前記自動アップデート機能を無効化する設定のうち少なくとも一方を受け付ける受け付けステップと、
前記自動アップデート機能を有効化する設定が受け付けられた場合、前記所定のプログラムのバージョンが最新のバージョンでなく、且つ前記通信装置が印刷機能である所定の機能を実行していない状態である所定の状態が所定の時間継続したことに基づいて、前記所定のプログラムのアップデートを自動で実行し、前記自動アップデート機能を無効化する設定が受け付けられた場合、前記所定のプログラムのアップデートを自動で実行しないアップデートステップと、
前記所定の状態が特定の時間継続したことに基づいて、前記通信装置を省電力状態に移行させる制御ステップと、
前記所定の時間として設定されている時間を変更するための操作及び、前記特定の時間として設定されている時間を変更するための操作のうち少なくとも一方の操作を受け付ける操作受け付けステップと、
前記少なくとも一方の操作が受け付けられたことにより、前記所定の時間として設定されている時間が、前記特定の時間として設定されている時間より長くなったことに基づいて、前記所定の時間として設定されている時間が、前記特定の時間として設定されている時間より長くならないようにするための所定の処理を実行する処理ステップと、
を有し、
前記省電力状態における前記通信装置の消費電力は、前記所定の状態における前記通信装置の消費電力より小さいことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信装置、制御方法、及びプログラムに関するものである。
【背景技術】
【0002】
プリンタ等の通信装置が、サーバが有する情報を取得して、ファームウェア等のプログラムのアップデートを実行する技術が知られている(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、通信装置が有するプログラムのアップデートを実行する形態が普及するにつれ、通信装置が有するプログラムのアップデートをより適切に実行することが要望されている。
【0005】
そこで本発明は、通信装置が有するプログラムのアップデートをより適切に実行するための処理を実行することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、
所定のプログラムを有する通信装置であって、
前記所定のプログラムのアップデートを前記通信装置が自動で実行する機能である自動アップデート機能を有効化する設定及び前記自動アップデート機能を無効化する設定のうち少なくとも一方を受け付ける受け付け手段と、
前記自動アップデート機能を有効化する設定が受け付けられた場合、前記所定のプログラムのバージョンが最新のバージョンでなく、且つ前記通信装置が印刷機能である所定の機能を実行していない状態である所定の状態が所定の時間継続したことに基づいて、前記所定のプログラムのアップデートを自動で実行し、前記自動アップデート機能を無効化する設定が受け付けられた場合、前記所定のプログラムのアップデートを自動で実行しないアップデート手段と、
前記所定の状態が特定の時間継続したことに基づいて、前記通信装置を省電力状態に移行させる制御手段と、
前記所定の時間として設定されている時間を変更するための操作及び、前記特定の時間として設定されている時間を変更するための操作のうち少なくとも一方の操作を受け付ける操作受け付け手段と、
前記少なくとも一方の操作が受け付けられたことにより、前記所定の時間として設定されている時間が、前記特定の時間として設定されている時間より長くなったことに基づいて、前記所定の時間として設定されている時間が、前記特定の時間として設定されている時間より長くならないようにするための所定の処理を実行する処理手段と、
を有し、
前記省電力状態における前記通信装置の消費電力は、前記所定の状態における前記通信装置の消費電力より小さいことを特徴とする。
【発明の効果】
【0007】
本発明によれば、通信装置が有するプログラムのアップデートをより適切に実行するための処理を実行することが可能となる。
【図面の簡単な説明】
【0008】
【
図1】通信装置及びサーバのハードウェア構成例を示す図である。
【
図3】通信装置及びサーバによって実行される処理を示すフローチャートである。
【
図4】通信装置によって実行されるファームウェアのアップデート処理を示すフローチャートである。
【
図5】自動アップデート機能を有効化するか無効化するかの設定のための入力を受け付けるために表示される画面である。
【
図7】通信装置によって実行される処理を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0010】
<実施形態1>
本実施形態の通信システムに含まれる情報処理装置及び通信装置について説明する。情報処理装置として、本実施形態ではPC(パーソナルコンピュータ)等で構成されるサーバを例示しているが、これに限定されない。例えば情報処理装置として、スマートホン、携帯端末、タブレット端末、PDA(Personal Digital Assistant)、デジタルカメラ等、種々のものを適用可能である。また、通信装置として、本実施形態ではプリンタを例示しているが、これに限定されず、情報処理装置と無線通信を行うことが可能であり、ファームウェアのアップデートを実行する装置であれば、種々のものを適用可能である。例えば、プリンタであれば、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ等に適用することができる。また、プリンタのみならず複写機やファクシミリ装置、携帯端末、スマートホン、ノートPC、タブレット端末、PDA、デジタルカメラ、音楽再生デバイス、テレビ、スマートスピーカ等にも適用可能である。その他、複写機能、FAX機能、印刷機能等の複数の機能を備える複合機にも適用可能である。
【0011】
図2は、本実施形態の通信システムの構成を示すブロック図である。通信システム200において、本実施形態の情報処理装置であるサーバ100が、本実施形態の情報処理装置と通信可能な通信装置である通信装置150と、インターネットを介して通信可能である。なお本実施形態においてサーバ100は、例えば、1台又は複数台のPCによって構成されるもサーバシステムである。
【0012】
まず、サーバ100と、通信装置150の構成について
図1のブロック図を参照して説明する。また、本実施形態では以下の構成を例に記載するが、本実施形態は通信装置と通信を行うことが可能な装置に関して適用可能なものであり、特にこの図のとおりに機能を限定するものではない。
【0013】
サーバ100は入力インタフェース102とCPU103、ROM104、RAM105、外部記憶装置106、出力インタフェース108、表示部107、キーボード101、マウス109、ネットワークインタフェース110を有する。CPU103、ROM104、RAM105等によって、サーバ100のコンピュータが形成される。
【0014】
ネットワークインタフェース110は、ネットワーク190にネットワークケーブル111を介して接続する。本実施形態においてネットワークケーブル111は、USB(Universal Serial Bus)ケーブルであるものとするが、これに限定されず、例えば有線LANであっても良い。なおネットワークインタフェース110は、ネットワーク190に有線で接続するインタフェースではなく、ネットワーク190に無線で接続するインタフェースであっても良い。なお無線接続に用いられる無線通信方式は、例えば、IEEE802.11シリーズに準拠する通信方式(Wi-Fi)や、Bluetooth、Near Field Communication(NFC)である。Bluetoothは、Bluetooth Classicであっても良いし、Bluetooth Low Energyであっても良い。またサーバ100は、ネットワーク190に有線で接続するインタフェースとネットワーク190に無線で接続するインタフェースの両方を有していても良い。また、本実施形態においてネットワーク190はインターネットネットワークであるものとする。
【0015】
入力インタフェース102は、キーボード101やマウス109等の操作部が操作されることにより、ユーザからのデータ入力や動作指示を受け付けるためのインタフェースである。なお、操作部は、物理キーボードや物理ボタン等であっても良いし、表示部107に表示されるソフトキーボードやソフトボタン等であっても良い。すなわち、入力インタフェース102は、表示部107を介してユーザからの入力を受け付けても良い。
【0016】
CPU103は、システム制御部であり、サーバ100の全体を制御する。
【0017】
ROM104は、CPU103が実行する制御プログラムやデータテーブル、組み込みオペレーティングシステム(以下、OSという。)プログラム等の固定データを格納する。本実施形態では、ROM104に格納されている各制御プログラムは、ROM104に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウエア実行制御を行う。
【0018】
RAM105は、バックアップ電源を必要とするSRAM(Static Random Access Memory)等で構成される。サーバ100の設定情報やサーバ100の管理データ等を格納するメモリエリアがRAM105に設けられている。また、RAM105は、CPU103の主メモリとワークメモリとしても用いられる。
【0019】
外部記憶装置106は、通信装置150のファームウェアをアップデートするためのデータ(アップデートデータ)や、当該アップデートデータに関する情報を保存する。なお、本実施形態では、それぞれ別の種別・型番の装置毎にそれぞれ別のアップデートデータによってファームウェアのアップデートが実行されるものとし、外部記憶装置106は、種別や型番毎に異なる複数のアップデートデータを有しているものとする。また本実施形態においては、アップデートデータは、最新のファームウェアそのものであり、アップデートデータを受信した通信装置150は、保持していた古いファームウェアをアップデートデータに置き換えることでアップデートを実行するものとする。しかしながらこの形態に限定されない。アップデートデータは、ファームウェアそのものではなく、通信装置150が保持していた古いファームウェアの一部を修正したり当該ファームウェアにプログラムを追加することで、ファームウェアのアップデートを行うためのデータであっても良い。なお外部記憶装置106に保存される情報は、例えば、ROM104等の他のメモリに保存されても良い。
【0020】
出力インタフェース108は、表示部107がデータの表示やサーバ100の状態の通知を行うための制御を行うインタフェースである。
【0021】
表示部107は、LED(発光ダイオード)やLCD(液晶ディスプレイ)などから構成され、データの表示を行う。
【0022】
通信装置150はネットワークインタフェース151とRAM152、プリントエンジン153、ROM154、CPU156を有する。ROM154、RAM152、CPU156等によって、通信装置150のコンピュータが形成される。
【0023】
ネットワークインタフェース151は、ネットワーク190にネットワークケーブル157を介して接続する。本実施形態においてネットワークケーブル157は、有線LANであるものとするが、これに限定されず、例えばUSBケーブルであっても良い。なおネットワークインタフェース151は、ネットワーク190に有線で接続するインタフェースではなく、ネットワーク190に無線で接続するインタフェースであっても良い。なお無線接続に用いられる無線通信方式は、例えば、IEEE802.11シリーズに準拠する通信方式(Wi-Fi)や、Bluetooth、NFCである。Bluetoothは、Bluetooth Classicであっても良いし、Bluetooth Low Energyであっても良い。またサーバ100は、ネットワーク190に有線で接続するインタフェースとネットワーク190に無線で接続するインタフェースの両方を有していても良い。
【0024】
RAM152は、バックアップ電源を必要とするSRAM等で構成される。通信装置150の設定情報や通信装置150の管理データ等を格納するメモリエリアもRAM152に設けられている。また、RAM152は、CPU156の主メモリとワークメモリとしても用いられ、外部のPCやスマートフォン等から受信した印刷ジョブを一旦保存するための受信バッファや各種の情報を保存する。
【0025】
ROM154は、CPU156が実行する制御プログラムやデータテーブル、OSプログラム等の固定データを格納する。本実施形態では、ROM154に格納されている各制御プログラムは、ROM154に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウエア実行制御を行う。また、本実施形態では、ROM154は、通信装置150のファームウェアを格納する。本実施形態において通信装置150のファームウェアとは、通信装置150の各種ハードウェアを制御するためのプログラムである。
【0026】
CPU156は、システム制御部であり、通信装置150の全体を制御する。
【0027】
プリントエンジン153は、RAM152に保存された情報や外部のPCやスマートフォン等から受信した印刷ジョブに基づき、インク等の記録剤を紙等の記録媒体上に付加することで記録媒体上に画像を形成し、印刷結果を出力する。
【0028】
なお、通信装置150には、外付けHDDやSDカード等のメモリがオプション機器として装着されてもよく、通信装置150に保存される情報は、当該メモリに保存されても良い。
【0029】
ここでは例としてサーバ100と通信装置150の処理分担を上記のように示したが、特にこの分担形態限らず他の形態であっても構わない。
【0030】
本実施形態では、通信装置150は、通信装置150に対するユーザ操作に基づかずに通信装置150が自動で通信装置150のファームウェアのアップデートを行う機能(自動アップデート機能)を有する。例えば、自動アップデート機能が、ある指定された時間に自動でアップデートを実行する機能であるとする。この形態では、指定された時間においてユーザが通信装置150を使用していたとしてもアップデートが開始されてしまう。一般にアップデート中は通信装置150が実行できる機能は制限されるため、結果として、ユーザが通信装置150を使用していたにもかかわらず、アップデートにより通信装置150を使用できなくなってしまうという課題が生じる。そこで本実施形態では、ユーザが通信装置150を使用していたにもかかわらず、アップデートにより通信装置150を使用できなくなってしまうことを抑制する形態を説明する。
【0031】
本実施形態では、ユーザは、通信装置150の自動アップデート機能を有効化するか無効化するかを、任意に設定可能であるものとする。そのため通信装置150は、通信装置150の自動アップデート機能を有効化するか無効化するかの設定のための入力を受け付ける。
図5は、当該入力を受け付けるために表示される画面である。ボタン501が操作された場合、通信装置150の自動アップデート機能が無効化され、ボタン502が操作された場合、通信装置150の自動アップデート機能が有効化される。なお、通信装置150の自動アップデート機能が無効化されている状態では、後述の所定の状態で動作している時間をカウントしない。なお
図5の画面は、例えば、通信装置150の電源がONになった場合や、通信装置150の初期設定が行われる場合、通信装置150のファームウェアのアップデートが必要であることが特定された場合等に表示されるが、表示タイミングは特に限定されない。また通信装置150の自動アップデート機能を有効化するか無効化するかのユーザ設定ができず、通信装置150の自動アップデート機能が常に有効化される形態であっても良い。
【0032】
以下に、通信装置150の自動アップデート機能が有効化されている状態において実行される処理について説明する。
図3は、本実施形態において通信装置150及びサーバ100によって実行される処理を示すフローチャートである。本処理は、各装置のCPUが各装置のROMや各装置のRAM等の記憶領域に格納された各種プログラムを読み出して実行することにより実現される。本処理は、通信装置150の自動アップデート機能が有効化されている状態において、通信装置150の電源がONされたことに基づいて開始される。また本フローチャートにおいて、通信装置150とサーバ100との間の通信は、それぞれが有するネットワークインタフェースにより、ネットワーク190を介して行われる。
【0033】
S301で、通信装置150は、予め定められた所定の状態が所定の時間経過したか否かを判定する。本実施形態では、自動アップデート機能が有効化されている通信装置150は、通信装置150の電源がONされた場合、所定の状態で通信装置150が動作している時間をカウントし始めるものとする。なお通信装置150は、通信装置150の電源がOFFされた場合や所定の状態での動作が終了した場合、カウントを停止する。言い換えれば、通信装置150が所定の状態でない状態で動作している場合は、カウントは行われない。なお本実施形態では、カウントが停止された場合、それまでカウントされた値はリセットされるものとする。すなわち、本判定では実際には、所定の状態が所定の時間継続したか否かが判定される。しかし、この形態に限定されない。カウントが停止された場合、それまでカウントされた値がリセットされない形態としても良い。すなわち、所定の状態での動作が再び開始されたら、所定の状態での動作が終了する前にカウントされた値から再びカウントが開始されても良い。そしてこのカウントによって計測された時間の長さに基づいて、本判定が実行されるものとする。本実施形態において所定の状態とは、ユーザによって通信装置150が操作されていない状態である。言い換えれば、本実施形態において所定の状態でない状態は、少なくとも、ユーザによって通信装置150が操作された状態であり、ユーザによって通信装置150が操作された場合は、所定の状態での動作が終了することとなる。なお所定の状態とは、ファームウェアのアップデートを実行可能な状態であっても良い。そのため本実施形態において所定の状態でない状態は、少なくとも、ファームウェアのアップデートを実行可能でない状態であっても良い。本実施形態では、さらに所定の状態は、通信装置150が印刷中でない状態、通信装置150にエラーが発生していない状態、通信装置150が特定の画面を表示していない状態、通信装置150が有する不図示のLEDが点滅していない状態等を含む。なお本実施形態では、所定の状態に含まれる上述した全ての状態が満たされている状態が、所定の状態としてみなされるものとする。言い換えれば、本実施形態において所定の状態でない状態は、上述した状態のうち少なくとも1つが満たされない状態であり、例えば通信装置150が印刷中になったり、通信装置150にエラーが発生した場合、所定の状態での動作が終了することとなる。また所定の状態には、スリープ状態が含まれても良い。なおこの形態に限定されず、上述した具体的な状態のうち一部の状態のみが、所定の状態に含まれても良いし、他の状態が所定の状態に含まれても良い。なお通信装置150において発生しうるエラーは例えば、通信装置150が保持するインクや紙が無いエラーや通信装置150が保持するインクや紙が少ないエラー、通信装置150が備える不図示のカバーが開いているエラー等である。また例えば、通信装置150が保持する紙が通信装置150内で詰まっているエラーや、通信装置150がネットワーク190を介した他の装置との通信を実行できないエラーである。また、特定の画面とは、例えば、通信装置150の無線接続(Wi-Fi接続等)を設定するためのネットワーク設定画面や、エラー画面である。そして特定の画面でない画面とは、例えば、通信装置150が実行可能な各種機能(印刷やスキャン、通信装置150の各種設定)等を実行するためのアイコン等の領域を表示するホーム画面や、ネットワーク設定以外の他の設定をするための設定画面である。そのため、特定の画面でない画面が表示されている状態は、所定の状態とみなされ、上記のカウントが進行しうる。なお、所定の状態は、上述した具体的な状態に限定されない。例えば、上述した具体的な状態のうちいずれかのみが所定の状態として扱われても良いし、上述した具体的な状態とは異なる他の状態が所定の状態として扱われても良い。
【0034】
また、本実施形態では、本判定に用いられる閾値である所定の時間は、10分であるものとするが、この形態に限定されない。所定の時間は他の値であっても良い。なおこの判定に用いられる閾値(所定の時間)は、通信装置150に対する操作等によってユーザが適宜設定可能であっても良い。その場合例えば、通信装置150は、ユーザ操作に従って、
図6(A)に示すような、所定の時間を変更・設定するための入力をユーザから受け付ける画面600(入力受け付け画面)を表示する。そして、画面600において、プルダウン601が操作され、任意の時間がユーザによって選択されることで、通信装置150は、選択された時間を、所定の時間として設定する。
【0035】
通信装置150は、YESと判定した場合は、S302に進み、NOと判定した場合は、本判定を繰り返す。
【0036】
S302では、通信装置150は、サーバ100に対してアップデートデータに関する情報の要求を送信する。なお当該要求には、たとえば、通信装置150の識別情報(通信装置150の種別に関する情報や型番に関する情報等)が含まれる。
【0037】
S303では、サーバ100は、通信装置150から要求を受信する。そしてサーバ100は、サーバ100が有する複数のアップデートデータから、当該要求に含まれる識別情報に対応するアップデートデータ(当該要求を送信した通信装置150に対応するアップデートデータ)を特定する。そして、特定されたアップデートデータに関する情報を、通信装置150に送信する。なおアップデートデータに関する情報には、例えば、当該アップデートデータによってアップデートされた場合のファームウェアのバージョンを示す情報や、当該アップデートデータのサイズを示す情報が含まれる。またアップデートデータに関する情報には、例えば、当該アップデートデータに対応する装置の機種や型番を示す情報が含まれる。なお、当該アップデートデータによってアップデートされた場合のファームウェアのバージョンを示す情報は、アップデートデータが最新のファームウェアそのものである場合は、アップデートデータそのもののバージョンである。
【0038】
S304で、通信装置150は、S303でサーバ100から送信された、アップデートデータに関する情報を受信する。通信装置150は、当該情報に基づいて、当該情報に対応する機種や型番を特定し、特定した機種や型番が、自身の機種や型番に対応しない場合は、受信した情報を破棄し、
図3のフローチャートで実行している処理を終了する。対応していた場合は、処理を進める。また、この時受信される情報は、サーバ100によって暗号化されていても良い。アップデートデータに関する情報が暗号化されていた場合は、通信装置150は、受信した情報に対して復号化を行い、内容を確認する。
【0039】
S305で、通信装置150は、S304で受信した情報によって示されるバージョンを確認する。そして通信装置150は、確認されたバージョンの方が通信装置150が現在有しているファームウェアのバージョンよりも新しいか否かを判定(バージョン判定)する。通信装置150は、YESと判定した場合は、S306に進み、NOと判定した場合は、S301に戻る。なおNOと判定した場合は、S301に戻らずに、例えば、通信装置150に対して、所定の動作を終了されるまで待機してよい。そしてその後、再度所定の状態での動作が開始されたら、S301に戻っても良い。
【0040】
S306で、通信装置150は、サーバ100にアップデートデータの要求を送信する。
【0041】
S307で、通信装置150から要求を受信したサーバ100は、S303で特定された、通信装置150に対応するアップデートデータを通信装置150に送信する。なおS306に送信される要求にも、通信装置150の識別情報が含まれているものとし、S307においてサーバ100が、当該要求に基づいて、通信装置150に対応するアップデートデータを特定する形態であっても良い。
【0042】
S308で、通信装置150は、S307でサーバ100から送信された通信装置150に対応するアップデートデータを受信し、当該アップデートデータを用いて通信装置150が有するファームウェアのアップデートを開始する。また、この時受信されるアップデートデータはサーバ100によって暗号化されていても良い。アップデートデータが暗号化されていた場合は、通信装置150は、受信したアップデートデータに対して復号化を行い、復号化後のアップデートデータを用いてアップデートを行う。なお、本処理によってアップデートが完了した場合は、アップデートの完了に基づいて通信装置150が再起動しても良い。また再起動後、
図3の処理が再開されても良い。
【0043】
S308の処理について
図4を用いて詳細に説明する。
図4は、本実施形態において通信装置150によって実行されるファームウェアのアップデート処理を示すフローチャートである。本処理は、CPU156がROM154やRAM152等の記憶領域に格納された各種プログラムを読み出して実行することにより実現される。
【0044】
S401において、通信装置150は、サーバ100から送信されたアップデートデータの受信を開始する。なおこのとき通信装置150は、アップデートデータの受信を実行していることを示す画面を表示部160に表示しても良い。
【0045】
S402において、通信装置150は、所定の状態での動作が終了したか否かを判定する。通信装置150は、通信装置150にユーザ操作が行われた等の理由により、所定の状態での動作が終了した場合には、YESと判定し、S403に進む。一方通信装置150は、所定の状態での動作が継続している場合には、NOと判定し、S404に進む。
【0046】
S403において、通信装置150は、アップデートデータの受信を中止する。なおことのとき通信装置150は、サーバ100に対して、アップデートデータの送信を中止するよう通知しても良い。そしてその通知を受けてサーバ100は、アップデートデータの送信を中止しても良い。またこのとき通信装置150は、アップデートデータの受信を実行していることを示す画面が表示される前に表示されていた画面に、表示部160に表示されている画面を戻しても良い。その後処理を終了する。
【0047】
S404において、通信装置150は、アップデートデータの受信が完了したか否かを判定する。通信装置150は、YESと判定した場合、S405に進み、NOと判定した場合、S402に戻る。
【0048】
S405において、通信装置150は、サーバ100から受信したアップデートデータを用いて通信装置150が有するファームウェアのアップデートを開始する。なおこのとき通信装置150は、ファームウェアのアップデートを実行していることを示す画面を表示部160に表示しても良い。
【0049】
S406において、通信装置150は、ファームウェアのアップデートにエラーが発生したか否かを判定する。ファームウェアのアップデートに発生しうるエラーとは、具体的には例えば、通信装置150とネットワーク190との間の接続が切断されたエラーや、ファームウェアのアップデートのために必要なデータをROM154に書き込む処理が失敗したエラーである。通信装置150は、YESと判定した場合、S407に進み、NOと判定した場合、S408に進む。なお本判定は、所定の状態での動作が終了したか否かが判定されても良い。
【0050】
S407において、通信装置150は、ファームウェアのアップデートを中止する。この場合、通信装置150のファームウェアはアップデートされず、アップデート前のバージョンのままになる。またこのとき通信装置150は、アップデートを実行していることを示す画面が表示される前に表示されていた画面に、表示部160に表示されている画面を戻しても良い。その後処理を終了する。
【0051】
S408において、通信装置150は、ファームウェアのアップデートが完了したか否かを判定する。通信装置150は、YESと判定した場合、S409に進み、NOと判定した場合、S406に戻る。
【0052】
S409において、通信装置150は、ファームウェアのアップデートが完了したことをユーザに通知する。具体的にはこのとき、通信装置150は、ファームウェアのアップデートが完了したことを示す画面を表示部160に表示する。なおここでは例えば、アップデート後のファームウェアのバージョン等を示す情報がさらに通知されても良い。
【0053】
このような形態とすることで、通信装置150は、適切なタイミングにおいて自動でアップデートを行うことができる。すなわち例えば、ユーザが通信装置150を操作しているタイミングでファームウェアのアップデートが開始され、ユーザが通信装置150を使用できなくなることを抑制できる。また例えば、ファームウェアのアップデートを実行できない状態でファームウェアのアップデートが試みられてしまうことを抑制でき、より確実にアップデートを完了させることができる。
【0054】
<実施形態2>
本実施形態では、通信装置150が、自動電源オフ機能を有しているものとする。なお本実施形態の通信システムの構成は、特記しない限り実施形態1と同様であるものとする。
【0055】
自動電源オフ機能とは、所定の状態での動作が、自動電源オフ機能に設定された時間経過したか否かを判定する(時間判定する)機能である。そして自動電源オフ機能とは、自動電源オフ機能に設定された時間経過したと判定された場合、通信装置150の電源を通信装置150が自動でオフし、通信装置150を自動でソフト電源オフ状態にさせる機能である。なお本機能は、通信装置150を自動でスリープ状態にさせる機能であっても良い。すなわち、本機能は、所定の状態での動作が、自動電源オフ機能に設定された時間経過した場合、通信装置150を所定の状態より消費電力の低い状態に自動でさせる機能であれば良い。そして本実施形態では、ユーザは、通信装置150の自動電源オフ機能を有効化するか無効化するかを、任意に設定可能であるものとする。なお、通信装置150の自動電源オフ機能が無効化されている状態では、所定の状態で動作している時間がカウントされない。また、通信装置150の自動電源オフ機能を有効化するか無効化するかのユーザ設定ができず、通信装置150の自動電源オフ機能が常に有効化される形態であっても良い。
【0056】
以下では、S301で用いられる所定の時間を、自動アップデート機能に設定された時間という。また、自動電源オフを実行するか否かの判定の閾値となる時間を、自動電源オフ機能に設定された時間という。
【0057】
本実施形態では、通信装置150の電源がオフされた場合には、所定の状態で通信装置150が動作している時間のカウントを停止し、それまでに既にカウントされた、所定の状態で通信装置150が動作している時間に対応する値をリセットする。この形態では例えば、通信装置150が自動電源オフ機能及び自動アップデート機能を有効化しており、且つ自動アップデート機能に設定された時間が、自動電源オフ機能に設定された時間より長い場合は、自動アップデート機能が実行されることがなくなる。あるいは、自動アップデート機能が実行される頻度が少なくなる。
【0058】
そこで本実施形態では、自動アップデート機能に設定された時間が、自動電源オフ機能に設定された時間より長くならないように制御する形態について説明する。
【0059】
図7(a)は、自動電源オフ機能を有効化するための操作がユーザによって行われた場合に通信装置150によって実行される処理を示すフローチャートである。本処理は、CPU156がROM154やRAM152等の記憶領域に格納された各種プログラムを読み出して実行することにより実現される。
【0060】
S701において、通信装置150は、当該操作が行われた時点での自動アップデート機能に設定された時間が、自動電源オフ機能に設定された時間より長いか否かを判定する。YESと判定した場合は、S702に進み、通信装置150は、自動アップデート機能に設定された時間が、自動電源オフ機能に設定された時間より長くならないようにするための制御を実行する。当該制御とは具体的には例えば、自動アップデート機能に設定された時間をユーザに変更させるための処理である。当該処理において具体的には通信装置150は、
図6(B)に示すような画面を表示し、自動アップデータ機能に設定された時間が、自動電源オフ機能に設定された時間を超えていることを通知する。また当該制御とは例えば、自動電源オフ機能に設定された時間をユーザに変更させるための処理である。また当該制御は例えば、自動アップデート機能に設定された時間が自動電源オフ機能に設定された時間より長くならないように、自動アップデート機能に設定された時間と自動電源オフ機能に設定された時間のうち一方を通信装置150が自動で変更する処理である。なおS702において、自動電源オフ機能を有効化しても良いし、自動電源オフ機能を有効化しなくても良い。また、自動アップデート機能に設定された時間が、自動電源オフ機能に設定された時間より長くならないように設定された後に、自動電源オフ機能を有効化しても良い。S701においてNOと判定した場合は、S703に進み、通信装置150は、自動アップデート機能や自動電源オフ機能に設定された時間を変更することなく、自動電源オフ機能を有効化し、その後処理を終了する。
【0061】
図7(b)は、自動アップデート機能を有効化するための操作がユーザによって行われた場合に通信装置150によって実行される処理を示すフローチャートである。本処理は、CPU156がROM154やRAM152等の記憶領域に格納された各種プログラムを読み出して実行することにより実現される。
【0062】
S711において、通信装置150は、当該操作が行われた時点での自動アップデート機能に設定された時間が、自動電源オフ機能に設定された時間より長いか否かを判定する。YESと判定した場合は、S712に進み、通信装置150は、自動アップデート機能に設定された時間が、自動電源オフ機能に設定された時間より長くならないようにするための制御を実行する。なおS712において、自動アップデート機能を有効化しても良いし、自動アップデート機能を有効化しなくても良い。また、自動アップデート機能に設定された時間が、自動電源オフ機能に設定された時間より長くならないように設定された後に、自動アップデート機能を有効化しても良い。S711においてNOと判定した場合は、S713に進み、通信装置150は、自動アップデート機能や自動電源オフ機能に設定された時間を変更することなく、自動アップデート機能を有効化し、その後処理を終了する。
【0063】
図7(c)は、自動電源オフ機能に設定された時間を変更する操作がユーザによって行われた場合に通信装置150によって実行される処理を示すフローチャートである。なお本実施形態では、自動アップデート機能に設定された時間を変更するための操作と同様にして、自動電源オフ機能に設定された時間を変更することができる。すなわち通信装置150は、自動電源オフ機能に設定された時間を変更・設定するための画面(変更入力受け付け画面)を表示し、当該画面を介してユーザから入力を受け付けることで、自動電源オフ機能に設定された時間を変更することができる。本処理は、CPU156がROM154やRAM152等の記憶領域に格納された各種プログラムを読み出して実行することにより実現される。
【0064】
S721において通信装置150は、自動アップデート機能が有効化されているか否かを判定する。NOと判定した場合は、通信装置150は、S724に進む。一方YESと判定した場合は、S722に進み、通信装置150は、自動アップデート機能に設定された時間が、当該操作において選択された時間より長いか否かを判定する。YESと判定した場合は、S723に進み、通信装置150は、自動アップデート機能に設定された時間が、自動電源オフ機能に設定された時間より長くならないようにするための制御を実行する。S722においてNOと判定した場合は、S724に進み、通信装置150は、当該操作において選択された時間を、自動電源オフ機能に新たに設定し、(言い換えれば自動電源オフ機能に設定された時間を、選択された時間に変更し、)処理を終了する。
【0065】
図7(d)は、自動アップデート機能に設定された時間を変更する操作(例えば、画面600のプルダウン601を操作することによる時間選択操作)がユーザによって行われた場合に通信装置150によって実行される処理を示すフローチャートである。本処理は、CPU156がROM154やRAM152等の記憶領域に格納された各種プログラムを読み出して実行することにより実現される。
【0066】
S731において通信装置150は、自動電源オフ機能が有効化されているか否かを判定する。NOと判定した場合は、通信装置150は、S734に進む。一方YESと判定した場合は、S732に進み、通信装置150は、当該操作において選択された時間が、自動電源オフ機能に設定された時間より長いか否かを判定する。YESと判定した場合は、S733に進み、通信装置150は、自動アップデート機能に設定された時間が、自動電源オフ機能に設定された時間より長くならないようにするための制御を実行する。S732においてNOと判定した場合は、S734に進み、通信装置150は、当該操作において選択された時間を、自動アップデート機能に新たに設定し、(言い換えれば自動アップデート機能に設定された時間を、選択された時間に変更し、)処理を終了する。
【0067】
これにより、自動アップデータ機能に設定された時間が、自動電源オフ機能に設定された時間を超えてしまい、自動アップデート機能が実行されなくなったり実行頻度が低くなることを抑制できる。
【0068】
<その他の実施形態>
上述では、通信装置150がネットワーク190に接続している形態について説明した。しかし例えば、通信装置150が、ネットワーク190と接続しているPC等の情報処理装置とは接続しているが、ネットワーク190には直接的には接続していない形態もある。その場合、通信装置150は、アップデータに関する情報やアップデータの通信を含む、サーバ100との通信は、PC等の情報処理装置を介して実行しても良い。
【0069】
また例えば、通信装置150が自動電源オフ機能を有しており、且つ自動電源オフを実行するか否かの判定の閾値となる時間を、複数の選択肢から設定可能であるとする。その場合、自動アップデート機能を実行するか否かの判定の閾値となる時間として、自動電源オフを実行するか否かの判定の閾値となる時間として設定可能な値の最小値より小さい値が固定値として予め設定されていても良い。また、例えば、自動電源オフを実行するか否かの判定の閾値となる時間及び自動アップデート機能を実行するか否かの判定の閾値となる時間の両方を、複数の選択肢から設定可能であるとする。その場合、自動アップデート機能を実行するか否かの判定の閾値となる時間として設定可能な選択肢が全て、自動電源オフを実行するか否かの判定の閾値となる時間として設定可能な値の最小値より小さくなるように制御しても良い。
【0070】
上述では、通信装置150のファームウェアがアップデートされるものとしたが、アップデートされるプログラムは通信装置150内のプログラムであればよく、ファームウェアに限定されない。例えば、通信装置150内のアプリケーションプログラム等であっても良い。
【0071】
なお上述では、自動アップデート機能において、通信装置150が所定の状態で動作している時間をカウントし、通信装置150が所定の状態で動作していない時間をカウントしない形態を説明した。しかしながらこの形態に限定されない。例えば、自動アップデート機能において、通信装置150が所定の状態で動作しているか否かにかかわらず、通信装置150が電源オン状態で動作している時間をカウントするものとする。そしてカウントされた時間が所定の時間経過した場合に、通信装置150が所定の状態で動作しているか否かを判定するものとする。そして、通信装置150が所定の状態で動作していると判定されたことに基づいて、通信装置150のファームウェアをアップデートするための処理を実行しても良い。そして、通信装置150が所定の状態で動作していないと判定された場合は、カウントされた時間が所定の時間経過したタイミングでは通信装置150のファームウェアをアップデートするための処理を実行しなくても良い。そしてその後、通信装置150が所定の状態で動作した場合に、通信装置150のファームウェアをアップデートするための処理を実行しても良い。このような制御によっても、適切なタイミングで通信装置150のファームウェアをアップデートすることができる。
【0072】
上述した実施形態は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するプログラムを、ネットワークまたは各種記憶媒体を介してシステムあるいは装置に共有し、そのシステムあるいは装置のコンピュータ(CPUやMPU等)がプログラムを読み出して実行する処理である。また、プログラムは1つのコンピュータで実行させても、複数のコンピュータを連動させて実行させるようにしても良い。また、上記した処理の全てをソフトウェアで実現する必要はなく、処理の一部または全部をASIC等のハードウェアで実現するようにしても良い。また、CPUも1つのCPUで全ての処理を行うものに限らず、複数のCPUが適宜連携をしながら処理を行うものとしても良い。
【符号の説明】
【0073】
100 サーバ
150 通信装置