首页> 中国专利> 任务管理装置和方法、操作判断装置和方法以及被判断的程序

任务管理装置和方法、操作判断装置和方法以及被判断的程序

摘要

能够同时获得任务的延迟保证和有效的任务执行。每个任务(A1,A2,A3)被分成保证部分和可控制部分。可控制部分可作为能被删除的部分处理。在不包括任何可控制部分和包括可控制部分的情况之间实际修改已预定的任务(A1,A2)的处理级别的同时,判断一个新近请求预定的任务(A3)是否可以执行,且在执行被判断为可行的处理级别上,任务(A1,A2,A3)被选择。通过调整预定任务(A1,A2)的质量,能够接收且执行新近要求预定的任务(A3)。这样,能够同时获得延迟保证和有效的任务执行。

著录项

  • 公开/公告号CN1643498A

    专利类型发明专利

  • 公开/公告日2005-07-20

    原文格式PDF

  • 申请/专利权人 丰田自动车株式会社;

    申请/专利号CN03806702.1

  • 发明设计人 阿部睦;

    申请日2003-03-17

  • 分类号G06F9/50;

  • 代理机构北京市中咨律师事务所;

  • 代理人杨晓光

  • 地址 日本爱知县

  • 入库时间 2023-12-17 16:25:17

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-03

    未缴年费专利权终止 IPC(主分类):G06F9/50 授权公告日:20070815 终止日期:20160317 申请日:20030317

    专利权的终止

  • 2007-08-15

    授权

    授权

  • 2005-09-14

    实质审查的生效

    实质审查的生效

  • 2005-07-20

    公开

    公开

说明书

技术领域

本发明涉及多任务系统中的具有对应于系统资源数的执行保证功能的任务管理装置,以及确定一个程序的可执行性的装置。

背景技术

近年来,在计算机之间的通信中,对执行音频和视频的实时信息通信的要求日益增加。例如,对于处理视频和音频的实时通信终端,就有必要执行多个任务,如从另一个终端接收视频和音频信息的任务,指示接收到信息的任务,及向另一个终端发送信息的任务。这样,该终端成为一个执行多个任务的需要实时处理的多任务系统,并且需要保证服务质量(Qos:服务质量)。

在这种类型的多任务系统中,作为一种保证服务质量的技术,一个OS(操作系统)的任务优先级设定功能被用来将处理音频和视频的需要实时处理的任务的优先级设置得比其它任务的优先级高,而且通常采用对延迟要求比较严格的任务处理给予优先权的技术。同样的,作为另外一种保证服务质量的技术,提出了一种方法,在一个具有执行结束目标时间设置的任务中,通过以一种优先级化的方法执行处理,这样随着执行结束目标时间的接近优先级得到增加,导致任务处理的结束时间接近执行结束目标时间(日本专利公开No.Sho.62-284437)。

还有一种多任务系统被提出,用来执行周期性任务及执行需要从执行时间开始的延迟保证的任务,作为一种任务管理方法,通过保证所有需要延迟保证的任务的任务延迟和控制任务的执行来控制一个应用程序的服务质量(例如,日本专利公开No.Hei.10-171667)。还有一种多任务系统被提出,在多任务系统中,对于每个任务,根据实际的任务处理时间自动更正需要的处理时间和允许的延迟时间设置,然后执行任务(日本专利公开No.He.11-259311)。在操作过程中还有对任务执行需要的周期、需要的处理时间、根据实际周期的允许延迟时间及该任务的处理时间的重新计算(日本专利公开No.2000-56989)。

然而,在利用任何上述相关技术的情况下,当需要执行保证的任务的总共需要的资源数超过当时系统能够提供的资源总数时,系统可能会超负荷执行,这样不可能执行低优先级任务或者需要新的资源预留的任务,或者说系统就不可能执行所有的任务,这样就不可能在一定的允许延迟的最后期限内执行任务。

例如,如图9(a)所示,如果系统在一个特定的时间点可以提供的资源数R1比所有需要执行的任务需要的资源数r1+r2大,系统就可能执行所有需要执行的任务。然而,从这个状态,如果还有一个另外的任务处理必需r3数量的资源,如图9(b)所示,由于总共需要的资源数r1+r2+r3比能够提供的资源数R1大,或者另外的任务的接收会被拒绝,或者所有任务的接收会被拒绝。

同样的,如图10(a)-(c)所示,以任务A1,A2和A3作为例子,其中处理时间设置为T1,最后期限(允许的时间或者允许的延迟时间,这样如果处理在这个时间内完成,质量就被满足)设置为H1,由于任务A1和任务A2如果都能以该顺序执行能满足各自的最后期限(处理能够在最后期限到达之前完成),它们可以一起执行。然而,如果任务A1,A2,A3以该顺序执行,即使任务A1和A2的最后期限满足了,由于任务A3的最后期限不能被满足,因此也不可能执行任务A3。

此外,当一个特定的应用在操作中时,例如,要添加一个新任务,或者要修正一些任务时(上述任务A1,A2),在该应用的任务结构被改变的情况下,如果更改后的应用实际上利用该多任务系统操作,则执行每个任务的可能性不能够判断。因此,在一个应用的开发阶段,必然要反复地进行安装和对系统模型的功能验证,这样就延长了开发周期,而且尤其在具有下载应用程序功能的移动电话中,在发送和接收端都有多样的硬件结构的情况下会非常复杂。

发明内容

因此,本发明的一个目的是提供一种手段,能够取得保证任务延迟和有效的任务执行之间的兼容性。

本发明的另一个目的是提供一种手段,能够迅速地确定一个确定对象程序例如一个应用程序的可执行性。

第一个发明,如权利要求1所述,是一个任务管理设备,在一个多任务系统中用来从多个任务中选择执行其中一个,包括确定装置,用于根据每个任务所需的资源数量确定每个任务的可执行性,还包括任务选择装置,用于根据确定装置的确定结果来选择一个任务作为执行对象,所需资源数量信息获取装置,用于获取至少一些任务中指定的保证部分和可控制部分需要的资源数量信息,其中,该确定装置通过实质上在该可控制部分的范围内更新至少一些被调度任务的处理级别执行决定,并且该任务选择装置以确定为可执行的处理级别执行选择。

在一个任务中,有相当多的情况是用户被允许在一定程度上降低执行质量,例如,图像的分辨率或者视频的帧速率(每秒的图像数)。因此,即使在高优先级任务或者正被执行的任务中有可被删除部分,拒绝低优先级任务或者新请求调度的任务也是不合理的。

在第一个发明中,其要点是把任务的组成部分分成保证部分和可控制部分并且逐步设置,然后把后者设成可控制的,也就是可根据情况添加、删除、增加或减少。具体地,在第一个发明中,确定装置通过实质上根据每个任务需要的资源数量更新在可控制部分的范围内被预留的至少一些任务的处理级别来确定每一个任务的可执行性,并且任务选择装置执行任务的选择,构成处理级别上被确认为可被执行的执行对象。这意味着即使存在外部限制,例如系统资源数量、每个任务的最后期限和执行周期,对于这些被调度的任务,通过调整质量,能够接收且执行低优先级和新近请求调度的任务,且能够达到保证任务延迟和任务有效执行之间的兼容性。

第二个发明是如权利要求1所述的任务管理设备,其中确定装置包括第一确定装置,用于确定是否至少一些被调度任务的预留部分和可控制部分都可执行,第二确定装置用于当第一确定装置确定不可执行时,确定所调度的任务的保证部分是否可执行;并且其中,选择装置选择每个任务中被第一确定装置确定为可执行的保证部分和可控制部分,且只选择每个所调度的任务中被第二确定装置确认为可执行的保证部分。

通过第二个发明,确定处理和质量调节通过添加或者删除可控制部分完成。确切地说,如图4(a)所示,每个任务所需的资源数量r1,r2被预先分为涉及保证部分的所需资源数量r1a,r2a以及涉及可控制部分的所需资源数量r1b,r2b。并且当,例如,必须登记一个需求资源数量为r3的新任务(如图4(b))时,首先确定所有要求的任务(所需资源数量r1+r2+r3)的保证部分和可控制部分是否可执行,当被确定为可执行时,这些保证部分和可执行部分被选择。另一方面,如果确定为保证部分和可控制部分不可执行,则确定是否所有要求的任务只有保证部分可执行(如图4(c),所需资源数量为r1a+r2a+r3a),在被确定为可执行的情况下仅仅每个任务的保证部分被选择。这样,通过第二个发明,由于所需资源数量通过添加或删除可控制部分而被调节,就能够利用简单的结构实现和第一个发明相同的效果。

第三个发明,在权利要求3中所述,是如权利要求1所述的任务管理设备,其中确定装置实质上在可控制部分的范围内调节所有被调度的任务的处理级别。

通过第三个发明,由于实质上所有调度任务的处理级别得到调节,作为很大的调节量的结果,允许出现所需资源数量的很大的变化。

本发明的确定装置当预料到所需资源数量发生变化时执行确定,但是特别优选地,也可能像第四个发明那样,当必须改变构成处理对象的一些任务时执行确定,并且像第五个发明那样,当必须修改至少一些任务的参数时执行确定。而且,第五个发明中的参数在第六个发明中优选地为至少一些任务的最后期限,在第七个发明中为至少一些任务的执行周期。

第八个发明,如权利要求8所述,是如权利要求1所述的任务管理设备,还包括保证对象标识符获取装置,用于获取用于标识至少一些任务的保证部分和可控制部分的保证对象标识符,并且其中,任务选择装置利用保证对象标识符来完成任务的选择。

通过权利要求8的发明,由于任务选择装置可以使用保证对象标识符来选择组成执行对象的任务,因而能够通过一个简单的结构获得和第一个发明相同的效果。

第九个发明,如权利要求9所述,是如权利要求1所述的任务管理设备,还包含顺序标识符获取装置,用于获取顺序标识符,该顺序标识符附于包含在至少一些任务中的可控制部分,用于标识多个可控制部分的选择顺序,并且其中,确定装置根据选择顺序并且利用顺序标识符从组成执行对象的任务中间选择被选择的可控制部分,并且在修改选择对象的同时试验该选择和确定。

根据第九个发明,作为确定装置按照选择顺序并且采用顺序标识符选择组成执行对象的任务的可控制部分的结果,并且在修改选择对象的同时试验该选择和确定,这样就可能更好地调节该任务所需的资源数量。

第十个发明,如权利要求10所述,是如权利要求1所述的任务管理设备,还包括主/从任务标识符获取装置,用于获得一个主/从任务标识符,以便标识指定的主任务和从任务,在从任务中主任务的执行是执行的条件,并且其中,确定装置和任务管理装置利用主/从任务标识符,将主任务当作保证部分处理,将从任务当作可控制部分处理。

根据第十个发明,由于利用主/从标识符可使很多具有主/从关系的任务作为保证部分和可控制部分同时被处理,一个任务内可控制部分的处理和任务间主/从关系的处理可以使用一个公共的算法执行。

第十一个发明,如权利要求11所述,是一个任务管理方法,在一个多任务系统中选择地执行多个任务中的至少一些任务,包括一个确定步骤,根据每个任务所需的资源数量来确定每个任务的可执行性,和一个任务选择步骤,根据确定步骤的确定结果选择组成一个执行对象的任务,还包括一个所需资源数量信息获取步骤,用于获取至少一些任务中指定的保证部分和可控制部分的所需资源数量信息,其中在确定步骤中,决定通过实质上在可控制部分范围内更新至少一些被调度的任务的处理级别而被执行,并且在任务选择步骤中,选择是使用确定为可执行的处理级别来执行的。根据第十一个发明,能够获得和第一个发明同样的效果。

第十二个发明,如权利要求12所述,是根据权利要求11所述的任务管理方法,还包括一个保证对象标识符获取步骤,用于获取保证对象标识符以标识至少一些任务中的保证部分和可控制部分,并且其中,在任务选择步骤中,选择被采用保证对象标识符来完成。根据第十二个发明,可以获得和第八个发明相同的效果。

第十三个发明,如权利要求13所述,是根据权利要求11所述的任务管理方法,还包括一个顺序标识符获取步骤,用于获取顺序标识符,该顺序标识符附于包含在至少一些任务中的可控制部分,用于标识多个可控制部分的选择顺序,并且其中,在确定步骤中,从构成执行对象的任务中选择可控制部分是根据选择顺序并且使用顺序标识符选择的,并且选择和确定在修改选择的对象的同时被试验。根据第十三个发明,能够获得和第九个发明相同的效果。

第十四个发明,如权利要求14所述,是根据权利要求11所述的任务管理方法,还包括主/从任务标识符获取步骤,用于获得主/从任务标识符,以便标识指定的主任务和从任务,在从任务中,主任务的执行是执行的条件,并且其中,在确定步骤和任务选择步骤,使用主/从任务标识符,主任务被当作保证部分处理而从任务被当作可控制部分处理。根据第十四个发明能够获得和第十个发明相同的效果。

第十五个发明,如权利要求15所述,是一个程序,在一个多任务系统中用来选择地执行多个任务的其中之一,用来使系统执行:确定处理,用于根据每个任务所需的资源数量确定每个任务的可执行性,任务选择处理,用于根据确定手段的确定结果选择构成一个执行对象的任务,还包括所需资源数量信息获取处理,用于获取至少一些任务中指定的保证部分和可控制部分的所需资源数量信息,其中,在确定处理中,确定通过实质上在一定的可控制部分范围内更新至少一些被调度的任务的处理级别而被执行,并且在任务选择处理中,选择被使用被确定为可执行的处理级别来执行。根据第十五个发明,能够达到和第一个发明相同的效果。

通过第十六个发明,涉及本发明中任务管理方法的一个程序还包括所需资源数量信息存储手段,用于存储修改任务处理级别之前和之后所需资源数量,而在第十七个发明中提供了一个保证对象标识符,用于标识一个任务中的保证部分和可控制部分。如果第十八个发明包括一个顺序标识符,用于标识包含在一个任务中的多个可控制部分的顺序,就可以把一个要执行的程序和程序中包含的各种任务信息作为一个集合来处理。

