(57)【要約】      （修正有）【課題】遠隔車両診断のためのシステム及び方法を提供する。【解決手段】遠隔車両診断メッセージは、車両診断ホスト装置１０２の電気コネクタに接続された車両１０１の車両識別番号に基づいて取得される。車両電子的構成ファイルは、ホスト装置１０２に提供されて１つ以上の車両制御モジュールへのアクセスを制御する。【選択図】図１Ａ
2019209964.tif 000002
【特許請求の範囲】
【請求項１】
車両診断システムであって、
ハウジング構造と、
前記ハウジング構造の部分に結合されている、及び前記ハウジング構造の部分から伸びている、のうちの少なくとも１つである電気コネクタと、
前記ハウジング構造に配置され、前記電気コネクタに通信可能に結合された、１つ以上のコンピュータ及び１つ以上の記憶装置とを備え、
前記１つ以上の記憶装置は、前記１つ以上のコンピュータによって実行されるときに、前記１つ以上のコンピュータに、
前記電気コネクタに接続された車両の車両識別番号（ＶＩＮ）を求めることと、
前記ＶＩＮを含む要求をリモートサーバシステムへ送信させることと、
少なくとも部分的に前記車両識別番号に基づいて生成された車両電子的構成（ＶＥＣ）ファイルを、前記１つ以上の記憶装置において、前記リモートサーバシステムへの前記要求の送信に応じて受信することと、
パラメータ識別（ＰＩＤ）コードを、前記車両電子的構成ファイルによって、車両動作データの総称的な要求の受信に応じて識別することと、
識別された前記ＰＩＤコードに基づいて、アクセスされるべき車両制御モジュールを決定することと、
識別された前記ＰＩＤコードに基づいて、前記車両制御モジュールから前記車両動作データを取得することと、
を含む動作を行わせるように動作可能な格納された命令を含む、
車両診断システム。
【請求項２】
前記格納された命令は、ナノカーネルファームウェアとして構成される、
請求項１に記載の車両診断システム。
【請求項３】
前記格納された命令は、前記１つ以上のコンピュータによって実行されるときに、前記１つ以上のコンピュータに、前記車両動作データを前記リモートサーバシステムへ送信させることを含む動作を行わせるように更に動作可能である、
請求項１に記載の車両診断システム。
【請求項４】
前記コネクタは、車上診断（ＯＢＤ）コネクタを含む、
請求項１に記載の車両診断システム。
【請求項５】
前記格納された命令は、前記１つ以上のコンピュータによって実行されるときに、前記１つ以上のコンピュータに、出力コマンドを車両制御モジュールへ送らせることを含む動作を行わせるように更に動作可能である、
請求項１に記載の車両診断システム。
【請求項６】
前記格納された命令は、前記１つ以上の記憶装置における１００キロバイト以下のメモリに格納される、
請求項１に記載の車両診断システム。
【請求項７】
前記格納された命令は、前記１つ以上の記憶装置における６４キロバイト以下のメモリに格納される、
請求項１に記載の車両診断システム。
【請求項８】
前記１つ以上の記憶装置は、前記１つ以上のコンピュータによって実行されるときに、前記１つ以上のコンピュータに、前記ＶＥＣファイルを前記１つ以上の記憶装置に格納することを更に含む動作を行わせるように動作可能な格納された命令を含む、
請求項１に記載の車両診断システム。
【請求項９】
前記ＶＥＣファイルは、前記車両動作データを取得し、前記車両動作データを前記１つ以上の記憶装置のうちの少なくとも１つに格納するために、前記１つ以上の記憶装置に格納されたオペレーティングシステムと係合され、車両通信インタフェース（ＶＣＩ）を経由して前記車両制御モジュールを係合するように構成される、
請求項７に記載の車両診断システム。
【請求項１０】
前記ＶＥＣファイルは第１ＶＥＣファイルであり、前記１つ以上の記憶装置に格納された前記第１ＶＥＣファイルを前記第１ＶＥＣファイルとは別個の第２ＶＥＣファイルで置き換えることを更に含む、
請求項８に記載の車両診断システム。
【請求項１１】
前記１つ以上の記憶装置に格納された前記第１ＶＥＣファイルを前記第２ＶＥＣファイルで置き換えることは、前記ＶＩＮの少なくとも１つの変更に応じて行われる、
請求項１０に記載の車両診断システム。
【請求項１２】
前記ＶＥＣファイルはバイナリファイルを含む、
請求項１に記載の車両診断システム。
【請求項１３】
前記ＶＥＣファイルは、複数のパラメータ識別（ＰＩＤ）コードのための文字列及びロジックを含み、識別された前記ＰＩＤコードは、前記複数のＰＩＤコードから選択される、
請求項１に記載の車両診断システム。
【請求項１４】
前記要求は、前記車両診断システムのデバイス識別番号を含む、
請求項１に記載の車両診断システム。
【請求項１５】
前記１つ以上のコンピュータは、車両動作データの総称的な要求をリモートサーバから受信するように構成される、
請求項１に記載の車両診断システム。
【請求項１６】
車両診断データを取得する方法であって、
車両診断システムの電気コネクタに接続された車両の車両識別番号（ＶＩＮ）を求めることと、
前記ＶＩＮを含む要求を、前記車両診断システムからリモートサーバシステムへ送信させることと、
少なくとも部分的に前記車両識別番号に基づいて生成された車両電子的構成（ＶＥＣ）ファイルを、前記車両診断システムにおいて、前記要求の送信に応じて受信することと、
パラメータ識別（ＰＩＤ）コードを、前記ＶＥＣファイルによって、車両動作データの総称的な要求の前記リモートサーバシステムからの受信に応じて識別することと、
識別された前記ＰＩＤコードに基づいて、アクセスされるべき車両制御モジュールを決定することと、
識別された前記ＰＩＤコードに基づいて、前記車両制御モジュールから前記車両動作データを取得することと、
を含む、車両診断データを取得する方法。
【請求項１７】
前記格納された命令は、１つ以上のコンピュータによって実行されるときに、前記１つ以上のコンピュータに、前記車両動作データを前記リモートサーバシステムへ送信させることを含む動作を行わせるように更に動作可能である、
請求項１６に記載の車両診断データを取得する方法。
【請求項１８】
前記車両動作データを取得することは、故障診断コード（ＤＴＣ）を取得することを含む、
請求項１６に記載の車両診断データを取得する方法。
【請求項１９】
前記ＰＩＤコードを前記総称的な要求の受信に応じて識別することは、前記総称的な要求内の１つ以上の用語をＰＩＤ名にマッピングすることを含む、
請求項１６に記載の車両診断データを取得する方法。
【請求項２０】
前記ＰＩＤコードを前記総称的な要求の受信に応じて識別することは、複数のＰＩＤコードを含むルックアップテーブルを調べることを含む、
請求項１６に記載の車両診断データを取得する方法。
【請求項２１】
前記ＰＩＤコードは、車両のオドメータの読み取り値、オイル寿命、タイヤ空気圧、シートベルト状態、燃料レベル、エアバッグ状態、変速機ギアの位置、ブレーキ状態、車両速度及びエンジン速度のうちの少なくとも１つに対応する、
請求項１６に記載の車両診断データを取得する方法。
【請求項２２】
前記ＰＩＤコードを前記総称的な要求の受信に応じて識別することは、
前記総称的な要求内の標準化された用語のリストを解釈することと、
標準化された用語の前記リスト内の標準化された用語を、複数のＰＩＤコードから選択されたＰＩＤコードにマッピングすることと、
を含む、請求項１６に記載の車両診断データを取得する方法。
【請求項２３】
前記標準化された用語を、複数のＰＩＤコードから選択されたＰＩＤコードにマッピングすることは、前記総称的な要求を文字列検索アルゴリズムで分析することを含む、
請求項２２に記載の車両診断データを取得する方法。
【請求項２４】
前記標準化された用語を、複数のＰＩＤコードから選択されたＰＩＤコードにマッピングすることは、前記総称的な要求をパターン認識アルゴリズムで分析することを含む、
請求項２２に記載の車両診断データを取得する方法。
【請求項２５】
前記ＶＥＣファイルを１つ以上の記憶装置に格納することを更に含む、
請求項１６に記載の車両診断データを取得する方法。
【請求項２６】
前記ＶＥＣファイルは第１ＶＥＣファイルであり、１つ以上の記憶装置に格納された前記第１ＶＥＣファイルを前記第１ＶＥＣファイルとは別個の第２ＶＥＣファイルで置き換えることを更に含む、
請求項２３に記載の車両診断データを取得する方法。
【請求項２７】
前記１つ以上の記憶装置に格納された前記第１ＶＥＣファイルを前記第２ＶＥＣファイルで置き換えることは、前記ＶＩＮの少なくとも１つの変更の検出に応じて行われる、
請求項２６に記載の車両診断データを取得する方法。
【請求項２８】
車両診断データを取得する方法であって、
車両診断システムの電気コネクタに接続された車両の車両識別番号（ＶＩＮ）を求めることと、
前記ＶＩＮを含む要求を、前記車両診断システムからリモートサーバシステムへ送信させることと、
少なくとも部分的に前記ＶＩＮに基づいて生成された車両電子的構成（ＶＥＣ）ファイルを、前記車両診断システムにおいて、前記要求の送信に応じて受信することと、
アクセスされるべき車両制御モジュールを、受信された、車両出力制御コマンドの総称的な要求に基づいて、前記ＶＥＣファイルによって識別することと、
を含む、車両診断データを取得する方法。
【請求項２９】
前記車両制御モジュールにアクセスして、前記車両出力制御コマンドを起動させることを更に含む、
請求項２８に記載の車両診断データを取得する方法。
【請求項３０】
前記車両出力制御コマンドの完了に応じて、少なくとも１つの車両パラメータの値を取得することを更に含む、
請求項２９に記載の車両診断データを取得する方法。
【請求項３１】
前記車両制御モジュールにアクセスするのに応じて、前記車両制御モジュールから取得された未処理データのバイトを格納することを更に含む、
請求項２８に記載の車両診断データを取得する方法。
【請求項３２】
１つ以上のコンピュータによって実行されるときに、前記１つ以上のコンピュータに、
車両の車両識別番号（ＶＩＮ）を求めることと、
前記ＶＩＮを含む要求を、車両診断システムからリモートサーバシステムへ送信させることと、
少なくとも部分的に前記ＶＩＮに基づいて生成された車両電子的構成（ＶＥＣ）ファイルを、前記車両診断システムにおいて、前記要求の送信に応じて受信することと、
パラメータ識別（ＰＩＤ）コードを、前記ＶＥＣファイルによって、車両動作データの総称的な要求の前記リモートサーバシステムからの受信に応じて識別することと、
識別された前記ＰＩＤコードに基づいて、アクセスされるべき車両制御モジュールを決定することと、
識別された前記ＰＩＤコードに基づいて、前記車両制御モジュールから前記車両動作データを取得することと、
を含む動作を行わせる命令が格納された１つ以上のコンピュータ読み取り可能な記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、概して自動車の診断システムの分野に関する。
【背景技術】
【０００２】
高度車両診断システムによって、整備士や技術者が車両システムにアクセスし、車両システムを診断することが可能になる。これらの高度車両診断システムの中には、車両の車上診断（ＯＢＤ）ポートに差し込まれるツールによって実装されるものがある。これらのツールは、車両を分析、診断及び修理するために、１つ以上のローカルのコンピュータ又はステーションと通信し得る。これらのシステムは、概して高度な技術者による使用に適している。これらのシステムは、例えばローカルのコンピュータ又はステーションに格納され得る大きなデータベースのサブスクリプションの分析を実行する。したがって、これらのツールによって、技術者が、車両の故障コード及び技術情報を深く探ることが可能になる。
【０００３】
これらのシステムは、高度な技術者による使用のために設計されているので、ローカルな使用のために構成されており、概して平均的な運転者にとっては複雑過ぎる、診断における技術的な詳細を提供する。そのようなツールのためのメモリの記憶容量の要求は、リアルタイムの遠隔診断をできなくするほど高い。更に、そのようなツールによって提供される分析の複雑さは、ローカルな診断及び修理をする根拠となり、そのようなシステムの使用を容易にする大きなデータベースのサブスクリプションが容易に利用可能となる。
【発明の概要】
【０００４】
本発明者らは、ここに開示されたさまざまな実施形態が、車両の診断状態情報を遠隔から取得し及び／又は車両に出力制御を遠隔から行う装置、システム、及び方法を提供するということを、よく理解している。遠隔車両診断は、車両診断システムホスト装置の電気コネクタに接続された車両の車両識別番号に基づいて達成される。車両電子的構成（ＶＥＣ）ファイルは、ホスト装置に遠隔から提供され、１つ以上の車両制御モジュール、特に車両又は車両プラットフォームへのアクセスを選択的に制御し容易にする。ＶＥＣファイルは、ホスト装置及び／又はアップデートされたポストエンゲージメントに提供され、装置上のエネルギー貯蔵要求を改善する。
【０００５】
この明細書は、「構成され」という用語を、システム、機器、及びコンピュータプログラム要素に関して使用する。１つ以上のコンピュータのシステムについて、特定の動作又は働きを行うように構成されているということは、システムがその上に、動作時にそのシステムにその動作又は働きを行わせるソフトウェア、ファームウェア、ハードウェア、又はそれらの組合せをインストールしているということを意味する。１つ以上のコンピュータプログラムについて、特定の動作又は働きを行うように構成されているということは、
１つ以上のプログラムが、データ処理装置によって実行される時に、その装置にその動作又は働きを行わせる命令を含むということを意味する。特殊用途の論理回路について、特定の動作又は働きを行うように構成されているということは、その回路が、その動作又は働きを行う電気的ロジックを有するということを意味する。
【０００６】
前述の、及び他の実施形態はそれぞれ、１つ以上の以下の特徴を、単独で又は組合せで自由に含み得る。
【０００７】
さまざまな実施形態が、ハウジング構造と、前記ハウジング構造の部分に結合されている、及び前記ハウジング構造の部分から伸びている、のうちの少なくとも１つである電気コネクタと、前記ハウジング構造に配置され、前記電気コネクタに通信可能に結合された、１つ以上のコンピュータ及び１つ以上の記憶装置とを含む、車両診断システムを提供する。前記１つ以上の記憶装置は、前記１つ以上のコンピュータによって実行されるときに、前記１つ以上のコンピュータに、動作を行わせる格納された命令を含む。格納された命令は、ナノカーネルアプリケーション又はナノカーネルファームウェアとして構成され得る。前記動作には、前記電気コネクタに接続された車両の車両識別番号（ＶＩＮ）を求めることとが含まれる。前記動作には、前記ＶＩＮを含む要求をリモートサーバシステムへ送信させることが含まれる。前記動作には、少なくとも部分的に前記車両識別番号に基づいて生成された又は取得された車両電子的構成（ＶＥＣ）ファイルを、前記１つ以上の記憶装置において、前記リモートサーバシステムへの前記要求の送信に応じて受信することが含まれる。前記動作には、パラメータ識別（ＰＩＤ）コードを、前記車両電子的構成ファイルによって、車両動作データの総称的な要求の受信に応じて識別することが含まれる。前記動作には、識別された前記ＰＩＤコードに基づいて、アクセスされるべき車両制御モジュールを決定することが含まれる。前記動作には、識別された前記ＰＩＤコードに基づいて、前記車両制御モジュールから前記車両動作データを取得することが含まれる。いくつかの実施態様において、総称的な要求は、ナノカーネルアプリケーションへ、１つ以上の記憶装置において格納された及び／又は動作する、パートナーアプリケーション又はホストアプリケーションによって提供され得る。いくつかの実施態様において、パートナーアプリケーションは、リモートサーバ（すなわち、車両診断システムのハウジング構造から離れている）から受信されたクエリ又は要求に応じて総称的な要求を生成し得る。
【０００８】
いくつかの実施態様において、前記格納された命令は、前記１つ以上のコンピュータによって実行されるときに、前記１つ以上のコンピュータに、前記車両動作データを前記リモートサーバシステムへ送信させることを含む動作を行わせるように更に動作可能である。
【０００９】
ある実施態様において、前記コネクタは、車上診断（ＯＢＤ）コネクタを含む。
【００１０】
特定の実施態様において、前記格納された命令は、前記１つ以上のコンピュータによって実行されるときに、前記１つ以上のコンピュータに、出力コマンドを車両制御モジュールへ送らせることを含む動作を行わせるように更に動作可能である。
【００１１】
いくつかの実施態様において、前記格納された命令は、前記１つ以上の記憶装置における１００キロバイト以下のメモリに格納される。
【００１２】
ある実施態様において、前記格納された命令は、前記１つ以上の記憶装置における６４キロバイト以下のメモリに格納される。
【００１３】
特定の実施態様において、前記１つ以上の記憶装置は、前記１つ以上のコンピュータによって実行されるときに、前記１つ以上のコンピュータに、前記ＶＥＣファイルを前記１つ以上の記憶装置に格納することを更に含む動作を行わせるように動作可能な格納された命令を含む。
【００１４】
いくつかの実施態様において、前記ＶＥＣファイルは、前記車両動作データを取得し、前記車両動作データを前記１つ以上の記憶装置のうちの少なくとも１つに格納するために、前記１つ以上の記憶装置に格納されたオペレーティングシステムと係合され、車両通信インタフェース（ＶＣＩ）を経由して前記車両制御モジュールを係合するように構成される。
【００１５】
ある実施態様において、前記ＶＥＣファイルは第１ＶＥＣファイルであり、前記１つ以上の記憶装置に格納された前記第１ＶＥＣファイルを前記第１ＶＥＣファイルとは別個の第２ＶＥＣファイルで、新たなＶＩＮの検出に応じて置き換えることを更に含む。
【００１６】
特定の実施態様において、前記１つ以上の記憶装置に格納された前記第１ＶＥＣファイルを前記第２ＶＥＣファイルで置き換えることは、前記ＶＩＮの少なくとも１つの変更に応じて行われる。
【００１７】
いくつかの実施態様において、前記ＶＥＣファイルはバイナリファイルを含む。
【００１８】
ある実施態様において、前記ＶＥＣファイルは、複数のパラメータ識別（ＰＩＤ）コードのための文字列及びロジックを含み、識別された前記ＰＩＤコードは、前記複数のＰＩＤコードから選択される。
【００１９】
特定の実施態様において、ＶＥＣファイルは、その車両に存在する可能性のあるすべてのモジュール（例えば、車体制御モジュール、パワートレイン制御モジュール等）のための情報を含む。情報は、システムのモジュールＩＤ、モジュールプロトコル又は特別構成（例えば、ＶＥＣファイル内のプロトコルをどのように解釈するかについての情報、特定のバススピード、ビットタイミング、ISO 14229、ISO 15765、キーワードプロトコル、ＯＢＤII等）、物理／トランスポート層、ＣＡＮ、ＵＡＲＴ、シリアルプロトコル、データアドレス、アドレスにおけるデータ要求、エンジンＲＰＭ及び／又は車両速度のアドレス、データの変換及びスケーリングファクター（例えば、華氏又は摂氏における温度）、使用すべき適格なモジュールを選択するロジック、ＥＣＵのＩＤ、及び全ての可能性がある事項−正しいデータを選択するロジック、を含み得る。
【００２０】
いくつかの実施態様において、前記要求は、前記車両診断システムのデバイス識別番号を含む。
【００２１】
さまざまな実施形態が、車両診断データを取得する方法を提供する。前記方法は、車両診断システムの電気コネクタに接続された車両の車両識別番号（ＶＩＮ）を求めることを含む。前記方法は、前記ＶＩＮを含む要求を、前記車両診断システムからリモートサーバシステムへ送信させることを含む。前記方法は、少なくとも部分的に前記車両識別番号に基づいて生成された車両電子的構成（ＶＥＣ）ファイルを、前記車両診断システムにおいて、前記要求の送信に応じて受信することを含む。前記方法は、パラメータ識別（ＰＩＤ）コードを、前記ＶＥＣファイルによって、車両動作データの総称的な要求の受信に応じて識別することを含む。前記方法は、識別された前記ＰＩＤコードに基づいて、アクセスされるべき車両制御モジュールを決定することを含む。前記方法は、識別された前記ＰＩＤコードに基づいて、前記車両制御モジュールから前記車両動作データを取得することを含む。
【００２２】
ある実施態様において、前記格納された命令は、前記１つ以上のコンピュータによって実行されるときに、前記１つ以上のコンピュータに、前記車両動作データを前記リモートサーバシステムへ送信させることを含む動作を行わせるように更に動作可能である。
【００２３】
いくつかの実施態様において、前記車両動作データを取得することは、故障診断コード（ＤＴＣ）を取得することを含む。
【００２４】
特定の実施態様において、前記ＰＩＤコードを前記総称的な要求の受信に応じて識別することは、前記総称的な要求内の１つ以上の用語をＰＩＤ名にマッピングすることを含む。
【００２５】
ある実施態様において、前記ＰＩＤコードを前記総称的な要求の受信に応じて識別することは、複数のＰＩＤコードを含むルックアップテーブルを調べることを含む。
【００２６】
いくつかの実施態様において、前記ＰＩＤコードは、車両のオドメータの読み取り値、オイル寿命、タイヤ空気圧、シートベルト状態、燃料レベル、エアバッグ状態、変速機ギアの位置、ブレーキ状態、車両速度及びエンジン速度のうちの少なくとも１つに対応する。
【００２７】
特定の実施態様において、前記ＰＩＤコードを前記総称的な要求の受信に応じて識別することは、前記総称的な要求内の標準化された用語のリストを解釈することと、標準化された用語の前記リスト内の標準化された用語を、複数のＰＩＤコードから選択されたＰＩＤコードにマッピングすることと、を含む。
【００２８】
ある実施態様において、前記標準化された用語を、複数のＰＩＤコードから選択されたＰＩＤコードにマッピングすることは、前記総称的な要求を文字列検索アルゴリズムで分析することを含む。
【００２９】
いくつかの実施態様において、前記標準化された用語を、複数のＰＩＤコードから選択されたＰＩＤコードにマッピングすることは、前記総称的な要求をパターン認識アルゴリズムで分析することを含む。
【００３０】
特定の実施態様において、前記方法は、前記ＶＥＣファイルを１つ以上の記憶装置に格納することを含む。
【００３１】
ある実施態様において、前記ＶＥＣファイルは第１ＶＥＣファイルであり、１つ以上の記憶装置に格納された前記第１ＶＥＣファイルを前記第１ＶＥＣファイルとは別個の第２ＶＥＣファイルで置き換えることを更に含む。
【００３２】
いくつかの実施態様において、前記１つ以上の記憶装置に格納された前記第１ＶＥＣファイルを前記第２ＶＥＣファイルで置き換えることは、前記ＶＩＮの少なくとも１つの変更の検出に応じて行われる。
【００３３】
特定の実施形態が、車両診断データを取得する方法を提供する。前記方法は、車両診断システムの電気コネクタに接続された車両の車両識別番号（ＶＩＮ）を求めることを含む。前記方法は、前記ＶＩＮを含む要求を、前記車両診断システムからリモートサーバシステムへ送信させることを含む。前記方法は、少なくとも部分的に前記ＶＩＮに基づいて生成された車両電子的構成（ＶＥＣ）ファイルを、前記車両診断システムにおいて、前記要求の送信に応じて受信することを含む。前記方法は、アクセスされるべき車両制御モジュールを、受信された、車両出力制御コマンドの総称的な要求に基づいて、前記ＶＥＣファイルによって識別することを含む。
【００３４】
特定の実施態様において、前記方法は、前記車両制御モジュールにアクセスして、前記車両出力制御コマンドを起動させることを含む。
【００３５】
ある実施態様において、前記方法は、前記車両出力制御コマンドの完了に応じて、少なくとも１つの車両パラメータの値を取得することを含む。
【００３６】
いくつかの実施態様において、前記方法は、前記車両制御モジュールにアクセスするのに応じて、前記車両制御モジュールから取得された未処理データのバイトを格納することを含む。
【００３７】
特定の実施形態が、１つ以上のコンピュータによって実行されるときに、前記１つ以上のコンピュータに動作を行わせる命令が格納された１つ以上のコンピュータ読み取り可能な記憶装置を提供する。前記動作は、車両の車両識別番号（ＶＩＮ）を求めることを含む。前記動作は、前記ＶＩＮを含む要求を、車両診断システムからリモートサーバシステムへ送信させることを含む。前記動作は、少なくとも部分的に前記ＶＩＮに基づいて生成された車両電子的構成（ＶＥＣ）ファイルを、前記車両診断システムにおいて、前記要求の送信に応じて受信することを含む。前記動作は、パラメータ識別（ＰＩＤ）コードを、前記ＶＥＣファイルによって、車両動作データの総称的な要求の受信に応じて識別することを含む。前記総称的な要求は、前記１つ以上のコンピュータ読み取り可能な記憶装置に存在するパートナーアプリケーション又はホストアプリケーションによって生成され得る。前記動作は、識別された前記ＰＩＤコードに基づいて、アクセスされるべき車両制御モジュールを決定することを含む。前記動作は、識別された前記ＰＩＤコードに基づいて、前記車両制御モジュールから前記車両動作データを取得することを含む。
【００３８】
前述の概念と以下により詳細に述べられる更なる概念（そのような概念は互いに相反する）との全ての組合せは、ここに開示された発明の主題の部分として予期されると理解されるべきである。特に、この開示の最後に現れる権利請求された主題の全ての組合せは、ここに開示される発明の主題の部分であるとして予期される。ここに明示的に用いられた用語であって参照により組み込まれるあらゆる開示にも現れ得るものには、ここに開示された特定の概念と最も一致する意味が与えられるべきである。
【図面の簡単な説明】
【００３９】
図面は、主に説明のためのものであり、ここに説明される発明の主題の範囲を制限することは意図されていない。図面は、必ずしも一定の率で縮小されてはいない。いくつかの例において、ここに開示された発明の主題のさまざまな局面は、異なる特徴の理解を助けるために、図面において誇張され又は拡大されて示され得る。図面においては、類似する参照符号は概して類似する特徴（例えば、機能的に似ている及び／又は構造的に似ている要素）を参照する。
【図１Ａ】図１Ａは、車両診断システムのシステムアーキテクチャの概略図を示す。
【図１Ｂ】図１Ｂは、車両診断システムのホスト装置のハウジング構造を示す。
【図２Ａ】図２Ａは、車両診断システムの動作を示すシステム図である。
【図２Ｂ】図２Ｂは、車両診断システムの動作を示すシステム図である。
【図３Ａ】図３Ａは、パートナーサーバがＶＥＣファイルでアップデートされる、サーバのアップデート中間期におけるシステムアーキテクチャを示す。
【図３Ｂ】図３Ｂは、パートナーサーバがＶＥＣファイルでアップデートされる、サーバのアップデート中間期におけるシステムアーキテクチャを示す。
【図４】図４は、車両診断システムのシステムアーキテクチャを示す。
【図５Ａ】図５Ａは、インストール中間期における図４のシステムアーキテクチャを示す。
【図５Ｂ】図５Ｂは、インストール中間期における図４のシステムアーキテクチャを示す。
【図５Ｃ】図５Ｃは、インストール中間期における図４のシステムアーキテクチャを示す。
【図６】図６は、図４の車両診断システムによって使用するためのコード及び説明をマッピングするＰＩＤルックアップテーブルを示す。
【図７Ａ】図７Ａは、装置のアップデート中間期における図４のシステムアーキテクチャを示す。
【図７Ｂ】図７Ｂは、装置のアップデート中間期における図４のシステムアーキテクチャを示す。
【図８】図８は、車両情報の要求のために動作する車両診断システムのシステムアーキテクチャを示す。
【００４０】
ここに開示された本発明の主題の特徴及び有利な点は、図面と組み合わせたときに以下の詳細な説明からより明らかになる。
【発明を実施するための形態】
【００４１】
診断状態情報の遠隔取得、及び／又は車両における出力制御の遠隔実施のための、発明のシステム、方法及び構成要素に関する種々の概念、並びにこれらの例示的な実施形態のより詳細な説明が以下に続く。
【００４２】
図１Ａは、車両診断システムのシステムアーキテクチャの概略図を示す。車両診断システム１００は、人が車両１０１の種々の構成要素のシステム状態を遠隔から診断することを可能にするために配備され得る。遠隔診断は、ここで更に詳細に説明されるように、システム状態の表示又は値、及び／又は制御コマンドを含み得る。個々の実施形態において、ホスト装置１０２は、例えば車両の車上診断（ＯＢＤ：on-board diagnostic）ポートを経由して、車両１０１に物理的に接続されている。ＯＢＤポートによって、ホスト装置１０２が車両の１つ以上の車両制御ユニットに通信可能に結合されることが可能になる。ホスト装置１０２は、１つ以上のオペレーティングシステム（例えばリナックス）及び１つ以上のアプリケーション１０３を実行することができる。ホスト装置１０２は、それにナノカーネルアプリケーション１０４をインストールすることができる。ナノカーネルアプリケーション１０４は、ホスト装置１０２の記憶装置内に組み込まれて常駐する。ナノカーネルアプリケーション１０４は、ＯＳとパートナーアプリケーション１０３とを結びつけるように構成される。ホスト装置１０２が車両１０１に接続されるとき、ナノカーネルアプリケーション１０４は、ホスト装置１０２が車両からある情報を検索及び発見することを可能にする。車両１０１から情報を検索及び発見する能力は、ホスト装置が接続されている特定の車両１０１についての情報を最初に取得するとすぐに、予測される。ホスト装置１０２を経由して車両１０１から取得された情報は、ホスト装置１０２上の１つ以上の記憶装置に渡され得る。情報は、車両１０１から離れた１つ以上のクラウドベースのシステム１０５、例えばインターネット網に、送信され得る。クラウドベースのシステム１０５は、ナノカーネルウェブサーバ１０６を含み、顧客データベース１０７を含み得る。クラウドベースのシステム１０５は、互いに通信可能に結合された複数のサーバを含み得る。車両からの情報は、車両１０１の特定の機能の診断、及び／又は車両１０１のある種の機能を変更又は制御するために使用され得る。ここで、診断及び制御は、特定の車両１０１について規定されている。ここにより詳細に説明されているように、ナノカーネルウェブサーバ１０６は、ホスト装置１０２に、ホスト装置が車両１０１から特定の情報を取得することを可能にする情報を提供し得る。複数の車両１０１からの情報は、クラウドベースのシステム１０５内の顧客データベース１０７に取り入れられ得る。
【００４３】
いくつかの実施態様において、ホスト装置１０２によって車両１０１から取得された情報は、ナノカーネルアプリケーション１０４によって取得されて、ホスト装置１０２から、１つ以上のクラウドベースのシステム１０５又はホスト装置１０２に常駐する顧客アプリケーションに送信された、未処理データのバイトを含み得る。データのバイトは、パラメータ識別（ＰＩＤ）コード、ＰＩＤコードの値、及び／又は故障診断コード（ＤＴＣ）を含み得る。車載診断ＰＩＤコードは、車両からのデータを要求するために使用され、診断ツールとして使用される。ホスト装置１０２上のナノカーネルアプリケーション１０４によって取得された未処理データは、１つ以上のクラウドベースのシステム１０５に送信され、ナノカーネルアプリケーション１０４によって取得された車両１０１についての車両情報に基づいて、マスターウェブカーネル１０６によって処理され得る。したがって、ナノカーネルアプリケーション１０４は更なる情報、及び未処理データの処理を促進するより完全な診断データベースを使用しないので、ナノカーネルアプリケーション１０４は、小記憶容量という要求を満たし得る。
【００４４】
図１Ｂは、車両診断システムのホスト装置のハウジング構造を示す。ハウジング構造１０８ａ〜１０８ｄのそれぞれは、ホスト装置１０２を車両１０１内のポートに接続するための電気コネクタ１０９ａ〜１０９ｄを含む。ある実施形態において、電気コネクタ１０９ａ〜１０９ｄは、ＯＢＤ又はＯＢＤIIコネクタを含む。電気コネクタは、ホスト装置１０２のハウジング構造（例えば１０８ａ〜１０８ｄ）内に配置されたエンジン制御ユニット（ＥＣＵ）、１つ以上のコンピュータ、及び１つ以上の記憶装置のような、車両のさまざまな制御ユニット間の有線通信を容易にする。１つ以上の記憶装置は、１つ以上のコンピュータによって実行されるときに、コンピュータに、ここにより詳細に説明される車両診断システムの動作を行わせるように動作可能な格納された命令を含む。ハウジング構造１０８ａ〜１０８ｄは、ホスト装置がコンピュータ又は他の装置にも接続されることを可能にする他の電気コネクタを含み得る。ハウジングは、１つ以上の状態表示灯も収容し得る。ハウジングは、ハウジング構造をＯＢＤポートから容易に取り外しできるようにする窪み又は植込みを含み得る。ホスト装置１０２の小記憶容量という要求によって、ホスト装置を離れた所で使用すること（例えば車両の輸送中に）を促進するより小さく単体のフォームファクタにホスト装置を収容することが可能になる。
【００４５】
図２Ａ及び２Ｂは、車両診断システムの動作を示すシステム図である。特定の実施形態に従って、車両の始動時に、ホスト装置１０２が車両１０１に最初に接続されるとき、及び／又は車両から接続が断たれてその後再接続された後（すなわち、ホスト装置１０２は、外されると、そのプログラミングが失われるように構成され得（例えば、ＶＥＣファイルが自動的に消去され得る）、再びプログラムが書き込まれなければならない）、ホスト装置１０２は、発見プロセスを開始する（例えばＶＥＣファイルが存在しないことに応じて、例えばパートナーアプリケーション又はホストアプリケーション１０３によって開始される）。この発見プロセスによって、ホスト装置は、情報を第１サーバシステム、サービスプロバイダ又はパートナーサーバ２０２に送信する。発見プロセス中にホスト装置１０２から第１サーバシステムに送信される情報は、車両１０１の車両識別番号（ＶＩＮ）及びホスト装置１０２のデバイス識別番号を含み得る。特定の実施態様において、ナノカーネルアプリケーション１０４は、ホスト装置１０２に接続された車両１０１のＶＩＮがホスト装置１０２に保存された最後のＶＩＮ番号に対応するか否かを判定するために、車両の始動（イグニッション）の度にホスト装置１０２上でルーチンを実行し得る。もし、ＶＩＮが異なり、パートナーアプリケーション１０３が診断情報を要求するなら、ナノカーネルアプリケーション１０４は、車両１０１は異なる車両１０１又は新たな車両であるということをホスト装置１０２に通知するために返答し、発見プロセスが行われる必要があるということをホスト装置１０２に通知する。このルーチンは、ホスト装置１０２が、まだ診断プログラムが構築されていない車両で診断プログラムを実行しようとすることを防止する。もしＶＩＮが一致するなら、ホスト装置１０２は、遠隔診断の準備ができている。準備完了状態は、１つ以上の光インジケータ（例えばＬＥＤ状態灯）によってホスト装置１０２上に表示され得る。準備完了状態は、サービスプロバイダサーバ２０２にも伝達され得る。発見プロセスは、サービスプロバイダサーバ２０２に診断サーバシステム２０１と通信をさせ得る。特定の実施形態において、診断サーバシステム２０１はＶＡＴサーバを含む。診断サーバシステム２０１は、ナノカーネルウェブサーバを働かせ、それはマーレのテクプロシステム（Techpro system）のような、主車両診断システムである。ホスト装置１０２と直接通信するサービスプロバイダ（例えばホスト又はパートナー）サーバ２０２は、診断サーバシステム２０１にＶＩＮ番号を提供する。診断サーバシステム２０１は、ＶＩＮ番号によって車両の構成を識別し、パートナーサーバ２０２にそのＶＩＮに使用されるべきＶＥＣファイルで応答する。識別された車両の構成は、ナノカーネルアプリケーション１０４用のバイナリファイル２０８を構築するために使用される。特定の実施形態において、バイナリファイル２０８は、１００ｋｂ未満のメモリ（例えば６４ｋｂ以下）しか占有しない。もし車両１０１がサポートされているなら、バイナリファイル２０８は、ホスト装置１０２にアップロードするためにナノカーネルウェブサーバ２０１からパートナーサ���バ２０２に送信される。バイナリファイル２０８は、バイナリファイル（bin file）として構成されプロセス２０４−２０６によって作成される車両電子的構成（ＶＥＣ）ファイルを含む。ＶＥＣファイルは、複数のパラメータ識別（ＰＩＤ）コードのための文字列及びロジック（論理）を含む。いくつかの実施態様において、ＶＥＣファイルは、その車両上に存在する可能性のある全てのモジュール（例えば、車体制御モジュール、パワートレイン制御モジュール等）のための情報を含む。情報は、システムのモジュールＩＤ、モジュールプロトコル又は特別構成（例えば、ＶＥＣファイル内のプロトコルをどのように解釈するかについての情報、特定のバススピード、ビットタイミング、ISO 14229、ISO 15765、キーワードプロトコル、ＯＢＤII等）、物理／トランスポート層、ＣＡＮ、ＵＡＲＴ、シリアルプロトコル、データアドレス、アドレスにおけるデータ要求、エンジンＲＰＭ及び／又は車両速度のアドレス、データの変換及びスケーリングファクター（例えば、華氏又は摂氏における温度）、使用すべき適格なモジュールを選択するロジック、ＥＣＵのＩＤ、及び全ての可能性がある事項−正しいデータを選択するロジック、を含み得る。診断サーバシステム２０１は、車両のＰＩＤのために識別されたロジックに基づいて、及び関連するプロセスに基づいて作成されたナノカーネルバイナリファイル２０８を取得するために提供されたＶＩＮ番号を使用する。バイナリファイル２０８は、マスター車両診断サーバシステム２０１からサービスプロバイダサーバ２０２へ、その後ホスト装置１０２へ送信される。バイナリファイル２０８は、特定の車両及び特定の装置に基づいてホスト装置１０２によってさまざまな車両制御ユニットにアクセスするためのスクリプトを提供する。バイナリファイル２０８は、ナノカーネルアプリケーション１０４によって処理され、ＯＳ及びホスト装置１０２上で動作している１つ以上のパートナーアプリケーション１０３によって実行される。バイナリファイル２０８は、デバイスファームウェア１０３から受信された特定の要求（例えばサービスプロバイダサーバ２０２で生成される）を、ホスト装置１０２がバイナリファイル２０８から取得された情報に基づいてアクセスできるコマンド又は情報要求にマッピングするために、ホスト装置１０２によって、特にナノカーネルアプリケーション１０４によって、使用される。例えば、サービスプロバイダサーバ２０２から離れており、車両１０１／ホスト装置１０２からも離れたところにいるユーザは、スマートフォン又はタブレットのような携帯電子装置によってサーバ２０２にアクセスすることができ、ナノカーネルアプリケーション１０４が特定の車両動作データ又は値の要求にマッピング可能な総称的な要求（generic request）において、エンジン速度のような情報を要求することができる。サービスプロバイダサーバ２０２は、要求をホスト装置１０２に送信し、それはデバイスファームウェア１０３によってナノカーネルアプリケーション１０４に中継され、バイナリファイル２０８を用いてナノカーネルアプリケーション１０４によって特定のＰＩＤの要求にマッピングされる。それに応じて、ナノカーネルアプリケーション１０４は、その特定のＰＩＤに対応するデータを取得するために、ホスト装置１０２を車両の適切な制御ユニットにアクセスさせる。取得された情報は、ホスト装置１０２から、サービスプロバイダサーバシステム２０２及びユーザに送信され得る。
【００４６】
図２Ｂに示されたシステムは、図２Ａと同じ情報を取得し得るが、パートナーサーバを経由して２次的に情報を取得するのではなく、パートナーサーバを経由して２次的にホスト装置１０２のために取得されたバイナリファイルを送るのではなく、診断サーバがホスト装置１０２と直接通信するという点で、異なっている。ホスト装置１０２内の１つ以上のコンピュータ又はプロセッサは、サーバ、他の演算装置、携帯電話、タブレット、ラップトップコンピュータのような１つ以上のリモート電子装置と通信するための無線リンクを含み得る。無線リンクは、BLUETOOTHクラス、Wi-Fi、ＢＬＥとしても知られるBluetooth-low-energy、802.15.4、ワイマックス（WiMAX: worldwide interoperability for microwave access）、赤外チャネル、又は衛星バンドを含み得る。無線リンクは、１Ｇ、２Ｇ、３Ｇ、４Ｇ、又は５Ｇとして適格な規格を含むがこれらには限られない、携帯装置間で通信をするために使用されるいかなる携帯電話ネットワーク（cellular network）規格をも含み得る。ネットワーク規格は、国際電気通信連合によって管理される規格書のような、規格書又は規格を満たすことによって、携帯通信規格の１つ以上の世代として適格であり得る。例えば３Ｇ規格は、ＩＭＴ−２０００（international mobile telecommunications-2000）規格に対応し得るし、４Ｇ規格はＩＭＴ−Ａｄｖａｎｃｅｄ（international mobile telecommunications advanced）規格に対応し得る。携帯電話ネットワーク規格の例には、ＡＭＰＳ、ＧＳＭ、ＧＰＲＳ、ＵＭＴＳ、ＬＴＥ、ＬＴＥ  Ａｄｖａｎｃｅｄ、モバイルＷｉＭＡＸ，及びＷｉＭＡＸ−Ａｄｖａｎｃｅｄが含まれる。携帯電話ネットワーク規格は、さまざまなチャネルアクセス方法、例えばＦＤＭＡ、ＴＤＭＡ、ＣＤＭＡ、又はＳＤＭＡを使用し得る。いくつかの実施形態においては、異なるタイプのデータが、異なるリンク及び規格によって送信され得る。他の実施形態においては、同じタイプのデータが、異なるリンク及び規格によって送信され得る。
【００４７】
図３Ａ〜３Ｂは、サーバシステムがＶＥＣファイルでアップデートされる、サーバのアップデート中間期におけるシステムアーキテクチャを示す。ある実施態様において、サーバシステム２０２内のデータは、ホスト装置からの要求とは独立してアップデートされ得る。例えば、もしマスターサーバ２０１が、ホスト装置がアップデートについて問い合わせる前にＶＥＣファイルのアップデート版を有しているなら、診断サーバシステム２０１は、以前にＶＥＣファイルを要求していたＶＩＮ番号を有する車両のために、アップデートされたファイルをマスターサーバに押し出し得る。したがって、図３Ａに示されているように、サービスプロバイダサーバ２０２は、特定のＶＥＣファイルが最後にアップデートされた日付及び時間のような情報を提供して、マスターサーバ２０１にアップデート８０１を定期的に問合わせし得る。診断サーバシステム２０１は、アップデートが利用できないことを８０２において示すことによってこれが最新版であるということ、又は、最後のアップデートの日付がＶＥＣファイルの最新の版に対応しないなら、ナノカーネルウェブサーバ／診断サーバシステム２０１がアップデートされたＶＥＣファイルを８０３において提供できるということ、のいずれかを確認し得る。図３Ｂに示されているように、アップデートされたファイルが利用可能であるなら、そのファイルが生成され、ファイルルックアップサービス３０２がアップデートされたファイル８０４でアップデートされ、ホスト装置１０２が、アップデートされたファイルがないかサービスプロバイダサーバ２０２を一度調べれば、ホスト装置１０２は以後アクセスし得る。
【００４８】
図４は、車両診断システムのシステムアーキテクチャを示す。図４に図示されているように、サービスプロバイダサーバ２０２は、マスター車両診断サーバ２０１及びホスト装置１０２と通信するためのメッセージングサービス３０１を含む。サービスプロバイダサーバ２０２は、ホスト装置１０２のためにファイルを取得するためのファイルルックアップサービス３０２も含む。図４で説明されているように、ホスト装置１０２はサービスプロバイダと関連付けられたファームウェア１０３を含み、それはホスト装置上のＯＳにて作動するアプリケーションとして動作する。このアプリケーションは、ナノカーネルアプリケーション１０４のファームウェア３０３と関係するためのインタフェース３０５を含む。ナノカーネルアプリケーション１０４は、ファームウェアファイル３０３とバイナリファイル３０４とを含む。バイナリファイル３０４は、図２Ａ及び２Ｂで説明された発見要求に応じて、アップデートされ及び／又は装置１０２へ初めて送られる。ファームウェアファイル３０３は、バイナリファイル３０４を処理して特定の情報を取得する。例えば、要求に応じて、ファームウェアファイル３０３は特定の実行ルーチンを呼び出す。実行ルーチンは、バイナリファイル３０４に含まれるパラメータ又はコマンドのリストにアクセスすることを要求し得る。アプリケーション１０３は、マスターファームウェアインタフェースを経由して特定の情報を取得し、その情報をサービスプロバイダサーバ２０２に送信する。同様に、起動時に、サービスプロバイダサーバ２０２からのアプリケーション１０３によって、バイナリファイル３０４が取得又はアップデートされる。
【００４９】
図５Ａ〜５Ｃは、インストール中間期における図４のシステムアーキテクチャを示す。起動時及び／又はホスト装置１０２が切断されているときはいつでも、ナノカーネルアプリケーション１０４及びパートナーアプリケーション１０３のうちの一方は、ＶＩＮ番号を調べて、車両にインストールされるのはこれが初めてであるのか、又は、装置が新たな車両に既にインストールされているのかを判定する。もし利用できるバイナリファイル３０４が存在しないなら、又は、もしナノカーネルアプリケーション１０４が不整合（例えばホスト装置１０２が新たな車両に接続されているので）を検出するなら、ナノカーネルアプリケーション１０４は、ファームウェアに、現在の車両のＶＩＮ番号をサービスプロバイダサーバ２０２へ送信させて、サービスプロバイダサーバ２０２からのＶＥＣ  ＩＤファイルを要求する。ある実施形態においては、例えば、ＶＩＮ番号が既にアップロードされており、ＶＥＣ  ＩＤファイルへのアップデートデータが、既に取得されているが、ホスト装置１０２にはまだアップロードされていない場合には、ＶＥＣ  ＩＤファイルは、サービスプロバイダサーバに既に格納されているかもしれない。図５Ｂに示されているように、ホスト又はパートナーサーバ２０２は、ＶＩＮを含む要求５０２によって、ナノカーネルウェブサーバ２０１からのＶＥＣ  ＩＤを要求する。もしＶＩＮが支持されているなら、ＶＥＣ  ＩＤを含む返答５０４がパートナーサーバ２０２に送られる。次にパートナーサーバ２０２は、そのファイルルックアップサービス３０２を使用して、パートナーサーバ２０２に格納されているＶＥＣバイナリファイルの最新版を取得する。次にＶＥＣバイナリファイルは、ホスト装置１０２に送信され、ナノカーネルアプリケーション３０３及びＶＥＣバイナリファイル３０４のために指定されているメモリ空間１０４に書き込まれる。
【００５０】
図６は、図４の車両診断システムによって使用するためのコード及び説明をマッピングするＰＩＤルックアップテーブルを示す。ある実施形態において、サービスプロバイダサーバ２０２からダウンロードされマスターサーバ２０１から生成されたバイナリファイルは、ＰＩＤルックアップテーブル６００を含む。ＰＩＤルックアップテーブル６００は、バイナリファイルの一部分としてフォーマットされ得、情報の要求に応じてナノカーネルアプリケーション１０４を経由してアクセスされ得る。特に、ナノカーネルアプリケーション１０４は、総称的な要求を説明欄６０３内の特定の説明にマッピングし得る。これは、文字列検索アルゴリズム（類似文字列検索（approximate string searching））及びパターン認識アルゴリズムのような、総称的な要求のテキストを解析する１つ以上のアルゴリズムによってマッピングされ得る。ここで、アルゴリズムは、要求の中の単語を最も近い説明文字列に対応させる。いったん説明が識別されると、それはＰＩＤ名及び／又はＰＩＤ  ＩＤに対応する。ナノカーネルアプリケーション１０４は、車両１０１の１つ以上の制御モジュールにアクセスして、識別されたＰＩＤ名及びＰＩＤ  ＩＤ用の値を有する適切な制御モジュールからデータを取得する。車両の１つ以上の制御モジュールから取得された値は、格納され、サービスプロバイダサーバ２０２へ、又はホスト装置１０２に位置する他のアプリケーションへ送信される。取得された値は、車両のオドメータの読み取り値、オイル寿命、タイヤ空気圧、シートベルト状態、燃料レベル、エアバッグ状態、変速機ギアの位置、ブレーキ状態、車両速度及びエンジン速度のような、車両制御モジュールからの車両動作データに対応する。車両動作データは、例えばエンジン回転速度、すなわちＲＰＭを指定し要求する総称的な要求において提供され得る。ある実施態様において、値は解釈される必要がある。値を解釈することには、マスター車両診断サーバ２０１にアクセスすること、又はマスター車両診断サーバ２０１からサービスプロバイダサーバ２０２に送信されたファイルにアクセスすることが含まれ得る。特定のＰＩＤコードを有しない他の車両情報６０４は、ルックアップテーブル、又はバイナリファイルに含まれ得る２つ以上のルックアップテーブルに統合され得る。例えば、他の情報は、警音器を鳴らす、ライトを点灯する、又は他の車両の機能を実行するといった要求のためにマッピングされ得るが、それらの機能はＰＩＤコードを有しない。
【００５１】
図７Ａ〜７Ｂは、装置のアップデート中間期における図４のシステムアーキテクチャを示す。図７Ａに示されているように、ホスト装置１０２は、例えば車両が始動される度に、バイナリファイル３０４のアップデート７０１を要求し得る。図７Ｂに示されているように、サービスプロバイダサーバ２０２は、マスターサーバ２０１にアップデートを問合せし得る。マスターサーバは、アップデートがないという応答７０４で、又は、要求に指定されたＶＩＮ番号のための最新のアップデート要求がパートナーサーバ２０２から受信されて以降、取得されたあらゆるアップデートされたＶＥＣファイルを含む返答７０３で、応答する。もし新たなＶＥＣファイルが利用可能であるなら、そのＶＥＣファイルは、ホスト装置１０２上の１つ以上の記憶装置に格納される。
【００５２】
図８は、いったんナノカーネルアプリケーション１０４が車両のために適切に構成されると、診断要求のような、車両情報の要求を取得するために動作する車両診断システムのシステムアーキテクチャを示す。ある実施態様においては、装置１０２が正しく識別され、ホスト装置１０２上で車両データが発見されアップデートされた後、ユーザは車両１０１内のシートベルトの状態のような情報をリモートで要求し得る。ある実施形態においては、エンジン速度がある閾値より大きいと判定するのと並行して、又はそのように判定するのに応じて、シートベルトの状態が要求され得る。シートベルト要求は、サービスプロバイダサーバ２０２から、ホスト装置上で動作しているサービスプロバイダファームウェア又はアプリケーション１０３へ送信される。アプリケーション１０３は、ホスト装置１０２にインストールされ、ホスト装置１０２でアップデートされたナノカーネルアプリケーション１０４へコマンドを送信する。ナノカーネルアプリケーション１０４は、例えば車両から要求するのに適切なＰＩＤコマンド及び／又はＩＤを求めることによって、その要求を解釈する。適切なＰＩＤコマンドは、例えば総称的な要求内の１つ以上の用語及び／又は文字をＰＩＤテーブル（図７に示されているような）内の適切な値にマッピングすることによって求められる。適切なＰＩＤコマンドは、電気コネクタを経由してホスト装置１０２に接続されたインタフェース４０１を経由して、車両１０１から、ナノカーネルアプリケーション１０４によって、要求される。インタフェース４０１は、１つ以上の車両のバス又は制御ユニットにアクセスするために使用され得る。ＰＩＤコマンドは、車両通信インタフェース４０１を経由して１つ以上の車両制御ユニットからデータを取得し、サービスプロバイダアプリケーション１０３を経由してサービスプロバイダサーバ２０２へ送信するために、そのデータをナノカーネルアプリケーション１０４へ渡す。
【００５３】
本発明の主題の実施態様及びこの明細書に説明された動作は、この明細書に開示された構成、及びそれらの構成上の等価物、又はそれらのうちの１つ以上の組合せを含む、デジタル電子回路によって、又は、コンピュータソフトウェア、ファームウェア、若しくはハードウェアによって、実現され得る。この明細書に説明された主題の実施態様は、データ処理装置による実行のために、又はデータ処理装置の動作を制御するために、コンピュータ記憶媒体上に格納されたされた１つ以上のコンピュータプログラム、すなわち、コンピュータプログラム命令の１つ以上のモジュールとして実現され得る。
【００５４】
コンピュータ記憶媒体は、コンピュータ読み取り可能な記憶装置、コンピュータ読み取り可能な記憶基板、ランダム若しくはシリアルアクセスのメモリアレイ若しくは装置、若しくはこれらの１つ以上の組合せであり得、又はこれらの中に含まれ得る。更に、コンピュータ記憶媒体は伝搬された信号ではないのに対して、コンピュータ記憶媒体は、人工的に生成された伝搬された信号においてエンコードされたコンピュータプログラム命令の発信源又は送信先であり得る。コンピュータ記憶媒体は、また、１つ以上の独立した物理的な構成要素又は媒体（例えば、複数のＣＤ、ディスク、又は他の記憶装置）であり得るし、又はこれらに含まれ得る。
【００５５】
この明細書に説明された動作は、１つ以上のコンピュータ読み取り可能な記憶装置に格納されたデータ、又は他の発信源から受信されたデータに対して、データ処理装置によって実行される動作として実現され得る。
【００５６】
「データ処理装置」という用語は、例としてプログラマブルプロセッサ、コンピュータ、システム・オン・チップ、複数の上記のもの、又は上記のものの組合せを含む、データを処理するためのあらゆる種類の機器、装置及び機械を包含する。機器は、特殊用途の論理回路、例えばＦＰＧＡ（field programmable gate array）又はＡＳＩＣ（application specific integrated circuit）を含み得る。機器は、ハードウェアに加えて、当該コンピュータプログラムのための実行環境を作るコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームのランタイム環境、バーチャルマシン、又はこれらの組合せを構成するコード、をも含み得る。機器及び実行環境は、ウェブサービス、分散処理、グリッドコンピューティング・インフラストラクチャのような、さまざまな異なる演算モデルインフラストラクチャを実現し得る。
【００５７】
コンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる）は、コンパイルされる又は解釈実行される言語、宣言形又は手続き形言語を含む、どのような形式のプログラミング言語でも記述され得る。コンピュータプログラムは、スタンドアローンプログラムとして、又はモジュール、コンポーネント、サブルーチン、オブジェクト、若しくは演算環境における使用に適して他のユニットとしての形式を含む、いかなる形式でも配布され得る。コンピュータプログラムは、ファイルシステムにおけるファイルに対応してもよいが、対応する必要はない。プログラムは、当該プログラム専用の単一ファイルにおいて、又は複数の連係したファイル（例えば、１つ以上の、モジュール、サブプログラム、又はコードの部分）において、他のプログラム又はデータ（例えば、マークアップ言語ドキュメントに格納された１つ以上のスクリプト）を収容するファイルの一部分に格納され得る。コンピュータプログラムは、１つのコンピュータ上で、又は１つの場所に配置され若しくは複数の場所に分散していて、通信ネットワークによって相互に接続された複数のコンピュータ上で実行されるように配布され得る。
【００５８】
この明細書に説明されたプロセス及び論理流れは、入力データに操作をし出力を生成することによって動作を行うために１つ以上のコンピュータプログラムを実行する１つ以上のプログラマブルプロセッサによって、実行され得る。プロセス及び論理流れは、特殊用途の論理回路、例えばＦＰＧＡ（field programmable gate array）又はＡＳＩＣ（application specific integrated circuit）によっても実行され得、機器は特殊用途の論理回路としても実現され得る。
【００５９】
コンピュータプログラムの実行に適したプロセッサには、例として、汎用及び特殊用途の両方のマイクロプロセッサ、及びいかなる種類のデジタルコンピュータのいかなる１つ以上のプロセッサをも含む。一般に、プロセッサは、読出し専用メモリ、ランダムアクセスメモリ、又はその両方から、命令及びデータを受け取る。コンピュータに不可欠な要素は、命令に従って動作を行うプロセッサ、並びに命令及びデータを格納するための１つ以上のメモリ装置である。一般的に、コンピュータは、データを格納するための１つ以上の大容量記憶装置、例えば磁気ディスク、光磁気ディスク、又は光ディスクをも含み、又はこれらからデータを受信、これらにデータを送信、若しくはその両方を行うために効果的に結合される。しかし、コンピュータはそのような装置を有する必要はない。しかも、コンピュータは、他の装置、ほんの少し挙げると例えば、携帯電話、パーソナルデジタルアシスタント（ＰＤＡ）、携帯オーディオ又はビデオプレーヤー、ゲームコンソール、グローバルポジショニングシステム（ＧＰＳ）受信機、又はポータブル記憶装置（例えば、ＵＳＢ（universal serial bus）フラッシュドライブ）に、組み込まれ得る。コンピュータプログラム命令及びデータを格納するのに適した装置には、例として、例えばＥＰＲＯＭ、ＥＥＰＲＯＭ、及びフラッシュメモリ装置といった半導体メモリ装置、例えば内部ハードディスク又はリムーバルディスクといった磁気ディスク、光磁気ディスク、並びにＣＤ−ＲＯＭ及びＤＶＤ−ＲＯＭディスクを含む、不揮発性のメモリ、媒体、及びメモリ装置の全ての形式が含まれる。プロセッサ及びメモリは、特殊用途の論理回路によって補足され、又は特殊用途の論理回路に組み込まれ得る。
【００６０】
ユーザと対話するために、この明細書に説明された主題の実施態様は、ユーザに情報を表示するための表示装置、例えばＣＲＴ（cathode ray tube）又はＬＣＤ（liquid crystal display）モニタ、キーボード、及びユーザがコンピュータに入力をするための指示装置、例えばマウス又はトラックボール、を有するコンピュータ上で実現され得る。ユーザと対話するために他の種類の装置もまた使用され得る。例えば、ユーザに与えられるフィードバックは、いかなる形式の感覚フィードバック、例えば視覚フィードバック、聴覚フィードバック、触覚フィードバックでもあり得る。ユーザからの入力は、聴覚、言語、又は触覚を含む、いかなる形式でも受け取られ得る。加えて、コンピュータは、ユーザによって使用される装置へ文書を送り、その装置から文書を受け取ることによって、例えば、ユーザのユーザ装置上のウェブブラウザに、そのウェブブラウザから受け取った要求に応じてウェブページを送ることによって、ユーザと対話し得る。
【００６１】
この明細書に説明された主題の実施態様は、バックエンドコンポーネントを含む演算システム、例えばデータサーバとして、ミドルウェアコンポーネントを含む演算システム、例えばアプリケーションサーバとして、フロントエンドコンポーネントを含む演算システム、例えばグラフィカルディスプレイ若しくはウェブブラウザであって、それを通してユーザがこの明細書に説明された主題の実施態様と対話できる、グラフィカルディスプレイ若しくはウェブブラウザとして、又は１つ以上のそのようなバックエンド、ミドルウェア、若しくはフロントエンドのコンポーネントのあらゆる組合せにおいて、実現され得る。システムのコンポーネントは、デジタルデータ通信のいかなる形式又は媒体、例えば通信ネットワークによっても相互接続され得る。通信ネットワークの例には、ローカルエリアネットワーク（「ＬＡＮ」）及びワイドエリアネットワーク（「ＷＡＮ」）、インターネットワーク（例えばインターネット）、並びにピアツーピアネットワーク（例えばその場限りの（ad hoc）ピアツーピアネットワーク）が含まれる。
【００６２】
演算システムは、ユーザ及びサーバを含み得る。ユーザ及びサーバは、一般的に互いに離れており、典型的には通信ネットワークを通じて対話する。ユーザとサーバとの関係は、それぞれのコンピュータ上で実行され、互いにユーザとサーバとの関係を有するコンピュータプログラムのおかげで生まれる。いくつかの実施態様においては、サーバはデータ（例えばＨＴＭＬページ）をユーザ装置に（例えばユーザ装置と対話するユーザにデータを表示し、そのようなユーザからユーザ入力を受け取る目的で）送信する。ユーザ装置において生成されたデータ（例えばユーザ対話の結果）は、サーバにおいてユーザ装置から受け取られ得る。
【００６３】
この明細書は多くの具体的な実施態様の詳細を含むが、これらは、いかなる発明の、又は権利を請求され得るものの範囲に対する制限として解釈されるべきではなく、むしろ特定の発明の特定の実施態様に特有の特徴の説明として解釈されるべきである。別個の文脈においてこの明細書に説明されたある特徴は、単一の実施態様において組み合せても実現され得る。反対に、単一の実施態様の文脈において説明されたさまざまな特徴は、別々に複数の実施態様においても、又はいかなる適切なサブコンビネーションにおいても、実現され得る。更に、特徴はある組合せにおいて働くとして先に説明されているかもしれず、そのように当初は権利を請求しているかもしれないが、権利請求された組合せからの１つ以上の特徴は、場合によってはその組合せから削除されることが可能であり、権利請求された組合せは、サブコンビネーション又はサブコンビネーションの変形物に向けられ得る。
【００６４】
この開示の目的で、「結合された」という用語は、２つの部材を直接又は間接的に互いにつなぎ合わせることを意味する。そのようなつなぎ合わせることは、本質的に固定又は可動のものであり得る。そのようなつなぎ合わせることは、単一のまとまった物体として互いに一体化して形成された、２つの部材若しくは２つの部材及びあらゆる別途の中間部材で、又は、互いに取り付けられた、２つの部材若しくは２つの部材及びあらゆる別途の中間部材で、達成され得る。そのようなつなぎ合わせることは、本質的に永続的なもの、又は、本質的に脱着可能若しくは取り外し可能なものであり得る。
【００６５】
さまざまな部材の向きは、他の例示的な実施態様によって異なり得るということ、及び、そのような変形は本開示によって含まれることが意図されているということに、注意しなければならない。開示された実施態様の特徴は、他の開示された実施態様に組み込まれ得るということが分かる。
【００６６】
さまざまな発明の実施態様がここに説明され、図示されたが、当業者は、その機能を実行する及び／又はその結果を取得するための、さまざまな他の手段及び／又は構成、及び／又はここに説明された１つ以上の有利な点を、容易に想像し、そのような変形及び／又は変更は、ここに説明された発明の実施態様の範囲内にあると見なされる。より一般的には、当業者は、ここに説明された全てのパラメータ、寸法、材料及び構成は、例示的なものであることが意図されていること、実際のパラメータ、寸法、材料及び／又は構成は、本発明の教示が使用される特定の応用に依存するということを、容易に理解する。当業者は、ここに説明された発明の特定の実施態様の多くの等価物を、日常の実験程度のものを使用して、理解し、又は確認することができる。したがって、前述の実施態様は例としてのみ提示されているということ、並びに、添付の特許請求の範囲及びその等価物の範囲内で、発明の実施態様が、特に説明され権利が請求されたものとは異なる方法で実践され得るということが、理解される。本開示の発明の実施態様は、ここに説明された個々の特徴、システム、物品、材料、キット、及び／又は方法のそれぞれに向けられている。加えて、そのような特徴、システム、物品、材料、キット、及び／又は方法の２つ以上のもののいかなる組合せも、相互に一致せず、本開示の発明の範囲内に含まれる。
【００６７】
ここに説明された技術は、方法として具体化され得るが、そのうちの少なくとも１つの例が提供されている。方法の部分として行われる行為は、いかなる適切な順序であってもよい。したがって、図示されたのとは異なる順序で行為が行われる実施態様が構築されてもよく、実施態様は、図示された実施態様において順次行われる行為として示されていても、いくつかの行為を同時に行うことを含んでもよい。
【００６８】
特許請求の範囲は、その効果が記載されていなければ、説明された順序又は要素に限定されると解釈されてはならない。形式及び詳細におけるさまざまな変更が、添付の特許請求の範囲の精神及び範囲から離れることなく、当業者によって行われ得る、ということが理解されるべきである。以下の特許請求の範囲及びその等価物の精神及び範囲に入る全ての実施態様が、権利請求される。
【図１Ａ】
2019209964.tif 000003
【図１Ｂ】
2019209964.tif 000004
【図２Ａ】
2019209964.tif 000005
【図２Ｂ】
2019209964.tif 000006
【図３Ａ】
2019209964.tif 000007
【図３Ｂ】
2019209964.tif 000008
【図４】
2019209964.tif 000009
【図５Ａ】
2019209964.tif 000010
【図５Ｂ】
2019209964.tif 000011
【図５Ｃ】
2019209964.tif 000012
【図６】
2019209964.tif 000013
【図７Ａ】
2019209964.tif 000014
【図７Ｂ】
2019209964.tif 000015
【図８】
2019209964.tif 000016