CN110275729A - 一种应用发布系统及方法 - Google Patents

一种应用发布系统及方法 Download PDF

Info

Publication number
CN110275729A
CN110275729A CN201810207983.4A CN201810207983A CN110275729A CN 110275729 A CN110275729 A CN 110275729A CN 201810207983 A CN201810207983 A CN 201810207983A CN 110275729 A CN110275729 A CN 110275729A
Authority
CN
China
Prior art keywords
module
client
task
server
information
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
CN201810207983.4A
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.)
Shanghai San I Information Technology Co Ltd
Original Assignee
Shanghai San I 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 Shanghai San I Information Technology Co Ltd filed Critical Shanghai San I Information Technology Co Ltd
Priority to CN201810207983.4A priority Critical patent/CN110275729A/zh
Publication of CN110275729A publication Critical patent/CN110275729A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及一种应用发布系统,包括服务端、代理端、客户端,客户端与代理端通信连接,代理端与服务端通信连接。服务端包括用户交互界面、图形显示模块、应用配置模块、流程编排模块、维护配置模块、发布调度模块。代理端包括代理端任务接收模块、任务解析模块、任务发布模块、客户端信息转发模块。客户端包括客户端任务接收模块、任务执行模块、执行信息反馈模块。本发明还公开了一种应用发布方法,包括系统启动、任务传送、任务发布、任务执行、执行反馈等过程。本发明采用高效的应用发布系统实现实时展示应用发布的进度,具有高效以及不易出错的特点。

Description

