CN110740158A - 历史管理方法以及历史管理装置 - Google Patents
历史管理方法以及历史管理装置 Download PDFInfo
- Publication number
- CN110740158A CN110740158A CN201910640304.7A CN201910640304A CN110740158A CN 110740158 A CN110740158 A CN 110740158A CN 201910640304 A CN201910640304 A CN 201910640304A CN 110740158 A CN110740158 A CN 110740158A
- Authority
- CN
- China
- Prior art keywords
- block
- node
- vehicle
- 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.)
- Granted
Links
- 238000007726 management method Methods 0.000 title claims abstract description 54
- 238000003860 storage Methods 0.000 claims abstract description 124
- 238000004891 communication Methods 0.000 claims description 59
- 230000005540 biological transmission Effects 0.000 claims description 23
- 238000000034 method Methods 0.000 description 69
- 230000008569 process Effects 0.000 description 61
- 230000006870 function Effects 0.000 description 23
- 238000012545 processing Methods 0.000 description 16
- 238000011084 recovery Methods 0.000 description 15
- 230000005856 abnormality Effects 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME 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/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0841—Registering performance data
- G07C5/085—Registering performance data using electronic data carriers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1456—Hardware arrangements for backup
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME 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/00—Registering or indicating the working of vehicles
- G07C5/008—Registering or indicating the working of vehicles communicating information to a remotely located station
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3239—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3297—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2101—Auditing as a secondary aspect
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic 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)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明提供使用区块链(BC)来管理车辆(V)的历史信息的历史管理方法。历史管理方法包括:在至少一个处理器上,根据在车辆中收集到的历史信息来生成与区块链连结的区块(BL),从能够与车辆进行通信的节点(ND)中,以区块为单位设定所生成的区块的备份的保存目的地,朝向成为所设定的保存目的地的节点发送区块的备份。
Description
技术领域
本公开涉及管理车辆的历史信息的历史管理的技术。
背景技术
以往,例如在专利文献1中记载了一种使用区块链来记录与网络连接的多个节点间的交易历史的交易记录系统。在专利文献1的交易记录系统中,为了减少各节点的保有数据量,仅由配置在特定网络中的节点共享特定网络内的交易历史。
专利文献1:JP2018-67108A
本公开的发明人探讨了将专利文献1那样的区块链的技术使用于车辆的历史信息的保管。然而,在专利文献1的系统中,包括特定网络内的交易历史的全部区块被复制到该特定网络内的全部节点中。起因于这样的全部节点共享全部区块,通信量的增加或者各节点的保存数据量的增加等是不可避免的。因此,专利文献1那样的系统较难应用于车辆的历史信息的保管。
发明内容
本公开的目的之一在于提供适合使用区块链的技术来保管车辆的历史信息的历史管理方法以及历史管理装置。
本公开的一个方式的历史管理方法是由计算机实施,并使用区块链来管理车辆的历史信息的历史管理方法,包括:在至少一个处理器上,根据在车辆中收集到的历史信息来生成与区块链连结的区块;从能够与车辆进行通信的节点中,以区块为单位设定所生成的区块的备份的保存目的地;以及朝向成为所设定的保存目的地的节点发送区块的备份。
本公开的一个方式的历史管理装置是使用区块链来管理车辆的历史信息的历史管理装置,具备:区块生成部,根据在车辆中收集到的历史信息来生成与区块链连结的区块;保存目的地设定部,从能够与车辆进行通信的节点中,以区块为单位设定由区块生成部生成的区块的备份的保存目的地;以及区块发送部,朝向由保存目的地设定部设定的保存目的地的节点发送区块的备份。
在这些方式中,从能够与车辆进行通信的节点中,以区块为单位设定根据车辆的历史信息所生成的区块的备份的保存目的地。因此,避免区块链的全部区块被复制到特定网络内的全部节点中的事态。根据以上,可以抑制由区块的共享所引起的通信量的增加或者各节点的保存数据量的增加。因此,实现了适合使用区块链的技术来保管车辆的历史信息的历史管理方法以及历史管理装置。
附图说明
上述以及其它目的、特征、优点根据参照附图的下述详细的说明,变得更加明确。在附图中:
图1是表示根据本公开的一个实施方式的包括车载单元的用于历史保管的网络,即,历史管理系统的整体构成的图。
图2是示意性地表示由多个车载单元形成的P2P网络的图。
图3是表示车载单元的功能的详细的框图。
图4是表示服务器的功能的详细的框图。
图5是详细地表示形成区块链的各个区块的内容的图。
图6是表示链追加处理的主处理的详细的流程图。
图7是表示区块生成处理的详细的流程图。
图8是表示区块认可处理的详细的流程图。
图9是表示保存目的地设定处理的详细的流程图。
图10是表示链恢复处理的详细的流程图。
图11是表示备份恢复处理的详细的流程图。
图12是用于对恢复区块链以及备份区块的过程进行说明的图。
具体实施方式
图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之间直接地收发信息。
如图2所示,各车载单元100通过经由通信器40的与其它车载单元100的相互连接来形成能够进行Peer to Peer(P2P)通信的P2P网络。车载单元100通过P2P通信构建相互保持在各车辆V(V1~V5)中收集到的历史信息,并分散保存各车辆V的历史信息的状态。
若详细记载,则各车载单元100生成将在所搭载的各车辆V中收集到的历史信息作为事务来看待的区块链BC。区块链BC具有多个区块BL,在每个车辆V中生成多个区块BL,区块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是与与主区块BLm相比作为历史信息的收集源的车辆V不同的其它车区块,是由其它车辆V生成的主区块BLm的复制数据。
图1~图3所示的车载单元100是以具有处理器61、RAM62、存储器装置63以及输入输出接口的控制电路为主体而构成的车载计算机。处理器61是与RAM62结合的用于运算处理的硬件,可以执行各种程序。
存储器装置63是包括非易失性的存储介质的结构。在存储器装置63中确保成为上述的区块保存部69的存储区域。此外,在存储器装置63中储存由处理器61执行的各种程序。存储器装置63中储存的程序至少包括用于对多个历史信息进行区块链BC化以进行分散管理的管理程序Pc。管理程序Pc使处理器61实施后述的链追加处理(参照图6)。通过处理器61执行管理程序Pc,从而将信息收集部70、区块生成部71、认可委托部72、认可运算部73、异常判定部74、保存目的地设定部75、区块管理部76以及区块发送部77等功能部安装于车载单元100。
信息收集部70可以收集输出到车内LAN的网络总线45的各种信息。除了车辆V的历史信息之外,信息收集部70还从网络总线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),向处于能够与本车辆Vi进行通信的状态的多个其它节点ND委托新生成的区块BL(主区块BLm)的认可。成为认可的委托目的地的节点(以下,“认可节点ND2”)主要是搭载在其它车辆Va上的车载单元100。将被认可委托部72委托认可的认可节点ND2的数量N设为奇数,更优选,设为三以上。
认可委托部72在认可节点数N以上的其它车辆Va在V2V通信的通信范围Rc的情况下,通过V2V通信向处于通信范围Rc内的各其它车辆Va的车载单元100委托区块BL的认可。另一方面,仅小于认可节点数N的其它车辆Va在V2V通信的通信范围Rc的情况下,利用V2N通信或者V2I通信并通过网络云NWC向处于通信范围Rc外的其它车辆Va的车载单元100委托区块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的保存目的地。此外,越是在后面实施了区块追加的认可的认可节点ND2,则保存目的地设定部75赋予越高的优先级。另外,与区块保存部69的存储容量的余量较少的其它节点ND相比,保存目的地设定部75优先地将该余量多的其它节点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对备份区块BLc的接收进行控制,以便在区块保存部69中始终确保主区块BLm的保存区域。区块管理部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通信朝向保存目的地的其它节点ND发送备份区块BLc。另一方面,在成为保存目的地的其它节点ND在通信范围Rc的外的情况下,区块发送部77利用V2N通信或者V2I通信并通过网络云NWC朝向保存目的地的其它节点ND发送备份区块BLc。
此外,区块发送部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进行保全的保全程序。保全程序使处理器21实施后述的各恢复处理(参照图10以及图11)。通过处理器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通知需要发送由哪个节点ND生成的第几个区块BL。
数据恢复部33接收根据恢复请求而从各节点ND发送的备份区块BLc。数据恢复部33将收集到的备份区块BLc设为主区块BLm,并基于区块高度的信息按时间序列连结,对特定车辆Vr的区块链BC进行恢复。数据恢复部33接收根据提供请求而从各节点ND发送的区块BL,并作为备份区块BLc而进行恢复。这样由数据恢复部33恢复的区块链BC以及各备份区块BLc的恢复数据被复制到特定车辆Vr的区块保存部69中。
接下来,基于图5并参照图3,进一步对由各车载单元100生成的各区块BL以及区块链BC的详细进行说明。
各区块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等哈希函数使用于哈希值的生成。另外,计算头哈希值的哈希函数、和计算各默克尔根的哈希函数可以彼此相同,也可以彼此不同。
接下来,基于图6~图9,并参照图1、图3以及图5,对在管理程序Pc的管理下,根据新收集到的历史信息来生成区块BL,并进行与区块链BC的连结和备份的实施的链追加处理的详细进行说明。基于上述的开始条件的成立,由车载单元100开始图6所示的主处理。
在主处理的S10中,通过区块生成处理(参照图7),根据车辆V中收集到的历史信息来生成向区块链BC新追加的区块BL(主区块BLm),进入S20。在S20中,通过区块认可处理(参照图8),向能够与车辆V进行通信的多个其它节点ND委托S10中新生成的区块BL的认可,进入S30。
在S30中,通过保存目的地设定处理(参照图9),从能够与车辆V进行通信的其它节点ND中设定S20中被认可的区块BL的备份的保存目的地,进入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中,从区块保存部69读出认可节点ND2中保存的管理程序Pc。而且,使用与委托节点ND1相同的哈希函数来生成将本节点的管理程序Pc的数据作为输入的两个哈希值(Xa、Ya)。
在S115中,对在S112接收到的委托节点ND1的哈希值(X1、Y1)、和在S114生成的认可节点ND2的哈希值(Xa、Ya)进行比较,判定是否都相同。即,在S115中,判定委托节点ND1以及认可节点ND2使用的管理程序Pc是否彼此实际相同。在S115中判定为两个哈希值都相同(X1=Xa,Y1=Ya)的情况下,进入S116。在S116中,对委托节点ND1请求用于验证区块BL的正当性的验证用数据的提供。
另一方面,在S115中判定为至少一个哈希值不同的情况下,认可节点ND2结束一系列的处理,朝向服务器20的程序确认部31(参照图4)询问管理程序Pc的版本等。程序确认部31针对委托节点ND1以及认可节点ND2的各管理程序Pc,判断是否正确(最新)。认可节点ND2也可以在从程序确认部31获取到管理程序Pc没有问题的通知的情况下,朝向委托节点ND1发送委托节点ND1的管理程序Pc有问题的通知。另外,各管理程序Pc的程序版本的哈希值也可以不是由作为边缘侧的各节点ND生成,而由成为云侧的服务器20生成,并通知给各节点ND。根据这样的处理,能够预先在服务器20侧确认管理程序Pc的程序版本的不匹配。
在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。
接下来,基于图10以及图11,并参照图12以及图5,对基于S125中的异常判定,恢复区块保存部69的保管数据的一系列的恢复处理的详细进行说明。保管数据的恢复如上述那样,由搬入特定车辆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。从最后的区块BL(BL2)读出区块特定信息InB。在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时,从能够与本车辆Vi进行通信的其它节点ND中,以区块为单位设定所生成的区块BL的备份的保存目的地。因而,可以避免形成区块链BC的全部区块BL被全部节点ND共享。换言之,由各车载单元100生成的区块BL并不是复制到全部节点ND中,而限于在极少一部分的多个节点ND之间共享。根据以上,可以抑制由区块BL的共享所引起的通信量的增加以及各节点ND的保存数据量的增加。因此,实现适合使用区块链BC的技术来保管车辆V的历史信息的历史管理。
此外,在本实施方式中,向多个认可节点ND2委托新生成的区块BL的认可。而且,成为备份的保存目的地的备份节点数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,则可以避免备份区块BLc集中到一个节点ND。结果是由于备份区块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,如果能够用从提供节点发送的区块BL恢复该区块链BC,则备份到区块保存部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。
而且,在本实施方式中,在由认可节点ND2计算用于确认新生成的区块BL的正当性的头哈希值的步骤之前,确认委托节点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.根据权利要求1所述的历史管理方法,其中,
还包括向能够与上述车辆进行通信的多个上述节点委托新生成的上述区块的认可(S20),
成为上述备份的保存目的地的上述节点的数量(K)少于成为上述区块的认可的委托目的地的上述节点的数量(N)。
3.根据权利要求2所述的历史管理方法,其中,
成为上述区块的认可的委托目的地的上述节点的数量是奇数。
4.根据权利要求2所述的历史管理方法,其中,
从被委托上述区块的认可的多个上述节点中选择上述备份的保存目的地的至少一个。
5.根据权利要求1所述的历史管理方法,其中,
能够与上述车辆进行通信的多个上述节点中,与为了保管上述区块而确保的存储容量的余量较少的上述节点相比,该余量较多的上述节点被优先地选择为上述备份的保存目的地。
6.根据权利要求1所述的历史管理方法,其中,
基于多个开始条件的成立,开始上述区块的生成,
根据上述开始条件来变更从能够进行通信的多个上述节点中选择成为保存目的地的上述节点的规则。
7.根据权利要求1所述的历史管理方法,其中,
各个上述区块包括表示生成各上述区块的上述节点的节点识别信息(IDn)。
8.根据权利要求1所述的历史管理方法,其中,
作为上述区块的本车区块(BLm)同从其它车辆(Va)获取到的其它车区块(BLc)一起被保存至区块保存部(69)。
9.根据权利要求8所述的历史管理方法,其中,
针对能够在上述区块保存部中保存上述其它车区块的上述其它车辆的数量设定上限。
10.根据权利要求8所述的历史管理方法,其中,
针对能够保存至上述区块保存部的每个上述其它车辆的上述其它车区块的数量设定上限。
11.根据权利要求1~10中的任意一项所述的历史管理方法,其中,
在能够通过车车间通信与上述车辆进行通信的特定范围(Rc)中存在成为保存目的地的上述节点的情况下,将上述特定范围内的上述节点设为保存目的地,并通过上述车车间通信发送上述区块的备份。
12.根据权利要求11所述的历史管理方法,其中,
在上述特定范围中不存在成为保存目的地的上述节点的情况下,将能够通过网络云(NWC)进行通信的上述特定范围外的上述节点设为保存目的地,并将上述区块的备份通过上述网络云发送。
13.一种历史管理装置,是使用区块链(BC)来管理车辆(V)的历史信息的历史管理装置,具备:
区块生成部(71),根据在上述车辆中收集到的上述历史信息来生成与上述区块链连结的区块(BL);
保存目的地设定部(75),从能够与上述车辆进行通信的节点(ND)中,以区块为单位设定由上述区块生成部生成的上述区块的备份的保存目的地;以及
区块发送部(77),朝向由上述保存目的地设定部设定的保存目的地的上述节点发送上述区块的备份。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018135289A JP7056429B2 (ja) | 2018-07-18 | 2018-07-18 | 履歴管理方法、及び履歴管理装置 |
JP2018-135289 | 2018-07-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110740158A true CN110740158A (zh) | 2020-01-31 |
CN110740158B CN110740158B (zh) | 2024-03-01 |
Family
ID=69161907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910640304.7A Active CN110740158B (zh) | 2018-07-18 | 2019-07-16 | 历史管理方法以及历史管理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11263232B2 (zh) |
JP (1) | JP7056429B2 (zh) |
CN (1) | CN110740158B (zh) |
Families Citing this family (4)
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 (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107438003A (zh) * | 2016-05-27 | 2017-12-05 | 索尼公司 | 电子设备、用于电子设备的方法和信息处理系统 |
CN107508859A (zh) * | 2017-07-20 | 2017-12-22 | 北京交通大学 | 车载自组织网络中基于区块链技术的车辆通信方法 |
JP6274680B1 (ja) * | 2016-10-18 | 2018-02-07 | 株式会社大和総研ビジネス・イノベーション | 取引記録システムおよびプログラム |
CN108182482A (zh) * | 2017-11-20 | 2018-06-19 | 广东中科南海岸车联网技术有限公司 | 基于区块链的种植作物的培育监控方法及装置 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008035766A (ja) | 2006-08-04 | 2008-02-21 | Token Housing:Kk | 園芸用施設 |
US8223060B2 (en) * | 2006-09-21 | 2012-07-17 | Autonetworks Technologies, Ltd. | Electric control system and electric control unit |
JP2014112124A (ja) | 2012-12-05 | 2014-06-19 | Panasonic Corp | 光源装置及び投写型表示装置 |
WO2014112124A1 (ja) * | 2013-01-21 | 2014-07-24 | 三菱電機株式会社 | 目的地予測装置、目的地予測方法、目的地表示方法 |
JP6237413B2 (ja) * | 2014-03-31 | 2017-11-29 | 富士通株式会社 | バックアップ装置、バックアップ方法及びバックアッププログラム |
US9779557B2 (en) * | 2015-08-18 | 2017-10-03 | Carfit Corp. | Automotive activity monitor |
JP6537631B2 (ja) * | 2015-12-25 | 2019-07-03 | パイオニア株式会社 | 予測装置、予測システム、予測方法および予測プログラム |
JP6718269B2 (ja) | 2016-03-22 | 2020-07-08 | 株式会社Subaru | 車両の乗員保護装置 |
JP6370016B2 (ja) * | 2016-03-31 | 2018-08-08 | 株式会社bitFlyer | 階層型ネットワークシステム、これに用いられるノード及びプログラム |
WO2018008587A1 (ja) * | 2016-07-06 | 2018-01-11 | 三菱電機株式会社 | 移動体通信装置、移動体通信方法、及び移動体通信プログラム |
US10755327B2 (en) * | 2016-07-18 | 2020-08-25 | Royal Bank Of Canada | Distributed ledger platform for vehicle records |
DE102016215914A1 (de) * | 2016-08-24 | 2018-03-01 | Siemens Aktiengesellschaft | Absichern einer Gerätenutzungsinformation eines Gerätes |
WO2018098037A1 (en) * | 2016-11-22 | 2018-05-31 | Cox Automotive, Inc. | Multiple agent distributed ledger architecture |
US10832338B1 (en) * | 2016-11-23 | 2020-11-10 | State Farm Mutual Automobile Insurance Company | Systems and methods for building, utilizing and/or maintaining an autonomous vehicle-related event distributed ledger or blockchain |
US10817953B1 (en) * | 2017-03-03 | 2020-10-27 | State Farm Mutual Automobile Insurance Company | Using a distributed ledger for tracking VIN recordkeeping |
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 |
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 |
-
2018
- 2018-07-18 JP JP2018135289A patent/JP7056429B2/ja active Active
-
2019
- 2019-07-16 CN CN201910640304.7A patent/CN110740158B/zh active Active
- 2019-07-16 US US16/512,692 patent/US11263232B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107438003A (zh) * | 2016-05-27 | 2017-12-05 | 索尼公司 | 电子设备、用于电子设备的方法和信息处理系统 |
JP6274680B1 (ja) * | 2016-10-18 | 2018-02-07 | 株式会社大和総研ビジネス・イノベーション | 取引記録システムおよびプログラム |
CN107508859A (zh) * | 2017-07-20 | 2017-12-22 | 北京交通大学 | 车载自组织网络中基于区块链技术的车辆通信方法 |
CN108182482A (zh) * | 2017-11-20 | 2018-06-19 | 广东中科南海岸车联网技术有限公司 | 基于区块链的种植作物的培育监控方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110740158B (zh) | 2024-03-01 |
JP2020013347A (ja) | 2020-01-23 |
US20200026613A1 (en) | 2020-01-23 |
JP7056429B2 (ja) | 2022-04-19 |
US11263232B2 (en) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110737919A (zh) | 历史管理方法、历史管理装置以及历史管理系统 | |
CN110740158A (zh) | 历史管理方法以及历史管理装置 | |
JP7139424B2 (ja) | 車両搭載機器アップグレード方法および関連機器 | |
CN110995513B (zh) | 物联网系统中的数据发送、接收方法、物联网设备及平台 | |
CN111291000B (zh) | 基于区块链的文件获取方法、设备及存储介质 | |
CN111492355B (zh) | 用于控制和/或监控装置的方法和控制系统 | |
US11456874B2 (en) | Vehicle control system for cybersecurity and financial transactions | |
CN114049123A (zh) | 区块链的共识方法、装置、计算机设备和存储介质 | |
EP3751822B1 (en) | Device update transmission using a bloom filter | |
CN115718868A (zh) | 模型训练方法、装置及系统 | |
Falco et al. | A distributedblack box'audit trail design specification for connected and automated vehicle data and software assurance | |
US11438332B2 (en) | Distributed vehicle network access authorization | |
JP2023518402A (ja) | 証明書リスト更新方法および装置 | |
CN117349085B (zh) | 一种数据存储方法、数据备份方法及装置 | |
US20240171564A1 (en) | Application programming interface for certificate management systems | |
CN108763303B (zh) | 平台验证方法、装置、计算机设备和存储介质 | |
KR102542063B1 (ko) | 뉴럴 블록 클러스터 기반의 안전한 블록 체인을 구축하는 장치 및 그 동작 방법 | |
CN116208335A (zh) | 车辆数据的管理方法、装置、服务器、存储介质 | |
JP2021530169A (ja) | 拡張可能な証明書管理システムアーキテクチャ | |
CN104917785A (zh) | 文件生成状态表、文件生成状态报告以及文件传输系统 | |
CN110582080B (zh) | 车载系统流量转移的方法、装置、计算机设备和存储介质 | |
CN111212399B (zh) | 数据传输方法、装置、计算机存储介质及电子设备 | |
WO2023197259A1 (en) | Devices and methods for providing a federated learning model | |
US20240056297A1 (en) | Establishing trust by a community of vehicles | |
US20210176048A1 (en) | Device update transmission using a filter structure |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |