专利名称:用于客户机-服务器网络中协作应用的方法和系统的制作方法
技术领域:
本发明 一般地涉及计算机网络系统,尤其涉及客户机-服务器计 算机网络。更具体地,本发明涉及客户机-服务器计算机网络中的客户 机-服务器确定。
背景技术:
大多数多客户机协作应用通过标准拓朴而被提供,其中在标准拓 朴中,提供专用服务器(计算机系统)来支持正被执行的应用的核心 服务器级功能。在该拓朴中,每个访问所述应用的客户机连接到该专用服务器,并且直接与该专用服务器交互。IBM Lotus Notes⑧是这种 应用的一个7>知的例子。然而,对于某些更传统的协作应用,应用依赖于以下客户机-服 务器拓朴,即通过该客户机-服务器拓朴,"客户机"计算机系统之一担 任其他客户机的"服务器"的角色,并且作为其他客户机的"服务器"而 操作。这种应用的一个例子是联机游戏。存在许多联机游戏,其中游 戏应用^皮编写为4吏得例如启动"游戏室(gameroom)"的人的计算枳^ 系统担任游戏应用的服务器的角色。另外,许多联机游戏服务器实际 上被用于将若干玩家/客户机定向到一个客户机服务器,该客户机服务 器实际上是产生(spawning) /运行游戏服务器类功能的用户/玩家的 家用PC。这些交互式软件应用通常要求客户机服务器提供某些处理和网 络连接能力,这可能给客户机服务器带来沉重的负担。使用不提供所 要求能力的客户机服务器导致应用运行于理想操作等级之下,并且负 面地影响其他客户机的体验。 参与交互环境的每个客户机可能具有不同的系统能力。因此,客 户机服务器具有比参与交互应用的其他客户机中一个或多个客户机 差的系统能力并非是不常见的。然而,由于客户机服务器是应用的服 务器级功能的启动者,所以在进行的会话过程中,客户机服务器保持 对应用的执行的控制。发明内容公开了 一种用于为客户机-服务器网络环境中的协作应用实时地 动态确定理想的客户机服务器的方法、系统和计算机程序产品。特别地,理想服务器实用程序(Ideal Server utility )将加入的客户才几的计 算机系统的能力与当前客户机服务器的计算机系统的能力进行比较, 以确定哪个系统被最佳地配备为控制应用的执行。理想服务器实用程 序首先评估应用的启动者/客户机服务器的系统能力,并且存储评估结 果。每当新客户机加入/参与应用会话时,理想服务器实用程序就评估 新客户机(候选客户机服务器)的系统能力,并且将s新客户机的系 统能力与当前客户机服务器的系统能力进行比较。如果新客户机具有 比当前客户机服务器更好的能力,则为新客户机提供客户机服务器的 角色。通过客户机服务器参数和进行中的应用数据的转移来启动应用 到候选客户机服务器的转移。 一旦完成转移,应用就在候选客户机服 务器上继续处理,其中候选客户机服务器现在是新的客户机服务器。 以进行中应用会话不可察觉的停机时间完成转移。在下面详细的描述中将会更加明了本发明的上述以及附加的目 的、特征和优点。
通过参考对示例实施例的下列详细描述,在结合附图阅读时将最 好地理解本发明自身以及其优选使用模式,其他目的和优点,其中 图1示出了可以有利地实现本发明的特征的数据处理系统; 图2示出了根据本发明一个示例性实施例的基本客户机-服务器 网络;图3示出了根据本发明一个示例性实施例的包含用于确定相对 系统值的两个客户机系统的系统值参数的示例性表格;图4示出了根据本发明一个示例性实施例的具有在批准客户机 服务器切换的处理中所使用的选择(弹出)窗口的示例性联机游戏; 和图5是一个流程图,其示出了根据本发明一个示例性实施例,理 想服务器实用程序在评估和比较计算机系统和确定何时启动客户机 服务器切换中所完成的处理。
具体实施方式
本发明提供了一种用于为客户机-服务器网络环境中的协作应 用实时地动态确定理想的客户机服务器的方法、系统和计算机程序产 品。特别地,理想服务器实用程序将加入的客户机的计算机系统的能 力与当前客户机服务器的计算机系统的能力进行比较,以确定哪个系统被最佳地配备为控制应用的执行。理想服务器实用程序首先评估应 用的启动者/客户机服务器的系统能力,并且存储评估结果。每当新客 户机加入/参与应用会话时,理想服务器实用程序就评估新客户机(候 选客户机服务器)的系统能力,并且将新客户机的系统能力与当前客 户机服务器的系统能力进行比较。如果新客户机具有比当前客户机服 务器更好的能力,则为新客户机提供客户机服务器的角色。通过客户 机服务器参数和进行中的应用数据(会话数据)的转移来启动应用到 候选客户机服务器的转移。 一旦完成转移,应用就在现在作为新的客 户机服务器的候选客户机服务器上继续处理。以进行中的应用会话不 可察觉的停机时间完成转移。在对本发明实施例的下列详细描述中,以足以使本领域技术人员 能够实现本发明的详细描述了其中可以实现本发明的特定示例性实 施例,并且应当理解,可以利用其他实施例,并且可以做出逻辑的、 体系结构的、程序的、机械的、电气的和其他的改变,而不脱离本发
明的精神或范围。因此,下面的详细描述不是限制性的,并且仅由所 附的权利要求限定本发明的范围。在附图的描述中,为相似的元素提供与前面图中相似的名称和附 图标记。如果后一个图在不同的上下文中或以不同的功能使用该元 素,则给该元素提供代表图号的不同的引导数字(例如,对于图1,为lxx;而对于图2,为2xx)。分配给元素的具体数字仅仅是为了有 助于描述而被提供的,而不意味着暗示对本发明的任何限制(结构的 或功能的)。还应当理解,特定参数名称的使用仅是示例性的,并且不意味着 暗示对本发明的任何限制。因此,本发明的实施例可以被提供以用于 描述上述参数的不同命名/术语,而没有限制。现在参考附图,图1示出了在其中可以有利地实现本发明的特征 的数据处理系统的方框图。数据处理系统(DPS) 100可以被用作客 户机服务器(例如,其执行协作/共享应用软件)或能够成为客户机服 务器的新客户机。然而,在此处的描述中,假设DPS 100是当前的客 户机服务器。DPS 100包括连接到系统总线/互连102的处理器101。同样被连 接到系统总线/互连102的存储器控制器105控制对存储器106的访 问。另一个存储设备104和输入/输出控制器(1/0控制器)115也被 连接到系统总线102,其中输入/输出控制器(I/O控制器)115控制 多个输入设备所进行的访问,其中对于输入设备,示出了鼠标120和 键盘117。 I/O控制器115还控制对输出设备的访问,其中对于输出 设备,示出了显示器118。为了支持可移动存储介质的使用,I/O控 制器115还可以支持诸如USB (通用串行总线)端口 121这样的一个 或多个端口和诸如压缩盘读/写(CDRW) /数字浮见频盘(DVD)驱动 器这样的介质驱动器119。DPS 100还包括网络接口设备(NID) 125,其中通过网络接口 i殳备(NID)125, DPS 100能够经由网络(诸如互联网(Internet)) 而与外部设备(诸如客户机)连接和通信。NID 125可以是调制解调
器或网络适配器,并且还可以是无线收发设备。DPS100包括用于支 持经由NID 125的网络连接和通信的软件和固件机制。本领域普通技术人员应当理解,图1中示出的硬件可以改变。例 如,还可以使用其他外围设备,诸如光盘驱动器等,来作为所示出的 硬件的补充或替换。因此,所示出的例子不意味着暗示对于本发明的 体系结构限制。图1示出的数据处理系统例如可以是纽约Armonk的 国际商业机器公司的产品运行高级交互执行体(AIX)操作系统或 LINUX操作系统的IBM eServer pSeries系统。本发明的各种特征被提供作为存储在存储器106或其他存储设 备104内并且由一个或多个处理器101执行的软件代码。因此,如图 l所示,除了上述硬件组件之外,DPS 100还包括多个软件组件,包 括操作系统(OS) 108 (例如,Microsoft 7>司的注册商标Microsoft \¥11^0\¥8@或自由软件基金会和Linux标记组织的注册商标 GNU /LinUX )以及一个或多个软件应用和/或实用程序。这些软件应 用和实用程序当中有U)协作应用软件指令APP112,其包括(b) 用于提供应用的客户机服务器功能的软件指令,服务器和会话代码/ 数据114,并且更特定于本发明的(c)用于使能下面所述的理想服务 器确定特征的软件指令。为了简单起见,用于使能理想服务器确定特 征的代码的总体在这里被称为理想服务器实用程序110。在实际实现 中,理想服务器实用程序110是当DPS 100被确定为正执行协作软件 应用的客户机服务器时,在DPS 100上执行的协作应用(APP112) 内的子例程。在一个可替换实施例中,理想服务器实用程序IIO可以 是安装在客户机-服务器网络环境内 一个或多个客户机上的独立的软 件应用。协作应用允许客户机-服务器网络中的用户参与正在进行中的会 话。因此,在会话过程中,新用户/参与者可以在各个时刻加入会话。 另外,应用具有允许客户机服务器和客户机在活动应用执行过程中切 换关系的能力(通过理想服务器实用程序110)。应用软件例如可以 是联机游戏或在线聊天室。参与应用会话的每个客户机系统在各自客
户机系统上加载某基本软件(其使能应用的执行)之后被允许作为参 与者。客户机服务器具有服务器和会话数据,并且执行处理,以使得 能够在兼容的客户机系统上进行会话(以基本应用软件)。在操作过程中,OS 108、 APP 112和理想服务器实用程序110 位于存储器106内,并且在处理器(CPU) 101上被执行。根据该说 明性实施例,当DPS 100作为客户机服务器操作时,APP112提供服 务器和会话代码/数据114。另外,当处理器101执行理想服务器实用 程序110时,理想服务器实用程序110使得DPS 100能够完成一系列 功能处理,包括(1)评估DPS100和通过客户机-服务器网络连接 到DPS 100的新客户机计算机系统的能力;(2)确定新客户机系统 是否具有比DPS 100更好的操作能力(处理能力和网络带宽等)来控 制APP 112的执行;(3)当新客户机系统被确定为具有更好的操作 能力时,将用于APP 112的服务器和会话代码/数据114从DPS 100 转移到新客户机系统;以及由图2-5所示并在下面描述的其他特征/ 功能。图2示出了根据本发明一个示例性实施例的客户机-服务器网络。 客户机-服务器网络205包括客户机服务器200 (假设为DPS 100), 其中客户机服务器200经由网络201连接到客户机2 202和"新"客户 机3 203 。客户机2 202和客户机3 203 二者都可以是与DPS 100类似 配置的计算机系统,但是具有与客户机服务器100不同的操作特性/ 参数(例如,处理能力和/或速度和网络连接带宽)。新客户机3 203 代表协作应用环境内最近连接的客户机。网络205例如可以是诸如Internet这样的广域网(WAN )或诸 如以太网这样的局域网(LAN)。在网络205中,客户机服务器200 为其他客户机(202、 203 )提供协作应用。理想服务器实用程序110 在客户机服务器200内执行,并且使得能够确定加入正在进行中的客 户机-服务器协作软件应用会话的新客户机(例如,客户机3 203 )是 否具有比当前客户机服务器系统值更高的计算机"系统值"(在图3中 描述)。在下面的描述中,客户机服务器200被称为"当前,,客户机服
务器系统,以将客户机服务器200与"候选"客户机服务器系统(诸如 新客户机3 203)区别开。在客户机-服务器协作软件应用环境中,启动应用的客户机被赋 予服务器的角色(可能通过客户机可访问的应用Web站点),并且 被称为客户机服务器。Web站点所接收的对于客户机参与应用的任何 后续客户机请求被定向到客户机服务器。只要参与者的数目不超过某 个值,Web站点继续将会话请求重定向到客户机服务器。Web站点 和/或客户机服务器启动基本应用软件的下载,以允许发出请求的客户 机参与应用会话。 一旦发出请求的客户机已经加载了基本软件,则发 出请求的客户机被允许加入会话。根据所述实施例,如果在新客户机加入应用的正在进行中的会话时,新客户机具有更好的系统能力(即, 更好的系统值),则客户机-服务器协作应用会话中的客户机可以接管 客户机服务器的角色。根据客户机的操作参数确定客户机的系统值。图3示出了用于客 户机服务器200和新客户机3 203 二者的操作参数的示例性表格。评 估这些系统值,以确定这两个系统中哪一个具有更好的能力来执行当 前正在客户机服务器200上执行的特定协作应用的客户机服务器角色 /功能。当新客户机的系统值高于客户机服务器的系统值时,在(服务 器和会话代码、数据和处理)转移之后,新客户机系统被分配以客户 机服务器的角色。转移可能需要由当前客户机服务器和新客户机(候 选客户机服务器)之一或二者的批准。 一旦完成转移,新客户机,即 现在的新客户机服务器系统,继续协作应用的服务器级处理,并且使其他客户机能够连接到正在进行中的应用会话。根据本发明的该示例性实施例,图3的表格包含由理想服务器实 用程序IIO用以确定相对系统值的系统值参数。表格300包括当前客 户机服务器表301和新客户机表302。每个表包括多个参数,这些参 数中的下述参数被提供用于说明(l)存储器大小;(2)存储容量; (3) CPU速度;(4)网络连接类型;(5)网络连接速度;和(6) 从属关系(affiliation),系统值的确定可以将上述系统值参数中的一
个或多个表示为因子(factor)。例如,在确定网络连接值时,如果 客户机经由拨号调制解调器连接到网络,则相比于经由Tl或T3线路 连接的客户机,该客户机被分配以低的网络值。如表300内所提供的, 新客户机表302的参数中的几个参数具有比客户机服务器表301中的 类似参数更好的值。客户机服务器的相对系统值是7,而新客户机的 系统值是8.5。因此,由于新客户机具有比客户机服务器更好/更高的 相对系统值,所以新客户机会被选择作为新的客户机服务器。表301和302的从属关系表项涉及在协作应用环境中可以被作为 客户机服务器的预先建立的"安全,,或"可信,,客户机系统分组。从属关 系值指示客户机是否是当前客户机服务器的朋友的可信网络的成员。 客户机可以通过其系统的IP (网际协议)地址或用户注册、或某些其 他形式的标识符来唯一地标识。客户机服务器保持这些可信客户机系 统的列表。对于最初启动应用的客户机服务器,从属关系值不是必需 的,或者可以可替换地在最高等级被赋值。然而,原始客户机服务器 (以及随后的客户机服务器)可以提供可信朋友的列表,以使得能够 随后确定候选客户机服务器是否是可信成员(affiliate)或朋友。在一个实施例中,客户机服务器上的理想服务器实用程序114 限制将服务器代码/数据转移到在可信客户机系统的列表内未被标识 的新客户机。如图3所示,两个表都通过具有从属关系值"l,,而指示 客户机服务器(例如,图2的客户机服务器200)和新客户机(例如, 图2的新客户机3 203)在相同可信网络内。因此,可以完成客户机 服务器功能到具有更高系统值的新客户机的转移。在另 一个实施例 中,当新客户机不在可信客户机系统的网络内时,客户机服务器可以 接收到指示在网络内存在新客户机的提示。然后,客户机服务器的用 户可以确定是否使客户机服务器功能的转移能够发生。因此,不同的 从属关系级别指示不同的转移选项,其范围从(a)完全立刻转移而 不通知到(b)防止/阻止任何转移。现在转到图4,其示出了作为可以通过其来有利地应用本发明特 征的示例性协作应用的联机游戏应用的图形用户接口 (GUI)的方框 图表示。显示窗口 400包括游戏面板401,它是运行在客户机服务器 200 (图2)上的联机游戏应用(会话)中的参与者所看到的GUI (图 形用户接口 )的例子。在理想服务器实用程序110开始将服务器和会话代码/数据以及 应用处理转移到具有更高系统值(即,更好的操作能力)的客户机系 统之前,理想服务器实用程序IIO启动一个过程,以确定候选客户机 服务器(例如图2的客户机3 203 )是否批准应用数据和处理从当前 客户机服务器200转移到候选客户机服务器(203 )。在所示实施例 中,在候选客户机服务器的显示器上提供选择窗口 402,它可以是弹 出窗口。 一旦选择窗口 402被选择,在允许继续转移过程之前,提示 候选客户机服务器以指示(通过选择选择窗口 402内的"是,,选项)批 准或认可客户机服务器切换。在这个实施例中,仅要求候选客户机服 务器的批准,并且仅有候选客户机服务器接收批准选择窗口 402。例 如,在完成转移的过程中或之后的某个时刻,可以经由第二弹出窗口 410将转移通知给原始客户机服务器。 一旦转移已经完成,则释放前 客户机服务器的资源。在一个实施例中,还提示当前客户机服务器(例如,图2的客户 机服务器200 )批准转移。在新客户机不是客户机系统的可信网络的 成员的情况下,或在值得进行这种批准的其他情况下,可能要求这种 4比准。选择窗口 402在显示窗口 400内的位置可以在显示窗口 400的 一个角落中或在显示窗口 400的底部处,以在转移通知被显示在各个 客户机设备上时最小化应用界面的重叠。因此,当前客户机服务器或 候选客户机服务器的用户可以在决定是否允许转移的同时,继续与应 用会话交互。图5示出了根据本发明一个示例性实施例,理想服务器实用程序 在评估和比较计算机系统以及确定何时发生客户机服务器切换中所 完成的过程。过程在方框501开始,其中一个用户启动客户机服务器 协作应用,该用户的计算机最初作为应用的客户机服务器。在方框 502,理想服务器实用程序评估能力,计算/确定客户机服务器的系统
值,并且存储客户机服务器的系统值。过程在方框503继续,其中理想服务器实用程序110检测到客户 机加入客户机服务器应用环境的正在进行中的会话。如方框504所示, 理想服务器实用程序通过使用与用于确定客户机服务器的系统值(在 上面的方框502 )的那些参数类似的参数,并且分配相对值,而确定 新客户机的系统值。通过使用客户机服务器系统值和客户机系统值, 理想服务器实用程序110然后在方框505确定新客户机系统是否具有 比当前客户机服务器更高的系统值(即,对于执行应用是否是"更好 的客户机服务器系统")。如果在方框505中,客户机值不高于客户 机服务器值,则过程前进到方框512,其中应用继续在当前客户机服 务器上执行,并且理想服务器实用程序继续监视正在进行中的应用会 话中的新客户机。然而,当新客户机的系统值高于客户机服务器的系统值时,理想 服务器实用程序110确定新客户机是否是客户机服务器的可信朋友网 络的成员,如方框506中所示。如果客户机是客户机服务器的可信朋 友,则理想服务器实用程序IIO提供出现在新客户机(候选客户机服 务器)的显示器上的选择(弹出)窗口,如方框507所示。因此,在 理想服务器实用程序IIO准备开始将服务器和会话数据以及应用处理 从当前客户机服务器转移到候选客户机服务器(具有更高的系统值, 并且是可信朋友网络的成员)的同时,理想服务器实用程序IIO在方 框508确定候选客户机服务器是否已经批准转移。如上面(图4)提 供的,候选客户机服务器可以经由选择窗口来指示对转移的批准。如 果在方框508,候选客户机服务器批准转移(通过选择选择窗口内的 "是,,),则通知被提供(给一个或多个客户机),以指示服务器转移 正在进行,如方框509所示。如方框510所示,服务器和会话代码和 数据以及应用处理被转移到候选客户机服务器。在后台完成应用处理 的转移,而没有任何明显的操作暂停,这使得能够将应用处理无缝地 转移到候选客户机服务器。因此,如果有任何中断的话,会话中的用 户体验到最小的中断。
在一个可替换的实施例中,在转移过程中,应用处理被挂起,直 到到候选客户机服务器的服务器和会话代码以及数据的转移已经完 成。在候选客户机服务器(现在是现行的/当前的客户机服务器)处启动应用处理,并且向一个或多个客户机通知转移的完成,如方框511 所示。 一旦候选客户机服务器被确定为现行/当前客户机服务器,客户 机服务器内的理想服务器实用程序被启动,并且如方框512所示,现 行/当前客户机服务器的理想服务器实用程序开始监视,以当新客户机 连接到正在进行中的应用会话时检测新客户机。在上面的流程图(图5)中,虽然以特定顺序描述和示出了过程 步骤,但是对特定步骤顺序的使用不意味着暗示对本发明的任何限 制。可以对步骤顺序进行改变,而不脱离本发明的精神或范围。因此, 对特定顺序的使用不是限制性的,并且仅由所附的权利要求限定本发 明的范围。作为最后一个问题,重要的是,虽然已经并且将继续在具有被安 装软件的全功能计算机系统的上下文中描述本发明的示例性实施例, 但是本领域的技术人员应当理解,本发明的示例性实施例的软件方面 能够作为各种形式的程序产品而被分发,并且不论用于实际执行分发 的信号承载介质的具体类型如何,本发明的示例性实施例等同地适 用。信号承载介质的例子包括可记录类型介质,诸如软盘、硬盘驱动 器、CDROM;和传输类型介质,诸如数字和模拟通信链路。虽然已经参考优选实施例具体地示出并且描述了本发明,但是本 领域的技术人员应当理解,可以在形式和细节方面进行各种改变,而 不脱离本发明的精神和范围。
权利要求
1. 一种方法,包括确定步骤,确定耦接到协作应用环境的下一个客户机何时具有比所述协作应用环境的当前客户机服务器高的系统值;和转移步骤,如果所述下一个客户机具有更高的系统值,则将服务器和会话数据以及应用处理从所述当前客户机服务器转移到所述下一个客户机。
2. 如权利要求1的方法,其中所述确定还包括 检索步骤,检索所述当前客户机服务器的第一操作参数和所述下一个客户机的第二操作参数;第 一评估步骤,利用所述客户机服务器的第 一操作参数评估客户 机服务器系统值;第二评估步骤,利用所述下一个客户机的第二操作参数评估下一个客户机系统值;以及比较步骤,比较所述当前客户机服务器系统值和所述下一个客户 才几系统值。
3. 如权利要求2的方法,其中所述第一评估步骤和所述第二评估 步骤包括通过为一个或多个操作参数分配相对权重,确定相应系统 值,其中所述一个或多个操作参数包括CPU(中央处理单元)能力和 网络连接参数。
4. 如权利要求1的方法,还包括当所述下 一个客户机具有比所迷当前客户机服务器高的系统值时确定所述下一个客户机是否是可信网络的成员; 当所述下一个客户机是所述可信网络的成员时,启动到所述下一 个客户机的转移;和当所述下一个客户机不是所述可信网络的成员时,仅在从所述当 前客户机服务器接收到对所述转移的批准时才使能转移。
5. 如权利要求4的方法,其中所述确定包括下列步骤之一 将所述下一个客户机的从属关系值与预先确定的从属关系值标尺进行比较,其中所述预先确定的从属关系值标尺包括触发所述转移 的第一值;和对照由所述当前客户机服务器所保持的可信客户机列表检查所 述下一个客户机的标识符(id),以确定所述下一个客户机是否是所 述可信网络的成员。
6. 如权利要求4的方法,其中所述使能还包括 在所述下一个客户机的显示器上显示选择窗口,其中所述下一个客户机可以通过所述选择窗口指示转移批准;和检测所述选择窗口内来自所述下一个客户机的响应。
7. 如权利要求1的方法,还包括当所述下一个客户机具有比所述客户机服务器高的系统值时将所迷协作应用的客户机服务器功能的待决转移至少通知给所 述下一个客户机;在所述下一个客户机上触发提示,用于所述下一个客户机对启动 到所述下一个客户才几的转移的批准;和仅当从所述下一个客户机接收到所述批准时,启动到所述下一个 客户机的转移。
8. 如权利要求1的方法,其中所述完成还包括 在将所述服务器和会话代码以及数据向所述下一个客户机转移之后,暂停所述当前客户机服务器上的应用处理;和并发地在所述下一个客户机处激活本地应用处理,从而以对正在 进行中的应用会话最小的中断,提供所述应用处理的无缝转移。
9. 一种数据处理系统,包括 处理器,所述处理器执行协作应用;耦接到所述处理器的存储器系统,所述存储器系统存储所述协作 应用的代码和数据;网络连接机制,用于在协作应用环境内将一个或多个客户机计算 机系统耦接到所述数据处理系统;确定装置,用于确定耦接到所述协作应用环境的下一个客户机何 时具有比当前客户机服务器高的系统值的装置;和用于如果所述下一个客户机具有更高的系统值,则将服务器和会 话数据以及应用处理从所述当前客户机服务器转移到所述下一个客 户机的装置。
10. 如权利要求9的数据处理系统,其中所述确定装置还包括 用于检索所述当前客户机服务器的第一操作参数和所述下一个客户机的第二操作参数的装置;用于第一评估的装置,利用当前客户机服务器的第一操作参数评 估客户机服务器系统值;用于第二评估的装置,利用所述下一个客户机的第二操作参数评估下一个客户机系统值;其中,所述第 一评估和所述第二评估包括通过为 一个或多个操作 参数分配相对权重,确定相应系统值,所述一个或多个操作参数包括 CPU (中央处理单元)能力和网络连接参数,以及用于将所述当前客户机服务器系统值与所述下一个客户机系统 值进行比较的装置。
11. 如权利要求9的数据处理系统,还包括当所述下一个客户机具有比所述客户机服务器高的系统值时 用于确定所述下一个客户机是否是可信网络的成员的装置; 用于当所述下一个客户机是所述可信网络的成员时,启动到所述 下一个客户机的转移的装置;和当所述下一个客户机不是所述可信网络的成员时,用于仅当从所 述当前客户机服务器接收到对所述转移的批准时,才使能所述转移的 装置,其中所述用于使能的装置还包括用于在所述下一个客户机的显示器上显示选择窗口的装置,其中 所述下一个客户机可以通过所述选择窗口指示转移批准;和用于检测所述选择窗口内来自所述下一个客户机的响应的装置。
12. 如权利要求11的数据处理系统,其中所述用于确定所述下一 个客户机是否是可信网络的成员的装置包括下列装置之一用于将所述下一个客户机的从属关系值与预先确定的从属关系 值标尺进行比较的装置,所述预先确定的从属关系值标尺包括触发所 述转移的第一值;和用于对照由所述当前客户机服务器保持的可信客户机列表检查 所述下一个客户机的标识符(ID),以确定所述下一个客户机是否是 所述可信网络的成员的装置。
13. 如权利要求9的数据处理系统,还包括当所述下一个客户机具有比所述客户机服务器高的系统值时用于将所述协作应用的客户机服务器功能的待决转移至少通知 给所述下一个客户机的装置;用于在所述下一个客户机上触发提示,用于所述下一个客户机对 启动到所述下一个客户机的转移的批准的装置;和用于仅当从所述下一个客户机接收到所述批准时,启动到所述下 一个客户机的转移的装置。
14. 如权利要求10的数据处理系统,其中所迷用于完成的装置还包括用于在将所述服务器和会话代码以及数据向所述下一个客户机 转移之后,暂停所述当前客户机服务器上的应用处理的装置;和用于并发地在所述下一个客户机处激活本地应用处理,从而以对 正在进行中的应用会话最小的中断,提供所述应用处理的无缝转移的 装置。
全文摘要
动态地确定客户机服务器网络环境中协作应用的理想客户机服务器。理想服务器实用程序将加入的客户机的计算机系统的能力与当前客户机服务器的计算机系统的能力进行比较,以确定哪个系统被最佳地配置以控制应用的执行。每当新客户机加入/参与应用会话,理想服务器实用程序就评估新客户机(候选客户机服务器)的系统能力,并将新客户机的系统能力与当前客户机服务器的系统能力进行比较。如果新客户机具有比当前客户机服务器更好的能力,则为新客户机提供客户机服务器的角色。启动到候选客户机服务器的应用转移。一旦完成转移,应用在新客户机服务器上继续处理。
文档编号H04L12/28GK101399832SQ20081014923
公开日2009年4月1日 申请日期2008年9月17日 优先权日2007年9月27日
发明者G·F·迈克布莱蒂, J·C·穆里洛, J·M·谢尔, S·M·科奥哈涅, S·P·穆伦 申请人:国际商业机器公司