一种应用发布系统及方法
技术领域
本发明涉及一种应用发布系统及方法,特别涉及一种用于企业应用发布管理的系统及方法,属于应用发布领域。
背景技术
目前,应用发布系统越来越广泛地被应用到金融、保险、证券、制造业等各领域,在提供应用更新、回滚、配置管理等方面发挥着重要作用。随着技术的完善,应用发布功能越来越多地被开发出来。不过,应用发布系统的最基本的功能是应用分类管理、更新包管理、配置文件管理、发布流程管理、发布管理等。另一方面,随着应用数量的增多,应用架构日益复杂,导致企业传统的人工管理效率低,易出错,且无法及时实现回滚,适应性不够广泛。
发明内容
本发明应用发布系统及方法公开了新的方案,采用高效的应用发布系统实现实时展示应用发布的进度,解决了现有采用人工管理方案效率低、易出错的问题。
本发明应用发布系统包括服务端、代理端、客户端,客户端与代理端通信连接,代理端与服务端通信连接。
服务端包括用户交互界面、图形显示模块、应用配置模块、流程编排模块、维护配置模块、发布调度模块。用户交互界面用于服务端与用户的信息交互,图形显示模块用于显示图形信息,应用配置模块用于配置应用信息,流程编排模块用于用户编排流程信息,维护配置模块用于维护配置信息,发布调度模块用于控制执行用户编排的流程。
代理端包括代理端任务接收模块、任务解析模块、任务发布模块、客户端信息转发模块。代理端任务接收模块用于从服务端接收任务信息,任务解析模块用于解析从服务端接收的任务信息生成执行任务信息,任务发布模块用于向客户端发布执行任务信息,客户端信息转发模块用于接收客户端反馈的任务执行信息后转发给服务端。
客户端包括客户端任务接收模块、任务执行模块、执行信息反馈模块。客户端任务接收模块用于接收来自代理端的执行任务信息,任务执行模块用于执行任务,执行信息反馈模块用于向代理端反馈任务的执行信息。
进一步,本方案的服务端还包括版本维护模块、版本信息数据库,版本信息数据库用于存储历次发布版本的更新、配置信息,版本维护模块用于调用版本信息数据库的信息完成版本回溯操作。
本发明还公开了一种应用发布方法,应用发布方法基于应用发布系统。应用发布系统包括服务端、代理端、客户端,客户端与代理端通信连接,代理端与服务端通信连接。服务端包括用户交互界面、图形显示模块、应用配置模块、流程编排模块、维护配置模块、发布调度模块。代理端包括代理端任务接收模块、任务解析模块、任务发布模块、客户端信息转发模块。客户端包括客户端任务接收模块、任务执行模块、执行信息反馈模块。应用发布方法包括过程:启动服务端,连接激活服务端的数据库、消息队列、队列数据库,服务端检测各代理端的状态,创建在连接端口的侦听,等待连接的线程,等待代理端连接,启动代理端,连接激活代理端数据库,代理端创建在连接端口的侦听,等待连接的线程,代理端接收服务端发送的任务信息后解析生成执行任务信息通知客户端执行,启动客户端尝试连接代理端,客户端接收代理端发送的执行任务后执行任务,客户端将执行信息反馈给代理端,代理端接收客户端反馈的执行信息后转发至服务端。
进一步,本方案的方法的过程还包括系统配置过程:应用配置模块新建应用,配置集群信息,添加主机,配置动作集,设定执行脚本、命令、参数信息,配置流程模板,设定应用发布的流程模板。
进一步,本方案的方法的过程还包括应用更新发布过程:服务端通过实时数据接口获取更新包,进行配置文件管理,系统进入待发布应用,添加更新包后分发,维护设置文件,保持同步更新,发布调度模块执行发布流程,选择流程,添加集群,配置参数,执行发布,用户实时查看执行进度,系统每隔10秒刷新用户交互界面的执行页面。
进一步,本方案的方法的服务端还包括版本维护模块、版本信息数据库,过程还包括版本回溯过程:版本维护模块调用版本信息数据库的信息进行版本回溯,将应用恢复至设定的稳定版本状态。
本发明应用发布系统及方法采用高效的应用发布系统实现实时展示应用发布的进度,具有高效以及不易出错的特点。
附图说明
图1是本发明应用发布系统的原理示意图。
图2是服务端的流程示意图。
图3是代理端的流程示意图。
图4是应用发布系统配置过程的流程示意图。
图5是应用发布系统更新过程的流程示意图。
具体实施方式
如图1所示,本发明应用发布系统包括服务端、代理端、客户端,客户端与代理端通信连接,代理端与服务端通信连接。服务端包括用户交互界面、图形显示模块、应用配置模块、流程编排模块、维护配置模块、发布调度模块。用户交互界面用于服务端与用户的信息交互,图形显示模块用于显示图形信息,应用配置模块用于配置应用信息,流程编排模块用于用户编排流程信息,维护配置模块用于维护配置信息,发布调度模块用于控制执行用户编排的流程。代理端包括代理端任务接收模块、任务解析模块、任务发布模块、客户端信息转发模块。代理端任务接收模块用于从服务端接收任务信息,任务解析模块用于解析从服务端接收的任务信息生成执行任务信息,任务发布模块用于向客户端发布执行任务信息,客户端信息转发模块用于接收客户端反馈的任务执行信息后转发给服务端。客户端包括客户端任务接收模块、任务执行模块、执行信息反馈模块。客户端任务接收模块用于接收来自代理端的执行任务信息,任务执行模块用于执行任务,执行信息反馈模块用于向代理端反馈任务的执行信息。上述方案采用执行信息反馈模块、客户端信息转发模块实时向服务端反馈应用发布的进度,服务端再通过用户交互界面向用户展示相关信息。
本方案对历次发布的更新包、配置文件均进行相应的版本管理,一旦应用更新出错或其他原因导致需要回滚,可实现应用的快速回滚。具体是本方案的服务端还包括版本维护模块、版本信息数据库,版本信息数据库用于存储历次发布版本的更新、配置信息,版本维护模块用于调用版本信息数据库的信息完成版本回溯操作。
本发明还公开了一种应用发布方法,应用发布方法基于应用发布系统。应用发布系统包括服务端、代理端、客户端,客户端与代理端通信连接,代理端与服务端通信连接。服务端包括用户交互界面、图形显示模块、应用配置模块、流程编排模块、维护配置模块、发布调度模块。代理端包括代理端任务接收模块、任务解析模块、任务发布模块、客户端信息转发模块。客户端包括客户端任务接收模块、任务执行模块、执行信息反馈模块。应用发布方法包括过程:启动服务端,如图2所示,连接激活服务端的数据库、消息队列、队列数据库,服务端检测各代理端的状态,创建在连接端口的侦听,等待连接的线程,等待代理端连接,启动代理端,如图3所示,连接激活代理端数据库,代理端创建在连接端口的侦听,等待连接的线程,代理端接收服务端发送的任务信息后解析生成执行任务信息通知客户端执行,启动客户端尝试连接代理端,客户端接收代理端发送的执行任务后执行任务,客户端将执行信息反馈给代理端,代理端接收客户端反馈的执行信息后转发至服务端。
如图4所示,本方案的方法的过程还包括系统配置过程:应用配置模块新建应用,配置集群信息,添加主机,配置动作集,设定执行脚本、命令、参数信息,配置流程模板,设定应用发布的流程模板。
如图5所示,本方案的方法的过程还包括应用更新发布过程:服务端通过实时数据接口获取更新包,进行配置文件管理,系统进入待发布应用,添加更新包后分发,维护设置文件,保持同步更新,发布调度模块执行发布流程,选择流程,添加集群,配置参数,执行发布,用户实时查看执行进度,系统每隔10秒刷新用户交互界面的执行页面。
为了实现版本更新顺利进行,保证系统的稳定性,本方案的方法的服务端还包括版本维护模块、版本信息数据库,过程还包括版本回溯过程:版本维护模块调用版本信息数据库的信息进行版本回溯,将应用恢复至设定的稳定版本状态。
本方案公开了一种应用发布系统,尤其设计用于企业应用发布管理的系统。此外,还涉及应用发布调度系统及配置文件管理的实现方法,能高效、快速的进行应用的更新、回滚、配置维护。本方案的应用发布系统包括服务端ShinyAO(服务端)、代理端ShinyProxy(代理端)、客户端ywagent(客户端),其中服务端ShinyAO与代理端ShinyProxy连接,客户端ywagent与代理端ShinyProxy连接,服务端ShinyAO不允许与客户端ShinyProxy直接连接。服务端ShinyAO是系统的主模块,它负责向用户实现提供交互用户界面,显示图形,配置应用,编排流程,维护配置等功能。服务端ShinyAO对应用的基础信息、发布流程等进行维护,并包含完整的发布调度子模块,负责控制用户编排的流程执行。代理端ShinyProxy是任务的发布者,负责从服务端ShinyAO接收实际的任务信息,并对任务信息解析生成具体的执行任务,并通知或等待客户端获取任务信息并执行,接收客户端返回的消息并转发至服务端ShinyAO,由服务端ShinyAO显示给用户。客户端是一个运行在应用主机的守护进程,接收来自代理端ShinyProxy的任务,并执行任务,负责执行具体的动作,并将动作的执行结果反馈至代理端ShinyProxy。
本方案应用发布系统的处理方法可以包括以下过程。应用发布系统服务端应用程序启动,连接应用发布系统的数据库、消息队列、队列数据库,检测各个代理端ShinyProxy状态。客户端应用程序启动,尝试连接代理端主机。服务端创建在端口9001在侦听并等待连接的线程,等待代理端ShinyProxy的连接。代理服务器创建在端口9006侦听并等待连接的线程,等待客户端连接。若客户端连接代理端ShinyProxy成功,会自动建立一个长链接,采用发布订阅模式,接收任务。本方案的应用发布系统的具体配置过程如下:⑴配置集群信息:添加主机;⑵配置动作集:设定执行脚本、命令、参数等;⑶配置流程模板:设定应用发布的各种流程模板。本方案的应用发布系统的具体更新过程如下:⑴上传更新包:更新包可单应用手动上传或批量上传;⑵配置文件管理:通过平台,使用配置文件命令进行批量操作;⑶执行发布流程:选择流程,添加集群,配置参数,执行发布;⑷查看发布状态:系统每隔10秒刷新执行页面。
本方案的应用发布系统具有通用的实时数据接口,能够根据发布流程实时展示发布的进度、各个客户端当前的状态以及发布执行的日志或结果。本系统针对应用发布设计,充分考虑了显示的响应速度和应用发布时的数据准确性要求,系统在发布中记录了数据,可以追溯数据。本方案的应用发布对历次发布的更新包、配置文件等均进行相应的版本管理,一旦应用更新出错或其他原因导致需要回滚,可实现应用的快速回滚。基于以上特点,本方案的应用发布系统及方法相比现有方案具有突出的实质性特点和显著的进步。
本方案的应用发布系统及方法并不限于具体实施方式中公开的内容,实施例中出现的技术方案可以基于本领域技术人员的理解而延伸,本领域技术人员根据本方案结合公知常识作出的简单替换方案也属于本方案的范围。