同样,在第十九个发明中,如果一个与本发明中的任务管理方法相关使用的程序还包括保证对象标识符,以使得一个规定的主任务被系统识别为一个保证部分,并且使得构成主任务的执行条件的从任务被系统识别为一个可控制部分,由于能够利用主/从任务标识符,把多个包含主/从关系的任务作为保证部分和可控制部分同时处理,因此可以使用一个公共的算法来执行对任务内的可控制部分的处理和任务间的主/从关系的处理。另一方面,如第二十个发明那样,可以提供一个主/从任务标识符而不是保证对象标识符来用于主/从关系的处理。

第二十一个发明,如权利要求21所述,是一个操作确定设备,用于确定在一个系统中的包括多个任务的程序的可执行性,包括结构信息获取装置,用于获得构成确定对象程序的任务的信息作为结构信息,功能提取装置,用于根据结构信息提取能够通过同时执行而作为单一功能的任务的组合,所需资源数量信息获取装置,用于获得执行各个任务所需的资源数量信息,以及确定装置,用于根据提取的任务组合和所需资源数量信息来确定关于对象确定程序具有的所有功能的可执行性。

通过第二十一个发明,确定对象程序的结构信息,也就是涉及任务间联系的信息,以及每个任务的所需资源数量信息被获得,并且在这些信息的基础上功能提取装置提取可以通过同时执行而作为单个功能的任务的组合。然后,根据被提取的任务组合和所需资源数量信息,确定装置确定关于对象确定程序具有的所有功能的可执行性,因此,通过第二十一个发明,由于不实际执行一个确定对象程序的操作就能够确定它的可执行性,因此可执行性的确定得到加速。

第二十二个发明,如权利要求22所述,是如权利要求21所述的操作确定设备,还包括所需资源数量修正装置,用来修正那些多个任务中的所需资源数量可控制和可变的任务的所需资源数量,其中,当确定不可执行时,确定装置还根据提取的任务组合和修正后的所需资源数量确定被确定对象程序拥有的所有功能的可执行性。

通过第二十二个发明,当确定装置的确定为不可执行时,则所需资源数量修正装置修正可变任务的所需资源数量,并且还根据修正后的所需资源数量确定可执行性。因此,即使一度确定了不可执行,一旦作为稍微改变服务质量的结果,被确定为可执行,就能够由于这种类型的改变的实现而减少操作证实的处理数量。

第二十三个发明,如权利要求23所述,是根据权利要求21所述的操作确定设备,其中确定装置当多个确定对象程序在系统中并行执行时确定可执行性。

通过第二十三个发明,由于当多个确定对象程序被并行执行时能够确定可执行性,因此能够在确定对象程序执行时获得良好的外部条件的可重复性,并且能够实现准确的操作确定。

第二十四个发明,如权利要求24所述,是一个操作确定方法,用于确定在一个系统中的包括多个任务的程序的可执行性,包括结构信息获取步骤,用于获得组成确定对象程序的任务的信息作为结构信息,功能提取步骤,用于根据结构信息提取可以通过同时执行而作为单一功能的任务的组合,所需资源数量信息获取步骤,用于获得各个任务的执行所需的资源数量,以及确定步骤,用于根据提取任务组合和所需资源数量信息来确定关于对象确定程序具有的所有功能的可执行性。通过第二十四个发明,可获得和第二十一个发明相同的效果。

第二十五个发明,如权利要求25所述,是根据权利要求24所述的操作确定方法,还包括一个所需资源数量修正步骤,用于修正多个任务中可控制和可变的所需资源数量,并且其中,在确定步骤中,当确定不可执行时,还根据提取的任务组合和修改后的所需资源数量确定被确定对象程序拥有的所有功能的可执行性。通过第二十五个发明,可获得和第二十二个发明相同的效果。

第二十六个发明,如权利要求26所述,是一个根据权利要求24的操作确定方法,其中在确定步骤中,当多个确定对象程序在系统中被并行执行时确定可执行性。通过第二十六个发明,可获得和第二十三个发明相同的效果。

第二十七个发明,如权利要求27所述,是一个操作确定程序,用于确定在系统中的包括多个任务的程序的可执行性,用于引起在一个计算机上执行:结构信息获取处理,用于获得构成一个确定对象程序的任务的信息作为结构信息,功能提取处理,用于根据上述结构信息提取可以通过同时执行而作为单一功能的任务的组合,所需资源数量信息获取处理,用于获取各个任务的执行所需的资源数量,以及确定处理,用于根据提取的任务组合和所需资源数量信息来确定关于对象确定程序具有的所有功能的可执行性。通过第二十七个发明,能够获得和第二十一个发明相同的效果。

通过第二十八个发明,与本发明中的任务管理设备相关使用的一个程序,还包括结构信息存储手段,用于存储确定对象程序的结构信息。而在第二十九个发明中,如果被提供所需资源数量信息存储装置,用于存储关于每个功能的执行所需的资源数量的信息,就能够将要执行的确定对象程序和程序中包含的任务信息作为一个集合来处理。

附图说明

图1是关于本发明第一个实施例的多任务系统的方块图。

图2是表示任务管理表的说明图。

图3是说明第一个实施例的任务接收处理的方块图。

图4是表示本发明操作的说明图。

图5是表示第一实施例操作的说明图。

图6是表示第一实施例的图像显示处理的方块图。

图7是表示第二实施例中最后期限修改接收处理的方块图。

图8是表示第三实施例中周期修改接收处理的方块图。

图9是表示本发明作出改进前的任务接收处理的一个例子的说明图。

图10表示本发明作出改进前的任务接收处理的另外一个例子的说明图。

图11是涉及本发明第四实施例的一个操作确定设备的方块图。

图12是表示任务管理表的一个例子的说明图。

图13是表示关于第四实施例的一个任务结构的例子的树状图。

图14是表示关于第四实施例的操作确定处理的方块图。

图15是表示关于第五实施例的操作确定处理的方块图。

实现本发明的优选实施例

下面将参照附图描述本发明的各个实施例。

第一实施例

在图1中,本发明一个实施例的多任务系统包括一个CPU 2,定时器3,存储设备4,例如硬盘等,存贮器5,网络11,以及构成与网络11的接口的网络控制器6。CPU 2,定时器3,存储设备4,存贮器5和网络控制器6通过一条内部总线7连接。

定时器3重复计时直到一个设置的特定时间为止,还能够通过每隔设定时间中断CPU 2来通知CPU 2特定时间已过去。任务程序等存储在存储设备4中,存贮器5根据需要被读取。

在实现本发明的任务管理功能中,CPU的控制是必需的。为了达到这点,必须将一个任务管理结合到OS(操作系统)中。因此,后面将介绍的由CPU 2执行的用来存储引起任务接收处理的任务接收程序的任务接收程序存储部分8,以及用来存储被CPU 2执行的引起任务执行处理的任务执行程序的任务执行程序存储部分9,这两部分存在于OS被加载的存贮器的一区域中。通过将这些程序从存储设备4中加载到存储部分8和9中,本发明的任务管理功能就被结合到OS中。

CPU的使用时间被用作本实施例的资源数量。作为本发明的资源数量,还可以选择性地使用除CPU 2外的设备,例如存储设备4,存贮器5或者未示出的视频存贮器等的所有使用时间或者存储容量,网络通信速度,网络服务器存储容量,存贮器容量,或者为了执行一个指定任务需要的硬件资源或软件资源。根据功能或任务类型可使用不同的资源数量。例如,在任务涉及数据读取的情况下,资源数量可以是硬盘存储容量及存贮器的容量和使用时间,在任务涉及信号处理的情况下,资源数量可以是CPU 2的使用时间及存贮器的使用时间和存储容量,而在任务涉及图像输出的情况下,资源数量可以是CPU 2的使用时间、存贮器的使用时间和存储容量、以及视频存贮器的使用时间和存储容量。

