JP7056429B2 - 履歴管理方法、及び履歴管理装置 - Google Patents

履歴管理方法、及び履歴管理装置 Download PDF

Info

Publication number
JP7056429B2
JP7056429B2 JP2018135289A JP2018135289A JP7056429B2 JP 7056429 B2 JP7056429 B2 JP 7056429B2 JP 2018135289 A JP2018135289 A JP 2018135289A JP 2018135289 A JP2018135289 A JP 2018135289A JP 7056429 B2 JP7056429 B2 JP 7056429B2
Authority
JP
Japan
Prior art keywords
block
vehicle
node
backup
unit
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.)
Active
Application number
JP2018135289A
Other languages
English (en)
Other versions
JP2020013347A (ja
Inventor
大介 梶
要平 大岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2018135289A priority Critical patent/JP7056429B2/ja
Priority to CN201910640304.7A priority patent/CN110740158B/zh
Priority to US16/512,692 priority patent/US11263232B2/en
Publication of JP2020013347A publication Critical patent/JP2020013347A/ja
Application granted granted Critical
Publication of JP7056429B2 publication Critical patent/JP7056429B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • G07C5/085Registering performance data using electronic data carriers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Bioethics (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Traffic Control Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Description

この明細書による開示は、車両の履歴情報を管理する履歴管理の技術に関する。
従来、例えば特許文献1には、ネットワークに接続された多数のノード間での取引履歴を、ブロックチェーンを用いて記録する取引記録システムが記載されている。特許文献1の取引記録システムでは、各ノードの保有データ量を少なくするため、特定ネットワーク内での取引履歴は、特定ネットワークに配置されたノードのみにより共有される。
特開2018-67108号公報
本開示の発明者は、特許文献1のようなブロックチェーンの技術を、車両の履歴情報の保管に用いることを検討した。しかし、特許文献1のシステムでは、特定ネットワーク内での取引履歴を含んだ全てのブロックは、当該特定ネットワーク内の全ノードに複製される。こうした全ノードによる全ブロックの共有に起因して、通信量の増加又は各ノードの保存データ量の増加等が不可避となる。そのため、特許文献1のようなシステムは、車両の履歴情報の保管に適用困難であった。
本開示は、ブロックチェーンの技術を用いて車両の履歴情報を保管するのに適した履歴管理方法及び履歴管理装置の提供を目的とする。
上記目的を達成するため、開示された一つの態様は、コンピュータ(20,100)によって実施され、ブロックチェーン(BC)を用いて車両(V)の履歴情報を管理する履歴管理方法であって、少なくとも一つのプロセッサ(21,61)上において、車両にて収集された履歴情報から、ブロックチェーンに連結されるブロック(BL)を生成し(S10)、生成したブロックのバックアップの保存先を、車両と通信可能なノード(ND)の中から、ブロック単位で設定し(S30)、設定した保存先となるノードへ向けて、ブロックのバックアップを送信する(S70)、というステップを含む履歴管理方法とされる。
また開示された一つの態様は、ブロックチェーン(BC)を用いて車両(V)の履歴情報を管理する履歴管理装置であって、車両にて収集された履歴情報から、ブロックチェーンに連結されるブロック(BL)を生成するブロック生成部(71)と、ブロック生成部にて生成されたブロックのバックアップの保存先を、車両と通信可能なノード(ND)の中から、ブロック単位で設定する保存先設定部(75)と、保存先設定部にて設定された保存先のノードへ向けて、ブロックのバックアップを送信するブロック送信部(77)と、を備える履歴管理装置とされる。
これらの態様では、車両の履歴情報から生成されるブロックのバックアップの保存先が、車両と通信可能なノードの中から、ブロック単位で設定される。そのため、ブロックチェーンの全ブロックが特定ネットワーク内の全ノードに複製される事態は、回避される。以上によれば、ブロックの共有に起因する通信量の増加又は各ノードの保存データ量の増加は、抑制され得る。したがって、ブロックチェーンの技術を用いて車両の履歴情報を保管するのに適した履歴管理方法及び履歴管理装置が実現される。
尚、上記括弧内の参照番号は、後述する実施形態における具体的な構成との対応関係の一例を示すものにすぎず、技術的範囲を何ら制限するものではない。
本開示の一実施形態による車載ユニットを含む履歴保管のためのネットワークであって、履歴管理システムの全体像を示す図である。 複数の車載ユニットによって形成されるP2Pネットワークを模式的に示す図である。 車載ユニットの機能の詳細を示すブロック図である。 サーバの機能の詳細を示すブロック図である。 ブロックチェーンを形成する個々のブロックの内容を詳細に示す図である。 チェーン追加処理のメイン処理の詳細を示すフローチャートである。 ブロック生成処理の詳細を示すフローチャートである。 ブロック承認処理の詳細を示すフローチャートである。 保存先設定処理の詳細を示すフローチャートである。 チェーン復元処理の詳細を示すフローチャートである。 バックアップ復元処理の詳細を示すフローチャートである。 ブロックチェーン及びバックアップブロックを復元する過程を説明するための図である。
図1に示す本開示の一実施形態による履歴管理システム10は、複数の車載ユニット100、及び少なくとも一つ以上のサーバ20等によって構成されている。履歴管理システム10は、ブロックチェーンBC(図5参照)を用いて、車載ユニット100を搭載した複数の車両Vの履歴情報を管理する。各車載ユニット100及び各サーバ20は、相互に通信可能に接続されており、ネットワークNWにおける一つのノードNDとしてそれぞれ機能する。
車載ユニット100は、通信器40と共に車両Vに搭載されている。車載ユニット100は、通信器40を介して、他のノードNDと通信可能である。通信器40は、V2X通信のための複数種類のアンテナを備えた通信モジュールを主体に構成されている。通信器40にて実施されるV2X通信には、V2N通信、V2I(路車間)通信、及びV2V(車車間)通信等が含まれている。V2N通信又はV2I通信にて交信するネットワークNWの範囲は、車載ユニット100から見たネットワーククラウドNWCとなる。
通信器40は、LTE(Long Term Evolution)及び5G等の通信規格に沿ったV2N(Vehicle to cellular Network)通信により、基地局BSとの間で情報を送受信する。通信器40は、V2I(Vehicle to roadside Infrastructure)通信により、道路に設置された路側機RSUとの間で情報を送受信する。通信器40は、V2V(Vehicle to Vehicle)通信により、自車両(V1)周囲の特定範囲(以下、「通信範囲Rc」)に存在する他の車両(V2,V3)の通信器40との間で、直接的に情報を送受信する。
各車載ユニット100は、図2に示すように、通信器40を介した他の車載ユニット100との相互接続により、Peer to Peer(P2P)通信可能なP2Pネットワークを形成する。車載ユニット100は、P2P通信により、各車両V(V1~V5)にて収集された履歴情報を相互に持ち合い、各車両Vの履歴情報を分散保存した状態を構築する。
詳記すると、各車載ユニット100は、搭載された各車両Vにて収集された履歴情報をトランザクションとして扱ったブロックチェーンBCを生成する。ブロックチェーンBCは、車両V毎に生成され、履歴情報を含んだ多数のブロックBLを有している。車載ユニット100には、ブロックBLを保管するための記憶領域として、ブロック保存部69が確保されている。車載ユニット100は、自ら生成した個々のブロックBLを、自らのブロック保存部69に保存すると共に、他の車載ユニット100のブロック保存部69にも保存させる。その結果、各車両Vのブロック保存部69には、少なくとも自車両を含む複数の車両Vにて生成されたブロックBLが保存されている。
ここで、ブロック保存部69に保存される多数のブロックBLのうちで、そのブロック保存部69を有する車両V(自車両)にて収集された履歴情報を含むブロックBLが、「マスタブロックBLm」である。マスタブロックBLmは、自車ブロックであり、時系列に沿った鎖状連結により、ブロックチェーンBCを形成している。一方、マスタブロックBLmを除く他のブロックBLが「バックアップブロックBLc」である。バックアップブロックBLcは、履歴情報の収集元である車両VがマスタブロックBLmとは異なる他車ブロックであり、他の車両Vにて生成されたマスタブロックBLmの複製データである。
図1~図3に示す車載ユニット100は、プロセッサ61、RAM62、メモリ装置63及び入出力インターフェースを有する制御回路を主体に構成された車載コンピュータである。プロセッサ61は、RAM62と結合された演算処理のためのハードウェアであって、種々のプログラムを実行可能である。
メモリ装置63は、不揮発性の記憶媒体を含む構成である。メモリ装置63には、上述のブロック保存部69となる記憶領域が確保されている。加えてメモリ装置63には、プロセッサ61によって実行される種々のプログラムが格納されている。メモリ装置63に格納されたプログラムには、多数の履歴情報をブロックチェーンBC化して分散管理するための管理プログラムPcが少なくとも含まれている。管理プログラムPcは、後述するチェーン追加処理(図6参照)をプロセッサ61に実施させる。プロセッサ61による管理プログラムPcの実行により、情報収集部70、ブロック生成部71、承認依頼部72、承認演算部73、異常判定部74、保存先設定部75、ブロック管理部76及びブロック送信部77等の機能部が車載ユニット100に実装される。
情報収集部70は、車内LANのネットワークバス45に出力された種々の情報を収集可能である。情報収集部70は、車両Vの履歴情報に加えて、ブロック生成の開始のトリガとなる情報を、ネットワークバス45から取得する。履歴情報には、特定時点における車両Vの走行距離、走行用バッテリへの充電記録、及び部品交換の内容記録等が含まれる。これらの履歴情報は、各ブロックBLのトランザクション(図5「TX1~TX3」参照)として用いられる。トリガ情報には、車両電源の切り替え情報、充電開始を示す情報、車両Vの位置情報、部品交換の実施を示す情報等が含まれる。
ブロック生成部71は、情報収集部70によって収集された履歴情報から、自車両ViのブロックチェーンBCに連結される最新のブロックBL(マスタブロックBLm)を生成する。ブロック生成部71は、過去(n-1番目まで)のブロックBLのいずれにも含まれていない履歴情報を、新規に生成する(n番目の)ブロックBLに記録していく。
ブロック生成部71は、複数の開始条件の成立に基づき、ブロックBLの生成を開始する。開始条件には、前回のブロックBLの生成から一定の時間が経過した、車両電源及びエンジン(イグニッション)がオン状態及びオフ状態に切り替えられた、充電が開始された、ディーラ等の特定地点に移動した、並びに部品交換を実施した等が含まれる。
ブロック生成部71は、ブロックBL(マスタブロックBLm)を生成したノードND(車載ユニット100)を示すノード識別情報IDn(図5「ID_NODE」参照)を、マスタブロックBLmに記録する。ノード識別情報IDnは、ブロックBLに保存された履歴情報の収集元となる車両Vを示す車両識別情報としても機能する。尚、図2及び図3等では、同一の背景意匠(白抜きも含む)とされたブロックBLが、同一のノード識別情報IDnを有するブロックBLである。
加えてブロック生成部71は、新たなマスタブロックBLmを生成するとき、ブロック特定情報InB(図5「Info_BUP」参照)を、マスタブロックBLmに記録する。ブロック特定情報InBは、マスタブロックBLmが生成された時点において、ブロック保存部69に保存されていたバックアップブロックBLcを特定可能にする情報である。ブロック特定情報InBには、各バックアップブロックBLcのノード識別情報IDnと、各ブロックチェーンBCにおいて何番目に連結されたブロックBLであるかを示す情報(図5「B/H」参照)とが、互いに紐付けられた状態でリスト状に記録されている。尚、ブロックチェーンBCにおける何番目のブロックBLであるかを示す情報を、以下、「ブロックハイト」という。また、ブロックチェーンの復元時にブロックハイトに替えて使用可能な情報として、ブロックBL間の前後の関係を示す情報が、各ブロックBLに保持されていてもよい。
承認依頼部72は、後述するブロック承認処理(図8参照)により、新たに生成されたブロックBL(マスタブロックBLm)の承認を、自車両Viと通信可能な状態にある複数の他ノードNDに依頼する。承認の依頼先となるノード(以下、「承認ノードND2」)は、主に他車両Vaに搭載された車載ユニット100である。承認依頼部72によって承認を依頼される承認ノードND2の数Nは、奇数とされ、より望ましくは三以上のとされる。
承認依頼部72は、承認ノード数N以上の他車両VaがV2V通信の通信範囲Rcにいる場合、通信範囲Rc内にある各他車両Vaの車載ユニット100に、V2V通信によってブロックBLの承認を依頼する。一方で、承認ノード数N未満の他車両VaしかV2V通信の通信範囲Rcにいない場合、通信範囲Rc外にある他車両Vaの車載ユニット100に、V2N通信又はV2I通信により、ネットワーククラウドNWCを通じてブロックBLの承認を依頼する。
承認演算部73は、他の車載ユニット100(他ノードND)の承認依頼部72から受信した承認依頼に基づき、他ノードNDにて生成されたブロックBLの正当性を検証する。承認演算部73の演算により、自ノードNDは、承認ノードND2として機能する。承認演算部73は、正当性の検証に必要な情報を他ノードNDから受信し、他ノードNDにて新規に生成されたマスタブロックBLmの内容が正しいか否かを検証する。承認演算部73は、検証結果に基づく承認可否の回答を、承認者である自ノードNDを示す固有のハッシュ値(図5「Aut_A~C」参照)と共に、承認の依頼元である他ノードNDへ向けて送信する。
異常判定部74は、他ノードNDの承認演算部73から返信された承認可否の結果に基づき、新しいマスタブロックBLmをブロックチェーンBCに連結するか否かを決定する。具体的には、承認ノード数Nのうちの過半数(N=3の場合、三分の二以上)から、連結を肯定する内容の返信を受け取っている場合、異常判定部74は、新しいマスタブロックBLmのブロックチェーンBCへの連結を決定する。一方で、連結を肯定する内容の返信が承認ノード数Nの過半数未満(N=3の場合、三分の二未満)である場合、異常判定部74は、新しいマスタブロックBLmの連結を回避すると共に、ブロック保存部69に保存されているデータに異常があると判定する。尚、連結の可否の決定は、過半数を超えるか否かに限定されない。具体的には、承認ノード数Nに対応した閾値が設定され、当該閾値に基づき、連結の可否が決定されてもよい。
保存先設定部75は、後述する保存先設定処理(図9参照)により、ブロックチェーンBCへの連結を許可された新規のマスタブロックBLmのバックアップの保存先を、ブロック単位で設定する。保存先設定部75は、一般的なブロックチェーン技術のように、ネットワーク上の全ノードにブロックのバックアップを送信させるのではなく、ごく一部且つ複数の他ノードNDへ向けて、限定的にバックアップを送信させる。
保存先設定部75は、新規にブロックBLを生成するタイミングで、新規のマスタブロックBLmの複製であるバックアップブロックBLcについて、その保存先を、自車両Viと通信可能な状態にある他ノードNDの中から選択する。こうしたブロック単位での保存先の設定によれば、ブロックBLを共有するノードNDは、ブロックBL毎に異なってくる。そして、バックアップブロックBLcの保存先となるバックアップノードの数Kは、承認ノード数Nよりも少ない数に設定される。
保存先設定部75は、通信可能な状態にある他ノードNDに保存先としての優先順位を付与し、優先順位の高い他ノードNDから順に、バックアップブロックBLcの保存の可否を問い合わせる。保存先設定部75は、複数の承認ノードND2の中から、バックアップブロックBLcを共有する保存先を選択する。加えて保存先設定部75は、ブロック追加の承認を後で実施した承認ノードND2ほど、高い優先順位を付与する。また保存先設定部75は、ブロック保存部69の記憶容量の残量が少ない他ノードNDよりも、当該残量の多い他ノードNDを、バックアップブロックBLcの保存先として優先的に選択する。
さらに保存先設定部75は、バックアップブロックBLcの保存先となる他ノードNDを選択するルールを、ブロック生成の開始条件に応じて変更する。一例として、車両電源のオフ状態への切り替えが開始条件であった場合、保存先設定部75は、自車両Viの近傍にて停車状態にある他車両Vaの車載ユニット100を、保存先として優先的に選択する。また別の一例として、充電開始が開始条件であった場合、保存先設定部75は、自車両Viの近傍にて充電状態にある他車両Vaの車載ユニット100を、保存先として優先的に選択する。さらに別の一例として、部品交換の実施が開始条件であった場合、保存先設定部75は、部品交換を行うディーラ等のサーバ20を、保存先のノードNDとして優先的に選択できる。
ブロック管理部76は、ブロック保存部69へのブロックBLの保存を管理する。ブロック管理部76は、新しいマスタブロックBLmの連結が承認された場合に、当該マスタブロックBLmを、バックアップブロックBLcと共にブロック保存部69に保存する。加えてブロック管理部76は、他ノードNDからバックアップブロックBLcを受信した場合、当該バックアップブロックBLcを、マスタブロックBLmと共にブロック保存部69に保存する。
ブロック管理部76は、マスタブロックBLmの保存領域がブロック保存部69に常に確保されるよう、バックアップブロックBLcの受信を制御する。ブロック管理部76は、ブロック保存部69にバックアップブロックBLcを保存可能な他車両Vaの数に、上限を設定している。加えてブロック管理部76は、ブロック保存部69に保存可能な一台の他車両VaあたりのバックアップブロックBLcの数にも、上限を設定している。これらの上限を超える場合、ブロック管理部76は、他ノードNDからのバックアップブロックBLcの受け取りを拒否する。その結果、バックアップブロックBLcは、多くの車載ユニット100に分散された状態で、ネットワークNWに保存される。
ブロック送信部77は、他ノードNDへ向けたブロックBLの送信を制御する。ブロック送信部77は、新たに生成されたマスタブロックBLmが承認された場合に、保存先設定部75にて設定された保存先となるノードNDへ向けて、バックアップブロックBLcを送信する。ブロック送信部77は、保存先となる他ノードNDがV2V通信の通信範囲Rc内にいる場合、V2V通信によりバックアップブロックBLcを保存先の他ノードNDへ向けて送信する。一方、保存先となる他ノードNDが通信範囲Rcの外にいる場合、ブロック送信部77は、V2N通信又はV2I通信により、ネットワーククラウドNWCを通じて、バックアップブロックBLcを保存先の他ノードNDへ向けて送信する。
加えてブロック送信部77は、後述する復元要求及び提供要求を、ネットワーククラウドNWCから取得する。復元要求及び提供要求には、要求元にて必要とされているブロックBLのノード識別情報IDn(図5参照)等が付属している。ブロック送信部77は、ブロック保存部69に保存されているブロックBLの中から、取得したノード識別情報IDn等に該当するブロックBL、即ち、復元要求及び提供要求にて送信を要求されているブロックBLを探索する。要求にあるブロックBLがブロック保存部69に保管されている場合、ブロック送信部77は、該当するブロックBLを、要求元のノードND(サーバ20等)へ向けて送信する。
図4,図1及び図3に示すサーバ20は、各車両Vの修繕等を行うディーラ等に設置されたコンピュータである。一つのサーバ20の演算処理能力は、一つの車載ユニット100の演算処理能力よりも高い。サーバ20は、ネットワークNWを構成する回線に実質的に常時接続されている。
ここで、履歴管理システム10において、各車載ユニット100にて生成したブロックBLを互いに持ち合うまでの処理は、実質全て、エッジ側となる各車両Vの各車載ユニット100にて実施される。そのためサーバ20は、ブロックBLを分散保存させる通常の処理に実質的に関与しないノードNDとなる。サーバ20は、各車載ユニット100間でのP2P通信の欠点を補完するノードNDとして機能し、各車載ユニット100にて生じた異常に対処する。サーバ20は、各車載ユニット100に記憶された管理プログラムPcをチェックする機能と、異常と判定されたブロックBL群を復元する機能とを備えている。
サーバ20は、プロセッサ21、RAM22、メモリ装置23及び入出力インターフェースを有する制御回路を主体に構成されている。プロセッサ21は、RAM22と結合された演算処理のためのハードウェアであって、種々のプログラムを実行可能である。メモリ装置23は、不揮発性の記憶媒体を含む構成であって、プロセッサ21によって実行される種々のプログラムを格納している。メモリ装置23に格納されたプログラムには、履歴管理システム10を保全する保全プログラムが少なくとも含まれている。保全プログラムは、後述する各復元処理(図10及び図11参照)をプロセッサ21に実施させる。プロセッサ21による保全プログラムの実行により、プログラム確認部31、復元要求部32及びデータ復元部33等の機能部がサーバ20に実装される。
プログラム確認部31は、各車載ユニット100からの問い合わせに応じて、各車載ユニット100の管理プログラムPcが最新のバージョンであるか否かを確認する。プログラム確認部31は、問い合わせ元となる車載ユニット100へ向けて、確認結果を送信する。加えてプログラム確認部31は、旧バージョンの管理プログラムPcを使用している車載ユニット100へ向けて、最新バージョンの管理プログラムPcを送信する。
復元要求部32は、ネットワークNWへの接続状態にある各ノードND、主に車載ユニット100へ向けて、ブロックBLの提供を呼びかける要求をブロードキャスト配信する。ここで、ブロック保存部69のデータに異常の虞がある車両Vを、特定車両Vrとする。特定車両Vrは、ユーザによってディーラ等に持ち込まれる。復元要求では、特定車両VrのマスタブロックBLmのバックアップを保管している車両V(車載ユニット100)に対し、そのバックアップブロックBLcの送信が要求される。復元要求部32は、特定車両Vrに搭載された車載ユニット100のノード識別情報IDn(図5参照)を、復元要求と共に各ノードNDへ向けて配信する。
復元要求部32は、復元要求の送信後、さらに提供要求をネットワークNWにブロードキャスト配信する。提供要求では、特定車両Vrのブロック保存部69にバックアップされていたバックアップブロックBLcの送信が要求される。復元要求部32は、ノード識別情報IDn(図5参照)にブロックハイトを組み合わせたデータを、提供要求と共に配信する。こうしたデータの配信により、復元要求部32は、どのノードNDにて生成された何番目のブロックBLの送信が必要とされているのかを、各ノードNDに通知する。
データ復元部33は、復元要求に応じて各ノードNDから送信されたバックアップブロックBLcを受信する。データ復元部33は、収集したバックアップブロックBLcをマスタブロックBLmとし、ブロックハイトの情報に基づき時系列で連結させて、特定車両VrのブロックチェーンBCを復元する。データ復元部33は、提供要求に応じて各ノードNDから送信されたブロックBLを受信し、バックアップブロックBLcとして復元する。こうしてデータ復元部33により復元されたブロックチェーンBC及び各バックアップブロックBLcの復元データは、特定車両Vrのブロック保存部69に複製される。
次に、各車載ユニット100にて生成される各ブロックBL及びブロックチェーンBCの詳細を、図5に基づき、図3を参照しつつ、さらに説明する。
各ブロックBLは、ブロックハイト、ノード識別情報IDn及びブロック特定情報InBに加えて、トランザクションとしての履歴情報、承認者情報、及びブロックヘッダを含むデータ構造である。トランザクション(TX1~TX3)は、情報収集部70によって収集され、一つのブロックBLに少なくとも一つ以上含まれている。一つのブロックBLに含まれるトランザクションの数は、適宜変更されてよい。各トランザクションは、当該トランザクションの発生時を示すタイムスタンプ(TS1~TS3)と紐付けられた状態で記録されている。
承認者情報(Aut_A~Aut_C)は、そのブロックBLを承認した承認ノードND2(図3参照)を示す情報である。承認者情報は、承認ノードND2から受信する情報であり、個々の承認ノードND2を示す固有のハッシュ値である。各ブロックBLには、承認ノード数Nに対応した数の承認者情報が記録されている。
ブロックヘッダ(BLOCK Header)には、ブロック生成時を示すタイムスタンプ(Time Stamp)、トランザクションのマークルルート、承認者情報のマークルルート、及び前ブロックBLのヘッダハッシュ値が含まれている。これらの情報は、ブロック生成部71によって記録される。
トランザクションのマークルルート(TX-M_Root)は、ブロックBLに含まれる一つ以上のトランザクションのデータの要約であり、個々のトランザクションを末端とするマークルツリーのルートハッシュ値である。承認者のマークルルート(Aut-M_Root)は、複数の承認ノードND2から取得したハッシュ値の要約であり、各承認ノードND2の固有のハッシュ値を末端とするマークルツリーのルートハッシュ値である。
前ブロックBLのヘッダハッシュ値(Prev.Hash)は、前ブロックBLのブロックヘッダのデータをハッシュ関数に入力して得られる値である。ブロックチェーンBCは、各ブロックBLのブロックヘッダをハッシュ化し、次のブロックヘッダに組み込む入れ子構造を形成している。そのため、一つのブロックBLのトランザクション等を変更した場合、以降のブロックBLのヘッダハッシュ値も連鎖的に異なる値となる。故に、ヘッダハッシュ値の確認により、トランザクション等の破損及び改ざん等が検証可能となる。
以上のヘッダハッシュ値及び各マークルルートの演算には、SHA-256等のハッシュ関数が使用される。このようなハッシュ関数の種類及びハッシュ値のビット数等の仕様は、適宜変更されてよい。例えば、MD-5、SHA-1、SHA-512及びSHA-3等のハッシュ関数が、ハッシュ値の生成に使用されてよい。また、ヘッダハッシュ値を算出するハッシュ関数と、各マークルルートを算出するハッシュ関数とは、互いに同一であってもよく、互いに異なっていてもよい。
次に、管理プログラムPcによる管理のもと、新たに収集された履歴情報からブロックBLを生成し、ブロックチェーンBCへの連結とバックアップの実施とを行うチェーン追加処理の詳細を、図6~図9に基づき、図1,図3及び図5を参照しつつ説明する。図6に示すメイン処理は、上述の開始条件の成立に基づき、車載ユニット100によって開始される。
メイン処理のS10では、ブロック生成処理(図7参照)により、車両Vにて収集された履歴情報から、ブロックチェーンBCに新たに追加するブロックBL(マスタブロックBLm)を生成し、S20に進む。S20では、ブロック承認処理(図8参照)により、S10にて新たに生成したブロックBLの承認を、車両Vと通信可能な複数の他ノードNDに依頼し、S30に進む。
S30では、保存先設定処理(図9参照)により、S20にて承認されたブロックBLのバックアップの保存先を、車両Vと通信可能な他ノードNDの中から設定し、S40に進む。一つのブロックBLが新規に生成される度にS30が実施されるため、個々のブロックBLのバックアップの保存先は、ブロック単位で設定されることとなる。
S40以降の処理では、S30の保存先設定処理の設定結果に基づき、優先順位の高い他ノードNDへ向けて、バックアップブロックBLcの保存依頼を順に送信する。具体的に、S40では、高優先度の他ノードND(例えば、最後の承認ノード)へ向けて、バックアップブロックBLcの保存依頼を送信し、S50に進む。S40による保存依頼の送信先となる他ノードND(バックアップノード)は、保存依頼を受信し(S91)、保存依頼の承認可否を送信する(S92)。ノード数及びブロック数のいずれかの上限に達している場合には、受け取りを拒否する旨の通知が返信される。
S50では、バックアップノードからの承認可否の結果を受信し、S60に進む。S60では、保存を承認する返信があったか否かを判定する。保存を拒否する返信を受け取った場合、又は返信がないままタイムアウトした場合、S60からS40に戻り、別の他ノードNDへ向けて保存依頼を送信する。一方、S60にて、保存を承認する返信を取得したと判定した場合、S70に進む。
S70では、保存先となるバックアップノードへ向けて、バックアップブロックBLcを送信し、S80に進む。S70にて送信されたバックアップブロックBLcは、バックアップノードにて受信され、バックアップノードのブロック保存部69に保存される(S93)。
S80では、バックアップブロックBLcの送信先の数が、予め規定されたバックアップノード数Kに達したか否かを判定する。S80にて、送信先の数がバックアップノード数Kよりも少ない場合、S40に戻り、別の他ノードNDへ向けて保存依頼を送信する。一方、S80にて、送信先の数がバックアップノード数Kに達したと判定した場合、チェーン追加処理を終了する。
次に、S10にてサブ処理として実施されるブロック生成処理、S20にてサブ処理として実施されるブロック承認処理、S30にてサブ処理として実施される保存先設定処理、の各詳細を、順に説明する。
図7に示すブロック生成処理のS101では、トランザクション(TX1~TX3)となる履歴情報、及び履歴情報を取得した時刻を示すタイムスタンプ(TS1~TS3)を収集し、S102に進む。S102では、S101にて、トランザクションを収集できたか否かを判定する。S102にて、トランザクションが無いと判定した場合、ブロックBLの新規生成を行わず、チェーン追加処理を終了する。一方、S102にて、少なくとも一つのトランザクションを収集したと判定した場合、S103に進む。
S103では、ブロック保存部69に現在保存されているバックアップブロックBLcのリストをブロック特定情報InB(Info_BUP)として作成し、S104に進む。S104では、S101にて収集したトランザクションのマークルルート(TX-M_Root)を算出し、S105に進む。S105では、新たに追加するブロックBLを生成し、メイン処理のS20に進む。S105では、例えば履歴情報が収集された車両Vを示すノード識別情報IDn等が、ブロックBLに記録される。一方で、S105にて生成されるブロックBLは、承認前であるため、承認者情報及び承認者のマークルルートを有していない状態である。
図8に示すブロック承認処理では、一つのノードND(依頼ノードND1)の承認依頼部72による承認依頼に基づき、他の複数のノードND(承認ノードND2)が、依頼ノードND1にて新しく生成された新規ブロックBLの正当性を検証する。ブロック承認処理のS111では、管理プログラムPcのバージョンを示すデータと、管理プログラムPcの本体(全体)のデータとを、それぞれハッシュ関数に入力し、二つのハッシュ値(X1,Y1)を生成して、S112に進む。S112では、承認の依頼先となる承認ノードND2を設定し、承認ノードND2へ向けて、承認依頼及びハッシュ値(X1,Y1)を送信する。
S113では、承認ノードND2が、承認依頼及びハッシュ値(X1,Y1)を受信する。S114では、承認ノードND2に保存されている管理プログラムPcを、ブロック保存部69から読み出す。そして、依頼ノードND1と同一のハッシュ関数を用いて、自ノードの管理プログラムPcのデータを入力とした二つのハッシュ値(Xa,Ya)を生成する。
S115では、S112にて受信した依頼ノードND1のハッシ値(X1,Y1)と、S114にて生成した承認ノードND2のハッシュ値(Xa,Ya)とを比較し、共に同一であるか否かを判定する。即ち、S115では、依頼ノードND1及び承認ノードND2の使用する管理プログラムPcが互いに実質的に同一であるか否かを判定する。S115にて、二つのハッシュ値が共に同一である(X1=Xa,Y1=Ya)と判定した場合、S116に進む。S116では、ブロックBLの正当性を検証するための検証用データの提供を、依頼ノードND1に要求する。
一方、S115にて、少なくとも一方のハッシュ値が相違していると判定した場合、承認ノードND2は、一連の処理を終了し、サーバ20のプログラム確認部31(図4参照)へ向けて、管理プログラムPcのバージョン等を問い合わせる。プログラム確認部31は、依頼ノードND1及び承認ノードND2の各管理プログラムPcについて、正しい(最新)であるか否かを判断する。承認ノードND2は、管理プログラムPcに問題が無い旨の通知をプログラム確認部31から取得した場合、依頼ノードND1の管理プログラムPcに問題がある旨の通知を、依頼ノードND1へ向けて送信してもよい。また、各管理プログラムPcのプログラムバージョンのハッシュ値は、エッジ側である各ノードNDではなく、クラウド側となるサーバ20にて生成され、各ノードNDに通知されてもよい。こうした処理によれば、管理プログラムPcのプログラムバージョンの不整合が、事前にサーバ20側にて確認可能となる。
S116にて送信された検証用データの要求は、S117にて、依頼ノードND1に取得される。そしてS118にて、依頼ノードND1は、検証用データを承認ノードND2へ向けて送信する。検証用データには、前ブロックBLのブロックヘッダに含まれる前々ブロックBLのヘッダハッシュ値(第一データ)、前ブロックBLのブロックヘッダの生成に必要な他のデータ(第二データ)が含まれる。加えて検証データには、追加されるブロックBLに含まれる前ブロックBLのブロックヘッダをハッシュ化したヘッダハッシュ値が含まれる。
S118にて送信された検証用データは、S119にて、承認ノードND2に取得される。そして承認ノードND2は、S120にて、検証演算を実施する。具体的に、検証演算では、S119にて取得した第一データ及び第二データから、承認ノードND2の管理プログラムPcに基づき、前ブロックBLのヘッダハッシュ値を算出する。そして、S119にて受信した依頼ノードND1にて算出のヘッダハッシュ値が、承認ノードND2にて算出されたヘッダハッシュ値と一致しているか否かを判定する。これら二つのハッシュ値が一致している場合、承認ノードND2は、新しいブロックBLの追加を承認する。一方、二つのハッシュ値が異なっている場合、承認ノードND2は、新しいブロックBLの追加を承認しない。
以上のように、ブロック承認処理では、マスタブロックBLmを生成した依頼ノードND1とは異なる少なくとも一つの承認ノードND2にて、新規のマスタブロックBLmに含まれるヘッダハッシュ値が計算される。そして、正しい(最新)の管理プログラムPcを用いてブロックBLを生成しており、且つ、その結果として得られたヘッダハッシュ値が正しいことを持って、新たに生成されたブロックBLの正当性が確認される。
S121では、S120による検証結果を依頼ノードND1へ向けて送信する。S120にて、ブロックBLの追加を承認した場合、追加を承認する旨の通知と、承認ノードND2の固有のハッシュ値を依頼ノードND1へ向けて送信する。一方、S120にて、ブロックBLの追加を承認しなかった場合、追加を承認しない旨の通知を依頼ノードND1へ向けて送信する。
S121にて送信された承認可否の結果等は、S122にて、依頼ノードND1に取得される。そして、承認する旨の通知を取得していた場合、S123にて、承認ノードND2のハッシュ値を承認者情報として、ブロックBLに記録し、S124に進む。S124では、承認を肯定する通知を、承認ノード数Nの三分の二(過半数)以上から取得できたか否かを判定する。S124にて、承認を肯定する通知が承認ノード数Nの三分の二未満であると判定した場合、S112に戻り、別の承認ノードND2へ向けて、承認依頼等を送信する。
一方、承認ノードND2にて算出されたヘッダハッシュ値が、依頼ノードND1にて生成されたヘッダハッシュ値と異なる旨の通知を取得していた場合、S125に進む。S125では、依頼ノードND1の保管データに改ざん等の異常があると判定し、チェーン追加処理を終了する。異常判定の結果は、車両Vに搭載された表示装置等を通じてユーザに通知される。
一方、S124にて、承認を肯定する通知が承認ノード数Nの三分の二以上から取得した場合、承認完了と判定し、S126に進む。S126では、承認者情報であるハッシュ値のマークルルートを算出し、当該マークルルートをブロックBLに記録して、S127に進む。S127では、新しいブロックBLをブロックチェーンBCに連結させて、メイン処理のS30に進む。
図9に示すブロック承認処理のS131では、チェーン追加処理の開始条件を把握し、S132に進む。S132では、自車両Viの通信範囲Rc内にいる他ノードND(他車両Va)を把握し、S133に進む。S133では、通信可能な状態にある他ノードNDについて、ブロック保存部69の記憶容量の残量を把握し、S134に進む。S134では、S131~S133にて把握した情報に基づき、他ノードNDの中から、バックアップブロックBLcの保存先とするノードを選択し、且つ、保存先とする優先順位を設定して、メイン処理のS40に進む。
次に、S125での異常判定に基づき、ブロック保存部69の保管データを復元する一連の復元処理の詳細を、図10及び図11に基づき、図12及び図5を参照しつつ説明する。保管データの復元は、上述したように、特定車両Vrが搬入されたディーラのサーバ20によって実施される。サーバ20は、ブロックチェーンBCを復元するチェーン復元処理と、バックアップブロックBLcを復元するバックアップ復元処理とを順に実施する。尚、図12では、ユーザ1の車両V1が特定車両Vrとされる。また、ユーザ2の車両V2は、ネットワークNWに接続されていない状態である。
図10に示すチェーン復元処理のS161では、特定車両Vrのノード識別情報IDnと共に、復元要求をネットワークNWに一斉配信する。S161の復元要求は、S162にて、他ノードNDに受信される。復元要求を受信した他ノードNDは、S163にて、提供ノードとして、ノード識別情報IDnの一致するバックアップブロックBLcが自らのブロック保存部69にあるか否かを照合する。例えば、ユーザ4の車両V4のように、該当するバックアップブロックBLcが無い提供ノードは、処理を終了する。
一方で、ユーザ3の車両V3のように、該当するバックアップブロックBLcがあると判定した提供ノードは、S164を実施する。S164では、バックアップブロックBLc(BL1,BL2)を所持している旨の通知を、要求元であるサーバ20へ向けて送信する。S164にて送信された所持通知は、S165にてサーバ20に受信される。そして、S166にて、サーバ20は、バックアップブロックBLcの送信依頼を、提供ノードへ向けて送信する。
S166にて送信された送信依頼がS167にて提供ノードに受信されると、提供ノードは、S168にて、必要とされているバックアップブロックBLcの送信を開始する。送信されるバックアップブロックBLcは、特定車両Vrのノード識別情報IDnが記録されたブロックBL(BL1,BL2)である。こうして送信されたバックアップブロックBLcは、S169にて、サーバ20に受信される。サーバ20は、受信したバックアップブロックBLcから、マスタブロックBLmを復元し、S170に進む。S170では、ブロックハイト、タイムスタンプ又はブロックBC間の前後関係を示す情報に基づき、回収された各マスタブロックBLmを時系列に連結させて、ブロックチェーンBCを復元し、S171に進む。
S171では、マスタブロックBLmの不足を判定する。S171にて、マスタブロックBLmに抜けがあると判定した場合、S165に戻り、不足しているブロックBLを他の提供ノードから受信する。一方、S171にて、全てのマスタブロックBLmを回収し、ブロックチェーンBCを復元できたと判定した場合、チェーン復元処理を終了する。
図11に示すバックアップ復元処理のS181では、サーバ20が、チェーン復元処理にて復元されたブロックチェーンBCから、ブロック特定情報InBを読み出し、S182に進む。ブロック特定情報InBは、最後のブロックBL(BL2)から読み出される。S182では、ブロック特定情報InBに記録のあるバックアップブロックBLcと同一のブロックBLの提供要求を、ネットワークNWに一斉配信する。提供要求の対象となる各ブロックBLは、ノード識別情報IDn及びブロックハイトの組み合わせによって特定される。
S182による復元要求は、S183にて、各提供ノードに受信される。提供要求を受信した提供ノードは、S184にて、該当するブロックBLが自らのブロック保存部69に保管されているか否かを照合する。S184にて、ブロックBLがあると判定した場合、S185に進む。
S185では、要求のあったブロックBLを所持している旨の通知を、要求元であるサーバ20へ向けて送信する。S185にて送信された所持通知は、S186にてサーバ20に受信される。そして、S187にて、サーバ20は、ブロックBLの送信依頼を、提供ノードへ向けて送信する。
S187にて送信された送信依頼がS188にて提供ノードに受信されると、提供ノードは、S189にて、必要とされているブロックBLの送信を開始する。S189にて送信されたブロックBLは、S190にて、サーバ20に受信される。そしてサーバ20は、受信したブロックBLから、バックアップブロックBLcを復元し、S191に進む。
S191では、S181にて取得したブロック特定情報InBを参照し、復元されたバックアップブロックBLcの不足を判定する。S191にて、バックアップブロックBLcが不足していると判定した場合、S186に戻り、別の提供ノードからブロックBLをさらに取得する。例えば、ユーザ4の車両V4から二つのブロックBL4,BL2を受信しても、バックアップブロックBLcは不足した状態である。この場合、さらにユーザ3の車両V3から二つのブロックBL1,BL3を受信する。そしてさらに、ユーザ5の車両V5から一つのブロックBL1を受信する。こうした処理を継続し、S191にて、全てのバックアップブロックBLcを復元できた判定した場合、バックアップ復元処理を終了する。
ここまで説明した本実施形態では、ブロックBLが生成されると、生成されたブロックBLのバックアップの保存先は、自車両Viと通信可能な他ノードNDの中から、ブロック単位で設定される。故に、ブロックチェーンBCを形成する全ブロックBLが全ノードNDによって共有されることが回避され得る。換言すれば、各車載ユニット100にて生成されたブロックBLは、全てのノードNDに複製されず、ごく一部の複数のノードNDとの間で共有されるに留められる。以上によれば、ブロックBLの共有に起因する通信量の増加及び各ノードNDの保存データ量の増加は、抑制され得る。したがって、ブロックチェーンBCの技術を用いて車両Vの履歴情報を保管するのに適した履歴管理が実現される。
加えて本実施形態では、新たに生成されたブロックBLの承認が複数の承認ノードND2に依頼される。そして、バックアップの保存先となるバックアップノード数Kは、ブロックBLの承認の依頼先となる承認ノード数Nよりも少ない設定である。こうした設定により、バックアップノード数Kが抑制されれば、通信量及び保存データ量の増加は、いっそう抑制可能となる。
また本実施形態での承認ノード数Nは、奇数とされており、より望ましくは三以上の奇数とされる。こうした設定であれば、承認ノードND2の多数決に基づき、新規に作成されたブロックBLの連結の可否が判断可能となる。以上によれば、新規のブロックBLを追加するか否かの判断ロジックが単純化され得る。
さらに本実施形態におけるバックアップノードの少なくとも一つは、ヘッダハッシュ値の計算を行った複数の承認ノードND2の中から選択される。多くの場合、バックアップを送信しようとするタイミングでも、ヘッダハッシュ値の計算を依頼した承認ノードND2と自ノードNDとの通信可能な状態は、維持されていると想定される。故に、承認ノードND2からバックアップノードを選択すれば、ブロック追加の承認後、バックアップブロックBLcを送信する処理への円滑な遷移が可能になる。
そして、ブロック追加の承認を後で実施した承認ノードND2ほど、バックアップノードとして選択される優先順位が高められる。こうした設定であれば、自ノードNDは、通信可能な状態を継続中の承認ノードND2を速やかにバックアップノードとして選択し、バックアップブロックBLcの送信を実行できる。以上のことから、承認を最後に実施した承認ノードND2は、最初のバックアップノードに設定されるのが望ましい。
加えて本実施形態では、自ノードNDと通信可能な複数の他ノードNDのうちで、ブロック保存部69の残容量の少ないノードよりも、ブロック保存部69の残容量の多いノードが、バックアップノードとして優先的に選択される。このように、ブロック保存部69の残容量が多いノードNDにバックアップブロックBLcが優先的に移譲されれば、一つのノードNDへのバックアップブロックBLcの集中が回避され得る。その結果、バックアップブロックBLcがネットワークNWにおいて多くのノードNDに分散保存され易くなるため、バックアップの作成を制限していても、纏まったデータの損失が発生し難くなる。
また本実施形態では、バックアップノードを選択するルールが、新規ブロックBLの生成を開始する開始条件に応じて変更される。こうした制御によれば、自ノードNDは、ブロック生成を開始したタイミングにて自車両Viが置かれている状況に合わせて、通信可能な状態を維持し易い他ノードNDを優先的にバックアップノードに設定し得る。以上によれば、車両Vに搭載された車載ユニット100をノードNDとして機能させる履歴管理システム10であっても、バックアップブロックBLcの送信は、安定的に実施可能となる。
加えて本実施形態では、自車両Viの履歴情報からマスタブロックBLmを生成する車載ユニット100が、他車両Vaの履歴情報のバックアップブロックBLcを保管するノードNDとして機能する。故に、バックアップブロックBLcを保管するための専用サーバ又は専用車載器等の設置の必要性が低減可能となる。
また本実施形態では、一つのブロック保存部69にバックアップブロックBLcを保存可能な他車両Vaの数には、上限が設定されている。こうした設定であれば、車載ユニット100のブロック保存部69に、マスタブロックBLm及びバックアップブロックBLcの両方が保存可能であっても、マスタブロックBLmを保存するための記憶領域が確保され得る。加えて、一つの車載ユニット100へのバックアップの集中が回避され得るため、纏まったデータの損失が防止可能となる。
さらに本実施形態では、ブロック保存部69に保存可能な一つの他車両Va(他ノードND)あたりのバックアップブロックBLcの数には、上限が設定されている。こうした設定であれば、一つの車両VのバックアップブロックBLcは、一つの車載ユニット100に集中的に保管されることなく、多数の車載ユニット100に分散保存され易くなる。以上によれば、一つの車載ユニット100の保管データに異常が生じた場合に、別の車載ユニット100のバックアップの大半が一斉に失われてしまう事態は、回避される。
加えて本実施形態では、V2V通信の通信範囲Rcにいる他ノードNDがバックアップノードとして優先的に選択される。そして、通信範囲Rcにバックアップノードがいる場合、V2V通信によってバックアップブロックBLcが送信される。以上のように、V2V通信を積極的に活用すれば、バックアップに起因するネットワーククラウドNWC側のトラフィック増加が抑制され得る。
一方で、V2V通信の通信範囲Rcに他ノードNDがいない場合、保存先設定部75は、V2V通信以外の通信手段を用いて、V2V通信の通信範囲外のバックアップノードへ向けて、バックアップブロックBLcを送信できる。故に、周囲に他車両VaがいないようなシーンでブロックBLが生成された場合でも、車載ユニット100は、バックアップノードへ向けたバックアップの送信を実施できる。
また本実施形態では、マスタブロックBLmが生成されるとき、ブロック保存部69に保存されているバックアップブロックBLcを特定可能にするブロック特定情報InBが、マスタブロックBLmに記録される。故に、保存データに異常が生じた特定車両Vrについて、そのブロックチェーンBCを提供ノードから送信されたブロックBLで復元できれば、ブロック保存部69にバックアップされていた他車両VaのバックアップブロックBLcが特定できる。
以上によれば、特定車両Vrのブロック保存部69は、自車両ViのマスタブロックBLmだけでなく、他車両VaのバックアップブロックBLcも復元された状態まで戻り得る。故に、バックアップブロックBLcが完全に失われて、ブロックチェーンBCの復元に必要なブロックBLの回収が不可能となる事態は、回避され得る。したがって、履歴情報を含んだブロックBLを限定的にバックアップする形態であっても、ブロックチェーンBCの復元が可能となる。
さらに本実施形態では、履歴情報を収集した車両Vを示す車両識別情報として、ノード識別情報IDnがマスタブロックBLmに記録されている。故に、バックアップブロックBLcを保存している各ノードNDは、特定車両Vrのノード識別情報IDnを復元要求と共に取得することで、特定車両VrについてのバックアップブロックBLcが自らのブロック保存部69にあるか否かを正しく判断し得る。
以上によれば、バックアップブロックBLcの保存先がブロック単位で設定されても、特定車両VrのブロックチェーンBCの復元に必要なバックアップブロックBLcは、保存先とされた他ノードNDから適切に回収可能となる。したがって、履歴情報を含んだブロックBLを限定的にバックアップする形態であっても、ブロックチェーンBCの復元が可能となる。
加えて本実施形態では、復元要求に基づき送信されたバックアップブロックBLcからブロックチェーンBCを復元したうえで、復元されたブロックチェーンBCの最新のブロックBLに記録されたブロック特定情報InBが読み出される。そして、読み出されたブロック特定情報InBに記録されていたバックアップブロックBLcの提供が呼びかけられる。以上によれば、サーバ20は、データ異常の生じる直前にブロック保存部69に保管されていたバックアップブロックBLcを正確に把握したうえで、各提供ノードにブロックBLの送信を呼びかけることができる。
また本実施形態では、承認ノードND2でのヘッダハッシュ値の検算に基づき、新規ブロックBLの追加が承認される。このように、新規ブロックBLを追加するタイミングで、直前のブロックヘッダのヘッダハッシュ値を確認すれば、トランザクションのデータ又は管理プログラムPcの異常が、適切に検出可能となる。故に、正当性を検証されたブロックBLの鎖状連結を繰り返して、ブロックチェーンBCを生成していくことが可能になる。
さらに本実施形態では、新規に生成されたブロックBLの正当性を確認するためのヘッダハッシュ値を承認ノードND2にて算出するステップの前に、依頼ノードND1及び承認ノードND2の保有する管理プログラムPcの同一性が確認される。故に、算出されたヘッダハッシュ値が互いに異なっていた場合、車載ユニット100は、管理プログラムPcの異常ではなく、トランザクション等のデータに異常があると、高精度に推定可能となる。
尚、上記実施形態では、マスタブロックBLmが「自車ブロック」に相当し、バックアップブロックBLcが「他車ブロック」に相当し、通信範囲Rcが「特定範囲」に相当する。また、バックアップノード数Kが「バックアップの保存先となるノードの数」に相当し、承認ノード数Nが「ブロックの承認の依頼先となるノードの数」に相当する。さらに、サーバ20が「コンピュータ」に相当し、車載ユニット100が「履歴管理装置」及び「コンピュータ」に相当する。
(他の実施形態)
以上、本開示の一実施形態について説明したが、本開示は、上記実施形態に限定して解釈されるものではなく、本開示の要旨を逸脱しない範囲内において種々の実施形態及び組み合わせに適用することができる。
上記実施形態において、バックアップを分散保存する一つのネットワークの全ノード数は、適宜変更されてよい。例えば、特定の規格を遵守した車載ユニットであれば、実質的な上限無く、ネットワークへの参加が許容されてもよい。この場合、車両を製造したメーカーに関係なく、各車載ユニットは、バックアップブロックを相互に持ち合うことができる。
一方、一つのネットワークに参加するノードには、一定の制限が設定されていてもよい。例えば、特定メーカーの車両に搭載された車載ユニットのみで、バックアップを分散保存する一つのネットワークが形成されてもよい。さらに、特定地域又は特定期間にて登録された車両の車載ユニットが、一つのネットワークを形成していてもよい。
そして、バックアップノード数K及び承認ノード数Nは、一つのネットワークに含まれる全ノード数よりも少ない値であれば、クラウド側のトラフィックを顕著に増加させない範囲で、適否設定されてよい。加えて、バックアップノード数Kは、承認ノード数Nと同じ値に設定されてもよく、又は承認ノード数Nよりも大きい値に設定されてもよい。さらに、承認ノード数Nは、偶数であってもよい。
バックアップノードを選択するルールは、適宜変更可能である。例えば保存先設定部は、バックアップを保存する車両が地理的に分散するように、GNSS信号等に基づいて、バックアップノードを選択してもよい。また保存先設定部は、承認ノードとは異なるノードを、バックアップノードとして優先的に選択してもよい。また保存先設定部は、過去にバックアップノードとして選択したことのある他ノードを優先的に今回のバックアップノードに選択してもよく、又は今回のバックアップノードとする対象から除外するようにしてもよい。加えて、保存先設定部は、開始条件に基づく優先順位の付与ルールの変更、及びメモリ残量に基づく優先順位の設定等を実施しなくてもよい。
上記実施形態にて、ブロック保存部に保存されるバックアップブロックについて、他ノード数及び一つのノードあたりのブロック数には、共に上限が設けられていた。これらの上限の具体的な値は、例えばブロック保存部の記憶容量等に応じて適宜変更されてよい。加えて、これらの上限は、設定されなくてもよい。
ブロックチェーンを構成する個々のブロックの内容及びデータサイズ等の仕様は、適宜変更されてよい。例えば、ブロックにトランザクションとして記録される履歴情報は、上記実施形態で例示した情報に限定されない。また、各トランザクションの取得時を示すタイムスタンプは、トランザクションと共にハッシュ値化されて、トランザクションのマークルルートに組み入れられてもよい。
さらに、ブロック特定情報及びノード識別情報等は、ブロックヘッダに組み入れられていてもよい。加えて、上記実施形態のノード識別情報は、車両識別情報としても機能する情報であった。しかし、各ブロックには、ノード識別情報と車両識別情報とが、別々の情報として記述されていてもよい。
上記実施形態のブロック生成部は、保管している各バックアップブロックのノード識別情報及びブロックハイトを収集し、新たに生成するマスタブロックに、ブロック特定情報として記録していた。こうしたブロック特定情報の内容は、バックアップブロックの保管情報を復元可能であれば、適宜変更されてよい。例えばブロックハイトに替えて、ブロックヘッダに記述されたタイムスタンプが、ブロック特定情報として残されてもよい。
上記実施形態では、一つの車両の履歴情報を保管するブロックチェーンが、車載ユニット毎に生成されていた。即ち、各車載ユニットのブロックチェーンは、互いに独立した存在であった。しかし、ヘッダハッシュ値を車載ユニット間で送信する処理により、複数の車載ユニットにて生成されるブロックが、ハッシュ値によってデータ的に連結されてもよい。以上によれば、一つのネットワークで収集された複数車両の履歴情報が、一つのブロックチェーンに集約される。その結果、トライザクション等の改ざんは、いっそう困難となる。
以上のように、一つのネットワーク全体で一つのブロックチェーンを生成する形態では、ノード識別情報及び車両識別情報は、ブロックに記録されなくてもよい。こうした形態では、ブロックハイト又はタイムスタンプが、ブロック保存部のデータ復元時において、提供ノードから収集すべきブロックを特定する情報として機能する。
上記実施形態では、ブロックチェーンの復元が完了した後に、バックアップブロックの復元が開始されていた。しかし、ブロックチェーンの復元と併行して、バックアップブロックの復元が実施されてもよい。例えば、収集された中で最新となるマスタブロックから読み出したブロック特定情報を用いれば、ブロックチェーンの復元完了前に、回収すべきバックアップブロックの少なくとも一部が把握可能となる。
上記実施形態では、車載ユニットに設けられたメモリ装置のブロック保存部に、マスタブロック及びバックアップブロックの両方が保存されていた。しかし、バックアップブロックを保存する記憶領域は、マスタブロックを保存する記憶領域と物理的に分けられていてもよい。さらに、サーバのメモリ装置にも、ブロック保存部が設けられていてもよい。加えて、バックアップブロックを保存しないノード、又はバックアップブロックの保存を主目的とするノードがネットワーク内に存在していてもよい。さらに、ネットワーク内にサーバを設けない完全なP2Pネットワークが、実質的に車載ユニットのみで形成されていてもよい。
上記実施形態では、依頼ノード及び承認ノード間にて、管理プログラム及びヘッダハッシュ値の同一性を順に確認し合う処理により、新規に生成されたブロックが承認されていた。しかし、新規に生成されたブロックを承認する具体的な処理の方法は、適宜変更されてよい。例えば、新規に生成されたブロックを承認する権限が、各車載ユニットではなく、管理者の管理下にある特定のサーバに与えられていてもよい。
本開示の履歴管理方法によって履歴情報が保管される車両は、ユーザによって個人所有された自家用車であってもよく、バス及び貨物車両のような業務用車両であってもよい。又は、モビリティサービスを提供する無人運転車両の履歴情報の保管に、本開示による履歴管理方法が用いられてもよい。モビリティサービス用の車両の履歴情報を管理する履歴管理システムが構築される場合、サーバは、例えば各車両の運行管理を行う管理センタ等に設置されてもよい。
上記実施形態では、LTE及び5G通信や車車間通信等により、複数の車載ユニットが互いに通信可能な状態とされていた。しかし、各ノード同士の通信方法は、適宜変更されてよい。例えば、車車間通信を使用せず、V2N通信のみで、承認依頼及びバックアップ等の全データが送受信されてもよい。或いは車車間通信のみで、承認依頼及びバックアップ等の全データの送受信が完結してもよい。
さらに、通信器による通信が不可能な状況では、承認依頼及びバックアップ等の送信は、一時的に中断される。承認依頼及びバックアップ等の送信は、通信可能な状態に復帰した後、実施されてよい。加えて、ブロック生成部は、通信状況が不安定な環境下において、ブロックの新規の生成を開始しないように設定されていてもよい。
本開示の履歴管理方法を実施するコンピュータとして、上記実施形態では、サーバ及び車載ユニットが例示されていた。しかし、履歴管理方法を実施するコンピュータは、これらに限定されず、適宜変更されてよい。また、車載ユニットと、ネットワーククラウド上のサーバとが、ブロックチェーンの生成に関連する演算を分散処理してもよい。
加えて、ブロックチェーンを生成する機能は、専用の車載ユニットではなく、例えば自動運転用の車載ユニット又はHMI制御用の車載ユニット等に組み込まれていてもよい。さらに、複数の車載ユニットによって、ブロックチェーンの生成に関連する演算が分散処理されてもよい。また、ブロックチェーン及びバックアップブロックを復元する処理は、上記のようなサーバ側ではなく、車載ユニット等のエッジ側で実行されてもよい。
以上のように、上記実施形態にて車載ユニット及びサーバの各制御回路によって提供されていた各機能は、ソフトウェア及びそれを実行するハードウェア、ソフトウェアのみ、ハードウェアのみ、あるいはそれらの複合的な組合せによっても提供可能である。さらに、こうした機能がハードウェアである電子回路によって提供される場合、各機能は、多数の論理回路を含むデジタル回路、又はアナログ回路によっても提供可能である。
加えて、管理プログラム及び保全プログラム等に関連したデータ処理、並びに命令及びコードを実行するプロセッサの具体的な構成は、適宜変更可能である。プロセッサは、CPU(Central Processing Unit)に加えて、GPU(Graphics Processing Unit)を含む構成であってもよい。またプロセッサは、FPGA(Field-Programmable Gate Array)及びAIの学習及び推論に特化したアクセラレータ(例えばDSP(Digital Signal Processor)等)を含んでいてもよい。さらにプロセッサは、ASIC(Application Specific Integrated Circuit)及びFPGA等に実装された構成であってもよい。
各プログラム等を格納する構成として、フラッシュメモリ及びハードディスク等の種々の非遷移的実体的記憶媒体(non-transitory tangible storage medium)が、各メモリ装置に採用可能である。こうした記憶媒体の形態も、適宜変更されてよい。例えば記憶媒体は、メモリカード等の形態であって、スロット部に挿入されて、制御回路に電気的に接続される構成であってよい。さらに記憶媒体は、上述のような車載装置又はサーバ等のメモリ装置に限定されず、当該メモリ装置へのプログラムのコピー基となる光学ディスク及び汎用コンピュータのハードディスクドライブ等であってもよい。
10 履歴管理システム、20 サーバ(コンピュータ)、21 プロセッサ、32 復元要求部(要求配信部)、61 プロセッサ、69 ブロック保存部、71 ブロック生成部、75 保存先設定部、77 ブロック送信部、100 車載ユニット(履歴管理装置,コンピュータ)、BC ブロックチェーン、BL ブロック、BLm マスタブロック(自車ブロック)、BLc バックアップブロック(他車ブロック)、IDn ノード識別情報(車両識別情報)、InB ブロック特定情報、ND ノード、ND1 依頼ノード(第一ノード)、ND2 承認ノード(第二ノード)、K バックアップノード数、N 承認ノード数、NW ネットワーク、NWC ネットワーククラウド、Pc 管理プログラム(算出プログラム)、Rc 通信範囲(特定範囲)、V 車両、Va 他車両、Vi 自車両、Vr 特定車両

Claims (13)

  1. コンピュータ(20,100)によって実施され、ブロックチェーン(BC)を用いて車両(V)の履歴情報を管理する履歴管理方法であって、
    少なくとも一つのプロセッサ(21,61)上において、
    前記車両にて収集された前記履歴情報から、前記ブロックチェーンに連結されるブロック(BL)を生成し(S10)、
    生成した前記ブロックのバックアップの保存先を、前記車両と通信可能なノード(ND)の中から、ブロック単位で設定し(S30)、
    設定した保存先となる前記ノードへ向けて、前記ブロックのバックアップを送信する(S70)、
    というステップを含む履歴管理方法。
  2. 新たに生成した前記ブロックの承認を、前記車両と通信可能な複数の前記ノードに依頼する(S20)、というステップをさらに含み、
    前記バックアップの保存先となる前記ノードの数(K)は、前記ブロックの承認の依頼先となる前記ノードの数(N)よりも少ない請求項1に記載の履歴管理方法。
  3. 前記ブロックの承認の依頼先となる前記ノードの数が奇数である請求項2に記載の履歴管理方法。
  4. 前記バックアップの保存先の少なくとも一つは、前記ブロックの承認を依頼された複数の前記ノードの中から選択される請求項2又は3に記載の履歴管理方法。
  5. 前記車両と通信可能な複数の前記ノードのうちで、前記ブロックの保管のために確保された記憶容量の残量の少ない前記ノードよりも、当該残量の多い前記ノードが、前記バックアップの保存先として優先的に選択される請求項1~4のいずれか一項に記載の履歴管理方法。
  6. 前記ブロックの生成が、複数の開始条件の成立に基づき開始され、
    通信可能な複数の前記ノードの中から保存先となる前記ノードを選択するルールが、前記開始条件に応じて変更される請求項1~5のいずれか一項に記載の履歴管理方法。
  7. 個々の前記ブロックには、各前記ブロックを生成した前記ノードを示すノード識別情報(IDn)が含まれている請求項1~6のいずれか一項に記載の履歴管理方法。
  8. 前記ブロックとしての自車ブロック(BLm)が、他車両(Va)から取得した他車ブロック(BLc)と共にブロック保存部(69)に保存される請求項1~7のいずれか一項に記載の履歴管理方法。
  9. 前記ブロック保存部に前記他車ブロックを保存可能な前記他車両の数には、上限が設定されている請求項8に記載の履歴管理方法。
  10. 前記ブロック保存部に保存可能な一つの前記他車両あたりの前記他車ブロックの数には、上限が設定されている請求項8又は9に記載の履歴管理方法。
  11. 車車間通信にて前記車両と通信可能な特定範囲(Rc)に保存先となる前記ノードがいる場合、前記特定範囲内の前記ノードを保存先として、前記車車間通信により前記ブロックのバックアップを送信する請求項1~10のいずれか一項に記載の履歴管理方法。
  12. 前記特定範囲に保存先となる前記ノードがいない場合、ネットワーククラウド(NWC)を通じて通信可能な前記特定範囲外の前記ノードを保存先として、前記ブロックのバックアップを、前記ネットワーククラウドを通じて送信する請求項11に記載の履歴管理方法。
  13. ブロックチェーン(BC)を用いて車両(V)の履歴情報を管理する履歴管理装置であって、
    前記車両にて収集された前記履歴情報から、前記ブロックチェーンに連結されるブロック(BL)を生成するブロック生成部(71)と、
    前記ブロック生成部にて生成された前記ブロックのバックアップの保存先を、前記車両と通信可能なノード(ND)の中から、ブロック単位で設定する保存先設定部(75)と、
    前記保存先設定部にて設定された保存先の前記ノードへ向けて、前記ブロックのバックアップを送信するブロック送信部(77)と、
    を備える履歴管理装置。
JP2018135289A 2018-07-18 2018-07-18 履歴管理方法、及び履歴管理装置 Active JP7056429B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018135289A JP7056429B2 (ja) 2018-07-18 2018-07-18 履歴管理方法、及び履歴管理装置
CN201910640304.7A CN110740158B (zh) 2018-07-18 2019-07-16 历史管理方法以及历史管理装置
US16/512,692 US11263232B2 (en) 2018-07-18 2019-07-16 History management method and history management apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018135289A JP7056429B2 (ja) 2018-07-18 2018-07-18 履歴管理方法、及び履歴管理装置

Publications (2)

Publication Number Publication Date
JP2020013347A JP2020013347A (ja) 2020-01-23
JP7056429B2 true JP7056429B2 (ja) 2022-04-19

Family

ID=69161907

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018135289A Active JP7056429B2 (ja) 2018-07-18 2018-07-18 履歴管理方法、及び履歴管理装置

Country Status (3)

Country Link
US (1) US11263232B2 (ja)
JP (1) JP7056429B2 (ja)
CN (1) CN110740158B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018219719A1 (de) * 2018-11-16 2020-05-20 Volkswagen Aktiengesellschaft Fahrzeug, Netzwerkkomponente, Verfahren, Computerprogramm und Vorrichtung zum Generieren einer Kennung für einen Ausrüstungszustand eines Fahrzeugs
CN111522878B (zh) * 2020-04-14 2024-01-02 名商科技有限公司 基于区块链的车载视频处理方法、装置、计算机和介质
US11449478B2 (en) 2020-10-08 2022-09-20 Kyndryl, Inc. Blockchain implemented data migration audit trail
JP7491470B2 (ja) * 2020-11-26 2024-05-28 株式会社デンソー ゾーンベースのブロックチェーンシステム、及びゾーンベースのブロックチェーンシステムを運用するための方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008035766A (ja) 2006-08-04 2008-02-21 Token Housing:Kk 園芸用施設
JP2014112124A (ja) 2012-12-05 2014-06-19 Panasonic Corp 光源装置及び投写型表示装置
JP2015194883A (ja) 2014-03-31 2015-11-05 富士通株式会社 バックアップ装置、バックアップ方法及びバックアッププログラム
WO2017110002A1 (ja) 2015-12-25 2017-06-29 パイオニア株式会社 予測装置、予測システム、予測方法および予測プログラム
JP2017170997A (ja) 2016-03-22 2017-09-28 株式会社Subaru 車両の乗員保護装置
WO2018008587A1 (ja) 2016-07-06 2018-01-11 三菱電機株式会社 移動体通信装置、移動体通信方法、及び移動体通信プログラム
WO2018036700A1 (de) 2016-08-24 2018-03-01 Siemens Aktiengesellschaft Absichern einer gerätenutzungsinformation eines gerätes
JP2018067108A (ja) 2016-10-18 2018-04-26 株式会社大和総研ビジネス・イノベーション 取引記録システムおよびプログラム
US20180143995A1 (en) 2016-11-22 2018-05-24 Cox Automotive Inc. Multiple agent distributed ledger architecture

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8223060B2 (en) * 2006-09-21 2012-07-17 Autonetworks Technologies, Ltd. Electric control system and electric control unit
JP6192666B2 (ja) * 2013-01-21 2017-09-06 三菱電機株式会社 目的地予測装置、目的地予測方法、目的地表示方法
US9779557B2 (en) * 2015-08-18 2017-10-03 Carfit Corp. Automotive activity monitor
CN109313763B (zh) * 2016-03-31 2023-02-28 比特飞翔区块链株式会社 层次型网络系统以及用于层次型网络系统的节点
CN107438003B (zh) * 2016-05-27 2022-08-09 索尼公司 电子设备、用于电子设备的方法和信息处理系统
WO2018014123A1 (en) * 2016-07-18 2018-01-25 Royal Bank Of Canada Distributed ledger platform for vehicle records
US10796371B1 (en) * 2016-11-23 2020-10-06 State Farm Mutual Automobile Insurance Company Systems and methods for maintaining a distributed ledger of transactions pertaining to an autonomous vehicle
US11301936B1 (en) * 2017-03-03 2022-04-12 State Farm Mutual Automobile Insurance Company Using a distributed ledger for total loss management
US10783600B2 (en) * 2017-05-25 2020-09-22 GM Global Technology Operations LLC Method and system using a blockchain database for data exchange between vehicles and entities
US10740733B2 (en) * 2017-05-25 2020-08-11 Oracle International Corporaton Sharded permissioned distributed ledgers
US10380812B2 (en) * 2017-06-23 2019-08-13 International Business Machines Corporation Vehicle transaction validation
US10778758B2 (en) * 2017-06-30 2020-09-15 Verizon Patent And Licensing, Inc. Scalable and secure vehicle to everything communications
CN107508859B (zh) * 2017-07-20 2020-02-21 北京交通大学 车载自组织网络中基于区块链技术的车辆通信方法
CN108182482A (zh) * 2017-11-20 2018-06-19 广东中科南海岸车联网技术有限公司 基于区块链的种植作物的培育监控方法及装置
KR20190067581A (ko) * 2017-12-07 2019-06-17 한국전자통신연구원 블록체인 트랜잭션 분산 처리 장치 및 방법
US20190188086A1 (en) * 2017-12-14 2019-06-20 International Business Machines Corporation Redundancy reduction in blockchains
US10932156B2 (en) * 2017-12-29 2021-02-23 Veniam, Inc. Methods and system for distributed transactions in a network of moving things
US10880070B1 (en) * 2018-02-08 2020-12-29 Rockwell Collins, Inc. Distributed blockchain ledger for vehicular systems
US10567393B2 (en) * 2018-03-16 2020-02-18 Vector Launch Inc. Distributed blockchain data management in a satellite environment
US11611491B2 (en) * 2018-04-12 2023-03-21 Intel Corporation Edge computing service global validation
US10937253B2 (en) * 2018-06-11 2021-03-02 International Business Machines Corporation Validation of vehicle data via blockchain
US20190377336A1 (en) * 2018-06-12 2019-12-12 General Motors Llc Method and system for distributed ledger technology communications for vehicles
US10956377B2 (en) * 2018-07-12 2021-03-23 EMC IP Holding Company LLC Decentralized data management via geographic location-based consensus protocol

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008035766A (ja) 2006-08-04 2008-02-21 Token Housing:Kk 園芸用施設
JP2014112124A (ja) 2012-12-05 2014-06-19 Panasonic Corp 光源装置及び投写型表示装置
JP2015194883A (ja) 2014-03-31 2015-11-05 富士通株式会社 バックアップ装置、バックアップ方法及びバックアッププログラム
WO2017110002A1 (ja) 2015-12-25 2017-06-29 パイオニア株式会社 予測装置、予測システム、予測方法および予測プログラム
JP2017170997A (ja) 2016-03-22 2017-09-28 株式会社Subaru 車両の乗員保護装置
WO2018008587A1 (ja) 2016-07-06 2018-01-11 三菱電機株式会社 移動体通信装置、移動体通信方法、及び移動体通信プログラム
WO2018036700A1 (de) 2016-08-24 2018-03-01 Siemens Aktiengesellschaft Absichern einer gerätenutzungsinformation eines gerätes
JP2018067108A (ja) 2016-10-18 2018-04-26 株式会社大和総研ビジネス・イノベーション 取引記録システムおよびプログラム
US20180143995A1 (en) 2016-11-22 2018-05-24 Cox Automotive Inc. Multiple agent distributed ledger architecture

Also Published As

Publication number Publication date
JP2020013347A (ja) 2020-01-23
US11263232B2 (en) 2022-03-01
US20200026613A1 (en) 2020-01-23
CN110740158A (zh) 2020-01-31
CN110740158B (zh) 2024-03-01

Similar Documents

Publication Publication Date Title
JP7056430B2 (ja) 履歴管理方法、履歴管理装置及び履歴管理システム
JP7056429B2 (ja) 履歴管理方法、及び履歴管理装置
CN110995513B (zh) 物联网系统中的数据发送、接收方法、物联网设备及平台
CN108833521B (zh) 消息推送方法、装置、系统、计算机设备和存储介质
CN110866825A (zh) 基于公链的区块链信息存储方法及系统
EP3223165B1 (en) File processing method, system and server-clustered system for cloud storage
CN109756508B (zh) 基于多协议接入区块链网络的消息代理方法及相关设备
CN102200901B (zh) 图像转送方法、图像转送系统以及投影仪
CN105824810B (zh) 一种Hadoop集群系统及数据处理方法
CN110413621B (zh) 基于区块链的离线归档系统及方法
CN102571788B (zh) 一种样本收集方法及系统
US20190320009A1 (en) End-to-end file transmission method and system thereof
US20180027048A1 (en) File transmission method, apparatus, and distributed cluster file system
CN111625593A (zh) 基于区块链的数据处理方法、装置、计算机设备
WO2019152533A1 (en) Cloning drones using blockchain
KR101735903B1 (ko) 차량 장착형 컨트롤러, 차량 장착형 컨트롤러를 컴퓨터 네트워크에서 작동시키기 위한 방법 및 장치
CN110597922A (zh) 数据处理方法、装置、终端及存储介质
CN109462574A (zh) 一种基于区块链的广告牌控制网关
CN111245910A (zh) 一种区块链轻节点多副本的部署方法
CN111405021A (zh) 一种对等节点的数据传输方法、装置、设备及存储介质
CN109889561A (zh) 一种数据处理方法及装置
JP2014164554A (ja) 負荷分散判定システム
CN115774728B (zh) 基于预言机的联盟链跨链操作方法、装置、设备及介质
CN108200157A (zh) 主节点触发回退的日志同步方法及装置
CN116684416A (zh) 一种网元集群中的镜像分发方法、装置和系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210520

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220224

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: 20220308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220321

R151 Written notification of patent or utility model registration

Ref document number: 7056429

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151