(57)【要約】【課題】プログラマブルロジックコントローラのような制御装置について負荷低減等を図る。【解決手段】制御装置１００は、制御対象の制御処理を実行する対象制御部１２０と、制御装置１００の外部通信を制御する通信制御部１３０と、交渉処理および委託管理処理を実行する委託部１５０とを含む。交渉処理では、委託部１５０は、制御装置１００が外部通信による指示に従って実行する処理内容のうちで、通信制御部１３０と通信相手との間に設けられている通信中継機器に委託する内容を、通信中継機器と交渉する。委託管理処理では、委託部１５０は、交渉処理によって委託の指定がなされた処理内容である指定内容の実行を管理する。【選択図】図３
2018006887.tif 000002
【特許請求の範囲】
【請求項１】
制御対象を制御する制御装置であって、
前記制御対象の制御処理を実行する対象制御部と、
当該制御装置の外部通信を制御する通信制御部と、
当該制御装置が前記外部通信による指示に従って実行する処理内容のうちで、前記通信制御部と通信相手との間に設けられている通信中継機器に委託する内容を、前記通信中継機器と交渉する交渉処理と、前記交渉処理によって委託の指定がなされた処理内容である指定内容の実行を管理する委託管理処理と、を実行する委託部と
を備える、制御装置。
【請求項２】
前記委託部は、指定候補内容についての前記交渉処理を、前記指定候補内容に関連する参考情報に基づいて実行し、
前記参考情報は、
前記指定候補内容が前記通信中継機器の仕様に準拠しているか否かの情報と、
当該制御装置が前記指定候補内容を実行するのにかかる実行時間と、
前記通信中継機器が前記指定候補内容を実行するのにかかる実行時間と、
当該制御装置が前記指定候補内容を実行するために割り当て可能な許容時間と、
前記通信中継機器が前記指定候補内容を実行するために割り当て可能な許容時間と、
当該制御装置において前記指定候補内容を実行するために利用可能なメモリリソース量と、
前記通信中継機器において前記指定候補内容を実行するために利用可能なメモリリソース量と、
を含む、請求項１に記載の制御装置。
【請求項３】
前記制御処理は一定時間の周期で実行され、当該制御装置の前記許容時間は、前記一定時間から当該制御装置の前記実行時間を減算した値である、請求項２に記載の制御装置。
【請求項４】
当該制御装置の前記許容時間は、当該制御装置の前記実行時間に、予め規定された比率を乗算した値である、請求項２に記載の制御装置。
【請求項５】
前記委託管理処理は、前記指定内容に関連するデータを、当該制御装置と前記通信中継機器との間で同期させるデータ同期処理を含む、請求項１から請求項４のうちのいずれか一項に記載の制御装置。
【請求項６】
前記指定内容は、当該制御装置が保有しているデータの読み出し要求に対して応答することを含み、
前記データ同期処理は、前記データを前記通信中継機器に供給することを含む、
請求項５に記載の制御装置。
【請求項７】
前記指定内容は、書き込み要求によって送信されてきた書き込み対象データを当該制御装置に格納することを含み、
前記データ同期処理は、前記書き込み対象データを前記通信中継機器から取得することを含む、
請求項５または請求項６に記載の制御装置。
【請求項８】
前記委託管理処理は、委託後に前記通信中継機器から支援要請を受けた場合に、前記支援要請を受けた処理内容を当該制御装置に実行させることを含む、請求項１から請求項７のうちのいずれか一項に記載の制御装置。
【請求項９】
当該制御装置は委託後は前記指定内容を実行しない、請求項１から請求項７のうちのいずれか一項に記載の制御装置。
【請求項１０】
通信を中継する通信中継機器であって、
制御対象の制御処理を実行する制御装置が接続されることによって前記制御装置の外部通信を中継する通信制御部と、
前記制御装置が前記外部通信による指示に従って実行する処理内容のうちで、当該通信中継機器で受託する内容を、前記制御装置と交渉する交渉処理と、前記交渉処理によって受託の指定がなされた処理内容である指定内容の実行およびその管理を行う受託管理処理と、を実行する受託部と
を備える、通信中継機器。
【請求項１１】
前記受託部は、指定候補内容についての前記交渉処理を、前記指定候補内容に関連する参考情報に基づいて実行し、
前記参考情報は、
前記指定候補内容が当該通信中継機器の仕様に準拠しているか否かの情報と、
前記制御装置が前記指定候補内容を実行するのにかかる実行時間と、
当該通信中継機器が前記指定候補内容を実行するのにかかる実行時間と、
前記制御装置が前記指定候補内容を実行するために割り当て可能な許容時間と、
当該通信中継機器が前記指定候補内容を実行するために割り当て可能な許容時間と、
前記制御装置において前記指定候補内容を実行するために利用可能なメモリリソース量と、
当該通信中継機器において前記指定候補内容を実行するために利用可能なメモリリソース量と、
を含む、請求項１０に記載の通信中継機器。
【請求項１２】
前記受託管理処理は、前記指定内容に関連するデータを、前記制御装置と当該通信中継機器との間で同期させるデータ同期処理を含む、請求項１０または請求項１１に記載の通信中継機器。
【請求項１３】
前記指定内容は、前記制御装置が保有しているデータの読み出し要求に対して応答することを含み、
前記データ同期処理は、前記データを前記制御装置から取得することを含む、
請求項１２に記載の通信中継機器。
【請求項１４】
前記指定内容は、書き込み要求によって送信されてきた書き込み対象データを前記制御装置に格納することを含み、
前記データ同期処理は、前記書き込み対象データを前記制御装置に供給することを含む、
請求項１２または請求項１３に記載の通信中継機器。
【請求項１５】
前記受託管理処理は、受託後に、依頼元の制御装置に、前記指定内容を実行してもらうための支援要請を行うことを含む、請求項１０から請求項１４のうちのいずれか一項に記載の通信中継機器。
【請求項１６】
前記受託部が複数の指定内容を同時期に実行すべき状況を把握した場合、前記受託部は、支援要請規則に基づいて支援要請内容を決定し、前記支援要請内容について前記支援要請を行う、請求項１５に記載の通信中継機器。
【請求項１７】
前記支援要請規則は、
実行待ちの指定内容が現に発生している場合、前記実行待ちの指定内容を前記支援要請内容に決定する、という規則と、
前記複数の指定内容を当該通信中継機器と前記制御装置とで並行的に実行する場合にかかる時間が最小になるように、前記支援要請内容を決定する、という規則と、
前記制御装置が前記制御処理の合間に実行可能な内容を前記支援要請内容に決定する、という規則と
のうちの少なくとも１つを含む、請求項１６に記載の通信中継機器。
【請求項１８】
前記受託部と前記制御装置とのそれぞれが前記外部通信の通信相手に応答が必要な処理内容を実行する場合、当該通信中継機器は、前記受託部が実行した前記処理内容について前記応答を終了した後に、前記制御装置で実行した前記処理内容について前記応答を送信する、請求項１６または請求項１７に記載の通信中継機器。
【請求項１９】
制御対象の制御処理を実行する制御装置と、
前記制御装置と通信相手との間の外部通信を中継する通信中継機器と
を備え、
前記制御装置と前記通信中継機器とは、前記制御装置が前記外部通信による指示に従って実行する処理内容のうちで、前記通信中継機器が実行する内容を、互いに交渉する交渉処理を実行し、
前記制御装置は、前記交渉処理によって委託の指定がなされた処理内容である指定内容の実行を管理する委託管理処理を実行し、
前記通信中継機器は、前記指定内容の実行およびその管理を行う受託管理処理を実行する、
通信システム。
【請求項２０】
制御装置の動作方法であって、
制御対象の制御処理を実行することと、
当該制御装置が外部通信による指示に従って実行する処理内容のうちで、当該制御装置と通信相手との間に設けられている通信中継機器に委託する内容を、前記通信中継機器と交渉する交渉処理を実行することと、
前記交渉処理によって委託の指定がなされた処理内容である指定内容の実行を管理する委託管理処理を実行することと
を備える、制御装置の動作方法。
【請求項２１】
通信中継機器の動作方法であって、
制御装置が接続されることによって前記制御装置の外部通信を中継することと、
前記制御装置が前記外部通信による指示に従って実行する処理内容のうちで、当該通信中継機器で受託する内容を、前記制御装置と交渉する交渉処理を実行することと、
前記交渉処理によって受託の指定がなされた処理内容である指定内容の実行およびその管理を行う受託管理処理をすることと、
を備える、通信中継機器の動作方法。
【請求項２２】
制御装置と通信中継機器とを含んだ通信システムの制御方法であって、
前記制御装置に、制御対象の制御処理を実行させることと、
前記通信中継機器に、前記制御装置と通信相手との間の外部通信を中継させることと、
前記制御装置が前記外部通信による指示に従って実行する処理内容のうちで、前記通信中継機器に委託する内容を交渉する交渉処理を、前記制御装置と前記通信中継機器と実行させることと、
前記交渉処理によって委託の指定がなされた処理内容である指定内容の実行を管理する委託管理処理を、前記制御装置に実行させることと、
前記指定内容の実行およびその管理を行う受託管理処理を、前記通信中継機器に実行させることと
を備える、通信システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置（例えばプログラマブルロジックコントローラ）について負荷低減等を実現しうる技術に関する。
【背景技術】
【０００２】
従来より、複数の機器が中継機器を介して接続されるネットワーク構成が知られている。例えば特許文献１の図７では、マスタ機器と複数の通信機器とが接続通信機器を介して接続されている。特許文献１によれば、マスタ機器はプログラマブルロジックコントローラである。また、接続通信機器は、マスタ機器に接続される表示モニタ、温調器、等である。接続通信機器に接続される通信機器は、２次元コードリーダ等である。
【０００３】
中継機器は、ネットワーク中の或る機器から通信パケットを受信すると、そのパケットの宛先を判別する。宛先が他の機器のうちのいずれかである場合、中継機器は宛先に指定されている機器にパケットを転送する。受信したパケットの宛先が中継機器自身である場合、中継機器は、パケットによって指示された処理を実行する。これと同様の処理フローが特許文献１の図３に示されている。
【０００４】
ここで、特許文献２には、複数の医用画像診断装置がネットワークを介して通信する構成が開示されている。特に、医用画像診断装置のそれぞれに対して、専用の医用画像通信装置が設けられている。以下では、医用画像診断装置を画像診断装置と呼び、専用の医用画像通信装置を専用通信装置と呼ぶ場合もある。画像診断装置はＶＭＥバスを介して専用通信装置に接続され、当該専用通信装置がネットワークに接続されている。一の画像診断装置が他の画像診断装置と通信を行う場合、一の画像診断装置はＶＭＥバスを介して自身の専用通信装置に指示および医用画像データを与え、それにより専用通信装置が実際的な通信処理を行う。他の画像診断装置の側においても同様である。実際的な通信処理は例えば、ネットワークの接続および解除と、画像データの送受信とを含む。特許文献２によれば、従来の画像診断装置が行っていた実際的な通信処理を、専用通信装置が代わりに行うので、実際的な通信処理の負荷による画像診断装置の性能低下を少なくできる、と述べられている。
【０００５】
また、特許文献３には、ネットワーク対応型プラグアンドプレイをサポートしていないデバイスを、当該ネットワーク対応型プラグアンドプレイをサポートしているデバイスとして仮想的に、ネットワーク上の他のデバイスに認識させる技術が開示されている。具体的には、プロキシサーバが、ＵＰｎＰ（Universal Plug and Play）で規定されるｐｒｏｂｅパケットを発行することによって、ネットワーク上でＵＰｎＰ対応の印刷装置を検索する。また、プロキシサーバは、ＳＮＭＰ（Simple Network Management Protocol）Ｇｅｔリクエストを発行することによって、ネットワーク上に存在する印刷装置を検索する。プロキシサーバは、ＵＰｎＰのプローブパケットに応答しなかったがＳＮＭＰ Ｇｅｔリクエストには応答した印刷装置を、ＵＰｎＰをサポートしていない印刷装置として判断する。プロキシサーバはネットワーク上のクライアントから、ＵＰｎＰをサポートしていない印刷装置が出力先に指定された、ＵＰｎＰによるプリントジョブ要求を受信した場合、プロキシサーバは、受信したプリントジョブ要求を、指定された印刷装置がサポートしているプリントプロトコルに変換する。そして、プロキシサーバは、変換後の情報を、指定された印刷装置に送信する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１０５６８３号公報
【特許文献２】特開平７−１４６８３０号公報
【特許文献３】特開２００５−３０９６１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来のネットワーク構成において、各機器は、中継機器からパケットが到来すると、通信処理を行う。通信処理はパケットの受信処理を含む。また、通信処理は、受信したパケットで要求されている処理（例えばデータの読み出しまたは書き込み）のための応答処理を含む場合がある。
【０００８】
通信処理では例えば次のような一連の処理が行われる。通信パケットが分割されて送信されている場合、受信側機器は、分割されているパケットを連結して一つの通信パケットデータを復元する。そして、受信側機器は、復元したパケットデータが要求しているサービス種別を判別する。ここでは、Ｅｔｈｅｒｎｅｔ（登録商標）による通信におけるＴＣＰ（Transmission Control Protocol）の８０番のサービスを例示する。受信側機器は、判別したサービス種別に割り当てられているサービス処理を呼び出し、そのサービス処理に、受信したパケットデータを解析させる。サービス処理では、通信パケットデータの構造を、予め定められているデータフォーマットに則して解析することによって、通信パケットデータ中のどの位置のデータに対してどのようなデータ処理を行うのかが判別される。データ処理として、例えばデータの読み出しまたは書き込みまたは演算が挙げられる。その後、判別したデータ処理が呼び出される。
【０００９】
ここで、中継機器に接続される機器が、プログラマブルロジックコントローラのような制御装置である場合、当該制御装置は、制御対象に対する制御処理に加えて、通信処理も行うことになる。通信処理はパケットが到来する度に行われるので、受信するパケットが多くなると通信処理の負荷が大きくなる。そうなると通信処理が制御処理に対して干渉を起こし、制御性能の低下を招いてしまう。
【００１０】
また、制御装置において制御処理と通信処理とが同じ演算装置（ＣＰＵ等）で実行されている場合、通信処理を行っている間は、制御処理を行うことができない。その場合にも、制御装置の制御性能が低下してしまう。また、制御装置宛てに通信パケットを送信する機器が多くなるほど、通信処理の負荷が増加して制御性能が、より大きく低下してしまう。
【００１１】
そのような制御性能の低下は、より高性能の演算装置を採用することによって、解消できるかもしれない。しかし、部品コストが増加し，結果として制御装置のコストが増加してしまう。
【００１２】
本発明は、制御装置（例えばプログラマブルロジックコントローラ）について負荷低減等を実現しうる技術を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の一態様に係る制御装置は、制御対象の制御処理を実行する対象制御部と、当該制御装置の外部通信を制御する通信制御部と、委託部とを含んでいる。前記委託部は、当該制御装置が前記外部通信による指示に従って実行する処理内容のうちで、前記通信制御部と通信相手との間に設けられている通信中継機器に委託する内容を、前記通信中継機器と交渉する交渉処理を実行する。前記委託部は、前記交渉処理によって委託の指定がなされた処理内容である指定内容の実行を管理する委託管理処理を実行する。
【発明の効果】
【００１４】
上記一態様によれば、制御装置が外部通信による指示に従って実行する処理内容のうちの一部または全部を、通信中継機器に委託することが可能である。このため、処理を委託することによって、制御装置の負荷を低減し、制御性能の低下を回避することができる。また、負荷が低減することによって、制御装置に高性能なＣＰＵ等を用いる必要性が低くなる。このため、部品のコスト、換言すれば制御装置のコストを抑制することができる。
【００１５】
また、指定内容、すなわち委託内容は、制御装置と通信中継機器とが交渉することによって決まる。つまり、指定内容は自動的に決定される。このため、ユーザは当該制御装置を簡便に利用することができる。また、制御装置と通信中継機器とが交渉するので、例えば通信中継機器を交換した場合であっても、柔軟に対応することができる。
【００１６】
本発明の目的、特徴、局面、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。
【図面の簡単な説明】
【００１７】
【図１】実施の形態１について、制御装置および通信中継機器を説明するハードウェア構成図である。
【図２】実施の形態１について、他のネットワーク構成を説明する図である。
【図３】実施の形態１について、制御装置の機能ブロック図である。
【図４】実施の形態１について、通信中継機器の機能ブロック図である。
【図５】実施の形態１について、通信機器の機能ブロック図である。
【図６】実施の形態１について、交渉処理を説明するフローチャートである。
【図７】実施の形態１について、制御処理が一定周期で実行されることが要求されている場合のタイミングチャートである。
【図８】実施の形態１について、制御処理の開始タイミングが調整可能である場合のタイミングチャートを示す。
【図９】実施の形態１について、通信中継機器に処理を委託しない場合のシーケンス図である。
【図１０】実施の形態１について、通信中継機器に処理を委託する場合のシーケンス図である。
【図１１】実施の形態２について、実行待ちの指定内容が現に発生している場合に支援要請を行うことを説明するシーケンス図である。
【図１２】実施の形態２について、同時期に複数の指示を受信した場合に支援要請を行うことを説明するシーケンス図である。
【図１３】実施の形態１，２に共通の変形例について、制御装置および通信中継機器を説明するハードウェア構成図である。
【発明を実施するための形態】
【００１８】
＜実施の形態１＞
＜１．ハードウェア構成＞
図１に、実施の形態１に係る制御装置１００および通信中継機器２００を説明するハードウェア構成図を示す。制御装置１００と通信中継機器２００とを合わせて、通信システム３００または制御システム３００と呼んでもよい。図１には説明のために、制御対象９０および通信機器５００も図示している。
【００１９】
＜１．１．制御装置１００のハードウェア構成＞
制御装置１００は、例えばプログラマブルロジックコントローラである。図１によれば、制御装置１００は、プロセッサ１０１と、メモリ１０２と、制御インターフェース１０３と、通信インターフェース１０４と、バス１０５とを含んでいる。以下、「インターフェース」を「ＩＦ」と呼ぶ場合もある。プロセッサ１０１と、メモリ１０２と、制御ＩＦ１０３と、通信ＩＦ１０４とは、バス１０５を介して接続されている。
【００２０】
プロセッサ１０１は、プログラムを実行する、いわゆる演算処理回路である。メモリ１０２は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、書き換え可能な不揮発性メモリ、等の半導体メモリによって構成されている。メモリ１０２はＨＤ（hard disk）装置をさらに含んでもよい。メモリ１０２に格納されているプログラムをプロセッサ１０１が実行することによって、制御装置１００の各種処理が実行され、換言すれば制御装置１００の各種機能が実現される。この場合、制御装置１００の各種機能がソフトウェアによって実現される。
【００２１】
制御ＩＦ１０３は、制御装置１００と制御対象９０とを接続するインターフェース回路であり、制御対象９０が接続されるポート１０３Ｐを有している。制御対象９０は例えば工場内の各種設備であるが、この例に限定されるものではない。ここでは制御装置１００が制御対象９０とケーブルで有線接続されるものとする。その場合、ポート１０３Ｐは、ケーブルが接続される接続端子である。
【００２２】
制御ＩＦ１０３は、プロセッサ１０１からバス１０５を介して入力された信号を、制御対象９０に伝達可能な信号に変換し、生成した信号をポート１０３Ｐから出力する。また、制御ＩＦ１０３は、制御対象９０からポート１０３Ｐに到来した信号を、プロセッサ１０１が取り扱い可能な信号に変換し、生成した信号をバス１０５を介してプロセッサ１０１に出力する。
【００２３】
制御ＩＦ１０３と制御対象９０との間、すなわち制御装置１００と制御対象９０との間を伝達する信号を、ＩＯ信号と呼ぶ場合もある。ＩＯ信号によって伝達される情報は、例えば、プロセッサ１０１の指示、制御対象９０に供給するデータ、および、制御対象９０から取得するデータである。具体的には、制御装置１００が制御対象９０に書き込み対象データを書き込む場合、プロセッサ１０１の書き込み指示およびその書き込み対象データが、ＩＯ信号によって伝達される。また、制御対象９０が保有しているデータ、例えば制御対象９０の現在状態を示すデータを、制御装置１００が読み出す場合、プロセッサ１０１の読み出し指示がＩＯ信号によって制御対象９０に伝達され、指示された読み出し対象データがＩＯ信号によって制御装置１００に伝達される。
【００２４】
通信ＩＦ１０４は、制御装置１００の外部通信のためのインターフェース回路である。ここで、外部通信の相手は、制御対象９０以外の対象物であり、図１では通信機器５００である。
【００２５】
特に、制御装置１００と通信機器５００との間の通信経路中に、通信中継機器２００が介在している。このため、通信ＩＦ１０４のポート１０４Ｐには、通信中継機器２００が接続されている。ここでは制御装置１００が通信中継機器２００とケーブルで有線接続されるものとする。その場合、ポート１０４Ｐは、ケーブルが接続される接続端子である。
【００２６】
通信ＩＦ１０４は、プロセッサ１０１からバス１０５を介して入力された信号を、外部通信用の信号に変換し、生成した信号をポート１０４Ｐから出力する。また、通信ＩＦ１０４は、外部からポート１０４Ｐに到来した信号を、プロセッサ１０１が取り扱い可能な信号に変換し、生成した信号をバス１０５を介してプロセッサ１０１に出力する。
【００２７】
＜１．２．通信中継機器２００のハードウェア構成＞
通信中継機器２００は、制御装置１００と通信機器５００との間の通信を中継する機器である。図１によれば、通信中継機器２００は、プロセッサ２０１と、メモリ２０２と、通信ＩＦ２０４と、バス２０５とを含んでいる。プロセッサ２０１と、メモリ２０２と、通信ＩＦ２０４とは、バス２０５を介して接続されている。
【００２８】
プロセッサ２０１は、プログラムを実行する、いわゆる演算処理回路である。メモリ２０２は、ＲＯＭ、ＲＡＭ、書き換え可能な不揮発性メモリ、等の半導体メモリによって構成されている。メモリ２０２はＨＤ装置をさらに含んでもよい。メモリ２０２に格納されているプログラムをプロセッサ２０１が実行することによって、通信中継機器２００の各種処理が実行され、換言すれば通信中継機器２００の各種機能が実現される。この場合、通信中継機器２００の各種機能がソフトウェアによって実現される。
【００２９】
通信ＩＦ２０４は、通信中継機器２００が中継する通信のためのインターフェース回路である。図１では、通信ＩＦ２０４は４つのポート２０４Ｐ１〜２０４Ｐ４を有しており、ポート２０４Ｐ３が制御装置１００に接続され、ポート２０４Ｐ１が通信機器５００に接続されている。但し、ポートの数および利用形態はこの例に限定されるものではない。ここでは通信中継機器２００が制御装置１００および通信機器５００とケーブルで有線接続されるものとする。その場合、ポート２０４Ｐ１〜２０４Ｐ４は、ケーブルが接続される接続端子である。
【００３０】
通信ＩＦ２０４は、ポート２０４Ｐ１〜２０４Ｐ４に外部から到来した信号を、プロセッサ２０１が取り扱い可能な信号に変換し、生成した信号をバス２０５を介してプロセッサ２０１に出力する。また、通信ＩＦ２０４は、プロセッサ２０１からバス２０５を介して入力された信号を、外部通信用の信号に変換し、生成した信号を宛先に応じたポートから出力する。
【００３１】
＜１．３．通信機器５００のハードウェア構成＞
通信機器５００は、上記のように制御装置１００の通信相手となる機器である。かかる観点によれば、通信機器５００を通信相手機器５００または通信相手５００と呼んでもよい。ここでは、通信機器５００は、制御対象９０の制御に関連して、制御装置１００に指示を与えるために利用される。このため、制御対象９０の制御系統において、通信機器５００は制御装置１００の上位に位置付けられる。かかる観点によれば、通信機器５００を上位通信機器５００または上位機器５００と呼んでもよい。
【００３２】
通信機器５００は例えばパーソナルコンピュータで構成される。図１によれば、通信機器５００は、プロセッサ５０１と、メモリ５０２と、通信ＩＦ５０４と、バス５０５と、入力装置５０６と、表示装置５０７とを含んでいる。プロセッサ５０１と、メモリ５０２と、通信ＩＦ５０４と、入力装置５０６と、表示装置５０７とは、バス５０５を介して接続されている。
【００３３】
プロセッサ５０１は、プログラムを実行する、いわゆる演算処理回路である。メモリ５０２は、ＲＯＭ、ＲＡＭ、書き換え可能な不揮発性メモリ、等の半導体メモリによって構成されている。メモリ５０２はＨＤ装置をさらに含んでもよい。メモリ５０２に格納されているプログラムをプロセッサ５０１が実行することによって、通信機器５００の各種処理が実行され、換言すれば通信機器５００の各種機能が実現される。この場合、通信機器５００の各種機能がソフトウェアによって実現される。
【００３４】
通信ＩＦ５０４は、通信機器５００の外部通信のためのインターフェース回路である。上記のように通信機器５００と制御装置１００との間の通信経路中に、通信中継機器２００が介在している。このため、通信ＩＦ５０４のポート５０４Ｐには、通信中継機器２００が接続されている。ここでは通信機器５００が通信中継機器２００とケーブルで有線接続されるものとする。その場合、ポート５０４Ｐは、ケーブルが接続される接続端子である。
【００３５】
通信ＩＦ５０４は、プロセッサ５０１からバス５０５を介して入力された信号を、外部通信用の信号に変換し、生成した信号をポート５０４Ｐから出力する。また、通信ＩＦ５０４は、外部からポート５０４Ｐに到来した信号を、プロセッサ５０１が取り扱い可能な信号に変換し、生成した信号をバス５０５を介してプロセッサ１０１に出力する。
【００３６】
入力装置５０６は、キーボード、マウス、タッチパネル、ボタン等の入力装置のうちの１つまたは複数によって構成される。表示装置５０７はここでは液晶表示装置等の表示装置によって構成されるものとするが、例えばＬＥＤ（Light Emitting Diode）等のランプをさらに利用してもよい。
【００３７】
＜１．４．他の接続形態＞
図１では、通信中継機器２００に１つの制御装置１００および１つの通信機器５００が接続されたネットワーク構成を示した。但し、複数の制御装置１００が通信中継機器２００に接続されてもよい。同様に、複数の通信機器５００が通信中継機器２００に接続されてもよい。
【００３８】
一例として図２に、通信中継機器２００に２つの制御装置１００Ａ，１００Ｂおよび２つの通信機器５００Ａ，５００Ｂが接続されたネットワーク構成を示す。図２では、図面の煩雑化を避けるため、制御装置１００Ａ，１００Ｂと通信中継機器２００と通信機器５００Ａ，５００Ｂの構成を簡略的に図示している。図２において、制御装置１００Ａは、制御対象９０Ａに接続されていると共に、通信中継機器２００のポート２０４Ｐ３に接続されている。制御装置１００Ｂは、制御対象９０Ｂに接続されていると共に、通信中継機器２００のポート２０４Ｐ４に接続されている。通信機器５００Ａ，５００Ｂは通信中継機器２００のポート２０４Ｐ１，２０４Ｐ２にそれぞれ接続されている。
【００３９】
図２では、複数の制御装置１００Ａ，１００Ｂが、いわゆるスター型の接続形態によって、通信中継機器２００に接続されている。但し、この例に限定されるものではなく、例えばバス型の接続形態を採用することも可能である。また、図１のように制御装置１００が１つだけ接続される場合、通信中継機器２００において制御装置用のポートは１つだけ設けられてもよい。これらのことは、通信機器５００，５００Ａ，５００Ｂと通信中継機器２００との接続についても同様である。
【００４０】
上記では制御装置１００と通信中継機器２００とがケーブルで有線接続されるものとした。これに対し、制御装置１００と通信中継機器２００とを無線接続することも可能である。同様に、制御装置１００と制御対象９０とを無線接続すること、および、通信中継機器２００と通信機器５００とを無線接続することも可能である。それらの場合、ポート１０３Ｐ，１０４Ｐ，２０４Ｐ１〜２０４Ｐ４，５０４Ｐはアンテナである。なお、通信中継機器２００においてポート２０４Ｐ１〜２０４Ｐ４の一部だけが無線用ポートであってもよい。無線用ポートが複数在る場合、ポートごとに別々のアンテナを設ければよい。あるいは、共用アンテナを用い別々の無線チャンネルを、各無線用ポートに割り当ててもよい。
【００４１】
＜２．機能構成＞
以下に、制御装置１００と通信中継機器２００と通信機器５００とを機能面から説明する。但し、まず機能の概略を説明し、その後、より具体的な機能を説明するものとする。
【００４２】
＜２．１．制御装置１００の機能の概略＞
図３に、制御装置１００の機能ブロック図を示す。図３によれば、制御装置１００は、対象制御部１２０と、通信制御部１３０と、外部指示実行部の一例として示すデータアクセス部１４０と、委託部１５０と、情報格納部１６０とを含んでいる。
【００４３】
対象制御部１２０は、制御対象９０の制御処理を実行する。対象制御部１２０は、制御ＩＦ１０３と、プロセッサ１０１と、メモリ１０２に格納されている対象制御部１２０用のプログラムとによって、実現される。すなわち、プロセッサ１０１が対象制御部１２０用のプログラムを実行し、且つ、プロセッサ１０１が制御ＩＦ１０３と協働することによって、制御対象９０の制御処理が実行される。
【００４４】
制御対象９０の制御処理は、制御関連データ１６１を制御対象９０に供給する処理と、制御関連データ１６１を制御対象９０から取得する処理とを含む。制御関連データ１６１は、制御処理に関連したデータであり、上記ＩＯ信号によって制御装置１００と制御対象９０との間を伝達する。対象制御部１２０は、制御対象９０に供給した制御関連データ１６１、および、制御対象９０から取得した制御関連データ１６１を、情報格納部１６０に格納する。
【００４５】
ここでは、制御対象９０の制御処理は、間隔をあけて実行されるものとする。制御処理の開始タイミングが一定時間の周期である場合、制御処理は定期的に実行される。この場合、制御処理の実行時間が毎回同じであれば、上記間隔、すなわち制御処理の休止時間も毎回同じになる。逆に、制御処理の実行時間が同じでなければ、制御処理の休止時間は同じにならない。また、制御処理は、休止期間を挟んで不定期に実行されてもよい。
【００４６】
通信制御部１３０は、制御装置１００の外部通信を制御する。通信制御部１３０は、通信ＩＦ１０４と、プロセッサ１０１と、メモリ１０２に格納されている通信制御部１３０用のプログラムとによって、実現される。すなわち、プロセッサ１０１が通信制御部１３０用のプログラムを実行し、且つ、プロセッサ１０１が通信ＩＦ１０４と協働することによって、外部通信処理が実行される。
【００４７】
外部通信処理は、送信処理と受信処理とを含む。送信処理において通信制御部１３０は、制御装置１００内の機能ブロック、例えば委託部１５０が発行したパケットを取得し、当該パケットを、指定された宛先に送信するための外部通信用の信号を生成し、生成した信号を通信ＩＦ１０４のポート１０４Ｐから出力する。他方、受信処理において通信制御部１３０は、通信ＩＦ１０４のポート１０４Ｐに到来した信号を、プロセッサ１０１が取り扱い可能な信号に変換し、その受信信号に含まれるパケットを解析し、受信パケットの種別等に応じて、制御装置１００内の担当の機能ブロックに受信パケットを引き渡す。
【００４８】
また、外部通信処理は、後述するネットワーク確立処理を含む。当該ネットワーク確立処理はアドレステーブル１６２の作成処理を含む。アドレステーブル１６２には、通信ＩＦ１０４のポート１０４Ｐに接続されている機器（ここでは通信中継機器２００）の通信アドレス等の情報が記録されている。アドレステーブル１６２は情報格納部１６０に格納されている。
【００４９】
データアクセス部１４０は、制御装置１００が外部通信による指示に従って実行する処理内容を実行する外部指示実行部の一例である。換言すれば、外部指示実行部はデータアクセス部１４０に限定されるものではない。
【００５０】
データアクセス部１４０は、データ読み出し処理と、データ書き込み処理とを、外部通信による指示に従って、換言すれば受信パケットによって取得した指示に従って、実行する。具体的には、データ読み出し処理においてデータアクセス部１４０は、外部通信によって指示されたデータを情報格納部１６０から読み出し、読み出したデータを外部通信で送信するためのパケットを生成し、生成したパケットを指示依頼元に送信するように通信制御部１３０に依頼する。他方、データ書き込み処理においてデータアクセス部１４０は、外部通信によって送信されてきたデータを情報格納部１６０に格納する。
【００５１】
委託部１５０は、交渉処理と委託管理処理とを実行する。交渉処理は、制御装置１００が外部通信による指示に従って実行する処理内容のうちで、通信制御部１３０と通信相手５００との間に設けられている通信中継機器２００に委託する内容を、通信中継機器２００と交渉することを含む。委託管理処理は、交渉処理によって委託の指定がなされた処理内容である指定内容、すなわち委託内容の実行を管理することを含む。
【００５２】
図３では、委託部１５０は、交渉処理を実行する交渉部１５１と、委託管理処理を実行する委託管理部１５２とを含んでいる。
【００５３】
交渉処理および委託管理処理の内容はプログラムとして準備され、それらのプログラムはメモリ１０２内に格納されている。すなわち、プロセッサ１０１がメモリ１０２内の交渉処理用のプログラムを実行することによって、交渉部１５１が実現される。また、プロセッサ１０１がメモリ１０２内の委託管理処理用のプログラムを実行することによって、委託管理部１５２が実現される。
【００５４】
指定内容のデータである指定内容データ１６３が、交渉部１５１によって情報格納部１６０に格納される。また、情報格納部１６０内の指定内容データ１６３は、委託管理部１５２等によって参照される。
【００５５】
情報格納部１６０はメモリ１０２によって実現される。図３によれば、情報格納部１６０には、制御関連データ１６１と、アドレステーブル１６２と、指定内容データ１６３とが格納される。なお、制御関連データ１６１を格納している記憶領域を、制御関連データ格納部と呼んでもよい。同様に、アドレステーブル１６２を格納している記憶領域を、アドレステーブル格納部と呼び、指定内容データ１６３を格納している記憶領域を、指定内容データ格納部と呼んでもよい。
【００５６】
＜２．２．通信中継機器２００の機能の概略＞
図４に、通信中継機器２００の機能ブロック図を示す。図４によれば、通信中継機器２００は、通信制御部２３０と、受託部２５０と、情報格納部２６０とを含んでいる。
【００５７】
通信制御部２３０は、通信中継機器２００に到来する通信信号、換言すればパケットを中継する。通信制御部２３０は、通信ＩＦ２０４と、プロセッサ２０１と、メモリ２０２に格納されている通信制御部２３０用のプログラムとによって、実現される。すなわち、プロセッサ２０１が通信制御部２３０用のプログラムを実行し、且つ、プロセッサ２０１が通信ＩＦ２０４と協働することによって、中継処理が実行される。
【００５８】
中継処理において通信制御部２３０は、通信ＩＦ２０４のポート２０４Ｐ１〜２０４Ｐ４に外部から到来した信号を、プロセッサ２０１が取り扱い可能な信号に変換し、その受信信号に含まれるパケットを解析し、受信パケットの宛先を判別する。
【００５９】
宛先がアドレステーブル２６２に登録されている場合、通信制御部２３０は、受信パケットを、指定された宛先に送信するための外部通信用の信号を生成し、生成した信号を通信ＩＦ２０４のポート２０４Ｐ１〜２０４Ｐ４のうちで宛先に応じたポートから出力する。その際、通信制御部２３０は、宛先に応じたポートを、アドレステーブル２６２から判別する。ここで、アドレステーブル２６２には、通信ＩＦ２０４のポート２０４Ｐ１〜２０４Ｐ４の接続されている機器（ここでは制御装置１００および通信機器５００）の通信アドレス等の情報が記録されている。アドレステーブル２６２は情報格納部２６０に格納されている。
【００６０】
宛先が通信中継機器２００自身である場合、通信制御部２３０は、受信パケットの種別等に応じて、通信中継機器２００内の担当の機能ブロックに受信パケットを引き渡す。
【００６１】
なお、宛先がアドレステーブル２６２に登録されておらず且つ当該宛先が通信中継機器２００自身ではない場合、通信制御部２３０は受信パケットを破棄する。
【００６２】
また、中継処理は、後述するネットワーク確立処理を含む。当該ネットワーク確立処理はアドレステーブル２６２の作成処理を含む。
【００６３】
受託部２５０は、交渉処理と受託管理処理とを実行する。交渉処理は、制御装置１００が外部通信による指示に従って実行する処理内容のうちで、当該通信中継機器２００で受託する内容を、制御装置１００の交渉部１５１と交渉することを含む。受託管理処理は、交渉処理によって受託の指定がなされた処理内容である指定内容、すなわち受託内容を実行すること、および、その実行のための管理を行うことを含む。
【００６４】
図４では、受託部２５０は、交渉処理を実行する交渉部２５１と、受託管理処理を実行する受託管理部２５２とを含んでいる。
【００６５】
交渉処理および受託管理処理の内容はプログラムとして準備され、それらのプログラムはメモリ２０２内に格納されている。すなわち、プロセッサ２０１がメモリ２０２内の交渉処理用のプログラムを実行することによって、交渉部２５１が実現される。また、プロセッサ２０１がメモリ２０２内の受託管理処理用のプログラムを実行することによって、受託管理部２５２が実現される。
【００６６】
指定内容のデータである指定内容データ２６３が、交渉部２５１によって情報格納部２６０に格納される。また、情報格納部２６０内の指定内容データ２６３は、受託管理部２５２等によって参照される。指定内容データ２６３は、制御装置１００が保有している指定内容データ１６３と同様である。
【００６７】
情報格納部２６０はメモリ１０２によって実現される。図４によれば、情報格納部２６０には、アドレステーブル２６２と、指定内容データ２６３とが格納されている。なお、アドレステーブル２６２を格納している記憶領域を、アドレステーブル格納部と呼んでもよい。同様に、指定内容データ２６３を格納している記憶領域を、指定内容データ格納部と呼んでもよい。
【００６８】
また、図４によれば、情報格納部２６０には、指定内容関連データ２６４が格納されている。指定内容関連データ２６４は、指定内容の実行に関連するデータである。具体的には、指定内容が、制御装置１００が保有しているデータの読み出し要求に対して応答することを含む場合、その読み出し対象データが指定内容関連データ２６４である。読み出し対象データは、制御装置１００から供給され、情報格納部２６０に格納される。また、指定内容が、書き込み要求によって送信されてきた書き込み対象データを制御装置１００に格納することを含む場合、その書き込み対象データが指定内容関連データ２６４である。書き込み対象データは、情報格納部２６０に一旦、格納され、後に制御装置１００に供給される。指定内容関連データ２６４を格納している記憶領域を、指定内容関連データ格納部と呼んでもよい。
【００６９】
また、図４によれば、情報格納部２６０には、交渉指示情報２６５が格納されている。交渉指示情報２６５は、交渉処理を実行するか否かを指示する情報である。具体的には、交渉指示情報２６５が交渉処理の実行を指示している場合、交渉部２５１は交渉指示情報２６５を参照して交渉処理を実行する。これに対し、交渉指示情報２６５が交渉処理の実行を指示していない場合、交渉部２５１は交渉指示情報２６５を参照して交渉処理を実行しない。
【００７０】
交渉指示情報２６５を格納している記憶領域を、交渉指示情報格納部と呼んでもよい。ここで、交渉指示情報２６５は、いわゆるフラグによって表現することが可能である。具体的には、フラグの一の状態を交渉処理を実行することに割り当て、フラグの他の状態を交渉処理を実行しないことに割り当てれば、交渉指示情報格納部を１ビットの記憶容量によって実現できる。
【００７１】
交渉指示情報２６５の内容、換言すれば上記フラグの状態は、ユーザが通信機器５００を使って設定するものとする。具体的には、ユーザが通信機器５００を操作して交渉指示情報２６５の内容を入力し、それにより通信機器５００が交渉指示情報２６５の内容設定用のパケットを通信中継機器２００に送信する。通信中継機器２００では、通信制御部２３０が受信パケットを交渉部２５１に引き渡し、交渉部２５１が受信パケットの指示に従って交渉指示情報２６５の内容を設定する。
【００７２】
＜２．３．通信機器５００の機能の概略＞
図５に、通信機器５００の機能ブロック図を示す。図５によれば、通信機器５００は、通信制御部５３０と、指示発行部５５０と、情報格納部５６０とを含んでいる。なお、図５では、入力装置５０６および表示装置５０７の図示を省略している。
【００７３】
通信制御部５３０は、通信機器５００の外部通信を制御する。通信制御部５３０は、通信ＩＦ５０４と、プロセッサ５０１と、メモリ５０２に格納されている通信制御部５３０用のプログラムとによって、実現される。すなわち、プロセッサ５０１が通信制御部５３０用のプログラムを実行し、且つ、プロセッサ５０１が通信ＩＦ５０４と協働することによって、外部通信処理が実行される。
【００７４】
外部通信処理は、送信処理と受信処理とを含む。送信処理において通信制御部５３０は、通信機器５００内の機能ブロック、例えば指示発行部５５０が発行したパケットを取得し、当該パケットを、指定された宛先（ここでは制御装置１００）に送信するための外部通信用の信号を生成し、生成した信号を通信ＩＦ５０４のポート５０４Ｐから出力する。他方、受信処理において通信制御部５３０は、通信ＩＦ５０４のポート５０４Ｐに到来した信号を、プロセッサ５０１が取り扱い可能な信号に変換し、その受信信号に含まれるパケットを解析し、受信パケットの種別等に応じて、通信機器５００内の担当の機能ブロックに受信パケットを引き渡す。
【００７５】
また、外部通信処理は、後述するネットワーク確立処理を含む。当該ネットワーク確立処理はアドレステーブル５６２の作成処理を含む。アドレステーブル５６２には、通信ＩＦ５０４のポート５０４Ｐに接続されている機器（ここでは通信中継機器２００）の通信アドレス等の情報が記録されている。アドレステーブル５６２は情報格納部５６０に格納されている。
【００７６】
指示発行部５５０は、制御装置１００に与える指示を、予め規定されたタイミングで発行し、その指示を制御装置１００に送信するためのパケットを生成し、当該指示パケットを通信制御部５３０に引き渡す。指示発行部５５０は、プロセッサ５０１と、メモリ５０２に格納されている指示発行部５５０用のプログラムとによって、実現される。すなわち、プロセッサ５０１が指示発行部５５０用のプログラムを実行することによって、指示発行処理が実行される。
【００７７】
情報格納部５６０はメモリ５０２によって実現される。図５によれば、情報格納部５６０には、アドレステーブル５６２が格納される。なお、アドレステーブル５６２を格納している記憶領域を、アドレステーブル格納部と呼でもよい。
【００７８】
＜３．ネットワーク確立処理＞
ここではＥｔｈｅｒｎｅｔ、ＴＣＰ／ＩＰ等の一般的な規格の下、ネットワーク確立処理を説明する。
【００７９】
制御装置１００のポート１０４Ｐと通信中継機器２００のポート２０４Ｐ３とがケーブルで接続されると、制御装置１００の通信制御部１３０と通信中継機器２００の通信制御部２３０とが、最初に、リンクアップとして通信方式、通信速度等を調整する。具体的には、通信方式として全二重と半二重とうちのいずれを用いるかが確定される。また、通信速度として１０Ｍｂｐｓと１００Ｍｂｐｓと１Ｇｂｐｓとのうちのいずれを用いるかが確定される。
【００８０】
リンクアップの後、制御装置１００の通信制御部１３０は自身の通信アドレス（Ｅｔｈｅｒｎｅｔの場合はＭＡＣアドレス（Media Access Control address））を、リンクアップした相手である通信中継機器２００の通信制御部２３０に通知する。同様に、通信中継機器２００の通信制御部２３０は自身の通信アドレスを、制御装置１００の通信制御部１３０に通知する。これにより、制御装置１００の通信制御部１３０は、ポート１０４Ｐにどのような通信アドレスを有する機器が接続されているのかを識別することが可能になる。制御装置１００の通信制御部１３０は、ポート１０４Ｐと、通信中継機器２００の通信制御部２３０の通信アドレスとの対応付けを、アドレステーブル１６２に記録する。同様に、通信中継機器２００の通信制御部２３０は、ポート２０４Ｐ３と、制御装置１００の通信制御部１３０の通信アドレスとの対応付けをアドレステーブル２６２に記録する。
【００８１】
通信中継機器２００のポート２０４Ｐ１と通信機器５００のポート５０４Ｐとがケーブルで接続された場合も、同様の動作が行われる。その結果、通信機器５００のアドレステーブル５６２には、ポート５０４Ｐと、通信中継機器２００の通信制御部２３０の通信アドレスとの対応付けが記録される。また、通信中継機器２００のアドレステーブル２６２には、ポート２０４Ｐ１と通信機器５００の通信制御部５３０の通信アドレスとの対応付けが、記録される。
【００８２】
通信中継機器２００のアドレステーブル２６２には、制御装置１００との対応付けと、通信機器５００との対応付けとが記録されている。このため、アドレステーブル２６２を参照すれば、制御装置１００と通信機器５００とが通信中継機器２００を介して接続されているという通信経路情報を把握することができる。
【００８３】
＜４．交渉処理＞
ネットワークの確立後、制御装置１００と通信中継機器２００との間で交渉処理が行われる。図６に交渉処理を説明するフローチャートを示す。図６によれば、通信中継機器２００では、ネットワークの確立後のステップＳ２０１において、受託部２５０の交渉部２５１が交渉処理を実行するか否かを決定する。具体的には、通信制御部２３０が交渉部２５１に対して、交渉処理を実行するか否かを問い合わせる。交渉部２５１は、その問い合わせを受けると、交渉指示情報２６５の内容に応じて、交渉処理を実行するか否かを決定する。
【００８４】
交渉指示情報２６５が交渉処理の実行を指示している場合、交渉部２５１は、次のステップＳ２０２において、制御装置１００に対して、交渉処理の開始を通知する。具体的には、交渉部２５１は、交渉処理専用の通信パケットを生成し、当該パケットを制御装置１００宛てに送信するように通信制御部２３０に依頼する。通信制御部２３０は、アドレステーブル２６２を参照して制御装置１００宛てのポートがポート２０４Ｐ３であることを判別し、そのポート２０４Ｐ３からパケットを送信する。
【００８５】
制御装置１００では、通信制御部１３０がパケットを受信すると、ステップＳ１０２において、受信パケットが交渉処理の開始を通知するものであるか否かが判別される。具体的には、通信制御部１３０が、受信パケットが交渉専用パケットであるか否かを判別する。判別の結果、受信パケットが交渉専用パケットである場合、通信制御部１３０は受信パケットを委託部１５０に引き渡す。委託部１５０は、引き渡された交渉専用パケットが交渉処理の開始を通知するものであるか否かを判別する。
【００８６】
判別の結果、受信パケットが交渉処理の開始を通知するものである場合、制御装置１００の交渉部１５１と通信中継機器２００の交渉部２５１とが交渉処理を実行する（ステップＳ１０３，Ｓ２０３）。
【００８７】
具体的には、制御装置１００の交渉部１５１が、指定候補内容を受託してもらえるか否かを問い合わせるための交渉専用パケットを生成し、通信制御部１３０を介して通信中継機器２００に送信する。ここで、指定候補とは、制御装置１００が外部通信による指示に従って実行する処理内容のうちで通信中継機器２００に委託する（換言すれば、通信中継機器で受託する）指定内容の候補のことである。また、指定候補内容とは、指定候補の処理内容のことである。どの処理内容を指定候補内容にするのかについては、予め規定されているものとする。
【００８８】
指定候補内容および指定内容は、処理単位の観点から規定することができる。すなわち、指定候補内容および指定内容は、複数の処理単位によって構成される内容でもよいし、あるいは、１つの処理単位であってもよい。後者の１つの処理単位として、ＴＣＰ／ＩＰでのＨＴＴＰ（Hypertext Transfer Protocol）のように通信プロトコルにおいて特定のポートに割り当てられている通信サービス処理の単位が例示される。
【００８９】
また、指定候補内容および指定内容は、扱うデータの観点から規定することができる。例えば、指定したデータ（データ群である場合を含む）にアクセスする処理を、指定候補内容および指定内容として規定することができる。この場合、アクセス対象データの用途は限定されない。また、指定されていないデータに対するアクセスは実行されない。
【００９０】
通信中継機器２００の通信制御部２３０が受信パケットが交渉専用パケットであると判別すると、受信パケットは受託部２５０に引き渡される。受託部２５０は受信パケットが指定候補内容の問い合わせであると判別すると、その問い合わせを交渉部２５１に検討させる。そして、交渉部２５１は、検討結果を通知するための交渉専用パケットを生成し、通信制御部２３０を介して制御装置１００に送信する。
【００９１】
このように交渉専用パケットのやり取りによって、制御装置１００での交渉処理のステップＳ１０３と、通信中継機器２００での交渉処理のステップＳ２０３と、が実行される。
【００９２】
交渉の結果、通信中継機器２００に委託する（換言すれば、通信中継機器で受託する）指定内容が決定した場合（ステップＳ１０４，Ｓ２０４）、制御装置１００はステップＳ１０５において、指定内容データ１６３を生成して情報格納部１６０に格納する。同様に、通信中継機器２００はステップＳ２０５において、指定内容データ２６３を生成して情報格納部２６０に格納する。
【００９３】
その後、制御装置１００では、交渉部１５１が委託管理部１５２に交渉成立を通知することにより、委託管理部１５２がステップＳ１０６において委託準備処理を実行する。なお、委託準備処理は、指定内容の実行を管理する委託管理処理に含まれる。委託準備処理では、委託管理部１５２が、指定内容の実行に必要なプログラムおよびデータを、通信制御部１３０を介して通信中継機器２００に転送する。
【００９４】
一方、通信中継機器２００では、受託管理部２５２が交渉部２５１から交渉成立の通知を受けると、受託管理部２５２はステップＳ２０６において受託準備処理を実行する。なお、受託準備処理は、指定内容の実行およびその管理を行う受託管理処理に含まれる。受託準備処理では、受託管理部２５２は、制御装置１００から送られてきたプログラムおよびデータを、通信制御部１３０を介して取得し、メモリ２０２に格納する。これにより、プロセッサ２０１が当該プログラムを実行することによって、受託管理部２５２に、指定内容を実行する機能が追加される。
【００９５】
委託準備処理において通信中継機器２００に転送されるデータは、例えば制御関連データ１６１の一部または全部である。通信中継機器２００の受託管理部２５２は当該データを、指定内容の実行に関連する指定内容関連データ２６４として、情報格納部２６０に格納する。後述のように、指定内容関連データ２６４は、委託管理処理および受託管理処理に含まれるデータ同期処理によって、制御装置１００が保有する制御関連データ１６１と同期される。
【００９６】
なお、上記ステップＳ２０１において交渉部２５１が交渉処理を実行しないと決定した場合、その時点で通信中継機器２００は図６のフローを終了する。また、制御装置１００では、交渉部１５１が、ネットワーク確立後の予め規定された待ち時間の間に、交渉開始通知を受信しなかった場合、その時点で制御装置１００は図６のフローを終了する。また、交渉不成立の場合（ステップＳ１０４，Ｓ２０４参照）も同様である。
【００９７】
なお、交渉処理を常に開始する構成では、ステップＳ２０１および交渉指示情報２６５が省略される。
【００９８】
ここで、交渉処理について、説明を加える。指定候補内容についての交渉処理は、その指定候補内容に関連する参考情報に基づいて実行される。参考情報には例えば次の７つの情報（１）〜（７）が含まれる。なお（１）〜（７）の数字は優先度等を表すものではない。
（１）指定候補内容が通信中継機器２００の仕様に準拠しているか否かの情報、
（２）制御装置１００が指定候補内容を実行するのにかかる実行時間、
（３）通信中継機器２００が指定候補内容を実行するのにかかる実行時間、
（４）制御装置１００が指定候補内容を実行するために割り当て可能な許容時間、
（５）通信中継機器２００が指定候補内容を実行するために割り当て可能な許容時間、
（６）制御装置１００において指定候補内容を実行するために利用可能なメモリリソース量、
（７）通信中継機器２００において指定候補内容を実行するために利用可能なメモリリソース量。
【００９９】
上記（１）に関し、通信中継機器２００が指定候補内容を仕様上、実行不能であれば、その指定候補内容は委託できない。
【０１００】
上記（２）および（３）に関し、指定候補内容の実行時間は、制御装置１００および通信中継機器２００の処理性能に依存する。すなわち、同じ処理（例えばＨＴＴＰ通信プロトコルの処理）であっても、処理性能の差が実行時間の差として現れる。また、処理性能の各種項目を比較するよりも、実行時間を比較する方が簡便である。また、実行時間によれば、許容時間との比較がしやすい。
【０１０１】
上記（４）および（５）に関し、制御装置１００において指定候補内容のための許容時間が少ないほど、その指定候補内容を通信中継機器２００に委託した方が、より好ましいと評価できる。また、通信中継機器２００において指定候補内容のための許容時間が少ないほど、その指定候補内容を通信中継機器２００に委託することの困難性が、より高いと評価できる。
【０１０２】
上記（６）および（７）に関し、利用可能なメモリ量が大きければ、指定候補内容の処理上、より好ましいと評価できる。
【０１０３】
上記（４）に関し、説明を加える。図７に、制御処理が一定時間の周期で、すなわち定期的に実行されることが要求されている場合のタイミングチャートを示す。制御処理の周期の長さすなわち上記一定時間をＴｃとし、制御処理の実行時間をＴａとし、制御処理の休止時間をＴｂとすると、Ｔｃ＝Ｔａ＋Ｔｂが成り立つ。
【０１０４】
制御装置１００において指定候補内容を実行する場合、制御処理に支障が出ないようにするために、指定候補内容を制御処理の休止期間で行うことになる。このため、上記（４）に関し、制御装置１００が指定候補内容を実行するために割り当て可能な許容時間はＴｂである。このとき、許容時間Ｔｂの値は、上記一定時間Ｔｃから上記実行時間Ｔａを減算した値Ｔｃ−Ｔａである。なお、制御処理が定期的に実行される限り、すなわちＴｃが一定である限り、制御処理の実行時間Ｔａが異なっても、許容時間Ｔｂ＝Ｔｃ−Ｔａが成り立つ。
【０１０５】
また、図８に、制御処理の開始タイミングに厳密性が要求されない場合、換言すれば開始タイミングが調整可能である場合のタイミングチャートを示す。この場合、各実行期間の後に休止期間を設け、当該休止期間を、制御装置１００が指定候補内容を実行するために割り当て可能な許容時間として利用できる。
【０１０６】
ここでは、当該許容時間を、実行時間に、予め規定された比率を乗算した値によって定義する。具体的には、制御処理の実行時間をＴａとし、その制御処理の後の休止時間をＴｂとし、上記比率をＫとすると、許容時間ＴｂをＴｂ＝Ｔａ×Ｋによって算出する。図８では各回の実行時間Ｔａ１，Ｔａ２，Ｔａ３が異なり、Ｔｂ１＝Ｔａ１×Ｋ１、Ｔｂ２＝Ｔａ２×Ｋ２、および、Ｔｂ３＝Ｔａ３×Ｋ３によって、各回の許容時間Ｔｂ１，Ｔｂ２，Ｔｂ３を算出している。図８では比率Ｋ１，Ｋ２，Ｋ３の全てが異なるが、Ｋ１，Ｋ２，Ｋ３のうちの少なくとも２つが同じ値であってもよい。
【０１０７】
上記のように図８では実行時間Ｔａ１，Ｔａ２，Ｔａ３が異なるが、Ｔａ１，Ｔａ２，Ｔａ３のうちの少なくとも２つが同じ値であってもよい。この場合も、比率Ｋ１，Ｋ２，Ｋ３の全てが異なってもよいし、あるいは、Ｋ１，Ｋ２，Ｋ３のうちの少なくとも２つが同じ値であってもよい。
【０１０８】
制御処理の連続的な実行を優先する場合、比率Ｋ，Ｋ１，Ｋ２，Ｋ３の値は小さいほど、すなわち０に近いほど、より好ましい。逆に、許容時間の確保を優先する場合、比率Ｋ，Ｋ１，Ｋ２，Ｋ３の値は大きいほど、より好ましい。制御処理の実行と許容時間の確保とのいずれを優先するかは、制御装置１００を利用するシステムの特性に拠る。このため、比率Ｋ，Ｋ１，Ｋ２，Ｋ３の値は、当該システムの設計者または利用者が通信機器５００を使って設定および変更できるものとする。
【０１０９】
なお、図８において制御処理の開始間隔Ｔｃ１，Ｔｃ２，Ｔｃ３は、Ｔｃ１＝Ｔａ１＋Ｔｂ１、Ｔｃ２＝Ｔａ２＋Ｔｂ２、および、Ｔｃ３＝Ｔａ３＋Ｔｂ３によって、算出される。Ｔｃ１，Ｔｃ２，Ｔｃ３の全てが同じ場合、各回の制御処理が定期的に実行されることになる。逆に、Ｔｃ１，Ｔｃ２，Ｔｃ３のうちの少なくとも１つが異なれば、制御処理は不定期に実行されることになる。
【０１１０】
＜５．委託しない場合＞
まず、通信中継機器２００に処理を委託しない場合について説明する。ここでは、図６のフローを途中で終了し、そのため制御装置１００用の指定内容データ１６３，２６３が生成されなかったものとする。図９に、通信中継機器２００に処理を委託しない場合のシーケンス図を示す。
【０１１１】
図９によれば通信機器５００において、指示発行部５５０が指示パケットを発行し、当該パケットを制御装置１００宛てに送信するように通信制御部５３０に依頼する。ここでは、指示パケットが、制御関連データ１６１の読み出し要求を指示するものとする。
【０１１２】
通信中継機器２００では、通信制御部２３０が上記指示パケットをポート２０４Ｐ１を介して受信する。通信制御部２３０は、受信パケットを解析することによって宛先が制御装置１００であることを判別する。さらに、通信制御部２３０は、制御装置１００用の指定内容データ２６３が情報格納部２６０に存在するか否かを判別する。ここでは制御装置１００用の指定内容データ２６３は存在しないので、通信制御部２３０は次に、アドレステーブル２６２を参照して制御装置１００宛てのポートがポート２０４Ｐ３であることを判別する。そして、通信制御部２３０は、受信パケットをポート２０４Ｐ３から送信する。
【０１１３】
制御装置１００では、通信制御部１３０がパケットを受信すると、通信制御部１３０は、受信パケットを解析することによって、当該パケットが、制御関連データ１６１の読み出し要求であることを判別する。さらに、通信制御部１３０は、制御装置１００用の指定内容データ１６３が情報格納部１６０に存在するか否かを判別する。ここでは制御装置１００用の指定内容データ１６３は存在しないので、通信制御部１３０は、当該読み出し要求を実行可能なデータアクセス部１４０に、当該パケットを引き渡す。データアクセス部１４０は、パケットの指示内容に従って、指示されている制御関連データ１６１を情報格納部１６０から読み出す。データアクセス部１４０は、読み出したデータ１６１を送信するための応答パケットを生成し、当該応答パケットを要求元である通信機器５００宛てに送信するように通信制御部１３０に依頼する。
【０１１４】
通信中継機器２００では、通信制御部２３０が上記応答パケットをポート２０４Ｐ３を介して受信する。通信制御部２３０は、受信パケットを解析することによって宛先が通信機器５００あることを判別し、さらに、アドレステーブル２６２を参照して通信機器５００宛てのポートがポート２０４Ｐ１であることを判別する。そして、通信制御部２３０は、受信パケットをポート２０４Ｐ１から送信する。
【０１１５】
通信機器５００では、通信制御部５３０が応答パケットを取得し、指示発行部５５０に引き渡す。これにより、制御関連データ１６１の読み出し要求が完了する。
【０１１６】
ここで、交渉処理の結果、制御装置１００用の指定内容データ１６３，２６３が生成されたが、その指定内容に制御関連データ１６１の読み出し要求の実行が含まれていない場合も、上記と同様の処理が実行される。但し、制御装置１００の通信制御部１３０が受信したパケットは、委託管理部１５２を経由して、データアクセス部１４０に引き渡される。すなわち、通信制御部１３０は、指定内容データ１６３が存在することを判別すると、受信パケットを委託管理部１５２に引き渡す。そして、委託管理部１５２が、当該パケットは制御関連データ１６１の読み出し要求であることを判別し、当該パケットをデータアクセス部１４０に引き渡す。
【０１１７】
また、通信機器５００が発行する指示パケットが、制御関連データ１６１の書き込み要求を指示するものである場合も、上記と同様の処理が行われる。但し、書き込み完了の報告を必要としない規格の場合、応答パケットの送信は不要である。なお、書き込み対象データが例えば制御対象９０に設定する制御データである場合、その制御データが制御関連データ１６１として情報格納部１６０に格納されることによって、対象制御部１２０がその制御データを利用可能になる。
【０１１８】
＜６．委託する場合＞
次に、通信中継機器２００に処理を委託する場合、すなわち、制御装置１００用の指定内容データ１６３，２６３が生成され、その指定内容に制御関連データ１６１の読み出し要求の実行が含まれている場合について説明する。図１０に、通信中継機器２００に処理を委託する場合のシーケンス図を示す。
【０１１９】
図９のシーケンスと同様に、通信機器５００からデータ読み出し要求の指示パケットが送信され、通信中継機器２００が当該指示パケットを受信する。
【０１２０】
通信中継機器２００では、通信制御部２３０は、受信パケットを解析することによって宛先が制御装置１００であることを判別する。さらに、通信制御部２３０は、制御装置１００用の指定内容データ２６３が情報格納部２６０に存在するか否かを判別する。通信制御部２３０は、指定内容データ２６３の存在を確認すると、受信パケットを受託管理部２５２に引き渡す。
【０１２１】
受託管理部２５２は、引き渡されたパケットを解析することによって、当該パケットが、制御関連データ１６１の読み出し要求の指示パケットであることを判別する。さらに受託管理部２５２は、制御関連データ１６１の読み出し要求が指定内容データ２６３に含まれていることを判別する。このため、受託管理部２５２は、パケットの指示内容に従って、指示されている制御関連データ１６１に対応する指定内容関連データ２６４を情報格納部２６０から読み出す。そして、受託管理部２５２は、読み出したデータ２６４を送信するための応答パケットを生成し、当該応答パケットを要求元である通信機器５００宛てに送信するように通信制御部２３０に依頼する。
【０１２２】
通信制御部２３０は、アドレステーブル２６２を参照して通信機器５００宛てのポートがポート２０４Ｐ１であることを判別し、当該ポート２０４Ｐ１から応答パケットを送信する。
【０１２３】
通信機器５００では、通信制御部５３０が応答パケットを取得し、指示発行部５５０に引き渡す。これにより、制御関連データ１６１の読み出し要求が完了する。
【０１２４】
ここで、委託しない場合でも説明したように、通信機器５００が発行する指示パケットは、制御関連データ１６１の書き込み要求を指示するものであってもよい。その場合も上記と同様の処理が行われる。但し、書き込み完了の報告を必要としない規格の場合、応答パケットの送信は不要である。
【０１２５】
＜７．データ同期処理＞
ここで、図１０に示されているデータ同期処理を説明する。なお、データ同期処理は委託管理処理および受託管理処理に含まれる。データ同期処理は、通信中継機器２００が保有している指定内容関連データ２６４を、制御装置１００と通信中継機器２００との間で同期させる処理である。なお、指定内容関連データ２６４が制御関連データ１６１の一部である場合、制御関連データ１６１のうちで指定内容関連データ２６４に対応するデータを同期させれば、指定内容の実行上、足りる。
【０１２６】
図１０で説明したように、指定内容が、制御装置１００が保有しているデータの読み出し要求に対して応答することを含む場合、制御装置１００におけるデータ同期処理では、制御装置１００が保有しているその読み出し対象データを通信中継機器２００に供給する。換言すれば、通信中継機器２００におけるデータ同期処理では、制御装置１００が保有しているその読み出し対象データを制御装置１００から取得する。なお、読み出し対象データは例えば、制御対象９０の状態を示すデータであり制御関連データ１６１として情報格納部１６０に格納されているデータである。
【０１２７】
具体的には、制御装置１００の委託管理部１５２が、データ同期処理のためのデータ送信であることを示す、委託管理処理専用のパケットを発行し、当該パケットを通信中継機器２００宛てに送信するように通信制御部１３０に依頼する。通信中継機器２００が当該パケットを受信すると、通信制御部２３０は受信パケットが委託管理専用のパケットであることを判別し、当該受信パケットを受託管理部２５２に引き渡す。受託管理部２５２は、当該パケットがデータ同期処理のためのものであることを判別し、パケットに含められていた同期対象データ（すなわち読み出し対象データ）を指定内容関連データ２６４として情報格納部２６０に格納する。その際、同じ指定内容関連データ２６４が既に存在する場合、既存のそのデータは更新される。
【０１２８】
また、指定内容が、書き込み要求によって送信されてきた書き込み対象データを制御装置１００に格納することを含む場合、通信中継機器２００は、書き込み要求の実行によって、書き込み対象データを指定内容関連データ２６４として、情報格納部２６０に格納している。このため、通信中継機器２００におけるデータ同期処理では、通信中継機器２００が保有しているその指定内容関連データ２６４を、制御装置１００に供給する。換言すれば、制御装置１００におけるデータ同期処理では、通信中継機器２００が保有しているその書き込み対象データを通信中継機器２００から取得する。なお、書き込み対象データが例えば制御対象９０に設定する制御データである場合、その制御データは制御関連データ１６１として情報格納部１６０に格納される。
【０１２９】
具体的には、通信中継機器２００の受託管理部２５２が、データ同期処理のためのデータ送信であることを示す、受託管理処理専用のパケットを発行し、当該パケットを制御装置１００宛てに送信するように通信制御部２３０に依頼する。制御装置１００が当該パケットを受信すると、通信制御部１３０は受信パケットが受託管理専用のパケットであることを判別し、当該受信パケットを委託管理部１５２に引き渡す。委託管理部１５２は、当該パケットがデータ同期処理のためのものであることを判別し、パケットに含められていた同期対象データ（すなわち書き込み対象データ）を情報格納部１６０に格納する。その際、同じ種別のデータが既に存在する場合、既存のそのデータは更新される。
【０１３０】
なお、１回の同期処理において、制御装置１００から通信中継機器２００へのデータ送信と、通信中継機器２００から制御装置１００へのデータ送信と、の両方が行われる場合もある。
【０１３１】
ここで、制御処理に対する干渉を回避するために、データ同期処理は制御処理の休止中に実行するのが好ましい。また、データ同期の目的からすると、データ同期処理は制御処理が休止する度に実行するのが好ましい。しかし、通信中継機器２００は、制御装置１００における制御処理の休止タイミングを把握できない。
【０１３２】
かかる点に鑑みると、通信中継機器２００から制御装置１００へのデータ送信は、制御装置１００からの問い合わせに応じて行えばよい。具体的には、制御装置１００から通信中継機器２００へのデータ送信が無い場合であっても、制御装置１００の委託管理部１５２は、制御処理の休止中に、データ同期処理を起動し、通信中継機器２００から制御装置１００へのデータ送信が在るか否かを問い合わせる。通信中継機器２００から制御装置１００へのデータ送信が在る場合、その問い合わせに対する応答として、当該データ送信を行う。
【０１３３】
また、データ同期処理の実行タイミングを、通信機器５００からの指示パケットの受信タイミングと関連付けてもよい。例えば、通信中継機器２００が通信機器５００からのデータ読み出し要求を受信したタイミングで、通信中継機器２００の受託管理部２５２が制御装置１００の委託管理部１５２に、読み出し対象データの値が前回の読み出し時から更新されているか否かを問い合わせる。
【０１３４】
当該データ値が更新されている場合、制御装置１００の委託管理部１５２は更新後のデータ値を返信する。この場合、通信中継機器２００の受託管理部２５２は、制御装置１００から取得した更新後のデータを、読み出し対象データとして通信機器５００に送信する。また、受託管理部２５２は、その更新後のデータを情報格納部２６０に格納する。
【０１３５】
これに対し、読み出し対象データの値が前回から更新されていない場合、制御装置１００の委託管理部１５２は更新無しの旨だけを返信する。この場合、通信中継機器２００の受託管理部２５２は、情報格納部２６０に格納されている既存のデータを、読み出し対象データとして通信機器５００に送信する。
【０１３６】
＜８．変形例＞
なお、指定内容関連データ２６４は、制御関連データ１６１以外のデータであってもよい。
【０１３７】
また、上記では、指定内容が単純なデータ読み出し要求およびデータ書き込み要求である場合を説明した。しかし、指定内容はこの例に限定されるものではない。
【０１３８】
例えば、Ｗ３Ｃ（The World Wide Web Consortium）に規定されているＨＴＴＰ（Hypertext Transfer Protocol）を、指定内容に含めることも可能である。すなわち、ＨＴＴＰの場合も、指示パケットによって指示する内容は、最終的には制御装置１００に対する何かしらのデータ読み出しまたはデータ書き込みである。このため、上記と同様の処理が行われる。
【０１３９】
また、ＩＳＯ／ＩＥＣ１９４６４として規定されているＡＭＱＰ（Advanced Message Queuing Protocol）のような，いわゆるPublisher/Subscriber通信を、指定内容に含めることも可能である。なお、Publisher/SubscriberはProducer/Consumerと呼ばれることもある。Subscriber通信を例示すると、制御装置１００が通信機器５００に対してメッセージデータ発生時の購読（SubscribeまたはConsume）を登録する。登録後、メッセージデータが発生すると、当該メッセージデータが通信機器５００から制御装置１００宛てに送信される。通信中継機器２００は、当該メッセージデータを受信すると、受信したメッセージデータを指定内容関連データ２６４として保有する。そして、通信中継機器２００は、その後のデータ同期処理において、当該メッセージデータを制御装置１００に供給する。
【０１４０】
また、上記ではデータ読み出し要求およびデータ書き込み要求を例示したので、図３の制御装置１００にはデータアクセス部１４０を、制御装置１００が外部通信による指示に従って実行する処理内容を実行する外部指示実行部の一例として、図示している。しかし、交渉結果に係る指定内容が、データアクセス部１４０を利用しない処理内容だけを含む場合、委託管理処理の実行上、データアクセス部１４０は必須ではない。
【０１４１】
＜９．効果等＞
実施の形態１によれば、制御装置１００が外部通信による指示に従って実行する処理内容のうちの一部または全部を、通信中継機器２００に委託することが可能である。このため、処理を委託することによって、制御装置１００の負荷を低減し、制御性能の低下を回避することができる。また、負荷が低減することによって、制御装置に高性能なＣＰＵ等を用いる必要性が低くなる。このため、部品のコスト、換言すれば制御装置のコストを抑制することができる。
【０１４２】
また、指定内容、すなわち委託内容は、制御装置１００と通信中継機器２００とが交渉することによって決まる。つまり、指定内容は自動的に決定される。このため、ユーザは制御装置１００および通信中継機器２００を簡便に利用することができる。また、制御装置１００と通信中継機器２００とが交渉するので、例えば制御装置１００と通信中継機器２００のうちの一方または両方を交換した場合であっても、柔軟に対応することができる。
【０１４３】
また、交渉処理は指定候補内容に関連する参考情報に基づいて実行され、参考情報には例えば上記の７つの情報（１）〜（７）が含まれる。これによれば、制御装置１００が実行する処理内容と、通信中継機器２００に委託する処理内容とを、良好に割り当てることが可能になる。その結果、システム全体の応答性を良好にすることができる。
【０１４４】
また、上記では情報（４）に関し、制御装置１００が指定候補内容を実行するために割り当て可能な許容時間を、図７および図８を参照して説明した。図７および図８のいずれにおいても、交渉の際の指定候補内容、および、交渉後の指定内容は、制御処理の休止期間において実行される。これにより、制御処理に対する干渉を回避することができる。また、図８の場合、許容時間Ｔｂ１，Ｔｂ２，Ｔｂ３は、比率Ｋ１，Ｋ２，Ｋ３の設定によって、調整可能である。このため、図７の場合に比べて、システム全体の応答性を設計しやすい。
【０１４５】
また、上記のデータ同期処理によれば、通信中継機器２００に処理を委託しても、処理結果の信頼性を確保することができる。
【０１４６】
＜実施の形態２＞
実施の形態１では、制御装置１００は、委託後は、指定内容、すなわち委託内容について処理を実行しないものとした。これに対し、実施の形態２では、委託後であっても通信中継機器２００から支援要請を受けた場合には、当該支援要請を受けた処理内容を制御装置１００が実行する例を説明する。
【０１４７】
具体的には、図６の交渉処理ステップＳ１０３，Ｓ２０３において、交渉部１５１，２５１は、委託後であっても通信中継機器２００から支援要請を受けた処理内容については制御装置１００が引き受け可能であることを、取り決めておく。その際、交渉部１５１，２５１は、通信中継機器２００に委託する処理内容のうちで、制御装置１００が引き受け可能な処理内容を予め取り決めておいてもよい。
【０１４８】
そして、図６のステップＳ１０５，Ｓ２０５において、その取り決め内容を指定内容データ１６３，２６３に含める。取り決め内容は、いわゆるフラグによって表現することが可能である。具体的には、フラグの一の状態を引き受け可能であることに割り当て、フラグの他の状態を引き受け不可であることに割り当てれば、取り決め内容を１ビットの記憶容量によって実現できる。
【０１４９】
なお、通信中継機器２００が、受託後に、依頼元の制御装置に、指定内容を実行してもらうための支援要請を行うことは、受託管理処理に含まれる。同様に、制御装置１００が、委託後に通信中継機器２００から支援要請を受けた場合に、支援要請を受けた処理内容を実行することは、委託管理処理に含まれる。
【０１５０】
通信中継機器２００において、受託管理部２５２が複数の指定内容を同時期に実行すべき状況を把握した場合、受託管理部２５２は支援要請を行う。なお、同時期に複数の指定内容を実行するという表現は、複数の指定内容を実行する時刻が全く同じである場合だけでなく、予め規定された長さの期間中に複数の指定内容を実行する場合も含むものとする。
【０１５１】
例えば、図１１に示すように、受託管理部２５２がデータ読み出し要求＃１を実行中に、さらに別のデータ読み出し要求＃２を受信した状況は、複数の指定内容を同時期に実行すべき状況である。また、図１２に示すように、同時期に複数のデータ読み出し要求（ここでは３つのデータ読み出し要求＃１，＃２，＃３）を受信した状況も、複数の指定内容を同時期に実行すべき状況である。ここで、複数のデータ読み出し要求は、１つの通信機器５００から発行されてもよいし、あるいは、複数の通信機器５００（図２のネットワーク構成を参照）から発行されてもよい。なお、図１１および図１２ではデータ読み出し要求を例示しているが、他の種類の指示であってもよいし、複数種類の指示であってもよい。
【０１５２】
図１１では、通信中継機器２００の受託管理部２５２は、先に受信したデータ読み出し要求＃１についての処理が完了するのを待たずに、制御装置１００に支援要請を行う。支援要請は、受託管理部２５２が、次に受信したデータ読み出し要求＃２を、制御装置１００に転送することによって、行われる。これによれば、２つの読み出し要求＃１，＃２が、通信中継機器２００の受託管理部２５２および制御装置１００の委託管理部１５２によって、並行的に処理される。
【０１５３】
また、同時期に受信した複数の指示を、受託管理部２５２と委託管理部１５２とで分担することによって、並行的に処理が実行される。図１２では、データ読み出し要求＃１，＃３が通信中継機器２００に割り当てられ、データ読み出し要求＃２が制御装置１００に割り当てられている。同時期に受信した複数の指示の割り当ては、実施の形態１で説明した交渉処理と同様に行うことができる。
【０１５４】
すなわち、実施の形態１では、指定候補内容についての交渉処理を、その指定候補内容に関連する参考情報に基づいて実行することを説明した。また、参考情報として上記の７つの情報（１）〜（７）を説明した。かかる点に鑑みると、複数の指示を割り当てる場合も、各指示を上記参照情報に基づいて評価すれば、制御装置１００に引き受けてもらう指示を適切に抽出できる。その際、通信中継機器２００と制御装置１００とで並行的に実行する場合にかかる時間が最小になるように、割り当てを決定するのが好ましい。
【０１５５】
また、制御処理に対する干渉を回避するために、制御装置１００が制御処理の合間に実行可能な指示を制御装置１００に割り当てることも、好ましい。
【０１５６】
これらの観点に鑑みると、通信中継機器２００の受託管理部２５２は、支援要請規則に基づいて支援要請内容を決定し、支援要請内容について支援要請を行えばよい。支援要請規則は次の３つの規則（ａ）〜（ｃ）のうちの少なくとも１つを含む。なお（ａ）〜（ｃ）のアルファベットの順番は優先度等を表すものではない。
（ａ）実行待ちの指定内容が現に発生している場合、実行待ちの指定内容を支援要請内容に決定する。
（ｂ）複数の指定内容を通信中継機器２００と制御装置１００とで並行的に実行する場合にかかる時間が最小になるように、支援要請内容を決定する。
（ｃ）制御装置１００が制御処理の合間に実行可能な内容を支援要請内容に決定する。
【０１５７】
実施の形態２によれば、制御装置１００は、委託後であっても通信中継機器２００から支援要請を受けた場合には、当該支援要請を受けた処理内容を実行する。このため、状況に応じて処理内容を再分配することが可能である。特に受託管理部２５２が複数の指定内容を同時期に実行すべき状況が発生した場合には、通信中継機器２００と制御装置１００とによる並行的処理は、全体の処理時間を短縮することができる。また、指示の発行元である１つまたは複数の通信機器５００に対して、良好な応答性を確保することができる。それらのことは、システム全体の応答性の低下を回避することにも繋がる。
【０１５８】
ここで、通信中継機器２００と制御装置１００とのそれぞれが通信機器５００に応答が必要な処理内容を実行する場合（例えばデータ読み出し要求を実行する場合）において、通信中継機器２００は、通信中継機器２００が実行した処理内容について応答を終了した後に、制御装置１００で実行した処理内容について応答を送信する。仮に制御装置１００における処理が先に終了した場合であっても、通信中継機器２００が実行した処理内容についての応答パケットを先に送信する。これによれば、データ値の時間的順序を保証することができる。すなわち、データ同期処理の実行タイミングの都合で、通信中継機器２００が保有するデータの値が、制御装置１００が保有するデータの値よりも古い場合であっても、新しいデータ値が先に通信機器５００に到達するのを防止できる。
【０１５９】
＜実施の形態１，２に共通の変形例＞
実施の形態１，２では、図１のハードウェア構成図に基づき、制御装置１００の委託部１５０等の機能ブロックがソフトウェア的に実現されるものとした。これに対し、委託部１５０等の機能を、専用の処理回路によって、すなわちハードウェアによって実現することも可能である。そのような場合のハードウェア構成図を図１３に示す。図１３の制御装置１００Ｃは、図１のプロセッサ１０１とメモリ１０２とを処理回路１１０に変更した構成を有している。処理回路１１０は、委託部１５０等の機能をハードウェアによって実現した回路である。
【０１６０】
同様に図１３では、通信中継機器２００Ｃは、図１のプロセッサ２０１とメモリ２０２とを、受託部２５０等の機能をハードウェアによって実現した処理回路２１０に変更した構成を有している。ここで、通信中継機器２００Ｃが制御装置１００，１００Ｃの機能を受託するために、処理回路２１０は、受託することが想定される各種機能をハードウェアによって実現した回路を含んでいる。また、通信機器５００Ｃは、図１のプロセッサ５０１とメモリ５０２とを、指示発行部５５０等の機能をハードウェアによって実現した処理回路５１０に変更した構成を有している。
【０１６１】
なお、制御装置１００の委託部１５０等の機能を、ソフトウェアとハードウェアとの組み合わせによって実現してもよい。通信中継機器２００および通信機器５００についても同様である。
【０１６２】
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。
【符号の説明】
【０１６３】
９０  制御対象、１００，１００Ａ〜１００Ｃ  制御装置、１２０  対象制御部、１３０  通信制御部、１５０  委託部、１５１  交渉部、１５２  委託管理部、１６１  制御関連データ、１６３  指定内容データ（委託内容データ）、２００，２００Ｃ  通信中継機器、２３０  通信制御部、２５０  受託部、２５１  交渉部、２５２  受託管理部、２６３  指定内容データ（受託内容データ）、２６４  指定内容関連データ、３００，３００Ｃ  通信システム（制御システム）、５００，５００Ａ〜５００Ｃ  通信機器（通信相手）、Ｔａ，Ｔａ１〜Ｔａ３  実行時間、Ｔｂ，Ｔｂ１〜Ｔｂ３  許容時間、Ｔｃ  周期の長さ（一定時間）、Ｋ，Ｋ１，Ｋ２，Ｋ３  比率。
【図１】
2018006887.tif 000003
【図２】
2018006887.tif 000004
【図３】
2018006887.tif 000005
【図４】
2018006887.tif 000006
【図５】
2018006887.tif 000007
【図６】
2018006887.tif 000008
【図７】
2018006887.tif 000009
【図８】
2018006887.tif 000010
【図９】
2018006887.tif 000011
【図１０】
2018006887.tif 000012
【図１１】
2018006887.tif 000013
【図１２】
2018006887.tif 000014
【図１３】
2018006887.tif 000015