(57)【要約】  【課題】スレーブ側のリソースが無用に消費されること、および、マスタからの指令に対するスレーブの応答性が悪化してしまうこと、を防止する。  【解決手段】マスタからの指令情報を受信したスレーブは、その指令情報に付加されているカウント値を内蔵メモリに記憶されているカウント値と比較することで、その指令情報が最新の指令情報と同一のものであり、かつ、その指令情報に基づく処理の実行が終了している状態であるか否かをチェックする（ｓ３３０）。そして、その指令情報が該当する状態でなければ、その指令情報に従って処理を実行してから応答情報を送信するのに対し（ｓ３４０〜ｓ３５０）、該当する状態であれば、その指令情報に従った処理を実行することなく、内蔵メモリの履歴に基づいて応答情報を送信する（ｓ３７０）。【選択図】図５
2008077187.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ通信可能に接続された複数のネットワークデバイスのうち、いずれかのネットワークデバイスであるマスタにより、該マスタ以外のネットワークデバイスである１以上のスレーブそれぞれが制御されるネットワークシステムであって、
前記マスタは、
所定の指令条件が満たされた際に、所定の処理の実行を指令するための指令情報を、前記スレーブに送信する実行指令手段と、
該実行指令手段により送信される指令情報に、該指令情報を送信する契機となった指令条件が満たされたことを示す条件情報を付加する情報付加手段と、を備え、
前記実行指令手段は、前記指令情報を送信した後、該指令情報を受信した前記スレーブから、該指令情報に従って処理を実行した旨を応答するための応答情報が、所定期間内に受信されなかった場合に、そのスレーブに同じ前記指令情報を再度送信する、ように構成されており、
前記スレーブは、
前記マスタから前記指令情報を受信した際に、該指令情報に従って所定の処理を実行する処理実行手段と、
該処理実行手段により処理を実行した履歴を、該処理を実行する契機となった前記指令情報に付加されていた前記条件情報と共に記憶部へ記憶させる履歴記憶手段と、
前記処理実行手段により処理が実行された以降、該処理を実行した旨を応答するための応答情報を前記マスタに送信する処理応答手段と、を備えており、
前記処理実行手段は、前記マスタから前記指令情報を受信した際、該指令情報に付加された前記条件情報が前記記憶部に記憶されていない場合に、その指令情報に従って所定の処理を実行して、
前記処理応答手段は、前記マスタから前記指令情報を受信した際、該指令情報に付加された前記条件情報が前記記憶部に記憶されている場合に、該条件情報と共に記憶された履歴で示される処理につき、該処理を実行した旨を応答するための応答情報を前記マスタに送信する、ように構成されている
ことを特徴とするネットワークシステム。
【請求項２】
前記マスタにおいては、
前記実行指令手段により指令情報が送信される毎に、該送信される回数をカウントするカウント手段が備えられ、
前記情報付加手段が、前記実行指令手段により送信される指令情報に、前記カウント手段によるカウント値を前記条件情報として付加する、ように構成されている
ことを特徴とする請求項１に記載のネットワークシステム。
【請求項３】
前記マスタにおいては、
所定の初期化条件が満たされた際に、記憶部に記憶された履歴を消去すべき旨を要求するための要求情報を、前記スレーブに送信する消去要求手段が備えられ、
前記スレーブにおいては、
前記マスタから前記要求情報を受信した際に、前記履歴記憶手段により記憶部に記憶させられた履歴を前記条件情報と共に消去する情報消去手段が備えられている
ことを特徴とする請求項１または請求項２に記載のネットワークシステム。
【請求項４】
前記マスタにおいて、
前記実行指令手段は、前記マスタ外部からの指令を受けた際に、１以上の指令条件が順次満たされることに伴い１以上の前記指令情報を順次前記スレーブに送信して、
前記消去要求手段は、前記マスタ外部からの指令を受けた際に、前記初期化条件が満たされたとして、前記要求情報を前記スレーブに送信する、ように構成されている
ことを特徴とする請求項３に記載のネットワークシステム。
【請求項５】
請求項１から４のいずれかに記載のマスタが備える全ての手段を備えてなる
ことを特徴とするネットワークデバイス。
【請求項６】
請求項１から４のいずれかに記載のスレーブが備える全ての手段を備えてなる
ことを特徴とするネットワークデバイス。
【請求項７】
請求項１から４のいずれかに記載のマスタが備える全ての手段として機能させるための各種処理手順を、コンピュータシステムに実行させるためのプログラム。
【請求項８】
請求項１から４のいずれかに記載のスレーブが備える全ての手段として機能させるための各種処理手順を、コンピュータシステムに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、それぞれ通信可能に接続された複数のネットワークデバイスからなるネットワークシステムに関する。
【背景技術】
【０００２】
従来から、マスタであるネットワークデバイスにより、このマスタと通信可能に接続された他のネットワークデバイスであるスレーブそれぞれを制御するシステムが知られている（特許文献１参照）。
【特許文献１】特開２０００−２５０８５０号公報（例えば、図１８など）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
この種のシステムにおいては、マスタからの指令を受けたスレーブが、その指令に応じた処理を実行した後、その旨をマスタに応答するための情報を送信し、この応答を受けたマスタが、その後の処理を実行する、ように構成されている。
【０００４】
また、このスレーブからの応答が何らかの要因で一定期間内にマスタに届かないと、マスタが、再度スレーブに対して同じ指令をすることにより、そのスレーブに対して処理の実行および応答を促すように構成されていることが一般的である。
【０００５】
しかし、スレーブからの応答があったにも拘わらず、その応答が通信路におけるトラブルなどの要因でマスタ側に届かなかった場合、スレーブ側では、先の指令に基づく処理が実行されているにも拘わらず、再度、マスタからの指令を受けて同じ処理が実行されることとなる。
【０００６】
このようなことは、スレーブ側のリソースを無用に消費することとなるばかりか、スレーブ側で同じ処理を複数回実行した後で応答がなされる結果、マスタからの指令に対するスレーブの応答性が悪化してしまうという問題がある。
【０００７】
本発明は、このような課題を解決するためになされたものであり、その目的は、スレーブ側のリソースが無用に消費されること、および、マスタからの指令に対するスレーブの応答性が悪化してしまうこと、を防止するための技術を提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するため請求項１に記載のネットワークシステムは、それぞれ通信可能に接続された複数のネットワークデバイスのうち、いずれかのネットワークデバイスであるマスタにより、該マスタ以外のネットワークデバイスである１以上のスレーブそれぞれが制御されるネットワークシステムである。
【０００９】
これらのうち、前記マスタは、所定の指令条件が満たされた際に、所定の処理の実行を指令するための指令情報を、前記スレーブに送信する実行指令手段と、該実行指令手段により送信される指令情報に、該指令情報を送信する契機となった指令条件が満たされたことを示す条件情報を付加する情報付加手段と、を備えている。そして、前記実行指令手段は、前記指令情報を送信した後、該指令情報を受信した前記スレーブから、該指令情報に従って処理を実行した旨を応答するための応答情報が、所定期間内に受信されなかった場合に、そのスレーブに同じ前記指令情報を再度送信する、ように構成されている。
【００１０】
また、前記スレーブは、前記マスタから前記指令情報を受信した際に、該指令情報に従って所定の処理を実行する処理実行手段と、該処理実行手段により処理を実行した履歴を、該処理を実行する契機となった前記指令情報に付加されていた前記条件情報と共に記憶部へ記憶させる履歴記憶手段と、前記処理実行手段により処理が実行された以降、該処理を実行した旨を応答するための応答情報を前記マスタに送信する処理応答手段と、を備えている。そして、前記処理実行手段は、前記マスタから前記指令情報を受信した際、該指令情報に付加された前記条件情報が前記記憶部に記憶されていない場合に、その指令情報に従って所定の処理を実行して、前記処理応答手段は、前記マスタから前記指令情報を受信した際、該指令情報に付加された前記条件情報が前記記憶部に記憶されている場合に、該条件情報と共に記憶された履歴で示される処理につき、該処理を実行した旨を応答するための応答情報を前記マスタに送信する、ように構成されている。
【００１１】
このように構成されたネットワークシステムでは、スレーブからの応答情報が何らかの要因で所定期間内にマスタに届かない場合、マスタが、再度スレーブに対して同じ指令情報をすることにより、そのスレーブに対して処理の実行および応答を促すこととなる。
【００１２】
指令情報を受信したスレーブは、その指令情報に付加されている条件情報を記憶部に記憶されている条件情報と比較することで、その受信した指令情報が先に実行したのと同じ処理の実行を指令するものであるか否かをチェックする。そして、その指令情報が、先に実行した処理の実行を指令するものでなければ、その指令情報に従って処理を実行してから応答情報を送信するのに対し、先に実行したのと同じ処理の実行を指令するものであれば、その指令情報に従った処理を実行することなく、記憶部の履歴に基づいて応答情報を送信する。
【００１３】
ここで、マスタからの指令情報が「先に実行した処理の実行を指令するものである」場合とは、スレーブが先の指令情報に基づく応答情報を送信したにも拘わらず、通信路におけるトラブルなどの要因でそれがマスタ側に届かなかった状況を表しているといえる。
【００１４】
つまり、そのような状況において、スレーブは、その指令情報に従った処理を実行することなく、先の要求に基づいて実行した処理の履歴に基づいて直ちに応答情報をマスタ側に送信できるため、同じ処理を繰り返し実行することで無用なリソースを消費することがない。
【００１５】
また、スレーブからは、先の要求に基づいて実行した処理の履歴に基づいて直ちに応答情報がマスタ側に送信されるため、そのような処理を実行してから応答情報を送信する構成と比べてマスタからの指令情報に対するスレーブの応答性を向上させることができる。
【００１６】
なお、上述したマスタにおいて、実行指令手段が指令情報を送信する契機となる「指令条件」としては、どのような条件であってもよいが、例えば、マスタが外部からの指令を受け、その指令に基づいてスレーブに実行させるべき処理を特定したこと、その処理を実行させるべきタイミングになったこと、などが考えられる。
【００１７】
また、スレーブの履歴記憶手段が記憶部に記憶させる履歴とは、指令情報に従って処理を実行したことを示すものであればよく、例えば、その実行した処理の内容，その処理の実行前後におけるスレーブ自身の状態，その処理を実行した時刻などを履歴として記憶させるように構成すればよい。
【００１８】
また、マスタにおける情報付加手段により付加される条件情報は、指令条件が満たされたことを示す情報であればよく、その具体的な内容については特に限定されない。例えば、指定条件が満たされた時刻や、指定条件が満たされた回数をカウントしたカウント値などを条件情報として採用することが考えられる。
【００１９】
このようなカウント値を条件情報として採用するための構成としては、請求項１に記載の構成を、例えば、請求項２に記載のネットワークシステムのように構成することが考えられる。
【００２０】
このネットワークシステムにおけるマスタは、前記実行指令手段により指令情報が送信される毎に、該送信される回数をカウントするカウント手段が備えられ、前記情報付加手段が、前記実行指令手段により送信される指令情報に、前記カウント手段によるカウント値を前記条件情報として付加する、ように構成されている。
【００２１】
このように構成すれば、マスタから指令情報が送信される毎に、この指令情報の送信される回数をカウントしたカウント値が条件情報として付加される。そのため、スレーブ側では、指令情報に付加された条件情報で示されるカウント値が、記憶部に記憶された条件情報で示されるカウント値と同じ値であれば、その指令情報が先に実行した処理の実行を指令するものであるとして、記憶部の履歴に基づいて直ちに応答情報を送信することができる。
【００２２】
なお、この構成におけるカウント手段は、所定の初期値から上限値まで順次インクリメントした後でカウント値を初期値に戻すものであればよく、また、所定の初期値から下限値まで順次デクリメントした後でカウント値を初期値に戻すものであってもよい。
【００２３】
ただ、このように一定周期で初期値に戻るようなカウントを行う場合、指令情報に付加される条件情報のカウント値も一定周期で初期値に戻るため、複数の指令情報を同一のスレーブに送信し、スレーブ側で複数の処理を並行して実行させるような環境下では、異なる処理を実行させるための指令情報それぞれに同じカウント値の条件情報が付加されてしまう恐れがある。この場合、受信した指令情報に従った処理を実行していないにも拘わらず、先に実行した処理であると判定してしまい、その履歴に基づく誤った応答情報がスレーブからマスタに送信されることとなってしまう。
【００２４】
このようなことを防止するためには、カウント手段によるカウント値が充分大きな値となるように、マスタ，スレーブそれぞれのリソースを確保しておけばよいが、このように構成することは、それぞれのリソースを有効に利用するという観点から適切とはいえない。
【００２５】
そこで、それぞれのリソースを有効に利用しつつ、異なる処理を実行させるための指令情報それぞれに同じカウント値の条件情報が付加されてしまうことを防止するために、例えば、請求項１または請求項２に記載の構成を、請求項３に記載のネットワークシステムのように構成することが考えられる。
【００２６】
このネットワークシステムにおいて、マスタは、所定の初期化条件が満たされた際に、記憶部に記憶された履歴を消去すべき旨を要求するための要求情報を、前記スレーブに送信する消去要求手段が備えられている。そして、スレーブは、前記マスタから前記要求情報を受信した際に、前記履歴記憶手段により記憶部に記憶させられた履歴を前記条件情報と共に消去する情報消去手段が備えられている。
【００２７】
このように構成すれば、所定の初期化条件が満たされる毎にマスタから要求情報が送信され、この要求情報を受信したスレーブが、記憶部に記憶されている履歴を条件情報と共に消去する。
【００２８】
そのため、スレーブ側で複数の処理を並行して実行させるような環境下でも、異なる処理を実行させるための指令情報に同じカウント値の条件情報が付加されることがないような条件を初期化条件として設定することで、マスタ，スレーブそれぞれのリソースを有効に利用しつつ、同じカウント値の条件情報が付加されてしまうことを防止できる。
【００２９】
この構成における具体的な初期化条件は、異なる処理を実行させるための指令情報に同じカウント値の条件情報が付加されることがない条件であれば、その具体的な内容は特に限定されない。例えば、先に指令情報が送信されてから一定以上の時間が経過したことをもって、初期化条件が満たされたとすることが考えられる。
【００３０】
また、１以上の指令条件が順次満たされるような指令が、マスタに対してなされる場合であれば、その外部からの指令があったことをもって、初期化条件が満たされとすることが考えられる。
【００３１】
このためには、例えば、請求項３に記載の構成を、請求項４に記載のネットワークシステムのように構成することが考えられる。
このネットワークシステムのマスタにおいて、前記実行指令手段は、前記マスタ外部からの指令を受けた際に、１以上の指令条件が順次満たされることに伴い１以上の前記指令情報を順次前記スレーブに送信して、前記消去要求手段は、前記マスタ外部からの指令を受けた際に、前記初期化条件が満たされたとして、前記要求情報を前記スレーブに送信する、ように構成されている。
【００３２】
このように構成すれば、マスタに対する外部からの指令があったことをもって、初期化条件が満たされたものとし、スレーブ側に記憶されている履歴を消去することができる。
また、請求項５に記載のネットワークデバイスは、請求項１から４のいずれかに記載のマスタが備える全ての手段を備えてなるものである。
【００３３】
このように構成されたネットワークデバイスによれば、請求項１から４のいずれかに記載のネットワークシステムの一部を構成することができる。
また、請求項６に記載のネットワークデバイスは、請求項１から４のいずれかに記載のスレーブが備える全ての手段を備えてなるものである。
【００３４】
このように構成されたネットワークデバイスによれば、請求項１から４のいずれかに記載のネットワークシステムの一部を構成することができる。
また、請求項７に記載のプログラムは、請求項１から４のいずれかに記載のマスタが備える全ての手段として機能させるための各種処理手順を、コンピュータシステムに実行させるためのプログラムである。
【００３５】
このプログラムにより制御されるコンピュータシステムは、請求項１から４のいずれかに記載のネットワークシステムの一部を構成することができる。
また、請求項８に記載のプログラムは、請求項１から４のいずれかに記載のスレーブが備える全ての手段として機能させるための各種処理手順を、コンピュータシステムに実行させるためのプログラムである。
【００３６】
このプログラムにより制御されるコンピュータシステムは、請求項１から４のいずれかに記載のネットワークシステムの一部を構成することができる。
なお、上述した各プログラムは、コンピュータシステムによる処理に適した命令の順番付けられた列からなるものであって、各種記録媒体や通信回線を介してネットワークデバイスやこれを利用するユーザに提供されるものである。
【発明を実施するための最良の形態】
【００３７】
以下に本発明の実施形態を図面と共に説明する。
（１）全体構成
車両遠隔制御システム１は、それぞれネットワーク（ＣＡＮ）を介して通信可能に接続された複数のネットワークデバイスからなり、これらのうち、いずれかのネットワークデバイスがマスタとなり、このマスタが、マスタ以外のネットワークデバイスをスレーブとして制御するように構成されたネットワークシステムである。
【００３８】
本実施形態においては、車両各部の動作を制御する複数の電子制御装置（ＥＣＵ）それぞれがネットワークデバイスとしてネットワークに接続され、これらのうち、後述するリモートＥＣＵ１０がマスタとなって、他のＥＣＵを制御するように構成されている。
【００３９】
このネットワークに接続されたＥＣＵには、各ＥＣＵを制御するリモートＥＣＵ１０，車両におけるエンジンを制御するエンジンＥＣＵ２０，車両におけるドアのロックを制御するドアロックＥＣＵ３０，車両におけるライトの点灯を制御するライトＥＣＵ４０，車両における窓の開閉を制御するパワーウィンドウＥＣＵ５０，車両におけるサンルーフの開閉を制御するサンルーフＥＣＵ６０，車両を始動させるためのキーの照合を行うキー照合ＥＣＵ７０などがある。
【００４０】
これらのうち、リモートＥＣＵ１０は、データ送受信モジュール１２を介して、車両遠隔制御システム１の搭載された車両各部の制御内容を示す制御指令を情報センタ１００から受信し、この制御指令に基づいて後述する処理を実行して各ＥＣＵを制御する。
【００４１】
この情報センタ１００は、携帯端末（携帯電話など）２００からインターネットなどのネットワークを介して接続可能であり、こうして接続された携帯端末２００から上述した制御指令を受信して本車両遠隔制御システム１に中継するように構成されたものである。なお、上述の制御指令は、車両各部におけるどの部分を制御するのか、複数の部分を制御する場合にどのような順番で制御するのか、その制御に対してどのような処理をスレーブに実行させるのか、といった制御内容が特定可能な指令である。
【００４２】
また、キー照合ＥＣＵ７０は、発信器７２および受信器７４を介して携帯キー３００との間で照合のための情報をやりとりし、その情報に基づいてその携帯キー３００の照合を行う。
（２）マスタによるリモート処理
以下に、マスタであるリモートＥＣＵ１０が、内蔵メモリに記憶されたプログラムに従って実行するリモート処理の処理手順を図２に基づいて説明する。このリモート処理は、データ送受信モジュール１２を介して制御指令を受信した際に開始される。
【００４３】
このリモート処理が開始されると、まず、スレーブの処理履歴を初期化すべきタイミングになっているか否かがチェックされる（ｓ１１０）。
本実施形態においては、後述のように、スレーブである各ＥＣＵが、後述の処理でリモートＥＣＵ１０からの指令を受けて所定の処理を実行し、その履歴を内蔵メモリに記憶するように構成されている。そして、このｓ１１０では、本リモート処理が、先に終了したリモート処理から所定期間（例えば、５分）以上の間隔を空けて開始された場合に、その処理履歴を初期化すべきタイミングになっていると判定される。
【００４４】
このｓ１１０で処理履歴を初期化すべきタイミングになっていると判定された場合（ｓ１１０：ＹＥＳ）、処理履歴を初期化すべき旨を要求するための要求情報が、スレーブであるＥＣＵ全てに対して送信（ブロードキャスト）された後（ｓ１２０）、次の処理（ｓ１３０）へ移行する。この要求情報を受信したＥＣＵは、後述のように、その内蔵メモリに記憶されている処理履歴を消去する。
【００４５】
なお、このｓ１２０による要求情報の送信は、本リモート処理が開始される毎に、必ず行われるように構成してもよく、このためには、本リモート処理においてｓ１１０が行われることなく、ｓ１２０へ移行するように構成すればよい。
【００４６】
また、ｓ１１０で処理履歴を初期化すべきタイミングになっていないと判定された場合（ｓ１１０：ＮＯ）、上述したｓ１２０が行われることなく次の処理（ｓ１３０）へ移行する。
【００４７】
次に、処理の実行を要求すべきスレーブ，および，このスレーブに要求すべき処理内容が特定される（ｓ１３０）。ここでは、このｓ１３０が本リモート処理を開始して最初に行われる場合であれば、本リモート処理の開始に先立って受信した制御指令で特定される制御内容に従い、最初に制御すべき部分に対応するＥＣＵが、該当するスレーブとして特定される。また、このｓ１３０が本リモート処理を介して２回目以降に行われる場合であれば、同制御指令に従い、次に制御すべき部分に対応するＥＣＵが、該当するスレーブとして特定される。そして、該当するＥＣＵに要求すべき処理内容がその制御指令に基づいて特定される。
【００４８】
次に、ｓ１３０にてスレーブおよび処理内容が特定されたことを条件に、実行要求処理が実行される（ｓ１４０）。
この実行要求処理では、図３に示すように、まず、同期カウンタがインクリメントされた後（ｓ２１０）、ｓ１３０にて特定された処理内容の実行，および，その実行結果の通知を要求するため指令情報が、この時点における同期カウンタのカウント値を付加された状態で、ｓ１３０にて特定されたスレーブに対して送信される（ｓ２２０）。
【００４９】
本実施形態においては、図４に示すように、６バイトからなるメッセージフォーマットのデータが指令情報として用いられ、このデータのうち、該当するフィールドそれぞれにパラメータを設定したうえで、このデータがスレーブに送信される。
【００５０】
具体的には、ｓ１３０にて特定された処理内容を示すパラメータが、処理内容に関するフィールド（サービス種類，要求コマンド）に設定され、ｓ１３０にて特定されたスレーブを示すパラメータが、指令情報の送信先に関するフィールド（サービス種類，指示対象）に設定され、この時点における同期カウンタのカウント値が、同期カウンタのカウント値に関するフィールド（カウント値）に設定される。
【００５１】
なお、本実施形態において、同期カウンタは、００を初期値として上限値（ＦＦ）までカウントアップされた後で初期値に戻るように構成されたカウンタであり、指令情報におけるカウント値に関するフィールドもその上限値までの値が設定可能なフィールド（１バイトからなるフィールド）となっている。
【００５２】
続いて、ｓ２２０による指令情報の送信後、所定時間内に実行結果を通知するための応答情報が受信されなければ（ｓ２３０：ＮＯ）、その指令情報の送信回数がｎ回（ｎは任意の数）以上となるまで（ｓ２４０：ＮＯ）、ｓ２２０へ戻って同じ指令情報の送信が繰り返される（ｓ２２０，ｓ２３０「ＮＯ」，ｓ２４０「ＮＯ」）。
【００５３】
そして、ｓ２２０による指令情報の送信後に応答情報が受信されたら（ｓ２３０：ＹＥＳ）、その応答情報を戻り値としてプロセスがリモート処理に戻る。一方、指令情報の送信回数がｎ回以上となったら（ｓ２４０：ＹＥＳ）、応答情報が受信されたなった旨（エラー）を戻り値としてプロセスがリモート処理に戻る。
【００５４】
こうして、ｓ１４０での実行要求処理が行われた後、この実行要求処理での戻り値が「応答情報」であるか否かが判定される（ｓ１５０）。
このｓ１５０で、戻り値が「エラー」であると判定された場合（ｓ１５０：ＮＯ）、制御指令に基づく制御結果が「エラー」である旨を示す制御応答が、データ送受信モジュール１２を介して情報センタ１００に送信された後（ｓ１６０）、本リモート処理が終了する。
【００５５】
一方、ｓ１５０で、戻り値が「応答情報」であると判定された場合（ｓ１５０：ＹＥＳ）、本リモート処理の開始に先立って受信した制御指令に従った全ての制御が終了したか否かが判定される（ｓ１７０）。
【００５６】
このｓ１７０で、全ての制御が終了していないと判定された場合（ｓ１７０：ＮＯ）、プロセスがｓ１３０へ戻り、同制御指令に基づいて、処理の実行を要求すべきスレーブ，および，このスレーブに要求すべき処理内容が特定される。ここでは、上述したとおり、同制御指令に従い、次に制御すべき部分に対応するＥＣＵが該当するスレーブとして特定される。
【００５７】
こうして、ｓ１３０〜ｓ１５０，ｓ１７０が、制御指令に従った全ての制御を終了するまで繰り返された後、ｓ１７０で、全ての制御が終了していると判定された場合（ｓ１７０：ＹＥＳ）、プロセスがｓ１６０へ移行し、ｓ１４０（実行要求処理）の戻り値である「応答情報」それぞれを示す制御応答が、データ送受信モジュール１２を介して情報センタ１００に送信された後、本リモート処理が終了する。
【００５８】
なお、本実施形態において、上述したカウント値の上限値（ＦＦ）は、その値が、１の制御指令に基づいて送信されうる指令情報の数よりも充分に大きくなるように設定されたものである。
（３）スレーブによる実行応答処理
以下に、スレーブである各ＥＣＵ２０〜７０が、その内蔵メモリに記憶されたプログラムに従って実行する実行応答処理の処理手順を図５に基づいて説明する。この実行応答処理は、ネットワークを介してマスタからのデータを受信する毎に開始される。なお、本実施形態においては、実行応答処理の起動中に別のデータをマスタから受信した場合、既に実行中の実行応答処理と並行して新たな実行応答処理が起動されるように構成されている。
【００５９】
この実行応答処理が開始されると、まず、この開始に先立って受信したデータが要求情報であるか否かが判定される（ｓ３１０）。この要求情報は、図２のｓ１２０によりマスタから送信されるものである。
【００６０】
このｓ３１０で、受信したデータが要求情報であると判定された場合（ｓ３１０：ＹＥＳ）、スレーブの内蔵メモリに記憶されている処理履歴が消去された後（ｓ３２０）、本実行応答処理が終了する。本実施形態において、スレーブそれぞれは、マスタからの指令情報に従って実行した処理の内容，その処理を実行した後のスレーブの状態，および，その指令情報に付加されているカウント値などの情報からなる処理履歴を、その指令情報に基づく処理の実行毎に、その内蔵メモリに記憶するように構成されている。そして、このｓ３２０では、その内蔵メモリに記憶されている処理履歴が消去される。
【００６１】
また、上述のｓ３１０で、受信したデータが要求情報でなく、指令情報であると判定された場合（ｓ３１０：ＮＯ）、その指令情報が最新の指令情報と同一のものであり、かつ、その指令情報に基づく処理の実行が終了している状態であるか否かがチェックされる（ｓ３３０）。
【００６２】
ここでは、その指令情報で示される処理内容およびカウント値が、内蔵メモリに記憶されている処理履歴における処理内容およびカウント値と一致しているか否かがチェックされ、両者が一致している場合に、該当する状態であると判定される。
【００６３】
このｓ３３０で、該当する状態でないと判定された場合（ｓ３３０：ＮＯ）、指令情報で示される処理内容の処理を実行した後（ｓ３４０）、その実行結果を示す応答情報が生成され、これがマスタに送信される（ｓ３５０）。この応答情報は、その処理を実行した後のスレーブの状態を示すものであって、図３のｓ２３０にてマスタにより受信されるものである。
【００６４】
そして、ｓ３４０による実行結果に基づく処理履歴が内蔵メモリに記憶された後（ｓ３６０）、本実行通知処理が終了する。ここでは、ｓ３４０にて実行した処理の内容（処理内容），その処理を実行した後のスレーブの状態，および，指令情報に付加されていたカウント値、その処理を実行した時刻などの情報群が、処理履歴として内蔵メモリに記憶（既に記憶されている場合には上書き）される。
【００６５】
また、上述のｓ３３０で、該当する状態であると判定された場合（ｓ３３０：ＹＥＳ）、この時点で内蔵メモリに記憶されている処理履歴におけるスレーブの状態が、指令情報で示される処理内容の処理を実行した後のスレーブの状態を示す応答情報としてマスタに送信される（ｓ３７０）。
（４）作用，効果
このように構成された車両遠隔制御システム１では、スレーブである各ＥＣＵ（以降、単に「スレーブ」という）からの応答情報が何らかの要因で所定期間内にマスタであるリモートＥＣＵ１０に届かない場合（図６の指令情報Ｃ参照）、マスタが、再度スレーブに対して同じ指令情報を送信することにより（図３のｓ２３０「ＮＯ」→ｓ２４０「ＮＯ」→ｓ２２０）、そのスレーブに対して処理の実行および応答を促すこととなる（図６の指令情報Ｄ参照）。
【００６６】
指令情報を受信したスレーブは、この指令情報に付加されているカウント値を内蔵メモリに記憶されているカウント値と比較することで、その指令情報が最新の指令情報と同一のものであり、かつ、その指令情報に基づく処理の実行が終了している状態であるか否かをチェックする（図５のｓ３３０）。そして、その指令情報が該当する状態でなければ、その指令情報に従って処理を実行してから応答情報を送信するのに対し（同図ｓ３４０〜ｓ３５０；図６の応答情報Ａ〜Ｃ参照）、該当する状態であれば（同図ｓ３７０）、その指令情報に従った処理を実行することなく、内蔵メモリの履歴に基づいて応答情報を送信する（図６の応答情報Ｄ参照）。
【００６７】
ここで、マスタからの指令情報が「指令情報が最新の指令情報と同一のものであり、かつ、その指令情報に基づく処理の実行が終了している状態」とは、スレーブが先の指令情報に基づく応答情報を送信したにも拘わらず、通信路（ネットワーク）におけるトラブルなどの要因でそれがマスタ側に届かなかった状況を表しているといえる。
【００６８】
つまり、そのような状況において、スレーブは、その指令情報に従った処理を実行することなく、先の要求に基づいて実行した処理の履歴に基づいて直ちに応答情報をマスタ側に送信できるため、同じ処理を繰り返し実行して無用なリソースを消費することがない。
【００６９】
また、スレーブからは、先の要求に基づいて実行した処理の履歴に基づいて直ちに応答情報がマスタ側に送信されるため、そのような処理を実行してから応答情報を送信する構成と比べてマスタからの指令情報に対するスレーブの応答性を向上させることができる。
【００７０】
また、上記実施形態においては、マスタがこの制御指令を受ける毎に、初期化タイミングであるとしてスレーブ側に記憶されている履歴を消去することができる。
また、上記実施形態では、図３のｓ２２０にてマスタから指令情報が送信される毎に、この指令情報に同図ｓ２１０にてインクリメントされたカウント値が付加される。そのため、スレーブ側では、指令情報に付加されたカウント値が、内蔵メモリに記憶されたカウント値と同じ値であれば、その指令情報が先に実行した処理の実行を指令するものであるとして、内蔵メモリの履歴に基づいて直ちに応答情報を送信することができる（図５のｓ３３０「ＹＥＳ」→ｓ３７０）。
【００７１】
また、上記実施形態では、図３のｓ２２０にて送信される指令情報にカウンタのカウント値が付加されるように構成されているが、このカウンタは、初期値００から上限値ＦＦまで順次カウントアップされた後で初期値に戻るものであるため、指令情報に付加されるカウント値も一定周期で初期値に戻ることになる。そうすると、複数の指令情報が同一のスレーブに送信され、スレーブ側で複数の処理を並行して実行させるような環境下では、異なる処理を実行させるための指令情報に同じカウント値の条件情報が付加されてしまう恐れがある。この場合、受信した指令情報に従った処理を実行していないにも拘わらず、先に実行した処理であると判定してしまい、その履歴に基づく誤った応答情報がスレーブからマスタに送信されることとなってしまう。
【００７２】
しかし、本実施形態においては、カウント値の上限値（ＦＦ）が、１の制御指令に基づいて送信されうる指令情報の数よりも充分に大きくなるように設定されているため、１の制御指令に基づくリモート処理で、上述したように誤った応答情報がスレーブからマスタに送信されることを防止することができる。
【００７３】
さらに、本実施形態においては、図２のｓ１１０にて初期化タイミングであると判定された場合に、履歴を消去すべき旨を要求するための要求情報がマスタから送信され、この要求情報を受信したスレーブが、内蔵メモリに記憶された履歴をカウント値と共に消去するように構成されている（図２のｓ１１０，ｓ１２０，図５のｓ３２０）。
【００７４】
そのため、スレーブ側で複数の処理を並行して実行させるような環境下でも、マスタ，スレーブそれぞれのリソースを有効に利用しつつ、異なる処理を実行させるための指令情報に同じカウント値の条件情報が付加されてしまうことを有効に防止することができる。
（５）変形例
以上、本発明の実施の形態について説明したが、本発明は、上記実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態をとり得ることはいうまでもない。
【００７５】
例えば、上記実施形態においては、車両各部の動作を制御する複数のＥＣＵそれぞれからなる車両遠隔制御システムに、本発明のネットワークシステムを提供した構成を例示したが、このネットワークシステムは、複数のネットワークデバイスが通信可能に接続されてなるシステムであれば、他のシステムに適用できることはいうまでもない。
【００７６】
また、上記実施形態においては、図２のｓ１３０にてスレーブおよび処理内容が特定されたことを条件として、同図ｓ１４０で実行要求処理が実行されるように構成されたものを例示した。しかし、この実行要求処理が実行される契機となる条件としては、図２のリモート処理以外の処理において、マスタがスレーブに実行させるべき処理を特定したこと、その処理を実行させるべきタイミングになったこと、などを採用してもよい。
【００７７】
また、上記実施形態においては、マスタが、図３のｓ２２０にて指令情報にカウンタによるカウント値を付加して送信するように構成されたものを例示した。しかし、このｓ２２０にて指令情報に付加する情報としては、図２のｓ１３０にてスレーブおよび処理内容が特定されたという条件が満たされたことを示す情報であれば、カウンタによるカウント値以外の情報であってもよい。具体的な例としては、例えば、同図ｓ１３０にてスレーブおよび処理内容が特定された時刻などを指令情報に付加することが考えられる。
【００７８】
また、上記実施形態においては、図３のｓ２２０にてマスタから指令情報が送信される毎に、この指令情報に同図ｓ２１０にてインクリメントされたカウント値が付加されるように構成されたものを例示した。しかし、この指令情報に付加される情報としては、同図ｓ２１０にて初期値（ＦＦ）から順次デクリメントされるカウンタのカウント値が付加されるように構成してもよい。この場合、カウンタは、同図ｓ２１０にて初期値（ＦＦ）から下限値（００）まで順次デクリメントされた後で初期値に戻るものとすればよい。
【００７９】
また、本実施形態においては、指令情報およびスレーブ側でカウント値を設定するためのリソースそれぞれが１バイト分だけ確保されている構成を例示した（図４参照）。しかし、それぞれのリソースを有効に利用するためには、カウント値を設定するためのリソースを１バイトよりも小さくしてもよい。
【００８０】
また、上記実施形態では、図２のｓ１１０で、先に終了したリモート処理から所定期間以上の間隔を空けて開始された場合に、スレーブの処理履歴を初期化すべきタイミングになっていると判定するように構成されたものを例示した。しかし、スレーブの処理履歴を初期化すべきタイミングになっていると判定する条件については、これ以外の条件であってもよい。例えば、ｓ１１０の時点で同期カウンタが初期値に戻った直後であることを、上記タイミングになっていると判定する条件とすることが考えられる。
（６）本発明との対応関係
以上説明した実施形態において、図２のｓ１３０にてスレーブおよび処理内容が特定されることが本発明における指令条件であり、同図ｓ１２０が本発明における消去要求手段であり、
また、図３のｓ２２０が本発明における実行指令手段，情報付加手段であり、同図ｓ２１０が本発明におけるカウント手段である。
【００８１】
また、図５におけるｓ３４０が本発明における処理実行手段であり、同図ｓ３６０が本発明における履歴記憶手段であり、同図ｓ３５０，ｓ３７０が本発明における処理応答手段であり、同図ｓ３２０が本発明における情報消去手段である。
【図面の簡単な説明】
【００８２】
【図１】ネットワークシステムの構成を示すブロック図
【図２】リモート処理を示すフローチャート
【図３】実行要求処理を示すフローチャート
【図４】指令情報のデータ構造を示す図
【図５】実行応答処理を示すフローチャート
【図６】マスタ，スレーブそれぞれの処理手順を示すタイミングチャート
【符号の説明】
【００８３】
１…車両遠隔制御システム、１０…リモートＥＣＵ、１２…データ送受信モジュール、２０…エンジンＥＣＵ、３０…ドアロックＥＣＵ、４０…ライトＥＣＵ、５０…パワーウィンドウＥＣＵ、６０…サンルーフＥＣＵ、７０…キー照合ＥＣＵ、７２…発信器、７４…受信器、１００…情報センタ、２００…携帯端末、３００…携帯キー。
【図１】
2008077187.tif 000003
【図２】
2008077187.tif 000004
【図３】
2008077187.tif 000005
【図４】
2008077187.tif 000006
【図５】
2008077187.tif 000007
【図６】
2008077187.tif 000008