JP2022551560A - Manage vehicle software updates - Google Patents

Manage vehicle software updates Download PDF

Info

Publication number
JP2022551560A
JP2022551560A JP2022515514A JP2022515514A JP2022551560A JP 2022551560 A JP2022551560 A JP 2022551560A JP 2022515514 A JP2022515514 A JP 2022515514A JP 2022515514 A JP2022515514 A JP 2022515514A JP 2022551560 A JP2022551560 A JP 2022551560A
Authority
JP
Japan
Prior art keywords
subset
software update
blockchain
transport
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2022515514A
Other languages
Japanese (ja)
Other versions
JP7376695B2 (en
Inventor
ブルグマン ルイス
エイチ.パレク デバン
シアン クー ウィルソン-ブーン
Original Assignee
トヨタ モーター ノース アメリカ,インコーポレイティド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/597,786 external-priority patent/US11422792B2/en
Priority claimed from US16/597,770 external-priority patent/US11169795B2/en
Priority claimed from US16/597,796 external-priority patent/US11294662B2/en
Application filed by トヨタ モーター ノース アメリカ,インコーポレイティド filed Critical トヨタ モーター ノース アメリカ,インコーポレイティド
Publication of JP2022551560A publication Critical patent/JP2022551560A/en
Application granted granted Critical
Publication of JP7376695B2 publication Critical patent/JP7376695B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Traffic Control Systems (AREA)

Abstract

例としての動作は、輸送装置のサブセットの輸送装置においてソフトウェアアップデートを受信することと、ソフトウェアアップデートが使用された時間期間と輸送装置のサブセットによるソフトウェアアップデートの利用回数の1つ以上に基づいて、ソフトウェアアップデートを有効化することと、有効化に基づいてソフトウェアアップデートを、輸送装置のサブセットよりも大きい輸送装置の更なるサブセットに配布することと、の1つ以上を含みうる。【選択図】図2AAn example operation is to receive a software update on a transport device of a subset of the transport devices and to update the software based on one or more of the time period during which the software update was used and the number of times the software update was used by the subset of the transport devices. It may include one or more of activating the update and distributing the software update to a further subset of the transportation devices that is greater than the subset of the transportation devices based on the activation. [Selection drawing] Fig. 2A

Description

自動車、オートバイ、トラック、飛行機、列車などのような車両(vehicles)または輸送装置(transports)は、一般的には、乗車人および/または品物に対して多様な方法で輸送の需要を提供する。輸送装置に関する機能は、スマートフォン、コンピュータ、またはタブレットなどのような種々の演算処理装置により識別および利用できる。 Vehicles or transports, such as automobiles, motorcycles, trucks, planes, trains, etc., typically provide transportation needs to passengers and/or goods in a variety of ways. Functionality related to transportation devices can be identified and utilized by various computing devices such as smart phones, computers, or tablets.

輸送装置に対するソフトウェアアップデートは、一般的には、各個々の輸送装置クライアントコンピュータにソフトウェアアップデートを提供する中央サーバにより実行される。これは一般的には、クラウドへのネットワーク接続を必要とする。しかし、ソフトウェアアップデートを配布する(distribute)ためのWANの過度の使用は効率的ではなく、安全でないこともあり得る。追加的に、ソフトウェアアップデートは、サーバにより送られる前に、十分に多くの数の輸送装置により十分にテストされてないこともあり得る。何百万もの輸送装置からのソフトウェアアップデートに関する情報を収集でき、それを安全且つ効率的に追尾できる中央集中型システムは存在していない。 Software updates for vehicles are typically performed by a central server that provides software updates to each individual vehicle client computer. This typically requires a network connection to the cloud. However, overuse of the WAN to distribute software updates may be inefficient and unsafe. Additionally, a software update may not have been fully tested with a sufficiently large number of transport devices before being sent by the server. No centralized system exists that can collect information about software updates from millions of vehicles and track them securely and efficiently.

従って、多数の輸送装置による広範囲のテストに基づく輸送装置ソフトウェアアップデートの安全な配布方法(propagation)を有することが所望される。また、共有ストレージに記録されているソフトウェアアップデートに関する情報を有することも所望される。 Therefore, it is desirable to have a secure propagation of vehicle software updates based on extensive testing with large numbers of vehicles. It is also desirable to have information about software updates recorded in shared storage.

1つの例としての実施形態は、輸送装置のサブセットの輸送装置においてソフトウェアアップデートを受信することと、ソフトウェアアップデートが使用されていた時間期間と輸送装置のサブセットによるソフトウェアアップデートの利用回数の1つ以上に基づいてソフトウェアアップデートを有効化することと、有効化に基づいてソフトウェアアップデートを、輸送装置のサブセットよりも大きな、輸送装置の更なるサブセットに配布する(propagating)ことの1つ以上を含んでいる方法を提供できる。 One example embodiment includes receiving a software update on a transport device of a subset of the transport devices, and determining the time period during which the software update was used and the number of times the software update was used by the subset of the transport devices. activating the software update based on the activation; and propagating the software update based on the activation to a further subset of the transport devices that is greater than the subset of the transport devices. can provide

他の例としての実施形態は、輸送装置のサブセットの第1輸送装置と、輸送装置の更なるサブセットの第2輸送装置が近接しているときに、マスタ輸送装置により、ソフトウェアアップデートの第1部分を、輸送装置の第1サブセットの輸送装置に送ることと、マスタ輸送装置により、マスタ輸送装置により、ソフトウェアアップデートの第2部分を、輸送装置の更なるサブセットの輸送装置に送ることと、第1輸送装置に、ソフトウェアアップデートの第1部分を第2輸送装置に送らせることと、第2輸送装置に、ソフトウェアアップデートの第2部分を第1輸送装置に送らせることとの1つ以上を含んでいる方法を提供できる。 Another example embodiment provides for a first portion of a software update by a master transport device when a first transport device of a subset of transport devices and a second transport device of a further subset of transport devices are in proximity. to a transport device of a first subset of transport devices; forwarding, by the master transport device, a second portion of the software update to transport devices of a further subset of transport devices; one or more of causing the transport device to send a first portion of the software update to the second transport device; and causing the second transport device to send a second portion of the software update to the first transport device. can provide a way to

更なる他の例としての実施形態は、輸送装置においてソフトウェアアップデートを受信することと、最も少ない量の潜在的相互作用を含んでいる第1環境において、ソフトウェアアップデートの第1有効化を実行することと、第1有効化が成功した場合、第1環境よりも多い量の潜在的相互作用を含んでいる更なる環境において、ソフトウェアアップデートの更なる有効化を実行することの1つ以上を含んでいる方法を提供できる。 Yet another example embodiment includes receiving a software update on a transportation device and performing a first validation of the software update in a first environment containing the least amount of potential interactions. and performing a further activation of the software update in a further environment containing a greater amount of potential interactions than the first environment if the first activation is successful. can provide a way to

他の例としての実施形態は、プロセッサとメモリを含んでいるシステムを提供でき、輸送装置のサブセットの輸送装置のプロセッサは、ソフトウェアアップデートを受信することと、ソフトウェアアップデートが使用されていた時間期間と輸送装置のサブセットによるソフトウェアアップデートの利用回数の1つ以上に基づいてソフトウェアアップデートを有効化することと、有効化に基づいてソフトウェアアップデートを、輸送装置のサブセットよりも大きな、輸送装置の更なるサブセットに配布することの1つ以上を実行するように構成されている。 Other example embodiments can provide a system including a processor and a memory, wherein the processors of a subset of the vehicles receive the software update and the time period during which the software update has been used. activating the software update based on one or more of the number of times the software update is used by a subset of the vehicles; and activating the software update based on the activation to a further subset of the vehicles that is greater than the subset of the vehicles. configured to perform one or more of distributing;

他の例としての実施形態は、プロセッサとメモリを含んでいるシステムを提供でき、マスタ輸送装置のプロセッサは、輸送装置のサブセットの第1輸送装置と、輸送装置の更なるサブセットの第2輸送装置が近接しているときに、ソフトウェアアップデートの第1部分を、輸送装置の第1サブセットの輸送装置に送ることと、ソフトウェアアップデートの第2部分を、輸送装置の更なるサブセットの輸送装置に送ることと、第1輸送装置に、ソフトウェアアップデートの第1部分を第2輸送装置に送らせることと、第2輸送装置に、ソフトウェアアップデートの第2部分を第1輸送装置に送らせることとの1つ以上を実行するように構成されている。 Another example embodiment can provide a system including a processor and a memory, wherein the processor of a master transport device controls a first transport device of a subset of transport devices and a second transport device of a further subset of transport devices. sending a first portion of the software update to the transport devices of the first subset of transport devices and sending a second portion of the software update to the transport devices of a further subset of the transport devices when the are in proximity to each other. and causing the first transportation device to send the first portion of the software update to the second transportation device; and causing the second transportation device to send the second portion of the software update to the first transportation device. configured to perform the above.

更に他の例としての実施形態は、プロセッサとメモリを含んでいるシステムを提供でき、プロセッサは、輸送装置においてソフトウェアアップデートを受信することと、最も少ない量の潜在的相互作用を含んでいる第1環境において、ソフトウェアアップデートの第1有効化を実行することと、第1有効化が成功した場合、第1環境よりも多い量の潜在的相互作用を含んでいる更なる環境において、ソフトウェアアップデートの更なる有効化を実行することの1つ以上を実行するように構成されている。 Yet another example embodiment can provide a system that includes a processor and a memory, the processor being configured to receive software updates on a transportation device and a first method that includes the least amount of potential interactions. Performing a first activation of a software update in an environment and, if the first activation is successful, updating the software update in a further environment containing a greater amount of potential interactions than the first environment. is configured to perform one or more of the following:

更なる例としての実施形態は、命令を備えている非一時的コンピュータ可読媒体を提供し、命令はプロセッサにより読み込まれるとプロセッサに、ソフトウェアアップデートを受信することと、ソフトウェアアップデートが使用されていた時間期間と輸送装置のサブセットによるソフトウェアアップデートの利用回数の1つ以上に基づいてソフトウェアアップデートを有効化することと、有効化に基づいてソフトウェアアップデートを、輸送装置のサブセットよりも大きな、輸送装置の更なるサブセットに配布することの1つ以上を実行させる。 A further example embodiment provides a non-transitory computer-readable medium comprising instructions that, when read by a processor, instruct the processor to receive a software update and to notify the processor of the time the software update was in use. activating a software update based on one or more of the time period and the number of uses of the software update by a subset of the vehicles; Cause one or more of distributing to the subset to be performed.

更なる例としての実施形態は、命令を備えている非一時的コンピュータ可読媒体を提供し、命令はプロセッサにより読み込まれるとプロセッサに、輸送装置のサブセットの第1輸送装置と、輸送装置の更なるサブセットの第2輸送装置が近接しているときに、ソフトウェアアップデートの第1部分を、輸送装置の第1サブセットの輸送装置に送ることと、ソフトウェアアップデートの第2部分を、輸送装置の更なるサブセットの輸送装置に送ることと、第1輸送装置に、ソフトウェアアップデートの第1部分を第2輸送装置に送らせることと、第2輸送装置に、ソフトウェアアップデートの第2部分を第1輸送装置に送らせることとの1つ以上を実行させる。 A further example embodiment provides a non-transitory computer-readable medium comprising instructions that, when read by a processor, instruct the processor to transfer a first transportation device of the subset of transportation devices and a further transportation device of the transportation device. sending a first portion of the software update to a transport device of the first subset of transport devices when a second transport device of the subset is in proximity; and sending a second portion of the software update to a further subset of transport devices. causing the first transportation device to send the first portion of the software update to the second transportation device; and sending the second transportation device the second portion of the software update to the first transportation device. to perform one or more of

更なる例としての実施形態は、命令を備えている非一時的コンピュータ可読媒体を提供し、命令はプロセッサにより読み込まれるとプロセッサに、ソフトウェアアップデートを受信することと、最も少ない量の潜在的相互作用を含んでいる第1環境において、ソフトウェアアップデートの第1有効化を実行することと、第1有効化が成功した場合、第1環境よりも多い量の潜在的相互作用を含んでいる更なる環境において、ソフトウェアアップデートの更なる有効化を実行することの1つ以上を実行させる。 A further example embodiment provides a non-transitory computer-readable medium comprising instructions that, when read by a processor, instruct the processor to receive software updates and minimize the amount of potential interaction. performing a first activation of the software update in a first environment containing in performing one or more of performing further validation of the software update.

例としての実施形態に従う輸送装置ネットワーク図を例示している。1 illustrates a transport device network diagram in accordance with an example embodiment; FIG. 例としての実施形態に係る輸送装置ノードを含んでいる例としてのネットワーク図を示している。1 illustrates an example network diagram including a vehicle node in accordance with an example embodiment; FIG. 例としての実施形態に係る輸送装置ノードを含んでいる他の例としてのネットワーク図を示している。FIG. 4 illustrates another example network diagram including a vehicle node in accordance with an example embodiment; 例としての実施形態に係る輸送装置ノードを含んでいる他の例としてのネットワーク図を示している。FIG. 4 illustrates another example network diagram including a vehicle node in accordance with an example embodiment; 例としての実施形態に係るブロックチェーンアーキテクチャ構成を例示している。1 illustrates a blockchain architecture configuration according to an example embodiment; 例としての実施形態に係る他のブロックチェーン構成を例示している。4 illustrates another blockchain configuration according to an example embodiment; 例としての実施形態に係るブロックチェーントランザクションデータを格納するためのブロックチェーン構成を例示している。1 illustrates a blockchain configuration for storing blockchain transaction data in accordance with an example embodiment; 例としての実施形態に係るフロー図を例示している。4 illustrates a flow diagram in accordance with an example embodiment; 例としての実施形態に係る他のフロー図を例示している。Figure 4 illustrates another flow diagram in accordance with an example embodiment; 例としての実施形態に係る更なるフロー図を例示している。4 illustrates a further flow diagram in accordance with an example embodiment; 例としての実施形態に係る更なるフロー図を例示している。4 illustrates a further flow diagram in accordance with an example embodiment; 例としての実施形態に係る更なるフロー図を例示している。4 illustrates a further flow diagram in accordance with an example embodiment; 例としての実施形態に係る更なるフロー図を例示している。4 illustrates a further flow diagram in accordance with an example embodiment; 例としての実施形態に係る、車両と関連付けられているブロックチェーントランザクションを管理するための例としてのブロックチェーン車両構成を示している。1 illustrates an example blockchain vehicle configuration for managing blockchain transactions associated with a vehicle, according to an example embodiment; 例としての実施形態に係る、サービスセンタと車両との間のブロックチェーントランザクションを管理するための他の例としてのブロックチェーン車両構成を示している。4 illustrates another example blockchain vehicle configuration for managing blockchain transactions between a service center and a vehicle, according to an example embodiment; 例としての実施形態に係る、種々の車両間で実行されるブロックチェーントランザクションを管理するための更に他の例としてのブロックチェーン車両構成を示している。4 illustrates yet another example blockchain vehicle configuration for managing blockchain transactions conducted between different vehicles, in accordance with an example embodiment; 例としての実施形態に係る例としてのデータブロックを示している。4 illustrates an example data block according to an example embodiment; 例としての実施形態の1つ以上をサポートする例としてのシステムを示している。1 illustrates an example system that supports one or more of the example embodiments.

ここにおいて、図において全体的に記述および例示されているように、実例としての構成要素は、広く多様な異なる構成において配置および設計できるということは容易に理解されるであろう。そのため、付随する図において表わされているように、方法、装置、非一時的コンピュータ可読媒体、およびシステムの少なくとも1つの実施形態の下記の詳細な記述は、請求される本願の範囲を制限することは意図されておらず、選択された実施形態の単なる代表例である。 It will be readily understood herein that the illustrative components, as generally described and illustrated in the figures, can be arranged and designed in a wide variety of different configurations. Accordingly, the following detailed description of at least one embodiment of the method, apparatus, non-transitory computer-readable medium, and system, as represented in the accompanying figures, limits the scope of the claimed application. It is not intended to be, and is merely representative of selected embodiments.

この明細書を通して記述されているように、実例としての特徴、構造、または特性は、1つ以上の実施形態において任意の適切な方法で組み合わせることができる。例えば、「例としての実施形態」、「幾つかの実施形態」というフレーズ、または他の類似の語句の使用は、少なくともこの明細書を通しては、実施形態と関連して記述される特別な特徴、構造、または、特性を、少なくとも1つの実施形態に含むことができるという事実のことを指している。そのため、「例としての実施形態」、「幾つかの実施形態においては」、「他の実施形態においては」というフレーズ、または他の類似の語句の登場は、この明細書を通して、実施形態の同じグループを必ずしも指してはおらず、記述されている特徴、構造、または特性は、1つ以上の実施形態において任意の適切な方法で組み合わせることができる。図において、要素間の何れの接続も、記述されている接続が1方向または双方向矢印であっても、1方向および/または双方向を許可できる。本願においては、輸送装置は、自動車、トラック、オートバイ、スクータ、自転車、ボート、レクリエーション用車両、飛行機、および、人間および/または品物をある場所から他の場所に輸送するために使用できる任意の対象物を含むことができる。 As described throughout this specification, the illustrative features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. For example, use of the phrase "exemplary embodiment," "some embodiments," or other similar phrases, at least throughout this specification, refers to the particular features described in connection with the embodiments; It refers to the fact that a structure or property can be included in at least one embodiment. Thus, appearances of the phrases "exemplary embodiment," "in some embodiments," "in other embodiments," or other similar phrases may be used throughout this specification to refer to the same terminology of an embodiment. Not necessarily referring to groups, the features, structures or characteristics described may be combined in any suitable manner in one or more embodiments. In the figures, any connections between elements can be unidirectional and/or bidirectional, whether the connections depicted are unidirectional or bidirectional arrows. As used herein, transportation equipment includes automobiles, trucks, motorcycles, scooters, bicycles, boats, recreational vehicles, airplanes, and any object that can be used to transport people and/or goods from one place to another. can contain objects.

加えて、実施形態の記述において、「メッセージ」という用語が使用されているが、本願は、パケット、フレーム、データグラムなどのような多くのタイプのネットワークデータに適用できる。「メッセージ」という用語はまた、パケット、フレーム、データグラム、およびその任意の等価物を含んでいる。更に、あるタイプのメッセージと信号を、例としての実施形態のおいて示すことができるが、それらはあるタイプのメッセージに制限されず、本願は、あるタイプの信号に制限されない。 Additionally, although the term "message" is used in describing the embodiments, the present application is applicable to many types of network data such as packets, frames, datagrams, and the like. The term "message" also includes packets, frames, datagrams, and any equivalents thereof. Furthermore, although certain types of messages and signals may be shown in the example embodiments, they are not limited to certain types of messages and the present application is not limited to certain types of signals.

例としての実施形態は、方法、システム、構成要素、非一時的コンピュータ可読媒体、装置、および/またはネットワークを提供し、それらは、輸送装置(ここにおいては、車両とも称される)、データ収集システム、データ監視システム、有効化システム、認可システム、および車両データ配信システムの少なくとも1つを提供する。無線データネットワーク通信、および/または有線通信メッセージなどのような、通信アップデートメッセージの形状で受信した車両ステータス状態データは、車両/輸送装置ステータス状態を識別して、輸送装置の状態変化に関するフィードバックを提供するために受信且つ処理できる。1つの例においては、ユーザプロファイルを、現在の車両イベント、サービスステーションにおけるサービスのための停止を認可し、後続する車両レンタルサービスを認可するために特別な輸送装置/車両に適用できる。 Exemplary embodiments provide methods, systems, components, non-transitory computer-readable media, devices, and/or networks, including transportation devices (also referred to herein as vehicles), data collection At least one of a system, a data monitoring system, a validation system, an authorization system, and a vehicle data distribution system are provided. Vehicle status condition data received in the form of communication update messages, such as wireless data network communications and/or wireline communication messages, identifies the vehicle/transportation device status condition and provides feedback regarding changes in the condition of the transportation device. can be received and processed to In one example, a user profile can be applied to a particular transport device/vehicle to authorize current vehicle events, stops for service at service stations, and subsequent vehicle rental services.

通信インフラストラクチャ内で、非中央集中型データベースは、分散型ストレージシステムであり、お互いに通信する複数のノードを含んでいる。ブロックチェーンは、非中央集中型データベースの例であり、信頼性を有しない関係者間の記録を維持できる、追加専用不変データ構造(つまり、分散型台帳)を含んでいる。ここにおいては、信頼性を有しない関係者は、ピア、ノード、またはピアノードと称される。各ピアは、データベースの記録のコピーを維持し、単一のピアでは、分散しているピアの間でのコンセンサスが取れない限り、データベース記録を修正できない。例えば、ピアは、ブロックチェーンストレージエンティティを有効化し、ストレージエンティティをブロックにグループ化し、ブロックを介してハッシュチェーンを構築するためにコンセンサスプロトコルを実行できる。このプロセスは、必要であれば、一貫性のために、ストレージエンティティを順序付けすることにより台帳を形成する。公共または認可不要ブロックチェーンにおいては、特定のアイデンティティがなくても誰でも参加できる。公共ブロックチェーンは暗号通貨を含むことができ、プルーフオブワーク(PoW)などのような種々のプロトコルに基づいてコンセンサスを使用できる。一方、許可されたブロックチェーンデータベースは、共通の目標を共有するが、ファンド、品物、情報などを交換するビジネスなどのような、互いに完全には信頼していない、または信頼できないエンティティのグループ間の相互作用を確実にできるシステムを提供する。実例としての適用は、許可された、および/または、許可不要ブロックチェーン設定において機能できる。 Within the communications infrastructure, a decentralized database is a distributed storage system that includes multiple nodes that communicate with each other. Blockchain is an example of a decentralized database, containing an append-only immutable data structure (i.e., a distributed ledger) that can maintain records between untrusted parties. Untrusted parties are referred to herein as peers, nodes, or peer nodes. Each peer maintains a copy of the database record, and no single peer can modify the database record without consensus among distributed peers. For example, peers can enable blockchain storage entities, group storage entities into blocks, and run a consensus protocol to build hash chains through the blocks. This process forms a ledger by ordering the storage entities for consistency, if necessary. Anyone can participate in a public or permissionless blockchain without a specific identity. Public blockchains can include cryptocurrencies and use consensus based on various protocols such as Proof of Work (PoW). Permissioned blockchain databases, on the other hand, are between groups of entities that share a common goal but do not fully trust or trust each other, such as businesses that exchange funds, goods, information, etc. Provide a system that can ensure interaction. Illustrative applications can work in permissioned and/or permissionless blockchain settings.

スマートコントラクトは、共有または分散化台帳(つまり、ブロックチェーンの形状であってよい)データベースの耐改竄特性と、エンドースメントまたはエンドースメントポリシーと称されるメンバノード間の基盤となる合意を利用する信頼性のある分散型アプリケーションである。一般的に、ブロックチェーンエンティティは、ブロックチェーンに投入される前にエンドースされるが、一方、エンドースされないエントリは無視される。典型的なエンドースメントポリシーは、スマートコントラクト実行可能コードが、エンドースメントのために必要なピアノードのセットの形状のエントリに対するエンドーサを特定することを可能にする。クライアントがエントリを、エンドースメントポリシーにおいて特定されたピアに送ると、エントリはエントリを有効化するために実行される。有効化の後、エントリはオーダリングフェーズに入り、コンセンサスプロトコルが、ブロックにグループ化されたエンドースされたエントリの順序付けられたシーケンスを生成するために使用される。 Smart contracts are trusts that take advantage of the tamper-resistant properties of a shared or distributed ledger (which can be in the form of a blockchain) database and underlying agreements between member nodes called endorsements or endorsement policies. It is a highly distributed application. Generally, blockchain entities are endorsed before being put onto the blockchain, while unendorsed entries are ignored. A typical endorsement policy allows smart contract executable code to identify endorsers for the shape entry of a set of peer nodes required for endorsement. When a client sends an entry to the peers specified in the endorsement policy, the entry is executed to validate the entry. After validation, the entries enter the ordering phase and a consensus protocol is used to generate an ordered sequence of endorsed entries grouped into blocks.

ノードは、ブロックチェーンシステムの通信エンティティである。「ノード」は、複数の異なるタイプのノードが同じ物理サーバ上で動作できるという意味において論理機能を実行できる。ノードはトラストドメインにおいてグループ化され、ノードを種々の方法で制御する論理エントリと関連付けられる。ノードは、エントリ呼出しをエンドーサ(例えば、ピア)提出し、エントリ提案をオーダリングサービス(例えば、オーダリングノード)にブロードキャストするクライアントまたは提出クライアントなどのような異なるタイプを含むことができる。他のタイプのノードはピアノードであり、ピアノードはクライアントから提出されたエントリを受信でき、エントリを投入し、ブロックチェーンエントリの台帳の状態とコピーを維持できる。ピアはまたエンドーサの役割も有することができるが、それは必要条件ではない。オーダリングサービスノードまたはオーダラは、すべてのノードに対する通信サービスを動作させているノードであり、エントリを投入し、通常は制御と設定情報を含んでいる、初期ブロックチェーンエントリの別名でもある、ブロックチェーンのワールド状態を修正するときに、システムにおけるピアノードのそれぞれに対するブロードキャストなどのようなデリバリの保証を実現する。 A node is a communicating entity in a blockchain system. A "node" can perform a logical function in the sense that multiple different types of nodes can run on the same physical server. Nodes are grouped in trust domains and associated with logical entries that control the nodes in various ways. Nodes can include different types, such as clients or submission clients that submit entry calls to endorsers (eg, peers) and broadcast entry proposals to the ordering service (eg, ordering nodes). Another type of node is a peer node, which can receive entries submitted by clients, inject entries, and maintain a state and copy of a ledger of blockchain entries. A peer can also have the role of endorser, but that is not a requirement. An ordering service node or orderer is a node that operates communication services for all nodes, populates an entry, and is also known as an initial blockchain entry, usually containing control and configuration information. Implement delivery guarantees, such as broadcasts, to each of the peer nodes in the system when modifying the world state.

台帳は、ブロックチェーンのすべての状態遷移の順序付けられた、耐改竄性記録である。状態遷移は、参加している関係者(例えば、クライアントノード、オーダリングノード、エンドーサノード、ピアノードなど)により提出された、スマートコントラクト実行可能コード呼出し(つまり、エントリ)から起因することができる。エントリは、creates(作成)、updates(更新)、deletes(削除)などのような1つ以上のオペランドとして台帳に投入されている資産キーバリューペアのセットという結果になることができる。台帳はブロックチェーン(チェーンとも称される)を含んでおり、ブロックチェーンは、不変の、順序付けられた記録をブロックに格納するために使用される。台帳はまた状態データベースも含んでおり、状態データベースは、ブロックチェーンの現在の状態を維持している。典型的には、1つのチャネル当たり1つの台帳がある。各ピアノードは、自身がメンバである各チャネルに対する台帳のコピーを維持している。 A ledger is an ordered, tamper-resistant record of all state transitions in a blockchain. State transitions can result from smart contract executable code calls (i.e., entries) submitted by participating parties (e.g., client nodes, ordering nodes, endorser nodes, peer nodes, etc.). Entries can result in a set of asset key-value pairs populated in the ledger as one or more operands such as creates, updates, deletes, and so on. A ledger contains a blockchain (also called a chain), which is used to store immutable, ordered records in blocks. The ledger also contains a state database, which maintains the current state of the blockchain. There is typically one ledger per channel. Each peer node maintains a copy of the ledger for each channel of which it is a member.

チェーンはエントリログであり、ハッシュとリンクされたブロックとして構造化されており、各ブロックは、N個のエントリのシーケンスを含んでおり、ここにおいてNは1以上である。ブロックヘッダは、先行するブロックヘッダのハッシュと共に、ブロックエントリのハッシュも含んでいる。このようにして、台帳上のすべてのエントリは順序付けることができ、暗号的に互いにリンクさせることができる。従って、ハッシュリンクを破壊しない限り台帳を改竄することはできない。最も現時点に近い時点で追加されたブロックチェーンブロックのハッシュは、その前に来たチェーン上のすべてのエントリを表現し、すべてのピアノードは、一貫性があり、信頼性のある状態であることを確実にすることを可能とする。チェーンはピアノードファイルシステム(つまり、ローカルな付与されたストレージ、クラウドなど)に格納でき、ブロックチェーンワークロードの追加専用の性質を効率よくサポートする。 A chain is an entry log, structured as blocks linked with hashes, each block containing a sequence of N entries, where N is one or more. The block header also contains the hash of the block entry along with the hash of the preceding block header. In this way, all entries on the ledger can be ordered and cryptographically linked together. Therefore, the ledger cannot be tampered with unless the hash link is destroyed. The hash of a blockchain block added most recently represents all entries on the chain that came before it, and all peer nodes are in a consistent and trusted state. make it possible to ensure Chains can be stored in peer node filesystems (i.e. local granted storage, cloud, etc.), efficiently supporting the append-only nature of blockchain workloads.

不変台帳の現在の状態は、チェーンエントリログに含まれているすべてのキーに対する最新の値を表わしている。現在の状態が、チャネルには既知の最新のキーバリューを表わしているので、それは、ワールド状態と称されることもある。スマートコントラクト実行可能コード呼出しは、台帳の現在の状態データに対してエントリを実行する。これらのスマートコントラクト実行可能コード相互作用を効率的にするために、キーの最新の値を状態データベースに格納できる。状態データベースは、チェーンのエントリログへの単なるインデックス付きビューであり得るので、従って、それは、いつでもチェーンから再生成できる。状態データベースは、ピアノードが起動したとき、そしてエントリが容認される前に自動的に回復できる(または、必要であれば、再生成できる)。 The current state of the immutable ledger represents the latest values for all keys contained in the chain entry log. Because the current state represents the most recent key-values known to the channel, it is sometimes referred to as the world state. A smart contract executable code call performs an entry into the ledger's current state data. To make these smart contract executable code interactions efficient, the latest values of the keys can be stored in a state database. The state database can be just an indexed view into the chain's entry log, so it can be regenerated from the chain at any time. The state database can be automatically restored (or regenerated if necessary) when a peer node starts up and before entries are accepted.

ブロックチェーンは従来のデータベースとは、ブロックチェーンが中央集中型ストレージではなく、ノードは、ストレージにおけるレコードの変化を共有しなくてはならない非中央集中型、不変、および安全ストレージであるということにおいて異なっている。ブロックチェーンに固有で、ブロックチェーンを実現することにおいて支援する幾つかの特性としては、下記に制限されないが、不変台帳、スマートコントラクト、セキュリティ、プライバシ、非中央集中化、コンセンサス、エンドースメント、アクセス可能性などがある。 Blockchains differ from traditional databases in that blockchains are not centralized storage, but rather decentralized, immutable, and secure storage where nodes must share record changes in storage. ing. Some properties that are unique to blockchains and that aid in implementing blockchains include, but are not limited to: Immutable Ledger, Smart Contracts, Security, Privacy, Decentralization, Consensus, Endorsement, Accessibility. gender, etc.

例としての実施形態は、車両サービスを特別な車両に提供し、および/または、車両に適用されたユーザプロファイルと関連付けられているユーザにリクエストするための方法を提供する。例えば、ユーザは車両の所有者、または他の関係者により所有されている車両の運転手であってよい。車両は、ある間隔でサービスを要求でき、サービス需要は、サービスが受信されることを許可する前に認可を要求できる。また、サービスセンタは、車両の現在のルートプランと、サービスの必要条件の相対的レベル(例えば、即座の、厳しい、中間的な、重要でないなど)に基づいて、近くの領域における車両にサービスを提供できる。車両の需要は、1つ以上のセンサにより監視でき、そのセンサは、車両における中央コントローラコンピュータ装置に感知されたデータを報告し、その結果として、それは調査および行動のために管理サーバに転送される。 Example embodiments provide a method for providing vehicle services to a particular vehicle and/or requesting a user associated with a user profile applied to the vehicle. For example, the user may be the owner of a vehicle, or the driver of a vehicle owned by another party. Vehicles can request service at intervals, and service demands can require authorization before allowing the service to be received. Service centers may also service vehicles in nearby areas based on the vehicle's current route plan and relative levels of service requirements (e.g., immediate, severe, moderate, non-critical, etc.). can provide. Vehicle demand can be monitored by one or more sensors that report sensed data to a central controller computer device in the vehicle so that it is forwarded to a management server for investigation and action. .

センサは、輸送装置の内部、輸送装置の外部、輸送装置とは離れている固定された対象物の上、および、輸送装置に近い他の輸送装置上の1つ以上に位置させることができる。センサはまた、輸送装置の速度、輸送装置の制動、輸送装置の加速、燃料レベル、サービス需要、輸送装置のギアシフト、輸送装置のステアリングなどとも関連付けることができる。センサの概念はまた、モバイル装置などのような装置であってもよい。また、センサ情報は、車両が安全に動作しているかどうか、および、同乗者が、車両のアクセス期間などのような、予期せぬ車両状態に巻き込まれてしまったかどうかを識別するためにも使用できる。車両の動作の前、その間、および/または、その後に収集された車両情報は、共有/分散型台帳上のトランザクションにおいて識別且つ格納でき、それは、ブロックチェーンメンバシップグループを介してなどのように、許可認定協会により決定されているように、そしてそのため「非中央集中型」の方法で再生成でき、不変台帳に投入できる。各利害関係者(つまり、会社、機関など)は、私的情報の開示を制限したいと所望することもできるので、従って、ブロックチェーンとその不変性は開示を制限でき、各特別なユーザ車両プロファイルに対する許可を管理できる。スマートコントラクトを、補償を提供し、ユーザプロファイルのスコア/格付け/評価を定量化し、車両イベント許可を適用し、サービスがいつ必要かを決定し、衝突および/または退化イベントを識別し、安全性に関するイベントを識別し、イベントへの関係者を識別し、および、そのような車両イベントデータへのアクセスを求める登録されているエンティティに配信を提供するために使用できる。また、結果は識別でき、必要な情報は、ブロックチェーンと関連付けられている「コンセンサス」アプローチに基づいて、登録されている会社および/または個人の間で共有できる。そのようなアプローチは、従来の中央集中型データベースでは実現できなかった。 The sensors can be located one or more inside the transport device, outside the transport device, on fixed objects remote from the transport device, and on other transport devices close to the transport device. Sensors may also be associated with vehicle speed, vehicle braking, vehicle acceleration, fuel level, service demand, vehicle gearshift, vehicle steering, and the like. The concept of sensor may also be a device such as a mobile device. Sensor information is also used to identify whether the vehicle is operating safely and whether passengers have been involved in unexpected vehicle conditions, such as during vehicle access periods. can. Vehicle information collected before, during, and/or after vehicle operation can be identified and stored in transactions on a shared/distributed ledger, such as through blockchain membership groups, As determined by the licensing authority, and so can be regenerated in a "decentralized" manner and injected into the immutable ledger. Each stakeholder (i.e. company, institution, etc.) may also wish to restrict the disclosure of private information, so the blockchain and its immutability can restrict disclosure, and each special user vehicle profile You can manage permissions for Smart contracts provide compensation, quantify user profile scores/ratings/ratings, apply vehicle event permissions, determine when service is needed, identify crash and/or degrade events, It can be used to identify events, identify parties to events, and provide distribution to registered entities seeking access to such vehicle event data. Also, the results can be identified and the required information can be shared among registered companies and/or individuals based on the "consensus" approach associated with blockchain. Such an approach has not been possible with traditional centralized databases.

すべての自律運転システムは、ソフトウェアの全体スーツおよびセンサのアレイに内蔵されている。機械学習、ライダープロジェクタ、レーダー、および超音波センサはすべて、自己運転自動車が走行できる世界のリビングマップを作成するために共に働く。完全自律への競争の中にいるほとんどの会社は、幾つかの優れた例外はあるが、ライダー+レーダー+カメラ+超音波の同じ基本的な技術基盤に依存している。 All autonomous driving systems are built into a whole suite of software and an array of sensors. Machine learning, lidar projectors, radar, and ultrasonic sensors all work together to create a living map of the world that self-driving cars can navigate. Most companies in the race to full autonomy, with some notable exceptions, rely on the same basic technology foundation of lidar + radar + cameras + ultrasound.

他の実施形態においては、GPS、マップ、および他のカメラとセンサがライダーのない自律車両において使用されているが、これは、ライダーが高価で不要なものと見なされることがよくあるからである。研究者は、立体カメラは、より高価なライダー機能に対する低コストの代替品であると決定している。 In other embodiments, GPS, maps, and other cameras and sensors are used in autonomous vehicles without lidar, as lidar is often considered expensive and unnecessary. . Researchers have determined that stereoscopic cameras are a low-cost alternative to more expensive lidar functions.

実例としての適用は、ある実施形態において、自動化されている迅速認証スキームを介してサービスに対して車両を許可することを含んでいる。例えば、充電ステーションまたは燃料ポンプまで運転することは、車両の運転手により実行でき、充電または燃料を受けることに対する認可は、その認可がサービスステーションにおいて受信されるのであれば遅延なく実行できる。車両は、サービスを受けることが認可され、後で補償により調整できるアカウントとリンクされている現在アクティブなプロファイルを有する車両のIDを提供する通信信号を提供できる。他の識別子をユーザの装置から無線で、輸送装置とサービスセンタとの間の第1認可努力を、追加的な認可努力で置換またはそれで補充するためにサービスセンタに送ることができるような、追加的な手段を更なる認可を提供するために使用できる。 An illustrative application, in one embodiment, includes authorizing a vehicle for service via an automated expedited authorization scheme. For example, driving to a charging station or fuel pump can be done by the driver of the vehicle, and authorization to receive charging or fuel can be done without delay if the authorization is received at the service station. A vehicle can provide a communication signal that provides the ID of a vehicle that is authorized to receive service and has a currently active profile linked to an account that can later be reconciled with compensation. Additional such that other identifiers can be sent wirelessly from the user's device to the service center to replace or supplement the first authorization effort between the transport device and the service center with additional authorization efforts. other means can be used to provide further authorization.

共有され受信されたデータはデータベースに格納でき、データベースは単一のデータベース(例えば、データベースサーバ)で、一般的には1つの特別な位置においてデータを維持する。この位置は、例えば、デスクトップ中央演算処理装置(CPU)、サーバCPU、またはメインフレームコンピュータなどの中央コンピュータであることがよくある。中央集中型データベースに格納されている情報は、典型的には複数の異なるポイントからアクセス可能である。中央集中型データベースは、その単一の位置のために、特に、セキュリティの目的のためには、管理、維持、および制御することが容易である。中央集中型データベース内では、すべてのデータの単一の格納場所はまた、データの所与のセットは1つの主要な記録しか有していないことも意味するので、データの冗長性は最小となる。 The shared and received data can be stored in a database, which is a single database (eg, a database server), typically maintaining data in one special location. This location is often a central computer, such as a desktop central processing unit (CPU), a server CPU, or a mainframe computer, for example. Information stored in a centralized database is typically accessible from multiple different points. A centralized database is easy to manage, maintain and control, especially for security purposes, due to its single location. Within a centralized database, a single storage location for all data also means that a given set of data has only one primary record, thus minimizing data redundancy. .

例としての実施形態によれば、WAN技術を使用しない、ソフトウェアアップデートの車両への配布が提供される。1つの例としての実施形態は、輸送装置の第1セットによりテストが実行された後でのみ、ソフトウェアアップデートが配布されることを可能にする。テストは、ある時間期間において実行でき、または、ソフトウェアアップデートコードの多数の回数の実行において実行できる。ソフトウェアのテストが失敗すると、輸送装置には警報が出され、輸送装置のソフトウェアは、以前のソフトウェアバージョンに戻ることができる。 According to an example embodiment, distribution of software updates to vehicles is provided without using WAN technology. One example embodiment allows software updates to be distributed only after testing has been performed by the first set of transport devices. Testing can be performed over a period of time, or can be performed over multiple executions of the software update code. If the software test fails, the transport device is alerted and the transport device software can revert to the previous software version.

他の実施形態においては、マスタ輸送装置システムは、ソフトウェアアップデートを車両に配布するときに、ソフトウェアアップデートを少なくとも2つの部分に分割し、ソフトウェアアップデート部分を異なる時間および/または異なるソースから送ることにより追加的なセキュリティを可能にすることができる。1つの例としての実施形態においては、ソフトウェアアップデートは、まずマスタ輸送装置から送ることができる。例としての実施形態は、ブロックチェーン技術を介するアップデートの認可を伴うソフトウェアアップデートの非中央集中型配布を提供できる。 In other embodiments, the master vehicle system, when distributing a software update to a vehicle, divides the software update into at least two parts and adds the software update parts by sending them at different times and/or from different sources. security. In one example embodiment, software updates may be sent from the master transport device first. Example embodiments can provide decentralized distribution of software updates with authorization of updates via blockchain technology.

例としての実施形態によれば、マスタ輸送装置は、ソフトウェアアップデートの何れの部分を何れの輸送装置に与えるかを、輸送装置の特性(例えば、輸送装置のセキュリティレベル、輸送装置の使用年月、ソフトウェアを適切に実行できる輸送装置におけるハードウェア、輸送装置の状態、輸送装置のユーザ/同乗者の特性、輸送装置における、または輸送装置に関連する特徴の使用)に基づいて決定できる。アップデートは、アップデートの可能性のある使用法、例えば、何れの輸送装置が、ソフトウェアアップデートをより良好にテスト/利用できるかに基づいて提供できる。1つの例においては、車両1はアップデートの第1部分(ABC)を、車両2はアップデートの他の部分(ABC’)を、同じマスタ輸送装置から得ることができる。ソフトウェアアップデートは、3つ以上の部分に分割でき、例えば、幾つかの輸送装置は2つの部分を、幾つかの輸送装置は3つの部分を、そして幾つかの輸送装置はn個の部分を受信できる。マスタ輸送装置は、輸送装置のサブセットおよび輸送装置の更なるサブセットより高いセキュリティのレベルを有することができる。ソフトウェアアップデートの如何なる問題もマスタ輸送装置に報告できる(マスタ輸送装置はそれを中央サーバに報告できる)。何れかの部分に、または、アップデートの収集された第1および第2部分に問題が起こると、マスタ輸送装置を、問題が起きた輸送装置の近くの移動させることができ、問題を決定して解決するためにその輸送装置を監視できる。 According to an example embodiment, the master transport device determines which parts of the software update to give to which transport device characteristics (e.g., the security level of the transport device, the age of the transport device, the age of the transport device, hardware in the transport device that can properly execute the software, condition of the transport device, characteristics of the user/passenger of the transport device, use of features on or associated with the transport device). Updates can be provided based on possible uses of the update, eg, which transport devices can better test/utilize the software update. In one example, vehicle 1 can obtain the first part of the update (ABC) and vehicle 2 the other part of the update (ABC') from the same master vehicle. A software update can be split into more than two parts, e.g., some transporters receive two parts, some transporters receive three parts, and some transporters receive n parts. can. A master transport device may have a higher level of security than a subset of transport devices and a further subset of transport devices. Any software update problems can be reported to the master transport (which can report it to the central server). If a problem occurs with either portion, or with the collected first and second portions of the update, the master transport device can be moved closer to the problematic transport device to determine the problem. You can monitor that transport device to troubleshoot.

更なる他の例としての実施形態においては、ソフトウェアアップデートが受信され、収集され、そして実行されると、輸送装置は古いソフトウェアバージョンの起動を継続し、潜在的な問題が最も少ない状況において、新しいアップデートされたソフトウェアを間欠的に使用する。例えば、アップデートが制動ソフトウェアアップデートに対してなされた場合、輸送装置は、アップデートされたソフトウェアを、運転環境において最も交通量が少ないとき(そして、歩行者および/または対象物がないとき)に使用できる。アップデートされたソフトウェアがこの運転環境において有効化されると、輸送装置は、異なる潜在的に問題がある運転環境(例えば、より交通量が多い、歩行者、および/または対象物がある環境)においてそのアップデートされたソフトウェアを使用できる。例としての実施形態によれば、輸送装置の運転手は、ソフトウェアアップデート管理アプリケーションの機能に気付いていない可能性がある。輸送装置のシステムは、ソフトウェアアップデートを異なる環境において少しずつ回数を増やしながらテストし、必要であれば、ソフトウェアの以前のバージョンに戻ることができる。 In yet another example embodiment, as software updates are received, collected, and implemented, the transportation device continues to run the old software version and, under the least potential problems, the newer version. Use updated software intermittently. For example, if an update is made to the braking software update, the vehicle can use the updated software in the driving environment when traffic is at its lightest (and when there are no pedestrians and/or objects). . Once the updated software is activated in this driving environment, the vehicle will be able to operate in different potentially problematic driving environments (e.g., those with more traffic, pedestrians, and/or objects). You can use the updated software. According to an example embodiment, the operator of the transportation device may be unaware of the functionality of the software update management application. The vehicle system can test software updates incrementally in different environments and revert to previous versions of the software if necessary.

更に他の実施形態においては、マスタ輸送装置は、何れの部分を何れの輸送装置に与えるかを、輸送装置の特性(例えば、輸送装置のセキュリティレベル、輸送装置の使用年月、ソフトウェアを適切に実行できる輸送装置におけるハードウェア、輸送装置の状態、輸送装置のユーザ/同乗者の特性、輸送装置における、または輸送装置に関連する特徴の使用)に基づいて決定できる。アップデートは、アップデートの可能性のある使用法、例えば、何れの輸送装置が、ソフトウェアをより良好にテスト/利用できるかに基づくことができる。 In yet another embodiment, the master transport device determines which parts are given to which transport device, depending on the characteristics of the transport device (e.g., security level of the transport device, age of the transport device, software) as appropriate. hardware in the transport device that can be implemented, the state of the transport device, the characteristics of the user/passenger of the transport device, the use of features in or associated with the transport device). Updates can be based on possible uses of the update, eg, which transport devices can better test/utilize the software.

更なる実施形態においては、異なる車両は、提出された時間または日付、車両および/またはソフトウェアおよび/またはユーザの特性に基づいて、ソフトウェアの部分を集めることができる。例えば、車両1は第1部分(ABC)を得ることができ、まさに次の送信で、車両2は第1部分(ABC’)を同じマスタ輸送装置から得ることができる(つまり、第1部分は異なることができる)。 In further embodiments, different vehicles can aggregate software portions based on the time or date submitted, vehicle and/or software and/or user characteristics. For example, vehicle 1 can get the first part (ABC) and on the very next transmission vehicle 2 can get the first part (ABC') from the same master transport device (i.e. the first part is can be different).

更なる実施形態においては、ソフトウェアアップデートは、3つ以上の部分に分割できる。幾つかの輸送装置は2つの部分、幾つかの輸送装置は3つの部分、幾つかの輸送装置はn個の部分を受信できる。 In further embodiments, the software update can be split into more than two parts. Some transport devices can receive two portions, some transport devices can receive three portions, and some transport devices can receive n portions.

更なる実施形態においては、マスタ輸送装置は、輸送装置のサブセットと輸送装置の更なるサブセットよりも高いセキュリティのレベル、ソフトウェアアップデートの第1部分、およびソフトウェアアップデートの第2部分の1つ以上を備えている。 In a further embodiment, the master transport device comprises one or more of a higher security level than the subset of transport devices and the further subset of transport devices, the first portion of the software update, and the second portion of the software update. ing.

更なる実施形態においては、ソフトウェアについての如何なる問題も、マスタ輸送装置に報告される(そして、中央サーバに報告できる)。 In a further embodiment, any problems with the software are reported to the master transport device (and can be reported to a central server).

更なる実施形態においては、アップデートの何れかの部分、または集められた第1および第2部分で問題が起こると、マスタ輸送装置は、問題のある輸送装置に近接することができ、問題を監視および問題にアクセスできる。 In a further embodiment, if a problem occurs with either part of the update, or the first and second parts aggregated, the master transport device can be brought into proximity with the problematic transport device and monitor the problem. and issues can be accessed.

図1Aは、例としての実施形態に従う、輸送装置ネットワーク図100を例示している。1つの例としての実施形態によれば、輸送装置(例えば、105)のサブセットの輸送装置のプロセッサ104’は、ソフトウェアアップデートを受信するように構成できる。ソフトウェアアップデートは、マスタ輸送装置ノード(例えば、102)により提供できる。プロセッサ104’は、輸送装置(例えば、105)によりソフトウェアアップデートが使用されていた時間期間に基づいてソフトウェアアップデートを有効化できる。1つの例においては、プロセッサ104’は、輸送装置(例えば、105)のサブセットによるソフトウェアアップデートの利用回数に基づいてソフトウェアアップデートを有効化できる。プロセッサ104’は有効化に基づいて、ソフトウェアアップデートを輸送装置(例えば、107)の更なるサブセットに配布できる。輸送装置107のサブセットは輸送装置105のサブセットよりも大きい。 FIG. 1A illustrates a transport device network diagram 100, according to an example embodiment. According to one example embodiment, the processors 104' of a subset of the transport devices (e.g., 105) can be configured to receive software updates. Software updates may be provided by a master vehicle node (eg, 102). The processor 104' can activate the software update based on the period of time the software update has been used by the transportation device (e.g., 105). In one example, processor 104' can activate software updates based on the number of times the software update is used by a subset of transportation devices (e.g., 105). Processor 104' can distribute the software update to a further subset of transport devices (e.g., 107) based on the activation. The subset of transport devices 107 is larger than the subset of transport devices 105 .

他の例としての実施形態によれば、マスタ輸送装置102のプロセッサ104は、ソフトウェアアップデートの第1部分を、輸送装置105の第1サブセットの輸送装置に送るように構成できる。マスタ輸送装置102のプロセッサ104は、ソフトウェアアップデートの第2部分を、輸送装置107の更なるサブセットの輸送装置に送ることができる。そして、輸送装置105のサブセットの第1輸送装置と、輸送装置107の更なるサブセットの第2輸送装置が近接しているときに、プロセッサ104は、ソフトウェアアップデートの第1部分を第2輸送装置107に送らせるコマンドを第1輸送装置105に送ることができる。そして、プロセッサ104は、ソフトウェアアップデートの第2部分を第1輸送装置105に送らせるコマンドを第2輸送装置に送ることができる。そのため、それぞれの輸送装置105と107のプロセッサ104’と104”は、完全なソフトウェアアップデートを集めることができる。 According to another example embodiment, processor 104 of master transport device 102 can be configured to send a first portion of a software update to transport devices of a first subset of transport devices 105 . Processor 104 of master transport device 102 may send a second portion of the software update to a further subset of transport devices 107 . Then, when a first transport device of a subset of transport devices 105 and a second transport device of a further subset of transport devices 107 are in proximity, the processor 104 sends the first portion of the software update to the second transport device 107 . A command can be sent to the first transport device 105 to cause the . The processor 104 can then send a command to the second transport device to cause the first transport device 105 to send the second portion of the software update. As such, processors 104' and 104'' of respective transport devices 105 and 107 are able to collect complete software updates.

更なる例としての実施形態によれば、プロセッサ104’(または104”)は、ソフトウェアアップデートを受信し(例えば、マスタ輸送装置102から)、第1環境においてソフトウェアアップデートの第1有効化を実行するように構成できる。第1環境は、最も少ない量の潜在的相互作用(最少の交通量、歩行者がいない、通常の天候条件など)を含むことができる。そして、プロセッサ104’(または104”)は、第1有効化が成功した場合、更なる環境において、ソフトウェアアップデートの更なる有効化を実行できる。更なる環境は、第1環境よりも多い量の潜在的相互作用を含むことができる(例えば、より多い交通量、歩行者、困難な天候条件など)。 According to a further example embodiment, processor 104' (or 104'') receives a software update (eg, from master transport device 102) and performs a first validation of the software update in a first environment. The first environment may contain the least amount of potential interactions (minimum traffic, no pedestrians, normal weather conditions, etc.) and the processor 104' (or 104'' ) can perform further activations of the software update in further environments if the first activation is successful. Further environments may include a greater amount of potential interactions than the first environment (eg, more traffic, pedestrians, difficult weather conditions, etc.).

図1Bは、ソフトウェアアップデートの管理のためのネットワーク図を例示している。図1Bを参照すると、ネットワーク図111は、ブロックチェーンネットワーク106を介して輸送装置ノード105の他のサブセットに接続されている輸送装置ノード102のサブセットを含んでいる。輸送装置ノード102と105は輸送装置/車両であることができる。ブロックチェーンネットワーク106は、ソフトウェアアップデートのタイムスタンプを含んでいる、ソフトウェアアップデート関連のデータなどのようなデータを格納するための台帳108を有することができる。輸送装置ノード102は、輸送装置ノード(示されていない)の他のサブセットに接続できる。 FIG. 1B illustrates a network diagram for management of software updates. Referring to FIG. 1B, network diagram 111 includes a subset of transport nodes 102 that are connected to other subsets of transport nodes 105 via blockchain network 106 . Vehicle nodes 102 and 105 can be vehicles/vehicles. The blockchain network 106 may have a ledger 108 for storing data such as software update related data, including software update timestamps. Transport node 102 can be connected to other subsets of transport nodes (not shown).

この例は、1つの輸送装置ノード102のみを詳細に記述しているが、複数のそのようなノードをブロックチェーン106に接続できる。ここにおいて開示されている輸送装置ノード102の範囲から逸脱することなく、輸送装置ノード102は追加的な構成要素を含むことができ、ここにおいて記述されている構成要素の幾つかは除去および/または修正できるということは理解されるべきである。輸送装置ノード102は、演算処理装置またはサーバコンピュータなどを有することができ、半導体に基づくマイクロプロセッサであってよいプロセッサ104、中央演算処理装置(CPU)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、および/または他のハードウェア装置を含むことができる。単一のプロセッサ104が示されているが、輸送装置ノード102は、複数のプロセッサ、複数のコアなどを、輸送装置ノード102システムの範囲から逸脱することなく含むことができるということは理解されるべきである。 Although this example describes only one transport node 102 in detail, multiple such nodes can be connected to the blockchain 106 . Without departing from the scope of the transport node 102 disclosed herein, the transport node 102 may include additional components, and some of the components described herein may be omitted and/or It should be understood that modifications can be made. The vehicle node 102 may have a processing unit or server computer, etc., and may have a processor 104, which may be a semiconductor-based microprocessor, a central processing unit (CPU), an application specific integrated circuit (ASIC), field programmable. It may include gate arrays (FPGAs), and/or other hardware devices. Although a single processor 104 is shown, it is understood that the vehicle node 102 may include multiple processors, multiple cores, etc. without departing from the scope of the vehicle node 102 system. should.

輸送装置ノード102はまた、プロセッサ104により実行可能な機械可読命令を格納できる非一時的コンピュータ可読媒体112も含むことができる。機械可読命令の例は、114~118として示されており、下記において更に検討される。非一時的コンピュータ可読媒体112の例としては、実行可能命令を含んでいる、または格納している電子的、磁気的、光学的、または他の物理的格納装置を含むことができる。例えば、非一時的コンピュータ可読媒体112は、ランダムアクセスメモリ(RAM)、電気的消去可能型プログラマブルリードオンリメモリ(EEPROM)、ハードディスク、光ディスク、または他のタイプの格納装置であってよい。 Vehicle node 102 may also include non-transitory computer-readable media 112 that may store machine-readable instructions executable by processor 104 . Examples of machine-readable instructions are shown as 114-118 and are discussed further below. Examples of non-transitory computer-readable media 112 may include electronic, magnetic, optical, or other physical storage devices that contain or store executable instructions. For example, non-transitory computer-readable medium 112 may be random access memory (RAM), electrically erasable programmable read-only memory (EEPROM), hard disk, optical disk, or other type of storage device.

プロセッサ104は、輸送装置104においてソフトウェアアップデートを受信するための機械可読命令114を実行できる。輸送装置102と105のそれぞれは、ブロックチェーン106上のネットワークピア(つまり、ノード)として働くことができる。上記で検討したように、ブロックチェーン台帳108は、ソフトウェアアップデート関連のトランザクションを格納できる。ブロックチェーン106ネットワークは、他の参加輸送装置ノード105に対するトランザクションを管理できる輸送装置(つまりノード)102上に位置している1つ以上のスマートコントラクトを使用するように構成できる。輸送装置ノード102は、台帳108に格納される情報をブロックチェーン106に提供できる。 Processor 104 can execute machine-readable instructions 114 for receiving software updates at transportation device 104 . Each of transport devices 102 and 105 can act as a network peer (ie, node) on blockchain 106 . As discussed above, blockchain ledger 108 can store software update related transactions. A blockchain 106 network can be configured to use one or more smart contracts located on a transport device (or node) 102 that can manage transactions to other participating transport device nodes 105 . Vehicle nodes 102 can provide information to blockchain 106 that is stored in ledger 108 .

プロセッサ104は、ソフトウェアアップデートを有効化するための機械可能命令116を実行できる。ソフトウェアアップデートは、ソフトウェアアップデートが使用されていた時間期間と輸送装置102のサブセットによるソフトウェアアップデートの利用回数に基づいて有効化できる。プロセッサ104は、輸送装置(例えば、105)の更なるサブセットに、有効化に基づいてソフトウェアアップデートを配布するための機械可読命令118を実行できる。輸送装置105の更なるサブセットは、輸送装置102のサブセットよりも大きい。 Processor 104 can execute machine executable instructions 116 to activate the software update. Software updates can be activated based on the period of time the software update has been used and the number of times the software update has been used by a subset of the transportation devices 102 . Processor 104 can execute machine readable instructions 118 for distributing the software update to a further subset of transportation devices (eg, 105) based on activation. A further subset of transport devices 105 is larger than the subset of transport devices 102 .

図1Cは、輸送装置ソフトウェアアップデートの管理のためのネットワーク図を例示している。図1Cを参照すると、ネットワーク図121は、ソフトウェアアップデート関連のトランザクション110を格納するための台帳108を有しているブロックチェーンネットワーク106を介して、他の輸送装置ノード105と107に接続されているマスタ輸送装置ノードとして働く輸送装置ノード102を含んでいる。輸送装置ノード102、105、および107もまた、ブロックチェーン106ピアとして働くことができる。この例は、1つのマスタ輸送装置ノード102のみを詳細に記述しているが、複数のそのようなノードをブロックチェーン106に接続できる。ここにおいて開示されているマスタ輸送装置ノード102の範囲から逸脱することなく、マスタ輸送装置ノード102は追加的な構成要素を含むことができ、ここにおいて記述されている構成要素の幾つかは、除去および/または修正できるということは理解されるべきである。マスタ輸送装置ノード102は、演算処理装置またはサーバコンピュータなどを有することができ、半導体に基づくマイクロプロセッサであってよいプロセッサ104、中央演算処理装置(CPU)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、および/または他のハードウェア装置を含むことができる。単一のプロセッサ104が示されているが、マスタ輸送装置ノード102は、複数のプロセッサ、複数のコアなどを、マスタ輸送装置ノード102システムの範囲から逸脱することなく含むことができるということは理解されるべきである。 FIG. 1C illustrates a network diagram for management of vehicle software updates. Referring to FIG. 1C, network diagram 121 is connected to other transport device nodes 105 and 107 via blockchain network 106 having ledger 108 for storing software update related transactions 110 . It includes a transport node 102 that acts as a master transport node. Vehicle nodes 102, 105, and 107 can also act as blockchain 106 peers. Although this example details only one master transport node 102 , multiple such nodes can be connected to the blockchain 106 . The master transport node 102 may include additional components and some of the components described herein may be omitted without departing from the scope of the master transport node 102 disclosed herein. and/or modified. The master vehicle node 102 may have a processing unit or server computer or the like, and may include a processor 104, which may be a semiconductor-based microprocessor, a central processing unit (CPU), an application specific integrated circuit (ASIC), a field It may include programmable gate arrays (FPGAs), and/or other hardware devices. Although a single processor 104 is shown, it is understood that the master transport node 102 may include multiple processors, multiple cores, etc. without departing from the scope of the master transport node 102 system. It should be.

マスタ輸送装置ノード102はまた、プロセッサ104により実行可能な機械可読命令を格納できる非一時的コンピュータ可読媒体112’も含むことができる。機械可読命令の例は、113~117として示されており、下記において更に検討される。非一時的コンピュータ可読媒体112’の例としては、実行可能命令を含んでいる、または格納している電子的、磁気的、光学的、または他の物理的格納装置を含むことができる。例えば、非一時的コンピュータ可読媒体112’は、ランダムアクセスメモリ(RAM)、電気的消去可能型プログラマブルリードオンリメモリ(EEPROM)、ハードディスク、光ディスク、または他のタイプの格納装置であってよい。 Master transport node 102 may also include non-transitory computer-readable media 112 ′ that may store machine-readable instructions executable by processor 104 . Examples of machine-readable instructions are shown as 113-117 and are discussed further below. Examples of non-transitory computer-readable media 112' may include electronic, magnetic, optical, or other physical storage devices containing or storing executable instructions. For example, non-transitory computer-readable medium 112' may be random access memory (RAM), electrically erasable programmable read-only memory (EEPROM), hard disk, optical disk, or other type of storage device.

プロセッサ104は、ソフトウェアアップデートの第1部分を輸送装置113の第1サブセットの輸送装置に送るための機械可読命令112’を実行できる。ブロックチェーン106は、複数の参加ノード(例えば、105と107)に対するトランザクションを管理する1つ以上のスマートコントラクトを使用するように構成できる。マスタ輸送装置102は、ソフトウェアアップデートに関連する情報をブロックチェーン106に提供でき、このトランザクションは、台帳108に格納できる。 Processor 104 can execute machine readable instructions 112 ′ for sending a first portion of a software update to a first subset of vehicles 113 . Blockchain 106 can be configured to use one or more smart contracts to manage transactions for multiple participating nodes (eg, 105 and 107). Master transport device 102 can provide information related to software updates to blockchain 106 and the transaction can be stored in ledger 108 .

プロセッサ104は、ソフトウェアアップデートの第2部分を輸送装置(例えば、107)の更なるサブセットの輸送装置に送るための機械可読命令115を実行できる。プロセッサ104は、輸送装置105のサブセットの第1輸送装置と、輸送装置107の更なるサブセットの第2輸送装置が近接しているときに、第1輸送装置に、ソフトウェアアップデートの第1部分を第2輸送装置に送らせ、第2輸送装置107に、ソフトウェアアップデートの第2部分を第1輸送装置105に送らせるために、機械可読命令117を実行できる。 Processor 104 can execute machine readable instructions 115 for sending a second portion of the software update to a further subset of the transportation devices (eg, 107). The processor 104 first sends the first portion of the software update to the first transport device when the first transport device of the subset of transport devices 105 and the second transport device of the further subset of the transport devices 107 are in proximity. Machine readable instructions 117 can be executed to cause second transportation device 107 to send the second portion of the software update to first transportation device 105 .

図1Dは、輸送装置ソフトウェアアップデートの管理のためのネットワーク図を例示している。図1Dを参照すると、ネットワーク図130は、ソフトウェア有効化データとトランザクション110を格納するための台帳108を有している、ブロックチェーンネットワーク106を介して他の輸送装置ノード105に接続されている輸送装置ノード102(例えば、車両)を含んでいる。輸送装置ノード102と105もまた、ブロックチェーン106ピアとして働くことができる。この例は、1つの輸送装置ノード102のみを詳細に記述しているが、複数のそのようなノードをブロックチェーン106に接続できる。ここにおいて開示されているマスタ輸送装置ノード102の範囲から逸脱することなく、マスタ輸送装置ノード102は追加的な構成要素を含むことができ、ここにおいて記述されている構成要素の幾つかは除去および/または修正できるということは理解されるべきである。輸送装置ノード102は、演算処理装置またはサーバコンピュータなどを有することができ、半導体に基づくマイクロプロセッサであってよいプロセッサ104、中央演算処理装置(CPU)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、および/または他のハードウェア装置を含むことができる。単一のプロセッサ104が示されているが、輸送装置ノード102は、複数のプロセッサ、複数のコアなどを、輸送装置ノード102の範囲から逸脱することなく含むことができるということは理解されるべきである。 FIG. 1D illustrates a network diagram for management of transport device software updates. Referring to FIG. 1D, a network diagram 130 shows a transport node 105 connected to other transport device nodes 105 via a blockchain network 106 having a ledger 108 for storing software activation data and transactions 110. It includes a device node 102 (eg, vehicle). Vehicle nodes 102 and 105 can also act as blockchain 106 peers. Although this example describes only one transport node 102 in detail, multiple such nodes can be connected to the blockchain 106 . Without departing from the scope of the master transport node 102 disclosed herein, the master transport node 102 may include additional components, and some of the components described herein may be omitted and removed. It should be understood that/or may be modified. The vehicle node 102 may have a processing unit or server computer, etc., and may have a processor 104, which may be a semiconductor-based microprocessor, a central processing unit (CPU), an application specific integrated circuit (ASIC), field programmable. It may include gate arrays (FPGAs), and/or other hardware devices. Although a single processor 104 is shown, it should be understood that the vehicle node 102 may include multiple processors, multiple cores, etc. without departing from the scope of the vehicle node 102. is.

輸送装置ノード102はまた、プロセッサ104により実行可能な機械可読命令を格納できる非一時的コンピュータ可読媒体112”も含むことができる。機械可読命令の例は、132~136として示されており、下記において更に検討される。非一時的コンピュータ可読媒体112”の例としては、実行可能命令を含んでいる、または格納している電子的、磁気的、光学的、または他の物理的格納装置を含むことができる。例えば、非一時的コンピュータ可読媒体112”は、ランダムアクセスメモリ(RAM)、電気的消去可能型プログラマブルリードオンリメモリ(EEPROM)、ハードディスク、光ディスク、または他のタイプの格納装置であってよい。 The vehicle node 102 may also include a non-transitory computer-readable medium 112'' that may store machine-readable instructions executable by the processor 104. Examples of machine-readable instructions are shown as 132-136 and are described below. Examples of non-transitory computer-readable media 112″ include electronic, magnetic, optical, or other physical storage devices that contain or store executable instructions. be able to. For example, the non-transitory computer-readable medium 112″ may be random access memory (RAM), electrically erasable programmable read-only memory (EEPROM), hard disk, optical disk, or other type of storage device.

プロセッサ104は、ソフトウェアアップデートを輸送装置102において受信するための機械可読命令132を実行できる。ブロックチェーン106は、複数の参加輸送装置ノード105に対するトランザクションを管理する1つ以上のスマートコントラクトを使用するように構成できる。輸送装置102は、ソフトウェアアップデートに関連する情報をブロックチェーン106に提供でき、このトランザクションは、台帳108に格納できる。 Processor 104 can execute machine-readable instructions 132 for receiving software updates at transportation device 102 . Blockchain 106 can be configured to use one or more smart contracts to manage transactions for multiple participating transport device nodes 105 . Transportation device 102 can provide information related to software updates to blockchain 106 and the transaction can be stored in ledger 108 .

プロセッサ104は、最も少ない量の潜在的相互作用を含んでいる第1環境において、ソフトウェアアップデートの第1有効化を実行するための機械可読命令134を実行できる。プロセッサ104は、第1有効化が成功した場合、更なる環境においてソフトウェアアップデートの更なる有効化を実行するための機械可読命令136を実行できる。更なる環境は、第1環境よりも多い量の潜在的相互作用を含むことができる。 Processor 104 can execute machine readable instructions 134 for performing a first validation of a software update in a first environment containing the least amount of potential interactions. Processor 104 can execute machine readable instructions 136 to perform further validation of the software update in further environments if the first validation is successful. Further environments may contain a greater amount of potential interactions than the first environment.

図2Aは、例としての実施形態に係るブロックチェーンアーキテクチャ構成200を例示している。図2Aを参照すると、ブロックチェーンアーキテクチャ200はあるブロックチェーン要素、例えば、ブロックチェーンメンバノード202~206のグループを、ブロックチェーングループ210の一部として含むことができる。1つの例としての実施形態においては、許可されたブロックチェーンは、すべての関係者がアクセス可能であるわけではなく、ブロックチェーンデータへの許可されたアクセスを有するメンバのみがアクセス可能である。ブロックチェーンノードは、ブロックチェーンエントリ追加および有効化プロセス(コンセンサス)などのような多数の活動に参加する。ブロックチェーンノードの1つ以上は、エンドースメントポリシーに基づいてエントリをエンドースでき、すべてのブロックチェーンノードに対してオーダリングサービスを提供できる。ブロックチェーンノードは、ブロックチェーン行動(認証などのような)を初期化でき、ブロックチェーンに格納されているブロックチェーン不変台帳への書き込みを求めようとすることができ、台帳のコピーもまた、基盤となる物理インフラストラクチャに格納できる。 FIG. 2A illustrates a blockchain architecture configuration 200 according to an example embodiment. Referring to FIG. 2A, a blockchain architecture 200 can include certain blockchain elements, eg, groups of blockchain member nodes 202 - 206 , as part of blockchain groups 210 . In one example embodiment, an authorized blockchain is not accessible to all parties, but only to members with authorized access to blockchain data. Blockchain nodes participate in numerous activities such as blockchain entry addition and validation processes (consensus). One or more of the blockchain nodes can endorse entries based on the endorsement policy and provide ordering services to all blockchain nodes. Blockchain nodes can initiate blockchain behavior (such as authentication) and attempt to write to the blockchain immutable ledger stored on the blockchain, and a copy of the ledger can also be used by the underlying can be stored in any physical infrastructure.

ブロックチェーントランザクション220は、トランザクションが、メンバのノードにより指示されたコンセンサスモデルにより受信および容認されると、コンピュータのメモリに格納される。容認されたトランザクション226は、ブロックチェーンの現在のブロックに格納され、現在のブロックにおけるトランザクションのデータコンテンツのハッシュを実行し、以前のブロックの以前のハッシュを参照することを含んでいる投入手順を介してブロックチェーンに投入される。ブロックチェーン内には、1つ以上のスマートコントラクト230が存在することができ、それらのスマートコントラクト230は、登録されている受信者、車両の特徴、必要条件、許可、センサ閾値などのような、スマートコントラクト実行可能アプリケーションコード232に含まれているトランザクション合意の条件および行動を定義できる。コードは、要求しているエンティティが車両サービスを受信するように登録されているかどうか、それらのプロファイルステータスを考慮して、何れのサービス特徴を受信する権利が与えられている、および/または、要求されているか、および、後続のイベントにおいてそれらの行動を監視するかどうかを識別するように構成できる。例えば、サービスイベントが起こり、ユーザが車両に乗っているときに、センサデータ監視を誘発でき、車両の充電レベルなどのようなあるパラメータを、特別な時間期間の間、特別な閾値を超えている/それ未満として識別できる。そして、結果は現在のステータスに対する変更であることができ、サービスを識別でき、参考のために格納できるように、管理関係者(例えば、車両の所有者、車両の運転手、サーバなど)に警報が送られることを要求する。収集された車両センサデータは、車両のステータスについての情報を収集するために使用されたセンサデータのタイプに基づくことができる。センサデータはまた、走行する位置、平均速度、最高速度、加速率、何らかの衝突があったかどうか、予期されたルートが取られたか、次の目的地はどこか、安全対策はきちんと用意されているか、車両は十分な充電量/燃料を有しているかどうかなどのような車両イベントデータ234に対する根拠ともなり得る。そのような情報のすべては、スマートコントラクト条件230の根拠となり得、ブロックチェーンに格納される。例えば、スマートコントラクトに格納されているセンサ閾値は、検出されたサービスが必要かどうか、サービスはいつ、どこで実行されるべきかに対する根拠として使用できる。 A blockchain transaction 220 is stored in the computer's memory once the transaction has been received and accepted by the consensus model dictated by the member nodes. Accepted transactions 226 are stored in the current block of the blockchain through an injection procedure that involves performing a hash of the transaction's data content in the current block and referencing the previous hash of the previous block. will be put into the blockchain. Within the blockchain, there can be one or more smart contracts 230, which can be used to set things such as registered recipients, vehicle characteristics, requirements, permissions, sensor thresholds, etc. The terms and actions of transaction agreements contained in smart contract executable application code 232 can be defined. The code determines whether the requesting entity is registered to receive vehicular services, which service features it is entitled to receive, and/or requests, taking into account their profile status. and whether to monitor their behavior in subsequent events. For example, when a service event occurs and the user is in the vehicle, sensor data monitoring can be triggered and certain parameters, such as the vehicle's charge level, exceed a particular threshold for a particular period of time. / can be identified as less than The result can then be a change to the current status, alerting administrative parties (e.g. vehicle owner, vehicle driver, server, etc.) so that the service can be identified and stored for reference. request to be sent. The collected vehicle sensor data can be based on the type of sensor data used to collect information about the status of the vehicle. Sensor data can also tell you where you are driving, average speed, top speed, acceleration rate, whether there have been any collisions, whether the expected route has been taken, where is your next destination, are safety measures in place, It can also be the basis for vehicle event data 234, such as whether the vehicle has sufficient charge/fuel. All such information can underlie smart contract terms 230 and is stored on the blockchain. For example, sensor thresholds stored in smart contracts can be used as the basis for whether a detected service is needed, when and where the service should be performed.

図2Bは、例としての実施形態に係る共有台帳構成を例示している。図2Bを参照すると、ブロックチェーンロジック例250は、演算処理装置および、特別なトランザクションに対する実行プラットフォームにリンクするAPIまたはプラグインアプリケーションとしてのブロックチェーンアプリケーションインタフェース252を含んでいる。ブロックチェーン構成250は、参加者により求められたカスタマイズされた構成に従って作成でき、自身の状態を維持し、自身の資産を制御し、外部情報を受信できる、格納されているプログラム/アプリケーションコード(例えば、スマートコントラクト実行可能コード、スマートコントラクトなど)にアクセスして実行するためのアプリケーションプログラミングインタフェース(API)にリンクされている1つ以上のアプリケーションを含むことができる。これは、エントリとして展開でき、分散型台帳に付け加えることを介して、すべてのブロックチェーンノード上でインストールできる。 FIG. 2B illustrates a shared ledger configuration according to an example embodiment. Referring to FIG. 2B, an example blockchain logic 250 includes a processing unit and a blockchain application interface 252 as an API or plug-in application that links to an execution platform for a particular transaction. Blockchain configuration 250 is a stored program/application code (e.g., , smart contract executable code, smart contracts, etc.) that are linked to application programming interfaces (APIs) for executing. It can be deployed as an entry and installed on all blockchain nodes via appending to the distributed ledger.

スマートコントラクトアプリケーションコード254は、実行されるとトランザクション条項と条件を有効にさせるアプリケーションコードを確立することにより、ブロックチェーンに対する根拠を提供する。スマートコントラクト230は、実行されると、ある容認されたトランザクション226が生成されるようにさせ、そしてトランザクション226は、ブロックチェーンプラットフォーム262に転送される。プラットフォームは、セキュリティ/認可268と、トランザクション管理266を実行する演算処理装置と、トランザクションとスマートコントラクトをブロックチェーンに格納するメモリとしての格納部264を含んでいる。 Smart contract application code 254 provides the rationale for the blockchain by establishing the application code that, when executed, makes the terms and conditions of the transaction valid. Smart contract 230 , when executed, causes an accepted transaction 226 to be generated, and transaction 226 is transferred to blockchain platform 262 . The platform includes security/authorization 268, a computing unit that performs transaction management 266, and storage 264 as memory that stores transactions and smart contracts on the blockchain.

ブロックチェーンプラットフォームは、ブロックチェーンデータ、サービス(例えば、暗号化トラストサービス、仮想実行環境など)の種々の層と、新しいエントリを受信および格納し、データエントリにアクセスしようとするオーディタにアクセスを提供するために使用できる基盤となる物理コンピュータインフラストラクチャを含むことができる。ブロックチェーンは、プログラムコードを処理し、物理インフラストラクチャに従事するために必要な、仮想実行環境へのアクセスを提供するインタフェースを開示できる。暗号化トラストサービスは、資産交換エントリなどのようなエントリを検証し、情報をプライベートに保つために使用できる。 A blockchain platform receives and stores various layers of blockchain data, services (e.g., cryptographic trust services, virtual execution environments, etc.) and new entries, and provides access to auditors wishing to access data entries. It can include the underlying physical computer infrastructure that can be used to Blockchains can expose interfaces that provide access to virtual execution environments needed to process program code and engage physical infrastructure. Cryptographic trust services can be used to validate entries such as asset exchange entries and keep information private.

図2Aと2Bのブロックチェーンアーキテクチャ構成は、ブロックチェーンプラットフォームにより開示されたインタフェースを介して、プログラム/アプリケーションを処理および実行でき、ブロックチェーンプラットフォームにより提供されたサービスを処理および実行できる。非制限的な例として、スマートコントラクトは、リマインダ、更新、および/または、変更、更新などが行われる他の通知を実行するために作成できる。スマートコントラクトはそれ自身を、認可およびアクセス必要条件と関連付けられているルール、および台帳の使用法を識別するために使用できる。例えば、情報は新しいエントリを含むことができ、そのエントリは、ブロックチェーン層に含まれている1つ以上の処理エンティティ(例えば、プロセッサ、仮想マシンなど)により処理できる。結果は、スマートコントラクトにおいて定義されている基準、および/または、ピアのコンセンサスに基づいて、新しいエントリを拒絶または容認するかの決定を含むことができる。物理インフラストラクチャは、ここにおいて記述されているデータまたは情報の何れをも取り出すために利用できる。 The blockchain architecture configuration of Figures 2A and 2B can process and execute programs/applications and process and execute services provided by the blockchain platform through the interfaces exposed by the blockchain platform. As a non-limiting example, smart contracts can be created to implement reminders, updates, and/or other notifications that changes, updates, etc. are made. The smart contract can itself be used to identify the rules associated with authorization and access requirements, and the usage of the ledger. For example, the information can include new entries, which can be processed by one or more processing entities (eg, processors, virtual machines, etc.) included in the blockchain layer. Results may include decisions to reject or accept new entries based on criteria defined in the smart contract and/or consensus of peers. A physical infrastructure can be utilized to retrieve any of the data or information described herein.

スマートコントラクト実行可能コード内で、スマートコントラクトは、高いレベルのアプリケーションとプログラミング言語を介して作成でき、ブロックチェーンにおけるブロックに書き込むことができる。スマートコントラクトは、ブロックチェーン(例えば、ブロックチェーンピアの分散型ネットワーク)で登録、格納、および/または、複製される実行可能コードを含むことができる。エントリはスマートコントラクトコードの実行であり、スマートコントラクトと関連付けられている条件が満たされることに応答して実行できる。スマートコントラクトの実行は、デジタルブロックチェーン台帳の状態に対する信頼性のある修正を誘発できる。スマートコントラクトの実行によるブロックチェーン台帳への修正は、1つ以上のコンセンサスプロトコルを通して、ブロックチェーンピアの分散型ネットワーク全体で自動的に複製できる。 Within the smart contract executable code, smart contracts can be created through high-level applications and programming languages and written to blocks in the blockchain. A smart contract can include executable code that is registered, stored, and/or replicated on a blockchain (eg, a distributed network of blockchain peers). An entry is an execution of smart contract code, which can be executed in response to a condition associated with the smart contract being met. Execution of smart contracts can induce reliable modifications to the state of the digital blockchain ledger. Modifications to the blockchain ledger from the execution of smart contracts can be automatically replicated across a decentralized network of blockchain peers through one or more consensus protocols.

スマートコントラクトは、キーバリューペアのフォーマットでブロックチェーンにデータを書き込むことができる。更に、スマートコントラクトコードはブロックチェーンに格納されている値を読むことができ、その値をアプリケーションの動作において使用できる。スマートコントラクトコードは、種々のロジック動作の出力をブロックチェーンに書き込むことができる。コードは、仮想マシンまたは他の演算処理プラットフォームにおいて一時的データ構造を作成するために使用できる。ブロックチェーンに書き込まれたデータは公開することができ、および/または、暗号化してプライベートなものとして保管できる。スマートコントラクトにより使用/生成される一時的データは、供給された実行環境によりメモリに保持され、ブロックチェーンに対して必要なデータが識別されると削除される。 Smart contracts can write data to the blockchain in the form of key-value pairs. Additionally, the smart contract code can read values stored on the blockchain and use those values in the operation of the application. Smart contract code can write the output of various logic operations to the blockchain. The code can be used to create temporary data structures in a virtual machine or other computing platform. Data written to the blockchain can be made public and/or encrypted and kept private. Temporary data used/generated by the smart contract is held in memory by the supplied execution environment and deleted once the required data is identified for the blockchain.

スマートコントラクト実行可能コードは、追加的特徴を有する、スマートコントラクトのコード解釈を含むことができる。ここにおいて記述されているように、スマートコントラクト実行可能コードは、演算処理ネットワーク上で展開されるプログラムコードであってよく、コンセンサスプロセスの間に、チェーンバリデータにより共に実行および有効化される。スマートコントラクト実行可能コードはハッシュを受信し、ブロックチェーンから、以前に格納された特徴エクストラクタの使用により作成されたデータテンプレートと関連付けられているハッシュを取り出す。ハッシュ識別子のハッシュと、格納されている識別子テンプレートデータから作成されたハッシュが一致すると、スマートコントラクト実行可能コードは、要求されているサービスに認可キーを送る。スマートコントラクト実行可能コードは、暗号化詳細と関連付けられているブロックチェーンデータに書き込むことができる。 The smart contract executable code can include a code interpretation of the smart contract with additional features. As described herein, smart contract executable code may be program code deployed on a computing network, and executed and validated together by chain validators during the consensus process. The smart contract executable code receives the hash and retrieves from the blockchain the hash associated with the data template created using the previously stored feature extractor. If the hash of the hash identifier and the hash created from the stored identifier template data match, the smart contract executable code sends the authorization key to the requested service. Smart contract executable code can be written to blockchain data associated with cryptographic details.

図2Cは、例としての実施形態に係る、ブロックチェーントランザクションデータを格納するためのブロックチェーン構成を例示している。図2Cを参照すると、例としての構成270は、車両272、ユーザ装置274、およびサーバ276を提供し、これらは、分散型台帳(つまり、ブロックチェーン)278と情報を共有している。サーバは、既知および確立されたユーザプロファイルが、確立された格付けプロファイルで車両を借りようと試みている場合において、車両サービスプロバイダにユーザプロファイル格付け情報を共有することを問い合わせているサービスプロバイダエンティティであることができる。サーバ276は、車両のサービス必要条件に関連するデータを受信および処理できる。車両センサデータが、燃料/充電、メンテナンスサービスなどが必要であること示すことなどのようなサービスイベントが起こると、車両サービスイベントを呼び出すために使用できる、ルール、閾値、センサ情報集合体などを呼び出すためにスマートコントラクトを使用できる。ブロックチェーントランザクションデータ280は、アクセスイベント、車両サービスステータスに対する後続のアップデート、イベントアップデートなどのような各トランザクションに対して保存される。トランザクションは、関係者、必要条件(例えば、年齢18才、サービスを受けられる候補、有効な運転免許証など)、補償レベル、イベントの間に走行した距離、イベントにアクセスすることと、車両サービスのホストとなることを許可された登録されている受信者、権利/許可、次のサービスイベントの詳細を記録し、車両の状態ステータスを識別するために、車両イベント動作の間に取り出されたセンサデータ、および、サービスイベントは完了したか、および車両の状態ステータスは変化したかどうかについて決定するために使用される閾値を含むことができる。 FIG. 2C illustrates a blockchain configuration for storing blockchain transaction data, according to an example embodiment. Referring to FIG. 2C, an example configuration 270 provides a vehicle 272 , a user device 274 and a server 276 that share information with a distributed ledger (ie, blockchain) 278 . The server is a service provider entity that asks the vehicle service provider to share user profile rating information if the known and established user profile is attempting to rent a vehicle with the established rating profile. be able to. Server 276 may receive and process data related to vehicle service requirements. When a service event occurs, such as vehicle sensor data indicating that fuel/charging, maintenance service, etc. is required, invoke rules, thresholds, sensor information aggregates, etc. that can be used to invoke vehicle service events. You can use smart contracts for this. Blockchain transaction data 280 is saved for each transaction, such as access events, subsequent updates to vehicle service status, event updates, and the like. Transactions may include parties, requirements (e.g., age 18, eligible for service, valid driver's license, etc.), coverage level, distance traveled during the event, access to the event, and vehicle service. Registered recipients allowed to host, rights/permissions, sensor data captured during vehicle event operations to record details of upcoming service events and to identify vehicle health status , and thresholds used to determine whether the service event has been completed and whether the vehicle's condition status has changed.

図3Aは、例としての実施形態に係るフロー図300を例示している。図3Aを参照すると、例としての方法は、輸送装置ノード102(図1B参照)により実行できる。図3Aにおいて示されている方法300は、方法300の範囲から逸脱することなく、追加的な動作を含むことができ、ここにおいて記述されている動作の幾つかは除去および/または修正できるということは理解されるべきである。方法300の記述もまた、例示としての目的のための図1Bにおいて示されている特徴を参照してなされる。特に、輸送装置ノード102のプロセッサ104は、方法300に含まれている動作の幾つかまたはすべてを実行できる。 FIG. 3A illustrates a flow diagram 300 according to an example embodiment. Referring to FIG. 3A, an example method may be performed by a transport node 102 (see FIG. 1B). 3A may include additional acts, and some of the acts described herein may be removed and/or modified without departing from the scope of method 300. should be understood. The description of method 300 is also made with reference to features shown in FIG. 1B for illustrative purposes. In particular, processor 104 of vehicle node 102 may perform some or all of the operations included in method 300 .

図3Aを参照すると、ブロック302において、プロセッサ104は、輸送装置においてソフトウェアアップデートを受信できる。ブロック304において、プロセッサ104は、ソフトウェアアップデートが使用されていた時間期間と輸送装置のサブセットによるソフトウェアアップデートの利用回数の1つ以上に基づいて、ソフトウェアアップデートを有効化できる。ブロック306において、プロセッサ104は、輸送装置の更なるサブセットに、有効化に基づいてソフトウェアアップデートを配布できる。輸送装置の更なるサブセットは、輸送装置のサブセットよりも大きくてよい。 Referring to FIG. 3A, at block 302 the processor 104 may receive a software update at the transportation device. At block 304, the processor 104 can activate the software update based on one or more of the period of time the software update has been used and the number of times the software update has been used by the subset of transportation devices. At block 306, the processor 104 can distribute the software update to a further subset of vehicles based on the activation. A further subset of transport devices may be larger than the subset of transport devices.

図3Bは、例としての実施形態にかかわる例としての方法のフロー図320を示している。図3Bを参照すると、方法320もまた、下記のステップの1つ以上を含むことができる。ブロック322において、プロセッサ104は、すべての残っている輸送装置のセットにソフトウェアアップデートを配布でき、ここにおいて、すべての残っている輸送装置のセットは、輸送装置の更なるセットよりも大きい。輸送装置のサブセット、輸送装置の更なるサブセット、およびすべての残っている輸送装置のセットは、既存のソフトウェア、既存のハードウェア、地理的位置、環境の温度、輸送装置の型(transport make)、輸送装置のモデル、輸送装置の状態、道路の状態、および輸送装置の目的地の1つ以上に基づいている。 FIG. 3B illustrates a flow diagram 320 of an example method according to an example embodiment. Referring to FIG. 3B, method 320 can also include one or more of the following steps. At block 322, the processor 104 may distribute the software update to all remaining sets of transport devices, where all remaining sets of transport devices are greater than the additional set of transport devices. Subsets of transport devices, further subsets of transport devices, and all remaining sets of transport devices are defined by existing software, existing hardware, geographic location, environmental temperature, transport make, Based on one or more of vehicle model, vehicle condition, road conditions, and vehicle destination.

ブロック324において、プロセッサ104は、有効化に基づいてネガティブな結果が決定されると、輸送装置のサブセット、輸送装置の更なるサブセット、およびすべての残っている輸送装置のセットの1つ以上を変更すること、そして、輸送装置のサブセット、輸送装置の更なるサブセット、およびすべての残っている輸送装置のセットの1つ以上を、ソフトウェアの初期バージョンの1つ以上と、以前のソフトウェアアップデートに戻すことの1つ以上を実行できる。ブロック326において、プロセッサ104は、輸送装置のサブセットによる第1時間量、および輸送装置の更なるサブセットによる、第1時間量よりも少ない第2時間量だけソフトウェアアップデートを使用できる。輸送装置のサブセットは、ブロックチェーンネットワークに属することができる。ブロック328において、プロセッサ104は、ソフトウェアアップデートを有効化して、ソフトウェアアップデートを複数の輸送装置を通して配布するために、ブロックチェーンネットワークのスマートコントラクトを実行できる。 At block 324, the processor 104 modifies one or more of the subset of transport devices, the further subset of transport devices, and all remaining sets of transport devices if a negative result is determined based on the validation. and reverting one or more of the subset of vehicles, further subsets of vehicles, and all remaining sets of vehicles to one or more of the initial versions of the software and prior software updates; can perform one or more of At block 326, the processor 104 may use the software update for a first amount of time by a subset of vehicles and a second amount of time by a further subset of vehicles that is less than the first amount of time. A subset of transport devices can belong to a blockchain network. At block 328, the processor 104 can execute a blockchain network smart contract to activate the software update and distribute the software update across multiple transportation devices.

図3Cは、例としての実施形態に係るフロー図330を例示している。図3Cを参照すると、例としての方法は、マスタ輸送装置ノード102(図1C参照)により実行できる。図3Cにおいて示されている方法300は、方法330の範囲から逸脱することなく、追加的な動作を含むことができ、ここにおいて記述されている動作の幾つかは除去および/または修正できるということは理解されるべきである。方法330の記述もまた、例示としての目的のための図1Cにおいて示されている特徴を参照してなされる。特に、マスタ輸送装置ノード102のプロセッサ104は、方法330に含まれている動作の幾つかまたはすべてを実行できる。 FIG. 3C illustrates a flow diagram 330 according to an example embodiment. Referring to FIG. 3C, an example method may be performed by master transport node 102 (see FIG. 1C). 3C may include additional acts, and some of the acts described herein may be removed and/or modified without departing from the scope of method 330. should be understood. The description of method 330 is also made with reference to the features shown in FIG. 1C for illustrative purposes. In particular, processor 104 of master transport node 102 may perform some or all of the operations included in method 330 .

図3Cを参照すると、ブロック333において、プロセッサ104は、ソフトウェアアップデートの第1部分を、輸送装置の第1サブセットの輸送装置に送ることができる。ブロック335において、プロセッサ104は、ソフトウェアアップデートの第2部分を、輸送装置の更なるサブセットの輸送装置に送ることができる。ブロック337において、プロセッサ104は、輸送装置のサブセットの第1輸送装置と、輸送装置の更なるサブセットの第2輸送装置が近接しているときに、第1輸送装置に、ソフトウェアアップデートの第1部分を第2輸送装置に送らせ、第2輸送装置に、ソフトウェアアップデートの第2部分を第1輸送装置に送らせることができる。 Referring to FIG. 3C, at block 333 the processor 104 may send a first portion of the software update to the transport devices of the first subset of transport devices. At block 335, the processor 104 may send the second portion of the software update to a further subset of the transportation devices. At block 337, the processor 104 instructs the first transport device of the subset of transport devices and the second transport device of the further subset of transport devices to perform the first portion of the software update when the first transport device and the second transport device of the further subset of transport devices are in proximity. is sent to the second transportation device, and the second transportation device can be caused to send the second portion of the software update to the first transportation device.

図3Dは、例としての実施形態に係る例としての方法のフロー図340を示している。図3Dを参照すると、方法340もまた、下記のステップの1つ以上を含むことができる。ブロック342において、プロセッサ104は、輸送装置のサブセットと輸送装置の更なるサブセットへの送信の前に、ソフトウェアアップデートの第1部分と第2部分を決定できる。ブロック344において、プロセッサ104は、輸送装置のサブセットと輸送装置の更なるサブセットが、ソフトウェアアップデートの第1部分と第2部分の1つ以上を受信しておらず、ソフトウェアアップデートの第1部分と第2部分の1つ以上を実行していないときは、マスタ輸送装置を、ある地理的領域にルーティングする(route)ことができる。 FIG. 3D illustrates a flow diagram 340 of an example method according to an example embodiment. Referring to FIG. 3D, method 340 can also include one or more of the following steps. At block 342, the processor 104 can determine the first and second portions of the software update prior to transmission to the subset of transport devices and the further subset of transport devices. At block 344, processor 104 determines that the subset of transportation devices and the further subset of transportation devices have not received one or more of the first and second portions of the software update and the first and second portions of the software update. When not running one or more of the two parts, the master transport can be routed to a geographic area.

ブロック346において、プロセッサ104は、ソフトウェアアップデートの第1部分を受信してからある時間期間が経過したときに、第1輸送装置を第2輸送装置の近傍にルーティングすることができ、ソフトウェアアップデートの第1部分を受信してからある時間期間が経過したときに、第2輸送装置を第1輸送装置の近傍にルーティングすることができる。ブロック348において、プロセッサ104は、ソフトウェアアップデートの第1部分と第2部分をマスタ輸送装置におけるトランシーバにより送信でき、トランシーバにより、第1輸送装置と第2輸送装置の1つ以上において、ソフトウェアアップデートの第1部分と第2部分を受信でき、第1輸送装置と第2輸送装置の1つ以上におけるメモリに、ソフトウェアアップデートの第1部分と第2部分を格納でき、プロセッサにより、第1輸送装置と第2輸送装置上で、第1部分と第2部分を組み合わせることができる。 At block 346, the processor 104 may route the first transportation device in proximity to the second transportation device when a period of time has elapsed since receiving the first portion of the software update, and the first portion of the software update. A second transport device may be routed to the vicinity of the first transport device when a period of time has elapsed since the portion was received. At block 348, the processor 104 can transmit the first portion and the second portion of the software update via a transceiver at the master vehicle, and the transceiver transmits the first portion of the software update at one or more of the first vehicle and the second vehicle. The first portion and the second portion can be received, a memory in one or more of the first transportation device and the second transportation device can store the first portion and the second portion of the software update; The first part and the second part can be combined on two transport devices.

マスタ輸送装置、輸送装置のサブセット、および輸送装置の更なるサブセットはブロックチェーンネットワーク上で接続できるということに留意されたい。ブロック350において、プロセッサ104は、ソフトウェアアップデートの部分を、輸送装置間で交換するためにスマートコントラクトを実行できる。 Note that a master transport device, a subset of transport devices, and further subsets of transport devices can be connected on the blockchain network. At block 350, processor 104 may execute smart contracts to exchange portions of software updates between transportation devices.

図3Eは、例としての実施形態に係るフロー図360を例示している。図3Eを参照すると、例としての方法は、輸送装置ノード102(図1D参照)により実行できる。図3Eにおいて示されている方法360は、方法360の範囲から逸脱することなく、追加的な動作を含むことができ、ここにおいて記述されている動作の幾つかは除去および/または修正できるということは理解されるべきである。方法360の記述もまた、例示としての目的のための図1Dにおいて示されている特徴を参照してなされる。特に、輸送装置ノード102のプロセッサ104は、方法360に含まれている動作の幾つかまたはすべてを実行できる。 FIG. 3E illustrates a flow diagram 360 according to an example embodiment. Referring to FIG. 3E, an example method may be performed by transport node 102 (see FIG. 1D). The method 360 shown in FIG. 3E may include additional acts, and some of the acts described herein may be removed and/or modified without departing from the scope of the method 360. should be understood. The description of method 360 is also made with reference to features shown in FIG. 1D for illustrative purposes. In particular, processor 104 of vehicle node 102 may perform some or all of the operations included in method 360 .

図3Eを参照すると、ブロック362において、プロセッサ104は、輸送装置においてソフトウェアアップデートを受信できる。ブロック364において、プロセッサ104は、第1環境においてソフトウェアアップデートの第1有効化を実行でき、ここにおいて第1環境は、最も少ない量の潜在的相互作用を含んでいる。ブロック366において、プロセッサ104は、第1有効化が成功した場合、更なる環境において、ソフトウェアアップデートの更なる有効化を実行できる。更なる環境は、第1環境よりも多くの量の潜在的相互作用を含むことができる。 Referring to FIG. 3E, at block 362 the processor 104 may receive a software update at the transportation device. At block 364, processor 104 may perform a first validation of the software update in a first environment, where the first environment contains the least amount of potential interactions. At block 366, the processor 104 may perform further validation of the software update in additional environments if the first validation was successful. Further environments may contain a greater amount of potential interactions than the first environment.

図3Fは、例としての実施形態に係る例としての方法のフロー図380を示している。図3Fを参照すると、方法380もまた、下記のステップの1つ以上を含むことができる。ブロック382において、プロセッサ104は、第1有効化と第2有効化の1つ以上が失敗すると、以前のソフトウェアバージョンに戻ることができる。ブロック384において、プロセッサ104は、他の輸送装置から、ソフトウェアアップデートの更なる有効化を受信できる。ブロック386において、プロセッサ104は、更なる環境の解析に基づいて、ソフトウェアアップデートを呼び出すことができる。ブロック388において、プロセッサ104は、複数の輸送装置から、ソフトウェアアップデートの更なる有効化についての確認を受信できる。確認は、輸送装置が属しているブロックチェーン上のコンセンサスを構成できる。ブロック390において、プロセッサ104は、有効化されたソフトウェアアップデートを反映している少なくとも1つのデータブロックをブロックチェーンの台帳に記録するためにスマートコントラクトを実行できる。 FIG. 3F illustrates a flow diagram 380 of an example method according to an example embodiment. Referring to FIG. 3F, method 380 can also include one or more of the following steps. At block 382, processor 104 may revert to the previous software version if one or more of the first and second validations fail. At block 384, the processor 104 may receive further activations of software updates from other transportation devices. At block 386, processor 104 may invoke a software update based on further analysis of the environment. At block 388, the processor 104 may receive confirmation from the plurality of transportation devices of further activation of the software update. Confirmation can constitute a consensus on the blockchain that the transport device belongs to. At block 390, the processor 104 can execute a smart contract to record at least one data block reflecting the activated software update on the blockchain ledger.

図4Aは、例としての実施形態に係る、車両と関連付けられているブロックチェーントランザクションを管理するための例としてのブロックチェーン車両構成400を示している。図4Aを参照すると、特別な輸送装置/車両425は、資産転送トランザクション(例えば、アクセスキー交換、車両サービス、ディーラートランザクション、配達/集荷、輸送サービスなど)のようなトランザクションに従事している。車両425は、スマートコントラクトにより定義されるトランザクションに従って、資産410を受信でき、および/または、資産412を放出/転送できる。トランザクションモジュール420は、関係者、クレジット、サービス明細、日付、時間、位置、結果、通知、予期せぬイベントなどのような情報を記録できる。トランザクションモジュール420におけるそれらのトランザクションはブロックチェーン430に複製でき、リモートサーバおよび/またはリモートブロックチェーンピアにより管理することができ、その中において、車両425は、自身がブロックチェーンメンバおよび/またはブロックチェーンピアであることができる。他の実施形態においては、ブロックチェーン430は車両425上に常駐している。受信および/または転送された資産は、ここにおいて記述されているように、位置とコンセンサスに基づくことができる。 FIG. 4A illustrates an example blockchain vehicle configuration 400 for managing blockchain transactions associated with a vehicle, according to an example embodiment. Referring to FIG. 4A, a particular transportation device/vehicle 425 engages in transactions such as asset transfer transactions (eg, access key exchange, vehicle services, dealer transactions, delivery/pickup, transportation services, etc.). Vehicles 425 can receive assets 410 and/or release/transfer assets 412 according to transactions defined by smart contracts. The transaction module 420 can record information such as parties, credits, service details, dates, times, locations, results, notifications, unexpected events, and the like. Those transactions in transaction module 420 can be replicated to blockchain 430 and managed by remote servers and/or remote blockchain peers, in which vehicle 425 identifies itself as a blockchain member and/or blockchain peer. can be In other embodiments, blockchain 430 resides on vehicle 425 . Assets received and/or transferred can be based on location and consensus as described herein.

図4Bは、例としての実施形態に係る、サービスノード(例えば、ガソリンスタンド、サービスセンタ、車体工場、レンタルセンサ、自動車ディーラ、ローカルサービスショップ、配達/集荷センタなど)と車両との間のブロックチェーントランザクションを管理するための例としてのブロックチェーン車両構成440を示している。この例においては、車両425は、サービスを必要としている、および/または、特別な位置で停止する必要があるので、サービスノード442まで、自身で移動している。サービスノード442はサービス(例えば、ガソリンを入れる)、または、オイル変更、バッテリ充電または取り替え、タイヤ変更または取り替え、および任意の他の輸送装置に関連するサービスなどを、特別な手順で、特別な時間におけるサービスコールに対して車両425を登録できる。提供されたサービス444はスマートコントラクトに基づいて実行でき、この場合のスマートコントラクトは、ブロックチェーン430からダウンロードされ、またはブロックチェーン430を介してアクセスされて、特別な交換率でそのようなサービスを実行することの許可に対して識別される。サービスは、トランザクションモジュール420のトランザクションログにおいて記録でき、クレジット412は、サービスセンタ442に転送され、ブロックチェーンは、最近のサービスに関するすべての情報を表わすためにトランザクションを記録できる。他の実施形態においては、ブロックチェーン430は車両425および/またはサービスセンタサーバ上に常駐している。1つの例においては、輸送装置イベントは燃料補給または他の車両サービスを要求でき、そして乗者人には、そのようなサービスに対する資産バリュー(asset value)の増加に対して責任を負わせることができる。サービスはブロックチェーン通知を介して提供でき、資産バリューを、それぞれの資産バリューを介して乗者人に再分配するために使用される。サービスセンタの行動に対する信頼性は、ここにおいて記述されているような、資産転送に基づくことができる。 FIG. 4B illustrates a blockchain between service nodes (e.g., gas stations, service centers, body shops, rental sensors, car dealers, local service shops, delivery/pickup centers, etc.) and vehicles, according to an example embodiment. An example blockchain vehicle configuration 440 is shown for managing transactions. In this example, vehicle 425 is traveling on its own to service node 442 because it needs service and/or needs to stop at a particular location. The service node 442 may perform services (e.g., fill gas) or services such as oil change, battery charge or replacement, tire change or replacement, and any other transportation related services in a special procedure and at a specific time. Vehicle 425 can be registered for service calls in . Provided services 444 can be performed based on smart contracts, where smart contracts are downloaded from or accessed through blockchain 430 to perform such services at a particular exchange rate. identified for permission to do. The service can be recorded in the transaction log of the transaction module 420, the credit 412 transferred to the service center 442, and the blockchain can record the transaction to represent all information regarding the recent service. In other embodiments, blockchain 430 resides on vehicle 425 and/or service center servers. In one example, a vehicle event can call for refueling or other vehicle service, and the passenger can be held accountable for increased asset value for such service. can. Services can be provided via blockchain notifications and used to redistribute property value to passengers via their respective property values. Confidence in service center behavior can be based on asset transfers as described herein.

図4Cは、例としての実施形態に係る、種々の車両間で実行されたブロックチェーントランザクションを管理するための例としてのブロックチェーン車両構成450を示している。車両425は、車両が、資産を他の車両と共有する必要があるステータスになると、アクセスキーを共有する、キーを転送する、サービスコールを得るなどのような種々の動作を実行するために他の車両408と係ることができる。例えば、車両408はバッテリ充電の必要があり、および/または、タイヤに問題があり、配達のための荷物を集荷する途中であることがあり得る。車両408は、同じネットワーク内の、同じブロックチェーンメンバサービスで動作する他の車両425に通知できる。そして車両425は、荷物の集荷を実行する無線通信要求を介して車両408から、および/または、サーバ(示されていない)から情報を受信できる。トランザクションは、両方の車両のトランザクションモジュール452と420に記録される。資産は車両408から車両425に転送され、資産転送の記録は、ブロックチェーンが互いに異なっていると仮定して、ブロックチェーン430/454に記録され、または、すべてのメンバにより使用される同じブロックチェーンに記録される。転送された資産に対する信頼性は、ここにおいて記述されているように、資産バリュー(例えば、アクセスキー)に基づくことができる。 FIG. 4C illustrates an example blockchain vehicle configuration 450 for managing blockchain transactions conducted between different vehicles, according to an example embodiment. When the vehicle 425 is in a state where it needs to share assets with other vehicles, the vehicle 425 may contact other vehicles to perform various actions such as sharing access keys, transferring keys, getting service calls, etc. of vehicles 408 . For example, vehicle 408 may need a battery charge and/or have tire problems and may be in the process of picking up a package for delivery. A vehicle 408 can notify other vehicles 425 in the same network that operate on the same blockchain member service. Vehicle 425 can then receive information from vehicle 408 and/or from a server (not shown) via wireless communication requests to effectuate package pickup. Transactions are recorded in the transaction modules 452 and 420 of both vehicles. Assets are transferred from vehicle 408 to vehicle 425 and records of asset transfers are recorded on blockchain 430/454, assuming the blockchains are different from each other, or on the same blockchain used by all members. recorded in Trustworthiness for transferred assets can be based on asset value (eg, access keys) as described herein.

図5は、例としての実施形態に係る、分散型台帳に追加できるブロックチェーンブロック500と、ブロック構造502A~502nの内容を例示している。図5を参照すると、クライアント(示されていない)は、ブロックチェーン上での行動を実行に移すために、ブロックチェーンノードにエントリを提出できる。例として、クライアントは、ブロックチェーンに対してエントリを提案する装置、人間、またはエンティティなどのような、要求者の代わりに行動するアプリケーションであってよい。複数のブロックチェーンピア(例えば、ブロックチェーンノード)はブロックチェーンネットワークの状態と、分散型台帳の複製を維持できる。クライアントにより提案されたエントリをシミュレートおよびエンドースするエンドーシングピアと、エンドースメントを検証し、エントリを有効化し、エントリを分散型台帳に投入するコミットピアを含むブロックチェーンネットワークに、異なるタイプのブロックチェーンノード/ピアが存在することができる。この例においては、ブロックチェーンノードは、エンドーサノード、または、コミッタノード、またはその両者の役割を実行できる。 FIG. 5 illustrates a blockchain block 500 that can be added to a distributed ledger and the contents of block structures 502A-502n, according to an example embodiment. Referring to FIG. 5, clients (not shown) can submit entries to blockchain nodes to implement actions on the blockchain. By way of example, a client may be an application acting on behalf of a requestor, such as a device, person, or entity that proposes an entry into the blockchain. Multiple blockchain peers (e.g., blockchain nodes) can maintain the state of the blockchain network and a copy of the distributed ledger. There are different types of blockchains in the blockchain network, including endorsing peers that simulate and endorse entries proposed by clients, and commit peers that validate endorsements, validate entries, and inject entries into the distributed ledger. There can be nodes/peers. In this example, a blockchain node can perform the role of an endorser node, a committer node, or both.

実例としてのシステムは、ブロックにおける不変の、順序付けられた記録と、ブロックチェーンの現在の状態を維持している状態データベース(現在のワールド状態)を格納しているブロックチェーンを含んでいる。1つの分散型台帳が1つのチャネルに対して存在でき、各ピアは、自身がメンバである各チャネルに対する分散型台帳の自身の複製を維持している。実例としてのブロックチェーンはエントリログであり、ハッシュとリンクされたブロックとして構造化されており、各ブロックは、N個のエントリのシーケンスを含んでいる。ブロックは、図5において示されているような種々の構成要素を含むことができる。ブロックのリンク結合は、現在のブロックのブロックヘッダ内の以前のブロックヘッダのハッシュを追加することにより生成できる。このようにして、ブロックチェーン上のすべてのエントリは順序付けられ且つ暗号的にリンクされ、ハッシュリンクを破壊しない限りブロックチェーンデータの改竄を防いでいる。更に、リンクのために、ブロックチェーンにおける最新のブロックは、その前に来たすべてのエントリを表わしている。実例としてのブロックチェーンは、追加のみブロックチェーンワークロードをサポートする、ピアファイルシステム(ローカルまたは取り付けられたストレージ)に格納できる。 An illustrative system includes a blockchain that stores an immutable, ordered record in blocks and a state database (current world state) that maintains the current state of the blockchain. One distributed ledger can exist for one channel, and each peer maintains its own copy of the distributed ledger for each channel of which it is a member. An illustrative blockchain is an entry log, structured as blocks linked with hashes, each block containing a sequence of N entries. A block can include various components as shown in FIG. A link union of blocks can be generated by adding a hash of the previous block header in the block header of the current block. In this way, all entries on the blockchain are ordered and cryptographically linked, preventing tampering with blockchain data unless the hash link is broken. Furthermore, due to the links, the latest block in the blockchain represents all the entries that came before it. Illustrative blockchains can be stored in peer file systems (local or attached storage) that support append-only blockchain workloads.

ブロックチェーンと分散型台帳の現在の状態は、状態データベースに格納できる。ここで、現在の状態データは、ブロックチェーンのチェーンエントリログに今まで含まれていたすべてのキーに対する最新の値を表わしている。スマートコントラクト実行可能コード呼出しは、状態データベースにおける現在の状態に対してエントリを実行する。これらのスマートコントラクト実行可能コード呼出しを非常に効率的にするために、すべてのキーの最新の値が状態データベースに格納される。状態データベースは、ブロックチェーンのエントリログへのインデックス付きビューを含むことができるので、従って、如何なるときでも、状態データベースをチェーンから再生成できる。状態データベースは、ピアが起動したときであって、エントリが容認される前に自動的に回復できる(または、必要であれば、生成できる)。 The current state of the blockchain and distributed ledger can be stored in a state database. Here, the current state data represents the latest values for all keys that were ever contained in the blockchain's chain entry log. A smart contract executable code call executes an entry to the current state in the state database. To make these smart contract executable code calls very efficient, the latest values of all keys are stored in the state database. Since the state database can contain an indexed view into the blockchain's entry log, it can therefore be regenerated from the chain at any time. The state database can be automatically restored (or generated if necessary) when the peer starts up and before entries are accepted.

エンドーシングノードはクライアントからエントリを受信して、シミュレートされた結果に基づいてエントリをエンドースする。エンドーシングノードは、エントリ提案をシミュレートするスマートコントラクトを保持している。エンドーシングノードがエントリをエンドースするとき、エンドーシングノードは、エンドーシングノードからクライアントアプリケーションへの、シミュレートされたエントリのエンドースメントを示す署名付き応答であるエントリエンドースメントを作成する。エントリをエンドースする方法は、スマートコントラクト実行可能コード内で指定できるエンドースメントポリシーに依存している。エンドースメントポリシーの例としては、「エンドーシングピアの大半がエントリをエンドースしなければならない」ということである。異なるチャネルは、異なるエンドースメントポリシーを有することができる。エンドースされたエントリは、クライアントアプリケーションによりオーダリングサービスに転送される。 An endorsing node receives entries from clients and endorses the entries based on simulated results. An endorsing node holds a smart contract that simulates an entry proposal. When an endorsing node endorses an entry, it creates an entry endorsement, which is a signed response from the endorsing node to the client application indicating endorsement of the simulated entry. How an entry is endorsed relies on an endorsement policy that can be specified within the smart contract executable code. An example of an endorsement policy is "the majority of endorsing peers must endorse the entry". Different channels can have different endorsement policies. Endorsed entries are forwarded by the client application to the ordering service.

オーダリングサービスはエンドースされたエントリを容認し、ブロックにおいて順序付けし、ブロックをコミットピアに引き渡す。例えば、オーダリングサービスは、エントリの閾値に到達すると、または、タイマがタイムアウトすると、または他の条件が満たされると新しいブロックを初期化できる。この例においては、ブロックチェーンノードは、ブロックチェーン上への格納のためのデータブロック602Aを受信したコミットピアである。オーダリングサービスはオーダラのクラスタにより構成できる。オーダリングサービスはエントリ、スマートコントラクトを処理せず、また、分散型台帳も維持しない。そうではなく、オーダリングサービスは、エンドースされたエントリを容認でき、それらのエントリがどのような順序で分散型台帳に投入されるかを指定する。ブロックチェーンネットワークのアーキテクチャは、「オーダリング」(例えば、Solo、Kafka、BFTなど)の特定の実現形態がプラグ接続可能な構成要素になるように設計できる。 The ordering service accepts the endorsed entries, orders them in blocks, and delivers the blocks to commit peers. For example, the ordering service may initialize a new block when a threshold of entries is reached, or when a timer times out, or other conditions are met. In this example, the blockchain node is the commit peer that received the data block 602A for storage on the blockchain. An ordering service can consist of a cluster of orderers. The ordering service does not process entries, smart contracts, nor maintain a distributed ledger. Instead, the ordering service can accept endorsed entries and specify in what order they will be injected into the distributed ledger. The architecture of the blockchain network can be designed so that specific implementations of "ordering" (eg Solo, Kafka, BFT, etc.) are pluggable components.

エントリは、一貫性のある順序で分散型台帳に書き込まれる。エントリの順序は、状態データベースへのアップデートがネットワークに投入されるときに、それが有効であることを確実にするために確立される。オーダリングが、暗号パズルを解くことや、マイニング(mining)を通して起こる暗号通貨ブロックチェーンシステム(例えば、ビットコインなど)とは異なり、この例においては、分散型台帳の関係者は、そのネットワークに最も適合するオーダリング機構を選択できる。 Entries are written to the distributed ledger in a consistent order. The order of entries is established to ensure that updates to the state database are valid when they are pushed into the network. Unlike in cryptocurrency blockchain systems (e.g., Bitcoin) where ordering occurs through solving cryptographic puzzles and mining, in this example the participants in the distributed ledger are the most suitable for the network. You can choose which ordering mechanism to use.

図5を参照すると、ブロックチェーンおよび/または分散型台帳に格納されているブロック502A(データブロックとも称される)は、ブロックヘッダ504A~504n、トランザクション特定データ506A~506n、およびブロックメタデータ508A~508nなどのような複数のデータセグメントを含むことができる。ブロック502Aとその内容などのような、種々の示されているブロックとその内容は、例としての目的のみのために過ぎず、例としての実施形態の範囲を制限することは意味していないということは認識されるべきである。幾つかの場合においては、ブロックヘッダ504Aとブロックメタデータ508Aの両者は、エントリデータを格納しているトランザクション特定データ506Aよりも小さくてもよいが、これは必要条件ではない。ブロック502Aは、ブロックデータ510A~510n内に、N(例えば、100、500、1,000、2,000、3,000など)個のエントリのトランザクション情報を格納できる。ブロック502Aはまた、ブロックヘッダ504A内の以前のブロック(例えば、ブロックチェーン上)へのリンクも含むことができる。特に、ブロックヘッダ504Aは、以前のブロックヘッダのハッシュを含むことができる。ブロックヘッダ504Aはまた、固有なブロック番号、現在のブロック502Aのブロックデータ510Aのハッシュなども含むことができる。ブロック502Aのブロック番号は固有であることができ、ゼロから開始して増大/連続順序で割り当てることができる。ブロックチェーンにおける第1ブロックはジェネシスブロックとも称することができ、ブロックチェーン、そのメンバ、そこに格納されているデータなどについての情報を含んでいる。 Referring to FIG. 5, blocks 502A (also referred to as data blocks) stored on a blockchain and/or distributed ledger include block headers 504A-504n, transaction specific data 506A-506n, and block metadata 508A-508A-506N. 508n, etc.). The various illustrated blocks and their contents, such as block 502A and their contents, are for example purposes only and are not meant to limit the scope of the example embodiments. it should be recognized. In some cases, both block header 504A and block metadata 508A may be smaller than transaction specific data 506A containing entry data, but this is not a requirement. Block 502A can store transaction information for N (eg, 100, 500, 1,000, 2,000, 3,000, etc.) entries in block data 510A-510n. Block 502A may also include a link to a previous block (eg, on the blockchain) in block header 504A. In particular, block header 504A can include a hash of previous block headers. Block header 504A may also include a unique block number, a hash of block data 510A for current block 502A, and the like. Block numbers for block 502A can be unique and assigned in increasing/consecutive order starting at zero. The first block in the blockchain can also be referred to as the genesis block and contains information about the blockchain, its members, the data stored in it, and so on.

ブロックデータ510Aは、ブロック内に記録されている各エントリのエントリ情報を格納できる。例えば、エントリデータは、1つ以上のタイプのエントリ、バージョン、タイムスタンプ、分散型台帳のチャネルID、エントリID、エポック、ペイロードの可視性、スマートコントラクト実行可能コード経路(展開tx)、スマートコントラクト実行可能コード名、スマートコントラクト実行可能コードバージョン、入力(スマートコントラクト実行可能コードと機能)、パブリックキーと証明書などのようなクライアント(作成者)アイデンティティ、クライアントの署名、エンドーサのアイデンティティ、エンドーサの署名、提案ハッシュ、スマートコントラクト実行可能コードイベント、応答ステータス、名前空間、読み込みセット(エントリにより読み込まれたキーとバージョンなどのリスト)、書き込みセット(キーと値などのリスト)、開始キー、終了キー、キーのリスト、マークル(Merkle)ツリークエリサマリなどを含むことができる。エントリデータは、N個のエントリのそれぞれに対して格納できる。 The block data 510A can store entry information of each entry recorded in the block. For example, entry data may include one or more types of entries, version, timestamp, distributed ledger channel id, entry id, epoch, payload visibility, smart contract executable code path (deployment tx), smart contract execution Possible code name, smart contract executable code version, input (smart contract executable code and functions), client (creator) identity, client signature, endorser identity, endorser signature, like public key and certificate, etc. Proposal Hash, Smart Contract Executable Code Event, Response Status, Namespace, Read Set (list of keys and versions, etc. read by entries), Write Set (list of keys, values, etc.), Start Key, End Key, Key , a Merkle tree query summary, and the like. Entry data can be stored for each of the N entries.

幾つかの実施形態においては、ブロックデータ510Aはまた、追加的情報を、ブロックチェーンにおけるブロックのハッシュとリンクされたチェーンに追加するトランザクション特定データ506Aも格納できる。従って、データ506Aは、分散型台帳上のブロックの不変ログに格納できる。そのようなデータ506Aを格納することの恩典の幾つかは、ここにおいて開示且つ示されている種々の実施形態において反映されている。ブロックメタデータ508Aは、メタデータの複数のフィールドを格納できる(例えば、バイトアレイとしてなど)。メタデータフィールドは、ブロック作成に関する署名、最新構成ブロックへの参照、ブロック内の有効および無効エントリを識別するエントリフィルタ、ブロックを順序付けしたオーダリングサービスの存続している最新オフセットなどを含むことができる。署名、最新構成ブロック、およびオーダラのメタデータは、オーダリングサービスにより追加できる。一方、ブロックのコミッタ(ブロックチェーンノードなどような)は、エンドースメントポリシー、読取り/書込みセットの検証などに基づいて、有効/無効情報を追加できる。エントリフィルタは、ブロックデータ510Aにおけるエントリの数と等しいサイズのバイトアレイと、エントリが有効/無効であったかを識別する有効化コードを含むことができる。 In some embodiments, block data 510A can also store transaction specific data 506A that adds additional information to the chain linked to the hash of the block in the blockchain. Thus, data 506A can be stored in an immutable log of blocks on the distributed ledger. Some of the benefits of storing such data 506A are reflected in the various embodiments disclosed and illustrated herein. Block metadata 508A can store multiple fields of metadata (eg, as a byte array, etc.). Metadata fields can include a signature for block creation, a reference to the latest configuration block, an entry filter that identifies valid and invalid entries in the block, the last-lived offset of the ordering service that ordered the block, and so on. Signatures, last building blocks, and orderer metadata can be added by the ordering service. On the other hand, block committers (such as blockchain nodes) can add valid/invalid information based on endorsement policy, read/write set validation, etc. The entry filter may include a byte array of size equal to the number of entries in block data 510A and a validation code that identifies whether the entry was valid/invalid.

ブロックチェーンにおける他のブロック502B~502nもまた、ヘッダ、ファイル、および値を有することができる。しかし、第1ブロック502Aとは異なり、他のブロックにおけるヘッダ504A~504nのそれぞれは、直前の先行するブロックのハッシュ値を含んでいる。直前の先行するブロックのハッシュ値は、前のブロックのヘッダの単なるハッシュであってよく、または、前のブロック全体のハッシュ値であってよい。残りのブロックのそれぞれにおいて先行するブロックのハッシュ値を含むことにより、監査可能且つ不変な管理の連鎖(chain-of-custody)(証拠保全とも称される)を確立するために、矢印512により示されているように、ブロック毎に基づいて、N番目のブロックからジェネシスブロック(および関連付けられているオリジナルファイル)に戻る追尾を実行できる。 Other blocks 502B-502n in the blockchain may also have headers, files, and values. However, unlike the first block 502A, each of the headers 504A-504n in the other blocks contains the hash value of the immediately preceding block. The hash value of the immediately preceding block may be just the hash of the previous block's header, or it may be the hash value of the entire previous block. By including the hash value of the preceding block in each of the remaining blocks, the hash value indicated by arrow 512 is established to establish an auditable and immutable chain-of-custody (also referred to as security). As noted, tracking back from the Nth block to the genesis block (and associated original file) can be performed on a block-by-block basis.

上記の実施形態は、ハードウェア、プロセッサにより実行されるコンピュータプログラム、ファームウェア、または上記の組み合わせにおいて実現できる。コンピュータプログラムは、格納媒体などのようなコンピュータ可読媒体に含むことができる。例えば、コンピュータプログラムは、ランダムアクセスメモリ(「RAM」)、フラッシュメモリ、リードオンリメモリ(「ROM」)、消去可能型プログラマブルリードオンリメモリ(「EPROM」)、電気的消去可能型プログラマブルリードオンリメモリ(「EEPROM」)、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスクリードオンリメモリ(「CD-ROM」)、または、この技術において知られている格納媒体の任意の他の形状において常駐できる。 The above embodiments can be implemented in hardware, a computer program executed by a processor, firmware, or a combination of the above. A computer program can be included in a computer readable medium such as a storage medium. For example, a computer program may be stored in random access memory (“RAM”), flash memory, read only memory (“ROM”), erasable programmable read only memory (“EPROM”), electrically erasable programmable read only memory (“EPROM”), ("EEPROM"), registers, hard disk, removable disk, compact disk read only memory ("CD-ROM"), or any other form of storage medium known in the art.

例としての格納媒体は、プロセッサが格納媒体から情報を読み込むことができ、格納媒体に情報を書き込むことができるようにプロセッサに結合できる。代替として、格納媒体はプロセッサに統合できる。プロセッサと格納媒体は、特定用途向け集積回路(「ASIC」)に常駐できる。代替として、プロセッサと格納媒体は、分離構成要素として常駐できる。例えば、図6は、上記の構成要素の何れかであってよい、または、上記の構成要素の何れかに統合できる、例としてのコンピュータシステムアーキテクチャ600を示している。 An exemplary storage medium may be coupled to the processor such that the processor can read information from, and write information to, the storage medium. Alternatively, the storage medium can be integral to the processor. The processor and storage medium can reside in an application specific integrated circuit (“ASIC”). Alternatively, the processor and storage medium can reside as separate components. For example, FIG. 6 illustrates an example computer system architecture 600 that may be or be integrated with any of the components described above.

図6は、ここにおいて記述されている本願の実施形態の使用または機能の範囲に関する如何なる制限も示唆することは意図されていない。とにかく、演算処理ノード600は実現されることができ、および/または、上記の機能の何れをも実行できる。 FIG. 6 is not intended to suggest any limitation as to the scope of use or functionality of the embodiments of the present application described herein. Regardless, the processing node 600 can be implemented and/or can perform any of the functions described above.

演算処理ノード600においては、コンピュータシステム/サーバ602があり、コンピュータシステム/サーバ602は、多数の他の汎用または特殊目的演算処理システム環境または構成で動作する。コンピュータシステム/サーバ602との使用に対して適切であることができる、よく知られている演算処理システム、環境、および/または、構成の例としては、下記に制限されることはないが、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、シッククライアント、手持ち型またはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサに基づくシステム、セットトップボックス、プログラマブルコンシューマ電子機器、ネットワークPC、ミニコンピュータシステム、メインフレームコンピュータシステム、および、上記のシステムまたは装置の何れかを含んでいる分散型クラウド演算処理環境などがある。 Within computing node 600 is computer system/server 602, which operates in numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with computer system/server 602 include, but are not limited to, personal Computer Systems, Server Computer Systems, Thin Clients, Thick Clients, Handheld or Laptop Devices, Multiprocessor Systems, Microprocessor Based Systems, Set Top Boxes, Programmable Consumer Electronics, Network PCs, Mini Computer Systems, Mainframe Computer Systems , and distributed cloud computing environments containing any of the above systems or devices.

コンピュータシステム/サーバ602は、プログラムモジュールなどのような、コンピュータシステムにより実行されるコンピュータシステム実行可能命令の一般的な状況において記述できる。一般的に、プログラムモジュールは、特別なタスクを実行する、または、特別な抽象データタイプを実現する、ルーチン、プログラム、オブジェクト、構成要素、ロジック、データ構造などを含むことができる。コンピュータシステム/サーバ602は、分散型クラウド演算処理環境において実践でき、タスクは、通信ネットワークを通してリンクされているリモート処理装置により実行される。分散型クラウド演算処理環境においては、プログラムモジュールは、メモリ格納装置を含む、ローカルおよびリモートコンピュータシステム格納媒体の両者に位置させることができる。 Computer system/server 602 can be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules can include routines, programs, objects, components, logic, data structures, etc. that perform particular tasks or implement particular abstract data types. Computer system/server 602 may be practiced in a distributed cloud computing environment where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media including memory storage devices.

図6において示されているように、クラウド演算処理ノード600におけるコンピュータシステム/サーバ602は、汎用演算処理装置の形状で示されている。コンピュータシステム/サーバ602の構成要素は、下記に制限されないが、1つ以上のプロセッサまたは処理ユニット604、システムメモリ606、および、システムメモリ606を含む種々のシステム構成要素をプロセッサ604に結合するバスを含むことができる。 As shown in FIG. 6, computer system/server 602 in cloud computing node 600 is shown in the form of a general purpose computing unit. Components of computer system/server 602 include one or more processors or processing units 604 , system memory 606 , and a bus coupling various system components to processor 604 , including but not limited to system memory 606 . can contain.

バスは、多様なバスアーキテクチャの何れかを使用する、メモリバスまたはメモリコントローラ、周辺バス、アクセラレーテッドグラフィックスポート、およびプロセッサまたはローカルバスを含む、幾つかのタイプのバス構造の何れかの1つ以上であり、または田多様なバスアーキテクチャの何れかを使用するローカルバスである。例として、制限ではないが、そのようなアーキテクチャには、業界標準アーキテクチャ(ISA)バス、マクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオエレクトロニクス標準協会(VESA)ローカルバス、および周辺構成要素相互接続(PCI)バスが含まれる。 A bus may be any one of several types of bus structures including memory buses or memory controllers, peripheral buses, accelerated graphics ports, and processor or local buses using any of a variety of bus architectures. or a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) buses, Macro Channel Architecture (MCA) buses, Enhanced ISA (EISA) buses, Video Electronics Standards Association (VESA) local buses, and peripheral A component interconnect (PCI) bus is included.

コンピュータシステム/サーバ602は典型的には、多様なコンピュータシステム可読媒体を含んでいる。そのような媒体は、コンピュータシステム/サーバ602によりアクセス可能な任意の利用可能な媒体であってよく、揮発性および不揮発性媒体とリムーバブルまたは非リムーバブル媒体の両者を含んでいる。1つの実施形態においては、システムメモリ606は、他の図のフロー図を実現する。システムメモリ606は、ランダムアクセスメモリ(RAM)608および/またはキャッシュメモリ610などのような、揮発性メモリの形状のコンピュータシステム可読媒体を含むことができる。コンピュータシステム/サーバ602は更に、他のリムーバブル/非リムーバブル、揮発性/不揮発性コンピュータシステム格納媒体を含むことができる。例としての目的のためのみに、メモリ606は、非リムーバブル、不揮発性磁気媒体(示されておらず、典型的には「ハードドライブ」と呼ばれる)からの読み込み、およびそこへの書き込みのために提供できる。示されていないが、非リムーバブル、不揮発性磁気ディスク(例えば、「フロッピディスク」)からの読み込み、およびそこへの書き込みのための磁気ディスクドライブ、および、CD-ROM、または他の光学式媒体などのような、リムーバブル、不揮発性光ディスクからの読み込み、またはそこへの書き込みのための光ディスクドライブを提供することができる。そのような実例においては、1つ以上のデータ媒体インタフェースによりそれぞれをバスに接続できる。下記に更に示され、記述されるように、メモリ606は、本願の種々の実施形態の機能を実行するように構成されているプログラムモジュールのセット(例えば、少なくとも1つのセット)を有している少なくとも1つのプログラム製品を含むことができる。 Computer system/server 602 typically includes a variety of computer system readable media. Such media can be any available media that can be accessed by computer system/server 602 and includes both volatile and nonvolatile media, removable and non-removable media. In one embodiment, system memory 606 implements the flow diagrams of other figures. The system memory 606 can include computer system readable media in the form of volatile memory such as random access memory (RAM) 608 and/or cache memory 610 . Computer system/server 602 may also include other removable/non-removable, volatile/non-volatile computer system storage media. For purposes of example only, memory 606 can be used to read from and write to non-removable, non-volatile magnetic media (not shown and typically referred to as a "hard drive"). can provide. Although not shown, a magnetic disk drive for reading from and writing to non-removable, non-volatile magnetic disks (e.g., "floppy disks"), CD-ROMs, or other optical media, etc. An optical disc drive can be provided for reading from or writing to removable, non-volatile optical discs, such as. In such an example, one or more data media interfaces may each connect to the bus. As further shown and described below, memory 606 has a set (eg, at least one set) of program modules configured to perform the functions of various embodiments of the present application. It can contain at least one program product.

プログラムモジュールのセット(少なくとも1つのセット)を有しているプログラム/ユーティリティは、例として、そして制限はないが、オペレーティングシステム、1つ以上のアプリケーションプログラム、他のプログラムモジュール、およびプログラムデータと共に、メモリ606に格納できる。オペレーティングシステム、1つ以上のアプリケーションプログラム、他のプログラムモジュール、およびプログラムデータまたはそれらのある組み合わせのそれぞれは、ネットワーキング環境の実現形態を含むことができる。プログラムモジュールは、一般的には、ここにおいて記述されているように、本願の種々の実施形態の機能および/または方法を実行する。 A program/utility having a set (at least one set) of program modules may be, by way of example and without limitation, an operating system, one or more application programs, other program modules, and program data. 606. An operating system, one or more application programs, other program modules, and program data, or some combination thereof, each may comprise an implementation of a networking environment. The program modules generally perform the functions and/or methods of various embodiments of the present application as described herein.

当業者には認識されるように、本願の態様は、システム、方法、またはコンピュータプログラム製品として具現化できる。従って、本願の態様は、全体的なハードウェア実施形態、全体的なソフトウェア実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含んでいる)、または、ここにおいては全体として「回路」、「モジュール」、または「システム」と称することができる、ソフトウェアとハードウェア態様を組み合わせている実施形態の形状を取ることができる。更に、本願の態様は、コンピュータ可読プログラムコードを含んでいる1つ以上のコンピュータ可読媒体において具現化されているコンピュータプログラム製品の形状を取ることができる。 As will be appreciated by those skilled in the art, aspects of the present application can be embodied as a system, method, or computer program product. Accordingly, aspects of the present application may refer to an overall hardware embodiment, an overall software embodiment (including firmware, resident software, microcode, etc.), or collectively as a "circuit" or "module" herein. , or may be referred to as a "system", which may take the form of an embodiment combining software and hardware aspects. Furthermore, aspects of the present application may take the form of a computer program product embodied in one or more computer-readable media containing computer-readable program code.

