(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-06
(45)【発行日】2024-09-17
(54)【発明の名称】情報処理装置、制御方法およびプログラム
(51)【国際特許分類】
G06F 3/12 20060101AFI20240909BHJP
H04L 67/10 20220101ALI20240909BHJP
G06F 8/65 20180101ALI20240909BHJP
H04N 1/00 20060101ALI20240909BHJP
B41J 29/38 20060101ALI20240909BHJP
【FI】
G06F3/12 330
G06F3/12 303
G06F3/12 385
H04L67/10
G06F8/65
H04N1/00 127A
B41J29/38 501
(21)【出願番号】P 2020197651
(22)【出願日】2020-11-27
【審査請求日】2023-11-27
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】横山 達之
【審査官】佐賀野 秀一
(56)【参考文献】
【文献】特開2018-037764(JP,A)
【文献】特開2019-086874(JP,A)
【文献】特開2014-146113(JP,A)
【文献】特開2005-228200(JP,A)
【文献】特開2020-131659(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/09- 3/12
B41J 29/00- 29/70
H04N 1/00
H04L 67/10
G06F 8/65
(57)【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータを、
通信装置が有する所定のプログラムに関する情報を取得する取得手段と、
前記取得された前記所定のプログラムに関する情報に基づいて、前記所定のプログラムのアップデートに関する所定の通知を実行する通知手段と、
として動作させ、
前記所定のプログラムのバージョンが最新のバージョンでない場合、前記所定の通知が実行され、前記所定のプログラムのバージョンが最新のバージョンである場合、前記所定の通知が実行されず、
前記情報処理装置において実行される前記所定の通知は、前記所定のプログラムをアップデートするための操作手順であり、
前記情報処理装置の外部の装置である前記通信装置に対する操作手順である所定の操作手順をユーザに示すための通知であることを特徴とするプログラム。
【請求項2】
前記所定の通知において、さらに、前記所定のプログラムのバージョンが最新のバージョンでないことが通知されることを特徴とする請求項1に記載のプログラム。
【請求項3】
前記所定のプログラムに関する情報は、前記所定のプログラムのバージョンが最新のバージョンでないことを示す情報を含むことを特徴とする請求項1又は2に記載のプログラム。
【請求項4】
前記所定のプログラムに関する情報は、前記所定のプログラムのバージョンを示す情報であることを特徴とする請求項1乃至3のいずれか1項に記載のプログラム。
【請求項5】
前記所定のプログラムのバージョンが最新のバージョンでなく、且つ、前記通信装置が、前記所定のプログラムのアップデートを実行するためのアップデートデータを有する所定のサーバと通信するためのネットワークに接続している場合、前記所定の通知が実行され、前記所定のプログラムのバージョンが最新のバージョンでなく、且つ、前記通信装置が前記ネットワークに接続していない場合、前記所定の通知と異なる通知が実行されるよう制御されることを特徴とする請求項1乃至3のいずれか1項に記載のプログラム。
【請求項6】
前記所定のプログラムのバージョンが最新のバージョンでなく、且つ、前記通信装置が、前記所定のプログラムのアップデートを実行するためのアップデートデータを有する所定のサーバと通信するためのネットワークに接続している場合、前記アップデートデータを前記通信装置に送信する処理を実行せず、前記所定のプログラムのバージョンが最新のバージョンでなく、且つ、前記通信装置が前記ネットワークに接続していない場合、前記アップデートデータを前記通信装置に送信する処理を実行する実行手段をさらに有することを特徴とする請求項1乃至5のいずれか1項に記載のプログラム。
【請求項7】
前記所定のプログラムのバージョンが最新のバージョンでなく、且つ、前記通信装置が、前記所定のプログラムのアップデートを実行するためのアップデートデータを有する所定のサーバと通信するためのネットワークに接続している場合、前記所定の通知が実行され、前記所定のプログラムのバージョンが最新のバージョンでなく、且つ、前記通信装置が前記ネットワークに接続していない場合、前記所定の通知が実行されないことを特徴とする請求項6に記載のプログラム。
【請求項8】
前記アップデートデータを前記所定のサーバから受信するデータ受信手段としてさらに動作させ、
前記所定のサーバから受信された前記アップデートデータが前記通信装置に送信されることを特徴とする請求項6又は7に記載のプログラム。
【請求項9】
前記アップデートデータを前記通信装置に送信する処理が実行される場合、前記アップデートデータに基づく前記所定のプログラムのアップデートの進捗を示す進捗画面を前記情報処理装置の表示部に表示する表示手段をさらに有することを特徴とする請求項6乃至8のいずれか1項に記載のプログラム。
【請求項10】
前記アップデートデータを前記通信装置に送信する処理が実行され、且つ前記通信装置が表示部を有しない場合、前記進捗画面が前記情報処理装置の表示部に表示され、前記アップデートデータを前記通信装置に送信する処理が実行され、且つ前記通信装置が表示部を有する場合、前記進捗画面が前記情報処理装置の表示部に表示されないよう制御されることを特徴とする請求項9に記載のプログラム。
【請求項11】
前記所定の通知は、前記所定の操作手順をユーザに示すためのWEBページを表示するためのボタンを表示する処理を含むことを特徴とする請求項1乃至10のいずれか1項に記載のプログラム。
【請求項12】
前記所定の操作手順は、所定の条件が満たされた場合に前記通信装置に対するユーザの操作なく自動で前記所定のプログラムのアップデートを試みる機能である自動アップデート機能を有効化するための操作手順であることを特徴とする請求項1乃至11のいずれか1項に記載のプログラム。
【請求項13】
前記所定のプログラムは、ファームウェアであることを特徴とする請求項1乃至12のいずれか1項に記載のプログラム。
【請求項14】
前記通信装置はプリンタであることを特徴とする請求項1乃至13のいずれか1項に記載のプログラム。
【請求項15】
情報処理装置であって、
通信装置が有する所定のプログラムに関する情報を取得する取得手段と、
前記取得された前記所定のプログラムに関する情報に基づいて、前記所定のプログラムのアップデートに関する所定の通知を実行する通知手段と、
を有し、
前記所定のプログラムのバージョンが最新のバージョンでない場合、前記所定の通知が実行され、前記所定のプログラムのバージョンが最新のバージョンである場合、前記所定の通知が実行されず、
前記情報処理装置において実行される前記所定の通知は、前記所定のプログラムをアップデートするための操作手順であり、
前記情報処理装置の外部の装置である前記通信装置に対する操作手順である所定の操作手順をユーザに示すための通知であることを特徴とする情報処理装置。
【請求項16】
情報処理装置の制御方法であって、
通信装置が有する所定のプログラムに関する情報を取得する取得ステップと、
前記取得された前記所定のプログラムに関する情報に基づいて、前記所定のプログラムのアップデートに関する所定の通知を実行する通知ステップと、
を有し、
前記所定のプログラムのバージョンが最新のバージョンでない場合、前記所定の通知が実行され、前記所定のプログラムのバージョンが最新のバージョンである場合、前記所定の通知が実行されず、
前記情報処理装置において実行される前記所定の通知は、前記所定のプログラムをアップデートするための操作手順であり、
前記情報処理装置の外部の装置である前記通信装置に対する操作手順である所定の操作手順をユーザに示すための通知であることを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報処理装置、制御方法およびプログラムに関する。
【背景技術】
【0002】
プリンタ等の通信装置が、サーバが有する情報を取得して、ファームウェア等のプログラムのアップデートを実行する技術が知られている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、通信装置が有するプログラムのアップデートを実行する形態が普及するにつれ、通信装置が有するプログラムのアップデートをより適切に実行することが要望されている。
【0005】
そこで本発明は、通信装置が有するプログラムのアップデートをより適切に実行するための処理を実行することを目的とする。
【課題を解決するための手段】
【0006】
本発明のプログラムは、情報処理装置のコンピュータを、
通信装置が有する所定のプログラムに関する情報を取得する取得手段と、
前記取得された前記所定のプログラムに関する情報に基づいて、前記所定のプログラムのアップデートに関する所定の通知を実行する通知手段と、
として動作させ、
前記所定のプログラムのバージョンが最新のバージョンでない場合、前記所定の通知が実行され、前記所定のプログラムのバージョンが最新のバージョンである場合、前記所定の通知が実行されず、
前記情報処理装置において実行される前記所定の通知は、前記所定のプログラムをアップデートするための操作手順であり、前記情報処理装置の外部の装置である前記通信装置に対する操作手順である所定の操作手順をユーザに示すための通知であることを特徴とする。
【発明の効果】
【0007】
通信装置が有するプログラムのアップデートをより適切に実行するための処理を実行することができる。
【図面の簡単な説明】
【0008】
【
図1】通信装置と情報処理装置のハードウェア構成図
【
図4】情報処理装置によって実行される通知処理を示すフローチャート
【
図5】ファームウェアのアップデートを実行するようユーザを促すための画面の例
【
図6】自動アップデート機能の設定の入力を受け付けるための画面の例
【
図7】情報処理装置によって実行される通知処理を示すフローチャート
【
図8】アップデートデータを送信するための画面の例
【
図9】アップデート実行ボタンが操作された場合に実行される処理を示すフローチャート
【発明を実施するための形態】
【0009】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0010】
<第1実施形態>
本実施形態の通信システムに含まれる情報処理装置及び通信装置について説明する。情報処理装置として、本実施形態ではPC(パーソナルコンピュータ)を例示しているが、これに限定されない。情報処理装置として、スマートホン、携帯端末、タブレット端末、PDA(Personal Digital Assistant)、デジタルカメラ等、種々のものを適用可能である。また、通信装置として、本実施形態ではプリンタを例示しているが、これに限定されず、情報処理装置と無線通信を行うことが可能であり、ファームウェアのアップデートを実行する装置であれば、種々のものを適用可能である。例えば、プリンタであれば、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ等に適用することができる。また、プリンタのみならず複写機やファクシミリ装置、携帯端末、スマートホン、ノートPC、タブレット端末、PDA、デジタルカメラ、音楽再生デバイス、テレビ、スマートスピーカ等にも適用可能である。その他、複写機能、FAX機能、印刷機能等の複数の機能を備える複合機にも適用可能である。
【0011】
図3(a)は、本実施形態の通信システムの構成を示すブロック図である。本実施形態の通信システムは、本実施形態における情報処理装置であるPC100と、ネットワーク190と、通信装置150と、管理サーバ200とを含む。本実施形態では、PC100と通信装置150と、管理サーバ200はそれぞれネットワーク190に接続している。そのため、それぞれの装置間で、ネットワーク190を介した通信が可能である。具体的には例えば、PC100は、ネットワーク190を介して通信装置150に印刷ジョブを送信したり、通信装置150から情報を取得したりする。また、通信装置150は、後述するアップデートデータを管理サーバ200から受信したりする。なお本実施形態において管理サーバ200は、例えば、1台又は複数台のPCによって構成されるもサーバシステムである。なお、本実施形態の通信システムの構成はこの形態に限定されず、例えば、PC100と通信装置150とが、ネットワーク190を介さず直接接続している接続経路が存在していても良い。そして、PC100と通信装置150との間の通信は、当該接続経路を介して実行されても良い。また、各装置とネットワーク190との間の接続は、例えば、無線LANルータ等が介されていても良い。
【0012】
まず、PC100と、通信装置150のハードウェア構成について
図1のブロック図を参照して説明する。また、本実施形態では以下の構成を例に記載するが、本実施形態は通信装置と通信を行うことが可能な装置に関して適用可能なものであり、特にこの図のとおりに機能を限定するものではない。
【0013】
PC100は入力インタフェース102とCPU103、ROM104、RAM105、外部記憶装置106、出力インタフェース108、表示部107、キーボード101、マウス109、ネットワークインタフェース110を有する。CPU103、ROM104、RAM105等によって、PC100のコンピュータが形成される。
【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であっても良い。またPC100は、ネットワーク190に有線で接続するインタフェースとネットワーク190に無線で接続するインタフェースの両方を有していても良い。
【0015】
入力インタフェース102は、キーボード101やマウス109等の操作部が操作されることにより、ユーザからのデータ入力や動作指示を受け付けるためのインタフェースである。なお、操作部は、物理キーボードや物理ボタン等であっても良いし、表示部107に表示されるソフトキーボードやソフトボタン等であっても良い。すなわち、入力インタフェース102は、表示部107を介してユーザからの入力を受け付けても良い。
【0016】
CPU103は、システム制御部であり、PC100の全体を制御する。
【0017】
ROM104は、CPU103が実行する制御プログラムやデータテーブル、組み込みオペレーティングシステム(以下、OSという。)プログラム等の固定データを格納する。本実施形態では、ROM104に格納されている各制御プログラムは、ROM104に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウェア実行制御を行う。なお本実施形態では、通信装置150が解釈可能な印刷情報を生成するプリンタドライバ112がROM104に格納されている。
【0018】
RAM105は、バックアップ電源を必要とするSRAM(Static Random Access Memory)等で構成される。PC100の設定情報やPC100の管理データ等を格納するメモリエリアがRAM105に設けられている。また、RAM105は、CPU103の主メモリとワークメモリとしても用いられる。
【0019】
外部記憶装置106は、各種情報の保存に使用されるメモリである。なお外部記憶装置106が保存する情報は、ROM104等の他のメモリに保存されても良い。
【0020】
出力インタフェース108は、表示部107がデータの表示やPC100の状態の通知を行うための制御を行うインタフェースである。
【0021】
表示部107は、LED(発光ダイオード)やLCD(液晶ディスプレイ)などから構成され、データの表示を行う。
【0022】
通信装置150はネットワークインタフェース151とRAM152、プリントエンジン153、ROM154、CPU156を有する。ROM154、RAM152、CPU156等によって、通信装置150のコンピュータが形成される。
【0023】
ネットワークインタフェース151は、ネットワーク190にネットワークケーブル157を介して接続する。本実施形態においてネットワークケーブル157は、USBケーブルであるものとするが、これに限定されず、例えば有線LANであっても良い。なおネットワークインタフェース151は、ネットワーク190に有線で接続するインタフェースではなく、ネットワーク190に無線で接続するインタフェースであっても良い。なお無線接続に用いられる無線通信方式は、例えば、IEEE802.11シリーズに準拠する通信方式(Wi-Fi)や、Bluetooth、NFCである。Bluetoothは、Bluetooth Classicであっても良いし、Bluetooth Low Energyであっても良い。また通信装置150は、ネットワーク190に有線で接続するインタフェースとネットワーク190に無線で接続するインタフェースの両方を有していても良い。
【0024】
RAM152は、バックアップ電源を必要とするSRAM等で構成される。通信装置150の設定情報や通信装置150の管理データ等を格納するメモリエリアもRAM152に設けられている。また、RAM152は、CPU156の主メモリとワークメモリとしても用いられ、PC100等から受信した印刷情報を一旦保存するための受信バッファや各種の情報を保存する。
【0025】
ROM154は、CPU156が実行する制御プログラムやデータテーブル、OSプログラム等の固定データを格納する。本実施形態では、ROM154にはステータス管理プログラムが格納されているものとする。ステータス管理プログラムは図示していない通信装置内部にある各種のセンサの情報を元に通信装置150の状態を監視し、ステータス情報を作成し、RAM152にストアするプログラムである。本実施形態では、ROM154に格納されている各制御プログラムは、ROM154に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウェア実行制御を行う。また、本実施形態では、ROM154は、通信装置150のファームウェアを格納する。本実施形態において通信装置150のファームウェアとは、通信装置150の各種ハードウェアを制御するためのプログラムである。
【0026】
CPU156は、システム制御部であり、通信装置150の全体を制御する。
【0027】
プリントエンジン153は、RAM152に保存された情報やPC100等から受信した印刷ジョブに基づき、インク等の記録剤を紙等の記録媒体上に付加することで記録媒体上に画像を形成し、印刷結果を出力する。
【0028】
表示部155は、LED(発光ダイオード)やLCD(液晶ディスプレイ)などから構成され、データの表示を行う。本実施形態では表示部155は、通信装置150によってファームウェアのアップデートが行われている最中には、ファームウェアのアップデート中であることを示す情報や、ファームウェアのアップデートの進捗を示す情報等を含む画面を表示する。なお通信装置150は、表示部155を有していてもいなくとも良い。
【0029】
なお、通信装置150には、外付けHDDやSDカード等のメモリがオプション機器として装着されても良く、通信装置150に保存される情報は、当該メモリに保存されても良い。
【0030】
管理サーバ200のハードウェア構成について
図2のブロック図を参照して説明する。また、本実施形態では以下の構成を例に記載するが、本実施形態は通信装置と通信を行うことが可能な装置に関して適用可能なものであり、特にこの図のとおりに機能を限定するものではない。
【0031】
管理サーバ200は入力インタフェース202とCPU203、ROM204、RAM205、外部記憶装置206、出力インタフェース208、表示部207、キーボード201、マウス209、ネットワークインタフェース210を有する。CPU203、ROM204、RAM205等によって、管理サーバ200のコンピュータが形成される。
【0032】
ネットワークインタフェース210は、ネットワーク190にネットワークケーブル111を介して接続する。本実施形態においてネットワークケーブル211は、有線LANのケーブルであるものとするが、これに限定されず、例えばUSB(Universal Serial Bus)ケーブルであっても良い。なおネットワークインタフェース210は、ネットワーク190に有線で接続するインタフェースではなく、ネットワーク190に無線で接続するインタフェースであっても良い。なお無線接続に用いられる無線通信方式は、例えば、IEEE802.11シリーズに準拠する通信方式(Wi-Fi)や、Bluetooth、Near Field Communication(NFC)である。Bluetoothは、Bluetooth Classicであっても良いし、Bluetooth Low Energyであっても良い。また管理サーバ200は、ネットワーク190に有線で接続するインタフェースとネットワーク190に無線で接続するインタフェースの両方を有していても良い。また、本実施形態においてネットワーク190はインターネットネットワークであるものとする。
【0033】
入力インタフェース202は、キーボード201やマウス209等の操作部が操作されることにより、ユーザからのデータ入力や動作指示を受け付けるためのインタフェースである。なお、操作部は、物理キーボードや物理ボタン等であっても良いし、表示部207に表示されるソフトキーボードやソフトボタン等であっても良い。すなわち、入力インタフェース202は、表示部207を介してユーザからの入力を受け付けても良い。
【0034】
CPU203は、システム制御部であり、管理サーバ200の全体を制御する。
【0035】
ROM204は、CPU203が実行する制御プログラムやデータテーブル、OS等の固定データを格納する。本実施形態では、ROM204に格納されている各制御プログラムは、ROM204に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウェア実行制御を行う。
【0036】
RAM205は、バックアップ電源を必要とするSRAM等で構成される。管理サーバ200の設定情報や管理サーバ200の管理データ等を格納するメモリエリアがRAM205に設けられている。また、RAM205は、CPU203の主メモリとワークメモリとしても用いられる。
【0037】
外部記憶装置206は、通信装置150のファームウェアをアップデートするためのデータ(アップデートデータ)や、当該アップデートデータに関する情報を保存する。なお、本実施形態では、それぞれ別の種別・型番の装置毎にそれぞれ別のアップデートデータによってファームウェアのアップデートが実行されるものとし、外部記憶装置206は、種別や型番毎に異なる複数のアップデートデータを有しているものとする。また本実施形態においては、アップデートデータは、最新のファームウェアそのものであり、アップデートデータを受信した通信装置150は、保持していた古いファームウェアをアップデートデータに置き換えることでアップデートを実行するものとする。しかしながらこの形態に限定されない。アップデートデータは、ファームウェアそのものではなく、通信装置150が保持していた古いファームウェアの一部を修正したり当該ファームウェアにプログラムを追加することで、ファームウェアのアップデートを行うためのデータであっても良い。なお外部記憶装置206に保存される情報は、例えば、ROM204等の他のメモリに保存されても良い。
【0038】
出力インタフェース208は、表示部107がデータの表示や管理サーバ200の状態の通知を行うための制御を行うインタフェースである。
【0039】
表示部207は、LED(発光ダイオード)やLCD(液晶ディスプレイ)などから構成され、データの表示を行う。
【0040】
上述のように本実施形態では通信装置150は、通信装置150が現在有しているファームウェアを、管理サーバ200が有するアップデートデータを用いてアップデートすることができる。しかしながら、通信装置150のファームウェアのアップデートを実行すべき状態であるにもかかわらず、通信装置150が、アップデートを実行するための操作をユーザから受け付けていないことにより、アップデートを実行していない状態である場合がある。なお通信装置150が現在有しているファームウェアのアップデートを実行すべき状態とはすなわち、通信装置150が現在有しているファームウェアのバージョンが最新のファームウェアのバージョンでない状態である。上述の場合では、ユーザに、アップデートに関する通知が行われることで、アップデートを実行するための操作を実行するようユーザが促されることが好ましい。
【0041】
そこで本実施形態では、通信装置150が現在有しているファームウェアのバージョンが最新のファームウェアのバージョンでない場合に、アップデートに関する通知を実行し、アップデートを実行するための操作を実行するようユーザを促す。
【0042】
なお本実施形態では通信装置150は、所定の条件が満たされた場合に通信装置150に対するユーザ操作に基づかずに通信装置150が自動で通信装置150のファームウェアのアップデートを試みる機能(自動アップデート機能)を有している。なお自動アップデート機能で参照される所定の条件は、特に限定されず、例えば、前回アップデートが行われてから所定の時間が経過したことや、通信装置150の電源がONされてから所定の時間が経過したこと等である。さらに、所定の条件には、通信装置150がファームウェアのアップデートを実行可能な状態であることや、通信装置150のファームウェアが最新のファームウェアでないこと等が含まれても良い。
【0043】
そして本実施形態では、ユーザは、通信装置150の自動アップデート機能を有効化するか無効化するかを、任意に設定可能であるものとする。そのため通信装置150は、通信装置150の自動アップデート機能を有効化するか無効化するかの設定のための入力を受け付ける。
図6は、当該入力を受け付けるために表示される画面である。ボタン601が操作された場合、通信装置150の自動アップデート機能が無効化され、ボタン602が操作された場合、通信装置150の自動アップデート機能が有効化される。なお、通信装置150の自動アップデート機能が無効化されている状態では、後述の所定の状態で動作している時間をカウントしない。なお
図6の画面は、例えば、通信装置150の電源がONになった場合や、通信装置150の初期設定が行われる場合、通信装置150のファームウェアのアップデートが必要であることが特定された場合等に表示されるが、表示タイミングは特に限定されない。また自動アップデート機能の有効化方法はこれに限定されない。例えば遠隔操作用の画面において、通信装置150の自動アップデート機能の有効化を指示する操作をユーザが実行することで、指示がPC100から通信装置150に送信されるものとして良い。なお遠隔操作用画面は例えば、PC100が通信装置150と通信することで、PC100のブラウザアプリケーションによって表示される。そして、当該指示に基づいて通信装置150が自動アップデート機能を有効化するものとして良い。すなわちアップデートのための操作とは例えば、通信装置150の自動アップデート機能を有効化する操作であるものとする。
【0044】
また本実施形態では、通信装置150が表示する画面において、通信装置150のファームウェアのアップデートを指示する操作をユーザが実行することで、通信装置150がファームウェアのアップデートを開始するものとする。また例えば、遠隔操作用の画面において、通信装置150のファームウェアのアップデートを指示する操作をユーザが実行することで、指示がPC100から通信装置150に送信されるものとする。そして、当該指示に基づいて通信装置150がファームウェアのアップデートを開始するものとする。すなわちアップデートのための操作とは例えば、上記の画面において通信装置150のファームウェアのアップデートを指示する操作であるものとする。
【0045】
図4は、本実施形態においてPC100によって実行される処理を示すフローチャートである。本処理は、CPU103がROM104やRAM105等の記憶領域に格納された各種プログラムを読み出して実行することにより実現される。本処理は、プリンタドライバ112が起動されたことに基づいて、プリンタドライバ112によって実行される。また、本処理において通信対象となる通信装置150は、PC100が接続しているネットワーク上の通信装置から、プリンタドライバ112に対応する通信装置が検索されることで特定される。
【0046】
S401では、CPU103は、通信装置150とPC100との間の接続を介して通信装置150から通信装置150に関する情報を取得する。ここで取得される通信装置150に関する情報は、例えば、ステータス管理プログラムによってストアされたステータス情報である。より具体的には例えば、通信装置150に関する情報は、通信装置150が受信している印刷ジョブの処理の進捗状況を示す情報や、通信装置150において発生しているエラーを示す情報、通信装置150が備えるインクや紙の残量を示す情報を含む。また、通信装置150に関する情報は、通信装置150が現在有しているファームウェアに関する情報を含む。なお、本実施形態では、通信装置150は、管理サーバ200から最新のファームウェアに関する情報を適宜受信することで、通信装置150が現在有しているファームウェアのバージョンが最新のファームウェアのバージョンか否かを判定するものとする。なお最新のファームウェアとは、管理サーバ200が有するアップデートデータによるファームウェアのアップデートが実行されることで通信装置150にインストールされるファームウェアである。そして、当該判定の結果がNOである場合に、通信装置150に関する情報に、通信装置150が現在有しているファームウェアに関する情報が含まれるものとする。そして当該判定の結果がYESである場合には、通信装置150に関する情報に、通信装置150が現在有しているファームウェアに関する情報が含まれないものとする。そして、通信装置150が現在有しているファームウェアに関する情報は、通信装置150が現在有しているファームウェアのバージョンが最新のファームウェアのバージョンでないことを示すエラーコードであるものとする。なお、当該判定の結果がNOであり、且つ通信装置150の自動アップデート機能が有効化されていない場合に、通信装置150に関する情報に、通信装置150が現在有しているファームウェアに関する情報が含まれても良い。そして、当該判定の結果がNOであり、且つ通信装置150の自動アップデート機能が有効化されている場合に、通信装置150に関する情報に、通信装置150が現在有しているファームウェアに関する情報が含まれなくても良い。また例えば、通信装置150に関する情報に、通信装置150が現在有しているファームウェアに関する情報が必ず含まれる形態としても良い。また通信装置150が現在有しているファームウェアに関する情報は、通信装置150が現在有しているファームウェアに関する情報のバージョンを示す情報であっても良い。また通信装置150が現在有しているファームウェアに関する情報は、通信装置150の自動アップデート機能が有効化されているか否かを示す情報であっても良い。
【0047】
S402では、CPU103は、S401で受信された通信装置150に関する情報に基づき、通信装置150が現在有しているファームウェアのアップデートが必要か否かを判定する。なお通信装置150が現在有しているファームウェアのバージョンが最新のファームウェアのバージョンでない場合、YESと判定され、通信装置150が現在有しているファームウェアが最新のファームウェアである場合、NOと判定される。特に本実施形態では、S401で受信された通信装置150に関する情報に、通信装置150が現在有しているファームウェアのバージョンが最新のファームウェアのバージョンでないことを示すエラーコードが含まれる場合、YESと判定される。そして含まれない場合、NOと判定される。なお判定方法の詳細はこの形態に限定されない。例えば上述したように、通信装置150が現在有しているファームウェアに関する情報が、通信装置150が現在有しているファームウェアに関する情報のバージョンを示す情報である形態でも良い。その形態では、CPU103は、最新のファームウェアのバージョンに関する情報を、例えば管理サーバ200から取得しても良い。そしてCPU103は、それらの情報に基づいて通信装置150が現在有しているファームウェアに関する情報のバージョンと最新のファームウェアのバージョンとを比較することで、本判定を実行しても良い。なお最新のファームウェアのバージョンに関する情報の取得は、S402において実行されても良いし、他のタイミングで実行されても良い。CPU103は、YESと判定した場合、S403に進み、NOと判定した場合、通信装置150のファームウェアのアップデートに関する通知を行うことなく本フローチャートの処理を終了する。なおCPU103は、NOと判定した場合、通信装置150のファームウェアが最新であることを示す通知等を行っても良い。すなわちCPU103は、NOと判定した場合、S403で実行する通知と同じ通知でなければ、他の通知を実行しても良い。
【0048】
S403では、CPU103は、通信装置150のファームウェアのアップデートに関する通知を行う。具体的にはCPU103は、通信装置150のファームウェアのアップデートを実行するよう、ユーザを促すための処理を実行する。より具体的にはCPU103は、例えば、
図5に示すような画面501を表示する。画面501には、メッセージ表示部402と、Webマニュアル表示ボタン403と、チェックボックス404と、OKボタン405が含まれる。メッセージ表示部402は、通信装置150のファームウェアのアップデートを実行するよう、ユーザを促すためのメッセージの表示を行う。Webマニュアル表示ボタン403は、通信装置150のファームウェアのアップデートを実行するための操作手順を示すWebページを、PC100が備えるブラウザアプリケーションによって表示するためのボタンである。チェックボックス404にユーザ操作によりチェックが入ると、今後、通信装置150に関する情報が取得され、通信装置150が現在有しているファームウェアのアップデートが必要と判定されたとしても、本通知が実行されないように制御される。OKボタン405が操作されると、画面501の表示を終了し、本フローチャートの処理が終了される。なお本フローチャートの処理が終了する場合、S401で取得された情報に基づき、通信装置150が受信している印刷ジョブの処理の進捗状況や、通信装置150において発生しているエラー、通信装置150が備えるインクや紙の残量に関する通知が行われて良い。
【0049】
なお本処理は、自動アップデート機能を有効化するよう、ユーザを促すための処理であっても良い。
【0050】
なおこの形態である場合、メッセージ表示部402は、通信装置150の自動アップデート機能を有効化するよう、ユーザを促すためのメッセージの表示を行っても良い。また、Webマニュアル表示ボタン403は、通信装置150の自動アップデート機能を有効化するための通信装置150の操作手順を示すWebページを、ブラウザアプリケーションによって表示するためのボタンであっても良い。
【0051】
また、本処理において、通信装置150の自動アップデート機能を有効化するためのコマンドを送信するためのボタン等が、表示部107に表示されても良い。当該ボタンが操作された場合、CPU103は、通信装置150の自動アップデート機能を有効化するためのコマンドを、通信装置150に送信する。なお、CPU103は、当該ボタンを表示しないが、当該ボタンに対するユーザ操作を受け付けることなく、S403において自動で当該コマンドを送信する形態であっても良い。通信装置150は、当該コマンドを受信した場合、通信装置150の自動アップデート機能を有効化する。
【0052】
なおS403における通知の詳細は上述の形態に限定されない。例えば、通信装置150のファームウェアが最新でないことを通知する処理であっても良い。また例えば、通信装置150のファームウェアのアップデートが行われていないことを通知する処理であっても良い。
【0053】
このような形態とすることで、通信装置150のファームウェアのアップデートが必要な場合に、ユーザにそれを認識させることができる。なお上述したように本実施形態においてユーザは、通信装置150を操作することで、通信装置150の自動アップデート機能を有効化したり、通信装置150のファームウェアのアップデートを直ちに開始させたりすることができる。そのため、通知を受けたユーザは、アップデートのための上述の操作を実行することで、通信装置150にファームウェアのアップデートを実行させることができる。
【0054】
<第2実施形態>
第1実施形態は、通信装置150がネットワーク190と接続しており、通信装置150がネットワーク190を介して管理サーバ200からアップデートデータを受信可能な形態について説明した。本実施形態では、通信装置150がネットワーク190と接続しておらず、ネットワーク190を介して管理サーバ200からアップデートデータを受信可能でない通信装置150が通信システムに含まれることがある形態について説明する。なお特記しない限り、本実施形態における通信システムに含まれる各装置の構成は、第1実施形態における通信システムに含まれる各装置の構成と同様であるものとする。
【0055】
図3(b)は、ネットワーク190と接続しておらず、ネットワーク190を介して管理サーバ200からアップデートデータを受信可能でない通信装置150が含まれている通信システムの構成を示すブロック図である。本通信システムでは、PC100と、管理サーバ200はそれぞれネットワーク190に接続している。しかしながら、通信装置150はネットワーク190に接続していない。なお本通信システムの通信装置150は、ネットワーク190に接続するための機能を有していない装置であっても良い。また通信装置150は、ネットワーク190に接続するための機能を有しているが、その機能を使っておらず、ネットワーク190と接続していない装置であっても良い。なおネットワーク190に接続するための機能を有していない装置とは例えば、ネットワーク190に接続するためのネットワークインタフェースを有していない装置であり、より具体的には例えば、USBしかネットワークインタフェースを有していない装置である。また、通信装置150は、PC100とは、ネットワーク190を介さずに接続している。通信装置150とPC100との間の接続に用いられる通信方式は特に限定されない。USBケーブルを用いた通信等の有線通信方式であっても良いし、Wi-FiやBluetooth等の無線通信方式であっても良い。すなわち本実施形態では、通信装置150とPC100との間の通信は、ネットワーク190を介さずに実行され、管理サーバ200とPC100との間の通信は、ネットワーク190を介して実行される。そして、通信装置150と管理サーバ200との間の通信は実行されない。なお、各装置とネットワーク190との間の接続は、例えば、無線LANルータ等が介されていても良い。
【0056】
図7は、本実施形態においてPC100によって実行される処理を示すフローチャートである。本処理は、CPU103がROM104やRAM105等の記憶領域に格納された各種プログラムを読み出して実行することにより実現される。本処理は、プリンタドライバ112が起動されたことに基づいて、プリンタドライバ112によって実行される。
【0057】
S701では、CPU103は、通信装置150から、通信装置150の接続環境に関する情報を取得する。通信装置150の接続環境に関する情報とは例えば、通信装置150が、通信装置150がネットワーク190に接続しているか否かを示す情報である。また例えば、ネットワーク190に接続するためのネットワークインタフェースを有しているか否かを示す情報である。
【0058】
S702では、CPU103は、通信装置150が管理サーバ200と通信するためのネットワーク190に接続しているか否かを、S701似て受信された情報に基づいて判定する。なお本判定は、ネットワーク190に接続するためのネットワークインタフェースを有しているか否かを判定するものであっても良い。また例えば、本判定は、通信装置150が管理サーバ200と通信可能か否かを判定するものであっても良い。CPU103は、YESと判定した場合、S703に進み、NOと判定した場合、S706に進む。
【0059】
S703~S705の処理は、S401~S403の処理と同様のため説明を省略する。
【0060】
S706では、CPU103は、通信装置150とPC100との間の接続を介して通信装置150から通信装置150に関する情報を取得する。ここで取得される通信装置150に関する情報は、S401で取得される情報と同様、例えば、ステータス管理プログラムによってストアされたステータス情報である。そして、通信装置150に関する情報は、通信装置150が現在有しているファームウェアに関する情報を含む。しかしながら、このとき通信装置150は、ネットワーク190に接続していない。そのため、通信装置150は、管理サーバ200から最新のファームウェアに関する情報を受信することができず、通信装置150が現在有しているファームウェアのバージョンが最新のファームウェアのバージョンか否かを判定することができない。そのためここで受信される情報は、エラーコードではなく、通信装置150が現在有しているファームウェアに関する情報のバージョンを示す情報や、通信装置150の自動アップデート機能が有効化されているか否かを示す情報であるものとする。そのため例えば通信装置150は、ネットワーク190に接続しているか否かに応じて、通信装置150が現在有しているファームウェアに関する情報として送信される情報の内容を切り替えても良い。具体的には通信装置150は、ネットワーク190に接続している場合は、自身で判定を行い、判定結果がNOであることに基づいてエラーコードを送信してよい。そして、ネットワーク190に接続していない場合は、自身で判定を行わず、通信装置150が現在有しているファームウェアに関する情報のバージョンを示す情報や、通信装置150の自動アップデート機能が有効化されているか否かを示す情報を送信してよい。
【0061】
また、S707の処理は、S402の処理と同様であるため説明を省略する。なお、S703やS706において取得される情報は、S701において取得されても良く、その場合は、S703やS706の処理は省略される。また、S702でNOと判定された場合や、S707でNOと判定された場合においては、後述する送信処理は実行されないものとする。
【0062】
S708では、CPU103は、通信装置150にアップデートデータを送信するための処理(送信処理)を行う。具体的にはCPU103は、通信装置150にアップデートデータを送信するための、
図8に示すような画面801を表示する。画面801には、メッセージ表示部802と、アップデート実行ボタン803と、チェックボックス804と、キャンセルボタン805が含まれる。メッセージ表示部802は、通信装置150のファームウェアのアップデートを実行するよう、ユーザを促すためのメッセージの表示を行う。本実施形態では、アップデート実行ボタン803が操作されることでアップデートを実行できるため、アップデート実行ボタン803を操作(押下)するようユーザを促すためのメッセージが表示される。アップデート実行ボタン803は、通信装置150のアップデートを実行するためのボタンである。アップデート実行ボタン803が操作された場合に実行される処理については後述する。チェックボックス804にユーザ操作によりチェックが入ると、今後、通信装置150に関する情報が取得され、通信装置150が現在有しているファームウェアのアップデートが必要と判定されたとしても、本処理が実行されないように制御される。キャンセルボタン805が操作されると、画面801の表示を終了し、アップデートデータの送信を通信装置150に対して実行することなく本フローチャートの処理が終了される。また、アップデート実行ボタン803が操作された場合には、
図9の処理が終了した場合、本フローチャートの処理が終了される。なおS708では、S7085における通知処理と少なくとも一部が異なる通知が実行されるものとするが、一部、同様の内容の通知(例えばメッセージの表示等)が実行されても良い。
【0063】
図9は、本実施形態においてアップデート実行ボタン803が操作された場合にPC100により実行される処理を示すフローチャートである。本処理は、CPU103がROM104やRAM105等の記憶領域に格納された各種プログラムを読み出して実行することにより実現される。本処理は、アップデート実行ボタン803が操作されたことに基づいて、プリンタドライバ112によって実行される。
【0064】
S901にて、CPU103は、ネットワーク190を介して、管理サーバ200に、通信装置150の識別情報(通信装置150の種別に関する情報や型番に関する情報等)を送信する。なおCPU103は、通信装置150の識別情報を、S701やS706等で取得しても良いし、S901で取得しても良い。通信装置150の識別情報が送信された場合、管理サーバ200は、管理サーバ200が有する複数のアップデートデータから、当該要求に含まれる識別情報に対応するアップデートデータ(通信装置150に対応するアップデートデータ)を特定する。そして管理サーバ200は、特定されたアップデートデータを、ネットワーク190を介してPC100に送信する。
【0065】
そのためS902では、CPU103は、アップデートデータをネットワーク190を介して管理サーバ200から受信する。
【0066】
S903では、CPU103は、受信したアップデートデータを、PC100と通信装置150との間の接続を介して通信装置150に送信する。これにより通信装置150は、ネットワーク190に接続していなくともアップデートデータを受信することができ、アップデートデータを利用してファームウェアのアップデートを実行することができる。なおCPU103はこのとき、通信装置150の状態に関する情報を通信装置150から受信しても良い。そして、通信装置150がアップデート可能な状態で動作していることが確認された場合に、アップデートデータを送信し、通信装置150がアップデート可能でない状態で動作していることが確認された場合に、アップデートデータを送信しなくとも良い。なおアップデート可能な状態とは、ユーザによって通信装置150が操作されていない状態や、通信装置150が印刷中でない状態、通信装置150にエラーが発生していない状態、通信装置150が特定の画面を表示していない状態等である。
【0067】
S904では、CPU103は、通信装置150のファームウェアのアップデートの進捗を示す画面を表示するか否かを判定する。具体的にはCPU103は、まず、通信装置150の表示能力に関する情報を取得する。通信装置150の表示能力に関する情報とは例えば、通信装置150が表示部155を有しているか否かを示す情報である。また例えば、通信装置150が有している表示部155が通信装置150のファームウェアのアップデートの進捗を示す画面を表示可能か否かを示す情報である。これは例えば、ローエンドモデルの通信装置150は、表示部155を有していなかったり、表示部155を有していても、その表示能力が低かったりするためである。なお通信装置150の表示能力に関する情報は、S701やS706等で取得されても良い。そしてCPU103は、通信装置150が表示部155を有していなかったり、通信装置150が有している表示部155が通信装置150のファームウェアのアップデートの進捗を示す画面を表示可能でないならば、本判定をYESと判定する。一方CPU103は、通信装置150が表示部155を有していたり、通信装置150が有している表示部155が通信装置150のファームウェアのアップデートの進捗を示す画面を表示可能であるならば、本判定をNOと判定する。CPU103は、YESと判定した場合、S905に進み、NOと判定した場合、本フローチャートの処理が終了される。
【0068】
S905では、CPU103は、通信装置150において実行されている、通信装置150のファームウェアのアップデートの進捗を示す画面(進捗画面)を表示部107に表示する。なお進捗画面を表示するために、CPU103は、通信装置150において実行されている、通信装置150のファームウェアのアップデートの進捗を示す情報を通信装置150から適宜取得する。
図10(a)は、進捗画面1001の一例である。メッセージ表示部1002は、通信装置150のファームウェアのアップデートを実行中であることを示すメッセージを表示する。バー1003は、通信装置150のファームウェアのアップデートの進捗を示すバーである。なお通信装置150のファームウェアのアップデートが完了した場合、
図10(b)に示す完了画面1004が表示部107に表示される。メッセージ表示部1005は、通信装置150のファームウェアのアップデートが完了したことを示すメッセージを表示する。バー1006は、通信装置150のファームウェアのアップデートが完了したことを示すバーである。ボタン1007が操作されると、本フローチャートの処理が終了される。なお、通信装置150にエラーが発生した等の理由により、通信装置150のファームウェアのアップデートが完了せずに途中で終了した場合、その旨を示す画面が表示されても良い。
【0069】
このような形態とすることで、ネットワーク190に接続していない通信装置150のファームウェアのアップデートを簡便に実行することができる。また、表示能力の低い通信装置150のファームウェアのアップデートを実行する場合であっても、通信装置150のファームウェアのアップデートの進捗をユーザに通知することができる。
【0070】
なお本実施形態では、通信装置150の表示能力に基づいて進捗画面を表示するか否かを切り替えていたが、通信装置150の表示能力にかかわらず進捗画面を表示しても良い。また逆に、通信装置150の表示能力にかかわらず進捗画面を表示しなくても良い。
【0071】
また本実施形態では、アップデート実行ボタン803が操作されたことに基づいてアップデートデータが送信される形態としたが、この形態に限定されない。CPU103は、画面801を表示せず、ユーザ操作を受け付けることなく自動でアップデートデータを送信しても良い。
【0072】
<他の実施形態>
上述ではプリンタドライバが各フローチャートの処理を実行するものとしたが、この形態に限定されない。プリンタドライバ以外の他のプログラムによって実行されても良い。具体的には例えば、通信装置150を制御するためのアプリケーションプログラム等によって実行されても良い。
【0073】
上述では、通信装置150のファームウェアがアップデートされるものとしたが、アップデートされるプログラムは通信装置150内のプログラムであればよく、ファームウェアに限定されない。例えば、通信装置150内のアプリケーションプログラム等であっても良い。
【0074】
上述では、通信装置150が現在有しているファームウェアのバージョンが最新のファームウェアのバージョンでない場合に、アップデートに関する通知を実行する形態を説明したが、この形態に限定されない。例えば、通信装置150が現在有しているファームウェアのバージョンが最新のファームウェアのバージョンだが、通信装置150の自動アップデート機能が無効化されている場合がある。この場合は、今後最新のファームウェアが更新された場合に、迅速に通信装置150のファームウェアをアップデートできないという課題が生じる。そのため、通信装置150が現在有しているファームウェアのバージョンが最新のファームウェアのバージョンであるか否かにかかわらず、通信装置150の自動アップデート機能が無効化されている場合にアップデートに関する通知を実行する形態であっても良い。その場合は、アップデートに関する通知は、自動アップデート機能を有効化するよう、ユーザを促すための処理となる。
【0075】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。また、プログラムは、1つのコンピュータで実行させても、複数のコンピュータを連動させて実行させるようにしても良い。また、上記した処理の全てをソフトウェアで実現する必要はなく、処理の一部または全部をASIC等のハードウェアで実現するようにしても良い。また、CPUも1つのCPUで全ての処理を行うものに限らず、複数のCPUが適宜連携をしながら処理を行うものとしても良い。
【符号の説明】
【0076】
100 PC
150 通信装置
200 管理サーバ