(57)【要約】【課題】本発明は、車載制御分散処理システム及び車載制御分散処理方法に係り、分散処理可能なタスク処理のリアルタイム性を向上させることにある。【解決手段】タスク処理の分散実行可能なシステムを構成する複数の車載機器はそれぞれ、分散実行が許容されるタスク処理のプログラム及びプログラム識別子が格納される記憶部を有する。また、他の車載機器へのタスク処理の分散処理要求時に、リクエスト元ノードとして、自ノードの情報、分散処理に対応したプログラム識別子の情報、及び分散処理の実行に与えられる時間デッドラインの情報を含む第１の通信内容を他の車載機器へ送信する。他の車載機器からの第１の通信内容を受信した場合に、自ノードにて第１の通信内容内のプログラム識別子に応じた分散処理の要求の受け入れ可否を判別し、肯定判定時に自ノードの情報及び分散処理に対応したプログラム識別子の情報を含む第２の通信内容をリクエスト元ノードへ送信する。【選択図】図２
2015219586.tif 000002
【特許請求の範囲】
【請求項１】
通信バスを介して接続された複数の車載機器でタスク処理を分散して実行することが可能な車載制御分散処理システムであって、
複数の前記車載機器はそれぞれ、
分散して実行することが許容される前記タスク処理のプログラム及び該プログラムに付与されたプログラム識別子が格納される記憶部と、
他の前記車載機器に前記タスク処理の分散処理を要求する際に、リクエスト元ノードとして、自ノードの情報、該分散処理に対応した前記プログラム識別子の情報、及び該分散処理の実行に与えられる時間デッドラインを示す情報を含む第１の通信内容を前記通信バスを介して他の前記車載機器へ送信する分散処理リクエスト部と、
前記通信バスを介して他の前記車載機器からの前記第１の通信内容を受信した場合に、自ノードにて該第１の通信内容に含まれる前記プログラム識別子に応じた前記分散処理の要求を受け入れるか否かを判別する受け入れ判別部と、
前記受け入れ判別部により前記分散処理の要求を受け入れると判別した場合に、自ノードの情報及び該要求を受け入れた前記分散処理に対応した前記プログラム識別子の情報を含む第２の通信内容を前記通信バスを介して前記リクエスト元ノードへ送信する分散処理受け入れレスポンス部と、
前記リクエスト元ノードとして、前記通信バスを介して他の前記車載機器からの前記第２の通信内容を受信した場合に、該他の前記車載機器すべてのうち前記分散処理を依頼すべき受け入れ先ノードを選定する選定部と、
前記選定部にて前記受け入れ先ノードを選定した場合に、自ノードの情報、該受け入れ先ノードの情報、前記分散処理に対応した前記プログラム識別子の情報、及び該分散処理に必要な入力データの情報を含む第３の通信内容を前記通信バスを介して該受け入れ先ノードへ送信する分散処理入力情報通知部と、
前記通信バスを介して他の前記車載機器からの前記第３の通信内容を受信した場合に、前記受け入れ先ノードとして、前記記憶部に格納されている前記プログラムに従って、該第３の通信内容に含まれる前記プログラム識別子に応じた前記分散処理を前記入力データに基づいて実行する分散処理実行部と、
前記分散処理実行部による実行後、自ノードの情報、前記リクエスト元ノードの情報、該実行した分散処理に対応した前記プログラム識別子の情報、及び該実行した分散処理により得られた出力データの情報を含む第４の通信内容を前記通信バスを介して前記リクエスト元ノードへ送信する分散処理実行結果通知部と、
を有することを特徴とする車載制御分散処理システム。
【請求項２】
通信バスを介して接続された複数の車載機器でタスク処理を分散して実行することが可能な車載制御分散処理方法であって、
複数の前記車載機器はそれぞれ、分散して実行することが許容される前記タスク処理のプログラム及び該プログラムに付与されたプログラム識別子が格納される記憶部を有し、
前記車載機器が、他の前記車載機器に前記タスク処理の分散処理を要求する際に、リクエスト元ノードとして、自ノードの情報、該分散処理に対応した前記プログラム識別子の情報、及び該分散処理の実行に与えられる時間デッドラインを示す情報を含む第１の通信内容を前記通信バスを介して他の前記車載機器へ送信する第１のステップと、
前記車載機器が、前記通信バスを介して他の前記車載機器からの前記第１の通信内容を受信した場合に、自ノードにて該第１の通信内容に含まれる前記プログラム識別子に応じた前記分散処理の要求を受け入れるか否かを判別する第２のステップと、
前記車載機器が、前記第２のステップにおいて前記分散処理の要求を受け入れると判別した場合に、自ノードの情報及び該要求を受け入れた前記分散処理に対応した前記プログラム識別子の情報を含む第２の通信内容を前記通信バスを介して前記リクエスト元ノードへ送信する第３のステップと、
前記リクエスト元ノードが、前記通信バスを介して他の前記車載機器からの前記第２の通信内容を受信した場合に、該他の前記車載機器すべてのうち前記分散処理を依頼すべき受け入れ先ノードを選定する第４のステップと、
前記リクエスト元ノードが、前記第４のステップにおいて前記受け入れ先ノードを選定した場合に、自ノードの情報、該受け入れ先ノードの情報、前記分散処理に対応した前記プログラム識別子の情報、及び該分散処理に必要な入力データの情報を含む第３の通信内容を前記通信バスを介して該受け入れ先ノードへ送信する第５のステップと、
前記車載機器が、前記通信バスを介して前記リクエスト元ノードからの前記第３の通信内容を受信した場合に、前記受け入れ先ノードとして、前記記憶部に格納されている前記プログラムに従って、該第３の通信内容に含まれる前記プログラム識別子に応じた前記分散処理を前記入力データに基づいて実行する第６のステップと、
前記受け入れ先ノードが、前記第６のステップにおける実行後、自ノードの情報、前記リクエスト元ノードの情報、該実行した分散処理に対応した前記プログラム識別子の情報、及び該実行した分散処理により得られた出力データの情報を含む第４の通信内容を前記通信バスを介して前記リクエスト元ノードへ送信する第７のステップと、
を備えることを特徴とする車載制御分散処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理システム及び処理方法に係り、特に、車両に搭載され、通信バスを介して接続された複数の車載機器でタスク処理を分散して実行することが可能な車載制御分散処理システム及び車載制御分散処理方法に関する。
【背景技術】
【０００２】
従来、車両に搭載された、通信バスを介して接続された複数の車載機器でタスク処理を分散して実行することが可能な車載制御分散処理システムが知られている（例えば、特許文献１参照）。この処理システムにおいては、複数の車載機器でグリッドコンピューティングが行われる。具体的には、各車載機器はそれぞれ、休止し又は動作負荷が軽い状態にある場合に、その旨の情報を通信バスを介して他の車載機器へ送信する。そして、他の車載機器は、その休止し又は動作負荷が軽い車載機器にタスク処理を実行させる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１４２８９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の処理システムにおいては、通信バスを介して接続された二以上の車載機器それぞれに、分散して実行することが許容されるタスク処理の実行に必要不可欠な共通したプログラムが格納されていない。このため、休止し又は動作負荷が軽い車載機器が他の車載機器からの要求に従ってタスク処理を実行するうえでは、タスク処理のリクエスト元ノードである他の車載機器からタスク処理の受け入れ先ノードである車載機器へ入力データの他にそのタスク処理の実行に必要不可欠なプログラム自体を提供してもらうことが必要となる。従って、かかる構成では、プログラム自体が通信バスを流れることに起因して通信負荷が過大となり通信バスの占有時間が長くなるので、車両においてタスク処理をリアルタイムに実行することが困難となるおそれがある。
【０００５】
本発明は、上述の点に鑑みてなされたものであり、分散処理可能なタスク処理のリアルタイム性を向上させた車載制御分散処理システム及び車載制御分散処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様は、通信バスを介して接続された複数の車載機器でタスク処理を分散して実行することが可能な車載制御分散処理システムであって、複数の前記車載機器はそれぞれ、分散して実行することが許容される前記タスク処理のプログラム及び該プログラムに付与されたプログラム識別子が格納される記憶部と、他の前記車載機器に前記タスク処理の分散処理を要求する際に、リクエスト元ノードとして、自ノードの情報、該分散処理に対応した前記プログラム識別子の情報、及び該分散処理の実行に与えられる時間デッドラインを示す情報を含む第１の通信内容を前記通信バスを介して他の前記車載機器へ送信する分散処理リクエスト部と、前記通信バスを介して他の前記車載機器からの前記第１の通信内容を受信した場合に、自ノードにて該第１の通信内容に含まれる前記プログラム識別子に応じた前記分散処理の要求を受け入れるか否かを判別する受け入れ判別部と、前記受け入れ判別部により前記分散処理の要求を受け入れると判別した場合に、自ノードの情報及び該要求を受け入れた前記分散処理に対応した前記プログラム識別子の情報を含む第２の通信内容を前記通信バスを介して前記リクエスト元ノードへ送信する分散処理受け入れレスポンス部と、前記リクエスト元ノードとして、前記通信バスを介して他の前記車載機器からの前記第２の通信内容を受信した場合に、該他の前記車載機器すべてのうち前記分散処理を依頼すべき受け入れ先ノードを選定する選定部と、前記選定部にて前記受け入れ先ノードを選定した場合に、自ノードの情報、該受け入れ先ノードの情報、前記分散処理に対応した前記プログラム識別子の情報、及び該分散処理に必要な入力データの情報を含む第３の通信内容を前記通信バスを介して該受け入れ先ノードへ送信する分散処理入力情報通知部と、前記通信バスを介して他の前記車載機器からの前記第３の通信内容を受信した場合に、前記受け入れ先ノードとして、前記記憶部に格納されている前記プログラムに従って、該第３の通信内容に含まれる前記プログラム識別子に応じた前記分散処理を前記入力データに基づいて実行する分散処理実行部と、前記分散処理実行部による実行後、自ノードの情報、前記リクエスト元ノードの情報、該実行した分散処理に対応した前記プログラム識別子の情報、及び該実行した分散処理により得られた出力データの情報を含む第４の通信内容を前記通信バスを介して前記リクエスト元ノードへ送信する分散処理実行結果通知部と、を有する車載制御分散処理システムである。
【０００７】
また、本発明の一態様は、通信バスを介して接続された複数の車載機器でタスク処理を分散して実行することが可能な車載制御分散処理方法であって、複数の前記車載機器はそれぞれ、分散して実行することが許容される前記タスク処理のプログラム及び該プログラムに付与されたプログラム識別子が格納される記憶部を有し、前記車載機器が、他の前記車載機器に前記タスク処理の分散処理を要求する際に、リクエスト元ノードとして、自ノードの情報、該分散処理に対応した前記プログラム識別子の情報、及び該分散処理の実行に与えられる時間デッドラインを示す情報を含む第１の通信内容を前記通信バスを介して他の前記車載機器へ送信する第１のステップと、前記車載機器が、前記通信バスを介して他の前記車載機器からの前記第１の通信内容を受信した場合に、自ノードにて該第１の通信内容に含まれる前記プログラム識別子に応じた前記分散処理の要求を受け入れるか否かを判別する第２のステップと、前記車載機器が、前記第２のステップにおいて前記分散処理の要求を受け入れると判別した場合に、自ノードの情報及び該要求を受け入れた前記分散処理に対応した前記プログラム識別子の情報を含む第２の通信内容を前記通信バスを介して前記リクエスト元ノードへ送信する第３のステップと、前記リクエスト元ノードが、前記通信バスを介して他の前記車載機器からの前記第２の通信内容を受信した場合に、該他の前記車載機器すべてのうち前記分散処理を依頼すべき受け入れ先ノードを選定する第４のステップと、前記リクエスト元ノードが、前記第４のステップにおいて前記受け入れ先ノードを選定した場合に、自ノードの情報、該受け入れ先ノードの情報、前記分散処理に対応した前記プログラム識別子の情報、及び該分散処理に必要な入力データの情報を含む第３の通信内容を前記通信バスを介して該受け入れ先ノードへ送信する第５のステップと、前記車載機器が、前記通信バスを介して前記リクエスト元ノードからの前記第３の通信内容を受信した場合に、前記受け入れ先ノードとして、前記記憶部に格納されている前記プログラムに従って、該第３の通信内容に含まれる前記プログラム識別子に応じた前記分散処理を前記入力データに基づいて実行する第６のステップと、前記受け入れ先ノードが、前記第６のステップにおける実行後、自ノードの情報、前記リクエスト元ノードの情報、該実行した分散処理に対応した前記プログラム識別子の情報、及び該実行した分散処理により得られた出力データの情報を含む第４の通信内容を前記通信バスを介して前記リクエスト元ノードへ送信する第７のステップと、を備える車載制御分散処理方法である。
【発明の効果】
【０００８】
本発明によれば、通信バスを介して接続された複数の車載機器での分散処理可能なタスク処理のリアルタイム性を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施例である車載制御分散処理システムの構成図である。
【図２】本実施例の車載制御分散処理システムにおいて実行される制御ルーチンの一例のフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を用いて、本発明に係る車載制御分散処理システム及び車載制御分散処理方法の具体的な実施の形態について説明する。
【００１１】
図１は、本発明の一実施例である車載制御分散処理システム１０の構成図を示す。
【００１２】
本実施例の車載制御分散処理システム１０は、車両に搭載された、車両における各種の制御（タスク処理）を複数の電子制御ユニットで分散して実行させる処理システムである。
【００１３】
図１に示す如く、車載制御分散処理システム１０は、複数（図１においては４個）の電子制御ユニット（以下、ＥＣＵと称す。）１２と、それら複数のＥＣＵ１２を繋ぐ通信バス１４と、を備えている。通信バス１４は、予め定められた通信プロトコルに従ってＥＣＵ１２間で情報の送受信を行うことが可能な車載ＬＡＮ（Local Area Network）であって、例えばＣＡＮ（Controller Area Network）である。
【００１４】
各ＥＣＵ１２はそれぞれ、マイクロコンピュータを主体に構成された車載機器であって、独自に定められた機能を有している。各ＥＣＵ１２はそれぞれ、不揮発性メモリであるＲＯＭ２０と、一時記憶メモリであるＲＡＭ２２と、中央演算処理装置であるＣＰＵ２４と、を有している。各ＥＣＵ１２はそれぞれ、それらＲＯＭ２０、ＲＡＭ２２、及びＣＰＵ２４の資源を用いて、車両において必要なタスク処理を実行する。
【００１５】
ＲＯＭ２０には、自ＥＣＵ１２を他のＥＣＵ１２と区別するために自ＥＣＵ１２に付与された固有の識別ＩＤと、自ＥＣＵ１２が実行可能なプログラムと、その実行可能なプログラムを他のプログラムと区別するためにその実行可能なプログラムに付与された固有のプログラム識別子と、が少なくとも格納される。また、ＲＡＭ２２には、通信バス１４を介して又は直接に入力されたプログラムを実行するうえで必要な入力データなどが格納される。各ＥＣＵ１２のＣＰＵ２４はそれぞれ、ＲＯＭ２０に格納されているプログラムに従って、タスク処理を実行することが可能である。
【００１６】
ＲＯＭ２０に格納されているプログラムには、複数のＥＣＵ１２で分散して実行することが許容されるタスク処理（例えば、行列演算など）の実行に必要不可欠なプログラム（以下、分散処理可プログラムと称す。）が含まれる。また、ＲＯＭ２０に格納されているプログラム識別子には、上記の分散処理可プログラムに付与された固有のプログラム識別子（以下、分散処理可プログラム識別子と称す。）が含まれる。すなわち、通信バス１４に接続されている各ＥＣＵ１２のＲＯＭ２０には、互いに共通した同じ分散処理可プログラム及び同じ分散処理可プログラム識別子が格納されている。
【００１７】
各ＥＣＵ１２はそれぞれ、接続されているセンサからの入力信号などに基づいて、ＲＯＭ２０に格納されているメインのプログラムに従って自発的にタスク処理を実行すると共に、自ＥＣＵ１２とは異なる他のＥＣＵ１２からの要求に応じて、ＲＯＭ２０に格納されている分散処理可プログラムに従ってタスク処理を実行することが可能である。
【００１８】
以下、図２を参照して、本実施例の車載制御分散処理システム及び車載制御分散処理方法の動作について説明する。
【００１９】
図２は、本実施例の車載制御分散処理システム１０において実行される制御ルーチンの一例のフローチャートを示す。
【００２０】
本実施例の車載制御分散処理システム１０において、各ＥＣＵ１２はそれぞれ、ＲＯＭ２０に格納されているメインのプログラムに従ってタスク処理を実行するうえで自ＥＣＵ１２での処理能力が不足するか否かを判別する（ステップ１００）。その判別の結果、自ＥＣＵ１２での処理能力が不足しない場合は、通常どおり、自ＥＣＵ１２のみでそのタスク処理を実行する（ステップ１０２）。一方、自ＥＣＵ１２での処理能力が不足する場合は、自ＥＣＵ１２をマスターノードとして、そのタスク処理を実行可能な他のＥＣＵ１２（受け入れ先ノード）を探索する。
【００２１】
具体的には、ＥＣＵ１２は、メインのプログラムに従ってタスク処理を実行するうえで自ＥＣＵ１２での処理能力が不足すると判別した場合は、まず、マスターノードとして他のＥＣＵ１２にそのタスク処理の分散処理を要求するリクエスト（以下、分散処理リクエストと称す。）を行う（ステップ１０４）。
【００２２】
上記の分散処理リクエストは、マスターノードが所定の通信内容（以下、第１の通信内容と称す。）を通信バス１４を介して他のＥＣＵ１２へ送信することにより実現される。この第１の通信内容は、自ＥＣＵ１２（マスターノード）の識別ＩＤ、その分散処理に対応したタスク処理を実行するうえで必要な分散処理可プログラムに付与された分散処理可プログラム識別子の情報、及び、その分散処理の実行に与えられる処理時間デッドラインを示す情報を含むものである。マスターノードにより分散処理リクエストが行われると、第１の通信内容を示す情報が通信バス１４に流れる。
【００２３】
ＥＣＵ１２は、他のＥＣＵ１２（マスターノード）から通信バス１４に流れた分散処理リクエストによる第１の通信内容を受信すると、まず、その受信時点における自ＥＣＵ１２のＣＰＵ２４における処理負荷の余裕度を算出する（ステップ１１０）。
【００２４】
上記の処理負荷余裕度の算出は、自ＥＣＵ１２が、提示された処理時間デッドライン内に要求されたタスク処理の分散処理を完了することができるか否かを示すものである。そして、ＥＣＵ１２は、上記の如く算出した処理負荷余裕度に基づいて、マスターノードである他のＥＣＵ１２からの分散処理の要求をスレーブノードとして受け入れるか否かを判別する（ステップ１１２）。例えば、処理負荷余裕度が所定以上であれば、スレーブノードとして分散処理要求を受け入れると判別し、一方、処理負荷余裕度が所定未満であれば、分散処理要求を受け入れないと判別する。
【００２５】
ＥＣＵ１２は、スレーブノードとして分散処理要求を受け入れないと判別した場合は、以後、何ら処理を進めることなく処理を終了する。一方、スレーブノードとして分散処理要求を受け入れると判別した場合は、マスターノードに自ノードでの分散処理の受け入れが可能であることを知らせるレスポンス（以下、分散処理受け入れレスポンスと称す。）を行う（ステップ１１４）。
【００２６】
上記の分散処理受け入れレスポンスは、スレーブノードが所定の通信内容（以下、第２の通信内容と称す。）を通信バス１４を介してマスターノードへ送信することにより実現される。この第２の通信内容は、自ＥＣＵ１２（スレーブノード）の識別ＩＤ、及び、要求を受け入れた分散処理に対応したタスク処理を実行するうえで必要な分散処理可プログラムに付与された分散処理可プログラム識別子の情報を含むものである。スレーブノードにより分散処理受け入れレスポンスが行われると、第２の通信内容を示す情報が通信バス１４に流れる。
【００２７】
マスターノードであるＥＣＵ１２は、上記ステップ１０４において分散処理リクエストを行った後、他のＥＣＵ１２（スレーブノード）から通信バス１４に流れた分散処理受け入れレスポンスによる第２の通信内容を受信すると、第２の通信内容を送信したすべてのスレーブノードのうちから、タスク処理の分散処理を依頼すべき受け入れ先ノードを選定する（ステップ１２０）。尚、この受け入れ先ノードの選定は、各スレーブノードから分散処理受け入れレスポンスにて同時に送られる上記した処理負荷余裕度やオーバーヘッド時間等の情報に基づいて順位付けされた優先順位に従って行われるものとしてもよい。
【００２８】
マスターノードであるＥＣＵ１２は、上記の如く受け入れ先ノードを選定すると、次に、その受け入れ先ノードにタスク処理の分散処理を依頼する通知（以下、分散処理入力情報通知と称す。）を行う（ステップ１２２）。
【００２９】
上記の分散処理入力情報通知は、マスターノードが所定の通信内容（以下、第３の通信内容と称す。）を通信バス１４を介して受け入れ先ノードへ送信することにより実現される。この第３の通信内容は、自ＥＣＵ１２（マスターノード）の識別ＩＤ、受け入れ先ノードの識別ＩＤ、その分散処理に対応したタスク処理を実行するうえで必要な分散処理可プログラムに付与された分散処理可プログラム識別子の情報、及び、その分散処理に対応したタスク処理を実行するうえで必要な入力データを含むものである。マスターノードにより分散処理入力情報通知が行われると、第３の通信内容を示す情報が通信バス１４に流れる。
【００３０】
受け入れ先ノードに選定されなかったスレーブノードは、マスターノードから通信バス１４に流れる分散処理入力情報通知による第３の通信内容を受信することはできない。一方、受け入れ先ノードに選定されたスレーブノードは、マスターノードから通信バス１４に流れる分散処理入力情報通知による第３の通信内容を受信することができる。
【００３１】
受け入れ先ノードは、上記ステップ１１４において分散処理受け入れレスポンスを行った後、マスターノードから通信バス１４に流れる分散処理入力情報通知による第３の通信内容を受信すると、まず、そのタスク処理の分散処理可プログラムを自ＲＯＭ２０から読み出す（ステップ１３０）、そして、その読み出した分散処理可プログラムに従って、その第３の通信内容に含まれている入力データに基づいてその分散処理に対応したタスク処理を実行する（ステップ１３２）。かかるタスク処理の分散処理が行われると、マスターノードとは別の受け入れ先ノードにてそのタスク処理による演算結果が得られることとなる。
【００３２】
受け入れ先ノードは、上記ステップ１３２においてタスク処理の分散処理を実行した演算結果を得た後、マスターノードに自ノードでの分散処理の演算結果を知らせる通知（以下、分散処理実行結果通知と称す。）を行う（ステップ１３４）。
【００３３】
上記の分散処理実行結果通知は、受け入れ先ノードが所定の通信内容（以下、第４の通信内容と称す。）を通信バス１４を介してマスターノードへ送信することにより実現される。この第４の通信内容は、自ＥＣＵ１２（受け入れ先ノード）の識別ＩＤ、マスターノードの識別ＩＤ、その分散処理に対応したタスク処理を実行するうえで必要な分散処理可プログラムに付与された分散処理可プログラム識別子の情報、及び、その分散処理の実行により得られた出力データを含むものである。受け入れ先ノードにより分散処理実行結果通知が行われると、第４の通信内容を示す情報が通信バス１４に流れる。
【００３４】
マスターノードであるＥＣＵ１２は、上記ステップ１２２において分散処理入力情報通知を行った後、受け入れ先ノードから通信バス１４に流れた分散処理実行結果通知による第４の通信内容を受信すると、その第４の通信内容に含まれる出力データを、そのタスク処理に対応したプログラムに従って正規に実行されて得られた結果であるとして扱って、その後の処置を行う（ステップ１４０）。
【００３５】
このように、本実施例の車載制御分散処理システム１０においては、通信バス１４に接続された複数のＥＣＵ１２でタスク処理を分散して実行させることができる。すなわち、通信バス１４に接続された複数のＥＣＵ１２に、分散処理可能なタスク処理の分散処理可プログラムとその分散処理可プログラムに対応した分散処理可プログラム識別子とを格納させたうえで、（１）自ＥＣＵ１２での処理能力が不足するマスターノードから他のＥＣＵ１２へ分散処理可プログラム識別子を含んだ分散処理リクエストを行い、（２）マスタエーノード以外のＥＣＵ１２に分散処理が可能であるか否かを判別させ、（３）分散処理可能なスレーブノードからマスターノードへそのスレーブノードの識別ＩＤを含む分散処理受け入れレスポンスを行い、（４）マスターノードにスレーブノードのうちから分散処理を受け入れてもらう受け入れ先ノードを選定し、（５）マスターノードから選定した受け入れ先ノードへ入力データを含む分散処理入力情報通知を行い、（６）受け入れ先ノードにタスク処理の分散処理を実行させ、（７）受け入れ先ノードからマスターノードへ分散処理結果を含む分散処理実行結果通知を行う。
【００３６】
かかるシステムによれば、受け入れ先ノードがタスク処理の分散処理を実行するうえで、そのタスク処理の実行に必要なプログラム自体をその都度（すなわち、分散処理の実行ごとに）マスターノードから受け入れ先ノードへ提供することは不要であり、そのプログラム自体の提供に伴う時間上のオーバーヘッドを無くすことができる。このため、複数のＥＣＵ１２でタスク処理を分散して実行させるうえで、通信バス１４上の通信負荷を軽減することができ、通信バス１４の占有時間を短くすることができる。従って、本実施例の車載制御分散処理システム１０によれば、車両において通信バス１４を介して接続された複数のＥＣＵ１２で分散して実行可能なタスク処理のリアルタイム性を向上させることができる。
【００３７】
また、本実施例においては、通信バス１４に接続されたそれぞれ独自の機能を有する各ＥＣＵ１２がそれぞれ、自ＥＣＵ１２をマスターノードとしかつ他のＥＣＵ１２のうちから選定した何れかのＥＣＵ１２を分散処理を受け入れる受け入れ先ノードとして扱うことができる。このため、本実施例のシステムによれば、一般的な並列分散コンピューティングの如く通信バス１４に接続されたＥＣＵ１２のうち何れか一のＥＣＵ１２のみがマスターノードとしてタスク処理を管理することは不要であると共に、また、通信バス１４に接続されたＥＣＵ１２のうち何れかのＥＣＵ１２を受け入れ先ノードとして予め定めておくことは不要である。従って、本実施例の車載制御分散処理システム１０によれば、複数のＥＣＵ１２を通信バス１４を介して接続させた既存のネットワーク構成でタスク処理の柔軟かつ効率的な分散処理を実現することが可能である。
【００３８】
尚、上記の実施例においては、ＥＣＵ１２が特許請求の範囲に記載した「車載機器」に、分散処理可プログラムが特許請求の範囲に記載した「プログラム」に、分散処理可プログラム識別子が特許請求の範囲に記載した「プログラム識別子」に、ＲＯＭ２０が特許請求の範囲に記載した「記憶部」に、マスターノードであるＥＣＵ１２が特許請求の範囲に記載した「リクエスト元ノード」に、それぞれ相当している。
【００３９】
また、上記の実施例においては、マスターノードが図２に示すステップ１０４において分散処理リクエストを行うことが特許請求の範囲に記載した「分散処理リクエスト部」及び「第１のステップ」に、マスターノードとは別のＥＣＵ１２がステップ１１２においてマスターノードからの分散処理の要求を受け入れるか否かを判別することが特許請求の範囲に記載した「受け入れ判別部」及び「第２のステップ」に、スレーブノードがステップ１１４において分散処理受け入れレスポンスを行うことが特許請求の範囲に記載した「分散処理受け入れレスポンス部」及び「第３のステップ」に、それぞれ相当している。
【００４０】
また、上記の実施例においては、マスターノードがステップ１２０において受け入れ先ノードを選定することが特許請求の範囲に記載した「選定部」及び「第４のステップ」に、マスターノードがステップ１２２において分散処理入力情報通知を行うことが特許請求の範囲に記載した「分散処理入力情報通知部」及び「第５のステップ」に、受け入れ先ノードがステップ１３２において分散処理を実行することが特許請求の範囲に記載した「分散処理実行部」及び「第６のステップ」に、受け入れ先ノードがステップ１３４において分散処理実行結果通知を行うことが特許請求の範囲に記載した「分散処理実行結果通知部」及び「第７のステップ」に、それぞれ相当している。
【００４１】
ところで、上記の実施例においては、通信バス１４に接続されているＥＣＵ１２が、互いに共通した同じ分散処理可プログラム及び同じ分散処理可プログラム識別子が格納されたＲＯＭ２０を有している。しかし、通信バス１４に接続されているすべてのＥＣＵ１２のＲＯＭ２０に、互いに共通した同じ分散処理可プログラム及び同じ分散処理可プログラム識別子が格納されている必要はない。例えば、自ＥＣＵ１２のみでの実行が許可されたタスク処理のプログラム及びそのプログラム識別子のみがＲＯＭ２０に格納されたＥＣＵ１２が通信バス１４に接続されていることとしてもよい。この場合は、このＥＣＵ１２は、車載制御分散処理システム１０を構成するＥＣＵ１２に該当しない。また、ＲＯＭ２０に格納されているプログラムが、自ＥＣＵ１２において主体的にタスク処理の実行が許可されかつ自ＥＣＵ１２以外の他ＥＣＵ１２においてタスク処理の分散処理の実行が許可された分散処理可プログラムを含む一方、他ＥＣＵ１２において主体的にタスク処理の実行が許可された分散処理可プログラムを含まないＥＣＵ１２が通信バス１４に接続されていることとしてもよい。この場合は、このＥＣＵ１２は、他ＥＣＵ１２からの要求に従ってタスク処理の分散処理を実行するＥＣＵ１２に該当しない。
【符号の説明】
【００４２】
１０  車載制御分散処理システム
１２  電子制御ユニット（ＥＣＵ）
１４  通信バス
２０  ＲＯＭ
２４  ＣＰＵ
【図１】
2015219586.tif 000003
【図２】
2015219586.tif 000004