コンピュータシステム/サーバ602はまた、キーボード、ポインティングデバイス、ディスプレイなどのようなI/Oアダプタ612を介して、ユーザがコンピュータシステム/サーバ602と相互作用することを可能にする1つ以上の装置、および/または、コンピュータシステム/サーバ602が、1つ以上の他の演算処理装置と通信することを可能にする任意の装置(例えば、ネットワークカード、モデムなど)などのような1つ以上の外部装置と通信することもできる。そのような通信は、アダプタ612のI/Oインタフェースを介して実行できる。更に、コンピュータシステム/サーバ602は、ローカルエリアネットワーク(LAN)、一般的なワイドエリアネットワーク(WAN)、および/または、ネットワークアダプタを介して公共ネットワーク(例えば、インターネット)などのような1つ以上のネットワークと通信できる。示されているように、アダプタ612は、バスを介して、コンピュータシステム/サーバ602の他の構成要素と通信する。示されていないが、他のハードウェアおよび/またはソフトウェア構成要素は、コンピュータシステム/サーバ602と連携して使用できるということは理解されるべきである。例としては、下記に制限されないが、マイクロコード、デバイスドライバ、冗長処理ユニット、外部ディスクドライブアレイ、RAIDシステム、テープドライブ、およびデータアーカイバル格納システムなどが含まれる。 Computer system/server 602 also includes one or more devices that allow users to interact with computer system/server 602 via I/O adapters 612, such as keyboards, pointing devices, displays, etc.; /or with one or more external devices, such as any device (e.g., network card, modem, etc.) that enables the computer system/server 602 to communicate with one or more other computing devices. You can also communicate. Such communication may be performed via the I/O interface of adapter 612 . Additionally, the computer system/server 602 may be connected to one or more networks such as a local area network (LAN), a general wide area network (WAN), and/or a public network (eg, the Internet) via a network adapter. Can communicate with the network. As shown, adapter 612 communicates with other components of computer system/server 602 via a bus. Although not shown, it should be understood that other hardware and/or software components may be used in conjunction with computer system/server 602 . Examples include, but are not limited to, microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archival storage systems.

システム、方法、および非一時的コンピュータ可読媒体の少なくとも1つの例としての実施形態が付随する図面において示され、前述の詳細な記述において記述されてきたが、本願は、開示されている実施形態に制限されず、下記の請求項により記述および定義されているような、種々の再配置、修正、および置換が可能であるということは理解されるであろう。例えば、種々の図のシステムの機能は、ここにおいて記述されているモジュールまたは構成要素の1つ以上により実行でき、または、分散型アーキテクチャおいて実行でき、送信機、受信機、またはその両者の対を含むことができる。例えば、個々のモジュールにより実行される機能のすべてまたは一部は、これらのモジュールの1つ以上により実行できる。更に、ここにおいて記述されている機能は、種々の時間において実行でき、モジュールまたは構成要素の内部または外部の種々のイベントと関連して実行できる。また、種々のモジュール間で送られる情報は、データネットワーク、インターネット、ボイスネットワーク、インターネットプロトコルネットワーク、無線装置、有線装置の少なくとも1つを介して、および/または、複数のプロトコルを介して、モジュール間で送ることができる。また、モジュールの何れかにより送られた、または受信されたメッセージは、直接、および/または、他のモジュールの1つ以上を介して送ることができ、または受信できる。 While at least one example embodiment of a system, method, and non-transitory computer-readable medium has been illustrated in the accompanying drawings and described in the foregoing detailed description, the present application relates to the disclosed embodiments. It will be understood that various rearrangements, modifications and substitutions are possible as described and defined by the following claims, without limitation. For example, the functions of the systems in various figures can be performed by one or more of the modules or components described herein, or can be performed in a distributed architecture, with pairs of transmitters, receivers, or both. can include For example, all or part of the functionality performed by individual modules may be performed by one or more of these modules. Further, the functions described herein may execute at various times and in connection with various events internal or external to the module or component. Additionally, information sent between the various modules may be routed between modules over at least one of data networks, the Internet, voice networks, Internet Protocol networks, wireless devices, wired devices, and/or over multiple protocols. can be sent by Also, messages sent or received by any of the modules may be sent or received directly and/or through one or more of the other modules.