在本实施例中,对于每个任务预先设置保证部分和可控制部分。例如,在任务是音频重放程序的情况下,保证部分是涉及解码处理的处理部分,而可控制部分是涉及为获得高质量声音的补充处理的处理部分。

同样,当任务是MPEG活动图像重放程序的情况下,保证部分是和图像间1/15秒的帧速率相应的处理部分,而可控制部分是和图像间1/30秒的帧速率相应的处理部分。如果任务是静止图像或者活动图像重放系统,可以通过将和人眼能忍受的最低分辨率相应的处理部分设为保证部分,而将和更高分辨率相应的部分设为可控制部分来调整分辨率。

此外,如果应用程序是一个网络浏览器,保证部分是与网络超时期内用于分组通信间隔的通信速率相应的处理部分,而可控制部分是与例如用于更高通信速率的通信速率(分组大小/吞吐量)相应的处理部分。

关于本实施例的应用程序,每个任务的保证部分程序状态和可控制部分程序状态各自单独描述,且一个特定的保证对象标志附到保证部分存贮器地址上作为本发明的保证对象标识符。

每个任务的保证部分,也就是为保证较低限度分配的资源数量,通过一个将要执行于其中的硬件或软件环境的调度程序的时间测量功能来测量。确切地说,从对象执行的开始直到结束,在每一个分配周期,通过测量每个资源用到的时间,较低限度保证的资源数量被预先测量。此外,每个任务的最后期限可以这样测量,在每个分配的周期内向后改变处理的执行开始定时,然后测量窗口周期直到质量不再得到满足为止。通过从每个任务的使用最高处理质量执行处理的同时使用同样的调度程序而测量的值中减去保证部分的测量值,还可以为可控制部分计算资源数量,这些资源数量信息项还可以通过在系统上实际执行这些测量获得,或者直接使用从应用程序厂商获得的指定值。

此外,为了管理需要实时处理的任务,也就是需要低延迟时间的任务(下面这种任务将被称为需要延迟保证的任务),一个用于存储每个这些任务的信息的任务管理表10存在于存贮器5中。

图2示出了任务管理表10的一个例子。任务管理表10由一个任务信息管理表21和一个任务执行管理表22组成。

任务信息管理表21是一个用来管理与通过任务接收处理接收到的需要延迟保证的任务相关的信息的表,将在下面进行具体描述。

存储在该任务信息管理表21中的信息包括任务标识符ID,任务指针P,周期,S,保证部分处理时间G,可控制部分处理时间C和最后期限H分别存储在任务标识符存储部分21a,任务指针存储部分21b,周期存储部分21c,保证部分处理时间存储部分21d,可控制部分处理时间存储部分21e及允许延迟时间存储部分21f中,而且这些信息项对于每个任务分别存储。

图2以一个水平行示出了涉及一个任务的信息。

任务标识符ID标识每个任务,而任务指针P表示每个任务程序在存储设备4或者存贮器5中的位置。周期S是从每个任务的执行开始的时间点到下一次执行开始的时间点之间的时间,而且如果一个特定的任务被执行,则该任务在设定周期S内不允许重新执行。

保证部分处理时间G是本发明中保证部分的所需资源数量,并且是每个任务的保证部分的执行所需要的处理时间。可控制部分处理时间C是本发明中可控制部分的所需资源数量,并且是每个任务的可控制部分的执行所需要的处理时间。保证部分处理时间G和可控制部分处理时间C是预先设定的样本值,这意味着有时实际任务可能在这些值之前完成。

最后期限H是一个允许的时间,使得如果在该时间内完成处理,则质量可以被满足,并且H被设置在周期S表示的时间之内。在对于一个特定的任务发生一事件的情况下,如果从先前的执行开始的时间点开始共用的时间超过了周期S,或者如果任务处理被中断,则该任务中发生了延迟。这种类型的延迟的发生意味着允许的延迟时间H已经用尽。因此必须在该允许的延迟时间彻底用尽之前完成任务处理。

周期S,保证部分处理时间G,可控制部分处理时间C和最后期限H,这些参数在一个需要该任务被调度的应用程序中预先保存,作为通过外部于该应用介质的存储介质或者网络的安装的结果存储在存储设备4中,然后作为系统调用的结果传输到OS中,这些后面将详细描述。如果允许接收,这些参数将存储在任务管理信息表21中,且附有任务标识符ID3。

任务执行管理表22是用来管理接收任务的表,也就是在任务信息管理表中登记的任务执行时用到的信息。作为任务执行管理表22中存储的信息,有任务标识符ID,执行识别标志F和一个部分执行标志FP,对于每个任务,这些信息项分别存储在任务标识符存储部分22c,执行识别标志存储部分22b和部分执行标志存储部分22c中。

执行识别标志F用来标识一个正在被执行或者执行已被中断的任务。该执行识别标志在每个任务进入被执行或者执行已被中断的状态时被置位(例如,为“1”),当任务执行结束时被复位(例如,为“0”)。

部分执行标志FP用来标识执行对象只是保证部分的任务。该部分执行标志FP在每个任务只是保证部分时被置位(例如,为“1”),当每个任务的执行对象包括保证部分和可控制部分时被复位(例如,为“0”)。

接下来,利用图3描述用于延迟保证所需要的任务接收处理。例如,如果需要的资源数量为r1,r2,r3,保证部分相关的所需资源数量为r1a,r2a,r3a,可控制部分相关的所需资源数量为r1b,r2b,r3b,而且对于任务A1,A2,A3预先设置最后期限H1,H2,H3,任务A1和A2设置为已被调度。然后,如果由于一个应用程序的系统调用需要一个新任务Aw的调度,则CPU 2根据存储在任务接收程序存储部分8的程序预先执行下述的处理。

在图3中,首先CPU 2读取系统的现有资源数量,已经接收到的已调度任务A1和A2的保证部分和可控制部分各自的所需资源数量,以及新任务A3的保证部分和可控制部分各自的所需资源数量(S1)。已调度任务A1和A2各自的所需资源数量根据在任务信息管理表21中登记的信息从任务管理表10中被提取。此外,新任务A3各自所需资源数量随着系统调用一起输入,而且存储在存贮器5的特定区域。

接下来,根据每个任务的最后期限H1,H2,H3,这些都是外部条件,确定是否已调度任务A1、A2和新需要调度的任务A3的所有保证部分和可控制部分(所需资源数量为r1+r2+r3)能够执行。(S2)

如果S2中确定为可执行,则任务A1,A2和A3的保证部分和可控制部分被选作执行对象,并且登记在任务信息管理表21中。(S3)

另一方面,在一些情况下,例如如附图5(a)所示的例子中,当假如任务A1,A2和A3的保证部分和可控制部分的被顺序执行时,则任务A3的最后期限H3得不到满足且产生延迟时间,那么步骤S2中确定为不可执行,接着作为所有需要的任务的保证部分的所需资源数量,每个任务的保证部分处理时间G的总和与每个任务的最后期限H1,H2和H3比较以确定是否所有任务(附图5(b),所需资源数量r1a+r2a+r3a)可执行。(S4)。

如果确定为可执行,则所有任务只有保证部分被选作执行对象,然后登记到任务信息管理表21(S5)。确切地说,如果所请求的新任务A3和已接收任务A1和A2的延迟保证是可能的,就允许接收,任务A1,A2和A3的任务标识符ID1,ID2和ID3以及代表只有保证部分为执行对象的部分执行标志FP被写入存贮器5中的任务管理表10,然后代表只有保证部分被接收为执行对象的指示返回到应用程序,且接收处理结束。

当在步骤S4中确定为不可执行时,新任务不能被调度,表示不能登记的信号将被输出(S6),而且一个不可接收指示被通知给应用侧。作为该应用处理的结果,一个登记新任务不可行的指示通过一个显示设备上的测试信息被提供给用户,图中未示出,且用户可以通过关闭不必要的应用等作出回应。

作为上述处理的结果,任务A1,A2和A3各自满足了最后期限H1,H2和H3,只有保证部分的资源分配可靠地执行。每个任务的执行开始定时通过系统调度器控制,这意味着,例如,当一个任务涉及活动图像显示时,如果有例如读取帧(S11),帧输出(S12)每个功能的结构,则该任务是充分的,如图6所示,并且不必要在应用程序侧对每个任务使用定时器进行执行定时。

如上所述,通过第一实施例,任务A1,A2和A3被分为保证部分和可控制部分,而后者作为可以控制的部分被处理,其可以根据情况被删除。确切地说,通过本实施例,加上通过新近需要调度的任务A3确定的可执行性,同时在包括可控制部分和不包括可控制部分两种情况之间实际改变已调度任务A1和A2的处理级别,采用可执行性和确定的处理级别完成任务A1,A2和A3的选择以构造确定对象。因此,通过本实施例,能够通过调整已调度任务A1和A2的质量来执行新近要求调度的任务A3的接收,而且还可能同时保证任务延迟和有效的任务执行。

此外,通过本实施例,由于确定处理和质量调整通过添加或者删除可控制部分来完成,因此能够通过一个简单的结构来获得本发明中欲达到的效果。

通过本实施例,由于对所有的已调度任务A1、A2和要求调度的任务A3实现任务处理级别的实质改变,能够允许所需资源数量的大的变化。

此外,由于通过本实施例能够使用保证对象标识符选择构成执行对象的任务,因此能够使用简单的结构获得本发明中欲达到的效果。

通过本实施例,详细描述了用来对于每个任务选择优先级的结构,而没有特殊地考虑该优先级,但是每个任务还可以根据一个指定的优先级被登记(例如,当任务的所需处理时间及允许的延迟时间的总和变大时降低优先级,或者使高优先级任务的所需处理时间必须在低优先级任务的允许延迟时间内)。

第二实施例

接下来将要介绍第二实施例。通过上述的第一实施例,当有请求改变组成处理对象的任务数量时,在实际改变所需资源数量的同时确定可执行性。然而,即使没有任务数改变的请求,例如,在电影或者音频素材的快进中,可能会有期望所需资源数量变化的情况,且在这种情况下最好在完成本发明的确定的同时实现可执行性的确定,也就是说,实际上修改了所需资源数量。第二实施例在有请求修改至少一些任务的参数的情况下进行这种确定,尤其是最后期限修改请求。而且对于第二实施例,多任务系统的结构和第一实施例中的相同,所以该多任务系统的描述将被省略。

在任务A1,A2和A3的执行过程中,例如,任务A3的最后期限修改(例如,从参考值中减去一个指定值)作为一个应用程序的系统调用结果被请求,则CPU 2根据一个存储在任务接收程序存储部分8中的程序进行下述处理。

在图7中,首先CPU 2读取现有系统资源数量,执行中的任务A1,A2和A3的最后期限,还有保证部分和可控制部分各自的所需资源数量(S21)。

接下来,确定对于现有的所需资源数量,最后期限是否能够改变,该确定基于比较当最后期限实际得到改变时任务A1,A2和A3的所需资源数量(包括保证部分和可控制部分)和每个任务的(修改后的)最后期限,这些都是外部条件(S22)。

如果步骤S22确定为可以执行,那么任务A3的最后期限被采用现有的所需资源设置(也就是,任务A1,A2和A3的保证部分和可控制部分被选的情况)而修改,然后登记到任务信息管理表21(S23)。

另一方面,如果步骤S22确定为不可执行,接下来,为了在可控制部分范围内减少所需资源数量设置(也就是,只有保证部分的所需资源数量),确定是否可以根据该情况下的优化计算和每个任务的最后期限(修改后的)的比较来修改最后期限(S24)。

如果确定为可以执行,则采用减少后的所需资源数量设置(也就是,所有任务只有保证部分被选作执行对象),并且最后期限在这种状态下被修改且登记到任务信息管理表(S25)。确切地说,在所请求的最后期限修改完成的情况下,当确定可以得到任务A1,A2和A3的延迟保证时就允许接收,任务A1,A2和A3各自的任务标识符ID1,ID2和ID3及表示只有保证部分为执行对象的部分执行标志FP被写入到存贮器5中的任务管理表10,在只有保证部分可以接收为执行对象的指示返回到该应用后,接收过程结束。

如果步骤S24确定为不可执行,则这是最后期限不能得到修改的情况,并且输出一个表示该事实的不可修改信号(S26),而且不可接收的事实被通知到应用侧。作为应用处理的结果,最后期限不可修改的事实通过一个显示设备上的文本消息呈现给用户,这在图中没有示出,用户通过例如关闭不必要的应用来处理该情况。

作为上述处理的结果,任务A1,A2和A3各自满足了修改后的最后期限,并且只有保证部分的资源分配被可靠地执行。因此,通过第二实施例,和第一实施例类似,能够通过调整任务A1,A2和A3的质量连续执行最后期限修改,而且能够同时保证任务延迟和有效的任务执行。

第三实施例

接下来,将要介绍第三个实施例。和第二实施例类似,第三实施例响应一个参数修改请求完成可执行性的确定,并且适用于该参数是周期修改请求的情况。同样,第三实施例中,多任务系统的结构和第一实施例中的相同,所以省略对该多任务系统的描述。

在任务A1,A2和A3的执行过程中,例如,如果任务A3的周期修改(例如,从参考值中减去一个特定值)作为来自一个应用的系统调用的结果被请求,则CPU 2根据存储在任务接收程序存储部分8中的程序进行下述的处理。

在图8中,首先CPU 2读取现有系统资源数量,执行中的任务A1,A2和A3的周期,还有保证部分和可控制部分各自的所需资源数量(S31)。

接下来,确定对于现有资源数量,该周期改变是否可行,该确定基于比较最后期限实际得到修改后的任务A1,A2和A3的所需资源数量(包括保证部分和可控制部分)和每个任务的(修改后的)执行周期(S32)。

如果步骤S32中确定为可以执行,则任务A3的周期被采用现有的资源数量设置(也就是,任务A1,A2和A3的保证部分和可控制部分都被选择的情况)而修改,然后登记在任务信息管理表21中(S33)。

另一方面,如果步骤32中确定为不可执行,接下来,为了所需资源数量的设置在可控制部分的范围内被减少(也就是,只有保证部分的所需资源数量),确定是否可以根据该情况下的优化计算和每个任务的执行最后期限(修改后的)的比较来修改周期(S34)。

如果确定为可以执行,则采用减少后的所需资源数量设置(也就是,所有任务只有保证部分被选为执行对象),并且在这种情况下周期被修改且登记到任务信息管理表(S35)。确切地说,在所请求的周期修改被完成的情况下,当确定可以得到任务A1,A2和A3的延迟保证时就允许接收,任务A1,A2和A3各自的任务标识符ID1,ID2和ID3,及表示只有保证部分为执行对象的部分执行标志FP被写入到存贮器5中的任务管理表10,当只有保证部分可以接收为执行对象的指示返回到该应用后,接收处理结束。

如果步骤S34确定为不可执行,则这是周期不能修改的情况,并且一个表示该事实的不可修改信号被输出(S36),而且不能接收的事实被通知到应用侧。作为应用处理的结果,周期不可修改的事实通过显示设备上的文本消息呈现给用户,这在图中没有示出,用户通过例如关闭不必要的应用来处理该情况。

作为上述处理的结果,任务A1,A2和A3各自满足了修改后的周期,并且只有保证部分的资源分配被可靠地执行。因此,通过第三实施例,和第二实施例类似,能够通过调整任务A1,A2和A3的质量连续执行周期修改,并且可以同时保证任务延迟和有效的任务执行。

通过上述每一个实施例,其结构使得每个任务中至少有一个可控制部分,所需资源数量根据该任务的保证部分是否有增加分而改变。在这种情况下,优选地,在多个可控制部分中相互设置(分配)一个选择顺序,然后根据该选择顺序在多个可控制部分中选择。特别地,最好在和每个任务的程序语句分别相关的部分中附上一个指定的顺序标识符(例如,一个指定的顺序标志),目的是在多个可控制部分中标识选择顺序,并且存储用于这些可控制部分的所需资源数量,而且接着在操作时根据该选择标识符所代表的选择顺序,选择确定对象任务的可控制部分,然后在修改选择对象的同时(在修改所选择的可控制部分的数量的同时)完成该选择和确定的试验。采用这种结构,能够通过重复可执行性的确定来精细地调整任务的所需资源数量,同时通过从相对于该操作具有低重要性的部分中删除处理对象来逐步减少处理数量,从而能够有效地利用系统资源数量。

此外,根据第一到第三实施例,通过增加或者减少使用任务内的可控制部分来调整了所需资源数量,但是这种类型的所需资源数量调整还可以应用到多个任务中操作的调整,这些任务相互有执行顺序的依赖性或者有主/从关系。

确切地说,如果有一个指定的主任务和从任务,对于从任务,主任务的执行是执行条件,与用在上述第一实施例中的类似的保证对象标志被附加到整个主任务,而从任务配置为没有附加上保证对象标志。通过这种类型的主任务和从任务,当上述第一实施例中的任务接收程序照原样执行时,整个主任务被设为保证部分,整个从任务被设为可控制部分,并且在系统中分别确认。结果,当资源数量有富余时,主任务和从任务都被执行,而当资源数量没有富余时,则只有主任务被执行,通过这种方式,能够使用一个公共的算法执行任务内的可控制部分的处理和任务间的主/从关系的处理,而且由于可以将主任务和从任务一起作为单一的任务来处理,因而还可以节约任务数。

代替在任务内为标识保证部分和可控制部分而这样使用的保证对象标志作为保证对象标识符的结构,还可以提供采用一个指定的主/从标识符(例如,一个主/从标志),用来在主任务和从任务之一或两者中标识主任务和从任务,而且对于一个任务接收程序,可以作为保证部分处理主任务并且作为可控制部分处理从任务,这样可以获得相同的效果。

通过第十二个发明,一个关于本发明的任务管理设备的所采用的程序被提供有所需资源数量信息存储手段,用来存储任务处理级别修改前后的所需资源数量,而在第十三个发明中,提供了一个保证对象标识符来标识一个任务的保证部分和可控制部分。如果像在第十八个发明中那样,提供一个顺序标识符来标识一个任务中的多个可控制部分的顺序,则能够作为一个集合来处理要执行的程序和该程序中包括的各种任务信息。

此外,在第十五个发明中,如果一个关于本发明的任务管理设备的所采用的程序被提供有一个保证对象标识符,使得指定的主任务被系统识别为保证部分,且使得构成主任务的执行条件的从任务被系统识别为可控制部分,由于使用一个主/从任务识别符可以作为保证部分和可控制部分一起处理具有主/从关系的多个任务,因此可以使用一个公共的算法执行任务内的可控制部分的处理和任务间的主/从关系处理。另一方面,像在第十六个发明中那样,代替保证对象标识符,可以提供一个主/从任务标识符来处理主/从关系。

通过任何一个上述实施例,其结构使得通过实际上删除整个可控制部分来调整处理数量,但是相反地,还可以有一种结构使得资源数量有富余时(确切地说,在当前可以提供的资源数量和所需资源总数之间的差超过一个指定值时)向所有任务加入可增加处理质量的另外的可控制部分。此外,尽管通过任何一个上述实施例的描述所给出的结构中,任务处理的质量响应资源数量有或没有富余而逐步地增加或减少,本发明中的处理质量的改变还可以在一些任务中执行,并且也可以通过这种结构获得本发明欲达到的效果。

此外,通过任何一个上述实施例,由于所有任务的处理质量被改变,有一个好处是可以允许所需资源数量的大的变化,但是本发明中的处理质量改变还可以对一些任务执行,并且也可以通过这种结构获得本发明欲达到的效果。

此外,本发明的任务接收程序可以配置为一个程序,在一个多任务系统中用于选择性地执行多个任务的其中之一,该程序使得系统执行:确定处理,用于根据每个任务的所需资源数量来确定每个任务的可执行性,以及任务选择处理,用于根据确定手段的确定结果选择组成执行对象的任务,还包括所需资源数量信息获取处理,用于获取至少一些任务中指定的保证部分和可控制部分的所需资源数量信息,其中,在确定处理中,确定处理通过实际上在可控制部分的范围内更新至少一些已调度任务的处理级别而被执行,并且在任务选择处理中,选择被采用确定为可执行的处理级别执行。如果程序存储在一个已知的存储设备如CD-ROM,或者可以通过从网络下载来安装,可以获得本发明欲达到的效果。

第四实施例

在上述任何一个实施例中,本发明的任务管理设备通过赋予多任务系统一个任务管理功能来实现。在后面的实施例中,将要描述到本发明的任务管理设备通过赋予多任务系统一个操作确定功能来实现。

在图11中,本发明实施例的多任务系统31包括CPU 2,定时器3,存储设备4,如硬盘等,存贮器5,网络11,还有构成和网络11的接口的网络控制器6。CPU 2,定时器3,存储设备4,存贮器5和网络控制器6通过内部总线7连接。

定时器3重复计时直到一个设定的特定时间为止,还能够通过每隔设定时间中断CPU 2来通知CPU 2特定时间已过去。一个确定对象程序等存储在存储设备4中作为一个任务程序,还有本发明的操作确定程序,存贮器5根据需要被读取。

存贮器5包括一个任务管理表32,用于存储每个任务的信息,以便管理需要延迟保证的任务。

图12示出了任务管理表32的一个例子。任务管理表32由一个任务信息管理表34和一个结构信息管理表35组成。

任务信息管理表34是用来管理关于需要延迟保证的任务的信息的表。存储在该任务信息管理表34中的信息包括任务标识符ID,任务指针P,周期,S,所需处理时间T及保证和最后期限H,分别存储在任务标识符存储部分34a,任务指针存储部分34b,周期存储部分34c,所需处理时间存储部分34d,允许延迟时间存储部分21f中,而且每个任务的这些信息项被分别存储。图12在一水平行中示出了关于一个任务的信息。

任务标识符ID标识每个任务,而任务指针P指示每个任务程序在存储设备4或存贮器5中的位置。周期S是从每个任务的执行开始的时间点到下一次执行开始的时间点之间的时间,而且如果一个特定任务被执行,则该任务在设定周期S内不允许重新执行。

所需处理时间T是每个任务执行所需的处理时间,而且构成了本发明的所需资源数量。所需处理时间T是预先设定的一个样本值,这意味着有时实际的任务会在这些值之前完成。

最后期限H是一个允许的时间,使得如果处理在该时间内完成,则质量被满足,且H被设置在周期S代表的时间范围内。在对于一个特定任务发生一事件的情况下,如果从先前的执行开始的时间点开始共用的时间超过了周期S,或者如果任务处理被中断,则该任务中发生了延迟。这种延迟的出现意味着允许延迟时间H已经用尽。这样就有必要在该允许延迟时间彻底用尽之前完成任务处理。

每一项信息,周期S,所需处理时间T,最后期限H作为数据被预先保存在包含这个任务的应用程序中,作为通过外部于该应用介质的存储介质或者网络的安装的结果存储在存储设备4中,并且作为一个操作确定请求系统调用的结果传输到OS中,这些在后面还要描述,然后存储到任务信息管理表34中并且附上一个任务标识符ID。

结构信息管理表35包括该应用的结构信息,也就是说,关于该应用的每个任务的相互关系的信息。确切地说,结构信息管理表35包括一个基本任务标识符部分35a和一个假定的任务标识符部分35b,分别存储特定任务(此后称为任意参考任务)的任务标识符ID和一个组成执行的假设的任务(此后称为任意假定任务)的任务标识符。

例如,如图13所示,一个组成操作确定的对象的应用由任务1-5组成,并且如果假定任务2和4的执行根据任务1的执行结束而开始,任务3的执行根据任务2的执行结束而开始,且任务5的执行根据任务4的执行结束而开始,则结构信息管理表35的内容将会如图12所示。通过对于所有假定任务增加所需处理时间T,同时对于所有把假定任务作为参考任务的假定任务的所需处理时间使用该结构信息管理表35,可以彻底地提取出可以同时执行的所有任务。存贮器5中还提供一个资源数量信息存储部分以便管理用于应用的使用环境的资源数量信息。该资源数量信息维持用于操作确定的应用被安装为虚拟信息的环境的资源数量,而且被预先存储到存储部分4中,并且从适当的存贮器5中读取。

当应用的使用环境(硬件环境或软件环境)已经存在时,资源数量信息通过使用环境的实际测量预先获得。此外,如果使用环境不存在,则原样采用该使用环境的每个硬件或软件提供者提供的原始值。

作为本实施例的资源数量,使用环境中的CPU 2的使用时间被采用。作为本发明的资源数量,还可以选择性地使用除了CPU以外的设备的所有使用时间或存储容量例如存储设备,存贮器或者未示出的视频存贮器,网络通信速度,网络服务器存储容量,存贮器容量,或者为执行特定任务所需的硬件资源或软件资源。资源数量还可以根据任务或者功能的类型有所不同,例如,在任务涉及数据读取的情况下,资源数量可以为硬件存储容量,存贮器的使用时间和容量,在任务涉及信号处理的情况下,资源数量可以是CPU使用时间,及存贮器的使用时间和存储容量,而在任务涉及图像输出时,资源数量可以是CPU使用时间,存贮器的使用时间和存储容量,及视频存贮器的使用时间和存储容量。

现在参考图14介绍本实施例的操作确定处理。如果一个应用的操作确定请求被输入,则CPU 2根据存储在操作确定程序存储部分8中的操作确定程序执行下述处理。

首先,所需资源数量信息(此处为所需处理时间T)和应用的结构信息分别从任务信息管理表34和结构信息管理表35中读取(S41)。执行环境的资源环境信息也从资源信息存储部分中读出(S42)。

接下来,步骤S41中读出的应用的结构信息,根据每个任务的所需资源信息的作为同时执行的结果而组成单一功能的所获得的任务组合被提取(S43)。通过上述图13的示例,任务2和任务4,任务3和任务5,作为同时执行的结果被提取为单一功能任务。

接下,通过比较步骤S42中读出的资源数量信息来确定所有提取的组合是否能够执行(S44)。确切地说,对于所有提取的组合,完成执行环境的负载测量和QoS估算,如果负载低于一个特定参考值并且QoS高于一个特定参考值,则确定可以执行,否则确定为不可执行。

步骤S44的确定结果,当确定为可以执行(S45)或者当确定为不可执行(S46)时,返回至该应用且处理结束。根据S45或S46的输出,使用特定的显示处理在一个显示设备(未示出)上显示适当的文本消息。

如上所述,通过第四实施例,作为确定对象程序的应用的结构信息,也就是和关于应用的任务间的联系(执行顺序或者执行定时)的信息,还有每个任务的所需资源数量信息被获得,而且根据这些信息,可执行的单一功能的任务组合可以通过同时执行被提取。接着,根据提取组合和所需资源数量确定所有提取的组合的可执行性(也就是,该应用拥有的所有功能的可执行性)。因此,通过本实施例,由于不实际执行应用程序的操作就可确定其可执行性,因而可执行性的确定可以被加速。

此外,通过本实施例,由于应用包括结构信息和每个任务执行所需的资源数量信息,因此能够处理应用中包含的作为一个组合执行的各种任务的信息。

第五实施例

接下来将要描述第五实施例。对于上述的第四实施例,如果步骤S44的处理结果为不可执行,则会有指示该事实的输出,但是对于第五实施例,在确定为不可执行的情况下,处理数量被修改且再次进行确定。第五实施例的系统硬件结构和上述第四实施例的相同,因此其描述被忽略。

通过第五实施例,每个任务的保证部分和可控制部分预先被设定。例如,在任务为音频重放程序的情况下,保证部分是涉及解码处理的处理部分,而可控制部分是涉及为获得高质量声音的补充处理的处理部分。

此外,在任务为MPEG活动图像重放程序的情况下,保证部分为与图像间1/15秒的帧速率相应的处理部分,并且可控制部分为与图像间1/30秒的帧速率相应的处理部分。如果任务为静止图像或者活动图像重放程序,通过把与肉眼可以忍受的最低分辨率相关的处理部分设为保证部分,把和更高分辨率相关的处理部分设为可控制部分,从而能够调整分辨率。

