用户状态的地理迁移的制作方法

文档序号:7860469阅读:197来源:国知局
专利名称:用户状态的地理迁移的制作方法
技术领域
本发明涉及远程数据处理,尤其涉及用户状态的地理迁移。
背景技术
一种日渐流行的联网形式一般可被称为远程呈现系统,该系统能使用诸如远程桌面协议(RDP)以及独立计算体系结构(ICA)之类的协议来与远程客户机共享桌面和在服务器上执行的其他应用。云计算指的是用于实现对计算资源的共享池的按需网络访问的计算环境。许多云计算服务涉及诸如上文所述的那些虚拟化资源,并且可以采取用户能够通过web浏览器来访问和使用的基于web的工具或应用的形式,就好像它们是本地地安装在用户自己的计算机上的程序那样。为此类系统的用户所存储的数据通常被主存在位于计算数据中心内的计算系统内。可选择此类数据中心的位置来提供从远程呈现系统的用户对数据·的方便访问。

发明内容
在许多情况下,远程呈现系统和云计算系统的用户从不同位置访问系统。用户可改变他们访问本地化区域内的系统的位置,所述本地化区域诸如涵盖用户家庭和工作场所的区域。然而,用户有时出于商业或娱乐的目的而长距离旅行,并且可从离他们通常的访问区域很远距离的位置来访问系统。有时,用户旅行到其他国家或大洲,并且由于主存远程呈现系统的数据中心的距离而导致传播延迟。此外,其他因素可能致使中断或延迟,诸如差错和差错恢复、拥塞、以及是否涉及卫星传送。此处公开了用于基于用户位置在数据中心之间移动所存储的用户状态的方法和系统。用户状态可由用户或管理员手动移动,或者基于用户状态中包含的使用数据被自动移动。在一实施例中,用户可指示要从他们家的位置外出旅行的计划。基于这一信息,系统确定用户状态要被定位的合适的数据中心。在另一实施例中,系统可基于用户指示的位置来选择向用户提供所需带宽的数据中心。管理员可提供可被用来确定用户状态的位置的附加参数。在又一实施例中,系统可使用用户状态中包含的信息来确定用户状态信息的位置。


参考附图来进一步描述根据本说明书的用于提供对远程用户会话的访问的系统、方法和计算机可读介质,在附图中图1描绘了其中可实现本公开的各方面的示例计算环境。图2描绘了其中可实现本公开的各方面的示例计算环境。图3描绘了包括数据中心的示例计算环境。图4描绘了数据中心的操作环境。图5描绘了用于实施本公开的各方面的操作环境。图6示出了用于实施此处所公开的某些方法的示例体系结构。
图7示出了描绘此处所公开的某些方法的示例框图。图8示出了描绘云数据服务的计算组件的示例框图。图9示出了描绘云数据服务的存储组件的示例框图。图10示出了描绘云数据服务的结构控制器组件的示例框图。图11示出了描绘云数据服务的⑶N组件的示例框图。图12示出了描绘云数据服务的连接组件的示例框图。图13示出了此处所公开的方法的示例实施例。图14示出了此处所公开的方法的示例实施例。图15示出了地理位置场景的示例实施例。图16示出了用户数据装载场景的示例实施例。图17示出了用于实施本公开的各方面的操作过程的示例。图18示出了用于实施本公开的各方面的示例系统。
具体实施例方式在以下描述和附图中阐明了某些具体细节,以提供对本公开的各个实施例的全面 理解。通常与计算和软件技术相关联的某些公知细节不在以下公开中描述,以避免不必要 地使本公开的各实施例晦涩难懂。此外,相关领域的普通技术人员会理解,他们可以无需以 下描述的细节中的一个或多个而实现本公开的其它实施例。最后,尽管在以下公开中参考 了步骤和序列来描述各个方法,但是如此的描述是为了提供本公开的实施例的清楚实现, 且步骤以及步骤序列不应被认为是实现本公开所必需的。应该理解,此处描述的各种技术可以结合硬件或软件,或在适当时结合两者的组 合来实现。因此,本公开的方法和装置或其某些方面或部分,可以采用包含在诸如软盘、 CD-ROM、硬盘驱动器或任何其它机器可读存储介质等有形介质中的程序代码(S卩,指令)的 形式,其中,当程序代码被加载至诸如计算机等机器并由其运行时,该机器成为用于实现本 公开的装置。在程序代码在可编程计算机上执行的情况下,计算设备通常包括处理器、该处 理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备、 以及至少一个输出设备。一个或多个程序可以例如,通过使用应用编程接口(API)、可重用 控件等来实现或利用结合本公开所描述的过程。这样的程序优选地用高级过程语言或面向 对象编程语言来实现,以与计算机系统通信。然而,如果需要,该程序可以用汇编语言或机 器语言来实现。在任何情形中,语言可以是编译语言或解释语言,且与硬件实现相结合。远程桌面系统是维护可由客户端计算机系统远程地执行的应用的计算机系统。输 入是在客户计算机系统处被输入的,并通过网络(例如,使用基于国际电信联盟(ITU)T. 120 系列协议等协议,如远程桌面协议(RDP))传送到终端服务器上的应用。该应用如同该输入 是在终端服务器处输入的那样来处理该输入。该应用响应于所接收到的输入来生成输出, 并且通过网络将该输出传送到客户端。各实施例可在一个或多个计算机上执行。图1及以下讨论旨在提供可在其中实现 本发明的合适计算环境的简要概括描述。本领域的技术人员可以理解,计算机系统200、300 可具有相对于图1的计算机100描述的组件中的一部分或全部。贯穿本公开使用的术语电路可包括诸如硬件中断控制器、硬盘驱动器、网络适配器、图形处理器、基于硬件的视频/音频编解码器等硬件组件,以及用于操作这些硬件的固件/软件。术语电路还可包括被配置成通过固件或通过开关集来以特定方式执行功能的微处理器,或一个或多个逻辑处理器,例如,多核通用处理单元的一个或多个核。此示例中的逻辑处理器可以通过从存储器,例如,RAM、ROM、固件和/或虚拟存储器中加载的体现可操作以执行功能的逻辑的软件指令来配置。在其中电路可包括硬件和软件的组合的示例实施例中,实现者可以编写具体化逻辑的源代码,该源代码随后被编译成可由逻辑处理器执行的机器可读代码。因为本领域技术人员可以明白,现有技术已经进化到硬件、软件或硬件/软件的组合之间几乎没有差别的地步,因而选择硬件还是软件来实现功能只是一个设计选择。因此,由于本领域的技术人员可以理解软件进程可被变换成等效的硬件结构,且硬件结构本身可被变换成等效的软件进程,因此选择硬件实现或是软件实现是无足轻重的且留给了实现者。图1描绘了以本公开的各方面来配置的计算系统的示例。计算系统可包括计算机20等等,其中包括处理单元21、系统存储器22,以及将包括系统存储器在内的各种系统组件耦合到处理单元21的系统总线23。系统总线23可以是若干类型的总线结构中的任一 种,包括使用各种总线体系结构中的任一种的存储器总线或存储器控制器、外围总线、以及局部总线。系统存储器包括只读存储器(ROM) 24和随机存取存储器(RAM) 25。基本输入/输出系统26(BI0S)被存储在ROM 24中,该基本输入/输出系统26包含了诸如在启动期间帮助在计算机20内的元件之间传输信息的基本例程。计算机20还可以包括用于读写硬盘(未示出)的硬盘驱动器27、用于读写可移动磁盘29的磁盘驱动器28,以及用于读写诸如CDROM或其他光学介质之类的可移动光盘31的光盘驱动器30。在一些示例实施例中,实施本公开的各方面的计算机可执行指令可存储在ROM 24、硬盘(未示出)、RAM25、可移动磁盘29、光盘31和/或处理单元21的高速缓存中。硬盘驱动器27、磁盘驱动器28,以及光盘驱动器30分别通过硬盘驱动器接口 32、磁盘驱动器接口 33,以及光盘驱动器接口 34连接到系统总线23。驱动器以及它们相关联的计算机可读介质为计算机20提供了对计算机可读指令、数据结构、程序模块,及其他数据的非易失性存储。虽然此处所描述的环境使用了硬盘、可移动磁盘29、以及可移动光盘31,但是,那些本领域普通技术人员应该理解,在操作环境中也可以使用诸如盒式磁带、闪存卡、数字视频盘、伯努利磁带盒、随机存取存储器(RAM)、只读存储器(ROM)等等之类的可以存储可由计算机进行访问的数据的其他类型的计算机可读介质。可以有若干个程序模块存储在硬盘、磁盘29、光盘31、ROM 24或RAM 25上,包括操作系统35、一个或多个应用程序36、其他程序模块37、以及程序数据38。用户可以通过诸如键盘40和定点设备42之类的输入设备向计算机20中输入命令和信息。其他输入设备(未示出)可包括话筒、游戏杆、游戏手柄、圆盘式卫星天线、扫描仪等等。这些及其他输入设备常常通过耦合到系统总线的串行端口接口 46连接到处理单元21,但是,也可以通过诸如并行端口、游戏端口、通用串行总线(USB)之类的其他接口来连接。显示器47或其他类型的显示设备也可以通过诸如视频适配器48之类的接口连接到系统总线23。除了显示器47之外,计算机通常包括其他外围输出设备(未示出),如扬声器和打印机。图1的系统也包括主机适配器55、小型计算机系统接口(SCSI)总线56,以及连接到SCSI总线56的外部存储设备62。
计算机20可使用到一个或多个远程计算机(诸如,远程计算机49)的逻辑连接而在联网环境中操作。远程计算机49可以是另一计算机、服务器、路由器、网络PC、对等设备或其他常见的网络节点、虚拟机,并通常包括上文相对于计算机20所描述的许多或全部元件,但是在图1中只示出了存储器存储设备50。图1中所描绘的逻辑连接可包括局域网(LAN) 51和广域网(WAN) 52。这样的联网环境在办公室、企业范围的计算机网络、内联网和因特网中是普遍的。当用于LAN联网环境中时,计算机20可通过网络接口或适配器53连接到LAN 51。当用于WAN联网环境中时,计算机20可通常包括调制解调器54,或用于通过诸如因特网之类的广域网52建立通信的其他手段。可以是内置的或外置的调制解调器54可通过串行端口接口 46连接到系统总线23。在联网环境中,相对于计算机20所示的程序模块或其部分可被存储在远程存储器存储设备中。可以理解,所示出的网络连接只是示例,也可以使用用于在计算机之间建立通信链路的其他手段。此外,虽然可构想本发明的许多实施例尤其适用于计算机系统,然而在本文中不意味着将本公开限于这些实施例。现在参考图2,所描绘的是被配置成实现虚拟机的计算机系统的高级框图。如图所 示,计算机系统100可包括图1和2中所描述的元件,以及可用于实现虚拟机的组件。一个这样的组件是在本领域中也可被称为虚拟机监控程序的系统管理程序(hypervisor) 202。所描绘的实施例中的系统管理程序202可被配置成控制并仲裁对计算机系统100的硬件的访问。广泛而言,系统管理程序202可以生成称为分区的执行环境,如子分区I到子分区N(其中N是大于或等于I的整数)。在各实施例中,子分区可被认为是系统管理程序202所支持的基本隔离单位,即,每一子分区可被映射到在系统管理程序202的控制下的一组硬件资源,例如存储器、设备、逻辑处理器周期等,和/或父分区,并且系统管理程序202可以隔离一个分区使其无法访问另一分区的资源。在各实施例中,系统管理程序202可以是独立软件产品,操作系统的一部分、被嵌入在主板的固件内、专门的集成电路,或其组合。在以上示例中,计算机系统100包括父分区204,父分区在开源社区中也可被认为是域O。父分区204可被配置成通过使用虚拟化服务向在子分区1-N中执行的客操作系统提供资源。每一子分区可包括一个或多个虚拟处理器,例如客操作系统220到222可管理并调度线程在其上执行的虚拟处理器230到232。一般而言,虚拟处理器230到232是提供带有特定体系结构的物理处理器的表示的可执行指令和相关联状态信息。例如,一个虚拟机可具有带有英特尔x86处理器特性的虚拟处理器,而另一虚拟处理器可具有PowerPC处理器的特性。本示例中的虚拟处理器可被映射到计算机系统的逻辑处理器,使得实现虚拟处理器的指令将受到逻辑处理器的支持。如此,在这些示例实施例中,多个虚拟处理器可以同时执行,而同时例如另一逻辑处理器正执行系统管理程序指令。一般而言,且如图所示,分区中的虚拟处理器以及存储器的组合可被认为是虚拟机,如虚拟机240或242。一般而言,客操作系统220到222可包括任何操作系统,如来自微软 、苹果 、开源社区等的操作系统。客操作系统可包括用户/内核操作模式,并且可具有能包括调度器、存储器管理器等的内核。内核模式可包括逻辑处理器中的执行模式,该执行模式授予对至少特权处理器指令的访问。每一客操作系统220到222可具有相关联的文件系统,该文件系统上存储有诸如终端服务器、电子商务服务器、电子邮件服务器等应用以及客操作系统本身。客操作系统220-222可以调度线程来在虚拟处理器230-232上执行,并可以实现这样的应用程序的实例。图3和以下描述旨在提供其中可实现此处描述的各实施例的示例计算环境的简要概括描述。具体地,图3描绘了包括用于提供计算资源的数据中心308的说明性操作环境300。数据中心308可提供用于执行应用的计算资源并且在连续的或按需的基础上提供数据服务。数据中心308所提供的计算资源可包括各种类型的资源,诸如数据处理资源、数据存储资源、数据通信资源等。每一种类型的计算资源可以是通用的或者可以在多个特定配置上可用。例如,数据处理资源可供用作虚拟机实例。虚拟机实例可被配置成执行应用,包括Web服务器、应用服务器、媒体服务器、数据库服务器等。数据存储资源可包括文件存储设备、块存储设备等。数据中心不仅仅包括虚拟机计算资源,还包括多个物理计算设备,所述物理计算设备可被配置成运行一个或多个虚拟机,所述虚拟机可以跨物理资源被迁移以进行负载平衡。数据中心308所提供的计算资源可由一个或多个单独的数据中心来启用。数据中心308是用于容纳和操作计算机系统和相关联的组件的设施。数据中心308通常包括冗余且备用的供电、通信、冷却和安全系统。数据中心302还可位于在地理上不同的位置。下文 将参考图3来描述实现此处所公开的用于可缩放地部署虚拟化计算基础架构的概念和技术的数据中心308的一个说明性配置。数据中心308的顾客和其他顾客可通过网络306访问数据中心302所提供的计算资源。应该理解,可使用将数据中心308连接到远程顾客的局域网(“LAN”)、因特网或本领域已知的任何其他联网拓扑结构。还应该理解,还可使用此类网络的组合。用户计算机304可以是数据中心308的顾客或其他顾客所使用的计算机。例如,用户计算机304可以是服务器计算机、台式机或膝上型个人计算机、瘦客户机、平板计算机、无线电话、个人数字助理(“PDA”)、电子阅读器、游戏控制台、机顶盒或能够访问数据中心308的任何其他计算设备。用户计算机304用于配置数据中心308所提供的计算资源的各方面。在这一点上,数据中心308可提供Web界面,该数据中心的操作的各方面可通过使用在顾客计算系统304上执行的Web浏览器应用程序来配置。另选地,在顾客计算系统304上执行的独立应用程序可访问由数据中心308展示的应用编程接口(“API”)来执行配置操作。还可使用用于配置数据中心308的操作的其他机制,包括向应用部署更新。图4描绘了一计算系统图,该图示出了数据中心308的一种配置,包括此处所公开的用于可缩放地部署虚拟化计算基础架构的概念和技术。图2包括用于提供计算资源以供执行应用的服务器计算机402。服务器计算机402可以是被合适地配置为提供上述计算资源的标准服务器计算机。例如,在一种实现中,服务器计算机402被配置成提供进程406。在一实施例中,进程406可以是虚拟机实例。虚拟机实例可以是非常像物理机执行程序那样执行程序的机器(即计算机)的软件实现的实例。在虚拟机实例的示例中,每一个服务器402都可被配置成执行能够执行实例的实例管理器。实例管理器可以是系统管理程序、或者是被配置成例如在单个服务器402上实现多个进程406的执行的另一类型的程序。应该理解,尽管此处所公开的某些实施例在虚拟机实例的上下文中进行讨论,但还可将其他类型的实例用于此处所公开的概念和技术。例如,此处所公开的技术可用于存储资源、处理资源、数据通信资源的实例以及用于其他类型的资源的实例。此处所公开的各实施例还可用于不利用虚拟机实例的计算系统,即使用物理机和虚拟机的组合的计算系统。在图4所示的示例数据中心中,LAN 401被用来互连服务器计算机402。LAN401还可连接到图3所示的WAN 306。应该理解,图3和4所示的网络拓扑结构已经被极大地简化,并且可利用多得多的网络和联网设备来互连此处所公开的各种计算系统。合适的负载平衡设备或软件模块还可用于在数据中心之间、在每一个数据中心中的每一个服务器计算机402之间、以及在由数据中心的每一个顾客购买的实例406之间进行负载平衡。这些网络拓扑结构和设备对于本领域技术人员而言应该是显而易见的。云计算一般指的是用于实现对诸如上文所述的计算资源(例如,应用、服务器和存储)的共享池的按需网络访问的计算环境。此类计算环境可用最少的管理工作或服务提供者交互来快速地供应和释放。云计算服务通常不要求终端用户知晓递送服务的系统的物理 位置以及配置。服务可以是基于消耗的并且经由因特网来递送。许多云计算服务涉及诸如上文所述的那些虚拟化资源,并且可以采取用户能够通过web浏览器来访问和使用的基于web的工具或应用的形式,就好像它们是本地地安装在用户自己的计算机上的程序那样。云计算服务通常构建在某种类型的平台上。对于诸如在组织的数据中心内部运行的某些应用而言,此类平台可包括操作系统以及被配置成存储数据的数据存储服务。运行在云中的应用可使用类似的基础。图5提供了图3所示的实例环境的进一步细节。用户计算机304处的管理员可建立桌面配置501,包括标识操作系统、应用、策略和存储设置。此类偏好可由管理员改变,并且服务的提供者可针对提供所请求的配置向管理员收费。在一实施例中并且如图6进一步描述的,云服务可实现如下包括四层栈的体系结构·云计算平台601,被配置成提供资源以支持云服务·桌面供应和管理层602,用于创建和管理云计算资产,所述云计算资产使得应用提供者能够提供应用、企业桌面提供者和桌面转售商能够创建和管理桌面、用户能够连接到他们的桌面等。这一层可将应用和桌面的逻辑视图转换成云计算平台的物理资产。 应用提供者/企业桌面提供者/桌面转售商/用户体验层603,为上述四种类型的实体中的每一种实体提供独特的端到端体验。·垂直层604,为特定的用户组提供由桌面转售商提供的一组定制体验。在云计算平台的一实施例中,戳记可被实现并被用来定义隔离单元,并且可被配置成定义传统的远程桌面部署。可提供维护顾客人工制品和凭证、跨戳记来管理负载、以及供应戳记并调整戳记的大小的远程桌面控制器组件。远程桌面控制器还可创建并管理应用和桌面。特定端点提供用户桌面的虚拟等价物,一个(或多个)戳记提供公司计算基础架构的虚拟等价物。上文所述的各层可涉及多个组件。此类组件可包括在下文中进一步描述的下列组件。·计算组件(例如,图8),运行云中的应用。·存储组件(例如,图9),存储云中的二进制和结构化数据
·结构控制器组件(例如,图10),部署、管理和监控应用。结构控制器还处理整个平台上对系统软件的更新 内容递送网络组件(例如,图11),通过在全世界范围内维护云存储中的数据的高速缓存的副本来提高该数据的全球访问速度。·连接组件(例如,图12),允许在本地(on-premise)计算机和云应用之间创建IP级连接。·
参考描绘计算组件810的图8,应用可被实现为如上所述的一个或多个角色800、801、802。云服务可通过使用负载平衡来跨角色地传播请求来运行每一个角色的多个实例。可向开发者提供门户以将应用提交给云服务。门户可被配置成接收配置信息,该配置信息通知云平台每一个角色要运行多少实例。结构控制器组件可为每一个实例创建虚拟机(VM)并且在该VM上为合适的角色运行代码。来自应用的用户的请求可使用诸如HTTP、HTTPS和TCP之类的协议作出。请求可跨一角色的全部实例来进行负载平衡。参考描绘存储组件910的图9,云平台可提供使用多个数据结构和格式的数据存储。例如,数据存储可作为二进制数据900的未结构化块来提供。元数据可用于提供关于内容的信息。为了允许应用以更结构化的方式来对数据进行操作,云存储服务可将存储作为与属性相关联的实体组来提供。还可向应用提供查询数据的装置,诸如例如包括搜索参数的API。另外,云存储可提供一种供web角色实例与工作者角色实例异步通信的方式。例如,用户可提交请求以经由由web角色实现的web界面来执行某种计算密集的任务。接收这一请求的web角色实例可将消息写入描述要完成的工作的队列902。在这一队列上等待的工作者角色实例随后可读取该消息并执行指定的任务。结果可经由另一队列返回。云存储服务可复制数据以便提供容错。此外,数据可被备份复制在位于不同物理位置的另一数据中心中以实现冗余和增强的可用性。参考图10,结构控制器组件1000可以是跨一组机器而复制的分布式应用。结构控制器组件可被配置成拥有在其环境中的全部资源,诸如计算机、交换机和负载平衡器。结构控制器组件1000还可监控正在运行的应用,确定新应用应该在哪里运行,以及选择物理服务器来优化硬件利用。结构控制器组件还可被配置成启动、监控和终止虚拟机。在一实施例中并且参考图11,云服务可将数据副本存储在离使用该数据的客户机1000较近的站点处。例如,用户第一次访问特定数据片段时,内容递送网络组件可将该数据的副本存储(即高速缓存)在地理上离该用户近的位置处。下一次访问该数据时,内容可从高速缓存而非从更远的源来递送。在一实施例中并且参照图11,为了支持组织内使用的应用和数据,本地环境可与云服务连接。在一实施例中,此类组合可通过在云应用以及在云外部运行的机器之间提供IP级连通性来实现。端点代理1201可被安装在连接到云应用的每一本地计算机1202上。云应用还可被配置成与云连接组件1200 —起工作。代理可使用诸如IPsec之类的协议来与该应用中的特定角色交互。通过使用此类代理,配置诸如IPsec协议1203之类的协议的潜在复杂性对于用户而言可能是透明的,同时提供了比诸如虚拟专用网络(VPN)之类的方法更简单的连接。一旦建立了连接,云应用中的角色可显得像在本地机器上一样地在同一IP网络上。通过建立此类连接,云应用可直接访问本地数据库。云应用还可域加入(domain-join)到本地环境中,从而允许本地用户到云应用的单次登录,并且使用用于访问控制的现有的活动目录账户和组。在各实施例中,可提供远程桌面计算体验,其中桌面提供者可提供灵活的桌面池,管理员可以几乎与供应和管理单个用户桌面相同的方式从该池中容易地供应和管理多个用户桌面。远程桌面用户因此可被提供总是可用、无需管理过程并且基于消费来计费的桌面体验。对于应用提供者,此类服务可使得应用提供者以最小的工作用web应用形式向用户提供的传统桌面应用。随着企业开始采用远程或虚拟桌面作为集中式管理安全和相容的员工桌面,对于IT管理员而言能够提供同构的桌面环境以便控制和最小化成本将是有利的。因此,能提供多个远程或虚拟桌面的平台能以低成本提供可缩放的且同构的计算环境。通过以与同构的计算模型类似的方式在云平台上构建托管桌面解决方案,可向IT管理员提供与传统的“作为服务的桌面”的替换方案相比能够极大地降低成本的环境。
·
云计算平台可被配置成与多个用户和提供者一起操作并且向该多个用户和提供者提供益处。例如,对于向企业桌面提供者或桌面转售商提供应用的应用提供者而言,云计算平台可被配置成在可缩放的云模型中供应和销售传统的桌面应用。可使得应用提供者能够创建带有支出账户信息的应用提供者账户、上传应用包、在所选操作系统上测试所上传的应用、在云上的应用市场上发布应用、监控应用使用和设置每个用户的用户收费。对于创建和/或管理桌面的企业桌面提供者而言,云平台可被配置成将可包括应用束的桌面供应给具有类似要求的用户组。例如,用户组可以全部都是同一企业顾客的员工。可使得桌面提供者能够创建企业桌面提供者账户并且例如经由信用卡或其他信用设施来提供信用信息。可进一步使得桌面提供者能够通过例如从云市场选择OS版本和兼容的应用来创建桌面、按需上传附加的应用并且选择递送模式,即完全桌面体验还是远程应用递送。还可使得桌面提供者能够提供凭证以实现从桌面对顾客的本地活动目录的访问、添加用户以实现对桌面的访问、设置策略以控制对桌面上的应用的用户访问、为桌面用户设立网页的URL、以及访问连接活动和禁用/启用访问。桌面转售商可以是创建和/或管理作为服务销售给用户的桌面的实体。可使得桌面转售商能够执行与企业桌面提供者类似的能力,诸如创建桌面转售商账户、为远程用户创建注册和连接场景、通过从云市场选择OS版本和兼容应用来创建一个或多个桌面、以及上传附加的应用并选择递送模式。还可使得桌面转售商能够设置策略以管理对桌面上的应用的用户访问,并且自动或手动地提供OS和应用更新。还可使得桌面转售商能够查看连接活动和禁用/启用访问、监控桌面使用并接收来自用户的支付。用户可以是访问由企业桌面提供者或桌面转售商所供应的桌面的可标识的实体。用户可经由云平台从任何位置访问桌面、浏览至桌面服务的URL、并且登录并访问所供应的服务。在某些实施例中,可向用户提供用户能够登入的桌面环境列表。参考图13,示出了描绘用于在云计算框架中提供远程桌面服务的过程的示例框图。用户可经由浏览器来访问提供到远程桌面服务的接入点的网页,所述远程桌面服务根据用户的IT部门要求来对用户可访问和配置。用户可使用提供给用户的凭证来登录系统。凭证可以是诸如Windows Live ID或OpenID (开放ID)之类的持久ID。用户随后将被重定向至认证服务器,该认证服务器可要求通过安全连接输入用户名和口令。一旦通过认证,用户可被发放对于该用户而言持久的口令,所述口令被提供给其他服务以使得不再需要附加的授权。在一实施例中,即使桌面会话结束,口令对于该用户而言可能是持久的,除非用户显式地从会话登出。可以提供一种用于自动地登录到基于云的系统的机制,在所述基于云的系统中,单次用户认证和授权过程准许用户访问用户具有访问许可的基于云的系统中的资源而无需输入多次口令。提供单次登录允许用户登录一次并且访问多个应用而无需输入更多次的口令。单次登录通过经由减少必须被维护的口令数量来提升安全性和效率,它对于企业而言是合乎需要的。对于云服务提供者而言,单次登录通过允许用户更大的访问权而无需附加的认证工作来提供更好的用户体验。基于云的服务可能不接受由单次登录服务所生成的令牌登录凭证。例如,web-1D提供者或单次登录服务可向用户提示单次凭证,并且服务可生成可用于连接到其他服务的权证或令牌。此类系统的示例包括Windows、Linux和iOS。给予本地企业域中的用户例如对在云服务中运行的应用的单次登录是合乎需要的。 在一实施例中,当用户登录到基于云的桌面并提供认证凭证时,可自动地生成和保持一次性口令。所生成的一次性口令可用于自动地登录到基于云的系统中的其他过程。在一实施例中,所生成的一次性口令可被保持到用户显式地登出为止。因此,即使在桌面会话被意外终止的情况下,口令也可被保持。在另一实施例中,用户可具有用于提供诸如Windows Live或Yahoo之类的集成在线服务的服务的账户。此类服务可提供诸如能使用单个用户ID和口令来访问的电子邮件和多媒体服务之类的服务和软件产品集。在一实施例中,此类集成服务的用户也可被提供如上所述地访问基于云的计算服务的选项。因此,当用户选择了基于云的计算服务作为此类集成服务的一部分时,一旦用户登录了服务,则可向用户呈现访问基于云的计算服务并请求远程桌面会话的选项。因为例如远程桌面之类的基于云的服务可能不接受来自集成服务的凭证,所以基于云的服务可生成带有允许用户访问桌面会话的一次性口令的账户。一次性口令的细节不必提供给用户,因为该口令仅在会话期间存在或者仅存在至用户登出为止。在一实施例中,一次性口令可被保持以使得在桌面被无意地断开连接的情况下用户可返回至桌面而不必重启登录过程。在图14所不的一实施例中,客户机1404可输入他的公司的基于云的服务主页1400的URL。另选地,用户可输入集成在线服务的URL。用户可被定向至向用户提示认证凭证的在线认证服务1404。在线认证服务1401可以是用户的管理员所使用的服务,并且用户的凭证信息可由管理员提供给云服务,从而授权服务创建用户简档并允许用户启动和访问桌面。另选地,在线认证服务1401可由集成在线服务提供。一旦用户经过认证,该用户被定向至主页1402,该用户可使用由在线认证服务所提供的凭证来访问云服务1410。云服务1410生成一次性口令1405和/或临时用户账户,并且用户的一次性口令被发送140至端点1407。如上所述,端点1407可以是用户桌面会话。一次性口令可基于在线认证服务接收到的凭证来生成。在一实施例中,口令可被存储在主存用户会话的虚拟机中的本地凭证存储中。因此,口令不随着用户被保持在用户简档中,从而允许增强的安全性并避免了对云服务为每一个用户维护口令的需要。可向用户呈现可被选择和登录的多个桌面,例如,工程桌面、财务桌面等。例如,每一个桌面可针对特定的功能来定制。可基于预定义的授权来向用户呈现特定的桌面。一旦用户选择了桌面,可为该用户实例化新的桌面实例。如果先前的桌面实例被选择,则可恢复与先前的桌面实例相关联的会话。该用户的会话以及其他用户的会话可作为主存多个此类会话的虚拟机内的端点而被启动。所保存的简档可与被创建的或被恢复的每一个端点相关联,所述简档包括来自先前会话的用户偏好和状态信息以及用于维护用户状态所需的其他信息,从而用户的会话可被保持、暂停和恢复。一般地,桌面可由操作系统、应用和设置构成。桌面实例一般指的是桌面加上特定的用户简档。在某些情况下,桌面实例和桌面会话可互换地使用。在一实施例中,可为额外的用户启动多个会话。参考图14所示的示例实施例,当额外的用户登录到系统时,可实例化对应于多个端点的多个会话。此外,用户可包括如用户组的管理员所定义的多个用户类型。例如,如图所示,类型I和类型2的多个用户可登录到系统并开始会话。例如,类型I可以是财务类型桌面而类型2可以是工程类型桌面。当然,其它示例也是可能的。虚拟机可被配置成主存一个或多个类型的多个会话。在一实施例中,会话数量可独立于主存各个用户会话的底层虚拟机配置。当在虚拟机上实例化额外 的用户会话时,可启动额外的虚拟机。在一实施例中,一组多个远程桌面会话可被配置成在虚拟机上执行。在需要更多的远程桌面会话时,可启动另一虚拟机。可提供弹性的虚拟机池,以使得可在任何时候动态地添加会话而无需终端用户或管理员理解提供服务的结构的底层细节。因为用户可被分配来自可用虚拟机(VM)端点池的VM端点,因此下一次用户登录时,用户可连接到该池中的任何一个VM端点。为了为用户创建定制的桌面体验,可保存用户偏好和状态数据。在一实施例中,用户偏好和状态数据可被保存到可与用户相关联的数据集,以使得任何时候用户登录并被分配桌面时,可获得用户偏好和状态数据从而可恢复用户先前的桌面状态。因此,例如,如果用户与第一虚拟机上的会话(即端点)相关联并且稍后被分配到不同虚拟机上的不同会话,则来自第一虚拟机的用户桌面状态对于第二虚拟机上的会话而言一般将不可用。然而,根据本公开的一方面,用户状态独立于会话和特定的VM端点而被保存。如本发明中所述的,此类用户数据集可被成为虚拟简档。在各实施例中,虚拟简档可被实现并且被称为虚拟硬盘驱动器或虚拟硬盘(VHD)。由此,当用户与不同虚拟机上的会话连接时,先前的用户状态可被迁移至新的会话。此特征允许被设计成提供特定类型以对每一个特定用户而言具有定制的感觉的单个主机桌面。结果是其他方面通用的会话环境的用户被用户感知为具有个人桌面外观和感觉。如上所讨论的,在用户会话的过程期间,客户机可打开和关闭到云服务的远程访问连接,并且在任何给定的连接期间,客户机可改变会话中的设置和偏好。此处描述了一种用于在基于云的基础架构中供应远程桌面同时维护用户个性化的机制。在基于云的系统中,用户可能无法一直重新连接到同一个虚拟桌面。在一实施例中,分配给用户的虚拟简档可被装载到分配给用户的端点。虚拟简档可包括诸如用户个人数据和个性化信息(例如,设置、简档、文件、应用数据等)之类的信息。当用户从远程桌面断开连接或者从远程桌面登出时,虚拟简档从该端点被卸载并且被保存以供后续用户会话。虚拟简档因此保存了关于用户断开连接时的用户状态的信息并且按需提供该信息以用于启动下一次用户会话。
因为用户可被分配来自可用VM端点池的VM端点,因此下一次用户登录时,用户可连接到该池中的任何一个VM端点。为了为用户创建定制的桌面体验,用户的被保存的偏好和状态数据可用于提供定制的桌面体验,而不管用户连接到的特定VM端点。尽管术语虚拟简档和VHD用于描述用于保存用户偏好和状态信息的数据结构,但应该理解,本发明不旨在限于任何特定的文件或数据格式。在一实施例中,虚拟简档或VHD可以是被配置为通常在物理数据盘驱动器上找到的数据的虚拟硬盘文件格式。最初,虚拟简档或VHD可用可操作地根据由例如公司IT管理员所定义的标准桌面配置来配置用户桌面的数据来填充。因此,虚拟简档或VHD可包括定义桌面的“黄金映像”(即,对于用户角色而言标准的桌面配置)的数据。然而,当用户使用特定的远程桌面并开始通过例如改变墙纸、添加音乐、保存本地文档等来定制桌面时,该信息被存储到虚拟简档或VHD,并且之后每一次用户连接到标准远程桌面时,就用来自虚拟简档或VHD的数据来进行填充以提供定制用户体验的外观和感觉。可在单个云服务界限的界限内定义用户类型(即桌面类型)的任意组合。例如,云 服务界限1410可定义单个服务界限,所述单个服务界限被定义并且被配置成用于提供给特定公司并且可使用预先确定的URL来访问的服务集,当经由浏览器输入所述URL时,可提供用于登录到服务并且访问被配置成用于服务的桌面的web界面。在一实施例中,在请求用户会话时,最初可请求到连接代理的连接。连接代理可确定与所请求的用户会话相关联的戳记,并且选择正主存所标识的戳记内的用户会话的虚拟机。例如,如果请求指示需要一用户会话,则连接代理可搜索包括IP地址端口号组合或网络标识符的数据库以寻找正被主存在云服务器上的合适的虚拟机。连接代理可生成重定向请求,所述重定向请求使得用户会话与所标识的虚拟机相关联。参考图16所述的实施例,端点可被通知1600用户已经登录了系统。系统搜索虚拟简档1601并确定用户的虚拟简档已经存在1602。如果不存在用户的虚拟简档,则创建虚拟简档1603。如果用户的虚拟简档已经存在或者如果虚拟简档被创建,则用户虚拟简档被移动至端点1604。用户桌面会话可被启动1605。当确定用户已经登出时1606,虚拟简档从端点被卸载1607并且被保存以供后续使用。用户数据的地理位置在许多情况下,远程呈现系统和云计算系统的用户从不同位置访问系统。用户可改变他们访问本地化区域内的系统的位置,所述本地化区域诸如涵盖用户家庭和工作场所的区域。然而,用户有时出于商业或娱乐的目的而长距离旅行,并且可从离他们通常的访问区域很远距离的位置来访问系统。有时,用户旅行到其他国家或大洲,并且由于主存远程呈现系统的数据中心的距离而导致传播延迟。此外,其他因素可能致使中断或延迟,诸如差错和差错恢复、拥塞、以及是否涉及卫星传送。在一实施例中,提供了一种用于基于用户位置在数据中心之间移动所存储的用户状态的机制。用户状态可由用户或管理员手动移动,或者基于用户状态中包含的使用数据被自动移动。在一实施例中,用户可指示要从他们家的位置外出旅行的计划。例如,用户日历可指示用户打算到特定地点旅行。用户连接到因特网的IP地址可被用来确定用户的位置并且迁移可相应地发生。另选地,与用户相关联的GPS设备可被用来确定用户位置,所述GPS设备例如在平板计算机、蜂窝电话、笔记本、或分配给用户的其他便携式计算设备中、或上述的某种的组合。基于这一信息,系统确定用户状态要被定位的合适的数据中心。在另一实施例中,系统可基于用户指示的位置来选择向用户提供所需带宽的数据中心。管理员可提供可被用来确定用户状态的位置的附加参数。在又一实施例中,系统可使用用户状态中(例如用户虚拟简档中)包含的信息来确定用户状态信息的位置。在连接到网络以访问桌面之前提前确定用户位置的情况下,用户状态的迁移可提前发生,以使得用户数据预先位于新的数据中心。此外,可进一步确定可被用来覆盖用户虚拟简档到一中心的移动的附加因素,所述中心原本可能是最接近的数据中心或出于性能原因次最佳数据中心。例如,公司出于安全原因可能期望避免使数据驻留在某些区域中的数据中心内。例如,参考图15,用户通常可访问主存在地理上位于东亚的数据中心1520内的云服务。由此,数据中心1520可被认为是用户的主数据中心。用户可作出到美国旅行的计划,并且向云服务提供商提供指示该计划的信息。另选地或另外地,用户可向云服务提供商提供用户已经到达目的地的信息。在一实施例中,云服务提供商可将用户数据迁移至位于北美的数据中心1510。另选地,用户数据的副本可被提供给数据中心1510。在一实施例中,数据中心1510现在变成用户的主数据中心,并且对用户数据的改变将被反映在被复制或迁移到数据中心1510的数据中。尽管在某些实施例中,用户对现在主存在数据中心1510处的数据作出的改变可与在主数据中心1520处的用户数据进行同步,但在此实施例中,数据中心1510现在维护用户数据并且可避免维护同步副本的复杂性。如上所提及的,用户数据可包括含有用户个人数据和个性化信息以及构成用户桌面的组件(诸如操作系统、应用和应用数据)的用户虚拟简档。在一实施例中,全部的用户数据可被移动到新位置处的数据中心,以使得提供给用户的全部服务现在均能被主存在新位置处。当用户在北美旅行的同时经由网页访问云服务时,已经将用户数据移动或迁移至数据中心1510的云服务可将用户重定向到数据中心1510,以使得用户可由数据中心1510来服务。如先前所讨论的,可结合地理位置服务来使用云提供者提供的单次登录服务,以确保可从任何地方、可以高效的方式对用户的个性化信息并由此用户的唯一桌面状态进行访问,并且可向用户提供无缝的且个性化的用户体验而不管用户的当前位置。
在一实施例中,可基于由用户提供的数据并结合提供旅行计划的指示或用户在将来的时间将位于另一位置的指示的软件应用来确定用户稍后的位置。例如,当用户访问诸如Outlook之类的日历程序并创建会议通知或接受会议邀请时,可提取“位置”字段或指示会议位置的任何其他字段。从这一信息中,可确定用户在特定日期和时间将位于另一地理位置。类似地,如果用户使用资源调度程序来预订特定地理位置处的会议室或其他资源,则云服务可自动确定是否应该将用户数据迁移至另一数据中心。在另一实施例中,关于用户旅行计划的信息可被用来确定用于发起对用户虚拟简档的迁移的时间。例如,关于用户航班信息的信息可被用来选择用于在用户不太可能访问用户虚拟简档时移动数据的时间框架,并因此对用户造成更少的不便。这一信息可从用户日历或诸如手动指示或对用户的直接查询之类的其他途径来获得。图17描绘了用于提供对计算环境中的远程用户会话的访问的示例性操作流程,包括操作1700、1702、1704和1706。参考图17,操作1700开始操作流程而操作1702示出在第一计算数据中心处保存用户远程桌面配置。用户远程桌面配置可包括对操作环境以及在操作环境中执行的软件应用所保存的状态信息。远程桌面配置可各自对应于一用户角色。例如,管理员可使用用户界面来为中等大小的公司定义两个桌面环境。管理员可定义用于工程人员的第一桌面环境,并且可选择操作系统和版本、电子邮件和日历应用、浏览器应用、办公应用以及制图应用。继续该示例,管理员可进一步指定可在一个时间处于活动的桌面的最大数量。管理员还可定义用于财务人员的第二桌面环境,并且可选择操作系统和版本、电子邮件和日历应用、浏览器应用、办公应用以及数据库应用。管理员可进一步指定可在一个时间处于活动的第二桌面环境的桌面的最大数量。管理员可继续以此方式添加附加桌面环境。远程桌面配置可经由因特网通过使用URL来访问。例如,在配置桌面环境之后,桌面环境可由个体用户通过输入例如www. company, com或www. serviceprovider. company.■来访问。当用户导航至站点并提供认证信息时,向用户呈现用户能选择并启动的一个或多个桌面。
操作1704示出确定用户将从其访问用户远程桌面配置的可能的位置。在一实施例中,可能的位置是与用户通常从其访问用户远程桌面配置的位置不同的位置。可能的位置可使用多种方法来确定。例如,可能的位置可基于用户提供的旅行信息。用户可经由浏 览器使用基于web的表格或通过例如电子邮件来提供信息。还可确定用户从与用户通常从其访问远程桌面的位置不同的位置来访问远程桌面的概率超过预定阈值。如果用户仅仅是短距离旅行,则较近的替换数据中心可能不可用。此外,在这种情况下,将用户数据移动到另一数据中心可能几乎没有或没有优势。在一实施例中,诸如最短距离阈值之类的阈值可被用来确定是否应该将用户数据移动到第二数据中心位置,以及是否应该将用户访问重定向到第二数据中心位置。可以使用其他阈值。例如,可基于用户可能的位置来确定预期的等待时间或传播延迟将超过预定阈值。在某些实施例中,可由云服务的管理员提供关于是否应该以及何时将用户数据迁移或移动到新的位置的判断。管理员可基于用户或其他途径所提供的输入来作出这一判断。在其他实施例中,可基于可用信息由数据中心自动地执行关于是否应该以及何时将用户数据迁移或移动到新的位置的判断。在某些情况下,可能存在与用户可能的位置邻近的多个数据中心位置。在一实施例中,可基于与可能的位置的地理邻近度来选择第二计算数据中心。例如,可基于视距的直线来选择离用户预期位置最近的数据中心。在其他实施例中,可基于网络状况和拓扑结构来选择具有最低预期传播延迟的数据中心。例如,基于目标带宽来选择第二计算数据中心。目标带宽可基于预期服务水平和其他参数来确定。参数可由云服务的管理员提供,并且基于使用、服务水平、网络状况等来选择。在一实施例中,可基于所保存的用户远程桌面配置中包含的信息来选择第二计算数据中心。例如,用户可提供关于用户旅行简档或位置偏好的信息,该信息随后可被保存在用户桌面配置中。简档或偏好可提供在此期间用户将位于第二位置的日期,或者可提供在旅行期间关于数据访问要求的偏好。操作1706示出,基于所述确定,将所保存的用户远程桌面配置迁移至第二计算数据中心,并且使得所保存的用户远程桌面配置经由远程网络连接对来自第二计算数据中心的用户可用。
图18描绘了如上所述用于提供对计算环境中的远程用户会话的访问的示例性系统。参考图18,系统1800包括处理器1810和存储器1820。存储器1820还包括被配置成提供对计算环境中的远程用户会话的访问的计算机指令。框1822示出,在第一计算数据中心处保存用户远程桌面配置,用户远程桌面配置包括对操作环境以及在操作环境中执行的软件应用所保存的状态信息,所述第一计算数据中心被配置成至少提供计算和存储服务。框1824示出确定用户将从其访问用户远程桌面配置的可能的位置。框1826示出,基于所述确定,将所保存的用户远程桌面配置迁移至第二计算数据中心,并且使得所保存的用户远程桌面配置经由远程网络连接对来自第二计算数据中心的用户可用。尽管在此处桌面迁移被描述为在会话环境中操作。但在其中向用户提供在虚拟机实现上运行的虚拟桌面的系统中类似的迁移也是可能的。在这种情况下,用户专用的信息(例如VHD)可类似地被迁移至离用户位置较近的数据中心。上文所提及的方面中的任何一个方面都可以以方法、系统、计算机可读介质或任何类型的产品来实现。例如,计算机可读介质可在其上存储用于提供 对计算环境中的远程用户会话的访问的计算机可执行指令。此类介质可包括,用于在第一计算数据中心处保存用户远程桌面简档的指令的第一子集,所述用户远程桌面配置包括对操作环境以及在操作环境中执行的软件应用所保存的状态信息,所述第一计算数据中心被配置成至少提供计算和存储服务;用于确定用户将从其访问用户远程桌面简档的可能的位置的指令的第二子集;以及用于基于所述确定,将所保存的用户远程桌面简档迁移至第二计算数据中心,并且使得所保存的用户远程桌面简档对来自第二计算数据中心的用户可用的指令的第三子集。本领域技术人员可以理解,可以使用附加指令集来捕捉此处所公开的各其他方面,且根据本公开,三个目前所公开的指令子集可以在细节方面不同。
权利要求
1.一种提供对计算环境中的远程用户会话的访问的方法,所述方法包括 在第一计算数据中心处保存用户远程桌面简档,所述用户远程桌面简档包括操作环境以及在所述操作环境中执行的软件应用,所述第一计算数据中心被配置成至少提供计算和存储服务; 确定用户将从其访问所述用户远程桌面简档的可能的位置;以及 基于所述确定,将所保存的用户远程桌面简档迁移至第二计算数据中心,并且使得所保存的用户远程桌面简档经由远程网络连接对来自所述第二计算数据中心的所述用户可用。
2.如权利要求1所述的方法,其特征在于,所述可能的位置是与所述用户先前从其访问所述用户远程桌面简档的位置不同的位置。
3.如权利要求1所述的方法,其特征在于,所述确定还包括,确定用户将从与用户通常从其访问所述用户远程桌面简档的位置不同的位置来访问所述用户远程桌面简档的概率超过预定阈值。
4.如权利要求1所述的方法,其特征在于,所述确定基于用户提供的旅行信息。
5.如权利要求1所述的方法,其特征在于,所述第二计算数据中心是基于与所述可能的位置的地理邻近度来选择的。
6.如权利要求1所述的方法,其特征在于,所述第二计算数据中心是基于目标带宽和目标等待时间之一来选择的。
7.如权利要求1所述的方法,其特征在于,所述第二计算数据中心是基于管理员提供的参数来选择的。
8.如权利要求1所述的方法,其特征在于,所述第二计算数据中心是基于所保存的用户远程桌面简档中包含的信息来选择的。
9.一种计算系统,包括 包括至少一个处理器的计算设备; 在所述系统运行时通信地耦合到所述处理器的存储器,所述存储器具有存储于其中的计算机指令,所述计算机指令在由所述至少一个处理器执行时致使 在第一计算数据中心处保存用户远程桌面简档,所述用户远程桌面简档包括对操作环境以及在所述操作环境中执行的软件应用所保存的状态信息,所述第一计算数据中心被配置成至少提供计算和存储服务; 确定用户将从其访问所述用户远程桌面简档的可能的位置;以及 基于所述确定,将所保存的用户远程桌面简档迁移至第二计算数据中心,并且使得所保存的用户远程桌面简档经由远程网络连接对来自所述第二计算数据中心的所述用户可用。
10.一种其上存储有用于提供对计算环境中的远程用户会话的访问的计算机可执行指令的计算机可读存储介质,所述计算机可读存储介质包括 用于在第一计算数据中心处保存用户远程桌面简档的指令,所述用户远程桌面简档包括对操作环境以及在所述操作环境中执行的软件应用所保存的状态信息,所述第一计算数据中心被配置成至少提供计算和存储服务; 用于确定用户将从其访问所述用户远程桌面简档的可能的位置的指令;以及用于基于所述确定,将所保存的用户远程桌面简档迁移至第二计算数据中心,并且使得 所保存的用户远程桌面简档经由远程网络连接对来自所述第二计算数据中心的所述用户可用的指令。
全文摘要
本发明涉及用户状态的地理迁移。提供了一种用于基于用户位置在数据中心之间移动包括操作系统和应用在内的所存储的用户桌面映像的机制。用户桌面映像可由用户或管理员手动移动,或者基于用户状态中包含的使用数据被自动移动。在一实施例中,用户可指示要从他们家的位置外出旅行的计划。基于这一信息,系统确定用户桌面映像要被定位的合适的数据中心。在另一实施例中,系统可基于用户指示的位置来选择向用户提供所需带宽的数据中心。管理员可提供可被用来确定用户桌面映像的位置的附加参数。在又一实施例中,系统可使用用户桌面映像中包含的信息来确定用户桌面映像信息的位置。
文档编号H04L29/08GK103023960SQ201210342410
公开日2013年4月3日 申请日期2012年9月14日 优先权日2011年9月15日
发明者M·达斯, S·亚达夫, A·坎德哈雷, N·劳, S·兰简 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1