当業者は、「システム」は、パーソナルコンピュータ、サーバ、コンソール、携帯情報端末(PDA)、セルフォン、タブレット演算処理装置、スマートフォン、または、任意の他の適切な演算処理装置、または、装置の組み合わせとして具現化できるということは認識するであろう。上記の機能を「システム」により実行されるものとして表わしたのは、本願の範囲を如何なる意味でも制限することは意図されておらず、多数の実施形態の1つの例を提供することが意図されている。実際、ここにおいて開示されている方法、システム、および装置は、演算処理技術と一貫性のある局所型または分散型の形状で実現できる。 Those skilled in the art will understand that a "system" may be a personal computer, server, console, personal digital assistant (PDA), cell phone, tablet computing device, smart phone, or any other suitable computing device or combination of devices. You will recognize that it can be implemented. Representation of the above functions as being performed by a "system" is not intended to limit the scope of this application in any way, but is intended to provide one example of many implementations. ing. Indeed, the methods, systems, and apparatus disclosed herein can be implemented in localized or distributed forms consistent with computing technology.

本明細書において記述されているシステムの特徴の幾つかは、それらの実現独立性を、より特別に強調するためにモジュールとして表わされているということに留意すべきである。例えば、モジュールは、カスタマイズされた超大規模集積(VLSI)回路またはゲートアレイ、ロジックチップなどのような常駐導体、トランジスタ、または他の分離構成要素などを備えているハードウェア回路として実現できる。モジュールはまた、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジックデバイス、グラフィックス処理ユニットなどのようなプログラマブルハードウェア装置においても実現できる。 It should be noted that some of the features of the systems described herein have been represented as modules to more specifically emphasize their implementation independence. For example, a module may be implemented as a hardware circuit comprising customized very large scale integrated (VLSI) circuits or gate arrays, resident conductors such as logic chips, transistors or other discrete components, or the like. A module may also be implemented in programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices, graphics processing units or the like.

