(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-06
(54)【発明の名称】仮名でのロギング及び指示
(51)【国際特許分類】
H04W 4/44 20180101AFI20241029BHJP
H04W 8/18 20090101ALI20241029BHJP
H04W 4/60 20180101ALI20241029BHJP
G06F 21/62 20130101ALI20241029BHJP
【FI】
H04W4/44
H04W8/18
H04W4/60
G06F21/62 345
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024523596
(86)(22)【出願日】2022-10-20
(85)【翻訳文提出日】2024-06-12
(86)【国際出願番号】 US2022047317
(87)【国際公開番号】W WO2023069647
(87)【国際公開日】2023-04-27
(32)【優先日】2021-10-21
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】510192916
【氏名又は名称】テスラ,インコーポレイテッド
(74)【代理人】
【識別番号】110000659
【氏名又は名称】弁理士法人広江アソシエイツ特許事務所
(72)【発明者】
【氏名】ウッド,ミン
(72)【発明者】
【氏名】クフャトコフスキ,ジョー
(72)【発明者】
【氏名】ボッグス,ブライアン
(72)【発明者】
【氏名】シャー,ロッシニ
【テーマコード(参考)】
5K067
【Fターム(参考)】
5K067AA21
5K067BB21
5K067DD11
5K067EE02
5K067EE16
(57)【要約】
本開示は、個々の車両とネットワークサービスとの間の、データ通信の管理に関する。ネットワークサービスでは、仮名識別子を利用して、選択された車両とリモートサービスとの間の、データ通信の管理を容易にすることができる。例示的には、仮名識別子は、車両によって生成された、又は車両上に構成された、少なくともある程度固有の識別子に対応したものとすることができる。仮名の生成/構成は、ネットワークサービスによって、車両、車両所有者、車両ユーザなどに関連付けられたVINなどの、別の識別子が関連付けられないように実装される。例えば、ネットワークサービスでは、車両データの処理に基づいて、仮名識別子に関連付けられた車両への指示を識別することができる。車両では、仮名識別子を車両の仮名識別子と照合することによって、1つ以上の指示を識別することができる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
車両に関連付けられた仮名識別子を使用して、車両データを管理するためのシステムであって、
管理コンポーネントを実装するために、プロセッサ、及び、コンピュータ実行可能命令を実行するためのメモリに関連付けられた、1つ以上の外部コンピューティングデバイスを備え、前記管理コンポーネントが、前記仮名識別子のそれぞれを個々の車両と関連付ける、仮名構成を実行し、前記仮名識別子の構成が、
仮名識別子を識別することと、
前記識別された仮名識別子を格納することと、
前記識別された仮名識別子を送信することと、を含み、
ネットワークサービスが車両データ送信を受信し、前記車両データ送信が、
車両データを収集することと、
前記車両データを前記識別された仮名識別子と関連付けることと、
前記識別された仮名識別子を伴う前記車両データを、前記ネットワークサービスに送信することと、を含み、
かつ、前記ネットワークサービスに車両への指示を要求し、前記車両への指示を要求することが、
車両への指示を書き込むように、ネットワークサービスに送信することと、
前記書き込まれた車両への指示を、受信することと、
前記車両に関連する、少なくとも1つの指示を識別することと、
前記識別された指示を、開始することと、を含む、システム。
【請求項2】
前記車両への指示が、診断、修理、又は更新プロセスなど、前記車両に関連する前記車両への指示を識別することに応答して、前記車両によって実行される命令を含む、請求項1に記載のシステム。
【請求項3】
前記仮名識別子が、前記個々の車両に関連付けられた、様々な、固有の識別子又はある程度固有の識別子の1つである、請求項1に記載のシステム。
【請求項4】
前記個々の車両が、前記車両データを取得し、生成し、かつ維持するための、複数のセンサ、コンポーネント、及びデータストレージを含む、請求項1に記載のシステム。
【請求項5】
前記管理コンポーネントが、前記車両データをコンピューティングデバイスと同期させるように更に構成され、前記コンピューティングデバイスが、前記車両データを無線で通信するように構成される、請求項1に記載のシステム。
【請求項6】
前記コンピューティングデバイスが、前記車両データを前記ネットワークサービスに送信するように構成される、請求項5に記載のシステム。
【請求項7】
前記書き込まれた車両への指示が、前記車両への指示及び関連する仮名識別子のセットを公開するものである、請求項1に記載のシステム。
【請求項8】
前記ネットワークサービスが、
前記仮名識別子による前記車両への指示の、発行要求を受信し、
選択基準と関連付けられた、適切な仮名識別子を識別することによって、前記車両への指示の前記要求を処理し、ここで、前記選択基準が、車両属性の閾値と関連付けられており、前記適切な仮名識別子と関連付けられた前記車両への指示が、書き込まれた車両への指示であり、
前記書き込まれた車両への指示を、前記管理コンポーネントに提供するように構成される、請求項1に記載のシステム。
【請求項9】
車両に関連付けられた仮名識別子を使用して、車両データを管理するためのシステムであって、
車両に関連付けられた、仮名識別子を識別することと、
前記識別された仮名識別子を伴う前記車両データを、ネットワークサービスに送信することと、
ネットワークサービスから、書き込まれた車両への指示を受信することと、
前記車両に関連する、少なくとも1つの指示を識別することと、
前記識別された指示を開始することと、を含む、システム。
【請求項10】
前記車両への指示が、診断、修理、又は更新プロセスなど、前記車両に関連する前記車両への指示を識別することに応答して、前記車両によって実行される命令を含む、請求項9に記載のシステム。
【請求項11】
前記仮名識別子が、個々の前記車両に関連付けられた、様々な、固有の識別子又はある程度固有の識別子の1つである、請求項9に記載のシステム。
【請求項12】
前記車両データをコンピューティングデバイスと同期させることを更に含み、前記コンピューティングデバイスが、前記車両データを通信するように構成される、請求項1に記載のシステム。
【請求項13】
前記コンピューティングデバイスが、前記車両データを前記ネットワークサービスに送信するように構成される、請求項12に記載のシステム。
【請求項14】
前記書き込まれた車両への指示が、前記車両への指示及び関連する仮名識別子のセットを公開するものである、請求項9に記載のシステム。
【請求項15】
前記ネットワークサービスが、
前記仮名識別子による前記車両への指示の、発行要求を受信し、
選択基準と関連付けられた、適切な仮名識別子を識別することによって、前記車両への指示の前記要求を処理し、ここで、前記選択基準が、車両属性の閾値と関連付けられており、前記適切な仮名識別子と関連付けられた前記車両への指示が、書き込まれた車両への指示であり、
前記書き込まれた車両への指示を、前記車両に提供するように構成される、請求項9に記載のシステム。
【請求項16】
車両と関連付けられた仮名識別子を使用して、車両データを管理するための、コンピュータ実装の方法であって、
個々の車両に関連付けられた仮名識別子を、識別することと、
前記識別された仮名識別子を、格納することと、
前記識別された仮名識別子を、ネットワークサービスに送信することと、
前記車両データを、前記識別された仮名識別子と関連付けることと、
前記識別された仮名識別子を伴う車両データを、ネットワークサービスに送信することと、
車両への指示を書き込むように、ネットワークサービスに送信すること、
書き込まれた車両への指示を、受信することと、
前記車両に関連する、少なくとも1つの指示を識別することと、
前記識別された指示を、開始することと、を含む方法。
【請求項17】
前記車両への指示が、診断、修理、又は更新プロセスなど、前記車両に関連する前記車両への指示の識別に応答して、前記車両によって実行される命令を含む、請求項16に記載のコンピュータ実装の方法。
【請求項18】
前記仮名識別子が、前記個々の車両に関連付けられた、様々な、固有の識別子又はある程度固有の識別子の1つである、請求項16に記載のコンピュータ実装の方法。
【請求項19】
前記個々の車両が、前記車両データをコンピューティングデバイスと同期させるように更に構成され、前記コンピューティングデバイスが、前記車両データを無線で通信するように構成される、請求項16に記載のコンピュータ実装の方法。
【請求項20】
前記コンピューティングデバイスが、前記車両データを前記ネットワークサービスに送信するように構成される、請求項19に記載のコンピュータ実装の方法。
【請求項21】
前記ネットワークサービスが、
前記仮名識別子による前記車両への指示の、発行要求を受信し、
選択基準と関連付けられた、適切な仮名識別子を識別することによって、前記車両への指示の前記要求を処理し、ここで、前記選択基準が、車両属性の閾値と関連付けられており、前記適切な仮名識別子と関連付けられた前記車両への指示が、書き込まれた車両への指示であり、
前記書き込まれた車両への指示を、前記個々の車両に提供するように構成される、請求項16に記載のコンピュータ実装の方法。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、2021年10月21日に出願された「PSEUDONYMOUS LOGGINGAND DIRECTIVES」と題する米国仮特許出願第63/262864号の優先権を主張する本出願であり、その全体があらゆる目的のために参照により本明細書に組み込まれる。
【背景技術】
【0002】
一般的に、コンピューティングデバイス及び通信ネットワークを利用して、データ及び/又は情報を交換することができる。一般的な用途において、通信ネットワークを介して、コンピューティングデバイスから他のコンピューティングデバイスにコンテンツを要求することができる。例えば、パーソナルコンピューティングデバイスのユーザは、ブラウザアプリケーションを利用して、ネットワーク(例えば、インターネット)を介して、サーバコンピューティングデバイスにコンテンツページ(例えば、ネットワークページ、ウェブページなど)を要求することができる。そのような実施形態では、ユーザコンピューティングデバイスをクライアントコンピューティングデバイスと呼び、サーバコンピューティングデバイスをコンテンツプロバイダと呼ぶことができる。別の実施形態では、ユーザコンピューティングデバイスで情報を収集又は生成し、更なる処理又は分析を行うために、収集した情報をサーバコンピューティングデバイスに提供することができる。
【0003】
一般的に、電気自動車、内燃機関自動車、ハイブリッド車などの様々な車両は、車両に関する情報を収集するように構成することができる。特定のシナリオでは、例えば車両性能特性を監視又は計算するために、サービスプロバイダから、動作パラメータ、センサ値、又は車両に関連する他の情報にアクセスしたい場合がある。他のシナリオでは、処置の実施を要求するために、サービスプロバイダから、1人又はそれ以上の車両ユーザ又は所有者に連絡したい場合がある。
【図面の簡単な説明】
【0004】
本明細書では、特定の実施形態の図面を参照して、本開示の説明を行う。それらの実施形態は、本開示を限定するのではなく、本開示の例示を意図するものである。本明細書に組み込まれ、本明細書の一部を構成する添付図面は、本明細書に開示された概念を説明するためのものであり、縮尺通りでない場合があることを理解されたい。
【0005】
【
図1】本出願の1つ以上の態様による、ネットワークサービスとの車両通信を提供するための、例示的な環境のブロック図を示す。
【0006】
【
図2】本出願の1つ以上の態様による、車両に相当する例示的な環境のブロック図を示す。
【0007】
【
図3A】本出願の態様による、管理コンポーネントを実装するための例示的なアーキテクチャを示す。
【0008】
【
図3B】本出願の態様による、車両データサービスを実施するための例示的なアーキテクチャを示す。
【0009】
【
図4】一実施形態による、仮名(偽名、匿名)を生成するための、ネットワークサービスと個々の車両との間の対話の、例示的な環境のブロック図である。
【0010】
【
図5】一実施形態による、1つ以上の仮名識別子に基づく車両データの送信のための、ネットワークサービスと個々の車両との間の対話の、例示的な環境のブロック図である。
【0011】
【
図6】一実施形態による、車両への指示を送信するための、ネットワークサービスと個々の車両との間の対話の、例示的な環境のブロック図である。
【0012】
【
図7】車両への指示を送信するための、ネットワークサービス120とコンピューティングデバイス130との間の、代替実施形態の対話の、例示的な環境のブロック図である。
【0013】
【
図8】本明細書に記載の1つ以上の実施形態による、車両仮名管理のためのルーチンを説明する、フローチャートである。
【0014】
【
図9】本明細書に記載の1つ以上の実施形態による、車両データ送信のためのルーチンを説明する、フローチャートである。
【0015】
【
図10】本明細書に記載の1つ以上の実施形態による、車両への指示要求を処理するためのルーチンを説明する、フローチャートである。
【0016】
【
図11】本明細書に記載の1つ以上の実施形態による、車両への指令要求を処理するためのルーチンを説明する、フローチャートである。
【発明を実施するための形態】
【0017】
概して、本開示の1つ以上の態様は、車両から提供されるデータ、又は車両によって実施される処置の、構成及び管理に関する。例示的な実施例として、本出願の態様は、個々の車両とネットワークサービスとの間の、データ通信の管理に相当するものである。例示的には、車両データには、車両運転情報、車両パラメータ、センサ構成情報、センサ値、周囲情報などを含めることができるが、これらに限定されない。他の例示的な実施例では、本出願の態様は、ネットワークサービスによって生成された通信に基づいて、車両の選択サブセットによって実施される、動作又は指示の管理に相当するものである。
【0018】
一般的には、車両情報へのアクセスは、車両データ及び車両を、個人又は車両に固有の識別情報に関連付ける用途に、概ね限定されてきた。例えば、複数のサービスでは、製造時に車両に割り当てられた車両識別番号(VIN:Vehicle Identification Number)としての、固有の識別子に従って、車両所有権、車両性能データ、車両メンテナンス情報などを追跡することができる。従来、車両のVINナンバーは、登録された所有者の、個々の情報にも関連付けられている。したがって、そのような実装形態では、VINナンバーに関連付けられた車両データを受信するサービスプロバイダが、受信したすべての運転データ及び性能データを個々のユーザに密接に関連付けることができるように、車両へのVINナンバーの密接な関連付けが必要とされる。したがって、VINナンバーはサービスプロバイダと車両の両方で知られており、更に所有者に関連付けられているため、車両データの通知及び処理にVINナンバーを利用することによって、プライバシーを保護することができない。そのようなシステム/手法は、操作違反又はセキュリティ違反に対して脆弱なおそれがある。
【0019】
上記の非効率性の少なくとも一部に対処するために、ネットワークサービスでは、仮名識別子を利用して、特定の車両とリモートサービスとの間の、データ通信の管理を容易にすることができる。例示的には、仮名識別子は、車両によって生成された、又は車両上に構成された、少なくともある程度固有の識別子に対応したものとすることができる。仮名の生成/構成は、ネットワークサービスによって、車両、車両所有者、車両ユーザなどに関連付けられたVINなどの、別の識別子が関連付けられないように実装される。この点で、個々の仮名識別子は、車両識別情報又はユーザ識別情報との関連付けなしに送信及び処理することのできる、個々の車両の論理的で汎用的な識別子である。
【0020】
車両には、ネットワークサービスとの双方向通信を確立することのできる、ネットワーク通信機能を含めることができる。ある実施形態では、個々の車両によって、仮名識別子(複数可)が生成/構成され、生成された仮名識別子は、ネットワークサービスに登録される。その後、車両によって、仮名識別子に関連付けられた車両データ(例えば、性能評価指標、運転状態、センサ値など)を収集して、送信することができる。それと引き換えに、ネットワークサービスでは、仮名識別子以外の車両データ(例えば、特定のVIN又は他の識別子)の、特定のソースを識別することなく、複数の車両の車両データを受信することができる。次いで、ネットワークサービスでは、収集した車両データを診断処理、使用処理などの処理に利用することができる。
【0021】
特定の実施形態では、ネットワークサービスのユーザが、収集した車両データに対応する選択基準を満たす、特定の車両が実施すべき、何らかの処置を引き出したい場合がある。例えば、ネットワークサービスでは、選択基準を満たす車両へのサービス要求、又は、診断/是正処理の実行を引き出そうとする、処置要求を受信することができる。別の実施例では、ネットワークサービスでは、選択基準を満たす車両のユーザ/所有者に、通知を提供しようとする、処置要求を受信することができる。選択基準を満たす収集データは、仮名識別子にのみ関連付けられているため、ネットワークサービスによって、直接的な通信などを介して、対象車両に通信を直接送信することができない。したがって、ネットワークサービスでは、何らかの応答処置を実施するように要求された仮名のリストに相当する、車両への指示を発行することができる。
【0022】
ある実施形態では、車両データを、パーソナルモバイルデバイスなどのコンピューティングデバイスと周期的に同期させるように、車両を構成することができる。こうした実施形態では、車両及びコンピューティングデバイスは、車両データを送信/受信するために、双方向通信を確立するように構成することができる。コンピューティングデバイスには、ネットワークサービスとの双方向通信を確立することのできる、ネットワーク通信機能を含めることもできる。こうした実施形態では、コンピューティングデバイスは、仮名識別子に関連付けられた車両データを、収集し送信するように構成することができる。コンピューティングデバイスによって、車両に関連付けられた仮名識別子を識別し、ネットワークサービスから1つ以上の指示を受信することもできる。
【0023】
特定の実施形態では、コンピューティングデバイスは、二次ネットワークとして、ネットワークサービスと通信するように構成することができる。例えば、車両とネットワークサービスとの間の通信が切断又は中断された場合、コンピューティングデバイスによって、ネットワークサービスとの二次通信チャネルを確立し、ネットワークサービスと通信し続けることができる。こうした実施形態では、コンピューティングデバイスによって、リアルタイムで、又はコンピューティングデバイスがネットワークサービスとの通信手段を確立した後に、車両との同期を実行することができる。したがって、コンピューティングデバイスを利用することにより、車両とネットワークサービスとの間の、ネットワーク耐久性又は信頼性を高めることができる。
【0024】
特定の実施形態では、車両とコンピューティングデバイスの両方によって、ネットワークサービスから生成された1つ以上の指示に対する、応答を提供することができる。こうした実施形態では、ネットワークサービスに最初の応答信号を送信する車両又はコンピューティングデバイスには、ネットワークサービスとの通信における優先権がある。例えば、ネットワークサービスが、車両から応答信号を受信する前にコンピューティングデバイスから応答信号を受信する場合、ネットワークサービスでは、コンピューティングデバイスと通信することができる。
【0025】
その後、個々の車両は、仮名で発行された車両への指示リストをポーリングし、列挙された仮名のいずれかが、個々の車両の仮名と一致するかどうかを判定するように構成される。仮名が一致する場合、車両では、応答処置の実施を引き起こすことができる。例えば、車両によって、要求された診断処置、又は異常の是正を実施することができる。別の実施例では、車両によって、追加の情報を用いてネットワークサービスへの更なる通信を生成するか、あるいは、車両から更なる命令を要求することができる。追加の情報又は送信では、ネットワークサービスによって、一致する仮名識別子が追加の送信に関連付けられないように、仮名識別子を省略することができる。例示的には、ある実施形態では、発行された仮名のリストは、VIN又は他の識別情報を含む応答処置が、着信応答に直接結び付けられないように、十分な規模のものである。
【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は、仮想化されている場合もあれば、ベアメタルの場合もある。ネットワークサービス120では、ユーザのコマンドに応答して、プログラムに従ってプロビジョニング及びリリースすることのできる、設定可能なコンピューティングリソースの共有プールへの、オンデマンドでのネットワークアクセスを実現することができる。変動する負荷に合わせて、これらのリソースを、動的にプロビジョニングし、かつリコンフィギュアすることができる。このように、「クラウドコンピューティング」又は「ネットワークベースのコンピューティング」という概念は、ネットワークを介してサービスとして提供されるアプリケーション、並びに、それらのサービスを提供する、ネットワークサービスのハードウェア及びソフトウェアの両方として考えることができる。
【0029】
ある実施形態では、ネットワーク150は、インターネットを介してネットワークサービス120とセキュアに通信する、ローカルエリアネットワークなどの、セキュアなネットワークとすることができる。ネットワーク150には、任意の有線ネットワーク、無線ネットワーク、又はそれらの組み合わせを含めることができる。例えば、ネットワーク150は、パーソナルエリアネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、(例えば、ラジオ又はテレビ用の)無線放送ネットワーク、ケーブルネットワーク、衛星ネットワーク、携帯電話ネットワーク、又はそれらの組み合わせとすることができる。更なる実施例として、ネットワーク150は、インターネットなどの、様々な異なる当事者によって運用されることのある、リンクされたネットワークの、公的にアクセス可能なネットワークとすることができる。ある実施形態では、ネットワーク150は、企業又は大学のイントラネットなどの、プライベート又はセミプライベートネットワークとすることができる。ネットワーク150には、例えばGSM(Global System for Mobile Communications)ネットワーク、CDMA(Code Division Multiple Access)ネットワーク、LTE(Long Term Evolution)ネットワーク、5G(5世代無線通信)、又はその他あらゆるタイプの無線ネットワークのような、1つ以上の無線ネットワークを含めることができる。ネットワーク150では、インターネット又は他の前述したタイプのネットワークのいずれかを介して通信するための、プロトコル及びコンポーネントを使用することができる。例えば、ネットワーク150によって使用されるプロトコルには、HTTP(Hypertext Transfer Protocol)、HTTPセキュア(HTTP Secure)、MQTT(Message Queue Telemetry Transport)、CoAP(Constrained Application Protocol)などがある。インターネット、又は、他の前述したタイプの通信ネットワークのいずれかを介して通信するためのプロトコル及びコンポーネントは、当業者に周知のものであり、したがって、本明細書ではより詳細な説明は行わない。
【0030】
ある実施形態では、車両110のそれぞれが、コンピューティングデバイス130及びネットワーク160に接続される。こうした実施形態では、ネットワーク160には、例えば、1つ以上の直接通信チャネル、ローカルエリアネットワーク、ワイドエリアネットワーク、パーソナルエリアネットワーク、及び/又はインターネットなどの有線及び/又は無線ネットワークの、あらゆる組み合わせが含まれる。ある実施形態では、車両110とコンピューティングデバイス130との間の通信は、ブルートゥース(登録商標)、ブルートゥース(登録商標)ローエナジー(BLE:Bluetooth Low Energy)、及び/又は近距離無線通信(NFC:Near Field Communications)などの、短距離通信プロトコルを介して実行することができる。ある実施形態では、ネットワーク160を、ネットワーク150のバックアップネットワークとして利用することができる。例えば、車両110とネットワークサービス120との間の通信が切断又は中断された場合、コンピューティングデバイス130とネットワークサービス120との間のネットワークを利用して、通信を実行することができる。ある実施形態では、ネットワーク160を利用することによって、車両データを周期的に同期させることができる。特定の実施形態では、各コンピューティングデバイス130は、複数の車両110とネットワーク160を確立することができる。
【0031】
ある実施形態では、ネットワーク150、160には、同じ通信プロトコル、サービス、ハードウェアなどの、一部又はすべてを含めることができる。したがって、本明細書の記述では、ネットワーク160を介した車両110とコンピューティングデバイス140との間の通信、並びに、ネットワーク150を介した車両110、ネットワークサービス120、サードパーティサービスプロバイダ130、及びコンピューティングデバイス140の間の通信を説明することがあるが、デバイス及び/又はネットワークベースのサービスの通信は、そのように限定されない。本明細書で説明する様々な通信プロトコルは、単なる実施例であり、本出願はそれらに限定されるものではない。
【0032】
ある実施形態では、(例えば、ユーザデバイスとも呼ばれる)コンピューティングデバイス130は、デスクトップ、ラップトップ又はタブレットコンピュータ、パーソナルコンピュータ、タブレットコンピュータ、ウェアラブルコンピュータ、サーバ、パーソナルデジタルアシスタント(PDA:Personal Digital Assistant)、PDA/携帯電話のハイブリッド、携帯電話、スマートフォン、セットトップボックス、音声コマンドデバイス、デジタルメディアプレーヤといった、任意のコンピューティングデバイスにすることができる。本明細書で説明するように、ユーザが対話型のユーザインタフェースにアクセスし、画像、分析結果、集計データなどを閲覧することができるアプリケーション(例えば、ブラウザ、スタンドアロンアプリケーションなど)を、コンピューティングデバイス130によって実行することができる。様々な実施形態において、コンピューティングデバイス130のユーザは、様々なデバイスを介して、車両及び/又はネットワークサービスと対話することができる。そのような対話は、典型的には、対話型グラフィカルユーザインタフェース、又は音声コマンドを介して実現することができるが、その代わりに、コマンドライン及び/又は他の手段を介して実現することもできる。
【0033】
例示的には、ネットワークサービス120には、本出願の態様に適用されるように、車両110及び/又はコンピューティングデバイス130から受信したデータに応答する機能を提供することのできる、車両データサービス122を含めることができる。ある実施形態では、特定の車両に関連付けられた仮名識別子(複数可)を伴う車両データが、車両から車両データサービス122に周期的に送信される。こうした実施形態では、車両データサービス122で、車両から受信した車両データを処理し、指示を提供することができる。例えば、車両データサービス122では、複数の車両110からの車両データが受信され、ここで、各車両は仮名識別子に関連付けられている。次いで、車両データサービス122によって、各指示について、仮名識別子を伴う車両データが処理され、指示が書き込まれる。ネットワークサービス120には、処理されたデータ、及び/又は、複数のデータから受信した車両データを格納するように構成された、車両データストレージ124を更に含めることができる。ネットワークサービスは、簡略化された論理形式で表わされるものであり、ネットワークベースのサービスに関する機能を実現するために実装することのできる、物理的なソフトウェア構成要素及びハードウェア構成要素のすべてを示すものではない。
【0034】
各車両110には、複数の通信媒体及び通信プロトコルのうちの1つを介して対話を促進する、ハードウェア及びソフトウェアなどの通信機能を含めることができる。より具体的には、車両には、運転データを含む車両データを取得し、生成し、かつ維持するための、複数のセンサ、コンポーネント、及びデータストレージが含まれる。いくつかの実施形態では、各コンポーネントによって提供される情報には、コントローラ、論理ユニット、プロセッサなどによってセンサ情報が処理され、追加情報が生成された、処理情報を含めることができる。例えば、視覚ステムでは、1以上のカメラセンサからの入力を利用して出力を提供することができる(例えば、未加工のカメラ画像データを処理し、かつ、未加工のカメラ画像情報の処理に対応した出力を生成する)。このカメラセンサは、車両の運転状態、周囲状態、又はその他の情報を判定するための視覚システムに関連付けられた、センサコンポーネントとすることができる。他の実施形態では、非カメラセンサコンポーネントなどのセンサコンポーネントからカメラセンサを分離することができ、車両には複数のカメラセンサを備えることができる。更に別の実施例では、測位システム、カレンダシステム、又は時間ベースのシステムから取得された、又はそれらに関連付けられた追加情報を、制御コンポーネントで利用することができる。
【0035】
図2は、例示のために、本出願の1つ以上の態様による、車両110に相当する環境を示すものである。例示的には、個々の車両には、本明細書に記載する本出願の、1つ以上の態様を実施するように動作することのできる、管理コンポーネント210が含まれる。一態様において、ネットワークサービスで車両を識別するために利用されることになる仮名識別子(複数可)を、管理コンポーネント210によって生成又は構成することができる。仮名識別子は、様々な、固有の識別子、又はある程度固有の識別子の、いずれか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:Wireless Local Area Network)アクセスポイント、ブルートゥース(登録商標)、無線周波数識別(RFID:Radio-Frequency Identification)といった情報源からの情報を処理するための、様々なハードウェア構成要素及びソフトウェア構成要素を含めることができる。ある実施形態では、測位システムによって、複数の情報源からの情報を組み合わせて取得することができる。例示的には、測位システムによって、様々な入力源から情報を取得し、車両の測位情報、特に現在位置における高度を特定することができる。他の実施形態では、測位システムによって、例えば進行方向、速度、加速度といった、走行関連の運転パラメータを判別することもできる。自動運転用途、拡張運転、又はユーザ支援ナビゲーションなどを含む複数の目的のために、車両の一部として、測位システムを構成することができる。例示的には、処理コンポーネント、及び、様々な車両パラメータ又は処理情報の識別に役立つデータを、測位システムに含めることができる。
【0039】
更に別の態様では、センサ群212には、ナビゲーション関連情報を識別するための、1つ以上のナビゲーションシステムを含めることができる。例示的には、ナビゲーションシステムによって、測位システムから測位情報を取得し、かつ、高度、道路勾配など、特定された場所に関する特性又は情報を識別することができる。ナビゲーションシステムによって、車両ユーザにもたらされる、又は予測される方向に基づいて、複数車線道路における推奨車線位置、又は所定の車線位置を決定することもできる。位置情報システムと同様に、自動運転用途、拡張運転、又はユーザ支援ナビゲーションなどを含む複数の目的のために、ナビゲーションシステムを車両の一部として構成することができる。
【0040】
ローカルリソースには、各車両110、又は車両からアクセスできるコンピューティングデバイス130(例えば、モバイルコンピューティングデバイス)上で動作することのできる、1つ以上の管理コンポーネント210(複数可)が更に含まれる。例示的には、管理コンポーネント210(複数可)では、様々なセンサ群212からの入力にアクセスし、入力されたデータを処理し、処理されたデータを格納することができる。本出願の目的のために、例示的な態様に関連する1つ以上の機能に関して、管理コンポーネント210(複数可)の説明を行う。例えば、管理コンポーネント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には、1つ以上の実施形態を実現するために処理ユニット302によって実行される、コンピュータプログラム命令を含めることができる。メモリ310としては、一般に、RAM、ROM、又はその他の永続メモリ、又は非一時的メモリがある。メモリ310には、管理コンポーネント210の全体的な管理及び動作において、処理ユニット302で使用されるコンピュータプログラム命令を提供する、オペレーティングシステム314を格納することができる。更に、メモリ310には、本開示の態様を実施するための、コンピュータプログラム命令及び他の情報を含めることができる。
【0046】
メモリ310には、仮名識別子(複数可)の管理コンポーネント316を含めることができる。仮名識別子(複数可)の管理コンポーネント316は、車両データと関連付けることによって、仮名識別子(複数可)を生成又は構成するように構成することができる。個々の仮名識別子は、車両識別情報又はユーザ識別情報との関連付けなしに送信及び処理することのできる、個々の車両の論理的で汎用的な識別子である。仮名識別子は、様々な、固有の識別子、又はある程度固有の識別子の、いずれか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は、仮名識別子のリストを伴う車両への指示を書き込むように構成することができる。
【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には、1つ以上の実施形態を実現するために処理ユニット342によって実行される、コンピュータプログラム命令を含めることができる。メモリ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によって、各車両に車両への指示要求を能動的に送信する必要はない。あるいは、指示書込みコンポーネント356には、各仮名識別子について連絡メカニズム(例えば、ネットワークアドレス)を具体的に識別する、処理メカニズムを含める必要はない。むしろ、個々の車両から、仮名識別子及び車両への指示に関する公開されたリストについて、ネットワークサービスに個別に連絡が行われる。
【0059】
ある実施形態では、指示書込みコンポーネント356によって、仮名識別子のリストを伴う、車両への指示が書き込まれる。例示的には、個々の車両を、要求を同時に送信するように構成する必要はない。ネットワークサービスによるネットワーク処理のリソース要件を軽減すべく、要求の送信を分散させることができるように、要求の送信をランダム化する、又は、(例えば、1日の内の)ある範囲の時間に実施することができる。一実施形態では、指示書込みコンポーネント356によって、公開/書込みされた車両への指示及び関連する仮名識別子のセットを提供することができる。これには、仮名識別子の完全なリスト、又は、何らかのソート/フィルタリングが行われた仮名識別子のサブセットの、識別を含めることができる。この手法では、車両によって、仮名識別子を仮名識別子のリストと照合できる必要がある。別の実施形態では、車両から、対象となる仮名識別子(複数可)を送信することができ、次いで、指示書込みコンポーネント356によって、一致が生じるかどうかを判定することができる。そして、ネットワークサービスから、通知又は確認結果を応答することができる。この実施形態では、ネットワークサービスと車両との間で送信されるデータ量を、最小限に抑えることができる。更に、この実施形態の態様では、可能性のある一致を識別するためにリストを処理する、車両の処理リソースへの影響を低減することもできる。
【0060】
メモリ350には、ネットワーク要求コンポーネント358を、更に含めることができる。ネットワーク要求コンポーネント358によって、ネットワーク帯域幅といったネットワーク性能情報を収集することができる。あるいは、所定の双方向データ通信プロトコルといった、車両データへのアクセスにおける所定の規則によって、ネットワーク性能情報を収集することができる。ある実施形態では、ネットワーク要求コンポーネント358によって、車両との通信を開始するタイミングを特定することができる。通信を開始するこのタイミングは、車両に車両データを要求するタイミングとすることができる。ある実施形態では、ネットワーク要求コンポーネント358によって、車両データの要求を開始するタイミング、要求する車両データなどを決定するために、ネットワーク性能情報を監視することができる。例えば、ネットワーク要求コンポーネント358では、収集したネットワーク性能情報を利用して、いつ車両データ要求を開始できるか決定することができる。別の実施例では、ネットワーク要求コンポーネント358では、ネットワーク性能情報を利用して、(相対的に)ネットワーク状態の品質が低い時に、様々な要求情報の間でより優先順位の高い情報を選択するといった、選択又はフィルタリングを行うことができる。更なる実施例では、ネットワーク状態の品質がより大きく変動している、又は状態が悪化しているとみなされるシナリオにおいて、ネットワーク要求コンポーネント358によって、様々なタイミング又は間隔で、データ伝送を実施することができる。例示的には、利用可能な帯域幅、遅延測定値、伝送エラーレートなどをネットワーク性能情報に含めることができるが、これらに限定されない。
【0061】
ある実施形態では、ネットワーク性能の低下が検出されたことに応答して、ネットワーク要求コンポーネント358によって、コンピューティングデバイス130との二次ネットワーク通信経路を構成することができる。例えば、車両及びネットワークサービスでは、最初にネットワーク150を介して通信することができる。この実施例では、車両110にネットワーク接続の切断又は中断があることが、ネットワーク要求コンポーネント358で検出された場合、ネットワーク要求コンポーネント358によって、車両110に関連するコンピューティングデバイス130に、車両110を自動的に接続することができる。
【0062】
ある実施形態では、ネットワーク要求コンポーネント358によって、車両とネットワークサービスとの間、又はコンピューティングデバイスとネットワークサービスとの間の、初期通信経路を決定することができる。例えば、ネットワーク要求コンポーネント358によって、基準に基づいて、コンピューティングデバイス及び車両の一方との、初期通信経路を確立することができる。この基準は、ネットワーク要求コンポーネント358で受信された、応答のタイミングに基づくものにすることができる。例えば、ネットワーク要求コンポーネント358が、コンピューティングデバイスからの応答より先に、車両からの応答を受信した場合、ネットワーク要求コンポーネント358によって、車両とネットワークサービスとの間の、初期通信経路を確立することができる。この基準は、ネットワーク性能の監視結果に基づくものにすることができる。例えば、ネットワーク要求コンポーネント358によって、車両及びコンピューティングデバイスとのネットワーク接続の、ネットワーク性能を比較することができる。
【0063】
ここで
図4を参照して、仮名を生成するための、ネットワークサービスと個々の車両との間の、例示的な対話の説明を行う。一連の対話が示されているが、本出願は、ネットワークサービスとの対話を行う、特定の数の車両に限定されない。むしろ、ある実施形態では、個々の車両とネットワークサービスとの間の対話の数は、数千台以上の個別の車両を含む、比較的大規模なものになる。
【0064】
(1)において、車両110では、ネットワークサービス120で各車両110を識別するために利用されることになる仮名識別子(複数可)を、(例えば管理コンポーネント210によって)生成又は構成することができる。上述したように、仮名識別子は、様々な、固有の識別子、又はある程度固有の識別子の、いずれか1つに対応したものとすることができる。仮名識別子は、特定のハードウェア構成要素又はソフトウェア構成要素の表現といった、車両110の属性に基づくものにすることができる。別の実施例では、ランダムセレクションなどの、利用することのできる仮名識別子のリストから、仮名識別子を選択することができる。仮名識別子(複数可)の生成又は構成は、製造時、製造業者からのリリース時などに行うことができる。
【0065】
(2)において、車両110では、通信で使用するために、ローカルメモリに仮名識別子を格納することができる。仮名識別子は、ユーザ又は外部サービスによる仮名識別子の変更又は破損を防ぐために、暗号化メカニズム又は他のセキュリティメカニズムに関連付けることができる。
【0066】
(3)において、個々の車両110から、(車両データサービス122などの)ネットワークサービス120に、仮名登録情報を送信することができる。このプロセスは、車両110とネットワークサービス120間で仮名識別子を送信することの、最初のインスタンス化を示すものである。これらの送信は並行して送信されるものとして示されているが、車両110のうちの1つを、様々な時点で、又は、新しい所有者への車両の配送などのトリガ基準に応答して、ネットワークサービス120に登録するようにトリガすることができる。ある実施形態では、仮名送信のタイミングを、ランダムに生成された番号などの、シード値に基づくものにすることができる。そのため、仮名の送信は、車両の配送又は仮名の生成のタイミングに、密接に関連しない。
【0067】
(4)において、ネットワークサービス120では、仮名識別子を伴う登録データが処理される。例示的には、ネットワークサービス120によって、送信された仮名識別子のみに基づいて、かつ、VIN又はユーザ識別子といった、車両に関連する他の識別情報と更に関連付けることなく、1つ以上のレコード、データストアなどをインスタンス化することができる。
【0068】
ここで
図5を参照し、1つ以上の仮名識別子に基づいて車両データの送信を行うための、ネットワークサービス120と車両110の個別の車両との間の、例示的な対話の説明を行う。上述したように、一連の対話が示されているが、本出願は、ネットワークサービスとの対話を行う、特定の数の車両110に限定されない。むしろ、ある実施形態では、個々の車両110とネットワークサービス120との間の対話の数は、数千台以上の個別の車両を含む、比較的大規模なものになる。
【0069】
(1)において、車両110では、(例えば管理コンポーネント210によって)車両データを収集することができる。上述したように、車両には、運転データを含む車両データを取得し、生成し、かつ維持するための、複数のセンサ、コンポーネント、及びデータストレージが含まれる。プログラムされた構成データに基づいて、又は、ユーザによる手動入力に基づいて、又は、ネットワークサービス(図示せず)からの要求に応答して、車両データの収集及び処理を行うことができる。
【0070】
(2)において、車両110では、車両データを、ローカルメモリに保持されている、以前に格納された仮名識別子に関連付けることができる。仮名識別子及び車両データは、ユーザ又は外部サービスによる仮名識別子の変更又は破損を防ぐために、暗号化メカニズム又は他のセキュリティメカニズムに関連付けることができる。
【0071】
(3)において、1つ以上の車両110では、車両データをコンピューティングデバイス130と同期させることができる。ある実施形態では、この同期を、周期的に、又はリアルタイムで実行することができる。ある実施形態では、データの一部を、コンピューティングデバイス130と同期させることができる。こうした実施形態では、ユーザ、車両製造業者、車両管理者などによって、このデータの一部を定義又は指定することができる。例えば、コンピューティングデバイス130では、エンジンオイルの管理データに関連する、同期された車両データのみが取得される。この実施例において、コンピューティングデバイス130では、データを車両の仮名識別子と関連付けることによって、エンジンオイルの管理データを、ネットワークサービス120に直接送信することができる。ある実施形態では、プロセス(3)は任意選択のプロセスとすることができる。
【0072】
(4)において、個々の車両から、生成された仮名識別子を伴う車両データを、ネットワークサービスに送信することができる。単一の送信として示されているが、関連する仮名識別子を伴う車両データの収集及び送信は、複数の送信に対応したものとすることができる。こうした送信を、個々の車両ごとに、又は車両のグループごとに、スケジュールすることができる。更に、これらの送信は並行して送信されるものとして示されているが、車両は、様々な時点で、又は、エラー、特定のセンサ値、蓄積された車両データの閾値、車両データ値の変化といったトリガ基準に応答して、車両データをネットワークサービスに送信するようにトリガすることができる。(4)において、ネットワークサービスでは、仮名識別子を伴う車両データが処理される。例示的には、ネットワークサービスでは、VIN又はユーザ識別子といった、車両に関連する他の識別情報と更に関連付けることなく、以前に送信された仮名識別子に関連する、インスタンス化されたレコード、データストアなどを利用することができる。したがって、ネットワークサービスでは、例示的には、送信された車両データを提供した(又は、それに関連する)、特定の車両、又は車両所有者を識別するのに必要な情報を有することなく、性能又は運転パラメータを含む、車両に関する詳細な情報を受信することができる。
【0073】
ある実施形態では、車両110とネットワークサービス120との間のネットワーク接続が切断又は中断された場合、コンピューティングデバイス130によって、同期した車両データをネットワークサービス120に送信することができる。例えば、短距離データ通信ネットワークなどのネットワーク160を利用することによって、コンピューティングデバイス130及び車両110を、車両データと周期的に同期させることができる。この実施例では、車両110がネットワーク150に接続できない場合、コンピューティングデバイス130から、車両データをネットワークサービス120に送信することができる。
【0074】
ここで
図6を参照し、1つ以上の仮名識別子による車両への指示を送信するための、ネットワークサービス120と車両110の個別の車両との間の、例示的な対話の説明を行う。上述したように、一連の対話が示されているが、本出願は、ネットワークサービス120との対話を行う、特定の数の車両110に限定されない。むしろ、ある実施形態では、個々の車両110とネットワークサービス120との間の対話の数は、数千台以上の個別の車両を含む、比較的大規模なものになる。
【0075】
(1)において、ネットワークサービス120では、仮名で格納された車両データを処理することができる(又は、処理する要求を受信することができる)。一実施形態において、ネットワークサービス120では、収集された性能データを分析して、仮名識別子に関連付けられた車両110が実施すべき、1つ以上の処置を識別することができる。例えば、ネットワークサービス120では、収集された車両データによって示される、潜在的なハードウェア又はソフトウェアのエラー/障害を識別する、診断プロセスを実施することができる。別の実施例では、ネットワークサービス120では、運転パラメータ、車両属性、運転領域、使用特性といった車両データに基づいて、一連の車両110をグループ化又は編成することを容易にする、処理技術を利用することができる。ある実施形態では、格納された車両データの処理を省略する、又は、別個のプロセスとして実施することができ、本明細書では必要とされない。
【0076】
(2)において、ネットワークサービス120では、仮名による車両への指示の発行要求が受信される。例示的には、車両への指示は、車両での受信時に引き出される、1つ以上の処置及び関連するパラメータに対応するものである。一態様では、この指示には、診断、修理、又は更新プロセスなど、それに応答して車両で実行される、命令を含めることができる。1つ以上の処置は、必須又は任意選択であると見做すことができる。別の態様では、車両への指示には、サービスコールをスケジューリングするための通知を生成するといった、車両の所有者/ユーザによる行動を引き出す要求を含めることができる。
【0077】
更に別の態様では、車両への指示には、追加又は補足の車両データを、ネットワークサービス120又は第三者に送信するための、要求/命令を含めることができる。例えば、車両への指示には、特定の車両の識別情報(例えば、VIN)、及び、ネットワークサービス120による後続の処置のために利用することができる、特定の運転パラメータを送信することを、含めることができる。そのような応答通信では、ネットワークサービス120で、補足的に提供された車両識別子が仮名識別子と関連付けられないように、仮名識別子を省略することができる。
【0078】
上記の変形例では、車両への指示には、ネットワークサービス120が仮名識別子のサブセットとして追跡の対象とする、特定の車両のリストを含めることができる。したがって、車両への指示では、一致するVINに応答して、仮名識別子を返送することを要求することができる。これに関して、仮名識別子のサブセットが十分に大きい場合、サービスプロバイダでは、特定のVINを仮名識別子に決定的に関連付けることができない。
【0079】
(3)において、ネットワークサービス120では、車両への指示要求が処理される。一態様において、ネットワークサービス120では、認証又は認可メカニズムなどによって、車両データの要求が許可されたことを確認することができる。別の態様において、受信された要求では、対象の仮名識別子を明示的に特定しなくてもよいが、(例えば、走行距離が10万マイルを超えるすべての車両といった)選択基準が示される。したがって、ネットワークサービス120では、格納された車両データを照会して、選択基準に関連する、適切な仮名識別子を識別することができる。選択基準によってサイズ閾値に満たない仮名識別子のセットがもたらされる場合、ネットワークサービス120では、要求を拒否する、別の基準を要求する、又は、そのセットに別の仮名識別子を含めることができる。前述したように、1つ以上の、閾値を超える仮名識別子のセットを有することで、潜在的なネットワークサービス120を軽減することができる。そのため、個人又は第三者は、VIN又は他の識別情報を、特定の仮名識別子と繰り返し照合することができる。
【0080】
(4)において、ネットワークサービス120では、車両への指示要求に書き込むことができる。車両への指示要求は、その指示要求を組み込むように要求された、仮名識別子のセットを識別するものである。この実施形態では、ネットワークサービス120から、各車両に車両への指示要求を能動的に送信する必要はない。あるいは、ネットワークサービス120には、各仮名識別子について連絡メカニズム(例えば、ネットワークアドレス)を具体的に識別する、処理メカニズムを含める必要はない。むしろ、個々の車両から、仮名識別子及び車両への指示に関する公開されたリストについて、ネットワークサービス120に個別に連絡が行われる。
【0081】
(5)において、個々の車両110から、仮名識別子のリストを伴う、書き込まれた車両への指示が要求される。例示的には、個々の車両を、要求を同時に送信するように構成する必要はない。ネットワークサービス120によるネットワーク処理のリソース要件を軽減すべく、要求の送信を分散させることができるように、要求の送信をランダム化する、又は、(例えば、1日の内の)ある範囲の時間に実施することができる。(6)において、ネットワークサービス120では、各要求に個別に応答することができる。一実施形態では、ネットワークサービス120によって、公開/書込みされた車両への指示及び関連する仮名識別子のセットを提供することができる。これには、仮名識別子の完全なリスト、又は、何らかのソート/フィルタリングが行われた仮名識別子のサブセットの、識別を含めることができる。この手法では、車両110によって、仮名識別子を仮名識別子のリストと照合できることが必要となる。別の実施形態では、車両から、対象となる仮名識別子(複数可)を送信することができ、次いで、ネットワークサービス120によって、一致が生じるかどうかを判定することができる。そして、ネットワークサービス120から、通知又は確認結果を応答することができる。この実施形態では、ネットワークサービス120と車両との間で送信されるデータ量を最小限に抑えることができ、可能性のある一致を識別するためにリストを処理する、車両の処理リソースへの影響を低減することもできる。
【0082】
(7)において、車両110では、公開/書込みされた、車両への指示及び関連する仮名識別子のセットを、(管理コンポーネント210などによって)収集及び処理することができる。上述したように、車両では、車両の特定の仮名識別子を、車両への指示と関連付けられた仮名識別子のいずれかと照合しようと試みることによって、公開/書込みされた、車両への指示及び関連する仮名識別子のセットが処理される。車両が、車両の特定の仮名識別子と一致しない場合、その車両への指示を無視することができる。あるいは、
図6に示すように、仮名識別子と一致する車両のサブセットでは、車両によって、車両への指示を開始又は処理することができる。上述したように、車両への指示を開始することで、車両によるいくつかの応答処置を引き出すことができる。一態様では、この指示には、診断、修理、又は更新プロセスなど、それに応答して車両で実行される、命令を含めることができる。1つ以上の処置は、必須又は任意選択であると見做すことができる。別の態様では、車両への指示には、サービスコールをスケジューリングするための通知を生成するといった、車両の所有者/ユーザによる行動を引き出す要求を含めることができる。更に、車両では、要求に応じて、あるいは、事前構成されている場合に、確認、状況、又は通知の通信を送信することもできる。
【0083】
(8)において、車両110では、車両への指示を開始することができる。ある実施形態では、車両110によって指示を処理することで、(例えば、必須、任意、緊急といった)優先度、必要な動作のタイプなどに基づいて、指示が分類される。車両110では、指示の処理結果に基づいて、車両の所有者又は運転者に、1つ以上の指示又は推奨を、更に提供することができる。
【0084】
ここで
図7を参照し、1つ以上の仮名識別子による車両への指示を送信するための、ネットワークサービス120とコンピューティングデバイス130との間の、代替実施形態の例示的な対話の説明を行う。上述したように、一連の対話が示されているが、本出願は、ネットワークサービス120との対話を行う、特定の数の車両110及びコンピューティングデバイス130に限定されない。むしろ、ある実施形態では、個々の車両110とネットワークサービス120との間の対話の数は、数千台以上の個別の車両を含む、比較的大規模なものになる。
図6で説明した(1)から(4)のプロセスを、
図7で使用することができる。
【0085】
(5)において、コンピューティングデバイス130から、仮名識別子のリストを伴う、書き込まれた車両への指示を要求することができる。例示的には、コンピューティングデバイス130を、要求を同時に送信するように構成する必要はない。ネットワークサービス120によるネットワーク処理のリソース要件を軽減すべく、要求の送信を分散させることができるように、要求の送信をランダム化する、又は、(例えば、1日の内の)ある範囲の時間に実施することができる。(6)において、ネットワークサービス120では、各要求に個別に応答することができる。一実施形態では、ネットワークサービス120によって、公開/書込みされた車両への指示及び関連する仮名識別子のセットを提供することができる。これには、仮名識別子の完全なリスト、又は、何らかのソート/フィルタリングが行われた仮名識別子のサブセットの、識別を含めることができる。この手法では、車両110によって、仮名識別子を仮名識別子のリストと照合できることが必要となる。別の実施形態では、コンピューティングデバイス130から、対象となる仮名識別子(複数可)を送信することができ、次いで、ネットワークサービス120によって、一致が生じるかどうかを判定することができる。そして、ネットワークサービス120から、通知又は確認結果を応答することができる。この実施形態では、ネットワークサービス120とコンピューティングデバイス130との間で送信されるデータ量を最小限に抑えることができ、可能性のある一致を識別するためにリストを処理する、コンピューティングデバイス130の処理リソースへの影響も低減することもできる。
【0086】
(7)において、コンピューティングデバイス130では、公開/書込みされた車両への指示及び関連する仮名識別子のセットを、収集及び処理することができる。上述したように、コンピューティングデバイス130では、車両の特定の仮名識別子を、車両への指示と関連付けられた仮名識別子のいずれかと照合しようと試みることによって、公開/書込みされた車両への指示、及び関連する仮名識別子のセットが処理される。コンピューティングデバイス130が、車両の特定の仮名識別子と一致しない場合、車両への指示を無視することができる。あるいは、
図7に示すように、仮名識別子と一致する車両のサブセットでは、コンピューティングデバイス130によって、車両への指示を開始又は処理することができる。上述したように、車両への指示を開始することで、コンピューティングデバイス130による、いくつかの応答処置を引き出すことができる。一態様では、この指示には、診断、修理、又は更新プロセスなど、それに応答してコンピューティングデバイス130によって実行される、命令を含めることができる。1つ以上の処置は、必須又は任意選択であると見做すことができる。別の態様では、車両への指示には、サービスコールをスケジューリングするための通知を生成するといった、車両の所有者/ユーザによる行動を引き出す要求を含めることができる。更に、車両では、要求に応じて、あるいは、事前設定されている場合に、確認、状況、又は通知の通信を送信することもできる。
【0087】
(8)において、コンピューティングデバイス130では、車両への指示を開始することができる。ある実施形態では、コンピューティングデバイス130によって指示を処理することで、(例えば、必須、任意、緊急といった)優先度、必要な動作のタイプなどに基づいて、指示が分類される。コンピューティングデバイス130では、指示の処理結果に基づいて、車両の所有者又は運転者に、1つ以上の指示又は推奨を、更に提供することができる。
【0088】
(9)において、コンピューティングデバイス130では、指示を処理することに基づいて更新された車両データなどの車両データを、車両110と同期させることができる。
【0089】
代替実施形態では、車両110とコンピューティングデバイス130の両方で、ネットワークサービス120によって書き込まれた指示に応答することができる。この実施形態では、ネットワークサービス120によって、基準に基づいて、車両とネットワークサービスとの間の初期通信経路を確立することができる。この基準は、(ネットワーク要求コンポーネント358などの)ネットワークサービス120で受信された、応答のタイミングに基づくものにすることができる。例えば、ネットワーク要求コンポーネント358が、コンピューティングデバイスからの応答より先に、車両からの応答を受信した場合、ネットワーク要求コンポーネント358によって、車両とネットワークサービスとの間の、初期通信経路を確立することができる。この基準は、ネットワーク性能の監視結果に基づくものにすることができる。例えば、ネットワーク要求コンポーネント358によって、車両及びコンピューティングデバイスとのネットワーク接続の、ネットワーク性能を比較することができる。
【0090】
次に
図8を参照して、車両仮名管理ルーチン800について、そのルーチン800の説明を行う。ルーチン800は、例示的には、車両110のうちの1つに実装された、管理コンポーネント210によって実施される。
図8に示すプロセスは、本質的に例示的なものであり、限定するものと解釈すべきではない。
【0091】
ブロック802において、車両110では、ネットワークサービス120で車両110の個々の車両を識別するために利用されることになる仮名識別子を、(管理コンポーネント210などによって)生成又は構成することができる。上述したように、仮名識別子は、様々な、固有の識別子、又はある程度固有の識別子の、いずれか1つに対応したものとすることができる。仮名識別子は、特定のハードウェア構成要素又はソフトウェア構成要素の表現といった、特定の車両110の1つの属性に基づくものにすることができる。別の実施例では、ランダムセレクションなどの、利用することのできる仮名識別子のリストから、仮名識別子を選択することができる。仮名識別子(複数可)の生成又は構成は、製造時、製造業者からのリリース時などに行うことができる。
【0092】
ブロック804において、車両110では、通信で使用するために、ローカルメモリに仮名識別子を格納することができる。仮名識別子は、ユーザ又は外部サービスによる仮名識別子の変更又は破損を防ぐために、暗号化メカニズム又は他のセキュリティメカニズムに関連付けることができる。
【0093】
ブロック806において、個々の車両110から、(車両データサービス122などの)ネットワークサービス120に、生成された仮名登録情報を送信することができる。このプロセスは、車両110とネットワークサービス120間で仮名識別子を送信することの、最初のインスタンス化を示すものである。これらの送信は並行して送信されるものとして示されているが、車両110のうちの1つを、様々な時点で、又は、新しい所有者への車両の配送などのトリガ基準に応答して、ネットワークサービス120に登録するようにトリガすることができる。ある実施形態では、仮名送信のタイミングを、ランダムに生成された番号などの、シード値に基づくものにすることができる。そのため、仮名の送信は、車両の配送又は仮名の生成のタイミングに、密接に関連しない。ルーチン800は、ブロック806で終了することができる。
【0094】
次に
図9を参照して、車両データ送信ルーチン900について、そのルーチンの説明を行う。ルーチン900は、例示的には、車両110のうちの1つに実装された、管理コンポーネント210によって実施される。
図9に示すプロセスは、本質的に例示的なものであり、限定するものと解釈すべきではない。
【0095】
ブロック902において、車両110では(例えば管理コンポーネント210によって)、車両データを収集することができる。上述したように、車両には、運転データを含む車両データを取得し、生成し、かつ維持するための、複数のセンサ、コンポーネント、及びデータストレージが含まれる。プログラムされた構成データに基づいて、又は、ユーザによる手動入力に基づいて、又は、ネットワークサービス(図示せず)からの要求に応答して、車両データの収集及び処理を行うことができる。
【0096】
ブロック904において、車両110では、車両データを、ローカルメモリに保持されている、以前に格納された仮名識別子に関連付けることができる。仮名識別子及び車両データは、ユーザ又は外部サービスによる仮名識別子の変更又は破損を防ぐために、暗号化メカニズム又は他のセキュリティメカニズムに関連付けることができる。
【0097】
ある実施形態では、車両110のうちの1つ以上によって、車両データをコンピューティングデバイス130と同期させることができる。ある実施形態では、この同期を、周期的に、又はリアルタイムで実行することができる。ある実施形態では、データの一部を、コンピューティングデバイス130と同期させることができる。こうした実施形態では、ユーザ、車両製造業者、車両管理者などによって、このデータの一部を定義又は指定することができる。例えば、コンピューティングデバイス130では、エンジンオイルの管理データに関連する、同期された車両データのみが取得される。この実施例において、コンピューティングデバイス130では、データを車両の仮名識別子と関連付けることによって、エンジンオイルの管理データを、ネットワークサービス120に直接送信することができる。ある実施形態では、プロセス(3)は任意選択のプロセスとすることができる。
【0098】
ブロック904において、個々の車両から、生成された仮名識別子を伴う車両データを、ネットワークサービスに送信することができる。単一の送信として示されているが、関連する仮名識別子を伴う車両データの収集及び送信は、複数の送信に対応したものとすることができる。こうした送信を、個々の車両ごとに、又は車両のグループごとに、スケジュールすることができる。更に、これらの送信は並行して送信されるものとして示されているが、車両は、様々な時点で、又は、エラー、特定のセンサ値、蓄積された車両データの閾値、車両データ値の変化といったトリガ基準に応答して、車両データをネットワークサービスに送信するようにトリガすることができる。
【0099】
ある実施形態では、車両110のうちの1つとネットワークサービス120との間のネットワーク接続が切断又は中断された場合、コンピューティングデバイス130によって、同期した車両データをネットワークサービス120に送信することができる。例えば、短距離データ通信ネットワークなどのネットワーク160を利用することによって、コンピューティングデバイス130及び車両110のうちの1つを、車両データと周期的に同期させることができる。この実施例では、車両がネットワーク150に接続できない場合、コンピューティングデバイス130から、車両データをネットワークサービス120に送信することができる。ルーチン900は、ブロック906で終了することができる。
【0100】
次に
図10を参照して、車両への指示要求の処理ルーチン1000について、そのルーチンの説明を行う。ルーチン1000は、例示的には、車両110のうちの1つに実装された、管理コンポーネント210によって実施される。
図10に示すプロセスは、本質的に例示的なものであり、限定するものと解釈すべきではない。
【0101】
ブロック1002において、個々の車両110から、仮名識別子のリストを伴う、書き込まれた車両への指示が要求される。例示的には、個々の車両を、要求を同時に送信するように構成する必要はない。ネットワークサービス120によるネットワーク処理のリソース要件を軽減すべく、要求の送信を分散させることができるように、要求の送信をランダム化する、又は、(例えば、1日の内の)ある範囲の時間に実施することができる。
【0102】
ブロック1004において、車両110では、公開/書込みされた車両への指示及び関連する仮名識別子のセットを、(例えば管理コンポーネント210によって)受信することができる。ブロック1006において、車両110では、車両の特定の仮名識別子を、車両への指示と関連付けられたものを含む仮名識別子のいずれかと照合しようと試みることによって、公開/書込みされた、車両への指示及び関連する仮名識別子のセットが処理される。車両が、車両の特定の仮名識別子と一致しない場合、ブロック1010でルーチン1000を終了することができ、かつ、車両への指示を無視することができる。車両が、車両の特定の仮名識別子と一致する場合、ルーチンはブロック1008に続く。ある実施形態において、仮名識別子と一致する車両のサブセットでは、車両によって、車両への指示を開始又は処理することができる。こうした実施形態では、車両への指示を開始することで、車両によるいくつかの応答処置を引き出すことができる。一態様では、この指示には、診断、修理、又は更新プロセスなど、それに応答して車両で実行される、命令を含めることができる。1つ以上の処置は、必須又は任意と見なすことができる。別の態様では、車両への指示には、サービスコールをスケジューリングするための通知を生成するといった、車両の所有者/ユーザによる行動を引き出す要求を含めることができる。更に、車両では、要求に応じて、あるいは、事前設定されている場合に、確認、状況、又は通知の通信を送信することもできる。
【0103】
ブロック1008において、車両110では、車両への指示を開始することができる。ある実施形態では、車両110によって指示を処理することで、(例えば、必須、任意、緊急といった)優先度、必要な動作のタイプなどに基づいて、指示が分類される。車両110では、指示の処理結果に基づいて、車両の所有者又は運転者に、1つ以上の指示又は推奨を、更に提供することができる。
【0104】
次に
図11を参照して、車両への指示要求の処理ルーチン1100について、そのルーチン1100の説明を行う。ルーチン1100は、例示的には、ネットワークサービス120に実装された、車両データサービス122によって実施される。
図10に示すプロセスは、本質的に例示的なものであり、限定するものと解釈すべきではない。
【0105】
ブロック1102において、ネットワークサービス120では、仮名による車両への指示の発行要求が受信される。例示的には、車両への指示は、車両での受信時に引き出される、1つ以上の処置及び関連するパラメータに対応するものである。一態様では、この指示には、診断、修理、又は更新プロセスなど、それに応答して車両で実行される、命令を含めることができる。1つ以上の処置は、必須又は任意と見なすことができる。別の態様では、車両への指示には、サービスコールをスケジューリングするための通知を生成するといった、車両の所有者/ユーザによる行動を引き出す要求を含めることができる。
【0106】
更に別の態様では、車両への指示には、追加又は補足の車両データを、ネットワークサービス120又は第三者に送信するための、要求/命令を含めることができる。例えば、車両への指示には、特定の車両の識別情報(例えば、VIN)、及び、ネットワークサービス120による後続の処置のために利用することができる、特定の運転パラメータを送信することを、含めることができる。そのような応答通信では、ネットワークサービス120で、補足的に提供された車両識別子が仮名識別子と関連付けられないように、仮名識別子を省略することができる。
【0107】
上記の変形例では、車両への指示には、ネットワークサービス120が仮名識別子のサブセットとして追跡の対象とする、特定の車両のリストを含めることができる。したがって、車両への指示によって、一致するVINに応答して、仮名識別子を返送することを要求することができる。これに関して、仮名識別子のサブセットが十分に大きい場合、サービスプロバイダでは、特定のVINを仮名識別子に決定的に関連付けることができない。
【0108】
ある実施形態では、ネットワークサービス120は、仮名で格納された車両データを処理することができる(又は、処理する要求を受信することができる)。一実施形態において、ネットワークサービス120では、収集された性能データを分析して、仮名識別子に関連付けられた車両110が実施すべき、1つ以上の処置を識別することができる。例えば、ネットワークサービス120では、収集された車両データによって示される、潜在的なハードウェア又はソフトウェアのエラー/障害を識別する、診断プロセスを実施することができる。別の実施例では、ネットワークサービス120では、運転パラメータ、車両属性、運転領域、使用特性といった車両データに基づいて、一連の車両110をグループ化又は編成することを容易にする、処理技術を利用することができる。ある実施形態では、格納された車両データの処理を省略する、又は、別個のプロセスとして実施することができ、本明細書では必要とされない。
【0109】
ブロック1104において、ネットワークサービス120では、車両への指示要求が処理される。一態様において、ネットワークサービス120では、認証又は認可メカニズムなどによって、車両データの要求が許可されたことを確認することができる。別の態様において、受信された要求では、対象の仮名識別子を明示的に特定しなくてもよいが、(例えば、走行距離が10万マイルを超えるすべての車両といった)選択基準が示される。したがって、ネットワークサービス120では、格納された車両データを照会して、選択基準に関連する、適切な仮名識別子を識別することができる。更に別の態様では、選択基準によってサイズ閾値を超えない仮名識別子のセットがもたらされる場合、ネットワークサービス120では、要求を拒否する、別の基準を要求する、又は、そのセットに追加の仮名識別子を含めることができる。前述したように、1つ以上の、閾値を超える仮名識別子のセットを有することで、潜在的なネットワークサービス120を軽減することができる。そのため、個人又は第三者は、VIN又は他の識別情報を、特定の仮名識別子と繰り返し照合することができる。
【0110】
ブロック1106において、ネットワークサービス120では、各要求に個別に応答することができる。一実施形態では、ネットワークサービス120によって、公開/書込みされた車両への指示及び関連する仮名識別子のセットを提供することができる。これには、仮名識別子の完全なリスト、又は、何らかのソート/フィルタリングが行われた仮名識別子のサブセットの、識別を含めることができる。この手法では、車両によって、仮名識別子を仮名識別子のリストと照合できることが必要となる。
【0111】
ブロック1108において、ネットワークサービス120では、書き込まれた仮名指示要求に対する、特定の応答を受信することができる。ある実施形態では、車両から、対象となる仮名識別子(複数可)を送信することができ、次いで、ネットワークサービス120によって、一致が生じるかどうかを判定することができる。ある実施形態では、次いで、ネットワークサービス120から、通知又は確認結果を応答することができる。この実施形態では、ネットワークサービス120と車両との間で送信されるデータ量を最小限に抑えることができ、可能性のある一致を識別するためにリストを処理する、車両の処理リソースへの影響を低減することもできる。
【0112】
ブロック1110において、ネットワークサービス120では、指示要求を組み込むように要求された仮名識別子のセットを識別する、車両への指示要求に書き込んだことに対して受信した、特定の応答を処理することができる。この実施形態では、ネットワークサービス120から、各車両に車両への指示要求を能動的に送信する必要はない。あるいは、ネットワークサービス120には、各仮名識別子について連絡メカニズム(例えば、ネットワークアドレス)を具体的に識別する、処理メカニズムを含める必要はない。むしろ、個々の車両から、仮名識別子及び車両への指示に関する公開されたリストについて、ネットワークサービス120に個別に連絡が行われる。ルーチン1100は、ブロック1112で終了することができる。
【0113】
本開示の様々な実施形態は、あらゆる実現可能な技術的詳細レベルの統合における、システム、方法、及び/又はコンピュータプログラム製品とすることができる。コンピュータプログラム製品には、プロセッサに本開示の態様を実行させるためのコンピュータ可読プログラム命令を有する、コンピュータ可読記憶媒体(複数可)を含めることができる。
【0114】
例えば、ソフトウェア命令が1つ以上のハードウェアプロセッサ、及び/又は、任意の他の適切なコンピューティングデバイスによって実行されるときに、本明細書に記載の機能を実施することができ、かつ/又は、ソフトウェア命令が実行されるのに応答して、本明細書に記載の機能を実施することができる。ソフトウェア命令、及び/又は、他の実行可能コードは、コンピュータ可読記憶媒体(複数可)から読み取ることができる。
【0115】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用されるデータ及び/又は命令を、保持及び格納することのできる、有形のデバイスとすることができる。コンピュータ可読記憶媒体は、例えば、(あらゆる揮発性及び/又は不揮発性の電子記憶装置を含む)電子記憶デバイス、磁気記憶デバイス、光学的記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、又はこれらの任意の適切な組み合わせとすることができるが、これらに限定されない。完全に網羅するわけではないが、コンピュータ可読記憶媒体のより具体的な例として、ポータブルコンピュータフロッピーディスク、ハードディスク、ソリッドステートドライブ、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、消去可能プログラマブル読出し専用メモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、又は、命令が記録されたパンチカードや、溝内の隆起構造といった、機械的に符号化されたデバイス、及び、上記のあらゆる適切な組み合わせが挙げられる。本明細書で使用されるコンピュータ可読記憶媒体は、電波若しくは他の自由伝搬する電磁波、導波路若しくは他の伝送媒体を伝搬する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又は、ワイヤを介して伝送される電気信号などの、一過性の信号自体であると解釈すべきではない。
【0116】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から、それぞれのコンピューティングデバイス/処理デバイスにダウンロードすることができる。あるいは、ネットワーク、例えばインターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、及び/又は、無線ネットワークを介して、外部コンピュータ若しくは外部記憶装置にダウンロードすることができる。ネットワークには、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及び/又は、エッジサーバを含めることができる。各コンピューティング/処理デバイス内の、ネットワークアダプタカード、又はネットワークインタフェースによって、ネットワークからコンピュータ可読プログラム命令が受信され、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に格納するために、コンピュータ可読プログラム命令が転送される。
【0117】
本開示の動作を実行するための、(例えば、「コード」、「命令」、「モジュール」、「アプリケーション」、「ソフトウェアアプリケーション」などとも呼ばれる)コンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA:Instruction-Set-Architecture)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データ、あるいは、Java、C++などのオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語などの手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで記述された、ソースコード又はオブジェクトコードのいずれかとすることができる。コンピュータ可読プログラム命令は、他の命令から、又はそれ自体から呼び出すことができ、かつ/又は、検出された動作又は割込に応答して呼び出すことができる。コンピューティングデバイス上で実行されるように構成されたコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体上に設けることができ、かつ/又は、更にコンピュータ可読記憶媒体に格納することができるデジタルダウンロードとして提供することができる(デジタルダウンロードは、実行前にインストール、解凍、又は復号を必要とする、圧縮形式又はインストール可能な形式で、最初に格納することができる)。そのようなコンピュータ可読プログラム命令は、コンピューティングデバイスで実行するために、実行するコンピューティングデバイスのメモリデバイス(例えば、コンピュータ可読記憶媒体)に、部分的又は完全に格納することができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ(例えば、実行するコンピューティングデバイス)上で、部分的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上にある、部分的にリモートコンピュータ上にある、又は、完全にリモートコンピュータ若しくはサーバ上にあるスタンドアロンソフトウェアパッケージとして、実行することができる。後者のシナリオでは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む、任意のタイプのネットワークを介して、リモートコンピュータをユーザのコンピュータに接続することができ、あるいは、(例えば、インターネットサービスプロバイダを使用して、インターネットを介して)外部コンピュータに接続することができる。ある実施形態では、本開示の態様を実行するために、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA:Field-Programmable Gate Array)、又はプログラマブルロジックアレイ(PLA:Programmable Logic Array)を含む電子回路によって、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることで、コンピュータ可読プログラム命令を実行することができる。
【0118】
本開示の態様は、本開示の実施形態による方法、装置(システム)、及びコンピュータプログラム製品のフローチャート図及び/又はブロック図を参照して、本明細書で説明される。フローチャート図及び/又はブロック図の各ブロック、並びに、フローチャート図及び/又はブロック図のブロックの組み合わせを、コンピュータ可読プログラム命令によって実施できることが理解されよう。
【0119】
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能なデータ処理装置のプロセッサに提供して、装置を製作することができ、コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサで実行される命令によって、フローチャート及び/又はブロック図の1つ以上のブロックで指定された、機能/動作を実施するための手段がもたらされる。また、これらのコンピュータ可読プログラム命令を、コンピュータ、プログラマブルデータ処理装置、及び/又は他のデバイスに特定の方法で機能するように指示することができる、コンピュータ可読記憶媒体に格納することができる。その結果、命令を格納するコンピュータ可読記憶媒体は、フローチャート(複数可)及び/又はブロック図(複数可)の1つ以上のブロックで指定された、機能/動作の態様を実施する命令を含む、製品を備えることになる。
【0120】
コンピュータ、他のプログラム可能な装置、又は他のデバイス上で実行される命令によって、フローチャート及び/又はブロック図の1つ以上のブロックで指定された機能/動作が実施されるように、コンピュータ、他のプログラム可能な装置、又は他のデバイス上で一連の動作ステップを実行させてコンピュータ実装処置を生み出すために、コンピュータ可読プログラム命令を、コンピュータ、他のプログラム可能な装置、又は他のデバイス上にロードすることもできる。例えば、これらの命令を、最初にリモートコンピュータの磁気ディスク又はソリッドステートドライブ上に持ち込むことができる。リモートコンピュータでは、命令及び/又はモジュールを、それ自体のダイナミックメモリにロードし、モデムを使用して、電話、ケーブル、又は光回線を介して、命令を送信することができる。サーバコンピューティングシステムにとってローカルなモデムでは、電話/ケーブル/光回線上でデータを受信し、適切な回路を含むコンバータデバイスを使用して、データをバス上に配置することができる。このバスで、データをメモリに搬送することができ、プロセッサによって、メモリから命令を取り出して実行することができる。メモリによって受信された命令は、必要に応じて、コンピュータプロセッサによる実行前後のいずれかに、記憶デバイス(例えば、ソリッドステートドライブ)に格納することができる。
【0121】
各図のフローチャート及びブロック図は、本開示の様々な実施形態によるシステム、方法、及びコンピュータプログラム製品の、実現可能な実装形態のアーキテクチャ、機能、及び動作を示すものである。これに関して、フローチャート又はブロック図の各ブロックでは、指定された論理機能(複数可)を実施するための、1つ以上の実行可能命令を含む、モジュール、セグメント、又は命令の一部を表すことができる。ある代替実施態様では、各ブロックに記載された機能を、図に記載された順序とは異なる順序で行うことができる。例えば、連続して示される2つのブロックは、実際には、実質的に同時に実行することができ、又は、関連する機能に応じて、これらのブロックを、時には逆の順序で実行することができる。更に、ある実装形態では、特定のブロックを省略することができる。また、本明細書に記載の方法及びプロセスは、いかなる特定のシーケンスにも限定されず、関連するブロック又は状態を、適切な他のシーケンスで実行することができる。
【0122】
また、ブロック図及び/又はフローチャート図の各ブロック、並びに、ブロック図及び/又はフローチャート図のブロックの組み合わせは、指定された機能又は動作を実施する、若しくは専用ハードウェアとコンピュータ命令の組み合わせを実行する、専用ハードウェアベースのシステムによって実施できることにも留意されたい。例えば、前述のセクションで説明したプロセス、方法、アルゴリズム、要素、ブロック、アプリケーション、又は他の機能(若しくは機能の一部)のいずれかは、特定用途向け集積回路(ASICs:Application-Specific Integrated Circuits)などの特定用途向けプロセッサ、フィールドプログラマブルゲートアレイ(FPGAs)などのプログラマブルプロセッサ、特定用途向け回路などの電子ハードウェアで具現化することができ、かつ/又は、完全に、若しくは部分的に自動化することができる(これらのうちのいずれかでは、技術を実現するために、カスタム・ハードワイヤード・ロジック、論理回路、ASICs、FPGAsなどを、ソフトウェア命令のカスタムプログラミング/実行と組み合わせることもできる)。
【0123】
上述したプロセッサのいずれか、及び/又は上述したプロセッサのいずれかを組み込んだデバイスは、本明細書では、例えば、「コンピュータ」、「コンピュータデバイス」、「コンピューティングデバイス」、「ハードウェアコンピューティングデバイス」、「ハードウェアプロセッサ」、「処理ユニット」などと呼ばれることがある。上記の実施形態のコンピューティングデバイスは、(これが必須ではないが)一般に、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)などのユーザインタフェース機能が提供される。
【0124】
上述したように、様々な実施形態において、(ウェブブラウザなど)ウェブベースのビューア、又は他の適切なソフトウェアプログラムを介して、特定の機能にユーザがアクセスすることができる。そのような実装形態では、サーバコンピューティングシステムによってユーザインタフェースを生成し、ユーザのウェブブラウザに送信することができる(例えば、ユーザのコンピューティングシステム上で実行される)。あるいは、ユーザインタフェースを生成するのに必要なデータ(例えば、ユーザインタフェースデータ)を、サーバコンピューティングシステムによってブラウザに提供して、ユーザインタフェースを生成することができる(例えば、ウェブサービスにアクセスするブラウザによって、ユーザインタフェースデータを実行することができ、ユーザインタフェースデータに基づいて、ユーザインタフェースをレンダリングするように構成することができる)。次いで、ユーザは、ウェブブラウザを介して、ユーザインタフェースと対話することができる。特定の実施態様のユーザインタフェースには、1つ以上の専用ソフトウェアアプリケーションを介して、アクセスすることができる。特定の実施形態では、本開示のコンピューティングデバイス及び/又はシステムの1つ以上には、モバイルコンピューティングデバイスを含めることができ、そのようなモバイルコンピューティングデバイス(例えば、スマートフォン及び/又はタブレット)を介して、ユーザインタフェースにアクセスすることができる。
【0125】
上述した実施形態に対して、多くの変形及び修正を行うことができ、その要素は、他の許容可能な実施例の中にあると理解されるべきである。そのような修正及び変形はすべて、本開示の範囲内に含まれることが意図されている。上記の説明は、特定の実施形態について詳述するものである。しかしながら、上記の内容がいかに詳細に記載されていようとも、システム及び方法を、多くの方法で実施できることが理解されよう。また上述したように、システム及び方法の特定の特徴又は態様を説明するときの、特定の用語の使用については、その用語が関連するシステム及び方法の特徴又は態様の、特定の特性を含むことに限定するように、用語が本明細書で再定義されていることを意味すると解釈すべきではないことに留意されたい。
【0126】
とりわけ、「できる(can)」、「あり得る(could)」、「かもしれない(might)」、又は「してもよい(may)」などの条件用語は、特に明記しない限り、又は使用される文脈内で他の意味で理解されない限り、概して、特定の実施形態では、特定の特徴、要素、及び/又はステップが含まれるが、他の実施形態では、それらを含まなくてもよいことを、伝えることを意図している。したがって、そのような条件用語は、概して、特徴、要素、及び/又はステップが、1つ以上の実施形態に何らかの形で必要であると、暗示する意図のものではない。あるいは、ユーザ入力又はプロンプトの有無にかかわらず、これらの特徴、要素、及び/又はステップが任意の特定の実施形態に含まれるか、又は実行されるべきかを決定するためのロジックが、1つ以上の実施形態に必然的に含まれると、暗示する意図のものではない。
【0127】
「X、Y、及びZのうちの少なくとも1つ、」又は「X、Y、又はZの少なくとも1つ、」といった表現の接続用語は、特に明記しない限り、項目、用語などがX、Y、又はZのいずれか、又はそれらの組み合わせであり得ることを伝えるために、一般に使用される文脈で理解されるべきである。例えば、「又は」という用語は、(排他的な意味ではなく)包括的な意味で使用され、例えば、多くの要素を接続するために使用する場合、「又は」という用語は、リスト内の要素の1つ、いくつか、又はすべてを意味する。したがって、そのような接続用語は、概して、特定の実施形態に、Xのうちの少なくとも1つ、Yのうちの少なくとも1つ、及びZのうちの少なくとも1つが、それぞれ存在する必要がある、と暗示する意図のものではない。
【0128】
本明細書で使用される「a」という用語には、排他的な解釈ではなく、包括的な解釈が与えられるべきである。例えば、特に明記しない限り、「a」という用語は、「正確に1つ」又は「1つのみ」を意味すると理解されるべきではない。代わりに、「a」という用語は、特許請求の範囲又は明細書の他の箇所で使用されるかどうかにかかわらず、かつ、特許請求の範囲又は明細書の他の箇所での、「少なくとも1つ」、「1つ以上」、又は「複数」などの限量詞の使用にかかわらず、「1つ以上」又は「少なくとも1つ」を意味する。
【0129】
本明細書で使用される「含む(comprising)」という用語には、排他的な解釈ではなく、包括的な解釈が与えられるべきである。例えば、1つ以上のプロセッサを含む汎用コンピュータは、他のコンピュータコンポーネントを除外するものとして解釈すべきではなく、とりわけ、メモリ、入出力デバイス、及び/又はネットワークインタフェースなどのコンポーネントが含まれる可能性がある。
【0130】
上記の詳細な説明では、様々な実施形態に適用されるような新規な特徴を示し、説明し、指摘してきたが、本開示の精神から逸脱することなく、例示したデバイス又はプロセスの形態及び詳細において、様々な省略、置換、及び変更を行い得る、と理解することができる。認識されるように、いくつかの特徴を、他の特徴とは別個に使用又は実施することができるため、本明細書に記載された本発明の特定の実施形態は、本明細書に記載された特徴及び利益のすべてを提供しない形態で具体化することができる。本明細書に開示される特定の発明の範囲は、前述した説明ではなく、添付の特許請求の範囲によって示される。特許請求の範囲の均等物の、意図及び範囲内にあるすべての変更は、それらの範囲内に包含されることになる。
【国際調査報告】