用于确定数据的再调用顺序的装置、方法以及程序的制作方法

xiaoxiao2020-7-22  7

专利名称:用于确定数据的再调用顺序的装置、方法以及程序的制作方法
技术领域
本发明涉及虚拟带服务器中的卷的再调用,详细地,涉及从使进行卷的再调用请求的主机装置的平均等待时间成为最小的观点将该请求的处理顺序最优化的技术。
背景技术
虚拟带存储系统使用硬盘驱动器仿真带驱动器以及带盒。例如,主机装置通过对仿真带库的一组硬盘驱动器进行输入/输出(I/O)操作,而进行对于带库的I/O操作。在 International Business Machines (IBM, IBM 是 IBM 公司的商标)Magstar 虚拟带服务器那样的以往技术的虚拟带存储系统中,将至少一个虚拟带服务器(VTS)结合于包含多个带驱动器以及带盒的带库。VTS此外还结合于由相互连接的多个硬盘驱动器构成的直接存取存储装置(Direct Access Storage Device, DASD)。DASD作为对于带库内的卷的高速缓存而起作用。VTS在从主机装置接收到请求时,从高速缓存读取所请求的卷而向主机装置返回。在所请求的卷不在高速缓存中的情况下,VTS将卷从带库调用回高速缓存。高速缓存能够通过带库迅速地满足I/O请求。然而, 由于高速缓存的容量与带库相比较相对较小,所以仅将频繁存取的卷保存于高速缓存。VTS 采用LRU(最长时间未使用)等算法,将不存取的卷从高速缓存向带库传送。被传送的卷从高速缓存被除去,作为一例,被缩短为指向带库上的数据的指针。在典型的VTS中,提供向虚拟卷的存取的虚拟设备的数量比能够使用于卷的再调用的带驱动器多。因此,存在比带驱动器多的虚拟设备对不在高速缓存中的虚拟卷进行存取的情况。在这样的情况下,后来进行的再调用由于处理等待而被放入队列。一般,被放入队列的这些再调用按照先入先出的顺序被进行处理。这里成为问题的是再调用所需要的时间。例如,在包含被再调用的数据的带盒没有被安装于任一带驱动器的情况下,必须将当前安装的某一个带盒从带驱动器卸载。该过程有可能花费一分钟以上。接着,需要将包含目标数据的带盒加载到带驱动器,并将带定位于数据的开头。该过程有可能花费一分钟以上。进而,在所有的带驱动器处于使用中的情况下,需要等待在某一个带驱动器中处理结束。等待处理结束的时间依赖于执行中的处理所需要的时间。作为解决这样的问题、用于提高再调用请求的效率的以往技术,存在专利文献1。 专利文献1公开了通过根据一个或者多个最优化规则将队列再排列而将队列的处理最优化的技术。作为最优化规则,专利文献1公开了例如将与常驻于单个能够安装介质上的逻辑卷相对应的最小数量或者最大数量的再调用请求在队列内依次分组化,在分组化中沿用能够安装介质上的至少两个再调用请求的物理位置。专利文献1还公开了下述技术对第一再调用请求基于第二再调用请求的状况进行处理,或者在关于特定的再调用请求达到了最小待机阈值的情况下,通过忽视最优化规则地处理该请求等,关于任意的特定请求不会使请求者等待太长时间。专利文献1 特开2006-190274号公报
通过上述专利文献1所公开的技术,能够提高再调用请求的效率。但是,这是从 VTS看的再调用请求的有效化,而不是从主机装置看的有效化。上述专利文献1的技术尽可能缩短VTS利用带驱动器的时间。但是,主机装置的等待时间是从VTS接收主机装置的请求到其处理完成为止的时间,其也较大地依赖于由VTS先前接收的请求的处理所花费的时间。例如,若由VTS先前接收到处理需要非常长的时间的请求,则即使在其之后发布且进入队列的请求是原本能够在短时间内处理的请求,也必须等待先前的请求的长处理时间。其结果,主机装置的平均等待时间变长。另外,在专利文献1中,也通过设置最小待机阈值等,进行了保证向主机装置的响应时间的考虑。但是,上述专利文献1所公开的技术仅是关于任意的特定请求不使请求者等待太长时间的技术,而并不是缩短主机装置的平均等待时间的技术。实际上,在专利文献1中,对于各请求的实际的处理时间并没有进行任何考
^^ O

发明内容
因此,本发明的目的在于提供一种通过考虑上述的问题、即向主机装置的响应时间的关于全部请求的合计、能够使主机装置的平均等待时间成为最小的用于确定数据的再调用顺序的装置、方法以及程序。本发明的目的还在于提供一种通过也包含执行中的请求而考虑向主机装置的响应时间的关于全部请求的合计、能够使主机装置的平均等待时间成为最小的用于确定数据的再调用顺序的装置、方法以及程序。为了达到上述的目的,本发明从加入到了队列表的全部请求的能够考虑的全部执行顺序中,求取从接收请求到其处理完成为止的等待时间的平均成为最小的执行顺序,按照该执行顺序对队列表内的请求进行排列变换。即,本发明通过以下的连接于带库、用于确定数据的再调用顺序的装置实现。该装置包括请求接收单元,其接收主机装置对于需要从带库再调用的数据的请求;存储单元,其将请求存储于队列表;第一等待时间预测单元,其响应于请求向队列表的存储,关于存储于队列表内的全部请求的能够考虑的全部执行顺序的各个,预测在以该执行顺序进行处理的情况下的关于各请求的等待时间,所述等待时间是从所述请求接收单元进行的接收到带库中的处理的完成为止的时间;第一执行顺序确定单元,其将下述第一执行顺序确定为应该应用的执行顺序,即所述第一执行顺序是关于包含执行中的请求的全部请求将由第一等待时间预测单元预测的等待时间相加而得到的合计成为最小的执行顺序;以及排列变换单元,其按照所确定的应该应用的执行顺序,对队列表内的全部请求的执行顺序进行排列变换。优选地,第一执行顺序确定单元将下述第一执行顺序确定为应该应用的执行顺序,所述第一执行顺序是关于包含执行中的请求的全部请求将由第一等待时间预测单元预测的等待时间相加而得到的合计成为最小并且各请求的等待时间都不超过最大允许等待时间的执行顺序。在这里,最大允许等待时间既可以预先由管理者设定于装置中,或者也可以从主机装置与请求一起指定。更优选地,上述带库包含多个带驱动器。在该情况下,队列表、第一等待时间预测单元以及第一执行顺序确定单元分别按每一带驱动器而准备多个。并且,上述存储单元将一个请求分别虚拟存储于多个队列表。上述装置还包括分配目的地确定单元,其对被准备了下述那样的第一执行顺序确定单元的带驱动器分配一个请求,即该第一执行顺序确定单元是在多个第一执行顺序确定单元所分别确定的多个第一执行顺序的多个等待时间的合计中,确定了最小的等待时间的合计的第一执行顺序确定单元。上述排列变换单元确定一个请求的向与被分配了请求的带驱动器相对应的队列表的存储,按照由被分配了请求的带驱动器所对应的第一执行顺序确定单元确定的第一执行顺序对该队列表内的全部请求的执行顺序进行排列变换。另外,在本发明中,考虑将当前执行中的请求的处理暂时中断而先处理后接收的请求的方式,即使考虑开销也存在能够缩短主机装置的平均等待时间的情况。即,优选地,上述装置还包括第二等待时间预测单元,其响应于请求向队列表的存储,将执行中的请求虚拟划分为进行到当前为止的处理的第一请求和进行剩余的处理的第二请求,并关于包含该第二请求的存储于队列表内的全部请求的能够考虑的全部执行顺序的各个,预测在以该执行顺序进行处理的情况下的关于各请求的等待时间;第二执行顺序确定单元,其将下述执行顺序确定为第二执行顺序,即该执行顺序是关于包含第一请求的全部请求将由第二等待时间预测单元预测的等待时间相加而得到的合计成为最小的执行顺序;应用执行顺序确定单元,其在第二执行顺序的等待时间的合计比第一执行顺序的等待时间的合计小的情况下将第二执行顺序再确定为应该应用的执行顺序,在此外的情况下将第一执行顺序再确定为应该应用的执行顺序;以及中断单元,其响应于第二执行顺序作为应该应用的执行顺序的确定,将执行中的请求的处理中断。更优选地,第一执行顺序确定单元将下述第一执行顺序确定为应该应用的执行顺序,即所述第一执行顺序是关于包含执行中的请求的全部请求将由第一等待时间预测单元预测的等待时间相加而得到的合计为最小并且各请求的等待时间都不超过最大允许等待时间的执行顺序。并且,第二执行顺序确定单元将下述执行顺序确定为第二执行顺序,即该执行顺序是关于包含第1请求的全部请求将由第二等待时间预测单元预测的等待时间相加而得到的合计为最小并且各请求的等待时间都不超过最大允许等待时间的执行顺序。 在这里,最大允许等待时间既可以预先由管理者设定于装置中,或者也可以从主机装置与请求一起指定。更优选地,上述带库包含多个带驱动器。在该情况下,队列表、第一等待时间预测单元、第一执行顺序确定单元、第二等待时间预测单元、第二执行顺序确定单元、中断单元以及应用执行顺序确定单元分别按每一带驱动器而准备多个。并且,上述存储单元将一个请求分别虚拟存储于多个队列表。上述装置还包括分配目的地确定单元,其对被准备了下述那样的应用执行顺序确定单元的带驱动器分配一个请求,即所述应用执行顺序确定单元是在多个应用执行顺序确定单元所分别确定的多个应该应用的执行顺序的多个等待时间的合计中,确定了最小的等待时间的合计的应用执行顺序确定单元。多个中断单元分别在一个请求被分配给了对应的带驱动器的情况下,响应于对应的第二执行顺序作为应该应用的执行顺序的确定,将执行中的请求的处理中断。上述排列变换单元确定一个请求的向与被分配了请求的带驱动器相对应的队列表的存储,按照由被分配了请求的带驱动器所对应的应用执行顺序确定单元确定的应该应用的执行顺序对该队列表内的全部请求的执行顺序进行排列变换。以上,作为用于确定数据的再调用顺序的装置,对本发明进行了说明,但是本发明也能够作为在这样的装置中执行的、用于确定数据的再调用顺序的方法或者程序而把握。根据本发明,加入到了队列表的各请求被排列变换为从接收请求到带库中的其处理完成为止的等待时间的关于全部请求的合计成为最小的执行顺序。其结果,通过本发明的装置,能够使主机装置的平均等待时间成为最小,从主机装置观察的再调用请求的效率提高。关于本发明的其他的效果,从各实施方式的记载可理解。


图1是表示在本发明的实施方式中能够使用的虚拟带系统100的硬件结构的一例的图。图2是表示虚拟带服务器(VTS) 110的概略块的一例的图。图3是表示本发明的第一实施方式的作为用于确定数据的再调用顺序的装置的存储管理器300a的功能结构的一例的图。图4(a)是表示本发明的第一以及第三实施方式的队列表315的一例的图。图4(b) 是表示本发明的第二以及第四实施方式的队列表315的一例的图。图5(a)是表示按照接收顺序处理请求的情况下的各请求的等待时间的图。图 5 (b)是表示本发明的第一以及第三实施方式中的各请求的等待时间的图。图6(a)是表示本发明的第一以及第三实施方式的等待时间计算表的一例的图。 图6(b)是表示本发明的第二以及第四实施方式的等待时间计算表的一例的图。图7是表示本发明的第二实施方式的作为用于确定数据的再调用顺序的装置的存储管理器300b的功能结构的一例的图。图8是表示将执行中的请求中断而先处理后面的请求的情况下的各请求的等待时间的图。图9是表示本发明的第三实施方式的作为用于确定数据的再调用顺序的装置的存储管理器300c的功能结构的一例的图。图10是表示本发明的第四实施方式的作为用于确定数据的再调用顺序的装置的存储管理器300d的功能结构的一例的图。图11是表示流程图的一例的图,所述流程图表示本发明的第一实施方式的存储管理器300a的处理的流程。图12是表示流程图的一例的图,所述流程图表示本发明的第二实施方式的存储管理器300b的处理的流程。
具体实施例方式下面,基于附图对用于实施本发明的方式详细地进行说明,但以下的实施方式并不是要限定权利请求的发明,另外在实施方式中说明的特征的组合的全部并不一定是发明的解决手段所必需的。另外,在实施方式的说明的整体中,对于相同的要素赋予相同的编号。图1表示在本发明的实施方式中能够使用的虚拟带系统100的代表性的硬件结构的一例。本实施方式的虚拟带系统100包含至少一个主机装置105、至少一个虚拟带服务器 (Virtual Tape Server, VTS) 100 以及库系统 115。
各主机装置105a、b能够设定为个人计算机、工作站、服务器、主机(main frame) 那样的在该技术领域中公知的任何计算机。另外各主机装置105a、b能够包含在该技术领域中公知的任何操作系统。主机装置105与VTS 110之间的连接120能够使用存储区域网 (SAN)或者其他适合的通信通道,例如在IBM(商标)主机中使用的企业系统连接(ESCOM) (商标)通道。VTSllO是在该技术领域中公知的任何服务器计算机,包含在该技术领域中公知的任何操作系统。例如,在本发明的特定的实施方式中,VTSllO能够在包含IBM RS/6000(注册商标)系统、IBM P系列(IBM公司的商标)的一个或者多个计算机中实施,能够包含IBM AIX (IBM公司的商标)操作系统。VTSllO还能够包含将存储器的使用最优化的存储管理器那样的应用。存储管理器既能够作为独立的应用而安装,或者也能够作为多个其他的应用的一部分而安装。在特定的实施方式中,存储管理器能够包含IBMMagstar (IBM公司的商标)虚拟带服务器以及 IBM ADSTAR(IBM公司的商标)分散型管理(ADSM)软件或者Tivoli (IBM公司的商标)存储管理器那样用于使用自动数据存储库的软件。存储管理器能够进行主机装置105、后述的 VTSllO内的高速缓存以及库系统115之间的数据移动操作。库系统115能够设定为Magstar (IBM公司的商标)3494带库那样的带库或者在该技术领域中公知的其他任何的自动数据存储库系统。在特定的实施中,库系统115包含库管理器130,能够设定为带驱动单元的一个以上的带驱动装置135a、b、c,存取机构140以及
多个带盒14 .....η。由计算机实现的库管理器130将带驱动装置135与存取机构140
相互连接,控制它们的工作。在图1中,示出三个带驱动装置13fe、b、c。本发明能够在包含一个或者多个带驱动装置135的虚拟带系统100下工作。在图1中,库管理器130、带驱动装置135以及存取机构140的相互连接,为了表示是用于库管理器130对带驱动装置135或者存取机构140 或者其双方发送控制信号以及从其接收控制信号的连接,用虚线表示。另一方面,VTSllO与带驱动装置135之间的相互连接由于是用于发送以及接收所存储或者检索的数据的连接, 所以用实线表示。VTSllO与带驱动装置135之间的相互连接125能够经由SAN、局域网(LAN)、广域网(WAN)或者互联网进行。或者,VTSllO与带驱动装置135,也可以经由点对点或者多点总线连接、例如包含经由小型计算机存储接口(Small Computer Storage Interface, SCSI) 的直接连接的其他适合的类型的网络而连接。存取机构140能够设定为构成为将所选择的带盒145向所指定的带驱动装置135 移送的机械臂或者其他的机械装置。存取机构140通常包含夹子和安装在夹子上的条码扫描器或者同样的读取系统。条码扫描器为了读取在盒标签上印刷的卷的通用编号而使用, 所述盒标签粘贴于带盒145。操作人员接口 150连接于库管理器130。操作人员接口 150能够设定为与库管理器130进行通信的计算机。用户能够与主机装置105独立地控制库系统115的操作参数。主机装置105与VTSl 10交换带操作。带操作的执行指的是从存储于后述的VTSl 10 内的高速缓存内的逻辑卷检索数据或者向该逻辑卷存储数据。VTSlio自动事先移动(卸载)高速缓存内的逻辑卷。在特定的实施中,最长时间未使用的逻辑卷从高速缓存向库系统115内的带盒145传送。在主机装置105需要不在高速缓存内的逻辑卷的情况下,VTSllO 的存储管理器对库系统115即库管理器130发送命令,以便将包含所请求的逻辑卷的带盒 145安装于适合的带驱动装置135。所请求的数据作为VTSllO的高速缓存内的逻辑卷从上述带盒145被调用回并复制。图2是表示图1所示的VTSllO的一实施方式的概略框图。VTSllO能够通过具备总线、处理器、存储器和其他部件的计算机实现。但是,这些要素从图2中被省略,以便更明确地表示与本发明相关的VTSllO的各种能够执行模块以及数据块。另外,虽然VTSllO的安装也可以存在本领域中所公知的其他能够执行模块以及数据块,但是为了着眼于本发明不可缺少的要素,将这样的要素在图2中省略。如图2所示,VTSllO包含多个虚拟带驱动器200a.....m,文件系统管理器205,
至少一个直接存取存储装置(Direct Access StorageDevice,DASD)高速缓存210,存储管理器215以及队列220。DASD高速缓存210将来自主机装置105的数据以文件的形式暂时存储在逻辑卷上。根据一例,DASD高速缓存210通过能够配置构成于RAID5等独立驱动器的冗长阵列内的一个或者多个硬盘驱动器实现。来自主机装置105的写入命令以及数据由虚拟带驱动器 200接收并处理,然后作为文件写入至DASD高速缓存210。然后在适当的定时,存储管理器 215对库管理器130请求向带盒145复制文件。然后,更新结束逻辑卷通过存储管理器215 从DASD高速缓存210向安装于带驱动装置135的适合的带盒145传送。另外,虚拟带驱动器200也处理来自主机装置105的控制命令。文件系统管理器205管理以及调整DASD高速缓存210内的数据存储。存储管理器215控制文件系统管理器205与带驱动装置135之间的通信。存储管理器215还控制 VTSllO与库管理器130之间的通信。在主机装置105请求特定的逻辑卷时,经由虚拟带驱动器200接收到该请求的存储管理器215判断所请求的逻辑卷是否处于DASD高速缓存210 内。当不在DASD高速缓存210内时,存储管理器215对库管理器130请求所请求的逻辑卷的再调用。然后,从带驱动装置135向VTSllO返回的所请求的逻辑卷被复制到DASD 高速缓存210,并且经由虚拟带驱动器200向主机装置105返回。存储管理器215能够包含用于暂时加入追加的再调用请求的队列220。因此,存储管理器215是用于使用带驱动装置 135从带盒145再调用逻辑卷的装置。另外,图1所示的库管理器130在其内部具有存储与逻辑卷以及物理卷有关的信息的数据库(未图示)。在从VTSllO接收到命令时,库管理器130参照该数据库,发现逻辑卷的复本被作成或者检索到了的带盒145,将用于安装该带盒145的命令向适合的带驱动装置135或者存取机构140或者其双方发送。(第一实施方式)图3是表示本发明的第一实施方式的作为用于确定数据的再调用顺序的装置的存储管理器300a的功能结构的一例的图。另外,在第一实施方式中,设定为图1所示的库系统115仅包含一个带驱动装置135。第一实施方式的存储管理器300a, 从被加入于队列表的全部请求的能够考虑的全部执行顺序中求取等待时间的平均成为最小的执行顺序,并按照该执行顺序对队列表内的请求进行排列变换,所述等待时间是从接收请求开始到库系统115中的其处理完成为止的时间。
这样的第一实施方式的存储管理器300a包含请求接收部305、存储部310、队列表 315、最小等待时间确定部320a以及排列变换部335。在这里,最小等待时间确定部320a包含第一等待时间预测部325以及第一执行顺序确定部330。 请求接收部305接收主机装置105对于需要从库系统115再调用的数据的请求X。 此时,请求接收部305获取当前时刻作为请求X的接收时刻。请求接收部305还对所接收的请求分配用于唯一地标识请求X的命令ID。另外,请求接收部305接收的主机装置105 的请求X,能够是数据的读取或者写入请求的任意一种,在本实施例中关于数据的读取请求进行说明。在来自主机装置105的数据读取请求中,包含用于标识目标数据的信息。因此,请求接收部305根据目标数据的标识信息确定记录有目标数据的介质ID即带盒的标识符、 带盒上的读取开始位置、目标数据的读取所花费的执行时间以及带盒上的读取结束位置。 在这里,执行时间意味着使带从读取开始位置移动到读取结束位置所需要的时间。在求取执行时间时,能够利用例如默认设定的读取时的带速度(例如8. 5m/sec)。请求接收部305 向存储部310传递与所接收的请求有关的各种信息。存储部310将由请求接收部305接收的请求X存储于队列表315。图4(a)示出本发明的队列表315的一例。如图4(a)所示,本实施例中的队列表315包含命令ID字段、接收时刻字段、介质ID字段、开始位置字段、执行时间字段以及结束位置字段。存储部310将从请求接收部305传递的各种信息分别存储于队列表315的对应的字段。另外,请求X,在为了处理而被从队列表315取出时,被从队列表315删除。但是,所取出的请求X的各种信息与其处理开始时刻一起被保存于存储器直到请求X的处理完成为止。在图4(a)中,为了容易理解,示出包含处理中的请求(命令#0)的条目的、具有开始时刻字段的队列表315。第一等待时间预测部325响应于请求X向队列表315的存储,关于存储于队列表 315内的全部请求的能够考虑的全部执行顺序的各个,预测在以该执行顺序进行处理时的关于各请求的等待时间。在这里,所谓等待时间,意味着从请求接收部305的请求X的接收开始到请求X在库系统115中的处理的完成为止的时间。这样的请求X的等待时间Tx能够通过下式表示。Tx = Wx(o)+Ax(ρ, η)......(1)在式(1)中,Wx (ο)表示从在请求接收部305接收请求X到请求X的处理开始为止的开始前等待时间。Wx(O)是依赖于存储于队列表315的全部请求的处理顺序的函数。另外,Αχ(ρ,η)表示从请求X的处理开始到结束为止的处理所需时间。Αχ(ρ,η)是依赖于在之前以及之后处理的请求的函数。表示处理所需时间的Αχ(ρ,η)还能够通过下式表示。Ax(ρ, η) = Lx(ρ) +Sx(ρ) +Cx+Rx(η) +Ux(η) ......(2)Lx(p)表示将记录数据的介质即带盒145加载于带驱动装置135所需要的加载时间,所述数据是以请求X为对象的数据。加载时间严格地说认为依赖于带盒145的存储位置与带驱动装置135的物理的位置关系。但是,在带驱动装置135卸载带盒145的期间,在存取机构140使接下来使用的带盒145移动到带驱动装置135的很近的附近的库系统115 下,没有不同。在本实施例中,将Lx(P)设定为预先确定的加载时间、例如10秒。但是,在以请求X为对象的数据被记录于与之前处理的请求相同的带盒145的情况下,由于没有加载带盒145的必要,所以Lx(p)为0。如上所述Lx(p)是依赖于之前处理的请求的函数。
Sx(p)表示使带移动到以请求X为对象的数据的读取开始位置所需要的位置对齐时间。 5χ(Ρ)通过将从带的开头到以请求X为对象的数据的读取开始位置为止的带的长度除以带的移动速度而求取。带的移动速度能够利用默认设定的带的移动速度(例如,IOm/ sec)。但是,在以请求X为对象的数据被记录于与之前处理的请求相同的带盒145的情况下,函数、(P)通过将从之前的请求数据的读取结束位置到以请求X为对象的数据的读取开始位置为止的带的长度除以带的移动速度而求取。如上所述^i(P)是依存于之前处理的请求的函数。Cx表示上述的目标数据的读取实际花费的执行时间。表示在目标数据的读取结束后、将带卷回到其开头所需要的卷回时间。I x(n)通过将以请求X为对象的数据的读取结束位置到带的开头为止的带的长度除以带的移动速度而求取。带的移动速度如上所述,能够利用默认设定的带的移动速度(例如,10m/sec)。但是,在以请求X为对象的数据被记录于与之后处理的请求相同的带盒145的情况下,由于不需要带的卷回,所以I x(n)为 0。如上所述&(11)是依存于之后处理的请求的函数。最后, (n)表示将数据的读取结束了的带盒145从带驱动装置135卸载所需要的卸载时间。另外,由于带驱动装置135在卸载带盒145之后能够进行下面的处理,所以本实施例中的卸载时间不包含使带盒145从带驱动装置135移动到原来的存储位置为止所需要的时间。在本实施例中,UX(p)设定为预先确定的卸载时间、例如20秒。但是,在以请求X 为对象的数据被记录于与之后处理的请求相同的带盒145的情况下,由于不需要卸载带盒 145,所以UX(p)为0。如上所述UX(ρ)是依赖于之后处理的请求的函数。在这里,参照图5(a)以及(b),对%(0)依赖于存储于队列表315的全部请求的处理顺序的情况进行说明。在图5(a)以及(b)中,设定在当前时刻Tcm处理请求(命令#0) 的再调用请求,在队列表315中存储有请求(命令#1)和在时刻Tcm刚刚接收的请求(命令#2)。而且,设定请求(命令#1)的执行时间C1非常长,另一方面请求(命令#2)的执行时间C2非常短。在图5 (a)以及(b)中,时刻TKQ、TK1、TK2分别表示请求(命令#0) 请求(命令#2) 在请求接收部305的接收时刻。另外,时刻Tstl表示请求(命令#0)的处理开始时刻,时刻 TE。、TE1/T’ E1、TE2/T’ E2分别表示请求(命令#0) 请求(命令把)的处理结束时刻。另外, 为了容易理解,设定分别以请求(命令#0) 请求(命令把)为目标的数据都记录于相同的带盒145。在这样的状况下,表示按照请求接收部305的接收时刻的早晚顺序处理请求时的各请求的开始前等待时间W以及处理所需时间A的是图5 (a)。观察图5 (a)可知,由于请求 (命令#1)的处理所需时间~508因其执行时间C1而非常长,所以即使请求(命令#2)的处理所需时间A2512非常短,请求(命令#2)的开始前等待时间W2510也较长。另一方面,表示先处理在请求(命令#1)后接收的请求(命令把)的情况下的各请求的开始前等待时间W以及处理所需时间A的是图5(b)。在此情况下,请求(命令#2)由于不需要等待具有较长执行时间C1的请求(命令#1)的处理,所以其开始前等待时间W2526 与图5(a)中的请求2的开始前等待时间W2510相比变得非常短。另一方面,虽然请求(命令#1)的开始前等待时间A530与图5 (a)中的请求(命令#1)的开始前等待时间化506相比变长,但是由于先处理的请求(命令#2)的执行时间C2非常短,所以其差异很小。结果,请求(命令#0) 请求(命令#2)的等待时间的平均在图5(b)的情况下比图5(a)的情况小。这样,请求X的开始前等待时间Wx(O)依赖于存储于队列表315的全部请求的处理顺序。第一等待时间预测部325使用上述的式⑴以及(2),关于存储于队列表315的全部请求的能够考虑的全部执行顺序的各个,预测在以该执行顺序进行处理时的各请求的等待时间。作为一例,第一等待时间预测部325如下所述那样计算各请求的等待时间。另外, 为了说明,假定当前请求(命令#0)的再调用处于处理中,在队列表315中存储有请求(命令#1) 请求(命令#N)的N个请求。于是,全部请求的能够考虑的全部执行顺序存在N ! 种。因此,关于N!种执行顺序,依次作成图6(a)所示的等待时间计算表。图6 (a)所示的多个等待时间计算表分别具有命令ID字段、接收时刻字段、开始时刻字段、处理所需时间字段、完成时刻字段以及等待时间字段。在这里,关于某一执行顺序 D,说明等待时间计算表的作成方法。为了完成执行顺序D的等待时间计算表,首先,按照执行顺序D依次将各请求的命令ID与接收时刻登记于等待时间计算表。在这里,所登记的请求还包含当前处理中的请求(命令#0)。但是,关于哪一执行顺序的等待时间计算表,请求 (命令#0)都作为执行顺序0而登记于等待时间计算表的最初。接下来,使用上述的式O),按照执行顺序D依次计算各请求的处理所需时间,将计算出的处理所需时间登记于等待时间计算表。另外,要注意,对于任意的请求X,只要其前后执行的请求确定,其处理所需时间Ax (P,η)便能够使用队列表315内的值通过上述式(2) 求取。但是,在请求(命令#0)之前处理的请求的介质ID和读取结束位置,通常暂时保存于存储器,在求取请求(命令#0)的处理所需时间~( ,11)时进行参照。接下来,从队列表315读取请求(命令#0)的开始时刻Tstl而登记于等待时间计算表。另外,通过使请求(命令#0)的处理所需时间Atl与请求0的开始时刻Tstl相加,求取请求0的完成时刻ΤΕ(Ι。最终,请求(命令#0)的等待时间通过从完成时刻Teci减去接收时刻 Tko而求取。关于其他的请求,也按照执行顺序D依次进行与请求(命令#0)同样的处理。但是,关于其他的请求的开始时刻,成为该请求的之前的请求的完成时刻。而且,在关于N ! 种执行顺序分别进行上述等待时间计算表作成处理时,最终关于全部执行顺序的各个,求取在以该执行顺序进行处理时的各请求的等待时间。第一执行顺序确定部330将下述第一执行顺序确定为应该应用的执行顺序,即该第一执行顺序是关于包含执行中的请求的全部请求将由第一等待时间预测部325预测的等待时间相加而得到的合计成为最小的执行顺序。第一执行顺序确定部330关于由第一等待时间预测部325作成的N !个等待时间计算表的各个,计算请求0 N的等待时间的合计。然后,第一执行顺序确定部330将与等待时间的合计成为最小的等待时间计算表相对应的执行顺序即第一执行顺序确定为实际应该应用的执行顺序。优选地,第一执行顺序确定部330将下述第一执行顺序确定为应该应用的执行顺序,即该第一执行顺序是关于包含执行中的请求的全部请求将由第一等待时间预测部 325预测的等待时间相加而得到的合计成为最小并且各请求的等待时间都不超过最大允许等待时间的执行顺序。在这里,最大允许等待时间既可以预先由管理者设定于装置中,也可以从主机装置105与请求一起指定。
在此情况下,第一执行顺序确定部330从由第一等待时间预测部325作成的N ! 个表,取出请求(命令#0) 请求(命令#N)的各等待时间都不超过最大允许等待时间的等待时间计算表。然后,第一执行顺序确定部330关于所取出的等待时间计算表,分别计算请求(命令#0) 请求(命令#N)的等待时间的合计。最后,第一执行顺序确定部330将与等待时间的合计成为最小的等待时间计算表相对应的执行顺序即第一执行顺序确定为实际应该应用的执行顺序。排列变换部335按照由第一执行顺序确定部330确定的应该应用的执行顺序,对队列表315内的全部请求的执行顺序进行排列变换。这样,在第一实施方式的存储管理器300a中,加入到了队列表315的各请求被排列变换为从接收请求到其处理完成为止的等待时间的关于全部请求的合计成为最小的执行顺序。其结果,通过本发明的装置,能够使主机装置105的平均等待时间成为最小,从主机装置观察的再调用请求的效率提高。(第二实施方式)图7是表示本发明的第二实施方式的作为用于确定数据的再调用顺序的装置的存储管理器300b的功能结构的一例的图。另外,在第二实施方式中,也设定为图1所示的库系统115仅包含一个带驱动装置135。第二实施方式的存储管理器300b, 考虑将当前执行中的请求的处理暂时中断而先处理后接收的请求的方式,即使考虑开销也存在能够缩短主机装置105的平均等待时间的情况。参照图5(a)以及图8,对这样将当前执行中的请求的处理暂时中断的方式能够缩短主机装置105的平均等待时间的情况进行说明。在图5(a)以及图8中,设定在当前时刻 Tcot处理请求(命令#0)的再调用请求,在队列表315中存储有请求(命令#1)和在时刻 Tcur刚刚接收的请求(命令#2)。而且,设定请求(命令#0)的执行时间Ctl与请求(命令 #1)的执行时间C1非常长,另一方面请求(命令#2)的执行时间C2非常短。另外在图5(a)以及图8中,时刻TKQ、TK1、TK2分别表示请求(命令#0) 请求(命令#2)在请求接收部305的接收时刻。时刻Tstl表示请求(命令#0)的处理开始时刻。在图5(a)中,时刻TEQ、Tei、TE2分别表示请求(命令#0) 请求(命令#2)的处理结束时刻。 另外,在图8中,时刻T’E(I表示将请求(命令#0)中断的时刻(同时,也是当前时刻T。u,、请求(命令#2)的接收时刻),T”EQ、T”E1、T”E2分别表示再开始的请求(命令#0)、请求(命令#1)以及请求(命令把)的处理结束时刻。另外,为了容易理解,设定分别以请求(命令 #0) 请求(命令#2)为目标的数据都记录于相同的带盒145。在这样的状况下,表示按照请求接收部305的接收时刻的早晚顺序处理请求时的各请求的开始前等待时间W以及处理所需时间A的是图5 (a)。观察图5 (a)可知,由于请求 (命令#0)的处理所需时间&504以及请求(命令#1)的处理所需时间AjOS因其执行时间Cc^C1而分别非常长,所以即使请求(命令#2)的处理所需时间4512非常短,请求(命令#2)的开始前等待时间W2510也较长。另一方面,表示将请求(命令#0)的再调用处理在接收到请求(命令#2)的当前时刻τ·暂时中断而先处理请求(命令#2)时的各请求的开始前等待时间W以及处理所需时间A的是图8。在此情况下,请求(命令#2)由于不需要等待分别具有较长执行时间Q、 C1的请求0以及请求1的处理,所以其开始前等待时间变为0。另外,在请求(命令#0)和请求(命令#2)以分别记录于不同的带盒145的数据为目标的情况下,请求(命令#2)需要等待关于请求(命令#0)的卷回时间I^1(Ii)以及卸载时间U1 (η)。另一方面,请求(命令#0)由于要等待处理的再开始,所以会新产生开始前等待时间W’。808的等待时间。另外,请求(命令#1)由于也需要等待请求(命令#2)的处理,所以其开始前等待时间W012变得比图5(a)的开始前等待时间巧506长。但是,由于请求(命令#2)的执行时间C2非常短,所以其影响很小。结果,请求(命令#0) 请求(命令#2)的等待时间的平均在图8的情况下比图5(a)的情况短。另外,请求(命令#0)的等待时间变为Wq802、A’ q804、W’ 0808以及A’ 0810的合计。这样,将当前执行中的请求的处理暂时中断的方式存在能够缩短主机装置105的平均等待时间的情况。另外,也可以暂时保存在中断之前关于请求(命令#0)所读取的数据。而且,在再开始请求(命令#0)时,也可以仅读取剩余的数据。这样考虑当前处理中的请求的中断的第二实施方式的存储管理器300b,具有与第一实施方式的存储管理器300部分相同的功能结构。但是,第二实施方式的最小等待时间确定部320还包含用于求取假定为暂时中断当前处理中的请求的处理时的最小的等待时间的平均值的第二等待时间预测部340以及第二执行顺序确定部345。另外,第二实施方式的最小等待时间确定部320还包含应用执行顺序确定部350以及中断部355,其用于将假定为不中断当前处理中的请求的处理时的最小的等待时间的平均值与假定为暂时中断当前处理中的请求的处理时的最小的等待时间的平均值相比较,且在中断这一方等待时间的平均值变小时将当前执行中的请求的处理中断。因此,以下,关于新增加的上述多个构成要素进行说明。另外,由第二等待时间预测部340以及第二执行顺序确定部345进行的处理与由第一等待时间预测部325以及第一执行顺序确定部330进行的处理相独立,因此,这些处理既可以同时进行,或者也可以先进行任意一方,怎样都可以。第二等待时间预测部340响应于请求X向队列表315的存储,将执行中的请求虚拟划分为进行到当前为止的处理的第一请求和进行剩余的处理的第二请求,并关于包含该第二请求的存储于队列表315内的全部请求的能够考虑的全部执行顺序的各个,预测在以该执行顺序进行处理时的关于各请求的等待时间。以下说明由第二等待时间预测部340进行的处理的具体的方法。首先,第二等待时间预测部340响应请求X向队列表315的存储,作成队列表315 的副本。但是,在队列表315的副本中,增加了第一请求和第二请求的条目。例如,假定为在由请求接收部305接收到请求X时,请求(命令#0)处于处理中,并且具有图4(a)所示的队列表315。另外,如关于第一实施方式所说明的,在图4(a)所示的队列表315中,为了容易说明,剩余有请求(命令#0)的条目,另外设置有开始时间字段。实际上这些数据与队列表315分开保存于存储器。于是,第二等待时间预测部340基于图4 (a)所示的队列表315, 作成图4(b)所示的新的队列表。在图4(a)中,当前处理中的请求的请求ID为命令#0。另外,在图4(b)中,划分当前处理中的请求而成的第一请求和第二请求的命令ID分别为命令#0-1和命令#0-2。在第二请求的介质ID字段和结束位置字段、第一请求的接收时刻字段、介质ID字段、开始位置字段以及开始时刻字段中,原样复制有原始的当前处理中的请求即命令#0的条目的对应的值(参照图4(a)以及图4(b))。在第一请求的剩余的字段即第一请求的结束位置字段中,登记有将请求X向队列表315加入的时刻的带驱动装置135的磁头的当前位置Ε’ 00 在第一请求的执行时间字段中,登记有将从开始位置&到结束位置E’ ^为止的距离除以读取时的带速度(例如8. 5m/sec)而得到的值C’ QO另一方面,在第二请求的开始位置字段中,登记有第一请求的结束位置Ε’ ^的值。 另外,在第二请求的执行时间字段中,登记有从原始的当前处理中的请求即命令#0的执行时间Ctl减去第一请求的执行时间CTtl而得到的值C:。另外,第二请求的接收时刻字段,原样设为空栏。这是由于下面的原因。第二请求的接收时刻为第一请求的处理的完成时刻。 但是,第一请求的处理并不是与当前处理中的请求(命令#0)的中断的确定同时结束,而在关于第一请求的带的卷回以及带盒的卸载结束的时刻结束。并且,卷回时间R以及卸载时间U如上所述,依赖于之后的请求。因此,如果不能确定在第一请求之后处理的请求,则不能计算第一请求的处理的完成时刻。在能够作成队列表315的副本时,第二等待时间预测部340通过与在第一实施方式中说明的基本上同样的方法作成关于第一实施方式所说明的等待时间计算表。将这样的等待时间计算表示于图6(b)。另外,第二等待时间预测部340对处理中的请求(命令#0) 虚拟性进行分割,作为执行中的第一请求和等待处理的第二请求而对待。因此,等于队列表 315内的等待处理的请求的数量增加了一个,第二等待时间预测部340在作成等待时间计算表时,不是利用队列表315,而是利用上述作成的队列表315的复本。另外,由于关于全部请求所考虑的执行顺序为(Ν+1) !种,所以作成(Ν+1) !个等待时间计算表。另外,应该注意,在任一等待时间计算表中,请求2的接收时刻字段都在第一请求的处理的完成时刻的计算后登记该完成时刻。通过第二等待时间预测部340,作成(Ν+1) ! 个等待时间计算表,同时关于包含第二请求在内的存储于队列表315内的全部请求的能够考虑的全部执行顺序的各个,求取在以该执行顺序进行处理时的关于各请求的等待时间。第二执行顺序确定部345将下述执行顺序确定为第二执行顺序,即该执行顺序是关于包含第二请求的全部请求将由第二等待时间预测部340预测的等待时间相加而得到的合计成为最小的执行顺序。第二执行顺序确定部345关于由第二等待时间预测部340 作成的(Ν+1) !个等待时间计算表的各个,计算第一请求(命令#0-1)、第二请求(命令 #0-2)以及请求(命令#1) 请求(命令#Ν)的等待时间的合计。然后,第二执行顺序确定部345将与等待时间的合计成为最小的等待时间计算表相对应的执行顺序确定为第二执行顺序。优选地,第二执行顺序确定部345将下述执行顺序确定为第二执行顺序,即该执行顺序是关于包含第1请求的全部请求将由第二等待时间预测部340预测的等待时间相加而得到的合计成为最小并且各请求的等待时间都不超过最大允许等待时间的执行顺序。 在这里,最大允许等待时间既可以预先由管理者设定于装置中,或者也可以从主机装置105 与请求一起指定。在此情况下,第二执行顺序确定部345从由第二等待时间预测部340作成的 (Ν+1) !个等待时间计算表,取出第一请求(命令#0-1)、第二请求(命令#0-2)以及请求 (命令#1) 请求(命令#Ν)的各等待时间都不超过最大允许等待时间的等待时间计算表。 然后,第二执行顺序确定部345关于所取出的等待时间计算表,计算第一请求(命令#0-1)、 第二请求(命令#0-2)以及请求(命令#1) 请求(命令#Ν)的等待时间的合计。最后,第二执行顺序确定部345将与等待时间的合计成为最小的等待时间计算表相对应的执行顺序确定为第二执行顺序。应用执行顺序确定部350,在由第二执行顺序确定部345确定的第二执行顺序的等待时间的合计比由第一执行顺序确定部330确定的第一执行顺序的等待时间的合计小的情况下将第二执行顺序再确定为应该应用的执行顺序,在此外的情况下将第一执行顺序再确定为应该应用的执行顺序。在将第二执行顺序确定为应该应用的执行顺序的情况下, 应用执行顺序确定部350对排列变换部335通知将第二请求的条目增加于队列表315。排列变换部335按照由应用执行顺序确定部350确定的应该应用的执行顺序,对队列表315内的全部请求的执行顺序进行排列变换。在从应用执行顺序确定部350接收到增加第二请求的条目的通知的情况下,排列变换部335利用由第二等待时间预测部340作成的队列表315的复本,对队列表315增加第二请求的条目。然后,排列变换部335执行队列表315内的全部请求的执行顺序的排列变换。中断部355响应于由应用执行顺序确定部350进行的第二执行顺序作为应该应用的执行顺序的确定,将执行中的请求的处理实际中断。另外,如上所述,也可以将在中断前所读取的数据暂时保存于存储器,以便在再开始时只要仅读取剩余的数据即可。这样在第二实施方式的存储管理器300b中,在即使考虑开销也能够缩短主机装置105的平均等待时间的情况下,将当前执行中的请求的处理暂时中断而先处理后接收的请求。其结果,在本发明的装置中,能够使主机装置105的平均等待时间成为最小,从主机装置观察的再调用请求的效率提高。(第三实施方式)图9是表示本发明的第三实施方式的作为用于确定数据的再调用顺序的装置的存储管理器300c的功能结构的一例的图。第三实施方式的存储管理器300c具有与第一实施方式的存储管理器300a基本相同的功能结构。但是,在第三实施方式中,图1所示的库系统115包含多个带驱动装置135。即,第三实施方式的存储管理器300c将第一实施方式的存储管理器300a扩展为能够应用于包含多个带驱动装置135a、 b.......的库系统115。第三实施方式的存储管理器300c按每一带驱动装置135分别准备队列表315、第一等待时间预测部325以及第一执行顺序确定部330。第三实施方式的存储部310将一个请求分别虚拟存储于多个队列表315a、b、...。按每一带驱动装置135准备多个的上述各构成要素,对于虚拟存储的请求,与关于第一实施方式所说明的作用同样地起作用。S卩,在第三实施方式的最小等待时间确定部320c中,按每一对与同一队列表315 相对应的第一等待时间预测部325以及第一执行顺序确定部330,从加入到了对应的队列表315的全部请求的能够考虑的全部执行顺序中,求取从接收请求到该处理完成为止的等待时间的平均成为最小的执行顺序。另外,由于成为最小的执行顺序的求取方法在第一实施方式中进行了说明,所以为了避免重复,在这里省略说明。第三实施方式的存储管理器300c还包含分配目的地确定部360。分配目的地确定部360基于通过各对第一等待时间预测部325以及第一执行顺序确定部330分别求取的多个执行顺序,确定实际分配上述请求的带驱动装置135。即,分配目的地确定部360对被准备了下述第一执行顺序确定部330的带驱动装置135分配上述一个请求,即该第一执行顺序确定部330是在多个第一执行顺序确定部330a、b、...所分别确定的多个第一执行顺序的多个等待时间的合计中,确定了最小的等待时间的合计的第一执行顺序确定部330。第三实施方式的排列变换部335确定上述请求的向与带驱动装置135相对应的队列表315的存储,该带驱动装置135是由分配目的地确定部360作为分配目的地而确定的带驱动装置。而且,排列变换部335按照由与作为分配目的地而确定的上述带驱动装置135 相对应的第一执行顺序确定部330确定的第一执行顺序,对确定了上述请求的存储的队列表315内的全部请求的执行顺序进行排列变换。(第四实施方式)图10是表示本发明的第四实施方式的作为用于确定数据的再调用顺序的装置的存储管理器300d的功能结构的一例的图。第四实施方式的存储管理器300d具有与第二实施方式的存储管理器300b基本相同的功能结构。但是,在第四实施方式中,图1所示的库系统115包含多个带驱动装置135。即,第四实施方式的存储管理器300d将第二实施方式的存储管理器300d扩展为能够应用于包含多个带驱动装置135a、 b.......的库系统115。第四实施方式的存储管理器300d按每一带驱动装置135分别准备队列表315、第一等待时间预测部325、第一执行顺序确定部330、第二等待时间预测部340、第二执行顺序确定部;345、应用执行顺序确定部350以及中断部355。第四实施方式的存储部310将一个请求分别虚拟存储于多个队列表315a、b、...。按每一带驱动装置135准备多个的上述各构成要素,对于虚拟存储的请求,与关于第一实施方式及第二实施方式所说明的作用同样地起作用。S卩,在第四实施方式的最小等待时间确定部320d中,按每一队列表315,对应的应用执行顺序确定部350将由对应的第一执行顺序确定部330以及第二执行顺序确定部345 分别确定的第一执行顺序与第二执行顺序进行比较,确定应该应用的执行顺序。另外,由于成为最小的执行顺序的求取方法在第二实施方式中进行了说明,所以为了避免重复,在这里省略说明。第四实施方式的存储管理器300c还包含分配目的地确定部360。第四实施方式的分配目的地确定部360基于通过多个应用执行顺序确定部350a、b、...分别求取的多个执行顺序,最终确定实际分配上述请求的带驱动装置135。即,第四实施方式的分配目的地确定部360对与下述应用执行顺序确定部360对应的带驱动装置135分配上述一个请求,即该应用执行顺序确定部360是在多个应用执行顺序确定部360a、b、...所分别确定的多个应该应用的执行顺序的多个等待时间的合计中,确定了最小的等待时间的合计的应用执行顺序确定部360。第四实施方式的排列变换部335确定上述请求的向与带驱动装置135相对应的队列表315的存储,该带驱动装置135是通过上述分配目的地确定部360分配了请求的带驱动装置。而且,排列变换部335按照由与分配了请求的上述带驱动装置135相对应的应用执行顺序确定部350确定的应该应用的执行顺序,对确定了上述请求的存储的队列表315 内的全部请求的执行顺序进行排列变换。接下来,参照图11的流程图,对第一实施方式的作为用于确定数据的再调用顺序的装置的存储管理器300a的工作进行说明。在图11中,处理从步骤100开始,存储管理器 300a从主机装置105接收第N个请求,将该请求存储于队列表315 (步骤10 。将此时执行中的请求的命令ID设为命令#0,设定为在队列表315中存储有请求(命令#1) 请求(命令# (N-I))这N-I个请求。在将请求(命令謝)存储于队列表315时,存储管理器300a关于存储于队列表 315内的全部请求的能够考虑的全部执行顺序、即N !种排列顺序的各个,计算在以该执行顺序进行处理时的各请求的等待时间Ti (i = 0 N)(步骤110)。在这里,所谓各请求的等待时间,意味着从存储管理器300a接收各请求到带驱动装置135中的处理的完成为止的等待时间。在关于N !种排列顺序的各个计算各请求的等待时间时,存储管理器300a确定各请求的等待时间都不超过最大允许等待时间那样的全部排列顺序。而且,存储管理器300a 从所确定的排列顺序中,关于包含执行中的请求(命令#0)的全部请求使等待时间相加,将其合计成为最小的执行顺序确定为第一执行顺序(步骤11 。另外,在不存在全部请求的等待时间都在最大允许等待时间内的排列顺序的情况下,处理因此结束。最后,存储管理器300a将第一执行顺序设为应该应用的执行顺序,按照第一执行顺序对队列表315内的请求进行排列变换(步骤120)。然后处理结束。另外,第三实施方式的存储管理器300c的工作的基本的部分也与图11所示的流程图相同。然而,在第三实施方式的存储管理器300c的情况下,在步骤105,请求并非确定的,而是虚拟地存储于多个队列表315a、b、...。而且,存储管理器300c对于各队列表315 执行步骤110以及步骤115。然后,第三实施方式的存储管理器300c,在前进至步骤120之前,从对各队列表 315分别确定的多个第一执行顺序中,将等待时间的合计成为最小的第一执行顺序确定为应该应用的执行顺序。而且,存储管理器300c对确定了作为应该应用的执行顺序的第一执行顺序的队列表315相对应的带驱动装置135,分配上述请求。即,仅关于确定了作为应该应用的执行顺序的第一执行顺序的队列表315,确定上述请求的存储。然后,处理前进至步骤120,存储管理器300c按照应该应用的执行顺序,对与被分配了上述请求的带驱动装置 135相对应的队列表315内的请求进行排列变换。接下来,参照图12的流程图,对第二实施方式的作为用于确定数据的再调用顺序的装置的存储管理器300b的工作进行说明。在图12中,处理从步骤200开始,存储管理器 300b从主机装置105接收第N个请求,将该请求存储于队列表315 (步骤20 。将此时执行中的请求的命令ID设为命令#0,设定为在队列表315中存储有请求(命令#1) 请求 (命令# (N-I))这N-I个请求。在将请求(命令#N)存储于队列表315时,存储管理器300b并列或者顺序执行从步骤210到步骤215的第一处理和从步骤220到步骤235的第二处理。另外,关于步骤210 以及步骤215的处理,由于与参照图11的步骤110以及115所说明的处理相同,所以详细的说明省略。第二实施方式的存储管理器300b在步骤215的处理之后,获取第一执行顺序 O1和与该执行顺序O1相对应的最小的等待时间的合计值Sp但是,在步骤215,在不存在全部请求的等待时间都在最大允许等待时间内的排列顺序的情况下,处理前进至步骤M5。存储管理器300b另外假定执行中的请求(命令#0)的中断,获得带驱动装置135 的读取磁头的当前位置(步骤220)。然后,存储管理器300b将执行中的请求(命令#0) 虚拟划分为进行至当前为止的处理的第一请求(命令#0-1)和进行剩余的处理的第二请求 (命令#0-2),利用上述磁头的当前位置,新作成包含请求2的队列表315的复本。
然后,存储管理器300b基于存储有包含请求2的N+1个请求的队列表315的复本,关于(N+1) !种排列顺序的各个,计算在以该执行顺序进行处理时的各请求的等待时间1\(1 =0-1,0-2,1 N)(步骤230)。另外,这里所谓各请求的等待时间,也意味着从存储管理器300b接收各请求到带驱动装置135中的处理的完成为止的等待时间。在关于N+1 !种排列顺序的各个计算各请求的等待时间时,存储管理器300b确定各请求的等待时间都不超过最大允许等待时间那样的全部排列顺序。而且,存储管理器 300b从所确定的排列顺序中,关于包含请求1及请求2的全部请求使等待时间相加,将其合计成为最小的执行顺序确定为第二执行顺序02,另外确定与第二执行顺序A对应的最小的等待时间的合计值S2 (步骤23 。但是,在不存在全部请求的等待时间都在最大允许等待时间内的排列顺序的情况下,处理前进至步骤255。然后,存储管理器300b将与第一执行顺序O1相对应的最小等待时间的合计值S1 和与第二执行顺序A相对应的最小等待时间的合计值&进行比较(步骤Mo)。在合计值 S2小于等于S1的情况下(步骤MO 否),存储管理器300b对库系统115指示执行中的请求(命令#0)的中断(步骤对幻。然后,存储管理器300b使用队列表315的复本更新原始的队列表315,按照第二执行顺序O2对包含更新后的请求2的队列表315内的请求进行排列变换(步骤250)。然后处理结束。另一方面,在合计值&比S1大的情况下(步骤MO 是),存储管理器300b按照第一执行顺序O1对队列表315内的请求进行排列变换(步骤25 。然后处理结束。另外,第四实施方式的存储管理器300d的工作的基本的部分也直至步骤240为止与图12所示的流程图相同。然而,在第四实施方式的存储管理器300d的情况下,在步骤 205,请求并非确定的,而是虚拟地存储于多个队列表315a、b、...。而且,存储管理器300d 对于各队列表315执行步骤210到步骤MO的处理,确定应该应用的执行顺序。即,如果在步骤240为是,则采用第一执行顺序O1,如果在步骤240为否,则采用第二执行顺序02。然后,第四实施方式的存储管理器300d,从对各队列表315分别确定的多个执行顺序中,将等待时间的合计成为最小的执行顺序确定为应该应用的执行顺序。然后,存储管理器300d对与确定了应该应用的执行顺序的队列表315相对应的带驱动装置135,分配上述请求。即,仅关于确定了应该应用的执行顺序的队列表315确定上述请求的存储。最后, 存储管理器300d按照应该应用的执行顺序,对与被分配了上述请求的带驱动装置135相对应的队列表315内的请求进行排列变换。以下,使用实施方式进行了本发明的说明,但本发明的技术范围并不限定于上述实施方式所记载的范围。例如在将本发明的第一实施方式扩展为能够应用于包含多个带驱动装置135a、b、...的库系统115时,在本发明的第三实施方式中,对于按每一带驱动装置 135而准备的多个队列表,分别假定新接收的请求的分配而计算平均等待时间。但是,为了进一步缩短计算时间,也能够采用以下的方法。S卩,在新接收的请求是针对安装于带驱动装置135的某一个的带盒145的请求的情况下,对安装有该带盒145的带驱动装置135分配请求。在新接收的请求不是针对安装于带驱动装置135的带盒145的任意一个的请求的情况下,将针对相同带盒145的请求集合而分组化。然后,从成员多的分组开始依次对存储于其队列表315的请求少的带驱动装置 135进行分配。然后,在请求的分配确定后,对分配了请求的带驱动装置135的队列表315,执行由第一实施方式的存储管理器300c进行的请求的再配置。 通过同样的方法,能够将第二实施方式扩展为能够应用于包含多个带驱动装置 135a, b,...的库系统115。这样,本领域技术人员可知能够对上述的实施方式进行各种变形或者改进。因此,施加了这样的变形或者改进的方式当然也包含于本发明的技术范围。
权利要求
1.一种装置,其连接于带库,用于确定数据的再调用顺序,包括请求接收单元,其接收主机装置对于需要从所述带库再调用的数据的请求; 存储单元,其将所述请求存储于队列表;第一等待时间预测单元,其响应于所述请求向所述队列表的存储,关于存储于所述队列表内的全部请求的能够考虑的全部执行顺序的各个,预测在以该执行顺序进行处理的情况下的关于各请求的等待时间,所述等待时间是从所述请求接收单元进行的接收到所述带库中的处理的完成为止的时间;第一执行顺序确定单元,其将下述第一执行顺序确定为应该应用的执行顺序,即所述第一执行顺序是关于包含执行中的请求的全部请求将由所述第一等待时间预测单元预测的所述等待时间相加而得到的合计成为最小的执行顺序;以及排列变换单元,其按照所确定的所述应该应用的执行顺序,对所述队列表内的所述全部请求的执行顺序进行排列变换。
2.如权利请求1所述的装置,其中所述第一执行顺序确定单元将下述第一执行顺序确定为应该应用的执行顺序,所述第一执行顺序是关于包含执行中的请求的全部请求将由所述第一等待时间预测单元预测的所述等待时间相加而得到的合计成为最小并且各请求的所述等待时间都不超过最大允许等待时间的执行顺序。
3.如权利请求1或2所述的装置,其中所述带库包含多个带驱动器,所述队列表、所述第一等待时间预测单元以及所述第一执行顺序确定单元分别按每一所述带驱动器而准备多个;所述存储单元将一个所述请求分别虚拟存储于多个所述队列表; 该装置还包括分配目的地确定单元,其对被准备了下述那样的所述第一执行顺序确定单元的所述带驱动器分配所述一个请求,即该第一执行顺序确定单元是在多个所述第一执行顺序确定单元所分别确定的多个所述第一执行顺序的多个所述等待时间的合计中,确定了最小的所述等待时间的合计的第一执行顺序确定单元;所述排列变换单元确定所述一个请求的向与被分配了所述请求的所述带驱动器相对应的所述队列表的存储,按照由被分配了所述请求的所述带驱动器所对应的所述第一执行顺序确定单元确定的所述第一执行顺序对该队列表内的全部请求的执行顺序进行排列变换。
4.如权利请求1所述的装置,还包括第二等待时间预测单元,其响应于所述请求向所述队列表的存储,将所述执行中的请求虚拟划分为进行到当前为止的处理的第一请求和进行剩余的处理的第二请求,并关于包含该第二请求的存储于所述队列表内的全部请求的能够考虑的全部执行顺序的各个,预测在以该执行顺序进行处理的情况下的关于各请求的所述等待时间;第二执行顺序确定单元,其将下述执行顺序确定为第二执行顺序,即该执行顺序是关于包含所述第一请求的全部请求将由所述第二等待时间预测单元预测的所述等待时间相加而得到的合计成为最小的执行顺序;应用执行顺序确定单元,其在所述第二执行顺序的所述等待时间的合计比所述第一执行顺序的所述等待时间的合计小的情况下将所述第二执行顺序再确定为所述应该应用的执行顺序,在此外的情况下将所述第一执行顺序再确定为所述应该应用的执行顺序;以及中断单元,其响应于所述第二执行顺序作为所述应该应用的执行顺序的确定,将所述执行中的请求的处理中断。
5.如权利请求4所述的装置,其中所述第一执行顺序确定单元将下述第一执行顺序确定为应该应用的执行顺序,即所述第一执行顺序是关于包含执行中的请求的全部请求将由所述第一等待时间预测单元预测的所述等待时间相加而得到的合计为最小并且各请求的所述等待时间都不超过最大允许等待时间的执行顺序;所述第二执行顺序确定单元将下述执行顺序确定为所述第二执行顺序,即该执行顺序是关于包含所述第1请求的全部请求将由所述第二等待时间预测单元预测的所述等待时间相加而得到的合计为最小并且各请求的所述等待时间都不超过所述最大允许等待时间的执行顺序。
6.如权利请求4或5所述的装置,其中所述带库包含多个带驱动器,所述队列表、所述第一等待时间预测单元、所述第一执行顺序确定单元、所述第二等待时间预测单元、所述第二执行顺序确定单元、所述中断单元以及所述应用执行顺序确定单元分别按每一所述带驱动器而准备多个; 所述存储单元将一个所述请求分别虚拟存储于多个所述队列表; 该装置还包括分配目的地确定单元,其对被准备了下述那样的所述应用执行顺序确定单元的所述带驱动器分配所述一个请求,即所述应用执行顺序确定单元是在多个所述应用执行顺序确定单元所分别确定的多个所述应该应用的执行顺序的多个所述等待时间的合计中,确定了最小的所述等待时间的合计的所述应用执行顺序确定单元;所述多个中断单元分别在所述一个请求被分配给了对应的所述带驱动器的情况下,响应于对应的所述第二执行顺序作为所述应该应用的执行顺序的确定,将所述执行中的请求的处理中断;所述排列变换单元确定所述一个请求的向与被分配了所述请求的所述带驱动器相对应的所述队列表的存储,按照由被分配了所述请求的所述带驱动器所对应的所述应用执行顺序确定单元确定的所述应该应用的执行顺序对该队列表内的全部请求的执行顺序进行排列变换。
7.一种方法,该方法在连接于带库的装置中执行,用于确定数据的再调用顺序,包括 接收主机装置对于需要从所述带库再调用的数据的请求的步骤;将所述请求存储于队列表的步骤;响应于所述请求向所述队列表的存储,关于存储于所述队列表内的全部请求的能够考虑的全部执行顺序的各个,预测在以该执行顺序进行处理的情况下的关于各请求的等待时间的步骤,所述等待时间是从该请求的接收到所述带库中的处理的完成为止的时间;将下述第一执行顺序确定为应该应用的执行顺序的步骤,即所述第一该执行顺序是 关于包含执行中的请求的全部请求将预测的所述等待时间相加而得到的合计成为最小的执行顺序;以及按照所确定的所述应该应用的执行顺序,对所述队列表内的所述全部请求的执行顺序进行排列变换的步骤。
8.如权利请求7所述的方法,还包括响应于所述请求向所述队列表的存储,将所述执行中的请求虚拟划分为进行到当前为止的处理的第一请求和进行剩余的处理的第二请求,并关于包含该第二请求的存储于所述队列表内的全部请求的能够考虑的全部执行顺序的各个,预测在以该执行顺序进行处理的情况下的关于各请求的所述等待时间的步骤;将下述执行顺序确定为第二执行顺序的步骤,即该执行顺序是关于包含所述第一请求的全部请求将预测的所述等待时间相加而得到的合计成为最小的执行顺序;在所述第二执行顺序的所述等待时间的合计比所述第一执行顺序的所述等待时间的合计小的情况下将所述第二执行顺序再确定为所述应该应用的执行顺序,在此外的情况下将所述第一执行顺序再确定为所述应该应用的执行顺序的步骤;以及响应于所述第二执行顺序作为所述应该应用的执行顺序的确定,将所述执行中的请求的处理中断的步骤。
9.一种程序,该程序在连接于带库的装置中执行,用于确定数据的再调用顺序,所述程序使所述装置执行接收主机装置对于需要从所述带库再调用的数据的请求的步骤; 将所述请求存储于队列表的步骤;响应于所述请求向所述队列表的存储,关于存储于所述队列表内的全部请求的能够考虑的全部执行顺序的各个,预测在以该执行顺序进行处理的情况下的关于各请求的等待时间的步骤,所述等待时间是从该请求的接收到所述带库中的处理的完成为止的时间;将下述第一执行顺序确定为应该应用的执行顺序的步骤,即该第一执行顺序是关于包含执行中的请求的全部请求将预测的所述等待时间相加而得到的合计成为最小的执行顺序;以及按照所确定的所述应该应用的执行顺序,对所述队列表内的所述全部请求的执行顺序进行排列变换的步骤。
10.如权利请求9所述的程序,还使所述装置执行响应于所述请求向所述队列表的存储,将所述执行中的请求虚拟划分为进行到当前为止的处理的第一请求和进行剩余的处理的第二请求,并关于包含该第二请求的存储于所述队列表内的全部请求的能够考虑的全部执行顺序的各个,预测在以该执行顺序进行处理的情况下的关于各请求的所述等待时间的步骤;将下述执行顺序确定为第二执行顺序的步骤,即该执行顺序是关于包含所述第一请求的全部请求将预测的所述等待时间相加而得到的合计成为最小的执行顺序;在所述第二执行顺序的所述等待时间的合计比所述第一执行顺序的所述等待时间的合计小的情况下将所述第二执行顺序再确定为所述应该应用的执行顺序,在此外的情况下将所述第一执行顺序再确定为所述应该应用的执行顺序的步骤;以及响应于所述第二执行顺序作为所述应该应用的执行顺序的确定,将所述执行中的请求的处理中断的步骤。
全文摘要
提供一种使主机的平均等待时间成为最小的、将再调用请求的处理顺序最优化的技术。存储管理器在接收主机装置对于需要从带库再调用的数据的请求时,将其存储于队列表。响应于请求的存储,关于存储于队列表内的全部请求的能够考虑的全部执行顺序的各个,计算在以该执行顺序进行处理的情况下的关于各请求的等待时间。存储管理器关于包含执行中的请求的全部请求将所计算的等待时间相加,将合计成为最小的执行顺序确定为应该应用的执行顺序,按照该执行顺序,对队列表内的请求进行排列变换。
文档编号G06F3/06GK102165408SQ20098013783
公开日2011年8月24日 申请日期2009年9月2日 优先权日2008年9月29日
发明者大石丰, 岩崎礼江, 武富伦子, 鹤田和弘 申请人:国际商业机器公司

最新回复(0)