モジュールはまた、種々のタイプのプロセッサによる実行のために、ソフトウェアにおいて少なくとも部分的には実現できる。実行可能コードの識別されているユニットは、例えば、オブジェクト、手順、または機能として組織化できるコンピュータ命令の、例えば、1つ以上の物理的またはロジックブロックを含むことができる。それにも拘わらず、識別されたモジュールは、実行のために物理的に共に位置する必要はなく、異なる位置に格納されている別個の命令を備えることができ、モジュールは論理的に結合されると、モジュールを備えることができ、モジュールに対する記述されている目的を達成することができる。更に、モジュールは、例えば、ハードディスクドライブ、フラッシュデバイス、ランダムアクセスメモリ(RAM)、テープ、または、データを格納するために使用される任意の他のそのような媒体であってよく、コンピュータ可読媒体に格納できる。 Modules may also be implemented at least partially in software for execution by various types of processors. An identified unit of executable code can comprise, for example, one or more physical or logic blocks of computer instructions that can be organized as an object, procedure, or function. Nevertheless, the identified modules need not be physically co-located for execution, but can have separate instructions stored in different locations, and the modules can be logically combined. , may comprise the module and achieve the stated objectives for the module. Additionally, a module may be, for example, a hard disk drive, a flash device, a random access memory (RAM), tape, or any other such medium used for storing data on a computer readable medium. can be stored.

実際、実行可能コードのモジュールは、単一の命令、多数の命令、および、異なるプログラム間で、そして、幾つかの記憶装置にわたり、幾つかの異なるコードセグメント上で分散させることさえできる。同様に、動作データは、モジュール内で、ここにおいて識別および例示でき、任意の適切な形状で具現化でき、および、任意の適切なタイプのデータ構造内で組織化できる。動作データは、単一データセットとして収集でき、または、異なる格納装置上を含む異なる位置上で分散でき、少なくとも部分的には、システムまたはネットワーク上の単なる電子信号として存在できる。 In fact, a module of executable code may be distributed in a single instruction, multiple instructions, and even on several different code segments, among different programs and across several memory devices. Similarly, operational data may be identified and illustrated herein within modules, and may be embodied in any suitable form and organized within any suitable type of data structure. The operational data can be collected as a single data set, or distributed over different locations, including on different storage devices, and can exist, at least in part, simply as electronic signals on a system or network.

本願の構成要素は、ここにおいては、図において全体的に記述および例示されているように、広く多様な異なる構成において配置および設計できるということは容易に理解されるであろう。そのため、実施形態の詳細な記述は、主張されている本願の範囲を制限することは意図されておらず、本願の選択された実施形態の単なる代表例である。 It will be readily appreciated that the components herein, as generally described and illustrated in the figures, can be arranged and designed in a wide variety of different configurations. As such, the detailed description of the embodiments is not intended to limit the scope of the claimed application, but is merely representative of selected embodiments of the application.

この技術における通常の技量を有する者は、上記のことは異なる順序のステップで実践でき、および/または、開示されている構成とは異なる構成においてハードウェア要素により実践できるということは容易に理解するであろう。従って、本願はこれらの好適な実施形態に基づいて記述されてきたが、当業者には、ある修正と変形は明白であり、および代替の構成も明白であろう。 Those of ordinary skill in the art will readily appreciate that the above can be practiced in a different order of steps and/or with hardware elements in different configurations than those disclosed. Will. Thus, although the present application has been described with reference to these preferred embodiments, certain modifications and variations, and alternative constructions will be apparent to those skilled in the art.

本願の好適な実施形態が記述されてきたが、記述されている実施形態は、例示の目的のためのみであり、本願の範囲は、等価物およびそれらに対する修正(例えば、プロトコル、ハードウェア装置、ソフトウェアプラットフォームなど)の全範囲を考慮したときに、付随する請求項によりのみ定義されるということは理解されるべきである。 Although preferred embodiments of the present application have been described, the described embodiments are for illustrative purposes only and the scope of the present application covers equivalents and modifications thereto (e.g., protocols, hardware devices, software platform, etc.) is to be defined only by the appended claims.

Claims (10)

システムであって、
輸送装置のサブセットの輸送装置のプロセッサと、
前記プロセッサに通信可能に結合されているメモリと、を備え、前記プロセッサは、
前記輸送装置においてソフトウェアアップデートを受信し、
前記ソフトウェアアップデートを、
前記ソフトウェアアップデートが使用された時間期間と、
前記輸送装置のサブセットによる前記ソフトウェアアップデートの利用回数と、
の1つ以上に基づいて有効化し、
前記有効化に基づいて前記ソフトウェアアップデートを、前記輸送装置のサブセットよりも大きい前記輸送装置の更なるサブセットに配布する、
システム。
a system,
a transport device processor of a subset of transport devices;
a memory communicatively coupled to the processor, the processor comprising:
receiving a software update on the transport device;
the software update,
a period of time during which the software update was used; and
a number of uses of the software update by a subset of the transportation devices; and
enabled based on one or more of
distributing the software update based on the activation to a further subset of the transport devices that is larger than the subset of the transport devices;
system.
前記プロセッサは、前記ソフトウェアアップデートを、前記輸送装置の更なるサブセットよりも大きい、すべての残っている輸送装置のセットに配布する、請求項1に記載のシステム。 2. The system of claim 1, wherein the processor distributes the software update to all remaining sets of vehicles greater than the further subset of the vehicles. 前記輸送装置のサブセット、前記輸送装置の更なるサブセット、および、すべての残っている輸送装置のセットの1つ以上は、
既存のソフトウェア、
既存のハードウェア、
地理的位置、
環境の温度、
輸送装置の型、
輸送装置のモデル、
輸送装置の状態、
道路の状態、および
輸送装置の目的地の1つ以上に基づいている、請求項1に記載のシステム。
one or more of said subset of transport devices, said further subset of transport devices, and all remaining sets of transport devices,
existing software,
existing hardware,
geographical location,
environmental temperature,
transport equipment mold,
model of transport equipment,
the condition of the transport equipment,
3. The system of claim 1, based on one or more of: road conditions; and destination of the vehicle.
前記プロセッサは、前記有効化に基づいて、ネガティブな結果が決定されると、前記輸送装置のサブセット、前記輸送装置の更なるサブセット、および、すべての残っている輸送装置のセットの1つ以上を変更する、請求項1に記載のシステム。 The processor determines, based on the validation, one or more of the subset of transport devices, a further subset of the transport devices, and all remaining sets of transport devices if a negative result is determined. 3. The system of claim 1, wherein the system is modified. 前記プロセッサは、前記有効化に基づいて、ネガティブな結果が決定されると、前記輸送装置のサブセット、前記輸送装置の更なるサブセット、および、すべての残っている輸送装置のセットの1つ以上を、ソフトウェアの初期バージョンの1つ以上、および、以前のソフトウェアアップデートに戻す、請求項1に記載のシステム。 The processor determines, based on the validation, one or more of the subset of transport devices, a further subset of the transport devices, and all remaining sets of transport devices if a negative result is determined. , one or more of an initial version of software, and a previous software update. 前記プロセッサは、前記ソフトウェアアップデートを、
前記輸送装置のサブセットによる第1時間量、および、
前記輸送装置の更なるサブセットよる第2時間量に対して使用し、
前記第1時間量は第2時間量よりも大きい、
請求項1に記載のシステム。
The processor updates the software by:
a first amount of time by a subset of said transport devices; and
for a second amount of time with a further subset of said transport devices;
the first amount of time is greater than the second amount of time;
The system of claim 1.
前記輸送装置のサブセットは、ブロックチェーンネットワークに属している、請求項1に記載のシステム。 2. The system of claim 1, wherein said subset of transport devices belong to a blockchain network. 前記プロセッサは、前記ソフトウェアアップデートを有効化し、前記ソフトウェアアップデートを複数の前記輸送装置を通して配布するために前記ブロックチェーンネットワークのスマートコントラクトを実行する、請求項6に記載のシステム。 7. The system of claim 6, wherein the processor executes a smart contract of the blockchain network to validate the software update and distribute the software update across the plurality of transportation devices. 前記プロセッサは、前記ソフトウェアアップデートの第1有効化を、最も少ない量の潜在的相互作用を含んでいる第1環境において実行し、前記第1有効化が成功した場合、前記ソフトウェアアップデートの更なる有効化を、前記第1環境よりも多くの量の潜在的相互作用を含んでいる更なる環境において実行する、請求項1に記載のシステム。 The processor performs a first validation of the software update in a first environment containing the least amount of potential interactions, and further validates the software update if the first validation is successful. 2. The system of claim 1, wherein the transformation is performed in a further environment containing a greater amount of potential interactions than the first environment. 前記プロセッサは、前記ソフトウェアアップデートの更なる有効化を他の輸送装置から受信する、請求項9に記載のシステム。 10. The system of claim 9, wherein the processor receives further activation of the software update from another transportation device.
JP2022515514A 2019-10-09 2020-10-09 Managing transportation equipment software updates Active JP7376695B2 (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US16/597,786 US11422792B2 (en) 2019-10-09 2019-10-09 Management of transport software updates
US16/597,770 2019-10-09
US16/597,786 2019-10-09
US16/597,796 2019-10-09
US16/597,770 US11169795B2 (en) 2019-10-09 2019-10-09 Management of transport software updates
US16/597,796 US11294662B2 (en) 2019-10-09 2019-10-09 Management of transport software updates
PCT/US2020/055151 WO2021072324A1 (en) 2019-10-09 2020-10-09 Management of transport software updates

Publications (2)

Publication Number Publication Date
JP2022551560A true JP2022551560A (en) 2022-12-12
JP7376695B2 JP7376695B2 (en) 2023-11-08

Family

ID=75437761

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022515514A Active JP7376695B2 (en) 2019-10-09 2020-10-09 Managing transportation equipment software updates

Country Status (4)

Country Link
JP (1) JP7376695B2 (en)
CN (1) CN114341801A (en)
DE (1) DE112020004859T5 (en)
WO (1) WO2021072324A1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0619699A (en) * 1992-07-02 1994-01-28 Toshiba Corp Software release time estimating device and method
JP2004199493A (en) * 2002-12-19 2004-07-15 Komatsu Ltd Rewriting control device of onboard program
WO2011135629A1 (en) * 2010-04-28 2011-11-03 株式会社日立製作所 Distribution management method of software in computer system, and computer system for distribution management of software
US20180260125A1 (en) * 2017-03-10 2018-09-13 Pure Storage, Inc. Synchronously replicating datasets and other managed objects to cloud-based storage systems
WO2019021064A1 (en) * 2017-07-25 2019-01-31 Aurora Labs Ltd Constructing software delta updates for vehicle ecu software and abnormality detection based on toolchain
US20190146778A1 (en) * 2016-09-28 2019-05-16 Mcafee, Llc Device-driven auto-recovery using multiple recovery sources
JP2019101706A (en) * 2017-11-30 2019-06-24 株式会社日立製作所 On-vehicle software distribution system, on-vehicle software distribution server, and on-vehicle software distribution method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10069860B1 (en) * 2017-02-14 2018-09-04 International Business Machines Corporation Protection for computing systems from revoked system updates
EP4131033A1 (en) * 2018-01-25 2023-02-08 Fortress Cyber Security, LLC Secure storage of data and hashes via a distributed ledger system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0619699A (en) * 1992-07-02 1994-01-28 Toshiba Corp Software release time estimating device and method
JP2004199493A (en) * 2002-12-19 2004-07-15 Komatsu Ltd Rewriting control device of onboard program
WO2011135629A1 (en) * 2010-04-28 2011-11-03 株式会社日立製作所 Distribution management method of software in computer system, and computer system for distribution management of software
US20190146778A1 (en) * 2016-09-28 2019-05-16 Mcafee, Llc Device-driven auto-recovery using multiple recovery sources
US20180260125A1 (en) * 2017-03-10 2018-09-13 Pure Storage, Inc. Synchronously replicating datasets and other managed objects to cloud-based storage systems
WO2019021064A1 (en) * 2017-07-25 2019-01-31 Aurora Labs Ltd Constructing software delta updates for vehicle ecu software and abnormality detection based on toolchain
JP2019101706A (en) * 2017-11-30 2019-06-24 株式会社日立製作所 On-vehicle software distribution system, on-vehicle software distribution server, and on-vehicle software distribution method

Also Published As

Publication number Publication date
WO2021072324A1 (en) 2021-04-15
JP7376695B2 (en) 2023-11-08
CN114341801A (en) 2022-04-12
DE112020004859T5 (en) 2022-07-28

Similar Documents

Publication Publication Date Title
US11755314B2 (en) Management of transport software updates
US11868764B2 (en) Management of transport software updates
US11868757B2 (en) Management of transport software updates
JP7434201B2 (en) Wireless notification to the transport device to provide a portion of the energy
US20230290195A1 (en) Tracking of transport data
US20220414591A1 (en) Processing of requests
US11132899B1 (en) Acquiring vacant parking spot
US20210253112A1 (en) Transport boundary expansion
US11217041B2 (en) Tracking of transport data
US11500571B2 (en) Tracking of transport data
US11288762B2 (en) Vacancy processing
US11720120B2 (en) Tracking of transport transfers
US11615381B2 (en) Geo-fence responsibility creation and management
US11488094B2 (en) Tracking of transport transfers
JP7376695B2 (en) Managing transportation equipment software updates
US11801832B2 (en) Transport relocation
JP7511677B2 (en) Energy sharing based on demand
US11531959B2 (en) Processing of requests
US20210253121A1 (en) Unsafe transport operation
US20210255619A1 (en) Transport kill code and consensus
US20210042698A1 (en) Tracking of transport transfers
JP2023532179A (en) Energy sharing based on demand

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220414

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230502

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230815

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230926

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231026

R150 Certificate of patent or registration of utility model

Ref document number: 7376695

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150