(57)【要約】【課題】ファームウェアの更新において、誤動作を発生しにくくなる下位装置を提供する。【解決手段】下位装置は、動作単位と、動作単位間の接続関係を示すリンクとにより規定された動作情報を含む指示情報を上位装置から受信する受信部と、少なくとも、自装置の基本動作を規定し、部分書き換え不可能な領域である基礎オペレーティングシステム層と、動作情報を記憶し、部分書き換え可能な領域である動作規定層と、を含む複数の階層からなるファームウェアと、を備える。【選択図】図１
2019091125.tif 000002
【特許請求の範囲】
【請求項１】
動作単位と、動作単位間の接続関係を示すリンクとにより規定された動作情報を含む指示情報を上位装置から受信する受信部と、
少なくとも、自装置の基本動作を規定し、部分書き換え不可能な領域である基礎オペレーティングシステム層と、前記動作情報を記憶し、部分書き換え可能な領域である動作規定層と、を含む複数の階層からなるファームウェアと、を備える下位装置。
【請求項２】
前記複数の階層は、
前記下位装置の運用態様を示す前記動作単位の基礎を示す基礎動作を規定するエージェント層を更に含む
ことを特徴とする請求項１に記載の下位装置。
【請求項３】
前記下位装置は、
前記受信部が新たな指示情報を受信すると、前記新たな指示情報で示される動作情報を用いて前記動作規定層を更新する更新部を更に備える
ことを特徴とする請求項１又は２に記載の下位装置。
【請求項４】
動作単位と動作単位間の接続関係を示すリンクとにより規定された動作情報を含む指示情報を、上位装置から受信し、当該動作情報に従って動作する下位装置のファームウェアであって、
少なくとも、
前記下位装置の基本動作を規定し、部分書き換え不可能な領域である基礎オペレーティングシステム層と、
前記動作情報を記憶する、部分書き換え可能な領域である動作規定層と、を含む
ファームウェア。
【請求項５】
前記複数の階層は、
前記システムにおける前記下位装置の運用態様を示す前記動作単位の基礎を示す基礎動作を規定するエージェント層を更に含む
ことを特徴とする請求項４に記載のファームウェア。
【請求項６】
下位装置におけるファームウェアの更新方法であって、
動作単位と、動作単位間の接続関係を示すリンクとにより規定された動作情報を含む指示情報を上位装置から受信する受信ステップと、
少なくとも、自装置の基本動作を規定し、部分書き換え不可能な領域である基礎オペレーティングシステム層と、前記動作情報を記憶し、部分書き換え可能な領域である動作規定層と、を含む複数の階層からなるファームウェアのうち、前記動作規定層のみを前記受信ステップにおいて受信した動作情報を用いて更新する更新ステップとを含む更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位装置からの指示に従って動作する下位装置のファームウェアに関する。
【背景技術】
【０００２】
従来、各種機器のファームウェアについては、当該機器の動作を規定するものとして、通常書き換えができないように構成されている。このとき、機器の性能向上や問題改善のために、ファームウェアのバージョンアップを行うことがあるが、その場合には、ファームウェアを丸ごと更新する。特許文献１には、ファームウェアの更新において、ファームウェアを複数のブロックに分割して、更新対象の機器に送信することが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２１５７９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、従来ファームウェアを更新する場合には、上述のように丸ごと更新する必要があるため、機器そのものの本来動作を止めたうえで、実行しなければならなかった。そのため、ファームウェアの更新期間中は、機器に期待されている本来実行すべき処理を実行できないという問題があった。また、機器として、小容量、低性能の機器を用いている場合には、大容量、高性能の機器に比して単位時間当たりの処理量が少ないため、ファームウェアの更新のための時間を要し、本来業務を実行できない時間が長くなるという問題もある。さらに、仮に、ファームウェアの更新を複数の機器に対して一斉に行ったとすると、ファームウェアにエラーがあった場合には、ファームウェアの更新後の複数の機器が正常に動作しなくなるという問題があった。
【０００５】
そこで、本発明は、上記問題に鑑みて成されたものであり、上位装置からの指示に従って動作する下位装置において、上述のような誤動作が発生しにくい下位装置、及びそのファームウェアを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述の課題を解決すべく、本発明の一態様に係る動作単位と、動作単位間の接続関係を示すリンクとにより規定された動作情報を含む指示情報を上位装置から受信する受信部と、少なくとも、自装置の基本動作を規定し、部分書き換え不可能な領域である基礎オペレーティングシステム層と、動作情報を記憶し、部分書き換え可能な領域である動作規定層と、を含む複数の階層からなるファームウェアと、を備える。
【０００７】
また、上記下位装置において、複数の階層は、下位装置の運用態様を示す動作単位の基礎を示す基礎動作を規定するエージェント層を更に含むこととしてもよい。
【０００８】
また、上記下位装置において、下位装置は、受信部が新たな指示情報を受信すると、新たな指示情報で示される動作情報を用いて動作規定層を更新する更新部を更に備えることとしてもよい。
【０００９】
また、本発明の一態様に係るファームウェアは、動作単位と動作単位間の接続関係を示すリンクとにより規定された動作情報を含む指示情報を、上位装置から受信し、当該動作情報に従って動作する下位装置のファームウェアであって、少なくとも、下位装置の基本動作を規定し、部分書き換え不可能な領域である基礎オペレーティングシステム層と、動作情報を記憶する、部分書き換え可能な領域である動作規定層と、を含むこととしてもよい。
【００１０】
また、上記ファームウェアにおいて、複数の階層は、システムにおける下位装置の運用態様を示す動作単位の基礎を示す基礎動作を規定するエージェント層を更に含むこととしてもよい。
【００１１】
また、本発明の一態様に係る更新方法は、下位装置におけるファームウェアの更新方法であって、動作単位と、動作単位間の接続関係を示すリンクとにより規定された動作情報を含む指示情報を上位装置から受信する受信ステップと、少なくとも、自装置の基本動作を規定し、部分書き換え不可能な領域である基礎オペレーティングシステム層と、動作情報を記憶し、部分書き換え可能な領域である動作規定層と、を含む複数の階層からなるファームウェアのうち、動作規定層のみを受信ステップにおいて受信した動作情報を用いて更新する更新ステップとを含む。
【発明の効果】
【００１２】
本発明に係る下位装置によれば、そのファームウェアが少なくとも部分書き換え可能な動作規定層と、部分書き換え不可能な基礎オペレーティングシステム層とに分けられていることにより、動作規定層だけでの書き換えが可能となり、下位装置の基本動作には影響を与えないので、下位装置においてファームウェアを更新しても誤動作しにくくなる。
【図面の簡単な説明】
【００１３】
【図１】下位装置を含む機器管理システムの構成例を示すシステム図である。
【図２】上位装置において動作情報を生成するためのユーザインターフェースの画面例を示す図である。
【図３】下位装置の動作例を示すフローチャートである。
【図４】下位装置の別構成例を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、本発明に係る下位装置及びそのファームウェアについて、図面を参照しながら、詳細に説明する。
【００１５】
＜実施の形態＞
＜構成＞
本発明に係るファームウェアは、図１に示すように上位装置１００と、下位装置２００とからなるシステムにおける下位装置２００において用いられるファームウェア２３１である。ここでは、当該システムを、機器管理システム１と呼称する。機器管理システム１において、上位装置１００は、各下位装置２００を管理する。当該管理の一環として、上位装置１００は、下位装置２００のファームウェア２３１の全部の更新（書き換え）、あるいは、一部の更新（書き換え）を指示することができる。当該指示は、上位装置１００のオペレータからの入力に基づくものであってもよいし、プログラムによる自動的な指示であってもよい。
【００１６】
機器管理システム１は、例えば、工場における各種機器の管理システムであったり、セキュリティシステムであったり、ユーザの所在管理システムであったり、ホームネットワークシステムであったりしてよい。
【００１７】
機器管理システム１が、工場における各種機器の管理システムである場合には、上位装置１００としては、下位装置２００を管理するコンピュータであり、下位装置２００は、工場に配された当該工場における作業を行うための作業機械や、作業機械や人員を管理するためのセンサ類であってよい。
【００１８】
機器管理システム１が、セキュリティシステムである場合には、上位装置１００としては、下位装置２００を管理するコンピュータであり、下位装置２００は、セキュリティ管理を実現するための各種のセンサ（例えば、人感センサ、イメージセンサなど）であってよい。
【００１９】
また、機器管理システム１が、所在管理システムである場合には、上位装置１００としては、下位装置２００から情報を収集するサーバであり、下位装置２００は、例えば、ユーザが保持するＩＣカード等の認証機器などから識別情報を読み取るカードリーダであってよい。
【００２０】
また、機器管理システム１が、ホームネットワークシステムである場合には、上位装置１００としては、下位装置２００を管理するコンピュータであり、下位装置２００は、家屋に備え付けられた各種の家電製品であってよい。なお、ここに示した機器管理システム１の具体例は一部での具体例であり、他のシステムであってもよい。
【００２１】
機器管理システム１においては、下位装置２００は、複数配置することが想定された機器であり、そのため、その製作コストを抑制するために、プロセッサ（制御部２２０）の性能が低く、メモリ（記憶部２３０）の記憶容量が少ない装置となることが多い。一方で、下位装置２００は、センサ類などである場合には、常時、センサとして機能する必要があるため、ファームウェアの更新などによって、本来の動作（センシング処理）が妨げられるのは望ましくない。また、同時に、ファームウェアの更新後に、ファームウェアにエラーが存在した場合に誤動作することも考えられるが、このような誤動作が発生したとしても下位装置２００として果たすべき基本的動作が妨げられることも望ましくない。そこで、本実施の形態に係る下位装置２００において、ファームウェアは、基本動作（根幹動作と呼称してもよい）を規定し、部分的書き換えが不可能な基礎オペレーティング層２３４と、基本動作を利用した動作単位と、動作単位を接続するリンクとによって定められた動作情報を記憶する部分的書き換えが可能な動作規定層２３２とに、ファームウェア２３１を部分的に更新できるように構成している。このようにファームウェア２３１を部分書き換え不可能に構成することで、上述のファームウェアの更新後にエラーが発生していたとしても最低限の機能を担保することができる。下位装置２００の更なる詳細については、後述する。
【００２２】
上位装置１００は、１以上の下位装置２００とネットワーク３００を介して接続され、各下位装置２００を管理する機能を有する。上位装置１００は、例えば、オペレータからの入力に従って動作するコンピュータシステムにより実現されるものであり、例えば、ＰＣ、サーバ装置などと呼称されるものが該当する。ここでは、図１に示すように上位装置１００は、コンピュータシステムであり、モニターやオペレータからの入力を受け付けるキーボードやマウス、タッチパネル等の入力デバイスと接続されて運用される。
【００２３】
上位装置１００は、入力部１１０と、制御部１２０と、通信部１３０と、記憶部１４０と、を備えるコンピュータシステムである。
【００２４】
入力部１１０は、上位装置１００のオペレータからの入力を受け付ける機能を有する入力インターフェースである。入力部１１０は、例えば、キーボードやマウス、タッチパネル等の入力デバイスからの入力を受け付けて、制御部１２０に伝達する。
【００２５】
制御部１２０は、上位装置１００の各部を制御する機能を有する。制御部１２０は、例えば、記憶部１４０に記憶されている制御用プログラム及び各種データを利用して、上位装置１００として果たすべき機能を実行するプロセッサである。制御部１２０は、入力部１１０から伝達された入力内容に従って、動作単位と、動作単位間の接続関係を示すリンクと、により規定される動作情報を生成し、当該動作情報を含む指示情報を通信部１３０から指定した下位装置２００に送信させる。動作単位や動作情報などの詳細については、後述する。
【００２６】
通信部１３０は、ネットワーク３００を介して、下位装置２００と通信を実行する機能を有する通信インターフェースである。通信部１３０は、下位装置２００の通信部２１０から情報を受信すると、制御部１２０に伝達する。また、通信部１３０は、制御部１２０から指定された情報を、指定された宛先に送信する。例えば、通信部１３０は、制御部１３０からの指示に従って、下位装置２００に対して送信すべき指示情報を、ネットワーク３００を介して送信する。
【００２７】
記憶部１４０は、上位装置１００が動作上必要とする各種プログラム及びデータを記憶する機能を有する。記憶部１４０は、例えば、ＨＤＤ、ＳＳＤ、フラッシュメモリなどの記憶媒体により実現することができる。また、記憶部１４０は、各下位装置２００から収集した情報を記憶することとしてもよい。
【００２８】
上述のように、上位装置１００は、上位装置１００のオペレータ等からの入力にしたがって、下位装置２００のファームウェアの一部の書き換えを指示することができる。
【００２９】
次に、下位装置２００は、動作単位と、動作単位間の接続関係を示すリンクと、により規定された動作情報を含む指示情報であって、上位装置１００から送信される指示情報に従って動作する機器（ＩｏＴ（Internet of Things）デバイス）である。動作単位とは、下位装置において実行する処理１つ１つの単位のことであり、例えば、何らかのデータの入力であったり、データに対して実行する処理の内容であったり、何らかのデータの出力であったりする。動作単位間の接続関係を示すリンクとは、動作単位の実行順序を示す情報のことであり、動作単位と動作単位とを接続する情報のことをいう。下位装置２００は、上流側の動作単位から順番にリンクで接続されている順序で、動作単位で示される処理を実行する。下位装置２００は、例えば、工場における作業機械やセンサ、セキュリティ管理をするための各種の情報を収集するセンサであったり、ＩＣカード等の認証機器などから識別情報を読み取るリーダであったり、各種の家電製品などにより実現することができる。
【００３０】
下位装置２００は、通信部２１０と、制御部２２０と、記憶部２３０とを備える。通信部２１０と、制御部２２０と、記憶部２３０とは互いにバス２４０を介して接続される。
【００３１】
通信部２１０は、ネットワーク３００を介して、上位装置１００の通信部１３０と通信を実行する機能を有する通信インターフェースである。通信部２１０は、上位装置１００の通信部１３０から送信された指示情報を受信して、制御部２２０に伝達する。また、通信部２１０は、制御部２２０から指示された場合に、制御部２２０から指定された情報を、上位装置１００の通信部１３０に送信する。
【００３２】
制御部２２０は、下位装置２００の各部を制御する機能を有するプロセッサである。当該プロセッサは、マイクロコンピュータと呼称されることもある。制御部２２０は、少なくとも、下位装置２００が発揮する機能を実現するために足る最小限の性能を有する。制御部２２０は、記憶部２３０のファームウェア２３１の動作規定層２３２において規定されている動作情報に従って、下位装置２００として実行すべき機能を実行する。また、制御部２２０は、通信部２１０から指示情報を伝達された場合に、当該指示情報に含まれる動作情報を抽出し、当該動作情報を用いて記憶部２３０に記憶されているファームウェア２３１のうち、動作規定層２３２を更新する更新部として機能してもよい。ここでいう更新は、一度動作規定層２３２に記憶されている情報を削除し、削除後に伝達された動作情報を書き込むものであってもよいし、動作規定層２３２に直接上書きするものであってもよい。
【００３３】
記憶部２３０は、下位装置２００が動作上必要とする各種プログラム及びデータを記憶する機能を有する。記憶部２３０は、ファームウェア２３１を記憶する領域を有する。
【００３４】
ファームウェア２３１は複数の階層からなり、複数の階層は、少なくとも、下位装置２００の基本動作を規定し、部分書き換え不可能な領域である基礎オペレーティングシステム層２３４と、動作情報を記憶する、部分書き換え可能な領域である動作規定層２３２と、を含む。なお、複数の階層は、システムにおける下位装置２００の運用態様を示す動作単位の基礎を示す基礎動作を規定するエージェント層２３３を含んでもよい。ファームウェア２３１は、下位装置２００に所定の動作をさせるためのソフトウェアであり、ハードウェアとしての下位装置２００に密接に関連するため、書き換えがされにくい記憶領域に保存されるものをいう。一般に、ファームウェアを、更新をする場合には、その全体が書き換えられるため、一部を更新しにくいところ、下位装置２００におけるファームウェア２３１においては、部分的な書き換えが可能な領域を設けている。部分書き換え可能とは、ファームウェア全体ではなく一部の書き換えが可能になっていることをいう。一般的に機器のファームウェアを更新することになる場合には、下位装置２００におけるファームウェア２３１のようにファームウェア本体を複数層に分離させていないため、ファームウェア全体で更新することになる。したがって、ファームウェアの記述に誤りがあった場合には、ファームウェア更新後の機器の基本動作が保証できなくなる可能性があるという問題があった。これに対して、本実施の形態に係る下位装置２００においては、動作規定層２３２に限っては、部分的な書き換えを許容している。そのため、下位装置２００として実行する基本動作内容を規定する基礎ＯＳ層２３４やエージェント層２３３を変更することがないので、下位装置２００は、その基本動作を停止することなく、ファームウェアの更新が実現できる。
【００３５】
なお、図１には示していないが、下位装置２００は、センサとして動作する場合には、備え付けられているセンサとして、各種の情報を取得する検知部を備えてよい。当該センサが例えば、超音波センサであれば、所定範囲内に何らかの物体が存在するか否かを検知したりすることができ、温度センサであれば、所定範囲内の温度を検知したりすることができる。また、下位装置２００が、カードリーダとして動作する場合には、例えば、識別情報取得部として機能して、所定範囲内に存在するＩＣカード等の識別情報を有する機器と通信して、当該識別情報を取得したりすることができる。
【００３６】
図２は、上位装置１００において、動作情報を生成するために上位装置１００に接続されたモニター上に表示されるＵＩ（ユーザインターフェース）２０００の一例を示す図である。
【００３７】
図２に示すように、ＵＩ２０００は、少なくとも、各種の動作単位を示すノードを羅列した領域２０１０と、必要なノードを配置し、各ノードを接続するリンク等の接続を行うための作業領域２０３０とを含む。
【００３８】
領域２０１０は、スクロールバー２０２０を上下させることで、図示されていない、他のノードを領域２０１０に表示することができる。ノードは、例えば、下位装置２００に対する入力を指定するものであったり、下位装置２００から出力を指定するものであったり、下位装置２００が保持するデータ等に対して行う処理などを規定するものであったりしてよい。
【００３９】
上位装置１００のオペレータは、マウス等のポインティングデバイス等を用いて、動作単位であるノードのいずれかを、作業領域２０３０にドラッグアンドドロップすることにより、使用するノードを指定することができる。そして、各種の必要となるノードとノードを、リンクで接続することにより、下位装置２００における処理の動作手順を指定することができる。
【００４０】
図２に示す例では、動作単位として、入力ノードＩＡ２０３１、処理ノードＰＡ２０３３、処理ノードＰＢ２０３５、出力ノードＯＡ２０３７、入力ノードＩＢ２０４０、処理ノードＰＣ２０４２、出力ノードＯＢ２０４４が配されている。
【００４１】
そして、入力ノードＩＡ２０３１と、処理ノードＰＡ２０３３とは、リンク２０３２で接続されている。同様に、処理ノードＰＡ２０３３は、処理ノードＰＢ２０３５に、リンク２０３４で接続され、処理ノードＰＢ２０３５は、出力ノードＯＡ２０３７及び処理ノードＰＣ２０４２に接続され、入力ノードＩＢ２０４０は処理ノードＰＣ２０４２に接続され、処理ノードＰＣ２０４２は、出力ノード２０４４に接続されている。
【００４２】
図２に示す例における動作単位（ノード）と、各ノード間を接続するリンクとにより規定される動作情報の例では、下位装置２００は、ＩＡという入力を受けて処理ＰＡを実行し、処理ＰＡを実行した後に処理ＰＢを実行して、得られた結果をＯＡとして出力する。また、下位装置２００は、処理ＰＢを実行して得られた結果と、ＩＢという入力とを受けて、処理ＰＣを行い、ＯＢとして出力する。動作情報は、図２に示した、どのノードを使用し、どのノードとどのノードをリンクで接続しているのかの接続関係を示す情報になっていればどのような態様であってもよい。
【００４３】
このようなＵＩを通して、上位装置１００のオペレータは、機器管理システム１に含まれる複数の下位装置２００に対して、動作内容を指示することができる。
【００４４】
＜動作＞                                              
図３は、下位装置２００が、上位装置１００から指示情報を受信した場合の処理例を示すフローチャートである。当該フローチャートは、ファームウェアの部分書き換え（更新）を行う場合の処理例を示している。
【００４５】
図３に示すように、下位装置２００の通信部２１０は、上位装置１００の通信部１３０からネットワーク３００を介して、動作情報を含む指示情報を受信する（ステップＳ３０１）。通信部２１０は、指示情報を受信すると、動作情報を抽出し、制御部２２０に伝達する。
【００４６】
制御部２２０は、通信部２１０から動作情報を伝達されると、記憶部２３０に記憶されているファームウェア２３１のうち、動作規定層２３２に記憶されている動作情報を削除する（ステップＳ３０２）。
【００４７】
そして、その後に、制御部２２０は、通信部２１０から伝達された動作情報を、動作規定装置２３２に書き込んで更新する（ステップＳ３０３）。
【００４８】
これによって、下位装置２００の根幹をなす動作を規定する基礎オペレーティング層２３４に触れることなく、下位装置２００において複雑な処理を行うための動作情報を格納する動作規定層２３２を更新することができる。
【００４９】
＜まとめ＞
上記実施の形態に示したように、本発明に係る下位装置２００に搭載されているファームウェアは、一部のみ更新が可能なように構成されていることで、ファームウェアの更新後にエラーが発生した場合にも下位装置２００の根幹動作に支障を来す可能性を低減することができる。具体的には、下位装置２００は、ファームウェア２３１を更新する場合に、下位装置２００の根幹動作を規定するファームウェア２３１の基礎ＯＳ層２３４を書き換えることなく、動作規定層２３２を更新することができる。したがって、動作規定層２３２で規定されている基本動作の組み合わせは実行できずとも、下位装置２００としての基本動作には影響を与えずに済むので、ファームウェアの更新後（動作規定層２３２の更新後）にエラーが発生したとしても下位装置２００の根幹動作に支障を来す可能性を低減することができる。
【００５０】
＜補足＞
上記実施の形態に従って、下位装置２００及びそのファームウェア２３１について説明したが、下位装置２００及びファームウェア２３１は、他の手法により実現されてもよいことは言うまでもない。以下、下位装置２００及びファームウェア２３１が取り得る他の態様について説明する。
【００５１】
（１）上記実施の形態においては、ファームウェア２３１を３つの層に分けた例を示したが、これは、部分書き換え可能な領域と、部分書き換え不可能な領域の２つの層に分けるだけであってもよい。ただし、上記実施の形態に示したように、３つの層に分けた方が、下位装置２００として、よりフレキシビリティに長けた下位装置２００を提供することができる。
【００５２】
（２）上記実施の形態においては特に記載していないが、ファームウェア２３１は、どのようなプログラミング言語によって作成されたものであってよく、例えば、Ｃ＋＋、ＪＡＶＡ等の言語により作成されたものであってもよい。
【００５３】
（３）上記実施の形態においては特に記載していないが、下位装置２００の制御部２２０は、ファームウェアの更新後にエラーが発生した場合に、ファームウェアの更新前に戻す処理を行ってもよい。この処理を行う場合、下位装置２００は、記憶部２００の記憶容量に余裕があれば、更新前のファームウェアのコピーを予め退避させておき、エラー発生時に退避させておいた更新前のファームウェアで再度上書きを行う。記憶部２００の記憶容量に余裕がない場合には、上位装置１００が各段階（バージョン）のファームウェアを保持しておき、ファームウェアの更新後にエラーが発生した場合に、下位装置２００が上位装置１００にエラーの報告を行うとともに、上位装置１００に更新前のファームウェアの情報を要求して、更新前の状態に戻すこととしてもよい。
【００５４】
（４）上記実施の形態においては、オペレータは、上位装置１００における新たな動作単位であるノードをＵＩを介して設定できてもよい。また、当該ＵＩを介して、動作情報を送信する先の下位装置２００を指定できてよく、このとき、下位装置２００の一部または全部を示すグループ情報を指定して、複数の下位装置２００を纏めて指定できてもよい。
【００５５】
（５）上記実施の形態においては、動作情報を都度削除し、新たな動作情報を書き込むことで、ファームウェアを更新する態様を示しているが、これは、動作情報を削除することなく、新たな動作情報を追加する更新であってもよい。
【００５６】
（６）上記実施の形態においては示していないが、基礎オペレーティング層２３４を更新する場合には、従来と同様にファームウェア２３１全体を更新する態様で更新することとしてよい。この場合、機器管理システム１においては、下位装置２００の代替となる他の下位装置を設置してから、下位装置２００のファームウェア２３１全体の更新を行うこととしてもよい。
【００５７】
（７）上記実施の形態において、下位装置２００の各部は、集積回路（ＩＣ（Integrated Circuit）チップ、ＬＳＩ（Large Scale Integration））等に形成された論理回路（ハードウェア）や専用回路によって実現してもよいし、ＣＰＵ（Central Processing Unit）およびメモリを用いてソフトウェアによって実現してもよい。また、各機能部は、１又は複数の集積回路により実現されてよく、複数の機能部の機能を１つの集積回路により実現されることとしてもよい。ＬＳＩは、集積度の違いにより、ＶＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩなどと呼称されることもある。また、当該回路は、再構築可能な回路（例えば、ＦＰＧＡ：Field Programmable Gate Away）により実現されてもよい。下位装置２００を回路により構成する場合、例えば、図４に示すように、通信回路２１０ａと、制御回路２２０ａと、記憶回路２３０ａと、から構成されてよく、各回路は、上記実施の形態に示した各機能部と同様の機能を実現する。
【００５８】
下位装置２００の各機能部をソフトウェアにより実現する場合、下位装置２００は、各機能を実現するソフトウェアである制御プログラムの命令を実行するＣＰＵ、制御プログラムおよび各種データがコンピュータ（又はＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）又は記憶装置（これらを「記録媒体」と称する）、上記制御プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（又はＣＰＵ）が上記制御プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記制御プログラムは、当該制御プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。本発明は、上記委任状送信プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００５９】
なお、上記制御プログラムは、例えば、ActionScript、JavaScript（登録商標）などのスクリプト言語、Objective-C、Java（登録商標）などのオブジェクト指向プログラミング言語、HTML5などのマークアップ言語などを用いて実装できる。
【００６０】
（８）本発明を諸図面や実施形態に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各手段、各ステップ等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の手段やステップ等を１つに組み合わせたり、或いは分割したりすることが可能である。また、上記実施の形態に示す構成を適宜組み合わせてもよい。
【００６１】
［付記事項］
以下に本願の原出願に係る請求項を付記する。
［１］
動作単位と、動作単位間の接続関係を示すリンクとにより規定された動作情報を含む指示情報を上位装置から受信する受信部と、
少なくとも、自装置の基本動作を規定し、部分書き換え不可能な領域である基礎オペレーティングシステム層と、前記動作情報を記憶し、部分書き換え可能な領域である動作規定層と、を含む複数の階層からなるファームウェアと、を備える下位装置。
［２］
前記複数の階層は、
前記下位装置の運用態様を示す前記動作単位の基礎を示す基礎動作を規定するエージェント層を更に含むことを特徴とする、［１］に記載の下位装置。
［３］
前記下位装置は、
前記受信部が新たな指示情報を受信すると、前記新たな指示情報で示される動作情報を用いて前記動作規定層を更新する更新部を更に備えることを特徴とする、［１］又は［２］に記載の下位装置。
［４］
動作単位と動作単位間の接続関係を示すリンクとにより規定された動作情報を含む指示情報を、上位装置から受信し、当該動作情報に従って動作する下位装置のファームウェアであって、
少なくとも、
前記下位装置の基本動作を規定し、部分書き換え不可能な領域である基礎オペレーティングシステム層と、
前記動作情報を記憶する、部分書き換え可能な領域である動作規定層と、を含む
ことを特徴とするファームウェア。
［５］
前記複数の階層は、
前記システムにおける前記下位装置の運用態様を示す前記動作単位の基礎を示す基礎動作を規定するエージェント層を更に含む
ことを特徴とする［４］に記載のファームウェア。
[６]
下位装置におけるファームウェアの更新方法であって、
動作単位と、動作単位間の接続関係を示すリンクとにより規定された動作情報を含む指示情報を上位装置から受信する受信ステップと、
少なくとも、自装置の基本動作を規定し、部分書き換え不可能な領域である基礎オペレーティングシステム層と、前記動作情報を記憶し、部分書き換え可能な領域である動作規定層と、を含む複数の階層からなるファームウェアのうち、前記動作規定層のみを前記受信ステップにおいて受信した動作情報を用いて更新する更新ステップとを含む更新方法。
【符号の説明】
【００６２】
１        機器管理システム
１００    上位装置
１１０    入力部
１２０    制御部
１３０    記憶部
１４０    通信部
２００    下位装置
２１０    通信部
２２０    制御部
２３０    記憶部
２４０    バス
３００    ネットワーク
【図１】
2019091125.tif 000003
【図２】
2019091125.tif 000004
【図３】
2019091125.tif 000005
【図４】
2019091125.tif 000006
【手続補正書】
【提出日】平成30年12月11日(2018.12.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
自装置の基本動作を規定するオペレーティングシステム層と、前記基本動作に基づく動作単位の組み合わせからなり前記動作単位の実行順序を示す動作情報を記憶する動作規定層と、を含む複数の階層からなる１つのファームウェアと、
動作情報を受信する受信部と、
前記受信部で受信した動作情報を用いて、前記ファームウェアの中の前記動作規定層に記憶されていた動作情報を更新する更新部と、
を備える下位装置。
【請求項２】
前記動作規定層は、前記１つのファームウェアにおいて部分書き換え可能な情報が格納されている領域であることを特徴とする請求項１に記載の下位装置。
【請求項３】
下位装置における、自装置の基本動作を規定する基礎オペレーティングシステム層と、前記基本動作に基づく動作単位の組み合わせからなり前記動作単位の実行順序を示す動作情報を記憶する動作規定層と、を含む複数の階層からなる１つのファームウェアの更新方法であって、
動作情報を受信する受信ステップと、
前記受信ステップにおいて受信した動作情報を用いて、前記ファームウェアの中の前記動作規定層に記憶されていた動作情報を更新する更新ステップと、
を含む更新方法。