基于应用程序对其他应用程序的依赖性对其自动执行操作的制作方法

文档序号:6497111阅读:182来源:国知局
基于应用程序对其他应用程序的依赖性对其自动执行操作的制作方法
【专利摘要】本发明公开了基于应用程序对其他应用程序的依赖性对其自动执行操作的方法、系统和计算机可读存储介质。可以接收用于启动第一应用程序的命令。所述第一应用程序被配置为使用至少一个其他应用程序提供的数据。确定是否将所述第一应用程序配置为使用第二应用程序提供的数据。响应于所述命令的接收,进行该确定。响应于将所述第一应用程序配置为使用所述第二应用程序所提供数据的确定,发起所述第二应用程序的执行。
【专利说明】基于应用程序对其他应用程序的依赖性对其自动执行操作
【技术领域】
[0001]此申请涉及管理多个应用程序的执行。具体来讲,此申请涉及基于此类应用程序对于其他应用程序的依赖性来对其自动执行操作。
【背景技术】
[0002]分布式计算系统可以包括多个系统,每个系统都可以包括一个或多个应用程序。每个此类应用程序都可以是多层(η层)应用程序的一部分,例如企业应用程序。例如,一个三层应用程序可以包括呈现、处理和数据管理层。每个这种层都可以是逻辑上和/或物理上的单独过程。η层应用程序体系结构让软件开发人员可以创建灵活、可复用的应用程序。例如,通过使用此类η层体系结构,开发人员每次可以为一层修改或添加应用程序,而不必重写或升级整个应用程序(即,与η层应用程序对应的整个应用程序)。在一个示例中,3层应用程序可以包括呈现层、处理层和数据层。
[0003]对于3层应用程序的示例,呈现层可以是多层应用程序的最顶层。例如,对于用于在线购物的企业应用程序,呈现层中的应用程序可以呈现与例如浏览商品、购买和购物车内容的服务相关的信息。此呈现应用程序可以通过各种方法与其他层中的应用程序进行通信。
[0004]继续使用此示例,应用程序层可以对数据执行各种处理,例如对于从数据库层应用程序访问的数据。这些处理过的数据可以传递到呈现层。此示例中的第三层可以是数据库层。数据库层可以包括用于从各种数据库访问(例如存储和检索)数据的应用程序。
[0005]这些实现企业应用程序的应用程序在彼此之间可以具有依赖性。例如,Web应用程序可以依赖于财务应用程序,例如使用财务应用程序生成和/或提供的数据。财务应用程序可以依赖于数据库应用程序提供的数据。因此,在Web应用程序正在执行时,还应该执行财务应用程序,以便向Web应用程序提供数据。类似地,在财务应用程序正在执行时,还应该执行数据库应用程序以便向财务应用程序提供数据。

【发明内容】

[0006]本发明公开了基于应用程序对于其他应用程序的依赖性来对其自动执行操作的各种系统和方法。例如,一种方法涉及接收命令。此命令用于启动第一应用程序。第一应用程序被配置为使用至少一个其他应用程序提供的数据。此方法还包括确定是否将第一应用程序配置为使用第二应用程序提供的数据。响应于命令的接收,进行该确定。此方法还涉及,响应于将第一应用程序配置为使用第二应用程序所提供数据的确定,发起第二应用程序的执行。
[0007]在一些实施例中,此方法包括发起第一应用程序的执行,其中发起第一应用程序的执行响应于第二应用程序的执行来进行。在一些实施例中,该确定包括发送通知,其中通知指示一接收命令即启动第一应用程序。在一些实施例中,第一实体操作第一应用程序,第二实体操作第二应用程序。响应于通知的接收,第二实体确定是否将第二应用程序配置为针对第一应用程序提供数据。在一些实施例中,此方法包括确定是否将第二应用程序配置为使用第三应用程序所提供的其他数据。此方法还包括,响应于第二应用程序使用第三应用程序所提供的其他数据的确定,发起第三应用程序的执行。发起第三应用程序的执行在发起第二应用程序的执行之前进行。在一些实施例中,响应于辅助通知的接收,进行第二应用程序使用来自第三应用程序的其他数据的确定。辅助通知指示要执行第二应用程序。
[0008]在一些实施例中,第三实体操作第三应用程序。响应于辅助通知的接收,第三实体确定第二应用程序使用来自于第三应用程序的其他数据。在一些实施例中,此方法还包括确定多个应用程序之间的依赖性。这些依赖性指示第一应用程序至少由于第一应用程序使用第二应用程序提供的数据而依赖于第二应用程序。响应于命令的接收,进行依赖性的确定。在一些实施例中,基于所述依赖性来发起第二应用程序的执行。在一些实施例中,此方法还包括,响应于将第一应用程序配置为使用第二应用程序提供的数据的确定,对第二应用程序应用锁。此锁指示第二应用程序与用于启动第一应用程序的命令相关联。此锁阻止要对第二应用程序发起的另一个操作。另一个操作是与另一个命令相关联的操作。另一个命令是用于启动第一应用程序的命令之外的命令。
[0009]公开了一种装置,其包括一个或多个处理器、第一应用程序、命令模块和通知模块。第一应用程序被配置为使用一个或多个处理器来执行。命令模块被配置为接收用于启动第一应用程序的命令。通知模块被配置为发送通知。通知指示启动第一应用程序的命令的接收。通知模块进一步被配置为接收响应通知。响应通知指示正在执行第二应用程序。
[0010]在一些实施例中,第一应用程序被配置为响应于接收响应通知来执行。响应通知进一步指示,响应于执行通知的发送的命令模块,第二应用程序正在执行。在一些实施例中,命令模块进一步被配置为接收用于停止第一应用程序的命令。通知模块进一步被配置为发送另一个通知。另一个通知指示停止第一应用程序的命令的接收。通知模块进一步被配置为接收另一个响应通知。另一个响应通知指示第三应用程序依赖于第一应用程序提供的数据。在一些实施例中,响应通知进一步指示响应于执行另一个通知的发送的通知模块来停止第二应用程序。
[0011]公开了一种计算机可读介质,其包括可以由一个或多个处理器执行的程序指令。可以执行程序指令来接收命令,其中命令用于启动第一应用程序。可以进一步执行程序指令以发送通知,其中通知指示命令的接收。可以进一步执行程序指令以接收响应通知,其中响应通知指示正在执行第二应用程序。
[0012]在一些实施例中,响应通知进一步指示第一应用程序依赖于来自于第二应用程序的数据。在一些实施例中,可以进一步执行程序指令以执行第一应用程序。响应于响应通知的接收,执行第一应用程序。响应通知进一步指示,响应于通知的发送,第二应用程序正在执行。在一些实施例中,可以进一步执行程序指令以接收用于停止第一应用程序的命令。可以进一步执行程序指令来发送另一个通知。另一个通知指示停止第一应用程序的命令的接收。可以进一步执行程序指令以接收另一个响应通知。另一个响应通知指示第三应用程序依赖于来自第一应用程序的数据。在一些实施例中,响应通知进一步指示响应于另一个通知的发送来停止第三应用程序。
【专利附图】

【附图说明】[0013]通过参考附图,本申请的实施例可能更便于理解,并且其众多对象、特征和优点对于本领域的技术人员来说变得显而易见。
[0014]图1是根据一个实施例示出多层应用程序的框图,多层应用程序包括企业应用程序层、Web应用程序层、财务应用程序层和数据库应用程序层。
[0015]图2A是根据一个实施例示出通知系统的框图,通知系统中包括通知基础结构和通知模块。
[0016]图2B是根据一个实施例示出通知系统的示例性具体实施的框图。
[0017]图3是根据一个实施例显示各种应用程序的依赖性的依赖图的框图。
[0018]图4是根据一个实施例示出了基于对另一个应用程序的依赖性而发起执行应用程序的方法的流程图。
[0019]图5是根据一个实施例示出了基于对另一个应用程序的依赖性而发起停止应用程序的方法的流程图。
[0020]图6是根据一个实施例示出了用于按照命令所指定对应用程序执行操作的方法的流程图。
[0021]图7是根据一个实施例的流程图,示出了用于处理指示针对应用程序的命令的通知的方法。
[0022]图8是示出其中可以实现本申请的实施例的网络体系结构的框图。
[0023]图9是示出适用于实现本申请的实施例的计算机系统的示例的框图。
[0024]由于本申请的实施例容易受到各种修改形式和替代形式的影响,因此提供具体实施例作为附图和【具体实施方式】中的示例。应当理解,附图和【具体实施方式】并非旨在将实施例限制为所公开的具体形式。相反,其目的在于涵盖所附权利要求所限定的本发明精神和范围内的所有修改形式、等同形式和替代形式。
【具体实施方式】
[0025]本发明的实施例涉及基于对另一个应用程序的依赖性来发起应用程序的执行。这些应用程序可以是使用η层体系结构进行实现的企业应用程序的一部分。企业应用程序可以是分布式应用程序,并且可以包括Web应用程序、财务应用程序和数据库应用程序。此类企业应用程序的执行应当包括执行每个Web应用程序、财务应用程序和数据库应用程序。在一个示例中,在发起此类企业应用程序的执行时,接收到用于启动Web应用程序的命令。然而,在企业应用程序体系结构中,Web应用程序可依赖于一个或多个财务应用程序提供的数据。此外,每个财务应用程序可依赖于一个或多个数据库应用程序提供的数据。
[0026]在接收用于启动Web应用程序的命令时,Web应用程序确定是否存在提供由此Web应用程序使用的数据的财务应用程序(和/或另一个应用程序)。在一个示例中,标识出了提供由此Web应用程序使用的数据的财务应用程序。此财务应用程序应该在可以启动Web应用程序之前启动。一旦开始执行财务应用程序,就可以启动Web应用程序。在一个具体实施中,可以在完成执行财务应用程序之后启动Web应用程序。然而,财务应用程序自身可能会依赖于数据库应用程序(和/或另一个应用程序)提供的数据。因此,在可以启动财务应用程序之前,确定这种附加的依赖性并启动数据库应用程序(或完成数据库应用程序的执行)。[0027]类似地,在接收应用程序的其他命令时(例如,停止财务应用程序的命令),确定此财务应用程序的依赖性。例如,可以标识出使用此财务应用程序提供的数据的Web应用程序。在可以停止财务应用程序之前,应该首先停止Web应用程序的执行。在多层应用程序模型中,除了启动和停止执行应用程序以外的其他命令的操作,可基于应用程序之间的各种依赖性以相似的方式来执行。
[0028]图1是根据一个实施例示出企业体系结构100的框图,企业体系结构100包括企业应用程序层、Web应用程序层、财务应用程序层和数据库应用程序层。图1显示了包括企业应用程序102A和102B的企业应用程序层102。图1还显示了包括Web应用程序104A-104C的Web应用程序层104。图1还显示了包括财务应用程序106A-106E的财务应用程序层106。图1还显示了包括数据库应用程序108A-108F的数据库应用程序层。请注意,尽管图1显示了包括三层应用程序104-108的多层应用程序(即企业应用程序102A-102B),但是多层应用程序可以根据需要包括更多或更少层中的应用程序。
[0029]因此,企业应用程序102A和102B是包括Web应用程序层104、财务应用程序层106和数据库108中的应用程序的多层应用程序。Web应用程序104A-104C可以是向用户呈现图形用户界面(GUI)的基于Web的应用程序。例如,Web应用程序可以包括Web服务器软件应用程序。此Web浏览器应用程序可以与其他计算机进行通信以便在该计算机上的Web浏览器中呈现⑶I。财务应用程序106A-106E可以包括用于处理数据并提供此数据以供Web应用程序104A-104C使用的应用程序。数据库应用程序108A-108F可以包括用于访问数据库并提供此类数据以供财务应用程序106A-106E使用的应用程序。
[0030]在一个实施例中,由企业应用程序使用的实际应用程序可能会动态地发生变化,与这些变化相关的信息可能不可用于每个应用程序。在一个实施例中,Web应用程序104A可能含有识别Web应用程序104A依赖其提供数据的财务应用程序106A的信息,但是Web应用程序104A可能没有识别财务应用程序106A依赖其提供数据的应用程序的信息。在另一个实施例中,虽然企业应用程序102A可能含有识别企业应用程序102A使用Web应用程序104A-104C中的哪些应用程序的信息,但是Web应用程序104A可能没有识别Web应用程序104A使用哪些财务应用程序(例如财务应用程序106A-106E中的应用程序)的信息。例如,Web应用程序104A可以使用来自财务应用程序106A-106E中的一个或多个的数据,但是Web应用程序104A可能没有识别Web应用程序104A依赖其提供数据的财务应用程序106A-106E中的哪些应用程序的信息。在又一个实施例中,Web应用程序104A可能甚至没有识别应用程序104B、104C、106A-106E和/或108A-108F中的哪一个应用程序是财务应用程序的信息。因此,根据具体实施,Web应用程序104A可能含有识别Web应用程序104A所依赖的应用程序的信息,但无法识别这些识别出的应用程序的依赖性。如根据本公开将会理解的,此依赖性信息可供其他操作使用。
[0031]在一个实施例中,在接收命令时,例如用于发起执行的操作的命令,Web应用程序104A (更准确地说,托管此应用程序的实体,或者与此应用程序关联的通知模块)可以将此命令通知给其他应用程序104B、104C、106A-106E和/或108A-108F。在收到针对此通知的响应之前,不会针对Web应用程序104A执行此命令指定的操作。在一个具体实施中,财务应用程序106A (更准确地说,托管此应用程序的实体,或者与此应用程序关联的通知模块)可以对此通知作出响应。此响应可以指示财务应用程序106A提供由Web应用程序104A使用的数据。此响应还可以指示与可以发起关于Web应用程序104A的命令(例如,可以发起Web应用程序104A的执行)相对应的操作。
[0032]在一个实施例中,作为对于上述示例的扩展,106A之外的应用程序,即应用程序104BU04CU06B-106E和/或108A-108F(更准确地说,托管这些应用程序的实体,或者与这些应用程序关联的通知模块)可以用指示104B、104C、106B-106E和/或108A-108F这些应用程序中没有一个提供由Web应用程序104A使用的数据的响应进行响应。在另一个实施例中,106A之外的应用程序,即应用程序104B、104C、106B-106E和/或108A-108F (更准确地说,托管这些应用程序的实体,或者与这些应用程序关联的通知模块)可以只是不响应Web应用程序104A发送的这些通知。在此实施例中,可以使用超时或另一个机制来确定106A之外的这些应用程序(即应用程序104B、104C、106B-106E和/或108A-108F)不提供由Web应用程序104A使用的数据。
[0033]在一个实施例中,接收通知的应用程序(更准确地说,托管此应用程序的实体,或者与此应用程序关联的通知模块)可以确定其是否提供由发送此通知的应用程序使用的数据。根据上述示例,财务应用程序106A(更准确地说,托管此应用程序的实体,或者与此应用程序关联的通知模块)在接收到来自Web应用程序104A的通知时,可以确定其提供由Web应用程序104A使用的数据(即,Web应用程序104A依赖于财务应用程序106A)。然而,在将响应发送回指示此依赖性的Web应用程序104A之前,财务应用程序106A(更准确地说,托管此应用程序的实体,或者与此应用程序关联的通知模块)可能需要确定其自身是否依赖于另一个应用程序。在一个实施例中,财务应用程序106A(更准确地说,托管此应用程序的实体,或者与此应用程序关联的通知模块)可以发送一个或多个附加的通知,每个通知都指示财务应用程序106A希望执行与收到的通知相关联的操作,或者指示财务应用程序106A的可能的依赖性。
[0034]以类似于上述方式的方式,另一个应用程序(例如数据库应用程序108A)(更准确地说,托管此应用程序的实体,或者与此应用程序关联的通知模块)在收到来自财务应用程序106A的附加通知时,可以确定其提供由财务应用程序106A使用的数据(即,财务应用程序106A依赖于数据库应用程序108A)。数据库应用程序108A (更准确地说,托管此应用程序的实体,或者与此应用程序关联的通知模块)可以随后确定不存在它所依赖的其他应用程序(即,没有其他应用程序提供由数据库应用程序108A使用的数据)。随后可以执行数据库应用程序108A,即,响应于接收来自财务应用程序106A的附加通知。一旦开始执行数据库应用程序108A,即可向财务应用程序106A发送指示执行数据库应用程序108A的响应。一旦财务应用程序106A接收到此响应,随后即可执行财务应用程序106A。一旦开始执行财务应用程序106A,即可向Web应用程序104A发送另一个指示执行财务应用程序106A的响应。一旦Web应用程序104A接收到此附加响应,随后即可按照接收到的命令的操作所指示来执行Web应用程序104A。请注意,在一些实施例中,可以在成功执行应用程序(例如成功执行财务应用程序)时发送同时指示符合此财务应用程序的任何依赖性的响应。
[0035]因此,企业应用程序102A的每个应用程序的依赖性都可以保留,即使Web应用程序104A的依赖性已经在两次执行期间发生了变化。通过使用本文所述的通知系统,企业应用程序的结构可以动态地改变,而不要求应用程序在每次执行此类企业应用程序之前含有识别所有依赖性的信息。在一个实施例中,每个应用程序都可以仅含有识别此每个应用程序所依赖的另一个应用程序的信息,而非识别这些其他应用程序所依赖的应用程序的信息。例如,Web应用程序104A可以含有识别对财务应用程序106A的依赖性的信息。然而,Web应用程序104A将不会含有识别财务应用程序106A的依赖性的信息。在另一个实施例中,每个应用程序甚至都不会含有识别此每个应用程序所依赖的其他应用程序的信息。
[0036]本文所述方法可以应用到每个企业应用程序102A-102B的其他命令。例如,在执行企业应用程序102A期间(即,在执行Web应用程序104A、财务应用程序106A和数据库应用程序108A时),接收到一条停止财务应用程序106A的执行的命令。然而,在一个实施例中,在执行企业应用程序102A期间,可以在首先停止依赖于财务应用程序106A的任何应用程序之后,停止执行财务应用程序106A。因此,财务应用程序106A (更准确地说,托管此应用程序的实体,或者与此应用程序关联的通知模块)可以发送通知,指示停止执行财务应用程序106A的命令。依赖于财务应用程序106A的应用程序(更准确地说,托管每个此类应用程序的实体,或者与此类应用程序关联的通知模块)可以作出响应,例如Web应用程序104A。
[0037]例如,Web应用程序104A在接收到来自财务应用程序106A的通知时,可以确定是否存在依赖于Web应用程序104A的任何应用程序。通过发送附加的通知可以进行此确定。这些附加通知中的每一个都可以指示停止Web应用程序104A的执行的意图,和/或查询是否存在依赖于Web应用程序104A的任何应用程序。在另一个实施例中,可以在不发送附加通知的情况下进行此确定。一旦Web应用程序104A (更准确地说,托管此应用程序的实体)确定没有依赖于Web应用程序104A的其他应用程序,即可停止Web应用程序104A的执行,同时将响应发送至财务应用程序106A。一旦财务应用程序106A接收到此响应,即可停止财务应用程序106A的执行。在一个实施例中,对于本文所述的停止执行命令,提供由要停止的应用程序(例如财务应用程序106A)使用的数据的另一个应用程序(例如数据库应用程序108A)不一定受到此停止执行命令的影响。
[0038]图2A是根据一个实施例示出通知系统200的框图,通知系统200中包括通知基础结构和通知模块。通知系统可用于通过多层应用程序(例如图1中所述的多层应用程序)来发送通知和/或响应。
[0039]通知系统包括通知模块202A-202D、通知广播模块204和通知基础结构206。通知模块202A与企业应用程序相关联,例如企业应用程序102A。通知模块202B与Web应用程序相关联,例如Web应用程序104A。通知模块202C与财务应用程序相关联,例如财务应用程序106A。通知模块202D与数据库应用程序相关联,例如数据库应用程序108A。通知基础结构206促进在通知模块202A-202D之间发送和接收通知(和响应)。
[0040]通知广播模块204是可选的,并且可用于一些实施例中。在一个实施例中,通知模块202B可以向所有其他通知模块(例如通知模块202A、202C和202D)发送通知,例如指示其关联的Web应用程序104A将按照接收到的命令所指示进行启动的通知。在另一个实施例中,通知模块202B可以将此类通知发送到通知广播模块204。响应于从通知模块202B接收此类通知,通知广播模块204可以向通知模块202A、202C和202D发送附加的通知(例如,基本上类似的通知)。在一个实施例中,通知模块202A-202D中的每一个还可以接收来自其他通知模块202A-202D的响应,例如指示各自的应用程序已执行操作的响应。
[0041]图2B是根据一个实施例示出通知系统的示例性网络系统200B的框图。网络系统200B包括系统208A-208D,每个系统都可以使用网络210与其他系统208A-208D进行通信。系统208A包括企业应用程序212,系统208B包括Web应用程序214,系统208C包括财务应用程序216,以及系统208D包括数据库应用程序218。此外,系统208A-208D中的每一个都包括各自的通知模块220A-220D以及各自的命令模块224A-224D。网络系统200B还可以包括通知控制器222。
[0042]在一个实施例中,可以使用虚拟机实现系统208A-208D中的一个或多个。每个虚拟机都可以是以物理计算机硬件方式执行计算机指令的物理计算机的软件实现。管理程序(未示出)可以在软件和/或硬件中实现,并且可以为系统208A-208D中的每一个提供并发支持虚拟机的能力。管理程序可以通过协调计算机资源(例如,处理能力、存储器等)在虚拟机之间的分配使得虚拟机以类似于物理计算机的方式运行来提供此能力。虚拟机可以在软件中实现,并且可以按照类似于物理硬件的方式执行计算机指令。每台虚拟机都可以在运行时表现为主机计算机似乎仅在虚拟机控制下,共享主机计算机系统的资源时也可以表现为这样。例如,系统208A-208D中的一个或多个可以使用虚拟机来实现,并且每个此类虚拟机都可以执行各自的应用程序、通知模块和命令模块。
[0043]在一个实施例中,系统208A-208D中的每一个都可以托管各自的应用程序212-218。系统208A-208D可各自包括操作系统以及与各自的应用程序212-218相关联的服务组。在一个实施例中,服务组(未示出)可以是包括每个应用程序的数据(例如依赖性)的每个应用程序的数据结构。然而,每个此类服务组仅可包括每个企业应用程序的依赖性的一部分。请注意,在一个实施例中,企业应用程序212自身可以是多层应用程序,因此可以包括多个分布式应用程序,例如应用程序214-218。换句话讲,企业应用程序212的执行可以包括应用程序214-218中每一个的执行。
[0044]每个命令模块224A-224D都可以接收一个或多个命令,例如其中用于启动或停止执行的命令,用于暂停执行的命令。命令模块可以实现为软件、硬件或其组合中的一个或多个。在一个实施例中,命令模块可以按照所接收的命令所指定,对关联的应用程序发起操作。
[0045]例如,命令模块224B可以按照接收到的命令所指示来发起启动Web应用程序214的执行,但只能在确定对于其他应用程序的依赖性之后。在另一个实施例中,命令模块可以与系统的软件实体(例如操作系统)进行通信以执行接收到的命令所指定的操作。例如,命令模块224B可以按照接收到的命令所指定来与系统208B的操作系统进行通信以发起Web应用程序214的执行。
[0046]通知模块220A-220D可以发送通知和/或接收响应,例如为了确定应用程序212-218之间的依赖性而发送/接收的通知或响应。通知模块220A-220D可以实现图2A中的通知模块202A-202D。在一个实施例中,每个通知模块220A-220D都可以与各自的命令模块224A-224D进行通信。例如,命令模块224B可以接收用于发起Web应用程序214的执行的命令。在发起Web应用程序214的执行之前,命令模块224B可以与通知模块220B进行通信,将接收到的命令和/或发起Web应用程序214的执行的意图通知给通知模块220B。在一个实施例中,在接收到一个或多个响应之前(例如由通知模块220B接收),不会执行Web应用程序214(按照命令所指示)。每个此类响应都可以指示另一个系统(例如系统208C)包含可以提供由Web应用程序214使用的数据的应用程序(例如财务应用程序216)。每个此类响应还指示另一个系统上的此应用程序提供Web应用程序214所依赖的数据。
[0047]通知控制器222是系统200B的可选部件。通知控制器可实现图2A中的通知广播模块204。在一个实施例中,通知控制器222可以在通知模块之间接收、发送和/或传输通知。例如,通知模块220B可以将通知发送到通知控制器222。接下来,通知控制器可以将此通知广播到所有系统和/或系统200B中的通知模块。通知模块220C可以直接将响应发送回通知模块220B,和/或通知模块220C可以将响应发送回通知控制器222。接下来,通知控制器222可以将此响应发送到通知控制器220B。在一个实施例中,通知控制器222可以采用指示是否正在执行(或者,已经执行)某个应用程序的标记来提供由另一个应用程序使用的数据。
[0048]例如,系统208C在执行财务应用程序216时可以将响应发送回系统208B。一旦开始执行财务应用程序216,系统208C可以提供由Web应用程序214使用的数据,例如通过网络210。在一个实施例中,应用程序(例如Web应用程序214和财务应用程序216)还可以访问位于公用位置的数据,例如公用数据存储库。在此实施例中,一旦财务应用程序216已针对此公用位置上的数据执行所需操作,系统208C即可将响应发送回系统208B。相应地,在系统208B接收到此响应之前,系统208B不会对Web应用程序214执行操作。
[0049]图3是根据一个实施例显示各种应用程序的依赖性300的依赖图的框图。图3显示了 Web应用程序302A和302B、财务应用程序304A-304C和数据库应用程序306A-306D之间的依赖性300。如图所示,Web应用程序302A依赖于财务应用程序304A和304B。Web应用程序302B依赖于财务应用程序304C。财务应用程序304A依赖于数据库应用程序306A和306B。财务应用程序304B依赖于数据库应用程序306B和306C。财务应用程序304C依赖于数据库应用程序306C和306D。数据库应用程序306A-306D不依赖于任何其他应用程序。
[0050]在一个实施例中,当与Web应用程序关联的系统接收到发起执行的命令时,例如系统208B的命令模块224B接收到发起Web应用程序214的执行的命令时,在与此Web应用程序所依赖的应用程序关联的系统指示(例如,通过响应)其已经准备就绪之前,不会执行Web应用程序。在图3所不的不例中,与财务应用程序304A和304B关联的系统将会指示(例如通过对系统208B的响应)它们已经准备就绪提供Web应用程序302所依赖的数据。然而,在与数据库应用程序306A-306C关联的系统首先指示它们已经准备就绪提供财务应用程序304A和304B所依赖的数据之前,与每个财务应用程序304A和304B关联的系统不会(向Web应用程序302A)做出此指示。在一个实施例中,在对Web应用程序302做出这些指示之前执行财务应用程序304A和304B。在另一个实施例中,在对Web应用程序302A做出这些指示之前,财务应用程序304A和304B会对公用位置中的数据进行操作。
[0051]在一个实施例中,在与Web应用程序302A关联的系统接收到发起执行的命令时,对该Web应用程序依赖性中的每个应用程序应用锁。在此示例中,将会对Web应用程序302A、财务应用程序304A和304B以及数据库应用程序306A-306C应用锁。在将通知从Web应用程序302A传播到数据库应用程序306A-306C的过程中,可将此锁应用到这些应用程序中的每一个。因此,与另一个命令关联的通知和/或操作无法访问带锁的应用程序。在一个实施例中,每个应用程序的服务组都可以对该应用程序实现锁。在一个实施例中,锁可以阻止不同类型的操作访问给定的应用程序。例如,数据库应用程序306C可以被财务应用程序304B锁定,但仍然可以由与发起数据库应用程序306C的执行的操作相关的财务应用程序304C使用(以及用对来自财务应用程序304C的通知的响应进行响应)。然而,此锁将会阻止将其他操作(例如停止、暂停等)应用到数据库应用程序306C。
[0052]图4是根据一个实施例示出了基于对另一个应用程序的依赖性而发起执行应用程序的方法400的流程图。本领域中的技术人员可以修改方法400,以获得替代性实施例。此外,此实施例中的步骤按照顺序显示。然而,一些步骤发生的顺序可能与显示的顺序不同,一些步骤可能会并发执行,一些步骤可能与其他步骤合并到一起,一些步骤在另一个实施例中可能不存在。参照结合图1-3所述的元素的变型形式描述方法400。
[0053]在402中,接收到发起第一应用程序的执行的命令。例如,参照图2B,系统208B的命令模块224B可以接收用于执行Web应用程序214的命令。然而,系统208B在确定Web应用程序214是否具有任何依赖性之前不会执行Web应用程序214。
[0054]在404中,确定第一应用程序是否依赖于第二应用程序。例如,参照图2B,系统208B可以例如通过发送一个或多个通知进行此确定。在一个实施例中,系统208B还可以与另一个系统(例如系统208C)进行通信以确定针对应用程序214的依赖性。根据此实施例,系统208B可以与系统208C和/或其他系统进行通信,以确定针对Web应用程序214的依赖性的至少一部分。例如,通知模块220B可以等待接收响应(例如,来自另一个通知模块和/或通知控制器),或在进行此确定时等待超时。
[0055]在406中,如果第一应用程序依赖于第二应用程序,方法400执行元素408。如果第一应用程序不依赖于第二应用程序,方法400执行元素410。
[0056]在408中,发起第二应用程序的执行。在一个实施例中,响应于接收通知(例如来自通知模块220B和/或通知控制器222),系统208C执行财务应用程序216。在另一个实施例中,一旦开始执行财务应用程序,就会向托管Web应用程序的系统发送响应。如根据本公开将会理解的,财务应用程序自身的执行可依赖于其他应用程序。
[0057]在410中,发起第一应用程序的执行。在一个实施例中,响应于接收指示正在执行财务应用程序(提供由Web应用程序214使用的数据)的响应,执行Web应用程序214。
[0058]图5是根据一个实施例示出了基于对另一个应用程序的依赖性而发起停止应用程序的方法500的流程图。本领域中的技术人员可以修改方法500以获得替代性实施例。此外,此实施例中的步骤按照顺序显示。然而,一些步骤发生的顺序可能与显示的顺序不同,一些步骤可能会并发执行,一些步骤可能与其他步骤合并到一起,一些步骤在另一个实施例中可能不存在。参照结合图1-3所述的元素的变型形式描述方法500。
[0059]在502中,接收到停止第一应用程序的执行的命令。例如,参照图2B,系统208C的命令模块224C可以接收用于停止财务应用程序216的命令。然而,系统208C在确定是否存在依赖于财务应用程序216的应用程序之前不会停止执行财务应用程序216。
[0060]在504中,确定第二应用程序是否依赖于第一应用程序。例如,参照图2B,系统208C可以例如通过发送一个或多个通知进行此确定。在一个实施例中,系统208C还可以与另一个系统(例如系统208B)进行通信以确定针对应用程序216的依赖性。根据此实施例,系统208C可以与系统208B和/或其他系统进行通信,以确定针对财务应用程序216的依赖性的至少一部分。例如,通知模块220C可以等待接收响应(例如,来自另一个通知模块和/或通知控制器),或在进行此确定时等待超时。[0061]在506中,如果第二应用程序依赖于第一应用程序,方法500执行兀素508。如果第二应用程序不依赖于第一应用程序,方法500执行元素510。
[0062]在508中,发起第二应用程序的停止。在一个实施例中,响应于接收通知(例如来自通知模块220C和/或通知控制器222),系统208B停止Web应用程序214。在一个实施例中,一旦停止Web应用程序,即可向托管财务应用程序的系统发送响应。此外,Web应用程序自身的执行可能依赖于其他应用程序。
[0063]在510中,发起第一应用程序的停止。在一个实施例中,响应于接收指示Web应用程序(使用由财务应用程序214提供的数据)已经停止的响应,停止财务应用程序216。
[0064]图6是根据一个实施例示出了用于按照命令所指定对应用程序执行操作的方法的流程图。本领域中的技术人员可以修改方法600,以获得替代性实施例。此外,此实施例中的步骤按照顺序显示。然而,一些步骤发生的顺序可能与显示的顺序不同,一些步骤可能会并发执行,一些步骤可能与其他步骤合并到一起,一些步骤在另一个实施例中可能不存在。参照结合图1-3所述的元素的变型形式描述方法600。
[0065]在602中,接收到针对第一应用程序的命令。参照图2B,在系统208B的命令模块224B处接收到命令。其中,命令可以是启动执行命令、停止执行命令或暂停执行命令中的一者。命令可指要对第一应用程序(例如对Web应用程序214)执行的操作。在确定依赖性之前,不会对第一应用程序执行此操作,如下所述。
[0066]在604中,发送一个或多个通知。在一个实施例中,此通知可以指示针对第一应用程序的命令。在另一个实施例中,此通知可以指示要对第一应用程序执行的操作,而不指示命令(用于指定此操作)本身。在又一个实施例中,此通知可以查询是否存在第一应用程序所依赖的应用程序,而不指示操作和/或命令。例如,可以发送指示针对Web应用程序214的启动执行命令的通知。如本文所述,通知可以由通知模块220B发送到通知控制器222 (该控制器随后可将此通知传播到其他系统),和/或通知模块220B可以将通知发送到其他系统。根据具体实施,通知模块220B可以重新发送这些通知以确保为其他通知模块给出足够的时间进行响应。
[0067]在606中,方法600等待对通知的一个或多个响应。例如,通知模块220B可以等待来自其他系统(或通知控制器222)的响应。换句话讲,元素606等待确定第一应用程序的依赖性。通知模块220B可以使用超时或另一种机制,以确保系统208B不会等待太久来执行由接收到的命令所指定的操作。例如,通知模块220B可以等待预先确定的时间量,然后再执行此操作。为了方法600的流程图,通知模块220B可以将超时或另一种机制解释为对通知的响应。
[0068]在608中,如果接收到对通知的响应,那么按照命令所指定对第一应用程序执行操作。例如,一旦通知模块220B接收到对通知的响应,系统208B即可发起Web应用程序214的执行。
[0069]图7是根据一个实施例的流程图,示出了用于处理指示针对应用程序的命令的通知的方法。本领域中的技术人员可以修改方法700,以获得替代性实施例。此外,此实施例中的步骤按照顺序显示。然而,一些步骤发生的顺序可能与显示的顺序不同,一些步骤可能会并发执行,一些步骤可能与其他步骤合并到一起,一些步骤在另一个实施例中可能不存在。参照结合图1-3所述的元素的变型形式描述方法700。[0070]在702中,接收到通知。在一个实施例中,此通知可以指示针对第一应用程序的命令。在另一个实施例中,此通知可以指示要对第一应用程序执行的操作,而不指示命令(用于指定此操作)本身。在又一个实施例中,此通知可以查询是否存在第一应用程序所依赖的应用程序,而不指示操作和/或命令。例如,参照图2B,系统208C的通知模块220C可以接收通知。此通知可由通知模块220B和/或通知控制器222发送。
[0071]在704中,确定是否存在与接收到的通知相关的应用程序。例如,系统208C可以确定其是否包括与接收到的通知相关的应用程序。在此示例中,系统208C可以确定其包括(例如主机)与通知相关的财务应用程序216。系统208C可以,例如,通过检查其自身的可能指示Web应用程序214依赖于由财务应用程序216提供的数据的内部数据结构来进行此确定。在这种情况下,系统208C对方法700的执行可以前进到元素706。此外,如果确定了此依赖性,那么系统208C预期会对财务应用程序216执行操作,如下文参照元素710所述。在一个实施例中,即使在此应用程序上存在锁,但是由于此锁针对如通知中所指示的相同操作类型,因此操作可以前进到元素706。
[0072]在另一个示例中,系统208D可以从系统208B接收类似的通知。然而,系统208D可以确定其不包括与此通知相关的应用程序。系统208D因此可以确定Web应用程序214不依赖于由数据库应用程序218提供的数据。在这种情况下,可以停止系统208D对方法700的执行。在一个实施例中,即使存在与接收到的通知相关的应用程序,但是由于此应用程序其上带锁,并且此锁针对另一个操作类型,那么可以停止系统208D对方法700的执行。在一个实施例中,即使存在与接收到的通知相关的应用程序,但是由于此应用程序其上带锁,或者此锁针对另一个操作类型,那么系统208D对方法700的执行可以等待直到此锁释放。
[0073]在706中,发送了附加通知。在一个实施例中,此附加通知可以指示要对第二应用程序执行的操作,而不指示命令。在另一个实施例中,此附加通知可以查询是否存在第二应用程序所依赖的应用程序,而不指示操作或命令。例如,参照图2B,系统208D的通知模块220D可以接收附加通知。此附加通知可由通知模块220C和/或通知控制器222发送。在一个实施例中,可以将锁应用到第二应用程序,该锁可以指示要对此第二应用程序执行的操作的类型。
[0074]在708中,方法700等待对附加通知的一个或多个响应。例如,通知模块220C可以等待来自其他系统(或通知控制器222)的响应。通知模块220C可以使用超时或另一个机制来确保系统208C不会等待太久来执行与元素702中接收到的通知相关的操作。例如,通知模块220C可以等待预先确定的时间量,然后再执行此操作。为了方法700的流程图,通知模块220C可以将超时或另一种机制解释为对通知的响应。
[0075]在710中,如果接收到对附加通知的响应,那么对第二应用程序执行操作。如上所述,如果在元素704中确定了依赖性,那么接收元素702的通知的系统(例如系统208C)预期会对第二应用程序(例如财务应用程序216)执行特定的操作。例如,一旦通知模块220C接收到对附加通知的响应,系统208C即可发起财务应用程序216的执行。
[0076]在712中,发送对通知的响应。每个此类响应都因此可以指示接收元素702的通知的系统可以提供由发送该通知的系统的应用程序使用的数据。在一个实施例中,每个此类响应都可以指示已经执行操作(与元素702中接收到的通知相关)。例如,通知模块220C可以发送对元素702中接收到的通知的响应。此响应可以指示系统208C已发起财务应用程序216的执行。此响应还可以指示由财务应用程序提供的数据已经准备就绪可供Web应用程序模块214使用,例如当两个应用程序同时访问位于公用存储器中的数据时。
[0077]可以使用不同的计算机系统和网络来实现网络体系结构的元素。下面参照图8描述了一个此类网络环境的示例。
[0078]图8是示出网络体系结构800的简化框图,体系结构800中提供一个或多个客户端,其通过不同的网络连接来访问服务器。如8中所示,客户端802 (I)-(N)耦合到网络810,因此可以通过网络710访问服务器806 (此服务器可以用于实现系统208A-208D和/或通知控制器222)。其他服务器(未示出)可替代地用于实现系统208A-208D和/或通知控制器222。可以使用,例如,台式计算机、膝上型计算机、工作站、服务器、蜂窝电话、智能手机、有网络功能的个人数字助理(PDA)或类似设备来实现客户端。可供客户端802 (I)-(N)用于访问服务器806的网络810的示例是互联网。或者,可以通过采用以太网、IEEE802.1lx或一些其他通信协议的局域网(LAN)提供对服务器806的访问。如将会理解的,可通过将客户端直接耦合到服务器806来对其进行访问(未示出)。
[0079]如图8中另外示出的,服务器806耦合到服务器存储设备808,服务器存储设备808包括诸如集群共享卷的数据卷。服务器存储设备808可实现为单个存储设备或存储设备的集合。服务器存储设备808还可实现为存储区域网络,存储区域网络将会使远程存储设备耦合到服务器(例如服务器806),例如,使得远程存储设备对于服务器操作系统呈现为本地连接的存储设备。
[0080]根据本公开,本领域中的技术人员将会知道,服务器存储设备808可通过任何类型的计算机可读存储介质实现,所述计算机可读存储介质包括但不限于内部或外部硬盘驱动器(HDD)、光盘(例如CD-R、CD-RW、DVD-R、DVD-Rff等)、闪存驱动器(例如USB记忆棒等)、磁带驱动器等。或者,本领域中的技术人员也将会知道,根据本公开,网络体系结构800可以包括其他组件,例如路由器、防火墙等与当前网络的讨论没有密切关系并且不会在本文中进一步讨论的组件。本领域中的技术人员还将了解,其他配置也是可行的。例如,客户端802(1)-(N)可以不使用服务器或互联网而直接耦合到服务器存储设备808 ;服务器806可用于实现客户端和服务器;可以在不使用客户端802(1)-(N)的情况下实现网络体系结构800 ;等等。
[0081]作为网络体系结构800、服务器806的示例性具体实施,对由客户端802 (I) - (N)生成的数据的服务请求将会指向存储在服务器存储设备808中的数据。可以按照图4-7中示出的方式使用其他服务器中的一个来实现多层应用程序中的任何应用程序。
[0082]图9示出了适用于实现本公开的计算机系统910的框图。计算机系统910可以是联网系统200B中的各种计算机系统的例证,例如其中的系统208A-208D和/或通知控制器222。计算机系统910包括用于互连计算机系统910的主要子系统(例如中央处理器914)的总线912、系统内存917 (通常为RAM,但也可以包括ROM、闪存RAM等)、输入/输出控制器918、外部音频设备(例如经由音频输出接口 922的扬声器系统920)、外部设备(例如经由显示适配器926的显示屏924)、串行端口 928和930、键盘932 (通过键盘控制器933进行连接)、存储器接口 934、可操作用于接收软盘938的软盘驱动器937、可操作用于与光纤通道网络990连接的主机总线适配器(HBA)接口卡935A、可操作用于与SCSI总线939连接的主机总线适配器(HBA)接口卡935B以及可操作用于接收光盘942的光盘驱动器940。此外,还包括鼠标946 (或其他经由串行端口 928耦合到总线912的点击设备)、调制解调器947 (经由串行端口 930耦合到总线912)以及网络接口 948 (直接耦合到总线912)。
[0083]总线912允许在中央处理器914和系统内存917之间进行数据通信,如前文提及,系统内存917可能包括只读存储器(ROM)或闪存存储器(均未示出)以及随机存取存储器(未示出)。RAM是将操作系统和应用程序装载到其中的主存储器。除了其他代码,ROM或闪存存储器可以包括控制基本硬件操作(例如与外围组件的交互)的基本输入输出系统(BIOS)。与计算机系统910驻存在一起的应用程序通常存储在计算机可读介质上并通过它进行访问,计算机可读介质例如硬盘驱动器(例如固定磁盘944)、光盘驱动器(例如光盘驱动器940)、软盘单元937或其他存储介质。此外,通过网络调制解调器947或接口 948进行访问时,可以根据应用程序和数据通信技术以电子信号的形式对应用程序进行调制。
[0084]存储接口 934与计算机系统910的其他存储接口一样,可以连接到标准的计算机可读介质以存储和/或检索信息,例如固定磁盘驱动器944。固定磁盘驱动器944可以是计算机系统910的一部分,或者可以是独立的,可以通过其他接口系统进行访问。调制解调器947可提供经由电话链路至远程服务器的直接连接,或经由互联网服务提供方(ISP)至互联网的直接连接。网络接口 948可提供经由直接网络链路至远程服务器的直接连接,或经由POP(入网点)至互联网的直接连接。网络接口 948可提供使用无线技术的此类连接,包括数字蜂窝电话连接、蜂窝数字分组数据(CDPD)连接、数字卫星数据连接等。
[0085]很多其他设备或子系统(未示出)可以通过相似的方式进行连接(例如文档扫描仪、数码相机等)。相反,不需要提供图9中显示的所有设备即可操作本公开。可以使用与图9中所示方法不同的方法来互连设备和子系统。计算机系统的操作(例如图9中所示的操作)是本领域中所熟知的,在本申请中不进行详细讨论。为了实现本公开,用于基于此类应用程序对其他应用程序的依赖性而对其自动执行操作的代码(例如上文参照图4-7的方法所述)可以存储在计算机可读存储介质中,例如系统内存917、固定磁盘944、光盘942或软盘938中的一个或多个。在处理器910执行指令期间,存储器920还可以用于存储临时变量或其他中间信息。计算机系统910上提供的操作系统可以是MS-DOS"'、
MS-WINDOWS "、OS/2K、UNIXli;、LinuxK 或其他已知的操作系统。
[0086]此外,关于本文所述的信号,本领域中的技术人员将会认识到,可以将信号从第一块直接传输到第二块,或者可以在块之间修改信号(例如,放大、衰减、延迟、锁存、缓冲、反转、过滤或其他修改方式)。尽管上述实施例的信号被特性化为从一个块传输到下一个块,但本公开的其他实施例可以包括经过修改的信号来代替这些直接传输的信号,只要信号的信息和/或功能方面在块之间传输。在某种程度上,由于所涉及的电路的物理限制(例如,不可避免地存在一些衰减和延迟),第二块上的信号输入可以概念化为根据来自第一块的第一信号输出派生得到的第二信号。因此,正如本文所用,根据第一信号派生的第二信号包括第一信号或对第一信号所做的任何修改,无论是由于电路限制还是由于通过不会改变第一信号的信息和/或最终功能方面的其他电路元件。
[0087]尽管已结合多个实施例描述了本发明,但本发明并非旨在限制为本文中示出的具体形式。相反,本发明旨在涵盖可以合理地包含在所附权利要求所限定的本发明范围内的替代形式、修改形式和等同形式。
【权利要求】
1.一种方法,所述方法包括: 接收命令,其中 所述命令用于启动第一应用程序,并且 所述第一应用程序被配置为使用至少一个其他应用程序提供的 数据; 确定是否将所述第一应用程序配置为使用第二应用程序提供的数 据,其中 响应于所述命令的接收,进行所述确定;以及 响应于将所述第一应用程序配置为使用所述第二应用程序所提供数 据的确定,发起所述第二应用程序的执行。
2.根据权利要求1所述的方法,还包括: 发起所述第一应用程序的执行,其中 所述的发起所述第一 应用程序的执行响应于所述第二应用程序的执行来进行。
3.根据权利要求1所述的方法,其中 所述确定包括发送通知,以及 所述通知指示一接收所述命令即启动所述第一应用程序。
4.根据权利要求3所述的方法,其中 第一实体操作所述第一应用程序, 第二实体操作所述第二应用程序, 所述第二实体确定是否将所述第二应用程序配置为针对所述第一应用程序提供所述数据,并且 响应于所述通知的接收,所述第二实体进行确定。
5.根据权利要求3所述的方法,还包括: 确定是否将所述第二应用程序配置为使用第三应用程序提供的其他数据,以及响应于所述第二应用程序使用所述第三应用程序提供的所述其他数据的确定,发起所述第三应用程序的执行,其中 所述的发起所述第三应用程序的执行是在所述的发起所述第二 应用程序的执行之前进行的。
6.根据权利要求5所述的方法,其中 响应于辅助通知的接收,进行所述第二应用程序使用来自所述第三应用程序的所述其他数据的确定,以及 所述辅助通知指示要执行所述第二应用程序。
7.根据权利要求6所述的方法,其中 第三实体操作所述第三应用程序, 所述第三实体确定所述第二应用程序使用来自所述第三应用程序的所述其他数据,并且 响应于所述辅助通知的接收,所述第三实体确定所述第二应用程序使用来自所述第三应用程序的所述其他数据。
8.根据权利要求1所述的方法,还包括:确定多个应用程序之间的依赖性,其中 所述依赖性指示至少由于所述第一应用程序使用所述第二应用程序提供的数据,所述多个应用程序中的所述第一应用程序依赖于所述多个应用程序中的所述第二应用程序,并且响应于所述命令的接收,进行所述依赖性的确定。
9.根据权利要求8所述的方法,其中 所述发起所述第二应用程序的执行是基于所述依赖性的。
10.根据权利要求1所述的方法,还包括: 将锁应用到所述第二应用程序,其中 所述应用响应于将所述第一应用程序配置为使用所述第二应用程序提供的数据的所述确定来进行, 所述锁指示所述第二应用程序 与用于启动所述第一应用程序的所述命令相关联, 所述锁阻止要对所述第二应用程序发起的另一个操作, 所述另一个操作是与另一个命令关联的操作,并且 所述另一个命令是用于启动所述第一应用程序的所述命令之外的命令。
11.一种装置,所述装置包括: 一个或多个处理器, 第一应用程序,其中 所述第一应用程序被配置为使用所述一个或多个处理器来 执行, 命令模块,其中 所述命令模块被配置为接收用于启动所述第一应用程序的 命令,以及 通知模块,其中 所述通知模块被配置为发送通知, 所述通知指示启动所述第一应用程序的所述命令的接收, 所述通知模块进一步被配置为接收响应通知,并且 所述响应通知指示正在执行第二应用程序。
12.根据权利要求11所述的装置,其中 所述第一应用程序被配置为响应于接收所述响应通知来执行。
13.根据权利要求11所述的装置,其中 所述响应通知进一步指示所述第一应用程序依赖于所述第二应用程序提供的数据。
14.根据权利要求11所述的装置,其中 所述命令模块进一步被配置为接收用于停止所述第一应用程序的命令, 所述通知模块进一步被配置为发送另一个通知, 所述另一个通知指示停止所述第一应用程序的所述命令的接收, 所述通知模块进一步被配置为接收另一个响应通知,并且 所述另一个响应通知指示所述第三应用程序依赖于所述第一应用程序提供的数据。
15.根据权利要求14所述的装置,其中 所述响应通知进一步指示响应于执行所述另一个通知的所述发送的所述通知模块来停止所述第三应用程序。
16.一种计算机可读存储介质,用于存储可供一个或多个处理器执行的 程序指令,以便于: 接收命令,其中 所述命令用于启动第一应用程序, 发送通知,其中 所述通知指示所述命令的接收, 接收响应通知,其中 所述响应通知指示正在执行第二应用程序。
17.根据权利要求16所述的计算机可读存储介质,其中 所述响应通知进一步指示所述第一应用程序依赖于来自所述第二应用程序的数据。
18.根据权利要求16所述的计算机可读存储介质,其中可以进一步执行 所述程序指令以便于: 执行所述第一应用程序,其中 响应于所述响应通知的接收,执行所述第一应用程序,并且 所述响应通知进一步指示响应于所述通知的发送,所述第二应用程序正在执行。
19.根据权利要求16所述的计算机可读存储介质,其中可以进一步执行 所述程序指令以便于: 接收用于停止所述第一应用程序的命令, 发送另一个通知,其中 所述另一个通知指示停止所述第一应用程序的所述命令的接 收, 接收另一个响应通知,其中 所述另一个响应通知指示所述第三应用程序依赖于来自所述第 一应用程序的数据。
20.根据权利要求16所述的计算机可读存储介质,其中 所述响应通知进一步指示响应于所述另一个通知的发送来停止所述 第三应用程序。
【文档编号】G06F9/44GK103946799SQ201280055988
【公开日】2014年7月23日 申请日期:2012年10月24日 优先权日:2011年10月24日
【发明者】S·亚达夫, A·穆克吉 申请人:赛门铁克公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1