CN107579851A - The method and apparatus for determining the execution sequence of resource layout template - Google Patents

The method and apparatus for determining the execution sequence of resource layout template Download PDF

Info

Publication number
CN107579851A
CN107579851A CN201710825820.8A CN201710825820A CN107579851A CN 107579851 A CN107579851 A CN 107579851A CN 201710825820 A CN201710825820 A CN 201710825820A CN 107579851 A CN107579851 A CN 107579851A
Authority
CN
China
Prior art keywords
component
dependence
resource
association
topological diagram
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
CN201710825820.8A
Other languages
Chinese (zh)
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 CN201710825820.8A priority Critical patent/CN107579851A/en
Publication of CN107579851A publication Critical patent/CN107579851A/en
Pending legal-status Critical Current

Links

Abstract

The present invention discloses a kind of method and apparatus for the execution sequence for determining resource layout template.Methods described includes:Modularization processing is carried out to the resource in resource layout template, obtains at least two components;Obtain the association dependence of inter-module at least two component;According to the association dependence of at least two component, the association dependence is processed into the topological diagram of directed acyclic, the direction wherein in topological diagram represents the dependence of component;According to the content in the topological diagram, the execution sequence of component in the resource sequence template is determined.

Description

The method and apparatus for determining the execution sequence of resource layout template
Technical field
The present invention relates to field of information processing, the method and dress of espespecially a kind of execution sequence for determining resource layout template Put.
Background technology
Resource layout is used to generate one group of IaaS (Infrastructure as a Service, base with topological relation Infrastructure is to service) template of combination of resources is a kind of method for carrying out abstract modeling to cloud resource and correlation.Resource is compiled Row's template describes the detailed configuration and incidence relation of resource, and application template can generate the resource for possessing the configuration and relation.
Due to having association, dependence between each resource in template, so in the application resource layout template, need Ensure that its resource relied on has all performed completion when some resource performs, this is the key of resource layout success.
To ensure the success of resource layout, it is necessary to know the execution sequence of resource in resource layout template in advance, and In practical application, when dependence be present between resource in resource layout, it is impossible to the automatic execution sequence for knowing resource, cause Successful execution is unable to resource layout template.
Therefore, when dependence be present between resource in resource layout, how to obtain the execution sequence of resource automatically is urgently The problem of to be solved.
The content of the invention
In order to solve the above-mentioned technical problem, the invention provides a kind of method for the execution sequence for determining resource layout template And device, when can have dependence between component in resource layout, how the execution sequence of automatic securing component.
In order to reach the object of the invention, the invention provides it is a kind of determine resource layout template execution sequence method, It is characterised in that it includes:
Modularization processing is carried out to the resource in resource layout template, obtains at least two components;
Obtain the association dependence of inter-module at least two component;
According to the association dependence of at least two component, the association dependence is processed into directed acyclic Direction in topological diagram, wherein topological diagram represents the dependence of component;
According to the content in the topological diagram, the execution sequence of component in the resource sequence template is determined.
Wherein, methods described also has following features:The association for obtaining inter-module at least two component according to The relation of relying, including:
After the association dependence of inter-module is obtained, there is the component of association dependence in identification;
According to the component Name of identification, information decomposition is carried out to obtained association dependence, multigroup association is obtained and relies on Relation, wherein there is two components in every group of association dependence.
Wherein, methods described also has following features:The association dependence according at least two component, will The association dependence is processed into the topological diagram of directed acyclic, including:
The component is set as the node in topological diagram;
According to obtained association dependence, the direction of arrow of two inter-modules is determined, obtains recording relevant dependence pass The topological diagram of system.
Wherein, methods described also has following features:The content in the topological diagram, determine the resource row The execution sequence of component in sequence template, including:
The topological diagram is handled with the topological sorting algorithm pre-set, obtains the topological suitable of the topological diagram Sequence;
According to the topological order, the execution sequence of component in the resource sequence template is obtained.
Wherein, methods described also has following features:The content in the topological diagram, determine the resource row In sequence template after the execution sequence of component, methods described also includes:
According to the execution sequence of component in resource sequence template, the operation of resource corresponding to the component is controlled.
A kind of device for the execution sequence for determining resource layout template, including:
Identification module, for carrying out modularization processing to the resource in resource layout template, obtain at least two components;
Acquisition module, for obtaining the association dependence of inter-module at least two component;
Processing module, for the association dependence according at least two component, at the association dependence The topological diagram of directed acyclic is managed into, the direction wherein in topological diagram represents the dependence of component;
Determining module, for the content in the topological diagram, determine the execution of component in the resource sequence template Sequentially.
Wherein, described device also has following features:The acquisition module includes:
Recognition unit, for after the association dependence of inter-module is obtained, identification to have the component of association dependence;
Resolving cell, for the component Name according to identification, information decomposition is carried out to obtained association dependence, obtained Multigroup association dependence, wherein there is two components in every group of association dependence.
Wherein, described device also has following features:The processing module includes:
Setting unit, for setting the component as the node in topological diagram;
Determining unit, for according to obtained association dependence, determining the direction of arrow of two inter-modules, being recorded The topological diagram of relevant dependence.
Wherein, described device also has following features:The determining module includes:
Processing unit, for being handled with the topological sorting algorithm pre-set the topological diagram, obtain described open up Flutter the topological order of figure;
Acquiring unit, for according to the topological order, obtaining the execution sequence of component in the resource sequence template.
Wherein, described device also has following features:Described device also includes:
Control module, after the execution sequence of component in the template it is determined that the resource sorts, according to the resource The execution sequence of component, controls the operation of resource corresponding to the component in the template that sorts.
Embodiment provided by the invention, the association by obtaining at least two components in resource layout template, which relies on, closes System, and according to association dependence, the topological diagram of embodiment dependence is obtained, by being carried out to the content in topological diagram at analysis Reason, the execution sequence of component in resource sequence template is determined, solve and close when existing to rely between component in resource layout When being can not securing component execution sequence the problem of, realize the automatic acquisition of the execution sequence of component, improve processing effect Rate.
Other features and advantages of the present invention will be illustrated in the following description, also, partly becomes from specification Obtain it is clear that or being understood by implementing the present invention.The purpose of the present invention and other advantages can be by specification, rights Specifically noted structure is realized and obtained in claim and accompanying drawing.
Brief description of the drawings
Accompanying drawing is used for providing further understanding technical solution of the present invention, and a part for constitution instruction, with this The embodiment of application is used to explain technical scheme together, does not form the limitation to technical solution of the present invention.
Fig. 1 is the flow chart of the method for the execution sequence of determination resource layout template provided by the invention;
Fig. 2 is the topological schematic diagram of component in resource layout template provided by the invention;
Fig. 3 is the structure chart of the device of the execution sequence of determination resource layout template provided by the invention.
Embodiment
For the object, technical solutions and advantages of the present invention are more clearly understood, below in conjunction with accompanying drawing to the present invention Embodiment be described in detail.It should be noted that in the case where not conflicting, in the embodiment and embodiment in the application Feature can mutually be combined.
Can be in the computer system of such as one group computer executable instructions the flow of accompanying drawing illustrates the step of Perform.Also, although logical order is shown in flow charts, in some cases, can be with suitable different from herein Sequence performs shown or described step.
Fig. 1 is the flow chart of the method for the execution sequence of determination resource layout template provided by the invention.Method shown in Fig. 1 Including:
Step 101, modularization processing is carried out to the resource in resource layout template, obtain at least two components;
Wherein, resource can be virtual machine, software, network etc.;
Step 102, the association dependence for obtaining inter-module at least two component;
Wherein, the association dependence can obtain according to the trigger condition of component execution operation, for example, component 1 Trigger condition is that component 2 runs succeeded, parameter corresponding to output, then as can be seen that the trigger condition that the operation of component 1 needs Relevant with the operating result of component 2, therefore, available association dependence is that component 1 relies on component 2;
Step 103, the association dependence according at least two component, the association dependence is processed into To acyclic topological diagram, the direction wherein in topological diagram represents the dependence of component;
Wherein, when making topological diagram, it is ensured that the direction of the topological diagram is not closed loop, once because topological diagram conduct Closed loop, execution sequence will certainly become endless loop.
Step 104, the content in the topological diagram, determine the execution sequence of component in the resource sequence template.
Embodiment of the method provided by the invention, relied on by the association for obtaining at least two components in resource layout template Relation, and according to association dependence, the topological diagram of embodiment dependence is obtained, by analyzing the content in topological diagram Processing, the execution sequence of component in resource sequence template is determined, solve and rely on when existing between component in resource layout During relation can not securing component execution sequence the problem of, realize the automatic acquisition of the execution sequence of component, improve processing Efficiency.
Method provided by the invention is described further below:
Mode provided by the invention, first by various Iaas layers resources (such as:Virtual machine, software, network) modularization, so Different components is combined into resource layout template on demand afterwards, required money is generated finally by the execution of resource layout template Source and service.There is certain association, dependence between component, during in order to solve application template the dependence of each inter-module close System, it is proposed that by the dependence modeling construction directed acyclic graph between resource, topological sorting algorithm is then applied to this nothing Ring figure, ultimately generate the execution sequence of each resource.
To be illustrated applied to cloud management platform resource layout component sort method, the specific implementation process of this method is such as Under:
Step 1, the one or more layout component generation resource layout templates of selection, resource layout template describe component Detailed configuration and association dependence.
When step 2, execution resource layout template, the dependence of all component is obtained first, then builds dependence Mould forms directed acyclic graph, wherein dependence of the direction with regard to proxy component.
Step 3, by the way that topological sorting algorithm is applied into this acyclic figure, so as to formation component topological sorting, that is, Execution sequence.
Wherein, the association dependence for obtaining inter-module at least two component, including:
After the association dependence of inter-module is obtained, there is the component of association dependence in identification;
According to the component Name of identification, information decomposition is carried out to obtained association dependence, multigroup association is obtained and relies on Relation, wherein there is two components in every group of association dependence.
Specifically, after the management dependence of inter-module is obtained, pass through the title of component, it may be determined that association, which relies on, closes The component being related in system, according to component Name, obtain relation information of each component in dependence is associated, obtained pass It is two components to join dependence, convenient due to being two components, it is convenient subsequently to the determination in direction in topological diagram,
It is determined that after the dependence of component, the association dependence is processed into the topological diagram of directed acyclic, including:
The component is set as the node in topological diagram;
According to obtained association dependence, the direction of arrow of two inter-modules is determined, obtains recording relevant dependence pass The topological diagram of system.
Specifically, being illustrated with a specific application example to topological map generalization, Fig. 2 is money provided by the invention The topological schematic diagram of component in source layout template, in fig. 2, using component as the node in topological diagram, according to the pipe of each component Reason relation, the direction of arrow of each node and the node of arrow sensing are obtained, completes topological map generalization.
After topological map generalization is completed, according to the content in the topological diagram, group in the resource sequence template is determined The execution sequence of part, including:
The topological diagram is handled with the topological sorting algorithm pre-set, obtains the topological suitable of the topological diagram Sequence;
According to the topological order, the execution sequence of component in the resource sequence template is obtained.
Specifically, in actual applications, using topological sorting algorithm, move towards, can obtain according to the arrow in topological diagram By the execution sequence of all nodes in the topological diagram, and the obtained order by node, in principle can also component hold Row order.
Wherein, the content in the topological diagram, the execution sequence of component in the resource sequence template is determined Afterwards, methods described also includes:
According to the execution sequence of component in resource sequence template, the operation of resource corresponding to the component is controlled.
Specifically, after the execution sequence of component is obtained, it is possible to the operation of resource is controlled according to corresponding execution sequence, So as to which the normal operation of resource be effectively ensured, the successful use of resource code template is realized.
Fig. 3 is the structure chart of the device of the execution sequence of determination resource layout template provided by the invention.Fig. 2 shown devices Including:
Identification module 301, for carrying out modularization processing to the resource in resource layout template, obtain at least two groups Part;
Acquisition module 302, for obtaining the association dependence of inter-module at least two component;
Processing module 303, for the association dependence according at least two component, by the association dependence The topological diagram of directed acyclic is processed into, the direction wherein in topological diagram represents the dependence of component;
Determining module 304, for the content in the topological diagram, determine holding for component in the resource sequence template Row order.
In one embodiment of apparatus of the present invention, the acquisition module 302 includes:
Recognition unit, for after the association dependence of inter-module is obtained, identification to have the component of association dependence;
Resolving cell, for the component Name according to identification, information decomposition is carried out to obtained association dependence, obtained Multigroup association dependence, wherein there is two components in every group of association dependence.
In one embodiment of apparatus of the present invention, the processing module 303 includes:
Setting unit, for setting the component as the node in topological diagram;
Determining unit, for according to obtained association dependence, determining the direction of arrow of two inter-modules, being recorded The topological diagram of relevant dependence.
In one embodiment of apparatus of the present invention, the determining module 304 includes:
Processing unit, for being handled with the topological sorting algorithm pre-set the topological diagram, obtain described open up Flutter the topological order of figure;
Acquiring unit, for according to the topological order, obtaining the execution sequence of component in the resource sequence template.
In one embodiment of apparatus of the present invention, described device also includes:
Control module, after the execution sequence of component in the template it is determined that the resource sorts, according to the resource The execution sequence of component, controls the operation of resource corresponding to the component in the template that sorts.
Device embodiment provided by the invention, relied on by the association for obtaining at least two components in resource layout template Relation, and according to association dependence, the topological diagram of embodiment dependence is obtained, by analyzing the content in topological diagram Processing, the execution sequence of component in resource sequence template is determined, solve and rely on when existing between component in resource layout During relation can not securing component execution sequence the problem of, realize the automatic acquisition of the execution sequence of component, improve processing Efficiency.
One of ordinary skill in the art will appreciate that all or part of step of above-described embodiment can use computer journey Sequence flow realizes that the computer program can be stored in a computer-readable recording medium, the computer program exists (such as system, unit, device) performs on corresponding hardware platform, upon execution, including the step of embodiment of the method it One or its combination.
Alternatively, all or part of step of above-described embodiment can also realize that these steps can using integrated circuit To be fabricated to integrated circuit modules one by one respectively, or the multiple modules or step in them are fabricated to single integrated electricity Road module is realized.So, the present invention is not restricted to any specific hardware and software combination.
Each device/functional module/functional unit in above-described embodiment can be realized using general computing device, it Can concentrate on single computing device, can also be distributed on the network that multiple computing devices are formed.
Each device/functional module/functional unit in above-described embodiment realized in the form of software function module and as Independent production marketing in use, can be stored in a computer read/write memory medium.Computer mentioned above Read/write memory medium can be read-only storage, disk or CD etc..
The foregoing is only a specific embodiment of the invention, but protection scope of the present invention is not limited thereto, any Those familiar with the art the invention discloses technical scope in, change or replacement can be readily occurred in, should all be contained Cover within protection scope of the present invention.Therefore, protection scope of the present invention should be defined by the protection domain described in claim.

Claims (10)

  1. A kind of 1. method for the execution sequence for determining resource layout template, it is characterised in that including:
    Modularization processing is carried out to the resource in resource layout template, obtains at least two components;
    Obtain the association dependence of inter-module at least two component;
    According to the association dependence of at least two component, by the topology for associating dependence and being processed into directed acyclic Figure, the direction wherein in topological diagram represent the dependence of component;
    According to the content in the topological diagram, the execution sequence of component in the resource sequence template is determined.
  2. 2. according to the method for claim 1, it is characterised in that the pass for obtaining inter-module at least two component Join dependence, including:
    After the association dependence of inter-module is obtained, there is the component of association dependence in identification;
    According to the component Name of identification, information decomposition is carried out to obtained association dependence, obtains multigroup association dependence, There are two components in wherein every group of association dependence.
  3. 3. method according to claim 1 or 2, it is characterised in that the association according at least two component according to The relation of relying, the association dependence is processed into the topological diagram of directed acyclic, including:
    The component is set as the node in topological diagram;
    According to obtained association dependence, the direction of arrow of two inter-modules is determined, obtains recording relevant dependence Topological diagram.
  4. 4. method according to claim 1 or 2, it is characterised in that the content in the topological diagram, determine institute The execution sequence of component in resource sequence template is stated, including:
    The topological diagram is handled with the topological sorting algorithm pre-set, obtains the topological order of the topological diagram;
    According to the topological order, the execution sequence of component in the resource sequence template is obtained.
  5. 5. according to the method for claim 1, it is characterised in that the content in the topological diagram, it is determined that described In resource sequence template after the execution sequence of component, methods described also includes:
    According to the execution sequence of component in resource sequence template, the operation of resource corresponding to the component is controlled.
  6. A kind of 6. device for the execution sequence for determining resource layout template, it is characterised in that including:
    Identification module, for carrying out modularization processing to the resource in resource layout template, obtain at least two components;
    Acquisition module, for obtaining the association dependence of inter-module at least two component;
    Processing module, for the association dependence according at least two component, the association dependence is processed into Direction in the topological diagram of directed acyclic, wherein topological diagram represents the dependence of component;
    Determining module, for the content in the topological diagram, determine the execution sequence of component in the resource sequence template.
  7. 7. device according to claim 6, it is characterised in that the acquisition module includes:
    Recognition unit, for after the association dependence of inter-module is obtained, identification to have the component of association dependence;
    Resolving cell, for the component Name according to identification, information decomposition is carried out to obtained association dependence, obtained multigroup Dependence is associated, wherein there are two components in every group of association dependence.
  8. 8. the device according to claim 6 or 7, it is characterised in that the processing module includes:
    Setting unit, for setting the component as the node in topological diagram;
    Determining unit, for according to obtained association dependence, determining the direction of arrow of two inter-modules, obtain recording relevant Join the topological diagram of dependence.
  9. 9. the device according to claim 6 or 7, it is characterised in that the determining module includes:
    Processing unit, for being handled with the topological sorting algorithm pre-set the topological diagram, obtain the topological diagram Topological order;
    Acquiring unit, for according to the topological order, obtaining the execution sequence of component in the resource sequence template.
  10. 10. device according to claim 6, it is characterised in that described device also includes:
    Control module, for it is determined that in resource sequence template after the execution sequence of component, being sorted according to the resource The execution sequence of component in template, controls the operation of resource corresponding to the component.
CN201710825820.8A 2017-09-14 2017-09-14 The method and apparatus for determining the execution sequence of resource layout template Pending CN107579851A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710825820.8A CN107579851A (en) 2017-09-14 2017-09-14 The method and apparatus for determining the execution sequence of resource layout template

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710825820.8A CN107579851A (en) 2017-09-14 2017-09-14 The method and apparatus for determining the execution sequence of resource layout template

Publications (1)

Publication Number Publication Date
CN107579851A true CN107579851A (en) 2018-01-12

Family

ID=61033303

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710825820.8A Pending CN107579851A (en) 2017-09-14 2017-09-14 The method and apparatus for determining the execution sequence of resource layout template

Country Status (1)

Country Link
CN (1) CN107579851A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109379441A (en) * 2018-12-07 2019-02-22 华中科技大学 Chain rule combined method and system are serviced in a kind of cloud environment
CN111722842A (en) * 2020-05-29 2020-09-29 北京宝兰德软件股份有限公司 Pipeline arranging method and device, electronic equipment and storage medium
CN112511596A (en) * 2020-11-05 2021-03-16 苏州浪潮智能科技有限公司 Method and equipment for creating cloud resources in cloud platform
CN113608754A (en) * 2021-07-23 2021-11-05 安徽三七极域网络科技有限公司 Service instantiation method and device and electronic equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104965760A (en) * 2015-06-29 2015-10-07 广州酷狗计算机科技有限公司 Method and apparatus for managing life cycle of software function module
CN105007323A (en) * 2015-07-22 2015-10-28 上海斐讯数据通信技术有限公司 System and method for arranging cloud resources
CN106375120A (en) * 2016-08-31 2017-02-01 杭州东方通信软件技术有限公司 Fast topology method and apparatus of IT infrastructure
CN106487912A (en) * 2016-10-26 2017-03-08 北京荣之联科技股份有限公司 The management being served by and dissemination method and device more
CN107070705A (en) * 2017-03-23 2017-08-18 无锡华云数据技术服务有限公司 A kind of method of combination of cloud resource

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104965760A (en) * 2015-06-29 2015-10-07 广州酷狗计算机科技有限公司 Method and apparatus for managing life cycle of software function module
CN105007323A (en) * 2015-07-22 2015-10-28 上海斐讯数据通信技术有限公司 System and method for arranging cloud resources
CN106375120A (en) * 2016-08-31 2017-02-01 杭州东方通信软件技术有限公司 Fast topology method and apparatus of IT infrastructure
CN106487912A (en) * 2016-10-26 2017-03-08 北京荣之联科技股份有限公司 The management being served by and dissemination method and device more
CN107070705A (en) * 2017-03-23 2017-08-18 无锡华云数据技术服务有限公司 A kind of method of combination of cloud resource

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109379441A (en) * 2018-12-07 2019-02-22 华中科技大学 Chain rule combined method and system are serviced in a kind of cloud environment
CN111722842A (en) * 2020-05-29 2020-09-29 北京宝兰德软件股份有限公司 Pipeline arranging method and device, electronic equipment and storage medium
CN112511596A (en) * 2020-11-05 2021-03-16 苏州浪潮智能科技有限公司 Method and equipment for creating cloud resources in cloud platform
CN113608754A (en) * 2021-07-23 2021-11-05 安徽三七极域网络科技有限公司 Service instantiation method and device and electronic equipment

Similar Documents

Publication Publication Date Title
CN107579851A (en) The method and apparatus for determining the execution sequence of resource layout template
US20180219722A1 (en) Proactive fault detection and diagnostics for networked node transaction events
CN104423961B (en) A kind of method and system for generating test script
CN105677615B (en) A kind of distributed machines learning method based on weka interface
Gupta et al. Novel xgboost tuned machine learning model for software bug prediction
CN111241073B (en) Data quality inspection method and device
CN104461693A (en) Virtual machine updating method and virtual machine updating system under desktop cloud computing environment
Tahvili et al. Functional dependency detection for integration test cases
CN105468797A (en) Information processing method and apparatus
US9678746B2 (en) Coding convention discovery and enforcement
CN110019067A (en) A kind of log analysis method and system
CN111026080A (en) Hardware-in-loop test method and device for controller
CN105573836A (en) Data processing method and device
Qiu et al. Cross-Project Defect Prediction via Transferable Deep Learning-Generated and Handcrafted Features.
CN107656796A (en) A kind of virtual machine cold moving method, system and equipment
CN112380195B (en) SQL (structured query language) interactive data preprocessing method and device based on transaction time sequence directed graph
CN105138612A (en) Method and system for analyzing and locating reasons of data consistency difference
Saraph et al. Test case generation and reduction by automated input-output analysis
CN110399284A (en) A kind of test case writes and executes method and device
CN106503970A (en) The edit methods and device of flow instance
CN112765014B (en) Automatic test system for multi-user simultaneous operation and working method
CN106528179A (en) Static recognition method for Java class dependence relations
CN114707601A (en) Inspection information processing method and system based on new energy motorcycle and cloud platform
Abbas et al. Cloud Services Ranking by measuring Multiple Parameters using AFIS
CN113726525A (en) Energy industry cloud network data tracing method and device

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

Application publication date: 20180112

RJ01 Rejection of invention patent application after publication