在逻辑分区之间分配网络适配器资源的制作方法

文档序号:6478122阅读:132来源:国知局
专利名称:在逻辑分区之间分配网络适配器资源的制作方法
技术领域
本发明的实施例一般涉及在逻辑分区的计算机中的多个分区之间分配网络适配
器的资源。
背景技术
1948年的EDVAC计算机系统的发展经常被引述为计算机纪元的开端。自此之后, 计算机系统已经发展成为极端精密的装置。计算机系统典型地包括硬件(如半导体、电路 板等)及软件(如计算机程序)的组合。随着半导体工艺及计算机架构的发展将计算机硬 件的性能推往更高时,已经开发出更加精密的计算机软件来利用硬件的较高性能的好处, 造成比仅仅几年前强大得多的现今的计算机系统。在计算机技术中一种发展为并行处理的 开发,即并行执行多个任务。 —些计算机软件及硬件技术已经被开发来实施渐增的并行处理。从硬件的角度而 言,计算机越来越依赖多个微处理器来提供增大的工作负荷能力。从软件的角度而言,已经 开发出多线程操作系统及内核,其可允许计算机程序同时在多个线程中执行,使得实质上 可同时执行多个任务。此外,一些计算机实施了逻辑分区的观念,其中,单个物理计算机被 允许在本质上类似于被称为逻辑分区的多个独立的虚拟计算机而操作,在该物理计算机中 的各种资源(例如处理器、存储器、适配器及输入/输出装置)经由分区管理器或超级管理 器(hypervisor)来在多个逻辑分区之间分配。每个逻辑分区执行独立的操作系统,并且, 从用户及在该逻辑分区中执行的软件应用的角度来看,作为完全独立的计算机而操作。
因为每个逻辑分区本质上对于该计算机的有限资源而与其他逻辑分区相竞争,并 且,每个逻辑分区的需求可随时间改变,所以,在逻辑分区的系统中的一个挑战为动态地分 配资源给所述分区,使得所述分区共享该计算机系统的有限资源。经常由多个分区共享的 一个资源为网络适配器。网络适配器连接该计算机系统(及共享它的所述分区)到网络, 使得所述分区可与其他也连接至该网络的系统通信。典型地,网络适配器经由各自具有网 络地址的一个或多个物理端口连接至该网络。该网络适配器经由其物理端口发送数据分组 到该网络,并且,如果分组指定其物理端口地址,则自该网络接收所述数据分组。
因为许多逻辑分区经常为激活,所以,许多不同的会话在给定网络适配器上也同 时激活。期望该网络适配器对进入的分组业务量(traffic)进行分类(sort),使得可以降 低所需要的对所述分组的超级管理器处理,且所述分组被直接路由到等待它们的分区中的 应用。因为每个分区通常至少暂时性地需要网络连接性,但每个分区不一定总是需要物理 端口的完整带宽,因此分区经常共享物理端口。此共享由该网络适配器实施,其多路复用一 个(或多个)物理端口到多个逻辑端口,其每一个被分配到单个分区。因此,每个逻辑分区 被分配逻辑网络适配器及逻辑端口 ,且每个逻辑分区使用其逻辑网络适配器及逻辑端口 , 正如同其将是专属的独立运作物理网络适配器及物理端口。 使用所述逻辑端口将分组路由到它们的目标分区,这有时候经由队列对(QP)来 实施。每个逻辑端口被给定或指定(assign) —个队列对(发送队列及接收队列),其作为进入分组的缺省队列对。当该网络适配器自该网络接收分组时,该适配器执行该目标逻辑 端口地址的查询,并基于该逻辑端口地址路由所述进入分组到适当的队列对。
—些网络适配器还提供被称为"每连接排队(per connection queuing)"的机制, 以加速所述分组的解码及分类。该网络适配器分配附加队列对,其上可由该网络适配器放 置进入分组。映射表可便于此路由。在该映射表中所包括的为"元组(tuple)"、以及与该 元组相关联的分组要被传递到哪个队列队的指示。元组为各种网络及目的地地址的组合, 其唯一地识别会话。该元组的使用允许该网络适配器将所述分组自动地分类到不同的队列 对,其接着允许分区立即开始处理,而不是首先需要冗长的预处理(其可能很长)来分类所 述进入分组。问题在于该网络适配器仅支持该映射表中的固定数目的记录(资源),且这 些资源必须在所述逻辑分区间共享。 用于共享所述资源的一种现行技术为可用资源到所述分区的专用固定分配。此技 术的缺点在于经常,许多的资源将不会被使用,例如,因为给定分区当前并未被激活而空 闲,或相对较不繁忙,使得该分区并不需要其资源的完全分配。然而,其他分区可能更繁忙, 并且,如果仅空闲资源可被分配给它们,则可使用那些空闲资源来加速它们重要的工作。
第二种现今技术尝试监视所述分区对资源的使用,并随着所述分区的需要改变, 来重新指定所述资源。此技术具有数个缺点。首先,其需要实时地(或至少适时地)监视 所述资源的当前使用。其次,期望的使用(例如,分区会期望比其当前的资源分配更多)也 需要被确定,其会需要与每个分区进行通信。第三,问题会随着瞬时的资源需求而发生,其 中会存在充分的等待时间,使得所述资源需要将在有能力影响所述资源分配的变化之前再 次改变。第四,难以确定被指定给不同分区的所述资源的相对值。最后,确定如何最有效率 地分配所述资源会难以实现,这是因为,不同的分区会具有不同的目标及不同的优先级。例 如,一个分区可能期望减少等待时间,而另一个分区可能期望增加吞吐量。作为另一示例, 一个分区可能使用该资源来执行很重要的工作,而另一分区执行较不重要的工作或,仅因 为其资源可用,所以使用该资源,并且,该资源在不同的分区中可能会有更好的用处。

发明内容
根据第一方面,提供了一种方法,其包括从第一请求分区接收第一分配请求,其 中该第一分配请求包括元组及队列的标识符;从多个资源之中选择所选择的资源,其中所 选择的资源被分配到选择的分区;以及分配所选择的资源到该第一请求分区,其中该分配 还包括将该元组至该队列的映射存储到所选择的资源中。 根据第二方面,提供了一种编码有指令的存储介质,其中所述指令在被执行时包 括从第一请求分区接收第一分配请求,其中该第一分配请求包括元组及队列的标识符; 决定多个资源的全部均被分配;响应于该决定,从所述多个资源之中选择所选择的资源,其 中所选择的资源被分配到选择的分区;以及分配所选择的资源到该第一请求分区,其中该 分配还包括将该元组至该队列的映射存储到所选择的资源中。 根据第三方面,提供了一种计算机,其包括处理器;存储器,其以通信方式连接 至该处理器,其中该存储器编码指令,其中所述指令在由该处理器执行时包括从第一请求 分区接收第一分配请求,其中该第一分配请求包括元组及队列的标识符,决定多个资源的 全部均被分配,响应于该决定,从所述多个资源之中选择所选择的资源,其中所选择的资源
7被分配到选择的分区;以及网络适配器,其以通信方式连接至该处理器,其中该网络适配器 包括逻辑和所述多个资源,且其中该逻辑通过将该元组到该第队列的映射存储到所选择的 资源中,以分配所选择的资源到该第一请求分区。
可以计算机软件的方式实现本发明。 优选地,提供增进的技术,其在所有分区中更有效率地利用该网络适配器的可用 资源。 提供了一种方法、装置、系统及存储介质。在实施例中,从请求分区接收第一分配 请求。该第一分配请求包括元组、队列的标识符、及第一优先级。响应于接收到该第一分配 请求,如果没有资源为空闲,则选择已经以第二优先级而分配给所选择的分区的资源。然后 所选择的资源被分配给该请求分区。该分配包括将该元组对该队列的映射存储到所选择的 资源中。在实施例中,通过确定该分配请求的第一优先级高于至所选择的分区的分配的第 二优先级,并通过确定与以第二优先级分配给其他分区的资源的百分比相比、所选择的分 区被分配有其以第二优先级被分配的资源的最高百分比,来选择该资源,其中第二优先级 为所分配的资源的最低优先级。在另一实施例中,通过确定第一优先级低于或等于当前被 分配的所有资源的优先级,并通过确定该请求分区具有比所选择的分区的以第二优先级分 配的资源的上限的百分比小的、以第一优先级分配的资源的上限的百分比,来选择该资源, 其中第二优先级等于第一优先级。依此方式,在实施例中,资源更有效地被分配给分区,这 增加分组处理的性能。


