JP2022551560A - Manage vehicle software updates - Google Patents
Manage vehicle software updates Download PDFInfo
- 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
Links
- 230000004913 activation Effects 0.000 claims abstract description 19
- 238000010200 validation analysis Methods 0.000 claims description 20
- 230000003993 interaction Effects 0.000 claims description 15
- 230000007613 environmental effect Effects 0.000 claims description 2
- 230000009466 transformation Effects 0.000 claims 1
- 230000003213 activating effect Effects 0.000 abstract description 5
- 230000032258 transport Effects 0.000 description 174
- 238000000034 method Methods 0.000 description 37
- 238000010586 diagram Methods 0.000 description 24
- 238000001994 activation Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 14
- 238000013475 authorization Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000003491 array Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 239000000446 fuel Substances 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
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つの実施形態の下記の詳細な記述は、請求される本願の範囲を制限することは意図されておらず、選択された実施形態の単なる代表例である。 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
他の例としての実施形態によれば、マスタ輸送装置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,
更なる例としての実施形態によれば、プロセッサ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
この例は、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
輸送装置ノード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
プロセッサ104は、輸送装置104においてソフトウェアアップデートを受信するための機械可読命令114を実行できる。輸送装置102と105のそれぞれは、ブロックチェーン106上のネットワークピア(つまり、ノード)として働くことができる。上記で検討したように、ブロックチェーン台帳108は、ソフトウェアアップデート関連のトランザクションを格納できる。ブロックチェーン106ネットワークは、他の参加輸送装置ノード105に対するトランザクションを管理できる輸送装置(つまりノード)102上に位置している1つ以上のスマートコントラクトを使用するように構成できる。輸送装置ノード102は、台帳108に格納される情報をブロックチェーン106に提供できる。
プロセッサ104は、ソフトウェアアップデートを有効化するための機械可能命令116を実行できる。ソフトウェアアップデートは、ソフトウェアアップデートが使用されていた時間期間と輸送装置102のサブセットによるソフトウェアアップデートの利用回数に基づいて有効化できる。プロセッサ104は、輸送装置(例えば、105)の更なるサブセットに、有効化に基づいてソフトウェアアップデートを配布するための機械可読命令118を実行できる。輸送装置105の更なるサブセットは、輸送装置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
マスタ輸送装置ノード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
プロセッサ104は、ソフトウェアアップデートの第1部分を輸送装置113の第1サブセットの輸送装置に送るための機械可読命令112’を実行できる。ブロックチェーン106は、複数の参加ノード(例えば、105と107)に対するトランザクションを管理する1つ以上のスマートコントラクトを使用するように構成できる。マスタ輸送装置102は、ソフトウェアアップデートに関連する情報をブロックチェーン106に提供でき、このトランザクションは、台帳108に格納できる。
プロセッサ104は、ソフトウェアアップデートの第2部分を輸送装置(例えば、107)の更なるサブセットの輸送装置に送るための機械可読命令115を実行できる。プロセッサ104は、輸送装置105のサブセットの第1輸送装置と、輸送装置107の更なるサブセットの第2輸送装置が近接しているときに、第1輸送装置に、ソフトウェアアップデートの第1部分を第2輸送装置に送らせ、第2輸送装置107に、ソフトウェアアップデートの第2部分を第1輸送装置105に送らせるために、機械可読命令117を実行できる。
図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
輸送装置ノード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
プロセッサ104は、ソフトウェアアップデートを輸送装置102において受信するための機械可読命令132を実行できる。ブロックチェーン106は、複数の参加輸送装置ノード105に対するトランザクションを管理する1つ以上のスマートコントラクトを使用するように構成できる。輸送装置102は、ソフトウェアアップデートに関連する情報をブロックチェーン106に提供でき、このトランザクションは、台帳108に格納できる。
プロセッサ104は、最も少ない量の潜在的相互作用を含んでいる第1環境において、ソフトウェアアップデートの第1有効化を実行するための機械可読命令134を実行できる。プロセッサ104は、第1有効化が成功した場合、更なる環境においてソフトウェアアップデートの更なる有効化を実行するための機械可読命令136を実行できる。更なる環境は、第1環境よりも多い量の潜在的相互作用を含むことができる。
図2Aは、例としての実施形態に係るブロックチェーンアーキテクチャ構成200を例示している。図2Aを参照すると、ブロックチェーンアーキテクチャ200はあるブロックチェーン要素、例えば、ブロックチェーンメンバノード202~206のグループを、ブロックチェーングループ210の一部として含むことができる。1つの例としての実施形態においては、許可されたブロックチェーンは、すべての関係者がアクセス可能であるわけではなく、ブロックチェーンデータへの許可されたアクセスを有するメンバのみがアクセス可能である。ブロックチェーンノードは、ブロックチェーンエントリ追加および有効化プロセス(コンセンサス)などのような多数の活動に参加する。ブロックチェーンノードの1つ以上は、エンドースメントポリシーに基づいてエントリをエンドースでき、すべてのブロックチェーンノードに対してオーダリングサービスを提供できる。ブロックチェーンノードは、ブロックチェーン行動(認証などのような)を初期化でき、ブロックチェーンに格納されているブロックチェーン不変台帳への書き込みを求めようとすることができ、台帳のコピーもまた、基盤となる物理インフラストラクチャに格納できる。
FIG. 2A illustrates a
ブロックチェーントランザクション220は、トランザクションが、メンバのノードにより指示されたコンセンサスモデルにより受信および容認されると、コンピュータのメモリに格納される。容認されたトランザクション226は、ブロックチェーンの現在のブロックに格納され、現在のブロックにおけるトランザクションのデータコンテンツのハッシュを実行し、以前のブロックの以前のハッシュを参照することを含んでいる投入手順を介してブロックチェーンに投入される。ブロックチェーン内には、1つ以上のスマートコントラクト230が存在することができ、それらのスマートコントラクト230は、登録されている受信者、車両の特徴、必要条件、許可、センサ閾値などのような、スマートコントラクト実行可能アプリケーションコード232に含まれているトランザクション合意の条件および行動を定義できる。コードは、要求しているエンティティが車両サービスを受信するように登録されているかどうか、それらのプロファイルステータスを考慮して、何れのサービス特徴を受信する権利が与えられている、および/または、要求されているか、および、後続のイベントにおいてそれらの行動を監視するかどうかを識別するように構成できる。例えば、サービスイベントが起こり、ユーザが車両に乗っているときに、センサデータ監視を誘発でき、車両の充電レベルなどのようなあるパラメータを、特別な時間期間の間、特別な閾値を超えている/それ未満として識別できる。そして、結果は現在のステータスに対する変更であることができ、サービスを識別でき、参考のために格納できるように、管理関係者(例えば、車両の所有者、車両の運転手、サーバなど)に警報が送られることを要求する。収集された車両センサデータは、車両のステータスについての情報を収集するために使用されたセンサデータのタイプに基づくことができる。センサデータはまた、走行する位置、平均速度、最高速度、加速率、何らかの衝突があったかどうか、予期されたルートが取られたか、次の目的地はどこか、安全対策はきちんと用意されているか、車両は十分な充電量/燃料を有しているかどうかなどのような車両イベントデータ234に対する根拠ともなり得る。そのような情報のすべては、スマートコントラクト条件230の根拠となり得、ブロックチェーンに格納される。例えば、スマートコントラクトに格納されているセンサ閾値は、検出されたサービスが必要かどうか、サービスはいつ、どこで実行されるべきかに対する根拠として使用できる。
A
図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
スマートコントラクトアプリケーションコード254は、実行されるとトランザクション条項と条件を有効にさせるアプリケーションコードを確立することにより、ブロックチェーンに対する根拠を提供する。スマートコントラクト230は、実行されると、ある容認されたトランザクション226が生成されるようにさせ、そしてトランザクション226は、ブロックチェーンプラットフォーム262に転送される。プラットフォームは、セキュリティ/認可268と、トランザクション管理266を実行する演算処理装置と、トランザクションとスマートコントラクトをブロックチェーンに格納するメモリとしての格納部264を含んでいる。
Smart
ブロックチェーンプラットフォームは、ブロックチェーンデータ、サービス(例えば、暗号化トラストサービス、仮想実行環境など)の種々の層と、新しいエントリを受信および格納し、データエントリにアクセスしようとするオーディタにアクセスを提供するために使用できる基盤となる物理コンピュータインフラストラクチャを含むことができる。ブロックチェーンは、プログラムコードを処理し、物理インフラストラクチャに従事するために必要な、仮想実行環境へのアクセスを提供するインタフェースを開示できる。暗号化トラストサービスは、資産交換エントリなどのようなエントリを検証し、情報をプライベートに保つために使用できる。 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
図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
図3Aを参照すると、ブロック302において、プロセッサ104は、輸送装置においてソフトウェアアップデートを受信できる。ブロック304において、プロセッサ104は、ソフトウェアアップデートが使用されていた時間期間と輸送装置のサブセットによるソフトウェアアップデートの利用回数の1つ以上に基づいて、ソフトウェアアップデートを有効化できる。ブロック306において、プロセッサ104は、輸送装置の更なるサブセットに、有効化に基づいてソフトウェアアップデートを配布できる。輸送装置の更なるサブセットは、輸送装置のサブセットよりも大きくてよい。
Referring to FIG. 3A, at
図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,
ブロック324において、プロセッサ104は、有効化に基づいてネガティブな結果が決定されると、輸送装置のサブセット、輸送装置の更なるサブセット、およびすべての残っている輸送装置のセットの1つ以上を変更すること、そして、輸送装置のサブセット、輸送装置の更なるサブセット、およびすべての残っている輸送装置のセットの1つ以上を、ソフトウェアの初期バージョンの1つ以上と、以前のソフトウェアアップデートに戻すことの1つ以上を実行できる。ブロック326において、プロセッサ104は、輸送装置のサブセットによる第1時間量、および輸送装置の更なるサブセットによる、第1時間量よりも少ない第2時間量だけソフトウェアアップデートを使用できる。輸送装置のサブセットは、ブロックチェーンネットワークに属することができる。ブロック328において、プロセッサ104は、ソフトウェアアップデートを有効化して、ソフトウェアアップデートを複数の輸送装置を通して配布するために、ブロックチェーンネットワークのスマートコントラクトを実行できる。
At block 324, the
図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
図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
図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,
ブロック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
マスタ輸送装置、輸送装置のサブセット、および輸送装置の更なるサブセットはブロックチェーンネットワーク上で接続できるということに留意されたい。ブロック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
図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
図3Eを参照すると、ブロック362において、プロセッサ104は、輸送装置においてソフトウェアアップデートを受信できる。ブロック364において、プロセッサ104は、第1環境においてソフトウェアアップデートの第1有効化を実行でき、ここにおいて第1環境は、最も少ない量の潜在的相互作用を含んでいる。ブロック366において、プロセッサ104は、第1有効化が成功した場合、更なる環境において、ソフトウェアアップデートの更なる有効化を実行できる。更なる環境は、第1環境よりも多くの量の潜在的相互作用を含むことができる。
Referring to FIG. 3E, at
図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,
図4Aは、例としての実施形態に係る、車両と関連付けられているブロックチェーントランザクションを管理するための例としてのブロックチェーン車両構成400を示している。図4Aを参照すると、特別な輸送装置/車両425は、資産転送トランザクション(例えば、アクセスキー交換、車両サービス、ディーラートランザクション、配達/集荷、輸送サービスなど)のようなトランザクションに従事している。車両425は、スマートコントラクトにより定義されるトランザクションに従って、資産410を受信でき、および/または、資産412を放出/転送できる。トランザクションモジュール420は、関係者、クレジット、サービス明細、日付、時間、位置、結果、通知、予期せぬイベントなどのような情報を記録できる。トランザクションモジュール420におけるそれらのトランザクションはブロックチェーン430に複製でき、リモートサーバおよび/またはリモートブロックチェーンピアにより管理することができ、その中において、車両425は、自身がブロックチェーンメンバおよび/またはブロックチェーンピアであることができる。他の実施形態においては、ブロックチェーン430は車両425上に常駐している。受信および/または転送された資産は、ここにおいて記述されているように、位置とコンセンサスに基づくことができる。
FIG. 4A illustrates an example
図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
図4Cは、例としての実施形態に係る、種々の車両間で実行されたブロックチェーントランザクションを管理するための例としてのブロックチェーン車両構成450を示している。車両425は、車両が、資産を他の車両と共有する必要があるステータスになると、アクセスキーを共有する、キーを転送する、サービスコールを得るなどのような種々の動作を実行するために他の車両408と係ることができる。例えば、車両408はバッテリ充電の必要があり、および/または、タイヤに問題があり、配達のための荷物を集荷する途中であることがあり得る。車両408は、同じネットワーク内の、同じブロックチェーンメンバサービスで動作する他の車両425に通知できる。そして車両425は、荷物の集荷を実行する無線通信要求を介して車両408から、および/または、サーバ(示されていない)から情報を受信できる。トランザクションは、両方の車両のトランザクションモジュール452と420に記録される。資産は車両408から車両425に転送され、資産転送の記録は、ブロックチェーンが互いに異なっていると仮定して、ブロックチェーン430/454に記録され、または、すべてのメンバにより使用される同じブロックチェーンに記録される。転送された資産に対する信頼性は、ここにおいて記述されているように、資産バリュー(例えば、アクセスキー)に基づくことができる。
FIG. 4C illustrates an example
図5は、例としての実施形態に係る、分散型台帳に追加できるブロックチェーンブロック500と、ブロック構造502A~502nの内容を例示している。図5を参照すると、クライアント(示されていない)は、ブロックチェーン上での行動を実行に移すために、ブロックチェーンノードにエントリを提出できる。例として、クライアントは、ブロックチェーンに対してエントリを提案する装置、人間、またはエンティティなどのような、要求者の代わりに行動するアプリケーションであってよい。複数のブロックチェーンピア(例えば、ブロックチェーンノード)はブロックチェーンネットワークの状態と、分散型台帳の複製を維持できる。クライアントにより提案されたエントリをシミュレートおよびエンドースするエンドーシングピアと、エンドースメントを検証し、エントリを有効化し、エントリを分散型台帳に投入するコミットピアを含むブロックチェーンネットワークに、異なるタイプのブロックチェーンノード/ピアが存在することができる。この例においては、ブロックチェーンノードは、エンドーサノード、または、コミッタノード、またはその両者の役割を実行できる。
FIG. 5 illustrates a
実例としてのシステムは、ブロックにおける不変の、順序付けられた記録と、ブロックチェーンの現在の状態を維持している状態データベース(現在のワールド状態)を格納しているブロックチェーンを含んでいる。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
ブロックデータ510Aは、ブロック内に記録されている各エントリのエントリ情報を格納できる。例えば、エントリデータは、1つ以上のタイプのエントリ、バージョン、タイムスタンプ、分散型台帳のチャネルID、エントリID、エポック、ペイロードの可視性、スマートコントラクト実行可能コード経路(展開tx)、スマートコントラクト実行可能コード名、スマートコントラクト実行可能コードバージョン、入力(スマートコントラクト実行可能コードと機能)、パブリックキーと証明書などのようなクライアント(作成者)アイデンティティ、クライアントの署名、エンドーサのアイデンティティ、エンドーサの署名、提案ハッシュ、スマートコントラクト実行可能コードイベント、応答ステータス、名前空間、読み込みセット(エントリにより読み込まれたキーとバージョンなどのリスト)、書き込みセット(キーと値などのリスト)、開始キー、終了キー、キーのリスト、マークル(Merkle)ツリークエリサマリなどを含むことができる。エントリデータは、N個のエントリのそれぞれに対して格納できる。
The
幾つかの実施形態においては、ブロックデータ510Aはまた、追加的情報を、ブロックチェーンにおけるブロックのハッシュとリンクされたチェーンに追加するトランザクション特定データ506Aも格納できる。従って、データ506Aは、分散型台帳上のブロックの不変ログに格納できる。そのようなデータ506Aを格納することの恩典の幾つかは、ここにおいて開示且つ示されている種々の実施形態において反映されている。ブロックメタデータ508Aは、メタデータの複数のフィールドを格納できる(例えば、バイトアレイとしてなど)。メタデータフィールドは、ブロック作成に関する署名、最新構成ブロックへの参照、ブロック内の有効および無効エントリを識別するエントリフィルタ、ブロックを順序付けしたオーダリングサービスの存続している最新オフセットなどを含むことができる。署名、最新構成ブロック、およびオーダラのメタデータは、オーダリングサービスにより追加できる。一方、ブロックのコミッタ(ブロックチェーンノードなどような)は、エンドースメントポリシー、読取り/書込みセットの検証などに基づいて、有効/無効情報を追加できる。エントリフィルタは、ブロックデータ510Aにおけるエントリの数と等しいサイズのバイトアレイと、エントリが有効/無効であったかを識別する有効化コードを含むことができる。
In some embodiments,
ブロックチェーンにおける他のブロック502B~502nもまた、ヘッダ、ファイル、および値を有することができる。しかし、第1ブロック502Aとは異なり、他のブロックにおけるヘッダ504A~504nのそれぞれは、直前の先行するブロックのハッシュ値を含んでいる。直前の先行するブロックのハッシュ値は、前のブロックのヘッダの単なるハッシュであってよく、または、前のブロック全体のハッシュ値であってよい。残りのブロックのそれぞれにおいて先行するブロックのハッシュ値を含むことにより、監査可能且つ不変な管理の連鎖(chain-of-custody)(証拠保全とも称される)を確立するために、矢印512により示されているように、ブロック毎に基づいて、N番目のブロックからジェネシスブロック(および関連付けられているオリジナルファイル)に戻る追尾を実行できる。
上記の実施形態は、ハードウェア、プロセッサにより実行されるコンピュータプログラム、ファームウェア、または上記の組み合わせにおいて実現できる。コンピュータプログラムは、格納媒体などのようなコンピュータ可読媒体に含むことができる。例えば、コンピュータプログラムは、ランダムアクセスメモリ(「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
図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
演算処理ノード600においては、コンピュータシステム/サーバ602があり、コンピュータシステム/サーバ602は、多数の他の汎用または特殊目的演算処理システム環境または構成で動作する。コンピュータシステム/サーバ602との使用に対して適切であることができる、よく知られている演算処理システム、環境、および/または、構成の例としては、下記に制限されることはないが、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、シッククライアント、手持ち型またはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサに基づくシステム、セットトップボックス、プログラマブルコンシューマ電子機器、ネットワークPC、ミニコンピュータシステム、メインフレームコンピュータシステム、および、上記のシステムまたは装置の何れかを含んでいる分散型クラウド演算処理環境などがある。
Within computing
コンピュータシステム/サーバ602は、プログラムモジュールなどのような、コンピュータシステムにより実行されるコンピュータシステム実行可能命令の一般的な状況において記述できる。一般的に、プログラムモジュールは、特別なタスクを実行する、または、特別な抽象データタイプを実現する、ルーチン、プログラム、オブジェクト、構成要素、ロジック、データ構造などを含むことができる。コンピュータシステム/サーバ602は、分散型クラウド演算処理環境において実践でき、タスクは、通信ネットワークを通してリンクされているリモート処理装置により実行される。分散型クラウド演算処理環境においては、プログラムモジュールは、メモリ格納装置を含む、ローカルおよびリモートコンピュータシステム格納媒体の両者に位置させることができる。
Computer system/
図6において示されているように、クラウド演算処理ノード600におけるコンピュータシステム/サーバ602は、汎用演算処理装置の形状で示されている。コンピュータシステム/サーバ602の構成要素は、下記に制限されないが、1つ以上のプロセッサまたは処理ユニット604、システムメモリ606、および、システムメモリ606を含む種々のシステム構成要素をプロセッサ604に結合するバスを含むことができる。
As shown in FIG. 6, computer system/
バスは、多様なバスアーキテクチャの何れかを使用する、メモリバスまたはメモリコントローラ、周辺バス、アクセラレーテッドグラフィックスポート、およびプロセッサまたはローカルバスを含む、幾つかのタイプのバス構造の何れかの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/
プログラムモジュールのセット(少なくとも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/
システム、方法、および非一時的コンピュータ可読媒体の少なくとも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つ以上に基づいている、請求項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時間量、および、
前記輸送装置の更なるサブセットよる第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.
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)
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)
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 |
-
2020
- 2020-10-09 WO PCT/US2020/055151 patent/WO2021072324A1/en active Application Filing
- 2020-10-09 JP JP2022515514A patent/JP7376695B2/en active Active
- 2020-10-09 CN CN202080062979.9A patent/CN114341801A/en active Pending
- 2020-10-09 DE DE112020004859.4T patent/DE112020004859T5/en active Pending
Patent Citations (7)
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 |