CN105308561A - 使用云同步数据提供本机桌面 - Google Patents

使用云同步数据提供本机桌面 Download PDF

Info

Publication number
CN105308561A
CN105308561A CN201480032928.6A CN201480032928A CN105308561A CN 105308561 A CN105308561 A CN 105308561A CN 201480032928 A CN201480032928 A CN 201480032928A CN 105308561 A CN105308561 A CN 105308561A
Authority
CN
China
Prior art keywords
desktop
data
application
client device
cloud
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
CN201480032928.6A
Other languages
English (en)
Inventor
伊恩·拉塞尔·韦斯利
林·曹
乔治·莫驰洛夫
C·瓦利彻拉
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.)
Citrix Systems Inc
Original Assignee
Citrix Systems Inc
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 Citrix Systems Inc filed Critical Citrix Systems Inc
Priority to CN202110649988.4A priority Critical patent/CN113419799A/zh
Publication of CN105308561A publication Critical patent/CN105308561A/zh
Pending legal-status Critical Current

Links

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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5683Storage of data provided by user terminals, i.e. reverse caching
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2358/00Arrangements for display data security
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/121Frame memory handling using a cache memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/025LAN communication management

Abstract

呈现了用于使用云同步数据提供本机桌面的方法、系统、计算机可读介质和装置。在一些实施方案中,由至少一台计算设备提供的桌面管理服务可以选择性地储存来自远程桌面的数据。随后,桌面管理服务可将所储存的数据与基于云的数据存储平台同步。然后,桌面管理服务可促使本机桌面使用同步数据呈现在客户端设备上。在一些布置中,所提取的、所分析的和/或选择性地储存的数据可包括一个或多个应用快捷方式、一个或多个文档、一个或多个注册表项、一个或多个个性化设置或一个或多个布局设置。另外地或可选地,远程桌面可与第一操作系统关联,并且本机桌面可与不同于第一操作系统的第二操作系统关联。

Description

