(57)【要約】      （修正有）【課題】ファームウェアを更新するとき、ディスク書き込み量を減少させ、ファイルシステムの破損の確率を低減させる。【解決手段】情報処理システム１０００は、サーバ２００と、それとファイアウォールを介して通信を行う仲介装置１００と、仲介装置１００を介してサーバ２００と通信を行う機器とを含む。サーバ２００は、仲介装置１００のファームウェアを仲介装置１００に送信する通信部２２を有する。仲介装置１００は、サーバ２００からファームウェアを受信して記憶部１８に記憶させる通信部１５と、受信したファームウェアを含む複数のファームウェアのうち、いずれで起動するかを決定する選択部１２と、起動すると決定されたファームウェアを記憶部１８に展開せずに、起動すると決定されたファームウェアを記憶部１８に記憶された状態で実行して仲介装置１００を起動する起動部１１とを有する。【選択図】図３
2018180792.tif 000002
【特許請求の範囲】
【請求項１】
サーバと、前記サーバとファイアウォールを介して通信を行う仲介装置と、前記仲介装置を介して前記サーバと通信を行う機器とを含む情報処理システムであって、
前記サーバは、
前記仲介装置のファームウェアを前記仲介装置に送信する送信部を有し、
前記仲介装置は、
前記サーバから前記ファームウェアを受信して記憶装置に記憶させる受信部と、
前記ファームウェアを含む複数のファームウェアのうち、いずれのファームウェアで起動するかを決定する決定部と、
前記起動すると決定されたファームウェアを前記記憶装置に展開せずに、前記起動すると決定されたファームウェアを前記記憶装置に記憶された状態で実行して前記仲介装置を起動する実行部とを有する情報処理システム。
【請求項２】
前記仲介装置は、
前記ファームウェアが更新中であること及び前記ファームウェアの起動履歴を含む情報を生成する生成部をさらに有し、
前記決定部は、前記情報に基づいて、前記ファームウェアを含む複数のファームウェアのうち、いずれのファームウェアで起動するかを決定する請求項１記載の情報処理システム。
【請求項３】
前記決定部は、起動するファームウェアを指定するパス情報を記憶装置に記憶させ、前記パス情報を選択することにより、起動するファームウェアを選択する請求項１又は２記載の情報処理システム。
【請求項４】
前記パス情報は、第１のファームウェアが格納されているフォルダ名を含み、前記フォルダ名は、第１のファームウェアとは異なる第２のファームウェアが格納されている他のフォルダ名と入れ替えることができる請求項３記載の情報処理システム。
【請求項５】
前記仲介装置は、
前記ファームウェアの更新結果を取得し、前記サーバに通知する通知部をさらに有する請求項１記載の情報処理システム。
【請求項６】
前記通知部は、前記ファームウェアの更新結果に基づいて、前記仲介装置が備えるＬＥＤの点灯又は前記記憶装置へのログの出力を行う請求項５記載の情報処理システム。
【請求項７】
前記仲介装置は、
前記実行部が前記仲介装置を起動するとき、起動開始からの時間を計測して、所定の時間以内に前記仲介装置が起動完了しない場合、起動失敗と判断するタイマ部をさらに有する請求項１記載の情報処理システム。
【請求項８】
前記仲介装置は、
前記記憶装置の耐久値を測定する測定部をさらに有し、
前記受信部が前記ファームウェアを前記記憶装置に記憶させているとき、前記耐久値が一定値を超えた場合、前記測定部は、前記ファームウェアの更新を中止させ、前記ファームウェアの更新結果を失敗とする請求項１記載の情報処理システム。
【請求項９】
サーバと、前記サーバとファイアウォールを介して通信を行う仲介装置と、前記仲介装置を介して前記サーバと通信を行う機器とを含む情報処理方法であって、
前記サーバは、
前記仲介装置のファームウェアを前記仲介装置に送信する送信手順を実行し、
前記仲介装置は、
前記サーバから前記ファームウェアを受信して記憶装置に記憶させる受信手順と、
前記ファームウェアを含む複数のファームウェアのうち、いずれのファームウェアで起動するかを決定する決定手順と、
前記起動すると決定されたファームウェアを前記記憶装置に展開せずに、前記起動すると決定されたファームウェアを前記記憶装置に記憶された状態で実行して前記仲介装置を起動する実行手順とを実行する情報処理方法。
【請求項１０】
サーバと、前記サーバとファイアウォールを介して通信を行う仲介装置と、前記仲介装置を介して前記サーバと通信を行う機器とを含む情報処理システムであって、
前記仲介装置のファームウェアを前記仲介装置に送信する送信部と、
前記サーバから前記ファームウェアを受信して記憶装置に記憶させる受信部と、
前記ファームウェアを含む複数のファームウェアのうち、いずれのファームウェアで起動するかを決定する決定部と、
前記起動すると決定されたファームウェアを前記記憶装置に展開せずに、前記起動すると決定されたファームウェアを前記記憶装置に記憶された状態で実行して前記仲介装置を起動する実行部とを有する情報処理システム。
【請求項１１】
サーバと、前記サーバとファイアウォールを介して通信を行う仲介装置で実行可能なプログラムと、前記仲介装置を介して前記サーバと通信を行う機器とを含む情報処理システムであって、
前記サーバは、
前記仲介装置のファームウェアを前記仲介装置に送信する送信部を有し、
前記プログラムは、
前記サーバから前記ファームウェアを受信して記憶装置に記憶させる受信手順と、
前記ファームウェアを含む複数のファームウェアのうち、いずれのファームウェアで起動するかを決定する決定手順と、
前記起動すると決定されたファームウェアを前記記憶装置に展開せずに、前記起動すると決定されたファームウェアを前記記憶装置に記憶された状態で実行して前記仲介装置を起動する実行手順とを前記仲介装置に実行させる情報処理システム。
【請求項１２】
サーバと接続される情報処理装置であって、
前記サーバからファームウェアを受信して記憶装置に記憶させる受信部と、
前記ファームウェアを含む複数のファームウェアのうち、いずれのファームウェアで起動するかを決定する決定部と、
前記起動すると決定されたファームウェアを前記記憶装置に展開せずに、前記起動すると決定されたファームウェアを前記記憶装置に記憶された状態で実行して前記情報処理装置を起動する実行部とを有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法、プログラム及び情報処理装置に関する。
【背景技術】
【０００２】
ＩｏＴ（Internet of Things）といわれる、インターネットを介して相互に接続される自動認識、自動制御又は遠隔測定等のコンピュータシステムは、ＯＡ（Office Automation）、ＦＡ（Factory Automation）、産業機器、ヘルスケア又は医療機器等に適用されている。このようなコンピュータシステムの増え続けるデバイスの管理を実現するためのネットワーク監視ソリューションとして、機器情報を収集する機器監視システムが知られている。この機器監視システムは、従来はオンプレミスとして限定的なイントラネット環境で運用されていたが、クラウドコンピューティングサービス又はウェブサービスの発達とＩｏＴの普及と共に、情報収集用のサーバをクラウド上に配置して情報を蓄積する構成も普及し始めている。情報収集サーバをクラウド上に配置する場合、イントラネット側にプロキシ機能を備えた仲介装置を配置することで、イントラネット内に配置されている情報収集対象端末と情報収集サーバとの通信を効率化できる。この仲介装置は、仲介装置自身のファームウェア更新に際して、更新前のプログラムの複製を保存して、プログラムの更新処理を実行することにより更新プログラムを生成し、更新プログラムの起動の成否を判定し、起動に失敗しているときに、保存されている更新前のプログラムを起動対象とすることにより、プログラムの更新処理を適切に実行することが知られている（例えば特許文献１）。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来のファームウェアアップデートシステムでは、仲介装置のストレージであるＳＤカードに対して読み書きを行う場合、読み書き速度が相対的に遅いため、ファイルシステムが壊れやすいという問題があった。ＳＤカードは、Ｗｉｎｄｏｗｓ（登録商標）ＯＳ（Operating System）で使用できるＦＡＴ（File Allocation Table）が使われる。しかしながら、ＦＡＴはジャーナリング機能を持たず、不意の電源断で破損してしまうことがある。可能な限り読み書き中の電源断の確率を抑えたいが、読み書き速度が相対的に遅いため、ファームウェアのようなサイズの大きなファイルを定常的に読み書きするとディスクアクセス時間が増大し、破損の確率が高くなってしまうという問題があった。
【０００４】
本発明は、上記の点に鑑みてなされたものであって、ファームウェアを更新するとき、ディスク書き込み量を減少させて、ファイルシステムの破損の確率を低減させることを目的とする。
【課題を解決するための手段】
【０００５】
そこで上記課題を解決するため、情報処理システムは、サーバと、前記サーバとファイアウォールを介して通信を行う仲介装置と、前記仲介装置を介して前記サーバと通信を行う機器とを含み、前記サーバは、前記仲介装置のファームウェアを前記仲介装置に送信する送信部を有し、前記仲介装置は、前記サーバから前記ファームウェアを受信して記憶装置に記憶させる受信部と、前記ファームウェアを含む複数のファームウェアのうち、いずれのファームウェアで起動するかを決定する決定部と、前記起動すると決定されたファームウェアを前記記憶装置に展開せずに、前記起動すると決定されたファームウェアを前記記憶装置に記憶された状態で実行して前記仲介装置を起動する実行部とを有する。
【発明の効果】
【０００６】
ファームウェアを更新するとき、ディスク書き込み量を減少させて、ファイルシステムの破損の確率を低減させることができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施の形態における情報処理システム１０００の構成例を示す図である。
【図２】本発明の実施の形態における仲介装置１００のハードウェア構成例を示す図である。
【図３】本発明の実施の形態における情報処理システム１０００の機能構成例を示す図である。
【図４】本発明の実施の形態におけるファームウェア更新の手順を説明するためのシーケンス図である。
【図５】本発明の実施の形態におけるフラグファイルの定義の一例を示す図である。
【図６】仲介装置１００の補助記憶装置１００４のファイル配置の一例を示す図である。
【図７】本発明の実施の形態における仲介装置１００の補助記憶装置１００４のＳＤカードのファイル配置の一例を示す図である。
【図８】情報処理システム１０００の他の構成例を示す図である。
【発明を実施するための形態】
【０００８】
以下、図面に基づいて本発明の実施の形態を説明する。
【０００９】
図１は、本発明の実施の形態における情報処理システム１０００の構成例を示す図である。図１に示されるように、情報処理システム１０００は、構内網へのリモートアクセスサービスを提供すると共に、仲介装置１００のリモートファームウェア更新（ＲＦＵ）機能を備える。また、図１に示されるように、情報処理システム１０００は、仲介装置１００及びサーバ２００を含み、構内網は、仲介装置１００及びルータ及びファイアウォール３０４、リモートアクセスの対象デバイス群である電源装置３０１、プロジェクタ３０２及びサーバ３０３を含む。サーバ（外部アプリケーション）３０５は、サーバ２００と通信を行いリモートアクセスを行う。また、図１に示されるように、構内網とクラウド上に構築したセンターシステムとの通信は、インターネットを介して行われ、オペレータは、情報処理システム１０００を利用して、構内網にリモートアクセスするユーザを示す。
【００１０】
仲介装置１００は、リモートアクセスの対象デバイス群である電源装置３０１、プロジェクタ３０２及びサーバ３０３と、サーバ２００又はサーバ（外部アプリケーション）３０５との通信を中継し、外部ネットワークから構内網へのリモートアクセスを実現する。例えば、仲介装置１００は、ＰＣ（Personal Computer）又は小型の専用端末であるアプライアンスボックス上で動作する。
【００１１】
サーバ２００は、仲介装置１００と通信することにより、リモートアクセスの対象デバイス群へのリモートアクセスサービスを実現し、また、仲介装置１００のリモートファームウェア更新機能を有するサーバコンピュータである。また、サーバ２００は、ＷｅｂＡＰＩ（Web Application Programming Interface）を備える。
【００１２】
電源装置３０１、プロジェクタ３０２及びサーバ３０３は、構内網に設置され、外部ネットワークからのリモートアクセスの対象となるデバイス群であり、当該リモートアクセスにより、ログ収集による被監視機能、コマンドの受信による制御機能又はデバイスに内蔵されたセンサによる検知結果の報告機能等を実現する。
【００１３】
ルータ及びファイアウォール３０４は、仲介装置１００とサーバ２００との通信を中継するルータであり、ファイアウォール機能も有する。
【００１４】
サーバ（外部アプリケーション）３０５は、サーバコンピュータであり、サーバ２００と通信して構内網へのリモートアクセスを行う外部アプリケーションが動作している。
【００１５】
図２は、本発明の実施の形態における仲介装置１００のハードウェア構成例を示す図である。図２の仲介装置１００は、それぞれ相互に接続されているＣＰＵ（Central Processing Unit）１００１、ネットワークインタフェース１００２、入出力インタフェース１００３、補助記憶装置１００４及びメモリ装置１００５等を有する。
【００１６】
仲介装置１００での処理を実現するプログラムは、補助記憶装置１００４に格納される。補助記憶装置１００４は、インストールされたプログラムを格納すると共に、必要なファイル及びデータ等を格納する。補助記憶装置１００４は、Ｆｌａｓｈメモリ、外部記憶媒体であるメモリカード等を含む。
【００１７】
メモリ装置１００５は、プログラムの起動指示があった場合に、補助記憶装置１００４からプログラムを読み出して格納する。ＣＰＵ１００１は、メモリ装置１００５に格納されたプログラムに従って仲介装置１００に係る機能を実現する。
【００１８】
ネットワークインタフェース１００２は、ポートに接続される機器と通信を行うためのインタフェースである。ポートは、有線ＬＡＮポートであってもよいし、他の通信方式を使用するポートであってもよい。
【００１９】
入出力インタフェース１００３は、ＵＳＢ（Universal Serial Bus）機器、ハードウェアキー、状態通知用ＬＥＤ（Light Emitting Diode）、液晶ディスプレイ等の様々な入出力装置との接続を行うためのインタフェースである。
【００２０】
なお、サーバ２００、電源装置３０１、プロジェクタ３０２、サーバ３０３、ルータ及びファイアウォール３０４及びサーバ（外部アプリケーション）３０５も図２と同様のハードウェア構成を有していてもよい。
【００２１】
図３は、本発明の実施の形態における情報処理システム１０００の機能構成例を示す図である。図３に示されるように、情報処理システム１０００は、仲介装置１００及びサーバ２００からなる機能構成を有する。
【００２２】
図３に示されるように、仲介装置１００は、起動部１１、選択部１２、更新部１３、通知部１４、通信部１５、タイマ１６及び測定部１７を有する。これら各部は、仲介装置１００にインストールされた１以上のプログラムがＣＰＵ１００１に実行させる処理により実現される。また、記憶部１８は、補助記憶装置１００４又はメモリ装置１００５等を用いて実現可能である。
【００２３】
起動部１１は、仲介装置１００を起動させる。選択部１２は、ファームウェアを更新するとき、起動するファームウェアを選択する。更新部１３は、ファームウェア更新手順を開始し、サーバ２００から受信したファームウェアの妥当性を確認して、記憶部１８に書き込む。通知部１４は、ファームウェア更新結果をサーバ２００へ通知する。通信部１５は、サーバ２００との通信を実行する。タイマ１６は、所定の時間を計測し、所定の時刻に仲介装置１００の処理をトリガする。例えば、タイマ１６は、仲介装置１００が再起動後に時間を計測開始し、所定の時間以内に仲介装置１００が起動完了しない場合、仲介装置１００は起動に失敗したと判断してもよい。測定部１７は、記憶部１８のうち、所定の補助記憶装置の耐久値を測定する。例えば、耐久値は、当該補助記憶装置の総書き込み回数に基づいて測定され、ファームウェア更新中も並行して測定されてもよい。また、ファームウェア更新中に耐久値が所定の値を超えた場合、測定部１７は、実行中のファームウェア更新を中止し、ファームウェア更新結果を失敗としてもよい。記憶部１８は、サーバ２００からダウンロードしたファームウェアを記憶する。また、記憶部１８は、ファームウェア及びファームウェア更新時に参照されるフラグファイルを記憶する。
【００２４】
図３に示されるように、サーバ２００は、制御部２１、通信部２２及び記憶部２３を有する。制御部２１及び通信部２２は、サーバ２００にインストールされた１以上のプログラムがＣＰＵ１００１に実行させる処理により実現される。また、記憶部２３は、補助記憶装置１００４又はメモリ装置１００５等を用いて実現可能である。
【００２５】
制御部２１は、リモートファームウェア更新に係る制御を実行する。通信部２２は、仲介装置１００との通信を実行する。記憶部２３は、仲介装置１００を更新するファームウェアを記憶する。
【００２６】
図４は、本発明の実施の形態におけるファームウェア更新の手順を説明するためのシーケンス図である。
【００２７】
ステップＳ１０１において、更新部１３は、ファームウェア更新開始を通信部１５に通知する。当該ファームウェア更新開始のトリガは、サーバ２００からの指示であってもよいし、タイマ１６により定期的に実行される最新ファームウェアの有無を確認した結果によるものであってもよい。続いて、通信部１５は、ファームウェアダウンロードの要求を通信部２２に送信する（Ｓ１０２）。ステップＳ１０２では、仲介装置１００は、サーバ２００にファームウェアダウンロードを要求しているが、構内網に設置されているサーバにファームウェアダウンロードを要求してもよい。
【００２８】
ステップＳ１０３において、通信部２２は、ファームウェアダウンロードの要求を制御部２１に通知する。続いて、制御部２１は、記憶部２３からファームウェアを取得し（Ｓ１０４）、通信部２２に当該ファームウェアを送信する（Ｓ１０５）。続いて、通信部２２は、当該ファームウェアを通信部１５に送信する（Ｓ１０６）。
【００２９】
ステップＳ１０７において、通信部１５は、受信したファームウェアを更新部１３に送信する。ステップＳ１０８において、更新部１３は、当該ファームウェアの妥当性を確認する。妥当性の確認は、例えば、ファイルのチェックサムを確認する方法、ファームウェアに付加された証明書（暗号鍵、発行元情報等を含む）を照合する方法等に基づいて実行される。更新部１３は、妥当性の確認に失敗した場合、ファームウェア更新のシーケンスを中断してもよい。
【００３０】
ステップＳ１０９において、更新部１３は、ファームウェア更新中であることを示すフラグファイルを生成する。当該フラグファイルは、例えば、ｆｗｕｐｄａｔｅ．ｌｏｃｋというファイル名であってもよい。図５は、本発明の実施の形態におけるフラグファイルの定義の一例を示す図である。図５に示されるように、「仲介装置起動時におけるフラグファイルの状態」に基づいて、「選択部１２の判断結果」及び「起動するファームウェア」が定義される。フラグファイルの状態が、「フラグファイルなし（フラグファイル自体が存在しない）」である場合、選択部１２は、ファームウェア更新不要と判断して、既存ファームウェアで起動させる。フラグファイルの状態が、「０」である場合、選択部１２は、ファームウェア更新１回目と判断して、新規ファームウェアで起動させる。フラグファイルの状態が、「１」である場合、新規ファームウェアの起動は失敗でありロールバックが必要と判断し、既存ファームウェアで起動させる。フラグファイルの状態が、「２」である場合、ロールバックに失敗と判断し、ファームウェアによる起動は行わない。
【００３１】
すなわち、更新部１３は、ファームウェアをダウンロードした直後の再起動前にはフラグファイルの状態を「０」とし、ダウンロードしたファームウェアの起動に失敗した場合、フラグファイルの状態を「１」とし、ロールバックした既存ファームウェアの起動に失敗した場合、フラグファイルの状態を「２」とする。したがって、フラグファイルにより、ファームウェアが更新中であること及びファームウェアの起動履歴が示され、状況に応じた適切なファームウェアを再起動後に選択することができる。また、フラグファイルにより、図５に示されるように、ファームウェア更新に失敗した場合、既存ファームウェアを起動する選択をすることでロールバックが可能であり、さらにロールバックにも失敗した場合は、ファームウェア更新の冗長なリトライを避けるために、システムを停止することができる。
【００３２】
図４に戻る。ステップＳ１１０において、更新部１３は、妥当性の確認されたファームウェア及びフラグファイルを、記憶部１８に書き込む。図６は、仲介装置１００の補助記憶装置内ファイル配置の一例を示す図である。図６に示されるように、仲介装置の補助記憶装置１００４には、ＮＯＲ  Ｆｌａｓｈメモリ、ＳＤカード１及びＳＤカード２が含まれる。図６に示される例では、ＮＯＲ  Ｆｌａｓｈメモリは４ＭＢの容量を有し、パーティション０、パーティション１、パーティション２、パーティション３及びreserve領域から構成される。パーティション０には、Ｕ−Ｂｏｏｔというブートローダが格納される。パーティション１及びパーティション２には、Ｕ−Ｂｏｏｔ環境変数がそれぞれ格納される。Ｕ−Ｂｏｏｔ環境変数は、起動時に参照される環境変数であり、書き込みされることもあるため、二重化されている。パーティション３には、アプリデータが格納されており、ファイルシステムは、ＪＦＦＳ２（Journaling Flash File System version 2）が採用されている。ｒｅｓｅｒｖｅ領域は、データの未割り当て領域である。
【００３３】
図６に示される例では、ＳＤカード１は２ＧＢの容量を有し、ルートにフォルダ／ｓｔｏｒｅ１及びフォルダ／ｓｔｏｒｅ２が作成されている。フォルダ／ｓｔｏｒｅ１及びフォルダ／ｓｔｏｒｅ２には、それぞれ「ｒｏｏｔｆｓ．ｉｍｇ」「ｉｎｉｔｒｄ．ｉｍｇ」「ｕｌｍａｇｅ」というファイル名を有するシステムファームウェアが格納されている。フォルダ／ｓｔｏｒｅ１には、既存ファームウェアが、フォルダ／ｓｔｏｒｅ２には、新規ファームウェアが格納されてもよい。また、フォルダ／ｓｔｏｒｅ２の新規ファームウェアは、ＳＤカード２に配置されてもよい。なお、ＳＤカードのファイルシステムは、ＳＤカード容量が２ＧＢ時の標準フォーマットであるＦＡＴ１６を使用するが、ＳＤカード容量が４ＧＢ以上の場合は、ＦＡＴ３２を使用してもよい。
【００３４】
図７は、本発明の実施の形態における仲介装置１００の補助記憶装置内ファイル配置の一例を示す図である。図７に示されるように、フォルダ／ｓｔｏｒｅ１には、「ａｐｐ．ｉｍｇ」、「ｒｏｏｔｆｓ．ｉｍｇ」、「ｕＩｍａｇｅ」が格納されている。「ａｐｐ．ｉｍｇ」は、アプリケーション部である。「ｒｏｏｔｆｓ．ｉｍｇ」は、ルートファイルシステムである。「ｕＩｍａｇｅ」は、カーネルイメージファイルである。フォルダ／ｓｔｏｒｅ２は、フォルダ／ｓｔｏｒｅ１と同一のファイル構成を有する。フォルダ／ｓｔｏｒｅ１は、既存ファームウェアが格納されている。図４に示されるステップＳ１１０における記憶部１８への書き込みによって、フォルダ／ｓｔｏｒｅ２には新規ファームウェアが格納され、フラグファイルである「ｆｗｕｐｄａｔｅ．ｌｏｃｋ」はＳＤカードのルートに格納される。なお、フォルダ／ｓｔｏｒｅ１には、既存ファームウェアが格納されている。
【００３５】
図４に戻る。ステップＳ１１０において、新規ファームウェア及びフラグファイルの記憶部１８への書き込みが完了した後、更新部１３は、再起動要求を起動部１１に通知する（Ｓ１１１）。ステップＳ１１２において、起動部１１は、仲介装置１００を再起動させ、再起動開始を選択部１２へ通知する。ステップＳ１１３において、選択部１２は、記憶部１８に記憶されているフラグファイルを参照し、起動パスを動的に選択する（Ｓ１１４）。すなわち、図５に示される「起動するファームウェア」のように、既存ファームウェア又は新規ファームウェアを指定するための起動パスが、フラグファイルに基づいた選択部１２の判断結果により選択される。当該起動パスの選択には、例えば、２つの起動パス情報をＵ−Ｂｏｏｔ環境変数に記憶しておき、２つの起動パスをトグルする方法で切り替えてもよい。また、ファームウェアが格納されているフォルダ名を入れ替える方法で切り替えてもよい。このような方法により、起動用のストレージエリアを固定しないようにすることで、ストレージエリアを固定した場合に比べ、起動パスを切り替えるときのストレージ内のコピー処理は減少する。すなわち、当該機能により、ストレージ、すなわち、Ｆｌａｓｈメモリ又はＳＤカードへの書き込み量を減少させることができる。
【００３６】
なお、ステップＳ１１３において、フラグファイルが存在しなかった場合は、選択部１２は、起動部１１に制御を移し、既存ファームウェアによって仲介装置１００を通常起動してもよい。
【００３７】
続いて、選択部１２は、選択結果を更新部１３に通知する（Ｓ１１５）。続いて、更新部１３は、選択されたファームウェアを起動する（Ｓ１１６）。ステップＳ１１６において、記憶部１８のＳＤカードに記憶されているファームウェアの起動に関して、当該ファームウェアの当該ＳＤカード内への展開は不要であり、更新部１３は、当該ファームウェアが記憶された形式のまま、システム起動を可能とする機能を有する。当該機能により、ＳＤカードへの書き込み量を減少させることができる。
【００３８】
ステップＳ１１７において、更新部１３は、仲介装置１００の再起動が完了すると、再起動完了を通知部１４に通知する。続いて、通知部１４は、ファームウェア更新結果を通信部１５に通知する（Ｓ１１８）。続いて、通信部１５は、ファームウェア更新結果を通信部２２に送信する（Ｓ１１９）。続いて、通信部２２は、ファームウェア更新結果を制御部２１に通知する（Ｓ１２０）。当該ファームウェア更新結果の受信により、サーバ２００は、仲介装置１００で実行されたファームウェア更新結果を把握することができ、情報処理システム１０００の保守を行うことができる。以上の手順で、ファームウェア更新が完了する。
【００３９】
なお、ファームウェア更新に失敗し、仲介装置１００の起動にも失敗した場合は、仲介装置１００は、サーバ２００にファームウェア更新結果を送信できない可能性がある。そこで、予めファームウェア更新が失敗したときに限定された動作を可能にする起動領域を確保しておき、当該起動領域をＣＰＵ１００１が実行することにより、例えば、入出力インタフェース１００３に接続されたＬＥＤの点灯による通知、又は補助記憶装置１００４にログ出力等を行って、ファームウェア更新結果を判別できるようにしてもよい。
【００４０】
上述したように、本発明の実施の形態によれば、ファームウェア更新時に、フラグファイルを参照し、起動パスを切り替えることで、起動用のストレージエリアが固定されないようにすることができる。また、ＳＤカードに記憶されたファームウェアを、当該ＳＤカード内に展開することなく、当該ファームウェアが記憶された形式のままシステム起動することができる。したがって、ファームウェアを更新するとき、ディスク書き込み量を減少させて、ファイルシステムの破損の確率を低減させることができる。
【００４１】
なお、情報処理システム１０００の構成は、図１に示したものに限定されない。例えば、当該情報処理システム１０００に含まれる監視制御対象の機器は、電源装置３０１、プロジェクタ３０２及びサーバ３０３に限られない。機器は、ネットワーク家電、自動販売機、医療機器、産業機械、電源装置、３Ｄプリンタ、空調システム、ガス・水道・電気等の計量システム等に通信機能を持たせた機器であってもよい。例えば、産業機械としては、加工装置、検査装置、搬送装置、ピッキング装置等が挙げられる。また、これら機器の周辺に設置され機器の状態を把握するための撮像装置又は集音装置が情報処理システム１０００に含まれてもよい。産業機械は、当該機器の識別情報、当該機器の稼働状況又は異常動作の有無、消耗品の交換時期に関する情報、当該機器による検査結果等を、数値データ、テキストデータ又は画像データ等の種々のデータ形式を用いて仲介装置１００を経由してサーバ（外部アプリケーション）３０５に送信する。また、例えば、医療機器としては、眼底検査装置、Ｘ線検査装置、血圧計、体脂肪計、視力計、ペースメーカ等が挙げられる。医療機器は、当該機器の識別情報、当該機器の稼働状況又は異常動作の有無、当該機器による測定結果等を、数値データ、テキストデータ又は画像データ等の種々のデータ形式を用いて仲介装置１００を経由してサーバ（外部アプリケーション）３０５に送信する。また、３Ｄプリンタは、造形方式として、材料押出堆積法（ＦＤＭ（Fused Deposition Modeling））、マテリアルジェッティング、バインダジェッティング、粉末焼結積層造形（ＳＬＳ（Selective Laser Sintering））、光造形法（ＳＬＡ（Stereolithography））等を採用する。３Ｄプリンタは、当該機器の識別情報、当該機器の稼働状況、異常動作の有無又は当該機器に装着された消耗品の状態等を、数値データ、テキストデータ又は画像データ等の種々のデータ形式を用いて仲介装置１００を経由してサーバ（外部アプリケーション）３０５に送信する。
【００４２】
図８は、情報処理システム１０００の他の構成例を示す図である。図８において、情報処理システム１０００は、施設Ａ１０９１及び施設Ｂ１０９２、ファイアウォール１０９３及びファイアウォール１０９４、インターネット１０９５を含む。ＰＣ（アプリ）１０８９又はＰＣ（アプリ）１０９０は、パーソナルコンピュータ等の情報処理装置であって、リモートアクセスを行うアプリケーション（アプリ）が動作しており、施設１０９１又は施設１０９２に設置された機器の情報を取得して、監視又は制御を行う機能を有する。施設Ａ１０９１は、仲介装置１０８０、産業機械１０８１、撮像装置１０８２、集音装置１０８３を含む。仲介装置１０８０は、有線又は無線ＬＡＮ等を介して産業機械１０８１、撮像装置１０８２、集音装置１０８３と通信可能である。また、仲介装置１０８０はファイアウォール１０９３及びサーバ１０８８を経由してインターネット１０９５上にあるＰＣ（アプリ）１０８９又はＰＣ（アプリ）１０９０と通信可能である。なお、仲介装置１０８０は、サーバ１０８８を介さずに直接ＰＣ（アプリ）１０８９又はＰＣ（アプリ）１０９０と通信してもよい。施設１０９２は、仲介装置機能付き機器１０８４、医療機器１０８５、ネットワーク家電１０８６、自動販売機１０８７を含む。仲介装置機能付き機器１０８４は、仲介装置の機能に加えて監視又は制御される機器としての機能も併せ持つ機器である。仲介装置機能付き機器１０８４は、有線又は無線ＬＡＮ等を介して医療機器１０８５、ネットワーク家電１０８６、自動販売機１０８７と通信可能である。また仲介装置機能付き機器１０８４は、ファイアウォール１０９４を経由してインターネット１０９５上にあるサーバ１０８８、ＰＣ（アプリ）１０８９又はＰＣ（アプリ）１０９０と通信可能である。なお、仲介装置１０８０、仲介装置機能付き機器１０８４、ＰＣ（アプリ）１０８９、ＰＣ（アプリ）１０９０又はサーバ１０８８は、それぞれ複数のサーバコンピュータ等の情報処理装置から構成されてもよい。
【００４３】
なお、仲介装置１００、サーバ２００及びサーバ（外部アプリケーション）３０５は、複数のサーバコンピュータ等の情報処理装置によって構成されるシステムであってもよい。
【００４４】
なお、本発明の実施の形態において、ルータ及びファイアウォール３０４は、ファイアウォールの一例である。電源装置３０１、プロジェクタ３０２又はサーバ３０３は、機器の一例である。通信部２２は、送信部の一例である。通信部１５及び更新部１３は、受信部の一例である。補助記憶装置１００４は、記憶装置の一例である。選択部１２は、決定部の一例である。更新部１３は、実行部の一例である。更新部１３は、生成部の一例である。フラグファイルは、ファームウェアが更新中であること及びファームウェアの起動履歴を含む情報の一例である。タイマ１６は、タイマ部の一例である。
【００４５】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００４６】
１０００      情報処理システム
１００        仲介装置
２００        サーバ
３０１        電源装置
３０２        プロジェクタ
３０３        サーバ
３０４        ルータ及びファイアウォール
３０５        サーバ（外部アプリケーション）
１００１      ＣＰＵ
１００２      ネットワークインタフェース
１００３      入出力インタフェース
１００４      補助記憶装置
１００５      メモリ装置
１１          起動部
１２          選択部
１３          更新部
１４          通知部
１５          通信部
１６          タイマ
１７          測定部
１８          記憶部
２１          制御部
２２          通信部
２３          記憶部
１０８１      産業機械
１０８２      撮像装置
１０８３      集音装置
１０８４      仲介装置機能付き機器
１０８５      医療機器
１０８６      ネットワーク家電
１０８７      自動販売機
１０８８      サーバ
１０８９      ＰＣ（アプリ）
１０９０      ＰＣ（アプリ）
１０９１      施設Ａ
１０９２      施設Ｂ
１０９３      ファイアウォール
１０９４      ファイアウォール
【先行技術文献】
【特許文献】
【００４７】
【特許文献１】特開２００８−０８４３０４号公報
【図１】
2018180792.tif 000003
【図２】
2018180792.tif 000004
【図３】
2018180792.tif 000005
【図４】
2018180792.tif 000006
【図５】
2018180792.tif 000007
【図６】
2018180792.tif 000008
【図７】
2018180792.tif 000009
【図８】
2018180792.tif 000010