(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-06
(54)【発明の名称】仮名ロギング及び指令を利用した車両用プログラミング
(51)【国際特許分類】
G06Q 10/20 20230101AFI20241029BHJP
G06Q 10/04 20230101ALI20241029BHJP
【FI】
G06Q10/20
G06Q10/04
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024523589
(86)(22)【出願日】2022-10-20
(85)【翻訳文提出日】2024-06-12
(86)【国際出願番号】 US2022047300
(87)【国際公開番号】W WO2023069635
(87)【国際公開日】2023-04-27
(32)【優先日】2021-10-21
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】510192916
【氏名又は名称】テスラ,インコーポレイテッド
(74)【代理人】
【識別番号】110000659
【氏名又は名称】弁理士法人広江アソシエイツ特許事務所
(72)【発明者】
【氏名】グティエレス,トラルフ
(72)【発明者】
【氏名】ポトハスト,ジェームス
【テーマコード(参考)】
5L010
【Fターム(参考)】
5L010AA04
5L010AA20
(57)【要約】
本開示は、個々の車両とネットワークサービスとの間のデータ通信の管理を利用した車両の予測に関する。ネットワークサービスは、仮名識別子を利用して、選択された車両とリモートサービスとの間のデータ通信の管理を容易にすることができる。例として、仮名識別子は、車両によって生成された、又は車両上に構成された少なくとも半固有の識別子に対応することができる。仮名の生成/構成は、ネットワークサービスが車両、車両所有者、車両ユーザなどに関連付けられたVINなどの追加の識別子を関連付けないように実施される。ネットワークサービスは、車両データを仮名で受信し、車両の予測を実行することができる。ネットワークサービスは、仮名識別子に関連付けられた指令を用いて車両の予測を投稿することができる。車両は、仮名識別子を車両の仮名識別子と照合することによって、1つ以上の指令を識別することができる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
車両予測を提供するためのシステムであって、
複数の車両から、仮名識別子に関連付けられた車両データを受信し、
前記車両データを車両データストアへ記憶し、
前記記憶された車両データを、前記記憶された車両データに関連付けられた前記車両の予測のために分析し、
前記車両の前記予測に対応した仮名識別子で、車両指令の発行の要求を受信し、
前記要求に関連付けられた仮名識別子のセットを含む車両指令を投稿する
ように構成された、車両データサービスを実施するためのコンピュータ実行可能命令を実行するための1つ以上のコンピューティングプロセッサ及びメモリを備える、システム。
【請求項2】
前記車両の前記予測は、
基準に基づいて前記車両をグループ化することと、
前記グループ内の前記車両から受信した車両データを監視することと、
前記グループ内の車両に対して前記車両予測を実行することと、
前記仮名識別子に関連付けられた車両予測結果を生成することと、を含む、請求項1に記載のシステム。
【請求項3】
前記車両予測は、機械学習構成要素を使用して実行され、前記機械学習構成要素は、少なくとも車両予測アルゴリズム及び訓練アルゴリズムを含む、請求項2に記載のシステム。
【請求項4】
前記車両指令は、診断、修理、又は更新プロセスなど、前記車両に関連付けられた前記車両指令の識別に応答して前記車両によって実行されるコマンドを含む、請求項1に記載のシステム。
【請求項5】
前記仮名識別子は、前記複数の車両の各車両に関連付けられた様々な一意の又は半一意の識別子のうちの1つに対応する、請求項1に記載のシステム。
【請求項6】
前記複数の車両の各車両は、前記車両データを取得、生成、及び維持するための複数のセンサ、構成要素、及びデータストアを含む、請求項1に記載のシステム。
【請求項7】
前記投稿された車両指令は、前記車両指令及び関連する仮名識別子のセットを公開している、請求項1に記載のシステム。
【請求項8】
前記複数の車両の各車両は、管理構成要素であって、
各々が個々の車両に関連付けられた仮名識別子の管理を実行し、
前記車両データサービスへの車両データ送信を実行し、
前記車両データサービスに対して車両指令を要求する
ように構成された管理構成要素を実装するためのコンピュータ実行可能命令を実行するためのプロセッサ及びメモリに関連付けられた1つ以上の外部コンピューティングデバイスを備える、請求項1に記載のシステム。
【請求項9】
車両予測を提供するためのシステムであって、
ネットワークサービスに実装され、車両データを記憶するように構成された車両データストアにアクセスすることと、
記憶された車両データを、前記記憶された車両データに関連付けられた複数の車両の予測のために分析することと、
前記複数の車両の前記予測に対応した仮名識別子で、車両指令の発行の要求を受信することと、
前記要求に関連付けられた仮名識別子のセットを含む車両指令を投稿することと、を含む、システム。
【請求項10】
前記車両の前記予測は、
基準に基づいて前記車両をグループ化することと、
前記グループ内の前記車両から受信した車両データを監視することと、
前記グループ内の車両に対して前記車両予測を実行することと、
前記仮名識別子に関連付けられた車両予測結果を生成することと、を含む、請求項9に記載のシステム。
【請求項11】
前記車両予測は、機械学習構成要素を使用して実行され、前記機械学習構成要素は、少なくとも車両予測アルゴリズム及び訓練アルゴリズムを含む、請求項10に記載のシステム。
【請求項12】
前記車両データは前記複数の車両から受信され、前記車両データは仮名識別子に関連付けられている、請求項9に記載のシステム。
【請求項13】
前記車両指令は、診断、修理、又は更新プロセスなど、前記車両に関連付けられた前記車両指令の識別に応答して前記車両によって実行されるコマンドを含む、請求項9に記載のシステム。
【請求項14】
前記仮名識別子は、前記複数の車両の各車両に関連付けられた様々な一意の又は半一意の識別子のうちの1つに対応する、請求項9に記載のシステム。
【請求項15】
前記複数の車両の各車両は、前記車両データを取得、生成、及び維持するための複数のセンサ、構成要素、及びデータストアを含む、請求項9に記載のシステム。
【請求項16】
前記投稿された車両指令は、前記車両指令及び関連する仮名識別子のセットを公開している、請求項9に記載のシステム。
【請求項17】
前記複数の車両の各車両は、管理構成要素であって、
各々が個々の車両に関連付けられた仮名識別子の管理を実行し、
前記ネットワークサービスへの車両データ送信を実行し、
前記ネットワークサービスに対して車両指令を要求する
ように構成された管理構成要素を実装するためのコンピュータ実行可能命令を実行するためのプロセッサ及びメモリに関連付けられた1つ以上の外部コンピューティングデバイスを備える、請求項9に記載のシステム。
【請求項18】
車両の予測を提供するためのコンピュータ実装の方法であって、
各々が個々の車両に関連付けられた仮名識別子の管理を車両によって実行するステップと、
前記車両によって、前記車両データサービスへの車両データ送信を実行するステップと、
車両データサービスによって、複数の車両から車両データを受信するステップと、
前記車両データサービスによって、前記車両データを車両データストアへ記憶するステップと、
前記車両データサービスによって、前記記憶された車両データを、前記記憶された車両データに関連付けられた車両の予測のために分析するステップと、
前記車両データサービスによって、前記仮名識別子による車両指令の発行の要求を受信するステップであって、前記車両指令は前記車両のうちの1台以上から要求される、受信するステップと、
前記要求に関連付けられた仮名識別子のセットを含む車両指令を投稿するステップと、を含む、コンピュータ実装の方法。
【請求項19】
前記車両の前記予測は、
基準に基づいて前記車両をグループ化することと、
前記グループ内の前記車両から受信した車両データを監視することと、
前記グループ内の車両に対して前記車両予測を実行することと、
前記仮名識別子に関連付けられた車両予測結果を生成することと、を含む、請求項18に記載のコンピュータ実装の方法。
【請求項20】
前記車両予測は、機械学習構成要素を使用して実行され、前記機械学習構成要素は、少なくとも車両予測アルゴリズム及び訓練アルゴリズムを含む、請求項19に記載のコンピュータ実装の方法。
【請求項21】
前記車両指令は、診断、修理、又は更新プロセスなど、前記車両に関連付けられた前記車両指令の識別に応答して前記車両によって実行されるコマンドを含む、請求項18に記載のコンピュータ実装の方法。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、その全体があらゆる目的のために参照により本明細書に組み込まれる、2021年10月21日に出願された「VEHICLE PROGNOSTICS UTILIZING PSUEDONYMOUS LOGGING AND DIRECTIVES」と題する米国仮特許出願第63/262856号の非仮出願であり、その優先権を主張する。
【発明の概要】
【0002】
概略的には、コンピューティングデバイス及び通信ネットワークを利用して、データ及び/又は情報を交換することができる。一般的なアプリケーションでは、コンピューティングデバイスは、通信ネットワークを介して別のコンピューティングデバイスに対してコンテンツを要求することができる。例えば、パーソナルコンピューティングデバイスにおけるユーザが、ブラウザアプリケーションを利用して、ネットワーク(例えば、インターネット)を介してサーバコンピューティングデバイスに対してコンテンツページ(例えば、ネットワークページ、ウェブページなど)を要求することができる。そのような実施形態では、ユーザコンピューティングデバイスはクライアントコンピューティングデバイスと呼ぶことができ、サーバコンピューティングデバイスはコンテンツプロバイダと呼ぶことができる。別の実施形態では、ユーザコンピューティングデバイスは、情報を収集又は生成し、収集された情報を、更なる処理又は分析のためにサーバコンピューティングデバイスに提供することができる。
【0003】
概略的には、電気自動車、燃焼機関車、ハイブリッド車などの様々な車両を、車両に関する情報を収集するように構成することができる。いくつかのシナリオでは、整備事業者が、車両性能特性の監視もしくは計算などのために、動作パラメータ、センサ値、又は他の車両情報にアクセスすることを望む場合がある。他のシナリオでは、整備事業者が、動作の実施を要求するために1人以上の車両ユーザ又は所有者に連絡することを望む場合がある。
【図面の簡単な説明】
【0004】
本開示は、本開示を例示することを意図しているが本開示を限定することは意図していないいくつかの実施形態の図面を参照して本明細書で説明される。本明細書に組み込まれ、本明細書の一部を構成する添付の図面は、本明細書に開示された概念を例示するためのものであり、縮尺通りではない場合があることを理解されたい。
【
図1】本出願の1つ以上の態様による、ネットワークサービスとの車両通信を提供するための例示的な環境のブロック図である。
【0005】
【
図2】本出願の1つ以上の態様による、車両に対応する環境を示す図である。
【0006】
【
図3A】本出願の態様による、管理構成要素を実装するための例示的なアーキテクチャを示す図である。
【0007】
【
図3B】本出願の態様による、車両データサービスを実装するための例示的なアーキテクチャを示す図である。
【0008】
【
図4】一実施形態による、仮名を作成するためのネットワークサービスと個々の車両との対話の例示的な環境のブロック図である。
【0009】
【
図5】一実施形態による、1つ以上の仮名識別子に基づく車両データの送信のためのネットワークサービスと個々の車両との対話の例示的な環境のブロック図である。
【0010】
【
図6A】一実施形態による、車両指令の送信のためのネットワークサービスと個々の車両との対話の例示的な環境のブロック図である。
【0011】
【
図6B】車両データを処理するためのネットワークサービスと個々の車両との間の例示的な環境、及びその後の1つ以上の仮名識別子による車両指令の送信のブロック図である。
【0012】
【
図7】車両指令の送信のためのネットワークサービス120とコンピューティングデバイス130との代替実施形態の対話の例示的な環境のブロック図である。
【0013】
【
図8】本明細書に開示する1つ以上の実施形態による車両仮名管理のためのルーチンを説明するフローチャートである。
【0014】
【
図9】本明細書に開示する1つ以上の実施形態による車両データ送信のためのルーチンを説明するフローチャートである。
【0015】
【
図10】本明細書に開示する1つ以上の実施形態による車両指令要求処理のためのルーチンを説明するフローチャートである。
【0016】
【
図11】本明細書に開示する1つ以上の実施形態による車両指令要求処理のためのルーチンを説明するフローチャートである。
【発明を実施するための形態】
【0017】
概略的には、本開示の1つ以上の態様が、車両データに基づいて車両によって実施される動作の構成及び管理に関する。例として、本出願の態様は、個々の車両とネットワークサービスプロバイダとの間のデータ通信の管理を含む。例示的には、車両データは、車両動作情報、車両パラメータ、センサ構成情報、センサ値、環境情報などを含むことができるが、これらに限定されない。他の例では、本出願の態様は、ネットワークサービスプロバイダによって生成された通信に基づいて車両の選択サブセットによって実施される動作又は指令の管理に対応する。本出願の態様は、車両の状態、エラー、もしくは状況の予測を行うため、又はそのような状態、エラー、もしくは状況を車両の保守もしくは修理の一部と見なすための車両データ処理も含む。例示的には、ネットワークサービスが、車両データを受信し、車両の予測を実行する。
【0018】
概略的には、車両情報へのアクセスは、一般に、車両データ及び車両が個人又は車両に固有の識別情報に関連付けられる用途に限定されてきた。例えば、複数のサービスが、製造時に車両に割り当てられた車両識別番号(「VIN」)としての一意の識別子に従って、車両所有権、車両性能データ、車両保守情報などを追跡することができる。従来、車両のVIN番号は、登録所有者の個人情報にも関連付けられている。したがって、そのような実装では、VINに関連付けられた車両データを受信する整備事業者が、受信した全ての動作データ及び性能データを個々のユーザに密接に関連付けることができるように、車両へのVIN番号の密接な関連付けが必要とされる。VINは整備事業者及び車両の両方に知られており、更に所有者に関連付けられているので、車両データ報告及び処理にVIN番号を利用するとプライバシーが保護されなくなる。そのようなシステム/手法は、改ざん又はセキュリティ違反に対して脆弱であり得る。更に、1台以上の車両を整備する必要がある場合、整備事業者が車両に関する情報を識別する必要があり得る。
【0019】
上記の非効率性の少なくとも一部に対処するために、ネットワークサービスプロバイダが、仮名識別子を利用して、選択された車両とリモートサービスとの間のデータ通信の管理を容易にすることができる。例として、仮名識別子は、車両によって生成された、又は車両上に構成された少なくとも半固有の識別子に対応することができる。仮名(偽名、匿名)の生成/構成は、ネットワークサービスプロバイダが車両、車両所有者、車両ユーザなどに関連付けられたVINなどの追加の識別子を関連付けないように実施される。これに関して、個々の仮名識別子は、車両識別情報又はユーザ識別情報との関連付けなしに送信及び処理され得る個々の車両の論理的な汎用識別子を表す。
【0020】
車両が、ネットワークサービスとの双方向通信を確立することができるネットワーク通信機能を有し得る。個々の車両が仮名識別子を生成/構成し、ネットワークサービスに登録する。その後、車両は、仮名識別子に関連付けられた車両データ(例えば、性能測定基準、動作状態、センサ値など)を収集して送信することができる。一方、ネットワークサービスプロバイダは、仮名識別子以外の車両データ(例えば、特定のVIN又は他の識別子)の任意の特定のソースを識別可能とするのに必要な情報なしに、複数の車両の車両データを受信することができる。次いで、ネットワークサービスプロバイダは、収集された車両データを、診断処理、使用処理などの処理に利用可能にすることができる。例示的には、ネットワークサービスは、機械学習又は他のデータ処理技術を利用して、特定の属性を有する車両、例えば故障する可能性があるか又は整備を必要とする可能性があると見なされ得る属性を有する車両を識別することができる。例えば、そのような属性には、使用/摩耗/損傷の蓄積、使用/摩耗/損傷の蓄積率、誤動作、障害、発生中の誤動作の表示などが含まれ得るが、これらに限定されない。機械学習又はデータ処理技術の例には、ニューラルネットワーク、物理ベースのモデル、確率モデル及び方法、統計解析モデルなどが含まれるが、これらに限定されない。
【0021】
いくつかの実施形態では、ネットワークサービスのユーザは、収集された車両データに対応した選択基準を満たす選択車両によって実施される何らかの動作を誘発したい場合がある。例えば、ネットワークサービスプロバイダは、整備要求又は選択基準を満たす車両の診断/補正プロセスの実行の誘発を試みる動作要求を受信することができる。別の例では、ネットワークサービスプロバイダは、選択基準を満たす車両のユーザ/所有者への通知の提供を試みる動作要求を受信することができる。選択基準を満たす収集データは仮名識別子にのみ関連付けられるため、ネットワークサービスは、直接通信などを介して対象車両に通信を直接送信することができない。したがって、ネットワークサービスプロバイダは、何らかの応答動作を実施するように要求された仮名のリストに対応する車両指令を公開することができる。
【0022】
その後、個々の車両は、公開された車両指令リストを仮名でポーリングし、列挙された仮名のいずれかが個々の車両の仮名と一致するかどうかを判定するように構成される。一致する場合、車両は応答動作の実施を引き起こすことができる。例えば、車両は、ネットワークサービスプロバイダへの追加の情報を含む、又は追加の命令を要求する通信を生成することができる。追加の情報又は送信は、ネットワークサービスプロバイダが一致する仮名識別子を追加の送信に関連付けることができないように、仮名識別子を省略することができる。追加の情報は、識別された選択基準に応答して補正動作又は他の整備を識別するための更なる処理を整備事業者が行うことを可能にする車両VIN情報又は他の識別子を含むことができる。補正動作又は他の整備を実施していない残りの車両VINは、通知されるか又は応答コマンドが発行される。更に、整備技術者に、提案された補正動作に関する通知が提供されてもよい。更に、ネットワークサービスは、車両のユーザに関連付けられたモバイルデバイスなどの1つ以上のコンピューティングデバイスと対話して、通知、追加の情報、又は他の情報を提供することができる。
【0023】
いくつかの実施形態では、車両データを利用することによるネットワークサービスは、車両の予測を実行し、指令として車両に提供することができる。例示的には、ネットワークサービスは、車両データを処理し、車両に機械的問題が生じる可能性が高いと予測することができる。例えば、車両データが車両のCAN通信に通信障害があることを示す場合、ネットワークサービスは、通信回路に設置されたMOSFETスイッチが故障していると予測することができる。別の例では、車両の電子部品が頻繁に故障していることを車両データが示す場合、ネットワークサービスは、車両に搭載された12Vバッテリを交換する必要があると予測することができる。
【0024】
いくつかの実施形態では、予測は、機械学習構成要素を利用することによって実行することができる。機械学習構成要素は、予測を実行するための様々なアルゴリズムと、機械学習構成要素を訓練するための訓練アルゴリズムとを含むことができる。例えば、訓練アルゴリズムは、車両の予測のログファイル、及び補正動作を実行した任意の車両を監視し、それに応じて予測アルゴリズムを再訓練することができる。
【0025】
いくつかの実施形態では、予測は、基準に基づいて車両をグループ化することによって実行することができる。例示的には、基準は、同じ又は同様の懸念を有する車両の数に基づくことができ、これらの車両をまとめてグループ化することができる。例えば、基準が100台の車両などの車両の数である場合、ネットワークサービスはこれらの車両をグループ化し、予測を実行することができる。いくつかの実施形態では、ネットワークサービスは、グループから受信した車両データを監視し、予測を実行することができる。例えば、ある車両グループが、これらの車両のバッテリがグループ内にない他の車両よりも速く消耗していることを示す場合、ネットワークサービスは、この車両グループから受信した各車両データを監視することができる。グループ内の車両のうちの1台以上に重大な問題がある場合、グループ内の車両の数が基準を満たしていなくても、ネットワークサービスは予測を実行し、その結果をグループ内の車両のユーザに提供することができる。
【0026】
様々な態様が例示的な実施形態及び特徴の組み合わせに従って説明されるが、当業者は、例及び特徴の組み合わせが本質的に例示的であり、限定するものと解釈されるべきではないことを理解するであろう。より具体的には、本出願の態様は、様々なタイプの車両データ又は車両プロセスに適用可能であり得る。しかしながら、本出願の態様は、必ずしも任意の特定のタイプの車両データ、データ通信、又は車両、所有者/ユーザ、及びネットワークサービスプロバイダ間の例示的な対話への適用に限定されないことが当業者には理解されよう。そのような対話は、限定するものと解釈されるべきではない。
【0027】
図1は、複数の車両がネットワーク接続を介してネットワークサービスと通信するシステム100の例示的な環境のブロック図を示す。システム100は、車両110のセットを接続するネットワーク、ネットワークサービス120、及びコンピューティングデバイス130を備えることができる。構成要素は、別個のスタンドアロン外部コンピューティングデバイスであってもよい1つ以上の外部コンピューティングデバイスによって実装又は実行されるソフトウェアモジュールに対応することができる。したがって、ネットワークサービス120の構成要素は、サービスの論理表現と見なされるべきであり、1つ以上の外部コンピューティングデバイスへの特定の実装を必要としない。
【0028】
図1に示すように、ネットワーク150は、システムのデバイス及びモジュールを接続することができる。ネットワークは、任意の数のデバイスを接続することができる。いくつかの実施形態では、車両110、ネットワークサービス120、及びコンピューティングデバイス130は、ネットワーク150を介してデータ(例えば、1つ以上の通信チャネルの確立)を通信又は交換することができる。いくつかの実施形態では、ネットワークサービス120は、ネットワーク150を介して車両110及びコンピューティングデバイス130にネットワークベースのサービスを提供する。ネットワークサービス120は、ネットワークベースのサービスを実装することができ、仮想化されているか又はベアメタルであり得る、ネットワークアクセス可能なコンピューティングリソース(計算リソース、ストレージリソース、又はネットワーキングリソース、アプリケーション、又はサービスなど)の大きな共有プールを指す。ネットワークサービス120は、顧客コマンドに応答してプログラムによってプロビジョニング及びリリースすることができる構成可能なコンピューティングリソースの共有プールへのオンデマンドネットワークアクセスを提供することができる。これらのリソースは、可変負荷に合わせるために動的にプロビジョニング及び再構成することができる。したがって、「クラウドコンピューティング」又は「ネットワークベースのコンピューティング」の概念は、ネットワークを介してサービスとして配信されるアプリケーションと、それらのサービスを提供するネットワークサービスにおけるハードウェア及びソフトウェアとの両方と考えることができる。
【0029】
いくつかの実施形態では、ネットワーク150は、インターネットを介してネットワークサービス120と安全に通信するローカル・エリア・ネットワークなどの安全なネットワークであってもよい。ネットワーク150は、任意の有線ネットワーク、無線ネットワーク、又はそれらの組み合わせを含むことができる。例えば、ネットワーク150は、パーソナルエリアネットワーク、ローカル・エリア・ネットワーク、ワイドエリアネットワーク、無線放送ネットワーク(例えば、ラジオ又はテレビ用)、ケーブルネットワーク、衛星ネットワーク、携帯電話ネットワーク、又はそれらの組み合わせであってもよい。更なる例として、ネットワーク150は、インターネットなどの様々な異なる当事者によって運用され得る、リンクされたネットワークの公的にアクセス可能なネットワークであってもよい。いくつかの実施形態では、ネットワーク150は、企業又は大学のイントラネットなどのプライベートな又は半プライベートなネットワークであってもよい。ネットワーク150は、例えばグローバル移動体通信システム(GSM)ネットワーク、符号分割多元接続(CDMA)ネットワーク、ロング・ターム・エボリューション(LTE)ネットワーク、5G(5世代無線通信)、又はその他任意のタイプの無線ネットワークのような1つ以上の無線ネットワークを含み得る。ネットワーク150は、インターネット又は他の前述のタイプのネットワークのいずれかを介して通信するためのプロトコル及び構成要素を使用することができる。例えば、ネットワーク150によって使用されるプロトコルは、ハイパーテキスト転送プロトコル(HTTP)、HTTPセキュア(HTTPS)、メッセージキュー・テレメトリ・トランスポート(MQTT)、制約付きアプリケーションプロトコル(CoAP)などを含むことができる。インターネット又は他の前述のタイプの通信ネットワークのいずれかを介して通信するためのプロトコル及び構成要素は、当業者に周知であり、したがって、本明細書ではより詳細には説明しない。
【0030】
いくつかの実施形態では、各個々の車両110は、コンピューティングデバイス130及びネットワーク160に接続される。これらの実施形態では、ネットワーク160は、例えば、1つ以上の直接通信チャネル、ローカル・エリア・ネットワーク、ワイドエリアネットワーク、パーソナルエリアネットワーク、及び/又はインターネットなどの有線ネットワーク及び/又は無線ネットワークの任意の組み合わせを含む。いくつかの実施形態では、車両110とコンピューティングデバイス130との間の通信は、Bluetooth、Bluetooth low energy(「BLE」)、及び/又は近距離無線通信(「NFC」)などの短距離通信プロトコルを介して実行されてもよい。いくつかの実施形態では、ネットワーク160は、ネットワーク150のバックアップネットワークとして利用することができる。例えば、車両110とネットワークサービス120との間の通信が切断又は中断された場合、通信は、コンピューティングデバイス130とネットワークサービス120との間のネットワークを利用することによって実行することができる。いくつかの実施形態では、ネットワーク160を利用することによって車両データを周期的に同期させることができる。いくつかの実施形態では、各コンピューティングデバイス130は、複数の車両110とのネットワーク160を確立することができる。
【0031】
いくつかの実施形態では、ネットワーク150、160は、同じ通信プロトコル、サービス、ハードウェアなどの一部又は全てを含むことができる。したがって、本明細書の説明は、ネットワーク160を介した車両110とコンピューティングデバイス140との間の通信を説明することができ、車両110、ネットワークサービス120、サードパーティサービスプロバイダ130、及びコンピューティングデバイス140の間の通信はネットワーク150を介して発生し得るが、デバイス及び/又はネットワークベースのサービスの通信は、このようには限定されない。本明細書で説明する様々な通信プロトコルは単なる例であり、本出願はこれらに限定されない。
【0032】
いくつかの実施形態では、コンピューティングデバイス130(例えば、ユーザデバイスとも呼ばれる)は、デスクトップ、ラップトップ又はタブレットコンピュータ、パーソナルコンピュータ、タブレットコンピュータ、ウェアラブルコンピュータ、サーバ、携帯情報端末(PDA)、ハイブリッドPDA/携帯電話、携帯電話、スマートフォン、セットトップボックス、音声コマンドデバイス、デジタルメディアプレーヤなどの任意のコンピューティングデバイスであってもよい。いくつかの実施形態では、コンピューティングデバイス130は、ユーザが本明細書で説明するように対話型ユーザインターフェースにアクセスし、画像、分析、又は集約データなどを閲覧することを可能にするアプリケーション(例えば、ブラウザ、スタンドアロンアプリケーションなど)を実行することができる。様々な実施形態において、コンピューティングデバイス130のユーザは、様々なデバイスを介して車両及び/又はネットワークサービスと対話することができる。そのような対話は、典型的には、対話型グラフィカルユーザインターフェース又は音声コマンドを介して達成することができるが、代わりに、そのような対話が、コマンドライン及び/又は他の手段を介して達成されてもよい。
【0033】
例示的には、ネットワークサービス120は、本出願の態様で使用される場合、車両110及び/又はコンピューティングデバイス130から受信したデータに応答して機能を提供することができる車両データサービス122を含むことができる。いくつかの実施形態では、車両は、特定の車両に関連付けられた仮名識別子を用いて車両データを車両データサービス122に定期的に送信する。これらの実施形態では、車両データサービス122は、車両から受信した車両データを処理し、指令を提供することができる。例えば、車両データサービス122は、各車両が1つの仮名識別子に関連付けられている複数の車両110から車両データを受信する。次いで、車両データサービス122は、車両データを処理し、指令ごとの仮名識別子を用いて指令を投稿する。ネットワークサービス120は、処理されたデータ及び/又は複数のデータから受信した車両データを記憶するように構成された車両データストア124を更に含むことができる。いくつかの実施形態では、車両データストア124は、任意のコンピュータ可読記憶媒体及び/又はデバイス(あるいはデータ記憶媒体及び/又はデバイスの集合)を含むことができる。データストアの例には、光ディスク(例えば、CD-ROM、DVD-ROM)、磁気ディスク(例えば、ハードディスク、フロッピーディスク)、メモリ回路(例えば、ソリッドステートドライブ、ランダムアクセスメモリ(RAM))などが含まれるが、これらに限定されない。車両データストア124の別の例は、遠隔アクセス可能であってもよく、必要に応じて迅速にプロビジョニングされてもよい物理データストレージデバイスの集合(一般に「クラウド」ストレージと呼ばれる)を含むホスト型ストレージ環境である。ネットワークサービスは、簡略化された論理形式で表され、ネットワークサービスに関連付けられた機能を提供するために実装され得る物理的なソフトウェア構成要素及びハードウェア構成要素の全てを反映するわけではない。
【0034】
車両110の各々は、複数の通信媒体及び通信プロトコルのうちの1つを介した対話を容易にする、ハードウェア及びソフトウェアを含む通信機能を含むことができる。より具体的には、車両は、動作データを含む車両データを取得、生成、及び維持するための複数のセンサ、構成要素、及びデータストアを含む。いくつかの実施形態では、構成要素によって提供される情報は、コントローラ、論理ユニット、プロセッサなどが、1つ以上のカメラセンサからの入力を利用して出力を提供する(例えば、生のカメラ画像データの処理及び生のカメラ画像情報の処理に対応した出力を生成する)ことができるビジョンシステムなどからのセンサ情報を処理して追加の情報を生成した処理情報を含むことができる。カメラセンサは、車両の動作状態、環境状態、又は他の情報を判定するためのビジョンシステムに関連付けられたセンサ構成要素であってもよい。他の実施形態では、カメラセンサは、非カメラセンサ構成要素又は複数のカメラセンサを有する車両などのためのセンサ構成要素とは別個であってもよい。更に別の例では、制御構成要素が、測位システム、カレンダーシステム、又は時間ベースのシステムから取得された、あるいはその他の方法で関連付けられた追加の情報を利用することができる。
【0035】
例示の目的で、
図2は、本出願の1つ以上の態様による、車両110に対応する環境を示す。個々の車両は、例示的に、本明細書に記載の本出願の1つ以上の態様を実施するように動作可能な管理構成要素210を含む。一態様では、管理構成要素210は、ネットワークサービスによって車両を識別するために利用される仮名識別子を生成又は構成することができる。仮名識別子は、様々な一意識別子又は半一意識別子のいずれか1つに対応することができる。仮名識別子は、特定のハードウェア構成要素又はソフトウェア構成要素の表現などの車両の属性に基づくことができる。別の例では、仮名識別子は、利用可能な仮名識別子のリストから、ランダム選択などによって選択することができる。(1つ以上の)仮名識別子の生成又は構成は、製造時、製造業者からのリリース時などに行われ得る。簡素化のために、1つ以上の車両は、単一の構成要素として概略的に表されているが、他の車両で説明及び図示する機能の一部を含む。
【0036】
車両110の環境は、本明細書で説明するように、車両の動作又は情報の収集のための入力を提供することができるセンサ212を含むことができる。センサ212の集合は、車両に含まれるか、又は動作中に車両によってアクセス可能な、1つ以上のセンサ又はセンサベースのシステムを含むことができる。センサ212は、車両に組み込まれてもよい。あるいは、センサ212は、物理的接続、無線接続、又はそれらの組み合わせなど、車両に関連付けられたインターフェースによって提供されてもよい。
【0037】
一態様では、センサ212は、物体の検出、検出された物体の属性(例えば、位置、速度、加速度)、環境条件の存在(例えば、雪、雨、氷、霧、煙)などの車両への入力を提供するビジョンシステムを含むことができる。例えば、車両110は、(カメラ、操作センサなどを含む)複数のセンサ212、管理構成要素210、及びデータストア214を含むことができる。この例では、センサ212は、車両動作パラメータをリアルタイム又はほぼリアルタイムで管理構成要素210に提供することができる。管理構成要素210は、ハンドル方向、加速度、制動などの車両の制御に関連するデータを提供することができる。データストア214は、現在の車両動作環境に関する情報を記憶することができる。いくつかの実施形態では、車両110は、定義された車両動作機能に関して、他の従来の検出システムからの支援なしに、又はその代わりに、そのようなビジョンシステムに依存することができる。
【0038】
更に別の態様では、センサ212は、車両の測位情報を決定する際に様々なレベルの精度を可能にする参照情報を外部ソースから取得することができる1つ以上の測位システムを更に含むことができる。例えば、測位システムは、GPSソース、無線ローカル・エリア・ネットワーク(WLAN)アクセスポイント情報ソース、Bluetooth情報ソース、無線周波数識別(RFID)ソースなどからの情報を処理するための様々なハードウェア構成要素及びソフトウェア構成要素を含むことができる。いくつかの実施形態では、測位システムは、複数のソースから情報の組み合わせを取得することができる。例示的には、測位システムは、様々な入力ソースから情報を取得し、車両の測位情報、現在位置の特定の標高を決定することができる。他の実施形態では、測位システムは、走行方向、速度、加速度などの走行関連動作パラメータを決定することもできる。測位システムは、自動運転アプリケーション、運転強化又はユーザ支援ナビゲーションなどを含む複数の目的のための車両の一部として構成されてもよい。例示的には、測位システムは、様々な車両パラメータ又は処理情報の識別を容易にする処理構成要素及びデータを含むことができる。
【0039】
更に別の態様では、センサ212は、ナビゲーション関連情報を識別するための1つ以上のナビゲーションシステムを含むことができる。例示的には、ナビゲーションシステムは、測位システムから測位情報を取得し、標高、道路勾配などの識別された位置に関する特性又は情報を識別することができる。ナビゲーションシステムはまた、車両ユーザに提供されている、又は想定されている方向に基づいて、多車線道路における提案された、又は意図された車線位置を識別することができる。位置特定システムと同様に、ナビゲーションシステムは、自動運転アプリケーション、運転強化又はユーザ支援ナビゲーションなどを含む複数の目的のための車両の一部として構成されてもよい。
【0040】
ローカルリソースは、車両110又は車両によってアクセス可能な(例えば、モバイルコンピューティングデバイスなどの)コンピューティングデバイス130上でホストされ得る1つ以上の管理構成要素210を更に含む。管理構成要素210は、例示的に、様々なセンサ212からの入力にアクセスし、入力されたデータを処理し、処理されたデータを記憶することができる。本出願の目的のために、管理構成要素210を、例示的な態様に関連する1つ以上の機能に関して説明する。例えば、管理構成要素210は、複数のセンサ212から生成された車両データと関連付けることによって、仮名識別子を生成又は構成することができる。管理構成要素210は、通信216を介してコンピューティングデバイス130及びネットワークサービス120と通信することができる。
【0041】
環境は、1つ以上の動作状態に従って使用する様々な動作パラメータに関する情報を提供するように動作可能な様々な追加のセンサ構成要素又は検知システムを更に含むことができる。環境は、通信出力を介したデータの送信、メモリ内のデータの生成、他の処理構成要素への出力の送信など、出力を処理するための1つ以上の制御構成要素を更に含むことができる。
【0042】
ここで
図3Aを参照して、車両110上に管理構成要素210を実装するための例示的なアーキテクチャを説明する。管理構成要素210は、仮名識別子を生成又は構成し、ネットワークサービスで更に使用される車両データの処理及び管理に関連付けられた機能を提供することができる構成要素/システムの一部であってもよい。管理構成要素210は、ネットワークサービスから生成された指令を識別し、指令に基づいて1つ以上の補正動作を実行するように更に構成されてもよい。
【0043】
図3Aのアーキテクチャは、本質的に例示的なものであり、管理構成要素210のための特定のハードウェア構成又はソフトウェア構成を必要とすると解釈されるべきではない。
図3Aに示す管理構成要素210の一般的なアーキテクチャは、本開示の態様を実施するために使用され得るコンピュータハードウェア構成要素及びソフトウェア構成要素の構成を含む。図示のように、管理構成要素210は、処理ユニット302、ネットワークインターフェース308、コンピュータ可読媒体ドライブ306、及び入出力デバイスインターフェース304を含むことができ、それらは全て通信バスを介して互いに通信することができる。管理構成要素210の構成要素は、1つ以上の回路及びソフトウェアモデルを含むことができる物理ハードウェア構成要素であってもよい。
【0044】
ネットワークインターフェース308は、
図1のネットワーク150、160などの1つ以上のネットワーク又はコンピューティングシステムへの接続性を提供することができる。したがって、処理ユニット302は、ネットワークを介して他のコンピューティングシステム又はサービスから情報及び命令を受信することができる。処理ユニット302はまた、メモリ310と通信し、入出力デバイスインターフェースを介して出力情報を更に提供することができる。いくつかの実施形態では、管理構成要素210は、
図3Aに示す構成要素よりも多くの(又はより少ない)構成要素を含むことができる。
【0045】
メモリ310は、処理ユニット302が1つ以上の実施形態を実施するために実行するコンピュータプログラム命令を含むことができる。メモリ310は、一般に、RAM、ROM、又は他の永続的もしくは非一時的メモリを含む。メモリ310は、管理構成要素210の一般的な管理及び動作において処理ユニット302によって使用されるコンピュータプログラム命令を提供するオペレーティングシステム314を記憶することができる。メモリ310は、本開示の態様を実施するためのコンピュータプログラム命令及び他の情報を更に含むことができる。
【0046】
メモリ310は、仮名識別子管理構成要素316を含むことができる。仮名識別子管理構成要素316は、車両データと関連付けることによって仮名識別子を生成又は構成するように構成されてもよい。個々の仮名識別子は、車両識別情報又はユーザ識別情報との関連付けなしに送信及び処理され得る個々の車両の論理的な汎用識別子を表す。仮名識別子は、様々な一意識別子又は半一意識別子のいずれか1つに対応することができる。仮名識別子は、特定のハードウェア構成要素又はソフトウェア構成要素の表現などの車両の属性に基づくことができる。別の例では、仮名識別子は、利用可能な仮名識別子のリストから、ランダム選択などによって選択することができる。(1つ以上の)仮名識別子の生成又は構成は、製造時、製造業者からのリリース時などに行われ得る。仮名識別子は、ユーザ又は外部サービスによる仮名識別子の変更又は破損を防ぐために、暗号化機構又は他のセキュリティ機構に関連付けられ得る。
【0047】
いくつかの実施形態では、仮名識別子管理構成要素316は、車両に対応した仮名識別子を追加することによって車両データを処理する。例えば、仮名識別子管理構成要素316は、車両データのセグメント又は車両データのグループごとに仮名識別子を追加することができる。一実施形態では、仮名識別子は、車両が車両データをネットワークサービスに送信する際に、車両データに自動的に追加される。いくつかの実施形態では、仮名識別子管理構成要素316は、車両に関連付けられた新たな仮名識別子を生成することができる。例えば、車両製造業者、管理者、又は所有者は、仮名識別子を新たな識別子に置き換えるように要求することができる。例えば、既存の仮名識別子情報が一般に公開された場合、車両所有者は仮名識別子をリセットするように要求することができる。この例では、仮名識別子管理構成要素316は、新たな識別子を生成するか、又は車両製造業者(例えば、車両製造業者の認可された整備施設、技術者、又は管理者)から新たな識別子を受け取ることができる。これらの実施形態では、仮名識別子管理構成要素316は、以前の識別子を新たな仮名識別子に関連付けることによって、以前の仮名識別子を追跡し続けることができる。
【0048】
いくつかの実施形態では、仮名識別子管理構成要素316は、車両のVIN番号で実行された任意の車両活動(例えば、整備活動)を識別することができる。例えば、車両がブレーキフルードを変更し、ブレーキフルード記録が車両のVIN番号で記憶されている場合、仮名識別子管理構成要素316は、ブレーキフルード履歴を車両の仮名識別子と関連付けることができる。この例では、仮名識別子管理構成要素316は、車両のVINの公開記録の検索に基づいて車両活動を識別することができる。いくつかの実施形態では、仮名識別子管理構成要素316は、仮名識別子を1つ以上の車両サービス要求、履歴、又は部品に関連付けることができる。例えば、車両が新しい部品を注文した場合、仮名識別子管理構成要素316は、新たな部品を車両の仮名識別子に関連付けることができる。車両活動又は整備の種類又は回数は、本開示によって限定されない。
【0049】
メモリ310は、車両データ管理構成要素318を更に含むことができる。いくつかの実施形態では、車両データ管理構成要素318は車両データを収集することができる。車両データは、車両の性能測定基準、動作状態、センサ値、位置情報などを含むことができるが、これらに限定されない。
図2に示すように、車両は、動作データを含む車両データを取得、生成、及び維持するための複数のセンサ、構成要素、及びデータストアを含む。車両データの収集及び処理は、プログラムされた構成データに基づくか、ユーザからの手動入力に基づくか、又はネットワークサービスからの要求に応答して行われてもよい。
【0050】
メモリ310は、指令識別構成要素320を更に含むことができる。指令識別構成要素320は、ネットワークサービスによって発行された1つ以上の指令を識別するように構成されてもよい。指令は、診断、修理、又は更新プロセスなど、これに応答して車両によって実行される必要があるコマンドを含むことができる。いくつかの実施形態では、指令識別構成要素320は、公開/投稿された車両指令を収集して処理することができる。いくつかの実施形態では、指令識別構成要素320は、車両の特定の仮名識別子と、車両指令に関連付けられた仮名識別子のいずれかとの照合を試みることによって、車両に対応した指令を識別することができる。指令識別構成要素320が車両の特定の仮名識別子と一致しない場合、車両指令は無視されてもよい。
【0051】
メモリ310は、指令処理構成要素322を更に含むことができる。指令処理構成要素322は、車両の仮名識別子に関連付けられた、公開/投稿された車両指令を処理することができる。いくつかの実施形態では、車両指令を処理することで、車両によるいくつかの応答動作が誘発されてもよい。一態様では、指令は、診断、修理、又は更新プロセスなど、これに応答して車両によって実行されるコマンドを含むことができる。1つ以上の動作は、必須と見なされても任意選択と見なされてもよい。別の態様では、車両指令は、整備依頼の電話をスケジューリングするための通知の生成など、車両所有者/ユーザによる行動を誘発する要求を含むことができる。更に、車両は、確認、状況又は通知を、要求に応じて、あるいは車両が確認情報、状況情報又は通知情報を送信するように事前構成されている場合に送信することもできる。いくつかの実施形態では、指令処理構成要素322は、指令を処理することによって、優先度、(例えば、必須、任意、緊急などの)必要な動作のタイプなどに基づいて指令を分類する。指令処理構成要素322は、指令の処理結果に基づいて、車両所有者又は運転者に1つ以上の命令又は推奨を更に提供することができる。
【0052】
ここで
図3Bを参照して、ネットワークサービス120上に車両データサービス122を実装するための例示的なアーキテクチャについて説明する。車両データサービス122は、車両110及び/又はコンピューティングデバイス130に関連付けられた機能を提供することができる構成要素/システムの一部であってもよい。車両データサービス122は、車両データを定期的に受信し、車両データの処理に基づいて車両指令を発行するように構成されてもよい。車両データサービス122は、車両データの処理結果に基づいて、仮名識別子のリストを用いて車両指令を投稿するように構成されてもよい。車両データサービス122はまた、車両データの処理に基づいて車両の予測又は特性評価を実行するように構成されてもよい。
【0053】
図3Bのアーキテクチャは、本質的に例示的なものであり、車両データサービス122のための特定のハードウェア構成又はソフトウェア構成を必要とすると解釈されるべきではない。
図3Bに示す車両データサービス122の一般的なアーキテクチャは、本開示の態様を実施するために使用され得るコンピュータハードウェア構成要素及びソフトウェア構成要素の構成を含む。図示のように、車両データサービス122は、処理ユニット342、ネットワークインターフェース348、コンピュータ可読媒体ドライブ346、及び入出力デバイスインターフェース344を含むことができ、それらは全て通信バスを介して互いに通信することができる。車両データサービス122の構成要素は、1つ以上の回路及びソフトウェアモデルを含むことができる物理ハードウェア構成要素であってもよい。
【0054】
ネットワークインターフェース348は、
図1のネットワーク150、160などの1つ以上のネットワーク又はコンピューティングシステムへの接続性を提供することができる。したがって、コンピューティングデバイス140は、ネットワークを介して他のコンピューティングシステム又はサービスから情報及び命令を受信することができる。車両データサービス122はまた、メモリ350と通信し、入出力デバイスインターフェースを介して出力情報を更に提供することができる。いくつかの実施形態では、車両データサービス122は、
図3Bに示す構成要素よりも多くの(又はより少ない)構成要素を含むことができる。
【0055】
メモリ350は、処理ユニット342が1つ以上の実施形態を実施するために実行するコンピュータプログラム命令を含むことができる。メモリ350は、一般に、RAM、ROM、又は他の永続的もしくは非一時的メモリを含む。メモリ350は、車両データサービス122の一般的な管理及び動作において処理ユニット342によって使用されるコンピュータプログラム命令を提供するオペレーティングシステム352を記憶することができる。
【0056】
メモリ350は、指令識別構成要素354を含むことができる。指令識別構成要素354は、車両指令の発行の要求を仮名で受信することができる。例示的には、車両指令は、受信時に指令識別構成要素354によって誘発される1つ以上の動作及び関連するパラメータに対応する。一態様では、指令は、診断、修理、又は更新プロセスなど、これに応答して車両によって実行されるコマンドを含むことができる。1つ以上の動作は、必須と見なされても任意選択と見なされてもよい。別の態様では、車両指令は、整備依頼の電話をスケジューリングするための通知の生成など、車両所有者/ユーザによる行動を誘発する要求を含むことができる。
【0057】
いくつかの実施形態では、指令識別構成要素354は、車両指令要求を処理する。一態様では、指令識別構成要素354は、認証機構又は許可機構などを介して、車両データの要求が許可されたことを確認することができる。別の態様では、受信された要求は、対象の仮名識別子を明示的に識別しなくてもよいが、(例えば、10万マイルを超える走行距離を有する全ての車両などの)選択基準を提供する。したがって、指令識別構成要素354は、記憶された車両データを照会して、選択基準に関連付けられた適切な仮名識別子を識別することができる。更に別の態様では、選択基準がサイズ閾値を超えない仮名識別子のセットをもたらす場合、ネットワークサービスは、要求を拒否するか、追加の基準を要求するか、又はセットに追加の仮名識別子を含めることができる。前述のように、1つ以上の閾値を超える仮名識別子のセットを有することによって、潜在的なネットワークサービスを軽減することができ、個人又は第三者が、VIN又は他の識別情報を特定の仮名識別子と繰り返し照合することができる。
【0058】
メモリ350は、指令投稿構成要素356を更に含むことができる。指令投稿構成要素356は、指令要求を実施するように要求された仮名識別子のセットを識別する車両指令要求を投稿することができる。いくつかの実施形態では、指令投稿構成要素356は、各車両に車両指令要求を能動的に送信する必要はなく、また仮名識別子ごとに連絡機構(例えば、ネットワークアドレス)を具体的に識別する処理機構を含む必要もない。むしろ、個々の車両が、仮名識別子及び車両指令の公開されたリストについてネットワークサービスに独立して連絡する。
【0059】
いくつかの実施形態では、指令投稿構成要素356は、仮名識別子のリストを用いて車両指令を投稿する。例示的には、個々の車両は、要求を同時に送信するように構成される必要はない。要求の送信は、要求の送信を分散させてネットワークサービスによるネットワーク処理リソースの要件を軽減できるように、ある範囲の時間(例えば、1日を通した任意の時間)でランダム化又は実施することができる。一実施形態では、指令投稿構成要素356は、公開/投稿された車両指令及び関連する仮名識別子のセットを提供することができる。これは、仮名識別子の完全なリスト又は仮名識別子の何らかのソート/フィルタリングされたサブセットの識別を含むことができる。この手法は、車両が仮名識別子を仮名識別子のリストと照合できることを必要とする。別の実施形態では、車両は、対象の仮名識別子を送信することができ、次いで、指令投稿構成要素356は、一致が生じるかどうかを判定することができる。次いで、ネットワークサービスは、通知又は確認で応答することができる。この実施形態は、ネットワークサービスと車両との間で送信されるデータ量を最小限に抑えることができ、リストを処理して潜在的な一致を識別するための車両の処理リソースへの影響も低減することができる。
【0060】
メモリ350は、ネットワーク要求構成要素358を更に含むことができる。ネットワーク要求構成要素358は、ネットワーク帯域幅などのネットワーク性能情報を、又は事前定義された双方向データ通信プロトコルなどの車両データにアクセスする際の事前定義された規則によって収集することができる。いくつかの実施形態では、ネットワーク要求構成要素358は、車両との通信を開始するタイミングを識別することができる。通信を開始するタイミングは、車両からの車両データの要求のタイミングであってもよい。いくつかの実施形態では、ネットワーク要求構成要素358は、ネットワーク性能情報を監視して、車両データの要求を開始するタイミング、どの車両データが要求されているかなどを判定することができる。例えば、ネットワーク要求構成要素358は、収集されたネットワーク性能情報を利用して、車両データ要求がいつ開始され得るかを決定することができる。別の例では、ネットワーク要求構成要素358は、ネットワーク性能情報を利用して、(相対的な)ネットワーク状態がより低品質である間は、例えばより高い優先度の情報を選択するなど、様々な要求された情報からの選択又はフィルタリングを行うことができる。更なる例では、ネットワーク要求構成要素358は、ネットワーク条件の品質がより大きく変動しているか、あるいは劣化状態にあると見なされ得るシナリオでは、異なるデータ送信タイミング又は間隔を実施してもよい。例示的には、ネットワーク性能情報は、利用可能な帯域幅、待ち時間測定値、伝送誤り率などを含むことができるが、これらに限定されない。
【0061】
いくつかの実施形態では、ネットワーク要求構成要素358は、ネットワーク性能低下の検出に応答して、コンピューティングデバイス130との二次ネットワーク通信経路を構成することができる。例えば、車両とネットワークサービスとは、最初にネットワーク150を介して通信することができる。この例では、車両110がネットワーク接続の切断又は中断を有することをネットワーク要求構成要素358が検出した場合、ネットワーク要求構成要素358は、車両110に関連付けられたコンピューティングデバイス130に自動的に接続することができる。
【0062】
いくつかの実施形態では、ネットワーク要求構成要素358は、車両とネットワークサービスとの間、又はコンピューティングデバイスとネットワークサービスとの間の初期通信経路を決定することができる。例えば、ネットワーク要求構成要素358は、基準に基づいて、コンピューティングデバイスと車両とのうちの一方との初期通信経路を確立することができる。基準は、ネットワーク要求構成要素358で受信した応答のタイミングに基づくことができる。例えば、ネットワーク要求構成要素358がコンピューティングデバイスよりも前に車両から応答を受信した場合、ネットワーク要求構成要素358は、車両とネットワークサービスとの間の初期通信経路を確立することができる。基準は、ネットワーク性能監視結果に基づくこともできる。例えば、ネットワーク要求構成要素358は、車両及びコンピューティングデバイスとのネットワーク接続のネットワーク性能を比較することができる。
【0063】
メモリ350は、予測構成要素360を更に含むことができる。予測構成要素360は、複数の車両110から受信した車両データの処理に基づいて、車両の予測を行うように構成することができる。いくつかの実施形態では、予測構成要素360は、個々の車両のデータを処理し、予測結果を提供する。例えば、個々の車両データが、車両のホイールスピンの数が他の同様の車両よりも大きいことを示している場合、予測構成要素360は、車両が他の同様の車両よりも短い期間でのタイヤローテーション又はタイヤ交換を要する可能性があると予測することができる。この例では、予測結果は、車両の仮名識別子に関連付けられた指令として車両ユーザ(例えば、所有者、運転者、管理者など)に提供されてもよい。いくつかの実施形態では、予測結果は、車両ユーザへの推奨であってもよい。例えば、特定の車両のバッテリが他の同様の車両よりも急速に枯渇し、車両データが、夜間に車両の室内灯が頻繁に点灯していることを示す場合、予測構成要素360は、車両から離れる前に車両の室内灯をチェックするなどの推奨を提供することができる。
【0064】
いくつかの実施形態では、予測構成要素360は、基準に基づいて予測を実行することができる。基準は、車両データに類似の又は同じ問題がある車両の数であってもよい。例えば、予測構成要素360は、12Vバッテリ又はバッテリシステムなどの構成要素に関する問題を有する100台の車両を収集することができる。いくつかの実施形態では、予測構成要素360は、グループに優先度を付与することができる。例示的には、予測構成要素360は、安全性に関する問題を有する車両のグループに、安全性に関連しない可能性がある他の特徴又は構成要素に関する問題を有する他の車両のグループよりも高い優先度を有するグループとして優先度を付与することができる。例えば、制動システムに問題がある車両のグループが、HVACシステム又は娯楽システムに問題がある別の車両のグループよりも高い優先度を有してもよい。優先度は、グループ内の車両の数に基づくこともできる。例えば、1万台の車両を含むグループは、100台の車両を含む別のグループよりも高い優先度を有しうる。一実施形態では、予測構成要素360は、グループ内の車両の車両データを監視することができる。この実施形態では、1台以上の車両のデータが緊急の補正動作を示す場合には、グループが予測をトリガするグループ化基準を満たしていなくても、予測構成要素360が予測結果を車両ユーザに提供することができる。例えば、車両のセットを共通の又は関連する制動システムに基づいてグループ化することができ、グループ内の車両のうちの1台がブレーキ故障を有する場合、予測構成要素360は、グループがグループ化基準を満たしていなくても、グループ内の車両(及び全ての関連するユーザ)に予測結果を提供することができる。グループ化基準における車両の数、及びグループに優先度を付与するための基準は、本出願では限定されず、車両の数及び優先度付与基準は、特定の用途に基づいて決定することができる。
【0065】
メモリ350は、機械学習構成要素362を更に含むことができる。機械学習構成要素362は、複数の車両の予測を実行するように構成され得る。いくつかの実施形態では、機械学習構成要素362は、車両データバッチなどの複数の車両の車両データを監視する。機械学習構成要素362はまた、予測バッチなどの予測結果データを再検討する。機械学習構成要素362は、様々な予測モデル及び訓練モデルを含むことができる。例示的には、予測モデルは、訓練モデルを使用することによって訓練され得る。例えば、車両が、MOSFETを交換することによって修理されたその車両の通信構成要素に問題を有する場合、機械学習構成要素362の訓練モデルは、特定の車両通信が故障した場合の補正動作が車両通信回路内のMOSFETを診断することであるように、予測モデルを訓練する。
【0066】
いくつかの実施形態では、いくつかの異なるタイプのアルゴリズムが、モデルを生成するために機械学習構成要素362によって使用され得る。例えば、本明細書のいくつかの実施形態が、ロジスティック回帰モデル、決定木、ランダムフォレスト、畳み込みニューラルネットワーク、ディープネットワークなどを使用することができる。しかしながら、線形回帰モデル、離散選択モデル、又は一般化線形モデルなどの他のモデルも可能である。機械学習アルゴリズムは、機械学習構成要素362が受信した新しい入力に基づいて、モデルを経時的かつ適応的に開発及び更新するように構成され得る。例えば、情報が経時的に変化するのに伴ってモデルの予測をより正確に保つのを助けるために、新たな人間の身体的特性又は生体情報が利用可能になるのに応じて、モデルを定期的に再生成することができる。機械学習構成要素362を、本明細書でより詳細に説明する。
【0067】
パラメータ関数又は予測モデルを生成及び更新するために使用できる機械学習アルゴリズムのいくつかの非限定的な例は、回帰アルゴリズム(例えば、通常最小二乗回帰など)、インスタンスベースのアルゴリズム(例えば、学習ベクトル量子化など)、決定木アルゴリズム(例えば、分類木及び回帰木など)、ベイジアンアルゴリズム(例えば、ナイーブベイズなど)、クラスタリングアルゴリズム(例えば、k平均クラスタリングなど)、相関ルール学習アルゴリズム(例えば、アプリオリ(Apriori)アルゴリズムなど)、人工ニューラルネットワークアルゴリズム(例えば、パーセプトロン)、深層学習アルゴリズム(例えば、深層ボルツマンマシンなど)、次元縮小アルゴリズム(例えば主成分分析など)、アンサンブルアルゴリズム(例えば、スタック一般化など)、及び/又は他の機械学習アルゴリズムを含む、教師あり機械学習アルゴリズム及び教師なし機械学習アルゴリズムを含むことができる。
【0068】
これらの機械学習アルゴリズムは、k平均アルゴリズムなどの階層クラスタリングアルゴリズム及びクラスタ分析アルゴリズムを含む任意のタイプの機械学習アルゴリズムを含むことができる。場合によっては、機械学習アルゴリズムの実行は、人工ニューラルネットワークの使用を含み得る。機械学習技術を使用することにより、大量(テラバイト又はペタバイトなど)のプレイヤ対話データを分析してモデルを生成することができる。
【0069】
ここで
図4を参照して、仮名を作成するためのネットワークサービスと個々の車両との間の例示的な対話について説明する。対話のセットが示されているが、本出願は、ネットワークサービスと対話する車両の任意の特定の数に限定されない。むしろ、いくつかの実施形態では、個々の車両とネットワークサービスとの間の対話の数は、数千台以上の個々の車両を含む比較的大規模なものになる。
【0070】
(1)において、(管理構成要素210などの)車両110は、ネットワークサービス120によって車両110を識別するために利用される仮名識別子を生成又は構成することができる。上述のように、仮名識別子は、様々な一意識別子又は半一意識別子のいずれか1つに対応することができる。仮名識別子は、特定のハードウェア構成要素又はソフトウェア構成要素の表現などの車両110の属性に基づくことができる。別の例では、仮名識別子は、利用可能な仮名識別子のリストから、ランダム選択などによって選択することができる。(1つ以上の)仮名識別子の生成又は構成は、製造時、製造業者からのリリース時などに行われ得る。
【0071】
(2)において、車両110は、通信で使用するためにローカルメモリに仮名識別子を記憶することができる。仮名識別子は、ユーザ又は外部サービスによる仮名識別子の変更又は破損を防ぐために、暗号化機構又は他のセキュリティ機構に関連付けられ得る。
【0072】
(3)において、個々の車両110は、(車両データサービス122などの)ネットワークサービス120を用いて仮名登録を送信することができる。このプロセスは、車両110とネットワークサービス120との間の仮名識別子の送信の最初のインスタンス化を示す。送信は並行して送信されるものとして示されているが、車両110は、様々な時点で、又は新しい所有者への車両の配送などのトリガ基準に応答して、ネットワークサービス120を用いて登録するようにトリガされてもよい。いくつかの実施形態では、仮名の送信のタイミングは、仮名の送信が車両の配送又は仮名の生成のタイミングに密接に関連しないように、ランダムに生成された数字などのシード値に基づくことができる。
【0073】
(4)において、ネットワークサービス120は、仮名識別子を用いて登録データを処理する。例示的に、ネットワークサービス120は、送信された仮名識別子のみに基づいて、かつVIN又はユーザ識別子などの車両に関連付けられた他の識別情報との更なる関連付けなしに、1つ以上のレコード、データストアなどをインスタンス化することができる。
【0074】
ここで、
図5を参照して、1つ以上の仮名識別子に基づく車両データの送信のためのネットワークサービス120と個々の車両110との例示的な対話を説明する。上述のように、対話のセットが示されているが、本出願は、ネットワークサービスと対話する車両110の任意の特定の数に限定されない。むしろ、いくつかの実施形態では、個々の車両とネットワークサービス120との間の対話の数は、数千台以上の個々の車両110を含む比較的大規模なものになる。
【0075】
(1)において、車両110は(管理構成要素210などを介して)車両データを収集することができる。上述のように、車両は、動作データを含む車両データを取得、生成、及び維持するための複数のセンサ、構成要素、及びデータストアを含む。車両データの収集及び処理は、プログラムされた構成データに基づくか、ユーザからの手動入力に基づくか、又はネットワークサービス(図示せず)からの要求に応答して行われてもよい。
【0076】
(2)において、車両110は、ローカルメモリに保持されている以前に記憶された仮名識別子と関連付けられ得る。仮名識別子及び車両データは、ユーザ又は外部サービスによる仮名識別子の変更又は破損を防ぐために、暗号化機構又は他のセキュリティ機構に関連付けられ得る。
【0077】
(3)において、車両110のうちの1つ以上が、車両データをコンピューティングデバイス130と同期させることができる。いくつかの実施形態では、同期は、周期的に又はリアルタイムで実行することができる。いくつかの実施形態では、データの一部をコンピューティングデバイス130と同期させることができる。これらの実施形態では、データの一部は、ユーザ、車両製造業者、車両管理者などによって定義又は指定することができる。例えば、コンピューティングデバイス130は、エンジンオイル管理データに関連する同期車両データのみを取得する。この例では、コンピューティングデバイス130は、データを車両の仮名識別子と関連付けることによって、エンジンオイル管理データをネットワークサービス120に直接送信することができる。いくつかの実施形態では、プロセス(3)は任意選択のプロセスであり得る。
【0078】
(4)において、個々の車両は、生成された仮名識別子を用いて車両データをネットワークサービスに送信することができる。単一の送信として示されているが、関連する仮名識別子を用いた車両データの収集及び送信は、複数の送信に対応することができる。これらの送信は、個々の車両ごとに、又は車両のグループごとにスケジューリングされてもよい。更に、送信は並行して送信されるものとして示されているが、車両は、様々な時点で、又はエラー、特定のセンサ値、車両データの閾値量の蓄積、車両データ値の変化などのトリガ基準に応答して、ネットワークサービスに車両データを送信するようにトリガされてもよい。(4)において、ネットワークサービスは、仮名識別子を用いて車両を処理する。例示的に、ネットワークサービスは、VIN又はユーザ識別子などの車両に関連付けられた他の識別情報との更なる関連付けなしに、以前に送信された仮名識別子に関連付けられたインスタンス化されたレコード、データストアなどを利用することができる。したがって、ネットワークサービスは、例示的に、送信された車両データを提供している(又はこれに関連付けられた)特定の車両又は車両所有者を識別するのに必要な情報を有していなくても、性能パラメータ又は動作パラメータを含む、車両に関する詳細な情報を受信することができる。
【0079】
いくつかの実施形態では、車両110とネットワークサービス120との間のネットワーク接続が切断又は中断されると、コンピューティングデバイス130は、同期車両データをネットワークサービス120に送信することができる。例えば、コンピューティングデバイス130及び車両110は、短距離データ通信ネットワークなどのネットワーク160を利用することによって車両データを周期的に同期させることができる。この例では、車両110がネットワーク150に接続できない場合、コンピューティングデバイス130は車両データをネットワークサービス120に送信することができる。
【0080】
ここで、
図6Aを参照して、1つ以上の仮名識別子による車両指令の送信のためのネットワークサービス120と個々の車両110との例示的な対話を説明する。上述のように、対話のセットが示されているが、本出願は、ネットワークサービス120と対話する車両110の任意の特定の数に限定されない。むしろ、いくつかの実施形態では、個々の車両110とネットワークサービス120との間の対話の数は、数千台以上の個々の車両を含む比較的大規模なものになる。
【0081】
(1)において、ネットワークサービス120は、記憶された車両データを仮名で処理する(又は処理する要求を受信する)ことができる。一実施形態では、ネットワークサービス120は、収集された性能データを分析して、仮名識別子に関連付けられた車両110によって実施されるべき1つ以上の動作を識別することができる。例えば、ネットワークサービス120は、収集された車両データが示している潜在的なハードウェア又はソフトウェアのエラー/障害を識別する診断プロセスを実施することができる。別の例では、ネットワークサービス120は、動作パラメータ、車両属性、動作領域、使用の特性評価などの車両データに基づいて車両110のセットのグループ化又は編成を容易にする処理技術を利用することができる。いくつかの実施形態では、記憶された車両データの処理は、省略されてもよく、又は別個のプロセスとして実施されてもよく、本明細書では必要とされない。
【0082】
いくつかの実施形態では、ネットワークサービス120(予測構成要素360)は、複数の車両110から受信した車両データの処理に基づいて、車両の予測を行うことができる。いくつかの実施形態では、予測構成要素360は、個々の車両のデータを処理し、予測結果を提供する。例えば、個々の車両データが、車両のホイールスピンの数が他の同様の車両よりも大きいことを示している場合、予測構成要素360は、車両が他の同様の車両よりも短い期間でのタイヤローテーション又はタイヤ交換を要する可能性があると予測することができる。この例では、予測結果は、車両の仮名識別子に関連付けられた指令として車両ユーザ(例えば、所有者、運転者、管理者など)に提供されてもよい。いくつかの実施形態では、予測結果は、車両ユーザへの推奨であってもよい。例えば、特定の車両のバッテリシステムが名目上定義された動作パラメータから逸脱しており(例えば、バッテリが他の同様の車両よりも急速に枯渇し)、車両データが、夜間に車両の室内灯が頻繁に点灯していることを示す場合、予測構成要素360は、車両から離れる前に車両の室内灯をチェックするなどの推奨を提供することができる。
【0083】
いくつかの実施形態では、予測構成要素360は、基準に基づいて予測を実行することができる。基準は、車両データに類似の又は同じ問題がある車両の数であってもよい。例えば、予測構成要素360は、12Vバッテリに関する問題を有する100台の車両を収集することができる。いくつかの実施形態では、予測構成要素360は、グループに優先度を付与することができる。例示的には、予測構成要素360は、安全性に関する問題を有する車両のグループに、車両の便利な機能に関する問題を有する他の車両のグループよりも高い優先度を有するグループとして優先度を付与することができる。別の例では、半自動運転又は自動運転のための検知システムに問題がある車両のグループが、ヘッドライトシステムと同様の優先度であるが、タイヤローテーションに問題がある車両の別のグループよりも高い優先度を有してもよい。優先度は、グループ内の車両の数に基づくこともできる。一実施形態では、予測構成要素360は、グループ内の車両の車両データを監視することができる。この実施形態では、1台以上の車両のデータが緊急の補正動作を示す場合には、グループが予測をトリガするグループ化基準を満たしていなくても、予測構成要素360が予測結果を車両ユーザに提供することができる。例えば、車両のグループが共通又は類似のサスペンションシステムに関連しており、グループ内の車両のうちの1台がサスペンション故障を有する場合、予測構成要素360は、グループがグループ化基準を満たしていなくても、予測結果をグループ全体に提供することができる。同様に、同じグループ内の1台の車両がデータ通信の障害を有する場合、グループがグループ化基準を満たさず、潜在的なエラーの関連付けられた優先度が低いため、グループ全体が予測結果を受信しなくてもよい。グループ化基準における車両の数、及びグループに優先度を付与するための基準は、本出願では限定されず、車両の数及び優先度付与基準は、特定の用途に基づいて決定することができる。
【0084】
いくつかの実施形態では、ネットワークサービス120(機械学習構成要素362)は、複数の車両の予測を実行することができる。いくつかの実施形態では、機械学習構成要素362は、車両データバッチなどの複数の車両の車両データを監視する。機械学習構成要素362はまた、予測バッチなどの予測結果データを再検討する。機械学習構成要素362は、様々な予測モデル及び訓練モデルを含むことができる。例示的には、予測モデルは、訓練モデルを使用することによって訓練され得る。例えば、車両が、MOSFETを交換することによって修理されたその車両の通信構成要素に問題を有する場合、機械学習構成要素362の訓練モデルは、特定の車両通信が故障した場合の補正動作が車両通信回路内のMOSFETを診断することであるように、予測モデルを訓練する。
【0085】
(2)において、ネットワークサービス120は、車両指令の発行の要求を仮名で受信する。例示的には、車両指令は、受信時に車両によって誘発される1つ以上の動作及び関連するパラメータに対応する。一態様では、指令は、診断、修理、又は更新プロセスなど、これに応答して車両によって実行されるコマンドを含むことができる。1つ以上の動作は、必須と見なされても任意選択と見なされてもよい。別の態様では、車両指令は、整備依頼の電話をスケジューリングするための通知の生成など、車両所有者/ユーザによる行動を誘発する要求を含むことができる。
【0086】
更に別の態様では、車両指令は、追加の又は補足的な車両データをネットワークサービス120又は第三者に送信するための要求/コマンドを含むことができる。例えば、車両指令は、特定の車両(例えば、VIN)の識別情報、及びネットワークサービス120による後続の動作のために利用することができる特定の動作パラメータの送信を含むことができる。そのような応答通信では、ネットワークサービス120が補足的に提供された車両識別子を仮名識別子と関連付けることができないように、仮名識別子を省略することができる。
【0087】
上記の変形例では、車両指令は、ネットワークサービス120が仮名識別子のサブセットとして追跡する対象である特定の車両のリストを含むことができる。したがって、車両指令は、一致するVINに応答して、仮名識別子の返信を要求することができる。これに関して、仮名識別子のサブセットが十分に大きい場合、整備事業者は特定のVINを仮名識別子に確定的に関連付けることができない。
【0088】
(3)において、ネットワークサービス120は、車両指令要求を処理する。一態様では、ネットワークサービス120は、認証機構又は許可機構などを介して、車両データの要求が許可されたことを確認することができる。別の態様では、受信された要求は、対象の仮名識別子を明示的に識別しなくてもよいが、(例えば、10万マイルを超える走行距離を有する全ての車両などの)選択基準を提供する。したがって、ネットワークサービス120は、記憶された車両データを照会して、選択基準に関連付けられた適切な仮名識別子を識別することができる。更に別の態様では、選択基準がサイズ閾値を超えない仮名識別子のセットをもたらす場合、ネットワークサービス120は、要求を拒否するか、追加の基準を要求するか、又はセットに追加の仮名識別子を含めることができる。前述のように、1つ以上の閾値を超える仮名識別子のセットを有することによって、潜在的なネットワークサービス120を軽減することができ、個人又は第三者が、VIN又は他の識別情報を特定の仮名識別子と繰り返し照合することができる。
【0089】
(4)において、ネットワークサービス120は、指令要求を実施するように要求された仮名識別子のセットを識別する車両指令要求を投稿することができる。この実施形態では、ネットワークサービス120は、各車両に車両指令要求を能動的に送信する必要はなく、また仮名識別子ごとに連絡機構(例えば、ネットワークアドレス)を具体的に識別する処理機構を含む必要もない。むしろ、個々の車両が、仮名識別子及び車両指令の公開されたリストについてネットワークサービス120に独立して連絡する。
【0090】
(5)において、個々の車両110は、仮名識別子のリストを用いて投稿された車両指令を要求する。例示的には、個々の車両は、要求を同時に送信するように構成される必要はない。要求の送信は、要求の送信を分散させてネットワークサービス120によるネットワーク処理リソースの要件を軽減できるように、ある範囲の時間(例えば、1日を通した任意の時間)でランダム化又は実施することができる。(6)において、ネットワークサービス120は、各要求に個別に応答することができる。一実施形態では、ネットワークサービス120は、公開/投稿された車両指令及び関連する仮名識別子のセットを提供することができる。これは、仮名識別子の完全なリスト又は仮名識別子の何らかのソート/フィルタリングされたサブセットの識別を含むことができる。この手法は、車両110が仮名識別子を仮名識別子のリストと照合できることを必要とする。別の実施形態では、車両は、対象の仮名識別子を送信することができ、次いで、ネットワークサービス120は、一致が生じるかどうかを判定することができる。次いで、ネットワークサービス120は、通知又は確認で応答することができる。この実施形態は、ネットワークサービス120と車両との間で送信されるデータ量を最小限に抑えることができ、リストを処理して潜在的な一致を識別するための車両の処理リソースへの影響も低減することができる。
【0091】
(7)において、車両110は(管理構成要素210などを介して)公開/投稿された車両指令及び関連する仮名識別子のセットを収集して処理することができる。上述のように、車両は、車両の特定の仮名識別子と、車両指令に関連付けられた仮名識別子のいずれかとの照合を試みることによって、公開/投稿された車両指令及び関連する仮名識別子のセットを処理する。車両が車両の特定の仮名識別子と一致しない場合、車両指令は無視されてもよい。あるいは、車両は、仮名識別子と一致する車両のサブセットについて、車両指令を開始又は処理することができる。上述のように、車両指令の開始は、車両、整備事業者、及び/又は車両のユーザによるいくつかの応答動作を誘発することができる。一態様では、指令は、診断、修理、又は更新プロセスなど、これに応答して車両によって実行されるコマンドを含むことができる。1つ以上の動作は、必須と見なされても任意選択と見なされてもよい。別の態様では、車両指令は、整備依頼の電話をスケジューリングするための通知の生成など、車両所有者/ユーザによる行動を誘発する要求を含むことができる。更に、車両は、確認、状況又は通知を、要求に応じて、あるいは車両が確認情報、状況情報又は通知情報を送信するように事前構成されている場合に送信することもできる。これは、車両上のインターフェース、車両のモバイルデバイスなどの生成を含むことができる。例えば、車両指令は、整備要求フォームの事前入力を可能にする情報、又は整備要求のスケジューリングを可能にする記述情報などを含むことができる。
【0092】
(8)において、車両110は車両指令を開始することができる。いくつかの実施形態では、車両110は、指令を処理することによって、優先度、(例えば、必須、任意、緊急などの)必要な動作のタイプなどに基づいて指令を分類する。車両110は、指令の処理結果に基づいて、車両所有者又は運転者に1つ以上の命令又は推奨を更に提供することができる。
【0093】
ここで、
図6Bを参照して、1つ以上の仮名識別子による車両データの処理及びその後の車両指令の送信のためのネットワークサービスと個々の車両との例示的な対話を説明する。(1)において、指令に応答して、1つ以上の車両が補足的な車両データを提供することができ、補足的な車両データは、上述のようなVINデータ又は他の識別を含むことができる。(2)において、ネットワークサービスは、受信した補足的なデータを処理する。追加の情報は、識別された選択基準に応答して補正動作又は他の整備を識別するための更なる処理を整備事業者が行うことを可能にする車両VIN情報又は他の識別子を含むことができる。例えば、整備事業者は、整備記録、部品注文、以前の故障/エラー報告などを決定することができる。
【0094】
(3)において、整備事業者は、(車両指令に応答し、かつ補正動作又は他の整備を実施していないサブセット内の)任意の残りの車両VINを識別し、(4)及び(5)における追加の補正動作の要求を送信することができる。(6)において、受信車両に対して応答コマンドが通知又は発行される。更に、整備技術者に、提案された補正動作に関する通知が提供されてもよい。例えば、部品が所定の整備事業者で事前注文されてもよい。したがって、共通の診断属性を有する個々の車両に、追加の補正的な又は補足的な動作が施されるか又は提供され得る。
【0095】
ここで、
図7を参照して、1つ以上の仮名識別子による車両指令の送信のためのネットワークサービス120とコンピューティングデバイス130との間の代替実施形態の例示的な対話を説明する。上述のように、対話のセットが示されているが、本出願は、ネットワークサービス120と対話する車両110及びコンピューティングデバイス130の任意の特定の数に限定されない。むしろ、いくつかの実施形態では、個々の車両110とネットワークサービス120との間の対話の数は、数千台以上の個々の車両を含む比較的大規模なものになる。
図6Aで説明した(1)~(4)のプロセスを、
図7で使用することができる。
【0096】
(5)において、コンピューティングデバイス130は、仮名識別子のリストを用いて投稿された車両指令を要求することができる。例示的には、コンピューティングデバイス130は、要求を同時に送信するように構成される必要はない。要求の送信は、要求の送信を分散させてネットワークサービス120によるネットワーク処理リソースの要件を軽減できるように、ある範囲の時間(例えば、1日を通した任意の時間)でランダム化又は実施することができる。(6)において、ネットワークサービス120は、各要求に個別に応答することができる。一実施形態では、ネットワークサービス120は、公開/投稿された車両指令及び関連する仮名識別子のセットを提供することができる。これは、仮名識別子の完全なリスト又は仮名識別子の何らかのソート/フィルタリングされたサブセットの識別を含むことができる。この手法は、車両110が仮名識別子を仮名識別子のリストと照合できることを必要とする。別の実施形態では、コンピューティングデバイス130は、対象の仮名識別子を送信することができ、次いで、ネットワークサービス120は、一致が生じるかどうかを判定することができる。次いで、ネットワークサービス120は、通知又は確認で応答することができる。この実施形態は、ネットワークサービス120とコンピューティングデバイス130との間で送信されるデータ量を最小限に抑えることができ、リストを処理して潜在的な一致を識別するためのコンピューティングデバイス130の処理リソースへの影響も低減することができる。
【0097】
(7)において、コンピューティングデバイス130は、公開/投稿された車両指令及び関連する仮名識別子のセットを収集して処理することができる。上述のように、コンピューティングデバイス130は、車両の特定の仮名識別子と、車両指令に関連付けられた仮名識別子のいずれかとの照合を試みることによって、公開/投稿された車両指令及び関連する仮名識別子のセットを処理する。コンピューティングデバイス130が車両の特定の仮名識別子と一致しない場合、車両指令は無視されてもよい。あるいは、
図7に示すように、コンピューティングデバイス130は、仮名識別子と一致する車両のサブセットについて、車両指令を開始又は処理することができる。上述のように、車両指令の開始は、コンピューティングデバイス130によっていくつかの応答動作を誘発することができる。一態様では、指令は、診断、修理、又は更新プロセスなど、これに応答してコンピューティングデバイス130によって実行されるコマンドを含むことができる。1つ以上の動作は、必須と見なされても任意選択と見なされてもよい。別の態様では、車両指令は、整備依頼の電話をスケジューリングするための通知の生成など、車両所有者/ユーザによる行動を誘発する要求を含むことができる。更に、車両は、確認、状況又は通知を、要求に応じて、あるいは車両が確認情報、状況情報又は通知情報を送信するように事前構成されている場合に送信することもできる。
【0098】
(8)において、コンピューティングデバイス130は車両指令を開始することができる。いくつかの実施形態では、コンピューティングデバイス130は、指令を処理することによって、優先度、(例えば、必須、任意、緊急などの)必要な動作のタイプなどに基づいて指令を分類する。コンピューティングデバイス130は、指令の処理結果に基づいて、車両所有者又は運転者に1つ以上の命令又は推奨を更に提供することができる。
【0099】
(9)において、コンピューティングデバイス130は、指令を処理することに基づいて更新された車両データなどの車両データを車両110と同期させることができる。
【0100】
代替実施形態では、車両110とコンピューティングデバイス130との両方が、ネットワークサービス120によって投稿された指令に応答することができる。この実施形態では、ネットワークサービス120は、基準に基づいて車両とネットワークサービスとの間の初期通信経路を確立することができる。基準は、ネットワークサービス120(ネットワーク要求構成要素358など)で受信された応答のタイミングに基づくことができる。例えば、ネットワーク要求構成要素358がコンピューティングデバイスよりも前に車両から応答を受信した場合、ネットワーク要求構成要素358は、車両とネットワークサービスとの間の初期通信経路を確立することができる。基準は、ネットワーク性能監視結果に基づくこともできる。例えば、ネットワーク要求構成要素358は、車両及びコンピューティングデバイスとのネットワーク接続のネットワーク性能を比較することができる。
【0101】
ここで、
図8を参照して、車両仮名管理ルーチン800のルーチン800について説明する。ルーチン800は、例示的に、車両110に実装された管理構成要素210によって実施される。
図8に示すプロセスは、本質的に例示的なものであり、限定するものと解釈されるべきではない。
【0102】
ブロック802において、(管理構成要素210などの)車両110は、ネットワークサービス120によって車両110を識別するために利用される仮名識別子を生成又は構成することができる。上述のように、仮名識別子は、様々な一意識別子又は半一意識別子のいずれか1つに対応することができる。仮名識別子は、特定のハードウェア構成要素又はソフトウェア構成要素の表現などの車両110の属性に基づくことができる。別の例では、仮名識別子は、利用可能な仮名識別子のリストから、ランダム選択などによって選択することができる。(1つ以上の)仮名識別子の生成又は構成は、製造時、製造業者からのリリース時などに行われ得る。
【0103】
ブロック804において、車両110は、通信で使用するためにローカルメモリに仮名識別子を記憶することができる。仮名識別子は、ユーザ又は外部サービスによる仮名識別子の変更又は破損を防ぐために、暗号化機構又は他のセキュリティ機構に関連付けられ得る。
【0104】
ブロック806において、個々の車両110は、生成された仮名を(車両データサービス122などの)ネットワークサービス120を用いて送信することができる。このプロセスは、車両110とネットワークサービス120との間の仮名識別子の送信の最初のインスタンス化を示す。送信は並行して送信されるものとして示されているが、車両110は、様々な時点で、又は新しい所有者への車両の配送などのトリガ基準に応答して、ネットワークサービス120を用いて登録するようにトリガされてもよい。いくつかの実施形態では、仮名の送信のタイミングは、仮名の送信が車両の配送又は仮名の生成のタイミングに密接に関連しないように、ランダムに生成された数字などのシード値に基づくことができる。ブロック806において、ルーチン800を終了することができる。
【0105】
ここで、
図9を参照して、車両データ送信ルーチン900のルーチン900について説明する。ルーチン900は、例示的に、車両110に実装された管理構成要素210によって実施される。
図9に示すプロセスは、本質的に例示的なものであり、限定するものと解釈されるべきではない。
【0106】
ブロック902において、車両110は(管理構成要素210などを介して)車両データを収集することができる。上述のように、車両は、動作データを含む車両データを取得、生成、及び維持するための複数のセンサ、構成要素、及びデータストアを含む。車両データの収集及び処理は、プログラムされた構成データに基づくか、ユーザからの手動入力に基づくか、又はネットワークサービス(図示せず)からの要求に応答して行われてもよい。
【0107】
ブロック904において、車両110は、ローカルメモリに保持されている以前に記憶された仮名識別子と関連付けられ得る。仮名識別子及び車両データは、ユーザ又は外部サービスによる仮名識別子の変更又は破損を防ぐために、暗号化機構又は他のセキュリティ機構に関連付けられ得る。
【0108】
いくつかの実施形態では、車両110のうちの1つ以上が、車両データをコンピューティングデバイス130と同期させることができる。いくつかの実施形態では、同期は、周期的に又はリアルタイムで実行することができる。いくつかの実施形態では、データの一部をコンピューティングデバイス130と同期させることができる。これらの実施形態では、データの一部は、ユーザ、車両製造業者、車両管理者などによって定義又は指定することができる。例えば、コンピューティングデバイス130は、エンジンオイル管理データに関連する同期車両データのみを取得する。この例では、コンピューティングデバイス130は、データを車両の仮名識別子と関連付けることによって、エンジンオイル管理データをネットワークサービス120に直接送信することができる。いくつかの実施形態では、プロセス(3)は任意選択のプロセスであり得る。
【0109】
ブロック904において、個々の車両は、生成された仮名識別子を用いて車両データをネットワークサービスに送信することができる。単一の送信として示されているが、関連する仮名識別子を用いた車両データの収集及び送信は、複数の送信に対応することができる。これらの送信は、個々の車両ごとに、又は車両のグループごとにスケジューリングされてもよい。更に、送信は並行して送信されるものとして示されているが、車両は、様々な時点で、又はエラー、特定のセンサ値、車両データの閾値量の蓄積、車両データ値の変化などのトリガ基準に応答して、ネットワークサービスに車両データを送信するようにトリガされてもよい。
【0110】
いくつかの実施形態では、車両110とネットワークサービス120との間のネットワーク接続が切断又は中断されると、コンピューティングデバイス130は、同期車両データをネットワークサービス120に送信することができる。例えば、コンピューティングデバイス130及び車両110は、短距離データ通信ネットワークなどのネットワーク160を利用することによって車両データを周期的に同期させることができる。この例では、車両110がネットワーク150に接続できない場合、コンピューティングデバイス130は車両データをネットワークサービス120に送信することができる。ルーチン900は、ブロック906で終了することができる。
【0111】
ここで、
図10を参照して、車両指令要求処理ルーチン1000のルーチン1000について説明する。ルーチン1000は、例示的に、車両110に実装された管理構成要素210によって実施される。
図10に示すプロセスは、本質的に例示的なものであり、限定するものと解釈されるべきではない。
【0112】
ブロック1002において、個々の車両110は、仮名識別子のリストを用いて投稿された車両指令を要求する。例示的には、個々の車両は、要求を同時に送信するように構成される必要はない。要求の送信は、要求の送信を分散させてネットワークサービス120によるネットワーク処理リソースの要件を軽減できるように、ある範囲の時間(例えば、1日を通した任意の時間)でランダム化又は実施することができる。
【0113】
ブロック1004において、車両110は(管理構成要素210などを介して)公開/投稿された車両指令及び関連する仮名識別子のセットを受信することができる。ブロック1006において、車両110は、車両の特定の仮名識別子と、車両指令に関連付けられた仮名識別子のいずれかとの照合を試みることによって、公開/投稿された車両指令及び関連する仮名識別子のセットを処理する。車両が車両の特定の仮名識別子と一致しない場合、ブロック1010でルーチン1000を終了することができ、車両指令を無視することができる。車両が車両の特定の仮名識別子と一致する場合、ルーチンはブロック1008に続く。いくつかの実施形態では、車両110は、仮名識別子と一致する車両のサブセットについて、車両指令を開始又は処理することができる。これらの実施形態では、車両指令を開始することで、車両110によるいくつかの応答動作が誘発されてもよい。一態様では、指令は、診断、修理、又は更新プロセスなど、これに応答して車両によって実行されるコマンドを含むことができる。1つ以上の動作が、必須と見なされても任意選択と見なされてもよい。別の態様では、車両指令は、整備依頼の電話をスケジューリングするための通知の生成など、車両所有者/ユーザによる行動を誘発する要求を含むことができる。更に、車両は、確認、状況又は通知を、要求に応じて、あるいは車両が確認情報、状況情報又は通知情報を送信するように事前構成されている場合に送信することもできる。
【0114】
ブロック1008において、車両110は車両指令を開始することができる。いくつかの実施形態では、車両110は、指令を処理することによって、優先度、(例えば、必須、任意、緊急などの)必要な動作のタイプなどに基づいて指令を分類する。車両110は、指令の処理結果に基づいて、車両所有者又は運転者に1つ以上の命令又は推奨を更に提供することができる。
【0115】
ここで、
図11を参照して、車両指令要求処理ルーチン1100のルーチン1100について説明する。ルーチン1100は、例示的に、ネットワークサービス120に実装された車両データサービス122によって実施される。
図10に示すプロセスは、本質的に例示的なものであり、限定するものと解釈されるべきではない。
【0116】
ブロック1102において、ネットワークサービス120は、車両指令の発行の要求を仮名で受信する。例示的には、車両指令は、受信時に車両によって誘発される1つ以上の動作及び関連するパラメータに対応する。一態様では、指令は、診断、修理、又は更新プロセスなど、これに応答して車両によって実行されるコマンドを含むことができる。1つ以上の動作が、必須と見なされても任意選択と見なされてもよい。別の態様では、車両指令は、整備依頼の電話をスケジューリングするための通知の生成など、車両所有者/ユーザによる行動を誘発する要求を含むことができる。
【0117】
更に別の態様では、車両指令は、追加の又は補足的な車両データをネットワークサービス120又は第三者に送信するための要求/コマンドを含むことができる。例えば、車両指令は、特定の車両(例えば、VIN)の識別情報、及びネットワークサービス120による後続の動作のために利用することができる特定の動作パラメータの送信を含むことができる。そのような応答通信では、ネットワークサービス120が補足的に提供された車両識別子を仮名識別子と関連付けることができないように、仮名識別子を省略することができる。
【0118】
上記の変形例では、車両指令は、ネットワークサービス120が仮名識別子のサブセットとして追跡する対象である特定の車両のリストを含むことができる。したがって、車両指令は、一致するVINに応答して、仮名識別子の返信を要求することができる。これに関して、仮名識別子のサブセットが十分に大きい場合、整備事業者は特定のVINを仮名識別子に確定的に関連付けることができない。
【0119】
いくつかの実施形態では、ネットワークサービス120は、記憶された車両データを仮名で処理する(又は処理する要求を受信する)ことができる。一実施形態では、ネットワークサービス120は、収集された性能データを分析して、仮名識別子に関連付けられた車両110によって実施されるべき1つ以上の動作を識別することができる。例えば、ネットワークサービス120は、収集された車両データが示している潜在的なハードウェア又はソフトウェアのエラー/障害を識別する診断プロセスを実施することができる。別の例では、ネットワークサービス120は、動作パラメータ、車両属性、動作領域、使用の特性評価などの車両データに基づいて車両110のセットのグループ化又は編成を容易にする処理技術を利用することができる。いくつかの実施形態では、記憶された車両データの処理は、省略されてもよく、又は別個のプロセスとして実施されてもよく、本明細書では必要とされない。
【0120】
ブロック1104において、ネットワークサービス120は、車両指令要求を処理する。一態様では、ネットワークサービス120は、認証機構又は許可機構などを介して、車両データの要求が許可されたことを確認することができる。別の態様では、受信された要求は、対象の仮名識別子を明示的に識別しなくてもよいが、(例えば、10万マイルを超える走行距離を有する全ての車両などの)選択基準を提供する。したがって、ネットワークサービス120は、記憶された車両データを照会して、選択基準に関連付けられた適切な仮名識別子を識別することができる。更に別の態様では、選択基準がサイズ閾値を超えない仮名識別子のセットをもたらす場合、ネットワークサービス120は、要求を拒否するか、追加の基準を要求するか、又はセットに追加の仮名識別子を含めることができる。前述のように、1つ以上の閾値を超える仮名識別子のセットを有することによって、潜在的なネットワークサービス120を軽減することができ、個人又は第三者が、VIN又は他の識別情報を特定の仮名識別子と繰り返し照合することができる。
【0121】
いくつかの実施形態では、ネットワークサービス120(予測構成要素360)は、複数の車両110から受信した車両データの処理に基づいて、車両の予測を行うことができる。いくつかの実施形態では、予測構成要素360は、個々の車両のデータを処理し、予測結果を提供する。例えば、個々の車両データが、車両のホイールスピンの数が他の同様の車両よりも大きいことを示している場合、予測構成要素360は、車両が他の同様の車両よりも短い期間でのタイヤローテーション又はタイヤ交換を要する可能性があると予測することができる。この例では、予測結果は、車両の仮名識別子に関連付けられた指令として車両ユーザ(例えば、所有者、運転者、管理者など)に提供されてもよい。いくつかの実施形態では、予測結果は、車両ユーザへの推奨であってもよい。例えば、特定の車両のバッテリが他の同様の車両よりも急速に枯渇し、車両データが、夜間に車両の室内灯が頻繁に点灯していることを示す場合、予測構成要素360は、車両から離れる前に車両の室内灯をチェックするなどの推奨を提供することができる。
【0122】
いくつかの実施形態では、予測構成要素360は、基準に基づいて予測を実行することができる。基準は、車両データに類似の又は同じ問題がある車両の数であってもよい。例えば、予測構成要素360は、12Vバッテリに関する問題を有する100台の車両を収集することができる。いくつかの実施形態では、予測構成要素360は、グループに優先度を付与することができる。例示的には、予測構成要素360は、安全性に関する問題を有する車両のグループに、車両の便利な機能に関する問題を有する他の車両のグループよりも高い優先度を有するグループとして優先度を付与することができる。例えば、ブレーキに問題がある車両のグループは、ヒータに問題がある他の車両のグループよりも高い優先度を有する。優先度は、グループ内の車両の数に基づくこともできる。例えば、1万台の車両を含むグループは、100台の車両を含む別のグループよりも高い優先度を有しうる。一実施形態では、予測構成要素360は、グループ内の車両の車両データを監視することができる。この実施形態では、1台以上の車両のデータが緊急の補正動作を示す場合には、グループが予測をトリガするグループ化基準を満たしていなくても、予測構成要素360が予測結果を車両ユーザに提供することができる。例えば、車両のグループがブレーキに関連しており、グループ内の車両のうちの1台がブレーキ故障を有する場合、予測構成要素360は、グループがグループ化基準を満たしていなくても、グループ内の車両のユーザに予測結果を提供することができる。グループ化基準における車両の数、及びグループに優先度を付与するための基準は、本出願では限定されず、車両の数及び優先度付与基準は、特定の用途に基づいて決定することができる。
【0123】
いくつかの実施形態では、ネットワークサービス120(機械学習構成要素362)は、複数の車両の予測を実行することができる。いくつかの実施形態では、機械学習構成要素362は、車両データバッチなどの複数の車両の車両データを監視する。機械学習構成要素362はまた、予測バッチなどの予測結果データを再検討する。機械学習構成要素362は、様々な予測モデル及び訓練モデルを含むことができる。例示的には、予測モデルは、訓練モデルを使用することによって訓練され得る。例えば、車両が、MOSFETを交換することによって修理されたその車両の通信構成要素に問題を有する場合、機械学習構成要素362の訓練モデルは、特定の車両通信が故障した場合の補正動作が車両通信回路内のMOSFETを診断することであるように、予測モデルを訓練する。
【0124】
ブロック1106において、ネットワークサービス120は、各要求に個別に応答することができる。一実施形態では、ネットワークサービス120は、公開/投稿された車両指令及び関連する仮名識別子のセットを提供することができる。これは、仮名識別子の完全なリスト又は仮名識別子の何らかのソート/フィルタリングされたサブセットの識別を含むことができる。この手法は、車両110が仮名識別子を仮名識別子のリストと照合できることを必要とする。
【0125】
ブロック1108において、ネットワークサービス120は、投稿された仮名指令要求に対する選択された応答を受信することができる。いくつかの実施形態では、車両110は、対象の仮名識別子を送信することができ、次いで、ネットワークサービス120は、一致が生じるかどうかを判定することができる。いくつかの実施形態では、ネットワークサービス120は次いで、通知又は確認で応答することができる。この実施形態は、ネットワークサービス120と車両との間で送信されるデータ量を最小限に抑えることができ、リストを処理して潜在的な一致を識別するための車両の処理リソースへの影響も低減することができる。
【0126】
ブロック1110において、ネットワークサービス120は、受信した選択された応答を処理して、指令要求を実施するように要求された仮名識別子のセットを識別する車両指令要求を投稿することができる。この実施形態では、ネットワークサービス120は、各車両に車両指令要求を能動的に送信する必要はなく、また仮名識別子ごとに連絡機構(例えば、ネットワークアドレス)を具体的に識別する処理機構を含む必要もない。むしろ、個々の車両が、仮名識別子及び車両指令の公開されたリストについてネットワークサービス120に独立して連絡する。ルーチン1100は、ブロック1112で終了することができる。
【0127】
本開示の様々な実施形態は、任意の可能な技術的詳細レベルの統合におけるシステム、方法、及び/又はコンピュータプログラム製品であってもよい。コンピュータプログラム製品は、プロセッサに本開示の態様を実行させるためのコンピュータ可読プログラム命令を有する1つ以上のコンピュータ可読記憶媒体を含むことができる。
【0128】
例えば、本明細書に記載の機能は、ソフトウェア命令が1つ以上のハードウェアプロセッサ及び/又は任意の他の適切なコンピューティングデバイスによって実行される際に、及び/又はソフトウェア命令が実行されるのに応答して実行されてもよい。ソフトウェア命令及び/又は他の実行可能コードは、1つ以上のコンピュータ可読記憶媒体から読み取ることができる。
【0129】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用されるデータ及び/又は命令を保持及び記憶することができる有形の装置であってもよい。コンピュータ可読記憶媒体は、例えば、(任意の揮発性及び/又は不揮発性の電子記憶装置を含む)電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、あるいはこれらの任意の適切な組み合わせであってもよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、ポータブルコンピュータディスケット、ハードディスク、ソリッドステートドライブ、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラマブル読み出し専用メモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読み出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、命令が記録されたパンチカード又は溝内の隆起構造などの機械的に符号化されたデバイス、及び上記の任意の適切な組み合わせを含む。本明細書で使用されるコンピュータ可読記憶媒体は、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体(例えば、光ファイバケーブルを通過する光パルス)を伝搬する電磁波、又はワイヤを介して伝送される電気信号などの一時的な信号自体であると解釈されるべきではない。
【0130】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から、又はネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイドエリアネットワーク及び/又は無線ネットワークを介して外部コンピュータもしくは外部記憶デバイスを介してそれぞれのコンピューティング/処理デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及び/又はエッジサーバを含むことができる。各コンピューティング/処理デバイス内のネットワークアダプタカード又はネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するために転送する。
【0131】
本開示の動作を実行するためのコンピュータ可読プログラム命令(例えば、「コード」、「命令」、「モジュール」、「アプリケーション」、「ソフトウェアアプリケーション」などとも呼ばれる)は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データ、又はJava、C++などのオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語などの手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかであってもよい。コンピュータ可読プログラム命令は、他の命令から、又はそれ自体から呼び出すことができ、かつ/あるいは検出された動作又は割り込みに応答して呼び出すことができる。コンピューティングデバイス上で実行するように構成されたコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体上に、及び/又はその後コンピュータ可読記憶媒体に記憶することができるデジタルダウンロード(実行前にインストール、解凍、もしくは復号を必要とする圧縮形式又はインストール可能な形式で元々格納されていてもよい)として提供することができる。そのようなコンピュータ可読プログラム命令は、コンピューティングデバイスによる実行のために、実行中のコンピューティングデバイスのメモリデバイス(例えば、コンピュータ可読記憶媒体)に部分的又は完全に記憶され得る。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ(例えば、実行中のコンピューティングデバイス)上で、部分的にユーザのコンピュータ上で、スタンドアロンソフトウェアパッケージとして、部分的にユーザのコンピュータ上で、部分的にリモートコンピュータ上で、又は完全にリモートコンピュータ上でもしくはサーバ上で実行することができる。後者のシナリオでは、リモートコンピュータは、ローカル・エリア・ネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、あるいは外部コンピュータに(例えば、インターネットサービスプロバイダを使用し、インターネットを介して)接続されてもよい。いくつかの実施形態では、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、又はプログラマブルロジックアレイ(PLA)を含む電子回路は、本開示の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることによってコンピュータ可読プログラム命令を実行することができる。
【0132】
本開示の態様は、本開示の実施形態による方法、装置(システム)、並びにコンピュータプログラム製品のフローチャート図及び/又はブロック図を参照して本明細書で説明される。フローチャート図及び/又はブロック図の各ブロック、並びにフローチャート図及び/又はブロック図のブロックの組み合わせは、コンピュータ可読プログラム命令によって実施することができることが理解されよう。
【0133】
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能なデータ処理装置のプロセッサに提供されて機械を生成することができ、コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサを介して実行する命令は、フローチャート及び/又はブロック図の1つ以上のブロックで指定された機能/動作を実施するための手段を作成する。これらのコンピュータ可読プログラム命令はまた、コンピュータ、プログラマブルデータ処理装置、及び/又は他のデバイスに特定の方法で機能するように指示することができるコンピュータ可読記憶媒体に格納されてもよく、その結果、格納された命令を有するコンピュータ可読記憶媒体は、フローチャート及び/又はブロック図の1つ以上のブロックで指定された機能/動作の態様を実施する命令を含む製品を含む。
【0134】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能なデバイス、又は他のデバイス上で実行される命令がフローチャート及び/又はブロック図の1つ以上のブロックで指定された機能/動作を実施するように、コンピュータ、他のプログラム可能なデバイス、又は他のデバイス上で一連の動作ステップを実行させてコンピュータ実装プロセスを生成するために、コンピュータ、他のプログラム可能なデバイス、又は他のデバイス上にロードされてもよい。例えば、命令は、最初にリモートコンピュータの磁気ディスク又はソリッドステートドライブ上で搬送されてもよい。リモートコンピュータは、命令及び/又はモジュールをその動的メモリにロードし、モデムを使用して電話、ケーブル、又は光回線を介して命令を送信することができる。サーバコンピューティングシステムにとってローカルなモデムは、電話/ケーブル/光回線上でデータを受信し、適切な回路を含むコンバータデバイスを使用してデータをバス上に配置することができる。バスは、データをメモリに運ぶことができ、メモリからプロセッサが命令を取り出して実行することができる。メモリによって受信された命令は、任意選択的に、コンピュータプロセッサによる実行の前又は後のいずれかに記憶デバイス(例えば、ソリッドステートドライブ)に記憶されてもよい。
【0135】
図のフローチャート及びブロック図は、本開示の様々な実施形態によるシステム、方法、及びコンピュータプログラム製品の可能な実装形態のアーキテクチャ、機能、及び動作を示す。これに関して、フローチャート又はブロック図の各ブロックは、指定された論理機能を実装するための1つ以上の実行可能命令を含むモジュール、セグメント、又は命令の一部を表すことができる。いくつかの代替実施態様では、ブロックに記載された機能は、図に記載された順序から外れて行われてもよい。例えば、連続して示されている2つのブロックは、実際には、実質的に同時に実行されてもよく、又はブロックは、関連する機能に応じて、時には逆の順序で実行されてもよい。更に、一部の実装形態では、いくつかのブロックを省略することができる。本明細書に記載の方法及びプロセスはまた、いかなる特定の順序にも限定されず、それに関連するブロック又は状態は、適切な他の順序で実行されてもよい。
【0136】
また、ブロック図及び/又はフローチャート図の各ブロック、並びにブロック図及び/又はフローチャート図のブロックの組み合わせは、指定された機能又は動作を実行するか、専用ハードウェアとコンピュータ命令の組み合わせを実行する専用ハードウェアベースのシステムによって実装できることにも留意されたい。例えば、前述のセクションで説明したプロセス、方法、アルゴリズム、要素、ブロック、アプリケーション、又は他の機能(もしくは機能の一部)のいずれかは、特定用途向けプロセッサ(例えば、特定用途向け集積回路(ASIC))、プログラマブルプロセッサ(例えば、フィールドプログラマブルゲートアレイ(FPGA))、特定用途向け回路など(これらのうちのいずれかが、技術を達成するために、カスタム・ハードワイヤード・ロジック、論理回路、ASIC、FPGAなどとソフトウェア命令のカスタムプログラミング/実行とを組み合わせることもできる)の電子ハードウェアで具現化され、かつ/又は完全にもしくは部分的に自動化されてもよい。
【0137】
上述のプロセッサのいずれか、及び/又は上述のプロセッサのいずれかを組み込んだデバイスは、本明細書では、例えば、「コンピュータ」、「コンピュータデバイス」、「コンピューティングデバイス」、「ハードウェアコンピューティングデバイス」、「ハードウェアプロセッサ」、「処理ユニット」などと呼ばれ得る。上記実施形態のコンピューティングデバイスは、一般に(必須ではないが)、Mac OS、iOS、Android、Chrome OS、Windows OS(例えば、Windows XP、Windows Vista、Windows 7、Windows 8、Windows 10、Windows Serverなど)、Windows CE、Unix、Linux(登録商標)、SunOS、Solaris、Blackberry OS、VxWorks、又は他の適切なオペレーティングシステムなどのオペレーティングシステムソフトウェアによって制御及び/又は調整することができる。他の実施形態では、コンピューティングデバイスは、独自のオペレーティングシステムによって制御されてもよい。従来のオペレーティングシステムは、実行のためにコンピュータプロセスを制御及びスケジューリングし、メモリ管理を実行し、ファイルシステム、ネットワーキング、I/Oサービスを提供し、とりわけグラフィカルユーザインターフェース(「GUI」)などのユーザインターフェース機能を提供する。
【0138】
上述のように、様々な実施形態において、いくつかの機能が、ウェブベースのビューア(ウェブブラウザなど)又は他の適切なソフトウェアプログラムを介してユーザによってアクセス可能であり得る。そのような実装形態では、ユーザインターフェースは、サーバコンピューティングシステムによって生成され、(例えば、ユーザのコンピューティングシステム上で稼働している)ユーザのウェブブラウザに送信されてもよい。あるいは、ユーザインターフェースを生成するのに必要なデータ(例えば、ユーザインターフェースデータ)が、サーバコンピューティングシステムによってブラウザに提供されてもよく、このブラウザでユーザインターフェースが生成されてもよい(例えば、ユーザインターフェースデータは、ウェブサービスにアクセスするブラウザによって実行されてもよく、ユーザインターフェースデータに基づいてユーザインターフェースをレンダリングするように構成されてもよい)。次いで、ユーザは、ウェブブラウザを介してユーザインターフェースと対話することができる。いくつかの実施態様のユーザインターフェースは、1つ以上の専用ソフトウェアアプリケーションを介してアクセス可能であり得る。いくつかの実施形態では、本開示のコンピューティングデバイス及び/又はシステムの1つ以上が、モバイルコンピューティングデバイスを含むことができ、ユーザインターフェースは、そのようなモバイルコンピューティングデバイス(例えば、スマートフォン及び/又はタブレット)を介してアクセス可能であってもよい。
【0139】
上記の実施形態に多くの変形及び修正を加えることができ、それらの要素は他の許容可能な例に中にあるものとして理解されるべきである。そのような修正及び変形は全て、本開示の範囲内に含まれることが意図されている。上記の説明は、特定の実施形態を詳述している。しかしながら、前述の内容がいかに詳細に記載されていても、システム及び方法は多くの方法で実施され得ることが理解されよう。また、上述のように、システム及び方法の特定の特徴又は態様を説明する際の特定の用語の使用は、その用語が関連付けられているシステム及び方法の特徴又は態様の任意の特定の特性を含むことに限定されるように用語が本明細書で再定義されていることを意味すると解釈されるべきではないことに留意されたい。
【0140】
とりわけ、「できる(can)」、「得る(could)」、「場合がある(might)」、又は「てもよい(may)」などの条件付き言語は、特に明記しない限り、又は使用される文脈内で他の意味で理解されない限り、一般に、特定の実施形態が特定の特徴、要素、及び/又はステップを含むが、他の実施形態は含まなくてもよいことを伝えることを意図している。従って、そのような条件付き言語は、一般に、特徴、要素、及び/又はステップが1つ以上の実施形態に何らかの形で必要とされること、あるいは1つ以上の実施形態が、ユーザ入力又はプロンプトの有無にかかわらず、これらの特徴、要素、及び/又はステップが任意の特定の実施形態に含まれるか、又は実行されるべきかを決定するための論理を必然的に含むことを意味するものではない。
【0141】
句「X、Y及びZのうちの少なくとも1つ」、又は「X、Y、又はZの少なくとも1つ」などの接続語は、特に明記しない限り、項目、用語などがX、Y、又はZのいずれか、あるいはそれらの組み合わせであり得ることを伝えるために一般に使用される文脈で理解されるべきである。例えば、「又は」という用語は、包括的な意味で(排他的な意味ではなく)使用され、例えば、要素のリストを接続するために使用される場合、「又は」という用語は、リスト内の要素の1つ、いくつか、又は全てを意味する。したがって、そのような接続語は、一般に、特定の実施形態がそれぞれ存在するためにXのうちの少なくとも1つ、Yのうちの少なくとも1つ、及びZのうちの少なくとも1つを必要とすることを意味することを意図するものではない。
【0142】
本明細書で使用される「a」という用語には、排他的な解釈ではなく包括的な解釈が与えられるべきである。例えば、特に明記しない限り、「a」という用語は、「正確に1つ」又は「1つのみ」を意味すると理解されるべきではない。代わりに、「a」という用語は、特許請求の範囲又は明細書の他の場所で使用されるかどうかにかかわらず、また特許請求の範囲又は明細書の他の場所で「少なくとも1つ」、「1つ以上」又は「複数」などの数量詞の使用にかかわらず、「1つ以上」又は「少なくとも1つ」を意味する。
【0143】
本明細書で使用される「含む(comprising)」という用語には、排他的な解釈ではなく包括的な解釈が与えられるべきである。例えば、1つ以上のプロセッサを備える汎用コンピュータは、他のコンピュータ構成要素を除外するものとして解釈されるべきではなく、とりわけ、メモリ、入出力デバイス、及び/又はネットワークインターフェースなどの構成要素を含み得る。
【0144】
上記の詳細な説明は、様々な実施形態に関連して新規な特徴を示し、説明し、指摘してきたが、例示したデバイス又はプロセスの形態及び詳細に、本開示の精神から逸脱することなく様々な省略、置換、及び変更を加えることができることが理解され得る。認識され得るように、本明細書に記載の本発明の特定の実施形態は、一部の特徴が他の特徴とは別個に使用又は実施され得るため、本明細書に記載された特徴及び利益の全てを提供しない形態で具体化され得る。本明細書に開示する特定の発明の範囲は、前述の説明ではなく添付の特許請求の範囲によって示される。特許請求の範囲の均等物の意味及び範囲内にある全ての変更は、それらの範囲内に包含されるべきである。
【国際調査報告】