(57)【特許請求の範囲】
【請求項１】
デバイスによってアプリケーションを生成するための方法であって、
前記デバイスによって車両とインターフェースするステップと、
前記デバイスによって、どんなタイプの車両とインターフェースしているかを判断するステップと、
前記デバイスにおいて、前記車両からの車両テレメトリを示すセンサデータを受信するステップと、
前記デバイスにおいて、前記アプリケーション内で使用するための１つまたは複数のタイプのセンサデータの選択を受信するステップと、
前記デバイスにおいて、前記選択されたタイプのセンサデータを利用しアプリケーションプログラムインターフェースプラットフォームから導出された前記アプリケーションを生成するステップと、
出力デバイス上に前記アプリケーションを表示するステップと
を含む方法。
【請求項２】
前記デバイスがモバイルデバイスである、請求項1に記載の方法。
【請求項３】
前記センサデータを受信する前記ステップは、どんなタイプの車両とインターフェースしているかを判断することに基づいて可能になる、請求項1に記載の方法。
【請求項４】
前記デバイスによって第2の車両とインターフェースするステップと、
前記デバイスによって、インターフェースしている前記第2の車両のタイプが何であるかを判断するステップと、
前記デバイスにおいて、前記第2の車両からの第2の車両テレメトリを示す第2のセンサデータを受信するステップと、
前記デバイスにおいて、前記第2のセンサデータを利用し前記アプリケーションプログラムインターフェースプラットフォームから導出された第2のアプリケーションを生成するステップと、
第2の出力デバイス上に前記第2のアプリケーションを表示するステップと
をさらに含む、請求項1に記載の方法。
【請求項５】
前記アプリケーションを使用して、別のモバイルデバイス、アクセスポイント、基地局、またはサーバにデータを送信するように前記デバイスに指示するステップをさらに含む、請求項1に記載の方法。
【請求項６】
前記アプリケーションを使用して、インターネットからデータを取り出すように前記デバイスに指示するステップをさらに含む、請求項1に記載の方法。
【請求項７】
前記アプリケーションを使用して、前記車両に送る少なくとも1つのコマンドを判断するステップであって、前記判断が、前記センサデータに少なくとも部分的に基づく、判断するステップと、
前記アプリケーションを使用して、前記車両に前記少なくとも1つのコマンドを送るステップと
をさらに含む、請求項1に記載の方法。
【請求項８】
前記アプリケーションは、前記受信したセンサデータに基づく前記車両の地理的条件および／または環境条件に応じて、前記車両の設定を調節するように前記車両に指示する、請求項1に記載の方法。
【請求項９】
第1の車両からの第1の車両テレメトリを示す第1のセンサデータと第2の車両からの第2の車両テレメトリを示す第2のセンサデータとを利用するように構成された少なくとも1つのアプリケーションを生成するステップであって、前記第1の車両と前記第2の車両とが別個の車両である、生成するステップと、
前記少なくとも1つのアプリケーションを前記第1の車両とインターフェースするステップと、
前記少なくとも1つのアプリケーションにおいて、前記第1のセンサデータを受信するステップと、
前記受信された第1のセンサデータを使用して前記少なくとも1つのアプリケーションを動作させるステップと
をさらに含む、請求項1に記載の方法。
【請求項１０】
前記少なくとも1つのアプリケーションを前記第2の車両とインターフェースするステップと、
前記少なくとも1つのアプリケーションにおいて、前記第2のセンサデータを受信するステップと、
前記受信された第2のセンサデータを使用して前記少なくとも1つのアプリケーションを動作させるステップと
をさらに含む、請求項8に記載の方法。
【請求項１１】
デバイスによってアプリケーションを生成するための手段を有する装置であって、
前記デバイスによって車両とインターフェースするための手段と、
前記デバイスによって、どんなタイプの車両とインターフェースしているかを判断するための手段と、
前記デバイスにおいて、前記車両からの車両テレメトリを示すセンサデータを受信するための手段と、
前記デバイスにおいて、前記アプリケーション内で使用するための１つまたは複数のタイプのセンサデータの選択を受信するための手段と、
前記デバイスにおいて、前記選択されたタイプのセンサデータを利用しアプリケーションプログラムインターフェースプラットフォームから導出された前記アプリケーションを生成するための手段と、
出力デバイス上に前記アプリケーションを表示するための手段と
を含む装置。
【請求項１２】
前記デバイスがモバイルデバイスである、請求項11に記載の装置。
【請求項１３】
前記センサデータを受信するための前記手段は、どんなタイプの車両とインターフェースしているかを判断するための前記手段に基づいて可能になる、請求項11に記載の装置。
【請求項１４】
前記デバイスによって第2の車両とインターフェースするための手段と、
前記デバイスによって、インターフェースしている前記第2の車両のタイプが何であるかを判断するための手段と、
前記デバイスにおいて、前記第2の車両からの第2の車両テレメトリを示す第2のセンサデータを受信するための手段と、
前記デバイスにおいて、前記第2のセンサデータを利用し前記アプリケーションプログラムインターフェースプラットフォームから導出された第2のアプリケーションを生成するための手段と、
第2の出力デバイス上に前記第2のアプリケーションを表示するための手段と
をさらに含む、請求項11に記載の装置。
【請求項１５】
プロセッサに請求項1乃至10の何れか1項に記載の方法を実行させるように構成されたプロセッサ可読命令を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
自動車センサーを用いたハンドセットセンサーの拡張に関する。
【背景技術】
【０００２】
いくつかの自動車は、自動車中の電子的特徴(electronic feature)とインターフェースすることが可能な電子ディスプレイを有する。これらの特徴の多くは、高級車モデルにおいてより容易に利用可能であるが、他の特徴は、時間がたつにつれて、平均的な顧客のモデルに対してより標準的なものとなり得る。したがって、将来、自動車内の、自動車に関係するデジタルおよび電子機能がより一般化し得ることが予期され得る。
【発明の概要】
【課題を解決するための手段】
【０００３】
少なくとも1つの車両からのテレメトリにアクセスするように構成されたアプリケーションを生成するための方法および装置であって、アプリケーションが、コンシューマプログラマブルプラットフォームによって生成される、方法および装置を提示する。アプリケーションは、車両テレメトリを示すデータを表示し得るか、またはユーザが車両テレメトリとインターフェースすることを可能にし得る。車両テレメトリの例には、車両エンジンの現在の温度または車両の現在の速度など、車両のヘルスおよびステータスに関するデータがあり得る。実施形態は、異なる自動車メーカーによって組み立てられた複数の車両からのテレメトリにアクセスするように構成されたアプリケーションを生成し得る。
【０００４】
いくつかの実施形態は、デバイスによって車両とインターフェースすることと、デバイスによって、どんなタイプの車両とインターフェースしているかを判断することとを含み得る。実施形態はまた、デバイスにおいて、車両からの車両テレメトリを示すセンサーデータを受信し得る。実施形態はまた、デバイスにおいて、センサーデータを利用しアプリケーションプログラムインターフェースプラットフォームから導出されたアプリケーションを生成し、出力デバイス上にアプリケーションを表示し得る。デバイスは、たとえば、モバイルデバイスまたはパーソナルコンピュータであり得る。
【０００５】
いくつかの実施形態は、第1の車両からの第1の車両テレメトリを示す第1のセンサーデータと第2の車両からの第2の車両テレメトリを示す第2のセンサーデータとを受信するように適応可能な受信機であって、第1の車両と第2の車両とが別個の車両である、受信機を含み得る。実施形態はまた、第1のセンサーデータと第2のセンサーデータとにアクセスすることと、第1のセンサーデータまたは第2のセンサーデータを利用する少なくとも1つのアプリケーションを生成することとを行うように適応可能なアプリケーションプログラムインターフェースを含み得る。実施形態はまた、少なくとも1つのアプリケーションを表示するように適応可能なディスプレイインターフェースを含み得る。
【０００６】
いくつかの実施形態は、第1の車両からの第1の車両テレメトリを示す第1のセンサーデータと第2の車両からの第2の車両テレメトリを示す第2のセンサーデータとを利用するように構成された少なくとも1つのアプリケーションを生成することであって、第1の車両と第2の車両とが別個の車両である、生成することを含み得る。実施形態はまた、少なくとも1つのアプリケーションを第1の車両とインターフェースすることと、少なくとも1つのアプリケーションにおいて、第1のセンサーデータを受信することと、受信された第1のセンサーデータを使用して少なくとも1つのアプリケーションを動作させることとを含み得る。
【０００７】
いくつかの実施形態では、アプリケーションプログラムインターフェースによって生成されたアプリケーションは、別のモバイルデバイス、アクセスポイント、基地局、またはサーバにデータを送信するようにモバイルデバイスに指示し得る。いくつかの実施形態では、アプリケーションは、インターネットからデータを取り出すようにモバイルデバイスに指示し得る。いくつかの実施形態では、アプリケーションは、センサーデータを使用して車両に送るべき少なくとも1つのコマンドを判断し得、車両に少なくとも1つのコマンドを送り得る。
【０００８】
様々な実施形態の性質および利点のさらなる理解が、以下の図面を参照することによって実現され得る。添付の図面において、類似の構成要素または特徴は、同じ参照標識を有し得る。さらに、同じタイプの様々な構成要素は、参照標識の後に、複数の類似の構成要素を区別するダッシュおよび第2の標識を付けることによって、区別され得る。本明細書内で第1の参照ラベルのみが使用される場合、その説明は、第2の参照ラベルとは無関係に、同じ第1の参照ラベルを有する類似の構成要素のうちのいずれか1つに適用可能である。
【図面の簡単な説明】
【０００９】
【図１】モバイルデバイスをもつ例示的な自動車を示す図である。
【図２】異なるモバイルデバイスをもつ異なる例示的な自動車を示す図である。
【図３Ａ】第1の自動車中の実施形態の例示的なインターフェースを示す図である。
【図３Ｂ】第2の自動車中の実施形態の例示的なインターフェースを示す図である。
【図４】いくつかの実施形態による、車両テレメトリを含んでいる例示的なアプリケーションプログラムインターフェース(API)レイヤを示す図である。
【図５Ａ】いくつかの実施形態による、APIレイヤを使用してアプリケーションを作成するための例示的なプロセスを示す図である。
【図５Ｂ】いくつかの実施形態による、APIレイヤを使用してアプリケーションを作成するための例示的なプロセスを示す図である。
【図５Ｃ】いくつかの実施形態による、APIレイヤを使用してアプリケーションを作成するための例示的なプロセスを示す図である。
【図５Ｄ】いくつかの実施形態による、APIレイヤを使用してアプリケーションを作成するための例示的なプロセスを示す図である。
【図６Ａ】いくつかの実施形態を実装する擬似コードの例示的なセットである。
【図６Ｂ】いくつかの実施形態を実装する擬似コードの例示的なセットである。
【図６Ｃ】いくつかの実施形態を実装する擬似コードの例示的なセットである。
【図６Ｄ】いくつかの実施形態を実装する擬似コードの例示的なセットである。
【図７Ａ】いくつかの実施形態による、例示的な方法を示すフローチャートである。
【図７Ｂ】いくつかの実施形態による、例示的な方法を示す別のフローチャートである。
【図８Ａ】いくつかの実施形態によって作成され得る様々なタイプのアプリケーションを示す図である。
【図８Ｂ】いくつかの実施形態によって作成され得る様々なタイプのアプリケーションを示す図である。
【図９】いくつかの実施形態によって作成され得るいくつかの例示的なアプリケーションのマルチレベルインターフェースを示す図である。
【図１０】いくつかの実施形態の例示的なコンピュータシステムを示す図である。
【発明を実施するための形態】
【００１０】
複数の自動車からのセンサーデータを利用するアプリケーションを生成するための装置および方法であって、アプリケーションが、コンシューマプログラマブルアプリケーションプログラムインターフェースプラットフォームによって生成される、装置および方法を提示する。しばしば機械デバイスと見なされる自動車は、電気インターフェースおよび構成要素とますます迅速に統合されている。自動車メーカーは、ソフトウェアアプリケーション、ボイス制御、タッチスクリーンなどを自動車に装備するために新しい創造的な方法を発見している。
【００１１】
これらの特徴の多くは、単に、贅沢と見なされ得るが、いくつかの特徴は、車両のヘルスおよび安全を評価するための非常に役立つ診断ツールを与え得る。自動車は、自動車テレメトリにアクセスするためにセンサーおよびデータモニタを装備し得、次いで、車両のパフォーマンスを測定するのを助け得る。このデータは、異常がないかどうかをコンシューマに通知するコンシューマへのディスプレイ中に与えられ得、したがって、車両に単なる高級な特徴以上のものを与え得る。これらのアメニティの多くは、高級車においてより容易に利用可能であり得るが、これらの特徴の少なくともいくつかは、将来、標準モデルにおけるアクセス可能性が高くなる可能性が高い。
【００１２】
しかしながら、これらの特徴は、メーカーによって車両に組み込まれる傾向があり、典型的なコンシューマがそれらを再構成する方法はほとんどない。さらに、これらの電子的特徴のいくつかがコンシューマによって構成可能であり得る場合でも、各自動車メーカーは、これらの特徴を構成し、動作させるためのプロプライエタリ設計を有し、ユーザが自分のカスタム設計のいずれかを異なるメーカーの別の車両、さらには同じメーカーの別の車両に移植することを妨げ得る。したがって、共通プログラミングインターフェースを使用して同じまたは異なるメーカーによる複数の車両との電子インターフェースを生成することをコンシューマに可能にさせることが望ましいことがある。
【００１３】
たとえば、図1を参照すると、上述のように、1つのメーカー(すなわち、一般的なブランド「yy」102)の自動車は、コンシューマにとって利用可能な、自動車キャビン100においてアクセス可能な電子的特徴およびインターフェースを有し得る。自動車キャビン100は、ブランドyy102の高級モデルの内側であり得、デジタルタッチスクリーン104などの利用可能な特徴を有し得る。タッチスクリーン104は、音楽、地図、近くのロケーション、および車両テレメトリ診断を含んでいる様々なメニューを表示するように構成され得る。今日のいくつかのブランドおよびモデルは、そのような特徴が車両にすでに組み込まれていることがある。ブランド102は、デジタルディスプレイ104が組み込まれ、車両全体が工場で一度に組み立てられた状態でこの高級モデル100を提供し得る。しばしば、これらの「現状」モデルは、車両モデルの特徴を構成する能力を提供しない。
【００１４】
図2を参照すると、図1中とは異なる、異なるメーカー(すなわち、一般的なブランド「ABCターボ」202)からの自動車はまた、コンシューマにとって利用可能な、自動車キャビン200においてアクセス可能な電子的特徴およびインターフェースを有し得る。ブランド202で利用可能な機能および特徴は、ブランド102で利用可能な機能および特徴と同じであるか、またはそれとは異なり得る。この例では、デジタルディスプレイ204は、バッテリーレベル206など、車両200に関するテレメトリを表示するように構成され得る。ディスプレイ204は、地図、音楽、および他の車両テレメトリなど、他の情報を搬送するように構成され得る。車両200は、ディスプレイ204が組み込まれた状態で製造され得、ディスプレイ204上に表示されるように構成されたアプリケーションがプレインストールされ得る。典型的に、これは、ディスプレイ204とその中に与えられる能力とが車両100中で使用可能でなく、一方、ディスプレイ104とその中に与えられる能力とが車両200中で使用可能でないことを示唆する。各車両メーカーは、プロプライエタリな方法でそれの車を設計および組み立て、複数の車両にわたって共通のアプリケーションが与えられるのを抑制し得る。
【００１５】
しかしながら、図3Aを参照すると、本発明の実施形態により、複数のメーカーからの複数の車両が、複数の車両の各々の中に与えられた機能にアクセスするのが可能になり得る。実施形態は、異なるデータが検出可能および閲覧可能であり得るように、第1の車両300に組み込まれた異なるセンサーにアクセスすることが可能なアプリケーションをプログラムおよび設計するように構成され得る。ここで、第1の車両300は、車両300の異なるエリアからの6つの読取り値304A〜304Fを示すディスプレイ302が組み込まれている。たとえば、温度読取り値304Aは、エンジンが適切な冷却液を有するかどうかを判断するためにエンジンの温度を示し得る。電圧計読取り値304Bは、車両300のバッテリーの電圧を示し得る。HP読取り値304Cは、車両300によって使用される現在の馬力の測定読取り値を表示し得る。オイルゲージ読取り値304Dは、車両300中にどのくらいのオイルが存在するかを示し得る。燃料読取り値304Eは、車両300中でどのくらいの燃料が利用可能であるか、または、代替的に、最後に車両300に燃料が入れられたのがいつであるかを示し得る。タイヤ空気圧ゲージ304Fは、車両300の少なくとも1つのタイヤのタイヤ空気圧を表示し得る。本明細書で説明するそのようなデータへの閲覧可能アクセスを可能にするセンサーは、車両300中にプレインストールされ得る。他の例では、センサーは、整備士または自動車ディーラーによって、メーカーの後にインストールされ得る。実施形態は、そのように限定されない。車両テレメトリデータ304A〜304Fは例にすぎず、当業者は、他の種類の車両テレメトリがアクセス可能であり、望ましいことがあることを諒解し得る。
【００１６】
いくつかの実施形態は、モバイルデバイス306上にインストールされ、コンシューマ/ドライバ308は、モバイルデバイス306上または車両300のディスプレイ302中のいずれかで閲覧可能な、自分自身のカスタムアプリケーションを設計することが可能になり得、アプリケーションは、上記で説明したように、車両テレメトリ304A〜304Fを表示することが可能である。車両300は、たとえば、車両300中のドッキングステーションアドオンまたはUSBポートを通してモバイルデバイス306からデータを受信するように構成され得る。代替的に、車両300は、いくつかの実施形態によって生成されたコンシューマプログラムアプリケーションをインストールするように構成され得る。他の例では、車両300は、いくつかの実施形態によってリモートで生成されたアプリケーションからのワイヤレス信号を介してデータを受け入れ、表示するように構成され得る。当業者には、実施形態によって生成されたアプリケーションを通してディスプレイ302上に自動車テレメトリを表示するための他の手段が明らかであり得、実施形態は、そのように限定されない。
【００１７】
図3Bを参照すると、実施形態はまた、第2のメーカーからの第2の自動車の車両テレメトリにアクセスするためのアプリケーションを生成し得る。たとえば、車両350は、車両300を組み立てたメーカーとは異なる第2のメーカーによって組み立てられ得る。とはいえ、実施形態は、依然として、車両350の車両テレメトリにアクセスするように構成されたアプリケーションを生成するように構成され得る。ここで、ディスプレイ352は、いくつかの実施形態によって生成されたアプリケーションを表示するように構成され得る。アプリケーションは、車両350内の様々なロケーションで発見される車両テレメトリセンサーからの読取り値354A〜354Dを含み得る。たとえば、HPディスプレイ354Aは、車両350によって使用されている馬力量の上昇を示すバー状読取り値を示し得る。回転数RPMディスプレイ354Bは、車両350中で行われる回転量/分の上昇を示す同様のバー状読取り値を示し得る。インテークバー354Cは、単位時間当たりにインテークバルブが消費している燃料量を反映し得、同様のバー状測定値によって示され得る。冷却液ディスプレイ354Dは、車両350中にどのくらいの冷却液が存在するかについてのバー状測定読取り値を反映し得る。もちろん、これらの読取り値354A〜354Dは、例にすぎず、当業者には明らかである多くの他のタイプの車両テレメトリ読取り値が実施形態中に含まれ得る。また、自動車テレメトリ354A〜354Dは、図3Aにおいて説明した方法と同様のまたは異なる方法でアクセス可能であり得、実施形態は、そのように限定されない。
【００１８】
第2の車両350中のディスプレイ352は、車両300中のディスプレイ302を確立するために使用されるモバイルデバイスと同じモバイルデバイス306によって生成され得る。典型的に、異なる自動車メーカーは、他の自動車メーカーに情報を共有せず、しばしば、デバイスまたはアプリケーションが異なる自動車ブランドの複数の車にわたって使用されることを妨げ得る。しかしながら、実施形態により、ユーザ308は、たとえば、モバイルデバイス306を使用して共通プログラマブルプラットフォーム上にアプリケーションを生成することが可能になり、アプリケーションは、第1の車両300および第2の車両350など、異なるメーカーからの複数の車中に表示可能であり得る。モバイルデバイス306は、次いで、車両350またはディスプレイ352に接続し、したがって、車両350自体にいくつかの実施形態によって生成されたアプリケーションを表示し得る。モバイル306は、図3Aにおいて説明した方法と同様のまたは異なる方法でディスプレイ352に接続され得、実施形態は、そのように限定されない。
【００１９】
図4を参照すると、ディスプレイ400は、図3Aおよび図3Bで説明した自動車テレメトリを表示するためのアプリケーションのようなアプリケーションを生成するために使用される、いくつかの実施形態の例示的なアプリケーションプログラムインターフェース(API)レイヤを示し得る。実施形態により、コンシューマ、たとえばコンシューマ308は、複数の車両からの入力に基づいて情報を読み取り、表示することが可能な複数のアプリケーションを生成またはプログラムすることが可能になり得る。したがって、実施形態は、2つ以上の車両中で自動車テレメトリにアクセスするための少なくとも1つのアプリケーションを生成するように構成されたAPIレイヤ400などの共通プログラミングプラットフォームを含み得る。
【００２０】
ここで、APIレイヤ400は、コンシューマ/ユーザにとってアクセス可能ないくつかの自動車テレメトリを表示し得る。単にいくつかの例として、ディスプレイ402Aは、車両において利用可能な燃料量にアクセスし、それを表示するように構成され得、ディスプレイ402Bは、マイル/ガロン(MPG)で表される、燃料の最後のタンクの車両のパフォーマンスの燃料効率レーティングを表示するように構成され得る。ディスプレイ404Aは、ボルト単位または最大電位の割合で測定されるバッテリーレベルにアクセスし、それを表示するように構成され得る。ディスプレイ404Bは、時間にわたって計算される、バッテリー動作の知られている平均レベルを表示し得る。ディスプレイ406Aは、車両の一部の、たとえば、車両のエンジンにおける温度読取り値を表示し得る。ディスプレイ406Bは、警報ランプ読取り値が使用可能である場合、色を変更するか、またはオンになり得る。そのような読取り値は、保守のために車両を持ち込むか、またはトラブルの潜在的なサインについて車両のいくつかの側面を検査することをユーザにシグナリングし得る。
【００２１】
他の例では、ディスプレイ408Aは、現在の温度読取り値に基づいて冷却液量を示し得る。冷却液のレベルは、温度読取り値に基づいて十分であるかまたは不十分であると見なされ得る。ディスプレイ408Bおよび408Cは、温度読取り値の最大値および最小値を示し得、それらの両方は、単一の車移動中の、または、車両の記録された存続期間中の最大値および最小値を表し得る。ディスプレイ410は、車両のバッテリーの電位を示し得る。ディスプレイ412は、ここでポンド/平方インチ(psi)で表される、少なくとも1つのタイヤのタイヤ空気圧の現在のレベルを示し得る。ディスプレイ414A〜414Cは、車両において使用される馬力の異なるレベルを示し、ディスプレイ414Bおよび414Cは、各々の最大値および最小値を示し得る。ディスプレイ416は、たとえば、RPMで測定される、車両エンジンの回転数を示し得る。ディスプレイ418Aは、ここで、たとえば、マイル/時(mph)で表される、車両の現在の速度を示し得る。電子機器警報センサー418Bは、現在の速度が、設定された速度制限を上回るなど、何らかの所定のしきい値を上回るかどうかをユーザに示すために利用可能であり得る。ディスプレイ420は、車両の吸気弁に入る燃料量または気化物質量を示し得る。ディスプレイ422は、車両の通常の加速のブーストとして働く、エンジンに注入される燃料量を示し得る。
【００２２】
車両のこれらのセンサー読取り値は、いくつかの実施形態によればコンシューマ/ユーザがアプリケーションを生成するために利用可能であり得る。コンシューマ/ユーザは、これらのセンサーオプションのいずれかまたはすべてを選択し、グラフィカルインターフェース中にセンサーを埋め込み、追加のグラフィックスまたは機能をもつアプリケーション中にセンサー読取り値を表示し得る。これらのセンサーはやはり例にすぎず、当業者は、車両の異なるメトリックを読み取るために多くの他のセンサーを容易に確認することが可能であり得る。実施形態は、そのように限定されない。
【００２３】
図5Aを参照すると、コンシューマ/ユーザは、いくつかの実施形態に従って、図4で説明したようにセンサー読取り値を使用し、コンシューマプログラマブルアプリケーションプログラムインターフェース(API)によってサポートされるアプリケーションを生成し得る。ディスプレイAPIページ500は、ユーザがセンサー読取り値を利用するための自分自身のアプリケーションを生成することを可能にするための例示的な第1のディスプレイであり得る。APIディスプレイ500は、パーソナルコンピュータ、モバイルデバイスなどを含む、任意の数のデバイス上に表示され得る。図示のようにAPIディスプレイ500の上部で、ユーザは、燃料計および前回ガソリン補給警告アプリ502などのアプリケーションを作成するためのボタンを選択し得る。ユーザは、車両中の燃料の現在の読取り値と前回ガソリン補給からの車両のパフォーマンスに関する統計値とを含む、左上に示す車両テレメトリ504に基づいてこのアプリケーションを生成することを望み得る。
【００２４】
ディスプレイメニュー506において、ユーザは、次いで、図示のように、アプリケーションを調整または作成するためのいくつかのオプションを有し得る。ユーザは、「アプリの作成」ボタンを選択することによってアプリケーションを作成し始め得る。ユーザは、アプリケーションに接続され得るか、または「ユーザインターフェースの構築」ボタンを選択することによって一般的なユーザインターフェースであり得るユーザインターフェースを組み立て得る。ユーザは、「アプリデータの記憶」ボタンを選択することによってライブまたはテストサンプルデータのセットを記憶または保存し得る。ユーザはまた、「アプリの最適化」ボタンを選択することによってアプリケーションを調整、変更、および最適化し得る。もちろん、メニュー506中のオプションは、例にすぎず、コンシューマプログラマブルAPIは、アプリケーションをプログラムするのを可能にするためのいくつかの異なるメニューまたは手段を含み得、実施形態は、そのように限定されない。
【００２５】
ディスプレイメニュー508において、ユーザは、アプリケーションを生成するためのファイルを編成し、グループ化するための様々なオプションを有し得る。たとえば、ユーザは、図示のように、「テスト」タブの下の生成されたアプリケーションをテスト、デバッグ、および改善するためのテスト特徴にアクセスすることが可能であり得る。ユーザは、アプリケーションを含み得る様々なクラス、リソース、フレームワーク、または他のデータ構造にアクセスすることが可能であり得る。アプリケーションにおけるデータの制約またはターゲット量を選択すること、および/またはアプリケーションを表し得る実行ファイルを選択することを含む他のオプションが利用可能であり得る。ユーザはまた、テストデータおよび他のデータのアーカイブを探索すること、共通マーカーまたはシンボルに基づいてリソースを選択すること、ならびに/あるいはアプリケーションを生成または改善するときに様々な実装ファイルを選択することが可能であり得る。この場合も、これらは、例にすぎず、当業者は、実施形態によるコンシューマプログラマブルAPIにとって利用可能な多くの他のタイプのオプションを考案し得る。
【００２６】
図5Bを参照すると、例示的なグラフィカルインターフェース525は、いくつかの実施形態に従って、アプリケーションをプログラムするためのより多くのオプションおよびウィンドウを与え得る。メニュー527において、ユーザは、アプリケーションを生成するための新しいプロジェクトを作成するオプションを有し得る。プロジェクトは、1つのアプリケーションまたは複数のアプリケーションを含み得、図5Aに示したメニューの1つから選択した後にアクセス可能になり得る。メニュー527において、ユーザは、プロジェクトを命名し、アプリケーションがすでに与えられているテンプレートを使用して設計されるべきであるかどうかを選択することが可能であり得る。ユーザはまた、使用されるべきフレームワークまたはライブラリのタイプ、アプリケーションがプラグインであるべきかどうか、アプリケーションが実行し得るアクションのタイプの記述、アプリケーションにおいて使用するためのオーディオパッケージのタイプの設定、あるいは何らかの他のあらかじめ選択されたバンドルから選択すべきオプションなど、アプリケーションを生成するための他の特徴を選択し得る。これらのオプション上で選択すると、新しいウィンドウまたはメニューが開かれ得、したがって、ユーザは異なる選択を行い得る。
【００２７】
メニュー529において、ユーザは、ボタンを選択した後にテンプレート選定のこのメニューに移動して、アプリケーションを生成するためのテンプレートを選択することが可能になり得る。ユーザは、図示のように、あるタイプのアプリケーションを作成するのに好適なテンプレートを記述するいくつかの異なるカテゴリーから選択し得る。ユーザはまた、カスタム設計のテンプレートを作成した後に、自分自身のアプリケーションを設計し得る。実施形態は、利用可能なテンプレートのタイプに関して、またはさらにはテンプレートがまったく利用可能でないかどうかに限定されない。
【００２８】
メニュー531において、ユーザはまた、アプリケーションにおいて使用するために生成されるべきいくつかのオブジェクトを選択し得る。オブジェクトは、表、メニュー、アイコン、画像、または他のエンティティを含み得る。オブジェクトは、オブジェクト指向プログラミングによる原理に一致し得、ここにおいて、オブジェクトは、様々な機能を実行するようにプログラムされ、極めて操作しやすく、高度に再構成可能である。オブジェクトは、メニュー531に示す例示的なライブラリなど、ライブラリのセットに編成され得る。もちろん、実施形態は、機能指向手法または状態機械手法など、アプリケーションを生成するための他のプログラム手段を含み得る。当業者には多くの他の手段が明らかであり得、実施形態は、そのように限定されない。
【００２９】
図5Cを参照すると、例示的なグラフィカルインターフェース550は、いくつかの実施形態による、アプリケーションをプログラムするためのさらに多くのオプションを与え得る。ここで、グラフィカルインターフェース550は、アプリケーションの様々な特徴の属性を閲覧し改変するためのメニューを与える。たとえば、サブメニュー552は、特徴の方向を変更するためのオプションと、様々なメニューバー中のメニューを追加、改変、または除去するためのオプションとを含み得る。サブメニュー554により、ユーザは、色を変更すること、特徴の位置を変更すること、特徴をフォアグラウンドまたはバックグラウンドに上下することなどを含む、他の特徴を調整することが可能になり得る。サブメニュー556は、アプリケーションがどのように見え得るかをユーザがより良く知ることができるように、テストビューまたは何らかの他のビュー中でアプリケーションを閲覧するためのオプションを与え得る。サブメニュー558により、ユーザは、図示のように、他の情報を入力することが可能になり得る。
【００３０】
図5Dを参照すると、例示的なデバッギングインターフェース575は、ユーザが車両テレメトリにアクセスするアプリケーションを生成するために利用可能な別のタイプのメニューであり得る。メニュー577は、アプリケーションが意図したように機能するかどうかを確認するためにアプリケーションをテストするための様々なオプションを含み得る。デバッギングメニューにより、ユーザは、ユーザまたは車両からの入力に基づいてアプリケーションによってアクセスされている機能およびオブジェクトのより詳細な記述を確認することが可能になり得る。ここで、ユーザは、アプリケーションのための例示的な入力として、前に説明したテストデータを利用し得る。実施形態中に当業者には明らかな他のデバッギングインターフェースが含まれ得、やはり、これらは、単なる例にすぎない。
【００３１】
図6A、図6B、図6C、および図6Dを参照すると、擬似コードの例示的なセットは、コンピュータおよび/またはコンピュータプログラマブル媒体がいくつかの実施形態に従って実行し得るステップを示し得る。図6Aでは、車両の後部パーキング/近接度センサーがどのようにアクセスされ得るかを示すための例示的なコードを与える。図6Bでは、車両が動いているときを検出するために車両のエンジンテレメトリがどのようにアクセスされ得るかを示すための例示的なコードを与える。この場合、ユーザが現在運転していると判断して、ドライバにとって利用可能な気が散る機能または特徴が使用不能にされ得る。図6Cでは、車両が燃料不足であるときを判断するために車両のエンジンテレメトリがどのようにアクセスされ得るかを示すための例示的なコードを与える。次いで、近くの燃料ステーションを探索するために、モバイルデバイス上のワイヤレス特徴を使用してインターネットがアクセスされ得る。図6Dでは、車両の眼追跡カメラがどのようにアクセスされ得るかを示すための例示的なコードを与える。アプリケーションは、ドライバが疲労してきていることを検出し得、イベントを記録し得る。ある時間にまたはある時間量の後にドライバが疲労した場合にどんなパターンが明らかになるかを見分けるための統計値が生成され得る。図6Dに与えた例示的なコードは、貨物および運送会社が、たとえば、従業員を監視し、安全性を改善するのを支援するために使用され得る。本明細書で提供するコードの例示的なセットは、例にすぎず、当業者には他の実装形態が明らかであり得る。実施形態は、そのように限定されない。
【００３２】
図7Aを参照すると、例示的なフローチャート700に、複数の車両の自動車テレメトリにアクセスすることが可能な少なくとも1つのアプリケーションを生成するためのいくつかの実施形態を実行するためのステップを示す。ブロック702において開始して、いくつかの実施形態は、デバイスによって車両とインターフェースし得る。車両は、本明細書で説明する車両のいずれかであり得、または、任意の他のタイプの車両であり得、実施形態は、そのように限定されない。デバイスは、車両とインターフェースするように構成可能なモバイルデバイス、ワイヤードデバイス、遠隔制御装置、コンピュータシステム、または任意の他のタイプのデバイスであり得る。ここで、インターフェースすることは、車両から発信されたデータにアクセスすることが可能であること、および/または何らかの方法で車両と対話することが可能であることを意味し得る。
【００３３】
ブロック704において、いくつかの実施形態は、どんなタイプの車両とインターフェースしているかを判断し得る。車両とインターフェースした後に、実施形態は、車両のタイプを判断し得る車両に関するデータを取り出すことが可能であり得る。車両のタイプは、車両のブランド、モデルおよび/または型式を指し得る。他の例では、車両のタイプは、車両の一意の車両識別番号(VIN:vehicle identification number)に基づき得る。実施形態は、複数のタイプの車両にアクセスすることが可能であり得るが、そのようなアクセスは、アクセスされている車両のタイプに依存し得るので、車両のタイプを判断することは重要であり得る。さらに、車両とインターフェースするアプリケーションは、通常、1つのタイプの車両または単一のメーカーの車両のみを適合させるようにカスタム設計されるので、そのような判断は、当技術分野では当たり前でも普通でもない。
【００３４】
ブロック706において、いくつかの実施形態は、インターフェースしている車両から車両テレメトリを示すセンサーデータを受信し得る。車両テレメトリを示すセンサーデータは、本明細書の図のいずれかで説明したように車両からアクセス可能なデータのタイプに一致し得る。たとえば、センサーデータは、車両テレメトリの任意のデジタルまたはアナログ読取り値であり得、車両テレメトリの例としては、車両エンジンの回転数/分(RPM)の現在の数字またはMPHで表される車両の現在の速度がある。車両テレメトリはまた、車両エンジン、タイヤ、ライト、または定期保守を必要とする車両の他の部分に関する診断データなど、車両に関する他の読取り値を含み得る。多くの他の例も可能であり、実施形態は、そのように限定されない。
【００３５】
ブロック708において、いくつかの実施形態は、車両のセンサーデータを利用するアプリケーションを生成し得る。アプリケーションは、本明細書で説明した機能のいずれかを含む任意の数の機能を実行し得る。例としては、数値またはグラフィックフォーマットのいずれかで、キャビン中の現在の温度、タイヤ中の現在のタイヤ空気圧など、車両からの現在のセンサー読取り値を表示することがあり得る。他の例としては、時間にわたる車両の速度の変化など、車両テレメトリ読取り値の現在の変化の棒または折れ線グラフを表示することがあり得る。そのようなアプリケーションを生成することは、本明細書の図のいずれかにおいて説明した技法に一致し得る。いくつかの実施形態は、アクセス可能車両テレメトリに基づいて複数のアプリケーションを生成することが可能なコンシューマプログラマブルプラットフォームを含み得、アプリケーションは、異なるメーカーからの車両とともに使用されることが可能であり得る。プログラマブルプラットフォームは、モバイルデバイスまたは本明細書で説明する任意の他のタイプのデバイスなどのデバイス上で利用可能であり得る。
【００３６】
ブロック710において、いくつかの実施形態は、出力デバイス上にアプリケーションを表示し得る。アプリケーションが生成された後、アプリケーションは、出力デバイスのディスプレイ中で使用する準備ができていることがあり得る。出力デバイスは、同じモバイルデバイスなど、車両とインターフェースするデバイスと同じであり得、または異なるデバイスであり得る。たとえば、本明細書で説明する例と同様に、車両中のディスプレイがアプリケーションを表示するように構成され得るという点で、車両自体が出力デバイスであり得る。他の場合には、車両に取り付けられた追加のディスプレイユニットがアプリケーションを表示し得る。他の場合には、車両の外部の研究室に配置されたテストコンピュータがアプリケーションを表示し得、アプリケーションは、車両のパフォーマンスを監視し、テストするために使用される。
【００３７】
図7Bを参照すると、例示的なフローチャート750に、2つ以上の車両に関与するいくつかの実施形態を実行するためのステップを示す。前述のように、実施形態は、2つ以上の車両からの車両テレメトリにアクセスするように構成されたアプリケーションを与え得、車両は、異なるメーカーから製造される。フローチャート750は、いくつかの実施形態による、2つ以上の車両上でアプリケーションを動作させるための例示的な方法を示す。
【００３８】
ブロック752において、いくつかの実施形態は、第1のセンサーデータと第2のセンサーデータとを利用するように構成された少なくとも1つのアプリケーションを生成し得る。第1のセンサーデータは、第1の車両からの第1の車両テレメトリを示すデータであり得、第2のセンサーデータは、第2の車両からの第2の車両テレメトリを示すデータであり得る。第1および第2の車両は、異なるメーカーによって組み立てられた車両であり得、または同じメーカーによって組み立てられた車両であり得る。少なくとも1つのアプリケーションを生成することは、コンシューマプログラマブル共通プラットフォームインターフェースを使用する、本明細書で前に説明した技法に基づき得る。第1および第2のセンサーデータを利用することは、アプリケーションが第1のセンサーデータと第2のセンサーデータとを受信すること、アクセスすること、および/または使用することが可能であることを意味し得る。アプリケーションは、実際には、データのいずれも使用しないことがあるが、アプリケーションは少なくとも、要求されたとき、依然としてデータを使用することが可能である。多くのアプリケーションは、異なるメーカーによって組み立てられた異なる車両からのテレメトリにアクセスすることが不可能であり得るので、そのような特徴は重要であり得る。各メーカーは、異なるメーカーのアプリケーションにとって利用可能ではないプロプライエタリな方法を有し得る。しかしながら、本明細書の実施形態は、異なるメーカーからのテレメトリにアクセスすることが可能であり得る。異なるメーカーから許可が得られ得、または構成可能なデータの共通プラットフォームが、異なるメーカーの車両に組み込まれ得る。車両テレメトリの均一セットを作成するために、規格が導入され得る。代替的に、いくつかのメーカーは、共通プログラミングプラットフォームにとってアクセス可能なセンサーを有するために、互いにまたは共通ベンダーと合意を形成し得る。
【００３９】
ブロック754において、少なくとも1つのアプリケーションは、第1の車両とインターフェースし得る。第1の車両は、第1の車両テレメトリを示す第1のセンサーデータを与え得る。車両とインターフェースすることは、本明細書で説明する手段のいずれかまたは当業者には明らかな他の手段によって達成され得る。実施形態は、そのように限定されない。たとえば、メモリに記憶されたアプリケーションを有するモバイルデバイスは、車両の自動車キャビン内にいる間、車両のシガーライターを介して電子インターフェースを介して車両に接続し得る。
【００４０】
ブロック756において、いくつかの実施形態は、少なくとも1つのアプリケーションにおいて第1のセンサーデータを受信し得る。第1のセンサーデータは、少なくとも1つのアプリケーションによって、インターフェースしている第1の車両から発生し得る。データは、本明細書で説明する任意の手段または当業者には明らかな他の手段を通して受信され得る。第1のセンサーデータは、本明細書で説明するセンサーデータまたは当業者には明らかな他のタイプのデータのいずれかに一致するデータであり得る。実施形態は、そのように限定されない。
【００４１】
ブロック758において、いくつかの実施形態は、第1のセンサーデータを使用して少なくとも1つのアプリケーションを動作させ得る。少なくとも1つのアプリケーションの動作は、本明細書で説明する説明のいずれかに従って、または当業者には明らかな他の手段に従って行われ得る。実施形態は、そのように限定されない。たとえば、アプリケーションは、メモリに記憶されたアプリケーションを有するモバイルデバイスに接続された出力デバイス上にアプリケーションを表示することによって動作され得る。第1の車両のドライバは、少なくとも1つのアプリケーションの一連のメニューからオプションを選択することによって少なくとも1つのアプリケーションを動作させ続け得、ここで、選択に応じて、少なくとも1つのアプリケーションは、第1の車両から第1のセンサーデータの第1のサブセットにアクセスする。第1の車両のドライバが異なる選択を行う場合、少なくとも1つのアプリケーションは、第1の車両から第1のセンサーデータの第2のサブセットにアクセスする。これらのメニューおよび選択は、本明細書で示す説明のいずれかまたは当業者には明らかな他の手段に一致し得る。実施形態は、そのように限定されない。
【００４２】
ブロック760、762、および764において、ステップが第2の車両で実行されることを除いて、ブロック754、756、および758に関して説明したステップと同じまたは同様のステップが適用され得る。第1の車両中で使用される同じ少なくとも1つのアプリケーションは、第2の車両において動作可能であり得、第2の車両は、第1の車両を組み立てたメーカーと同じまたは異なるメーカーによって組み立てられ得る。少なくとも1つのアプリケーションはまた、異なるアプリケーションであり得、ここにおいて、実施形態は、両方のアプリケーションを生成することが可能なコンシューマプログラマブル共通プラットフォームインターフェースを含み得る。
【００４３】
図8Aを参照すると、モバイルデバイス800上のグラフィカルインターフェース802は、いくつかの実施形態によって生成され得る例示的なアプリケーションを示す。車両のドアが開いていることをユーザにシグナリングするアプリケーション802は、車両の利用可能な自動車テレメトリを使用するいくつかの実施形態によって生成され得る。アプリケーション802は、ドアがセンサーに接触しないときはいつでも有効になる、ドアの近くの1つのセンサーにアクセスし得る。センサーは、車両の他のロケーションに配置され得、ドアが他の手段を通して開いていると判断することが可能であり得、実施形態は、そのように限定されない。アプリケーション802は、2つ以上の車両中で、特に、異なるメーカーによって組み立てられた車両中で使用されるように生成され得る。実施形態は、同じまたは同様のタイプのデータを搬送する異なるメーカーの異なるセンサーにアクセスするように構成され得る。代替的に、いくつかの実施形態によって生成されたアプリケーションは、アプリケーションが適用される車両のタイプに応じて、異なるタイプのセンサーを検出するようにプログラムされ得る。
【００４４】
図8Bを参照すると、モバイルデバイス800上の異なるグラフィカルインターフェース852は、いくつかの実施形態によって生成され得る別の例示的なアプリケーションを示す。アプリケーション852は、車両のRPMの時間にわたるプロットを表示し得る。いくつかの実施形態によって生成されたアプリケーション852は、車両のRPMを出力するように構成された車両のセンサーにアクセスし得る。アプリケーション852は、次いで、センサーからの読取り値をプロットし、それらを単位時間にわたるプロットとして表示し、図示のようなグラフィカルプロットを生じ得る。
【００４５】
図9を参照すると、例示的なグラフィカルインターフェースは、いくつかの実施形態によって生成され、次いで、コンシューマ/ユーザよって使用され得、グラフィカルインターフェースは、グラフィカルインターフェース920および940に示すようにデータと情報とを含んでいる。たとえば、コンシューマ/ユーザは、ディスプレイ910において、図8Bのディスプレイに一致する、パーソナル回転数ディスプレイのためのアプリケーションの起動を閲覧し得る。コンシューマ/ユーザは、次いで、アプリケーションを開くためにディスプレイ910のグラフィック上でクリックまたは押下し得る。代替的に、ユーザは、いくつかの実施形態によってプログラム可能なボイスコマンドを言うことによってアプリケーション910/920を動作させ得る。当業者には、実施形態によって生成されたアプリケーションを動作させるための他の同様の方法が明らかであり得、実施形態は、そのように限定されない。
【００４６】
アプリケーションを開いて、ディスプレイ920が現れると、コンシューマ/ユーザは、この特定のアプリケーションが動いているのを確認することが可能であり得る。たとえば、カーソル922は、車両のRPMの現在のレベルに従ってプロット線924に沿って動き得る。アプリケーション910/920は、完全に動作するために車両テレメトリへのリアルタイムアクセスを必要とし得、そのようなテレメトリにアクセスすることは、本明細書で前に説明した手段を通して達成可能であり得る。アプリケーション910/920はまた、本明細書で説明する任意の手段に一致する、他の車両テレメトリに基づく他のディスプレイまたは機能を含み得る。
【００４７】
同様に、グラフィカルインターフェース930は、グラフィカルインターフェース940に似ていることがあるアプリケーションを開くためにクリックまたはタッチされ得る。他の場合には、インターフェース930は、ボイス作動され得、特定のボイスコマンドを受信した後にアプリケーションを開くように構成され得る。パーソナル開ドア警告ディスプレイのためのこのアプリケーションは、グラフィカルインターフェース930において、図8Aのディスプレイに一致し得る。アプリケーション930/940を開いた後に、コンシューマ/ユーザは、複数の情報へのアクセスを有し得る。たとえば、ドアが開いていることをアプリケーション930/940が検出する場合、コンシューマ/ユーザは、アラームまたは信号942を受信し得る。さらに、コンシューマ/ユーザは、メッセージ944において自動車のドアの開度の程度を読み取り、またはメッセージ946において自動車のロックが誤動作しているかどうかを読み取ることが可能であり得る。これらの種類の情報は、車両テレメトリに基づいて利用可能であり得、ここで、そのようなテレメトリにアクセスするための方法は、本明細書で説明する方法のいずれかで達成され得る。さらに、これらのアプリケーションは、例にすぎず、当業者は、本明細書で説明する実施形態に基づいて他のアプリケーションまたは使用法を着想することが容易に可能であり得る。
【００４８】
いくつかの実施形態では、様々な他のアプリケーションが生成され得る。たとえば、アプリケーションは、カレンダー日付の近くの適切な時間にサードパーティ会社または企業に自動通知に送るカレンダーサービスを与え得る。アプリケーションは、カレンダー日付に関係し得るサードパーティ会社または企業に車両テレメトリ情報を送り得る。たとえば、車両からの様々なヘルスおよびステータスデータのスナップショットは、モバイルデバイスに記憶された、車両テレメトリを使用するアプリケーションによって記録され得、次いで、アプリケーションは、ヘルスおよびステータスデータを、ユーザがよく行く自動車ディーラーまたは整備士に送り得る。代替的に、アプリケーションは、ヘルスおよびステータスデータの一連のスナップショットを単に記録し得、ここにおいて、一連のデータは、車両をサービスする時間になると、自動車ディーラーまたは整備士によって分析され得る。
【００４９】
別の例では、カレンダー機能を利用するアプリケーションは、ユーザが会議をもつ人または企業の電子メールアドレスまたは電話番号に自動ステータス更新を送り得る。アプリケーションは、車両の現在のロケーション、現在の時間、目的とする行き先および目的とする時間に基づいて、ユーザがアポイントメントに間に合う可能性がないと判断し得、テキストまたは何らかのメッセージがその人または会議の場所に送られ得る。これにより、ユーザは、電話をかけるか、またはテキストメッセージを送るのではなく、運転にさらに集中することが可能になり得る。
【００５０】
別の例では、カレンダー機能を利用するアプリケーションは、モバイルデバイス中に車両に関係する「やることリスト」としてリマインダを自動生成し得る。たとえば、アプリケーションは、オイル交換をすべきとき、ガソリンを補充すべきとき、タイヤ空気圧を確認すべきときなどの時間またはイベントを判断し得る。判断は、たとえば、燃料、タイヤ空気圧、マイレージなど、車両における様々なリソースのステータスを周期的に検査することによって行われ得る。他の場合には、時々、メーカーまたは整備士によって推奨される一定の間隔が設定され得る。
【００５１】
別の例では、車両の燃料が少ないことをアプリケーションが検出したとき、アプリケーションは、近くのガソリンスタンドにユーザを自動的に導き得る。アプリケーションは、近くのガソリンスタンドならびに価格および/または小売業者(たとえば、シェル、エクソンなど)を探索するためにモバイルデバイスを介してインターネットにアクセスし得、価格および小売業者の任意のユーザ選好を使用して最適なガソリンスタンドへのルートを判断し得る。
【００５２】
いくつかの実施形態では、ユーザが、車両から離れている間に車両が破壊されるかまたは損傷した場合にユーザにテキストまたは他のメッセージを送るためにアプリケーションが生成され得る。たとえば、車両を道路に駐車し、ユーザが離れていていかなる自動車アラームをも聞くことができない間、破壊者が車両のウィンドウを破壊し得る。ウィンドウが破壊されたと自動車アラームが判断し得るのと同様の方法でウィンドウが破壊されたとの警告を与えることができるテレメトリが利用可能であり得る。次いで、アプリケーションは、ユーザに、さらにはローカル警察機関にテキストまたは何らかの他のメッセージを送り得る。アプリケーションを使用するモバイルデバイスは、車両テレメトリへのリモートアクセスを有し得る。代替的に、アプリケーションを使用するモバイルデバイスは、車両に取り付けられ得、ユーザが所有する他のモバイルデバイスまたはユーザの緊急連絡先に警告を送り得る。
【００５３】
いくつかの実施形態では、インジケータとして車両テレメトリを使用して、車両が事故に関与したことをアプリケーションが検出した場合、アプリケーションは、緊急機関または他の緊急連絡先に関連情報を送り得る。たとえば、車両テレメトリのいくつかが急に読込み不能または使用不能になり得る。車両テレメトリのいくつかの部分のみ、たとえば、2つのフロントタイヤからのテレメトリ、2つのフロントヘッドライトからのテレメトリが使用不能になり、車両の前面が損傷したことを示唆し得る。他の場合には、車両のボディ上のテレメトリセンサーは、たとえば、アプリケーションが、いくつかのテレメトリセンサーから任意の読取り値を急に検出しなくなったことによって事故が起こったかどうかを示し得る。事故を判断した後に、アプリケーションは、ユーザに関する関連情報を含んでいる自動生成メッセージを緊急当局に送り得る。アプリケーションを使用するモバイルデバイスは、車両を動作させているユーザが所有している可能性があり得るので、これは、モバイルデバイスに記憶された情報によって取得され得る。この同じ連絡先情報は、同様に、親類、近親者、または他の緊急連絡先に送られ得る。
【００５４】
いくつかの実施形態では、アプリケーションは、車両の地理的条件および/または環境条件に応じて、車両の設定を調整するように車両に指示し得る。言い換えれば、車両は、いくつかの実施形態によれば「コンテキストアウェア」になり得る。たとえば、モバイルデバイスのジオポジショニング機能を使用して、アプリケーションは、最初に、車両のジオポジショニングロケーションを識別し、次いで、車両のローカル道路条件に応じて、ヘッドライトアラインメント、日中点灯ライトなどの設定を調整し得る。他の場合には、いくつかの実施形態によれば、識別されたロケーションに応じて、異なる法律を考慮するために他の設定を調整する必要があり得る。他のコンテキストアウェア状況には、たとえば、車両をタイムゾーンに沿ってドライブするときに車両の時計を自動的に調節することがある。
【００５５】
いくつかの実施形態では、アプリケーションは、他の車両にキャラバニング(caravanning)または「タグアロング(tag along)」機能を与え得る。アプリケーションは、他の車両中に与えられた車両テレメトリおよび/またはGPSセンサーを使用して、友人の他の車両またはキャラバンのリーダーを識別し得る。アプリケーションは、次いで、キャラバニングのリーダーまたは他の車両に動的に変化するナビゲーションルートを与え得る。このようにして、ウォーキートーキーまたは他の無線機構などを介した通常の技法の限界であり得る見通し線は、キャラバニングのためにもはや必要なくなり得る。
【００５６】
いくつかの実施形態では、アプリケーションは、ドライバの認知的負荷を監視するために視線追跡センサーまたは他の車両テレメトリを使用し得る。ドライバが眠い、疲れている、注意散漫である、多忙であるなどと判断された場合、アプリケーションは、警告を送ること、ある種のアラームを鳴らすこと、および/または注意散漫を低減することを行い得る。たとえば、電話呼が、サイレントモードに自動的に切り替えられるか、またはボイスメールに直接移行し得る。他の場合には、ドライバが眠くなっていると判断された場合、一連のノイズが再生され得る。他の車両テレメトリは、車両が方向転換しているのかまたはそれているのかを判断し得、アプリケーションは、相応してノイズを再生するか、アラームを鳴らし得る。他の場合には、衛星ナビゲーションシステムのボイス特徴は、ドライバが多忙すぎるかまたは注意散漫であると判断されるかどうかに応じてより大音量にまたはより小音量に調整され得る。
【００５７】
いくつかの実施形態では、アプリケーションは、ドライバのパーソナル設定に従って、各車両中に与えられた自動車テレメトリを使用して複数の車両の自動車設定を調整し得る。たとえば、ドライバは、レンタカー中でアプリケーションを使用し得、座席、ミラー、キャビン温度などを再構成し得、それは、ドライバが所有する車両中の設定に一致し得る。別の例では、アプリケーションは、ドライバがあるレベルの能力を満たしたと判断されるまで、何人かのドライバの車両のパワーまたは最高速度を制限し得る。たとえば、運転指導者は、車両中のドッキングステーション中にモバイルデバイスを配置し得、車両は、パワーまたは最高速度を制限するように構成された設定を有し得る。
【００５８】
本明細書で説明する例は、例にすぎず、本発明の実施形態による多くの可能な使用法のうちのほんのいくつかを示し得る。わかるように、モバイルデバイスの各アプリケーションは、車両テレメトリを利用するように構成され得、複数の車両中で使用され得る。
【００５９】
諸利点は、限定はしないが、複数のメーカーに共通のAPIプログラミングプラットフォームを与えること、車両メーカーおよびユーザが同様に均一プログラミングプラットフォームを使用してコンシューマデバイスをプログラムすることが可能になることを含む。さらに、ユーザは、プログラムアプリケーションにモバイルデバイスのボイスアクティブ化特徴を組み込むことによって、より安全に車両の特徴にアクセスし得る。さらに、モバイルデバイスを介してリモートで外部デバイスにアクセスすることは、ユーザにとってより好都合であり得る。
【００６０】
複数のメーカーからの車両中の車両テレメトリとインターフェースするための共通プログラマブルプラットフォームの複数の態様について説明してきたが、ここで図10を参照して、本開示の様々な態様が実装され得るコンピューティングシステムの一例について説明する。1または複数の態様によると、図10に示すコンピュータシステムは、本明細書に記載されたいずれかおよび/またはすべての機能、方法、および/または方法ステップを実装、実行、および/または実施するコンピューティングデバイスの一部として組み込まれ得る。たとえば、コンピュータシステム1000は、ハンドヘルドデバイスのいくつかの構成要素を表し得る。ハンドヘルドデバイスは、USBポートおよび/またはディスプレイユニットなどの、入力感覚ユニット(input sensory unit)をもつ任意のコンピューティングデバイスであり得る。ハンドヘルドデバイスの例には、これに限定されないが、ビデオゲームコンソール、タブレット、スマートフォン、テレビ、およびモバイルデバイスがある。一実施形態では、システム1000は、上記で説明した方法のうちの任意のものを実施するように構成される。図10は、本明細書で説明する様々な他の実施形態によって提供される方法を実行し得、かつ/あるいは、ホストコンピュータシステム、リモートキオスク/端末、販売時点管理(point-of-sale)デバイス、モバイルデバイス、セットトップボックスおよび/またはコンピュータシステムとして機能し得る、コンピュータシステム1000の一実施形態の概略図を与える。図10は、様々な構成要素を一般的に図示することのみを意図したものであり、これらの構成要素のいずれかまたはすべてが適宜に利用され得る。したがって、図10は、個別のシステム要素が、比較的分離方式でまたは比較的より一体方式で、どのように実装され得るかを広範囲に示している。
【００６１】
コンピュータシステム1000は、バス1005を介して電気的に結合され得る(あるいはその他の様式で、適宜、通信し得る)ハードウェア要素を含むように示されている。これらのハードウェア要素は、限定はしないが、1つまたは複数の汎用プロセッサおよび/または1つまたは複数の専用プロセッサ(デジタル信号処理チップ、グラフィックスアクセラレーションプロセッサ、および/または同様のものなど)を含む、1つまたは複数のプロセッサ1010、限定はしないが、カメラ、ワイヤレス受信機、ワイヤレスセンサー、マウス、キーボード、および/または同様のものを含むことができる、1つまたは複数の入力デバイス1015、および限定はしないが、表示ユニット、プリンタ、および/または同様のものを含むことができる、1つまたは複数の出力デバイス1020を含み得る。いくつかの実施形態では、1つまたは複数のプロセッサ1010は、図3A、図3B、図4、図5A、図5B、図5C、図5D、図6A、図6B、図6C、図6D、図7A、図7B、図8A、図8B、および図9に関して上記で説明した機能のサブセットまたはすべてを実行するように構成され得る。プロセッサ1010は、たとえば、一般のプロセッサ、および/またはアプリケーションプロセッサを含み得る。いくつかの実施形態では、プロセッサは、視覚追跡デバイス入力およびワイヤレスセンサー入力を処理する要素に統合され得る。
【００６２】
コンピュータシステム1000は、1つまたは複数の非一時的ストレージデバイス1025をさらに含むこと(および/またはそれらと通信すること)ができ、非一時的ストレージデバイス1025は、限定はしないが、ローカルおよび/もしくはネットワークアクセス可能な記憶装置を含むことができ、ならびに/または限定はしないが、プログラム可能、フラッシュ更新可能などとすることができる、ディスクドライブ、ドライブアレイ、光ストレージデバイス、ランダムアクセスメモリ(「RAM」)および/もしくはリードオンリメモリ(「ROM」)などのソリッドステートストレージデバイスを含み得る。このようなストレージデバイスは、限定はしないが、様々なファイルシステム、データベース構造体、および/または同様のものを含む、任意の適切なデータストレージを実装するように構成され得る。
【００６３】
コンピュータシステム1000は、通信サブシステム1030も含むことができ、通信サブシステム1030は、限定はしないが、モデム、ネットワークカード(ワイヤレスもしくはワイヤード)、赤外線通信デバイス、ならびに/または(Bluetooth(登録商標)デバイス、802.11デバイス、WiFiデバイス、WiMaxデバイス、セルラー通信設備などの)ワイヤレス通信デバイスおよび/もしくはチップセットなどを含むことができる。通信サブシステム1030は、(一例を挙げると、下で説明するネットワークなど)ネットワーク、他のコンピュータシステム、および/または本明細書で説明した任意の他のデバイスとのデータの交換を可能にし得る。多くの実施形態では、コンピュータシステム1000は、上記で説明したようにRAMまたはROMデバイスを含み得る非一時的作業メモリ1035をさらに含むことになる。
【００６４】
コンピュータシステム1000は、本明細書で説明するように、オペレーティングシステム1040、デバイスドライバ、実行可能ライブラリ、ならびに/または、様々な実施形態によって提供されるコンピュータプログラムを含み得る、かつ/もしくは、他の実施形態によって提供される方法を実装しシステムを構成するように設計され得る、1つまたは複数のアプリケーションプログラム1045などの他のコードを含む、作業メモリ1035内に現在配置されているものとして図示されたソフトウェア要素を含むこともできる。単に例として、たとえば図7Aおよび図7Bに関して説明したような、上述の方法に関して説明した1つまたは複数の手順は、コンピュータ(および/または、コンピュータ内のプロセッサ)によって実行可能なコードおよび/または命令として実装することができ、次いで、ある態様では、そのようなコードおよび/または命令は、説明した方法による1つまたは複数の動作を実行するために、汎用コンピュータ(または他のデバイス)を構成および/または適合するために使用され得る。プロセッサ1010、メモリ1035、オペレーティングシステム1040、および/またはアプリケーションプログラム1045は、上記で説明したように、プログラマブルプラットフォームを含み得、かつ/または図7Aおよび図7Bに関して説明したブロックのいずれかまたはすべてを実施するために使用され得る。
【００６５】
これらの命令および/またはコードのセットは、上で説明したストレージデバイス1025などのコンピュータ可読記憶媒体上に記憶され得る。場合によっては、記憶媒体は、コンピュータシステム1000などのコンピュータシステム内に組み込まれ得る。他の実施形態では、ストレージ媒体が、命令/コードを記憶された汎用コンピュータをプログラム、構成、および/または適用するために使用され得るように、ストレージ媒体は、コンピュータシステムから分離され得(たとえば、コンパクトディスクなどの取外し可能媒体)、かつ/またはインストールパッケージ内に備えられ得る。これらの命令は、コンピュータシステム1000によって実行可能な実行可能コードの形態をとり得、ならびに/または(たとえば、様々な一般に入手可能なコンパイラ、インストールプログラム、圧縮/解凍ユーティリティなどのいずれかを使用した)コンピュータシステム1000上でのコンパイル時および/またはインストール時に実行可能コードの形態をとるソースコードおよび/もしくはインストール可能コードの形態をとり得る。
【００６６】
大幅な変形が、特定の要件に従って行われ得る。たとえば、カスタマイズされたハードウェアもまた、使用されることがあり、および/または特定の要素が、ハードウェア、ソフトウェア(アプレットなどのポータブルソフトウェアを含む)、または両方で実装されることもある。さらに、ネットワーク入力/出力デバイスなどの他のコンピューティングデバイスへの接続が、使用され得る。
【００６７】
いくつかの実施形態は、本開示による方法を実行するために、(コンピュータシステム1000など)コンピュータシステムを使用し得る。たとえば、説明した方法の手順のうちのいくつかまたはすべては、作業メモリ1035に含まれる(オペレーティングシステム1040、および/またはアプリケーションプログラム1045などの他のコード内に組み込まれ得る)1つまたは複数の命令の1つまたは複数のシーケンスを実行しているプロセッサ1010に応答して、コンピュータシステム1000によって実行され得る。そのような命令は、ストレージデバイス1025のうちの1つまたは複数など、別のコンピュータ可読媒体から作業メモリ1035内に読み込まれ得る。単に例として、作業メモリ1035に含まれる命令のシーケンスの実行は、プロセッサ1010に本明細書で説明した方法、たとえば図7Aおよび図7Bに関して説明した方法の、1つまたは複数の手順を実行させ得る。
【００６８】
本明細で使用する「機械可読記録媒体」および「コンピュータ可読記録媒体」という用語は、機械を特定の方式で動作させるデータを与えることに関与する任意の媒体を指す。コンピュータシステム1000を使用して実装される一実施形態では、様々なコンピュータ可読記録媒体が、実行のためにプロセッサ1010に命令/コードを与えることに関与し得、かつ/または(たとえば、信号など)そのような命令/コードを記憶および/もしくは搬送するために使用され得る。多くの実装形態では、コンピュータ可読記録媒体は、物理的および/または有形のストレージ媒体である。そのような媒体は、限定はしないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む多くの形態をとり得る。不揮発性媒体には、たとえば、ストレージデバイス1025などの光ディスクおよび/または磁気ディスクが含まれる。揮発性媒体には、限定はしないが、作業メモリ1035などのダイナミックメモリが含まれる。伝送媒体には、限定はしないが、バス1005を構成する電線を含む、同軸ケーブル、銅線、および光ファイバー、ならびに通信サブシステム1030の様々な構成要素(および/または通信サブシステム1030が他のデバイスとの通信を行う際に使用する媒体)が含まれる。したがって、伝送媒体はまた、(限定はしないが、無線波通信および赤外線データ通信中に生成されるような無線波、音波、および/または光波を含めて)波の形態をとり得る。
【００６９】
一般的な形態の物理的および/または有形コンピュータ可読記録媒体には、たとえば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、もしくは任意の他の磁気媒体、CD-ROM、任意の他の光媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理的媒体、RAM、PROM、EPROM、FLASH-EPROM、任意の他のメモリチップもしくはカートリッジ、後に説明するような搬送波、または、コンピュータが命令および/もしくはコードを読み取ることができる任意の他の媒体が含まれる。
【００７０】
様々な形態のコンピュータ可読記録媒体は、実行のためにプロセッサ1010に1つまたは複数の命令の1つまたは複数のシーケンスを搬送することに関与し得る。単に例として、命令は、最初に、リモートコンピュータの磁気ディスクおよび/または光ディスク上で搬送され得る。リモートコンピュータは、命令をその動的メモリ内にロードし、コンピュータシステム1000によって受信および/または実行されるべき伝送媒体上の信号として、命令を送信し得る。電磁信号、音響信号、光信号などの形態であり得るこれらの信号は、すべて、本発明の様々な実施形態による、命令が符号化され得る搬送波の例である。
【００７１】
通信サブシステム1030(および/またはその構成要素)は、一般に信号を受信し、次いで、バス1005は、信号(および/または、信号によって搬送されるデータ、命令など)を作業メモリ1035に搬送することができ、プロセッサ1010は、作業メモリ1035から命令を取り出し、実行する。作業メモリ1035によって受信された命令は、オプションで、プロセッサ1010による実行の前または後のいずれかに、非一時的ストレージデバイス1025上に記憶され得る。
【００７２】
図7Aおよび図7Bにおいて説明した方法は、図10の様々なブロックによって実施され得る。たとえば、プロセッサ1010は、図800中のブロック、図1000中のブロック、図1300中のブロックおよび図1500中のブロックの機能のいずれかを実行するように構成され得る。ストレージデバイス1025は、本明細書で説明するブロックのいずれか内に追跡目的のために使用される記録オブジェクトまたは画像などの中間結果を記憶するように構成され得る。メモリ1035は同様に、本明細書で説明するブロックのいずれかにおいて説明する機能のいずれかを実行するのに必要な画像またはオブジェクトを記録するように構成され得る。RAMなどの一時または揮発性メモリに記憶される必要があり得る結果はまた、メモリ1035中に含まれ得、ストレージデバイス1025に記憶され得る中間結果と同様の任意の中間結果を含み得る。入力デバイス1015は、車両、センサーポート、または図1〜図9のいずれかにおいて説明した他の周辺機器から入力を受け入れるように構成され得る。出力デバイス1020は、図1〜図9のいずれかにおいて説明したアプリケーションおよび/またはブロックの出力1050である追跡結果を出力または表示するように構成され得る。
【００７３】
上記で説明した方法、システム、およびデバイスは例である。様々な実施形態は、適宜に、様々な手順または構成要素を、省略、置換、または追加し得る。たとえば、代替構成では、説明した方法は、説明した順序とは異なる順序で実行され得、かつ/または、様々なステージが追加、省略、および/もしくは組み合わされ得る。また、いくつかの実施形態に関して説明する特徴が、様々な他の実施形態と組み合わされ得る。実施形態の様々な態様および要素が同様に組み合わされ得る。また、技術は発展し、したがって、要素の多くは、本開示の範囲をそれらの特定の例に限定しない例である。
【００７４】
実施形態の完全な理解を与えるために、説明に具体的な詳細を与える。しかしながら、実施形態は、これらの具体的な詳細なしに実施され得る。たとえば、実施形態が不明瞭になることを避けるために、よく知られている回路、プロセス、アルゴリズム、構造、および技法を、不必要な詳細を記載せずに示した。この説明は、例示的な実施形態のみを提供し、本発明の範囲、適用可能性、または構成を限定しようとするものではない。むしろ、これらの実施形態の上述の説明は、本発明の実施形態を実装することを可能にする説明を当業者に提供することになる。本発明の趣旨および範囲から逸脱することなく、要素の機能および構成に様々な変更が行われ得る。
【００７５】
また、いくつかの実施形態を、フロー図またはブロック図として示すプロセスとして説明した。各々は動作を逐次プロセスとして説明し得るが、動作の多くは並行してまたは同時に実行され得る。加えて、動作の順序は並び替えられ得る。プロセスは、図に含まれていない追加のステップを有し得る。さらに、本方法の実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実装されるとき、関連するタスクを実行するプログラムコードまたはコードセグメントは、記憶媒体などのコンピュータ可読記録媒体に記憶され得る。プロセッサは関連するタスクを実行し得る。
【００７６】
いくつかの実施形態について説明してきたが、様々な変更、代替構造、および均等物は、本開示の趣旨から逸脱することなく使用され得る。たとえば、上記の要素は、単により大きいシステムの構成要素であり得、他のルールは、本発明の適用よりも優先するか、あるいは本発明の適用を変更し得る。また、上記の要素が考慮される前に、その間に、またはその後に、いくつかのステップが行われ得る。したがって、上記の説明は、本開示の範囲を限定しない。
【００７７】
様々な例について説明した。これらの例および他の例は、以下の特許請求の範囲内に入る。
【符号の説明】
【００７８】
100  自動車キャビン、高級モデル
102  ブランド「yy」、ブランド
104  デジタルタッチスクリーン、タッチスクリーン、デジタルディスプレイ
200  自動車キャビン、車両
202  ブランド「ABCターボ」、ブランド
204  デジタルディスプレイ、ディスプレイ
206  バッテリーレベル
300  第1の車両、車両
302  ディスプレイ
304A  読取り値、温度読取り値、車両テレメトリデータ、車両テレメトリ
304B  読取り値、電圧計読取り値、車両テレメトリデータ、車両テレメトリ
304C  読取り値、HP読取り値、車両テレメトリデータ、車両テレメトリ
304D  読取り値、オイルゲージ読取り値、車両テレメトリデータ、車両テレメトリ
304E  読取り値、燃料読取り値、車両テレメトリデータ、車両テレメトリ
304F  読取り値、タイヤ空気圧ゲージ、車両テレメトリデータ、車両テレメトリ
306  モバイルデバイス
308  コンシューマ/ドライバ、ユーザ
350  車両、第2の車両
352  ディスプレイ
354A  読取り値、HPディスプレイ、自動車テレメトリ
354B  読取り値、回転数RPMディスプレイ、自動車テレメトリ
354C  読取り値、インテークバー、自動車テレメトリ
354D  読取り値、冷却液ディスプレイ、自動車テレメトリ
400  ディスプレイ、APIレイヤ
402A  ディスプレイ
402B  ディスプレイ
404A  ディスプレイ
404B  ディスプレイ
406A  ディスプレイ
406B  ディスプレイ
408A  ディスプレイ
408B  ディスプレイ
408C  ディスプレイ
410  ディスプレイ
412  ディスプレイ
414A  ディスプレイ
414B  ディスプレイ
414C  ディスプレイ
416  ディスプレイ
418A  ディスプレイ
418B  電子機器警報センサー
420  ディスプレイ
422  ディスプレイ
500  ディスプレイAPIページ、APIディスプレイ
502  燃料計および前回ガソリン補給警告アプリ
504  車両テレメトリ
506  ディスプレイメニュー、メニュー
508  ディスプレイメニュー
525  グラフィカルインターフェース
527  メニュー
529  メニュー
531  メニュー
550  グラフィカルインターフェース
552  サブメニュー
554  サブメニュー
556  サブメニュー
558  サブメニュー
575  デバッギングインターフェース
577  メニュー
800  モバイルデバイス
802  グラフィカルインターフェース、アプリケーション
852  グラフィカルインターフェース、アプリケーション
910  ディスプレイ、アプリケーション
920  グラフィカルインターフェース、アプリケーション、ディスプレイ
922  カーソル
924  プロット線
930  グラフィカルインターフェース、インターフェース、アプリケーション
940  グラフィカルインターフェース、アプリケーション
942  アラームまたは信号
944  メッセージ
946  メッセージ
1000  コンピュータシステム、システム
1005  バス
1010  プロセッサ
1015  入力デバイス
1020  出力デバイス
1025  非一時的記憶デバイス、ストレージデバイス
1030  通信サブシステム
1035  非一時的作業メモリ、作業メモリ、メモリ
1040  オペレーティングシステム
1045  アプリケーションプログラム
1050  ブロックの出力
【図１】
0006261599.tif 000002
【図２】
0006261599.tif 000003
【図３Ａ】
0006261599.tif 000004
【図３Ｂ】
0006261599.tif 000005
【図４】
0006261599.tif 000006
【図５Ａ】
0006261599.tif 000007
【図５Ｂ】
0006261599.tif 000008
【図５Ｃ】
0006261599.tif 000009
【図５Ｄ】
0006261599.tif 000010
【図６Ａ】
0006261599.tif 000011
【図６Ｂ】
0006261599.tif 000012
【図６Ｃ】
0006261599.tif 000013
【図６Ｄ】
0006261599.tif 000014
【図７Ａ】
0006261599.tif 000015
【図７Ｂ】
0006261599.tif 000016
【図８Ａ】
0006261599.tif 000017
【図８Ｂ】
0006261599.tif 000018
【図９】
0006261599.tif 000019
【図１０】
0006261599.tif 000020