使用云同步数据提供本机桌面
相关申请的交叉引用
本申请要求2013年4月9日提交的且标题为“使用云同步数据提供本机桌面(PROVIDINGANATIVEDESKTOPUSINGCLOUD-SYNCHRONIZEDDATA)”的编号为61/810,048的美国临时专利申请的权益,并且该专利申请通过引用被全部并入本文。
背景
本公开的各方面涉及计算机硬件和软件。具体地,本公开的一个或多个方面主要涉及用于使用从远程桌面挖掘的云同步数据提供本机桌面(如,在客户端设备上,诸如移动设备)的计算机硬件和软件。
移动设备(如智能电话、平板计算机、其它类型的移动计算设备等)正变得越来越流行。越来越多的人出于各种目的在个人环境和工作环境中使用移动设备。另外,现在很多人具有多台计算设备,包括一台或多台移动设备,并且这些各种设备可常常在不同的物理位置。例如,示例用户可拥有通常位于用户的家或他们的办公室的工作膝上计算机,以及拥有移动设备,其可被用户带到他们去的任何地方。
无论特定的人在哪里或他们使用什么设备,然而,用户可希望经由该用户具有的她携带的设备能够访问她的所有的电子文件、设置和其它信息。另外,当信息以熟悉和/或一贯的方式呈现时,这个用户可相对更舒适地访问、查看、编辑和/或与她的信息交互。
概述
本公开的方面涉及各种系统和技术,该各种系统和技术为用户访问、查看、编辑和/或以其它方式与他们的数据交互提供更便利的、功能的和易于使用的方式,尤其是用户具有若干不同的计算设备的情况,诸如公司拥有的工作电脑和个人移动设备。
例如,在下面更详细地讨论的一些实施方案提供将用户在一个桌面(如,源桌面,例如其通常可在工作计算机上提供和/或经由工作计算机访问,)上创建、编辑和/或以其它方式使用的信息与另一个不同的桌面(如,目标桌面,例如其可在用户移动设备上提供和/或经由用户移动设备访问)同步的技术。该信息可使用基于云的数据存储平台同步,并且所同步的信息可以若干不同的方式(如,通过识别、提取、分析和/或选择性地储存各种文件、设置和/或与操作系统和/或源桌面上的一个或多个应用一起使用的其它数据;通过识别、提取和/或储存与用户相关的各种用户概要信息等)从源桌面被挖掘和/或以其它方式获取。
另外,使用这种同步的信息,用户移动设备可呈现、显示和/或以其它方式提供本机桌面。这种本机桌面可不仅使用户能够在由移动设备和其操作系统本机呈现和/或提供的桌面中访问、查看、编辑和/或以其它方式与他们的移动设备上的信息交互,而且甚至在移动设备不能建立到源桌面(相对于在移动设备上提供的本机桌面,其可被认为是远程桌面)和/或其它网络的连接时这种本机桌面还可支持这种访问、查看、编辑和/或交互的发生。
通过利用在下面更详细讨论的这些技术和/或其它特征和功能的各个方面,更大的便利、功能和易于使用可被提供到移动设备的用户,特别是在这种用户希望访问、查看、编辑和/或以其它方式与储存在其它远程计算机系统和/或计算环境、由其它远程计算机系统和/或计算环境维护的和/或以其它方式与其它远程计算机系统和/或计算环境一起使用的信息交互的情况中。
因此,在下面讨论的一些实施方案中,由至少一台计算设备提供的桌面管理服务可以选择性地储存来自远程桌面的数据。随后,桌面管理服务可将所储存的数据与基于云的数据存储平台同步。然后,桌面管理服务可促使本机桌面使用经同步的数据呈现在客户端设备上(如,其可以是移动设备,诸如智能手机、平板计算机、膝上计算机或移动计算设备的一些其它类型)。
在一些布置中,所提取的、所分析的和/或选择性地储存的数据可包括一个或多个应用快捷方式、一个或多个文档、一个或多个注册表项、一个或多个个性化设置或一个或多个布局设置。另外地或可选地,远程桌面可与第一操作系统关联,并且本机桌面可与不同于第一操作系统的第二操作系统关联。
在一些实施方案中,促使本机桌面呈现在客户端设备上可包括促使使用本机桌面的至少一个本机应用呈现至少一些经同步的数据。在一些另外地和/或可选的实施方案中,促使本机桌面呈现在客户端设备上可包括如果用于至少一些经同步的数据的本机查看应用不可用,则促使远程应用呈现在客户端设备上。
在一些实施方案中,促使本机桌面呈现在客户端设备上后,可促使后台连接在客户端设备和配置为提供远程桌面的第二设备之间建立。在一些另外地和/或可选的实施方案中,促使本机桌面呈现在客户端设备上后,在客户端设备上对至少一些经同步的数据做出的改变可与基于云的数据存储平台同步。
在下面讨论的其它实施方案中,计算设备可确定到基于云的存储平台的连接是否可用。响应于确定到基于云的存储平台的连接可用,计算设备可将本地缓存数据与基于云的存储平台同步,并且本地缓存数据可包括在远程桌面上维护的一个或多个文件。随后,计算设备可基于本地缓存数据呈现本机桌面。
在一些实例中,将本地缓存数据与基于云的存储平台同步可包括基于对远程桌面上的至少一个文件做出的一个或多个改变更新本地缓存数据。另外地或可选地,同步本地缓存数据可包括基于对计算设备上的至少一个文件做出的改变更新储存在基于云的存储平台内的信息。
在一些实例中,呈现本机桌面可包括接收访问缓存的文件的请求和在本机编辑器中打开缓存的文件。另外地或可选地,呈现本机桌面可包括呈现表示远程桌面的一个或多个元件的布置。
在一种或多种布置中,当从计算设备到基于云的存储平台的连接不可用时,可(如,通过计算设备)呈现本机桌面。
在下面更加详细地讨论这些特征以及许多其它特征。
附图简述
本公开以示例的方式说明并且并非限制于附图,在附图中,相似的参考编号表示类似的元件,并且其中:
图1描述了可根据本文描述的一个或多个说明性方面来使用的说明性计算机系统架构。
图2描述了可根据本文描述的一个或多个说明性方面来使用的说明性远程访问系统架构。
图3描述了可根据本文描述的一个或多个说明性方面来使用的说明性虚拟化(超级管理器)系统架构。
图4描述了可根据本文描述的一个或多个说明性方面来使用的说明性基于云的系统架构。
图5描述了可根据本文描述的一个或多个说明性方面来使用的说明性企业移动管理系统。
图6描述了可根据本文描述的一个或多个说明性方面来使用的另一个说明性企业移动管理系统。
图7描述了根据本文描述的一个或多个说明性方面使用云同步数据提供本机桌面的方法的流程图。
图8-12描述了根据本文描述的一个或多个说明性方面可在使用云同步数据提供本机桌面时显示在移动设备上的示例性用户界面。
图13描述了根据本文描述的一个或多个说明性方面的用于使用云同步数据提供本机桌面的系统的示例。
图14-16描述了根据本文描述的一个或多个说明性方面示出在计算设备处呈现本机桌面的各种方法的流程图。
详细描述
在各个实施方案的下列描述中,参考了上面确认并形成各个实施方案的一部分的附图,其中以说明各个实施方案的方式示出,所公开的在各个实施方案中的各方面可被实践。可利用其它实施方案,并且在不脱离本文所讨论的范围的情况下可作出结构和功能的修改。各个方面能够用于其它实施方案且能够以各种不同方式实践或执行。另外,本文所使用的措辞和术语是出于描述的目的,而不应被视为限制。此外,本文所使用的短语和术语被给出它们最广泛的解释和意义。“包括(including)”和“包含(comprising)”及其变型的使用旨在包括其后列出的项目及其等效物以及附加项目及其等效物。
如上面所提到的,本文讨论涉及使用云同步数据(如,在客户端设备上,诸如移动设备)提供本机桌面的特定实施方案,云同步数据可包括已经从远离在客户端设备上提供的本机桌面的另一个桌面挖掘(如,被提取、被分析和/或选择性地储存)的数据。然而,在更详细讨论这些概念前,将首先关于图1-6讨论可在实现和/或以其它方式提供所公开的各个方面中使用的计算架构和企业移动管理架构的几个示例。
计算机软件、硬件和网络可用于多种不同的系统环境中,除了别的之外,包括单机、联网的、远程访问(又叫做远程桌面)、虚拟化和/或基于云的环境。图1示出了系统架构和数据处理设备的一个示例,其被用于在单机环境和/或网络环境中执行本文描述的一个或多个说明性方面。各个网络节点103、105、107和109可经由诸如互联网的广域网(WAN)101进行互连。还可使用或可选地使用其它网络,包括私有内联网、协同网络、局域网(LAN)、城域网(MAN)、无线网、个人网络(PAN)等等。网络101用于说明的目的并且可以用更少或附加的计算机网络来代替。LAN可具有任何已知的LAN拓扑中的一个或多个,并且可使用多种不同协议中的一个或多个,诸如以太网。设备103、105、107、109和其它设备(未示出)可经由双绞线、同轴电缆、光纤、无线电波或其它通信媒介连接到一个或多个网络。
本文所使用以及附图中所描述的术语“网络”不仅指其中远程存储设备经由一个或多个通信路径耦合在一起的系统,还指有时可耦合到具有存储能力的该类系统的单机设备。因此,术语“网络”不仅包括“物理网络”还包括“内容网络”,其由单个实体引起-跨越所有的物理网络驻留的数据组成。
组件可包括数据服务器103、web服务器105和客户端计算机107、109。数据服务器103提供对数据库和控制软件的全面访问、控制和管理,用于执行本文描述的一个或多个说明性方面。数据服务器103可连接到网络服务器105,其中用户通过该网络服务器105根据请求与数据交互并获得数据。可选地,数据服务器103可充当网络服务器本身,并直接地连接到互联网。数据服务器103可通过网络101(例如,互联网)经由直接或间接连接或经由一些其它网络连接到网络服务器105。用户可使用远程计算机107、109与数据服务器103交互,如使用经由网络服务器105托管的一个或多个对外公开的网站连接至数据服务器103的网络浏览器。客户端计算机107、109可用于与数据服务器合作以访问存储在其中的数据,或可用于其它目的。例如,如本领域中已知的,用户可使用互联网浏览器从客户端设备107访问网络服务器105,或通过执行经由计算机网络(如互联网)与网络服务器105和/或数据服务器103通信的软件应用来访问网络服务器105。
服务器和应用可被组合在相同的物理机器上,并且保留不同的虚拟或逻辑地址,或可驻留在不同的物理机器上。图1仅示出可以被使用的网络结构的一个示例,并且本领域中的技术人员应当理解,如在本文进一步所描述的,所使用的特定网络结构和数据处理设备可以改变,并且对于它们提供的功能来说是次要的。例如,通过网络服务器105和数据服务器103提供的服务可被组合在单一服务器上。
每个组件103、105、107、109可以是任何类型的已知计算机、服务器或数据处理设备。例如,数据服务器103可包括控制速率服务器103的总体操作的处理器111。数据服务器103还可包括RAM113、ROM115、网络接口117、输入/输出接口119(例如,键盘、鼠标、显示器、打印机等等),以及存储器121。I/O119可包括用于读取、写入、显示和/或打印数据或文件的各种接口单元和驱动器。存储器121还可存储用于控制数据处理设备103的整体操作的操作系统软件123、用于指令数据服务器103以执行本文描述的方面的控制逻辑125以及提供辅助、支持、和/或其它可用于或不可用于与本文描述的方面结合使用的功能的其它应用软件127。本文中,控制逻辑还可被称为数据服务器软件125。数据服务器软件的功能可指基于被编码到控制逻辑中的规则自动进行的操作或决定、通过用户将输入提供到系统中来手动进行的操作或决定和/或基于用户输入(例如,查询、数据更新等等)的自动处理的组合。
存储器121还可存储在本文描述的一个或多个方面的实现中使用的数据,包括第一数据库129和第二数据库131。在一些实施方案中,第一数据库可包括第二数据库(例如,作为分离的表、报告等)。即,该信息可存储在单个数据库中,或分离成不同的逻辑、虚拟或物理数据库,其取决于系统设计。设备105、107、109可以具有如关于设备103所述的相似或不同的结构。本领域技术人员应理解,如本文所述的数据处理设备103(或设备105、107、109)的功能可遍布多个数据处理设备,例如,以将处理负载分配到多个计算机、以基于地理位置、用户访问级别、服务质量(QoS)等分开事务。
一个或多个方面可以在通过本文所描述的一个或多个计算机或其他设备执行的、诸如一个或多个程序模块中的计算机可用或可读数据和/或计算机可执行指令来体现。通常,程序模块包括例程、程序、对象、组件、数据结构等等,当被计算机或其他设备中的处理器执行时,该程序模块执行特定任务或实施特定抽象数据类型。该模块可用源代码编程语言编写,然后被编译用于执行,或可用脚本语言编写,诸如(但不限于)Javascript或ActionScript。计算机可执行指令可被存储在诸如非易失性存储设备的计算机可读介质上。可利用任何适当的计算机可读存储介质,包括硬盘、CD-ROM、光学存储设备、磁性存储设备和/或其任何组合。另外,可以用电磁波的形式在源和目的之间传递表示本文所描述的数据或事件的各种传输(非存储)介质,该电磁波通过诸如金属丝、光纤、和/或无线传输介质(例如,空气和/或空间)的信号-传导介质传播。本文所描述的各个方面可被体现为方法、数据处理系统或计算机程序产品。因此,各种功能可整体或部分地体现在软件、固件和/或硬件或硬件等同物,诸如集成电路、现场可编程门阵列(FPGA),等等。特定的数据结构可用于更有效地执行本文所述的一个或多个方面,且预期这种数据结构在本文所述的计算机可执行指令和计算机可用数据的范围内。
进一步参考图2,可在远程访问环境中实现本文所述的一个或多个方面。图2描绘了示例性的系统架构,包括在说明性计算环境200中的通用计算设备201,其可根据本文所述的一个或多个说明性方面来使用。通用计算设备201可以被用作单服务器或多服务器桌面虚拟化系统(例如,远程访问或云系统)中的服务器206a,所述系统经配置提供用于客户端访问设备的虚拟机。通用计算设备201可具有用于控制服务器及其相关组件(包括随机存取存储器(RAM)205、只读存储器(ROM)207、输入/输出(I/O)模块209和存储器215)的整体操作的处理器203。
I/O模块209可包括鼠标、键盘、触摸屏、扫描仪、光学阅读器和/或手写笔(或其它输入设备)(通用计算设备201的用户可通过这些输入设备提供输入),并且也可包括用于提供音频输出的扬声器和用于提供文本、视听和/或图形输出的视频显示设备中的一个或多个。软件可存储在存储器215和/或其它存储中,以提供指令给处理器203用于将通用计算设备201配置为专用计算设备,以便执行如本文所述的各种功能。例如,存储器215可以存储由计算设备201使用的软件(诸如操作系统217、应用程序219和关联的数据库221)。
计算设备201可在网络化环境中操作,该网络化环境支持到诸如终端240(也被称为客户端设备)的一个或多个远程计算机的连接。终端240可以是个人计算机、移动设备、膝上计算机、平板电脑或服务器,其包括以上描述的关于通用计算设备103或201的许多或全部元件。在图2中描绘的网络连接包括局域网(LAN)225和广域网(WAN)229,但还可包括其它网络。当用于LAN网络环境中时,计算设备201可通过网络接口或适配器223连接到LAN225。当在WAN联网环境中使用时,计算设备201可包括调制解调器227或用于建立在WAN229(诸如计算机网络230(例如,互联网))上的通信的其它广域网接口。将认识到的是,所示的网络连接是说明性的,且可使用在计算机之间建立通信链路的其它装置。计算设备201和/或终端240还可为移动终端(例如,移动电话、智能电话、PDA、笔记本等等),其包括各种其他部件,诸如电池、扬声器和天线(未示出)。
本文描述的各方面也可以用许多其他通用或专用计算系统环境或配置来运行。可适合于结合本文所述的方面使用的其它计算系统、环境和/或配置的实例,包括,但不限于,个人计算机、服务器计算机、手持或笔记本设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境,等等。
如图2所示,一个或多个客户端设备240可与一个或多个服务器206a-206n(在本文中统称为“服务器206”)通信。在一个实施方案中,计算环境200可包括在服务器206和客户机240之间安装的网络装置。该网络装置可管理客户端/服务器连接,并在某些情况下可在多个后端服务器206之间负载平衡客户端连接。
在一些实施方案中,客户端机器240可指代单个客户端机器240或单组客户端机器240,而服务器206可指代单个服务器206或单组服务器206。在一个实施方式中,单个客户端机器240与一个以上的服务器206通信,而在另一实施方式中,单个服务器206与一个以上的客户端机器240通信。在又一实施方式中,单个客户端机器240与单个服务器206通信。
在一些实施方案中,可通过下列非穷举术语中的任何一个指代客户端机器240:客户端机器;客户端;客户端计算机;客户端设备;客户端计算设备;本地机器;远程机器;客户端节点;端点;或端点节点。在一些实施方案中,可通过下列非穷举术语中的任何一个指代服务器206:服务器;本地机器;远程机器;服务器群;或主机计算设备。
在一个实施方式中,客户端机器240可以是虚拟机。虚拟机可以是任何虚拟机,而在一些实施方案中虚拟机可以是由1型或2型的超级管理器所管理的任何虚拟机,所述超级管理器例如为由CitrixSystems、IBM、VMware开发的超级管理器,或任何其它超级管理器。在一些方面中,虚拟机可由超级管理器管理,而在其它方面中,虚拟机可由在服务器206上执行的超级管理器或在客户端240上执行的超级管理器管理。
一些实施方案包括客户端设备240,其显示由在服务器206上远程执行的应用或由其它远程放置的机器上远程执行的应用生成的应用输出。在这些实施案中,客户端设备240可执行虚拟机客户端代理程序或应用,以在应用窗口、浏览器、或其它输出窗口中显示输出。在一个实例中,应用是桌面,而在其它实例中应用是生成或呈现桌面的应用。桌面可包括为操作系统的实例提供用户界面的图形壳,在该图形壳中可集成本地和/或远程应用。如在本文所使用的,应用是在操作系统(和可选地,还有桌面)的实例已经被加载之后执行的程序。
在一些实施方案中,服务器206使用远程表示协议或其他程序以将数据发送给瘦客户端或在客户端上执行的远程显示应用,以便呈现通过在服务器206上执行的应用生成的显示输出。瘦客户端或远程显示协议可以是下列非穷举协议列表中的任意一个:通过佛罗里达州劳德代尔堡(Ft.Lauderdale,Florida)的Citrix系统公司开发的独立计算架构(ICA)协议;或通过华盛顿雷德蒙德(Redmond,Washington)的微软公司制造的远程桌面协议(RDP)。
远程计算环境可包括多于一个的服务器206a-206n,使得,例如在云计算环境中,服务器206a-206n逻辑组合在一起成服务器群206。服务器群206可包括地理上分散而同时逻辑分组在一起的服务器206,或彼此接近放置同时在逻辑上分组在一起的服务器206。在一些实施方案中,在服务器群206中的地理上分散的服务器206a-206n使用WAN(广域网)、MAN(城域网)、或LAN(局域网)通信,其中不同的地理区域可表征为:不同大陆;大陆的不同区域;不同的国家;不同的州;不同的城市;不同的校区;不同的房间;或前述地理位置的任何组合。在一些实施方案中,服务器群206可作为单一实体进行管理,而在其他实施方案中,服务器群206可包括多个服务器群。
在一些实施方案中,服务器群可包括服务器206,其执行基本上类似类型的操作系统平台(例如,WINDOWS、UNIX、LINUX、iOS、ANDROID、SYMBIAN,等)。在其它实施方案中,服务器群206可包括执行第一类型的操作系统平台的一个或多个服务器的第一组,以及执行第二类型的操作系统平台的一个或多个服务器的第二组。
服务器206可根据需要配置成任何类型的服务器,例如,文件服务器、应用服务器、web服务器、代理服务器、装置、网络装置、网关、应用网关、网关服务器、虚拟化服务器、部署服务器、SSLVPN服务器、防火墙、网络服务器、应用服务器或作为主应用服务器、执行活动目录的服务器、或执行提供防火墙功能、应用功能、或负载平衡功能的应用加速程序的服务器。还可使用其他服务器类型。
一些实施方案包括第一服务器206a,其接收来自客户端机器240的请求、转发该请求至第二服务器206b,并使用来自第二服务器206b的响应对由客户端机器240生成的请求响应。第一服务器206a可以获得可用于客户端机器240的应用的列举以及与托管在应用列举内被识别的应用的应用服务器206相关联的地址信息。然后,第一服务器206a可使用web接口呈现对客户端请求的响应,并直接与客户端240通信以给客户端240提供对所标识的应用的访问。一个或多个客户端240和/或一个或多个服务器206可经由例如互联网101的网络230传输数据。
图2示出说明性桌面虚拟化系统的高层架构。如图所示,桌面虚拟化系统可以是单服务器或多服务器系统、或云系统,包括配置为给一个或多个客户端访问设备240提供虚拟桌面和/或虚拟应用的至少一个虚拟化服务器206。如在本文使用的,桌面指图形环境或空间,其中一个或多个应用可被托管和/或执行。桌面可包括为操作系统的实例提供用户界面的图形壳,在该图形壳中可集成本地和/或远程应用。应用可包括加载了操作系统(和任选地,还有桌面)的实例之后执行的程序。操作系统的每个实例可以是真实的(例如每个设备一个操作系统)或虚拟的(例如在单个设备上运行的OS的很多实例)。每个应用可在本地设备上执行或在远程放置的设备上执行(例如远程)。
进一步参考图3,计算机设备301可以配置为在虚拟化环境(例如,单一服务器环境、多服务器环境、或云计算环境)中的虚拟化服务器。在图3中示出的虚拟化服务器301可以被部署为在图2中示出的服务器206的一个或多个实施方案和/或由其实现,或通过其它已知的计算设备实现。包含在虚拟化服务器301中的是硬件层,其可包括一个或多个物理磁盘304、一个或多个物理设备306、一个或多个物理处理器308和一个或多个物理存储器316。在一些实施方式中,固件312可存储在物理存储器316中的存储器元件内并可由一个或多个物理处理器308执行。虚拟化服务器301还可以包括操作系统314,其可以被存储在物理存储器316的存储器元件中并由物理处理器308中的一个或多个执行。而且,超级管理器302可存储在物理存储器316中的存储器元件中,并可由一个或多个物理处理器308执行。
在一个或多个物理处理器308上执行的可以是一个或多个虚拟机332A-C(总体上表示为332)。每个虚拟机332可以具有虚拟盘326A-C和虚拟处理器328A-C。在一些实施方案中,第一虚拟机332A可使用虚拟处理器328A执行包括工具堆栈324的控制程序320。控制程序320可以被称为控制虚拟机、Dom0、域0,或用于系统管理和/或控制的其他虚拟机。在某些实施方案中,一个或多个虚拟机332B-C可以使用虚拟处理器328B-C执行访客(guest)操作系统330A-B。
虚拟化服务器301可以包括与虚拟化服务器301通信且具有一个或多个硬件的硬件层310。在一些实施方案中,硬件层301可包括一个或多个物理磁盘304、一个或多个物理设备306、一个或多个物理处理器308和一个或多个存储器216。物理组件304、306、308和316可包括,例如以上所述任何组件。物理设备306可包括,例如,网络接口卡、视频卡、键盘、鼠标、输入设备、监视器、显示设备、扬声器、光盘驱动器、储存设备、通用串行总线连接、打印机、扫描仪、网络元件(例如,路由器、防火墙、网络地址转换器、负载均衡器、虚拟专用网(VPN)网关、动态主机配置协议(DHCP)路由器等),或连接到虚拟化服务器301或与其通信的任何设备。硬件层310中的物理存储器316可包括任何类型的存储器。物理存储器316可以存储数据,并且在某些实施方案中可以存储一个或多个程序或一组可执行指令。图3示出其中固件312被存储在虚拟化服务器301的物理存储器316内的实施方案。存储在物理存储器316中的程序或可执行指令可以由虚拟化服务器301的一个或多个处理器308来执行。
虚拟化服务器301还可包括超级管理器302。在某些实施方案中,超级管理器302可以是一种程序,其由虚拟化服务器301上的处理器308来执行,以创建和管理任何数量的虚拟机332。超级管理器302可以被称为虚拟机监视器或平台虚拟化软件。在一些实施方案中,超级管理器302可以是可执行指令以及监视在计算机器上执行的虚拟机的硬件的任何组合。超级管理器302可以是类型2的超级管理器,其中,该超级管理器在执行于虚拟化服务器301上的操作系统314内执行。虚拟机然后在超级管理器之上的层执行。在一些实施方案中,2型超级管理器在用户的操作系统的上下文内执行,以使2型超级管理器与用户的操作系统进行交互。在其它实施方案中,虚拟化环境中的一个或多个虚拟化服务器201可替代地包括1型超级管理器(未示出)。可通过直接访问硬件层310中的硬件和资源在虚拟化服务器301上执行1型超级管理器。就是说,虽然2型超级管理器302通过如所示出的主机操作系统314访问系统资源,但是1型超级管理器可无需主机操作系统314而直接访问所有系统资源。1型超级管理器可以在虚拟化服务器301的一个或多个物理处理器308上直接执行,并且可以包括存储在物理存储器316中的程序数据。
在某些实施方案中,超级管理器302可以向操作系统330或控制程序320提供虚拟化资源,操作系统330或控制程序320以模拟直接访问系统资源的操作系统330或控制程序320的任何方式在虚拟机332上执行。系统资源可以包括但不限于物理装置306、物理盘304、物理处理器308、物理存储器316和包括在虚拟化服务器301硬件层310中的任何其他组件。超级管理器302可以被用于模拟虚拟化硬件、分区物理硬件、虚拟化物理硬件和/或执行提供访问计算环境的虚拟机。在另外的其他实施方案中,超级管理器302控制用于在虚拟化服务器301上执行的虚拟机332的处理器调度和存储器分区。超级管理器302可包括由加利福尼亚州帕罗奥多的VMWare公司制造的那些超级管理器;XEN超级管理器,一种开源产品,其开发由开源Xen.org社区监督;由微软公司提供的HyperV、VirtualServer或虚拟PC超级管理器;或其他超级管理器。在某些实施方案中,虚拟化服务器301执行创建虚拟机平台的超级管理器302,访客操作系统可以在该虚拟机平台上执行。在这些实施方案中,虚拟化服务器301可以被称为主机服务器。这样的虚拟化服务器的例子是由佛罗里达州罗德岱堡的Citrix系统公司提供的XENSERVER。
超级管理器302可以创建访客操作系统330在其中执行的一个或多个虚拟机332B-C(总称为332)。在某些实施方案中,超级管理器302可以加载虚拟机镜像以创建虚拟机332。在其它实施方案中,超级管理器302可在虚拟机332内执行访客操作系统330。在另外的其它实施方案中,虚拟机332可以执行访客操作系统330。
除了创建虚拟机332之外,超级管理器302可控制至少一个虚拟机332的执行。在其它实施方案中,超级管理器302可以向至少一个虚拟机332呈现由虚拟化服务器301提供的至少一个硬件资源(例如,硬件层310内可用的任何硬件资源)的抽象。在其他实施方案中,超级管理器302可以控制虚拟机332访问虚拟化服务器301中可用的物理处理器308的方式。控制对物理处理器308的访问可包括确定虚拟机332是否应有权访问处理器308,以及如何将物理处理器能力提供给虚拟机332。
如图3中所示,虚拟化服务器301可以托管或执行一个或多个虚拟机332。虚拟机332是可执行指令集,其在由处理器308执行时,模仿物理计算机的操作,使得虚拟机332可以非常类似于物理计算设备来执行程序和过程。虽然图3示出其中的虚拟化服务器301托管三个虚拟机332的实施方案,但是在其它实施方案中,虚拟化服务器301可以托管任何数量的虚拟机332。在某些实施方案中,超级管理器302向每个虚拟机332提供该虚拟机332可用的物理硬件、存储器、处理器和其他系统资源的独特虚拟视图。在某些实施方案中,该独特虚拟视图可以基于虚拟机许可、一个或多个虚拟机标识符的策略引擎的应用、访问虚拟机的用户、在虚拟机上执行的应用、由虚拟机访问的网络、或任何其他期望的标准中的一个或多个。例如,超级管理器302可以创建一个或多个非安全虚拟机332和一个或多个安全虚拟机332。非安全虚拟机332可被禁止访问安全虚拟机332可被允许访问的资源、硬件、存储器位置和程序。在其他实施方案中,超级管理器302可以向每个虚拟机332提供该虚拟机332可用的物理硬件、存储器、处理器和其他系统资源的大致相似的虚拟视图。
每一个虚拟机332可包括虚拟盘326A-C(统称为326)和虚拟处理器328A-C(统称为328)。虚拟盘326在一些实施方式中是虚拟化服务器301的一个或多个物理磁盘304或虚拟化服务器301的一个或多个物理磁盘304的一部分的虚拟化视图。物理磁盘304的虚拟化视图可由超级管理器302产生、提供并管理。在一些实施方案中,超级管理器302给每个虚拟机332提供物理磁盘304的不同视图。因此,在这些实施方案中,当与其他虚拟盘326比较时,包括在每个虚拟机332中的特定虚拟盘326可以是不同的。
虚拟处理器328可以是虚拟化服务器301的一个或多个物理处理器308的虚拟化视图。在一些实施方案中,可通过超级管理器302生成、提供和管理物理处理器308的虚拟化视图。在一些实施方案中,虚拟处理器328基本上具有至少一个物理处理器308的所有相同特性。在其他实施方案中,虚拟化处理器308提供物理处理器308的更改视图,使得虚拟处理器328的特性中的至少某些特性不同于对应物理处理器308的特性。
进一步参考图4,本文所描述的一些方面可在基于云的环境中实施。图4说明了云计算环境(或云系统)400的实例。如在图4中看到的,客户端计算机411-414可与云管理服务器410通信以访问云系统的计算资源(例如主机服务器403、存储资源404和网络资源405)。
管理服务器410可以在一个或多个物理服务器上实施。管理服务器410除了可以运行其他软件以外,还可以运行例如佛罗里达州劳德代尔堡CitrixSystems公司的CLOUDSTACK或OPENSTACK。管理服务器410可管理各种计算资源,包括云硬件和软件资源,例如主机计算机403、数据存储设备404和联网设备405。云硬件和软件资源可以包括专用和/或公共组件。例如,云可被配置为由一个或多个特定的消费者或客户端计算机411-414和/或通过私有网络使用的私有云。在其它实施方式中,公共云或混合公共-专用云可通过开放或混合网络由其他消费者使用。
管理服务器410可被配置成提供用户界面,云操作员和云客户可通过用户界面与云系统交互。例如,管理服务器410可以随用户界面提供API集和/或一个或多个云操作员控制台应用(例如,基于web的或独立应用),以允许云操作员管理云资源、配置虚拟化层、管理客户账户、以及执行其他云管理任务。管理服务器410还可包括一组API和/或一个或多个客户控制台应用,其具有配置成经由客户端计算机411-414从终端用户接收云计算请求的用户接口,例如,请求创建、修改或注销在云中的虚拟机。客户端计算机411-414可经由互联网或其它通信网络连接到管理服务器410,并可请求对由管理服务器410管理的一个或多个计算资源的访问。响应于客户端请求,管理服务器410可包括被配置成基于客户端请求来选择并提供在云系统的硬件层中的物理资源的资源管理器。例如,管理服务器410和云系统的另外组件可以经配置在网络(例如,互联网)上在客户端计算机411-414提供、形成和管理用于客户的虚拟机和它们的运行环境(例如,超级管理器、存储资源、由网络元件提供的服务等),向客户提供计算资源、数据存储服务、联网性能以及计算机平台和应用支持。云系统还可被配置成提供各种特定的服务,包括安全系统、开发环境、用户界面等。
特定客户端411-414可以例如与形成代表相同终端用户或附属于相同公司或组织的不同用户的虚拟机的不同客户端计算机相关。在其它示例中,特定客户端411-414可以与例如附属于不同公司或组织的用户不相关。对于不相关的客户端,可对其他用户隐藏关于任一个用户的虚拟机或储存器的信息。
现在参考云计算环境的物理硬件层,可用区401-402(或各区)可以指的是布置的一组物理计算资源。区可以在地理上与计算资源的整个云中的其它区分离。例如,区401可以是位于加利福尼亚的第一云数据中心,且区402可以是位于佛罗里达的第二云数据中心。管理服务器410可位于可用区中的一个区,或在单独的位置。每个区可包括通过网关与在区之外的设备(例如管理服务器410)通过接口连接的内部网络。云的终端用户(例如,客户端411-414)可能或可能未感知到各区之间的区别。例如,终端用户可请求创建具有指定量的存储器、处理能力和网络容量的虚拟机。管理服务器410可对用户的请求做出响应并可分配资源以在用户不知道使用来自区401还是来自区402的资源创建虚拟机的情况下创建虚拟机。在其它实例中,云系统可允许终端用户请求在特定区域或在区域内的特定资源403-405上分配虚拟机(或其它云资源)。
在这个例子中,每个区401-402可包括各种物理硬件组件(或计算资源)403-405(例如物理托管资源(或处理资源)、物理网络资源、物理存储资源、交换机和可用于向客户提供云计算服务的额外的硬件资源)的布置。在云区401-402中的物理托管资源可以包括一个或多个计算机服务器403(诸如上述的经配置可以形成和托管虚拟机实例的虚拟化服务器301)。在云区401或402中的物理网络资源可以包括一个或多个网络元件405(例如,网络服务供应商),其包括经配置向云客户提供网络服务的硬件和/或软件(诸如防火墙、网络地址转换器、负载平衡器、虚拟专用网络(VPN)网关、动态主机配置协议(DHCP)路由器等等)。在云区401-402中的存储资源可包括存储磁盘(例如固态硬盘(SSD)、磁硬盘等)和其它存储设备。
图4中所示的示例性云计算环境还可包括带有被配置以创建和管理虚拟机的其它硬件和/或软件资源的虚拟化层(如,在图1-3中示出的),并使用云中的物理资源给客户提供其它服务。虚拟化层可以包括如上面在图3中所述的超级管理器以及提供网络虚拟化、存储虚拟化等的其它组件。该虚拟化层可以作为与物理资源层分开的层,或可以与物理资源层共享相同的硬件和/或软件资源的部分或全部。例如,虚拟化层可以包括被安装在带有物理计算资源的虚拟化服务器403中的每个中的超级管理器。可以另选使用已知的云系统,例如WINDOWSAZURE(华盛顿雷德蒙德的微软公司),AMAZONEC2(华盛顿西雅图的Amazon.com公司),IBMBLUECLOUD(纽约阿蒙克的IBM公司)或其他云系统。
图5表示的是用于在BYOD环境中使用的企业移动性技术架构500。该架构允许移动设备502的用户从移动设备502访问企业或个人资源两方面并使用移动设备502用于个人用途。用户可使用用户所购买的移动设备502或者企业提供给用户的移动设备502来访问此类企业资源504或企业服务508。用户可使用移动设备502仅用于商业用途或用于商业和个人用途。移动设备可运行iOS操作系统、Android操作系统和/或类似的。企业可选择来实施策略以管理移动设备504。该策略可以通过防火墙或网关以移动设备可以被识别、保障或安全被验证并提供选择性访问或全部访问企业资源的方式来植入。该策略可以是移动设备管理策略、移动应用管理策略、移动数据管理策略或移动设备、应用和数据管理策略的某些组合。通过移动设备管理策略的应用管理的移动设备504可称为登记设备或受管设备。
在一些实施方案中,移动设备的操作系统可分成受管分区510和非受管分区512。受管分区510可具有施用于其的策略,以保护受管分区中运行的应用和存储的数据。在其它实施方案中,所有的应用可根据从应用单独接收的一组一个或多个策略文件执行,且当该应用在设备上执行时,其定义一个或多个安全参数、特征、资源的限制、和/或其它由移动设备管理系统执行的访问控制。通过根据它们各自的策略文件进行操作,每个应用可被允许或限制与一个或多个其它应用和/或资源的通信,从而创建虚拟分区。因此,如本文所用,分区可指存储器的物理分区部分(物理分区),存储器的逻辑分区部分(逻辑分区),和/或创建的虚拟分区,作为如本文描述的跨多个应用执行一个或多个策略和/或策略文件的结果(虚拟分区)。换句话说,通过在受管应用上强制执行策略,这些应用可只限于能够与其它受管应用和值得信赖的企业资源通信,从而创建非受管应用和设备不能通过的虚拟分区。
运行在管理分区上的应用可以是安全应用。安全应用可以是电子邮件应用、web浏览应用、软件即服务(SaaS)访问应用、Windows应用访问应用等。安全应用可以是安全本地应用514、由安全应用启动器518执行的安全远程应用522、由安全应用启动器518执行的虚拟化应用526等。安全本地应用514可由安全应用封装器520封装。当安全本地应用在设备上执行时,安全应用封装器520可包括在移动设备502上执行的综合策略。安全应用封装器520可包括元数据,其指引在移动设备502上运行的安全本地应用514到在企业托管的资源,其中安全本地应用514可在安全本地应用514执行时要求完成请求的任务。由安全应用启动器518执行的安全远程应用522可以在安全应用启动器518内执行。由安全应用启动器518执行的虚拟化应用526可利用移动设备502、企业资源504等等的资源。由安全应用启动器518执行的虚拟化应用526在移动设备502上使用的资源可包括用户交互资源、处理资源,等等。用户交互资源可用于收集和传输键盘输入、鼠标输入、摄像机输入、触觉输入、音频输入、可视化输入、手势输入,等等。处理资源可以用于呈现用户界面、处理从企业资源504接收的数据等。在企业资源504处由安全应用启动器518所执行的虚拟化应用526所使用的资源可以包括用户界面生成资源、处理资源等。用户接口生成资源可用于组装用户接口、修改用户接口、刷新用户接口等。处理资源可用于创建信息、读取信息,更新信息、删除信息等。例如,虚拟化应用可以记录与GUI相关联的用户交互并将它们传送至服务器应用,其中该服务器应用将把用户交互数据用作在服务器上运行的应用的输入。在这种布置中,企业可以选择以在服务器侧维护应用以及与该应用相关联的数据、文件等。虽然企业可以根据本文所述的原理通过将某些应用安全部署在移动设备上来选择“移动化”该某些应用,但是,这种布置也可以被选择用于特定应用。例如,尽管一些应用可被确保其在移动设备上的使用的安全,但其它应用可能未准备或不适于部署在移动设备上,因此企业可选择通过虚拟化技术提供对未准备好的应用的移动用户访问。作为另一示例,企业可能具有带有其中定制移动设备的应用会非常难或相反不合需要的大型和复杂数据集的大型复杂应用(例如,物料资源规划应用),因此,企业可选择通过虚拟化技术提供对应用的访问。作为又一示例,企业可能具有保持高度安全数据(例如,人力资源数据,客户数据,工程数据)的应用,该企业认为所述高度安全数据甚至对安全的移动环境也是很敏感,因此,企业可以选择使用虚拟化技术允许移动设备访问此类应用和数据。企业可能选择在移动设备上提供完全安全和完全功能两者的应用以及虚拟化应用,以允许访问认为更适合在服务器侧运行的应用。在实施例中,虚拟化应用可以将某些数据、文件等存储在移动电话上的安全存储位置中的一个安全存储位置中。例如,企业可以选择允许特定信息而不允许其它信息被存储在电话上。
如本文所述,结合虚拟化应用,移动设备可以具有经设计呈现GUI并随后记录用户与GUI交互的虚拟化应用。应用可以将用户交互传送到服务器侧,以由服务器侧应用使用来作为用户与该应用的交互。作为响应,服务器侧上的应用可以向移动设备回传新GUI。例如,新GUI可以是静态页面、动态页面、动画等。
安全应用可以访问存储在移动设备的管理分区510中的安全数据容器528中的数据。在安全数据容器中保护的数据可由以下应用访问,安全封装的应用514、由安全应用启动器518执行的应用、由安全应用启动器518执行的虚拟化应用526,等等。存储在安全数据容器528中的数据可包括文件、数据库,等等。存储在安全数据容器528中的数据可以包括被限制到特定安全应用530、在安全应用532之间共享等的数据。被限制到安全应用的数据可以包括一般安全数据534和高度安全数据538。通用安全数据可使用强加密形式,诸如AES128位加密等等,而高度安全数据538可使用非常强的加密形式,诸如AES256位加密。在接收来自设备管理器524的命令时,可从设备删除存储在安全数据容器528中的数据。安全应用可以具有双模式选项540。双模式选项540可为用户呈现以非安全模式操作安全应用的选项。在非安全模式中,安全应用可访问存储在移动设备502的非受管分区512的非安全数据容器542中的数据。存储在非安全数据容器中的数据可为个人数据544。存储在非安全数据容器542中的数据,也可由在移动设备502的非受管分区512上运行的非安全应用548访问。当存储在安全数据容器528中的数据从移动设备502中删除时,存储在非安全数据容器542中的数据可保持在移动设备502上。企业可能想从移动装置删除该企业拥有、许可或控制的选定或全部数据、文件和/或应用(企业数据),而留下或以其它方式保存用户所拥有、许可或控制的个人数据、文件和/或应用(个人数据)。该操作可称为选择性擦除。利用根据本文所述的各方面安排的企业和个人数据,企业可以执行选择性擦除。
移动设备可以连接到在企业的企业资源504和企业服务508、连接到公共互联网548等。通过虚拟私有网络连接,移动设备可连接到企业资源504和企业服务508。虚拟私有网络连接(也称为微VPN或应用专用VPN)可以是特定于移动设备上的特定应用550、特定设备、特定安全区域,等等(例如,552)。例如,电话的安全区中的封装应用中的每个可以通过应用专用VPN访问企业资源,使得对VPN的访问将基于与该应用相关联的属性(可能的话,结合用户或装置属性信息)来授权。虚拟私有网络连接可承载MicrosoftExchange流量、MicrosoftActiveDirectory流量、HTTP流量、HTTPS流量、应用管理流量,等等。虚拟私有网络连接可支持并实现单点登录认证过程554。单点登录过程可允许用户提供单个认证凭证集,然后其由认证服务558验证。然后,认证服务558可授权用户访问多个企业资源504,而无需用户提供认证凭证到每个单个的企业资源504。
虚拟私有网络连接可由接入网关560建立和管理。接入网关560可以包括管理、加速并提高企业资源504向移动装置502的输送的性能增强功能。接入网关还可将流量从移动设备502重新路由到公共互联网548,使得移动设备502能够访问在公共互联网548上运行的公共可用的和未保护的应用。移动设备可经由传输网络562连接到接入网关。传输网络562可以是有线网络、无线网络、云网络、局域网、城域网、广域网、公共网络、私有网络等。
企业资源504可包括电子邮件服务器、文件共享服务器、SaaS应用、Web应用服务器、Windows应用服务器等。电子邮件服务器可包括Exchange服务器、LotusNotes服务器等。文件共享服务器可包括ShareFile服务器等。SaaS应用可包括Salesforce等。Windows应用服务器可以包括经构建提供旨在于本地Windows操作系统上运行的应用的任何应用服务器等。企业资源504可以是基于内建式(premise-based)的资源、基于云的资源等。企业资源504可以由移动设备502直接访问或通过接入网关560来访问。企业资源504可以由移动设备502经由传输网络562来访问。传输网络562可以是有线网络、无线网络、云网络、局域网、城域网、广域网、公共网络、私有网络等。
企业服务508可以包括认证服务558、威胁检测服务564、设备管理器服务524、文件共享服务568、策略管理器服务570、社交集成服务572、应用控制器服务574等。认证服务558可以包括用户认证服务、设备认证服务、应用认证服务、数据认证服务等。认证服务558可以使用证书。证书可以由企业资源504等存储在移动设备502上。存储在移动设备502上的证书可以被存储在移动设备上的加密位置,证书可以被暂时存储在移动设备502上用于在认证时使用等等。威胁检测服务564可包括入侵检测服务、未经授权的访问尝试检测服务等。未经授权的访问尝试检测服务可以包括未经授权尝试访问设备、应用、数据等。设备管理服务524可以包括配置、供应、安全、支持、监测、报告和停止使用服务。文件共享服务568可以包括文件管理服务、文件存储服务、文件协调服务等。策略管理器服务570可包括设备策略管理服务、应用策略管理器服务、数据策略管理器服务等。社交集成服务572可包括联系人集成服务、协作服务、社交网络集成,诸如Facebook、Twitter和LinkedIn等。应用控制器服务574可包括管理服务、供应服务、部署服务、分配服务、撤销服务、封装服务等。
企业移动性技术架构500可包括应用商店578。应用商店578可包括未封装的应用580、预封装的应用582等。应用可以从应用控制器574被移置到应用商店578中。应用商店578可以由移动设备502通过接入网关560、通过公共互联网548等来访问。应用商店可以提供直观并易于使用的用户界面。应用商店578可以提供对软件开发工具包584的访问。通过如本说明书中先前的描述封装应用,软件开发工具包584可向用户提供使用户所选的应用安全的能力。使用软件开发工具包584进行封装的应用可以随后通过使用应用控制器574将其移置到应用商店578中来提供给移动设备502。
企业移动性技术架构500可包括管理和分析能力。管理和分析能力可提供与资源如何使用、资源被多久使用一次等相关的信息。资源可包括设备、应用、数据等。如何使用资源可包括哪些设备下载哪些应用、哪些应用访问哪些数据等。资源被多久使用一次可包括应用多久被下载一次、特定的数据集被应用访问了多少次等。
图6是另一个说明性的企业移动性管理系统600。参考图5上述描述的管理系统500的一些组件,为简便起见,已经被省略。图6所示的系统600的架构在许多方面与以上参考图5描述的系统500的架构相似,并可包括上面未提到的其它特征。
在这种情况下,左手边表示带有客户端代理604的登记的/受管移动设备602,其与网关服务器606(其包括接入网关和应用控制器功能)交互以访问各种企业资源608和服务609,诸如,如以上右手边所示的Exchange、Sharepoint、PKI资源、Kerberos资源、和证书发布服务。虽然没有具体示出,但是移动设备602还可与用于应用选择和下载的应用商店交互。
客户端代理604充当UI(用户接口)媒介,用于在企业数据中心托管的Windows应用/桌面,其使用远程显示协议来访问,诸如但不限于ICA协议。客户端代理604还支持移动设备602上的本地应用的安装和管理,诸如本地iOS或Android应用。例如,在以上图中所示的受管应用610(邮件、浏览器、封装的应用)全部是在设备上本地执行的本地应用。客户端代理604和这种架构的应用管理框架(AMF)用于提供驱动管理能力和特征的策略,诸如连接和SSO(单点登录)到企业资源/服务608。客户端代理604处理主用户到企业的认证,通常到具有到其它网关服务器组件的SSO的接入网关(AG)的认证。客户端代理604从网关服务器606获得策略,以控制移动设备602上的AMF受管应用610的行为。在一些可选的实施方案中,一个或多个本机应用(如,其可包括在受管应用610中)可用从客户端代理604接收命令和/或以其它方式与客户端代理604交互来提供安装和/或管理功能。
在一些实施方案中,客户端代理604可单独起移动设备上的策略代理的作用,并且分开的客户端代理可提供接收机和/或虚拟化功能(如,使用上面讨论的显示远程协议)。在这种拆分功能的实现中,例如,客户端代理604可支持本机应用的安装和/或管理,但可不提供接收机和/或虚拟化功能,这可由移动设备上运行的不同的客户端代理执行和/或提供。
本机应用610和客户端代理604之间的安全IPC链接612表示管理信道,其允许客户端代理通过应用管理框架614“封装”每个应用来供给将被实施的策略。IPC通道612还允许客户端代理604提供能够连接和SSO到企业资源608的凭证和认证信息。最后,IPC通道612允许应用管理框架614调用由客户端代理604所实施的用户界面功能,诸如在线认证和离线认证。
客户端代理604与网关服务器606之间的通信基本上是来自包装每个本地受管应用610的应用管理框架614的管理通道的延伸。应用管理框架614从客户端代理604请求策略信息,客户端代理604相应从网关服务器606请求该策略信息。应用管理框架614请求认证,并且客户端代理604登录进入网关服务器606的网关服务部分中。客户端代理604还可以调用在网关服务器606上的支持服务,其可以产生获得用于本地数据仓库616的加密密钥的输入材料,或提供其可以允许对KPI受保护资源直接认证的客户端证书,如下面将更全面解释的。
更详细地,应用管理框架614“封装”每个受管应用610。这可经由明确的构建步骤或经由构建后的处理步骤合并。应用管理框架614可在首次启动应用610时与客户端代理604“配对”,以初始化安全IPC信道并为该应用获得策略。应用管理框架614可以执行本地应用的策略的相关部分(诸如客户端代理登录的依赖关系和限制如何可以使用本地OS服务或本地OS服务如何可以与应用610交互的遏制策略中的某些遏制策略)。
应用管理框架614可以使用客户端代理604在安全IPC通道612上所提供的服务以促进认证和内部网络访问。私有和共享数据仓库616(容器)的密钥管理也可以通过受管应用610与客户端代理604之间的适当交互来管理。仓库616可以只是在在线认证后可用,或如果策略允许,则可以在离线认证后可用。仓库616的第一次使用可以要求在线认证,并且离线访问可以在再次要求在线认证前被限制在至多策略更新阶段。
对内部资源的网络访问可以通过网关服务器606从独立的受管应用610直接发生。应用管理框架614负责精心安排代表每个应用610的网络访问。通过提供遵循在线认证获得的合适时间限制次级凭证,客户端代理604可以促进这些网络连接。可以使用多种网络连接模式,诸如逆向网络代理连接以及端到端VPN式隧道618。
邮件和浏览器受管应用610具有特殊状态并且可以使用一般可能不适合任意封装应用的设备。例如,邮件应用可以使用特殊后台网络访问机制,该访问机制允许邮件应用在延长的时间段内访问Exchange而无需完全AD登录。浏览器应用可以使用多种专用数据仓库以分隔不同种类的数据。
这种架构支持各种其它安全功能的并入。例如,在某些情况下,网关服务器606(包括其网关服务)将不需要验证AD密码。这可以留给企业来判断AD密码是否用作某些情况下的某些用户的认证因素。如果用户在线或离线(即,连接到网络或未连接到网络),则可以使用不同的认证方法。
加强认证的功能在于网关服务器606可以识别经允许访问需要强认证的高度机密数据的受管本地应用610,并且确保对这些应用的访问仅在执行适当的认证后被允许,即使这意味着在先前的较弱级别登录后用户需要再次认证。
这种解决方案的另一安全特征是移动设备602上的数据仓库616(容器)的加密。仓库616可以被加密,使得所有设备上的数据(包括文件、数据库和配置)被保护。对于在线仓库,密钥可存储在服务器(网关服务器606)上,且对于离线仓库,密钥的本地副本可由用户密码保护。当数据本地存储在安全容器616中的设备602上时,优选的是使用最少AES256位的加密算法。
还可实现其它安全容器的特征。例如,日志特征可以被包括,其中,发生在应用610内的所有安全事件被记入并报告给后端。可以支持数据擦除,诸如如果应用610检测到篡改,则相关的加密密钥可以用随机数据改写、没有留下对用户数据被破坏的文件系统的提示。屏幕截图保护是另一功能,其中,应用可以防止任何数据被存储在屏幕截图中。例如,密钥窗口的隐藏属性可以被设置为“是”。这可能会导致屏幕上当前显示的无论什么内容将被隐藏,产生任何内容将通常驻留其中的空白屏幕截图。
可以防止本地数据转移,诸如防止任何数据被本地转移到应用容器外面(例如通过复制本地数据或发送本地数据到外部应用)。可以运行键盘缓存功能以禁用敏感文本字段的自动更正功能。SSL证书验证可以是可操作的,使得应用具体验证服务器的SSL证书,而不是将其存储在密钥链中。可以使用加密密钥生成功能,使得用于加密装置上的数据的密钥使用用户提供的密码来生成(如果需要离线访问的话)。如果不需要离线访问,则可以与随机生成并存储在服务器侧上的另一密钥“异或”。密钥导出功能可操作,使得从用户密码生成的密钥使用KDF(密钥导出功能,尤其是PBKDF2)而不是创建它的密码散列(cryptographichash)。密码散列使得密钥易受蛮力或字典攻击。
此外,一个或多个初始化向量可用于加密方法。初始化向量会导致相同加密数据的多个副本产生不同的密文输出,从而阻止重放和密码攻击两者。如果用于加密数据的特定初始化向量是未知的,则这也将甚至防止攻击者用偷来的加密密钥解密任何数据。此外,可以使用认证接着解密,其中,应用数据只在用户已在应用内被认证后才被解密。另一特征可能涉及到存储器中的敏感数据,只有当需要敏感数据时,该敏感数据会被保存在存储器中(而不是在磁盘中)。例如,登录凭据可以在登录后从存储器擦除,并且加密密钥和在objective-C的示例变量中的其它数据不被存储,因为它们可以很容易被参考。相反,可以向存储器手动分配这些加密秘钥和其它数据。
可以实施休止超时,其中在策略定义的休止期后,用户对话被终止。
可以以其它方式阻止应用管理框架614的数据泄露。例如,当应用610被放在后台中时,存储器可以在预定(可配置)时间段后被清除。当被后台化时,可以对应用的最后显示屏幕拍快照以加快前景化过程。屏幕截图可能包含机密数据,并且因此应被清除。
另一安全特征涉及使用OTP(一次性密码)620,无需使用访问一个或多个应用的AD(活动目录)622密码。在某些情况下,某些用户不知道(或不允许知道)他们的AD密码,那么这些用户可以使用OTP620来认证,诸如通过使用像SecurID的硬件OTP系统(OTP也可以由不同的供应商来提供,例如Entrust或Gemalto)。在某些情况下,在用户与用户ID认证之后,用OTP620发送文本到用户。在某些情况下,这可以仅在在线使用时,利用单一字段的提示来实施。
对于针对其经由企业策略允许离线使用的那些应用610,离线密码可以被实施用于离线认证。例如,企业可能想以这种方式访问企业应用商店。在此情况下,客户端代理604可以要求用户设置自定义的离线密码,并且不使用AD密码。网关服务器606可以提供策略以控制和执行关于最小长度、字符类组成和密码年限的密码标准(诸如通过标准的Windows服务器密码复杂性要求所描述的,尽管这些要求可以被更改)。
另一个特征涉及用于某些应用610的客户端证书的启用作为第二凭证(用于经由微VPN特征访问PKI保护的web资源的目的)。例如,电子邮件应用可利用该种证书。在此情况下,可以支持使用ActiveSync协议的基于证书的认证,其中,来自客户端代理604的证书可以被网关服务器606检索并用在密钥链中。每个受管应用可以具有通过在网关服务器606中定义的标签来识别的一个关联的客户端证书。
网关服务器606可以与企业特殊目的web服务交互,以支持客户端证书的颁布,以允许相关的受管应用认证于内部PKI受保护资源。
客户端代理604和应用管理框架614可以被加强以支持获得和使用用于认证于内部PKI受保护网络资源的客户端证书。可以支持一个以上的证书,诸如匹配各种安全级别和/或分隔要求的证书。该证书可以被邮件和浏览器受管应用使用,并最终被任意包装的应用使用(假设那些应用使用web服务方式的通信模式,其中这对于调解http请求的应用管理框架是合理的)。
在iOS上的客户端证书支持可依靠导入PKCS12BLOB(二进制大对象)到使用的每个周期的每个受管应用中的iOS密钥链。客户端证书支持可使用具有私有存储器内的密钥存储的HTTPS实施方式。客户端证书将不再存在于iOS密钥链中,并且除了潜在的存在于受强保护的“只在线”数据值中以外,不会被存续。
通过要求移动装置602被企业认证,相互SSL也可以被实施以提供另外的安全,并且反之亦然。也可以实施用于对网关服务器606认证的虚拟智能卡。
受限和完全Kerberos支持两者可以是另外的特征。完整支持特征涉及使用AD密码或受信任客户端证书对AD622执行完整Kerberos登录的能力,并且获得Kerberos服务票据(serviceticket)来响应HTTP协商身份验证挑战。有限的支持特征涉及在AGEE中的约束授权,其中AFEE支持调用Kerberos协议过渡,因此其可获取和使用Kerberos服务标签(针对于受约束的授权)以响应于HTTP协商认证挑战。当HTTP(而不是HTTPS)连接在VPN和微VPN模式下被代理时,这种机制在反向网络代理(又名CVPN)模式下工作。
另一特征涉及应用容器锁定和擦除,这可在检测到越狱和获取了管理员权限(root)时自动出现,并且作为来自管理控制台的推送命令出现,并且可以包括远程擦除功能(即使当应用610不运行时)。
可支持企业应用商店和应用控制器的多站点架构或配置,允许在出现故障的情况下从几个不同位置之一服务用户。
在一些情况下,受管应用610可以被允许经由API(示例OpenSSL)访问证书和专用密钥。企业的受信任受管应用610可以被允许利用应用的客户端证书和专用密钥来执行指定的公共密钥操作。各种用例可以被识别并因此受信任,诸如当应用像浏览器一样表现并且不需要证书访问时、当应用读取“我是谁”的证书时、当应用使用证书构建安全对话令牌时,以及当应用使用专用密钥用于重要数据(例如,事务日志)的数字签名或用于暂时数据加密时。
已经讨论可用于提供和/或实现所公开的各种方面的计算架构和企业移动性管理架构,现在将更详细地讨论许多实施方案。具体地,并如上面所介绍的,本公开的一些方面通常涉及使用云同步数据(如,在客户端设备上,诸如移动设备)提供本机桌面的特定实施方案,云同步数据可包括已经从远离在移动设备上提供的本机桌面的另一个桌面被挖掘(如,被提取、被分析和/或选择性地储存)的数据。在下面的讨论的中,根据将提供的一个或多个实施方案,各种示例示出在移动设备上提供本机桌面时数据如何从远程桌面被挖掘、如何与基于云的数据存储平台同步以及如何被使用。通过实现这些和/或其它特征,由于该同步,用户很可能需要的和/或可被用户认为非常重要的信息可在他们的移动设备上本地缓存和/或以其它方式本地储存,并且相应地,甚至在网络连接对移动设备不可用的情况中,这可使信息以被客户化和/或用户熟悉的方式呈现。例如,无论网络连接对移动设备是否可用,本地缓存的信息(其可已经在远程桌面上创建,但在同步期间由移动设备获取)可使用本机查看应用被呈现在移动设备上的本机桌面中。
图7描述了可根据本文描述的一个或多个说明性方面使用云同步数据提供本机桌面的方法的流程图。在一个或多个实施方案中,可通过计算设备(例如,通用计算设备201)执行图7中示出的方法和/或其一个或多个步骤。例如,在一些实例中,在图7中示出的方法可由桌面管理服务执行,该桌面管理服务在一台或多台计算设备上执行和/或以其它方式由一台或多台计算设备提供,诸如一台或多台虚拟化服务器。这种桌面管理服务的示例将在下面进一步详细讨论。在其它实例中,图7中示出的方法可由虚拟机、超级管理器等执行。在又一些其它实例中,图7中示出的方法和/或其一个或多个步骤在一些实例中可由移动设备(其可实现计算设备的一个或多个方面,诸如通用计算设备201)执行。在其它实施方案中,可以用计算机可执行指令实施图7中示出的方法和/或其一个或多个步骤,其中计算机可执行指令存储在诸如非暂时性计算机可读存储器的计算机可读介质中。
在步骤705中,可从远程桌面挖掘数据。例如,远程桌面可以是应用、文档和个性化设置的集合,其可经由特定操作系统和/或操作系统的特定实例提供和/或以其它方式与特定操作系统和/或操作系统的特定实例关联。在从这样的远程桌面挖掘数据时,任何和/或所有这些信息可被识别、收集和/或以其它方式从桌面提取、可被分析以确定所提取的数据的各个部分是否应被储存(如,出于同步的目的)、并且可将选定用于存储(如,基于该分析)的所提取的数据的一个或多个部分储存在另一个系统或服务器上(如,以促进下面将更详细讨论的同步)。在一些实例中,可由在源桌面上运行的代理或其它应用(如,插件、脚本等)从远程桌面(在一些实例中其还可被称为“源”桌面)提取、分析和/或选择性地储存数据,该代理或其它应用配置为提取、分析和选择性地储存来自桌面(包括应用快捷方式、文档、设置和/或其它类型的信息,如下面所讨论的)的各种信息和将该信息与基于云的数据平台同步(也如下面所讨论的)。在其它实例中,可由服务(如,桌面管理服务)或在一台或多台虚拟化服务器(如,其可提供源桌面)上执行的其它应用和/或包括虚拟机和/或在服务器上执行的超级管理器的一台或多台其它机器提取、分析和/或选择性地储存来自源桌面的数据。例如,可由在这种机器上执行的概要管理软件提取、分析和/或选择性地储存来自源桌面的信息,并且概要管理软件可配置为从网络共享拉取用户信息,该网络共享可包括与用户的网络概要相关的信息。在一些实例中,这种概要管理软件可以是桌面管理服务的一部分,而在其它实例中,该概要管理软件可提供桌面管理服务,诸如在下面更详细讨论的桌面管理服务。
在一些实例中,所提取的、所分析的和/或选择性地储存的数据可包括一个或多个应用快捷方式、一个或多个文档、一个或多个注册表项、一个或多个个性化设置或一个或多个布局设置。例如,应用快捷方式和文档可包括最近访问和/或使用的应用和文档以及其它应用和文档,该其它应用和文档可呈现在包括在桌面内的各种菜单和/或其它元件上和/或可经由包括在桌面内的各种菜单和/或其它元件访问。另外,注册表项、个性化设置和布局设置可定义各种优选项和/或其它设置,该各种优选项和/或其它设置控制和/或影响桌面的若干不同的方面。例如,个性化设置可包括定制的拼写检查字典,其被包括在桌面内的一个或多个应用(如,文字处理应用、电子邮件应用、即时消息应用等)使用。如另一个示例,个性化设置可包括用户的收藏的网站和/或网络文件夹的书签。
在一些实例中,远程桌面可与第一操作系统关联并且本机桌面(如,其可呈现在客户端设备上,如下面所讨论的)可与不同于第一操作系统的第二操作系统关联。例如,远程桌面可以是WINDOWS桌面(如,其可以由用户在工作计算机上频繁访问),并且本机桌面可以是iOS或ANDROID桌面(如,其可呈现在用户移动设备上,如下面所讨论的)。
在步骤710中,数据可与基于云的数据存储平台同步。例如,在步骤710中,(如,其在步骤705中被提取、分析和/或选择性地储存的)数据可被上传到和/或被以其它方式与诸如Citrix系统的SHAREFILE的基于云的数据存储平台交换。例如,代理、应用或服务(如,桌面管理服务)可将所提取的、分析的和/或选择性地储存的数据与基于云的存储平台同步和/或促使该同步的发生(如,通过与基于云的存储平台交换数据和/或促使该数据被与基于云的存储平台交换)。如在下面所说明的,该同步可使其它设备和/或系统能够获取该数据(如,通过连接到基于云的数据存储平台和/或从基于云的数据存储平台下载数据)。
在一些实施方案中,除了和/或代替使用基于云的数据存储平台将所提取的、分析的和/或选择性地储存的数据与移动设备同步(如,下面所讨论的),可利用另外的和/或可选的同步技术和/或服务。例如,在一些实施方案中,从远程桌面挖掘的数据可通过ICA通道与移动设备同步并随后缓存到移动设备上用于在呈现本机桌面时使用(例如,如在下面所讨论的)。数据可被同步和/或缓存到移动设备的另外的和可选的方式将在下面更详细地讨论。
在步骤715中,可促使本机桌面使用经同步的数据呈现在客户端设备(如,其可以是移动设备)上。例如,这种本机桌面可包括由在移动设备上执行的接收机软件管理的本机呈现的桌面,并且经同步的数据可本地缓存在移动设备上并在呈现本机桌面和/或提供对应用、文档和/或其它信息的访问时使用,该应用、文档和/或其它信息从远程桌面中提取、分析和/或选择性地储存。例如,如果远程桌面包括若干文档、应用快捷方式和特定桌面背景图片,本机桌面也可包括相同的文档、应用快捷方式和桌面背景图片(如,由于使用了从基于云的数据存储平台获取的同步数据)。另外,并且如下面将更详细讨论的,移动设备的用户可能够使用移动设备上(如,如果这种应用可用)的本机查看应用(如,本机文档查看应用、本机文字处理应用等)和/或使用虚拟化的、远程应用(如,如果本机查看应用不可用)与这些文档和/或其它文件交互。
在图7中的方法由桌面管理服务(如,其可在提供远程桌面/源桌面的一台或多台虚拟化服务器上执行)实施的实例中,例如,通过配置移动设备来访问基于云的存储平台以下载、储存和/或维护移动设备上的同步数据,这种桌面管理服务可促使本机桌面呈现在移动设备上。此外,在促使本机桌面呈现在移动设备上时,桌面管理服务还可配置移动设备以在呈现桌面到用户(如,以响应于接收对查看和/或与本机桌面交互的请求)时使用同步数据。例如,在以这些方式配置移动设备时,桌面管理服务可建立和/或修改移动设备的一个或多个设置和/或可在移动设备上执行的一个或多个软件应用的一个或多个设置。例如,在配置移动设备时,桌面管理服务可建立和/或修改安装在移动设备上和/或以其它方式配置为在移动设备上运行的接收机应用的一个或多个设置,并且这些设置可支持和/或促使接收机应用访问基于云的存储平台以获取和/或本地缓存被基于云的存储平台维护(按用户请求查看桌面时的需要、根据时间表周期性地等)的同步数据。特别是,除了所挖掘的数据在远程桌面和云存储平台之间同步外,数据还可在云存储平台和连接到远程桌面的特定用户的一台或多台设备之间同步。例如,这种数据可由移动设备按需下载(如,当用户打开或切换到移动设备上的接收机应用时)和/或可周期性地(如,根据时间表,诸如每小时、每天等)馈送到移动设备。在一些实例中,当对一台设备或一个桌面上的同步的数据做出改变,云存储平台和/或桌面管理服务可将改变推送到其它设备中(如,当连接可用和/或可被建立时)以使所有经同步的设备在根据本公开的各个方面的本机桌面中能够呈现同步数据的最新版本。
在一个或多个实施方案中,呈现在移动设备上的本机桌面(如,在步骤715中)可取决于由用户使用的设备和/或在设备上运行的操作系统的类型。例如,如果移动设备运行iOS操作系统,则呈现在移动设备上的本机桌面可具有特定特征以使本机桌面的外观和感觉与iOS操作系统和/或在设备上执行的其它应用是符合和/或无缝的。类似地,如果移动设备运行ANDROID操作系统,则呈现在移动设备上的本机桌面可具有特定特征以使本机桌面的外观和感觉与ANDROID操作系统和/或在设备上执行的其它应用是符合和/或无缝的。在其它实例中,基于与设备一起使用的不同的操作系统(如,不同于iOS和ANDROID),本机桌面可呈现在移动设备上。另外,在一些布置中,呈现出本机桌面的设备可以不是移动设备;相反,设备可以是绳系设备、有线计算机设备等。
例如,在一些实例中,促使本机桌面呈现在移动设备上可包括促使使用本机桌面的至少一个本机应用呈现至少一些经同步的数据。例如,如果同步数据包括MICROSOFTWORD文档并且呈现在移动设备上的本机桌面是APPLEiOS桌面,则促使将呈现的同步数据可包括在APPLEPAGES或在移动设备上本机执行和/或呈现的另一个文字处理应用中呈现该文档。
在其它实例中,促使本机桌面呈现在移动设备上可包括如果用于至少一些经同步的数据的本机查看应用不可用,则促使远程应用呈现在移动设备上。例如,如果同步数据包括MICROSOFTWORD文档,如在上面的示例中,但是本机桌面和/或移动设备不包括能够被显示和/或编辑该文档的应用,则可切换到远程执行的应用和/或以其它方式呈现在移动设备上以支持对该文档的访问和/或编辑(如,如果网络连接对移动设备可用)。因此,在这个示例中,MICROSOFTWORD的远程会话可被显示在移动设备上和/或以其它方式呈现在移动设备上。例如,该远程会话可以是由远程服务器(如,而不是本机执行的和/或呈现的应用)使用上面讨论的虚拟技术的一个或多个方面提供的MICROSOFTWORD应用的虚拟化。以这种方式,远程执行的应用(如,来自WINDOWS桌面)可在本机桌面上被调用,因此允许用户无缝地和透明地在本机应用和远程应用之间切换以提供增强的、无缝的用户体验。
在一些实施方案中,本机桌面可使用接收机应用呈现在移动设备上,该接收机应用安装在移动设备上和/或由移动设备执行。在其它实例中,任何期望的软件应用可用于呈现本机桌面,包括可由用户从应用商店下载和/或安装的一个或多个应用。
在步骤720中,可促使在移动设备和配置为提供远程桌面的第二设备(诸如虚拟机或超级管理器)之间建立后台连接。例如,在远程桌面是远程WINDOWS桌面并且本机桌面是呈现在移动设备上的iOS或ANDROID桌面时,在本机桌面被首先呈现、显示和/或以其它方式呈现在移动设备上后,移动设备(和/或在其上执行的接收机软件)可建立到远程WINDOWS桌面的连接。例如,这可减少移动设备的用户等待访问和/或查看他们的文档和应用的时间量(如,相对于如果本机桌面不可用则用户不得不等待的时间量和用户不得不等待远程桌面加载和显示的时间量)。换句话说,通过在本机桌面首先被呈现后在后台中建立到远程桌面的连接,用户可察觉他们具有对其文档、应用和其它数据的即时访问。
在步骤725中,对客户端设备上的同步数据做出的改变可与基于云的数据存储平台同步。例如,如果至少一些同步数据在移动设备上被改变(如,由于用户编辑和/或以其它方式修改本机查看应用中和/或本机桌面中的至少一些数据),则这些改变的任何和/或所有可与基于云的数据存储平台同步以使这些改变在远程桌面(如,远程WINDOWS桌面)上反映出来。例如,如果用户利用移动设备上的本机文字处理应用编辑包括在本机桌面中的文档,用户所保存的对该文档的改变可与基于云的数据存储平台同步以便当用户后来在远程桌面上访问该文档时,在移动设备上对该文档做出的修改被反映出来。
在一些实施方案中,所挖掘的和所同步的数据(如,由基于云的数据存储平台维护的)和/或这些数据的本地缓存的副本(如,在移动设备上维护的)可由许多不同的安全措施保护以使网络管理员和/或其它用户控制对数据的访问和/或编辑。例如,在一些实例中,基于位置的安全措施可被配置和/或由网络管理员实现以使移动设备用户可在一个或多个特定位置(如,在工作地点、在特定的办公楼等)能够访问、打开、查看和/或编辑本地缓存的数据,但是在其它位置时(如,在移动设备用户的家里)可以其它方式被限制访问、打开、查看和/或编辑这些数据。例如,类似的限制可被配置和/或实现以控制和/或限制可经由本机桌面执行和/或提供的应用。另外地或可选地,其它设置可被配置和/或实现以将本机桌面的应用的执行和/或内含的软件控制和/或限制到一个或多个特定的、受保护的移动应用(如,而不是可以其它方式从应用商店安装到移动设备上的任何应用)。
在所挖掘和所同步的(如,由基于云的数据存储平台维护的)数据和/或(如,在客户端设备上维护的)该数据的本地缓存的副本是安全的实例中,一个或多个策略可被定义、应用、强制实施和/或以其它方式用于控制该数据被存取和/或使用的方式。例如,这种策略可根据客户端设备的当前背景定义数据的允许和/或禁止使用,其可根据与客户端设备相关的状态信息被评估。例如,这种状态信息包括关于客户端设备上被安装和/或使用的应用和/或文件、客户端设备被放置的位置和/或客户端设备被连接到的网络。例如,这种状态信息可由在客户端设备上运行的管理代理监测,并且除了监测该状态信息外,管理代理还可强制执行策略的遵守(如,通过选择性地启用和/或禁用客户端设备的一个或多个功能、选择性地启用和/或禁用在客户端设备上加载的应用的一个或多个功能、选择性地启用和/或禁用对客户端去设备上的一个或多个具体信息资源的访问等)。
在一些实施方案中,一个或多个策略可配置为控制本机桌面的行为。特别地,例如,基于与客户端设备相关的状态信息,一个或多个策略可被配置为控制、保护和/或以其它方式影响呈现在客户端设备上的本机桌面的行为。例如,根据与客户端设备相关的状态信息,可被应用、强制执行和/或以其它方式在客户端设备上使用的一个或多个策略中的至少一个策略可被配置为选择性地禁用和/或启用客户端设备的本地缓存的能力和/或以其它方式储存所挖掘和/或所同步的数据。如另一个示例,根据与客户端设备相关的状态信息,可被应用、强制执行和/或以其它方式在客户端设备上使用的一个或多个策略中的至少一个策略可被配置为控制是否需要认证来访问客户端设备上的一个或多个缓存的文件。如另一个示例,根据与客户端设备相关的状态信息,可被应用、强制执行和/或以其它方式在客户端设备上使用的一个或多个策略中的至少一个策略可被配置为控制是否允许本机桌面在查看和/或编辑所挖掘和所同步的数据时使用一个或多个本机编辑器和/或其它本机应用。如另一个示例,根据与客户端设备相关的状态信息,可被应用、强制执行和/或以其它方式在客户端设备上使用的一个或多个策略中的至少一个策略可被配置为控制是否允许本机桌面在查看和/或编辑所挖掘和所同步的数据时使用一个或多个远程应用。如另一个示例,根据与客户端设备相关的状态信息,可被应用、强制执行和/或以其它方式在客户端设备上使用的一个或多个策略中的至少一个策略可被配置为选择性地允许和/或禁止客户端设备上的一个或多个具体应用查看、编辑和/或以其它方式访问所挖掘和所同步的数据。
关于移动设备上的本机桌面在一些实施方案中是如何被保护以及可在一些实施方案中使用的另外的计算系统架构和计算环境的另外的细节在2013年3月29日提交的序列号为61/806,577,题目为“用于企业移动性管理的系统和方法(SYSTEMSANDMETHODSFORENTERPRISEMOBILITYMANAGEMENT)”的美国专利申请中更详细地被讨论,该美国专利申请通过以其整体并入本文并用于所有目的。
图8-12描述了根据本文描述的一个或多个说明性方面可在使用云同步数据提供本机桌面时显示在移动设备上的示例性用户界面。
图8示出包括本机桌面800的用户界面的示例,该本机桌面800可在移动设备(如,智能手机、平板计算机、任何其它类型的移动计算设备等)上本地呈现和显示。如在图8中所见,本机桌面800可包括开始按钮805,其可以是用户可选择的按钮,支持用户查看程序、文档和可被访问和/或显示的其它文件的菜单。在一个或多个实施方案中,菜单的内容可反映包含在远程桌面(如,远程WINDOWS桌面)中的开始菜单的内容,其已经被提取、分析和/或选择性地储存并随后按照在上面所讨论的示例被同步。另外,本机桌面800可包括类似地可反映包含在远程桌面(如,作为在上面实施的同步的结果)中的文档的一个或多个文档810、815、820和825。
在一个或多个实施方案中,本机桌面800还可包括许多其它按钮和指示器,包括远程桌面按钮830(其可以是支持用户查看本机桌面与其同步的远程桌面的用户可选择按钮)、连接状态指示器835(其可指示到远程桌面的后台连接是否已经被建立)、查看桌面按钮840(其可以是在如果另一个窗口被显示时支持用户查看桌面的用户可选择按钮)和应用切换按钮845(其可以是支持用户在不同的应用和/或文件之间切换显示的用户可选择按钮)。
图9示出本机桌面900的另一个示例。如在图9中所见,基于所选择的开始按钮905,菜单910可被显示为包括各种应用、文档和/或其它文件。在一个或多个实施方案中,菜单910的内容可对应于包含在本机桌面900与其同步的远程桌面中的类似菜单的内容。例如,使用上面讨论的数据挖掘和同步技术,在远程桌面(如,其可以是远程WINDOWS桌面)中的用户的开始菜单的内容可呈现在本机桌面900中以允许用户访问和/或查看应用、文档和/或以熟悉的方式包含在移动设备上的开始菜单中的其它文件。
图10示出用户界面1000的示例,其中,本机查看应用被显示。如在图10中所见,用户界面1000可包括(如,使用上面所讨论的数据挖掘和同步技术)已经与移动设备上的本机桌面同步的文档的内容。另外,用户界面1000可包括菜单按钮1005,当被选择时,菜单按钮1005可促使菜单1010被显示。相应地,菜单1010可包括许多选项1015、1020、1025,其允许移动设备的用户实施关于文档的各种动作。例如,菜单1010可包括开放应用选项1015,当被选择时,该开放应用选项可促使移动设备从在本机查看应用中显示文档切换到在远程应用中呈现文档。另外地,菜单1010可包括发送文件选项1020,其可允许用户发送文档到一个或多个接收者,以及复制链接选项1025,其可允许用户与一个或多个接收者分享文档的链接。
图11示出用户界面1100的示例,其中,文档在远程应用中被呈现。特别地,用户界面1100可被显示以响应于用户选择先前示例中的菜单1010的开放应用选项1015。基于该选择,移动设备可为文档呈现远程应用,如在图11中所见。
图12示出本机桌面1200的另一个示例。如在图12中所见,基于移动设备的用户选择应用切换按钮1205,应用切换菜单1210可被显示。另外,应用切换菜单1210可包括许多图标1215和1220,并且这些图标中的每个可对应于可经由本机桌面1200访问的不同的文档。在一些实例中,可包括在应用切换菜单1210中的所有文档和/或应用快捷方式可对应于在移动设备上本地执行和/或本机呈现的文档和/或应用。在其它实例中,可包括在应用切换菜单1210中的一些或所有文档和/或应用快捷方式可对应于在移动设备上远程执行和/或简单显示的文档和/或应用。
图13描述了根据本文描述的一个或多个说明性方面的用于使用云同步数据提供本机桌面的系统1300的示例。如在图13中所见,系统1300可包括虚拟化服务器1305、一个或多个云服务器1335和客户端设备1345。在一些实施方案中,系统1300可包括其它元件代替和/或除本文讨论的那些以外。例如,系统1300可包括多个虚拟化服务器和/或多个客户端设备。
在一种或多种布置中,虚拟化服务器1305可实现通用计算设备201的一个或多个方面。例如,虚拟化服务器1305可包括一个或多个处理器、存储器和/或其它组件,例如,该其它组件可使得虚拟化服务器1305接收、储存和/或执行各种指令。另外地或可选地,虚拟化服务器1305可实现虚拟化服务器301的一个或多个方面。
在一些实施方案中,虚拟化服务器1305可提供对一个或多个虚拟桌面的信息的访问和/或储存,例如,根据本公开的一个或多个方面,该一个或多个虚拟桌面包括可由移动设备的用户访问和/或使用的远程桌面1310。虚拟化服务器1305可提供桌面管理服务1315(如,其可由虚拟化服务器1305通过储存和/或执行促使虚拟化服务器1305提供桌面管理服务1315的计算机可读指令来提供)。
在一些实施方案中,桌面管理服务1315可包括各种代理,其可执行特定任务和/或提供可促进本公开的各个方面的其它功能。例如,桌面管理服务1315可包括数据挖掘代理1320、同步代理1325和管理代理1330。在其它实施方案中,桌面管理服务1315可包括其它代理和/或其它元件代替和/或除本文讨论的那些以外。
在一些布置中,数据挖掘代理1320可识别、收集和/或提取来自一个或多个虚拟桌面的信息,包括远程桌面1310。另外,数据挖掘代理1320可分析所识别的、所收集的和/或所提取的信息来确定这种信息是否应该被储存用于同步的目的。数据挖掘代理1320还可储存基于该分析被选择储存的信息的部分。例如,数据挖掘代理1320可将该信息的任何和/或全部本地储存在由虚拟化服务器1305维护和/或可由虚拟化服务器1305访问的一个或多个数据库中。另外,以及如上面所讨论的,由数据挖掘代理1320从诸如远程桌面1310的虚拟桌面收集和/或提取的信息的类型可包括应用快捷方式、文档、注册表项、个性化设置、布局设置和其它类型的信息。
在一些布置中,同步代理1325可将由数据挖掘代理1320储存的信息上载到基于云的存储平台,诸如基于云的存储平台1340。例如,根据本公开的各个方面,该上载可使得其它设备和/或其它系统获取由数据挖掘代理1320储存的信息用于在呈现本机桌面时使用。另外,同步代理1325可接收信息和/或以其它方式与基于云的存储平台1340交换信息以确保由数据挖掘代理1320储存的信息保持最新。特别地,随着对其它设备上的这种信息作出改变,以及随着这种改变被反映被接着储存在基于云的存储平台1340中的信息中,该被改变的和/或被更新的信息可被同步代理1325下载,以使在其它系统上做出的任何改变在由虚拟化服务器1305提供的虚拟桌面1310中被反映。
在一些布置中,管理代理1330可促使本机桌面在一个或多个客户端设备上呈现,诸如客户端设备1345。在促使本机桌面在客户端设备上呈现时,例如,管理代理1330可配置客户端设备(和/或在客户端设备上被加载和/或被执行的一个或多个软件应用)以使得设备(和/或设备上的应用)使用可由数据挖掘代理1320储存和/或由同步代理1325与基于云的存储平台1340同步的信息呈现本机桌面。
在一种或多种布置中,一个或多个云服务器1335可实现通用计算设备201的一个或多个方面。例如,一个或多个云服务器1335中的每个可包括一个或多个处理器、存储器和/或其它组件,例如,该其它组件可使得每个服务器接收、储存和/或执行各种指令。
在一些实施方案中,该一个或多个云服务器1335可提供基于云的存储平台1340。例如,该一个或多个云服务器1335可储存与基于云的存储平台1340相关的数据并提供与基于云的存储平台1340相关的其它功能,诸如认证、加密和其它功能。
在一些实施方案中,基于云的存储平台1340可提供数据存储、文件共享和其它功能到各种用户,包括可与一个或多个特定组织或其它实体相关的各种企业用户。在一些实例中,基于云的存储平台1340可以是企业资源,类似于企业资源504,并可以是在提供移动计算服务时(如,到员工、合同工、成员、联盟、授权用户和/或其它实体)由组织或其它实体采用的企业移动架构的一部分。
在一种或多种布置中,客户端设备1345可实现通用计算设备201的一个或多个方面。例如,客户端设备1345可包括一个或多个处理器、存储器和/或其它组件,例如,该其它组件可使得客户端设备1345接收、储存和/或执行各种指令。在一些实例中,客户端设备1345可以是移动设备,诸如智能手机、平板计算机或其它类型的移动计算设备。
在一些实施方案中,客户端设备1345可包括和/或提供(如,通过计算机可读指令的存储和/或执行)同步代理1350、缓存1355和接收机应用1360。在一些布置中,同步代理1350可连接到一个或多个云服务器1335并可从基于云的存储平台1340下载信息、上载信息到基于云的存储平台1340和/或与基于云的存储平台1340交换信息。由同步代理1350从一个或多个云服务器1335获取的信息可因而包括从远程虚拟桌面1310挖掘的信息和/或其它信息。另外,同步代理1350可将从基于云的存储平台1340获取的信息储存在客户端设备1345上的本地缓存1355中。
在一些布置中,接收机应用1360可以是在客户端设备1345上加载和/或由客户端设备1345执行的软件应用。例如,接收机应用1360可提供本机桌面1365,并且在一些实例中,本机桌面1365可由接收机应用1360使用被同步代理1350储存在缓存1355的信息和/或以其它方式从远程桌面1310获取的信息来呈现。通过使用储存在缓存1355中的信息呈现本机桌面1365,即使在网络连接不能在客户端设备与虚拟化服务器1305和/或一个或多个云服务器1335之间建立的实例中,接收机应用1360可使得客户端设备1345的用户查看和/或与本机桌面1365交互。在这种网络连接可以被建立的时间中,当提供本机桌面1365到客户端设备1345的用户时,接收机应用1360还可与虚拟桌面1310直接交换数据。
虽然同步代理1350作为与图13中的接收机应用1360分开的元件被示出,在其它布置中,同步代理1350并入接收机应用1360,使得接收机应用1360本身可连接到基于云的存储平台1340和/或与基于云的存储平台1340交换数据以同步信息,包括在呈现本机桌面1365时可被接收机应用1360使用的信息。
图14-16描述了根据本文描述的一个或多个说明性方面示出在计算设备处呈现本机桌面的各种方法的流程图。特别地,在图14-16中显示的流程图示出可在不同的布置中提供本机桌面时由移动设备执行的步骤。出于说明的目的,在这些流程图中显示的这些方法将结合在图13中显示的系统架构来描述。然而,应理解的是,在其它实施方案中,在这些流程图中显示的方法可结合另外的和/或可选的系统架构来实施。
在图14所显示的示例方法中,移动设备可本地缓存远程桌面的表示,而不缓存远程桌面的其它方面,并随后在呈现本机桌面时使用该本地缓存的数据。另外,在图14所显示的示例方法中,移动设备可本地缓存远程桌面的表示而不涉及基于云的存储平台。
特别地,方法可从步骤1405开始,其中,接收机应用可被发起。例如,在步骤1405中,客户端设备1345可发起、打开和/或以其它方式启动接收机应用1360的执行。在一些实例中,接收机应用1360可由同步代理1350在客户端设备1345上发起以促使接收机应用1360连接到远程桌面1310和/或与远程桌面1310交换数据(如,以同步在缓存1355中储存的数据)。例如,接收机应用1360可根据时间表被周期性地发起、只要客户端设备1345和虚拟化服务器1305之间的网络连接可用时自动地发起和/或基于一个或多个其它准则发起。
在步骤1410中,客户端设备1345可建立到虚拟化服务器1305的连接。特别地,客户端设备1345可连接到虚拟化服务器1305以提取和储存来自远程桌面1310的数据。
在步骤1415中,客户端设备1345可缓存远程桌面1310的表示。远程桌面的表示(如,其可在步骤1415中被缓存)可包括包含在远程桌面上和/或从桌面可访问的一个或多个菜单中的文件和/或文件夹的一个或多个名字、用于这些文件和/或文件夹的一个或多个图标、限定图标和/或菜单的布置和/或布局的信息、一个或多个桌面背景和/或与远程桌面相关的其它元数据。这些信息的任何和/或全部可在步骤1415中由客户端设备1345通过在接收机应用1360和远程桌面1310之间建立的连接(如,其可以是ICA通道)下载。另外,即使在接收机应用1360被关闭后和/或客户端设备1345和虚拟化服务器1305之间的连接被断开后,客户端设备1345可在缓存1355中储存远程桌面1310的表示。
在步骤1420中,基于在步骤1415中缓存的远程桌面1310的表示,客户端设备1345可呈现本机桌面。例如,在步骤1420中,接收机应用1360可促使客户端设备1345显示包括本机桌面1365的用户界面。在生成本机桌面1365可被呈现和/或显示在其中的用户界面时,接收机应用1360和/或客户端设备1345可访问和/或使用储存在缓存1355中的信息,包括缓存的远程桌面1310的表示,使得本机桌面1365的外观反映远程桌面1310的外观。
在步骤1425中,客户端设备1345可确定对访问文件的请求是否已经被接收。例如,在步骤1425中,客户端设备1345可确定对应于对包括在本机桌面1365中的文件的访问的请求的用户输入是否已经被接收。如果该请求已经被接收,则在步骤1430中,客户端设备1345可确定本机编辑器在客户端设备1345上对于被请求的文件是否可用。例如,这种本机编辑器可以是软件应用,其在客户端设备1345上加载和/或由客户端设备1345可执行并允许(如,客户端设备1345的用户已经请求访问的)文件被查看和/或被编辑。
如果本机编辑器可用(如,在步骤1430中),则在步骤1435中,客户端设备1345可下载与所请求的文件相关的文件数据并随后在本机编辑器中打开该文件。例如,文件数据可由客户端设备1345经由先前建立的到虚拟化服务器1305和远程桌面1310的连接下载。如果该连接已经被断开,客户端设备1345可尝试重建到虚拟化服务器1305和远程桌面1310的连接。如果该连接不能被建立,客户端设备1345和/或接收机应用1360可显示错误消息。否则,一旦连接已经被建立并且文件数据已经被下载,客户端设备1345可发起本机编辑器和/或促使本机编辑器打开文件数据以便允许客户端设备1345的用户查看和/或编辑所请求的文件。
如果本机编辑器不可用(如,在步骤1430中),则在步骤1440中,客户端设备1345可发起并呈现远程应用。例如,即使本机编辑器在客户端设备1345上不可用,远程应用可使得客户端设备1345的用户能够查看和/或编辑所请求的文件。例如,该远程应用可由虚拟化服务器1305提供(如,经由先前在客户端设备1345和虚拟化服务器1305之间建立的连接)并经由接收机应用1360在客户端设备1345上呈现。如果现在在客户端设备1345和虚拟化服务器1305之间建立的连接已经被断开,则客户端设备1345可尝试重建到虚拟化服务器1305和远程桌面1310的连接。如果该连接不能被建立,客户端设备1345和/或接收机应用1360可显示错误消息。否则,一旦连接已经被建立,客户端设备1345和/或接收机应用1360可呈现由虚拟化服务器1305提供的远程应用,以允许客户端设备1345的用户查看和/或编辑所请求的文件。
如果对文件的访问的请求未被接收到(如,在步骤1425中),则在步骤1445中,客户端设备1345可确定对打开应用的请求是否已经被接收。例如,在步骤1445中,客户端设备1345可确定对应于对包括在本机桌面1365中的打开应用的请求的用户输入是否已经被接收。如果该请求已经被接收,则在步骤1450中,客户端设备可发起并呈现远程应用。例如,远程应用可对应于请求被打开的应用,并且如在上面所讨论的示例中,远程应用可由虚拟化服务器1305提供并经由接收机应用1360在客户端设备1345上呈现。如果现在在客户端设备1345和虚拟化服务器1305之间建立的连接已经被断开,则客户端设备1345可尝试重建到虚拟化服务器1305和远程桌面1310的连接。如果该连接不能被建立,客户端设备1345和/或接收机应用1360可显示错误消息。否则,一旦连接已经被建立,客户端设备1345和/或接收机应用1360可呈现由虚拟化服务器1305提供的远程应用,以允许客户端设备1345的用户与所请求的应用交互。
随后,方法可结束。另外地或可选地,一个或多个步骤可被周期性地重复(如,在循环中),以使能所缓存的远程桌面的表示的连续同步和/或各种请求、用户输入和/或其它输入的连续处理。
在图15显示的示例方法中,移动设备可本地缓存远程桌面的表示,以及用于包含在远程桌面中的一个或多个文件中的大量数据的至少一些数据,并且移动设备可随后在呈现本机桌面和在某些实例中提供对所缓存文件的访问时使用该本地缓存的数据。另外地,在图15所显示的示例方法中,移动设备可本地缓存远程桌面的表示和/或文件数据而不涉及基于云的存储平台。
特别地,方法可从步骤1505开始,其中,接收机应用可被发起。例如,在步骤1505中,客户端设备1345可发起、打开和/或以其它方式启动接收机应用1360的执行,类似于接收机应用在上面讨论的步骤1405中可被发起的方式。在步骤1510中,客户端设备1345可建立到虚拟化服务器1305的连接,类似于这种连接在上面讨论的步骤1410中可被建立的方式。在步骤1515中,客户端设备1345可缓存远程桌面1310的表示,类似于这种远程桌面的表示在上面讨论的步骤1415中可被缓存的方式。
在步骤1520中,客户端设备1345可缓存与远程桌面1310相关的文件数据。例如,这种文件数据可包括包含在和/或组成储存在和/或以其它方式包含在远程桌面1310中的一个或多个文件的大量数据。如在上面所讨论的示例中,即使在接收机应用1360被关闭后和/或客户端设备1345和虚拟化服务器1305之间的连接被断开后,客户端设备1345可储存和/或以其它方式维护所缓存的文件数据(如,在缓存1355中)。通过以这种方式储存和/或维护所缓存的文件数据,例如,如果客户端设备1345的用户返回接收机应用1360并希望与关联于远程桌面1310的缓存文件交互,则客户端设备1345可使能对所缓存的文件数据的离线访问。在一些实例中,在缓存与远程桌面1310相关的文件数据时,客户端设备1345可下载和/或缓存用于可包含在用户的远程桌面1310中的所有文件的数据,同时在其它实例中,客户端设备1345可下载和/或缓存仅用于所选择的文件的数据。例如,特定文件可基于用户偏好、空间和/或带宽限制、一个或多个算法和/或其它因素来缓存。
在步骤1525中,客户端设备1345可基于在步骤1515中缓存的远程桌面1310的表示呈现本机桌面,类似于本机桌面在上面讨论的步骤1420中可被呈现的方式。在步骤1530中,客户端设备1345可确定对访问所缓存的文件的请求是否已经被接收。例如,在步骤1530中,客户端设备1345可确定对应于对包括在本机桌面1365中的所缓存的文件的访问的请求的用户输入是否已经被接收。如果该请求已经被接收,则在步骤1535中,客户端设备1345可确定用于所缓存的文件的本机编辑器在客户端设备1345是否可用。如在上面所讨论的示例中,这种本机编辑器可以是软件应用,其在客户端设备1345上加载和/或由客户端设备1345可执行并允许(如,客户端设备1345的用户已经请求访问的)文件被查看和/或被编辑。
如果本机编辑器可用(如,在步骤1535中),则在步骤1540中,客户端设备1345可在本机编辑器中打开所缓存的文件。例如,客户端设备1345可发起本机编辑器和/或促使本机编辑器打开文件数据以便允许客户端设备1345的用户查看和/或编辑所请求的文件。因为文件数据是缓存的并且本机编辑器可用,在客户端设备1345和虚拟化服务器1305之间的网络连接可能不被需要以允许客户端设备1345的用户查看和/或编辑该文件。如果使用本机编辑器对该文件数据做出的任何改变,则客户端设备1345可更新储存在和/或以其它方式在缓存1355中维护的所缓存的文件数据以反映该改变,并且该改变之后可与远程桌面1310同步,例如,当本机编辑器被关闭时、当接收机应用1360被关闭时和/或当客户端设备1345和虚拟化服务器1305之间的网络连接可被建立时由接收机应用1360同步。
如果本机编辑器不可用(如,在步骤1535中),则在步骤1545中,客户端设备1345可发起并呈现远程应用,类似于这种远程应用在上面讨论的步骤1440中被发起和被呈现的方式。例如,尽管文件本身在客户端设备1345上可被缓存,在本机编辑器在客户端设备1345上不可用的实例中,这种远程应用可使得客户端设备1345的用户查看和/或编辑文件。
如果对所缓存的文件的访问的请求未被接收(如,在步骤1530中),则在步骤1550中,客户端设备1345可确定对打开应用或访问非缓存的文件的请求是否已经被接收。如果该请求已经被接收,则在步骤1555中,客户端设备1345可发起并呈现远程应用,类似于这种远程应用在上面讨论的示例中被发起和被呈现的方式。随后,和/或这种请求还没有被接收,方法可结束。另外地或可选地,一个或多个步骤可被周期性地重复(如,在循环中),以使能所缓存的远程桌面的表示的连续同步、所缓存的文件数据的连续同步和/或各种请求、用户输入和/或其它输入的连续处理。
图16根据本文描述的一个或多个说明性方面示出在计算设备处呈现本机桌面的另一个示例方法。如上面所指示的,在一个或多个实施方案中,图16所示出的步骤可由移动设备执行,诸如客户端设备1345。另外,在图16显示的示例方法中,通过与也可与一个或多个虚拟化服务器同步数据的基于云的存储平台的同步,移动设备可本地缓存远程桌面的表示和与远程桌面相关的一个或多个文件。
如在图16中所见,方法可从步骤1605中开始,其中客户端设备1345可确定同步计时器是否已经超时。例如,客户端设备1345可维护定义了预定时间量(如,六十秒、五分钟、一个小时等)的倒数计时器,在该预定时间量后客户端设备1345应尝试同步所缓存的数据。
如果同步计时器已经超时(如,在步骤1605中),则在步骤1610中,客户端设备1345可确定到基于云的存储平台的连接是否可用。例如,在步骤1610中,客户端设备1345可确定从客户端设备1345到一个或多个云服务器1335和/或基于云的存储平台1340的连接是否可用。如果该连接可用(如,在步骤1610中),则在步骤1615中,客户端设备1345可连接到基于云的存储平台1340。随后,在步骤1620中,客户端设备1345可确定是否有数据要与基于云的存储平台1340同步。在确定是否有要同步的数据时,客户端设备1345可确定是否有新的和/或更新的信息以从基于云的存储平台1340下载和/或上载到基于云的存储平台1340。
如果有要同步的数据(如,在步骤1620中),则在步骤1625中,客户端设备1345可与基于云的存储平台1340同步数据。以这种方式,响应于确定到基于云的存储平台1340的连接可用,客户端设备1345可将本地缓存数据与基于云的存储平台1340同步,并且如在上面讨论的示例中,该本地缓存数据包括在远程桌面(如,远程虚拟桌面1310)上维护的一个或多个文件。在一些实例中,与基于云的存储平台同步本地缓存数据可包括基于对远程桌面上的至少一个文件做出的一个或多个改变更新本地缓存数据。例如,在与基于云的存储平台1340同步数据时,基于在远程桌面1310上对一个或多个被同步的文件做出的一个或多个改变,客户端设备1345可更新储存在本地缓存1355中的数据。另外地或可选地,同步本地缓存数据可包括基于对计算设备上的至少一个文件做出的改变更新储存在基于云的存储平台内的信息。例如,在与基于云的存储平台1340同步数据时,客户端设备1345可更新储存在基于云的存储平台1340中的数据,以反映经由本机桌面1365和/或以其它方式在客户端设备1345上对一个或多个被同步的数据做出的改变。
在与基于云的存储平台1340同步数据后(如,在步骤1625中)或在确定没有数据需要同步后(如,在步骤1620中)或确定到基于云的存储平台1340的连接不可用后(如,在步骤1610中),客户端设备1345可在步骤1630中复位同步计时器。例如,在步骤1630中,客户端设备1345将同步计时器复位到其初始的、完整的值,使得同步计时器可再次开始倒数直到客户端设备1345应再次尝试与基于云的存储平台1340同步数据的时间。
在步骤1635中,客户端设备1345可基于本地缓存的数据呈现和/或更新本机桌面。例如,在步骤1635中,客户端设备1345可使用可储存在本地缓存1355中的和/或可以其它方式由客户端设备1345缓存的数据呈现本机桌面。在一些实例中,呈现本机桌面可包括呈现表示远程桌面的一个或多个元件的布置。例如,在呈现本机桌面时,客户端设备1345可呈现匹配和/或以其它方式反映包括在远程虚拟桌面1310中的元件的布置的元件的布置。例如,这可包括呈现具有匹配背景的本机桌面作为远程桌面、菜单的匹配布局和/或图标的匹配布置和/或其它匹配特征,以使本机桌面的外观反映或大致反映远程桌面的外观。另外地,当从计算设备到基于云的存储平台的连接不可用时,可呈现本机桌面。例如,在步骤1635中,即使从客户端设备1345到基于云的存储平台1340的连接不可用和/或不能被建立,客户端设备1345可呈现本机桌面1365。
在步骤1640中,客户端设备1345可确定对访问所缓存的文件的请求是否已经被接收。例如,在步骤1640中,客户端设备1345可确定对应于对包括在本机桌面1365中的所缓存的文件的访问的请求的用户输入是否已经被接收。如果该请求已经被接收,则在步骤1645中,客户端设备1345可确定本机编辑器在客户端设备1345上对于所缓存的文件是否可用。如在上面讨论的示例中,这种本机编辑器可以是软件应用,其在客户端设备1345上加载和/或由客户端设备1345执行,并允许所缓存的文件在客户端设备1345上被查看和/或被编辑。
如果本机编辑器可用(如,在步骤1645中),则在步骤1650中,客户端设备1345可在本机编辑器中打开所缓存的文件。例如,客户端设备1345可发起本机编辑器和/或促使本机编辑器打开文件数据以便允许该客户端设备1345的用户查看和/或编辑所缓存的文件。如果本机编辑器不可用(如,在步骤1645中),则在步骤1655中,客户端设备1345可发起并呈现远程应用,类似于这种远程应用在上面讨论的示例中被发起和被呈现的方式。特别地,例如,在本机编辑器在客户端设备1345上不可用的实例中,这种远程应用可使得客户端设备1345的用户能够查看和/或编辑文件。另外地,如在上面讨论的示例中,在发起和呈现本机编辑器时,客户端设备1345可连接到或尝试连接到虚拟化服务器1305。随后,和/或如果访问所缓存的文件的请求未被接收(如,在步骤1640中),方法可结束。另外地或可选地,一个或多个步骤可被周期性地重复(如,在循环中),以使能所缓存的数据的连续同步和/或各种请求、用户输入和/或其它输入的连续处理。
如在上面所示出的,本公开的各个方面涉及用于使用从远程桌面挖掘的云同步数据提供本机桌面(如,在移动设备上)的计算机硬件和软件。虽然已经以针对结构特征和/或方法步骤的语言描述了本主题,但是应该理解的是,在所附权利要求中定义的主题不必限于以上所述的具体特征或步骤。相反,上述的指定特征和行为被描述为所附权利要求的某些示例实施。

