CN107273059A - 一种存储命令的配置方法及系统 - Google Patents

一种存储命令的配置方法及系统 Download PDF

Info

Publication number
CN107273059A
CN107273059A CN201710546442.XA CN201710546442A CN107273059A CN 107273059 A CN107273059 A CN 107273059A CN 201710546442 A CN201710546442 A CN 201710546442A CN 107273059 A CN107273059 A CN 107273059A
Authority
CN
China
Prior art keywords
order
affairs
memory
collocation method
failure
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.)
Pending
Application number
CN201710546442.XA
Other languages
English (en)
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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710546442.XA priority Critical patent/CN107273059A/zh
Publication of CN107273059A publication Critical patent/CN107273059A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种存储命令的配置方法,包括步骤:提交命令事务至命令存储器中,并对所述命令存储器进行监测;其中,所述命令事务包括一个或多个命令;当监测到所述命令存储器中存储有命令,则执行该命令,得到相应的命令执行结果。本发明将命令事务的提交和命令的执行分为两个不直接关联的部分,命令事务的提交和命令执行为异步操作,运维人员只需要提交简单的命令事务即可,系统监测到有命令提交后,自动执行该命令。而命令事务的提交所需要的时间比命令执行的时间要少,与现有技术中运维人员不仅负责命令提交,还要负责命令执行相比,有效减少了运维的工作量,显著提高了运维的效率。本申请还公开了一种具有相应优点的存储命令的配置系统。

Description

一种存储命令的配置方法及系统
技术领域
本发明涉及存储软件领域,特别涉及一种存储命令的配置方法及系统。
背景技术
存储系统,是指计算机中由存放程序和数据的各种存储设备、控制部件及管理信息调度的设备和算法所组成的系统。随着计算机技术的发展,对存储系统的性能的要求也越来越高。因此现有技术中出现了运行性能高、存储容量大、配置方法复杂的存储系统。
由于存储系统的性能增强,存储系统提供的业务增多,系统需要的配置命令增多,对运维人员提出了更高的技术要求;而系统的功能变多,命令的复杂度变高,由此导致命令的运行时间变长,增加了运维人员的工作量。
发明内容
有鉴于此,本发明的目的在于提供一种存储命令的配置方法及系统,降低运维人员的工作量和技术要求。其具体方案如下:
一种存储命令的配置方法,包括:
提交命令事务至命令存储器中,并对所述命令存储器进行监测;其中,所述命令事务包括一个或多个命令;
当监测到所述命令存储器中存储有命令,则执行该命令,得到相应的命令执行结果。
优选的,所述提交命令事务至命令存储器中的过程之前还包括:
通过命令反转器分别对所述命令事务中的每一命令进行反向转换,相应地得到所述命令事务中每一命令的回退命令。
优选的,所述配置方法还包括:
当所述命令事务中的任意命令执行失败,则对所述命令事务中执行失败的命令再次执行,或自动回退,或挂起不再执行,等待系统管理员手动干预。
优选的,所述提交命令事务至命令存储器中的过程之前还包括:
通过命令模拟器对所述命令事务中的全部命令进行模拟执行。
优选的,所述通过命令模拟器对所述命令事务进行模拟执行之前还包括:
通过命令反转器分别对所述命令事务中的每一命令进行反向转换,相应地得到所述命令事务中每一命令的回退命令。
优选的,所述配置方法还包括:
如果所述命令事务中任意命令的模拟执行失败,则对所述命令事务中模拟执行失败的命令再次执行,或自动回退,或挂起不再执行,等待系统管理员手动干预。
优选的,所述当监测到所述命令存储器中存储所述命令事务,则执行所述命令存储器中的所述命令事务的过程包括:
定时监测所述命令存储器中是否存储有命令;
如果所述命令存储器中存储有命令,则执行该命令,得到相应的命令执行结果。
相应的,本发明还公开了一种存储命令的配置系统,包括:
提交模块,用于提交命令事务至命令存储器中;其中,所述命令事务包括一个或多个命令;
监测模块,用于对所述命令存储器进行监测;
执行模块,用于当所述监测模块监测到所述命令存储器中存储有命令,则执行该命令,得到相应的命令执行结果。
优选的,所述配置系统还包括:
命令反转器,用于在所述提交模块提交命令事务之前,分别对所述命令事务中的每一命令进行反向转换,相应地得到所述命令事务中每一命令的回退命令。
优选的,所述配置系统还包括:
命令模拟器,用于在所述提交模块提交命令事务之前,对所述命令事务中的全部命令进行模拟执行。
优选的,所述监测模块包括:
定时监测单元,用于对所述命令存储器进行定时监测。
本发明中,包括一个或多个命令的命令事务被提交到命令存储器中,检测到该命令存储器中存储有命令时,则执行该命令。本发明将命令事务的提交和命令的执行分为两个不直接关联的部分,命令事务的提交和命令执行为异步操作,运维人员只需要提交简单的命令事务即可,系统监测到有命令提交后,自动执行该命令。而命令事务的提交所需要的时间比命令执行的时间要少,与现有技术中运维人员不仅负责命令提交,还要负责命令执行相比,有效减少了运维的工作量,显著提高了运维的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为一种存储命令的配置方法的步骤流程图;
图2为一种具体的存储命令的配置方法的步骤流程图;
图3为另一种具体的存储命令的配置方法的步骤流程图;
图4为一种存储命令的配置系统的具体结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种存储命令的配置方法,参见图1所示,包括:
S11:提交命令事务至命令存储器中,并对上述命令存储器进行监测;
其中,上述命令事务包括一个或多个命令;
这里的命令事务,是提交的命令的集合,其中可以包括多条命令,也可以只包括一条命令。此处提到的命令,为标准化的存储系统的配置命令。本方案中描述的正向命令为创建、添加等命令,反向命令有删除、移除等命令,其中,修改既是正向命令,也是反向命令。当然,如果还有其他使用频率较高的命令,也可以作为标准化的模板使用。
可以理解的是,对命令存储器进行监测的方法有多种。可以采用定时监测的方法,设置一定的时间周期监测命令存储器中有无已提交的命令事务;也可以采用实时监测,当命令存储器中一旦有命令事务提交,就自动执行该命令事务中的命令。
S12:当监测到上述命令存储器中存储有命令,则执行该命令,得到相应的命令执行结果。
进一步的,系统内部有调度器,执行监测是否有提交的命令事务,如果有的话,读取事务执行;以及将执行失败的命令推送到存储器后等待进一步处理。
本实施例中,包括一个或多个命令的命令事务被提交到命令存储器中,检测到该命令存储器中存储有命令时,则执行该命令。本实施例将命令事务的提交和命令的执行分为两个不直接关联的部分,命令事务的提交和命令执行为异步操作,运维人员只需要提交简单的命令事务即可,系统监测到有命令提交后,自动执行该命令。而命令事务的提交所需要的时间比命令执行的时间要少,与现有技术中运维人员不仅负责命令提交,还要负责命令执行相比,有效减少了运维的工作量,显著提高了运维的效率。
本发明实施例公开了一种具体的存储命令的配置方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图2所示,具体的:
S21:通过命令反转器分别对命令事务中的每一命令进行反向转换,相应地得到命令事务中每一命令的回退命令;
其中,上述命令事务包括一个或多个命令;
可以理解的是,命令反转器对命令进行反转得到对应的回退命令,用于在命令执行失败时进行自动回退操作。
S22:提交上述命令事务至命令存储器中,并对上述命令存储器进行监测;
S23:当监测到上述命令存储器中存储有命令,则执行该命令,得到相应的命令执行结果;
S24:当上述命令事务中的任意命令执行失败,则对上述命令事务中执行失败的命令再次执行,或自动回退,或挂起不再执行,等待系统管理员手动干预。
一般来说,命令执行失败后的应对方式,可以是在输入命令事务时,指定的失败执行策略。一般默认为再次执行,也可以选择挂起不再执行,等待系统管理员手动干预,还可以有其他的失败执行策略。
进一步的,如同该案例中,通过命令反转器对命令进行反向转换获得回退命令时,失败执行策略还可以选择执行失败后自动回退。其中,自动回退的流程等同于再次执行,执行时选择回退命令进行执行。
本发明实施例公开了另一种具体的存储命令的配置方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图3所示,具体的:
S31:通过命令模拟器对命令事务中的全部命令进行模拟执行;其中,上述命令事务包括一个或多个命令;
可以理解的是,在提交命令事务之前,命令模拟器对命令事务中的全部命令进行模拟执行,是为了判断命令事务的前提条件是否已经满足,命令事务本身是否正确,也即,其中的命令能否在外部硬件环境无故障或中断时顺利执行。这种模拟执行只是一种条件判定,耗时远小于实际命令执行时的耗时,而且提高了命令事务在提交后执行的成功率。
进一步的,模拟执行失败的应对策略,可以预先设置。如果上述命令事务中任意命令的模拟执行失败,可以对上述命令事务中模拟执行失败的命令再次执行,也可以挂起不再执行,通知系统管理员执行失败,等待系统管理员手动干预。还可以有其他的执行策略。
进一步的,如果在模拟执行命令事务中的命令之前,对这些命令进行了反向转换得到回退命令,那么执行失败后还可以进行自动回退操作。
S32:将上述命令事务中命令模拟执行成功的命令事务提交至命令存储器中,并对上述命令存储器进行监测;
S33:当监测到所述命令存储器中存储有命令,则执行该命令,得到相应的命令执行结果。
可以理解的是,因为提交前已经对命令事务中的命令进行了模拟执行,所有提交的命令事务必然模拟执行成功,所以一旦在之后的命令执行中发生执行失败的情况,则不存在命令本身有问题的情况,只考虑执行的外部条件出现错误,例如中断或故障,在中断结束或故障恢复后,事务应当可以执行成功。
相应的,本实施例还公开了一种存储命令的配置系统,参见图4所示,包括:
提交模块01,用于提交命令事务至命令存储器中;
其中,所述命令事务包括一个或多个命令;
进一步的,所述配置系统还可以包括命令反转器,用于在所述提交模块提交命令事务之前,分别对所述命令事务中的每一命令进行反向转换,相应地得到所述命令事务中每一命令的回退命令。
此时由于每一命令都存在回退命令,因此可以在执行失败时选择自动回退。
进一步的,所述配置系统还可以包括命令模拟器,用于在所述提交模块提交命令事务之前,对所述命令事务中的全部命令进行模拟执行。
可以理解的是,在提交命令事务之前,命令模拟器对命令事务中的全部命令进行模拟执行,是为了判断命令事务的前提条件是否已经满足,命令事务本身是否正确,其中的命令能否在外部硬件环境无故障时顺利执行。这种模拟执行只是一种条件判定,耗时远小于实际命令执行时的耗时,而且提高了命令事务在提交后执行的成功率。
进一步的,模拟执行失败的应对策略,可以预先设置。如果上述命令事务中任意命令的模拟执行失败,可以对上述命令事务中模拟执行失败的命令再次执行,也可以挂起不再执行,通知系统管理员执行失败,等待系统管理员手动干预。还可以有其他的执行策略。
进一步的,如果在模拟执行命令事务中的命令之前,对这些命令进行了反向转换得到回退命令,那么执行失败后还可以进行自动回退操作。
相应的,因为提交前已经对命令事务中的命令进行了模拟执行,所有提交的命令事务必然模拟执行成功,所以一旦在之后的命令执行中发生执行失败的情况,则不存在命令本身有问题的情况,只考虑执行的外部条件出现错误,例如中断或故障,在中断结束或故障恢复后,事务应当可以执行成功。
监测模块02,用于对所述命令存储器进行监测;
进一步的,所述监测模块可以包括定时监测单元,用于对所述命令存储器进行定时监测。
执行模块03,用于当所述监测模块监测到所述命令存储器中存储有命令,则执行该命令,得到相应的命令执行结果。
当执行模块执行命令失败时,对该命令进行之前指定的失败执行策略。其中的失败执行策略有多种选择,可以是再次执行,也可以是选择挂起不再执行,等待系统管理员手动干预。
最后,还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种存储命令的配置方法和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (11)

1.一种存储命令的配置方法,其特征在于,包括:
提交命令事务至命令存储器中,并对所述命令存储器进行监测;其中,所述命令事务包括一个或多个命令;
当监测到所述命令存储器中存储有命令,则执行该命令,得到相应的命令执行结果。
2.根据权利要求1所述的配置方法,其特征在于,所述提交命令事务至命令存储器中的过程之前还包括:
通过命令反转器分别对所述命令事务中的每一命令进行反向转换,相应地得到所述命令事务中每一命令的回退命令。
3.根据权利要求2所述的配置方法,其特征在于,还包括:
当所述命令事务中的任意命令执行失败,则对所述命令事务中执行失败的命令再次执行,或自动回退,或挂起不再执行,等待系统管理员手动干预。
4.根据权利要求1所述的配置方法,其特征在于,所述提交命令事务至命令存储器中的过程之前还包括:
通过命令模拟器对所述命令事务中的全部命令进行模拟执行。
5.根据权利要求4所述的配置方法,其特征在于,所述通过命令模拟器对所述命令事务进行模拟执行之前还包括:
通过命令反转器分别对所述命令事务中的每一命令进行反向转换,相应地得到所述命令事务中每一命令的回退命令。
6.根据权利要求5所述的配置方法,其特征在于,还包括:
如果所述命令事务中任意命令的模拟执行失败,则对所述命令事务中模拟执行失败的命令再次执行,或自动回退,或挂起不再执行,等待系统管理员手动干预。
7.根据权利要求1-6任一项所述的配置方法,其特征在于,所述当监测到所述命令存储器中存储所述命令事务,则执行所述命令存储器中的所述命令事务的过程包括:
定时监测所述命令存储器中是否存储有命令;
如果所述命令存储器中存储有命令,则执行该命令,得到相应的命令执行结果。
8.一种存储命令的配置系统,其特征在于,包括:
提交模块,用于提交命令事务至命令存储器中;其中,所述命令事务包括一个或多个命令;
监测模块,用于对所述命令存储器进行监测;
执行模块,用于当所述监测模块监测到所述命令存储器中存储有命令,则执行该命令,得到相应的命令执行结果。
9.根据权利要求8所述的配置系统,其特征在于,还包括:
命令反转器,用于在所述提交模块提交命令事务之前,分别对所述命令事务中的每一命令进行反向转换,相应地得到所述命令事务中每一命令的回退命令。
10.根据权利要求8所述的配置系统,其特征在于,还包括:
命令模拟器,用于在所述提交模块提交命令事务之前,对所述命令事务中的全部命令进行模拟执行。
11.根据权利要求8-10任一项所述的配置系统,其特征在于,所述监测模块包括:
定时监测单元,用于对所述命令存储器进行定时监测。
CN201710546442.XA 2017-07-06 2017-07-06 一种存储命令的配置方法及系统 Pending CN107273059A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710546442.XA CN107273059A (zh) 2017-07-06 2017-07-06 一种存储命令的配置方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710546442.XA CN107273059A (zh) 2017-07-06 2017-07-06 一种存储命令的配置方法及系统

Publications (1)

Publication Number Publication Date
CN107273059A true CN107273059A (zh) 2017-10-20

Family

ID=60072271

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710546442.XA Pending CN107273059A (zh) 2017-07-06 2017-07-06 一种存储命令的配置方法及系统

Country Status (1)

Country Link
CN (1) CN107273059A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101060559A (zh) * 2007-05-29 2007-10-24 中兴通讯股份有限公司 一种人机命令队列管理系统和方法
CN102193780A (zh) * 2010-03-08 2011-09-21 华为技术有限公司 事务实现方法以及事务实现设备
CN103593236A (zh) * 2013-11-14 2014-02-19 华为技术有限公司 一种业务流程调度的计算机设备、方法和装置
CN103620570A (zh) * 2011-06-24 2014-03-05 Arm有限公司 存储器控制器和这种存储器控制器的操作方法
CN104412226A (zh) * 2012-06-27 2015-03-11 三星电子株式会社 终端设备及其控制方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101060559A (zh) * 2007-05-29 2007-10-24 中兴通讯股份有限公司 一种人机命令队列管理系统和方法
CN102193780A (zh) * 2010-03-08 2011-09-21 华为技术有限公司 事务实现方法以及事务实现设备
CN103620570A (zh) * 2011-06-24 2014-03-05 Arm有限公司 存储器控制器和这种存储器控制器的操作方法
CN104412226A (zh) * 2012-06-27 2015-03-11 三星电子株式会社 终端设备及其控制方法
CN103593236A (zh) * 2013-11-14 2014-02-19 华为技术有限公司 一种业务流程调度的计算机设备、方法和装置

Similar Documents

Publication Publication Date Title
EP2503733B1 (en) Data collecting method, data collecting apparatus and network management device
CN110046039A (zh) 任务调度方法及系统、调度中心服务器和存储介质
CN110716793B (zh) 一种分布式事务的执行方法、装置、设备及存储介质
US9459949B2 (en) Methods and apparatus to provide failure detection
WO2013106649A2 (en) Fault tolerance for complex distributed computing operations
CN112579267A (zh) 一种去中心化大数据作业流调度方法及装置
EP2629205A1 (en) Multi-entity test case execution workflow
CN104850394B (zh) 分布式应用程序的管理方法和分布式系统
CN111176783A (zh) 容器治理平台的高可用方法、装置及电子设备
CN109144701A (zh) 一种任务流管理方法、装置、设备及系统
CN106502835A (zh) 一种容灾备份方法及装置
CN112506691B (zh) 一种多能源系统数字孪生应用故障恢复方法及系统
CN108958880A (zh) 数据处理方法、数据处理系统与计算机程序产品
CN110018935A (zh) 存储设备测试方法、系统、装置及计算机可读存储介质
CN109445928A (zh) 一种访问请求处理方法、装置、设备及可读存储介质
CN109032758A (zh) 容器集群智能生命周期管理方法及装置
CN115280283A (zh) 在kubernets中运行pbs作业
US9824229B2 (en) Controller with enhanced reliability
CN108959037A (zh) 一种数据中心自动巡检方法及装置
CN117574422A (zh) 一种基于共识算法的智能合约区块链处理方法及系统
RU2017102903A (ru) Система и способ для идентификации релевантной информации для предприятия
CN110278101A (zh) 一种资源管理方法及设备
CN101621404A (zh) 一种故障分层处理方法和系统
He et al. Unicron: Economizing self-healing llm training at scale
KR102194974B1 (ko) 프로세스 검증 기능이 구비된 전력 계통 감시 및 제어 시스템

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20171020