(57)【要約】【課題】移動体に搭載され、外部装置と通信する通信装置において、通信が途絶えた場合における処理を効率化できるようにする。【解決手段】通信システムにおいては、外部送信処理にて、通信の途絶が検出されていないときに（Ｓ１１０：ＹＥＳ）、所定のデータをサーバ等に送信する（Ｓ１５０）。一方で、通信の途絶が検出されているときに（Ｓ１１０：ＮＯ）、サーバ２４等に送信しようとするデータの種別が、要求データであるか提供データであるかを判定する（Ｓ２４０）。そして、データの種別が要求データであれば（Ｓ２４０：ＮＯ）、このデータをＲＡＭ１３に保存し（Ｓ２６０）、データの種別が提供データであれば（Ｓ２４０：ＹＥＳ）、提供データの少なくとも一部を間引きしてＲＡＭ１３に保存する（Ｓ２５０）。よって、通信が途絶したとしても、処理を継続することができ、処理をやり直す構成と比較して、処理を効率化することができる。【選択図】図３
2010200123.tif 000002
【特許請求の範囲】
【請求項１】
移動体に搭載され、外部装置と通信する通信装置であって、
前記外部装置との通信が途絶したことを検出する通信途絶検出手段と、
前記通信途絶検出手段によって通信の途絶が検出されていないときに、所定のデータを前記外部装置に送信する通常送信手段と、
前記通信途絶検出手段によって通信の途絶が検出されているときに、当該通信装置が前記外部装置に送信しようとするデータの種別が、前記外部装置に対する要求である要求データであるか、前記外部装置に対して提供する提供データであるかを判定するデータ種別判定手段と、
前記データ種別判定手段によってデータの種別が前記要求データであると判定された場合に、該要求データを第１記録手段に保存するとともに、データの種別が前記提供データであると判定された場合に、該提供データの少なくとも一部を間引きして第２記録手段に保存する保存制御手段と、
を備えたことを特徴とする通信装置。
【請求項２】
請求項１に記載の通信装置において、
前記外部装置との通信が再開したことを検出する通信再開検出手段と、
前記通信再開検出手段によって通信の再開が検出されたときに、前記各記録手段に記録されたデータを前記外部装置に送信する再開送信手段と、
を備えたことを特徴とする通信装置。
【請求項３】
請求項２に記載の通信装置において、
前記再開送信手段は、前記通信再開検出手段によって通信の再開が検出されたときに、前記外部装置に前記第１記録手段に記録された要求データを優先して送信すること
を特徴とする通信装置。
【請求項４】
請求項１〜請求項３の何れかに記載の通信装置において、
前記保存制御手段は、現在時刻の情報を付加して前記各記録手段にデータを記録すること
を特徴とする通信装置。
【請求項５】
請求項１〜請求項４の何れかに記載の通信装置において、
前記外部装置との通信を伴うアプリケーションを実行する実行手段と、
前記実行手段によるアプリケーションの実行が続行不可能であることを検出する続行検出手段と、
前記続行検出手段により前記アプリケーションの実行が続行不可能であることが検出された場合に、前記アプリケーションの中断地点の情報を第３記録手段に保存する中断保存手段と、
を備えたことを特徴とする通信装置。
【請求項６】
請求項５に記載の通信装置において、
前記実行手段に対する電源切断を検出する電源断検出手段を備え、
前記続行検出手段は、前記電源断検出手段により電源切断が検出された場合に、前記実行手段によるアプリケーションの実行が続行不可能であると判断すること
を特徴とする通信装置。
【請求項７】
請求項１〜請求項６の何れかに記載の通信装置において、
前記何れかの記録手段は、前記外部装置から受信したデータを通信線に転送する際の送信バッファとしても利用されること
を特徴とする通信装置。
【請求項８】
コンピュータを、請求項１〜請求項７の何れかに記載の通信装置を構成する各手段として機能させる通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体に搭載され、外部装置と通信する通信装置、および通信プログラムに関する。
【背景技術】
【０００２】
ネットワークを介して接続された外部装置との間で種々の通信を行う通信装置が広く知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００６−５０２４９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記通信装置では、移動体に搭載されることは想定されていないので、通信が途絶えることも想定されていない。従って、通信が途絶えた場合には、処理が初めからやり直されることになり、効率が悪いという問題点があった。
【０００５】
そこで、このような問題点を鑑み、移動体に搭載され、外部装置と通信する通信装置において、通信が途絶えた場合における処理を効率化できるようにすることを本発明の目的とする。
【課題を解決するための手段】
【０００６】
かかる目的を達成するために成された請求項１に記載の通信装置において、通常送信手段は、通信途絶検出手段によって通信の途絶が検出されていないときに、所定のデータを外部装置に送信する。一方で、データ種別判定手段は、通信途絶検出手段によって通信の途絶が検出されているときに、通信装置が外部装置に送信しようとするデータの種別が、外部装置に対する要求である要求データであるか、外部装置に対して提供する提供データであるかを判定する。そして、保存制御手段は、データ種別判定手段によってデータの種別が要求データであると判定された場合に、該要求データを第１記録手段に保存するとともに、データの種別が提供データであると判定された場合に、提供データの少なくとも一部を間引きして第２記録手段に保存する。
【０００７】
このような通信装置によれば、通信が途絶したとしても、送信できなかったデータを各記録手段に保存することができるので、通信が回復した際に、保存したデータを再送することができる。また、データを記録する際に、データの種別が要求データか提供データかを判定し、提供データについては少なくとも一部を間引きするので、第２記録手段の容量を節約することができる。一方で、要求データについては全て第１記録手段に保存するので、通信が回復した際に、要求を漏れなく送信することができる。
【０００８】
また、このような通信装置によれば、通信が途絶したとしても、処理を継続することができるので、処理をやり直す構成と比較して、処理を効率化することができる。なお、第１記録手段と第２記録手段とは、同一の記録手段として構成されていてもよい。
【０００９】
ところで、請求項１に記載の通信装置において、通信が再開したときに各記録手段に記録されたデータを送信する構成については、通信装置の外部に備えられていてもよいが、請求項２に記載のように、通信装置に備えられていてもよい。即ち、外部装置との通信が再開したことを検出する通信再開検出手段と、通信再開検出手段によって通信の再開が検出されたときに、各記録手段に記録されたデータを外部装置に送信する再開送信手段と、を備えていてもよい。
【００１０】
このような通信装置によれば、通信が途絶した後に通信が再開したときに、記録手段に記録されているデータを、この通信装置自身が送信することができる。
【００１１】
また、請求項２に記載の通信装置において、再開送信手段は、請求項３に記載のように、通信再開検出手段によって通信の再開が検出されたときに、外部装置に第１記録手段に記録された要求データを優先して送信するようにしてもよい。
【００１２】
このような通信装置によれば、提供データよりも要求データを優先して送信するので、通信装置からの要求を早急に外部装置に送信することができる。
【００１３】
さらに、請求項１〜請求項３の何れかに記載の通信装置において、保存制御手段は、請求項４に記載のように、現在時刻の情報を付加して各記録手段にデータを記録するようにしてもよい。
【００１４】
このような通信装置によれば、データを記録した時刻を外部装置に伝えることができる。よって、外部装置では、通信が再開した後にデータを受信した場合であっても、データの新旧を把握することができる。
【００１５】
また、請求項１〜請求項４の何れかに記載の通信装置においては、請求項５に記載のように、外部装置との通信を伴うアプリケーションを実行する実行手段と、実行手段によるアプリケーションの実行が続行不可能であることを検出する続行検出手段と、続行検出手段によりアプリケーションの実行が続行不可能であることが検出された場合に、アプリケーションの中断地点の情報を第３記録手段に保存する中断保存手段と、を備えていてもよい。
【００１６】
このような通信装置によれば、アプリケーションを中断せざるを得ない場合であっても、中断地点の情報を保持しているので、アプリケーションを再開する際に、中断地点から再開することができる。
【００１７】
なお、請求項５に記載の通信装置においては、前記外部装置から前記要求データに対する応答を受信する応答受信手段を備え、前記続行検出手段は、前記送信手段による要求データの送信後、かつ前記応答受信手段による前記応答の受信前に、前記実行手段によるアプリケーションの実行が続行不可能であることを検出するようにしてもよい。
【００１８】
このような通信装置によれば、要求データに対する応答が得られる前にアプリケーションの実行が続行不可能となった場合に、要求データを再度送信することなく、アプリケーションを続行することができる。
【００１９】
請求項５に記載の通信装置においては、請求項６に記載のように、実行手段に対する電源切断を検出する電源断検出手段を備え、続行検出手段は、電源断検出手段により電源切断が検出された場合に、実行手段によるアプリケーションの実行が続行不可能であると判断するようにしてもよい。
【００２０】
このような通信装置によれば、アプリケーションの実行が続行不可能な場合の具体的事例として、実行手段に対する電源切断を検出した場合にアプリケーションの中断地点の情報を保存することができる。
【００２１】
さらに、請求項１〜請求項６の何れかに記載の通信装置において、何れかの記録手段は、請求項７に記載のように、外部装置から受信したデータを通信線に転送する際の送信バッファとしても利用されていてもよい。
【００２２】
このような通信装置によれば、外部装置から受信したデータを通信線に転送する際の送信バッファを何れかの記録手段と共用することができるので、通信装置をより簡素な構成にすることができる。
【００２３】
また、請求項８に記載の通信プログラムは、請求項１〜請求項７の何れかに記載の通信装置を構成する各手段として機能させることを特徴としている。
【００２４】
このような通信プログラムによれば、少なくとも請求項１の通信装置による効果と同様の効果を享受することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明が適用された通信システムの概略構成を示すブロック図（ａ）、および通信ＥＣＵのソフトウェア構成を示す概念図（ｂ）である。
【図２】通信ＥＣＵ（ＭＰＵ）がデータの通信を行う際において、各プログラム間でのデータのやりとりの手順を示すラダーチャートである。
【図３】外部送信処理を示すフローチャートである。
【図４】サービスプロセスの遷移状態を示す説明図である。
【図５】電源遮断処理を示すフローチャートである。
【図６】車内送信処理を示すフローチャートである。
【発明を実施するための形態】
【００２６】
以下に本発明にかかる実施の形態を図面と共に説明する。
【００２７】
図１（ａ）は本発明が適用された通信システム１の概略構成を示すブロック図、図１（ｂ）は通信ＥＣＵ１０のソフトウェア構成を示す概念図である。
【００２８】
図１（ａ）に示すように、通信システム１は、車両１００外部のサーバ２４と、車両１００に搭載された装置とが通信するよう構成されたシステムである。具体的には、車両１００には、通信ＥＣＵ１０（ＥＣＵは電子制御装置）と、センサ類４１と、通信ＥＣＵ１０以外の他のＥＣＵ４２と、が備えられており、これらは、車内の通信線３０によって互いに通信可能に接続されている。
【００２９】
通信ＥＣＵ１０は、マイクロプロセッサ（ＭＰＵ）１１、ＲＯＭ１２、ＲＡＭ１３を備えた周知のマイコンとして構成されている。そして、通信ＥＣＵ１０は、アンテナ１６を介して車両外部との通信を行うための外部通信インタフェース（Ｉ／Ｆ）１４と、車両内部において通信線３０を介した通信を行うための車内通信Ｉ／Ｆ１５とを備えている。
【００３０】
外部通信Ｉ／Ｆ１４は、例えば、携帯電話モジュールとして構成されており、車両外部のアンテナ２２を有する基地局２１との通信を実施し、この基地局２１がインターネント網や電話回線網等のネットワーク２３に接続されたサーバ２４と車両１００との通信を媒介する。
【００３１】
なお、センサ類４１や他のＥＣＵ４２は、車両１００の外部のサーバ２４に車両の状況を通知するとき、およびサーバ２４に何らかの要求をするときに、通信ＥＣＵ１０にデータを送信するよう依頼を行う。ここで、センサ類４１および他のＥＣＵ４２は、車両の状況を通知する（提供する）Notifyデータ（提供データ）と、要求（処理依頼）を行うCallデータ（要求データ）とが通信ＥＣＵ１０にて識別できるようにデータを送信する。
【００３２】
また、サーバ２４は、車両１００からCallデータを受けると、Callデータに対応した所定の処理を行い、処理結果を車両１００に返すよう構成されている。
【００３３】
通信ＥＣＵ１０のソフトウェア構成においては、図１（ｂ）に示すように、例えばオペレーションソフト等の車載プラットフォーム（ＰＦ）５１の上位に、ミドルウェア５４が配置され、さらに、ミドルウェアの上位に、サービスプロセスマネージャ６０（Service Process Manager）や多数のＳＷＣ５５（Software Component）等のコンポーネントが配置された階層構造に構成されている。
【００３４】
即ち、ミドルウェア５４は、実行するアプリケーションソフトに応じて適宜車載ＰＦ５１の機能を利用でき、各コンポーネントは、ミドルウェア５４および車載ＰＦ５１の機能を利用できることを示す。
【００３５】
ここで、車載ＰＦ５１には、各通信Ｉ／Ｆ１４，１５を用いて通信ＥＣＵ１０の外部と内部との通信を行う機能を備えており、通信ＥＣＵ１０の内部的な処理の大半はミドルウェア５４およびコンポーネントが実施する。そして、本実施形態においては、車載ＰＦ５１とミドルウェア５４との間に、データのバッファリングを管理するプログラムであるＡＳＳ（Automotive Service Space）５２およびＡＣＳ（Automotive Component Space）５３を備えている。
【００３６】
ＡＳＳ５２は、車両１００の外部との間でやりとりされるデータに対するバッファリングを管理するプログラムである。また、ＡＣＳ５３は、車両１００の内部との間でやりとりされるデータに対するバッファリングを管理するプログラムである。
【００３７】
サービスプロセスマネージャ６０は、多数のサービスプロセス６１（Service Process）や、状態管理プログラム６２を備えて構成されており、状態管理プログラム６２が各サービスプロセス６１の実行状態（詳細は後述する。）を管理するように構成されている。
【００３８】
なお、本実施形態において、車載ＰＦ５１、ミドルウェア５４等の各プログラムを実行する主体はＭＰＵ１１であるが、本実施形態においては、各プログラムを主体として記述する。具他的には、例えば、ＭＰＵ１１が車載ＰＦの機能を利用して処理を行う場合、「車載ＰＦが処理を行う」というように記述する。また、サービスプロセス６１には、サーバ２４との間でデータをやりとりするアプリケーションが含まれている（実行手段）。
【００３９】
このようなソフトウェア構成を備えた通信ＥＣＵ１０（ＭＰＵ１１）がデータの通信を行う際において、各プログラム間でのデータのやりとりの手順を図２のラダーチャートを用いて説明する。初めに、車内ネットワーク（つまり、センサ類４１または他のＥＣＵ４２）から受信したデータを車両１００の外部送信するときには、まず、車内ネットワークから車載ＰＦ５１に通信データ（例えばNotifyデータ）が送信される（Ｓ１０）。
【００４０】
そして、車載ＰＦ５１では、この通信データを受信し（Ｓ２０）、車両１００外部との通信が確立しているときには、通信データの送信を行う。また、車両１００外部との通信が確立していないときには、ＡＣＳ５３に対して通信データの書き込み（Write）を指示する（Ｓ３０）。すると、ＡＣＳ５３は、このデータをＲＡＭ１３の所定の領域に格納する。
【００４１】
また、各サービスプロセス６１が車内ネットワークからのデータを読み出す場合には、まず、サービスプロセス６１がミドルウェア５４に通信データ（例えばNotifyデータ）の読み出し（Read）を指示し（Ｓ４０）、ミドルウェア５４がＡＣＳ５３に通信データの読み出しを指示する（Ｓ５０）。すると、ＡＣＳ５３が所定の通信データをＲＡＭ１３から読み出し、ミドルウェア５４を介してサービスプロセス６１に通信データを送信する。
【００４２】
また、各サービスプロセス６１からサーバ２４等の車外ネットワークにデータを送信する場合には、まず、サービスプロセス６１がミドルウェア５４に通信データ（例えばCallデータ）を送信し（Ｓ６０）、ミドルウェア５４がＡＳＳ５２に通信データを送信する（Ｓ７０）。すると、ＡＳＳ５２は、このデータをＲＡＭ１３の所定の領域に格納する。
【００４３】
ここで、車両１００外部との通信が確立しているときには、ＡＳＳ５２がＲＡＭ１３から通信データを読み出して、車載ＰＦ５１に通信データの送信を行い（Ｓ８０）、車載ＰＦ５１が車外ネットワークに対して通信データの送信を行う（Ｓ９０）。また、車両１００外部との通信が確立していないときには、ＡＳＳ５２がＲＡＭ１３から通信データを読み出すことはなく、ＲＡＭ１３に通信データが保持された状態になる。
【００４４】
ここで、通信データを車両１００の外部に送信する処理の詳細について図３を用いて説明する。図３は通信ＥＣＵ１０（ＭＰＵ１１）が実行する外部送信処理を示すフローチャートである。
【００４５】
外部送信処理は、車両のイグニッションスイッチ（図示省略）等の車両の電源がＯＮ状態にされると開始される処理であって、以後、繰り返し実行される処理である。外部送信処理では、まず、車載ＰＦ５１が外部通信Ｉ／Ｆ１４の状態を確認し、車両１００の外部との通信途絶を判定する（Ｓ１１０）。
【００４６】
通信が確立していれば（Ｓ１１０：ＮＯ）、通信データをサーバ２４等に送信する通常の送信処理を行う。即ち、送信する通信データ（メッセージ）の有無を判断し（Ｓ１３０）、通信データがあれば（Ｓ１３０：ＹＥＳ）、ＡＳＳ５２が通信データをＲＡＭ１３に保持する（Ｓ１４０）。この際、現在時刻の情報を付加して通信データを記録する。
【００４７】
そして、ＡＳＳ５２が通信プロトコルに応じた適切なタイミングで通信データを読み出して車載ＰＦ５１に読み出した通信データを送信し、車載ＰＦ５１が通信データを送信する（Ｓ１５０）。このような処理が終了すると、外部送信処理を終了する。また、Ｓ１３０の処理にて通信データがなければ（Ｓ１３０：ＮＯ）、直ちに外部送信処理を終了する。
【００４８】
次に、Ｓ１１０の処理にて、通信が途絶していれば（Ｓ１１０：ＹＥＳ）、車載ＰＦ５１がＡＳＳ５２に対して車外通信が途絶している旨のイベントを発行する（Ｓ２１０）。この処理が実施されると、例えばＲＡＭ１３の所定の領域に通信途絶を示すフラグが立てられ、ＡＳＳ５２が車載ＰＦ５１に通信データを送信する処理（Ｓ１５０に相当する処理）が実施されなくなる。
【００４９】
続いて、送信する通信データの有無を判断する（Ｓ２３０）。通信データがなければ（Ｓ２３０：ＮＯ）、後述するＳ２７０の処理に直ちに移行する。
【００５０】
また、通信データがあれば（Ｓ２３０：ＹＥＳ）、通信データの種別を判定する（Ｓ２４０）。通信データの種別がNotify（Notifyデータ）であれば（Ｓ２４０：ＹＥＳ）、ＡＳＳ５２が最後（最新）の通信データのみをＲＡＭ１３に保持する（Ｓ２５０）。つまり、通信データの一部を間引きしてＲＡＭ１３に保持する。なお、この際、現在時刻の情報を付加して通信データを記録する。
【００５１】
また、通信データがCall（Callデータ）であれば（Ｓ２４０：ＮＯ）、全ての通信データをＲＡＭ１３に保持する（Ｓ２６０）。この際、現在時刻の情報を付加して通信データを記録する。
【００５２】
続いて、再び、車載ＰＦ５１が外部通信Ｉ／Ｆ１４の状態を確認し、車両１００の外部との通信途絶を判定する（Ｓ２７０）。通信が途絶していれば（Ｓ２７０：ＮＯ）、Ｓ２３０の処理に戻る。
【００５３】
また、通信が確立していれば（Ｓ２７０：ＮＯ）、車載ＰＦ５１がＡＳＳ５２に対して車外通信が再開した旨のイベントを発行する（Ｓ２８０）。すると、例えばＲＡＭ１３における通信途絶を示すフラグが解除され、ＡＳＳ５２から車載ＰＦ５１に通信データを送信する処理が再開される。
【００５４】
即ち、ＡＳＳ５２が通信データを読み出して車載ＰＦ５１に読み出した通信データを送信し、車載ＰＦ５１が通信データを送信する（Ｓ２９０）。この際、ＡＳＳ５２は、NotifyデータよりもCallデータを優先して読み出す。このような処理が終了すると、外部送信処理を終了する。
【００５５】
ところで、状態管理プログラム６２は、各サービスプロセス６１の状態を管理しており、各サービスプロセス６１の状態を、図４に示すように、defined、registered、activated、suspendedの４つの状態で遷移させる機能を有している。definedとは、サービスプロセスが定義されているが、まだ車載ＰＦ５１に登録されていない状態である。なお、サービスプロセス６１が車載ＰＦ５１に登録されるとregistered状態になる。
【００５６】
次に、registeredとは、サービスプロセス６１が車載ＰＦ５１に登録されている状態である。サービスプロセス６１を登録するにあたり、プロセス記述を実行しやすい形式に変換（コンパイル）してもよい。なお、サービスプロセス６１が削除されるとdefinedの状態に戻る。
【００５７】
また、activatedとは、サービスプロセス６１が起動されている状態である。サービスプロセス６１の最後の処理が終了した場合、あるいはサービスプロセス停止機能によってサービスプロセス６１が強制終了された場合に、registeredの状態に戻る。
【００５８】
さらに、suspendedとはサービスプロセス６１が中断している状態である。サービスプロセス６１が終了する前に、車載ＰＦ５１が動作しているＭＰＵ１１が停止するとsuspendedの状態になる。また、ＭＰＵ１１が再起動し、車載ＰＦ５１の動作が再開すると、この状態のサービスプロセス６１はactivatedの状態に戻る。
【００５９】
ここで、サービスプロセス６１をactivatedとsuspendedとの間で遷移させる処理について、図５を用いて説明する。図５は通信ＥＣＵ１０（ＭＰＵ１１）が実行する電源遮断処理を示すフローチャートである。電源遮断処理は、アプリケーションの実行が続行不可能である場合に、安全にＭＰＵ１１を停止させ、ＭＰＵ１１が再起動したときに、中断した処理を続きから作動させる処理である。
【００６０】
この電源遮断処理は、例えばイグニッションスイッチ等の車両１００の電源がＯＮ状態にされると開始され、その後、繰り返し実施される処理である。ただし、通信ＥＣＵ１０には、非常用電源が備えられており、車両の電源がＯＦＦ状態にされたとしても、直ちに通信ＥＣＵ１０の電源がダウンしないように構成されている。
【００６１】
具体的な電源遮断処理においては、まず、車載ＰＦ５１が電源を遮断する電源断要求を検出したか否かを判定する（Ｓ３１０）。
【００６２】
ここで、電源断要求は、例えば、イグニッションスイッチの状態を監視するサービスプロセス６１が、イグニッションスイッチがＯＦＦ状態になったことを検出したときに、車載ＰＦ５１に対して行う。車載ＰＦ５１が電源断要求を検出していなければ（Ｓ３１０：ＮＯ）、電源遮断処理を終了する。
【００６３】
また、車載ＰＦ５１が電源断要求を検出していれば（Ｓ３１０：ＹＥＳ）、車載ＰＦ５１がサービスプロセスマネージャ６０へ電源断の準備を指示する旨のイベントを発行する（Ｓ３２０）。そして、サービスプロセスマネージャ６０は、activatedの状態のサービスプロセス６１の全てをsuspendedの状態に遷移させる（Ｓ３３０）。この際、サービスプロセス６１毎に、中断地点の情報をＲＡＭ１３に記録させる。
【００６４】
続いて、サービスプロセスマネージャ６０が車載ＰＦ５１に対して電源断の準備が完了した旨のイベントを発行する（Ｓ３４０）。すると、車載ＰＦ５１が電源断を実行し（Ｓ３５０）、電源遮断処理を終了する。
【００６５】
このような電源遮断処理が実施され、その後、ＭＰＵ１１が再起動した場合には、車載ＰＦ５１の動作が再開すると、suspendedの状態のサービスプロセス６１がactivatedの状態に戻る。この際、各サービスプロセス６１は、中断地点の情報をＲＡＭ１３から読み出し、この中断地点から処理を再開する。
【００６６】
次に、車両１００の外部または内部から受信した通信データを車内のネットワークである通信線３０に転送する処理について図６を用いて説明する。図６は通信ＥＣＵ１０のＭＰＵ１１が実行する車内送信処理を示すフローチャートである。この処理は、通信線３０に転送する通信データを一旦バッファリングすることによって、通信ＥＣＵ１０による処理の速度に対して通信速度が遅い場合（つまり、通信データを直ちに送信することができない場合）であっても、通信ＥＣＵ１０による処理を通常通りの処理速度で継続することができるようにしている。
【００６７】
車内送信処理では、まず、サービスプロセス６１等の処理に伴って、通信線３０に対して送信すべき通信データの有無を判定する（Ｓ４１０）。通信データがあれば、（Ｓ４１０：ＹＥＳ）、通信データの種別を判定する（Ｓ４２０）。
【００６８】
ここで、本実施形態において、通信データの種別には、前述のNotifyデータおよびCallデータとは独立して、Last-Is-BestおよびFirstIn-FirstOutがある。通信データの種別がLast-Is-Bestであれば（Ｓ４２０：ＹＥＳ）、ＡＣＳ５３が最後（最新）の通信データのみをＲＡＭ１３に保持する（Ｓ４３０）。つまり、通信データの一部を間引きしてＲＡＭ１３に保持する。
【００６９】
また、通信データの種別がFirstIn-FirstOutであれば、ＡＣＳ５３が全ての通信データをＲＡＭ１３に保持する（Ｓ４４０）。続いて、通信データの送信タイミングであるか否かを判定する（Ｓ４５０）。
【００７０】
送信タイミングであれば（Ｓ４５０：ＹＥＳ）、ＡＣＳ５３が車載ＰＦ５１を介してＲＡＭ１３に保持した通信データを車内のネットワークへ送信し（Ｓ４６０）、車内送信処理を終了する。
【００７１】
また、送信タイミングでなければ（Ｓ４５０：ＮＯ）、直ちに車内送信処理を終了する。
【００７２】
以上のように詳述した通信システム１において、通信ＥＣＵ１０は、外部送信処理にて、通信の途絶が検出されていないときに、所定のデータをサーバ２４等に送信する。一方で、通信ＥＣＵ１０は、通信の途絶が検出されているときに、通信ＥＣＵ１０がサーバ２４等に送信しようとするデータの種別が、サーバ２４等に対する要求である要求データ（Callデータ）であるか、サーバ２４等に対して提供する提供データ（Notifyデータ）であるかを判定する。そして、通信ＥＣＵ１０は、データの種別が要求データであると判定された場合に、該要求データをＲＡＭ１３に保存するとともに、データの種別が提供データであると判定された場合に、提供データの少なくとも一部を間引きしてＲＡＭ１３に保存する。
【００７３】
このような通信システム１によれば、通信が途絶したとしても、送信できなかったデータを各記録手段に保存することができるので、通信が回復した際に、保存したデータを再送することができる。また、データを記録する際に、データの種別が要求データか提供データかを判定し、提供データについては少なくとも一部を間引きするので、ＲＡＭ１３の容量を節約することができる。
【００７４】
一方で、要求データについては全てＲＡＭ１３に保存するので、通信が回復した際に、要求を漏れなく送信することができる。また、このような通信ＥＣＵ１０によれば、通信が途絶したとしても、処理を継続することができるので、処理をやり直す構成と比較して、処理を効率化することができる。
【００７５】
また、通信システム１において通信ＥＣＵ１０は、サーバ２４等との通信が再開したことを検出し、通信の再開が検出されたときに、ＲＡＭ１３に記録されたデータをサーバ２４等に送信する。
【００７６】
このような通信システム１によれば、通信が途絶した後に通信が再開したときに、記録手段に記録されているデータを、この通信ＥＣＵ１０自身が送信することができる。
【００７７】
また、通信システム１において通信ＥＣＵ１０は、外部送信処理にては、通信の再開が検出されたときに、サーバ２４等にＲＡＭ１３に記録された要求データを優先して送信する。
【００７８】
このような通信システム１によれば、提供データよりも要求データを優先して送信するので、通信ＥＣＵ１０からの要求を早急にサーバ２４等に送信することができる。
【００７９】
さらに、通信システム１において通信ＥＣＵ１０は、現在時刻の情報を付加して各記録手段にデータを記録する。
【００８０】
このような通信システム１によれば、データを記録した時刻をサーバ２４等に伝えることができる。よって、サーバ２４等では、通信が再開した後にデータを受信した場合であっても、データの新旧を把握することができる。
【００８１】
また、通信システム１において通信ＥＣＵ１０は、電源遮断処理にて、サーバ２４等との通信を伴うアプリケーションを実行し、アプリケーションの実行が続行不可能であることが検出された場合に、アプリケーションの中断地点の情報をＲＡＭ１３に保存する。
【００８２】
このような通信システム１によれば、アプリケーションを中断せざるを得ない場合であっても、中断地点の情報を保持しているので、アプリケーションを再開する際に、中断地点から再開することができる。
【００８３】
また、通信システム１において通信ＥＣＵ１０は、当該通信ＥＣＵ１０に対する電源切断を検出し、電源切断が検出された場合に、アプリケーションの実行が続行不可能であると判断する。
【００８４】
このような通信システム１によれば、アプリケーションの実行が続行不可能な場合の具体的事例として、電源切断を検出した場合にアプリケーションの中断地点の情報を保存することができる。
【００８５】
さらに、通信システム１においてＲＡＭ１３は、サーバ２４等から受信したデータを通信線３０へ転送する際の送信バッファとしても利用されていてもよい。
【００８６】
このような通信システム１によれば、ＲＡＭ１３を、通信線へデータを転送する際の送信バッファとしても利用することができるので、通信システム１をより簡素な構成にすることができる。
【００８７】
なお、本発明の実施の形態は、上記の実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。
【００８８】
例えば、上記実施形態においては、外部装置に対する通信途絶に対応した処理（外部送信処理）を実施するようにしたが、車両内部の通信線３０を介して接続された各装置との通信途絶に対応した処理を同様の処理として実施してもよい。また、上記実施形態では、電源を遮断する際に、アプリケーションの実行が続行不可能であるものと判断したが、例えば、通信ＥＣＵ１０に供給される電源の電圧を監視し、電圧が一定値未満になった場合に、アプリケーションの実行が続行不可能であるものと判断するようにしてもよい。
【００８９】
さらに、上記実施形態においては、特に、要求データの送信後、かつこの要求データに対する応答の受信前に、アプリケーションの実行が続行不可能であることを検出するようにしてもよい。このような通信システムでは、要求データに対する応答が得られる前にアプリケーションの実行が続行不可能となった場合に、再度、要求データを送信することなく、アプリケーションを続行することができる。
【符号の説明】
【００９０】
１…通信システム、１０…通信ＥＣＵ、１１…ＭＰＵ、１２…ＲＯＭ、１３…ＲＡＭ、１４…外部通信Ｉ／Ｆ、１５…車内通信Ｉ／Ｆ、１６…アンテナ、２１…基地局、２２…アンテナ、２３…ネットワーク、２４…サーバ、３０…通信線、４１…センサ類、４２…他のＥＣＵ、５１…車載ＰＦ、５２…ＡＳＳ、５３…ＡＣＳ、５４…ミドルウェア、５５…ＳＷＣ、６０…サービスプロセスマネージャ、６１…サービスプロセス、６２…状態管理プログラム、１００…車両。
【図１】
2010200123.tif 000003
【図３】
2010200123.tif 000004
【図５】
2010200123.tif 000005
【図６】
2010200123.tif 000006
【図２】
2010200123.tif 000007
【図４】
2010200123.tif 000008