(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025013165
(43)【公開日】2025-01-24
(54)【発明の名称】個人識別情報の潜在的漏洩を低減するプログラム動作シーケンスの決定
(51)【国際特許分類】
G06F 11/36 20060101AFI20250117BHJP
G08G 1/00 20060101ALI20250117BHJP
G06F 21/62 20130101ALI20250117BHJP
【FI】
G06F11/36 116
G08G1/00 A
G06F21/62 345
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024074916
(22)【出願日】2024-05-02
(31)【優先権主張番号】18/349,969
(32)【優先日】2023-07-11
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.UNIX
(71)【出願人】
【識別番号】521042770
【氏名又は名称】ウーブン・バイ・トヨタ株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100092624
【弁理士】
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100147555
【弁理士】
【氏名又は名称】伊藤 公一
(74)【代理人】
【識別番号】100123593
【弁理士】
【氏名又は名称】関根 宣夫
(74)【代理人】
【識別番号】100133835
【弁理士】
【氏名又は名称】河野 努
(74)【代理人】
【識別番号】100120499
【弁理士】
【氏名又は名称】平山 淳
(72)【発明者】
【氏名】ジャーン-フランスワー バスティエン
(72)【発明者】
【氏名】ピーター バーガー
【テーマコード(参考)】
5B042
5H181
【Fターム(参考)】
5B042GB08
5B042HH20
5H181AA01
5H181BB04
5H181BB05
5H181BB20
5H181CC03
5H181CC04
5H181CC11
5H181CC12
5H181CC14
5H181FF05
5H181FF10
(57)【要約】
【課題】方法の提供。
【解決手段】個人識別情報の潜在的漏洩を低減するプログラム動作シーケンスの決定は、第1のクラス情報及び第2のクラス情報を含むデータサンプルを取り込むこと、並びにデータサンプルの第2のクラス情報を低減することを行う複数の候補プログラム動作を識別することと、複数の候補プログラム動作の中の候補プログラム動作及び複数の計算リソースの中の計算リソースの各々の有効な組合せに関連付けられる個人識別情報の潜在的漏洩を表す漏洩コストを割り当てることと、有効な組合せ及び割り当てられた漏洩コストに目的関数を適用して、プログラム動作のシーケンスを決定することであって、シーケンスの各プログラム動作は、総漏洩コストが閾値漏洩コスト未満で、第1のクラス情報の量がデータ閾値よりも多くなるように、選択された1つ以上の計算リソースによって行われる、ということと、によって行われる。
【選択図】
図6
【特許請求の範囲】
【請求項1】
方法であって、前記方法は、
データサンプルを取り込むことであって、前記データサンプルは、第1のクラス情報及び第2のクラス情報を含む、ということ、並びに
前記データサンプルの前記第2のクラス情報を低減すること
を行う複数の候補プログラム動作を識別することと、
前記複数の候補プログラム動作の中の候補プログラム動作及び複数の計算リソースの中の計算リソースの各々の有効な組合せに関連付けられる個人識別情報の潜在的漏洩を表す漏洩コストを割り当てることと、
前記有効な組合せ及び割り当てられた漏洩コストに目的関数を適用して、プログラム動作のシーケンスを決定することであって、前記シーケンスの各プログラム動作は、総漏洩コストが閾値漏洩コスト未満で、第1のクラス情報の量がデータ閾値よりも多くなるように、選択された1つ以上の計算リソースによって行われる、ということと、
を含む、方法。
【請求項2】
前記割り当ては、
各々の有効な組合せに関連付けられる計算及び送信の金銭的コストを更に割り当てることを含み、
前記シーケンスは、総金銭的コストが閾値金銭的コスト未満であるようなシーケンスである、請求項1に記載の方法。
【請求項3】
前記複数の計算リソースは、少なくとも1つの車両センサと、少なくとも1つの車両プロセッサと、少なくとも1つの車両メモリと、少なくとも1つのクラウドサーバと、を含む、請求項2に記載の方法。
【請求項4】
前記複数の計算リソースは、少なくとも1つの車両ストレージと、少なくとも1つのエッジ計算ノードと、を更に含む、請求項3に記載の方法。
【請求項5】
前記複数の計算リソースは、複数の車両の各々における計算リソースを含む、請求項1~4のいずれか1項に記載の方法。
【請求項6】
前記複数の候補プログラム動作は、少なくとも1つの検出動作と、少なくとも1つの圧縮動作と、少なくとも1つのフィルタリング動作と、を含む、請求項1~4のいずれか1項に記載の方法。
【請求項7】
前記識別は、クライアント端末からのコンテンツクエリの受信に応じて行われる、請求項1~4のいずれか1項に記載の方法。
【請求項8】
前記コンテンツクエリは、オントロジーの1つ以上のクラスに関するものである、請求項7に記載の方法。
【請求項9】
前記オントロジーの更新に応じてプログラム動作を生成することを更に含む、請求項8に記載の方法。
【請求項10】
プロセッサによって実行可能な命令を含む非一時的コンピュータ可読媒体であって、前記プロセッサに対して、
データサンプルを取り込むことであって、前記データサンプルは、第1のクラス情報及び第2のクラス情報を含む、ということ、並びに
前記データサンプルの前記第2のクラス情報を低減すること
を行う複数の候補プログラム動作を識別することと、
前記複数の候補プログラム動作の中の候補プログラム動作及び複数の計算リソースの中の計算リソースの各々の有効な組合せに関連付けられる個人識別情報の潜在的漏洩を表す漏洩コストを割り当てることと、
前記有効な組合せ及び割り当てられた漏洩コストに目的関数を適用して、プログラム動作のシーケンスを決定することであって、前記シーケンスの各プログラム動作は、総漏洩コストが閾値漏洩コスト未満で、第1のクラス情報の量がデータ閾値よりも多くなるように、選択された1つ以上の計算リソースによって行われる、ということと、
を含む、動作を行わせる、非一時的コンピュータ可読媒体。
【請求項11】
前記割り当ては、
各々の有効な組合せに関連付けられる計算及び送信の金銭的コストを更に割り当てることを含み、
前記シーケンスは、総金銭的コストが閾値金銭的コスト未満であるようなシーケンスである、請求項10に記載のコンピュータ可読媒体。
【請求項12】
前記複数の計算リソースは、少なくとも1つの車両センサと、少なくとも1つの車両プロセッサと、少なくとも1つの車両メモリと、少なくとも1つのクラウドサーバと、を含む、請求項11に記載のコンピュータ可読媒体。
【請求項13】
前記複数の計算リソースは、少なくとも1つの車両ストレージと、少なくとも1つのエッジ計算ノードと、を更に含む、請求項12に記載のコンピュータ可読媒体。
【請求項14】
前記複数の計算リソースは、複数の車両の各々における計算リソースを含む、請求項10~13のいずれか1項に記載のコンピュータ可読媒体。
【請求項15】
前記複数の候補プログラム動作は、少なくとも1つの検出動作と、少なくとも1つの圧縮動作と、少なくとも1つのフィルタリング動作と、を含む、請求項10~13のいずれか1項に記載のコンピュータ可読媒体。
【請求項16】
前記識別は、クライアント端末からのコンテンツクエリの受信に応じて行われる、請求項10~13のいずれか1項に記載のコンピュータ可読媒体。
【請求項17】
前記コンテンツクエリは、オントロジーの1つ以上のクラスに関するものである、請求項16に記載のコンピュータ可読媒体。
【請求項18】
前記オントロジーの更新に応じてプログラム動作を生成することを更に含む、請求項17に記載のコンピュータ可読媒体。
【請求項19】
装置であって、前記装置は、
動作を行うように構成された回路を含むコントローラを備え、前記動作は、
データサンプルを取り込むことであって、前記データサンプルは、第1のクラス情報及び第2のクラス情報を含む、ということ、並びに
前記データサンプルの前記第2のクラス情報を低減すること
を行う複数の候補プログラム動作を識別することと、
前記複数の候補プログラム動作の中の候補プログラム動作及び複数の計算リソースの中の計算リソースの各々の有効な組合せに関連付けられる個人識別情報の潜在的漏洩を表す漏洩コストを割り当てることと、
前記有効な組合せ及び割り当てられた漏洩コストに目的関数を適用して、プログラム動作のシーケンスを決定することであって、前記シーケンスの各プログラム動作は、総漏洩コストが閾値漏洩コスト未満で、第1のクラス情報の量がデータ閾値よりも多くなるように、選択された1つ以上の計算リソースによって行われる、ということと、
を含む、装置。
【請求項20】
前記割り当ては、
各々の有効な組合せに関連付けられる計算及び送信の金銭的コストを更に割り当てることを含み、
前記シーケンスは、総金銭的コストが閾値金銭的コスト未満であるようなシーケンスである、請求項19に記載の装置。
【発明の詳細な説明】
【背景技術】
【0001】
車載センサは、より一層一般的なものとなってきている。自動運転の出現により、従来のカメラだけでなく、GPS及びLiDAR(ライダ)などのセンサのアレイも車両に追加されている。これらのセンサの組合せにより、車両は、車両周囲の世界の詳細な表示を取得することができる。この表示を構成しているセンサデータの大部分は、ストレージの問題により上書きされるが、情報の一部は、ライブで実行可能な情報又は履歴情報を使用して、ADAS、地図などの訓練及び予測用のシミュレーション環境を生成する目的で記憶される。この情報の有用性は、品質と共に増加する。概して、情報の品質が増加すると、要求されるデータ転送及び記憶容量も増加する。
【図面の簡単な説明】
【0002】
本開示の態様は、以下の詳細な説明を添付の図を用いて読むことで最もよく理解される。業界における標準的な慣行に従って、様々な特徴は縮尺通りに描かれているわけではないことに留意されたい。実際、説明を明確にするために、様々な特徴の寸法は任意で増減し得る。
【0003】
【
図1】
図1は、主題の開示の少なくとも一部の実施形態に係る、モバイルコンピューティングネットワークの問合せコンテンツの取込みについてのシステムの概略図である。
【
図2】
図2は、主題の開示の少なくとも一部の実施形態に係る、モバイルコンピューティングネットワークのコンテンツのクエリについてのグラフィカルユーザインターフェース(GUI)の図である。
【
図3】
図3は、主題の開示の少なくとも一部の実施形態に係る、コンテンツ取得タスクのデータ構造の図である。
【
図4】
図4は、主題の開示の少なくとも一部の実施形態に係る、問合せコンテンツの取得システムの概略図である。
【
図5】
図5は、主題の開示の少なくとも一部の実施形態に係る、モバイルコンピューティングネットワークの問合せコンテンツの取込みについての動作フローである。
【
図6】
図6は、主題の開示の少なくとも一部の実施形態に係る、個人識別情報の潜在的漏洩を低減するプログラム動作シーケンスの決定についての動作フローである。
【
図7】
図7は、主題の開示の少なくとも一部の実施形態に係る、候補プログラム動作を識別する動作フローである。
【
図8】
図8は、主題の開示の少なくとも一部の実施形態に係る、コンテンツクエリのオントロジークラスを決定する動作フローである。
【
図9】
図9は、主題の開示の少なくとも一部の実施形態に係る、コストを割り当てる動作フローである。
【
図10】
図10は、主題の開示の少なくとも一部の実施形態に係る、目的関数を適用する動作フローである。
【
図11】
図11は、主題の開示の少なくとも一部の実施形態に係る、個人識別情報の潜在的漏洩を低減するプログラム動作シーケンスの決定に関するハードウェア構成の図である。
【発明を実施するための形態】
【0004】
以下の開示は、提供される主題の様々な特徴を実装する多数の異なる実施形態又は実施例を提供する。本開示を簡略化するために、構成要素、値、動作、材料、配置、又は同種のものに関する具体例が以下に記載される。もちろん、これらは単なる例であって、限定することを意図したものではない。他の構成要素、値、動作、材料、配置、又は同種のものが想定される。例えば、以下の説明で第2の特徴の上方又は上に第1の特徴を形成することは、第1及び第2の特徴が直接的に接触して形成されている実施形態を含んでもよく、第1及び第2の特徴が直接的に接触しない場合があるように、追加の特徴が第1及び第2の特徴間に形成され得る実施形態も含んでもよい。加えて、本開示は、様々な例で参照番号及び/又は参照文字を繰り返し得る。この繰り返しは、簡略化及び明確化を目的としたものであって、それ自体で、説明される様々な実施形態及び/又は構成間の関係を規定するものではない。
【0005】
更に、「下方」、「下」、「~よりも下」、「上方」、「~よりも上」、及び同種のものなどの空間的に相対的な用語は、図に示されるような別の要素又は特徴に対するある要素又は特徴の関係を記載する説明を容易にするために本明細書で使用され得る。空間的に相対的な用語は、図で描写される向きに加えて、使用又は動作時におけるデバイスの様々な向きを包含することを意図したものである。装置は、他の場合の向き(90度回転又は他の向き)であってもよく、本明細書で使用される空間的に相対的な記述は、それに従って同様に解釈され得る。
【0006】
情報の品質が増加すると、人を識別するのに情報が充分である可能性が増加し、無関係の情報を送信する可能性が増加する。例えば、群衆の完全な品質の画像は、個人を容易に識別し得るが、顔情報が除去されている/ぼやけている場合であっても、身長、衣類、場所、時間などの組合せによって同一性を決定することが可能な場合がある。クエリに応じて、特定の情報のみが有用であって、他の情報をフィルタリングすることにより、個人識別情報(PII)又はPIIを再生成し得る情報を保持する可能性が低減される。
【0007】
本明細書で記載される主題の開示の少なくとも一部の実施形態は、クラウドネットワークに対する車両センサのステージの中での計算及び場所の全体的な決定においてPIIに対するフィルタリング及び圧縮の効果を考慮し、これにより、クラウドネットワークに対する車両センサの各ステージにおけるフィルタリング及び圧縮のレベルが均衡する。
【0008】
車両センサからクラウドを通じて有用な情報を取得するために、センサによって検出されるサンプルは、有用である第1のクラスの情報、及び使用可能でない第2のクラスの情報の両方を含む。サンプルデータがステージを通過すると、第2のクラス情報は、少なくとも一部の実施形態によって決定されるプログラム動作シーケンスに従って低減される。少なくとも一部の実施形態に係るシーケンスは、サンプルデータがクラウドストレージに記憶される時間によって第2のクラス情報を全体的に最小化又は除去しようと努める。少なくとも一部の実施形態では、ステージを通じて情報を検出、フィルタリング、圧縮、送信などを行うためにリソースが割り当てられる。
【0009】
少なくとも一部の実施形態に係るシーケンスにおいて様々なステージで使用されるように様々なフィルタ、圧縮器、及び分析器が決定され、ここで、ステージは、計算の複雑性に関して異なっている。例えば、画像から色情報を除去することは、計算の複雑性の観点でオブジェクト検出と比べて、比較的簡単である。
【0010】
計算コスト及び送信コストもステージによって変わる。例えば、センサに対する処理リソースの追加にはコストがかかるが、センサから次のレベルへのデータの送信にはコストがかからない。対照的に、クラウドに対する処理リソースの追加にはコストがかからないが、車両ストレージからクラウドへのデータの送信にはコストがかかる。
【0011】
PII漏洩の可能性もステージによって変わる。例えば、少なくとも一部の実施形態では、センサにおけるフィルタリング又は圧縮には、PII漏洩の著しく低い可能性が割り当てられる。対照的に、少なくとも一部の実施形態では、クラウドレベルにおけるフィルタリング又は圧縮には、PII漏洩の著しく高い可能性が割り当てられる。少なくとも一部の実施形態では、PII漏洩に関して割り当てられる可能性は更に、圧縮又はフィルタリングのレベル又はタイプによって変わる。少なくとも一部の実施形態では、画像から色情報を除去することについてPII漏洩に関して割り当てられる可能性は、画像を多数のエンコードされた観測表示に低減するオブジェクト検出と比べて比較的高く維持される。
【0012】
少なくとも一部の実施形態では、クラウドネットワークに対する車両センサのステージの中での計算及び場所の全体的な決定は、計算リソースのセット及びプログラム動作のセットを評価することを伴い、ここで、各動作は、リソースによって処理される必要があるデータの量を表すフロー要件を有し、各リソースは、各リソースが処理することができるデータの量を表す能力を有する。少なくとも一部の実施形態では、所与のリソース及び所与の動作の各ペアは、そのペアについてのコストに関連付けられる。少なくとも一部の実施形態では、コストは、PII漏洩の可能性の観点で単独で、又は従来の送信及び計算コストと組み合わされて表される。
【0013】
ソフトウェア開発者、保険提供者、市場調査員、及び法執行官などのユーザは、オンデマンドデータ取得(ODDR)システムを使用してグラフィカルユーザインターフェース(GUI)などのユーザインターフェースにデータ要求を入力することができる。ソフトウェア開発者は、例えば、車両上で実行されるアプリケーション、ミドルウェア、又はOS(オペレーティングシステム)を開発するソフトウェア開発者である。例示的なアプリケーションは、自動運転システムアプリケーション、例えば、オブジェクト認識アプリケーション、道路認識アプリケーション、センサフュージョンアプリケーション、ローカリゼーションアプリケーション、パスプランナアプリケーション、コントローラアプリケーションなどを含む。データ要求は、サーバで分析及び記憶され、次いで、サーバによって車両に送信される。サーバ側で、データ要求は、記憶ユニットに記憶され、要求キューは、記憶された要求に基づいて生成される。ユーザは、データ要求の状況に関する更新を確認又は要求することができる。例えば、データ要求が依然、車両への送信の前にサーバ内にある間、状況は、「保留」と示され得る。サーバがデータ要求を車両に送信すると、状況は、「送信済」に更新され得る。これにより、ユーザは、車両に対して行われるデータ要求の状況を確認及び追跡することができる。説明は、明確にするために車両を指しているが、説明は、単一の車両に加えて車両群に適用可能であることを当業者は認識するであろう。
【0014】
データ要求を生成するユーザインターフェースは、情報、要求されているデータタイプ、開始時間、及び終了時間を識別する、車両に関連する形態を含む。一部の実施形態では、開始時間及び終了時間は、絶対時間、例えば、UNIXエポック時間からの経過時間であるUNIX時間である。一部の実施形態では、開始時間及び終了時間は、データ要求が車両によって受信される時間に対する相対時間である。一部の実施形態では、開始時間及び終了時間は、トリガ事象に対する相対時間である。トリガ事象は、ユーザがデータを求めている、車両内の出来事若しくは車両の周囲の環境における出来事、又は車両によるデータ要求の受信である。例えば、車両の周囲の環境から生じるトリガ事象は、急加速、急ブレーキ、データ要求のターゲットの画像の取込み、データ要求のターゲットの検出、又は他の好適な出来事を含む。データ要求の状況を監視するユーザ情報は、データ要求の情報及びデータ要求の状況、例えば、保留又は送信済を識別することを含む。
【0015】
一部の実施形態では、データ要求が車両によって受信されると、データ要求は、データ要求のソースに関してデータ要求をアグノスティックにするように処理される。一部の実施形態では、データ要求識別情報(ID)は、車両によって、例えば、車両における要求抽出部によって、受信データ要求に割り当てられる。一部の実施形態では、データ要求IDは、車両に対するデータ要求の送信の前に、データ要求に割り当てられる。一部の実施形態では、データ要求は、車両で実行されているアプリケーションによって生成され、アプリケーションは、データ要求IDを割り当てる。換言すれば、データは、データ要求を車両に送信するプログラム又はシステムに関係なく、整合した方法で処理される。一部の実施形態では、データ要求は、車両内に記憶されたソフトウェア構成要素によって生成され、データは、外部デバイスから受信されるデータ要求と整合して処理される。これは、トリガデータ収集間で同じデータ収集ソフトウェア構成要素を共有するのに役立ち、ここで、アプリケーションは、ロガーに対するデータ収集要求、及びODDRベースの外部データ収集要求を生成する。
【0016】
一部の実施形態では、データ要求が車両によって受信されると、データ要求は、車両内のセンサ及びサーバに対してデータ要求をアグノスティックにするように処理される。一部の実施形態では、データ要求は、車両で実行されているアプリケーションによって生成される。一部の実施形態では、アプリケーションプログラミングインターフェース(API)は、車両内のセンサ又はサーバからの情報に対して、アプリケーションからのデータ要求をアグノスティックにするために使用可能である。これは、ユーザが最大限に、特定のセンサモデルのために要求をプログラムすることなくデータを収集できるようにするのに役立つ。次いで、データ要求は、データ収集部に転送され、要求データは、トリガ事象の発生に応じて収集される。交通事故などのトリガ事象が既に生じている状況では、車両内の記憶デバイス内に記憶されたデータに基づいてデータ要求が満たされる。収集データの時間枠、すなわち、開始時間及び終了時間は、データ要求に基づいて決定される。収集データは、サーバに転送されて返される。
【0017】
次いで、収集データは、サーバに記憶されて、データ要求の完了に関して通知がユーザに送信される。例えば、データ要求の状況は、ユーザインターフェース上で「完了」に更新される。
【0018】
一部の例では、予算管理システム又は支払システムは、データ要求に対してユーザに料金が課されるようにサーバ側又は車両側で実装される。料金は、要求の送信時又はデータ収集の完了時のいずれかで支払可能である。料金は、要求されるデータのタイプ及び量に基づいて調整可能である。一部の実施形態では、ユーザに課される料金の総額がユーザの予算の最大閾値に達すると、ユーザからのデータ要求が拒否される。
【0019】
このODDRシステムにより、ユーザは、オンデマンド方式で、車両によって収集される情報にアクセスすることができる。すなわち、データは、必ずしも連続的に収集されるわけではなく、ユーザの特定の要望を満たすように収集され得る。一部の実施形態では、ODDRシステムは、ソフトウェア開発者などのユーザがデータを収集して、収集データに基づいて試験的な方法でユーザのソフトウェアの設計、実装、及びパラメータ調整を更新するのに役立ち、その結果、ユーザは、例えば、Over-the-Air(OTA)更新としてネットワークを介してサーバから車両へ更新を届けることによってソフトウェアを連続的に改善することができる。一部の実施形態では、ODDRシステムは、アプリケーション用に機械学習モデルを開発する機械学習開発者がデータを収集して、最初にモデルが開発されたときに利用可能でなかったデータを用いてモデルを訓練するのに役立ち、その結果、機械学習開発者は、モデルを更新してモデルの弱点及び問題を連続的に修正することができる。一部の例では、保険提供者は、交通事故に関連するデータを収集することができる。一部の例では、法執行において、犯罪又は交通事故に関連する情報を収集することができる。
【0020】
図1は、一部の実施形態に係る要求取得システム100の概略図である。要求取得システム100は、ユーザインターフェース(UI)110を含む。UI110は、データのユーザ要求を車両140から受信するように構成されている。要求取得システム100は、サーバ120を更に含み、サーバ120は、UI110からユーザ要求を受信し、ユーザ要求を車両140に送信し、車両140からデータを受信し、アクセス可能なコンソール150を介してデータをユーザに提供するように構成されている。サーバ120は、UI110及び車両140と通信する通信セクション130を含む。要求取得システム100は、車両140から収集されるデータをユーザに通信するように構成されたアクセス可能なコンソール150を更に含む。
【0021】
UI110は、ユーザからの入力命令を受信するように構成されている。一部の実施形態では、ユーザは、ソフトウェア開発者を含む。一部の実施形態では、ユーザは、機械学習モデル開発者を含む。一部の実施形態では、ユーザは、保険提供者を含む。一部の実施形態では、ユーザは、法執行人員を含む。一部の実施形態では、ユーザは、市場調査会社を含む。UI110は、どのタイプの車両及びどのタイプのデータを要求しているかを選択するオプションをユーザに提供する。一部の実施形態では、UI110は、情報、要求されているデータタイプ、開始時間、及び終了時間を識別する、車両に関連する形態を使用してデータ要求を生成することができる。一部の実施形態では、開始時間及び終了時間は、絶対時間、例えば、UNIXエポック時間からの経過時間であるUNIX時間である。一部の実施形態では、開始時間及び終了時間は、データ要求が車両によって受信される時間に対する相対時間である。一部の実施形態では、開始時間及び終了時間は、トリガ事象に対する相対時間である。一部の実施形態では、UI110はまた、トリガ事象、及びトリガ事象に対するデータ収集継続時間を選択するオプションをユーザに提供する。一部の実施形態では、UI110は、データが要求される車両のタイプに関連する情報を含む。一部の実施形態では、UI110は、要求のターゲットとしての車両を一意に識別することができる車両IDを含む。例えば、車両IDは、汎用一意識別子(UUID)フォーマットを含む。一部の実施形態では、UI110は、ユーザが収集を望むデータのソースを識別することができるデータタイプを含む。例えば、データタイプは、センサデータが収集されるセンサのセンサID、アプリケーションログが収集されるアプリケーションのアプリケーションIDを含む。一部の実施形態では、センサID及びアプリケーションIDのフォーマットは、汎用一意識別子(UUID)フォーマットを含む。一部の実施形態では、UI110は、ドロップダウンメニューを含む。一部の実施形態では、UI110は、データ要求に関連する情報を受け付ける編集可能フィールドを含む。一部の実施形態では、UI110は、どのデータオプションタイプがユーザに利用可能であるかに関する情報を提供する。一部の実施形態では、利用可能なデータオプションタイプは、ユーザに依存する。例えば、一部の実施形態では、法執行において、保険提供者よりも多くのデータオプションを選択することができる。
【0022】
一部の実施形態では、UI110は、グラフィカルユーザインターフェース(GUI)を含む。一部の実施形態では、UI110は、サーバ120に接続可能なモバイル端末、例えば、携帯電話を含む。一部の実施形態では、UI110は、RESTful APIなどのウェブインターフェースを含む。一部の実施形態では、UI110は、サーバ120に接続可能なコンピュータを含む。一部の実施形態では、UI110は、サーバ120に無線で接続することができる。一部の実施形態では、UIは、有線接続によってサーバ120に接続可能である。UI110はまた、データ要求の状況に関する更新をユーザに提供することができる。一部の実施形態では、UI110は、ユーザによる追加のクエリに応じて、データ要求に関する状況更新を提供する。一部の実施形態では、UI110は、サーバ120から更新情報を受信すると、ユーザとのやり取りを伴うことなく自動的に、データ要求に関する状況更新を提供する。一部の実施形態では、状況更新により、UI110は、ユーザに警告をトリガする。一部の実施形態では、警告は、音声警告又は視覚的な警告を含む。
【0023】
一部の実施形態では、UI110は、ユーザからの料金の支払いを受け付ける手段を含む。一部の実施形態では、UI110は、ユーザが支払カード情報を入力するのを可能にするデータ入力フィールドを含む。一部の実施形態では、UI110は、支払カード情報を検出するリーダ、例えば、磁気ストライプリーダ、バーコードリーダ、チップリーダ、又は別の好適なリーダを含む。
【0024】
サーバ120は、UI110及び車両140と通信するように構成された通信セクション130を含む。通信セクション130は、UI110からデータ要求を受信するように構成された受信機131を含む。一部の実施形態では、受信機131は、無線受信機を含む。一部の実施形態では、受信機は、有線接続を介してデータ要求を受信するように構成されている。一部の実施形態では、受信機131は更に、受信データ要求に対して初期処理を行うように構成されている。一部の実施形態では、受信データ要求は、優先レベル情報を含む。一部の実施形態では、受信機131は、データ要求を送信したユーザの同一性又はデータ要求を送信したユーザによって支払われる料金に基づいて、優先レベルをデータ要求に割り当てるように構成されている。一部の実施形態では、受信機131は、要求識別情報(ID)番号を各受信データ要求に割り当てるように構成されている。一部の実施形態では、サーバ120は、ユーザの同一性に基づいて、車両140内の特定のセンサに対するアクセスを制限するように構成されている。例えば、一部の実施形態では、第三者ユーザは、車両140の安全機能に関連するセンサにアクセスできない。
【0025】
通信セクション130は、受信機131によって受信されるデータ要求を記憶するように構成されたメモリユニット132を更に含む。一部の実施形態では、メモリユニット132は、ランダムアクセスメモリ、ソリッドステートメモリ、又は別のタイプのメモリを含む。一部の実施形態では、メモリユニット132は、データ要求の状況と共にデータ要求を記憶するように構成されている。一部の実施形態では、データ要求の状況は、保留(データ要求を車両140に送信する前)と、送信済(データ要求を車両140に送信した後)と、完了(車両140から要求データを受信した後)と、を含む。一部の実施形態では、メモリユニット132は、ユーザによってアクセス可能である。一部の実施形態では、メモリユニット132内の情報に対する更新は、メモリユニット132内で更新される情報に関連付けられるユーザへの通知をトリガする。一部の実施形態では、メモリユニット132は、データ要求が受信された時間を示すタイムスタンプデータと一緒にデータ要求を記憶する。一部の実施形態では、メモリユニット132は、優先レベルと関連付けてデータ要求を記憶する。一部の実施形態では、優先レベルは、ユーザの同一性に基づいて決定される。例えば、一部の実施形態では、法執行は、保険提供者よりも高い優先度を有し、当該保険提供者は、ソフトウェア開発者などの通常のユーザよりも高い優先度を有する。一部の実施形態では、優先レベルは、ユーザによって支払われる料金に基づいて決定される。例えば、一部の実施形態では、ユーザは、要求データをより早く取得するようにユーザの要求の優先レベルを増加させるために料金を支払うことができる。一部の実施形態では、データ要求の初期記憶と車両に対するデータ要求の送信との間の時間量が増加すると、データ要求の優先レベルは増加する。
【0026】
通信セクション130は、送信機133を更に含む。送信機133は、データ要求の状況をUI110に送信するように構成されている。一部の実施形態では、データ要求の状況は、UI110に無線で送信される。一部の実施形態では、データ要求の状況は、有線接続を介してUI110に送信される。一部の実施形態では、送信機133は、メモリユニット132内の更新に応じて、データ要求に対する更新を自動的に提供するように構成されている。一部の実施形態では、送信機133は、ユーザから受信される更新要求に応じて、データ要求に対する更新を提供するように構成されている。一部の実施形態では、送信機133は、最初にデータ要求をメモリユニット132に保存すると、要求IDを自動的に送信するように構成されている。一部の実施形態では、データ要求の状況は、データ要求の優先レベルを含む。一部の実施形態では、データ要求の状況は、データ要求が車両140に送信されるまでの推定時間を含む。
【0027】
通信セクション130は、車両140に送信する優先順序でデータ要求を記憶するように構成されたクエリキュー134を更に含む。一部の実施形態では、クエリキュー134は、メモリユニット132内に組み込まれる。一部の実施形態では、クエリキュー134は、メモリユニット132とは別々である。一部の実施形態では、クエリキュー134は、優先レベル及びタイムスタンプ情報に基づいてメモリユニット132からデータ要求を取得するように構成されている。一部の実施形態では、クエリキュー134は、優先レベルに基づいてデータ要求を並べ替え、同じ優先レベルを有するデータ要求に応じて、メモリユニット132に最初に保存してからの時間によってデータ要求を並べ替えるように構成されている。
【0028】
通信セクション130は、クエリキュー134から車両140にデータ要求を送信するように構成された送信機135を更に含む。送信機135は、クエリキュー134におけるデータ要求の順序に基づいてデータ要求を車両140に送信するように構成されている。一部の実施形態では、データ要求は、車両140に無線で送信される。一部の実施形態では、データ要求は、有線接続によって車両140に送信される。車両140に送信されるデータ要求は、トリガ事象情報と、データが収集されるべきトリガ事象の前後の期間に関連するデータ継続時間情報と、車両140のあるタイプのセンサがデータを収集すべきであることを示すセンサ情報と、を含む。一部の実施形態では、車両140に送信されるデータ要求は、優先レベル情報を含む。一部の実施形態では、車両140が、データ要求を車両140に送信する要求をサーバ120に送信すると、送信機135は、データ要求を車両140に送信するように構成されている。一部の実施形態では、車両140が新しいデータ要求を受け付けることができないことを示す情報を通信セクション130が受信していない限り、通信セクション130が、データ要求を送信するために車両140に対する充分なコネクティビティを有する任意の時に、送信機135は、データ要求を車両140に送信するように構成されている。一部の実施形態では、車両140が新しいデータ要求を受信することができ、送信機135が、車両140に対する充分なコネクティビティを有している限り、送信機135は、定期的にデータ要求を車両140に送信するように構成されている。一部の実施形態では、送信機135は、バッチで、例えば、5つのデータ要求、20個のデータ要求、又は何らかの他の数のデータ要求のグループでデータ要求を車両140に送信するように構成されている。一部の実施形態では、送信機135は、データ要求の受信の確認を車両140に要求するように構成されている。所定の期間に車両から受信の確認を受信していないことに応じて、送信機135は、データ要求を再送信するように構成されている。一部の実施形態では、メモリユニット132内に記憶されたデータ要求の状況は、車両140からのデータ要求の受信に関する確認を通信セクション130が受信したことに応じて、車両140に対する送信を示すように更新される。
【0029】
通信セクション130は、トリガ事象の発生の通知を車両140から受信するように構成された受信機136を更に含む。一部の実施形態では、トリガ事象の発生は、データ要求の受信である。一部の実施形態では、受信機136は、トリガ事象の通知を無線で受信するように構成されている。一部の実施形態では、受信機136は、有線接続を介してトリガ事象の通知を受信するように構成されている。一部の実施形態では、受信機136は、通知されるトリガ事象に関連するデータ要求の状況を更新する信号をメモリユニット132に送信するように構成されている。
【0030】
通信セクション130は、送信機135によって送信されるデータ要求に応じて車両140からデータを受信するように構成された受信機137を更に含む。一部の実施形態では、データは、車両140からサーバ120への送信の単位であるデータパケットに車両140によって分割され、受信機137は、車両140からデータパケットを受信する。一部の実施形態では、受信機137は、データを無線で受信するように構成されている。一部の実施形態では、受信機137は、有線接続を介してデータを受信するように構成されている。一部の実施形態では、受信機137は、要求データの受信に関連するデータ要求の状況を更新する信号をメモリユニット132に送信するように構成されている。一部の実施形態では、単一のデータ要求に応じたデータは、車両140から単一のパケットで受信される。一部の実施形態では、単一のデータ要求に応じたデータは、車両140から複数のパケットで受信される。受信機137は、受信データをプリプロセッサ122に転送する。
【0031】
サーバ120は、プリプロセッサ122を更に含み、プリプロセッサ122は、受信機137からデータを受信し、当該データに対して前処理を行って収集データを生成するように構成されている。一部の実施形態では、前処理は、データ要求に応じてデータをコンパイルするように複数のパケットからのデータを修正することを含む。一部の実施形態では、前処理は、受信されるバイトアレイからの構造化データをコンパイルするようにデータをデシリアライズすることを含む。一部の実施形態では、前処理は、送信前に車両140によってデータが圧縮されている場合にデータを解凍することを含む。一部の実施形態では、前処理は、リード-ソロモン(RS)コード、ボーズ-チョドーリ-ボッケンジェム(BCH)コード、低密度パリティチェック(LDPC)コード、及び同種のものなどのエラー訂正コード(ECC)によるエラー訂正を含む。一部の実施形態では、前処理は、誤ったデータをユーザに報告するリスクを低減するように異常値を除去することによってデータを平滑化することを含む。一部の実施形態では、前処理は、データ要求ID情報、優先レベル情報、又は他の好適な情報を、受信機137からの受信データと関連付けることを含む。一部の実施形態では、データは、理解するのが容易であって、且つ情報を識別するために専門の知識又は機器に依存しないフォーマットで情報がユーザに提供されるように前処理される。
【0032】
サーバ120は、データプリプロセッサ122によって生成される収集データを記憶するように構成されたデータストレージ126を更に含む。一部の実施形態では、データストレージ126は、メモリユニット132に組み込まれる。一部の実施形態では、データストレージ126は、メモリユニット132とは別々である。一部の実施形態では、データストレージ126は、ソリッドステートドライブ(SSD)、ランダムアクセスメモリ、又は別の好適なメモリを含む。一部の実施形態では、データストレージ126は、例えば、UI110又はアクセス可能なコンソール150を使用して、ユーザによってアクセス可能である。一部の実施形態では、データストレージ126は、データ要求に関連するデータが利用可能であることに応じて、ユーザに通知するように構成されている。一部の実施形態では、通知は、ユーザに対する警告を含む。一部の実施形態では、警告は、音声警告又は視覚的な警告を含む。一部の実施形態では、データストレージ126は、UI110又はアクセス可能なコンソール150に、収集データの利用可能性の通知を自動的に表示させるように構成されている。一部の実施形態では、データストレージ126は、ユーザがデータ要求を送信することなく、アクセス可能なコンソール150を使用してユーザによってアクセス可能である。一部の実施形態では、データストレージ126内のデータは、アクセス可能なコンソール150を介してユーザによって検索可能である。一部の実施形態では、収集データは、コンソール150において可視化される。
【0033】
要求取得システム100は、車両140を更に含む。車両140は、車両140の内部状況、及び車両140の周囲の外部環境の両方を検出するためのセンサを含む。一部の実施形態では、センサは、カメラ、光測距(LiDAR(ライダ))センサ、無線測距(RADAR(レーダ))センサ、音による航法及び測距(SONAR(ソナー))センサ、加速度計、ステアリングホイール位置、速度計、又は別の好適なセンサを含む。車両140は、無線又は有線接続のいずれかによりデータ要求を受信することができる。
【0034】
一部の実施形態では、データ要求の受信に応じて、車両140は、データ要求IDを受信データ要求に割り当てるように構成され、データ要求は、データ要求の発生システム又はプログラムに対してアグノスティックであるように処理される。別の実施形態では、車両140の代わりに通信セクション130がデータ要求IDを割り当て、データ要求IDは、通信セクション130から車両140に送信されるデータ要求に含まれる。データ要求の発生システム又はプログラムに対してデータ要求をアグノスティックにすることは、様々なユーザ及びシステムからの広範囲のデータ要求を受信及び処理する車両140の能力を拡張するのに役立つ。車両140は、プロセッサを含み、当該プロセッサは、データ要求を処理して、車両140において利用可能なセンサがデータ要求を満たすことができる情報のタイプを決定する。少なくとも一部の実施形態では、車両140は、プロセッサ、コントローラ、又はそれらの組合せのネットワーク、例えば、コントローラエリアネットワーク(CAN)であるモバイルコンピューティングネットワークを含む。少なくとも一部の実施形態では、各プロセッサは、電子制御ユニット(ECU)である。車両140は、センサからのデータを記憶するメモリを更に含む。一部の実施形態では、プロセッサは、メモリにアクセスして、任意の記憶データがデータ要求を満たすことができるかどうかを決定する。車両140は更に、無線又は有線接続のいずれかにより、データ要求を満たすと考えられるデータをサーバ120に送信することができる。一部の実施形態では、プロセッサは、データ要求の受信される優先レベルに基づく優先順序で受信データ要求を満たそうと試みるように構成されている。一部の実施形態では、車両140は、データ要求の受信される優先レベルに基づいて優先的に、データをサーバに送信するように構成されている。
【0035】
一部の実施形態では、車両140のメモリ及びプロセッサは、車両140内の電子制御ユニット(ECU)においてソフトウェアアプリケーションを記憶及び実行するように構成されている。一部の実施形態では、データ要求は、ECUに記憶されたソフトウェアアプリケーションによって生成される。一部の実施形態では、データ要求は、トリガ事象、例えば、急加速、急ブレーキ、ソフトウェアアプリケーションにおいて予め定められた特定のオブジェクト又は特定のシーンを含むセンサデータの取込み、ソフトウェアアプリケーションの「クラッシュ」、ソフトウェアアプリケーションにおいて検出される異常、又は別の好適な検出出来事に応じて生成される。一部の実施形態では、車両140は、ソフトウェアアプリケーションに関連付けられるトリガ事象の検出に応じて、ソフトウェアアプリケーションの保守者、例えば、ユーザに対する通知を生成するように構成されている。一部の実施形態では、通知は、例えば、UI110を通じてユーザに対して直接的に、無線又は有線接続のいずれかにより送信される。一部の実施形態では、通知は、サーバ120を通じてユーザに、無線又は有線接続のいずれかにより送信される。一部の実施形態では、通知は、音声通知又は視覚的な通知を含む。一部の実施形態では、通知は、ユーザとのやり取りを伴うことなくUI110に通知を自動的に表示させるように構成されている。
【0036】
要求取得システム100は、アクセス可能なコンソール150を更に含む。アクセス可能なコンソール150は、データストレージ126に記憶された収集データにユーザがアクセスすることを可能にする。一部の実施形態では、アクセス可能なコンソール150は、UI110に組み込まれる。一部の実施形態では、アクセス可能なコンソール150は、UI110とは別々である。一部の実施形態では、アクセス可能なコンソール150は、サーバ120とは別々である別のサーバを含む。一部の実施形態では、アクセス可能なコンソール150は、データストレージ126が収集データを受信すると、ユーザからのデータ要求に関連する収集データを自動的に受信する。一部の実施形態では、アクセス可能なコンソール150は、ユーザがデータ要求を送信することなく、ユーザがデータストレージ126を検索して、データストレージ126に記憶された収集データのうちのいずれかがユーザに有用であるかどうかを決定することを可能にする。
【0037】
要求取得システム100の使用は、受信データを要求するか又は読み取るために専門の機器に依存することなく理解するのが容易であるフォーマットで、1台以上の車両140からユーザが情報を取得することを可能にする。要求取得システム100においてデータ要求に優先順位を付けることが可能なことで、データをより迅速に取得するためにユーザが料金を支払うことも可能にしつつ、法執行又は他のユーザがデータを取得できることを保証するのに役立つ。この柔軟性は、広範囲のユーザに対して要求取得システム100の有用性を改善するのに役立つ。
【0038】
図2は、一部の実施形態に係る、要求取得システムについてのグラフィカルユーザインターフェース(GUI)200及び250の図である。一部の実施形態では、GUI200は、要求取得システム100(
図1)におけるUI110として使用可能である。一部の実施形態では、GUI200は、受信機131(
図1)が受信するデータ要求を生成するために使用可能である。GUI200は、GUI200がユーザから受け付けることができる情報のタイプを識別する複数の情報タイプ210を含む。GUI200は、GUI200の対応する情報タイプ210に関連する情報を受信するように構成された複数のフィールド220を更に含む。GUI200は、送信ボタン230を更に含み、送信ボタン230は、フィールド220内の情報に基づいて、データ要求をサーバ、例えば、サーバ120(
図1)に送信するように構成されている。複数の情報タイプ210の名前及び数は単なる例示であること、並びに異なる数及びタイプの情報も本開示の範囲内であることを当業者は認識するであろう。
【0039】
一部の実施形態では、フィールド220は、車両ID、データタイプ、開始時間、及び終了時間をユーザが入力するフィールドを含む。一部の実施形態では、フィールド220は、データ要求の優先レベルをユーザが入力するフィールドを更に含む。一部の実施形態では、GUI200は、ユーザがデータ要求の優先レベルを増加させることができる方法に関連する情報、例えば、各々の利用可能な優先レベルに関連付けられる料金を示す情報を更に含む。一部の実施形態では、GUI200は、ユーザの同一性を確立するためにログイン情報をユーザが入力することを可能にするフィールド220を含む。一部の実施形態では、GUI200は、ログイン情報の受信の後にユーザの優先レベルを表示するように構成されている。一部の実施形態では、GUI200は、データ要求の優先レベルを確立するための料金に関連する支払情報を受け付けるフィールド220を更に含む。
【0040】
GUI250は、GUI200上でユーザが送信ボタン230を選択した後にユーザに表示されるように構成されている。一部の実施形態では、GUI250は、ODDRシステム100(
図1)におけるGUI110として使用可能である。GUI250は、データ要求が受信されたことを示す情報を含む。GUI250は、クエリIDラベル260と、クエリIDフィールド270と、を含む。クエリIDフィールド270に入力している情報は、サーバがデータ要求を受信及び記憶した後に、サーバ、例えば、サーバ120(
図1)から受信される。一部の実施形態では、GUI250は、車両IDの情報を含む。一部の実施形態では、GUI250は、データ要求の優先レベルに関連する情報を含む。一部の実施形態では、GUI250は、データ要求の状況に関する情報、例えば、保留、送信済、完了などを含む。一部の実施形態では、GUI250は、データ要求が車両、例えば、車両140(
図1)に送信されるまでの推定時間に関連する情報を含む。少なくとも一部の実施形態では、GUI250は、要求データが受信されるまでの推定時間に関連する情報を含む。少なくとも一部の実施形態では、GUI250は、要求データを受信するための推定エネルギー消費量に関連する情報を含む。一部の実施形態では、GUI250は、サーバからのクエリID情報の受信に応じて自動的に表示される。一部の実施形態では、GUI250は、アップロードされたデータ要求に対する更新の要求をユーザが送信したことに応じて表示される。
【0041】
図3は、一部の実施形態に係る、要求取得コマンド310のデータ構造300の図である。一部の実施形態では、要求取得コマンド310は、サーバ120から車両140(
図1)に送信される。要求取得コマンド310は、車両、例えば、車両140(
図1)に対するデータ要求によって求められるデータのタイプに関連する情報を含む。
【0042】
要求取得コマンド310は、データ要求の優先レベルを示す転送優先パラメータ311を含む。要求取得コマンド310は、もしあれば、車両における他のアプリケーションから取得されるべきデータのタイプを示すログレベルパラメータ312を更に含む。例えば、一部の実施形態では、要求取得コマンド310は、オブジェクト認識アプリケーションからデータを取得する。ログレベルパラメータ312は、エラーレベル又は重大レベルなどの他のアプリケーションから取得するデータのタイプを決定する。一部の実施形態では、ログレベルパラメータ312は、要求取得コマンド310から省略されるか、又はログレベルパラメータ312は、ヌル状態にされる。要求取得コマンド310は、データを収集するためのトリガ事象の前及び/又は後の期間を示す収集時間範囲パラメータ313を更に含む。時間範囲は、ユーザによってGUI200(
図2)に入力された開始時間及び終了時間に対応している。要求取得コマンド310は、データ要求に応じて収集されるデータの宛先を示すユニフォームリソースロケータ(URL)エンドポイントパラメータ314を更に含む。要求取得コマンド310は、もしあれば、データが時間範囲313からサンプリングされるべき頻度を示す周波数パラメータ315を更に含む。例えば、事象時間がt=100秒であって、時間範囲が開始時間=-1秒及び終了時間=2秒を備え、周波数が10Hz(100ミリ秒サイクル)である場合、t=99.0秒、99.1秒、99.2秒、...、101.9秒、102.0秒におけるデータが要求取得コマンドによって収集される。要求取得コマンド310は、データ要求によって要求されるデータを収集するために使用可能なセンサ及び/又はアプリケーションのタイプを示すログIDパラメータ316を更に含む。一部の実施形態では、(汎用一意識別子(UUID)などの)固有IDは、全てのセンサ及びアプリケーションに予め割り当てられ、ユーザがデータを収集することを望む固有IDは、ログIDパラメータ316において指定される。要求取得コマンド310は、データ要求を行ったユーザの同一性を示す要求者IDパラメータ317を更に含む。要求取得コマンド310は、データ要求に関連付けられるトリガ事象を示す事象IDパラメータ318を更に含む。要求取得コマンド310は、データ要求を満たすために割り当てられるべき、車両、例えば、車両140(
図1)のリソースの量を示す予算IDパラメータ319を更に含む。当業者は、要求取得コマンド310において追加のパラメータが可能であることを理解するであろう。例えば、一部の実施形態では、要求取得コマンド310は、トリガ事象が発生可能な地理的エリアを示す車両場所パラメータを含む。当業者は、要求取得コマンド310が常に、
図3のパラメータの全てを含むわけではないことも理解するであろう。例えば、一部の実施形態では、予算IDパラメータ319は省略される。
【0043】
図4は、一部の実施形態に係る要求取得システム400のブロック図である。一部の実施形態では、要求取得システム400は、要求取得システム100(
図1)の一部である。一部の実施形態では、要求取得システム400は、要求取得システム100(
図1)と一緒に使用可能である。一部の実施形態では、要求取得システム400は、要求取得システム100(
図1)とは別々である。
【0044】
要求取得システム400は、車両又は車両の周囲に関する情報を取り込むように構成された検出車両システム410を含む。検出車両システム410は、車両及び周囲に関する情報を取り込んで、当該情報をサーバに送信する。要求取得システム400は、サーバ440を更に含み、サーバ440は、情報を受信し、情報をエンコードし、情報をユーザ端末460に流すように構成されている。
【0045】
検出車両システム410は、センサ414、グローバルポジショニングシステム(GPS)416、及び地
図418からデータを受信するように構成された電子制御ユニット(ECU)420を含む。ECU420は、状況検出器422と、データ指定部432と、ログコレクタ434と、ログ送信機436と、を含む。状況検出器422は、車両制御モニタ424と、オブジェクト検出器426と、シーン検出器428と、を含む。
【0046】
一部の実施形態では、ECU420は、ローカリゼーションユニットを更に含み、当該ローカリゼーションユニットは、GPS416及び地
図418からデータを受信して、検出され及び/又は既知であるオブジェクト及び/又は道路の位置に対する車両の位置並びに車両の姿勢及び状態を決定するように構成されている。姿勢は、車道などの基準点に対する車両の向きである。一部の実施形態では、車両の位置はまた、車両の位置ベクトルを指す。車両の姿勢及び状態は、車両の速度及び進行方向を指す。一部の実施形態では、車両の姿勢及び状態はまた、車両の速度ベクトル、加速度ベクトル、及びジャークベクトルを指す。一部の実施形態では、位置ベクトル、速度ベクトル、加速度ベクトル、及びジャークベクトルは、角ベクトルを含む。一部の実施形態では、車両の状態はまた、車両のエンジン又はモータが動作しているかどうかを指す。
【0047】
センサ414は、車両の周囲の環境の情報、例えば、画像を取り込むように構成されている。一部の実施形態では、センサ414は、可視光カメラ、IRカメラを含む。一部の実施形態では、センサ414は、光検出及び測距(LiDAR(ライダ))センサ、無線検出及び測距(RADAR(レーダ))センサ、音による航法及び測距(SONAR(ソナー))センサ、又は別の好適なセンサに置き換えられるか、又はそれらが更に付随する。一部の実施形態では、センサ414は、車両における他の場所に配置された追加のカメラを含む。例えば、一部の実施形態では、追加のカメラは、見ている車両の左及び右にある環境のより大きい部分を検出するために車両の側方に配置される。車両の乗員は、車両の側方の窓から外を見ることができるため、車両の周囲の環境におけるより大きい部分を検出するために追加のカメラを使用することは、車両の周囲のオブジェクト又はシーンを検出する精度を増加させるのに役立つ。例えば、一部の実施形態では、追加のカメラは、車両の後方にある環境のより大きい部分を検出するために車両の後ろ側に配置される。この情報は、オブジェクトに関する情報を取り込むのに役立つ。一部の実施形態では、センサ414からのデータは、センサ414からのデータを他の構成要素からのデータと同期させるのに役立てるためにタイムスタンプ又は他のメタデータを含む。
【0048】
GPS416は、車両の場所を決定するように構成されている。見ている車両の場所が分かることは、地
図418上で決定される場所にオブジェクト又はシーンを関連付けるのに役立つ。
【0049】
地
図418は、車道及び車道に沿った既知のオブジェクトに関連する情報を含む。一部の実施形態では、地
図418は、車両の場所及び進行方向を決定するためにGPS416と一緒に使用可能である。一部の実施形態では、地
図418は、サーバ440などの外部デバイスから受信される。一部の実施形態では、地
図418は、センサ414及び/又はGPS416からの情報に基づいて定期的に更新される。一部の実施形態では、地
図418は、外部デバイスから受信される情報に基づいて定期的に更新される。一部の実施形態では、地
図418は、同時のローカリゼーション及びマッピング(SLAM)アルゴリズムによってセンサデータから生成される。地
図418を含むことは、オブジェクトが既知のオブジェクトであるかどうかを決定するのに役立つ。既知のオブジェクトを有する地
図418を含むことは、新しいオブジェクト検出の精度を増加させるのに役立つ。
【0050】
状況検出器422は、車両の性能及び車両内のシステムの性能に関連する情報を生成するように構成されている。状況検出器422は、車両内の構成要素、例えば、センサ414、ブレーキシステム、加速システム、及び他の好適な構成要素から情報を収集することができる。この情報を利用して、状況検出器422は、車両の性能を決定することができる。一部の実施形態では、状況検出器422は更に、車両内のソフトウェア及びネットワーキング動作の性能を監視するように構成されている。例えば、一部の実施形態では、状況検出器422は、車両内のソフトウェア又はアプリケーションの「クラッシュ」に関連する情報を受信するように構成されている。一部の実施形態では、状況検出器422は、車両内のメモリデバイスの記憶容量に関する情報を収集するように構成されている。一部の実施形態では、状況検出器422は、車両内のプロセッサの処理能力に関連する情報を受信するように構成されている。
【0051】
車両制御モニタ424は、車両の現在の動作に関連するセンサデータ及び制御ログを受信するように構成されている。一部の実施形態では、センサデータは、車両の速度、加速度、ジャーク、ブレーキ、ステアリング、ピッチ、ロール、ヨー、ハザードランプの点滅、警笛を鳴らすことに関連する情報、又は他の好適な情報を含む。車両制御モニタ424は、受信センサデータのうちのいずれかが、要求を満足する基準を満たしていることを示しているかどうか、例えば、トリガ事象が検出されたかどうかを決定するように構成されている。
【0052】
オブジェクト検出器426は、センサ414からセンサデータを受信して任意の異常なオブジェクトが車道に位置しているかどうかを決定するように構成されている。一部の実施形態では、オブジェクト検出器426は更に、任意のオブジェクトが車道に沿って又は車道に隣接して存在しているかどうかを決定するように構成されている。一部の実施形態では、センサ414からのセンサデータは、画像を含み、オブジェクト検出器426は、例えば、訓練されたニューラルネットワークを使用して受信画像に対して画像認識を行って異常なオブジェクトを識別するように構成されている。一部の実施形態では、オブジェクト検出器426は、任意の識別オブジェクトをGPS416及び地
図418からの情報と比較して識別オブジェクトのタイプを決定するのに役立てるように構成されている。一部の実施形態では、オブジェクト検出器426は、オブジェクト、例えば、タイヤ、車の部品など、動物、穴、交通規制ボード、緊急車両、ハザード光がアクティブである車両、又は他の好適なオブジェクトをオブジェクトとして識別するように構成されている。
【0053】
シーン検出器428は、センサ414からセンサデータを受信して、要求を満足する条件を満たす任意のシーンが車両の周囲の環境に位置しているかどうかを決定するように構成されている。一部の実施形態では、シーン検出器428は、2台以上の車両が互いに接触していること、又は車両が複数の落下物によって囲まれていることの検出に応じて、車両事故が生じていることを決定するように構成されている。一部の実施形態では、シーン検出器428は、近接している複数の建設車両の検出に基づいて建設が行われていることを決定するように構成されている。一部の実施形態では、シーン検出器428は、車両が車道に隣接して位置しており、移動していないか又は他の車両よりも著しく遅く移動していることの決定に基づいて、車両が路肩に駐車していることを決定するように構成されている。一部の実施形態では、シーン検出器428は、訓練されたニューラルネットワークなどを通じて画像認識を使用して車両の周囲のシーンのコンテンツを決定するように構成されている。
【0054】
一部の実施形態では、オブジェクト検出器426及びシーン検出器428の各々は、車両の動作の全期間中に、例えば、車両のエンジン又はモータが動作しているときにアクティブである。一部の実施形態では、オブジェクト検出器426又はシーン検出器428のうちの少なくとも一方は、特定の挙動、例えば、トリガ事象が検出されたことを車両制御モニタ424が決定したことに応じてアクティブにされる。
【0055】
データ指定部432は、要求の実現が成されたこと、又はトリガ事象が検出されたことの判定を受信するように構成されている。データ指定部432は、受信情報を分析して、受信データに基づいて、センサ414からのどのセンサデータが収集されるべきであるかを決定するように構成されている。例えば、運転者による異常なステアリング挙動が検出される一部の実施形態では、データ指定部432は、センサ414のフロントカメラからの画像データが取り込まれるべきであることを決定するように構成されている。更に、データ指定部432は、検出状況の時間に基づいて、決定したセンサからのデータが収集されるべきである期間を決定するように構成されている。一部の実施形態では、データ指定部432は、ユーザから受信される要求における命令に基づいてデータを収集するセンサ414を決定するように構成されている。
【0056】
一部の実施形態では、データ指定部432は、検出状況に関連する受信センサデータの領域を決定するように構成されている。一部の実施形態では、受信センサデータの領域は、例えば、オブジェクト検出器426又はシーン検出器428によって、センサデータに対して行われるオブジェクト認識に基づいて識別される。一部の実施形態では、データ指定部432は、異常な状況のログにおける情報の量を低減するために、センサデータから受信画像を切り取るか、又はセンサデータが画像でない場合にセンサデータから異質なデータを除去するように構成されている。一部の実施形態では、データ指定部432は、個人情報、例えば、ライセンスプレート、人間の顔などをセンサデータから除去するように構成されている。
【0057】
ログコレクタ434は、データ指定部432からデータを受信するように構成されている。一部の実施形態では、ログコレクタ434は、データ指定部432によって提供される情報に基づいて、センサ414、GPS416、又は状況検出器422から直接的にデータを受信するように構成されている。ログコレクタ434はまた、どの情報がオブジェクトのタイプ及び場所を識別するのに有用であるか、例えば、GPS416若しくは地
図418からの場所情報か、センサ414からの画像情報か、データ指定部432からの切取又は低減された情報か、オブジェクト若しくはシーンが検出された時間に関連するタイムスタンプ情報か、又は他の好適な情報を決定するように構成されている。
【0058】
ログコレクタ434は、受信され相互に関係するデータ、例えば、切取画像及び場所データに基づいてログデータを生成する。ログコレクタ434はまた、収集データの同期を支援するために、そして、サーバ440内のキュー優先度のために、タイムスタンプ情報をログデータと関連付ける。一部の実施形態では、ログコレクタ434は、切取画像に関連付けられる世界座標を更に含めるようにログデータを生成する。一部の実施形態では、ログコレクタ434は、切取画像に関連付けられる地図場所を更に含めるようにログデータを生成する。一部の実施形態では、ログコレクタ434は、オブジェクト又はシーンを決定する精度の増加を支援するために追加の情報を含む。
【0059】
上記説明は、センサ414からの画像に基づいてログデータを生成することに関するものであるが、当業者は、ログコレクタ434は、画像に基づいてログデータを生成することのみに限定されないことを理解するであろう。一部の実施形態では、ログコレクタ434は、車両に取り付けられた他のセンサ、例えば、RADAR(レーダ)、LiDAR(ライダ)、又は他の好適なセンサからの情報に基づいてログデータを生成するように構成されている。乗員がスマートグラスを着用している一部の実施形態では、ログコレクタ434は更に、スマートグラスから受信される情報に基づいてログデータを生成するように構成されている。
【0060】
ログ送信機436は、ログコレクタ434からログデータを受信して、当該ログデータをサーバ440に送信するように構成されている。一部の実施形態では、ログ送信機436は、ログデータを無線で送信するように構成されている。一部の実施形態では、ログ送信機436は、有線接続を介してログデータを送信するように構成されている。一部の実施形態では、ログ送信機436は、直接的にログデータをユーザ端末460に送信するように構成されている。一部の実施形態では、ログ送信機436は、ユーザによってアクセス可能なモバイルデバイスにログデータを送信するように構成されており、次いで、当該モバイルデバイスは、当該ログデータをサーバ440に送信するように構成されている。一部の実施形態では、ログ送信機436は、Bluetooth(登録商標)又は別の好適な無線技術を使用してログデータをモバイルデバイスに送信するように構成されている。一部の実施形態では、ECU420は、モバイルデバイスからサーバ440へのデータ転送速度が、ログ送信機436からサーバ440への転送速度よりも高いかどうかを決定するように構成されている。モバイルデバイスからサーバ440へのデータ転送速度の方が高いという判定に応じて、ログ送信機436は、サーバ440に送信されるログデータをモバイルデバイスに送信するように構成されている。モバイルデバイスからサーバ440へのデータ転送速度の方が高くないという判定に応じて、ログ送信機436は、ログデータをモバイルデバイスに転送することなく直接的に、車両システム410からサーバ440にログデータを送信するように構成されている。
【0061】
一部の実施形態では、検出車両システム410は、車両に取り付けられたセンサからのセンサデータを記憶するように構成されたメモリを更に含む。一部の実施形態では、メモリは更に、以前に検出されたオブジェクト又はシーンに関連付けられる情報を記憶するように構成されている。一部の実施形態では、以前のオブジェクト又はシーンと一致するオブジェクト又はシーンを検出したことに応じて、データ指定部432は、一致しているオブジェクト又はシーンに基づく結果を提供するように構成されている。一部の実施形態では、検出車両システム410は更に、状況検出器422から決定されたオブジェクト又はシーンと一致するオブジェクト又はシーンに関連する情報を検出車両がサーバ440から受信したかどうかを決定するように構成されている。一部の実施形態では、決定されたオブジェクト又はシーンに関連する情報を検出車両が既に受信していることを検出したことに応じて、検出車両システム410は、サーバ440に対するログデータの送信を妨げるように構成されている。サーバ440に対する冗長な情報の送信を回避することは、サーバ440に送信されるデータを低減するのに役立ち、検出車両システム410による電力消費を最小限にするのに役立つ。一部の実施形態では、以前の要求の記憶は、キャッシングと呼ばれる。当業者は、ハードウェア又はソフトウェアを使用してデータを記憶し、その結果、当該データの将来の要求をより迅速に満たすことができるものとしてキャッシングを理解するであろう。
【0062】
サーバ440は、ログ送信機436からログデータを受信するように構成されたログデータ受信機442を含む。一部の実施形態では、ログデータ受信機442は、モバイルデバイスからログデータを受信するように構成されている。サーバ440は、ログデータをエンコードするように構成されたログエンコーダ444を更に含む。サーバ440は、エンコードされたログデータをユーザ端末460に送信するように構成されたログ転送機446を更に含む。サーバ440は、ユーザ端末460から要求又はルールを受信するように構成された要求/ルール受信機448を更に含む。
【0063】
ログデータ受信機442は、ログ送信機436からログデータを受信するように構成されている。一部の実施形態では、ログデータ受信機442は、モバイルデバイスからログデータを受信するように構成されている。一部の実施形態では、ログデータ受信機442は、ログデータを無線で受信するように構成されている。一部の実施形態では、ログデータ受信機442は、有線接続を介してログデータを受信するように構成されている。一部の実施形態では、ログデータ受信機442は、ログデータが受信された時間についてのタイムスタンプをログデータに付加するように構成されている。
【0064】
ログエンコーダ444は、所定のエンコードプロトコルに従って受信ログデータをエンコードするように構成されている。所定のエンコードプロトコルに従ってログデータをエンコードすることは、ユーザ端末460によって使用するためにログデータをユーザ端末460が確実にデコードできることを保証するのに役立つ。一部の実施形態では、ログエンコーダ444は、ログデータの圧縮、画像エンコード、サムネイル画像生成、又は他の好適なエンコードプロトコルを行うように構成されている。一部の実施形態では、ログエンコーダ444は、ログデータの暗号化を行うように構成されている。一部の実施形態では、ログエンコーダ444は更に、ユーザがデータをより一層認識できるようにするために超解像を行うように構成されている。当業者は、超解像が低解像画像から高解像画像を受信するプロセスであることを理解するであろう。ログデータの解像度を改善することは、偽陽性又は偽陰性を低減するのに役立つ。
【0065】
一部の実施形態では、サーバ440は、受信ログデータを記憶するデータベースを更に含む。一部の実施形態では、ログデータは、ログエンコーダ444によるエンコードの前及び/又は後に、データベースに記憶される。一部の実施形態では、ログデータは、優先キューでデータベースに記憶される。一部の実施形態では、優先キューの優先度は、オブジェクト若しくはシーン、例えば、トリガ事象が検出された時間、ログデータがログデータ受信機442によって受信された時間、オブジェクト若しくはシーンのタイプ、検出車両の運転者の同一性、又は他の好適な優先基準に基づいて決定される。
【0066】
ログ転送機446は、ログエンコーダ444からエンコードされたログデータを受信するように構成されている。ログ転送機446は、当該エンコードされたログデータをユーザ端末460に送信するように構成されている。一部の実施形態では、ログ転送機446は、ユーザによってアクセス可能なモバイルデバイスに、エンコードされたログデータを送信するように構成されている。一部の実施形態では、ログ転送機446は、エンコードされたログデータを無線で送信するように構成されている。一部の実施形態では、ログ転送機446は、有線接続を介して、エンコードされたログデータを送信するように構成されている。一部の実施形態では、ログ転送機446は、エンコードされたログデータと共にエンコードプロトコル情報を送信するように構成されている。エンコードされたログデータについてのエンコードプロトコル情報の送信は、ユーザ端末460によって使用するために、エンコードされたログデータをモバイルデバイス又はユーザ端末460が正確にデコードするのに役立つ。
【0067】
要求/ルール受信機448は、データについての新しい又は更新されたルール又は要求をユーザから受信するように構成されている。一部の実施形態では、要求/ルール受信機448は、新しい又は更新されたルール又は要求を無線で受信するように構成されている。一部の実施形態では、要求/ルール受信機448は、有線接続を介して、新しい又は更新されたルール又は要求を受信するように構成されている。一部の実施形態では、要求/ルール受信機448は、UI110(
図1)によるものである。
【0068】
一部の実施形態では、サーバ440は、複数の車両から形成の場所を受信するように構成されている。一部の実施形態では、サーバ440は、複数の車両からナビゲーションプランを受信するように構成されている。一部の実施形態では、ログ転送機446は、検出されたトリガ事象の所定の距離内にある車両のみに、エンコードされたログデータの送信を限定するように構成されている。
【0069】
一部の実施形態では、サーバ440は、新しく検出されたトリガ事象に関連付けられるログデータのみを送信するように構成されている。すなわち、トリガ事象がサーバ440によって既に報告されている場合、トリガ事象は再度報告されない。トリガ事象の繰り返しの報告を制限することは、サーバ440に対して、ユーザ端末によって受信される冗長なデータを低減するのに役立つ。
【0070】
ユーザ端末460は、満足する要求に関連付けられる、ユーザによってアクセス可能なユーザ端末である。一部の実施形態では、ユーザ端末460は、GUIを含む。一部の実施形態では、ユーザ端末460は、サーバ440からの受信データに応じて、警告を自動的に生成するように構成されている。一部の実施形態では、警告は、音声警告又は視覚的な警告を含む。
【0071】
当業者は、要求取得システム400に対する修正が本開示の範囲内にあることを理解するであろう。例えば一部の実施形態では、検出車両システム410は、無線ネットワークなどのネットワーク上で直接的にログデータをユーザ端末460に送信することができる。一部の実施形態では、検出車両内の乗員のモバイルデバイスは、無線ネットワークなどでログデータを直接的にユーザ端末460に送信することができる。
【0072】
車両内又は車両の周囲の環境で検出されるルール又は要求を満たしていることに関連する情報を自動的に識別して流すことによって、ユーザは、車両の処理システム、例えば、ECU420を使用して実行されるアプリケーション又はソフトウェアの性能を改善することができる。一部の実施形態では、ユーザは、事故などの事象に関連する情報に反対することができる。
【0073】
図5は、主題の開示の少なくとも一部の実施形態に係る、モバイルコンピューティングネットワークの問合せコンテンツの取込みについての動作フローである。動作フローは、モバイルコンピューティングネットワークの問合せコンテンツの取込みに関する方法を提供する。少なくとも一部の実施形態では、方法は、サーバ、例えば、
図1に示されるサーバ120、又は
図4に示されるサーバ440によって行われる。少なくとも一部の実施形態では、方法は、サーバのコントローラ、例えば、
図11に示されるコントローラ1102によって行われる。
【0074】
S550で、コントローラは、コンテンツクエリを受信する。少なくとも一部の実施形態では、コントローラは、アクセス可能なコンソール、例えば、
図1に示されるアクセス可能なコンソール150からコンテンツクエリを受信する。少なくとも一部の実施形態では、コントローラは、
図2に示されるユーザインターフェース200を通じてコンテンツクエリを受信する。少なくとも一部の実施形態では、コンテンツクエリは、1台以上の車両に搭載されたセンサを使用して収集できるデータから識別可能な情報の要求である。少なくとも一部の実施形態では、コンテンツクエリは、オントロジーの1つ以上のクラスに関する。
【0075】
S552で、コントローラは、プログラム動作シーケンスを作成する。少なくとも一部の実施形態では、コントローラは、データサンプルを取り込むことであって、データサンプルは、第1のクラス情報及び第2のクラス情報を含む、ということ、並びにデータサンプルの第2のクラス情報を低減することを行うプログラム動作のシーケンスを作成する。少なくとも一部の実施形態では、コントローラは、様々なプログラム動作シーケンスを作成する。少なくとも一部の実施形態では、様々なプログラム動作シーケンスは、同じコンテンツをターゲットにするが、プログラム動作及び又は組み合わされた計算リソースにおいて異なっている。少なくとも一部の実施形態では、様々なプログラム動作シーケンスは、単一のクエリについて異なるコンテンツをターゲットにする。少なくとも一部の実施形態では、コントローラは、以下に記載される
図6の動作フローを行う。
【0076】
S554で、コントローラは、シーケンスを1台以上の車両に送信する。少なくとも一部の実施形態では、コントローラは、プログラム動作シーケンスを1台以上の車両の各々に送信する。少なくとも一部の実施形態では、コントローラは、様々なプログラム動作シーケンスを複数の車両に送信する。
【0077】
S556で、コントローラは、結果として生じたコンテンツを受信する。少なくとも一部の実施形態では、コントローラは、様々な時間に様々な接続を通じて複数の車両の各々からコンテンツを受信する。少なくとも一部の実施形態では、コントローラは、均一なフォーマットでコンテンツを受信する。少なくとも一部の実施形態では、コントローラは、様々なフォーマットでコンテンツを受信する。
【0078】
S558で、コントローラは、結果として生じたコンテンツを送信する。少なくとも一部の実施形態では、コントローラは、アクセス可能なコンソール又は他の端末にコンテンツを送信する。コンテンツクエリは、当該アクセス可能なコンソール又は他の端末から受信されたものである。少なくとも一部の実施形態では、コントローラは、アクセス可能なコンソール又は他の端末が後で取得するために、コンテンツをストレージに送信する。
【0079】
図6は、主題の開示の少なくとも一部の実施形態に係る、個人識別情報の潜在的漏洩を低減するプログラム動作シーケンスの決定についての動作フローである。動作フローは、個人識別情報の潜在的漏洩を低減するプログラム動作シーケンスの決定の方法を提供する。少なくとも一部の実施形態では、方法は、サーバ、例えば、
図1に示されるサーバ120、又は
図4に示されるサーバ440によって行われる。少なくとも一部の実施形態では、方法は、特定の動作を行うセクションを含むサーバのコントローラ、例えば、
図11に示されるコントローラ1102によって行われる。
【0080】
S660で、コントローラの識別セクションは、候補プログラム動作を識別する。少なくとも一部の実施形態では、識別セクションは、データサンプルを取り込むことであって、データサンプルは、第1のクラス情報及び第2のクラス情報を含む、ということ、並びにデータサンプルの第2のクラス情報を低減することを行う複数の候補プログラム動作を識別する。少なくとも一部の実施形態では、識別セクションは、必要なプログラム動作及び任意選択的なプログラム動作を識別する。少なくとも一部の実施形態では、複数の候補プログラム動作は、少なくとも1つの検出動作と、少なくとも1つの圧縮動作と、少なくとも1つのフィルタリング動作と、を含む。少なくとも一部の実施形態では、識別セクションは、クライアント端末からのコンテンツクエリの受信に応じて識別を行う。少なくとも一部の実施形態では、識別セクションは、以下に記載される
図7の動作フローを行う。
【0081】
S664で、割り当てセクションは、コストを割り当てる。少なくとも一部の実施形態では、割り当てセクションは、複数の候補プログラム動作の中の候補プログラム動作及び複数の計算リソースの中の計算リソースの各々の有効な組合せにコストを割り当てる。少なくとも一部の実施形態では、割り当てセクションは、個人識別情報の潜在的漏洩を表す漏洩コストを各々の有効な組合せに割り当てる。少なくとも一部の実施形態では、割り当てセクションは、計算費用及び送信費用のうちの少なくとも一方を表す金銭的コストを各々の有効な組合せに割り当てる。少なくとも一部の実施形態では、割り当てセクションは、複数の候補プログラム動作の中の候補プログラム動作及び複数の計算リソースの中の計算リソースの各々の有効な組合せに関連付けられる個人識別情報の潜在的漏洩を表す漏洩コストを割り当てる。少なくとも一部の実施形態では、割り当てセクションは、以下に記載される
図9の動作フローを行う。
【0082】
コストとしてのPII漏洩の可能性は、様々な実施形態で様々な方法で計算される。少なくとも一部の実施形態では、PII漏洩の可能性は、金銭的コストの観点で計算される。少なくとも一部の実施形態では、金銭的コストの観点におけるPII漏洩の可能性の計算は、より低い精度及び正確性を有するが、従来の送信コスト及び計算コストと組み合わせ可能である。少なくとも一部の実施形態では、PII漏洩の可能性は、非金銭的な観点で表される。少なくとも一部の実施形態では、非金銭的な観点でPII漏洩の可能性を表すことは、より高い精度及び正確性を有するが、従来の送信コスト及び計算コストと両立可能ではない。PII漏洩の可能性のコストが非金銭的な観点で表される少なくとも一部の実施形態では、当該コストは、適切な割合を考慮するように従来の計算コスト及び送信コストに対して重み付けされる。換言すれば、PII漏洩の可能性に高い重みが与えられる場合、解は、金銭的コストよりもPII漏洩の可能性の低減を支持し得る。対照的に、計算コスト及び送信コストに高い重みが与えられる場合、解は、PII漏洩の可能性よりも金銭的コストの低減を支持し得る。
【0083】
S668で、適用セクションは、目的関数を適用する。少なくとも一部の実施形態では、適用セクションは、有効な組合せ及び割り当てられたコストに目的関数を適用して、プログラム動作のシーケンスを決定する。少なくとも一部の実施形態では、適用セクションは、有効な組合せ及び割り当てられた漏洩コストに目的関数を適用して、プログラム動作のシーケンスを決定し、ここで、シーケンスの各プログラム動作は、総漏洩コストが閾値漏洩コスト未満で、第1のクラス情報の量がデータ閾値よりも多くなるように、選択された1つ以上の計算リソースによって行われる。少なくとも一部の実施形態では、適用セクションは、プログラム動作のシーケンスを決定し、ここで、シーケンスは、総金銭的コストが閾値金銭的コスト未満であるようなシーケンスである。少なくとも一部の実施形態では、適用セクションは、以下に記載される
図10の動作フローを行う。
【0084】
少なくとも一部の実施形態では、目的関数は、制約のセットを考慮し、フローを最大化してコストを最小化する。少なくとも一部の実施形態では、プログラム動作は順序制約を有し、計算リソースも順序制約を有する。したがって、少なくとも一部の実施形態に係る全体的な決定は、2部グラフの組合せ最適化であって、2部グラフは、計算リソースのセットと、プログラム動作のセットと、を含む。少なくとも一部の実施形態では、解は、コストを最小化して、クラウドサーバに達する第1のクラス情報の量を最大化するようにノードを一致させる場合を含む。
【0085】
図7は、主題の開示の少なくとも一部の実施形態に係る、候補プログラム動作を識別する動作フローである。動作フローは、候補プログラム動作を識別する方法を提供する。少なくとも一部の実施形態では、方法は、サーバ、例えば、
図1に示されるサーバ120、又は
図4に示されるサーバ440によって行われる。少なくとも一部の実施形態では、方法は、識別セクション、例えば、
図11に示される識別セクション1120によって行われる。
【0086】
S770で、識別セクション又はそのサブセクションは、コンテンツクエリのオントロジークラスを決定する。少なくとも一部の実施形態では、識別セクションは、コンテンツクエリによって示される1つ以上のオントロジークラスを読み取る。少なくとも一部の実施形態では、識別セクションは、モデルをコンテンツクエリに適用し、モデルは、コンテンツクエリの入力に応じてオントロジークラスを出力するように構成されている。少なくとも一部の実施形態では、識別セクションは、以下に記載される
図8の動作フローを行う。
【0087】
S773で、識別セクション又はそのサブセクションは、候補検出動作を識別する。少なくとも一部の実施形態では、識別セクションは、問合せコンテンツの少なくとも一部を含む生データを取り込むように1つ以上のセンサに命令するように構成されたプログラム動作を識別する。少なくとも一部の実施形態では、識別セクションは、問合せコンテンツを集合的に含む生データを取り込むように1つ以上のセンサに命令するように構成されたプログラム動作を識別する。少なくとも一部の実施形態では、識別セクションは、問合せコンテンツの少なくとも一部が導出され得る生データを取り込むように1つ以上のセンサに命令するように構成されたプログラム動作を識別する。
【0088】
S776で、識別セクション又はそのサブセクションは、候補圧縮動作を識別する。少なくとも一部の実施形態では、識別セクションは、生データ、フィルタリングされたデータ、又は以前に圧縮されたデータを圧縮するように構成されたプログラム動作を識別する。少なくとも一部の実施形態では、識別セクションは、データの損失を防止又は最小化しつつデータを記憶するのに必要な容量を低減するように構成されたプログラム動作を識別する。
【0089】
S779で、識別セクション又はそのサブセクションは、候補フィルタリング動作を識別する。少なくとも一部の実施形態では、識別セクションは、生データ、圧縮されたデータ、又は以前にフィルタリングされたデータをフィルタリングするように構成されたプログラム動作を識別する。少なくとも一部の実施形態では、識別セクションは、問合せコンテンツに関連しないデータ部分を除去することによって、データを記憶するのに必要な容量を低減するように構成されたプログラム動作を識別する。
【0090】
図8は、主題の開示の少なくとも一部の実施形態に係る、コンテンツクエリのオントロジークラスを決定する動作フローである。動作フローは、コンテンツクエリのオントロジークラスを決定する方法を提供する。少なくとも一部の実施形態では、方法は、サーバ、例えば、
図1に示されるサーバ120、又は
図4に示されるサーバ440によって行われる。少なくとも一部の実施形態では、方法は、サーバのコントローラ、例えば、
図11に示されるコントローラ1102によって行われる。
【0091】
S880で、コントローラは、新しいオントロジークラスが存在するかどうかを決定する。少なくとも一部の実施形態では、コントローラは、1つ以上のコンテンツクエリの受信に応じて新しいオントロジークラスが存在するかどうかを決定する。少なくとも一部の実施形態では、コントローラは、新しいオントロジークラスを実装する命令の受信に応じて新しいオントロジークラスが存在するかどうかを決定する。新しいオントロジークラスが存在することをコントローラが決定する場合、動作フローは、S884でのオントロジー更新に進む。新しいオントロジークラスが存在しないことをコントローラが決定する場合、動作フローは終了する。
【0092】
S884で、コントローラは、オントロジーを更新する。少なくとも一部の実施形態では、コントローラは、新しいクラスをオントロジーデータベースに追加する。少なくとも一部の実施形態では、コントローラは、1つ以上のプログラム動作を新しいオントロジークラスに関連付ける。少なくとも一部の実施形態では、コントローラは、1つ以上の以前のコンテンツクエリを新しいオントロジークラスに関連付ける。
【0093】
S888で、コントローラの生成セクション、例えば、
図11に示される生成セクション1126は、1つ以上のプログラム動作を生成する。少なくとも一部の実施形態では、生成セクションは、新しいオントロジー入力に関連付けられる1つ以上のプログラム動作を生成する。少なくとも一部の実施形態では、生成セクションは、オントロジーの更新に応じてプログラム動作を生成する。少なくとも一部の実施形態では、生成セクションは、1つ以上の既存のプログラム動作を修正して新しいプログラム動作を生成する。少なくとも一部の実施形態では、生成セクションは、新しいオントロジークラスに関連するデータを検出、圧縮、又はフィルタリングするようにプログラム動作を生成する。
【0094】
クラスの所与のオントロジーについて、少なくとも一部の実施形態では、プログラム動作は、各クラスについて適用可能である有用な情報を取得するように生成される。少なくとも一部の実施形態では、クラスのオントロジーは、新しいクラスを追加し、一部の場合には、使用されていないクラスを除去して定期的に更新される。オントロジーが変更されると、オントロジーのクラスに関する情報を収集するために必要なプログラム動作も変更される。したがって、少なくとも一部の実施形態は、定期的な間隔で、又は特定の事象に応じて、例えば、オントロジーが更新される度に更新を行う。少なくとも一部の実施形態では、コントローラは、定期的な間隔で、又は特定の量のコンテンツクエリに応じてオントロジーを更新する。
【0095】
図9は、主題の開示の少なくとも一部の実施形態に係る、コストを割り当てる動作フローである。動作フローは、コストを割り当てる方法を提供する。少なくとも一部の実施形態では、方法は、サーバ、例えば、
図1に示されるサーバ120、又は
図4に示されるサーバ440によって行われる。少なくとも一部の実施形態では、方法は、割り当てセクション、例えば、
図11に示される割り当てセクション1122によって行われる。
【0096】
S990で、割り当てセクション又はそのサブセクションは、候補プログラム動作を選択する。少なくとも一部の実施形態では、割り当てセクションは、識別セクションによって識別された複数の候補プログラム動作の中で候補プログラム動作を選択する。少なくとも一部の実施形態では、動作S990の繰り返しが進むにつれて、割り当てセクションは、各候補プログラム動作を1回選択する。
【0097】
S992で、割り当てセクション又はそのサブセクションは、計算リソースと組み合わせる。少なくとも一部の実施形態では、割り当てセクションは、S990で選択された候補プログラム動作を計算リソースと組み合わせる。少なくとも一部の実施形態では、割り当てセクションは、任意の関連のエッジ及びクラウド計算リソースと共に、特定の車両において利用可能な複数の計算リソースの中の計算リソースと候補プログラム動作を組み合わせる。少なくとも一部の実施形態では、複数の計算リソースは、少なくとも1つの車両センサと、少なくとも1つの車両プロセッサと、少なくとも1つの車両メモリと、少なくとも1つのクラウドサーバと、を含む。少なくとも一部の実施形態では、複数の計算リソースは、少なくとも1つの車両ストレージと、少なくとも1つのエッジ計算ノードと、を更に含む。少なくとも一部の実施形態では、特定の車両は、あるメーカー及びモデルである。少なくとも一部の実施形態では、計算リソースは、複数の車両メーカー及びモデルなどの複数の車両の各々における計算リソースを含む。少なくとも一部の実施形態では、動作S992の繰り返しが進むにつれて、割り当てセクションは、各候補プログラム動作を複数の計算リソースの中の各計算リソースと組み合わせる。
【0098】
S994で、割り当てセクション又はそのサブセクションは、潜在的なPII漏洩コストを割り当てる。少なくとも一部の実施形態では、割り当てセクションは、複数の候補プログラム動作の中の候補プログラム動作及び複数の計算リソースの中の計算リソースの各々の有効な組合せに関連付けられる個人識別情報の潜在的漏洩を表す漏洩コストを割り当てる。少なくとも一部の実施形態では、割り当てセクションは、金銭的値以外の単位で漏洩コストを割り当てる。少なくとも一部の実施形態では、割り当てセクションは、金銭的値の単位で漏洩コストを割り当てる。少なくとも一部の実施形態では、割り当てセクションは、PIIの開示から生じるダメージの推定に従って漏洩コストを割り当てる。少なくとも一部の実施形態では、動作S994の繰り返しが進むにつれて、割り当てセクションは、漏洩コストを各々の有効な組合せに割り当てる。
【0099】
S995で、割り当てセクション又はそのサブセクションは、金銭的コストを割り当てる。少なくとも一部の実施形態では、割り当てセクションは更に、各々の有効な組合せに関連付けられる計算及び送信の金銭的コストを割り当てる。少なくとも一部の実施形態では、割り当てセクションは、ハードウェアコストの観点及び/又はエネルギー消費量の観点で計算コストを割り当てる。少なくとも一部の実施形態では、割り当てセクションは、ネットワーク使用コストの観点及び/又はエネルギー消費量の観点で送信コストを割り当てる。少なくとも一部の実施形態では、動作S995の繰り返しが進むにつれて、割り当てセクションは、金銭的コストを各々の有効な組合せに割り当てる。
【0100】
S997で、割り当てセクションは、選択された候補プログラム動作が全ての計算リソースと組み合わされたかどうかを決定する。組み合わされていない計算リソースが残っていることを割り当てセクションが決定する場合、動作フローは、S992での計算リソースの組合せに戻る。選択された候補プログラム動作が全ての計算リソースと組み合わされたことを割り当てセクションが決定する場合、動作フローは、S998での候補処理判定に進む。
【0101】
S998で、割り当てセクションは、全ての候補プログラム動作が選択されたかどうかを決定する。選択されていない候補プログラム動作が残っていることを割り当てセクションが決定する場合、動作フローは、S990での候補プログラム動作の選択に戻る。全ての候補プログラム動作が選択されたことを割り当てセクションが決定する場合、動作フローは終了する。
【0102】
図10は、主題の開示の少なくとも一部の実施形態に係る、目的関数を適用する動作フローである。動作フローは、目的関数を適用する方法を提供する。少なくとも一部の実施形態では、方法は、サーバ、例えば、
図1に示されるサーバ120、又は
図4に示されるサーバ440によって行われる。少なくとも一部の実施形態では、方法は、適用セクション、例えば、
図11に示される適用セクション1124によって行われる。
【0103】
S1000で、適用セクション又はそのサブセクションは、候補シーケンスを識別する。少なくとも一部の実施形態では、適用セクションは、識別セクションに候補シーケンスを識別させる。少なくとも一部の実施形態では、適用セクションは、データサンプルを取り込むことであって、データサンプルは、第1のクラス情報及び第2のクラス情報を含む、ということ、並びに結果として生じたデータをサーバに送信する前にデータサンプルの第2のクラス情報を低減することを行う候補プログラム動作及び計算リソースの有効な組合せの可能性のあるシーケンスを識別する。少なくとも一部の実施形態では、候補シーケンスは、様々な数の候補プログラム動作を含む。例えば、ある候補シーケンスは、車両の様々な計算ステージで多数の異なるタイプのフィルタリング及び圧縮を含む一方、別の候補シーケンスは、ほとんどのフィルタリング及び圧縮をなしで済ませる。少なくとも一部の実施形態では、適用セクションは、候補シーケンスとして、データサンプルの取込みから結果として生じたデータの送信までの有効な組合せの全ての経路を識別する。
【0104】
S1003で、適用セクション又はそのサブセクションは、目的関数を候補シーケンスに適用する。少なくとも一部の実施形態では、適用セクションは、目的関数を候補シーケンスに適用して総コストを計算する。少なくとも一部の実施形態では、動作S1003の繰り返しが進むにつれて、適用セクションは、各候補シーケンスの総コストを計算する。
【0105】
S1006で、適用セクションは、全ての候補シーケンスが処理されたかどうかを決定する。処理されていない候補シーケンスが残っていることを適用セクションが決定する場合、動作フローは、次の候補シーケンスに関するS1003での目的関数の適用に戻る。全ての候補シーケンスが処理されたことを適用セクションが決定する場合、動作フローは、S1009でのシーケンス決定に進む。
【0106】
S1009で、適用セクション又はそのサブセクションは、シーケンスを決定する。少なくとも一部の実施形態では、適用セクションは、車両による実行のためにどのシーケンスを送信するかを決定する。少なくとも一部の実施形態では、適用セクションは、最低の総コストを有する候補シーケンスを実行のために送信することを決定する。少なくとも一部の実施形態では、適用セクションは、最低の総漏洩コストを有する候補シーケンスを実行のために送信することを決定する。少なくとも一部の実施形態では、適用セクションは、最低の総金銭的コストを有する候補シーケンスを実行のために送信することを決定する。少なくとも一部の実施形態では、適用セクションは、閾値金銭的コスト未満の金銭的コストを有する候補シーケンスの中で最低の総漏洩コストを有する候補シーケンスを実行のために送信することを決定する。少なくとも一部の実施形態では、適用セクションは、閾値漏洩コスト未満の漏洩コストを有する候補シーケンスの中で最低の総金銭的コストを有する候補シーケンスを実行のために送信することを決定する。少なくとも一部の実施形態では、適用セクションは、最低の総コストを有する候補シーケンスを実行のために送信することを決定し、ここで、漏洩コストは、金銭的コストと同じ単位で表される。
【0107】
少なくとも一部の実施形態では、全体的な決定は、単一の車両又は車両の集団に対して行われ得る。少なくとも一部の実施形態における集団、特に、異質な能力を有するものの場合、目的関数から出力される全体的な解は、固定の方法で、又は重み付けされた方法で動作を割り当て、例えば、所与の開始時に複雑な動作が割り当てられる高い可能性を高性能の車両に与えるが、また、より低い性能の車両は、複雑な動作が割り当てられる低い可能性を伴う。
【0108】
図11は、主題の開示の少なくとも一部の実施形態に係る、個人識別情報の潜在的漏洩を低減するプログラム動作シーケンスの決定に関するハードウェア構成の図である。
【0109】
好ましいハードウェア構成は、入力デバイス1109とやり取りするサーバ1100を含み、ネットワーク1108を通じて入力デバイス1109と通信する。少なくとも一部の実施形態では、サーバ1100は、入力デバイス1109から入力又はコマンドを受信するコンピュータ又は他の計算デバイスである。少なくとも一部の実施形態では、サーバ1100は、入力デバイス1109に組み込まれる。少なくとも一部の実施形態では、サーバ1100は、個人識別情報の潜在的漏洩を低減するプログラム動作シーケンスの決定についての動作を行うようにコンピュータ可読命令を実行するコンピュータシステムである。
【0110】
サーバ1100は、コントローラ1102と、記憶ユニット1104と、入力/出力インターフェース1106と、通信インターフェース1107と、を含む。少なくとも一部の実施形態では、コントローラ1102は、命令を実行するプロセッサ又はプログラム可能な回路を含んで、プロセッサ又はプログラム可能な回路に対して、命令に従って動作を行わせる。少なくとも一部の実施形態では、コントローラ1102は、アナログ若しくはデジタルのプログラム可能な回路、又はその任意の組合せを含む。少なくとも一部の実施形態では、コントローラ1102は、通信を通じてやり取りする、物理的に分離されたストレージ又は回路を含む。少なくとも一部の実施形態では、記憶ユニット1104は、命令の実行中にコントローラ1102がアクセスする実行可能データ及び非実行可能データを記憶することができる不揮発性コンピュータ可読媒体を含む。通信インターフェース1107は、ネットワーク1108とデータを送受信する。入力/出力インターフェース1106は、パラレルポート、シリアルポート、キーボードポート、マウスポート、モニタポート、及び同種のものを介して入力デバイス1109などの様々な入力ユニット及び出力ユニットに接続して、コマンドを受け付けて情報を提示する。一部の実施形態では、記憶ユニット1104は、サーバ1100の外部にある。
【0111】
コントローラ1102は、識別セクション1120と、割り当てセクション1122と、適用セクション1124と、生成セクション1126と、を含む。記憶ユニット1104は、候補動作1130と、コストパラメータ1132と、目的関数1134と、シーケンス1136と、を含む。
【0112】
識別セクション1120は、候補プログラム動作を識別するように構成されたコントローラ1102の回路又は命令である。少なくとも一部の実施形態では、識別セクション1120は、データサンプルを取り込むことであって、データサンプルは、第1のクラス情報及び第2のクラス情報を含む、ということ、並びにデータサンプルの第2のクラス情報を低減することを行う複数の候補プログラム動作を識別するように構成されている。少なくとも一部の実施形態では、識別セクション1120は、候補動作1130などの情報を記憶ユニット1104に記録する。少なくとも一部の実施形態では、識別セクション1120は、以上のフローチャートに記載されるように追加の機能を行うサブセクションを含む。少なくとも一部の実施形態では、このようなサブセクションは、対応する機能に関連付けられる名前で参照される。
【0113】
割り当てセクション1122は、コストを割り当てるように構成されたコントローラ1102の回路又は命令である。少なくとも一部の実施形態では、割り当てセクション1122は、複数の候補プログラム動作の中の候補プログラム動作及び複数の計算リソースの中の計算リソースの各々の有効な組合せに関連付けられる個人識別情報の潜在的漏洩を表す漏洩コストを割り当てるように構成されている。少なくとも一部の実施形態では、割り当てセクション1122は、候補動作1130及びコストパラメータ1132などの記憶ユニット1104内の情報を利用する。少なくとも一部の実施形態では、割り当てセクション1122は、以上のフローチャートに記載されるように追加の機能を行うサブセクションを含む。少なくとも一部の実施形態では、このようなサブセクションは、対応する機能に関連付けられる名前で参照される。
【0114】
適用セクション1124は、目的関数を適用するように構成されたコントローラ1102の回路又は命令である。少なくとも一部の実施形態では、適用セクション1124は、有効な組合せ及び割り当てられた漏洩コストに目的関数を適用して、プログラム動作のシーケンスを決定するように構成されており、ここで、シーケンスの各プログラム動作は、総漏洩コストが閾値漏洩コスト未満で、第1のクラス情報の量がデータ閾値よりも多くなるように、選択された1つ以上の計算リソースによって行われる。少なくとも一部の実施形態では、適用セクション1124は、候補動作1130及び目的関数1134などの記憶ユニット1104内の情報を利用して、シーケンス1136などの情報を記憶ユニット1104に記録する。少なくとも一部の実施形態では、適用セクション1124は、以上のフローチャートに記載されるように追加の機能を行うサブセクションを含む。少なくとも一部の実施形態では、このようなサブセクションは、対応する機能に関連付けられる名前で参照される。
【0115】
生成セクション1126は、プログラム動作を生成するように構成されたコントローラ1102の回路又は命令である。少なくとも一部の実施形態では、生成セクション1126は、オントロジーの更新に応じてプログラム動作を生成するように構成されている。少なくとも一部の実施形態では、生成セクション1126は、候補動作1130などの記憶ユニット1104からの情報を記録する。少なくとも一部の実施形態では、生成セクション1126は、以上のフローチャートに記載されるように追加の機能を行うサブセクションを含む。少なくとも一部の実施形態では、このようなサブセクションは、対応する機能に関連付けられる名前で参照される。
【0116】
少なくとも一部の実施形態では、装置は、本明細書の動作を行うために論理機能を処理することができる別のデバイスである。少なくとも一部の実施形態では、コントローラ及び記憶ユニットは、完全に別々のデバイスである必要はなく、一部の実施形態では、回路又は1つ以上のコンピュータ可読媒体を共有する。少なくとも一部の実施形態では、記憶ユニットは、コンピュータ実行可能命令及びコントローラによってアクセスされるデータの両方を記憶するハードドライブを含み、コントローラは、中央処理装置(CPU)及びRAMの組合せを含み、ここで、コンピュータ実行可能命令は、本明細書の動作の実行中にCPUによって実行されるように全体的に又は部分的にコピー可能である。
【0117】
装置がコンピュータである少なくとも一部の実施形態では、コンピュータにインストールされるプログラムは、コンピュータに対して、本明細書で記載される実施形態の装置に関連付けられる動作として機能させることができるか又は当該動作を行わせることができる。少なくとも一部の実施形態では、このようなプログラムは、コンピュータに対して、本明細書で記載されるフローチャートのブロック及びブロック図の一部又は全てに関連付けられる特定の動作を行わせるように、プロセッサによって実行可能である。
【0118】
少なくとも一部の実施形態は、フローチャート及びブロック図を参照して記載されており、そのブロックは、(1)動作が行われるプロセスのステップ、又は(2)動作の実行を担うコントローラのセクションを表す。少なくとも一部の実施形態では、特定のステップ及びセクションは、専用回路、コンピュータ可読媒体上に記憶されたコンピュータ可読命令が供給されるプログラム可能な回路、及び/又はコンピュータ可読媒体上に記憶されたコンピュータ可読命令が供給されるプロセッサによって実装される。少なくとも一部の実施形態では、専用回路は、デジタル及び/又はアナログのハードウェア回路を含み、集積回路(IC)及び/又は離散回路を含む。少なくとも一部の実施形態では、プログラム可能な回路は、論理AND、OR、XOR、NAND、NOR、及び他の論理演算、フリップフロップ、レジスタ、メモリ要素などを備える再構成可能なハードウェア回路、例えば、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)などを含む。
【0119】
少なくとも一部の実施形態では、コンピュータ可読記憶媒体は、命令実行デバイスによって使用される命令を保持及び記憶することができる有形のデバイスを含む。一部の実施形態では、コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、又は以上の任意の好適な組合せを含むが、これらに限定されない。コンピュータ可読記憶媒体のより特定の例の非網羅的なリストは、以下、すなわち、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去及びプログラム可能な読み取り専用メモリ(EPROM又はフラッシュメモリ)、静的ランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、デジタルバーサタイルディスク(DVD)、メモリスティック、フロッピディスク、命令が記録されたパンチカード又は溝内の隆起構造などの機械的に符号化されたデバイス、及び以上の任意の好適な組合せを含む。本明細書で使用されるコンピュータ可読記憶媒体は、電波若しくは他の自由に伝播する電磁波、導波路若しくは他の送信媒体を通じて伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又はワイヤを通じて送信される電気信号などの、一時的な信号自体であると解釈されるべきではない。
【0120】
少なくとも一部の実施形態では、本明細書で記載されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれの計算/処理デバイスにダウンロード可能であるか、又はネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、及び/若しくは無線ネットワークを介して外部コンピュータ若しくは外部記憶デバイスにダウンロード可能である。少なくとも一部の実施形態では、ネットワークは、銅送信ケーブル、光送信ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及び/又はエッジサーバを含む。少なくとも一部の実施形態では、各計算/処理デバイス内のネットワークアダプタカード又はネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれの計算/処理デバイス内のコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
【0121】
少なくとも一部の実施形態では、上述の動作を実行するコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk、C++、若しくは同種のものなどのオブジェクト指向プログラミング言語、及び「C」プログラミング言語若しくは同様のプログラミング言語などの従来の手続き型プログラミング言語を含む1つ以上のプログラミング言語の任意の組合せで書かれたソースコード若しくはオブジェクトコードのいずれかであり得る。少なくとも一部の実施形態では、コンピュータ可読プログラム命令は、ユーザのコンピュータ上で完全に実行されるか、ユーザのコンピュータ上で部分的に実行されるか、スタンドアロンソフトウェアパッケージとして実行されるか、ユーザのコンピュータ上で部分的に且つリモートコンピュータ上で部分的に実行されるか、又はリモートコンピュータ若しくはサーバ上で完全に実行される。少なくとも一部の実施形態では、後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)若しくはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続されるか、又は(例えば、インターネットサービスプロバイダを使用してインターネットを通じて)外部コンピュータへの接続が行われる。少なくとも一部の実施形態では、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、又はプログラマブルロジックアレイ(PLA)を含む電子回路は、主題の開示の態様を行うために、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個別化することによってコンピュータ可読プログラム命令を実行する。
【0122】
主題の開示の実施形態が記載されているが、特許請求される任意の主題の技術的範囲は、上述の実施形態に限定されない。当業者は、上述の実施形態に対する様々な改変及び改善が可能であることを理解するであろう。当業者はまた、このような改変又は改善で追加される実施形態は、本発明の技術的範囲に含まれることを特許請求の範囲から理解するであろう。
【0123】
「先」、「前」、又は同種のものによって順序が示されない限り、そして、以前のプロセスからの出力が後のプロセスで使用されない限り、特許請求の範囲、実施形態、又は図に示される装置、システム、プログラム、及び方法によって行われる各プロセスの動作、手順、ステップ、及びステージを任意の順序で行うことができる。特許請求の範囲、実施形態、又は図で「まず」又は「次に」などのフレーズを使用してプロセスフローが記載されている場合であっても、このような説明は必ずしも、記載された順序でプロセスを行う必要があることを意味するわけではない。
【0124】
少なくとも一部の実施形態では、個人識別情報の潜在的漏洩を低減するプログラム動作シーケンスの決定は、第1のクラス情報及び第2のクラス情報を含むデータサンプルを取り込むこと、並びにデータサンプルの第2のクラス情報を低減することを行う複数の候補プログラム動作を識別することと、複数の候補プログラム動作の中の候補プログラム動作及び複数の計算リソースの中の計算リソースの各々の有効な組合せに関連付けられる個人識別情報の潜在的漏洩を表す漏洩コストを割り当てることと、有効な組合せ及び割り当てられた漏洩コストに目的関数を適用して、プログラム動作のシーケンスを決定することであって、シーケンスの各プログラム動作は、総漏洩コストが閾値漏洩コスト未満で、第1のクラス情報の量がデータ閾値よりも多くなるように、選択された1つ以上の計算リソースによって行われる、ということと、によって行われる。
【0125】
一部の実施形態は、コンピュータプログラム内の命令、コンピュータプログラムの命令を実行するプロセッサによって行われる方法、及び方法を行う装置を含む。一部の実施形態では、装置は、命令内の動作を行うように構成された回路を含むコントローラを含む。
【0126】
以上のことは、当業者が本開示の態様をより充分に理解し得るようにいくつかの実施形態の特徴を概説する。当業者は、本明細書に組み込まれた実施形態と同じ目的を実行し、及び/又は同じ利点を達成する他のプロセス及び構造を設計又は修正する根拠として本開示を容易に使用し得ることを当業者は理解すべきである。当業者はまた、そのような同等の構造が本開示の趣旨及び範囲から逸脱していないこと、並びに本開示の趣旨及び範囲から逸脱することなく、当業者が本明細書の様々な変更、置換、及び改変を行い得ることを理解すべきである。
【外国語明細書】