此外,如果应用为网络浏览器,则保证部分是与网络超时期内的用于分组通信间隔的通信速率相关的处理部分,而可控制部分是与例如用于更高通信速率(分组大小/吞吐量)的通信速率相关的处理部分。通过本实施例的应用程序,每个任务的保证部分程序语句和可控制部分程序语句相互独立地被描述,而且在保证部分存贮地址处附上一个特定保证对象标志作为保证对象标识符。该保证对象标识符在执行应用时被用于提取保证部分,对于当执行时服务质量设置作为步骤S57的处理结果被改变时的改变设置,下面将作介绍。

此外,每个任务的保证部分的资源数量,也就是保证较低限制分配的资源数量,被使用应用执行于其中的或通过仿真器仿真的硬件或软件环境的调度程序的时间测量功能来测量。确切地说,通过测量在从对象处理执行的开始到结束的每个分配的周期内每个资源使用的时间,在较低限度下保证的资源数量预先被测量。此外,每个任务的最后期限可以这样测量,在每个指定的周期内向后改变处理的执行开始定时,然后测量窗口周期直到质量不再得到满足为止。对于每个任务,通过从使用同样的调度功能而在达到最高处理质量时测量的值中减去一个保证部分的测量值,还可以计算可控制部分的资源数量。这些项资源数量信息还可以通过这种试验和在系统中实际执行这些测量而获得,或者直接使用从应用程序厂商获得的指定值。

图15示出了关于第五实施例的操作确定处理。在图15中,步骤S51到S55的处理和上述第四实施例中的步骤S41到S45相同。

当在S54中有否定的判定时,确切地说,当对于所有提取的任务组合(也就是,所有的通过同时执行获得单一功能的任务组合),作为进行运行环境的负载测量和QoS估算的结果,确定为一个任务的存在会导致负载高于一个特定参考值或者QoS低于一个特定参考值,然后,对于那些类型的任务组合,根据组成确定对象的任务组合中是否有可控制部分,完成关于服务质量的改变是否可能的确定。

当该确定结果是能够改变服务质量时,也就是,在组成确定对象的任务组合中有一个包含可控制部分的任务,则使得服务质量能够改变的资源信息被修改和重新设定(S57)。确切地说,对于组成确定对象的任务组中包含可控制部分的任务,可控制部分实际上被排除在处理对象之外的设置,并且该事实,例如通过在存贮器5的特定存储区域存储一个特定标志而被指示。

接着,对于将可控制部分排除在包含可控制部分的任务之外的设定,根据修正后的所需资源量再次确定该任务组的可执行性(S54),如果确定为可以执行则处理进行到步骤S55。当,例如,步骤S57中多个任务有可控制部分时,通过以指定的优先级顺序依次地选择构成修正的主体的一些任务,步骤S53,S54,S56和S57中的各个处理可以被反复多次执行。

如果步骤S56的确定为否定,也就是,当确定特定的任务组合不能执行而且服务质量没有改变(调整,删除)的余地时,这一事实被返回到应用(S58),然后处理结束。根据S55或S56的输出,适当的文本消息使用特定显示处理在显示设备(未示出)上显示,这一点和前述的第四实施例相同。

如上所述,通过第五实施例,对于一些由多个可能同时执行的任务组成的任务组,如果通过考虑系统可以提供的资源数量确定为不可执行,则多个任务的所需资源数量被修正(S57),然后根据修正后的所需资源数量确定可执行性(S54)。因此,即使一度确定为不可执行,一旦作为稍微改变服务质量的结果变成确定为可执行,由于这种类型的改变的实现,就能够减少用于操作证实的处理的数量。

通过上述的第五实施例,其结构使得处理数量通过实际上删除整个可控制部分而被调整,但是相反地,也可以有这样的一种结构,使得当有资源数量的富余时(确切地说,当可以提供的资源数量和所有任务组合所需资源总数之间的差超过一个特定值时),能够提高处理质量的另外的可控制部分被加入到所有任务中。此外,尽管通过上述第四和第五实施例的描述给出了一个结构,其中任务处理质量根据资源数量富余的出现或者不出现而逐步地增加或减少,本发明中的处理质量改变也可以对一些任务执行,而且也可以通过这类结构获得本发明欲达到的效果。

通过上述第四和第五实施例,给出了一个例子的描述,其中,根据单个应用的任务间的相互关系(结构信息)确定该单一应用的可执行性,但是本发明还可以应用到当使得多个应用并行运行时,或者当作为一个确定对象程序的中间件和一个运行在该中间件上的应用同时执行时可执行性的确定。

确切地说,在一个特定的应用(此后称之为第一应用)的可执行性已被证实的情况下,如果考虑到有第一应用之外的应用(此后称之为第二应用)的并行执行发生,第二应用的各任务的执行定时依赖于第一应用的一些任务的执行定时,且如果第二应用的每个任务的所需资源数量已知,则通过把第二应用的每个任务的执行定时和所需资源数量的各个信息项添加到上述第四实施例中的任务管理表34和结构信息管理表中,然后存储这些信息,有可能使用和上述第四实施例中相同的处理确定该操作的可执行性。

因此,如果通过本发明中的操作确定功能能够确定使得一个特定多任务系统中多个应用并行运行的情况下的可执行性,就能够更加可靠地再现在执行第一和第二应用时的外部条件,而且能够实现准确的操作确定。这样,更进一步,如果第一应用中每个任务的所需资源数量和结构信息预先以存储在存储设备4中的形式被提供,则即使在应用厂商开发与其适应的第二应用的情况下,也能够有效地利用本发明的操作确定功能。

此外,通过上述第四和第五实施例,单一类型实现环境(硬件环境,软件环境)的资源数量信息存储在资源数量信息存储部分33,但是替代这种类型的结构,还可以在资源数量信息存储部分33存储用于多种不同类型的实现环境的资源数量信息,还可以对这些多种类型的资源数量信息连续地试验操作确定处理或者将这些多种类型的资源数量信息满足“与”条件作为执行确定的条件。通过这种结构,能够将本发明应用到下列情况,如发送和接收端共享大范围的硬件结构,如具有应用程序下载功能的移动电话。

本发明的操作确定功能还可以被提供为一个负载测量板或者估算板,用于通过可移除地连接到一个公知计算机来实现一些功能。即,以存储在公知的具有由总线连接的CPU,ROM,RAM和输入输出接口的单片微处理器板的形式,可以提供相应于任务管理表32和资源数量信息存储部分33的各项信息和一个上述第四和第五实施例的处理程序,或者一个被修改的例子,使得能够获得本发明欲达到的效果。

此外,本发明的操作确定程序可以配置为一个用来确定一个系统中包含多个任务的程序的可执行性的程序,用来在一个计算机上引起下列执行:结构信息获取处理,用于获得组成确定对象程序的任务的信息以作为结构信息,功能提取处理,用于根据结构信息提取通过同时执行而能够作为单一功能的任务的组合,所需资源数量信息获取处理,用于获得为了各个任务的执行所需的资源数量信息,以及确定处理,用于根据提取的任务组合和所需资源数量信息,确定关于该对象确定程序拥有的所有功能的可执行性,而且如果该程序存储在一个公知的存储介质,如CD-ROM,或者通过网络下载来处理,则能够用作实现本发明效果的有效手段。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号