CN109074274B - 用于虚拟浏览器集成的计算装置、方法和计算机可读媒体 - Google Patents

用于虚拟浏览器集成的计算装置、方法和计算机可读媒体 Download PDF

Info

Publication number
CN109074274B
CN109074274B CN201780028454.1A CN201780028454A CN109074274B CN 109074274 B CN109074274 B CN 109074274B CN 201780028454 A CN201780028454 A CN 201780028454A CN 109074274 B CN109074274 B CN 109074274B
Authority
CN
China
Prior art keywords
hosted
computing device
uniform resource
resource locator
browser
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.)
Active
Application number
CN201780028454.1A
Other languages
English (en)
Other versions
CN109074274A (zh
Inventor
乔治·莫驰洛夫
M·英戈莱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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
Publication of CN109074274A publication Critical patent/CN109074274A/zh
Application granted granted Critical
Publication of CN109074274B publication Critical patent/CN109074274B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

呈现用于将虚拟浏览器集成到本机浏览器和本机web应用程序中的方法、系统和计算机可读媒体。在一些实施例中,计算装置能够接收打开第一统一资源定位符的请求。随后,所述计算装置能够确定所述第一统一资源定位符不受本机支持。基于确定所述第一统一资源定位符不受本机支持,所述计算装置能够启动由虚拟化服务器托管的虚拟会话中的托管虚拟浏览器应用程序。此后,所述计算装置能够从所述虚拟化服务器接收由所述托管虚拟浏览器应用程序生成的第一托管浏览器图形,且由所述托管虚拟浏览器应用程序生成的所述第一托管浏览器图形可包含与所述第一统一资源定位符相关联的内容。接着,所述计算装置能够呈现由所述托管虚拟浏览器应用程序生成的所述第一托管浏览器图形。

Description

用于虚拟浏览器集成的计算装置、方法和计算机可读媒体
相关申请的交叉引用
本申请要求2017年3月29日提交且标题为“虚拟浏览器集成(VIRTUAL BROWSERINTEGRATION)”的第15/472,798号美国专利申请以及2016年5月23日提交且标题为“将虚拟浏览器集成到本机浏览器和本机Web应用程序中(INTEGRATING A VIRTUAL BROWSER INTOA NATIVE BROWSER AND NATIVE WEB APPLICATIONS)”的第62/340,028号美国临时专利申请的优先权益。上述每个申请的内容出于所有目的以全文引用的方式并入本文中。
技术领域
本公开的各方面涉及计算机硬件和软件。具体地说,本公开的一个或多个方面涉及用于将虚拟浏览器集成到本机浏览器和本机web应用程序中的计算机硬件和软件。
背景技术
企业组织和其员工以及其他相关用户越来越多地使用移动计算装置来参与各种功能,例如发送和接收电子邮件、管理日历和任务、创建和查看内容、访问和修改企业信息以及执行其他功能。随着越来越多地采用和使用此类移动装置,越来越重要的是,组织应控制和/或另外管理此类装置的使用方式和/或它们可访问的信息内容,以便保护企业信息和其他企业资源的安全和保密性。然而,在一些情况下,这可能带来技术挑战。
发明内容
本公开的各方面提供技术解决方案,其可解决和克服与控制和/或管理移动装置和/或移动应用程序对企业信息和其他企业资源的访问相关联的一个或多个技术挑战。
具体地说,本公开的一个或多个方面提供将虚拟浏览器集成到本机浏览器和本机web应用程序中的方式。举例来说,通过实施本公开的一个或多个方面,可将虚拟浏览器无缝集成到本机浏览器中以实现和/或另外提供对不受本机支持的内容的访问和/或用于增强和/或另外提供更多安全性。另外,此类虚拟浏览器可用于实现和/或另外提供对本机“web”应用程序的访问,从而提供本机用户体验以及完整的web应用程序功能。
例如,具有至少一个处理器、存储器和通信接口的计算平台可接收打开不受本机支持的统一资源定位符的请求。响应于接收到打开不受本机支持的统一资源定位符的请求,计算平台可启动托管虚拟浏览器应用程序。随后,计算平台可显示由托管虚拟浏览器应用程序生成的图形,且由托管虚拟浏览器应用程序生成的图形可包含与不受本机支持的统一资源定位符相关联的内容。
根据一个或多个实施例,具有至少一个处理器、通信接口和存储器的计算装置可接收打开第一统一资源定位符的请求。随后,所述计算装置能够确定所述第一统一资源定位符不受本机支持。基于确定第一统一资源定位符不受本机支持,计算装置可启动由虚拟化服务器托管的虚拟会话中的托管虚拟浏览器应用程序。此后,计算装置可通过通信接口从虚拟化服务器接收由托管虚拟浏览器应用程序生成的第一托管浏览器图形,且由托管虚拟浏览器应用程序生成的第一托管浏览器图形可包含与第一统一资源定位符相关联的内容。接着,所述计算装置能够呈现由托管虚拟浏览器应用程序生成的第一托管浏览器图形。
在一些实施例中,确定第一统一资源定位符不受本机支持可包含基于限定一个或多个不受本机支持的统一资源定位符的至少一个企业策略来确定第一统一资源定位符不受本机支持。在一些实施例中,确定第一统一资源定位符不受本机支持可包含基于检测到无法加载与第一统一资源定位符相关联的一个或多个要素来确定第一统一资源定位符不受本机支持。在一些实施例中,确定第一统一资源定位符不受本机支持可包含基于识别第一统一资源定位符对应于与托管的web应用程序相关联的存根应用程序来确定第一统一资源定位符不受本机支持。
在一些实施例中,启动由虚拟化服务器托管的虚拟会话中的托管虚拟浏览器应用程序可包含建立与虚拟化服务器的连接以及使用一个或多个高速缓存的认证证书来与虚拟化服务器进行认证。在一些情况下,使用一个或多个高速缓存的认证证书来与虚拟化服务器进行认证可包含使用链接到企业用户帐户的至少一个高速缓存的单点登录(SSO)证书来与虚拟化服务器进行认证。
在一些实施例中,呈现由托管虚拟浏览器应用程序生成的第一托管浏览器图形可包含维护与浏览活动相关联的浏览转换堆栈。
在一些实施例中,在接收打开第一统一资源定位符的请求之前,计算装置可通过通信接口从企业服务器接收一个或多个企业策略,且所述一个或多个企业策略可包含限定一个或多个不受本机支持的统一资源定位符的至少一个企业策略。随后,计算装置可通过至少一个策略管理代理将用于施行的一个或多个企业策略存储在计算装置上。
在一些实施例中,在接收打开第一统一资源定位符的请求之前,计算装置可认证计算装置的用户。基于认证计算装置的用户,计算装置可高速缓存与计算装置的用户相关联的一个或多个认证证书。
在一些实施例中,计算装置可接收与由托管虚拟浏览器应用程序生成并由计算装置呈现的第一托管浏览器图形交互的输入。随后,计算装置可通过通信接口向虚拟化服务器发送与由托管虚拟浏览器应用程序生成并由计算装置呈现的第一托管浏览器图形交互的输入。此后,计算装置可通过通信接口从虚拟化服务器接收由托管虚拟浏览器应用程序生成的更新的托管浏览器图形。另外,计算装置可呈现由托管虚拟浏览器应用程序生成的更新的托管浏览器图形。在一些情况下,接收与由托管虚拟浏览器应用程序生成并由计算装置呈现的第一托管浏览器图形交互的输入可包含基于与由托管虚拟浏览器应用程序生成并由计算装置呈现的第一托管浏览器图形交互的输入来更新浏览转换堆栈。
在一些实施例中,计算装置可接收打开第二统一资源定位符的请求。随后,计算装置可确定第二统一资源定位符不受本机支持。基于确定第二统一资源定位符不受本机支持,计算装置可启动由虚拟化服务器托管的虚拟会话中的托管虚拟浏览器应用程序的额外执行个体。此后,计算装置可通过通信接口从虚拟化服务器接收由托管虚拟浏览器应用程序的额外执行个体生成的第二托管浏览器图形,且第二托管浏览器图形可包含与第二统一资源定位符相关联的内容。接着,计算装置可呈现由托管虚拟浏览器应用程序的额外执行个体生成的第二托管浏览器图形。
在一些实施例中,呈现由托管虚拟浏览器应用程序生成的第一托管浏览器图形可包含在本地浏览器应用程序的第一选项卡中呈现第一托管浏览器图形,且呈现由托管虚拟浏览器应用程序的额外执行个体生成的第二托管浏览器图形可包含在本地浏览器应用程序的第二选项卡中呈现第二托管浏览器图形,所述第二选项卡不同于本地浏览器应用程序的第一选项卡。在一些情况下,呈现由托管虚拟浏览器应用程序的额外执行个体生成的第二托管浏览器图形可包含维护与本地浏览器应用程序的第一选项卡中的第一浏览活动相关联的第一浏览转换堆栈以及维护与本地浏览器应用程序的第二选项卡中的第二浏览活动相关联的第二浏览转换堆栈。
在一些实施例中,计算装置可接收打开第三统一资源定位符的请求。随后,计算装置可确定第三统一资源定位符受本机支持。基于确定第三统一资源定位符受本机支持,计算装置可使用本地浏览器应用程序来访问第三统一资源定位符。
下文更详细地论述这些特征以及许多其他特征。
附图说明
可通过参考结合附图的以下描述来获取对本文中所描述的方面和其优势的更完全理解,附图中相似附图标号指示相似特征,且在附图中:
图1描绘可根据本文中描述的一个或多个说明性方面使用的说明性计算机系统架构。
图2描绘可根据本文中描述的一个或多个说明性方面使用的说明性远程访问系统架构。
图3描绘可根据本文中描述的一个或多个说明性方面使用的说明性虚拟化(管理程序)系统架构。
图4描绘可根据本文中描述的一个或多个说明性方面使用的说明性基于云的系统架构。
图5描绘根据本文中描述的一个或多个说明性方面的说明性企业移动性管理系统。
图6描绘根据本文中所描述的一个或多个说明性方面的另一说明性企业移动性管理系统。
图7到9描绘根据本文中描述的一个或多个说明性方面的与将虚拟浏览器集成到本机浏览器和本机web应用程序中相关的实例。
图10描绘根据本文中描述的一个或多个说明性方面的将虚拟浏览器集成到本机浏览器和本机web应用程序中的方法。
图11描绘根据本文中描述的一个或多个说明性方面的用于将虚拟浏览器集成到本机浏览器和本机web应用程序中的说明性计算环境。
图12A到12F描绘根据本文中描述的一个或多个说明性方面的用于将虚拟浏览器集成到本机浏览器和本机web应用程序中的实例事件序列。
图13和14描绘根据本文中描述的一个或多个说明性方面的用于将虚拟浏览器集成到本机浏览器和本机web应用程序中的实例图形用户界面。
图15描绘根据本文中描述的一个或多个说明性方面的将虚拟浏览器集成到本机浏览器和本机web应用程序中的实例方法。
具体实施方式
在各种实施例的以下描述中,参考了上文指出且形成本发明的部分的附图,且在附图中以说明方式示出其中可实践本文所描述的各方面的各种实施例。应理解,在不脱离本文中所描述的范围的情况下,可利用其他实施例,且可进行结构和功能修改。各个方面能够有其他实施例,且能以各种不同方式实践或执行。
应理解,本文中所用措词和术语用于描述的目的,且不应被视为具有限制性。实际上,应对本文中使用的短语和术语给予其最广泛的解释和含义。对“包含”和“包括”以及其变体的使用意在涵盖其后所列项目和其等同物以及额外项目和其等同物。对术语“安装”、“连接”、“联接”、“定位”、“接合”和类似术语的使用意在包含直接和间接两种安装、连接、联接、定位和接合。
计算架构
可在包含独立式、联网、远程访问(又名,远程桌面)、虚拟化和/或基于云的环境等各种不同系统环境中利用计算机软件、硬件和网络。图1示出可用以在独立式和/或联网环境中实施本文中所描述的一个或多个说明性方面的系统架构和数据处理装置的一个实例。各种网络节点103、105、107和109可通过互联网等广域网(WAN)101互连。还可或替代地使用其他网络,包含私有内联网、公司网络、局域网(LAN)、城域网(MAN)、无线网络、个人网络(PAN)等等。网络101用于说明的目的,且可由更少或额外计算机网络替换。局域网可具有任何已知LAN拓扑中的一个或多个,且可使用各种不同协议中的一种或多种,例如以太网。装置103、105、107、109和其他装置(未示出)可通过双绞线、同轴电缆、光纤、无线电波或其他通信媒体连接到所述网络中的一个或多个。
如本文中所使用且在图中描绘的术语“网络”不仅指其中远程存储装置通过一个或多个通信路径联接在一起的系统,还指可不时地联接到具有存储能力的此类系统的独立装置。因此,术语“网络”不仅包含“物理网络”,还包含由可归于驻存在所有物理网络上的单个实体的数据构成的“内容网络”。
组件可包含数据服务器103、网页服务器105和客户端计算机107、109。数据服务器103提供对用于执行本文描述的一个或多个说明性方面的数据库和控制软件的总体访问、控制和管理。数据服务器103可连接到网页服务器105,用户通过所述网页服务器按请求与数据交互和获得数据。替代地,数据服务器103可充当网页服务器自身且直接连接到互联网。数据服务器103可通过网络101(例如,互联网)通过直接或间接连接或通过某一其它网络连接到网页服务器105。用户可使用远程计算机107、109与数据服务器103交互,例如使用网页浏览器来通过由网页服务器105托管的一个或多个外露网站连接到数据服务器103。客户端计算机107、109可与数据服务器103协同使用以访问其中存储的数据,或可用于其它目的。举例来说,从客户端装置107,用户可使用所属领域中已知的互联网浏览器或通过执行在计算机网络(例如互联网)上与网页服务器105和/或数据服务器103通信的软件应用程序来访问网页服务器105。
服务器和应用程序可在相同物理机器上组合,且保留单独的虚拟或逻辑地址,或可驻存于单独的物理机器上。图1仅示出可使用的网络架构的一个实例,且所属领域的技术人员应了解,所用的具体网络架构和数据处理装置可变化,且对于其提供的功能来说是次要的,如本文中进一步描述。举例来说,由网页服务器105和数据服务器103提供的服务可在单个服务器上组合。
每个组件103、105、107、109可以是任一类型的已知计算机、服务器或数据处理装置。数据服务器103例如可包含控制数据服务器103的总体操作的处理器111。数据服务器103还可包含随机存取存储器(RAM)113、只读存储器(ROM)115、网络接口117、输入/输出接口119(例如键盘、鼠标、显示器、打印机等)和存储器121。输入/输出(I/O)119可包含各种接口单元和驱动器以用于读取、写入、显示和/或打印数据或文件。存储器121还可存储用于控制数据处理装置103的总体操作的操作系统软件123、用于指示数据服务器103执行本文中描述的各方面的控制逻辑125以及其他应用程序软件127,所述其他应用程序软件提供可以或可不结合本文中描述的方面使用的辅助、支持和/或其他功能性。所述控制逻辑在本文中还可称作数据服务器软件125。数据服务器软件的功能性可指基于编码到控制逻辑中的规则而自动做出的操作或决策、通过用户对系统提供输入而手动做出的操作或决策,和/或基于用户输入(例如,查询、数据更新等)的自动处理的组合。
存储器121还可存储用于进行本文中描述的一个或多个方面的数据,所述存储器包含第一数据库129和第二数据库131。在一些实施例中,第一数据库可包含第二数据库(例如作为单独表格、报告等)。即,取决于系统设计,信息可存储在单个数据库中,或分到不同逻辑、虚拟或物理数据库中。装置105、107、109可具有与如关于装置103所描述的架构类似或不同的架构。所属领域的技术人员应了解,本文中描述的数据处理装置103(或装置105、107、109)的功能性可散布在多个数据处理装置上以例如将处理负荷分布在多个计算机上,从而基于地理位置、用户访问级别、服务质量(QoS)等来分隔事务。
一个或多个方面可由本文中描述的一个或多个计算机或其他装置执行的例如一个或多个程序模块中的计算机可用或可读数据和/或计算机可执行指令来体现。一般来说,程序模块包含在由计算机或其他装置中的处理器执行时执行特定任务或实施特定抽象数据类型的例程、程序、对象、组件、数据结构等。模块可按随后被编译供执行的源代码编程语言来编写,或可按例如(但不限于)超文本标记语言(HTML)或可扩展标记语言(XML)的脚本语言来编写。计算机可执行指令可存储在非易失性存储装置等计算机可读媒体上。可利用任何合适的计算机可读存储媒体,包含硬盘、CD-ROM、光学存储装置、磁性存储装置和/或其任何组合。另外,表示如本文中描述的数据或事件的各种传输(非存储)媒体可按穿过信号传导媒体的电磁波形式传送于源与目的地之间,所述信号传导媒体例如金属线、光纤和/或无线传输媒体(例如,空气和/或空间)。本文中描述的各种方面可体现为方法、数据处理系统或计算机程序产品。因此,各种功能可全部或部分地以软件、固件和/或硬件或硬件同等物体现,例如,集成电路、现场可编程门阵列(FPGA)等。可使用特定数据结构更有效地实施本文中描述的一个或多个方面,且预期此类数据结构在本文中描述的计算机可执行指令和计算机可用数据的范围内。
另外参考图2,可在远程访问环境中实施本文中描述的一个或多个方面。图2描绘可根据本文所描述的一个或多个说明性方面使用的在说明性计算环境200中包含计算装置201的实例系统架构。计算装置201可用作单服务器或多服务器桌面虚拟化系统(例如远程访问或云系统)中的服务器206a,所述桌面虚拟化系统配置成为客户端访问装置提供虚拟机。计算装置201可具有用于控制服务器和其相关联组件的总体操作的处理器203,所述相关联组件包含RAM205、ROM 207、I/O模块209和存储器215。
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连接到LAN 225。当用在WAN联网环境中时,计算装置201可包含调制解调器227或其他广域网接口以在计算机网络230(例如互联网)等WAN 229上建立通信。应了解,所示网络连接是说明性的,且可使用其他方式在计算机之间建立通信链路。计算装置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型管理程序管理的任何虚拟机,所述管理程序例如,由Citrix系统、IBM、VMware开发的管理程序,或任何其他管理程序。在一些方面,虚拟机可由管理程序管理,而在各方面中,虚拟机可由服务器206上执行的管理程序或用户端240上执行的管理程序来管理。
一些实施例包含客户端装置240,其显示由服务器206或其他远程定位的机器上远程执行的应用程序生成的应用程序输出。在这些实施例中,客户端装置240可执行虚拟机接收器程序或应用程序以在应用窗口、浏览器或其他输出窗口中显示输出。在一个实例中,应用程序是桌面,而在其他实例中,应用程序是生成或呈现桌面的应用程序。桌面可包含图形壳层,其为操作系统的执行个体提供用户接口,本地和/或远程应用程序可集成在所述操作系统中。如本文中所用的应用程序是在已加载操作系统(且任选地,还有桌面)的执行个体之后执行的程序。
在一些实施例中,服务器206使用远程呈现协议或其他程序将数据发送到精简客户端或在客户端上执行的远程显示应用程序,以呈现由服务器206上执行的应用程序生成的显示输出。精简客户端或远程显示协议可以是以下非穷尽性协议列表中的任一个:由佛罗里达州劳德代尔堡(Fort Lauderdale,FL)的思杰系统公司(Citrix Systems,Inc.)开发的独立计算架构(ICA)协议;或由华盛顿州雷德蒙德的微软公司(Microsoft Corporation)制造的远程桌面协议(RDP)。
远程计算环境可包含多于一个服务器206a到206n,使得服务器206a到206n例如在云计算环境中一起逻辑分组为服务器集群206。服务器集群206可包含地理上分散但逻辑分组在一起的服务器206,或位置相互最接近同时逻辑分组在一起的服务器206。在一些实施例中,在服务器集群206内的地理上分散的服务器206a到206n可使用WAN(广)、MAN(都市)或LAN(本地)进行通信,其中不同地理区域可表征为:不同大陆;大陆的不同区域;不同国家;不同州;不同城市;不同园区;不同房间;或先前地理位置的任何组合。在一些实施例中,可将服务器集群206作为单个实体管理,而在其他实施例中,服务器集群206可包含多个服务器集群。
在一些实施例中,服务器集群可包含执行大体上类似类型的操作系统平台(例如,WINDOWS、UNIX、LINUX、iOS、ANDROID、SYMBIAN等)的服务器206。在其他实施例中,服务器集群206可包含执行第一类型的操作系统平台的一个或多个服务器的第一群组,以及执行第二类型的操作系统平台的一个或多个服务器的第二群组。
服务器206可按需要配置为任一类型的服务器,例如,文件服务器、应用程序服务器、网页服务器、代理服务器、设备、网络设备、网关、应用程序网关、网关服务器、虚拟化服务器、部署服务器、安全套接层(SSL)VPN服务器、防火墙、网页服务器、应用程序服务器,或作为主应用程序服务器、执行活动目录的服务器,或执行提供防火墙功能性、应用功能性或负载均衡功能性的应用加速程序的服务器。还可使用其他服务器类型。
一些实施例包含第一服务器206a,其接收来自客户端机器240的请求,将请求转发到第二服务器206b,且用来自第二服务器206b的响应来对客户端机器240生成的请求作出响应。第一服务器206a可获取可供客户端机器240使用的应用程序的枚举以及与应用程序服务器206相关联的地址信息,所述应用程序服务器托管在应用程序的枚举内识别的应用程序。第一服务器206a可接着使用网页接口呈现对客户端请求的响应,且与客户端240直接通信以向客户端240提供对所识别应用程序的访问权。一个或多个客户端240和/或一个或多个服务器206可通过网络101等网络230发送数据。
图3示出说明性桌面虚拟化系统的高层级架构。如所示,桌面虚拟化系统可以是单服务器或多服务器系统或云系统,其包含配置成将虚拟桌面和/或虚拟应用程序提供到一个或多个客户端访问装置240的至少一个虚拟化服务器301。如本文所使用,桌面是指其中可托管和/或执行一个或多个应用程序的图形环境或空间。桌面可包含图形壳层,其为操作系统的执行个体提供用户接口,本地和/或远程应用程序可集成在所述操作系统中。应用程序可包含在已加载操作系统(且任选地,还有桌面)的执行个体之后执行的程序。操作系统的每个执行个体可以是物理的(例如每一装置一个操作系统)或虚拟的(例如单个装置上运行的OS的许多执行个体)。每个应用程序可在本地装置上执行,或在位于远处的装置(例如,远程)上执行。
计算机装置301可配置为虚拟化环境中的虚拟化服务器,所述虚拟化环境例如单服务器、多服务器或云计算环境。图3所示的虚拟化服务器301可部署为图2所示的服务器206的一个或多个实施例,和/或通过图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执行客户机操作系统330A-B。
虚拟化服务器301可包含硬件层310,所述硬件层具有与虚拟化服务器301通信的一个或多个硬件。在一些实施例中,硬件层310可包含一个或多个物理磁盘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型管理程序,其中所述管理程序在操作系统314内执行,所述操作系统在虚拟化服务器301上执行。虚拟机接着在高于所述管理程序的层级处执行。在一些实施例中,2型管理程序在用户的操作系统的情境内执行,使得2型管理程序与用户的操作系统交互。在其他实施例中,虚拟化环境中的一个或多个虚拟化服务器301可改为包含1型管理程序(未示出)。1型管理程序可通过直接访问硬件层310内的硬件和资源而在虚拟化服务器301上执行。即,虽然2型管理程序302通过主机操作系统314访问系统资源,如所示,但1型管理程序可在无主机操作系统314的情况下直接访问所有系统资源。1型管理程序可直接在虚拟化服务器301的一个或多个物理处理器308上执行,且可包含存储在物理存储器316中的程序数据。
在一些实施例中,以模拟能够直接访问系统资源的操作系统330或控制程序320的任何方式,管理程序302可将虚拟资源提供到在虚拟机332上执行的操作系统330或控制程序320。系统资源可包含但不限于物理装置306、物理磁盘304、物理处理器308、物理存储器316和包含在虚拟化服务器301硬件层310中的任何其它组件。管理程序302可用于仿真虚拟硬件、分割物理硬件、虚拟化物理硬件和/或执行提供对计算环境的访问的虚拟机。在其他实施例中,管理程序302控制在虚拟化服务器301上执行的虚拟机332的处理器调度和存储器分割。管理程序302可包含:加利福尼亚州帕洛阿尔托(Palo Alto,California)的VMWare,Inc.制造的管理程序;XENPROJECT管理程序,其为在开源XenProject.org团体监督下开发的开源产品;由微软提供的HyperV、VirtualServer或虚拟PC管理程序,或其他管理程序。在一些实施例中,虚拟化服务器301执行创建虚拟机平台的管理程序302,客户机操作系统可在所述虚拟机平台上执行。在这些实施例中,虚拟化服务器301可称作主机服务器。此类虚拟化服务器的实例是由佛罗里达州劳德代尔堡的思杰系统公司提供的XENSERVER。
管理程序302可创建一个或多个虚拟机332B-C(统称332),客户机操作系统330在所述虚拟机中执行。在一些实施例中,管理程序302可加载虚拟机图像以创建虚拟机332。在其他实施例中,管理程序302可执行虚拟机332内的客户机操作系统330。在其他实施例中,虚拟机332可执行客户机操作系统330。
除创建虚拟机332之外,管理程序302还可控制至少一个虚拟机332的执行。在其他实施例中,管理程序302可通过虚拟化服务器301提供的至少一个硬件资源(例如,在硬件层310内可用的任何硬件资源)的抽象来呈现至少一个虚拟机332。在其他实施例中,管理程序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的唯一视图。因此,在这些实施例中,包含在每个虚拟机332中的特定虚拟磁盘326在与其他虚拟磁盘326比较时可以是唯一的。
虚拟处理器328可以是虚拟化服务器301的一个或多个物理处理器308的虚拟化视图。在一些实施例中,物理处理器308的虚拟化视图可由管理程序302生成、提供和管理。在一些实施例中,虚拟处理器328具有至少一个物理处理器308的大体上所有相同特性。在其他实施例中,虚拟处理器308提供物理处理器308的修改视图,使得虚拟处理器328的特性中的至少一些不同于对应物理处理器308的特性。
另外参考图4,可在基于云的环境中实施本文中描述的一些方面。图4示出云计算环境(或云系统)400的实例。如图4中所见,客户端计算机411到414可与云管理服务器410通信以访问云系统的计算资源(例如,主机服务器403、存储资源404和网络资源405)。
管理服务器410可在一个或多个物理服务器上实施。管理服务器410可运行例如佛罗里达州劳德代尔堡的思杰系统公司的CLOUDPLATFORM或OPENSTACK等等。管理服务器410可管理各种计算资源,包含云硬件和软件资源,例如,主机计算机403、数据存储装置404和联网装置405。云硬件和软件资源可包含私有和/或公共组件。举例来说,云可配置为待由一个或多个特定客户或客户端计算机411到414和/或在私有网络上使用的私有云。在其他实施例中,公共云或混合公共-私有云可由其他客户在开放式或混合网络上使用。
管理服务器410可配置成提供用户接口,云操作员和云客户可通过所述用户接口与云系统交互。举例来说,管理服务器410可为一组应用程序编程接口(API)和/或一个或多个云操作员控制台应用程序(例如,基于独立式应用程序的网页)提供用户接口以允许云操作员管理云资源、配置虚拟化层、管理客户账户以及执行其他云管理任务。管理服务器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中的管理程序。替代地,可使用已知云系统,例如,WINDOWS AZURE(华盛顿州雷德蒙德的微软公司)、AMAZON EC2(华盛顿州西雅图的亚马逊公司(Amazon.com Inc.))、IBM BLUE CLOUD(纽约州阿蒙克的IBM公司)等等。
企业移动性管理架构
图5表示用在BYOD环境中的企业移动性技术架构500。所述架构使移动装置502的用户能够从移动装置502访问企业或个人资源,以及将移动装置502用于个人用途。用户可使用由用户购买的移动装置502或由企业提供给用户的移动装置502访问此类企业资源504或企业服务508。用户可仅将移动装置502用于业务用途,或用于业务和个人用途。移动装置可运行iOS操作系统,以及Android操作系统等等。企业可选择实施策略以管理移动装置504。策略可通过防火墙或网关植入,其方式使得可对移动装置进行识别、保护或安全验证且为其提供对企业资源的选择性或完全访问。策略可以是移动装置管理策略、移动应用程序管理策略、移动数据管理策略,或移动装置、应用程序和数据管理策略的某种组合。通过移动装置管理策略的应用程序管理的移动装置504可称作已登记装置。
在一些实施例中,移动装置的操作系统可分成受管理分割区510和未管理分割区512。管理分割区510可具有应用于其以使受管理分割区上运行的应用程序和存储于受管理分割区中的数据安全的策略。在受管理分割区上运行的应用程序可以是安全应用程序。在其他实施例中,所有应用程序可根据与所述应用程序分开接收的一个或多个策略文件的集合而执行,且所述一个或多个策略文件限定一个或多个安全参数、特征、资源限制和/或当所述应用程序在装置上执行时由移动装置管理系统施行的其他访问控制。通过根据其相应策略文件操作,每个应用程序可被允许或限制与一个或多个其他应用程序和/或资源通信,由此创建虚拟分割区。因此,如本文所使用,分割区可指存储器的物理分割部分(物理分割区)、存储器的逻辑分割部分(逻辑分割区)和/或因如本文所描述跨越多个应用程序施行一个或多个策略和/或策略文件所创建的虚拟分割区(虚拟分割区)。换句话说,通过对受管理应用程序施行策略,那些应用程序可限于仅能够与其他受管理应用程序和受信任企业资源通信,由此创建未管理应用程序和装置不能进入的虚拟分割区。
安全应用程序可以是电子邮件应用程序、网络浏览应用程序、软件即服务(software-as-a-service,SaaS)访问应用程序、Windows应用访问应用程序等。安全应用程序可以是安全本机应用程序514、由安全应用程序启动器518执行的安全远程应用程序522、由安全应用程序启动器518执行的虚拟化应用程序526等等。安全本机应用程序514可由安全应用程序包装器520包装。安全应用程序包装器520可包含整合策略,当安全本机应用程序在装置上执行时,在移动装置502上执行所述整合策略。安全应用程序包装器520可包含元数据,所述元数据使移动装置502上运行的安全本机应用程序514指向企业处托管的资源,安全本机应用程序514可能需要所述资源来完成在执行安全本机应用程序514时请求的任务。可在安全应用程序启动器应用程序518内执行由安全应用程序启动器518执行的安全远程应用程序522。由安全应用程序启动器518执行的虚拟化应用程序526可利用在移动装置502上、在企业资源504处的资源等等。由安全应用程序启动器518执行的虚拟化应用程序526在移动装置502上使用的资源可包含用户交互资源、处理资源等等。用户交互资源可用以收集和发送键盘输入、鼠标输入、相机输入、触觉输入、音频输入、视觉输入、姿势输入等等。处理资源可用于呈现用户接口、处理从企业资源504接收的数据等等。由安全应用程序启动器518执行的虚拟化应用程序526在企业资源504处使用的资源可包含用户接口生成资源、处理资源等等。用户接口生成资源可用以汇编用户接口、修改用户接口、刷新用户接口等等。处理资源可用于创建信息、读取信息、更新信息、删除信息等等。举例来说,虚拟化应用程序可记录与图形用户界面(GUI)相关联的用户交互,且将所述交互传达到服务器应用程序,其中服务器应用程序将把用户交互数据用作服务器上操作的应用程序的输入。在此布置中,企业可选择维护服务器侧上的应用程序,以及与所述应用程序相关联的数据、文件等。虽然企业可根据本文原理通过确保一些应用程序在移动装置上部署来选择“调动”一些应用程序,但也可针对某些应用程序选择此布置。举例来说,虽然可确保一些应用程序用在移动装置上,但是其他应用程序可能未准备或可能不适合在移动装置上部署,因此企业可选择通过虚拟化技术向移动用户提供对未准备的应用程序的访问。作为另一实例,企业可具有含有大型复杂的数据集的大型复杂的应用程序(例如,材料资源规划应用程序),其中可能极其难以或者不期望定制用于移动装置的应用程序,因此企业可选择通过虚拟化技术提供对应用程序的访问。作为又一实例,企业可具有维护高度保护的数据(例如,人力资源数据、客户数据、工程数据)的应用程序,所述高度保护的数据可被企业认为即便对于受保护的移动环境也是过于敏感的,因此企业可选择使用虚拟化技术来准许对此类应用程序和数据的移动访问。企业可选择在移动装置上提供充分保护且功能齐全的应用程序以及虚拟化应用程序,从而允许访问被认为在服务器侧上操作更恰当的应用程序。在实施例中,虚拟化应用程序可将一些数据、文件等存储在移动电话上的一个安全存储位置中。举例来说,企业可选择允许在电话上存储某些信息而不准许其他信息。
如本文所描述,结合虚拟化应用程序,移动装置可具有被设计成呈现GUI且接着记录用户与GUI的交互的虚拟化应用程序。应用程序可将用户交互传达到服务器侧,以由服务器侧应用程序用作与所述应用程序的用户交互。作为响应,服务器侧上的应用程序可将新GUI发送回到移动装置。举例来说,新GUI可以是静态页、动态页、动画等,由此提供对远程定位的资源的访问。
安全应用程序可访问存储在移动装置的受管理分割区510中的安全数据容器528中的数据。安全数据容器中受保护的数据可由安全包装应用程序514、安全应用程序启动器522所执行的应用程序、安全应用程序启动器522所执行的虚拟化应用程序526等访问。存储于安全数据容器528中的数据可包含文件、数据库等等。存储于安全数据容器528中的数据可包含限于特定安全应用程序530的数据、安全应用程序532当中共享的数据等等。限于安全应用程序的数据可包含安全的通用数据534和高度安全数据538。安全的通用数据可使用强的加密形式,例如高级加密标准(AES)128位加密等,而高度安全数据538可使用极强的加密形式,例如AES 256位加密。在接收到来自装置管理器524的命令后,就可从装置删除存储于安全数据容器528中的数据。安全应用程序可具有双模式选项540。双模式选项540可向用户呈现选项以在无保护或未管理模式中操作受保护应用程序。在无保护或未管理模式中,安全应用程序可访问存储于移动装置502的未管理分割区512上的无保护数据容器542中的数据。存储于无保护数据容器中的数据可以是个人数据544。存储于无保护数据容器542中的数据还可由无保护应用程序548访问,所述无保护应用程序在移动装置502的未管理分割区512上运行。当从移动装置502删除存储于安全数据容器528中的数据时,存储于无保护数据容器542中的数据可保持在移动装置502上。企业可能想要从移动装置删除选定的或所有由企业拥有、授权或控制的数据、文件和/或应用程序(企业数据),同时留下或以其他方式保留由用户拥有、授权或控制的个人数据、文件和/或应用程序(个人数据)。此操作可称作选择性擦除。在企业和个人数据根据本文所描述的方面布置的情况下,企业可执行选择性擦除。
移动装置可连接到企业处的企业资源504和企业服务508,连接到公共互联网548,等等。移动装置可通过虚拟私有网络连接来连接到企业资源504和企业服务508。虚拟私有网络连接,也称为microVPN或专用VPN,可特定于特定应用程序550、特定装置、移动装置上的特定受保护区等552。举例来说,电话的受保护区中的每个包装应用程序可通过专用VPN来访问企业资源,使得将基于与应用程序相关联的属性且可能结合用户或装置属性信息来授予对VPN的访问权。虚拟私有网络连接可携载微软交换(Microsoft Exchange)业务、微软活动目录(Microsoft Active Directory)业务、超文本传送协议(HTTP)业务、安全超文本传送协议(HTTPS)业务、应用程序管理业务等。虚拟私有网络连接可支持且实现单点登录认证过程554。单点登录过程可允许用户提供认证证书的单个集合,接着通过认证服务558来验证所述集合。认证服务558接着可授权用户访问多个企业资源504,而不需要用户将认证证书提供给每个个别企业资源504。
虚拟私有网络连接可由访问网关560建立和管理。访问网关560可包含管理、加速和改进企业资源504递送到移动装置502的性能增强特征。访问网关还可将业务从移动装置502重新路由到公共互联网548,从而使移动装置502能够访问在公共互联网548上运行的公开可用和无保护应用程序。移动装置可通过传输网络562连接到访问网关。传输网络562可以是有线网络、无线网络、云网络、局域网、城域网、广域网、公共网络、私有网络等。
企业资源504可包含电子邮件服务器、文件共享服务器、SaaS应用程序、Web应用程序服务器、Windows应用程序服务器等。电子邮件服务器可包含交换服务器、Lotus Notes服务器等。文件共享服务器可包含ShareFile服务器等。SaaS应用程序可包含Salesforce等。Windows应用程序服务器可包含构建来提供预期在本地Windows操作系统等上运行的应用程序的任何应用程序服务器。企业资源504可以是内建式资源、基于云的资源等。移动装置502可直接或通过访问网关560来访问企业资源504。移动装置502可通过传输网络562访问企业资源504。传输网络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等访问。应用程序商店可具有直观且易于使用的用户接口。
软件开发工具包584可使用户能够通过如先前在本说明书中所描述包装应用程序来保护用户所选的应用程序。接着,可通过使用应用程序控制器574将已使用软件开发工具包584包装的应用程序填充于应用程序商店578中来使所述应用程序可供移动装置502使用。
企业移动性技术架构500可包含管理和分析能力588。管理和分析能力588可提供关于使用资源的方式、使用资源的频率等的信息。资源可包含装置、应用程序、数据等。使用资源的方式可包含哪些装置下载哪些应用程序,哪些应用程序访问哪些数据,等等。使用资源的频率可包含应用程序被下载的频率、应用程序访问特定数据集的次数等。
图6是另一说明性企业移动性管理系统600。为简单起见,省略上文参考图5所描述的移动性管理系统500的组件中的一些。图6中描绘的系统600的架构在许多方面类似于上文参考图5所描述的系统500的架构,且可包含上文未提到的额外特征。
在此情况下,左侧表示具有客户端代理604的已登记移动装置602,其与网关服务器606(其包含访问网关和应用程序控制器功能)交互以访问各种企业资源608和服务609,例如交换、Sharepoint、公钥基础设施(PKI)资源、Kerberos资源、颁证服务,如在右侧上方所示。虽然未具体示出,但移动装置602还可与企业应用程序商店(StoreFront)交互以选择和下载应用程序。
客户端代理604充当在企业数据中心中托管的Windows应用程序/桌面的UI(用户接口)中间物,所述Windows应用程序/桌面使用高清用户体验(HDX)/ICA显示远程协议来访问。客户端代理604还支持移动装置602上的本机iOS或Android应用程序等本机应用程序的安装和管理。举例来说,图6所示的受管理应用程序610(邮件、浏览器、包装应用程序)都是在所述装置上本地执行的本机应用程序。此架构的客户端代理604和应用程序管理框架用以提供策略驱动管理能力和例如到企业资源/服务608的连接性和SSO(单点登录)等特征。客户端代理604处置对企业的主要用户认证,通常是对具有SSO到其他网关服务器组件的访问网关(AG)的主要用户认证。客户端代理604从网关服务器606获得策略以控制移动装置602上的受管理应用程序610的行为。
本机应用程序610与客户端代理604之间的安全进程间通信(IPC)链路612表示管理信道,其允许客户端代理供应待由“包装”每个应用程序的应用程序管理框架614施行的策略。IPC信道612还允许客户端代理604供应证书和认证信息,从而实现到企业资源608的连接性和SSO。最后,IPC信道612允许应用程序管理框架614调用由客户端代理604实施的用户接口功能,例如在线和离线认证。
客户端代理604与网关服务器606之间的通信基本上是管理信道从包装每个本机受管理应用程序610的应用程序管理框架614的扩展。应用程序管理框架614从客户端代理604请求策略信息,所述客户端代理继而从网关服务器606请求策略信息。应用程序管理框架614请求认证,且客户端代理604登录网关服务器606的网关服务部分(也被称为NetScaler访问网关)。客户端代理604还可调用网关服务器606上的支持服务,所述网关服务器可产生输入材料以导出用于本地数据库616的加密密钥,或提供可实现对PKI保护的资源的直接认证的客户端凭证,如下文更充分地解释。
更详细地说,应用程序管理框架614“包装”每个受管理应用程序610。这可通过明确构建步骤或通过后构建处理步骤来并入。应用程序管理框架614可在应用程序610的首次启动后与客户端代理604“配对”以初始化安全IPC信道且获得用于此应用程序的策略。应用程序管理框架614可施行策略的本地适用的相关部分,例如客户端代理登录从属性以及一些限制可如何使用本地OS服务或其可如何与应用程序610交互的遏制策略。
应用程序管理框架614可使用客户端代理604在安全IPC信道612上提供的服务以促进认证和内网访问。针对私有和共享数据库616(容器)的密钥管理也可通过受管理应用程序610与客户端代理604之间的适当交互来进行管理。在策略允许的情况下,库616仅可在线上认证之后可用,或仅可在离线认证之后可用。库616的首次使用可能需要在线认证,且离线访问可能限于至多在再次需要在线认证之前的策略刷新周期。
对内部资源的网络访问可从个别受管理应用程序610通过访问网关606直接发生。应用程序管理框架614负责代表每个应用程序610来协调网络访问。客户端代理604可通过提供在线上认证之后获得的适当的限时辅助凭证来促进这些网络连接。可使用多个模式的网络连接,例如反向web代理连接和端对端VPN式隧道618。
邮件和浏览器受管理应用程序610具有特殊状态,且可使用可能通常不可用于任意包装应用程序的设施。举例来说,邮件应用程序可使用特殊后台网络访问机制,其允许邮件应用程序在延长的时间周期中访问交换而无需全AG登录。浏览器应用程序可使用多个私有数据库来分隔不同种类的数据。
此架构支持各种其他安全特征的并入。举例来说,在一些情况下,网关服务器606(包含其网关服务)将不需要验证活动目录(AD)口令。可让企业来判断在一些情况下是否将AD口令用作一些用户的认证因素。在用户在线或离线(即,连接或未连接到网络)的情况下,可使用不同认证方法。
设置认证是这样一种特征:其中网关服务器606可识别允许具有对需要强认证的高度分类数据的访问权的受管理本机应用程序610,且确保仅在执行适当认证后才准许访问这些应用程序,即使这意味着用户在先前较弱等级的登录后需要重认证也如此。
这种解决方案的另一安全特征是移动装置602上的数据库616(容器)的加密。库616可被加密,以使得包含文件、数据库和配置的所有装置上数据受到保护。对于在线库,可将密钥存储于服务器(网关服务器606)上,且对于离线库,密钥的本地副本可受到用户口令或生物标识验证保护。当将数据本地存储于装置602上的安全容器616中时,优选地,利用AES 256加密算法的最小值。
还可实施其他安全容器特征。举例来说,可包含记录特征,其中记录在应用程序610内部发生的所有安全事件并将其报告到后端。可支持数据擦除,例如,如果应用程序610检测到篡改,那么可用随机数据重写相关联的加密密钥,从而在文件系统上不留下用户数据被破坏过的提示。截屏保护是另一特征,其中应用程序可防止任何数据存储于截屏中。举例来说,可将密钥窗口的隐藏属性设置成YES。这可使当前显示于屏幕上的任何内容都被隐藏,从而产生其中任何内容通常会驻存的空白截屏。
可例如通过防止任何数据例如通过将其复制或将其发送到外部应用程序而在本地传送到应用程序容器外部来防止本地数据传递。键盘高速缓存特征可用以针对敏感文本框停用自动校正功能。SSL凭证验证可以是可操作的,因此应用程序专门验证服务器SSL凭证,而非将凭证存储于密钥链中。可使用加密密钥生成特征,使得使用由用户供应的通行码或生物标识数据生成用以加密装置上的数据的密钥(如果需要离线访问)。如果不需要离线访问,那么可将其与随机生成且存储于服务器侧上的另一密钥进行异或运算。密钥导出函数可操作,使得从用户口令生成的密钥使用KDF(密钥导出函数,尤其是基于口令的密钥导出函数2(PBKDF2))而非创建其密码散列。后者使密钥易受蛮力或字典式攻击。
此外,可在加密方法中使用一个或多个初始化向量。初始化向量将使相同加密数据的多个副本产生不同密文输出,从而防止重放和密码分析攻击。在不知用以加密数据的具体初始化向量的情况下,这还将使攻击者即使利用被盗的加密密钥也不能解密任何数据。此外,可使用认证,然后解密,其中仅在用户已在应用程序内认证后才解密应用程序数据。另一特征可涉及存储器中的敏感数据,仅在需要时可将敏感数据保存在存储器中(且不在磁盘中)。举例来说,可在登录之后从存储器擦除登录凭证,且不存储面向对象的C语言执行个体变量内部的加密密钥和其他数据,因为它们可能易于参考。实际上,可针对这些特征手动分配存储器。
可实施不活动超时,其中在不活动的策略限定周期之后,终止用户会话。
可以其他方式防止来自应用程序管理框架614的数据泄漏。举例来说,当将应用程序610放在后台中时,可在预定(可配置)时间周期后清除存储。当在后台运行时,可获取上一次显示的应用程序屏幕的快照以稳固前台运行进程。截屏可能含有保密数据,且因此应被清除。
另一安全特征涉及使用OTP(一次性口令)620而不使用AD(活动目录)622密码来访问一个或多个应用程序。在一些情况下,一些用户不知道(或不准许知道)其AD口令,因此这些用户可使用OTP 620认证,例如通过使用像SecurID的硬件OTP系统(OTP还可由不同供应商提供,例如Entrust或Gemalto)。在一些情况下,在用户通过用户ID认证之后,将带有OTP620的文本发送到用户。在一些情况下,这可仅针对在线使用而实施,其中提示是单个字段。
对于通过企业策略准许离线使用的那些应用程序610,可实施离线口令以用于离线认证。举例来说,企业可能想要以此方式访问StoreFront。在此情况下,客户端代理604可能需要用户设置自定义离线口令,且不使用AD口令。网关服务器606可提供策略来控制和施行关于例如由标准Windows服务器口令复杂度要求所描述的最小长度、字符类别组成和口令期限的口令标准,但这些要求可修改。
另一特征涉及将某些应用程序610的客户端侧凭证作为辅助证书而启用(出于通过应用程序管理框架微VPN特征访问PKI保护的网页资源的目的)。举例来说,应用程序可利用此类凭证。在此情况下,可支持使用ActiveSync协议的基于凭证的认证,其中来自客户端代理604的凭证可由网关服务器606检索且用于密钥链中。每个受管理应用程序可具有一个相关联客户端凭证,其由网关服务器606中限定的标签识别。
网关服务器606可与企业专用网页服务交互以支持客户端凭证的发布,从而允许针对内部PKI保护资源认证相关受管理应用程序。
可增强客户端代理604和应用程序管理框架614以支持获得和使用客户端凭证以用于针对内部PKI保护网络资源的认证。可支持多于一个凭证,以便匹配各种层级的安全和/或分隔要求。所述凭证可由邮件和浏览器管理的应用程序使用,且最终由任意包装应用程序使用(前提是,那些应用程序使用网页服务式通信模式,其中应用程序管理框架调节https请求是合理的)。
iOS上的应用程序管理客户端证书支持可依赖于在每个使用周期内将公钥密码术标准(PKCS)12BLOB(二进制大对象)导入到每个受管理应用程序中的iOS密钥链内。应用程序管理框架客户端凭证支持可使用具有私有存储器内密钥存储的HTTPS实施方案。客户端凭证绝不会存在于iOS密钥链中,且除了潜在地在受到强保护的“仅在线”数据值中之外,将不被留存。
还可通过要求针对企业认证移动装置602,且反之亦然,以实施互SSL来提供额外安全。还可实施针对网关服务器606的虚拟智能卡认证。
有限和全Kerberos支持两者都可以是额外特征。全支持特征涉及能够使用活动目录(AD)口令或受信任客户端凭证进行到AD 622的完全Kerberos登录以及获得Kerberos服务票证以响应HTTP协商认证质询。有限支持特征涉及思杰访问网关企业版(AGEE)中的受限委托,其中AGEE支持调用Kerberos协议转变,由此其可响应于HTTP协商认证质询获得且使用Kerberos服务票证(受制于受限委托)。此机制在反向web代理(也称为公司虚拟私有网络(CVPN))模式中且当http(但不是https)连接在VPN和MicroVPN模式中代理时工作。
另一特征涉及应用程序容器锁定和擦除,其可在越狱或生根检测后自动发生,且作为来自管理控制台的推送命令而发生,且即使在应用程序610未在运行时也可包含远程擦除功能。
可支持企业应用程序商店和应用程序控制器的多位点架构或配置,在有故障的情况下,其允许用户从若干不同位置中的一个进行辅助。
在一些情况下,可允许受管理应用程序610通过API(实例OpenSSL)访问凭证和私钥。可允许企业的受信任的受管理应用程序610利用应用程序的客户端凭证和私钥执行特定公钥操作。因此可识别和处理各种使用情况,例如,当应用程序表现得像浏览器且不需要凭证访问时,当应用程序读取“我是谁”的凭证时,当应用程序使用凭证构建安全会话令牌时,以及当应用程序使用私钥以用于重要数据(例如,交易记录)的数字签名或用于临时数据加密时。
将虚拟浏览器集成到本机浏览器和本机web应用程序中
本公开的一个或多个方面可并入有计算机系统架构、远程访问系统架构、虚拟化(管理程序)系统架构、基于云的系统架构和/或上文结合图1到6所论述的企业移动性管理系统中的一个或多个,在其中体现和/或使用其实施。另外,在本公开中可能使用以下首字母缩写词:高清体验(HDX);移动应用程序管理(MAM);移动装置管理(MDM);移动装置体验(MDX);概念验证(POC);共享密值库(SSV);StoreFront(SF);虚拟信道(VC);WorxHome(WH);XenApp(XA);XenDesktop(XD);以及XenMobile服务器(XMS)。
如上文所论述,本公开的一个或多个方面提供将虚拟浏览器集成到本机浏览器和本机web应用程序中的方式。举例来说,通过实施本公开的一个或多个方面,可将虚拟浏览器无缝集成到本机浏览器中以实现和/或另外提供对不受本机支持的内容的访问和/或用于增强和/或另外提供更多安全性。另外,此类虚拟浏览器可用于实现和/或另外提供对本机“web”应用程序的访问,从而提供本机用户体验以及完整的web应用程序功能。
在第一使用案例中,运行于特定用户的移动装置等特定计算装置上的本机浏览器,例如思杰WorxWeb,可将统一资源定位符(URL)打开到HDX虚拟浏览器中以提供对(例如,可能无法在所述移动装置上的本机浏览器中显示的)不支持内容的访问和/或提供(例如,所述移动装置上的本机浏览器可能不提供的)更多安全性。在此第一使用案例下可存在一个或多个操作假设。举例来说,WorxWeb可能是主要使用案例。另外,此方法可用于无法被移动装置上的本机浏览器或Web视图控件再现的FLASH内容或其他内容。另外,此方法可用于其中存在不匹配的移动安全性的情况,因为所述方法允许在服务器后端处置网页内容。此外,虚拟浏览器可能不需要将URL重引导回到本地应用程序(例如无反向URL重引导)。作为辅助使用案例,此方法还可适用于桌面浏览器,如INTERNET EXPLORER、CHROME和/或FIREFOX。
在第二使用案例中,虚拟浏览器可用于实现和/或另外提供对移动“web”应用程序的访问。举例来说,WorkDay等一些移动应用程序相对于其相应的完整web应用程序可能具有有限功能。另外,WorkDay网站等一些网站可能并非设计成用于移动浏览器。本公开的方面可允许用户从移动装置跳板访问web应用程序,如WorkDay。具体地说,本公开的方面可为用户提供本机用户体验和完整的web应用程序功能。
在第三使用案例中,可应用思杰XenMobile MDM和MAM/MDX安全性且与上文所论述的第一使用案例和第二使用案例组合,从而在两种方法中提供增强的安全性。
核心实施方案
在本公开的一个或多个方面的可表示用于实施本公开的一个或多个方面的基本设计的核心实施方案中,本机WorxWeb应用程序可与虚拟浏览器集成以用于选择网页内容。在此布置中,可提供全屏HDX视图。可通过HDX调用远程浏览器(例如INTERNET EXPLORER的远程执行个体)以用于选择网页内容。远程浏览器可在周围没有chrome的情况下以信息站(kiosk)模式运行。另外,可提供允许用户从远程浏览器返回到本机WorxWeb视图的经过修改的HDX会话控制用户接口。还可提供单个远程选项卡支持。
图7示出根据本公开的一个或多个方面的可用于将虚拟浏览器集成到本机浏览器和本机web应用程序中的架构实例。
在图7中所示部署和配置中,管理员可针对URL的白/黑名单利用WorxWeb应用程序MDX策略来配置XenMobile服务器。作为一种安全浏览器,WorxWeb可配置和/或设计成(1)与来自MDX应用程序的URL相关联;和/或(2)使用StoreFront和HDX软件开发工具包(SDK)打开选择URL且将此类URL重引导到虚拟浏览器。在一些情况下,可存在基于MDX策略、SF/认证SDK和/或MDX SDK的一个或多个从属性。另外或替代地,XenApp服务器可与发布的浏览器或XenApp浏览器服务器一起使用。
在图7中所示部署和配置中,可如下发生实例运行时操作序列。首先,管理员可配置WorxWeb MDX应用程序策略以限定URL的白名单和/或黑名单。其次,用户可通过WorxHome登录到XenMobile服务器,且WorxHome可执行策略刷新。第三,WorxHome可推送策略和/或与其他MDX应用程序共享认证令牌。在一些情况下,共享密值库(SSV)和MDX库可用于共享。另外,WorxWeb可读取MDX应用程序策略以打开和/或关闭URL重引导且接收URL的白名单和/或黑名单。在替代的设计中,WorxWeb和其他MDX应用程序可独立于XenMobile服务器而执行策略刷新,且还可独立地进行到XenMobile服务器的网络认证。在无WorxHome作为单个主应用程序的情况下,此方法可称作“分散式认证”。
再次参考图7中所示部署和配置中的实例运行时操作序列,在第四步骤,用户可打开不受支持的URL。第五,WorxWeb可使用StoreFront SDK与StoreFront通讯。这可包含使用共享认证令牌的认证、发送应用程序启动请求以及获得ICA文件(其可例如描述待启动的HDX连接的属性,例如服务器地址和/或初始应用程序,例如INTERNET EXPLORER)。
第六,WorxWeb可启动HDX虚拟浏览器应用程序。这可包含基于所获得ICA文件启动HDX连接以及使用控制虚拟信道来启动应用程序和供应参数(例如,为应用程序供应例如到INTERNET EXPLORER的路径)。另外,可附加例如指示重引导的URL启动和/或指示以“信息站”模式运行应用程序的参数,如下文更详细地论述。
第七,WorxWeb可预览虚拟网页内容。这可包含从远程应用程序(例如以信息站模式运行的INTERNET EXPLORER,其中来自重引导的URL的内容由远程浏览器打开)显示HDX图形。可提供返回按钮以使用户能够返回到本地网络浏览。另外或替代地,本地HDX会话控件可使用户能够退出虚拟浏览器中的URL预览。
随后,在第八步骤,用户可选择返回按钮或关闭预览按钮。这可使用户和处理返回到本地WorxWeb浏览。
图8示出根据本公开的一个或多个方面的将虚拟浏览器集成到本机浏览器和本机web应用程序中的另一实例。具体地说,在图8中示出的实例中,可在移动应用程序浏览器中呈现FLASH内容。图8中所示实例类似于图7中所示实例,但在图8中示出的实例中,FLASH内容的HDX预览呈现在本机WorxWeb应用程序中(这例如可能通常在移动平台上不被允许)。
在一些情况下,INTERNET EXPLORER的信息站模式可用于实施本公开的一个或多个方面。当INTERNET EXPLORER以信息站模式运行时,可能不显示标题栏、菜单、工具栏和状态栏,且浏览器可以全屏模式运行。当使用可能不支持类似信息站模式的其他浏览器实施本公开的方面时,可将HDX无缝VC协议的设施用于区分客户端和非客户端窗口区。以此方式,WorxWeb可从本地图形显示移除远程浏览器的非客户端区,且可仅示出客户端区(其可例如包含网页内容)。
扩展设计
在本公开的一个或多个方面的扩展设计实施方案中,下文论述的一个或多个额外高级特征可与上文所论述的特征中的一个或多个组合以将虚拟浏览器集成到本机浏览器和本机web应用程序中。
举例来说,可包含的一个高级特征是复杂HDX视图大小调整。具体地说,在预览远程浏览器时,WorxWeb可向用户提供不同用户体验选项以进行平移和缩放。举例来说,可提供全屏(适合屏幕)选项,其中在必要时自动缩放远程会话。另外或替代地,可提供实际远程会话大小加滚动条选项。另外或替代地,可提供远程会话大小百分比加滚动条选项。
可包含的另一高级特征是用于混合的本地和远程浏览的本地用户接口控件。当实施此特征时,目标可以是使用户能够在不关注一些URL通过本机WebView控件本地处理而其他URL通过发布的浏览器远程处理的情况下无缝浏览本地和远程URL。此无缝体验还可适用于用户接口按钮控件,例如返回、前进和/或其类似者。WorxWeb可仅呈现本地用户接口按钮控件,其取决于上下文可将其动作重引导到本机WebView控件或发布的浏览器窗口控件。在一些情况下,为此,WorxWeb可能需要跟踪URL转换的历史。数据结构可用于存储一系列对象,含有:URL链接;指示URL的本地与远程处置的布尔值(boolean);以及URL转换序列中的当前数字和/或指针(例如组合的本地和远程堆栈)。
为了获得有关远程浏览器中实际发生的URL链接转换的细节,可以在远程浏览器中使用浏览器助手对象(BHO)或其他依赖于浏览器的插件,以在HDX VC上将此元数据传达给WorxWeb。另外,WorxWeb可通过本地返回和/或前进控件来控制远程返回和/或前进操作,这些控件设计成通过HDX VC将键盘快捷方式发送到远程浏览器(例如,分别是Alt-Left-Arrow-Key和Alt-Right-Arrow-Key)。取决于具有浏览历史的上下文(例如,使用上文讨论的数据结构),相同的本地返回和/或前进控件可适用于本地WebView控件浏览会话。
在一些情况下,可进行简化的假设:除了使用返回按钮进行回溯之外,不存在从远程浏览器返回到本地浏览器的URL重引导。当使用此假设时,可能不需要传达正在打开的实际远程URL链接,而是只能传达远程URL转换的动作。
可包含的另一高级特征是对远程浏览器的多选项卡支持。当实施此特征时,在一些情况下可能不存在HDX会话共享。举例来说,每个选项卡可在单独的HDX会话内处理,且可能无需跟踪单独的远程进程。可针对每个单独的选项卡应用上文所论述的设计。此方法的一些缺点可能是,XenApp服务器的可扩展性可能会受到影响,且每个单独会话的初始HDX连接时间可能会更长。
在其他情况下,当实施对远程浏览器的多选项卡支持时,可存在HDX会话共享。举例来说,单独的远程浏览器可在每个本地选项卡的相同HDX会话中启动,且可通过现有无缝VC协议(其可例如提供发布的应用程序的完整层级以及对应的远程进程和窗口树)来跟踪。这种方法可能更复杂,但它可有利于XenApp服务器的可扩展性以及初始启动后每个后续浏览器的瞬时启动时间。
在一些布置中,可提供浏览器插件以扩展本机浏览器。具体地说,WorxWeb可视为移动平台的本机自定义浏览器。相同的概念可应用于桌面操作系统的本机浏览器。举例来说,当在WINDOWS操作系统、MAC OS X操作系统和/或LINUX操作系统上运行时,URL可通过用于INTERNET EXPLORER、CHROME和/或FIREFOX的浏览器插件重引导到远程托管浏览器。此类浏览器插件可使用CTRIX HTML5接收器进行远程处理,且可通过如上文所论述的用于控制远程浏览器的自定义VC来增强。
在一些布置中,可提供移动“web”应用程序特征。举例来说,为了实现移动“web”应用程序(例如,移动设备跳板上的WorkDay),可能需要WorxWeb与上文所论述嵌入HDX浏览器设计和移动HDX本机应用程序设计的组合或交叉。在移动设备跳板上提供HDX本机应用程序时,模板HDX SDK应用程序可加以定制以看起来和感觉像是对应于发布的应用程序(例如,Microsoft WORD)的特定本机应用程序。
举例来说,HDX本机应用程序可通过MDM或MAM部署在跳板上。此类应用程序可从模板HDX应用程序预先配置成含有MICRSOFT Word的图标(例如,作为对应的发布的应用程序)和对应于DOC和DOCX的文件类型关联(FTA)。所述应用程序还可预先配置成在起始本机应用程序时启动HDX会话到MICROSOFT word的发布的和/或远程执行个体。
在实施本公开的一个或多个方面时,模板WorxWeb应用程序可配置有WorkDay web应用程序的图标,且可在开始后进一步配置成通过指向WorkDay web应用程序的URL启动HDX会话到发布的和/或远程浏览器。以此方式,可向用户提供本机用户体验和完整的web应用程序功能。
图9示出根据本公开的一个或多个方面的移动“web”应用程序的实例。
图10描绘根据本文中描述的一个或多个说明性方面的将虚拟浏览器集成到本机浏览器和本机web应用程序中的方法。在一些实施例中,图10中所示方法可由计算平台执行,所述计算平台并入有、利用和/或包含计算机系统架构、远程访问系统架构、虚拟化(管理程序)系统架构、基于云的系统架构和/或上文结合图1到6所论述的企业移动性管理系统中的一个或多个要素。举例来说,图10中所示方法可由计算平台执行,所述计算平台具有至少一个处理器、存储器和通信接口。在步骤1005,计算平台可接收打开不受本机支持的统一资源定位符的请求。在步骤1010,响应于接收到打开不受本机支持的统一资源定位符的请求,计算平台可启动托管虚拟浏览器应用程序。在步骤1015,计算平台可显示由托管虚拟浏览器应用程序生成的图形,且由托管虚拟浏览器应用程序生成的图形可包含与不受本机支持的统一资源定位符相关联的内容。
图11描绘根据本文中描述的一个或多个说明性方面的用于将虚拟浏览器集成到本机浏览器和本机web应用程序中的说明性计算环境。参考图11,计算环境1100可包含用户计算装置1110、企业服务器基础设施1120、虚拟化服务器基础设施1130和网络1150。用户计算装置1110、企业服务器基础设施1120和虚拟化服务器基础设施1130可包含一个或多个物理组件,例如一个或多个处理器、存储器、通信接口和/或其类似者。另外,用户计算装置1110可包含、并入有和/或实施上文所论述的客户端装置、移动装置和/或用户装置的一个或多个方面。企业服务器基础设施1120可包含、并入有和/或实施上文所论述的企业系统和/或管理服务器的一个或多个方面。虚拟化服务器基础架构1130可包含、并入有和/或实施上文所论述的虚拟化服务器和/或其他虚拟化基础架构的一个或多个方面。
举例来说,用户计算装置1110可包含处理器1111、存储器1112和通信接口1114。处理器1111可执行存储在存储器1112中的指令以使得用户计算装置1110执行一个或多个功能,例如执行操作系统和/或一个或多个应用程序,包含可提供浏览功能的本地浏览器应用程序(其可例如还称作“本地浏览器”或“本机浏览器”)。存储器1112可存储本地浏览器应用程序1113,其可包含、并入有和/或实施上文所论述的安全和/或受管理浏览器应用程序(例如受管理浏览器应用程序610)的一个或多个方面且其可提供浏览功能,如下文更详细地示出。通信接口1114可包含一个或多个网络接口,用户计算装置1110可通过所述一个或多个网络接口与计算环境1100中的一个或多个其他系统和/或装置通信,所述其他系统和/或装置例如企业服务器基础设施1120、虚拟化服务器基础设施1130和/或一个或多个其他系统和/或装置。
企业服务器基础设施1120可包含和/或提供一个或多个策略管理系统1121,可通过所述策略管理系统(例如相对于一个或多个受管理装置,包含一个或多个受管理用户移动装置)限定、应用、施行、更新、停用和/或另外控制一个或多个移动装置管理策略、移动应用程序管理策略和/或其他企业策略。虚拟化服务器基础设施1130可包含、执行和/或提供托管浏览器应用程序1131(其可例如是远程和/或虚拟应用程序,类似于上文所论述的托管、远程处理和/或虚拟化应用程序,且其可例如用于向一个或多个用户装置再现和/或提供不受本机支持的内容,如下文更详细地示出)。网络1150可包含一个或多个局域网、广域网、公共网络、私有网络和/或子网络,且可互连用户计算装置1110、企业服务器基础设施1120、虚拟化服务器基础设施1130。
图12A到12F描绘根据本文中描述的一个或多个说明性方面的用于将虚拟浏览器集成到本机浏览器和本机web应用程序中的实例事件序列。参考图12A,在步骤1201,企业服务器基础设施1120可(例如从一个或多个策略管理员和/或其他管理用户)接收限定一个或多个策略的输入。举例来说,企业服务器基础设施1120可接收限定一个或多个移动装置管理策略、一个或多个移动装置应用程序策略和/或一个或多个其他企业策略(其可例如特定于和/或另外与操作企业服务器基础设施1120的组织相关联,例如用户计算装置1110的用户所供职的和/或另外相关联的企业组织)的输入。在一些情况下,步骤1201处限定的一个或多个策略可指定待在托管浏览器而非本地浏览器上打开的一个或多个不受本机支持的统一资源定位符,如下文更详细地示出。
在步骤1202,企业服务器基础设施1120可布建一个或多个用户装置(例如基于步骤1201处限定的一个或多个策略)。举例来说,在步骤1202,企业服务器基础设施1120可将一个或多个新策略和/或策略更新发送到一个或多个用户装置,包含用户计算装置1110和/或一个或多个其他用户装置,从而利用所述一个或多个策略布建此类用户装置。
在步骤1203,用户计算装置1110可从企业服务器基础设施1120接收一个或多个策略。举例来说,在步骤1203,用户计算装置1110可通过通信接口(例如通信接口1114)从企业服务器(例如企业服务器基础设施1120)接收一个或多个企业策略,且所述一个或多个企业策略可包含限定一个或多个不受本机支持的统一资源定位符的至少一个企业策略。如下文更详细地示出,当在用户计算装置1110上请求此类不受本机支持的统一资源定位符时,施行此类企业策略可引导、控制和/或另外致使用户计算装置1110启动托管浏览器会话,从而使对应于不受本机支持的统一资源定位符的内容能够在托管会话中(例如通过虚拟化服务器基础设施1130)远程再现且在用户装置(例如用户计算装置1110)上本地显示。
在步骤1204,用户计算装置1110可存储从企业服务器基础设施1120接收的一个或多个策略。举例来说,在步骤1204,用户计算装置1110可通过至少一个策略管理代理存储所述一个或多个企业策略以在计算装置(例如用户计算装置1110)上施行。此类策略管理代理可在用户计算装置1110上运行和/或由所述用户计算装置执行,且可包含、并入有和/或实施上文所论述的客户端代理(例如客户端代理604)的一个或多个方面。另外或替代地,此类策略管理代理可集成到用户计算装置1110上的本地浏览器和/或用户计算装置1110上的(例如此类本地浏览器自身可集成到的)企业门户应用程序中。
参考图12B,在步骤1205,用户计算装置1110可认证用户计算装置1110的用户。举例来说,在步骤1205,用户计算装置1110可认证计算装置(例如用户计算装置1110)的用户。用户计算装置1110可基于验证用户输入的用户名、用户输入的口令、用户提供的生物标识输入和/或用户提供的其他输入来认证用户。在步骤1206,用户计算装置1110可缓存链接到和/或另外与步骤1205处认证的用户相关联的一个或多个证书。举例来说,在步骤1206,基于认证计算装置(例如用户计算装置1110)的用户,用户计算装置1110可缓存与计算装置(例如用户计算装置1110)的用户相关联的一个或多个认证证书。在缓存与计算装置(例如用户计算装置1110)的用户相关联的一个或多个认证证书时,用户计算装置1110可在密钥链中存储和/或另外缓存链接到与计算装置(例如用户计算装置1110)的用户相关联的企业用户帐户的一个或多个单点登录(SSO)证书。在一些情况下,此类单点登录(SSO)证书可供用户计算装置1110使用和/或使用户计算装置1110能够登录到虚拟化服务器,例如虚拟化服务器基础设施1130,且发起链接到企业用户帐户的托管浏览器会话。
在步骤1207,用户计算装置1110可接收针对第一统一资源定位符的请求。举例来说,在步骤1207,用户计算装置1110可接收打开第一统一资源定位符的请求。此类请求可例如对应于和/或包含在从用户计算装置1110的用户接收的用户输入中。在步骤1208,用户计算装置1110可确定第一统一资源定位符不受本机支持。举例来说,在步骤1208,用户计算装置1110可基于用户计算装置1110维护和/或确定的一个或多个策略和/或其他信息而确定第一统一资源定位符不受本机支持。
在一些实施例中,确定第一统一资源定位符不受本机支持可包含基于限定一个或多个不受本机支持的统一资源定位符的至少一个企业策略来确定第一统一资源定位符不受本机支持。举例来说,在确定第一统一资源定位符不受本机支持时,用户计算装置1110可基于限定一个或多个不受本机支持的统一资源定位符的至少一个企业策略来确定第一统一资源定位符不受本机支持。此类企业策略可例如限定不受本机支持的统一资源定位符、受本机支持的统一资源定位符和/或其他统一资源定位符的黑名单和/或白名单。另外,用户计算装置1110可例如基于第一统一资源定位符被所述至少一个企业策略识别和/或包含在由所述至少一个企业策略指定的不受本机支持的统一资源定位符的列表中来确定第一统一资源定位符不受本机支持,且此确定可使用户计算装置1110启动托管会话以呈现与第一统一资源定位符相关联的内容,如下文更详细地示出。
在一些实施例中,确定第一统一资源定位符不受本机支持可包含基于检测到无法加载与第一统一资源定位符相关联的一个或多个要素来确定第一统一资源定位符不受本机支持。举例来说,在确定第一统一资源定位符不受本机支持时,用户计算装置1110可基于用户计算装置1110检测到无法加载与第一统一资源定位符相关联的一个或多个要素而确定第一统一资源定位符不受本机支持。例如,用户计算装置1110起初可尝试访问第一统一资源定位符,且随后可检测到与第一统一资源定位符相关联的一个或多个内容项、脚本、插件和/或其他要素无法加载和/或另外未能加载。响应于检测到与第一统一资源定位符相关联的一个或多个内容项、脚本、插件和/或其他要素无法加载和/或另外未能加载,用户计算装置1110可确定第一统一资源定位符不受本机支持(这可例如使用户计算装置1110启动托管会话以呈现与第一统一资源定位符相关联的内容,如下文更详细地示出)。
在一些实施例中,确定第一统一资源定位符不受本机支持可包含基于识别第一统一资源定位符对应于与托管的web应用程序相关联的存根应用程序来确定第一统一资源定位符不受本机支持。举例来说,在确定第一统一资源定位符不受本机支持时,用户计算装置1110可基于识别第一统一资源定位符对应于与托管的web应用程序相关联的存根应用程序来确定第一统一资源定位符不受本机支持。此类存根应用程序可例如配置成在本地浏览器中打开第一统一资源定位符,且可包含可使本地浏览器将第一统一资源定位符识别为不受本机支持的一个或多个命令行选项和/或其他嵌入命令,所述命令继而可使用户计算装置1110启动托管会话以呈现与第一统一资源定位符相关联的内容,如下文更详细地示出。
参考图12C,在步骤1209,用户计算装置1110可连接到虚拟化服务器基础设施1130(例如响应于和/或另外基于在步骤1208确定第一统一资源定位符不受本机支持)。在步骤1210,用户计算装置1110可启动托管会话中的托管浏览器(例如通过引导、命令和/或另外控制虚拟化服务器基础设施1130来启动虚拟化服务器基础设施1130提供的托管会话中的托管浏览器的执行个体)。举例来说,在步骤1210,基于确定第一统一资源定位符不受本机支持,用户计算装置1110可启动由虚拟化服务器(例如虚拟化服务器基础设施1130)托管的虚拟会话中的托管虚拟浏览器应用程序(例如托管浏览器应用程序1131)。
在一些实施例中,启动由虚拟化服务器托管的虚拟会话中的托管虚拟浏览器应用程序可包含建立与虚拟化服务器的连接以及使用一个或多个高速缓存的认证证书来与虚拟化服务器进行认证。举例来说,在启动由虚拟化服务器(例如虚拟化服务器基础设施1130)托管的虚拟会话中的托管虚拟浏览器应用程序时,用户计算装置1110可建立与虚拟化服务器(例如虚拟化服务器基础设施1130)的连接以及使用一个或多个高速缓存的认证证书(例如在步骤1206高速缓存的证书)来与虚拟化服务器(例如虚拟化服务器基础设施1130)进行认证。
在一些实施例中,使用一个或多个高速缓存的认证证书来与虚拟化服务器进行认证可包含使用链接到企业用户帐户的至少一个高速缓存的单点登录(SSO)证书来与虚拟化服务器进行认证。举例来说,在使用一个或多个高速缓存的认证证书来与虚拟化服务器(例如虚拟化服务器基础设施1130)进行认证时(例如在步骤1210处),用户计算装置1110可使用链接到企业用户帐户的至少一个高速缓存的单点登录(SSO)证书来与虚拟化服务器进行认证。例如,用户计算装置1110可使用链接到企业用户帐户的至少一个高速缓存的单点登录(SSO)证书、通过将此类SSO证书提交到虚拟化服务器基础设施1130以用于验证来与虚拟化服务器进行认证,且所述SSO证书可能已在步骤1206通过用户计算装置1110高速缓存,如上文所论述。另外或替代地,SSO证书可链接到企业用户帐户,所述企业用户帐户与用户计算装置1110的用户相关联且允许用户计算装置1110的用户选择性地访问一个或多个受保护企业资源,例如企业应用程序商店、企业文件共享平台、企业云存储平台和/或其他企业资源。
在步骤1211,用户计算装置1110可从虚拟化服务器基础设施1130接收托管浏览器图形。举例来说,在步骤1211,用户计算装置1110可通过通信接口(例如通信接口1114)从虚拟化服务器(例如虚拟化服务器基础设施1130)接收由托管虚拟浏览器应用程序(例如托管浏览器应用程序1131)生成的第一托管浏览器图形。另外,由托管虚拟浏览器应用程序(例如托管浏览器应用程序1131)生成的第一托管浏览器图形可包含与第一统一资源定位符相关联的内容。因此,虚拟化服务器基础设施1130上的托管浏览器应用程序1131可访问和/或再现与用户计算装置1110上受本机不支持的第一统一资源定位符相关联的内容,且随后,虚拟化服务器基础设施1130上的托管浏览器应用程序1131可将与第一统一资源定位符相关联的再现内容发送到用户计算装置1110以供显示(例如在用户计算装置1110上的本地浏览器中,例如在本地浏览器应用程序1113中)。
在步骤1212,用户计算装置1110可呈现从虚拟化服务器基础设施1130接收的托管浏览器图形。举例来说,在步骤1212,用户计算装置1110可呈现由托管虚拟浏览器应用程序(例如在虚拟化服务器基础设施1130上执行的托管浏览器应用程序1131)生成的第一托管浏览器图形。在呈现由托管虚拟浏览器应用程序生成的托管浏览器图形时,用户计算装置1110可显示和/或另外呈现类似于图13中示出的图形用户界面1300的图形用户界面。如图13中所见,图形用户界面1300可包含与本地浏览器应用程序相关联的用户界面要素、控件和/或其他内容(例如选项卡列表、返回按钮、前进按钮和/或其他要素),还有由虚拟化服务器基础设施1130上的托管浏览器再现且由用户计算装置1110上的本地浏览器应用程序显示的托管浏览器图形。
在一些实施例中,呈现由托管虚拟浏览器应用程序生成的第一托管浏览器图形可包含维护与浏览活动相关联的浏览转换堆栈。举例来说,在呈现由托管虚拟浏览器应用程序(例如在虚拟化服务器基础设施1130上执行的托管浏览器应用程序1131)生成的第一托管浏览器图形时,用户计算装置1110可维持与浏览活动相关联的浏览转换堆栈。在维护与浏览活动相关联的浏览转换堆栈时,用户计算装置1110可跟踪和/或存储识别访问的页和/或页之间的转换的信息,包含在用户计算装置1110上执行的本地浏览器中的本地浏览活动和在虚拟化服务器基础设施1130上执行的托管虚拟浏览器中的远程浏览活动。用户计算装置1110可维护此类浏览转换堆栈以实现本地浏览器中和/或托管浏览器中的返回和/或前进导航功能、历史跟踪功能和/或其他功能。在一些情况下,除可在用户计算装置1110上维护浏览转换堆栈之外或替代地,此类浏览转换堆栈可在虚拟化服务器基础设施1130上以类似方式维护。
参考图12D,在步骤1213,用户计算装置1110可接收与托管浏览器图形(其可例如由在用户计算装置1110上执行的本地浏览器呈现)交互的输入(例如来自用户计算装置1110的用户)。举例来说,在步骤1213,用户计算装置1110可接收与第一托管浏览器图形交互的输入,所述第一托管浏览器图形由托管虚拟浏览器应用程序(例如在虚拟化服务器基础设施1130上执行的托管浏览器应用程序1131)生成且由计算装置(例如用户计算装置1110)呈现。此类输入可例如包含用户调用和/或另外选择托管浏览器图形中包含的链接、与托管浏览器图形中包含的表单或其他控件交互,和/或另外与托管浏览器图形中包含的要素交互。
在一些实施例中,接收与由托管虚拟浏览器应用程序生成并由计算装置呈现的第一托管浏览器图形交互的输入可包含基于与由托管虚拟浏览器应用程序生成并由计算装置呈现的第一托管浏览器图形交互的输入来更新浏览转换堆栈。举例来说,在接收与由托管虚拟浏览器应用程序(例如在虚拟化服务器基础设施1130上执行的托管浏览器应用程序1131)生成且由计算装置(例如用户计算装置1110)呈现的第一托管浏览器图形交互的输入时,用户计算装置1110可基于与由托管虚拟浏览器应用程序(例如在虚拟化服务器基础设施1130上执行的托管浏览器应用程序1131)生成且由计算装置(例如用户计算装置1110)呈现的第一托管浏览器图形交互的输入来更新浏览转换堆栈。例如,如果输入包含选择链接和/或与所述链接相关联的新页面的转换,用户计算装置1110可更新浏览转换堆栈以包含识别链接的选择和/或与所述链接相关联的新页面的转换的信息。
在步骤1214,用户计算装置1110可将与托管浏览器图形交互的输入发送到虚拟化服务器基础设施1130。举例来说,在步骤1214,用户计算装置1110可通过通信接口(例如通信接口1114)将与第一托管浏览器图形交互的输入发送到虚拟化服务器(例如虚拟化服务器基础设施1130),所述第一托管浏览器图形由托管虚拟浏览器应用程序(例如在虚拟化服务器基础设施1130上执行的托管浏览器应用程序1131)生成且由计算装置(例如用户计算装置1110)呈现。在步骤1215,用户计算装置1110可从虚拟化服务器基础设施1130接收更新的浏览器图形。举例来说,在步骤1215,用户计算装置1110可通过通信接口(例如通信接口1114)从虚拟化服务器(例如虚拟化服务器基础设施1130)接收由托管虚拟浏览器应用程序(例如在虚拟化服务器基础设施1130上执行的托管浏览器应用程序1131)生成的更新的托管浏览器图形。例如,在虚拟化服务器基础设施1130上执行的托管浏览器应用程序1131可基于从用户计算装置1110接收的输入再现和/或另外生成更新图形,且随后可将此类更新图形发送回到用户计算装置1110以供显示。在步骤1216,用户计算装置1110可呈现从虚拟化服务器基础设施1130接收的更新的浏览器图形。举例来说,在步骤1216,用户计算装置1110可呈现由托管虚拟浏览器应用程序(例如在虚拟化服务器基础设施1130上执行的托管浏览器应用程序1131)生成的更新的托管浏览器图形。
参考图12E,在步骤1217,用户计算装置1110可接收打开第二统一资源定位符的请求。举例来说,在步骤1217,用户计算装置1110可接收打开第二统一资源定位符的请求。此类请求可例如对应于和/或包含在从用户计算装置1110的用户接收的用户输入中。在一些情况下,用户计算装置1110可接收在新的选项卡中打开第二统一资源定位符的请求,所述新的选项卡不同于呈现与第一统一资源定位符相关联的托管图形的选项卡。另外或替代地,用户计算装置1110可跟踪在用户计算装置1110上执行的本地浏览器的不同选项卡上显示的内容和/或不同选项卡之间的浏览转换。
在步骤1218,用户计算装置1110可确定第二统一资源定位符不受本机支持。举例来说,在步骤1218,用户计算装置1110可确定第二统一资源定位符不受本机支持,类似于用户计算装置1110确定第一统一资源定位符不受本机支持的方式(例如基于一个或多个策略、基于检测到未能加载、基于识别出第二统一资源定位符对应于与托管web应用程序的存根应用程序相关联和/或基于用户计算装置1110维护和/或确定的其他信息)。
在步骤1219,用户计算装置1110可启动托管会话中的托管浏览器的额外执行个体(例如通过引导、命令和/或另外控制虚拟化服务器基础设施1130来启动虚拟化服务器基础设施1130提供的托管会话中的托管浏览器的另一执行个体)。举例来说,在步骤1219,基于确定第二统一资源定位符不受本机支持,用户计算装置1110可启动虚拟化服务器(例如虚拟化服务器基础设施1130)托管的虚拟会话中的托管虚拟浏览器应用程序(例如托管浏览器应用程序1131)的额外执行个体。
在步骤1220,用户计算装置1110可从虚拟化服务器基础设施1130接收托管浏览器图形。举例来说,在步骤1220,用户计算装置1110可通过通信接口(例如通信接口1114)从虚拟化服务器(例如虚拟化服务器基础设施1130)接收由托管虚拟浏览器应用程序(例如托管浏览器应用程序1131)的额外执行个体生成的第二托管浏览器图形。另外,第二托管浏览器图形可包含与第二统一资源定位符相关联的内容。因此,就如第一统一资源定位符的情况,虚拟化服务器基础设施1130上的托管浏览器应用程序1131可访问和/或再现与在用户计算装置1110上不受本机支持的第二统一资源定位符相关联的内容,且随后,虚拟化服务器基础设施1130上的托管浏览器应用程序1131可将与第二统一资源定位符相关联的再现内容发送到用户计算装置1110以供显示(例如在用户计算装置1110上的本地浏览器中,例如在本地浏览器应用程序1113中)。
参考图12F,在步骤1221,用户计算装置1110可呈现从虚拟化服务器基础设施1130接收的托管浏览器图形。举例来说,在步骤1221,用户计算装置1110可呈现由托管虚拟浏览器应用程序(例如在虚拟化服务器基础设施1130上执行的托管浏览器应用程序1131)的额外执行个体生成的第二托管浏览器图形。
在一些实施例中,呈现由托管虚拟浏览器应用程序生成的第一托管浏览器图形可包含在本地浏览器应用程序的第一选项卡中呈现第一托管浏览器图形,且呈现由托管虚拟浏览器应用程序的额外执行个体生成的第二托管浏览器图形可包含在本地浏览器应用程序的第二选项卡中呈现第二托管浏览器图形,所述第二选项卡不同于本地浏览器应用程序的第一选项卡。举例来说,在呈现由托管虚拟浏览器应用程序(例如在虚拟化服务器基础设施1130上执行的托管浏览器应用程序1131)生成的第一托管浏览器图形,用户计算装置1110可在本地浏览器应用程序的第一选项卡(例如在用户计算装置1110上执行的本地浏览器应用程序1113的第一选项卡)中呈现第一托管浏览器图形。另外,呈现由托管虚拟浏览器应用程序的额外执行个体(例如在虚拟化服务器基础设施1130上执行的托管浏览器应用程序1131的额外执行个体)生成的第二托管浏览器图形时,用户计算装置1110可在不同于本地浏览器应用程序的第一选项卡的本地浏览器应用程序的第二选项卡(例如在用户计算装置1110上执行的本地浏览器应用程序1113的第二选项卡)中呈现第二托管浏览器图形。
在一些实施例中,呈现由托管虚拟浏览器应用程序的额外执行个体生成的第二托管浏览器图形可包含维护与本地浏览器应用程序的第一选项卡中的第一浏览活动相关联的第一浏览转换堆栈以及维护与本地浏览器应用程序的第二选项卡中的第二浏览活动相关联的第二浏览转换堆栈。举例来说,在呈现由托管虚拟浏览器应用程序(例如在虚拟化服务器基础设施1130上执行的托管浏览器应用程序1131)的额外执行个体生成的第二托管浏览器图形时,用户计算装置1110可维护与本地浏览器应用程序的第一选项卡中的第一浏览活动相关联的第一浏览转换堆栈,且可维护与本地浏览器应用程序的第二选项卡中的第二浏览活动相关联的第二浏览转换堆栈。用户计算装置1110可维护此类转换堆栈,类似于上文所论述的实例中用户计算装置1110可维护转换堆栈的方式。
在步骤1222,用户计算装置1110可接收针对第三统一资源定位符的请求。举例来说,在步骤1222,用户计算装置1110可接收打开第三统一资源定位符的请求。此类请求可例如对应于和/或包含在从用户计算装置1110的用户接收的用户输入中。在一些情况下,用户计算装置1110可接收在新的选项卡中打开第三统一资源定位符的请求,所述新的选项卡不同于呈现与第一统一资源定位符相关联的托管图形和/或与第二统一资源定位符相关联的托管图形的选项卡。另外或替代地,用户计算装置1110可跟踪在用户计算装置1110上执行的本地浏览器的不同选项卡上显示的内容和/或不同选项卡之间的浏览转换。
在步骤1223,用户计算装置1110可确定第三统一资源定位符受本机支持。举例来说,在步骤1223,用户计算装置1110可基于用户计算装置1110维护和/或确定的一个或多个策略和/或其他信息而确定第三统一资源定位符受本机支持。在步骤1224,用户计算装置1110可访问第三统一资源定位符。举例来说,在步骤1224,基于确定第三统一资源定位符受本机支持,用户计算装置1110可使用本地浏览器应用程序(例如本地浏览器应用程序1113)访问第三统一资源定位符。在访问第三统一资源定位符时,用户计算装置1110可例如在本机上打开和呈现与第三统一资源定位符相关联的内容。举例来说,在访问第三统一资源定位符时,用户计算装置1110可显示和/或另外呈现类似于图14中示出的图形用户界面1400的图形用户界面。如图14中所见,图形用户界面1400可包含与本地浏览器应用程序相关联的用户界面要素、控件和/或其他内容(例如选项卡列表、返回按钮、前进按钮和/或其他要素),还有由用户计算装置1110上的本地浏览器应用程序再现且由用户计算装置1110上的本地浏览器应用程序显示的本机浏览器图形。
图15描绘根据本文中描述的一个或多个说明性方面的将虚拟浏览器集成到本机浏览器和本机web应用程序中的实例方法。参看图15,在步骤1505,具有至少一个处理器、通信接口和存储器的计算装置可接收打开第一统一资源定位符的请求。在步骤1510,计算装置可确定第一统一资源定位符不受本机支持。在步骤1515,基于确定第一统一资源定位符不受本机支持,计算装置可启动由虚拟化服务器托管的虚拟会话中的托管虚拟浏览器应用程序。在步骤1520,计算装置可通过通信接口从虚拟化服务器接收由托管虚拟浏览器应用程序生成的第一托管浏览器图形,且由托管虚拟浏览器应用程序生成的第一托管浏览器图形可包含与第一统一资源定位符相关联的内容。在步骤1525,计算装置可呈现由托管虚拟浏览器应用程序生成的第一托管浏览器图形。
如上文所示,本公开的各个方面涉及将虚拟浏览器集成到本机浏览器和本机web应用程序中。尽管已用特定于结构特征和/或方法动作的语言来描述主题,但应理解,所附权利要求书中限定的主题未必局限于上文所描述的具体特征或动作。实际上,上文所描述的具体特征和动作被描述为所附权利要求的一些实例实施方案。

Claims (20)

1.一种计算装置,其包括:
至少一个处理器;
通信接口,其以通信方式联接到所述至少一个处理器;以及
存储器,其存储计算机可读指令,所述计算机可读指令在由所述至少一个处理器执行时使所述计算装置进行以下操作:
接收打开第一统一资源定位符的请求;
确定所述第一统一资源定位符不受本机支持;
基于确定所述第一统一资源定位符不受本机支持,启动由虚拟化服务器托管的虚拟会话中的托管虚拟浏览器应用程序,
其中,启动由所述虚拟化服务器托管的所述虚拟会话中的所述托管虚拟浏览器应用程序包括建立与所述虚拟化服务器的连接、使用一个或多个高速缓存的认证证书来与所述虚拟化服务器进行认证、以及命令所述虚拟化服务器来启动由所述虚拟化服务器托管的所述虚拟会话中的所述托管虚拟浏览器应用程序的执行个体,以及
其中,使用所述一个或多个高速缓存的认证证书来与所述虚拟化服务器进行认证包括使用链接到企业用户帐户的至少一个高速缓存的单点登录(SSO)证书来与所述虚拟化服务器进行认证;
通过所述通信接口从所述虚拟化服务器接收由所述托管虚拟浏览器应用程序生成的第一托管浏览器图形,由所述托管虚拟浏览器应用程序生成的所述第一托管浏览器图形包括与所述第一统一资源定位符相关联的内容;以及
呈现由所述托管虚拟浏览器应用程序生成的所述第一托管浏览器图形。
2.根据权利要求1所述的计算装置,其中确定所述第一统一资源定位符不受本机支持包括基于限定一个或多个不受本机支持的统一资源定位符的至少一个企业策略来确定所述第一统一资源定位符不受本机支持。
3.根据权利要求1所述的计算装置,其中确定所述第一统一资源定位符不受本机支持包括基于检测到未能加载与所述第一统一资源定位符相关联的一个或多个要素来确定所述第一统一资源定位符不受本机支持。
4.根据权利要求1所述的计算装置,其中确定所述第一统一资源定位符不受本机支持包括基于识别所述第一统一资源定位符对应于与托管的web应用程序相关联的存根应用程序来确定所述第一统一资源定位符不受本机支持。
5.根据权利要求1所述的计算装置,其中呈现由所述托管虚拟浏览器应用程序生成的所述第一托管浏览器图形包括维护与浏览活动相关联的浏览转换堆栈。
6.根据权利要求1所述的计算装置,其中所述存储器存储额外计算机可读指令,所述额外计算机可读指令在由所述至少一个处理器执行时使所述计算装置进行以下操作:
在接收打开所述第一统一资源定位符的所述请求之前:
通过所述通信接口从企业服务器接收一个或多个企业策略,所述一个或多个企业策略包括限定一个或多个不受本机支持的统一资源定位符的至少一个企业策略;以及
存储所述一个或多个企业策略以通过至少一个策略管理代理在所述计算装置上施行。
7.根据权利要求1所述的计算装置,其中所述存储器存储额外计算机可读指令,所述额外计算机可读指令在由所述至少一个处理器执行时使所述计算装置进行以下操作:
在接收打开所述第一统一资源定位符的所述请求之前:
认证所述计算装置的用户;以及
基于认证所述计算装置的所述用户,高速缓存与所述计算装置的所述用户相关联的一个或多个认证证书。
8.根据权利要求1所述的计算装置,其中所述存储器存储额外计算机可读指令,所述额外计算机可读指令在由所述至少一个处理器执行时使所述计算装置进行以下操作:
接收与所述第一托管浏览器图形交互的输入,所述第一托管浏览器图形由所述托管虚拟浏览器应用程序生成且由所述计算装置呈现;
通过所述通信接口将与由所述托管虚拟浏览器应用程序生成且由所述计算装置呈现的所述第一托管浏览器图形交互的所述输入发送到所述虚拟化服务器;
通过所述通信接口从所述虚拟化服务器接收由所述托管虚拟浏览器应用程序生成的更新的托管浏览器图形;以及
呈现由所述托管虚拟浏览器应用程序生成的所述更新的托管浏览器图形。
9.根据权利要求8所述的计算装置,其中接收与由所述托管虚拟浏览器应用程序生成且由所述计算装置呈现的所述第一托管浏览器图形交互的所述输入包括基于与由所述托管虚拟浏览器应用程序生成且由所述计算装置呈现的所述第一托管浏览器图形交互的所述输入来更新浏览转换堆栈。
10.根据权利要求1所述的计算装置,其中所述存储器存储额外计算机可读指令,所述额外计算机可读指令在由所述至少一个处理器执行时使所述计算装置进行以下操作:
接收打开第二统一资源定位符的请求;
确定所述第二统一资源定位符不受本机支持;
基于确定所述第二统一资源定位符不受本机支持,启动由所述虚拟化服务器托管的所述虚拟会话中的所述托管虚拟浏览器应用程序的额外执行个体;
通过所述通信接口从所述虚拟化服务器接收由所述托管虚拟浏览器应用程序的所述额外执行个体生成的第二托管浏览器图形,所述第二托管浏览器图形包括与所述第二统一资源定位符相关联的内容;以及
呈现由所述托管虚拟浏览器应用程序的所述额外执行个体生成的所述第二托管浏览器图形。
11.根据权利要求10所述的计算装置,其中呈现由所述托管虚拟浏览器应用程序生成的所述第一托管浏览器图形包括在本地浏览器应用程序的第一选项卡中呈现所述第一托管浏览器图形,且其中呈现由所述托管虚拟浏览器应用程序的所述额外执行个体生成的所述第二托管浏览器图形包括在所述本地浏览器应用程序的第二选项卡中呈现所述第二托管浏览器图形,所述第二选项卡不同于所述本地浏览器应用程序的所述第一选项卡。
12.根据权利要求11所述的计算装置,其中呈现由所述托管虚拟浏览器应用程序的所述额外执行个体生成的所述第二托管浏览器图形包括维护与所述本地浏览器应用程序的所述第一选项卡中的第一浏览活动相关联的第一浏览转换堆栈以及维护与所述本地浏览器应用程序的所述第二选项卡中的第二浏览活动相关联的第二浏览转换堆栈。
13.根据权利要求10所述的计算装置,其中所述存储器存储额外计算机可读指令,所述额外计算机可读指令在由所述至少一个处理器执行时使所述计算装置进行以下操作:
接收打开第三统一资源定位符的请求;
确定所述第三统一资源定位符受本机支持;以及
基于确定所述第三统一资源定位符受本机支持,使用本地浏览器应用程序访问所述第三统一资源定位符。
14.一种用于虚拟浏览器集成的方法,其包括:
在包括至少一个处理器、存储器和通信接口的计算装置处:
通过所述至少一个处理器接收打开第一统一资源定位符的请求;
通过所述至少一个处理器确定所述第一统一资源定位符不受本机支持;
基于确定所述第一统一资源定位符不受本机支持,通过所述至少一个处理器启动由虚拟化服务器托管的虚拟会话中的托管虚拟浏览器应用程序,
其中,启动由所述虚拟化服务器托管的所述虚拟会话中的所述托管虚拟浏览器应用程序包括建立与所述虚拟化服务器的连接、使用一个或多个高速缓存的认证证书来与所述虚拟化服务器进行认证、以及命令所述虚拟化服务器来启动由所述虚拟化服务器托管的所述虚拟会话中的所述托管虚拟浏览器应用程序的执行个体,以及
其中,使用所述一个或多个高速缓存的认证证书来与所述虚拟化服务器进行认证包括使用链接到企业用户帐户的至少一个高速缓存的单点登录(SSO)证书来与所述虚拟化服务器进行认证;
由所述至少一个处理器通过所述通信接口从所述虚拟化服务器接收由所述托管虚拟浏览器应用程序生成的第一托管浏览器图形,由所述托管虚拟浏览器应用程序生成的所述第一托管浏览器图形包括与所述第一统一资源定位符相关联的内容;以及
通过所述至少一个处理器呈现由所述托管虚拟浏览器应用程序生成的所述第一托管浏览器图形。
15.根据权利要求14所述的方法,其中确定所述第一统一资源定位符不受本机支持包括基于限定一个或多个不受本机支持的统一资源定位符的至少一个企业策略来确定所述第一统一资源定位符不受本机支持。
16.根据权利要求14所述的方法,其中确定所述第一统一资源定位符不受本机支持包括基于检测到未能加载与所述第一统一资源定位符相关联的一个或多个要素来确定所述第一统一资源定位符不受本机支持。
17.根据权利要求14所述的方法,其中确定所述第一统一资源定位符不受本机支持包括基于识别所述第一统一资源定位符对应于与托管的web应用程序相关联的存根应用程序来确定所述第一统一资源定位符不受本机支持。
18.根据权利要求14所述的方法,其中呈现由所述托管虚拟浏览器应用程序生成的所述第一托管浏览器图形包括维护与浏览活动相关联的浏览转换堆栈。
19.根据权利要求14所述的方法,包括:
在接收打开所述第一统一资源定位符的所述请求之前:
由所述至少一个处理器通过所述通信接口从企业服务器接收一个或多个企业策略,所述一个或多个企业策略包括限定一个或多个不受本机支持的统一资源定位符的至少一个企业策略;以及
由所述至少一个处理器存储所述一个或多个企业策略以通过至少一个策略管理代理在所述计算装置上施行。
20.一种非暂时性计算机可读媒体,其存储指令,所述指令在由包括至少一个处理器、存储器和通信接口的计算装置执行时使所述计算装置进行以下操作:
接收打开第一统一资源定位符的请求;
确定所述第一统一资源定位符不受本机支持;
基于确定所述第一统一资源定位符不受本机支持,启动由虚拟化服务器托管的虚拟会话中的托管虚拟浏览器应用程序,
其中,启动由所述虚拟化服务器托管的所述虚拟会话中的所述托管虚拟浏览器应用程序包括建立与所述虚拟化服务器的连接、使用一个或多个高速缓存的认证证书来与所述虚拟化服务器进行认证、以及命令所述虚拟化服务器来启动由所述虚拟化服务器托管的所述虚拟会话中的所述托管虚拟浏览器应用程序的执行个体,以及
其中,使用所述一个或多个高速缓存的认证证书来与所述虚拟化服务器进行认证包括使用链接到企业用户帐户的至少一个高速缓存的单点登录(SSO)证书来与所述虚拟化服务器进行认证;
通过所述通信接口从所述虚拟化服务器接收由所述托管虚拟浏览器应用程序生成的第一托管浏览器图形,由所述托管虚拟浏览器应用程序生成的所述第一托管浏览器图形包括与所述第一统一资源定位符相关联的内容;以及
呈现由所述托管虚拟浏览器应用程序生成的所述第一托管浏览器图形。
CN201780028454.1A 2016-05-23 2017-05-22 用于虚拟浏览器集成的计算装置、方法和计算机可读媒体 Active CN109074274B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662340028P 2016-05-23 2016-05-23
US62/340,028 2016-05-23
US15/472,798 2017-03-29
US15/472,798 US10334075B2 (en) 2016-05-23 2017-03-29 Virtual browser integration
PCT/US2017/033739 WO2017205239A1 (en) 2016-05-23 2017-05-22 Virtual browser integration

Publications (2)

Publication Number Publication Date
CN109074274A CN109074274A (zh) 2018-12-21
CN109074274B true CN109074274B (zh) 2021-12-28

Family

ID=60330560

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780028454.1A Active CN109074274B (zh) 2016-05-23 2017-05-22 用于虚拟浏览器集成的计算装置、方法和计算机可读媒体

Country Status (6)

Country Link
US (1) US10334075B2 (zh)
EP (1) EP3465430B1 (zh)
JP (1) JP6775603B2 (zh)
KR (1) KR102188916B1 (zh)
CN (1) CN109074274B (zh)
WO (1) WO2017205239A1 (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10581823B2 (en) * 2016-03-21 2020-03-03 Vmware, Inc. Web client plugin manager in vCenter managed object browser
US10356621B2 (en) * 2016-05-23 2019-07-16 Citrix Systems, Inc. Browser plug-in for secure web access
US11003463B2 (en) * 2016-09-16 2021-05-11 Rocket Software, Inc. Virtual desktop
US11966886B2 (en) * 2017-06-22 2024-04-23 Jpmorgan Chase Bank, N.A. System and method for implementing an interbank information network
US10666706B2 (en) 2017-11-22 2020-05-26 Citrix Systems, Inc. Rendering a web application in a cloud service
US10606617B2 (en) * 2018-03-08 2020-03-31 Citrix Systems, Inc. Instant virtual application launch
US10855686B2 (en) 2018-04-09 2020-12-01 Bank Of America Corporation Preventing unauthorized access to secure information systems using multi-push authentication techniques
US11070630B2 (en) * 2018-05-04 2021-07-20 Citrix Systems, Inc. Computer system providing SAAS application session state migration features and related methods
US11163424B2 (en) * 2018-06-25 2021-11-02 Citrix Systems, Inc. Unified display for virtual resources
US20190394255A1 (en) * 2018-06-25 2019-12-26 Citrix Systems, Inc. Intermediated retrieval of networked content
US11190573B2 (en) * 2018-07-25 2021-11-30 Vmware, Inc. Techniques for improving implementation of a remote browser within a local browser
US10924545B2 (en) 2018-10-10 2021-02-16 Citrix Systems, Inc. Computer system providing mirrored SAAS application sessions and related methods
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
EP3737108B1 (en) * 2019-05-10 2021-08-25 JT International S.A. Configuring a personal computing device for communication with an aerosol generation device
US11442599B2 (en) 2019-06-07 2022-09-13 Microsoft Technology Licensing, Llc Systems and methods for hosting a browser within another browser
US11038988B2 (en) * 2019-08-26 2021-06-15 Citrix Systems, Inc. System and methods for providing user analytics and performance feedback for web applications
US11586685B2 (en) * 2019-10-31 2023-02-21 Citrix Systems, Inc. Systems and methods for generating data structures from browser data to determine and initiate actions based thereon
CN110866291B (zh) * 2019-11-15 2023-03-24 北京工业大学 一种基于双重安全机制的废旧电子产品信息清除方法
US11012498B1 (en) * 2020-01-02 2021-05-18 Microsoft Technology Licensing, Llc Web browser multi-media redirection
US11016799B1 (en) 2020-01-30 2021-05-25 Coupang Corp. Systems and methods for centralization of server initialization information
US11893199B2 (en) 2020-06-10 2024-02-06 Microsoft Technology Licensing, Llc Systems and methods for viewing incompatible web pages via remote browser instances
US11641665B2 (en) 2020-09-09 2023-05-02 Self Financial, Inc. Resource utilization retrieval and modification
US20220075877A1 (en) 2020-09-09 2022-03-10 Self Financial, Inc. Interface and system for updating isolated repositories
US11475010B2 (en) 2020-09-09 2022-10-18 Self Financial, Inc. Asynchronous database caching
US11470037B2 (en) 2020-09-09 2022-10-11 Self Financial, Inc. Navigation pathway generation
US11803398B2 (en) * 2021-02-16 2023-10-31 Citrix Systems, Inc. Computing device and associated methods providing browser launching of virtual sessions in an application
US11757934B1 (en) 2021-06-24 2023-09-12 Airgap Networks Inc. Extended browser monitoring inbound connection requests for agentless lateral movement protection from ransomware for endpoints deployed under a default gateway with point to point links
US11736520B1 (en) 2021-06-24 2023-08-22 Airgap Networks Inc. Rapid incidence agentless lateral movement protection from ransomware for endpoints deployed under a default gateway with point to point links
US11916957B1 (en) 2021-06-24 2024-02-27 Airgap Networks Inc. System and method for utilizing DHCP relay to police DHCP address assignment in ransomware protected network
US11722519B1 (en) 2021-06-24 2023-08-08 Airgap Networks Inc. System and method for dynamically avoiding double encryption of already encrypted traffic over point-to-point virtual private networks for lateral movement protection from ransomware
US11757933B1 (en) * 2021-06-24 2023-09-12 Airgap Networks Inc. System and method for agentless lateral movement protection from ransomware for endpoints deployed under a default gateway with point to point links
US11711396B1 (en) 2021-06-24 2023-07-25 Airgap Networks Inc. Extended enterprise browser blocking spread of ransomware from alternate browsers in a system providing agentless lateral movement protection from ransomware for endpoints deployed under a default gateway with point to point links
US11695799B1 (en) 2021-06-24 2023-07-04 Airgap Networks Inc. System and method for secure user access and agentless lateral movement protection from ransomware for endpoints deployed under a default gateway with point to point links
CN114036369B (zh) * 2021-10-20 2024-04-30 北京字节跳动网络技术有限公司 浏览器访问应用的方法、装置、设备、介质和产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101410803A (zh) * 2006-01-24 2009-04-15 思杰系统有限公司 用于提供对计算环境的访问的方法和系统
JP2010527057A (ja) * 2007-04-25 2010-08-05 クゥアルコム・インコーポレイテッド アプリケーションをローカルで起動すべきかまたはリモートでウェブアプとして起動すべきかを決定する装置
CN103516715A (zh) * 2012-06-28 2014-01-15 索尼公司 信息处理装置、信息处理方法、以及信息通信系统
JP2014026424A (ja) * 2012-07-26 2014-02-06 Zenrin Datacom Co Ltd ブラウザシステム
CN105009547A (zh) * 2012-12-20 2015-10-28 奥兰治公司 用于处理访问请求的方法和网页浏览器

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6181867B1 (en) * 1995-06-07 2001-01-30 Intervu, Inc. Video storage and retrieval system
US7555529B2 (en) * 1995-11-13 2009-06-30 Citrix Systems, Inc. Interacting with software applications displayed in a web page
US20040093582A1 (en) * 2002-11-01 2004-05-13 Segura Tim E. Method for allowing a computer to be used as an information kiosk while locked
US8972977B2 (en) * 2004-06-30 2015-03-03 Microsoft Technology Licensing, Llc Systems and methods for providing seamless software compatibility using virtual machines
US7779091B2 (en) * 2005-12-19 2010-08-17 Vmware, Inc. Method and system for providing virtualized application workspaces
US7926072B2 (en) * 2007-10-01 2011-04-12 Spring Design Co. Ltd. Application programming interface for providing native and non-native display utility
US8806354B1 (en) * 2008-12-26 2014-08-12 Avaya Inc. Method and apparatus for implementing an electronic white board
US8762861B2 (en) * 2008-12-28 2014-06-24 Avaya, Inc. Method and apparatus for interrelating virtual environment and web content
US8590003B2 (en) * 2009-06-15 2013-11-19 Microsoft Corporation Controlling access to resources by hosted entities
CN102971706B (zh) * 2010-05-10 2016-08-10 思杰系统有限公司 将信息从安全虚拟机重定向到不安全虚拟机
US8924528B1 (en) * 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US8866701B2 (en) * 2011-03-03 2014-10-21 Citrix Systems, Inc. Transparent user interface integration between local and remote computing environments
US20130014033A1 (en) * 2011-07-08 2013-01-10 WoGo LLC Systems and methods for facilitating user interaction between multiple virtual environments
US8973118B2 (en) 2011-12-14 2015-03-03 Cellco Partnership Token based security protocol for managing access to web services
US9276963B2 (en) 2012-12-28 2016-03-01 Intel Corporation Policy-based secure containers for multiple enterprise applications
US9455886B2 (en) 2013-03-29 2016-09-27 Citrix Systems, Inc. Providing mobile device management functionalities
WO2015126845A1 (en) * 2014-02-18 2015-08-27 F5 Networks, Inc. Concurrent evaluation of large rule sets with conditions
US9910765B2 (en) * 2014-05-22 2018-03-06 Citrix Systems, Inc. Providing testing environments for software applications using virtualization and a native hardware layer
US10278069B2 (en) 2014-08-07 2019-04-30 Mobile Iron, Inc. Device identification in service authorization

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101410803A (zh) * 2006-01-24 2009-04-15 思杰系统有限公司 用于提供对计算环境的访问的方法和系统
JP2010527057A (ja) * 2007-04-25 2010-08-05 クゥアルコム・インコーポレイテッド アプリケーションをローカルで起動すべきかまたはリモートでウェブアプとして起動すべきかを決定する装置
CN103516715A (zh) * 2012-06-28 2014-01-15 索尼公司 信息处理装置、信息处理方法、以及信息通信系统
JP2014026424A (ja) * 2012-07-26 2014-02-06 Zenrin Datacom Co Ltd ブラウザシステム
CN105009547A (zh) * 2012-12-20 2015-10-28 奥兰治公司 用于处理访问请求的方法和网页浏览器

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Detection of malicious PDF files and directions for enhancements;Nir Nissim 等;《Computers & Security》;20150228;第246-266页 *
基于固件的虚拟化系统集成访问控制机制研究与实现;马佳敏;《中国优秀硕士学位论文全文数据库 信息科技辑》;20150615;第I137-3页 *
基于高性能计算资源的协同应用系统的研究;李辰;《数字技术与应用》;20150515;第109页 *

Also Published As

Publication number Publication date
JP2019526842A (ja) 2019-09-19
KR102188916B1 (ko) 2020-12-09
US10334075B2 (en) 2019-06-25
EP3465430B1 (en) 2021-09-01
WO2017205239A1 (en) 2017-11-30
JP6775603B2 (ja) 2020-10-28
KR20180135945A (ko) 2018-12-21
EP3465430A1 (en) 2019-04-10
US20170339250A1 (en) 2017-11-23
CN109074274A (zh) 2018-12-21

Similar Documents

Publication Publication Date Title
CN109074274B (zh) 用于虚拟浏览器集成的计算装置、方法和计算机可读媒体
US11792274B2 (en) Managing browser session navigation between one or more browsers
CN109558721B (zh) 客户端应用程序的安全单点登录和条件访问的方法和系统
CN111052706B (zh) 将单点登录扩展到联合登录提供者的依赖方的方法
US11627120B2 (en) Dynamic crypto key management for mobility in a cloud environment
CN107566400B (zh) 用于确定应用的操作模式的方法
EP3058502B1 (en) Secure client drive mapping and file storage system for mobile device management type security
KR101738400B1 (ko) 콘텍스트와 모바일 디바이스 로킹
JP2018524843A (ja) ハイブリッドクラウドサービスのためのパスワードの暗号化
CN113419799A (zh) 使用云同步数据提供本机桌面
CN112789841A (zh) 在远程访问或基于云的网络环境中访问资源
US11748312B2 (en) Sharing of data with applications
CN111066307B (zh) 包装延续令牌以支持跨不同地理位置的多个服务器的分页
US11770454B2 (en) Native application integration for enhanced remote desktop experiences
US10949061B2 (en) Application publishing in a virtualized environment
CN111566619A (zh) 虚拟桌面中的本地映射账户

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant