CN101410804A - 管理多个接口的方法和数据处理系统 - Google Patents

管理多个接口的方法和数据处理系统 Download PDF

Info

Publication number
CN101410804A
CN101410804A CNA2007800110298A CN200780011029A CN101410804A CN 101410804 A CN101410804 A CN 101410804A CN A2007800110298 A CNA2007800110298 A CN A2007800110298A CN 200780011029 A CN200780011029 A CN 200780011029A CN 101410804 A CN101410804 A CN 101410804A
Authority
CN
China
Prior art keywords
socket
sub
program code
computer
application
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.)
Pending
Application number
CNA2007800110298A
Other languages
English (en)
Inventor
D·班纳吉
K·拉马林伽姆
P·西哈里
V·文卡塔苏布拉
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 CN101410804A publication Critical patent/CN101410804A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

示例性实施例提供一种管理多个接口的计算机实现的方法、数据处理系统和计算机程序产品。应用选择多个接口的子集。响应于所述选择,将所述应用与接口子集绑定,其中所述应用侦听接口子集。

Description

管理多个接口的方法和数据处理系统
技术领域
本发明总的涉及改进的数据处理系统,具体地,涉及管理接口的方法和装置。更具体地,本发明涉及管理多个互联网接口的计算机实现的方法、数据处理系统和计算机程序产品。
背景技术
在过去十年间,与多个网络连接对接的应用服务器的功能已经大大增加。在过去,应用服务器典型地访问一个或几个网络连接。因此,应用服务器能够容易地管理要处理的请求的数目以及要接收和应答请求的对象。然而,随着互联网逐渐流行,可用于应用服务器的网络连接的数目也增加。因此,请求的管理和处理的复杂度增加。
典型地,为了处理请求,应用服务器必须仅通过发起请求的个体打开应用的实例,或对于网络上的所有个体打开实例。应用服务器不具有辨别或选择与哪个个体建立连接的能力。因此,给应用服务器留下了两个不期望的选择:单独与每个个体工作,或同时与所有个体工作。单独与每个个体工作的效率较低,并且会带来麻烦。然而,同时与所有个体工作会出现与保密性和安全性相关的问题。
发明内容
示例性实施例提供一种管理多个接口的计算机实现的方法、数据处理系统和计算机程序产品。应用选择多个接口的子集。响应于所述选择,将所述应用与接口子集绑定,其中所述应用侦听接口子集。
附图说明
现在仅通过实例,参照以下附图,描述本发明的优选实施例,其中:
图1是在其中可实现示例性实施例的多个方面的数据处理系统网络的图形表示;
图2是在其中可实现示例性实施例的多个方面的数据处理系统的框图;
图3示出根据示例性实施例的具有多个接口的应用服务器;
图4示出根据示例性实施例可通过主套接字创建和使用的关联列表;
图5示出根据示例性实施例在动态分离套接字之后的关联列表;
图6示出根据示例性实施例的在将新的套接字与主套接字动态关联之后的关联列表;
图7是示出根据示例性实施例的在与网络接口的子集通信的应用中的处理的流程图;和
图8是示出主套接字中将主套接字与网络接口的子集关联的处理的流程图。
具体实施方式
现在,参照附图,具体地参照图1-2,提供了在其中可实现示例性实施例的数据处理环境的示例性示图。应该理解,图1-2仅是示例性的,并没有坚持或暗示对于可实现示例性实施例的环境的任意限制。
现在,参照附图,图1示出在其中可实现示例性实施例的多个方面的数据处理系统网络的图形表示。网络数据处理系统100是在其中可实现示例性实施例的计算机网络。网络数据处理系统100包含网络102,所述网络102是用于提供在网络数据处理系统100中连接在一起的各个设备以及计算机之间的通信链路的介质。网络102可包括例如导线、无线通信链路或光缆的连接。
在所示的实例中,服务器104和服务器106与存储单元108一起连接至网络102。此外,客户端110、112和114连接至网络102。这些客户端110、112和114可以是例如个人计算机或网络计算机。在所示的实例中,服务器104向客户端110、112和114提供数据,例如,引导文件、操作系统图像和应用。在该实例中,客户端110、112和114是服务器104的客户端。网络数据处理系统100可包括附加服务器、客户端和其它没有示出的设备。
在所示的实例中,网络数据处理系统100是具有网络102的互联网,其表示使用传输控制协议/互联网协议(TCP/IP)的协议族彼此通信的网络和网管的世界范围的集合。在互联网的中心是主节点或主计算机之间的高速数据通信线路的骨干,包括对数据和消息进行路由的几千个金融、政府、教育和其它计算机系统。当然,网络数据处理系统100也可以实现为多个不同类型网络,例如,内联网、局域网(LAN)、广域网(WAN)。图1用作实例,而不是对不同示例性实施例的架构限制。
现在,参照图2,示出在其中可实现示例性实施例的多个方面的数据处理系统的框图。数据处理系统200是计算机的实例,例如图1中的服务器104或客户端110,其中可设置有用以实现示例性实施例的处理的计算机可用代码或指令。
在所示的实例中,数据处理系统200采用集线器架构,包括北桥芯片和存储控制器中心(NB/MCH)202以及南桥芯片和输入/输出(I/O)控制器中心(SB/ICH)204。处理单元206、主存储器208和图形处理器210连接至NB/MCH 202。图形处理器210可通过加速图形端口(AGP)连接至NB/MCH 202。
在所示的实例中,局域网(LAN)适配器212连接至SB/ICH 204。音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、硬盘驱动器(HDD)226、CD-ROM驱动器230、通用串行总线(USB)端口和其它通信端口232和PCI/PCIe设备234通过总线238和240连接至SB/ICH 204。PCI/PCIe设备可包括例如以太网适配器、插入卡、和用于笔记本计算机的PC卡。PCI使用卡总线控制器,而PCIe不使用。ROM224可以是例如闪速二进制输入/输出系统(BIOS)。
HDD 226和CD-ROM驱动器230通过总线240连接至SB/ICH 204。HDD 226和CD-ROM驱动器230可以使用例如电子集成驱动器(IDE)或串行高级技术附加装置(SATA)接口。超级I/O(SIO)设备236可连接至SB/ICH 204。
操作系统运行在处理单元206上,并且协调和提供在图2中的数据处理系统200中的各个组件的控制。作为客户端,操作系统可以是商业可用的操作系统,例如
Figure A20078001102900112
XP(Microsoft和Windows是微软公司在美国、其它国家或两者中的商标)。面向对象编程系统(例如JavaTM编程系统)可结合操作系统运行,并提供从数据处理系统200上执行的JavaTM编程或应用对操作系统的调用(Java是Sun Microsystems公司在美国、其它国家或两者中的商标)。
作为服务器,数据处理系统200可以是例如运行高级交互执行体(
Figure A20078001102900113
)操作系统或
Figure A20078001102900114
操作系统的
Figure A20078001102900115
eServerTM
Figure A20078001102900116
计算机系统(eServer,pSeries和AIX是国际商业机器公司在美国、其它国家或两者中的商标,而LINUX是Linus Torvalds在美国、其它国家或两者中的商标)。数据处理系统200可以是在处理单元206中包括多个处理器的对称多处理器(SMP)系统。或者,可采用单处理器系统。
将用于操作系统、面向对象编程系统和应用或程序的指令设置在存储设备(例如HDD 226)上,并且可加载到主存储器208中,用于处理单元206执行。通过处理单元206使用计算机可用程序代码执行对于示例性实施例的处理,所述计算机可用程序代码可设置在例如主存储器208、ROM224或一个或多个外围设备226和230中。
本领域普通技术人员可以理解,在图1-2中的硬件可以根据实施方式而改变。除了或代替图1-2中所示的硬件,可以使用其它内部硬件或外围设备,例如闪存、等同非易失性存储器或光盘驱动器等。此外,可对多处理器数据处理系统采用示例性实施例的处理。
在一些示例性实施例中,数据处理系统200可以是个人数字助理(PDA),其配置有闪存以提供非易失性存储器,用于存储操作系统文件和/或用户生成数据。
总线系统可包括一个或多个总线,例如,图2中所示的总线238或240。当然,总线系统可以使用任意类型通信结构或架构实现,用于提供在连接至所述结构或构架的不同组件之间传输数据。通信单元可包括用于发送和接收数据的一个或多个设备,例如图2的调制解调器222或网络适配器212。存储器可以是例如主存储器208、ROM 224或例如在图2中的NB/MCH 202中找到的缓存。图1-2中所示的实例和上述实例并没有暗示架构的限制。例如,数据处理系统200也可以是平板计算机、膝上型计算机或除了采用PDA形式之外的电话设备。
本发明实施例提供了管理多个接口的计算机实现的方法、数据处理系统和计算机程序产品。应用选择多个接口的子集。响应于所述选择,将应用与接口子集绑定,使得应用侦听接口的子集。为了将应用与接口子集绑定,该应用首先打开主套接字(socket)和用于接口子集中每个接口的子套接字。主套接字和子套接字彼此关联。主套接字还连接至应用。因此,主套接字保持激活套接字的列表,并且管理添加哪个套接字或从列表去除哪个套接字。
图3示出根据示例性实施例的具有多个接口的应用服务器。数据处理系统300是类似于图1的服务器104和106的服务器。数据处理系统300包括应用310、主套接字320、套接字330至339和网络接口340至349。应用310驻留在数据处理系统300的主存储器中,并且通过数据处理系统300的处理器执行。应用310是利用所接收的或从网络接口(例如网络接口340至349)发送的数据的任意应用。主套接字320是管理在应用310和套接字330至339之间的接口的套接字。套接字330至339连接至对应的网络接口340至349。网络接口340至349分别通过单独的互联网协议地址标识,并连接至网络,例如图1的网络102。
套接字是被设计为在网络之间发送和接收数据的软件程序。典型地,套接字连接至互联网连接的传输协议层,还已知为传输控制协议/互联网协议(TCP/IP)。为了建立套接字,必须创建或打开、绑定和侦听套接字。创建、绑定以及对功能的侦听是利用应用程序接口(API)实现的软件调用。在创建或打开阶段,识别出套接字类型和对应的协议族。在绑定阶段,将套接字映射到网络地址、端口或接口。套接字可被绑定或映射到一个网络接口或多个网络接口。示例性实施例示出将一个套接字绑定到一个网络接口。因此,在示例性实施例中,例如将套接字330绑定到网接口340,将套接字331绑定到网接口341等。在侦听阶段,套接字从与网络新建立的连接接受数据。
套接字可以与多个其它套接字关联。在示例性实施例中,关联是在传输控制协议(TCP)层的套接字之间创建通信链路的应用程序接口(API)。通信链路使得一个套接字代表其它套接字执行操作。在示例性实施例中,主套接字320与套接字330至339关联。因此,套接字330至339代表主套接字320执行请求。所述请求来自应用310。由于关联,主套接字320也可以称为母套接字,并且套接字330至339也可以称为从套接字或子套接字。
主套接字320使用关联列表来管理与套接字330至339的关联。关联列表是数据库,并且可以是连接列表、表、平面文件、散列表或其任意组合。关联列表表示与主套接字320关联或捆绑的所有套接字,例如套接字330至339。可以从关联列表去除任意套接字330至339,还已知为从主套接字320分离任意套接字330至339。此外,可通过向关联列表简单地增加,将新套接字与主套接字320关联。
在使用中,应用310执行算法,并选择与可用于应用310的网络接口的子集通信或对其进行侦听。一旦应用310识别出网络接口的子集,则应用310利用应用程序接口(API)打开、绑定和侦听,以建立主套接字和用于子集中的每个网络接口的子套接字。然后,应用310将打开套接字的列表传送到主套接字。接下来,主套接字创建关联列表,以建立在主套接字和子套接字之间的关联。在创建关联之后,应用310接受主套接字和子套接字的关联。接受功能是经由主套接字建立在应用310和子套接字之间的连接的应用程序接口(API)。
因此,在示例性实施例中,应用310选择与网络接口340至349通信,其中所述网络接口340至349是可用于应用310的网络接口的子集。然后,应用310打开主套接字320和子套接字330至339。然后,应用310向主套接字320传送将子套接字330至339打开,以与网络接口340至349通信。然后,主套接字320创建关联列表,其列出套接字340至349,并且将套接字340至349与主套接字320关联。所描述的处理使得应用310对网络接口的子集进行侦听。
示例性实施例还使得应用310自动从特定网络接口分离。自动分离指的是在建立了与网络接口的子集的连接并且主套接字与子集关联之后分离。在使用中,如果在网络接口中出现问题,则应用310可选择从网络接口分离。为了动态分离,应用310识别应用310期望分离的子套接字。然后,应用310向主套接字320传送消息,以分离所识别子套接字。主套接字320从关联列表去除子套接字,并且应用310关闭子套接字。然后,应用310从特定网络接口分离。
示例性实施例还使得应用310动态连接至特定网络接口。动态连接指的是在建立了与其它网络接口的连接并且主套接字与其它网络接口关联之后连接。在使用中,如果建立了新的网络接口,则应用310可选择增加网络接口。为了动态增加网络接口,应用310打开应用310期望通信的网络接口的子套接字。然后,应用310向主套接字320发送消息,以关联新的子套接字。主套接字320向关联列表增加新的子套接字,并且将新的子套接字与主套接字320关联。现在,应用310与新的子套接字通信。
示例性实施例还提供仅从网络接口的子集接收网络请求。典型地,应用310与可用于应用310的一个网络接口或所有网络接口连接。结果,应用310将根据连接的类型处理所有的请求。因此,如果应用310连接到一个网络接口,则应用310将处理来自一个网络接口的所有网络请求。同样,如果应用310连接到所有网络接口,则应用310将处理来自所有网络接口的所有网络请求。
然而,示例性实施例使得应用310与网络接口的子集连接。结果,应用310将仅处理来自网络接口的子集的网络请求。因此,在所示的实例中,网络接口340至349是应用310所选择的网络接口的子集。并非处理来自可用于应用310的所有网络接口的请求,示例性实施例提供了,应用310仅处理和接收来自网络接口340至349的请求。
示例性实施例还允许在主套接字以及在所选网络接口的子集中的每个网络接口处管理请求队列。请求队列是等待由应用310处理的未处理请求。所述请求以先入先出顺序处理。典型地,因为每个单独的网络接口340至349直接连接至应用310,所以对于每个单独的网络接口340至349存在单独的请求队列。因此,典型地,将不存在作为在网络接口340至349和应用310之间的中介的主套接字320。然而,示例性实施例提供了,存在作为在应用310和网络接口340至349之间的中介的主套接字320。因此,示例性实施例提供了,可对于主套接字320以及在每个独立网络接口340至349的主套接字的下游存在请求队列。
主套接字320管理在主套接字320后方的队列大小。同样,套接字330至339管理对于对应网络接口340至349的队列大小。套接字330至339将它们各自的请求转发到用于主套接字320的请求队列的末端。如果在网络接口340至349中任一个的后方存在请求队列,则套接字330至339基于先入先出转发它们各自的请求。
在使用中,驻留在主套接字320中的算法通知每个套接字330至339在什么时候主套接字320可向其队列中接收附加请求。然后,所述算法调节首先接收来自套接字330至339的哪个请求。所述算法可使用时间日期戳或多个其它替代物,以确定首先接收哪个请求。在确定了首先接收哪个请求之后,所述算法处理对于适当套接字330至339的请求,以转发该请求。然后,适当套接字330至339转发适当请求,并将该请求增加到队列的末端。
图4示出根据示例性实施例的可通过主套接字创建和使用的关联列表。表400表示在图3的数据处理系统300中所示的结构。表400是可驻留在主套接字(例如图3的主套接字320)中的表的实例。
表400包括:套接字号列410、网络接口号列420和母套接字号列430。套接字号列410是与主套接字关联的所有套接字的列表。在示例性实施例中,在套接字号列310中列出的套接字330至339与图3中所示的子套接字相同。
网络接口号列420是与套接字号列410中的对应套接字连接的网络接口的列表。在网络接口号列410中列出的网络接口表示图3的网络接口340至349。因此,网络接口号列420中的网络接口是可用于应用的所有网络接口的子集。在网络接口号列420中列出的号是对于每个网络接口的示例性互联网协议地址。示例性实施例不限于所示的互联网协议地址。网络地址的命名是本领域中普遍的和已知的。
母套接字号列430表示与每个子套接字关联的主套接字。因此,在示例性实施例中,主套接字320是子套接字330至339的母套接字。因此,主套接字320与子套接字330至339关联。
表400的行450至459列出与特定套接字关联的网络接口号列420和母套接字号列430中识别的所有信息。因此,在示例性实施例中,在行450中的套接字330与网络接口IPV 4:0.3.3.0连接。在行451中的套接字331与网络接口IPV 4:0.3.3.1连接。在行452中的套接字332与网络接口IPV4:0.3.3.2连接。在行453中的套接字333与网络接口IPV 4:0.3.3.3连接。在行454中的套接字334与网络接口IPV 4:0.3.3.4连接。在行455中的套接字335与网络接口IPV 4:0.3.3.5连接。在行456中的套接字336与网络接口IPV 4:0.3.3.6连接。在行457中的套接字337与网络接口IPV 4:0.3.3.7连接。在行458中的套接字338与网络接口IPV 4:0.3.3.8连接。在行459中的套接字339与网络接口IPV 4:0.3.3.9连接。所有套接字330至339与主套接字320关联。
在使用中,应用选择应用所希望通信的网络接口的子集。应用打开对于网络接口的子集中的每个网络接口的套接字。然后,主套接字从应用接收打开套接字列表。然后,主套接字创建关联列表,例如表400。主套接字设置表400,将套接字列表填充在套接字号列410中。主套接字还用对于套接字对应的每个网络接口的网络地址填充网络接口号列420。接下来,主套接字将其自身与关联表中的每个子套接字关联。主套接字执行将主套接字与套接字号列表410中列出的每个套接字捆绑的关联算法。然后,主套接字表示在母套接字列430中的关联。
表400不限于所示的实施例。例如,可以以另一种形式表示套接字号以及网络接口号。此外,可以从表400中去除某些信息,或在表400中包括某些信息。
图5示出根据示例性实施例在动态分离套接字之后的关联列表。表500是可驻留在主套接字(例如图3的主套接字320)中的表的实例。表500与图4的表400类似,只是表500表示在分离套接字之后的关联列表。
表500包括:套接字号列510、网络接口号列520和母套接字号列530。套接字号列510是与主套接字关联的所有套接字的列表。网络接口号列520是与套接字号列510中的对应套接字连接的网络接口的列表。母套接字号列530表示与每个子套接字关联的主套接字。表500的行550至557列出与特定套接字关联的网络接口号列520和母套接字号列530中识别的所有信息。
主套接字,即该实施例中的主套接字320从应用接收分离套接字号331和333的请求。因此,主套接字执行从套接字331和333断开主套接字的分离算法。然后,主套接字从表500去除套接字号331和333,以及与套接字号331和333关联的所有信息。在表500中反应出分离的结果。除了从表500去除套接字号331和333之外,所述应用关闭套接字331和333。在关闭套接字的同时对套接字号的去除断开应用与网络接口的通信。
图6示出根据示例性实施例的在将新的套接字与主套接字动态关联之后的关联列表。表600是可驻留在主套接字(例如图3的主套接字320)中的表的实例。表600与图4的表400类似,只是表600表示在将新的套接字与主套接字动态关联之后的关联列表。
表600包括:套接字号列610、网络接口号列620和母套接字号列630。套接字号列610是与主套接字关联的所有套接字的列表。网络接口号列620是与套接字号列610中的对应套接字连接的网络接口的列表。母套接字号列630表示与每个子套接字关联的主套接字。表600的行650至660列出与特定套接字关联的网络接口号列620和母套接字号列630中识别的所有信息。
应用打开新的套接字,即该实施例中的套接字号350。主套接字,即该实施例中的主套接字320接收关联套接字号350的请求。主套接字执行将主套接字与套接字号350捆绑的关联算法。然后,主套接字将套接字号350和用于套接字号350的所有关联信息增加到表600。在行660中反应出增加的情况。向表600增加套接字号使得应用侦听套接字号350。
图7是示出根据示例性实施例的在与网络接口的子集通信的应用中的处理的流程图。在应用(例如图3的应用310)中执行该处理。
该处理开始于,应用选择应用希望对接的网络地址(步骤700)。所选择的网络地址是可用于该应用的网络地址的子集。然后,该应用打开主套接字(步骤710)。然后,该应用打开对于该应用希望对接的每个网络地址的子套接字(步骤720)。然后,该应用将打开的子套接字列表发送到主套接字(步骤730),之后处理中止。
图8是示出主套接字中将主套接字与网络接口的子集关联的处理的流程图。在主套接字(例如图3的主套接字320)中执行该处理。
该处理开始于,主套接字接收打开的子套接字的列表(步骤800)。然后,主套接字创建打开的子套接字的关联列表(步骤810)。然后,主套接字将子套接字与主套接字关联(步骤820)。确定该应用是否希望从该列表去除子套接字(步骤830)。如果主套接字接收去除子套接字的请求(对步骤830输出“是”),则主套接字从主套接字分离子套接字(步骤840)。然后,确定该应用是否希望将子套接字增加到该列表(步骤850)。如果主套接字接收增加子套接字的请求(对步骤850输出“是”),则主套接字将新的子套接字与主套接字关联(步骤860),之后处理中止。
现在,转到步骤830,如果主套接字没有接收去除子套接字的请求(对步骤830输出“否”),则确定该应用是否希望将子套接字增加到该列表(步骤850)。如果主套接字接收增加子套接字的请求(对步骤850输出“是”),则主套接字将新的子套接字与主套接字关联(步骤860),之后处理中止。现在,转到步骤850,如果主套接字没有接收增加子套接字的请求(对步骤850输出“否”),则之后处理中止。
示例性实施例提供了管理多个接口的计算机实现的方法、数据处理系统和计算机程序产品。应用选择多个接口的子集。响应于所述选择,将应用与接口的子集绑定,使得应用侦听接口的子集。为了将应用与接口子集绑定,该应用首先打开主套接字和用于接口子集中每个接口的子套接字。主套接字和子套接字彼此关联。主套接字还连接至应用。因此,主套接字保持有源套接字的列表,并且管理添加哪个套接字或从列表去除哪个套接字。
示例性实施例允许应用仅与接口的子集通信,而并没有限制在仅一个接口或所有接口。示例性实施例还允许应用动态断开或连接至接口,而不破坏与其它接口的通信。动态断开的能力对应用提供了去除需要修理或具有其它问题的接口的能力。动态连接的能力对应用提供了从新的接口接受通信的能力。
本发明实施例可采用完全硬件实施例、完全软件实施例或包含硬件和软件元素两者的实施例的形式。本发明的优选实施例在软件中实现,所述软件包括但不限于,固件、驻留软件、微码等。
此外,本发明实施例可采用计算机程序产品的形式,所述计算机程序产品可以从提供计算机或任意指令执行系统可用或与其连接的程序代码的计算机可用或计算机可读介质访问。为了这里说明的目的,计算机可用或计算机可读介质可以是任意有形装置,可包含、存储、传递、传播或传输由指令执行系统、装置和设备可用或与其连接的程序。
介质可以是电、磁、光学、电磁、红外或半导体系统(或装置或设备)或传播介质。计算机可读介质的实例包括半导体或固态存储器、磁带、可拆卸计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘。光盘的当前实例包括压缩盘-只读存储器(CD-ROM)、压缩盘-读/写(CD-R/W)和DVD。
适用于存储和/或执行程序代码的数据处理系统包括与存储器元件直接耦合或通过系统总线与其间接耦合的至少一个处理器。存储器元件可包括在程序代码的实际执行期间采用的本地存储器、海量存储装置以及提供至少某些程序代码的临时存储以减少在执行期间必须从海量存储装置提取代码次数的高速缓存。
输入/输出或I/O设备(包括但不限于,键盘、显示器、定点设备等)可直接或通过中间I/O设备耦合至该系统。
网络适配器也可以耦合至该系统,以使得数据处理系统能够通过中间专用网络或公共网络耦合至其它数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡仅是当前可用的网络适配器的几个类型。
为了图示和说明的目的提出本发明实施例的描述,其并没有详尽或限制所公开形式的本发明实施例。许多修改和变化对于本领域普通技术人员是清楚的。

