CN104598249B - 多租户感知的软件个性化定制与部署方法 - Google Patents
多租户感知的软件个性化定制与部署方法 Download PDFInfo
- Publication number
- CN104598249B CN104598249B CN201510059473.3A CN201510059473A CN104598249B CN 104598249 B CN104598249 B CN 104598249B CN 201510059473 A CN201510059473 A CN 201510059473A CN 104598249 B CN104598249 B CN 104598249B
- Authority
- CN
- China
- Prior art keywords
- software
- tenant
- feature
- customization
- features
- 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
Landscapes
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种多租户感知的软件个性化定制与部署方法。本发明首先对不同租户的个性化软件定制需求分析描述,并将不同租户的个性化软件表示为软件功能特征集合。其次租户通过多租户软件特征集合进行软件定制,快速构建软件特征依赖关系图,并对租户定制的软件应用进行特征依赖和特征约束检查。然后将租户软件应用的定制描述和相关数据文件打包上传到多租户软件应用部署装置中,对租户软件应用定制描述的格式和相关文件的存在位置进行正确性检查,并对上传的数据文件进行解析。最后对租户定制特征所消耗的资源进行计算,构建特征部署优先级函数,并根据该函数进行多租户软件特征部署。本发明实现了软件租户数目和收益的最大化。
Description
技术领域
本发明属于云计算应用技术领域,具体涉及到一种多租户感知的软件个性化定制与部署方法。
背景技术
随着互联网的普及和信息技术的迅猛发展,新型软件架构在不断革新,企业应用软件开发模式逐步趋于网络化、平台化、服务化。在这种背景下,多租户软件开发模式作为一种新型的软件交付和用户使用模式,凭借其按需租用、无需用户维护、易于扩展等特点,逐渐受到用户和软件厂商的青睐。
事实证明,多租户软件开发模式以一种低成本、高效率的服务模式更好地解决了众多用户软件需求各不相同的问题。相对于传统软件,多租户软件的最大特点在于采用了多租户架构,即同一个应用软件实例可以被大量租户共享使用。
目前,虽然多租户软件开发模式取得了一定的成功,但是仍然存在如下问题亟需解决:首先,在多租户软件开发模式下,用户所租用的软件和服务大多是由服务提供商预先提供,而服务提供商不可能预先想到用户所有可能的需求,从而无法实现多租户软件的个性化定制。其次,多租户软件定制完成后,需要对租户定制的软件进行部署,在服务器总资源一定的情况下,如何充分利用服务器资源保证所部署的多租户软件总收益最大,目前还没有一个很好的解决方案。因此,需要构建一种快速有效的、支持多租户的软件个性化定制与部署方法。
发明内容
本发明针对现有技术的不足,提供了一种多租户感知的软件个性化定制与部署方法。
本发明方法的具体步骤是:
步骤(1).多租户软件开发商对不同租户的个性化软件定制需求分析描述,并将不同租户的个性化软件表示为软件功能特征集合,该特征集合包括强制依赖关系特征集、可变依赖关系特征集和约束关系特征集。
步骤(2).利用多租户软件应用生成装置生成租户软件应用,并根据步骤(1)得到的特征集,生成租户定制软件特征依赖表,用于存放软件可变特征之间的对应关系,租户定制软件特征依赖表包括源点特征、终点特征以及特征之间的依赖关系。
步骤(3).基于步骤(2)得到的租户定制软件特征依赖表,快速构建软件特征依赖关系图,并对租户定制的软件应用进行特征依赖和特征约束检查。
步骤(4).将经过特征依赖和特征约束检查的租户软件应用的定制描述和相关数据文件打包上传到多租户软件应用部署装置中。
步骤(5).对租户软件应用的定制描述格式和相关文件存在位置进行正确性检查,并对上传的数据文件进行解析。
步骤(6).通过特征资源消耗计算模块对租户定制软件中的所有特征进行资源消耗量计算。
步骤(7).根据步骤(6)得到的结果,计算特征资源消耗综合值αf,并读取租约关系t和租户定制软件特征依赖表,计算特征f在整个租户定制软件中的重要度βf,由此构建特征部署优先级函数并计算特征f的部署优先级值Kf。
步骤(8).根据特征部署优先级值Kf,对租户定制的所有特征进行部署优先级逆序排序,得到特征部署优先序列Ly。
步骤(9).循环选取特征部署优先序列Ly中的特征,将其部署到多租户软件服务器上,如果存在满足待部署特征f资源需求的服务器,则部署成功,反之部署失败。
本发明所提供的多租户感知的软件个性化定制与部署方法由一组功能模块组成,它们包括:多租户软件特征集生成模块、租户软件应用生成模块、特征依赖与约束检查模块、特征资源消耗计算模块、特征部署优先级计算模块、特征部署模块。
多租户软件特征集生成模块,对不同租户的个性化软件定制需求分析描述,并将不同租户的个性化软件表示为软件功能特征集合,该特征集合包括强制依赖关系特征集、可变依赖关系特征集和约束关系特征集。
租户软件应用生成模块,根据多租户软件的功能特征集,生成租户定制软件特征依赖表,用于存放软件特征之间的对应关系,租户定制软件特征依赖表包括源点特征、终点特征以及特征之间的依赖关系。
特征依赖与约束检查模块,基于租户定制软件特征依赖表,快速构建软件特征依赖关系图,通过遍历该依赖关系图对租户定制软件中的特征依赖和特征约束进行同时检查,确保租户软件定制的正确性和合理性。
特征资源消耗计算模块,通过读取租约关系t和租户定制软件特征依赖表,充分考虑特征本身以及特征之间由于依赖或竞争关系对服务器资源产生的消耗因素,对租户定制软件中的所有特征进行资源消耗量计算。
特征部署优先级计算模块,根据特征资源消耗计算模块所产生的结果,对租户定制软件中的特征资源消耗综合值αf和特征在整个租户软件中的重要度βf进行计算,由此构建特征部署优先级函数并计算特征部署优先级值Kf。
特征部署模块,根据特征部署优先级值Kf,对租户定制的所有特征进行部署优先级逆序排序,得到特征部署优先序列Ly,循环选取序列Ly中的特征,将其部署到多租户软件服务器上。
本发明提出的方法通过对不同租户的个性化软件定制需求分析描述,并将不同租户的个性化软件表示为软件功能特征集合,租户通过该特征集合进行软件定制,然后对定制的软件进行特征依赖和特征约束检查,从而实现了多租户软件的个性化定制;该方法在服务器资源一定的情况下,充分考虑了软件特征之间的依赖关系和租户的特征定制偏好,对租户定制特征所消耗的资源进行计算,构建特征部署优先级函数,并根据该函数进行多租户软件部署,通过优先部署软件的关键特征和租户的重要特征,从而实现了软件租户数目和收益的最大化。
附图说明
图1总体流程图;
图2特征依赖关系图;
图3特征不一致性约束图;
图4特征部署流程图。
具体实施方式
本发明所提供的多租户感知的软件个性化定制与部署方法的具体实施方式主要分4步(如图1所示):
(1)对不同租户的个性化软件定制需求分析描述,并将不同租户的个性化软件表示为软件功能特征集合;(2)租户通过多租户软件特征集合进行软件定制,快速构建软件特征依赖关系图,并对租户定制的软件应用进行特征依赖和特征约束检查;(3)将租户软件应用的定制描述和相关数据文件打包上传到多租户软件应用部署装置中,对租户软件应用定制描述的格式和相关文件的存在位置进行正确性检查,并对上传的数据文件进行解析;(4)对租户定制特征所消耗的资源进行计算,构建特征部署优先级函数,并根据该函数进行多租户软件特征部署。
为叙述方便,定义相关符号如下:
FGMA:强制依赖特征集合,当父特征被选中时,强制特征对应的实例必须包含在租户所选软件中。
FGAL:可变性依赖中“多选一”特征集合,集合中的特征在其父特征出现的租户定制软件中只能有一个特征实例被选取。
FGOR:可变性依赖中“多选多”特征集合,集合中的特征在其父特征出现的租户定制软件中至少有一个特征被选取。
FGOP:可变性依赖中“可选”特征集合,当父特征出现在租户定制软件中时,需要根据进一步的选择来确定可选特征是否应该包含到该租户定制软件实例中,即可选特征表示可以被选择也可以不被选择的特征。
FGEX:可变性约束特征集合,该特征集合中存在排斥约束关系的特征不能同时存在。
在服务器没有放置租户时,软件应用a中的特征实例f对服务器资源i的消耗量。
AIf,a:软件应用a中与特征f有依赖关系的其他相关特征对特征f在服务器资源i消耗量上的影响。
Qij:应用软件服务器j本身对服务器资源i的消耗量。
不同租户进行数据隔离所产生的服务器资源i的消耗量。
软件应用a中的特征实例f与f′因竞争而产生的资源i的消耗量。
定制软件并发量为u时,特征f对资源i的消耗量。
(1)租户个性化软件定制需求分析、描述
对不同租户的个性化软件定制需求分析描述,并将不同租户的个性化软件表示为软件功能特征集合,该特征集合包括强制依赖关系特征集、可变依赖关系特征集和约束关系特征集,特征集合FG可表示为:
FG=FGMA+FGAL+FGOR+FGOP+FGEX
(2)租户定制软件生成,特征依赖和约束检查
多租户软件应用开发商将软件功能特征集进行可视化处理,以供租户定制选择。租户选取需要的特征后,系统自动生成租户定制软件特征依赖表,用于存放软件可变特征之间的对应关系,租户定制软件特征依赖表包括源点特征、终点特征以及特征之间的依赖关系,特征依赖关系包括:
分解依赖:当多个特征同时继承某一特征时,多个特征分解依赖于该特征。
泛化依赖:当多个特征共同组成某一特征时,该特征泛化依赖于其它特征。
需要依赖/排斥依赖:当多个特征之间出现需求或排斥关系时,不同特征互为需要依赖或排斥依赖。
顺序依赖:当两个特征之间存在执行顺序关系时,后执行的特征顺序依赖于先执行的特征。
并行依赖:同时处于执行状态的特征互为并行依赖。
协同依赖:同时具有顺序依赖和并行依赖的特征互为协同依赖。
改变依赖:当一个特征能够改变其它特征时,后者改变依赖于前者。
可选依赖:可选特征为虚特征,是否选择该特征具有不确定性,即可选依赖特征表示的是特征选择的不确定性,需要进一步选择处理。
基于所得到的租户定制软件特征依赖表,快速构建软件特征依赖关系图(如图2所示),并对租户定制的软件应用进行特征依赖和特征约束检查。
特征依赖检查,即系统自动检查租户定制的软件特征集合中是否已经包含每一个所选特征的依赖特征;特征约束检查,即系统自动检查所选特征之间矛盾的、不一致的特征依赖关系,特征约束检查(如图3所示)包括:需求依赖关系链中不能存在排斥依赖特征(如图3.(a)所示)、排斥关系链中不能存在需求依赖特征(如图3.(b)所示)、租户特征多选一(特征存在排斥依赖关系且只能选取一个特征)关系中不能存在需求依赖特征(如图3.(c)所示)、租户特征多选多(至少选取一个特征)关系中不能存在排斥依赖特征(如图3.(d)所示)。
(3)租户软件定制描述打包上传、正确性检查、文件解析
将经过特征依赖和特征约束检查的租户软件应用的定制描述和相关数据文件打包上传到多租户软件应用部署装置中。软件应用定制描述包括:功能特征描述、角色描述、参数描述、服务描述、规则描述、数据存储描述;相关数据文件包括:特征依赖关系表、特征资源消耗表、特征依赖影响表、租约t。
采用schema语言对租户软件应用定制描述的格式进行验证,对相关文件的存在位置进行正确性检查,并将传入的数据文件进行解析,如果存在错误则退回第(2)步重新执行。
(4)多租户软件特征部署
通过软件特征资源消耗计算模块对租户定制软件中的所有特征进行资源消耗量计算,特征资源消耗量计算公式可以表示为:
计算特征资源消耗综合值αf:
其中,表示原子特征对资源i的消耗系数,资源集合I包括CPU、内存和带宽,由于不同的特征服务类型对资源需求的偏向程度也不尽相同,因此可以根据不同的特征服务类型来选择不同的资源消耗系数。
读取租约关系t和租户定制软件特征依赖表,计算特征f在整个租户定制软件中的重要度βf:
βf=aβfT+bβfs
其中,βfT是从租户的角度来表述原子特征对租户所定制软件功能的重要度值,βfs是从整个软件系统的角度来表述原子特征重要度值。a、b分别表示租户和系统对特征部署重要度值的权重,且a+b=1。βf综合考虑租户特征选择的偏好程度和特征实例对整个多租户软件的影响程度,从而可以更好的完成多租户软件特征部署任务。
由此构建特征部署优先级函数并计算特征f的部署优先级值Kf:
根据特征部署优先级值Kf,对租户定制的所有特征进行部署优先级逆序排序,得到特征部署优先序列Ly。
循环选取特征部署优先序列Ly中的特征,并将其部署到多租户软件服务器上,具体情况如图4所示:
a.从服务器列表S中选取能够满足待部署特征f所需资源的服务器s。
b.如果服务器列表S中没有任何能够满足特征f资源需求的服务器s,则需要进行回溯处理:
如果特征回溯处理次数小于5次,则特征f的部署优先级值Kf减1,并将该特征重新插入特征部署队列Ly中,等待下一次部署过程。
如果特征回溯处理次数等于5次,则特征f部署失败,并进行下一个特征部署。
c.如果存在满足特征f资源需求的服务器s,且服务器s中不存在特征f的部署实例,则特征部署存在如下情况:
如果待部署特征f为多租户软件关键特征或者租户租约中特别重要特征,则为特征f新建实例,满足其资源需求并持久化处理,即所分配资源不能释放给其他特征使用。
如果待部署特征f在租约中的软件并发用户数量很多且请求间隔时间短,则同上处理,新建特征f实例,为其分配所需资源并持久化处理。
如果待部署特征f没有租户定制或定制的租户数量很少,则该特征暂不部署,并标记,在其被使用时再进行部署。
d.如果存在满足特征f资源需求的服务器s,且服务器s中已经存在特征f的部署实例,该实例能够支持的租户数也并没有达到规定上限,则该特征f部署成功,且服务器资源无须减少(共享同一特征实例);如果特征f实例支持租户的数量已经超过规定上限,则为该特征重新选取满足其资源需求的服务器s进行部署。
e.重新计算服务器s的资源剩余量,如果服务器s中所有资源剩余量都为0,则将该服务器s从多租户软件服务器列表S中删除;否则,需要在服务器列表S中对s的资源剩余量进行更新处理。
本发明可用于云计算中多租户软件的开发和部署,以高效地实现多租户软件的个性化定制和服务器资源的最大化利用。
Claims (1)
1.多租户感知的软件个性化定制与部署方法,其特征在于该方法的具体步骤是:
步骤(1).多租户软件开发商对不同租户的个性化软件定制需求分析描述,并将不同租户的个性化软件表示为软件功能特征集合,该特征集合包括强制依赖关系特征集、可变依赖关系特征集和约束关系特征集;
步骤(2).利用多租户软件应用生成装置生成租户软件应用,并根据步骤(1)得到的特征集,生成租户定制软件特征依赖表,用于存放软件可变特征之间的对应关系,租户定制软件特征依赖表包括源点特征、终点特征以及特征之间的依赖关系;
步骤(3).基于步骤(2)得到的租户定制软件特征依赖表,快速构建软件特征依赖关系图,并对租户定制的软件应用进行特征依赖和特征约束检查;
步骤(4).将经过特征依赖和特征约束检查的租户软件应用的定制描述和相关数据文件打包上传到多租户软件应用部署装置中,所述的相关数据文件包括特征依赖关系表、特征资源消耗表、特征依赖影响表和定制租约关系t;
步骤(5).对租户软件应用的定制描述格式和相关文件存在位置进行正确性检查,并对上传的数据文件进行解析;
步骤(6).通过特征资源消耗计算模块对租户定制软件中的所有特征进行资源消耗量计算:
设租户与软件应用之间存在定制租约关系t,当软件应用a的一个特征f运行在服务器j上时,特征f对服务器资源i的消耗量为
步骤(7).根据步骤(6)得到的结果,计算特征资源消耗综合值αf,并读取租约关系t和租户定制软件特征依赖表,计算特征f在整个租户定制软件中的重要度βf,由此构建特征部署优先级函数并计算特征f的部署优先级值Kf,计算如下:
<mrow>
<msub>
<mi>&alpha;</mi>
<mi>f</mi>
</msub>
<mo>=</mo>
<msqrt>
<mrow>
<munder>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>&Element;</mo>
<mi>I</mi>
</mrow>
</munder>
<mrow>
<mo>(</mo>
<msub>
<mo>&part;</mo>
<mi>i</mi>
</msub>
<mo>&times;</mo>
<msubsup>
<mi>CI</mi>
<mrow>
<mi>f</mi>
<mo>,</mo>
<mi>a</mi>
</mrow>
<mi>i</mi>
</msubsup>
<mo>)</mo>
</mrow>
</mrow>
</msqrt>
</mrow>
βf=aβfT+bβfS
<mrow>
<msub>
<mi>K</mi>
<mi>f</mi>
</msub>
<mo>=</mo>
<mfrac>
<msub>
<mi>&beta;</mi>
<mi>f</mi>
</msub>
<msub>
<mi>&alpha;</mi>
<mi>f</mi>
</msub>
</mfrac>
</mrow>
其中:表示原子特征对资源i的消耗系数,表示特征资源消耗量;βfT是从租户的角度来表述原子特征对租户所定制软件功能的重要度值,βfS是从整个软件系统的角度来表述原子特征重要度值,a、b分别表示租户和系统对特征部署重要度值的权重,a+b=1;
步骤(8).根据特征部署优先级值Kf,对租户定制的所有特征进行部署优先级逆序排序,得到特征部署优先序列Ly;
步骤(9).循环选取特征部署优先序列Ly中的特征,将其部署到多租户软件服务器上,如果存在满足待部署特征f资源需求的服务器,则部署成功,反之部署失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510059473.3A CN104598249B (zh) | 2015-02-05 | 2015-02-05 | 多租户感知的软件个性化定制与部署方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510059473.3A CN104598249B (zh) | 2015-02-05 | 2015-02-05 | 多租户感知的软件个性化定制与部署方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104598249A CN104598249A (zh) | 2015-05-06 |
CN104598249B true CN104598249B (zh) | 2017-09-01 |
Family
ID=53124069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510059473.3A Active CN104598249B (zh) | 2015-02-05 | 2015-02-05 | 多租户感知的软件个性化定制与部署方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104598249B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015112614A1 (en) | 2014-01-21 | 2015-07-30 | Oracle International Corporation | System and method for supporting multi-tenancy in an application server, cloud, or other environment |
US11477278B2 (en) | 2014-06-24 | 2022-10-18 | Oracle International Corporation | System and method for supporting partitions in a multitenant application server environment |
JP6866307B2 (ja) * | 2015-10-23 | 2021-04-28 | オラクル・インターナショナル・コーポレイション | マルチテナント・ミドルウェア・アプリケーションから呼出されたosプログラムのマルチテナント実行のためのシステムおよび方法 |
CN106547849B (zh) * | 2016-10-18 | 2019-11-26 | 华南师范大学 | 一种满足租户差异化需求的多租户数据库的构建方法 |
CN108900435B (zh) * | 2018-06-20 | 2022-06-07 | 郑州云海信息技术有限公司 | 一种业务部署的方法、装置及计算机存储介质 |
CN111679883B (zh) * | 2020-05-18 | 2023-03-28 | 广东海光云科技股份有限公司 | 数据优先部署的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102135883A (zh) * | 2011-03-14 | 2011-07-27 | 山东大学 | 一种支持SaaS应用生成与部署的方法和装置 |
US8356274B2 (en) * | 2008-07-07 | 2013-01-15 | International Business Machines Corporation | System and methods to create a multi-tenancy software as a service application |
CN103577195A (zh) * | 2013-11-14 | 2014-02-12 | 中国联合网络通信集团有限公司 | 一种软件需求分析量化方法及系统 |
-
2015
- 2015-02-05 CN CN201510059473.3A patent/CN104598249B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8356274B2 (en) * | 2008-07-07 | 2013-01-15 | International Business Machines Corporation | System and methods to create a multi-tenancy software as a service application |
CN102135883A (zh) * | 2011-03-14 | 2011-07-27 | 山东大学 | 一种支持SaaS应用生成与部署的方法和装置 |
CN103577195A (zh) * | 2013-11-14 | 2014-02-12 | 中国联合网络通信集团有限公司 | 一种软件需求分析量化方法及系统 |
Non-Patent Citations (4)
Title |
---|
A Policy-Driven Approach for Software-as-Services Customization;Kuo ZHANG et al;《The 9th International Conference on E-Commerce Technology and The 4th IEEE International Conference On Enterprise Computing,E-Commerce and E-Services》;20071231;第123-130页 * |
Software as a Service:Configuration and Customization Perspectives;Wei Sun et al;《Congress on Services Part II,2008,SERVICES-2.IEEE.IEEE》;20081231;第18-25页 * |
支持多租约个性化业务定制的SaaS业务-租约模型;张一川等;《东北大学学报(自然科学版)》;20120531;第33卷(第5期);第637-640页 * |
面向SaaS应用的租户多级定制模型研究;郑旭旭;《万方学位论文数据库》;20111031;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104598249A (zh) | 2015-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104598249B (zh) | 多租户感知的软件个性化定制与部署方法 | |
CN111417950B (zh) | 用于提供自动文档填写功能的系统和方法 | |
US11775285B2 (en) | System and method for managing a public software component ecosystem using a distributed ledger | |
US8589344B2 (en) | Systems and methods for generating iterated distributions of data in a hierarchical database | |
Eismann et al. | Predicting the costs of serverless workflows | |
US8396880B2 (en) | Systems and methods for generating an optimized output range for a data distribution in a hierarchical database | |
US9798523B2 (en) | Method for generating workflow model and method and apparatus for executing workflow model | |
AU2015331025A1 (en) | Emulating manual system of filing using electronic document and electronic file | |
US10817662B2 (en) | Expert system for automation, data collection, validation and managed storage without programming and without deployment | |
WO2008147616A1 (en) | System and method for rapid development of software applications | |
US20190057111A1 (en) | File Management Method | |
US20090193036A1 (en) | Document specialization processing in a content management system | |
US20150254740A1 (en) | Non-Intrusive Cloud Services Billing | |
US20160196304A1 (en) | Abstractly implemented data analysis systems and methods therefor | |
Brogi et al. | Sommelier: a tool for validating TOSCA application topologies | |
CN109885290B (zh) | 应用程序服务描述信息生成与发布方法、装置和存储介质 | |
WO2016060550A1 (en) | Electronic processing system for electronic document and electronic file | |
Basile et al. | FMCAT: supporting dynamic service-based product lines | |
CN109214645A (zh) | 基于模块计量的开发方法及系统 | |
CN111045928B (zh) | 一种接口数据测试方法、装置、终端及存储介质 | |
US20140101634A1 (en) | Ontology-based user requirement decomposition for component selection for service provision | |
US11386108B2 (en) | Mining data transformation flows in spreadsheets | |
US20130346267A1 (en) | Enterprise payroll application configuration and provisioning | |
Jordão et al. | Formulation of design space exploration problems by composable design space identification | |
CN111125594A (zh) | 面向分布式系统中管理大量任务输入参数的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |