CN110521183B - 基于对等通信的虚拟专用网络 - Google Patents

基于对等通信的虚拟专用网络 Download PDF

Info

Publication number
CN110521183B
CN110521183B CN201880025549.2A CN201880025549A CN110521183B CN 110521183 B CN110521183 B CN 110521183B CN 201880025549 A CN201880025549 A CN 201880025549A CN 110521183 B CN110521183 B CN 110521183B
Authority
CN
China
Prior art keywords
mobile device
data
peer
network
mesh network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201880025549.2A
Other languages
English (en)
Other versions
CN110521183A (zh
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
Publication of CN110521183A publication Critical patent/CN110521183A/zh
Application granted granted Critical
Publication of CN110521183B publication Critical patent/CN110521183B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • 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/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • 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
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/03Protocol definition or specification 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/062Pre-authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/40Security arrangements using identity modules
    • H04W12/43Security arrangements using identity modules using shared identity modules, e.g. SIM sharing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/04Terminal devices adapted for relaying to or from another terminal or user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本文描述了当多个移动设备中的至少一个移动设备不能与接入网关建立虚拟专用网络连接时使得多个移动设备能够访问接入网关的方法和系统。例如,在一些实施例中,移动设备可以将其自身配置为网状网络的成员。可以在移动设备和接入网关之间建立虚拟专用网络连接。网状网络可以包括一个或多个其它成员设备,所述其它成员设备不能与接入网关建立虚拟专用网络。在完成其配置之后,移动设备可以通过网状网络的对等连接接收旨在用于接入网关并且来自所述其它成员设备中的一个成员设备的数据。移动设备可以经由虚拟专用网络连接将数据发送到接入网关。

Description

基于对等通信的虚拟专用网络
相关申请的交叉引用
本申请要求提交于2017年3月6日的发明名称为“VIRTUAL PRIVATE NETWORKINGBASED ON PEER-TO-PEER COMMUNICATION”的美国非临时申请序列No.15/450,654的优先权,其公开内容全文以引用方式并入本文并用于所有目的。
技术领域
本文描述的方面总体涉及虚拟专用网络、对等通信、网状网络和/或企业移动性管理系统。
背景技术
今天,用户经常使用多个计算设备。例如,用户可以在一天中的不同时间使用智能电话、平板计算机和膝上型计算机。当用户将更多数量的设备集成到他或她的日常生活中时,用户可能越来越希望使用这些设备从远程位置访问和使用他或她的雇主(或一些其它企业)的资源。这些设备可能具有不同的功能,并且根据远程位置的操作环境,可能无法连接到相同的网络。例如,用户的智能电话可以连接到蜂窝网络,但是用户的平板计算机或膝上型计算机可能无法连接到蜂窝网络。如果企业想要允许用户在此种操作环境中从智能电话和膝上型计算机访问企业资源,则企业可能面临许多挑战。例如,如果蜂窝网络是用户可用的唯一网络,则挑战在于使能用户从平板计算机或膝上型计算机访问企业资源的能力。此外,即使用户能够从平板计算机或膝上型计算机访问企业资源,挑战还在于确保用户的访问保持安全。鉴于这些挑战,需要提高用户以安全方式从多个设备访问企业资源的能力。
发明内容
以下呈现了本文描述的各种方面的简要概述。本发明内容不是广泛的概述,并且不旨在标识关键元素或重要元素或描绘权利要求的范围。以下发明内容仅以简化形式呈现一些概念作为下面提供的更详细描述的介绍性前序。
为了克服上述现有技术中的限制,并且为了克服在阅读和理解本说明书时将显而易见的其它限制,本文描述的方面例如旨在当多个移动设备中的至少一个移动设备无法与接入网关建立虚拟专用网络连接时,使得多个移动设备能够访问接入网关。
例如,在一些实施例中,至少两个移动设备(例如,第一移动设备和第二移动设备)可以在彼此的阈值距离内,而不是使得设备能够使用对等连接进行通信。另外,每个设备可以配置成实现企业管理框架,该企业管理框架例如控制如何在移动设备上执行特定管理的应用程序和/或管理与接入网关建立虚拟专用网络连接。第一移动设备可能能够与接入网关建立虚拟专用网络连接。然而,第二移动设备可能无法与接入网关建立其自己的虚拟专用网络连接。因此,鉴于以上所述,第二移动设备可能能够基于第一移动设备和第二移动设备成为使用对等连接的网状网络中的成员并且还基于在第一移动设备和接入网关之间建立的虚拟专用网络连接来与接入网关通信。
实际上,在一些实施例中,第一移动设备可以将其自身配置为网状网络的成员。在完成其配置之后,第一移动设备可能能够通过网状网络经由对等连接与第二移动设备通信。第一移动设备可以经由对等连接并从第二移动设备接收旨在用于接入网关的数据。第一移动设备可以经由虚拟专用网络连接将数据发送到接入网关。
通过以下进一步详细讨论的本公开的益处,将理解这些和其它方面。
附图说明
通过参考以下考虑附图的描述,可以获得对本文描述的方面及其优点的更完整的理解,其中相同的附图标记表示相同的特征,并且其中:
图1描绘了可以根据本文描述的一个或多个说明性方面使用的说明性计算机系统架构。
图2描绘了可以根据本文描述的一个或多个说明性方面使用的说明性远程访问系统架构。
图3描绘了可以根据本文描述的一个或多个说明性方面使用的说明性虚拟化(管理程序)系统架构。
图4描绘了可以根据本文描述的一个或多个说明性方面使用的说明性的基于云的系统架构。
图5描绘了说明性企业移动性管理系统。
图6描绘了另一个说明性企业移动性管理系统。
图7示出了其中用户可能能够使用根据本文描述的各个方面的多个设备访问企业资源和企业服务的一个示例布置。
图8示出了可以与建立网状网络结合使用的示例方法。
图9示出了其中用户可能能够使用根据本文描述的各个方面的多个设备访问企业资源和企业服务的另一个示例布置。
图10A示出了可以与建立网状网络结合使用的另一个示例方法。
图10B示出了可以与管理网状网络结合使用的示例方法。
图11A至图11D示出了根据本文描述的各个方面可以与使用网状网络结合使用的示例方法。
图12示出了描绘网状网络的建立以及网状网络的使用的示例流程,其结合执行与根据本文描述的方面的企业移动性管理系统相关联的各种功能。
具体实施方式
在以下各种实施例的描述中,参考了上面识别并形成其一部分的附图,并且在附图中通过图示的方式示出了其中可以实践本文所述的方面的各种实施例。应当理解,在不脱离本文描述的范围的情况下,可以利用其它实施例并且可以做出系统或功能改变。多个方面能够具有其它实施例并且能够以各种不同的方式实践或进行。
应当理解,本文采用的措辞和术语用于描述的目的,并且不应视为限制。相反,本文使用的短语和术语将被赋予其最广泛的解释和含义。“包括”和“包含”及其变体的使用旨在涵盖其后列出的项目及其等同物以及附加项目及其等同物。术语“安装”、“连接”、“联接”、“定位”、“接合”和类似术语的使用旨在包括直接和间接安装、连接、联接、定位和接合。
计算架构
计算机软件、硬件和网络可以用在各种不同的系统环境中,其包括独立的、网络的、远程访问(也称为远程桌面)、虚拟化和/或基于云的环境等。图1示出了系统架构和数据处理设备的一个示例,其可以用于在独立和/或网络环境中实现本文描述的一个或多个说明性方面。各种网络节点103、105、107和109可以经由广域网(WAN)101互连,诸如互联网。也可以使用或替代地使用其它网络,其包括专用内联网、公司网络、局域网(LAN)、城域网(MAN)、无线网络和个人网络(PAN)等。网络101用于说明目的,并且可以用更少或附加的计算机网络替换。局域网133可以具有任何已知LAN拓扑中的一个或多个拓扑,并且可以使用各种不同协议中的一个或多个协议,诸如以太网。设备103、105、107和109以及其它设备(未示出)可以经由双绞线、同轴电缆、光纤、无线电波或其它通信介质连接到一个或多个网络。
本文使用的并且在附图中示出的术语“网络”不仅指的是其中远程存储设备经由一个或多个通信路径联接在一起的系统,而且还指的是可以时不时联接到具有存储能力的此类系统的独立式设备。因此,术语“网络”不仅包括“物理网络”,而且包括“内容网络”,其包括可归因于单个实体的数据-其驻留在所有物理网络上。
部件可以包括数据服务器103、web服务器105和客户端计算机107、109。数据服务器103提供数据库和控制软件的总体访问、控制和管理以用于执行本文描述的一个或多个说明性方面。数据服务器103可以连接到web服务器105,其中用户通过web服务器与数据交互并获得所请求的数据。或者,数据服务器103可以用作web服务器本身并且直接连接到互联网。数据服务器103可以通过局域网133、广域网101(例如,互联网),经由直接或间接连接,或经由某些其它网络连接到web服务器105。用户可以使用远程计算机107、109与数据服务器103交互,例如,使用web浏览器经由由web服务器105托管的一个或多个外部公开的网站连接到数据服务器103。客户端计算机107、109可以与数据服务器103一起使用以访问存储在其中的数据,或者可以用于其它目的。例如,从客户端设备107,用户可以如本领域中已知的使用互联网浏览器或者通过执行通过计算机网络(诸如,作为互联网)与web服务器105和/或数据服务器103通信的软件应用程序访问web服务器105。
服务器和应用程序可以组合在相同的物理机器上,并保留单独的虚拟或逻辑地址,或者可以驻留在单独的物理机器上。图1仅示出了可以使用的网络架构的一个示例,并且本领域的技术人员将理解的是,所使用的特定网络架构和数据处理设备可以变化,并且是它们提供的功能的辅助,如本文进一步描述的。例如,由web服务器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)等来分离处理。
一个或多个方面可以体现在计算机可用或可读数据和/或计算机可执行指令中,诸如在一个或多个程序模块中,由一个或多个计算机或如本文所述的其它设备执行。通常,程序模块包括例程、程序、对象、部件、数据结构等,其在由计算机或其它设备中的处理器执行时进行特定任务或实现特定抽象数据类型。模块可以用随后被编译用于执行的源代码编程语言编写,或者可以用诸如(但不限于)超文本标记语言(HML)或可扩展标记语言(XML)的脚本语言编写。计算机可执行指令可以存储在诸如非易失性存储设备的计算机可读介质上。可以使用任何合适的计算机可读存储介质,其包括硬盘、CD-ROM、光学存储设备、磁存储设备和/或其任何组合。另外,如本文所述表示数据或事件的各种传输(非存储)媒体可以以行进穿过诸如金属线、光纤和/或无线传输介质(例如,空气和/或空间)的信号传导介质的信号传导介质的电磁波的形式在源和目标之间传输。本文描述的各个方面可以体现为方法、数据处理系统或计算机程序产品。另外,各个功能可以整体或部分地体现在软件、固件和/或硬件或硬件等同物中,诸如集成电路和现场可编程门阵列(FPGA)等。可以使用特定数据结构来更有效地实现本文所述的一个或多个方面,并且在本文描述的计算机可执行指令和计算机可用数据的范围内预期此类数据结构。
进一步参考图2,可以在远程访问环境中实现本文描述的一个或多个方面。图2描绘了包括可以根据本文描述的一个或多个说明性方面使用的在说明性计算环境200中的通用计算设备201的示例系统架构。通用计算设备201可以用作单服务器或多服务器桌面虚拟化系统(例如,远程访问或云系统)中的服务器206a,其配置成为客户端访问设备提供虚拟机。通用计算设备201可以具有处理器203以用于控制服务器及其相关部件的整体操作,包括RAM 205、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或其它广域网接口,以用于通过WAN 229建立通信,诸如计算机网络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管理程序(例如,由Citrix Systems、IBM、VMware开发的管理程序或任何其它管理程序)管理的任何虚拟机。在一些方面,虚拟机可以由管理程序管理,而在其它方面,虚拟机可以由在服务器206上执行的管理程序或在客户端240上执行的管理程序来管理。
一些实施例包括客户端设备240,其示出了由在服务器206或其它远程定位的机器上远程执行的应用程序生成的应用程序输出。在这些实施例中,客户端设备240可以执行虚拟机接收器程序或应用程序以在应用程序窗口、浏览器或其它输出窗口中显示输出。在一个示例中,应用程序是桌面,而在其它示例中,应用程序是生成或呈现桌面的应用程序。桌面可以包括图形外壳,其为操作系统的实例提供用户界面,其中可以集成本地和/或远程应用程序。本文使用的应用程序是在加载了操作系统(以及可选地,还有桌面)的实例之后执行的程序。
在一些实施例中,服务器206使用远程呈现协议或其它程序以将数据发送到在客户端上执行的瘦客户端或远程显示应用程序,从而呈现由在服务器206上执行的应用程序生成的显示输出。瘦客户端或远程显示协议可以是以下非穷举协议列表中的任何一个:由佛罗里达州劳德代尔堡的Citrix Systems公司开发的独立计算架构(ICA)协议;或由华盛顿州雷蒙德市的微软公司制造的远程桌面协议(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服务器、代理服务器、设备、网络设备、网关、应用程序网关、网关服务器、虚拟化服务器、部署服务器、安全套接层(SSL)VPN服务器、防火墙、web服务器、应用程序服务器或作为主应用程序服务器、执行活动目录的服务器或执行应用程序加速程序的服务器,应用程序加速程序提供了防火墙功能、应用程序功能或负载平衡功能。也可以使用其它服务器类型。
一些实施例包括第一服务器206a,其接收来自客户端机器240的请求,将该请求转发到第二服务器206b(未示出),并且通过来自第二服务器206b(未示出)的响应而响应于由客户端机器240生成的请求。第一服务器206a可以获取客户端机器240可用的应用程序的枚举,以及与托管在应用程序的枚举内标识的应用程序的应用程序服务器206相关联的地址信息。然后,第一服务器206a可以使用web接口呈现对客户端请求的响应,并且直接与客户端240通信以向客户端240提供对所识别的应用程序的访问。一个或多个客户端240和/或一个或多个服务器206可以通过网络230(例如,网络101)发送数据。
图3示出了说明性桌面虚拟化系统的高级架构。如图所示,桌面虚拟化系统可以是单服务器或多服务器系统或云系统,其包括至少一个虚拟化服务器301,该虚拟化服务器配置成为一个或多个客户端访问设备240提供虚拟桌面和/或虚拟应用程序。如本文所使用的,桌面是指其中可以托管和/或执行一个或多个应用程序的图形环境或空间。桌面可以包括图形外壳,其为操作系统的实例提供用户界面,其中可以集成本地和/或远程应用程序。应用程序可以包括在加载了操作系统(以及可选地,还有桌面)的实例之后执行的程序。操作系统的每个实例可以是物理的(例如,每个设备一个操作系统)或虚拟的(例如,在单个设备上运行的OS的多个实例)。每个应用程序可以在本地设备上执行,或者在远程定位的设备(例如,远程)上执行。
计算机设备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执行客户操作系统330A-B。
虚拟化服务器301可以包括硬件层310,其具有与虚拟化服务器301通信的一个或多个硬件。在一些实施例中,硬件层310可包括一个或多个物理磁盘304、一个或多个物理设备306、一个或多个物理处理器308以及一个或多个物理存储器316。物理部件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管理程序与用户的操作系统交互。在其它实施例中,虚拟化环境中的一个或多个虚拟化服务器301可以替代地包括类型1管理程序(未示出)。类型1管理程序可以通过直接访问硬件层310内的硬件和资源在虚拟化服务器301上执行。也就是说,虽然类型2管理程序302通过主机操作系统314访问系统资源,但如图所示,类型1管理程序可以在没有主机操作系统314的情况下直接访问所有系统资源。类型1管理程序可以直接在虚拟化服务器301的一个或多个物理处理器308上执行,并且可以包括存储在物理存储器316中的程序数据。
在一些实施例中,管理程序302可以以模拟操作系统330或具有直接访问系统资源的控制程序320的任何方式向操作系统330或在虚拟机332上执行的控制程序320提供虚拟资源。系统资源可以包括但不限于物理设备306、物理磁盘304、物理处理器308、物理存储器316以及虚拟化服务器301硬件层310中包括的任何其它部件。管理程序302可以用于模拟虚拟硬件、分区物理硬件、虚拟化物理硬件和/或执行对计算环境提供访问的虚拟机。在其它实施例中,管理程序302可以控制在虚拟化服务器301上执行的虚拟机332的处理器调度和存储器分区。管理程序302可以包括由加利福尼亚州帕洛阿尔托的VMWare公司制造的那些管理程序;XENPROJECT管理程序,一种开源产品,其开发受到开源XenProject.org社区的监督;由Microsoft提供的HyperV、VirtualServer或虚拟PC管理程序或其它。在一些实施例中,虚拟化服务器301可以执行管理程序302,该管理程序创建其中客户操作系统可以在其上执行的虚拟机平台。在这些实施例中,虚拟化服务器301可以被称为主机服务器。此种虚拟化服务器的示例是由佛罗里达州劳德代尔堡的Citrix Systems公司提供的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的虚拟化视图。在一些实施例中,物理处理器308的虚拟化视图可以由管理程序302生成、提供和管理。在一些实施例中,虚拟处理器328具有至少一个物理处理器308的基本上所有相同特性。在其它实施例中,虚拟处理器308提供物理处理器308的修改视图,使得虚拟处理器328的至少一些特性不同于相应的物理处理器308的特性。
进一步参考图4,可以在基于云的环境中实现这里描述的一些方面。图4示出了云计算环境(或云系统)400的示例。如图4所示,客户端计算机411-414可以与云管理服务器410通信以访问云系统的计算资源(例如,主机服务器403a-403b(本文通常称为“主机服务器403”)、存储资源404a-404b(本文通常称为“存储资源404”)和网络资源405a-405b(本文通常称为“网络资源405”))。
管理服务器410可以在一个或多个物理服务器上实现。管理服务器410可以运行例如由佛罗里达州劳德代尔堡的Citrix Systems公司提供的CLOUDPLATFORM或OPENSTACK等。管理服务器410可以管理各种计算资源,其包括云硬件和软件资源,例如,主计算机403、数据存储设备404和网络设备405。云硬件和软件资源可以包括私有和/或公共部件。例如,云可以配置成私有云以供一个或多个特定客户或客户端计算机411-414和/或专用网络使用。在其它实施例中,公共云或混合的公共-私有云可以由开放或混合网络上的其他客户使用。
管理服务器410可以配置成提供用户界面,其中云运营商和云客户可以通过该用户界面与云系统400交互。例如,管理服务器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中的管理程序。或者,可以使用已知的云系统,例如,WINDOWS AZURE(华盛顿雷德蒙市的Microsoft Corporation)、AMAZON EC2(华盛顿西雅图市的Amazon.com公司)、IBM BLUE CLOUD(纽约阿蒙克的IBM公司)或其它。
企业移动性管理架构
图5表示用于“自带设备”(BYOD)环境的企业移动性技术架构500。该架构使得移动设备502的用户能够从移动设备502访问企业或个人资源,并将移动设备S02用于个人用途。用户可以使用由用户购买的移动设备502或由企业向用户提供的移动设备502来访问此类企业资源504或企业服务508。用户可以将移动设备502仅用于商业用途或用于商业和个人用途。移动设备502可以运行iOS操作系统或Android操作系统等。企业可以选择实施策略来管理移动设备502。策略可以通过防火墙或网关以此方式实现,使得可以识别、保护或安全地验证移动设备502,并且提供对企业资源(例如,504和508)的选择性或完全访问。策略可以是移动设备管理策略、移动应用程序管理策略、移动数据管理策略或移动设备、应用程序和数据管理策略的某种组合。通过移动设备管理策略的应用程序来管理的移动设备502可以被称为已注册设备。
在一些实施例中,移动设备502的操作系统可以被分成受管分区510和非受管分区512。受管分区510可以具有应用于其的策略以保护在受管分区510上运行的应用程序和存储在其中的数据。在受管分区510上运行的应用程序可以是安全应用程序。在其它实施例中,所有应用程序可以根据与应用程序分开接收的一个或多个策略文件的集合来执行,并且其定义由一个或多个安全参数、特征、资源限制和/或当该应用程序在移动设备502上执行时由移动设备管理系统强制执行的其它访问控制。通过根据它们相应的策略文件进行操作,可以允许或限制每个应用程序与一个或多个其它应用程序和/或资源的通信,从而创建虚拟分区。因此,如本文所使用的,分区可以指存储器的物理分区部分(物理分区)、存储器的逻辑分区部分(逻辑分区)和/或由于强制执行一个或多个策略和/或如本文所述的多个应用程序上的策略文件而创建的虚拟分区(虚拟分区)。换句话说,通过在托管应用程序上强制执行策略,可以将这些应用程序限制为仅能够与其它托管应用程序和受信企业资源通信,从而创建非托管应用程序和设备不可进入的虚拟分区。
安全应用程序可以是电子邮件应用程序、web浏览应用程序、软件即服务(SaaS)访问应用程序和Windows应用程序访问应用程序等。安全应用程序可以是安全本机应用程序514,由安全应用程序启动器518执行的安全远程应用程序522和由安全应用程序启动器518执行的虚拟化应用程序526等。安全本机应用程序514可以由安全应用程序包装器520进行包装。安全应用程序包装器520可以包括当在移动设备502上执行安全本机应用程序514时在移动设备502上执行的集成策略。安全应用程序包装器520可以包括元数据,其将在移动设备502上运行的安全本机应用程序514指向在企业处托管的资源(例如,504和508),安全本机应用程序514在执行安全本机应用程序514时可能需要该资源来完成所请求的任务。由安全应用程序启动器518执行的安全远程应用程序522可以在安全应用程序启动器518内执行。由安全应用程序启动器518执行的虚拟化应用程序526可以利用在移动设备502上的资源和企业资源504等。由安全应用程序启动器518执行的由虚拟化应用程序526在移动设备502上使用的资源可以包括用户交互资源和处理资源等。用户交互资源可以用于收集和传输键盘输入、鼠标输入、相机输入、触觉输入、音频输入、视觉输入和手势输入等。处理资源可以用于呈现用户界面和从企业资源504接收的处理数据等。由安全应用程序启动器518执行的由虚拟化应用程序526在企业资源504处使用的资源可以包括用户界面生成资源和处理资源等。用户界面生成资源可以用于组装用户界面、修改用户界面和刷新用户界面等。处理资源可以用于创建信息、读取信息、更新信息和删除信息等。例如,虚拟化应用程序526可以记录与图形用户界面(GUI)相关联的用户交互并将它们传送到服务器应用程序,其中服务器应用程序将使用用户交互数据作为在服务器上运行的应用程序的输入。在此种布置中,企业可以选择在服务器端维护应用程序以及与应用程序相关联的数据、文件等。虽然企业可以根据本文的原理通过保护它们以便在移动设备502上部署来选择“调用”一些应用程序,但是也可以为某些应用程序选择这种布置。例如,虽然可以保护一些应用程序以在移动设备502上使用,但是其它应用程序可能没有准备好或适合于在移动设备502上部署,因此企业可以选择通过虚拟化技术向移动用户提供对未准备的应用程序的访问。作为另一个示例,企业可能大型复杂应用程序,这些应用程序具有较大且复杂数据集(例如,材料资源规划应用程序),其中为移动设备502定制应用程序将是非常困难的或者是不期望的,因此企业可以选择通过虚拟化技术提供对应用程序的访问。作为又一个示例,企业可以具有维护高度安全的数据(例如,人力资源数据、客户数据、工程数据)的应用程序,甚至对于安全的移动环境,企业可能仍视这些数据过于敏感,因此企业可以选择使用虚拟化技术以允许移动访问此类应用程序和数据。企业可以选择在移动设备502上提供完全安全和功能完备的应用程序以及虚拟化应用程序526,以允许访问被认为更适合在服务器端操作的应用程序。在一个实施例中,虚拟化应用程序526可以将在移动设备502上的一些数据、文件等存储在安全存储位置中的一个安全存储位置中。例如,企业可以选择允许某些信息而不允许其它信息存储在移动设备502上。
结合虚拟化应用程序526,如本文所述,移动设备502可以具有虚拟化应用程序526,其设计成呈现GUI并然后记录与GUI的用户交互。虚拟化应用程序526可以将用户交互传送到服务器端以供服务器端应用程序使用以作为与应用程序的用户交互。作为响应,服务器端上的应用程序可以向移动设备502发送回新的GUI。例如,新的GUI可以是静态页面、动态页面或动画等,从而提供对远程定位资源的访问。
安全应用程序514可以访问存储在移动设备502的受管分区510中的安全数据容器528中的数据。安全数据容器中保护的数据可以通过安全本机应用程序514、由安全应用程序启动器518执行的安全远程应用程序522和由安全应用程序启动器518执行的虚拟化应用程序526等来访问。存储在安全数据容器528中的数据可以包括文件和数据库等。存储在安全数据容器528中的数据可以包括限于特定安全应用530的数据和在安全应用532之间共享的数据等。限于安全应用程序的数据可以包括安全通用数据534和高度安全数据538。安全通用数据可以使用强加密形式,诸如高级加密标准(AES)128位加密等,而高度安全数据538可以使用非常强的加密形式,诸如AES 256位加密。在从设备管理器524接收到命令时,可以从移动设备502删除存储在安全数据容器528中的数据。安全应用程序(例如,514、522和526)可以具有双模式选项540。双模式选项540可以向用户呈现以不安全或非受管模式操作安全应用程序的选项。在不安全或非受管模式中,安全应用程序可以访问存储在移动设备502的非受管分区512上的不安全数据容器542中的数据。存储在不安全数据容器中的数据可以是个人数据544。存储在不安全数据容器542中的数据也可以由在移动设备502的非受管分区512上运行的不安全应用程序546访问。当从移动设备502删除存储在安全数据容器528中的数据时,存储在不安全数据容器542中的数据可以保留在移动设备502上。企业可能想要从移动设备502中删除所选择的或由企业拥有、许可或控制的所有数据、文件和/或应用程序(企业数据),同时留下或以其它方式保留由用户拥有、许可或控制的个人数据、文件和/或应用程序(个人数据)。该操作可以称为选择性擦除。利用根据本文描述的方面布置的企业和个人数据,企业可以执行选择性擦除。
移动设备502可以连接到企业的企业资源504和企业服务508以及公共互联网548等。移动设备502可以通过虚拟专用网络连接而连接到企业资源504和企业服务508。虚拟专用网络连接(也称为微VPN或特定于应用程序的VPN)可以特定于特定应用程序550、特定设备以及移动设备552上的特定安全区域等。例如,移动设备502的安全区域中的被包装的应用程序中的每个应用程序可以通过特定于应用程序的VPN来访问企业资源,使得可以基于与应用程序相关联的属性并可能地结合用户或设备属性信息来授予对VPN的访问。虚拟专用网络连接可以携带Microsoft Exchange流量、Microsoft Active Directory流量、超文本传输协议(HTTP)流量、超文本传输协议安全(HTTPS)流量和应用程序管理流量等。虚拟专用网络连接可以支持并启用单点登录认证过程554。单点登录过程可以允许用户提供单组认证凭证,其然后由认证服务558验证。然后,认证服务558可以授权用户访问多个企业资源504,而无需用户向每个单独的企业资源504提供认证凭证。
可以由接入网关560建立和管理虚拟专用网络连接。接入网关560可以包括性能增强特征,其管理、加速和改进企业资源504向移动设备502的递送。接入网关560还可以将来自移动设备502的流量重新路由到公共互联网548,使得移动设备502能够访问在公共互联网548上运行的公共可用和不安全的应用程序。移动设备502可以经由传输网络562连接到接入网关。传输网络562可以是有线网络、无线网络、云网络、局域网、城域网、广域网、公共网络和专用网络等。
企业资源504可以包括电子邮件服务器、文件共享服务器、SaaS应用程序、Web应用程序服务器和Windows应用程序服务器等。电子邮件服务器可以包括Exchange服务器和Lotus Notes服务器等。文件共享服务器可以包括ShareFile服务器等。SaaS应用程序可以包括Salesforce等。Windows应用程序服务器可以包括构建用于提供旨在在本地Windows操作系统上运行的应用程序的任何应用程序服务器等。企业资源504可以是基于后端的资源和基于云的资源等。移动设备502可以直接或通过接入网关560访问企业资源504。移动设备502可以经由传输网络562访问企业资源504。
企业服务508可以包括认证服务558、威胁检测服务564、设备管理器服务524、文件共享服务568、策略管理器服务570、社交集成服务572和应用程序控制器服务574等。认证服务558可以包括用户认证服务、设备认证服务、应用程序认证服务和数据认证服务等。认证服务558可以使用证书。证书可以由企业资源504等存储在移动设备502上。存储在移动设备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包装的应用程序可以通过使用应用程序控制器574将其填充在应用程序商店578中而对移动设备502可用。
企业移动技术架构500可以包括管理和分析能力588。管理和分析能力588可以提供与如何使用资源和使用资源的频率等有关的信息。资源可以包括设备、应用程序和数据等。如何使用资源可以包括哪些设备下载哪些应用程序和哪些应用程序访问哪些数据等。使用资源的频率可以包括下载应用程序的频率和应用程序访问特定数据集的次数等。
图6是另一个说明性企业移动性管理系统600。为了简单起见,已经省略了上面参考图5描述的移动性管理系统500的一些部件。图6中描绘的系统600的架构在许多方面类似于上面参考图5描述的系统500的架构,并且可以包括上面未提到的附加特征。
在这种情况下,左侧表示具有客户端代理604的已注册移动设备602,其与网关服务器606(其包括接入网关和应用程序控制器功能)交互以访问各种企业资源608和服务609,诸如Exchange、SharePoint、公钥基础设施(PKI)资源、Kerberos资源、证书颁发服务,如右上侧所示。虽然未具体示出,但是移动设备602还可以与企业应用程序商店(StoreFront)交互以选择和下载应用程序。
客户端代理604充当用于企业数据中心中托管的Windows app/桌面的UI(用户界面)中介,使用高清用户体验(HDX)/ICA显示器远程协议来访问Windows app/桌面。客户端代理604还支持在移动设备602上安装和管理本机应用程序,诸如本机iOS或Android应用程序。例如,上图中所示的托管应用程序610(邮件、浏览器、包装应用程序)都是在移动设备602上本地执行的本机应用程序。客户端代理604和该架构的应用程序管理框架用于向企业资源/服务608提供策略驱动的管理功能和特征,诸如连接和SSO(单点登录)。客户端代理604处理对企业,通常对其中SSO到其它网关服务器部件的网关服务器606的接入网关(AG)的主要用户认证。客户端代理604从网关服务器606获得策略以控制移动设备602上的托管应用程序610的行为。
本机应用程序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的网关服务部分(也称为NETSCALER ACCESS GATEWAY)。客户端代理604还可以在网关服务器606上调用支持服务,其可以产生输入材料以导出用于本地数据库616的加密密钥,或者可以提供客户端证书,客户端证书可以使能对PKI保护资源的直接认证,如下面更全面地解释的。
更详细地,应用程序管理框架614“包装”每个托管应用程序610。这可以经由显式构建步骤或经由构建后处理步骤并入。应用程序管理框架614可以在首次启动应用程序610时与客户端代理604“配对”以初始化安全IPC信道612并获得该应用程序的策略。应用程序管理框架614可以强制执行本地应用的策略的相关部分,诸如客户端代理登录依赖性和限制如何使用本地OS服务或者它们如何与托管应用程序610交互的一些包含策略。
应用程序管理框架614可以使用由客户端代理604通过安全IPC信道612提供的服务来促进认证和内部网络访问。私有和共享数据库616(容器)的密钥管理也可以通过托管应用程序610和客户端代理604之间的适当交互来管理。库616可以仅在在线认证之后可用,或者如果策略允许,则可以在离线认证之后可用。首次使用库616可能需要在线认证,并且离线访问可能最多限于在再次需要在线认证之前的策略刷新期间。
对内部资源的网络访问可以直接从各个托管应用程序610通过接入网关606发生。应用程序管理框架614可以负责代表每个托管应用程序610编排网络访问。客户端代理604可以通过提供在线认证之后获得的合适的限时辅助凭证来促进这些网络连接。可以使用多种网络连接模式,诸如反向web代理连接和端到端VPN样式隧道618。
邮件和浏览器管理的应用程序610具有特殊状态,并且可以利用设施,设施可能通常不可用于任意包装的应用程序。例如,邮件应用程序610可以使用特殊的后台网络访问机制,该机制允许它在延长的时间段内访问Exchange服务器608,而不需要完整的AG登录。浏览器应用程序610可以使用多个私有数据库616来分离不同种类的数据。
该架构可以支持各种其它安全特征的结合。例如,在某些情况下,网关服务器606(包括其网关服务)可能不需要验证活动目录(AD)密码。在某些情况下,可以留由企业自行决定是否可以将AD密码用作某些用户的认证因素。如果用户在线或离线(即,连接或未连接到网络),则可以使用不同的认证方法。
进阶认证是一种特征,其中网关服务器606可以识别被允许访问需要强认证的高度机密数据的受托管本机应用程序610,并且确保仅在执行适当认证之后才允许访问这些应用程序,即使这意味着在先前较弱的登录级别之后,用户需要重新认证。
此解决方案的另一个安全特征是对移动设备602上的数据库616(容器)的加密。可以对库616进行加密以便保护包括文件、数据库和配置的所有设备上数据。对于在线库,密钥可以存储在服务器(网关服务器606)上,并且对于离线库,可以通过用户密码或生物特征验证来保护密钥的本地副本。如果或当数据本地存储在安全容器616中的移动设备602上时,可能优选使用最小的AES 2S6加密算法。
还可以实现其它安全容器特征。例如,可以包括日志记录特征,其中可以记录在托管应用程序610内发生的安全事件并将其报告给后端。可以支持数据擦除,诸如,如果或当托管应用程序610检测到篡改时,可以用随机数据写入相关联的加密密钥,从而不在文件系统上留下用户数据被破坏的提示。屏幕截图保护可以是另一个功能,其中应用程序可以防止任何数据存储在屏幕截图中。例如,主窗口的隐藏属性可以设置为YES。这可能导致屏幕上当前显示的任何内容被隐藏,从而产生其中任何内容通常驻留的空白屏幕截图。
可以防止本地数据传输,诸如通过防止任何数据在应用程序容器外部进行本地传输,例如通过复制其或将其发送到外部应用程序。键盘缓存功能可以用于禁用敏感文本字段的自动更正功能。SSL证书验证可以是可操作的,因此应用程序专门验证服务器SSL证书而不是将其存储在密钥串中。可以使用加密密钥生成特征,使得用于加密移动设备602上的数据的密钥是使用用户提供的密码短语或生物统计数据生成的(如果需要离线访问)。如果不需要离线访问,它可以与随机生成并存储在服务器端的另一个密钥进行异或。可以操作密钥导出功能,使得从用户密码生成的密钥使用KDF(密钥导出功能,尤其是基于密码的密钥导出功能2(PBKDF2))而不是创建其密码散列。后者使得密钥容易受到暴力破解或字典攻击。
此外,可以在加密方法中使用一个或多个初始化向量。初始化向量将导致相同加密数据的多个副本产生不同的密码文本输出,从而防止重放攻击和密码分析攻击。如果用于加密数据的特定初始化向量是未知的,即使使用被盗的加密密钥,这也将防止攻击者解密任何数据。此外,可以使用认证然后解密,其中仅在用户在应用程序内认证之后才解密应用程序数据。另一个特征可能涉及存储器中的敏感数据,只有在需要时才能将其保存在存储器中(而不是保存在磁盘中)。例如,登录后可以从内存中擦除登录凭证,并且不存储目标-C实例变量内的加密密钥和其它数据,因为它们可以被容易地引用。相反,可以为它们手动分配内存。
可以实现非活动超时,其中在策略定义的非活动时段之后,终止用户会话。
可以以其它方式防止来自应用程序管理框架614的数据泄漏。例如,如果或当托管应用程序610被放入后台时,可以在预定(可配置)时间段之后清除存储器。当后台运行时,可以拍摄应用程序的最后显示的屏幕的快照以紧固前景过程。屏幕截图可能包含机密数据,并因此应予以清除。
另一个安全特征可以涉及使用OTP(一次性密码)620而不使用AD(活动目录)622密码来访问一个或多个应用程序。在某些情况下,某些用户不知道(或不允许知道)他们的AD密码,因此这些用户可以使用OTP 620进行认证,诸如通过使用SecurlD等硬件OTP系统(OTP也可能由不同的供应商提供,诸如Entrust或Gemalto)。在某些情况下,在用户使用用户ID进行认证之后,可以使用OTP 620将文本发送给用户。在某些情况下,这可能仅用于在线使用,其中提示是单个字段。
可以将离线密码实施用于其中经由企业策略允许离线使用的那些托管应用程序610的离线认证。例如,企业可能希望以这种方式访问StoreFront。在这种情况下,客户端代理604可能要求用户设置自定义离线密码,并且不使用AD密码。网关服务器606可以提供策略来控制和强制执行关于密码的最小长度、字符类组成和期限的密码标准,诸如由标准Windows服务器密码复杂性要求描述的密码标准,尽管可以修改这些要求。
另一个特征可以涉及为某些应用程序610启用客户端证书作为辅助凭证(为了经由应用程序管理框架微VPN特征访问PKI保护的web资源的目的)。例如,托管应用程序610可以使用此种证书。在这种情况下,可以支持使用ActiveSync协议的基于证书的认证,其中来自客户端代理604的证书可以由网关服务器606检索并用在密匙串中。每个托管应用程序610可以具有一个关联的客户端证书,其由在网关服务器606中定义的标签标识。
网关服务器606可以与企业专用web服务交互以支持发布客户端证书,从而允许相关的托管应用程序向内部PKI保护资源进行认证。
可以增强客户端代理604和应用程序管理框架614以支持获取和使用客户端证书,从而对内部PKI保护的网络资源进行认证。可以支持多于一个的证书,诸如以匹配各种级别的安全性和/或分离要求。证书可以由邮件和浏览器管理的应用程序610使用,并且最终由任意包装的应用程序610使用(假设那些应用程序使用web服务样式通信模式,其中应用程序管理框架调解HTTPS请求是合理的)。
iOS上的应用程序管理客户端证书支持可以依赖于在每个使用时段将公钥加密标准(PKCS)112BLOB(二进制大对象)导入到每个托管应用程序610中的iOS密钥串中。应用程序管理框架客户端证书支持可以使用具有专用内存密钥存储的HTTPS实现。客户端证书可能不存在于iOS密钥链中,并且可能不会持久存在,除非可能在受强保护的“仅在线”数据值中存在。
还可以通过要求移动设备602向企业进行认证来实现相互的SSL以提供额外的安全性,反之亦然。还可以实现用于对网关服务器606进行认证的虚拟智能卡。
有限和完整的Kerberos支持可能是附加的功能。完整支持功能涉及使用AD密码或受信客户端证书执行完整Kerberos登录到Active Directory(活动目录,AD)622的功能,并获取Kerberos服务票证以响应HTTP协商认证挑战。有限的支持功能涉及Citrix AccessGateway企业版(AGEE)中的约束委派,其中AGEE支持调用Kerberos协议转换,以便它可以获取和使用Kerberos服务票证(受限于约束委派)以响应HTTP协商认证挑战。此机制适用于反向web代理(也称为企业虚拟专用网络(CVPN))模式,以及在VPN和微VPN模式下代理HTTP(但不是HTTPS)连接时。
另一个特征可能涉及应用程序容器锁定和擦除,其可以在越狱或生根检测时自动发生,并且作为来自管理控制台的推送命令发生,并且可以包括远程擦除功能,即使当托管应用程序610未运行时。
可以支持企业应用程序商店和应用程序控制器的多站点架构或配置,其允许在发生故障的情况下从几个不同位置中的一个位置服务用户。
在一些情况下,可以允许托管应用程序610经由API(例如,OpenSSL)访问证书和私钥。可以允许企业的受信托管应用程序610利用应用程序的客户端证书和私钥来执行特定公钥操作。可以相应地识别和处理各种用例,诸如,如果或当应用程序表现得像浏览器并且不需要证书访问时,如果或当应用程序读取“我是谁”的证书时,如果或当应用程序使用证书以构建安全会话令牌时,以及如果或当应用程序使用私钥对重要数据(例如事务日志)进行数字签名或临时数据加密。
企业移动性管理架构与对等通信
如上所述,如果配置有企业移动技术架构和/或企业移动性管理系统的各方面,则移动设备可以使得用户能够访问企业资源和企业服务等。该访问可以基于与接入网关建立和由其管理的多个虚拟专用网络连接。通常,用户可以具有多个设备,并且在每个设备配置有企业技术架构和/或企业移动性管理系统的各方面时,设备中的每个设备可以使得用户能够访问企业资源、企业服务以及可经由接入网关访问的任何其它服务/资源。这些设备中的每一个设备(例如,平板电脑、移动电话、其它计算设备)可以具有不同的能力,并且这些能力可以改变其中用户能够使用每个设备经由接入网关访问资源和服务的方式。
例如,一个设备可以是连接到无线网络(例如,第三代(3G)无线网络、第四代(4G)无线网络、长期演进(LTE)无线网络、WI-FI无线局域网)的移动电话,并且经由与无线网络的连接,移动电话可能能够建立到接入网关的虚拟专用网络连接。第二设备可以是平板计算机,其不具有到无线网络的连接或者否则不能建立到接入网关的虚拟专用网络连接。平板计算机无法与接入网关建立虚拟专用网络连接降低了用户使用企业移动性管理系统充分发挥其潜力的能力。因此,如果用户具有使用两个设备经由接入网关访问资源和服务的能力,则可以改善用户对企业移动性管理系统的体验,尽管每个设备的网络连接存在差异。考虑到以下讨论和本公开作为整体,这些益处和其它益处将是显而易见的。特别地,图7至图12以及相应的描述提供了示例,其使能并使用多个设备等经由接入网关访问企业资源和企业服务。
图7示出了其中用户可能能够使用根据本文描述的各个方面的多个设备访问企业资源和企业服务的一个示例布置。示例布置包括三个移动设备702-A、702-B和702-C。三个移动设备描绘为位于第一位置701(例如,单个家庭或场所、汽车、彼此在阈值距离内、在特定大小的地理区域、由相同蜂窝塔服务的位置等)。每个设备可以配置有结合图5描述的企业移动技术架构(例如,配置成类似于移动设备502)和/或结合图6描述的企业移动性管理系统(例如,配置成类似于移动设备602)的各方面。三个移动设备702-A、702-B和702-C中的每一个移动设备可以与同一用户(未示出)相关联。图7中描绘的移动设备的数量是用于说明目的。用户可以与更多或更少的移动设备相关联,并且本文描述的方法适用于具有不同数量的移动设备的布置。
用户可能打算使用三个移动设备702-A、702-B和702-C中的每一个移动设备来访问和使用各种企业资源719和/或企业服务717。可以经由接入网关707来管理对企业资源719和企业服务717的访问和使用。接入网关707、企业资源719和/或企业服务717描绘为位于第二位置711,该第二位置与第一位置701不同或远离第一位置。为了简单起见,示出了第二位置711。在一些布置中,企业资源719、企业服务719和接入网关707可以彼此位于不同的位置。接入网关707可以配置有结合图5描述的企业移动技术架构的各方面(例如,配置成类似于接入网关560)和/或可以配置有结合图6描述的企业移动性管理系统的各方面(例如,配置成类似于网关服务器606)。企业资源719和企业资源可以类似于结合图5和图6所讨论的那些(例如,企业资源504、企业服务508和企业资源/服务608、609、620、622等)。接入网关707还可以提供附加于企业资源719和企业服务717的功能,其包括例如访问公共互联网548和App商店578等。
三个移动设备702-A、702-B和702-C中的每一个移动设备可以具有彼此不同的能力,并且基于第一位置701处可用的网络,某些设备可能无法建立到接入网关707的虚拟专用网络连接。如图7所示,移动设备702-C已经与接入网关707建立了虚拟专用网络连接713。还如图7中所示,移动设备702-A和702-B不具有与接入网关707建立的虚拟专用网络连接。例如,移动设备702-C可以是能够连接到无线网络709(例如,3G无线网络、4G无线网络、LTE无线网络和WI-FI无线局域网等)的设备,其使得设备702-C能够与接入网关707通信。移动设备702-A和702-B每个可以是不能连接到无线网络709的设备(例如,没有连接到3G、4G或LTE无线网络的能力的平板计算机)或者可以是此设备,其中用户已选择不连接到无线网络709(例如,具有禁用无线电的设备,诸如以飞机模式设置的设备)。
虚拟专用网络连接713可以是一个或多个微VPN连接或特定于应用程序的VPN连接,类似于结合图5和图6所讨论的那些。在此类布置中,虚拟专用网络连接713可以允许在接入网关707与移动设备702-C的移动性管理系统的各种部件(包括例如移动设备702-C的一个或多个托管应用程序(例如,托管应用程序514)和/或移动设备702-C的客户端代理(例如,客户端代理604))之间交换数据流量。虚拟专用网络连接713可以充当通过无线网络709(以及图7中未明确示出的一个或多个其它网络)的隧道。适合于通过虚拟专用网络连接713交换数据的托管应用程序/客户端代理的类型的一些示例包括例如Citrix System公司的WORX应用程序套件(例如,Citrix Systems公司的WORX HOME;以及Citrix Systems公司的WORXMAIL等)和与Citrix Systems公司的XENMOBILE兼容其它应用程序/客户端代理。
三个移动设备702-A、702-B和702-C可以配置为网状网络的成员(或节点)。网状网络通常是网络,其中成员将数据中继到网状网络的其它成员。每个成员可以使用例如泛洪技术或路由技术来中继数据。虽然可以使用路由技术,但是为了清楚和易于讨论,本公开将提供使用路由技术的网状网络的示例。在路由技术下,数据可以在整个网状网络中作为一系列跃点在成员间路由,直到它到达其最终目的地。因此,如图7所示,移动设备702-A、702-B和702-C是网状网络的成员,并且数据可以经由对等连接703和705在整个网状网络中路由。对等连接703和705可以采用各种传输协议,其包括例如蓝牙协议、WI-FI直接(WI-FIDIRECT)协议,或允许在物理上接近的设备之间进行直接通信的任何其它协议。对等连接703还可以使用与对等连接705不同的传输协议。例如,对等连接703可以使用蓝牙协议,并且对等连接705可以使用WI-FI直接协议。
在一些布置中,对等连接配置成使用特定加密方案,使得通过对等连接传输的数据被加密。每个对等连接可以使用其自己的加密方案(例如,经由对等连接703传输的数据使用与用于经由对等连接705传输数据的密钥不同的加密密钥进行加密);每种类型的对等连接可以使用其自己的加密方案(例如,经由蓝牙连接传输的数据使用与用于加密经由WI-FI直接连接传输的数据的密钥不同的加密密钥进行加密);或者网状网络可以使用单个公共加密方案(例如,将相同的加密/解密密钥用于加密/解密经由每个对等连接发送的数据)。可以在由企业管理框架强制执行的策略中指定加密方案。此外,加密方案可以与用于将数据存储到安全容器或安全数据库中的加密方案相同(例如,用于加密/解密存储在安全容器528和/或数据库616中的数据的加密/解密密钥可以是用于加密/解密经由对等连接传输的数据)。
此外,在移动设备702-A、702-B和702-C之间可以存在附加的对等连接。例如,可以在移动设备702-A和移动设备702-C之间建立对等连接(未示出)。作为另一个示例,附加于所示的对等连接705,还可以在移动设备702-A和移动设备702-B之间建立第二对等连接(未示出)。出于说明目的使用网状网络。可以在结合本文描述的方面的各种实施例中使用其它类型的ad-hoc网络或对等网络。可以由每个移动设备702-A、702-B和702-C使用以成为网状网络的成员的示例方法将在下面结合图8进行讨论。将结合图12讨论与建立网状网络有关的进一步细节。
所描绘的布置可以使得来自移动设备702-A和702-B的数据能够由接入网关707接收。以这种方式,移动设备702-A和702-B可能能够访问和/或使用由包括企业资源719和企业服务717的接入网关707控制和/或管理的功能。例如,可以经由网状网络的一个或多个对等连接703和/或705将旨在用于接入网关707的数据(例如,由移动设备702-A和702-B的托管应用程序或客户端代理生成的数据)路由和发送到移动设备702-C。一旦由移动设备702-C接收,就可以经由虚拟专用网络连接713将数据发送到接入网关707。类似地,接入网关707可以经由虚拟专用网络连接713将旨在用于移动设备702-A或702-B的数据(例如,基于企业资源719或企业服务717的访问而生成的数据)发送到移动设备702-C。一旦由移动设备702-C接收,就可以经由网状网络的一个或多个对等连接703和/或705将数据路由和发送到预期目的地。在接收时,移动设备702-A或702-B可以根据应用程序管理框架处理数据(例如,将数据提供给托管应用程序、将数据存储在容器中等)。例如,移动设备702-B的受管邮件应用程序可以经由接入网关707接收电子邮件数据,以允许用户使用虚拟专用网络连接713接收新电子邮件。作为另一个示例,移动设备702-A的受管浏览器应用程序可能能够从访问网关接收web浏览数据,以允许用户使用虚拟专用网络连接713从移动设备702-A浏览互联网。另外,网状网络可以用于在移动设备702-A、702-B和702-C之间传输数据,这可以允许移动设备执行与应用程序管理框架相关的各种功能。例如,可以在移动设备702-A、702-B和702-C之间传输屏幕共享数据,以允许用户从设备中的一个设备共享屏幕。作为又一个示例,可以在移动设备702-A、702-B和702-C之间发送电子邮件数据,以允许用户在移动设备702-A、702-B和702-C之间同步电子邮件消息。关于如何结合企业移动性管理系统使用网状网络的进一步细节将结合图11A至图11D和图12进行讨论。
图8示出了可以与建立网状网络结合使用的示例方法。特别地,可以由来自图7的移动设备702-A、702-B和702-C中的每一个移动设备使用图8的示例方法,以成为网状网络中的成员或以其它方式建立网状网络。在一些布置中,图8的步骤可以由企业移动性管理系统的一个或多个部件执行,包括例如图6的客户端代理604。另外,为了促进网状网络的建立,移动设备可以使用诸如OPENGARDEN SDK的现有技术的变型来帮助展现移动设备的存在和附近设备的发现。
在步骤801,移动设备可以接收授权移动设备加入网状网络的指示。在一些布置中,可以基于用户与移动设备的交互来接收指示,该移动设备发起或以其它方式使移动设备尝试建立网状网络。例如,移动设备的用户可以通过切换存储在移动设备的受管分区上的网状网络设置来授权网状网络中的成员资格。作为另一个示例,用户可能能够查看为移动性管理系统提供选项菜单的用户界面。用户可以设置选项中的一个选项以授权移动设备成为网状网络的成员。在一些布置中,移动设备可以从用户请求用户信息。例如,可以请求用户识别将用作验证网状网络中的成员资格的用户信息的一个或多个安全凭证(例如,用户名/密码、证书、安全PIN码等)。作为响应,用户可以在验证网状网络中的成员资格时输入或以其它方式选择移动设备要使用的一个或多个安全凭证。在接收到授权移动设备加入网状网络和/或接收用户信息的标识的指示之后,移动设备可以进行到步骤803。
在步骤803,移动设备可以发送针对移动设备的一个或多个广告。广告可以向能够接收广告的其它设备指示移动设备的存在,并且可以特定于传输协议。例如,移动设备可以配置有能够进行对等通信的多个无线电,其包括例如蓝牙和WIFI直接。因此,移动设备可以基于哪个对等无线电或对等功能当前在移动设备上活动(例如,确定蓝牙无线电是否有效和/或确定是否启用了WIFI直接功能)来确定移动设备能够建立哪种类型的对等连接。对于移动设备能够建立的每种类型的对等连接,移动设备可以使用与该类型的对等连接相对应的传输协议来发送广告。因此,移动设备可以使用蓝牙协议经由蓝牙通信发送广告。移动设备可以使用WIFI直接协议经由WIFI直接通信发送广告。在一些布置中,在步骤803发送的每个广告可以包括用于移动设备的用户信息,诸如在步骤801识别的安全凭证。
在步骤805,移动设备可以接收一个或多个其它移动设备的一个或多个广告。用于一个或多个其它设备的广告可以向移动设备指示其它移动设备的存在,并且可以特定于传输协议。另外,可以经由结合步骤803讨论的相同类型的对等通信来接收针对一个或多个其它设备的一个或多个广告(例如,在步骤805处接收的广告中的每个广告可以经由蓝牙通信和/或经由WIFI直接通信)。在一些情况下,在步骤805接收的广告可能已经由其它移动设备发送作为对在步骤803由移动设备发送的广告的响应。例如,如果在步骤803经由蓝牙通信发送广告,则移动设备(例如,移动设备702-C)可以经由蓝牙通信接收针对另一个移动设备(例如,移动设备702-B)的至少一个广告作为对该广告的回应。在一些布置中,在步骤805处接收的一个或多个广告可以包括用于一个或多个其它移动设备的用户信息(例如,用于移动设备702-B的广告可以包括由移动设备702-B的用户选择的安全凭证)。
在一些情况下,如果移动设备在超时时段(例如,10秒)内未能从其它移动设备接收任何广告,则移动设备可以配置成禁用加入网状网络的尝试。例如,在发送步骤803的一个或多个广告之后,移动设备可以开始等待来自其它移动设备的广告。如果移动设备在超时时段内未能从其它移动设备接收任何广告,则移动设备可以向用户提供错误消息,指示附近没有设备形成网状网络,并且此后,该方法可以结束。
在步骤807,移动设备可以基于在步骤805接收的一个或多个广告来确定一个或多个其它移动设备的用户信息。例如,在一些布置中,每个广告可以包括用户信息。因此,移动设备可以从在步骤805接收的广告中提取用户信息。在其它布置中,可能需要从一个或多个用户设备请求用户信息。因此,对于在步骤805接收的每个广告,移动设备可以确定哪个设备发送了广告,并且可以经由对等通信向确定发送广告的每个设备发送用户信息请求。在发送用户信息请求时,移动设备可以等待接收用户信息。一旦确定了一个或多个其它移动设备中的每一个移动设备的用户信息,则该方法就可以进行到步骤809。
在步骤809,移动设备可以确定是否认证网状网络中的成员资格。在一些布置中,该确定可以基于一个或多个其它设备的用户信息和移动设备的用户信息。例如,对于一个或多个其它移动设备中的每一个移动设备,移动设备可以确定移动设备的用户信息(例如,用户在步骤801识别的一个或多个安全凭证)是否与从其它设备接收的用户信息匹配。如果其它设备中的至少一个设备具有与移动设备的用户信息匹配的用户信息,则移动设备可以确定网状网络中的成员资格被认证。
在一些布置中,移动设备可以基于移动设备和具有匹配的用户信息的一个或多个移动设备来认证网状网络中的成员资格。换句话说,将建立网状网络以包括具有匹配的用户信息的设备。提供不匹配用户信息的任何设备在网状网络中的成员资格都将被拒绝。例如,使用图7的移动设备作为说明性示例,移动设备702-C可能已经从两个设备接收到用户信息:来自移动设备702-A的用户信息和来自移动设备702-B的用户信息。在本示例中,移动设备702-C可以确定来自移动设备702-A的用户信息确实匹配,但是来自移动设备702-B的用户信息不匹配。在这种情况下,移动设备702-C可以确定认证仅包括移动设备702-C和移动设备702-A的网状网络的成员资格。在本示例中,移动设备702-B将不会成为网状网络的成员。
在一些变型中,移动设备可以基于由接入网关存储或可经由接入网关访问的信息来认证网状网络中的成员资格。例如,接入网关(或经由接入网关可访问的服务器)可以存储(例如,在XENMOBILE SERVER(XMS)数据库中)用于已注册设备的标识信息。在一些实施例中,标识信息可以指定每个已注册设备是否被授权加入网状网络和/或可以包括用户的标识。移动设备可以经由虚拟专用网络隧道将用户信息发送到接入网关。在经由接入网关接收之后,可以在用户信息和已注册设备的标识信息之间进行比较。基于该比较,接入网关可以响应于关于是否允许设备中的每个设备加入网状网络的指示。允许加入网状网络的任何设备的成员资格都可以被认证。不允许加入网状网络的任何设备的成员资格都可能被拒绝。
在确定认证网状网络中的成员资格时,该方法可以进行到步骤811。如果移动设备确定不认证网状网络中的成员资格(例如,其它移动设备的用户信息都不匹配移动设备的用户信息),则该方法可以结束。
在步骤811,移动设备可以确定可用于将数据路由到一个或多个其它移动设备中的至少一个移动设备的路由信息。例如,移动设备可以确定一个或多个其它设备中的哪个设备是下一个跃点。然后,移动设备可以确定用于将数据传送到下一个跃点的路由信息。在一个特定示例中,如果网状网络将包括图7的三个移动设备并将使用图7中描绘的对等连接来连接网状网络,则移动设备702-B可以确定用于将数据传送到移动设备702-A和702-B的路由信息;移动设备702-C可以确定用于将数据传送到移动设备702-B的路由信息;以及移动设备702-A可以确定用于将数据传送到移动设备702-B的路由信息。在确定路由信息时,该方法可以进行到步骤813。
在步骤813,移动设备可以将其自身配置为网状网络的成员。例如,作为配置过程的一部分,移动设备可以存储路由信息以供以后使用;可以将路由信息发送给网状网络中的一个或多个下一个跃点;可以交换数据以建立网状网络的对等连接;和/或可以与下一个跃点交换数据以确定用于经由对等连接进行通信的加密/解密密钥和/或其它凭证(例如,用于使用SSL与对等连接的交换证书)。在一些布置中,用于经由对等连接进行通信的加密/解密密钥和/或其它凭证可以包括在由企业管理框架强制执行的策略中。在一些布置中,建立对等连接可以取决于对等连接的类型(例如,如果图7的对等连接703是蓝牙连接,则移动设备702-A和702-B可以完成配对过程以建立连接)。
在一个特定示例中,如果网状网络建立成包括图7的三个移动设备并且网状网络使用图7中描绘的对等连接,则图7中的三个移动设备将能够如下使用网状网络路由和发送数据:在移动设备702-B已经配置其自身之后,移动设备702-B将能够经由网状网络的对等连接705将数据路由和发送到移动设备702-C并且将能够经由网状网络的对等连接703将数据路由和发送到移动设备702-A;在移动设备702-A已经配置其自身之后,移动设备702-A将能够经由网状网络的对等连接703将数据路由和发送到移动设备702-B;以及在移动设备702-C已经配置其自身之后,移动设备702-C将能够经由网状网络的对等连接705将数据路由和发送到移动设备702-B。
如上所述,图7示出了其中单个设备(移动设备702-C)已经与接入网关建立虚拟专用网络连接的布置。在一些变型中,企业移动性管理系统可以支持多个虚拟专用网络连接的建立。因此,两个或更多个设备可以与接入网关建立虚拟专用网络连接。图9示出了一个此种布置,其中至少两个设备已经与接入网关建立了虚拟专用网络连接。
特别地,图9的示例布置包括四个移动设备902-A、902-B、902-C和902-D。除了第四移动设备、第二虚拟专用网络连接以及用于第四移动设备的附加对等连接之外,图9的示例布置也包括结合图7讨论的那些部件类似的部件。实际上,四个移动设备902-A、902-B、902-C和902-D描绘为位于第一位置901(例如,单个家庭或场所、汽车、彼此在阈值距离内、在特定大小的地理区域、由相同蜂窝塔服务的位置等)。每个设备可以配置有结合图5描述的企业移动技术架构(例如,配置成类似于移动设备502)和/或结合图6描述的企业移动性管理系统(例如,配置成类似于移动设备602)的各方面。四个移动设备902-A、902-B、902-C和902-D中的每一个移动设备可以与同一用户(未示出)相关联。图7中描绘的移动设备的数量是用于说明目的。用户可以与更多或更少的移动设备相关联,并且本文描述的方法适用于具有不同数量的移动设备的布置。
用户可能打算使用四个移动设备902-A、902-B、902-C和902-D中的每一个移动设备来访问和使用各种企业资源919和/或企业服务917。可以经由接入网关907来管理对企业资源919和企业服务917的访问和使用。接入网关907、企业资源919和/或企业服务917描绘为位于第二位置911,该第二位置与第一位置901不同或远离第一位置。为了简单起见,示出了第二位置911。在一些布置中,企业资源919、企业服务919和接入网关907可以彼此位于不同的位置。接入网关907可以配置有结合图5描述的企业移动技术架构的各方面(例如,配置成类似于接入网关560)和/或可以配置有结合图6描述的企业移动性管理系统的各方面(例如,配置成类似于网关服务器606)。企业资源919和企业资源可以类似于结合图5和图6所讨论的那些(例如,企业资源504、企业服务508和企业资源/服务608、609、620、622等)。访问网关907还可以提供附加于企业资源919和企业服务917的功能,其包括例如访问公共互联网548和App商店578等。
四个移动设备902-A、902-B、902-C和902-D中的每一个移动设备可以具有彼此不同的能力,并且基于第一位置901处可用的网络,某些设备可能无法建立到接入网关907的虚拟专用网络连接。如图9所示,移动设备902-C已经与接入网关907建立了虚拟专用网络连接915,并且移动设备902-D已经与接入网关907建立了虚拟专用网络连接913。还如图9中所示,移动设备902-A和902-B不具有与接入网关907建立的虚拟专用网络连接。例如,移动设备902-C和902-D可以各自是能够连接到无线网络(例如,3G无线网络、4G无线网络、LTE无线网络和WI-FI无线局域网等)的设备,其使得设备中的每个设备能够与接入网关909通信。如图9所示,移动设备902-C和902-D连接到不同的无线网络,其中移动设备902-C连接到无线网络909以及移动设备902-D连接到无线网络910(例如,无线网络909可以是蜂窝无线网络以及无线网络910可以是无线本地接入网络)。在一些布置中,移动设备902-C和902-D可以连接到相同的无线网络。移动设备902-A和902-B每个可以是不能连接到无线网络909和910的设备(例如,没有连接到3G、4G或LTE无线网络的能力的平板计算机)或者可以是此设备,其中用户已选择不连接到无线网络909和910(例如,具有禁用无线电的设备,诸如以飞机模式设置的设备)。
虚拟专用网络连接913和915中的每一个可以是一个或多个微VPN连接或特定于应用程序的VPN连接,类似于结合图5和图6所讨论的那些。在此类布置中,虚拟专用网络连接913可以允许在接入网关907与移动设备902-D的移动性管理系统的各种部件(包括例如移动设备902-D的一个或多个托管应用程序(例如,托管应用程序514)和/或移动设备902-D的客户端代理(例如,客户端代理604))之间交换数据流量。类似地,虚拟专用网络连接915可以允许在接入网关907与移动设备902-C的移动性管理系统的各种部件(包括例如移动设备902-C的一个或多个托管应用程序(例如,托管应用程序514)和/或移动设备902-C的客户端代理(例如,客户端代理604))之间交换数据流量。虚拟专用网络连接913可以充当通过无线网络910(以及图9中未明确示出的一个或多个其它网络)的隧道。类似地,虚拟专用网络连接915可以充当通过无线网络909(以及图9中未明确示出的一个或多个其它网络)的隧道。适合于通过虚拟专用网络连接913和914交换数据的托管应用程序/客户端代理的类型的一些示例包括例如Citrix System公司的WORX应用程序套件(例如,Citrix Systems公司的WORX HOME;以及Citrix Systems公司的WORXMAIL等)和与Citrix Systems公司的XENMOBILE兼容其它应用程序/客户端代理。
四个移动设备902-A、902-B、902-C和902-D可以配置为网状网络的成员(或节点)。类似于结合图7讨论的布置,为了清楚和易于讨论,本公开将提供使用路由技术的网状网络的示例。因此,如图9所示,移动设备902-A、902-B、902-C和902-D是网状网络的成员,并且数据可以经由对等连接903、904、905和906在整个网状网络中路由。对等连接903、904、905和906可以采用一种或多种传输协议,其包括例如蓝牙协议、WI-FI直接协议或允许在物理上接近的设备之间直接通信的任何其它协议(例如,对等连接905和906可以使用蓝牙协议,以及对等连接903和904可以使用WI-FI直接协议)。经由对等连接903、904、905和906发送的数据可以基于一个或多个加密方案进行加密。此外,在移动设备902-A、902-B、902-C和902-D之间可以存在附加的对等连接。例如,可以在移动设备902-A和移动设备902-D之间建立对等连接(未示出)。作为另一个示例,附加于所示的对等连接904,还可以在移动设备902-A和移动设备902-C之间建立第二对等连接(未示出)。出于说明目的使用网状网络。可以在结合本文描述的方面的各种实施例中使用其它类型的ad-hoc网络或对等网络。可以由每个移动设备902-A、902-B、902-C和902-D使用以成为网状网络的成员的示例方法将在下面结合图10A进行讨论。可以用于管理使用两个虚拟专用网络连接913和914中的哪一个的示例方法将在下面结合图10B进行讨论。将结合图12讨论与建立网状网络有关的进一步细节。
所描绘的布置可以使得来自移动设备902-A和902-B的数据能够由接入网关907接收。以这种方式,移动设备902-A和902-B可能能够访问和/或使用由包括企业资源919和企业服务917的接入网关907控制和/或管理的功能。例如,可以经由网状网络的一个或多个对等连接903-906将旨在用于接入网关907的数据(例如,由移动设备902-A和902-B的托管应用程序或客户端代理生成的数据)路由和发送到已经与接入网关907建立连接的移动设备(例如,移动设备902-C或移动设备902-D)。一旦移动设备接收到建立的虚拟专用网络连接,就可以经由虚拟专用网络连接将数据发送到接入网关907(例如,如果数据路由到移动设备902-D,则经由虚拟专用网络连接913,或者,如果数据路由到移动设备902-C,则经由虚拟专用网络连接915)。接入网关907可以经由虚拟专用网络连接将将旨在用于移动设备902-A或902-B的数据(例如,基于企业资源919或企业服务917的访问而生成的数据)发送到具有已建立的虚拟专用连接的移动设备。一旦由具有建立的虚拟专用连接的移动设备接收,就可以经由网状网络的一个或多个对等连接903-906将数据路由和发送到预期目的地。在接收时,移动设备902-A或902-B可以根据应用程序管理框架处理数据(例如,将数据提供给托管应用程序、将数据存储在容器中等)。例如,移动设备902-B的受管邮件应用程序可以经由接入网关907接收电子邮件数据,以允许用户使用虚拟专用网络连接913接收新电子邮件。作为另一个示例,移动设备902-A的受管浏览器应用程序可能能够从访问网关接收web浏览数据,以允许用户使用虚拟专用网络连接913从移动设备902-A浏览互联网。另外,网状网络可以用于在移动设备902-A、902-B、902-C和902-D之间传输数据,这可以允许移动设备执行与应用程序管理框架相关的各种功能。例如,可以在移动设备902-A、902-B、902-C和902-D之间传输屏幕共享数据,以允许用户从设备中的一个设备共享屏幕。作为又一个示例,可以在移动设备902-A、902-B、902-C和902-D之间发送电子邮件数据,以允许用户在移动设备902-A、902-B、902-C和902-D之间同步电子邮件消息。关于如何结合企业移动性管理系统使用网状网络的进一步细节将结合图11A至图11D和图12进行讨论。
图10A示出了可以与建立网状网络结合使用的另一个示例方法。特别地,可以由来自图9的移动设备902-A、902-B、902-C和902-D中的每一个移动设备使用图10A的示例方法,以成为网状网络中的成员或以其它方式建立网状网络。在一些布置中,图10A的步骤可以由企业移动性管理系统的一个或多个部件执行,包括例如图6的客户端代理604。另外,为了促进网状网络的建立,移动设备可以使用诸如OPENGARDEN SDK的现有技术的变型来帮助展现移动设备的存在和附近设备的发现。
在步骤1001,移动设备可以接收一个或多个其它移动设备的一个或多个广告。可以类似于图8的步骤805执行步骤1001。例如,用于一个或多个其它设备的广告可以向移动设备指示其它移动设备的存在,并且可以特定于传输协议。可以经由一个或多个对等通信来接收一个或多个广告(例如,可以在步骤1001经由蓝牙通信和/或经由WIFI直接通信接收广告)。在一些布置中,在步骤1001处接收的一个或多个广告可以包括用于一个或多个其它移动设备的用户信息(例如,用于移动设备902-B的广告可以包括由移动设备902-B的用户选择的安全凭证)。另外,在步骤1001接收的一个或多个广告可以包括关于是否已经为广告的特定源设备建立到接入网关的虚拟专用网络连接的指示(例如,移动设备902-B的广告可以指示尚未建立虚拟专用网络连接;移动设备902-C的广告可以指示已经建立虚拟专用网络连接)。
在所描绘的布置中,响应于在步骤1001接收一个或多个广告,该方法可以进行到步骤1003。在一些布置中(在图10A中未示出),移动设备可以在直接进行到步骤1003之前确定先前是否接收到成为网状网络的成员的授权。例如,可以基于移动设备的客户端代理的网状网络设置的值(例如,如果网状网络设置指示网状网络中的成员资格由用户授权)或基于存储配置用于SSO的有效认证令牌的移动设备来执行该确定。如果先前未接收到授权,则移动设备可以提示用户进行授权。如果先前已经接收到授权,则该方法可以进行到步骤1003。
在步骤1003,移动设备可以发送针对移动设备的一个或多个广告。可以类似于图8的步骤801执行该步骤,可以认为期望步骤1003响应于或基于在步骤1001接收广告的移动设备来执行。在一些布置中,在步骤1003发送的每个广告可以包括用于移动设备的用户信息(例如,由移动设备902-D的用户选择的安全凭证)。另外,在步骤1003发送的一个或多个广告可以包括关于是否已经为移动设备建立到接入网关的虚拟专用网络连接的指示。
在步骤1005,移动设备可以基于在步骤1001接收的一个或多个广告来确定一个或多个其它移动设备的用户信息。可以类似于图8的步骤807执行该步骤(例如,从在步骤1001接收的广告中提取用户信息,向一个或多个用户设备发送用户信息请求等)。另外,在一些布置中,附加于确定用户信息或作为替代,移动设备可以确定关于是否已经为一个或多个其它设备建立了虚拟专用网络连接的指示(例如,从在步骤1001中接收的广告提取指示,向一个或多个其它设备发送对指示的请求,向一个或多个其它设备发送对指示和用户信息的一个或多个请求,其中请求中的每个请求是对指示和用户信息的请求等)。
在步骤1007,移动设备可以确定是否认证网状网络中的成员资格。可以类似于图8的步骤809执行该步骤(例如,基于一个或多个其它设备的用户信息和移动设备的用户信息执行确定,基于移动设备和具有匹配的用户信息的一个或多个移动设备执行确定等)。在确定认证网状网络中的成员资格时,该方法可以进行到步骤1009。如果移动设备确定不认证网状网络中的成员资格(例如,其它移动设备的用户信息都不匹配移动设备的用户信息),则该方法可以结束。
在步骤1009,移动设备可以确定在要成为网状网络的成员的设备之间是否已经建立了多个(例如,多于两个)虚拟专用网络连接。例如,为了说明的目的,使用图9中描绘的布置,移动设备902-A到902-D都可以认证用于网状网络中的成员资格;移动设备902-D可能已经从移动设备902-A、902-B和902-C中的每一个移动设备接收到关于是否已经为相应设备建立虚拟专用网络连接的指示;以及移动设备902-D可以访问关于是否已经为移动设备902-D建立虚拟专用网络的指示。如果网状网络的成员的指示中的至少两个指示(例如,移动设备902-A、902-B和902-C的指示以及移动设备902-D的指示)提供已经建立了虚拟专用网络连接的指示,则移动设备902-D可以确定已经建立了多个虚拟专用网络连接。如果网状网络的成员的指示中的一个或较少指示提供已经建立了虚拟专用网络连接的指示,则移动设备902-D可以确定尚未建立多个虚拟专用网络连接。查看图9中描绘的特定布置,移动设备可以确定已经建立了多个虚拟专用网络连接,因为移动设备902-C和902-D都将提供已经建立了虚拟专用连接的指示。
在确定已经建立了多个虚拟专用网络连接时,该方法可以进行到步骤1011。如果移动设备确定尚未建立多个虚拟专用网络连接,则该方法可以进行到步骤1015。
在步骤1011,移动设备可以选择多个虚拟专用网络连接中的哪一个虚拟专用网络连接将用于已经通过网状网络接收以及旨在用于接入网关的数据。移动设备可以基于与多个虚拟专用网络连接相关的测量的比较来执行该选择。在一些布置中,选择可以基于多个虚拟专用网络连接中的哪个虚拟专用网络连接被确定为最快。例如,具有已建立的虚拟专用网络连接的每个移动设备可以提供所建立的虚拟专用网络连接的一个或多个测量(例如,虚拟专用网络的平均或瞬时带宽测量,连接接入网关的瞬时或平均ping时间等)。基于这些测量,移动设备可以选择多个虚拟专用网络连接中的一个虚拟专用网络连接(例如,选择具有最高带宽的虚拟专用网络;基于带宽和ping时间的加权组合,选择具有最低ping时间的虚拟专用网络等)。可以提供一个或多个测量以及已经建立虚拟专用网络连接或者响应于移动设备的单独请求的指示。作为使用图9中所示的布置的具体示例,移动设备902-C可能已经将用于经由虚拟专用网络连接915访问接入网关907的5毫秒的ping时间提供到移动设备902-D;以及移动设备902-D可能已经测量了用于经由虚拟专用网络连接913访问接入网关907的10毫秒的ping时间。因此,移动设备902-D可以基于较低的ping时间选择虚拟专用网络连接915作为将用于已经通过网状网络接收并且旨在用于接入网关的数据的连接。
在步骤1013,移动设备可以是监测所选择的虚拟专用网络连接的状态的过程。关于监测所选择的虚拟专用网络连接的状态的过程的进一步细节将根据图10B进行讨论。
在步骤1015,移动设备可以确定可用于将数据路由到一个或多个其它移动设备中的至少一个移动设备的路由信息。可以类似于图8的步骤811执行该步骤。另外,可以基于其中在步骤1011选择了哪个虚拟专用网络连接来确定路由信息。例如,使用图10中描绘的说明性布置并假设在步骤1011已经选择了虚拟专用网络连接913,可以确定路由信息以指示如果移动设备902-C从移动设备902-A接收的数据旨在用于接入网关907,则该数据应该被路由到移动设备902-D。
在步骤1017,移动设备可以将其自身配置为网状网络的成员。可以类似于图8的步骤813执行该步骤。例如,作为配置过程的一部分,移动设备可以存储路由信息以供以后使用;可以将路由信息发送给网状网络中的一个或多个下一个跃点;可以交换数据以建立网状网络的对等连接;和/或可以与下一个跃点交换数据以确定用于经由对等连接进行通信的加密密钥。另外,鉴于路由信息基于在步骤1011选择了哪个虚拟专用网络连接,可以基于在步骤1011选择了哪个虚拟专用网络连接来执行由移动设备执行的配置。
在一个特定示例中,如果网状网络建立成包括图9的四个移动设备并且网状网络使用图9中描绘的对等连接,则图9的四个移动设备将能够如下使用网状网络路由和发送数据:在移动设备902-A已经配置其自身之后,移动设备902-A将能够经由网状网络的对等连接903将数据路由和发送到移动设备902-B并且将能够经由网状网络的对等连接904将数据路由和发送到移动设备902-C;在移动设备902-B已经配置其自身之后,移动设备902-B将能够经由网状网络的对等连接903将数据路由和发送到移动设备702-A并且将能够经由网状网络的对等连接906将数据路由和发送到移动设备902-D;在移动设备902-C已经配置其自身之后,移动设备902-C将能够经由网状网络的对等连接904将数据路由和发送到移动设备902-A并且将能够经由网状网络的对等连接905将数据路由和发送到移动设备902-D;以及在移动设备902-D已经配置其自身之后,移动设备902-D将能够经由网状网络的对等连接905将数据路由和发送到移动设备902-C并且将能够经由网状网络的对等连接906将数据路由和发送到移动设备902-B。
鉴于以上讨论并且通常,图10A的示例方法包括与结合图8所讨论的那些步骤类似的多个步骤。然而,图10A的示例方法包括各种步骤和/或步骤的布置,其可以被视为结合图8所讨论的步骤的替代或补充。例如,在一些实施例中,图10A的步骤1001和1003可以代替步骤801、803和805使用。作为另一个示例,在某些变化中,可以将步骤1009、1011、1013和1015添加到图8的示例方法。作为又一个示例,附加于在图10A的示例方法中执行的步骤,还可以执行图8的步骤801。
此外,移动设备可以配置成执行结合图8和图10A描述的方法的一个或多个不同变型。例如,每个移动设备可以配置成基于在移动设备经由对等通信接收广告之前用户是否发起建立网状网络的尝试来执行可以与建立网状网络结合使用的两种方法中的一种方法。实际上,作为使用图9的说明性布置的具体示例,用户可以与移动设备902-D上的用户界面交互并按下启动或以其它方式使移动设备尝试建立网状网络的按钮(选择菜单选项,或以其它方式改变设置)。因此,移动设备902-D可以基于用户的启动执行图8的步骤801至805,并然后继续执行从步骤1005开始的图10A的方法。基于在步骤902-D执行的方法,其它移动设备(例如,移动设备902-A、902-B和902-C)可以从移动设备902-D接收广告。移动设备902-A、902-B和902-C中的每一个移动设备可以继续基于设备902-A、902-B和902-C在用户发起在设备902-A、902-B和902-C上尝试建立网状网络之前接收广告来执行10A的方法。对图8和图10A的上述变型仅是实施例可以结合建立网状网络使用的众多变型的几个示例。
图10B示出了可以与管理网状网络结合使用的示例方法。特别地,图10B示出了用于监测所选择的虚拟专用网络连接的状态的示例方法。特别地,图10B的示例方法可以由来自图9的移动设备902-A、902-B、902-C和902-D中的每一个移动设备使用以监测所选择的虚拟专用网络连接的状态。在一些布置中,图10B的步骤可以由企业移动性管理系统的一个或多个部件执行,包括例如图6的客户端代理604。
在步骤1021,移动设备可以接收指示虚拟专用网络连接的一个或多个测量的数据。数据可以指示虚拟专用网络连接的性能(例如,虚拟专用网络的平均或瞬时带宽测量,连接接入网关的瞬时或平均ping时间等)。替代地或附加地,数据可以指示虚拟专用网络连接已经失败。可以响应于移动设备针对一个或多个测量发送的请求来接收在步骤1021接收的数据。还可以基于周期性调度来接收数据(例如,具有已建立的虚拟专用网络连接的移动设备可以确定一个或多个测量并且周期性地发送数据,诸如每5秒、每5分钟、每小时等。)可以进一步基于确定虚拟专用网络连接的性能已经改变超过预定阈值的设备来接收数据(例如,具有已建立的虚拟专用网络连接的移动设备可以在确定所建立的连接已经失败之后发送数据;可以在确定带宽测量每秒减少指定量的兆位时发送数据;可以在确定ping时间增加指定数量的毫秒时发送数据,等等)。作为具体示例,使用图9的说明性布置,移动设备902-D可以在步骤1021经由对等连接905从移动设备902-C接收数据,该数据指示虚拟专用网络连接915的一个或多个测量。
在步骤1023,移动设备可以确定是否改变所选择的虚拟专用网络连接。例如,该确定可以基于所选择的虚拟专用网络连接与另一个已建立的虚拟专用网络连接的测量的比较。可以与结合图10A的步骤1011讨论的比较类似地执行比较。作为具体示例,使用图9的说明性布置并且假设虚拟专用网络连接915是当前选择的虚拟专用网络连接,移动设备902-C可能最近已经将用于经由虚拟专用网络连接915访问接入网关907的30毫秒的ping时间提供到移动设备902-D;以及移动设备902-D可能最近已经测量了用于经由虚拟专用网络连接913访问接入网关907的10毫秒的ping时间。因此,移动设备902-D可以基于虚拟专用网络连接913的较低ping时间来确定所选择的虚拟专用网络连接应该被改变为虚拟专用网络连接913。
在确定所选择的虚拟专用网络连接应该改变时,该方法可以进行到步骤1025。如果移动设备确定不应该改变所选择的虚拟专用网络连接,则该方法可以结束。
在步骤1025,移动设备可以发送指示所选择的虚拟专用网络连接已经改变的一个或多个消息。在一些布置中,发送一个或多个消息,以便向网状网络的每个成员通知该改变。在接收到消息时,网状网络的每个成员可以基于所选择的虚拟专用网络连接的改变继续更新其配置。例如,使用图9的说明性布置并假设虚拟专用网络连接913是新选择的虚拟专用网络连接,则移动设备902-A、902-B和902-C可以各自发送指示所选择的VPN连接已经改变的消息;并且响应于接收消息,移动设备902-A、902-B和902-C中的每一个移动设备可以基于所选择的虚拟专用网络连接的改变来更新其配置(例如,更新存储的路由信息等),使得旨在用于接入网关907的数据被路由到移动设备902-C。
在步骤1027,移动设备可以基于所选择的虚拟专用网络连接的改变来更新其配置。例如,移动设备可以更新存储的路由信息和其它配置设置,以便路由旨在用于接入网关的数据,从而可以经由新选择的虚拟专用网络连接将数据发送到接入网关。继续在步骤1025讨论的特定示例,移动设备902-D可以更新其配置,使得使用对等连接905将旨在用于接入网关907的数据路由到移动设备902-C。
图11A至图11D示出了根据本文描述的各个方面可以与使用网状网络结合使用的示例方法。特别地,在建立网状网络以执行与企业移动性管理系统有关的各种功能之后,可以由图7和图9中所示的移动设备使用图11A至图11D的示例方法。在一些布置中,在图11A至图11D的整个示例方法中描绘的各个步骤可以由企业移动性管理系统的一个或多个部件执行,其包括例如图6的客户端代理604和/或图5和图6的托管应用程序。另外,移动设备可以使用诸如OPENGARDEN SDK的现有技术的变体来帮助在网状网络的成员之间路由数据。关于可以基于图11A至图11D的示例方法执行的各种功能的进一步细节将在图12中进行讨论。
图11A示出了其中移动设备可以通过网状网络上发送其生成的数据的示例方法。
在步骤1101,移动设备可以确定将通过网状网络发送数据。该确定可以由例如客户端设备上的托管应用程序或客户端代理执行。另外,可以基于在执行托管应用程序或提供企业移动性管理系统的功能时执行的各种类型的数据处理来执行确定。例如,可以基于生成旨在用于接入网关的数据的托管应用程序,基于生成旨在用于网状网络的另一个成员的数据,和/或基于从安全容器检索数据来执行确定。作为更具体的示例,受管理的电子邮件应用程序可以通过尝试同步网状网络上的成员的电子邮件的同步邮件过程继续进行。因此,数据可以包括尝试同步完成同步邮件过程所需的电子邮件和/或电子邮件数据的指示。作为另一个更具体的示例,托管应用程序可以生成指示访问经由接入网关可访问的企业资源或企业服务的请求的数据。因此,数据可以包括请求的指示,正在请求哪个资源或服务的指示,和/或完成请求可能需要的任何安全凭证(例如,配置用于SSO的有效认证令牌、用户名/密码等)。
在确定要通过网状网络传输的数据之后,该方法可以进行到图11的步骤1103-1109,该图示出了可以允许移动设备通过一个或多个对等连接上发送在步骤1101确定的数据的迭代过程。例如,使用图9的说明性布置,由步骤1103至1109表示的迭代过程可以允许移动设备902-A经由对等连接903和/或对等连接904将数据发送到网状网络中的下一个跃点。
在步骤1103,移动设备可以确定为网状网络中的下一个跃点建立的对等连接的类型。该确定可以基于由移动设备存储的网状网络的路由信息和/或由移动设备存储的与其配置作为网状网络的成员相关的任何其它信息。例如,使用图9的说明性布置,移动设备902-A可以针对到移动设备902-B的下一个跃点确定对等连接是蓝牙连接。作为替代示例,移动设备902-B可以针对到移动设备902-D的下一个跃点确定对等连接是WI-FI直接连接。
在步骤1105,移动设备可以基于对等连接的类型来处理要通过网状网络传输的数据。例如,如果确定对等连接的类型是蓝牙连接,则可以处理在步骤1101确定的数据以符合蓝牙协议。作为另一个示例,如果确定对等连接的类型是WI-FI直接连接,则可以处理在步骤1101确定的数据以符合WI-FI直接协议。
此外,处理数据可以包括根据经由对等连接传送数据所需的加密方案来加密数据。例如,在一些变型中,可以从企业管理框架的策略中检索加密密钥并将其用于加密数据。在其它变型中,当移动设备将其自身配置为网状网络的成员时(例如,图8的步骤813和图10A的步骤1017),可能已经确定加密密钥,并且该加密密钥可以用于加密数据。
在步骤1107,移动设备可以经由对等连接发送处理数据。例如,移动设备可以使用一个或多个蓝牙通信经由蓝牙连接发送从步骤1105得到的处理数据。作为另一个示例,移动设备可以使用一个或多个WI-FI直接通信经由WI-FI直接连接发送从步骤1105得到的处理数据。在更具体的示例中,使用图9的说明性布置,移动设备902-A可以经由对等连接903将包括在步骤1101确定的数据的一个或多个蓝牙通信发送到移动设备902-B。
在步骤1109,移动设备可以确定是否需要经由附加对等连接来发送数据。在一些布置中,这可以包括分析路由信息以确定是否已经为下面跃点中的一个跃点建立了附加的对等连接,并且确定在步骤1101确定的数据尚未通过该对等连接发送。例如,使用图9的说明性布置,移动设备902-A可以通过基于路由信息识别对等连接904并且确定在步骤1101确定的数据尚未通过对等连接904发送来执行该确定。在确定数据需要经由附加的对等连接发送时,该方法可以行进返回到步骤1103以重复由步骤1103至1109表示的迭代过程(例如,重复用于对等连接904)。在确定数据不需要经由附加的对等连接发送时,该方法可以结束。
图11B示出了示例方法,其中移动设备可以经由对等连接将其接收的数据路由到网状网络的下一个跃点。
在步骤1121,移动设备可以经由网状网络的对等连接来接收数据。可以在符合对等连接类型的一个或多个通信中接收数据。例如,如果对等连接是蓝牙连接,则可以在一个或多个蓝牙通信中接收数据。如果对等连接是WI-FI直接连接,则可以在一个或多个WI-FI直接通信中接收数据。在一个特定示例中,使用图9的说明性布置,移动设备902-B可以经由对等通信903接收包括要通过网状网络发送的数据(例如,在图11A的步骤1101确定的数据)的一个或多个蓝牙通信。在一些布置中,可能需要在进行图11B的下一步骤之前解密数据。
在步骤1122,移动设备可以处理在步骤1121接收的数据。例如,处理数据可以包括从其传输分组中提取数据(例如,从一个或多个蓝牙分组中提取数据,从一个或多个WI-FI直接分组中提取数据等)。此外,处理数据可以包括根据经由对等连接传送数据所需的加密方案来解密数据。例如,在一些变型中,可以从企业管理框架的策略中检索解密密钥并将其用于解密数据。在其它变型中,当移动设备将其自身配置为网状网络的成员时(例如,图8的步骤813和图10A的步骤1017),可能已经确定解密密钥,并且该解密密钥可以用于解密数据。
在步骤1123,移动设备可以确定在步骤1121接收并在步骤1122处理的数据是否旨在用于移动设备。例如,通过网状网络发送的数据中的一些数据可以旨在用于网状网络的各种成员,而其它数据可以旨在用于接入网关。移动设备可以基于预期目的地执行该确定(例如,如果数据旨在用于接入网关,则该数据不旨在用于移动设备;如果数据旨在用于移动设备,则该数据旨在用于移动设备;和/或如果数据旨在用于网状网络的所有成员,则该数据旨在用于移动设备)。附加地或替代地,移动设备可以基于数据的分析来执行该确定。例如,分析可以识别数据的类型(例如,将类型识别为同步电子邮件消息或与同步邮件过程相关联的某种其它类型)。基于识别类型,移动设备可以确定数据是否旨在用于设备(例如,如果类型是同步电子邮件消息,则数据可以旨在用于移动设备;如果类型是用于访问企业资源的请求,则数据可能不旨在用于移动设备;等等)。在确定数据旨在用于移动设备时,该方法可以进行到步骤1125。如果移动设备确定数据不旨在用于移动设备,则该方法可以进行到步骤1127。
在步骤1125,移动设备可以将数据提供给移动设备的托管应用程序。例如,可以将同步电子邮件消息提供给移动设备的受管理的邮件应用程序。可以将Web浏览消息提供给移动设备的受管理的浏览器应用程序。通常,移动设备可能能够将数据提供给安装在移动设备上的任何托管应用程序。因此,可以将数据提供给处理数据类型的任何应用程序。
在步骤1127,移动设备可以确定是否继续通过网状网络路由数据。例如,通过网状网络发送的数据中的一些数据可以旨在用于网状网络的各种成员,而其它数据可以旨在用于接入网关。移动设备可以基于预期目的地执行该确定(例如,如果数据旨在用于接入网关,则继续路由数据;如果数据仅旨在用于移动设备,则不继续路由数据;和/或者如果数据旨在用于网状网络的所有成员,则继续路由数据)。附加地或替代地,移动设备可以基于数据的分析来执行该确定。例如,分析可以识别数据的类型(例如,将类型识别为同步电子邮件消息或与同步邮件过程相关联的某种其它类型)。基于识别类型,移动设备可以确定是否继续路由数据(例如,如果类型是同步电子邮件消息,则继续路由数据;如果类型是用于访问企业资源的请求,则继续路由数据;如果类型是聊天消息,则不继续路由数据;等等)。
此外,移动设备可以基于在网状网络中为移动设备建立的对等连接和/或在其上接收数据的对等连接的数量来执行该确定。例如,使用图9的说明性布置,如果移动设备902-B经由对等连接903接收数据,则移动设备902-B可以基于正在建立的对等连接904确定继续路由。另外,移动设备902-B可以确定先前是否经由对等连接904接收到数据的另一个副本,并且如果先前经由对等连接904接收到数据的另一格副本,则移动设备可以确定不继续路由数据。作为另一个示例,使用图7的说明性布置,如果移动设备702-A经由对等连接703接收数据,则移动设备702-A可以确定不存在其它对等连接,并且因此可以确定不继续路由数据。
在确定继续通过网状网络路由数据时,该方法可以进行到步骤1129。如果移动设备确定不继续通过网状网络路由数据,则该方法可以结束。
在步骤1129,移动设备可以将数据路由到网状网络中的一个或多个下一跃点。可以类似于图11A的步骤1103至1109所表示的迭代过程来执行该步骤。例如,可以通过执行由步骤1103至1109所表示的迭代过程来执行将数据路由到网状网络中的一个或多个下一跃点,以使移动设备使用对应于每个下一跃点的一个或多个对等通信将数据发送到网状网络上的一个或多个下一跃点。作为特定示例,使用图9的说明性布置,如果移动设备902-B经由对等连接903接收数据,则移动设备902-B可以通过经由对等连接906发送数据执行迭代过程以将数据路由到移动设备902-D。
此外,在一些布置中,移动设备902-B可以执行迭代过程以将数据以加密形式路由到移动设备902-D(例如,如结合图11A的步骤1105所讨论的)。另外,在一些布置中,加密形式对于网状网络中的对等连接中的每个对等连接可以是不同的(例如,对等连接903使用与对等连接905不同的加密/解密密钥)。因此,在这些布置中的一个或多个布置中,数据可以首先基于在其上接收数据的对等连接进行解密(例如,如结合图11B的步骤1122所讨论的)并且可以基于在其上数据将发送到网状网络中的下一跃点的对等连接进行加密(例如,如结合图11A的步骤1105所讨论的)。然而,在一些变型中,网状网络可以针对每个对等连接使用相同的加密方案。因此,在这些变型中的一个或多个变型中,如果数据是经由对等连接接收的,则数据或其一部分可能不需要被解密和重新加密(例如,可以不执行结合图11B的步骤1122讨论的解密,并且可以不执行结合图11A的步骤1105讨论的加密)。
图11C示出了示例方法,其中移动设备可以使用虚拟专用网络连接将其经由对等连接接收的数据发送到接入网关。在一些布置中,图11C的示例性方法可以由具有已建立的虚拟专用网络连接的设备(例如,移动设备702-C、移动设备902-C和/或移动设备902-D)来执行。此外,在一些布置中,图11C的示例方法可以由当前选择具有已建立的虚拟专用网络连接的设备执行(例如,经由图10A的步骤1011选择,或者经由由图10B的示例方法确定的改变来选择)。
在步骤1141,移动设备可以经由网状网络的对等连接来接收数据。可以类似于图11B的步骤1121执行该步骤。
在步骤1142,移动设备可以处理在步骤1141接收的数据。可以类似于图11B的步骤1122执行该步骤。
在步骤1143,移动设备可以确定在步骤1141接收并在步骤1142处理的数据是否旨在用于移动设备。可以类似于图11B的步骤1123执行该步骤。
在步骤1145,移动设备可以将数据提供给移动设备的托管应用程序。可以类似于图11B的步骤1135执行该步骤。
在步骤1147,移动设备可以确定是否经由虚拟专用网络连接来发送数据。例如,通过网状网络发送的数据中的一些数据可以旨在用于网状网络的各种成员,而其它数据可以旨在用于接入网关。移动设备可以基于预期目的地执行该确定(例如,如果数据旨在用于接入网关,则经由虚拟专用网络连接发送数据;如果数据仅旨在用于移动设备,则不经由虚拟专用网络连接发送数据;和/或如果数据仅旨在用于网状网络的成员,则不经由虚拟专用网络连接发送数据)。附加地或替代地,移动设备可以基于数据的分析来执行该确定。例如,分析可以识别数据的类型(例如,将类型识别为同步电子邮件消息或与同步邮件过程相关联的某种其它类型)。基于识别类型,移动设备可以确定是否经由虚拟专用网络连接发送数据(例如,如果类型是同步电子邮件消息,则不经由虚拟专用网络连接发送数据;如果类型是用于访问企业资源的请求,则经由虚拟专用网络连接发送数据;如果类型是聊天消息,则不经由虚拟专用网络连接发送数据;等等)。
在确定经由虚拟专用网络连接发送数据时,该方法可以进行到步骤1149。如果移动设备确定不经由虚拟专用网络连接发送数据,则该方法可以结束。
在步骤1149,移动设备可以经由虚拟专用网络连接将数据发送到接入网关。例如,移动设备可以处理数据以符合与虚拟专用网络连接相关联的协议和/或可以通过虚拟专用网络连接按需对数据进行加密。一旦处理,移动设备就可以将数据发送到接入网关。在接收时,接入网关可以适当地处理数据(例如,允许访问企业资源/服务等)。
另外,在一些实施例中,在结束图11C的示例方法之前,移动设备可以确定是否继续将数据路由到网状网络的成员。可以类似于图11B的步骤1127执行该确定。在确定继续路由数据时,移动设备可以进行以相应地路由数据(例如,通过类似于图11B的步骤1129进行路由)。如果移动设备确定不继续路由数据,则该方法可以结束。或者,移动设备可以在经由对等连接接收数据时执行图11B和图11C的示例方法,其中每个示例方法在其自己的线程中执行。
图11D示出了示例方法,其中移动设备可以将其经由虚拟专用网络连接接收的数据路由到网状网络的下一个跃点。在一些布置中,图11D的示例性方法可以由具有已建立的虚拟专用网络连接的设备(例如,移动设备702-C、移动设备902-C和/或移动设备902-D)来执行。此外,在一些布置中,图11D的示例方法可以由当前选择具有已建立的虚拟专用网络连接的设备执行(例如,经由图10A的步骤1011选择,或者经由由图10B的示例方法确定的改变来选择)。
在步骤1161,移动设备可以经由虚拟专用网络连接从接入网关接收数据。在一些情况中,该数据可以响应于经由虚拟专用网络连接传输到接入网关的先前数据。在其它情况下,该数据可以是由接入网关推送到网状网络的一个或多个成员的数据。在接收到数据之后,移动设备可以在继续进行图11D的剩余步骤之前处理数据(例如,从虚拟专用网络数据通信中提取数据,解密数据等)。
在步骤1163,移动设备可以确定数据是否旨在用于移动设备。可以类似于图11B的步骤1123执行该步骤。
在步骤1165,移动设备可以将数据提供给移动设备的托管应用程序。可以类似于图11B的步骤1135执行该步骤。
在步骤1167,移动设备可以确定是否通过网状网络路由数据。例如,经由虚拟专用网络连接接收的一些数据可以旨在用于网状网络的各种成员,而其它数据可以仅旨在用于移动设备。移动设备可以基于预期目的地执行该确定(例如,如果数据仅旨在用于移动设备,则不通过网状网络路由数据;如果数据旨在用于网状网络的成员,则通过网状网络路由数据;和/或如果数据旨在用于网状网络的所有成员,则通过网状网络路由数据)。附加地或替代地,移动设备可以基于数据的分析来执行该确定。例如,分析可以识别数据的类型(例如,将类型识别为电子邮件消息或与电子邮件服务相关联的某种其它类型)。基于识别类型,移动设备可以确定是否通过网状网络路由数据(例如,如果类型是电子邮件消息,则通过网状网络路由数据;等等)。
在确定通过网状网络路由数据时,该方法可以进行到步骤1169。如果移动设备确定不通过网状网络路由数据,则该方法可以结束。
在步骤1169,移动设备可以将数据路由到网状网络中的一个或多个下一跃点。可以类似于图11B的步骤1129执行该步骤。作为特定示例,使用图9的说明性布置,如果移动设备902-D经由虚拟专用网络连接913接收数据,则移动设备902-D可以分别通过经由对等连接906和905发送数据执行迭代过程以将数据路由到移动设备902-B和902-C。
图12示出了描绘网状网络的建立以及网状网络的使用的示例流程,其结合执行与根据本文描述的方面的企业移动性管理系统相关联的各种功能。特别地,示例流程示出了可以根据贯穿包括图7和图11D的本公开描述的布置和示例方法执行的多个功能。
如图12所示,三个移动设备在彼此的阈值距离内:移动设备1201、1203和1205。三个移动设备中的每一个移动设备可以与同一用户相关联。图12中所示的设备的布置类似于图7和图9的示例布置;然而,为简单起见,图12中省略了各种对等连接和中间网络。通过图12的示例中描述的各种流程,移动设备1201、1203和1205可能能够建立网状网络,与网状网络的成员通信并且经由在接入网关1207和网状网络的成员中的一个成员之间建立的虚拟专用网络连接与接入网关1207通信。图12中描绘的各种流程可以涉及各种设备之间的一个或多个通信,并且还可以包括执行图8、图10A、图10B和图11A至图11D中讨论的一个或多个示例方法。
从流程1231开始,移动设备1205和接入网关1207可以在彼此之间建立虚拟专用网络连接。建立虚拟专用网络连接可以包括发送接入网关所需的安全凭证和其它用户信息以认证移动设备1205。接入网关还可以向移动设备1205提供为SSO配置的有效认证令牌。结合流程1231示出的箭头旨在表示可以结合建立虚拟专用网络连接在移动设备1205和接入网关1207之间交换的各种传输。
在流程1233,移动设备1201、1203和1205可以在彼此之间建立网状网络。建立网状网络可以涉及执行图8或图10A的示例方法中的一种方法的每个设备(或其一些变型)。例如,用户可以发起在设备1201上建立网状网络的尝试。设备1205可以配置成显示用户必须在设备1201和1203输入或确认(例如,在图8的步骤801)的PIN码。PIN码可以结合授权设备1201和1203用作网状网络的成员。结合流程1233示出的箭头旨在表示将在移动设备之间传输的各种通信(例如,使用对等通信和/或对等连接)。
在流程1235,移动设备1205可以继续为网状网络中的其他成员启用SSO。在一些布置中,这可以包括通过网状网络将为SSO配置的有效认证令牌路由到移动设备1201和1203。例如,移动设备1205可以执行图11A的示例方法,使得经由一个或多个对等连接发送为SSO配置的有效认证令牌。移动设备1203可以执行图11B的示例方法以接收为SSO配置的有效认证令牌;处理为SSO配置的有效认证令牌以供以后使用;以及将通过网状网络将为SSO配置的有效认证令牌路由到下一跃点、移动设备1201。移动设备1201可以执行图11B的示例方法以接收为SSO配置的有效认证令牌并对其进行处理以供以后使用。结合流程1235示出的箭头旨在表示将通过网状网络传输的各种通信,使得移动设备1201和1203都接收为SSO配置的有效认证令牌。
在一些布置中,基于对网状网络中的其他成员启用SSO的流程1235,可以基于从移动设备1205发送的认证令牌来解锁移动设备1201和1203上的安全容器以供使用。例如,移动设备1201和1203中的每一个移动设备可以包括安全容器,其通常通过输入密码、PIN码或其它安全凭证来解锁。移动设备1201和1203可以使用从移动设备1205发送的认证令牌来解锁安全容器,而不是要求用户输入密码、PIN码等。以这种方式,移动设备1201和1203可以通过SSO启用到它们各自的安全容器。从移动设备1205发送的认证令牌可以用于启用企业管理框架的各种其它部件的SSO,其包括例如为托管应用程序启用SSO。
在流程1237,移动设备1203可以访问由接入网关1207控制和/或管理的企业资源1209。在一些布置中,这可以包括路由指示通过网状网络访问企业资源1209的请求的数据,使得移动设备1205能够经由虚拟专用网络连接来发送数据。例如,移动设备1203可以执行图11A的示例方法,使得指示访问企业资源1209的请求的数据经由对等连接发送到下一跃点、移动设备1205。在一些布置中,数据可以包括为SSO配置的有效认证令牌(例如,使得移动设备1203能够与接入网关1207执行无缝认证以访问企业资源1209)。移动设备1205可以执行图11C的示例方法,使得经由对等连接接收数据,并将其经由虚拟专用网络连接发送到接入网关1207。在接收时,接入网关1207可以基于为SSO配置的有效认证令牌来认证请求并执行对企业资源1209的所请求的访问。所请求的访问可以生成响应数据(例如,移动设备1205正在请求的特定文件),并且响应数据可以经由虚拟专用网络连接发送到移动设备1205。移动设备1205可以执行图11D的示例方法,使得响应数据经由虚拟专用网络连接接收并通过网状网络路由到下一跃点、移动设备1203。移动设备1203可以执行图11B的示例方法,使得相应地接收和处理响应数据。结合流程1237示出的箭头旨在表示将通过网状网络经由虚拟专用网络连接并在接入网关1207和企业资源1209之间传输的各种通信,使得移动设备1203可以成功访问企业资源1209。
在流程1239,移动设备1201可以访问由接入网关1207控制和/或管理的企业服务1211。在一些布置中,这可以包括路由指示通过网状网络访问企业服务1211的请求的数据,使得移动设备1205能够经由虚拟专用网络连接来发送数据。例如,移动设备1201可以执行图11A的示例方法,使得指示访问企业服务1211的请求的数据经由对等连接发送到下一跃点、移动设备1203。在一些布置中,数据可以包括为SSO配置的有效认证令牌(例如,使得移动设备1201能够与接入网关执行无缝认证以访问企业服务1211)。移动设备1203可以执行图11B的示例方法,使得经由对等连接接收数据并将其通过网状网络发送到下一跃点、移动设备1205。移动设备1205可以执行图11C的示例方法,使得经由对等连接接收数据,并将其经由虚拟专用网络连接发送到接入网关1207。在接收时,接入网关1207可以基于为SSO配置的有效认证令牌来认证请求并执行对企业服务1211的所请求的访问。所请求的访问可以生成响应数据(例如,由文件共享服务共享的文件列表),并且响应数据可以经由虚拟专用网络连接发送到移动设备1205。移动设备1205可以执行图11D的示例方法,使得响应数据经由虚拟专用网络连接接收并通过网状网络路由到下一跃点、移动设备1203。移动设备1203可以执行图11B的示例方法,使得响应数据经由对等连接接收并通过网状网络路由到下一跃点、移动设备1201。移动设备1201可以执行图11B的示例方法,使得相应地接收和处理响应数据。结合流程1239示出的箭头旨在表示将通过网状网络经由虚拟专用网络连接并在接入网关1207和企业服务1211之间传输的各种通信,使得移动设备1201可以成功访问企业服务1211。
在流程1241,移动设备1203可以与移动设备1201共享其屏幕。在一些布置中,这可以包括为移动设备1203的屏幕准备图形数据并通过网状网络路由图形数据,使得移动设备1201能够显示图形数据。例如,移动设备1203可以执行图11A的示例方法以准备图形数据并将图形数据路由到下一跃点、移动设备1201。移动设备1201可以执行图11B的示例方法以相应地接收和处理图形数据。在一些布置中,移动设备1201的用户可能能够与图形数据交互(例如,突出显示经由共享屏幕显示的文本文档的部分,执行对文档的复制动作,执行对文档的粘贴动作,等等)。在此类布置中,移动设备1201可以执行图11A的示例方法,以准备指示一个或多个用户交互的数据并通过网状网络将数据路由到下一跃点、移动设备1203。移动设备1203可以执行图11B的示例方法,以接收指示一个或多个用户交互的数据并相应地处理它(例如,基于一个或多个用户交互来操纵屏幕)。结合流程1241示出的箭头旨在表示将通过网状网络经由虚拟专用网络连接并在接入网关1207和企业服务1211之间传输的各种通信,使得移动设备1201可以成功访问企业服务1211。
在流程1243,接入网关1207可以将策略更新推送到网状网络的一个或多个成员。移动设备1201、1203和1205中的每一个移动设备可以存储由相应移动设备的应用程序管理框架强制执行的策略。如图12所示,策略更新被推送到网状网络的所有成员。在一些布置中,推送策略更新可以包括接入网关1207确定更新的策略并经由虚拟专用网络连接将更新的策略发送到移动设备1205。移动设备1205可以执行图11D的示例方法,使得经由虚拟专用网络连接接收更新的策略;处理以更新移动设备1205存储的策略;以及通过网状网络路由到下一跃点、移动设备1203。移动设备1203可以执行图11B的示例方法,使得经由对等连接接收更新的策略;处理以更新移动设备1203存储的策略;以及路由到下一跃点、移动设备1201。移动设备1201可以执行图11B的示例方法,使得接收更新的策略以及处理以更新移动设备1201存储的策略。结合流程1243示出的箭头旨在表示将通过网状网络并经由虚拟专用网络连接发送的各种通信,使得接入网关1207可以成功地将更新的策略推送到网状网络的每个成员。
结合图12描述的上述流程仅提供了可以使用本文描述的布置或其变型来执行的功能类型的几个示例。例如,除了在设备之间启用SSO和/或共享屏幕之外,移动设备1201、1203和1205可以通过网状网络进行通信以在网状网络的成员之间发送聊天消息,将文件复制到网状网络的成员以及从网状网络的成员复制文件,在网状网络的成员之间共享文件或其它数据等。作为另一个示例,除了访问企业资源1209或12011之外,移动设备1201、1203和1205可以通过网状网络并与接入网关1207进行通信以与托管浏览应用程序相关联地访问互联网。
尽管已经以结构特征和/或方法动作专用的语言描述了本主题,但应理解的是,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上文所描述的具体特征和行为描述为实施以下权利要求书的示例。

Claims (10)

1.一种用于基于对等通信的虚拟专用网络的方法,包括:
将第一移动设备配置为网状网络的成员,其中在所述配置之后,所述第一移动设备能够经由所述网状网络通过对等连接与第二移动设备通信;
经由所述网状网络通过所述对等连接,由所述第一移动设备向所述第二移动设备发送有效认证令牌,所述有效认证令牌配置用于单点登录(SSO),并且配置用于解锁所述第二移动设备的安全容器并为所述安全容器启用所述SSO;
经由所述网状网络通过所述对等连接,由所述第一移动设备接收旨在用于接入网关的第一数据,其中所述接入网关经由不同于所述网状网络的第二网络与所述第一移动设备通信;以及
经由所述第二网络通过所述第一移动设备和所述接入网关之间的虚拟专用网络连接,由所述第一移动设备将所述第一数据发送到所述接入网关。
2.根据权利要求1所述的方法,还包括:
经由所述第二网络通过所述虚拟专用网络连接,由所述第一移动设备接收旨在用于所述第二移动设备的第二数据;
基于与所述虚拟专用网络连接相关联的解密密钥解密所述第二数据,从而产生解密的第二数据;
基于与所述对等连接相关联的加密密钥加密所述解密的第二数据,从而产生加密的第二数据;以及
经由所述网状网络通过所述对等连接,由所述第一移动设备将所述加密的第二数据发送到所述第二移动设备。
3.根据权利要求2所述的方法,其中所述第二数据包括对由所述第二移动设备的应用程序管理框架强制执行的策略的更新。
4.根据权利要求1所述的方法,其中所述第一数据包括所述有效认证令牌,并且其中所述有效认证令牌使得所述接入网关基于所述SSO能够认证所述第二移动设备。
5.根据权利要求1所述的方法,其中所述第二网络包括无线网络,并且其中所述方法还包括:
通过所述第一移动设备连接到所述无线网络,其中所述虚拟专用网络连接配置为通过所述无线网络的隧道,并且其中所述第二移动设备没有连接到所述无线网络。
6.根据权利要求1所述的方法,其中所述接入网关配置用于管理对企业资源的访问,并且其中所述方法还包括:
经由所述网状网络通过所述对等连接,由所述第一移动设备接收第二数据,所述第二数据旨在用于所述接入网关并向第三移动设备指示访问企业资源的请求,其中所述网状网络包括所述第一移动设备、所述第二移动设备和所述第三移动设备;
经由所述第二网络通过所述虚拟专用网络连接,由所述第一移动设备将所述第二数据发送至所述接入网关;
经由所述第二网络通过所述虚拟专用网络连接,由所述第一移动设备接收基于访问所述企业资源的所述请求的响应数据;以及
通过所述第一移动设备使得所述响应数据经由所述网状网络路由,从而使得所述第三移动设备接收所述响应数据。
7.根据权利要求1所述的方法,还包括:
经由所述网状网络通过所述对等连接,由所述第一移动设备接收第二数据,第二数据旨在用于第三移动设备,其中所述网状网络包括所述第一移动设备、所述第二移动设备和所述第三移动设备;以及
通过所述第一移动设备使得所述第二数据经由所述网状网络路由,从而使得所述第三移动设备以加密形式接收所述第二数据。
8.根据权利要求1所述的方法,还包括:
经由所述网状网络通过所述对等连接,由所述第二移动设备从所述第一移动设备接收所述有效认证令牌;以及
基于所述有效认证令牌,通过所述第二移动设备解锁所述安全容器,以为所述安全容器启用所述SSO,其中所述安全容器与企业管理框架相关联。
9.一种用于基于对等通信的虚拟专用网络的装置,包括:
一个或多个处理器;以及
存储器,其存储可执行指令,所述可执行指令在由所述一个或多个处理器执行时使所述装置执行权利要求1至8中任一项所述的方法。
10.一个或多个计算机可读介质,其存储可执行指令,所述可执行指令在被执行时使装置执行权利要求1至8中任一项所述的方法。
CN201880025549.2A 2017-03-06 2018-02-28 基于对等通信的虚拟专用网络 Expired - Fee Related CN110521183B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/450,654 US10362612B2 (en) 2017-03-06 2017-03-06 Virtual private networking based on peer-to-peer communication
US15/450,654 2017-03-06
PCT/US2018/020121 WO2018164901A1 (en) 2017-03-06 2018-02-28 Virtual private networking based on peer-to-peer communication

Publications (2)

Publication Number Publication Date
CN110521183A CN110521183A (zh) 2019-11-29
CN110521183B true CN110521183B (zh) 2021-08-24

Family

ID=61627191

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880025549.2A Expired - Fee Related CN110521183B (zh) 2017-03-06 2018-02-28 基于对等通信的虚拟专用网络

Country Status (7)

Country Link
US (2) US10362612B2 (zh)
EP (1) EP3593510B1 (zh)
JP (1) JP6909863B2 (zh)
KR (1) KR102255880B1 (zh)
CN (1) CN110521183B (zh)
AU (2) AU2018230893B2 (zh)
WO (1) WO2018164901A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10348572B1 (en) * 2018-01-20 2019-07-09 Facebook, Inc. Dynamic bandwidth allocation for wireless mesh networks
EP3573001A1 (en) * 2018-05-24 2019-11-27 Gemalto Sa Method and system for implementing a virtual smart card service
US10579994B1 (en) 2018-11-06 2020-03-03 Capital One Services, Llc Method for routing to mesh network content utilizing blockchain technology
US10636030B1 (en) * 2018-11-06 2020-04-28 Capital One Services, Llc System and method for creating a secure mesh network utilizing the blockchain
US11538562B1 (en) * 2020-02-04 2022-12-27 Architecture Technology Corporation Transmission of medical information in disrupted communication networks
US12068953B2 (en) 2020-04-15 2024-08-20 Virewirx, Inc. Wireless network multipoint association and diversity
EP3913479B1 (en) * 2020-05-21 2023-06-28 Tata Consultancy Services Limited Cloud driven application launcher for execution and control of applications in computing devices
JP2021190771A (ja) * 2020-05-27 2021-12-13 富士フイルムビジネスイノベーション株式会社 通信制御装置及び通信制御プログラム
CN112233704A (zh) * 2020-09-22 2021-01-15 深圳云宣科技有限公司 可离线双阵列光盘数据存储设备
CN112150047B (zh) * 2020-11-24 2021-03-09 山东富通信息科技有限公司 专线网络环境下的资源管理系统
US11716355B1 (en) * 2020-11-24 2023-08-01 Wells Fargo Bank, N.A. Company controlled virtual computer over a network
CN112954716B (zh) * 2021-02-26 2024-05-17 上海汉枫电子科技有限公司 网状网络的入网方法、装置、计算机设备以及存储介质
US12056232B2 (en) * 2021-08-27 2024-08-06 EMC IP Holding Company LLC Function-based service framework with trusted execution platform
US20230078184A1 (en) * 2021-09-16 2023-03-16 Hewlett-Packard Development Company, L.P. Transmissions of secure activities
US11601395B1 (en) * 2021-12-22 2023-03-07 Uab 360 It Updating parameters in a mesh network
US11805100B2 (en) * 2021-12-29 2023-10-31 Uab 360 It Access control in a mesh network
US20230318965A1 (en) * 2022-04-04 2023-10-05 Uab 360 It Optimizing meshnet connections in a mesh network

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101771677A (zh) * 2008-12-31 2010-07-07 华为技术有限公司 一种向访问用户提供资源的方法、服务器和系统
US9356924B1 (en) * 2011-12-27 2016-05-31 Majid Shahbazi Systems, methods, and computer readable media for single sign-on (SSO) using optical codes

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7487537B2 (en) * 2003-10-14 2009-02-03 International Business Machines Corporation Method and apparatus for pervasive authentication domains
US7489645B2 (en) * 2003-12-17 2009-02-10 Microsoft Corporation Mesh networks with end device recognition
WO2006083696A2 (en) * 2005-02-01 2006-08-10 Exs, Inc. Hierarchical mesh network for wireless access
US8997206B2 (en) * 2007-06-06 2015-03-31 Avaya Inc. Peer-to-peer network over a virtual private network
FI20080345A0 (fi) * 2008-05-09 2008-05-09 Joikusoft Oy Ltd Symbian S60 puhelin 3G kaistanyhdistäjänä
EP2334034B1 (en) 2009-11-11 2018-06-27 BlackBerry Limited Using a trusted token and push for validating the request for single sign on
US8997196B2 (en) * 2010-06-14 2015-03-31 Microsoft Corporation Flexible end-point compliance and strong authentication for distributed hybrid enterprises
US8819210B2 (en) * 2011-12-06 2014-08-26 Sap Portals Israel Ltd Multi-tenant infrastructure
GB201213277D0 (en) * 2012-07-26 2012-09-05 Highgate Labs Ltd Two device authentication mechanism
US8893262B2 (en) 2012-08-30 2014-11-18 Tropos Networks, Inc. Establishing an IPsec (internet protocol security) VPN (virtual private network) tunnel
US9705957B2 (en) * 2013-03-04 2017-07-11 Open Garden Inc. Virtual channel joining
US9270674B2 (en) * 2013-03-29 2016-02-23 Citrix Systems, Inc. Validating the identity of a mobile application for mobile application management
US9294461B2 (en) 2014-01-08 2016-03-22 Dell Software, Inc. Virtual private network dead peer detection
GB2512747B (en) * 2014-02-25 2015-04-01 Cambridge Silicon Radio Ltd Mesh relay
US10536446B2 (en) * 2017-01-31 2020-01-14 Microsoft Technology Licensing, Llc. Single authentication to a multi-tenancy single-page cloud application

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101771677A (zh) * 2008-12-31 2010-07-07 华为技术有限公司 一种向访问用户提供资源的方法、服务器和系统
US9356924B1 (en) * 2011-12-27 2016-05-31 Majid Shahbazi Systems, methods, and computer readable media for single sign-on (SSO) using optical codes

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Comments on S3-130039: pCR to SSO TR – new use case;Ericsson;《3GPP TSG SA WG3 (Security) Meeting #70,S3-130186》;20120125;全文 *

Also Published As

Publication number Publication date
AU2021200602B2 (en) 2021-09-09
US20190289656A1 (en) 2019-09-19
JP2020512732A (ja) 2020-04-23
WO2018164901A1 (en) 2018-09-13
CN110521183A (zh) 2019-11-29
EP3593510A1 (en) 2020-01-15
KR102255880B1 (ko) 2021-05-25
AU2018230893B2 (en) 2020-11-12
US10362612B2 (en) 2019-07-23
AU2018230893A1 (en) 2019-10-10
AU2021200602A1 (en) 2021-03-04
EP3593510B1 (en) 2021-05-12
US20180255591A1 (en) 2018-09-06
JP6909863B2 (ja) 2021-07-28
KR20190117754A (ko) 2019-10-16
US10743357B2 (en) 2020-08-11

Similar Documents

Publication Publication Date Title
CN110521183B (zh) 基于对等通信的虚拟专用网络
CN111052706B (zh) 将单点登录扩展到联合登录提供者的依赖方的方法
CN111133729B (zh) 保护用于在两个端点之间通信的数据连接的安全性
CN109558721B (zh) 客户端应用程序的安全单点登录和条件访问的方法和系统
US11057212B2 (en) Policy based authentication
CN108028845B (zh) 使用导出凭证注册企业移动装置管理服务的系统和方法
KR102057159B1 (ko) 서버 또는 다른 디바이스로부터의 엔트로피에 기초한 클라이언트 디바이스의 인증
CN107566400B (zh) 用于确定应用的操作模式的方法
JP2018524843A (ja) ハイブリッドクラウドサービスのためのパスワードの暗号化
CN112789841A (zh) 在远程访问或基于云的网络环境中访问资源
WO2022060591A1 (en) Enhanced token transfer
CN112425130A (zh) 使用与装置相关联的身份数据来将通信引导至另一装置
US11829505B2 (en) High security one-time encryption

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210824