Claims (6)

1.一种应用发布系统,其特征是包括服务端、代理端、客户端,所述客户端与所述代理端通信连接,所述代理端与所述服务端通信连接,
所述服务端包括用户交互界面、图形显示模块、应用配置模块、流程编排模块、维护配置模块、发布调度模块,所述用户交互界面用于服务端与用户的信息交互,所述图形显示模块用于显示图形信息,所述应用配置模块用于配置应用信息,所述流程编排模块用于用户编排流程信息,所述维护配置模块用于维护配置信息,所述发布调度模块用于控制执行用户编排的流程,
所述代理端包括代理端任务接收模块、任务解析模块、任务发布模块、客户端信息转发模块,所述代理端任务接收模块用于从服务端接收任务信息,所述任务解析模块用于解析从服务端接收的任务信息生成执行任务信息,所述任务发布模块用于向客户端发布执行任务信息,所述客户端信息转发模块用于接收客户端反馈的任务执行信息后转发给服务端,
所述客户端包括客户端任务接收模块、任务执行模块、执行信息反馈模块,所述客户端任务接收模块用于接收来自代理端的执行任务信息,所述任务执行模块用于执行任务,所述执行信息反馈模块用于向代理端反馈任务的执行信息。
2.根据权利要求1所述的应用发布系统,其特征在于,所述服务端还包括版本维护模块、版本信息数据库,所述版本信息数据库用于存储历次发布版本的更新、配置信息,所述版本维护模块用于调用所述版本信息数据库的信息完成版本回溯操作。
3.一种应用发布方法,所述应用发布方法基于应用发布系统,所述应用发布系统包括服务端、代理端、客户端,所述客户端与所述代理端通信连接,所述代理端与所述服务端通信连接,所述服务端包括用户交互界面、图形显示模块、应用配置模块、流程编排模块、维护配置模块、发布调度模块,所述代理端包括代理端任务接收模块、任务解析模块、任务发布模块、客户端信息转发模块,所述客户端包括客户端任务接收模块、任务执行模块、执行信息反馈模块,其特征是包括过程:
启动服务端,连接激活服务端的数据库、消息队列、队列数据库,服务端检测各代理端的状态,创建在连接端口的侦听,等待连接的线程,等待代理端连接,启动代理端,连接激活代理端数据库,代理端创建在连接端口的侦听,等待连接的线程,代理端接收服务端发送的任务信息后解析生成执行任务信息通知客户端执行,启动客户端尝试连接代理端,客户端接收代理端发送的执行任务后执行任务,客户端将执行信息反馈给代理端,代理端接收客户端反馈的执行信息后转发至服务端。
4.根据权利要求3所述的应用发布方法,其特征在于,过程还包括系统配置过程:应用配置模块新建应用,配置集群信息,添加主机,配置动作集,设定执行脚本、命令、参数信息,配置流程模板,设定应用发布的流程模板。
5.根据权利要求3所述的应用发布方法,其特征在于,过程还包括应用更新发布过程:服务端通过实时数据接口获取更新包,进行配置文件管理,系统进入待发布应用,添加更新包后分发,维护设置文件,保持同步更新,发布调度模块执行发布流程,选择流程,添加集群,配置参数,执行发布,用户实时查看执行进度,系统每隔10秒刷新用户交互界面的执行页面。
6.根据权利要求3所述的应用发布方法,其特征在于,所述服务端还包括版本维护模块、版本信息数据库,过程还包括版本回溯过程:版本维护模块调用版本信息数据库的信息进行版本回溯,将应用恢复至设定的稳定版本状态。
CN201810207983.4A 2018-03-14 2018-03-14 一种应用发布系统及方法 Pending CN110275729A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810207983.4A CN110275729A (zh) 2018-03-14 2018-03-14 一种应用发布系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810207983.4A CN110275729A (zh) 2018-03-14 2018-03-14 一种应用发布系统及方法

Publications (1)

Publication Number Publication Date
CN110275729A true CN110275729A (zh) 2019-09-24

Family

ID=67958624

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810207983.4A Pending CN110275729A (zh) 2018-03-14 2018-03-14 一种应用发布系统及方法

Country Status (1)

Country Link
CN (1) CN110275729A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115550426A (zh) * 2022-09-23 2022-12-30 北京计算机技术及应用研究所 一种态势展示的操控方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050204034A1 (en) * 2004-03-12 2005-09-15 Betarbet Sandeep R. Methods, systems, and products for monitoring multiple tasks to fulfill a request originating from a web browser
US20090144730A1 (en) * 2007-11-30 2009-06-04 Huawei Technologies Co., Ltd. Software deployment method and system, software deployment server and user server
CN102591667A (zh) * 2012-01-16 2012-07-18 深圳市同洲视讯传媒有限公司 一种远程发布应用的方法及装置
CN102916839A (zh) * 2012-10-26 2013-02-06 南宁职业技术学院 一种糖厂农务自动化监管系统
CN104639374A (zh) * 2015-03-03 2015-05-20 上海瀚银信息技术有限公司 一种应用程序部署管理系统
CN104731580A (zh) * 2015-01-12 2015-06-24 上海新炬网络信息技术有限公司 基于Karaf与ActiveMQ的自动化运维系统及其实现方法
CN105760190A (zh) * 2016-02-02 2016-07-13 华自科技股份有限公司 组态软件发布方法及系统
CN106095479A (zh) * 2016-05-31 2016-11-09 北京中亦安图科技股份有限公司 一种企业应用发布方法、装置及系统
CN106610853A (zh) * 2015-10-26 2017-05-03 阿里巴巴集团控股有限公司 一种应用部署方法和装置
US20170161044A1 (en) * 2015-12-04 2017-06-08 Vmware, Inc. Automated-application-release-management subsystem that incorporates script tasks within application-release-management pipelines

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050204034A1 (en) * 2004-03-12 2005-09-15 Betarbet Sandeep R. Methods, systems, and products for monitoring multiple tasks to fulfill a request originating from a web browser
US20090144730A1 (en) * 2007-11-30 2009-06-04 Huawei Technologies Co., Ltd. Software deployment method and system, software deployment server and user server
CN102591667A (zh) * 2012-01-16 2012-07-18 深圳市同洲视讯传媒有限公司 一种远程发布应用的方法及装置
CN102916839A (zh) * 2012-10-26 2013-02-06 南宁职业技术学院 一种糖厂农务自动化监管系统
CN104731580A (zh) * 2015-01-12 2015-06-24 上海新炬网络信息技术有限公司 基于Karaf与ActiveMQ的自动化运维系统及其实现方法
CN104639374A (zh) * 2015-03-03 2015-05-20 上海瀚银信息技术有限公司 一种应用程序部署管理系统
CN106610853A (zh) * 2015-10-26 2017-05-03 阿里巴巴集团控股有限公司 一种应用部署方法和装置
US20170161044A1 (en) * 2015-12-04 2017-06-08 Vmware, Inc. Automated-application-release-management subsystem that incorporates script tasks within application-release-management pipelines
CN105760190A (zh) * 2016-02-02 2016-07-13 华自科技股份有限公司 组态软件发布方法及系统
CN106095479A (zh) * 2016-05-31 2016-11-09 北京中亦安图科技股份有限公司 一种企业应用发布方法、装置及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
文必龙等: "IT系统运维管理研究", 计算机系统应用, no. 03, pages 1 - 5 *
魏海涛: "自动化批量部署管理的实践", 中国传媒科技, no. 10, pages 119 - 121 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115550426A (zh) * 2022-09-23 2022-12-30 北京计算机技术及应用研究所 一种态势展示的操控方法

