CN110291504B - 用于机动车的控制器和相应的机动车 - Google Patents
用于机动车的控制器和相应的机动车 Download PDFInfo
- Publication number
- CN110291504B CN110291504B CN201880010747.1A CN201880010747A CN110291504B CN 110291504 B CN110291504 B CN 110291504B CN 201880010747 A CN201880010747 A CN 201880010747A CN 110291504 B CN110291504 B CN 110291504B
- Authority
- CN
- China
- Prior art keywords
- application
- controller
- software
- applications
- steps
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000004891 communication Methods 0.000 claims abstract description 22
- 238000000926 separation method Methods 0.000 claims description 12
- 230000003044 adaptive effect Effects 0.000 claims description 4
- 238000000638 solvent extraction Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 9
- 238000012546 transfer Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种用于机动车的控制器(10),其特征在于下列特征:‑所述控制器(10)被设立用于运行多个应用程序(11)和中间应用程序(12);‑所述控制器(10)包括能够由所述应用程序(11)和中间应用程序(12)共同使用的存储器(23);并且‑所述中间应用程序(12)被设立用于通过所述存储器(23)来处理所述应用程序(11)之间的进程间通信(29)。
Description
技术领域
本发明涉及一种用于机动车的控制器。除此以外,本发明涉及一种相应的机动车和一种相应的方法。
背景技术
高度自动化的驾驶(高度自动驾驶、highly automated driving, HAD)这个名称通常是指辅助的驾驶与自主的驾驶之间的开发阶段,其中在辅助驾驶时驾驶员在驾驶任务中通过多个(经常是分开的)驾驶员辅助***来得到辅助,并且其中在自主驾驶时车辆完全自动地并且在没有驾驶员的作用下行驶。对于高度自动化的驾驶来说,车辆在一定程度上拥有自身的智能***,所述自身的智能***能够预先规划并且能够至少在大多数情况中承担驾驶任务。驾驶员和控制器(电子控制单元、electronic control units,ECU)一起操纵着车辆,其中人类驾驶员随时确定,他以多大的程度来干预车辆的行驶状态。
US 2013/0145482 A1说明了一种实现一个或多个处理模块的车辆。这些模块被配置用于与车辆中的不同总线建立连接,其中不同总线与车辆的不同组件相连接,以用于使车辆组件之间的信息传输变得容易。每个处理模块都进一步模块化,从而拥有现在或者将来添加并且替换其他功能模块的能力。这些功能模块本身就能够作为独立的车辆组件来进行行动(agieren)。每个处理模块都能够根据其性能状况、处理负载或者通过第三方控制将处理工作转交给其他模块。因此,多个处理模块有助于实现用于车辆的中间件控制点(Middleware-Steuerpunkt),其在处理中具有冗余并且在其应用中具有安全性和安全性意识。
US 2007/076593 A1公开了一种具有多个节点的车辆控制***,所述节点与通信网络相连接,以用于在通过通信网络发送的数据的基础上执行经过协助的过程,以用于控制车辆,其中每个节点包括以下特征:节点状态-确定部分,该节点状态-确定部分通过通信网络从其他节点处接收节点状态数据并且确定节点状态,所述节点状态显示出多个节点的一种或者多种失效状态和非失效状态;节点状态分析结果-发送/接收部分,其用于将包括自身节点和其他节点的、由节点状态-确定部分所确定的节点状态的节点状态数据发送给其它节点并且用于接收包括自身节点和其它节点的、由其他节点所确定并且通过通信网络来发送的节点状态的节点状态数据;以及失效节点-识别部分,其在所述节点状态数据的基础上识别与通信网络相连接的失效的节点,所述节点状态数据包括自身节点和其他节点的、由节点状态-确定部分所确定并且由其他节点所发送的节点状态,其中所述过程在节点状态-确定部分、节点状态-分析结果-发送/接收部分和失效节点-识别部分中和自身节点与其它节点之间通过通信网络进行的通信同步地来实施,并且失效节点-识别部分用包括应用程序接口的中间件来实现,所述应用程序接口向在自身节点上运行的控制应用程序提供失效节点-识别的结果。
发明内容
本发明提供了按照独立权利要求所述的、一种用于机动车的控制器以及一种相应的机动车和一种方法。
根据本发明的方案在这种情况下基于以下认识:大量用于高度自动化的驾驶的驾驶员辅助***当前处于开发阶段中。目标实现需要掌控大型***。子任务要分配到不同的控制器上,这尤其对子任务之间的通信提出了更高的要求。中间应用程序(中间件)的服务层在这里应该能够实现子任务的灵活分配。
因此,提出了一种有效的中间件方案。该方案的基础是进程间通信(进程间通信、inter-progress communication, IPC)和共同使用的存储器(共享存储器、sharedmemory)。这样的服务层省去了数据的不必要的复制或应用程序的卡住并且因此证明是极其合理。
例如,下面讨论的方案比如能够用于设计用于HAD的参考平台-软件架构并且尤其允许实时处理来自多个传感器的大量数据以及在最高的运行安全性、可靠性并且防止未经授权的篡改的情况下允许车辆与其环境(Car2X)的通信。通过这种方式,现代的多核-控制器以及特别是多个核-控制器以及-由于其提高的性能潜力-从娱乐电子器件(消费电子器件、consumer electronics, CE)中借用的最为不同组件也得到了支持。总的来说,所提出的解决方案因此在效率、可缩放性和可维护性、便携性、数据封装、标准一致性以及比如软件和尤其固件通过无线电接口所实现的可互换性方面(经由无线电的软件、software overthe air, SOTA, 经由无线电的固件、firmware over the air, FOTA)满足了最高的要求。
通过在从属权利要求中所列举的措施,能够实现在独立权利要求中所说明的基本构思的有利的拓展方案和改进方案。因此,能够规定,控制器和操作***如此在应用程序之间进行分离,使得特定的应用程序无权访问能够共同使用的存储器。在此,特别有利的是,所述解决方案包括灵活的用于进行分离的方法。在此尽可能地获得实现的效率。
根据另一方面,能够规定,控制器此外包括用于执行分离的存储器管理单元(存储器管理单元、memory management unit, MMU)。因此,不同的存储器区域的分开可以有利地在相应的硬件中来描绘。
根据另一方面,能够规定,应用程序经由中间应用程序接口来访问中间应用程序,中间应用程序本身经由标准化的接口来访问操作***、数据连接、控制器抽象层、微控制器抽象层、复杂的驱动器或者基础软件的其他服务。因此,数据传送通过这种方式完全通过服务层来抽象化。如果能够保证时延和服务质量,甚至能够将应用程序分配到不同的控制器上。
最后,根据另一方面,能够为控制器提供诸如QNX的符合POSIX标准的操作***。在后一种情况下,各个应用程序之间的所提到的分离可以通过应用软件的自适应的分区(AP)来进行。相应的的调度程序允许实时***的设计者规定为特定的分区-即形成子***的一组活动载体或执行线程(线程、threads)或者进程-保留一定份额的处理资源。
附图说明
在附图中示出了并且在下面的描述中更详细地解释了本发明的实施例。附图中:
图1示出了按照所提出的解决策略的面向中间应用程序的方案。
图2示出了借助于根据本发明的服务层在控制器之间进行的数据传送。
图3示出了借助于根据本发明的服务层进行的控制器-内部的数据传送。
图4示出了用于在有效的用于进行进程间通信的中间应用程序方案的范围内使用共同使用的存储器的解决策略。
图5示出了分离的基础。
图6结合中间应用程序示出了分离的作用。
图7示出了用于在保持具有不同的安全要求的区域的分开的情况下进行进程间通信的解决策略。
图8示出了用于在保持具有不同的安全要求的区域的分开的情况下通过共同使用的存储器进行的进程间通信。
具体实施方式
图1示出了按照所提出的解决策略的、面向中间应用程序的方案。应用程序(11)在此使用特殊的中间应用程序(12)的应用程序编程接口(应用程序编程接口、applicationprogramming interface,API)。数据传送在此仅仅通过中间应用程序(12)来处理,这能够实现轻便、可缩放性和可重用性、数据封装等。这样的方案比如可以在将来有待定义的能适配的并且开放的车辆***架构(开放的车辆***架构、automotive open systemarchitecture, AUTOSAR)的框架内来跟踪。
图2示出了借助于根据本发明的服务层在控制器之间进行的数据传送。在这种情况下,除了AUTOSAR基础软件(15)之外,每个控制器(10)还运行特定的HAD应用软件(14)。根据本发明,基础软件(15)也包括服务层的中间应用程序(12),而应用软件(14)则包括狭义上的单个应用程序(11)。如同应用程序(11)经由中间应用程序接口(13)访问中间应用程序(12),后者又经由标准化接口(16)访问操作***(17)、数据连接(18)、控制器抽象层(19)、微控制器抽象层(20)、复杂的驱动器(21)或基础软件(15)的其他服务。
图3以相应的图示示出了借助于根据本发明的服务层在单个的控制器(10)内部进行的数据传送。这种有效的控制器内部的进程间通信(29)通过所选择的元素例如在AUTOSAR的范围内结合适当的用于共同使用的存储器(23)的API来实现并且代表着嵌入式HAD***的关键能力。
图4示出了用于在所讨论的方案的范围内使用共同使用的存储器(23)的解决策略。控制器(10)包括这样的存储器(23),其能够由不同应用程序(11)和中间应用程序(12)共同使用,中间应用程序(31)之一通过所述存储器(23)来处理应用程序A和B之间的进程间通信(29)。在这种情况下,后者受到相同的安全要求的约束,所述安全要求通过共同的、具有名称A、B、C、D或QM的安全要求等级(汽车安全完整性等级、automotive safetyintegrity level, ASIL)来确定。(这种给定的安全要求等级在下面代表着附图标记X。)
现在要借助于图5来解释分离(25)的基础。符合POSIX标准的操作***、比如QNX允许在进程层面上对应用程序(11)进行这样的分开,所述分开因此也可能在将来的能适配的AUTOSAR-实施方案的范围内来实现。(这当然也适用于包含相应的机制的、与POSIX不符的***。)为此目的,控制器(10)包括-本身未示出的-存储器管理单元。在使用相应的诸如QNX的操作***(17)时,其微内核在运行时间通过应用软件(14)的自适应的分区来支持所述分离(25)。进程内部的各个执行线程(24)不能通过这种方式来容易地分开。
应该注意,示范性地引用的QNX仅仅代表着大量能考虑的目标操作***之一。虽然在其他操作***的环境中也能够考虑所描述的机制。甚至具有管理程序的方案也可受益于根据本发明的设计方案。
在这个方面,根据本发明的中间应用程序(12)的功能在图6中示出。如果观察通过给定的安全要求等级(X)来定义的范围,那就能够通过软件的开发过程以及尤其是严格的分层来强制执行这个范围之内的分离(25)。在不可能做到这一点的情况下-例如在与处于较低的安全要求等级(Y)的应用程序(11)的跨区域通信中-需要明确的机制。
图7示出了这样的机制,所述机制用于在保持具有不同的安全要求的区域的分开的情况下进行进程间通信(29)。在处于所提到的安全要求等级(X)上的第一中间应用程序(31)运行时,一些应用程序(11)访问具有较低的安全要求等级(Y)的第二中间应用程序。不仅对第一中间应用程序(31)而且对第二中间应用程序(32)进行访问的应用程序(11)在此同时用作安全要求等级(X、Y)之间的安全定界符(Sicherheitsbegrenzer)(26)。
图8示出了在这种情况下能够共同使用的存储器(23)的功能:与享有特权的应用程序A相比,非享用特权的应用程序C在这种场景中无权(28)访问能够共同使用的存储器(23)。在最高的安全等级上运行的并且相应地享有特权的应用程序A此外在借助于第二中间应用程序(32)跨区域访问存储器(23)时用作安全定界符(27)。
Claims (11)
1.用于机动车的控制器(10),
其特征在于下列特征:
-所述控制器(10)被设立用于运行多个应用程序(11)和中间应用程序(12),
-所述控制器(10)包括能够由所述应用程序(11)和中间应用程序(12)共同使用的存储器(23),
-所述中间应用程序(12)被设立用于通过所述存储器(23)来处理所述应用程序(11)之间的进程间通信(29),
-所述控制器(10)被设立用于运行应用软件(14)以及基础软件(15),
-所述应用程序(11)包括享有特权的应用程序(A、B)和非享有特权的应用程序(C),
-所述应用程序(11)分别具有至少一个执行线程(24),
-所述控制器(10)和操作***(17)被设立用于在所述应用程序(11)之间如此进行分离(25),使得所述非享有特权的应用程序(C)无权访问能够共同使用的存储器(23),
-通过所述应用软件(14)的自适应的分区来进行所述分离(25)。
2.根据权利要求1所述的控制器(10),
其特征在于以下特征:
-所述控制器(10)被设立用于运行用于用来高度自动化地驾驶机动车的驾驶员辅助***的应用软件(14)以及基础软件(15),
-所述基础软件(15)包括所述中间应用程序(12),并且
-所述应用软件(14)包括所述应用程序(11)。
3.根据权利要求1所述的控制器(10),
其特征在于以下特征:
-所述应用程序(11)被设立用于通过中间应用程序接口(13)来访问所述中间应用程序(12),并且
-所述中间应用程序(12)被设立用于通过标准化的接口(16)来访问操作***(17)、数据连接(18)、控制器抽象层(19)、微控制器抽象层(20)、复杂的驱动器(21)或者基础软件(15)的其他服务(22)。
4.根据权利要求3所述的控制器(10),
其特征在于以下特征:
-所述控制器(10)此外包括存储器管理单元,并且
-所述存储器管理单元被设立用于进行所述分离(25)。
5.根据权利要求3或4所述的控制器(10),
其特征在于以下特征:
-对于所述机动车的给定的安全要求等级(X)来说,所述中间应用程序(12)包括处于所提到的安全要求等级(X)上的第一中间应用程序(31)和至少一个处于较低的安全要求等级(Y)上的第二中间应用程序(32),并且
-不仅对所述第一中间应用程序(31)而且对所述第二中间应用程序(32)进行访问的应用程序(11)被设立为所述安全要求等级(X、Y)之间的安全定界符(26)。
6.根据权利要求3至5中任一项所述的控制器(10),
其特征在于以下特征:
-所述操作***(17)符合POSIX标准。
7.根据权利要求6所述的控制器(10),
其特征在于以下特征:
-所述操作***(17)是QNX。
8.机动车,其具有根据权利要求1至7中任一项所述的控制器(10)。
9.用于控制机动车的方法,
其特征在于以下特征:
-在共同的控制器(10)上运行多个应用程序(11)和中间应用程序(12),
-所述控制器(10)的存储器(23)由所述应用程序(11)和中间应用程序(12)共同使用,
-所述应用程序(11)之间的进程间通信(29)通过所述中间应用程序(12)经由所述存储器(23)来处理,
-通过所述控制器(10)来运行应用软件(14)以及基础软件(15)
-所述应用程序(11)包括享有特权的应用程序(A、B)和非享有特权的应用程序(C),
-所述应用程序(11)分别具有至少一个执行线程(24),
-所述控制器(10)和操作***(17)被设立用于在所述应用程序(11)之间如此进行分离(25),使得所述非享有特权的应用程序(C)无权访问能够共同使用的存储器(23),
-通过所述应用软件(14)的自适应的分区来进行所述分离(25)。
10.根据权利要求9所述的方法,
其特征在于以下特征:
-通过所述控制器(10)来运行用于用来高度自动化地驾驶机动车的驾驶员辅助***的应用软件(14)以及基础软件(15),
-所述基础软件(15)包括所述中间应用程序(12),并且
-所述应用软件(14)包括所述应用程序(11)。
11.根据权利要求9所述的方法,
其特征在于以下特征:
-所述应用程序(11)通过中间应用程序接口(13)来访问所述中间应用程序(12),并且
-所述中间应用程序(12)通过标准化接口(16)来访问操作***(17)、数据连接(18)、控制器抽象层(19)、微控制器抽象层(20)、复杂的驱动器(21)或者所述基础软件(15)的其他服务(22)。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102017201966.2A DE102017201966A1 (de) | 2017-02-08 | 2017-02-08 | Steuergerät für ein Kraftfahrzeug und entsprechendes Kraftfahrzeug |
DE102017201966.2 | 2017-02-08 | ||
PCT/EP2018/052568 WO2018146000A1 (de) | 2017-02-08 | 2018-02-01 | Steuergerät für ein kraftfahrzeug und entsprechendes kraftfahrzeug |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110291504A CN110291504A (zh) | 2019-09-27 |
CN110291504B true CN110291504B (zh) | 2023-11-21 |
Family
ID=61192897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880010747.1A Active CN110291504B (zh) | 2017-02-08 | 2018-02-01 | 用于机动车的控制器和相应的机动车 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN110291504B (zh) |
DE (1) | DE102017201966A1 (zh) |
WO (1) | WO2018146000A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102019203354A1 (de) | 2019-03-12 | 2020-09-17 | Robert Bosch Gmbh | Datenstruktur für ein eingebettetes System, entsprechendes System und Fahrzeug |
DE102019203353A1 (de) | 2019-03-12 | 2020-09-17 | Robert Bosch Gmbh | Datenstruktur für ein eingebettetes System, entsprechendes System und Fahrzeug |
DE102019214161A1 (de) | 2019-09-17 | 2021-03-18 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Automatisieren einer Fahrfunktion |
DE102019214162A1 (de) | 2019-09-17 | 2021-03-18 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Simulieren eines Steuergerätes |
DE102022133985A1 (de) | 2022-12-20 | 2024-06-20 | Valeo Schalter Und Sensoren Gmbh | Steuergerät mit QM-Betriebssystem als Servicearchitektur für ASIL-Anwendungen |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7730261B1 (en) * | 2005-12-20 | 2010-06-01 | Marvell International Ltd. | Multicore memory management system |
US8286188B1 (en) * | 2007-04-27 | 2012-10-09 | Marvell Israel (M.I.S.L.) Ltd. | Method and apparatus for advanced interprocess communication |
CN103684963A (zh) * | 2013-11-18 | 2014-03-26 | 重庆邮电大学 | 一种面向车联网应用的中间件架构***及实现方法 |
CN104133728A (zh) * | 2013-12-16 | 2014-11-05 | 腾讯科技(深圳)有限公司 | 一种进程间通讯的方法、及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4871687B2 (ja) | 2005-10-03 | 2012-02-08 | 日立オートモティブシステムズ株式会社 | 車両制御システム |
US20130151065A1 (en) | 2011-11-16 | 2013-06-13 | Flextronics Ap, Llc | Communications based on vehicle diagnostics and indications |
-
2017
- 2017-02-08 DE DE102017201966.2A patent/DE102017201966A1/de active Pending
-
2018
- 2018-02-01 WO PCT/EP2018/052568 patent/WO2018146000A1/de active Application Filing
- 2018-02-01 CN CN201880010747.1A patent/CN110291504B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7730261B1 (en) * | 2005-12-20 | 2010-06-01 | Marvell International Ltd. | Multicore memory management system |
US8286188B1 (en) * | 2007-04-27 | 2012-10-09 | Marvell Israel (M.I.S.L.) Ltd. | Method and apparatus for advanced interprocess communication |
CN103684963A (zh) * | 2013-11-18 | 2014-03-26 | 重庆邮电大学 | 一种面向车联网应用的中间件架构***及实现方法 |
CN104133728A (zh) * | 2013-12-16 | 2014-11-05 | 腾讯科技(深圳)有限公司 | 一种进程间通讯的方法、及装置 |
Also Published As
Publication number | Publication date |
---|---|
DE102017201966A1 (de) | 2018-08-09 |
WO2018146000A1 (de) | 2018-08-16 |
CN110291504A (zh) | 2019-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110291504B (zh) | 用于机动车的控制器和相应的机动车 | |
EP2235628B1 (de) | Kraftfahrzeug-steuervorrichtung | |
US11474859B2 (en) | Method, device, and real-time network for highly integrated automotive systems | |
US10214189B2 (en) | Interface for interchanging data between redundant programs for controlling a motor vehicle | |
US5957985A (en) | Fault-resilient automobile control system | |
US9026307B2 (en) | Vehicle control system | |
Reinhardt et al. | Achieving a scalable e/e-architecture using autosar and virtualization | |
CN111338315B (zh) | Autosar中的虚拟电子控制单元 | |
KR102485288B1 (ko) | 차량용 제어기 및 그것의 운영체제 스케쥴링 방법 | |
CN111791886B (zh) | 用于车辆的实时控制***以及经由实时控制***执行车辆控制的方法 | |
CN114637619A (zh) | 车辆控制器及其错误管理方法 | |
Brewerton et al. | Demonstration of automotive steering column lock using multicore autosar® operating system | |
JP5365584B2 (ja) | 制御装置 | |
WO2018127394A1 (en) | Scalable control system for a motor vehicle | |
JP2004220326A (ja) | 制御ソフトウエア構造およびこの構造を用いた制御装置 | |
CN114633705A (zh) | 带有同步驱动程序的车辆控制装置 | |
Eloranta et al. | A pattern language for distributed machine control systems | |
Mundhenk et al. | Fusion: A Safe and Secure Software Platform for Autonomous Driving | |
EP3982250A1 (en) | Generation of code for a system | |
Gandhi et al. | Techniques and measures for improving domain controller availability while maintaining functional safety in mixed criticality automotive safety systems | |
US20190347130A1 (en) | Method and device for activating tasks in an operating system | |
Jakobs et al. | Dynamic vehicle software with AUTOCONT | |
JP2010033437A (ja) | 制御装置、制御方法及びコンピュータプログラム | |
WO2024061700A1 (en) | A computation platform for automotive applications | |
Obermaisser et al. | DECOS: eine integrierte zeitgesteuerte Architektur |
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 |