主机库控制器和介质更改器库及用于它们的通信的方法

文档序号:6563977阅读:150来源:国知局
专利名称:主机库控制器和介质更改器库及用于它们的通信的方法
技术领域
本发明通常涉及各种用于促进主机库控制器和介质更改器库(即,任何使用介质更改器作为它的一个功能特征的库)之间的通信的技术。本发明具体涉及用于促进企业库控制器和小型计算机系统接口(“SCSI”)介质更改器库之间的通信的有效技术。
背景技术
图1示出了使用X个中间控制单元(“ICU”)40(例如,16个ICU40)且每个ICU 40被物理地连接到介质更改器库20的Y个库设备21(例如16个库设备)的库系统。本领域中公知的主机库控制器(未示出)包括X个端口且每个端口被物理地连接到关联的ICU 40,由此公知的主机库控制器系统地或随机地选择各端口中的一个端口,以便通过其关联的ICU 40和库设备21将来自介质更改器命令集的发布的命令传送到介质更改器库20。例如,公知的主机库控制器能够系统地或随机地选择一个端口,以便通过ICU 40(1)和Y个库设备21(1)之一将已发布的来自介质更改器命令集的命令传送到介质更改器库20。
在操作中,选定的端口将已发布的介质更改器命令传送到其关联的ICU 40。一旦接收到最近发布的介质更改器命令,ICU 40就根据介质更改器命令的优先级状态将最近发布的介质更改器命令排队以便传送到介质更改器库20。例如,介质更改器非移动命令通常将比介质更改器移动命令具有更高的优先级并且因此将在队列中具备更高的优先级状态。为了管理队列,ICU 40使用特定数目的线程(例如,3个线程)来将所有已发布的存储在队列中的介质更改器命令传送到介质更改器库20。同样地,如果先前发布的存储在队列中的介质更改器命令的数目超过了线程的特定数目,则根据其优先级状态将最近发布的介质更改器命令存储在队列中,直到某一线程可用于将最近发布的介质更改器命令传送到介质更改器库20。
在发布介质更改器命令后等待来自ICU 40的指示将所述介质更改器命令成功传送到介质更改器库20的响应时,不希望主机库控制器等待无限长的时间。鉴于事实上主机库控制器不能预知ICU 40将花费多长时间完成已发布的介质更改器命令到介质更改器库20的传送,以及鉴于事实上主机库控制器无法知晓介质更改器库20的操作状态(除非报告了准确的错误),本领域公知的主机库控制器将可能过早地使介质更改器命令超时,这导致公知的主机库控制器不必要地执行错误恢复程序。

发明内容
本发明提供了一种新的且独特的主机库控制器,与本领域中系统地或随机地选择端口以便将介质更改器命令传送到介质更改器库相反,其通过智能地选择端口以便将介质更改器命令传送到介质更改器库,提高了接收将介质更改器命令成功传送到介质更改器库的ICU响应的概率。
本发明的一种形式是一种主机库控制器,包括用于建立多个从所述主机库控制器到介质更改器库的通信路径的多个端口。所述主机库控制器还包括处理器和存储可在所述处理器中运行的指令的存储器,所述指令被执行以从介质更改器命令集发布命令,以及根据每个端口的命令处理状态来选择所述多个端口中的至少一个端口,以便将所述介质更改器命令传送到所述介质更改器库。
本发明的第二种形式是一种系统,包括主机库控制器和介质更改器库。所述主机库控制器包括用于建立多个从所述主机库控制器到所述介质更改器库的通信路径的多个端口。所述主机库控制器可操作以从介质更改器命令集发布命令,以及根据每个端口的命令处理状态来选择所述多个端口中的至少一个端口,以便将所述介质更改器命令传送到所述介质更改器库。
本发明的第三种形式是有形地包含机器可读指令的程序的信号承载介质,所述指令可由处理器执行以完成使用多个端口建立从主机库控制器到介质更改器库的多个通信路径的操作。所述操作包括从介质更改器命令集发布命令,以及根据每个端口的命令处理状态来选择所述多个端口中的至少一个端口,以便将所述介质更改器命令传送到所述介质更改器库。
从以下结合附图阅读的对本发明的各种实施例的详细描述,本发明的上述和其他形式以及目标和优点将变得进一步显而易见。详细描述和附图只是对本发明的说明而不是限制,本发明的范围由所附权利要求及其等价物来限定。


图1示出了根据本发明的库系统的一个实施例;图2示出了根据本发明的图1中示出的主机库控制器和中间控制单元的一个实施例;图3示出了表示根据本发明的介质更改器通信方法的一个实施例的流程图;图4示出了表示根据本发明的智能端口选择方法的一个实施例的流程图;图5示出了表示根据本发明的命令处理状态测试方法的一个实施例的流程图;图6-9示出了根据本发明的在图4和5中示出的流程图的示例性执行;图10示出了表示根据本发明的智能端口重试选择方法的一个实施例的流程图;图11示出了表示根据本发明的清除命令处理方法的一个实施例的流程图;图12示出了表示根据本发明的清除响应处理方法的一个实施例的流程图;以及图13-19示出了根据本发明的在图4、5、10和11中示出的流程图的示例性执行。
具体实施例方式
图1示出了具有X个端口31(例如,最多16个端口31)的本发明的主机库控制器30。在本发明的发明原理下,通过智能地选择一个或多个端口31以便经由其关联的ICU 40和库设备21将发布的介质更改器命令传送到介质更改器库20,主机库控制器30提高了接收将由主机库控制器30发布的介质更改器命令成功传送到介质更改器库20的ICU响应的概率。
为此,如图2中所示,主机库控制器30的一个实施例使用处理器32和存储可在处理器32中运行的指令的存储器33,以便实现由图3中示出的流程图50表示的本发明的介质更改器命令通信方法。本发明的介质更改器命令方法的前提是每个ICU 40使用图2中所示的队列41、指定数目的线程42(例如,3个线程)以及设备驱动器43。一旦通过主机库控制器30的相应端口31的通信路径34从主机库控制器30接收到最近发布的介质更改器命令,ICU 40就根据其优先级状态将所述命令存储在队列41中,以便由某一线程42通过从设备驱动器43到其关联库设备21(图1)之一的指定数目通信路径44中的一个路径将所述命令传送到介质更改器库20。
为了便于理解本发明的介质更改器命令方法,此处将在这样的上下文中描述流程图50(图3)主机库控制器具有四(4)个端口31,每个端口31通过其通信路径34到其关联的ICU 40,可以访问四(4)个到介质更改器库20的通信路径44。从该描述,本领域的技术人员将理解如何使用本发明而无需考虑本发明的库系统的复杂和广泛的功能(例如,主机库控制器具有最多十六(16)个端口)。
参考图3,如本领域的技术人员将理解的,流程图50的阶段S52包括主机库控制器30从介质更改器命令集发布命令。
流程图50的阶段S54包括主机库控制器30根据每个端口31的命令处理状态选择一个或多个端口31,以便将已发布的介质更改器命令传送到介质更改器库20。具体地说,端口31(1)可以使或不使一个或多个先前发布的介质更改器命令存储在其关联的ICU队列41(1)中(图2)。此外,在关联的ICU队列41(1)存储了一个或多个先前发布的对应于端口31(1)的介质更改器命令的情况下,关联的ICU线程42(1)(图2)可以在也可以不在通过4个关联通信路径44(1)中的一个路径将排队的介质更改器命令传送到介质更改器库20的过程中。因此,主机库控制器30在阶段S54期间确定每个端口31的命令处理状态以判定每个端口31的相关工作负荷,以便由此便于智能选择一个或多个端口31以将发布的介质更改器命令传送到介质更改器库20。
在阶段S54的一个实施例中,主机库控制器30执行如图4示出的流程图60所表示的本发明的智能端口选择方法。流程图60的阶段S62包括主机库控制器30创建可用端口31的列表,由此主机库控制器30确定每个列出端口31的命令处理状态。例如,假定所有的端口31(1)-31(4)(图3)都可用,则主机库控制器30将创建端口31(1)-31(4)的列表并确定端口31(1)-31(4)的命令处理状态。
流程图60的阶段S64包括主机库控制器30根据列出端口31的命令处理状态,选择最佳端口以便将发布的介质更改器命令传送到介质更改器库20。例如,假定所有端口31(1)-31(4)(图3)都被列出,则主机库控制器30将根据端口31(1)-31(4)的命令处理状态在列出端口31(1)-31(4)中选择最佳端口。
在阶段S64的一个实施例中,主机库控制器30执行本发明的命令处理状态测试方法,如图5中示出的流程图80所表示的。流程图80的阶段S82包括主机库控制器30从端口31的命令处理状态判定单个端口31是否具有零(0)个排队的介质更改器命令。如果主机库控制器30判定单个端口31具有零(0)个排队的介质更改器命令,则主机库控制器30进行到流程图80的阶段S90,以选择该单个端口作为用于传送发布的介质更改器命令到介质更改器库20的最佳端口,并从可用端口列表中移除选定的端口。例如,如图6中所示,如果端口31(1)-31(4)的列表显示端口31(3)是端口31(1)-31(4)中具有由端口31(1)-31(4)的命令处理状态指示的零(0)个排队的介质更改器命令的单个端口,则主机库控制器30将选择端口31(3)作为最佳端口并从可用端口列表中移除选定端口31(3)。
否则,主机库控制器30进行到流程图80的阶段S84,以从端口31的命令处理状态判定单个端口31是否具有零(0)个排队的介质更改器移动命令。如果主机库控制器30判定单个端口31具有零(0)个排队的介质更改器移动命令,则主机库控制器30进行到阶段90以选择该单个端口作为用于传送发布的介质更改器命令到介质更改器库20的最佳端口,并从可用端口列表中移除选定的端口。例如,如图7中所示,如果端口31(1)-31(4)的列表显示端口31(3)是端口31(1)-31(4)中具有由端口31(1)-31(4)的命令处理状态指示的零(0)个排队的介质更改器移动命令的单个端口,则主机库控制器30将选择端口31(3)作为最佳端口并从可用端口列表中移除选定的端口31(3)。
否则,主机库控制器30进行到流程图80的阶段S86以从端口31的命令处理状态判定单个端口31是否具有少于指定数目的排队的介质更改器移动命令(例如,指定数目等于ICU线程数)。如果主机库控制器30判定单个端口31具有少于指定数目的排队的介质更改器移动命令,则主机库控制器30进行到阶段90以选择该单个端口作为用于传送发布的介质更改器命令到介质更改器库20的最佳端口,并从可用端口列表中移除选定的端口。例如,如图8中所示,如果端口31(1)-31(4)的列表显示端口31(3)是端口31(1)-31(4)中具有由端口31(1)-31(4)的命令处理状态指示的少于三(3)个排队的介质更改器移动命令(考虑三(3)个ICU线程)的单个端口,则主机库控制器30将选择端口31(3)作为最佳端口并从可用端口列表中移除选定的端口31(3)。
否则,主机库控制器30进行到流程图80的阶段S88来以系统方式选择端口作为用于传送发布的介质更改器命令到介质更改器库20的最佳端口,并从可用端口列表中移除选定的端口。此外,考虑到实际上所有列出的端口具有大量排队的介质更改器移动命令,命令超时周期将增加。例如,如图9中所示,如果端口31(1)-31(4)的列表显示所有端口31(1)-31(4)都具有由端口31(1)-31(4)的命令处理状态所指示的三(3)个或更多排队的介质更改器移动命令,则主机库控制器30将以系统方式选择所述端口中的一个端口作为最佳端口并从可用端口列表移除选定的端口。在此实例中,全局索引指向端口31(1)-31(4)中的端口31(3),因此主机库控制器30将选择其作为用于传送发布的介质更改器命令到介质更改器库20的最佳端口。
参见图5-19,本领域的技术人员将理解,本发明的命令处理状态测试方法的大量优点包括但不限于,一系列与用于传送发布的介质更改器命令到介质更改器库20的最佳端口有关的有根据的决策。
再次参见图4,在阶段S64期间选择最佳端口之后,主机库控制器30进行到阶段S66以判定是否选择用于传送发布的介质更改器命令到介质更改器库20的次最佳端口。如本领域的技术人员将理解的,鉴于在先前选择的最佳端口尝试将发布的介质更改器命令传送到介质更改器库20期间可能发生各种问题/情况,需要阶段S66。
在阶段S66的一个实施例中,考虑到在将发布的介质更改器命令成功传送到介质更改器库20时终止流程图100,或考虑到从与选定的最佳端口31关联的队列41中清除发布的介质更改器命令,主机库控制器30执行本发明的智能端口重试选择方法,如图10中示出的流程图100表示的。
具体地说,如本领域的技术人员将理解的,流程图100的阶段S102包括主机库控制器30判定选定的最佳端口31是否已变得不可用。具体地说,在被选择为最佳端口以后但在将发布的介质更改器命令成功传送到介质更改器库20之前,选定的最佳端口31可能变得未初始化。如果选定的最佳端口31变得不可用,则主机库控制器30进行到流程图100的阶段S108以将清除命令发布到选定的最佳端口,以试图清除存储在选定最佳端口31的关联队列41(图2)中的发布的介质更改器命令,从而有助于选择用于传送发布的介质更改器命令到介质更改器库20的次最佳端口。
否则,主机库控制器30进行到流程图100的阶段S104以判定选定的最佳端口31是否已接收到ICU响应,如本领域的技术人员将理解的。如果选定的最佳端口31已接收到指示介质更改器命令被成功传送到介质更改器库20的ICU成功响应,则主机库控制器30进行到终止流程图100。如果选定的最佳端口31已接收到指示介质更改器命令没有成功传送到介质更改器库20的ICU失败响应(例如,与最佳端口关联的ICU经历运行问题有关的或与最佳端口关联的ICU无法与介质更改器库20通信有关的ICU失败响应),则主机库控制器30进行到阶段S108以如先前在此描述的,将清除命令发布到选定的最佳端口31。
否则,如果选定的最佳端口31没有接收到ICU响应,则主机库控制器30进行到流程图100的阶段S106以判定发布的介质更改器命令的命令超时周期是否已到期,如本领域的技术人员将理解的。如果是,则主机库控制器30进行到阶段S108以如先前在此描述的,将清除命令发布到选定的最佳端口31。否则,主机库控制器30返回阶段S102从而重复阶段S102-S106,直到主机库控制器30被触发以在接收到ICU成功响应时终止流程图100,或者被触发以进行到清除阶段S108。
如果被触发以发布清除命令,则主机库控制器30启动如图11所示的表示本发明的清除命令处理方法的流程图110。流程图110的阶段S112包括主机库控制器30判定选定的最佳端口31是否接收到对清除命令的ICU响应。如果是,则主机库控制器30进行到启动将随后在此描述的流程图120(图12)。否则,主机库控制器30进行到流程图100的阶段S114以判定清除命令是否由于选定的最佳端口31的操作问题(例如,在发布清除命令之后并且在接收任何ICU响应之前,选定的最佳端口31变得不可用)而失败。如果是,则主机库控制器30进行到流程图60(图4)的阶段S68以有条件地选择将随后在此描述的次最佳端口。否则,主机库控制器30进行到流程图100的阶段S116以判定清除命令超时周期是否到期。如果是,则主机库控制器30进行到流程图60的阶段S68以有条件地选择将随后在此描述的次最佳端口。否则,主机库控制器30返回阶段S112,从而重复阶段S112-S116,直到主机库控制器30被触发以启动流程图120(图12),或被触发以进行到有条件的次最佳端口选择阶段S68(图4)。
如果被触发以发布启动流程图120,则主机库控制器30进行到流程图120的阶段S122以判定是否接收到对发布的清除命令的ICU成功响应,其中该响应指示发布的介质更改器命令被从与选定最佳端口31关联的队列41中清除。如果是,则主机库控制器30进行到流程图60的阶段S68以有条件地选择将随后在此描述的次最佳端口。否则,主机库控制器30进行到流程图120的阶段S124以判定是否接收到对发布的清除命令的ICU失败响应,其中该响应指示在特定错误情况下,发布的介质更改器命令没有被从与选定最佳端口31关联的队列41清除。如果是,则主机库控制器30进行到流程图60的阶段S68以有条件地选择将随后在此描述的次最佳端口。
否则,主机库控制器30进行到流程图120的阶段S126以判定是否接收到对发布的清除命令的ICU队列响应,其中该响应指示发布的介质更改器命令被存储或没有被存储在队列中。如果发布的介质更改器命令被存储在队列中并且阶段S126被初次执行,则主机库控制器30进行到流程图120的阶段S128以使用预定等待时间(例如,一分钟)重置清除命令超时周期并返回阶段S112(图11)。如果发布的介质更改器命令被存储在队列中并且阶段S126被第二次执行,则主机库控制器30进行到流程图60的阶段S68以有条件地选择将随后在此描述的次最佳端口。
如果发布的介质更改器命令没有存储在队列中,则主机库控制器进行到流程图120的阶段S130以判定是否接收到对发布的介质更改器命令的ICU成功响应。如果是,则主机库控制器30终止流程图120。否则,主机库控制器30进行到流程图60的阶段S68以有条件地选择将随后在此描述的次最佳端口。
参考图10-12,本领域的技术人员将理解,图10-12表示的本发明的各种方法的许多优点包括但不限于,一系列与是否必须选择用于传送发布的介质更改器命令到介质更改器库20的次最佳端口有关的有根据的决策。
再次参考图4,如此处先前描述的,如果主机库控制器30已被触发从阶段S66进行到阶段S68,则主机库控制器30判定所有列出为可用的端口是否已在先前被选择为最佳端口/次最佳端口,或是否已超过最大等待时间(例如,16分钟)。如果是,则主机库控制器30终止流程图60,由此启动适当的错误恢复过程,如本领域的技术人员将理解的。否则,主机库控制器30进行到流程图60的阶段S70以根据剩余列出的端口31的命令处理状态,选择用于传送发布的介质更改器命令到介质更改器库20的第i次最佳端口。例如,假定端口31(3)被先前选择为最佳端口,则主机库控制器30将根据端口31(1)、31(2)和31(4)的命令处理状态在列出的端口31(1)、31(2)和31(4)之间选择次最佳端口。
在阶段S70的一个实施例中,在先前选择的最佳端口被从可用端口列表移除的上下文中,主机库控制器30执行如前所述的流程图80(图5)。在此将示例性地描述阶段S70期间用于选择次最佳端口的流程图80的执行以进一步便于理解本发明。
如图13所示,如果端口31(1)、31(2)和31(4)的列表显示端口31(2)是端口31(1)、31(2)和31(4)中具有由端口31(1)、31(2)和31(4)的命令处理状态指示的零(0)个排队的介质更改器命令的单个端口,则主机库控制器30将选择端口31(2)作为第一次最佳端口并且从可用端口列表中移除选定端口31(2)。否则,如图14所示,如果端口31(1)、31(2)和31(4)的列表显示端口31(2)是端口31(1)、31(2)和31(4)中具有由端口31(1)、31(2)和31(4)的命令处理状态指示的零(0)个排队的介质更改器移动命令的单个端口,则主机库控制器30将选择端口31(2)作为第一次最佳端口并且从可用端口列表中移除选定端口31(2)。
否则,如图15所示,如果端口31(1)、31(2)和31(4)的列表显示端口31(2)是端口31(1)、31(2)和31(4)中具有由端口31(1)、31(2)和31(4)的命令处理状态指示的少于三(3)个排队的介质更改器移动命令的单个端口,则主机库控制器30将选择端口31(2)作为第一次最佳端口并且从可用端口列表中移除选定端口31(2)。否则,如图16所示,如果端口31(1)、31(2)和31(4)的列表显示所有端口31(1)、31(2)和31(4)都具有由端口31(1)、31(2)和31(4)的命令处理状态指示的三(3)个或更多排队的介质更改器移动命令,则主机库控制器30将以系统方式选择次最佳端口并从可用端口列表中移除选定端口。在此实例中,全局索引指向端口31(1)、31(2)和31(4)中的端口31(2),因此主机库控制器30将其选择为用于传送发布的介质更改器命令到介质更改器库20的第一次最佳端口。
在阶段S70完成时,主机库控制器30第二次进行到阶段S66以判定是否选择用于传送发布的介质更改器命令到介质更改器命令库20的第二次最佳端口。再次地,在一个实施例中,主机库控制器30可以在阶段S66期间根据需要执行流程图100(图10)、流程图110(图11)和流程图120(图12)。为了进一步便于理解本发明,将在阶段S66到S68期间触发主机库控制器30以选择用于将发布的介质更改器命令传送到介质更改器命令库20的第二次最佳端口的上下文中,在此示例性地描述在阶段S70期间用于选择第二次最佳端口的流程图80的执行。
如图17所示,如果端口31(1)和31(4)的列表显示端口31(4)是端口31(1)和端口31(4)中具有由端口31(1)和31(4)的命令处理状态指示的零(0)个排队的介质更改器命令的单个端口,则主机库控制器30将选择端口31(4)作为第二次最佳端口并从可用端口列表中移除选定端口31(4)。否则,如图18所示,如果端口31(1)和31(4)的列表显示端口31(4)是端口31(1)和端口31(4)中具有由端口31(1)和31(4)的命令处理状态指示的零(0)个排队的介质更改器移动命令的单个端口,则主机库控制器30将选择端口31(4)作为第二次最佳端口并从可用端口列表中移除选定的端口31(4)。
否则,如图19所示,如果端口31(1)和31(4)的列表显示端口31(4)是端口31(1)和端口31(4)中具有由端口31(1)和31(4)的命令处理状态指示的少于三(3)个排队的介质更改器命令的单个端口,则主机库控制器30将选择端口31(4)作为第二次最佳端口并从可用端口列表中移除选定端口31(4)。否则,如果端口31(1)和31(4)的列表显示所有端口都具有由端口31(1)和31(4)的命令处理状态指示的三(3)个或更多排队的介质更改器移动命令,则主机库控制器30将以系统方式选择次最佳端口并从可用端口列表移除选定的端口。在此实例中,全局索引指向端口31(1)和31(4)中的端口31(4),因此主机库控制器30将其选择为用于将发布的介质更改器命令传送到介质更改器库20的第二次最佳端口。
参考图3-19,本领域的技术人员将理解,本发明的许多优点包括但不限于,用于便于有根据地选择将发布的介质更改器命令传送到介质更改器库20的一个或多个端口的全面技术。
参考图2,处理器32可以包括一个中央处理单元,或安装在单个计算机或分布于多个计算机上的多个中央处理单元。此外,存储器33可以包括任何类型的单个指令存储单元,或安装在单个计算机或分布在多个计算机上的多个指令存储单元。此外,如本领域的技术人员将理解的,可以以任何编程语言来编写存储在存储器33中并体现如此处教导的本发明的指令。
鉴于在此描述的本发明的发明原理,介质更改器库领域的技术人员可以开发本发明的其他实施例。在上述说明书中采用的术语和表达在此被用作描述术语而不是限制,并且并非旨在使用此类术语和表达来排除所示出和描述的特征的等价物或其各部分,可以认识到本发明的范围仅由以下权利要求来定义和限制。
权利要求
1.一种主机库控制器,包括多个端口,用于建立从所述主机库控制器到介质更改器库的多个通信路径;处理器;以及存储器,所述存储器存储可在所述处理器中运行的指令,所述指令被执行以实现以下操作从介质更改器命令集发布命令;以及根据每个端口的命令处理状态来选择所述多个端口中的至少一个端口,以便将所述介质更改器命令传送到所述介质更改器库。
2.如权利要求1中所述的主机库控制器,其中所述选择所述多个端口中的所述至少一个端口以便将所述介质更改器命令传送到所述介质更改器库包括根据所述多个端口中的第一端口是所述多个端口中没有在关联的命令队列中列出的任何介质更改器命令的单个端口,选择所述第一端口作为用于将所述介质更改器命令传送到所述介质更改器库的最佳端口。
3.如权利要求1中所述的主机库控制器,其中所述选择所述多个端口中的所述至少一个端口以便将所述介质更改器命令传送到所述介质更改器库包括根据所述多个端口中的第一端口是所述多个端口中没有在关联的命令队列中列出的任何介质更改器移动命令的单个端口,选择所述第一端口作为用于将所述介质更改器命令传送到所述介质更改器库的最佳端口。
4.如权利要求1中所述的主机库控制器,其中所述选择所述多个端口中的所述至少一个端口以便将所述介质更改器命令传送到所述介质更改器库包括根据所述多个端口中的第一端口是所述多个端口中具有少于在关联的命令队列中列出的指定数目的介质更改器移动命令的单个端口,选择所述第一端口作为用于将所述介质更改器命令传送到所述介质更改器库的最佳端口。
5.如权利要求1中所述的主机库控制器,其中所述选择所述多个端口中的所述至少一个端口以便将所述介质更改器命令传送到所述介质更改器库包括根据每个端口具有多于指定数目的在其关联的命令队列中列出的介质更改器移动命令,以系统的方式选择所述多个端口中的第一端口作为用于将所述介质更改器命令传送到所述介质更改器库的最佳端口。
6.如权利要求5中所述的主机库控制器,其中所述选择所述多个端口中的所述至少一个端口以便将所述介质更改器命令传送到所述介质更改器库还包括增加与将所述介质更改器命令从所述主机库控制器传送到所述介质更改器库关联的命令超时周期。
7.如权利要求1中所述的主机库控制器,其中所述选择所述多个端口中的所述至少一个端口以便将所述介质更改器命令传送到所述介质更改器库还包括根据所述多个端口中的第一端口在所述多个端口中具有最佳命令处理状态,选择所述第一端口作为用于将所述介质更改器命令传送到所述介质更改器库的最佳端口;以及根据所述多个端口中的第二端口具有次最佳命令处理状态,并且根据接收到与使用所述第一端口来将所述介质更改器命令从所述主机库控制器传送到所述介质更改器库对应的失败响应,有条件地选择所述第二端口作为用于将所述介质更改器命令传送到所述介质更改器库的次最佳端口。
8.如权利要求1中所述的主机库控制器,其中所述选择所述多个端口中的所述至少一个端口以便将所述介质更改器命令传送到所述介质更改器库还包括根据所述多个端口中的第一端口在所述多个端口中具有最佳命令处理状态,选择所述第一端口作为用于将所述介质更改器命令传送到所述介质更改器库的最佳端口;以及根据所述多个端口中的第二端口具有次最佳命令处理状态,并且根据所述第一端口不可用于将所述介质更改器命令传送到所述介质更改器库,有条件地选择所述第二端口作为用于将所述介质更改器命令传送到所述介质更改器库的次最佳端口。
9.如权利要求1中所述的主机库控制器,其中所述选择所述多个端口中的所述至少一个端口以便将所述介质更改器命令传送到所述介质更改器库还包括根据所述多个端口中的第一端口在所述多个端口中具有最佳命令处理状态,选择所述第一端口作为用于将所述介质更改器命令传送到所述介质更改器库的最佳端口;以及根据所述多个端口中的第二端口具有次最佳命令处理状态,并且根据与使用所述第一端口来将所述介质更改器命令从所述主机库控制器传送到所述介质更改器库对应的命令超时的过期,有条件地选择所述第二端口作为用于将所述介质更改器命令传送到所述介质更改器库的次最佳端口。
10.如权利要求1中所述的主机库控制器,其中所述指令被进一步执行以实现以下操作发布清除命令以根据选择用于将所述发布的介质更改器命令传送到所述介质更改器库的次最佳端口的要求,从与所述第一端口关联的命令队列清除所述发布的介质更改器命令。
11.一种库系统,包括介质更改器库;以及主机库控制器,所述主机库控制器包括用于建立从所述主机库控制器到所述介质更改器库的多个通信路径的多个端口,其中所述主机库控制器可操作以从介质更改器命令集发布命令;以及其中所述主机库控制器可操作以根据每个端口的命令处理状态来选择所述多个端口中的至少一个端口,以便将所述介质更改器命令传送到所述介质更改器库。
12.如权利要求11中所述的库系统,其中所述选择所述多个端口中的所述至少一个端口以便将所述介质更改器命令传送到所述介质更改器库包括根据所述多个端口中的第一端口是所述多个端口中没有在关联的命令队列中列出的任何介质更改器命令的单个端口,选择所述第一端口作为用于将所述介质更改器命令传送到所述介质更改器库的最佳端口。
13.如权利要求11中所述的库系统,其中所述选择所述多个端口中的所述至少一个端口以便将所述介质更改器命令传送到所述介质更改器库包括根据所述多个端口中的第一端口是所述多个端口中没有在关联的命令队列中列出的任何介质更改器移动命令的单个端口,选择所述第一端口作为用于将所述介质更改器命令传送到所述介质更改器库的最佳端口。
14.如权利要求11中所述的库系统,其中所述选择所述多个端口中的所述至少一个端口以便将所述介质更改器命令传送到所述介质更改器库包括根据所述多个端口中的第一端口是所述多个端口中具有少于在关联的命令队列中列出的指定数目的介质更改器移动命令的单个端口,选择所述第一端口作为用于将所述介质更改器命令传送到所述介质更改器库的最佳端口。
15.如权利要求11中所述的库系统,其中所述选择所述多个端口中的所述至少一个端口以便将所述介质更改器命令传送到所述介质更改器库包括根据每个端口具有多于指定数目的在其关联的命令队列中列出的介质更改器移动命令,以系统的方式选择所述多个端口中的第一端口作为用于将所述介质更改器命令传送到所述介质更改器库的最佳端口。
16.一种使用建立从主机库控制器到介质更改器库的多个通信路径的多个端口的方法,所述方法包括从介质更改器命令集发布命令;以及根据每个端口的命令处理状态来选择所述多个端口中的至少一个端口,以便将所述介质更改器命令传送到所述介质更改器库。
17.如权利要求16中所述的方法,其中所述选择所述多个端口中的所述至少一个端口以便将所述介质更改器命令传送到所述介质更改器库包括根据所述多个端口中的第一端口是所述多个端口中没有在关联的命令队列中列出的任何介质更改器命令的单个端口,选择所述第一端口作为用于将所述介质更改器命令传送到所述介质更改器库的最佳端口。
18.如权利要求16中所述的方法,其中所述选择所述多个端口中的所述至少一个端口以便将所述介质更改器命令传送到所述介质更改器库包括根据所述多个端口中的第一端口是所述多个端口中没有在关联的命令队列中列出的任何介质更改器移动命令的单个端口,选择所述第一端口作为用于将所述介质更改器命令传送到所述介质更改器库的最佳端口。
19.如权利要求16中所述的方法,其中所述选择所述多个端口中的所述至少一个端口以便将所述介质更改器命令传送到所述介质更改器库包括根据所述多个端口中的第一端口是所述多个端口中具有少于在关联的命令队列中列出的指定数目的介质更改器移动命令的单个端口,选择所述第一端口作为用于将所述介质更改器命令传送到所述介质更改器库的最佳端口。
20.如权利要求16中所述的方法,其中所述选择所述多个端口中的所述至少一个端口以便将所述介质更改器命令传送到所述介质更改器库包括根据每个端口具有多于指定数目的在其关联的命令队列中列出的介质更改器移动命令,以系统的方式选择所述多个端口中的第一端口作为用于将所述介质更改器命令传送到所述介质更改器库的最佳端口。
全文摘要
一种主机库控制器,使用用于建立从所述主机库控制器到介质更改器库的多个通信路径的多个端口。所述主机库控制器还使用处理器和存储指令的存储器,所述指令使得所述处理器执行以下操作从介质更改器命令集发布命令;以及根据每个端口的命令处理状态来选择一个或多个所述端口以便将所述介质更改器命令传送到所述介质更改器库。
文档编号G06F3/06GK1975657SQ20061016271
公开日2007年6月6日 申请日期2006年11月14日 优先权日2005年11月28日
发明者L·A·布里安, J·A·菲舍尔, R·A·詹姆斯, K·R·肖特韦尔 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1