客户端-服务器系统的制作方法

文档序号:6351859阅读:128来源:国知局
专利名称:客户端-服务器系统的制作方法
技术领域
本发明涉及一种客户端-服务器系统、方法及其部件。本发明尤其涉及一种服务器系统,提供用于不同客户端设备的虚拟机。
背景技术
虚拟化系统是已知的,在服务器-客户端网络体系结构中,一个或多个中央服务器负责运行代表多个客户端设备的虚拟机。在服务器之一上运行的虚拟机为客户端设备进行大多数处理,其中,通过客户端设备向虚拟机报告用户输入事件,以及由虚拟机产生的相关联输出被回送至客户端设备,以输出至用户。因此,尽管具有较大处理能力的设备在实践上能够充当瘦客户端时可以被配置为充当瘦客户端,但是仅具有最小处理能力的设备可以 用作瘦客户端。随着移动计算和通信设备越来越流行,特别是移动(蜂窝)电话越来越流行,现在,个人在大多数时间均携带其移动设备是平常的。在使用各种近距离和/或宽范围无线和有线技术来彼此进行通信和与其它计算设备(PC、膝上型电脑、服务器等)进行通信的能力方面,这些设备越来越灵活。现今,瘦客户端和虚拟化技术允许基于用户设备简档对用户设备的虚拟化环境(例如,在虚拟机上运行的PC图像)进行动态配置和启动,从而允许对桌面进行远程访问。VMWare Inc和Citrix Systems Inc是提供这种虚拟化系统的两个公司。简档可以包括用户所属组、用户应用偏好、给定应用程序所需的处理功率、或所请求的CPU(如果多于I个CPU可用的话)等等。在初始连接建立时,用户设备访问网关(在以下描述中,称作代理网关),网关通过分析简档和负载均衡信息将用户设备指引至容宿了虚拟机的给定服务器。在访问在服务器上进行虚拟化的远程应用程序或远程操作系统方面,这种代理网关是常见的。可以基于用户简档信息和诸如服务器可用性、网络负载、可用CPU等其它信息选择服务器。在用户设备能够访问虚拟机之前,也需要准备虚拟机。在用户设备位于离容宿虚拟化环境的服务器相当近的地方,这种技术工作良好。然而,当用户设备位于离容宿虚拟化环境的服务器相当远的地方时,由于服务器与用户设备之间的距离导致的延迟和交互等待时间,而使得系统工作得不那么好。为了减轻这个问题,一些缩放解决方案包括,监视资源和服务器/网络负载,以将用户动态地指引至最适当服务器(或虚拟机)。当使用移动设备时,用户可能在不同时间点从特定地点和从另一地点进行连接。因此,在用户移动到新地理区域(因而通过了另一接入网络)之后,当用户断开连接并重新连接至其虚拟机时,最好通过选择最近服务器来降低网络路径成本。除了负载均衡技术之外,多个解决方案可以使用用户设备的地理位置来进行服务器选择。Elsevier FutureGeneration Computer Systems 2006 中,Franco Travostino 等人的题为“Seamless LiveIntegration of Virtual Machines over the MAN/WAN” 的公开更详细地描述了通过建立IP隧道来经由WAN实时迁移虚拟机的技术,该公开内容通过引用结合于此。
在不存在用户虚拟机或者还没有准备用户虚拟机的情况下,用户在连接建立期间必须对准备虚拟机加以等待。在存在用户虚拟机的情况下,可能有必要将用户虚拟机移至新选定服务器。尽管由实时迁移导致的停机时间可以相当小,但是将虚拟机迁移至选定新服务器上仍然需要时间。

发明内容
本发明的目的在于,尝试优化连接建立,使得在理想实施例中,用户可立即使用虚拟化环境。在一个实施例中,本发明使用用户设备的位置信息,以预测分布式服务器群(国家之间、或者国内、或者诸如分布式会议室之类的建筑物的办公室之间等等)上的适当虚拟化环境的配置并对其进行选择。在另一实施例中,向移动设备发送选定虚拟化环境的连接参数并将其存储在移动设备上,以及所述选定虚拟化环境的连接参数与代理网关处存储的连接参数相同步,以加速连接建立。这种对虚拟机连接参数的预先了解避免了用户必须了解所需连接细节,并优化了与虚拟机的连接建立,而不必通过代理网关建立连接。
根据一个方面,提供了一种客户端服务器系统,包括多个服务器,分布在多个不同位置,每个服务器用于容宿要由客户端设备使用的虚拟机;客户端设备,可操作用于使用在选定服务器上容宿的虚拟机;以及代理网关,可操作用于选择将对客户端设备要使用的虚拟机加以容宿的服务器;其中,代理网关可操作用于基于客户端设备的当前位置数据选择用于容宿虚拟机的服务器;以及在客户端设备请求与虚拟机相连之前,请求在所述选定服务器上建立由客户端设备使用的虚拟机。根据另一方面,提供了一种用于预先准备用户的至少一个虚拟机方法,其中,所述预先准备基于客户端设备的当前位置,其中,在代理网关选择的服务器上容宿虚拟机,以及其中,在客户端设备请求与虚拟机相连之前由代理网关进行所述准备。根据另一方面,所述方法包括存储并保持由代理网关向客户端设备发送的最新虚拟机连接参数。有利地,客户端设备在尝试与虚拟机进行下一次连接时使用连接参数,而无须需要访问代理网关。根据另一方面,本发明提供了一种代理网关,用于选择将对客户端设备要使用的虚拟机加以容宿的服务器;其中,代理网关可操作用于基于客户端设备的当前位置选择用于容宿虚拟机的服务器;以及代理网关可操作用于在客户端设备请求与虚拟机相连之前请求在选定服务器上建立由客户端设备使用的虚拟机。在一个实施例中,代理网关存储对多个服务器的位置加以限定的数据,并将客户端设备的位置数据与存储的服务器位置数据相比较,并基于比较结果选择服务器。代理网关可以选择客户端设备当前位置附近的服务器,用于容宿客户端设备的虚拟机。在优选实施例中,客户端设备的位置信息可以是地理坐标、蜂窝信息(移动国家代码、移动网络代码)、网络接入点名称(WiFi AP名称)和/或自网络接入点的估计距离
坐寸o在另一实施例中,代理网关包括用户简档数据,并向选定服务器发送用户简档数据,以建立客户端设备的虚拟机。可以直接向选定服务器发送用户简档数据,或者经由另一代理网关向选定服务器发送用户简档数据。在另一实施例中,代理网关存储对给定位置数据的选定服务器加以限定的数据,并使选定服务器与客户端设备同步。因此,代理网关也向客户端设备发送客户端设备可操作用于与选定服务器上容宿的虚拟机相连的参数。参数可以包括虚拟机的网络地址或者选定服务器的网络地址。本发明还提供一种客户端设备,可操作用于与服务器和代理网关进行通信,其中,客户端设备从代理网关接收虚拟机参数,并请求与服务器所容宿的虚拟机相连,以及其中,客户端设备在请求与虚拟机相连之前获取虚拟机参数。在一个实施例中,客户端设备包括同步模块,可操作用于保持与代理网关的最新虚拟机连接参数,以及其中,代理网关基于用户的当前位置更新连接参数。在优选实施例中,客户端设备使用存储的虚拟机连接参数,用于与虚拟机相连。如果连接失败,则客户端设备请求代理网关,以与虚拟机相连,并在与虚拟机相连之前得到虚拟机连接参数。有利地,可以在安全模块(移动设备中的加密存储区域、全球用户识别模块、或者其它安全元件)中存储并管理连接细节。本发明还提供一种服务器,与代理网关和客户端设备进行通信,服务器可操作用 于响应于从代理网关接收的请求而建立由客户端设备使用的虚拟机,以及响应于从客户端设备接收的连接请求而提供虚拟机与客户端设备之间的连接;以及其中,服务器被配置为在从客户端设备接收连接请求之前建立用于客户端设备的虚拟机。本发明还提供一种用于所有公开方法的在相应用户通信设备或网络通信设备上执行的相应计算机程序或计算机程序产品。本发明还提供用户通信设备和网络通信设备,被配置为或可操作用于实现本发明的方法和部件,以及更新这些方法和部件的方法。


通过参考附图进行描述的仅以示例给出的实施例的以下详细描述,本发明的这些和各个其它方面将变得显而易见,其中图I示意性地示出了客户端-服务器虚拟化系统,并示出了在用户设备从法国移动至日本时服务器群的改变,在客户端-服务器虚拟化系统中,移动用户设备包括瘦客户端模块,瘦客户端模块与在服务器群上运行的虚拟化软件一起工作;图2示意性地示出了通信系统,具有经由通信网络进行通信的多个客户端设备、代理网关和服务器群;图3是示出了图2所示服务器群的主要部件的框图;图4是示出了图2所示代理网关的主要部件的框图;图5是示出了图2所示客户端设备的主要部件的框图;图6示出了不同用户基于接入点/路由器与不同服务器群相连的实施例,其中,经由所述接入点/路由器,所述不同用户连接至归属地代理网关;图7是示出了图6所示设备之间的通信的信号流程图;图8示出了图6所示实施例中经由内部网络和外部网络进行的网络连接;图9是示出了代理网关能够如何实现在决定用于容宿虚拟机的服务器方面的策略控制的流程图;图10是示出了根据备选实施例进行的通信的信号流程图;图11是一个流程图,示出了代理网关能够如何实现在决定用于容宿虚拟机的服务器方面的策略控制,并示出了代理网关如何与客户端设备进行VM參数的同步;以及图12示出了客户端设备能够如何使用VM參数来访问客户端设备的虚拟机,而不必联系代理网关。
具体实施例方式ネ既要图I示意性地示出了根据本发明一个实施例的客户端服务器系统。如图所示,系统包括用户移动设备3 (例如,移动或蜂窝电话),例如当用户工作时,用户移动设备3能够与公司网络5进行通信。移动设备3包括瘦客户端模块7,当移动设备在公司网络附近吋,瘦客户端模块7能够经由归属地代理网关11和本国(在本示例中,法国)的互联网或移动网络13连接至归属地服务器群9-h。归属地服务器群9-h提供用于瘦客户端模块7的虚拟化技木。这意味着归属地服务器群9运行移动设备3的软件并向瘦客户端模块7提供i) 输出数据,瘦客户端模块将其用于向用户输出信息;和ii)输入数据,瘦客户端模块将其用于控制向在服务器群9上容宿的虚拟机返回的响应。这种虚拟化技术工作的方式对于本领域技术人员而言是公知的,此处将不对其进行更详细的描述。如箭头15所不,在该不例中,当用户移动设备3从公司网络移至日本时,移动设备3能够通过日本的互联网或移动网络17连接至归属地代理网关ΙΙ-h和归属地服务器群9-h。在这种情况下,用户将经历由用户移动设备3与归属地服务器群9-h之间的大间距所导致的上述延迟和等待时间。因此,在该实施例中,向归属地代理网关ιι-h提供关于用户移动设备3当前位置的信息,其中,归属地代理网关ΙΙ-h在用户请求访问虚拟化环境之前使用位置信息来为用户准备虚拟化环境。这种准备可以是用户的现有虚拟机转移至用户移动设备3附近的外地服务器群9-f ;或者基于归属地代理网关ΙΙ-h可用的用户简档信息在外地服务器群9-f上创建新虚拟机。随后,当用户使用其移动设备发动虚拟机,或者继续与虚拟机交互吋,移动设备直接或通过外地代理网关11ゴ与外地服务器群9-f进行这些操作。按照这种方式,系统能够提供立即可用的虚拟机。有利地,系统还避免了上述延迟和等待时间问题。在优选实施例中,还将位置信息与策略规则相结合,以确保最佳地准备虚拟化环境。例如,可以定义策略规则,使得可以仅在特定地理区域之间(例如,法国与日本之间)移动虚拟化环境。因此,如果用户经过伦敦,且即使存在可用本地服务器群9,也将不准备虚拟化环境。备选地,在大型建筑物内,服务提供商可能具有多个楼层和多个虚拟机环境,其中对于每个会议室和每个用户而言,所述多个虚拟机环境需要不同配置。根据用户位置(哪个桌子、用户附接到哪个无线接入点等),可以在用户连接设立之前基于服务策略规则自动地设立虚拟化环境。因此能够在预期所有用户位置的同时设立或移动虚拟化环境来分散网络负载,而不使用中央服务器群。按照这种方式,如果多个用户位于相同房间内,则可以在分离服务器上预先设立用户虚拟机,以避免在虚拟机全部设立在相同服务器上的情况下而可能在启动时出现的预期瓶颈。尽管图I示出了单个移动用户设备3和归属地服务器群9和外地服务器群9,但是在实践上,如图2所示,可以存在大量用户设备3和服务器群9和代理网关11。如图2所示,移动设备3经由网络21 (可以包括一部分互联网和/或移动电话网络)与代理网关11和服务器群9进行通信。代理网关11与移动设备3或网络21进行通信,以确定移动设备的位置,并基于移动设备的位置预期由服务器群9容宿的虚拟机的所需配置。然后,服务器群9与移动设备3彼此进行通信,以在移动设备3上提供适当配置的虚拟化应用程序。服务器群服务器群9基本上是计算机服务器的集合。图3示出了形成服务器群9的一部分的服务器31之一的主要部件。如图所示,服务器31包括网络通信电路33,允许服务器经由网络21与代理网关11或移动设备3进行通信。服务器31还包括一个或多个处理器35,使用网络通信电路33根据存储器37中存储的软件控制通信。如图所示,存储器37中的软件包括通信控制模块,用于控制与代理网关11和移动设备3的通信。软件还包括限定多个虚拟机43-1至43-N的软件。基于从代理网关11接收的VM配置信息43对虚拟机43进行配置。当服务器从代理网关11接收新配置信息时,服务器配置虚拟机43,使得当移动设备3请求至虚拟机的连接时,虚拟机43准备好被使用。
代理网关代理网关11基本上是网络节点(比如,服务器、路由器或开关)。图4更详细地示出了该实施例中使用的代理网关11之一的主要部件。如图所示,代理网关11包括网络通信电路53,允许与移动设备3和服务器群9的通信。代理网关11还包括一个或多个处理器55,使用网络通信电路53根据存储器57中存储的软件控制通信。如图所示,存储器57中的软件包括通信控制模块59,用于控制与代理网关11和移动设备3的通信。软件还包括瘦客户端位置模块61,用于获得移动设备3的位置信息。在给出移动设备3当前位置的情况下,网关决策模块63使用这个位置信息,以选择移动设备3要使用的代理网关11和服务器群9。网关决策模块63也基于不同服务器群9的地理位置的知识进行这种决策,其中在服务器群网络数据65中保持所述不同服务器群9的地理位置的知识。代理网关11也存储每个用户设备的用户简档数据67,以及网关设备11向选定服务器发送用户的用户简档数据,以在选定服务器上建立虚拟机。移动设备用户移动设备3可以是手持式个人数字助理(PDA)、电话、膝上型计算机等。图5示出了本实施例中使用的移动设备3的主要部件。从图5可见,移动设备3包括收发机电路17,可以操作来经由移动电话网络或计算机网络从代理网关11或服务器群9接收信号,以及向代理网关11或服务器群9发送信号。移动设备3还包括一个或多个处理器73,控制移动设备3的操作,并与收发机电路71、多个输出设备75和多个输入设备77相连。输出设备75可以包括具有扬声器的音频输出设备79、显示输出设备81和其它输出设备83 (比如,振动设备或打印机)。输入设备77包括音频输入设备85 (麦克风)、用于触敏屏幕的显示传感器87和用于提供移动设备3的当前地理位置的位置数据的GPS模块89。所述处理器73或者每个处理器73根据存储器91中存储的软件指令进行工作。如图所示,这些软件指令包括操作系统93、瘦客户端模块7和通信控制模块95,等等。存储器91也存储虚拟机(VM)參数97,虚拟机參数97定义了移动设备被编程为要使用的虚拟机。在任何给定时刻,VM參数97还包括(至少临时)对虚拟机43加以容宿的服务器群9的网络地址。响应于归属地代理网关11获得移动设备3的位置,归属地代理网关11向移动设备3提供这个网络地址。在该实施例中,移动设备3通过发送从GPS模块89输入的GPS数据来向归属地网关11提供该位置数据。然而,本领域技术人员应意识到,可以使用其它技术向归属地网关提供位置数据。例如,在移动设备3在接入点处连接至网络的情况下,接入点(或基站)的网络地址或者接入点所处的子网络的网络地址可以用于向归属地代理网关11-h提供位置信息。归属地代理网关11还可以从移动设备连接到的移动网络获得位置信息。该位置信息可以是国家代码、移动网络代码或移动设备3当前登记到的移动网络的小区ID。操作现在,将针对用户想要经由网站加入新培训课程且向培训课程进行登记的示例场景,參考图6至8描述该实施例的操作。图6是示出了该场景中使用的主要部件的框图,图7是示出了图6中所示的设备间发生的通信的信号流向图,以及图8示出了经由内部网络发 生的通信和需要经由外部网络进行通信的通信。当登记培训课程时,用户将填写一些细节,比如复杂程度、用户知识水平、用户兴趣、期望练习类型、培训类型等。用户可以使用其移动设备3执行该登记过程。在登记时,向用户提供VM參数数据97中存储的參与标识符。在归属地代理网关11-h中存储的用户简档数据67中与用户參与标识符相关联地存储由用户提供的登记信息。稍后(例如,一天或一周以后),用户抵达会议室,在会议室中,用户建立用户移动设备3与本地计算机子网络103的接入点101之间的连接。可以例如通过用户针对接入点101触摸用户移动设备来进行这个连接,使得可以使用近距离无线通信技术(比如NFC)交换无线连接參数。多个移动设备3可以连接至相同接入点,以及不同用户(可能位于不同房间或建筑物或国家等中)可以经由不同接入点101相连。在图6中对此进行了说明,图6示出了四个移动设备3-1至3-4,其中移动设备3-1和3-2(与用户A和B相关联)连接至房间I中的接入点101-1,以及移动设备3-3和3-4 (与用户C和D相关联)连接至房间2中的接入点101-2。一旦移动设备3连上接入点101,移动设备3中的瘦客户端模块7就经由宽域网105 (例如,互联网)联系归属地代理网关11-h (其地址存储在移动设备3的存储器91中)并提供用户參与标识符,从而向归属地代理网关11-h告知用户已经抵达接入点所处的会议室。归属地代理网关11-h负责管理对虚拟机43的分配。当用户访问互联网时,归属地代理网关11-h获取用户设备的位置(从移动设备3发送的位置数据或者从与移动设备3相连的特定子网络103或接入点101的网络地址获取用户设备的位置),并根据用户简档数据67中存储的用户简档数据准备用户的虚拟机43。然后,归属地代理网关11-h的网关决策模块63使用所获得的位置信息来识别应该容宿向用户提供培训课程的虚拟机43的服务器群9。作为示例移动设备A,如图6所示,考虑移动设备A连接至位于会议室I中的接入点101-1,因而归属地代理网关11确定对虚拟机43进行容宿的最佳服务器群9是外地服务器群9-fl。然后,归属地代理网关11-h向管理所标识服务器群9-Π的外地代理网关11-Π发送准备虚拟机消息。该消息标识用户并提供与用户登记时提供的信息相关的用户简档数据。外地代理网关11-Π接收该请求,并根据用户定义的登记细节在外地服务器群9-fl上建立适当虚拟机43。一旦建立了虚拟机43,则外地代理网关ΙΙ-fl就向外地服务器群9-fl发送运行指令。作为响应,外地服务器群9-fl在就绪时启动虚拟机43,井向外地代理网关发送信号。响应于接收到就绪信号,外地代理网关ΙΙ-fl向归属地代理网关9-h发送对用于用户的虚拟机43加以容宿的服务器的细节。这结束了用于在接近用户的服务器群9上建立虚拟机43的准备阶段。当所有參与者进入房间且连接至无线网络时,培训课程可以开始。此时,每个移动设备3将启动,以连接至提供培训的虚拟机43。在该实施例中,移动设备3通过向归属地代理网关9-h发送针对用户虚拟机的參数的请求来进行连接。作为响应,归属地代理网关11-h使用由相应外地代理网关ΙΙ-fl提供的參数来对请求作出响应。响应包括对用户虚拟机加以容宿的外地服务器群9-f的网络地址(或者虚拟机43自己的网络地址)。然后,移动设备使用所接收的VM參数,向相应外地服务器群9-f发送请求,以建立与移动设备的虚拟机43的连接。按照这种方式,已经准备并配置了每个用户的虚拟机43 (申请、演讲、培训课程、练习等),以及使每个用户的虚拟机43个性化(复杂程度、培训类型等)。在该示例中,重要的是应注意,仅当用户进入房间并连上接入点时才准备虚拟化环境。这避免了例如在用户基于任何原因不能够參加会议的情况下服务器群9中的服务器的额外资源消耗和功耗。从图8可见,以上描述的系统允许在紧密接近用户移动设备的地方建立虚拟机 43。在该示例中,可以通过形成本地网络的一部分的服务器群9来容宿虚拟机43。这减少了经由外部网络(由虚线表示)的流量,使得至虚拟机43的连接更快更安全。如上所提及的,除了预定策略规则之外,可以使用位置信息来对虚拟化环境进行更优化的准备。图9中示出了ー种流程图,示出了归属地代理网关11-h可以如何实现这种机制。如图所示,在步骤Si中,归属地代理网关9-h使用由用户移动设备3提供的參与标识符获取用户简档信息(在登记时从用户获得的)。然后,在步骤s3中,归属地代理网关11-h获取用户移动设备3的位置信息。在步骤s5中,归属地代理网关11-h确定所确定位置是否需要新服务器位置。如果不需要新服务器位置,则过程结束。如果需要新服务器位置,则在步骤s7中,归属地代理网关11-h检查其策略规则,并判定是否可以在新位置准备虚拟化环境。如果判定是否,则过程结束。否则,归属地代理网关ιι-h通过建立新虚拟化环境或者通过迁移现有虚拟化环境,来基于用户简档信息在新位置准备虚拟化环境。备选实施例在以上实施例中,归属地代理网关11-h获取移动设备3的位置信息,并在位于移动设备3附近的服务器群9上准备用户的虚拟机。在所述实施例中,在用户在其想要开始使用其虚拟机的时刻请求參数吋,归属地代理网关11-h传送用户虚拟机的VM參数。现在将描述第二实施例,其中,在请求VM參数之前向移动设备提供VM參数。按照这种方式,用户ー希望连接至其虚拟机,移动设备3就能够直接连接至正确VM。该方法使用户移动设备与其虚拟机相连所需的初始时间得以加速。现在,将參考图10至12描述本实施例工作的方式。具体地,图10是示出了该实施例中的不同设备之间的通信的信号流程图。如图所示,在该示例中,归属地代理网关11-h还主动监视移动设备的位置,使得归属地代理网关11-h能够获取移动设备3的位置信息,而不用等待移动设备连接至归属地代理网关11-h。归属地代理网关11-h可以通过向网络21发出信息请求以识别移动设备当前连接的接入网络或移动网络,来获取位置信息。基于该位置信息,归属地代理网关ιι-h决定适当外地网关(以与第一实施例相同的方式),井向外地网关发送用于准备用户的虚拟机的请求。外地网关ΙΙ-f和外地服务器群9-f建立虚拟机,然后向归属地代理网关11-h发送用于访问用户虚拟机的服务器參数。在该实施例中,当归属地代理网关11-h接收到这些參数吋,向移动设备发送更新消息,以对其可能已经具有的针对其虚拟机的VM參数进行更新。可以使用诸如SMS推送之类的空中技术、或者OMA设备管理方法来发送更新消息。按照这种方式,归属地代理网关可以保持移动设备中存储的VM參数与归属地代理网关11-h中存储的VM參数相同步。随后,当用户准备好请求访问其虚拟机时,移动设备3可以使用所存储VM參数97直接请求与外地服务器群9-f上的虚拟机相连,而无须与移动设备3的归属地代理网关11-h相连。图11是示出了当选择在其上运行用户虚拟机的外地服务器群9-f时归属地代理网关能够如何实现策略规则的流程图。如图11所示,除了以下步骤之外,处理与第一实施例相同在步骤Sll中,在已经获得新VM參数之后,归属地代理网关ιι-h向移动设备发送VM參数,在步骤s 13中,移动设备3接收VM參数,以及在步骤s 15中,将VM參数存储在移动设备内。
图12是示出了该实施例中移动设备3如何操作来与虚拟机相连的流程图。如图所示,在步骤s21中,用户操作其移动设备来请求与其远程应用程序的连接(例如,通过按压移动设备的用户接口上的按钮)。作为响应,在步骤s23中,通信控制模块95尝试从保持这些參数信息的存储器或者偏好管理器获取存储的VM參数97。如果存在參数,则在步骤s25中,通信控制模块95使用參数,以尝试建立与虚拟机的直接连接。如果连接失败,或者如果移动设备不具有任何存储的VM參数,则在步骤s27中,与第一实施例相同,通信控制模块95从归属地代理网关11-h请求參数。修改和备选以上已经描述了许多详细实施例。本领域技术人员应该意识到,可以在仍然受益于以上实施例中实现的发明时对以上实施例进行多种修改和改变。在以上描述的实施例中,移动设备3、代理网关11和服务器群9分别包括网络通信电路。典型地,将通过专用硬件电路形成该电路。然而,在一些实施例中,部分电路可以被实现为由相应处理器运行的软件。在以上实施例中,描述了许多软件模块。本领域技术人员应该意识到,可以以已编译或未编译的形式提供软件,并且可以经由计算机网络向移动设备3、代理网关11和服务器群9提供作为信号的软件,或者可以在记录介质上向移动设备3、代理网关11和服务器群9提供软件。此外,可以使用一个或多个专用硬件电路执行由该软件的一部分或全部执行的功能。然而,为了更新功能,软件模块的使用是优选的,原因在于其便利了对设备的更新。一个或多个模块的功能可以被组合到单个模块中,并且在一些实施例中,可以被构建到操作系统中。为了清楚目的,已经參考流程图(图7和9)顺序地描述了移动设备3、代理网关11和服务器群9的操作。然而,应该意识到,许多步骤不需要顺序地执行,而是可以与其它步骤并行地运行。还应该意识到,移动设备3、代理网关11与服务器群9之间的通信可以使用任何适当的无线或有线通信协议或关联技木。例如,相应网络通信部分可以配置为在无线电通信的情况下,使用蓝牙和/或WiFi协议进行通信,在红外线通信的情况下,使用IrDA (红外线数据组织)协议进行通信,和/或在有线通信的情况下,使用通用串行总线(USB)协议进行通信。移动设备3、代理网关11和服务器群9还可以配置为经由移动电话网络(例如,经由基站、无线电网络控制器、核心网络等)进行远距离通信,以允许远距离虚拟化。应意识到,尽管将移动设备3 描述为移动电话(例如,智能电话),但是移动设备3可以是任何适当设备,例如个人数字助理(PDA)、掌上型计算机或笔记本计算机。多种其它修改对于本领域技术人员而言将是显而易见的,在此将不对其进行更详细的描述。
权利要求
1.一种客户端服务器系统,包括 多个服务器,分布在多个不同位置,每个服务器用于容宿要由客户端设备使用的虚拟机; 客户端设备,可操作用于使用在选定服务器上容宿的虚拟机;以及 代理网关,可操作用于选择将对客户端设备要使用的虚拟机加以容宿的服务器; 其中,代理网关可操作用于i)获取对客户端设备的当前位置加以指示的位置数据;ii)基于所获得的客户端设备的位置数据和所述多个服务器的位置选择用于容宿虚拟机的服务器;以及iii)在客户端设备请求与虚拟机相连之前,请求在所述选定服务器上建立由客户端设备使用的虚拟机。
2.—种代理网关,可操作用于选择将对客户端设备要使用的虚拟机加以容宿的服务器;其中,代理网关可操作用于i)获取对客户端设备的当前位置加以指示的位置数据;ii)基于所获得的客户端设备的位置数据选择用于容宿虚拟机的服务器;以及iii)在客户端设备请求与虚拟机相连之前,请求在所述选定服务器上建立由客户端设备使用的虚拟机。
3.根据权利要求2所述的代理网关,其中,代理网关包括限定多个服务器位置的存储数据,以及代理网关可操作用于将客户端设备的位置数据与存储的服务器位置数据相比较,并基于比较结果选择服务器。
4.根据权利要求3所述的代理网关,可操作用于选择客户端设备当前位置附近的服务器来容宿用于客户端设备的虚拟机。
5.根据权利要求2至4中任一项所述的代理网关,其中,代理网关包括用户简档数据,以及代理网关可操作用于向所述选定服务器发送用户简档数据,以建立用于客户端设备的虚拟机。
6.根据权利要求I至5中任一项所述的代理网关,可操作用于向客户端设备发送在与所述选定服务器上容宿的虚拟机相连时使用的参数。
7.根据权利要求6所述的代理网关,其中,参数包括虚拟机的网络地址数据或所述选定服务器的网络地址数据。
8.根据权利要求6或7所述的代理网关,其中,代理网关可操作用于只要在与虚拟机相连时使用的参数改变,就主动向客户端设备发送所述参数。
9.根据权利要求6或7所述的代理网关,可操作用于响应于从客户端设备接收的对在与虚拟机相连时使用的参数的请求而向客户端设备发送所述参数。
10.根据权利要求2至9中任一项所述的代理网关,可操作用于从与客户端设备相连的接入网络获取客户端设备的位置数据。
11.根据权利要求10所述的代理网关,可操作用于基于客户端设备当前登记到的接入点的网络地址,或者基于客户端设备当前登记到的蜂窝网络的网络代码,来获取客户端设备的位置数据。
12.根据权利要求2至9中任一项所述的代理网关,可操作用于从由客户端设备发送的数据获取客户端设备的位置数据。
13.一种客户端设备,可操作用于与服务器和代理网关进行通信,其中,客户端设备可操作用于从代理网关接收虚拟机参数,且可操作用于请求与服务器所容宿的虚拟机相连,其中,客户端设备可操作用于在请求与虚拟机相连之前获取虚拟机参数。
14.根据权利要求13所述的客户端设备,包括通信控制模块,通信控制模块可操作用于从代理网关接收虚拟机参数数据的更新。
15.根据权利要求13或14所述的客户端设备,可操作用于请求不通过代理网关而直接与虚拟机相连。
16.根据权利要求13至15中任一项所述的客户端设备,其中,客户端设备可操作用于如果至虚拟机的初始连接请求失败则从归属地代理网关请求更新参数。
17.一种服务器,可操作用于与代理网关和客户端设备进行通信,服务器可操作用于响应于从代理网关接收的请求而建立由客户端设备使用的虚拟机,以及服务器可操作用于响应于从客户端设备接收的连接请求而提供虚拟机与客户端设备之间的连接;其中,服务器 可操作用于在从客户端设备接收连接请求之前建立用于客户端设备的虚拟机。
18.一种计算机可执行指令产品,包括计算机可执行指令,用于使得可编程计算机设备被配置为如权利要求2至12中任一项所述的代理网关,或者被配置为如权利要求12至16中任一项所述的客户端设备,或者被配置为如权利要求17所述的服务器。
19.一种代理网关执行的方法,所述方法包括 获取对客户端设备的当前位置加以指示的位置数据; 基于所获得的客户端设备的位置数据选择用于容宿虚拟机的服务器;以及 在客户端设备请求与虚拟机相连之前,请求在选定服务器上建立由客户端设备使用的虚拟机。
20.根据权利要求19所述的方法,包括 保持对多个服务器的位置加以限定的数据, 将客户端设备的位置数据与服务器位置数据相比较,以及 基于比较结果选择服务器。
21.根据权利要求20所述的方法,其中,选择步骤选择客户端设备的当前位置附近的服务器,用于容宿客户端设备的虚拟机。
22.根据权利要求19至21中任一项所述的方法,包括 保持用户简档数据,以及 向所述选定服务器发送用户简档数据,以建立用于客户端设备的虚拟机。
23.根据权利要求19至22中任一项所述的方法,包括 向客户端设备发送在与所述选定服务器上容宿的虚拟机相连时使用的参数。
24.根据权利要求23所述的方法,其中,参数包括虚拟机的网络地址数据或所述选定服务器的网络地址数据。
25.根据权利要求23或24所述的方法,包括只要在与虚拟机相连时使用的参数改变,就主动向客户端设备发送所述参数。
26.根据权利要求23或24所述的方法,包括响应于从客户端设备接收到对在与虚拟机相连时使用的参数的请求,向客户端设备发送所述参数。
27.根据权利要求19至26中任一项所述的方法,从与客户端设备相连的接入网络获取客户端设备的位置数据。
28.根据权利要求27所述的方法,基于客户端设备当前登记到的接入点的网络地址,或者基于客户端设备当前登记到的蜂窝网络的网络代码,获取客户端设备的位置数据。
29.根据权利要求19至26中任一项所述的方法,从接收自客户端设备的数据获取客户端设备的位置数据。
30.一种客户端设备执行的方法,所述客户端设备与服务器和代理网关进行通信,其中,所述方法包括 从代理网关接收虚拟机参数,以及 请求与服务器所容宿的虚拟机相连,其中, 在请求与虚拟机相连之前执行所述接收。
31.根据权利要求30所述的方法,包括 从代理网关接收虚拟机参数数据的更新。
32.根据权利要求30或31所述的方法,包括请求不通过归属地代理网关而直接与虚拟机相连。
33.根据权利要求30至32中任一项所述的方法,包括如果至虚拟机的初始连接请求失败了,则从归属地基站请求更新参数。
34.一种服务器执行的方法,所述服务器可操作用于与代理网关和客户端设备进行通信 其中,所述方法包括 响应于从代理网关接收的请求,建立由客户端设备使用的虚拟机,以及 响应于从客户端设备接收的连接请求,提供虚拟机与客户端设备之间的连接; 其中,在从客户端设备接收连接请求之前建立用于客户端设备的虚拟机。
全文摘要
描述了一种客户端-服务器系统,其中,基于客户端设备的位置选择对虚拟机加以容宿的服务器。在客户端设备请求虚拟机之前,在选定服务器上配置虚拟机。按照这种方式,客户端设备可以使用虚拟机,而具有与经由广域网使用虚拟机相关联的最小延迟和等待时间。
文档编号G06F9/46GK102713871SQ20108006234
公开日2012年10月3日 申请日期2010年11月5日 优先权日2010年1月20日
发明者弗雷德里克·福克哈存, 比诺依特·莱柯罗尔特 申请人:日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1