CN101399832B - 用于客户机-服务器网络中协作应用的方法和系统 - Google Patents

用于客户机-服务器网络中协作应用的方法和系统 Download PDF

Info

Publication number
CN101399832B
CN101399832B CN2008101492370A CN200810149237A CN101399832B CN 101399832 B CN101399832 B CN 101399832B CN 2008101492370 A CN2008101492370 A CN 2008101492370A CN 200810149237 A CN200810149237 A CN 200810149237A CN 101399832 B CN101399832 B CN 101399832B
Authority
CN
China
Prior art keywords
server
client computer
client
next client
described next
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.)
Expired - Fee Related
Application number
CN2008101492370A
Other languages
English (en)
Other versions
CN101399832A (zh
Inventor
S·M·科奥哈涅
G·F·迈克布莱蒂
S·P·穆伦
J·C·穆里洛
J·M·谢尔
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 CN101399832A publication Critical patent/CN101399832A/zh
Application granted granted Critical
Publication of CN101399832B publication Critical patent/CN101399832B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

动态地确定客户机服务器网络环境中协作应用的理想客户机服务器。理想服务器实用程序将加入的客户机的计算机系统的能力与当前客户机服务器的计算机系统的能力进行比较,以确定哪个系统被最佳地配置以控制应用的执行。每当新客户机加入/参与应用会话,理想服务器实用程序就评估新客户机(候选客户机服务器)的系统能力,并将新客户机的系统能力与当前客户机服务器的系统能力进行比较。如果新客户机具有比当前客户机服务器更好的能力,则为新客户机提供客户机服务器的角色。启动到候选客户机服务器的应用转移。一旦完成转移,应用在新客户机服务器上继续处理。

Description

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

Claims (16)

1.一种用于协作应用环境中的方法,所述协作应用环境中包括当前客户机服务器,所述客户机服务器是启动应用的客户机被赋予服务器的角色,所述方法包括:
检测到下一个客户机加入到所述协作应用环境;
比较所述当前客户机服务器系统值和所述下一个客户机系统值,所述系统值通过为一个或多个操作参数分配相对权重进行确定;
确定步骤,确定耦接到所述协作应用环境的所述下一个客户机何时具有比所述协作应用环境的所述当前客户机服务器高的所述系统值;和
转移步骤,如果所述下一个客户机具有更高的系统值,则将服务器和会话数据以及应用处理从所述当前客户机服务器转移到所述下一个客户机。
2.如权利要求1的方法,其中所述确定还包括:
检索步骤,检索所述当前客户机服务器的第一操作参数和所述下一个客户机的第二操作参数;
第一评估步骤,利用所述客户机服务器的第一操作参数评估客户机服务器系统值;
第二评估步骤,利用所述下一个客户机的第二操作参数评估下一个客户机系统值。
3.如权利要求2的方法,其中所述第一评估步骤和所述第二评估步骤包括通过为一个或多个操作参数分配相对权重,确定相应系统值,其中所述一个或多个操作参数包括中央处理单元CPU能力和网络连接参数。
4.如权利要求1的方法,还包括:
当所述下一个客户机具有比所述当前客户机服务器高的系统值时:
确定所述下一个客户机是否是可信网络的成员;
当所述下一个客户机是所述可信网络的成员时,启动到所述下一个客户机的转移;和
当所述下一个客户机不是所述可信网络的成员时,仅在从所述当前客户机服务器接收到对所述转移的批准时才使能转移。
5.如权利要求4的方法,其中所述确定所述下一个客户机是否是可信网络的成员包括下列步骤之一:
将所述下一个客户机的从属关系值与预先确定的从属关系值标尺进行比较,其中所述预先确定的从属关系值标尺包括触发所述转移的第一值;和
对照由所述当前客户机服务器所保持的可信客户机列表检查所述下一个客户机的标识符ID,以确定所述下一个客户机是否是所述可信网络的成员。
6.如权利要求4的方法,其中所述使能还包括:
在所述下一个客户机的显示器上显示选择窗口,其中所述下一个客户机可以通过所述选择窗口指示转移批准;和
检测所述选择窗口内来自所述下一个客户机的响应。
7.如权利要求1的方法,还包括:
当所述下一个客户机具有比所述客户机服务器高的系统值时:
将所述协作应用的客户机服务器功能的待决转移至少通知给所述下一个客户机;
在所述下一个客户机上触发提示,用于所述下一个客户机对启动到所述下一个客户机的转移的批准;和
仅当从所述下一个客户机接收到所述批准时,启动到所述下一个客户机的转移。
8.如权利要求1的方法,还包括:
在将所述服务器和会话代码以及数据向所述下一个客户机转移之后,暂停所述当前客户机服务器上的应用处理;和
并发地在所述下一个客户机处激活本地应用处理,从而以对正在进行中的应用会话最小的中断,提供所述应用处理的无缝转移。
9.一种用于协作应用环境中的系统,所述协作应用环境中包括当前客户机服务器,所述客户机服务器是启动应用的客户机被赋予服务器的角色,所述系统包括:
用于检测到下一个客户机加入到所述协作应用环境的装置;
用于比较所述当前客户机服务器系统值和所述下一个客户机系统值的装置,所述系统值通过为一个或多个操作参数分配相对权重进行确定;
确定装置,用于确定耦接到所述协作应用环境的所述下一个客户机何时具有比所述协作应用环境的所述当前客户机服务器高的所述系统值;和
转移装置,用于如果所述下一个客户机具有更高的系统值,则将服务器和会话数据以及应用处理从所述当前客户机服务器转移到所述下一个客户机。
10.如权利要求9的系统,其中所述确定装置还包括:
检索装置,用于检索所述当前客户机服务器的第一操作参数和所述下一个客户机的第二操作参数;
第一评估装置,用于利用所述客户机服务器的第一操作参数评估客户机服务器系统值;
第二评估装置,用于利用所述下一个客户机的第二操作参数评估下一个客户机系统值。
11.如权利要求10的系统,其中所述第一评估装置和所述第二评估装置包括用于通过为一个或多个操作参数分配相对权重,确定相应系统值的装置,其中所述一个或多个操作参数包括中央处理单元CPU能力和网络连接参数。
12.如权利要求9的系统,还包括:
当所述下一个客户机具有比所述当前客户机服务器高的系统值时:
用于确定所述下一个客户机是否是可信网络的成员的装置;
用于当所述下一个客户机是所述可信网络的成员时,启动到所述下一个客户机的转移的装置;和
用于当所述下一个客户机不是所述可信网络的成员时,仅在从所述当前客户机服务器接收到对所述转移的批准时才使能转移的装置。
13.如权利要求12的系统,其中所述用于确定所述下一个客户机是否是可信网络的成员的装置包括下列装置之一:
用于将所述下一个客户机的从属关系值与预先确定的从属关系值标尺进行比较的装置,其中所述预先确定的从属关系值标尺包括触发所述转移的第一值;和
用于对照由所述当前客户机服务器所保持的可信客户机列表检查所述下一个客户机的标识符ID的,以确定所述下一个客户机是否是所述可信网络的成员的装置。
14.如权利要求12的系统,其中所述用于当所述下一个客户机不是所述可信网络的成员时,仅在从所述当前客户机服务器接收到对所述转移的批准时才使能转移的装置还包括:
用于在所述下一个客户机的显示器上显示选择窗口的装置,其中所述下一个客户机可以通过所述选择窗口指示转移批准;和
用于检测所述选择窗口内来自所述下一个客户机的响应的装置。
15.如权利要求9的系统,还包括:
当所述下一个客户机具有比所述客户机服务器高的系统值时:
用于将所述协作应用的客户机服务器功能的待决转移至少通知给所述下一个客户机的装置;
用于在所述下一个客户机上触发提示,用于所述下一个客户机对启动到所述下一个客户机的转移的批准的装置;和
用于仅当从所述下一个客户机接收到所述批准时,启动到所述下一个客户机的转移的装置。
16.如权利要求9的系统,还包括:
用于在将所述服务器和会话代码以及数据向所述下一个客户机转移之后,暂停所述当前客户机服务器上的应用处理的装置;和
用于并发地在所述下一个客户机处激活本地应用处理,从而以对正在进行中的应用会话最小的中断,提供所述应用处理的无缝转移的装置。
CN2008101492370A 2007-09-27 2008-09-17 用于客户机-服务器网络中协作应用的方法和系统 Expired - Fee Related CN101399832B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/862,432 US8725874B2 (en) 2007-09-27 2007-09-27 Dynamic determination of an ideal client-server for a collaborative application network
US11/862,432 2007-09-27

Publications (2)

Publication Number Publication Date
CN101399832A CN101399832A (zh) 2009-04-01
CN101399832B true CN101399832B (zh) 2013-01-23

Family

ID=40509587

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101492370A Expired - Fee Related CN101399832B (zh) 2007-09-27 2008-09-17 用于客户机-服务器网络中协作应用的方法和系统

Country Status (2)

Country Link
US (1) US8725874B2 (zh)
CN (1) CN101399832B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7711847B2 (en) 2002-04-26 2010-05-04 Sony Computer Entertainment America Inc. Managing users in a multi-user network game environment
US20030217135A1 (en) 2002-05-17 2003-11-20 Masayuki Chatani Dynamic player management
US8560707B2 (en) 2007-10-05 2013-10-15 Sony Computer Entertainment America Llc Seamless host migration based on NAT type
US8131802B2 (en) * 2007-10-05 2012-03-06 Sony Computer Entertainment America Llc Systems and methods for seamless host migration
US8725874B2 (en) * 2007-09-27 2014-05-13 International Business Machines Corporation Dynamic determination of an ideal client-server for a collaborative application network
KR101422213B1 (ko) * 2007-11-23 2014-07-22 삼성전자 주식회사 단말의 능력을 기초로 역할을 설정하는 장치 및 그 방법
US8751608B2 (en) * 2008-08-28 2014-06-10 Nec Corporation Service shifting method, shift management server, terminal, service server, service shift program and service shift system
EP2428016B1 (en) 2009-05-04 2020-02-05 BlackBerry Limited System and method for implementing a transfer of control of a collaborative session using sip protocol
KR20110127907A (ko) * 2010-05-20 2011-11-28 (주)블루홀스튜디오 온라인 게임 환경에서 서버 트랜스퍼링하여 게임을 진행하는 방법, 장치, 및 기록매체
US9009212B2 (en) * 2011-06-29 2015-04-14 Cisco Technology, Inc. Optimized transfer of applications between computing environments
WO2013052068A1 (en) * 2011-10-07 2013-04-11 Intel Corporation Mechanism for employing and facilitating dynamic and remote memory collaboration at computing devices
KR102067276B1 (ko) * 2013-05-30 2020-02-11 삼성전자주식회사 어플리케이션 실행 방법 및 그 장치
US10725759B2 (en) * 2016-10-03 2020-07-28 Avaya Inc. Web application system and method to dynamically select between local installed and cloud-based resources
US10765952B2 (en) 2018-09-21 2020-09-08 Sony Interactive Entertainment LLC System-level multiplayer matchmaking
US10695671B2 (en) 2018-09-28 2020-06-30 Sony Interactive Entertainment LLC Establishing and managing multiplayer sessions
CN112804446B (zh) * 2020-12-30 2022-08-12 江苏达科信息科技有限公司 基于云平台大数据的大数据处理方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6363416B1 (en) 1998-08-28 2002-03-26 3Com Corporation System and method for automatic election of a representative node within a communications network with built-in redundancy
US6119162A (en) 1998-09-25 2000-09-12 Actiontec Electronics, Inc. Methods and apparatus for dynamic internet server selection
US6466952B2 (en) * 1999-04-08 2002-10-15 Hewlett-Packard Company Method for transferring and indexing data from old media to new media
US6542854B2 (en) * 1999-04-30 2003-04-01 Oracle Corporation Method and mechanism for profiling a system
US6957254B1 (en) 1999-10-21 2005-10-18 Sun Microsystems, Inc Method and apparatus for reaching agreement between nodes in a distributed system
US6601101B1 (en) * 2000-03-15 2003-07-29 3Com Corporation Transparent access to network attached devices
US20020165986A1 (en) * 2001-01-22 2002-11-07 Tarnoff Harry L. Methods for enhancing communication of content over a network
US7975016B2 (en) 2001-10-29 2011-07-05 Oracle America, Inc. Method to manage high availability equipments
CA2479628A1 (en) * 2002-03-28 2003-10-09 British Telecommunications Public Limited Company Method and apparatus for network security
US7447735B2 (en) 2003-07-01 2008-11-04 Motorola, Inc. Interprocessor communication protocol
US20060031510A1 (en) * 2004-01-26 2006-02-09 Forte Internet Software, Inc. Methods and apparatus for enabling a dynamic network of interactors according to personal trust levels between interactors
JP4806400B2 (ja) * 2004-05-03 2011-11-02 ノキア コーポレイション Ipネットワークの信頼できるドメインにおけるアイデンティティの処理
US8725874B2 (en) * 2007-09-27 2014-05-13 International Business Machines Corporation Dynamic determination of an ideal client-server for a collaborative application network

Also Published As

Publication number Publication date
CN101399832A (zh) 2009-04-01
US8725874B2 (en) 2014-05-13
US20090089363A1 (en) 2009-04-02

Similar Documents

Publication Publication Date Title
CN101399832B (zh) 用于客户机-服务器网络中协作应用的方法和系统
CN104137085B (zh) 集群环境中用于控制客户端对服务的访问的方法
CN100409231C (zh) 用于控制对演示数据的访问的系统和方法
CN1312607C (zh) 动态配置多用户应用的联机会话的方法
US8892628B2 (en) Administrative interface for managing shared resources
CN101501647B (zh) 计算环境中的一键通通信
US8316123B2 (en) Managing boot images in a retail store environment
CN108551765A (zh) 输入/输出隔离优化
CN104737097A (zh) 聚合当前的、依场境和/或依成员而相关的视频会议的列表
CN102739435A (zh) 作为服务的故障检测与恢复
CN104283769B (zh) 面向用户的基于感兴趣的项目的即时消息服务
CN107211046A (zh) 客户端设备与第一屏幕设备之间的发现和连接协议的互操作性
CN103369029A (zh) 本地桌面和远程虚拟桌面同步方法、系统及使用方法
US10223219B2 (en) Managing network failure using back-up networks
CN104158707A (zh) 一种检测并处理集群脑裂的方法和装置
CN110740155B (zh) 分布式系统中的请求处理方法及装置
CN101227421A (zh) 全屏图形模式下的即时通讯方法和装置
CN102662879B (zh) 基于Windows操作系统对多路外部设备的输入的处理方法及系统
US8407291B1 (en) System and method for dispensing e-Care
CN102571311B (zh) 主备切换的通讯系统和通讯方法
CN102110060A (zh) 一种管理并访问多存储区域的方法和终端
CN111884847B (zh) 用于处理故障的方法和装置
CN103179102A (zh) 一种桌面虚拟化方法、设备及系统
CN104917781B (zh) 一种云教室的实现系统、方法及服务器
JP2000215177A (ja) クライアント―サ―バシステム、サ―バ/クライアント装置、およびサ―バ/クライアントソフトウェアの管理プログラムを記録したコンピュ―タで読取可能な記録媒体

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130123

Termination date: 20200917

CF01 Termination of patent right due to non-payment of annual fee