《端口分组.pdf》由会员分享,可在线阅读,更多相关《端口分组.pdf(16页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102823226 A (43)申请公布日 2012.12.12 C N 1 0 2 8 2 3 2 2 6 A *CN102823226A* (21)申请号 201180016858.1 (22)申请日 2011.04.30 12/771,638 2010.04.30 US H04L 29/10(2006.01) H04L 29/06(2006.01) (71)申请人英特尔公司 地址美国加利福尼亚 (72)发明人 MA贾里德 P康纳 (74)专利代理机构永新专利商标代理有限公司 72002 代理人刘瑜 王英 (54) 发明名称 端口分组 (57) 摘要 实施例可以包。
2、括:至少部分地包括在第一主 机中的电路;以及至少部分地由所述电路执行的 至少一个进程。所述电路可以包括第一端口和第 二端口。所述至少一个进程可以至少部分地检测 所述第一端口的第一带宽条件,并且可以至少部 分地响应于所述第一带宽条件而至少部分地将所 述第一端口和所述第二端口与端口组相关联。在 至少部分地与所述端口组相关联之前,与相对较 高功率状态相比,所述第二端口可能已经在相对 较低功率状态。在所述第二端口至少部分地与所 述端口组关联之后,所述第二端口可以处于相对 较高的功率状态。 (30)优先权数据 (85)PCT申请进入国家阶段日 2012.09.28 (86)PCT申请的申请数据 PCT/。
3、US2011/034701 2011.04.30 (87)PCT申请的公布数据 WO2011/137412 EN 2011.11.03 (51)Int.Cl. 权利要求书4页 说明书8页 附图3页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 4 页 说明书 8 页 附图 3 页 1/4页 2 1.一种装置,包括: 至少部分地包括在第一主机中的电路,所述电路包括第一端口和第二端口,所述电路 至少部分地执行至少一个进程,所述至少一个进程至少部分地检测所述第一端口的第一带 宽条件,所述至少一个进程至少部分地响应于所述第一带宽条件而至少部分地将所述第一 端口和所述第二端口与。
4、端口组相关联。 2.如权利要求1所述的装置,其中: 所述电路包括第一网络接口控制器和第二网络接口控制器; 所述第一网络接口控制器包括所述第一端口; 所述第二网络接口控制器包括所述第二端口; 所述至少一个进程包括至少一个第一进程和至少一个第二进程;并且 所述至少一个第一进程检测所述第一带宽条件,并至少部分地响应于所述第一带宽条 件而向所述至少一个第二进程发布至少一个请求,所述至少一个请求至少部分地导致所述 第一端口和所述第二端口被关联在所述端口组中,所述至少一个请求还至少部分地导致所 述第二端口从相对较低功率状态进入相对较高功率状态。 3.如权利要求2所述的装置,其中: 所述第一主机包括所述第一。
5、网络接口控制器; 第二主机包括所述第二网络接口控制器; 所述至少一个第二进程包括与所述第二端口相关联的第一端口驱动程序,所述第一端 口驱动程序至少部分地位于所述第二主机中;并且 所述装置还包括将所述第一主机和所述第二主机通信地耦合的至少一个通信链路,所 述至少一个请求是至少部分地经由所述至少一个通信链路而被传输的。 4.如权利要求1所述的装置,其中: 所述电路包括网络接口控制器,所述网络接口控制器包括所述第一端口和所述第二端 口,所述网络接口控制器包括在所述第一主机中; 所述至少一个进程至少部分地响应于所述第一带宽条件而至少部分地发布至少一个 消息,以请求向所述至少一个进程至少部分地提供与至少。
6、一个端口相关联的带宽信息,所 述至少一个端口包括所述第二端口;并且 所述至少一个进程至少部分地基于所述带宽信息而至少部分地将所述第一端口和所 述第二端口与所述端口组相关联。 5.如权利要求1所述的装置,其中: 在所述第一端口和所述第二端口已经被至少部分地关联在所述端口组中之后,所述至 少一个进程至少部分地检测所述第一端口的第二带宽条件; 至少部分地响应于所述第二带宽条件,所述至少一个进程至少部分地不再将所述第二 端口与所述端口组相关联;并且 在所述第二端口至少部分地不再与所述端口组相关联之后,所述第二端口从相对较高 功率状态进入相对较低功率状态。 6.如权利要求1所述的装置,其中: 所述电路至。
7、少部分地包括在电路插件中,所述电路插件耦合到所述第一主机中的电路 板; 权 利 要 求 书CN 102823226 A 2/4页 3 所述电路包括第三端口;并且 所述至少一个进程还至少部分地基于与所述第三端口相关联的带宽信息而至少部分 地将所述第三端口与所述端口组相关联。 7.一种方法,包括: 由至少一个进程至少部分地检测第一端口的第一带宽条件,所述至少一个进程至少部 分地由至少部分地包括在第一主机中的电路执行,所述第一端口和第二端口包括在所述电 路中;以及 由所述至少一个进程至少部分地响应于所述第一带宽条件而至少部分地将所述第一 端口和所述第二端口与端口组相关联。 8.如权利要求7所述的方法。
8、,其中: 所述电路包括第一网络接口控制器和第二网络接口控制器; 所述第一网络接口控制器包括所述第一端口; 所述第二网络接口控制器包括所述第二端口; 所述至少一个进程包括至少一个第一进程和至少一个第二进程;并且 所述至少一个第一进程检测所述第一带宽条件,并至少部分地响应于所述第一带宽条 件而向所述至少一个第二进程发布至少一个请求,所述至少一个请求至少部分地导致所述 第一端口和所述第二端口被关联在所述端口组中,所述至少一个请求还至少部分地导致所 述第二端口从相对较低功率状态进入相对较高功率状态。 9.如权利要求8所述的方法,其中: 所述第一主机包括所述第一网络接口控制器; 第二主机包括所述第二网络。
9、接口控制器; 所述至少一个第二进程包括与所述第二端口相关联的第一端口驱动程序,所述第一端 口驱动程序至少部分地位于所述第二主机中;并且 至少一个通信链路将所述第一主机和所述第二主机通信地耦合,所述至少一个请求是 至少部分地经由所述至少一个通信链路而被传输的。 10.如权利要求7所述的方法,其中: 所述电路包括网络接口控制器,所述网络接口控制器包括所述第一端口和所述第二端 口,所述网络接口控制器包括在所述第一主机中; 所述至少一个进程至少部分地响应于所述第一带宽条件而至少部分地发布至少一个 消息,以请求向所述至少一个进程至少部分地提供与至少一个端口相关联的带宽信息,所 述至少一个端口包括所述第二。
10、端口;并且 所述至少一个进程至少部分地基于所述带宽信息而至少部分地将所述第一端口和所 述第二端口与所述端口组相关联。 11.如权利要求7所述的方法,其中: 在所述第一端口和所述第二端口已经被至少部分地关联在所述端口组中之后,所述至 少一个进程至少部分地检测所述第一端口的第二带宽条件; 至少部分地响应于所述第二带宽条件,所述至少一个进程至少部分地不再将所述第二 端口与所述端口组相关联;并且 在所述第二端口至少部分地不再与所述端口组相关联之后,所述第二端口从相对较高 权 利 要 求 书CN 102823226 A 3/4页 4 功率状态进入相对较低功率状态。 12.如权利要求7所述的方法,其中: 。
11、所述电路至少部分地包括在电路插件中,所述电路插件耦合到所述第一主机中的电路 板; 所述电路包括第三端口;并且 所述至少一个进程还至少部分地基于与所述第三端口相关联的带宽信息而至少部分 地将所述第三端口与所述端口组相关联。 13.存储一个或多个指令的计算机可读存储器,所述一个或多个指令在被机器执行时 导致执行包括以下操作的操作: 由至少一个进程至少部分地检测第一端口的第一带宽条件,所述至少一个进程至少部 分地由至少包括在第一主机中的电路执行,所述第一端口和第二端口包括在所述电路中; 以及 由所述至少一个进程至少部分地响应于所述第一带宽条件而至少部分地将所述第一 端口和所述第二端口与端口组相关联。。
12、 14.如权利要求13所述的存储器,其中: 所述电路包括第一网络接口控制器和第二网络接口控制器; 所述第一网络接口控制器包括所述第一端口; 所述第二网络接口控制器包括所述第二端口; 所述至少一个进程包括至少一个第一进程和至少一个第二进程;并且 所述至少一个第一进程检测所述第一带宽条件,并至少部分地响应于所述第一带宽条 件而向所述至少一个第二进程发布至少一个请求,所述至少一个请求至少部分地导致所述 第一端口和所述第二端口被关联在所述端口组中,所述至少一个请求还至少部分地导致所 述第二端口从相对较低功率状态进入相对较高功率状态。 15.如权利要求14所述的存储器,其中: 所述第一主机包括所述第一网。
13、络接口控制器; 第二主机包括所述第二网络接口控制器; 所述至少一个第二进程包括与所述第二端口相关联的第一端口驱动程序,所述第一端 口驱动程序至少部分地位于所述第二主机中;并且 至少一个通信链路将所述第一主机和所述第二主机通信地耦合,所述至少一个请求是 至少部分地经由所述至少一个通信链路而被传输的。 16.如权利要求13所述的存储器,其中: 所述电路包括网络接口控制器,所述网络接口控制器包括所述第一端口和所述第二端 口,所述网络接口控制器包括在所述第一主机中; 所述至少一个进程至少部分地响应于所述第一带宽条件而至少部分地发布至少一个 消息,以请求向所述至少一个进程至少部分地提供与至少一个端口相关。
14、联的带宽信息,所 述至少一个端口包括所述第二端口;并且 所述至少一个进程至少部分地基于所述带宽信息而至少部分地将所述第一端口和所 述第二端口与所述端口组相关联。 17.如权利要求13所述的存储器,其中: 权 利 要 求 书CN 102823226 A 4/4页 5 在所述第一端口和所述第二端口已经被至少部分地关联在所述端口组中之后,所述至 少一个进程至少部分地检测所述第一端口的第二带宽条件; 至少部分地响应于所述第二带宽条件,所述至少一个进程至少部分地不再将所述第二 端口与所述端口组相关联;并且 在所述第二端口至少部分地不再与所述端口组相关联之后,所述第二端口从相对较高 功率状态进入相对较低功。
15、率状态。 18.如权利要求13所述的存储器,其中: 所述电路至少部分地包括在电路插件中,所述电路插件耦合到所述第一主机中的电路 板; 所述电路包括第三端口;并且 所述至少一个进程还至少部分地基于与所述第三端口相关联的带宽信息而至少部分 地将所述第三端口与所述端口组相关联。 19.如权利要求1所述的装置,其中: 所述电路包括输入/输出控制器电路和网络控制器电路中的至少一个;并且 所述端口组准许带宽聚合、链路聚合、通信聚合、容错和负载均衡中的至少一个。 20.如权利要求1所述的装置,其中: 所述至少一个进程请求所述第二端口从相对较低功率状态进入相对较高功率状态。 权 利 要 求 书CN 10282。
16、3226 A 1/8页 6 端口分组 技术领域 0001 本公开内容涉及端口分组。 背景技术 0002 在一个传统布置中,计算机包括具有耦合到网络的端口的网络适配器。在操作过 程中,为了容错、链路聚合或负载均衡的目的,可以将这些端口中的两个或更多个端口分组 在一起。 0003 通常,端口到分组关系的关联以及端口的参数和分组关系是由计算机的人类用户 手工地、静态地配置的。这内在地限制了在没有人类干预的情况下端口和/或组适应变化 的网络状况的能力,并且实际上,响应于这种变化的状况而进行手工重配置可能涉及大量 的这样的干预。这增加了维护和操作计算机和/或网络所涉及的时间和开销。 0004 另外,这种。
17、变化的网络状况可能使得不再需要在给定的组中将一端口维持在活动 操作状态中。然而,即使存在这些变化的状况,这种传统布置的上述限制可能导致在该组中 仍然积极地对该端口进行供电,直到人类用户重新配置该分组时为止。这可能降低效率,并 增加计算机和/或网络的功耗。 附图说明 0005 随着以下详细描述的进行并且在参考附图时,实施例的特征和优点将变得很明 显,其中,相似的数字描述相似的部件,并且其中: 0006 图1示出了系统实施例。 0007 图2示出了系统实施例中的元件。 0008 图3示出了系统实施例中的元件。 0009 图4示出了系统实施例中的元件。 0010 图5示出了实施例中的操作。 0011。
18、 虽然将参考示例性实施例来进行以下详细描述,但是其多种替换、修改和变化对 于本领域技术人员将是明显的。相应地,旨在宽泛地看待所要求保护的主题。 具体实施方式 0012 图1示出了系统实施例100。系统100可以包括主机计算机(HC)10和20,它们 可以经由一个或多个无线和/或有线网络50通信地耦合在一起。主机计算机10和20中 的每一个在地理上可以彼此远离。在该实施例中,术语“主机计算机”、“主机”、“服务器”和 “节点”可以交换地使用,并且可以表示例如一个或多个终端站、智能电话、平板计算机、设 备、中间站、网络接口、客户端、服务器和/或其多个部分。在该实施例中,“网络”或“通信 链路”可以。
19、交换地使用,并且可以是或者可以包括至少部分地准许、有助于和/或允许两个 或更多个实体通信地耦合在一起的任何机制、机构、手段和/或其一部分。并且在该实施例 中,如果第一实体能够向第二实体发送和/或从第二实体接收一个或多个命令和/或数据, 说 明 书CN 102823226 A 2/8页 7 则第一实体可以“通信地耦合”到第二实体。在该实施例中,“无线网络”表示至少部分地准 许至少两个实体至少部分地无线地通信地耦合的网络。在该实施例中,“有线网络”表示至 少部分地准许至少两个实体至少部分地经由非无线的方式通信地耦合的网络。在该实施例 中,数据可以是或者可以包括一个或多个命令(例如,一个或多个程序指。
20、令),和/或一个或 多个这样的命令可以是或者可以包括数据。并且在该实施例中,“指令”可以包括数据和/ 或一个或多个命令。 0013 主机计算机10可以包括电路板(CB)74和电路插件(CC)75。在该实施例中,CB 74可以包括例如系统母板,并且可以经由未示出的总线连接器/插槽系统物理地以及通信 地耦合到CC 75。CB 74可以包括一个或多个单核和/或多核主机处理器(HP)12以及计算 机可读/可写存储器21。虽然在图中未示出,但是CB 74还可以包括一个或多个芯片组(包 括例如存储器和/或输入/输出控制器电路)。一个或多个主机处理器12可以经由一个或 多个芯片组通信地耦合到存储器21和CC。
21、 75。 0014 CC 75可以包括网络和/或输入/输出(I/O)控制器电路(NCC)118。电路118可 以包括多个端口120A、120B、120N。端口120A、120B、120N可以通信地耦合到 一个或多个网络50。在实施例中,网络和/或I/O控制器电路可以是或者可以包括能够至 少部分地监测、有助于、控制、准许和/或实现对一个或多个符号和/或值的至少部分的发 送、存储、获取和/或接收的电路。 0015 可替换地或附加地,虽然在图中未示出,但是电路118和/或其功能和组件中的一 些或全部可以包括在例如CB 74中(例如,在一个或多个主机处理器12和/或一个或多个 未示出的芯片组中)。并且。
22、可替换地,一个或多个主机处理器12、存储器21、一个或多个未 示出的芯片组、和/或其功能和/或组件中的一些或全部可以包括在例如电路118和/或 CC 75中。许多其它替换形式也是可能的而不脱离本发明的范围。 0016 根据例如特定的实施例,主机20可以整个地或部分地包括主机10中的各个组件 和/或功能。然而,如下面描述的,可替换地或附加的,主机20可以至少部分地包括可以至 少部分地与主机10中的各个组件和/或功能不同的各个组件和/或功能。如本文中使用 的,“电路”可以例如单独地或组合地包括模拟电路、数字电路、硬连线电路、可编程电路、共 处理器电路、状态机电路和/或可以包括程序指令的存储器,其中。
23、程序指令可以由可编程 电路执行。并且在该实施例中,处理器、处理器核心、核心和控制器均可以包括能够至少部 分地执行一个或多个算术和/或逻辑操作的各个电路,诸如例如,一个或多个相应的中央 处理单元。并且在该实施例中,芯片组可以包括能够至少部分地通信地耦合一个或多个主 机处理器、存储设备、大容量存储设备、一个或多个节点和/或存储器的电路。虽然在图中 未示出,但是主机计算机10和/或主机计算机20均可以包括相应的图形用户界面系统。未 示出的相应图形用户界面系统可以包括例如可以准许一个或多个人类用户向主机计算机 10、节点20和/或系统100输入命令并监测主机计算机10、节点20和/或系统100的操作 。
24、的相应键盘、指点设备和显示系统。 0017 一个或多个机器可读程序指令可以存储在计算机可读/可写存储器21中。在主机 计算机10的操作过程中,一个或多个主机处理器12和/或电路118可以访问并执行这些 指令。当被一个或多个主机处理器12和/或电路118执行时,这一个或多个指令可以导致 一个或多个操作系统(OS)32和/或一个或多个进程124至少部分地被一个或多个主机处 说 明 书CN 102823226 A 3/8页 8 理器12和/或NCC 118执行并变为至少部分地驻留在存储器21中。并且当被一个或多个 主机处理器12和/或电路118执行时,这一个或多个指令可以导致一个或多个主机处理器 1。
25、2、电路118、OS 32和/或一个或多个进程124执行本文描述的被系统100的这些组件执 行的操作。在该实施例中,实体的一部分可以包括该实体的全部或比该实体的全部少的部 件。并且,在该实施例中,进程、程序、驱动程序、操作系统和应用可以交换地使用,并且可以 包括和/或至少部分地导致执行一个或多个程序指令。虽然在图中未示出,但是一个或多 个进程124可以至少部分地包括在OS 32中,或者反之亦然。并且在该实施例中,存储器21 可以包括以下类型的存储器中的一个或多个:半导体固件存储器、可编程存储器、非易失性 存储器、只读存储器、电可编程存储器、随机存取存储器、闪存、磁盘存储器、光盘存储器和/ 或其。
26、它或激光开发的计算机可读和/或可写存储器。 0018 NCC 118可以根据一个或多个通信协议经由一个或多个网络50交换数据和/或命 令。例如,在该实施例中,这一个或多个协议可以与例如以太网协议和/或传输控制协议/ 互联网协议(TCP/IP)协议兼容。 0019 在系统100中可以使用的以太网协议可以遵循或与电气和电子工程师协会Inc. (IEEE)标准802.3(2000版,2000年10月20日公布)中所描述的协议兼容。在系统100 中可以使用的TCP/IP协议可以遵循或与互联网工程任务组(IETF)注释请求(RFC)791和 793(1981年9月公布)中所描述的协议兼容。 0020 在。
27、该实施例中,在操作过程中,端口120A、120B、120N可以经由一个或多个 网络50与其它实体(例如,主机计算机20)交换数据和/或命令。这种交换可能至少部分 地消耗这些端口的相应通信带宽(BW)和/或通信带宽能力。例如,在操作过程中,一个或 多个端口120A可能经历带宽条件(BWC)130,并且稍后可能经历BWC 136。与BWC 136相 比,BWC 130可能涉及消耗一个或多个端口120A的相对较高量的通信带宽。在该实施例中, 带宽条件可以至少部分地是、包括、涉及、关于、是指、反映、指示和/或暗示带宽的状态、状 况、使用和/或消耗。并且在该实施例中,带宽和通信带宽可以交换地使用,并且可。
28、以至少 部分地是、包括、涉及、关于、是指、反映、指示和/或暗示通信能力、吞吐量、速率、和/或通 信量。 0021 并且在操作过程中,并不是所有的端口120A、120B、120N都可能同时地积极 地经由一个或多个网络50发送和/或接收数据和/或命令。例如,在该实施例中,一个或 多个端口120A可能积极地参与经由一个或多个网络50发送和/或接收数据和/或命令, 而同时,一个或多个端口120B和/或一个或多个端口120N可能并非积极地参与经由一个 或多个网络50发送和/或接收数据和/或命令。相应地,在该实施例中,一个或多个端口 120A可能处于完全操作的并且上电的状态,而同时,一个或多个端口120B。
29、和/或一个或多 个端口120N可能处于相对较低的功率状态。当处于这种相对较低的功率状态中时,一个或 多个端口120B和/或一个或多个端口120N的一个或多个相应组件和/或功能可以被切断 电源、不活动、处于睡眠模式和/或被下电以减小功耗(例如,与当一个或多个端口120B和/ 或120N处于完全操作的并且上电的状态中时当一个或多个相应组件和/或功能被完全上 电时相比)。 0022 现在具体地参考图1和图5。图5示出了可以在系统100中执行的操作500。在该 实施例的操作中,一个或多个进程124可以至少部分地检测一个或多个端口120A的带宽条 说 明 书CN 102823226 A 4/8页 9 件。
30、130,如图5中的操作502所示的。至少部分地响应于一个或多个进程124至少部分地检 测到带宽条件130,一个或多个进程124可以至少部分地将一个或多个端口120A以及一个 或多个其它端口(例如,一个或多个端口120N)与端口组(PT)132相关联(参见图5中的操 作504)。在实施例中,端口组可以包括至少第一端口和第二端口的一个或多个关联,诸如例 如,用于一个或多个目的,诸如但不限于带宽、链路和/或通信聚合和/或联用(pooling)、 容错、负载均衡和/或其它目的。在实施例中,端口可以包括能够至少部分地用于至少部分 地有助于和/或至少部分地实现至少部分地物理和/或逻辑地将至少一个实体与至少。
31、一个 其它实体通信耦合和/或至少部分地将至少一个实体与至少一个其它实体联系的电路。在 实施例中,端口组132可以根据和/或至少部分地与局域网和城域网的IEEE标准链路聚 合(IEEE标准802.1AX-2008,版权2008)相兼容。 0023 例如,在该实施例中,带宽条件130可以被特征化为处于或在一个或多个端口130 在预定时段期间能够实现的最大可能带宽(例如,在该实施例中是线路速率)附近(例如,在 最大可能带宽的预定阈值内)。并且,同时,至少部分地在执行操作502的情况下,一个或多 个端口120B和/或120N可能不积极地参与经由一个或多个网络50发送和/或接收数据 和/或命令,并且因此。
32、与一个或多个端口120A可能操作的完全操作/上电状态相比可能处 于相对较低的功率状态。因此,在一个或多个进程124至少部分地将一个或多个端口120N 与端口组132关联之前,一个或多个端口120N可以处于这种相对较低的功率状态。 0024 然而,在至少部分地被一个或多个进程124与端口组132关联之后(或者响应于该 关联),一个或多个端口120N可以进入并至少部分地在相对较高的功率状态(例如,完全操 作/上电状态)中进行操作。在一个或多个端口120N至少部分地被关联在端口组132中 时,在一个或多个端口120N的操作的这种相对较高的功率状态中,可以执行主机10与一 个或多个网络50之间的通信,。
33、使得至少部分地使用一个或多个端口120A和一个或多个端 口120N来提供共同的相应通信信道,其中,经由该共同的相应通信信道,一个或多个端口 120N的相应带宽可以与一个或多个端口120A的相应带宽的联用。有益的是,该共同的通信 信道可以具有最大的有效带宽,其可以等于一个或多个端口120A和一个或多个端口120N 的相应最大可能带宽的和。并且有益的是,通过以这种方式至少部分地将一个或多个端口 120A和一个或多个端口120N关联在端口组132中,在系统100中可以相对于一个或多个 端口120A和/或一个或多个端口120N提供冗余和/或故障切换特征。可以由节点10和 /或节点20的人类操作员经由一。
34、个或多个未示出的用户界面,例如经由一个或多个未示出 的可视化和/或管理工具来指定关于端口120A、120B、120N中的哪个端口可以是一 个或多个端口组的一部分和/或哪个端口至少部分地与一个或多个端口组相关联的特定 参数、这样的关联可能发生的环境和/或一个或多个端口组的功能和/或操作特性。 0025 参考图2,NCC 118可以包括网络接口控制器(NIC)202和NIC 204。NIC 202可 以包括一个或多个端口120A,并且NIC 204可以包括一个或多个端口120N。一个或多个进 程124可以包括一个或多个驱动程序实例/进程206以及一个或多个驱动程序实例/进程 208。一个或多个进程。
35、206可以至少部分地与一个或多个端口120A相关联。一个或多个进 程208可以至少部分地与一个或多个端口120N相关联。 0026 在该实施例中,作为操作502的一部分,一个或多个进程206可以至少部分地检测 一个或多个端口120A的带宽条件130。作为操作504的一部分,至少部分地响应于至少部 说 明 书CN 102823226 A 5/8页 10 分地检测到带宽条件130,一个或多个线程206可以至少部分地生成并向一个或多个进程 208发布一个或多个请求210和/或一个或多个请求220。如下面描述的,一个或多个请求 210和/或220可以至少部分地导致(1)一个或多个端口120A和/或一个。
36、或多个端口120N 至少部分地被关联在端口132中,以及(2)一个或多个端口120N从相对较低的功率状态进 入相对较高的功率状态(并在相对较高的功率状态中操作)。 0027 例如,如图3中所示的,在实施例中,主机10可以至少部分地包括NIC 202和存储 器21。并且,例如,在该实施例中,主机20可以包括NIC204和存储器21。NIC 202可以至 少部分地包括一个或多个端口120A。NIC204可以至少部分地包括一个或多个端口120N。 NIC 202可以经由至少部分地与一个或多个网络50不同的一个或多个专用通信链路304通 信地耦合到NIC 204。一个或多个网络50还可以通信地将NIC。
37、 202耦合到NIC 204。存储 器21的构造和/或操作可以至少部分地与存储器21的构造和/或操作相似或相同。一 个或多个进程206可以至少部分地位于存储器21中。一个或多个进程208可以至少部分 地位于存储器21中。一个或多个进程206可以至少部分地包括一个或多个端口驱动程序 实例/进程304。一个或多个进程206和/或一个或多个驱动程序304可以至少部分地与 一个或多个端口120A相关联。一个或多个进程208可以至少部分地包括一个或多个端口 驱动程序实例/进程302。一个或多个进程208和/或一个或多个驱动程序302可以至少 部分地与一个或多个端口120N相关联。一个或多个进程206可以。
38、包括与例如NIC 202中 的相应多端口相关联的一个或多个中间驱动程序/进程,并且一个或多个驱动程序304可 以包括与NIC 202的相应单端口相关联的一个或多个直接/物理驱动程序。另外,一个或 多个进程208可以包括与例如NIC 204中的相应多端口相关联的一个或多个中间驱动程序 /进程,并且一个或多个驱动程序302可以包括与NIC 204的相应单端口相关联的一个或多 个直接/物理驱动程序。 0028 在该实施例中,作为操作502的一部分,一个或多个进程206可以至少部分地检测 带宽条件130。作为操作504的一部分,至少部分地响应于一个或多个进程206至少部分地 检测到带宽条件130,一个。
39、或多个进程206可以至少部分地生成并经由一个或多个链路304 向一个或多个进程208发布一个或多个请求210。 0029 一个或多个请求210可以至少部分地请求(1)一个或多个进程208向一个或多个 端口120A提供额外的带宽,以及(2)一个或多个进程208向一个多个进程206提供与一个 或多个进程208可能与之关联的端口(例如,一个或多个端口120N)有关的相应带宽信息 (BI)320。相应的BI 320可以包括例如一个或多个端口120N的和/或至少部分地与一个 或多个端口120N相关联的最大可能带宽、当前线路速率、带宽能力等。 0030 至少部分地响应于一个或多个请求210,一个或多个进程。
40、208可以请求一个或多 个驱动程序302向一个或多个进程208提供相应的BI 320。作为响应,一个或多个驱动程 序302可以向一个或多个进程208提供相应的BI320。一个或多个进程208可以经由一个 或多个链路304向一个或多个进程206提供BI 320。 0031 一个或多个进程206可以至少部分地基于BI 320来至少部分确定一个或多个进 程208可能与之关联的一个或多个相应端口(例如,一个或多个端口120N)是否具有可以用 于构造端口组132的可用带宽。作为操作504的一部分,一个或多个进程206可以至少部 分地确定一个或多个端口120N可能具有这样的可用带宽,并且可以至少部分地将一。
41、个或 说 明 书CN 102823226 A 10 6/8页 11 多个端口120A和一个或多个端口120N关联在端口组132中,这取决于并依赖于预期由端 口组132所产生的共同信道所需要的带宽的最大期望量。并且,作为操作504的一部分,一 个或多个进程206可以至少部分地生成并向一个或多个进程208发布一个或多个请求220。 一个或多个请求220可以至少部分地请求一个或多个端口120N变成至少部分地在端口组 132中与一个或多个端口120A相关联。在至少部分地由一个或多个请求220进行请求的方 式中,一个或多个进程208(1)可以至少部分地在端口组132中将一个或多个端口120N与 一个或多。
42、个端口120A相关联,并且(2)可以至少部分地请求一个或多个驱动程序302使得 一个或多个端口120N从相对较低的功率状态进入相对较高的功率状态(并在该相对较高 的功率状态中操作)。一个或多个驱动程序302可以使得一个或多个端口120N进入相对较 高的功率状态(并在该状态中进行操作),并且一个或多个端口120N可以变为在端口组132 中与一个或多个端口120A相关联。之后,当一个或多个端口120N与端口组132相关联时, 可以至少部分地先经由一个或多个链路304将一个或多个端口120N所发送的数据和/或 命令发送到主机20。并且,在一个或多个端口120N与端口组132关联时,可以至少部分地 随。
43、后经由一个或多个链路304将一个或多个端口120N所接收的数据和/或命令发送到主 机10。 0032 可替换地,在不脱离本实施例的情况下,NIC 202、NIC 204、一个或多个端口120A、 一个或多个端口120N、一个或多个进程206和/或一个或多个进程208可以至少部分地包 括在和/或位于单个主机(例如,主机10)中。在该替换的布置中,可以消除一个或多个链 路304,并且可以在单个主机10内执行这些各种组件的操作和/或它们之间的通信。 0033 可替换地或附加地,在不脱离本实施例的情况中,端口120A、120B、120N中 的每一个可以至少包括和/或与相应的邮箱相关联。这些邮箱可以用于。
44、至少部分地有助于 与相应端口相关联的相应驱动程序/进程之间的(例如,消息、请求等的)通信。在实施例 中,术语“消息”、“请求”、“命令”和“分组”可以交换地使用,并且可以表示一个或多个符号 和/或值。并且在该实施例中,一个或多个进程124可以至少部分地是或包括可以至少部 分地分别与相应端口120A、120B、120N相关联的一个或多个相应驱动程序实例/进 程。例如,在实施例中,如图4中所示的,NCC 118可以包括NIC 402。NIC 402可以包括一 个或多个端口120A、120B、120N。一个或多个端口120A可以至少部分地包括和/或 与一个或多个邮箱(MB)430A相关联。一个或多个。
45、端口120B可以至少部分地包括和/或 与一个或多个MB 430B相关联。一个或多个端口120N可以至少部分地包括和/或与一个 或多个MB 430N相关联。一个或多个进程124可以包括一个或多个驱动程序/进程420A、 420B、420N,它们可以至少部分地由一个或多个主机处理器12和/或NCC 118执行并 且至少部分地驻留在存储器21中。一个或多个进程420A、420B、420N可以至少部分 地分别与一个或多个端口120A、120B、120N相关联。相应的进程420A、420B、 420N可以至少部分地经由相应的邮箱430A、430B、430N在它们自身之间进行通信。 0034 在该实施例中。
46、,作为操作502的一部分,一个或多个进程420A可以至少部分地检 测带宽条件130。作为操作504的一部分,至少部分地响应于一个或多个进程420A至少部 分地检测到带宽条件130,一个或多个进程420A可以至少部分地生成并向一个或多个相应 邮箱(例如,邮箱430B430N)发布一个或多个消息404,所述一个或多个相应邮箱可以与 除了一个或多个端口120A以外的一个或多个相应端口(例如,端口120B120N)410相 说 明 书CN 102823226 A 11 7/8页 12 关联,其中一个或多个进程420A可以与一个或多个端口120A相关联。这可能至少部分地 导致中断这些其它相应端口120B。
47、120N和/或它们的关联的进程420B420N。作为 相应,这些关联的进程420B420N可以检查其相应邮箱430B430N中的一个或多个 消息404。邮箱430B430N中的一个或多个值(例如,一个或多个未示出的寄存器值或 其多个部分)可以指示与发送一个或多个消息404的一个或多个进程420A相关联的一个或 多个端口120A。 0035 一个或多个消息404可以至少部分地请求(1)向一个或多个端口120A提供额外 带宽,以及(2)这一个或多个其它端口410中的每一个将其相应带宽信息(BI)406提供给 一个或多个端口120A和/或一个或多个进程420A。相应BI 406可以包括例如一个或多 。
48、个其它相应端口410的和/或至少部分地与一个或多个相应端口410相关联的最大可能带 宽、当前线路速率、带宽能力等。 0036 至少部分地响应于一个或多个消息404,与一个或多个其它端口410相关联的一 个或多个进程420B420N中的每一个可以至少部分地生成并向一个或多个MB 430A发 布相应BI 406。这可能导致一个或多个端口120A被中断。作为响应,一个或多个进程420A 可以检查相应BI 406以至少部分地确定包括在一个或多个端口410中的一个或多个相应 端口(例如,一个或多个端口120B和/或一个或多个端口120N)是否具有可以用于构造端 口组132的可用带宽。作为操作504的一部。
49、分,一个或多个进程420A可以至少部分地确定 可能具有这样的可用带宽的一个或多个端口120B和/或一个或多个端口120N,并且可以至 少部分地将一个或多个端口120A和一个或多个端口120N(和/或一个或多个端口120B) 关联在端口组132中,这取决于并依赖于预期由端口组产生的共同信道所需要的带宽的最 大期望量。并且作为操作504的一部分,一个或多个进程420A可以至少部分地生成并向一 个或多个MB 430B和/或430N发布一个或多个消息432。一个或多个消息432可以至少 部分地请求一个或多个端口120B和/或120N变得至少部分地在端口组132中与一个或多 个端口120A关联。在至少部分地由一个或多个消息432进行请求的方式中,一个或多个进 程420B和/或420N(1)可以至少部分地在端口组132中将一个或多个端口120B和/或 120N与一个或多个端口120A相关联,以及(2)可以至少部分地使得一个或多个端口120B 和/或120N从相对较低的功率状态进入相对较高的功率状态(并在该相对较高的功率状态 中操作。