执行电子装置中应用程序对话的方法和系统以及电子装置的制作方法

文档序号:6369228阅读:168来源:国知局
专利名称:执行电子装置中应用程序对话的方法和系统以及电子装置的制作方法
技术领域
本发明涉及一种系统,它包括用于执行配备有一个或多个处理器的电子装置中应用程序对话的装置以及用于调度资源保留和大体上同时的应用程序对话的执行的装置。本发明还涉及用于执行电子装置中应用程序对话的方法,电子装置的操作由一个或多个处理器控制,所述方法中对资源保留和大体上同时的应用程序对话的执行进行调度。此外,本发明涉及一种电子装置,它包括执行应用程序对话的装置;一个或多个处理器;以及用于调度资源保留和大体上同时的应用程序对话的处理的装置。另外,本发明涉及一种软件程序,它包括执行配备有一个或多个处理器的电子装置中的应用程序对话的机器可执行步骤,以便使各资源保留示例同步和执行大体上同时的应用程序对话。
背景技术
随着无线通信装置的功能变得越来越丰富,有必要开发出合理和多途径地利用这些功能的系统。在现代无线通信装置中,甚至可以执行几个具有不同目的的应用程序对话,例如日历、定时器、电话薄、笔记本等。人们常常需要大致同时地运行几个这样的对话,然而就可能会出现问题,例如当不同的对话需要同时使用与无线通信装置本身相同的资源时,或同时需要使用经过多个连接而获得的可用资源时。例如,现在已经有用于数据处理装置的操作系统(如UNIX),实现多任务方法,即大体上同时地处理几个操作系统任务。实现这样的多任务方法是通过(例如)每个对话实现为单软件处理的形式,操作系统以给定顺序向每一项处理分配处理时间。这样,在执行一个对话期间,其他对话处在暂停状态。因此实际上,对话不是同时执行,而是一个接一个地执行。但是,一次分配给每个对话的处理时间很短,感觉就像所有对话都是同时执行的。在这样的配置中,正常来说没有一个对话需要等待很长时间,以致对话的执行看似被中断了。但是,在同时执行对话的数目增加的情况下,为每个对话所留的处理器时间就越来越少,这将减慢所有对话的执行。在某些系统中,可以按对话的重要性(优先性)来分类,其中按对话的优先性来分配处理器时间。在所述配置中,较不重要对话的执行可能被显著延迟。
先有技术的多任务系统也有另一个问题,若任一对话需要硬件资源和/或操作系统资源,则只要有需要使用所述资源,所述对话将一直保留该资源。这样,需要相同资源的其他对话必须等到所述资源被释放,因为通常没有方法可以使资源从一个对话转移到另一个,使得所述资源可用性情况让每个涉及的对话都知道。对于这些情况,已经开发了某些解决方案,在这些方案中操作系统使用信号机或类似装置来防止请求使用相同资源的其他对话使用该保留资源。
考虑到例如使用无线装置的方便性,无线通信装置中几个应用程序对话的执行应该尽可能地接近实时操作。例如,当启动呼叫时,应该尽可能快地执行电话薄对话,使得无线通信装置的用户马上就能找到所需的电话号码,没有出现不必要的延迟。但是,这种类型的实时操作可能难以实现,尤其是在无线通信装置中同时执行大量对话时。满足多任务和实时处理要求的一个已知解决方案是在相同装置中使用几个处理器。这样,不同对话可用不同处理器执行。但是这有缺点,例如,当增加处理器数目时,装置的耗电量也将增加,这是应当避免的,特别是在便携装置中。另外,在有几个处理器的系统中,需要做出配置,使不同应用程序对话分配到不同处理器来执行。
对于嵌入式应用,已经开发了多任务系统,其中可以调度不同对话的执行,必要时可以分配处理时间给每个对话。但是,这样的嵌入式应用仅是为特定用途设计的,其中很可能要预先确定在不同条件下执行哪些对话,在每个时间需要哪些资源。在这种情况下,对话的调度可以预先确定。而且,这些应用不包括操作系统。这样的多任务系统不适用于无线通信装置中,在这些装置中不可能预先确定所有不同的使用情况及所需的相关资源。
多任务系统中值得考虑的问题包括资源保留的管理和调度,以及应用程序对话的管理和调度,换句话说,同步处理器和其他类型资源的分配,以满足不同对话的需要。但是,这些问题不能分开来解决,其中却难以找到同时解决这些问题的合理方案。