Claims (35)

1.一种管理多个接口的计算机实现的方法,所述计算机实现的方法包括:
通过应用选择所述多个接口的子集,以形成接口子集;和
响应于通过所述应用对所述多个接口的子集的选择,将所述应用与所述接口子集绑定,其中所述应用侦听所述接口子集。
2.如权利要求1所述的计算机实现的方法,还包括:
打开主套接字;和
打开用于所述接口子集中的每个接口的子套接字,其中通过所述应用打开所述主套接字和所述子套接字。
3.如权利要求2所述的计算机实现的方法,还包括:
配置所述子套接字。
4.如权利要求3所述的计算机实现的方法,其中配置所述子套接字的步骤包括:
将所述子套接字与所述接口子集中的每个接口绑定;和
将所述主套接字与所述子套接字关联。
5.如权利要求4所述的计算机实现的方法,其中将所述主套接字与所述子套接字关联的步骤包括:
将所述子套接字增加到由所述主套接字保持的关联列表;和
将所述主套接字与所述关联列表中的子套接字连接。
6.如权利要求5所述的计算机实现的方法,还包括:
从所述应用接收动态关闭所述子套接字中的一个的请求;和
响应于来自所述应用的动态关闭所述子套接字中的一个的请求,分离所述子套接字中的一个。
7.如权利要求6所述的计算机实现的方法,其中分离所述子套接字中的一个的步骤包括:
从所述关联列表去除所述子套接字中的一个。
8.如权利要求5所述的计算机实现的方法,还包括:
从所述应用接收动态增加新的子套接字的请求;和
响应于来自所述应用的动态增加新的子套接字的请求,将所述新的子套接字与所述主套接字关联。
9.如权利要求2所述的计算机实现的方法,还包括:
通过所述主套接字管理应用的请求队列;和
从所述子套接字中的一个向所述请求队列的末端转发请求,其中来自所述子套接字中的一个的请求是用于所述子套接字中的一个的请求队列中的第一请求。
10.一种管理多个接口的数据处理系统,所述系统包括:
与网络连接的应用服务器;
在应用服务器中的所述多个接口;和
在所述应用服务器中的应用,其中通过所述多个接口将所述应用与所述网络绑定。
11.如权利要求10所述的数据处理系统,还包括:
套接字,与所述多个接口中的每个接口绑定以形成子套接字;和主套接字,与每个子套接字关联,其中所述主套接字连接至所述应用。
12.一种包括计算机可用介质的计算机程序产品,所述计算机可用介质具有管理多个接口的计算机可用程序代码,所述计算机程序产品包括:
通过应用选择所述多个接口的子集以形成接口子集的计算机可用程序代码;和
响应于通过所述应用对所述多个接口的子集的选择,将所述应用与所述接口子集绑定的计算机可用程序代码,其中所述应用侦听所述接口子集。
13.如权利要求12所述的计算机程序产品,还包括:
打开主套接字的计算机可用程序代码;和
打开用于所述接口子集中的每个接口的子套接字的计算机可用程序代码,其中通过所述应用打开所述主套接字和子套接字。
14.如权利要求13所述的计算机程序产品,还包括:
配置所述子套接字的计算机可用程序代码。
15.如权利要求14所述的计算机程序产品,其中配置所述子套接字的计算机可用程序代码包括:
将所述子套接字与所述接口子集中的每个接口绑定的计算机可用程序代码;和
将所述主套接字与所述子套接字关联的计算机可用程序代码。
16.如权利要求15所述的计算机程序产品,其中将所述主套接字与所述子套接字关联的计算机可用程序代码包括:
将所述子套接字增加到由所述主套接字保持的关联列表的计算机可用程序代码;和
将所述主套接字与所述关联列表中的子套接字连接的计算机可用程序代码。
17.如权利要求16所述的计算机程序产品,还包括:
从所述应用接收动态关闭所述子套接字中的一个请求的计算机可用程序代码;和
响应于来自所述应用的动态关闭所述子套接字中的一个的请求,分离所述子套接字中的一个的计算机可用程序代码。
18.如权利要求17所述的计算机程序产品,其中分离所述子套接字中的一个的计算机可用程序代码包括:
从所述关联列表去除所述子套接字中的一个的计算机可用程序代码。
19.如权利要求16所述的计算机程序产品,还包括:
从所述应用接收动态增加新的子套接字的请求的计算机可用程序代码;和
响应于来自所述应用的动态增加新的子套接字的请求,将所述新的子套接字与所述主套接字关联的计算机可用程序代码。
20.如权利要求15所述的计算机程序产品,还包括:
通过所述主套接字管理应用的请求队列的计算机可用程序代码;和
从所述子套接字中的一个向所述请求队列的末端转发请求的计算机可用程序代码,其中来自所述子套接字中的一个的请求是用于所述子套接字中的一个的请求队列中的第一请求。
21.一种用于与网络地址的子集通信的应用的计算机实现的方法,所述计算机实现的方法包括:
通过应用识别所述网络地址的子集;
建立与所述网络地址的子集的连接;和
通过应用接受与所述网络地址的子集的连接。
22.如权利要求21所述的计算机实现的方法,其中建立与所述网络地址的子集的连接的步骤包括:
打开主套接字;和
打开用于所述网络地址的子集中的每个网络地址的子套接字,其中通过所述应用打开所述主套接字和所述子套接字。
23.如权利要求22所述的计算机实现的方法,还包括:
将所述网络地址的子集中的每个网络地址与所述子套接字绑定;和侦听所述子套接字。
24.如权利要求22所述的计算机实现的方法,还包括:
将所述主套接字与所述子套接字关联。
25.如权利要求24所述的计算机实现的方法,其中将所述主套接字与所述子套接字关联的步骤包括:
用所述子套接字填充关联列表;和
在所述关联列表中同时列出所述主套接字和所述子套接字。
26.如权利要求25所述的计算机实现的方法,还包括:
从所述应用接收动态关闭所述子套接字中的一个的请求;和
响应于来自所述应用的动态关闭所述子套接字中的一个的请求,分离所述子套接字中的一个。
27.如权利要求26所述的计算机实现的方法,其中分离所述子套接字中的一个的步骤包括:
从所述关联列表去除所述子套接字中的一个。
28.如权利要求25所述的计算机实现的方法,还包括:
从所述应用接收动态增加新的子套接字的请求;和
响应于来自所述应用的动态增加新的子套接字的请求,将所述新的子套接字与所述主套接字关联。
29.一种包括计算机可用介质的计算机程序产品,所述计算机可用介质具有用于与网络地址的子集通信的应用的计算机可用程序代码,所述计算机程序产品包括:
通过应用识别所述网络地址的子集的计算机可用程序代码;
建立与所述网络地址的子集的连接的计算机可用程序代码;和
通过应用接受与所述网络地址的子集的连接的计算机可用程序代码。
30.如权利要求29所述的计算机程序产品,其中建立与所述网络地址的子集的连接的计算机可用程序代码包括:
打开主套接字的计算机可用程序代码;和
打开用于所述网络地址的子集中的每个网络地址的子套接字的计算机可用程序代码,其中通过所述应用打开所述主套接字和所述子套接字。
31.如权利要求30所述的计算机程序产品,还包括:
将所述网络地址的子集中的每个网络地址与所述子套接字绑定的计算机可用程序代码;和
侦听所述子套接字的计算机可用程序代码。
32.如权利要求30所述的计算机程序产品,还包括:
将所述主套接字与所述子套接字关联的计算机可用程序代码。
33.如权利要求32所述的计算机程序产品,其中将所述主套接字与所述子套接字关联的计算机可用程序代码包括:
用所述子套接字填充关联列表的计算机可用程序代码;和
在所述关联列表中同时列出所述主套接字和所述子套接字的计算机可用程序代码。
34.如权利要求33所述的计算机程序产品,还包括:
从所述应用接收动态关闭所述子套接字中的一个的请求的计算机可用程序代码;和
响应于来自所述应用的动态关闭所述子套接字中的一个的请求,分离所述子套接字中的一个的计算机可用程序代码,其中分离所述子套接字中的一个的计算机可用程序代码包括:从所述关联列表去除所述子套接字中的一个指令。
35.如权利要求33所述的计算机程序产品,还包括:
从所述应用接收动态增加新的子套接字的请求的计算机可用程序代码;和
响应于来自所述应用的动态增加新的子套接字的请求,将所述新的子套接字与所述主套接字关联的计算机可用程序代码。
CNA2007800110298A 2006-04-18 2007-04-17 管理多个接口的方法和数据处理系统 Pending CN101410804A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/406,185 2006-04-18
US11/406,185 US20070245005A1 (en) 2006-04-18 2006-04-18 Method and data processing system for managing a plurality of interfaces

Publications (1)

Publication Number Publication Date
CN101410804A true CN101410804A (zh) 2009-04-15

Family

ID=38353663

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007800110298A Pending CN101410804A (zh) 2006-04-18 2007-04-17 管理多个接口的方法和数据处理系统

Country Status (6)

Country Link
US (1) US20070245005A1 (zh)
EP (1) EP2011005A1 (zh)
JP (1) JP4979762B2 (zh)
CN (1) CN101410804A (zh)
TW (1) TW200818808A (zh)
WO (1) WO2007118877A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102301650A (zh) * 2011-07-08 2011-12-28 华为技术有限公司 计算机系统中子网管理方法、总线适配器及计算机系统
CN105159102A (zh) * 2015-07-30 2015-12-16 北京京东尚科信息技术有限公司 智能家电、智能家电系统及其方法
CN110198312A (zh) * 2019-05-23 2019-09-03 北京华三通信技术有限公司 消息处理方法和装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8364850B2 (en) * 2006-07-20 2013-01-29 Qualcomm Incorporated Utility service in multi-processor environment
US8756329B2 (en) 2010-09-15 2014-06-17 Oracle International Corporation System and method for parallel multiplexing between servers in a cluster
CN102158350B (zh) * 2011-02-12 2012-11-21 华为终端有限公司 一种移动宽带设备及管理移动宽带设备的方法
US9086909B2 (en) * 2011-05-17 2015-07-21 Oracle International Corporation System and method for supporting work sharing muxing in a cluster

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5421024A (en) * 1991-04-30 1995-05-30 Hewlett-Packard Company Detection of a relative location of a network device using a multicast packet processed only by hubs
US5721876A (en) * 1995-03-30 1998-02-24 Bull Hn Information Systems Inc. Sockets application program mechanism for proprietary based application programs running in an emulation environment
US6061713A (en) * 1997-03-12 2000-05-09 Fujitsu Limited Communications system for client-server data processing systems
US6269400B1 (en) * 1998-07-22 2001-07-31 International Business Machines Corporation Method for discovering and registering agents in a distributed network
US6349341B1 (en) * 1998-07-30 2002-02-19 Advanced Micro Devices, Inc. Method and system for providing inter-tier application control in a multi-tiered computing environment
US6954784B2 (en) * 2000-08-17 2005-10-11 International Business Machines Corporation Systems, method and computer program products for cluster workload distribution without preconfigured port identification by utilizing a port of multiple ports associated with a single IP address
US6950879B2 (en) * 2001-01-24 2005-09-27 Interland, Inc. Using virtual network address information during communications
US20020143954A1 (en) * 2001-04-03 2002-10-03 Aiken John Andrew Methods, systems and computer program products for content-based routing via active TCP connection transfer
US6922727B2 (en) * 2001-06-26 2005-07-26 International Business Machines Corporation Method and system for managing parallel data transfer through multiple sockets to provide scalability to a computer network
US7080156B2 (en) * 2002-03-21 2006-07-18 Sun Microsystems, Inc. Message routing in a torus interconnect
US20040003085A1 (en) * 2002-06-26 2004-01-01 Joseph Paul G. Active application socket management
US7260599B2 (en) * 2003-03-07 2007-08-21 Hyperspace Communications, Inc. Supporting the exchange of data by distributed applications
US7263555B2 (en) * 2003-04-30 2007-08-28 International Business Machines Corporation Apparatus and method for dynamic sharing of server network interface resources
US20050125514A1 (en) * 2003-11-21 2005-06-09 Intel Corporation, A Delaware Corporation Dynamic resource allocation systems and methods
US20050165932A1 (en) * 2004-01-22 2005-07-28 International Business Machines Corporation Redirecting client connection requests among sockets providing a same service
US20050213115A1 (en) * 2004-03-29 2005-09-29 Bruce Johnson Print job system and method
ATE427601T1 (de) * 2004-07-01 2009-04-15 Alcatel Lucent Verfahren zur auswahl zwischen netzwerkschnittstellen, gerat mit mehreren netzwerkschnittstellen und verarbeitungsschicht
JP4698316B2 (ja) * 2005-07-15 2011-06-08 株式会社日立製作所 アクセスパス管理方法及びプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102301650A (zh) * 2011-07-08 2011-12-28 华为技术有限公司 计算机系统中子网管理方法、总线适配器及计算机系统
WO2012106876A1 (zh) * 2011-07-08 2012-08-16 华为技术有限公司 计算机系统中子网管理方法、总线适配器及计算机系统
CN102301650B (zh) * 2011-07-08 2014-07-09 华为技术有限公司 计算机系统中子网管理方法、总线适配器及计算机系统
CN105159102A (zh) * 2015-07-30 2015-12-16 北京京东尚科信息技术有限公司 智能家电、智能家电系统及其方法
CN110198312A (zh) * 2019-05-23 2019-09-03 北京华三通信技术有限公司 消息处理方法和装置
CN110198312B (zh) * 2019-05-23 2021-12-24 北京华三通信技术有限公司 消息处理方法和装置