Similar Documents

Publication Publication Date Title
CN109118347B (zh) 一种自动化协作方法及系统
CN107040416B (zh) 一种基于Cairngorm框架的虚拟数据中心可视化管理方法
CN106776829A (zh) 一种数据导出系统及其工作方法
CN108418704A (zh) 一种基于自动化模板配置的网元设备入网方法
CN108845798A (zh) 一种可视化大数据任务编排框架及处理方法
CN109274747A (zh) 行情网关系统及其处理方法
JPH10135949A (ja) 情報共有管理システム及び情報共有システム管理装置と方法
CN110391949A (zh) 一种配置变更的方法及相关装置
CN106802947B (zh) 实体关系图的数据处理系统及方法
CN101894059B (zh) 一种运行状态的检测方法及系统
CN106055337A (zh) 一种界面生成方法及装置
CN109766201A (zh) 任务分发方法、服务器、客户端和系统
US20180307546A1 (en) Event driven subscription matching
CN103780627A (zh) NativeAPP、WebAPP与类微信APP信息同步系统
CN110309231A (zh) 一种跨机房的数据同步方法及系统
CN106060189B (zh) 一种分布式域名注册系统
CN104239403B (zh) 一种基于云计算的协同采编辅助系统
US20180211654A1 (en) Data Processing System with Machine Learning Engine to Provide Automated Collaboration Assistance Functions
CN109739728B (zh) 一种mes系统性能和日志数据监控方法
CN105893116A (zh) 一种面向实时数据流处理的可视化流程管理系统与方法
CN109375919A (zh) 一种生成及发送营销邮件内容页的方法
CN116382943A (zh) 顺序消息处理方法、总线系统、计算机设备及存储介质
CN106302788A (zh) 一种基于网络动态甘特图的互动方法及系统
CN110275729A (zh) 一种应用发布系统及方法
US20180212790A1 (en) Data Processing System with Machine Learning Engine to Provide Automated Collaboration Assistance Functions

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190924

WD01 Invention patent application deemed withdrawn after publication