发明内容
本发明的一个目的是特别为无线通信装置提供一种改良的配置,以实现多任务系统,使其尽可能地接近实时操作。本发明基于指定对话执行环境这一思想,所述环境包括用于控制应用程序对话执行和资源保留的不同功能块。这些功能块中的核心的一个是应用程序对话和资源的管理,它被划分成(例如)应用程序对话管理和调度块(也称为应用程序对话管理器,ASM),以及资源管理和分配块(也称为资源分配管理器,RAM)。要执行的应用程序对话被分为连续和并行活动,它们以相应应用程序块的形式来实现,在本发明的说明中它们被称为活动块。应用程序对话管理器ASM负责一个接一个(例如根据资源的可用性)地调度(例如初始化)每个对话的活动。资源分配管理器RAM负责关于不同资源类型和资源的集中管理和同步功能,例如,通过保存一份单项资源保留的记录,并相应地通知应用程序对话管理器。本发明系统操作中的一项基本功能是应用程序对话管理器和资源分配管理器的相对调度,它以这样一种方式实现,使得大致紧接在每次执行资源分配管理器后,当至少某些资源的资源分配情况稳定时(即尽可能地更新),就执行应用程序对话管理器活动。系统的其他功能块包括(例如)每种资源类型的资源处理器RH,以及活动块容器ABC。资源处理器在其资源示例表RIT中维持相应资源类型单独分配的所谓资源示例记录RIR。每个活动块容器最好包含无需并行处理的,通常可连续执行的一个或多个对话的活动块。资源处理器可以很好地作为软件程序来实现,它比资源分配管理器具有更高的优先级,其中当资源管理程序同时处理完那些源于应用程序和资源的消息后,并且暂时完全清楚资源分配情况(至少涉及某些资源)的时候,资源分配管理器才从操作系统得到处理器。本发明的另一个功能特征是对话控制协议SCP,它应用于(例如)系统不同部分(即应用程序对话的成员)间的消息传送。
更准确地说,本发明的系统的基本特征在于,要执行的应用程序对话包括在一个或多个活动块容器中的一个或多个活动块,所述活动块的执行顺序已被确定;系统包括用来为应用程序对话保留资源的资源类型特定的资源处理器;用来分析和保存资源分配情况的资源分配管理器;用来根据所述资源分配情况选择要执行的至少下一个应用程序对话和活动块的应用程序对话管理和调度装置;用来在所选应用程序对话进行过程中执行下一个活动块的执行装置;系统还配备有连接资源处理器、资源分配管理器、应用程序对话管理和调度装置及执行装置的协议,以控制执行顺序并实现在所述资源处理器、资源分配管理器、应用程序对话管理和调度装置及执行装置之间的信息传递。
本发明的方法的基本特征在于,要执行的应用程序对话包括在一个或多个活动块容器中的一个或多个活动块,并为所述活动块确定执行顺序;所述方法至少包括以下步骤-用来为应用程序对话请求和保留资源的资源管理和分配步骤,-用来保存并分析资源保留情况的簿记和分析步骤,
-用来至少根据所述资源保留情况,选择要执行的下一个应用程序对话和活动块的调度和选择步骤,-用来在所选应用程序对话进行过程中执行下一个活动块的执行步骤,在所述方法中,使用了连接所述资源管理和分配步骤、簿记和分析步骤、调度和选择步骤以及执行步骤的通信协议,以控制执行顺序,并在必要时在所述资源管理和分配步骤、簿记和分析步骤、调度和选择步骤以及执行步骤之间传递信息。
而且,本发明的电子装置的基本特征在于,要执行的应用程序对话包括在一个或多个活动块容器中的一个或多个活动块,并为所述活动块确定执行顺序;所述电子装置包括用来为应用程序对话保留资源的资源类型特定的资源处理器,用来分析和保存资源分配情况的资源分配管理器,用来根据所述资源分配情况选择要执行的至少下一个应用程序对话和活动块的应用程序对话管理和调度装置,用来在所选应用程序对话进行过程中执行下一个活动块的执行装置,所述电子装置还配备有连接资源处理器、资源分配管理器、应用程序对话管理和调度装置及执行装置的协议,以控制执行顺序并实现在所述资源处理器、资源分配管理器、应用程序对话管理和调度装置及执行装置之间的信息传递。
本发明的软件程序的基本特征在于,要执行的应用程序对话包括在一个或多个活动块容器中的一个或多个活动块,并为所述活动块确定执行顺序;所述软件程序进而包括机器可执行步骤,用来至少执行以下步骤-用来为应用程序对话请求和保留资源的资源管理和分配步骤,-用来保存并分析资源保留情况的簿记和分析步骤,-用来至少根据所述资源保留情况,选择要执行的下一个应用程序对话和活动块的调度和选择步骤,
-用来在所选应用程序对话进行过程中执行下一个活动块的执行步骤,其中软件程序包括机器可执行步骤,以使用连接所述资源管理和分配步骤、簿记和分析步骤、调度和选择步骤以及执行步骤的通信协议,来控制执行顺序,并在必要时在所述资源管理和分配步骤、簿记和分析步骤、调度和选择步骤以及执行步骤之间传递信息。
本发明显示了比先有技术解决方案的显著优势。按本发明的方法,一个对话不必完全为自己保留资源设施,并且不必在整个对话的延续期间保留资源,其中可以大致同时(即并行)地分配资源给多个对话,并还可以尽可能优化地同步每个对话同时需要的资源的保留次数。假设应用程序对话管理器装备了足够的调度控制智能,则在本发明的系统中可以高效地实现对话执行期间资源和处理器的利用。使用本发明的方法,可以管理过载情况并避免发生死锁。在过载情况下,可以按其优先权暂停正在执行的应用程序对话,并延迟新应用程序对话的启动。不仅处理器过载情况如此,这也适用于其他共享资源的过载情况。按照本发明,对话控制协议SCP和不同功能软件程序(操作系统任务)的优先化规则使得即使在处理器过载情况下,也能调度和同步应用程序对话中涉及的操作控制,其中几个软件程序(操作系统任务)可能同时有几个未处理的消息。同时处理未处理消息的顺序是按软件程序(操作系统任务)的优先性原则确定的,这些程序按操作系统的一般任务切换方式加入应用程序对话中。此外,本发明的配置还有一个优点,在负载电平很低,处理器可以在减低功率电平工作的情况下,可以减少无线通信装置的功率消耗。为了控制的目的,应用程序对话管理器ASM能够检测从功率消耗的观点看是不同的负载情况。本发明的软件架构提供了坚实的软件环境,其中无线通信装置每个活动块的设计尽可能地统一,独立于涉及的单个活动及相关应用程序对话的复杂性。另外,将每个应用程序对话构筑到活动块当中,使得实现应用所需的软件开发工作可以轻易地通过把应用程序对话划分到单独活动、每个都是活动块的形式这种方法来完成。可以将活动块容器提供的应用框架设计为包括发送和接收所有并行应用程序对话的类属SCP消息,无需应用程序设计员意识到对话控制协议、应用程序对话管理器或资源分配管理器的存在。在根据本发明软件架构活动块的软件开发中,可以利用强大的软件开发工具并高效地重新使用活动块和基于SCP的行为模式,按应用程序对话简表集成这些块。在本发明的架构中,应用程序对话管理器负责在适当时候启动每个活动块的执行。


