执行顺序决定装置、执行顺序决定程序、执行顺序决定电路及信息处理装置转让专利

申请号 : CN200980100266.0

文献号 : CN101790721A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 谷川忠雄

申请人 : 松下电器产业株式会社

摘要 :

作业控制信息存储部(111)存储用于让各任务的执行开始的执行条件及多个任务的执行顺序;作业执行部(101)按照执行顺序执行任务;作业执行管理部(102)监视执行中的任务的状态,基于执行条件,检测转移至待机直到有来自其他任务的应答为止的处理等待状态的任务,当受理了来自转移至处理等待状态的任务的执行其他任务的要求时,对转移至处理等待状态的任务发出的要求作出应答;虚拟任务管理部(121)生成检测出的转移至处理等待状态的任务的拷贝作为虚拟任务;虚拟任务登录部(122)为使虚拟任务与转移至处理等待状态的任务并行执行,将虚拟任务追加到任务控制信息存储部(111)的执行顺序中。由此,可以高效地实施任务的时序安排。

权利要求 :

1.一种执行顺序决定装置,用来决定可并行运行的多个任务的执行顺序,其特征在于包括:任务控制信息存储部,存储用于让各任务的执行开始的执行条件及多个任务的执行顺序;

任务执行部,按照所述任务控制信息存储部中存储的所述执行顺序执行所述任务;

任务执行管理部,监视执行中的任务的状态,基于所述任务控制信息存储部中存储的所述执行条件,检测所述任务的状态处于从执行任务的执行状态转移至待机直到有来自其他任务的应答为止的处理等待状态的任务;以及虚拟任务管理部,生成由所述任务执行管理部检测出的转移至所述处理等待状态的任务的拷贝作为虚拟任务,其中,所述任务执行管理部,当受理了来自转移至所述处理等待状态的任务的执行其他任务的要求时,对转移至所述处理等待状态的任务发出的所述要求作出应答,所述虚拟任务管理部,将生成的所述虚拟任务追加到所述任务控制信息存储部的所述执行顺序中,以便并行执行所述虚拟任务和转移至所述处理等待状态的任务。

2.根据权利要求1所述的执行顺序决定装置,其特征在于还包括:设备控制信息存储部,存储用于开始控制与所述执行顺序决定装置连接的周边设备的控制条件;

设备控制管理部,监视执行中的周边设备的状态,基于所述设备控制信息存储部中存储的所述控制条件,检测周边设备的状态处于从执行控制周边设备的设备控制的执行状态转移至待机直到有来自其他周边设备的应答为止的处理等待状态的设备控制,其中,所述虚拟任务管理部,生成由所述设备控制管理部检测出的转移至所述处理等待状态的设备控制的拷贝设备控制作为虚拟任务,所述设备控制管理部,当检测出转移至所述处理等待状态的设备控制时,将与该设备控制有关的信息通知给所述任务执行管理部,所述任务执行管理部,接收来自所述设备控制管理部的与所述设备控制有关的信息,基于接收到的与所述设备控制有关的信息,当受理了来自转移至所述处理等待状态的设备控制的执行其他设备控制的要求时,对转移至所述处理等待状态的设备控制发出的所述要求作出应答,所述虚拟任务管理部,将生成的所述虚拟任务追加到所述任务控制信息存储部的所述执行顺序中,以便并行执行所述虚拟任务和转移至所述处理等待状态的设备控制。

3.根据权利要求1或2所述的执行顺序决定装置,其特征在于还包括:任务履历存储部,存储包含有执行各任务的执行结果和各任务的执行开始及执行结束的日志的履历信息;

任务结果预测部,在由所述任务执行管理部检测出转移至所述处理等待状态的任务时,基于所述任务控制信息存储部中存储的执行条件和所述任务履历存储部中存储的履历信息,预测所述其他任务的执行结果,其中,所述任务执行管理部,当受理了来自转移至所述处理等待状态的任务的执行其他任务的要求时,利用由所述任务结果预测部预测的所述执行结果,对转移至所述处理等待状态的任务发出的所述要求作出应答。

4.根据权利要求1至3中任一项所述的执行顺序决定装置,其特征在于:所述虚拟任务管理部,在所述虚拟任务接收的所述其他任务的执行结果为异常结束时,从所述任务控制信息存储部的所述执行顺序中删除所述虚拟任务。

5.一种执行顺序决定程序,用于决定可并行运行的多个任务的执行顺序,其特征在于使计算机作为以下各部发挥功能:任务控制信息存储部,存储用于让各任务的执行开始的执行条件及多个任务的执行顺序;

任务执行部,按照所述任务控制信息存储部中存储的所述执行顺序执行所述任务;

任务执行管理部,监视执行中的任务的状态,基于所述任务控制信息存储部中存储的所述执行条件,检测所述任务的状态处于从执行任务的执行状态转移至待机直到有来自其他任务的应答为止的处理等待状态的任务;以及虚拟任务管理部,生成由所述任务执行管理部检测出的转移至所述处理等待状态的任务的拷贝作为虚拟任务,其中,所述任务执行管理部,当受理了来自转移至所述处理等待状态的任务的执行其他任务的要求时,对转移至所述处理等待状态的任务发出的所述要求作出应答,所述虚拟任务管理部,将生成的所述虚拟任务追加到所述任务控制信息存储部的所述执行顺序中,以便并行执行所述虚拟任务和转移至所述处理等待状态的任务。

6.一种执行顺序决定电路,用来决定可并行运行的多个任务的执行顺序,其特征在于包括:任务控制信息存储电路,存储用于让各任务的执行开始的执行条件及多个任务的执行顺序;

任务执行电路,按照由所述任务控制信息存储电路存储的所述执行顺序执行所述任务;

任务执行管理电路,监视执行中的任务的状态,基于由所述任务控制信息存储电路存储的所述执行条件,检测所述任务的状态处于从执行任务的执行状态转移至待机直到有来自其他任务的应答为止的处理等待状态的任务;以及虚拟任务管理电路,生成由所述任务执行管理电路检测出的转移至所述处理等待状态的任务的拷贝作为虚拟任务,其中,所述任务执行管理电路,当受理了来自转移至所述处理等待状态的任务的执行其他任务的要求时,对转移至所述处理等待状态的任务发出的所述要求作出应答,所述虚拟任务管理电路,将生成的所述虚拟任务追加到所述任务控制信息存储部的所述执行顺序中,以便并行执行所述虚拟任务和转移至所述处理等待状态的任务。

7.一种信息处理装置,其特征在于包括:

如权利要求1至4中任一项所述的执行顺序决定装置;和

连接于所述执行顺序决定装置的周边设备。

说明书 :

技术领域

本发明涉及一种决定可并行运行的多个任务的执行顺序的执行顺序决定装置、执行顺序决定程序、执行顺序决定电路及信息处理装置,尤其是涉及一种可适应硬件结构的变化高效地进行任务的时序安排(schedule)的执行顺序决定装置、执行顺序决定程序、执行顺序决定电路及信息处理装置。

背景技术

以往,以数码家用电器或移动电话等为代表的信息处理设备,为实现多种功能,通过在计算机系统中驻留或启动多个任务来执行有关任务。
近年,由于信息处理设备的网络化,信息处理设备所提供的服务日益多样化,用户的要件日趋高级。相应地,信息处理设备所执行的作业和任务的数量及处理量增大,作业和任务的处理内容也呈现复杂化的倾向。
为了适应作业和任务的数量及处理量的增大,构筑了配备多个CPU(中央演算处理装置)或可并行执行多种演算的单一CPU的计算机系统。在计算机系统中,并行执行多个作业和任务。
在这样的计算机系统中,为了实现与计算能力相符的处理时间,必须为作业和任务编制效率好的时序安排。尤其是在可并行执行多个任务的计算机系统中,由于多个任务独立运行,因此作业间及任务间的同步设计和执行顺序的决定,对于削减处理等待时间而言是至关重要的因素。
尤其是在系统启动处理这种在系统内预先确定执行的处理中,高效地决定作业和任务的执行顺序,对于缩短系统的启动时间而言是必不可少的。此处的系统启动处理这种预先确定执行的处理,是通过多个作业和任务相互协作并每次重复一定的处理,使系统转移至预先确定的状态的处理。
以往,作为可并行执行多个作业的计算机系统中的作业的执行顺序决定方法,有一种方法是基于过去作业的执行履历进行模拟,以缩短系统整体的处理时间(例如,参照日本专利公开公报特开平8-286958号)。进行批量数据处理即批处理(batch process)的作业,对确定的输入文件进行一定的处理,具有不依赖于开始时间的性质,多个作业定期反复。对这种形式的作业,基于过去的执行履历执行模拟。由此,通过在作为对象的计算机系统中执行作业前或在系统设计时,进行作业的时序安排,可以缩短系统整体的处理时间。
然而,在所述以往的结构中,是利用各作业在运行中进行了输入输出操作的文件的访问履历信息来决定各作业的执行开始条件,根据执行履历信息求得各作业的执行时间。即,基于过去作业的执行结果求得作业的执行开始时间。因此,以往,从通过这些作业实施处理的计算机系统的角度来看,是通过使用已得到的履历信息进行的静态分析来决定作业的执行顺序。这样的执行顺序决定方法,在包含有处理时间随处理对象的数据量而变化的作业(例如,在内置硬盘驱动器的计算机系统中,文件系统的检查处理等作业)时,存在问题。即,存在根据系统设计时或构筑时所收集的执行履历信息中的各作业的执行时间,无法求得各计算机系统的最优作业执行开始时间,从而无法决定高效的作业执行顺序的问题。

发明内容

本发明是为解决上述的问题,其目的在于提供一种可以高效地实施任务的时序安排的执行顺序决定装置、执行顺序决定程序、执行顺序决定电路及信息处理装置。
本发明所涉及的执行顺序决定装置用来决定可并行运行的多个任务的执行顺序,其包括:任务控制信息存储部,存储用于让各任务的执行开始的执行条件及多个任务的执行顺序;任务执行部,按照所述任务控制信息存储部中存储的所述执行顺序执行所述任务;任务执行管理部,监视执行中的任务的状态,基于所述任务控制信息存储部中存储的所述执行条件,检测所述任务的状态处于从执行任务的执行状态转移至待机直到有来自其他任务的应答为止的处理等待状态的任务;以及虚拟任务管理部,生成由所述任务执行管理部检测出的转移至所述处理等待状态的任务的拷贝作为虚拟任务,其中,所述任务执行管理部,当受理了来自转移至所述处理等待状态的任务的执行其他任务的要求时,对转移至所述处理等待状态的任务发出的所述要求作出应答,所述虚拟任务管理部,将生成的所述虚拟任务追加到所述任务控制信息存储部的所述执行顺序中,以便并行执行所述虚拟任务和转移至所述处理等待状态的任务。
根据该结构,任务控制信息存储部存储用于让各任务的执行开始的执行条件及多个任务的执行顺序,任务执行部按照任务控制信息存储部中存储的执行顺序执行任务。任务执行管理部监视执行中的任务的状态,基于任务控制信息存储部中存储的执行条件,检测任务的状态处于从执行任务的执行状态转移至待机直到有来自其他任务的应答为止的处理等待状态的任务。虚拟任务管理部生成由任务执行管理部检测出的转移至处理等待状态的任务的拷贝作为虚拟任务。而且,任务执行管理部当受理了来自转移至处理等待状态的任务的执行其他任务的要求时,对转移至处理等待状态的任务发出的要求作出应答。然后,虚拟任务管理部将生成的虚拟任务追加到任务控制信息存储部的执行顺序中,以便并行执行虚拟任务和转移至处理等待状态的任务。
根据本发明,由于当受理了来自转移至处理等待状态的任务的执行其他任务的要求时,通过对转移至处理等待状态的任务发出的要求作出应答,该任务无须转移至处理等待状态而被加以执行,并且作为转移至处理等待状态的任务的拷贝的虚拟任务与该任务的执行并行地加以执行,故可高效地实施任务的时序安排。
本发明的目的、特征以及优点,通过以下的详细说明和附图将更为明显。

附图说明

图1是具备本发明第1实施例的执行顺序决定装置的计算机的硬件结构的示意图。
图2是表示本发明第1实施例的执行顺序决定装置的结构的方框图。
图3是保存在本发明第1实施例的作业控制信息存储部中的作业控制信息的一个例子的示意图。
图4是保存在本发明第1实施例的作业履历存储部中的履历信息的一个例子的示意图。
图5是服务器的初始化所需要的处理时间短于客户的启动所需要的处理时间时执行顺序决定装置的运行的示意图。
图6是施加了大幅缩短客户的启动所需要的处理时间的硬件结构的变更时执行顺序决定装置的运行的示意图。
图7是用于说明本发明第1实施例的执行顺序决定装置的运行的第1流程图。
图8是用于说明本发明第1实施例的执行顺序决定装置的运行的第2流程图。
图9是表示本发明第2实施例的执行顺序决定装置的结构的方框图。
图10是保存在本发明第2实施例的设备控制信息存储部中的设备控制信息的一个例子的示意图。
图11是保存在本发明第2实施例的设备履历存储部中的设备履历信息的一个例子的示意图。

具体实施方式

以下参照附图对本发明的实施例进行说明。以下的实施例只是将本发明具体化的例子,并不具有限定本发明的技术范围的性质。
(第1实施例)
图1是具备本发明第1实施例的执行顺序决定装置的计算机的硬件结构的示意图。该计算机(以下亦称信息处理装置),其本身可供用户使用,也可编入各种电气设备中。例如,计算机,具有代表性的是PC(Personal Computer,个人电脑)等通用的电脑。此外,计算机还可是PDA(Personal Digital Assistance,个人数字助理)或移动电话等便携式通信终端,也可以是从BD等光盘读取信息并向光盘写入信息的光盘装置。
计算机包括CPU(Central Processing Unit,中央处理单元)1、存储装置2、周边设备3、定时器电路(timer circuit)4和电源电路5。周边设备3包括通信装置31、输入装置32、输出装置33、硬盘装置34和读写装置35。这些装置通过总线(bus line)6相互连接。硬盘装置34、读写装置35、输入装置32和输出装置33分别通过接口(interface)(I/F)36、37、38和39与总线6连接。
CPU1可为单一的CPU,也可包含多个CPU。作为一个例子,信息处理装置具有多个CPU11、12、13。存储装置2具备ROM(Read Only Memory,只读存储器)21和RAM(Random Access Memory,随机访问存储器)22。
ROM21存储有规定CPU1的运行的计算机程序及数据。计算机程序及数据也可存储于硬盘装置34中。CPU1根据需要将ROM21或硬盘装置34中保存的计算机程序及数据写入RAM22中,并执行计算机程序所规定的处理。RAM22还作为临时存储伴随着CPU1执行处理而生成的数据的介质而发挥功能。ROM21中,还包含如闪存(flash)ROM那样可以写入、即使切断电源也可保持存储内容的非易失性的存储器及存储介质。RAM22中,包含若切断电源则无法保持存储内容的易失性存储器及存储介质。
定时器电路4以一定的周期输出定时中断信号(timer interrupt signal)。电源电路5控制提供给计算机的电力的接通/切断。通过电源电路5接通电力,计算机系统得以启动。
计算机所需要的周边设备3根据计算机所具有的功能而决定。硬盘装置34向内置的未图示的硬盘写入计算机程序或数据,并且从硬盘读取计算机程序或数据。读写装置35读取例如记录在CD、DVD或存储卡等记录介质41中的计算机程序或数据。通信装置31通过电话线、网线、无线或红外线通信等通信线路42,在外部与自身之间交换计算机程序或数据。输入装置32例如为PDA所配备的键盘、移动电话所配备的输入按键、或装卸自由的鼠标或键盘,通过受理用户的操作而输入数据等。输出装置33例如为LCD(LiquidCrystal Display,液晶显示器)、布劳恩管(Braun tube)或扬声器,在画面上显示数据及图像等,或以声音输出数据等。
如上所述,通过ROM21、硬盘装置34、或者软盘(flexible disk)或CD-ROM等记录介质41向计算机提供计算机程序,使计算机运行。此外,计算机程序还可通过通信线路42等传输介质来提供。例如,记录在记录介质41(CD-ROM)中的计算机程序,可通过将读写装置35连接到计算机上而加以读取。而且,所读取的计算机程序还可保存在RAM22或硬盘装置34中。
由作为程序记录介质的ROM21提供计算机程序时,通过在计算机上搭载该ROM21,CPU1可根据上述计算机程序执行处理。通过通信线路42等传输介质而被提供的计算机程序由通信装置31接收,并保存在例如RAM22或硬盘装置34中。传输介质不限于有线的传输介质,也可为无线的传输介质。此外,传输介质不仅为通信线路,还包含例如路由器等为通信线路进行中继的中继装置。
执行顺序决定程序被保存在例如存储装置2中,通过与CPU1协同执行来实现。
图2是表示本发明第1实施例的执行顺序决定装置的结构的方框图。
图2中,执行顺序决定装置包括时序安排部(scheduler)100、作业执行部101、作业执行管理部102、作业条件分析部103、作业结果预测部104、作业履历处理部105、作业控制信息存储部111、作业履历存储部112以及虚拟任务管理部120。
另外,本说明书中的作业是表示计算机执行的一系列处理的单位,任务是表示将作业的一系列处理进一步细化后的处理的单位。即,作业包含多个任务。此外,技术方案中的任务,包含上述的作业的概念和任务的概念。即,技术方案中的任务既表示多个处理的总合,又表示多个处理中的一个处理。
作业控制信息存储部111为了预约作业的执行,保持有用于指示所要执行的程序或必要的文件信息的作业控制信息。作业控制信息包含所要执行的程序的启动顺序及分析启动条件所需要的信息。作业控制信息只要包含识别计算机执行的任务的识别符(identifier)、构成启动条件的任务执行条件和任务的启动顺序即可,描述形式可采用任意形式。
图3是保存在本发明第1实施例的作业控制信息存储部中的作业控制信息的一个例子的示意图。
作业控制信息存储部111将启动顺序201、任务名202和任务执行条件203,作为作业控制信息编成组加以管理。在此表示的是,在启动应用程序(application)A时,依次执行初始化开始和RPC(Remote Procedure Call,远程处理调用)受理开始这两项任务。而且还表示在启动应用程序B时,依次执行初始化开始和显示设定这两项任务。另外,显示设定,是以应用程序A的RPC受理开始处理已执行为执行条件而加以设定。
作业控制信息存储部111以表格(table)形式存储将启动顺序201、任务名202和任务执行条件203对应起来的作业控制信息。作业控制信息存储部111中,按照启动的顺序保存任务名202和任务执行条件203。作业控制信息存储部111存储用于让各任务的执行开始的执行条件和多个任务的执行顺序。
时序安排部100根据作业控制信息存储部111中存储的作业控制信息,决定接着要执行的任务。时序安排部100根据作业控制信息中包含的启动顺序,决定接着要执行的任务。时序安排部100指示作业执行部101开始执行决定的任务。
作业执行部101根据时序安排部100发出的指示,执行对象作业及任务。作业执行部101执行由时序安排部100决定的任务。即,作业执行部101根据作业控制信息存储部111中存储的执行顺序来执行任务。
作业条件分析部103基于作业控制信息存储部111中存储的作业控制信息,分析作业及任务的执行条件及依存关系。
作业履历存储部112存储包含执行各任务及各作业的执行结果和各任务及各作业的执行开始以及执行结束的日志(log)的履历信息。
图4是保存在本发明第1实施例的作业履历存储部中的履历信息的一个例子的示意图。履历信息包括作业开始记录(record)311、任务开始记录312、任务结束记录313和作业结束记录314等。上述各记录随着作业的执行开始、任务的执行开始、作业(应为任务)的执行结束和作业的执行结束等事项而生成。各记录包含识别对象作业或任务的识别符、和表示开始或结束的信息。进而,作业开始记录311和任务开始记录312包含用于判断执行时的开始条件的开始时输入信息301。任务结束记录313和作业结束记录314包含表示作业或任务的执行结束是正常结束还是异常结束的结束状态302。
作业结果预测部104利用履历预测正在执行或预定执行的作业及任务的执行结果,将预测出的执行结果通知给作业执行管理部102。作业结果预测部104从作业条件分析部103接收分析出的作业及作业步骤(任务)的执行条件及依存关系。作业结果预测部104利用由作业条件分析部103分析出的作业及作业步骤的执行条件及依存关系、以及存储在作业履历存储部112中的履历信息,预测正在执行或预定执行的作业及任务的执行结果。
作业执行管理部102,监视执行中的任务的状态,基于作业控制信息存储部111中存储的执行条件,检测任务的状态处于从执行任务的执行状态转移至待机直到有来自其他任务的应答为止的处理等待状态的任务。此外,作业结果预测部104在由作业执行管理部102检测出转移至处理等待状态的任务时,基于作业控制信息存储部111中存储的执行条件和作业履历存储部112中存储的履历信息来预测其他任务的执行结果。
作业执行管理部102监视作业及任务的状态,将作业及任务的状态通知给作业履历处理部105。此外,作业执行管理部102基于作业及任务的执行条件或依存关系,检测作业及任务的状态是否向任务待机状态(空闲状态(idle state))转移。作业执行管理部102,当检测出有向空闲状态的转移时,则接收来自作业结果预测部104的预测的执行结果。
当由作业结果预测部104预测到的执行结果为正常结束时,作业执行管理部102将正常结束作为该任务的执行结果进行反馈,使任务维持在执行状态,继续该作业的处理。另一方面,当由作业结果预测部104预测的执行结果为异常结束时,作业执行管理部102将异常结束作为该任务的执行结果进行反馈,指示进行错误处理。
接着,作业执行管理部102指示虚拟任务管理部120启动虚拟任务,该虚拟任务是对执行基于作业及任务的执行条件的假定成立而被跳过的处理(a process to be skipped)或基于依存关系的解除而被跳过的处理的任务进行了拷贝的任务。
此外,作业执行管理部102,当受理了来自转移至处理等待状态的任务的执行其他任务的要求时,对转移至处理等待状态的任务发出的要求作出应答。此时,作业执行管理部102利用由作业结果预测部104预测的执行结果,对转移至处理等待状态的任务发出的要求作出应答。
作业履历处理部105利用作业执行管理部102所通知的作业和任务的状态,将作业及任务执行开始和执行结束的日志追加记录到作业履历存储部112中。
虚拟任务管理部120包含虚拟任务生成部121和虚拟任务登录部122。虚拟任务管理部120生成由任务执行管理部102检测出的转移至处理等待状态的任务的拷贝作为虚拟任务。此外,虚拟任务管理部120将生成的虚拟任务追加到任务控制信息存储部111的所述执行顺序中,以便并行执行虚拟任务和转移至处理等待状态的任务。另外,虚拟任务管理部120在虚拟任务所接收的其他任务的执行结果为异常结束时,从作业控制信息存储部111的执行顺序中删除虚拟任务。
虚拟任务生成部121接收来自作业执行管理部102的指示,生成执行条件或依存关系被修正后的作业或任务的拷贝作为虚拟任务。即,虚拟任务生成部121生成用于执行作业或任务本来必须执行的处理的虚拟任务。
虚拟任务登录部122,将内容为该作业启动虚拟任务的控制信息追加到作业控制信息存储部111中存储的作业控制信息中。即,虚拟任务登录部122向作业控制信息存储部111登录由虚拟任务生成部121生成的虚拟任务的控制信息。此外,虚拟任务登录部122在虚拟任务生成部121生成的虚拟任务异常结束时,从作业控制信息存储部111中删除与该虚拟任务相对应的作业控制信息。
根据上述结构,本实施例1的执行顺序决定装置,通过将作业执行时的执行条件成立或不成立的结果和判断执行条件时所参照的数据作为履历信息来保持,即使在系统结构发生变更时,也可实施高效的作业时序安排计划。由此,在多个任务可并行运行的计算机系统中,即使系统结构发生变更时,也可立即实施高效的作业时序安排,从而可以缩短执行时间。
另外,本实施例中,作业控制信息存储部111相当于任务控制信息存储部的一个例子,作业执行部101相当于任务执行部的一个例子,作业执行管理部102相当于任务执行管理部的一个例子,虚拟任务管理部120相当于虚拟任务管理部的一个例子,作业履历存储部112相当于任务履历存储部的一个例子,作业结果预测部104相当于任务结果预测部的一个例子。
接着,用图5和图6说明缩短客户的空闲时间的缩短方法的一个例子,该空闲时间是因等待包含客户服务器系统的信息处理设备中的客户的服务器完成初始化而产生的。图5和图6的计算机系统包括执行顺序决定装置。此外,作为在计算机系统中执行的作业,有服务器401、客户402和由客户402启动的应用程序403。
另外,服务器401统一管理周边设备。例如,服务器401变更周边设备的图像显示设定,或要求解码器的初始化。此外,客户402与服务器401协同,启动各种应用程序。例如,客户402启动用于再生BD(Blu-ray Disc,蓝光盘)的应用程序及总管GUI(GraphicalUser Interface,图形用户界面)的应用程序等。
图5是服务器401的初始化411所需要的处理时间短于客户402的启动415所需要的处理时间时执行顺序决定装置的运行的示意图。另外,图5所示的计算机系统为初始设计时的系统结构。
图5中,客户402在启动415和初始化结束后,向作业执行管理部102发出请求(request)422。由于服务器401的初始化411所需要的处理时间短于客户402的启动415所需要的处理时间,所以,在由客户402向作业执行管理部102发出请求422时,服务器401已开始服务执行412。因此,服务器401无须等待初始化411结束即可执行来自作业执行管理部102的请求424的处理,并向作业执行管理部102反馈应答426。此外,客户402一旦接收到来自作业执行管理部102的结果427,则可不用延时地执行应用程序403的启动要求425。
图6是施加了大幅缩短客户402的启动415所需要的处理时间的硬件结构的变更时执行顺序决定装置的运行的示意图。在图6中,由于服务器401的初始化411所需要的处理时间长于客户402的启动415所需要的处理时间,所以,在由客户402向作业执行管理部102发出请求422时,服务器401尚未结束初始化411。因此,服务器401产生从接收来自作业执行管理部102的请求到初始化411完成为止的初始化完成等待413所需要的空闲时间。
此时,作业执行管理部102挂起客户402发出的请求422,检查作为请求的接收方的服务器401的执行状态。此时,作业执行管理部102可根据保存在作业控制信息存储部111中的作业控制信息,获知请求422的执行条件是初始化411完成。由此,作业结果预测部104可预测在服务器401的初始化411完成前,客户402处于初始化完成等待状态。
于是,作业执行管理部102根据从作业结果预测部104通知的执行结果,向客户402发出针对请求422的应答423。进而,作业执行管理部102在服务器401的服务执行412开始后,启动用于发出请求424的虚拟任务414。
关于虚拟任务414,是在服务执行412开始后,向服务器401发出请求424,并等待来自服务器401的应答426。由于客户402可在发出请求422后立即接收应答423,因此可执行后续的客户处理416。由此,客户402可不用延时地执行应用程序403的启动要求425。
另一方面,虚拟任务414接收服务器401发出的应答426后,检查作业执行管理部102先前发出的应答423的内容。虚拟任务414可向客户402反馈结果427,并执行后续处理。而且,虚拟任务414也可不向客户402反馈结果427而结束处理。另外,虚拟任务414在应答426的内容与应答423的内容不一致时,也可实施错误处理。另外,虚拟任务414也可不同步地向客户402通报错误的发生,让客户402实施错误处理。
接下来,对本第1实施例的执行顺序决定装置的运行进行说明。图7及图8是用于说明本发明第1实施例的执行顺序决定装置的运行的流程图。
另外,在图7及图8中,与图6相同,对服务器客户(应为客户服务器)系统的执行顺序决定装置的运行进行说明。即,由第1CPU执行的客户作业对由不同于第1CPU的第2CPU执行的服务器作业发出请求。服务器作业执行基于请求的处理,并将执行结果发回客户作业。客户作业接收服务器作业发出的执行结果,指示执行应用程序。
首先,在图7的步骤S1中,时序安排部100基于作业控制信息存储部111中存储的任务,决定接着要执行的任务。接着,在步骤S2中,作业执行部101执行由时序安排部100决定的任务。
接着,在步骤S3中,作业执行管理部102监视正在执行及接着要执行的任务的状态。然后,在步骤S3(应为S4)中,作业执行管理部102基于作业控制信息存储部111中存储的任务的执行条件或依存关系,判断任务的状态是否从执行状态转移至空闲状态。在此,如果判断出任务的状态未从执行状态转移至空闲状态(步骤S4为“否”),则返回步骤S1的处理。
另一方面,如果判断出任务的状态从执行状态转移至空闲状态(步骤S4为“是”),则在步骤S5中,作业条件分析部103基于作业控制信息存储部111中存储的任务控制信息,分析任务的执行条件及依存关系。例如在执行初始化处理的任务时,作业条件分析部103判断若初始化处理不结束,则不能执行下面的服务执行处理的任务。另外,例如在执行服务执行处理的任务时,存在正在执行的服务执行处理与其他的服务执行处理具有依存关系的可能性。因此,在执行服务执行处理的任务时,作业条件分析部103分析正在执行的服务执行处理与其他的服务执行处理的依存关系。
接着,在步骤S6中,作业结果预测部104基于由作业条件分析部103分析出的任务的执行条件及依存关系、和存储在作业履历存储部112中的履历信息,预测正在执行或预定执行的任务的执行结果。
接着,在步骤S7中,作业执行管理部102判断作业结果预测部104预测的执行结果是否为正常结束。在此,如果判断出预测的执行结果不是正常结束(步骤S7为“否”),则转移到图8的步骤S14的处理。
另一方面,如果判断出预测的执行结果是正常结束(步骤S7为“是”),则在步骤S8中,作业执行管理部102将由作业结果预测部104预测的执行结果发送给任务的状态被判断为从执行状态转移至空闲状态的任务。然后,作业执行管理部102指示虚拟任务生成部121生成虚拟任务。
另外,在本实施例中,作业结果预测部104基于由作业条件分析部103分析出的任务的执行条件及依存关系、和存储在作业履历存储部112中的履历信息,来预测正在执行或预定执行的任务的执行结果,但本发明并不特别限定于此。例如亦可在作业控制信息存储部111中将任务的依存关系和执行结果对应起来预先加以存储,作业执行管理部102参照作业控制信息存储部111中存储的任务的依存关系,决定执行结果。
接着,在步骤S9中,虚拟任务生成部121生成任务的状态被判断为从执行状态转移至空闲状态的任务的拷贝作为虚拟任务。例如,在图6的情况下,拷贝了客户402的客户处理416的任务作为虚拟任务而生成。
接着,在步骤S10中,虚拟任务登录部122将生成的虚拟任务追加到作业控制信息存储部111中。此时,虚拟任务登录部122将虚拟任务的执行顺序、执行虚拟任务的执行条件、以及由作业结果预测部104预测的执行结果对应起来存储到作业控制信息存储部111中。通过将生成的虚拟任务追加到作业控制信息存储部111中,则可以在本次被执行的是与被判断为转移至空闲状态的任务相同的任务时,不用进行任务的分析及任务执行结果的预测,而执行被登录在作业控制信息中的虚拟任务。
接着,在图8的步骤S11中,作业执行部101执行虚拟任务。此时,时序安排部100基于作业控制信息存储部111中存储的作业控制信息,将虚拟任务决定为接着要执行的任务。作业执行部101执行虚拟任务。作业执行部101执行由时序安排部100决定的虚拟任务。
接着,在步骤S12中,作业执行管理部102判断虚拟任务是否正常结束。具体而言,作业执行管理部102判断由作业结果预测部104预测的执行结果与通过实际执行任务而通知的执行结果是否一致,如果两个执行结果一致,则判断虚拟任务已正常结束。另一方面,如果两个执行结果不一致,作业执行管理部102判断虚拟任务未正常结束。
在此,如果判断为虚拟任务已正常结束(步骤S12中为“是”),则返回步骤S1的处理。另外,作业执行管理部102也可将通过实际执行任务而通知的执行结果,发送给任务的状态被判断为从执行状态转移至空闲状态的任务。
另一方面,如果判断为虚拟任务未正常结束(步骤S12为“否”),或判断为预测的执行结果不是正常结束(步骤S7为“否”),则在步骤S13中,作业执行管理部102将错误的发生通知给任务的状态被判断为从执行状态转移至空闲状态的任务。接收到错误发生信息的任务执行错误处理。
接着,在步骤S14中,虚拟任务登录部122删除作业控制信息存储部111中存储的与虚拟任务有关的作业控制信息,并返回步骤S1的处理。
根据所述结构,作业执行管理部102在作业或任务的执行时,检测作业或任务处理完成等待的空闲状态的发生,并利用由作业结果预测部104预测的执行结果,从而可使作业或任务的执行条件虚拟地成立,并立即执行后续处理。由此,可避免在计算机系统设计时或计算机系统初始化时无法预测的空闲时间的发生。即,可以高效地安排计算机系统整体的作业及任务,从而可缩短作业执行时间。
(第2实施例)
图9是表示本发明第2实施例的执行顺序决定装置的结构的方框图。
在图9中,用与第1实施例相同的符号表示的时序安排部100、作业执行部101、作业条件分析部103、作业结果预测部104、作业履历处理部105、作业控制信息存储部111、作业履历存储部112及虚拟任务管理部120,与上述的图2的结构要素相同。
在图9中,图9所示的执行顺序决定装置除了图2的结构之外,还包括设备控制管理部502、设备条件分析部503、设备结果预测部504、设备履历处理部505、设备控制信息存储部511及设备履历存储部512。另外,图9所示的执行顺序决定装置具备作业执行管理部501以替代作业执行管理部102。
设备控制信息存储部511为了预约周边设备的控制而保持有设备控制信息,设备控制信息用于指示作为对象的设备文件的信息或控制周边设备用的参数等。设备控制信息包含所要执行的周边设备的控制顺序及分析控制条件所需要的信息。设备控制信息只要包含用于计算机识别周边设备的识别符、周边设备的状态、周边设备的控制顺序即可,描述形式可采用任意形式。图10是保存在本发明第2实施例的设备控制信息存储部中的设备控制信息的一个例子的示意图。设备控制信息存储部511将设备识别符601、设备状态602及设备控制条件603编成组而加以管理。
设备控制信息存储部511存储用于开始控制与执行顺序决定装置连接的周边设备的控制条件。设备控制信息存储部511以表格形式存储将设备识别符601、设备状态602及设备控制条件603对应起来的设备控制信息。在设备控制信息存储部511中,按照启动的顺序保存设备识别符601、设备状态602及设备控制条件603。
在图10中,设备控制信息包含表示BD(Blu-ray Disc,蓝光盘)驱动器的设备识别符601。另外,设备控制信息还包含表示转动加速(spin-up)的开始、转动加速的完成、介质识别完成及允许读访问等的设备状态602。此外,在转动加速开始这一设备状态对应赋有电源接通这一设备控制条件。这表示,转动加速的开始是以电源接通为条件的。另外,在转动加速完成这一设备状态对应赋有转动加速开始这一设备控制条件,在介质识别完成这一设备状态对应赋有转动加速完成这一设备控制条件,在允许读访问这一设备状态对应赋有介质识别完成这一设备控制条件。
设备条件分析部503基于设备控制信息存储部511中存储的设备控制信息,分析周边设备的控制条件及依存关系。
设备履历存储部512存储包含在设备控制的前后发生变化的设备状态的日志的履历信息。图11是存储在本发明第2实施例的设备履历存储部中的履历信息的一个例子的示意图。周边设备的履历信息包括设备控制记录701、设备状态702及完成时间703等。设备控制记录701是用于识别设备控制的识别符,设备状态702是在设备控制的前后发生变化的周边设备的状态,完成时间703是该设备控制所需要的时间。
设备结果预测部504利用履历预测正在执行或预定执行的周边设备的控制结果,将预测出的控制结果通知给设备控制管理部502。设备结果预测部504使用由设备条件分析部503分析出的周边设备的控制条件及依存关系、和存储在设备履历存储部512中的履历信息,预测正在执行或预定执行的周边设备的控制结果。
设备控制管理部502监视周边设备的控制状态,并将由设备结果预测部504预测出的控制结果通知给作业执行管理部501。另外,设备控制管理部502根据来自作业执行管理部501的询问,在基于各周边设备的控制条件或依存关系而检测出任务向待机状态(空闲状态)的转移时,将由设备结果预测部504预测出的控制结果通知给作业执行管理部501。此外,设备控制管理部502,将内容为基于虚拟任务的设备控制发生的控制信息追加到存储在设备控制信息存储部511中的设备控制信息中。
设备控制管理部502监视执行中的周边设备的状态,基于设备控制信息存储部511中存储的控制条件,检测周边设备的状态处于从执行控制周边设备的设备控制的执行状态转移至待机直到有来自其他周边设备的应答为止的处理等待状态的设备控制。另外,设备控制管理部502在检测出转移至处理等待状态的设备控制时,将与该设备控制有关的信息通知给作业执行管理部501。
设备履历处理部505利用从设备控制管理部502通知的周边设备状态,将在设备控制的前后发生变化的设备状态的日志作为周边设备的履历信息追加到设备履历存储部512中。
作业执行管理部501从设备控制管理部502接收控制结果,当接收到的控制结果为正常结束时,将正常结束作为该设备控制的执行结果进行反馈,使任务维持在执行状态,继续该作业的处理。接着,作业执行管理部501指示虚拟任务管理部120启动虚拟任务,该虚拟任务是对执行基于周边设备的控制条件的假定成立而跳过的设备处理或基于依存关系的解除而跳过的设备处理的任务进行了拷贝而生成的任务。
作业执行管理部501接收来自设备控制管理部502的与设备控制有关的信息,基于接收到的与设备控制有关的信息,当受理了来自转移至处理等待状态的设备控制的执行其他设备控制的要求时,对转移至处理等待状态的设备控制发出的要求作出应答。
另外,与第1实施例的作业执行管理部102相同,作业执行管理部501监视作业及任务的状态,将作业及任务的状态通知给作业履历处理部105。此外,作业执行管理部501基于作业及任务的执行条件或依存关系,检测作业及任务的状态从执行状态向任务待机状态(空闲状态)的转移。作业执行管理部501一旦检测出向空闲状态的转移,则从作业结果预测部104接收预测的执行结果。
当由作业结果预测部104预测的执行结果为正常结束时,作业执行管理部501将正常结束作为该任务的执行结果进行反馈,使任务维持在执行状态,继续该作业的处理。另一方面,当由作业结果预测部104预测的执行结果为异常结束时,作业执行管理部501将异常结束作为该任务的执行结果进行反馈,指示进行错误处理。
接着,作业执行管理部501指示虚拟任务管理部120启动虚拟任务,该虚拟任务是对执行基于作业及任务的执行条件的假定成立而跳过的处理或基于依存关系的解除而跳过的处理的任务进行了拷贝而生成的任务。此外,作业执行管理部501,将内容为该作业启动虚拟任务的控制信息追加记录到存储在作业控制信息存储部111中的作业控制信息中。
虚拟任务管理部120生成由设备控制管理部502检测出的转移至处理等待状态的设备控制的拷贝设备控制作为虚拟任务。此外,虚拟任务管理部120将生成的虚拟任务追加到任务控制信息存储部111的执行顺序中,以便并行执行虚拟任务和转移至处理等待状态的任务。
虚拟任务生成部121与第1实施例相同,接收作业执行管理部501发出的指示,生成虚拟任务。只是,来自执行管理部501的指示对象不仅包含作业或任务本来必须执行的处理,还包含作业或任务本来必须执行的周边设备的处理。由此,虚拟任务生成部121生成周边设备的控制条件或依存关系被修正后的作业或任务的拷贝作为虚拟任务。即,虚拟任务生成部121生成用于执行作业或任务本来必须执行的周边设备的处理的虚拟任务。
此外,虚拟任务登录部122将内容为该作业启动虚拟任务的控制信息追加记录到存储在作业控制信息存储部111中的作业控制信息中。
另外,在本实施例中,设备控制信息存储部511相当于设备控制信息存储部的一个例子,设备控制管理部502相当于设备控制管理部的一个例子,作业执行管理部501相当于任务执行管理部的一个例子。
根据上述结构,设备控制管理部502检测等待设备处理完成的空闲状态的发生,并将由设备结果预测部504预测到的设备控制结果通知给作业执行管理部501。接收到通知的作业执行管理部501,通过将设备控制结果作为要求设备控制的作业或任务的设备I/O结果,可使作业或任务的设备访问虚拟地成立,立即执行后续处理。由此,可避免在计算机系统设计时或计算机系统初始化时不能预测的空闲时间的发生。即,可高效地安排计算机系统整体的作业及任务,从而可缩短作业执行时间。
另外,可将作业执行时的执行条件的成立或不成立的结果和判断执行条件时所参照的数据作为履历信息加以保存,基于作业及任务间的依存关系,检测因处理完成等待而引起的空闲状态。该处理完成等待指的是作业及任务的处理完成等待,或设备处理的完成等待。在检测空闲状态时,利用保存的履历信息,使作业及任务的执行条件先于本来的执行时间假定成立。由此,该作业及任务的处理不会因处理等待而中断,可立即执行后续处理。
此外,为了使先于本来的执行时间而假定成立的任务的执行条件按本来的执行条件成立,让拷贝了该任务的虚拟任务苏醒(wake up),将执行条件的成立处理移至虚拟任务。将具有让该虚拟任务苏醒作为作业步骤的作业追加到作业执行顺序中,从作业及任务的执行条件中去除假定成立的执行条件。由此,没有必要执行模拟,而且在系统结构发生无法预测的变更时,也可高效地安排作业和任务。
另外,本发明的各功能块典型的是作为软件而加以实现,但也可以用集成电路LSI来实现。各功能块可以分别被集成为一个芯片(one chip),也可以将一部分或全部集成为一个芯片。在此,虽然称为LSI,但根据集成度的不同有时也被称为IC、系统LSI、大规模(super)LSI、或超大规模(ultra)LSI。另外,集成电路化的技术不仅限于LSI,也可以通过专用电路或通用处理器来实现。也可以利用在LSI制造后可编程的FPGA(FieldProgrammable Gate Array,现场可编程门阵列)、或者可重新构成LSI内部的电路单元的连接或设定的可重构处理器(reconfigurable processor)。而且,如果随着半导体技术的进步或派生的其他技术而出现能够替代LSI的集成电路化的技术,当然也可以利用该技术进行功能块的集成化。作为替代LSI的集成电路化的技术,例如存在适用生物技术等的可能性。
此外,所述的具体实施方式主要包括具有以下结构的发明。
本发明所涉及的执行顺序决定装置用来决定可并行运行的多个任务的执行顺序,该执行顺序决定装置包括,任务控制信息存储部,存储用于让各任务的执行开始的执行条件及多个任务的执行顺序;任务执行部,按照所述任务控制信息存储部中存储的所述执行顺序执行所述任务;任务执行管理部,监视执行中的任务的状态,基于所述任务控制信息存储部中存储的所述执行条件,检测所述任务的状态处于从执行任务的执行状态转移至待机直到有来自其他任务的应答为止的处理等待状态的任务;以及虚拟任务管理部,生成由所述任务执行管理部检测出的转移至所述处理等待状态的任务的拷贝作为虚拟任务,所述任务执行管理部当受理了来自转移至所述处理等待状态的任务的执行其他任务的要求时,对转移至所述处理等待状态的任务发出的所述要求作出应答,所述虚拟任务管理部将生成的所述虚拟任务追加到所述任务控制信息存储部的所述执行顺序中,以便并行执行所述虚拟任务和转移至所述处理等待状态的任务。
根据该结构,任务控制信息存储部存储用于让各任务的执行开始的执行条件及多个任务的执行顺序,任务执行部按照任务控制信息存储部中存储的执行顺序执行任务。任务执行管理部监视执行中的任务的状态,基于任务控制信息存储部中存储的执行条件,检测任务的状态处于从执行任务的执行状态转移至待机直到有来自其他任务的应答为止的处理等待状态的任务。虚拟任务管理部生成由任务执行管理部检测出的转移至处理等待状态的任务的拷贝作为虚拟任务。而且,任务执行管理部当受理了来自转移至处理等待状态的任务的执行其他任务的要求时,对转移至处理等待状态的任务发出的要求作出应答。然后,虚拟任务管理部将生成的虚拟任务追加到任务控制信息存储部的执行顺序中,以便并行执行虚拟任务和转移至处理等待状态的任务。
因此,由于通过当受理了来自转移至处理等待状态的任务的执行其他任务的要求时,对来自转移至处理等待状态的任务的要求作出应答,该任务无须转移至处理等待状态而被加以执行,拷贝了转移至处理等待状态的任务的虚拟任务与该任务的执行并行地加以执行,故可高效地实施任务的时序安排。
另外,较为理想的是,上述的执行顺序决定装置还包括,设备控制信息存储部,存储用于开始控制与所述执行顺序决定装置连接的周边设备的控制条件;设备控制管理部,监视执行中的周边设备的状态,基于所述设备控制信息存储部中存储的所述控制条件,检测周边设备的状态处于从执行控制周边设备的设备控制的执行状态转移至待机直到有来自其他周边设备的应答为止的处理等待状态的设备控制,所述虚拟任务管理部生成由所述设备控制管理部检测出的转移至所述处理等待状态的设备控制的拷贝设备控制作为虚拟任务,所述设备控制管理部在检测出转移至所述处理等待状态的设备控制时,将与该设备控制有关的信息通知给所述任务执行管理部,所述任务执行管理部接收来自所述设备控制管理部的与所述设备控制有关的信息,基于接收到的与所述设备控制有关的信息,当受理了来自转移至所述处理等待状态的设备控制的执行其他设备控制的要求时,对转移至所述处理等待状态的设备控制发出的所述要求作出应答,所述虚拟任务管理部将生成的所述虚拟任务追加到所述任务控制信息存储部的所述执行顺序中,以便并行执行所述虚拟任务和转移至所述处理等待状态的任务。
根据该结构,设备控制信息存储部存储用于开始控制与执行顺序决定装置连接的周边设备的控制条件,设备控制管理部监视执行中周边设备的状态,基于设备控制信息存储部中存储的控制条件,检测周边设备的状态处于从执行控制周边设备的设备控制的执行状态转移至待机直到有来自其他周边设备应答为止的处理等待状态的设备控制。而且,虚拟任务管理部生成由设备控制部检测出的转移至处理等待状态的设备控制的拷贝设备控制作为虚拟任务。设备控制管理部在检测出转移至处理等待状态的设备控制时,将与该设备控制有关的信息通知给任务执行管理部。任务执行管理部接收来自设备控制管理部的与设备控制有关的信息,基于接收到的与设备控制有关的信息,当受理了来自转移至处理等待状态的设备控制的执行其他设备控制的要求时,对转移至处理等待状态的设备控制发出的要求作出应答。然后,虚拟任务管理部将生成的虚拟任务追加到任务控制信息存储部的执行顺序中,以便并行执行虚拟任务和转移至处理等待状态的任务。
因此,由于通过当受理了来自转移至处理等待状态的设备控制的执行其他设备控制的要求时,对转移至处理等待状态的设备控制发出的要求作出应答,该设备控制无须转移至处理等待状态而被加以执行,拷贝了转移至处理等待状态的设备控制的设备控制作为虚拟任务与该设备控制的执行并行地加以执行,故可高效地实施周边设备控制的时序安排。
另外,较为理想的是,上述的执行顺序决定装置还包括,任务履历存储部,存储包含有执行各任务的执行结果和各任务的执行开始及执行结束的日志的履历信息;任务结果预测部,在由所述任务执行管理部检测出转移至所述处理等待状态的任务时,基于所述任务控制信息存储部中存储的执行条件和所述任务履历存储部中存储的履历信息预测所述其他任务的执行结果,所述任务执行管理部当受理了来自转移至所述处理等待状态的任务的执行其他任务的要求时,利用由所述任务结果预测部预测的所述执行结果,对转移至所述处理等待状态的任务发出的所述要求作出应答。
根据该结构,任务履历存储部存储包含有执行各任务的执行结果和各任务的执行开始及执行结束的日志的履历信息,任务结果预测部在由任务执行管理部检测出转移至处理等待状态的任务时,基于任务控制信息存储部中存储的执行条件和任务履历存储部中存储的履历信息预测其他任务的执行结果。而且,任务执行管理部当受理了来自转移至处理等待状态的任务的执行其他任务的要求时,利用由任务结果预测部预测的执行结果,对转移至处理等待状态的任务发出的要求作出应答。
因此,由于在检测出转移至处理等待状态的任务时,其他任务的执行结果可基于执行条件和履历信息得以预测,因此,即使系统结构变更的结果是发生了转移至处理等待状态的任务时,也可利用预测的执行结果,对转移至处理等待状态的任务作出应答。
另外,在上述的执行顺序决定装置中,较为理想的是,所述虚拟任务管理部在所述虚拟任务接收的所述其他任务的执行结果为异常结束时,从所述任务控制信息存储部的所述执行顺序中删除所述虚拟任务。
根据该结构,在虚拟任务接收的其他任务的执行结果为异常结束时,虚拟任务从任务控制信息存储部的执行顺序中被删除。因此,由于在转移至处理等待状态的任务被再次检测到时,不执行虚拟任务,因此可防止不必要的任务的执行,从而可缩短处理时间。
本发明所涉及的执行顺序决定程序用于决定可并行运行的多个任务的执行顺序,该执行顺序决定程序使计算机作为以下各部发挥功能:任务控制信息存储部,存储用于让各任务的执行开始的执行条件及多个任务的执行顺序;任务执行部,按照所述任务控制信息存储部中存储的所述执行顺序执行所述任务;任务执行管理部,监视执行中的任务的状态,基于所述任务控制信息存储部中存储的所述执行条件,检测所述任务的状态处于从执行任务的执行状态转移至待机直到有来自其他任务的应答为止的处理等待状态的任务;以及虚拟任务管理部,生成由所述任务执行管理部检测出的转移至所述处理等待状态的任务的拷贝作为虚拟任务,所述任务执行管理部当受理了来自转移至所述处理等待状态的任务的执行其他任务的要求时,对转移至所述处理等待状态的任务发出的所述要求作出应答,所述虚拟任务管理部将生成的所述虚拟任务追加到所述任务控制信息存储部的所述执行顺序中,以便并行执行所述虚拟任务和转移至所述处理等待状态的任务。
根据该结构,任务控制信息存储部存储用于让各任务的执行开始的执行条件及多个任务的执行顺序,任务执行部按照任务控制信息存储部中存储的执行顺序执行任务。任务执行管理部监视执行中的任务的状态,基于任务控制信息存储部中存储的执行条件,检测任务的状态处于从执行任务的执行状态转移至待机直到有来自其他任务的应答为止的处理等待状态的任务。虚拟任务管理部生成由任务执行管理部检测出的转移至处理等待状态的任务的拷贝作为虚拟任务。而且,任务执行管理部当受理了来自转移至处理等待状态的任务的执行其他任务的要求时,对转移至处理等待状态的任务发出的要求作出应答。然后,虚拟任务管理部将生成的虚拟任务追加到任务控制信息存储部的执行顺序中,以便并行执行虚拟任务和转移至处理等待状态的任务。
因此,由于通过当受理了来自转移至处理等待状态的任务的执行其他任务的要求时,对转移至处理等待状态的任务发出的要求作出应答,该任务无须转移至处理等待状态而被加以执行,拷贝了转移至处理等待状态的任务的虚拟任务与该任务的执行并行地加以执行,故可高效地实施任务的时序安排。
本发明所涉及的执行顺序决定电路用来决定可并行运行的多个任务的执行顺序,其包括,任务控制信息存储电路,存储用于让各任务的执行开始的执行条件及多个任务的执行顺序;任务执行电路,按照由所述任务控制信息存储电路存储的所述执行顺序执行所述任务;任务执行管理电路,监视执行中的任务的状态,基于由所述任务控制信息存储电路存储的所述执行条件,检测所述任务的状态处于从执行任务的执行状态转移至待机直到有来自其他任务的应答为止的处理等待状态的任务;以及虚拟任务管理电路,生成由所述任务执行管理电路检测出的转移至所述处理等待状态的任务的拷贝作为虚拟任务,所述任务执行管理电路当受理了来自转移至所述处理等待状态的任务的执行其他任务的要求时,对转移至所述处理等待状态的任务发出的所述要求作出应答,所述虚拟任务管理电路将生成的所述虚拟任务追加到所述任务控制信息存储部的所述执行顺序中,以便并行执行所述虚拟任务和转移至所述处理等待状态的任务。
根据该结构,任务控制信息存储电路存储用于让各任务的执行开始的执行条件及多个任务的执行顺序,任务执行电路按照由任务控制信息存储电路存储的执行顺序执行任务。任务执行管理电路监视执行中的任务的状态,基于由任务控制信息存储电路存储的执行条件,检测任务的状态处于从执行任务的执行状态转移至待机直到有来自其他任务的应答为止的处理等待状态的任务。虚拟任务管理电路生成由任务执行管理电路检测出的转移至处理等待状态的任务的拷贝作为虚拟任务。而且,任务执行管理电路当受理了来自转移至处理等待状态的任务的执行其他任务的要求时,对转移至处理等待状态的任务发出的要求作出应答。然后,虚拟任务管理电路将生成的虚拟任务追加到任务控制信息存储部的执行顺序中,以便并行执行虚拟任务和转移至处理等待状态的任务。
因此,由于通过当受理了来自转移至处理等待状态的任务的执行其他任务的要求时,对转移至处理等待状态的任务发出的要求作出应答,该任务无须转移至处理等待状态而被加以执行,拷贝了转移至处理等待状态的任务的虚拟任务与该任务的执行并行地加以执行,故可高效地实施任务的时序安排。
本发明所涉及的执行顺序决定方法用于决定可并行运行的多个任务的执行顺序,该执行顺序决定方法包括以下步骤,任务执行步骤,按照存储用于让各任务的执行开始的执行条件及多个任务的执行顺序的任务控制信息存储部中存储的所述执行顺序执行所述任务;检测步骤,监视执行中的任务的状态,基于所述任务控制信息存储部中存储的所述执行条件,检测所述任务的状态处于从执行任务的执行状态转移至待机直到有来自其他任务的应答为止的处理等待状态的任务;虚拟任务生成步骤,生成在所述检测步骤中检测出的转移至所述处理等待状态的任务的拷贝作为虚拟任务;应答步骤,当受理了来自转移至所述处理等待状态的任务的执行其他任务的要求时,对转移至所述处理等待状态的任务发出的所述要求作出应答;追加步骤,为使在所述虚拟任务生成步骤中生成的所述虚拟任务与转移至所述处理等待状态的任务并行执行,将所述虚拟任务追加到所述任务控制信息存储部的所述执行顺序中。
根据该结构,任务控制信息存储部存储用于让各任务的执行开始的执行条件和多个任务的执行顺序。在任务执行步骤中,根据任务控制信息存储部中存储的执行顺序执行任务。在检测步骤中,监视执行中的任务的状态,基于任务控制信息存储部中存储的执行条件,检测任务的状态处于从执行任务的执行状态转移至待机直到有来自其他任务的应答为止的处理等待状态的任务。在虚拟任务生成步骤中,生成在检测步骤中检测出的转移至处理等待状态的任务的拷贝作为虚拟任务。而且,在应答步骤中,当受理了来自转移至处理等待状态的任务的执行其他任务的要求时,对转移至处理等待状态的任务发出的要求作出应答。然后,在追加步骤中,为使在虚拟任务生成步骤中生成的虚拟任务与转移至处理等待状态的任务并行执行,将虚拟任务追加到任务控制信息存储部的执行顺序中。
因此,由于通过当受理了来自转移至处理等待状态的任务的执行其他任务的要求时,对转移至处理等待状态的任务发出的要求作出应答,该任务无须转移至处理等待状态而被加以执行,拷贝了转移至处理等待状态的任务的虚拟任务与该任务的执行并行地加以执行,故可高效地实施任务的时序安排。
本发明所涉及的信息处理装置包括上述的执行顺序决定装置和与所述执行顺序决定装置连接的周边设备。
根据该结构,由于通过当受理了来自转移至处理等待状态的任务的执行其他任务的要求时,对转移至处理等待状态的任务发出的要求作出应答,该任务无须转移至处理等待状态而被加以执行,拷贝了转移至处理等待状态的任务的虚拟任务与该任务的执行并行地加以执行,故可高效地实施任务的时序安排。
另外,发明的实施方式各项中的具体实施方式或实施例只是为了明确本发明的技术内容,不应狭义地解释为仅限定于此种具体例,在本发明的精神和技术方案的范围内可进行各种变更而加以实施。
产业上的利用可能性
本发明的执行顺序决定装置、执行顺序决定程序、执行顺序决定电路及信息处理装置在可并行运行多个作业的计算机系统中极为有用。另外,本发明的执行顺序决定装置、执行顺序决定程序、执行顺序决定电路及信息处理装置不仅可用于大型计算机或个人电脑,也可用于各种家用电器、移动电话等通信设备、产业设备或交通设备等。