现在,将仅通过示例的方式并参照附图来描述本发明的优选实施例。 图1绘出了用于实施本发明的实施例的示例系统的高级框图。 图2绘出了根据本发明的实施例的示例网络适配器的框图。 图3绘出了根据本发明的实施例的示例分区的框图。 图4绘出了根据本发明的实施例的配置请求的示例数据结构的框图。 图5绘出了根据本发明的实施例的资源限制的示例数据结构的框图。 图6绘出了根据本发明的实施例的配置数据的示例数据结构的框图。 图7绘出了根据本发明的实施例的配置及激活请求的示例处理的流程图。 图8绘出了根据本发明的实施例的分配请求的示例处理的流程图。 图9绘出了根据本发明的实施例的用于确定是否分配的资源应该被预占的示例
处理的流程图。 图10绘出了根据本发明的实施例的用于预占资源的分配的示例处理的流程图。 图11绘出了根据本发明的实施例的用于解除分配(deallocate)资源的示例处理 的流程图。 图12绘出了根据本发明的实施例的用于接收分组的示例处理的流程图。 图13绘出了根据本发明的实施例的解除激活(deactivate)分区的示例处理的流程图。 图14绘出了根据本发明的实施例的处理保存的分配请求的示例处理的流程图。 但是,可注意到,附图仅例示本发明的示例实施例,因此其不应视为本发明的范畴的限制,因为本发明可允许其他同等有效的实施例。
具体实施例方式
在一实施例中,网络适配器具有被多路复用到多个逻辑端口的物理端口。每个逻 辑端口具有缺省队列。该网络适配器还具有可被分配给任何逻辑端口的附加队列。该网络 适配器具有元组与队列之间的映射(也被称为资源)表。由在所述分组的字段中的数据的 组合得到所述元组。该网络适配器基于分组中的元组与在该表中的所述资源,确定该缺省 队列或另一队列是否应接收该分组。如果从该进入分组得到的元组符合于(match)该表中 的元组,则该网络适配器路由该分组到该元组的相对应指定的队列;否则,该网络适配器路 由该分组到由该分组所指定的该逻辑端口的缺省队列。分区通过发送分配请求到超级管理 器来请求所述队列及所述元组的资源的分配。如果没有资源为空闲或未被分配,则已经分 配的资源被选择,且其分配被预占,使得所选择的资源可被分配给请求分区。依此方式,在 一实施例中,资源被更有效地分配给分区,这增加分组处理的性能。 参照所述图,其中类似的编号代表所有图中类似的部件,图l绘出了根据本发明 的一实施例的、经由网络130连接至硬件管理控制台计算机系统132及客户端计算机系统 135的服务器计算机系统100的高级框图。此处所使用的术语"客户端"及"服务器"仅为了 方便起见,而在各个实施例中,在一个环境中作为客户端操作的计算机系统在另一个环境 中可作为服务器操作,反之亦然。在一实施例中,计算机系统100、132及135的硬件组件可 从纽约Armonk的国际商用机器公司可得到的IBM⑧System i5计算机系统所实施。(IBM 是国际商用机器公司在美国和其它国家中的注册商标。)但是,本领域的技术人员将可了解 到本发明的实施例的机制及装置可同等地应用到任何适当的计算系统。
计算机系统100的主要组件包括一个或多个处理器101、主存储器102、终端接口 111、存储接口 112、1/0(输入/输出)装置接口 113、及网络适配器114,其所有均直接或间 接通信式地耦接,用于经由存储器总线103、 I/O总线104及I/O总线接口单元105的组件 间通信。 计算机系统100包括一个或多个通用可编程中央处理单元(CPU) IOIA、 IOIB、 101C 及IOID,在此处皆称之为处理器101。在一实施例中,计算机系统IOO包括典型为相对大的 系统的多重处理器(multiple processors);但是,在另一实施例中,计算机系统100可替 换地为单个CPU系统。每个处理器101执行存储在主存储器102中的指令,并可包括一级 或多级的板载高速缓存器。 主存储器102为随机存取半导体存储器,用于存储或编码数据及程序。在另一实 施例中,主存储器102表示计算机系统100的整个虚拟存储器,并还可包括耦接到计算机系 统100或经由网络130连接的其他计算机系统的虚拟存储器。主存储器102在概念上为单 个单片实体,但在其他实施例中,主存储器102是更加复杂的配置,例如高速缓存器及其他 存储器装置的层级架构。例如,存储器可存在于多级的高速缓存器中,且这些高速缓存器还 可由功能来区分,使得一个高速缓存器保存指令,而另一个保存非指令数据,其由该处理器 或多个处理器使用。存储器还可分布及关联于不同的CPU或CPU的集合,如多种所谓的非 一致存储器存取(NUMA)计算机架构的任何一个中所知的。 主存储器102存储或编码分区150-1与150-2、超级管理器152、资源限制154及配
9置数据156。虽然分区150-1与150-2,超级管理器152、资源限制154及配置数据156被图 解成包括在计算机系统100中的存储器102内,但在其他实施例中,它们中的某些或全部可 在不同的计算机系统上,并可被远程访问(例如经由网络130)。计算机系统100可使用虚 拟寻址机制,其可允许计算机系统100的程序如同它们仅有权访问大的单个存储实体那样 工作,而非对多个较小的存储实体访问。因此,尽管分区150-1与150-2、超级管理器152、 资源限制154及配置数据156被图解成包括在主存储器102内,但这些组件不必要全部完 全同时包括在同一存储装置中。另外,虽然分区150-1与150-2、超级管理器152、资源限制 154及配置数据156被图解为独立的实体,但在其他实施例中,它们中的一些、它们中的一 些的部分、或所有均可封装在一起。 分区150-1与150-2另外在下面参照图3而描述。超级管理器152激活分区150_1 与150-2,并响应于来自硬件管理控制台132的请求,使用资源限制154及配置数据156分 配资源到分区150-1与150-2。资源限制154另外在下面参照图5而描述。配置数据156 另外在下面参照图6而描述。 在一实施例中,超级管理器152包括能够在处理器101上执行的指令、或能够由 在处理器101上执行的指令所解译的语句,以进行另外在下面参照图7、8、9、10、11、12、13 和14所述的功能。在另一实施例中,超级管理器152经由逻辑门、以及取代基于处理器的 系统或除了基于处理器的系统之外的其他硬件装置而在硬件中实施。 存储器总线103提供数据通信路径来在处理器101、主存储器102及I/O总线接 口单元105之间传送数据。I/O总线接口单元105还耦接至系统I/O总线104,用于传送数 据到各种I/O单元及从各种I/O单元传送数据。I/O总线接口单元105通过系统I/O总线 104,与也被称为1/0处理器(IOP)或I/0适配器(IOA)的多个1/0接口单元111、112、113 及114通信。系统I/0总线104可以是例如工业标准PCI(外围组件接口)总线,或任何其 他适合的总线技术。 1/0接口单元支持与多种存储器及1/0装置的通信。例如,终端接口单元111支 持附加一个或多个用户终端121,其可包括用户输出装置(例如视频显示设备、扬声器、及/ 或电视机)及用户输入设备(例如键盘、鼠标、小键盘、触摸板、轨迹球、按钮、光笔或其他指
向装置)。 存储接口单元112支持附接一个或多个直接存取存储装置(DASD)125、126及 127 (它们典型地是旋转磁盘驱动器存储装置,然而它们还可以是其他装置,包括被配置为 对主机呈现为单个大的存储装置的磁盘驱动器阵列)。主存储器102的内容视需要可以被 存储在直接存取存储装置125、 126及127,并从直接存取存储装置125、 126及127取出。
I/O装置接口 113提供到各种其他输入/输出装置或例如打印机或传真机的其他 种类的装置中的任何一个的接口 。网络适配器114提供从计算机系统100到其他数字装 置及计算机系统132和135的一个或多个通信路径;这些路径可包括例如一个或多个网络 130。 虽然存储器总线103在图1中显示为提供所述处理器101、主存储器102及1/ O总线接口 105之间的直接通信路径的相对简单的单个总线结构,但是,事实上,存储器总 线103可包括多个不同总线或通信路径,其可被布置成多种形式中任何一种,例如在层级 式、星型或网状配置中的点对点链接、多级总线、并行及冗余路径,或任何其他适当类型的配置。此外,尽管1/0总线接口 105及I/0总线104显示为单个个别的单元,但计算机系统 100事实上可包括多个I/O总线接口单元105及/或多个I/O总线104。尽管示出了多个 I/O接口单元(其将系统I/O总线104与走向多个I/O装置的多个通信路径分开),但在其 他实施例中,某些或所有的1/0装置直接连接至一个或多个系统I/O总线。
在各个实施例中,计算机系统100可以是多用户"主机型"计算机系统、单个用户 系统、或服务器或类似的装置,其具有很少或无直接用户接口 ,但接收来自其他计算机系统
(客户端)的请求。在其他实施例中,计算机系统ioo可实施成个人计算机、便携式计算机、
膝上型或笔记本电脑、PDA(个人数字助理)、平板型计算机、口袋型计算机、电话、寻呼机、 汽车、电话会议系统、家用电器或任何其他适当种类的电子装置。 网络130可以是任何适当的网络或网络的组合,并可支持任何适当的协议,其可 适于至/来自计算机系统100、硬件管理控制台132及客户端计算机系统135的数据及/或 代码的通信。在各个实施例中,网络130可表示存储装置或存储装置的组合,其直接或间接 地连接至计算机系统100。在实施例中,网络130可支持Infiniband架构。在另一实施例 中,网络130可支持无线通信。在另一实施例中,网络130可支持硬接线通信,例如电话线 或电缆。在另一实施例中,网络130可支持以太网IEEE(电子和电气工程师协会)802. 3规 范。在另一实施例中,网络130可以是因特网,并可支持IP(因特网协议)。
在另一实施例中,网络130可以是局域网(LAN)或广域网(WAN)。在另一实施例中, 网络130可以是热点服务提供商网络。在另一实施例中,网络130可以是内联网。在另一 实施例中,网络130可以是GPRS(通用分组无线电服务)网络。在另一实施例中,网络130 可以是FRS(家庭无线电服务)网络。在另一实施例中,网络130可以是任何适当的蜂窝式 数据网络或基于蜂窝的无线电网络技术。在另一实施例中,网络130可以是IEEE 802. 11B 无线网络。在另外一个实施例中,网络130可以是任何适当网络或网络的组合。虽然显示 了一个网络130,但在其他实施例中,可以出现任何数目的网络(相同或不同种类的)。客 户端计算机系统135可包括先前在上文被描述为被包括在服务器计算机系统100中的某些 或所有的硬件组件。客户端计算机系统135经由网络130及网络适配器114发送数据分组 到分区150-1与150-2。在多个实施例中,所述数据分组可包括视频、音频、文字、图形、图 像、帧、页面、代码、程序或任何其他适当的数据。 硬件管理控制台132可包括先前在上文被描述为被包括在服务器计算机系统100 中的某些或所有硬件组件。具体地,硬件管理控制台132包括连接至1/0装置192及处理 器194的存储器190。存储器190包括配置管理器198及配置请求199。在另一实施例中, 配置管理器198及配置请求199可以存储在服务器计算机系统100的存储器102中,且配 置管理器190可在处理器101上执行。配置管理器198发送配置请求199到服务器计算机 系统100。配置请求199在下面参照图4另做说明。 在一实施例中,配置管理器198包括能够在处理器194上执行的指令、或能够由在 处理器194上执行的指令所解译的语句,以进行另外在下面参照图7及图13所述的功能。 在另一实施例中,配置管理器198经由逻辑门、以及替代或除了基于处理器的系统之外的 其他硬件装置而在硬件中实施。 应了解到,图1意图以高级方式描述服务器计算机系统100、网络130、硬件管理控 制台132及客户端计算机系统135的代表性的主要组件,个别组件可比图1所示要更加复
11杂,可出现不同于图1中所示的组件的组件、或图1中所示的组件之外的组件,并且这些组 件的数目、种类及配置可以改变。此处揭示具有这种额外复杂性或额外变化的几个特定示 例;可了解到,这些仅为了示例,并非必要仅为这些变化。 图1所示的多种软件组件及实施本发明各个实施例可以用多种方式实施,包括使 用多种计算机软件应用、例程、组件、程序、对象、模块、数据结构等,并在下文中被称为"计 算机程序"或简称为"程序"。所述计算机程序典型地包括一个或多个指令,其在不同时间 驻留于服务器计算机系统100及/或硬件管理控制台132中的多种存储器及存储装置中, 且当由服务器计算机系统100及/或硬件管理控制台132中的一个或多个处理器所读取及 执行时,使得服务器计算机系统100及/或硬件管理控制台132执行用以执行包括本发明 的一实施例的多种方面的步骤或组件所必要的步骤。 此外,尽管本发明的实施例已经并在下文中将在全功能型计算机系统的上下文中 描述,但本发明的各个实施例能够以多种形式的程序产品来分发,且本发明可同等地应用, 而无关于用于实际进行该分发的信号承载介质的特定类型。定义此实施例的功能的程序可 经由可操作地或通信式地连接(直接或间接地)到一个或多个处理器(例如处理器101及 194)的多种有形信号承载介质而被传递到服务器计算机系统100及/或硬件管理控制台 132。该信号承载介质可包括但不限于 (1)永久存储在不可覆写存储介质(例如附接到计算机系统、或在计算机系统内 的只读存储器装置,诸如,可由CD-ROM驱动器读取的CD-ROM)上的信息; [OO54] (2)存储在可覆写存储介质(例如,硬盘驱动器(例如DASD 125、 126或127)、主 存储器102或190、 CD-RW或磁盘)上的可改变信息;或者 (3)通过通信介质(例如,通过计算机或电话网络,例如网络130)传递到服务器计 算机系统100及/或硬件管理控制台132的信息。 当编码有、或承载指示(direct)本发明的功能的计算机可读取的及可执行的指 令时,这些有形的信号承载介质表示本发明的实施例。 本发明的实施例也可被提供(deliver)作为与客户公司、非营利性组织、政府单 位、内部组织结构等服务约定的一部分。这些实施例的方面可包括配置用以执行的计算机 系统、以及利用实施了此处所述的某些或所有方法的计算装置(例如,计算机可读代码、硬 件及网页服务)。这些实施例的方面也可包括分析该客户公司、创建响应于该分析的建议、 产生用以实施所述建议的部分的计算机可读取代码、将该计算机可读取代码结合为现有的 处理、计算机系统和计算基础结构、计量此处所述的方法及系统的使用、分配费用给用户、 以及向用户开出使用这些方法及系统的账单。 此外,以下所述的各种程序可基于它们实施在本发明的特定实施例中的应用来识 别。但是,下述的任何特定程序术语表仅为了方便而使用,因此本发明的实施例不应该限于 仅用于由这些术语表所识别的及/或所暗示的任何特定应用中。 图1所示的示例性环境并非要限制本发明。实际上,可使用其他可替换的硬件及 /或软件环境,而不背离本发明的范畴。 图2描绘了根据本发明的实施例的示例网络适配器114的框图。网络适配器114 包括(连接至)队列对210-1、210-2、210-10、210-11、210-12、210-13、210-14及210-15。 适配器114还包括(连接至)逻辑端口 205-1、205-2及205-10。网络适配器114还包括(连接至)资源数据215、逻辑220及物理端口 225。逻辑220连接至物理端口 225、资源数 据215、逻辑端口 205-1、205-2及205-10、及队列对210-1、210-2、210-10、210-11、210_12、 210-13、210-14及210-15。 在各个实施例中,队列对210-1、210-2、210-10、210-11、210-12、210-13、210-14 及210-15、逻辑端口 205-1、205-2及205-10、以及资源数据215可经由存储器位置及/或 寄存器来实施。逻辑220包括可由逻辑门、模块、电路、芯片或其他硬件组件所实施的硬件。 在其他实施例中,逻辑220可由存储在存储器中并在处理器上执行的微代码、指令、或语句 所实施。 物理端口 225提供网络适配器114与其他形成网络130的一部分的计算机或装置 之间的物理接口。物理端口 225为插头或电缆连接的插座或其他设备部分。在电气上,构成 该插座的几个导体提供了网络适配器114与网络130的装置之间的信号传输。在各个实施 例中,物理端口 225可经由公端口 (具有突出针脚)或母端口 (具有设计成接收电缆的该 突出针脚的插座)来实施。在各个实施例中,物理端口 225可具有多种形状,例如圆形、长 方形、正方形、梯形或任何其他适当的形状。在各个实施例中,物理端口 225可以是串行端 口或并行端口。串行端口经由单个电线对(例如,接地及+/_) —次发送及接收一个比特。 并行端口在几组电线上同时发送及接收多个比特。 在物理端口 225连接至网络130之后,网络适配器114典型地需要"握手 (handshaking)",其是与当两台传真机进行连接时发生的协商类似的概念,其中传送种类、 传输速度及其他必要的信息甚至在数据被发送之前被共享。在一实施例中,物理端口 225 为可热插拔的,这意味着物理端口 225可当网络适配器114已经被启电(接收电力)时被 插入或连接至网络130。在一实施例中,物理端口 225提供即插即用功能,这意味着网络 适配器114的逻辑220被设计为使得一完成热插拔,网络适配器114与所连接的装置就自 动开始握手。在一实施例中,特殊软件(称为驱动程序)必须被加载到网络适配器114中, 以允许特定装置的通信(正确信号)。 物理端口 225具有相关联的物理网络地址。物理端口 225自网络130接收那些包 括物理端口 225的物理网络地址的分组。然后,逻辑220发送或路由该分组到在该分组中被 指定了逻辑网络地址的逻辑端口。因此,逻辑220多路复用单个物理端口 225以创建多个 逻辑端口 205-1、205-2及205-10。在一实施例中,逻辑端口 205-1 、205-2及205-10为逻辑 以太网端口,且其每一个具有不同的以太网MAC(介质访问控制)地址。每个分区(操作系 统或应用)是其特定逻辑端口的唯一拥有者,并具有对其特定逻辑端口的专用访问权。然 后,该分区(操作系统实例或应用)自关联于由该分区所拥有的该逻辑端口的该队列对取 得该分组。被该分区取得该分组的队列对可以是关联于该逻辑端口的缺省队列对(210-1、 210-2或210-10)、或逻辑220暂时地经由资源数据215指定到该逻辑端口的另一个队列对 (210-11、210-12、210-13、210-14或210-15)。 队列对210-1、210-2、210-10、210-11、210-12、210-13、210-14及210-15为通信链 接的逻辑端点。队列对是基于存储器的抽象概念,其中经由应用与装置之间的直接存储器 对存储器的传输来实现通信。队列对包括工作请求(WR)的发送及接收队列。在另一实施 例中,该队列对架构并非必要,且发送队列及接收队列可独立地封装。每个工作请求包括该 消息交易所必要的数据,其包括到注册的缓冲器的指针,以在网络适配器114与网络130之间接收/传送数据。 在一实施例中,该队列对模型具有两种类别的消息交易发送-接收及远程 DMA(直接存储器访问)。为了进行传输,在分区150-1或150-2中的该应用或操作系统构 造工作请求,并将其记入(post)到被分配到该分区及该逻辑端口的队列对。该记入方法将 该工作请求加入到适当的队列对,并向网络适配器114中的逻辑220通知未决操作。在该 发送_接收示例中,该目标分区预先记入接收工作请求,其识别将放置进入数据的存储器 区域。该源分区记入发送工作请求,其识别要发送的数据。在该源分区上的每个发送操作 消耗在该目标分区上的接收工作请求。在此方案中,在该分区中的每个应用或操作系统管 理其本身的缓冲器空间,且该消息交易的任一端均不具有关于该对等点的注册的缓冲器的
明确信息。相反地,远程DMA消息识别该源及目标缓冲器两者。数据可直接写入到远程地 址空间或从远程地址空间读取,而不牵涉该目标分区。 资源数据215包括示例记录230、232、234、236及237。在一实施例中,资源数据 215具有固定大小及最大数目的记录,使得资源数据215的搜索可以足够快地完成来配合 于来自网络130的分组的进入流。在资源数据215中条目或记录(例如,记录230、232、234、 236及237)为在逻辑分区150-1与150-2间分配的所述资源。每个记录230、232、234、236 及237包括资源标识符字段238、相关联的元组字段240、及相关联的目的地队列对标识符 字段242。资源标识符字段238识别该记录或资源。元组字段240包括作为一些分组的属 性的数据,并且在各个实施例中,其可包括来自一些接收到或预期会接收到的分组的字段 或所述分组的字段的组合的数据。在各个实施例中,元组240可包括发送该分组的源计算 机系统135的网络(例如IP或因特网协议地址)、所述分组的目的地的网络地址(例如IP 或因特网协议地址)(如物理端口 225的网络地址)、TCP/UDP(传输控制协议/用户数据报 协议)源端口、TCP/UDP目的地端口、用于传输该分组的传输协议、或逻辑端口标识符,其识 别作为所述分组的目的地的逻辑端口 205-1 、205-2或205-10。 目的地队列对标识符字段242识别要接收由元组240识别的分组的队列对。因此, 在资源数据215中的每个记录(资源)表示在元组字段240中的数据与在目的地队列对字 段242中的数据之间的映射或关联。如果自该接收分组取得的元组符合在资源数据215中 的记录(资源)中的元组240,则逻辑220路由、发送或存储该分组到关联于在该记录(资 源)中的该元组240的相对应指定的目的地队列对242。例如,如果自该接收分组取得的 元组为"元组B",则逻辑220确定"元组B"在记录232的元组字段240中指定,而"队列对 E"在记录232中的相对应的目的地队列对标识符字段242中指定,所以,逻辑220路由、发 送或存储该接收分组到队列对E 210-12。 如果自该进入分组取得的元组并不符合在资源数据215中的任何记录(资源)中 任何元组240,则逻辑220路由、发送或存储该分组到关联于(或指定于)在该分组中指定 的该逻辑端口的该缺省队列对。例如,队列对210-1为指定到逻辑端口 205-1的缺省队列 对;队列对210-2为指定到逻辑端口 205-2的缺省队列对;而队列对210-10为指定到逻辑 端口 205-10的缺省队列对。因此,例如,如果自该接收分组取得的元组为"元组F",则逻辑 220确定"元组F"并未在资源数据215中的任何记录(资源)的元组字段240中被指定, 所以,逻辑220路由、发送或存储该接收分组到队列对210-1、210-2或210-10,其是被指定 到由该接收分组指定的该逻辑端口的缺省队列对。
图3绘出了根据本发明的实施例的示例分区150的框图。示例分区150 —般表示 分区150-1及150-2。分区150包括操作系统305、分配请求310及应用315。
操作系统305包括能够在处理器101上执行的指令、或能够由在处理器101上执 行的指令所解译的语句。操作系统305以与非分区的计算机的操作系统更为相同的方式控 制分区150的主要操作。操作系统305执行分区150的基本任务,例如辨识来自终端121 的键盘的输入,并发送输出到终端121的显示屏幕。操作系统305还可开启及关闭文件或 数据对象,并从存储装置125、 126及127读取数据,及写入数据到存储装置125、 126及127, 并控制外设,例如盘驱动器及打印机。 操作系统305还可支持多用户、多处理、多任务及多线程操作。在多用户操作中, 操作系统305可允许两个或更多的用户在不同终端121同时(并发地)执行应用315。在 多处理操作中,操作系统305可支持在一个以上处理器101上运行应用315。在多处理操作 中,操作系统305可以支持在多于一个的处理器101上运行应用315。在多任务操作中,操 作系统305可支持同时执行多个应用315。在多线程操作中,操作系统305可支持单个应用 的不同部分或不同实例来同时执行。在一实施例中,操作系统305可使用驻留于内核之上 的从国际商用机器公司可得到的i5/OS⑧操作系统来实施。在各个实施例中,不同分区的操 作系统可为相同,或它们中某些或所有可以不同。(i5/0S是国际商用机器公司在美国、其它 国家中的商标、或注册商标、或两者。) 应用315可以是用户应用、第三方应用或0EM(原始设备制造)应用。在各个实施 例中,应用315包括能够在处理器101上执行的指令、或能够由在处理器101上执行的指令 所解译的语句。 分配请求310包括元组字段320、队列对标识符字段322、优先级字段324、次优先 级字段326、及请求分区标识符字段328。元组字段320识别分组或一组分组,其中,对于所 述分组,请求分区150期望增加那些分组的处理性能,并请求超级管理器152通过分配网络 适配器114中的资源到请求分区150用于那些分组的处理来增加该处理性能。队列对标识 符字段322识别被分配给发送分配请求310的分区150的队列对。 优先级字段324识别与此分区或其他分区可发送的其他分配请求相比的、分配请 求310的相对优先级。如果优先级字段324指定高优先级资源,则超级管理器152必须分 配该资源到该分区,即使超级管理器152必须预占、解除分配、或从另一个分区(其分配具 有较低优先级)取走该资源,也是如此。次优先级字段326识别与此分区可发送的具有相 同优先级324的其他分配请求相比的、分配请求310的相对次优先级。次优先级字段326 的内容用于确定在分区内的资源分配,并允许分区150在该相同分区150内的具有相同优 先级级别324的其本身的分配请求之间划分优先级。每个分区独立地决定要使用什么准则 来设置此次优先级326。请求分区标识符字段328识别发送分配请求310的此分区150。
分区150的操作系统305或应用315响应于确定由元组320识别的分组需要增加 它们处理的速度,发送分配请求310到超级管理器152,以便提供较佳的性能。
图4绘出了根据本发明的实施例的配置请求199的示例数据结构的框图。配置管 理器198发送配置请求199到超级管理器152,以便控制或限制超级管理器152响应于分配 请求310分配到分区150的资源的数目。 配置请求199包括分区标识符字段402、高优先级资源上限字段404、中优先级资源上限字段406、及低优先级资源上限字段408。分区标识符字段402识别配置请求199的 限制404、406及408应用到或被指向(direct)的分区150。 高优先级资源上限字段404指定配置管理器198允许超级管理器152分配给由分 区标识符字段402识别的分区150的、具有高的相对优先级(最高优先级)的资源的上限 或最高数目。如果该分区经由发送指定高的优先级324的分配请求310而请求该高优先级 资源的分配,则高优先级资源是必须被分配到该分区的资源。在图4所示的示例数据中,配 置请求199指定由分区标识符402识别的该分区仅被允许分配由上限404指定的最多一个 高优先级资源。 中优先级资源上限字段406指定配置管理器198允许超级管理器152分配到由分 区标识符字段402识别的分区150的、具有中级相对优先级的资源的上限或最高数目。该 中优先级比该高优先级低,或是较不重要。在图4所示的示例数据中,配置请求199指定由 分区标识符402识别的该分区仅被允许分配由上限406指定的最多五个中优先级资源。
低优先级资源上限字段408指定配置管理器198允许超级管理器152分配到由分 区标识符字段402识别的分区150的、具有低相对优先级的资源的上限或最高数目。该低 优先级为最低优先级,并低于该中优先级,但在其他实施例中,可使用具有任何适当定义及 相对重要性的任何数目的优先级。在图4所示的示例数据中,配置请求199指定由分区标 识符402识别的该分区仅被允许分配由上限408指定的最多八个低优先级资源。
图5描绘了根据本发明的实施例的资源限制154的示例数据结构的框图。如果配 置请求199符合准则,则超级管理器152将来自超级管理器152从配置管理器198接收的 配置请求199的数据加入到资源限制154(对于多种分区),如下面参照图7而进一步描述 的。 资源限制154包括示例记录505及510,其每一个包括分区标识符字段515、相关 联的高优先级资源数目上限字段520、相关联的中优先级资源数目上限字段525、以及相关 联的低优先级资源数目上限字段530。 分区标识符字段515识别关联于各个记录的分区150。 高优先级资源数目上限字段520指定具有配置管理器198允许超级管理器152分 配到由分区标识符字段515识别的分区150的、具有高相对优先级的资源的上限或最高数 目。 中优先级资源数目上限字段525指定配置管理器198允许超级管理器152分配到 由分区标识符字段515识别的分区150的、具有中相对优先级的资源的上限或最高数目。
低优先级资源数目上限字段530指定配置管理器198允许超级管理器152分配到 由分区标识符字段515识别的分区150的、具有低相对优先级的资源的上限或最高数目。
图6绘出了根据本发明的实施例的配置数据156的示例性数据结构的框图。配 置数据156包括分配的资源602及保存的分配请求604。分配的资源602表示网络适配器 114中已经分配给分区150或为空闲的资源。分配的资源602包括示例记录606、608、610、 612、614、616、618及620,其每一个包括资源标识符字段630、分区标识符字段632、优先级 字段634及次优先级字段636。 资源标识符字段630识别网络适配器114中的资源。分区标识符字段632识别响 应于分配请求310而由资源标识符字段630识别的资源被分配到的分区150。也就是说,由
16分区标识符字段632识别的分区150拥有,并具有对由资源标识符字段630识别的资源的 排他使用,且不允许其他分区来使用或存取该资源。优先级字段634识别与至相同或不同 分区的其他资源的所有其他分配相比的、至请求分区632的资源630的分配的相对优先级 或重要性。优先级字段634依据请求资源630的分配的分配请求310的优先级324设置。 次优先级字段636指示与至相同分区632的其他资源的所有其他分配相比的、至请求分区 632的资源630的分配的相对优先级或重要性。次优先级字段636的内容依据请求其分配 的分配请求310的次优先级326设置。次优先级字段636的内容用于确定单个分区632内 的资源分配,并允许分区632在该相同分区632内的具有相同优先级级别634的请求之间 划分优先级。每个分区独立地决定要使用什么准则来设置此次优先级636。
保存的分配请求604包括示例记录650及652,其每一个包括元组字段660、队列 对标识符662、优先级字段664、次优先级字段666及请求分区标识符字段668。每个记录 650及652表示超级管理器152暂时不能完成的分配请求,或表示由另一个较高优先级分配 请求所预占的分配。因此,保存的分配请求604表示对当前并未完成的分配的请求。
元组字段660识别分组或一组分组,其中对于所述分组,请求分区668期望增加那 些分组的处理性能,并请求超级管理器152通过分配网络适配器114中的资源到分区668 用于处理该分组来增加处理性能。队列对标识符字段662识别被请求分配给发送分配请求 310的分区668的队列对。 优先级字段664识别与此分区或其他分区可发送的其他分配请求相比的、该记录 的分配请求的相对优先级。次优先级字段666识别与此请求分区668可发送的其他分配请 求相比的、分配请求的相对次优先级。次优先级字段666的内容用于确定在分区内的资源 分配,并允许分区在相同分区内的具有相同优先级级别664的请求之间划分优先级。每个 分区独立地确定要使用什么准则来设置此次优先级666。请求分区标识符字段668识别发 送该分配请求的分区150。 图7绘出了根据本发明的实施例的配置及激活请求的示例性处理的流程图。控制 开始于块700。控制然后继续到块705,其中配置管理器198发送配置请求199到计算机系 统IOO,且超级管理器152接收配置请求199。配置管理器198可以响应于经由I/O装置 192的用户接口选择或基于程序准则来发送配置请求199。响应于接收配置请求199,超级 管理器152从配置数据156的分配的资源602读取记录606、608、610、612、614、616、618及 620。 在一实施例中,超级管理器152接收配置请求199,同时,由分区标识符字段402识 别的分区150处于未激活。如果超级管理器152接收配置请求199而该分区为激活,则超 级管理器152拒绝配置请求199或者不应用配置请求199的改变到资源限制154,直到下次 该分区为未激活为止。但是,在另一实施例中,超级管理器152可随时动态地接收及应用配 置请求199。 然后,控制继续到块710,其中配置管理器198发送激活请求到计算机系统100的 超级管理器152。配置管理器198可以响应于经由1/0装置192的用户接口选择或响应于 要满足的程序准则,来发送该激活请求。该激活请求指定要被激活的分区。超级管理器152 从配置管理器198接收该激活请求,且作为响应,超级管理器152激活由该激活请求指定的 分区150。激活该分区包括分配存储器及一个或多个处理器到所指定的分区150,启动在至少一个处理器101上执行的操作系统305,分配队列对到分区150,且可选地开始在至少 一个处理器101上执行的分区150的一个或多个应用315。超级管理器152向该分区通知 其分配的队列对的标识符。 然后,控制继续到块715,其中(响应于接收配置请求199及/或响应于接收该激 活请求),超级管理器152确定配置请求199中的高优先级资源上限404、加上所有分区的 资源限制154中的所有高优先级资源上限520的总和是否小于或等于资源数据215中的资 源的总数(记录的总数或最大数目)。资源数据215中的记录的总数或最大数目表示网络 适配器114中的可分配资源的总数或最大数目。 如果在块715处的确定为真,则配置请求199中的高优先级资源上限404、加上所 有分区的资源限制154中的所有高优先级资源上限520的总和小于或等于资源数据215中 的资源的总数(网络适配器114中的可分配资源的总数),于是控制继续到块720,其中超 级管理器152利用来自配置请求199的数据,加入记录到资源限制154。也就是说,超级管 理器152将来自配置请求199的分区标识符402复制到资源限制154中的新记录中的分区 标识符515,将来自配置请求199的高优先级资源上限404复制到资源限制154中的新记录 中的高优先级资源上限520,将来自配置请求199的中优先级资源上限406复制到资源限 制154中的新记录中的中优先级资源上限525,及将来自配置请求199的低优先级资源上限 408复制到资源限制154中的新记录中的低优先级资源上限530。
然后控制继续进行到块799,其中图7的逻辑返回。 如果在块715处的确定为假,则高优先级资源上限404、加上所有高优先级资源上 限520的总和大于资源数据215中的资源的总数(记录的数目),所以控制继续进行到块 730,其中超级管理器152返回错误到配置管理器198,因为网络适配器114并不具有足够 的资源来满足该高优先级配置请求。块730的错误通知指示该分区激活的失败,并非配置 数据156的设置的失败。换言之,资源限制154反映所有当前激活及运行中的分区,并且, 如果一分区的配置请求199在剩余可用的资源限制内符合,则仅允许该分区开始(仅被激 活)。然后控制继续进行到块799,其中图7的逻辑返回。 图8描绘了根据本发明的实施例的分配请求的示例处理的流程图。控制开始于块 800。然后,控制进行到块805,其中请求分区150(在请求分区150内的操作系统305或应 用315)构造及发送分配请求310到超级管理器152。请求分区150响应于确定对分组或 一组分组的处理需要性能加速或增加,构造及发送分配请求310。分配请求310识别队列 对322,其被分配到该分区(先前在块710处由超级管理器152所分配的);元组320,其识 别该分区期望加速的分组;该分区期望分配的资源的优先级324 ;与分配到此分区150的其 他资源相比的、分区150指定的资源的次优先级326 ;以及请求分区150的分区标识符328。 超级管理器152从由请求分区标识符字段328识别的请求分区150接收分配请求310。
然后,控制进行到块810,其中响应于接收分配请求310,超级管理器152确定已经 以所请求的优先级324分配(到发送分配请求310的分区328)的资源的数目是否等于分 区328在优先级324的上限(对应于优先级324的520、525或530)。超级管理器152通 过计数(确定其数目)所分配的资源602中的、具有符合于分区标识符328的分区标识符 632且具有符合优先级324的优先级634的所有记录,来做出块810的确定。然后,超级管 理器152在资源限制154中找到具有符合分区标识符328的分区标识符515的记录。
然后,超级管理器152在资源限制154的所找到的记录中选择关联于优先级324 的字段(520、525或530)。例如,如果优先级324为高,则超级管理器152选择在找到的记 录中的高优先级上限字段520 ;如果优先级324为中,则超级管理器152选择在找到的记录 中的中优先级资源上限字段525 ;及如果优先级324为低,则超级管理器152选择在找到的 记录中的低优先级资源上限字段530。然后,超级管理器152比较在资源限制154中所找到 的记录中的所选择的字段(520、525或530)内的值、与分配的资源602中的记录的数目的 计数。如果它们相同,则块810的确定为真;否则该确定为假。 如果在块810处的确定为真,则已经以请求的优先级324分配(到发送分配请求 310的分区328)的资源的数目等于在优先级324的分区328的上限(520、525或530),于 是控制继续进行到块815,其中超级管理器152返回错误到发送分配请求310的分区,这是 因为,该分区已经被以该优先级级别324而分配了其资源的限制。然后,控制继续进行到块 899,其中,图8的逻辑返回。 如果在块810处的确定为假,则已经以请求的优先级324分配(到发送分配请求 310的分区328)的资源的数目不等于在优先级324的分区328的上限(取决于优先级324 的520、525或530),于是通过请求分区150的额外资源的分配请求将由超级管理器152考 虑,于是控制继续进行到块820,其中超级管理器152确定空闲资源(尚未被分配到任何分 区的资源)是否存在于分配的资源602中。超级管理器152通过在分配的资源602中搜索 未被分配到任何分区的记录(例如,通过搜索其分区标识符632指示个别的资源630并未 被分配到任何分区或为空闲的记录),来做出块820的确定。在图6的示例中,记录616、618 及620指示它们各自的资源630 "资源F"、"资源G"及"资源H"为空闲,这意味着它们未被 分配给任何分区。 如果在块820处的确定为真,则空闲资源存在于网络适配器114中,于是控制继续 进行到块825,其中超级管理器152将在分配请求310中接收的元组320及队列对322的标 识符、以及所找到的空闲资源630的标识符发送到网络适配器114。网络适配器114的逻辑 220接收元组320及队列对标识符322,并且,在资源数据215中的记录中,将它们分别存储 在元组240及目的地队列对标识符242中。网络适配器114的逻辑220还创建该记录的、符 合于所找到的空闲资源630的标识符的资源标识符,并将资源标识符238存储在该记录中。 通过将资源标识符238、元组240及队列对标识符242存储在资源数据215中的记录中,网 络适配器114将由该记录所表示的该资源分配到拥有由队列对标识符242所识别的队列对 的该分区(该请求分区)。因此,该元组到该队列对的映射被存储到所选择的资源中。超级 管理器152设置分配的资源602中的分区标识符字段632来指示该资源不再空闲、且现在 被分配到该请求分区。然后,控制继续进行到块899,其中,图8的逻辑返回。
如果在块820处的确定为假,则空闲资源并不存在于网络适配器114中,且网络 适配器114中的所有资源当前被分配到分区,于是控制继续进行到块830,其中超级管理器 152确定是否存在其分配(到此或其他分区)可被预占(改变)的所选择的资源,如下面参 照图9进一步说明的。 如果在块830处的确定为真,则存在其分配可被预占的、所选择的资源,于是控制 继续进行到块835,其中超级管理器152预占所选择的资源的分配,并分配所选择的资源到 该请求分区,如下面参照图IO进一步说明的那样。然后,控制继续进行到块899,其中,图8
19的逻辑返回。 如果在块830处的确定为假,则其分配可被预占的、所选择的资源并不存在,于是 控制继续进行到块840,其中超级管理器152将请求310保存到保存的请求604,而不分 配任何资源到该请求分区,并且,将暂时失败返回到由请求分区标识符328所识别的分区 150。然后,控制继续进行到块899,其中,图8的逻辑返回。 图9描绘了根据本发明的实施例的用于确定分配的资源是否应被预占的示例处 理的流程图。控制开始于块900。然后,控制继续进行到块905,其中超级管理器152确定 分区请求310的优先级324是否高于(更重要于)被分配到另一个分区(不同于请求分区 328)的资源的优先级634(使得该资源要预先被分配的该请求的优先级)。如果在块905 处的确定为真,则当前分配请求的优先级324高于(较高于或更重要于)使得该资源被分 配到另一个分区的先前分配请求的优先级634 (如在分配的资源602中的记录所指示的,其 中,分区标识符632不同于请求分区标识符328),于是控制继续进行到块910,其中超级管 理器152选择在分配的资源602内的所有记录中的所有优先级中最低的优先级级别634。 使用图6的示例,在分配的资源602中的最低优先级为中优先级级别,如记录612及614中 所指示的,其低于记录606、608及610的高优先级级别。 然后,控制继续进行到块915,其中超级管理器152选择分区632,其接收其分配的 资源630在所选择的优先级级别的最高百分比。使用图6的示例数据,分区B接收其分配 的资源的50%在中优先级级别,因为分区B具有在中优先级级别的一个分配的资源(如记 录614中所指示的)、以及在高优先级级别的一个分配的资源(如记录610中所指示的)。 相反地,分区A接收其总体的分配的资源的33X (跨越所有优先级级别)在中优先级级别, 因为分区A具有在中优先级级别的一个分配的资源(如记录612中所指示的)、以及在高优 先级级别的两个分配的资源(记录606及608)。因此,分区B接收其总共分配的资源中在 中优先级级别的最大百分比,因为50 %大于33 % 。 再次参照图9,然后,控制继续进行到块920,其中,超级管理器152选择与被分配 到所选择的分区632的其他资源相比、具有最低次优先级636的被分配到所选择的分区632 的资源630。然后,控制继续进行到块999,其中图9的逻辑返回真,并将所选择的资源返回 到图9的逻辑的调用方。 如果在块905处的确定为假,则分配请求310的优先级324并不大于(非高于或 更重要于)分配到另一分区的资源的优先级634(由分配的资源602中的记录所指示,其中 分区标识符632不同于请求分区标识符328),且该分配请求的优先级低于或等于所有当前 分配的资源的优先级,于是,控制随后继续进行到块925,其中超级管理器152确定请求分 区328是否具有比以优先级634分配给所选择的分区的资源的上限(525或530)的百分比 小的、以优先级324所分配的资源的其上限(525或530)的百分比,其中优先级634及324 为等同、相等或相同。 如果在块925处的确定为真,则请求分区328具有比以相同优先级634(与优先级 324相同的优先级)分配给所选择的分区的资源的上限(525或530)的百分比小的、以优先 级324分配的资源的其上限(525或530)的百分比,于是控制继续进行到块930,其中超级 管理器152选择具有最低次优先级636的、分配给所选择的分区的资源。然后,控制继续进 行到块999,其中图9的逻辑返回真及所选择的资源到图9的逻辑的调用方。
如果在块925处的确定为假,则请求分区328具有大于或等于在相同优先级 634(与优先级324相同的优先级)的被分配给所有其他分区的资源的上限(525或530)的 百分比的、在优先级324的分配资源的其上限(525或530)的百分比,于是控制继续进行到 块935,其中超级管理器152确定请求分区328先前是否已分配了所分配的资源602中的、 具有低于分配请求310的次优先级326的次优先级636的资源。 如果在块935处的确定为真,则请求分区328先前分配了所分配的资源602中的、 具有低于分配请求310的次优先级326的次优先级636的资源,于是控制继续进行到块 940,其中超级管理器152选择这样的资源,其已经被分配(先前经由先前分配请求而被分 配)到发送具有最低次优先级636的请求的请求分区328。然后,控制继续进行到块999, 其中图9的逻辑返回真,并返回所选择的资源到图9的逻辑的调用方,其中该调用方为图8 的逻辑。 如果在块935处的确定为假,则请求分区328先前并未分配所分配的资源602中 的、具有低于分配请求310的次优先级326的次优先级636的资源,于是控制继续进行到块 998,其中图9的逻辑返回假(指示先前分配的资源并未被允许被预占)到图9的调用方, 其中该调用方为图8的逻辑。图IO绘出了根据本发明的实施例的用于预占资源的分配的 示例处理的流程图。在一实施例中,先前分配的资源的预占包括将在资源数据215中的记 录(资源)所提供的映射从第一元组及第一目的地队列对的第一映射(第一关联)改变为 第二元组及第二目的地队列对的第二映射(第二关联)。在各个实施例中,第一 目的地队列 对及第二目的地队列对可以是相同或不同的队列对。 控制开始于块1000。然后,控制继续进行到块1005,其中超级管理器152发送删 除请求到网络适配器114。该删除请求包括作为被预占的资源的、所选择的资源的资源标识 符。如先前在上面参考图8的块830及图9的逻辑所述那样,选择所选择的资源。
然后,控制继续进行到块IOIO,其中网络适配器114从超级管理器152接收该删 除请求,并从资源数据215删除由该接收的资源标识符所识别(其资源标识符238符合该 删除请求的资源标识符)的记录(或从该记录中删除在元组240中的数据、及目的地队列 对标识符242)。然后,控制继续进行到块1015,其中超级管理器152将被预占的资源记录 (其资源标识符630符合该删除请求的资源标识符的记录)从分配的资源602移动到保存 的请求604,其解除分配所选择的资源。 然后,控制继续进行到块1020,其中超级管理器152发送加入请求到网络适配 器114,其中,该加入请求包括被预占的资源的资源标识符、在分配请求310中指定的元组 320、及在分配请求310中指定的目的地队列对标识符322。然后,控制继续进行到块1025, 其中网络适配器114接收该加入请求,并将新记录加入或存储到资源数据215,其将被预占 的资源的资源标识符存储到资源标识符238,将在分配请求310中指定的元组320存储到元 组240,并将在分配请求310中指定的目的地队列对标识符322存储到目的地队列对标识符 242,其用于将由资源标识符238所识别的该资源(该记录)分配到拥有由目的地队列对标 识符242所识别的该目的地队列对的请求分区。因此,该元组至该队列对的映射被存储到 所选择的资源中。然后,控制继续进行到块1099,其中,图10的逻辑返回。
图11绘出了根据本发明的实施例的用于解除分配资源的示例处理的流程图。控 制开始于块1100。然后,控制继续进行到块1105,其中分区150请求超级管理器152来释放
21或解除分配资源(其先前被请求分配到该分区),因为该分区不再需要使用该资源的分组 的加速性能。该请求包括该资源的资源标识符、元组、及/或该请求分区的标识符。然后, 控制继续进行到块1107,其中超级管理器152确定由该释放资源请求所指定的该资源是否 在分配的资源602中被指定。 如果在块1107处的确定为真,则由该释放资源请求指定的该资源在分配的资源 602中,这意味着该资源被分配,于是控制继续进行到块1110,其中超级管理器152从分配 的资源602移除具有符合该解除分配请求的所请求的资源标识符的资源标识符630的记 录,或在该记录中设置分区标识符632以指示由资源标识符630所识别的该资源为自由、空 闲、解除分配、或当前未分配给任何分区。然后,控制继续进行到块1115,其中超级管理器 152发送删除请求到网络适配器114。该删除请求指定在该解除分配请求中被指定的资源 标识符。然后,控制继续进行到块1120,其中网络适配器114接收该删除请求,并从资源数 据215删除包括符合由该删除请求指定的该资源标识符的资源标识符238的记录。该资源 现在被解除分配。 然后,控制继续进行到块1125,其中超级管理器152确定保存的分配请求604是 否包括至少一个保存的请求。如果在块1125处的确定为真,则保存的分配请求604包括期 望资源分配的保存的请求,于是控制继续进行到块1130,其中超级管理器152找到保存的 请求,并分配用于其的资源,如下面参照图14进一步所述的那样。然后,控制继续进行到块 1199,其中,图11的逻辑返回。 如果在块1125处的确定为假,则保存的分配请求604并不包括保存的请求,于是 控制继续进行到块1199,其中,图11的逻辑返回。 如果在块1107处的确定为假,则由该释放(解除分配)资源请求所指定的资源并 不在分配的资源602中,于是控制继续进行到块1135,其中超级管理器152在保存的请求 604中找到具有符合由该解除分配请求所指定的元组及请求分区标识符的元组660及分区 标识符668的记录,并从保存的请求604移除该找到记录。然后,控制继续进行到块1199, 其中,图11的逻辑返回。 图12绘出了根据本发明的实施例的用于从该网络接收分组的示例处理的流程 图。控制开始于块1200。然后,控制继续进行到块1205,其中网络适配器114中的物理端 口 225从网络130接收数据分组。接收的数据分组包括符合物理端口 225的网络地址的物 理端口地址。 然后,控制继续进行到块1210,其中网络适配器114中的逻辑220从接收分组中读 取元组,或从在所接收的分组中的数据的组合创建元组。然后,控制继续进行到块1215,其 中逻辑220向资源数据215搜索符合在该分组中的或从该分组创建的元组的元组240。然 后,控制进行到块1220,其中逻辑220确定是否找到资源数据215中的符合在该分组中的或 从该分组创建的元组的元组240。 如果在块1220处的确定为真,则逻辑220在资源数据215中找到具有符合于在该 分组中的元组的元组240的记录(资源),这意味着对于该分组的元组而分配了资源,于是 控制继续进行到块1225,其中逻辑220从关联于所找到的元组240的资源数据记录中读取 目的地队列对标识符242。然后,控制继续进行到块1230,其中逻辑220发送该分组到由所 找到的记录(资源)中的目的地队列对标识符242所识别的该队列对(将该分组存储在该队列对中)。 然后,控制继续进行到块1235,其中被分配了该资源的分区632(所分配的资源 602中的具有符合对于接收的元组240的资源标识符238的资源标识符630的记录中的分 区632)从由目的地队列对标识符242识别的该队列对取得该分组。然后,控制继续进行到 块1236,其中在由分区标识符632所识别的分区150中的操作系统305 (或其他代码)将该 分组路由到目标应用315及/或目标应用315的会话,其被分配了由目的地队列对标识符 242所识别的队列对。然后,控制继续进行到块1299,其中,图12的逻辑返回。
如果在块1220处的确定为假,则逻辑220并未在资源数据215中找到符合所该接 收分组中(或从其创建)的元组的元组240,因此该接收分组的元组尚未被分配资源,于是 控制继续进行到块1240,其中逻辑220将所接收的分组发送(存储)到关联于或指定到由 该接收分组所指定的该逻辑端口的缺省队列对。 然后,控制继续进行到块1245,其中超级管理器152确定作为该分组的目标目的 地的分区,并通知该分区。响应于该通知,该分区(操作系统305)从该缺省队列取得该分 组。然后,控制继续进行到块1250,其中在由分区标识符632所识别的分区150中的操作系 统305(或其他码)读取该分组,从该分组中的数据确定目标应用315及/或目标应用315 的会话,并将该分组路由到所确定的目标应用。在一实施例中,操作系统305读取该分组的 TCP/IP堆栈,以便确定该目标应用。然后,控制继续进行到块1299,其中,图12的逻辑返回。
在一实施例中,块1250的处理比块1236的处理慢,因为块1250的处理需要通过 审查(interrogate)该接收的分组中的数据来确定该目标应用及/或会话,所以本发明的 一实施例(由块1225、 1230、 1235及1236的处理所示的)通过利用选择性分配资源到元组 240至目的地队列对标识符242的映射,提供较佳的性能。 图13绘出了根据本发明的一实施例的用于解除激活分区的示例处理的流程图。 控制开始于块1300。然后,控制继续进行到块1305,其中超级管理器152接收来自配置管 理器198的解除激活请求,且作为响应,解除激活分区150。超级管理器152可以例如通过 停止在处理器101上的操作系统305与应用315的执行,并通过解除激活被分配到分区150 的资源,来解除激活分区150。 控制继续进行到块1307,其中超级管理器152通过例如将指定所解除激活的分区 的记录的分区标识符字段632改变为指示由相应资源字段630所识别的资源为空闲、或当 前未被分配到任何分区,将分配的资源602中的分配到解除激活的分区的所有资源改变为 指示该资源为空闲、自由或解除分配。然后,控制继续进行到块1310,其中超级管理器152 从保存的请求604移除对于该解除激活的分区的所有资源请求。例如,超级管理器152在 保存的分区604中找到在请求分区标识符字段668中指定该解除激活的分区的所有记录, 并从保存的分配请求604中移除那些找到的记录。 然后,控制继续进行到块1315,其中超级管理器152从资源限制154移除该解除 激活的分区的所有限制。例如,超级管理器152在资源限制154中找到在分区标识符字段 515中指定该解除激活的分区的所有记录,并从资源限制154中移除那些找到的记录。
然后,控制继续进行到块1317,其中超级管理器152发送删除请求到网络适配器 114,其指定分配到该解除激活的分区的所有资源。然后,控制继续进行到块1320,其中网 络适配器114接收该删除请求,并从资源数据215删除其资源标识符238符合在分配的资源602中的具有符合该解除激活的分区的分区标识符632的记录中的资源标识符630的记 录。然后,控制继续进行到块1325,其中超级管理器152确定分配的资源602是否具有空闲 资源,且保存的分配请求604是否包括至少一个保存的请求(具有至少一个记录)。
如果在块1325处的确定为真,则分配的资源602具有空闲资源,且保存的分配请 求604包括至少一个存储的请求,于是控制继续进行到块1330,其中超级管理器152通过 找到保存的请求并为其分配资源,来处理该保存的请求,如在下面参照图14而进一步所述 的。然后,控制继续进行到块1325,如前所述。 如果在块1325处的确定为假,则分配的资源602并不具有空闲资源,或保存的分 配请求604并不包括保存的请求,于是控制继续进行到块1399,其中,图13的逻辑返回。
图14描绘了根据本发明的实施例的用于处理保存的分配请求的示例处理的流程 图。控制开始于块1400。然后,控制继续进行到块1405,其中超级管理器152选择保存的 请求604中的最高优先级级别664。(在图6的示例中,在保存的分配请求604中的所有请 求的最高优先级级别为"中",如记录650中所示,其高于记录652的"低"优先级)。
然后,控制继续进行到块1410,其中超级管理器152选择分区668,其具有以所选 择的最高优先级级别所分配的资源的其上限(取决于所选择的优先级级别,为520、525或 530)的最低百分比。在图5及图6的示例中,分区A及分区B均具有以中优先级级别分配 的一个资源,如在记录612及614中所示;且分区A的中优先级资源525的上限为"5",如 在记录505中所示;而分区B的中优先级资源525的上限为"2",如在记录510中所示。因 此,分区A的所分配的中优先级资源其上限的百分比为20% (1/5*100),而分区B的所分配 的中优先级资源其上限的百分比为50% (1/2W00),所以分区A具有由中优先级请求分配 的资源上限的最低百分比,因为20%< 50%。 然后,控制继续进行到块1415,其中超级管理器152选择具有最高次优先级666的 保存的请求(其由选择的分区668所启动)。然后,控制继续进行到块1420,其中超级管理 器152发送加入请求到网络适配器114,其中,该加入请求包括空闲资源的资源标识符、所 选择的保存的请求的元组660、及所选择的保存的请求的目的地队列对标识符662。
然后,控制继续进行到块1425,其中网络适配器114接收该加入请求,并将新记录 加入到资源数据215,其中该新记录包括该加入请求中所指定的资源标识符238、元组240 和目的地队列对标识符242。然后,控制继续进行到块1430,其中超级管理器152通过从保 存的请求604中移除所选择的保存的请求,并通过将该资源从所保存的请求加入到分配的 资源602,来更新配置数据156,其中该资源包括该资源标识符、该分区标识符、该优先级及 该次优先级。然后控制继续进行到块1499,其中,图14的逻辑返回。 在先前对本发明的示例性实施例的详细说明中,对附图进行参照(其中类似的编 号代表类似的组件),其形成该详细说明的一部分,且其中,通过例示可实施本发明的特定 示例性实施例所示。这些实施例以充分的细节来描述,使得本领域的技术人员可以实施本 发明,但其他实施例可被利用,且可在不背离本发明的范畴的情况下进行逻辑、机械、电气 及其他改变。在先前说明中,提出许多特定细节,以提供对于本发明的实施例的完整了解。 但是,本发明可不利用这些特定细节来实施。在其他实例中,熟知的电路、结构及技术并未 详细显示,以便不会混淆本发明。 在本说明中使用的词语"实施例"的不同实例并不必须指相同的实施例,但它们可以指相同的实施例。此处所例示或描述的任何数据及数据结构仅为示例,且在其他实施例 中,可以使用不同的数据量、数据类别、字段、字段的数目及类别,字段名称、行的数目及类 别、记录、条目或数据的组织。此外,任何数据可与逻辑结合,使得独立数据结构并不是必须 的。因此,先前的详细说明并非以限制性来看待,且本发明的范畴仅由所附的权利要求所定 义。
权利要求
一种方法,包括从第一请求分区接收第一分配请求,其中,该第一分配请求包括元组、以及队列的标识符;从多个资源之中选择所选择的资源,其中,所选择的资源被分配到所选择的分区;及将所选择的资源分配到该第一请求分区,其中,所述分配还包括将该元组至该队列的映射存储到所选择的资源中。
2. 如权利要求1所述的方法,其中,该第一分配请求还包括第一优先级,其中,所选择的分区发送包括第二优先级的第二分配请求,且其中,所述选择还包括确定该第一优先级高于该第二优先级;及确定与以该第二优先级分配到多个分区中的其他分区的资源的百分比相比,所选择的分区被分配了其以该第二优先级被分配的资源的最大百分比。
3. 如权利要求2所述的方法,其中所述选择还包括选择该第二优先级,作为向所述多个资源指定的最低优先级。
4. 如权利要求3所述的方法,其中,所述选择还包括选择具有被分配到该所选择的分区的所述资源中的最低次优先级的所选择的资源。
5. 如权利要求1所述的方法,其中,该第一分配请求还包括第一优先级,其中,所选择的分区发送包括第二优先级的第二分配请求,且其中,所述选择还包括确定该第一优先级低于或等于当前被分配的所述多个资源的全部的优先级;及确定与所选择的分区在该第二优先级相比,该第一请求分区具有在该第一优先级的所述多个资源的数目的其上限的更低的百分比,其中该第一优先级与该第二优先级相等。
6. 如权利要求5所述的方法,其中,所述选择还包括选择具有向被分配到该所选择的分区的资源指定的最低次优先级的所选择的资源。
7. 如权利要求1所述的方法,其中,该第一分配请求还包括第一优先级,且其中,所述选择还包括确定该第一优先级低于或等于当前被分配的所述多个资源的全部的优先级;确定与所有其它分区在该第一优先级的其上限相比,该第一请求分区具有以该第一优先级分配的所述多个资源的数目的其上限的更高的百分比;及选择与已经被分配到该第一请求分区的所述资源相比、具有最低次优先级的所选择的资源。
8. 如任何前述权利要求所述的方法,还包括从网络接收分组;确定该分组中的数据符合该元组;及将该分组存储在由该映射指定的队列中。
9. 如任何前述权利要求所述的方法,还包括从该第一请求分区接收解除分配请求;从多个保存的请求之中选择第一保存的请求,其中,先前从第二请求分区接收该第一保存的请求,并当所述多个资源的全部被分配且不能够被预占时,保存该第一保存的请求;及将所选择的资源分配到该第二请求分区。
10. 如权利要求9所述的方法,其中,选择该第一保存的请求还包括选择所述多个保存的请求的最高优先级;选择第二选择的分区,其具有以该最高优先级分配的所述多个资源的其上限的最低百分比;及选择由具有最高次优先级的该第二选择的分区发送的该第一保存的请求。
11. 如任何前述权利要求所述的方法,还包括设置该请求分区被允许以该第一优先级分配的、所述多个资源的数目的上限。
12. 如任何前述权利要求所述的方法,还包括步骤决定多个资源的全部均被分配,且其中,所述从多个资源之中选择所选择的资源的步骤响应于所述决定。
13. —种编码有指令的存储介质,其中,所述指令在被执行时包括从第一请求分区接收第一分配请求,其中该第一分配请求包括元组、以及队列的标识符;决定多个资源的全部均被分配;响应于所述决定,从所述多个资源之中选择所选择的资源,其中,所选择的资源被分配到所选择的分区;及将所选择的资源分配到该第一请求分区,其中,所述分配还包括将该元组至该队列的映射存储到所选择的资源中。
14. 如权利要求13所述的存储介质,其中,该第一分配请求还包括第一优先级,其中,所选择的分区发送包括第二优先级的第二分配请求,且其中,所述选择还包括确定该第一优先级高于该第二优先级;及确定与以该第二优先级分配到多个分区中的其他分区的资源的百分比相比,所选择的分区被分配了其以该第二优先级被分配的资源的最大百分比。
15. 如权利要求14所述的存储介质,其中所述选择还包括选择该第二优先级,作为所述多个资源的最低优先级。
16. 如权利要求15所述的存储介质,其中所述选择还包括选择具有被分配到该所选择的分区的所述资源的最低次优先级的所选择的资源。
17. 如权利要求13所述的存储介质,其中,该第一分配请求还包括第一优先级,其中,所选择的分区发送包括第二优先级的第二分配请求,且其中,所述选择还包括确定该第一优先级低于或等于当前被分配的所述多个资源的全部的优先级;及确定与所选择的分区在该第二优先级相比,该第一请求分区具有在该第一优先级的所述多个资源的数目的其上限的更低的百分比,其中该第一优先级与该第二优先级相等。
18. 如权利要求17所述的存储介质,其中所述选择还包括选择具有向被分配到该所选择的分区的资源指定的最低次优先级的所选择的资源。
19. 如权利要求13所述的存储介质,其中,该第一分配请求还包括第一优先级,且其中,所述选择还包括确定该第一优先级低于或等于当前被分配的所述多个资源的全部的优先级;确定与所有其它分区在该第一优先级的其上限相比,该第一请求分区具有以该第一优先级分配的所述多个资源的数目的其上限的更高的百分比;及选择与已经被分配到该第一请求分区的所述资源相比、具有最低次优先级的所选择的资源。
20. 如权利要求13至19中的任一个所述的存储介质,还包括从网络接收分组;确定该分组中的数据符合该元组;及将该分组存储在由该映射指定的队列中。
21. 如权利要求13至20中的任一个所述的存储介质,还包括从该第一请求分区接收解除分配请求;从多个保存的请求之中选择第一保存的请求,其中,先前从第二请求分区接收该第一保存的请求,并当所述多个资源的全部被分配且不能够被预占时,保存该第一保存的请求;及将所选择的资源分配到该第二请求分区。
22. 如权利要求21所述的存储介质,其中,选择该第一保存的请求还包括选择所述多个保存的请求的最高优先级;选择第二选择的分区,其具有以该最高优先级分配的所述多个资源的其上限的最低百分比;及选择由具有最高次优先级的该第二选择的分区发送的该第一保存的请求。
23. 如权利要求13至22中的任一个所述的存储介质,还包括设置该请求分区被允许以多个优先级分配的、所述多个资源的数目的上限。
24. —种计算机,包括处理器;存储器,其以通信方式连接至该处理器,其中,该存储器编码指令,其中所述指令在由该处理器执行时包括从第一请求分区接收第一分配请求,其中该第一分配请求包括元组、以及队列的标识符;决定多个资源的全部均被分配,响应于所述决定,从所述多个资源之中选择所选择的资源,其中,所选择的资源被分配到所选择的分区;及网络适配器,其以通信方式连接至该处理器,其中该网络适配器包括逻辑和所述多个资源,且其中,该逻辑通过将该元组至该队列的映射存储到所选择的资源中,来将所选择的资源分配到该第一请求分区。
25. 如权利要求24所述的计算机,其中,该第一分配请求还包括第一优先级,其中,所选择的分区发送包括第二优先级的第二分配请求,且其中,所述选择还包括确定该第一优先级高于该第二优先级;及确定与以该第二优先级分配到多个分区中的其他分区的资源的百分比相比,所选择的分区被分配了其以该第二优先级被分配的资源的最大百分比。
26. 如权利要求25所述的计算机,其中,所述选择还包括选择该第二优先级,作为所述多个资源的最低优先级。
27. 如权利要求26所述的计算机,其中,所述选择还包括选择具有被分配到该所选择的分区的所述资源的最低次优先级的所选择的资源。
28. 如权利要求24所述的计算机,其中,该第一分配请求还包括第一优先级,其中,所选择的分区发送包括第二优先级的第二分配请求,且其中,所述选择还包括确定该第一优先级低于或等于当前被分配的所述多个资源的全部的优先级;及确定与所选择的分区在该第二优先级相比,该第一请求分区具有在该第一优先级的所述多个资源的数目的其上限的更低的百分比,其中该第一优先级与该第二优先级相等。
29. 如权利要求28所述的计算机,其中,所述选择还包括选择具有向被分配到该所选择的分区的资源指定的最低次优先级的所选择的资源。
30. 如权利要求24所述的计算机,其中,该第一分配请求还包括第一优先级,且其中,所述选择还包括确定该第一优先级低于或等于当前被分配的所述多个资源的全部的优先级;确定与所有其它分区在该第一优先级的其上限相比,该第一请求分区具有以该第一优先级分配的所述多个资源的数目的其上限的更高的百分比;及选择与已经被分配到该第一请求分区的所述资源相比、具有最低次优先级的所选择的资源。
31. 如权利要求24至30中的任一个所述的计算机,其中,该逻辑还包括从网络接收分组,如果在该分组中的数据符合该元组,则将该分组存储在由该映射所指定的该第一队列中,且如果该分组中的该数据并不符合该元组,则将该分组存储在与由该分组指定的逻辑端口关联的缺省队列中。
32. 如权利要求24至31中的任一个所述的计算机,其中,所述指令还包括从该第一请求分区接收解除分配请求;从多个保存的请求之中选择第一保存的请求,其中,先前从第二请求分区接收该第一保存的请求,并当所述多个资源的全部被分配且不能够被预占时,保存该第一保存的请求;及其中,该逻辑还将所选择的资源分配到该第二请求分区。
33. 如权利要求32所述的计算机,其中,选择该第一保存的请求还包括选择所述多个保存的请求的最高优先级;选择第二选择的分区,其具有以最高优先级分配的所述多个资源的其上限的最低百分比;及选择由具有最高次优先级的该第二选择的分区发送的该第一保存的请求。
34. 如权利要求24至33中的任一个所述的计算机,其中所述指令还包括设置该请求分区被允许以多个优先级分配的、所述多个资源的数目的多个上限。
35. —种计算机程序,包括程序代码部件,其被适配为当在计算机上运行所述程序时,执行权利要求1至12中的任一个所述的方法。
全文摘要
在一实施例中,网络适配器具有被多路复用到具有缺省队列的多个逻辑端口的物理端口。该网络适配器还具有其他队列,其可被分配到任何逻辑端口;以及资源,其将元组映射到队列。所述元组从经由该物理端口接收的分组中的数据取得。该网络适配器基于该接收的元组与所述资源,确定哪个队列应当接收分组。如果该接收的元组符合资源,则该网络适配器将该分组存储到该相对应的队列;否则,该网络适配器将该分组存储到由该分组所指定的该逻辑端口的缺省队列。响应于从请求分区接收到分配请求,如果没有资源为空闲,则已经分配给所选择的分区的资源被选择用于预占。然后,所选择的资源被分配给该请求分区。
文档编号G06F9/50GK101784989SQ200880104201
公开日2010年7月21日 申请日期2008年8月21日 优先权日2007年8月24日
发明者埃伦·M·鲍曼, 李·A·森德尔巴赫, 肖恩·M·兰贝思, 蒂莫西·J·席姆克 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1