Claims (20)

1.一种方法,包括:
通过由至少一台计算设备提供的桌面管理服务选择性地储存来自远程桌面的数据;
通过所述桌面管理服务将储存的数据与基于云的数据存储平台同步;以及
通过所述桌面管理服务促使本机桌面使用同步数据呈现在客户端设备上,
其中,所述远程桌面与第一操作系统关联,并且所述本机桌面与不同于所述第一操作系统的第二操作系统关联。
2.根据权利要求1所述的方法,其中,所述储存的数据包括一个或多个应用快捷方式、一个或多个文档、一个或多个注册表项、一个或多个个性化设置或一个或多个布局设置。
3.根据权利要求1所述的方法,其中,一个或多个策略被配置为控制所述本机桌面的行为。
4.根据权利要求1所述的方法,其中,促使所述本机桌面呈现在所述客户端设备上包括:
促使所述同步数据中的至少一些使用所述本机桌面的至少一个本机应用进行呈现。
5.根据权利要求1所述的方法,其中,促使所述本机桌面呈现在所述客户端设备上包括:
如果用于所述同步数据中的至少一些的本机查看应用不可用,则促使远程应用呈现在所述客户端设备上。
6.根据权利要求1所述的方法,还包括:
在促使所述本机桌面呈现在所述客户端设备上后,通过所述桌面管理服务促使在所述客户端设备和配置为提供所述远程桌面的第二设备之间建立后台连接。
7.根据权利要求1所述的方法,还包括:
在促使所述本机桌面在所述客户端设备上呈现后,通过所述桌面管理服务将在所述客户端设备上对所述同步数据中的至少一些做出的改变与所述基于云的数据存储平台同步。
8.一种系统,包括:
至少一个处理器;以及
存储计算机可读指令的存储器,当被所述至少一个处理器执行时,所述计算机可读指令使得所述系统执行以下动作:
提供桌面管理服务;
经由所述桌面管理服务选择性地储存来自远程桌面的数据;
经由所述桌面管理服务将储存的数据与基于云的数据存储平台同步;以及
经由所述桌面管理服务促使本机桌面使用同步数据呈现在客户端设备上,
其中,所述远程桌面与第一操作系统关联,并且所述本机桌面与不同于所述第一操作系统的第二操作系统关联。
9.根据权利要求8所述的系统,其中,所述储存的数据包括一个或多个应用快捷方式、一个或多个文档、一个或多个注册表项、一个或多个个性化设置或一个或多个布局设置。
10.根据权利要求8所述的系统,其中,一个或多个策略被配置为控制所述本机桌面的行为。
11.根据权利要求8所述的系统,其中,促使所述本机桌面呈现在所述客户端设备上包括:
促使所述同步数据中的至少一些使用所述本机桌面的至少一个本机应用进行呈现。
12.根据权利要求8所述的系统,其中,促使所述本机桌面呈现在所述客户端设备上包括:
如果用于所述同步数据中的至少一些的本机查看应用不可用,则促使远程应用呈现在所述客户端设备上。
13.根据权利要求8所述的系统,其中所述存储器储存附加的计算机可读指令,当被所述至少一个处理器执行时,所述附加的计算机可读指令还促使所述系统:
在促使所述本机桌面呈现在所述客户端设备上后,经由所述桌面管理服务促使在所述客户端设备和配置为提供所述远程桌面的第二设备之间建立后台连接。
14.根据权利要求8所述的系统,其中所述存储器储存附加的计算机可读指令,当被所述至少一个处理器执行时,所述附加的计算机可读指令还促使所述系统:
在促使所述本机桌面在所述客户端设备上呈现后,经由所述桌面管理服务将在所述客户端设备上对所述同步数据中的至少一些做出的改变与所述基于云的数据存储平台同步。
15.一种方法,包括:
通过计算设备确定到基于云的存储平台的连接是否可用;
响应于确定到所述基于云的存储平台的连接可用,通过所述计算设备将本地缓存数据与所述基于云的存储平台同步,所述本地缓存数据包括在远程桌面上维护的一个或多个文件;以及
通过所述计算设备基于所述本地缓存数据呈现本机桌面。
16.根据权利要求15所述的方法,其中,将所述本地缓存数据与所述基于云的存储平台同步包括:基于对所述远程桌面上的至少一个文件做出的一个或多个改变更新所述本地缓存数据。
17.根据权利要求15所述的方法,其中,同步所述本地缓存数据包括基于对所述计算设备上的至少一个文件做出的改变更新储存在所述基于云的存储平台中的信息。
18.根据权利要求15所述的方法,其中,呈现所述本机桌面包括:
接收对访问缓存的文件的请求;以及
在本机编辑器中打开所述缓存的文件。
19.根据权利要求15所述的方法,其中,呈现所述本机桌面包括呈现表示所述远程桌面的一个或多个元件的布置。
20.根据权利要求15所述的方法,其中,当从所述计算设备到所述基于云的存储平台的连接不可用时,呈现所述本机桌面。
CN201480032928.6A 2013-04-09 2014-04-08 使用云同步数据提供本机桌面 Pending CN105308561A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110649988.4A CN113419799A (zh) 2013-04-09 2014-04-08 使用云同步数据提供本机桌面

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361810048P 2013-04-09 2013-04-09
US61/810,048 2013-04-09
PCT/US2014/033357 WO2014168962A1 (en) 2013-04-09 2014-04-08 Providing a native desktop using cloud-synchronized data

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110649988.4A Division CN113419799A (zh) 2013-04-09 2014-04-08 使用云同步数据提供本机桌面

Publications (1)

Publication Number Publication Date
CN105308561A true CN105308561A (zh) 2016-02-03

Family

ID=50687710

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201480032928.6A Pending CN105308561A (zh) 2013-04-09 2014-04-08 使用云同步数据提供本机桌面
CN202110649988.4A Pending CN113419799A (zh) 2013-04-09 2014-04-08 使用云同步数据提供本机桌面

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202110649988.4A Pending CN113419799A (zh) 2013-04-09 2014-04-08 使用云同步数据提供本机桌面

Country Status (6)

Country Link
US (2) US9641599B2 (zh)
EP (1) EP2984559B1 (zh)
JP (3) JP2016519824A (zh)
KR (1) KR101794222B1 (zh)
CN (2) CN105308561A (zh)
WO (1) WO2014168962A1 (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106227577A (zh) * 2016-07-08 2016-12-14 贵州天霆云计算科技有限公司 一种可用于虚拟桌面的应用数据与配置数据分离存储方法
CN106648601A (zh) * 2016-10-13 2017-05-10 安徽鼎集信息科技有限公司 一种高可靠虚拟化桌面系统
CN107239667A (zh) * 2017-06-12 2017-10-10 南京医科大学第附属医院 一种安全的同质化远程放疗协作的方法及系统
CN107566502A (zh) * 2017-09-14 2018-01-09 奇酷互联网络科技(深圳)有限公司 恢复桌面的方法、设备、移动终端以及计算机存储介质
CN108777034A (zh) * 2018-06-21 2018-11-09 珠海慧东方科技有限公司 一种平板电脑的用户数据更新方法及系统
CN108898279A (zh) * 2018-06-01 2018-11-27 南方电网科学研究院有限责任公司 一种基于私有云的节点导纳计算方法和系统
CN110018875A (zh) * 2019-04-10 2019-07-16 北京云创世联科技股份有限公司 一种基于idv的桌面同步实现方法
CN110278235A (zh) * 2018-03-16 2019-09-24 上海远动科技有限公司 基于云技术的scada移动监控桌面系统
CN110727487A (zh) * 2019-09-02 2020-01-24 厦门鑫朗软件有限公司 一种将网盘窗口嵌入到windows资源管理器的方法
CN111713087A (zh) * 2018-03-29 2020-09-25 华为技术有限公司 一种设备间的数据迁移的方法和设备
CN111788557A (zh) * 2018-04-05 2020-10-16 华睿泰科技有限责任公司 用于多个云服务的数据管理的系统和方法
CN112114835A (zh) * 2020-09-28 2020-12-22 恒宝股份有限公司 智能卡生产方法、装置、电子设备及存储介质
US20220269516A1 (en) * 2020-06-23 2022-08-25 Vmware, Inc. Transitioning application windows between local and remote desktops
CN112114835B (zh) * 2020-09-28 2024-04-26 恒宝股份有限公司 智能卡生产方法、装置、电子设备及存储介质

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7062515B1 (en) 2001-12-28 2006-06-13 Vignette Corporation System and method for the synchronization of a file in a cache
US9854035B2 (en) 2013-05-28 2017-12-26 International Business Machines Corporation Maintaining state synchronization of an application between computing devices as well as maintaining state synchronization of common information between different applications without requiring periodic synchronization
US10044799B2 (en) * 2013-05-28 2018-08-07 International Business Machines Corporation Implementing synchronization of state information betweeen instances of an application as well as between different applications in an efficient, scalable manner
US9898520B2 (en) 2014-03-25 2018-02-20 Open Text Sa Ulc Systems and methods for seamless access to remotely managed documents using synchronization of locally stored documents
EP3127008B1 (en) * 2014-03-31 2020-06-03 Oracle International Corporation Infrastructure for synchronization of mobile device with mobile cloud service
FR3022420B1 (fr) * 2014-06-13 2018-03-23 Bull Sas Methodes et systemes de gestion d'un reseau d'interconnexion
TWI604382B (zh) * 2014-07-08 2017-11-01 緯創資通股份有限公司 應用程式分享方法以及使用該方法的系統
US11017013B2 (en) * 2015-02-20 2021-05-25 Vmware, Inc. Image cache collaboration between clients in remote desktop environments
CN106161368B (zh) * 2015-04-07 2020-04-14 阿里巴巴集团控股有限公司 一种用于对云应用进行远程访问的方法、装置及系统
CN105007302B (zh) * 2015-06-04 2018-05-15 广东省国际工程咨询有限公司 一种移动终端数据存储方法
US10165055B2 (en) * 2015-06-30 2018-12-25 Citrix Systems, Inc. Systems and methods for network controlled access of resources
US11265362B1 (en) * 2015-12-28 2022-03-01 Ted Tabacco Mobile application streaming platform
US10540136B2 (en) * 2016-05-24 2020-01-21 Dell Products, L.P. Faster frame buffer rendering over a network
US10692012B2 (en) * 2016-05-29 2020-06-23 Microsoft Technology Licensing, Llc Classifying transactions at network accessible storage
CN106095273B (zh) * 2016-06-07 2019-06-25 联想(北京)有限公司 信息处理方法及电子设备
US10235530B2 (en) 2016-06-30 2019-03-19 International Business Machines Corporation Protecting sensitive information when replicating data to remote systems
CN106210443B (zh) * 2016-08-31 2019-05-24 广东省广告集团股份有限公司 网络控制显示内容同步的方法
GB2553540B (en) * 2016-09-07 2022-04-27 Sage Uk Ltd Cloud system
US11003632B2 (en) 2016-11-28 2021-05-11 Open Text Sa Ulc System and method for content synchronization
CN106559429A (zh) * 2016-11-28 2017-04-05 北京铭铭鑫软件有限公司 一种基于Linux系统的一键换机方法
US10762040B2 (en) * 2017-01-24 2020-09-01 Microsoft Technology Licensing, Llc Schematized data roaming
AT519604B1 (de) * 2017-01-24 2019-01-15 Werner Lugschitz Ing Verfahren zum Durchführen eines von einem Server spezifizierten Programmaufrufs durch einen Client
US11080041B1 (en) * 2017-03-30 2021-08-03 Amazon Technologies, Inc. Operating system management for virtual workspaces
JP6940751B2 (ja) * 2017-05-10 2021-09-29 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
US20180335902A1 (en) * 2017-05-16 2018-11-22 Apple Inc. Techniques for dynamically displaying relevant files for selection
US11301431B2 (en) 2017-06-02 2022-04-12 Open Text Sa Ulc System and method for selective synchronization
US11429633B2 (en) 2017-06-07 2022-08-30 Citrix Systems, Inc. Data processing system with synchronization of local directory information to cloud system
US11012441B2 (en) 2017-06-30 2021-05-18 Open Text Corporation Hybrid authentication systems and methods
US10754678B2 (en) 2017-11-28 2020-08-25 Google Llc Collaborative hosted virtual systems and methods
US11379252B1 (en) * 2018-01-31 2022-07-05 Parallels International Gmbh System and method for providing layouts for a remote desktop session
US10860614B2 (en) * 2018-03-19 2020-12-08 Landis+Gyr Innovations, Inc. Partitioning data in a clustered database environment
KR102093145B1 (ko) 2018-06-07 2020-03-25 한밭대학교 산학협력단 생체정보 인식 기반의 데이터 최적화를 위한 오브젝트 스토리지 클라우드 시스템
US10963621B2 (en) * 2018-10-10 2021-03-30 Citrix Systems, Inc. Management of remote access user application layouts
US11165871B2 (en) * 2019-02-01 2021-11-02 Citrix Systems, Inc. Computer system providing context-based Software as a Service (SaaS) application session switching and related methods
US11263028B2 (en) 2019-03-27 2022-03-01 Citrix Systems, Inc. Providing user interface (UI) elements in virtual machine sessions at reduced latency
US11281478B2 (en) 2019-03-27 2022-03-22 Citrix Systems, Inc. Providing user interface (UI) elements having an ordered hierarchy of graphical control elements in virtual machine sessions at reduced latency and related methods
US11263029B2 (en) 2019-03-27 2022-03-01 Citrix Systems, Inc. Providing user interface (UI) elements having scrollable content in virtual machine sessions at reduced latency and related methods
US11677642B2 (en) * 2019-08-12 2023-06-13 Sweepr Technologies Limited Automated support system for connected devices
US11212317B2 (en) 2019-11-11 2021-12-28 International Business Machines Corporation Extending managed switching network to a virtualization layer in a computer
US11445018B2 (en) * 2019-12-12 2022-09-13 Dropbox, Inc. Technologies for synchronizing content items across content management systems
US11221889B2 (en) * 2020-03-24 2022-01-11 NEXCOM Intelligent Systems CO., LTD. Method of deploying cloud services quickly
US11368373B2 (en) * 2020-06-16 2022-06-21 Citrix Systems, Inc. Invoking microapp actions from user applications
US20220108060A1 (en) * 2020-10-05 2022-04-07 Vmware, Inc. Text editing in remote documents on mobile devices
KR102260738B1 (ko) * 2020-11-16 2021-06-07 주식회사 플링크 Api 기반 웹 어플리케이션 런타임에 레이아웃을 동적으로 제공하기 위한 방법 및 이를 이용한 시스템
CN112764943B (zh) * 2020-12-31 2021-09-28 橙色云互联网设计有限公司 信息处理方法、系统、电子设备和计算机可读存储介质
US20220382572A1 (en) * 2021-05-28 2022-12-01 Vmware, Inc. Working with applications and files of multiple remote desktops on a single remote desktop
US20230068880A1 (en) * 2021-08-27 2023-03-02 EMC IP Holding Company LLC Function-based service framework with trusted execution platform
TWI817294B (zh) * 2021-12-21 2023-10-01 宏碁股份有限公司 部署檔案至電子裝置的方法、伺服器及電子裝置
CN114301978A (zh) * 2021-12-23 2022-04-08 阿里巴巴(中国)有限公司 一种云桌面实现方法、系统、设备及存储介质
KR20230139250A (ko) * 2022-03-25 2023-10-05 주식회사 지메이트시스템즈 하이브리드 모니터링 솔루션 시스템 및 이에 의한 서버의 모니터링 방법
CN117319384A (zh) * 2022-06-22 2023-12-29 中兴通讯股份有限公司 基于个性化漫游数据的池化桌面启动方法和云桌面系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102176695A (zh) * 2011-01-14 2011-09-07 北京格致璞科技有限公司 用于同步设备间软件环境的方法和装置
CN102546779A (zh) * 2011-12-27 2012-07-04 Tcl集团股份有限公司 一种跨设备间应用数据的同步方法及装置
CN102819461A (zh) * 2012-07-19 2012-12-12 腾讯科技(深圳)有限公司 桌面同步方法、装置、设备及系统
CN102932432A (zh) * 2012-10-16 2013-02-13 珠海金山办公软件有限公司 移动设备文档同步方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101378400B (zh) * 2007-08-30 2013-01-30 国际商业机器公司 实现桌面应用和Web应用聚合的方法、服务器和系统
CA2713876C (en) * 2008-02-26 2014-11-04 Vmware, Inc. Extending server-based desktop virtual machine architecture to client machines
US8365203B2 (en) * 2008-03-20 2013-01-29 Willflow Limited Method for creating a native application for mobile communications device in real-time
US20110131330A1 (en) * 2009-12-02 2011-06-02 International Business Machines Corporation Collocating desktop virtual machines to proximity of the user
CN102656578B (zh) * 2009-12-09 2013-11-20 思杰系统有限公司 用于在第一机器上显示与第二机器的驱动器关联的数据而不必映射该驱动器的方法和系统
US9009219B2 (en) * 2010-01-27 2015-04-14 Vmware, Inc. Native viewer use for service results from a remote desktop
US8468455B2 (en) * 2010-02-24 2013-06-18 Novell, Inc. System and method for providing virtual desktop extensions on a client desktop
EP2553561A4 (en) 2010-04-01 2016-03-30 Citrix Systems Inc INTERACTION WITH REMOTE APPLICATIONS DISPLAYED ON A VIRTUAL DESKTOP OF A TABLET COMPUTER DEVICE
US20120078720A1 (en) * 2010-09-28 2012-03-29 Startforce, Inc. Virtual desktop service with targeted advertisement
EP2622462A4 (en) 2010-10-01 2014-01-29 Z124 MULTIPLE OPERATING SYSTEM
US9430036B1 (en) * 2010-12-10 2016-08-30 Wyse Technology L.L.C. Methods and systems for facilitating accessing and controlling a remote desktop of a remote machine in real time by a windows web browser utilizing HTTP
US9201667B2 (en) 2010-12-31 2015-12-01 Vmware, Inc. Providing virtual desktops using resources accessed on public computer networks
US20120203932A1 (en) * 2011-02-08 2012-08-09 Microsoft Corporation Multi-master media metadata synchronization
WO2012133300A1 (ja) 2011-03-29 2012-10-04 日本電気株式会社 仮想デスクトップシステム、ネットワーク処理装置、管理方法、及び管理プログラム
US8850516B1 (en) * 2011-06-22 2014-09-30 Emc Corporation Virtual private cloud that provides enterprise grade functionality and compliance
JP2014531626A (ja) * 2011-08-15 2014-11-27 カルガリー サイエンティフィック インコーポレイテッド アプリケーションプログラムへの非侵襲的遠隔アクセス
US9606629B2 (en) * 2011-09-09 2017-03-28 Cloudon Ltd. Systems and methods for gesture interaction with cloud-based applications
US8838726B2 (en) * 2011-09-09 2014-09-16 Microsoft Corporation Selective use of shared memory for remote desktop application
US9253632B2 (en) * 2013-03-20 2016-02-02 Blackberry Limited Portable bridge device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102176695A (zh) * 2011-01-14 2011-09-07 北京格致璞科技有限公司 用于同步设备间软件环境的方法和装置
CN102546779A (zh) * 2011-12-27 2012-07-04 Tcl集团股份有限公司 一种跨设备间应用数据的同步方法及装置
CN102819461A (zh) * 2012-07-19 2012-12-12 腾讯科技(深圳)有限公司 桌面同步方法、装置、设备及系统
CN102932432A (zh) * 2012-10-16 2013-02-13 珠海金山办公软件有限公司 移动设备文档同步方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106227577A (zh) * 2016-07-08 2016-12-14 贵州天霆云计算科技有限公司 一种可用于虚拟桌面的应用数据与配置数据分离存储方法
CN106648601A (zh) * 2016-10-13 2017-05-10 安徽鼎集信息科技有限公司 一种高可靠虚拟化桌面系统
CN107239667A (zh) * 2017-06-12 2017-10-10 南京医科大学第附属医院 一种安全的同质化远程放疗协作的方法及系统
CN107566502A (zh) * 2017-09-14 2018-01-09 奇酷互联网络科技(深圳)有限公司 恢复桌面的方法、设备、移动终端以及计算机存储介质
CN110278235A (zh) * 2018-03-16 2019-09-24 上海远动科技有限公司 基于云技术的scada移动监控桌面系统
US11748017B2 (en) 2018-03-29 2023-09-05 Huawei Technologies Co., Ltd. Inter-device data migration method and device
CN111713087A (zh) * 2018-03-29 2020-09-25 华为技术有限公司 一种设备间的数据迁移的方法和设备
CN111788557A (zh) * 2018-04-05 2020-10-16 华睿泰科技有限责任公司 用于多个云服务的数据管理的系统和方法
CN108898279A (zh) * 2018-06-01 2018-11-27 南方电网科学研究院有限责任公司 一种基于私有云的节点导纳计算方法和系统
CN108777034A (zh) * 2018-06-21 2018-11-09 珠海慧东方科技有限公司 一种平板电脑的用户数据更新方法及系统
CN110018875B (zh) * 2019-04-10 2022-05-31 北京云创世联科技股份有限公司 一种基于idv的桌面同步实现方法
CN110018875A (zh) * 2019-04-10 2019-07-16 北京云创世联科技股份有限公司 一种基于idv的桌面同步实现方法
CN110727487A (zh) * 2019-09-02 2020-01-24 厦门鑫朗软件有限公司 一种将网盘窗口嵌入到windows资源管理器的方法
CN110727487B (zh) * 2019-09-02 2022-06-10 厦门鑫朗软件有限公司 一种将网盘窗口嵌入到windows资源管理器的方法
US20220269516A1 (en) * 2020-06-23 2022-08-25 Vmware, Inc. Transitioning application windows between local and remote desktops
CN112114835A (zh) * 2020-09-28 2020-12-22 恒宝股份有限公司 智能卡生产方法、装置、电子设备及存储介质
CN112114835B (zh) * 2020-09-28 2024-04-26 恒宝股份有限公司 智能卡生产方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN113419799A (zh) 2021-09-21
JP2017157235A (ja) 2017-09-07
EP2984559B1 (en) 2019-06-12
JP6301529B2 (ja) 2018-03-28
KR101794222B1 (ko) 2017-11-07
US20140304326A1 (en) 2014-10-09
KR20150140779A (ko) 2015-12-16
US10218778B2 (en) 2019-02-26
JP6301534B2 (ja) 2018-03-28
JP2016519824A (ja) 2016-07-07
WO2014168962A1 (en) 2014-10-16
US20170201578A1 (en) 2017-07-13
EP2984559A1 (en) 2016-02-17
JP2017168109A (ja) 2017-09-21
US9641599B2 (en) 2017-05-02

Similar Documents

Publication Publication Date Title
CN105308561A (zh) 使用云同步数据提供本机桌面
JP6775603B2 (ja) 仮想ブラウザ統合
CN104903910B (zh) 控制移动装置对安全数据的访问
CN105308923B (zh) 对具有多操作模式的应用的数据管理
EP3058502B1 (en) Secure client drive mapping and file storage system for mobile device management type security
CN105247531B (zh) 提供受管浏览器
CN105308573B (zh) 受管应用中普遍存在的协作
JP6374953B2 (ja) コンテキストによるモバイルデバイスのロック
CN105340309A (zh) 具有多个操作模式的应用
CN105379223A (zh) 用于移动应用管理的对移动应用的身份的验证
CN105247526A (zh) 提供企业应用商店
CN105247830A (zh) 提供移动设备管理功能
CN105393524A (zh) 图像分析和管理
CN104854561A (zh) 用于应用程序管理框架的应用程序封装
CN106031128A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20160203

RJ01 Rejection of invention patent application after publication