下面将参照附图更加详细地描述本发明,附图中图1以简化框图形式显示对应于本发明优选实施例的无线通信装置,图2示出对应于本发明优选实施例的系统的轮廓,图3示出在对应于本发明优选实施例的系统中实现的活动块容器的功能结构,图4在一个应用程序对话示例中显示本发明方法的应用。
具体实施例方式
下面将针对这些方面来说明,使实现本发明所需的功能得以公开。但是,虽然下面将按分块方式说明系统的各种功能,但显然,几个功能块借助对话控制协议来共同进行几个不同功能。
图1按照本发明的优选实施例,显示一个无线通信装置1的简化框图。无线通信装置1包括控制块5,所述控制块最好带有主控制单元处理器2(MCU),用来控制无线通信装置1的功能、执行操作系统例程等。另外,无线通信装置1的控制块5可以包括用于信号处理功能的数字信号处理器3(DSP)。处理器2(MCU)和数字信号处理器3(DSP)还与存储器4关联,以存储操作系统、程序代码等所需的信息和数据。无线通信装置1还包括通信装置6,所述装置包括用于执行移动电话功能的装置。用户和无线通信装置1之间的信息交换可经由用户界面7进行,所述界面最好包括显示装置8、键盘9、音频装置10a、10b、10c。显然,上述的无线通信装置1只是简化的例子,实际上,无线通信装置1还可以包括上面所列以外的其他功能块。还可以肯定,按本发明的数字信号处理器3在无线通信装置中不是必需的,其中所需的信号处理功能可在其他块中实现。此外,无线通信装置1包括时钟电路11或类似电路,如用来产生使控制块运作所需的时钟信号。
图2显示按本发明优选实施例的系统简化功能块。所述系统由一种控制架构构成,用来管制应用程序对话执行中所涉及的软件程序(操作系统任务)功能及无线终端资源的使用。软件程序(操作系统任务)是指一个软件实体,从操作系统任务切换功能的角度看,它可以被独立调度。有几种不同用途的资源和资源类型。以下简要说明这些资源的几个示例用户界面7的各种功能,例如在显示装置8上呈现数据、从键盘9取出数据,音频信号的处理功能;数据传输功能,包括接收和产生各种信号及产生响应消息;信号处理功能;协议软件栈以及其他应用程序对话。在系统中,存储装置4还包括(例如)用于资源处理器RH(i)、RH(j)、RH(k)等等向应用程序对话管理器ASM传送所有消息的消息缓冲区B1,以及另一个特别用来保持对话启动请求消息的消息缓冲区B2,。系统的存储装置4还包括(例如)用来保持资源分配表RAT的存储空间。显然,在本发明的实际应用中,在存储装置4中还可以为不同目的保留其他(动态和/或固定)存储区。
系统的功能可分为三个主要活动许可控制AC、暂停控制SC及资源保留控制RRC。许可控制用来根据当前的负载情况和资源保留情况限制每个新对话应用程序对话简表的第一个活动块容器的活动。暂停控制按照资源保留情况,在每个活动块的结束点调节暂时或永久地最终停止单个正在执行的对话的执行。资源保留控制用来簿记应用程序对话的活动块的资源请求,以及每次的现有资源保留,以将所述信息提供给应用程序对话管理器。
要实现上述基本功能,必须在系统中指定包括某些功能块。
系统的这些功能块中核心的一个是应用程序对话和资源MG的管理,它分为(例如)应用程序对话管理器ASM和资源分配管理器RAM。应用程序对话管理器ASM负责(例如)许可和调度对话的启动、调度正在执行中的对话包括的个体活动的初始执行,以及独立于应用程序的相似功能。系统中所述块以及其他块的更加详细功能说明将在本文稍后进行。为了管理资源和簿记资源分配情况,系统包括了资源类型特定的资源处理器RH(i)以及资源分配管理器RAM。应用程序简表中包括的活动以活动块的形式实现,从系统容量性能的角度看,这些活动块以适当的形式分布在活动块容器ABC中,它们每个都包括一个或多个对话的活动块AB。当在不同时候处理时,单个活动块AB可能包括在不同的对话中。另外,还为系统指定了一个对话控制协议SCP,用以控制对话活动块的初始执行,这将在本申请的稍后进行说明。虽然系统的描述由图2分开的功能块构成,但在实际上,每个块最好以处理器2的程序代码形式实现,它包含这些块运作所需的步骤代码。系统的操作处于操作系统或类似系统执行的任务切换的控制之下,它按优先方案分配处理器时间给软件程序(操作系统任务),这些程序包括系统的所有程序代码。
在本申请中使用的术语对话(应用程序对话)不可以狭义地理解,对话可以是(例如)包括以单个活动块形式出现的单个活动的程序代码简单列表,或者对话可以由一套独立程序模块或诸如此类组成,它们可以被配置成一个或多个活动块。一个对话还可以关联另一个对话,例如,若一个应用程序对话启动另一个应用程序对话来从后者获得一些所需的信息。应用程序对话还可以被称为应用程序。作为无线通信装置中执行的一个非限制对话示例,可以提供日历、电话簿、应答来话呼叫、创建和传送短文本消息、接收和阅读短文本消息等。在本发明中,每个对话被定义为由一个或多个活动所组成。这些活动的活动块执行顺序可以是固定的,或者应用程序对话管理器ASM可以在对话的执行过程中确定哪一个活动块是下一个要被执行的。此选择取决于(例如)前一活动块的结束或发生给定事件、未预料信号的到来等。若对话不包括要并行执行的活动,则相同对话的活动块可以位于(例如)单个活动块容器中。
正在进行的并行应用程序对话由一套连续和/或并行活动组成,根据所需并行性,相应的活动块在一个或多个活动块容器中被定位并执行。例如,对于来话呼叫的情况,一套对话被一个接一个地启动,以提供来话呼叫的信息,根据呼叫号码从无线通信装置的电话薄取出主叫方的姓名和数据,并将主叫方的姓名显示在无线通信装置的显示屏上,并等待无线通信装置的用户应答来话呼叫,换句话说,最好一直等到最终按键。若用户按了(例如)手持键,则所述按键被解释为确定进一步的活动,例如应答呼叫。上述示例情境的不同功能阶段可以用单独应用程序对话或单个对话的不同独立活动形式来实现。所述活动的每一项都可以视作一种应用程序对话。但在一个对话中,如果这些活动被指定为单独的应用程序对话,那么,不同活动的活动块所需的资源保留就变得更加灵活了。
下面将说明核心功能块的主要活动。应用程序对话管理器ASM负责互相同步(调度)并行应用程序对话以及包括在这些对话中的活动块的执行,也就是说,为每个活动块提供分配和调度处理器时间和其他资源所需的控制。应用程序对话管理器ASM还负责从应用程序简表APT中读取应用程序对话简表ASP。应用程序简表APT形式为活动图表,包含有关对话的连续和并行活动块(即对话中包括的活动)互相优先关系的信息。在此应用程序对话简表的基础上,应用程序对话管理器ASM就知道对话的执行应如何从一个活动块转到另一个活动快。对于相同的应用,还可以指定多个应用程序对话简表,例如,两种不同用途的简表,例如在工作时间和休息时间期间使用。应当指出,相同活动块可以包括在几个不同应用程序对话简表中。例如,可以在不同时候启动相同应用程序的几个对话,应用程序对话简表相对于一些活动每次都不同。这样,相同活动块容器的活动块可以包括在不同对话内并执行,无需为每个对话提供这些块的一个副本。这带来了(例如)减少所需存储器4大小的好处。最好每个应用程序对话与启动相关地被指定(例如)一个优先值,当控制执行顺序及并行处理的单个对话的可能性暂停时,所述优先值可以用作紧急标准。此外,最好为每个对话的活动块给定每个活动块所需的估计处理时间和资源。应用程序对话管理器ASM可以利用此信息来控制活动块的调度及分析资源分配情况,尤其是在过载的情况下。应用程序和对话管理器ASM可以存取活动块AB的块分配表BAT,它在每个活动块容器中包含一个活动块列表以及那些正在继续执行对话中被处理的块的信息。此数据存储在BAT中的块分配记录BAR中。
另外,在包含应用程序简表记录APR的应用程序简表APT中,应用程序对话管理器ASM可以得到有关每个活动块所需资源的信息,不论是有条件或无条件的。若应用程序对话简表不包含对话中所需的所有资源信息,则当活动块向资源处理器和资源分配管理器发出保留请求消息时,就可获取所述信息。
应用程序对话管理器ASM最好存储执行的每个对话的历史数据。为此目的,系统最好包括一个对话历史表SHT,所述表包括对话历史记录SHR,应用程序对话管理器ASM在其中保存每个继续执行对话的零碎数据,这样很好地维持了作为输出信息从每个活动块传送到后继块的信息。
应用程序对话管理器ASM接收在每个新对话启动时出现的初始对话请求消息,使得应用程序对话管理器ASM可以分析负载情况,并且还可以监管新对话中包括的活动的启动调度。尤其是在处理器或其他资源过载情况时,应用程序对话管理器ASM负责决定是否可以启动请求的对话。当做出此决定时,应用程序对话管理器ASM很好地利用活动块的预计处理时间,以及相关的预计资源保留时间,以及其他一些可能的数据来分析更加重要的先前启动的对话是否也可以在新对话启动后,满足其实时要求。有了这样的配置,就可以管理过载情况,很大程度上预先避开它们。应用程序对话管理器ASM还在活动块结束时操控应用程序对话的暂时暂停,例如,当在更加紧急对话中一些活动的执行需要相同的保留资源时,或所需的资源完全地被占用至当前处理的活动块结束。实际上,对话的暂停可以被设置为使得在前一活动块结束后,应用程序对话管理器ASM不向包含下一对话活动控制块的活动块容器传送内向控制消息(Do消息),直到此相同对话被给予处理器时间。在某些情况下,应用程序对话简表可以包含用来并行执行的活动块,这是通过将这些块定位在不同活动块容器中来做到的。若上述暂停点先于此类并行活动活动块的开始处,则内向控制消息不为这些活动块的任一个传送,直到可以继续执行对话。
当没有活动块同步地等待来自任一资源处理器的消息的情况下,应用程序对话管理器ASM还负责以正确顺序向所选活动块容器中的合适活动块传达所述入局信息。特别是在异步消息传送的情况下这很有用,其中相同资源设施容量被多个活动块共享,或当前一保留请求消息已被活动块传送时,所述活动块自身并不停下来等待对应的保留确认消息(In消息)。否则,来自资源处理器的入局消息可被导向至活动块容器或更准确地说活动块,但按预计所述消息是不到那儿。应用程序对话管理器ASM还通过向活动块提供所需的咨询信息来监管资源保留的释放,例如在过载和锚误情况下。
资源处理器在相应的资源示例记录RIR中保持所有资源保留示例R1的列表,资源示例记录RIR被存储在每个资源示例表RIT中。当某个活动块容器中的活动块请求为自身创建资源保留示例时,最好由活动块直接向相关的资源处理器RH或资源分配管理器RAM发送关于所需资源保留示例类型的信息。例如,在安装了用于数据传送的资源情况下,可以选择数据传送率、所需的传送错误率等,其中影响资源保留示例的这些特性的参数可以在资源保留示例R1请求(保留请求消息,Con消息)中提供。这样,在接收了保留请求消息后,资源处理器RH或资源分配管理器RAM最好检查作为对来自活动块请求的响应是否可以创建带有所请求参数值的资源保留示例R1。若满足所述请求的参数要求,先前创建的资源保留示例也可以存在,并可以自由重用。活动块或活动块容器可以使用外向控制消息(Out消息)来空出其资源保留示例,其中相关的资源处理器RH标记要被空出的资源保留示例,使另一个活动块或应用程序对话可以请求保留同一资源保留示例。若资源保留示例的创建或释放要求资源设施自身进行某些操作,则相关的资源处理器RH将意识到创建或释放操作的未完成状态,对应的请求活动块或应用程序对话可能需要等待(例如)资源保留示例的确认。资源分配管理器配备了有关所有资源类型分配情况的信息。此配置的目的是为了防止发生某个资源类型的过载状况。
应用程序对话管理器ASM和资源分配管理器最好设计为没有中间延迟状态,其中对话相关状态信息的更改存储在所述对话历史表SHT中,资源保留示例的对话相关信息的更改保存在所述资源分配表RAT中。并且,资源处理器也最好设计为没有中间延迟状态,其中单独资源保留示例状态数据的更改保存在每个资源处理器的资源示例表RIT中。
例如,在一个或多个对话中的几个活动块都需要大体上同时地使用相同资源类型的情况下,相同资源的多个资源保留示例可以共存。使用相同资源的这些活动块通常不处在同一活动块容器中,而是在不同对话场境中的不同容器里。在这种情况下,重要的是确保源于应用程序的发送至资源处理器的保留请求消息(Con消息)和对应的来自资源处理器的保留确认消息(In消息)可以互相耦合。为此目的,资源分配管理器RAM被设计为执行功能,使资源分配管理器RAM同时处理涉及任何单个资源处理器的待决消息,例如,等待列表的维护及在适当时候以此顺序向相关的资源处理器转发每个请求。从一个资源处理器向每个保留请求信息的正确的活动块容器传送保留确认消息是基于这样的假设,即提出请求的特定活动块容器始终保持活跃地等待对应的保留确认消息,并且每个保留请求消息都包含唯一的参考标识。关联每个保留请求消息的产生,活动块提供带有参考标识的请求,向应用程序对话管理器ASM提供有关所述请求及其参考标识的信息,用于在关联参考表CRT中记录关联参考记录CRR。使用参考标记能使多个保留请求消息同时待决,并且也可以在异步模式下等待保留确认消息。
相同的关联参考表CRT还用来为那些应用程序消息保存参考标识,应用程序对话通过资源处理器(例如数据传送连接)来等待响应它们的应用程序消息。使用参考标识能使多个请求消息可以同时待决,并且等待模式可以异步。
活动块本身也释放资源保留示例,除非应用程序对话管理器需要保留资源保留示例,供同一对话的后继或稍后的活动块使用。在可能的错误情况下,应用程序对话管理器ASM启动所需独立于应用程序的释放功能的执行。这样,资源保留示例将不会不必要地被保留。
资源请求消息的实际处理由资源处理器进行,最好每种资源类型建立它一个资源处理器。每个资源处理器RH(i)都是个软件程序(处理器类型的操作系统任务),它意在使用对应资源类型的资源保留和外向控制消息(即保留请求和外向控制消息),对于所有不同对话和资源类型,方式是一样的。在设计每个资源类型I的资源处理器RH(i)时,考虑到了相关资源类型的特定功能,如处理视频信号、声频信号、文本消息等。资源处理器维持一个资源保留示例的列表,这些示例被创建用于相关资源。资源处理器的操作根据由应用程序对话所确定的需要来调度,利用了操作系统的任务切换功能。
活动块容器ABC是个软件程序(操作系统任务),它按活动块容器的架构由一个或多个不同应用程序对话简表的活动块所组成。每个容器通常包含几个活动块,这些块的执行在同一容器内是按顺序的,但在不同容器的情况下是并行执行。在每个活动块容器中,一个块是所谓的等待块IB,以允许等待异步事件。此外,每个容器包括一个入局状态模块ISM、一个分支状态模块BSM以及一个用来终止活动块容器线程执行(即从操作系统任务的主动运行状态移开)的离开状态模块TSM。另外,每个活动块在其开始处包括一个开始状态模块SSM,在其结束处包括一个结束状态模块ESM。活动块容器ABC还包括(例如)一个变量列表、数据结构和存储器分配,以及有关资源保留示例的信息等,活动块容器的操作需要这些信息。活动块容器ABC从应用程序对话管理器ASM接收消息以触发活动块的执行。此外,上述活动块容器的状态模块和等待块产生对话控制协议的外向控制消息(Out消息)送至资源分配管理器RAM,所述RAM进而将它们转发至应用程序对话管理器ASM。这些外向控制消息在以下情况下使用,(例如)在活动块的执行被中断要等到满足特定条件的情况下,例如应用程序消息到达无线通信装置或块的处理完成。
本发明系统所指定的对话控制协议SCP用来(例如)通过在系统的功能块间传递对话控制协议消息来使能这些功能块协同运作。这是一种在参与应用程序对话执行的功能块间传递消息的功能。对话控制协议SCP可用来控制无线通信装置处理器的负载电平别,以避免和管理过载情况。此外,对话控制协议还可用来在应用程序对话期间控制单独活动启动的调度,并传递对话功能块中软件程序(操作系统任务)的程序标识PID,以及从一个功能块到另一个功能块的其他应用程序独立信息。对话控制协议可用来确定应用程序对话的优先顺序,例如通过调度并行对话简表中包括的单个活动。对话控制协议允许应用程序对话管理器执行本发明系统中共享资源保留的最佳同步,这些资源包括有关电信连接的资源。
目标是用一种方式来指定对话控制协议,使得有关资源保留的操作,如保留请求消息(Con消息)可以尽可能以统一的方式在不同应用程序对话中执行,而不论资源的类型如何。这有利于(例如)活动块代码的设计。
在对话控制协议进行过程中,使用了各种消息来控制系统并在不同功能块之间传递信息。在此上下文中,这些消息被称为对话控制协议消息,包括(例如)内向控制消息Do、外向控制消息Out、保留请求消息Con以及保留确认消息In,此外,对于异常情况所需的单独的消息,但在此上下文中无需更加详细地加以讨论。不同消息中的数据定义可以有差别,但每条消息最好包含关于相关应用程序对话的消息以及发送方和接收方程序标识PID。通常这些消息还包含一个或多个数据字段,其中符合所述消息类型的数据被传送到消息的接收方。对话控制协议的消息被用来传达(例如)参与同一对话的动态创建或选择的资源处理器或活动块容器(软件程序)的程序标识。
如上所述,活动块的执行由来自应用程序对话管理器ASM的内向控制消息(Do消息)启动。内向控制消息可被用来通知活动块关于所述块可用于保留的资源情况。内向控制消息还可用来通知活动块应由所述活动块保留或释放的资源保留示例情况。作为示例,可以说明当所需的通信资源闲置时建立呼叫的情况。这样,可以建议要用来建立所述呼叫的活动块保留呼叫所需的数据传输资源。在活动块的执行完成后,它向资源分配管理器RAM产生外向控制消息(Out消息)。在相关例中,此外向控制消息包含(例如)有关被活动块保留或释放的资源的信息。此外,所述外向控制消息(Out消息)还被发送给资源处理器,这些资源处理器的资源保留示例由活动块释放给相同对话的其他其他活动块或应用程序对话。相同对话的随后一个活动块可以通过向相关的资源处理器发送一个外向控制消息(Out消息)来保留闲置的资源保留示例供其使用,这样就向资源处理器提供了作为此新保留指示的所述活动块容器的程序标识。每个资源处理器一次只保持一个活动块容器的标识,或在没有可见容器时用缺省值,如应用程序对话管理器或与资源类型相关的某个其他缺省容器的程序标识。上述配置允许每个独立的资源保留示例对于活动块容器具有分别的可见性。因为应用程序对话管理器ASM的高程序优先级帮助它在每次资源分配管理器RAM的执行期后基本没有延迟地得到处理器,从应用程序对话管理器ASM的角度看,此时至少有部分资源分配情况是已知的。这样,应用程序对话管理器ASM就能够找出哪些活动块可以启动,以及哪些资源可以分配给它们。
作为资源保留控制机制的总结,应该在此上下文中指出,在其执行期间,活动块有权直接请求并使用所需的资源,若所述资源碰巧闲置的话。为此,活动块直接向所请求资源类型的资源处理器发送一个保留请求消息,所述处理器检查所请求的资源是否可以分配给发出请求的活动块。作为响应,资源处理器返回一个保留确认消息,所述消息包含了肯定确认(ACK标记)或否定确认(NACK标记)取决于当时是否可以将所请求的资源分配给请求的活动块。假设来自应用程序对话管理器ASM的内向控制消息中提供的活动块资源分配控制信息被很好地瞄定,则来自资源处理器的保留确认消息通常为肯定。若对于资源的需要不是很急,或上述的内向控制消息指示所述资源要被保留(例如)供另外使用,则活动块可以向管理等待列表的资源分配管理器RAM发送保留请求消息。此时,包含向资源分配管理器RAM传送保留请求消息的活动块的活动块容器将保持以同步或异步方式等待保留确认消息。稍后,取决于资源分配情况,资源分配管理器RAM将等待的保留请求消息转发给相关的资源处理器,后者然后将肯定保留确认消息直接返回给请求活动块的活动块容器。为达到此目的,应用程序对话管理器ASM可能必需(例如)向某些并行应用程序对话的活动块容器发送内向控制消息(Do消息),以释放所选的资源保留示例。
本发明的功能可以在很大程度上以程序代码的形式实现,这些代码运行于无线通信装置1的处理器2上。资源分配管理器和资源处理器可以看作是介于操作系统和无线通信装置1的应用程序之间的一种固件层。从操作系统的角度看,本发明系统中的功能是通过处理一个或多个可调度执行线程来实现的。本发明不捆绑于任何特定操作系统,而是可以与具有多任务功能的操作系统结合应用。但是,操作系统最好能满足如下要求在多任务处理期间,一个可调度程序(执行线程)的暂停与另一个程序的继续仅可在程序代码的预定点发生,而不是在任意点上。程序代码的设计者定出并设置那些点,在这些点上操作系统可以切换所执行的程序(操作系统任务)。这种暂停功能最好位于那些点上,在这些点上可以因为自然原因(如当等待从资源处理器发来的响应时)而中断活动块容器的代码或整个应用程序对话的处理。
以下将参照图4中所示的示例情形来说明对应于本发明优选实施例的方法的操作。在图中,用实线指示的箭头说明不同块间消息的传送,虚线箭头说明一个活动接另一个活动地执行应用程序对话的过程,带点线的箭头说明块间应用程序对话的对话控制协议消息的传送。
让我们假设无线通信装置1已经加电,操作系统也已启动。在某个阶段,操作系统最好启动了对应于本发明系统的操作,方法是启动初始化应用程序对话管理器ASM、资源分配管理器RAM以及对话控制协议SCP的操作。在要启动一个应用程序对话时,应用程序对话请求就被传达给应用程序对话管理器ASM。所述应用程序对话的启动可以由另一个应用程序对话的请求,一个外部事件,如拨入无线终端1的来话呼叫,或者无线终端1的用户按下的一个键等引起。在图4的情形中,一个文本消息到达无线终端1,导致一个新应用程序对话的启动。接收到文本消息的连接型资源处理器RH(1)传送已放在消息缓冲区B1中的对话请求消息S1。应用程序对话管理器ASM检测消息缓冲区B1中消息的到达读取识别所请求应用程序对话所需的消息的特殊数据字段,然后读取应用程序简表APT中要启动的应用程序对话的对话简表。此时,当前应用程序对话的历史简表数据在对话历史表SHT中被初始化。应用程序对话简表ASP公开了(例如)对话中包括的活动,还可能公开因此而需要的资源保留示例,以及指定的每活动块的估计处理时间。根据处理过或暂停的继续进行对话的简表、资源分配表RAT的数据内容以及要启动的对话简表,应用程序对话管理器ASM进行分析以查明是否可以启动对话。应用程序对话管理器ASM计算出启动对话所导致的处理器2增加的估计负载。此外,应用程序对话管理器ASM将分析待启动对话所需的那些资源的资源分配情况,还估计这些资源的负载电平别。若应用程序对话管理器ASM做出决定要启动对话,应用程序对话管理器ASM将选择某个活动块容器ABC,它包括当前对话的对话简表的第一活动的活动块的。除非所选的活动块容器ABC已经在存储器中并可用于执行,否则它将被装入存储器4中,用以执行上述的第一个活动块。在图4的例子中,要启动的应用程序对话包含一套活动,它们对应于活动块0B-11B。当上述下载完成之后,第一活动块0B的活动块容器ABC获得了处理器时,通过启动所述活动块就开始了对话的执行。在此说明中前面已说过,可以确定应用程序对话互相之间的相对紧急程度,以此作为控制每个对话处理器时间的分配以及控制对话执行顺序的基础。
从消息缓冲区B1,应用程序对话管理器ASM将接收到的对话请求消息S1从消息缓冲区B1移至另一个消息缓冲区B2的时间本质上与从操作系统获得处理器的时间相同。当新应用程序对话的执行可以启动时,应用程序对话管理器ASM向所选的包含对话第一活动块0B的活动块容器ABC传送一个内向控制消息(Do消息)。结果就启动了活动块0B的执行。在此例中,在活动块0B的执行完成并且相应的外向控制消息(Out消息)返回到资源分配管理器RAM后,应用程序对话管理器ASM(从资源分配管理器RAM接收到所述外向控制消息后)根据应用程序对话简表向三个活动块容器ABC1、ABC2、ABC3传送一个外向控制消息(Do消息),以分别执行三个活动块1B、2B、3B,以及建立这些不同类型的并行连接。在此例中,这些连接类型分别是声频、数据和视频。每个活动块1B、2B、3B分别向其连接类型的资源处理器RH(2)、RH(3)、RH(4)传送一个保留请求消息(Con消息)。每个保留请求消息都包含相关信息,例如程序标识或产生所述消息的活动块容器的某个其他标识。借助所述信息,资源处理器可以向适当的活动块容器返回一个保留确认消息(In消息)。资源处理器将保留请求消息(Con消息)从活动块容器传送给连接协议程序并且从所述连接程序接收到所述连接建立的确认后,它将返回一个保留确认消息(In消息)。这样,活动块容器中的活动块将接收到一个否定的保留确认消息或肯定的保留确认消息,作为指示资源处理器在容量限度内已经向应用程序对话分配了资源保留示例,并且资源处理器已经执行了使用所述资源可能需要的初始化和记录操作。此外,资源处理器的一个目标是始终将从相关的连接协议程序接收到的应用程序消息传送给参与应用程序对话执行并向资源处理器提供了其标识的活动块容器。在传送了保留请求消息(Con消息)后,当应用程序对话停止等待来自资源处理器的相关保留确认消息(In消息)时,它最好暂停至等待状态。在传送每个保留请求消息时,最好同时利用外向控制消息(Out消息)将有关开始所述等待状态的信息传递给资源分配管理器RAM。在图4的活动块4B中,在产生从不同连接类型的无线终端1传送的数据之前,等待获得一个作为对所有三个保留请求消息响应的保留确认消息。对于一般应用程序对话,活动块5B、6B和7B可以为所述对话使用不同连接类型,以交互地在其他连接端与应用程序交换应用程序消息,其中活动块5B、6B和7B位于分开的活动块容器中有好处。在一般情况下,一个应用程序对话可能包含较大数目的并行执行的活动块。
对资源处理器操作的调度是借助操作系统的功能和调度机制来配置的,使得活动块向资源处理器发送了要处理的消息后立刻执行它们的操作。这些资源处理器配备了一个接口,活动块容器可以通过它来向资源处理器发送对话控制协议消息和继续执行应用程序消息(反之也一样),以相应地从资源处理器接收消息。所述接口独立于应用程序,并且很大程度上也独立于资源类型,这允许在对话控制协议中使用相当标准的消息。此外,资源处理器将应用程序消息同时从活动块容器传送至资源设施,或反过来从所述设施传送至活动块容器和/或应用程序对话管理器ASM。对每个保留请求消息,资源处理器都创建一个保留(资源保留示例R1),这是一种资源保留示例的定义,包括关于所述保留使用的参数,如数据传送速率、显示器分辨率、立体声与单声道语音输出等。资源保留示例在资源示例表RIT中被登记为资源示例记录RIR。每个资源处理器都关联它自己的资源示例表。每个资源处理器都维护它自己的资源保留示例,并向资源分配管理器RAM提供有关它们的信息。因此,资源分配管理器RAM较好地在资源分配表RAT中保持了所有现有资源保留示例的簿记数据。
资源分配管理器RAM向应用程序对话管理器ASM提供资源分配表的数据内容,所述管理器使用此信息(例如)将不同应用程序对话的处理从暂停状态带到活动处理状态。资源分配管理器RAM还接收由活动块容器所产生的外向控制消息,如活动块执行完成的信息,或在活动块内开始同步等待状态的信息,或来自资源处理器的保留确认消息到达活动块容器的信息。
资源分配管理器RAM向应用程序对话管理器ASM提供了资源分配表的数据内容后,处理器2开始执行应用程序对话管理器ASM的代码,应用程序对话管理器ASM选择要执行的下一个应用程序对话,更准确地说是下一个活动块。应用程序对话管理器ASM使用(例如)资源分配情况和处理器2的负载电平作为一个选择标准。为启动活动块的执行,最好向包含此种活动块的所选活动块容器传送一个内向控制消息(Do消息)。假设活动块包括在分开的活动块容器(所谓的并行软件程序)中,则大致可以同时地处理多个活动块。实际上,这意味着处理器2以另一种方式执行这些活动块容器的代码。作为这种并行性的示例,在图4的例子中首先是活动块1B、2B、3B,其次是5B、6B、7B,第三是8B、9B、10B。但在多处理器系统中,真正并行处理地执行活动块容器中的代码也是可能的。
让我们假设处理器时间给予了活动块5B、6B、7B,这些活动块组成从无线终端1发送出去的声频、数据和视频类型的数据内容,以及发送所述数据传送控制所需的应用程序消息。换句话说,这些活动块5B、6B、7B产生传输的数据内容,并向对应的资源处理器RH(2)、RH(3)、RH(4)传送必要的应用程序消息。在图4中,这些消息用参照标记D、E、F指示。资源处理器执行从无线终端1传送这三种不同类型数据内容所需的功能。在这三个数据传送活动完成后,活动块8B、9B、10B产生外向控制消息(Out消息)来分别释放这三个资源保留示例。此后,通过执行终止块11B就可结束应用程序对话的执行。在资源示例表RIT和资源分配表RAT中,可以释放为无用活动块容器ABC1、ABC2、ABC3分配的存储空间,可以删除已终止对话所使用的资源保留示例的参数数据。
下一个对话请求消息S2的处理可按上述原理进行。
图3也显示了活动块容器ABC的结构以及活动块容器ABC中活动块的执行过程。活动块容器包含一个入局状态模块ISM,它总是执行空置活动块容器接收到第一个启动内向控制消息的时候。此外,活动块容器包含一个分支状态模块BSM,它读取要被执行的下一个活动块的标识,以找出活动块容器执行线程应采用哪个活动块AB1、AB2、AB3。每个活动块的终点都配备一个结束状态模块ESM,它通过外向控制消息(Out消息)装置向资源分配管理器RAM发送块完成信号,并进而发送给应用程序对话管理器ASM,此后,活动块容器ABC的执行线程被进行等待下一个内向控制消息(Do消息)的状态,以便在一旦所述块容器从操作系统得到处理器时间时,能够从下一个活动块继续对话的执行。为此,执行线程从结束状态模块ESM转入等待块IB的开始处,在那儿定位了等待状态模块ISM,用于接收从资源处理器到活动块容器的任何消息。此种消息由等待块接收,并被保存在特定的临时消息缓冲区中,此后,在等待块结束处的转移状态模块FSM向资源分配管理器RAM发出一个外向控制消息(Out消息),并进一步传送到应用程序对话管理器ASM,通知它们关于接收到的消息。当活动块容器的执行线程根据等待状态模块ISM接收到的下一个内向控制消息(Do消息),转入任何内嵌活动块的开始处时,等待块IB的处理结束。在这种情况下,执行线程从等待块结束处的转移状态模块FSM经由分支状态模块BSM转轨到下一个待处理的活动块的开始处。为终止块容器的执行控制并释放所述容器,应用程序对话管理器ASM可以利用内向控制消息的特定参数来指示执行控制,使执行控制在转移状态模块FSM后从等待块导向活动块容器的离开状态模块TSM。在离开状态模块TSM之后,从应用程序对话管理器ASM的角度看,在任何应用程序对话的场境中都可以自由选择活动块容器来执行其中的任何活动块。当等待块IB接收到的消息不把执行线程转到分支状态模块BSM或离开状态模块TSM时,执行控制将始终从等待块IB的转移状态模块FSM返回到等待块IB开始处的等待状态模块ISM,以继续空等待。
在处理器2的负载相对低的那些情况下,应用程序对话管理器ASM可以将处理器2的功率消耗调整得较低,例如通过降低时钟频率。另一方面,对于某些处理器而言,可以通过将那些处理器功能块中此时不需要的至少几个功能快设置成节电模式来调节功率消耗。
在很大程度上,本发明都可以用软件的形式来实现,例如当作处理器2的可执行指令。
显然,本发明并不仅仅局限于上述实施例,而是可以在所附权利要求书的范围之内进行修改的。
权利要求
1.一种系统,它包括装置(2,4),用于在具有一个或多个处理器(2)的电子装置(1)中执行应用程序对话;以及装置(2),用于调度资源保留示例(R1)和大体上同时应用程序对话的执行,其特征在于所述待执行的应用程序对话包括在一个或多个活动块容器(ABC、ABC1、ABC2、ABC3)中的一个或多个活动块(AB),并为所述活动块(AB)指定了执行顺序;所述系统包括用来为应用程序对话保留资源的资源类型特定资源处理器(RH);用于分析和保存资源分配情况的资源分配管理器(RAM、RAT、RH、RIT);用来根据所述资源分配情况选择至少下一个要执行的应用程序对话和活动块的应用程序对话管理和调度装置(ASM);用来在所选应用程序对话进行过程中执行下一个活动块(AB)的执行装置(2、AC),并且,所述系统还配备一个协议(SCP),所述协议连接资源处理器(RH)、资源分配管理器(RAM、RAT、RH、RIT)、应用程序对话管理和调度装置(ASM)以及执行装置(2、AC),以控制执行顺序并实现信息在所述资源处理器(RH)、资源分配管理器(RAM、RAT、RH、RIT)、应用程序对话管理和调度装置(ASM)以及执行装置(2、AC)之间的传递。
2.如权利要求1所述的系统,其特征在于它包括用于簿记资源分配情况的装置(RAM、RAT、RH、RIT);用于在活动块(AB)启动时向活动块(AB)传送第一个控制消息(Do)以向活动块(AB)提供资源分配控制信息的装置(ASM、Do);以及用于活动块(AB)执行完成时传送第二个控制消息(Out),以提供关于活动块(AB)保留或释放的资源的信息,以便在每个活动块(AB)完成后更新资源分配情况簿记的装置。
3.如权利要求2所述的系统,其特征在于它包括装置(ASM、ABC、SCP、RAM、RAT、RH、RIT),用于根据从应用程序对话管理和调度装置(ASM)接收到的第一个控制消息(Do)中得到的控制参数,让应用程序对话保留以及释放每个活动块(AB)所需的资源,这些资源直接来自资源类型特定的资源处理器(RH)或来自使能保留请求消息排队的资源分配管理器(RAM、RAT、RH、RIT)。
4.如权利要求2或3所述的系统,其特征在于它包括装置(ABC、SCP、RIT、RH),用于在需要时让资源保留示例对于对话执行中所涉及的不同活动块容器动态可用,这些示例在应用程序对话请求时通过使用第二个控制消息(Out)创建。
5.如权利要求1至4中任一个所述的系统,其特征在于所述系统包括具有调度功能的操作系统,为同步来自应用程序对话管理和调度装置(ASM)、活动块容器(ABC、ABC1、ABC2、ABC3)、资源分配管理器(RAM、RAT、RH、RIT)及资源处理器(RH)的保留、释放和其他与资源相关的控制,有一个对话控制协议(SCP),所述协议由应用程序独立的控制消息及其使用规则组成,它们在操作期间根据操作系统的任务切换功能以及为应用程序对话管理和调度装置(ASM)、活动块容器(ABC、ABC1、ABC2、ABC3)、资源分配管理器(RAM、RAT、RH、RIT)及资源处理器(RH)定义的操作系统任务优先级来配置,以实现应用程序对话管理和调度装置(ASM)、活动块容器(ABC、ABC1、ABC2、ABC3)、资源分配管理器(RAM、RAT、RH、RIT)及资源处理器(RH)执行的同步和调度控制。
6.如权利要求1至5中任一个所述的系统,其特征在于它的每个资源处理器(RH)都包括一个资源示例表(RIT),以便向所述资源管理和分配装置(RAM)提供资源分配情况,并且确定相对于资源处理器(RH)的资源分配管理器(RAM、RAT、RH、RIT)的同步,使得大体在每次执行了资源处理器(RH)之后,立即就轮到执行资源分配管理器(RAM),其中在资源示例表(RIT)中关于最近发生更改的资源分配情况是已知的。
7.如权利要求6所述的系统,其特征在于这样确定相对于应用程序对话管理和调度装置(ASM)的资源分配管理器(RAM、RAT、RH、RIT)的同步、使得大体在每次执行了资源分配管理器(RAM、RAT、RH、RIT)之后,立即就轮到执行应用程序对话管理和调度装置(ASM),其中关于最近发生更改的资源分配情况是已知的,并且可以由应用程序对话管理和调度装置确定控制消息参数的值,这些参数由所述应用程序对话管理和调度装置产生,并用于同步各种类型资源保留示例(R1)。
8.如权利要求1至7中任一个所述的系统,其特征在于在每个活动块(AB)的结束处有一个结束状态模块(ESM),用以完成所述块的执行,在容纳所述活动块的活动块容器中设置等待状态模块(ISM),并且容纳所述活动块(AB)的活动块容器(ABC、ABC1、ABC2、ABC3)的执行控制被配置成用来在结束状态模块(ESM)中产生第二个控制消息(Out),并暂停等待状态模块(ISM)的执行,以等待来自应用程序对话管理和调度装置(ASM)的第一个控制消息(Do),其中关于当前活动块容器(ABC、ABC1、ABC2、ABC3)的应用程序对话的执行被暂时中断。
9.如权利要求8所述的系统,其特征在于所述应用程序对话管理和调度装置(ASM)被配置成用来分析资源分配情况和待执行对话的调度,以检测一个或多个资源的过载情况,并通过在需要时用其他要求较少资源的应用程序对话代替所述应用程序对话,或通过需要时延迟至应用程序对话的第一个控制消息(Do)的传送来管理它,这导致了继续执行应用程序对话的暂停或新应用程序对话的延迟启动。
10.如权利要求1至9中任一个所述的系统,其特征在于所述应用程序对话的活动块(AB)被置于一个或多个活动块容器(ABC、ABC1、ABC2、ABC3)中,在这些活动块容器(ABC、ABC1、ABC2、ABC3)任何一个中的活动块被配置成用来在不同的时间暂时执行,并且在对话的进行过程中存在大体上同时执行的活动块(AB)时,它们被放在不同的活动块容器(ABC、ABC1、ABC2、ABC3)中。
11.如权利要求10所述的系统,其特征在于为设计要在系统中待执行的应用程序,每个活动块容器(ABC、ABC1、ABC2、ABC3)都配备有接口模块,在这些接口模块点上可以中断活动块(AB)或活动块容器(ABC、ABC1、ABC2、ABC3)的执行并且可能轮到另一个待执行的操作系统任务,这样使得可以经由活动块容器(ABC、ABC1、ABC2、ABC3)的所述接口来发送和接收对话控制协议消息,无需作为应用程序设计工作的一部分来处理这些协议消息。
12.如权利要求1至11所述的系统,其特征在于所述资源处理器(RH)配备了一个接口,用于在每个所述资源处理器(RH)和所述系统之间传送信息,所述接口很大程度上独立于所述应用程序对话和所述资源类型。
13.如权利要求1至12所述的系统,其特征在于它包括每个资源处理器(RH)都使用的专用的资源示例表RIT,以及所述资源处理器(RH)设计成没有中间延迟状态,其中单个资源保留示例状态数据的更改保存在每个所述资源处理器(RH)的资源示例表(RIT)中。
14.如权利要求1至13所述的系统,其特征在于所述应用程序对话管理和调度装置(ASM)关联一个对话历史表(SHT),所述资源分配管理器关联一个资源分配表(RAT),并且所述应用程序对话管理和调度装置(ASM)及所述资源分配管理器设计成没有中间状态,其中与对话相关的状态信息的更改保存在所述对话历史表(SHT)中,与对话相关的资源保留示例的信息的更改被保存在所述资源分配表(RAT)中。
15.如权利要求1至14所述的系统,其特征在于它包括装置ASM,用以确定处理器的负载状况,并根据负载状况通过调度应用程序对话的活动来调节处理器的功率消耗。
16.一种用于在具有一个或多个处理器(2)的电子装置(1)中执行应用程序对话的方法,以同步资源保留示例(R1)以及应用程序对话的大体上同时的执行,其特征在于待执行的应用程序对话包括在一个或多个活动块容器(ABC、ABC1、ABC2、ABC3)中的一个或多个活动块(AB),并为所述活动块(AB)确定执行顺序,所述方法至少包括以下步骤-为应用程序对话请求和保留资源的资源管理和分配步骤,-保存并分析资源保留情况的簿记和分析步骤,-至少根据所述资源保留情况,选择要执行的下一个应用程序对话和活动块(AB)的调度和选择步骤,-在所选应用程序对话进行过程中执行下一个活动块(AB)的执行步骤,在所述方法中,使用了连接所述资源管理和分配步骤、簿记和分析步骤、调度和选择步骤以及执行步骤的通信协议(SCP),以控制执行顺序,并在必要时在所述资源管理和分配步骤、簿记和分析步骤、调度和选择步骤以及执行步骤之间传递信息。
17.如权利要求16所述的方法,其特征在于维持一个资源分配的簿记,在启动活动块时第一个控制消息(Do)被传送到活动块以提供资源分配的控制信息,第二个控制消息(Out)由活动块返回,以提供关于被活动块保留或释放的资源的信息,用来在每个活动块完成后更新资源分配情况的簿记。
18.如权利要求17所述的方法,其特征在于根据从应用程序对话管理和调度装置(ASM)接收到的第一个控制消息(Do)中得到的控制参数,每个活动块(AB)所需的资源由应用程序对话保留和释放,这些资源或者直接来自资源类型特定的资源处理器(RH),或者来自允许排队保留请求消息的资源分配管理器(RAM、RAT、RH、RIT)。
19.如权利要求17或18所述的方法,其特征在于必要时第二个控制消息(Out)被应用程序对话用来动态指定资源保留示例(R1)给对话执行中所涉及的不同活动块容器(ABC、ABC1、ABC2、ABC3)使用。
20.如权利要求16至19中任一个所述的方法,其特征在于在所述方法中利用了包括任务切换功能的操作系统,为同步来自应用程序对话管理和调度装置、活动块容器(ABC、ABC1、ABC2、ABC3)、资源分配管理器及资源处理器(RH)的保留、释放和其他与资源相关的控制,有一个对话控制协议(SCP),所述协议由应用程序独立的控制消息及其使用规则组成,它们在操作期间根据操作系统的任务切换功能以及为应用程序对话管理和调度装置、活动块容器(ABC、ABC1、ABC2、ABC3)、资源分配管理器及资源处理器(RH)定义的操作系统任务优先级来配置,以实现应用程序对话管理和调度装置、活动块容器(ABC、ABC1、ABC2、ABC3)、资源分配管理器及资源处理器(RH)执行的同步和调度控制。
21.如权利要求16至20中任一个所述的方法,其特征在于所述方法中的每个资源处理器(RH)都使用一个资源示例表(RIT),以便向所述资源分配管理器(RAM)提供资源分配情况,并且确定相对于资源处理器(RH)的资源管理和分配步骤的簿记和分析步骤的同步,使得大体在每次执行了资源处理器(RH)之后,立即就轮到簿记和分析步骤,其中在资源示例表(RIT)中关于最近发生更改的资源分配情况是已知的。
22.如权利要求21所述的方法,其特征在于这样确定相对于簿记和分析步骤的调度和选择步骤的调度、使得大体上在执行了簿记和分析步骤之后,立即就轮到调度和选择步骤,其中在资源分配表(RIT)中关于最近发生更改的资源分配情况是已知的,并且应用程序对话管理和调度装置(ASM)可以确定它所产生的控制消息的参数值,以同步各种类型资源保留示例(R1)的使用。
23.如权利要求16至23中任一个所述的方法,其特征在于在每个活动块(AB)的结束处有一个结束状态模块(ESM),用以完成所述块的执行,在容纳所述活动块的活动块容器(ABC、ABC1、ABC2、ABC3)中放了等待状态模块(ISM),并且容纳所述活动块(AB)的活动块容器(ABC、ABC1、ABC2、ABC3)的执行控制被配置成用来在结束状态模块(ESM)中产生第二个控制消息(Out),并暂停等待状态模块(ISM)的执行,以等待来自应用程序对话管理和调度装置的第一个控制消息(Do),其中关于当前活动块容器(ABC、ABC1、ABC2、ABC3)的应用程序对话的执行被暂时中断。
24.如权利要求23所述的方法,其特征在于所述应用程序对话管理和调度装置(ASM)用来分析资源分配情况和待执行对话的调度,以检测一个或多个资源的过载情况,并通过在需要时用其他要求较少资源的应用程序对话代替过载的应用程序对话,或通过需要时延迟至应用程序对话的第一个控制消息(Do)的传送来管理它,这导致了继续执行应用程序对话的暂停或新应用程序对话的延迟启动。
25.如权利要求16至24中任一个所述的方法,其特征在于所述应用程序对话的活动块(AB)被置于一个或多个活动块容器(ABC、ABC1、ABC2、ABC3)中,在这些活动块容器(ABC、ABC1、ABC2、ABC3)任何一个中的活动块被配置成用来在不同的时间暂时执行,并且在有用来在对话的进行过程中存在大体上同时执行的活动块(AB)的情况下,它们被放在不同的活动块容器(ABC、ABC1、ABC2、ABC3)中。
26.如权利要求25所述的方法,其特征在于为了设计要在系统中执行的应用程序,每个活动块容器(ABC、ABC1、ABC2、ABC3)都在活动块或活动块容器(ABC、ABC1、ABC2、ABC3)执行可以中断并且可能轮到另一个操作系统任务执行的那些点上配备了一个接口模块,这样使得可以经由活动块容器(ABC、ABC1、ABC2、ABC3)的所述接口来发送和接收对话控制协议消息,无需作为应用程序设计工作的一部分来处理对话控制协议的消息。
27.如权利要求16至26中任一个所述的方法,其特征在于所述资源处理器(RH)配备一个接口,用于在系统的每个资源处理器(RH)间传送信息,此接口很大程度上独立于应用程序对话和资源类型。
28.如权利要求16至27中任一个所述的方法,其特征在于每个所述资源处理器(RH)都使用专用的资源示例表(RIT),所述资源处理器(RH)被设计成没有中间延迟状态,其中单个资源保留示例(R1)状态数据的更改保存在每个所述资源处理器(RH)的资源示例表(RIT)中。
29.如权利要求16至28中任一个所述的方法,其特征在于所述调度和选择步骤使用了对话历史表(SHT),而所述簿记和分析步骤使用了资源分配表(RAT),并且资源管理和分配步骤、簿记和分析步骤以及调度和选择步骤被设计成没有中间延迟状态,其中对话相关的状态信息的更改保存在所述对话历史表(SHT)中,资源保留示例(R1)的对话相关信息的更改保存在所述资源分配表(RAT)中。
30.如权利要求16至29中任一个所述的方法,其特征在于确定处理器的负载状况,处理器的功率消耗根据所述负载状况通过调度应用程序对话的活动来调节。
31.一种电子装置(1),它包括装置(2,4),用于执行应用程序对话;一个或多个处理器(2);以及装置(2),用于调度资源保留示例(R1)以及大体上同时应用程序对话的执行,其特征在于待执行的应用程序对话包括在一个或多个活动块容器(ABC、ABC1、ABC2、ABC3)中的一个或多个活动块(AB),并为所述活动块(AB)确定执行顺序;所述电子装置(1)包括用来为应用程序对话保留资源的资源类型特定资源处理器(RH);用于分析和保存资源分配情况的资源分配管理器(RAM、RAT、RH、RIT);用来根据所述资源分配情况选择至少下一个要执行的应用程序对话和活动块的应用程序对话管理和调度装置(ASM);用来在所选应用程序对话进行过程中执行下一个活动块(AB)的执行装置(2、AC);并且电子装置(1)还配备了一个协议(SCP),所述协议连接资源处理器(RH)、资源分配管理器(RAM、RAT、RH、RIT)、应用程序对话管理和调度装置(ASM)以及执行装置(2、AC),以控制执行顺序并实现信息在所述资源处理器(RH)、资源分配管理器(RAM、RAT、RH、RIT)、应用程序对话管理和调度装置(ASM)以及执行装置(2、AC)之间的传递。
32.如权利要求31的电子装置(1),其特征在于它是个无线通信装置。
33.一种包括机器可执行步骤的软件程序,用于在具有一个或多个处理器(2)的电子装置(1)中执行应用程序对话,以同步资源保留示例(R1)以及大体上同时的应用程序对话的执行,其特征在于待执行的应用程序对话包括在一个或多个活动块容器(ABC、ABC1、ABC2、ABC3)中的一个或多个活动块(AB),并为所述活动块(AB)确定执行顺序,所述软件程序还包括机器可执行步骤,用来至少执行以下步骤-为应用程序对话请求和保留资源的资源管理和分配步骤,-保存并分析资源保留情况的簿记和分析步骤,-至少根据所述资源保留情况,选择要执行的下一个应用程序对话和活动块(AB)的调度和选择步骤,-在所选应用程序对话进行过程中执行下一个活动块(AB)的执行步骤,其中,所述软件程序包括机器可执行步骤,以便使用连接所述资源管理和分配步骤、簿记和分析步骤、调度和选择步骤以及执行步骤的通信协议(SCP),来控制执行顺序,并在必要时在所述资源管理和分配步骤、簿记和分析步骤、调度和选择步骤以及执行步骤之间传递信息。
全文摘要
本发明涉及包括用于在具有一个或多个处理器(2)的电子装置(1)中调度应用程序对话的执行和必要的资源保留的装置(2,4)以及用以调度资源保留和待大致同时执行的应用程序对话的执行的装置(2)的系统。待执行的应用程序对话包括在一个或多个活动块容器(ABC,ABC1,ABC2,ABC3)中的一个或多个活动块(AB)并为所述活动块(AB)预定这些活动块的执行顺序。该系统包括资源类型特定资源处理器(RH),资源分配管理器(RAM,RAT,RH,RIT),应用程序对话管理和调度装置(ASM)和执行装置(2,ASM)。该系统配备了一个协议(SCP),它连接所述资源处理器(RH),资源分配管理器,应用程序对话管理和调度装置及执行装置,以控制执行顺序并在这些部件之间实施信息传递。
文档编号G06F9/50GK1489046SQ0314514
公开日2004年4月14日 申请日期2003年6月20日 优先权日2002年6月20日
发明者P·莱蒂宁, P 莱蒂宁 申请人:诺基亚有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1