(57)【特許請求の範囲】
【請求項１】
情報処理装置とクラウドシステムとを有し、前記情報処理装置上でのユーザ操作に基づく処理を、該情報処理装置と前記クラウドシステムとが連携して実行するシステムであって、
前記クラウドシステムは、
前記情報処理装置のファームウェアの更新用データを記憶する記憶手段と、
前記更新用データと、前記クラウドシステム自身のメンテナンスの開始予定に基づく更新開始時刻とを、前記情報処理装置に対して送信する更新準備処理手段と、
を有し、
前記情報処理装置は、前記更新開始時刻になると、前記クラウドシステムから送信された前記更新用データによって、前記情報処理装置のファームウェアの更新を行う
ことを特徴とするファームウェア更新システム。
【請求項２】
前記更新準備処理手段は、前記メンテナンスの所要時間が所定の基準よりも長い場合に、前記情報処理装置に対して、前記更新用データおよび前記更新開始時刻の送信を実行する
ことを特徴とする請求項１に記載のファームウェア更新システム。
【請求項３】
前記更新準備処理手段は、前記更新用データの送信を、前記記憶手段に最新のファームウェアが登録され次第行う
ことを特徴とする請求項１または２に記載のファームウェア更新システム。
【請求項４】
前記情報処理装置は、前記更新開始時刻に達すると前記クラウドシステムの生存確認を行い、当該生存確認によって前記クラウドシステムの生存が確認できない場合に、ファームウェアの更新を行う
ことを特徴とする請求項１〜３のいずれかに記載のファームウェア更新システム。
【請求項５】
前記更新準備処理手段は、自身のメンテナンスの開始予定に変更があった場合、当該変更後のメンテナンス開始予定に基づく時刻を、更新開始時刻として前記情報処理装置に送信する
ことを特徴とする請求項１〜４のいずれかに記載のファームウェア更新システム。
【請求項６】
前記更新準備処理手段は、自身のメンテナンスの開始予定がキャンセルされた場合に、前記情報処理装置に対して更新のキャンセルを要求し、
前記情報処理装置は、前記キャンセルの要求があった場合にはファームウェアの更新を行わない
ことを特徴とする請求項１〜５のいずれかに記載のファームウェア更新システム。
【請求項７】
情報処理装置１は、前記更新開始時刻になると行うファームウェアの更新の後に続いて、予め定めた処理を行う
ことを特徴とする請求項１〜６のいずれかに記載のファームウェア更新システム。
【請求項８】
情報処理装置上でのユーザ操作に基づく処理を、該情報処理装置と連携して実行するクラウドシステムであって、
所定の記憶手段に記憶された前記情報処理装置のファームウェアの更新用データを当該情報処理装置に対して送信し、自身のメンテナンスの開始予定に基づく更新開始時刻を前記情報処理装置に対して送信する更新準備処理手段を有する
ことを特徴とするクラウドシステム。
【請求項９】
前記更新準備処理手段は、前記メンテナンスの所要時間が所定の基準よりも長い場合に、前記情報処理装置に対して、前記更新用データおよび前記更新開始時刻の送信を実行する
ことを特徴とする請求項８に記載のクラウドシステム。
【請求項１０】
前記更新準備処理手段は、前記更新用データの送信を、前記記憶手段に最新のファームウェアが登録され次第行う
ことを特徴とする請求項８または９に記載のクラウドシステム。
【請求項１１】
前記更新準備処理手段は、自身のメンテナンスの開始予定に変更があった場合、当該変更後のメンテナンス開始予定に基づく時刻を、更新開始時刻として前記情報処理装置に送信する
ことを特徴とする請求項８〜１０のいずれかに記載のクラウドシステム。
【請求項１２】
前記更新準備処理手段は、自身のメンテナンスの開始予定がキャンセルされた場合に、前記情報処理装置に対して更新のキャンセルを要求する
ことを特徴とする請求項８〜１１のいずれかに記載のクラウドシステム。
【請求項１３】
ユーザ操作に基づく処理を、クラウドシステムと連携して実行する情報処理装置であって、
前記クラウドシステムから、自装置のファームウェアの更新用データと、前記クラウドシステムのメンテナンス開始予定に基づく更新開始時刻と、を受信した場合に、前記更新開始時刻になると、前記更新用データによって、前記ファームウェアの更新を行う
ことを特徴とする情報処理装置。
【請求項１４】
前記更新開始時刻に達すると前記クラウドシステムの生存確認を行い、当該生存確認によって前記クラウドシステムの生存が確認できない場合に、ファームウェアの更新を行う
ことを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
前記更新開始時刻になると行うファームウェアの更新の後に続いて、予め定めた処理を行う
ことを特徴とする請求項１３または１４に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファームウェア更新システム、クラウドシステム、および情報処理装置に関する。
【背景技術】
【０００２】
情報処理装置は、ファームウェアを更新することで、不具合の解消や、機能の追加を行う。また、ネットワークに接続された情報処理装置は、当該情報処理装置を直接操作するオペレータの手作業によらず、ネットワークを介して自動的に、ファームウェア更新される場合がある。
【０００３】
ネットワーク接続の情報処理装置では、上述のように自動的にファームウェア更新される場合、オペレータが情報処理装置を操作する（使用する）タイミングで、あるいは使用中に、ファームウェア更新が動作してしまう可能性がある。この場合、情報処理装置を使えない時間すなわちダウンタイムが増えるという問題がある。当該問題に対し、情報処理装置に照度センサや人感センサを設けるなどしてオペレータの不存在を確認した後にファームウェアを更新する、とした技術が周知である。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術は、照度センサはオペレータが消灯状態で作業する場合に対応できず、人感センサは全方位の検知が困難であり、さらには、ネットワークを介しての遠隔操作を行うオペレータの存在が考慮されたものではない。したがって、従来の技術によっては、上述の問題が十分に解決されてはいない。
【０００５】
本発明は、上記に鑑みてなされたものであって、ネットワーク接続された情報処理装置におけるファームウェアの自動更新によるダウンタイムの増加を防止することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、情報処理装置とクラウドシステムとを有し、前記情報処理装置上でのユーザ操作に基づく処理を、該情報処理装置と前記クラウドシステムとが連携して実行するシステムであって、前記クラウドシステムは、前記情報処理装置のファームウェアの更新用データを記憶する記憶手段と、前記更新用データと、前記クラウドシステム自身のメンテナンスの開始予定に基づく更新開始時刻とを、前記情報処理装置に対して送信する更新準備処理手段と、を有し、前記情報処理装置は、前記更新開始時刻になると、前記クラウドシステムから送信された前記更新用データによって、前記情報処理装置のファームウェアの更新を行うことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ネットワーク接続された情報処理装置におけるファームウェアの自動更新によるダウンタイムの増加を防止することができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１実施形態のシステムの構成の一例を示す図である。
【図２】図２は、情報処理装置のハードウェア構成を概略的に示すブロック図である。
【図３】図３は、情報処理装置が備える機能部の構成を概略的に示すブロック図である。
【図４】図４は、更新用ファームウェアの構成を概略的に示すブロック図である。
【図５】図５は、ファームウェアバージョンの内容の一例を示す図である。
【図６】図６は、クラウドサービスのハードウェア構成を概略的に示すブロック図である。
【図７】図７は、クラウドサービスが備える機能部の構成を概略的に示すブロック図である。
【図８】図８は、システムで実行される処理の流れを示すシーケンス図であって、主にクラウドサービスが関わる処理を説明する図である。
【図９】図９は、メンテナンス予約画面の一例である。
【図１０−１】図１０−１は、ＨＤＤに記憶されたバージョン情報の一例を示す図である。
【図１０−２】図１０−２は、ＨＤＤに記憶された更新用データのバージョン情報の一例を示す図である。
【図１１】図１１は、システムで実行される処理の流れを示すシーケンス図であって、主に情報処理装置が関わる処理を説明する図である。
【図１２】図１２は、システムで実行される処理の流れを示すシーケンス図であって、主にクラウドサービスが関わる処理を説明する図である。
【図１３】図１３は、メンテナンス予約画面の一例である。
【図１４】図１４は、システムで実行される処理の流れを示すシーケンス図であって、主にクラウドサービスが関わる処理を説明する図である。
【図１５】図１５は、ファームウェア登録画面の一例である。
【図１６】図１６は、システムで実行される処理の流れを示すシーケンス図であって、主にクラウドサービスが関わる処理を説明する図である。
【図１７】図１７は、システムで実行される処理の流れを示すシーケンス図であって、主にクラウドサービスが関わる処理を説明する図である。
【図１８】図１８は、システムで実行される処理の流れを示すシーケンス図であって、主にクラウドサービスが関わる処理を説明する図である。
【図１９】図１９は、システムで実行される処理の流れを示すシーケンス図であって、主にクラウドサービスが関わる処理を説明する図である。
【発明を実施するための形態】
【０００９】
（第１実施形態）
以下、実施形態について図面を参照して説明する。図１は、本実施形態におけるシステム１００の構成の一例を示す図である。システム１００は、情報処理装置１、クラウドサービス（クラウドシステム）２、ファームウェア管理サーバ（記憶手段）３、およびネットワークＮ１，Ｎ２を有する。当該システム１００においては、ユーザからの操作を受け付ける情報処理装置１とクラウドサービス２とが連携して処理を実行する。
【００１０】
ネットワークＮ１は、情報処理装置１とクラウドサービス２との間に存在し、両者間での情報授受を可能にする通信回線である。ネットワークＮ２は、クラウドサービス２とファームウェア管理サーバ３との間に存在し、両者間での情報授受を可能にする通信回線である。ネットワークＮ１，Ｎ２は、例えばＬＡＮ（Local  Area  Network）やＶＰＮ（Virtual  Private  Network）により実現される。
【００１１】
情報処理装置１は、ユーザとのインターフェースの役割を担う。また、情報処理装置１は、クラウドサービス２と連携して、ユーザの要求を実現する。情報処理装置１としては、例えば、コピー機能やファクシミリ機能を複合的に備えるＭＦＰや、商用のオンデマンド印刷などに用いる印刷装置などがある（単なる例示であり、実施にあたってこれらに限らない）。
【００１２】
ファームウェア管理サーバ３は、情報処理装置１のファームウェアの更新用データを管理する。つまり、ファームウェア管理サーバ３は、更新用データを、クラウドサービス２から参照可能に、記憶する。
【００１３】
クラウドサービス２は、情報処理装置１からの命令を受けて処理を実行して、その結果を情報処理装置１に返す。また、クラウドサービス２は、必要に応じてファームウェア管理サーバ３から更新用データを取得（要求を送信し、応答として受信）して、情報処理装置１に転送（送信）する。
【００１４】
図２は、情報処理装置１のハードウェア構成を概略的に示すブロック図である。情報処理装置１は、ＣＰＵ（Central  Processing  Unit）１１、ＦＲＯＭ（フラッシュＲＯＭ（Read  Only  Memory））１２、ＲＡＭ（Random  Access  Memory）１３、ＨＤＤ（Hard  Disk  Drive）１４、通信ＩＦ（interface）１５、および操作部１６を備える。
【００１５】
ＦＲＯＭ１２やＨＤＤ１４は、ＣＰＵ１１に各種の処理を実行させるための制御プログラムを予め記憶している。ここで、本実施形態において、情報処理装置１において稼働中で更新対象であるファームウェアは、ＦＲＯＭ１２に格納されている。
【００１６】
また、ＨＤＤ１４は、各種情報を格納する不揮発性の記憶部１４０（図３参照、後述）としても使用される。ＲＡＭ１３は、揮発性の記憶部であり、ＣＰＵ１１が実行する各種処理用のデータを一時的に記憶する手段として利用される。
【００１７】
ＣＰＵ１１は、情報処理装置１が備える各部を統括的に制御する。その際、ＣＰＵ１１は、ＲＡＭ１３をワークエリア（作業領域）として、ＦＲＯＭ１２やＨＤＤ１４に格納されているプログラムを実行する。
【００１８】
通信ＩＦ１５は、情報処理装置１をクラウドサービス２と接続するためのインターフェースであって、ネットワークＮ１に接続されている。操作部１６は、いわゆるＵＩ（User  Interface、ユーザインターフェース）であって、ユーザの操作を受け付け、また、ユーザへ情報処理装置１の状態を通知する。
【００１９】
図３は、情報処理装置１が備える機能部の構成を概略的に示すブロック図である。情報処理装置１は、制御部１０および記憶部１４０を備える。制御部１０は、ＣＰＵ１１がプログラムを実行することにより構成される。制御部１０は、通信制御部１０１および機器制御部１０２を有する。
【００２０】
通信制御部１０１は、通信ＩＦ１５を介して、外部装置とデータの送受信を実施する。当該データの送受信とは、例えば、クラウドサービス２への命令やその応答、クラウドサービス２からの更新用データの受信などである。
【００２１】
機器制御部１０２は、外部装置からの要求に応じて、情報処理装置１内部の処理を制御する。また、機器制御部１０２は、通信制御部１０１を介して、クラウドサービス２への要求を実施する。
【００２２】
記憶部１４０は、情報処理装置１が用いる各種情報を保存する。記憶部１４０が保存する情報としては、例えば、更新用ファームウェア１４ａやファームウェアバージョン１４ｂがある。
【００２３】
更新用ファームウェア１４ａは、情報処理装置１で稼働中のファームウェアを更新するためのアップデートファイルである。当該更新用ファームウェア１４ａは、すなわち上記更新用データであって、情報処理装置１が、ファームウェア管理サーバ３からクラウドサービス２経由で提供を受けたものである。
【００２４】
ファームウェアバージョン１４ｂは、情報処理装置１にインストール済みのソフトウェア（すなわちＦＲＯＭ１２に格納されているファームウェア）のバージョン情報である。
【００２５】
図４は、更新用ファームウェア１４ａの構成を概略的に示すブロック図である。本実施形態の更新用ファームウェア１４ａは、通信制御部１０１のファームウェア１４１と、機器制御部１０２のファームウェア１４２とを備える。各ファームウェア１４１，１４２は、ファイル形式のデータである。なお、ここでは一例として更新用ファームウェア１４ａを制御モジュール別の複数のファイルとしているが、ファームウェアが単一のファイルである場合もある。ＦＲＯＭ１２が格納している各ファームウェアを、各ファームウェア１４１，１４２で上書きし保存することにより、情報処理装置１で稼働するファームウェアが更新される。
【００２６】
図５は、ファームウェアバージョン１４ｂの内容の一例を示す図である。ファームウェアバージョン１４ｂは、例えば図のようにテーブル形式で各種情報（モジュール名、識別子、バージョン）を記憶したファイルである。ファームウェアバージョン１４ｂは、モジュール（通信制御部１０１、機器制御部１０２）の識別子とバージョンとを関連付けて記憶している。
【００２７】
図６は、クラウドサービス２のハードウェア構成を概略的に示すブロック図である。本実施形態では、便宜上、クラウドサービス２の実体が一台のサーバ装置であるとして説明する。ただし、実施にあたっては、クラウドサービス２は、単一の装置で構成されるとは限らない。つまり、実施にあたって、クラウドサービス２は、例えば複数の装置（サーバ装置など）で構成されていてもよい。
【００２８】
クラウドサービス２は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、ＨＤＤ２４、通信ＩＦ２５、および操作表示部２６を備える。
【００２９】
ＲＯＭ２２やＨＤＤ２４は、ＣＰＵ２１に各種の処理を実行させるための制御プログラムを予め記憶している。また、ＨＤＤ２４は、各種情報を格納する不揮発性の記憶部としても使用される。ＲＡＭ２３は、揮発性の記憶部であり、ＣＰＵ２１が実行する各種処理用のデータを一時的に記憶する手段として利用される。
【００３０】
ＣＰＵ２１は、クラウドサービス２が備える各部を統括的に制御する。その際、ＣＰＵ２１は、ＲＡＭ２３をワークエリアとして、ＲＯＭ２２やＨＤＤ２４に格納されているプログラムを実行する。
【００３１】
通信ＩＦ２５は、クラウドサービス２を情報処理装置１およびファームウェア管理サーバ３に接続するためのインターフェースであって、ネットワークＮ１，Ｎ２に接続されている。操作表示部２６は、いわゆるＵＩであって、クラウドサービス管理者であるアクター０（図８参照、後述）の操作を受け付け、また、アクター０へクラウドサービス２の状態を通知する。
【００３２】
図７は、クラウドサービス２が備える機能部の構成を概略的に示すブロック図である。クラウドサービス２は、制御部２０を有する。制御部２０は、ＣＰＵ２１がプログラムを実行することにより構成される。制御部２０は、更新準備処理部（更新準備処理手段）２０１を有する。
【００３３】
更新準備処理部２０１は、自身（すなわちクラウドサービス２）のメンテナンスの開始予定に基づいて、情報処理装置１に対して、更新用データの送信および更新開始時刻の通知（送信）を行う。これを受けて、情報処理装置１の制御部１０は、指定の時刻になると、ファームウェアの更新を開始する。
【００３４】
図８は、システム１００で実行される処理の流れを示すシーケンス図であって、主にクラウドサービス２が関わる処理を説明する図である。まず、システム１００において、クラウドサービス管理者であるアクター０が、クラウドサービス２に対して、メンテナンス予約を行う（ステップＳ１）ことから、本処理は開始する。
【００３５】
図９は、メンテナンス予約画面の一例である。クラウドサービス２の制御部２０は、操作表示部２６によって、メンテナンス予約画面をアクター０に対して表示し、アクター０の入力操作を受け付ける。ステップＳ１において、アクター０は、メンテナンスの開始時刻を入力欄Ａ１に書き込み、予約ボタンＢ１を押す。これにより、メンテナンスの開始が予約される。
【００３６】
ここで、当該予約は、メンテナンスを開始する時刻より一定時間（例えば１時間）前に、行われる。つまり、予約において、入力欄Ａ１に書き込み可能な時刻は、予約時の時刻よりも一定時間（例えば１時間）以上後の時刻である。
【００３７】
また、上記メンテナンスは、運用側（アクター０）が計画的に実施するものであって、開始時刻をコントロール可能なものである。また、メンテナンス時は、クラウドサービス２によるサービスは停止となる。
【００３８】
ステップＳ１では、予約の付属情報として、メンテナンスの開始時刻がクラウドサービス２に伝達されている。当該開始時刻を、クラウドサービス２の制御部２０は、例えばＨＤＤ２４の所定領域に記憶させる。
【００３９】
次に、クラウドサービス２の制御部２０は、ファームウェアバージョン取得を行う（ステップＳ２）。すなわち、クラウドサービス２の制御部２０は、情報処理装置１に、ファームウェアバージョン１４ｂを要求する。この要求に対する応答として、情報処理装置１の制御部１０は、クラウドサービス２に、ファームウェアバージョン１４ｂを送信する（ステップＳ３）。クラウドサービス２の制御部２０は、ファームウェアバージョン１４ｂを受信すると、これを例えばＨＤＤ２４の所定領域に記憶させる。当該ＨＤＤ２４に記憶されたバージョン情報の一例を、図１０−１に示す。
【００４０】
なお、ステップＳ３において、ファイアーウォール等によりクラウドサービス２が情報処理装置１から情報を取得できない場合は、情報処理装置１からクラウドサービス２へ定期的に情報を通知する処理に置き換える。
【００４１】
続いて、クラウドサービス２の制御部２０は、最新のファームウェアの取得を行う（ステップＳ４）。すなわち、クラウドサービス２の制御部２０は、ファームウェア管理サーバ３に、更新用データを要求する。この要求に対する応答として、ファームウェア管理サーバ３は、クラウドサービス２に、更新用データを送信する（ステップＳ５）。クラウドサービス２の制御部２０は、更新用データを受信すると、これを例えばＨＤＤ２４の所定領域に記憶させる。当該ＨＤＤ２４に記憶された更新用データのバージョン情報の一例を、図１０−２に示す。
【００４２】
次に、クラウドサービス２の制御部２０は、ステップＳ５で受信した更新用データのバージョン（図１０−２）が、ステップＳ３で受信したファームウェアバージョン１４ｂ（図１０−１）よりも新しい場合、更新準備処理部２０１として、以下のｏｐｔ（option）処理（ステップＳ６およびステップＳ７）を実行する。
【００４３】
図１０−１および図１０−２で示した例の場合、制御部２０は、機器制御部１０２のファームウェア１４２のみ、更新することとなる。この場合、制御部２０は、ファームウェア管理サーバ３から、識別子「ModuleA」と「ModuleB」をキーとして、バージョンを取得する。通信制御部１０１については、現在のバージョン「1.01」とファームウェア管理サーバ３での最新のバージョン「1.01」が同じため、ファームウェア更新の対象にならない。一方、機器制御部１０２については、現在のバージョン「1.01」よりファームウェア管理サーバ３での最新のバージョン「1.02」が新しいため、ファームウェア更新の対象となる。
【００４４】
更新準備処理部２０１としての制御部２０は、情報処理装置１に、ファームウェアアップデートの予約を要求する（ステップＳ６）。その際、制御部２０は、要求の付属情報として、ＨＤＤ２４の所定領域に記憶されているメンテナンス開始時刻と同じ時刻を、情報処理装置１に伝達する。
【００４５】
続いて、更新準備処理部２０１としての制御部２０は、情報処理装置１に、更新用データを送信する（ステップＳ７）。
【００４６】
メンテナンス開始時刻に達すると、以下のｐａｒ（parallel）処理（ステップＳ８〜Ｓ９、ステップＳ１０）が実行される。まず、アクター０が、クラウドサービス２に対して、予定のメンテナンス処理の実行を要求する（ステップＳ８）。これを受けて、クラウドサービス２の制御部２０は、サービスの停止およびメンテナンス処理を実行する（ステップＳ９）。また、ステップＳ８〜Ｓ９の実行と並行して、情報処理装置１では、ファームウェア更新処理が実行される（ステップＳ１０）。
【００４７】
図１１は、システム１００で実行される処理の流れを示すシーケンス図であって、主に情報処理装置１が関わる処理を説明する図である。まず、クラウドサービス２が情報処理装置１に対してファームウェアバージョン１４ｂを要求すると（上記ステップＳ２）、通信制御部１０１は、機器制御部１０２に、ファームウェアバージョン１４ｂを要求する（ステップＳ１１）。
【００４８】
機器制御部１０２は、ファームウェアバージョン１４ｂを取得（記憶部１４０から読み出す）し（ステップＳ１２〜Ｓ１３）、これを通信制御部１０１に通知する（ステップＳ１４）。そして、通信制御部１０１は、クラウドサービス２に、ファームウェアバージョン１４ｂを通知する（ステップＳ３）。
【００４９】
次に、クラウドサービス２は、情報処理装置１に、ファームウェアアップデートの予約を要求する（ステップＳ６）。これを受けて、通信制御部１０１は、機器制御部１０２に、ファームウェアアップデートの予約を要求する（ステップＳ１５）。すると、機器制御部１０２は、ファームウェアのアップデート時刻を保存する（ステップＳ１６）。当該アップデート時刻は、メンテナンス開始時刻と同じ時刻である。
【００５０】
続いて、クラウドサービス２は、情報処理装置１に、更新用データを送信する（ステップＳ７）。これを受けて、通信制御部１０１は、更新用データを保存する（ステップＳ１７）。
【００５１】
ステップＳ１７において、情報処理装置１の制御部１０は、更新用データを、不揮発領域である記憶部１４０に、更新用ファームウェア１４ａとして保存する。このとき、情報処理装置１は、直ちにアップデートを実行することはしない。そして、制御部１０は、ファームウェアアップデートの予約時刻に達するのを監視する。
【００５２】
ファームウェアアップデート予約時刻に達すると、機器制御部１０２は、ファームウェアアップデート用データ（すなわち更新用ファームウェア１４ａ）を取得する（ステップＳ１８〜Ｓ１９）。そして、機器制御部１０２は、ファームウェアアップデートを実行する（ステップＳ２０）。
【００５３】
以上のように、本実施形態によれば、ネットワークＮ１に接続してクラウドサービス２とともに使用することが前提の情報処理装置１において、クラウドサービス２側がメンテナンスに入るタイミングで情報処理装置１のファームウェアの更新を実行することができる。よって、ネットワークＮ１につながった情報処理装置１のダウンタイムを増加させることなく、ファームウェアを更新することができる。
【００５４】
本実施形態では、クラウドサービス２のメンテナンスと同時に、情報処理装置１のファームウェアアップデートを実行することになる。クラウドサービス２に接続して使用する情報処理装置１は、クラウドサービス２のメンテナンス中には使用できない。よって、当該タイミングでファームウェア更新を実施しても、ダウンタイムの増加につながらない。言い換えれば、本実施形態によれば、計画的なダウンタイムを利用して、情報処理装置１のファームウェア更新を済ませることができる。
【００５５】
なお、本実施形態では、ＦＲＯＭ１２が、情報処理装置１のファームウェア（稼働中、更新対象）を記憶するとして説明したが、実施にあたっては、ＨＤＤ１４がファームウェアを記憶し、これを更新するようにしてもよい。
【００５６】
また、本実施形態では、ファームウェア管理サーバ３を一例として記憶手段を説明しているが、実施にあたっては、記憶手段がサーバ装置でなくとも構わない。例えば、クラウドサービス２が、記憶手段を含んでいてもよい。より具体的には、クラウドサービス２を実現するサーバ群に、記憶手段として機能するサーバ装置が含まれていてもよい。あるいは、一台のサーバ装置が、クラウドサービス２および記憶手段を実現していてもよい。
【００５７】
（第２実施形態）
第２実施形態について図面を参照して説明する。本実施形態では、第１実施形態と同じ部分についての説明を省略し、第１実施形態と異なる部分について説明する。また、説明および図面では、第１実施形態と同様の部分には同一の符号を用いる。
【００５８】
図１２は、システム１００で実行される処理の流れを示すシーケンス図であって、主にクラウドサービス２が関わる処理を説明する図である。また、図１３は、メンテナンス予約画面の一例である。本実施形態では、メンテナンス予約画面において、メンテナンスの開始時刻だけでなく、終了時刻をも入力する。
【００５９】
本実施形態では、更新準備処理部２０１は、第１実施形態におけるｏｐｔ処理（ステップＳ６〜Ｓ７）を行う条件を、増やしている。該条件とは、「クラウドサービス２のメンテナンスの所要時間が、所定の基準よりも長いこと」である。つまり、更新準備処理部２０１は、ステップＳ５で受信した更新用データのバージョンが、ステップＳ３で受信したファームウェアバージョン１４ｂよりも新しい場合であって、さらに、クラウドサービス２のメンテナンスの所要時間が、所定の基準よりも長い場合に、ｏｐｔ処理（ステップＳ６〜Ｓ７）を行う。
【００６０】
本実施形態では、第１実施形態のステップＳ１に代わるステップＳ１０１において、アクター０は、メンテナンスの開始時刻を入力欄Ａ１に書き込み、さらに、入力欄Ａ２に、終了時刻を書き込んで、予約ボタンＢ１を押す。
【００６１】
クラウドサービス２の制御部２０は、更新準備処理部２０１として、メンテナンスの開始時刻と終了時刻の間隔が一定時間未満の場合、なにもしない（ステップＳ２０１）。つまり、第１実施形態におけるｏｐｔ処理を行わない。これにより、情報処理装置１においてファームウェア更新処理（第１実施形態におけるステップＳ１０）は行われなくなる。
【００６２】
ここで、上記「一定時間」は、情報処理装置１のファームウェア更新に要すると予測される時間、つまりファームウェア更新の所要時間と同程度の時間である。例えば、メンテナンス開始時間が２：００で終了時間が３：００の場合、間隔は１：００であるが、ファームウェア更新の所要時間が１：００よりも長いならば、ここではファームウェア更新を行わない。
【００６３】
以上のように、本実施形態によれば、クラウドサービス２は、メンテナンスの所要時間が、所定の基準に基づいて短いと判断される場合に、情報処理装置１のファームウェア更新を実行しないようにすることができる。これにより、クラウドサービス２のメンテナンスが終了してもファームウェアアップデートが継続していてダウンタイムが増加してしまう、という不都合を防止することができる。
【００６４】
（第３実施形態）
第３実施形態について図面を参照して説明する。本実施形態では、第１実施形態と同じ部分についての説明を省略し、第１実施形態と異なる部分について説明する。また、説明および図面では、第１実施形態と同様の部分には同一の符号を用いる。
【００６５】
図１４は、システム１００で実行される処理の流れを示すシーケンス図であって、主にクラウドサービス２が関わる処理を説明する図である。また、図１５は、ファームウェア登録画面の一例である。
【００６６】
本実施形態では、ファームウェア管理サーバ３は、ファームウェア登録者であるアクター１に対してファームウェア登録画面を表示し、アクター１の入力操作を受け付ける。アクター１は、ファームウェア登録画面の入力欄Ｃ１に、最新ファームウェアの識別子を書き込み、さらに、入力欄Ｃ２に、最新ファームウェアが格納されている場所のファイルパスを書き込んだ後、登録ボタンＣ３を押して、最新ファームウェアを登録する（ステップＳ３０１）。
【００６７】
ファームウェア管理サーバ３は、最新ファームウェアが登録されると、当該ファームウェアを、直ちにクラウドサービス２に送信する（ステップＳ３０２）。そして、クラウドサービス２は、最新ファームウェアを受信すると、当該ファームウェアを、直ちに情報処理装置２に送信する（ステップＳ３０３）。
【００６８】
本実施形態では、クラウドサービス２にメンテナンス予約が登録される（ステップＳ１）と、クラウドサービス２の制御部２０は、第１実施形態においてｏｐｔ処理であったステップＳ６を行う。すなわち、制御部２０は、更新準備処理部２０１として、情報処理装置１に、ファームウェアアップデートの予約を要求する。ここで、本実施形態では、この段階で既に情報処理装置１は最新ファームウェアを受信しているので、第１実施形態においてｏｐｔ処理であったステップＳ７、すなわち情報処理装置１への更新用データを送信は、不要である。
【００６９】
以下、ステップＳ８以降の処理は、第１実施形態と同様である。ただし、ステップＳ１０において、情報処理装置１の不揮発領域である記憶部１４０に、最新ファームウェアが保存されていない場合、つまり更新用ファームウェア１４ａが存在していない場合は、情報処理装置１の制御部１０はファームウェア更新を実施しない。
【００７０】
以上、本実施形態によれば、常に最新のファームウェアが情報処理装置１に保存されていることになるので、メンテナンス予約時に、ファームウェアのバージョンチェックや情報処理装置１への更新用データの送信などの処理を、割愛することができる。
【００７１】
なお、本実施形態では、ステップＳ３０１〜Ｓ３０２において、ファイル管理サーバ３がクラウドサービス２に最新のファームウェアをプッシュ（送信）するようにしているが、実施にあたってはこれに限らない。例えば、クラウドサービス２が一定期間ごとにファイル管理サーバ３に対してファイル（最新ファームウェア、更新用データ）の有無を確認して、あれば取得するという方式をとってもよい。
【００７２】
（第４実施形態）
第４実施形態について図面を参照して説明する。本実施形態では、第１実施形態と同じ部分についての説明を省略し、第１実施形態と異なる部分について説明する。また、説明および図面では、第１実施形態と同様の部分には同一の符号を用いる。
【００７３】
図１６は、システム１００で実行される処理の流れを示すシーケンス図であって、主にクラウドサービス２が関わる処理を説明する図である。本実施形態では、メンテナンス開始時刻に達すると行われるｐａｒ処理において、情報処理装置１の制御部１０は、ファームウェア更新処理（ステップＳ４１０）に先立って、クラウドサービス２の生存確認（ステップＳ４０１）を行う。ここで、クラウドサービス２の生存が確認できた場合は、さらに一定時間ごとに生存確認を実施する。そして、制御部１０は、クラウドサービス２の生存が確認できない場合に、ファームウェア更新処理（ステップＳ４１０）を行う。
【００７４】
このように、本実施形態では、情報処理装置１がクラウドサービス２のダウンタイムを確認後に、ファームウェアアップデート処理を開始する。これにより、例えばメンテナンス開始が予約時間より遅れた場合など、クラウドサービス２を原因とするダウンタイムに入る以前に情報処理装置１においてファームウェアアップデートが実行されて情報処理装置１を原因とするダウンタイムが発生することを防止できるので、より正確にダウンタイムの増加を防止することができる。
【００７５】
以上、本実施形態によれば、メンテナンス開始の遅延などにより実際にダウンタイムではないタイミングにファームウェアアップデートをしてダウンタイムを増加させる、ということを防止することができる。
【００７６】
（第５実施形態）
第５実施形態について図面を参照して説明する。本実施形態では、第１実施形態と同じ部分についての説明を省略し、第１実施形態と異なる部分について説明する。また、説明および図面では、第１実施形態と同様の部分には同一の符号を用いる。
【００７７】
図１７は、システム１００で実行される処理の流れを示すシーケンス図であって、主にクラウドサービス２が関わる処理を説明する図である。本実施形態では、メンテナンス予約の変更を可能としており、当該変更があった場合の動きについて説明する。
【００７８】
第１実施形態におけるｏｐｔ処理（ステップＳ６〜Ｓ７）の後、クラウドサービス２の管理者であるアクター０は、クラウドサービス２に対してメンテナンス予約の変更を行う（ステップＳ５０１）。当該変更は、例えば、実施時刻の変更などである。
【００７９】
ステップＳ５０１では、ステップＳ１と同じく、予約の付属情報として、変更後のメンテナンス開始時刻がクラウドサービス２に伝達されている。当該開始時刻を、クラウドサービス２の制御部２０は、例えばＨＤＤ２４の所定領域に記憶させる。
【００８０】
メンテナンスの予約変更（ステップＳ５０１）があると、クラウドサービス２の制御部２０は、更新準備処理部２０１として、情報処理装置１に、ファームウェアアップデートの予約を要求する（ステップＳ５０２）。当該処理において、制御部２０は、ステップＳ６と同じく、要求の付属情報として、変更後のメンテナンス開始時刻（ＨＤＤ２４の所定領域に記憶）と同じ時刻を、情報処理装置１に伝達する。
【００８１】
続いて、制御部２０は、情報処理装置１からファームウェアのバージョンを取得する（ステップＳ５０３〜Ｓ５０４）。当該処理は、ステップＳ２〜Ｓ３と同様である。次に、制御部２０は、ファームウェア管理サーバ３から、最新のファームウェアを取得する（ステップＳ５０５〜Ｓ５０６）。当該処理は、ステップＳ４〜Ｓ５と同様である。
【００８２】
次に、制御部２０は、ファームウェア管理サーバ３から取得したファームウェア（更新用データ）が情報処理装置１で稼働中のファームウェアより新しい場合に、情報処理装置１に、ファームウェア（更新用データ）を送信する（ステップＳ５０７）。
【００８３】
以下、メンテナンス開始時刻に達した後の処理は、第１実施形態と同様であるので、説明を省略する。
【００８４】
本実施形態によれば、一度予約したメンテナンス予約時間を変更した場合、同時に、ファームウェアアップデートの実施時刻をも変更することができる。
【００８５】
（第６実施形態）
第６実施形態について図面を参照して説明する。本実施形態では、第１実施形態と同じ部分についての説明を省略し、第１実施形態と異なる部分について説明する。また、説明および図面では、第１実施形態と同様の部分には同一の符号を用いる。
【００８６】
図１８は、システム１００で実行される処理の流れを示すシーケンス図であって、主にクラウドサービス２が関わる処理を説明する図である。本実施形態では、メンテナンス予約のキャンセルを可能としており、当該キャンセルがあった場合の動きについて説明する。
【００８７】
第１実施形態におけるステップＳ１〜Ｓ７の処理の後、アクター０は、メンテナンスのキャンセル処理（ステップＳ６０１）を行う。すると、クラウドサービス２は、情報処理装置に、ファームウェアアップデートの予約キャンセルを要求する（ステップＳ６０２）。
【００８８】
情報処理装置１は、予約キャンセルの要求を受けると、ステップＳ６〜Ｓ７で予約されたファームウェアアップデート予約をキャンセルする。つまり、当該キャンセルされた更新開始時刻のファームウェア更新を、行わない。
【００８９】
本実施形態によれば、一度予約したメンテナンス予約をキャンセルしたときに、併せて、ファームウェアアップデートの実施をも、キャンセルすることができる。
【００９０】
（第７実施形態）
第７実施形態について図面を参照して説明する。本実施形態では、第１実施形態と同じ部分についての説明を省略し、第１実施形態と異なる部分について説明する。また、説明および図面では、第１実施形態と同様の部分には同一の符号を用いる。
図１９は、システム１００で実行される処理の流れを示すシーケンス図であって、主にクラウドサービス２が関わる処理を説明する図である。本実施形態では、第１実施形態におけるファームウェア更新（ステップＳ１０）の後で、情報処理装置１は、ファームウェア更以外の時間がかかる処理を実行する（ステップＳ７０１）。
【００９１】
当該処理は、ファームウェア更新以外に情報処理装置１のダウンタイムとなるような処理であって、例えば、ＨＤＤのクリーンアップや、セキュリティソフトの全検索処理などがある。また、情報処理装置１が画像形成装置である場合は、トナー補給や、のりの調整動作などがある。
【００９２】
ステップＳ７０１で行う「時間がかかる処理」の定め方の一例について、以下に説明する。まず、情報処理装置１は、時間がかかる処理のリスト情報を、例えば記憶部１４０などの所定の記憶領域に、予め記憶している。当該リスト情報には、処理名などの処理を特定するための情報と、当該情報に関連付けて、各処理の所要時間の予想値や優先順位、実行が必要であるか不要であるか（要／不要）が、記録されている。
【００９３】
ステップＳ７０１においては、実行が必要とされた処理のうち優先順位が高く設定されたものから順に所要時間を確認し、当該所要時間が、メンテナンス終了予定時刻までの残り時間（＝メンテナンス終了予定時刻−現在時刻）よりも短い場合に、その処理を実行する。処理の所要時間が残り時間以上であれば、その処理を実行せず、次の優先順位の処理の所要時間を確認する。
【００９４】
本実施形態によれば、ファームウェア更新以外でダウンタイムにつながる処理を、クラウドサービス２を原因とするダウンタイム中に実施するので、結果として、情報処理装置１における総ダウンタイムを低減することができる。
【００９５】
以上、上述した各実施形態の各装置（情報処理装置１、クラウドサービス２、およびファームウェア管理サーバ３）は、ＣＰＵなどの制御装置と、ＲＯＭやＲＡＭなどの記憶装置と、ＨＤＤ、ＣＤドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成によって、実現可能である。
【００９６】
なお、上述した各実施形態の各装置で実行されるプログラムは、装置内の記憶媒体（ＦＲＯＭ、ＨＤＤ、ＲＯＭ等）に予め組み込まれて提供される。
【００９７】
また、上述した各実施形態の各装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録されて提供可能である。
【００９８】
さらに、上述した各実施形態の各装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、各実施形態の各装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００９９】
また、上述した各実施形態のクラウドサービス２で実行されるプログラムは、上述した更新準備処理部を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記記憶媒体からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、更新準備処理部を含むモジュールが主記憶装置上に生成されるようになっている。
【符号の説明】
【０１００】
１００…システム、
１…情報処理装置、
２…クラウドサービス（クラウドシステム）、
３…ファームウェア管理サーバ（記憶手段）、
Ｎ１…ネットワーク、
Ｎ２…ネットワーク、
１１…ＣＰＵ、
１２…ＦＲＯＭ、
１３…ＲＡＭ、
１４…ＨＤＤ、
１５…通信ＩＦ、
１６…操作部、
１０…制御部、
１０１…通信制御部、
１０２…機器制御部、
１４０…記憶部、
１４１…ファームウェア、
１４２…ファームウェア、
１４ａ…更新用ファームウェア、
１４ｂ…ファームウェアバージョン、
２０…制御部、
２１…ＣＰＵ、
２２…ＲＯＭ、
２３…ＲＡＭ、
２４…ＨＤＤ、
２５…通信ＩＦ、
２６…操作表示部、
２０１…更新準備処理部（更新準備処理手段）。
【先行技術文献】
【特許文献】
【０１０１】
【特許文献１】特開２００２−２８８０６６号公報
【特許文献２】特開２０１４−１３０３８８号公報
【特許文献３】特許第５０３０６７０号公報
【図１】
0006631343.tif 000002
【図２】
0006631343.tif 000003
【図３】
0006631343.tif 000004
【図４】
0006631343.tif 000005
【図５】
0006631343.tif 000006
【図６】
0006631343.tif 000007
【図７】
0006631343.tif 000008
【図８】
0006631343.tif 000009
【図９】
0006631343.tif 000010
【図１０−１】
0006631343.tif 000011
【図１０−２】
0006631343.tif 000012
【図１１】
0006631343.tif 000013
【図１２】
0006631343.tif 000014
【図１３】
0006631343.tif 000015
【図１４】
0006631343.tif 000016
【図１５】
0006631343.tif 000017
【図１６】
0006631343.tif 000018
【図１７】
0006631343.tif 000019
【図１８】
0006631343.tif 000020
【図１９】
0006631343.tif 000021