Also Published As

Publication number Publication date
JP2009534728A (ja) 2009-09-24
WO2007118877A1 (en) 2007-10-25
EP2011005A1 (en) 2009-01-07
TW200818808A (en) 2008-04-16
JP4979762B2 (ja) 2012-07-18
US20070245005A1 (en) 2007-10-18

Similar Documents

Publication Publication Date Title
US8364465B2 (en) Optimizing a language/media translation map
US7783763B2 (en) Managing stateful data in a partitioned application server environment
CN101410804A (zh) 管理多个接口的方法和数据处理系统
CN101390079B (zh) 迁移拥有诸如硬件设备等资源的虚拟机
KR20100080786A (ko) 세션 유사성을 이용하는 분산 환경에서 장애조치를 처리하는 방법 및 시스템
US8250132B2 (en) Managing messages related to workflows
US8788512B2 (en) Generating data feed specific parser circuits
US8271669B2 (en) Method and system for extended steering tags (STAGS) to minimize memory bandwidth for content delivery servers
US20100064004A1 (en) Synchronizing documents by designating a local server
US9357035B2 (en) Optimizing network communications
US9154580B2 (en) Connection management in a computer networking environment
CN106878148A (zh) 时间管理式电子邮件消息
CN104811392A (zh) 用于处理网络中的资源访问请求的方法和系统
US20080086502A1 (en) Dynamic configuration of multiple sources and source types in a business process
WO2015008450A1 (en) Directory service discovery and/or learning
US20150100670A1 (en) Transporting multi-destination networking traffic by sending repetitive unicast
CN101483666B (zh) 管理j2ee和.net交互操作应用的方法和系统
US9106637B2 (en) Identification of a protocol used in a message
US11012303B2 (en) Configuration replication system
US20080133669A1 (en) Sending and receiving electronic mail using group headers
US20080270797A1 (en) Symbiotic storage devices
CN103503421A (zh) 负荷平衡系统中的sctp关联端点重定位
US20060293877A1 (en) Method and apparatus for uni-lingual workflow usage in multi-lingual data center environments
US8527650B2 (en) Creating a checkpoint for modules on a communications stream
CN1578267B (zh) 处理分组以在主机系统的网络上传送的方法、系统及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20090415