CN104782085A - 由计算机系统使用至少两个通信协议进行网络通信的技术 - Google Patents

由计算机系统使用至少两个通信协议进行网络通信的技术 Download PDF

Info

Publication number
CN104782085A
CN104782085A CN201380054884.2A CN201380054884A CN104782085A CN 104782085 A CN104782085 A CN 104782085A CN 201380054884 A CN201380054884 A CN 201380054884A CN 104782085 A CN104782085 A CN 104782085A
Authority
CN
China
Prior art keywords
equipment
network
vlan
communication protocol
communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201380054884.2A
Other languages
English (en)
Other versions
CN104782085B (zh
Inventor
V·贾因
D·R·威洛比
M·科瓦切维奇
M·M·巴赫希
P·R·R·穆特亚拉
P·K·肖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN104782085A publication Critical patent/CN104782085A/zh
Application granted granted Critical
Publication of CN104782085B publication Critical patent/CN104782085B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/467Arrangements for supporting untagged frames, e.g. port-based VLANs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

网络适配器,该网络适配器具有配置在该网络适配的第一和第二物理端口的每个上面的第一和第二虚拟局域网(VLAN)设备。第二VLAN设备被配置为逻辑结合虚拟设备。

Description

由计算机系统使用至少两个通信协议进行网络通信的技术
背景技术
在现在的操作系统中,通常需要在系统的操作系统内核的网络堆栈中处理通过TCP/IP传输到计算机系统的数据,这必然就需要系统CPU的参与。因此,在现代高速以太网技术中的高速传输就倾向于增加CPU上的负载,特别是对于处理大量通信的服务器,例如存储服务器。出于这样或者其他的原因,网络通信工业和其国际互联网工程任务组(IETF)定义了替代OSI传输层特征以用于进行远程直接存储寻址(RDMA),包括InfiniBand和iWARP。
传统上,通信架构的各种类型具有各自专用的设备和交换机,其中通信架构的类型例如为TCP、RDMA、光纤通道和其他。
发明内容
本发明一实施例提供了一种用于网络通信的计算机程序产品。在其他实施例中,还提供了系统和计算机实施的方法。
在一实施例中,计算机系统包括网络适配器,所述网络适配器使得第一和第二虚拟局域网(VLAN)设备配置在该网络适配器的第一和第二物理端口中的每个之上,所述网络适配器还使得所述第二VLAN设备配置为逻辑结合虚拟设备。
在另一实施例中,在计算机可读存储介质上存储的第一应用被编程以在第一VLAN设备上通过第一网络通信协议进行网络通信;且
在另一实施例中,在计算机可读存储介质上存储的应用被编程以在第二VLAN设备和逻辑结合虚拟设备上通过第二网络通信协议进行网络通信,其中至少一个所述第一VLAN设备通过第一网络通信协议提供网络通信,且所述逻辑结合虚拟设备并行地通过第二网络通信协议提供网络通信。
在另一实施例中,所述第一网络通信协议包括一远程直接存储访问(RDMA)协议并且所述第二网络通信协议包括传输控制协议(TCP)协议。
在另一实施例中,有至少一个第一VLAN设备通过所述第一网络通信协议以及由所述逻辑结合虚拟设备通过所述第二网络通信协议进行网络通信包括:在第一和第二物理端口上并行地由第一VLAN设备进行RDMA协议通信,以及在第二物理端口上由所述逻辑结合虚拟设备和第二物理端口的一个第二VLAN设备进行TCP协议通信。
在另一实施例中,计算机系统包括第一指令模块,所述第一指令模块具有存储在计算机可读介质上的、用于实现第一网络通信协议的指令;以及第二指令模块,所述第二指令模块具有存储在计算机可读存储介质上的、用于实现第二网络通信协议的指令。第一和第二应用被编程以通过用于第二网络通信协议的第二指令模块进行网络通信,并且第二指令模块被编程用于为结合虚拟设备提供主动-主动(active-actvie)模式。
在另一实施例中,由逻辑结合虚拟设备通过第二网络通信协议进行网络通信进一步包括:在第一和第二物理端口上由逻辑结合虚拟设备通过第二网络通信协议进行网络通信,其中所述第二VLAN设备两者均并行地通信。
在另一实施例中,第二指令模块被编程用于为结合虚拟设备提供主动-备份(active-backup)模式,并且由逻辑结合虚拟设备通过第二网络通信协议进行网络通信进一步包括:由逻辑结合虚拟设备在第一和第二物理端口中的一个之上通过第二网络通信协议进行网络通信,其中只有一个时刻只有一个第二VLAN设备进行通信,并且在第二通信设备中的正在通信的那一个或者其关联的物理端口失败时,另一个第二VLAN设备接管该通信。
在另一实施例中,分别用第一和第二网络地址配置第一VLAN设备,并且用第三网络地址配置结合虚拟设备。
附图说明
本发明的新颖特征列于所附的权利要求中。通过结合下面一个或多个图示实施例的详细描述并结合随附的附图进行阅读可以更好的理解本发明本身以及使用的优选模式以及目的和有益效果。
图1示出了根据本发明的一个或多个实施例的分布式数据处理系统的示例性结构图。
图2示出了根据本发明的一个或多个实施例的服务器装置的示例性结构图。
图3示出了根据本发明的一个或多个实施例的客户装置的示例性结构图。
图4示出了根据本发明的一个或多个实施例的方法、结构和计算机程序产品的概览的示例性结构图。
图5示出了根据本发明的一个或多个实施例的配置方面的更具体的视图的另一示例性结构图。
图6示出了根据本发明的一个或多个实施例的示例性过程方面的流程图。
具体实施方式
在基于机架的服务器上运行的高性能集群典型地具有用于多个适配器的多个可用I/O扩展槽。但是,更小尺寸的更强大的服务器倾向于具有更少数量的I/O扩展槽,例如刀片服务器或者IBM PureFlex ITE(PureFlex为国际商业机器公司的商标)。有时候用来支持两个以上的协议的可用的扩展槽只有两个。出于这样的原因,同时也由于聚合网络的出现,有时需要由单组的I/O设备和交换机来处理多个协议。
现在,最常见的协议就是运行有TCP协议的以太网。RDMA可以在聚合增强以太网RDMA(ROCEE)模式上运行,并且光纤通道可以运行在以太网光纤通道上。这些架构具有他们自己的属性和能力,这些属性和能力都可能是不同的。
为了通过两个I/O适配器运行三个不同的协议,需要决定哪些协议要被合并。例如,如果为第一适配器选择光纤通道,为第二适配器选择以太网,那么就可以通过第二适配器运行以太网RDMA。但是虽然将RDMA和TCP数据流合并到同一适配器是有益的,但是它也有局限性。
根据本发明的一个或多个实施例,图4中从高层级的角度示出了计算机系统400的单一网络I/O适配器410。适配器410具有对于两个以太网端口的配置414,两个以太网端口分别为port_eth0和port_eth1且与交换机sw_eth0和sw_eth1相连。也就是说,交换机sw_eth0和sw_eth1通过配置414将网络420连接到它们的端口port_eth0和port_eth1,端口port_eth0和port_eth1通过总线(未示出)提供到一个或多个例如为CPU440的中央处理单元的路径。常见的架构为以太网,其具有聚合在单一适配器410上的TCP和RDMA数据流。端口eth0为分离通过网络420去往和来自远程设备(例如为远程设备450)的TCP通信提供操作的初始普通模式,其中端口port_eth1为分离RDMA通信(也就是聚合增强以太网RDMA(ROCEE))提供初始普通模式。在另一替代实施例中,TCP数据流总是运行在端口eth0和eth1两者之上。但是这可能提供不平衡的性能,因为eth0可以全速运行TCP,而eth1有TCP和RDMA数据流。
在本发明实施例中,配置414包括一个或多个处理器、存储器以及用于使得一个或多个处理器如此处描述的那样通过互联电路引导数据流而进行通信的指令,典型地包括一个或多个总线。在实施例中,配置414可能包括一个或多个应用特定的集成电路以执行部分或者全部的这些功能。
系统400包括CPU440和存储器430,存储器430装载有操作系统436的指令,该指令包括指令内核432。内核432包括执行的TCP模块433和结合模块435,该结合模块被配置和操作以使得CPU440分别执行标准TCP和结合功能。存储器430也装载有应用438的指令,该应用438例如为数据库或者其他应用。例如,应用438可以是一个适用于集群操作的分布式企业数据库应用,例如DB2,DB2是美国商业机器公司的商标。
在实施例中,应用438同步地使用RDMA和TCP类型的通信并且包括RDMA模块439,其中RDMA模块439包括被配置和操作以使得CPU440执行标准RDMA功能的指令。在另一个实施例中,单一应用438的分离实例或者其他不同类型的分离应用可能分别使用单一网络通信协议。在任何情况下,配置系统以使用两个不同的网络通信协议(也就是说在图示实例中的RDMA和TCP)同步通信。
存储器430包括与网络通信模块关联的非易失性存储器434,其中网络通信模块包括RDMA模块439和TCP模块433,该非易失性存储器434用于存储关于网络适配器410的通信配置参数。模块439显示为包括在应用438中的一组指令,而模块433和435显示为包括在操作系统436指令的内核432指令中的一组指令。但是,应当理解,在不同的实施例中,这些指令可能不同地彼此关联,但是仍然提供基本相同的功能。同样地,配置414和存储器434的位置在替代实施例中是可以变化的。
本发明实施例对于通信协议、VLAN和结合设备以及IP地址配置等所描述的初始化、配置和编程包括在网络适配器配置414非易失性存储器和与网络通信模块和应用关联的存储器434中存储配置参数,其中该非易失性存储器与所述端口/交换机关联。初始化可以由网络管理员(本地或者远程地)初始化端口eth0和eth1的通信来执行,其可以通过操作系统436用户界面或者通过网络管理应用来人工的完成,例如其中eth0和eth1通过网络420从远程应用接收信号以构建在配置414存储器中的用于端口的配置数据和在存储器434中的用于模块433和439的配置数据。
在理想环境中,在相同架构上通行的所有协议可以具有相似和共享的特性。但是,TCP是一个有损协议且支持以太通道结合,但是RDMA需要无损通信且不支持结合。为了解决这个问题,根据本发明实施例,如图5所示,端口eth0和eth1被初始化以包含虚拟设备,其中eth0被配置以创建虚拟局域网设备VLAN710(被图示为eth0.710)和4033(被图示为eth0.4033),以及类似的,eth1也被配置以创建虚拟局域网设备VLAN710(被图示为eth1.710)和4033(被图示为eth1.4033)。
在图示的示例中,IP地址172.23.7.101随后被初始化到VLAN设备eth1.4033上用于RDMA通信,这样远程设备450可以使用IP地址172.23.7.101以及VLAN标签设备eth1.4033通过端口port_eth1发送和接收RDMA通讯(可替代的,在图示的示例中,远程设备450可以用VLAN id 4033标识数据包,在网络420上发送它们,并且计算机系统400将在VLAN设备eth1.4033上接收这些数据包)。对于TCP,在两个被定义的VLAN710上初始化横跨端口port_eth0和port_eth1的结合,也就是如图所示的bond0->[eth0.710,eth1.710]。在图示的示例中,IP地址10.21.1.101被初始化到结合0(bond0)上以用于TCP通信,这样远程设备450可以使用IP地址10.21.1.101和VLAN标签eth0.710或者VLAN标签eth1.701通过端口port_eth0或者port_eth1发送和接收TCP通信。
应了解,以上的安排将VLAN设备eth0.710和eth1.710分别创建到端口port_eth0和port_eth1上,并且随后结合VLAN设备eth0.710和eth1.701,其不同于结合端口随后在所述结合设备上创建VLAN设备。如果两个端口直接结合,会带来TCP负载平衡和故障转移的好处;根据现在所知的RDMA技术,任何一个端口都不能被用于RDMA协议通信。因此直接结合倾向于使得需要额外网络适配器来兼容RDMA通信。通过在端口port_eth0和port_eth1上创建VLAN设备eth0.710和eth1.701以及结合VLAN设备而非端口,如图5中所示的实施例那样,这允许将端口port_eth0和port_eth1用于RDMA协议通信并且也允许将各个端口结合的VLAN设备eth0.710和eth1.701用于TCP通信。
也就是说,根据本发明的一个或多个实施例,RDMA指令模块439并不提供在物理端口上通过RDMA网络通信协议而通信的指令,所述物理端口经逻辑结合以用于TCP通信。因此,对于这样的实施例,网络适配器410不能在物理端口上通过RDMA网络通信协议通信,所述物理端口以直接方式逻辑结合。但是由于网络适配器的VLAN设备eth0.710和eth1.701逻辑结合作为虚拟设备结合0(bond0),这就允许了通过RDMA和TCP网络通信协议并行地进行通信。
为了进一步详细说明,虽然物理端口port_eth0和prot_eth1他们本身可以通过包含结合0(bond0)的路径被访问,端口可能仍然具有RDMA通信,因为端口与结合之间被VLAN设备eth0.710和eth1.710隔离开了,该VLAN设备eth0.710和eth1.710插入在所述端口和所述结合之间。操作系统436将VLAN虚拟设备视为分立的。在实施例中,图5中的RDMA通信通过分立的虚拟设备(VLAN设备eth1.4033),该虚拟设备不是TCP结合的部分,TCP结合被定义在VLAN设备eth0.710和VLAN设备eth1.710上。
如前所述的,每个端口port_eth0和port_eth1连接到一个分立物理交换机sw_eth0和eth1上。连接主机例如为远程设备450,至少需要被配置以仅链接到一个与通过RDMA通信的端口关联的交换机上(例如为图5中所示的如上面所描述的port_eth1和sw_eth1)。因此,如前面所描述的,至少在适配器410中为VLAN设备eth1.4033初始化的RDMA IP地址172.23.7.101在连接主机远程设备450的配置存储器452中进行初始化。但是,根据本发明实施例,更为理想的是在RDMA或者在双RDMA端口通信模式中有利地进行操作,其中连接主机远程设备450被配置为连接到port_eth0和port_eth1(通过VLAN设备eth0.4033和eth1.4033)。在任一情况下,也针对RDMA将IP地址172.23.6.101直接初始化到VLAN设备eth0.4033和连接主机远程设备450的配置存储器452上,这样具有标识符4033的VLAN标签的RDMA通信也可以在port_eth0上通过。对于双端口通信模式,RDMA VLAN eth0.4033和eth1.4033由RDMA模块430配置为主动。对于故障转移模块,模块439配置VLAN设备eth1.4033为主动且VLAN设备eth0.4033为故障切换的备份。
总之,为了不间断故障转移,发送RDMA或者TCP通信到系统400的远程主机(例如图4中的设备450)被配置以连接到用于port_eth0的物理交换机sw_eth0和用于port_eth1的物理交换机sw_eth1,这样如果sw_eth0或者port_eth0故障,主机可以继续通过仍然可操作的sw_eth1和port_eth1达到系统400,并且类似的,如果sw_eth1或者port_eth1故障,主机可以继续通过仍然可操作的sw_eth0和port_eth0到达系统400。
进一步讨论故障转移,TCP故障转移和RDMA故障转移都根据一个或多个本发明实施例得以促进。可以为了TCP通信提供主动-备份结合,作为保持TCP和RDMA通信一致快速执行的一种方式,也就是说不采用主动-主动结合,其中VLAN设备都同时允许TCP通信。关于具有主动-备份结合的TCP故障转移,基于TCP模块433检测port_eth0或者sw_eth0的故障,模块435相应的将TCP结合0(bond0)的通信自动切换到port_eth1,这样通信能够准确地继续,这是标准结合模块的受支持的特征。类似的,响应于检测到port_eth0和sw_eth0再次变得可用,模块433自动地将TCP通信切换回port_eth0,。对于RDMA故障转移,根据本发明的一个或多个实施例,提供RDMA模块439给应用438,其中模块439配置有指令,以操作使得CPU440进行自动故障切换功能(对于RDMA,传统内核不能自动处理这类故障转移)。响应于RDMA模块439检测到端口eth1或者交换机故障,模块439将RDMA通信自动的从port_eth1切换到port_eth0。类似的,若RDMA模块439检测到eth1链接被重新建立,模块439将RDMA连接重新配置并在port_eth1上继续RDMA操作。
应当理解,TCP和RDMA如果都在相同端口上并行的运行,两者的性能都会降低。对于TCP主动-备份模式,通过使用VLAN设备和配置系统400以使得分离的TCP和RDMA通信分开运行在如上所述的分立的端口上,这样与在相同的端口上并行地运行TCP和RDMA(也就是说主动-主动模式)相比,性能通常会增强。这种主动-备份模式的专用的端口安排可以如在此描述的这样实现,并且不会有一般伴随这样的分离而存在的故障转移模式风险的缺点,因为根据本发明实施例,TCP可以通过TCP分配的VLAN设备eth0.710和eth1.701的结合运行在端口port_eth0或者port_eth1中的任一个上。这种结合安排的另一个优点是,如果RDMA通信在特定情况下较低,这种安排允许配置TCP以在结合TCP上运行主动-主动模式,所述结合TCP在两个端口上被分别分配VLAN设备,因此能够实现双倍带宽和吞吐,但是不需要为TCP和RDMA协议中的每一个设置一个网络适配器。
现在参照图6,该流程图图示了根据一个或多个本发明实施例执行的过程。
在一个实施例中,过程包括在网络适配器的第一和第二物理端口上分别配置604第一和第二虚拟局域网(VLAN)设备。这可以由管理员使用计算机系统的操作系统的管理员界面完成,或者通过其他应用完成。这也可以通过配置程序使用程序编程界面(API)以自动的方式完成。管理员直接通过管理员界面或者间接的通过配置程序和API访问由操作系统的指令或者分立的网络通信的指令提供的访问功能,以在用于该系统的非易失性存储器中创建和存储指向端口的具有VLAN标签的数据结构。这个在与物理端口关联的物理存储器中创建和存储数据结构的过程可以被称为初始化、配置、编程或其他类似的。
在另一实施例中,过程包括将第二VLAN设备配置608为逻辑结合虚拟设备。在另一实例中,结合模块被编程610为提供用于结合虚拟设备的主动-主动模式或者主动-备份通信模式。这可以按照上面所述的方式通过结合指令模块的指令提供的功能实现,例如其中在用于系统的非易失性存储器中创建和存储数据结构,该数据结构具有指向两个VLAN标签的结合标签。结合功能可以由被包括为操作系统一部分的指令模块提供或者是分立安装的指令模块。
在另一实施例中,过程包括分别用第一和第二网络地址配置612第一VLAN设备以及用第三网络地址配置结合虚拟设备,从而得到与VLAN设备和结合虚拟设备关联的存储的数据结构,这可以按照上面描述的方式实现。
在另一实施例中,过程包括编程616在计算机系统上第一应用以执行通过第一网络通信协议的在第一VLAN设备上的网络通信,并编程在计算机系统上的第一或者第二应用(其可能包括对第一和第二应用均编程)以执行通过第二网络通信协议的在第二VLAN设备和逻辑结合虚拟设备上的网络通信。第一网络通信协议例如可以为远程直接存储访问(RDMA)协议,第二网络通信协议例如可以为传输控制协议(TCP)协议。
一个或多个应用可以包括例如数据库应用,例如为DB2PureScale,WebSphere,IBM Infosphere BigInsights,IBM Infosphere Streams,IBM Infosphere DataWarehouse,IBM PureData Systems(所有这些都是国际商业机器公司的商标)或者可以包括其他公司的应用。这个编程可以以上面所描述的方式中的一种通过由一个或多个应用的指令所提供的功能实现,例如其中在用于系统的非易失性存储中创建和存储数据结构,该数据结构将应用与通信协议模块关联,每个应用使用该通信协议模块在网络上通信(也就是将应用指向通信协议模块),并且该通信协议模块也将每个应用指向IP地址或者用于通信的地址。因此,第一应用被编程以通过用于第一网络通信协议的第一指令模块执行执行第一通信,以及第一应用或者第二应用被编程以通过执行用于第二网络通信协议的第二指令模块执行第二通信。因此,第一VLAN器件中的至少一个通过第一网络协议提供网络通信,逻辑结合虚拟器件通过第二网络通信协议并行地提供网络通信。
在实施例中,过程包括:实际执行620通过第一网络通信协议去往和来自网络的第一通信,其包括通过在计算机系统网络适配器的第一物理端口上的第一VLAN设备执行第一通信;以及实际执行624通过第二网络通信协议去往和来自该网络的第二通信。第二通信通过第二物理端口的第二VLAN设备和逻辑虚拟结合设备在第二物理端口上执行,并且其与第一通信是并行的。
应当理解,执行620第一通信可以包括执行用于第一网络通信协议的指令模块的指令。根据一个或多个实施例,第一网络通信指令模块并不提供用于在逻辑结合物理端口上通过第一网络通信协议进行通信的指令,所以网络适配器不能够通过第一网络通信协议在逻辑结合物理端口上通信。然而,在此所描述的实施例中网络适配器的VLAN设备逻辑结合为虚拟设备,其使得通信620和624可以通过它们各自的第一和第二网络通信协议并行地进行。
取决于系统是否被编程以提供主动-主动或者主动-备份结合,如在此所描述的,通过逻辑结合虚拟设备在第一和第二物理端口上执行630第二通信,这样两个第二VLAN设备同步地(主动-主动模式)进行通信或者在一个时刻仅在一个第二VLAN设备上执行643通信(主动-备份模式),这样若一个正在通信的第二VLAN设备或者其关联的物理端口故障,另一个第二VLAN设备会接管通信。
现在参照图1,图1示出了网络数据处理系统100的图示表示,本发明可以被实现在该网络数据处理系统100中。网络数据处理系统100包含网络102,其是用于提供在网络数据处理系统100中连接在一起的多个设备和计算机之间的通信链的介质。网络102可以包括连接,例如电线,无线通信链接或光纤电缆等。
在所描述的例子中,服务器104连同存储单元106一起连接到网络102。此外,客户端108,110和112被连接到网络102。这些客户端108,110和112例如可以是,个人计算机或网络计算机。在所描绘的例子中,服务器104将数据,如引导文件,操作系统映像和方案提供给客户端108、110和112。客户端108、110和112是服务器104的客户端。网络数据处理系统100可以包括未示出的附加的服务器,客户端和其他设备。在所描绘的例子中,网络数据处理系统100是具有网络102的因特网,其表示全球范围内使用TCP/IP协议套件以彼此通信的网络和网关的集合。
参考图2中,其为根据本发明的实施例描述的可以实现为服务器的数据处理系统的框图,例如图1中的服务器104。数据处理系统200可以是一个对称多处理器(SMP)系统,包括多个连接到系统总线206的处理器202和204。或者,可以使用单处理器系统。也连接到系统总线206是存储器控制器/高速缓存208,其提供了到本地存储器209的接口。I/O总线桥210连接至系统总线206,并提供了到I/O总线212的接口。如所描述的,存储器控制器/高速缓存208和I/O总线桥210可以被集成。
外围组件互连(PCI)总线桥接器214连接到I/O总线212,其提供到PCI本地总线216的接口。多个调制解调器可以连接到PCI本地总线216。典型的PCI总线实现将支持4个PCI扩展插槽或内插式连接器。在图1中,连接到网络计算机108、110和112的通信可以通过调制解调器218和网络适配器220提供,其中调制解调器218和网络适配器220通过内插式板连接到PCI本地总线216。额外的PCI总线桥222和224为额外的PCI本地总线226和228提供接口,可自额外的PCI本地总线226和228支持额外的调制解调器或网络适配器。以这种方式,数据处理系统200允许到多个网络计算机的连接。如所描绘的,存储器映射图形适配器230和硬盘232也可以直接或者间接地连接到I/O总线212。
本领域的普通技术人员将理解,如图2所示的硬件可以变化。也可以使用其他外围设备,例如光盘驱动器或类似物以补充所描述的硬件或代替所描述的硬件。所描绘的例子不意味着暗示对于本发明的架构限制。
图2中所描述的数据处理系统例如可以是,IBM e-Server pSeries系统电子服务器的pSeries系统,其为纽约州阿蒙克市的国际商业机器公司的产品,其运行高级交互执行(AIX)操作系统或LINUX操作系统。
对于本发明个实施例,服务器104可提供可以由用户访问以使得用户能够交互的适当的网站或其它基于因特网的图形用户界面。在一个实施例中,结合Sun Solaris操作系统平台使用Netscape网络服务器,IBM Websphere互联网工具套件,用于Linux,Unix和Windows的IBM DB2(也被称为“IBM DB2for LUW”)平台和Sybase数据库平台。此外,例如JBDC驱动,IBM连接池(connection pooling)和IBM MQ系列连接方法组件可用于提供对若干资源的数据访问。如在本文中所用的术语网页并不意味着限制可能被用于与用户交互的文档和程序的类型。例如,除了标准的HTML文档,一个典型的网站可能包括各种形式的Java小程序,JavaScript,活动服务器页面(ASP),Java服务器页面(JSP),公共网关接口脚本(CGI),可扩展标记语言(XML),动态HTML,层叠样式表(CSS),辅助程序,插件或其他类似物。
现在参考图3,其描述了图示数据处理系统的框图,本发明实施例的各方面可以被实现在其中。数据处理系统300是客户计算机的例子。数据处理系统300采用外围部件互连(PCI)本地总线架构。虽然所描绘的实例采用了PCI总线,也可以使用其他总线架构,如加速图形端口(AGP)和工业标准架构(ISA)。处理器302和主存储器304通过PCI桥308连接到PCI本地总线306。PCI桥308也可以包括用于处理器302的阶乘存储控制器和高速缓冲存储器。可以通过直接组件互联或者通过内插式板实现到PCI本地总线306的额外的连接。在所描绘的例子中,局域网(LAN)适配器310,小型计算机系统接口(SCSI)主机总线适配器312以及扩展总线接口314由直接组件连接连到PCI本地总线306。与此相反,音频适配器316,图形适配器318和音频/视频适配器319通过插入到扩展槽中的内插式板连接到PCI本地总线306。
扩展总线接口314提供键盘和鼠标适配器320、调制解调器322和额外的存储器324的连接。SCSI主机总线适配器312提供用于硬盘驱动器326、磁带驱动328和CD-ROM驱动器330的连接。典型的PCI本地总线的实现将支持三个或四个PCI扩展槽或内插式连接器。
操作系统运行在处理器302上,并用于协调和提供如图3中的数据处理系统300中的各种组件的控制。操作系统可以是商业上可用的操作系统,如可购自微软公司的Windows面向对象的编程系统,如Java,可以与操作系统一起运行并提供从Java程序或在执行数据处理系统300上的程序到操作系统的调用。“Java”是SunMicrosystems Inc的商标。用于操作系统的指令、面向对象的操作系统和程序都位于存储设备上,诸如硬盘驱动器326,并且可以由处理器302加载到主存储器304中以供执行。
本领域的普通技术人员将理解,取决于实现方式,可以改变图3中的硬件。可以使用其他内部硬件或外围设备,如闪存ROM(或等效的非易失存储器)或光盘驱动器以及类似物以补充图3中描述的硬件或替代这些硬件。此外,在本发明的过程可以应用于多处理器数据处理系统。
作为另一示例,数据处理系统300可以是被配置为不依赖于某些类型的网络通信接口的可引导的独立系统,不管数据处理系统300是否包括某些类型的网络通信接口。作为进一步的示例,数据处理系统300可以是个人数字助理(PDA)设备,它配置有ROM和/或闪速ROM以用于为存储操作系统文件和/或用户生成的数据提供非易失性存储器。
在图3所示示例以及如上所描述的示例并非旨在暗示架构限制。例如,数据处理系统300也可以是笔记本电脑或手持计算机还可以是PDA。此外,数据处理系统300也可以是信息亭或Web设备。此外,本发明可以驻留在由计算机系统所使用的任何数据存储介质(例如,软盘,紧凑盘,硬盘,磁带,ROM,RAM等)上。(术语“计算机”,“系统”,“计算机系统”和“数据处理系统”可在本文中互换的使用。)
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体采用以下形式:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。(然而,可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。)
计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件的上下文中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读信号介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
由各种类型的处理器执行的软件中实现的模块例如可以包括一个或多个计算机指令的物理或逻辑块,其例如被组织为对象、过程或函数。尽管如此,已识别模块的可执行代码不必在物理上位于一起,而是可以包括存储在不同位置的完全不同的指令,该完全不同的指令在逻辑上接合在一起时包括该模块并实现该模块所陈述的目的。实际上,可执行代码的模块可以是单个指令,或许多指令,并且甚至可以分布在若干不同的代码段上,不同程序之间,以及跨多个存储设备。类似地,可以在模块内识别并说明操作数据,并且可以任何合适的形式来体现,且在任何合适的数据结构内组织操作数据。操作数据可被收集为单个数据集,或者可以分布在不同的位置,包括分布在不同的存储设备,并且可能至少部分的仅作为电子信号而存在于系统或网络上。
这些计算机程序指令可以被提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器以生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
还应当指出的是,框图和/或流程图中的每个方框,以及在框图和/或流程图中的方框的组合,可以由执行指定功能或动作的专用的基于硬件的系统来实现,或专用硬件和计算机指令的组合来实现。例如,一个模块可以被实现为包括定制VLSI电路或门阵列,现成的半导体例如逻辑芯片,晶体管,或其他分立组件的硬件电路。一个模块也可以在可编程硬件设备中实现,该可编程硬件设备例如为场可编程门阵列,可编程阵列逻辑,可编程逻辑器件或其他类似物。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,也即指令,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
程序指令也可以被加载到计算机、其它可编程数据处理设备或其他设备上以引发一系列的、在计算机、其它可编程设备或其它装置上执行的操作步骤以产生计算机实现的过程,以使得在该电脑或其他可编程设备上执行的指令提供用于实现在流程图和/或框图的方块中指定的功能/动作的过程。
一个或多个数据库可以包括在主机中以用于存储用于各种实现的数据且提供对该数据的访问。本领域技术人员还将理解的是,出于安全原因,本发明的任何数据库、系统或组件可以在单一位置或者多个位置处包括数据库或组件的任意组合,其中每个数据库或系统包括各种合适的安全特征中的任意种,诸如防火墙,访问代码,加密,解加密或类似物。该数据库可以是任何类型的数据库,例如关系事,层次式,面向对象式和/或类似物。可用于实现数据库的通用数据库产品包括IBM(纽约州WhitePlains市)的DB2,可购自Oracle公司(红木海岸,CA)的所有数据库产品中的任一个,微软公司(华盛顿州雷蒙市)的Microsoft Access或任何其他数据库产品。数据库可以被组织为任何合适的方式,包括被组织为数据表或查找表。
某些数据关联可以通过任何已知和实践的数据关联技术来实现。例如,该关联可以手动或自动完成。例如,自动关联技术可包括数据库搜索、数据库合并、GREP、AGREP、SQL和/或类似物。关联步骤可以由数据库合并功能来完成,例如,使用制造商和零售商的数据表中的每一个的索引字段(key field)来实现。索引字段根据由索引字段定义的对象的高级别来划分数据库。例如,某一类别可以被指定为在第一数据表和第二数据表中的索引字段,且两个数据表接着可基于索引字段中的类数据的而合并。在本实施例中,已合并的数据表中的每一个对应于索引字段中的数据最好是相同的。然而,例如可通过使用AGREP来合同在索引字段中具有相似而非相同的数据的数据表。
在整个本说明书中,对“一个实施例”、“实施例”或类似语言的参考意味着结合该实施例而描述的特定的特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个本说明书中出现的短语“在一个实施例中”、“在实施例中”以及类似语言,可以但未必均指同一实施例。此外,可在一个或多个实施例中以任何合适的方式来组合本发明所描述的特征、结构或特性。相应地,即使特征最初主张为以特定组合起作用,但来自所主张组合之一或多个特征在一些状况下可自该组合删去,且所主张组合可有关于子组合或者子组合的变体。
在本文的描述中,提供了许多具体细节,如编程,软件模块,用户选择,网络交易,数据库查询,数据库结构,硬件模块,硬件电路,硬件芯片等的示例,以提供对于本发明实施例的透彻的理解。然而,本领域的技术人员将认识到,本发明可以在没有一个或多个特定细节的情况下实现,或利用其它方法、组件、材料等来实现。在其他示例中,没有详细示出或描述公知的结构、材料或操作,以避免模糊本发明的各方面。
上文已经就特定的实施例描述了益处、优点和问题的解决方案。然而,这些益处、优点、问题的解决方案,以及可使任何益处、有点活解决方案出现U欧彼岸的更明显的任何元件不应当被解释为任何或者所有权利要求的关键的、必需的、或必要的特征或任何元素。
本领域技术人员在阅读本公开内容将认识到,可以在不脱离本发明的范围的情况下对实施例进行改变和修改。但是应当理解的是,本文所展示和描述的特定实施方式说明本发明和其最佳实施方式,且并不打算以任何方式限制本发明的范围。其它的变化是在以下的权利要求的范围之内。
尽管本说明书包含许多细节,但这些不应被解释为对本发明或者可主张的内容的范围的限制,而是应当被认为是特定于本发明的特定实施例的特征的描述。本文中的标题并不意图限制本发明、本发明的实施例或者在该标题下披露的其他事物。
如本文所用,术语“包含”或其任何其它变型均旨在涵盖非排他性的包括,使得包含包含要素清单的处理、方法、物品或装置并不只包括这些要素,而是还可以包括其他未明确列出或为这些处理、方法、物品或装置所固有的这些要素。此外,除非明确的描述为必须或者关键的,否则本文所描述的要素并非是实现本发明所必需的。
在此使用的术语仅是为了描述特定实施例,且不旨在限制本发明。如在此使用的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另外清楚地指明。还将理解,当在说明书中使用时,术语“包括”和/或“包含”指明存在所述的特征、整体、步骤、操作、元件和/或组件,但不排除存在或附加一个或多个其他特征、整体、步骤、操作、元件和/或组件。
所附权利要求书中的所有装置或步骤加功能元件的相应结构、材料、操作以及等价物,如有的话,旨在包括用于结合如特别要求保护的其他所要求保护的元件来执行所述功能的任何结构、材料或操作。
呈现本发明的说明是为了示出和描述的作用,但不是穷尽性的或将本发明限制于所公开的形式。许多修改和变化对本领域普通技术人员来说是明显的,且不脱离本发明的范围。选择和描述实施例是为了最佳地解释本发明的原理和实际应用,并使得本领域普通技术人员能针对适于考虑的特定用途的具有各种修改的各种实施例理解本发明。
从前面描述的内容中应当理解,根据一个或多个本发明实施例,服务质量要求可以通过在交换机上的VLAN层级上解决。也就是说,通过聚合增强以太网(CEE)能力的交换机,RDMA通信可以用特定VLAN进行标记以在无损模式运行,并且可以向VLAN分配合适量的带宽。即使没有CEE,在发生拥塞时,在端口上启用全局暂停(也即流量控制)可以让TCP和RDMA都运行在无损模式。但是,此处所示的实施例使得通信与其对应的VLAN设备能够隔离。因此,访问控制列表和VMAP可被用于满足每个通信类型的服务质量要求。
总之,在本发明实施例中,可以通过单一多端口适配器来实现TCP通信的高可用性,这是由于在不影响RDMA不能使用这些特征的情况下实现用于TCP的以太通道结合。TCP通信可以使用两个端口,这样如果一个故障,另一个可以作为代表接管或继续工作。不管I/O扩展槽的完全不同的协议以及有限的可用性,都可以实现稳健和完整的网络。

Claims (24)

1.一种用于计算机系统通过第一和第二网络通信协议进行通信的方法,该方法包括:
通过第一网络通信协议执行去往和来自网络的第一通信,包括通过在计算机系统网络适配器的第一物理端口上的第一虚拟局域网(VLAN)设备执行所述第一通信,其中所述网络适配器还包括在所述第一端口上的第二VLAN设备以及包括在第二物理端口上的第一和第二VLAN设备,其中所述第二VLAN设备被编程为逻辑结合虚拟设备以用于通过第二网络通信协议进行网络通信;以及
通过所述第二网络通信协议执行去往和来自所述网络的第二通信,包括在所述第二物理端口上通过所述逻辑结合虚拟设备和所述第二物理端口的所述第二VLAN设备执行所述第二通信,其中所述第二通信和所述第一通信是并行的。
2.如权利要求1所述的方法,其中所述第一网络通信协议包括远程直接存储访问(RDMA)协议,并且所述第二网络通信协议包括传输控制协议(TCP)协议。
3.如权利要求2所述的方法,其中执行所述第一通信包括:
在第一和第二物理端口两者上通过所述第一VLAN设备并行地执行RDMA协议通信,并且其中执行所述第二通信包括:
由所述逻辑结合虚拟设备和所述第二物理端口的一个所述第二VLAN设备在所述第二物理端口上执行TCP协议通信。
4.如权利要求1所述的方法,其中所述结合虚拟设备被配置以用于主动-主动通信模式,以使得执行所述第二通信进一步包括:
通过所述逻辑结合虚拟设备在所述第一和第二物理端口两者上执行所述第二通信,其中两个所述第二VLAN设备并行地通信。
5.如权利要求1所述的方法,其中所述结合虚拟设备被配置以用于主动-备份通信模式,以使得执行所述第二通信进一步包括:
通过所述第二网络通信协议在所述第二物理端口上通过所述逻辑结合虚拟设备执行所述第二通信,其中在一个时刻只有一个所述第二VLAN设备通信,并且若正在通信的一个所述第二VLAN设备或其关联的物理端口故障,所述第二VLAN设备的另一个接管所述通信。
6.一种用于在计算机系统上提供网络通信的方法,所述方法包括:
为所述计算机系统配置网络适配器,包括:
在所述网络适配器的第一和第二物理端口的每一个上配置第一和第二虚拟局域网(VLAN)设备;以及
将所述第二VLAN设备配置为逻辑结合虚拟设备。
7.如权利要求6所述的方法,包括:
对在所述计算机系统上的第一应用进行编程以通过第一网络通信协议在所述第一VLAN设备上执行网络通信;以及
对在所述计算机系统上的应用进行编程以通过第二网络通信协议在所述第二VLAN设备和所述逻辑结合虚拟设备上执行网络通信,其中至少一个所述第一VLAN设备通过所述第一网络通信协议提供网络通信,且所述逻辑结合虚拟设备并行地通过所述第二网络通信协议提供网络通信。
8.如权利要求7所述的方法,其中所述第一网络通信协议包括远程直接存储访问(RDMA)协议,并且所述第二网络通信协议包括传输控制协议(TCP)协议。
9.如权利要求7所述的方法,其中由至少一个所述第一VLAN设备通过所述第一网络通信协议执行网络通信以及由所述逻辑结合虚拟设备通过所述第二网络通信协议执行网络通信包括:
在所述第一和第二物理端口上由所述第一VLAN设备并行地执行RDMA协议通信;
在所述第一物理端口上由所述逻辑结合虚拟设备和所述第二物理端口的一个所述第二VLAN设备执行TCP协议通信。
10.如权利要求7所述的方法,其中对在所述计算机系统上的应用进行编程以通过所述第二网络通信协议在所述第二VLAN设备上执行网络通信包括:
对所述第一或第二应用进行编程以通过用于所述第二网络通信协议的第二指令模块执行通信,其中所述第二指令模块提供主动-主动模式,其中通过所述第二网络通信协议由所述逻辑结合虚拟设备和至少一个所述第二VLAN设备执行网络通信进一步包括:
通过所述第二网络通信协议在第一和第二物理端口两者上由所述逻辑结合虚拟设备执行网络通信,其中两个所述第二VLAN设备并行地通信。
11.如权利要求7所述的方法,其中对所述计算机系统上的第一或第二应用进行编程以通过所述第二网络通信协议在所述第二VLAN设备上执行网络通信包括:
对所述第一或第二应用进行编程以通过用于所述第二网络通信协议的第二指令模块执行网络通信,其中所述第二指令模块提供主动-备份模式,其中通过素数第二网络通信协议由所述逻辑结合虚拟设备和至少一个所述第二VLAN设备执行网络通信进一步包括:
通过所述第二网络通信协议在所述第一和第二物理端口中的一个上由所述逻辑结合虚拟设备执行网络通信,其中在一个时刻只有一个所述第二VLAN设备通信,且若正在通信的一个所述第二VLAN设备或其关联的物理端口故障,所述第二VLAN设备的另一个接管所述通信。
12.如权利要求6所述的方法,包括:、
分别用第一和第二网络地址配置所述第一VLAN设备;以及
用第三网络地址配置所述结合虚拟设备。
13.一种用于在计算机网络上通过第一和第二网络通信协议提供网络通信的计算机程序产品,所述计算机程序产品包括:
计算机可读存储介质;以及
存储在所述计算机可读存储介质上的程序指令,所述程序对所述计算机系统编程以执行包括以下步骤的方法:
通过第一网络通信协议执行去往和来自网络的第一通信,包括通过第一虚拟局域网(VLAN)设备在计算机系统网络适配器的第一物理端口上执行所述第一通信,其中所述网络适配器还包括所述第一端口上的第二VLAN设备以及包括在第二物理端口上的第一和第二VLAN设备,其中所述第二VLAN设备被编程为逻辑结合虚拟设备以用于通过第二网络通信协议的网络通信;以及
通过所述第二网络通信协议执行去往和来自所述网络的第二通信,包括在所述第二物理端口上通过所述逻辑结合虚拟设备和所述第二物理端口的所述第二VLAN设备执行所述第二通信,其中所述第二通信和所述第一通信是并行的。
14.如权利要求13所述的计算机程序产品,其中所述第一网络通信协议包括远程直接存储访问(RDMA)协议,并且所述第二网络通信协议包括传输控制协议(TCP)协议。
15.如权利要求13所述的计算机程序产品,其中执行所述第一通信包括:
在第一和第二物理端口两者上通过所述第一VLAN设备并行地执行RDMA协议通信,并且其中执行所述第二通信包括:
由所述逻辑结合虚拟设备和所述第二物理端口的一个所述第二VLAN设备在所述第二物理端口上执行TCP协议通信。
16.如权利要求13所述的计算机程序产品,所述存储在所述计算机可读存储介质上的程序指令进一步将所述计算机系统编程以:
为所述结合虚拟设备提供主动-主动通信模式,其中执行所述第二通信进一步包括:
通过所述逻辑结合虚拟设备在第一和第二物理端口两者上执行所述第二通信,其中两个所述第二VLAN设备并行地通信。
17.如权利要求13所述的计算机程序产品,存储在所述计算机可读存储介质上的程序指令进一步将所述计算机系统编程以:
为所述结合虚拟设备提供主动-备份通信模式,其中执行所述第二通信进一步包括:
在所述第一和第二物理端口中的一个之上通过所述逻辑结合虚拟设备执行所述第二通信,其中在一个时刻只有一个所述第二VLAN设备通信,并且若正在通信的所述第二VLAN设备中的一个或其关联的物理端口故障,所述第二VLAN设备的另一个接管所述通信。
18.一计算机系统,包括:
网络适配器,所述网络适配器具有配置在所述网络适配器的第一和第二物理端口的每一个之上的第一和第二虚拟局域网(VLAN)设备,并且还具有被配置为逻辑结合虚拟设备的所述第二VLAN设备。
19.如权利要求18所述的计算机系统,包括:
存储在计算机可读存储介质上的第一应用,该第一应用被编程以通过第一网络通信协议在所述第一VLAN设备上执行网络通信;以及
存储在计算机可读存储介质上的应用,其被编程以通过第二网络通信协议在所述第二VLAN设备和所述逻辑结合虚拟设备上执行网络通信,其中至少一个所述第一VLAN设备提供通过所述第一网络通信协议的网络通信,并且所述逻辑结合虚拟设备同时提供通过所述第二网络通信协议的网络通信。
20.如权利要求19所述的计算机系统,其中所述第一网络通信协议包括远程直接存储访问(RDMA)协议,并且所述第二网络通信协议包括传输控制协议(TCP)协议。
21.如权利要求19所述的计算机系统,其中有至少一个所述第一设备通过所述第一网络通信协议执行网络通信和由所述逻辑结合虚拟设备通过所述第二网络通信协议执行网络通信包括:
在第一和第二物理端口两者上通过所述第一VLAN设备并行地执行RDMA协议通信以及
由所述逻辑结合虚拟设备和所述第二物理端口的一个所述第二VLAN设备在所述第二物理端口上执行TCP协议通信。
22.如权利要求19所述的计算机系统,包括:
第一指令模块,所述第一指令模块具有存储在计算机可读介质上用于执行所述第一网络通信协议的指令;以及
第二指令模块,所述第二指令模块具有存储在计算机可读介质上用于执行所述第二网络通信协议的指令,其中所述第一或第二应用被编程以通过用于所述第二网络通信协议的所述第二指令模块执行通信,并且所述第二指令模块被编程以为所述结合虚拟设备提供主动-主动模式,其中通过所述第二网络通信协议由所述逻辑结合虚拟设备执行网络通信进一步包括:
通过所述第二网络通信协议在第一和第二物理端口两者之上由所述逻辑结合虚拟设备执行网络通信,其中两个所述第二VLAN设备并行地通信。
23.如权利要求19所述的计算机系统,包括:
第一指令模块,所述第一指令模块具有存储在计算机可读介质上用于执行所述第一网络通信协议的指令;以及
第二指令模块,所述第二指令模块具有存储在计算机可读介质上用于执行所述第二网络通信协议的指令,其中所述第一或第二应用被编程以通过用于所述第二网络通信协议的所述第二指令模块执行通信,并且所述第二指令模块被编程以为所述结合虚拟设备提供主动-备份模式,其中通过所述第二网络通信协议由所述逻辑结合虚拟设备执行网络通信进一步包括:
通过所述第二网络通信协议在所述第一和第二物理端口中的一个之上由所述逻辑结合虚拟设备执行通信,其中在一个时刻只有一个所述第二VLAN设备通信,并且若正在通信的一个所述第二VLAN设备或其关联的物理端口故障,所述第二VLAN设备的另一个接管所述通信。
24.如权利要求19所述的计算机系统,其中分别用第一和第二网络地址配置所述第一VLAN设备,并且用第三网络地址配置所述结合虚拟设备。
CN201380054884.2A 2012-10-25 2013-08-27 由计算机系统使用至少两个通信协议进行网络通信的技术 Active CN104782085B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/660,973 US8988987B2 (en) 2012-10-25 2012-10-25 Technology for network communication by a computer system using at least two communication protocols
US13/660,973 2012-10-25
PCT/EP2013/067726 WO2014063851A1 (en) 2012-10-25 2013-08-27 Technology for network communication by a computer system using at least two communication protocols

Publications (2)

Publication Number Publication Date
CN104782085A true CN104782085A (zh) 2015-07-15
CN104782085B CN104782085B (zh) 2017-12-29

Family

ID=49034106

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380054884.2A Active CN104782085B (zh) 2012-10-25 2013-08-27 由计算机系统使用至少两个通信协议进行网络通信的技术

Country Status (7)

Country Link
US (2) US8988987B2 (zh)
JP (1) JP6270860B2 (zh)
CN (1) CN104782085B (zh)
DE (1) DE112013004187B4 (zh)
GB (1) GB2521315B (zh)
TW (1) TW201424304A (zh)
WO (1) WO2014063851A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108254694A (zh) * 2017-12-27 2018-07-06 深圳市科陆电子科技股份有限公司 一种电池工作数据采集方法、系统及存储介质
CN109756464A (zh) * 2017-11-07 2019-05-14 阿里巴巴集团控股有限公司 一种通信方法及服务器、客户端
CN110312973A (zh) * 2017-02-21 2019-10-08 菲尼克斯电气公司 用于与控制装置相连接的前端适配器以及自动化系统

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8988987B2 (en) 2012-10-25 2015-03-24 International Business Machines Corporation Technology for network communication by a computer system using at least two communication protocols
US20140173157A1 (en) * 2012-12-14 2014-06-19 Microsoft Corporation Computing enclosure backplane with flexible network support
CN106133695A (zh) * 2014-04-02 2016-11-16 斯特拉托斯卡莱有限公司 经由rdma的远程非对称tcp连接卸载
EP3222021A1 (en) * 2014-11-19 2017-09-27 Lantiq Beteiligungs-GmbH & Co. KG Physical medium dependent layer bonding
US10374924B1 (en) * 2014-12-05 2019-08-06 Amazon Technologies, Inc. Virtualized network device failure detection
WO2016109948A1 (zh) * 2015-01-07 2016-07-14 华为技术有限公司 构建网络的方法和装置
US10771315B2 (en) * 2017-02-14 2020-09-08 Futurewei Technologies, Inc. High availability using multiple network elements
US10454226B2 (en) * 2017-04-07 2019-10-22 Centurylink Intellectual Property Llc Power distribution unit for transmitting data over a power line
US10733137B2 (en) * 2017-04-25 2020-08-04 Samsung Electronics Co., Ltd. Low latency direct access block storage in NVME-of ethernet SSD
US11082408B2 (en) * 2017-07-20 2021-08-03 Michael T. Jones Systems and methods for packet spreading data transmission with anonymized endpoints
US20200104152A1 (en) * 2018-06-04 2020-04-02 Srinivas Vegesna Methods and systems for virtual tor implementation
US10735248B2 (en) 2018-02-12 2020-08-04 Futurewei Technologies, Inc. Cloudified N-way routing protection at hyper scale

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1487418A (zh) * 2002-09-05 2004-04-07 �Ҵ���˾ 远端直接存储器存取启用网络适配器的存储器管理卸载
CN1578308A (zh) * 2003-07-18 2005-02-09 微软公司 在多nic rdma激活设备中的状态迁移
US20060123204A1 (en) * 2004-12-02 2006-06-08 International Business Machines Corporation Method and system for shared input/output adapter in logically partitioned data processing system
CN1906573A (zh) * 2004-01-20 2007-01-31 美国博通公司 支持多个用户的系统和方法
US20070266127A1 (en) * 2006-05-10 2007-11-15 Richter Andrew H Internal virtual local area network (lan)

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6678241B1 (en) 1999-11-30 2004-01-13 Cisc Technology, Inc. Fast convergence with topology switching
US7242665B2 (en) * 2001-01-25 2007-07-10 Ericsson Ab Network device virtual interface
US6766482B1 (en) 2001-10-31 2004-07-20 Extreme Networks Ethernet automatic protection switching
US7899047B2 (en) * 2001-11-27 2011-03-01 Microsoft Corporation Virtual network with adaptive dispatcher
US7188364B2 (en) * 2001-12-20 2007-03-06 Cranite Systems, Inc. Personal virtual bridged local area networks
US7554993B2 (en) * 2003-03-27 2009-06-30 Hewlett-Packard Development Company, L.P. Method and apparatus for performing connection management with multiple stacks
US7839843B2 (en) * 2003-09-18 2010-11-23 Cisco Technology, Inc. Distributed forwarding in virtual network devices
US7296092B2 (en) * 2004-06-30 2007-11-13 Nokia, Inc. Apparatus for inter-domain communications including a virtual switch for routing data packets between virtual interfaces of the virtual switch
US20060168275A1 (en) 2004-11-22 2006-07-27 Lin Peter A Method to facilitate a service convergence fabric
US20060195618A1 (en) * 2005-02-25 2006-08-31 International Business Machines Corporation Data processing system, method, and computer program product for creation and initialization of a virtual adapter on a physical adapter that supports virtual adapter level virtualization
JP4736859B2 (ja) * 2006-03-02 2011-07-27 日本電気株式会社 通信装置および通信方法
US20080244620A1 (en) 2007-03-27 2008-10-02 Brian James Cagno Dynamic Communication Fabric Zoning
US8098572B2 (en) * 2009-02-03 2012-01-17 Google Inc. Interface monitoring for link aggregation
JP5336405B2 (ja) * 2010-03-10 2013-11-06 富士フイルム株式会社 社内情報閲覧用サーバ・システムおよびその制御方法
CN101827032A (zh) 2010-04-29 2010-09-08 华为技术有限公司 一种收敛二层组播网络的方法及设备
US8559341B2 (en) 2010-11-08 2013-10-15 Cisco Technology, Inc. System and method for providing a loop free topology in a network environment
US8625597B2 (en) 2011-01-07 2014-01-07 Jeda Networks, Inc. Methods, systems and apparatus for the interconnection of fibre channel over ethernet devices
US8537706B2 (en) 2011-01-11 2013-09-17 International Business Machines Corporation Preserving traffic class priority QoS with self-virtualizing input/output device
US8934783B2 (en) 2011-02-17 2015-01-13 International Business Machines Corporation Adaptor system for an ethernet network
US8988987B2 (en) 2012-10-25 2015-03-24 International Business Machines Corporation Technology for network communication by a computer system using at least two communication protocols

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1487418A (zh) * 2002-09-05 2004-04-07 �Ҵ���˾ 远端直接存储器存取启用网络适配器的存储器管理卸载
CN1578308A (zh) * 2003-07-18 2005-02-09 微软公司 在多nic rdma激活设备中的状态迁移
CN1906573A (zh) * 2004-01-20 2007-01-31 美国博通公司 支持多个用户的系统和方法
US20060123204A1 (en) * 2004-12-02 2006-06-08 International Business Machines Corporation Method and system for shared input/output adapter in logically partitioned data processing system
US20070266127A1 (en) * 2006-05-10 2007-11-15 Richter Andrew H Internal virtual local area network (lan)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110312973A (zh) * 2017-02-21 2019-10-08 菲尼克斯电气公司 用于与控制装置相连接的前端适配器以及自动化系统
CN110312973B (zh) * 2017-02-21 2022-08-16 菲尼克斯电气公司 用于与控制装置相连接的前端适配器以及自动化系统
CN109756464A (zh) * 2017-11-07 2019-05-14 阿里巴巴集团控股有限公司 一种通信方法及服务器、客户端
CN109756464B (zh) * 2017-11-07 2021-12-03 阿里巴巴集团控股有限公司 一种通信方法及服务器、客户端
CN108254694A (zh) * 2017-12-27 2018-07-06 深圳市科陆电子科技股份有限公司 一种电池工作数据采集方法、系统及存储介质

Also Published As

Publication number Publication date
US9137041B2 (en) 2015-09-15
JP2016500972A (ja) 2016-01-14
US20140119174A1 (en) 2014-05-01
US8988987B2 (en) 2015-03-24
WO2014063851A1 (en) 2014-05-01
JP6270860B2 (ja) 2018-01-31
GB2521315A (en) 2015-06-17
CN104782085B (zh) 2017-12-29
DE112013004187T5 (de) 2015-05-07
TW201424304A (zh) 2014-06-16
GB2521315B (en) 2015-08-05
US20140119380A1 (en) 2014-05-01
DE112013004187B4 (de) 2017-06-22
GB201506292D0 (en) 2015-05-27

Similar Documents

Publication Publication Date Title
CN104782085A (zh) 由计算机系统使用至少两个通信协议进行网络通信的技术
US11411828B2 (en) Host network analyzer
US11184295B2 (en) Port mirroring based on remote direct memory access (RDMA) in software-defined networking (SDN) environments
US10020989B2 (en) Provisioning services in legacy mode in a data center network
US10218616B2 (en) Link selection for communication with a service function cluster
US9178828B2 (en) Architecture for agentless service insertion
US10164868B2 (en) Hypervisor routing between networks in a virtual networking environment
US11516126B2 (en) Techniques for high performant virtual routing capabilities
US20120216194A1 (en) Hypervisor application of service tags in a virtual networking environment
US10523745B2 (en) Load balancing mobility with automated fabric architecture
US11023406B2 (en) Preservation of port control block information related to logins and states of remote ports during a code load in an embedded port
US11627080B2 (en) Service insertion in public cloud environments
US10606780B2 (en) Programming interface operations in a driver in communication with a port for reinitialization of storage controller elements
US20180357196A1 (en) Programming interface operations in a port in communication with a driver for reinitialization of storage controller elements
US20240154904A1 (en) Dynamic ip routing in a cloud environment
US11546242B2 (en) Logical overlay tunnel monitoring
US11809889B2 (en) Intelligent connection placements on SR-IOV virtual functions
US11444836B1 (en) Multiple clusters managed by software-defined network (SDN) controller
US10911338B1 (en) Packet event tracking
US20240056335A1 (en) Multiple top-of-rack (tor) switches connected to a network virtualization device
WO2024039522A1 (en) Network architecture for dedicated region cloud at customer

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant